ergo-3.5/0000775000175000017500000000000012743400366007325 500000000000000ergo-3.5/test/0000775000175000017500000000000012743400366010304 500000000000000ergo-3.5/test/test_gluala2_b3lyp.sh0000775000175000017500000000402312743400275014260 00000000000000#!/bin/sh # Run each test in a separate directory, to allow "make check -j" to work properly. currtestdirname=tmpdir_test_gluala2_b3lyp rm -rf $currtestdirname mkdir $currtestdirname cd $currtestdirname if [ "$top_builddir" = "" ] || [ "$top_builddir" = ".." ] ; then top_builddir=../.. fi if [ "$top_srcdir" = "" ] || [ "$top_srcdir" = ".." ] ; then top_srcdir=../.. fi if test `"$top_builddir"/source/ergo -e precision` = single; then echo SKIPPED exit 0 fi . "$top_srcdir"/test/functions errorfilename=ergoscf.out.error.gluala2.b3lyp guess_input_1=' basis = "STO-2G"; use_simple_starting_guess=1; J_K.threshold_2el_J = 1e-6; J_K.threshold_2el_K = 1e-6; J_K.fmm_box_size = 10.0; scf.convergence_threshold = 1e-2; run "HF"; ' guess_input_2=' basis = "3-21G"; use_simple_starting_guess=1; J_K.threshold_2el_J = 1e-6; J_K.threshold_2el_K = 1e-6; J_K.fmm_box_size = 10.0; scf.convergence_threshold = 1e-2; XC.sparse_mode = 1 XC.radint = 1e-7 XC.angint = 28 run "B3LYP-G"; ' echo echo Testing GluAla2 B3LYP-G/6-31G** rm -f ergoscf.out echo getting starting guess 1... echo $guess_input_1 | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/GluAla2.xyz > /dev/null rm -f ergoscf.out echo getting starting guess 2... echo $guess_input_2 | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/GluAla2.xyz > /dev/null rm -f ergoscf.out echo running B3LYP-G/6-31Gss... "$top_builddir"/source/ergo -m ../mol/GluAla2.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 J_K.fmm_box_size = 8.8 scf.convergence_threshold = 1e-5 scf.max_no_of_diis_matrices = 4 XC.sparse_mode = 1 XC.radint = 1e-15 XC.angint = 34 run "B3LYP-G" EOINPUT if check_final_energy -1446.0823389 1e-5 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.gluala2.b3lyp else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo GluAla2 b3lyp test completed successfully! echo ergo-3.5/test/test_h2o_125_b3lyp.sh0000775000175000017500000000763712743400275014026 00000000000000#!/bin/sh # Run each test in a separate directory, to allow "make check -j" to work properly. currtestdirname=tmpdir_test_h2o_125_b3lyp rm -rf $currtestdirname mkdir $currtestdirname cd $currtestdirname if [ "$top_builddir" = "" ] || [ "$top_builddir" = ".." ] ; then top_builddir=../.. fi if [ "$top_srcdir" = "" ] || [ "$top_srcdir" = ".." ] ; then top_srcdir=../.. fi if test `"$top_builddir"/source/ergo -e precision` = single; then echo SKIPPED exit 0 fi . "$top_srcdir"/test/functions errorfilename=ergoscf.out.error.h2o_125_b3lyp guess_input=' basis = "STO-2G"; use_simple_starting_guess=1; J_K.threshold_2el_J = 1e-6; J_K.threshold_2el_K = 1e-6; J_K.fmm_box_size = 10.0; scf.convergence_threshold = 1e-2; run "HF"; ' echo echo Testing h2o_125_1 B3LYP/6-31Gss rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_1.xyz > /dev/null rm -f ergoscf.out echo running B3LYP/6-31Gss... "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_1.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 scf.convergence_threshold = 1e-5 XC.sparse_mode = 1 XC.radint = 1e-15 XC.angint = 34 run "B3LYP-G" EOINPUT if check_final_energy -9552.1494446 1e-5 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.h2o125.1.b3lyp else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo echo Testing h2o_125_2 B3LYP/6-31Gss rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_2.xyz > /dev/null rm -f ergoscf.out echo running B3LYP/6-31Gss... "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_2.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 scf.convergence_threshold = 1e-5 XC.sparse_mode = 1 XC.radint = 1e-15 XC.angint = 34 run "B3LYP-G" EOINPUT if check_final_energy -9552.1558339 1e-5 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.h2o125.2.b3lyp else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo echo Testing h2o_125_3 B3LYP/6-31Gss rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_3.xyz > /dev/null rm -f ergoscf.out echo running B3LYP/6-31Gss... "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_3.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 scf.convergence_threshold = 1e-5 XC.sparse_mode = 1 XC.radint = 1e-15 XC.angint = 34 run "B3LYP-G" EOINPUT if check_final_energy -9552.1454731 1e-5 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.h2o125.3.b3lyp else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo echo Testing h2o_125_4 B3LYP/6-31Gss rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_4.xyz > /dev/null rm -f ergoscf.out echo running B3LYP/6-31Gss... "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_4.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 scf.convergence_threshold = 1e-5 XC.sparse_mode = 1 XC.radint = 1e-15 XC.angint = 34 run "B3LYP-G" EOINPUT if check_final_energy -9552.1496239 1e-5 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.h2o125.4.b3lyp else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo h2o_125 b3lyp tests completed successfully! echo ergo-3.5/test/test_ci.sh0000775000175000017500000001030512743400275012213 00000000000000#!/bin/sh currtestdirname=tmpdir_test_ci if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.ci echo echo Testing h2 FCI 6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 0.0 0.0 0.0 H 0.0 0.0 1.4 EOF basis = "6-31Gss" scf.force_unrestricted = 1 do_ci_after_scf = 1 run "HF" EOINPUT if check_final_ci_corr_energy -0.03387 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o FCI STO-3G rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF basis = "STO-3G" scf.force_unrestricted = 1 do_ci_after_scf = 1 run "HF" EOINPUT if check_final_ci_energy -75.0124258 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o[+] FCI STO-3G rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF basis = "STO-3G" scf.force_unrestricted = 1 charge = 1 spin_polarization = 1 do_ci_after_scf = 1 run "HF" EOINPUT if check_final_ci_energy -74.6947713 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing 2h2 FCI 6-31G rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 0.1 0.2 0.3 H 0.3 0.1 1.4 H 2.2 1.1 0.2 H 2.1 1.2 1.5 EOF basis = "6-31G" scf.force_unrestricted = 1 do_ci_after_scf = 1 run "HF" EOINPUT if check_final_ci_energy -2.1313212 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_dipole_ci x -0.0307588 1e-5 ; then echo Dipole X OK else echo ERROR in Dipole X mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_dipole_ci y -0.016494 1e-5 ; then echo Dipole Y OK else echo ERROR in Dipole Y mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_dipole_ci z -0.0020535 1e-5 ; then echo Dipole Z OK else echo ERROR in Dipole Z mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing 2h2 FCI 6-31G with electric field x rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 0.1 0.2 0.3 H 0.3 0.1 1.4 H 2.2 1.1 0.2 H 2.1 1.2 1.5 EOF basis = "6-31G" scf.force_unrestricted = 1 scf.electric_field_x = -0.03 do_ci_after_scf = 1 run "HF" EOINPUT if check_final_ci_energy -2.1307395 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing 2h2 FCI 6-31G with electric field y rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 0.1 0.2 0.3 H 0.3 0.1 1.4 H 2.2 1.1 0.2 H 2.1 1.2 1.5 EOF basis = "6-31G" scf.force_unrestricted = 1 scf.electric_field_y = -0.02 do_ci_after_scf = 1 run "HF" EOINPUT if check_final_ci_energy -2.1310579 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing 2h2 FCI 6-31G with electric field z rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 0.1 0.2 0.3 H 0.3 0.1 1.4 H 2.2 1.1 0.2 H 2.1 1.2 1.5 EOF basis = "6-31G" scf.force_unrestricted = 1 scf.electric_field_z = -0.05 do_ci_after_scf = 1 run "HF" EOINPUT if check_final_ci_energy -2.141479 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo Configuration Interaction [CI] tests completed successfully! echo ergo-3.5/test/test_extracharges.sh0000775000175000017500000000571412743400275014310 00000000000000#!/bin/sh currtestdirname=tmpdir_test_extracharges if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.extracharges echo echo '1' > temp_molecule.xyz echo '' >> temp_molecule.xyz echo 'H 0.0 0.0 0.0' >> temp_molecule.xyz echo '1' > temp_extra_charges.xyz echo '' >> temp_extra_charges.xyz echo 'H 0.0 0.0 0.5' >> temp_extra_charges.xyz echo Testing H2 HF/cc-pVTZ with one of the H atoms given as "extra charge" rm -f ergoscf.out ./ergo -m temp_molecule.xyz -c temp_extra_charges.xyz -g temp_extra_charges.xyz < /dev/null basis = "cc-pVTZ" ghost_basis = "cc-pVTZ" charge = -1 extra_charges_atom_charge_h = 1 run "HF" EOINPUT if # Use reference energy corrected for missing nuclear_repulsion_energy check_final_energy -2.12166118866 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo echo '3' > temp_molecule.xyz echo '' >> temp_molecule.xyz echo 'O 0.457627840 -0.311951930 0.082447166' >> temp_molecule.xyz echo 'H 0.457627840 0.594655950 -0.201387561' >> temp_molecule.xyz echo 'H -0.302917789 -0.472814751 0.628518998' >> temp_molecule.xyz echo '3' > temp_extra_charges.xyz echo '' >> temp_extra_charges.xyz echo 'O -0.463040796 0.126316403 2.021879464' >> temp_extra_charges.xyz echo 'H -0.463040796 -0.809137147 2.187489411' >> temp_extra_charges.xyz echo 'H 0.381674058 0.386221704 1.673444396' >> temp_extra_charges.xyz echo Testing two-h2o PBE0/3-21G with one of the molecules given as "extra charges" rm -f ergoscf.out ./ergo -m temp_molecule.xyz -c temp_extra_charges.xyz -g temp_extra_charges.xyz < /dev/null basis = "3-21G" ghost_basis = "3-21G" charge = -10 extra_charges_atom_charge_h = 1 extra_charges_atom_charge_o = 8 # make sure to use a grid that gives grid points where the density is; not only on atoms XC.type="HICU" XC.hicu_max_error = 1e-8 run "PBE0" EOINPUT if check_final_energy -186.35911209 5e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo extra-charges tests completed successfully! echo ergo-3.5/test/test_hf_blsz2.sh0000775000175000017500000000514412743400275013336 00000000000000#!/bin/sh currtestdirname=tmpdir_test_hf_blsz2 if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.hfblsz1 echo echo Testing h2o HF/6-31G** with matrix blocksize = 2 rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF basis = "6-31Gss" mat.sparse_matrix_block_size = 2 mat.sparse_matrix_block_factor_1 = 2 mat.sparse_matrix_block_factor_2 = 2 mat.sparse_matrix_block_factor_3 = 2 set_nthreads(1) run "HF" EOINPUT if check_final_energy -76.0226431 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing cnof HF/6-31G with matrix blocksize = 2 rm -f ergoscf.out ./ergo < /dev/null molecule_inline C 0.0 0.0 0.0 N 1.3 0.2 0.4 O 1.5 -0.4 2.0 F -0.9 2.0 0.5 EOF basis = "6-31G" mat.sparse_matrix_block_size = 2 mat.sparse_matrix_block_factor_1 = 2 mat.sparse_matrix_block_factor_2 = 2 mat.sparse_matrix_block_factor_3 = 2 set_nthreads(1) run "HF" EOINPUT if check_final_energy -264.0542682 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing nh3[+] UHF/6-31G** with matrix blocksize = 2 rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom N 0.000000 0.000000 0.000000 H 0.000000 0.000000 1.012316 H 0.969771 0.000000 -0.290392 H -0.390071 0.887881 -0.290336 EOF basis = "6-31Gss" mat.sparse_matrix_block_size = 2 mat.sparse_matrix_block_factor_1 = 2 mat.sparse_matrix_block_factor_2 = 2 mat.sparse_matrix_block_factor_3 = 2 charge = 1 spin_polarization = 1 set_nthreads(1) run "HF" EOINPUT if check_final_energy -55.8546235 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi if check_final_S2 0.757013 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo Block size 2 tests completed successfully! echo ergo-3.5/test/test_uhf.sh0000775000175000017500000000660612743400275012413 00000000000000#!/bin/sh currtestdirname=tmpdir_test_uhf if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.uhf echo echo Testing H UHF STO-3G rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 0 0 0 EOF basis = "STO-3G" charge = 0 spin_polarization = 1 use_simple_starting_guess = 0 scf.min_number_of_iterations = 2 run "HF" EOINPUT if check_final_energy -0.4665819 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing H UHF 6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 0 0 0 EOF basis = "6-31Gss" charge = 0 spin_polarization = 1 use_simple_starting_guess = 0 scf.use_diag_on_error = 0 run "HF" EOINPUT if check_final_energy -0.4982329 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing H2[+] UHF STO-3G rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 0 0 0 H 0 1.4 0 EOF basis = "STO-3G" charge = 1 spin_polarization = 1 use_simple_starting_guess = 0 scf.use_diag_on_error = 0 run "HF" EOINPUT if check_final_energy -0.5385113 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing H2 with bond distance 5 au, UHF/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline H -2.5 0 0 H 2.5 0 0 EOF basis = "6-31Gss" scf.force_unrestricted = 1 scf.starting_guess_disturbance = 0.01 run "HF" EOINPUT if check_final_energy -0.9970912 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing Be[-] UHF STO-2G rm -f ergoscf.out ./ergo < /dev/null molecule_inline Be 0 0 0 EOF basis = "STO-2G" charge = -1 spin_polarization = 1 use_simple_starting_guess = 0 scf.use_diag_on_error = 0 scf.min_number_of_iterations = 2 run "HF" EOINPUT if check_final_energy -13.6625792 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing Be[-] UHF 6-31G* rm -f ergoscf.out ./ergo < /dev/null molecule_inline Be 0 0 0 EOF basis = "6-31Gs" charge = -1 scf.use_diag_on_error = 0 scf.use_diag_on_error_guess = 1 spin_polarization = 1 use_simple_starting_guess = 0 run "HF" EOINPUT if check_final_energy -14.4939039 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi if check_final_S2 0.752685 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin cd .. rm -r $currtestdirname echo echo Unrestricted Hartree-Fock tests completed successfully! echo ergo-3.5/test/test_dipole_moment.sh0000775000175000017500000001231112743400275014452 00000000000000#!/bin/sh currtestdirname=tmpdir_test_dipole_moment if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.dipolemoment echo echo Testing cnof BHANDHLYP/6-31G rm -f ergoscf.out ./ergo < /dev/null molecule_inline C 0.0 0.0 0.0 N 1.3 0.2 0.4 O 1.5 -0.4 2.0 F -0.9 2.0 0.5 EOF basis = "6-31G" XC.radint=1e-12 XC.angint = 35 scf.output_mulliken_pop = 1 run "BHANDHLYP" EOINPUT if check_final_energy -265.2667394 1e-5 ; then echo Energy OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_dipole x 0.0101015 1e-4 ; then echo Dipole X OK else echo ERROR in Dipole X mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_dipole y -0.0169424 1e-4 ; then echo Dipole Y OK else echo ERROR in Dipole Y mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_dipole z -0.5035157 1e-4 ; then echo Dipole Z OK else echo ERROR in Dipole Z mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_mulliken_charge 0 -0.068157 1e-4 ; then echo Mulliken charge OK else echo ERROR in Mulliken mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_mulliken_charge 1 0.579839 1e-4 ; then echo Mulliken charge OK else echo ERROR in Mulliken charge mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_mulliken_charge 2 -0.321502 1e-4 ; then echo Mulliken charge OK else echo ERROR in Mulliken charge mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_mulliken_charge 3 -0.190181 1e-4 ; then echo Mulliken charge OK else echo ERROR in Mulliken charge mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing nh3-triplet BHANDHLYP/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom N 0.000000 0.000000 0.000000 H 0.000000 0.000000 1.012316 H 0.969771 0.000000 -0.290392 H -0.390071 0.887881 -0.290336 EOF charge = 0 spin_polarization = 2 basis = "6-31Gss" scf.output_mulliken_pop = 1 run "BHANDHLYP" EOINPUT if check_final_energy -56.2444854 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_final_S2 2.001894 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_dipole x -0.0692112 1e-4 ; then echo Dipole X OK else echo ERROR in Dipole X mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_dipole y -0.1060111 1e-4 ; then echo Dipole Y OK else echo ERROR in Dipole Y mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_dipole z -0.0515257 1e-4 ; then echo Dipole Z OK else echo ERROR in Dipole Z mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_mulliken_charge 0 0.087443 1e-4 ; then echo Mulliken charge OK else echo ERROR in Mulliken mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_mulliken_charge 1 -0.029146 1e-4 ; then echo Mulliken charge OK else echo ERROR in Mulliken charge mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_mulliken_charge 2 -0.029148 1e-4 ; then echo Mulliken charge OK else echo ERROR in Mulliken charge mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_mulliken_charge 3 -0.029149 1e-4 ; then echo Mulliken charge OK else echo ERROR in Mulliken charge mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_mulliken_spin 0 0.744599 1e-4 ; then echo Mulliken spin density OK else echo ERROR in Mulliken spin density mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_mulliken_spin 1 0.418462 1e-4 ; then echo Mulliken spin density OK else echo ERROR in Mulliken spin density mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_mulliken_spin 2 0.418473 1e-4 ; then echo Mulliken spin density OK else echo ERROR in Mulliken spin density mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi ##### if check_mulliken_spin 3 0.418465 1e-4 ; then echo Mulliken spin density OK else echo ERROR in Mulliken spin density mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo Dipole moment and Mulliken pop tests completed successfully! echo ergo-3.5/test/test_h2o_1000.sh0000775000175000017500000000221212743400275012746 00000000000000#!/bin/sh # Run each test in a separate directory, to allow "make check -j" to work properly. currtestdirname=tmpdir_test_h2o_1000 rm -rf $currtestdirname mkdir $currtestdirname cd $currtestdirname if [ "$top_builddir" = "" ] || [ "$top_builddir" = ".." ] ; then top_builddir=../.. fi if [ "$top_srcdir" = "" ] || [ "$top_srcdir" = ".." ] ; then top_srcdir=../.. fi if test `"$top_builddir"/source/ergo -e precision` = single; then echo SKIPPED exit 0 fi . "$top_srcdir"/test/functions errorfilename=ergoscf.out.error.h2o_1000 echo echo Testing h2o_1000 HF/6-31G** rm -f ergoscf.out ../source/ergo -m ../mol/h2o_1000.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" use_simple_starting_guess=1 J_K.fmm_box_size = 44 J_K.exchange_box_size = 44 scf.convergence_threshold = 1e-5 run "HF" EOINPUT if check_final_energy -76022.6431000 1e-4 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.h2o_1000 else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo h2o_1000 Hartree-Fock tests completed successfully! echo ergo-3.5/test/test_dft_hybrid.sh0000775000175000017500000000717612743400275013752 00000000000000#!/bin/sh currtestdirname=tmpdir_test_dft_hybrid if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.dfthybrid echo echo Testing h2o B3LYP/6-31G** using g03-style B3LYP rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF basis = "6-31Gss" XC.type="LMG" XC.radint=1e-13 run "B3LYP-G" EOINPUT if check_final_energy -76.4180487 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing cnof B3LYP/6-31G using g03-style B3LYP rm -f ergoscf.out ./ergo < /dev/null molecule_inline C 0.0 0.0 0.0 N 1.3 0.2 0.4 O 1.5 -0.4 2.0 F -0.9 2.0 0.5 EOF basis = "6-31G" XC.type="Turbo" XC.radint=1e-10 scf.convergence_threshold = 1e-6 run "B3LYP-G" EOINPUT if check_final_energy -265.391329 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing sih4 BHandHLYP/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom Si 0.0000 0.0000 0.0000 H 0.9385 0.9654 0.6265 H 0.7506 -1.2008 -0.4472 H -1.0315 -0.4013 0.9900 H -0.6575 0.6367 -1.1694 EOF basis = "6-31Gss" run "BHandHLYP" EOINPUT if check_final_energy -291.857715 5e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing sih3[-] UBHandHLYP/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom Si 0.0000 0.0000 0.0000 H 0.9385 0.9654 0.6265 H 0.7506 -1.2008 -0.4472 H -1.0315 -0.4013 0.9900 EOF charge = -1 basis = "6-31Gss" scf.force_unrestricted = 1 run "BHandHLYP" EOINPUT if check_final_energy -291.223592 5e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing sih3 UBHandHLYP/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom Si 0.0000 0.0000 0.0000 H 0.9385 0.9654 0.6265 H 0.7506 -1.2008 -0.4472 H -1.0315 -0.4013 0.9900 EOF spin_polarization = 1 basis = "6-31Gss" run "BHandHLYP" EOINPUT if check_final_energy -291.2083758 5e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing nh3[+] UB3LYP/6-31G** using g03-style B3LYP rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom N 0.000000 0.000000 0.000000 H 0.000000 0.000000 1.012316 H 0.969771 0.000000 -0.290392 H -0.390071 0.887881 -0.290336 EOF charge = 1 spin_polarization = 1 basis = "6-31Gss" run "B3LYP-G" EOINPUT if check_final_energy -56.163575 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi if check_final_S2 0.752352 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo Hybrid DFT tests completed successfully! echo ergo-3.5/test/test_gradient.sh0000775000175000017500000001267712743400275013433 00000000000000#!/bin/sh currtestdirname=tmpdir_test_gradient if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename1=ergoscf.out.error.gradient.1 errorfilename2=ergoscf.out.error.gradient.2 errorfilename3=ergoscf.out.error.gradient.3 epsilon=0.0001 tolerance=0.00001 echo echo Testing gradient computation for h2o HF/6-31G** using finite differences and fixed basis set, achieved via ghost basis. coord1=`print_sum_of_values 0.3 $epsilon` coord2=`print_sum_of_values 0.3 -$epsilon` echo coord1 is $coord1 echo coord2 is $coord2 rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF ghost_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF basis = "none" ghost_basis = "6-31Gss" scf.compute_gradient_fixeddens = 1 run "HF" EOINPUT mv ergoscf.out ergoscf.out.gradient ./ergo < /dev/null molecule_inline O 0.2 $coord1 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF ghost_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF basis = "none" ghost_basis = "6-31Gss" scf.compute_gradient_fixeddens = 1 run "HF" EOINPUT mv ergoscf.out ergoscf.out.sav1 ./ergo < /dev/null molecule_inline O 0.2 $coord2 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF ghost_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF basis = "none" ghost_basis = "6-31Gss" run "HF" EOINPUT mv ergoscf.out ergoscf.out.sav2 if check_gradient_component_by_finite_diff 0 1 $epsilon $tolerance then echo OK rm ergoscf.out.sav1 ergoscf.out.sav2 ergoscf.out.gradient else echo ERROR mv ergoscf.out.sav1 $errorfilename1 mv ergoscf.out.sav2 $errorfilename2 mv ergoscf.out.gradient $errorfilename3 echo output files saved as $errorfilename1 $errorfilename2 $errorfilename3 exit 1 fi coord1=`print_sum_of_values -1.8 $epsilon` coord2=`print_sum_of_values -1.8 -$epsilon` echo coord1 is $coord1 echo coord2 is $coord2 rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF ghost_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF basis = "none" ghost_basis = "6-31Gss" scf.compute_gradient_fixeddens = 1 run "HF" EOINPUT mv ergoscf.out ergoscf.out.gradient ./ergo < /dev/null molecule_inline O 0.2 0.3 0.4 H $coord1 0.1 0.3 H 0.4 1.7 0.2 EOF ghost_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF basis = "none" ghost_basis = "6-31Gss" scf.compute_gradient_fixeddens = 1 run "HF" EOINPUT mv ergoscf.out ergoscf.out.sav1 ./ergo < /dev/null molecule_inline O 0.2 0.3 0.4 H $coord2 0.1 0.3 H 0.4 1.7 0.2 EOF ghost_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF basis = "none" ghost_basis = "6-31Gss" run "HF" EOINPUT mv ergoscf.out ergoscf.out.sav2 if check_gradient_component_by_finite_diff 1 0 $epsilon $tolerance then echo OK rm ergoscf.out.sav1 ergoscf.out.sav2 ergoscf.out.gradient else echo ERROR mv ergoscf.out.sav1 $errorfilename1 mv ergoscf.out.sav2 $errorfilename2 mv ergoscf.out.gradient $errorfilename3 echo output files saved as $errorfilename1 $errorfilename2 $errorfilename3 exit 1 fi coord1=`print_sum_of_values 0.2 $epsilon` coord2=`print_sum_of_values 0.2 -$epsilon` echo coord1 is $coord1 echo coord2 is $coord2 rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF ghost_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF basis = "none" ghost_basis = "6-31Gss" scf.compute_gradient_fixeddens = 1 run "HF" EOINPUT mv ergoscf.out ergoscf.out.gradient ./ergo < /dev/null molecule_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 $coord1 EOF ghost_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF basis = "none" ghost_basis = "6-31Gss" scf.compute_gradient_fixeddens = 1 run "HF" EOINPUT mv ergoscf.out ergoscf.out.sav1 ./ergo < /dev/null molecule_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 $coord2 EOF ghost_inline O 0.2 0.3 0.4 H -1.8 0.1 0.3 H 0.4 1.7 0.2 EOF basis = "none" ghost_basis = "6-31Gss" run "HF" EOINPUT mv ergoscf.out ergoscf.out.sav2 if check_gradient_component_by_finite_diff 2 2 $epsilon $tolerance then echo OK rm ergoscf.out.sav1 ergoscf.out.sav2 ergoscf.out.gradient else echo ERROR mv ergoscf.out.sav1 $errorfilename1 mv ergoscf.out.sav2 $errorfilename2 mv ergoscf.out.gradient $errorfilename3 echo output files saved as $errorfilename1 $errorfilename2 $errorfilename3 exit 1 fi rm -f ergoscf.out rm -f density.bin cd .. rm -r $currtestdirname echo echo Gradient tests completed successfully! echo ergo-3.5/test/test_hf_acc.sh0000775000175000017500000000741712743400275013035 00000000000000#!/bin/sh currtestdirname=tmpdir_test_hf_acc if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.hf_acc echo echo Testing h2 with bond distance 1 au, HF/STO-3G rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 0 0 0 H 0 0 1 EOF basis = "STO-3G" use_simple_starting_guess=1 scf.purification_with_acceleration = 1 run "HF" EOINPUT if check_final_energy -1.0659995 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2 with bond distance 5 au, HF/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline H -2.5 0 0 H 2.5 0 0 EOF basis = "6-31Gss" scf.purification_with_acceleration = 1 run "HF" EOINPUT if check_final_energy -0.8433867 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o HF/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF basis = "6-31Gss" scf.purification_with_acceleration = 1 run "HF" EOINPUT if check_final_energy -76.0226431 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o HF/6-31++G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF scf.purification_with_acceleration = 1 basis = "6-31++Gss" run "HF" EOINPUT if check_final_energy -76.0304891 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o HF/cc-pVTZ rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF scf.purification_with_acceleration = 1 basis = "cc-pVTZ" run "HF" EOINPUT if check_final_energy -76.057163 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing cnof HF/6-31G rm -f ergoscf.out ./ergo < /dev/null molecule_inline C 0.0 0.0 0.0 N 1.3 0.2 0.4 O 1.5 -0.4 2.0 F -0.9 2.0 0.5 EOF scf.purification_with_acceleration = 1 basis = "6-31G" run "HF" EOINPUT if check_final_energy -264.0542682 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing nh3[+] UHF/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom N 0.000000 0.000000 0.000000 H 0.000000 0.000000 1.012316 H 0.969771 0.000000 -0.290392 H -0.390071 0.887881 -0.290336 EOF basis = "6-31Gss" charge = 1 spin_polarization = 1 scf.purification_with_acceleration = 1 run "HF" EOINPUT if check_final_energy -55.8546235 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi if check_final_S2 0.757013 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo Hartree-Fock tests using accelerated recursive expansion completed successfully! echo ergo-3.5/test/test_mixedbasis.sh0000775000175000017500000000315712743400275013757 00000000000000#!/bin/sh currtestdirname=tmpdir_test_mixedbasis if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.mixedbasis echo echo Testing three h2o with HF and mixed basis 6-31G 6-31G* 6-31G** rm -f ergoscf.out cat < /dev/null molecule_inline H 0 0 0 H 0 0 1 EOF basis = "STO-3G" use_simple_starting_guess=1 run "HF" EOINPUT if check_final_energy -1.0659995 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2 with bond distance 5 au, HF/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline H -2.5 0 0 H 2.5 0 0 EOF basis = "6-31Gss" run "HF" EOINPUT if check_final_energy -0.8433867 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o HF/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF basis = "6-31Gss" run "HF" EOINPUT if check_final_energy -76.0226431 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o HF/6-31++G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF basis = "6-31++Gss" run "HF" EOINPUT if check_final_energy -76.0304891 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o HF/cc-pVTZ rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF basis = "cc-pVTZ" run "HF" EOINPUT if check_final_energy -76.057163 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing cnof HF/6-31G rm -f ergoscf.out ./ergo < /dev/null molecule_inline C 0.0 0.0 0.0 N 1.3 0.2 0.4 O 1.5 -0.4 2.0 F -0.9 2.0 0.5 EOF basis = "6-31G" run "HF" EOINPUT if check_final_energy -264.0542682 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing nh3[+] UHF/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom N 0.000000 0.000000 0.000000 H 0.000000 0.000000 1.012316 H 0.969771 0.000000 -0.290392 H -0.390071 0.887881 -0.290336 EOF basis = "6-31Gss" charge = 1 spin_polarization = 1 run "HF" EOINPUT if check_final_energy -55.8546235 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi if check_final_S2 0.757013 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo Hartree-Fock tests completed successfully! echo ergo-3.5/test/test_h2o_125_hf.sh0000775000175000017500000000705112743400275013360 00000000000000#!/bin/sh # Run each test in a separate directory, to allow "make check -j" to work properly. currtestdirname=tmpdir_test_h2o_125_hf rm -rf $currtestdirname mkdir $currtestdirname cd $currtestdirname if [ "$top_builddir" = "" ] || [ "$top_builddir" = ".." ] ; then top_builddir=../.. fi if [ "$top_srcdir" = "" ] || [ "$top_srcdir" = ".." ] ; then top_srcdir=../.. fi if test `"$top_builddir"/source/ergo -e precision` = single; then echo SKIPPED exit 0 fi . "$top_srcdir"/test/functions errorfilename=ergoscf.out.error.h2o_125 guess_input=' basis = "STO-2G"; use_simple_starting_guess=1; J_K.threshold_2el_J = 1e-6; J_K.threshold_2el_K = 1e-6; J_K.fmm_box_size = 10.0; scf.convergence_threshold = 1e-2; run "HF"; ' echo echo Testing h2o_125_1 HF/6-31G** rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_1.xyz > /dev/null rm -f ergoscf.out echo running HF/6-31Gss... "$top_builddir"/source/ergo -m ../mol/h2o_125_1.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 scf.convergence_threshold = 1e-5 run "HF" EOINPUT if check_final_energy -9502.8355138 2e-6 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.1 else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o_125_2 HF/6-31G** rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_2.xyz > /dev/null rm -f ergoscf.out echo running HF/6-31Gss... "$top_builddir"/source/ergo -m ../mol/h2o_125_2.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 scf.convergence_threshold = 1e-5 run "HF" EOINPUT if check_final_energy -9502.8404831 2e-6 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.2 else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o_125_3 HF/6-31G** rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_3.xyz > /dev/null rm -f ergoscf.out echo running HF/6-31Gss... "$top_builddir"/source/ergo -m ../mol/h2o_125_3.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 scf.convergence_threshold = 1e-5 run "HF" EOINPUT if check_final_energy -9502.8284608 2e-6 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.3 else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o_125_4 HF/6-31G** rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_4.xyz > /dev/null rm -f ergoscf.out echo running HF/6-31Gss... "$top_builddir"/source/ergo -m ../mol/h2o_125_4.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 scf.convergence_threshold = 1e-5 run "HF" EOINPUT if check_final_energy -9502.8359906 2e-6 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.4 else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo h2o_125 Hartree-Fock tests completed successfully! echo ergo-3.5/test/test_hf_blsz1.sh0000775000175000017500000000514412743400275013335 00000000000000#!/bin/sh currtestdirname=tmpdir_test_hf_blsz1 if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.hfblsz1 echo echo Testing h2o HF/6-31G** with matrix blocksize = 1 rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF basis = "6-31Gss" mat.sparse_matrix_block_size = 1 mat.sparse_matrix_block_factor_1 = 2 mat.sparse_matrix_block_factor_2 = 2 mat.sparse_matrix_block_factor_3 = 2 set_nthreads(1) run "HF" EOINPUT if check_final_energy -76.0226431 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing cnof HF/6-31G with matrix blocksize = 1 rm -f ergoscf.out ./ergo < /dev/null molecule_inline C 0.0 0.0 0.0 N 1.3 0.2 0.4 O 1.5 -0.4 2.0 F -0.9 2.0 0.5 EOF basis = "6-31G" mat.sparse_matrix_block_size = 1 mat.sparse_matrix_block_factor_1 = 2 mat.sparse_matrix_block_factor_2 = 2 mat.sparse_matrix_block_factor_3 = 2 set_nthreads(1) run "HF" EOINPUT if check_final_energy -264.0542682 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing nh3[+] UHF/6-31G** with matrix blocksize = 1 rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom N 0.000000 0.000000 0.000000 H 0.000000 0.000000 1.012316 H 0.969771 0.000000 -0.290392 H -0.390071 0.887881 -0.290336 EOF basis = "6-31Gss" mat.sparse_matrix_block_size = 1 mat.sparse_matrix_block_factor_1 = 2 mat.sparse_matrix_block_factor_2 = 2 mat.sparse_matrix_block_factor_3 = 2 charge = 1 spin_polarization = 1 set_nthreads(1) run "HF" EOINPUT if check_final_energy -55.8546235 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi if check_final_S2 0.757013 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo Block size 1 tests completed successfully! echo ergo-3.5/test/test_h2o_125_blyp.sh0000775000175000017500000000755412743400275013741 00000000000000#!/bin/sh # Run each test in a separate directory, to allow "make check -j" to work properly. currtestdirname=tmpdir_test_h2o_125_blyp rm -rf $currtestdirname mkdir $currtestdirname cd $currtestdirname if [ "$top_builddir" = "" ] || [ "$top_builddir" = ".." ] ; then top_builddir=../.. fi if [ "$top_srcdir" = "" ] || [ "$top_srcdir" = ".." ] ; then top_srcdir=../.. fi if test `"$top_builddir"/source/ergo -e precision` = single; then echo SKIPPED exit 0 fi . "$top_srcdir"/test/functions errorfilename=ergoscf.out.error.h2o_125_blyp echo guess_input=' basis = "STO-2G"; use_simple_starting_guess=1; J_K.threshold_2el_J = 1e-6; J_K.threshold_2el_K = 1e-6; J_K.fmm_box_size = 10.0; scf.convergence_threshold = 1e-2; run "HF"; ' echo Testing h2o_125_1 BLYP/6-31Gss rm -f ergoscf.out echo getting starting guess... echo $guess_input| "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_1.xyz > /dev/null rm -f ergoscf.out echo running BLYP/6-31Gss... "$top_builddir"/source/ergo -m $top_srcdir/mol/h2o_125_1.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 scf.convergence_threshold = 1e-5 XC.sparse_mode = 1 XC.radint = 1e-15 XC.angint = 34 run "BLYP" EOINPUT if check_final_energy -9549.3769105 2e-5 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.h2o125.1.blyp else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo echo Testing h2o_125_2 BLYP/6-31Gss rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_2.xyz > /dev/null rm -f ergoscf.out echo running BLYP/6-31Gss... "$top_builddir"/source/ergo -m ../mol/h2o_125_2.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 scf.convergence_threshold = 1e-5 XC.sparse_mode = 1 XC.radint = 1e-15 XC.angint = 34 run "BLYP" EOINPUT if check_final_energy -9549.3829921 2e-5 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.h2o125.2.blyp else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo echo Testing h2o_125_3 BLYP/6-31Gss rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_3.xyz > /dev/null rm -f ergoscf.out echo running BLYP/6-31Gss... "$top_builddir"/source/ergo -m ../mol/h2o_125_3.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 scf.convergence_threshold = 1e-5 XC.sparse_mode = 1 XC.radint = 1e-15 XC.angint = 34 run "BLYP" EOINPUT if check_final_energy -9549.3737683 2e-5 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.h2o125.3.blyp else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo echo Testing h2o_125_4 BLYP/6-31Gss rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_4.xyz > /dev/null rm -f ergoscf.out echo running BLYP/6-31Gss... "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_125_4.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 scf.convergence_threshold = 1e-5 XC.sparse_mode = 1 XC.radint = 1e-15 XC.angint = 34 run "BLYP" EOINPUT if check_final_energy -9549.3769639 2e-5 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.h2o125.4.blyp else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo h2o_125 blyp tests completed successfully! echo ergo-3.5/test/test_fmm.sh0000775000175000017500000000505412743400275012404 00000000000000#!/bin/sh currtestdirname=tmpdir_test_fmm if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.fmm echo echo Testing four_h2o HF/6-31G using FMM rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom H 8.675000 0.000000 -16.640000 H 9.579936 0.000000 -17.920455 H 7.203213 0.037757 -17.673336 H 8.108149 0.037757 -18.953791 H 9.241330 0.571501 -2.493601 H 10.146266 0.571501 -3.774055 H 7.134485 0.659897 -2.982496 H 8.039421 0.659897 -4.262951 O 8.675000 0.000000 -17.600000 O 7.203213 0.037757 -18.633336 O 9.241330 0.571501 -3.453601 O 7.134485 0.659897 -3.942496 EOF basis = "6-31G" run "HF" EOINPUT if check_final_energy -303.7606521 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out echo Testing four_h2o HF/6-31G* using FMM rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom H 8.675000 0.000000 -16.640000 H 9.579936 0.000000 -17.920455 H 7.203213 0.037757 -17.673336 H 8.108149 0.037757 -18.953791 H 9.241330 0.571501 -2.493601 H 10.146266 0.571501 -3.774055 H 7.134485 0.659897 -2.982496 H 8.039421 0.659897 -4.262951 O 8.675000 0.000000 -17.600000 O 7.203213 0.037757 -18.633336 O 9.241330 0.571501 -3.453601 O 7.134485 0.659897 -3.942496 EOF basis = "6-31Gs" initial_density = "density.bin" run "HF" EOINPUT if check_final_energy -303.8352704 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin cd .. rm -r $currtestdirname echo echo FMM tests completed successfully! echo ergo-3.5/test/test_lr_exc.sh0000775000175000017500000000332112743400275013074 00000000000000#!/bin/sh currtestdirname=tmpdir_test_lr_exc if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.lr_exc echo echo Testing CO PBE/6-31Gss rm -f ergoscf.out ./ergo < /dev/null rm -f ergoscf.out echo running HF/6-31Gss... "$top_builddir"/source/ergo -m ../mol/GluAla2.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 J_K.fmm_box_size = 3.3 scf.convergence_threshold = 1e-5 run "HF" EOINPUT if check_final_energy -1437.6933948 2e-7 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.gluala2.hf else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo GluAla2 Hartree-Fock test completed successfully! echo ergo-3.5/test/test_6_d_funcs.sh0000775000175000017500000000423412743400275013472 00000000000000#!/bin/sh currtestdirname=tmpdir_test_6_d_funcs if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.6dfuncs echo echo Testing h2o HF/6-31G** with 6 d-functions rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF use_6_d_functions = 1 basis = "6-31Gss" run "HF" EOINPUT if check_final_energy -76.0231587 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o HF/6-31++G** with 6 d-functions rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF use_6_d_functions = 1 basis = "6-31++Gss" run "HF" EOINPUT if check_final_energy -76.0307719 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing nh3[+] UHF/6-31G** with 6 d-functions rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom N 0.000000 0.000000 0.000000 H 0.000000 0.000000 1.012316 H 0.969771 0.000000 -0.290392 H -0.390071 0.887881 -0.290336 EOF use_6_d_functions = 1 basis = "6-31Gss" charge = 1 spin_polarization = 1 run "HF" EOINPUT if check_final_energy -55.8547924 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi if check_final_S2 0.757025 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo 6-d-function tests completed successfully! echo ergo-3.5/test/test_hf_fd.sh0000775000175000017500000000406512743400275012674 00000000000000#!/bin/sh currtestdirname=tmpdir_test_hf_fd if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.hffd echo echo Testing h2o HF/Ahlrichs-VTZ with Fermi-Dirac smearing at T=20000K rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom O 0.000000000000000 0.000000000000000 0.000000000000000 H -0.957281569814700 0.000000000000000 0.000000000000000 H 0.240007793647257 0.926706239896334 0.000000000000000 EOF basis = "Ahlrichs-VTZ" # Using conversion factor 3.166815e-06 from Kelvin to a.u. scf.electronic_temperature = 0.0633363 scf.use_diagonalization = 1 scf.use_diis_always = 1 run "HF" EOINPUT if check_final_energy -76.00838544 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing cnof HF/6-31G with Fermi-Dirac smearing at T=20000K rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom C 0.000000000000000 0.000000000000000 0.000000000000000 N 0.687930370790000 0.105835441660000 0.211670883320000 O 0.793765812450000 -0.211670883320000 1.058354416600000 F -0.476259487470000 1.058354416600000 0.264588604150000 EOF basis = "6-31G" # Using conversion factor 3.166815e-06 from Kelvin to a.u. scf.electronic_temperature = 0.0633363 scf.use_diagonalization = 1 scf.use_diis_always = 1 run "HF" EOINPUT if check_final_energy -264.0295861799 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo Hartree-Fock Fermi-Dirac T tests completed successfully! echo ergo-3.5/test/test_h2o_216_b3lyp.sh0000775000175000017500000000320612743400275014013 00000000000000#!/bin/sh # Run each test in a separate directory, to allow "make check -j" to work properly. currtestdirname=tmpdir_test_h2o_216_b3lyp rm -rf $currtestdirname mkdir $currtestdirname cd $currtestdirname if [ "$top_builddir" = "" ] || [ "$top_builddir" = ".." ] ; then top_builddir=../.. fi if [ "$top_srcdir" = "" ] || [ "$top_srcdir" = ".." ] ; then top_srcdir=../.. fi if test `"$top_builddir"/source/ergo -e precision` = single; then echo SKIPPED exit 0 fi . "$top_srcdir"/test/functions errorfilename=ergoscf.out.error.h2o_216_b3lyp guess_input=' basis = "STO-2G"; use_simple_starting_guess=1; J_K.threshold_2el_J = 1e-6; J_K.threshold_2el_K = 1e-6; J_K.fmm_box_size = 10.0; scf.convergence_threshold = 1e-2; run "HF"; ' echo echo Testing h2o_216 B3LYP-G/6-31G** rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_216.xyz > /dev/null rm -f ergoscf.out echo running B3LYP-G/6-31Gss... "$top_builddir"/source/ergo -m ../mol/h2o_216.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 J_K.fmm_box_size = 8.8 scf.convergence_threshold = 1e-5 scf.max_no_of_diis_matrices = 4 XC.sparse_mode = 1 XC.radint = 1e-15 XC.angint = 34 run "B3LYP-G" EOINPUT if check_final_energy -16506.0933162 2e-5 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.h2o_216_b3lyp else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo h2o_216 b3lyp test completed successfully! echo ergo-3.5/test/test_h2o_216_hf.sh0000775000175000017500000000307312743400275013361 00000000000000#!/bin/sh # Run each test in a separate directory, to allow "make check -j" to work properly. currtestdirname=tmpdir_test_h2o_216_hf rm -rf $currtestdirname mkdir $currtestdirname cd $currtestdirname if [ "$top_builddir" = "" ] || [ "$top_builddir" = ".." ] ; then top_builddir=../.. fi if [ "$top_srcdir" = "" ] || [ "$top_srcdir" = ".." ] ; then top_srcdir=../.. fi if test `"$top_builddir"/source/ergo -e precision` = single; then echo SKIPPED exit 0 fi . "$top_srcdir"/test/functions errorfilename=ergoscf.out.error.h2o_216 guess_input=' basis = "STO-2G"; use_simple_starting_guess=1; J_K.threshold_2el_J = 1e-6; J_K.threshold_2el_K = 1e-6; J_K.fmm_box_size = 10.0; scf.convergence_threshold = 1e-2; run "HF"; ' echo echo Testing h2o_216 HF/6-31G** rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_216.xyz > /dev/null rm -f ergoscf.out echo running HF/6-31Gss... "$top_builddir"/source/ergo -m ../mol/h2o_216.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 J_K.fmm_box_size = 8.8 scf.convergence_threshold = 1e-5 scf.max_no_of_diis_matrices = 4 run "HF" EOINPUT if check_final_energy -16420.8406978 2e-6 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.h2o_216 else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo h2o_216 Hartree-Fock test completed successfully! echo ergo-3.5/test/test_h2o_216_blyp.sh0000775000175000017500000000317512743400275013735 00000000000000#!/bin/sh # Run each test in a separate directory, to allow "make check -j" to work properly. currtestdirname=tmpdir_test_h2o_216_blyp rm -rf $currtestdirname mkdir $currtestdirname cd $currtestdirname if [ "$top_builddir" = "" ] || [ "$top_builddir" = ".." ] ; then top_builddir=../.. fi if [ "$top_srcdir" = "" ] || [ "$top_srcdir" = ".." ] ; then top_srcdir=../.. fi if test `"$top_builddir"/source/ergo -e precision` = single; then echo SKIPPED exit 0 fi . "$top_srcdir"/test/functions errorfilename=ergoscf.out.error.h2o_216_blyp guess_input=' basis = "STO-2G"; use_simple_starting_guess=1; J_K.threshold_2el_J = 1e-6; J_K.threshold_2el_K = 1e-6; J_K.fmm_box_size = 10.0; scf.convergence_threshold = 1e-2; run "HF"; ' echo echo Testing h2o_216 BLYP-G/6-31G** rm -f ergoscf.out echo getting starting guess... echo $guess_input | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/h2o_216.xyz > /dev/null rm -f ergoscf.out echo running BLYP-G/6-31Gss... "$top_builddir"/source/ergo -m ../mol/h2o_216.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 J_K.fmm_box_size = 8.8 scf.convergence_threshold = 1e-5 scf.max_no_of_diis_matrices = 4 XC.sparse_mode = 1 XC.radint = 1e-15 XC.angint = 34 run "BLYP" EOINPUT if check_final_energy -16501.3079147 1e-4 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.h2o_216_blyp else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo h2o_216 blyp test completed successfully! echo ergo-3.5/test/test_gluala2_blyp.sh0000775000175000017500000000400512743400275014175 00000000000000#!/bin/sh # Run each test in a separate directory, to allow "make check -j" to work properly. currtestdirname=tmpdir_test_gluala2_blyp rm -rf $currtestdirname mkdir $currtestdirname cd $currtestdirname if [ "$top_builddir" = "" ] || [ "$top_builddir" = ".." ] ; then top_builddir=../.. fi if [ "$top_srcdir" = "" ] || [ "$top_srcdir" = ".." ] ; then top_srcdir=../.. fi if test `"$top_builddir"/source/ergo -e precision` = single; then echo SKIPPED exit 0 fi . "$top_srcdir"/test/functions errorfilename=ergoscf.out.error.gluala2.blyp guess_input_1=' basis = "STO-2G"; use_simple_starting_guess=1; J_K.threshold_2el_J = 1e-6; J_K.threshold_2el_K = 1e-6; J_K.fmm_box_size = 10.0; scf.convergence_threshold = 1e-2; run "HF"; ' guess_input_2=' basis = "3-21G"; use_simple_starting_guess=1; J_K.threshold_2el_J = 1e-6; J_K.threshold_2el_K = 1e-6; J_K.fmm_box_size = 10.0; scf.convergence_threshold = 1e-2; XC.sparse_mode = 1 XC.radint = 1e-7 XC.angint = 28 run "BLYP"; ' echo echo Testing GluAla2 BLYP-G/6-31G** rm -f ergoscf.out echo getting starting guess 1... echo $guess_input_1 | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/GluAla2.xyz > /dev/null rm -f ergoscf.out echo getting starting guess 2... echo $guess_input_2 | "$top_builddir"/source/ergo -m "$top_srcdir"/mol/GluAla2.xyz > /dev/null rm -f ergoscf.out echo running BLYP/6-31Gss... "$top_builddir"/source/ergo -m ../mol/GluAla2.xyz < /dev/null enable_memory_usage_output = 1 basis = "6-31Gss" initial_density = "density.bin" J_K.threshold_2el_J = 1e-10 J_K.threshold_2el_K = 1e-10 J_K.fmm_box_size = 8.8 scf.convergence_threshold = 1e-5 scf.max_no_of_diis_matrices = 4 XC.sparse_mode = 1 XC.radint = 1e-15 XC.angint = 34 run "BLYP" EOINPUT if check_final_energy -1445.5867151 1e-5 ; then echo OK grep CONVERGED ergoscf.out mv ergoscf.out ergoscf.out.gluala2.blyp else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo GluAla2 blyp test completed successfully! echo ergo-3.5/test/Makefile.in0000664000175000017500000010445112743400353012272 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ functions \ test_6_d_funcs.sh \ test_all.sh \ test_ci.sh \ test_dft_hybrid.sh \ test_dft_pure.sh \ test_dft_hicu.sh \ test_dft_sparse.sh \ test_dipole_moment.sh \ test_ext_elec_field.sh \ test_extracharges.sh \ test_fmm.sh \ test_fmm_b3lyp.sh \ test_fmm_camb3lyp.sh \ test_ghost.sh \ test_gradient.sh \ test_h2o_1000.sh \ test_h2o_125_hf.sh \ test_h2o_125_b3lyp.sh \ test_h2o_125_blyp.sh \ test_h2o_216_hf.sh \ test_h2o_216_b3lyp.sh \ test_h2o_216_blyp.sh \ test_gluala2_hf.sh \ test_gluala2_b3lyp.sh \ test_gluala2_blyp.sh \ test_input_args.sh \ test_hf.sh \ test_hf_acc.sh \ test_hf_blsz1.sh \ test_hf_blsz2.sh \ test_hf_fd.sh \ test_brh.sh \ test_lowacc.sh \ test_lr_exc.sh \ test_lr_exc_hf.sh \ test_lr_pol.sh \ test_mixedbasis.sh \ test_roks.sh \ test_tdhf_dynamics.sh \ test_uhf.sh TESTS_ENVIRONMENT = top_builddir=$(top_builddir) top_srcdir=$(top_srcdir) \ KEEP=$(KEEP) TESTS = \ test_tdhf_dynamics.sh \ test_lowacc.sh \ test_dft_hybrid.sh \ test_dft_pure.sh \ test_dft_hicu.sh \ test_dft_sparse.sh \ test_dipole_moment.sh \ test_ext_elec_field.sh \ test_extracharges.sh \ test_fmm.sh \ test_fmm_b3lyp.sh \ test_fmm_camb3lyp.sh \ test_ghost.sh \ test_gradient.sh \ test_input_args.sh \ test_hf.sh \ test_hf_acc.sh \ test_6_d_funcs.sh \ test_hf_blsz1.sh \ test_hf_blsz2.sh \ test_hf_fd.sh \ test_brh.sh \ test_lr_exc.sh \ test_lr_exc_hf.sh \ test_lr_pol.sh \ test_mixedbasis.sh \ test_roks.sh \ test_uhf.sh \ test_ci.sh all: all-am .SUFFIXES: .SUFFIXES: .log .test .test$(EXEEXT) .trs $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags TAGS: ctags CTAGS: cscope cscopelist: # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? test_tdhf_dynamics.sh.log: test_tdhf_dynamics.sh @p='test_tdhf_dynamics.sh'; \ b='test_tdhf_dynamics.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_lowacc.sh.log: test_lowacc.sh @p='test_lowacc.sh'; \ b='test_lowacc.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_dft_hybrid.sh.log: test_dft_hybrid.sh @p='test_dft_hybrid.sh'; \ b='test_dft_hybrid.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_dft_pure.sh.log: test_dft_pure.sh @p='test_dft_pure.sh'; \ b='test_dft_pure.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_dft_hicu.sh.log: test_dft_hicu.sh @p='test_dft_hicu.sh'; \ b='test_dft_hicu.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_dft_sparse.sh.log: test_dft_sparse.sh @p='test_dft_sparse.sh'; \ b='test_dft_sparse.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_dipole_moment.sh.log: test_dipole_moment.sh @p='test_dipole_moment.sh'; \ b='test_dipole_moment.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_ext_elec_field.sh.log: test_ext_elec_field.sh @p='test_ext_elec_field.sh'; \ b='test_ext_elec_field.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_extracharges.sh.log: test_extracharges.sh @p='test_extracharges.sh'; \ b='test_extracharges.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_fmm.sh.log: test_fmm.sh @p='test_fmm.sh'; \ b='test_fmm.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_fmm_b3lyp.sh.log: test_fmm_b3lyp.sh @p='test_fmm_b3lyp.sh'; \ b='test_fmm_b3lyp.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_fmm_camb3lyp.sh.log: test_fmm_camb3lyp.sh @p='test_fmm_camb3lyp.sh'; \ b='test_fmm_camb3lyp.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_ghost.sh.log: test_ghost.sh @p='test_ghost.sh'; \ b='test_ghost.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_gradient.sh.log: test_gradient.sh @p='test_gradient.sh'; \ b='test_gradient.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_input_args.sh.log: test_input_args.sh @p='test_input_args.sh'; \ b='test_input_args.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_hf.sh.log: test_hf.sh @p='test_hf.sh'; \ b='test_hf.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_hf_acc.sh.log: test_hf_acc.sh @p='test_hf_acc.sh'; \ b='test_hf_acc.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_6_d_funcs.sh.log: test_6_d_funcs.sh @p='test_6_d_funcs.sh'; \ b='test_6_d_funcs.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_hf_blsz1.sh.log: test_hf_blsz1.sh @p='test_hf_blsz1.sh'; \ b='test_hf_blsz1.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_hf_blsz2.sh.log: test_hf_blsz2.sh @p='test_hf_blsz2.sh'; \ b='test_hf_blsz2.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_hf_fd.sh.log: test_hf_fd.sh @p='test_hf_fd.sh'; \ b='test_hf_fd.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_brh.sh.log: test_brh.sh @p='test_brh.sh'; \ b='test_brh.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_lr_exc.sh.log: test_lr_exc.sh @p='test_lr_exc.sh'; \ b='test_lr_exc.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_lr_exc_hf.sh.log: test_lr_exc_hf.sh @p='test_lr_exc_hf.sh'; \ b='test_lr_exc_hf.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_lr_pol.sh.log: test_lr_pol.sh @p='test_lr_pol.sh'; \ b='test_lr_pol.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_mixedbasis.sh.log: test_mixedbasis.sh @p='test_mixedbasis.sh'; \ b='test_mixedbasis.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_roks.sh.log: test_roks.sh @p='test_roks.sh'; \ b='test_roks.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_uhf.sh.log: test_uhf.sh @p='test_uhf.sh'; \ b='test_uhf.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) test_ci.sh.log: test_ci.sh @p='test_ci.sh'; \ b='test_ci.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: all all-am check check-TESTS check-am clean clean-generic \ cscopelist-am ctags-am distclean distclean-generic distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am recheck tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/test/functions0000664000175000017500000001416012743400275012160 00000000000000#!/bin/sh # Prefer gawk - we know exactly what it can do. # awk on Sun does not support functions, need to use nawk for this if gawk '{print 1}' /dev/null 2>&1; then AWK=gawk elif nawk '{print 1}' /dev/null 2>&1; then AWK=nawk else AWK=awk fi # check_final_energy: # $1 - expected energy # $2 - max deviation check_final_energy() { [ "$2" = "" ] && echo "not enough parameters to check_final_energy." $AWK 'function e(v,r){#print "check_final_energy: checking ",v, r; return(v>r||v<-r)} /FINAL ENERGY/{c=1; printf "computed %15.9f\nreference %15.9f\n", $4, '$1'; exit (e($4-('$1'),'$2'))} END{if(!c) exit(1)} ' ergoscf.out } # check_dipole: (checking dipole moment from SCF calculation) # $1 - x, y, or z # $2 - expected dipole moment component # $3 - max deviation check_dipole() { [ "$3" = "" ] && echo "not enough parameters to check_dipole." $AWK 'function e(v,r){#print "check_dipole: checking ",v, r; return(v>r||v<-r)} /INSC SCF: dipole_moment_'$1'/{c=1; printf "computed %15.9f\nreference %15.9f\n", $7, '$2'; exit (e($7-('$2'),'$3'))} END{if(!c) exit(1)} ' ergoscf.out } # check_dipole_ci: (checking dipole moment from CI calculation) # $1 - x, y, or z # $2 - expected dipole moment component # $3 - max deviation check_dipole_ci() { [ "$3" = "" ] && echo "not enough parameters to check_dipole_ci." $AWK 'function e(v,r){#print "check_dipole_ci: checking ",v, r; return(v>r||v<-r)} /INCI CI: dipole_moment_'$1'/{c=1; printf "computed %15.9f\nreference %15.9f\n", $7, '$2'; exit (e($7-('$2'),'$3'))} END{if(!c) exit(1)} ' ergoscf.out } # check_mulliken_charge: # $1 - atom index # $2 - expected Mulliken atomic charge # $3 - max deviation check_mulliken_charge() { [ "$3" = "" ] && echo "not enough parameters to check_mulliken_charge." $AWK 'function e(v,r){#print "check_mulliken_charge: checking ",v, r; return(v>r||v<-r)} /INSC Mulliken charge of atom '$1'/{c=1; printf "computed %15.9f\nreference %15.9f\n", $8, '$2'; exit (e($8-('$2'),'$3'))} END{if(!c) exit(1)} ' ergoscf.out } # check_mulliken_spin: # $1 - atom index # $2 - expected Mulliken atomic spin density # $3 - max deviation check_mulliken_spin() { [ "$3" = "" ] && echo "not enough parameters to check_mulliken_spin." $AWK 'function e(v,r){#print "check_mulliken_spin: checking ",v, r; return(v>r||v<-r)} /INSC Mulliken spin density of atom '$1'/{c=1; printf "computed %15.9f\nreference %15.9f\n", $9, '$2'; exit (e($9-('$2'),'$3'))} END{if(!c) exit(1)} ' ergoscf.out } # check_final_ci_energy: # $1 - expected CI energy # $2 - max deviation check_final_ci_energy() { [ "$2" = "" ] && echo "not enough parameters to check_final_ci_energy." $AWK 'function e(v,r){#print "check_final_energy: checking ",v, r; return(v>r||v<-r)} /FINAL CI ENERGY/{c=1; printf "computed %15.9f\nreference %15.9f\n", $6, '$1'; exit (e($6-('$1'),'$2'))} END{if(!c) exit(1)} ' ergoscf.out } # check_final_ci_corr_energy: # $1 - expected CI correlation energy # $2 - max deviation check_final_ci_corr_energy() { [ "$2" = "" ] && echo "not enough parameters to check_final_ci_corr_energy." $AWK 'function e(v,r){#print "check_final_energy: checking ",v, r; return(v>r||v<-r)} /FINAL CI CORRELATION ENERGY/{c=1; printf "computed %15.9f\nreference %15.9f\n", $7, '$1'; exit (e($7-('$1'),'$2'))} END{if(!c) exit(1)} ' ergoscf.out } # check_final_S2: # $1 - expected # $2 - max deviation check_final_S2() { [ "$2" = "" ] && echo "not enough parameters to check_final_S2." $AWK 'function e(v,r){#print "check_final_S2: checking ",v, r; return(v>r||v<-r)} /FINAL /{c=1; printf "computed %15.9f\nreference %15.9f\n", $5, '$1'; exit (e($5-('$1'),'$2'))} END{if(!c) exit(1)} ' ergoscf.out } # check_tdhf_dipole_at_time # $1 - time as integer # $2 - expected dipole value at that time # $3 - max deviation check_tdhf_dipole_at_time() { [ "$3" = "" ] && echo "not enough parameters for check_tdhf_dipole_at_time." # echo check_tdhf_dipole_at_time, params: $1 $2 $3 $AWK 'function e(v,r){return(v>r||v<-r)} function valwithreversedsign(v){return(-v)} /^INED Data for dipole plot/ && $6=='$1'{c=1; printf "computed %15.9f\nreference %15.9f\n", $7, valwithreversedsign('$2'); exit (e($7-(valwithreversedsign('$2')),'$3'))} END{if(!c) { print "Not found";exit(1)}} ' ergoscf.out } # check_lr_eigenvalue: # $1 - eigenvalue number # $2 - expected eigenvalue # $3 - max deviation check_lr_eigenvalue() { [ "$3" = "" ] && echo "not enough parameters to check_lr_eigenvalue." $AWK 'function e(v,r){return(v>r||v<-r)} /^ERMA Eigenvalue / && $3=="'$1':"{c=1; printf "computed %15.9f\nreference %15.9f\n", $4, '$2'; exit (e($4-('$2'),'$3'))} END{if(!c) { print "Not found";exit(1)}} ' ergoscf.out } # check_polarisability: # $1 - left-hand-side operator (X,Y,Z) # $2 - right-hand-side operator (X,Y,Z) # $3 - frequency # $4 - reference value # $5 - max deviation check_polarisability() { [ "$5" = "" ] && echo "not enough parameters to check_polarizability." $AWK 'function e(v,r){return(v>r||v<-r)} /^REMA Response / && $4 == "'$1'" && $6 == "'$2'" && $10 ~ /^'$3'0*:/ { c=1; #print;printf "computed %15.9f\nreference %15.9f\n", $11, '$4'; exit (e($11-('$4'),'$5'))} END{if(!c) { print "Not found";exit(1)}} ' ergoscf.out } # check_gradient_component_by_finite_diff: # $1 - atom index to check # $2 - coord index to check ( 0 1 2 <--> x y z ) # $3 - epsilon (diff in coords used for finite difference) # $4 - max deviation check_gradient_component_by_finite_diff() { [ "$2" = "" ] && echo "not enough parameters to check_final_energy." $AWK 'function e(v,r){#print "check_gradient_component_by_finite_diff: checking ",v, r; return(v>r||v<-r)} BEGIN {c = 0} /FINAL ENERGY/{c++; vec[c] = $4} /INSC Atom / && $3=="'$1':" {gradvalues[0] = $4 ; gradvalues[1] = $5 ; gradvalues[2] = $6} END {gradientvaluefd = (vec[1]-vec[2])/(2*'$3') ; printf "computed %13.9f\nfinite-diff value %13.9f\n", gradientvaluefd, gradvalues['$2']; exit (e(gradientvaluefd-gradvalues['$2'], '$4'))} ' ergoscf.out.sav1 ergoscf.out.sav2 ergoscf.out.gradient } # print_sum_of_values: # $1 - first value # $2 - second value print_sum_of_values() { [ "$2" = "" ] && echo "not enough parameters to print_sum_of_values." $AWK 'BEGIN {printf "%18.12f\n", '$1'+'$2'}' } ergo-3.5/test/Makefile.am0000664000175000017500000000300712743400275012257 00000000000000EXTRA_DIST = \ functions \ test_6_d_funcs.sh \ test_all.sh \ test_ci.sh \ test_dft_hybrid.sh \ test_dft_pure.sh \ test_dft_hicu.sh \ test_dft_sparse.sh \ test_dipole_moment.sh \ test_ext_elec_field.sh \ test_extracharges.sh \ test_fmm.sh \ test_fmm_b3lyp.sh \ test_fmm_camb3lyp.sh \ test_ghost.sh \ test_gradient.sh \ test_h2o_1000.sh \ test_h2o_125_hf.sh \ test_h2o_125_b3lyp.sh \ test_h2o_125_blyp.sh \ test_h2o_216_hf.sh \ test_h2o_216_b3lyp.sh \ test_h2o_216_blyp.sh \ test_gluala2_hf.sh \ test_gluala2_b3lyp.sh \ test_gluala2_blyp.sh \ test_input_args.sh \ test_hf.sh \ test_hf_acc.sh \ test_hf_blsz1.sh \ test_hf_blsz2.sh \ test_hf_fd.sh \ test_brh.sh \ test_lowacc.sh \ test_lr_exc.sh \ test_lr_exc_hf.sh \ test_lr_pol.sh \ test_mixedbasis.sh \ test_roks.sh \ test_tdhf_dynamics.sh \ test_uhf.sh TESTS_ENVIRONMENT = top_builddir=$(top_builddir) top_srcdir=$(top_srcdir) \ KEEP=$(KEEP) TESTS = \ test_tdhf_dynamics.sh \ test_lowacc.sh \ test_dft_hybrid.sh \ test_dft_pure.sh \ test_dft_hicu.sh \ test_dft_sparse.sh \ test_dipole_moment.sh \ test_ext_elec_field.sh \ test_extracharges.sh \ test_fmm.sh \ test_fmm_b3lyp.sh \ test_fmm_camb3lyp.sh \ test_ghost.sh \ test_gradient.sh \ test_input_args.sh \ test_hf.sh \ test_hf_acc.sh \ test_6_d_funcs.sh \ test_hf_blsz1.sh \ test_hf_blsz2.sh \ test_hf_fd.sh \ test_brh.sh \ test_lr_exc.sh \ test_lr_exc_hf.sh \ test_lr_pol.sh \ test_mixedbasis.sh \ test_roks.sh \ test_uhf.sh \ test_ci.sh ergo-3.5/test/test_input_args.sh0000775000175000017500000001036412743400275014000 00000000000000#!/bin/sh currtestdirname=tmpdir_test_input_args if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.inputargs echo echo Testing nh3[+] UHF/6-31G** with -e arguments and regular input file rm -f ergoscf.out echo molecule_inline Angstrom > tmp_ergo_arg_test_input_file.ego echo N 0.000000 0.000000 0.000000 >> tmp_ergo_arg_test_input_file.ego echo H 0.000000 0.000000 1.012316 >> tmp_ergo_arg_test_input_file.ego echo H 0.969771 0.000000 -0.290392 >> tmp_ergo_arg_test_input_file.ego echo H -0.390071 0.887881 -0.290336 >> tmp_ergo_arg_test_input_file.ego echo EOF >> tmp_ergo_arg_test_input_file.ego echo basis = \"6-31Gss\" >> tmp_ergo_arg_test_input_file.ego echo run \"HF\" >> tmp_ergo_arg_test_input_file.ego ./ergo -e "charge = 1" -e "spin_polarization = 1" tmp_ergo_arg_test_input_file.ego > /dev/null if check_final_energy -55.8546235 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi if check_final_S2 0.757013 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi # Do the same test again, but this time with the molecule specified using a -m argument echo Testing nh3[+] UHF/6-31G** with -e args, -m molecule arg, and regular input file rm -f ergoscf.out echo 4 > tmp_ergo_arg_test_mol.xyz echo >> tmp_ergo_arg_test_mol.xyz echo N 0.000000 0.000000 0.000000 >> tmp_ergo_arg_test_mol.xyz echo H 0.000000 0.000000 1.012316 >> tmp_ergo_arg_test_mol.xyz echo H 0.969771 0.000000 -0.290392 >> tmp_ergo_arg_test_mol.xyz echo H -0.390071 0.887881 -0.290336 >> tmp_ergo_arg_test_mol.xyz echo basis = \"6-31Gss\" > tmp_ergo_arg_test_input_file.ego echo run \"HF\" >> tmp_ergo_arg_test_input_file.ego ./ergo -m tmp_ergo_arg_test_mol.xyz -e "charge = 1" -e "spin_polarization = 1" tmp_ergo_arg_test_input_file.ego > /dev/null if check_final_energy -55.8546235 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi if check_final_S2 0.757013 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi # Do the same test again, but this time with two different input files echo Testing nh3[+] UHF/6-31G** with -e arguments and two input files rm -f ergoscf.out echo molecule_inline Angstrom > tmp_ergo_arg_test_input_file_1.ego echo N 0.000000 0.000000 0.000000 >> tmp_ergo_arg_test_input_file_1.ego echo H 0.000000 0.000000 1.012316 >> tmp_ergo_arg_test_input_file_1.ego echo H 0.969771 0.000000 -0.290392 >> tmp_ergo_arg_test_input_file_1.ego echo H -0.390071 0.887881 -0.290336 >> tmp_ergo_arg_test_input_file_1.ego echo EOF >> tmp_ergo_arg_test_input_file_1.ego echo basis = \"6-31Gss\" > tmp_ergo_arg_test_input_file_2.ego echo run \"HF\" >> tmp_ergo_arg_test_input_file_2.ego ./ergo -e "charge = 1" -e "spin_polarization = 1" tmp_ergo_arg_test_input_file_1.ego tmp_ergo_arg_test_input_file_2.ego > /dev/null if check_final_energy -55.8546235 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi if check_final_S2 0.757013 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo Input arguments tests completed successfully! echo ergo-3.5/test/test_fmm_b3lyp.sh0000775000175000017500000000327012743400275013513 00000000000000#!/bin/sh currtestdirname=tmpdir_test_fmm_b3lyp if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.fmmb3lyp echo echo Testing four_h2o B3LYP/6-31G using FMM and g03-style B3LYP rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom H 8.675000 0.000000 -16.640000 H 9.579936 0.000000 -17.920455 H 7.203213 0.037757 -17.673336 H 8.108149 0.037757 -18.953791 H 9.241330 0.571501 -2.493601 H 10.146266 0.571501 -3.774055 H 7.134485 0.659897 -2.982496 H 8.039421 0.659897 -4.262951 O 8.675000 0.000000 -17.600000 O 7.203213 0.037757 -18.633336 O 9.241330 0.571501 -3.453601 O 7.134485 0.659897 -3.942496 EOF basis = "6-31G" scf.convergence_threshold = 1e-6 XC.sparse_mode=1 XC.radint=1e-10 XC.angint = 34 run "B3LYP-G" EOINPUT if check_final_energy -305.3893598 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo FMM B3LYP tests completed successfully! echo ergo-3.5/test/test_ext_elec_field.sh0000775000175000017500000000506012743400275014555 00000000000000#!/bin/sh currtestdirname=tmpdir_test_ext_elec_field if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.extelecfield echo echo Testing cnof HF/STO-3G, no field rm -f ergoscf.out ./ergo < /dev/null molecule_inline C 0.0 0.0 0.0 N 1.3 0.2 0.4 O 1.5 -0.4 2.0 F -0.9 2.0 0.5 EOF basis = "STO-3G" run "HF" EOINPUT if check_final_energy -260.0484296 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing cnof HF/STO-3G, field in X direction rm -f ergoscf.out ./ergo < /dev/null molecule_inline C 0.0 0.0 0.0 N 1.3 0.2 0.4 O 1.5 -0.4 2.0 F -0.9 2.0 0.5 EOF basis = "STO-3G" scf.electric_field_x = 0.02 run "HF" EOINPUT if check_final_energy -260.0522823 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing cnof HF/STO-3G, field in Y direction rm -f ergoscf.out ./ergo < /dev/null molecule_inline C 0.0 0.0 0.0 N 1.3 0.2 0.4 O 1.5 -0.4 2.0 F -0.9 2.0 0.5 EOF basis = "STO-3G" scf.electric_field_y = 0.03 run "HF" EOINPUT if check_final_energy -260.0445127 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing cnof HF/STO-3G, field in Z direction rm -f ergoscf.out ./ergo < /dev/null molecule_inline C 0.0 0.0 0.0 N 1.3 0.2 0.4 O 1.5 -0.4 2.0 F -0.9 2.0 0.5 EOF basis = "STO-3G" scf.electric_field_z = -0.06 run "HF" EOINPUT if check_final_energy -260.0498294 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin cd .. rm -r $currtestdirname echo echo External electric field tests completed successfully! echo ergo-3.5/test/test_dft_hicu.sh0000775000175000017500000000534012743400275013410 00000000000000#!/bin/sh currtestdirname=tmpdir_test_dft_hicu if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.dfthicu echo echo Testing twisted h2o BLYP/6-31G** with HiCu grid rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.3 0.11 0.23 H -1.89 0.18 -0.07 H 0.55 1.66 0.27 EOF basis = "6-31Gss" XC.type="HICU" scf.convergence_threshold = 1e-6 run "BLYP" EOINPUT if check_final_energy -76.3474656 8e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing H4 BHandHLYP/cc-pVDZ with HiCu grid rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 2.0 3.0 12.02 H 2.7 3.4 12.16 H 2.2 3.7 11.85 H 2.1 3.1 12.74 EOF basis = "cc-pVDZ" XC.sparse_mode=1 XC.type="HICU" scf.convergence_threshold = 1e-6 run "BHandHLYP" EOINPUT if check_final_energy -0.2614294 5e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing H2 BPW91/cc-pVTZ with HiCu grid rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 2.0 3.0 11.12 H 2.5 3.2 11.31 EOF basis = "cc-pVTZ" scf.min_number_of_iterations = 2 scf.convergence_threshold = 1e-6 XC.type="HICU" run "BPW91" EOINPUT if check_final_energy -0.7042593 2e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing c2h8 LDA/4-31G with sparse XC and HiCu grid rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom C 0.0 0.0 0.0 C 0.0 0.0 10.0 H 0.000000 0.000000 1.084800 H 1.022759 0.000000 -0.361600 H -0.511380 0.885735 -0.361600 H -0.511380 -0.885735 -0.361600 H 0.000000 0.000000 11.084800 H 1.022759 0.000000 9.638400 H -0.511380 0.885735 9.638400 H -0.511380 -0.885735 9.638400 EOF basis = "4-31G" XC.sparse_mode = 1 XC.type="HICU" run "LDA" EOINPUT if check_final_energy -80.097373423 3e-4 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo DFT HiCu grid tests completed successfully! echo ergo-3.5/test/test_lr_exc_hf.sh0000775000175000017500000000336012743400275013554 00000000000000#!/bin/sh currtestdirname=tmpdir_test_lr_exc_hf if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.lrhf echo echo Testing CNOF HF/STO-2G rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom C 0.0 0.0 0.0 C 0.0 0.0 10.0 H 0.000000 0.000000 1.084800 H 1.022759 0.000000 -0.361600 H -0.511380 0.885735 -0.361600 H -0.511380 -0.885735 -0.361600 H 0.000000 0.000000 11.084800 H 1.022759 0.000000 9.638400 H -0.511380 0.885735 9.638400 H -0.511380 -0.885735 9.638400 EOF basis = "4-31G" XC.sparse_mode = 1 run "LDA" EOINPUT if check_final_energy -80.097373423 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o BLYP/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF basis = "6-31Gss" XC.sparse_mode = 1 XC.radint=1e-13 XC.type="LMG" run "BLYP" EOINPUT if check_final_energy -76.396247 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo Sparse DFT tests completed successfully! echo ergo-3.5/test/test_tdhf_dynamics.sh0000775000175000017500000001332212743400275014436 00000000000000#!/bin/sh currtestdirname=tmpdir_test_tdhf_dynamics if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.tdhfdynamics echo echo Testing H2 HF/6-311++Gss followed by TDHF electron dynamics rm -f ergoscf.out ./ergo < $i failed." break fi done echo $s tests performed. ergo-3.5/test/test_brh.sh0000775000175000017500000000500612743400275012375 00000000000000#!/bin/sh currtestdirname=tmpdir_test_brh if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.brh echo echo Testing BrH, HF/STO-3G rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom Br 0.0000 0.0000 0.0000 H 0.6731 -0.2281 -1.2649 EOF basis = "STO-3G" run "HF" EOINPUT if check_final_energy -2545.2272426 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing BrH, HF/STO-3G, with use_6_d_functions rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom Br 0.0000 0.0000 0.0000 H 0.6731 -0.2281 -1.2649 EOF basis = "STO-3G" use_6_d_functions = 1 run "HF" EOINPUT if check_final_energy -2546.0959772 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing BrH, HF/3-21G rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom Br 0.0000 0.0000 0.0000 H 0.6731 -0.2281 -1.2649 EOF basis = "3-21G" run "HF" EOINPUT if check_final_energy -2560.6153595 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing BrH, HF/3-21G, with use_6_d_functions rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom Br 0.0000 0.0000 0.0000 H 0.6731 -0.2281 -1.2649 EOF basis = "3-21G" use_6_d_functions = 1 run "HF" EOINPUT if check_final_energy -2560.6206445 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing BrH, HF/6-311G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom Br 0.0000 0.0000 0.0000 H 0.6731 -0.2281 -1.2649 EOF basis = "6-311Gss" run "HF" EOINPUT if check_final_energy -2572.9546129 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo BrH \(Hydrogen bromide\) tests completed successfully! echo ergo-3.5/test/test_ghost.sh0000775000175000017500000000255412743400275012753 00000000000000#!/bin/sh currtestdirname=tmpdir_test_ghost if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.ghost echo echo Testing h2o HF/6-31G** with extra basis funcs from ghost molecule rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom O 0.457627840 -0.311951930 0.082447166 H 0.457627840 0.594655950 -0.201387561 H -0.302917789 -0.472814751 0.628518998 EOF basis = "6-31Gss" ghost_inline Angstrom O -0.463040796 0.126316403 2.021879464 H -0.463040796 -0.809137147 2.187489411 H 0.381674058 0.386221704 1.673444396 EOF ghost_basis = "6-31Gss" run "HF" EOINPUT if check_final_energy -76.0259735062 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo Ghost-molecule tests completed successfully! echo ergo-3.5/test/test_lr_pol.sh0000775000175000017500000001131412743400275013110 00000000000000#!/bin/sh currtestdirname=tmpdir_test_lr_pol if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.lr_pol echo echo Testing NH3 SVWN5/4-31G polarizability rm -f ergoscf.out ./ergo < /dev/null molecule_inline C 0.0 0.0 0.0 N 1.3 0.2 0.4 O 1.5 -0.4 2.0 F -0.9 2.0 0.5 EOF basis = "STO-2G" XC.sparse_mode=1 scf.convergence_threshold = 1e-6 XC.radint=1e-10 run "BLYP" EOINPUT if check_final_energy -253.0730954 2e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing h2o BLYP/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF basis = "6-31Gss" XC.type="LMG" XC.radint = 1e-13 run "BLYP" EOINPUT if check_final_energy -76.396247 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing cnof BLYP/6-31G rm -f ergoscf.out ./ergo < /dev/null molecule_inline C 0.0 0.0 0.0 N 1.3 0.2 0.4 O 1.5 -0.4 2.0 F -0.9 2.0 0.5 EOF basis = "6-31G" XC.sparse_mode=1 scf.convergence_threshold = 1e-6 XC.radint=1e-11 run "BLYP" EOINPUT if check_final_energy -265.352229094 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi echo Testing nh3[+] UBLYP/6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom N 0.000000 0.000000 0.000000 H 0.000000 0.000000 1.012316 H 0.969771 0.000000 -0.290392 H -0.390071 0.887881 -0.290336 EOF charge = 1 spin_polarization = 1 basis = "6-31Gss" run "BLYP" EOINPUT if check_final_energy -56.1382272 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi if check_final_S2 0.752002 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo Pure DFT tests completed successfully! echo ergo-3.5/test/test_roks.sh0000775000175000017500000000422212743400275012577 00000000000000#!/bin/sh currtestdirname=tmpdir_test_roks if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.roks echo echo Testing Li ROHF 3-21G rm -f ergoscf.out ./ergo < /dev/null molecule_inline Li 0 0 0 EOF basis = "3-21G" spin_polarization = 1 scf.min_number_of_iterations = 2 scf.force_restricted = 1 run "HF" EOINPUT if check_final_energy -7.381510983 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out density.bin echo Testing O2 SVWN5/6-31Gss rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0 0 0 O 0 0 2.2810 EOF basis = "6-31Gss" spin_polarization=2 scf.force_restricted = 1 XC.radint = 1e-9 XC.angint = 30 XC.angmin = 6 XC.type = "LMG" run "LDA" EOINPUT if check_final_energy -149.250773843 1e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out density.bin echo Testing H2O[+] B3LYP/6-31Gss rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom O -0.034119 0.000000 -0.287789 H 0.798604 0.000000 0.168673 H -0.764486 0.000000 0.319117 EOF basis = "6-31Gss" charge = 1 spin_polarization = 1 scf.force_restricted = 1 #use_simple_starting_guess = 1 XC.type="GC2" XC.radint = 1e-9 XC.angint = 30 XC.angmin = 6 scf.convergence_threshold = 1e-5 use_simple_starting_guess = 1 run "B3LYP" EOINPUT if check_final_energy -75.860561961 4e-7 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo Restricted Open-shell tests completed successfully! echo ergo-3.5/test/test_fmm_camb3lyp.sh0000775000175000017500000000514712743400275014201 00000000000000#!/bin/sh currtestdirname=tmpdir_test_fmm_camb3lyp if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo if test `./ergo -e precision` = 'single'; then echo SKIPPED exit 0 fi errorfilename=ergoscf.out.error.fmmcamb3lyp echo echo Testing four_h2o CAMB3LYP/6-31G using FMM rm -f ergoscf.out ./ergo < /dev/null molecule_inline Angstrom H 8.675000 0.000000 -16.640000 H 9.579936 0.000000 -17.920455 H 7.203213 0.037757 -17.673336 H 8.108149 0.037757 -18.953791 H 9.241330 0.571501 -2.493601 H 10.146266 0.571501 -3.774055 H 7.134485 0.659897 -2.982496 H 8.039421 0.659897 -4.262951 O 8.675000 0.000000 -17.600000 O 7.203213 0.037757 -18.633336 O 9.241330 0.571501 -3.453601 O 7.134485 0.659897 -3.942496 EOF basis = "6-31G" XC.sparse_mode=1 XC.radint=1e-11 XC.angint = 34 run "CAMB3LYP" EOINPUT if check_final_energy -305.2790607 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing cnof CAMB3LYP/6-31G using FMM rm -f ergoscf.out ./ergo < /dev/null molecule_inline C 0.0 0.0 0.0 N 1.3 0.2 0.4 O 1.5 -0.4 2.0 F -0.9 2.0 0.5 EOF basis = "6-31G" XC.sparse_mode=1 XC.radint=1e-10 XC.angint = 34 run "CAMB3LYP" EOINPUT if check_final_energy -265.31129062 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing h2o CAMB3LYP/cc-pVDZ using FMM rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF basis = "cc-pVDZ" XC.sparse_mode=1 XC.radint=1e-10 XC.angint = 34 run "CAMB3LYP" EOINPUT if check_final_energy -76.391777086 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi cd .. rm -r $currtestdirname echo echo FMM CAMB3LYP tests completed successfully! echo ergo-3.5/test/test_lowacc.sh0000775000175000017500000000727312743400275013102 00000000000000#!/bin/sh currtestdirname=tmpdir_test_lowacc if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi . "$top_srcdir"/test/functions # Run each test in a separate directory, to allow "make check -j" to work properly. currdir=`pwd` ; cd $top_builddir ; top_builddir_pwd=`pwd` ; cd $currdir rm -rf $currtestdirname ; mkdir $currtestdirname ; cd $currtestdirname ln -s "$top_builddir_pwd"/source/ergo ./ergo errorfilename=ergoscf.out.error.lowacc echo echo Testing H UHF STO-3G rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 0 0 0 EOF basis = "STO-3G" charge = 0 spin_polarization = 1 use_simple_starting_guess = 0 scf.use_diag_on_error = 0 scf.min_number_of_iterations = 2 J_K.use_fmm = 0 run "HF" EOINPUT if check_final_energy -0.4665819 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing H UHF 6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 0 0 0 EOF basis = "6-31Gss" charge = 0 spin_polarization = 1 use_simple_starting_guess = 0 scf.use_diag_on_error = 0 scf.use_diag_on_error_guess = 0 scf.purification_eigvalue_err_limit = 1e-5 scf.purification_subspace_err_limit = 1e-3 J_K.use_fmm = 0 run "HF" EOINPUT if check_final_energy -0.4982329 1e-5 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing H2[+] UHF STO-3G rm -f ergoscf.out ./ergo < /dev/null molecule_inline H 0 0 0 H 0 1.4 0 EOF basis = "STO-3G" charge = 1 spin_polarization = 1 use_simple_starting_guess = 0 scf.use_diag_on_error = 0 scf.purification_eigvalue_err_limit = 1e-6 scf.purification_subspace_err_limit = 1e-4 J_K.use_fmm = 0 run "HF" EOINPUT if check_final_energy -0.5385113 1e-6 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing h2o HF 6-31G** rm -f ergoscf.out ./ergo < /dev/null molecule_inline O 0.0 0.0 0.0 H -1.809 0.0 0.0 H 0.453549 1.751221 0.0 EOF basis = "6-31Gss" scf.convergence_threshold = 2e-3 scf.purification_eigvalue_err_limit = 1e-4 scf.purification_subspace_err_limit = 1e-2 scf.use_diag_on_error = 0 run "HF" EOINPUT if check_final_energy -76.0226431 1e-4 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing Be[-] UHF STO-2G rm -f ergoscf.out ./ergo < /dev/null molecule_inline Be 0 0 0 EOF basis = "STO-2G" charge = -1 spin_polarization = 1 scf.convergence_threshold = 1e-5 scf.purification_eigvalue_err_limit = 1e-5 scf.purification_subspace_err_limit = 1e-3 scf.use_diag_on_error = 1 scf.min_number_of_iterations = 2 run "HF" EOINPUT if check_final_energy -13.6625792 1e-4 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin echo Testing Be[-] UHF 6-31G* rm -f ergoscf.out ./ergo < /dev/null molecule_inline Be 0 0 0 EOF basis = "6-31Gs" charge = -1 scf.convergence_threshold = 1e-4 scf.purification_eigvalue_err_limit = 1e-4 scf.purification_subspace_err_limit = 1e-2 scf.use_diag_on_error = 1 spin_polarization = 1 run "HF" EOINPUT if check_final_energy -14.4939039 1e-4 ; then echo OK else echo ERROR mv ergoscf.out $errorfilename echo output file saved as $errorfilename exit 1 fi rm ergoscf.out rm density.bin cd .. rm -r $currtestdirname echo echo Low accuracy tests completed successfully! echo ergo-3.5/configure.ac0000664000175000017500000002670512743400307011540 00000000000000# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) AC_INIT(ERGO, 3.5, [info@ergoscf.org]) AM_INIT_AUTOMAKE # Automake-1.11 option for less verbose output # configure --disable-silent-rules to restore verbose or run "make V=1" m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) AC_CONFIG_SRCDIR([source/ergo_scripted.cc]) AC_CONFIG_HEADER([source/config.h]) if test "x$prefix" = "xNONE"; then prefix=/usr/local fi dnl ##################################################################### dnl 2. Options dnl ##################################################################### AC_MSG_CHECKING(which precision to use) precision_flag=DOUBLE AC_ARG_WITH(precision, AC_HELP_STRING([--with-precision=(single|double|long)], [Which precision should be used (default: double)]), [ case "$with_precision" in s*) precision_flag=SINGLE;; l*) precision_flag=LONG_DOUBLE;; *) precision_flag=DOUBLE;; esac]) if test $precision_flag = LONG_DOUBLE; then AC_DEFINE(PRECISION_LONG_DOUBLE, 1,[which precision should be used]) ergo_cv_precision=3 fi if test $precision_flag = SINGLE; then AC_DEFINE(PRECISION_SINGLE, 1,[which precision should be used]) ergo_cv_precision=1 fi if test $precision_flag = DOUBLE; then AC_DEFINE(PRECISION_DOUBLE, 1,[which precision should be used]) ergo_cv_precision=2 fi AC_MSG_RESULT($precision_flag) AC_DEFINE_UNQUOTED(FUNC_PRECISION, $ergo_cv_precision, [XC functionals' precision]) AC_ARG_WITH(goto, AC_HELP_STRING([--with-goto=PATH_TO_GOTOLIB], [Specify the file containing the Goto's BLAS library.])) ergo_cv_werror=auto AC_ARG_ENABLE(critical-warnings, AC_HELP_STRING([--disable-critical-warnings], [Continue compiling even if warnings are emitted (default=auto)]), [if test x$enableval = xno -o x$enableval = xyes; then ergo_cv_werror=$enableval; fi]) ergo_cv_performance=no AC_ARG_ENABLE(performance, AC_HELP_STRING([--enable-performance], [Compile for performance]), [if test x$enableval = xyes; then ergo_cv_performance=yes; fi]) ergo_cv_linalg_templates=no AC_ARG_ENABLE(linalgebra-templates, AC_HELP_STRING([--enable-linalgebra-templates], [Use C++ Linear Algebra Template Library (BLAS+LAPACK) (default=no)]), [if test x$enableval = xyes; then ergo_cv_linalg_templates=yes; fi]) AC_MSG_CHECKING(whether to use internal linear algebra template library) if test x$ergo_cv_linalg_templates = xyes; then if test "$with_goto" != ""; then AC_ERROR([--enable-linalgebra-templates conflicts with --with-goto]) fi AC_DEFINE(USE_LINALG_TEMPLATES, 1,[Use C++ Linear Algebra Template Library]) fi AC_MSG_RESULT($ergo_cv_linalg_templates) ergo_cv_sse_intrinsics=no AC_ARG_ENABLE(sse-intrinsics, AC_HELP_STRING([--enable-sse-intrinsics], [Use SSE intrinsics to generate efficient computational kernels (only possible with some compilers/architectures) (default=no)]), [if test x$enableval = xyes; then ergo_cv_sse_intrinsics=yes; fi]) AC_MSG_CHECKING(whether to use SSE intrinsics to generate efficient computational kernels) if test x$ergo_cv_sse_intrinsics = xyes; then AC_DEFINE(USE_SSE_INTRINSICS, 1,[Use SSE intrinsics to generate efficient computational kernels]) fi AC_MSG_RESULT($ergo_cv_sse_intrinsics) dnl ##################################################################### dnl 3. Programs: compilers and their options. dnl ##################################################################### # Checks for programs. AC_PROG_CC([icc pgcc cc gcc]) AC_PROG_CXX([icpc pgcpp c++ g++]) dnl AC_PROG_F77([ifort efc xlf g77]) AC_PROG_RANLIB AC_PROG_LEX AC_PROG_YACC # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([limits.h memory.h stddef.h stdlib.h string.h strings.h sys/time.h unistd.h]) if test "$ergo_cv_performance" != "no"; then for option in -O3 -std=c99 -restrict -fopenmp; do SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $option" AC_MSG_CHECKING([whether gcc understands $option]) AC_TRY_COMPILE([], [], has_option=yes, has_option=no,) if test $has_option = no; then CFLAGS="$SAVE_CFLAGS" fi AC_MSG_RESULT($has_option) unset has_option unset SAVE_CFLAGS done unset option AC_LANG_PUSH([C++]) for option in -O3 -fopenmp; do SAVE_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS $option" AC_MSG_CHECKING([whether c++ understands $option]) AC_TRY_COMPILE([], [], has_option=yes, has_option=no,) if test $has_option = no; then CXXFLAGS="$SAVE_CXXFLAGS" fi AC_MSG_RESULT($has_option) unset has_option unset SAVE_CFLAGS done unset option AC_LANG_POP([C++]) fi # Checks for typedefs, structures, and compiler characteristics. dnl AC_C_CONST is problematic with gcc, do not quite know why yet. AC_C_RESTRICT AC_C_VOLATILE AC_TYPE_SIZE_T # Checks for library functions. AC_FUNC_MALLOC AC_FUNC_REALLOC AC_FUNC_VPRINTF AC_CHECK_FUNCS([atexit floor memset rint strcasecmp strchr strdup strncasecmp]) # Use AC_CHECK_LIB to get math library before doing AC_CHECK_FUNCS for math functions. AC_CHECK_LIB([m],[exp]) AC_CHECK_FUNCS([pow powf powl]) AC_CHECK_FUNCS([sqrt sqrtf sqrtl]) AC_CHECK_FUNCS([fabs fabsf fabsl]) AC_CHECK_FUNCS([exp expf expl]) AC_CHECK_FUNCS([log logf logl]) AC_CHECK_FUNCS([erf erff erfl]) AC_CHECK_FUNCS([erfc erfcf erfcl]) # Checks for libraries. AC_CHECK_LIB([pthread], [pthread_create]) # NOTE: Adding the -Werror flag must be done AFTER checking for library functions. if test "$ergo_cv_werror" = "auto"; then if test -d "$srcdir/.svn"; then ergo_cv_werror=yes else ergo_cv_werror=no fi fi if test "$ergo_cv_werror" != "no"; then # Extra warnings for C code... for option in -Wsign-compare -Wpointer-arith -Wnested-externs \ -Wchar-subscripts -Wuninitialized -Wmissing-prototypes \ -Wreturn-type -Wdeclaration-after-statement -Werror; do SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $option" AC_MSG_CHECKING([whether gcc understands $option]) AC_TRY_COMPILE([], [], has_option=yes, has_option=no,) if test $has_option = no; then CFLAGS="$SAVE_CFLAGS" fi AC_MSG_RESULT($has_option) unset has_option unset SAVE_CFLAGS done unset option AC_LANG_PUSH([C++]) # consider adding -Weffc++ for option in -Wsign-compare -Wpointer-arith \ -Wchar-subscripts -Wuninitialized -Woverloaded-virtual \ -Wreturn-type -Wctor-dtor-privacy -Wnon-virtual-dtor \ -Wreorder -Wdeprecated -Wunused -Werror; do SAVE_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS $option" AC_MSG_CHECKING([whether c++ understands $option]) AC_TRY_COMPILE([], [], has_option=yes, has_option=no,) if test $has_option = no; then CXXFLAGS="$SAVE_CXXFLAGS" fi AC_MSG_RESULT($has_option) unset has_option unset SAVE_CFLAGS done unset option AC_LANG_POP([C++]) fi # Checks for more libraries... blas=0 if test "$with_goto" != ""; then LIBS="$LIBS $with_goto" AC_CHECK_FUNC(dgemm_,,[AC_ERROR([GOTO failed to provide dgemm_])]) AC_CHECK_FUNC([dstevx_],, AC_CHECK_LIB([lapack], [dstevx_], [LIBS="-llapack $LIBS"], [AC_ERROR([GOTO needs lapack. Lapack is not found.])])) ergo_la_lib=GOTO blas=1 elif test x$ergo_cv_linalg_templates = xyes; then ergo_la_lib=internal else dnl AC_F77_LIBRARY_LDFLAGS # FIXME: Replace `main' with a function in `-llapack': AC_CHECK_FUNC(dposv_,, AC_CHECK_LIB([acml],[main],[LIBS="$LIBS -lacml";blas=1;ergo_la_lib=ACML], AC_CHECK_LIB([mkl],[main],[LIBS="$LIBS -lmkl";blas=1;ergo_la_lib=MKL], AC_CHECK_LIB([essl],[main],[LIBS="$LIBS -lessl";blas=1;ergo_la_lib=ESSL], AC_CHECK_LIB(atlas,[main], AC_CHECK_LIB(f77blas, dswap_, LIBS="$LIBS -lf77blas -latlas";blas=1;ergo_la_lib=ATLAS,,-latlas), AC_CHECK_LIB(blas,[dgemm_], LIBS="$LIBS -lblas $FLIBS";ergo_la_lib=generic,,$FLIBS)))) AC_CHECK_LIB([mkl_lapack],[main],, AC_CHECK_LIB([lapack],[dposv_],, dnl ATLAS's lapack may require fortran runtime lib. AC_CHECK_LIB([lapack],[dgesv_],LIBS="-llapack $LIBS -lcblas -latlas $FLIBS", [AC_ERROR([lapack required but not found])],-lcblas $FLIBS)))) ) fi AC_DEFINE_UNQUOTED(USE_BLAS_IN_XC, $blas, [Use BLAS for small matrices in XC integration]) dnl AC_F77_DUMMY_MAIN dnl AC_F77_LIBRARY_LDFLAGS # We have headers and basic libs.. Checks for bugs in compilers... AC_MSG_CHECKING([for 10.0 icpc bug]) AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include #include static int f(int n) { return (n == 0) ? 1 : n*f(n-1); } static void myfunc(int l) { double a = sin(2.2)*f(l), terms; memset(&terms, 0, sizeof(terms)); terms += a; } ]], [[int l,m;for(l=0; l<=2; l++) for(m=-l; m<=l; m++) myfunc(l); return 0;]])], [AC_MSG_RESULT([ok])], [AC_MSG_FAILURE([found. Change compiler to a working one!])], [AC_MSG_RESULT([irrelevant])]) dnl ##################################################################### dnl 7. extra functions. dnl ##################################################################### sprefix=`cd "$srcdir" && pwd` AC_DEFINE_UNQUOTED(ERGO_SPREFIX, "$sprefix", [The location of the sources]) ERGO_DATA_PREFIX=`eval "echo ${datadir}/ergo"` dnl autoconf-2.60 leaves a literal "${prefix}" in ERGO_DATA_PREFIX, so dnl we clean it once more. ERGO_DATA_PREFIX=`eval "echo ${ERGO_DATA_PREFIX}"` AC_DEFINE_UNQUOTED(ERGO_DATA_PREFIX, "$ERGO_DATA_PREFIX", [The location of installed ergo data files]) AC_SUBST(ERGO_DATA_PREFIX) AC_CONFIG_FILES([ Makefile source/Makefile source/basisset/Makefile source/ci/Makefile source/dft/Makefile source/electron_dynamics/Makefile source/integrals/Makefile source/matrix/Makefile source/matrix/template_lapack/Makefile source/matrix/template_lapack/blas/Makefile source/matrix/template_lapack/lapack/Makefile source/densfromf/Makefile source/densfromf/recursive_expansion/Makefile source/densfromf/recursive_expansion/src/Makefile source/matrix_wrapper/Makefile source/matrix_wrapper/ErgoMatrix/Makefile source/matrix_wrapper/ErgoMatrix/src/Makefile source/matrix_wrapper/ErgoMatrix/test/Makefile source/matrix_wrapper/file_tools/Makefile source/matrix_wrapper/file_tools/src/Makefile source/matrix_wrapper/file_tools/test/Makefile source/scf/Makefile source/tddft/Makefile source/test/Makefile source/utilities/Makefile source/utilities_basic/Makefile basis/Makefile documentation/source/Makefile params/Makefile mol/Makefile test/Makefile ]) AC_OUTPUT echo "" echo "Selected precision : $precision_flag" echo "Critical warnings : $ergo_cv_werror" echo "Linear Algebra Lib : $ergo_la_lib" echo "" ergo-3.5/ergo_release_notes_3_5.txt0000664000175000017500000000124212743400307014312 00000000000000=================================================== Ergo version 3.5 release notes, 2016-07-19 =================================================== The following changes were made compared to the previous version: - New parameterless stopping criterion for purification (see http://arxiv.org/abs/1507.02087). - Accelerated purification method implemented (see http://dx.doi.org/10.1021/ct2001705). - New HOMO/LUMO eigenvalue estimates implemented (see http://dx.doi.org/10.1137/130911585). - Improved method for computation of HOMO and LUMO orbitals. - The test suite is now parallel-make safe, so e.g. "make check j4" now works. - Bugfixes and code cleanup. ergo-3.5/source/0000775000175000017500000000000012743400366010625 500000000000000ergo-3.5/source/test/0000775000175000017500000000000012743400366011604 500000000000000ergo-3.5/source/test/xcmat_test.cc0000664000175000017500000003124612743400307014207 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file xcmat_test.cc Tests the DFT XC matrix construction. This test computes the XC energy many times and checks that the resulting energy is the same every time. If this fails, it is probably because of some bug related to synchronization of threads. */ #include #include #include #include #include "integrals_1el_potential.h" #include "integrals_2el.h" #include "memorymanag.h" #include "grid_reader.h" #include "dft_common.h" #include "xc_matrix.h" static bool compare_matrices(char mat_name, const real *computed, const long double *ref, int sz, ergo_real eps) { bool failed = false; for(int row=0; roweps) { printf("%c (%d,%d): ref: %28.25Lf got: %28.25Lf diff: %12g eps: %g\n", mat_name, row, col, (long double)ref[row + col*sz], (long double)computed[row + col*sz], (double)(computed[row + col*sz]- ref[row+col*sz]), (double)eps); failed = true; } } return failed; } static int test_small(const IntegralInfo& ii, const char *functional, const Dft::GridParams::RadialScheme& gridScheme, const char *gridSchemeName, const int *charges, const real (*coords)[3], const long double (*XCRef)[2]) { BasisInfoStruct* bis = new BasisInfoStruct(); Molecule m; /* The code later will change the order of atoms, this is why the reference table may seem strange at the first sight. */ for(int i=0; i<2; i++) { m.addAtom(charges[i], coords[i][0],coords[i][1],coords[i][2]); } if(bis->addBasisfuncsForMolecule(m, ERGO_SPREFIX "/basis/STO-3G", 0, NULL, ii, 0, 0, 0) != 0) { printf("bis->addBasisfuncsForMolecule failed.\n"); return 1; } int n = bis->noOfBasisFuncs; /* set up density matrix */ ergo_real *dmat= ergo_new(n*n, ergo_real); dmat[0*n+0] = 1.1; dmat[0*n+1] = 0.2; dmat[1*n+0] = 0.2; dmat[1*n+1] = 1.3; dft_init(); if(dft_setfunc(functional) == 0) { printf("error in dft_setfunc\n"); return 1; } grid_set_tmpdir("/tmp"); static const ergo_real GRID_CELL_SIZE = 2.5; Dft::GridParams gridParams(1e-5, 6, 7, GRID_CELL_SIZE); gridParams.radialGridScheme = gridScheme; ergo_real *xcmat= ergo_new(n*n, ergo_real); ergo_real *xca = ergo_new(n*n, ergo_real); ergo_real *xcb = ergo_new(n*n, ergo_real); ergo_real *dmata = ergo_new(n*n, ergo_real); for(int i=n*n-1; i>=0; --i) dmata[i] = 0.5*dmat[i]; int noOfElectrons = 2; char mode; ergo_real dftEnergy = 0; dft_get_xc_mt(noOfElectrons, dmat, bis, &m, gridParams, xcmat, &dftEnergy); /* We give some room to accumulation error. */ static const ergo_real EPS = std::numeric_limits::epsilon()* (sizeof(ergo_real) == sizeof(ergo_long_real) ? 230 : 20); int nrepeat = 2; bool failed = false; for(int i = 0; i < nrepeat; i++) { mode = 'R'; ergo_real dftEnergyAgain = 0, electronsR, electronsU, dftEnergyU; memset(xcmat, 0, n*n*sizeof(ergo_real)); electronsR = dft_get_xc_mt(noOfElectrons, dmat, bis, &m, gridParams, xcmat, &dftEnergyAgain); failed = compare_matrices('R', xcmat, &XCRef[0][0], n, EPS); if(std::fabs(dftEnergyAgain - dftEnergy) > EPS) { printf("%s/%s energy repeatability test failed.\n", selected_func->is_gga() ? "GGA" : "LDA", functional); printf("i = %5i of %5i: computed: %20.19f diff: %g\n", i, nrepeat, (double)dftEnergyAgain, (double)(dftEnergy-dftEnergyAgain)); failed = true; } if(failed) break; mode = 'U'; memset(xca, 0, n*n*sizeof(ergo_real)); memset(xcb, 0, n*n*sizeof(ergo_real)); electronsU = dft_get_uxc_mt(noOfElectrons, dmata, dmata, bis, &m, gridParams, xca, xcb, &dftEnergyU); failed = compare_matrices('A', xca, &XCRef[0][0], n, EPS) || compare_matrices('B', xcb, &XCRef[0][0], n, EPS); if (std::fabs(electronsU - electronsR) > EPS) { printf("%s/%s Electrons restricted %28.25Lg unrestricted %28.25Lg\n", selected_func->is_gga() ? "GGA" : "LDA", functional, (long double)electronsR, (long double)electronsU); } if(failed) break; } ergo_free(dmat); ergo_free(dmata); ergo_free(xcmat); ergo_free(xca); ergo_free(xcb); grid_free_files(); delete bis; printf("%cXC %s %s/%s test %s\n", failed ? mode : ' ', gridSchemeName, selected_func->is_gga() ? "GGA" : "LDA", functional, failed ? "failed" : "OK"); if(!failed) unlink("ergoscf.out"); return failed ? 1 : 0; } static int test_small_both() { int res = 0; IntegralInfo ii(true); static const int sys1Z[2] = { 2, 1 }; static const ergo_real sys1C[2][3] = { { 0, 0, 0 }, { 0, 0, 1.5 } }; #if 0 /* these used to work at some point in time */ static const long double XCRefSys1Svwn5_GC2[2][2] = { { -0.4684689023709603356666539L, -0.2774104719817796799879745L }, { -0.2774104719817796799879745L, -0.6305248743996174761393923L } }; static const long double XCRefSys1Svwn5_Turbo[2][2] = { { -0.4683770126432161890915259L, -0.2773048168955870736141454L }, { -0.2773048168955870736141454L, -0.6306586344434581195149588L } }; static const long double XCRefSys1Svwn5_LMG[2][2] = { { -0.4684708993939939889676171L, -0.2773291661077663829268383L }, { -0.2773291661077663829268383L, -0.6307497031343927392844396L } }; #else /* gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC) on x86_64 yields different long double results! */ static const long double XCRefSys1Svwn5_GC2[2][2] = { { -0.4684689023709603142536610L, -0.2774104719817796595236585L }, { -0.2774104719817796595236585L, -0.6305248743996173615934328L } }; static const long double XCRefSys1Svwn5_Turbo[2][2] = { { -0.4683770126432162286649052L, -0.2773048168955870872208827L }, { -0.2773048168955870872208827L, -0.6306586344434580992403781L } }; static const long double XCRefSys1Svwn5_LMG[2][2] = { { -0.4684708993939940416869477L, -0.2773291661077664115226706L }, { -0.2773291661077664115226706L, -0.6307497031343927669315950L } }; #endif res += test_small(ii, "SVWN5", Dft::GridParams::GC2, "GC2 ", sys1Z, sys1C, &XCRefSys1Svwn5_GC2[0]); res += test_small(ii, "SVWN5", Dft::GridParams::TURBO, "Turbo", sys1Z, sys1C, &XCRefSys1Svwn5_Turbo[0]); res += test_small(ii, "SVWN5", Dft::GridParams::LMG, "LMG ", sys1Z, sys1C, &XCRefSys1Svwn5_LMG[0]); #if 0 /* these used to work at some point in time */ static const long double XCRefSys1BP86_LMG[2][2] = { { -0.4845632120229973237648946L, -0.2847735431952788480978751L }, { -0.2847735431952788480978751L, -0.6585688897912137575196313L } }; static const long double XCRefSys1BP86_TURBO[2][2] = { { -0.4844723531473195265333910L, -0.2847608922553022243432004L }, { -0.2847608922553022243432004L, -0.6584790455338923006230883L } }; #else /* gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC) on x86_64 yields different long double results! */ static const long double XCRefSys1BP86_LMG[2][2] = { { -0.4845632120229973761047545L, -0.2847735431952788756637153L }, { -0.2847735431952788756637153, -0.6585688897912137838657441L } }; static const long double XCRefSys1BP86_TURBO[2][2] = { { -0.4844723531473195618241717L, -0.2847608922553022361067940L }, { -0.2847608922553022361067940L, -0.6584790455338922763911698L } }; #endif res += test_small(ii, "BP86", Dft::GridParams::LMG, "LMG ", sys1Z, sys1C, &XCRefSys1BP86_LMG[0]); res += test_small(ii, "BP86", Dft::GridParams::TURBO, "Turbo", sys1Z, sys1C, &XCRefSys1BP86_TURBO[0]); static const int sys2Z[2] = { 2, 1 }; static const ergo_real sys2C[2][3] = { { 0, 0, 0 }, { 0, 0, 20.0 } }; #if 0 /* these used to work at some point in time */ static const long double XCRefSys2Combine[2][2] = { { -0.4158158686905108041562736L, 0.0 }, { 0.0, -0.5837174604663345164109328L } }; static const long double XCRefSys2Blyp[2][2] = { { -0.4355159681263079985444418L, 0.0 }, { 0.0, -0.6158981042254555345592283L } }; #else /* gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC) on x86_64 yields different long double results! */ /* these used to work at some point in time */ static const long double XCRefSys2Combine[2][2] = { { -0.4158158686905108421575598L, 0.0 }, { 0.0, -0.5837174604663345243256087L } }; static const long double XCRefSys2Blyp[2][2] = { { -0.4355159681263080390122878L, 0.0 }, { 0.0, -0.6158981042254555427991648L } }; #endif res += test_small(ii, "Combine Slater=1 PZ81=1", Dft::GridParams::LMG, "LMG ", sys2Z, sys2C, &XCRefSys2Combine[0]); res += test_small(ii, "BLYP", Dft::GridParams::LMG, "LMG ", sys2Z, sys2C, &XCRefSys2Blyp[0]); return res; } static int test_mol(const char *mol_fname, const char *basisSet, const char *xcFunc) { unlink("ergoscf.out"); dft_init(); Molecule m; if(m.setFromMoleculeFile(mol_fname, 0, NULL) != 0) { printf("Molecule::setFromMoleculeFile failed.\n"); return 1; } IntegralInfo biBasic(true); BasisInfoStruct *bis = new BasisInfoStruct(); if(bis->addBasisfuncsForMolecule(m, basisSet, 0, NULL, biBasic, 0, 1, 0) != 0) { printf("bis->addBasisfuncsForMolecule failed.\n"); delete bis; return 1; } int n = bis->noOfBasisFuncs; /* Set up density matrix. Equivalent to use_simple_starting_guess. */ ergo_real *dmat= ergo_new(n*n, ergo_real); int noOfElectrons = m.getNumberOfElectrons(); real diag = noOfElectrons/ergo_real(n); for(int col=0; colis_gga() ? "GGA" : "LDA", xcFunc, noOfElectrons, (double)integratedNoOfElectrons); return 0; } int main(int argc, char *argv[]) { const char *DEFAULT_XC_FUNC = "BP86"; if(argc<=1) return test_small_both(); else if(argc==2) return test_mol(argv[1], ERGO_SPREFIX "/basis/Turbomole-SVP", DEFAULT_XC_FUNC); else if(argc==3) return test_mol(argv[1], argv[2], DEFAULT_XC_FUNC); else if(argc==4) return test_mol(argv[1], argv[2], argv[3]); else { fputs("Usage: xcmat_test [MOL_FILE [BASIS_SET]].\n", stderr); return 1; } /* Not reached */ return 0; } ergo-3.5/source/test/recexp_randsym_test.cc0000664000175000017500000001474412743400307016122 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file recexp_randsym_test.cc \brief Test serial recursive expansion on a random matrix. Generate a random sparse matrix with a given spectrum. (Note, there is no exponential decay of elements.) @author Anastasia Kruchinina responsible */ #include "purification_sp2acc.h" #include "purification_sp2.h" #include "matrix_typedefs.h" // definitions of matrix types and interval type (source) #include "realtype.h" // definitions of types (utilities_basic) #include "matrix_utilities.h" #include "integral_matrix_wrappers.h" #include "SizesAndBlocks.h" #include "Matrix.h" #include "Vector.h" #include "MatrixSymmetric.h" #include "MatrixTriangular.h" #include "MatrixGeneral.h" #include "VectorGeneral.h" #include "output.h" #include #include #include #include #include "random_matrices.h" using namespace std; #define SCALAR_TOL std::sqrt(std::numeric_limits::epsilon()) #include "ErgoMatrix.h" typedef ErgoMatrix MatrixType; typedef MatrixType::VectorType VectorType; int main(int argc, char *argv[]) { #ifdef _OPENMP int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) { defThreads = 1; } mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(2); std::cout<<"OpenMP is used, number of threads set to " < eigvalList; get_all_eigenvalues_of_matrix(eigvalList, F); printf("Data for the matrix F:\n"); printf("N = %4d\n", N ); printf("N_occ = %4d\n", N_occ ); printf("rand_seed = %4d\n", rand_seed); printf("err_sub = %lf\n", input); ergo_real homo = eigvalList[N_occ-1]; ergo_real lumo = eigvalList[N_occ ]; printf("gap = %lf\n", (double)(lumo-homo)); ergo_real epsilon_for_homo_lumo_intervals = 1e-3; IntervalType homo_bounds(homo-epsilon_for_homo_lumo_intervals, homo+epsilon_for_homo_lumo_intervals); IntervalType lumo_bounds(lumo-epsilon_for_homo_lumo_intervals, lumo+epsilon_for_homo_lumo_intervals); if( homo_bounds.empty() ) { printf("Interval homo_bounds is empty.\n"); return EXIT_FAILURE; } if ( lumo_bounds.empty() ) { printf("Interval lumo_bounds is empty.\n"); return EXIT_FAILURE; } MatrixType Fw(F); mat::normType normPuri = mat::mixedNorm; mat::normType normPuriStopCrit = mat::mixedNorm; int maxit = 100; real error_eig = 0; // is not needed for new stopping criterion real error_sub = input; cout << "*******************" << endl; cout << " Run SP2..." << endl; cout << "*******************" << endl; try { Purification_sp2 Puri; Puri.initialize(Fw, lumo_bounds, homo_bounds, maxit, error_sub, error_eig, 1, // 1 = new, 0 = old stopping criterion normPuri, normPuriStopCrit, N_occ); Puri.PurificationStart(); Puri.info.print_collected_info(); MatrixType X = Puri.X; // CHECK RESULT real traceX = X.trace(); if(abs(traceX - N_occ) > SCALAR_TOL) throw std::runtime_error("SP2: Wrong value of trace! (abs(traceX - N_occ) > SCALAR_TOL)"); } catch(char const* e) { cerr << e << endl; return EXIT_FAILURE; } catch(const std::exception& e) { cerr << e.what() << endl; return EXIT_FAILURE; } cout << "*******************" << endl; cout << " Run SP2ACC..." << endl; cout << "*******************" << endl; try { Purification_sp2 Puri; Puri.initialize(Fw, lumo_bounds, homo_bounds, maxit, error_sub, error_eig, 1, // 1 = new, 0 = old stopping criterion normPuri, normPuriStopCrit, N_occ); Puri.PurificationStart(); Puri.info.print_collected_info(); MatrixType X = Puri.X; // CHECK RESULT real traceX = X.trace(); if(abs(traceX - N_occ) > SCALAR_TOL) throw std::runtime_error("SP2ACC: Wrong value of trace! (abs(traceX - N_occ) > SCALAR_TOL)"); } catch(char const* e) { cerr << e << endl; return EXIT_FAILURE; } catch(const std::exception& e) { cerr << e.what() << endl; return EXIT_FAILURE; } cout << "Recursive expansion test on random matrix finished OK!" << endl; return EXIT_SUCCESS; } ergo-3.5/source/test/mmul_rectangular_test.cc0000664000175000017500000001424612743400307016435 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file mmul_rectangular_test.cc Tests and measures timings for matrix-matrix multiplication using BLAS and compares to a naive implementation, for rectangular matrices. The idea is to run this linking to different BLAS variants with and without threading inside the BLAS gemm routine, to see how much speedup can be achieved from threading. */ #include #include #include #include "realtype.h" #include "utilities.h" #include "mat_gblas.h" static void fill_matrix_with_random_numbers(int n, int m, std::vector & A) { for(int i = 0; i < n; i++) for(int j = 0; j < m; j++) { ergo_real randomNumber = rand(); A[i*m+j] = randomNumber / RAND_MAX; } } /* This routine computes C=A*B where A has dim n*m, B has dim m*p, and C has dim p*n. */ static void do_naive_mmul(std::vector & C, const std::vector & A, const std::vector & B, int n, int m, int p) { for(int i = 0; i < n; i++) for(int j = 0; j < p; j++) { ergo_real sum = 0; for(int k = 0; k < m; k++) sum += A[i*m+k] * B[k*p+j]; C[j*n+i] = sum; } } /* This routine verifies C=A*B where A has dim n*m, B has dim m*p, and C has dim p*n. */ static void verify_mmul_result(const std::vector & A, const std::vector & B, const std::vector & C, int n, int m, int p) { double maxabsdiff = 0; int count = 0; for(int i = 0; i < n; i++) for(int j = 0; j < p; j++) { // Verify only certain elements to save time. if(n > 100 && (rand() % 1000) != 0) continue; ergo_real sum = 0; for(int k = 0; k < m; k++) sum += A[i*m+k] * B[k*p+j]; double absdiff = fabs(C[j*n+i] - sum); if(absdiff > maxabsdiff) maxabsdiff = absdiff; count++; } printf("verify_mmul_result, verified %d elements, maxabsdiff = %g\n", count, maxabsdiff); } ergo_real compare_matrices(const std::vector & A, const std::vector & B, int n, int m) { ergo_real maxabsdiff = 0; for(int i = 0; i < n*m; i++) { ergo_real absdiff = fabs(A[i] - B[i]); if(absdiff > maxabsdiff) maxabsdiff = absdiff; } return maxabsdiff; } #if 0 static void print_matrix(int n, int m, const std::vector & A, const char* s) { printf("Matrix '%s':\n", s); for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { printf(" %9.4f", (double)A[j*n+i]); } printf("\n"); } } #endif int main(int argc, char *argv[]) { int n = 500; int m = 500; int p = 500; if(argc == 4) { n = atof(argv[1]); m = atof(argv[2]); p = atof(argv[3]); } printf("mmul_simple_test start, matrix sizes n = %6d, m = %6d, p = %6d.\n", n, m, p); // Generate matrices A and B filled with random numbers. std::vector A(n*m); std::vector B(m*p); fill_matrix_with_random_numbers(n, m, A); fill_matrix_with_random_numbers(m, p, B); printf("random matrices A and B generated OK.\n"); // Compute matrix C = A*B using naive implementation. std::vector C(n*p); Util::TimeMeter tm_naive; do_naive_mmul(C, A, B, n, m, p); double secondsTaken_naive_mmul = tm_naive.get_wall_seconds() - tm_naive.get_start_time_wall_seconds(); printf("do_naive_mmul took %6.3f wall seconds.\n", secondsTaken_naive_mmul); verify_mmul_result(A, B, C, n, m, p); // Now do the same computation by calling the BLAS gemm routine. ergo_real alpha = 1; ergo_real beta = 0; std::vector C2(n*p); Util::TimeMeter tm_BLAS_gemm_1; int M = n; int N = p; int K = m; mat::gemm("T", "T", &M, &N, &K, &alpha, &A[0], &K, &B[0], &N, &beta, &C2[0], &M); double secondsTaken_BLAS_gemm_1 = tm_BLAS_gemm_1.get_wall_seconds() - tm_BLAS_gemm_1.get_start_time_wall_seconds(); printf("BLAS gemm call took %6.3f wall seconds.\n", secondsTaken_BLAS_gemm_1); // Check that results are equal. ergo_real diff1 = compare_matrices(C, C2, n, p); printf("Max abs diff (elementwise) between naive and BLAS gemm results: %6.3g\n", (double)diff1); verify_mmul_result(A, B, C2, n, m, p); // Now do the same computation by again calling the BLAS gemm routine. std::vector C3(n*p); Util::TimeMeter tm_BLAS_gemm_2; mat::gemm("T", "T", &M, &N, &K, &alpha, &A[0], &K, &B[0], &N, &beta, &C3[0], &M); double secondsTaken_BLAS_gemm_2 = tm_BLAS_gemm_2.get_wall_seconds() - tm_BLAS_gemm_2.get_start_time_wall_seconds(); printf("BLAS gemm call took %6.3f wall seconds.\n", secondsTaken_BLAS_gemm_2); // Check that results are equal. ergo_real diff2 = compare_matrices(C, C3, n, p); printf("Max abs diff (elementwise) between naive and BLAS gemm results: %6.3g\n", (double)diff2); verify_mmul_result(A, B, C3, n, m, p); ergo_real tol = 2e-4; if(diff1 > tol || diff2 > tol) { printf("Error: too large diff between naive mmul and BLAS gemm results.\n"); return -1; } printf("mmul_simple_test finished OK.\n"); return 0; } ergo-3.5/source/test/xcmat_sparse_test.cc0000664000175000017500000002425412743400307015565 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file xcmat_sparse_test.cc Tests the sparse XC matrix construction. */ #include #include #include #include #include #include "integrals_1el_potential.h" #include "integrals_2el.h" #include "memorymanag.h" #include "dft_common.h" #include "grid_reader.h" #include "xc_matrix_sparse.h" #include "matrix_utilities.h" static const bool PRINT_TIME = false; static void calculation_shared(const IntegralInfo& ii, const Molecule& mol, const char *funcName, int blSize, int blFactor, symmMatrix& xcMat, ergo_real *energy, std::vector & permutationHML, bool useHiCu) { time_t tm; time(&tm); BasisInfoStruct bis; if(bis.addBasisfuncsForMolecule(mol, ERGO_SPREFIX "/basis/4-31G", 0, NULL, ii, 0, 0, 0) != 0) { printf("bis.addBasisfuncsForMolecule failed.\n"); throw "addBasisfuncs failed"; } if(dft_setfunc(funcName) == 0) { printf("error in dft_setfunc\n"); throw "dft functional setup failed"; } static Dft::GridParams gridParams(1e-7, 6, 35); if(useHiCu) gridParams.gridType = Dft::GridParams::TYPE_HICU; int nElectrons = mol.getNumberOfElectrons(); mat::SizesAndBlocks matrix_size_block_info = prepareMatrixSizesAndBlocks(bis.noOfBasisFuncs, blSize, blFactor, blFactor, blFactor); getMatrixPermutation(bis, blSize, blFactor, blFactor, blFactor, permutationHML); symmMatrix dmat; dmat.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); xcMat.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); { std::vector idx(bis.noOfBasisFuncs); std::vector values(bis.noOfBasisFuncs); for(int i=0; i permutationHML; calculation_shared(ii, m, functionalName, BL_SIZE, BL_FACTOR, xcMat, &dftEnergy, permutationHML, useHiCu); /* We give some room to accumulation error. For long double calculation, * accumulation factor for xc matrix element equal to 200 would suffice. * Energy comparison need to be looser, this why we take 2100. */ static const ergo_real EPS_accurate = std::numeric_limits::epsilon()* (sizeof(ergo_real) == sizeof(ergo_long_real) ? 2100 : 100); static const ergo_real EPS_sloppy = 2e-5; static ergo_real EPS = EPS_accurate; /* Allow larger error for HiCu grid. */ if(useHiCu) EPS = EPS_sloppy; std::vector rowind(1); std::vector colind(1); std::vector values(1); for(int row=0; row<2; row++) { for(int col=0; col<2; col++) { rowind[0] = row; colind[0] = col; xcMat.get_values(rowind, colind, values, permutationHML, permutationHML); if (std::fabs(values[0] - xcRef[row][col])>EPS) { printf(" (%d,%d): ref: %28.25Lf got: %28.25Lf diff: %12g\n", row, col, static_cast(xcRef[row][col]), static_cast(values[0]), double(values[0] - xcRef[row][col])); failed = true; } } } std::string gridStr = "std "; if(useHiCu) gridStr = "HiCu"; if(std::fabs(xcERef - dftEnergy) > EPS) { printf("Sparse XC %s (grid %s) test failed: could not reproduce the same energy.\n" "Computed: %25.22Lf diff: %g eps: %g\n", functionalName, gridStr.c_str(), static_cast(dftEnergy), double(xcERef-dftEnergy), double(EPS)); return false; } if(!failed) { printf("Sparse XC %-10s (grid %s) test OK\n", functionalName, gridStr.c_str()); unlink("ergoscf.out"); } else { printf("Sparse XC %-10s (grid %s) test FAILED\n", functionalName, gridStr.c_str()); } return !failed; } static bool small_calculation(const IntegralInfo& ii) { #if 0 /* these used to work at some point in time */ static const long double XCRefBLYP[2][2] = { { -0.6469105968311400356582017L, -0.3406940239203784543807908L }, { -0.3406940239203784543807908L, -0.3377037854748100635876931L } }; static const long double REF_XC_ENERGY_BLYP = -1.3018204657660243451014L; static const long double XCRefSVWN5[2][2] = { { -0.6219879322708015512524184L, -0.3367149426990971624717303L }, { -0.3367149426990971624717303L, -0.3428892519010255774368490L } }; static const long double REF_XC_ENERGY_SVWN5 = -1.2452936316020187427307L; #else /* gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC) on x86_64 yields different long double results! */ static const long double XCRefBLYP[2][2] = { { -0.6469105968311401637566883L, -0.3406940239203784613196847L }, { -0.3406940239203784613196847L, -0.3377037854748099993487144L } }; static const long double REF_XC_ENERGY_BLYP = -1.3018204657660245257295L; static const long double XCRefSVWN5[2][2] = { { -0.6219879322708016678583620L, -0.3367149426990971693564141L }, { -0.3367149426990971693564141L, -0.3428892519010255078039644L } }; static const long double REF_XC_ENERGY_SVWN5 = -1.2452936316020189159862L; #endif int errors = 0; /* Tests with standard grid. */ if (!small_calculation_core(ii, "BLYP", XCRefBLYP, REF_XC_ENERGY_BLYP, false)) errors++; if (!small_calculation_core(ii, "SVWN5", XCRefSVWN5, REF_XC_ENERGY_SVWN5, false)) errors++; /* Remove grid files to make sure new grid is generated. */ grid_free_files(); /* Tests with HiCu grid. */ if (!small_calculation_core(ii, "BLYP", XCRefBLYP, REF_XC_ENERGY_BLYP, true)) errors++; if (!small_calculation_core(ii, "SVWN5", XCRefSVWN5, REF_XC_ENERGY_SVWN5, true)) errors++; return errors == 0; } static bool benchmark_calculation(const IntegralInfo& ii, int sideLength) { static const int CHARGE = 2; static const double REF_XC_ENERGY = -0.448990406907508*sideLength*sideLength; static const double DISTANCE_BETWEEN_ATOMS = 3.5; bool failed = false; int nElectrons = 0; Molecule mol; for(int i=0; i permutationHML; calculation_shared(ii, mol, "SVWN5", BL_SIZE, BL_FACTOR, xcMatrix, &dftEnergy, permutationHML, false); #if 1 /* We give some room to accumulation error. */ static const ergo_real EPS = 1e-5; if(std::fabs(REF_XC_ENERGY - dftEnergy) > EPS*sideLength*sideLength) { printf("DFT XC test failed: could not reproduce the same energy.\n"); printf("Computed: %25.22Lf Reference: %25.2Lf diff: %g\n", static_cast(dftEnergy), static_cast(REF_XC_ENERGY), double(dftEnergy-REF_XC_ENERGY)); return false; } #endif //unlink("ergoscf.out"); return !failed; } static bool mol_calculation(const IntegralInfo& ii, const char *fname) { bool failed = false; Molecule mol; char *basisSetFile = NULL; int res = mol.setFromMoleculeFile(fname, 0, &basisSetFile); if(res != 0) return false; static const int BL_SIZE = 32; static const int BL_FACTOR = 8; symmMatrix xcMatrix; ergo_real dftEnergy; std::vector permutationHML; calculation_shared(ii, mol, "SVWN5", BL_SIZE, BL_FACTOR, xcMatrix, &dftEnergy, permutationHML, false); //unlink("ergoscf.out"); return !failed; } int main(int argc, char *argv[]) { static const int PROBLEM_SQUARE_SIDE_LENGTH = 60; IntegralInfo ii(true); dft_init(); const char *tmpdir = getenv("TMPDIR"); tmpdir = tmpdir ? tmpdir : "/tmp"; grid_set_tmpdir(tmpdir); bool success; if(getenv("RUN_BENCHMARK")) { printf("Running an XC benchmark, tmpdir=%s.\n", tmpdir); success = benchmark_calculation(ii, PROBLEM_SQUARE_SIDE_LENGTH); } else { if(argc>1) { int side = strtol(argv[1], NULL, 10); if(side) success = benchmark_calculation(ii, side); else success = mol_calculation(ii, argv[1]); } else success = small_calculation(ii); } printf("Success: %s\n", success ? "YES" : "NO"); return success ? 0 : 1; } ergo-3.5/source/test/xcmat_nan_inf_test.cc0000664000175000017500000002450612743400307015700 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file xcmat_nan_inf_test.cc Tests that the DFT XC matrix construction does not result in "nan" or "inf" values. */ #include #include #include #include #include "integrals_1el_potential.h" #include "integrals_2el.h" #include "memorymanag.h" #include "grid_reader.h" #include "dft_common.h" #include "xc_matrix.h" static bool value_seems_like_nan_or_inf(ergo_real x) { bool ok1 = false; if(x > -std::numeric_limits::max()) ok1 = true; bool ok2 = false; if(x < std::numeric_limits::max()) ok2 = true; return ( ! (ok1 && ok2) ); } static bool compare_matrices(char mat_name, const real *computed, const long double *ref, int sz, ergo_real eps) { bool failed = false; for(int row=0; roweps) { printf("%c (%d,%d): ref: %28.25Lf got: %28.25Lf diff: %12g eps: %g\n", mat_name, row, col, (long double)ref[row + col*sz], (long double)computed[row + col*sz], (double)(computed[row + col*sz]- ref[row+col*sz]), (double)eps); failed = true; } } } return failed; } static int test_small(const IntegralInfo& ii, const char *functional, const Dft::GridParams::RadialScheme& gridScheme, const char *gridSchemeName, const int *charges, const real (*coords)[3], const long double (*XCRef)[2]) { // Skip tests for some functionals for single precision because they cannot handle it due to overflow or similar problems. #ifdef PRECISION_SINGLE std::vector functionalsToSkip; functionalsToSkip.push_back("PW91X"); functionalsToSkip.push_back("B3LYP"); functionalsToSkip.push_back("B3LYP-G"); functionalsToSkip.push_back("B3P86"); functionalsToSkip.push_back("B3P86-G"); functionalsToSkip.push_back("B3PW91"); functionalsToSkip.push_back("BLYP"); functionalsToSkip.push_back("BP86"); functionalsToSkip.push_back("BPW91"); functionalsToSkip.push_back("Camb3lyp"); functionalsToSkip.push_back("HSE"); functionalsToSkip.push_back("KT3"); functionalsToSkip.push_back("OLYP"); functionalsToSkip.push_back("PBE0"); functionalsToSkip.push_back("PBE"); bool skip_for_single_precision = false; for(unsigned int i = 0; i < functionalsToSkip.size(); i++) { if(strcmp(functional, functionalsToSkip[i].c_str()) == 0) skip_for_single_precision = true; } if(skip_for_single_precision) { printf("test_small(): skipping functional '%s' for PRECISION_SINGLE case.\n", functional); return 0; } #endif BasisInfoStruct* bis = new BasisInfoStruct(); Molecule m; /* The code later will change the order of atoms, this is why the reference table may seem strange at the first sight. */ for(int i=0; i<2; i++) { m.addAtom(charges[i], coords[i][0],coords[i][1],coords[i][2]); } if(bis->addBasisfuncsForMolecule(m, ERGO_SPREFIX "/basis/STO-3G", 0, NULL, ii, 0, 0, 0) != 0) { printf("bis->addBasisfuncsForMolecule failed.\n"); return 1; } int n = bis->noOfBasisFuncs; /* set up density matrix */ ergo_real *dmat= ergo_new(n*n, ergo_real); dmat[0*n+0] = 1.1; dmat[0*n+1] = 0.2; dmat[1*n+0] = 0.2; dmat[1*n+1] = 1.3; dft_init(); if(dft_setfunc(functional) == 0) { printf("error in dft_setfunc\n"); return 1; } grid_set_tmpdir("/tmp"); static const ergo_real GRID_CELL_SIZE = 2.5; Dft::GridParams gridParams(1e-5, 6, 7, GRID_CELL_SIZE); gridParams.radialGridScheme = gridScheme; ergo_real *xcmat= ergo_new(n*n, ergo_real); ergo_real *xca = ergo_new(n*n, ergo_real); ergo_real *xcb = ergo_new(n*n, ergo_real); ergo_real *dmata = ergo_new(n*n, ergo_real); for(int i=n*n-1; i>=0; --i) dmata[i] = 0.5*dmat[i]; int noOfElectrons = 2; char mode; ergo_real dftEnergy = 0; dft_get_xc_mt(noOfElectrons, dmat, bis, &m, gridParams, xcmat, &dftEnergy); if(value_seems_like_nan_or_inf(dftEnergy)) { printf("Error: dftEnergy from dft_get_xc_mt() is nan/inf for functional '%s'.\n", functional); return 1; } /* We give some room to accumulation error. */ static const ergo_real EPS = 0.3; int nrepeat = 2; bool failed = false; for(int i = 0; i < nrepeat; i++) { mode = 'R'; ergo_real dftEnergyAgain = 0, electronsR, electronsU, dftEnergyU; memset(xcmat, 0, n*n*sizeof(ergo_real)); electronsR = dft_get_xc_mt(noOfElectrons, dmat, bis, &m, gridParams, xcmat, &dftEnergyAgain); if(value_seems_like_nan_or_inf(dftEnergyAgain)) { printf("Error: dftEnergyAgain from dft_get_xc_mt() is nan/inf for functional '%s'.\n", functional); return 1; } failed = compare_matrices('R', xcmat, &XCRef[0][0], n, EPS); if(std::fabs(dftEnergyAgain - dftEnergy) > EPS) { printf("%s/%s energy repeatability test failed.\n", selected_func->is_gga() ? "GGA" : "LDA", functional); printf("i = %5i of %5i: computed: %20.19f diff: %g\n", i, nrepeat, (double)dftEnergyAgain, (double)(dftEnergy-dftEnergyAgain)); failed = true; } if(failed) break; mode = 'U'; memset(xca, 0, n*n*sizeof(ergo_real)); memset(xcb, 0, n*n*sizeof(ergo_real)); electronsU = dft_get_uxc_mt(noOfElectrons, dmata, dmata, bis, &m, gridParams, xca, xcb, &dftEnergyU); if(value_seems_like_nan_or_inf(dftEnergyU)) { printf("Error: dftEnergyU from dft_get_uxc_mt() is nan/inf for functional '%s'.\n", functional); return 1; } failed = compare_matrices('A', xca, &XCRef[0][0], n, EPS) || compare_matrices('B', xcb, &XCRef[0][0], n, EPS); if (std::fabs(electronsU - electronsR) > EPS) { printf("%s/%s Electrons restricted %28.25Lg unrestricted %28.25Lg\n", selected_func->is_gga() ? "GGA" : "LDA", functional, (long double)electronsR, (long double)electronsU); } if(failed) break; } ergo_free(dmat); ergo_free(dmata); ergo_free(xcmat); ergo_free(xca); ergo_free(xcb); grid_free_files(); delete bis; printf("%cXC %s %s/%s simple inf/nan test %s\n", failed ? mode : ' ', gridSchemeName, selected_func->is_gga() ? "GGA" : "LDA", functional, failed ? "failed" : "OK"); if(!failed) unlink("ergoscf.out"); return failed ? 1 : 0; } static int test_functional(const IntegralInfo & ii, const char* funcName) { static const int sys1Z[2] = { 2, 1 }; static const ergo_real sys1C[2][3] = { { 0, 0, 0 }, { 0, 0, 1.5 } }; static const long double XCRefSys1BP86_TURBO[2][2] = { { -0.4844723531473195618241717L, -0.2847608922553022361067940L }, { -0.2847608922553022361067940L, -0.6584790455338922763911698L } }; return test_small(ii, funcName, Dft::GridParams::TURBO, "Turbo", sys1Z, sys1C, &XCRefSys1BP86_TURBO[0]); } static int test_small_many() { int res = 0; IntegralInfo ii(true); // res += test_functional(*ii, "Becke"); // res += test_functional(*ii, "KT"); res += test_functional(ii, "LB94"); // res += test_functional(*ii, "LYP"); // res += test_functional(*ii, "OPTX"); // res += test_functional(*ii, "P86c"); // res += test_functional(*ii, "PW86x"); res += test_functional(ii, "PW91X"); // res += test_functional(*ii, "PW91c"); // res += test_functional(*ii, "PW92c"); // res += test_functional(*ii, "PZ81"); // res += test_functional(*ii, "PBEC"); res += test_functional(ii, "Pbex"); res += test_functional(ii, "Slater"); // res += test_functional(*ii, "SVWNI"); // res += test_functional(*ii, "SVWN3I"); // res += test_functional(*ii, "SVWN"); // res += test_functional(*ii, "XAlpha"); res += test_functional(ii, "B3LYP"); res += test_functional(ii, "B3LYP-G"); res += test_functional(ii, "B3P86"); res += test_functional(ii, "B3P86-G"); res += test_functional(ii, "B3PW91"); // res += test_functional(*ii, "BHandH"); // res += test_functional(*ii, "BHandHLYP"); res += test_functional(ii, "BLYP"); res += test_functional(ii, "BP86"); res += test_functional(ii, "BPW91"); res += test_functional(ii, "Camb3lyp"); // res += test_functional(*ii, "Cam"); res += test_functional(ii, "HSE"); res += test_functional(ii, "KT1"); res += test_functional(ii, "KT2"); res += test_functional(ii, "KT3"); res += test_functional(ii, "LDA"); res += test_functional(ii, "OLYP"); res += test_functional(ii, "PBE0"); res += test_functional(ii, "PBE"); res += test_functional(ii, "SVWN3"); res += test_functional(ii, "SVWN5"); return res; } int main(int argc, char *argv[]) { int result = test_small_many(); if(result == 0) printf("xcmat_nan_inf_test finished OK\n"); else printf("Error in xcmat_nan_inf_test: result = %d\n", result); return result; } ergo-3.5/source/test/vmat_test.cc0000664000175000017500000002711012743400307014035 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file vmat_test.cc Tests the potential energy matrix construction. The purpose of the test in its current form is mostly to verify compilation correctness. */ #include #include #include #include #include "integrals_1el_potential.h" #include "integrals_1el_single.h" #include "integrals_general.h" #include "matrix_typedefs.h" #include "integral_matrix_wrappers.h" #include "matrix_utilities.h" static void preparePermutations(const BasisInfoStruct& basisInfo, mat::SizesAndBlocks& sizeBlockInfo, std::vector& permutation, std::vector& inversePermutation) { static const int sparseMatrixBlockSize = 16, sparseMatrixBlockFactor = 4; sizeBlockInfo = prepareMatrixSizesAndBlocks(basisInfo.noOfBasisFuncs, sparseMatrixBlockSize, sparseMatrixBlockFactor, sparseMatrixBlockFactor, sparseMatrixBlockFactor); getMatrixPermutation(basisInfo, sparseMatrixBlockSize, sparseMatrixBlockFactor, sparseMatrixBlockFactor, sparseMatrixBlockFactor, permutation, inversePermutation); } static int test_S_V_comparison(const IntegralInfo & integralInfo) { Molecule molecule1; Molecule molecule2; const ergo_real R = 22222.0; molecule1.addAtom(5.0, 0.0, 1.0, 0.0); molecule1.addAtom(9.0, 3.0, 0.0, 0.0); molecule2.addAtom(5.0, 0.0, 1.0, R ); molecule2.addAtom(9.0, 3.0, 0.0, R ); BasisInfoStruct basisInfo; if(basisInfo.addBasisfuncsForMolecule(molecule1, "6-31Gss", 0, NULL, integralInfo, 0, 1, 0) != 0) { puts("error in basisInfo.addBasisfuncsGorMolecule"); return -1; } // Get overlap matrix std::vector permutationHML, inversePermutationHML; mat::SizesAndBlocks sizeBlockInfo; preparePermutations(basisInfo, sizeBlockInfo, permutationHML, inversePermutationHML); symmMatrix S; S.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); if(compute_overlap_matrix_sparse(basisInfo, S, permutationHML) != 0) { puts("error in compute_overlap_matrix_sparse"); return -1; } // Get V matrix ergo_real threshold = 1e-11; ergo_real boxSize = 3.3; // Use small box size to provoke errors. symmMatrix V; V.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); if(compute_V_sparse(basisInfo, integralInfo, molecule2, threshold, boxSize, V, permutationHML) != 0) { puts("error in compute_V_sparse"); return -1; } // Now V matrix should be approximately equal to -1 * (1/R) * (sum of charges) * S ergo_real sumOfCharges = 14.0; symmMatrix X(V); ergo_real factor = -1 * (1/R) * sumOfCharges; X *= (1/factor); ergo_real diff = symmMatrix::frob_diff(X, S); printf("diff = %22.11f\n", (double)diff); if(diff > 0.0003) { puts("error in V test: too large diff."); return -1; } puts("S vs V comparison test OK."); return 0; } static int test_V_by_explicit_comparison(const IntegralInfo & integralInfo) { Molecule molecule; // Put some atoms far away to make sure multipoles are used, but // still some of them close together so that significant overlaps // exist. molecule.addAtom(5.0, 0.0, 1.6, 0.4); molecule.addAtom(9.0, 3.7, 0.0, 0.3); molecule.addAtom(4.0, 1.7, 2.0, 0.8); molecule.addAtom(6.0, 10.0, 21.6, 88.4); molecule.addAtom(7.0, 13.7, 20.0, 88.3); molecule.addAtom(3.0, 11.7, 22.0, 88.8); molecule.addAtom(6.0, 10.0, 31.6, 77.4); molecule.addAtom(9.0, 13.7, 30.0, 77.3); molecule.addAtom(5.0, 11.7, 32.0, 77.8); molecule.addAtom(8.0, 44.7, 44.0, 44.8); BasisInfoStruct basisInfo; if(basisInfo.addBasisfuncsForMolecule(molecule, "6-31Gss", 0, NULL, integralInfo, 0, 1, 0) != 0) { puts("error in basisInfo.addBasisfuncsGorMolecule"); return -1; } // Get V matrix std::vector permutationHML, inversePermutationHML; mat::SizesAndBlocks sizeBlockInfo; preparePermutations(basisInfo, sizeBlockInfo, permutationHML, inversePermutationHML); ergo_real threshold = 1e-12; ergo_real boxSize = 3.3; // Use small box size to provoke errors. symmMatrix V; V.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); if(compute_V_sparse(basisInfo, integralInfo, molecule, threshold, boxSize, V, permutationHML) != 0) { puts("error in compute_V_sparse"); return -1; } // Convert V to full matrix format int n = basisInfo.noOfBasisFuncs; std::vector V_full(n*n); V.fullMatrix(V_full, inversePermutationHML, inversePermutationHML); // Check each element by explicit computation. ergo_real maxAbsDiff = 0; ergo_real sum_for_maxAbsDiff = 0; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { // Compute list of simpleprimitives for product of basis funcs i and j. const int maxCount = 888; DistributionSpecStruct list[maxCount]; int nPrims = get_product_simple_primitives(basisInfo, i, basisInfo, j, list, maxCount, 0); if(nPrims < 0) return -1; ergo_real sum = 0; for(int m = 0; m < nPrims; m++) for(int k = 0; k < molecule.getNoOfAtoms(); k++) sum += -1 * do_1e_repulsion_integral_using_symb_info(&list[m], molecule.getAtom(k).charge, molecule.getAtom(k).coords, integralInfo); ergo_real absDiff = fabs(V_full[i*n+j] - sum); if(absDiff > maxAbsDiff) { maxAbsDiff = absDiff; sum_for_maxAbsDiff = sum; } } printf("maxAbsDiff = %22.15f (sum_for_maxAbsDiff = %22.15f)\n", (double)maxAbsDiff, (double)sum_for_maxAbsDiff); ergo_real tolerance1 = 2e-9; #ifdef PRECISION_SINGLE tolerance1 = 1e-2; #endif if(maxAbsDiff > tolerance1) { puts("error in test_V_by_explicit_comparison: maxAbsDiff too large."); return -1; } // Also test the compute_h_core_matrix_full routine. std::vector V_full_other(n*n); if(compute_V_matrix_full(basisInfo, integralInfo, molecule.getNoOfAtoms(), molecule.getAtomListPtr(), threshold, &V_full_other[0]) != 0) { puts("error in compute_V_matrix_full"); return -1; } ergo_real maxAbsDiff2 = 0; ergo_real value_for_maxAbsDiff2 = 0; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { ergo_real absDiff = fabs(V_full[i*n+j] - V_full_other[i*n+j]); if(absDiff > maxAbsDiff2) { maxAbsDiff2 = absDiff; value_for_maxAbsDiff2 = V_full[i*n+j]; } } printf("maxAbsDiff2 = %22.15f (value_for_maxAbsDiff2 = %22.15f)\n", (double)maxAbsDiff2, (double)value_for_maxAbsDiff2); ergo_real tolerance2 = 2e-9; #ifdef PRECISION_SINGLE tolerance2 = 1e-2; #endif if(maxAbsDiff2 > tolerance2) { puts("error in test_V_by_explicit_comparison: maxAbsDiff2 too large."); return -1; } puts("test_V_by_explicit_comparison OK."); return 0; } static int test_V_by_explicit_comparison_tight(const IntegralInfo & integralInfo) { Molecule molecule; // Put atoms close together so that basis funcs overlap with most // other basis funcs. molecule.addAtom(1.0, 0.0, 1.6, 0.4); molecule.addAtom(1.0, 3.7, 0.0, 0.3); molecule.addAtom(1.0, 1.7, 2.0, 0.8); molecule.addAtom(1.0, 0.1, 1.3, 0.4); molecule.addAtom(1.0, 3.8, 0.3, 0.3); molecule.addAtom(1.0, 1.8, 2.3, 0.8); molecule.addAtom(1.0, 0.3, 1.7, 0.4); molecule.addAtom(1.0, 3.5, 0.7, 0.3); molecule.addAtom(1.0, 1.2, 2.7, 0.8); molecule.addAtom(1.0, 0.3, 1.1, 0.4); molecule.addAtom(1.0, 3.6, 0.2, 0.3); molecule.addAtom(1.0, 1.9, 2.3, 0.8); molecule.addAtom(1.0, 0.3, 1.1, 1.1); molecule.addAtom(1.0, 3.6, 0.2, 1.2); molecule.addAtom(1.0, 1.9, 2.3, 1.4); BasisInfoStruct basisInfo; if(basisInfo.addBasisfuncsForMolecule(molecule, "STO-3G", 0, NULL, integralInfo, 0, 1, 0) != 0) { puts("error in basisInfo.addBasisfuncsGorMolecule"); return -1; } // Get V matrix std::vector permutationHML, inversePermutationHML; mat::SizesAndBlocks sizeBlockInfo; preparePermutations(basisInfo, sizeBlockInfo, permutationHML, inversePermutationHML); ergo_real threshold = 1e-12; ergo_real boxSize = 3.3; // Use small box size to provoke errors. symmMatrix V; V.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); if(compute_V_sparse(basisInfo, integralInfo, molecule, threshold, boxSize, V, permutationHML) != 0) { puts("error in compute_V_sparse"); return -1; } // Convert V to full matrix format int n = basisInfo.noOfBasisFuncs; std::vector V_full(n*n); V.fullMatrix(V_full, inversePermutationHML, inversePermutationHML); // Check each element by explicit computation. ergo_real maxAbsDiff = 0; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { // Compute list of simpleprimitives for product of basis funcs i and j. const int maxCount = 888; DistributionSpecStruct list[maxCount]; int nPrims = get_product_simple_primitives(basisInfo, i, basisInfo, j, list, maxCount, 0); if(nPrims < 0) return -1; ergo_real sum = 0; for(int m = 0; m < nPrims; m++) for(int k = 0; k < molecule.getNoOfAtoms(); k++) sum += -1 * do_1e_repulsion_integral_using_symb_info(&list[m], molecule.getAtom(k).charge, molecule.getAtom(k).coords, integralInfo); ergo_real absDiff = fabs(V_full[i*n+j] - sum); if(absDiff > maxAbsDiff) maxAbsDiff = absDiff; } ergo_real tolerance = 1e-11; #ifdef PRECISION_SINGLE tolerance = 1e-5; #endif if(maxAbsDiff > tolerance) { printf("error in V matrix test: maxAbsDiff = %22.15f\n", (double)maxAbsDiff); return -1; } return 0; } int main(int argc, char *argv[]) { IntegralInfo integralInfo(true); int errorCount = 0; if(test_S_V_comparison(integralInfo) != 0) { puts("error in test_S_V_comparison."); errorCount++; } if(test_V_by_explicit_comparison(integralInfo) != 0) { puts("error in test_V_by_explicit_comparison."); errorCount++; } int N = 100; if(argc == 2) N = atoi(argv[1]); for(int i = 0; i < N; i++) { if(test_V_by_explicit_comparison_tight(integralInfo) != 0) errorCount++; } printf("test_V_by_explicit_comparison_tight test repeated, %i times, errorCount = %i\n", N, errorCount); if(errorCount != 0) { puts("ERROR in V matrix tests."); return -1; } puts("V matrix tests OK."); return 0; } ergo-3.5/source/test/naive_response_test.cc0000664000175000017500000004735712743400307016125 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include "basisinfo.h" #include "matrix_utilities.h" #include "integrals_general.h" #include "integrals_2el_explicit.h" #include "integral_matrix_wrappers.h" #include "utilities.h" #include "densfromf_full.h" #include "GetDensFromFock.h" const int MAX_AOS = 30; typedef struct { ergo_real x[MAX_AOS][MAX_AOS][MAX_AOS][MAX_AOS]; } four_idx_AO_struct; static void preparePermutationsHML(const BasisInfoStruct& basisInfo, mat::SizesAndBlocks& sizeBlockInfo, std::vector& permutation, std::vector& inversePermutation, int blockSizeHML) { const int sparseMatrixBlockFactor = 4; sizeBlockInfo = prepareMatrixSizesAndBlocks(basisInfo.noOfBasisFuncs, blockSizeHML, sparseMatrixBlockFactor, sparseMatrixBlockFactor, sparseMatrixBlockFactor); getMatrixPermutation(basisInfo, blockSizeHML, sparseMatrixBlockFactor, sparseMatrixBlockFactor, sparseMatrixBlockFactor, permutation, inversePermutation); } static void report_timing(const Util::TimeMeter & tm, const char* s) { double secondsTaken = Util::TimeMeter::get_wall_seconds() - tm.get_start_time_wall_seconds(); printf("'%s' took %12.5f wall seconds.\n", s, secondsTaken); } void get_HML_J(const mat::SizesAndBlocks & sizeBlockInfo, const IntegralInfo & biBasic, const BasisInfoStruct & bis, const std::vector & permutationHML, const symmMatrix & D, symmMatrix & J) { J.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); JK::Params J_K_params; if(compute_J_by_boxes_sparse(bis, biBasic, J_K_params, J, D, // use S as "density matrix" for J matrix test permutationHML) != 0) throw std::runtime_error("Error in compute_J_by_boxes_sparse."); } void get_HML_K(const mat::SizesAndBlocks & sizeBlockInfo, const IntegralInfo & biBasic, const BasisInfoStruct & bis, const std::vector & permutationHML, const std::vector & inversePermutationHML, symmMatrix & D, symmMatrix & K) { K.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); JK::Params J_K_params; JK::ExchWeights CAM_params; if(compute_K_by_boxes_sparse(bis, biBasic, CAM_params, J_K_params, K, D, permutationHML, inversePermutationHML) != 0) throw std::runtime_error("Error in compute_K_by_boxes_sparse."); } void get_HML_G_matrix(const mat::SizesAndBlocks & sizeBlockInfo, const IntegralInfo & biBasic, const BasisInfoStruct & bis, const std::vector & permutationHML, const std::vector & inversePermutationHML, symmMatrix & D, symmMatrix & G) { symmMatrix J, K; get_HML_J(sizeBlockInfo, biBasic, bis, permutationHML, D, J); get_HML_K(sizeBlockInfo, biBasic, bis, permutationHML, inversePermutationHML, D, K); G = J; G += K; } void get_HML_dens_matrix(int noOfBasisFuncs, int noOfOccupiedOrbitals, const mat::SizesAndBlocks & sizeBlockInfo, const std::vector & permutationHML, const std::vector & inversePermutationHML, symmMatrix & S, symmMatrix & F, symmMatrix & Dnew) { triangMatrix Z; Z.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); Z.inch(S, 0, mat::right); S.writeToFile(); Z.writeToFile(); // it is enough to set parameters which will be used or checked // if parameter is not specified nad checked somewhere during the execution, we should get an exception GetDensFromFock DensFromFock; DensFromFock.set_general_params(noOfBasisFuncs, sizeBlockInfo); DensFromFock.set_no_occupied_orbs(noOfOccupiedOrbitals); DensFromFock.set_use_diagonalization(); DensFromFock.set_use_diag_on_error(); DensFromFock.unset_use_stochastic_orbitals(); DensFromFock.unset_use_purification(); DensFromFock.unset_store_all_eigenvalues_to_file(); ergo_real electronic_temperature = 0; DensFromFock.set_diagonalization_params(electronic_temperature, S); DensFromFock.do_restricted_calculations(); // set factor = 2 ergo_real invCholFactor_euclnorm = 0; DensFromFock.set_invCholFactor(Z, invCholFactor_euclnorm); ergo_real gap_expected_lower_bound = 0; DensFromFock.set_gap_expected_lower_bound(gap_expected_lower_bound); // before we set use_diagonalization flag // if purification will not be executed, these lines can be deleted ergo_real purification_subspace_err_limit = 1e-4; ergo_real purification_eigvalue_err_limit= 1e-4; ergo_real puri_eig_acc_factor_for_guess = 0; DensFromFock.set_purification_limits(purification_subspace_err_limit, purification_eigvalue_err_limit, puri_eig_acc_factor_for_guess); DensFromFock.unset_use_acceleration(); mat::normType normType = mat::frobNorm; DensFromFock.set_truncationNormPurification(normType); DensFromFock.set_stopCriterionNormPurification(normType); DensFromFock.unset_purification_create_m_files(); // this paramerter can be removed now DensFromFock.unset_output_homo_and_lumo_eigenvectors(); DensFromFock.unset_use_new_stopping_criterion(); DensFromFock.unset_use_diag_on_error_guess(); /**********/ DensFromFock.unset_do_sparsity_investigation(); // DensFromFock.set_sparsity_plots_resolution_m(10); DensFromFock.unset_do_comparison_to_simple_purification(); DensFromFock.unset_do_puri_mmul_tests(); DensFromFock.set_purification_maxmul(88); DensFromFock.unset_purification_ignore_failure(); DensFromFock.unset_purification_use_rand_perturbation_for_alleigsint(); DensFromFock.set_gap_expected_lower_bound(0); DensFromFock.clean_eigs_intervals(); std::map puri_stats; symmMatrix F_ort_prev_dummy; F_ort_prev_dummy.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); Dnew.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); Dnew.writeToFile(); F.writeToFile(); F_ort_prev_dummy.writeToFile(); if(DensFromFock.get_dens_from_fock(F, Dnew, F_ort_prev_dummy) != 0) throw "Error in get_dens_from_fock."; DensFromFock.get_puri_stats(puri_stats); S.readFromFile(); Z.readFromFile(); Dnew.readFromFile(); F.readFromFile(); } void do_HF_HML(int noOfBasisFuncs, int noOfOccupiedOrbitals, const mat::SizesAndBlocks & sizeBlockInfo, const IntegralInfo & biBasic, const BasisInfoStruct & bis, const std::vector & permutationHML, const std::vector & inversePermutationHML, const symmMatrix & S, const symmMatrix & T, const symmMatrix & V, double nuclearRepulsionEnergy, int noOfIterations, symmMatrix & finalFockMatrix ) { symmMatrix Scopy(S); symmMatrix Hcore; Hcore = T + V; symmMatrix D(S); int count = 0; while(1) { // Get new Fock matrix symmMatrix G; get_HML_G_matrix(sizeBlockInfo, biBasic, bis, permutationHML, inversePermutationHML, D, G); double E = symmMatrix::trace_ab(D, Hcore) + 0.5 * symmMatrix::trace_ab(D, G) + nuclearRepulsionEnergy; printf("Energy %3d: %22.11f (symmMatrix::trace_ab(D, G) = %12.6f, symmMatrix::trace_ab(D, Hcore) = %12.6f)\n", count, E, (double)symmMatrix::trace_ab(D, G), (double)symmMatrix::trace_ab(D, Hcore)); symmMatrix F(Hcore); F += G; symmMatrix Dnew; get_HML_dens_matrix(noOfBasisFuncs, noOfOccupiedOrbitals, sizeBlockInfo, permutationHML, inversePermutationHML, Scopy, F, Dnew); // Compute energy D = Dnew; count++; if(count == noOfIterations) { finalFockMatrix = F; break; } } } /* The get_matrices_A_and_B routine computed matrices A and B as given in equations (3.35) and (3.36) in the following paper: "Polarization propagator methods in atomic and molecular calculations" Jens Oddershede, Poul Jørgensen, and Danny L. Yeager Computer Physics Reports Volume 2, Issue 2, November–December 1984, Pages 33-92 http://dx.doi.org/10.1016/0167-7977(84)90003-0 */ static void get_matrices_A_and_B(int nBasisFuncs, int noOfOccupiedOrbitals, ergo_real* A, ergo_real* B, const ergo_real* eigv, const four_idx_AO_struct* g_MO) { int nBasf = nBasisFuncs; int nOcc = noOfOccupiedOrbitals; int n2 = nBasf*nBasf; for(int m = 0; m < nBasf; m++) for(int alpha = 0; alpha < nBasf; alpha++) for(int n = 0; n < nBasf; n++) for(int beta = 0; beta < nBasf; beta++) { int idx1 = m * nBasf + alpha; int idx2 = n * nBasf + beta; if(m < nOcc || n < nOcc || alpha >= nOcc || beta >= nOcc) { A[idx1*n2+idx2] = 0; B[idx1*n2+idx2] = 0; continue; } int delta_m_n = 0; if(m == n) delta_m_n = 1; int delta_alpha_beta = 0; if(alpha == beta) delta_alpha_beta = 1; A[idx1*n2+idx2] = (eigv[m] - eigv[alpha]) * delta_m_n * delta_alpha_beta + 2*g_MO->x[m][alpha][beta][n] - g_MO->x[m][n][beta][alpha]; B[idx1*n2+idx2] = g_MO->x[alpha][n][beta][m] - 2 * g_MO->x[alpha][m][beta][n]; } } static void get_all_generalized_eigenvalues(int n, const ergo_real* A_in, const ergo_real* B_in, ergo_real* eigvalList) { int lwork = 8*n*n; std::vector work(lwork); std::vector A(n*n); std::vector B(n*n); memcpy(&A[0], A_in, n*n*sizeof(ergo_real)); memcpy(&B[0], B_in, n*n*sizeof(ergo_real)); std::vector alpha_r(n); std::vector alpha_i(n); std::vector beta(n); ergo_real* vl = NULL; ergo_real* vr = NULL; int ldvl = 1; int ldvr = 1; int info = -1; mat::ggev("N", "N", &n, &A[0], &n, &B[0], &n, &alpha_r[0], &alpha_i[0], &beta[0], vl, &ldvl, vr, &ldvr, &work[0], &lwork, &info); if(info != 0) throw std::runtime_error("Error in mat::ggev: (info != 0)"); // Check that all eigenvalues are real for(int i = 0; i < n; i++) { if(alpha_i[i] != 0) throw std::runtime_error("Error, eigenvalue from mat::ggev with nonzero imaginary part found."); } for(int i = 0; i < n; i++) eigvalList[i] = alpha_r[i] / beta[i]; } int main(int argc, char *argv[]) { #ifdef _OPENMP int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) { defThreads = 1; } mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(2); std::cout<<"OpenMP is used, number of threads set to " < 1) moleculeStr = argv[1]; else moleculeStr = "default"; int blockSizeHML = 16; printf("===== Parameters (set by command-line args in the same order as below) =======\n"); printf("moleculeStr = '%s'\n", moleculeStr.c_str()); printf("===== End of parameters ======================================================\n"); IntegralInfo biBasic(true); BasisInfoStruct bis; Molecule m; if(moleculeStr == "default") { // Use default h2o molecule. m.addAtom(8, 0, 0, 0); m.addAtom(1, -1.809, 0, 0); m.addAtom(1, 0.453549, 1.751221, 0); int nAtoms = m.getNoOfAtoms(); printf("Using default molecule, nAtoms = %d\n", nAtoms); } else { // We expect a filename for a molecule file. if(m.setFromMoleculeFile(moleculeStr.c_str(), 0, /* we are guessing the net charge here */ NULL) != 0) { std::cerr << "Error in setFromMoleculeFile for filename '" << moleculeStr << "'." << std::endl; throw std::runtime_error("Error in m.setFromMoleculeFile()."); } // Verify that nAtoms is -1 in this case. int nAtoms = m.getNoOfAtoms(); printf("Molecule file '%s' read OK, nAtoms = %d\n", moleculeStr.c_str(), nAtoms); } Util::TimeMeter tmPartB; m.setNetCharge(0); int noOfElectrons = m.getNumberOfElectrons(); if(noOfElectrons <= 0 || noOfElectrons % 2 != 0) { printf("Error: noOfElectrons = %d. Need even number of electrons.\n", noOfElectrons); return -1; } int noOfOccupiedOrbitals = noOfElectrons / 2; printf("noOfElectrons = %5d ==> noOfOccupiedOrbitals = %5d\n", noOfElectrons, noOfOccupiedOrbitals); int noOfIterationsHF = 25; const char* basisSetName = "STO-3G"; static const char *dirv[] = { ".", "basis", "../basis", ERGO_DATA_PREFIX "/basis", ERGO_DATA_PREFIX, ERGO_SPREFIX "/basis", ERGO_SPREFIX }; basisset_info basissetDef; if(read_basisset_file(basissetDef, basisSetName, 6, dirv, 0) != 0) throw std::runtime_error("Error in read_basisset_file()."); ergo_real nuclearRepulsionEnergy = m.getNuclearRepulsionEnergy(); std::vector atomList(m.getNoOfAtoms()); for(int i = 0; i < m.getNoOfAtoms(); i++) atomList[i] = m.getAtom(i); if(bis.addBasisfuncsForMolecule(m, basisSetName, 0, NULL, biBasic, 0, 0, 0) != 0) throw std::runtime_error("bis.addBasisfuncsForMolecule failed."); int nBasisFuncs = bis.noOfBasisFuncs; printf("nBasisFuncs = %d\n", nBasisFuncs); // Get HML overlap matrix std::vector permutationHML, inversePermutationHML; mat::SizesAndBlocks sizeBlockInfo; preparePermutationsHML(bis, sizeBlockInfo, permutationHML, inversePermutationHML, blockSizeHML); symmMatrix S_notrunc; S_notrunc.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); if(compute_overlap_matrix_sparse(bis, S_notrunc, permutationHML) != 0) throw std::runtime_error("Error in compute_overlap_matrix_sparse."); symmMatrix Ssymm(S_notrunc); printf("Ssymm.eucl() = %9.5f\n", (double)Ssymm.eucl(1e-6)); symmMatrix T_notrunc; symmMatrix V_notrunc; // Get HML T matrix T_notrunc.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); ergo_real threshold_for_T = 1e-12; if(compute_T_sparse(bis, biBasic, threshold_for_T, T_notrunc, permutationHML) != 0) throw std::runtime_error("Error in compute_T_sparse."); // Get HML V matrix V_notrunc.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); ergo_real threshold_for_V = 1e-12; ergo_real boxSize_for_V = 8.8; if(compute_V_sparse(bis, biBasic, m, threshold_for_V, boxSize_for_V, V_notrunc, permutationHML) != 0) throw std::runtime_error("Error in compute_V_sparse."); symmMatrix FockMatrix; printf("Calling do_HF_HML()\n"); do_HF_HML(nBasisFuncs, noOfOccupiedOrbitals, sizeBlockInfo, biBasic, bis, permutationHML, inversePermutationHML, S_notrunc, T_notrunc, V_notrunc, nuclearRepulsionEnergy, noOfIterationsHF, FockMatrix); printf("After do_HF_HML()\n"); int n = nBasisFuncs; std::vector S_full(n*n); S_notrunc.fullMatrix(S_full, inversePermutationHML, inversePermutationHML); std::vector F_full(n*n); FockMatrix.fullMatrix(F_full, inversePermutationHML, inversePermutationHML); // Get eigenvectors and eigenvalues of F (also known as molecular orbitals and orbital energies) std::vector MOs(n*n); std::vector eigv(n); get_F_orbs(n, &F_full[0], &S_full[0], &MOs[0], &eigv[0]); // Get two-electron integrals printf("Computing two-electron integrals...\n"); four_idx_AO_struct* g_AO = new four_idx_AO_struct; for(int p = 0; p < n; p++) for(int q = 0; q < n; q++) for(int r = 0; r < n; r++) for(int s = 0; s < n; s++) g_AO->x[p][q][r][s] = do_2e_integral(p, q, r, s, bis, biBasic); printf("Two-electron integrals done.\n"); // Get two-electron integrals in MO basis printf("Computing two-electron integrals in MO basis...\n"); four_idx_AO_struct* g_MO = new four_idx_AO_struct; for(int p = 0; p < n; p++) for(int q = 0; q < n; q++) for(int r = 0; r < n; r++) for(int s = 0; s < n; s++) { ergo_real sum = 0; for(int a = 0; a < n; a++) for(int b = 0; b < n; b++) for(int c = 0; c < n; c++) for(int d = 0; d < n; d++) sum += MOs[p*n+a] * MOs[q*n+b] * MOs[r*n+c] * MOs[s*n+d] * g_AO->x[a][b][c][d]; g_MO->x[p][q][r][s] = sum; } printf("Two-electron integrals in MO basis done.\n"); // Set up matrices A and B needed for response equations int n2=n*n; std::vector A(n2*n2); std::vector B(n2*n2); get_matrices_A_and_B(n, noOfOccupiedOrbitals, &A[0], &B[0], &eigv[0], g_MO); // Set up matrix of double size for linear response eigenvalue equation int n2b=2*n2; std::vector M(n2b*n2b); // Insert A into upper left corner of M for(int p = 0; p < n2; p++) for(int q = 0; q < n2; q++) M[p*n2b+q] = A[p*n2+q]; // Insert A into lower right corner of M for(int p = 0; p < n2; p++) for(int q = 0; q < n2; q++) M[(p+n2)*n2b+(q+n2)] = A[p*n2+q]; // Insert B into upper right corner of M for(int p = 0; p < n2; p++) for(int q = 0; q < n2; q++) M[p*n2b+(q+n2)] = B[p*n2+q]; // Insert B into lower left corner of M for(int p = 0; p < n2; p++) for(int q = 0; q < n2; q++) M[(p+n2)*n2b+q] = B[p*n2+q]; // Set up diagonal matrix II with values 1 and -1 on diagonal std::vector II(n2b*n2b); for(int i = 0; i < n2b; i++) for(int j = 0; j < n2b; j++) { ergo_real value = 0; if(i == j) { if(i < n2) value = 1; else value = -1; } II[i*n2b+j] = value; } // Get generalized eigenvalues of M and II std::vector eigvalList(n2b); get_all_generalized_eigenvalues(n2b, &M[0], &II[0], &eigvalList[0]); std::sort(eigvalList.begin(), eigvalList.begin()+n2b); printf("Nonzero eigenvalues of M and II:\n"); for(int i = 0; i < n2b; i++) { if(fabs(eigvalList[i]) > 1e-6) printf("Eigenvalue %5d: %12.8f\n", i, (double)eigvalList[i]); } if(moleculeStr == "default") { // Verify that computed eigenvalues match reference values that were computed using the standard (less naive) implementation in Ergo. ergo_real maxabsdiff = 0; ergo_real refValues[] = {0.483554699, 0.556648356, 0.612541560, 0.702754741}; for(int i = 0; i < 4; i++) { ergo_real absdiff = std::fabs(eigvalList[88+i] - refValues[i]); if(absdiff > maxabsdiff) maxabsdiff = absdiff; } ergo_real tolerance = 1e-7; #ifdef PRECISION_SINGLE tolerance = 1e-5; #endif printf("Comparison of eigenvalues to ref values, maxabsdiff = %9.5g, tolerance = %9.5g\n", (double)maxabsdiff, (double)tolerance); if(maxabsdiff > tolerance) throw std::runtime_error("Error: maxabsdiff too large."); } // FIXME: Solve linear response equations for a particular value of the frequency omega, to compute polarizability values. puts("Naive response test succeeded."); report_timing(tmEverything, "Everything"); return 0; } ergo-3.5/source/test/kmat_test.cc0000664000175000017500000001347112743400307014027 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file kmat_test.cc Tests the sparse exchange matrix construction. */ #include #include #include #include #include #include "matrix_utilities.h" #include "integral_matrix_wrappers.h" int main(int argc, char *argv[]) { int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) { defThreads = 1; } #ifdef _OPENMP mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(2); std::cout<<"OpenMP is used, number of threads set to " < permutationHML(bis.noOfBasisFuncs); std::vector inversePermutationHML(bis.noOfBasisFuncs); getMatrixPermutation(bis, 20, 8, 8, 8, permutationHML, inversePermutationHML); symmMatrix D; D.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix K_1; K_1.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix K_2; K_2.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix K_diff; K_diff.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); { /* Add values to density matrix diagonal and one step next to diagonal. */ const int nvalues1 = bis.noOfBasisFuncs; std::vector idxrow(nvalues1); std::vector idxcol(nvalues1); std::vector values(nvalues1); for(int i=0; i::epsilon(); J_K_params.threshold_K = sqrt(EPS); JK::ExchWeights CAM_params_not_used; J_K_params.exchange_box_size = 10; if(compute_K_by_boxes_sparse(bis, biBasic, CAM_params_not_used, J_K_params, K_1, D, permutationHML, inversePermutationHML) != 0) { printf("Error in compute_K_by_boxes_sparse\n"); return -1; } J_K_params.exchange_box_size = 4; if(compute_K_by_boxes_sparse(bis, biBasic, CAM_params_not_used, J_K_params, K_2, D, permutationHML, inversePermutationHML) != 0) { printf("Error in compute_K_by_boxes_sparse\n"); return -1; } K_diff = K_1; K_diff += (ergo_real)(-1.0) * K_2; ergo_real acc = sqrt(EPS); ergo_real diffNorm = K_diff.eucl(acc); ergo_real requestedAcc; if(getenv("RUN_BENCHMARK")) requestedAcc = J_K_params.threshold_K*25*nx*ny*nz; else requestedAcc = J_K_params.threshold_K*25*nx*ny*nz; if(diffNorm > requestedAcc) { printf("Error in K test: diff too large!\n"); printf("diffNorm = %8.4g\n", (double)diffNorm); printf("requestedAcc = %8.4g\n", (double)requestedAcc); return -1; } unlink("ergoscf.out"); printf("K test OK, diffNorm = %7.4g\n", (double)diffNorm); return 0; } ergo-3.5/source/test/recexp_diag_test.cc0000664000175000017500000001776312743400307015355 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file recexp_diag_test.cc \brief Test serial recursive expansion on a diagonal matrix. @author Anastasia Kruchinina responsible */ #include "purification_sp2.h" #include "purification_sp2acc.h" #include "matrix_typedefs.h" // definitions of matrix types and interval type (source) #include "realtype.h" // definitions of types (utilities_basic) #include "matrix_utilities.h" #include "integral_matrix_wrappers.h" #include "SizesAndBlocks.h" #include "Matrix.h" #include "Vector.h" #include "MatrixSymmetric.h" #include "MatrixTriangular.h" #include "MatrixGeneral.h" #include "VectorGeneral.h" #include "output.h" #include "ErgoMatrix.h" #include #include #include #include "random_matrices.h" using namespace std; typedef ErgoMatrix MatrixType; typedef MatrixType::VectorType VectorType; #define SCALAR_TOL std::sqrt(std::numeric_limits::epsilon()) int main(int argc, char *argv[]) { #ifdef _OPENMP int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) { defThreads = 1; } mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(2); std::cout<<"OpenMP is used, number of threads set to " < 7) { printf("Usage: %s N N_occ rand_seed gap gap_around [option]\n", argv[0]); printf(" where option is: \n"); printf(" 1 - equidistant eigenvalues outside gap (default) in [0,1] \n"); printf(" 2 - random spectrum in [0,1]\n"); return EXIT_FAILURE; } N = atoi(argv[1]); N_occ = atoi(argv[2]); rand_seed = atoi(argv[3]); gap = atof(argv[4]); gap_around = atof(argv[5]); if(argc == 7) eig_option = atoi(argv[6]); else eig_option = 1; } else // use default { N = 342; N_occ = 53; rand_seed = 9187; gap = 0.01; gap_around = 0.81; eig_option = 2; } srand(rand_seed); // Create random symmetric matrix F with eigenvalues eigvalList std::vector eigvalList(N); if(eig_option == 1) { // [0, gap_around-gap/2] for(int i = 1; i < N_occ; ++i) eigvalList[i] = (double)i/(N_occ-1)*(gap_around-gap/2); for(int i = 0; i < N-N_occ; ++i) eigvalList[N_occ+i] = (double)i/(N-N_occ-1)*(1-(gap_around+gap/2)) + gap_around+gap/2; } if(eig_option == 2) { // [0, gap_around-gap/2] for(int i = 1; i < N_occ; ++i) eigvalList[i] = (double)rand()/MAX_DOUBLE*(gap_around-gap/2); eigvalList[N_occ-1] = gap_around-gap/2; eigvalList[N_occ] = gap_around+gap/2; for(int i = 1; i < N-N_occ-1; ++i) eigvalList[N_occ+i] = (double)rand()/MAX_DOUBLE*(1-(gap_around+gap/2)) + gap_around+gap/2; eigvalList[N-1] = 1; sort(eigvalList.begin(), eigvalList.end()); } printf("Data for the matrix F:\n"); printf("N = %4d\n", N ); printf("N_occ = %4d\n", N_occ ); printf("rand_seed = %4d\n", rand_seed); printf("gap = %lf\n", gap); printf("gap_around %lf\n", gap_around); real eigmin, eigmax; std::vector::iterator result; result = std::min_element(eigvalList.begin(), eigvalList.end()); eigmin = *result; result = std::max_element(eigvalList.begin(), eigvalList.end()); eigmax = *result; printf("Spectrum is in [%lf, %lf]\n", (double)eigmin, (double)eigmax); if(eig_option == 1) printf("Equidistant eigenvalues in [0,1] outside gap\n"); else printf("Random spectrum in [0,1]\n"); printf("Generating matrix...\n"); MatrixTypeInner Fin; init_matrix(Fin, N); std::vector rows(N), cols(N); for(int i = 0; i < N; ++i) {rows[i] = i; cols[i] = i;} Fin.assign_from_sparse(rows, cols, eigvalList); printf("Matrix generated!\n"); ergo_real homo = eigvalList[N_occ-1]; ergo_real lumo = eigvalList[N_occ ]; ergo_real epsilon_for_homo_lumo_intervals = 1e-3; IntervalType homo_bounds(homo-epsilon_for_homo_lumo_intervals, homo+epsilon_for_homo_lumo_intervals); IntervalType lumo_bounds(lumo-epsilon_for_homo_lumo_intervals, lumo+epsilon_for_homo_lumo_intervals); if( homo_bounds.empty() ) { printf("Interval homo_bounds is empty.\n"); return EXIT_FAILURE; } if ( lumo_bounds.empty() ) { printf("Interval lumo_bounds is empty.\n"); return EXIT_FAILURE; } MatrixType F(Fin); mat::normType normPuri = mat::euclNorm; mat::normType normPuriStopCrit = mat::euclNorm; int maxit = 100; ergo_real error_eig = 0; // is not needed for new stopping criterion ergo_real error_sub = 0; // no truncation cout << "*******************" << endl; cout << " Run SP2..." << endl; cout << "*******************" << endl; try { Purification_sp2 Puri; Puri.initialize(F, lumo_bounds, homo_bounds, maxit, error_sub, error_eig, 1, // 1 = new, 0 = old stopping criterion normPuri, normPuriStopCrit, N_occ); Puri.PurificationStart(); //Puri.info.print_collected_info(); MatrixType X = Puri.X; // CHECK RESULT ergo_real traceX = X.trace(); if(abs(traceX - N_occ) > SCALAR_TOL) throw std::runtime_error("SP2: Wrong value of trace! (abs(traceX - N_occ) > SCALAR_TOL)"); } catch(char const* e) { cerr << e << endl; return EXIT_FAILURE; } catch(const std::exception& e) { cerr << e.what() << endl; return EXIT_FAILURE; } cout << "*******************" << endl; cout << " Run SP2ACC..." << endl; cout << "*******************" << endl; try { Purification_sp2acc PuriACC; PuriACC.initialize(F, lumo_bounds, homo_bounds, maxit, error_sub, error_eig, 1, // 1 = new, 0 = old stopping criterion normPuri, normPuriStopCrit, N_occ); PuriACC.PurificationStart(); //Puri.info.print_collected_info(); MatrixType Xacc = PuriACC.X; // CHECK RESULT ergo_real traceXacc = Xacc.trace(); if(abs(traceXacc - N_occ) > SCALAR_TOL) throw std::runtime_error("SP2ACC: Wrong value of trace! (abs(traceX - N_occ) > SCALAR_TOL)"); } catch(char const* e) { cerr << e << endl; return EXIT_FAILURE; } catch(const std::exception& e) { cerr << e.what() << endl; return EXIT_FAILURE; } cout << "Recursive expansion test on diagonal matrix finished OK!" << endl; return EXIT_SUCCESS; } ergo-3.5/source/test/basicmath_test.cc0000664000175000017500000001672612743400307015034 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file basicmath_test.cc Tests some basic math functions such as template_blas_sqrt() template_blas_log() etc to see that they are working properly and that they deliver the expected accuracy. */ #include #include #include #include "realtype.h" #include "template_blas_common.h" int main(int argc, char *argv[]) { int failed = 0; int verbose = getenv("VERBOSE") != NULL; ergo_real machine_epsilon = std::numeric_limits::epsilon(); printf("machine_epsilon = %g Run with env VERBOSE for more info.\n", (double)machine_epsilon); /* Test sqrt function for a set of random numbers. */ ergo_real maxabsdiff_sqrt = 0; for(int i = 0; i < 7777; i++) { ergo_real x = (ergo_real)rand() / RAND_MAX; ergo_real x2 = x * x; ergo_real sqrt_of_x2 = template_blas_sqrt(x2); ergo_real diff = sqrt_of_x2 - x; ergo_real absdiff = diff; if(absdiff < 0) absdiff *= -1; if(absdiff > maxabsdiff_sqrt) maxabsdiff_sqrt = absdiff; } if(verbose) printf("maxabsdiff for template_blas_sqrt: %g\n", (double)maxabsdiff_sqrt); ergo_real maxabsdiff_sqrt_requested = machine_epsilon; if(maxabsdiff_sqrt > maxabsdiff_sqrt_requested) { printf("ERROR: template_blas_sqrt() not accurate enough!\n"); printf("maxabsdiff_sqrt: %g, requested: %g\n", (double)maxabsdiff_sqrt, (double)maxabsdiff_sqrt_requested); failed++; } else { if(verbose) printf("template_blas_sqrt() accuracy OK.\n"); } /* Test exp function by computing exp(a)*exp(b) and comparing to exp(a+b) for a list of random pairs (a,b) */ ergo_real maxabsdiff_exp = 0; for(int i = 0; i < 7777; i++) { ergo_real a = (ergo_real)rand() / RAND_MAX; ergo_real b = (ergo_real)rand() / RAND_MAX; ergo_real product_of_exps = template_blas_exp(a) * template_blas_exp(b); ergo_real exp_of_sum = template_blas_exp(a + b); ergo_real diff = product_of_exps - exp_of_sum; ergo_real absdiff = diff; if(absdiff < 0) absdiff *= -1; if(absdiff > maxabsdiff_exp) maxabsdiff_exp = absdiff; } if(verbose) printf("maxabsdiff for template_blas_exp: %g\n", (double)maxabsdiff_exp); ergo_real maxabsdiff_exp_requested = machine_epsilon * 15; if(maxabsdiff_exp > maxabsdiff_exp_requested) { printf("ERROR: template_blas_exp() not accurate enough!\n"); printf("maxabsdiff_exp: %g, requested: %g\n", (double)maxabsdiff_exp, (double)maxabsdiff_exp_requested); failed++; } else { if(verbose) printf("template_blas_exp() accuracy OK.\n"); } /* Test log function by computing log(a) + log(b) and comparing to log(a*b) for a list of random pairs (a,b) */ ergo_real maxabsdiff_log = 0; for(int i = 0; i < 7777; i++) { ergo_real a = (ergo_real)rand() / RAND_MAX; ergo_real b = (ergo_real)rand() / RAND_MAX; ergo_real sum_of_logs = template_blas_log(a) + template_blas_log(b); ergo_real log_of_product = template_blas_log(a * b); ergo_real diff = sum_of_logs - log_of_product; ergo_real absdiff = diff; if(absdiff < 0) absdiff *= -1; if(absdiff > maxabsdiff_log) maxabsdiff_log = absdiff; } if(verbose) printf("maxabsdiff for template_blas_log: %g\n", (double)maxabsdiff_log); ergo_real maxabsdiff_log_requested = machine_epsilon * 10; if(maxabsdiff_log > maxabsdiff_log_requested) { printf("ERROR: template_blas_log() not accurate enough!\n"); printf("maxabsdiff_log: %g, requested: %g\n", (double)maxabsdiff_log, (double)maxabsdiff_log_requested); failed++; } else { if(verbose) printf("template_blas_log() accuracy OK.\n"); } /* Test erf function by comparing with a series expression */ ergo_real piBBP = template_blas_compute_pi_BBP((ergo_real)0); ergo_real maxabsdiff_erf = 0; for(int i = 0; i < 777; i++) { ergo_real x = (ergo_real)rand() / RAND_MAX; ergo_real minus_1_to_pow_n = 1; ergo_real n_factorial = 1; ergo_real x_to_pow_2n_plus_1 = x; int n = 0; ergo_real sum = 0; while(((ergo_real)1 / n_factorial) > machine_epsilon) { sum += (minus_1_to_pow_n / ( n_factorial * (ergo_real)( 2 * n + 1) )) * x_to_pow_2n_plus_1; n++; minus_1_to_pow_n *= -1; n_factorial *= n; x_to_pow_2n_plus_1 *= x * x; } ergo_real series_result = ((ergo_real)2 / template_blas_sqrt(piBBP)) * sum; ergo_real erf_value = template_blas_erf(x); ergo_real diff = series_result - erf_value; ergo_real absdiff = diff; if(absdiff < 0) absdiff *= -1; if(absdiff > maxabsdiff_erf) maxabsdiff_erf = absdiff; } // END FOR i if(verbose) printf("maxabsdiff for template_blas_erf: %g\n", (double)maxabsdiff_erf); ergo_real maxabsdiff_erf_requested = machine_epsilon * 5; if(maxabsdiff_erf > maxabsdiff_erf_requested) { printf("ERROR: template_blas_erf() not accurate enough!\n"); printf("maxabsdiff_erf: %g, requested: %g\n", (double)maxabsdiff_erf, (double)maxabsdiff_erf_requested); failed++; } else { if(verbose) printf("template_blas_erf() accuracy OK.\n"); } /* Test erfc function by computing erf(x) + erfc(x) and comparing to 1 */ ergo_real maxabsdiff_erfc = 0; for(int i = 0; i < 777; i++) { ergo_real x = (ergo_real)rand() / RAND_MAX; ergo_real erf_of_x = template_blas_erf(x); ergo_real erfc_of_x = template_blas_erfc(x); ergo_real sum = erf_of_x + erfc_of_x; ergo_real diff = sum - (ergo_real)1.0; ergo_real absdiff = diff; if(absdiff < 0) absdiff *= -1; if(absdiff > maxabsdiff_erfc) maxabsdiff_erfc = absdiff; } // END FOR i if(verbose) printf("maxabsdiff for template_blas_erfc: %g\n", (double)maxabsdiff_erfc); ergo_real maxabsdiff_erfc_requested = machine_epsilon * 1; if(maxabsdiff_erfc > maxabsdiff_erfc_requested) { printf("ERROR: template_blas_erfc() not accurate enough!\n"); printf("maxabsdiff_erfc: %g, requested: %g\n", (double)maxabsdiff_erfc, (double)maxabsdiff_erfc_requested); failed++; } else { if(verbose) printf("template_blas_erfc() accuracy OK.\n"); } if (!failed) puts("Basic math functions test succeeded."); else puts("Basic math functions test FAILED."); return failed; } ergo-3.5/source/test/jmat_test.cc0000664000175000017500000001306712743400307014027 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file jmat_test.cc Tests the sparse Coulomb matrix construction. */ #include #include #include #include #include #include "matrix_utilities.h" #include "integral_matrix_wrappers.h" int main(int argc, char *argv[]) { int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) { defThreads = 1; } #ifdef _OPENMP mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(2); std::cout<<"OpenMP is used, number of threads set to " < permutationHML(bis.noOfBasisFuncs); getMatrixPermutation(bis, 20, 8, 8, 8, permutationHML); symmMatrix D; D.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix J_1; J_1.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix J_2; J_2.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix J_diff; J_diff.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); { /* Add values to density matrix diagonal and one step next to diagonal. */ const int nvalues1 = bis.noOfBasisFuncs; std::vector idxrow(nvalues1); std::vector idxcol(nvalues1); std::vector values(nvalues1); for(int i=0; i::epsilon(); J_K_params.threshold_J = sqrt(EPS); J_K_params.fmm_box_size = 10; if(compute_J_by_boxes_sparse(bis, biBasic, J_K_params, J_1, D, permutationHML) != 0) { printf("Error in compute_J_by_boxes_sparse\n"); return -1; } J_K_params.fmm_box_size = 4; if(compute_J_by_boxes_sparse(bis, biBasic, J_K_params, J_2, D, permutationHML) != 0) { printf("Error in compute_J_by_boxes_sparse\n"); return -1; } J_diff = J_1; J_diff += (ergo_real)(-1.0) * J_2; ergo_real acc = sqrt(EPS); ergo_real diffNorm = J_diff.eucl(acc); ergo_real requestedAcc; if(getenv("RUN_BENCHMARK")) requestedAcc = J_K_params.threshold_J*50*nx*ny*nz; else requestedAcc = J_K_params.threshold_J*25*nx*ny*nz; if(diffNorm > requestedAcc) { printf("Error in J test: diff too large!\n"); printf("diffNorm = %8.4g\n", (double)diffNorm); printf("requestedAcc = %8.4g\n", (double)requestedAcc); return -1; } unlink("ergoscf.out"); printf("J test OK, diffNorm = %7.4g\n", (double)diffNorm); return 0; } ergo-3.5/source/test/matmem_test.cc0000664000175000017500000002155612743400307014356 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file matmem_test.cc Tests matrix library memory usage. */ #include #include #include #include #include #include #include "matrix_utilities.h" #include "integral_matrix_wrappers.h" #include "output.h" int main(int argc, char *argv[]) { enable_memory_usage_output(); #ifdef _OPENMP int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) { defThreads = 1; } mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(2); std::cout<<"OpenMP is used, number of threads set to " <); int sizeOfPointer = sizeof(char*); int sizeOfSizet = sizeof(size_t); do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "sizeOfVectorObject = %d, sizeOfPointer = %d, sizeOfSizet = %d", sizeOfVectorObject, sizeOfPointer, sizeOfSizet); for(int k = 0; k < 6; k++) { do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "k = %2d", k); { const int Nvectors = 1200000; std::vector< char* > vectorList(Nvectors); int totSize = 0; for(int i = 0; i < Nvectors; i++) { //for(int i = Nvectors-1; i >= 0; i--) { int size = (i % 2) * 500 + 12; vectorList[i] = new char[size]; totSize += size; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "totSize = %d = %9.5f GB", totSize, (double)totSize / 1000000000); output_current_memory_usage(LOG_AREA_MAIN, "After allocating vectors"); //for(int i = 0; i < Nvectors; i++) for(int i = Nvectors-1; i >= 0; i--) delete [] vectorList[i]; output_current_memory_usage(LOG_AREA_MAIN, "After deleting vectors"); } output_current_memory_usage(LOG_AREA_MAIN, "After vectors scope ended"); #if 1 { do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Allocating single vector of 350 MB."); std::vector tmpVect(350000000); output_current_memory_usage(LOG_AREA_MAIN, "After allocating single vector of 350 MB"); } #endif } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Doing vector allocation stuff again!"); { const int Nvectors = 3000000; std::vector< char* > vectorList(Nvectors); int totSize = 0; for(int i = 0; i < Nvectors; i++) { //for(int i = Nvectors-1; i >= 0; i--) { int size = (i % 3) * 250 + 10; vectorList[i] = new char[size]; totSize += size; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "totSize = %d = %9.5f GB", totSize, (double)totSize / 1000000000); output_current_memory_usage(LOG_AREA_MAIN, "After allocating vectors"); //for(int i = 0; i < Nvectors; i++) for(int i = Nvectors-1; i >= 0; i--) delete [] vectorList[i]; output_current_memory_usage(LOG_AREA_MAIN, "After deleting vectors"); } output_current_memory_usage(LOG_AREA_MAIN, "After vectors scope ended"); IntegralInfo biBasic(true); BasisInfoStruct bis; Molecule m; int nx, ny, nz; nx = 10; ny = 5; nz = 7; const ergo_real space = 8.0; int atomCount = 0; for(int ix = 0; ix < nx; ix++) for(int iy = 0; iy < ny; iy++) for(int iz = 0; iz < nz; iz++) { ergo_real x = ix*space + 0.4*std::cos((ix+iy+iz)*0.2+0.0)*space; ergo_real y = iy*space + 0.4*std::cos((ix+iy+iz)*0.2+0.3)*space; ergo_real z = iz*space + 0.4*std::cos((ix+iy+iz)*0.2+0.6)*space; /* Use a mix of charges: H, C, Zn. It is good to have some Zn there so we check also usage of basis functions of f type. */ int charge = 1; if(atomCount%3 == 0) charge = 6; if(atomCount%9 == 0) charge = 30; m.addAtom(charge, x, y, z); atomCount++; } if(bis.addBasisfuncsForMolecule(m, ERGO_SPREFIX "/basis/6-31Gss", 0, NULL, biBasic, 0, 0, 0) != 0) { printf("bis.addBasisfuncsForMolecule failed.\n"); return 1; } mat::SizesAndBlocks matrix_size_block_info = prepareMatrixSizesAndBlocks(bis.noOfBasisFuncs, 20, 8, 8, 8); std::vector permutationHML(bis.noOfBasisFuncs); getMatrixPermutation(bis, 20, 8, 8, 8, permutationHML); symmMatrix Aempty; Aempty.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix Adiag; Adiag.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); { const int n = bis.noOfBasisFuncs; const int nvalues = n; std::vector idxrow(nvalues); std::vector idxcol(nvalues); std::vector values(nvalues); int count = 0; for(int i=0; i idxrow(nvalues); std::vector idxcol(nvalues); std::vector values(nvalues); int count = 0; for(int i=0; i tmpVector(100000000); output_current_memory_usage(LOG_AREA_MAIN, "After creating tmpVector of 100000000 bytes"); } output_current_memory_usage(LOG_AREA_MAIN, "After tmpVector scope ended"); for(int i = 0; i < 1; i++) { std::stringstream ss1; ss1 << "Before creating Acopy " << i; output_current_memory_usage(LOG_AREA_MAIN, ss1.str().c_str()); { std::vector tmpVector(100000000); output_current_memory_usage(LOG_AREA_MAIN, "After creating tmpVector of 100000000 bytes"); AcopyList[i] = Aempty; } output_current_memory_usage(LOG_AREA_MAIN, "After AcopyList[i] = Aempty scope ended"); AcopyList[i] = A; std::stringstream ss2; ss2 << "After creating Acopy " << i; output_current_memory_usage(LOG_AREA_MAIN, ss2.str().c_str()); } } output_current_memory_usage(LOG_AREA_MAIN, "After Acopy scope ended"); printf("Matrix mem usage test OK\n"); return 0; } ergo-3.5/source/test/mmul_simple_test.cc0000664000175000017500000001370312743400307015414 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file mmul_simple_test.cc Tests and measures timings for matrix-matrix multiplication using BLAS and compares to a naive implementation. The idea is to run this linking to different BLAS variants with and without threading inside the BLAS gemm routine, to see how much speedup can be achieved from threading. */ #include #include #include #include "realtype.h" #include "utilities.h" #include "mat_gblas.h" static void fill_matrix_with_random_numbers(int n, std::vector & A) { for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { ergo_real randomNumber = rand(); A[i*n+j] = randomNumber / RAND_MAX; } } static void do_naive_mmul(std::vector & C, const std::vector & A, const std::vector & B, int n) { // #pragma omp parallel for default(shared) for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { ergo_real sum = 0; for(int k = 0; k < n; k++) sum += A[i*n+k] * B[k*n+j]; C[j*n+i] = sum; } } static void verify_mmul_result(const std::vector & A, const std::vector & B, const std::vector & C, int n) { double maxabsdiff = 0; int count = 0; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { // Verify only certain elements to save time. if((rand() % 1000) != 0) continue; ergo_real sum = 0; for(int k = 0; k < n; k++) sum += A[i*n+k] * B[k*n+j]; double absdiff = fabs(C[j*n+i] - sum); if(absdiff > maxabsdiff) maxabsdiff = absdiff; count++; } printf("verify_mmul_result, verified %d elements, maxabsdiff = %g\n", count, maxabsdiff); } ergo_real compare_matrices(const std::vector & A, const std::vector & B, int n) { ergo_real maxabsdiff = 0; for(int i = 0; i < n*n; i++) { ergo_real absdiff = fabs(A[i] - B[i]); if(absdiff > maxabsdiff) maxabsdiff = absdiff; } return maxabsdiff; } int main(int argc, char *argv[]) { int n = 500; if(argc >= 2) n = atoi(argv[1]); int do_naive_mmul_comparison = 1; if(argc >= 3) do_naive_mmul_comparison = atoi(argv[2]); printf("mmul_simple_test start, matrix size n = %6d, do_naive_mmul_comparison = %d.\n", n, do_naive_mmul_comparison); // Generate matrices A and B filled with random numbers. std::vector A(n*n); std::vector B(n*n); fill_matrix_with_random_numbers(n, A); fill_matrix_with_random_numbers(n, B); printf("random matrices A and B generated OK.\n"); // Compute matrix C = A*B using naive implementation. std::vector C(n*n); if(do_naive_mmul_comparison == 1) { Util::TimeMeter tm_naive; do_naive_mmul(C, A, B, n); double secondsTaken_naive_mmul = tm_naive.get_wall_seconds() - tm_naive.get_start_time_wall_seconds(); printf("do_naive_mmul took %6.3f wall seconds.\n", secondsTaken_naive_mmul); verify_mmul_result(A, B, C, n); } // Now do the same computation by calling the BLAS gemm routine. ergo_real alpha = 1; ergo_real beta = 0; std::vector C2(n*n); Util::TimeMeter tm_BLAS_gemm_1; mat::gemm("T", "T", &n, &n, &n, &alpha, &A[0], &n, &B[0], &n, &beta, &C2[0], &n); double secondsTaken_BLAS_gemm_1 = tm_BLAS_gemm_1.get_wall_seconds() - tm_BLAS_gemm_1.get_start_time_wall_seconds(); printf("BLAS gemm call took %6.3f wall seconds.\n", secondsTaken_BLAS_gemm_1); ergo_real diff1 = std::numeric_limits::max(); if(do_naive_mmul_comparison == 1) { // Check that results are equal. diff1 = compare_matrices(C, C2, n); printf("Max abs diff (elementwise) between naive and BLAS gemm results: %6.3g\n", (double)diff1); } verify_mmul_result(A, B, C2, n); // Now do the same computation by again calling the BLAS gemm routine. std::vector C3(n*n); Util::TimeMeter tm_BLAS_gemm_2; mat::gemm("T", "T", &n, &n, &n, &alpha, &A[0], &n, &B[0], &n, &beta, &C3[0], &n); double secondsTaken_BLAS_gemm_2 = tm_BLAS_gemm_2.get_wall_seconds() - tm_BLAS_gemm_2.get_start_time_wall_seconds(); printf("BLAS gemm call took %6.3f wall seconds.\n", secondsTaken_BLAS_gemm_2); ergo_real diff2 = std::numeric_limits::max(); if(do_naive_mmul_comparison == 1) { // Check that results are equal. diff2 = compare_matrices(C, C3, n); printf("Max abs diff (elementwise) between naive and BLAS gemm results: %6.3g\n", (double)diff2); } verify_mmul_result(A, B, C3, n); if(do_naive_mmul_comparison == 1) { ergo_real tol = 2e-4; if(diff1 > tol || diff2 > tol) { printf("Error: too large diff between naive mmul and BLAS gemm results.\n"); return -1; } } printf("mmul_simple_test finished OK.\n"); return 0; } ergo-3.5/source/test/grid_test.cc0000664000175000017500000002013312743400307014011 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file grid_test.cc Tests the DFT grid generation. This test generates the grid, possibly several times to detect problems with eg. thread synchronisation. */ #include #include #include #include #include #include "dft_common.h" #include "grid_reader.h" #include "grid_stream.h" #define NATOMS 2 #define N_BF_SHELLS 2 #define N_BFS 4 static const struct { ergo_real position[3]; int charge; } Atoms[] = { { { 0, 0, 0 }, 1 }, { { 0, 0, 1 }, 2 } }; static ergo_real ShellRadii[] = { 1, 2 }; class MyMolInfo : public GridGenMolInfo { public: MyMolInfo() : GridGenMolInfo(NATOMS, N_BFS, N_BF_SHELLS) {} virtual void getAtom(int icent, int *cnt, real (*coor)[3], int *charge, int *mult) const { *cnt = 1; coor[0][0] = Atoms[icent].position[0]; coor[0][1] = Atoms[icent].position[1]; coor[0][2] = Atoms[icent].position[2]; *charge = Atoms[icent].charge; *mult = 1; } virtual void setShellRadii(real *shellRadii) const { memcpy(shellRadii, ShellRadii, N_BF_SHELLS*sizeof(ergo_real)); } virtual void getBlocks(const real *center, real cellsz, const real *rshell, int *nblcnt, int (*iblcks)[2]) const { *nblcnt = 1; if (center[0]*center[0] + center[1]*center[1] + center[2]*center[2] < 3) { iblcks[0][0] = 0; iblcks[0][1] = N_BF_SHELLS; } else { iblcks[0][0] = 1; iblcks[0][1] = 2; } } virtual void getExps(int *maxl, int **bascnt, real (**aa)[2]) const { static const int lda = 2; maxl[0] = 2; *bascnt = (int*)calloc(lda*NATOMS, sizeof(int)); *aa = (real(*)[2])calloc(2*lda*NATOMS, sizeof(real)); (*bascnt)[0 + 0*lda] = 1; /* s functions on first atom */ (*bascnt)[1 + 0*lda] = 0; /* p functions on the first atom */ (*bascnt)[0 + 1*lda] = 0; /* s functions on first atom */ (*bascnt)[1 + 1*lda] = 1; /* p functions on the first atom */ /* Range of exponents on the first atom */ (*aa)[0][0] = 0.5; (*aa)[0][1] = 0.5; (*aa)[1][0] = 0.0; /* no p functions */ (*aa)[1][1] = 0.0; /* no p functions */ /* Range of exponents on the second atom */ (*aa)[2][0] = 0.0; (*aa)[2][1] = 0.0; (*aa)[3][0] = 0.2; (*aa)[3][1] = 0.2; } }; static const MyMolInfo MolInfo; static bool pattern_to_ps(Dft::SparsePattern& p, const char* fName) { // const char * PS_PREFIX = ""; #if 0 "%%!PS-Adobe-2.0 EPSF-2.0\n" "%%%%Title: Test\n" "%%%%Creator: Pawel Salek\n" "%%%%Magnification: 1.00\n" "%%%%Orientation: Portrait\n" "%%%%EndComments\n\n" "/inch { 72 mul } def\n" "/b { 0 rmoveto currentpoint currentpoint newpath moveto\n" "1 0 rlineto 0 1 rlineto -1 0 rlineto closepath fill moveto } def\n" "%% now run it!\n" "1 inch 1 inch moveto\n"; #endif // const char * PS_SUFFIX = // "\nshowpage\n" // "%%EOF\n"; FILE *f=fopen(fName, "wt"); if (!f) { perror("fopen"); return false; } // fprintf(f, PS_PREFIX); fprintf(f, "%f %f scale %% size = %d\n", 72*6.0/p.size(), 72*6.0/p.size(), p.size()); for(int column=0; columnaddBasisfuncsForMolecule failed.\n"); throw "addBasisfuncs failed"; } Dft::GridParams gridParams(1e-7, 6, 25); gridParams.radialGridScheme = Dft::GridParams::LMG; int *shellMap = new int[bisOrig.noOfShells]; int *aoMap = new int[bisOrig.noOfBasisFuncs]; Dft::setupShellMap(bisOrig, shellMap, aoMap); BasisInfoStruct * bisPermuted = bisOrig.permuteShells(shellMap, ii); delete []shellMap; delete []aoMap; ErgoMolInfo molInfo(*bisPermuted, mol); /* The important structure of this test */ Dft::SparsePattern pattern(*bisPermuted); char grid_file_name[] = "scaling_test_XXXXXX"; close(mkstemp(grid_file_name)); ErgoGridStream *egStream = grid_stream_new(gridParams, molInfo); grid_stream_set_sparse_pattern(egStream, &pattern); grid_stream_generate(egStream, grid_file_name, dft_get_num_threads()); grid_stream_free(egStream); printf("Stop %lu s wall time %d nonzero elements\n", ((unsigned long)time(NULL))-tm, pattern.sizeTotal()); unlink(grid_file_name); pattern_to_ps(pattern, "pattern.ps"); return true; } static void grid_test_synchronisation() { static const int NREPEAT = 500; static const int BATCH_LENGTH = 50000; // Elias note: earlier, coor and weight were placed directly on the stack like this: // real coor[BATCH_LENGTH][3]; // real weight[BATCH_LENGTH]; // but that gave stack overflow on some systems, so it was changed // to the dynamic allocation below. real (*coor)[3]; std::vector coorData(3*BATCH_LENGTH); coor = (real (*)[3])(&coorData[0]); std::vector weight(BATCH_LENGTH); Dft::GridParams gridParams(1e-5, 6, 7); Molecule mol; for(int i = 0; i < NATOMS; i++) mol.addAtom(Atoms[i].charge, Atoms[i].position[0], Atoms[i].position[1], Atoms[i].position[2]); IntegralInfo ii(true); BasisInfoStruct bis; if(bis.addBasisfuncsForMolecule(mol, ERGO_SPREFIX "/basis/STO-1G", 0, NULL, ii, 0, 0, 0) != 0) { printf("bis.addBasisfuncsForMolecule failed.\n"); throw "addBasisfuncs failed"; } for(int i = 0; i < NREPEAT; i++) { DftGridReader* g = grid_open_full(&MolInfo, gridParams, NULL, NULL, bis); int np; unsigned cnt = 0; while ( (np = grid_getchunk_blocked(g, BATCH_LENGTH, NULL, NULL, coor, &weight[0])) >= 0){ cnt += np; } grid_close(g); grid_free_files(); } printf("Grid generation %i times succeeded.\n", NREPEAT); } int main(int argc, char *argv[]) { const char *tmpdir = getenv("TMPDIR"); tmpdir = tmpdir ? tmpdir : "/tmp"; grid_set_tmpdir(tmpdir); switch (argc) { case 2: grid_test_scaling(argv[1]); break; default: grid_test_synchronisation(); } return 0; } ergo-3.5/source/test/lapack_test.cc0000664000175000017500000002003312743400307014316 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file lapack_test.cc Tests some LAPACK functions such as template_lapack_???() etc to see that they are working properly and that they deliver the expected accuracy. */ #include #include #include #include #include #include "realtype.h" #include "template_lapack_common.h" #if 0 static void print_matrix(int n, const ergo_real* A, const char* name) { printf("printing matrix '%s', n = %3i\n", name, n); for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) printf(" %8.3f", (double)A[j*n+i]); printf("\n"); } } #endif static ergo_real get_maxabsdiff(int n, const ergo_real* x, const ergo_real* y) { ergo_real maxabsdiff = 0; for(int i = 0; i < n; i++) { ergo_real diff = x[i] - y[i]; ergo_real absdiff = diff; if(absdiff < 0) absdiff *= -1; if(absdiff > maxabsdiff) maxabsdiff = absdiff; } return maxabsdiff; } static int test_gesv(ergo_real tolerance, bool verbose) { if(verbose) printf("Testing solution of a linear system of equations using routine template_lapack_gesv()..\n"); // Generate random matrix A and random vector x const int n = 77; std::vector A(n*n); for(int i = 0; i < n*n; i++) A[i] = (ergo_real)rand() / (ergo_real)RAND_MAX; std::vector x(n); for(int i = 0; i < n; i++) x[i] = (ergo_real)rand() / (ergo_real)RAND_MAX; // Now get right-hand-side b as A*x = b std::vector b(n); for(int i = 0; i < n; i++) { ergo_real sum = 0; for(int j = 0; j < n; j++) sum += A[j*n+i] * x[j]; b[i] = sum; } // Now use A and b to solve for x. int NRHS = 1; int n2 = n; int info = -1; std::vector IPIV(n); std::vector Atmp(n*n); std::vector resultVector(n); memcpy(&Atmp[0], &A[0], n*n*sizeof(ergo_real)); memcpy(&resultVector[0], &b[0], n*sizeof(ergo_real)); template_lapack_gesv(&n2, &NRHS, &A[0], &n2, &IPIV[0], &resultVector[0], &n2, &info); if(info != 0) { printf("ERROR in template_lapack_gesv\n"); return -1; } // Now compare resultVector with known x. ergo_real maxabsdiff = get_maxabsdiff(n, &resultVector[0], &x[0]); if(verbose) printf("maxabsdiff for template_lapack_gesv: %g\n", (double)maxabsdiff); int failed = 0; if(maxabsdiff > tolerance) { printf("template_lapack_gesv test FAILED.\n"); failed = 1; } else { if(verbose) printf("template_lapack_gesv test OK.\n"); } return failed; } static int test_potf2_trtri(ergo_real tolerance, bool verbose) { int failed = 0; const int n = 13; // Create random upper triangular matrix U. std::vector U(n*n); for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { ergo_real matrixElement = 0; if(i >= j) matrixElement = (ergo_real)rand() / (ergo_real)RAND_MAX; if (i == j) matrixElement = matrixElement + 2; U[i*n+j] = matrixElement; } // Compute matrix A = U' * U std::vector A(n*n); for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { ergo_real sum = 0; for(int k = 0; k < n; k++) sum += U[i*n+k] * U[j*n+k]; A[i*n+j] = sum; } // Compute Cholesky factorization of A using template_lapack_potf2() std::vector Atmp(n*n); memcpy(&Atmp[0], &A[0], n*n*sizeof(ergo_real)); int info = -1; template_lapack_potf2("U", &n, &Atmp[0], &n, &info); if(info != 0) { printf("error in template_lapack_potf2\n"); return -1; } // Set rest to zero. This is needed because the potf2 operation leaves some // garbage in the other part of the matrix space. for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { if(i < j) Atmp[i*n+j] = 0; } // Now compare Atmp with U. ergo_real maxabsdiff_potf2 = get_maxabsdiff(n*n, &Atmp[0], &U[0]); if(verbose) printf("maxabsdiff for Cholesky decomposition template_lapack_potf2(): %g\n", (double)maxabsdiff_potf2); if(maxabsdiff_potf2 > tolerance) { printf("ERROR: template_lapack_potf2 not accurate enough.\n"); printf("Error is %g, tolerance is %g\n", (double)maxabsdiff_potf2, (double)tolerance); failed++; } // Compute inverse of U using template_lapack_trtri(). std::vector Z(n*n); memcpy(&Z[0], &U[0], n*n*sizeof(ergo_real)); info = -1; // use non-const strings uplo and diag needed to avoid compiler warnings. char uplo[8]; char diag[8]; uplo[0] = 'U'; uplo[1] = '\0'; diag[0] = 'N'; diag[1] = '\0'; template_lapack_trtri(uplo, diag, &n, &Z[0], &n, &info); if(info != 0) { printf("error in template_lapack_trtri\n"); return -1; } // Compute B = Z * U ( B should be almost an identity matrix. ) std::vector B(n*n); for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { ergo_real sum = 0; for(int k = 0; k < n; k++) sum += Z[k*n+i] * U[j*n+k]; B[j*n+i] = sum; } // Compute C = U * Z ( C should be almost an identity matrix. ) std::vector C(n*n); for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { ergo_real sum = 0; for(int k = 0; k < n; k++) sum += U[k*n+i] * Z[j*n+k]; C[j*n+i] = sum; } // Construct an identity matrix for comparison. std::vector I(n*n); for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { I[i*n+j] = 0; if(i == j) I[i*n+j] = 1; } ergo_real maxabsdiff_trtri_1 = get_maxabsdiff(n*n, &I[0], &B[0]); if(verbose) printf("maxabsdiff 1 for inverse template_lapack_trtri(): %g\n", (double)maxabsdiff_trtri_1); if(maxabsdiff_trtri_1 > tolerance) { printf("ERROR: template_lapack_trtri not accurate enough.\n"); printf("Error is %g, tolerance is %g\n", (double)maxabsdiff_trtri_1, (double)tolerance); failed++; } ergo_real maxabsdiff_trtri_2 = get_maxabsdiff(n*n, &I[0], &C[0]); if(verbose) printf("maxabsdiff 2 for inverse template_lapack_trtri(): %g\n", (double)maxabsdiff_trtri_2); if(maxabsdiff_trtri_2 > tolerance) { printf("ERROR: template_lapack_trtri not accurate enough.\n"); printf("Error is %g, tolerance is %g\n", (double)maxabsdiff_trtri_2, (double)tolerance); failed++; } if(!failed && verbose) printf("Tests of potf2 and trtri finished OK.\n"); return failed; } int main(int argc, char *argv[]) { int failed = 0; int verbose = getenv("VERBOSE") != NULL; ergo_real machine_epsilon = std::numeric_limits::epsilon(); printf("machine_epsilon = %g Run with env VERBOSE for more info.\n", (double)machine_epsilon); if(test_gesv(machine_epsilon*500, verbose) != 0) failed++; if(test_potf2_trtri(machine_epsilon*10000, verbose) != 0) failed++; if (!failed) puts("LAPACK test succeeded."); else puts("LAPACK test FAILED."); return failed; } ergo-3.5/source/test/Makefile.in0000664000175000017500000021560312743400353013574 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : noinst_PROGRAMS = basicmath_test$(EXEEXT) lapack_test$(EXEEXT) \ grid_test$(EXEEXT) stream_test$(EXEEXT) tmat_test$(EXEEXT) \ vmat_test$(EXEEXT) gradient_test$(EXEEXT) \ mat_thread_test$(EXEEXT) mat_performance_test$(EXEEXT) \ jmat_test$(EXEEXT) jmat_extrapolate_test$(EXEEXT) \ kmat_test$(EXEEXT) kmat_symm_test$(EXEEXT) \ kmat_nosymm_test$(EXEEXT) naive_response_test$(EXEEXT) \ explicit_integral_test$(EXEEXT) xcmat_test$(EXEEXT) \ xcmat_sparse_test$(EXEEXT) xcmat_nan_inf_test$(EXEEXT) \ matmem_test$(EXEEXT) mmul_simple_test$(EXEEXT) \ mmul_simple_many_test$(EXEEXT) mmul_rectangular_test$(EXEEXT) \ recexp_diag_test$(EXEEXT) recexp_randsym_test$(EXEEXT) TESTS = basicmath_test$(EXEEXT) lapack_test$(EXEEXT) \ recexp_diag_test$(EXEEXT) recexp_randsym_test$(EXEEXT) \ grid_test$(EXEEXT) stream_test$(EXEEXT) xcmat_test$(EXEEXT) \ xcmat_sparse_test$(EXEEXT) xcmat_nan_inf_test$(EXEEXT) \ tmat_test$(EXEEXT) vmat_test$(EXEEXT) gradient_test$(EXEEXT) \ mat_thread_test$(EXEEXT) mat_performance_test$(EXEEXT) \ jmat_test$(EXEEXT) jmat_extrapolate_test$(EXEEXT) \ kmat_test$(EXEEXT) kmat_symm_test$(EXEEXT) \ kmat_nosymm_test$(EXEEXT) naive_response_test$(EXEEXT) \ explicit_integral_test$(EXEEXT) matmem_test$(EXEEXT) \ mmul_simple_test$(EXEEXT) mmul_simple_many_test$(EXEEXT) \ mmul_rectangular_test$(EXEEXT) subdir = source/test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = PROGRAMS = $(noinst_PROGRAMS) am_basicmath_test_OBJECTS = basicmath_test.$(OBJEXT) basicmath_test_OBJECTS = $(am_basicmath_test_OBJECTS) basicmath_test_DEPENDENCIES = $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a am_explicit_integral_test_OBJECTS = explicit_integral_test.$(OBJEXT) explicit_integral_test_OBJECTS = $(am_explicit_integral_test_OBJECTS) explicit_integral_test_DEPENDENCIES = \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a am_gradient_test_OBJECTS = gradient_test.$(OBJEXT) gradient_test_OBJECTS = $(am_gradient_test_OBJECTS) gradient_test_DEPENDENCIES = \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_grid_test_OBJECTS = grid_test.$(OBJEXT) grid_test_OBJECTS = $(am_grid_test_OBJECTS) grid_test_DEPENDENCIES = $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_jmat_extrapolate_test_OBJECTS = jmat_extrapolate_test.$(OBJEXT) jmat_extrapolate_test_OBJECTS = $(am_jmat_extrapolate_test_OBJECTS) jmat_extrapolate_test_DEPENDENCIES = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_jmat_test_OBJECTS = jmat_test.$(OBJEXT) jmat_test_OBJECTS = $(am_jmat_test_OBJECTS) jmat_test_DEPENDENCIES = $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_kmat_nosymm_test_OBJECTS = kmat_nosymm_test.$(OBJEXT) kmat_nosymm_test_OBJECTS = $(am_kmat_nosymm_test_OBJECTS) kmat_nosymm_test_DEPENDENCIES = $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_kmat_symm_test_OBJECTS = kmat_symm_test.$(OBJEXT) kmat_symm_test_OBJECTS = $(am_kmat_symm_test_OBJECTS) kmat_symm_test_DEPENDENCIES = $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_kmat_test_OBJECTS = kmat_test.$(OBJEXT) kmat_test_OBJECTS = $(am_kmat_test_OBJECTS) kmat_test_DEPENDENCIES = $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_lapack_test_OBJECTS = lapack_test.$(OBJEXT) lapack_test_OBJECTS = $(am_lapack_test_OBJECTS) lapack_test_DEPENDENCIES = $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a am_mat_performance_test_OBJECTS = mat_performance_test.$(OBJEXT) mat_performance_test_OBJECTS = $(am_mat_performance_test_OBJECTS) mat_performance_test_DEPENDENCIES = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_mat_thread_test_OBJECTS = mat_thread_test.$(OBJEXT) mat_thread_test_OBJECTS = $(am_mat_thread_test_OBJECTS) mat_thread_test_DEPENDENCIES = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_matmem_test_OBJECTS = matmem_test.$(OBJEXT) matmem_test_OBJECTS = $(am_matmem_test_OBJECTS) matmem_test_DEPENDENCIES = $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_mmul_rectangular_test_OBJECTS = mmul_rectangular_test.$(OBJEXT) mmul_rectangular_test_OBJECTS = $(am_mmul_rectangular_test_OBJECTS) mmul_rectangular_test_DEPENDENCIES = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_mmul_simple_many_test_OBJECTS = mmul_simple_many_test.$(OBJEXT) mmul_simple_many_test_OBJECTS = $(am_mmul_simple_many_test_OBJECTS) mmul_simple_many_test_DEPENDENCIES = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_mmul_simple_test_OBJECTS = mmul_simple_test.$(OBJEXT) mmul_simple_test_OBJECTS = $(am_mmul_simple_test_OBJECTS) mmul_simple_test_DEPENDENCIES = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_naive_response_test_OBJECTS = naive_response_test.$(OBJEXT) naive_response_test_OBJECTS = $(am_naive_response_test_OBJECTS) naive_response_test_DEPENDENCIES = \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_recexp_diag_test_OBJECTS = recexp_diag_test.$(OBJEXT) recexp_diag_test_OBJECTS = $(am_recexp_diag_test_OBJECTS) recexp_diag_test_DEPENDENCIES = \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_recexp_randsym_test_OBJECTS = recexp_randsym_test.$(OBJEXT) recexp_randsym_test_OBJECTS = $(am_recexp_randsym_test_OBJECTS) recexp_randsym_test_DEPENDENCIES = \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_stream_test_OBJECTS = stream_test.$(OBJEXT) stream_test_OBJECTS = $(am_stream_test_OBJECTS) stream_test_DEPENDENCIES = $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/libmat.a am_tmat_test_OBJECTS = tmat_test.$(OBJEXT) tmat_test_OBJECTS = $(am_tmat_test_OBJECTS) tmat_test_DEPENDENCIES = \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a am_vmat_test_OBJECTS = vmat_test.$(OBJEXT) vmat_test_OBJECTS = $(am_vmat_test_OBJECTS) vmat_test_DEPENDENCIES = \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_xcmat_nan_inf_test_OBJECTS = xcmat_nan_inf_test.$(OBJEXT) xcmat_nan_inf_test_OBJECTS = $(am_xcmat_nan_inf_test_OBJECTS) xcmat_nan_inf_test_DEPENDENCIES = $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_xcmat_sparse_test_OBJECTS = xcmat_sparse_test.$(OBJEXT) xcmat_sparse_test_OBJECTS = $(am_xcmat_sparse_test_OBJECTS) xcmat_sparse_test_DEPENDENCIES = $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a am_xcmat_test_OBJECTS = xcmat_test.$(OBJEXT) xcmat_test_OBJECTS = $(am_xcmat_test_OBJECTS) xcmat_test_DEPENDENCIES = $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(basicmath_test_SOURCES) $(explicit_integral_test_SOURCES) \ $(gradient_test_SOURCES) $(grid_test_SOURCES) \ $(jmat_extrapolate_test_SOURCES) $(jmat_test_SOURCES) \ $(kmat_nosymm_test_SOURCES) $(kmat_symm_test_SOURCES) \ $(kmat_test_SOURCES) $(lapack_test_SOURCES) \ $(mat_performance_test_SOURCES) $(mat_thread_test_SOURCES) \ $(matmem_test_SOURCES) $(mmul_rectangular_test_SOURCES) \ $(mmul_simple_many_test_SOURCES) $(mmul_simple_test_SOURCES) \ $(naive_response_test_SOURCES) $(recexp_diag_test_SOURCES) \ $(recexp_randsym_test_SOURCES) $(stream_test_SOURCES) \ $(tmat_test_SOURCES) $(vmat_test_SOURCES) \ $(xcmat_nan_inf_test_SOURCES) $(xcmat_sparse_test_SOURCES) \ $(xcmat_test_SOURCES) DIST_SOURCES = $(basicmath_test_SOURCES) \ $(explicit_integral_test_SOURCES) $(gradient_test_SOURCES) \ $(grid_test_SOURCES) $(jmat_extrapolate_test_SOURCES) \ $(jmat_test_SOURCES) $(kmat_nosymm_test_SOURCES) \ $(kmat_symm_test_SOURCES) $(kmat_test_SOURCES) \ $(lapack_test_SOURCES) $(mat_performance_test_SOURCES) \ $(mat_thread_test_SOURCES) $(matmem_test_SOURCES) \ $(mmul_rectangular_test_SOURCES) \ $(mmul_simple_many_test_SOURCES) $(mmul_simple_test_SOURCES) \ $(naive_response_test_SOURCES) $(recexp_diag_test_SOURCES) \ $(recexp_randsym_test_SOURCES) $(stream_test_SOURCES) \ $(tmat_test_SOURCES) $(vmat_test_SOURCES) \ $(xcmat_nan_inf_test_SOURCES) $(xcmat_sparse_test_SOURCES) \ $(xcmat_test_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ $(top_srcdir)/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ basicmath_test_SOURCES = basicmath_test.cc lapack_test_SOURCES = lapack_test.cc grid_test_SOURCES = grid_test.cc stream_test_SOURCES = stream_test.cc tmat_test_SOURCES = tmat_test.cc vmat_test_SOURCES = vmat_test.cc gradient_test_SOURCES = gradient_test.cc mat_thread_test_SOURCES = mat_thread_test.cc mat_performance_test_SOURCES = mat_performance_test.cc jmat_test_SOURCES = jmat_test.cc jmat_extrapolate_test_SOURCES = jmat_extrapolate_test.cc kmat_test_SOURCES = kmat_test.cc kmat_symm_test_SOURCES = kmat_symm_test.cc kmat_nosymm_test_SOURCES = kmat_nosymm_test.cc naive_response_test_SOURCES = naive_response_test.cc explicit_integral_test_SOURCES = explicit_integral_test.cc xcmat_test_SOURCES = xcmat_test.cc xcmat_sparse_test_SOURCES = xcmat_sparse_test.cc xcmat_nan_inf_test_SOURCES = xcmat_nan_inf_test.cc matmem_test_SOURCES = matmem_test.cc mmul_simple_test_SOURCES = mmul_simple_test.cc mmul_simple_many_test_SOURCES = mmul_simple_many_test.cc mmul_rectangular_test_SOURCES = mmul_rectangular_test.cc recexp_diag_test_SOURCES = recexp_diag_test.cc recexp_randsym_test_SOURCES = recexp_randsym_test.cc basicmath_test_LDADD = \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a lapack_test_LDADD = \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a grid_test_LDADD = \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a stream_test_LDADD = \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/libmat.a tmat_test_LDADD = \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a vmat_test_LDADD = \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a gradient_test_LDADD = \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a mat_thread_test_LDADD = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a mat_performance_test_LDADD = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a jmat_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a jmat_extrapolate_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a kmat_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a kmat_symm_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a kmat_nosymm_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a naive_response_test_LDADD = \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a explicit_integral_test_LDADD = \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a xcmat_test_LDADD = \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a xcmat_sparse_test_LDADD = \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a xcmat_nan_inf_test_LDADD = \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a matmem_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a mmul_simple_test_LDADD = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a mmul_simple_many_test_LDADD = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a mmul_rectangular_test_LDADD = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a recexp_diag_test_LDADD = \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a recexp_randsym_test_LDADD = \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/dft \ -I$(top_srcdir)/source/scf \ -I$(top_srcdir)/source/densfromf \ -I$(top_srcdir)/source/densfromf/recursive_expansion/src \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src/ \ -I$(top_srcdir)/source/matrix_wrapper/ErgoMatrix/src/ \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack all: all-am .SUFFIXES: .SUFFIXES: .cc .log .o .obj .test .test$(EXEEXT) .trs $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/test/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/test/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) basicmath_test$(EXEEXT): $(basicmath_test_OBJECTS) $(basicmath_test_DEPENDENCIES) $(EXTRA_basicmath_test_DEPENDENCIES) @rm -f basicmath_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(basicmath_test_OBJECTS) $(basicmath_test_LDADD) $(LIBS) explicit_integral_test$(EXEEXT): $(explicit_integral_test_OBJECTS) $(explicit_integral_test_DEPENDENCIES) $(EXTRA_explicit_integral_test_DEPENDENCIES) @rm -f explicit_integral_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(explicit_integral_test_OBJECTS) $(explicit_integral_test_LDADD) $(LIBS) gradient_test$(EXEEXT): $(gradient_test_OBJECTS) $(gradient_test_DEPENDENCIES) $(EXTRA_gradient_test_DEPENDENCIES) @rm -f gradient_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(gradient_test_OBJECTS) $(gradient_test_LDADD) $(LIBS) grid_test$(EXEEXT): $(grid_test_OBJECTS) $(grid_test_DEPENDENCIES) $(EXTRA_grid_test_DEPENDENCIES) @rm -f grid_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(grid_test_OBJECTS) $(grid_test_LDADD) $(LIBS) jmat_extrapolate_test$(EXEEXT): $(jmat_extrapolate_test_OBJECTS) $(jmat_extrapolate_test_DEPENDENCIES) $(EXTRA_jmat_extrapolate_test_DEPENDENCIES) @rm -f jmat_extrapolate_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(jmat_extrapolate_test_OBJECTS) $(jmat_extrapolate_test_LDADD) $(LIBS) jmat_test$(EXEEXT): $(jmat_test_OBJECTS) $(jmat_test_DEPENDENCIES) $(EXTRA_jmat_test_DEPENDENCIES) @rm -f jmat_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(jmat_test_OBJECTS) $(jmat_test_LDADD) $(LIBS) kmat_nosymm_test$(EXEEXT): $(kmat_nosymm_test_OBJECTS) $(kmat_nosymm_test_DEPENDENCIES) $(EXTRA_kmat_nosymm_test_DEPENDENCIES) @rm -f kmat_nosymm_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(kmat_nosymm_test_OBJECTS) $(kmat_nosymm_test_LDADD) $(LIBS) kmat_symm_test$(EXEEXT): $(kmat_symm_test_OBJECTS) $(kmat_symm_test_DEPENDENCIES) $(EXTRA_kmat_symm_test_DEPENDENCIES) @rm -f kmat_symm_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(kmat_symm_test_OBJECTS) $(kmat_symm_test_LDADD) $(LIBS) kmat_test$(EXEEXT): $(kmat_test_OBJECTS) $(kmat_test_DEPENDENCIES) $(EXTRA_kmat_test_DEPENDENCIES) @rm -f kmat_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(kmat_test_OBJECTS) $(kmat_test_LDADD) $(LIBS) lapack_test$(EXEEXT): $(lapack_test_OBJECTS) $(lapack_test_DEPENDENCIES) $(EXTRA_lapack_test_DEPENDENCIES) @rm -f lapack_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(lapack_test_OBJECTS) $(lapack_test_LDADD) $(LIBS) mat_performance_test$(EXEEXT): $(mat_performance_test_OBJECTS) $(mat_performance_test_DEPENDENCIES) $(EXTRA_mat_performance_test_DEPENDENCIES) @rm -f mat_performance_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(mat_performance_test_OBJECTS) $(mat_performance_test_LDADD) $(LIBS) mat_thread_test$(EXEEXT): $(mat_thread_test_OBJECTS) $(mat_thread_test_DEPENDENCIES) $(EXTRA_mat_thread_test_DEPENDENCIES) @rm -f mat_thread_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(mat_thread_test_OBJECTS) $(mat_thread_test_LDADD) $(LIBS) matmem_test$(EXEEXT): $(matmem_test_OBJECTS) $(matmem_test_DEPENDENCIES) $(EXTRA_matmem_test_DEPENDENCIES) @rm -f matmem_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(matmem_test_OBJECTS) $(matmem_test_LDADD) $(LIBS) mmul_rectangular_test$(EXEEXT): $(mmul_rectangular_test_OBJECTS) $(mmul_rectangular_test_DEPENDENCIES) $(EXTRA_mmul_rectangular_test_DEPENDENCIES) @rm -f mmul_rectangular_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(mmul_rectangular_test_OBJECTS) $(mmul_rectangular_test_LDADD) $(LIBS) mmul_simple_many_test$(EXEEXT): $(mmul_simple_many_test_OBJECTS) $(mmul_simple_many_test_DEPENDENCIES) $(EXTRA_mmul_simple_many_test_DEPENDENCIES) @rm -f mmul_simple_many_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(mmul_simple_many_test_OBJECTS) $(mmul_simple_many_test_LDADD) $(LIBS) mmul_simple_test$(EXEEXT): $(mmul_simple_test_OBJECTS) $(mmul_simple_test_DEPENDENCIES) $(EXTRA_mmul_simple_test_DEPENDENCIES) @rm -f mmul_simple_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(mmul_simple_test_OBJECTS) $(mmul_simple_test_LDADD) $(LIBS) naive_response_test$(EXEEXT): $(naive_response_test_OBJECTS) $(naive_response_test_DEPENDENCIES) $(EXTRA_naive_response_test_DEPENDENCIES) @rm -f naive_response_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(naive_response_test_OBJECTS) $(naive_response_test_LDADD) $(LIBS) recexp_diag_test$(EXEEXT): $(recexp_diag_test_OBJECTS) $(recexp_diag_test_DEPENDENCIES) $(EXTRA_recexp_diag_test_DEPENDENCIES) @rm -f recexp_diag_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(recexp_diag_test_OBJECTS) $(recexp_diag_test_LDADD) $(LIBS) recexp_randsym_test$(EXEEXT): $(recexp_randsym_test_OBJECTS) $(recexp_randsym_test_DEPENDENCIES) $(EXTRA_recexp_randsym_test_DEPENDENCIES) @rm -f recexp_randsym_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(recexp_randsym_test_OBJECTS) $(recexp_randsym_test_LDADD) $(LIBS) stream_test$(EXEEXT): $(stream_test_OBJECTS) $(stream_test_DEPENDENCIES) $(EXTRA_stream_test_DEPENDENCIES) @rm -f stream_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(stream_test_OBJECTS) $(stream_test_LDADD) $(LIBS) tmat_test$(EXEEXT): $(tmat_test_OBJECTS) $(tmat_test_DEPENDENCIES) $(EXTRA_tmat_test_DEPENDENCIES) @rm -f tmat_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(tmat_test_OBJECTS) $(tmat_test_LDADD) $(LIBS) vmat_test$(EXEEXT): $(vmat_test_OBJECTS) $(vmat_test_DEPENDENCIES) $(EXTRA_vmat_test_DEPENDENCIES) @rm -f vmat_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(vmat_test_OBJECTS) $(vmat_test_LDADD) $(LIBS) xcmat_nan_inf_test$(EXEEXT): $(xcmat_nan_inf_test_OBJECTS) $(xcmat_nan_inf_test_DEPENDENCIES) $(EXTRA_xcmat_nan_inf_test_DEPENDENCIES) @rm -f xcmat_nan_inf_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(xcmat_nan_inf_test_OBJECTS) $(xcmat_nan_inf_test_LDADD) $(LIBS) xcmat_sparse_test$(EXEEXT): $(xcmat_sparse_test_OBJECTS) $(xcmat_sparse_test_DEPENDENCIES) $(EXTRA_xcmat_sparse_test_DEPENDENCIES) @rm -f xcmat_sparse_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(xcmat_sparse_test_OBJECTS) $(xcmat_sparse_test_LDADD) $(LIBS) xcmat_test$(EXEEXT): $(xcmat_test_OBJECTS) $(xcmat_test_DEPENDENCIES) $(EXTRA_xcmat_test_DEPENDENCIES) @rm -f xcmat_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(xcmat_test_OBJECTS) $(xcmat_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basicmath_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/explicit_integral_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gradient_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grid_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jmat_extrapolate_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jmat_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kmat_nosymm_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kmat_symm_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kmat_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lapack_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mat_performance_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mat_thread_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matmem_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmul_rectangular_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmul_simple_many_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmul_simple_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/naive_response_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recexp_diag_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recexp_randsym_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tmat_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vmat_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xcmat_nan_inf_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xcmat_sparse_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xcmat_test.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? basicmath_test.log: basicmath_test$(EXEEXT) @p='basicmath_test$(EXEEXT)'; \ b='basicmath_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) lapack_test.log: lapack_test$(EXEEXT) @p='lapack_test$(EXEEXT)'; \ b='lapack_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) recexp_diag_test.log: recexp_diag_test$(EXEEXT) @p='recexp_diag_test$(EXEEXT)'; \ b='recexp_diag_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) recexp_randsym_test.log: recexp_randsym_test$(EXEEXT) @p='recexp_randsym_test$(EXEEXT)'; \ b='recexp_randsym_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) grid_test.log: grid_test$(EXEEXT) @p='grid_test$(EXEEXT)'; \ b='grid_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) stream_test.log: stream_test$(EXEEXT) @p='stream_test$(EXEEXT)'; \ b='stream_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) xcmat_test.log: xcmat_test$(EXEEXT) @p='xcmat_test$(EXEEXT)'; \ b='xcmat_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) xcmat_sparse_test.log: xcmat_sparse_test$(EXEEXT) @p='xcmat_sparse_test$(EXEEXT)'; \ b='xcmat_sparse_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) xcmat_nan_inf_test.log: xcmat_nan_inf_test$(EXEEXT) @p='xcmat_nan_inf_test$(EXEEXT)'; \ b='xcmat_nan_inf_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) tmat_test.log: tmat_test$(EXEEXT) @p='tmat_test$(EXEEXT)'; \ b='tmat_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) vmat_test.log: vmat_test$(EXEEXT) @p='vmat_test$(EXEEXT)'; \ b='vmat_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) gradient_test.log: gradient_test$(EXEEXT) @p='gradient_test$(EXEEXT)'; \ b='gradient_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) mat_thread_test.log: mat_thread_test$(EXEEXT) @p='mat_thread_test$(EXEEXT)'; \ b='mat_thread_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) mat_performance_test.log: mat_performance_test$(EXEEXT) @p='mat_performance_test$(EXEEXT)'; \ b='mat_performance_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) jmat_test.log: jmat_test$(EXEEXT) @p='jmat_test$(EXEEXT)'; \ b='jmat_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) jmat_extrapolate_test.log: jmat_extrapolate_test$(EXEEXT) @p='jmat_extrapolate_test$(EXEEXT)'; \ b='jmat_extrapolate_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) kmat_test.log: kmat_test$(EXEEXT) @p='kmat_test$(EXEEXT)'; \ b='kmat_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) kmat_symm_test.log: kmat_symm_test$(EXEEXT) @p='kmat_symm_test$(EXEEXT)'; \ b='kmat_symm_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) kmat_nosymm_test.log: kmat_nosymm_test$(EXEEXT) @p='kmat_nosymm_test$(EXEEXT)'; \ b='kmat_nosymm_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) naive_response_test.log: naive_response_test$(EXEEXT) @p='naive_response_test$(EXEEXT)'; \ b='naive_response_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) explicit_integral_test.log: explicit_integral_test$(EXEEXT) @p='explicit_integral_test$(EXEEXT)'; \ b='explicit_integral_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) matmem_test.log: matmem_test$(EXEEXT) @p='matmem_test$(EXEEXT)'; \ b='matmem_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) mmul_simple_test.log: mmul_simple_test$(EXEEXT) @p='mmul_simple_test$(EXEEXT)'; \ b='mmul_simple_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) mmul_simple_many_test.log: mmul_simple_many_test$(EXEEXT) @p='mmul_simple_many_test$(EXEEXT)'; \ b='mmul_simple_many_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) mmul_rectangular_test.log: mmul_rectangular_test$(EXEEXT) @p='mmul_rectangular_test$(EXEEXT)'; \ b='mmul_rectangular_test'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ clean-generic clean-noinstPROGRAMS cscopelist-am ctags \ ctags-am distclean distclean-compile distclean-generic \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ recheck tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/test/tmat_test.cc0000664000175000017500000000620712743400307014037 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file tmat_test.cc Tests the kinetic energy matrix construction. The purpose of the test in its current form is mostly to verify compilation correctness. */ #include #include #include #include #include "integrals_1el_kinetic.h" #include "memorymanag.h" int main(int argc, char *argv[]) { IntegralInfo biBasic(true); BasisInfoStruct bis; Molecule m; static const long double T[2][2] = { { 0.760031854530854163621168L, 0.383253665253394198238115L }, { 0.383253665253394198238115L, 0.760031854530854163621168L } }; int verbose = getenv("VERBOSE") != NULL; m.addAtom(1, 0,0,0); m.addAtom(1, 0,0,1); if(bis.addBasisfuncsForMolecule(m, ERGO_SPREFIX "/basis/STO-3G", 0, NULL, biBasic, 0, 0, 0) != 0) { printf("bis.addBasisfuncsForMolecule failed.\n"); return 1; } int n = bis.noOfBasisFuncs; ergo_real *mat= ergo_new(n*n, ergo_real); ergo_real EPS = std::numeric_limits::epsilon()*10; /* Ugly fix because the reference values are only accurate ato double precision so we cannot compare long double to anything more accurate than that. */ ergo_real EPS_double = std::numeric_limits::epsilon()*10; if(EPS < EPS_double) EPS = EPS_double; if (compute_T_matrix_full(bis, EPS, mat)) { printf("compute_T_matrix_full failed.\n"); return 1; } int failed = 0; for(int i=0; i EPS) { printf("(%d %d): reference: %27.24Lf got: %27.24Lf diff: %12g\n", j, i, static_cast(T[j][i]), static_cast(mat[j+i*n]), static_cast(T[j][i]-mat[j+i*n])); failed++; } else { if(verbose) printf("%d %d OK\n", i, j); } } ergo_free(mat); if (!failed) { puts("T test succeeded."); unlink("ergoscf.out"); } return failed; } ergo-3.5/source/test/Makefile.am0000664000175000017500000003163612743400307013564 00000000000000noinst_PROGRAMS = \ basicmath_test \ lapack_test \ grid_test \ stream_test \ tmat_test \ vmat_test \ gradient_test \ mat_thread_test \ mat_performance_test \ jmat_test \ jmat_extrapolate_test \ kmat_test \ kmat_symm_test \ kmat_nosymm_test \ naive_response_test \ explicit_integral_test \ xcmat_test \ xcmat_sparse_test \ xcmat_nan_inf_test \ matmem_test \ mmul_simple_test \ mmul_simple_many_test \ mmul_rectangular_test \ recexp_diag_test \ recexp_randsym_test basicmath_test_SOURCES = basicmath_test.cc lapack_test_SOURCES = lapack_test.cc grid_test_SOURCES = grid_test.cc stream_test_SOURCES = stream_test.cc tmat_test_SOURCES = tmat_test.cc vmat_test_SOURCES = vmat_test.cc gradient_test_SOURCES = gradient_test.cc mat_thread_test_SOURCES = mat_thread_test.cc mat_performance_test_SOURCES = mat_performance_test.cc jmat_test_SOURCES = jmat_test.cc jmat_extrapolate_test_SOURCES = jmat_extrapolate_test.cc kmat_test_SOURCES = kmat_test.cc kmat_symm_test_SOURCES = kmat_symm_test.cc kmat_nosymm_test_SOURCES = kmat_nosymm_test.cc naive_response_test_SOURCES = naive_response_test.cc explicit_integral_test_SOURCES = explicit_integral_test.cc xcmat_test_SOURCES = xcmat_test.cc xcmat_sparse_test_SOURCES = xcmat_sparse_test.cc xcmat_nan_inf_test_SOURCES = xcmat_nan_inf_test.cc matmem_test_SOURCES = matmem_test.cc mmul_simple_test_SOURCES = mmul_simple_test.cc mmul_simple_many_test_SOURCES = mmul_simple_many_test.cc mmul_rectangular_test_SOURCES = mmul_rectangular_test.cc recexp_diag_test_SOURCES = recexp_diag_test.cc recexp_randsym_test_SOURCES = recexp_randsym_test.cc basicmath_test_LDADD = \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a lapack_test_LDADD = \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a grid_test_LDADD = \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a stream_test_LDADD = \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/libmat.a tmat_test_LDADD = \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a vmat_test_LDADD = \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a gradient_test_LDADD = \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a mat_thread_test_LDADD = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a mat_performance_test_LDADD = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a jmat_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a jmat_extrapolate_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a kmat_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a kmat_symm_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a kmat_nosymm_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a naive_response_test_LDADD = \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a explicit_integral_test_LDADD = \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a xcmat_test_LDADD = \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a xcmat_sparse_test_LDADD = \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a xcmat_nan_inf_test_LDADD = \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a matmem_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a mmul_simple_test_LDADD = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a mmul_simple_many_test_LDADD = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a mmul_rectangular_test_LDADD = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a recexp_diag_test_LDADD = \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a recexp_randsym_test_LDADD = \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/dft \ -I$(top_srcdir)/source/scf \ -I$(top_srcdir)/source/densfromf \ -I$(top_srcdir)/source/densfromf/recursive_expansion/src \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src/ \ -I$(top_srcdir)/source/matrix_wrapper/ErgoMatrix/src/ \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack TESTS = \ basicmath_test \ lapack_test \ recexp_diag_test \ recexp_randsym_test \ grid_test \ stream_test \ xcmat_test \ xcmat_sparse_test\ xcmat_nan_inf_test \ tmat_test \ vmat_test \ gradient_test \ mat_thread_test \ mat_performance_test \ jmat_test \ jmat_extrapolate_test \ kmat_test \ kmat_symm_test \ kmat_nosymm_test \ naive_response_test \ explicit_integral_test \ matmem_test \ mmul_simple_test \ mmul_simple_many_test \ mmul_rectangular_test ergo-3.5/source/test/stream_test.cc0000664000175000017500000000573412743400307014371 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file stream_test.cc Tests the streaming grid generator. */ #include #include #include #include "grid_reader.h" #include "grid_stream.h" class MyMolInfo : public GridGenMolInfo { public: MyMolInfo(int a, int b, int s) : GridGenMolInfo(a, b, s) {} void getAtom(int icent, int *cnt, real (*coor)[3], int *charge, int *mult) const { *cnt = 1; coor[0][0] = 0; coor[0][1] = 0; coor[0][2] = icent*100; *charge = 1; *mult = 1; } void setShellRadii(real *shellRadii) const { for(int i=0; i. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include "matrix_typedefs.h" #include "matrix_utilities.h" #include "utilities.h" /** @file mat_performance_test.cc Performs some matrix-matrix multiplication operations and outputs timings. The point is to show how different block sizes affects the performance of matrix-matrix multiplication using the hierarchic matrix library. */ static void get_random_matrix_full(int n, std::vector & fullMat) { for (int col = 0; col < n; ++col) for (int row = 0; row < n; ++row) { ergo_real randomNumber = ((ergo_real)rand() / (ergo_real)RAND_MAX); fullMat[row + col * n] = randomNumber; } } static void get_matrix_from_full(normalMatrix & result, mat::SizesAndBlocks sizeBlockInfo, const std::vector & fullMat) { result.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); result.assignFromFull(fullMat); } static void verify_mmul_result(int n, const std::vector & fullMat_A, const std::vector & fullMat_B, const normalMatrix & C) { // Choose some matrix elements to check. const int noOfElements = 2*n; std::vector rowIdxList(noOfElements); std::vector colIdxList(noOfElements); std::vector valuesList(noOfElements); for(int i = 0; i < noOfElements; i++) { rowIdxList[i] = rand() % n; colIdxList[i] = rand() % n; } C.get_values(rowIdxList, colIdxList, valuesList); for(int i = 0; i < noOfElements; i++) { int row = rowIdxList[i]; int col = colIdxList[i]; ergo_real value = valuesList[i]; ergo_real sum = 0; for(int k = 0; k < n; k++) sum += fullMat_A[k*n+row] * fullMat_B[col*n+k]; if(fabs(sum - value) > 1e-7) throw std::runtime_error("ERROR: matrix-matrix multiplication gave wrong result."); } } int main(int argc, char *argv[]) { int n = 50; int blockSize_min = 12; int blockSize_max = 32; int blockSize_step = 2; if(argc > 1 && argc != 5) { std::cout << "This program expects the following arguments:" << std::endl; std::cout << "./mat_performance_test n blockSize_min blockSize_max blockSize_step" << std::endl; return -1; } if(argc == 5) { n = atoi(argv[1]); blockSize_min = atoi(argv[2]); blockSize_max = atoi(argv[3]); blockSize_step = atoi(argv[4]); } std::cout << "n = " << n << std::endl; std::cout << "blockSize_min = " << blockSize_min << std::endl; std::cout << "blockSize_max = " << blockSize_max << std::endl; std::cout << "blockSize_step = " << blockSize_step << std::endl; if(n <= 1) throw std::runtime_error("ERROR: (n <= 1)"); #ifdef _OPENMP int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) defThreads = 1; mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(1); std::cout<<"OpenMP is used, number of threads set to " < fullMat_A(n*n); get_random_matrix_full(n, fullMat_A); std::vector fullMat_B(n*n); get_random_matrix_full(n, fullMat_B); // Set up vector with blocksizes to test. std::vector blockSizes(444); int count = 0; blockSizes.at(count) = blockSize_min; while(blockSizes.at(count) < blockSize_max) { count++; blockSizes.at(count) = blockSizes.at(count-1) + blockSize_step; } int extraBlockSizes[] = {64, 128, 256, 512, 1024, 2048}; int noOfExtraBlockSizes = sizeof(extraBlockSizes) / sizeof(int); for(int i = 0; i < noOfExtraBlockSizes; i++) { int extraBlockSize = extraBlockSizes[i]; if(blockSizes.at(count) < extraBlockSize && extraBlockSize < n) blockSizes.at(++count) = extraBlockSize; } blockSizes.at(++count) = n; int noOfBlockSizes = count; for(int i = 0; i < noOfBlockSizes; i++) { int blockSize = blockSizes[i]; mat::SizesAndBlocks sizeBlockInfo; static const int sparseMatrixBlockFactor = 2; sizeBlockInfo = prepareMatrixSizesAndBlocks(n, blockSize, sparseMatrixBlockFactor, sparseMatrixBlockFactor, sparseMatrixBlockFactor); // Create random matrices A and B using the current block size. normalMatrix A, B; get_matrix_from_full(A, sizeBlockInfo, fullMat_A); get_matrix_from_full(B, sizeBlockInfo, fullMat_B); // Compute C = A * B normalMatrix C; Util::TimeMeter tm; C.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); C = A * B; double secondsTaken = tm.get_wall_seconds() - tm.get_start_time_wall_seconds(); std::cout << "C = A * B operation using blockSize " << std::setw(7) << blockSize << " took " << std::setw(12) << std::setprecision(5) << std::fixed << secondsTaken << " wall seconds." << std::endl; // Verify result. verify_mmul_result(n, fullMat_A, fullMat_B, C); } puts("mat_performance_test finished OK."); return 0; } ergo-3.5/source/test/mmul_simple_many_test.cc0000664000175000017500000001270512743400307016441 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file mmul_simple_many_test.cc Tests and measures timings for matrix-matrix multiplication using BLAS and compares to a naive implementation. The idea is to run this linking to different BLAS variants with and without threading inside the BLAS gemm routine, to see how much speedup can be achieved from threading. */ #include #include #include #include "realtype.h" #include "utilities.h" #include "mat_gblas.h" static void fill_matrix_with_random_numbers(int n, std::vector & A) { for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { ergo_real randomNumber = rand(); A[i*n+j] = randomNumber / RAND_MAX; } } static void do_naive_mmul(std::vector & C, const std::vector & A, const std::vector & B, int n) { for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { ergo_real sum = 0; for(int k = 0; k < n; k++) sum += A[i*n+k] * B[k*n+j]; C[j*n+i] = sum; } } ergo_real compare_matrices(const std::vector & A, const std::vector & B, int n) { ergo_real maxabsdiff = 0; for(int i = 0; i < n*n; i++) { ergo_real absdiff = fabs(A[i] - B[i]); if(absdiff > maxabsdiff) maxabsdiff = absdiff; } return maxabsdiff; } int main(int argc, char *argv[]) { int m = 10; int n = 500; if(argc == 3) { m = atof(argv[1]); n = atof(argv[2]); } printf("mmul_simple_many_test start, m = %5d, matrix size n = %6d.\n", m, n); // Generate matrix lists A and B of matrices filled with random numbers. std::vector< std::vector > A(m); std::vector< std::vector > B(m); for(int i = 0; i < m; i++) { A[i].resize(n*n); B[i].resize(n*n); fill_matrix_with_random_numbers(n, A[i]); fill_matrix_with_random_numbers(n, B[i]); } printf("random matrix lists A and B generated OK.\n"); // Compute matrix C = A*B using naive implementation. std::vector< std::vector > C(m); for(int i = 0; i < m; i++) C[i].resize(n*n); Util::TimeMeter tm_naive; for(int i = 0; i < m; i++) do_naive_mmul(C[i], A[i], B[i], n); double secondsTaken_naive_mmul = tm_naive.get_wall_seconds() - tm_naive.get_start_time_wall_seconds(); printf("do_naive_mmul took %6.3f wall seconds.\n", secondsTaken_naive_mmul); // Now do the same computation by calling the BLAS gemm routine. ergo_real alpha = 1; ergo_real beta = 0; std::vector< std::vector > C2(m); for(int i = 0; i < m; i++) C2[i].resize(n*n); Util::TimeMeter tm_BLAS_gemm_1; for(int i = 0; i < m; i++) mat::gemm("T", "T", &n, &n, &n, &alpha, &A[i][0], &n, &B[i][0], &n, &beta, &C2[i][0], &n); double secondsTaken_BLAS_gemm_1 = tm_BLAS_gemm_1.get_wall_seconds() - tm_BLAS_gemm_1.get_start_time_wall_seconds(); printf("BLAS gemm call took %6.3f wall seconds.\n", secondsTaken_BLAS_gemm_1); // Check that results are equal. ergo_real maxdiff1 = 0; for(int i = 0; i < m; i++) { ergo_real diff = compare_matrices(C[i], C2[i], n); if(diff > maxdiff1) maxdiff1 = diff; } printf("Max abs diff (elementwise) between naive and BLAS gemm results: %6.3g\n", (double)maxdiff1); // Now do the same computation again by calling the BLAS gemm routine. std::vector< std::vector > C3(m); for(int i = 0; i < m; i++) C3[i].resize(n*n); Util::TimeMeter tm_BLAS_gemm_2; for(int i = 0; i < m; i++) mat::gemm("T", "T", &n, &n, &n, &alpha, &A[i][0], &n, &B[i][0], &n, &beta, &C3[i][0], &n); double secondsTaken_BLAS_gemm_2 = tm_BLAS_gemm_2.get_wall_seconds() - tm_BLAS_gemm_2.get_start_time_wall_seconds(); printf("BLAS gemm call took %6.3f wall seconds.\n", secondsTaken_BLAS_gemm_2); // Check that results are equal. ergo_real maxdiff2 = 0; for(int i = 0; i < m; i++) { ergo_real diff = compare_matrices(C[i], C3[i], n); if(diff > maxdiff1) maxdiff2 = diff; } printf("Max abs diff (elementwise) between naive and BLAS gemm results: %6.3g\n", (double)maxdiff2); ergo_real tol = 2e-4; if(maxdiff1 > tol || maxdiff2 > tol) { printf("Error: too large diff between naive mmul and BLAS gemm results.\n"); return -1; } printf("mmul_simple_many_test finished OK.\n"); return 0; } ergo-3.5/source/test/kmat_nosymm_test.cc0000664000175000017500000001713212743400307015427 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file kmat_nosymm_test.cc Tests the sparse exchange matrix construction for non-symmetric density matrices. */ #include #include #include #include #include #include "matrix_utilities.h" #include "integral_matrix_wrappers.h" #include "integrals_2el_explicit.h" int main(int argc, char *argv[]) { int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) { defThreads = 1; } #ifdef _OPENMP mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(2); std::cout<<"OpenMP is used, number of threads set to " < permutationHML(bis.noOfBasisFuncs); std::vector inversePermutationHML(bis.noOfBasisFuncs); getMatrixPermutation(bis, 20, 8, 8, 8, permutationHML, inversePermutationHML); normalMatrix D_nosymm; D_nosymm.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); normalMatrix K_nosymm; K_nosymm.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); { /* Add values to density matrix. */ int n = bis.noOfBasisFuncs; /* Put values on diagonal and next to diagonal. */ int nvalues = n + 2 * (n-1); std::vector rowind(nvalues); std::vector colind(nvalues); std::vector values(nvalues); int count = 0; // Put ones on diagonal. for(int i = 0; i < n; i++) { rowind[count] = i; colind[count] = i; values[count] = 1; count++; } // Put small random values next to diagonal. for(int i = 0; i < n-1; i++) { int j = i + 1; ergo_real value1 = 0.2 - 0.1 * ((double)rand() / RAND_MAX); rowind[count] = i; colind[count] = j; values[count] = value1; count++; ergo_real value2 = 0.2 - 0.1 * ((double)rand() / RAND_MAX); rowind[count] = j; colind[count] = i; values[count] = value2; count++; } D_nosymm.assign_from_sparse(rowind, colind, values, permutationHML, permutationHML); } JK::Params J_K_params; J_K_params. noOfThreads_K = defThreads; static const ergo_real EPS = std::numeric_limits::epsilon(); J_K_params.threshold_K = sqrt(EPS); JK::ExchWeights CAM_params_not_used; J_K_params.exchange_box_size = 4; if(compute_K_by_boxes_sparse_nosymm(bis, integralInfo, CAM_params_not_used, J_K_params, K_nosymm, D_nosymm, permutationHML, inversePermutationHML) != 0) { printf("Error in compute_K_by_boxes_sparse_nosymm\n"); return -1; } // ergo_real acc = sqrt(EPS); // ergo_real diffNorm = K_diff.eucl(acc); ergo_real requestedAcc; if(getenv("RUN_BENCHMARK")) requestedAcc = J_K_params.threshold_K*25*nx*ny*nz; else requestedAcc = J_K_params.threshold_K*25*nx*ny*nz; // Test result by explicit computation of all integrals. ergo_real maxabsdiff_explicitcheck = 0; { std::vector rowind_D; std::vector colind_D; std::vector values_D; D_nosymm.get_all_values(rowind_D, colind_D, values_D, inversePermutationHML, inversePermutationHML); int nvalues_D = values_D.size(); std::vector rowind_K; std::vector colind_K; std::vector values_K; K_nosymm.get_all_values(rowind_K, colind_K, values_K, inversePermutationHML, inversePermutationHML); int nvalues_K = values_K.size(); int n = bis.noOfBasisFuncs; // Create full matrix version of D. std::vector D_full(n*n); for(int ii = 0; ii < n*n; ii++) D_full[ii] = 0; for(int ii = 0; ii < nvalues_D; ii++) { int i = rowind_D[ii]; int j = colind_D[ii]; D_full[i*n+j] = values_D[ii]; } // Create full matrix version of K. std::vector K_full(n*n); for(int ii = 0; ii < n*n; ii++) K_full[ii] = 0; for(int ii = 0; ii < nvalues_K; ii++) { int i = rowind_K[ii]; int j = colind_K[ii]; K_full[i*n+j] = values_K[ii]; } // Now check K. for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { // Compute element K_ij explicitly. ergo_real sum = 0; for(int k = 0; k < n; k++) for(int l = 0; l < n; l++) { ergo_real integral_iklj = do_2e_integral(i, k, l, j, bis, integralInfo); ergo_real contrib = (-0.5) * D_full[k*n+l] * integral_iklj; sum += contrib; } ergo_real K_value_explicit = sum; ergo_real K_value_to_check = K_full[i*n+j]; ergo_real absdiff = fabs(K_value_explicit - K_value_to_check); if(absdiff > maxabsdiff_explicitcheck) maxabsdiff_explicitcheck = absdiff; } if(maxabsdiff_explicitcheck > requestedAcc) { printf("Error in K test: diff too large in explicit comparison!\n"); printf("maxabsdiff_explicitcheck = %8.4g\n", (double)maxabsdiff_explicitcheck); printf("requestedAcc = %8.4g\n", (double)requestedAcc); return -1; } } unlink("ergoscf.out"); printf("K nosymm test OK, maxabsdiff_explicitcheck = %7.4g\n", (double)maxabsdiff_explicitcheck); return 0; } ergo-3.5/source/test/gradient_test.cc0000664000175000017500000002721712743400307014673 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file gradient_test.cc Tests the gradient computation. */ #include "integrals_1el_potential.h" #include "integrals_1el_single.h" #include "integrals_general.h" #include "matrix_typedefs.h" #include "integral_matrix_wrappers.h" #include "matrix_utilities.h" #include "output.h" static void preparePermutations(const BasisInfoStruct& basisInfo, mat::SizesAndBlocks& sizeBlockInfo, std::vector& permutation, std::vector& inversePermutation) { static const int sparseMatrixBlockSize = 16, sparseMatrixBlockFactor = 4; sizeBlockInfo = prepareMatrixSizesAndBlocks(basisInfo.noOfBasisFuncs, sparseMatrixBlockSize, sparseMatrixBlockFactor, sparseMatrixBlockFactor, sparseMatrixBlockFactor); getMatrixPermutation(basisInfo, sparseMatrixBlockSize, sparseMatrixBlockFactor, sparseMatrixBlockFactor, sparseMatrixBlockFactor, permutation, inversePermutation); } static ergo_real get_nucl_energy_for_given_mol_and_dens(const IntegralInfo& integralInfo, const Molecule& molecule, const BasisInfoStruct& basisInfo, const symmMatrix & D, ergo_real threshold_integrals_1el, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML) { ergo_real nuclearRepulsionEnergy = molecule.getNuclearRepulsionEnergy(); ergo_real elecNuclEnergy = get_electron_nuclear_attraction_energy(integralInfo, molecule, basisInfo, D, threshold_integrals_1el, matrix_size_block_info, permutationHML); return nuclearRepulsionEnergy + elecNuclEnergy; } static int get_gradient_using_finite_differences(const IntegralInfo& integralInfo, const BasisInfoStruct& basisInfo, const Molecule & molecule, const symmMatrix & densityMatrix, ergo_real threshold_integrals_1el, const mat::SizesAndBlocks & matrix_size_block_info, const std::vector & permutationHML, ergo_real* resultGradient) { int nAtoms = molecule.getNoOfAtoms(); for(int i = 0; i < nAtoms; i++) { for(int coordIdx = 0; coordIdx < 3; coordIdx++) { const ergo_real h = 1e-3; Molecule moleculeTmp = molecule; Atom atomTmp = molecule.getAtom(i); atomTmp.coords[coordIdx] += h; moleculeTmp.replaceAtom(i, atomTmp); ergo_real E1 = get_nucl_energy_for_given_mol_and_dens(integralInfo, moleculeTmp, basisInfo, densityMatrix, threshold_integrals_1el, matrix_size_block_info, permutationHML); moleculeTmp = molecule; atomTmp = molecule.getAtom(i); atomTmp.coords[coordIdx] -= h; moleculeTmp.replaceAtom(i, atomTmp); ergo_real E2 = get_nucl_energy_for_given_mol_and_dens(integralInfo, moleculeTmp, basisInfo, densityMatrix, threshold_integrals_1el, matrix_size_block_info, permutationHML); ergo_real gradientComponent = (E1 - E2) / (2 * h); resultGradient[i*3+coordIdx] = gradientComponent; } // END FOR coordIdx } // END FOR i return 0; } static int get_gradient_using_explicit_integrals(const IntegralInfo& integralInfo, const BasisInfoStruct& basisInfo, const Molecule & molecule, const symmMatrix & densityMatrix, ergo_real threshold_integrals_1el, const mat::SizesAndBlocks & matrix_size_block_info, const std::vector & permutationHML, const std::vector & inversePermutationHML, ergo_real* resultGradient) { int nAtoms = molecule.getNoOfAtoms(); memset(resultGradient, 0, nAtoms*3*sizeof(ergo_real)); int n = basisInfo.noOfBasisFuncs; std::vector densityMatrix_full(n*n); densityMatrix.fullMatrix(densityMatrix_full, inversePermutationHML, inversePermutationHML); for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { // Consider gradient contributions related to V matrix element (i,j) // Compute list of simpleprimitives for product of basis funcs i and j. const int maxCount = 888; DistributionSpecStruct list[maxCount]; int nPrims = get_product_simple_primitives(basisInfo, i, basisInfo, j, list, maxCount, 0); if(nPrims < 0) return -1; for(int m = 0; m < nPrims; m++) for(int k = 0; k < nAtoms; k++) { std::vector integralValues = do_1e_repulsion_integral_derivatives_using_symb_info(&list[m], molecule.getAtom(k).charge, molecule.getAtom(k).coords, integralInfo); for(int coordIdx = 0; coordIdx < 3; coordIdx++) { ergo_real integralValue = integralValues[coordIdx]; resultGradient[k*3+coordIdx] += -1 * integralValue * densityMatrix_full[i*n+j]; } } } molecule.getNuclearRepulsionEnergyGradientContrib(resultGradient); return 0; } static int test_gradient_by_explicit_comparison(const IntegralInfo & integralInfo) { Molecule molecule; // Put some atoms far away to make sure multipoles are used, but // still some of them close together so that significant overlaps // exist. molecule.addAtom(5.0, 0.2, 1.5, 0.5); molecule.addAtom(9.0, 3.6, 0.1, 0.2); molecule.addAtom(4.0, 1.6, 2.1, 0.9); molecule.addAtom(6.0, 10.1, 21.4, 85.3); molecule.addAtom(7.0, 13.6, 20.2, 85.1); molecule.addAtom(3.0, 11.2, 22.4, 85.6); molecule.addAtom(6.0, 10.4, 31.3, 74.7); molecule.addAtom(9.0, 13.5, 30.2, 74.4); #if 0 molecule.addAtom(7.0, 16.6, 15.2, 85.1); molecule.addAtom(3.0, 15.2, 18.4, 85.6); molecule.addAtom(6.0, 14.4, 26.3, 74.7); molecule.addAtom(9.0, 13.5, 28.2, 74.1); molecule.addAtom(6.0, 4.4, 26.3, 34.7); molecule.addAtom(9.0, 3.5, 28.2, 34.1); molecule.addAtom(6.0, 4.4, 26.3, 36.9); molecule.addAtom(9.0, 3.5, 27.2, 36.5); #endif BasisInfoStruct basisInfo; if(basisInfo.addBasisfuncsForMolecule(molecule, "6-31Gss", 0, NULL, integralInfo, 0, 1, 0) != 0) { puts("error in basisInfo.addBasisfuncsGorMolecule"); return -1; } std::vector permutationHML, inversePermutationHML; mat::SizesAndBlocks sizeBlockInfo; preparePermutations(basisInfo, sizeBlockInfo, permutationHML, inversePermutationHML); ergo_real threshold = 1e-12; ergo_real boxSize = 3.3; // Use small box size to provoke errors. symmMatrix V; V.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); symmMatrix D; D.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); { /* Add values to density matrix diagonal and one step next to diagonal. */ const int nvalues1 = basisInfo.noOfBasisFuncs; std::vector idxrow(nvalues1); std::vector idxcol(nvalues1); std::vector values(nvalues1); for(int i=0; i gradient1(nAtoms*3); std::vector gradient2(nAtoms*3); std::vector gradient3(nAtoms*3); // - 1: Compute gradient using finite differences if(get_gradient_using_finite_differences(integralInfo, basisInfo, molecule, D, threshold, sizeBlockInfo, permutationHML, &gradient1[0]) != 0) { printf("Error in get_gradient_using_finite_differences.\n"); throw "Error in get_gradient_using_finite_differences"; } // - 2: Compute gradient using explicit integrals if(get_gradient_using_explicit_integrals(integralInfo, basisInfo, molecule, D, threshold, sizeBlockInfo, permutationHML, inversePermutationHML, &gradient2[0]) != 0) { printf("Error in get_gradient_using_explicit_integrals.\n"); throw "Error in get_gradient_using_explicit_integrals"; } // - 3: Compute gradient using by calling the real linear-scaling gradient computation routine if(compute_gradient_of_nucl_and_trDV(basisInfo, integralInfo, molecule, threshold, boxSize, D, permutationHML, &gradient3[0]) != 0) { printf("Error in compute_gradient_of_nucl_and_trDV.\n"); throw "Error in compute_gradient_of_nucl_and_trDV"; } ergo_real maxabsdiff_1_2 = 0; ergo_real maxabsdiff_1_3 = 0; ergo_real maxabsdiff_2_3 = 0; for(int i = 0; i < nAtoms; i++) for(int coordIdx = 0; coordIdx < 3; coordIdx++) { int idx = i*3+coordIdx; ergo_real absdiff_1_2 = std::fabs(gradient1[idx] - gradient2[idx]); ergo_real absdiff_1_3 = std::fabs(gradient1[idx] - gradient3[idx]); ergo_real absdiff_2_3 = std::fabs(gradient2[idx] - gradient3[idx]); if(absdiff_1_2 > maxabsdiff_1_2) maxabsdiff_1_2 = absdiff_1_2; if(absdiff_1_3 > maxabsdiff_1_3) maxabsdiff_1_3 = absdiff_1_3; if(absdiff_2_3 > maxabsdiff_2_3) maxabsdiff_2_3 = absdiff_2_3; } printf("maxabsdiff_1_2 = %22.11f\n", (double)maxabsdiff_1_2); printf("maxabsdiff_1_3 = %22.11f\n", (double)maxabsdiff_1_3); printf("maxabsdiff_2_3 = %22.11f\n", (double)maxabsdiff_2_3); if(maxabsdiff_1_2 > 2e-5) { printf("Error: maxabsdiff_1_2 too large.\n"); return -1; } if(maxabsdiff_2_3 > 5e-9) { printf("Error: maxabsdiff_2_3 too large.\n"); return -1; } printf("OK!\n"); puts("test_gradient_by_explicit_comparison OK."); return 0; } int main(int argc, char *argv[]) { #ifdef PRECISION_SINGLE printf("gradient_test: skipping this test because PRECISION_SINGLE is defined.\n"); return 0; #endif IntegralInfo integralInfo(true); int errorCount = 0; // enable_output(); // Do this if you want the ergoscf.out file, to see timings etc. if(test_gradient_by_explicit_comparison(integralInfo) != 0) { puts("error in test_gradient_by_explicit_comparison."); errorCount++; } if(errorCount != 0) { puts("ERROR in gradient tests."); return -1; } puts("Gradient tests OK."); return 0; } ergo-3.5/source/test/explicit_integral_test.cc0000664000175000017500000001340212743400307016573 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file explicit_integral_test.cc Tests the explicit computation of 2-electron integrals by moving basis functions by small distances and verifying that the computed 2-el integrals vary smoothly. */ #include #include #include #include #include #include "integrals_2el_explicit.h" int try_integral_diffs(const IntegralInfo & integralInfo, ergo_real h) { Molecule m; int nx = 2; int ny = 1; int nz = 1; const ergo_real space = 8.8; int atomCount = 0; for(int ix = 0; ix < nx; ix++) for(int iy = 0; iy < ny; iy++) for(int iz = 0; iz < nz; iz++) { ergo_real x = ix*space + 0.4*std::cos((ix+iy+iz)*0.2+0.0)*space; ergo_real y = iy*space + 0.4*std::cos((ix+iy+iz)*0.2+0.3)*space; ergo_real z = iz*space + 0.4*std::cos((ix+iy+iz)*0.2+0.6)*space; /* Use a mix of charges: H, C, Zn. It is good to have some Zn there so we check also usage of basis functions of f type. */ int charge = 1; if(atomCount%3 == 0) charge = 6; // if(atomCount%9 == 0) // charge = 30; m.addAtom(charge, x, y, z); atomCount++; } ergo_real moleculeBaseCoord = m.getAtom(0).coords[0]; ergo_real machine_epsilon = std::numeric_limits::epsilon(); // OK, now we have a molecule. Now do a loop where we move one atom // by a small distance and save resulting 2-el integrals for each // case. const int noOfCases = 55; std::vector< std::vector< std::vector< std::vector< std::vector > > > > integralList(noOfCases); int n = 0; // Will be set later. for(int caseIdx = 0; caseIdx < noOfCases; caseIdx++) { // Move first atom by small distance in x direction. Atom atom = m.getAtom(0); atom.coords[0] = moleculeBaseCoord + caseIdx * h; m.replaceAtom(0, atom); // New scope here so that the BasisInfoStruct pointer is freed each time. { BasisInfoStruct bis; if(bis.addBasisfuncsForMolecule(m, ERGO_SPREFIX "/basis/3-21G", 0, NULL, integralInfo, 0, 0, 0) != 0) { printf("bis.addBasisfuncsForMolecule failed.\n"); return -1; } // OK, now we have a basis set for the current version of the // molecule. Now compute integrals. n = bis.noOfBasisFuncs; integralList[caseIdx].resize(n); for(int i = 0; i < n; i++) { integralList[caseIdx][i].resize(n); for(int j = i; j < n; j++) { integralList[caseIdx][i][j].resize(n); for(int k = 0; k < n; k++) { integralList[caseIdx][i][j][k].resize(n); for(int l = k; l < n; l++) { integralList[caseIdx][i][j][k][l] = do_2e_integral(i, k, l, j, bis, integralInfo); } } } } } // End of scope for temporary BasisInfoStruct } // END FOR caseIdx // OK, now we have integrals computed for all cases. Now check if // each integral value varies smoothly. int count = 0; for(int i = 0; i < n; i++) for(int j = i; j < n; j++) for(int k = 0; k < n; k++) for(int l = k; l < n; l++) { // Now we are interested in the integral (ij|kl). First // check if this integral values seems to be approximately // linearly dependent on the modufied atomic coordinate. ergo_real totDiff = integralList[noOfCases-1][i][j][k][l] - integralList[0][i][j][k][l]; ergo_real halfDiff = integralList[noOfCases/2][i][j][k][l] - integralList[0][i][j][k][l]; if(halfDiff != 0 && std::fabs(totDiff) > machine_epsilon) { ergo_real kvot = totDiff / halfDiff; // Now if kvot is approximately 2 we think this integral behaves linearly. if(kvot > 1.95 && kvot < 2.05) { count++; for(int caseIdx = 1; caseIdx < noOfCases; caseIdx++) { ergo_real diff = integralList[caseIdx][i][j][k][l] - integralList[caseIdx-1][i][j][k][l]; ergo_real expectedDiff = totDiff / (noOfCases-1); if(diff/expectedDiff < 0.9 || diff/expectedDiff > 1.1) { printf("Error for integral i j k l : %d %d %d %d, expectedDiff = %9.5g, diff = %9.5g\n", i, j, k, l, (double)expectedDiff, (double)diff); return -1; } // END IF } // END FOR caseIdx } // END IF } // END IF (halfDiff != 0) } // END FOR i j k l unlink("ergoscf.out"); printf("try_integral_diffs finished OK, count = %d.\n", count); if(count == 0) exit(0); return 0; } int main(int argc, char *argv[]) { IntegralInfo integralInfo(true); integralInfo.init(); ergo_real machine_epsilon = std::numeric_limits::epsilon(); ergo_real h = 10000*machine_epsilon; printf("machine_epsilon = %9.5g, using h = %9.5g\n", (double)machine_epsilon, (double)h); if(try_integral_diffs(integralInfo, h) != 0) return -1; return 0; } ergo-3.5/source/test/mat_thread_test.cc0000664000175000017500000001004712743400307015177 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include "matrix_typedefs.h" #include "matrix_utilities.h" #include "utilities.h" /** @file mat_thread_test.cc Performs some matrix operations and outputs timings. The point is to demonstrate the problem with the matrix library becoming extremely slow when OpenMP is used with gcc. Running this test with OMP_NUM_THREADS=1 and OMP_NUM_THREADS=2 gives dramatically different performance (threaded runs are about 700 times slower than serial). */ static void get_random_positive_definite_matrix(symmMatrix & result, mat::SizesAndBlocks sizeBlockInfo, int n) { std::vector fullMat(n*n); for (int col = 0; col < n; ++col) for (int row = 0; row < n; ++row) { ergo_real randomNumber = (rand() / (ergo_real)RAND_MAX); fullMat[row + col * n] = randomNumber; fullMat[col + row * n] = randomNumber; } symmMatrix A; A.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); A.assignFromFull(fullMat); symmMatrix A2; A2.resetSizesAndBlocks(sizeBlockInfo, sizeBlockInfo); Util::TimeMeter tm; A2 = (ergo_real)1.0 * A * A; double secondsTaken = tm.get_wall_seconds() - tm.get_start_time_wall_seconds(); printf("A2 = 1.0 * A * A operation took %6.3f wall seconds.\n", secondsTaken); result = A2; } int main(int argc, char *argv[]) { #ifdef _OPENMP int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) defThreads = 1; mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(1); std::cout<<"OpenMP is used, number of threads set to " <. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file jmat_extrapolate_test.cc Tests the error extrapolation scheme for the Coulomb matrix. */ #include #include #include #include #include #include "scf_utils.h" #include "matrix_utilities.h" #include "mat_acc_extrapolate.h" #include "integral_matrix_wrappers.h" class Jworkertest { public: Jworkertest(const symmMatrix & D_, const IntegralInfo & integralInfo_, const BasisInfoStruct & basisInfo_, const JK::Params & J_K_params_, std::vector const & permutationHML_); void ComputeMatrix(ergo_real param, symmMatrix & result) const; private: const symmMatrix & D; const IntegralInfo & integralInfo; const BasisInfoStruct & basisInfo; JK::Params J_K_params; std::vector const & permutationHML; }; Jworkertest::Jworkertest(const symmMatrix & D_, const IntegralInfo & integralInfo_, const BasisInfoStruct & basisInfo_, const JK::Params & J_K_params_, std::vector const & permutationHML_) : D(D_), integralInfo(integralInfo_), basisInfo(basisInfo_), permutationHML(permutationHML_) { J_K_params = J_K_params_; } void Jworkertest::ComputeMatrix(ergo_real param, symmMatrix & result) const { JK::Params J_K_params_tmp = J_K_params; J_K_params_tmp.threshold_J = param; if(compute_J_by_boxes_sparse(basisInfo, integralInfo, J_K_params_tmp, result, D, permutationHML) != 0) throw "Jworkertest::ComputeMatrix: error in compute_J_by_boxes_sparse"; } int main(int argc, char *argv[]) { #ifdef _OPENMP int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) { defThreads = 1; } mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(2); std::cout<<"OpenMP is used, number of threads set to " < permutationHML(bis.noOfBasisFuncs); getMatrixPermutation(bis, 20, 8, 8, 8, permutationHML); symmMatrix D; D.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix J_1; J_1.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix J_2; J_2.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix J_diff; J_diff.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); { /* Add values to density matrix diagonal and one step next to diagonal. */ const int nvalues1 = bis.noOfBasisFuncs; std::vector idxrow(nvalues1); std::vector idxcol(nvalues1); std::vector values(nvalues1); for(int i=0; i investigator(matrix_size_block_info); int nSteps = 4; investigator.Scan(worker, 1e-8, sqrt(sqrt(sqrt(10.0))), nSteps); ergo_real threshList[nSteps]; ergo_real errorList_frob[nSteps]; ergo_real errorList_eucl[nSteps]; ergo_real errorList_maxe[nSteps]; ergo_real timeList[nSteps]; investigator.GetScanResult(threshList, errorList_frob, errorList_eucl, errorList_maxe, timeList); printf("Scan result:\n"); for(int i = 0; i < nSteps; i++) printf("%9.5g %9.5g %9.5g %9.5g\n", (double)threshList[i], (double)errorList_frob[i], (double)errorList_eucl[i], (double)errorList_maxe[i]); #if 0 static const ergo_real EPS = std::numeric_limits::epsilon(); J_K_params.threshold = sqrt(EPS); J_K_params.fmm_box_size = 10; if(compute_J_by_boxes_sparse(bis, biBasic, J_K_params, J_1, D) != 0) { printf("Error in compute_J_by_boxes_sparse\n"); return -1; } J_K_params.fmm_box_size = 4; if(compute_J_by_boxes_sparse(bis, biBasic, J_K_params, J_2, D) != 0) { printf("Error in compute_J_by_boxes_sparse\n"); return -1; } J_diff = J_1; J_diff += (ergo_real)(-1.0) * J_2; generalVector vector; vector.build_data_structure(perm); ergo_real acc = sqrt(EPS); ergo_real diffNorm = J_diff.eucl(vector, acc); ergo_real requestedAcc; if(getenv("RUN_BENCHMARK")) requestedAcc = J_K_params.threshold*4000; else requestedAcc = J_K_params.threshold*200; if(diffNorm > requestedAcc) { printf("Error in J test: diff too large!\n"); printf("diffNorm = %8.4g\n", diffNorm); printf("requestedAcc = %8.4g\n", requestedAcc); return -1; } #endif unlink("ergoscf.out"); printf("J extrapolate test OK\n"); return 0; } ergo-3.5/source/test/kmat_symm_test.cc0000664000175000017500000001673112743400307015076 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file kmat_nosymm_test.cc Tests the sparse exchange matrix construction for non-symmetric density matrices. */ #include #include #include #include #include #include "matrix_utilities.h" #include "integral_matrix_wrappers.h" #include "integrals_2el_explicit.h" int main(int argc, char *argv[]) { int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) { defThreads = 1; } #ifdef _OPENMP mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(2); std::cout<<"OpenMP is used, number of threads set to " < permutationHML(bis.noOfBasisFuncs); std::vector inversePermutationHML(bis.noOfBasisFuncs); getMatrixPermutation(bis, 20, 8, 8, 8, permutationHML, inversePermutationHML); symmMatrix D_symm; D_symm.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix K_symm; K_symm.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); { /* Add values to density matrix. */ int n = bis.noOfBasisFuncs; /* Put values on diagonal and next to diagonal. */ int nvalues = n + 1 * (n-1); std::vector rowind(nvalues); std::vector colind(nvalues); std::vector values(nvalues); int count = 0; // Put ones on diagonal. for(int i = 0; i < n; i++) { rowind[count] = i; colind[count] = i; values[count] = 1; count++; } // Put small random values next to diagonal. for(int i = 0; i < n-1; i++) { int j = i + 1; ergo_real value = 0.2 - 0.1 * ((double)rand() / RAND_MAX); rowind[count] = i; colind[count] = j; values[count] = value; count++; } D_symm.assign_from_sparse(rowind, colind, values, permutationHML, permutationHML); } JK::Params J_K_params; J_K_params. noOfThreads_K = defThreads; static const ergo_real EPS = std::numeric_limits::epsilon(); J_K_params.threshold_K = sqrt(EPS); JK::ExchWeights CAM_params_not_used; J_K_params.exchange_box_size = 4; if(compute_K_by_boxes_sparse(bis, integralInfo, CAM_params_not_used, J_K_params, K_symm, D_symm, permutationHML, inversePermutationHML) != 0) { printf("Error in compute_K_by_boxes_sparse\n"); return -1; } // ergo_real acc = sqrt(EPS); // ergo_real diffNorm = K_diff.eucl(acc); ergo_real requestedAcc; if(getenv("RUN_BENCHMARK")) requestedAcc = J_K_params.threshold_K*25*nx*ny*nz; else requestedAcc = J_K_params.threshold_K*25*nx*ny*nz; // Also test result by explicit computation of all integrals. ergo_real maxabsdiff_explicitcheck = 0; { std::vector rowind_D; std::vector colind_D; std::vector values_D; D_symm.get_all_values(rowind_D, colind_D, values_D, inversePermutationHML, inversePermutationHML); int nvalues_D = values_D.size(); std::vector rowind_K; std::vector colind_K; std::vector values_K; K_symm.get_all_values(rowind_K, colind_K, values_K, inversePermutationHML, inversePermutationHML); int nvalues_K = values_K.size(); int n = bis.noOfBasisFuncs; // Create full matrix version of D. std::vector D_full(n*n); for(int ii = 0; ii < n*n; ii++) D_full[ii] = 0; for(int ii = 0; ii < nvalues_D; ii++) { int i = rowind_D[ii]; int j = colind_D[ii]; D_full[i*n+j] = values_D[ii]; D_full[j*n+i] = values_D[ii]; } // Create full matrix version of K. std::vector K_full(n*n); for(int ii = 0; ii < n*n; ii++) K_full[ii] = 0; for(int ii = 0; ii < nvalues_K; ii++) { int i = rowind_K[ii]; int j = colind_K[ii]; K_full[i*n+j] = values_K[ii]; K_full[j*n+i] = values_K[ii]; } // Now check K. for(int i = 0; i < n; i++) for(int j = i; j < n; j++) { // Compute element K_ij explicitly. ergo_real sum = 0; for(int k = 0; k < n; k++) for(int l = 0; l < n; l++) { ergo_real integral_iklj = do_2e_integral(i, k, l, j, bis, integralInfo); ergo_real contrib = (-0.5) * D_full[k*n+l] * integral_iklj; sum += contrib; } ergo_real K_value_explicit = sum; ergo_real K_value_to_check = K_full[i*n+j]; ergo_real absdiff = fabs(K_value_explicit - K_value_to_check); if(absdiff > maxabsdiff_explicitcheck) maxabsdiff_explicitcheck = absdiff; } if(maxabsdiff_explicitcheck > requestedAcc) { printf("Error in K test: diff too large in explicit comparison!\n"); printf("maxabsdiff_explicitcheck = %8.4g\n", (double)maxabsdiff_explicitcheck); printf("requestedAcc = %8.4g\n", (double)requestedAcc); return -1; } } unlink("ergoscf.out"); printf("K test OK, maxabsdiff_explicitcheck = %7.4g\n", (double)maxabsdiff_explicitcheck); return 0; } ergo-3.5/source/electron_dynamics/0000775000175000017500000000000012743400366014327 500000000000000ergo-3.5/source/electron_dynamics/tdhf_dynamics.h0000664000175000017500000000354712743400307017240 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef TDHF_DYNAMICS_HEADER #define TDHF_DYNAMICS_HEADER #include "basisinfo.h" #include "matrix_typedefs.h" #include "scf.h" #include "electron_dynamics.h" void do_tdhf_dynamics(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const Molecule & molecule, const Molecule & extraCharges, const SCF::MatOptions& matOpts, const JK::ExchWeights & CAM_params, const JK::Params & J_K_params, const symmMatrix & FockMatrix, const symmMatrix & densityMatrix, const symmMatrix & S_symm, const triangMatrix & invCholFactor, const ED::Params & params); #endif ergo-3.5/source/electron_dynamics/Makefile.in0000664000175000017500000004140312743400352016311 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/electron_dynamics ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libelectron_dynamics_a_AR = $(AR) $(ARFLAGS) libelectron_dynamics_a_LIBADD = am_libelectron_dynamics_a_OBJECTS = tdhf_dynamics.$(OBJEXT) libelectron_dynamics_a_OBJECTS = $(am_libelectron_dynamics_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libelectron_dynamics_a_SOURCES) DIST_SOURCES = $(libelectron_dynamics_a_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libelectron_dynamics.a libelectron_dynamics_a_SOURCES = \ electron_dynamics.h \ tdhf_dynamics.h \ tdhf_dynamics.cc AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/scf \ -I$(top_srcdir)/source/dft \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack all: all-am .SUFFIXES: .SUFFIXES: .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/electron_dynamics/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/electron_dynamics/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libelectron_dynamics.a: $(libelectron_dynamics_a_OBJECTS) $(libelectron_dynamics_a_DEPENDENCIES) $(EXTRA_libelectron_dynamics_a_DEPENDENCIES) $(AM_V_at)-rm -f libelectron_dynamics.a $(AM_V_AR)$(libelectron_dynamics_a_AR) libelectron_dynamics.a $(libelectron_dynamics_a_OBJECTS) $(libelectron_dynamics_a_LIBADD) $(AM_V_at)$(RANLIB) libelectron_dynamics.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tdhf_dynamics.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/electron_dynamics/Makefile.am0000664000175000017500000000106712743400275016306 00000000000000noinst_LIBRARIES = libelectron_dynamics.a libelectron_dynamics_a_SOURCES = \ electron_dynamics.h \ tdhf_dynamics.h \ tdhf_dynamics.cc AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/scf \ -I$(top_srcdir)/source/dft \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack ergo-3.5/source/electron_dynamics/tdhf_dynamics.cc0000664000175000017500000004651212743400307017375 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file tdhf_dynamics.cc Implementation of TDHF electron dynamics, explicitly propagating the electron density in time in the precence of a time-dependent electric field. This implementation was done to reproduce the results in the article by Li et al: Phys. Chem. Chem. Phys., 2005, 7, 233–239. DOI link for that article: http://dx.doi.org/10.1039/B415849K @author: Elias Rudberg responsible. */ #include #include "tdhf_dynamics.h" #include "scf_utils.h" #include "output.h" #include "pi.h" #include "integral_matrix_wrappers.h" #include "integrals_2el_explicit.h" #if 0 static void print_matrix(int n, const normalMatrix & M, const char* name, std::vector const & inversePermutationHML) { std::vector M_full(n*n); M.fullMatrix(M_full, inversePermutationHML, inversePermutationHML); printf("matrix '%s':\n", name); for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) printf("%13.7f", (double)M_full[i*n+j]); printf("\n"); } } #endif static void get_Fock_matrix_in_ort_basis(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, const JK::Params & J_K_params, normalMatrix & F_ort, const normalMatrix & D_ort, const triangMatrix & invCholFactor, const symmMatrix & H_core_Matrix, const mat::SizesAndBlocks & size_block_info, const symmMatrix & refFockMatrix, std::vector const & permutationHML, std::vector const & inversePermutationHML, bool realPart) { Util::TimeMeter timeMeter; do_output(LOG_CAT_INFO, LOG_AREA_ED, "get_Fock_matrix_in_ort_basis() starting!"); normalMatrix Z; Z.resetSizesAndBlocks(size_block_info, size_block_info); Z = invCholFactor; normalMatrix ZT; ZT.resetSizesAndBlocks(size_block_info, size_block_info); ZT = transpose(Z); normalMatrix ZD; ZD.resetSizesAndBlocks(size_block_info, size_block_info); ZD = Z * D_ort; normalMatrix D_nonort; D_nonort.resetSizesAndBlocks(size_block_info, size_block_info); D_nonort = ZD * ZT; // Compute J. normalMatrix J; J.resetSizesAndBlocks(size_block_info, size_block_info); J = 0; if(realPart) { symmMatrix Jsymm; Jsymm.resetSizesAndBlocks(size_block_info, size_block_info); symmMatrix D_nonort_symm; D_nonort_symm.resetSizesAndBlocks(size_block_info, size_block_info); D_nonort_symm = D_nonort; D_nonort_symm *= (ergo_real)2; if(compute_J_by_boxes_sparse(basisInfo, integralInfo, J_K_params, Jsymm, D_nonort_symm, permutationHML) != 0) throw "Error in compute_J_by_boxes_sparse."; J = Jsymm; } // Compute K. normalMatrix K; K.resetSizesAndBlocks(size_block_info, size_block_info); if(D_nonort.frob() > 1e-13) { D_nonort *= (ergo_real)2; if(compute_K_by_boxes_sparse_nosymm(basisInfo, integralInfo, CAM_params, J_K_params, K, D_nonort, permutationHML, inversePermutationHML) != 0) throw "Error in compute_K_by_boxes_sparse_nonsymm"; } normalMatrix G; G.resetSizesAndBlocks(size_block_info, size_block_info); G = J + K; // OK, now we have G in non-orth basis. We also need H_core. normalMatrix F_nonort; F_nonort.resetSizesAndBlocks(size_block_info, size_block_info); if(realPart) F_nonort = H_core_Matrix; else F_nonort = 0; F_nonort += (ergo_real)1 * G; // Compare to reference Fock matrix. normalMatrix refF; refF.resetSizesAndBlocks(size_block_info, size_block_info); refF = refFockMatrix; ergo_real frobDiff = normalMatrix::frob_diff(F_nonort, refF); do_output(LOG_CAT_INFO, LOG_AREA_ED, "get_Fock_matrix_in_ort_basis() frobDiff = %9.4g.", (double)frobDiff); // Now transform final result back to orthogonal basis. normalMatrix ZTF; ZTF.resetSizesAndBlocks(size_block_info, size_block_info); ZTF = ZT * F_nonort; F_ort = ZTF * Z; timeMeter.print(LOG_AREA_ED, "get_Fock_matrix_in_ort_basis"); do_output(LOG_CAT_INFO, LOG_AREA_ED, "get_Fock_matrix_in_ort_basis() finishing OK!"); } struct ComplexMatrix { normalMatrix re; normalMatrix im; mat::SizesAndBlocks size_block_info; void initialize(mat::SizesAndBlocks szblinfo) { size_block_info = szblinfo; re.resetSizesAndBlocks(size_block_info, size_block_info); im.resetSizesAndBlocks(size_block_info, size_block_info); } void copy(const ComplexMatrix & X) { re = X.re; im = X.im; } void product(const ComplexMatrix & X, const ComplexMatrix & Y) { normalMatrix tmp1; tmp1.resetSizesAndBlocks(size_block_info, size_block_info); normalMatrix tmp2; tmp2.resetSizesAndBlocks(size_block_info, size_block_info); // First do re part: re = Xre*Yre - Xim*Yim tmp1 = X.re * Y.re; tmp2 = X.im * Y.im; re = tmp1; re += (ergo_real)-1 * tmp2; // Now do im part: im = Xre*Yim + Xim*Yre tmp1 = X.re * Y.im; tmp2 = X.im * Y.re; im = tmp1 + tmp2; } void sum(const ComplexMatrix & X, const ComplexMatrix & Y) { re = X.re + Y.re; im = X.im + Y.im; } void rescale(ergo_real a) { re *= a; im *= a; } void rescale_im(ergo_real a) { normalMatrix re_new; re_new.resetSizesAndBlocks(size_block_info, size_block_info); re_new = im; re_new *= -a; im = re; im *= a; re = re_new; } void add(const ComplexMatrix & X, ergo_real a) { re += a * X.re; im += a * X.im; } void do_conjugate() { normalMatrix tmp; tmp.resetSizesAndBlocks(size_block_info, size_block_info); tmp = transpose(re); re = tmp; tmp = transpose(im); im = tmp; im *= (ergo_real)-1; } }; #if 0 static void printComplexMatrix(int n, const ComplexMatrix & M, const char* name, std::vector const & inversePermutationHML) { printf("=========== printComplexMatrix ===============\n"); char s[888]; sprintf(s, "%s re", name); print_matrix(n, M.re, s, inversePermutationHML); sprintf(s, "%s im", name); print_matrix(n, M.im, s, inversePermutationHML); } static void printComplexMatrix2(int n, const ComplexMatrix & M, const char* name, std::vector const & inversePermutationHML) { printf("=========== printComplexMatrix2 ===============\n"); std::vector M_re_full(n*n); M.re.fullMatrix(M_re_full, inversePermutationHML, inversePermutationHML); std::vector M_im_full(n*n); M.im.fullMatrix(M_im_full, inversePermutationHML, inversePermutationHML); printf("matrix '%s':\n", name); for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) printf("%12.8f + %12.8fi ", (double)M_re_full[i*n+j], (double)M_im_full[i*n+j]); printf("\n"); } } #endif #if 0 /* do_exp_transform_BCH(): compute exp(X) * Y * exp(-X) using BCH expansion. */ static void do_exp_transform_BCH(ComplexMatrix & result, const ComplexMatrix & X, const ComplexMatrix & Y, mat::SizesAndBlocks size_block_info) { result.copy(Y); ComplexMatrix prevMainTerm; prevMainTerm.initialize(size_block_info); prevMainTerm.copy(Y); ergo_real preFactor = 1; const int n = 10; for(int i = 1; i <= n; i++) { ComplexMatrix tmp1; tmp1.initialize(size_block_info); tmp1.product(X, prevMainTerm); ComplexMatrix tmp2; tmp2.initialize(size_block_info); tmp2.product(prevMainTerm, X); tmp2.rescale(-1); ComplexMatrix commutator; commutator.initialize(size_block_info); commutator.sum(tmp1, tmp2); prevMainTerm.copy(commutator); result.add(commutator, preFactor); preFactor = preFactor / 2; } } #endif static void compute_exp_of_matrix(ComplexMatrix & U, const ComplexMatrix & X, mat::SizesAndBlocks size_block_info, int n, std::vector const & inversePermutationHML) { Util::TimeMeter timeMeter; ComplexMatrix X_to_pow_k; X_to_pow_k.initialize(size_block_info); X_to_pow_k.re = 1; X_to_pow_k.im = 0; U.copy(X_to_pow_k); ergo_real preFactor = 1; const int ORDER_OF_TAYLOR_EXPANSION = 11; for(int k = 1; k < ORDER_OF_TAYLOR_EXPANSION; k++) { preFactor /= k; ComplexMatrix tmp; tmp.initialize(size_block_info); tmp.product(X_to_pow_k, X); X_to_pow_k = tmp; U.add(X_to_pow_k, preFactor); } timeMeter.print(LOG_AREA_ED, "compute_exp_of_matrix"); } static void compute_U_X_Udagger(ComplexMatrix & result, const ComplexMatrix & U, const ComplexMatrix & X, mat::SizesAndBlocks size_block_info) { ComplexMatrix UX; UX.initialize(size_block_info); UX.product(U, X); ComplexMatrix Udagger; Udagger.initialize(size_block_info); Udagger = U; Udagger.do_conjugate(); result.product(UX, Udagger); } static void get_curr_electric_field(ergo_real* electricField, ergo_real t) { const ergo_real omega = 0.10; const ergo_real E_max = 0.07; const ergo_real phasePhi = 0; ergo_real E = 0; if(t < 2*pi/omega) E = E_max * omega*t/(2*pi); else if(t < 4*pi/omega) E = E_max; else if(t < 6*pi/omega) E = E_max * (3 - omega*t/(2*pi)); else E = 0; electricField[0] = 0; electricField[1] = 0; electricField[2] = E * std::sin(omega*t + phasePhi); } static ergo_real vectorLength(ergo_real x, ergo_real y, ergo_real z) { return std::sqrt(x*x + y*y + z*z); } void do_tdhf_dynamics(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const Molecule & molecule, const Molecule & extraCharges, const SCF::MatOptions& matOpts, const JK::ExchWeights & CAM_params, const JK::Params & J_K_params, const symmMatrix & FockMatrix, const symmMatrix & densityMatrix, const symmMatrix & S_symm, const triangMatrix & invCholFactor, const ED::Params & params) { do_output(LOG_CAT_INFO, LOG_AREA_ED, "do_tdhf_dynamics() starting!"); // First get density matrix to orthogonal basis. normalMatrix Dtest; Dtest.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); Dtest = densityMatrix; normalMatrix SD; SD.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); SD = S_symm * densityMatrix; normalMatrix SDS; SDS.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); SDS = SD * S_symm; symmMatrix D_ort; D_ort.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); D_ort = SDS; D_ort = transpose(invCholFactor) * D_ort * invCholFactor; D_ort *= (ergo_real)0.5; do_output(LOG_CAT_INFO, LOG_AREA_ED, "SCF_restricted::do_electron_dynamics(), D_ort done."); // Test D_ort by converting back to non-orthogonal basis and comparing to D. symmMatrix D_nonort_test; D_nonort_test.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); D_nonort_test = D_ort; D_nonort_test = invCholFactor * D_nonort_test * transpose(invCholFactor); ergo_real D_frob_diff = symmMatrix::frob_diff(D_nonort_test, densityMatrix); do_output(LOG_CAT_INFO, LOG_AREA_ED, "SCF_restricted::do_electron_dynamics(), D_ort test D_frob_diff = %8.3g.", (double)D_frob_diff); // Get matrices needed for computation of instantaneous dipole. symmMatrix dipoleMatrixSymm_x, dipoleMatrixSymm_y, dipoleMatrixSymm_z; dipoleMatrixSymm_x.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); dipoleMatrixSymm_y.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); dipoleMatrixSymm_z.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); if(compute_operator_matrix_sparse_symm(basisInfo, 1, 0, 0, dipoleMatrixSymm_x, matOpts.permutationHML) != 0) throw "Error in compute_operator_matrix_sparse_symm."; if(compute_operator_matrix_sparse_symm(basisInfo, 0, 1, 0, dipoleMatrixSymm_y, matOpts.permutationHML) != 0) throw "Error in compute_operator_matrix_sparse_symm."; if(compute_operator_matrix_sparse_symm(basisInfo, 0, 0, 1, dipoleMatrixSymm_z, matOpts.permutationHML) != 0) throw "Error in compute_operator_matrix_sparse_symm."; normalMatrix dipoleMatrix_x, dipoleMatrix_y, dipoleMatrix_z; dipoleMatrix_x.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); dipoleMatrix_y.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); dipoleMatrix_z.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); dipoleMatrix_x = dipoleMatrixSymm_x; dipoleMatrix_y = dipoleMatrixSymm_y; dipoleMatrix_z = dipoleMatrixSymm_z; // We use two density matrices for the propagation, curr and // prev. Each of them has a real and an imaginary part. ComplexMatrix D_ort_curr; D_ort_curr.initialize(matOpts.size_block_info); ComplexMatrix D_ort_prev; D_ort_prev.initialize(matOpts.size_block_info); // We start out with zero imaginary part, and the real part for prev // is the same as curr. D_ort_curr.im.clear(); D_ort_prev.im.clear(); D_ort_curr.re = D_ort; D_ort_prev.re = D_ort; // Now do the dynamics! int stepCount = 0; ergo_real timestep = params.timestep; while(1) { Util::TimeMeter timeMeterCurrStep; // Before constructing Fock matrix, we need the 1-electron matrix // computed for the current electric field, since the field can be // time-dependent. ergo_real electricField[3]; ergo_real t = stepCount * timestep; if(t > params.max_time) break; get_curr_electric_field(electricField, t); symmMatrix H_core_Matrix_curr; H_core_Matrix_curr.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); ergo_real threshold_integrals_1el = 1e-13; int no_of_threads_for_V = 1; Util::TimeMeter timeMeterHCore; if(compute_h_core_matrix_sparse(integralInfo, molecule, extraCharges, electricField[0], electricField[1], electricField[2], basisInfo, H_core_Matrix_curr, threshold_integrals_1el, no_of_threads_for_V, matOpts.size_block_info, matOpts.permutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_ED, "error in compute_h_core_matrix_sparse"); throw "error in compute_h_core_matrix_sparse"; } timeMeterHCore.print(LOG_AREA_ED, "TDHF dynamics step H_core matrix computation"); // Get Fock matrix. To do this, first transform density matrix re // and im parts to non-orthogonal basis. ComplexMatrix F_ort; F_ort.initialize(matOpts.size_block_info); get_Fock_matrix_in_ort_basis(basisInfo, integralInfo, CAM_params, J_K_params, F_ort.re, D_ort_curr.re, invCholFactor, H_core_Matrix_curr, matOpts.size_block_info, FockMatrix, matOpts.permutationHML, matOpts.inversePermutationHML, true); get_Fock_matrix_in_ort_basis(basisInfo, integralInfo, CAM_params, J_K_params, F_ort.im, D_ort_curr.im, invCholFactor, H_core_Matrix_curr, matOpts.size_block_info, FockMatrix, matOpts.permutationHML, matOpts.inversePermutationHML, false); // Get matrix X = 2*i*timestep*F_ort ComplexMatrix X; X.initialize(matOpts.size_block_info); X.copy(F_ort); X.rescale_im(2 * timestep); #if 0 // Now compute exp(X)*D_ort*exp(-X) ComplexMatrix D_ort_new; D_ort_new.initialize(matOpts.size_block_info); do_exp_transform_BCH(D_ort_new, X, D_ort_prev, matOpts.size_block_info); do_output(LOG_CAT_INFO, LOG_AREA_ED, "SCF_restricted::do_electron_dynamics(), do_exp_transform_BCH done!"); #else const int n = basisInfo.noOfBasisFuncs; // Now compute U = exp(X) and U*D_ort*Udagger ComplexMatrix U; U.initialize(matOpts.size_block_info); compute_exp_of_matrix(U, X, matOpts.size_block_info, n, matOpts.inversePermutationHML); ComplexMatrix D_ort_new; D_ort_new.initialize(matOpts.size_block_info); compute_U_X_Udagger(D_ort_new, U, D_ort_prev, matOpts.size_block_info); #endif D_ort_prev.copy(D_ort_curr); D_ort_curr.copy(D_ort_new); stepCount++; // We want to output some information every "whole" time unit. The // step size is typically smaller than 1 a.u. so now we figure out // if this timestep is closest to the nearest "whole" time unit. ergo_real nearestWholeTime = round(t); ergo_real currDiff = std::fabs(t - nearestWholeTime); ergo_real prevDiff = std::fabs(t - timestep - nearestWholeTime); ergo_real nextDiff = std::fabs(t + timestep - nearestWholeTime); if(currDiff <= prevDiff && currDiff <= nextDiff) { // Compute instantaneous dipole. ergo_real instantaneousDipole_re, instantaneousDipole_im; // re { normalMatrix D_nonort_curr; D_nonort_curr.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); normalMatrix Z; Z.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); Z = invCholFactor; normalMatrix ZD; ZD.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); ZD = Z * D_ort_curr.re; D_nonort_curr = ZD * transpose(Z); ergo_real instantaneousDipole_x = -2 * normalMatrix::trace_ab(D_nonort_curr, dipoleMatrix_x); ergo_real instantaneousDipole_y = -2 * normalMatrix::trace_ab(D_nonort_curr, dipoleMatrix_y); ergo_real instantaneousDipole_z = -2 * normalMatrix::trace_ab(D_nonort_curr, dipoleMatrix_z); // Add contributions for each nucleus in molecule. for(int k = 0; k < molecule.getNoOfAtoms(); k++) { const Atom & atom = molecule.getAtom(k); //printf("Atom %d coords: %9.5f %9.5f %9.5f\n", k, atom.coords[0], atom.coords[1], atom.coords[2]); instantaneousDipole_x += atom.charge * atom.coords[0]; instantaneousDipole_y += atom.charge * atom.coords[1]; instantaneousDipole_z += atom.charge * atom.coords[2]; } instantaneousDipole_re = instantaneousDipole_z; } // im { ergo_real instantaneousDipole_x = normalMatrix::trace_ab(D_ort_curr.im, dipoleMatrix_x); ergo_real instantaneousDipole_y = normalMatrix::trace_ab(D_ort_curr.im, dipoleMatrix_y); ergo_real instantaneousDipole_z = normalMatrix::trace_ab(D_ort_curr.im, dipoleMatrix_z); instantaneousDipole_im = vectorLength(instantaneousDipole_x, instantaneousDipole_y, instantaneousDipole_z); } do_output(LOG_CAT_INFO, LOG_AREA_ED, "Data for dipole plot: %15.0f %15.10f %15.10f (time was really %15.10f)", (double)t, (double)instantaneousDipole_re, (double)instantaneousDipole_im, (double)t); } timeMeterCurrStep.print(LOG_AREA_ED, "TDHF dynamics complete step"); } do_output(LOG_CAT_INFO, LOG_AREA_ED, "do_tdhf_dynamics() finished!"); } ergo-3.5/source/electron_dynamics/electron_dynamics.h0000664000175000017500000000337012743400307020120 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef ELECTRON_DYNAMICS_HEADER #define ELECTRON_DYNAMICS_HEADER #include #include "realtype.h" namespace ED { struct Params { ergo_real max_time; ergo_real timestep; ergo_real dc_pulse_strength; ergo_real dc_pulse_time; ergo_real ac_pulse_max; ergo_real ac_pulse_omega; std::string field_type; Params() : max_time(125), timestep(0.2), dc_pulse_strength(0.005), dc_pulse_time(10), ac_pulse_max(0.07), ac_pulse_omega(0.1), field_type("none") {} }; } /* End of namespace ED. */ #endif ergo-3.5/source/config.h.in0000664000175000017500000001420512743400327012567 00000000000000/* source/config.h.in. Generated from configure.ac by autoheader. */ /* The location of installed ergo data files */ #undef ERGO_DATA_PREFIX /* The location of the sources */ #undef ERGO_SPREFIX /* XC functionals' precision */ #undef FUNC_PRECISION /* Define to 1 if you have the `atexit' function. */ #undef HAVE_ATEXIT /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ #undef HAVE_DOPRNT /* Define to 1 if you have the `erf' function. */ #undef HAVE_ERF /* Define to 1 if you have the `erfc' function. */ #undef HAVE_ERFC /* Define to 1 if you have the `erfcf' function. */ #undef HAVE_ERFCF /* Define to 1 if you have the `erfcl' function. */ #undef HAVE_ERFCL /* Define to 1 if you have the `erff' function. */ #undef HAVE_ERFF /* Define to 1 if you have the `erfl' function. */ #undef HAVE_ERFL /* Define to 1 if you have the `exp' function. */ #undef HAVE_EXP /* Define to 1 if you have the `expf' function. */ #undef HAVE_EXPF /* Define to 1 if you have the `expl' function. */ #undef HAVE_EXPL /* Define to 1 if you have the `fabs' function. */ #undef HAVE_FABS /* Define to 1 if you have the `fabsf' function. */ #undef HAVE_FABSF /* Define to 1 if you have the `fabsl' function. */ #undef HAVE_FABSL /* Define to 1 if you have the `floor' function. */ #undef HAVE_FLOOR /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `lapack' library (-llapack). */ #undef HAVE_LIBLAPACK /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM /* Define to 1 if you have the `mkl_lapack' library (-lmkl_lapack). */ #undef HAVE_LIBMKL_LAPACK /* Define to 1 if you have the `pthread' library (-lpthread). */ #undef HAVE_LIBPTHREAD /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H /* Define to 1 if you have the `log' function. */ #undef HAVE_LOG /* Define to 1 if you have the `logf' function. */ #undef HAVE_LOGF /* Define to 1 if you have the `logl' function. */ #undef HAVE_LOGL /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #undef HAVE_MALLOC /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* Define to 1 if you have the `pow' function. */ #undef HAVE_POW /* Define to 1 if you have the `powf' function. */ #undef HAVE_POWF /* Define to 1 if you have the `powl' function. */ #undef HAVE_POWL /* Define to 1 if your system has a GNU libc compatible `realloc' function, and to 0 otherwise. */ #undef HAVE_REALLOC /* Define to 1 if you have the `rint' function. */ #undef HAVE_RINT /* Define to 1 if you have the `sqrt' function. */ #undef HAVE_SQRT /* Define to 1 if you have the `sqrtf' function. */ #undef HAVE_SQRTF /* Define to 1 if you have the `sqrtl' function. */ #undef HAVE_SQRTL /* Define to 1 if you have the header file. */ #undef HAVE_STDDEF_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strcasecmp' function. */ #undef HAVE_STRCASECMP /* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strncasecmp' function. */ #undef HAVE_STRNCASECMP /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `vprintf' function. */ #undef HAVE_VPRINTF /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* which precision should be used */ #undef PRECISION_DOUBLE /* which precision should be used */ #undef PRECISION_LONG_DOUBLE /* which precision should be used */ #undef PRECISION_SINGLE /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Use BLAS for small matrices in XC integration */ #undef USE_BLAS_IN_XC /* Use C++ Linear Algebra Template Library */ #undef USE_LINALG_TEMPLATES /* Use SSE intrinsics to generate efficient computational kernels */ #undef USE_SSE_INTRINSICS /* Version number of package */ #undef VERSION /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a `char[]'. */ #undef YYTEXT_POINTER /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc /* Define to rpl_realloc if the replacement function should be used. */ #undef realloc /* Define to the equivalent of the C99 'restrict' keyword, or to nothing if this is not supported. Do not define if restrict is supported directly. */ #undef restrict /* Work around a bug in Sun C++: it does not support _Restrict or __restrict__, even though the corresponding Sun C compiler ends up with "#define restrict _Restrict" or "#define restrict __restrict__" in the previous line. Perhaps some future version of Sun C++ will work with restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ #if defined __SUNPRO_CC && !defined __RESTRICT # define _Restrict # define __restrict__ #endif /* Define to `unsigned int' if does not define. */ #undef size_t /* Define to empty if the keyword `volatile' does not work. Warning: valid code using `volatile' can become incorrect without. Disable with care. */ #undef volatile ergo-3.5/source/slr.cc0000664000175000017500000010774612743400307011666 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file slr.cc contains a Simple Linear Response implementation based on the MO orbital picture. Copyright(c) Pawel Salek 2006. The solver is generic: it can handle both linear sets of equations and eigenvalue problems. The variable parts are implemented by subclasses. A subclass must implement following functions: - getResidual(trial) - returns a residual vector being a difference between true solution and the solution in the subspace. In case of the set of equations, residual is computed in 3 steps: Solution in the subspace: Xsub = (Asub-freq*Ssub)\\Ysub; Solution expanded out fo subspace: X=v*Xsub; Residual vector: residualv= (Av-freq*Sv)*Xsub - Y; In case of the eigenvalue problem, more steps are needed: Solution in the subspace: [ Xsub, lambda ] = eig(Asub, Ssub); Pick first positive eigenvalue l1 = lambda(step+1); Pick corresponding eigenvector: Xsub = Xsub(:,step+1); Residual Vector: residualv = (Av-l1*Sv)*Xsub; - getPreconditonerShift() - get the preconditioner shift. In case of the set of equations, it is shifted by the constant frequency. In case of set of eigenvalues, it is shifted by the best approximation to the required solution, obtained in the first step from the difference of KS matrix eigenvalues or taken as the Ritz value when they are available. - all other stuff, like vector transformation and subspace extension are handled by the generic solver. Example usage:
  MyE2Evaluator e2;
  EigenSolver solver(nbast, nocc, fock_matrix, overlap_matrix);
  solver.solve(e2);
  printf("Lowest eigenvalue: %f\n", solver.getFreq());
  
The important stuff will get printed but also a solution should probably be returned in some convenient way. */ #include #include #include #include #include #include #include #include "mat_gblas.h" #include "slr.h" #include "solve_lin_eq_syst.h" #include "utilities.h" #include "output.h" #include "units.h" namespace LR { /** returns dot_product(a, b) */ inline ergo_real dot(int len, const ergo_real* a, const ergo_real *b) { ergo_real r=0; for(int i=0; i& b){ assert(a.inMemory); /* or load()? */ assert(b.vec.inMemory); /* or load()? */ return b.scalar*dot(a.nvar*2, a.v, b.vec.v); } inline ergo_real operator*(const VarVector &a, const VarVectorProxyOp& b){ assert(a.inMemory); assert(b.vec.inMemory); return 2*b.scalar*(dot(a.nvar,a.v, b.vec.v)- dot(a.nvar,a.v+a.nvar, b.vec.v+a.nvar)); } inline ergo_real operator*(const VarVector &a, const VarVectorProxyOp& b){ ergo_real r=0; assert(a.inMemory); assert(b.vec.inMemory); for(int i=0; i operator*(ergo_real s, const VarVector& v) { return VarVectorProxyOp(v, s); } template inline VarVectorProxyOp operator*(ergo_real s, const VarVectorProxyOp& v) { return VarVectorProxyOp(v.vec, s*v.scalar); } inline VarVector& operator+=(VarVector& a, const VarVectorProxyOp& proxy){ assert(a.inMemory); assert(proxy.vec.inMemory); for(int i=0; i<2*a.nvar; i++) a[i] += proxy.scalar*proxy.vec[i]; return a; } inline VarVector& operator+=(VarVector& a, const VarVectorProxyOp& proxy){ assert(a.nvar == proxy.vec.nvar); assert(a.inMemory); assert(proxy.vec.inMemory); for(int i=0; i& proxy){ assert(a.nvar == proxy.vec.nvar); assert(a.inMemory); assert(proxy.vec.inMemory); for(int i=0; i& proxy){ assert(a.nvar == proxy.vec.nvar); assert(a.inMemory); assert(proxy.vec.inMemory); for(int i=0; i swapXY(const VarVector& arg) { return VarVectorProxyOp(arg, 1.0) ; } /** returns a proxy object corresponding to a vector multiplied by S[2], i.e. v -> S[2]*v. */ const VarVectorProxyOp sTimes(const VarVector& arg) { return VarVectorProxyOp(arg, 1.0) ; } template VarVectorProxyOp sTimes(const VarVectorProxyOp& arg) { return VarVectorProxyOp(arg.vec, arg.scalar) ; } /* VarVector implementation. */ void VarVector::load(const char* tmpdir) { if(inMemory) return; if (nvar == 0) { inMemory = 1; return; } do_output(LOG_CAT_INFO, LOG_AREA_LR, "load::'%s' with nvar=%d", fName, nvar); if (!fName) throw "loading not saved VarVector"; int fd = open(fName, O_RDONLY, 0); if (fd == -1) throw "VarVector disappeared from disk"; if (!v) v = new ergo_real[2*nvar]; ssize_t readAlready = 0, toRead = nvar*2*sizeof(ergo_real); do { ssize_t ret = read(fd, v + readAlready, toRead); if (ret != -1) { readAlready += ret; toRead -= ret; } } while (toRead>0); close(fd); inMemory = 1; } void VarVector::save(const char* tmpdir) { if(onDisk || nvar == 0) return; if (!fName) { /* NOTE: earlier fName was allocated as new char[strlen(tmpdir) + 4 + 8 + 1] which was too small on some systems (e.g. luc2) where pointer strings are 16 chars long. This gave random segfaults and other mysterious program crashes. Elias changed the allocation to new char[888] 2008-12-02. */ fName = new char[888]; /* FIXME: Consider different creation of temporary file names. */ sprintf(fName, "%s/LR_%-8p", tmpdir, (void*)this); } static mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH; int fd = open(fName, O_WRONLY | O_CREAT | O_TRUNC, mode); if (fd == -1) throw "Cannot save VarVector"; ssize_t written = 0, toWrite = nvar*2*sizeof(ergo_real); do_output(LOG_CAT_INFO, LOG_AREA_LR, "save:'%s' writes %u bytes nvar=%d", fName, toWrite, nvar); do { ssize_t ret = write(fd, v + written, toWrite); if (ret != -1) { /* Handle interrrupted system calls... */ written += ret; toWrite -= ret; } } while (toWrite>0); close(fd); onDisk = 1; } void VarVector::release(const char* tmpdir) { if(nvar == 0) return; if(!onDisk) save(tmpdir); delete []v; v = NULL; inMemory = 0; } /* VarVectorCollection implementation. */ const char *VarVectorCollection::tmpdir = "/tmp"; VarVectorCollection::~VarVectorCollection() { if(vecs) delete []vecs; if(ages) delete []ages; } void VarVectorCollection::setSize(int sz) { if(sz > nAllocated) { delete []vecs; nAllocated = sz; vecs = new VarVector[sz]; delete []ages; ages = new unsigned[sz]; } nVecs = sz; } VarVector& VarVectorCollection::operator[](int i) { if (!vecs[i].inMemory) { release(); vecs[i].load(tmpdir); } ages[i] = currentAge++; return vecs[i]; } void VarVectorCollection::release() { if(!diskMode) return; /* Nothing needs to be done. */ /** Must allow at least two vectors at the same time in memory or * evil things will happen. */ int oldestIdx = nVecs, used=0; for(int i=1; iages[i]) oldestIdx = i; } } if( oldestIdx < nVecs && used>2) { do_output(LOG_CAT_INFO, LOG_AREA_LR, "ONE: releases vector no. %d %s", oldestIdx, vecs[oldestIdx].fName); vecs[oldestIdx].release(tmpdir); } } void VarVectorCollection::releaseAll() { if(!diskMode) return; /* Nothing needs to be done. */ if (diskMode) { do_output(LOG_CAT_INFO, LOG_AREA_LR, "releaseAll called."); } for(int i=0; i 0 && vecs[i].inMemory ) { do_output(LOG_CAT_INFO, LOG_AREA_LR, "ALL: releases vector %d with %d", i, i, vecs[i].nvar); vecs[i].release(tmpdir); } } } /** increase the dimension of the matrix without losing the data. */ void SmallMatrix::expand(int newSize) { if(newSize > nsize) { ergo_real *m = new ergo_real[newSize*newSize]; for(int i=0; i1e-10 && fabs(x2)>1e-10) { x1 = 0.5 / sqrt(x1*nrm); x2 = 0.5 / sqrt(x2*nrm); ergo_real c1 = (x1 + x2); ergo_real c2 = (x1 - x2); for(int i=0; i0) v.x()[i] /= denom; denom = e2diag.y()[i] + shift; if(fabs(denom)>0) v.y()[i] /= denom; } v.onDisk = 0; } /** mat := [mat, D_MO] */ static void commuteWithDMO(int nbast, int nocc, ergo_real *mat) { int col, row; for(col=0; colmaxSubspaceSize) throw "addToSpace: subspace size exceeded"; int i, j; int orig_size = subspaceSize; for(int ivec=0; ivec1e-10) v[ivec] += -prod*vects[i]; prod = v[ivec] * swapXY(vects[i]); if(fabs(prod)>1e-10) v[ivec] += -prod*swapXY(vects[i]); } v[ivec].symorth(); v.releaseAll(); vects.releaseAll(); if(!lintrans(e2, v[ivec], Av)) throw "E[2]*x failed"; vects[subspaceSize] = v[ivec]; Avects[subspaceSize] = Av; //vects[subspaceSize+1] = swapXY(v[ivec]); //Avects[subspaceSize+1] = swapXY(Av); subspaceSize += 2; } /* compute missing elements of the space */ for(i=orig_size; i maxSubspaceSize) { eSub.expand(newSize); sSub.expand(newSize); ergo_real *v = new ergo_real[newSize]; for(int i=0; i work(lwork); std::vector ovl(nbast*nbast); ergo_real ret; fdiag = new ergo_real[nbast]; cmo = new ergo_real[nbast*nbast]; if(nocc<=0) throw "setE2diag::At least one orbital must be occupied"; for(i=nbast*nbast-1; i>=0; i--) { cmo[i] = fock_matrix[i]; ovl[i] = s[i]; } //printmat(nbast, cmo, "fock"); //printmat(nbast, ovl, "ovl"); mat::sygv(&ITYPE, "V", "L", &nbast, cmo, &nbast, &ovl[0], &nbast, fdiag, &work[0], &lwork, &i); if(i == 0) { std::vector ediff(nbast*nbast); for(i=0; i g = Y./(E[2]-freq*S[2]) */ int SetOfEqSolver::getInitialGuess(VarVectorCollection& guess) { int nvar = e2diag.nvar; if(rhs.nvar == 0) throw "SetOfEqSolver::getInitialGuess() called without RHS set"; guess.setSize(1); VarVector& v = guess[0]; v.setSize(nvar); /* In principle, the best approximation to the solution we can get is RHS divided by the approximation of the diagonal but the last operation is done when preconditioning which is the first op that we do. That's why we set the guess to the right side with switched sign for the lower part only. */ for(int i=0; i= convThreshold; } /** expands above the default limit */ void SetOfEqSolver::increaseSubspaceLimit(int newSize) { if(newSize > maxSubspaceSize) { ergo_real *v = new ergo_real[newSize]; for(int i=0; i idx(subspaceSize); for(i=0; i %10.5f\n", i, // alphar[i], alphai[i], beta[i], ritzVals[i]); idx[i] = i; } for(int ival=0; ival0 && (ritzVals[cidx]<=0 || ritzVals[i] < ritzVals[cidx]) ) cidx = i; } ergo_real tr = ritzVals[ival]; ritzVals[ival] = ritzVals[cidx]; ritzVals[cidx] = tr; int ti = idx[ival]; idx[ival] = idx[cidx]; idx[cidx] = ti; } /* Copy the reduced-space solutions to the private matrix, making sure they are normalized properly - very important if transition moments are to be computed. ggev returns the vectors with somewhat peculiar normalization... */ if(last_ev) delete []last_ev; last_ev = new ergo_real[subspaceSize*nStates]; ergo_real *tmp = new ergo_real[subspaceSize]; for(i=0; i maxSubspaceSize) { ergo_real *v = new ergo_real[newSize]; for(int i=0; igetOper(bufao); ao2mo(nbast, bufao, bufmo); printmat(nbast, bufmo, "OPERATOR IN MO"); op.setFromFull(nbast, nocc, bufmo); delete []bufao; delete []bufmo; #endif projectOnSubspace(op, proj); for(state=0; state. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef XYZ_FILE_PARSER_HEADER #define XYZ_FILE_PARSER_HEADER #include "realtype.h" #include "molecule.h" int readMoleculeFileInXyzFormat(Molecule& result, const char* fileName, int netCharge, bool expectPlainCharges); #endif ergo-3.5/source/utilities_basic/matrix_algebra.cc0000664000175000017500000001467212743400307017216 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include "matrix_algebra.h" #include "memorymanag.h" #include "output.h" #include "../matrix/mat_gblas.h" #define USE_BLAS_MM #if 0 #ifdef USE_BLAS_MM #ifdef __cplusplus extern "C" #endif void dgemm_(const char *ta,const char *tb, const int *n, const int *k, const int *l, const double *alpha,const double *A,const int *lda, const double *B, const int *ldb, const double *beta,const double *C, const int *ldc); #endif #endif void multiply_matrices_general_2(int An1, int An2, int Bn1, int Bn2, const ergo_real* A, const ergo_real* B, ergo_real* AB, bool initToZero) { if(An2 != Bn1) { do_output(LOG_CAT_ERROR, LOG_AREA_LOWLEVEL, "error in multiply_matrices_general_2: (An2 != Bn1)"); exit(0); } #ifdef USE_BLAS_MM if(An1 == 0 || An2 == 0 || Bn1 == 0 || Bn2 == 0) return; /* call gemm */ ergo_real alpha = 1; ergo_real beta = 1; if(initToZero) beta = 0; mat::gemm("N", "N", &Bn2, &An1, &Bn1, &alpha, B, &Bn2, A, &An2, &beta, AB, &Bn2); #else if(initToZero) memset(AB, 0, An1*Bn2*sizeof(ergo_real)); for(int i = 0; i < An1; i++) for(int k = 0; k < An2; k++) for(int j = 0; j < Bn2; j++) AB[i*Bn2+j] += A[i*An2+k] * B[k*Bn2+j]; #endif } /* Standard matrix multiplication. */ void multiply_matrices_general(int An1, int An2, int Bn1, int Bn2, const ergo_real* A, const ergo_real* B, ergo_real* AB) { int i, j; if(An2 != Bn1) { do_output(LOG_CAT_ERROR, LOG_AREA_LOWLEVEL, "error in multiply_matrices_general: (An2 != Bn1)"); exit(0); } #ifdef USE_BLAS_MM if(An1 == 0 || An2 == 0 || Bn1 == 0 || Bn2 == 0) return; /* call gemm */ ergo_real alpha = 1; ergo_real beta = 0; ergo_real* ABtemp = (ergo_real*)ergo_malloc(An1*Bn2*sizeof(ergo_real)); memset(ABtemp, 0, An1*Bn2*sizeof(ergo_real)); mat::gemm("T", "T", &An1, &Bn2, &An2, &alpha, A, &An2, B, &Bn2, &beta, ABtemp, &An1); /* do transpose of result */ for(i = 0; i < An1; i++) for(j = 0; j < Bn2; j++) { AB[i*Bn2+j] = ABtemp[j*An1+i]; } ergo_free(ABtemp); #else for(i = 0; i < An1; i++) for(j = 0; j < Bn2; j++) { ergo_real sum = 0; for(int k = 0; k < An2; k++) sum += A[i*An2+k] * B[k*Bn2+j]; AB[i*Bn2+j] = sum; } #endif } /* Matrix multiplication when the first matrix is transposed. */ void multiply_matrices_general_T_1(int An1, int An2, int Bn1, int Bn2, const ergo_real* A, const ergo_real* B, ergo_real* AB) { int i, j; if(An1 != Bn1) { do_output(LOG_CAT_ERROR, LOG_AREA_LOWLEVEL, "error in multiply_matrices_general_T_1: (An1 != Bn1)"); exit(0); } ergo_real* At = (ergo_real*)ergo_malloc(An1*An2*sizeof(ergo_real)); for(i = 0; i < An1; i++) for(j = 0; j < An2; j++) At[j*An1+i] = A[i*An2+j]; multiply_matrices_general(An2, An1, Bn1, Bn2, At, B, AB); ergo_free(At); } /* Matrix multiplication when the second matrix is transposed. */ void multiply_matrices_general_T_2(int An1, int An2, int Bn1, int Bn2, const ergo_real* A, const ergo_real* B, ergo_real* AB) { int i, j; if(An2 != Bn2) { do_output(LOG_CAT_ERROR, LOG_AREA_LOWLEVEL, "error in multiply_matrices_general_T_2: (An2 != Bn2)"); exit(0); } ergo_real* Bt = (ergo_real*)ergo_malloc(Bn1*Bn2*sizeof(ergo_real)); for(i = 0; i < Bn1; i++) for(j = 0; j < Bn2; j++) Bt[j*Bn1+i] = B[i*Bn2+j]; multiply_matrices_general(An1, An2, Bn2, Bn1, A, Bt, AB); ergo_free(Bt); } void multiply2matrices(int n, ergo_real* A, ergo_real* B, ergo_real* AB) { #ifdef USE_BLAS_MM if(n == 0) return; /* call dgemm */ int i, j; int nn = n; ergo_real alpha = 1; ergo_real beta = 0; mat::gemm("T", "T", &nn, &nn, &nn, &alpha, A, &nn, B, &nn, &beta, AB, &nn); /* do transpose of result */ for(i = 0; i < n; i++) for(j = i; j < n; j++) { ergo_real temp = AB[i*n+j]; AB[i*n+j] = AB[j*n+i]; AB[j*n+i] = temp; } #else int i, j, k; for(i = 0; i < n; i++) for(j = 0; j < n; j++) { ergo_real sum = 0; for(k = 0; k < n; k++) sum += A[i*n+k] * B[k*n+j]; AB[i*n+j] = sum; } #endif } void multiply2matricesSymm(int n, ergo_real* A, ergo_real* B, ergo_real* AB) { int i, j, k; for(i = 0; i < n; i++) for(j = 0; j < n; j++) { ergo_real sum = 0; for(k = 0; k < n; k++) sum += A[i*n+k] * B[j*n+k]; AB[i*n+j] = sum; } } void multiply2matricesSymmResult(int n, ergo_real* A, ergo_real* B, ergo_real* AB) { int i, j, k; for(i = 0; i < n; i++) for(j = 0; j <= i; j++) { ergo_real sum = 0; for(k = 0; k < n; k++) sum += A[i*n+k] * B[k*n+j]; AB[i*n+j] = sum; } for(i = 0; i < n; i++) for(j = i+1; j < n; j++) AB[i*n+j] = AB[j*n+i]; } void computeSquareOfSymmetricMatrix(int n, const ergo_real* Aa, const ergo_real* Ab, ergo_real* A2) { int i, j; for(i = 0; i < n; i++) for(j = 0; j < n; j++) { ergo_real sum = 0; int k; for(k = 0; k < n; k++) sum += Aa[i*n+k] * Ab[j*n+k]; A2[i*n+j] = sum; } return; } void multiply3matrices(int n, ergo_real* A, ergo_real* B, ergo_real* C, ergo_real* ABC) { ergo_real* AB = (ergo_real*)ergo_malloc(n*n*sizeof(ergo_real)); multiply2matrices(n, A, B, AB); multiply2matrices(n, AB, C, ABC); ergo_free(AB); } ergo-3.5/source/utilities_basic/units.h0000664000175000017500000000304512743400307015231 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef UNITS_HEADER #define UNITS_HEADER #include "realtype.h" #define UNIT_one_Angstrom ((ergo_real)(1.0 / 0.5291772083)) #define UNIT_one_Debye 0.393456 #define UNIT_one_eV 0.036749322 // According to nist.gov 2014 CODATA values #define UNIT_one_Kelvin 3.16681046e-06 // Computed from nist.gov 2014 CODATA values #endif ergo-3.5/source/utilities_basic/ergo_math.h0000664000175000017500000000255112743400307016035 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "realtype.h" #include #ifdef PRECISION_LONG_DOUBLE ergo_real ergo_sqrt(ergo_real x); #else #define ergo_sqrt(x) sqrt(x) #endif ergo-3.5/source/utilities_basic/molecule.cc0000664000175000017500000002737112743400307016042 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include #include #include "molecule.h" #include "xyz_file_parser.h" #include "output.h" #include "memorymanag.h" #include "units.h" #include "utilities.h" static ergo_real get_distance_between_atoms(const Atom& atomA, const Atom& atomB) { int i; ergo_real sum = 0; for(i = 0; i < 3; i++) { ergo_real dx = atomB.coords[i] - atomA.coords[i]; sum += dx*dx; } return std::sqrt(sum); } void Molecule::getExtremeInternuclearDistances(ergo_real & minDist, ergo_real & maxDist) const { minDist = maxDist = 0; // This matters if there is only one atom. bool firstTime = true; for(int A = 0; A < noOfAtoms; A++) for(int B = A+1; B < noOfAtoms; B++) { const Atom& atomA = atoms[A]; const Atom& atomB = atoms[B]; ergo_real RAB = get_distance_between_atoms(atomA, atomB); if(firstTime) { minDist = maxDist = RAB; firstTime = false; } else { minDist = RAB < minDist ? RAB : minDist; maxDist = RAB > maxDist ? RAB : maxDist; } } } ergo_real Molecule::getNuclearRepulsionEnergy() const { int A, B; ergo_real sum; int N = noOfAtoms; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "get_nuclear_repulsion_energy, N = %i", N); sum = 0; for(A = 0; A < N; A++) for(B = A+1; B < N; B++) { const Atom& atomA = atoms[A]; const Atom& atomB = atoms[B]; ergo_real ZA = atomA.charge; ergo_real ZB = atomB.charge; ergo_real RAB = get_distance_between_atoms(atomA, atomB); sum += ZA * ZB / RAB; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "get_nuclear_repulsion_energy returning energy %33.22f", (double)sum); return sum; } void Molecule::getNuclearRepulsionEnergyGradientContrib(ergo_real* resultGradient) const { int N = noOfAtoms; int A, B; for(A = 0; A < N; A++) for(B = A+1; B < N; B++) { const Atom& atomA = atoms[A]; const Atom& atomB = atoms[B]; ergo_real ZA = atomA.charge; ergo_real ZB = atomB.charge; ergo_real dx = atomB.coords[0] - atomA.coords[0]; ergo_real dy = atomB.coords[1] - atomA.coords[1]; ergo_real dz = atomB.coords[2] - atomA.coords[2]; ergo_real r = std::sqrt(dx*dx + dy*dy + dz*dz); ergo_real derivative_x = ZA * ZB * (-0.5) * 2.0 * dx / (r*r*r); ergo_real derivative_y = ZA * ZB * (-0.5) * 2.0 * dy / (r*r*r); ergo_real derivative_z = ZA * ZB * (-0.5) * 2.0 * dz / (r*r*r); resultGradient[A*3+0] += -1 * derivative_x; resultGradient[A*3+1] += -1 * derivative_y; resultGradient[A*3+2] += -1 * derivative_z; resultGradient[B*3+0] += 1 * derivative_x; resultGradient[B*3+1] += 1 * derivative_y; resultGradient[B*3+2] += 1 * derivative_z; } } ergo_real Molecule::getNuclearElectricFieldEnergy(const Vector3D& electricField) const { int N = noOfAtoms; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "get_nuclear_electric_field_energy, N = %i", N); ergo_real sum = 0; int A; for(A = 0; A < N; A++) { const Atom* atom = &atoms[A]; sum += atom->charge * atom->coords[0] * electricField.v[0]; sum += atom->charge * atom->coords[1] * electricField.v[1]; sum += atom->charge * atom->coords[2] * electricField.v[2]; } // END FOR A do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "get_nuclear_electric_field_energy returning energy %33.22f", (double)sum); return sum; } int Molecule::getNumberOfElectrons() const { int i; ergo_real noOfElectrons; ergo_real sum = 0; for(i = 0; i < noOfAtoms; i++) sum += atoms[i].charge; noOfElectrons = sum - netCharge; return (int)noOfElectrons; } static int readMoleculeFileInMolFormat(Molecule* result, const char* fileName, int netCharge, char **basisfilename) { int nAtoms, nAtomsCurrType; int i, j, ii, lineLen, noOfAtomTypes, atomTypeNo, can_read_basset; char* p; ergo_real unitFactor, atomCharge; long int fileSize = get_file_size(fileName); if(fileSize < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error getting file size for file '%s'", fileName); return -1; } FILE* f = fopen(fileName, "rt"); if(f == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error opening file '%s'", fileName); return -1; } size_t bufSize = fileSize + 10000; std::vector buf(bufSize); memset(&buf[0], 0, bufSize); int nBytes = (int)fread(&buf[0], sizeof(char), bufSize, f); fclose(f); if(nBytes <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error reading file '%s'", fileName); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "File '%s' read OK, nBytes = %i", fileName, nBytes); nAtoms = 0; p = &buf[0]; // skip 3 or 4 lines if(strncmp(p, "BASIS", 5) == 0) { i = 3; can_read_basset = 1; } else if(strncmp(p, "ATOMDF", 6) == 0 || strncmp(p, "ATOMBASIS", 9) == 0) { i = 2; can_read_basset = 0; } else { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Unsupported molecule input file type"); return -1; } while((*p != '\n') && (*p != '\0')) p++; /* skip first line */ p++; // if basisfilename is NULL we skip getting basis set string. if(basisfilename) { if(can_read_basset && !*basisfilename) { char *eol = strchr(p, '\n'); if(eol) { while (--eol>p && *eol == ' ') ; if (eol>p) { size_t len = eol-p+1; *basisfilename = (char*)ergo_malloc(len+1); strncpy(*basisfilename, p, len); (*basisfilename)[len] = '\0'; } } } } while(i--) { while((*p != '\n') && (*p != '\0')) p++; p++; } if(*p == '\0') return -2; // the molecule input can follow in a fixed or a free format. unitFactor = 1.0; if( sscanf(p, "%d", &noOfAtomTypes) == 1) { // check if Angstrom flag is set lineLen = 0; for(ii = 0; ii <= 19; ii++) { if((p[ii] == '\n') || (p[ii] == '\0')) break; lineLen++; } if(lineLen > 19) { if(p[19] != ' ') unitFactor = UNIT_one_Angstrom; } // skip till end of line while(*p && *p != '\n') p++; } else { /* "free" format */ do { if(strncasecmp(p, "Atomtypes=", 10) == 0) sscanf(p+10, "%d", &noOfAtomTypes); else if(strncmp(p, "Angstrom", 8) == 0) unitFactor = UNIT_one_Angstrom; while(*p && *p != '\n' && *p != ' ') p++; if(*p != ' ') break; p++; } while(1); } if(*p == '\n') p++; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "noOfAtomTypes = %i dist. unit=%f au", noOfAtomTypes, unitFactor); if(noOfAtomTypes <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Error: (noOfAtomTypes <= 0)"); return -3; } for(atomTypeNo = 0; atomTypeNo < noOfAtomTypes; atomTypeNo++) { // now p should point to beginning of new atom type float charge; if(*p == '\0') { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in readMoleculeFile for atom type %i", atomTypeNo+1); return -4; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "atomTypeNo = %i", atomTypeNo); // skip blanks while(*p == ' ') p++; if(*p == '\0') return -5; // if the first character on the line is a digit, we assume fixed format if(*p >= '0' && *p <= '9') { charge = (float)atof(p); while(*p != ' ' && *p != '\n' && *p != '\0') p++; // skip blanks while(*p == ' ') p++; // now we expect another digit if(*p < '0' || *p > '9') return -6; nAtomsCurrType = atoi(p); while(*p != ' ' && *p != '\n' && *p != '\0') p++; // skip blanks while(*p == ' ') p++; // now we expect end of line if(*p != '\n') return -7; p++; } else { /* "free" format */ charge = -1; nAtomsCurrType = -1; do { if(strncmp(p, "Charge=", 7) == 0) sscanf(p+7, "%f", &charge); else if(strncmp(p, "Atoms=", 6) == 0) sscanf(p+6, "%d", &nAtomsCurrType); while(*p && *p != '\n' && *p != ' ') p++; if(*p != ' ') break; p++; } while(1); if(charge < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Invalid charge = %5.2f", (double)charge); return -8; } if(nAtomsCurrType < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Invalid number of atoms = %i", nAtomsCurrType); return -8; } } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "charge = %5.2f, nAtomsCurrType = %i", (double)charge, nAtomsCurrType); atomCharge = charge; if(atomCharge <= 0) return -9; for(i = 0; i < nAtomsCurrType; i++) { // skip atom label while(*p == ' ') p++; while((*p != ' ') && (*p != '\0')) p++; if(*p == '\0') return -10; while(*p == ' ') p++; // read coordinates ergo_real coords[3]; for(j = 0; j < 3; j++) { // skip blanks while(*p == ' ') p++; if(*p == '\0') return -11; coords[j] = atof(p) * unitFactor; while((*p != ' ') && (*p != '\n') && (*p != '\0')) p++; if(*p == '\0') return -12; } // skip rest of line while((*p != '\n') && (*p != '\0')) p++; p++; result->addAtom(atomCharge, coords[0], coords[1], coords[2]); nAtoms++; } // END FOR i } // END FOR atomTypeNo // done. now there should be nothing more in the file. while(*p != '\0') { if(*p != ' ' && *p != '\n') { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in readMoleculeFile: " "non-blank character found after last atom."); return -14; } p++; } #if 0 for(i = 0; i < nAtoms; i++) { printf("%5.2f %22.11f %22.11f %22.11f\n", result->atoms[i].charge, result->atoms[i].coords[0], result->atoms[i].coords[1], result->atoms[i].coords[2]); } #endif assert(result->getNoOfAtoms() == nAtoms); result->setNetCharge(netCharge); return 0; } int Molecule::setFromMoleculeFile(const char* fileName, int netCharge, char **basisfilename) { // Check filename extension int len = strlen(fileName); if(len < 5) { // Too short to have a 3-letter extension after dot. // Assume mol format. return readMoleculeFileInMolFormat(this, fileName, netCharge, basisfilename); } const char* extensionPtr = &fileName[len-4]; if(strcasecmp(extensionPtr, ".xyz") == 0) return readMoleculeFileInXyzFormat(*this, fileName, netCharge, false); // Not xyz, assume mol format. return readMoleculeFileInMolFormat(this, fileName, netCharge, basisfilename); } ergo-3.5/source/utilities_basic/solve_lin_eq_syst.cc0000664000175000017500000000473412743400307017774 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include "solve_lin_eq_syst.h" #include "mat_gblas.h" #include "output.h" int solve_linear_equation_system(int n, const ergo_real* matrix, const ergo_real* RHS, ergo_real* resultVector) { integer NRHS = 1; integer n2 = n; integer info; ergo_real* A = new ergo_real[n*n]; integer* IPIV = new integer[n]; memcpy(A, matrix, n*n*sizeof(ergo_real)); memcpy(resultVector, RHS, n*sizeof(ergo_real)); template_lapack_gesv(&n2, &NRHS, A, &n2, IPIV, resultVector, &n2, &info); if(info != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_LOWLEVEL, "ERROR in dgesv_"); return -1; } delete [] A; delete [] IPIV; return 0; } #if 0 int main() { printf("hello\n"); integer n = 3; ergo_real A[n*n]; A[0] = 1; A[1] = 2; A[2] = 0; A[3] = 0; A[4] = 3; A[5] = 3; A[6] = 1; A[7] = 1; A[8] = 0; ergo_real RHS[n]; RHS[0] = 1; RHS[1] = 0; RHS[2] = 1; integer IPIV[n]; integer NRHS = 1; integer info = -1; dgesv_(&n, &NRHS, A, &n, IPIV, RHS, &n, &info); if(info != 0) { printf("ERROR!\n"); return -1; } printf("OK\n"); printf("solution:\n"); int i; for(i = 0; i < n; i++) printf("%22.11f\n", (double)RHS[i]); return 0; } #endif ergo-3.5/source/utilities_basic/pi.h0000664000175000017500000000262412743400307014501 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef PI_HEADER #define PI_HEADER #define pi 3.14159265358979323846 #define sqrtpi 1.77245385090551602730 #define r2pi52 5.91496717279561287782 #define pitopow52 17.49341832762486 #endif ergo-3.5/source/utilities_basic/realtype.h0000664000175000017500000000343612743400307015720 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef REALTYPEHEADER #define REALTYPEHEADER #include "config.h" #ifdef PRECISION_SINGLE typedef float ergo_real; typedef double ergo_long_real; #define REALTYPE_DEFINED_OK #endif #ifdef PRECISION_DOUBLE typedef double ergo_real; typedef double ergo_long_real; #define REALTYPE_DEFINED_OK #endif #ifdef PRECISION_LONG_DOUBLE typedef long double ergo_real; typedef long double ergo_long_real; #define REALTYPE_DEFINED_OK #endif /* if precision not specified, use double as default */ #ifndef REALTYPE_DEFINED_OK typedef double ergo_real; typedef double ergo_long_real; #endif #endif ergo-3.5/source/utilities_basic/memorymanag.h0000664000175000017500000000260512743400307016404 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include void* ergo_malloc(size_t size); void ergo_free(void* p); void report_memory_status(void); #define ergo_new(cnt,type) ((type*)ergo_malloc((cnt)*sizeof(type))) ergo-3.5/source/utilities_basic/atom_labels.cc0000664000175000017500000000752212743400307016513 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file atom_labels.cc provides a way to map atom labels to their charges. The main procedure provided by this file is get_charge_int_from_atom_label(). */ #include #include #include #include #include #include "atom_labels.h" #define kMaxNoOfAtomTypes 200 static void setupLabelList(std::string labelList []) { int i; for(i = 0; i < kMaxNoOfAtomTypes; i++) labelList[i] = ""; labelList[1] = "H"; labelList[2] = "He"; labelList[3] = "Li"; labelList[4] = "Be"; labelList[5] = "B"; labelList[6] = "C"; labelList[7] = "N"; labelList[8] = "O"; labelList[9] = "F"; labelList[10] = "Ne"; labelList[11] = "Na"; labelList[12] = "Mg"; labelList[13] = "Al"; labelList[14] = "Si"; labelList[15] = "P"; labelList[16] = "S"; labelList[17] = "Cl"; labelList[18] = "Ar"; labelList[19] = "K"; labelList[20] = "Ca"; labelList[21] = "Sc"; labelList[22] = "Ti"; labelList[23] = "V"; labelList[24] = "Cr"; labelList[25] = "Mn"; labelList[26] = "Fe"; labelList[27] = "Co"; labelList[28] = "Ni"; labelList[29] = "Cu"; labelList[30] = "Zn"; labelList[31] = "Ga"; labelList[32] = "Ge"; labelList[33] = "As"; labelList[34] = "Se"; labelList[35] = "Br"; labelList[36] = "Kr"; labelList[37] = "Rb"; labelList[38] = "Sr"; labelList[39] = "Y"; labelList[40] = "Zr"; labelList[41] = "Nb"; labelList[42] = "Mo"; labelList[43] = "Tc"; labelList[44] = "Ru"; labelList[45] = "Rh"; labelList[46] = "Pd"; labelList[47] = "Ag"; labelList[48] = "Cd"; labelList[49] = "In"; labelList[50] = "Sn"; labelList[51] = "Sb"; labelList[52] = "Te"; labelList[53] = "I"; labelList[54] = "Xe"; } int get_charge_int_from_atom_label(const char* atomLabel) { std::string labelList[kMaxNoOfAtomTypes]; int i; if(atomLabel == NULL) return -1; if(atomLabel[0] == '\0') return -1; /* handle all-digit atomLabels */ for(i=0; atomLabel[i] && isdigit(atomLabel[i]); i++) ; if( atomLabel[i] == '\0') /* all digit atom label */ return atoi(atomLabel); setupLabelList(labelList); for(i = 1; i < kMaxNoOfAtomTypes; i++) { if(strcasecmp(atomLabel, labelList[i].c_str()) == 0) return i; } return -1; } int get_atom_label_from_charge_int(int charge, char* atomLabelString, size_t bufferSize) { std::string labelList[kMaxNoOfAtomTypes]; memset(atomLabelString, 0, bufferSize); if(charge <= 0 || charge >= kMaxNoOfAtomTypes) return -1; setupLabelList(labelList); if(labelList[charge].length() >= bufferSize) return -1; strcpy(atomLabelString, labelList[charge].c_str()); return 0; } ergo-3.5/source/utilities_basic/csr_matrix.cc0000664000175000017500000002164312743400307016404 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include "csr_matrix.h" #include "output.h" #include "memorymanag.h" typedef struct { int row; int col; } csr_index_pair_struct; static int csr_compare_index_pairs_for_qsort(const void* p1, const void* p2) { csr_index_pair_struct* pair_1 = (csr_index_pair_struct*)p1; csr_index_pair_struct* pair_2 = (csr_index_pair_struct*)p2; if(pair_1->row > pair_2->row) return 1; if(pair_1->row < pair_2->row) return -1; if(pair_1->col > pair_2->col) return 1; if(pair_1->col < pair_2->col) return -1; return 0; } int ergo_CSR_create(csr_matrix_struct* csr, int symmetryFlag, int n, int nnz, int* rowind, int* colind) { csr_index_pair_struct* list; csr->symmetryFlag = symmetryFlag; csr->n = n; csr->nnz = nnz; csr->rowList = new csr_matrix_row_struct[n]; memset(csr->rowList, 0, n*sizeof(csr_matrix_row_struct)); csr->columnIndexList = new int[nnz]; memset(csr->columnIndexList, 0, nnz*sizeof(int)); /* Note: we do not need to allocate elementList yet, better to wait until after the temporary index pairs list has been deleted. */ /* Create list of index pairs, and sort it. */ list = new csr_index_pair_struct[nnz]; for(int i = 0; i < nnz; i++) { int row = rowind[i]; int col = colind[i]; if(symmetryFlag == 1) { if(row > col) { do_output(LOG_CAT_ERROR, LOG_AREA_LOWLEVEL, "error in CSR_create: symmetry not satisfied."); return -1; } } list[i].row = row; list[i].col = col; } qsort(list, nnz, sizeof(csr_index_pair_struct), csr_compare_index_pairs_for_qsort); /* Now the list of index pairs is sorted by rows and within each row by columns. */ /* Create CSR structure one row at a time. */ int currIndex = 0; for(int row = 0; row < n; row++) { int count; csr->rowList[row].firstElementIndex = currIndex; if(currIndex == nnz) { /* no elements left; this row must be empty. */ csr->rowList[row].noOfElementsInRow = 0; continue; } count = 0; while(list[currIndex].row == row) { csr->columnIndexList[currIndex] = list[currIndex].col; count++; currIndex++; if(currIndex == nnz) break; } csr->rowList[row].noOfElementsInRow = count; if(currIndex < nnz) { if(list[currIndex].row < row) { do_output(LOG_CAT_ERROR, LOG_AREA_LOWLEVEL, "error in CSR_create: list not sorted by rows."); return -1; } } } /* END FOR row */ delete [] list; list = NULL; // Now allocate elementList. Better to do it now, after we have deleted the temporary list. csr->elementList = new ergo_real[nnz]; memset(csr->elementList, 0, nnz*sizeof(ergo_real)); /* Check that column indexes are properly sorted within each row. */ for(int row = 0; row < n; row++) { for(int col = 1; col < csr->rowList[row].noOfElementsInRow; col++) { int ii = csr->rowList[row].firstElementIndex; if(csr->columnIndexList[ii+col] <= csr->columnIndexList[ii+col-1]) { do_output(LOG_CAT_ERROR, LOG_AREA_LOWLEVEL, "error in CSR_create: list not sorted within row."); return -1; } } } return 0; } int ergo_CSR_destroy(csr_matrix_struct* csr) { delete [] csr->rowList; delete [] csr->elementList; delete [] csr->columnIndexList; memset(csr, 0, sizeof(csr_matrix_struct)); return 0; } int ergo_CSR_copy(csr_matrix_struct* csrDest, const csr_matrix_struct* csrSource) { int n = csrSource->n; int nnz = csrSource->nnz; csrDest->n = n; csrDest->nnz = nnz; csrDest->symmetryFlag = csrSource->symmetryFlag; csrDest->rowList = new csr_matrix_row_struct[n]; csrDest->elementList = new ergo_real[nnz]; csrDest->columnIndexList = new int[nnz]; memcpy(csrDest->rowList, csrSource->rowList, n*sizeof(csr_matrix_row_struct)); memcpy(csrDest->elementList, csrSource->elementList, nnz*sizeof(ergo_real)); memcpy(csrDest->columnIndexList, csrSource->columnIndexList, nnz*sizeof(int)); return 0; } int ergo_CSR_add_equal_structure(csr_matrix_struct* csrDest, const csr_matrix_struct* csrSource) { int n = csrSource->n; int nnz = csrSource->nnz; // Check that matrices have identical structure if(csrDest->symmetryFlag != csrSource->symmetryFlag) return -1; if(memcmp(csrDest->rowList, csrSource->rowList, n*sizeof(csr_matrix_row_struct)) != 0) return -1; if(memcmp(csrDest->columnIndexList, csrSource->columnIndexList, nnz*sizeof(int)) != 0) return -1; // OK, add elements of source to elements of dest, store in dest. for(int i = 0; i < nnz; i++) csrDest->elementList[i] += csrSource->elementList[i]; return 0; } static int ergo_csr_find_index(const csr_matrix_struct* csr, int row, int col) { if(row < 0 || row >= csr->n) throw std::runtime_error("Error: ergo_csr_find_index called with (row < 0 || row >= csr->n)."); int n = csr->rowList[row].noOfElementsInRow; if(n <= 0) /* If row is empty we can return already here. */ return -1; int baseIndex = csr->rowList[row].firstElementIndex; int* colList = &csr->columnIndexList[baseIndex]; int lo = 0; int hi = n-1; while(lo < hi - 1) { int mid = (lo + hi) / 2; if(colList[mid] < col) lo = mid; else hi = mid; } if(colList[lo] == col) return baseIndex + lo; if(colList[hi] == col) return baseIndex + hi; /* Not found */ return -1; } int ergo_CSR_add_to_element(csr_matrix_struct* csr, int row, int col, ergo_real value) { if(csr == NULL) throw std::runtime_error("Error: ergo_CSR_add_to_element called for (csr == NULL)."); int row2 = row; int col2 = col; if(csr->symmetryFlag) { if(row > col) { row2 = col; col2 = row; } } int i = ergo_csr_find_index(csr, row2, col2); if(i < 0) return 0; csr->elementList[i] += value; return 0; } ergo_real ergo_CSR_get_element(const csr_matrix_struct* csr, int row, int col) { int row2 = row; int col2 = col; if(csr->symmetryFlag) { if(row > col) { row2 = col; col2 = row; } } int i = ergo_csr_find_index(csr, row2, col2); if(i < 0) return 0; return csr->elementList[i]; } ergo_real ergo_CSR_get_max_abs_element(const csr_matrix_struct* csr) { ergo_real maxabs = 0; for(int i = 0; i < csr->nnz; i++) { ergo_real absval = std::fabs(csr->elementList[i]); if(absval > maxabs) maxabs = absval; } return maxabs; } int ergo_CSR_get_nvalues(const csr_matrix_struct* csr) { return csr->nnz; } int ergo_CSR_get_values(const csr_matrix_struct* csr, int* rowind, int* colind, ergo_real* values, int nvalues) { int count = 0; if(nvalues != csr->nnz) return -1; for(int i = 0; i < csr->n; i++) { int baseIndex = csr->rowList[i].firstElementIndex; int* colList = &csr->columnIndexList[baseIndex]; ergo_real* valueList = &csr->elementList[baseIndex]; for(int j = 0; j < csr->rowList[i].noOfElementsInRow; j++) { rowind[count] = i; colind[count] = colList[j]; values[count] = valueList[j]; count++; } } if(count != nvalues) return -1; return 0; } int ergo_CSR_get_nvalues_singlerow(const csr_matrix_struct* csr, int row) { return csr->rowList[row].noOfElementsInRow; } int ergo_CSR_get_values_singlerow(const csr_matrix_struct* csr, int row, int* colind, ergo_real* values, int nvalues) { if(nvalues != csr->rowList[row].noOfElementsInRow) return -1; int baseIndex = csr->rowList[row].firstElementIndex; int* colList = &csr->columnIndexList[baseIndex]; ergo_real* valueList = &csr->elementList[baseIndex]; for(int i = 0; i < nvalues; i++) { colind[i] = colList[i]; values[i] = valueList[i]; } return 0; } ergo-3.5/source/utilities_basic/solve_lin_eq_syst.h0000664000175000017500000000255512743400307017635 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "realtype.h" int solve_linear_equation_system(int n, const ergo_real* matrix, const ergo_real* RHS, ergo_real* resultVector); ergo-3.5/source/utilities_basic/output.cc0000664000175000017500000001306512743400307015570 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include "output.h" #include "utilities.h" static int global_memory_usage_output_flag = 0; /* mem output disabled by default */ /* We choose to have output disabled by default, until enable_output() is called, to make sure output is disabled on worker processes when CHT is used. */ static int global_output_enabled_flag = 0; /* output disabled by default */ static int use_printf = 0; /* use printf */ /* general output routine */ void do_output(int logCategory, int logArea, const char* format, ...) { va_list a; va_start(a, format); if(use_printf) do_voutput_printf(logCategory, logArea, format, a); else do_voutput(logCategory, logArea, format, a); va_end(a); } /* output in stdout using printf */ void enable_printf_output() { global_output_enabled_flag = 1; use_printf = 1; //global_memory_usage_output_flag = 1; } int do_voutput_printf(int logCategory, int logArea, const char* format, va_list a) { if(global_output_enabled_flag == 0) return 0; // Output is disabled; do nothing, just return. char ss[8888]; /* FIXME: Do something nicer here. */ int r; memset(ss, 0, sizeof(ss)); r = vsnprintf(ss, sizeof(ss), format, a); printf("%s\n", ss); return r; } int do_voutput(int logCategory, int logArea, const char* format, va_list a) { if(global_output_enabled_flag == 0) return 0; // Output is disabled; do nothing, just return. char ss[8888]; /* FIXME: Do something nicer here. */ int r; memset(ss, 0, sizeof(ss)); /* The output line should begin with two characters specifying the log category, followed by two characters specifying the log area. */ switch(logCategory) { case LOG_CAT_UNDEFINED: strcat(ss, " "); break; case LOG_CAT_ERROR: strcat(ss, "ER"); break; case LOG_CAT_WARNING: strcat(ss, "WA"); break; case LOG_CAT_INFO: strcat(ss, "IN"); break; case LOG_CAT_EXTRAINFO: strcat(ss, "EX"); break; case LOG_CAT_RESULTS: strcat(ss, "RE"); break; case LOG_CAT_TIMINGS: strcat(ss, "TI"); break; case LOG_CAT_MEMUSAGE: strcat(ss, "ME"); break; default: strcat(ss, " "); break; } switch(logArea) { case LOG_AREA_UNDEFINED: strcat(ss, " "); break; case LOG_AREA_MAIN: strcat(ss, "MA"); break; case LOG_AREA_SCF: strcat(ss, "SC"); break; case LOG_AREA_LR: strcat(ss, "LR"); break; case LOG_AREA_INTEGRALS: strcat(ss, "IN"); break; case LOG_AREA_DENSFROMF: strcat(ss, "DE"); break; case LOG_AREA_DFT : strcat(ss, "DF"); break; case LOG_AREA_LOWLEVEL: strcat(ss, "LO"); break; case LOG_AREA_CI: strcat(ss, "CI"); break; case LOG_AREA_ED: strcat(ss, "ED"); break; case LOG_AREA_GS: strcat(ss, "GS"); break; default: strcat(ss, " "); break; } strcat(ss, " "); r = vsnprintf(ss+5, sizeof(ss)-5, format, a); #if 0 /* This needs to be protected with mutex. */ if(global_output_file == NULL) global_output_file = fopen("ergoscf.out", "wt"); fprintf(global_output_file, "%s\n", ss); fflush(global_output_file); #else /* append to output file */ { FILE *output_file = fopen("ergoscf.out", "at"); fprintf(output_file, "%s\n", ss); fclose(output_file); } #endif return r; } void do_output_time(int logCategory, int logArea, const char* s) { int len; char timeString[88]; char ss[222]; time_t rawtime; time(&rawtime); strcpy(timeString, ctime(&rawtime)); len = (int)strlen(timeString); if(timeString[len-1] == '\n') timeString[len-1] = '\0'; sprintf(ss, "%s %s", s, timeString); do_output(logCategory, logArea, ss); } void enable_memory_usage_output() { global_memory_usage_output_flag = 1; } void enable_output() { global_output_enabled_flag = 1; } void output_current_memory_usage(int logArea, const char* contextString) { double virt, res, virtPeak; if(global_memory_usage_output_flag == 0) return; if(get_memory_usage_by_procfile(&virt, &res, &virtPeak) != 0) { /* error getting memory usage */ do_output(LOG_CAT_MEMUSAGE, logArea, "memory usage at '%s': virt ???? res ???? v peak ????", contextString); } else { do_output(LOG_CAT_MEMUSAGE, logArea, "memory usage at '%s': virt %6.3f G res %6.3f G v peak %6.3f G", contextString, virt, res, virtPeak); } } ergo-3.5/source/utilities_basic/xyz_file_parser.cc0000664000175000017500000001443612743400307017440 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include #include #include "xyz_file_parser.h" #include "output.h" #include "memorymanag.h" #include "units.h" #include "atom_labels.h" #include "utilities.h" int readMoleculeFileInXyzFormat(Molecule& result, const char* fileName, int netCharge, bool expectPlainCharges) { FILE* f = fopen(fileName, "rt"); if(f == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error opening file '%s'", fileName); return -1; } long int fileSize = get_file_size(fileName); if(fileSize < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error getting file size for file '%s'", fileName); return -1; } size_t bufSize = fileSize + 10000; std::vector buf(bufSize); memset(&buf[0], 0, bufSize); int nBytes = (int)fread(&buf[0], sizeof(char), bufSize, f); fclose(f); if(nBytes <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error reading file '%s'", fileName); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "read_molecule_file_in_xyz_format: File '%s' read OK, nBytes = %i", fileName, nBytes); const char* p = &buf[0]; // Get number of atoms from first line // Skip blanks while(*p == ' ' || *p == '\t') p++; int nAtoms = atoi(p); do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "read_molecule_file_in_xyz_format: nAtoms = %6i", nAtoms); // Skip rest of line while(*p != '\n' && *p != '\0') p++; p++; // Skip one line while(*p != '\n' && *p != '\0') p++; p++; // Now p should point to the line with the first atom int atomIndex; for(atomIndex = 0; atomIndex < nAtoms; atomIndex++) { // Skip blanks while(*p == ' ' || *p == '\t') p++; // Now p should point to atom label. char labelString[88]; const char* q = p; // Move q forwarn until blank while(*q != ' ' && *q != '\t' && *q != '\n' && *q != '\0') q++; int labelLen = q - p; if(labelLen > 22) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in read_molecule_file_in_xyz_format: label too long."); return -1; } memcpy(labelString, p, labelLen); labelString[labelLen] = '\0'; p = q; // Now we have the label string null-terminated in labelString. // We want to handle the case when the labels have some numbers on each label, stuff like "N17" and "Fe31". // Do this by simply replacing any digits in labelString with null-characters. for(int i = 0; i < labelLen; i++) { if(labelString[i] >= '0' && labelString[i] <= '9') labelString[i] = '\0'; } // Now p should point to first blank after label. if(*p != ' ' && *p != '\t') { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in read_molecule_file_in_xyz_format: blank not found after label."); return -1; } // Skip blanks while(*p == ' ' || *p == '\t') p++; // Now p should point to x coordinate. ergo_real coord_x = atof(p); // Skip coordinate while((*p >= '0' && *p <= '9') || *p == '.' || *p == '-') p++; // Skip blanks while(*p == ' ' || *p == '\t') p++; // Now p should point to y coordinate. ergo_real coord_y = atof(p); // Skip coordinate while((*p >= '0' && *p <= '9') || *p == '.' || *p == '-') p++; // Skip blanks while(*p == ' ' || *p == '\t') p++; // Now p should point to z coordinate. ergo_real coord_z = atof(p); // Skip coordinate while((*p >= '0' && *p <= '9') || *p == '.' || *p == '-') p++; // Skip blanks while(*p == ' ' || *p == '\t') p++; // Now p should point to newline character. if(*p != '\n') { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in read_molecule_file_in_xyz_format: newline not found after coordinates."); printf("p points to '%s'\n", p); return -1; } // Skip to next line p++; // OK, now we have labelString and coords. // Depending on the expectPlainCharges parameter, we interpret // the labelString as a charge or as an atom label. ergo_real atomCharge = 0; if(expectPlainCharges) { atomCharge = atof(labelString); } else { // Get charge corresponding to labelString. int chargeInt = get_charge_int_from_atom_label(labelString); if(chargeInt <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in read_molecule_file_in_xyz_format: label '%s' not recognized as an atom type.", labelString); return -1; } atomCharge = chargeInt; } result.addAtom(atomCharge, coord_x * UNIT_one_Angstrom, coord_y * UNIT_one_Angstrom, coord_z * UNIT_one_Angstrom); } // END FOR atomIndex // accept only blank space and newlines after last atom while(*p == ' ' || *p == '\t' || *p == '\n') p++; // Now p should point to end of buffer if(*p != '\0') { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in read_molecule_file_in_xyz_format: garbage found after last atom."); return -1; } assert(result.getNoOfAtoms() == nAtoms); result.setNetCharge(netCharge); return 0; } ergo-3.5/source/utilities_basic/matrix_algebra.h0000664000175000017500000000453212743400307017052 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "realtype.h" #ifdef __cplusplus #define EXTERN_C extern "C" #else #define EXTERN_C #endif EXTERN_C void multiply2matrices(int n, ergo_real* A, ergo_real* B, ergo_real* AB); EXTERN_C void multiply2matricesSymm(int n, ergo_real* A, ergo_real* B, ergo_real* AB); EXTERN_C void multiply2matricesSymmResult(int n, ergo_real* A, ergo_real* B, ergo_real* AB); EXTERN_C void computeSquareOfSymmetricMatrix(int n, const ergo_real* Aa, const ergo_real* Ab, ergo_real* A2); EXTERN_C void multiply_matrices_general (int An1, int An2, int Bn1, int Bn2, const ergo_real* A, const ergo_real* B, ergo_real* AB); EXTERN_C void multiply_matrices_general_2 (int An1, int An2, int Bn1, int Bn2, const ergo_real* A, const ergo_real* B, ergo_real* AB, bool initToZero); EXTERN_C void multiply_matrices_general_T_1(int An1, int An2, int Bn1, int Bn2, const ergo_real* A, const ergo_real* B, ergo_real* AB); EXTERN_C void multiply_matrices_general_T_2(int An1, int An2, int Bn1, int Bn2, const ergo_real* A, const ergo_real* B, ergo_real* AB); EXTERN_C void multiply3matrices(int n, ergo_real* A, ergo_real* B, ergo_real* C, ergo_real* ABC); ergo-3.5/source/utilities_basic/atom_labels.h0000664000175000017500000000264612743400307016357 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef ATOM_LABELS_HEADER #define ATOM_LABELS_HEADER int get_charge_int_from_atom_label(const char* atomLabel); int get_atom_label_from_charge_int(int charge, char* atomLabelString, size_t bufferSize); #endif ergo-3.5/source/utilities_basic/molecule.h0000664000175000017500000001075412743400307015701 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MOLECULE_HEADER #define MOLECULE_HEADER #include #include #include #include "realtype.h" /** Simple atom representation by its charge and cartesian coordinates. * */ struct Atom { ergo_real charge; ergo_real coords[3]; }; /** * A representation of Vector or point in cartesian space. It provides * means to compute distance between two pointsi space. */ struct Vector3D { ergo_real v[3]; Vector3D() {} Vector3D(ergo_real x, ergo_real y, ergo_real z) { v[0] = x; v[1] = y; v[2] = z; } ergo_real& operator[](unsigned i) { return v[i]; } ergo_real operator[](unsigned i) const { return v[i]; } /** compute square of distance between two points. */ ergo_real dist2(const ergo_real b[]) const { ergo_real d, r; d = v[0]-b[0]; r = d*d; d = v[1]-b[1]; r += d*d; d = v[2]-b[2]; r += d*d; return r; } /** compute distance between two points. */ ergo_real dist(const Vector3D& b) const { return std::sqrt(dist2(b.v)); } ergo_real dist(const ergo_real b[]) const { return std::sqrt(dist2(b)); } }; /** * Representation of a molecule as a set of nuclei and total * charge. It provides I/O methods and basic manipulation routines. */ class Molecule { private: std::vector atoms; ergo_real netCharge; int noOfAtoms; public: Molecule() : atoms(10), netCharge(0), noOfAtoms(0) {} void addAtom(ergo_real c, ergo_real x, ergo_real y, ergo_real z) { int currListSize = atoms.size(); if(noOfAtoms >= currListSize) atoms.resize(currListSize*2); atoms[noOfAtoms].charge = c; atoms[noOfAtoms].coords[0] = x; atoms[noOfAtoms].coords[1] = y; atoms[noOfAtoms].coords[2] = z; noOfAtoms++; } void clear() { noOfAtoms = 0; netCharge = 0; } void setNetCharge(ergo_real netCharge_) { netCharge = netCharge_; } void replaceAtom(int i, const Atom & atom) { assert(i >= 0 && i < noOfAtoms); atoms[i] = atom; } void setAtomList(const std::vector atomList) { atoms = atomList; noOfAtoms = atomList.size(); } const Atom* getAtomListPtr() const { return &atoms[0]; } const Atom & getAtom(int i) const { return atoms[i]; } int getNoOfAtoms() const { return noOfAtoms; } ergo_real getNetCharge() const { return netCharge; } /** Compute smallest and largest internuclear distances. */ void getExtremeInternuclearDistances(ergo_real & minDist, ergo_real & maxDist) const; /** Compute nuclear repulsion energy. */ ergo_real getNuclearRepulsionEnergy() const; /** Compute nuclear energy in given electric field. */ ergo_real getNuclearElectricFieldEnergy(const Vector3D& electricField) const; /** Compute total number of electrons. The result is sum of atomic charges plus netCharge. */ int getNumberOfElectrons() const; /** Compute gradient of nuclear repulsion energy w.r.t. changes in nuclear coordinates. Result is added to resultGradient vector. */ void getNuclearRepulsionEnergyGradientContrib(ergo_real* resultGradient) const; /** Loads molecule from a given file name, assuming given net charge. basissetFile will be set if the file contains basis set and basissetFile is NULL. */ int setFromMoleculeFile(const char* fileName, int netCharge, char **basissetFile); }; #endif /* MOLECULE_HEADER */ ergo-3.5/source/utilities_basic/output.h0000664000175000017500000000454512743400307015435 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef OUTPUT_HEADER #define OUTPUT_HEADER #include /* Log categories */ #define LOG_CAT_UNDEFINED 0 #define LOG_CAT_ERROR 1 #define LOG_CAT_WARNING 2 #define LOG_CAT_INFO 3 #define LOG_CAT_EXTRAINFO 4 #define LOG_CAT_RESULTS 5 #define LOG_CAT_TIMINGS 6 #define LOG_CAT_MEMUSAGE 7 /* Log areas */ #define LOG_AREA_UNDEFINED 0 #define LOG_AREA_MAIN 1 #define LOG_AREA_SCF 2 #define LOG_AREA_LR 3 #define LOG_AREA_INTEGRALS 4 #define LOG_AREA_DENSFROMF 5 #define LOG_AREA_DFT 6 #define LOG_AREA_LOWLEVEL 7 #define LOG_AREA_CI 8 #define LOG_AREA_ED 9 #define LOG_AREA_GS 10 /* output functions */ void do_output(int logCategory, int logArea, const char* format, ...); int do_voutput(int logCategory, int logArea, const char* format, va_list v); int do_voutput_printf(int logCategory, int logArea, const char* format, va_list a); void do_output_time(int logCategory, int logArea, const char* s); void output_current_memory_usage(int logArea, const char* contextString); void enable_memory_usage_output(void); void enable_output(); void enable_printf_output(); #endif ergo-3.5/source/utilities_basic/Makefile.in0000664000175000017500000004556612743400353016002 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/utilities_basic ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libutilities_basic_a_AR = $(AR) $(ARFLAGS) libutilities_basic_a_LIBADD = am_libutilities_basic_a_OBJECTS = atom_labels.$(OBJEXT) \ barrier.$(OBJEXT) csr_matrix.$(OBJEXT) ergo_math.$(OBJEXT) \ machine_epsilon.$(OBJEXT) matrix_algebra.$(OBJEXT) \ memorymanag.$(OBJEXT) molecule.$(OBJEXT) output.$(OBJEXT) \ solve_lin_eq_syst.$(OBJEXT) utilities.$(OBJEXT) \ xyz_file_parser.$(OBJEXT) libutilities_basic_a_OBJECTS = $(am_libutilities_basic_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(libutilities_basic_a_SOURCES) DIST_SOURCES = $(libutilities_basic_a_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libutilities_basic.a libutilities_basic_a_SOURCES = \ atom_labels.cc \ atom_labels.h \ barrier.c \ barrier.h \ csr_matrix.cc \ csr_matrix.h \ ergo_math.cc \ ergo_math.h \ machine_epsilon.cc \ machine_epsilon.h \ matrix_algebra.cc \ matrix_algebra.h \ memorymanag.cc \ memorymanag.h \ molecule.cc \ molecule.h \ output.cc \ output.h \ pi.h \ realtype.h \ polydegree.h \ solve_lin_eq_syst.cc \ solve_lin_eq_syst.h \ units.h \ utilities.cc \ utilities.h \ xyz_file_parser.cc \ xyz_file_parser.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack all: all-am .SUFFIXES: .SUFFIXES: .c .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/utilities_basic/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/utilities_basic/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libutilities_basic.a: $(libutilities_basic_a_OBJECTS) $(libutilities_basic_a_DEPENDENCIES) $(EXTRA_libutilities_basic_a_DEPENDENCIES) $(AM_V_at)-rm -f libutilities_basic.a $(AM_V_AR)$(libutilities_basic_a_AR) libutilities_basic.a $(libutilities_basic_a_OBJECTS) $(libutilities_basic_a_LIBADD) $(AM_V_at)$(RANLIB) libutilities_basic.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_labels.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/barrier.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/csr_matrix.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ergo_math.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/machine_epsilon.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matrix_algebra.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memorymanag.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/molecule.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/output.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/solve_lin_eq_syst.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utilities.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xyz_file_parser.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/utilities_basic/machine_epsilon.h0000664000175000017500000000252512743400307017226 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MACHINE_EPSILON_HEADER #define MACHINE_EPSILON_HEADER #include "realtype.h" ergo_real get_machine_epsilon(void); #endif ergo-3.5/source/utilities_basic/polydegree.h0000664000175000017500000000273012743400307016226 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef POLYDEGREE_HEADER #define POLYDEGREE_HEADER #include "config.h" /* Here we specify which kinds of basis functions are allowed. 0: s 1: s, p 2: s, p, d 3: s, p, d, f 4: s, p, d, f, g etc. */ #define BASIS_FUNC_POLY_MAX_DEGREE 5 #endif ergo-3.5/source/utilities_basic/Makefile.am0000664000175000017500000000144312743400275015756 00000000000000noinst_LIBRARIES = libutilities_basic.a libutilities_basic_a_SOURCES = \ atom_labels.cc \ atom_labels.h \ barrier.c \ barrier.h \ csr_matrix.cc \ csr_matrix.h \ ergo_math.cc \ ergo_math.h \ machine_epsilon.cc \ machine_epsilon.h \ matrix_algebra.cc \ matrix_algebra.h \ memorymanag.cc \ memorymanag.h \ molecule.cc \ molecule.h \ output.cc \ output.h \ pi.h \ realtype.h \ polydegree.h \ solve_lin_eq_syst.cc \ solve_lin_eq_syst.h \ units.h \ utilities.cc \ utilities.h \ xyz_file_parser.cc \ xyz_file_parser.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack ergo-3.5/source/utilities_basic/ergo_math.cc0000664000175000017500000000355112743400307016174 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include "ergo_math.h" #ifdef PRECISION_LONG_DOUBLE ergo_real ergo_sqrt(ergo_real x) { ergo_real y, prevy, modfactor, absdiff, test; int latestMove; if(x == 0) return 0; y = 1; modfactor = 2; latestMove = 0; prevy = 0; while(1) { test = y*y; absdiff = test - x; if(absdiff < 0) absdiff *= -1; if(test > x) { if(latestMove == 1) modfactor -= (modfactor-1)*0.5; y /= modfactor; latestMove = -1; } else { if(latestMove == -1) modfactor -= (modfactor-1)*0.5; y *= modfactor; latestMove = 1; } if(y == prevy) return y; prevy = y; } } #endif ergo-3.5/source/utilities_basic/utilities.h0000664000175000017500000000765512743400307016115 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef UTILITIES_HEADER #define UTILITIES_HEADER #include #include #include #define MAX_HOST_NAME_LEN 100 typedef struct { char s[MAX_HOST_NAME_LEN]; } host_name_struct; #define MAX_WORKING_DIRECTORY_LEN 800 typedef struct { char s[MAX_WORKING_DIRECTORY_LEN]; } working_directory_struct; void get_host_name(host_name_struct* result); void get_working_directory(working_directory_struct* result); int get_memory_usage_by_ps(double* virtualMemoryGigaBytes, double* residentMemoryGigaBytes); int get_memory_usage_by_procfile(double* virtualMemGigaBytes, double* residentMemGigaBytes, double* virtualMemPeakGigaBytes); int generate_unique_random_filename(char* result, unsigned n); long int get_file_size(const char* fileName); #include #include "output.h" #include "realtype.h" namespace Util { /** Time-measuring class. Measures the time between the construction of the object and the call of the print method. */ class TimeMeter { private: double startTimeCPU_sys; double startTimeCPU_usr; double startTimeWall; public: double get_start_time_wall_seconds() const { return startTimeWall; } static double get_wall_seconds() { struct timeval tv; if(gettimeofday(&tv, NULL) != 0) throw std::runtime_error("Error in get_wall_seconds(), in gettimeofday()."); double seconds = tv.tv_sec + (double)tv.tv_usec / 1000000; return seconds; } static void get_current_cpu_times(double & seconds_usr, double & seconds_sys) { struct rusage usage; if(getrusage (RUSAGE_SELF, &usage) != 0) throw std::runtime_error("Error in get_current_cpu_times(), in getrusage()."); seconds_usr = usage.ru_utime.tv_sec + (double)usage.ru_utime.tv_usec / 1000000; seconds_sys = usage.ru_stime.tv_sec + (double)usage.ru_stime.tv_usec / 1000000; } TimeMeter() { startTimeWall = get_wall_seconds(); get_current_cpu_times(startTimeCPU_usr, startTimeCPU_sys); } double get_elapsed_wall_seconds() { double endTimeWall = get_wall_seconds(); return endTimeWall - startTimeWall; } void print(int area, const char *routine) { double endTimeWall = get_wall_seconds(); double secondsTakenWall = endTimeWall - startTimeWall; double seconds_usr, seconds_sys; get_current_cpu_times(seconds_usr, seconds_sys); double secondsTakenCPU_usr = seconds_usr - startTimeCPU_usr; double secondsTakenCPU_sys = seconds_sys - startTimeCPU_sys; do_output(LOG_CAT_TIMINGS, area, "%s took %9.2f usr cpu s %9.2f sys cpu s %9.2f wall s", routine, secondsTakenCPU_usr, secondsTakenCPU_sys, secondsTakenWall); } }; } #endif /* UTILITIES_HEADER */ ergo-3.5/source/utilities_basic/memorymanag.cc0000664000175000017500000000457312743400307016550 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include "memorymanag.h" #include "output.h" static double globalNoOfBytesAllocated = 0; static int globalMallocCount = 0; static int globalFreeCount = 0; static pthread_mutex_t globalMemStatLock = PTHREAD_MUTEX_INITIALIZER; void* ergo_malloc(size_t noOfBytes) { void* res = malloc(noOfBytes); if(!res) { double noOfBytesAsDouble = (double)noOfBytes; double noOfMegaBytes = noOfBytesAsDouble / 1000000; do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ergo_malloc, noOfBytes = %12.0f ( %7.2f MegaBytes )", noOfBytesAsDouble, noOfMegaBytes); do_output_time(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "ERROR. ergo_malloc() calling exit()"); exit(0); } pthread_mutex_lock(&globalMemStatLock); globalMallocCount++; globalNoOfBytesAllocated += noOfBytes; pthread_mutex_unlock(&globalMemStatLock); return res; } void ergo_free(void* p) { free(p); pthread_mutex_lock(&globalMemStatLock); globalFreeCount++; pthread_mutex_unlock(&globalMemStatLock); } void report_memory_status() { do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "mallocCount - freeCount = %i", globalMallocCount - globalFreeCount); } ergo-3.5/source/utilities_basic/machine_epsilon.cc0000664000175000017500000000331112743400307017356 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "machine_epsilon.h" /** return machine epsilon. This routine is deprecated. Use instead: - std::numeric_limits::epsilon() in C++; - or FLT_EPSILON for single precision, DBL_EPSILON for double precision or or LDBL_EPSILON in long double - in C. */ ergo_real get_machine_epsilon() { ergo_real volatile x, y, z; x = 1; y = 0.1; while(1) { z = x + y; if(z == x) return y; y *= 0.98; } /* this point should never be reached */ return 0; } ergo-3.5/source/utilities_basic/barrier.h0000664000175000017500000000454512743400307015523 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #if !defined(_ERGO_BARRIER_H_) #define _ERGO_BARRIER_H_ /** @file barrier.h declares a pthread-compatible barrier. This is to be used with older pthread implementations that do not provide barriers. */ #if !defined(HAS_PTHREAD_BARRIER) #ifdef __cplusplus #define EXTERN_C extern "C" #else #define EXTERN_C extern #endif #if !defined(PTHREAD_BARRIER_SERIAL_THREAD) #define PTHREAD_BARRIER_SERIAL_THREAD -1 #endif typedef struct ergo_barrier { pthread_mutex_t barrierMutex; pthread_cond_t conditionVar; int initCount; int currCount; int cycle; } ergo_barrier_t; EXTERN_C int ergo_barrier_init(ergo_barrier_t * barrier, const void * attr_ignored, unsigned int count); EXTERN_C int ergo_barrier_destroy (ergo_barrier_t *__barrier); EXTERN_C int ergo_barrier_wait (ergo_barrier_t *__barrier); #else /* HAS_PTHREAD_BARRIER */ #define ergo_barrier_t pthread_barrier_t #define ergo_barrier_init pthread_barrier_init #define ergo_barrier_destroy pthread_barrier_destroy #define ergo_barrier_wait pthread_barrier_wait #endif /* HAS_PTHREAD_BARRIER */ #endif /* _ERGO_BARRIER_H_ */ ergo-3.5/source/utilities_basic/utilities.cc0000664000175000017500000001544012743400307016242 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file utilities.cc Basic OS access utilities. */ #include #include #include #include #include #include #include #include "utilities.h" #include "output.h" static int unique_random_filename_counter = 0; int generate_unique_random_filename(char* result, unsigned n) { char s[888]; unique_random_filename_counter++; sprintf(s, "random_unique_filename_%i_%i_%i", unique_random_filename_counter, getpid(), rand()); if(strlen(s) >= n) { memset(result, 0, n); return -1; } strcpy(result, s); return 0; } long int get_file_size(const char* fileName) { FILE * fptr = fopen ( fileName , "rb" ); if ( fptr == NULL ) return -1; fseek( fptr, (long int)0, SEEK_END ); long int sz = ftell( fptr ); fclose ( fptr ); return sz; } void get_host_name(host_name_struct* result) { if(result == NULL) return; memset(result, 0, sizeof(host_name_struct)); gethostname(result->s, sizeof(result->s)-1); } /* FIXME use getwd() system call instead. */ void get_working_directory(working_directory_struct* result) { #if 0 int noOfBytesRead, i; char fileName[888]; char cmdString[888]; FILE* f; if(result == NULL) return; memset(result, 0, sizeof(working_directory_struct)); generate_unique_random_filename(fileName, 888); sprintf(cmdString, "pwd > %s", fileName); if (system(cmdString) != 0) return; f = fopen(fileName, "rt"); if(f == NULL) return; noOfBytesRead = (int)fread(result->s, 1, MAX_WORKING_DIRECTORY_LEN, f); fclose(f); if(noOfBytesRead <= 0) return; if(noOfBytesRead >= MAX_WORKING_DIRECTORY_LEN) return; /* remove newline */ for(i = 0; i < noOfBytesRead; i++) { if(result->s[i] == '\n') result->s[i] = '\0'; } /* remove temp file */ sprintf(cmdString, "rm %s", fileName); if (system(cmdString) != 0) return; #else if(result == NULL) return; if (getcwd(result->s, MAX_WORKING_DIRECTORY_LEN) == 0) return; #endif } int get_memory_usage_by_ps(double* virtualMemoryGigaBytes, double* residentMemoryGigaBytes) { char fileName[888]; char cmdString[888]; char* p; int pid; const unsigned BufSize = 888; char buf[BufSize]; FILE* f; size_t noOfBytesRead; if(virtualMemoryGigaBytes == NULL || residentMemoryGigaBytes == NULL) return -1; *virtualMemoryGigaBytes = 0; *residentMemoryGigaBytes = 0; generate_unique_random_filename(fileName, 888); pid = getpid(); sprintf(cmdString, "ps -p %i -o vsize,rss | tail -n 1 > %s", pid, fileName); if (system(cmdString) != 0) return -1; f = fopen(fileName, "rt"); if(f == NULL) return -1; memset(buf, 0, BufSize); noOfBytesRead = fread(buf, 1, BufSize, f); fclose(f); if(noOfBytesRead <= 0) return -1; if(noOfBytesRead >= BufSize) return -1; p = buf; /* printf("get_memory_usage, buf = '%s'\n", buf); */ *virtualMemoryGigaBytes = atof(p) / 1000000; while(*p != ' ' && *p != '\0') p++; /* skip blanks */ while(*p == ' ') p++; *residentMemoryGigaBytes = atof(p) / 1000000; /* remove temp file */ sprintf(cmdString, "rm %s", fileName); if (system(cmdString) != -1) return -1; return 0; } static int getNumberFromBuffer(const char* buffer, const char* s) { const char* p = buffer; int slen = strlen(s); while(1) { if(*p == '\0') return -11; /* now p points to the beginning of a new line. */ if(memcmp(p, s, slen) == 0) { int number; /* string found! */ /* skip until blank or tab */ while(*p != ' ' && *p != '\t' && *p != '\n' && *p != '\0') p++; /* skip blanks and tabs */ while(*p == ' ' || *p == '\t') p++; /* get number */ number = atoi(p); /* skip until blank or tab */ while(*p != ' ' && *p != '\t' && *p != '\n' && *p != '\0') p++; /* skip blanks and tabs */ while(*p == ' ' || *p == '\t') p++; /* now p should point to "kB" */ if(memcmp(p, "kB", 2) != 0) return -22; return number; } /* skip to next line */ while(*p != '\n' && *p != '\0') p++; p++; } return -33; } #define PROCFILESIZE 8888 int get_memory_usage_by_procfile(double* virtualMemGigaBytes, double* residentMemGigaBytes, double* virtualMemPeakGigaBytes) { char fileName[888]; char buffer[PROCFILESIZE]; int pid; size_t noOfBytesRead; FILE* f; int VmSize_kB, VmRSS_kB, VmPeak_kB; if(virtualMemGigaBytes == NULL || residentMemGigaBytes == NULL || virtualMemPeakGigaBytes == NULL) return -1; *virtualMemGigaBytes = 0; *residentMemGigaBytes = 0; *virtualMemPeakGigaBytes = 0; pid = getpid(); sprintf(fileName, "/proc/%i/status", pid); memset(buffer, 0, PROCFILESIZE); f = fopen(fileName, "rt"); if(f == NULL) return -1; noOfBytesRead = fread(buffer, 1, PROCFILESIZE, f); fclose(f); if(noOfBytesRead <= 0) return -1; if(noOfBytesRead >= PROCFILESIZE) return -1; VmSize_kB = getNumberFromBuffer(buffer, "VmSize:"); VmRSS_kB = getNumberFromBuffer(buffer, "VmRSS:"); VmPeak_kB = getNumberFromBuffer(buffer, "VmPeak:"); if(VmSize_kB <= 0 || VmRSS_kB <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error getting VmSize_kB or VmRSS_kB. Values returned: " "VmSize_kB = %i, VmRSS_kB = %i", VmSize_kB, VmRSS_kB); return -1; } *virtualMemGigaBytes = (double)VmSize_kB / 1000000; *residentMemGigaBytes = (double)VmRSS_kB / 1000000; if(VmPeak_kB > 0) *virtualMemPeakGigaBytes = (double)VmPeak_kB / 1000000; else *virtualMemPeakGigaBytes = 0; return 0; } #undef PROCFILESIZE ergo-3.5/source/utilities_basic/csr_matrix.h0000664000175000017500000000510612743400307016242 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef CSR_MATRIX_HEADER #define CSR_MATRIX_HEADER #include "realtype.h" typedef struct { int noOfElementsInRow; int firstElementIndex; } csr_matrix_row_struct; struct csr_matrix_struct { int n; int nnz; int symmetryFlag; csr_matrix_row_struct* rowList; ergo_real* elementList; int* columnIndexList; }; int ergo_CSR_create(csr_matrix_struct* csr, int symmetryFlag, int n, int nnz, int* rowind, int* colind); int ergo_CSR_destroy(csr_matrix_struct* csr); int ergo_CSR_copy(csr_matrix_struct* csrDest, const csr_matrix_struct* csrSource); int ergo_CSR_add_equal_structure(csr_matrix_struct* csrDest, const csr_matrix_struct* csrSource); int ergo_CSR_add_to_element(csr_matrix_struct* csr, int row, int col, ergo_real value); ergo_real ergo_CSR_get_element(const csr_matrix_struct* csr, int row, int col); ergo_real ergo_CSR_get_max_abs_element(const csr_matrix_struct* csr); int ergo_CSR_get_nvalues(const csr_matrix_struct* csr); int ergo_CSR_get_values(const csr_matrix_struct* csr, int* rowind, int* colind, ergo_real* values, int nvalues); int ergo_CSR_get_nvalues_singlerow(const csr_matrix_struct* csr, int row); int ergo_CSR_get_values_singlerow(const csr_matrix_struct* csr, int row, int* colind, ergo_real* values, int nvalues); #endif ergo-3.5/source/utilities_basic/barrier.c0000664000175000017500000000762412743400307015517 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file barrier.c implements a pthread-compatible barrier. This is to be used with older pthread implementations that do not provide barriers. This implementation is applicable only in simple cases. Check section 7.1.1 of "Programming with POSIX threads" for a full-blown implementation. In particular, this implementation does not check for some error conditions, like destroying the barrier when some threads wait on it. */ #include #include #include "barrier.h" int ergo_barrier_init(ergo_barrier_t * barrier, const void * attr_ignored, unsigned int count) { int r; /* This may be called only once for given barrier! */ if( (r=pthread_mutex_init(&barrier->barrierMutex, NULL)) ) return r; if( (r=pthread_cond_init(&barrier->conditionVar, NULL)) ) return r; barrier->currCount = barrier->initCount = count; return 0; } int ergo_barrier_destroy(ergo_barrier_t *barrier) { int r; if( (r=pthread_mutex_destroy(&barrier->barrierMutex)) ) return r; if( (r=pthread_cond_destroy(&barrier->conditionVar)) ) return r; return 0; } int ergo_barrier_wait(ergo_barrier_t *barrier) { int r, ret; if( (r=pthread_mutex_lock(&barrier->barrierMutex)) ) return r; if (barrier->currCount == 0) return EINVAL; --barrier->currCount; if(barrier->currCount == 0) { /* I am the retarded one! :) */ ++barrier->cycle; barrier->currCount = barrier->initCount; if( (r=pthread_cond_broadcast(&barrier->conditionVar)) ) return r; ret = PTHREAD_BARRIER_SERIAL_THREAD; } else { int curCycle = barrier->cycle; while(barrier->cycle == curCycle) { if( (r=pthread_cond_wait(&barrier->conditionVar, &barrier->barrierMutex)) ) return r; } ret = 0; } if( (r=pthread_mutex_unlock(&barrier->barrierMutex)) ) return r; return ret; } #ifdef TEST static void* thr(void *p) { ergo_barrier_t *b = (ergo_barrier_t*)p; pthread_t a; int r; a = pthread_self(); r = 1 + (((int)a) >> 12) & 0x03; /* this will hopefully be a bit of a random number */ printf("%x sleeps for %i s\n", (int)a, r); sleep(r); printf("%x waits on barrier\n", (int)a); r = ergo_barrier_wait(b); printf("%x continues with r=%d\n", (int)a, r); return NULL; } int main(int argc, char *argv) { #define THREAD_COUNT 10 pthread_t pid[THREAD_COUNT]; ergo_barrier_t barrier; int i; ergo_barrier_init(&barrier, NULL, THREAD_COUNT); for(i=0; i #include #include #include "ergo_scripted.h" #define YYERROR_VERBOSE int yylex(void); int yyerror(const char *s); static const char *last_token = NULL; %} %union { double num; /* for returning numbers */ char str[256]; /* for returning strings */ struct variable *var; /* for returning lvalues */ } %token NUMBER %token DOT %token SYMBOL EQUAL STRING EOFTAG GETEXC GETPOL K_ALL HELP MOLTAG GHOSTTAG MOLDAL QUIT RUNTAG SYSTEM GHOST ANGSTROM PRECISION RANGE WARRANTY %token SET_NTHREADS %token PLUS MINUS TIMES DIVIDE POWER %token LEFT_PARENTHESIS RIGHT_PARENTHESIS %token EOL %type Expression %type Lvalue %left PLUS MINUS %left TIMES DIVIDE %left NEG %right POWER %start Input %% Input: | Line | Line EOL Input ; Line: /* Empty */ | Assignment | Command | error { if(!ergo_scanner_reading_stdin) { yyerror("Aborted."); YYABORT; } } ; Assignment: Lvalue EQUAL Expression { es_assign_num($1, $3);} | Lvalue EQUAL STRING { es_assign_str($1, $3);} ; Lvalue: SYMBOL { $$=es_find_var(NULL, $1); if(!$$) { last_token = $1; yyerror("Unknown variable");YYERROR; }} | Lvalue DOT SYMBOL { $$=es_find_var($1, $3); if(!$$) { last_token = $3; yyerror("Unknown variable");YYERROR;}} ; Command: MOLTAG EOL Molinput { es_mol_commit(); } | MOLTAG ANGSTROM EOL Molinput { es_mol_commit(); } | GHOSTTAG EOL Molinput { es_mol_commit(); } | GHOSTTAG ANGSTROM EOL Molinput { es_mol_commit(); } | HELP { es_print_help(); } | HELP Lvalue { es_print_help_var($2); } | PRECISION { es_print_precision(); } | MOLDAL STRING { if(es_mol_read_molecule($2,MOL_MAIN)) { yyerror("Reading MOLECULE failed"); YYERROR;} } | MOLDAL GHOST STRING { if(es_mol_read_molecule($3, MOL_GHOST)) { yyerror("Reading GHOST MOLECULE failed"); YYERROR;} } | RUNTAG STRING { if(es_run($2, 0)) { yyerror("RUN failed"); YYERROR;} } | SET_NTHREADS LEFT_PARENTHESIS Expression RIGHT_PARENTHESIS { if(es_set_nthreads($3)) { yyerror("setNThreads failed"); YYERROR;} } | SET_NTHREADS LEFT_PARENTHESIS STRING RIGHT_PARENTHESIS { if(es_set_nthreads_string($3)) { yyerror("setNThreads failed"); YYERROR;} } | SYSTEM STRING { puts($2); if(system($2) != 0) {yyerror("system() failed"); YYERROR;} } | WARRANTY { es_warranty(); } | GETEXC STRING NUMBER { if(es_getexc($2, $3)) { yyerror("get_excited_state failed"); YYERROR;} } | GETPOL STRING STRING NUMBER { if(es_get_polarisability($2, $3, $4)) { yyerror("get_polarisability failed"); YYERROR;} } | GETPOL STRING K_ALL NUMBER { if(es_get_polarisability($2, NULL,$4)) { yyerror("get_polarisability failed"); YYERROR;} } | QUIT { YYACCEPT; } | RANGE NUMBER EQUAL NUMBER NUMBER STRING { if(!es_assign_range(MOL_MAIN,$2, $4, $5, $6)) { yyerror("Invalid main basis set range");YYERROR;} } | RANGE GHOST NUMBER EQUAL NUMBER NUMBER STRING { if(!es_assign_range(MOL_GHOST,$3, $5, $6, $7)) { yyerror("Invalid ghost basis set range");YYERROR;} } ; Molinput: EOFTAG | Molline Molinput ; Molline: SYMBOL NUMBER NUMBER NUMBER EOL { es_add_atom($1, $2, $3, $4); } ; Expression: NUMBER { $$=$1; } | Expression PLUS Expression { $$=$1+$3; } | Expression MINUS Expression { $$=$1-$3; } | Expression TIMES Expression { $$=$1*$3; } | Expression DIVIDE Expression { $$=$1/$3; } | MINUS Expression %prec NEG { $$=-$2; } | Expression POWER Expression { $$=pow($1,$3); } | LEFT_PARENTHESIS Expression RIGHT_PARENTHESIS { $$=$2; } ; %% YYSTYPE yylval; int ergo_scanner_lineno = 1; int ergo_scanner_reading_stdin = 0; int yyerror(const char *s) { if (last_token) { printf("line %d: %s at '%s'\n",ergo_scanner_lineno, s, last_token); last_token = NULL; } else { printf("line %d: %s\n",ergo_scanner_lineno, s); } return !ergo_scanner_reading_stdin; } #ifdef SCANNER_TEST int main(void) { yyparse(); } #endif ergo-3.5/source/ergo_input_parser.c0000664000175000017500000015224012743400365014443 00000000000000 #line 3 "ergo_input_parser.c" #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 6 #define YY_FLEX_SUBMINOR_VERSION 0 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif /* First, we deal with platform-specific or compiler-specific issues. */ /* begin standard C headers. */ #include #include #include #include /* end standard C headers. */ /* flex integer type definitions */ #ifndef FLEXINT_H #define FLEXINT_H /* C99 systems have . Non-C99 systems may or may not. */ #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. */ #ifndef __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS 1 #endif #include typedef int8_t flex_int8_t; typedef uint8_t flex_uint8_t; typedef int16_t flex_int16_t; typedef uint16_t flex_uint16_t; typedef int32_t flex_int32_t; typedef uint32_t flex_uint32_t; #else typedef signed char flex_int8_t; typedef short int flex_int16_t; typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; /* Limits of integral types. */ #ifndef INT8_MIN #define INT8_MIN (-128) #endif #ifndef INT16_MIN #define INT16_MIN (-32767-1) #endif #ifndef INT32_MIN #define INT32_MIN (-2147483647-1) #endif #ifndef INT8_MAX #define INT8_MAX (127) #endif #ifndef INT16_MAX #define INT16_MAX (32767) #endif #ifndef INT32_MAX #define INT32_MAX (2147483647) #endif #ifndef UINT8_MAX #define UINT8_MAX (255U) #endif #ifndef UINT16_MAX #define UINT16_MAX (65535U) #endif #ifndef UINT32_MAX #define UINT32_MAX (4294967295U) #endif #endif /* ! C99 */ #endif /* ! FLEXINT_H */ #ifdef __cplusplus /* The "const" storage-class-modifier is valid. */ #define YY_USE_CONST #else /* ! __cplusplus */ /* C99 requires __STDC__ to be defined as 1. */ #if defined (__STDC__) #define YY_USE_CONST #endif /* defined (__STDC__) */ #endif /* ! __cplusplus */ #ifdef YY_USE_CONST #define yyconst const #else #define yyconst #endif /* Returned upon end-of-file. */ #define YY_NULL 0 /* Promotes a possibly negative, possibly signed char to an unsigned * integer for use as an array index. If the signed char is negative, * we want to instead treat it as an 8-bit unsigned char, hence the * double cast. */ #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) /* Enter a start condition. This macro really ought to take a parameter, * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ #define BEGIN (yy_start) = 1 + 2 * /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START (((yy_start) - 1) / 2) #define YYSTATE YY_START /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) /* Special action meaning "start processing a new file". */ #define YY_NEW_FILE yyrestart(yyin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #ifndef YY_BUF_SIZE #ifdef __ia64__ /* On IA-64, the buffer size is 16k, not 8k. * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. * Ditto for the __ia64__ case accordingly. */ #define YY_BUF_SIZE 32768 #else #define YY_BUF_SIZE 16384 #endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. */ #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif #ifndef YY_TYPEDEF_YY_SIZE_T #define YY_TYPEDEF_YY_SIZE_T typedef size_t yy_size_t; #endif extern yy_size_t yyleng; extern FILE *yyin, *yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) #define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ *yy_cp = (yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) #define unput(c) yyunput( c, (yytext_ptr) ) #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state { FILE *yy_input_file; char *yy_ch_buf; /* input buffer */ char *yy_buf_pos; /* current position in input buffer */ /* Size of input buffer in bytes, not including room for EOB * characters. */ yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ int yy_is_our_buffer; /* Whether this is an "interactive" input source; if so, and * if we're using stdio for input, then we want to use getc() * instead of fread(), to make sure we stop fetching input after * each newline. */ int yy_is_interactive; /* Whether we're considered to be at the beginning of a line. * If so, '^' rules will be active on the next match, otherwise * not. */ int yy_at_bol; int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ /* Whether to try to fill the input buffer when we reach the * end of it. */ int yy_fill_buffer; int yy_buffer_status; #define YY_BUFFER_NEW 0 #define YY_BUFFER_NORMAL 1 /* When an EOF's been seen but there's still some text to process * then we mark the buffer as YY_EOF_PENDING, to indicate that we * shouldn't try reading from the input source any more. We might * still have a bunch of tokens to match, though, because of * possible backing-up. * * When we actually see the EOF, we change the status to "new" * (via yyrestart()), so that the user can continue scanning by * just pointing yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 }; #endif /* !YY_STRUCT_YY_BUFFER_STATE */ /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general * "scanner state". * * Returns the top of the stack, or NULL. */ #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ : NULL) /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; static int yy_n_chars; /* number of characters read into yy_ch_buf */ yy_size_t yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ /* Flag which is used to allow yywrap()'s to do buffer switches * instead of setting up a fresh yyin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; void yyrestart (FILE *input_file ); void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); void yy_delete_buffer (YY_BUFFER_STATE b ); void yy_flush_buffer (YY_BUFFER_STATE b ); void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); void yypop_buffer_state (void ); static void yyensure_buffer_stack (void ); static void yy_load_buffer_state (void ); static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); void *yyalloc (yy_size_t ); void *yyrealloc (void *,yy_size_t ); void yyfree (void * ); #define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ yy_create_buffer(yyin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ yy_create_buffer(yyin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) #define yywrap() (/*CONSTCOND*/1) #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; typedef int yy_state_type; extern int yylineno; int yylineno = 1; extern char *yytext; #ifdef yytext_ptr #undef yytext_ptr #endif #define yytext_ptr yytext static yy_state_type yy_get_previous_state (void ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); static int yy_get_next_buffer (void ); #if defined(__GNUC__) && __GNUC__ >= 3 __attribute__((__noreturn__)) #endif static void yy_fatal_error (yyconst char msg[] ); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ yyleng = (size_t) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; #define YY_NUM_RULES 35 #define YY_END_OF_BUFFER 36 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info { flex_int32_t yy_verify; flex_int32_t yy_nxt; }; static yyconst flex_int16_t yy_accept[156] = { 0, 0, 0, 36, 35, 1, 15, 35, 12, 13, 9, 6, 7, 5, 10, 4, 16, 14, 34, 34, 11, 34, 34, 34, 34, 34, 34, 34, 34, 34, 2, 3, 34, 1, 0, 33, 4, 0, 0, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 2, 3, 34, 4, 0, 4, 34, 25, 34, 34, 34, 34, 34, 34, 34, 30, 34, 34, 34, 34, 34, 34, 34, 18, 34, 34, 29, 34, 34, 34, 34, 8, 34, 34, 34, 17, 34, 34, 20, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 31, 34, 34, 34, 34, 34, 34, 34, 34, 34, 21, 34, 34, 34, 28, 34, 34, 32, 34, 34, 34, 34, 19, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 27, 34, 22, 34, 34, 34, 34, 34, 34, 34, 34, 26, 34, 34, 23, 34, 24, 0 } ; static yyconst YY_CHAR yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 5, 1, 1, 1, 1, 6, 7, 8, 9, 1, 10, 11, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 1, 14, 1, 15, 1, 1, 1, 16, 17, 17, 17, 18, 19, 17, 17, 17, 17, 17, 17, 17, 17, 20, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 1, 1, 1, 21, 22, 1, 23, 24, 25, 26, 27, 17, 28, 29, 30, 17, 17, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 17, 41, 42, 43, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; static yyconst YY_CHAR yy_meta[44] = { 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 } ; static yyconst flex_uint16_t yy_base[160] = { 0, 0, 39, 187, 188, 184, 188, 181, 188, 188, 188, 188, 171, 188, 188, 34, 188, 188, 150, 0, 188, 151, 19, 154, 146, 142, 138, 26, 24, 154, 0, 0, 156, 173, 170, 188, 45, 160, 55, 0, 144, 140, 131, 135, 137, 136, 139, 135, 131, 130, 123, 123, 123, 0, 0, 140, 42, 145, 144, 118, 0, 133, 116, 118, 125, 126, 111, 121, 0, 126, 108, 109, 142, 105, 27, 104, 0, 117, 111, 0, 113, 106, 111, 114, 188, 99, 93, 100, 111, 92, 93, 0, 91, 97, 95, 93, 101, 94, 94, 92, 92, 92, 0, 81, 87, 88, 94, 83, 88, 80, 76, 69, 0, 72, 73, 78, 86, 74, 79, 0, 78, 74, 73, 72, 0, 78, 74, 61, 65, 64, 70, 73, 71, 66, 61, 53, 52, 65, 0, 58, 0, 48, 56, 52, 61, 52, 55, 41, 47, 0, 44, 31, 0, 16, 0, 188, 72, 47, 75, 78 } ; static yyconst flex_int16_t yy_def[160] = { 0, 155, 1, 155, 155, 155, 155, 156, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 157, 157, 155, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 159, 157, 155, 156, 155, 155, 155, 155, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 159, 157, 155, 155, 155, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 155, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 155, 155, 155, 155 } ; static yyconst flex_uint16_t yy_nxt[232] = { 0, 4, 5, 6, 7, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, 19, 19, 20, 19, 21, 19, 19, 19, 19, 22, 23, 19, 19, 24, 19, 19, 25, 26, 27, 28, 19, 19, 29, 19, 19, 30, 37, 42, 36, 43, 48, 39, 50, 38, 31, 86, 56, 37, 32, 36, 154, 38, 38, 87, 38, 57, 57, 49, 51, 58, 38, 153, 152, 38, 34, 34, 34, 53, 151, 53, 54, 150, 54, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 58, 58, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 56, 35, 33, 55, 52, 47, 46, 45, 44, 41, 40, 36, 35, 33, 155, 3, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155 } ; static yyconst flex_int16_t yy_chk[232] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 15, 22, 15, 22, 27, 157, 28, 15, 2, 74, 56, 36, 2, 36, 153, 56, 15, 74, 36, 38, 38, 27, 28, 38, 56, 151, 150, 36, 156, 156, 156, 158, 148, 158, 159, 147, 159, 146, 145, 144, 143, 142, 141, 139, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 123, 122, 121, 120, 118, 117, 116, 115, 114, 113, 111, 110, 109, 108, 107, 106, 105, 104, 103, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 90, 89, 88, 87, 86, 85, 83, 82, 81, 80, 78, 77, 75, 73, 72, 71, 70, 69, 67, 66, 65, 64, 63, 62, 61, 59, 58, 57, 55, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 37, 34, 33, 32, 29, 26, 25, 24, 23, 21, 18, 12, 7, 5, 3, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155 } ; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 0; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ #define REJECT reject_used_but_not_detected #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; #line 1 "ergo_input_parser.l" #define YY_NO_INPUT 1 #line 5 "ergo_input_parser.l" /** @file ergo_input_parser.c The lex input parser. Defines the grammar */ /* for ergo input files. */ #include #include #include #include "ergo_input_processor.h" #include "ergo_scripted.h" #define YY_DECL int yylex(void) YY_DECL; /* Some flex program generate external functions that are not used by us. We declare apriopriate prototypes to hush the warnings... */ /* ELIAS NOTE 2013-06-12: In Fedora 18 there were problems with compiler errors like "conflicting types for ‘yyget_leng’". To fix that, the declarations in the nine following lines with declarations of yyget_leng, yyget_in etc were commented out. Probably those lines should not have been needed anyway, judging by the above old comment saying that the lines were added "to hush the warnings...". */ /* static int yyget_leng(void); static FILE *yyget_in (void); static FILE *yyget_out (void); static char *yyget_text(void); static void yyset_in (FILE * in_str); static void yyset_out(FILE * out_str); static int yyget_debug(void); static void yyset_debug(int bdebug); static int yylex_destroy(void); */ extern int fileno(FILE *stream); /* Following needed for flex-2.5.33-5 as in F7. */ void yyset_lineno (int line_number ); int yyget_lineno (void); /* parse the input and divide it into basic building blocks: tokens */ #line 605 "ergo_input_parser.c" #define INITIAL 0 #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way * down here because we want the user's section 1 to have been scanned first. * The user has a chance to override it with an option. */ #include #endif #ifndef YY_EXTRA_TYPE #define YY_EXTRA_TYPE void * #endif static int yy_init_globals (void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ int yylex_destroy (void ); int yyget_debug (void ); void yyset_debug (int debug_flag ); YY_EXTRA_TYPE yyget_extra (void ); void yyset_extra (YY_EXTRA_TYPE user_defined ); FILE *yyget_in (void ); void yyset_in (FILE * _in_str ); FILE *yyget_out (void ); void yyset_out (FILE * _out_str ); yy_size_t yyget_leng (void ); char *yyget_text (void ); int yyget_lineno (void ); void yyset_lineno (int _line_number ); /* Macros after this point can all be overridden by user definitions in * section 1. */ #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus extern "C" int yywrap (void ); #else extern int yywrap (void ); #endif #endif #ifndef YY_NO_UNPUT #endif #ifndef yytext_ptr static void yy_flex_strncpy (char *,yyconst char *,int ); #endif #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * ); #endif #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (void ); #else static int input (void ); #endif #endif /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE #ifdef __ia64__ /* On IA-64, the buffer size is 16k, not 8k */ #define YY_READ_BUF_SIZE 16384 #else #define YY_READ_BUF_SIZE 8192 #endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ #ifndef ECHO /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, * is returned in "result". */ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ if ( c == EOF && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else \ { \ errno=0; \ while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ break; \ } \ errno=0; \ clearerr(yyin); \ } \ }\ \ #endif /* No semi-colon after return; correct usage is to write "yyterminate();" - * we don't want an extra ';' after the "return" because that will cause * some compilers to complain about unreachable statements. */ #ifndef yyterminate #define yyterminate() return YY_NULL #endif /* Number of entries by which start-condition stack grows. */ #ifndef YY_START_STACK_INCR #define YY_START_STACK_INCR 25 #endif /* Report a fatal error. */ #ifndef YY_FATAL_ERROR #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) #endif /* end tables serialization structures and prototypes */ /* Default declaration of generated scanner - a define so the user can * easily add parameters. */ #ifndef YY_DECL #define YY_DECL_IS_OURS 1 extern int yylex (void); #define YY_DECL int yylex (void) #endif /* !YY_DECL */ /* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */ #ifndef YY_USER_ACTION #define YY_USER_ACTION #endif /* Code executed at the end of each rule. */ #ifndef YY_BREAK #define YY_BREAK /*LINTED*/break; #endif #define YY_RULE_SETUP \ if ( yyleng > 0 ) \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ (yytext[yyleng - 1] == '\n'); \ YY_USER_ACTION /** The main scanner function which does all the work. */ YY_DECL { yy_state_type yy_current_state; char *yy_cp, *yy_bp; int yy_act; if ( !(yy_init) ) { (yy_init) = 1; #ifdef YY_USER_INIT YY_USER_INIT; #endif if ( ! (yy_start) ) (yy_start) = 1; /* first start state */ if ( ! yyin ) yyin = stdin; if ( ! yyout ) yyout = stdout; if ( ! YY_CURRENT_BUFFER ) { yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = yy_create_buffer(yyin,YY_BUF_SIZE ); } yy_load_buffer_state( ); } { #line 62 "ergo_input_parser.l" #line 826 "ergo_input_parser.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { yy_cp = (yy_c_buf_p); /* Support of yytext. */ *yy_cp = (yy_hold_char); /* yy_bp points to the position in yy_ch_buf of the start of * the current run. */ yy_bp = yy_cp; yy_current_state = (yy_start); yy_current_state += YY_AT_BOL(); yy_match: do { YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; (yy_last_accepting_cpos) = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 156 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } while ( yy_base[yy_current_state] != 188 ); yy_find_action: yy_act = yy_accept[yy_current_state]; if ( yy_act == 0 ) { /* have to back up */ yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); yy_act = yy_accept[yy_current_state]; } YY_DO_BEFORE_ACTION; do_action: /* This label is used only to access EOF actions. */ switch ( yy_act ) { /* beginning of action switch */ case 0: /* must back up */ /* undo the effects of YY_DO_BEFORE_ACTION */ *yy_cp = (yy_hold_char); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); goto yy_find_action; case 1: YY_RULE_SETUP #line 63 "ergo_input_parser.l" { /* We ignore white characters. */ } YY_BREAK case 2: YY_RULE_SETUP #line 64 "ergo_input_parser.l" { /* We ignore comments, too. */ } YY_BREAK case 3: YY_RULE_SETUP #line 65 "ergo_input_parser.l" { /* We ignore comments, too. */ } YY_BREAK case 4: YY_RULE_SETUP #line 67 "ergo_input_parser.l" { yylval.num =atof(yytext); return(NUMBER); } YY_BREAK case 5: YY_RULE_SETUP #line 68 "ergo_input_parser.l" return(DOT); YY_BREAK case 6: YY_RULE_SETUP #line 69 "ergo_input_parser.l" return(PLUS); YY_BREAK case 7: YY_RULE_SETUP #line 70 "ergo_input_parser.l" return(MINUS); YY_BREAK case 8: *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 71 "ergo_input_parser.l" return EOFTAG; YY_BREAK case 9: YY_RULE_SETUP #line 73 "ergo_input_parser.l" return(TIMES); YY_BREAK case 10: YY_RULE_SETUP #line 74 "ergo_input_parser.l" return(DIVIDE); YY_BREAK case 11: YY_RULE_SETUP #line 76 "ergo_input_parser.l" return(POWER); YY_BREAK case 12: YY_RULE_SETUP #line 78 "ergo_input_parser.l" return(LEFT_PARENTHESIS); YY_BREAK case 13: YY_RULE_SETUP #line 79 "ergo_input_parser.l" return(RIGHT_PARENTHESIS); YY_BREAK case 14: YY_RULE_SETUP #line 80 "ergo_input_parser.l" return(EQUAL); YY_BREAK case 15: /* rule 15 can match eol */ YY_RULE_SETUP #line 81 "ergo_input_parser.l" { if(ergo_scanner_reading_stdin) printf("> "); ergo_scanner_lineno++;return(EOL); } YY_BREAK case 16: YY_RULE_SETUP #line 83 "ergo_input_parser.l" return EOL; YY_BREAK case 17: YY_RULE_SETUP #line 84 "ergo_input_parser.l" return GHOST; YY_BREAK case 18: YY_RULE_SETUP #line 85 "ergo_input_parser.l" return HELP; YY_BREAK case 19: YY_RULE_SETUP #line 86 "ergo_input_parser.l" return PRECISION; YY_BREAK case 20: YY_RULE_SETUP #line 87 "ergo_input_parser.l" return RANGE; YY_BREAK case 21: YY_RULE_SETUP #line 88 "ergo_input_parser.l" { es_mol_unit_angstrom(); return ANGSTROM; } YY_BREAK case 22: YY_RULE_SETUP #line 89 "ergo_input_parser.l" return SET_NTHREADS; YY_BREAK case 23: YY_RULE_SETUP #line 90 "ergo_input_parser.l" return GETEXC; YY_BREAK case 24: YY_RULE_SETUP #line 91 "ergo_input_parser.l" return GETPOL; YY_BREAK case 25: YY_RULE_SETUP #line 92 "ergo_input_parser.l" return K_ALL; YY_BREAK case 26: YY_RULE_SETUP #line 93 "ergo_input_parser.l" { es_mol_begin(MOL_MAIN); return MOLTAG; } YY_BREAK case 27: YY_RULE_SETUP #line 94 "ergo_input_parser.l" { es_mol_begin(MOL_GHOST); return MOLTAG; } YY_BREAK case 28: YY_RULE_SETUP #line 95 "ergo_input_parser.l" return MOLDAL; YY_BREAK case 29: YY_RULE_SETUP #line 96 "ergo_input_parser.l" return QUIT; YY_BREAK case 30: YY_RULE_SETUP #line 97 "ergo_input_parser.l" return RUNTAG; YY_BREAK case 31: YY_RULE_SETUP #line 98 "ergo_input_parser.l" return SYSTEM; YY_BREAK case 32: YY_RULE_SETUP #line 99 "ergo_input_parser.l" return WARRANTY; YY_BREAK case 33: /* rule 33 can match eol */ YY_RULE_SETUP #line 102 "ergo_input_parser.l" { unsigned l = strlen(yytext)-2; /* skip quotes */ if(l>=sizeof(yylval.str))l=sizeof(yylval.str)-1; strncpy(yylval.str, yytext+1, l); yylval.str[l] = '\0'; return(STRING); } YY_BREAK case 34: YY_RULE_SETUP #line 106 "ergo_input_parser.l" { strncpy(yylval.str, yytext, sizeof(yylval.str)-1); yylval.str[sizeof(yylval.str)-1] = '\0'; return (SYMBOL); } YY_BREAK case 35: YY_RULE_SETUP #line 109 "ergo_input_parser.l" ECHO; YY_BREAK #line 1070 "ergo_input_parser.c" case YY_STATE_EOF(INITIAL): yyterminate(); case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; /* Undo the effects of YY_DO_BEFORE_ACTION. */ *yy_cp = (yy_hold_char); YY_RESTORE_YY_MORE_OFFSET if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) { /* We're scanning a new file or input source. It's * possible that this happened because the user * just pointed yyin at a new source and called * yylex(). If so, then we have to assure * consistency between YY_CURRENT_BUFFER and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; } /* Note that here we test for yy_c_buf_p "<=" to the position * of the first EOB in the buffer, since yy_c_buf_p will * already have been incremented past the NUL character * (since all states make transitions on EOB to the * end-of-buffer state). Contrast this with the test * in input(). */ if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) { /* This was really a NUL. */ yy_state_type yy_next_state; (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state( ); /* Okay, we're now positioned to make the NUL * transition. We couldn't have * yy_get_previous_state() go ahead and do it * for us because it doesn't know how to deal * with the possibility of jamming (and we don't * want to build jamming into it because then it * will run more slowly). */ yy_next_state = yy_try_NUL_trans( yy_current_state ); yy_bp = (yytext_ptr) + YY_MORE_ADJ; if ( yy_next_state ) { /* Consume the NUL. */ yy_cp = ++(yy_c_buf_p); yy_current_state = yy_next_state; goto yy_match; } else { yy_cp = (yy_c_buf_p); goto yy_find_action; } } else switch ( yy_get_next_buffer( ) ) { case EOB_ACT_END_OF_FILE: { (yy_did_buffer_switch_on_eof) = 0; if ( yywrap( ) ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up * yytext, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the * YY_NULL, it'll still work - another * YY_NULL will get returned. */ (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; yy_act = YY_STATE_EOF(YY_START); goto do_action; } else { if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; } break; } case EOB_ACT_CONTINUE_SCAN: (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state( ); yy_cp = (yy_c_buf_p); yy_bp = (yytext_ptr) + YY_MORE_ADJ; goto yy_match; case EOB_ACT_LAST_MATCH: (yy_c_buf_p) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; yy_current_state = yy_get_previous_state( ); yy_cp = (yy_c_buf_p); yy_bp = (yytext_ptr) + YY_MORE_ADJ; goto yy_find_action; } break; } default: YY_FATAL_ERROR( "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ } /* end of user's declarations */ } /* end of yylex */ /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: * EOB_ACT_LAST_MATCH - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_END_OF_FILE - end of file */ static int yy_get_next_buffer (void) { char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; char *source = (yytext_ptr); yy_size_t number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) YY_FATAL_ERROR( "fatal flex scanner internal error--end of buffer missed" ); if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) { /* Don't try to fill the buffer, so this is an EOF. */ if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) { /* We matched a single character, the EOB, so * treat this as a final EOF. */ return EOB_ACT_END_OF_FILE; } else { /* We matched some text prior to the EOB, first * process it. */ return EOB_ACT_LAST_MATCH; } } /* Try to read more data. */ /* First move last chars to start of buffer. */ number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; else { yy_size_t num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; int yy_c_buf_p_offset = (int) ((yy_c_buf_p) - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { yy_size_t new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; else b->yy_buf_size *= 2; b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); } else /* Can't grow it, we don't own it. */ b->yy_ch_buf = 0; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" ); (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; } if ( num_to_read > YY_READ_BUF_SIZE ) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), (yy_n_chars), num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } if ( (yy_n_chars) == 0 ) { if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; yyrestart(yyin ); } else { ret_val = EOB_ACT_LAST_MATCH; YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_EOF_PENDING; } } else ret_val = EOB_ACT_CONTINUE_SCAN; if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); } (yy_n_chars) += number_to_move; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; return ret_val; } /* yy_get_previous_state - get the state just before the EOB char was reached */ static yy_state_type yy_get_previous_state (void) { yy_state_type yy_current_state; char *yy_cp; yy_current_state = (yy_start); yy_current_state += YY_AT_BOL(); for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; (yy_last_accepting_cpos) = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 156 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } return yy_current_state; } /* yy_try_NUL_trans - try to make a transition on the NUL character * * synopsis * next_state = yy_try_NUL_trans( current_state ); */ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) { int yy_is_jam; char *yy_cp = (yy_c_buf_p); YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; (yy_last_accepting_cpos) = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 156 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_is_jam = (yy_current_state == 155); return yy_is_jam ? 0 : yy_current_state; } #ifndef YY_NO_UNPUT #endif #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (void) #else static int input (void) #endif { int c; *(yy_c_buf_p) = (yy_hold_char); if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) { /* yy_c_buf_p now points to the character we want to return. * If this occurs *before* the EOB characters, then it's a * valid NUL; if not, then we've hit the end of the buffer. */ if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) /* This was really a NUL. */ *(yy_c_buf_p) = '\0'; else { /* need more input */ yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) { case EOB_ACT_LAST_MATCH: /* This happens because yy_g_n_b() * sees that we've accumulated a * token and flags that we need to * try matching the token before * proceeding. But for input(), * there's no matching to consider. * So convert the EOB_ACT_LAST_MATCH * to EOB_ACT_END_OF_FILE. */ /* Reset buffer status. */ yyrestart(yyin ); /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { if ( yywrap( ) ) return EOF; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; #ifdef __cplusplus return yyinput(); #else return input(); #endif } case EOB_ACT_CONTINUE_SCAN: (yy_c_buf_p) = (yytext_ptr) + offset; break; } } } c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ *(yy_c_buf_p) = '\0'; /* preserve yytext */ (yy_hold_char) = *++(yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); return c; } #endif /* ifndef YY_NO_INPUT */ /** Immediately switch to a different input stream. * @param input_file A readable stream. * * @note This function does not reset the start condition to @c INITIAL . */ void yyrestart (FILE * input_file ) { if ( ! YY_CURRENT_BUFFER ){ yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = yy_create_buffer(yyin,YY_BUF_SIZE ); } yy_init_buffer(YY_CURRENT_BUFFER,input_file ); yy_load_buffer_state( ); } /** Switch to a different input buffer. * @param new_buffer The new input buffer. * */ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) { /* TODO. We should be able to replace this entire function body * with * yypop_buffer_state(); * yypush_buffer_state(new_buffer); */ yyensure_buffer_stack (); if ( YY_CURRENT_BUFFER == new_buffer ) return; if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ *(yy_c_buf_p) = (yy_hold_char); YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } YY_CURRENT_BUFFER_LVALUE = new_buffer; yy_load_buffer_state( ); /* We don't actually know whether we did this switch during * EOF (yywrap()) processing, but the only time this flag * is looked at is after yywrap() is called, so it's safe * to go ahead and always set it. */ (yy_did_buffer_switch_on_eof) = 1; } static void yy_load_buffer_state (void) { (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; (yy_hold_char) = *(yy_c_buf_p); } /** Allocate and initialize an input buffer state. * @param file A readable stream. * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. * * @return the allocated buffer state. */ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) { YY_BUFFER_STATE b; b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_buf_size = (yy_size_t)size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_is_our_buffer = 1; yy_init_buffer(b,file ); return b; } /** Destroy the buffer. * @param b a buffer created with yy_create_buffer() * */ void yy_delete_buffer (YY_BUFFER_STATE b ) { if ( ! b ) return; if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) yyfree((void *) b->yy_ch_buf ); yyfree((void *) b ); } /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a yyrestart() or at EOF. */ static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) { int oerrno = errno; yy_flush_buffer(b ); b->yy_input_file = file; b->yy_fill_buffer = 1; /* If b is the current buffer, then yy_init_buffer was _probably_ * called from yyrestart() or through yy_get_next_buffer. * In that case, we don't want to reset the lineno or column. */ if (b != YY_CURRENT_BUFFER){ b->yy_bs_lineno = 1; b->yy_bs_column = 0; } b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; errno = oerrno; } /** Discard all buffered characters. On the next scan, YY_INPUT will be called. * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. * */ void yy_flush_buffer (YY_BUFFER_STATE b ) { if ( ! b ) return; b->yy_n_chars = 0; /* We always need two end-of-buffer characters. The first causes * a transition to the end-of-buffer state. The second causes * a jam in that state. */ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; b->yy_buf_pos = &b->yy_ch_buf[0]; b->yy_at_bol = 1; b->yy_buffer_status = YY_BUFFER_NEW; if ( b == YY_CURRENT_BUFFER ) yy_load_buffer_state( ); } /** Pushes the new state onto the stack. The new state becomes * the current state. This function will allocate the stack * if necessary. * @param new_buffer The new state. * */ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) { if (new_buffer == NULL) return; yyensure_buffer_stack(); /* This block is copied from yy_switch_to_buffer. */ if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ *(yy_c_buf_p) = (yy_hold_char); YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } /* Only push if top exists. Otherwise, replace top. */ if (YY_CURRENT_BUFFER) (yy_buffer_stack_top)++; YY_CURRENT_BUFFER_LVALUE = new_buffer; /* copied from yy_switch_to_buffer. */ yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } /** Removes and deletes the top of the stack, if present. * The next element becomes the new top. * */ void yypop_buffer_state (void) { if (!YY_CURRENT_BUFFER) return; yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; if ((yy_buffer_stack_top) > 0) --(yy_buffer_stack_top); if (YY_CURRENT_BUFFER) { yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } } /* Allocates the stack if it does not exist. * Guarantees space for at least one push. */ static void yyensure_buffer_stack (void) { yy_size_t num_to_alloc; if (!(yy_buffer_stack)) { /* First allocation is just for 2 elements, since we don't know if this * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; (yy_buffer_stack_top) = 0; return; } if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ yy_size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; } } /** Setup the input buffer state to scan directly from a user-specified character buffer. * @param base the character buffer * @param size the size in bytes of the character buffer * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) { YY_BUFFER_STATE b; if ( size < 2 || base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ return 0; b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; b->yy_input_file = 0; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; yy_switch_to_buffer(b ); return b; } /** Setup the input buffer state to scan a string. The next call to yylex() will * scan from a @e copy of @a str. * @param yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use * yy_scan_bytes() instead. */ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) { return yy_scan_bytes(yystr,strlen(yystr) ); } /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. * @param yybytes the byte buffer to scan * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) { YY_BUFFER_STATE b; char *buf; yy_size_t n; yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; buf = (char *) yyalloc(n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); for ( i = 0; i < _yybytes_len; ++i ) buf[i] = yybytes[i]; buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; b = yy_scan_buffer(buf,n ); if ( ! b ) YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. */ b->yy_is_our_buffer = 1; return b; } #ifndef YY_EXIT_FAILURE #define YY_EXIT_FAILURE 2 #endif static void yy_fatal_error (yyconst char* msg ) { (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* Redefine yyless() so it works in section 3 code. */ #undef yyless #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ yytext[yyleng] = (yy_hold_char); \ (yy_c_buf_p) = yytext + yyless_macro_arg; \ (yy_hold_char) = *(yy_c_buf_p); \ *(yy_c_buf_p) = '\0'; \ yyleng = yyless_macro_arg; \ } \ while ( 0 ) /* Accessor methods (get/set functions) to struct members. */ /** Get the current line number. * */ int yyget_lineno (void) { return yylineno; } /** Get the input stream. * */ FILE *yyget_in (void) { return yyin; } /** Get the output stream. * */ FILE *yyget_out (void) { return yyout; } /** Get the length of the current token. * */ yy_size_t yyget_leng (void) { return yyleng; } /** Get the current token. * */ char *yyget_text (void) { return yytext; } /** Set the current line number. * @param _line_number line number * */ void yyset_lineno (int _line_number ) { yylineno = _line_number; } /** Set the input stream. This does not discard the current * input buffer. * @param _in_str A readable stream. * * @see yy_switch_to_buffer */ void yyset_in (FILE * _in_str ) { yyin = _in_str ; } void yyset_out (FILE * _out_str ) { yyout = _out_str ; } int yyget_debug (void) { return yy_flex_debug; } void yyset_debug (int _bdebug ) { yy_flex_debug = _bdebug ; } static int yy_init_globals (void) { /* Initialization is the same as for the non-reentrant scanner. * This function is called from yylex_destroy(), so don't allocate here. */ (yy_buffer_stack) = 0; (yy_buffer_stack_top) = 0; (yy_buffer_stack_max) = 0; (yy_c_buf_p) = (char *) 0; (yy_init) = 0; (yy_start) = 0; /* Defined in main.c */ #ifdef YY_STDINIT yyin = stdin; yyout = stdout; #else yyin = (FILE *) 0; yyout = (FILE *) 0; #endif /* For future reference: Set errno on error, since we are called by * yylex_init() */ return 0; } /* yylex_destroy is for both reentrant and non-reentrant scanners. */ int yylex_destroy (void) { /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; yypop_buffer_state(); } /* Destroy the stack itself. */ yyfree((yy_buffer_stack) ); (yy_buffer_stack) = NULL; /* Reset the globals. This is important in a non-reentrant scanner so the next time * yylex() is called, initialization will occur. */ yy_init_globals( ); return 0; } /* * Internal utility routines. */ #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) { int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * s ) { int n; for ( n = 0; s[n]; ++n ) ; return n; } #endif void *yyalloc (yy_size_t size ) { return (void *) malloc( size ); } void *yyrealloc (void * ptr, yy_size_t size ) { /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter * because both ANSI C and C++ allow castless assignment from * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ return (void *) realloc( (char *) ptr, size ); } void yyfree (void * ptr ) { free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" #line 109 "ergo_input_parser.l" ergo-3.5/source/ci/0000775000175000017500000000000012743400365011217 500000000000000ergo-3.5/source/ci/ci.cc0000664000175000017500000021633612743400307012050 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file ci.cc \brief Configuration Interaction (CI) code. @author: Elias Rudberg responsible. */ #include #include #include #include #include #include "ci.h" #include "output.h" #include "utilities.h" #include "integrals_2el_explicit.h" #include "densfromf_full.h" #include "simple_lanczos.h" #include "operator_matrix.h" #include "dipole_moment.h" #include "../matrix/mat_gblas.h" const int MAX_AOS = 30; const int MAX_SOS = 2 * MAX_AOS; const int MAX_ELECTRONS = 40; const int SPIN_A = 1; const int SPIN_B = 2; typedef struct { ergo_real x[MAX_AOS][MAX_AOS][MAX_AOS][MAX_AOS]; } four_idx_AO_struct; typedef struct { ergo_real x[MAX_SOS][MAX_SOS][MAX_SOS][MAX_SOS]; } four_idx_SO_struct; typedef struct { ergo_real x[MAX_SOS][MAX_SOS]; } two_idx_SO_struct; typedef struct { ergo_real coeffs[MAX_AOS]; int spin; } SO_struct; typedef struct { char SO_list[MAX_ELECTRONS]; int startIndex; // at next level int count; // at next level } SlaterDet_struct; typedef struct { int a; int b; int nDiff; char SOs_a[2]; char SOs_b[2]; char SOs_a_pos[2]; char SOs_b_pos[2]; } SlaterDet_pair_struct; static ergo_real get_vector_norm(int n, const ergo_real* v) { ergo_real sqSum = 0; for(int i = 0; i < n; i++) sqSum += v[i] * v[i]; return std::sqrt(sqSum); } static void normalize_vector(int n, ergo_real* v) { ergo_real factor = 1.0 / get_vector_norm(n, v); for(int i = 0; i < n; i++) v[i] *= factor; } void get_1el_energy_and_gradient(int nSOs, int nEl, int nSlaterDets, const SlaterDet_struct* SlaterDetList, int nSlaterDetPairs, const SlaterDet_pair_struct* SlaterDet_pair_list, const int* pairCountList, int noOfTrialVectors, ergo_real* energy_list, ergo_real** coeffListList, const two_idx_SO_struct* h_SO, ergo_real** resultGradient_list) { for(int k = 0; k < noOfTrialVectors; k++) { energy_list[k] = 0; for(int i = 0; i < nSlaterDets; i++) resultGradient_list[k][i] = 0; } for(int pairIdx = 0; pairIdx < nSlaterDetPairs; pairIdx++) { if(SlaterDet_pair_list[pairIdx].nDiff == 2) { // Do nothing here! } else if(SlaterDet_pair_list[pairIdx].nDiff == 1) { int a = SlaterDet_pair_list[pairIdx].a; int b = SlaterDet_pair_list[pairIdx].b; int p = SlaterDet_pair_list[pairIdx].SOs_a[0]; int count, savedCount; int signa = 1; // annihilate p from a char SO_list_mod_a_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(int i = 0; i < nEl; i++) { if(SlaterDetList[a].SO_list[i] == p) savedCount = count; else { SO_list_mod_a_1[count] = SlaterDetList[a].SO_list[i]; count++; if(savedCount < 0) signa *= -1; } } if(savedCount < 0) continue; int q = SlaterDet_pair_list[pairIdx].SOs_b[0]; int signb = signa; // annihilate q from b char SO_list_mod_b_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(int i = 0; i < nEl; i++) { if(SlaterDetList[b].SO_list[i] == q) savedCount = count; else { SO_list_mod_b_1[count] = SlaterDetList[b].SO_list[i]; count++; if(savedCount < 0) signb *= -1; } } if(savedCount < 0) continue; int equal = 1; for(int i = 0; i < nEl-1; i++) { if(SO_list_mod_a_1[i] != SO_list_mod_b_1[i]) equal = 0; } if(equal) { // OK, we have a contribution ergo_real x = signb; x *= 2; // To account for a > b case ergo_real h_pq = h_SO->x[p][q]; for(int k = 0; k < noOfTrialVectors; k++) { energy_list[k] += x * h_pq * coeffListList[k][a] * coeffListList[k][b]; resultGradient_list[k][a] += x * h_pq * coeffListList[k][b]; resultGradient_list[k][b] += x * h_pq * coeffListList[k][a]; } } } else { int a = SlaterDet_pair_list[pairIdx].a; int b = SlaterDet_pair_list[pairIdx].b; for(int p = 0; p < nSOs; p++) { int count, savedCount; int signa = 1; // annihilate p from a char SO_list_mod_a_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(int i = 0; i < nEl; i++) { if(SlaterDetList[a].SO_list[i] == p) savedCount = count; else { SO_list_mod_a_1[count] = SlaterDetList[a].SO_list[i]; count++; if(savedCount < 0) signa *= -1; } } if(savedCount < 0) continue; for(int q = 0; q < nSOs; q++) { int signb = signa; // annihilate q from b char SO_list_mod_b_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(int i = 0; i < nEl; i++) { if(SlaterDetList[b].SO_list[i] == q) savedCount = count; else { SO_list_mod_b_1[count] = SlaterDetList[b].SO_list[i]; count++; if(savedCount < 0) signb *= -1; } } if(savedCount < 0) continue; int equal = 1; for(int i = 0; i < nEl-1; i++) { if(SO_list_mod_a_1[i] != SO_list_mod_b_1[i]) equal = 0; } if(equal) { // OK, we have a contribution ergo_real x = signb; ergo_real h_pq = h_SO->x[p][q]; for(int k = 0; k < noOfTrialVectors; k++) { energy_list[k] += x * h_pq * coeffListList[k][a] * coeffListList[k][b]; resultGradient_list[k][a] += x * h_pq * coeffListList[k][b]; resultGradient_list[k][b] += x * h_pq * coeffListList[k][a]; } } } // END FOR q } // END FOR p } // END ELSE } // END FOR pairIdx } void get_1el_contribs_to_mult_or_dmat(int nSOs, int nEl, int nSlaterDets, const SlaterDet_struct* SlaterDetList, const SlaterDet_pair_struct* SlaterDetPair, const two_idx_SO_struct* h_SO, const ergo_real* sourceVector, ergo_real* resultVector, // if result of matrix-vector mult is requested two_idx_SO_struct* resultdmat // if dmat is requested ) { if(SlaterDetPair->nDiff == 2) { // Do nothing here! } else if(SlaterDetPair->nDiff == 1) { int a = SlaterDetPair->a; int b = SlaterDetPair->b; int p = SlaterDetPair->SOs_a[0]; int count, savedCount; int signa = 1; // annihilate p from a char SO_list_mod_a_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(int i = 0; i < nEl; i++) { if(SlaterDetList[a].SO_list[i] == p) savedCount = count; else { SO_list_mod_a_1[count] = SlaterDetList[a].SO_list[i]; count++; if(savedCount < 0) signa *= -1; } } if(savedCount < 0) return; int q = SlaterDetPair->SOs_b[0]; int signb = signa; // annihilate q from b char SO_list_mod_b_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(int i = 0; i < nEl; i++) { if(SlaterDetList[b].SO_list[i] == q) savedCount = count; else { SO_list_mod_b_1[count] = SlaterDetList[b].SO_list[i]; count++; if(savedCount < 0) signb *= -1; } } if(savedCount < 0) return; int equal = 1; for(int i = 0; i < nEl-1; i++) { if(SO_list_mod_a_1[i] != SO_list_mod_b_1[i]) equal = 0; } if(equal) { // OK, we have a contribution ergo_real x = signb; ergo_real h_pq = h_SO->x[p][q]; ergo_real resultMatrix_ab = x * h_pq; ergo_real resultMatrix_ba = x * h_pq; if(resultVector) { resultVector[a] += resultMatrix_ab * sourceVector[b]; resultVector[b] += resultMatrix_ba * sourceVector[a]; } else { resultdmat->x[p][q] += x * sourceVector[a] * sourceVector[b]; resultdmat->x[q][p] += x * sourceVector[a] * sourceVector[b]; } } } else { int a = SlaterDetPair->a; int b = SlaterDetPair->b; for(int p = 0; p < nSOs; p++) { int count, savedCount; int signa = 1; // annihilate p from a char SO_list_mod_a_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(int i = 0; i < nEl; i++) { if(SlaterDetList[a].SO_list[i] == p) savedCount = count; else { SO_list_mod_a_1[count] = SlaterDetList[a].SO_list[i]; count++; if(savedCount < 0) signa *= -1; } } if(savedCount < 0) continue; for(int q = 0; q < nSOs; q++) { int signb = signa; // annihilate q from b char SO_list_mod_b_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(int i = 0; i < nEl; i++) { if(SlaterDetList[b].SO_list[i] == q) savedCount = count; else { SO_list_mod_b_1[count] = SlaterDetList[b].SO_list[i]; count++; if(savedCount < 0) signb *= -1; } } if(savedCount < 0) continue; int equal = 1; for(int i = 0; i < nEl-1; i++) { if(SO_list_mod_a_1[i] != SO_list_mod_b_1[i]) equal = 0; } if(equal) { // OK, we have a contribution ergo_real x = signb; ergo_real h_pq = h_SO->x[p][q]; ergo_real resultMatrix_ab = x * h_pq; if(resultVector) resultVector[a] += resultMatrix_ab * sourceVector[b]; else resultdmat->x[p][q] += x * sourceVector[a] * sourceVector[b]; } } // END FOR q } // END FOR p } // END ELSE } void get_1el_contribs(int nSOs, int nEl, int nSlaterDets, const SlaterDet_struct* SlaterDetList, int nSlaterDetPairs, const SlaterDet_pair_struct* SlaterDet_pair_list, const int* pairCountList, const two_idx_SO_struct* h_SO, ergo_real* resultMatrix) { for(int pairIdx = 0; pairIdx < nSlaterDetPairs; pairIdx++) { if(SlaterDet_pair_list[pairIdx].nDiff == 2) { // Do nothing here! } else if(SlaterDet_pair_list[pairIdx].nDiff == 1) { int a = SlaterDet_pair_list[pairIdx].a; int b = SlaterDet_pair_list[pairIdx].b; int p = SlaterDet_pair_list[pairIdx].SOs_a[0]; int count, savedCount; int signa = 1; // annihilate p from a char SO_list_mod_a_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(int i = 0; i < nEl; i++) { if(SlaterDetList[a].SO_list[i] == p) savedCount = count; else { SO_list_mod_a_1[count] = SlaterDetList[a].SO_list[i]; count++; if(savedCount < 0) signa *= -1; } } if(savedCount < 0) continue; int q = SlaterDet_pair_list[pairIdx].SOs_b[0]; int signb = signa; // annihilate q from b char SO_list_mod_b_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(int i = 0; i < nEl; i++) { if(SlaterDetList[b].SO_list[i] == q) savedCount = count; else { SO_list_mod_b_1[count] = SlaterDetList[b].SO_list[i]; count++; if(savedCount < 0) signb *= -1; } } if(savedCount < 0) continue; int equal = 1; for(int i = 0; i < nEl-1; i++) { if(SO_list_mod_a_1[i] != SO_list_mod_b_1[i]) equal = 0; } if(equal) { // OK, we have a contribution ergo_real x = signb; //x *= 2; // To account for a > b case ergo_real h_pq = h_SO->x[p][q]; //printf("1el contrib to a b = %i %i : %22.11f\n", a, b, x * h_pq); resultMatrix[a*nSlaterDets+b] += x * h_pq; resultMatrix[b*nSlaterDets+a] += x * h_pq; } } else { int a = SlaterDet_pair_list[pairIdx].a; int b = SlaterDet_pair_list[pairIdx].b; for(int p = 0; p < nSOs; p++) { int count, savedCount; int signa = 1; // annihilate p from a char SO_list_mod_a_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(int i = 0; i < nEl; i++) { if(SlaterDetList[a].SO_list[i] == p) savedCount = count; else { SO_list_mod_a_1[count] = SlaterDetList[a].SO_list[i]; count++; if(savedCount < 0) signa *= -1; } } if(savedCount < 0) continue; for(int q = 0; q < nSOs; q++) { int signb = signa; // annihilate q from b char SO_list_mod_b_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(int i = 0; i < nEl; i++) { if(SlaterDetList[b].SO_list[i] == q) savedCount = count; else { SO_list_mod_b_1[count] = SlaterDetList[b].SO_list[i]; count++; if(savedCount < 0) signb *= -1; } } if(savedCount < 0) continue; int equal = 1; for(int i = 0; i < nEl-1; i++) { if(SO_list_mod_a_1[i] != SO_list_mod_b_1[i]) equal = 0; } if(equal) { // OK, we have a contribution ergo_real x = signb; ergo_real h_pq = h_SO->x[p][q]; //printf("1el contrib to a b = %i %i : %22.11f\n", a, b, x * h_pq); resultMatrix[a*nSlaterDets+b] += x * h_pq; } } // END FOR q } // END FOR p } // END ELSE } // END FOR pairIdx } typedef struct { int p; int q; int r; int s; int sign; } contrib_debug_struct; void get_2el_energy_and_gradient(int nSOs, int nEl, int nSlaterDets, const SlaterDet_struct* SlaterDetList, int nSlaterDetPairs, const SlaterDet_pair_struct* SlaterDet_pair_list, const int* pairCountList, int noOfTrialVectors, ergo_real* energy_list, ergo_real** coeffListList, const four_idx_SO_struct* g_SO, ergo_real** resultGradient_list) { for(int k = 0; k < noOfTrialVectors; k++) { energy_list[k] = 0; for(int i = 0; i < nSlaterDets; i++) resultGradient_list[k][i] = 0; } for(int pairIdx = 0; pairIdx < nSlaterDetPairs; pairIdx++) { int a = SlaterDet_pair_list[pairIdx].a; int b = SlaterDet_pair_list[pairIdx].b; if(SlaterDet_pair_list[pairIdx].nDiff == 2) { int p = SlaterDet_pair_list[pairIdx].SOs_a[0]; int q = SlaterDet_pair_list[pairIdx].SOs_b[0]; int pos_p = SlaterDet_pair_list[pairIdx].SOs_a_pos[0]; int pos_q = SlaterDet_pair_list[pairIdx].SOs_b_pos[0]; int r = SlaterDet_pair_list[pairIdx].SOs_a[1]; int s = SlaterDet_pair_list[pairIdx].SOs_b[1]; int pos_r = SlaterDet_pair_list[pairIdx].SOs_a_pos[1]; int pos_s = SlaterDet_pair_list[pairIdx].SOs_b_pos[1]; int sign_a = 1; if(pos_p%2 == 1) sign_a *= -1; if(pos_r%2 == 1) sign_a *= -1; if(r > p) sign_a *= -1; int sign_b = 1; if(pos_q%2 == 1) sign_b *= -1; if(pos_s%2 == 1) sign_b *= -1; if(s > q) sign_a *= -1; // OK, we have a contribution ergo_real x = sign_a * sign_b; x *= 2; // To account for a > b case for(int k = 0; k < noOfTrialVectors; k++) { // pqrs ergo_real g_pqrs = g_SO->x[p][q][r][s]; energy_list[k] += 0.5 * x * g_pqrs * coeffListList[k][a] * coeffListList[k][b]; resultGradient_list[k][a] += 0.5 * x * g_pqrs * coeffListList[k][b]; resultGradient_list[k][b] += 0.5 * x * g_pqrs * coeffListList[k][a]; // rspq ergo_real g_rspq = g_SO->x[r][s][p][q]; energy_list[k] += 0.5 * x * g_rspq * coeffListList[k][a] * coeffListList[k][b]; resultGradient_list[k][a] += 0.5 * x * g_rspq * coeffListList[k][b]; resultGradient_list[k][b] += 0.5 * x * g_rspq * coeffListList[k][a]; // rqps ergo_real g_rqps = g_SO->x[r][q][p][s]; energy_list[k] -= 0.5 * x * g_rqps * coeffListList[k][a] * coeffListList[k][b]; resultGradient_list[k][a] -= 0.5 * x * g_rqps * coeffListList[k][b]; resultGradient_list[k][b] -= 0.5 * x * g_rqps * coeffListList[k][a]; // psrq ergo_real g_psrq = g_SO->x[p][s][r][q]; energy_list[k] -= 0.5 * x * g_psrq * coeffListList[k][a] * coeffListList[k][b]; resultGradient_list[k][a] -= 0.5 * x * g_psrq * coeffListList[k][b]; resultGradient_list[k][b] -= 0.5 * x * g_psrq * coeffListList[k][a]; } // END FOR k } else if(SlaterDet_pair_list[pairIdx].nDiff == 1) { int p = SlaterDet_pair_list[pairIdx].SOs_a[0]; int q = SlaterDet_pair_list[pairIdx].SOs_b[0]; int pos_p = SlaterDet_pair_list[pairIdx].SOs_a_pos[0]; int pos_q = SlaterDet_pair_list[pairIdx].SOs_b_pos[0]; for(int rr = 0; rr < nEl; rr++) { int r = SlaterDetList[a].SO_list[rr]; if(r == p) continue; int sign_a = 1; if(pos_p%2 == 1) sign_a *= -1; if(rr%2 == 1) sign_a *= -1; if(r > p) sign_a *= -1; for(int ss = 0; ss < nEl; ss++) { int s = SlaterDetList[b].SO_list[ss]; if(s == q) continue; if(s != r) continue; int sign_b = 1; if(pos_q%2 == 1) sign_b *= -1; if(ss%2 == 1) sign_b *= -1; if(s > q) sign_b *= -1; // OK, we have a contribution ergo_real x = sign_a * sign_b; x *= 2; // To account for a > b case for(int k = 0; k < noOfTrialVectors; k++) { // pqrs ergo_real g_pqrs = g_SO->x[p][q][r][s]; energy_list[k] += 0.5 * x * g_pqrs * coeffListList[k][a] * coeffListList[k][b]; resultGradient_list[k][a] += 0.5 * x * g_pqrs * coeffListList[k][b]; resultGradient_list[k][b] += 0.5 * x * g_pqrs * coeffListList[k][a]; // rspq ergo_real g_rspq = g_SO->x[r][s][p][q]; energy_list[k] += 0.5 * x * g_rspq * coeffListList[k][a] * coeffListList[k][b]; resultGradient_list[k][a] += 0.5 * x * g_rspq * coeffListList[k][b]; resultGradient_list[k][b] += 0.5 * x * g_rspq * coeffListList[k][a]; // rqps ergo_real g_rqps = g_SO->x[r][q][p][s]; energy_list[k] -= 0.5 * x * g_rqps * coeffListList[k][a] * coeffListList[k][b]; resultGradient_list[k][a] -= 0.5 * x * g_rqps * coeffListList[k][b]; resultGradient_list[k][b] -= 0.5 * x * g_rqps * coeffListList[k][a]; // psrq ergo_real g_psrq = g_SO->x[p][s][r][q]; energy_list[k] -= 0.5 * x * g_psrq * coeffListList[k][a] * coeffListList[k][b]; resultGradient_list[k][a] -= 0.5 * x * g_psrq * coeffListList[k][b]; resultGradient_list[k][b] -= 0.5 * x * g_psrq * coeffListList[k][a]; } // END FOR k } // END FOR ss } // END FOR rr } else { for(int pp = 0; pp < nEl; pp++) { int p = SlaterDetList[a].SO_list[pp]; for(int rr = 0; rr < nEl; rr++) { int r = SlaterDetList[a].SO_list[rr]; int sign_a = 1; if(pp%2 == 1) sign_a *= -1; if(rr%2 == 1) sign_a *= -1; if(pp < rr) sign_a *= -1; int qlist[2]; qlist[0] = pp; qlist[1] = rr; for(int qqq = 0; qqq < 2; qqq++) { int qq = qlist[qqq]; int q = SlaterDetList[b].SO_list[qq]; int slist[2]; slist[0] = pp; slist[1] = rr; for(int sss = 0; sss < 2; sss++) { int ss = slist[sss]; int s = SlaterDetList[b].SO_list[ss]; if(s == q) continue; int sign_b = 1; if(qq%2 == 1) sign_b *= -1; if(ss%2 == 1) sign_b *= -1; if(qq < ss) sign_b *= -1; // OK, we have a contribution ergo_real x = sign_a * sign_b; ergo_real g_pqrs = g_SO->x[p][q][r][s]; for(int k = 0; k < noOfTrialVectors; k++) { energy_list[k] += 0.5 * x * g_pqrs * coeffListList[k][a] * coeffListList[k][b]; resultGradient_list[k][a] += 0.5 * x * g_pqrs * coeffListList[k][b]; resultGradient_list[k][b] += 0.5 * x * g_pqrs * coeffListList[k][a]; } } // END FOR sss } // END FOR qqq } // END FOR rr } // END FOR pp } // END ELSE } // END FOR pair } void get_2el_contribs_to_mult_or_dmat(int nSOs, int nEl, int nSlaterDets, const SlaterDet_struct* SlaterDetList, const SlaterDet_pair_struct* SlaterDetPair, const four_idx_SO_struct* g_SO, const ergo_real* sourceVector, ergo_real* resultVector, // if result of matrix-vector mult is requested four_idx_SO_struct* result_dmat_2el // if dmat is requested ) { int a = SlaterDetPair->a; int b = SlaterDetPair->b; if(SlaterDetPair->nDiff == 2) { int p = SlaterDetPair->SOs_a[0]; int q = SlaterDetPair->SOs_b[0]; int pos_p = SlaterDetPair->SOs_a_pos[0]; int pos_q = SlaterDetPair->SOs_b_pos[0]; int r = SlaterDetPair->SOs_a[1]; int s = SlaterDetPair->SOs_b[1]; int pos_r = SlaterDetPair->SOs_a_pos[1]; int pos_s = SlaterDetPair->SOs_b_pos[1]; int sign_a = 1; if(pos_p%2 == 1) sign_a *= -1; if(pos_r%2 == 1) sign_a *= -1; if(r > p) sign_a *= -1; int sign_b = 1; if(pos_q%2 == 1) sign_b *= -1; if(pos_s%2 == 1) sign_b *= -1; if(s > q) sign_a *= -1; // OK, we have a contribution ergo_real x = sign_a * sign_b; ergo_real g_pqrs = g_SO->x[p][q][r][s]; ergo_real g_rspq = g_SO->x[r][s][p][q]; ergo_real g_rqps = g_SO->x[r][q][p][s]; ergo_real g_psrq = g_SO->x[p][s][r][q]; ergo_real resultMatrix_ab = 0; resultMatrix_ab += 0.5 * x * g_pqrs; resultMatrix_ab += 0.5 * x * g_rspq; resultMatrix_ab -= 0.5 * x * g_rqps; resultMatrix_ab -= 0.5 * x * g_psrq; ergo_real resultMatrix_ba = resultMatrix_ab; if(resultVector) { resultVector[a] += resultMatrix_ab * sourceVector[b]; resultVector[b] += resultMatrix_ba * sourceVector[a]; } else { ergo_real value = x * sourceVector[a] * sourceVector[b]; result_dmat_2el->x[p][q][r][s] += value; result_dmat_2el->x[q][p][s][r] += value; result_dmat_2el->x[r][s][p][q] += value; result_dmat_2el->x[s][r][q][p] += value; result_dmat_2el->x[r][q][p][s] -= value; result_dmat_2el->x[q][r][s][p] -= value; result_dmat_2el->x[p][s][r][q] -= value; result_dmat_2el->x[s][p][q][r] -= value; } } else if(SlaterDetPair->nDiff == 1) { int p = SlaterDetPair->SOs_a[0]; int q = SlaterDetPair->SOs_b[0]; int pos_p = SlaterDetPair->SOs_a_pos[0]; int pos_q = SlaterDetPair->SOs_b_pos[0]; for(int rr = 0; rr < nEl; rr++) { int r = SlaterDetList[a].SO_list[rr]; if(r == p) continue; int sign_a = 1; if(pos_p%2 == 1) sign_a *= -1; if(rr%2 == 1) sign_a *= -1; if(r > p) sign_a *= -1; for(int ss = 0; ss < nEl; ss++) { int s = SlaterDetList[b].SO_list[ss]; if(s == q) continue; if(s != r) continue; int sign_b = 1; if(pos_q%2 == 1) sign_b *= -1; if(ss%2 == 1) sign_b *= -1; if(s > q) sign_b *= -1; // OK, we have a contribution ergo_real x = sign_a * sign_b; ergo_real g_pqrs = g_SO->x[p][q][r][s]; ergo_real g_rspq = g_SO->x[r][s][p][q]; ergo_real g_rqps = g_SO->x[r][q][p][s]; ergo_real g_psrq = g_SO->x[p][s][r][q]; ergo_real resultMatrix_ab = 0; resultMatrix_ab += 0.5 * x * g_pqrs; resultMatrix_ab += 0.5 * x * g_rspq; resultMatrix_ab -= 0.5 * x * g_rqps; resultMatrix_ab -= 0.5 * x * g_psrq; ergo_real resultMatrix_ba = resultMatrix_ab; if(resultVector) { resultVector[a] += resultMatrix_ab * sourceVector[b]; resultVector[b] += resultMatrix_ba * sourceVector[a]; } else { ergo_real value = x * sourceVector[a] * sourceVector[b]; result_dmat_2el->x[p][q][r][s] += value; result_dmat_2el->x[q][p][r][s] += value; result_dmat_2el->x[r][s][p][q] += value; result_dmat_2el->x[r][s][q][p] += value; result_dmat_2el->x[r][q][p][s] -= value; result_dmat_2el->x[q][r][s][p] -= value; result_dmat_2el->x[p][s][r][q] -= value; result_dmat_2el->x[s][p][q][r] -= value; } } // END FOR ss } // END FOR rr } else { for(int pp = 0; pp < nEl; pp++) { int p = SlaterDetList[a].SO_list[pp]; for(int rr = 0; rr < nEl; rr++) { int r = SlaterDetList[a].SO_list[rr]; int sign_a = 1; if(pp%2 == 1) sign_a *= -1; if(rr%2 == 1) sign_a *= -1; if(pp < rr) sign_a *= -1; int qlist[2]; qlist[0] = pp; qlist[1] = rr; for(int qqq = 0; qqq < 2; qqq++) { int qq = qlist[qqq]; int q = SlaterDetList[b].SO_list[qq]; int slist[2]; slist[0] = pp; slist[1] = rr; for(int sss = 0; sss < 2; sss++) { int ss = slist[sss]; int s = SlaterDetList[b].SO_list[ss]; if(s == q) continue; int sign_b = 1; if(qq%2 == 1) sign_b *= -1; if(ss%2 == 1) sign_b *= -1; if(qq < ss) sign_b *= -1; // OK, we have a contribution ergo_real x = sign_a * sign_b; ergo_real g_pqrs = g_SO->x[p][q][r][s]; ergo_real resultMatrix_ab = 0; resultMatrix_ab += 0.5 * x * g_pqrs; if(resultVector) { resultVector[a] += resultMatrix_ab * sourceVector[b]; } else { ergo_real value = x * sourceVector[a] * sourceVector[b]; result_dmat_2el->x[p][q][r][s] += value; } } // END FOR sss } // END FOR qqq } // END FOR rr } // END FOR pp } // END ELSE } void get_2el_contribs(int nSOs, int nEl, int nSlaterDets, const SlaterDet_struct* SlaterDetList, int nSlaterDetPairs, const SlaterDet_pair_struct* SlaterDet_pair_list, const int* pairCountList, const four_idx_SO_struct* g_SO, ergo_real* resultMatrix) { for(int pairIdx = 0; pairIdx < nSlaterDetPairs; pairIdx++) { int a = SlaterDet_pair_list[pairIdx].a; int b = SlaterDet_pair_list[pairIdx].b; if(SlaterDet_pair_list[pairIdx].nDiff == 2) { int p = SlaterDet_pair_list[pairIdx].SOs_a[0]; int q = SlaterDet_pair_list[pairIdx].SOs_b[0]; int pos_p = SlaterDet_pair_list[pairIdx].SOs_a_pos[0]; int pos_q = SlaterDet_pair_list[pairIdx].SOs_b_pos[0]; int r = SlaterDet_pair_list[pairIdx].SOs_a[1]; int s = SlaterDet_pair_list[pairIdx].SOs_b[1]; int pos_r = SlaterDet_pair_list[pairIdx].SOs_a_pos[1]; int pos_s = SlaterDet_pair_list[pairIdx].SOs_b_pos[1]; int sign_a = 1; if(pos_p%2 == 1) sign_a *= -1; if(pos_r%2 == 1) sign_a *= -1; if(r > p) sign_a *= -1; int sign_b = 1; if(pos_q%2 == 1) sign_b *= -1; if(pos_s%2 == 1) sign_b *= -1; if(s > q) sign_a *= -1; // OK, we have a contribution ergo_real x = sign_a * sign_b; //x *= 2; // To account for a > b case ergo_real g_pqrs = g_SO->x[p][q][r][s]; ergo_real g_rspq = g_SO->x[r][s][p][q]; ergo_real g_rqps = g_SO->x[r][q][p][s]; ergo_real g_psrq = g_SO->x[p][s][r][q]; //printf("2el contrib to a b = %i %i : %22.11f\n", a, b, 0.5 * x * g_pqrs); resultMatrix[a*nSlaterDets+b] += 0.5 * x * g_pqrs; resultMatrix[a*nSlaterDets+b] += 0.5 * x * g_rspq; resultMatrix[a*nSlaterDets+b] -= 0.5 * x * g_rqps; resultMatrix[a*nSlaterDets+b] -= 0.5 * x * g_psrq; resultMatrix[b*nSlaterDets+a] += 0.5 * x * g_pqrs; resultMatrix[b*nSlaterDets+a] += 0.5 * x * g_rspq; resultMatrix[b*nSlaterDets+a] -= 0.5 * x * g_rqps; resultMatrix[b*nSlaterDets+a] -= 0.5 * x * g_psrq; } else if(SlaterDet_pair_list[pairIdx].nDiff == 1) { int p = SlaterDet_pair_list[pairIdx].SOs_a[0]; int q = SlaterDet_pair_list[pairIdx].SOs_b[0]; int pos_p = SlaterDet_pair_list[pairIdx].SOs_a_pos[0]; int pos_q = SlaterDet_pair_list[pairIdx].SOs_b_pos[0]; for(int rr = 0; rr < nEl; rr++) { int r = SlaterDetList[a].SO_list[rr]; if(r == p) continue; int sign_a = 1; if(pos_p%2 == 1) sign_a *= -1; if(rr%2 == 1) sign_a *= -1; if(r > p) sign_a *= -1; for(int ss = 0; ss < nEl; ss++) { int s = SlaterDetList[b].SO_list[ss]; if(s == q) continue; if(s != r) continue; int sign_b = 1; if(pos_q%2 == 1) sign_b *= -1; if(ss%2 == 1) sign_b *= -1; if(s > q) sign_b *= -1; // OK, we have a contribution ergo_real x = sign_a * sign_b; //x *= 2; // To account for a > b case ergo_real g_pqrs = g_SO->x[p][q][r][s]; ergo_real g_rspq = g_SO->x[r][s][p][q]; ergo_real g_rqps = g_SO->x[r][q][p][s]; ergo_real g_psrq = g_SO->x[p][s][r][q]; //printf("2el contrib to a b = %i %i : %22.11f\n", a, b, 0.5 * x * g_pqrs); resultMatrix[a*nSlaterDets+b] += 0.5 * x * g_pqrs; resultMatrix[a*nSlaterDets+b] += 0.5 * x * g_rspq; resultMatrix[a*nSlaterDets+b] -= 0.5 * x * g_rqps; resultMatrix[a*nSlaterDets+b] -= 0.5 * x * g_psrq; resultMatrix[b*nSlaterDets+a] += 0.5 * x * g_pqrs; resultMatrix[b*nSlaterDets+a] += 0.5 * x * g_rspq; resultMatrix[b*nSlaterDets+a] -= 0.5 * x * g_rqps; resultMatrix[b*nSlaterDets+a] -= 0.5 * x * g_psrq; } // END FOR ss } // END FOR rr } else { for(int pp = 0; pp < nEl; pp++) { int p = SlaterDetList[a].SO_list[pp]; for(int rr = 0; rr < nEl; rr++) { int r = SlaterDetList[a].SO_list[rr]; int sign_a = 1; if(pp%2 == 1) sign_a *= -1; if(rr%2 == 1) sign_a *= -1; if(pp < rr) sign_a *= -1; int qlist[2]; qlist[0] = pp; qlist[1] = rr; for(int qqq = 0; qqq < 2; qqq++) { int qq = qlist[qqq]; int q = SlaterDetList[b].SO_list[qq]; int slist[2]; slist[0] = pp; slist[1] = rr; for(int sss = 0; sss < 2; sss++) { int ss = slist[sss]; int s = SlaterDetList[b].SO_list[ss]; if(s == q) continue; int sign_b = 1; if(qq%2 == 1) sign_b *= -1; if(ss%2 == 1) sign_b *= -1; if(qq < ss) sign_b *= -1; // OK, we have a contribution ergo_real x = sign_a * sign_b; ergo_real g_pqrs = g_SO->x[p][q][r][s]; //printf("2el contrib to a b = %i %i : %22.11f\n", a, b, 0.5 * x * g_pqrs); resultMatrix[a*nSlaterDets+b] += 0.5 * x * g_pqrs; //resultMatrix[b*nSlaterDets+a] += 0.5 * x * g_pqrs; } // END FOR sss } // END FOR qqq } // END FOR rr } // END FOR pp } // END ELSE } // END FOR pair } int get_1e_density_matrix(int nSOs, int nEl, two_idx_SO_struct* D, int nSlaterDets, const SlaterDet_struct* SlaterDetList, const ergo_real* coeffList) { int p, q; for(p = 0; p < nSOs; p++) for(q = 0; q < nSOs; q++) { // Compute element pq ergo_real sum = 0; int a, b; for(a = 0; a < nSlaterDets; a++) for(b = 0; b < nSlaterDets; b++) { int i, count, savedCount; int sign = 1; // annihilate p from a char SO_list_mod_a_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(i = 0; i < nEl; i++) { if(SlaterDetList[a].SO_list[i] == p) savedCount = count; else { SO_list_mod_a_1[count] = SlaterDetList[a].SO_list[i]; count++; if(savedCount < 0) sign *= -1; } } if(savedCount < 0) continue; // annihilate q from b char SO_list_mod_b_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(i = 0; i < nEl; i++) { if(SlaterDetList[b].SO_list[i] == q) savedCount = count; else { SO_list_mod_b_1[count] = SlaterDetList[b].SO_list[i]; count++; if(savedCount < 0) sign *= -1; } } if(savedCount < 0) continue; int equal = 1; for(i = 0; i < nEl-1; i++) { if(SO_list_mod_a_1[i] != SO_list_mod_b_1[i]) equal = 0; } if(equal) sum += sign * coeffList[a] * coeffList[b]; } // END FOR a b D->x[p][q] = sum; } // END FOR p q // Verify symmetry for(p = 0; p < nSOs; p++) for(q = 0; q < nSOs; q++) { if(std::fabs(D->x[p][q] - D->x[q][p]) > 1e-9) printf("ERROR 11!\n"); } ergo_real sum = 0; for(p = 0; p < nSOs; p++) sum += D->x[p][p]; return 0; } int get_2e_density_matrix(int nSOs, int nEl, four_idx_SO_struct* d, int nSlaterDets, const SlaterDet_struct* SlaterDetList, const ergo_real* coeffList) { int p, q, r, s; int a, b; for(p = 0; p < nSOs; p++) for(r = 0; r < nSOs; r++) for(a = 0; a < nSlaterDets; a++) { int i, count, savedCount; int sign1 = 1; // annihilate p from a char SO_list_mod_a_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(i = 0; i < nEl; i++) { if(SlaterDetList[a].SO_list[i] == p) savedCount = count; else { SO_list_mod_a_1[count] = SlaterDetList[a].SO_list[i]; count++; if(savedCount < 0) sign1 *= -1; } } if(savedCount < 0) continue; // annihilate r from a char SO_list_mod_a_2[MAX_ELECTRONS]; count = 0; savedCount = -1; for(i = 0; i < nEl-1; i++) { if(SO_list_mod_a_1[i] == r) savedCount = count; else { SO_list_mod_a_2[count] = SO_list_mod_a_1[i]; count++; if(savedCount < 0) sign1 *= -1; } } if(savedCount < 0) continue; for(q = 0; q < nSOs; q++) for(s = 0; s < nSOs; s++) for(b = 0; b < nSlaterDets; b++) { int sign = sign1; // annihilate q from b char SO_list_mod_b_1[MAX_ELECTRONS]; count = 0; savedCount = -1; for(i = 0; i < nEl; i++) { if(SlaterDetList[b].SO_list[i] == q) savedCount = count; else { SO_list_mod_b_1[count] = SlaterDetList[b].SO_list[i]; count++; if(savedCount < 0) sign *= -1; } } if(savedCount < 0) continue; // annihilate s from b char SO_list_mod_b_2[MAX_ELECTRONS]; count = 0; savedCount = -1; for(i = 0; i < nEl-1; i++) { if(SO_list_mod_b_1[i] == s) savedCount = count; else { SO_list_mod_b_2[count] = SO_list_mod_b_1[i]; count++; if(savedCount < 0) sign *= -1; } } if(savedCount < 0) continue; int equal = 1; for(i = 0; i < nEl-2; i++) { if(SO_list_mod_a_2[i] != SO_list_mod_b_2[i]) equal = 0; } if(equal) d->x[p][q][r][s] += sign * coeffList[a] * coeffList[b]; } // END FOR q s b } // END FOR p r a //printf("d done\n"); // Verify symmetry for(p = 0; p < nSOs; p++) for(q = 0; q < nSOs; q++) for(r = 0; r < nSOs; r++) for(s = 0; s < nSOs; s++) { if(std::fabs(d->x[p][q][r][s] - d->x[r][s][p][q]) > 1e-9) printf("ERROR 1!"); if(std::fabs(d->x[p][q][r][s] + d->x[r][q][p][s]) > 1e-9) printf("ERROR 2!"); if(std::fabs(d->x[p][q][r][s] + d->x[p][s][r][q]) > 1e-9) printf("ERROR 3!"); if(std::fabs(d->x[p][q][p][s]) > 1e-9) printf("ERROR 4!"); if(std::fabs(d->x[p][q][r][q]) > 1e-9) printf("ERROR 5!"); if(std::fabs(d->x[p][q][p][q]) > 1e-9) printf("ERROR 6!"); } return 0; } ergo_real get_CI_energy(int nSOs, int nEl, const four_idx_SO_struct* g_SO, const two_idx_SO_struct* h_SO, int nSlaterDets, const SlaterDet_struct* SlaterDetList, const ergo_real* coeffList, ergo_real nuclearEnergy) { two_idx_SO_struct* D = new two_idx_SO_struct; four_idx_SO_struct* d = new four_idx_SO_struct; get_1e_density_matrix(nSOs, nEl, D, nSlaterDets, SlaterDetList, coeffList); get_2e_density_matrix(nSOs, nEl, d, nSlaterDets, SlaterDetList, coeffList); int p, q, r, s; ergo_real energy_1el = 0; for(p = 0; p < nSOs; p++) for(q = 0; q < nSOs; q++) energy_1el += D->x[p][q] * h_SO->x[p][q]; ergo_real energy_2el = 0; for(p = 0; p < nSOs; p++) for(q = 0; q < nSOs; q++) for(r = 0; r < nSOs; r++) for(s = 0; s < nSOs; s++) energy_2el += 0.5 * d->x[p][q][r][s] * g_SO->x[p][q][r][s]; delete D; delete d; return energy_1el + energy_2el + nuclearEnergy; } void get_CI_energy_and_gradient(int nSOs, int nEl, const four_idx_SO_struct* g_SO, const two_idx_SO_struct* h_SO, int nSlaterDets, const SlaterDet_struct* SlaterDetList, int nSlaterDetPairs, const SlaterDet_pair_struct* SlaterDet_pair_list, const int* pairCountList, int noOfTrialVectors, ergo_real* energyList, ergo_real** coeffListList, ergo_real** gradientList, ergo_real nuclearEnergy) { ergo_real* gradient_1el_list[88]; for(int i = 0; i < noOfTrialVectors; i++) gradient_1el_list[i] = new ergo_real[nSlaterDets]; ergo_real energy_1el_list[88]; get_1el_energy_and_gradient(nSOs, nEl, nSlaterDets, SlaterDetList, nSlaterDetPairs, SlaterDet_pair_list, pairCountList, noOfTrialVectors, energy_1el_list, coeffListList, h_SO, gradient_1el_list); do_output(LOG_CAT_INFO, LOG_AREA_CI, "1-electron part done"); //printf("energy_1el_list[0] = %22.11f\n", energy_1el_list[0]); ergo_real* gradient_2el_list[88]; for(int i = 0; i < noOfTrialVectors; i++) gradient_2el_list[i] = new ergo_real[nSlaterDets]; ergo_real energy_2el_list[88]; get_2el_energy_and_gradient(nSOs, nEl, nSlaterDets, SlaterDetList, nSlaterDetPairs, SlaterDet_pair_list, pairCountList, noOfTrialVectors, energy_2el_list, coeffListList, g_SO, gradient_2el_list); do_output(LOG_CAT_INFO, LOG_AREA_CI, "2-electron part done"); // Take into account that we want the derivative when the sum of squares is fixed. for(int k = 0; k < noOfTrialVectors; k++) for(int i = 0; i < nSlaterDets; i++) gradientList[k][i] = gradient_1el_list[k][i] + gradient_2el_list[k][i] - 2 * (energy_1el_list[k] + energy_2el_list[k]) * coeffListList[k][i]; for(int k = 0; k < noOfTrialVectors; k++) { delete gradient_1el_list[k]; delete gradient_2el_list[k]; } for(int k = 0; k < noOfTrialVectors; k++) energyList[k] = energy_1el_list[k] + energy_2el_list[k] + nuclearEnergy; } void mult_by_CI_matrix(int nSOs, int nEl, const four_idx_SO_struct* g_SO, const two_idx_SO_struct* h_SO, int nSlaterDets, const SlaterDet_struct* SlaterDetList, int nSlaterDetPairs, const SlaterDet_pair_struct* SlaterDet_pair_list, const int* pairCountList, const ergo_real* sourceVector, ergo_real* resultVector, ergo_real shift) { memset(resultVector, 0, nSlaterDets*sizeof(ergo_real)); for(int i = 0; i < nSlaterDetPairs; i++) { get_1el_contribs_to_mult_or_dmat(nSOs, nEl, nSlaterDets, SlaterDetList, &SlaterDet_pair_list[i], h_SO, sourceVector, resultVector, NULL); get_2el_contribs_to_mult_or_dmat(nSOs, nEl, nSlaterDets, SlaterDetList, &SlaterDet_pair_list[i], g_SO, sourceVector, resultVector, NULL); } // END FOR i // Apply shift for(int i = 0; i < nSlaterDets; i++) resultVector[i] -= shift * sourceVector[i]; } void get_CI_matrix(int nSOs, int nEl, const four_idx_SO_struct* g_SO, const two_idx_SO_struct* h_SO, int nSlaterDets, const SlaterDet_struct* SlaterDetList, int nSlaterDetPairs, const SlaterDet_pair_struct* SlaterDet_pair_list, const int* pairCountList, ergo_real* resultMatrix) { memset(resultMatrix, 0, nSlaterDets*nSlaterDets*sizeof(ergo_real)); get_1el_contribs(nSOs, nEl, nSlaterDets, SlaterDetList, nSlaterDetPairs, SlaterDet_pair_list, pairCountList, h_SO, resultMatrix); get_2el_contribs(nSOs, nEl, nSlaterDets, SlaterDetList, nSlaterDetPairs, SlaterDet_pair_list, pairCountList, g_SO, resultMatrix); } int get_combinations(SlaterDet_struct* SlaterDetList, int nEl, int nSOs) { if(nEl == 0) return 1; int list[MAX_SOS]; memset(list, 0, MAX_SOS * sizeof(int)); int i; for(i = 0; i < nEl; i++) list[i] = i; int finishedFlag = 0; int count = 0; while(finishedFlag == 0) { if(SlaterDetList) { // Create det for current configuration for(i = 0; i < nEl; i++) SlaterDetList[count].SO_list[i] = list[i]; } count++; // Move to next configuration int breakFlag = 0; int level = nEl - 1; while(breakFlag == 0) { // Check if value at current level can be increased if(list[level] < nSOs-(nEl-level)) { // OK, increase value list[level]++; // Set all values at higher levels as low as possible for(i = level+1; i < nEl; i++) list[i] = list[i-1] + 1; breakFlag = 1; } else { // Go to next level level--; } if(level < 0) { breakFlag = 1; finishedFlag = 1; } } } return count; } int get_FCI_Slater_dets_alpha_beta(SlaterDet_struct* SlaterDetList, int nEl_a, int nEl_b, int nSOs) { int nCombs_a = get_combinations(NULL, nEl_a, nSOs/2); do_output(LOG_CAT_INFO, LOG_AREA_CI, "get_FCI_Slater_dets_alpha_beta, nCombs_a = %9i", nCombs_a); SlaterDet_struct* SlaterDetList_a = new SlaterDet_struct[nCombs_a]; get_combinations(SlaterDetList_a, nEl_a, nSOs/2); int nCombs_b = get_combinations(NULL, nEl_b, nSOs/2); do_output(LOG_CAT_INFO, LOG_AREA_CI, "get_FCI_Slater_dets_alpha_beta, nCombs_b = %9i", nCombs_b); SlaterDet_struct* SlaterDetList_b = new SlaterDet_struct[nCombs_b]; get_combinations(SlaterDetList_b, nEl_b, nSOs/2); int count = 0; int ia, ib; for(ia = 0; ia < nCombs_a; ia++) for(ib = 0; ib < nCombs_b; ib++) { if(SlaterDetList) { for(int i = 0; i < nEl_a; i++) SlaterDetList[count].SO_list[i] = SlaterDetList_a[ia].SO_list[i]; for(int i = 0; i < nEl_b; i++) SlaterDetList[count].SO_list[nEl_a+i] = nSOs / 2 + SlaterDetList_b[ib].SO_list[i]; SlaterDetList[count].startIndex = -1; SlaterDetList[count].count = 0; } count++; } delete [] SlaterDetList_a; delete [] SlaterDetList_b; return count; } int get_FCI_Slater_dets_all(SlaterDet_struct* SlaterDetList, int nElTot, int nSOs) { return get_combinations(SlaterDetList, nElTot, nSOs); } static ergo_real rand_m1_to_1() { ergo_real randomNumber = (ergo_real)rand() / RAND_MAX; // Now randomNumber is between 0 and 1 randomNumber *= 2; // Now randomNumber is between 0 and 2 randomNumber -= 1; // Now randomNumber is between -1 and 1 return randomNumber; } typedef struct { int aDiffList[2]; int bDiffList[2]; int aDiffPosList[2]; int bDiffPosList[2]; } pair_status_struct; void get_relevant_SlaterDet_pairs_recursive_do_mult_or_dmat(SlaterDet_struct** groupList, int nEl, int level, int groupIdx1, int groupIdx2, int ia, int ib, int aDiffCount, int bDiffCount, pair_status_struct* status, int nSOs, int nSlaterDets, const SlaterDet_struct* SlaterDetList, const four_idx_SO_struct* g_SO, const two_idx_SO_struct* h_SO, const ergo_real* sourceVector, ergo_real* resultVector, two_idx_SO_struct* result_dmat_1el, four_idx_SO_struct* result_dmat_2el ) { if(groupIdx1 > groupIdx2) return; if(ia != level-1 && ib != level-1 && level != 0) throw "Error in CI: (ia != level && ib != level)"; // ia or ib or both point to an electron at this level. const SlaterDet_struct* group_1 = &groupList[level][groupIdx1]; const SlaterDet_struct* group_2 = &groupList[level][groupIdx2]; if(level == nEl) { // final level while(ia < level || ib < level) { if(ia == nEl) { // Only b left, must be diff if(bDiffCount == 2) return; status->bDiffList[bDiffCount] = group_2->SO_list[ib]; status->bDiffPosList[bDiffCount] = ib; bDiffCount++; ib++; continue; } if(ib == nEl) { // Only a left, must be diff if(aDiffCount == 2) return; status->aDiffList[aDiffCount] = group_1->SO_list[ia]; status->aDiffPosList[aDiffCount] = ia; aDiffCount++; ia++; continue; } while(ia < level && ib < level) { if(group_1->SO_list[ia] == group_2->SO_list[ib]) { ia++; ib++; } else if(group_1->SO_list[ia] > group_2->SO_list[ib]) { if(bDiffCount == 2) return; status->bDiffList[bDiffCount] = group_2->SO_list[ib]; status->bDiffPosList[bDiffCount] = ib; bDiffCount++; ib++; } else { if(aDiffCount == 2) return; status->aDiffList[aDiffCount] = group_1->SO_list[ia]; status->aDiffPosList[aDiffCount] = ia; aDiffCount++; ia++; } } // END WHILE } // END WHILE // Do contribution to matrix-vector multiplication. SlaterDet_pair_struct SlaterDetPair; SlaterDetPair.a = groupIdx1; SlaterDetPair.b = groupIdx2; SlaterDetPair.nDiff = aDiffCount; for(int i = 0; i < aDiffCount; i++) { SlaterDetPair.SOs_a[i] = status->aDiffList[i]; SlaterDetPair.SOs_b[i] = status->bDiffList[i]; SlaterDetPair.SOs_a_pos[i] = status->aDiffPosList[i]; SlaterDetPair.SOs_b_pos[i] = status->bDiffPosList[i]; } get_1el_contribs_to_mult_or_dmat(nSOs, nEl, nSlaterDets, SlaterDetList, &SlaterDetPair, h_SO, sourceVector, resultVector, result_dmat_1el); get_2el_contribs_to_mult_or_dmat(nSOs, nEl, nSlaterDets, SlaterDetList, &SlaterDetPair, g_SO, sourceVector, resultVector, result_dmat_2el); return; } // END IF final level if(level > 0) { while(ia < level && ib < level) { if(group_1->SO_list[ia] == group_2->SO_list[ib]) { ia++; ib++; } else if(group_1->SO_list[ia] > group_2->SO_list[ib]) { if(bDiffCount == 2) return; status->bDiffList[bDiffCount] = group_2->SO_list[ib]; status->bDiffPosList[bDiffCount] = ib; bDiffCount++; ib++; } else { if(aDiffCount == 2) return; status->aDiffList[aDiffCount] = group_1->SO_list[ia]; status->aDiffPosList[aDiffCount] = ia; aDiffCount++; ia++; } } // END WHILE } // END IF level > 0 // No, we could not skip. Go to next level. for(int i = 0; i < group_1->count; i++) for(int j = 0; j < group_2->count; j++) { get_relevant_SlaterDet_pairs_recursive_do_mult_or_dmat(groupList, nEl, level+1, group_1->startIndex + i, group_2->startIndex + j, ia, ib, aDiffCount, bDiffCount, status, nSOs, nSlaterDets, SlaterDetList, g_SO, h_SO, sourceVector, resultVector, result_dmat_1el, result_dmat_2el ); } // END FOR i j return; } void mult_by_CI_matrix_direct(int nSOs, int nEl, const four_idx_SO_struct* g_SO, const two_idx_SO_struct* h_SO, int nSlaterDets, const SlaterDet_struct* SlaterDetList, SlaterDet_struct** groupList, const ergo_real* sourceVector, ergo_real* resultVector, ergo_real shift) { memset(resultVector, 0, nSlaterDets*sizeof(ergo_real)); pair_status_struct status; memset(&status, 0, sizeof(pair_status_struct)); get_relevant_SlaterDet_pairs_recursive_do_mult_or_dmat(groupList, nEl, 0, 0, 0, 0, 0, 0, 0, &status, nSOs, nSlaterDets, SlaterDetList, g_SO, h_SO, sourceVector, resultVector, NULL, NULL ); // Apply shift for(int i = 0; i < nSlaterDets; i++) resultVector[i] -= shift * sourceVector[i]; } static ergo_real get_SlaterDet_energy(int nSOs, int nEl, const four_idx_SO_struct* g_SO, const two_idx_SO_struct* h_SO, const SlaterDet_struct* SlaterDet) { // Create "Slater det pair" consisting of this determinant paired with itself. SlaterDet_pair_struct SlaterDetPair; SlaterDetPair.a = 0; SlaterDetPair.b = 0; SlaterDetPair.nDiff = 0; const int nSlaterDets = 1; ergo_real sourceVector[1]; ergo_real resultVector[1]; sourceVector[0] = 1.0; resultVector[0] = 0.0; get_1el_contribs_to_mult_or_dmat(nSOs, nEl, nSlaterDets, SlaterDet, &SlaterDetPair, h_SO, sourceVector, resultVector, NULL); get_2el_contribs_to_mult_or_dmat(nSOs, nEl, nSlaterDets, SlaterDet, &SlaterDetPair, g_SO, sourceVector, resultVector, NULL); return resultVector[0]; } int get_relevant_SlaterDet_pairs_recursive_2(SlaterDet_struct** groupList, int nEl, SlaterDet_pair_struct* resultList, int level, int groupIdx1, int groupIdx2, int ia, int ib, int aDiffCount, int bDiffCount, pair_status_struct* status) { if(groupIdx1 > groupIdx2) return 0; if(ia != level-1 && ib != level-1 && level != 0) throw "Error in CI: (ia != level && ib != level)"; // ia or ib or both point to an electron at this level. SlaterDet_struct* group_1 = &groupList[level][groupIdx1]; SlaterDet_struct* group_2 = &groupList[level][groupIdx2]; if(level == nEl) { // final level while(ia < level || ib < level) { if(ia == nEl) { // Only b left, must be diff if(bDiffCount == 2) return 0; status->bDiffList[bDiffCount] = group_2->SO_list[ib]; status->bDiffPosList[bDiffCount] = ib; bDiffCount++; ib++; continue; } if(ib == nEl) { // Only a left, must be diff if(aDiffCount == 2) return 0; status->aDiffList[aDiffCount] = group_1->SO_list[ia]; status->aDiffPosList[aDiffCount] = ia; aDiffCount++; ia++; continue; } while(ia < level && ib < level) { if(group_1->SO_list[ia] == group_2->SO_list[ib]) { ia++; ib++; } else if(group_1->SO_list[ia] > group_2->SO_list[ib]) { if(bDiffCount == 2) return 0; status->bDiffList[bDiffCount] = group_2->SO_list[ib]; status->bDiffPosList[bDiffCount] = ib; bDiffCount++; ib++; } else { if(aDiffCount == 2) return 0; status->aDiffList[aDiffCount] = group_1->SO_list[ia]; status->aDiffPosList[aDiffCount] = ia; aDiffCount++; ia++; } } // END WHILE } // END WHILE if(resultList) { resultList[0].a = groupIdx1; resultList[0].b = groupIdx2; resultList[0].nDiff = aDiffCount; for(int i = 0; i < aDiffCount; i++) { resultList[0].SOs_a[i] = status->aDiffList[i]; resultList[0].SOs_b[i] = status->bDiffList[i]; resultList[0].SOs_a_pos[i] = status->aDiffPosList[i]; resultList[0].SOs_b_pos[i] = status->bDiffPosList[i]; } } return 1; } // END IF final level if(level > 0) { while(ia < level && ib < level) { if(group_1->SO_list[ia] == group_2->SO_list[ib]) { ia++; ib++; } else if(group_1->SO_list[ia] > group_2->SO_list[ib]) { if(bDiffCount == 2) return 0; status->bDiffList[bDiffCount] = group_2->SO_list[ib]; status->bDiffPosList[bDiffCount] = ib; bDiffCount++; ib++; } else { if(aDiffCount == 2) return 0; status->aDiffList[aDiffCount] = group_1->SO_list[ia]; status->aDiffPosList[aDiffCount] = ia; aDiffCount++; ia++; } } // END WHILE } // END IF level > 0 // No, we could not skip. Go to next level. int count = 0; for(int i = 0; i < group_1->count; i++) for(int j = 0; j < group_2->count; j++) { SlaterDet_pair_struct* resultListPtr = NULL; if(resultList) resultListPtr = &resultList[count]; int currCount = get_relevant_SlaterDet_pairs_recursive_2(groupList, nEl, resultListPtr, level+1, group_1->startIndex + i, group_2->startIndex + j, ia, ib, aDiffCount, bDiffCount, status); count += currCount; } // END FOR i j return count; } int get_relevant_SlaterDet_pairs_recursive(int nSlaterDets, SlaterDet_struct* SlaterDetList, SlaterDet_struct** groupList, int nEl, SlaterDet_pair_struct* resultList, int level, int groupIdx1, int groupIdx2) { //printf("get_relevant_SlaterDet_pairs_recursive, level = %i\n", level); // Check if this pair of groups can be skipped. SlaterDet_struct* group_1 = &groupList[level][groupIdx1]; SlaterDet_struct* group_2 = &groupList[level][groupIdx2]; if(level < nEl) { int nSame = 0; int ia = 0; int ib = 0; int aDiffCount = 0; int bDiffCount = 0; //int aDiffList[MAX_SOS]; //int bDiffList[MAX_SOS]; //int aDiffPosList[MAX_SOS]; //int bDiffPosList[MAX_SOS]; while(ia < level && ib < level) { if(group_1->SO_list[ia] == group_2->SO_list[ib]) { nSame++; ia++; ib++; } else { if(group_1->SO_list[ia] > group_2->SO_list[ib]) { //bDiffList[bDiffCount] = group_2->SO_list[ib]; //bDiffPosList[bDiffCount] = ib; bDiffCount++; if(bDiffCount > 2) break; ib++; } else { //aDiffList[aDiffCount] = group_1->SO_list[ia]; //aDiffPosList[aDiffCount] = ia; aDiffCount++; if(aDiffCount > 2) break; ia++; } } } if(aDiffCount > 2 || bDiffCount > 2) { //printf("aDiffCount = %i bDiffCount = %i level = %i\n", aDiffCount, bDiffCount, level); return 0; } // No, we could not skip. Go to next level. int count = 0; for(int i = 0; i < group_1->count; i++) for(int j = 0; j < group_2->count; j++) { SlaterDet_pair_struct* resultListPtr = NULL; if(resultList) resultListPtr = &resultList[count]; int currCount = get_relevant_SlaterDet_pairs_recursive(nSlaterDets, SlaterDetList, groupList, nEl, resultListPtr, level+1, group_1->startIndex + i, group_2->startIndex + j); count += currCount; } // END FOR i j return count; } // END IF level < nEl // We are at lowest level. //printf("lowest level!\n"); int a = groupIdx1; int b = groupIdx2; if(b < a) return 0; int nSame = 0; int ia = 0; int ib = 0; int aDiffCount = 0; int bDiffCount = 0; int aDiffList[MAX_SOS]; int bDiffList[MAX_SOS]; int aDiffPosList[MAX_SOS]; int bDiffPosList[MAX_SOS]; //printf("ia ib loop starting.\n"); while(ia < nEl || ib < nEl) { if(ia == nEl) { // Only b left, must be diff bDiffList[bDiffCount] = SlaterDetList[b].SO_list[ib]; bDiffPosList[bDiffCount] = ib; bDiffCount++; ib++; continue; } if(ib == nEl) { // Only a left, must be diff aDiffList[aDiffCount] = SlaterDetList[a].SO_list[ia]; aDiffPosList[aDiffCount] = ia; aDiffCount++; ia++; continue; } if(SlaterDetList[a].SO_list[ia] == SlaterDetList[b].SO_list[ib]) { nSame++; ia++; ib++; } else { if(SlaterDetList[a].SO_list[ia] > SlaterDetList[b].SO_list[ib]) { bDiffList[bDiffCount] = SlaterDetList[b].SO_list[ib]; bDiffPosList[bDiffCount] = ib; bDiffCount++; if(bDiffCount > 2) break; ib++; } else { aDiffList[aDiffCount] = SlaterDetList[a].SO_list[ia]; aDiffPosList[aDiffCount] = ia; aDiffCount++; if(aDiffCount > 2) break; ia++; } } } if(nSame >= nEl - 2) { if(resultList) { int pairCount = 0; resultList[pairCount].a = a; resultList[pairCount].b = b; resultList[pairCount].nDiff = aDiffCount; for(int i = 0; i < 2; i++) { resultList[pairCount].SOs_a[i] = -1; resultList[pairCount].SOs_b[i] = -1; resultList[pairCount].SOs_a_pos[i] = -1; resultList[pairCount].SOs_b_pos[i] = -1; } for(int i = 0; i < aDiffCount; i++) { resultList[pairCount].SOs_a[i] = aDiffList[i]; resultList[pairCount].SOs_b[i] = bDiffList[i]; resultList[pairCount].SOs_a_pos[i] = aDiffPosList[i]; resultList[pairCount].SOs_b_pos[i] = bDiffPosList[i]; } } return 1; } else { return 0; } } int get_relevant_SlaterDet_pairs(int nSlaterDets, SlaterDet_struct* SlaterDetList, SlaterDet_struct** groupList, int nEl, SlaterDet_pair_struct* resultList) { pair_status_struct status; memset(&status, 0, sizeof(pair_status_struct)); return get_relevant_SlaterDet_pairs_recursive_2(groupList, nEl, resultList, 0, 0, 0, 0, 0, 0, 0, &status); } ergo_real get_eigs(int n, ergo_real* M, ergo_real* bestVector, ergo_real* eigValListResult) { int lwork = 3*n*n; ergo_real* work = new ergo_real[lwork]; ergo_real* eigvalList = new ergo_real[n]; ergo_real* A = new ergo_real[n*n]; memcpy(A, M, n*n*sizeof(ergo_real)); int info = 0; mat::syev("V", "U", &n, A, &n, eigvalList, work, &lwork, &info); if(info != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_CI, "error in syev, info = %i", info); exit(0); } if(bestVector) { for(int i = 0; i < n; i++) bestVector[i] = A[0*n+i]; } if(eigValListResult) { for(int i = 0; i < n; i++) eigValListResult[i] = eigvalList[i]; } ergo_real result = eigvalList[0]; delete [] work; delete [] eigvalList; delete [] A; return result; } int get_Lowdin_orbitals(int n, const ergo_real* S, ergo_real* MOs) { int lwork = 3*n*n; ergo_real* work = new ergo_real[lwork]; ergo_real* eigvalList = new ergo_real[n]; ergo_real* A = new ergo_real[n*n]; memcpy(A, S, n*n*sizeof(ergo_real)); int info = 0; mat::syev("V", "U", &n, A, &n, eigvalList, work, &lwork, &info); if(info != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_CI, "error in syev, info = %i", info); exit(0); } for(int i = 0; i < n; i++) { assert(eigvalList[i] > 0); } for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { ergo_real sum = 0; for(int k = 0; k < n; k++) sum += A[k*n+i] * A[k*n+j] * (1.0 / std::sqrt(eigvalList[k])); MOs[i*n+j] = sum; } return 0; } struct MatVecMul { int nEl; int nSOs; int nSlaterDets; const four_idx_SO_struct* g_SO; const two_idx_SO_struct* h_SO; const SlaterDet_struct* SlaterDetList; SlaterDet_struct** groupList; ergo_real shift; void do_mat_vec_mul(int n, const ergo_real* sourceVector, ergo_real* resultVector) const { mult_by_CI_matrix_direct(nSOs, nEl, g_SO, h_SO, nSlaterDets, SlaterDetList, groupList, sourceVector, resultVector, shift); } }; int do_power_method(int n, ergo_real* A, ergo_real* v) { ergo_real* v2 = new ergo_real[n]; int iter = 0; while(1) { iter++; normalize_vector(n, v); for(int i = 0; i < n; i++) { ergo_real sum = 0; for(int j = 0; j < n; j++) sum += A[i*n+j] * v[j]; v2[i] = sum; } // END FOR i ergo_real norm = get_vector_norm(n, v2); do_output(LOG_CAT_INFO, LOG_AREA_CI, "power method, iter = %5i, norm = %22.11f", iter, (double)norm); for(int i = 0; i < n; i++) v[i] = v2[i]; } // END WHILE return 0; } struct pqrs_struct { int p; int q; int r; int s; void assign(int pp, int qq, int rr, int ss) { p = pp; q = qq; r = rr; s = ss; } int compare(int pp, int qq, int rr, int ss) { if(pp == p && qq == q && rr == r && ss == s) return 0; else return -1; } }; int do_CI( const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const CI::Options& options, const Molecule & molecule, const ergo_real* S, const ergo_real* h_AO, const ergo_real* F_a, const ergo_real* F_b, int n_el_a, int n_el_b, ergo_real nuclearEnergy, ergo_real HF_energy ) { int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_CI, "do_CI, n = %3i, HF_energy = %22.11f", n, (double)HF_energy); if(n > MAX_AOS) { do_output(LOG_CAT_ERROR, LOG_AREA_CI, "Error in do_CI: (n > MAX_AOS)."); return -1; } output_current_memory_usage(LOG_AREA_CI, "beginning of do_CI"); // Use basisInfo to get g_AO four_idx_AO_struct* g_AO = new four_idx_AO_struct; int p, q, r, s; for(p = 0; p < n; p++) for(q = 0; q < n; q++) for(r = 0; r < n; r++) for(s = 0; s < n; s++) { g_AO->x[p][q][r][s] = do_2e_integral(p, q, r, s, basisInfo, integralInfo); } do_output(LOG_CAT_INFO, LOG_AREA_CI, "g_AO done"); ergo_real* MOs_a = new ergo_real[n*n]; ergo_real* MOs_b = new ergo_real[n*n]; ergo_real* eigv_a = new ergo_real[n]; ergo_real* eigv_b = new ergo_real[n]; if(options.use_random_orbitals == 1) { do_output(LOG_CAT_INFO, LOG_AREA_CI, "Using random orbitals, different for alpha and beta."); ergo_real* F_random = new ergo_real[n*n]; for(p = 0; p < n*n; p++) F_random[p] = rand_m1_to_1(); get_F_orbs(n, F_random, S, MOs_a, eigv_a); for(p = 0; p < n*n; p++) F_random[p] = rand_m1_to_1(); get_F_orbs(n, F_random, S, MOs_b, eigv_b); } else if(options.use_lowdin_orbitals == 1) { do_output(LOG_CAT_INFO, LOG_AREA_CI, "Using Lowdin orbitals, same for alpha and beta."); get_Lowdin_orbitals(n, S, MOs_a); get_Lowdin_orbitals(n, S, MOs_b); } else { do_output(LOG_CAT_INFO, LOG_AREA_CI, "Using HF orbitals obtained from alpha and beta Fock matrices."); get_F_orbs(n, F_a, S, MOs_a, eigv_a); get_F_orbs(n, F_b, S, MOs_b, eigv_b); } do_output(LOG_CAT_INFO, LOG_AREA_CI, "MOs_a MOs_b done."); int nSOs = 2 * n; SO_struct* SOs = new SO_struct[nSOs]; int count = 0; int i; // ALPHA for(i = 0; i < n; i++) { SOs[count].spin = SPIN_A; int j; for(j = 0; j < n; j++) SOs[count].coeffs[j] = MOs_a[i*n+j]; count++; } // BETA for(i = 0; i < n; i++) { SOs[count].spin = SPIN_B; int j; for(j = 0; j < n; j++) SOs[count].coeffs[j] = MOs_b[i*n+j]; count++; } do_output(LOG_CAT_INFO, LOG_AREA_CI, "SOs done."); four_idx_SO_struct* g_SO = new four_idx_SO_struct; for(p = 0; p < nSOs; p++) for(q = 0; q < nSOs; q++) for(r = 0; r < nSOs; r++) for(s = 0; s < nSOs; s++) { ergo_real value = 0; if(SOs[p].spin == SOs[q].spin && SOs[r].spin == SOs[s].spin) { int a, b, c, d; for(a = 0; a < n; a++) for(b = 0; b < n; b++) for(c = 0; c < n; c++) for(d = 0; d < n; d++) value += SOs[p].coeffs[a] * SOs[q].coeffs[b] * SOs[r].coeffs[c] * SOs[s].coeffs[d] * g_AO->x[a][b][c][d]; } g_SO->x[p][q][r][s] = value; } do_output(LOG_CAT_INFO, LOG_AREA_CI, "g_SO done"); two_idx_SO_struct* h_SO = new two_idx_SO_struct; for(p = 0; p < nSOs; p++) for(q = 0; q < nSOs; q++) { ergo_real value = 0; if(SOs[p].spin == SOs[q].spin) { int a, b; for(a = 0; a < n; a++) for(b = 0; b < n; b++) value += SOs[p].coeffs[a] * SOs[q].coeffs[b] * h_AO[a*n+b]; } h_SO->x[p][q] = value; } do_output(LOG_CAT_INFO, LOG_AREA_CI, "h_SO done."); do_output(LOG_CAT_INFO, LOG_AREA_CI, "n_el_a = %2i, n_el_b = %2i", n_el_a, n_el_b); int nElTot = n_el_a + n_el_b; if(nElTot > MAX_ELECTRONS) { do_output(LOG_CAT_ERROR, LOG_AREA_CI, "Error in do_CI: (nElTot > MAX_ELECTRONS)."); return -1; } int nSlaterDets1 = get_FCI_Slater_dets_alpha_beta(NULL, n_el_a, n_el_b, nSOs); SlaterDet_struct* SlaterDetList1 = new SlaterDet_struct[nSlaterDets1]; get_FCI_Slater_dets_alpha_beta(SlaterDetList1, n_el_a, n_el_b, nSOs); do_output(LOG_CAT_INFO, LOG_AREA_CI, "Slater determinants done, nSlaterDets = %5i", nSlaterDets1); do_output(LOG_CAT_INFO, LOG_AREA_CI, "Computing energy for each Slater determinant, nSlaterDets = %9i.", nSlaterDets1); std::vector SlaterDetEnergyList(nSlaterDets1); for(int i = 0; i < nSlaterDets1; i++) { SlaterDetEnergyList[i] = get_SlaterDet_energy(nSOs, nElTot, g_SO, h_SO, &SlaterDetList1[i]); } SlaterDet_struct* SlaterDetList = new SlaterDet_struct[nSlaterDets1]; int nSlaterDets; if(options.use_energy_diff_limit == 1) { do_output(LOG_CAT_INFO, LOG_AREA_CI, "Selecting Slater dets using energy_diff_limit = %9.5f.", (double)options.energy_diff_limit); int detCount = 0; for(int i = 0; i < nSlaterDets1; i++) { if(SlaterDetEnergyList[i] + nuclearEnergy - HF_energy < options.energy_diff_limit) { SlaterDetList[detCount] = SlaterDetList1[i]; detCount++; } } nSlaterDets = detCount; do_output(LOG_CAT_INFO, LOG_AREA_CI, "Selected Slater dets low enough in energy, nSlaterDets = %9i.", nSlaterDets); } else { for(int i = 0; i < nSlaterDets1; i++) SlaterDetList[i] = SlaterDetList1[i]; nSlaterDets = nSlaterDets1; do_output(LOG_CAT_INFO, LOG_AREA_CI, "Using all Slater dets, nSlaterDets = %9i.", nSlaterDets); } if(nSlaterDets < 1) { do_output(LOG_CAT_ERROR, LOG_AREA_CI, "Error: nSlaterDets = %i", nSlaterDets); return -1; } // Define groups of Slater determinants, one level at a time SlaterDet_struct* groupList[MAX_ELECTRONS+1]; int groupCountList[MAX_ELECTRONS+1]; groupList[nElTot] = SlaterDetList; groupCountList[nElTot] = nSlaterDets; std::vector list(nSlaterDets); for(int i = 0; i < nElTot; i++) { // Define group with nElTot-1-i electrons. int nElCurrLevel = nElTot-1-i; int prevGroupIndex = nElTot-i; // Go through prev level to find groups at curr level. SlaterDet_struct* prevGroupList = groupList[prevGroupIndex]; int prevCount = groupCountList[prevGroupIndex]; int j = 0; int nGroupsCurrLevel = 0; while(j < prevCount) { // Now j points to beginning of a new group SlaterDet_struct newGroup; memset(&newGroup, 0, sizeof(SlaterDet_struct)); for(int k = 0; k < nElCurrLevel; k++) newGroup.SO_list[k] = prevGroupList[j].SO_list[k]; newGroup.startIndex = j; int count = 0; while(j < prevCount) { int ok = 1; for(int k = 0; k < nElCurrLevel; k++) { if(prevGroupList[j].SO_list[k] != newGroup.SO_list[k]) ok = 0; } if(ok) { j++; count++; } else break; } // Now j points to the beginning of next group or to the end of the list. newGroup.count = count; list[nGroupsCurrLevel] = newGroup; nGroupsCurrLevel++; } // END WHILE int groupIndex = nElTot-1-i; groupList[groupIndex] = new SlaterDet_struct[nGroupsCurrLevel]; memcpy(groupList[groupIndex], &list[0], nGroupsCurrLevel*sizeof(SlaterDet_struct)); groupCountList[groupIndex] = nGroupsCurrLevel; } do_output(LOG_CAT_INFO, LOG_AREA_CI, "Slater determinant groups done:"); for(int i = 0; i < nElTot+1; i++) do_output(LOG_CAT_INFO, LOG_AREA_CI, "groupCountList[%2i] = %9i", i, groupCountList[i]); ergo_real* coeffList_guess = new ergo_real[nSlaterDets]; if(options.use_random_starting_guess == 1) { do_output(LOG_CAT_INFO, LOG_AREA_CI, "Using random CI starting guess."); for(i = 0; i < nSlaterDets; i++) coeffList_guess[i] = rand_m1_to_1(); } else { do_output(LOG_CAT_INFO, LOG_AREA_CI, "Using vector [ 1 0 0 ... 0 ] as CI starting guess."); do_output(LOG_CAT_INFO, LOG_AREA_CI, "If HF orbitals are used, this should correspond to the HF state."); for(i = 0; i < nSlaterDets; i++) coeffList_guess[i] = 0; coeffList_guess[0] = 1; } normalize_vector(nSlaterDets, coeffList_guess); ergo_real* coeffList_hi = new ergo_real[nSlaterDets]; ergo_real* coeffList_lo = new ergo_real[nSlaterDets]; ergo_real resultEig_lo = 0; ergo_real resultEig_hi = 0; MatVecMul matVecMul; matVecMul.nEl = nElTot; matVecMul.nSOs = nSOs; matVecMul.nSlaterDets = nSlaterDets; matVecMul.g_SO = g_SO; matVecMul.h_SO = h_SO; matVecMul.SlaterDetList = SlaterDetList; matVecMul.groupList = groupList; matVecMul.shift = options.shift; simple_lanczos::do_lanczos_method(nSlaterDets, coeffList_guess, resultEig_lo, coeffList_lo, resultEig_hi, coeffList_hi, matVecMul, options.max_no_of_iterations, options.shift, nuclearEnergy); ergo_real CI_energy = resultEig_lo; do_output(LOG_CAT_INFO, LOG_AREA_CI, "FINAL CI ENERGY = %22.11f", (double)CI_energy); do_output(LOG_CAT_INFO, LOG_AREA_CI, "FINAL CI CORRELATION ENERGY = %22.11f", (double)(CI_energy - HF_energy)); // Now we have the final wavefunction vector in coeffList_lo. Use it to get the final CI density matrix. ergo_real* FinalDensityMatrix = new ergo_real[n*n]; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) FinalDensityMatrix[i*n+j] = 0; // FIXME: take care of memory leaks here (and elsewhere in CI code also) four_idx_SO_struct* dmat2e = new four_idx_SO_struct; memset(dmat2e, 0, sizeof(four_idx_SO_struct)); two_idx_SO_struct* dmat1e = new two_idx_SO_struct; memset(dmat1e, 0, sizeof(two_idx_SO_struct)); pair_status_struct status; memset(&status, 0, sizeof(pair_status_struct)); get_relevant_SlaterDet_pairs_recursive_do_mult_or_dmat(groupList, nElTot, 0, 0, 0, 0, 0, 0, 0, &status, nSOs, nSlaterDets, SlaterDetList, g_SO, h_SO, coeffList_lo, NULL, dmat1e, dmat2e ); for(p = 0; p < nSOs; p++) for(q = 0; q < nSOs; q++) { SO_struct & currSO_p = SOs[p]; SO_struct & currSO_q = SOs[q]; ergo_real* orbitalCoeffs_p = currSO_p.coeffs; ergo_real* orbitalCoeffs_q = currSO_q.coeffs; for(int a = 0; a < n; a++) for(int b = 0; b < n; b++) FinalDensityMatrix[a*n+b] += dmat1e->x[p][q] * orbitalCoeffs_p[a] * orbitalCoeffs_q[b]; } // Check FinalDensityMatrix by computing trace(D*S) which should be the number of electrons ergo_real sum = 0; for(int a = 0; a < n; a++) for(int b = 0; b < n; b++) sum += FinalDensityMatrix[a*n+b] * S[a*n+b]; do_output(LOG_CAT_INFO, LOG_AREA_CI, "CI: trace(D*S) for FinalDensityMatrix: %22.11f", (double)sum); // Get dipole moment get_dipole_moment_fullmat(n, FinalDensityMatrix, basisInfo, molecule, LOG_AREA_CI, "CI"); return 0; } ergo-3.5/source/ci/Makefile.in0000664000175000017500000004055012743400352013204 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/ci ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libci_a_AR = $(AR) $(ARFLAGS) libci_a_LIBADD = am_libci_a_OBJECTS = ci.$(OBJEXT) libci_a_OBJECTS = $(am_libci_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libci_a_SOURCES) DIST_SOURCES = $(libci_a_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libci.a libci_a_SOURCES = \ ci.cc \ ci.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/densfromf \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack all: all-am .SUFFIXES: .SUFFIXES: .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/ci/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/ci/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libci.a: $(libci_a_OBJECTS) $(libci_a_DEPENDENCIES) $(EXTRA_libci_a_DEPENDENCIES) $(AM_V_at)-rm -f libci.a $(AM_V_AR)$(libci_a_AR) libci.a $(libci_a_OBJECTS) $(libci_a_LIBADD) $(AM_V_at)$(RANLIB) libci.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ci.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/ci/Makefile.am0000664000175000017500000000073612743400275013201 00000000000000noinst_LIBRARIES = libci.a libci_a_SOURCES = \ ci.cc \ ci.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/densfromf \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack ergo-3.5/source/ci/ci.h0000664000175000017500000000456012743400307011704 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef CIHEADER #define CIHEADER #include "basisinfo.h" #include "integrals_2el.h" namespace CI { struct Options { int use_random_orbitals; int use_lowdin_orbitals; int no_of_core_electrons; int use_random_starting_guess; ergo_real convergence_threshold; ergo_real initial_step_length; int max_no_of_iterations; ergo_real shift; int use_energy_diff_limit; ergo_real energy_diff_limit; /** Initializes all the fields to sane values. */ Options() : use_random_orbitals(0), use_lowdin_orbitals(0), no_of_core_electrons(0), use_random_starting_guess(0), convergence_threshold(1e-4), initial_step_length(0.01), max_no_of_iterations(100), shift(0.0), use_energy_diff_limit(0), energy_diff_limit(10.0) { } }; } /* End of CI namespace */ int do_CI( const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const CI::Options& options, const Molecule & molecule, const ergo_real* S, const ergo_real* h_AO, const ergo_real* F_a, const ergo_real* F_b, int n_el_a, int n_el_b, ergo_real nuclearEnergy, ergo_real HF_energy ); #endif ergo-3.5/source/densfromf/0000775000175000017500000000000012743400366012610 500000000000000ergo-3.5/source/densfromf/puri_mmul_tests.cc0000664000175000017500000001262112743400307016267 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include "puri_mmul_tests.h" #include "output.h" #include "utilities.h" enum approachType {standard, modified}; static void run_one_puri_mmul_test( symmMatrix const & F_ort, intervalType const & allEigsInterval, const std::vector & poly_choices, const std::vector & thresh_values, symmMatrix const & D_ort_ref, int const globalCounter, approachType approach) { Util::TimeMeter timeMeterTot; int nSteps = poly_choices.size(); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "run_puri_mmul_tests, nSteps = %d.", nSteps); for(int i = 0; i < nSteps; i++) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "poly_choices[%2d] = %d, thresh_values[%2d] = %8.4g", i, poly_choices[i], i, thresh_values[i]); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "run_puri_mmul_tests, rescalingand shifting to [0,1] ..."); symmMatrix X(F_ort); ergo_real lmin = allEigsInterval.low(); ergo_real lmax = allEigsInterval.upp(); X.add_identity(-lmax); /* Scale to [0, 1] interval and negate */ X *= ((ergo_real)1.0 / (lmin - lmax)); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "run_puri_mmul_tests, now doing iterations..."); double accumulatedTimeMmul = 0; symmMatrix X2(X); size_t nnzMax = 0; for(int i = 0; i < nSteps; i++) { ergo_real currThresh = thresh_values[i]; // Now compute X2 and truncate it. This can be done using different approaches. if(approach == standard) { Util::TimeMeter timeMeterMmul; X2 = (ergo_real)1.0 * X * X; accumulatedTimeMmul += Util::TimeMeter::get_wall_seconds() - timeMeterMmul.get_start_time_wall_seconds(); size_t nnz = X2.nnz(); if(nnz > nnzMax) nnzMax = nnz; X2.thresh(currThresh, mat::euclNorm); } else if(approach == modified) { // Split X into two parts, A and B. symmMatrix A(X); symmMatrix B(X); symmMatrix A2(X); symmMatrix B2(X); A = X; A.eucl_thresh(sqrt(currThresh/2)); B = X - A; { Util::TimeMeter timeMeterMmul; A2 = (ergo_real)1.0 * A * A; accumulatedTimeMmul += Util::TimeMeter::get_wall_seconds() - timeMeterMmul.get_start_time_wall_seconds(); } B2 = 0;//(ergo_real)1.0 * B * B; normalMatrix AB; { Util::TimeMeter timeMeterMmul; AB = (ergo_real)1.0 * A * B; accumulatedTimeMmul += Util::TimeMeter::get_wall_seconds() - timeMeterMmul.get_start_time_wall_seconds(); } normalMatrix BA; BA = transpose(AB); normalMatrix ABplusBA; ABplusBA = AB + BA; symmMatrix ABplusBAsymm(ABplusBA); X2 = A2 + B2; X2 += ABplusBAsymm; size_t nnz = X2.nnz(); if(nnz > nnzMax) nnzMax = nnz; X2.thresh(currThresh/2, mat::euclNorm); } else { throw "Error: unimplemented approach in run_one_puri_mmul_test"; } ergo_real frobDiffX2 = symmMatrix::frob_diff(X, X2); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "frobDiffX2 = %8.4g", frobDiffX2); symmMatrix Xnew; if(poly_choices[i] == 0) { // X*X Xnew = X2; } else { // 2*X - X*X Xnew = (ergo_real)2.0*X; Xnew += (ergo_real)-1.0*X2; } X = Xnew; } ergo_real frobDiff = symmMatrix::frob_diff(X, D_ort_ref); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "frobDiff = %8.4g", frobDiff); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "run_one_puri_mmul_test: accumulatedTimeMmul = %12.6f wall seconds", accumulatedTimeMmul); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "run_one_puri_mmul_test: nnzMax = %12d", nnzMax); timeMeterTot.print(LOG_AREA_DENSFROMF, "run_one_puri_mmul_test"); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "End of run_one_puri_mmul_test."); } void run_puri_mmul_tests( symmMatrix const & F_ort, intervalType const & allEigsInterval, const std::vector & poly_choices, const std::vector & thresh_values, symmMatrix const & D_ort_ref, int const globalCounter) { run_one_puri_mmul_test( F_ort, allEigsInterval, poly_choices, thresh_values, D_ort_ref, globalCounter, standard); run_one_puri_mmul_test( F_ort, allEigsInterval, poly_choices, thresh_values, D_ort_ref, globalCounter, modified); } ergo-3.5/source/densfromf/GetDensFromFock.cc0000664000175000017500000015012012743400307016011 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file GetDensFromFock.cc \brief Routines for getting density matrix from a given Fock matrix. @author Anastasia Kruchinina responsible @author Elias Rudberg */ #include "output.h" #include #include #include #include #include #include "utilities.h" #include "matrix_utilities.h" #include "TC2.h" #include "units.h" #include "machine_epsilon.h" #include "simple_purification.h" #include "puri_mmul_tests.h" #include "AllocatorManager.h" #include "densfromf_full.h" #include "densfromf_stochastic.h" #include "purification_general.h" #include "purification_sp2.h" #include "purification_sp2acc.h" #ifdef USE_CHUNKS_AND_TASKS #include "CHTMatrix.h" #include "ErgoMatrix.h" #else #include "ErgoMatrix.h" #endif #include "GetDensFromFock.h" #ifdef USE_CHUNKS_AND_TASKS #include "cht_matrix_lib.h" #ifdef USE_CHUNKS_AND_TASKS_BSM #include "block_sparse_matrix_lib.h" typedef bsm::BlockSparseMatrix LeafMatrixType; #else #include "basic_matrix_lib.h" typedef bml::FullMatrix LeafMatrixType; #endif typedef CHTMatrix MatrixType; typedef CHTMatrix MatrixTypeTriang; typedef ErgoMatrix MatrixTypeErgo; #else // not defined CHT typedef ErgoMatrix MatrixType; typedef ErgoMatrix MatrixTypeTriang; #endif typedef MatrixType::Params WrapperMatParams; typedef MatrixTypeTriang::Params WrapperMatParamsTriang; typedef mat::Interval intervalType; typedef symmMatrix::VectorType VectorType; const int GetDensFromFock::UNDEF_VALUE = -1; const int GetDensFromFock::SET = 1; const int GetDensFromFock::UNSET = 0; static int globalCounter = 0; // For naming purification statistics matlab files. // Now also for naming m-files from comparison with simple purification /** Choose which method to use for computing the density matrix from Fock matrix. * * Possible alternatives: * - use recursive expansion * - use stochastic orbitals * - use diagonalization */ int GetDensFromFock::get_dens_from_fock( symmMatrix & Finput, symmMatrix & resultDens, symmMatrix & F_ort_prev, generalVector * eigVecLUMO, generalVector * eigVecHOMO) { Util::TimeMeter timeMeterTot; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "get_dens_from_fock_general, n = %i, use_diagonalization = %i, use_diag_on_error = %i, use_stochastic_orbitals = %i", n, use_diagonalization, use_diag_on_error, use_stochastic_orbitals); resultEntropyTerm = 0; // In nonzero temperature case, this will be set to nonzero value later. std::string allocStatsStr1 = mat::AllocatorManager::instance().getStatistics(); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Before writeAndReadAll(): %s", allocStatsStr1.c_str()); Util::TimeMeter timeMeterWriteAndReadAll; std::string sizesStr = mat::FileWritable::writeAndReadAll(); timeMeterWriteAndReadAll.print(LOG_AREA_DENSFROMF, "FileWritable::writeAndReadAll"); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, ((std::string)"writeAndReadAll sizesStr: '" + sizesStr).c_str()); std::string allocStatsStr2 = mat::AllocatorManager::instance().getStatistics(); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "After writeAndReadAll(): %s", allocStatsStr2.c_str()); if(noOfOccupiedOrbs == 0) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "GetDensFromFock::get_dens_from_fock: (noOfOccupiedOrbs == 0), skipping."); resultDens.readFromFile(); resultDens.clear(); resultDens.writeToFile(); return 0; } if(use_stochastic_orbitals == UNDEF_VALUE) throw "Error in get_dens_from_fock (GetDensFromFock class) : use_stochastic_orbitals flag is not specified"; if(use_stochastic_orbitals == SET) { resultDens.readFromFile(); resultDens.clear(); if(get_dens_from_fock_stochastic(n, noOfOccupiedOrbs, resultDens, factor, Finput, invCholFactor, matrixSizesAndBlocks, stochastic_orbitals) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DENSFROMF, "get_dens_from_fock_general: error in get_dens_from_fock_stochastic; aborting."); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "get_dens_from_fock_stochastic finished"); resultDens.writeToFile(); return 0; } int use_diag = 0; int purification_has_failed = 0; if(use_diagonalization == UNDEF_VALUE) throw "Error in get_dens_from_fock (GetDensFromFock class) : use_diagonalization flag is not specified"; if(use_diagonalization == SET) use_diag = 1; else { // Try purification if(electronicTemperature != 0) throw "Error: (electronicTemperature != 0) not implemented for sparse case."; resultDens.readFromFile(); resultDens.clear(); int puri_res; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "calling get_dens_from_fock_sparse, n = %6i, subspaceErrorLimit = %g", n, (double)subspaceErrorLimit); puri_res = get_dens_from_fock_sparse(Finput, resultDens, F_ort_prev, eigVecLUMO, eigVecHOMO); if(puri_res != 0) { // Something was wrong... if(use_diag_on_error == UNDEF_VALUE) throw "Error in get_dens_from_fock (GetDensFromFock class) : use_diag_on_error flag is not specified"; if(use_diag_on_error == SET) { do_output(LOG_CAT_ERROR, LOG_AREA_DENSFROMF, "get_dens_from_fock (GetDensFromFock class) : error while getting density matrix; trying with diagonalization instead."); use_diag = 1; purification_has_failed = 1; } else { do_output(LOG_CAT_ERROR, LOG_AREA_DENSFROMF, "get_dens_from_fock (GetDensFromFock class) : error while getting density matrix; aborting."); return -1; } } else { // Purification success! do_output(LOG_CAT_ERROR, LOG_AREA_DENSFROMF, "get_dens_from_fock (GetDensFromFock class) : purification finished OK."); } resultDens.writeToFile(); } if(use_diag == 1) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "calling get_dens_from_fock_full, n = %i", n); std::vector F_full(n*n); std::vector S_full(n*n); { // Create full matrix versions of F and S normalMatrix* tmpMat; Finput.readFromFile(); tmpMat = new normalMatrix(Finput); Finput.writeToFile(); tmpMat->fullMatrix(F_full); delete tmpMat; overlapMatrix.readFromFile(); tmpMat = new normalMatrix(overlapMatrix); overlapMatrix.writeToFile(); tmpMat->fullMatrix(S_full); delete tmpMat; } std::vector densityMatrixFull(n*n); std::vector eigVecLUMO_tmp(n); std::vector eigVecHOMO_tmp(n); if( store_all_eigenvalues_to_file == UNDEF_VALUE) throw "Error in get_dens_from_fock (GetDensFromFock class) : store_all_eigenvalues_to_file flag is not specified"; ergo_real gap = -1; if(get_dens_from_fock_full(n, noOfOccupiedOrbs, &densityMatrixFull[0], &F_full[0], &S_full[0], factor, electronicTemperature, resultEntropyTerm, gap, store_all_eigenvalues_to_file, &eigVecLUMO_tmp[0], &eigVecHOMO_tmp[0]) != 0) { throw "error in get_dens_from_fock_full"; } if(purification_has_failed) { // Accept purification failure only in case gap is very small. ergo_real gapLimit = 1e-4; if(gap > gapLimit) throw "Error in GetDensFromFock::get_dens_from_fock: purification failed and (gap > gapLimit). Purification should not fail in such cases; something is wrong."; } resultDens.readFromFile(); resultDens.assignFromFull(densityMatrixFull); resultDens.writeToFile(); if (eigVecLUMO) eigVecLUMO->assign_from_full(eigVecLUMO_tmp, matrixSizesAndBlocks); if (eigVecHOMO) eigVecHOMO->assign_from_full(eigVecHOMO_tmp, matrixSizesAndBlocks); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "get_dens_from_fock_full finished"); } timeMeterTot.print(LOG_AREA_DENSFROMF, "get_dens_from_fock"); return 0; } /** Use recursive expansion for computing the density matrix from Fock matrix. * * Construct approximation of the step function by recursive * application of low order polynomials. Sparsity is preserved using * truncation (see J. Chem. Phys. 128, 074106, 2008), which can be * done using spectral, Frobenius or mixed norms (see * J. Comput. Chem. 30.6 (2009): 974-977.). * * Possible alternatives (use_acceleration parameter): * - SP2 recursive expansion * - SP2 accelerated recursive expansion */ int GetDensFromFock::get_dens_from_fock_sparse(symmMatrix & F, symmMatrix & resultDens, symmMatrix & F_ort_prev, generalVector * eigVecLUMO, generalVector * eigVecHOMO) { #ifdef USE_CHUNKS_AND_TASKS if(output_homo_and_lumo_eigenvectors == SET) throw "Error in get_dens_from_fock_sparse (GetDensFromFock class) : computation of eigenvectors is not implemented with Chunks and Tasks."; #endif Util::TimeMeter timeMeterTot; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "get_dens_from_fock_sparse() start!"); #ifdef USE_CHUNKS_AND_TASKS if( leavesSizeMax == UNDEF_VALUE || blocksize == UNDEF_VALUE) throw "Error in get_dens_from_fock (GetDensFromFock class) : leavesSizeMax and/or blocksize flags are not specified"; WrapperMatParams params(leavesSizeMax, blocksize); WrapperMatParamsTriang params_triang(leavesSizeMax, blocksize); #else WrapperMatParams params; WrapperMatParamsTriang params_triang; #endif if(use_new_stopping_criterion == UNDEF_VALUE) throw "Error in get_dens_from_fock_sparse (GetDensFromFock class) : use_new_stopping_criterion flag is not specified"; int stopping_criterion; if(use_new_stopping_criterion == SET) stopping_criterion = 1; else stopping_criterion = 0; #ifdef USE_CHUNKS_AND_TASKS if( truncationNormPurification == mat::euclNorm) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "get_dens_from_fock_sparse(): set truncation and " "stopping criterion norms to mat::mixedNorm since spectral norm is not implemented"); set_stopCriterionNormPurification(mat::mixedNorm); } if(stopCriterionNormPurification == mat::euclNorm) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "get_dens_from_fock_sparse(): set truncation and " "stopping criterion norms to mat::mixedNorm since spectral norm is not implemented"); set_truncationNormPurification(mat::mixedNorm); } #endif // Select tolerated errors in the occupied subspace for the three truncations // and for purification. ergo_real subspaceThr_1 = 0.1 * subspaceErrorLimit; ergo_real subspaceThr_Puri = 0.7 * subspaceErrorLimit; ergo_real subspaceThr_2 = 0.1 * subspaceErrorLimit; ergo_real subspaceThr_3 = 0.1 * subspaceErrorLimit; // Select tolerated errors in eigenvalues ergo_real eigvalueThr_Puri = 0.7 * eigvalueErrorLimit; ergo_real eigvalueThr_2 = 0.15 * eigvalueErrorLimit; ergo_real eigvalueThr_3 = 0.15 * eigvalueErrorLimit; symmMatrix F_tmp(F); F_tmp.readFromFile(); // F stay written in the file std::string allocStatsStr3 = mat::AllocatorManager::instance().getStatistics(); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "After F.readFromFile(): %s", allocStatsStr3.c_str()); MatrixType F_w(F_tmp, params); std::string allocStatsStr4 = mat::AllocatorManager::instance().getStatistics(); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "After creating wrapper MatrixType F_w(F): %s", allocStatsStr4.c_str()); F_tmp.clear(); // we do not need this matrix anymore, it is saved in the wrapper // transform to the orthogonal basis { triangMatrix invCholFactor_tmp(invCholFactor); invCholFactor_tmp.readFromFile(); output_current_memory_usage(LOG_AREA_DENSFROMF, "In get_dens_from_fock_sparse, before F_w.to_norm_basis()"); Util::TimeMeter timeMeterFortTransf; MatrixTypeTriang invCholFactor_tmp_w(invCholFactor_tmp, params_triang); invCholFactor_tmp.clear(); F_w.to_norm_basis(invCholFactor_tmp_w); timeMeterFortTransf.print(LOG_AREA_DENSFROMF, " F_w.to_norm_basis"); output_current_memory_usage(LOG_AREA_DENSFROMF, "In get_dens_from_fock_sparse, after F_w.to_norm_basis [F_ort = tr(Z) * F_S * Z]"); } // Now F_w contains F_ort. if ( do_sparsity_investigation == 1 ) { F_w.get_matrix(F_tmp); output_magnitude_histogram( F_tmp, stats_prefix + "mag_histogram_F_ort", sparsity_plots_resolution_m); F_tmp.clear(); } //Compare F to F_ort_prev to check how far eigenvalues move. F_ort_prev.readFromFile(); output_current_memory_usage(LOG_AREA_DENSFROMF, "In get_dens_from_fock_sparse, after F_ort_prev.readFromFile()"); MatrixType F_ort_prev_w(F_ort_prev, params); // save matrix to the wrapper output_current_memory_usage(LOG_AREA_DENSFROMF, "In get_dens_from_fock_sparse, after MatrixType F_ort_prev_w(F_ort_prev)"); F_ort_prev.clear(); // intervals will be expanded to make sure that they contain the HOMO and LUMO eigenvalues of F_ort intervalType lumoInterval_F_ort_prev_expanded; intervalType homoInterval_F_ort_prev_expanded; intervalType lumo2Interval_F_ort_prev_expanded; intervalType homo2Interval_F_ort_prev_expanded; { ergo_real maxEigValMovement_frob = MatrixType::frob_diff(F_w, F_ort_prev_w); output_current_memory_usage(LOG_AREA_DENSFROMF, "In get_dens_from_fock_sparse, after getting maxEigValMovement_frob "); ergo_real acc = std::sqrt(get_machine_epsilon()); Util::TimeMeter timeMeterMixedDiff; ergo_real maxEigValMovement_mixed = MatrixType::mixed_diff(F_w, F_ort_prev_w, acc) + acc; timeMeterMixedDiff.print(LOG_AREA_DENSFROMF, "MatrixType::mixed_diff for maxEigValMovement_mixed"); output_current_memory_usage(LOG_AREA_DENSFROMF, "In get_dens_from_fock_sparse, after getting maxEigValMovement_mixed"); #ifndef USE_CHUNKS_AND_TASKS Util::TimeMeter timeMeterEuclDiff; ergo_real maxEigValMovement_eucl = MatrixType::eucl_diff(F_w, F_ort_prev_w, acc) + acc; timeMeterEuclDiff.print(LOG_AREA_DENSFROMF, "MatrixType::eucl_diff for maxEigValMovement_eucl "); output_current_memory_usage(LOG_AREA_DENSFROMF, "In get_dens_from_fock_sparse, after getting maxEigValMovement_eucl "); #endif do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "maxEigValMovement_frob = %22.11f", (double)maxEigValMovement_frob); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "maxEigValMovement_mixed = %22.11f", (double)maxEigValMovement_mixed); #ifndef USE_CHUNKS_AND_TASKS do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "maxEigValMovement_eucl = %22.11f", (double)maxEigValMovement_eucl); #endif // Increase HOMO/LUMO intervals so that they for sure contain the HOMO and LUMO eigenvalues of F_ort // Anastasia comment: it may happen for very small cases that // bounds for homo and lumo are very good and intervals are // actually empty sets, then the increase() function will throw // exception if(homoInterval_F_ort_prev.low() >= homoInterval_F_ort_prev.upp()) homoInterval_F_ort_prev = intervalType(homoInterval_F_ort_prev.low(), homoInterval_F_ort_prev.low() + 1e-10); if(lumoInterval_F_ort_prev.low() >= lumoInterval_F_ort_prev.upp()) lumoInterval_F_ort_prev = intervalType(lumoInterval_F_ort_prev.upp() - 1e-10, lumoInterval_F_ort_prev.upp()); if(homo2Interval_F_ort_prev.low() >= homo2Interval_F_ort_prev.upp()) homo2Interval_F_ort_prev = intervalType(homo2Interval_F_ort_prev.low(), homo2Interval_F_ort_prev.low() + 1e-10); if(lumo2Interval_F_ort_prev.low() >= lumo2Interval_F_ort_prev.upp()) lumo2Interval_F_ort_prev = intervalType(lumo2Interval_F_ort_prev.upp() - 1e-10, lumo2Interval_F_ort_prev.upp()); #ifdef USE_CHUNKS_AND_TASKS ergo_real maxEigValMovement = maxEigValMovement_mixed; #else ergo_real maxEigValMovement = maxEigValMovement_eucl; #endif lumoInterval_F_ort_prev_expanded = lumoInterval_F_ort_prev; homoInterval_F_ort_prev_expanded = homoInterval_F_ort_prev; lumo2Interval_F_ort_prev_expanded = lumo2Interval_F_ort_prev; homo2Interval_F_ort_prev_expanded = homo2Interval_F_ort_prev; homoInterval_F_ort_prev_expanded.increase(maxEigValMovement); lumoInterval_F_ort_prev_expanded.increase(maxEigValMovement); homo2Interval_F_ort_prev_expanded.increase(maxEigValMovement); lumo2Interval_F_ort_prev_expanded.increase(maxEigValMovement); } do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Truncate matrix F and update intervals for homo and lumo."); /* EMANUEL COMMENT: - truncationNorm can be set to any of mat::frobNorm, mat::mixedNorm, or mat::euclNorm The best choice depends on a trade-off between spending time in truncation and in matrix-matrix multiplication. */ mat::normType truncationNorm = truncationNormPurification; // Now, we will truncate F (and update eigenvalue intervals): ergo_real truncError_1; { ergo_real gapMin = lumoInterval_F_ort_prev_expanded.low() - homoInterval_F_ort_prev_expanded.upp(); ergo_real gapMax = lumoInterval_F_ort_prev_expanded.upp() - homoInterval_F_ort_prev_expanded.low(); ergo_real threshold_1; // We consider the gap to be accurately known if the uncertainty is at most 10 % if ( gapMin > 0 && (gapMax - gapMin) / gapMin < 0.1 ) // Gap is accurately known: we use gapMin threshold_1 = subspaceThr_1 * gapMin / (1+subspaceThr_1); else // Gap is not accurately known. To avoid choosing a very tight // threshold value due to a small lower bound for the gap, we // use the largest of 'gap_expected_lower_bound' and calculated // 'gapMin': threshold_1 = gapMin > gap_expected_lower_bound ? subspaceThr_1 * gapMin / (1+subspaceThr_1) : subspaceThr_1 * gap_expected_lower_bound / (1+subspaceThr_1); double nnzF_before_trunc_pc = (double)F_w.nnz() * 100 / ((double)n*n); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Truncating F_ort ( %s ), selected threshold = %10.6g", mat::getNormTypeString(truncationNorm).c_str(), (double)threshold_1); Util::TimeMeter timeMeterFThresh; truncError_1 = F_w.thresh( threshold_1, truncationNorm); double nnzF_after_trunc_pc = (double)F_w.nnz() * 100 / ((double)n*n); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Truncated F_ort ( %s ), selected threshold = %10.6g, returned error = %10.6g, nnz before = %3.4f %%, nnz after = %3.4f %%", mat::getNormTypeString(truncationNorm).c_str(),(double)threshold_1, (double)truncError_1, nnzF_before_trunc_pc, nnzF_after_trunc_pc); timeMeterFThresh.print(LOG_AREA_DENSFROMF, "Truncation of F_ort"); puri_stats[stats_prefix + "nnz_percentage_F_ort"] = nnzF_after_trunc_pc; // Increase HOMO and LUMO intervals so that they contain the eigenvalues of the truncated matrix: homoInterval_F_ort_prev_expanded.increase( truncError_1 ); lumoInterval_F_ort_prev_expanded.increase( truncError_1 ); homo2Interval_F_ort_prev_expanded.increase( truncError_1 ); lumo2Interval_F_ort_prev_expanded.increase( truncError_1 ); } F_ort_prev_w.clear(); // Now overwrite F_ort_prev with the new F. F_w.get_matrix(F_ort_prev); F_ort_prev.writeToFile(); // The HOMO and LUMO intervals now contain the HOMO and LUMO // eigenvalues of F_ort_prev but improved values will hopefully be // calculated in purification. intervalType homoIntervalSaved = homoInterval_F_ort_prev_expanded; intervalType lumoIntervalSaved = lumoInterval_F_ort_prev_expanded; if(use_acceleration == UNDEF_VALUE) throw "Error in get_dens_from_fock_sparse (GetDensFromFock class) : use_acceleration flag is not specified"; #ifdef USE_CHUNKS_AND_TASKS do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Chosen CHT Wrapper"); #else do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Chosen Ergo Wrapper"); #endif PurificationGeneral *Puri; // abstract class if(use_acceleration == SET) Puri = new Purification_sp2acc(); else Puri = new Purification_sp2(); mat::Gblas::timekeeping = true; mat::Gblas::time = 0; Puri->initialize(F_w, lumoIntervalSaved, homoIntervalSaved, maxMul, subspaceThr_Puri, eigvalueThr_Puri, stopping_criterion, // 1 = new, 0 = old truncationNorm, stopCriterionNormPurification, noOfOccupiedOrbs ); if(output_homo_and_lumo_eigenvectors == UNDEF_VALUE) throw "Error in get_dens_from_fock_sparse (GetDensFromFock class) : output_homo_and_lumo_eigenvectors flag is not specified"; /* eigVecHOMO and eigVecLUMO are pointers to some empty vectors. If we do not want to compute eigenvectors now, set them to NULL. In other case, just send this pointers to needed function. */ if(output_homo_and_lumo_eigenvectors == UNSET || eigenvectors_method == "") { eigVecLUMO = NULL; eigVecHOMO = NULL; eigVecLUMO2 = NULL; eigVecHOMO2 = NULL;} else { // check if parameters are specified // all these parameters are input parameters to Ergo // they set in SCF_general.cc if(try_eigv_on_next_iteration_if_fail == UNDEF_VALUE) throw "Error in get_dens_from_fock_sparse (GetDensFromFock class) : try_eigv_on_next_iteration_if_fail flag is not specified"; if(use_prev_vector_as_initial_guess == UNDEF_VALUE) throw "Error in get_dens_from_fock_sparse (GetDensFromFock class) : use_prev_vector_as_initial_guess flag is not specified"; if(number_of_eigenvalues == UNDEF_VALUE) throw "Error in get_dens_from_fock_sparse (GetDensFromFock class) : number_of_eigenvalues flag is not specified"; if(eigensolver_maxiter == UNDEF_VALUE) throw "Error in get_dens_from_fock_sparse (GetDensFromFock class) : eigensolver_maxiter flag is not specified"; if(eigensolver_accuracy == UNDEF_VALUE) throw "Error in get_dens_from_fock_sparse (GetDensFromFock class) : eigensolver_accuracy flag is not specified"; Puri->set_eigenvectors_params(eigenvectors_method, eigenvectors_iterative_method, number_of_eigenvalues, eigensolver_accuracy, eigensolver_maxiter, SCF_step, use_prev_vector_as_initial_guess, try_eigv_on_next_iteration_if_fail, eigVecLUMO, eigVecHOMO, eigVecLUMO2, eigVecHOMO2, lumo2Interval_F_ort_prev_expanded, homo2Interval_F_ort_prev_expanded ); } F_w.clear(); output_current_memory_usage(LOG_AREA_DENSFROMF, "Before Puri->PurificationStart()"); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "calling Puri->PurificationStart(), number of threads = %i, trunc norm '%s'", mat::Params::getNProcs(), mat::getNormTypeString(truncationNorm).c_str()); mat::FileWritable::resetStats(); time_t puriStartWallTime; time(&puriStartWallTime); try { Util::TimeMeter timeMeterPurification; Puri->PurificationStart(); timeMeterPurification.print(LOG_AREA_DENSFROMF, "Puri->PurificationStart()"); //Puri->info.print_collected_info(); } catch(...) { if(Puri != NULL) delete Puri; throw; } do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Purification finished, %3i multiplications, total time %lf", Puri->info.total_it, Puri->info.total_time); { std::stringstream ss; ss << "Accumulated wall times for writeToFile in PurificationStart() : " << mat::FileWritable::getStatsTimeWrite(); do_output( LOG_CAT_TIMINGS, LOG_AREA_DENSFROMF, ss.str().c_str() ); } { std::stringstream ss; ss << "Accumulated wall times for readFromFile in PurificationStart() : " << mat::FileWritable::getStatsTimeRead(); do_output( LOG_CAT_TIMINGS, LOG_AREA_DENSFROMF, ss.str().c_str() ); } { std::stringstream ss; ss << "Accumulated wall times for copy and assign in PurificationStart() : " << mat::FileWritable::getStatsTimeCopyAndAssign(); do_output( LOG_CAT_TIMINGS, LOG_AREA_DENSFROMF, ss.str().c_str() ); } { std::stringstream ss; ss << "Number of calls to writeToFile in PurificationStart() : " << mat::FileWritable::getStatsCountWrite(); do_output( LOG_CAT_INFO, LOG_AREA_DENSFROMF, ss.str().c_str() ); } { std::stringstream ss; ss << "Number of calls to readFromFile in PurificationStart() : " << mat::FileWritable::getStatsCountRead(); do_output( LOG_CAT_INFO, LOG_AREA_DENSFROMF, ss.str().c_str() ); } { std::stringstream ss; ss << "Number of calls to FileWritable copy and assign in PurificationStart() : " << mat::FileWritable::getStatsCountCopyAndAssign(); do_output( LOG_CAT_INFO, LOG_AREA_DENSFROMF, ss.str().c_str() ); } do_output(LOG_CAT_TIMINGS, LOG_AREA_DENSFROMF, "mat::Gblas::time after purification : %12.6f", (double)mat::Gblas::time); output_current_memory_usage(LOG_AREA_DENSFROMF, "After Puri->PurificationStart()"); MatrixType D_w(Puri->X); Puri->clear(); // delete matrices from Puri intervalType homoIntervalNew = intervalType(Puri->info.homo_estim_low_F, Puri->info.homo_estim_upp_F); intervalType lumoIntervalNew = intervalType(Puri->info.lumo_estim_low_F, Puri->info.lumo_estim_upp_F); intervalType homo2IntervalNew = intervalType(Puri->info.homo2_estim_low_F, Puri->info.homo2_estim_upp_F); intervalType lumo2IntervalNew = intervalType(Puri->info.lumo2_estim_low_F, Puri->info.lumo2_estim_upp_F); if(plot_puri_results == SET) { // plot results ostringstream name; name << "puri_out_error_frob_" << SCF_step << plot_puri_results_str << ".m"; Puri->gen_matlab_file_norm_diff(name.str().c_str()); name.str(""); name << "puri_out_threshold_" << SCF_step << plot_puri_results_str << ".m"; Puri->gen_matlab_file_threshold(name.str().c_str()); name.str(""); name << "puri_out_nnz_" << SCF_step << plot_puri_results_str << ".m"; Puri->gen_matlab_file_nnz(name.str().c_str()); name.str(""); name << "puri_out_eigs_" << SCF_step << plot_puri_results_str << ".m"; Puri->gen_matlab_file_eigs(name.str().c_str()); name.str(""); name << "puri_out_time_" << SCF_step << plot_puri_results_str << ".m"; Puri->gen_matlab_file_time(name.str().c_str()); name.str(""); if(Puri->info.compute_eigenvectors_in_this_SCF_cycle) { name << "puri_out_which_eig_" << SCF_step << plot_puri_results_str << ".m"; Puri->gen_matlab_file_which_eig_computed(name.str().c_str()); name.str(""); } } do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Created .m files with results of the purification"); if(!Puri->info.converged) { // THE FLAG ignore_purification_failure IS NOT AN INPUT PARAMETER TO ERGO??? if(ignore_purification_failure == UNDEF_VALUE) throw "Error in get_dens_from_fock_sparse (GetDensFromFock class) : use_diag_on_error flag is not specified"; if(ignore_purification_failure == UNSET) { do_output(LOG_CAT_ERROR, LOG_AREA_DENSFROMF, "Error in purification: Puri->info.converged() " "returned false."); Puri->info.print_collected_info(); return -1; } else { do_output(LOG_CAT_WARNING, LOG_AREA_DENSFROMF, "Purification did NOT converged, ignoring."); } } else { ergo_real acc_error = (ergo_real)Puri->info.accumulated_error_subspace; if(acc_error == -1) // if we do not know that gap do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Purification converged OK"); else do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Purification converged OK, subspaceError <= %22.11f", acc_error); } // compute eigenvectors if (eigVecLUMO != NULL || eigVecHOMO != NULL) { triangMatrix invCholFactor_tmp(invCholFactor); invCholFactor_tmp.readFromFile(); /* here: if eigenvector is not computed, it is empty, not NULL */ if (Puri->info.lumo_eigenvector_is_computed && !eigVecLUMO->is_empty()) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "LUMO eigenvector is computed."); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Perform congruence transformation."); // perform congruence transformation (*eigVecLUMO) = invCholFactor_tmp * (*eigVecLUMO); } if (Puri->info.homo_eigenvector_is_computed && !eigVecHOMO->is_empty()) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "HOMO eigenvector is computed."); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Perform congruence transformation."); // perform congruence transformation (*eigVecHOMO) = invCholFactor_tmp * (*eigVecHOMO); } } // Note: invCholFactor_tmp goes out of scope if(number_of_eigenvalues == 2) // compute eigenvectors if (eigVecLUMO2 != NULL || eigVecHOMO2 != NULL) { triangMatrix invCholFactor_tmp(invCholFactor); invCholFactor_tmp.readFromFile(); /* here: if eigenvector is not computed, it is empty, not NULL */ if (Puri->info.lumo2_eigenvector_is_computed && !eigVecLUMO2->is_empty()) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "LUMO2 eigenvector is computed."); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Perform congruence transformation."); // perform congruence transformation (*eigVecLUMO2) = invCholFactor_tmp * (*eigVecLUMO2); } if (Puri->info.homo2_eigenvector_is_computed && !eigVecHOMO2->is_empty()) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "HOMO2 eigenvector is computed."); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Perform congruence transformation."); // perform congruence transformation (*eigVecHOMO2) = invCholFactor_tmp * (*eigVecHOMO2); } } // Note: invCholFactor_tmp goes out of scope if(number_of_eigenvalues > 2) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Cannot save more than two HOMO or LUMO eigenvectors."); if(intervalType::intersect(lumoInterval_F_ort_prev_expanded, lumoIntervalNew).empty()) do_output(LOG_CAT_WARNING, LOG_AREA_DENSFROMF, "The intersection of lumoInterval_F_ort_prev_expanded and lumoIntervalNew is empty set!"); if(intervalType::intersect(homoInterval_F_ort_prev_expanded, homoIntervalNew).empty()) do_output(LOG_CAT_WARNING, LOG_AREA_DENSFROMF, "The intersection of homoInterval_F_ort_prev_expanded and homoIntervalNew is empty set!"); // Save the improved HOMO/LUMO intervals of F_ort: homoInterval_F_ort_prev = homoIntervalNew; lumoInterval_F_ort_prev = lumoIntervalNew; homo2Interval_F_ort_prev = homo2IntervalNew; lumo2Interval_F_ort_prev = lumo2IntervalNew; // Calculate HOMO_LUMO intervals of Finput. We need to expand // the F_ort intervals due to the truncation done earlier. homoInterval_Finput = homoInterval_F_ort_prev; lumoInterval_Finput = lumoInterval_F_ort_prev; // Anastasia comment: // it may happen that bounds for homo and lumo are very good and intervals are actually empty sets, // then the increase() function will throw exception if(homoInterval_Finput.low() >= homoInterval_Finput.upp()) homoInterval_Finput = intervalType(homoInterval_Finput.low(), homoInterval_Finput.low() + 1e-10); if(lumoInterval_Finput.low() >= lumoInterval_Finput.upp()) lumoInterval_Finput = intervalType(lumoInterval_Finput.upp() - 1e-10, lumoInterval_Finput.upp()); homoInterval_Finput.increase( truncError_1 ); lumoInterval_Finput.increase( truncError_1 ); // Output info about gap. ergo_real gapMin = lumoInterval_F_ort_prev.low() - homoInterval_F_ort_prev.upp(); ergo_real gapMax = lumoInterval_F_ort_prev.upp() - homoInterval_F_ort_prev.low(); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "E(LUMO) - E(HOMO) >= %22.11f = %22.11f eV", (double)gapMin, (double)gapMin / UNIT_one_eV); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "E(LUMO) - E(HOMO) <= %22.11f = %22.11f eV", (double)gapMax, (double)gapMax / UNIT_one_eV); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "HOMO interval : [ %17.12f %17.12f ]", (double)homoInterval_F_ort_prev.low(), (double)homoInterval_F_ort_prev.upp()); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "LUMO interval : [ %17.12f %17.12f ]", (double)lumoInterval_F_ort_prev.low(), (double)lumoInterval_F_ort_prev.upp()); puri_stats[stats_prefix + "HOMO_LUMO_gap_lo_eV"] = gapMin / UNIT_one_eV; puri_stats[stats_prefix + "HOMO_LUMO_gap_hi_eV"] = gapMax / UNIT_one_eV; if ( do_puri_mmul_tests == 1 ) { // Code to do some matrix-matrix multiplication tests do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "get_dens_from_fock_sparse: do_puri_mmul_tests == 1 is not implemented."); } if ( do_comparison_to_simple_purification == 1 ) { // Code to test simple purification D_w.get_matrix(resultDens); // Copy F symmMatrix F_simple(F_ort_prev); F_simple.readFromFile(); globalCounter++; ergo_real eigmax, eigmin; Puri->info.get_spectrum_bounds(eigmin, eigmax); intervalType allEigsInterval = intervalType(eigmin, eigmax); run_comparison_to_simple_purification( F_simple, noOfOccupiedOrbs, allEigsInterval, resultDens, globalCounter ); resultDens.clear(); } if ( do_sparsity_investigation == 1 ) { D_w.get_matrix(resultDens); output_magnitude_histogram( resultDens, stats_prefix + "mag_histogram_D_ort", sparsity_plots_resolution_m); resultDens.clear(); } // we do not need Puri anymore, then delete it delete Puri; // Check trace of resulting density matrix ergo_real trace = D_w.trace(); ergo_real wantedTrace = noOfOccupiedOrbs; ergo_real traceError = trace - wantedTrace; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Trace of resulting density matrix is %22.11f, error is %18.14f.", (double)trace, (double)traceError); // Check that relative error in trace is not unreasonably large if(wantedTrace > 0 && std::fabs(traceError) > wantedTrace/4) throw "Error in get_dens_from_fock_sparse (GetDensFromFock class): traceError is unreasonably large; seems like something went very wrong."; // Do truncation to speed up following multiplication operation. ergo_real threshold_2 = subspaceThr_2 * (1-2*eigvalueThr_Puri) / (1+subspaceThr_2); // Make sure that eigenvalue movement is not too large: threshold_2 = eigvalueThr_2 < threshold_2 ? eigvalueThr_2 : threshold_2; double nnzD_before_trunc_pc = (double)D_w.nnz() * 100 / ((double)n*n); ergo_real truncError_2 = D_w.thresh( threshold_2, truncationNorm); double nnzD_after_trunc_pc = (double)D_w.nnz() * 100 / ((double)n*n); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Truncated D_ort ( %s ), selected threshold = %10.6g, returned error = %10.6g, nnz before = %3.4f %%, nnz after = %3.4f %%", mat::getNormTypeString(truncationNorm).c_str(), (double)threshold_2, (double)truncError_2, nnzD_before_trunc_pc, nnzD_after_trunc_pc); puri_stats[stats_prefix + "nnz_percentage_D_ort"] = nnzD_after_trunc_pc; { triangMatrix invCholFactor_tmp(invCholFactor); invCholFactor_tmp.readFromFile(); output_current_memory_usage(LOG_AREA_DENSFROMF, "Before D_w.to_nonnorm_basis"); Util::TimeMeter timeMeterWriteAndReadAll; std::string sizesStr = mat::FileWritable::writeAndReadAll(); timeMeterWriteAndReadAll.print(LOG_AREA_DENSFROMF, "FileWritable::writeAndReadAll"); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, ((std::string)"writeAndReadAll sizesStr: '" + sizesStr).c_str()); Util::TimeMeter timeMeterDortTransf; MatrixTypeTriang invCholFactor_tmp_w(invCholFactor_tmp, params_triang); D_w.to_nonnorm_basis(invCholFactor_tmp_w); timeMeterDortTransf.print(LOG_AREA_DENSFROMF, "D_w.to_nonnorm_basis"); output_current_memory_usage(LOG_AREA_DENSFROMF, "After D_w.to_nonnorm_basis [D_S = Z * D_ort * ZT]"); // get matrix from CHTMatrix wrapper now D_w.get_matrix(resultDens); D_w.clear(); // clean wrapper // Do truncation again, to reduce memory usage. ergo_real threshold_3 = subspaceThr_3 * (1-2*eigvalueThr_Puri-2*truncError_2) / (1+subspaceThr_3); //Make sure that eigenvalue movement is not too large: threshold_3 = eigvalueThr_3 < threshold_3 ? eigvalueThr_3 : threshold_3; //Do truncation, taking into account that we are in 'non-orthogonal basis', passing invCholFactor to thresh double nnzD_S_before_trunc_pc = (double)resultDens.nnz() * 100 / ((double)n*n); ergo_real truncError_3 = resultDens.eucl_thresh( threshold_3, &invCholFactor_tmp ); double nnzD_S_after_trunc_pc = (double)resultDens.nnz() * 100 / ((double)n*n); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Truncated D_S (eucl with Z), selected threshold = %10.6g, returned error = %10.6g, nnz before = %3.4f %%, nnz after = %3.4f %%", (double)threshold_3, (double)truncError_3, nnzD_S_before_trunc_pc, nnzD_S_after_trunc_pc); puri_stats[stats_prefix + "nnz_percentage_D_S"] = nnzD_S_after_trunc_pc; } resultDens *= factor; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "get_dens_from_fock_sparse ending OK"); timeMeterTot.print(LOG_AREA_DENSFROMF, "get_dens_from_fock_sparse"); return 0; } /** Function save all needed data to files in order to repeat recursive expansion in a desired SCF cycle later. The purpose of the function is mainly testing. */ void GetDensFromFock::create_checkpoint(symmMatrix & Finput, symmMatrix & F_ort_prev, generalVector * eigVecLUMO, generalVector * eigVecHOMO, std::string IDstr) { std::ostringstream checkpoint_ID; checkpoint_ID << IDstr << "_" << SCF_step; std::cout << "Create checkpoint with ID = " << checkpoint_ID.str() << std::endl; /* Save input data */ std::ostringstream name; name << filenameFinput << "_" << checkpoint_ID.str() << ".bin"; Finput.copyToFile(name.str().c_str()); name.clear(); name.str(""); name << filenameF_ort_prev << "_" << checkpoint_ID.str() << ".bin"; F_ort_prev.copyToFile(name.str().c_str()); /* Save class members */ // matrices // Overlap matrix (written to file) name.clear(); name.str(""); name << filenameOverlap << "_" << checkpoint_ID.str() << ".bin"; overlapMatrix.copyToFile(name.str().c_str()); // Inverse Cholesky factor (written to file) name.clear(); name.str(""); name << filenameinvCholFactor << "_" << checkpoint_ID.str() << ".bin"; invCholFactor.copyToFile(name.str().c_str()); // save all numbers of basic arithmetic types name.clear(); name.str(""); name << file_for_basic_types << "_" << checkpoint_ID.str() << ".data"; ofstream file_basic (name.str().c_str(), ios::out | ios::app); if (!file_basic.is_open()) throw "GetDensFromFock::create_checkpoint unable open file for writing."; file_basic << SCF_step << "\n"; file_basic << use_diagonalization << "\n"; file_basic << use_purification << "\n"; file_basic << use_stochastic_orbitals << "\n"; file_basic << store_all_eigenvalues_to_file << "\n"; file_basic << try_eigv_on_next_iteration_if_fail << "\n"; file_basic << electronicTemperature << "\n"; file_basic << std::setprecision(8) << gap_expected_lower_bound << "\n"; file_basic << std::setprecision(8) << eigvalueErrorLimit << "\n"; file_basic << std::setprecision(8) << subspaceErrorLimit << "\n"; file_basic << do_comparison_to_simple_purification << "\n"; file_basic << use_diag_on_error << "\n"; file_basic << use_diag_on_error_guess << "\n"; file_basic << do_sparsity_investigation << "\n"; file_basic << sparsity_plots_resolution_m << "\n"; file_basic << do_puri_mmul_tests << "\n"; file_basic << create_m_files << "\n"; file_basic << output_homo_and_lumo_eigenvectors << "\n"; file_basic << use_prev_vector_as_initial_guess << "\n"; file_basic << ignore_purification_failure << "\n"; file_basic << use_rand_perturbation_for_alleigsint << "\n"; file_basic << stats_prefix << "\n"; file_basic << plot_puri_results << "\n"; file_basic << plot_puri_results_str << "\n"; file_basic << use_acceleration << "\n"; file_basic << use_new_stopping_criterion << "\n"; file_basic << eigenvectors_method << "\n"; file_basic << eigenvectors_iterative_method << "\n"; file_basic << number_of_eigenvalues << "\n"; file_basic << std::setprecision(8) << eigensolver_accuracy << "\n"; file_basic << eigensolver_maxiter << "\n"; file_basic << n << "\n"; file_basic << noOfOccupiedOrbs << "\n"; file_basic << factor << "\n"; file_basic << std::setprecision(8) << invCholFactor_euclnorm << "\n"; file_basic << maxMul << "\n"; file_basic << leavesSizeMax << "\n"; file_basic << blocksize << "\n"; if(output_homo_and_lumo_eigenvectors == SET && eigenvectors_method != "") { if(!eigVecLUMO->is_empty()) { file_basic << 1 << "\n"; eigVecLUMO->writeToFile(); name.clear(); name.str(""); name << filenameeigVecLUMO << "_" << checkpoint_ID.str() << ".bin"; eigVecLUMO->copyToFile(name.str().c_str()); eigVecLUMO->readFromFile(); } else file_basic << 0 << "\n"; if(!eigVecHOMO->is_empty()) { file_basic << 1 << "\n"; eigVecHOMO->writeToFile(); name.clear(); name.str(""); name << filenameeigVecHOMO << "_" << checkpoint_ID.str() << ".bin"; eigVecHOMO->copyToFile(name.str().c_str()); eigVecHOMO->readFromFile(); } else file_basic << 0 << "\n"; } else file_basic << 0 << "\n" << 0 << "\n"; // all non-trivial switch(truncationNormPurification) { case mat::frobNorm: {file_basic << 1 << "\n"; break;} case mat::mixedNorm: {file_basic << 2 << "\n"; break;} case mat::euclNorm: {file_basic << 3 << "\n"; break;} default: throw "GetDensFromFock::create_checkpoint unknown truncation norm."; } switch(stopCriterionNormPurification) { case mat::frobNorm: {file_basic << 1 << "\n"; break;} case mat::mixedNorm: {file_basic << 2 << "\n"; break;} case mat::euclNorm: {file_basic << 3 << "\n"; break;} default: throw "GetDensFromFock::create_checkpoint unknown stopping criterion norm."; } std::vector blockSizesCopy; matrixSizesAndBlocks.getBlockSizeVector(blockSizesCopy); file_basic << blockSizesCopy.size() << "\n"; for(unsigned int i = 0; i < blockSizesCopy.size(); ++i) file_basic << blockSizesCopy[i] << "\n"; file_basic << std::setprecision(16) << homoInterval_Finput.low() << "\n"; file_basic << std::setprecision(16) << homoInterval_Finput.upp() << "\n"; file_basic << std::setprecision(16) << lumoInterval_Finput.low() << "\n"; file_basic << std::setprecision(16) << lumoInterval_Finput.upp() << "\n"; file_basic << std::setprecision(16) << homoInterval_F_ort_prev.low() << "\n"; file_basic << std::setprecision(16) << homoInterval_F_ort_prev.upp() << "\n"; file_basic << std::setprecision(16) << lumoInterval_F_ort_prev.low() << "\n"; file_basic << std::setprecision(16) << lumoInterval_F_ort_prev.upp() << "\n"; file_basic << std::setprecision(16) << homo2Interval_F_ort_prev.low() << "\n"; file_basic << std::setprecision(16) << homo2Interval_F_ort_prev.upp() << "\n"; file_basic << std::setprecision(16) << lumo2Interval_F_ort_prev.low() << "\n"; file_basic << std::setprecision(16) << lumo2Interval_F_ort_prev.upp() << "\n"; if(use_stochastic_orbitals) throw "GetDensFromFock::create_checkpoint checkpoint with stochastic orbitals is not implemented."; file_basic.close(); } /** Function restores data from files in order to repeat recursive expansion in a desired SCF cycle. The purpose of the function is mainly testing. */ void GetDensFromFock::restore_from_checkpoint(GetDensFromFock &DensFromFock, symmMatrix & Finput, symmMatrix & F_ort_prev, generalVector * eigVecLUMO, generalVector * eigVecHOMO, std::string checkpoint_path, std::string IDstr, int SCF_step) { const char * filenameFinput = DensFromFock.filenameFinput; const char * filenameF_ort_prev = DensFromFock.filenameF_ort_prev; const char * filenameeigVecLUMO = DensFromFock.filenameeigVecLUMO; const char * filenameeigVecHOMO = DensFromFock.filenameeigVecHOMO; const char * filenameOverlap = DensFromFock.filenameOverlap; const char * filenameinvCholFactor = DensFromFock.filenameinvCholFactor; const char * file_for_basic_types = DensFromFock.file_for_basic_types; // read all basic data std::ostringstream name; name << checkpoint_path << "/" << file_for_basic_types << "_" << IDstr << "_" << SCF_step << ".data"; ifstream file_basic (name.str().c_str(), ios::in); if (!file_basic.is_open()) throw "GetDensFromFock::restore_from_checkpoint unable open file for reading."; string tmp; file_basic >> DensFromFock.SCF_step; file_basic >> DensFromFock.use_diagonalization; file_basic >> DensFromFock.use_purification; file_basic >> DensFromFock.use_stochastic_orbitals; file_basic >> DensFromFock.store_all_eigenvalues_to_file; file_basic >> DensFromFock.try_eigv_on_next_iteration_if_fail; file_basic >> DensFromFock.electronicTemperature; file_basic >> DensFromFock.gap_expected_lower_bound; file_basic >> DensFromFock.eigvalueErrorLimit; file_basic >> DensFromFock.subspaceErrorLimit; file_basic >> DensFromFock.do_comparison_to_simple_purification; file_basic >> DensFromFock.use_diag_on_error; file_basic >> DensFromFock.use_diag_on_error_guess; file_basic >> DensFromFock.do_sparsity_investigation; file_basic >> DensFromFock.sparsity_plots_resolution_m ; file_basic >> DensFromFock.do_puri_mmul_tests; file_basic >> DensFromFock.create_m_files; file_basic >> DensFromFock.output_homo_and_lumo_eigenvectors; file_basic >> DensFromFock.use_prev_vector_as_initial_guess; file_basic >> DensFromFock.ignore_purification_failure; file_basic >> DensFromFock.use_rand_perturbation_for_alleigsint; getline (file_basic, tmp); getline (file_basic, DensFromFock.stats_prefix); //file_basic >> DensFromFock.stats_prefix; file_basic >> DensFromFock.plot_puri_results; getline (file_basic, tmp); getline (file_basic, DensFromFock.plot_puri_results_str); //file_basic >> DensFromFock.plot_puri_results_str; file_basic >> DensFromFock.use_acceleration; file_basic >> DensFromFock.use_new_stopping_criterion; getline (file_basic, tmp); getline (file_basic, DensFromFock.eigenvectors_method); //file_basic >> DensFromFock.eigenvectors_method; getline (file_basic, DensFromFock.eigenvectors_iterative_method); //file_basic >> DensFromFock.eigenvectors_iterative_method; file_basic >> DensFromFock.number_of_eigenvalues; file_basic >> DensFromFock.eigensolver_accuracy; file_basic >> DensFromFock.eigensolver_maxiter; file_basic >> DensFromFock.n; file_basic >> DensFromFock.noOfOccupiedOrbs; file_basic >> DensFromFock.factor; file_basic >> DensFromFock.invCholFactor_euclnorm; file_basic >> DensFromFock.maxMul; file_basic >> DensFromFock.leavesSizeMax; file_basic >> DensFromFock.blocksize; // TODO DensFromFock.use_stochastic_orbitals = 0; int vector_lumo_not_null, vector_homo_not_null; file_basic >> vector_lumo_not_null; file_basic >> vector_homo_not_null; int norm_trunc_ID; file_basic >> norm_trunc_ID; switch(norm_trunc_ID) { case 1:{ DensFromFock.truncationNormPurification = mat::frobNorm; break;} case 2:{ DensFromFock.truncationNormPurification = mat::mixedNorm; break;} case 3:{ DensFromFock.truncationNormPurification = mat::euclNorm; break;} default: throw "GetDensFromFock::restore_from_checkpoint unknown truncation norm."; } int norm_st_crit_ID; file_basic >> norm_st_crit_ID; switch(norm_st_crit_ID) { case 1:{ DensFromFock.stopCriterionNormPurification = mat::frobNorm; break;} case 2:{ DensFromFock.stopCriterionNormPurification = mat::mixedNorm; break;} case 3:{ DensFromFock.stopCriterionNormPurification = mat::euclNorm; break;} default: throw "GetDensFromFock::restore_from_checkpoint unknown stopping criterion norm."; } int blockSizes_size; file_basic >> blockSizes_size; std::vector blockSizes(blockSizes_size); for(int i = 0; i < blockSizes_size; ++i) file_basic >> blockSizes[i]; DensFromFock.matrixSizesAndBlocks = mat::SizesAndBlocks(blockSizes, DensFromFock.n); // eigenvalue bounds ergo_real lower, upper; file_basic >> lower >> upper; DensFromFock.homoInterval_Finput = intervalType(lower, upper); file_basic >> lower >> upper; DensFromFock.lumoInterval_Finput = intervalType(lower, upper); file_basic >> lower >> upper; DensFromFock.homoInterval_F_ort_prev = intervalType(lower, upper); file_basic >> lower >> upper; DensFromFock.lumoInterval_F_ort_prev = intervalType(lower, upper); file_basic >> lower >> upper; DensFromFock.homo2Interval_F_ort_prev = intervalType(lower, upper); file_basic >> lower >> upper; DensFromFock.lumo2Interval_F_ort_prev = intervalType(lower, upper); file_basic.close(); // initialize all matrices and vectors with corresponding block dimensions name.clear(); name.str(""); name << checkpoint_path << "/" << filenameFinput << "_" << IDstr << "_" << SCF_step << ".bin"; Finput.resetSizesAndBlocks(DensFromFock.matrixSizesAndBlocks, DensFromFock.matrixSizesAndBlocks); // set data structure Finput.copyFromFile(name.str().c_str()); name.clear(); name.str(""); name << checkpoint_path << "/" << filenameF_ort_prev << "_" << IDstr << "_" << SCF_step << ".bin"; F_ort_prev.resetSizesAndBlocks(DensFromFock.matrixSizesAndBlocks, DensFromFock.matrixSizesAndBlocks); // set data structure F_ort_prev.copyFromFile(name.str().c_str()); name.clear(); name.str(""); name << checkpoint_path << "/" << filenameOverlap << "_" << IDstr << "_" << SCF_step << ".bin"; DensFromFock.overlapMatrix.resetSizesAndBlocks(DensFromFock.matrixSizesAndBlocks, DensFromFock.matrixSizesAndBlocks); // set data structure DensFromFock.overlapMatrix.copyFromFile(name.str().c_str()); name.clear(); name.str(""); name << checkpoint_path << "/" << filenameinvCholFactor << "_" << IDstr << "_" << SCF_step << ".bin"; DensFromFock.invCholFactor.resetSizesAndBlocks(DensFromFock.matrixSizesAndBlocks, DensFromFock.matrixSizesAndBlocks); // set data structure DensFromFock.invCholFactor.copyFromFile(name.str().c_str()); // HOMO and LUMO eigenvectors if(vector_lumo_not_null) { eigVecLUMO->resetSizesAndBlocks(DensFromFock.matrixSizesAndBlocks);// set data structure name.clear(); name.str(""); name << checkpoint_path << "/" << filenameeigVecLUMO << "_" << IDstr << "_" << SCF_step << ".bin"; eigVecLUMO->copyFromFile(name.str().c_str()); eigVecLUMO->readFromFile(); } if(vector_homo_not_null) { eigVecHOMO->resetSizesAndBlocks(DensFromFock.matrixSizesAndBlocks);// set data structure name.clear(); name.str(""); name << checkpoint_path << "/" << filenameeigVecHOMO << "_" << IDstr << "_" << SCF_step << ".bin"; eigVecHOMO->copyFromFile(name.str().c_str()); eigVecHOMO->readFromFile(); } } ergo-3.5/source/densfromf/densfromf_stochastic.cc0000664000175000017500000002346312743400307017251 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file densfromf_stochastic.cc \brief Routine get_dens_from_fock_stochastic() for getting density matrix from a given Fock matrix using stochastic orbitals. @author: Elias Rudberg responsible. */ #include "densfromf_stochastic.h" #include "utilities.h" #include "AllocatorManager.h" #include static ergo_real get_scalar_product(const std::vector & a, const std::vector & b) { if(a.size() != b.size()) throw "Error in get_scalar_product: (a.size() != b.size())."; ergo_real sum = 0; for(size_t i = 0; i < a.size(); i++) sum += a[i] * b[i]; return sum; } static int verify_that_vector_is_normalized(const std::vector & v) { ergo_real sqSum = 0; for(size_t i = 0; i < v.size(); i++) sqSum += v[i] * v[i]; ergo_real diff_from_one = std::fabs(sqSum-1); if(diff_from_one > 1e-11) { do_output(LOG_CAT_ERROR, LOG_AREA_DENSFROMF, "Error: verify_that_vector_is_normalized failure; diff_from_one = %8.4g", (double)diff_from_one); return -1; } return 0; } int get_dens_from_fock_stochastic(int n, int noOfOccupiedOrbs, symmMatrix & resultDens, ergo_real factor, symmMatrix const & Finput, triangMatrix const & invCholFactor, mat::SizesAndBlocks const & matrixSizesAndBlocks, const std::vector< std::vector > stochastic_orbitals) { Util::TimeMeter timeMeterTot; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "get_dens_from_fock_stochastic() start!"); symmMatrix F(Finput); F.readFromFile(); std::string allocStatsStr3 = mat::AllocatorManager::instance().getStatistics(); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "After F.readFromFile(): %s", allocStatsStr3.c_str()); { triangMatrix invCholFactor_tmp(invCholFactor); invCholFactor_tmp.readFromFile(); output_current_memory_usage(LOG_AREA_DENSFROMF, "In get_dens_from_fock_sparse, before F = tr(Z) * F * Z"); Util::TimeMeter timeMeterFortTransf; F = transpose(invCholFactor_tmp) * F * invCholFactor_tmp; timeMeterFortTransf.print(LOG_AREA_DENSFROMF, "F = transpose(invCholFactor) * F * invCholFactor"); output_current_memory_usage(LOG_AREA_DENSFROMF, "In get_dens_from_fock_sparse, after F = tr(Z) * F * Z"); } // invCholFactor_tmp goes out of scope here // Now F contains F_ort. // Diagonalize F. std::vector F_full(n*n); { // Create full matrix version of F normalMatrix* tmpMat; tmpMat = new normalMatrix(F); tmpMat->fullMatrix(F_full); delete tmpMat; } std::vector eigVals(n); std::vector< std::vector > eigVecs(n); { std::vector A(n*n); for(int k = 0; k < n*n; k++) A[k] = F_full[k]; int info = -1; int lwork = 3*n-1; std::vector work(lwork); Util::TimeMeter timeMeter_syev; mat::syev("V", "U", &n, &A[0], &n, &eigVals[0], &work[0], &lwork, &info); timeMeter_syev.print(LOG_AREA_DENSFROMF, "syev diagonalization"); if(info != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DENSFROMF, "Error in sygv"); return -1; } for(int i = 0; i < n; i++) { eigVecs[i].resize(n); for(int k = 0; k < n; k++) eigVecs[i][k] = A[i*n+k]; } } // Test that computed eigenpairs seem OK. for(int i = 0; i < n; i++) { std::vector Fv(n); for(int k = 0; k < n; k++) { ergo_real sum = 0; for(int m = 0; m < n; m++) sum += F_full[k*n+m]*eigVecs[i][m]; Fv[k] = sum; } ergo_real maxabsdiff = 0; for(int k = 0; k < n; k++) { ergo_real absdiff = std::fabs(Fv[k] - eigVals[i] * eigVecs[i][k]); if(absdiff > maxabsdiff) maxabsdiff = absdiff; } do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "maxabsdiff for eigenpair %6d: %9.4g", i, (double)maxabsdiff); if(maxabsdiff > 1e-8) { do_output(LOG_CAT_ERROR, LOG_AREA_DENSFROMF, "Error: too large diff when checking result after sygv"); return -1; } } // Verify that list of eigenpairs is sorted. for(int i = 0; i < n-1; i++) { ergo_real diff = eigVals[i+1] - eigVals[i]; if(diff < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DENSFROMF, "Error: eigenvalues not sorted in ascending order."); return -1; } } // Verify that all eigenvectors are normalized for(int i = 0; i < n; i++) { if(verify_that_vector_is_normalized(eigVecs[i]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DENSFROMF, "Error: eigenvectors not normalized."); return -1; } } int no_of_stochastic_orbitals = stochastic_orbitals.size(); std::vector< std::vector > projected_orbitals(no_of_stochastic_orbitals); ergo_real stochastic_orbital_scale_factor = ( (ergo_real)n / no_of_stochastic_orbitals); // Verify that all stochastic orbital vectors are normalized for(int i = 0; i < no_of_stochastic_orbitals; i++) { if(verify_that_vector_is_normalized(stochastic_orbitals[i]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DENSFROMF, "Error: stochastic orbital vectors not normalized."); return -1; } } ergo_real chemical_potential_lo = -100; // FIXME use better limits here ergo_real chemical_potential_hi = 100; // FIXME use better limits here const ergo_real beta = 100; // FIXME use other value here while(1) { ergo_real chemical_potential = ( chemical_potential_lo + chemical_potential_hi ) / 2; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "============================================="); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "chemical_potential = %15.8f", chemical_potential); // Set up vector of occupation numbers. std::vector occupation_numbers(n); for(int i = 0; i < n; i++) { occupation_numbers[i] = 0.5 * erfc(-beta*(chemical_potential-eigVals[i])); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "occupation_numbers[%5d] = %14.9f", i, (double)occupation_numbers[i]); } // Now compute the projection of each stochastic vector onto the occupied subspace. for(int i = 0; i < no_of_stochastic_orbitals; i++) { // Now take care of stochastic vector i projected_orbitals[i].resize(n); for(int k = 0; k < n; k++) projected_orbitals[i][k] = 0; for(int k = 0; k < n; k++) { ergo_real scalarProd = get_scalar_product(stochastic_orbitals[i], eigVecs[k]); for(int m = 0; m < n; m++) projected_orbitals[i][m] += occupation_numbers[k] * scalarProd * eigVecs[k][m]; } } // end for i // Now compute trace of "density matrix" from stochastic orbitals, one stochastic orbital at a time. double occupationCount = 0; for(int i = 0; i < no_of_stochastic_orbitals; i++) { // Now take care of stochastic vector i ergo_real sqSum = 0; for(int k = 0; k < n; k++) sqSum += projected_orbitals[i][k] * projected_orbitals[i][k]; occupationCount += sqSum * stochastic_orbital_scale_factor; } do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "occupationCount = %15.8f, noOfOccupiedOrbs = %d", occupationCount, noOfOccupiedOrbs); if(occupationCount > noOfOccupiedOrbs) { // Too high occupation. Then we know the chemical potential should be smaller than the value used now, so we can move down the upper bound. chemical_potential_hi = chemical_potential; } else { chemical_potential_lo = chemical_potential; } do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "chemical_potential_lo chemical_potential_hi = %15.4f %15.4f", chemical_potential_lo, chemical_potential_hi); if(chemical_potential_hi - chemical_potential_lo < 1e-8) break; } // end while trying different chemical potential values // OK, now contruct new density matrix from the projected stochastic orbitals. std::vector D_full(n*n); for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) D_full[i*n+j] = 0; // Add contributions to density matrix for one stochastic orbital at a time. for(int i = 0; i < no_of_stochastic_orbitals; i++) { for(int k = 0; k < n; k++) for(int m = 0; m < n; m++) D_full[k*n+m] += stochastic_orbital_scale_factor * projected_orbitals[i][k] * projected_orbitals[i][m]; } // OK, now D_full is the new density matrix computed from the projected stochastic orbitals. resultDens.assignFromFull(D_full); { triangMatrix invCholFactor_tmp(invCholFactor); invCholFactor_tmp.readFromFile(); resultDens = invCholFactor_tmp * resultDens * transpose(invCholFactor_tmp); } // invCholFactor_tmp goes out of scope here resultDens *= factor; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "get_dens_from_fock_stochastic ending OK"); timeMeterTot.print(LOG_AREA_DENSFROMF, "get_dens_from_fock_stochastic"); return 0; } ergo-3.5/source/densfromf/simple_purification.h0000664000175000017500000000303212743400307016737 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef SIMPLE_PURIFICATION_HEADER #define SIMPLE_PURIFICATION_HEADER #include "realtype.h" #include "matrix_typedefs.h" void run_comparison_to_simple_purification ( symmMatrix const & F_ort, int const noOfOccupiedOrbs, intervalType const & allEigsInterval, symmMatrix const & D_ort, int const globalCounter); #endif ergo-3.5/source/densfromf/Makefile.in0000664000175000017500000005322312743400352014575 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/densfromf ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libdensfromf_a_AR = $(AR) $(ARFLAGS) libdensfromf_a_LIBADD = am_libdensfromf_a_OBJECTS = densfromf_full.$(OBJEXT) \ densfromf_stochastic.$(OBJEXT) puri_mmul_tests.$(OBJEXT) \ simple_purification.$(OBJEXT) GetDensFromFock.$(OBJEXT) libdensfromf_a_OBJECTS = $(am_libdensfromf_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libdensfromf_a_SOURCES) DIST_SOURCES = $(libdensfromf_a_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = \ recursive_expansion noinst_LIBRARIES = libdensfromf.a libdensfromf_a_SOURCES = \ densfromf_full.cc \ densfromf_full.h \ densfromf_stochastic.cc \ densfromf_stochastic.h \ puri_mmul_tests.h \ puri_mmul_tests.cc \ simple_purification.h \ simple_purification.cc \ GetDensFromFock.h \ GetDensFromFock.cc AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack \ -I$(top_srcdir)/source/densfromf/recursive_expansion \ -I$(top_srcdir)/source/densfromf/recursive_expansion/src \ -I$(top_srcdir)/source/matrix_wrapper \ -I$(top_srcdir)/source/matrix_wrapper/ErgoMatrix/src \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src all: all-recursive .SUFFIXES: .SUFFIXES: .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/densfromf/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/densfromf/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libdensfromf.a: $(libdensfromf_a_OBJECTS) $(libdensfromf_a_DEPENDENCIES) $(EXTRA_libdensfromf_a_DEPENDENCIES) $(AM_V_at)-rm -f libdensfromf.a $(AM_V_AR)$(libdensfromf_a_AR) libdensfromf.a $(libdensfromf_a_OBJECTS) $(libdensfromf_a_LIBADD) $(AM_V_at)$(RANLIB) libdensfromf.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GetDensFromFock.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/densfromf_full.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/densfromf_stochastic.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/puri_mmul_tests.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_purification.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LIBRARIES) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-noinstLIBRARIES \ cscopelist-am ctags ctags-am distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/densfromf/Makefile.am0000664000175000017500000000167612743400307014571 00000000000000SUBDIRS = \ recursive_expansion noinst_LIBRARIES = libdensfromf.a libdensfromf_a_SOURCES = \ densfromf_full.cc \ densfromf_full.h \ densfromf_stochastic.cc \ densfromf_stochastic.h \ puri_mmul_tests.h \ puri_mmul_tests.cc \ simple_purification.h \ simple_purification.cc \ GetDensFromFock.h \ GetDensFromFock.cc AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack \ -I$(top_srcdir)/source/densfromf/recursive_expansion \ -I$(top_srcdir)/source/densfromf/recursive_expansion/src \ -I$(top_srcdir)/source/matrix_wrapper \ -I$(top_srcdir)/source/matrix_wrapper/ErgoMatrix/src \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src ergo-3.5/source/densfromf/densfromf_stochastic.h0000664000175000017500000000423512743400307017107 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef DENSFROMFSTOCHASTICHEADER #define DENSFROMFSTOCHASTICHEADER #include "realtype.h" #include "matrix_typedefs.h" int get_dens_from_fock_stochastic(int n, /**< System size. */ int noOfOccupiedOrbs, /**< Number of occupied orbitals. */ symmMatrix & resultDens, /**< (out) Resulting density matrix (D_S) in 'non-orthogonal basis'. ( D_S = Z*D_ort*ZT ) */ ergo_real factor, /**< Factor to scale the resulting density matrix. (for restricted vs unrestricted calc) */ symmMatrix const & Finput, /**< (in) Fock/Kohn-Sham matrix (F_S) in 'non-orthogonal basis'. (written to file) */ triangMatrix const & invCholFactor, /**< (in) Inverse Cholesky factor of S. (written to file) */ mat::SizesAndBlocks const & matrixSizesAndBlocks, /**< Information about HML matrix block sizes etc. */ const std::vector< std::vector > stochastic_orbitals /**< Vector of stochastic orbitals. */ ); #endif ergo-3.5/source/densfromf/GetDensFromFock.h0000664000175000017500000006166412743400307015671 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef GETDENSFROMFOCKHEADER #define GETDENSFROMFOCKHEADER #include "realtype.h" #include "matrix_typedefs.h" #include "output.h" /** GetDensFromFock class containing parameters and functions for computing density matrix. * * Flags are set to undefined value by default. User should define * them explicitly, otherwise exception is thrown if undefined flag is * used. */ class GetDensFromFock { public: static const int UNDEF_VALUE; static const int SET; static const int UNSET; void create_checkpoint(symmMatrix & Finput, /**< [in] Effective Hamiltonian matrix (written to file) */ symmMatrix & F_ort_prev, /**< [in/out] Input: Previous F matrix in orthogonal basis. (written to file) Output: New F matrix in orthogonal basis ( ZT*Finput*Z ). (written to file) */ generalVector * eigVecLUMO, /**< [out] LUMO eigenvector */ generalVector * eigVecHOMO, /**< [out] HOMO eigenvector */ std::string IDstr /**< [in] File identificator; added to the name of each file */ ); static void restore_from_checkpoint(GetDensFromFock &DensFromFock, /**< [out] Instance of GetDensFromFock class contatining all data for computing the density matrix */ symmMatrix & Finput, /**< [out] Effective Hamiltonian matrix (written to file) */ symmMatrix & F_ort_prev, /**< [out] F matrix in orthogonal basis ( ZT*Finput*Z ). (written to file) */ generalVector * eigVecLUMO, /**< [out] LUMO eigenvector */ generalVector * eigVecHOMO, /**< [out] HOMO eigenvector */ std::string checkpoint_path, /**< [out] HOMO eigenvector */ std::string IDstr, /**< [in] File identificator; added to the name of each file. */ int SCF_step /**< [in] SCF step which should be restored; added to the name of each file in given SCF cycle. */ ); //constructor GetDensFromFock() { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Create object from GetDensFromFock."); // set all variables and flags to UNDEF_VALUE n = UNDEF_VALUE; noOfOccupiedOrbs = UNDEF_VALUE; factor = UNDEF_VALUE; invCholFactor_euclnorm = UNDEF_VALUE; maxMul = UNDEF_VALUE; plot_puri_results = UNDEF_VALUE; SCF_step = UNDEF_VALUE; use_diagonalization = UNDEF_VALUE; use_purification = UNDEF_VALUE; use_stochastic_orbitals = UNDEF_VALUE; electronicTemperature = UNDEF_VALUE; gap_expected_lower_bound = UNDEF_VALUE; eigvalueErrorLimit = UNDEF_VALUE; subspaceErrorLimit = UNDEF_VALUE; puri_eig_acc_factor_for_guess = UNDEF_VALUE; do_comparison_to_simple_purification = UNDEF_VALUE; use_diag_on_error = UNDEF_VALUE; use_diag_on_error_guess = UNDEF_VALUE; do_sparsity_investigation = UNDEF_VALUE; sparsity_plots_resolution_m = UNDEF_VALUE; do_puri_mmul_tests = UNDEF_VALUE; create_m_files = UNDEF_VALUE; output_homo_and_lumo_eigenvectors = UNDEF_VALUE; ignore_purification_failure = UNDEF_VALUE; use_rand_perturbation_for_alleigsint = UNDEF_VALUE; use_acceleration = UNDEF_VALUE; use_new_stopping_criterion = UNDEF_VALUE; store_all_eigenvalues_to_file = UNDEF_VALUE; try_eigv_on_next_iteration_if_fail = UNDEF_VALUE; number_of_eigenvalues = UNDEF_VALUE; leavesSizeMax = UNDEF_VALUE; blocksize = UNDEF_VALUE; eigenvectors_method = ""; eigenvectors_iterative_method = ""; use_prev_vector_as_initial_guess = UNDEF_VALUE; eigensolver_accuracy = UNDEF_VALUE; eigensolver_maxiter = UNDEF_VALUE; std::string stats_prefix = ""; clean_eigs_intervals(); clean_puri_stats(); eigVecHOMO2 = NULL; eigVecLUMO2 = NULL; filenameFinput = "matrix_Finput"; filenameF_ort_prev = "matrix_F_ort_prev"; filenameeigVecLUMO = "vector_eigVecLUMO"; filenameeigVecHOMO = "vector_eigVecHOMO"; filenameOverlap = "matrix_Overlap"; filenameD_ort_prev = "matrix_D_ort_prev"; filenameinvCholFactor = "matrix_invCholFactor"; file_for_basic_types = "basic_types"; } /** Choose which method to use for computing the density matrix from Fock matrix. */ int get_dens_from_fock(symmMatrix & Finput, /**< [in] Effective Hamiltonian matrix. (written to file) */ symmMatrix & resultDens, /**< [out] Density matrix. (written to file) */ symmMatrix & F_ort_prev, /**< [in/out] Input: Previous F matrix in orthogonal basis. (written to file) Output: New F matrix in orthogonal basis ( ZT*Finput*Z ). (written to file) */ generalVector * eigVecLUMO = 0, /**< [out] LUMO eigenvector */ generalVector * eigVecHOMO = 0 /**< [out] HOMO eigenvector */ ); /** Use recursive expansion for computing the density matrix from Fock matrix. */ int get_dens_from_fock_sparse( symmMatrix & F, /**< [in] Effective Hamiltonian matrix. (written to file) */ symmMatrix & resultDens, /**< [out] Density matrix. (written to file) */ symmMatrix & F_ort_prev, /**< [in/out] Input: Previous F matrix in orthogonal basis. (written to file) Output: New F matrix in orthogonal basis ( ZT*Finput*Z ). (written to file) */ generalVector * eigVecLUMO = 0, /**< [out] HOMO eigenvector */ generalVector * eigVecHOMO = 0 /**< [out] HOMO eigenvector */ ); /** Set bounds for HOMO and LUMO eigenvalues to -/+ inf, thus remove any known bounds. */ inline void clean_eigs_intervals() { homoInterval_Finput = intervalType(-1e22,1e22); lumoInterval_Finput = intervalType(-1e22,1e22); homoInterval_Finput = intervalType(-1e22,1e22); lumoInterval_Finput = intervalType(-1e22,1e22); homoInterval_F_ort_prev = intervalType(-1e22,1e22); lumoInterval_F_ort_prev = intervalType(-1e22,1e22); homoInterval_F_ort_prev = intervalType(-1e22,1e22); lumoInterval_F_ort_prev = intervalType(-1e22,1e22); } /** Plot figures from the recursive expansion. */ inline void set_generate_figures(int step, /**< [in] Step is an scf step */ std::string str = "") /**< [in] String added to each generated file. */ { assert(create_m_files != UNDEF_VALUE); if(create_m_files == SET) { assert(step >= 0); SCF_step = step; plot_puri_results = SET; plot_puri_results_str = str; } } /** Do not plot figures from the recursive expansion. */ inline void unset_generate_figures() { assert(create_m_files != UNDEF_VALUE); SCF_step = UNDEF_VALUE; plot_puri_results = UNSET; plot_puri_results_str = ""; } inline void set_general_params(const int n_, /**< [in] Number of basis functions. */ mat::SizesAndBlocks const & matrixSizesAndBlocks_ /**< [in] Matrix library parameters. */ ) { assert(n_ >= 1); n = n_; matrixSizesAndBlocks = matrixSizesAndBlocks_ ; } inline void set_cht_matrix_params(const int leavesSizeMax_, /**< [in] CHTMatrix library parameter leavesSizeMax. */ const int blocksize_ /**< [in] CHTMatrix library parameter blocksize. */ ) { assert(leavesSizeMax_ >= 1); assert(blocksize_ >= 1); leavesSizeMax = leavesSizeMax_; blocksize = blocksize_ ; } inline void get_SizesAndBlocks(mat::SizesAndBlocks & matrixSizesAndBlocks_ /**< [out] Matrix library parameters. */ ) const { matrixSizesAndBlocks_ = matrixSizesAndBlocks ; } /** Set truncation norm used in the recursive expansion. * Possible norms: spectral, Frobenius or mixed. */ inline void set_truncationNormPurification(mat::normType const truncationNormPurification_ /**< [in] Norm used in truncation. */) { truncationNormPurification = truncationNormPurification_; } /** Set stopping criterion norm used in the recursive expansion. * Possible norms: spectral, Frobenius or mixed. */ inline void set_stopCriterionNormPurification(mat::normType const stopCriterionNormPurification_ /**< [in] Norm used in the stopping criterion. */) { stopCriterionNormPurification = stopCriterionNormPurification_; } inline void do_restricted_calculations() {factor = 2;} inline void do_unrestricted_calculations() {factor = 1;} inline void set_no_occupied_orbs(int noOfOccupiedOrbs_) { assert(noOfOccupiedOrbs_ >= 0); noOfOccupiedOrbs = noOfOccupiedOrbs_; } inline void clean_puri_stats() { puri_stats.clear(); } inline void set_invCholFactor(triangMatrix const & invCholFactor_, ergo_real invCholFactor_euclnorm_) { invCholFactor = invCholFactor_; assert(invCholFactor_euclnorm_ >= 0); invCholFactor_euclnorm = invCholFactor_euclnorm_; } inline void set_gap_expected_lower_bound(ergo_real gap_expected_lower_bound_) { assert(gap_expected_lower_bound_ >= 0); gap_expected_lower_bound = gap_expected_lower_bound_; } inline void set_sparsity_plots_resolution_m(ergo_real sparsity_plots_resolution_m_) { assert(sparsity_plots_resolution_m_ > 0); sparsity_plots_resolution_m = sparsity_plots_resolution_m_; } /** Set maximum allowed number of iterations in recursive expansion. */ inline void set_purification_maxmul(ergo_real purification_maxmul_) { assert(purification_maxmul_ > 0); maxMul = purification_maxmul_; } /**** SET/UNSET SECTION *****/ inline int get_do_sparsity_investigation() const { return do_sparsity_investigation == SET; } inline void set_do_sparsity_investigation() { do_sparsity_investigation = SET; } inline void unset_do_sparsity_investigation() { do_sparsity_investigation = UNSET; } inline int get_do_comparison_to_simple_purification() const { return do_comparison_to_simple_purification == SET; } inline void set_do_comparison_to_simple_purification() { do_comparison_to_simple_purification = SET; } inline void unset_do_comparison_to_simple_purification() { do_comparison_to_simple_purification = UNSET; } inline int get_do_puri_mmul_tests() const { return do_puri_mmul_tests == SET; } inline void set_do_puri_mmul_tests() { do_puri_mmul_tests = SET; } inline void unset_do_puri_mmul_tests() { do_puri_mmul_tests = UNSET; } inline int get_purification_create_m_files() const { return create_m_files == SET; } inline void set_purification_create_m_files() { create_m_files = SET; } inline void unset_purification_create_m_files() { create_m_files = UNSET; } inline int get_output_homo_and_lumo_eigenvectors() const { return output_homo_and_lumo_eigenvectors == SET; } inline void set_output_homo_and_lumo_eigenvectors() { output_homo_and_lumo_eigenvectors = SET; } inline void unset_output_homo_and_lumo_eigenvectors() { output_homo_and_lumo_eigenvectors = UNSET; } inline int get_purification_ignore_failure() const { return ignore_purification_failure == SET; } inline void set_purification_ignore_failure() { ignore_purification_failure = SET; } inline void unset_purification_ignore_failure() { ignore_purification_failure = UNSET; } inline int get_use_rand_perturbation_for_alleigsint() const { return use_rand_perturbation_for_alleigsint == SET; } inline void set_purification_use_rand_perturbation_for_alleigsint() { use_rand_perturbation_for_alleigsint = SET; } inline void unset_purification_use_rand_perturbation_for_alleigsint() { use_rand_perturbation_for_alleigsint = UNSET; } inline int get_use_diagonalization() const { return use_diagonalization == SET; } inline void set_use_diagonalization() { use_diagonalization = SET; } inline void unset_use_diagonalization() { use_diagonalization = UNSET; } inline int get_use_purification() const { return use_purification == SET; } inline void set_use_purification() { use_purification = SET; } inline void unset_use_purification() { use_purification = UNSET; } inline int get_use_stochastic_orbitals() const { return use_stochastic_orbitals == SET; } inline void set_use_stochastic_orbitals() { use_stochastic_orbitals = SET; } inline void unset_use_stochastic_orbitals() { use_stochastic_orbitals = UNSET; } inline int get_use_diag_on_error_guess() const { return use_diag_on_error_guess == SET; } inline void set_use_diag_on_error_guess() { use_diag_on_error_guess = SET; } inline void unset_use_diag_on_error_guess() { use_diag_on_error_guess = UNSET; } inline int get_use_diag_on_error() const { return use_diag_on_error == SET; } inline void set_use_diag_on_error() { use_diag_on_error = SET; } inline void unset_use_diag_on_error() { use_diag_on_error = UNSET; } inline std::string get_stats_prefix() const { return stats_prefix; } inline void set_stats_prefix(std::string stats_prefix_) { stats_prefix = stats_prefix_; } inline void unset_stats_prefix() { stats_prefix = ""; } inline int get_use_acceleration() const { return use_acceleration == SET; } inline void set_use_acceleration() { use_acceleration = SET; } inline void unset_use_acceleration() { use_acceleration = UNSET; } inline int get_use_new_stopping_criterion() const { return use_new_stopping_criterion == SET; } inline void set_use_new_stopping_criterion() { use_new_stopping_criterion = SET; } inline void unset_use_new_stopping_criterion() { use_new_stopping_criterion = UNSET; } inline int get_store_all_eigenvalues_to_file() const { return store_all_eigenvalues_to_file == SET; } inline void set_store_all_eigenvalues_to_file() { store_all_eigenvalues_to_file = SET; } inline void unset_store_all_eigenvalues_to_file() { store_all_eigenvalues_to_file = UNSET; } inline void set_diagonalization_params(ergo_real electronicTemperature_, symmMatrix & overlapMatrix_) { set_overlapMatrix(overlapMatrix_); assert(electronicTemperature_ >= 0); electronicTemperature = electronicTemperature_; } inline void set_overlapMatrix(symmMatrix & overlapMatrix_) { overlapMatrix = overlapMatrix_; } inline void set_stochastic_orbitals_params(const std::vector< std::vector > &stochastic_orbitals_) { stochastic_orbitals = stochastic_orbitals_; } inline void set_purification_limits(ergo_real subspaceErrorLimit_, ergo_real eigvalueErrorLimit_ = 0, ergo_real puri_eig_acc_factor_for_guess = 0) { set_eigvalueErrorLimit(eigvalueErrorLimit_); set_subspaceErrorLimit(subspaceErrorLimit_); set_puri_eig_acc_factor_for_guess(puri_eig_acc_factor_for_guess); } /** Set maximum allowed error in eigenvalues of the density matrix. */ inline void set_eigvalueErrorLimit(ergo_real eigvalueErrorLimit_) { eigvalueErrorLimit = eigvalueErrorLimit_; } /** Set maximum allowed error in invariant subspaces of the density * matrix. */ inline void set_subspaceErrorLimit(ergo_real subspaceErrorLimit_) { subspaceErrorLimit = subspaceErrorLimit_; } /** Set puri_eig_acc_factor_for_guess parameter. * * Obsolete parameter needed for the old stopping criterion for * creating the initial guess. */ inline void set_puri_eig_acc_factor_for_guess(ergo_real puri_eig_acc_factor_for_guess_) { puri_eig_acc_factor_for_guess = puri_eig_acc_factor_for_guess_; } // get some results from the purification ergo_real get_result_entropy_term() const { if( resultEntropyTerm == UNDEF_VALUE ) throw "Error in get_result_entropy_term (GetDensFromFock class) : get_result_entropy_term is unset."; return resultEntropyTerm; } inline void get_puri_stats(std::map & puri_stats_) const { puri_stats_ = puri_stats; } // Fprev is effective Hamiltonian matrix (=Finput) // Intervals contain the homo and lumo eigenvalues of Fprev inline void set_eigs_Fprev(intervalType & homoInterval_Finput_, intervalType & lumoInterval_Finput_) { homoInterval_Finput = intervalType(homoInterval_Finput_); lumoInterval_Finput = intervalType(lumoInterval_Finput_); } inline void get_eigs_Fprev(intervalType & homoInterval_Finput_, intervalType & lumoInterval_Finput_) const { homoInterval_Finput_ = intervalType(homoInterval_Finput); lumoInterval_Finput_ = intervalType(lumoInterval_Finput); } // F_ort_prev is matrix in orthogonal basis // Intervals contain the homo and lumo eigenvalues of F_ort_prev inline void set_eigs_F_ort_prev(intervalType & homoInterval_F_ort_prev_, intervalType & lumoInterval_F_ort_prev_) { homoInterval_F_ort_prev = intervalType(homoInterval_F_ort_prev_); lumoInterval_F_ort_prev = intervalType(lumoInterval_F_ort_prev_); } inline void set_eigs2_F_ort_prev(intervalType & homo2Interval_F_ort_prev_, intervalType & lumo2Interval_F_ort_prev_) { homo2Interval_F_ort_prev = intervalType(homo2Interval_F_ort_prev_); lumo2Interval_F_ort_prev = intervalType(lumo2Interval_F_ort_prev_); } inline void get_eigs_F_ort_prev(intervalType & homoInterval_F_ort_prev_, intervalType & lumoInterval_F_ort_prev_) const { homoInterval_F_ort_prev_ = intervalType(homoInterval_F_ort_prev); lumoInterval_F_ort_prev_ = intervalType(lumoInterval_F_ort_prev); } inline void get_eigs2_F_ort_prev(intervalType & homo2Interval_F_ort_prev_, intervalType & lumo2Interval_F_ort_prev_) const { homo2Interval_F_ort_prev_ = intervalType(homo2Interval_F_ort_prev); lumo2Interval_F_ort_prev_ = intervalType(lumo2Interval_F_ort_prev); } inline ergo_real get_eigvalueErrorLimit() const { return eigvalueErrorLimit; } inline ergo_real get_subspaceErrorLimit() const { return subspaceErrorLimit; } inline ergo_real get_puri_eig_acc_factor_for_guess() const { return puri_eig_acc_factor_for_guess; } inline void compute_eigenvectors(std::string eigenvectors_method_, std::string eigenvectors_iterative_method_, int number_of_eigenvalues_, ergo_real eigensolver_accuracy_, int eigensolver_maxiter_, int use_prev_vector_as_initial_guess_, int try_eigv_on_next_iteration_if_fail_) { assert(eigenvectors_method_ == "square" || eigenvectors_method_ == "projection"); eigenvectors_method = eigenvectors_method_; assert(eigenvectors_iterative_method_ == "power" || eigenvectors_iterative_method_ == "lanczos"); eigenvectors_iterative_method = eigenvectors_iterative_method_; eigensolver_accuracy = eigensolver_accuracy_; eigensolver_maxiter = eigensolver_maxiter_; use_prev_vector_as_initial_guess = use_prev_vector_as_initial_guess_; try_eigv_on_next_iteration_if_fail = try_eigv_on_next_iteration_if_fail_; number_of_eigenvalues = number_of_eigenvalues_; } void set_second_eigenvectors_pointers(generalVector *eigVecLUMO2_, generalVector *eigVecHOMO2_) { eigVecLUMO2 = eigVecLUMO2_; eigVecHOMO2 = eigVecHOMO2_; } private: int SCF_step; int use_diagonalization; /**< Flag to turn on diagonalization. */ int use_purification; /**< Flag to turn on purification. */ int use_stochastic_orbitals; /**< Use stochastic orbitals instead of standard density matrix construction. */ int store_all_eigenvalues_to_file; /**< Store eigenvalues to the file when doing diagonalization. * NOTE: works just with diagonalization */ int try_eigv_on_next_iteration_if_fail; /**< For square method: if eigenvector is not computed in iteration * i, try to compute it in iteration i+1 */ ergo_real electronicTemperature; /**< Electronic temperature */ ergo_real gap_expected_lower_bound; /**< Expected lower bound for the gap to be used in early iterations. */ ergo_real eigvalueErrorLimit; /**< Tolerated deviation of eigenvalues from 0 and 1 in the computed density matrix. */ ergo_real subspaceErrorLimit; /**< Tolerated error in the occupied subspace as measured by the sinus of the largest canonical angle. */ ergo_real puri_eig_acc_factor_for_guess; /**< With this number will be multiplied the tolerated deviation of eigenvalues from 0 and 1 in the computed density matrix for the initial guess density matrix */ int do_comparison_to_simple_purification; /**< Flag to turn on comparison to simple purification. */ int use_diag_on_error; /**< Flag to fall back on diagonalization if purification fails. */ int use_diag_on_error_guess; int do_sparsity_investigation; /**< Flag to turn on sparsity investigation. */ int sparsity_plots_resolution_m; /**< Resolution in element magnitude histograms. */ int do_puri_mmul_tests; /**< Flag to turn on purification matrix-matrix multiplication tests. */ int create_m_files; /**< Flag to create m-files with information about the purification process. */ int output_homo_and_lumo_eigenvectors; /**< Compute homo and lumo eigenvectors and write them to the file */ int use_prev_vector_as_initial_guess; /**< use eigenvector from the previous SCF cycle as an initial guess in this cycle */ int ignore_purification_failure; /**< Continue even if purification fails to converge. */ int use_rand_perturbation_for_alleigsint; /**< Apply a random perturbation to (try to) improve the convergence speed of Lanczos calculation of extremal eigenvalues. */ std::string stats_prefix; /**< Prefix to be added to statistics files. */ int plot_puri_results; /**< Plot results of the purification from this function call */ std::string plot_puri_results_str; int use_acceleration; /**< Use acceleration in the purification */ int use_new_stopping_criterion; /**< Use new parameterless stopping criterion */ generalVector *eigVecHOMO2; /**< Pointer to the homo2 eigenvector */ generalVector *eigVecLUMO2; /**< Pointer to the lumo2 eigenvector */ std::string eigenvectors_method; /**< Method for computing eigenvectors: square or projection */ std::string eigenvectors_iterative_method; /**< Iterative method for computing eigenvectors: power or lanczos */ int number_of_eigenvalues; /**< number of eigenpairs to compute */ ergo_real eigensolver_accuracy; /**< The accuracy for the eigenvalue problem solver */ int eigensolver_maxiter; /**< Maximum number of iterations for the eigenvalue problem solver */ int n; /**< System size. */ int noOfOccupiedOrbs; /**< Number of occupied orbitals. */ ergo_real factor; /**< Factor to scale the resulting density matrix. * (for restricted vs unrestricted calc) */ symmMatrix overlapMatrix; /**< Overlap matrix (written to file) */ symmMatrix D_ort_prev; /**< Density matrix from previous SCF cycle (written to file) */ triangMatrix invCholFactor; /**< Inverse Cholesky factor (written to file) */ ergo_real invCholFactor_euclnorm; /**< Euclidean norm of inverse Cholesky factor. */ mat::normType truncationNormPurification; /**< Norm to be used for truncation. */ mat::normType stopCriterionNormPurification; /**< Norm to be used for stopping criterion. */ int maxMul; /**< Maximum allowed number of matrix multiplications in the purification */ mat::SizesAndBlocks matrixSizesAndBlocks; /**< Information about HML matrix block sizes etc. */ int leavesSizeMax; /**< Information about leavesSizeMax and blocksize for CHTMatrix */ int blocksize; /**< Information about leavesSizeMax and blocksize for CHTMatrix */ intervalType homoInterval_Finput; intervalType lumoInterval_Finput; intervalType homoInterval_F_ort_prev; intervalType lumoInterval_F_ort_prev; intervalType homo2Interval_F_ort_prev; intervalType lumo2Interval_F_ort_prev; std::vector< std::vector > stochastic_orbitals; ergo_real resultEntropyTerm; std::map puri_stats; // Names of files needed for checkpoints const char * filenameFinput; const char * filenameF_ort_prev; const char * filenameeigVecLUMO; const char * filenameeigVecHOMO; const char * filenameOverlap; const char * filenameD_ort_prev; const char * filenameinvCholFactor; const char * file_for_basic_types; }; #endif // GETDENSFROMFOCKHEADER ergo-3.5/source/densfromf/recursive_expansion/0000775000175000017500000000000012743400366016703 500000000000000ergo-3.5/source/densfromf/recursive_expansion/src/0000775000175000017500000000000012743400366017472 500000000000000ergo-3.5/source/densfromf/recursive_expansion/src/random_matrices.h0000664000175000017500000000565412743400307022737 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "matrix_typedefs.h" // definitions of matrix types and interval type (source) #include "realtype.h" // definitions of types (utilities_basic) #include "matrix_utilities.h" #include "integral_matrix_wrappers.h" #include "SizesAndBlocks.h" #include "Matrix.h" #include "Vector.h" #include "MatrixSymmetric.h" #include "MatrixTriangular.h" #include "MatrixGeneral.h" #include "VectorGeneral.h" #include "output.h" #include "files_dense.h" #include "files_sparse.h" #include #include #include #include #include "ErgoMatrix.h" using namespace std; typedef intervalType IntervalType; typedef symmMatrix MatrixTypeInner; typedef triangMatrix TriangMatrixType; typedef normalMatrix MatrixGeneral; typedef std::vector VectorTypeInt; #define MAX_DOUBLE std::numeric_limits::max() #define MIN_DOUBLE std::numeric_limits::min() #define PI 3.14159265 // needed for sprandsym void print_matrix(std::vector const &A); template void init_matrix(Matrix &X, const int N); void get_random_matrix(int N, MatrixTypeInner &X); void get_all_eigenvalues_of_matrix(std::vector & eigvalList, const MatrixTypeInner & M); void sprandsym(int N, MatrixTypeInner &X, MatrixGeneral &Q, vector &D, const double MATRIX_SPARSITY); int get_matrix_from_sparse(char *filename, MatrixTypeInner &X); int get_matrix_from_sparse_vec(char *filename, std::vector &I, std::vector &J, std::vector &val); int get_matrix_from_binary(char *filename, MatrixTypeInner &X); int get_matrix_from_binary_vec(char *filename, std::vector &I, std::vector &J, std::vector &val, int &N); int get_matrix_from_full(char * filename, MatrixTypeInner &X); ergo-3.5/source/densfromf/recursive_expansion/src/purification_sp2acc.h0000664000175000017500000005227012743400307023513 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef HEADER_PURIFICATION_SP2ACC #define HEADER_PURIFICATION_SP2ACC #include "purification_general.h" //#define DEBUG_OUTPUT /** Purification_sp2acc is a class which provides an interface for * SP2ACC recursive expansion. * * \tparam MatrixType Type of a matrix (ex. symmMatrix). */ template class Purification_sp2acc : public PurificationGeneral { public: typedef typename PurificationGeneral::real real; typedef typename PurificationGeneral::IntervalType IntervalType; typedef typename PurificationGeneral::NormType NormType; typedef typename PurificationGeneral::VectorTypeInt VectorTypeInt; typedef typename PurificationGeneral::VectorTypeReal VectorTypeReal; typedef typename MatrixType::VectorType VectorType; Purification_sp2acc() : PurificationGeneral(){} virtual void set_init_params() { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Chosen SP2 ACCELERATED purification method"); this->info.method = 2; this->gammaStopEstim = 6 - 4*std::sqrt(2); this->check_stopping_criterion_iter = -1; // will be changed during purification } virtual void get_poly(const int it, int &poly, real &alpha); virtual void set_poly(const int it); virtual void set_truncation_parameters(); virtual void truncate_matrix(real &threshold, int it); virtual void estimate_number_of_iterations(int &numit); virtual void purify_X(const int it); virtual void purify_bounds(const int it); virtual void save_other_iter_info(IterationInfo &iter_info, int it); virtual void apply_inverse_poly_vector(const int it, VectorTypeReal &bounds_from_it); virtual void return_constant_C(const int it, real &Cval); virtual real apply_poly(const int it, real x); virtual void apply_poly_to_eigs(const int it, real &homo, real &lumo); virtual real compute_derivative(const int it, real x); /* PARAMETERS */ real error_per_it; VectorTypeReal VecAlpha; // defined the iteration when we turn off acceleration static const real deltaTurnOffAcc; }; template const typename Purification_sp2acc::real Purification_sp2acc::deltaTurnOffAcc = 0.01; template void Purification_sp2acc::set_poly(const int it) { assert((int)this->VecPoly.size() > it); // if cannot compute polynomial using homo and lumo eigevalues, compute using trace if(this->VecPoly[it] == -1) { real Xtrace = this->X.trace(); real Xsqtrace = this->Xsq.trace(); real delta = deltaTurnOffAcc; // Should we turn off acceleration or not if( this->check_stopping_criterion_iter == -1 && this->lumo_bounds.low() < delta && this->homo_bounds.low() < delta ) { #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Outer bounds of homo and lumo are less then %e: ", delta); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"lumo_out = %e, homo_out = %e ", this->lumo_bounds.low(), this->homo_bounds.low()); #endif this->lumo_bounds = IntervalType(0, this->lumo_bounds.upp()); this->homo_bounds = IntervalType(0, this->homo_bounds.upp()); // start to check stopping criterion this->check_stopping_criterion_iter = it+2; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Start to check stopping criterion on iteration %d", it+2); } if(template_blas_fabs(Xsqtrace - this->nocc) < template_blas_fabs(2 * Xtrace - Xsqtrace - this->nocc)) { this->VecPoly[it] = 1; VecAlpha[it] = 2/(2 - this->lumo_bounds.low()); } else { this->VecPoly[it] = 0; VecAlpha[it] = 2/(2 - this->homo_bounds.low()); } #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Acceleration parameter: alpha = %lf",VecAlpha[it]); #endif } } template void Purification_sp2acc::get_poly(const int it, int &poly, real &alpha) { assert((int)this->VecPoly.size() > it); assert(this->VecPoly[it] != -1); //check also if alpha is computed assert(this->VecAlpha[it] != -1); poly = this->VecPoly[it]; alpha = VecAlpha[it]; } template void Purification_sp2acc::purify_X(const int it) { #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Purify X..."); #endif real alpha_tmp; int poly; set_poly(it); get_poly(it, poly, alpha_tmp); /* It may happen that X2 has many more nonzeros than X, for example 5 times as many. Therefore it makes sense to try having only one "big" matrix in memory at a time. However, file operations have proved to be quite expensive and should be avoided if possible. Hence we want to achieve having only one big matrix in memory without unnecessary file operations. We are currently hoping that it will be ok to add a "small" matrix to a "big" one, that the memory usage after that operation will be like the memory usage for one big matrix + one small matrix. Therefore we are adding X to X2 (X is truncated, a "small" matrix) instead of the opposite. */ if(poly == 1) { if(alpha_tmp != 1) { // (1-a+a*x)^2 = (1-a)^2 + 2*(1-a)*a*x + a^2*x^2 this->X.mult_scalar((real)2.0*(1-alpha_tmp)*alpha_tmp); this->X.add_identity((real)(1-alpha_tmp)*(1-alpha_tmp)); this->Xsq.mult_scalar((real)alpha_tmp*alpha_tmp); this->Xsq.add(this->X); // Xsq = (1-a+a*X)^2 } else { // DO NOTHING } } else { if(alpha_tmp != 1) { // 2*a*x - (a*x)^2 this->X.mult_scalar((real)-2.0*alpha_tmp); this->Xsq.mult_scalar((real)-alpha_tmp*alpha_tmp); this->Xsq.subtract(this->X); // Xsq = 2*a*X - (a*X)^2 } else { // sp2 this->Xsq.mult_scalar((real)-1.0); // -Xsq #ifdef USE_CHUNKS_AND_TASKS this->X.mult_scalar((real)2.0); // 2X this->Xsq.add(this->X); // Xsq = -Xsq + 2X #else this->Xsq.add(this->X, (real)2.0); // Xsq = -Xsq + 2X #endif } } // if poly == 1 this->X.transfer_from(this->Xsq); // clear Xsq! } template void Purification_sp2acc::purify_bounds(const int it) { #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Change homo and lumo bounds according to the chosen polynomial VecPoly = %d", this->VecPoly[it]); #endif real homo_low, homo_upp, lumo_upp, lumo_low; real alpha_tmp; int poly; get_poly(it, poly, alpha_tmp); if(poly == 1) { // update bounds homo_low = 2*alpha_tmp*this->homo_bounds.low() - alpha_tmp*alpha_tmp*this->homo_bounds.low() * this->homo_bounds.low(); // 2*a*x - (a*x)^2 homo_upp = 2*alpha_tmp*this->homo_bounds.upp() - alpha_tmp*alpha_tmp*this->homo_bounds.upp() * this->homo_bounds.upp(); // 2*a*x - (a*x)^2 lumo_low = (1 - alpha_tmp + alpha_tmp * this->lumo_bounds.low()); // (1-a+a*x)^2 lumo_low *= lumo_low; lumo_upp = (1 - alpha_tmp + alpha_tmp * this->lumo_bounds.upp()); // (1-a+a*x)^2 lumo_upp *= lumo_upp; this->homo_bounds = IntervalType(homo_low, homo_upp); this->lumo_bounds = IntervalType(lumo_low, lumo_upp); } else { // update bounds lumo_low = 2*alpha_tmp*this->lumo_bounds.low() - alpha_tmp*alpha_tmp*this->lumo_bounds.low() * this->lumo_bounds.low(); // 2*a*x - (a*x)^2 lumo_upp = 2*alpha_tmp*this->lumo_bounds.upp() - alpha_tmp*alpha_tmp*this->lumo_bounds.upp() * this->lumo_bounds.upp(); // 2*a*x - (a*x)^2 homo_low = (1 - alpha_tmp + alpha_tmp*this->homo_bounds.low()); // (1-a+a*x)^2 homo_low *= homo_low; homo_upp = (1 - alpha_tmp + alpha_tmp*this->homo_bounds.upp()); // (1-a+a*x)^2 homo_upp *= homo_upp; this->homo_bounds = IntervalType(homo_low, homo_upp); this->lumo_bounds = IntervalType(lumo_low, lumo_upp); } IntervalType zero_one(0, 1); this->homo_bounds.intersect(zero_one); this->lumo_bounds.intersect(zero_one); #ifdef DEBUG_OUTPUT if ( this->homo_bounds.empty() ) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Interval homo_bounds is empty."); if ( this->lumo_bounds.empty() ) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Interval lumo_bounds is empty."); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"1-homo: [ %g , %g ],", this->homo_bounds.low(), this->homo_bounds.upp()); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"lumo: [ %g , %g ].", this->lumo_bounds.low(), this->lumo_bounds.upp()); #endif } /*****************************************************/ template void Purification_sp2acc::return_constant_C(const int it, real &Cval) { assert(it >= 1); real a; real alpha1 = VecAlpha[it-1]; real alpha2 = VecAlpha[it]; Cval = -1; #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"alpha1 = %.4e , alpha2 = %.4e", alpha1, alpha2); #endif if(it < 2) return; // -1 // no acceleration if((alpha1 == 1 && alpha2 == 1)) { #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Check SP2 stopping criterion."); #endif Cval = C_SP2; return; } #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Do not check stopping criterion."); #endif // exit and return C = -1 // If we want to compute the constant C on every iterations, we can use the following: #if 0 // get bounds from the iteration it-2 real homo_low = this->info.Iterations[it-2].homo_bound_low; real homo_upp = this->info.Iterations[it-2].homo_bound_upp; real lumo_low = this->info.Iterations[it-2].lumo_bound_low; real lumo_upp = this->info.Iterations[it-2].lumo_bound_upp; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"lumo [%.16e, %e], homo [%.16e, %e]", lumo_low, lumo_upp, homo_low, homo_upp); if( homo_upp > 0.5 || lumo_upp > 0.5 ) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Inner bounds interval do not contain 0.5. Skip iteration. "); Cval = -1; return; } a = std::max(lumo_low, homo_low); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Chosen a = %g", a); if( a <= 0 ) { // just in case do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Cannot compute constant C since a = %g when alpha1 = %g" " and alpha2 = %g", a, alpha1, alpha2); Cval = -1; return; } real C1; C1 = -7.88 + 11.6*alpha1 + 0.71*alpha2; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Local maximum of g1: %g", C1); Cval = C1; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"*********** C = %g ************", Cval); #endif } /**************************************************************************************/ template void Purification_sp2acc::truncate_matrix(real &threshold, int it) { threshold = 0; if(error_per_it == 0) return; assert((int)this->VecGap.size() > it); #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Truncate matrix X: "); #endif real tau; if(this->VecGap[it] > 0) // TODO: zero or some small value? { #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"VecGap[ %d ] = %e , ", it, this->VecGap[it]); #endif tau = (error_per_it*this->VecGap[it])/(1+error_per_it); // control error in the occupied subspace } else // if gap is not known tau = error_per_it*0.01; threshold = (this->X).thresh(tau, this->normPuriTrunc); #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"tau = %e", tau); #endif } /**************************************************************************************/ template void Purification_sp2acc::set_truncation_parameters() { int estim_num_iter = 0; estimate_number_of_iterations(estim_num_iter); this->info.estim_total_it = estim_num_iter; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"ESTIMATED NUMBER OF ITERATIONS IS %d", estim_num_iter); if(estim_num_iter < this->maxit) { // Estimated number of iterations estim_num_iter is less than maxit, set maxit to estim_num_iter this->maxit = estim_num_iter; } // error due to truncation allowed in each iteration error_per_it = this->error_sub/estim_num_iter; #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"The total allowed subspace error is %e", this->error_sub); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Then error due to truncation allowed in each iteration is %e", error_per_it); #endif } /****************************************************************************************/ template void Purification_sp2acc::estimate_number_of_iterations(int &estim_num_iter) { int it = 1; int maxit_tmp = this->maxit + this->additional_iterations; real x, y, x_out, y_out; real alpha_tmp; real epsilon = Purification_sp2acc::get_epsilon(); this->VecPoly.clear(); this->VecPoly.resize(maxit_tmp+1, -1); this->VecGap.clear(); this->VecGap.resize(maxit_tmp+1, -1); VecAlpha.clear(); VecAlpha.resize(maxit_tmp+1, -1); // we are interested in the inner bounds of gap x = this->lumo_bounds.upp(); // = lumo y = this->homo_bounds.upp(); // = 1 - homo // if VecGap is zero if( 1-x-y <= 0 ) { #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"VecGap cannot be computed. Set estimated number of iteration to the maxit."); #endif estim_num_iter = this->maxit; return; } #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "INIT LUMO: [ %.12lf , %.12lf ]", this->lumo_bounds.low(), this->lumo_bounds.upp()); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "INIT HOMO: [ %.12lf , %.12lf ]", this->homo_bounds.low(), this->homo_bounds.upp()); #endif if(this->number_of_eigenvalues == 2) { x_out = this->lumo2_bounds.low(); y_out = this->homo2_bounds.low(); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Since second HOMO/LUMO eigenvector is requested, " "we use outer bounds for the second eigenvalue for the acceleration."); } else { x_out = this->lumo_bounds.low(); y_out = this->homo_bounds.low(); } this->VecPoly[0] = -1; this->VecGap[0] = 1-x-y; estim_num_iter = -1; real delta = deltaTurnOffAcc; while(it <= maxit_tmp) { if(x < y) // lumo < 1-homo { alpha_tmp = 2/(2-y_out); x = 2*alpha_tmp*x - alpha_tmp*alpha_tmp*x*x; y = (1 - alpha_tmp + alpha_tmp*y); y *= y; x_out = 2*alpha_tmp*x_out - alpha_tmp*alpha_tmp*x_out*x_out; y_out = (1 - alpha_tmp + alpha_tmp*y_out); y_out *= y_out; this->VecPoly[it] = 0; } else { alpha_tmp = 2/(2-x_out); x = (1 - alpha_tmp + alpha_tmp*x); x *= x; y = 2*alpha_tmp*y-alpha_tmp*alpha_tmp*y*y; x_out = (1 - alpha_tmp + alpha_tmp*x_out); x_out *= x_out; y_out = 2*alpha_tmp*y_out-alpha_tmp*alpha_tmp*y_out*y_out; this->VecPoly[it] = 1; } VecAlpha[it] = alpha_tmp; this->VecGap[it] = 1-x-y; // find iteration where x_out < delta && y_out < delta if( x_out < delta && y_out < delta && this->check_stopping_criterion_iter == -1) { this->check_stopping_criterion_iter = it+2; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Start to check stopping criterion on iteration %d", this->check_stopping_criterion_iter); x_out = 0; y_out = 0; } // maybe we wish to perform some more iterations, then stopping criterion suggest if(estim_num_iter == -1 && it >= this->check_stopping_criterion_iter && x < 0.5 && y < 0.5 && x-x*x < epsilon && y-y*y < epsilon && // the eucledian norm is less then epsilon this->VecPoly[it] != this->VecPoly[it-1]) // to apply stopping criterion, polynomials must alternate { estim_num_iter = it + 2; maxit_tmp = it + this->additional_iterations + 2; /* it can happen that in last iterations matrix will be very close to idempotency, but not enough close (due to rounding errors) for stopping criterion, therefore we add this two additional iterations. (NOTE: these is an estimated number of iterations!) */ } ++it; } //while if(estim_num_iter == -1 && it == maxit_tmp+1) { #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"maxit = %d number of iterations is reached in estimate_number_of_iteration()", this->maxit); #endif estim_num_iter = this->maxit; } this->VecPoly.resize(maxit_tmp+1); // make it less if needed this->VecGap.resize(maxit_tmp+1); this->VecAlpha.resize(maxit_tmp+1); #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Sequence of polynomials VecPoly: "); for( int i = 0; i < (int)this->VecPoly.size(); ++i ) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"%d ", this->VecPoly[i]); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,""); #endif } /************ SAVE INFORMATION ABOUT ITERATIONS SPECIFIC FOR ACC SP2 PURIFICATION **********x***/ template void Purification_sp2acc::save_other_iter_info(IterationInfo & iter_info, int it) { assert((int)this->VecPoly.size() > it); assert((int)this->VecGap.size() > it); assert((int)this->VecAlpha.size() > it); iter_info.poly = this->VecPoly[it]; iter_info.gap = this->VecGap[it]; iter_info.alpha = VecAlpha[it]; } /************ APPLY INVERSE POLYNOMIAL (FOR ESTIMATION OF EIGENVALUES) ************/ template void Purification_sp2acc::apply_inverse_poly_vector(const int it, VectorTypeReal &bounds_from_it) { real tau; real alpha_tmp; int poly; for(int i = it; i >= 1; i--) { tau = 0;//this->info.Iterations[i].threshold_X; get_poly(i, poly, alpha_tmp); if(poly == 1) { bounds_from_it[0] = std::sqrt(bounds_from_it[0]); bounds_from_it[0] = (bounds_from_it[0] - 1 + alpha_tmp)/alpha_tmp - tau; bounds_from_it[1] = std::sqrt(bounds_from_it[1]); bounds_from_it[1] = (bounds_from_it[1] - 1 + alpha_tmp)/alpha_tmp + tau; bounds_from_it[2] = bounds_from_it[2]/(1+std::sqrt(1-bounds_from_it[2])); bounds_from_it[2] = bounds_from_it[2]/alpha_tmp - tau; bounds_from_it[3] = bounds_from_it[3]/(1+std::sqrt(1-bounds_from_it[3])); bounds_from_it[3] = bounds_from_it[3]/alpha_tmp + tau; } else { bounds_from_it[0] = bounds_from_it[0]/(1+std::sqrt(1-bounds_from_it[0])); bounds_from_it[0] = bounds_from_it[0]/alpha_tmp - tau; bounds_from_it[1] = bounds_from_it[1]/(1+std::sqrt(1-bounds_from_it[1])); bounds_from_it[1] = bounds_from_it[1]/alpha_tmp + tau; bounds_from_it[2] = std::sqrt(bounds_from_it[2]); bounds_from_it[2] = (bounds_from_it[2] - 1 + alpha_tmp)/alpha_tmp - tau; bounds_from_it[3] = std::sqrt(bounds_from_it[3]); bounds_from_it[3] = (bounds_from_it[3] - 1 + alpha_tmp)/alpha_tmp + tau; } } } template typename Purification_sp2acc::real Purification_sp2acc::apply_poly(const int it, real x) { assert(it >= 0); if( it == 0 ) return x; real fx; int poly; real alpha_tmp; get_poly(it, poly, alpha_tmp); if(poly == 1) fx = (1-alpha_tmp + alpha_tmp*x)*(1-alpha_tmp + alpha_tmp*x); else fx = 2*alpha_tmp*x - alpha_tmp*alpha_tmp*x*x; return fx; } template void Purification_sp2acc::apply_poly_to_eigs(const int it, real &homo, real &lumo) { assert(it >= 0); if( it == 0 ) return; int poly; real alpha_tmp; get_poly(it, poly, alpha_tmp); if(poly == 1) { homo = 2*alpha_tmp*homo - alpha_tmp*alpha_tmp*homo*homo; lumo = (1-alpha_tmp + alpha_tmp*lumo)*(1-alpha_tmp + alpha_tmp*lumo); } else { homo =(1-alpha_tmp + alpha_tmp*homo)*(1-alpha_tmp + alpha_tmp*homo); lumo = 2*alpha_tmp*lumo - alpha_tmp*alpha_tmp*lumo*lumo; } } template typename Purification_sp2acc::real Purification_sp2acc::compute_derivative(const int it, real x) { assert(it > 0); real Df; real temp, a, b; int poly; real alpha; a = x; Df = 1; for(int i = 1; i <= it; i++) { temp = a; get_poly(i, poly, alpha); if(poly == 1) { a = ((1-alpha)+alpha*temp)*((1-alpha)+alpha*temp); b = 2*alpha*((1-alpha)+alpha*temp); } else { a = 2*alpha*temp -alpha*alpha*temp*temp; b = 2*alpha-2*alpha*alpha*temp; } Df *= b; } return Df; } #endif //HEADER_PURIFICATION_SP2ACC ergo-3.5/source/densfromf/recursive_expansion/src/purification_sp2.h0000664000175000017500000004110412743400307023036 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef HEADER_PURIFICATION_SP2 #define HEADER_PURIFICATION_SP2 #include "purification_general.h" //#define DEBUG_OUTPUT /** Purification_sp2acc is a class which provides an interface for SP2 * recursive expansion. * * \tparam MatrixType Type of a matrix (ex. symmMatrix). */ template class Purification_sp2 : public PurificationGeneral { public: typedef typename PurificationGeneral::real real; typedef typename PurificationGeneral::IntervalType IntervalType; typedef typename PurificationGeneral::NormType NormType; typedef typename PurificationGeneral::VectorTypeInt VectorTypeInt; typedef typename PurificationGeneral::VectorTypeReal VectorTypeReal; typedef typename MatrixType::VectorType VectorType; Purification_sp2() : PurificationGeneral(){} void set_init_params() { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Chosen SP2 purification method"); this->info.method = 1; this->gammaStopEstim = ( 3-std::sqrt(5) ) / 2.0; } void get_poly(const int it, int &poly); void set_poly(const int it); void set_truncation_parameters(); void truncate_matrix(real &threshold, int it); void estimate_number_of_iterations(int &numit); void purify_X(const int it); void purify_bounds(const int it); void save_other_iter_info(IterationInfo &iter_info, int it); void apply_inverse_poly_vector(const int it, VectorTypeReal &bounds_from_it); void return_constant_C(const int it, real &Cval); //real apply_inverse_poly(const int it, real x); real apply_poly(const int it, real x); void apply_poly_to_eigs(const int it, real &homo, real &lumo); real compute_derivative(const int it, real x); /* PARAMETERS */ real error_per_it; }; template void Purification_sp2::set_poly(const int it) { assert((int)this->VecPoly.size() > it); // if cannot compute polynomial using homo and lumo eigevalues, compute using trace if(this->VecPoly[it] == -1) { real Xtrace = this->X.trace(); real Xsqtrace = this->Xsq.trace(); if(template_blas_fabs(Xsqtrace - this->nocc) < template_blas_fabs(2 * Xtrace - Xsqtrace - this->nocc)) this->VecPoly[it] = 1; else this->VecPoly[it] = 0; } } template void Purification_sp2::get_poly(const int it, int &poly) { assert((int)this->VecPoly.size() > it); assert(this->VecPoly[it] != -1); poly = this->VecPoly[it]; } template void Purification_sp2::purify_X(const int it) { #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Purify X..."); #endif int poly; set_poly(it); get_poly(it, poly); /* It may happen that X2 has many more nonzeros than X, for example 5 times as many. Therefore it makes sense to try having only one "big" matrix in memory at a time. However, file operations have proved to be quite expensive and should be avoided if possible. Hence we want to achieve having only one big matrix in memory without unnecessary file operations. We are currently hoping that it will be ok to add a "small" matrix to a "big" one, that the memory usage after that operation will be like the memory usage for one big matrix + one small matrix. Therefore we are adding X to X2 (X is truncated, a "small" matrix) instead of the opposite when the 2*X-X*X polynomial is evaluated. */ if(poly == 0) { // Xsq = 2X-X^2 this->Xsq.mult_scalar((real)-1.0); // -Xsq #ifdef USE_CHUNKS_AND_TASKS this->X.mult_scalar((real)2.0); // 2X this->Xsq.add(this->X); // Xsq = -Xsq + 2X #else this->Xsq.add(this->X, (real)2.0); // Xsq = -Xsq + 2X #endif } this->X.transfer_from(this->Xsq); // clear Xsq! } template void Purification_sp2::purify_bounds(const int it) { #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Change homo and lumo bounds according to the chosen polynomial VecPoly = %d", this->VecPoly[it]); #endif real homo_low, homo_upp, lumo_upp, lumo_low; int poly; get_poly(it, poly); if(poly == 1) { // update bounds homo_low = 2*this->homo_bounds.low() - this->homo_bounds.low() * this->homo_bounds.low(); // 2x - x^2 homo_upp = 2*this->homo_bounds.upp() - this->homo_bounds.upp() * this->homo_bounds.upp(); // 2x - x^2 lumo_low = this->lumo_bounds.low() * this->lumo_bounds.low(); // x^2 lumo_upp = this->lumo_bounds.upp() * this->lumo_bounds.upp(); // x^2 this->homo_bounds = IntervalType(homo_low, homo_upp); this->lumo_bounds = IntervalType(lumo_low, lumo_upp); } else { // update bounds lumo_low = 2*this->lumo_bounds.low() - this->lumo_bounds.low() * this->lumo_bounds.low(); // 2x - x^2 lumo_upp = 2*this->lumo_bounds.upp() - this->lumo_bounds.upp() * this->lumo_bounds.upp(); // 2x - x^2 homo_low = this->homo_bounds.low() * this->homo_bounds.low(); // x^2 homo_upp = this->homo_bounds.upp() * this->homo_bounds.upp(); // x^2 this->homo_bounds = IntervalType(homo_low, homo_upp); this->lumo_bounds = IntervalType(lumo_low, lumo_upp); } IntervalType zero_one(0, 1); this->homo_bounds.intersect(zero_one); this->lumo_bounds.intersect(zero_one); #ifdef DEBUG_OUTPUT if ( this->homo_bounds.empty() ) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Interval homo_bounds is empty."); if ( this->lumo_bounds.empty() ) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Interval lumo_bounds is empty."); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"1-homo: [ %lf , %lf ],", this->homo_bounds.low(), this->homo_bounds.upp()); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"lumo: [ %lf , %lf ].", this->lumo_bounds.low(), this->lumo_bounds.upp()); #endif } /**************************************************************************************/ template void Purification_sp2::return_constant_C(const int it, real &Cval) { Cval = C_SP2; } /**************************************************************************************/ template void Purification_sp2::truncate_matrix(real &threshold, int it) { threshold = 0; if(error_per_it == 0) return; assert((int)this->VecGap.size() > it); #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Truncate matrix X: "); #endif real tau; // threshold for the error matrix if(this->VecGap[it] > 0) // TODO: zero or some small value? { #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"VecGap[ %d ] = %e , ", it, this->VecGap[it]); #endif tau = (error_per_it*this->VecGap[it])/(1+error_per_it); // control error in the occupied subspace } else // if gap is not known tau = error_per_it*0.01; // return the actual introduced error threshold = (this->X).thresh(tau, this->normPuriTrunc); #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"tau = %e", tau); #endif } /**************************************************************************************/ template void Purification_sp2::set_truncation_parameters() { int estim_num_iter = 0; estimate_number_of_iterations(estim_num_iter); this->info.estim_total_it = estim_num_iter; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"ESTIMATED NUMBER OF ITERATIONS IS %d", estim_num_iter); if(estim_num_iter < this->maxit) { // Estimated number of iterations estim_num_iter is less than maxit, set maxit to estim_num_iter this->maxit = estim_num_iter; } // error due to truncation allowed in each iteration error_per_it = this->error_sub/estim_num_iter; #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"The total allowed subspace error is %e", this->error_sub); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Then error due to truncation allowed in each iteration is %e", error_per_it); #endif } /****************************************************************************************/ template void Purification_sp2::estimate_number_of_iterations(int &estim_num_iter) { int it = 1; int maxit_tmp = this->maxit + this->additional_iterations; real x, y; real epsilon = Purification_sp2::get_epsilon(); this->VecPoly.clear(); this->VecPoly.resize(maxit_tmp+1, -1); this->VecGap.clear(); this->VecGap.resize(maxit_tmp+1, -1); // we are interested in the inner bounds of gap x = this->lumo_bounds.upp(); // = lumo y = this->homo_bounds.upp(); // = 1 - homo // if VecGap is zero if( 1-x-y <= 0 ) { #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"VecGap cannot be computed. Set estimated number of iteration to the maxit."); #endif estim_num_iter = this->maxit; return; } #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "INIT LUMO: [ %.12lf , %.12lf ]", this->lumo_bounds.low(), this->lumo_bounds.upp()); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "INIT HOMO: [ %.12lf , %.12lf ]", this->homo_bounds.low(), this->homo_bounds.upp()); #endif this->VecPoly[0] = -1; this->VecGap[0] = 1-x-y; estim_num_iter = -1; while(it <= maxit_tmp) { if(x < y) // lumo < 1-homo { x = 2*x-x*x; y *= y; this->VecPoly[it] = 0; } else { x *= x; y = 2*y-y*y; this->VecPoly[it] = 1; } this->VecGap[it] = 1-x-y; // maybe we wish to perform some more iterations, then stopping criterion suggest if(estim_num_iter == -1 && x < 0.5 && y < 0.5 && x-x*x < epsilon && y-y*y < epsilon && this->VecPoly[it] != this->VecPoly[it-1] ) // to apply stopping criterion, polynomials must alternate { estim_num_iter = it + 2; maxit_tmp = it + this->additional_iterations + 2; /* it can happen that in last iterations matrix will be very close to idempotency, but not enough close (due to rounding errors) for stopping criterion, therefore we add this two additional iterations. (NOTE: these is an estimated number of iterations!)*/ } ++it; } //while if(estim_num_iter == -1 && it == maxit_tmp+1) { #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"maxit = %d number of iterations is reached in estimate_number_of_iteration()", this->maxit); #endif estim_num_iter = this->maxit; } this->VecPoly.resize(maxit_tmp+1); // make it less if needed this->VecGap.resize(maxit_tmp+1); #ifdef DEBUG_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Sequence of polynomials VecPoly: "); for( int i = 0; i < (int)this->VecPoly.size(); ++i ) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"%d ", this->VecPoly[i]); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,""); #endif } /************ SAVE INFORMATION ABOUT ITERATIONS SPECIFIC FOR SP2 PURIFICATION *************/ template void Purification_sp2::save_other_iter_info(IterationInfo & iter_info, int it) { assert((int)this->VecPoly.size() > it); assert((int)this->VecGap.size() > it); iter_info.poly = this->VecPoly[it]; iter_info.gap = this->VecGap[it]; } /************ APPLY INVERSE POLYNOMIAL (FOR ESTIMATION OF EIGENVALUES) ************/ template void Purification_sp2::apply_inverse_poly_vector(const int it, VectorTypeReal &bounds_from_it) { real tau; int poly; #if 0 // use Taylor approximation real ADD_TO_BOUND = std::sqrt(this->get_epsilon()); real MAX_VALUE_OF_NORM = 0;//std::sqrt(std::sqrt(this->get_epsilon())); for(int i = it; i >= 1; i--) { tau = 0;//this->info.Iterations[i].threshold_X; get_poly(i, poly); if(poly == 1) { bounds_from_it[0] = std::sqrt(bounds_from_it[0]) - tau; bounds_from_it[1] = std::sqrt(bounds_from_it[1]) + tau; //bounds_from_it[2] = 1-std::sqrt(1-bounds_from_it[2]) - tau; //bounds_from_it[3] = 1-std::sqrt(1-bounds_from_it[3]) + tau; // numerically stable version if(bounds_from_it[2] >= MAX_VALUE_OF_NORM ) bounds_from_it[2] = bounds_from_it[2]/(1+std::sqrt(1-bounds_from_it[2])) - tau; else bounds_from_it[2] = bounds_from_it[2]/2 - tau; if( bounds_from_it[3] >= MAX_VALUE_OF_NORM ) bounds_from_it[3] = bounds_from_it[3]/(1+std::sqrt(1-bounds_from_it[3])) + tau; else bounds_from_it[3] = bounds_from_it[3]/2 + ADD_TO_BOUND + tau; } else { //bounds_from_it[0] = 1-std::sqrt(1-bounds_from_it[0]) - tau; //bounds_from_it[1] = 1-std::sqrt(1-bounds_from_it[1]) + tau; if(bounds_from_it[0] >= MAX_VALUE_OF_NORM ) bounds_from_it[0] = bounds_from_it[0]/(1+std::sqrt(1-bounds_from_it[0])) - tau; else bounds_from_it[0] = bounds_from_it[0]/2 - tau; if( bounds_from_it[1] >= MAX_VALUE_OF_NORM ) bounds_from_it[1] = bounds_from_it[1]/(1+std::sqrt(1-bounds_from_it[1])) + tau; else bounds_from_it[1] = bounds_from_it[1]/2 + ADD_TO_BOUND + tau; bounds_from_it[2] = std::sqrt(bounds_from_it[2]) - tau; bounds_from_it[3] = std::sqrt(bounds_from_it[3]) + tau; } } #else for(int i = it; i >= 1; i--) { tau = 0;//this->info.Iterations[i].threshold_X; get_poly(i, poly); if(poly == 1) { bounds_from_it[0] = std::sqrt(bounds_from_it[0]) - tau; bounds_from_it[1] = std::sqrt(bounds_from_it[1]) + tau; bounds_from_it[2] = bounds_from_it[2]/(1+std::sqrt(1-bounds_from_it[2])) - tau; bounds_from_it[3] = bounds_from_it[3]/(1+std::sqrt(1-bounds_from_it[3])) + tau; } else { bounds_from_it[0] = bounds_from_it[0]/(1+std::sqrt(1-bounds_from_it[0])) - tau; bounds_from_it[1] = bounds_from_it[1]/(1+std::sqrt(1-bounds_from_it[1])) + tau; bounds_from_it[2] = std::sqrt(bounds_from_it[2]) - tau; bounds_from_it[3] = std::sqrt(bounds_from_it[3]) + tau; } } #endif } /* template typename Purification_sp2::real Purification_sp2::apply_inverse_poly(const int it, real x) { if( it == 0 ) return -1; // no polynomials was applied in 0 iteration int poly; real finvx = x; for(int i = it; i >= 1; i--) { get_poly(i, poly); if(poly == 1) finvx = std::sqrt(finvx); else finvx = finvx/(1+std::sqrt(1-finvx)); } return finvx; } */ template typename Purification_sp2::real Purification_sp2::apply_poly(const int it, real x) { assert(it >= 0); if( it == 0 ) return x; real fx; int poly; get_poly(it, poly); if(poly == 1) fx = x*x; else fx = 2*x - x*x; return fx; } template void Purification_sp2::apply_poly_to_eigs(const int it, real &homo, real &lumo) { assert(it >= 0); if( it == 0 ) return; int poly; get_poly(it, poly); if(poly == 1) { homo = 2*homo - homo*homo; lumo = lumo*lumo; } else { homo = homo*homo; lumo = 2*lumo - lumo*lumo; } } template typename Purification_sp2::real Purification_sp2::compute_derivative(const int it, real x) { assert(it > 0); real Df; real a, b; int poly; a = x; Df = 1; for(int i = 1; i <= it; i++) { get_poly(i, poly); if(poly == 1) { b = 2*a; a = a*a; } else { b = 2-2*a; a = 2*a -a*a; } Df *= b; } //do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Derivative (it = %d) = %lf\n", it, Df); return Df; } #endif //HEADER_PURIFICATION_SP2 ergo-3.5/source/densfromf/recursive_expansion/src/random_matrices.cc0000664000175000017500000002604112743400307023066 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "random_matrices.h" void print_matrix(std::vector const &A) { int N = sqrt(A.size()); for(int i = 0; i < N*N; ++i ) { if( i%N == 0 && i != 0 ) printf("\n"); printf("%lf ", (double)A[i]); } printf("\n"); } template void init_matrix(Matrix &X, const int N) { /********** Initialization of SizesAndBlocks */ int size = N; int nlevels = 5; //!!! std::vector blockSizes(nlevels); blockSizes[nlevels - 1] = 1; // should always be one for (int ind = nlevels - 2; ind >= 0; ind--) blockSizes[ind] = blockSizes[ind + 1] * 100; mat::SizesAndBlocks rows(blockSizes, size); mat::SizesAndBlocks cols(blockSizes, size); /********************************************/ X.resetSizesAndBlocks(rows,cols); } void get_random_matrix(int N, MatrixTypeInner &X) { init_matrix(X, N); assert(X.get_nrows()*X.get_ncols() == N*N); // Create vectors I, J, val. vector I(N*N); vector J(N*N); vector val(N*N); int count = 0; for(int i = 0; i < N; i++) for(int j = 0; j <= i; j++) { real rand0to1 = ((real)rand()) / RAND_MAX; real rand0to2 = rand0to1 * 2; real rand_m1_to_p1 = rand0to2 - 1; // Use denominator that becomes large when far away from diagonal, to get some sparsity from truncation real denominator = std::pow((i+1-j), 5); I[count] = i; J[count] = j; val[count] = rand_m1_to_p1 / denominator; count++; } I.resize(count); J.resize(count); val.resize(count); X.assign_from_sparse(J, I, val); } void get_all_eigenvalues_of_matrix(std::vector & eigvalList, const MatrixTypeInner & M) { assert(M.get_nrows() == M.get_ncols()); int n = M.get_nrows(); assert(n > 0); eigvalList.resize(n); std::vector M_full; M.fullMatrix(M_full); int lwork = 3*n*n; std::vector work(lwork); std::vector A(n*n); memcpy(&A[0], &M_full[0], n*n*sizeof(ergo_real)); int info = -1; mat::syev("N", "U", &n, &A[0], &n, &eigvalList[0], &work[0], &lwork, &info); assert(info == 0); } void sprandsym(int N, MatrixTypeInner &X, MatrixGeneral &Q, vector &D, const double MATRIX_SPARSITY) { // determine numit int numit = N; real val; int count; int k, l; real c, s, theta, a_kk, a_kl, a_ll; init_matrix(X, N); assert(X.get_nrows()*X.get_ncols() == N*N); // for temp values vector Ig; vector Jg; vector Vg; // save values to add to the matrix vector I(N); vector J(N); vector V; for(int i = 0; i < N; ++i) {I[i] = i; J[i] = i;} X.add_values(I, J, D); // set diagonal // matrix with eigenvectors init_matrix(Q, N); Q.add_identity(1); for(int it = 0; it < numit; ++it) { MatrixTypeInner Y; init_matrix(Y, N); // choose angle between 0 and 2*pi theta = 2*PI*(real)rand()/MAX_DOUBLE; s = sin(theta); c = cos(theta); if( N == 2) { k = 0; l = 1;} else { // choose rotation plane k = rand() % (N-1); // random integer in the range 0 to N-1 l = k; while(l == k) l = rand() % (N-1); // random integer in the range 0 to N-1 } // make l larger than k if(k > l) {real t = l; l = k; k = t;} I.clear(); J.clear(); V.clear(); I.resize(2*N); J.resize(2*N); V.resize(2*N); count = 0; Ig.resize(2); Jg.resize(2); Vg.resize(2); // A(i, k) = c*A(i, k) - s*A(i, l); // A(i, l) = s*A(i, k) + c*A(i, l); // i = 0:k-1, j = k // i = 0:k-1, j = l vector Vk; Ig.resize(k); Jg.resize(k); Vk.resize(k); for(int i = 0; i < k; i++) { Ig[i] = i; Jg[i] = k; } X.get_values(Ig, Jg, Vk); vector Vl; Vl.resize(k); for(int i = 0; i < k; i++) { Jg[i] = l; } X.get_values(Ig, Jg, Vl); for(int i = 0; i < k; i++) { // Ig[0] = i; Ig[1] = i; // Jg[0] = k; Jg[1] = l; // X.get_values(Ig, Jg, Vg); Vg[0] = Vk[i]; Vg[1] = Vl[i]; I[count] = i; J[count] = k; V[count] = c*Vg[0] - s*Vg[1]; if(V[count] != 0) count++; I[count] = i; J[count] = l; V[count] = s*Vg[0] + c*Vg[1]; if(V[count] != 0) count++; } // i = k, j = l+1:N-1 // i = l, j = l+1:N-1 Ig.resize(N-(l+1)); Jg.resize(N-(l+1)); Vk.resize(N-(l+1)); for(int i = 0; i < N-(l+1); i++) { Ig[i] = k; Jg[i] = i + (l+1); } X.get_values(Ig, Jg, Vk); Vl.resize(N-(l+1)); for(int i = 0; i < N-(l+1); i++) { Ig[i] = l; } X.get_values(Ig, Jg, Vl); for(int j = l+1; j < N; j++) { // Ig[0] = k; Ig[1] = l; // Jg[0] = j; Jg[1] = j; // X.get_values(Ig, Jg, Vg); Vg[0] = Vk[j-(l+1)]; Vg[1] = Vl[j-(l+1)]; I[count] = k; J[count] = j; V[count] = c*Vg[0] - s*Vg[1]; if(V[count] != 0) count++; I[count] = l; J[count] = j; V[count] = s*Vg[0] + c*Vg[1]; if(V[count] != 0) count++; } // i = k, j = k+1:l-1 // i = k+1:l-1, j = l Ig.resize(l-(k+1)); Jg.resize(l-(k+1)); Vk.resize(l-(k+1)); for(int i = 0; i < l-(k+1); i++) { Ig[i] = k; Jg[i] = i + (k+1); } X.get_values(Ig, Jg, Vk); Vl.resize(l-(k+1)); Ig = Jg; for(int i = 0; i < l-(k+1); i++) { Jg[i] = l; } X.get_values(Ig, Jg, Vl); for(int j = k+1; j < l; j++) { // Ig[0] = k; Ig[1] = j; // Jg[0] = j; Jg[1] = l; // X.get_values(Ig, Jg, Vg); Vg[0] = Vk[j-(k+1)]; Vg[1] = Vl[j-(k+1)]; I[count] = k; J[count] = j; V[count] = c*Vg[0] - s*Vg[1]; if(V[count] != 0) count++; I[count] = j; J[count] = l; V[count] = s*Vg[0] + c*Vg[1]; if(V[count] != 0) count++; } Ig.resize(3); Jg.resize(3); Vg.resize(3); Ig[0] = k; Ig[1] = k; Ig[2] = l; Jg[0] = l; Jg[1] = k; Jg[2] = l; X.get_values(Ig, Jg, Vg); a_kl = Vg[0]; a_kk = Vg[1]; a_ll = Vg[2]; // val = (c^2 - s^2)*a_kl + s*c*(a_kk - a_ll); // A(k, l) = val; val = (c*c - s*s)*a_kl + s*c*(a_kk - a_ll); I[count] = k; J[count] = l; V[count] = val; if(V[count] != 0) count++; // A(k, k) = s^2*a_ll + c^2 * a_kk - 2*s*c*a_kl; // A(l, l) = c^2*a_ll + s^2 * a_kk + 2*s*c*a_kl; I[count] = k; J[count] = k; V[count] = s*s*a_ll + c*c * a_kk - 2*s*c*a_kl; if(V[count] != 0) count++; I[count] = l; J[count] = l; V[count] = c*c*a_ll + s*s * a_kk + 2*s*c*a_kl; if(V[count] != 0) count++; I.resize(count); J.resize(count); V.resize(count); vector Vtmp(count); X.get_values(I, J, Vtmp); Y.assign_from_sparse(I, J, Vtmp); Y *= -1; Y.add_values(I, J, V); X += Y; // x_ij = x_ij + (newx_ij - x_ij) // construct Q' MatrixGeneral Qtmp; init_matrix(Qtmp, N); Ig.resize(4); Jg.resize(4); Vg.resize(4); Ig[0] = k; Ig[1] = l; Ig[2] = k; Ig[3] = l; Jg[0] = k; Jg[1] = l; Jg[2] = l; Jg[3] = k; Vg[0] = c-1; Vg[1] = c-1; Vg[2] = -s; Vg[3] = s; mat::SizesAndBlocks rows; mat::SizesAndBlocks cols; Qtmp.getRows(rows); Qtmp.getCols(cols); Qtmp.assign_from_sparse(Ig, Jg, Vg, rows, cols); Qtmp.add_identity(1); MatrixGeneral QQ; init_matrix(QQ, N); QQ = Qtmp*Q; // QQ cannot be Qtmp or Q Q = QQ; // check sparsity size_t nnz = X.nnz(); double sparsity = (double)nnz/(N*N) * 100; if(it % 10 == 0) printf("%lf\n", sparsity); if(sparsity > MATRIX_SPARSITY) return; } } // filename - the name of the .mtx file int get_matrix_from_sparse(char *filename, MatrixTypeInner &X) { vector I, J; vector val; int N, M; if(read_matrix_from_mtx(filename, I, J, val, N, M) == -1) return -1; assert(N==M); init_matrix(X, N); assert(X.get_nrows()*X.get_ncols() == N*N); X.assign_from_sparse(I, J, val); return 1; } // filename - the name of the .mtx file int get_matrix_from_sparse_vec(char *filename, std::vector &I, std::vector &J, std::vector &val) { I.clear(); J.clear(); val.clear(); int N, M; if(read_matrix_from_mtx(filename, I, J, val, N, M) == -1) return -1; assert(N==M); return 1; } // filename - the name of the binary file int get_matrix_from_binary(char *filename, MatrixTypeInner &X) { int N; /*********** Read matrix from file */ vector A; if(read_matrix(filename, A, N, N, 1) == -1) return -1; init_matrix(X, N); assert(X.get_nrows()*X.get_ncols() == N*N); X.assignFromFull(A); return 1; } // filename - the name of the binary file int get_matrix_from_binary_vec(char *filename, std::vector &I, std::vector &J, std::vector &val, int &N) { /*********** Read matrix from file */ vector A; if(read_matrix(filename, A, N, N, 1) == -1) return -1; I.resize((N*N + N)/2); J.resize((N*N + N)/2); val.resize((N*N + N)/2); int count = 0; for (int r = 0; r < N; r++) for (int c = r; c < N; c++){ I[count] = r; J[count] = c; val[count] = A[r*N+c]; count++; } return 1; } // filename - the name of the .txt file int get_matrix_from_full(char * filename, MatrixTypeInner &X) { int N; /*********** Read matrix from file */ vector A; if(read_matrix(filename, A, N, N, 0) == -1) return -1; init_matrix(X, N); assert(X.get_nrows()*X.get_ncols() == N*N); X.assignFromFull(A); return 1; } ergo-3.5/source/densfromf/recursive_expansion/src/purification_general.cc0000664000175000017500000000466112743400307024114 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file purification_general.cc \brief Recursive density matrix expansion (or density matrix purification). @author Anastasia Kruchinina responsible */ #include "purification_general.h" real eucl_acc = 1e3*std::numeric_limits::epsilon(); /**< Tolerance used for computation of spectral norm. */ real mixed_acc = 1e3*std::numeric_limits::epsilon(); /**< Tolerance used for computation of mixed norm. NOTE: If truncation is 0 this may not be enough, set to machine epsilon. */ real TOL_OVERLAPPING_BOUNDS = 1e-10; /**< If the difference between inner bounds for homo and lumo is less then this tolerance, i.e. bounds are still bad, eigenvectors will not be computed. (Inner bounds are used to estimate iterations for computation of homo and lumo eigenvectors.) */ real THRESHOLD_EIG_TOLERANCE = 1e-5; /**< Inner homo and lumo bounds may be too good, and it may happen that computed eigenvalue slightly outside of given intervals. Thus we allow some flexibility for eigenvalue. Set threshold 1e-5 since otherwise for small molecules does not work. */ int EIG_EMPTY = 0; int EIG_SQUARE_INT = 1; int EIG_PROJECTION_INT = 2; int EIG_POWER_INT = 3; int EIG_LANCZOS_INT = 4; ergo-3.5/source/densfromf/recursive_expansion/src/Makefile.in0000664000175000017500000004231012743400352021452 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/densfromf/recursive_expansion/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libpurification_a_AR = $(AR) $(ARFLAGS) libpurification_a_LIBADD = am_libpurification_a_OBJECTS = purification_general.$(OBJEXT) \ puri_info.$(OBJEXT) random_matrices.$(OBJEXT) libpurification_a_OBJECTS = $(am_libpurification_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libpurification_a_SOURCES) DIST_SOURCES = $(libpurification_a_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libpurification.a libpurification_a_SOURCES = \ constants.h \ purification_general.h \ purification_general.cc \ purification_sp2acc.h \ purification_sp2.h \ puri_info.h \ puri_info.cc \ random_matrices.cc\ random_matrices.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack \ -I$(top_srcdir)/source/matrix_wrapper/ErgoMatrix/src \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src \ -I$(top_srcdir)/source/densfromf/new_purification\ -I$(top_srcdir)/source/densfromf/new_purification/src all: all-am .SUFFIXES: .SUFFIXES: .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/densfromf/recursive_expansion/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/densfromf/recursive_expansion/src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libpurification.a: $(libpurification_a_OBJECTS) $(libpurification_a_DEPENDENCIES) $(EXTRA_libpurification_a_DEPENDENCIES) $(AM_V_at)-rm -f libpurification.a $(AM_V_AR)$(libpurification_a_AR) libpurification.a $(libpurification_a_OBJECTS) $(libpurification_a_LIBADD) $(AM_V_at)$(RANLIB) libpurification.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/puri_info.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/purification_general.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random_matrices.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/densfromf/recursive_expansion/src/constants.h0000664000175000017500000000267412743400307021603 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef HEADER_CONSTANTS #define HEADER_CONSTANTS #define ORDER 1.8 /**< Order of convergence of recursive expansion (We take smaller value due to numerical errors). */ #define C_SP2 4.4092 #endif //HEADER_CONSTANTS ergo-3.5/source/densfromf/recursive_expansion/src/Makefile.am0000664000175000017500000000151312743400307021441 00000000000000noinst_LIBRARIES = libpurification.a libpurification_a_SOURCES = \ constants.h \ purification_general.h \ purification_general.cc \ purification_sp2acc.h \ purification_sp2.h \ puri_info.h \ puri_info.cc \ random_matrices.cc\ random_matrices.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack \ -I$(top_srcdir)/source/matrix_wrapper/ErgoMatrix/src \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src \ -I$(top_srcdir)/source/densfromf/new_purification\ -I$(top_srcdir)/source/densfromf/new_purification/src ergo-3.5/source/densfromf/recursive_expansion/src/puri_info.cc0000664000175000017500000002661212743400307021715 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "puri_info.h" typedef PuriInfo::real real; void PuriInfo::get_poly_seq(std::vector &poly) { poly.clear(); poly.resize(total_it+1); for(int it = 0; it <= total_it; ++it) poly[it] = Iterations[it].poly; } void PuriInfo::get_vec_frob_norms(std::vector &norms) { norms.clear(); norms.resize(total_it+1); for(int it = 0; it <= total_it; ++it) norms[it] = Iterations[it].XmX2_fro_norm; } void PuriInfo::get_vec_mixed_norms(std::vector &norms) { norms.clear(); norms.resize(total_it+1); for(int it = 0; it <= total_it; ++it) norms[it] = Iterations[it].XmX2_mixed_norm; } void PuriInfo::get_vec_traces(std::vector & traces) { traces.clear(); traces.resize(total_it+1); for(int it = 0; it <= total_it; ++it) traces[it] = Iterations[it].XmX2_trace; } void PuriInfo::get_spectrum_bounds(real &lower_spectrum_bound_, real &upper_spectrum_bound_) const { lower_spectrum_bound_ = lower_spectrum_bound; upper_spectrum_bound_ = upper_spectrum_bound; } void PuriInfo::set_spectrum_bounds(const real lower_spectrum_bound_, const real upper_spectrum_bound_) { lower_spectrum_bound = lower_spectrum_bound_; upper_spectrum_bound = upper_spectrum_bound_; } void PuriInfo::print_collected_info() { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"========================================================================================================================================="); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"= SHORT OUTPUT ="); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"========================================================================================================================================="); // if used new stopping criterion if( stopping_criterion == 1) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Used the new stopping criterion"); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Estimated number of iterations:\t %d\n", estim_total_it); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Total number of iterations: iter + addit = %d + %d\n", total_it - additional_iterations, additional_iterations); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Iter \t Poly \t Order Frob \t Trace \t\t NNZ(X) \t NNZ(X2) \t Treshold \t Total time \t Kratio(eucl)"); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"------------------------------------------------------------------------------------------------------------------------"); for(int i = 1; i <= total_it - additional_iterations; i++) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"%3d \t %1d \t %6.2lf\t %12.5e \t %12.5e \t %6.2lf \t %6.2lf \t %9.5e \t %9.5lf \t %7.5lf", Iterations[i].it, Iterations[i].poly, Iterations[i].order, (double)Iterations[i].XmX2_fro_norm, (double)Iterations[i].XmX2_trace, Iterations[i].NNZ_X, Iterations[i].NNZ_X2, (double)Iterations[i].threshold_X, (double)Iterations[i].total_time, (double)Iterations[i].Kratio); } do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Total time of the purification: \t %lf sec\n", (double)total_time); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,""); if(method == 2) // accelerated { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Iter \t Poly \t Alpha \t\t Lumo \t\t\t Homo \t\t C "); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"-----------------------------------------------------------------"); for(int i = 1; i <= total_it - additional_iterations; i++) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"%d \t %d \t %lf \t [%lf, %lf] \t [%lf, %lf] \t %lf \n", Iterations[i].it, Iterations[i].poly, (double)Iterations[i].alpha, (double)Iterations[i].lumo_bound_low, (double)Iterations[i].lumo_bound_upp, (double)Iterations[i].homo_bound_low, (double)Iterations[i].homo_bound_upp, (double)Iterations[i].constantC); } } #ifdef CHECK_IF_STOPPED_TOO_LATE_OR_TOO_EARLY double XmX2_fro_norm_at_stop = Iterations[total_it - additional_iterations ].XmX2_fro_norm; double XmX2_fro_norm_before_stop = Iterations[total_it - additional_iterations - 2].XmX2_fro_norm; double XmX2_fro_norm_after_stop = Iterations[total_it - additional_iterations + 2].XmX2_fro_norm; if(XmX2_fro_norm_at_stop > XmX2_fro_norm_before_stop*2) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"FAILED (STOPPED TOO LATE)! XmX2_fro_norm_before_stop = %e, XmX2_fro_norm_at_stop = %e.\n", XmX2_fro_norm_before_stop, XmX2_fro_norm_at_stop); if(XmX2_fro_norm_at_stop > XmX2_fro_norm_after_stop*2 && XmX2_fro_norm_after_stop != 0.0) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"FAILED (STOPPED TOO EARLY)! XmX2_fro_norm_after_stop = %e, XmX2_fro_norm_at_stop = %e.\n", XmX2_fro_norm_after_stop, XmX2_fro_norm_at_stop); #endif } else // old stopping criterion { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Used the old stopping criterion"); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Estimated number of iterations:\t %d\n", estim_total_it); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Total number of iterations: iter + addit = %d + %d\n", total_it - additional_iterations, additional_iterations); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,""); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Iter \t Frob \t\t Trace \t\t NNZ(X) NNZ(X2) Total time "); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"-----------------------------------------------------------------------------"); for(int i = 1; i <= total_it - additional_iterations; i++) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"%d \t %e \t %e \t %d \t %d \t %lf \n", Iterations[i].it, (double)Iterations[i].XmX2_fro_norm, (double)Iterations[i].XmX2_trace, Iterations[i].NNZ_X, Iterations[i].NNZ_X2, (double)Iterations[i].total_time); } do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,""); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Total time of the purification: \t %lf sec\n", (double)total_time); } do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"========================================================================================================================================="); } void PuriInfo::print_collected_info_printf() { printf("=========================================================================================================================================\n"); printf("= SHORT OUTPUT =\n"); printf("=========================================================================================================================================\n"); // if used new stopping criterion if( stopping_criterion == 1) { printf("Used the new stopping criterion\n"); printf("Estimated number of iterations:\t %d\n\n", estim_total_it); printf("Total number of iterations: iter + addit = %d + %d\n", total_it - additional_iterations, additional_iterations); printf("Iter \t Poly \t Order Frob \t Trace \t\t NNZ(X) \t NNZ(X2) \t Treshold \t Total time \t Kratio(eucl) \n"); printf("-------------------------------------------------------------------------------------------------------------------------------------\n"); for(int i = 1; i <= total_it - additional_iterations; i++) { printf("%3d \t %1d \t %6.2lf\t %12.5e \t %12.5e \t %6.2lf \t %6.2lf \t %9.5e \t %9.5lf \t %7.5lf\n", Iterations[i].it, Iterations[i].poly, (double)Iterations[i].order, (double)Iterations[i].XmX2_fro_norm, (double)Iterations[i].XmX2_trace, (double)Iterations[i].NNZ_X, (double)Iterations[i].NNZ_X2, (double)Iterations[i].threshold_X, (double)Iterations[i].total_time, (double)Iterations[i].Kratio); } printf("Total time of the purification: \t %lf sec\n", (double)total_time); printf("\n"); if(method == 2) // accelerated { printf("Iter \t Poly \t Alpha \t\t Lumo \t\t\t Homo \t\t C \n"); printf("-----------------------------------------------------------------\n"); for(int i = 1; i <= total_it - additional_iterations; i++) { printf("%d \t %d \t %lf \t [%lf, %lf] \t [%lf, %lf] \t %lf \n", Iterations[i].it, Iterations[i].poly, (double)Iterations[i].alpha, (double)Iterations[i].lumo_bound_low, (double)Iterations[i].lumo_bound_upp, (double)Iterations[i].homo_bound_low, (double)Iterations[i].homo_bound_upp, (double)Iterations[i].constantC); } } #ifdef CHECK_IF_STOPPED_TOO_LATE_OR_TOO_EARLY double XmX2_fro_norm_at_stop = Iterations[total_it - additional_iterations ].XmX2_fro_norm; double XmX2_fro_norm_before_stop = Iterations[total_it - additional_iterations - 2].XmX2_fro_norm; double XmX2_fro_norm_after_stop = Iterations[total_it - additional_iterations + 2].XmX2_fro_norm; if(XmX2_fro_norm_at_stop > XmX2_fro_norm_before_stop*2) printf("FAILED (STOPPED TOO LATE)! XmX2_fro_norm_before_stop = %e, XmX2_fro_norm_at_stop = %e.\n", XmX2_fro_norm_before_stop, XmX2_fro_norm_at_stop); if(XmX2_fro_norm_at_stop > XmX2_fro_norm_after_stop*2 && XmX2_fro_norm_after_stop != 0.0) printf("FAILED (STOPPED TOO EARLY)! XmX2_fro_norm_after_stop = %e, XmX2_fro_norm_at_stop = %e.\n", XmX2_fro_norm_after_stop, XmX2_fro_norm_at_stop); #endif } else // old stopping criterion { printf("Used the old stopping criterion\n"); printf("Estimated number of iterations:\t %d\n", estim_total_it); printf("Total number of iterations: iter + addit = %d + %d\n", total_it - additional_iterations, additional_iterations); printf("\n"); printf("Iter \t Frob \t\t Trace \t\t NNZ(X) NNZ(X2) Total time \n"); printf("-----------------------------------------------------------------------------\n"); for(int i = 1; i <= total_it - additional_iterations; i++) { printf("%d \t %e \t %e \t %.2lf \t %.2lf \t %lf \n", Iterations[i].it, (double)Iterations[i].XmX2_fro_norm, (double)Iterations[i].XmX2_trace, (double)Iterations[i].NNZ_X, (double)Iterations[i].NNZ_X2, (double)Iterations[i].total_time); } printf("\n"); printf("Total time of the purification: \t %lf sec\n", (double)total_time); } printf("=========================================================================================================================================\n"); } ergo-3.5/source/densfromf/recursive_expansion/src/purification_general.h0000664000175000017500000030366612743400307023765 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef HEADER_PURIFICATION_GENERAL #define HEADER_PURIFICATION_GENERAL #include #include #include #include "matrix_typedefs.h" // definitions of matrix types and interval type #include "realtype.h" // definitions of types #include "matrix_utilities.h" #include "integral_matrix_wrappers.h" #include "output.h" #include "matrix_proxy.h" #include "puri_info.h" #include "constants.h" #include "utilities.h" #include "units.h" #include "files_dense.h" #include "files_sparse.h" typedef ergo_real real; /**************** DEFINE ******************/ // number of additional iterations /* After that stopping criterion says to stop, we save matrix X into the file, perform additional iterations and read matrix X back. It is done just for testing purposes in case we wish to run a few SCF iterations and use results in the iterations given by the stopping criterion, but at the same time we want to see what happen after stoping criterion says to stop the iterations. */ #define NUM_ADDITIONAL_ITERATIONS 0 // enable more output //#define DEBUG_PURI_OUTPUT #define DEBUG_PURI_OUTPUT_NNZ // enable printf output instead of output to ergoscf.out // do it if you need run just recursive expansion, not the whole SCF calculations // #define ENABLE_PRINTF_OUTPUT /**********************************/ extern real eucl_acc; extern real mixed_acc; extern real TOL_OVERLAPPING_BOUNDS; extern real THRESHOLD_EIG_TOLERANCE; extern int EIG_EMPTY; extern int EIG_SQUARE_INT; extern int EIG_PROJECTION_INT; extern int EIG_POWER_INT; extern int EIG_LANCZOS_INT; /** PurificationGeneral is an abstract class which provides an * interface for SP2, SP2ACC and possibly other recursive expansions. * * \tparam MatrixType Type of a matrix (ex. symmMatrix). */ template class PurificationGeneral { public: typedef ergo_real real; typedef intervalType IntervalType; typedef mat::normType NormType; typedef std::vector VectorTypeInt; typedef std::vector VectorTypeReal; typedef typename MatrixType::VectorType VectorType; typedef MatrixType MatrixTypeWrapper; PurificationGeneral() { initialized = false; computed_spectrum_bounds = false; eigVecHOMO = NULL; eigVecLUMO = NULL; eigVecHOMO2 = NULL; eigVecLUMO2 = NULL; } /** Set imporatant parameters for the recursive expansion. */ virtual void initialize(MatrixType &F_, /**< [in] Effective Hamiltonian matrix. */ IntervalType &lumo_bounds_, /**< [in] Bounds for lumo eigenvalue. */ IntervalType &homo_bounds_, /**< [in] Bounds for homo eigenvalue. */ int maxit_, /**< [in] Maximum number of recursive expansion iterations. */ real error_sub_, /**< [in] Allowed error in invariant subspaces. */ real error_eig_, /**< [in] Error in eigenvalues (used just in old stopping criterion). */ int use_new_stopping_criterion_, /**< [in] Set if want to use new stopping criterion. */ NormType norm_truncation, /**< [in] Truncation norm. */ NormType norm_stop_crit, /**< [in] Stopping criterion norm. */ int nocc_ /**< [in] Number of occupied orbitals. */ ); /** Check is function initialize() is already called. */ virtual bool is_initialized() const { return initialized; } /** Start recursive expansion. */ virtual void PurificationStart(); virtual ~PurificationGeneral(){}; /** Clear all matrices in the class. Needed to be called if Chunks and Tasks are used, since we need to delete all ChunkIDs before exiting the program. */ virtual void clear(){ X.clear(); Xsq.clear(); } /** Set spectrum bounds. * * Used if we know spectrum bounds or want to compute them outside * the class. */ void set_spectrum_bounds(real eigmin, real eigmax); void gen_matlab_file_norm_diff(const char *filename) const; void gen_matlab_file_threshold(const char *filename) const; void gen_matlab_file_nnz(const char *filename) const; void gen_matlab_file_eigs(const char *filename) const; void gen_matlab_file_time(const char *filename) const; void gen_matlab_file_comm_error(const char *filename) const; void gen_matlab_file_cond_num(const char *filename) const; void gen_matlab_file_which_eig_computed(const char *filename) const; /** Set parameters for computing eigenvectors. */ void set_eigenvectors_params(string eigenvectors_method_, string eigenvectors_iterative_method_, int number_of_eigenvalues_, real eigensolver_accuracy_, int eigensolver_maxiter_, int scf_step_, int use_prev_vector_as_initial_guess_, int try_eigv_on_next_iteration_if_fail_, VectorType * eigVecLUMO_, VectorType * eigVecHOMO_, VectorType * eigVecLUMO2_, VectorType * eigVecHOMO2_, IntervalType &lumo2_bounds_, IntervalType &homo2_bounds_ ); PuriInfo info; /**< Fill in during purification with useful information. */ MatrixType X; /**< Matrix X. */ MatrixType Xsq; /**< Matrix X^2. */ protected: MatrixType F; /**< Matrix F. Needed for computation of eigenvectors.*/ MatrixType X_homo, X_lumo; /**< Save matrix Xi in certain iterations for computing eigenvectors (projection method). */ void save_matrix_now(string str); /** Compute spectrum bounds. */ void get_spectrum_bounds(); /** Get matrix X0 by mapping spectrum of F into [0,1] in reverse * order.*/ void compute_X(); /** Get eigenvalue bounds for X0. */ void map_bounds_to_0_1(); /** Run recursive expansion. */ virtual void purification_process(); /** Check stopping criterion (obsolete). * * Use stopping criterion based on user defined threshold * values. */ virtual void check_standard_stopping_criterion(const real XmX2_norm, int &stop); /** Check stopping criterion. * * The new stopping criterion based on the order of convergence is * used, see article arXiv:1507.02087 "Parameterless stopping * criteria..." */ virtual void check_new_stopping_criterion(const int it, const real XmX2_norm_it, const real XmX2_norm_itm2, const real XmX2_trace, int &stop, real &estim_order); /** Choose stopping criterion and check it. */ virtual void stopping_criterion(IterationInfo &iter_info, int &stop, real &estim_order); int get_int_eig_iter_method(string eigenvectors_iterative_method); int get_int_eig_method(string eigenvectors_method); void compute_eigenvectors_without_diagonalization(int it, IterationInfo &iter_info); void compute_eigenvectors_without_diagonalization_last_iter_proj(); void compute_eigenvector(MatrixType const &M, VectorType* eigVecHOMOorLUMO, int it, bool is_homo); virtual real total_subspace_error(int it); /** Get machine epsilon. */ static real get_epsilon() {return std::numeric_limits::epsilon();} /** Get largest number. */ static real get_max_double() {return std::numeric_limits::max();} /** Get smallest number. */ static real get_min_double() {return std::numeric_limits::min();} /** Get nnz of X in %. */ double get_nnz_X(size_t &nnzX /**< Number of nz of X*/) {nnzX = X.nnz(); return (double) (((double)nnzX)/(X.get_ncols()*X.get_nrows()) * 100);} /** Get nnz of X in %. */ double get_nnz_X() {return (double) (((double)X.nnz())/(X.get_ncols()*X.get_nrows()) * 100);} /** Get nnz of X^2 in %. */ double get_nnz_Xsq(size_t &nnzXsq /**< Number of nz of X^2*/) {nnzXsq = Xsq.nnz(); return (double) (((double)nnzXsq)/(Xsq.get_ncols()*Xsq.get_nrows()) * 100);} /** Get nnz of X^2 in %. */ double get_nnz_Xsq() {return (double) (((double)Xsq.nnz())/(Xsq.get_ncols()*Xsq.get_nrows()) * 100);} /** Get homo and lumo bounds from traces and norms of Xi-Xi^2. * * Used at the end of the recursive expansion. See article SIAM * J. Sci. Comput., 36(2), B147–B170. */ void estimate_eigenvalues(IntervalType &homo_bounds_F, IntervalType &lumo_bounds_F, VectorTypeReal &XmX2_norm, VectorTypeReal &XmX2_trace); void determine_iteration_for_eigenvectors(); void get_iterations_for_lumo_and_homo(int &chosen_iter_lumo, int &chosen_iter_homo); void get_interval_with_lambda(real &eigVal, VectorType &eigVec, bool &is_homo, bool &is_lumo, const int iter); void get_eigenvalue_of_F_from_eigv_of_Xi(real &eigVal, VectorType &eigVec); virtual void set_init_params() = 0; virtual void set_truncation_parameters() = 0; virtual void truncate_matrix(real &thresh, int it) = 0; virtual void estimate_number_of_iterations(int &estim_num_iter) = 0; virtual void purify_X(const int it) = 0; virtual void purify_bounds(const int it) = 0; virtual void save_other_iter_info(IterationInfo &iter_info, int it) = 0; virtual void apply_inverse_poly_vector(const int it, VectorTypeReal &bounds_from_it) = 0; virtual void return_constant_C(const int it, real &Cval) = 0; /*virtual real apply_inverse_poly(const int it, real x) = 0;*/ virtual real apply_poly(const int it, real x) = 0; virtual void apply_poly_to_eigs(const int it, real &homo, real &lumo) = 0; virtual real compute_derivative(const int it, real x) = 0; /* PARAMETERS */ bool initialized; int use_new_stopping_criterion; /**< True for new stopping criterion */ int additional_iterations; /**< Do a few more iterations after convergence */ int maxit; /**< Maximum number of iterations */ int check_stopping_criterion_iter; /**< Iteration when to start to check stopping criterion. */ int nocc; /**< Number of occupied orbitals */ NormType normPuriTrunc; /**< Norm used for the truncation of matrices. * Can be mat::frobNorm, mat::mixedNorm, or mat::euclNorm. */ NormType normPuriStopCrit; /**< Norm used in the stopping criterion * Can be mat::frobNorm, mat::mixedNorm, or mat::euclNorm. */ real error_sub; /**< Allowed error in invariant subspaces. */ real error_eig; /**< Error in eigenvalues (used just in old stopping criterion). */ real constant_C; /**< Asymptotic constant C needed for the new stopping criterion. */ real gammaStopEstim; /**< Used on the stopping criterion for estimation of eigenvalues from purification */ VectorTypeInt VecPoly; /**< Polynomials computed in the function * estimated_number_of_iterations() * VecPoly[i] = 1 if we use X=X^2 * VecPoly[i] = 0 if we use X=2X-X^2 * (or their accelerated versions) */ VectorTypeReal VecGap; /**< Gap computed using inner homo and lumo bounds on each iteration. */ /*EIGENVECTORS STAFF*/ int number_of_eigenvalues; IntervalType homo_bounds; /**< Homo bounds for F and (1-homo) bounds for Xi */ IntervalType lumo_bounds; /**< Lumo bounds */ IntervalType homo_bounds_X0; /**< Initial lumo bounds for X */ IntervalType lumo_bounds_X0; /**< Initial lumo bounds for X */ IntervalType homo_bounds_F; /**< Initial lumo bounds for F */ IntervalType lumo_bounds_F; /**< Initial homo bounds for F */ IntervalType lumo2_bounds; IntervalType homo2_bounds; IntervalType lumo2_bounds_F; IntervalType homo2_bounds_F; IntervalType spectrum_bounds; /**< Outer bounds for the whole spectrum of F/Xi. */ bool computed_spectrum_bounds; /* Eigenvectors */ int eigenvectors_method; /**< Chosen method for computing eigenvectors. */ int eigenvectors_iterative_method; /**< Chosen eigensolver. */ // accuracy of the eigenvalue problem solver // when residual is less then this value,stop real eigensolver_accuracy; // maximum number of iterations for eigensolver int eigensolver_maxiter; string eigenvectors_method_str; string eigenvectors_iterative_method_str; int use_prev_vector_as_initial_guess; bool compute_eigenvectors_in_this_SCF_cycle; bool try_eigv_on_next_iteration_if_fail; VectorType * eigVecLUMO; VectorType * eigVecHOMO; VectorType * eigVecLUMO2; VectorType * eigVecHOMO2; VectorType eigVecLUMORef; VectorType eigVecHOMORef; real eigValLUMO; real eigValHOMO; real eigValLUMO2; real eigValHOMO2; int iter_for_homo; int iter_for_lumo; VectorTypeInt good_iterations_homo; /**< Iterations where homo eigenvector can be computed. */ VectorTypeInt good_iterations_lumo; /**< Iterations where homo eigenvector can be computed. */ VectorTypeInt really_good_iterations_homo; /**< Iterations where homo eigenvector is actually computed. */ VectorTypeInt really_good_iterations_lumo; /**< Iterations where lumo eigenvector is actually computed. */ int scf_step; }; /**************************************/ /******************* INIT *******************/ template void PurificationGeneral::initialize(MatrixType &F_, IntervalType &lumo_bounds_, IntervalType &homo_bounds_, int maxit_, real error_sub_, real error_eig_, int use_new_stopping_criterion_, NormType norm_truncation_, NormType norm_stop_crit_, int nocc_ ) { X = F_; lumo_bounds = lumo_bounds_; homo_bounds = homo_bounds_; maxit = maxit_; assert(maxit >= 1); error_sub = error_sub_; error_eig = error_eig_; use_new_stopping_criterion = use_new_stopping_criterion_; normPuriTrunc = norm_truncation_; normPuriStopCrit = norm_stop_crit_; nocc = nocc_; initialized = true; // save bounds for the matrix F lumo_bounds_F = lumo_bounds_; homo_bounds_F = homo_bounds_; /* Use this function to enable printf output of the purification work if you want to run just the purification, not the whole scf calculations */ #ifdef ENABLE_PRINTF_OUTPUT enable_printf_output(); #endif size_t nnzX; double nnzXp = get_nnz_X(nnzX); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Creating purification object: N = %d , nocc = %d , NNZ = %lu <-> %.5lf %%", X.get_nrows(), nocc, nnzX, nnzXp); #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Chosen norm for the truncation: "); switch(normPuriTrunc) { case mat::mixedNorm: do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"mixed"); break; case mat::euclNorm: do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"eucl"); break; case mat::frobNorm: do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"frob"); break; default: do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"unknown"); } do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Chosen norm for the stopping criterion: "); switch(normPuriStopCrit) { case mat::mixedNorm: do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"mixed"); break; case mat::euclNorm: do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"eucl"); break; case mat::frobNorm: do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"frob"); break; default: do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"unknown"); } if( this->use_new_stopping_criterion == 1 ) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Chosen the NEW stopping criterion."); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Allowed error in subspace %e", (double)error_sub); } else { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Chosen the OLD stopping criterion."); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Allowed error in subspace %e , in eigenvalues %e", (double)error_sub, (double)error_eig); } #endif // we need values on iteration it-2 for the stopping criterion check_stopping_criterion_iter = 2; set_init_params(); additional_iterations = NUM_ADDITIONAL_ITERATIONS; info.stopping_criterion = use_new_stopping_criterion; // 1 if new, 0 if not info.error_subspace = error_sub; number_of_eigenvalues = 0; info.debug_output = 0; #ifdef DEBUG_PURI_OUTPUT info.debug_output = 1; #endif } /*******************************************************/ template void PurificationGeneral::set_eigenvectors_params(string eigenvectors_method_, string eigenvectors_iterative_method_, int number_of_eigenvalues_, real eigensolver_accuracy_, int eigensolver_maxiter_, int scf_step_, int use_prev_vector_as_initial_guess_, int try_eigv_on_next_iteration_if_fail_, VectorType * eigVecLUMO_, VectorType * eigVecHOMO_, VectorType * eigVecLUMO2_, VectorType * eigVecHOMO2_, IntervalType &lumo2_bounds_, IntervalType &homo2_bounds_ ) { number_of_eigenvalues = number_of_eigenvalues_; if(number_of_eigenvalues > 1) throw "Error in set_eigenvectors_params() : cannot compute more than 1 eigenpair."; // NULL, empty or containing eigenvector from the previos cycle eigVecLUMO = eigVecLUMO_; eigVecHOMO = eigVecHOMO_; eigensolver_accuracy = eigensolver_accuracy_; eigensolver_maxiter = eigensolver_maxiter_; assert(eigensolver_maxiter >= 1); scf_step = scf_step_; eigenvectors_method_str = eigenvectors_method_; eigenvectors_iterative_method_str = eigenvectors_iterative_method_; eigenvectors_method = get_int_eig_method(eigenvectors_method_); eigenvectors_iterative_method = get_int_eig_iter_method(eigenvectors_iterative_method_); use_prev_vector_as_initial_guess = use_prev_vector_as_initial_guess_; try_eigv_on_next_iteration_if_fail = try_eigv_on_next_iteration_if_fail_; lumo2_bounds = lumo2_bounds_; homo2_bounds = homo2_bounds_; lumo2_bounds_F = lumo2_bounds_; homo2_bounds_F = homo2_bounds_; info.lumo_eigenvector_is_computed = false; info.homo_eigenvector_is_computed= false; // we hope to be able to compute also HOMO2 and LUMO2 info.lumo2_eigenvector_is_computed = false; info.homo2_eigenvector_is_computed= false; iter_for_homo = -1; iter_for_lumo = -1; // no given method for computing eigenvectors if((eigVecLUMO != NULL || eigVecHOMO != NULL) && eigenvectors_method == EIG_EMPTY) { #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"No given method for computing eigenvectors." "Eigenvectors will not be computed in this SCF cycle. Set eigenvectors to NULL."); #endif delete eigVecLUMO; // not NULL here delete eigVecHOMO; // not NULL here eigVecLUMO = NULL; eigVecHOMO = NULL; } else { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Chosen method to compute eigenvectors: %s", eigenvectors_method_str.c_str()); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Chosen iterative method to compute eigenvectors: %s", eigenvectors_iterative_method_str.c_str()); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Chosen eigensolver accuracy: %g", (double)eigensolver_accuracy); } // reuse eigenvector computed in the previous SCF cycle as an initial guess if( (eigVecLUMO != NULL || eigVecHOMO != NULL) && use_prev_vector_as_initial_guess) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Use eigenvectors from the previous SCF cycle as an initial guess for this SCF cycle"); } template int PurificationGeneral::get_int_eig_method(string eigenvectors_method) { if(eigenvectors_method == "square") return EIG_SQUARE_INT; if(eigenvectors_method == "projection") return EIG_PROJECTION_INT; if(eigenvectors_method == "") return EIG_EMPTY; throw "Error in get_int_eig_method(): unknown method to compute eigenvectors"; } template int PurificationGeneral::get_int_eig_iter_method(string eigenvectors_iterative_method) { if(eigenvectors_iterative_method == "power") return EIG_POWER_INT; if(eigenvectors_iterative_method == "lanczos") return EIG_LANCZOS_INT; if(eigenvectors_iterative_method == "") return EIG_EMPTY; throw "Error in get_int_eig_iter_method(): unknown iterative method to compute eigenvectors"; } /****************** PURIFICATION_START ********************/ template void PurificationGeneral::PurificationStart() { if(!is_initialized()) throw "Error in PurificationStart() : function is called for an uninitialized class."; #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Enter PurificationStart()"); #endif Util::TimeMeter total_time;// measure total time of the purification process compute_eigenvectors_in_this_SCF_cycle = false; // initial value, later in the code may be changed if(!computed_spectrum_bounds) { Util::TimeMeter total_time_spectrum_bounds; get_spectrum_bounds(); total_time_spectrum_bounds.print(LOG_AREA_DENSFROMF, "get_spectrum_bounds"); double total_time_spectrum_bounds_stop = total_time_spectrum_bounds.get_elapsed_wall_seconds(); info.time_spectrum_bounds = total_time_spectrum_bounds_stop; computed_spectrum_bounds = true; } info.set_spectrum_bounds( spectrum_bounds.low(), spectrum_bounds.upp()); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Spectrum of F: \t [ %.12lf , %.12lf ]", (double)spectrum_bounds.low(), (double)spectrum_bounds.upp()); map_bounds_to_0_1(); if(eigVecLUMO != NULL || eigVecHOMO != NULL) { // check if we have non-overlapping homo and lumo bounds if(1 - homo_bounds.upp() - lumo_bounds.upp() >= TOL_OVERLAPPING_BOUNDS) { compute_eigenvectors_in_this_SCF_cycle = true; } else do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Homo and lumo inner bounds are too close (< %g), " "homo and lumo eigenvectors will not be computed", (double)TOL_OVERLAPPING_BOUNDS); } info.compute_eigenvectors_in_this_SCF_cycle = compute_eigenvectors_in_this_SCF_cycle; if(compute_eigenvectors_in_this_SCF_cycle) { F = X; // Save original matrix F, needed for computation of the Rayleigh quotient. // Quotient is needed to compute eigenvalue corresponding to the eigenvector // and see which eigenvalue it is, homo or lumo. F.writeToFile(); } compute_X(); // F->X, put eigenvalues to the [0,1] set_truncation_parameters(); if(compute_eigenvectors_in_this_SCF_cycle) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"calling determine_iteration_for_eigenvectors()"); determine_iteration_for_eigenvectors(); // on which iterations we should compute eigenvectors } #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Starting recursive expansion"); #endif purification_process(); total_time.print(LOG_AREA_DENSFROMF, "Recursive expansion"); double total_time_stop = total_time.get_elapsed_wall_seconds(); info.total_time = total_time_stop; } template void PurificationGeneral::purification_process() { int it; int stop = 0; real ONE = 1.0; real thresh; real Xsquare_time_stop = -1, total_time_stop = -1, trunc_time_stop = -1, purify_time_stop = -1; real frob_diff_time_stop = -1, eucl_diff_time_stop = -1, trace_diff_time_stop = -1, mixed_diff_time_stop = -1, stopping_criterion_time_stop = -1; int maxit_tmp = maxit; real estim_order = -1; real XmX2_trace = -1; real XmX2_euc_lower_bound_it = -1; real XmX2_fro_norm = -1; real XmX2_mixed_norm = -1; real XmX2_fro_norm_itm2 = -1; real XmX2_norm_itm2 = -1, XmX2_norm_it = -1; real K_n = -1, K_nm1 = -1; real XmX2_eucl = -1, XmX2_eucl_itm2 = -1; int already_stop_before = 0; // flag for checking stopping criterion, needed in case additional_iterations != 0 IterationInfo iter_info; // 0-th iterations // 0 iteration it = 0; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "BEFORE ITERATIONS:"); Util::TimeMeter total_time; // for this iteration #ifdef DEBUG_PURI_OUTPUT_NNZ double nnzX = get_nnz_X(); #endif // truncate matrix Util::TimeMeter trunc_time; truncate_matrix(thresh, it); trunc_time.print(LOG_AREA_DENSFROMF, "truncate_matrix"); trunc_time_stop = trunc_time.get_elapsed_wall_seconds(); #ifdef DEBUG_PURI_OUTPUT_NNZ double nnzXafter = get_nnz_X(); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Actual introduced error %e , nnz before %.2lf %% , nnz after %.2lf %%", (double)thresh, nnzX, nnzXafter); #else do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Actual introduced error %e", (double)thresh); #endif output_current_memory_usage(LOG_AREA_DENSFROMF, "Before X square"); Util::TimeMeter Xsquare_time; X.square(Xsq); Xsquare_time.print(LOG_AREA_DENSFROMF, "square"); Xsquare_time_stop = Xsquare_time.get_elapsed_wall_seconds(); #ifdef DEBUG_PURI_OUTPUT_NNZ size_t nnzXsq; double nnzXsqp = get_nnz_Xsq(nnzXsq); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "NNZ Xsq = %lu <-> %.2lf %%", nnzXsq, nnzXsqp); #endif // compute frob norm of X-X2 Util::TimeMeter frob_diff_time; XmX2_fro_norm = MatrixType::frob_diff(X, Xsq); #ifdef DEBUG_PURI_OUTPUT frob_diff_time.print(LOG_AREA_DENSFROMF, "Frobenius norm of X-X^2"); #endif frob_diff_time_stop = frob_diff_time.get_elapsed_wall_seconds(); if( normPuriStopCrit == mat::mixedNorm ) { Util::TimeMeter mixed_diff_time; XmX2_mixed_norm = MatrixType::mixed_diff(X, Xsq, mixed_acc); #ifdef DEBUG_PURI_OUTPUT mixed_diff_time.print(LOG_AREA_DENSFROMF, "Mixed norm of X-X^2"); #endif mixed_diff_time_stop = mixed_diff_time.get_elapsed_wall_seconds(); } // compute trace of X-X2 Util::TimeMeter trace_diff_time; XmX2_trace = MatrixType::trace_diff(X, Xsq); #ifdef DEBUG_PURI_OUTPUT trace_diff_time.print(LOG_AREA_DENSFROMF, "Trace of X-X^2"); #endif trace_diff_time_stop = trace_diff_time.get_elapsed_wall_seconds(); if( normPuriStopCrit == mat::euclNorm ) { Util::TimeMeter eucl_diff_time; XmX2_eucl = MatrixType::eucl_diff(X, Xsq, eucl_acc); #ifdef DEBUG_PURI_OUTPUT eucl_diff_time.print(LOG_AREA_DENSFROMF, "Spectral norm of X-X^2"); #endif eucl_diff_time_stop = eucl_diff_time.get_elapsed_wall_seconds(); } #ifdef DEBUG_PURI_OUTPUT if( normPuriStopCrit == mat::euclNorm ) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "||X-X^2||_2 = %e", (double)XmX2_eucl); if( normPuriStopCrit == mat::mixedNorm ) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "||X-X^2||_F = %e , ||X-X^2||_mixed = %e", (double)XmX2_fro_norm, (double)XmX2_mixed_norm); if( normPuriStopCrit == mat::frobNorm ) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "||X-X^2||_F = %e", (double)XmX2_fro_norm); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "trace(X-X^2) = %e", (double)XmX2_trace); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "trace(X) = %e", (double)X.trace()); #endif if(compute_eigenvectors_in_this_SCF_cycle) compute_eigenvectors_without_diagonalization(it, iter_info); ostringstream str_out; str_out << "Iteration " << it; total_time.print(LOG_AREA_DENSFROMF, str_out.str().c_str()); total_time_stop = total_time.get_elapsed_wall_seconds(); // save some information iter_info.it = it; iter_info.gap = 1 - homo_bounds.upp() - lumo_bounds.upp(); // = VecGap[0] iter_info.threshold_X = thresh; iter_info.Xsquare_time = Xsquare_time_stop; iter_info.trunc_time = trunc_time_stop; iter_info.purify_time = 0; iter_info.NNZ_X = get_nnz_X(); iter_info.NNZ_X2 = get_nnz_Xsq(); iter_info.XmX2_fro_norm = XmX2_fro_norm; iter_info.XmX2_eucl = XmX2_eucl; iter_info.XmX2_mixed_norm = XmX2_mixed_norm; iter_info.XmX2_trace = XmX2_trace; iter_info.total_time = total_time_stop; iter_info.homo_bound_low = homo_bounds.low(); iter_info.lumo_bound_low = lumo_bounds.low(); iter_info.homo_bound_upp = homo_bounds.upp(); iter_info.lumo_bound_upp = lumo_bounds.upp(); stopping_criterion_time_stop = 0; // we are not checking stopping criterion on the 1 iteration iter_info.stopping_criterion_time = stopping_criterion_time_stop; iter_info.eucl_diff_time = eucl_diff_time_stop; iter_info.frob_diff_time = frob_diff_time_stop; iter_info.mixed_diff_time = mixed_diff_time_stop; iter_info.trace_diff_time = trace_diff_time_stop; save_other_iter_info(iter_info, it); /**************/ info.Iterations.push_back(iter_info); // add info about 0 iteration output_current_memory_usage(LOG_AREA_DENSFROMF, "Before iteration 1"); Util::TimeMeter timeMeterWriteAndReadAll; std::string sizesStr = mat::FileWritable::writeAndReadAll(); timeMeterWriteAndReadAll.print(LOG_AREA_DENSFROMF, "FileWritable::writeAndReadAll"); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, ((std::string)"writeAndReadAll sizesStr: '" + sizesStr).c_str()); it = 1; while(it <= maxit_tmp) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "ITERATION %d :", it); IterationInfo iter_info; // i-th iteration Util::TimeMeter total_time; // for this iteration Util::TimeMeter purify_time; purify_X(it); purify_time.print(LOG_AREA_DENSFROMF, "purify_X"); purify_time_stop = purify_time.get_elapsed_wall_seconds(); #ifdef DEBUG_PURI_OUTPUT_NNZ double nnzX = get_nnz_X(); #endif // truncate matrix Util::TimeMeter trunc_time; truncate_matrix(thresh, it); trunc_time.print(LOG_AREA_DENSFROMF, "truncate_matrix"); trunc_time_stop = trunc_time.get_elapsed_wall_seconds(); #ifdef DEBUG_PURI_OUTPUT_NNZ double nnzXafter = get_nnz_X(); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Actual introduced error %e , nnz before %.2lf %% , nnz after %.2lf %%", thresh, nnzX, nnzXafter); #else do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF,"Actual introduced error %e", thresh); #endif output_current_memory_usage(LOG_AREA_DENSFROMF, "Before X square"); Util::TimeMeter Xsquare_time; X.square(Xsq); Xsquare_time.print(LOG_AREA_DENSFROMF, "square"); Xsquare_time_stop = Xsquare_time.get_elapsed_wall_seconds(); #ifdef DEBUG_PURI_OUTPUT_NNZ size_t nnzXsq; double nnzXsqp = get_nnz_Xsq(nnzXsq); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "NNZ Xsq = %lu <-> %.2lf %%", nnzXsq, nnzXsqp); #endif // update bounds for homo and lumo using corresponding polynomial purify_bounds(it); // compute frob norm of X-X2 Util::TimeMeter frob_diff_time; XmX2_fro_norm = MatrixType::frob_diff(X, Xsq); #ifdef DEBUG_PURI_OUTPUT frob_diff_time.print(LOG_AREA_DENSFROMF, "Frobenius norm of X-X^2"); #endif frob_diff_time_stop = frob_diff_time.get_elapsed_wall_seconds(); if( normPuriStopCrit == mat::mixedNorm ) { Util::TimeMeter mixed_diff_time; XmX2_mixed_norm = MatrixType::mixed_diff(X, Xsq, mixed_acc); #ifdef DEBUG_PURI_OUTPUT mixed_diff_time.print(LOG_AREA_DENSFROMF, "Mixed norm of X-X^2"); #endif mixed_diff_time_stop = mixed_diff_time.get_elapsed_wall_seconds(); } // compute trace of X-X2 Util::TimeMeter trace_diff_time; XmX2_trace = MatrixType::trace_diff(X, Xsq); #ifdef DEBUG_PURI_OUTPUT trace_diff_time.print(LOG_AREA_DENSFROMF, "Trace of X-X^2"); #endif trace_diff_time_stop = trace_diff_time.get_elapsed_wall_seconds(); // CHECK FOR A NEGATIVE TRACE if(XmX2_trace < -1e10) // here is definitively some misconvergence throw("Error in purification_process() : trace of X-X^2 is negative, seems as a" " misconvergence of the recursive expansion."); #ifdef DEBUG_PURI_OUTPUT if( normPuriStopCrit == mat::mixedNorm ) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "||X-X^2||_F = %e , ||X-X^2||_mixed = %e", XmX2_fro_norm, XmX2_mixed_norm); if( normPuriStopCrit == mat::frobNorm ) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "||X-X^2||_F = %e", XmX2_fro_norm); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "trace(X-X^2) = %e", XmX2_trace); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "trace(X) = %e", X.trace()); #endif if( normPuriStopCrit == mat::euclNorm ) { Util::TimeMeter eucl_diff_time; XmX2_eucl = MatrixType::eucl_diff(X, Xsq, eucl_acc); #ifdef DEBUG_PURI_OUTPUT eucl_diff_time.print(LOG_AREA_DENSFROMF, "Spectral norm of X-X^2"); #endif eucl_diff_time_stop = eucl_diff_time.get_elapsed_wall_seconds(); #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "||X-X^2||_2 = %e", XmX2_eucl); // compute ratio K_{i-2}^2/K_i, see article // arXiv:1507.02087 "Parameterless stopping criteria..." if(it >=2 ) { K_n = XmX2_fro_norm/XmX2_eucl; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "K_n = %e ", K_n); K_nm1 = info.Iterations[it-2].XmX2_fro_norm / info.Iterations[it-2].XmX2_eucl; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "K_{n-1}^2 / K_n = %e ", K_nm1*K_nm1/K_n); } #endif iter_info.Kratio = K_nm1*K_nm1/K_n; } iter_info.XmX2_fro_norm = XmX2_fro_norm; iter_info.XmX2_mixed_norm = XmX2_mixed_norm; iter_info.XmX2_trace = XmX2_trace; iter_info.XmX2_eucl = XmX2_eucl; // save some information iter_info.it = it; iter_info.threshold_X = thresh; iter_info.Xsquare_time = Xsquare_time_stop; iter_info.trunc_time = trunc_time_stop; iter_info.purify_time = purify_time_stop; iter_info.eucl_diff_time = eucl_diff_time_stop; iter_info.frob_diff_time = frob_diff_time_stop; iter_info.mixed_diff_time = mixed_diff_time_stop; iter_info.trace_diff_time = trace_diff_time_stop; if(compute_eigenvectors_in_this_SCF_cycle) compute_eigenvectors_without_diagonalization(it, iter_info); // check stopping criterion (call function on every iteration // larger or equal to check_stopping_criterion_iter) if(it >= check_stopping_criterion_iter) { Util::TimeMeter stopping_criterion_time; stopping_criterion(iter_info, stop, estim_order); stopping_criterion_time.print(LOG_AREA_DENSFROMF, "stopping_criterion"); stopping_criterion_time_stop = stopping_criterion_time.get_elapsed_wall_seconds(); iter_info.stopping_criterion_time = stopping_criterion_time_stop; } else { stop = 0; estim_order = -1; } // if we reach stopping iteration or maximum allowed number or iterations // and we are not already stop (in case we have additional_iterations != 0) if( (already_stop_before == 0) && (stop == 1 || it == maxit)) { if(stop == 1) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "PURIFICATION CONVERGED after %d iterations", it); info.converged = 1; } else // if it == maxit { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "NOT CONVERGED. Reached the maximum number of iterations %d", maxit); info.converged = 0; } assert(maxit_tmp <= (int)VecPoly.size()); maxit_tmp = it + additional_iterations; already_stop_before = 1; /* if(additional_iterations != 0) { // save matrix do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Save matrix X into the file X_tmp.txt"); vector A; symmMatrix Y; X.get_matrix(Y); Y.fullMatrix(A); write_matrix(saved_matrix_name, A, X.get_nrows(), X.get_ncols()); } */ } ostringstream str_out; str_out << "Iteration " << it; total_time.print(LOG_AREA_DENSFROMF, str_out.str().c_str()); total_time_stop = total_time.get_elapsed_wall_seconds(); /******************/ iter_info.NNZ_X = get_nnz_X(); iter_info.NNZ_X2 = get_nnz_Xsq(); iter_info.homo_bound_low = homo_bounds.low(); iter_info.homo_bound_upp = homo_bounds.upp(); iter_info.lumo_bound_low = lumo_bounds.low(); iter_info.lumo_bound_upp = lumo_bounds.upp(); iter_info.total_time = total_time_stop; iter_info.constantC = constant_C; if( use_new_stopping_criterion ) iter_info.order = estim_order; save_other_iter_info(iter_info, it); /*******************/ info.Iterations.push_back(iter_info); // add info about i-th iteration to the info it++; } //while output_current_memory_usage(LOG_AREA_DENSFROMF, "After the last iteration"); Util::TimeMeter timeMeterWriteAndReadAll_end; sizesStr = mat::FileWritable::writeAndReadAll(); timeMeterWriteAndReadAll_end.print(LOG_AREA_DENSFROMF, "FileWritable::writeAndReadAll"); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, ((std::string)"writeAndReadAll sizesStr: '" + sizesStr).c_str()); info.total_it = maxit_tmp; info.additional_iterations = additional_iterations; real acc_err_sub = total_subspace_error(maxit_tmp - additional_iterations); #ifdef DEBUG_PURI_OUTPUT if(acc_err_sub != -1) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "TOTAL accumulated subspace error is %e", acc_err_sub); #endif info.accumulated_error_subspace = acc_err_sub; IntervalType homo_estim_bounds_F, lumo_estim_bounds_F; homo_estim_bounds_F = intervalType(-1e22,1e22); lumo_estim_bounds_F = intervalType(-1e22,1e22); IntervalType homo2_estim_bounds_F, lumo2_estim_bounds_F; homo2_estim_bounds_F = intervalType(-1e22,1e22); lumo2_estim_bounds_F = intervalType(-1e22,1e22); if(info.converged == 1) { // estimate eigenvalues of the matrix F VectorTypeReal norms, traces; info.get_vec_frob_norms(norms); info.get_vec_traces(traces); estimate_eigenvalues(homo_estim_bounds_F, lumo_estim_bounds_F, norms, traces); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Estimated bounds for the eigenvalues for the Fock matrix:"); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "ESTIM LUMO: [ %.12lf , %.12lf ]", lumo_estim_bounds_F.low(), lumo_estim_bounds_F.upp()); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "ESTIM HOMO: [ %.12lf , %.12lf ]", homo_estim_bounds_F.low(), homo_estim_bounds_F.upp()); } else do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Cannot estimate eigenvalues since the purification did not converge"); info.homo_estim_low_F = homo_estim_bounds_F.low(); info.homo_estim_upp_F = homo_estim_bounds_F.upp(); info.lumo_estim_low_F = lumo_estim_bounds_F.low(); info.lumo_estim_upp_F = lumo_estim_bounds_F.upp(); info.homo2_estim_low_F = homo2_estim_bounds_F.low(); info.homo2_estim_upp_F = homo2_estim_bounds_F.upp(); info.lumo2_estim_low_F = lumo2_estim_bounds_F.low(); info.lumo2_estim_upp_F = lumo2_estim_bounds_F.upp(); if(compute_eigenvectors_in_this_SCF_cycle && eigenvectors_method == EIG_PROJECTION_INT) compute_eigenvectors_without_diagonalization_last_iter_proj(); // save HOMO and LUMO eigenvalues in the info object if(compute_eigenvectors_in_this_SCF_cycle) { int ITER_DIFF = 2; // check if we passed iter_for_homo iteration if(!eigVecHOMO->is_empty() && info.total_it < iter_for_homo) { do_output(LOG_CAT_WARNING, LOG_AREA_DENSFROMF, "HOMO eigenvector was not computed. Iteration for homo: %d, total number of iterations: %d", iter_for_homo, info.total_it); info.eigValHOMO = 0; info.homo_eigenvector_is_computed = false; eigVecHOMO->clear_structure(); } else { // if yes, was it one of the last iterations? if(!eigVecHOMO->is_empty() && info.total_it - iter_for_homo < ITER_DIFF && info.homo_eigenvector_is_computed) do_output(LOG_CAT_WARNING, LOG_AREA_DENSFROMF, "HOMO eigenvector was computed in one of the last recursive expansion iterations (%d of total %d). " "Eigenvalues of the matrix X in this iteration probably already reached the level of numerical errors, " "thus result may not be accurate!", iter_for_homo, info.total_it); } // check if we passed iter_for_lumo iteration if(!eigVecLUMO->is_empty() && info.total_it < iter_for_lumo) { do_output(LOG_CAT_WARNING, LOG_AREA_DENSFROMF, "LUMO eigenvector was not computed. Iteration for lumo: %d, total number of iterations: %d", iter_for_lumo, info.total_it); info.eigValLUMO = 0; info.lumo_eigenvector_is_computed = false; eigVecLUMO->clear_structure(); } else { // if yes, was it one of the last iterations? if(!eigVecLUMO->is_empty() && info.total_it - iter_for_lumo < ITER_DIFF && info.lumo_eigenvector_is_computed) do_output(LOG_CAT_WARNING, LOG_AREA_DENSFROMF, "LUMO eigenvector was computed in one of the last recursive expansion iterations (%d of total %d). " "Eigenvalues of the matrix X in this iteration probably already reached the level of numerical errors, " "thus result may not be accurate!", iter_for_lumo, info.total_it); } real low_lumo_F_bound = info.lumo_estim_low_F; real upp_lumo_F_bound = info.lumo_estim_upp_F; real low_homo_F_bound = info.homo_estim_low_F; real upp_homo_F_bound = info.homo_estim_upp_F; real low_lumo2_F_bound = info.lumo2_estim_low_F; real upp_lumo2_F_bound = info.lumo2_estim_upp_F; real low_homo2_F_bound = info.homo2_estim_low_F; real upp_homo2_F_bound = info.homo2_estim_upp_F; // For small cases bounds can be too good or even slightly wrong // due to numerical errors; thus we allow a small flexibility real flex_tolerance = THRESHOLD_EIG_TOLERANCE; if(info.homo_eigenvector_is_computed) // check if eigenvector was computed if(low_homo_F_bound - flex_tolerance <= eigValHOMO && eigValHOMO <= upp_homo_F_bound + flex_tolerance) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "HOMO eigenvalue is %lf , HOMO bounds are [ %lf , %lf ]", eigValHOMO, low_homo_F_bound, upp_homo_F_bound); info.eigValHOMO = eigValHOMO; } else { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Computed HOMO eigenvalue is outside HOMO bounds [ %lf , %lf ]," " discard computed HOMO eigenvector.", low_homo_F_bound, upp_homo_F_bound); info.eigValHOMO = 0; info.homo_eigenvector_is_computed = false; /* NOTE: clear() gives a zero vector, which may not be empty (i.e. still save some data about the structure)! Thus we use clear_structure() to get an empty vector. */ eigVecHOMO->clear_structure(); } else { info.eigValHOMO = 0; info.homo_eigenvector_is_computed = false; eigVecHOMO->clear_structure(); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "HOMO eigenvector is not computed."); } if(info.lumo_eigenvector_is_computed) // check if eigenvector was computed if(low_lumo_F_bound - flex_tolerance <= eigValLUMO && eigValLUMO <= upp_lumo_F_bound + flex_tolerance) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "LUMO eigenvalue is %lf , LUMO bounds are [ %lf , %lf ]", eigValLUMO, low_lumo_F_bound, upp_lumo_F_bound); info.eigValLUMO = eigValLUMO; } else { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Computed LUMO eigenvalue is outside LUMO bounds [ %lf , %lf ]," " discard computed LUMO eigenvector.", low_lumo_F_bound, upp_lumo_F_bound); info.eigValLUMO = 0; info.lumo_eigenvector_is_computed = false; eigVecLUMO->clear_structure(); } else { info.eigValLUMO = 0; info.lumo_eigenvector_is_computed = false; eigVecLUMO->clear_structure(); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "LUMO eigenvector is not computed."); } if(info.homo_eigenvector_is_computed && info.lumo_eigenvector_is_computed) { real gap = eigValLUMO - eigValHOMO; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Computed HOMO-LUMO gap is %lf = %lf eV", gap, gap / UNIT_one_eV); } } // end of purification } /***************** COMPUTE_X *****************/ template void PurificationGeneral::compute_X() { if(spectrum_bounds.empty()) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Interval spectrum_bounds is empty in compute_X()."); #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Transform matrix F..."); #endif real eigmin = spectrum_bounds.low(); real eigmax = spectrum_bounds.upp(); X.add_identity(-eigmax); X.mult_scalar((real)1.0 / (eigmin - eigmax)); } template void PurificationGeneral::map_bounds_to_0_1() { if(spectrum_bounds.empty()) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Interval spectrum_bounds is empty in map_bounds_to_0_1()."); #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Transform homo and lumo bounds..."); #endif real eigmin = spectrum_bounds.low(); real eigmax = spectrum_bounds.upp(); // Compute transformed homo and lumo eigenvalues. // homo and lumo must be in the [lmin, lmax] interval homo_bounds.intersect(spectrum_bounds); lumo_bounds.intersect(spectrum_bounds); homo2_bounds.intersect(spectrum_bounds); lumo2_bounds.intersect(spectrum_bounds); #ifdef DEBUG_PURI_OUTPUT if ( homo_bounds.empty() ) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Interval homo_bounds is empty."); if ( lumo_bounds.empty() ) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Interval lumo_bounds is empty."); if(!mat::Interval::intersect(homo_bounds,lumo_bounds).empty()) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Bounds for homo and lumo of F are not known."); //return; } #endif #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Put eigenvalues of F to the interval [0,1] in reverse order."); #endif // (1-homo) and lumo bounds for matrix X homo_bounds = (homo_bounds - eigmax) / (eigmin - eigmax); homo_bounds = IntervalType(1-homo_bounds.upp(), 1-homo_bounds.low()); lumo_bounds = (lumo_bounds - eigmax) / (eigmin - eigmax); homo_bounds_X0 = homo_bounds; lumo_bounds_X0 = lumo_bounds; homo2_bounds = (homo2_bounds - eigmax) / (eigmin - eigmax); homo2_bounds = IntervalType(1-homo2_bounds.upp(), 1-homo2_bounds.low()); lumo2_bounds = (lumo2_bounds - eigmax) / (eigmin - eigmax); #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "HOMO bounds of X: \t [ %.12lf , %.12lf ]", 1-homo_bounds.upp(), 1-homo_bounds.low()); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "LUMO bounds of X: \t [ %.12lf , %.12lf ]", lumo_bounds.low(), lumo_bounds.upp()); #endif } /****************** SET_SPECTRUM_BOUNDS *****************/ template void PurificationGeneral::set_spectrum_bounds(real eigmin, real eigmax) { spectrum_bounds = IntervalType(eigmin, eigmax); computed_spectrum_bounds = true; } /****************** GET_SPECTRUM_BOUNDS *****************/ template void PurificationGeneral::get_spectrum_bounds() { // find approximations using Gershgorin bounds real eigminG, eigmaxG, eigmin, eigmax; Util::TimeMeter total_time_spectrum_bounds; X.gershgorin(eigminG, eigmaxG); total_time_spectrum_bounds.print(LOG_AREA_DENSFROMF, "gershgorin"); #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Gershgorin bounds: [ %.12lf , %.12lf ]", eigminG, eigmaxG); #endif /* ELIAS NOTE 2016-02-08: Expand Gershgorin bounds by a very small amount to avoid problems of misconvergence in case one of the bounds is exact and the gap is zero (in such cases we want convergence failure, not convergence to a solution with wrong occupation). */ real smallNumberToExpandWith = std::sqrt(std::numeric_limits::epsilon()); eigminG -= smallNumberToExpandWith; eigmaxG += smallNumberToExpandWith; #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "EXPANDED Gershgorin bounds: [ %.12lf , %.12lf ]", eigminG, eigmaxG); #endif eigmin = eigminG; eigmax = eigmaxG; // Lanczos helps us to improve Gershgorin bounds #if 1 // 0 - without Lanczos, 1 - with Lanczos #ifndef USE_CHUNKS_AND_TASKS #ifdef DEBUG_PURI_OUTPUT // try to impove with Lanczos algorithm do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Trying to impove bounds using Lanczos algorithm..."); #endif real acc = 1e3*std::sqrt(get_epsilon());// std::sqrt(std::sqrt(get_epsilon())); - this accuracy may be to high for single precision MatrixType Xshifted(X); Xshifted.add_identity((real)(-1.0) * eigminG); // Xsh = X - eigmin*I int maxIter = 100; try { eigmax = Xshifted.eucl(acc, maxIter) + eigminG + acc; } catch (mat::AcceptableMaxIter & e) { #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Lanczos failed to find extreme upper eigenvalue within maxiter... using Gershgorin bound"); #endif eigmax = eigmaxG; } // Now we want to create Fshifted = ( F - lambdaMaxGers*id ) but we // do this starting from the existing Fshifted, correcting it back // to F and then subtracting lambdaMaxGers*id. Xshifted.add_identity((real)( 1.0) * eigminG); // Now Fshifted = F. Xshifted.add_identity((real)(-1.0) * eigmaxG); try { eigmin = -Xshifted.eucl(acc, maxIter) + eigmaxG - acc; } catch (mat::AcceptableMaxIter & e) { #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Lanczos failed to find extreme lower eigenvalue within maxiter... using Gershgorin bound"); #endif eigmin = eigminG; } #endif // USE_CHUNKS_AND_TASKS #endif // extreme case of matrix with 1 element if(eigmin == eigmax) { real tol = 1e-2; eigmin -= tol; eigmax += tol; } spectrum_bounds = IntervalType(eigmin, eigmax); } /****************** CHECK_STOPPING_CRITERION **********************/ template void PurificationGeneral::stopping_criterion(IterationInfo &iter_info, int &stop, real &estim_order) { int it = iter_info.it; real XmX2_norm_it = -1, XmX2_norm_itm2 = -1; if(it < check_stopping_criterion_iter) return; // do not check the stopping criterion if( use_new_stopping_criterion) { // if spectral norm is used for the etimation of the order if( normPuriStopCrit == mat::euclNorm ) { XmX2_norm_it = iter_info.XmX2_eucl; XmX2_norm_itm2 = info.Iterations[it-2].XmX2_eucl; } else if( normPuriStopCrit == mat::frobNorm ) { XmX2_norm_it = iter_info.XmX2_fro_norm; XmX2_norm_itm2 = info.Iterations[it-2].XmX2_fro_norm; } else if( normPuriStopCrit == mat::mixedNorm ) { XmX2_norm_it = iter_info.XmX2_mixed_norm; XmX2_norm_itm2 = info.Iterations[it-2].XmX2_mixed_norm; } else throw "Error in stopping_criterion() : unknown matrix norm."; real XmX2_trace = iter_info.XmX2_trace; check_new_stopping_criterion(it, XmX2_norm_it, XmX2_norm_itm2, XmX2_trace, stop, estim_order); } else // use standard stopping criterion { if( normPuriStopCrit == mat::euclNorm ) XmX2_norm_it = iter_info.XmX2_eucl; if( normPuriStopCrit == mat::frobNorm ) XmX2_norm_it = iter_info.XmX2_fro_norm; if( normPuriStopCrit == mat::mixedNorm ) XmX2_norm_it = iter_info.XmX2_mixed_norm; estim_order = -1; check_standard_stopping_criterion(XmX2_norm_it, stop); } } template void PurificationGeneral::check_standard_stopping_criterion(const real XmX2_norm, int &stop) { #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Checking standard stopping criterion... "); #endif bool homoLumo_converged = (homo_bounds.upp() < error_eig && lumo_bounds.upp() < error_eig); bool XmX2norm_converged = XmX2_norm < error_eig; if( homoLumo_converged || XmX2norm_converged) stop = 1; #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "stop = %d", stop); #endif } template void PurificationGeneral::check_new_stopping_criterion(const int it, const real XmX2_norm_it, const real XmX2_norm_itm2, const real XmX2_trace, int &stop, real &estim_order) { // must do at least 2 iterations if( it < 2 ) { estim_order = -1; return; } #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Checking stopping criterion... "); #endif real C; // constant may depend on the purification method return_constant_C(it, C); this->constant_C = C; if( C == -1 ) { estim_order = -1; return; } real epsilon = PurificationGeneral::get_epsilon(); // we cannot divide by zero! but the norm is zero just if we converge /* NOTE: one can argue that trace of X-X^2 can be negative also before the stagnation phase. However, of we assume that all eigenvalues are in [0, 1], then square make them just smaller, thus trace(X-X^2) = sum(lambda_i) - sum(lambda_i^2) >=0. In practice, we can have negative eigenvalues of eigenvalues more then 1. But untill we reached the stagnation phase there will be eigenvalues inside [0,1] which are influence the sum(lambda_i) much more. Just when we reched the stagnation phase, eigenvalues outside [0,1] will influence significantly the result. */ if( XmX2_norm_it < epsilon || (XmX2_trace < 0 && fabs(XmX2_trace) < sqrt(epsilon))) { #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "The upper bound for the chosen norm is less then the machine epsilon or trace is negative... stop"); #endif estim_order = -1; stop = 1; return; } estim_order = log(XmX2_norm_it/C) / log(XmX2_norm_itm2); // rate of convergence if(VecPoly[it-1] != VecPoly[it] // alternating polynomials && XmX2_norm_itm2 < 1 // assumption for frob and mixed norms, always true for the spectral norm && estim_order <= ORDER ) // r <= 2 (or smaller value) {stop = 1;} #ifdef DEBUG_PURI_OUTPUT if(VecPoly[it-1] != VecPoly[it] && XmX2_norm_itm2 < 1) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Order of convergence = %lf, stop = %d", estim_order, stop); else do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Order of convergence cannot be computed"); #endif } /********************* TOTAL_SUBSPACE_ERROR ****************/ template typename PurificationGeneral::real PurificationGeneral::total_subspace_error(int it) { assert(it <= (int)VecGap.size()); real error = 0; real normE; for( int i = 0; i <= it; ++i ) { if(VecGap[i] == -1) return -1; // gap is not known normE = info.Iterations[i].threshold_X; error += normE/(VecGap[i]-normE); } return error; } template void PurificationGeneral::estimate_eigenvalues(IntervalType &homo_bounds_F, IntervalType &lumo_bounds_F, VectorTypeReal &XmX2_norm, VectorTypeReal &XmX2_trace) { #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Start estimation of eigenvalues of the Fock matrix F."); #endif // do not use additional iterations in the estimation int total_it = info.total_it - info.additional_iterations; // lumo_out, lumo_in, 1-homo_out, 1-homo_in VectorTypeReal bounds_from_it(4); VectorTypeReal final_bounds(4, 1); // set all to one homo_bounds_F = IntervalType(-1e22, 1e22); lumo_bounds_F = IntervalType(-1e22, 1e22); // criterion for the eligible iterations for the estimation of the bounds real STOP_NORM = gammaStopEstim - gammaStopEstim * gammaStopEstim; real vi, wi; real LOWER_BOUND; real temp_value; for(int it = total_it; it >= 0; it--) { vi = XmX2_norm[it]; wi = XmX2_trace[it]; if(vi >= STOP_NORM) { #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Stop estimation of eigenvalues of the Fock matrix F on iteration %d, Frobenius norm is %e", it, vi); #endif break; } if(wi <= sqrt(get_epsilon())) { #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Trace is too small or negative on iteration %d ! Skip this iteration.", it); #endif continue; } // lumo bounds bounds_from_it[1] = 2*vi/(1 + std::sqrt(1 - 4*vi)); temp_value = vi*vi/wi; bounds_from_it[0] = 2*temp_value/(1 + std::sqrt(1 - 4*temp_value)); // bounds for 1-homo bounds_from_it[2] = bounds_from_it[0]; bounds_from_it[3] = bounds_from_it[1]; apply_inverse_poly_vector(it, bounds_from_it); final_bounds[0] = std::min(final_bounds[0], bounds_from_it[0]); // outer final_bounds[1] = std::min(final_bounds[1], bounds_from_it[1]); // inner final_bounds[2] = std::min(final_bounds[2], bounds_from_it[2]); // outer final_bounds[3] = std::min(final_bounds[3], bounds_from_it[3]); // inner } // get bounds for F real maxeig = spectrum_bounds.upp(); real mineig = spectrum_bounds.low(); lumo_bounds_F = IntervalType(maxeig*(1-final_bounds[1]) + mineig*final_bounds[1], maxeig*(1-final_bounds[0]) + mineig*final_bounds[0]); homo_bounds_F = IntervalType(mineig*(1-final_bounds[2]) + maxeig*final_bounds[2], mineig*(1-final_bounds[3]) + maxeig*final_bounds[3]); } /*************************** SAVE MATRIX **************************/ template void PurificationGeneral::save_matrix_now(string str) { symmMatrix Y; X.get_matrix(Y); vector Itmp, I, Jtmp, J; vector Vtmp, V; Y.get_all_values(Itmp, Jtmp, Vtmp); size_t nnz = 0; // Count nonzeros for(size_t i = 0; i < Itmp.size(); i++) nnz += ( Vtmp[i] != 0 ); I.reserve(nnz); J.reserve(nnz); V.reserve(nnz); // Extract nonzeros for(size_t i = 0; i < Itmp.size(); i++) { if ( Vtmp[i] != 0 ) { I.push_back( Itmp[i] ); J.push_back( Jtmp[i] ); V.push_back( Vtmp[i] ); } } string name = "X_" + str + ".mtx"; if( write_matrix_to_mtx(name.c_str(), I, J, V, X.get_nrows(), X.get_ncols()) == -1) throw "Error in save_matrix_now : error in write_matrix_to_mtx.\n"; } /******************************************************** *** COMPUTATION OF EIGENVECTORS *** *********************************************************/ template void PurificationGeneral::compute_eigenvectors_without_diagonalization(int it, IterationInfo &iter_info) { real homo_total_time_stop, lumo_total_time_stop, homo_solver_time_stop, lumo_solver_time_stop; /* flags deciding on which iteration to compute eigenvectors */ bool compute_homo_now = false; bool compute_lumo_now = false; if(eigVecHOMO != NULL) if(it == iter_for_homo) compute_homo_now = true; if(eigVecLUMO != NULL) if(it == iter_for_lumo) compute_lumo_now = true; if(compute_homo_now && !info.homo_eigenvector_is_computed) { if(eigenvectors_method == EIG_SQUARE_INT) { Util::TimeMeter homo_total_time; MatrixType M(Xsq); // M = Xsq Xsq.writeToFile(); /* CHOOSING SHIFT */ real sigma; real lumo_tmp; if(!info.lumo_eigenvector_is_computed) lumo_tmp = lumo_bounds.upp(); // use inner bound for lumo in this iteration else { lumo_tmp = (spectrum_bounds.upp() - eigValLUMO)/(spectrum_bounds.upp() - spectrum_bounds.low()); // find lumo eigenvalue in this iteration for(int i = 1; i <= it; ++i) lumo_tmp = apply_poly(i, lumo_tmp); } // sigma = (homo_out + lumo_in)/2 real outer_bound = 1-homo_bounds.low(); sigma = (outer_bound+lumo_tmp)/2; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "choose shift %lf", sigma); /* GET MATRIX */ M.add_identity(sigma*sigma); // X^2 + sigma^2I #ifndef USE_CHUNKS_AND_TASKS M.add(X, (real)-2*sigma); // X^2 + sigma^2I - 2sigmaX #else throw "Error in compute_eigenvectors_without_diagonalization() : add(X, alpha) is not implemented with Chunks and Tasks"; #endif M.mult_scalar((real)-1.0); // -(X-sigma*I)^2 Util::TimeMeter homo_solver_time; compute_eigenvector(M, eigVecHOMO, it, true); homo_solver_time.print(LOG_AREA_DENSFROMF, "compute_eigenvector()"); homo_solver_time_stop = homo_solver_time.get_elapsed_wall_seconds(); homo_total_time.print(LOG_AREA_DENSFROMF, "compute homo eigenvector"); homo_total_time_stop = homo_total_time.get_elapsed_wall_seconds(); iter_info.homo_eig_solver_time = homo_solver_time_stop; iter_info.orbital_homo_time = homo_total_time_stop; iter_info.shift_square_method_homo = sigma; M.clear(); Xsq.readFromFile(); } else // Projection method { Util::TimeMeter homo_time_save_matrix; X.writeToFile(); X_homo = X; X.readFromFile(); homo_time_save_matrix.print(LOG_AREA_DENSFROMF, "saving homo matrix using writeToFile"); } } if(compute_lumo_now && !info.lumo_eigenvector_is_computed) { if(eigenvectors_method == EIG_SQUARE_INT) { Util::TimeMeter lumo_total_time; MatrixType M(Xsq); // M = Xsq Xsq.writeToFile(); /* CHOOSING SHIFT */ real sigma; real homo_tmp; if(!info.homo_eigenvector_is_computed) homo_tmp = 1-homo_bounds.upp(); else { homo_tmp = (spectrum_bounds.upp()-eigValHOMO)/(spectrum_bounds.upp() - spectrum_bounds.low()); // find homo eigenvalue in this iteration for(int i = 1; i <= it; ++i) homo_tmp = apply_poly(i, homo_tmp); } // sigma = (lumo_out + homo_in)/2 real outer_bound = lumo_bounds.low(); sigma = (outer_bound+homo_tmp)/2; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "choose shift %lf", sigma); /* GET MATRIX */ M.add_identity(sigma*sigma); // X^2 + sigma^2I #ifndef USE_CHUNKS_AND_TASKS M.add(X, (real)-2*sigma); // X^2 + sigma^2I - 2sigmaX #else throw "Error in compute_eigenvectors_without_diagonalization() : add(X, alpha) is not implemented with Chunks and Tasks"; #endif M.mult_scalar((real)-1.0); // -(X-sigma*I)^2 Util::TimeMeter lumo_solver_time; compute_eigenvector(M, eigVecLUMO, it, false); lumo_solver_time.print(LOG_AREA_DENSFROMF, "compute_eigenvector()"); lumo_solver_time_stop = lumo_solver_time.get_elapsed_wall_seconds(); lumo_total_time.print(LOG_AREA_DENSFROMF, "compute lumo eigenvector"); lumo_total_time_stop = lumo_total_time.get_elapsed_wall_seconds(); iter_info.lumo_eig_solver_time = lumo_solver_time_stop; iter_info.orbital_lumo_time = lumo_total_time_stop; iter_info.shift_square_method_lumo = sigma; M.clear(); Xsq.readFromFile(); } else { Util::TimeMeter lumo_time_save_matrix; X.writeToFile(); X_lumo = X; X.readFromFile(); lumo_time_save_matrix.print(LOG_AREA_DENSFROMF, "saving lumo matrix using writeToFile"); } } } #ifdef USE_CHUNKS_AND_TASKS template void PurificationGeneral::compute_eigenvectors_without_diagonalization_last_iter_proj() {throw "compute_eigenvectors_without_diagonalization_last_iter_proj() is not implemented for CHTMatrix.";} #else template void PurificationGeneral::compute_eigenvectors_without_diagonalization_last_iter_proj() { real homo_total_time_stop, lumo_total_time_stop, homo_solver_time_stop, lumo_solver_time_stop; real DX_mult_time_homo_stop, DX_mult_time_lumo_stop; output_current_memory_usage(LOG_AREA_DENSFROMF, "Before computing eigenvectors:"); Util::TimeMeter timeMeterWriteAndReadAll; std::string sizesStr = mat::FileWritable::writeAndReadAll(); timeMeterWriteAndReadAll.print(LOG_AREA_DENSFROMF, "FileWritable::writeAndReadAll"); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, ((std::string)"writeAndReadAll sizesStr: '" + sizesStr).c_str()); // we can clear here X^2 ! Xsq.clear(); assert(eigVecHOMO != NULL); assert(eigVecLUMO != NULL); // we can clear here X^2 ! it is not needed anymore Xsq.clear(); // check if we passed iter_for_homo iteration and saved the matrix if(info.total_it >= iter_for_homo) { // reading X_homo matrix from the bin file Util::TimeMeter X_homo_read; X_homo.readFromFile(); X_homo_read.print(LOG_AREA_DENSFROMF, "reading X matrix (for homo) using readFromFile"); Util::TimeMeter homo_total_time; // total time for homo MatrixType DXi(X); // multiplying D*Xi Util::TimeMeter DX_mult_time_homo; DXi.mult_force_symm(X_homo); // D*Xi DX_mult_time_homo.print(LOG_AREA_DENSFROMF, "computing D*X (for homo)"); DX_mult_time_homo_stop = DX_mult_time_homo.get_elapsed_wall_seconds(); // get HOMO matrix // note: we may need DXi for computing lumo, do not overwrite it MatrixType Zh(X); Zh.subtract(DXi); // D-DXi Util::TimeMeter homo_solver_time; compute_eigenvector(Zh, eigVecHOMO, iter_for_homo, true); homo_solver_time.print(LOG_AREA_DENSFROMF, "compute_eigenvector()"); homo_solver_time_stop = homo_solver_time.get_elapsed_wall_seconds(); info.Iterations[iter_for_homo].homo_eig_solver_time = homo_solver_time_stop; // note: here is included just time for compute_eigenvector() info.Iterations[iter_for_homo].DX_mult_homo_time = DX_mult_time_homo_stop; Zh.clear(); homo_total_time.print(LOG_AREA_DENSFROMF, "computing homo eigenvector"); homo_total_time_stop = homo_total_time.get_elapsed_wall_seconds(); info.Iterations[iter_for_homo].orbital_homo_time = homo_total_time_stop; // if we are computing both homo and lumo in the same iteration if(iter_for_homo == iter_for_lumo) { Util::TimeMeter lumo_total_time; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Reuse matrix D*X_i for lumo computations"); // no matrix read // get LUMO matrix DXi.subtract(X_homo); DXi.mult_scalar(-1); // Xi-DXi Util::TimeMeter lumo_solver_time; compute_eigenvector(DXi, eigVecLUMO, iter_for_lumo, false); lumo_solver_time.print(LOG_AREA_DENSFROMF, "compute_eigenvector()"); lumo_solver_time_stop = lumo_solver_time.get_elapsed_wall_seconds(); lumo_total_time.print(LOG_AREA_DENSFROMF, "computing lumo eigenvector"); lumo_total_time_stop = lumo_total_time.get_elapsed_wall_seconds(); info.Iterations[iter_for_lumo].DX_mult_lumo_time = 0; // we reuse DX matrix info.Iterations[iter_for_lumo].lumo_eig_solver_time = lumo_solver_time_stop; // note: here is included just time for compute_eigenvector() info.Iterations[iter_for_lumo].orbital_lumo_time = lumo_total_time_stop; } // LUMO } // HOMO X_homo.clear(); // check if we passed iter_for_lumo iteration and saved the matrix, and that it was not the same iteration // as iter_for_homo if(info.total_it >= iter_for_lumo && iter_for_homo != iter_for_lumo) { Util::TimeMeter X_lumo_read; X_lumo.readFromFile(); X_lumo_read.print(LOG_AREA_DENSFROMF, "reading X matrix (for lumo) using readFromFile"); Util::TimeMeter lumo_total_time; MatrixType DXi(X); // D Util::TimeMeter DX_mult_time_lumo; DXi.mult_force_symm(X_lumo); // D*Xi DX_mult_time_lumo.print(LOG_AREA_DENSFROMF, "computing D*X (for lumo)"); DX_mult_time_lumo_stop = DX_mult_time_lumo.get_elapsed_wall_seconds(); // get LUMO matrix DXi.subtract(X_lumo); DXi.mult_scalar(-1); // Xi-DXi Util::TimeMeter lumo_solver_time; compute_eigenvector(DXi, eigVecLUMO, iter_for_lumo, false); lumo_solver_time.print(LOG_AREA_DENSFROMF, "compute_eigenvector()"); lumo_solver_time_stop = lumo_solver_time.get_elapsed_wall_seconds(); info.Iterations[iter_for_lumo].lumo_eig_solver_time = lumo_solver_time_stop; info.Iterations[iter_for_lumo].DX_mult_lumo_time = DX_mult_time_lumo_stop; lumo_total_time.print(LOG_AREA_DENSFROMF, "computing lumo eigenvector"); lumo_total_time_stop = lumo_total_time.get_elapsed_wall_seconds(); info.Iterations[iter_for_lumo].orbital_lumo_time = lumo_total_time_stop; X_lumo.clear(); } // LUMO output_current_memory_usage(LOG_AREA_DENSFROMF, "After computing eigenvectors:"); } #endif // USE_CHUNKS_AND_TASKS template void PurificationGeneral::determine_iteration_for_eigenvectors() { if(eigenvectors_method == EIG_SQUARE_INT || eigenvectors_method == EIG_PROJECTION_INT) { get_iterations_for_lumo_and_homo(iter_for_lumo, iter_for_homo); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Eigenvector for HOMO will be computed on the iteration %d. ", iter_for_homo); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Eigenvector for LUMO will be computed on the iteration %d. ", iter_for_lumo); } else throw "Error in determine_iteration_for_eigenvectors: unknown method for computing eigenvectors."; } /*************** get_iterations_for_lumo_and_homo ******************//** * Find the best iterations for computing eigenvectors. * The best iteration defined by both a small error in the eigenvector * and a small number of iterations of an iterative method. *********************************************************************/ template void PurificationGeneral::get_iterations_for_lumo_and_homo(int &chosen_iter_lumo, int &chosen_iter_homo) { real TOL_ERR = get_epsilon(); int maxiter = maxit; // Inner bounds (from the previous SCF cycle {i-1}, expanded // with norm of F_i - F_{i-1}). real homo0 = 1-homo_bounds.upp(); // inner bounds real lumo0 = lumo_bounds.upp(); real homo_out = 1-homo_bounds.low(); // outer bounds real lumo_out = lumo_bounds.low(); real homo = homo0, lumo = lumo0; good_iterations_homo.clear(); good_iterations_lumo.clear(); chosen_iter_lumo = -1; chosen_iter_homo = -1; // (derivative is always positive (we are using approximation of the step function which is monotonically growing) - not true for the acceleration!) real dx1, dx2, dx1max = get_min_double(), dx2max = get_min_double(); for(int i = 1; i <= maxiter; ++i) { // get derivative of the function at homo and lumo // find in which iteration the derivative is the largest dx1 = compute_derivative(i, homo0); dx2 = compute_derivative(i, lumo0); homo = apply_poly(i, homo); // apply POLY[i] on homo if(homo == -1) throw "get_iterations_for_homo:error in apply_poly"; lumo = apply_poly(i, lumo); // apply POLY[i] on lumo if(lumo == -1) throw "get_iterations_for_homo:error in apply_poly"; // find all possible iterations for computing eigenvectors if(eigenvectors_method == EIG_SQUARE_INT) { // choice of shift restricts number of possible iterations if(homo > (homo_out + lumo)/2) { good_iterations_homo.push_back(i); } if(lumo < (homo + lumo_out)/2) { good_iterations_lumo.push_back(i); } } else if(eigenvectors_method == EIG_PROJECTION_INT) { // all iterations are good good_iterations_homo.push_back(i); good_iterations_lumo.push_back(i); } else throw "Error in get_iterations_for_lumo_and_homo() : wrong eigenvectors_method value."; homo_out = apply_poly(i, homo_out); // apply POLY[i] on homo_out lumo_out = apply_poly(i, lumo_out); // apply POLY[i] on lumo_out // FIND MAXIMUM OF THE DERIVATIVE OVER ALL ITERATIONS if(dx1max < dx1) dx1max = dx1; if(dx2max < dx2) dx2max = dx2; } // now we know the value of the largest derivative real PART = 0.5; // 50% real DX1_BOUND = PART*dx1max; real DX2_BOUND = PART*dx2max; bool found_homo, found_lumo; for(int i = maxiter; i >= 1; --i) { dx1 = compute_derivative(i, homo0); dx2 = compute_derivative(i, lumo0); // check if it is an allowed iteration found_homo = std::binary_search(good_iterations_homo.begin(), good_iterations_homo.end(), i); // we have sorted vector found_lumo = std::binary_search(good_iterations_lumo.begin(), good_iterations_lumo.end(), i); // we have sorted vector if(found_homo && dx1 >= DX1_BOUND && chosen_iter_homo == -1) chosen_iter_homo = i; if(found_lumo && dx2 >= DX2_BOUND && chosen_iter_lumo == -1) chosen_iter_lumo = i; if(chosen_iter_lumo != -1 && chosen_iter_homo != -1) break; } if(chosen_iter_homo == -1 || chosen_iter_lumo == -1) throw "Error in get_iterations_for_lumo_and_homo() : something went wrong, cannot choose iteration to compute HOMO or LUMO eigenvector."; } #ifdef USE_CHUNKS_AND_TASKS template void PurificationGeneral::compute_eigenvector(MatrixType const &M, VectorType* eigVecHOMOorLUMO, int it, bool is_homo) {throw "compute_eigenvector() is not implemented for CHTMatrix.";} #else template void PurificationGeneral::compute_eigenvector(MatrixType const &M, VectorType* eigVecHOMOorLUMO, int it, bool is_homo) { assert(eigVecHOMOorLUMO != NULL); real acc_eigv = eigensolver_accuracy; #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Starting compute_eigenvector() in iteration %d", it); #endif vector eigValTmp(number_of_eigenvalues); // here will be computed eigenvalues of M mat::SizesAndBlocks rows; X.get_ref_to_matrix().getRows(rows); /* Apparently the std::vector constructor calls the copy constructor which is not allowed if the data structure of VectorType is not set. In VectorGeneral class were added a new constructor receiving data structure. */ vector eigVec(number_of_eigenvalues, VectorType(rows)); // here will be computed eigenvectors if(use_prev_vector_as_initial_guess) // copy vector from previous SCF cycle to be an initial guess { if(is_homo) eigVec[0] = *eigVecHOMO; else eigVec[0] = *eigVecLUMO; } vector num_iter_solver(number_of_eigenvalues, -1); // number of iterations Util::TimeMeter computeEigenvectors_time; // run non-deflated version int eig_num = 1; MatrixType::computeEigenvectors(M, acc_eigv, eigValTmp, eigVec, eig_num, use_prev_vector_as_initial_guess, eigenvectors_iterative_method_str, num_iter_solver, eigensolver_maxiter); computeEigenvectors_time.print(LOG_AREA_DENSFROMF, "eigensolver"); if(num_iter_solver.empty()) throw "Error in compute_eigenvector() : (num_iter_solver.empty())"; // initialize bool is_homo2 = false, is_lumo2 = false; bool is_homo_tmp = false, is_lumo_tmp = false; if(num_iter_solver[0] == eigensolver_maxiter) do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Eigensolver did not converge within maxiter = %d iterations.", eigensolver_maxiter); else { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Number of eigensolver iterations is %d", num_iter_solver[0]); is_homo_tmp = is_homo, is_lumo_tmp = !is_homo; real eigVal; get_interval_with_lambda(eigVal, eigVec[0], is_homo_tmp, is_lumo_tmp, it); // compute also the corresponding eigenvalue of F if(is_homo_tmp) { really_good_iterations_homo.push_back(it); *eigVecHOMO = eigVec[0]; info.homo_eigenvector_is_computed = true; eigValHOMO = eigVal; } else if(is_lumo_tmp) { really_good_iterations_lumo.push_back(it); // iterations where we computed lumo (for any reason) *eigVecLUMO = eigVec[0]; info.lumo_eigenvector_is_computed = true; eigValLUMO = eigVal; } else do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Error in compute_eigenvector: wrong eigenvalue "); } } #endif // USE_CHUNKS_AND_TASKS template void PurificationGeneral::get_eigenvalue_of_F_from_eigv_of_Xi(real &eigVal, VectorType &eigVec) { F.readFromFile(); real approx_eig = MatrixType::compute_rayleigh_quotient(F, &eigVec); F.writeToFile(); eigVal = approx_eig; } template void PurificationGeneral::get_interval_with_lambda(real &eigVal, VectorType &eigVec, bool &is_homo, bool &is_lumo, const int iter) { assert(is_homo || is_lumo); bool is_homo_init = is_homo; bool is_lumo_init = is_lumo; /* COMPUTE EIGENVALUE OF F CORRESPONDING TO THE COMPUTED EIGENVECTOR USING RAYLEIGH QUOTIENT. */ /* Note: For the square method we compute eigenvalues in the current iteration during the purification. The bounds lumo_bounds and homo_bounds are changing in every iteration according to the polynomial (without expansion by tau). Thus we should use this bounds if square method is used. However, for the projection method we should used bounds which are saved into the info object. */ real low_lumo_F_bound, low_homo_F_bound; real upp_lumo_F_bound, upp_homo_F_bound; if(eigenvectors_method == EIG_SQUARE_INT) // for square method use bounds from the previous SCF cycle (i.e. bounds expanded with norm ||F_i-F_{i-1}||) { low_lumo_F_bound = lumo_bounds_F.low(); upp_lumo_F_bound = lumo_bounds_F.upp(); low_homo_F_bound = homo_bounds_F.low(); upp_homo_F_bound = homo_bounds_F.upp(); } else if(eigenvectors_method == EIG_PROJECTION_INT) // for projection method we can use new bounds computed in this SCF cycle { low_lumo_F_bound = info.lumo_estim_low_F; upp_lumo_F_bound = info.lumo_estim_upp_F; low_homo_F_bound = info.homo_estim_low_F; upp_homo_F_bound = info.homo_estim_upp_F; } else throw "Error in get_interval_with_lambda() : unexpected eigenvectors_method value."; #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Check Rayleigh quotient..."); #endif F.readFromFile(); real approx_eig = MatrixType::compute_rayleigh_quotient(F, &eigVec); F.writeToFile(); eigVal = approx_eig; real flex_tolerance = THRESHOLD_EIG_TOLERANCE; // it is HOMO if(approx_eig <= upp_homo_F_bound + flex_tolerance && approx_eig >= low_homo_F_bound - flex_tolerance) { is_homo = true; is_lumo = false; #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Computed HOMO eigenvalue of F is %lf, " "HOMO bounds are [ %lf , %lf ]", approx_eig, low_homo_F_bound, upp_homo_F_bound); #endif iter_for_homo = iter; // We already computed homo in this iteration (in case we thought that it was lumo) // Do we want to recompute lumo in the next iteration? if(is_lumo_init && eigenvectors_method == EIG_SQUARE_INT && try_eigv_on_next_iteration_if_fail) { iter_for_lumo = iter_for_lumo+1; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "We will try to compute LUMO in the next iteration."); } } // it is LUMO else if(approx_eig <= upp_lumo_F_bound + flex_tolerance && approx_eig >= low_lumo_F_bound - flex_tolerance) { is_homo = false; is_lumo = true; #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Computed LUMO eigenvalue of F is %lf, " "LUMO interval [ %lf , %lf ]", approx_eig, low_lumo_F_bound, upp_lumo_F_bound); #endif iter_for_lumo = iter; // We already computed lumo in this iteration (in case we thought that it was homo) // Do we want to recompute homo in the next iteration? if(is_homo_init && eigenvectors_method == EIG_SQUARE_INT && try_eigv_on_next_iteration_if_fail) { iter_for_homo = iter_for_homo+1; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "We will try to compute HOMO in the next iteration."); } } else { is_homo = false; is_lumo = false; #ifdef DEBUG_PURI_OUTPUT do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Eigenvalue is outside of both intervals for homo and lumo."); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Eigenvalue is %lf, HOMO interval [ %lf , %lf ], LUMO interval [ %lf , %lf ]", approx_eig, low_homo_F_bound, upp_homo_F_bound, low_lumo_F_bound, upp_lumo_F_bound); #endif // Do we want to recompute homo (or lumo) in the next iteration? // We will try to compute HOMO, however, it can be LUMO. // If it will be LUMO, we save it as computed LUMO and continue with computing HOMO in the next iteration. if(eigenvectors_method == EIG_SQUARE_INT && try_eigv_on_next_iteration_if_fail) { iter_for_homo = iter_for_homo+1; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "We will try to compute HOMO (or LUMO) in the next iteration."); } } } /******************************************************************/ /*********************** MATLAB FUNCTIONS *************************/ /******************************************************************/ template void PurificationGeneral::gen_matlab_file_norm_diff(const char *filename) const { std::ofstream f; f.open (filename, std::ios::out); if (!f.is_open()) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Error: cannot open file"); return; } int it = info.total_it; // save POLY f << "POLY = ["; for(int i = 0; i <= it; ++i) { f << VecPoly[i] << " "; } f << "];" << std::endl; // choose norm if( normPuriStopCrit == mat::euclNorm ) { f << "X_norm = ["; for(int i = 0; i <= it; ++i) // including 0 iteration = original matrix X { f << info.Iterations[i].XmX2_eucl << " "; } f << "];" << std::endl; f << " norm_letter = '2';" << std::endl; } else if( normPuriStopCrit == mat::frobNorm ) { f << "X_norm = ["; for(int i = 0; i <= it; ++i) // including 0 iteration = original matrix X { f << info.Iterations[i].XmX2_fro_norm << " "; } f << "];" << std::endl; f << " norm_letter = 'F';" << std::endl; } else if( normPuriStopCrit == mat::mixedNorm ) { f << "X_norm = ["; for(int i = 0; i <= it; ++i) // including 0 iteration = original matrix X { f << info.Iterations[i].XmX2_mixed_norm << " "; } f << "];" << std::endl; f << " norm_letter = 'M';" << std::endl; } else throw "Wrong norm in PurificationGeneral::gen_matlab_file_norm_diff()"; f << "stop_iteration = " << it - info.additional_iterations << ";" << std::endl; f << "it = " << it << ";" << std::endl; f << "plot_props = {'LineWidth', 2, 'MarkerSize', 8};" << std::endl; f << "fighandle = figure; clf;" << std::endl; f << "MARKER = ['o', '+'];" << std::endl; f << "semilogy(0:stop_iteration, X_norm(1:stop_iteration+1), '-b', plot_props{:});" << std::endl; f << "hold on" << std::endl; f << "for i = 1:stop_iteration+1" << std::endl; f << " if POLY(i) == 1" << std::endl; f << " h1 = semilogy(i-1, X_norm(i), [MARKER((POLY(i) == 1) + 1) 'b'], plot_props{:});" << std::endl; f << " else" << std::endl; f << " h2 = semilogy(i-1, X_norm(i), [MARKER((POLY(i) == 1) + 1) 'b'], plot_props{:});" << std::endl; f << " end" << std::endl; f << "end" << std::endl; f << "if stop_iteration ~= it" << std::endl; f << "h3 = semilogy(stop_iteration+1:it, X_norm(stop_iteration+2:it+1), '-.vr', plot_props{:});" << std::endl; f << "semilogy(stop_iteration:stop_iteration+1, X_norm(stop_iteration+1:stop_iteration+2), '-.r', plot_props{:});" << std::endl; f << "legend([h1 h2 h3],{'$x^2$', '$2x-x^2$', 'After stop'}, 'Interpreter','latex', 'Location','SouthWest');" << std::endl; f << "else" << std::endl; f << "legend([h1 h2],{'$x^2$', '$2x-x^2$'}, 'Interpreter','latex', 'Location','SouthWest');" << std::endl; f << "end" << std::endl; f << "xlabel('Iteration SP2', 'Interpreter','latex');" << std::endl; f << "ylabel({['$\\|X_i-X_i^2\\|_{' norm_letter '}$']},'interpreter','latex');" << std::endl; f << "grid on" << std::endl; f << "set(gca, 'XMinorGrid','off', 'YMinorGrid','off', 'GridAlpha',0.6, 'GridLineStyle', '--')" << std::endl; f << "set(gca,'FontSize',20);" << std::endl; f << "xlim([0 it]);" << std::endl; f << "ylim([-inf inf]);" << std::endl; f << "set(gca,'XTick',[0 5:5:it]);" << std::endl; f << "a = 16; S = logspace(-a, 1, a+2);" << std::endl; f << "set(gca,'YTick',S(1:2:end));" << std::endl; f << "hold off" << std::endl; f << "% print( fighandle, '-depsc2', 'norm_diff.eps');" << std::endl; f.close(); } template void PurificationGeneral::gen_matlab_file_threshold(const char *filename) const { std::ofstream f; f.open (filename, std::ios::out); if (!f.is_open()) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Error: cannot open file"); return; } int it = info.total_it; f << "Thresh = ["; for(int i = 0; i <= it; ++i) { f << info.Iterations[i].threshold_X << " "; } f << "];" << std::endl; f << "stop_iteration = " << it - info.additional_iterations << ";" << std::endl; f << "it = " << it << ";" << std::endl; f << "plot_props = {'LineWidth', 2, 'MarkerSize', 8};" << std::endl; f << "fighandle = figure; clf;" << std::endl; f << "semilogy(0:stop_iteration, Thresh(1:stop_iteration+1), '-vb', plot_props{:});" << std::endl; f << "hold on" << std::endl; f << "if stop_iteration ~= it" << std::endl; f << "semilogy(stop_iteration+1:it, Thresh(stop_iteration+2:it+1), '-^r', plot_props{:});" << std::endl; f << "semilogy(stop_iteration:stop_iteration+1, Thresh(stop_iteration+1:stop_iteration+2), '-r', plot_props{:});" << std::endl; f << "legend('before stop', 'after stop', 'Location','NorthWest');" << std::endl; f << "end" << std::endl; f << "grid on" << std::endl; f << "set(gca, 'XMinorGrid','off', 'YMinorGrid','off', 'GridAlpha',0.6, 'GridLineStyle', '--')" << std::endl; f << "set(gca,'FontSize',20);" << std::endl; f << "xlim([0 it]);" << std::endl; f << "ylim([-inf inf]);" << std::endl; f << "set(gca,'XTick',[0 5:5:it]);" << std::endl; f << "hold off" << std::endl; f << "xlabel('Iteration SP2', 'interpreter','latex');" << std::endl; f << "ylabel('Threshold value', 'interpreter','latex');" << std::endl; f << "% print( fighandle, '-depsc2', 'threshold.eps');" << std::endl; f.close(); } template void PurificationGeneral::gen_matlab_file_nnz(const char *filename) const { std::ofstream f; f.open (filename, std::ios::out); if (!f.is_open()) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Error: cannot open file"); return; } int it = info.total_it; f << "NNZ_X = ["; for(int i = 0; i <= it; ++i) { f << info.Iterations[i].NNZ_X << " "; } f << "];" << std::endl; f << "NNZ_X2 = ["; for(int i = 0; i <= it; ++i) { f << info.Iterations[i].NNZ_X2 << " "; } f << "];" << std::endl; f << "stop_iteration = " << it - info.additional_iterations << ";" << std::endl; f << "it = " << it << ";" << std::endl; f << "plot_props = {'LineWidth', 2, 'MarkerSize', 8};" << std::endl; f << "fighandle = figure; clf;" << std::endl; f << "h2 = plot(0:stop_iteration, NNZ_X(1:stop_iteration+1), '-ob', plot_props{:});" << std::endl; f << "hold on" << std::endl; f << "h1 = plot(0:stop_iteration, NNZ_X2(1:stop_iteration+1), '-vm', plot_props{:});" << std::endl; f << "if stop_iteration ~= it" << std::endl; f << "plot(stop_iteration+1:it, NNZ_X(stop_iteration+2:it+1), '-vr', plot_props{:});" << std::endl; f << "plot(stop_iteration+1:it, NNZ_X2(stop_iteration+2:it+1), '-*r', plot_props{:});" << std::endl; f << "plot(stop_iteration:stop_iteration+1, NNZ_X(stop_iteration+1:stop_iteration+2), '-r', plot_props{:});" << std::endl; f << "plot(stop_iteration:stop_iteration+1, NNZ_X2(stop_iteration+1:stop_iteration+2), '-r', plot_props{:});" << std::endl; f << "end" << std::endl; f << "legend([h1, h2], {'$X^2$', '$X$'}, 'interpreter','latex');" << std::endl; f << "grid on" << std::endl; f << "set(gca, 'XMinorGrid','off', 'YMinorGrid','off', 'GridAlpha',0.6, 'GridLineStyle', '--')" << std::endl; f << "set(gca,'FontSize',20);" << std::endl; f << "xlim([0 it]);" << std::endl; f << "ylim([0 inf]);" << std::endl; f << "set(gca,'XTick',[0 5:5:it]);" << std::endl; f << "hold off" << std::endl; f << "xlabel('Iteration SP2', 'interpreter','latex');" << std::endl; f << "ylabel('NNZ [\\%]', 'interpreter','latex');" << std::endl; f << "% print( fighandle, '-depsc2', 'nnz.eps');" << std::endl; f.close(); } template void PurificationGeneral::gen_matlab_file_cond_num(const char *filename) const { std::ofstream f; f.open (filename, std::ios::out); if (!f.is_open()) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Error: cannot open file"); return; } int it = info.total_it; f << "in= ["; for(int i = 0; i <= it; ++i) { f << 1 - info.Iterations[i].homo_bound_upp - info.Iterations[i].lumo_bound_upp << " "; } f << "];" << std::endl; f << "stop_iteration = " << it - info.additional_iterations << ";" << std::endl; f << "plot_props = {'LineWidth', 2, 'MarkerSize', 8};" << std::endl; f << "fighandle = figure; clf;" << std::endl; f << "plot(0:stop_iteration, 1./in(1:stop_iteration+1), '-*r', plot_props{:});" << std::endl; f << "grid on" << std::endl; f << "set(gca, 'XMinorGrid','off', 'YMinorGrid','off', 'GridAlpha',0.6, 'GridLineStyle', '--')" << std::endl; f << "set(gca,'FontSize',20);" << std::endl; f << "xlim([0 it]);" << std::endl; f << "ylim([-inf inf]);" << std::endl; f << "set(gca,'XTick',[0 5:5:it]);" << std::endl; f << "hold off" << std::endl; f << "xlabel('Iteration SP2', 'interpreter','latex');" << std::endl; f << "ylabel('$\\kappa$', 'interpreter','latex');" << std::endl; f << "% print( fighandle, '-depsc2', 'cond.eps');" << std::endl; f.close(); } template void PurificationGeneral::gen_matlab_file_eigs(const char *filename) const { std::ofstream f; f.open (filename, std::ios::out); if (!f.is_open()) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Error: cannot open file"); return; } int it = info.total_it; f << "homo_low= ["; for(int i = 0; i <= it; ++i) { f << info.Iterations[i].homo_bound_low << " "; } f << "];" << std::endl; f << "homo_upp= ["; for(int i = 0; i <= it; ++i) { f << info.Iterations[i].homo_bound_upp << " "; } f << "];" << std::endl; f << "lumo_low= ["; for(int i = 0; i <= it; ++i) { f << info.Iterations[i].lumo_bound_low << " "; } f << "];" << std::endl; f << "lumo_upp= ["; for(int i = 0; i <= it; ++i) { f << info.Iterations[i].lumo_bound_upp << " "; } f << "];" << std::endl; f << "stop_iteration = " << it - info.additional_iterations << ";" << std::endl; f << "plot_props = {'LineWidth', 2, 'MarkerSize', 8};" << std::endl; f << "fighandle = figure; clf;" << std::endl; f << "semilogy(0:stop_iteration, homo_upp(1:stop_iteration+1), '-^b', plot_props{:});" << std::endl; f << "hold on" << std::endl; f << "semilogy(0:stop_iteration, homo_low(1:stop_iteration+1), '-vb', plot_props{:});" << std::endl; f << "semilogy(0:stop_iteration, lumo_low(1:stop_iteration+1), '-vr', plot_props{:});" << std::endl; f << "semilogy(0:stop_iteration, lumo_upp(1:stop_iteration+1), '-^r', plot_props{:});" << std::endl; f << "grid on" << std::endl; f << "set(gca, 'XMinorGrid','off', 'YMinorGrid','off', 'GridAlpha',0.6, 'GridLineStyle', '--')" << std::endl; f << "set(gca,'FontSize',20);" << std::endl; f << "xlim([0 stop_iteration]);" << std::endl; f << "set(gca,'XTick',[0 5:5:stop_iteration]);" << std::endl; f << "ylim([-inf inf]);" << std::endl; f << "hold off" << std::endl; f << "xlabel('Iteration SP2', 'interpreter','latex');" << std::endl; f << "ylabel('Homo and lumo bounds', 'interpreter','latex');" << std::endl; f << "% print( fighandle, '-depsc2', 'eigs.eps');" << std::endl; f.close(); } template void PurificationGeneral::gen_matlab_file_time(const char *filename) const { std::ofstream f; f.open (filename, std::ios::out); if (!f.is_open()) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Error: cannot open file"); return; } int it = info.total_it; f << "time_total = ["; for(int i = 0; i <= it; ++i) { f << std::setprecision(16) << info.Iterations[i].total_time << " "; } f << "];" << std::endl; f << "time_square = ["; for(int i = 0; i <= it; ++i) { f << std::setprecision(16) << info.Iterations[i].Xsquare_time << " "; } f << "];" << std::endl; f << "time_trunc = ["; for(int i = 0; i <= it; ++i) { f << std::setprecision(16) << info.Iterations[i].trunc_time << " "; } f << "];" << std::endl; if(info.compute_eigenvectors_in_this_SCF_cycle) { f << "time_eigenvectors_homo = ["; for(int i = 0; i <= it; ++i) { f << std::setprecision(16) << info.Iterations[i].orbital_homo_time << " "; } f << "];" << std::endl; f << "time_eigenvectors_lumo = ["; for(int i = 0; i <= it; ++i) { f << std::setprecision(16) << info.Iterations[i].orbital_lumo_time << " "; } f << "];" << std::endl; f << "time_solver_homo = ["; for(int i = 0; i <= it; ++i) { f << std::setprecision(16) << info.Iterations[i].homo_eig_solver_time << " "; } f << "];" << std::endl; f << "time_solver_lumo = ["; for(int i = 0; i <= it; ++i) { f << std::setprecision(16) << info.Iterations[i].lumo_eig_solver_time << " "; } f << "];" << std::endl; if(eigenvectors_method == EIG_SQUARE_INT) { // time for X^2, truncation, eigensolver for homo and lumo, additional time for homo and lumo and other time f << "X = [time_square; time_trunc; time_solver_homo; time_solver_lumo; time_eigenvectors_homo-time_solver_homo;" " time_eigenvectors_lumo-time_solver_lumo; " " time_total - time_square - time_trunc - time_eigenvectors_homo - time_eigenvectors_lumo];" << std::endl; } else { f << "time_DX_homo = ["; for(int i = 0; i <= it; ++i) { f << std::setprecision(16) << info.Iterations[i].DX_mult_homo_time << " "; } f << "];" << std::endl; f << "time_DX_lumo = ["; for(int i = 0; i <= it; ++i) { f << std::setprecision(16) << info.Iterations[i].DX_mult_lumo_time << " "; } f << "];" << std::endl; // for projection total time of the iteration does not include computation of homo and lumo // time for X^2, eigensolver for homo and lumo, DX multiplication f << "X = [time_square; time_trunc; time_solver_homo; time_solver_lumo; time_DX_homo; time_DX_lumo;" " time_eigenvectors_homo - time_DX_homo - time_solver_homo; time_eigenvectors_lumo - time_DX_lumo - time_solver_lumo;" " time_total - time_square - time_trunc];" << std::endl; } } else { f << "X = [time_square; time_trunc; time_total - time_square - time_trunc];" << std::endl; } f << "it = " << it << ";" << std::endl; f << "xtick = 0:it;" << std::endl; f << "fighandle = figure; clf;" << std::endl; f << "b=bar(xtick, X', 'stacked');" << std::endl; f << "axis tight;" << std::endl; f << "grid on" << std::endl; f << "set(gca, 'XMinorGrid','off', 'YMinorGrid','off', 'GridAlpha',0.6, 'GridLineStyle', '--')" << std::endl; f << "set(gca,'FontSize',20);" << std::endl; f << "xlim([0 it]);" << std::endl; f << "set(gca,'XTick',[0 5:5:it]);" << std::endl; f << "ylim([-inf inf]);" << std::endl; f << "xlabel('Iteration SP2', 'interpreter','latex');" << std::endl; f << "ylabel('Time [s]', 'interpreter','latex');" << std::endl; if(info.compute_eigenvectors_in_this_SCF_cycle) /* Legend with matlab's bar appear with default settings in reverse or order. Thus we force it to follow the order of the bar manually. */ if(eigenvectors_method == EIG_SQUARE_INT) f << "legend(flipud(b(:)), {'other', 'lumo other', 'homo other', 'lumo solver', 'homo solver', 'truncation', '$X^2$'}, 'interpreter','latex');" << std::endl; else f << "legend(flipud(b(:)), {'other', 'lumo other', 'homo other', 'DX (lumo)', 'DX (homo)', 'lumo solver', 'homo solver', 'truncation', '$X^2$'}, 'interpreter','latex');" << std::endl; else f << "legend(flipud(b(:)), {'other', 'truncation', '$X^2$'}, 'interpreter','latex');" << std::endl; f << "% print( fighandle, '-depsc2', 'time.eps');" << std::endl; f.close(); } template void PurificationGeneral::gen_matlab_file_which_eig_computed(const char *filename) const { if(!compute_eigenvectors_in_this_SCF_cycle) return; std::ofstream f; f.open (filename, std::ios::out); if (!f.is_open()) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Error: cannot open file"); return; } // iterations where Ergo thinks it will compute homo f << "good_iterations_homo = ["; for(int i = 0; i < (int)good_iterations_homo.size(); ++i) { f << good_iterations_homo[i] << " "; } f << "];" << std::endl; // iterations where Ergo compute homo f << "really_good_iterations_homo = ["; for(int i = 0; i < (int)really_good_iterations_homo.size(); ++i) { f << really_good_iterations_homo[i] << " "; } f << "];" << std::endl; // iterations where Ergo thinks it will compute lumo f << "good_iterations_lumo = ["; for(int i = 0; i < (int)good_iterations_lumo.size(); ++i) { f << good_iterations_lumo[i] << " "; } f << "];" << std::endl; // iterations where Ergo compute lumo f << "really_good_iterations_lumo = ["; for(int i = 0; i < (int)really_good_iterations_lumo.size(); ++i) { f << really_good_iterations_lumo[i] << " "; } f << "];" << std::endl; f << "total_it = max(good_iterations_homo(end), good_iterations_lumo(end));" << std::endl; f << "plot_props = {'LineWidth', 2, 'MarkerSize', 8}; " << std::endl; f << "yhomo = 2;" << std::endl; f << "ylumo = 1;" << std::endl; f << "fighandle = figure; clf; " << std::endl; f << "h1 = plot(good_iterations_homo, yhomo*ones(length(good_iterations_homo)), 'ob', plot_props{:});" << std::endl; f << "hold on" << std::endl; f << "h2 = plot(really_good_iterations_homo, yhomo*ones(length(really_good_iterations_homo)), '*b', plot_props{:});" << std::endl; f << "h3 = plot(good_iterations_lumo, ylumo*ones(length(good_iterations_lumo)), 'sr', plot_props{:}); " << std::endl; f << "h4 = plot(really_good_iterations_lumo, ylumo*ones(length(really_good_iterations_lumo)), '+r', plot_props{:});" << std::endl; f << "grid on" << std::endl; f << "set(gca, 'XMinorGrid','off', 'YMinorGrid','off', 'GridAlpha',0.6, 'GridLineStyle', '--')" << std::endl; f << "set(gca,'FontSize',20);" << std::endl; f << "xlim([0 total_it]);" << std::endl; f << "set(gca,'TickLabelInterpreter', 'latex');" << std::endl; f << "set(gca,'XTick',[0 5:5:total_it]);" << std::endl; f << "set(gca,'YTick',[1 2]);" << std::endl; f << "set(gca,'YTickLabel', {'Lumo','Homo'})" << std::endl; f << "ylim([0 3]); " << std::endl; f << "xlabel('Iteration SP2', 'interpreter','latex');" << std::endl; f << "legend([h1(1), h2(1), h3(1), h4(1)], {'Ergo thinks (homo)', 'Actual value (homo)', 'Ergo thinks (lumo)', 'Actual value (lumo)'}, 'interpreter','latex',..." << std::endl; f << " 'Orientation', 'Horizontal');" << std::endl; f.close(); } #endif //HEADER_PURIFICATION_GENERAL ergo-3.5/source/densfromf/recursive_expansion/src/puri_info.h0000664000175000017500000001234712743400307021557 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef PURI_INFO_HEADER #define PURI_INFO_HEADER #include "output.h" #include "matrix_typedefs.h" // definitions of matrix types and interval type #include "realtype.h" // definitions of types //#define CHECK_IF_STOPPED_TOO_LATE_OR_TOO_EARLY class IterationInfo{ public: typedef ergo_real real; int it; //iteration number real threshold_X; real Xsquare_time; real trunc_time; real purify_time; real total_time; real stopping_criterion_time; real eucl_diff_time; real trace_diff_time ; real mixed_diff_time; real frob_diff_time; real orbital_homo_time; real orbital_lumo_time; real DX_mult_homo_time; real DX_mult_lumo_time; real homo_eig_solver_time; real lumo_eig_solver_time; real XmX2_trace; real XmX2_fro_norm; real XmX2_mixed_norm; real XmX2_eucl; real order; int poly; real gap; // estimated gap real NNZ_X; real NNZ_X2; // bounds for homo and lumo during iterations // [lumo_low, lumo_upp] and [1-homo_upp, 1-homo_low] real homo_bound_low; real homo_bound_upp; real lumo_bound_low; real lumo_bound_upp; real Kratio; real commutation_error; real alpha; // for SP2 accelerated real constantC; int num_iter_eigenv_solver; real shift_square_method_homo; real shift_square_method_lumo; IterationInfo(): it(-1), threshold_X(0), Xsquare_time(0), trunc_time(0), purify_time(0), total_time(0), stopping_criterion_time(0), eucl_diff_time(0), trace_diff_time(0), mixed_diff_time(0), frob_diff_time(0), orbital_homo_time(0), orbital_lumo_time(0), DX_mult_homo_time(0), DX_mult_lumo_time(0), homo_eig_solver_time(0), lumo_eig_solver_time(0), XmX2_trace(-1), XmX2_fro_norm(-1), XmX2_mixed_norm(-1), XmX2_eucl(-1), order(0), poly(-1), gap(-1), NNZ_X(0), NNZ_X2(0), homo_bound_low(0), homo_bound_upp(0), lumo_bound_low(0), lumo_bound_upp(0), Kratio(0), commutation_error(0), alpha(0), constantC(0), num_iter_eigenv_solver(0), shift_square_method_homo(-1), shift_square_method_lumo(-1) {}; }; class PuriInfo{ public: typedef ergo_real real; PuriInfo() : method(0), stopping_criterion(0), total_it(0), converged(0), error_subspace(0), accumulated_error_subspace(0), compute_eigenvectors_in_this_SCF_cycle(false), homo_eigenvector_is_computed(false), lumo_eigenvector_is_computed(false), homo2_eigenvector_is_computed(false), lumo2_eigenvector_is_computed(false), debug_output(0) {}; void print_collected_info(); void print_collected_info_printf(); void get_poly_seq(std::vector &norms); void get_vec_frob_norms(std::vector &norms); void get_vec_mixed_norms(std::vector &norms); void get_vec_traces(std::vector & traces); void get_spectrum_bounds(real &lower_spectrum_bound_, real &upper_spectrum_bound_) const; void set_spectrum_bounds(const real lower_spectrum_bound_, const real upper_spectrum_bound_); int method; // 1 for SP2, 2 for SP2 accelerated int stopping_criterion; // 1 if new, 0 if not real norm_F_Fprev; real total_time; int total_it; real time_spectrum_bounds; int estim_total_it; int additional_iterations; int converged; // 1 if converged, 0 otherwise real error_subspace; // expected maximum error in subspace real accumulated_error_subspace; // accumulated error in subspace real homo_estim_upp_F; real homo_estim_low_F; real lumo_estim_upp_F; real lumo_estim_low_F; real homo2_estim_upp_F; real homo2_estim_low_F; real lumo2_estim_upp_F; real lumo2_estim_low_F; bool compute_eigenvectors_in_this_SCF_cycle; bool homo_eigenvector_is_computed; bool lumo_eigenvector_is_computed; bool homo2_eigenvector_is_computed; bool lumo2_eigenvector_is_computed; real eigValHOMO; real eigValLUMO; real eigValHOMO2; real eigValLUMO2; std::vector Iterations; int debug_output; real upper_spectrum_bound; real lower_spectrum_bound; }; #endif ergo-3.5/source/densfromf/recursive_expansion/Makefile.in0000664000175000017500000004247412743400352020676 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/densfromf/recursive_expansion ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = \ src all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/densfromf/recursive_expansion/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/densfromf/recursive_expansion/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic cscopelist-am ctags ctags-am \ distclean distclean-generic distclean-tags distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/densfromf/recursive_expansion/Makefile.am0000664000175000017500000000002212743400307020644 00000000000000SUBDIRS = \ src ergo-3.5/source/densfromf/simple_purification.cc0000664000175000017500000002414712743400307017107 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include "simple_purification.h" #include "output.h" #include "utilities.h" typedef mat::Interval intervalType; void simple_purification( symmMatrix const & F_ort, int const noOfOccupiedOrbs, intervalType const & allEigsInterval, ergo_real const threshold, ergo_real const conv_crit_frob_norm_diff, int const maxiter, symmMatrix & X, int & iter, std::vector & wall_seconds, std::vector & nnz_X, std::vector & nnz_X2) { Util::TimeMeter timeMeterFirst; X = F_ort; symmMatrix X2(F_ort); ergo_real lmin = allEigsInterval.low(); ergo_real lmax = allEigsInterval.upp(); X.add_identity(-lmax); /* Scale to [0, 1] interval and negate */ X *= ((ergo_real)1.0 / (lmin - lmax)); X.simple_blockwise_frob_thresh(threshold); X2 = (ergo_real)1.0 * X * X; std::vector e(maxiter); nnz_X[0] = X.nnz(); nnz_X2[0] = X2.nnz(); ergo_real trace_X = X.trace(); ergo_real trace_X2 = X2.trace(); e[0] = symmMatrix::frob_diff(X,X2); wall_seconds[0] = timeMeterFirst.get_wall_seconds() - timeMeterFirst.get_start_time_wall_seconds(); /* It is difficult to set the convergence criterion. If we set it based on the desired accuracy there is a risk of never converging. If we quit "too early" the error may be dominated by eigenvalue errors. It is difficult to relate the convergence criterion to the threshold value Possible criterions include: Tr(X-X2) < eps Tr(X-nocc) < eps ||X_i-X_{i-1}|| < eps */ iter = 1; // iter == number of multiplications while(1) { // Check if it is time to break if(conv_crit_frob_norm_diff > 0) { if(symmMatrix::frob_diff(X,X2) < conv_crit_frob_norm_diff || iter >= maxiter ) break; } else { if( ! ( iter < 1 || (( e[iter-1] > 0.1 || e[iter-1] < e[iter-2]) && iter < maxiter) ) ) break; } Util::TimeMeter timeMeterIter; iter++; if ( std::fabs(noOfOccupiedOrbs - (2*trace_X-trace_X2)) < std::fabs(noOfOccupiedOrbs - trace_X2 ) ) { /* Polynomial 2 * x - x * x */ X2 *= (ergo_real)-1.0; X2 += (ergo_real)2.0 * X; // Now X2 contains 2*X-X*X } X2.transfer(X); /* Transfer result to X by swapping pointers. * This clears X2. */ X.simple_blockwise_frob_thresh(threshold); X2 = (ergo_real)1.0 * X * X; trace_X = X.trace(); trace_X2 = X2.trace(); wall_seconds[iter-1] = timeMeterIter.get_wall_seconds() - timeMeterIter.get_start_time_wall_seconds(); nnz_X [iter-1] = X.nnz(); nnz_X2[iter-1] = X2.nnz(); e[iter-1] = symmMatrix::frob_diff(X,X2); } // end while } static void get_E_norm_and_sin_theta(symmMatrix const & X, int const noOfOccupiedOrbs, intervalType const & allEigsInterval, symmMatrix const & D_exact, ergo_real threshold, double & E_norm, double & sin_theta) { symmMatrix X_truncated(X); X_truncated.simple_blockwise_frob_thresh(threshold); // Get E_norm E_norm = (double)symmMatrix::eucl_diff(X, X_truncated, 1e-10); // Get sinTheta symmMatrix projector; int nmul; int maxiter = 200; std::vector wallSecs(maxiter); std::vector nnz_X(maxiter), nnz_X2(maxiter); simple_purification( X_truncated, noOfOccupiedOrbs, allEigsInterval, 1e-10, 1e-10, 200, projector, nmul, wallSecs, nnz_X, nnz_X2 ); // Now we have the projector corresponding to X_truncated. sin_theta = (double)symmMatrix::eucl_diff(projector, D_exact, 1e-10); // Done! } static void output_m_vector(std::vector const & v, std::string const & s, int n, std::ofstream & ff) { ff << s << " = ["; for (int i=0; i wall_seconds_all_iters(maxiter); std::vector nnz_X(maxiter); std::vector nnz_X2(maxiter); simple_purification( F_ort, noOfOccupiedOrbs, allEigsInterval, threshold_simple_blocked_frob, conv_crit_frob_norm_diff, maxiter, D_exact, nmul, wall_seconds_all_iters, nnz_X, nnz_X2 ); ergo_real D_eucl_diff = symmMatrix::eucl_diff(D_ort,D_exact,1e-10); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "Comparison to exact matrix, eucl_norm_error: %22.11f.", (double)D_eucl_diff); ff << "D_from_homolumopuri_eucl_diff = " << D_eucl_diff << ";\n"; } symmMatrix D_simple; int const n_thresh = 6; ergo_real threshold_simple_blocked_frob[n_thresh] = {1e-2,1e-3,1e-4,1e-5,1e-6,1e-7}; double wall_seconds_tot[n_thresh]; double eucl_norm_error[n_thresh]; double eucl_norm_idempotency_error[n_thresh]; int nmul[n_thresh]; symmMatrix D_simple_squared; std::vector< std::vector > wall_seconds_matrix(n_thresh); std::vector< std::vector > nnz_X_matrix(n_thresh); std::vector< std::vector > nnz_X2_matrix(n_thresh); std::vector E_norm_F_ort(n_thresh); std::vector sin_theta_F_ort(n_thresh); std::vector E_norm_D_ort(n_thresh); std::vector sin_theta_D_ort(n_thresh); for (int i=0; i. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef DENSFROMFFULLHEADER #define DENSFROMFFULLHEADER #include "realtype.h" int get_F_orbs(int n, const ergo_real* F, const ergo_real* ovl, ergo_real* cmo, ergo_real* eigv); int get_dens_from_fock_full(int n, int noOfOccupiedOrbs, ergo_real* result_P, const ergo_real* F, const ergo_real* ovl, ergo_real factor, ergo_real electronicTemperature, ergo_real & resultEntropyTerm, ergo_real & resultHomoLumoGap, int store_all_eigenvalues_to_file, ergo_real * const lumoVec = 0, ergo_real * const homoVec = 0); #endif ergo-3.5/source/densfromf/densfromf_full.cc0000664000175000017500000002147212743400307016045 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file densfromf_full.cc \brief Routine get_dens_from_fock_full() for getting density matrix from a given Fock matrix using diagonalization. @author: Elias Rudberg responsible. */ #include "densfromf_full.h" #include "output.h" #include #include #include #include #include #include #include #include #include "memorymanag.h" #include "machine_epsilon.h" #include "utilities.h" #include "matrix_algebra.h" #include "units.h" #include "mat_gblas.h" /** get_f_orbs: use diagonalization to find the molecular orbitals * corresponding to given Fock matrix f. */ int get_F_orbs(int n, const ergo_real* F, const ergo_real* ovl, ergo_real* cmo, ergo_real* eigv) { Util::TimeMeter timeMeter; static int ITYPE=1; int lwork = 10*n; ergo_real* work = (ergo_real*)ergo_malloc(lwork*sizeof(ergo_real)); ergo_real* s = (ergo_real*)ergo_malloc(n*n*sizeof(ergo_real)); memcpy(cmo, F, n*n*sizeof(ergo_real)); memcpy(s, ovl, n*n*sizeof(ergo_real)); /* solve f*cmo = ovl*cmo*eigv; note that it destroys s! */ do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "calling LAPACK routine sygv, n = %i", n); int info = -1; mat::sygv(&ITYPE, "V", "L", &n, cmo, &n, s, &n, eigv, work, &lwork, &info); timeMeter.print(LOG_AREA_DENSFROMF, "sygv diagonalization"); if(info != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DENSFROMF, "error in sygv"); return -1; } ergo_free(work); ergo_free(s); return 0; } static void get_dens_from_cmo_zeroT(int n, const ergo_real* cmo, const ergo_real* eigv, int noOfOccupiedOrbs, ergo_real* dens, ergo_real & resultHomoLumoGap) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "entering get_dens_from_cmo_zeroT, n = %i", n); Util::TimeMeter timeMeter; multiply_matrices_general_T_1(noOfOccupiedOrbs, n, noOfOccupiedOrbs, n, cmo, cmo, dens); for(int i = 0; i < n*n; i++) dens[i] *= 2; /* compute bandgap */ ergo_real E_HOMO = eigv[noOfOccupiedOrbs-1]; ergo_real E_LUMO = eigv[noOfOccupiedOrbs-0]; ergo_real E_min = eigv[0]; ergo_real E_max = eigv[n-1]; ergo_real bandGap = E_LUMO - E_HOMO; resultHomoLumoGap = bandGap; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "get_dens_from_cmo finished, E_LUMO-E_HOMO = %12.8f Hartree = %12.8f eV", (double)bandGap, (double)bandGap / UNIT_one_eV); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "E_HOMO = %22.11f", (double)E_HOMO); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "E_LUMO = %22.11f", (double)E_LUMO); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "E_min = %22.11f", (double)E_min ); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "E_max = %22.11f", (double)E_max ); timeMeter.print(LOG_AREA_DENSFROMF, "get_dens_from_cmo_zeroT"); } static ergo_real x_times_ln_x(ergo_real x) { ergo_real eps = std::numeric_limits::epsilon(); if(x < std::sqrt(eps)) return 0; return x * std::log(x); } static void get_dens_from_cmo_FermiDiracDistr(int n, const ergo_real* cmo, const ergo_real* eigv, int noOfOccupiedOrbs, ergo_real* dens, ergo_real electronicTemperature, ergo_real & resultEntropyTerm) { do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "entering get_dens_from_cmo_FermiDiracDistr, n = %i, nocc = %i, T = %12.6f", n, noOfOccupiedOrbs, electronicTemperature); Util::TimeMeter timeMeter; // Set occupation numbers according to Fermi-Dirac distribution. ergo_real T = electronicTemperature; ergo_real k_B = 1; // we use units such that k_B = 1 ergo_real mu_min = eigv[0]; ergo_real mu_max = eigv[n-1]; ergo_real trace = 0; ergo_real mu; std::vector occupationNumbers(n); int maxiter = 1000; int niter = 0; while(1) { ergo_real mu_hi = mu_max; ergo_real mu_lo = mu_min; while(1) { niter++; mu = (mu_hi + mu_lo) / 2; for(int i = 0; i < n; i++) occupationNumbers[i] = (ergo_real)1 / (std::exp((eigv[i] - mu) / (k_B * T)) + 1); trace = 0; for(int i = 0; i < n; i++) trace += occupationNumbers[i]; if(trace < noOfOccupiedOrbs) mu_lo = mu; else mu_hi = mu; // Emanuel comment: use some kind of relative error here, // otherwise we do not converge if mu is small or large if(mu_hi - mu_lo <= (std::fabs(mu_hi)+std::fabs(mu_lo))*100*std::numeric_limits::epsilon()) break; if (niter >= maxiter) throw "Reached maxiter in Fermi function."; } // Check relative occupation error, if large we try to expand the // search interval if(std::fabs(noOfOccupiedOrbs - trace) < std::abs(noOfOccupiedOrbs)*10000*std::numeric_limits::epsilon()) break; ergo_real mu_min_max_diff = mu_max - mu_min; mu_min = mu_min - mu_min_max_diff; mu_max = mu_max + mu_min_max_diff; } do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "In get_dens_from_cmo_FermiDiracDistr, final trace = %12.6f, chemical potential = %12.6f", trace, mu); for(int j = 0; j < n; j++) for(int k = 0; k < n; k++) dens[j*n+k] = 0; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) for(int k = 0; k < n; k++) dens[j*n+k] += occupationNumbers[i] * cmo[i*n+j] * cmo[i*n+k]; } for(int i = 0; i < n*n; i++) dens[i] *= 2; // Now compute electronic entropy term. resultEntropyTerm = 0; for(int i = 0; i < n; i++) { ergo_real lambda_i = occupationNumbers[i]; resultEntropyTerm += (k_B * T) * ( x_times_ln_x(lambda_i) + x_times_ln_x(1-lambda_i) ); } resultEntropyTerm *= 2; timeMeter.print(LOG_AREA_DENSFROMF, "get_dens_from_cmo_FermiDiracDistr"); } int get_dens_from_fock_full(int n, int noOfOccupiedOrbs, ergo_real* result_P, const ergo_real* F, const ergo_real* ovl, ergo_real factor, ergo_real electronicTemperature, ergo_real & resultEntropyTerm, ergo_real & resultHomoLumoGap, int store_all_eigenvalues_to_file, ergo_real * const lumoVec, ergo_real * const homoVec) { if(noOfOccupiedOrbs == 0) { memset(result_P, 0, n*n*sizeof(ergo_real)); return 0; } Util::TimeMeter timeMeter; ergo_real* cmo = (ergo_real*)ergo_malloc(n*n*sizeof(ergo_real)); ergo_real* eigv = (ergo_real*)ergo_malloc(n*sizeof(ergo_real)); if(get_F_orbs(n, F, ovl, cmo, eigv) != 0) return -1; if(electronicTemperature == 0) get_dens_from_cmo_zeroT(n, cmo, eigv, noOfOccupiedOrbs, result_P, resultHomoLumoGap); else { get_dens_from_cmo_FermiDiracDistr(n, cmo, eigv, noOfOccupiedOrbs, result_P, electronicTemperature, resultEntropyTerm); resultHomoLumoGap = -1; // Gap not defined in FermiDiracDistr case } // Save all eigenvalues to the file. // Functionality is used for plotting eigenspectrum of the matrix F. if(store_all_eigenvalues_to_file) { do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "Storing eigenvalues of the matrix F into the file."); std::ofstream file; file.open ("eigv_F.out"); if (!file.is_open()) throw "Error opening file for storing eigenvalues."; for (int ind = 0; ind < n; ind++) file << std::fixed << std::setprecision(12) << eigv[ind] << std::endl; file.close(); } // end of store_all_eigenvalues_to_file if ( lumoVec ) for (int i = 0; i < n; i++) lumoVec[i] = cmo[n*(noOfOccupiedOrbs)+i]; if ( homoVec ) for (int i = 0; i < n; i++) homoVec[i] = cmo[n*(noOfOccupiedOrbs-1)+i]; ergo_free(cmo); ergo_free(eigv); // Take factor into account (factor is 2 for restricted case, 1 for unrestricted case). for(int i = 0; i < n*n; i++) result_P[i] *= factor / 2; resultEntropyTerm *= factor / 2; timeMeter.print(LOG_AREA_DENSFROMF, "get_dens_from_fock_full"); return 0; } ergo-3.5/source/densfromf/puri_mmul_tests.h0000664000175000017500000000310612743400307016127 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef PURI_MMUL_TESTS_HEADER #define PURI_MMUL_TESTS_HEADER #include "realtype.h" #include "matrix_typedefs.h" void run_puri_mmul_tests( const symmMatrix & F_ort, intervalType const & allEigsInterval, const std::vector & poly_choices, const std::vector & thresh_values, const symmMatrix & D_ort_ref, int globalCounter); #endif ergo-3.5/source/bin2m.cc0000664000175000017500000000701012743400307012054 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file bin2m.cc A program for conversion of binary matrix file to a matlab format file. It accepts a file name as the input and prints the text form on the standard output. The file can be then fed to Matlab and will create matrix called "m" which can be then renamed within Matlab. */ #include #include #include "basisinfo.h" #include "density_description_file.h" #include "memorymanag.h" int main(int argc, char *argv[]) { static const int COMPRESSED_DIM = 1200; static const char usage[] = "Usage: bin2m [-c] density.bin\n" "Program will produce on standard output a matlab script\n" "loading given density.\n" "Option -c compresses the matrix for visualiation purposes\n" "to not exceed 1200x1200.\n"; if(argc<2) { fputs(usage, stderr); return 1; } bool compress = false; int fname_index = 1; if(strcmp(argv[1], "-c") == 0) { fname_index++; compress = true; } if(fname_index >=argc) { fputs(usage, stderr); return 1; } IntegralInfo integralInfo(true); ergo_real *matrix = NULL; BasisInfoStruct *basis = NULL; if(ddf_load_density(argv[fname_index], 1, integralInfo, &basis, &matrix)) { fprintf(stderr, "Loading a matrix from '%s' failed.\n", argv[fname_index]); return -1; } printf("m=[\n"); if(compress && basis->noOfBasisFuncs > COMPRESSED_DIM) { for(int row=0; rownoOfBasisFuncs*row)/COMPRESSED_DIM; int rowHi = (basis->noOfBasisFuncs*(row+1))/COMPRESSED_DIM; for(int col=0; colnoOfBasisFuncs*col)/COMPRESSED_DIM; int colHi = (basis->noOfBasisFuncs*(col+1))/COMPRESSED_DIM; for(int i=rowLo; inoOfBasisFuncs]; printf("%lg ", sum); } puts( row+1== COMPRESSED_DIM ? "];" : ";"); } } else { for(int row=0; rownoOfBasisFuncs; row++) { for(int col=0; colnoOfBasisFuncs; col++) printf("%lg ", (double)matrix[col + row*basis->noOfBasisFuncs]); puts( row+1== basis->noOfBasisFuncs ? "];" : ";"); } } ergo_free(matrix); delete basis; return 0; } ergo-3.5/source/matrix_typedefs.h0000664000175000017500000000545312743400307014127 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file matrix_typedefs.h \brief Header file with typedefs for matrix and vector types. The levels of hierarchic matrices are defined here. @author: Elias Rudberg responsible. */ #ifndef MATRIX_TYPEDEFS_HEADER #define MATRIX_TYPEDEFS_HEADER #include "realtype.h" #include "Matrix.h" #include "Vector.h" #include "MatrixSymmetric.h" #include "MatrixTriangular.h" #include "MatrixGeneral.h" #include "VectorGeneral.h" #include "mat_gblas.h" // Matrix typedefs for different levels typedef mat::Matrix Mat_1; typedef mat::Matrix Mat_2; typedef mat::Matrix Mat_3; typedef mat::Matrix Mat_4; typedef mat::Matrix Mat_5; // Vector typedefs for different levels typedef mat::Vector Vec_1; typedef mat::Vector Vec_2; typedef mat::Vector Vec_3; typedef mat::Vector Vec_4; typedef mat::Vector Vec_5; // perm and matri are the types actually used. // This is the point where we choose how many levels to use. #define MATLEVEL 5 typedef Mat_5 Matri; typedef Vec_5 Vectorrr; // The typedefs for symmMatrix, triangMatrix, normalMatrix // are the same regardless of how many levels are used. typedef mat::MatrixSymmetric symmMatrix; typedef mat::MatrixTriangular triangMatrix; typedef mat::MatrixGeneral normalMatrix; typedef mat::VectorGeneral generalVector; typedef mat::Interval intervalType; #endif ergo-3.5/source/fermi_contact.cc0000664000175000017500000001506012743400307013666 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** \file fermi_contact.cc implements "Fermi contact" integrals. The formulas are give in the hyperfine project. */ #include static const double GE = 2.0023193044; #include "memorymanag.h" #include "basisinfo.h" #include "aos.h" #include "density_description_file.h" #include "Matrix.h" #include "MatrixSymmetric.h" struct FCAccumulator { const ergo_real *basisFuncValues; /**< vector of basis function values at * given point in space. */ explicit FCAccumulator(const ergo_real *bfs) : basisFuncValues(bfs) {} ergo_real accumulate(const ergo_real& dij, int i, int j) const { return dij*basisFuncValues[i]*basisFuncValues[j]; } }; template ergo_real accumulate(int n, const ergo_real *spinMat, const Accumulator& ac) { ergo_real res = 0; for(int col=0; colnoOfBasisFuncs, densMatrix[0]); printmat("BETA", basisRead->noOfBasisFuncs, densMatrix[1]); #endif /* Create spin density */ int nElements = basisRead->noOfBasisFuncs*basisRead->noOfBasisFuncs; for(int i=0; i=3) { Molecule molecule; printf("Loading molecule from %s\n", argv[2]); int res = molecule.setFromMoleculeFile (argv[2], 0, /* we are guessing the net charge here */ NULL); if(res) { fprintf(stderr, "Molecule file '%s' specified but could not be loaded.\n", argv[2]); return 1; } printf("%-6s %6s %12s %12s : %5s\n", "Charge", "X", "Y", "Z", "FC Coupling"); for(int iAtom=0; iAtomnoOfShells; iShell++) { const ShellSpecStruct &shell = basisRead->shellList[iShell]; ergo_real fc; Vector3D pos(shell.centerCoords[0], shell.centerCoords[1], shell.centerCoords[2]); if(pos.dist(lastPos) >0.1) { if (computeFermiContact(*basisRead, densMatrix[0], pos, fc) ) { fprintf(stderr, "Calculation of FC SS failed for shell %d\n", iShell+1); break; } else { printf("%12.6f %12.6f %12.6f : %17.10g\n", (double)pos[0], (double)pos[1], (double)pos[2], (double)(4*M_PI*GE*fc/3.0)); } } lastPos = pos; } } ergo_free(densMatrix[0]); ergo_free(densMatrix[1]); delete basisRead; return 0; } ergo-3.5/source/matrix/0000775000175000017500000000000012743400365012130 500000000000000ergo-3.5/source/matrix/Lanczos.h0000664000175000017500000001275312743400307013636 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file Lanczos.h Class for building Krylov subspaces with the Lanczos method * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson * @date December 2006 * */ #ifndef MAT_LANCZOS #define MAT_LANCZOS #include "MatrixTridiagSymmetric.h" #include "mat_utils.h" namespace mat { /* Matrix namespace */ namespace arn { /* Arnoldi type methods namespace */ /** Class template for building Krylov subspaces with Lanczos * * Build up Krylov subspace for symmetric matrix with * a Lanczos process. * * * Treal: Type for real numbers * * Tmatrix: The matrix class * * Tvector: Vector class * */ template class Lanczos { public: Lanczos(Tmatrix const & AA, Tvector const & startVec, int maxIt = 100, int cap = 100) : A(AA), v(new Tvector[cap]), capacity(cap), j(0), maxIter(maxIt), alpha(0), beta(0) { assert(cap > 1); Treal const ONE = 1.0; v[0] = startVec; if(v[0].eucl() < template_blas_sqrt(getRelPrecision())) { v[0].rand(); } v[0] *= (ONE / v[0].eucl()); r = v[0]; } void restart(Tvector const & startVec) { j = 0; alpha = 0; beta = 0; delete[] v; v = new Tvector[capacity]; Treal const ONE = 1.0; v[0] = startVec; v[0] *= (ONE / startVec.eucl()); r = startVec; Tri.clear(); } virtual void run() { do { step(); update(); if (j > maxIter) throw AcceptableMaxIter("Lanczos::run() did not converge within maxIter"); } while (!converged()); } inline void copyTridiag(MatrixTridiagSymmetric & Tricopy) { Tricopy = Tri; } virtual ~Lanczos() { delete[] v; } protected: Tmatrix const & A; Tvector* v; /** Vectors spanning Krylov subspace. * In step j: Vectors 0 : j-2 is on file * Vectors j-1 : j is in memory */ Tvector r; /** Residual vector */ MatrixTridiagSymmetric Tri; int capacity; int j; /** Current step */ int maxIter; void increaseCapacity(int const newCapacity); void step(); void getEigVector(Tvector& eigVec, Treal const * const eVecTri) const; virtual void update() = 0; virtual bool converged() const = 0; private: Treal alpha; Treal beta; }; /* end class definition Lanczos */ template void Lanczos::step() { if (j + 1 >= capacity) increaseCapacity(capacity * 2); Treal const ONE = 1.0; A.matVecProd(r, v[j]); // r = A * v[j] alpha = transpose(v[j]) * r; r += (-alpha) * v[j]; if (j) { r += (-beta) * v[j-1]; v[j-1].writeToFile(); } beta = r.eucl(); v[j+1] = r; v[j+1] *= ONE / beta; Tri.increase(alpha, beta); ++j; } /* FIXME: If several eigenvectors are needed it is more optimal to * compute all of them at once since then the krylov subspace vectors * only need to be read from memory once. */ template void Lanczos:: getEigVector(Tvector& eigVec, Treal const * const eVecTri) const { if (j <= 1) { eigVec = v[0]; } else { v[0].readFromFile(); eigVec = v[0]; v[0].writeToFile(); } eigVec *= eVecTri[0]; for (int ind = 1; ind <= j - 2; ++ind) { v[ind].readFromFile(); eigVec += eVecTri[ind] * v[ind]; v[ind].writeToFile(); } eigVec += eVecTri[j-1] * v[j-1]; } template void Lanczos:: increaseCapacity(int const newCapacity) { assert(newCapacity > capacity); assert(j > 0); capacity = newCapacity; Tvector* new_v = new Tvector[capacity]; /* FIXME: Fix so that file is copied when operator= is called in Vector * class */ for (int ind = 0; ind <= j - 2; ind++){ v[ind].readFromFile(); new_v[ind] = v[ind]; new_v[ind].writeToFile(); } for (int ind = j - 1; ind <= j; ind++){ new_v[ind] = v[ind]; } delete[] v; v = new_v; } } /* end namespace arn */ } /* end namespace mat */ #endif ergo-3.5/source/matrix/matInclude.cc0000664000175000017500000001155612743400307014450 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include #include #include "matInclude.h" namespace mat { #ifdef _OPENMP unsigned int Params::nProcs = 0; unsigned int Params::matrixParallelLevel = 0; #endif normType getNormType(const char* normStr) { if ( strcmp(normStr, "eucl") == 0) return mat::euclNorm; if ( strcmp(normStr, "frob") == 0) return mat::frobNorm; if ( strcmp(normStr, "mixed") == 0) return mat::mixedNorm; throw "Error in mat::getNormType: Unknown norm type string."; } std::string getNormTypeString(normType nType) { switch(nType) { case mat::euclNorm: return "eucl"; case mat::frobNorm: return "frob"; case mat::mixedNorm: return "mixed"; } throw "Error in mat::getNormTypeString: Unknown norm type."; } // Class "Time" implementation starts here! double Time::get_wall_seconds() { struct timeval tv; if(gettimeofday(&tv, NULL) != 0) throw std::runtime_error("Error in get_wall_seconds(), in gettimeofday()."); double seconds = tv.tv_sec + (double)tv.tv_usec / 1000000; return seconds; } Time::Time():ticTime(0) { } void Time::tic() { ticTime = get_wall_seconds(); } float Time::toc() { double returnValue = get_wall_seconds() - ticTime; return (float)returnValue; } // Class "MemUsage" implementation starts here! int MemUsage::getNumberFromBuffer(const char* buffer, const char* s) { const char* p = buffer; int slen = strlen(s); while(1) { if(*p == '\0') return -11; /* now p points to the beginning of a new line. */ if(memcmp(p, s, slen) == 0) { int number; /* string found! */ /* skip until blank or tab */ while(*p != ' ' && *p != '\t' && *p != '\n' && *p != '\0') p++; /* skip blanks and tabs */ while(*p == ' ' || *p == '\t') p++; /* get number */ number = atoi(p); /* skip until blank or tab */ while(*p != ' ' && *p != '\t' && *p != '\n' && *p != '\0') p++; /* skip blanks and tabs */ while(*p == ' ' || *p == '\t') p++; /* now p should point to "kB" */ if(memcmp(p, "kB", 2) != 0) return -22; return number; } /* skip to next line */ while(*p != '\n' && *p != '\0') p++; p++; } return -33; } void MemUsage::getMemUsage(Values & values) { char fileName[888]; const size_t PROCFILESIZE = 8888; char buffer[PROCFILESIZE]; values.virt = 0; values.res = 0; values.peak = 0; int pid = getpid(); sprintf(fileName, "/proc/%i/status", pid); memset(buffer, 0, PROCFILESIZE); FILE* f = fopen(fileName, "rt"); // Elias note 2011-01-19: Earlier an exception was thown here, but now we just return with zero result, to make it work on Mac. if(f == NULL) return; size_t noOfBytesRead = fread(buffer, 1, PROCFILESIZE, f); fclose(f); if(noOfBytesRead <= 0) throw std::runtime_error("Error reading proc status file to get mem usage."); if(noOfBytesRead >= PROCFILESIZE) throw std::runtime_error("Error reading proc status file to get mem usage: (noOfBytesRead >= PROCFILESIZE)."); int VmSize_kB = getNumberFromBuffer(buffer, "VmSize:"); int VmRSS_kB = getNumberFromBuffer(buffer, "VmRSS:"); int VmPeak_kB = getNumberFromBuffer(buffer, "VmPeak:"); if(VmSize_kB <= 0 || VmRSS_kB <= 0) throw std::runtime_error("error getting VmSize_kB or VmRSS_kB."); values.virt = (float)VmSize_kB / 1000000; values.res = (float)VmRSS_kB / 1000000; if(VmPeak_kB > 0) values.peak = (float)VmPeak_kB / 1000000; else values.peak = 0; } } // end namespace mat ergo-3.5/source/matrix/template_lapack/0000775000175000017500000000000012743400365015256 500000000000000ergo-3.5/source/matrix/template_lapack/lapack/0000775000175000017500000000000012743400366016512 500000000000000ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_stein.h0000664000175000017500000003074212743400307023134 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_STEIN_HEADER #define TEMPLATE_LAPACK_STEIN_HEADER template int template_lapack_stein(const integer *n, const Treal *d__, const Treal *e, const integer *m, const Treal *w, const integer *iblock, const integer *isplit, Treal *z__, const integer *ldz, Treal *work, integer *iwork, integer *ifail, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University September 30, 1994 Purpose ======= DSTEIN computes the eigenvectors of a real symmetric tridiagonal matrix T corresponding to specified eigenvalues, using inverse iteration. The maximum number of iterations allowed for each eigenvector is specified by an internal parameter MAXITS (currently set to 5). Arguments ========= N (input) INTEGER The order of the matrix. N >= 0. D (input) DOUBLE PRECISION array, dimension (N) The n diagonal elements of the tridiagonal matrix T. E (input) DOUBLE PRECISION array, dimension (N) The (n-1) subdiagonal elements of the tridiagonal matrix T, in elements 1 to N-1. E(N) need not be set. M (input) INTEGER The number of eigenvectors to be found. 0 <= M <= N. W (input) DOUBLE PRECISION array, dimension (N) The first M elements of W contain the eigenvalues for which eigenvectors are to be computed. The eigenvalues should be grouped by split-off block and ordered from smallest to largest within the block. ( The output array W from DSTEBZ with ORDER = 'B' is expected here. ) IBLOCK (input) INTEGER array, dimension (N) The submatrix indices associated with the corresponding eigenvalues in W; IBLOCK(i)=1 if eigenvalue W(i) belongs to the first submatrix from the top, =2 if W(i) belongs to the second submatrix, etc. ( The output array IBLOCK from DSTEBZ is expected here. ) ISPLIT (input) INTEGER array, dimension (N) The splitting points, at which T breaks up into submatrices. The first submatrix consists of rows/columns 1 to ISPLIT( 1 ), the second of rows/columns ISPLIT( 1 )+1 through ISPLIT( 2 ), etc. ( The output array ISPLIT from DSTEBZ is expected here. ) Z (output) DOUBLE PRECISION array, dimension (LDZ, M) The computed eigenvectors. The eigenvector associated with the eigenvalue W(i) is stored in the i-th column of Z. Any vector which fails to converge is set to its current iterate after MAXITS iterations. LDZ (input) INTEGER The leading dimension of the array Z. LDZ >= max(1,N). WORK (workspace) DOUBLE PRECISION array, dimension (5*N) IWORK (workspace) INTEGER array, dimension (N) IFAIL (output) INTEGER array, dimension (M) On normal exit, all elements of IFAIL are zero. If one or more eigenvectors fail to converge after MAXITS iterations, then their indices are stored in array IFAIL. INFO (output) INTEGER = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, then i eigenvectors failed to converge in MAXITS iterations. Their indices are stored in array IFAIL. Internal Parameters =================== MAXITS INTEGER, default = 5 The maximum number of iterations performed. EXTRA INTEGER, default = 2 The number of iterations performed after norm growth criterion is satisfied, should be at least 1. ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__2 = 2; integer c__1 = 1; integer c_n1 = -1; /* System generated locals */ integer z_dim1, z_offset, i__1, i__2, i__3; Treal d__1, d__2, d__3, d__4, d__5; /* Local variables */ integer jblk, nblk; integer jmax; integer i__, j; integer iseed[4], gpind, iinfo; integer b1; integer j1; Treal ortol; integer indrv1, indrv2, indrv3, indrv4, indrv5, bn; Treal xj; integer nrmchk; integer blksiz; Treal onenrm, dtpcrt, pertol, scl, eps, sep, nrm, tol; integer its; Treal xjm, ztr, eps1; #define z___ref(a_1,a_2) z__[(a_2)*z_dim1 + a_1] --d__; --e; --w; --iblock; --isplit; z_dim1 = *ldz; z_offset = 1 + z_dim1 * 1; z__ -= z_offset; --work; --iwork; --ifail; /* Initialization added by Elias to get rid of compiler warnings. */ ortol = dtpcrt = xjm = onenrm = gpind = 0; /* Function Body */ *info = 0; i__1 = *m; for (i__ = 1; i__ <= i__1; ++i__) { ifail[i__] = 0; /* L10: */ } if (*n < 0) { *info = -1; } else if (*m < 0 || *m > *n) { *info = -4; } else if (*ldz < maxMACRO(1,*n)) { *info = -9; } else { i__1 = *m; for (j = 2; j <= i__1; ++j) { if (iblock[j] < iblock[j - 1]) { *info = -6; goto L30; } if (iblock[j] == iblock[j - 1] && w[j] < w[j - 1]) { *info = -5; goto L30; } /* L20: */ } L30: ; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("STEIN ", &i__1); return 0; } /* Quick return if possible */ if (*n == 0 || *m == 0) { return 0; } else if (*n == 1) { z___ref(1, 1) = 1.; return 0; } /* Get machine constants. */ eps = template_lapack_lamch("Precision", (Treal)0); /* Initialize seed for random number generator DLARNV. */ for (i__ = 1; i__ <= 4; ++i__) { iseed[i__ - 1] = 1; /* L40: */ } /* Initialize pointers. */ indrv1 = 0; indrv2 = indrv1 + *n; indrv3 = indrv2 + *n; indrv4 = indrv3 + *n; indrv5 = indrv4 + *n; /* Compute eigenvectors of matrix blocks. */ j1 = 1; i__1 = iblock[*m]; for (nblk = 1; nblk <= i__1; ++nblk) { /* Find starting and ending indices of block nblk. */ if (nblk == 1) { b1 = 1; } else { b1 = isplit[nblk - 1] + 1; } bn = isplit[nblk]; blksiz = bn - b1 + 1; if (blksiz == 1) { goto L60; } gpind = b1; /* Compute reorthogonalization criterion and stopping criterion. */ onenrm = (d__1 = d__[b1], absMACRO(d__1)) + (d__2 = e[b1], absMACRO(d__2)); /* Computing MAX */ d__3 = onenrm, d__4 = (d__1 = d__[bn], absMACRO(d__1)) + (d__2 = e[bn - 1], absMACRO(d__2)); onenrm = maxMACRO(d__3,d__4); i__2 = bn - 1; for (i__ = b1 + 1; i__ <= i__2; ++i__) { /* Computing MAX */ d__4 = onenrm, d__5 = (d__1 = d__[i__], absMACRO(d__1)) + (d__2 = e[ i__ - 1], absMACRO(d__2)) + (d__3 = e[i__], absMACRO(d__3)); onenrm = maxMACRO(d__4,d__5); /* L50: */ } ortol = onenrm * .001; dtpcrt = template_blas_sqrt(.1 / blksiz); /* Loop through eigenvalues of block nblk. */ L60: jblk = 0; i__2 = *m; for (j = j1; j <= i__2; ++j) { if (iblock[j] != nblk) { j1 = j; goto L160; } ++jblk; xj = w[j]; /* Skip all the work if the block size is one. */ if (blksiz == 1) { work[indrv1 + 1] = 1.; goto L120; } /* If eigenvalues j and j-1 are too close, add a relatively small perturbation. */ if (jblk > 1) { eps1 = (d__1 = eps * xj, absMACRO(d__1)); pertol = eps1 * 10.; sep = xj - xjm; if (sep < pertol) { xj = xjm + pertol; } } its = 0; nrmchk = 0; /* Get random starting vector. */ template_lapack_larnv(&c__2, iseed, &blksiz, &work[indrv1 + 1]); /* Copy the matrix T so it won't be destroyed in factorization. */ template_blas_copy(&blksiz, &d__[b1], &c__1, &work[indrv4 + 1], &c__1); i__3 = blksiz - 1; template_blas_copy(&i__3, &e[b1], &c__1, &work[indrv2 + 2], &c__1); i__3 = blksiz - 1; template_blas_copy(&i__3, &e[b1], &c__1, &work[indrv3 + 1], &c__1); /* Compute LU factors with partial pivoting ( PT = LU ) */ tol = 0.; template_lapack_lagtf(&blksiz, &work[indrv4 + 1], &xj, &work[indrv2 + 2], &work[ indrv3 + 1], &tol, &work[indrv5 + 1], &iwork[1], &iinfo); /* Update iteration count. */ L70: ++its; if (its > 5) { goto L100; } /* Normalize and scale the righthand side vector Pb. Computing MAX */ d__2 = eps, d__3 = (d__1 = work[indrv4 + blksiz], absMACRO(d__1)); scl = blksiz * onenrm * maxMACRO(d__2,d__3) / template_blas_asum(&blksiz, &work[ indrv1 + 1], &c__1); template_blas_scal(&blksiz, &scl, &work[indrv1 + 1], &c__1); /* Solve the system LU = Pb. */ template_lapack_lagts(&c_n1, &blksiz, &work[indrv4 + 1], &work[indrv2 + 2], & work[indrv3 + 1], &work[indrv5 + 1], &iwork[1], &work[ indrv1 + 1], &tol, &iinfo); /* Reorthogonalize by modified Gram-Schmidt if eigenvalues are close enough. */ if (jblk == 1) { goto L90; } if ((d__1 = xj - xjm, absMACRO(d__1)) > ortol) { gpind = j; } if (gpind != j) { i__3 = j - 1; for (i__ = gpind; i__ <= i__3; ++i__) { ztr = -template_blas_dot(&blksiz, &work[indrv1 + 1], &c__1, &z___ref( b1, i__), &c__1); template_blas_axpy(&blksiz, &ztr, &z___ref(b1, i__), &c__1, &work[ indrv1 + 1], &c__1); /* L80: */ } } /* Check the infinity norm of the iterate. */ L90: jmax = template_blas_idamax(&blksiz, &work[indrv1 + 1], &c__1); nrm = (d__1 = work[indrv1 + jmax], absMACRO(d__1)); /* Continue for additional iterations after norm reaches stopping criterion. */ if (nrm < dtpcrt) { goto L70; } ++nrmchk; if (nrmchk < 3) { goto L70; } goto L110; /* If stopping criterion was not satisfied, update info and store eigenvector number in array ifail. */ L100: ++(*info); ifail[*info] = j; /* Accept iterate as jth eigenvector. */ L110: scl = 1. / template_blas_nrm2(&blksiz, &work[indrv1 + 1], &c__1); jmax = template_blas_idamax(&blksiz, &work[indrv1 + 1], &c__1); if (work[indrv1 + jmax] < 0.) { scl = -scl; } template_blas_scal(&blksiz, &scl, &work[indrv1 + 1], &c__1); L120: i__3 = *n; for (i__ = 1; i__ <= i__3; ++i__) { z___ref(i__, j) = 0.; /* L130: */ } i__3 = blksiz; for (i__ = 1; i__ <= i__3; ++i__) { z___ref(b1 + i__ - 1, j) = work[indrv1 + i__]; /* L140: */ } /* Save the shift to check eigenvalue spacing at next iteration. */ xjm = xj; /* L150: */ } L160: ; } return 0; /* End of DSTEIN */ } /* dstein_ */ #undef z___ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_sygv.h0000664000175000017500000002313412743400307022777 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_SYGV_HEADER #define TEMPLATE_LAPACK_SYGV_HEADER template int template_lapack_sygv(const integer *itype, const char *jobz, const char *uplo, const integer * n, Treal *a, const integer *lda, Treal *b, const integer *ldb, Treal *w, Treal *work, const integer *lwork, integer *info) { //printf("entering template_lapack_sygv\n"); /* -- LAPACK driver routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DSYGV computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, of the form A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x. Here A and B are assumed to be symmetric and B is also positive definite. Arguments ========= ITYPE (input) INTEGER Specifies the problem type to be solved: = 1: A*x = (lambda)*B*x = 2: A*B*x = (lambda)*x = 3: B*A*x = (lambda)*x JOBZ (input) CHARACTER*1 = 'N': Compute eigenvalues only; = 'V': Compute eigenvalues and eigenvectors. UPLO (input) CHARACTER*1 = 'U': Upper triangles of A and B are stored; = 'L': Lower triangles of A and B are stored. N (input) INTEGER The order of the matrices A and B. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA, N) On entry, the symmetric matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A. On exit, if JOBZ = 'V', then if INFO = 0, A contains the matrix Z of eigenvectors. The eigenvectors are normalized as follows: if ITYPE = 1 or 2, Z**T*B*Z = I; if ITYPE = 3, Z**T*inv(B)*Z = I. If JOBZ = 'N', then on exit the upper triangle (if UPLO='U') or the lower triangle (if UPLO='L') of A, including the diagonal, is destroyed. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). B (input/output) DOUBLE PRECISION array, dimension (LDB, N) On entry, the symmetric positive definite matrix B. If UPLO = 'U', the leading N-by-N upper triangular part of B contains the upper triangular part of the matrix B. If UPLO = 'L', the leading N-by-N lower triangular part of B contains the lower triangular part of the matrix B. On exit, if INFO <= N, the part of B containing the matrix is overwritten by the triangular factor U or L from the Cholesky factorization B = U**T*U or B = L*L**T. LDB (input) INTEGER The leading dimension of the array B. LDB >= max(1,N). W (output) DOUBLE PRECISION array, dimension (N) If INFO = 0, the eigenvalues in ascending order. WORK (workspace/output) DOUBLE PRECISION array, dimension (LWORK) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The length of the array WORK. LWORK >= max(1,3*N-1). For optimal efficiency, LWORK >= (NB+2)*N, where NB is the blocksize for DSYTRD returned by ILAENV. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: DPOTRF or DSYEV returned an error code: <= N: if INFO = i, DSYEV failed to converge; i off-diagonal elements of an intermediate tridiagonal form did not converge to zero; > N: if INFO = N + i, for 1 <= i <= N, then the leading minor of order i of B is not positive definite. The factorization of B could not be completed and no eigenvalues or eigenvectors were computed. ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; Treal c_b16 = 1.; /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2; /* Local variables */ integer neig; char trans[1]; logical upper; logical wantz; integer nb; integer lwkopt; logical lquery; a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; --w; --work; /* Initialization added by Elias to get rid of compiler warnings. */ lwkopt = 0; /* Function Body */ wantz = template_blas_lsame(jobz, "V"); upper = template_blas_lsame(uplo, "U"); lquery = *lwork == -1; *info = 0; if (*itype < 1 || *itype > 3) { *info = -1; } else if (! (wantz || template_blas_lsame(jobz, "N"))) { *info = -2; } else if (! (upper || template_blas_lsame(uplo, "L"))) { *info = -3; } else if (*n < 0) { *info = -4; } else if (*lda < maxMACRO(1,*n)) { *info = -6; } else if (*ldb < maxMACRO(1,*n)) { *info = -8; } else /* if(complicated condition) */ { /* Computing MAX */ i__1 = 1, i__2 = *n * 3 - 1; if (*lwork < maxMACRO(i__1,i__2) && ! lquery) { *info = -11; } } if (*info == 0) { nb = template_lapack_ilaenv(&c__1, "DSYTRD", uplo, n, &c_n1, &c_n1, &c_n1, (ftnlen)6, (ftnlen)1); lwkopt = (nb + 2) * *n; work[1] = (Treal) lwkopt; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("SYGV ", &i__1); return 0; } else if (lquery) { return 0; } /* Quick return if possible */ if (*n == 0) { return 0; } /* Form a Cholesky factorization of B. */ //printf("calling template_lapack_potrf\n"); template_lapack_potrf(uplo, n, &b[b_offset], ldb, info); //printf("template_lapack_potrf returned\n"); if (*info != 0) { *info = *n + *info; return 0; } /* Transform problem to standard eigenvalue problem and solve. */ //printf("calling template_lapack_sygst\n"); template_lapack_sygst(itype, uplo, n, &a[a_offset], lda, &b[b_offset], ldb, info); //printf("template_lapack_sygst returned\n"); //printf("calling template_lapack_syev\n"); template_lapack_syev(jobz, uplo, n, &a[a_offset], lda, &w[1], &work[1], lwork, info); //printf("template_lapack_syev returned\n"); if (wantz) { /* Backtransform eigenvectors to the original problem. */ neig = *n; if (*info > 0) { neig = *info - 1; } if (*itype == 1 || *itype == 2) { /* For A*x=(lambda)*B*x and A*B*x=(lambda)*x; backtransform eigenvectors: x = inv(L)'*y or inv(U)*y */ if (upper) { *(unsigned char *)trans = 'N'; } else { *(unsigned char *)trans = 'T'; } template_blas_trsm("Left", uplo, trans, "Non-unit", n, &neig, &c_b16, &b[ b_offset], ldb, &a[a_offset], lda); } else if (*itype == 3) { /* For B*A*x=(lambda)*x; backtransform eigenvectors: x = L*y or U'*y */ if (upper) { *(unsigned char *)trans = 'T'; } else { *(unsigned char *)trans = 'N'; } template_blas_trmm("Left", uplo, trans, "Non-unit", n, &neig, &c_b16, &b[ b_offset], ldb, &a[a_offset], lda); } } work[1] = (Treal) lwkopt; return 0; /* End of DSYGV */ } /* dsygv_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lacpy.h0000664000175000017500000001045712743400307023123 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LACPY_HEADER #define TEMPLATE_LAPACK_LACPY_HEADER template int template_lapack_lacpy(const char *uplo, const integer *m, const integer *n, const Treal * a, const integer *lda, Treal *b, const integer *ldb) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DLACPY copies all or part of a two-dimensional matrix A to another matrix B. Arguments ========= UPLO (input) CHARACTER*1 Specifies the part of the matrix A to be copied to B. = 'U': Upper triangular part = 'L': Lower triangular part Otherwise: All of the matrix A M (input) INTEGER The number of rows of the matrix A. M >= 0. N (input) INTEGER The number of columns of the matrix A. N >= 0. A (input) DOUBLE PRECISION array, dimension (LDA,N) The m by n matrix A. If UPLO = 'U', only the upper triangle or trapezoid is accessed; if UPLO = 'L', only the lower triangle or trapezoid is accessed. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,M). B (output) DOUBLE PRECISION array, dimension (LDB,N) On exit, B = A in the locations specified by UPLO. LDB (input) INTEGER The leading dimension of the array B. LDB >= max(1,M). ===================================================================== Parameter adjustments */ /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2; /* Local variables */ integer i__, j; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; /* Function Body */ if (template_blas_lsame(uplo, "U")) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = minMACRO(j,*m); for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = a_ref(i__, j); /* L10: */ } /* L20: */ } } else if (template_blas_lsame(uplo, "L")) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = j; i__ <= i__2; ++i__) { b_ref(i__, j) = a_ref(i__, j); /* L30: */ } /* L40: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = a_ref(i__, j); /* L50: */ } /* L60: */ } } return 0; /* End of DLACPY */ } /* dlacpy_ */ #undef b_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lange.h0000664000175000017500000001360412743400307023076 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LANGE_HEADER #define TEMPLATE_LAPACK_LANGE_HEADER template Treal template_lapack_lange(const char *norm, const integer *m, const integer *n, const Treal *a, const integer *lda, Treal *work) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLANGE returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a real matrix A. Description =========== DLANGE returns the value DLANGE = ( maxMACRO(abs(A(i,j))), NORM = 'M' or 'm' ( ( norm1(A), NORM = '1', 'O' or 'o' ( ( normI(A), NORM = 'I' or 'i' ( ( normF(A), NORM = 'F', 'f', 'E' or 'e' where norm1 denotes the one norm of a matrix (maximum column sum), normI denotes the infinity norm of a matrix (maximum row sum) and normF denotes the Frobenius norm of a matrix (square root of sum of squares). Note that maxMACRO(abs(A(i,j))) is not a matrix norm. Arguments ========= NORM (input) CHARACTER*1 Specifies the value to be returned in DLANGE as described above. M (input) INTEGER The number of rows of the matrix A. M >= 0. When M = 0, DLANGE is set to zero. N (input) INTEGER The number of columns of the matrix A. N >= 0. When N = 0, DLANGE is set to zero. A (input) DOUBLE PRECISION array, dimension (LDA,N) The m by n matrix A. LDA (input) INTEGER The leading dimension of the array A. LDA >= maxMACRO(M,1). WORK (workspace) DOUBLE PRECISION array, dimension (LWORK), where LWORK >= M when NORM = 'I'; otherwise, WORK is not referenced. ===================================================================== Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2; Treal ret_val, d__1, d__2, d__3; /* Local variables */ integer i__, j; Treal scale; Treal value; Treal sum; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --work; /* Initialization added by Elias to get rid of compiler warnings. */ value = 0; /* Function Body */ if (minMACRO(*m,*n) == 0) { value = 0.; } else if (template_blas_lsame(norm, "M")) { /* Find maxMACRO(abs(A(i,j))). */ value = 0.; i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { /* Computing MAX */ d__2 = value, d__3 = (d__1 = a_ref(i__, j), absMACRO(d__1)); value = maxMACRO(d__2,d__3); /* L10: */ } /* L20: */ } } else if (template_blas_lsame(norm, "O") || *(unsigned char *) norm == '1') { /* Find norm1(A). */ value = 0.; i__1 = *n; for (j = 1; j <= i__1; ++j) { sum = 0.; i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { sum += (d__1 = a_ref(i__, j), absMACRO(d__1)); /* L30: */ } value = maxMACRO(value,sum); /* L40: */ } } else if (template_blas_lsame(norm, "I")) { /* Find normI(A). */ i__1 = *m; for (i__ = 1; i__ <= i__1; ++i__) { work[i__] = 0.; /* L50: */ } i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { work[i__] += (d__1 = a_ref(i__, j), absMACRO(d__1)); /* L60: */ } /* L70: */ } value = 0.; i__1 = *m; for (i__ = 1; i__ <= i__1; ++i__) { /* Computing MAX */ d__1 = value, d__2 = work[i__]; value = maxMACRO(d__1,d__2); /* L80: */ } } else if (template_blas_lsame(norm, "F") || template_blas_lsame(norm, "E")) { /* Find normF(A). */ scale = 0.; sum = 1.; i__1 = *n; for (j = 1; j <= i__1; ++j) { template_lapack_lassq(m, &a_ref(1, j), &c__1, &scale, &sum); /* L90: */ } value = scale * template_blas_sqrt(sum); } ret_val = value; return ret_val; /* End of DLANGE */ } /* dlange_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lartg.h0000664000175000017500000001255212743400307023122 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARTG_HEADER #define TEMPLATE_LAPACK_LARTG_HEADER template int template_lapack_lartg(const Treal *f, const Treal *g, Treal *cs, Treal *sn, Treal *r__) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University September 30, 1994 Purpose ======= DLARTG generate a plane rotation so that [ CS SN ] . [ F ] = [ R ] where CS**2 + SN**2 = 1. [ -SN CS ] [ G ] [ 0 ] This is a slower, more accurate version of the BLAS1 routine DROTG, with the following other differences: F and G are unchanged on return. If G=0, then CS=1 and SN=0. If F=0 and (G .ne. 0), then CS=0 and SN=1 without doing any floating point operations (saves work in DBDSQR when there are zeros on the diagonal). If F exceeds G in magnitude, CS will be positive. Arguments ========= F (input) DOUBLE PRECISION The first component of vector to be rotated. G (input) DOUBLE PRECISION The second component of vector to be rotated. CS (output) DOUBLE PRECISION The cosine of the rotation. SN (output) DOUBLE PRECISION The sine of the rotation. R (output) DOUBLE PRECISION The nonzero component of the rotated vector. ===================================================================== */ /* Initialized data */ logical first = TRUE_; /* System generated locals */ integer i__1; Treal d__1, d__2; /* Local variables */ integer i__; Treal scale; integer count; Treal f1, g1, safmn2, safmx2; Treal safmin, eps; if (first) { first = FALSE_; safmin = template_lapack_lamch("S", (Treal)0); eps = template_lapack_lamch("E", (Treal)0); d__1 = template_lapack_lamch("B", (Treal)0); i__1 = (integer) (template_blas_log(safmin / eps) / template_blas_log(template_lapack_lamch("B", (Treal)0)) / 2.); safmn2 = template_lapack_pow_di(&d__1, &i__1); safmx2 = 1. / safmn2; } if (*g == 0.) { *cs = 1.; *sn = 0.; *r__ = *f; } else if (*f == 0.) { *cs = 0.; *sn = 1.; *r__ = *g; } else { f1 = *f; g1 = *g; /* Computing MAX */ d__1 = absMACRO(f1), d__2 = absMACRO(g1); scale = maxMACRO(d__1,d__2); if (scale >= safmx2) { count = 0; L10: ++count; f1 *= safmn2; g1 *= safmn2; /* Computing MAX */ d__1 = absMACRO(f1), d__2 = absMACRO(g1); scale = maxMACRO(d__1,d__2); if (scale >= safmx2) { goto L10; } /* Computing 2nd power */ d__1 = f1; /* Computing 2nd power */ d__2 = g1; *r__ = template_blas_sqrt(d__1 * d__1 + d__2 * d__2); *cs = f1 / *r__; *sn = g1 / *r__; i__1 = count; for (i__ = 1; i__ <= i__1; ++i__) { *r__ *= safmx2; /* L20: */ } } else if (scale <= safmn2) { count = 0; L30: ++count; f1 *= safmx2; g1 *= safmx2; /* Computing MAX */ d__1 = absMACRO(f1), d__2 = absMACRO(g1); scale = maxMACRO(d__1,d__2); if (scale <= safmn2) { goto L30; } /* Computing 2nd power */ d__1 = f1; /* Computing 2nd power */ d__2 = g1; *r__ = template_blas_sqrt(d__1 * d__1 + d__2 * d__2); *cs = f1 / *r__; *sn = g1 / *r__; i__1 = count; for (i__ = 1; i__ <= i__1; ++i__) { *r__ *= safmn2; /* L40: */ } } else { /* Computing 2nd power */ d__1 = f1; /* Computing 2nd power */ d__2 = g1; *r__ = template_blas_sqrt(d__1 * d__1 + d__2 * d__2); *cs = f1 / *r__; *sn = g1 / *r__; } if (absMACRO(*f) > absMACRO(*g) && *cs < 0.) { *cs = -(*cs); *sn = -(*sn); *r__ = -(*r__); } } return 0; /* End of DLARTG */ } /* dlartg_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_common.cc0000664000175000017500000005751712743400307023451 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #include "template_lapack_common.h" int dummyroutine() { return 0; } /* assign strings: a = b */ #ifdef KR_headers VOID s_copy(a, b, la, lb) register char *a, *b; ftnlen la, lb; #else void s_copy(register char *a, const register char *b, ftnlen la, ftnlen lb) #endif { const register char *aend, *bend; aend = a + la; if(la <= lb) while(a < aend) *a++ = *b++; else { bend = b + lb; while(b < bend) *a++ = *b++; while(a < aend) *a++ = ' '; } } /* compare two strings */ integer s_cmp(const register char *a, const register char *b, ftnlen la, ftnlen lb) { const register char *aend, *bend; aend = a + la; bend = b + lb; if(la <= lb) { while(a < aend) if(*a != *b) return( *a - *b ); else { ++a; ++b; } while(b < bend) if(*b != ' ') return( ' ' - *b ); else ++b; } else { while(b < bend) if(*a == *b) { ++a; ++b; } else return( *a - *b ); while(a < aend) if(*a != ' ') return(*a - ' '); else ++a; } return(0); } typedef double real; integer ieeeck_(integer *ispec, real *zero, real *one) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1998 Purpose ======= IEEECK is called from the ILAENV to verify that Infinity and possibly NaN arithmetic is safe (i.e. will not trap). Arguments ========= ISPEC (input) INTEGER Specifies whether to test just for inifinity arithmetic or whether to test for infinity and NaN arithmetic. = 0: Verify infinity arithmetic only. = 1: Verify infinity and NaN arithmetic. ZERO (input) REAL Must contain the value 0.0 This is passed to prevent the compiler from optimizing away this code. ONE (input) REAL Must contain the value 1.0 This is passed to prevent the compiler from optimizing away this code. RETURN VALUE: INTEGER = 0: Arithmetic failed to produce the correct answers = 1: Arithmetic produced the correct answers */ /* System generated locals */ integer ret_val; /* Local variables */ real neginf, posinf, negzro, newzro, nan1, nan2, nan3, nan4, nan5, nan6; ret_val = 1; posinf = *one / *zero; if (posinf <= *one) { ret_val = 0; return ret_val; } neginf = -(*one) / *zero; if (neginf >= *zero) { ret_val = 0; return ret_val; } negzro = *one / (neginf + *one); if (negzro != *zero) { ret_val = 0; return ret_val; } neginf = *one / negzro; if (neginf >= *zero) { ret_val = 0; return ret_val; } newzro = negzro + *zero; if (newzro != *zero) { ret_val = 0; return ret_val; } posinf = *one / newzro; if (posinf <= *one) { ret_val = 0; return ret_val; } neginf *= posinf; if (neginf >= *zero) { ret_val = 0; return ret_val; } posinf *= posinf; if (posinf <= *one) { ret_val = 0; return ret_val; } /* Return if we were only asked to check infinity arithmetic */ if (*ispec == 0) { return ret_val; } nan1 = posinf + neginf; nan2 = posinf / neginf; nan3 = posinf / posinf; nan4 = posinf * *zero; nan5 = neginf * negzro; nan6 = nan5 * 0.f; if (nan1 == nan1) { ret_val = 0; return ret_val; } if (nan2 == nan2) { ret_val = 0; return ret_val; } if (nan3 == nan3) { ret_val = 0; return ret_val; } if (nan4 == nan4) { ret_val = 0; return ret_val; } if (nan5 == nan5) { ret_val = 0; return ret_val; } if (nan6 == nan6) { ret_val = 0; return ret_val; } return ret_val; } /* ieeeck_ */ integer template_lapack_ilaenv(const integer *ispec, const char *name__, const char *opts, const integer *n1, const integer *n2, const integer *n3, const integer *n4, ftnlen name_len, ftnlen opts_len) { //printf("entering template_lapack_ilaenv\n"); /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= ILAENV is called from the LAPACK routines to choose problem-dependent parameters for the local environment. See ISPEC for a description of the parameters. This version provides a set of parameters which should give good, but not optimal, performance on many of the currently available computers. Users are encouraged to modify this subroutine to set the tuning parameters for their particular machine using the option and problem size information in the arguments. This routine will not function correctly if it is converted to all lower case. Converting it to all upper case is allowed. Arguments ========= ISPEC (input) INTEGER Specifies the parameter to be returned as the value of ILAENV. = 1: the optimal blocksize; if this value is 1, an unblocked algorithm will give the best performance. = 2: the minimum block size for which the block routine should be used; if the usable block size is less than this value, an unblocked routine should be used. = 3: the crossover point (in a block routine, for N less than this value, an unblocked routine should be used) = 4: the number of shifts, used in the nonsymmetric eigenvalue routines = 5: the minimum column dimension for blocking to be used; rectangular blocks must have dimension at least k by m, where k is given by ILAENV(2,...) and m by ILAENV(5,...) = 6: the crossover point for the SVD (when reducing an m by n matrix to bidiagonal form, if max(m,n)/min(m,n) exceeds this value, a QR factorization is used first to reduce the matrix to a triangular form.) = 7: the number of processors = 8: the crossover point for the multishift QR and QZ methods for nonsymmetric eigenvalue problems. = 9: maximum size of the subproblems at the bottom of the computation tree in the divide-and-conquer algorithm (used by xGELSD and xGESDD) =10: ieee NaN arithmetic can be trusted not to trap =11: infinity arithmetic can be trusted not to trap NAME (input) CHARACTER*(*) The name of the calling subroutine, in either upper case or lower case. OPTS (input) CHARACTER*(*) The character options to the subroutine NAME, concatenated into a single character string. For example, UPLO = 'U', TRANS = 'T', and DIAG = 'N' for a triangular routine would be specified as OPTS = 'UTN'. N1 (input) INTEGER N2 (input) INTEGER N3 (input) INTEGER N4 (input) INTEGER Problem dimensions for the subroutine NAME; these may not all be required. (ILAENV) (output) INTEGER >= 0: the value of the parameter specified by ISPEC < 0: if ILAENV = -k, the k-th argument had an illegal value. Further Details =============== The following conventions have been used when calling ILAENV from the LAPACK routines: 1) OPTS is a concatenation of all of the character options to subroutine NAME, in the same order that they appear in the argument list for NAME, even if they are not used in determining the value of the parameter specified by ISPEC. 2) The problem dimensions N1, N2, N3, N4 are specified in the order that they appear in the argument list for NAME. N1 is used first, N2 second, and so on, and unused problem dimensions are passed a value of -1. 3) The parameter value returned by ILAENV is checked for validity in the calling subroutine. For example, ILAENV is used to retrieve the optimal blocksize for STRTRI as follows: NB = ILAENV( 1, 'STRTRI', UPLO // DIAG, N, -1, -1, -1 ) IF( NB.LE.1 ) NB = MAX( 1, N ) ===================================================================== */ /* Table of constant values */ integer c__0 = 0; real c_b162 = 0.f; real c_b163 = 1.f; integer c__1 = 1; /* System generated locals */ integer ret_val; /* Local variables */ integer i__; logical cname, sname; integer nbmin; char c1[1], c2[2], c3[3], c4[2]; integer ic, nb; integer iz, nx; char subnam[6]; switch (*ispec) { case 1: goto L100; case 2: goto L100; case 3: goto L100; case 4: goto L400; case 5: goto L500; case 6: goto L600; case 7: goto L700; case 8: goto L800; case 9: goto L900; case 10: goto L1000; case 11: goto L1100; } /* Invalid value for ISPEC */ ret_val = -1; return ret_val; L100: /* Convert NAME to upper case if the first character is lower case. */ ret_val = 1; s_copy(subnam, name__, (ftnlen)6, name_len); ic = *(unsigned char *)subnam; iz = 'Z'; if (iz == 90 || iz == 122) { /* ASCII character set */ if (ic >= 97 && ic <= 122) { *(unsigned char *)subnam = (char) (ic - 32); for (i__ = 2; i__ <= 6; ++i__) { ic = *(unsigned char *)&subnam[i__ - 1]; if (ic >= 97 && ic <= 122) { *(unsigned char *)&subnam[i__ - 1] = (char) (ic - 32); } /* L10: */ } } } else if (iz == 233 || iz == 169) { /* EBCDIC character set */ if ( (ic >= 129 && ic <= 137) || (ic >= 145 && ic <= 153) || (ic >= 162 && ic <= 169) ) { *(unsigned char *)subnam = (char) (ic + 64); for (i__ = 2; i__ <= 6; ++i__) { ic = *(unsigned char *)&subnam[i__ - 1]; if ( (ic >= 129 && ic <= 137) || (ic >= 145 && ic <= 153) || (ic >= 162 && ic <= 169) ) { *(unsigned char *)&subnam[i__ - 1] = (char) (ic + 64); } /* L20: */ } } } else if (iz == 218 || iz == 250) { /* Prime machines: ASCII+128 */ if (ic >= 225 && ic <= 250) { *(unsigned char *)subnam = (char) (ic - 32); for (i__ = 2; i__ <= 6; ++i__) { ic = *(unsigned char *)&subnam[i__ - 1]; if (ic >= 225 && ic <= 250) { *(unsigned char *)&subnam[i__ - 1] = (char) (ic - 32); } /* L30: */ } } } *(unsigned char *)c1 = *(unsigned char *)subnam; sname = *(unsigned char *)c1 == 'S' || *(unsigned char *)c1 == 'D'; cname = *(unsigned char *)c1 == 'C' || *(unsigned char *)c1 == 'Z'; if (! (cname || sname)) { return ret_val; } s_copy(c2, subnam + 1, (ftnlen)2, (ftnlen)2); s_copy(c3, subnam + 3, (ftnlen)3, (ftnlen)3); s_copy(c4, c3 + 1, (ftnlen)2, (ftnlen)2); switch (*ispec) { case 1: goto L110; case 2: goto L200; case 3: goto L300; } L110: /* ISPEC = 1: block size In these examples, separate code is provided for setting NB for real and complex. We assume that NB will take the same value in single or double precision. */ nb = 1; if (s_cmp(c2, "GE", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 64; } else { nb = 64; } } else if (s_cmp(c3, "QRF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "RQF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "LQF", (ftnlen) 3, (ftnlen)3) == 0 || s_cmp(c3, "QLF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 32; } else { nb = 32; } } else if (s_cmp(c3, "HRD", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 32; } else { nb = 32; } } else if (s_cmp(c3, "BRD", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 32; } else { nb = 32; } } else if (s_cmp(c3, "TRI", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 64; } else { nb = 64; } } } else if (s_cmp(c2, "PO", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 64; } else { nb = 64; } } } else if (s_cmp(c2, "SY", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 64; } else { nb = 64; } } else if (sname && s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) { nb = 32; } else if (sname && s_cmp(c3, "GST", (ftnlen)3, (ftnlen)3) == 0) { nb = 64; } } else if (cname && s_cmp(c2, "HE", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) { nb = 64; } else if (s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) { nb = 32; } else if (s_cmp(c3, "GST", (ftnlen)3, (ftnlen)3) == 0) { nb = 64; } } else if (sname && s_cmp(c2, "OR", (ftnlen)2, (ftnlen)2) == 0) { if (*(unsigned char *)c3 == 'G') { if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, ( ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( ftnlen)2, (ftnlen)2) == 0) { nb = 32; } } else if (*(unsigned char *)c3 == 'M') { if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, ( ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( ftnlen)2, (ftnlen)2) == 0) { nb = 32; } } } else if (cname && s_cmp(c2, "UN", (ftnlen)2, (ftnlen)2) == 0) { if (*(unsigned char *)c3 == 'G') { if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, ( ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( ftnlen)2, (ftnlen)2) == 0) { nb = 32; } } else if (*(unsigned char *)c3 == 'M') { if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, ( ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( ftnlen)2, (ftnlen)2) == 0) { nb = 32; } } } else if (s_cmp(c2, "GB", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { if (*n4 <= 64) { nb = 1; } else { nb = 32; } } else { if (*n4 <= 64) { nb = 1; } else { nb = 32; } } } } else if (s_cmp(c2, "PB", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { if (*n2 <= 64) { nb = 1; } else { nb = 32; } } else { if (*n2 <= 64) { nb = 1; } else { nb = 32; } } } } else if (s_cmp(c2, "TR", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "TRI", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 64; } else { nb = 64; } } } else if (s_cmp(c2, "LA", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "UUM", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 64; } else { nb = 64; } } } else if (sname && s_cmp(c2, "ST", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "EBZ", (ftnlen)3, (ftnlen)3) == 0) { nb = 1; } } ret_val = nb; return ret_val; L200: /* ISPEC = 2: minimum block size */ nbmin = 2; if (s_cmp(c2, "GE", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "QRF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "RQF", ( ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "LQF", (ftnlen)3, ( ftnlen)3) == 0 || s_cmp(c3, "QLF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nbmin = 2; } else { nbmin = 2; } } else if (s_cmp(c3, "HRD", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nbmin = 2; } else { nbmin = 2; } } else if (s_cmp(c3, "BRD", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nbmin = 2; } else { nbmin = 2; } } else if (s_cmp(c3, "TRI", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nbmin = 2; } else { nbmin = 2; } } } else if (s_cmp(c2, "SY", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "TRF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nbmin = 8; } else { nbmin = 8; } } else if (sname && s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) { nbmin = 2; } } else if (cname && s_cmp(c2, "HE", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) { nbmin = 2; } } else if (sname && s_cmp(c2, "OR", (ftnlen)2, (ftnlen)2) == 0) { if (*(unsigned char *)c3 == 'G') { if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, ( ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( ftnlen)2, (ftnlen)2) == 0) { nbmin = 2; } } else if (*(unsigned char *)c3 == 'M') { if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, ( ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( ftnlen)2, (ftnlen)2) == 0) { nbmin = 2; } } } else if (cname && s_cmp(c2, "UN", (ftnlen)2, (ftnlen)2) == 0) { if (*(unsigned char *)c3 == 'G') { if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, ( ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( ftnlen)2, (ftnlen)2) == 0) { nbmin = 2; } } else if (*(unsigned char *)c3 == 'M') { if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, ( ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( ftnlen)2, (ftnlen)2) == 0) { nbmin = 2; } } } ret_val = nbmin; return ret_val; L300: /* ISPEC = 3: crossover point */ nx = 0; if (s_cmp(c2, "GE", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "QRF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "RQF", ( ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, "LQF", (ftnlen)3, ( ftnlen)3) == 0 || s_cmp(c3, "QLF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nx = 128; } else { nx = 128; } } else if (s_cmp(c3, "HRD", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nx = 128; } else { nx = 128; } } else if (s_cmp(c3, "BRD", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nx = 128; } else { nx = 128; } } } else if (s_cmp(c2, "SY", (ftnlen)2, (ftnlen)2) == 0) { if (sname && s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) { nx = 32; } } else if (cname && s_cmp(c2, "HE", (ftnlen)2, (ftnlen)2) == 0) { if (s_cmp(c3, "TRD", (ftnlen)3, (ftnlen)3) == 0) { nx = 32; } } else if (sname && s_cmp(c2, "OR", (ftnlen)2, (ftnlen)2) == 0) { if (*(unsigned char *)c3 == 'G') { if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, ( ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( ftnlen)2, (ftnlen)2) == 0) { nx = 128; } } } else if (cname && s_cmp(c2, "UN", (ftnlen)2, (ftnlen)2) == 0) { if (*(unsigned char *)c3 == 'G') { if (s_cmp(c4, "QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "RQ", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "LQ", (ftnlen)2, ( ftnlen)2) == 0 || s_cmp(c4, "QL", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( c4, "TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, "BR", ( ftnlen)2, (ftnlen)2) == 0) { nx = 128; } } } ret_val = nx; return ret_val; L400: /* ISPEC = 4: number of shifts (used by xHSEQR) */ ret_val = 6; return ret_val; L500: /* ISPEC = 5: minimum column dimension (not used) */ ret_val = 2; return ret_val; L600: /* ISPEC = 6: crossover point for SVD (used by xGELSS and xGESVD) */ ret_val = (integer) ((real) minMACRO(*n1,*n2) * 1.6f); return ret_val; L700: /* ISPEC = 7: number of processors (not used) */ ret_val = 1; return ret_val; L800: /* ISPEC = 8: crossover point for multishift (used by xHSEQR) */ ret_val = 50; return ret_val; L900: /* ISPEC = 9: maximum size of the subproblems at the bottom of the computation tree in the divide-and-conquer algorithm (used by xGELSD and xGESDD) */ ret_val = 25; return ret_val; L1000: /* ISPEC = 10: ieee NaN arithmetic can be trusted not to trap ILAENV = 0 */ ret_val = 1; if (ret_val == 1) { ret_val = ieeeck_(&c__0, &c_b162, &c_b163); } return ret_val; L1100: /* ISPEC = 11: infinity arithmetic can be trusted not to trap ILAENV = 0 */ ret_val = 1; if (ret_val == 1) { ret_val = ieeeck_(&c__1, &c_b162, &c_b163); } return ret_val; /* End of ILAENV */ } /* ilaenv_ */ ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lasq3.h0000664000175000017500000002276112743400307023037 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LASQ3_HEADER #define TEMPLATE_LAPACK_LASQ3_HEADER #include "template_lapack_lasq4.h" #include "template_lapack_lasq5.h" #include "template_lapack_lasq6.h" template int template_lapack_lasq3(integer *i0, integer *n0, Treal *z__, integer *pp, Treal *dmin__, Treal *sigma, Treal *desig, Treal *qmax, integer *nfail, integer *iter, integer *ndiv, logical *ieee, integer *ttype, Treal *dmin1, Treal *dmin2, Treal *dn, Treal *dn1, Treal *dn2, Treal *g, Treal *tau) { /* System generated locals */ integer i__1; Treal d__1, d__2; /* Local variables */ Treal s, t; integer j4, nn; Treal eps, tol; integer n0in, ipn4; Treal tol2, temp; /* -- LAPACK routine (version 3.2) -- */ /* -- Contributed by Osni Marques of the Lawrence Berkeley National -- */ /* -- Laboratory and Beresford Parlett of the Univ. of California at -- */ /* -- Berkeley -- */ /* -- November 2008 -- */ /* -- LAPACK is a software package provided by Univ. of Tennessee, -- */ /* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* DLASQ3 checks for deflation, computes a shift (TAU) and calls dqds. */ /* In case of failure it changes shifts, and tries again until output */ /* is positive. */ /* Arguments */ /* ========= */ /* I0 (input) INTEGER */ /* First index. */ /* N0 (input) INTEGER */ /* Last index. */ /* Z (input) DOUBLE PRECISION array, dimension ( 4*N ) */ /* Z holds the qd array. */ /* PP (input/output) INTEGER */ /* PP=0 for ping, PP=1 for pong. */ /* PP=2 indicates that flipping was applied to the Z array */ /* and that the initial tests for deflation should not be */ /* performed. */ /* DMIN (output) DOUBLE PRECISION */ /* Minimum value of d. */ /* SIGMA (output) DOUBLE PRECISION */ /* Sum of shifts used in current segment. */ /* DESIG (input/output) DOUBLE PRECISION */ /* Lower order part of SIGMA */ /* QMAX (input) DOUBLE PRECISION */ /* Maximum value of q. */ /* NFAIL (output) INTEGER */ /* Number of times shift was too big. */ /* ITER (output) INTEGER */ /* Number of iterations. */ /* NDIV (output) INTEGER */ /* Number of divisions. */ /* IEEE (input) LOGICAL */ /* Flag for IEEE or non IEEE arithmetic (passed to DLASQ5). */ /* TTYPE (input/output) INTEGER */ /* Shift type. */ /* DMIN1, DMIN2, DN, DN1, DN2, G, TAU (input/output) DOUBLE PRECISION */ /* These are passed as arguments in order to save their values */ /* between calls to DLASQ3. */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. External Subroutines .. */ /* .. */ /* .. External Function .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Parameter adjustments */ --z__; /* Function Body */ n0in = *n0; eps = template_lapack_lamch("Precision", (Treal)0); tol = eps * 100.; /* Computing 2nd power */ d__1 = tol; tol2 = d__1 * d__1; /* Check for deflation. */ L10: if (*n0 < *i0) { return 0; } if (*n0 == *i0) { goto L20; } nn = (*n0 << 2) + *pp; if (*n0 == *i0 + 1) { goto L40; } /* Check whether E(N0-1) is negligible, 1 eigenvalue. */ if (z__[nn - 5] > tol2 * (*sigma + z__[nn - 3]) && z__[nn - (*pp << 1) - 4] > tol2 * z__[nn - 7]) { goto L30; } L20: z__[(*n0 << 2) - 3] = z__[(*n0 << 2) + *pp - 3] + *sigma; --(*n0); goto L10; /* Check whether E(N0-2) is negligible, 2 eigenvalues. */ L30: if (z__[nn - 9] > tol2 * *sigma && z__[nn - (*pp << 1) - 8] > tol2 * z__[ nn - 11]) { goto L50; } L40: if (z__[nn - 3] > z__[nn - 7]) { s = z__[nn - 3]; z__[nn - 3] = z__[nn - 7]; z__[nn - 7] = s; } if (z__[nn - 5] > z__[nn - 3] * tol2) { t = (z__[nn - 7] - z__[nn - 3] + z__[nn - 5]) * .5; s = z__[nn - 3] * (z__[nn - 5] / t); if (s <= t) { s = z__[nn - 3] * (z__[nn - 5] / (t * (template_blas_sqrt(s / t + 1.) + 1.))); } else { s = z__[nn - 3] * (z__[nn - 5] / (t + template_blas_sqrt(t) * template_blas_sqrt(t + s))); } t = z__[nn - 7] + (s + z__[nn - 5]); z__[nn - 3] *= z__[nn - 7] / t; z__[nn - 7] = t; } z__[(*n0 << 2) - 7] = z__[nn - 7] + *sigma; z__[(*n0 << 2) - 3] = z__[nn - 3] + *sigma; *n0 += -2; goto L10; L50: if (*pp == 2) { *pp = 0; } /* Reverse the qd-array, if warranted. */ if (*dmin__ <= 0. || *n0 < n0in) { if (z__[(*i0 << 2) + *pp - 3] * 1.5 < z__[(*n0 << 2) + *pp - 3]) { ipn4 = ( *i0 + *n0 ) << 2; i__1 = ( *i0 + *n0 - 1 ) << 1; for (j4 = *i0 << 2; j4 <= i__1; j4 += 4) { temp = z__[j4 - 3]; z__[j4 - 3] = z__[ipn4 - j4 - 3]; z__[ipn4 - j4 - 3] = temp; temp = z__[j4 - 2]; z__[j4 - 2] = z__[ipn4 - j4 - 2]; z__[ipn4 - j4 - 2] = temp; temp = z__[j4 - 1]; z__[j4 - 1] = z__[ipn4 - j4 - 5]; z__[ipn4 - j4 - 5] = temp; temp = z__[j4]; z__[j4] = z__[ipn4 - j4 - 4]; z__[ipn4 - j4 - 4] = temp; /* L60: */ } if (*n0 - *i0 <= 4) { z__[(*n0 << 2) + *pp - 1] = z__[(*i0 << 2) + *pp - 1]; z__[(*n0 << 2) - *pp] = z__[(*i0 << 2) - *pp]; } /* Computing MIN */ d__1 = *dmin2, d__2 = z__[(*n0 << 2) + *pp - 1]; *dmin2 = minMACRO(d__1,d__2); /* Computing MIN */ d__1 = z__[(*n0 << 2) + *pp - 1], d__2 = z__[(*i0 << 2) + *pp - 1] , d__1 = minMACRO(d__1,d__2), d__2 = z__[(*i0 << 2) + *pp + 3]; z__[(*n0 << 2) + *pp - 1] = minMACRO(d__1,d__2); /* Computing MIN */ d__1 = z__[(*n0 << 2) - *pp], d__2 = z__[(*i0 << 2) - *pp], d__1 = minMACRO(d__1,d__2), d__2 = z__[(*i0 << 2) - *pp + 4]; z__[(*n0 << 2) - *pp] = minMACRO(d__1,d__2); /* Computing MAX */ d__1 = *qmax, d__2 = z__[(*i0 << 2) + *pp - 3], d__1 = maxMACRO(d__1, d__2), d__2 = z__[(*i0 << 2) + *pp + 1]; *qmax = maxMACRO(d__1,d__2); *dmin__ = -0.; } } /* Choose a shift. */ template_lapack_lasq4(i0, n0, &z__[1], pp, &n0in, dmin__, dmin1, dmin2, dn, dn1, dn2, tau, ttype, g); /* Call dqds until DMIN > 0. */ L70: template_lapack_lasq5(i0, n0, &z__[1], pp, tau, dmin__, dmin1, dmin2, dn, dn1, dn2, ieee); *ndiv += *n0 - *i0 + 2; ++(*iter); /* Check status. */ if (*dmin__ >= 0. && *dmin1 > 0.) { /* Success. */ goto L90; } else if (*dmin__ < 0. && *dmin1 > 0. && z__[( ( *n0 - 1 ) << 2) - *pp] < tol * (*sigma + *dn1) && absMACRO(*dn) < tol * *sigma) { /* Convergence hidden by negative DN. */ z__[( ( *n0 - 1 ) << 2) - *pp + 2] = 0.; *dmin__ = 0.; goto L90; } else if (*dmin__ < 0.) { /* TAU too big. Select new TAU and try again. */ ++(*nfail); if (*ttype < -22) { /* Failed twice. Play it safe. */ *tau = 0.; } else if (*dmin1 > 0.) { /* Late failure. Gives excellent shift. */ *tau = (*tau + *dmin__) * (1. - eps * 2.); *ttype += -11; } else { /* Early failure. Divide by 4. */ *tau *= .25; *ttype += -12; } goto L70; } else if (template_lapack_isnan(dmin__)) { /* NaN. */ if (*tau == 0.) { goto L80; } else { *tau = 0.; goto L70; } } else { /* Possible underflow. Play it safe. */ goto L80; } /* Risk of underflow. */ L80: template_lapack_lasq6(i0, n0, &z__[1], pp, dmin__, dmin1, dmin2, dn, dn1, dn2); *ndiv += *n0 - *i0 + 2; ++(*iter); *tau = 0.; L90: if (*tau < *sigma) { *desig += *tau; t = *sigma + *desig; *desig -= t - *sigma; } else { t = *sigma + *tau; *desig = *sigma - (t - *tau) + *desig; } *sigma = t; return 0; /* End of DLASQ3 */ } /* dlasq3_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larf.h0000664000175000017500000001137412743400307022736 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARF_HEADER #define TEMPLATE_LAPACK_LARF_HEADER template int template_lapack_larf(const char *side, const integer *m, const integer *n, const Treal *v, const integer *incv, const Treal *tau, Treal *c__, const integer *ldc, Treal *work) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DLARF applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v' where tau is a real scalar and v is a real vector. If tau = 0, then H is taken to be the unit matrix. Arguments ========= SIDE (input) CHARACTER*1 = 'L': form H * C = 'R': form C * H M (input) INTEGER The number of rows of the matrix C. N (input) INTEGER The number of columns of the matrix C. V (input) DOUBLE PRECISION array, dimension (1 + (M-1)*abs(INCV)) if SIDE = 'L' or (1 + (N-1)*abs(INCV)) if SIDE = 'R' The vector v in the representation of H. V is not used if TAU = 0. INCV (input) INTEGER The increment between elements of v. INCV <> 0. TAU (input) DOUBLE PRECISION The value tau in the representation of H. C (input/output) DOUBLE PRECISION array, dimension (LDC,N) On entry, the m by n matrix C. On exit, C is overwritten by the matrix H * C if SIDE = 'L', or C * H if SIDE = 'R'. LDC (input) INTEGER The leading dimension of the array C. LDC >= max(1,M). WORK (workspace) DOUBLE PRECISION array, dimension (N) if SIDE = 'L' or (M) if SIDE = 'R' ===================================================================== Parameter adjustments */ /* Table of constant values */ Treal c_b4 = 1.; Treal c_b5 = 0.; integer c__1 = 1; /* System generated locals */ integer c_dim1, c_offset; Treal d__1; --v; c_dim1 = *ldc; c_offset = 1 + c_dim1 * 1; c__ -= c_offset; --work; /* Function Body */ if (template_blas_lsame(side, "L")) { /* Form H * C */ if (*tau != 0.) { /* w := C' * v */ template_blas_gemv("Transpose", m, n, &c_b4, &c__[c_offset], ldc, &v[1], incv, &c_b5, &work[1], &c__1); /* C := C - v * w' */ d__1 = -(*tau); template_blas_ger(m, n, &d__1, &v[1], incv, &work[1], &c__1, &c__[c_offset], ldc); } } else { /* Form C * H */ if (*tau != 0.) { /* w := C * v */ template_blas_gemv("No transpose", m, n, &c_b4, &c__[c_offset], ldc, &v[1], incv, &c_b5, &work[1], &c__1); /* C := C - w * v' */ d__1 = -(*tau); template_blas_ger(m, n, &d__1, &work[1], &c__1, &v[1], incv, &c__[c_offset], ldc); } } return 0; /* End of DLARF */ } /* dlarf_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larft.h0000664000175000017500000002164712743400307023126 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARFT_HEADER #define TEMPLATE_LAPACK_LARFT_HEADER template int template_lapack_larft(const char *direct, const char *storev, const integer *n, const integer * k, Treal *v, const integer *ldv, const Treal *tau, Treal *t, const integer *ldt) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DLARFT forms the triangular factor T of a real block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * V' If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - V' * T * V Arguments ========= DIRECT (input) CHARACTER*1 Specifies the order in which the elementary reflectors are multiplied to form the block reflector: = 'F': H = H(1) H(2) . . . H(k) (Forward) = 'B': H = H(k) . . . H(2) H(1) (Backward) STOREV (input) CHARACTER*1 Specifies how the vectors which define the elementary reflectors are stored (see also Further Details): = 'C': columnwise = 'R': rowwise N (input) INTEGER The order of the block reflector H. N >= 0. K (input) INTEGER The order of the triangular factor T (= the number of elementary reflectors). K >= 1. V (input/output) DOUBLE PRECISION array, dimension (LDV,K) if STOREV = 'C' (LDV,N) if STOREV = 'R' The matrix V. See further details. LDV (input) INTEGER The leading dimension of the array V. If STOREV = 'C', LDV >= max(1,N); if STOREV = 'R', LDV >= K. TAU (input) DOUBLE PRECISION array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i). T (output) DOUBLE PRECISION array, dimension (LDT,K) The k by k triangular factor T of the block reflector. If DIRECT = 'F', T is upper triangular; if DIRECT = 'B', T is lower triangular. The rest of the array is not used. LDT (input) INTEGER The leading dimension of the array T. LDT >= K. Further Details =============== The shape of the matrix V and the storage of the vectors which define the H(i) is best illustrated by the following example with n = 5 and k = 3. The elements equal to 1 are not stored; the corresponding array elements are modified but restored on exit. The rest of the array is not used. DIRECT = 'F' and STOREV = 'C': DIRECT = 'F' and STOREV = 'R': V = ( 1 ) V = ( 1 v1 v1 v1 v1 ) ( v1 1 ) ( 1 v2 v2 v2 ) ( v1 v2 1 ) ( 1 v3 v3 ) ( v1 v2 v3 ) ( v1 v2 v3 ) DIRECT = 'B' and STOREV = 'C': DIRECT = 'B' and STOREV = 'R': V = ( v1 v2 v3 ) V = ( v1 v1 1 ) ( v1 v2 v3 ) ( v2 v2 v2 1 ) ( 1 v2 v3 ) ( v3 v3 v3 v3 1 ) ( 1 v3 ) ( 1 ) ===================================================================== Quick return if possible Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; Treal c_b8 = 0.; /* System generated locals */ integer t_dim1, t_offset, v_dim1, v_offset, i__1, i__2, i__3; Treal d__1; /* Local variables */ integer i__, j; Treal vii; #define t_ref(a_1,a_2) t[(a_2)*t_dim1 + a_1] #define v_ref(a_1,a_2) v[(a_2)*v_dim1 + a_1] v_dim1 = *ldv; v_offset = 1 + v_dim1 * 1; v -= v_offset; --tau; t_dim1 = *ldt; t_offset = 1 + t_dim1 * 1; t -= t_offset; /* Function Body */ if (*n == 0) { return 0; } if (template_blas_lsame(direct, "F")) { i__1 = *k; for (i__ = 1; i__ <= i__1; ++i__) { if (tau[i__] == 0.) { /* H(i) = I */ i__2 = i__; for (j = 1; j <= i__2; ++j) { t_ref(j, i__) = 0.; /* L10: */ } } else { /* general case */ vii = v_ref(i__, i__); v_ref(i__, i__) = 1.; if (template_blas_lsame(storev, "C")) { /* T(1:i-1,i) := - tau(i) * V(i:n,1:i-1)' * V(i:n,i) */ i__2 = *n - i__ + 1; i__3 = i__ - 1; d__1 = -tau[i__]; template_blas_gemv("Transpose", &i__2, &i__3, &d__1, &v_ref(i__, 1), ldv, &v_ref(i__, i__), &c__1, &c_b8, &t_ref(1, i__), &c__1); } else { /* T(1:i-1,i) := - tau(i) * V(1:i-1,i:n) * V(i,i:n)' */ i__2 = i__ - 1; i__3 = *n - i__ + 1; d__1 = -tau[i__]; template_blas_gemv("No transpose", &i__2, &i__3, &d__1, &v_ref(1, i__) , ldv, &v_ref(i__, i__), ldv, &c_b8, &t_ref(1, i__), &c__1); } v_ref(i__, i__) = vii; /* T(1:i-1,i) := T(1:i-1,1:i-1) * T(1:i-1,i) */ i__2 = i__ - 1; template_blas_trmv("Upper", "No transpose", "Non-unit", &i__2, &t[ t_offset], ldt, &t_ref(1, i__), &c__1); t_ref(i__, i__) = tau[i__]; } /* L20: */ } } else { for (i__ = *k; i__ >= 1; --i__) { if (tau[i__] == 0.) { /* H(i) = I */ i__1 = *k; for (j = i__; j <= i__1; ++j) { t_ref(j, i__) = 0.; /* L30: */ } } else { /* general case */ if (i__ < *k) { if (template_blas_lsame(storev, "C")) { vii = v_ref(*n - *k + i__, i__); v_ref(*n - *k + i__, i__) = 1.; /* T(i+1:k,i) := - tau(i) * V(1:n-k+i,i+1:k)' * V(1:n-k+i,i) */ i__1 = *n - *k + i__; i__2 = *k - i__; d__1 = -tau[i__]; template_blas_gemv("Transpose", &i__1, &i__2, &d__1, &v_ref(1, i__ + 1), ldv, &v_ref(1, i__), &c__1, &c_b8, & t_ref(i__ + 1, i__), &c__1); v_ref(*n - *k + i__, i__) = vii; } else { vii = v_ref(i__, *n - *k + i__); v_ref(i__, *n - *k + i__) = 1.; /* T(i+1:k,i) := - tau(i) * V(i+1:k,1:n-k+i) * V(i,1:n-k+i)' */ i__1 = *k - i__; i__2 = *n - *k + i__; d__1 = -tau[i__]; template_blas_gemv("No transpose", &i__1, &i__2, &d__1, &v_ref( i__ + 1, 1), ldv, &v_ref(i__, 1), ldv, &c_b8, &t_ref(i__ + 1, i__), &c__1); v_ref(i__, *n - *k + i__) = vii; } /* T(i+1:k,i) := T(i+1:k,i+1:k) * T(i+1:k,i) */ i__1 = *k - i__; template_blas_trmv("Lower", "No transpose", "Non-unit", &i__1, &t_ref( i__ + 1, i__ + 1), ldt, &t_ref(i__ + 1, i__), & c__1); } t_ref(i__, i__) = tau[i__]; } /* L40: */ } } return 0; /* End of DLARFT */ } /* dlarft_ */ #undef v_ref #undef t_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_stevx.h0000664000175000017500000003110112743400307023151 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_STEVX_HEADER #define TEMPLATE_LAPACK_STEVX_HEADER template int template_lapack_stevx(const char *jobz, const char *range, const integer *n, Treal * d__, Treal *e, const Treal *vl, const Treal *vu, const integer *il, const integer *iu, const Treal *abstol, integer *m, Treal *w, Treal *z__, const integer *ldz, Treal *work, integer *iwork, integer *ifail, integer *info) { /* -- LAPACK driver routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DSTEVX computes selected eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A. Eigenvalues and eigenvectors can be selected by specifying either a range of values or a range of indices for the desired eigenvalues. Arguments ========= JOBZ (input) CHARACTER*1 = 'N': Compute eigenvalues only; = 'V': Compute eigenvalues and eigenvectors. RANGE (input) CHARACTER*1 = 'A': all eigenvalues will be found. = 'V': all eigenvalues in the half-open interval (VL,VU] will be found. = 'I': the IL-th through IU-th eigenvalues will be found. N (input) INTEGER The order of the matrix. N >= 0. D (input/output) DOUBLE PRECISION array, dimension (N) On entry, the n diagonal elements of the tridiagonal matrix A. On exit, D may be multiplied by a constant factor chosen to avoid over/underflow in computing the eigenvalues. E (input/output) DOUBLE PRECISION array, dimension (N) On entry, the (n-1) subdiagonal elements of the tridiagonal matrix A in elements 1 to N-1 of E; E(N) need not be set. On exit, E may be multiplied by a constant factor chosen to avoid over/underflow in computing the eigenvalues. VL (input) DOUBLE PRECISION VU (input) DOUBLE PRECISION If RANGE='V', the lower and upper bounds of the interval to be searched for eigenvalues. VL < VU. Not referenced if RANGE = 'A' or 'I'. IL (input) INTEGER IU (input) INTEGER If RANGE='I', the indices (in ascending order) of the smallest and largest eigenvalues to be returned. 1 <= IL <= IU <= N, if N > 0; IL = 1 and IU = 0 if N = 0. Not referenced if RANGE = 'A' or 'V'. ABSTOL (input) DOUBLE PRECISION The absolute error tolerance for the eigenvalues. An approximate eigenvalue is accepted as converged when it is determined to lie in an interval [a,b] of width less than or equal to ABSTOL + EPS * max( |a|,|b| ) , where EPS is the machine precision. If ABSTOL is less than or equal to zero, then EPS*|T| will be used in its place, where |T| is the 1-norm of the tridiagonal matrix. Eigenvalues will be computed most accurately when ABSTOL is set to twice the underflow threshold 2*DLAMCH('S'), not zero. If this routine returns with INFO>0, indicating that some eigenvectors did not converge, try setting ABSTOL to 2*DLAMCH('S'). See "Computing Small Singular Values of Bidiagonal Matrices with Guaranteed High Relative Accuracy," by Demmel and Kahan, LAPACK Working Note #3. M (output) INTEGER The total number of eigenvalues found. 0 <= M <= N. If RANGE = 'A', M = N, and if RANGE = 'I', M = IU-IL+1. W (output) DOUBLE PRECISION array, dimension (N) The first M elements contain the selected eigenvalues in ascending order. Z (output) DOUBLE PRECISION array, dimension (LDZ, max(1,M) ) If JOBZ = 'V', then if INFO = 0, the first M columns of Z contain the orthonormal eigenvectors of the matrix A corresponding to the selected eigenvalues, with the i-th column of Z holding the eigenvector associated with W(i). If an eigenvector fails to converge (INFO > 0), then that column of Z contains the latest approximation to the eigenvector, and the index of the eigenvector is returned in IFAIL. If JOBZ = 'N', then Z is not referenced. Note: the user must ensure that at least max(1,M) columns are supplied in the array Z; if RANGE = 'V', the exact value of M is not known in advance and an upper bound must be used. LDZ (input) INTEGER The leading dimension of the array Z. LDZ >= 1, and if JOBZ = 'V', LDZ >= max(1,N). WORK (workspace) DOUBLE PRECISION array, dimension (5*N) IWORK (workspace) INTEGER array, dimension (5*N) IFAIL (output) INTEGER array, dimension (N) If JOBZ = 'V', then if INFO = 0, the first M elements of IFAIL are zero. If INFO > 0, then IFAIL contains the indices of the eigenvectors that failed to converge. If JOBZ = 'N', then IFAIL is not referenced. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, then i eigenvectors failed to converge. Their indices are stored in array IFAIL. ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; /* System generated locals */ integer z_dim1, z_offset, i__1, i__2; Treal d__1, d__2; /* Local variables */ integer imax; Treal rmin, rmax, tnrm; integer itmp1, i__, j; Treal sigma; char order[1]; logical wantz; integer jj; logical alleig, indeig; integer iscale, indibl; logical valeig; Treal safmin; Treal bignum; integer indisp; integer indiwo; integer indwrk; integer nsplit; Treal smlnum, eps, vll, vuu, tmp1; #define z___ref(a_1,a_2) z__[(a_2)*z_dim1 + a_1] --d__; --e; --w; z_dim1 = *ldz; z_offset = 1 + z_dim1 * 1; z__ -= z_offset; --work; --iwork; --ifail; /* Function Body */ wantz = template_blas_lsame(jobz, "V"); alleig = template_blas_lsame(range, "A"); valeig = template_blas_lsame(range, "V"); indeig = template_blas_lsame(range, "I"); *info = 0; if (! (wantz || template_blas_lsame(jobz, "N"))) { *info = -1; } else if (! (alleig || valeig || indeig)) { *info = -2; } else if (*n < 0) { *info = -3; } else { if (valeig) { if (*n > 0 && *vu <= *vl) { *info = -7; } } else if (indeig) { if (*il < 1 || *il > maxMACRO(1,*n)) { *info = -8; } else if (*iu < minMACRO(*n,*il) || *iu > *n) { *info = -9; } } } if (*info == 0) { if (*ldz < 1 || (wantz && *ldz < *n) ) { *info = -14; } } if (*info != 0) { i__1 = -(*info); template_blas_erbla("STEVX ", &i__1); return 0; } /* Quick return if possible */ *m = 0; if (*n == 0) { return 0; } if (*n == 1) { if (alleig || indeig) { *m = 1; w[1] = d__[1]; } else { if (*vl < d__[1] && *vu >= d__[1]) { *m = 1; w[1] = d__[1]; } } if (wantz) { z___ref(1, 1) = 1.; } return 0; } /* Get machine constants. */ safmin = template_lapack_lamch("Safe minimum", (Treal)0); eps = template_lapack_lamch("Precision", (Treal)0); smlnum = safmin / eps; bignum = 1. / smlnum; rmin = template_blas_sqrt(smlnum); /* Computing MIN */ d__1 = template_blas_sqrt(bignum), d__2 = 1. / template_blas_sqrt(template_blas_sqrt(safmin)); rmax = minMACRO(d__1,d__2); /* Scale matrix to allowable range, if necessary. */ iscale = 0; if (valeig) { vll = *vl; vuu = *vu; } else { vll = 0.; vuu = 0.; } tnrm = template_lapack_lanst("M", n, &d__[1], &e[1]); if (tnrm > 0. && tnrm < rmin) { iscale = 1; sigma = rmin / tnrm; } else if (tnrm > rmax) { iscale = 1; sigma = rmax / tnrm; } if (iscale == 1) { template_blas_scal(n, &sigma, &d__[1], &c__1); i__1 = *n - 1; template_blas_scal(&i__1, &sigma, &e[1], &c__1); if (valeig) { vll = *vl * sigma; vuu = *vu * sigma; } } /* If all eigenvalues are desired and ABSTOL is less than zero, then call DSTERF or SSTEQR. If this fails for some eigenvalue, then try DSTEBZ. */ if ((alleig || (indeig && *il == 1 && *iu == *n) ) && *abstol <= 0.) { template_blas_copy(n, &d__[1], &c__1, &w[1], &c__1); i__1 = *n - 1; template_blas_copy(&i__1, &e[1], &c__1, &work[1], &c__1); indwrk = *n + 1; if (! wantz) { template_lapack_sterf(n, &w[1], &work[1], info); } else { template_lapack_steqr("I", n, &w[1], &work[1], &z__[z_offset], ldz, &work[ indwrk], info); if (*info == 0) { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { ifail[i__] = 0; /* L10: */ } } } if (*info == 0) { *m = *n; goto L20; } *info = 0; } /* Otherwise, call DSTEBZ and, if eigenvectors are desired, SSTEIN. */ if (wantz) { *(unsigned char *)order = 'B'; } else { *(unsigned char *)order = 'E'; } indwrk = 1; indibl = 1; indisp = indibl + *n; indiwo = indisp + *n; template_lapack_stebz(range, order, n, &vll, &vuu, il, iu, abstol, &d__[1], &e[1], m, & nsplit, &w[1], &iwork[indibl], &iwork[indisp], &work[indwrk], & iwork[indiwo], info); if (wantz) { template_lapack_stein(n, &d__[1], &e[1], m, &w[1], &iwork[indibl], &iwork[indisp], & z__[z_offset], ldz, &work[indwrk], &iwork[indiwo], &ifail[1], info); } /* If matrix was scaled, then rescale eigenvalues appropriately. */ L20: if (iscale == 1) { if (*info == 0) { imax = *m; } else { imax = *info - 1; } d__1 = 1. / sigma; template_blas_scal(&imax, &d__1, &w[1], &c__1); } /* If eigenvalues are not in order, then sort them, along with eigenvectors. */ if (wantz) { i__1 = *m - 1; for (j = 1; j <= i__1; ++j) { i__ = 0; tmp1 = w[j]; i__2 = *m; for (jj = j + 1; jj <= i__2; ++jj) { if (w[jj] < tmp1) { i__ = jj; tmp1 = w[jj]; } /* L30: */ } if (i__ != 0) { itmp1 = iwork[indibl + i__ - 1]; w[i__] = w[j]; iwork[indibl + i__ - 1] = iwork[indibl + j - 1]; w[j] = tmp1; iwork[indibl + j - 1] = itmp1; template_blas_swap(n, &z___ref(1, i__), &c__1, &z___ref(1, j), &c__1); if (*info != 0) { itmp1 = ifail[i__]; ifail[i__] = ifail[j]; ifail[j] = itmp1; } } /* L40: */ } } return 0; /* End of DSTEVX */ } /* dstevx_ */ #undef z___ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lagtf.h0000664000175000017500000001645412743400307023113 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LAGTF_HEADER #define TEMPLATE_LAPACK_LAGTF_HEADER template int template_lapack_lagtf(const integer *n, Treal *a, const Treal *lambda, Treal *b, Treal *c__, const Treal *tol, Treal *d__, integer *in, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DLAGTF factorizes the matrix (T - lambda*I), where T is an n by n tridiagonal matrix and lambda is a scalar, as T - lambda*I = PLU, where P is a permutation matrix, L is a unit lower tridiagonal matrix with at most one non-zero sub-diagonal elements per column and U is an upper triangular matrix with at most two non-zero super-diagonal elements per column. The factorization is obtained by Gaussian elimination with partial pivoting and implicit row scaling. The parameter LAMBDA is included in the routine so that DLAGTF may be used, in conjunction with DLAGTS, to obtain eigenvectors of T by inverse iteration. Arguments ========= N (input) INTEGER The order of the matrix T. A (input/output) DOUBLE PRECISION array, dimension (N) On entry, A must contain the diagonal elements of T. On exit, A is overwritten by the n diagonal elements of the upper triangular matrix U of the factorization of T. LAMBDA (input) DOUBLE PRECISION On entry, the scalar lambda. B (input/output) DOUBLE PRECISION array, dimension (N-1) On entry, B must contain the (n-1) super-diagonal elements of T. On exit, B is overwritten by the (n-1) super-diagonal elements of the matrix U of the factorization of T. C (input/output) DOUBLE PRECISION array, dimension (N-1) On entry, C must contain the (n-1) sub-diagonal elements of T. On exit, C is overwritten by the (n-1) sub-diagonal elements of the matrix L of the factorization of T. TOL (input) DOUBLE PRECISION On entry, a relative tolerance used to indicate whether or not the matrix (T - lambda*I) is nearly singular. TOL should normally be chose as approximately the largest relative error in the elements of T. For example, if the elements of T are correct to about 4 significant figures, then TOL should be set to about 5*10**(-4). If TOL is supplied as less than eps, where eps is the relative machine precision, then the value eps is used in place of TOL. D (output) DOUBLE PRECISION array, dimension (N-2) On exit, D is overwritten by the (n-2) second super-diagonal elements of the matrix U of the factorization of T. IN (output) INTEGER array, dimension (N) On exit, IN contains details of the permutation matrix P. If an interchange occurred at the kth step of the elimination, then IN(k) = 1, otherwise IN(k) = 0. The element IN(n) returns the smallest positive integer j such that abs( u(j,j) ).le. norm( (T - lambda*I)(j) )*TOL, where norm( A(j) ) denotes the sum of the absolute values of the jth row of the matrix A. If no such j exists then IN(n) is returned as zero. If IN(n) is returned as positive, then a diagonal element of U is small, indicating that (T - lambda*I) is singular or nearly singular, INFO (output) INTEGER = 0 : successful exit .lt. 0: if INFO = -k, the kth argument had an illegal value ===================================================================== Parameter adjustments */ /* System generated locals */ integer i__1; Treal d__1, d__2; /* Local variables */ Treal temp, mult; integer k; Treal scale1, scale2; Treal tl; Treal eps, piv1, piv2; --in; --d__; --c__; --b; --a; /* Function Body */ *info = 0; if (*n < 0) { *info = -1; i__1 = -(*info); template_blas_erbla("LAGTF ", &i__1); return 0; } if (*n == 0) { return 0; } a[1] -= *lambda; in[*n] = 0; if (*n == 1) { if (a[1] == 0.) { in[1] = 1; } return 0; } eps = template_lapack_lamch("Epsilon", (Treal)0); tl = maxMACRO(*tol,eps); scale1 = absMACRO(a[1]) + absMACRO(b[1]); i__1 = *n - 1; for (k = 1; k <= i__1; ++k) { a[k + 1] -= *lambda; scale2 = (d__1 = c__[k], absMACRO(d__1)) + (d__2 = a[k + 1], absMACRO(d__2)); if (k < *n - 1) { scale2 += (d__1 = b[k + 1], absMACRO(d__1)); } if (a[k] == 0.) { piv1 = 0.; } else { piv1 = (d__1 = a[k], absMACRO(d__1)) / scale1; } if (c__[k] == 0.) { in[k] = 0; piv2 = 0.; scale1 = scale2; if (k < *n - 1) { d__[k] = 0.; } } else { piv2 = (d__1 = c__[k], absMACRO(d__1)) / scale2; if (piv2 <= piv1) { in[k] = 0; scale1 = scale2; c__[k] /= a[k]; a[k + 1] -= c__[k] * b[k]; if (k < *n - 1) { d__[k] = 0.; } } else { in[k] = 1; mult = a[k] / c__[k]; a[k] = c__[k]; temp = a[k + 1]; a[k + 1] = b[k] - mult * temp; if (k < *n - 1) { d__[k] = b[k + 1]; b[k + 1] = -mult * d__[k]; } b[k] = temp; c__[k] = mult; } } if (maxMACRO(piv1,piv2) <= tl && in[*n] == 0) { in[*n] = k; } /* L10: */ } if ((d__1 = a[*n], absMACRO(d__1)) <= scale1 * tl && in[*n] == 0) { in[*n] = *n; } return 0; /* End of DLAGTF */ } /* dlagtf_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_ggev.h0000664000175000017500000004446212743400307022746 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_GGEV_HEADER #define TEMPLATE_LAPACK_GGEV_HEADER template int template_lapack_ggev(const char *jobvl, const char *jobvr, const integer *n, Treal * a, const integer *lda, Treal *b, const integer *ldb, Treal *alphar, Treal *alphai, Treal *beta, Treal *vl, const integer *ldvl, Treal *vr, const integer *ldvr, Treal *work, const integer *lwork, integer *info) { /* -- LAPACK driver routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DGGEV computes for a pair of N-by-N real nonsymmetric matrices (A,B) the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors. A generalized eigenvalue for a pair of matrices (A,B) is a scalar lambda or a ratio alpha/beta = lambda, such that A - lambda*B is singular. It is usually represented as the pair (alpha,beta), as there is a reasonable interpretation for beta=0, and even for both being zero. The right eigenvector v(j) corresponding to the eigenvalue lambda(j) of (A,B) satisfies A * v(j) = lambda(j) * B * v(j). The left eigenvector u(j) corresponding to the eigenvalue lambda(j) of (A,B) satisfies u(j)**H * A = lambda(j) * u(j)**H * B . where u(j)**H is the conjugate-transpose of u(j). Arguments ========= JOBVL (input) CHARACTER*1 = 'N': do not compute the left generalized eigenvectors; = 'V': compute the left generalized eigenvectors. JOBVR (input) CHARACTER*1 = 'N': do not compute the right generalized eigenvectors; = 'V': compute the right generalized eigenvectors. N (input) INTEGER The order of the matrices A, B, VL, and VR. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA, N) On entry, the matrix A in the pair (A,B). On exit, A has been overwritten. LDA (input) INTEGER The leading dimension of A. LDA >= max(1,N). B (input/output) DOUBLE PRECISION array, dimension (LDB, N) On entry, the matrix B in the pair (A,B). On exit, B has been overwritten. LDB (input) INTEGER The leading dimension of B. LDB >= max(1,N). ALPHAR (output) DOUBLE PRECISION array, dimension (N) ALPHAI (output) DOUBLE PRECISION array, dimension (N) BETA (output) DOUBLE PRECISION array, dimension (N) On exit, (ALPHAR(j) + ALPHAI(j)*i)/BETA(j), j=1,...,N, will be the generalized eigenvalues. If ALPHAI(j) is zero, then the j-th eigenvalue is real; if positive, then the j-th and (j+1)-st eigenvalues are a complex conjugate pair, with ALPHAI(j+1) negative. Note: the quotients ALPHAR(j)/BETA(j) and ALPHAI(j)/BETA(j) may easily over- or underflow, and BETA(j) may even be zero. Thus, the user should avoid naively computing the ratio alpha/beta. However, ALPHAR and ALPHAI will be always less than and usually comparable with norm(A) in magnitude, and BETA always less than and usually comparable with norm(B). VL (output) DOUBLE PRECISION array, dimension (LDVL,N) If JOBVL = 'V', the left eigenvectors u(j) are stored one after another in the columns of VL, in the same order as their eigenvalues. If the j-th eigenvalue is real, then u(j) = VL(:,j), the j-th column of VL. If the j-th and (j+1)-th eigenvalues form a complex conjugate pair, then u(j) = VL(:,j)+i*VL(:,j+1) and u(j+1) = VL(:,j)-i*VL(:,j+1). Each eigenvector will be scaled so the largest component have abs(real part)+abs(imag. part)=1. Not referenced if JOBVL = 'N'. LDVL (input) INTEGER The leading dimension of the matrix VL. LDVL >= 1, and if JOBVL = 'V', LDVL >= N. VR (output) DOUBLE PRECISION array, dimension (LDVR,N) If JOBVR = 'V', the right eigenvectors v(j) are stored one after another in the columns of VR, in the same order as their eigenvalues. If the j-th eigenvalue is real, then v(j) = VR(:,j), the j-th column of VR. If the j-th and (j+1)-th eigenvalues form a complex conjugate pair, then v(j) = VR(:,j)+i*VR(:,j+1) and v(j+1) = VR(:,j)-i*VR(:,j+1). Each eigenvector will be scaled so the largest component have abs(real part)+abs(imag. part)=1. Not referenced if JOBVR = 'N'. LDVR (input) INTEGER The leading dimension of the matrix VR. LDVR >= 1, and if JOBVR = 'V', LDVR >= N. WORK (workspace/output) DOUBLE PRECISION array, dimension (LWORK) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The dimension of the array WORK. LWORK >= max(1,8*N). For good performance, LWORK must generally be larger. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value. = 1,...,N: The QZ iteration failed. No eigenvectors have been calculated, but ALPHAR(j), ALPHAI(j), and BETA(j) should be correct for j=INFO+1,...,N. > N: =N+1: other than QZ iteration failed in DHGEQZ. =N+2: error return from DTGEVC. ===================================================================== Decode the input arguments Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c__0 = 0; Treal c_b26 = 0.; Treal c_b27 = 1.; /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, vl_dim1, vl_offset, vr_dim1, vr_offset, i__1, i__2; Treal d__1, d__2, d__3, d__4; /* Local variables */ Treal anrm, bnrm; integer ierr, itau; Treal temp; logical ilvl, ilvr; integer iwrk; integer ileft, icols, irows; integer jc; integer in; integer jr; logical ilascl, ilbscl; logical ldumma[1]; char chtemp[1]; Treal bignum; integer ijobvl, iright, ijobvr; Treal anrmto, bnrmto; integer minwrk, maxwrk; Treal smlnum; logical lquery; integer ihi, ilo; Treal eps; logical ilv; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] #define vl_ref(a_1,a_2) vl[(a_2)*vl_dim1 + a_1] #define vr_ref(a_1,a_2) vr[(a_2)*vr_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; --alphar; --alphai; --beta; vl_dim1 = *ldvl; vl_offset = 1 + vl_dim1 * 1; vl -= vl_offset; vr_dim1 = *ldvr; vr_offset = 1 + vr_dim1 * 1; vr -= vr_offset; --work; /* Initialization added by Elias to get rid of compiler warnings. */ maxwrk = 0; /* Function Body */ if (template_blas_lsame(jobvl, "N")) { ijobvl = 1; ilvl = FALSE_; } else if (template_blas_lsame(jobvl, "V")) { ijobvl = 2; ilvl = TRUE_; } else { ijobvl = -1; ilvl = FALSE_; } if (template_blas_lsame(jobvr, "N")) { ijobvr = 1; ilvr = FALSE_; } else if (template_blas_lsame(jobvr, "V")) { ijobvr = 2; ilvr = TRUE_; } else { ijobvr = -1; ilvr = FALSE_; } ilv = ilvl || ilvr; /* Test the input arguments */ *info = 0; lquery = *lwork == -1; if (ijobvl <= 0) { *info = -1; } else if (ijobvr <= 0) { *info = -2; } else if (*n < 0) { *info = -3; } else if (*lda < maxMACRO(1,*n)) { *info = -5; } else if (*ldb < maxMACRO(1,*n)) { *info = -7; } else if (*ldvl < 1 || ( ilvl && *ldvl < *n ) ) { *info = -12; } else if (*ldvr < 1 || ( ilvr && *ldvr < *n ) ) { *info = -14; } /* Compute workspace (Note: Comments in the code beginning "Workspace:" describe the minimal amount of workspace needed at that point in the code, as well as the preferred amount for good performance. NB refers to the optimal block size for the immediately following subroutine, as returned by ILAENV. The workspace is computed assuming ILO = 1 and IHI = N, the worst case.) */ minwrk = 1; if (*info == 0 && (*lwork >= 1 || lquery)) { maxwrk = *n * 7 + *n * template_lapack_ilaenv(&c__1, "DGEQRF", " ", n, &c__1, n, & c__0, (ftnlen)6, (ftnlen)1); /* Computing MAX */ i__1 = 1, i__2 = *n << 3; minwrk = maxMACRO(i__1,i__2); work[1] = (Treal) maxwrk; } if (*lwork < minwrk && ! lquery) { *info = -16; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("GGEV ", &i__1); return 0; } else if (lquery) { return 0; } /* Quick return if possible */ if (*n == 0) { return 0; } /* Get machine constants */ eps = template_lapack_lamch("P", (Treal)0); smlnum = template_lapack_lamch("S", (Treal)0); bignum = 1. / smlnum; template_lapack_labad(&smlnum, &bignum); smlnum = template_blas_sqrt(smlnum) / eps; bignum = 1. / smlnum; /* Scale A if max element outside range [SMLNUM,BIGNUM] */ anrm = template_lapack_lange("M", n, n, &a[a_offset], lda, &work[1]); ilascl = FALSE_; if (anrm > 0. && anrm < smlnum) { anrmto = smlnum; ilascl = TRUE_; } else if (anrm > bignum) { anrmto = bignum; ilascl = TRUE_; } if (ilascl) { template_lapack_lascl("G", &c__0, &c__0, &anrm, &anrmto, n, n, &a[a_offset], lda, & ierr); } /* Scale B if max element outside range [SMLNUM,BIGNUM] */ bnrm = template_lapack_lange("M", n, n, &b[b_offset], ldb, &work[1]); ilbscl = FALSE_; if (bnrm > 0. && bnrm < smlnum) { bnrmto = smlnum; ilbscl = TRUE_; } else if (bnrm > bignum) { bnrmto = bignum; ilbscl = TRUE_; } if (ilbscl) { template_lapack_lascl("G", &c__0, &c__0, &bnrm, &bnrmto, n, n, &b[b_offset], ldb, & ierr); } /* Permute the matrices A, B to isolate eigenvalues if possible (Workspace: need 6*N) */ ileft = 1; iright = *n + 1; iwrk = iright + *n; template_lapack_ggbal("P", n, &a[a_offset], lda, &b[b_offset], ldb, &ilo, &ihi, &work[ ileft], &work[iright], &work[iwrk], &ierr); /* Reduce B to triangular form (QR decomposition of B) (Workspace: need N, prefer N*NB) */ irows = ihi + 1 - ilo; if (ilv) { icols = *n + 1 - ilo; } else { icols = irows; } itau = iwrk; iwrk = itau + irows; i__1 = *lwork + 1 - iwrk; template_lapack_geqrf(&irows, &icols, &b_ref(ilo, ilo), ldb, &work[itau], &work[iwrk], & i__1, &ierr); /* Apply the orthogonal transformation to matrix A (Workspace: need N, prefer N*NB) */ i__1 = *lwork + 1 - iwrk; /* Local char arrays added by Elias to get rid of compiler warnings. */ char str_L[] = {'L', 0}; char str_T[] = {'T', 0}; template_lapack_ormqr(str_L, str_T, &irows, &icols, &irows, &b_ref(ilo, ilo), ldb, &work[ itau], &a_ref(ilo, ilo), lda, &work[iwrk], &i__1, &ierr); /* Initialize VL (Workspace: need N, prefer N*NB) */ if (ilvl) { template_lapack_laset("Full", n, n, &c_b26, &c_b27, &vl[vl_offset], ldvl) ; i__1 = irows - 1; i__2 = irows - 1; template_lapack_lacpy("L", &i__1, &i__2, &b_ref(ilo + 1, ilo), ldb, &vl_ref(ilo + 1, ilo), ldvl); i__1 = *lwork + 1 - iwrk; template_lapack_orgqr(&irows, &irows, &irows, &vl_ref(ilo, ilo), ldvl, &work[itau], &work[iwrk], &i__1, &ierr); } /* Initialize VR */ if (ilvr) { template_lapack_laset("Full", n, n, &c_b26, &c_b27, &vr[vr_offset], ldvr) ; } /* Reduce to generalized Hessenberg form (Workspace: none needed) */ if (ilv) { /* Eigenvectors requested -- work on whole matrix. */ template_lapack_gghrd(jobvl, jobvr, n, &ilo, &ihi, &a[a_offset], lda, &b[b_offset], ldb, &vl[vl_offset], ldvl, &vr[vr_offset], ldvr, &ierr); } else { template_lapack_gghrd("N", "N", &irows, &c__1, &irows, &a_ref(ilo, ilo), lda, & b_ref(ilo, ilo), ldb, &vl[vl_offset], ldvl, &vr[vr_offset], ldvr, &ierr); } /* Perform QZ algorithm (Compute eigenvalues, and optionally, the Schur forms and Schur vectors) (Workspace: need N) */ iwrk = itau; if (ilv) { *(unsigned char *)chtemp = 'S'; } else { *(unsigned char *)chtemp = 'E'; } i__1 = *lwork + 1 - iwrk; template_lapack_hgeqz(chtemp, jobvl, jobvr, n, &ilo, &ihi, &a[a_offset], lda, &b[ b_offset], ldb, &alphar[1], &alphai[1], &beta[1], &vl[vl_offset], ldvl, &vr[vr_offset], ldvr, &work[iwrk], &i__1, &ierr); if (ierr != 0) { if (ierr > 0 && ierr <= *n) { *info = ierr; } else if (ierr > *n && ierr <= *n << 1) { *info = ierr - *n; } else { *info = *n + 1; } goto L110; } /* Compute Eigenvectors (Workspace: need 6*N) */ if (ilv) { if (ilvl) { if (ilvr) { *(unsigned char *)chtemp = 'B'; } else { *(unsigned char *)chtemp = 'L'; } } else { *(unsigned char *)chtemp = 'R'; } template_lapack_tgevc(chtemp, "B", ldumma, n, &a[a_offset], lda, &b[b_offset], ldb, &vl[vl_offset], ldvl, &vr[vr_offset], ldvr, n, &in, &work[ iwrk], &ierr); if (ierr != 0) { *info = *n + 2; goto L110; } /* Undo balancing on VL and VR and normalization (Workspace: none needed) */ if (ilvl) { template_lapack_ggbak("P", "L", n, &ilo, &ihi, &work[ileft], &work[iright], n, & vl[vl_offset], ldvl, &ierr); i__1 = *n; for (jc = 1; jc <= i__1; ++jc) { if (alphai[jc] < 0.) { goto L50; } temp = 0.; if (alphai[jc] == 0.) { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { /* Computing MAX */ d__2 = temp, d__3 = (d__1 = vl_ref(jr, jc), absMACRO(d__1)) ; temp = maxMACRO(d__2,d__3); /* L10: */ } } else { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { /* Computing MAX */ d__3 = temp, d__4 = (d__1 = vl_ref(jr, jc), absMACRO(d__1)) + (d__2 = vl_ref(jr, jc + 1), absMACRO(d__2)); temp = maxMACRO(d__3,d__4); /* L20: */ } } if (temp < smlnum) { goto L50; } temp = 1. / temp; if (alphai[jc] == 0.) { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { vl_ref(jr, jc) = vl_ref(jr, jc) * temp; /* L30: */ } } else { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { vl_ref(jr, jc) = vl_ref(jr, jc) * temp; vl_ref(jr, jc + 1) = vl_ref(jr, jc + 1) * temp; /* L40: */ } } L50: ; } } if (ilvr) { template_lapack_ggbak("P", "R", n, &ilo, &ihi, &work[ileft], &work[iright], n, & vr[vr_offset], ldvr, &ierr); i__1 = *n; for (jc = 1; jc <= i__1; ++jc) { if (alphai[jc] < 0.) { goto L100; } temp = 0.; if (alphai[jc] == 0.) { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { /* Computing MAX */ d__2 = temp, d__3 = (d__1 = vr_ref(jr, jc), absMACRO(d__1)) ; temp = maxMACRO(d__2,d__3); /* L60: */ } } else { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { /* Computing MAX */ d__3 = temp, d__4 = (d__1 = vr_ref(jr, jc), absMACRO(d__1)) + (d__2 = vr_ref(jr, jc + 1), absMACRO(d__2)); temp = maxMACRO(d__3,d__4); /* L70: */ } } if (temp < smlnum) { goto L100; } temp = 1. / temp; if (alphai[jc] == 0.) { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { vr_ref(jr, jc) = vr_ref(jr, jc) * temp; /* L80: */ } } else { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { vr_ref(jr, jc) = vr_ref(jr, jc) * temp; vr_ref(jr, jc + 1) = vr_ref(jr, jc + 1) * temp; /* L90: */ } } L100: ; } } /* End of eigenvector calculation */ } /* Undo scaling if necessary */ if (ilascl) { template_lapack_lascl("G", &c__0, &c__0, &anrmto, &anrm, n, &c__1, &alphar[1], n, & ierr); template_lapack_lascl("G", &c__0, &c__0, &anrmto, &anrm, n, &c__1, &alphai[1], n, & ierr); } if (ilbscl) { template_lapack_lascl("G", &c__0, &c__0, &bnrmto, &bnrm, n, &c__1, &beta[1], n, & ierr); } L110: work[1] = (Treal) maxwrk; return 0; /* End of DGGEV */ } /* dggev_ */ #undef vr_ref #undef vl_ref #undef b_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larrf.h0000664000175000017500000003420612743400307023117 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARRF_HEADER #define TEMPLATE_LAPACK_LARRF_HEADER template int template_lapack_larrf(integer *n, Treal *d__, Treal *l, Treal *ld, integer *clstrt, integer *clend, Treal *w, Treal *wgap, Treal *werr, Treal *spdiam, Treal * clgapl, Treal *clgapr, Treal *pivmin, Treal *sigma, Treal *dplus, Treal *lplus, Treal *work, integer *info) { /* System generated locals */ integer i__1; Treal d__1, d__2, d__3; /* Local variables */ integer i__; Treal s, bestshift, smlgrowth, eps, tmp, max1, max2, rrr1, rrr2, znm2, growthbound, fail, fact, oldp; integer indx; Treal prod; integer ktry; Treal fail2, avgap, ldmax, rdmax; integer shift; logical dorrr1; Treal ldelta; logical nofail; Treal mingap, lsigma, rdelta; logical forcer; Treal rsigma, clwdth; logical sawnan1, sawnan2, tryrrr1; /* -- LAPACK auxiliary routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* * */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* Given the initial representation L D L^T and its cluster of close */ /* eigenvalues (in a relative measure), W( CLSTRT ), W( CLSTRT+1 ), ... */ /* W( CLEND ), DLARRF finds a new relatively robust representation */ /* L D L^T - SIGMA I = L(+) D(+) L(+)^T such that at least one of the */ /* eigenvalues of L(+) D(+) L(+)^T is relatively isolated. */ /* Arguments */ /* ========= */ /* N (input) INTEGER */ /* The order of the matrix (subblock, if the matrix splitted). */ /* D (input) DOUBLE PRECISION array, dimension (N) */ /* The N diagonal elements of the diagonal matrix D. */ /* L (input) DOUBLE PRECISION array, dimension (N-1) */ /* The (N-1) subdiagonal elements of the unit bidiagonal */ /* matrix L. */ /* LD (input) DOUBLE PRECISION array, dimension (N-1) */ /* The (N-1) elements L(i)*D(i). */ /* CLSTRT (input) INTEGER */ /* The index of the first eigenvalue in the cluster. */ /* CLEND (input) INTEGER */ /* The index of the last eigenvalue in the cluster. */ /* W (input) DOUBLE PRECISION array, dimension >= (CLEND-CLSTRT+1) */ /* The eigenvalue APPROXIMATIONS of L D L^T in ascending order. */ /* W( CLSTRT ) through W( CLEND ) form the cluster of relatively */ /* close eigenalues. */ /* WGAP (input/output) DOUBLE PRECISION array, dimension >= (CLEND-CLSTRT+1) */ /* The separation from the right neighbor eigenvalue in W. */ /* WERR (input) DOUBLE PRECISION array, dimension >= (CLEND-CLSTRT+1) */ /* WERR contain the semiwidth of the uncertainty */ /* interval of the corresponding eigenvalue APPROXIMATION in W */ /* SPDIAM (input) estimate of the spectral diameter obtained from the */ /* Gerschgorin intervals */ /* CLGAPL, CLGAPR (input) absolute gap on each end of the cluster. */ /* Set by the calling routine to protect against shifts too close */ /* to eigenvalues outside the cluster. */ /* PIVMIN (input) DOUBLE PRECISION */ /* The minimum pivot allowed in the Sturm sequence. */ /* SIGMA (output) DOUBLE PRECISION */ /* The shift used to form L(+) D(+) L(+)^T. */ /* DPLUS (output) DOUBLE PRECISION array, dimension (N) */ /* The N diagonal elements of the diagonal matrix D(+). */ /* LPLUS (output) DOUBLE PRECISION array, dimension (N-1) */ /* The first (N-1) elements of LPLUS contain the subdiagonal */ /* elements of the unit bidiagonal matrix L(+). */ /* WORK (workspace) DOUBLE PRECISION array, dimension (2*N) */ /* Workspace. */ /* Further Details */ /* =============== */ /* Based on contributions by */ /* Beresford Parlett, University of California, Berkeley, USA */ /* Jim Demmel, University of California, Berkeley, USA */ /* Inderjit Dhillon, University of Texas, Austin, USA */ /* Osni Marques, LBNL/NERSC, USA */ /* Christof Voemel, University of California, Berkeley, USA */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. External Functions .. */ /* .. */ /* .. External Subroutines .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Table of constant values */ integer c__1 = 1; /* Parameter adjustments */ --work; --lplus; --dplus; --werr; --wgap; --w; --ld; --l; --d__; /* Initialization added by Elias to get rid of compiler warnings. */ indx = 0; /* Function Body */ *info = 0; fact = 2.; eps = template_lapack_lamch("Precision", (Treal)0); shift = 0; forcer = FALSE_; /* Note that we cannot guarantee that for any of the shifts tried, */ /* the factorization has a small or even moderate element growth. */ /* There could be Ritz values at both ends of the cluster and despite */ /* backing off, there are examples where all factorizations tried */ /* (in IEEE mode, allowing zero pivots & infinities) have INFINITE */ /* element growth. */ /* For this reason, we should use PIVMIN in this subroutine so that at */ /* least the L D L^T factorization exists. It can be checked afterwards */ /* whether the element growth caused bad residuals/orthogonality. */ /* Decide whether the code should accept the best among all */ /* representations despite large element growth or signal INFO=1 */ nofail = TRUE_; /* Compute the average gap length of the cluster */ clwdth = (d__1 = w[*clend] - w[*clstrt], absMACRO(d__1)) + werr[*clend] + werr[ *clstrt]; avgap = clwdth / (Treal) (*clend - *clstrt); mingap = minMACRO(*clgapl,*clgapr); /* Initial values for shifts to both ends of cluster */ /* Computing MIN */ d__1 = w[*clstrt], d__2 = w[*clend]; lsigma = minMACRO(d__1,d__2) - werr[*clstrt]; /* Computing MAX */ d__1 = w[*clstrt], d__2 = w[*clend]; rsigma = maxMACRO(d__1,d__2) + werr[*clend]; /* Use a small fudge to make sure that we really shift to the outside */ lsigma -= absMACRO(lsigma) * 4. * eps; rsigma += absMACRO(rsigma) * 4. * eps; /* Compute upper bounds for how much to back off the initial shifts */ ldmax = mingap * .25 + *pivmin * 2.; rdmax = mingap * .25 + *pivmin * 2.; /* Computing MAX */ d__1 = avgap, d__2 = wgap[*clstrt]; ldelta = maxMACRO(d__1,d__2) / fact; /* Computing MAX */ d__1 = avgap, d__2 = wgap[*clend - 1]; rdelta = maxMACRO(d__1,d__2) / fact; /* Initialize the record of the best representation found */ s = template_lapack_lamch("S", (Treal)0); smlgrowth = 1. / s; fail = (Treal) (*n - 1) * mingap / (*spdiam * eps); fail2 = (Treal) (*n - 1) * mingap / (*spdiam * template_blas_sqrt(eps)); bestshift = lsigma; /* while (KTRY <= KTRYMAX) */ ktry = 0; growthbound = *spdiam * 8.; L5: sawnan1 = FALSE_; sawnan2 = FALSE_; /* Ensure that we do not back off too much of the initial shifts */ ldelta = minMACRO(ldmax,ldelta); rdelta = minMACRO(rdmax,rdelta); /* Compute the element growth when shifting to both ends of the cluster */ /* accept the shift if there is no element growth at one of the two ends */ /* Left end */ s = -lsigma; dplus[1] = d__[1] + s; if (absMACRO(dplus[1]) < *pivmin) { dplus[1] = -(*pivmin); /* Need to set SAWNAN1 because refined RRR test should not be used */ /* in this case */ sawnan1 = TRUE_; } max1 = absMACRO(dplus[1]); i__1 = *n - 1; for (i__ = 1; i__ <= i__1; ++i__) { lplus[i__] = ld[i__] / dplus[i__]; s = s * lplus[i__] * l[i__] - lsigma; dplus[i__ + 1] = d__[i__ + 1] + s; if ((d__1 = dplus[i__ + 1], absMACRO(d__1)) < *pivmin) { dplus[i__ + 1] = -(*pivmin); /* Need to set SAWNAN1 because refined RRR test should not be used */ /* in this case */ sawnan1 = TRUE_; } /* Computing MAX */ d__2 = max1, d__3 = (d__1 = dplus[i__ + 1], absMACRO(d__1)); max1 = maxMACRO(d__2,d__3); /* L6: */ } sawnan1 = sawnan1 || template_lapack_isnan(&max1); if (forcer || ( max1 <= growthbound && ! sawnan1 ) ) { *sigma = lsigma; shift = 1; goto L100; } /* Right end */ s = -rsigma; work[1] = d__[1] + s; if (absMACRO(work[1]) < *pivmin) { work[1] = -(*pivmin); /* Need to set SAWNAN2 because refined RRR test should not be used */ /* in this case */ sawnan2 = TRUE_; } max2 = absMACRO(work[1]); i__1 = *n - 1; for (i__ = 1; i__ <= i__1; ++i__) { work[*n + i__] = ld[i__] / work[i__]; s = s * work[*n + i__] * l[i__] - rsigma; work[i__ + 1] = d__[i__ + 1] + s; if ((d__1 = work[i__ + 1], absMACRO(d__1)) < *pivmin) { work[i__ + 1] = -(*pivmin); /* Need to set SAWNAN2 because refined RRR test should not be used */ /* in this case */ sawnan2 = TRUE_; } /* Computing MAX */ d__2 = max2, d__3 = (d__1 = work[i__ + 1], absMACRO(d__1)); max2 = maxMACRO(d__2,d__3); /* L7: */ } sawnan2 = sawnan2 || template_lapack_isnan(&max2); if (forcer || ( max2 <= growthbound && ! sawnan2 ) ) { *sigma = rsigma; shift = 2; goto L100; } /* If we are at this point, both shifts led to too much element growth */ /* Record the better of the two shifts (provided it didn't lead to NaN) */ if (sawnan1 && sawnan2) { /* both MAX1 and MAX2 are NaN */ goto L50; } else { if (! sawnan1) { indx = 1; if (max1 <= smlgrowth) { smlgrowth = max1; bestshift = lsigma; } } if (! sawnan2) { if (sawnan1 || max2 <= max1) { indx = 2; } if (max2 <= smlgrowth) { smlgrowth = max2; bestshift = rsigma; } } } /* If we are here, both the left and the right shift led to */ /* element growth. If the element growth is moderate, then */ /* we may still accept the representation, if it passes a */ /* refined test for RRR. This test supposes that no NaN occurred. */ /* Moreover, we use the refined RRR test only for isolated clusters. */ if (clwdth < mingap / 128. && minMACRO(max1,max2) < fail2 && ! sawnan1 && ! sawnan2) { dorrr1 = TRUE_; } else { dorrr1 = FALSE_; } tryrrr1 = TRUE_; if (tryrrr1 && dorrr1) { if (indx == 1) { tmp = (d__1 = dplus[*n], absMACRO(d__1)); znm2 = 1.; prod = 1.; oldp = 1.; for (i__ = *n - 1; i__ >= 1; --i__) { if (prod <= eps) { prod = dplus[i__ + 1] * work[*n + i__ + 1] / (dplus[i__] * work[*n + i__]) * oldp; } else { prod *= (d__1 = work[*n + i__], absMACRO(d__1)); } oldp = prod; /* Computing 2nd power */ d__1 = prod; znm2 += d__1 * d__1; /* Computing MAX */ d__2 = tmp, d__3 = (d__1 = dplus[i__] * prod, absMACRO(d__1)); tmp = maxMACRO(d__2,d__3); /* L15: */ } rrr1 = tmp / (*spdiam * template_blas_sqrt(znm2)); if (rrr1 <= 8.) { *sigma = lsigma; shift = 1; goto L100; } } else if (indx == 2) { tmp = (d__1 = work[*n], absMACRO(d__1)); znm2 = 1.; prod = 1.; oldp = 1.; for (i__ = *n - 1; i__ >= 1; --i__) { if (prod <= eps) { prod = work[i__ + 1] * lplus[i__ + 1] / (work[i__] * lplus[i__]) * oldp; } else { prod *= (d__1 = lplus[i__], absMACRO(d__1)); } oldp = prod; /* Computing 2nd power */ d__1 = prod; znm2 += d__1 * d__1; /* Computing MAX */ d__2 = tmp, d__3 = (d__1 = work[i__] * prod, absMACRO(d__1)); tmp = maxMACRO(d__2,d__3); /* L16: */ } rrr2 = tmp / (*spdiam * template_blas_sqrt(znm2)); if (rrr2 <= 8.) { *sigma = rsigma; shift = 2; goto L100; } } } L50: if (ktry < 1) { /* If we are here, both shifts failed also the RRR test. */ /* Back off to the outside */ /* Computing MAX */ d__1 = lsigma - ldelta, d__2 = lsigma - ldmax; lsigma = maxMACRO(d__1,d__2); /* Computing MIN */ d__1 = rsigma + rdelta, d__2 = rsigma + rdmax; rsigma = minMACRO(d__1,d__2); ldelta *= 2.; rdelta *= 2.; ++ktry; goto L5; } else { /* None of the representations investigated satisfied our */ /* criteria. Take the best one we found. */ if (smlgrowth < fail || nofail) { lsigma = bestshift; rsigma = bestshift; forcer = TRUE_; goto L5; } else { *info = 1; return 0; } } L100: if (shift == 1) { } else if (shift == 2) { /* store new L and D back into DPLUS, LPLUS */ template_blas_copy(n, &work[1], &c__1, &dplus[1], &c__1); i__1 = *n - 1; template_blas_copy(&i__1, &work[*n + 1], &c__1, &lplus[1], &c__1); } return 0; /* End of DLARRF */ } /* dlarrf_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_getrs.h0000664000175000017500000001340512743400307023133 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_GETRS_HEADER #define TEMPLATE_LAPACK_GETRS_HEADER template int template_lapack_getrs(const char *trans, const integer *n, const integer *nrhs, const Treal *a, const integer *lda, const integer *ipiv, Treal *b, const integer * ldb, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University March 31, 1993 Purpose ======= DGETRS solves a system of linear equations A * X = B or A' * X = B with a general N-by-N matrix A using the LU factorization computed by DGETRF. Arguments ========= TRANS (input) CHARACTER*1 Specifies the form of the system of equations: = 'N': A * X = B (No transpose) = 'T': A'* X = B (Transpose) = 'C': A'* X = B (Conjugate transpose = Transpose) N (input) INTEGER The order of the matrix A. N >= 0. NRHS (input) INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. A (input) DOUBLE PRECISION array, dimension (LDA,N) The factors L and U from the factorization A = P*L*U as computed by DGETRF. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). IPIV (input) INTEGER array, dimension (N) The pivot indices from DGETRF; for 1<=i<=N, row i of the matrix was interchanged with row IPIV(i). B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) On entry, the right hand side matrix B. On exit, the solution matrix X. LDB (input) INTEGER The leading dimension of the array B. LDB >= max(1,N). INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; Treal c_b12 = 1.; integer c_n1 = -1; /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, i__1; /* Local variables */ logical notran; a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --ipiv; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; /* Function Body */ *info = 0; notran = template_blas_lsame(trans, "N"); if (! notran && ! template_blas_lsame(trans, "T") && ! template_blas_lsame( trans, "C")) { *info = -1; } else if (*n < 0) { *info = -2; } else if (*nrhs < 0) { *info = -3; } else if (*lda < maxMACRO(1,*n)) { *info = -5; } else if (*ldb < maxMACRO(1,*n)) { *info = -8; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("GETRS ", &i__1); return 0; } /* Quick return if possible */ if (*n == 0 || *nrhs == 0) { return 0; } if (notran) { /* Solve A * X = B. Apply row interchanges to the right hand sides. */ template_lapack_laswp(nrhs, &b[b_offset], ldb, &c__1, n, &ipiv[1], &c__1); /* Solve L*X = B, overwriting B with X. */ template_blas_trsm("Left", "Lower", "No transpose", "Unit", n, nrhs, &c_b12, &a[ a_offset], lda, &b[b_offset], ldb); /* Solve U*X = B, overwriting B with X. */ template_blas_trsm("Left", "Upper", "No transpose", "Non-unit", n, nrhs, &c_b12, & a[a_offset], lda, &b[b_offset], ldb); } else { /* Solve A' * X = B. Solve U'*X = B, overwriting B with X. */ template_blas_trsm("Left", "Upper", "Transpose", "Non-unit", n, nrhs, &c_b12, &a[ a_offset], lda, &b[b_offset], ldb); /* Solve L'*X = B, overwriting B with X. */ template_blas_trsm("Left", "Lower", "Transpose", "Unit", n, nrhs, &c_b12, &a[ a_offset], lda, &b[b_offset], ldb); /* Apply row interchanges to the solution vectors. */ template_lapack_laswp(nrhs, &b[b_offset], ldb, &c__1, n, &ipiv[1], &c_n1); } return 0; /* End of DGETRS */ } /* dgetrs_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larfg.h0000664000175000017500000001200712743400307023077 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARFG_HEADER #define TEMPLATE_LAPACK_LARFG_HEADER #include "template_lapack_lapy2.h" template int template_lapack_larfg(const integer *n, Treal *alpha, Treal *x, const integer *incx, Treal *tau) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University September 30, 1994 Purpose ======= DLARFG generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H' * H = I. ( x ) ( 0 ) where alpha and beta are scalars, and x is an (n-1)-element real vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v' ) , ( v ) where tau is a real scalar and v is a real (n-1)-element vector. If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= tau <= 2. Arguments ========= N (input) INTEGER The order of the elementary reflector. ALPHA (input/output) DOUBLE PRECISION On entry, the value alpha. On exit, it is overwritten with the value beta. X (input/output) DOUBLE PRECISION array, dimension (1+(N-2)*abs(INCX)) On entry, the vector x. On exit, it is overwritten with the vector v. INCX (input) INTEGER The increment between elements of X. INCX > 0. TAU (output) DOUBLE PRECISION The value tau. ===================================================================== Parameter adjustments */ /* System generated locals */ integer i__1; Treal d__1; /* Local variables */ Treal beta; integer j; Treal xnorm; Treal safmin, rsafmn; integer knt; --x; /* Function Body */ if (*n <= 1) { *tau = 0.; return 0; } i__1 = *n - 1; xnorm = template_blas_nrm2(&i__1, &x[1], incx); if (xnorm == 0.) { /* H = I */ *tau = 0.; } else { /* general case */ d__1 = template_lapack_lapy2(alpha, &xnorm); beta = -template_lapack_d_sign(&d__1, alpha); safmin = template_lapack_lamch("S", (Treal)0) / template_lapack_lamch("E", (Treal)0); if (absMACRO(beta) < safmin) { /* XNORM, BETA may be inaccurate; scale X and recompute them */ rsafmn = 1. / safmin; knt = 0; L10: ++knt; i__1 = *n - 1; template_blas_scal(&i__1, &rsafmn, &x[1], incx); beta *= rsafmn; *alpha *= rsafmn; if (absMACRO(beta) < safmin) { goto L10; } /* New BETA is at most 1, at least SAFMIN */ i__1 = *n - 1; xnorm = template_blas_nrm2(&i__1, &x[1], incx); d__1 = template_lapack_lapy2(alpha, &xnorm); beta = -template_lapack_d_sign(&d__1, alpha); *tau = (beta - *alpha) / beta; i__1 = *n - 1; d__1 = 1. / (*alpha - beta); template_blas_scal(&i__1, &d__1, &x[1], incx); /* If ALPHA is subnormal, it may lose relative accuracy */ *alpha = beta; i__1 = knt; for (j = 1; j <= i__1; ++j) { *alpha *= safmin; /* L20: */ } } else { *tau = (beta - *alpha) / beta; i__1 = *n - 1; d__1 = 1. / (*alpha - beta); template_blas_scal(&i__1, &d__1, &x[1], incx); *alpha = beta; } } return 0; /* End of DLARFG */ } /* dlarfg_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_trti2.h0000664000175000017500000001317712743400307023061 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_TRTI2_HEADER #define TEMPLATE_LAPACK_TRTI2_HEADER template int template_lapack_trti2(const char *uplo, const char *diag, const integer *n, Treal * a, const integer *lda, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DTRTI2 computes the inverse of a real upper or lower triangular matrix. This is the Level 2 BLAS version of the algorithm. Arguments ========= UPLO (input) CHARACTER*1 Specifies whether the matrix A is upper or lower triangular. = 'U': Upper triangular = 'L': Lower triangular DIAG (input) CHARACTER*1 Specifies whether or not the matrix A is unit triangular. = 'N': Non-unit triangular = 'U': Unit triangular N (input) INTEGER The order of the matrix A. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the triangular matrix A. If UPLO = 'U', the leading n by n upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading n by n lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1. On exit, the (triangular) inverse of the original matrix, in the same storage format. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). INFO (output) INTEGER = 0: successful exit < 0: if INFO = -k, the k-th argument had an illegal value ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2; /* Local variables */ integer j; logical upper; logical nounit; Treal ajj; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; /* Function Body */ *info = 0; upper = template_blas_lsame(uplo, "U"); nounit = template_blas_lsame(diag, "N"); if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -1; } else if (! nounit && ! template_blas_lsame(diag, "U")) { *info = -2; } else if (*n < 0) { *info = -3; } else if (*lda < maxMACRO(1,*n)) { *info = -5; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("TRTI2 ", &i__1); return 0; } if (upper) { /* Compute inverse of upper triangular matrix. */ i__1 = *n; for (j = 1; j <= i__1; ++j) { if (nounit) { a_ref(j, j) = 1. / a_ref(j, j); ajj = -a_ref(j, j); } else { ajj = -1.; } /* Compute elements 1:j-1 of j-th column. */ i__2 = j - 1; template_blas_trmv("Upper", "No transpose", diag, &i__2, &a[a_offset], lda, & a_ref(1, j), &c__1); i__2 = j - 1; template_blas_scal(&i__2, &ajj, &a_ref(1, j), &c__1); /* L10: */ } } else { /* Compute inverse of lower triangular matrix. */ for (j = *n; j >= 1; --j) { if (nounit) { a_ref(j, j) = 1. / a_ref(j, j); ajj = -a_ref(j, j); } else { ajj = -1.; } if (j < *n) { /* Compute elements j+1:n of j-th column. */ i__1 = *n - j; template_blas_trmv("Lower", "No transpose", diag, &i__1, &a_ref(j + 1, j + 1), lda, &a_ref(j + 1, j), &c__1); i__1 = *n - j; template_blas_scal(&i__1, &ajj, &a_ref(j + 1, j), &c__1); } /* L20: */ } } return 0; /* End of DTRTI2 */ } /* dtrti2_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lasq6.h0000664000175000017500000001525112743400307023036 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LASQ6_HEADER #define TEMPLATE_LAPACK_LASQ6_HEADER template int template_lapack_lasq6(integer *i0, integer *n0, Treal *z__, integer *pp, Treal *dmin__, Treal *dmin1, Treal *dmin2, Treal *dn, Treal *dnm1, Treal *dnm2) { /* System generated locals */ integer i__1; Treal d__1, d__2; /* Local variables */ Treal d__; integer j4, j4p2; Treal emin, temp; Treal safmin; /* -- LAPACK routine (version 3.2) -- */ /* -- Contributed by Osni Marques of the Lawrence Berkeley National -- */ /* -- Laboratory and Beresford Parlett of the Univ. of California at -- */ /* -- Berkeley -- */ /* -- November 2008 -- */ /* -- LAPACK is a software package provided by Univ. of Tennessee, -- */ /* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* DLASQ6 computes one dqd (shift equal to zero) transform in */ /* ping-pong form, with protection against underflow and overflow. */ /* Arguments */ /* ========= */ /* I0 (input) INTEGER */ /* First index. */ /* N0 (input) INTEGER */ /* Last index. */ /* Z (input) DOUBLE PRECISION array, dimension ( 4*N ) */ /* Z holds the qd array. EMIN is stored in Z(4*N0) to avoid */ /* an extra argument. */ /* PP (input) INTEGER */ /* PP=0 for ping, PP=1 for pong. */ /* DMIN (output) DOUBLE PRECISION */ /* Minimum value of d. */ /* DMIN1 (output) DOUBLE PRECISION */ /* Minimum value of d, excluding D( N0 ). */ /* DMIN2 (output) DOUBLE PRECISION */ /* Minimum value of d, excluding D( N0 ) and D( N0-1 ). */ /* DN (output) DOUBLE PRECISION */ /* d(N0), the last value of d. */ /* DNM1 (output) DOUBLE PRECISION */ /* d(N0-1). */ /* DNM2 (output) DOUBLE PRECISION */ /* d(N0-2). */ /* ===================================================================== */ /* .. Parameter .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. External Function .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Parameter adjustments */ --z__; /* Function Body */ if (*n0 - *i0 - 1 <= 0) { return 0; } safmin = template_lapack_lamch("Safe minimum", (Treal)0); j4 = (*i0 << 2) + *pp - 3; emin = z__[j4 + 4]; d__ = z__[j4]; *dmin__ = d__; if (*pp == 0) { i__1 = (*n0 - 3) << 2; for (j4 = *i0 << 2; j4 <= i__1; j4 += 4) { z__[j4 - 2] = d__ + z__[j4 - 1]; if (z__[j4 - 2] == 0.) { z__[j4] = 0.; d__ = z__[j4 + 1]; *dmin__ = d__; emin = 0.; } else if (safmin * z__[j4 + 1] < z__[j4 - 2] && safmin * z__[j4 - 2] < z__[j4 + 1]) { temp = z__[j4 + 1] / z__[j4 - 2]; z__[j4] = z__[j4 - 1] * temp; d__ *= temp; } else { z__[j4] = z__[j4 + 1] * (z__[j4 - 1] / z__[j4 - 2]); d__ = z__[j4 + 1] * (d__ / z__[j4 - 2]); } *dmin__ = minMACRO(*dmin__,d__); /* Computing MIN */ d__1 = emin, d__2 = z__[j4]; emin = minMACRO(d__1,d__2); /* L10: */ } } else { i__1 = ( *n0 - 3 ) << 2; for (j4 = *i0 << 2; j4 <= i__1; j4 += 4) { z__[j4 - 3] = d__ + z__[j4]; if (z__[j4 - 3] == 0.) { z__[j4 - 1] = 0.; d__ = z__[j4 + 2]; *dmin__ = d__; emin = 0.; } else if (safmin * z__[j4 + 2] < z__[j4 - 3] && safmin * z__[j4 - 3] < z__[j4 + 2]) { temp = z__[j4 + 2] / z__[j4 - 3]; z__[j4 - 1] = z__[j4] * temp; d__ *= temp; } else { z__[j4 - 1] = z__[j4 + 2] * (z__[j4] / z__[j4 - 3]); d__ = z__[j4 + 2] * (d__ / z__[j4 - 3]); } *dmin__ = minMACRO(*dmin__,d__); /* Computing MIN */ d__1 = emin, d__2 = z__[j4 - 1]; emin = minMACRO(d__1,d__2); /* L20: */ } } /* Unroll last two steps. */ *dnm2 = d__; *dmin2 = *dmin__; j4 = ( ( *n0 - 2 ) << 2) - *pp; j4p2 = j4 + (*pp << 1) - 1; z__[j4 - 2] = *dnm2 + z__[j4p2]; if (z__[j4 - 2] == 0.) { z__[j4] = 0.; *dnm1 = z__[j4p2 + 2]; *dmin__ = *dnm1; emin = 0.; } else if (safmin * z__[j4p2 + 2] < z__[j4 - 2] && safmin * z__[j4 - 2] < z__[j4p2 + 2]) { temp = z__[j4p2 + 2] / z__[j4 - 2]; z__[j4] = z__[j4p2] * temp; *dnm1 = *dnm2 * temp; } else { z__[j4] = z__[j4p2 + 2] * (z__[j4p2] / z__[j4 - 2]); *dnm1 = z__[j4p2 + 2] * (*dnm2 / z__[j4 - 2]); } *dmin__ = minMACRO(*dmin__,*dnm1); *dmin1 = *dmin__; j4 += 4; j4p2 = j4 + (*pp << 1) - 1; z__[j4 - 2] = *dnm1 + z__[j4p2]; if (z__[j4 - 2] == 0.) { z__[j4] = 0.; *dn = z__[j4p2 + 2]; *dmin__ = *dn; emin = 0.; } else if (safmin * z__[j4p2 + 2] < z__[j4 - 2] && safmin * z__[j4 - 2] < z__[j4p2 + 2]) { temp = z__[j4p2 + 2] / z__[j4 - 2]; z__[j4] = z__[j4p2] * temp; *dn = *dnm1 * temp; } else { z__[j4] = z__[j4p2 + 2] * (z__[j4p2] / z__[j4 - 2]); *dn = z__[j4p2 + 2] * (*dnm1 / z__[j4 - 2]); } *dmin__ = minMACRO(*dmin__,*dn); z__[j4 + 2] = *dn; z__[(*n0 << 2) - *pp] = emin; return 0; /* End of DLASQ6 */ } /* dlasq6_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larre.h0000664000175000017500000007230712743400307023122 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARRE_HEADER #define TEMPLATE_LAPACK_LARRE_HEADER #include "template_lapack_larrk.h" #include "template_lapack_lasq2.h" template int template_lapack_larre(const char *range, const integer *n, Treal *vl, Treal *vu, integer *il, integer *iu, Treal *d__, Treal *e, Treal *e2, Treal *rtol1, Treal *rtol2, Treal * spltol, integer *nsplit, integer *isplit, integer *m, Treal *w, Treal *werr, Treal *wgap, integer *iblock, integer *indexw, Treal *gers, Treal *pivmin, Treal *work, integer * iwork, integer *info) { /* System generated locals */ integer i__1, i__2; Treal d__1, d__2, d__3; /* Local variables */ integer i__, j; Treal s1, s2; integer mb = 0; // EMANUEL COMMENT: initialize to get rid of compiler warning Treal gl; integer in, mm; Treal gu; integer cnt; Treal eps, tau, tmp, rtl; integer cnt1, cnt2; Treal tmp1, eabs; integer iend, jblk; Treal eold; integer indl; Treal dmax__, emax; integer wend = 0; // EMANUEL COMMENT: initialize to get rid of compiler warning integer idum, indu; Treal rtol; integer iseed[4]; Treal avgap, sigma; integer iinfo; logical norep; integer ibegin; logical forceb; integer irange = 0; // EMANUEL COMMENT: initialize to get rid of compiler warning Treal sgndef; integer wbegin; Treal safmin, spdiam; logical usedqd; Treal clwdth, isleft; Treal isrght, bsrtol, dpivot; /* -- LAPACK auxiliary routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* To find the desired eigenvalues of a given real symmetric */ /* tridiagonal matrix T, DLARRE sets any "small" off-diagonal */ /* elements to zero, and for each unreduced block T_i, it finds */ /* (a) a suitable shift at one end of the block's spectrum, */ /* (b) the base representation, T_i - sigma_i I = L_i D_i L_i^T, and */ /* (c) eigenvalues of each L_i D_i L_i^T. */ /* The representations and eigenvalues found are then used by */ /* DSTEMR to compute the eigenvectors of T. */ /* The accuracy varies depending on whether bisection is used to */ /* find a few eigenvalues or the dqds algorithm (subroutine DLASQ2) to */ /* conpute all and then discard any unwanted one. */ /* As an added benefit, DLARRE also outputs the n */ /* Gerschgorin intervals for the matrices L_i D_i L_i^T. */ /* Arguments */ /* ========= */ /* RANGE (input) CHARACTER */ /* = 'A': ("All") all eigenvalues will be found. */ /* = 'V': ("Value") all eigenvalues in the half-open interval */ /* (VL, VU] will be found. */ /* = 'I': ("Index") the IL-th through IU-th eigenvalues (of the */ /* entire matrix) will be found. */ /* N (input) INTEGER */ /* The order of the matrix. N > 0. */ /* VL (input/output) DOUBLE PRECISION */ /* VU (input/output) DOUBLE PRECISION */ /* If RANGE='V', the lower and upper bounds for the eigenvalues. */ /* Eigenvalues less than or equal to VL, or greater than VU, */ /* will not be returned. VL < VU. */ /* If RANGE='I' or ='A', DLARRE computes bounds on the desired */ /* part of the spectrum. */ /* IL (input) INTEGER */ /* IU (input) INTEGER */ /* If RANGE='I', the indices (in ascending order) of the */ /* smallest and largest eigenvalues to be returned. */ /* 1 <= IL <= IU <= N. */ /* D (input/output) DOUBLE PRECISION array, dimension (N) */ /* On entry, the N diagonal elements of the tridiagonal */ /* matrix T. */ /* On exit, the N diagonal elements of the diagonal */ /* matrices D_i. */ /* E (input/output) DOUBLE PRECISION array, dimension (N) */ /* On entry, the first (N-1) entries contain the subdiagonal */ /* elements of the tridiagonal matrix T; E(N) need not be set. */ /* On exit, E contains the subdiagonal elements of the unit */ /* bidiagonal matrices L_i. The entries E( ISPLIT( I ) ), */ /* 1 <= I <= NSPLIT, contain the base points sigma_i on output. */ /* E2 (input/output) DOUBLE PRECISION array, dimension (N) */ /* On entry, the first (N-1) entries contain the SQUARES of the */ /* subdiagonal elements of the tridiagonal matrix T; */ /* E2(N) need not be set. */ /* On exit, the entries E2( ISPLIT( I ) ), */ /* 1 <= I <= NSPLIT, have been set to zero */ /* RTOL1 (input) DOUBLE PRECISION */ /* RTOL2 (input) DOUBLE PRECISION */ /* Parameters for bisection. */ /* An interval [LEFT,RIGHT] has converged if */ /* RIGHT-LEFT.LT.MAX( RTOL1*GAP, RTOL2*MAX(|LEFT|,|RIGHT|) ) */ /* SPLTOL (input) DOUBLE PRECISION */ /* The threshold for splitting. */ /* NSPLIT (output) INTEGER */ /* The number of blocks T splits into. 1 <= NSPLIT <= N. */ /* ISPLIT (output) INTEGER array, dimension (N) */ /* The splitting points, at which T breaks up into blocks. */ /* The first block consists of rows/columns 1 to ISPLIT(1), */ /* the second of rows/columns ISPLIT(1)+1 through ISPLIT(2), */ /* etc., and the NSPLIT-th consists of rows/columns */ /* ISPLIT(NSPLIT-1)+1 through ISPLIT(NSPLIT)=N. */ /* M (output) INTEGER */ /* The total number of eigenvalues (of all L_i D_i L_i^T) */ /* found. */ /* W (output) DOUBLE PRECISION array, dimension (N) */ /* The first M elements contain the eigenvalues. The */ /* eigenvalues of each of the blocks, L_i D_i L_i^T, are */ /* sorted in ascending order ( DLARRE may use the */ /* remaining N-M elements as workspace). */ /* WERR (output) DOUBLE PRECISION array, dimension (N) */ /* The error bound on the corresponding eigenvalue in W. */ /* WGAP (output) DOUBLE PRECISION array, dimension (N) */ /* The separation from the right neighbor eigenvalue in W. */ /* The gap is only with respect to the eigenvalues of the same block */ /* as each block has its own representation tree. */ /* Exception: at the right end of a block we store the left gap */ /* IBLOCK (output) INTEGER array, dimension (N) */ /* The indices of the blocks (submatrices) associated with the */ /* corresponding eigenvalues in W; IBLOCK(i)=1 if eigenvalue */ /* W(i) belongs to the first block from the top, =2 if W(i) */ /* belongs to the second block, etc. */ /* INDEXW (output) INTEGER array, dimension (N) */ /* The indices of the eigenvalues within each block (submatrix); */ /* for example, INDEXW(i)= 10 and IBLOCK(i)=2 imply that the */ /* i-th eigenvalue W(i) is the 10-th eigenvalue in block 2 */ /* GERS (output) DOUBLE PRECISION array, dimension (2*N) */ /* The N Gerschgorin intervals (the i-th Gerschgorin interval */ /* is (GERS(2*i-1), GERS(2*i)). */ /* PIVMIN (output) DOUBLE PRECISION */ /* The minimum pivot in the Sturm sequence for T. */ /* WORK (workspace) DOUBLE PRECISION array, dimension (6*N) */ /* Workspace. */ /* IWORK (workspace) INTEGER array, dimension (5*N) */ /* Workspace. */ /* INFO (output) INTEGER */ /* = 0: successful exit */ /* > 0: A problem occured in DLARRE. */ /* < 0: One of the called subroutines signaled an internal problem. */ /* Needs inspection of the corresponding parameter IINFO */ /* for further information. */ /* =-1: Problem in DLARRD. */ /* = 2: No base representation could be found in MAXTRY iterations. */ /* Increasing MAXTRY and recompilation might be a remedy. */ /* =-3: Problem in DLARRB when computing the refined root */ /* representation for DLASQ2. */ /* =-4: Problem in DLARRB when preforming bisection on the */ /* desired part of the spectrum. */ /* =-5: Problem in DLASQ2. */ /* =-6: Problem in DLASQ2. */ /* Further Details */ /* The base representations are required to suffer very little */ /* element growth and consequently define all their eigenvalues to */ /* high relative accuracy. */ /* =============== */ /* Based on contributions by */ /* Beresford Parlett, University of California, Berkeley, USA */ /* Jim Demmel, University of California, Berkeley, USA */ /* Inderjit Dhillon, University of Texas, Austin, USA */ /* Osni Marques, LBNL/NERSC, USA */ /* Christof Voemel, University of California, Berkeley, USA */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. Local Arrays .. */ /* .. */ /* .. External Functions .. */ /* .. */ /* .. External Subroutines .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c__2 = 2; --iwork; --work; --gers; --indexw; --iblock; --wgap; --werr; --w; --isplit; --e2; --e; --d__; /* Initialization added by Elias to get rid of compiler warnings. */ mm = 0; /* Function Body */ *info = 0; /* Decode RANGE */ if (template_blas_lsame(range, "A")) { irange = 1; } else if (template_blas_lsame(range, "V")) { irange = 3; } else if (template_blas_lsame(range, "I")) { irange = 2; } *m = 0; /* Get machine constants */ safmin = template_lapack_lamch("S",(Treal)0); eps = template_lapack_lamch("P",(Treal)0); /* Set parameters */ rtl = template_blas_sqrt(eps); bsrtol = template_blas_sqrt(eps); /* Treat case of 1x1 matrix for quick return */ if (*n == 1) { if (irange == 1 || ( irange == 3 && d__[1] > *vl && d__[1] <= *vu ) || ( irange == 2 && *il == 1 && *iu == 1 ) ) { *m = 1; w[1] = d__[1]; /* The computation error of the eigenvalue is zero */ werr[1] = 0.; wgap[1] = 0.; iblock[1] = 1; indexw[1] = 1; gers[1] = d__[1]; gers[2] = d__[1]; } /* store the shift for the initial RRR, which is zero in this case */ e[1] = 0.; return 0; } /* General case: tridiagonal matrix of order > 1 */ /* Init WERR, WGAP. Compute Gerschgorin intervals and spectral diameter. */ /* Compute maximum off-diagonal entry and pivmin. */ gl = d__[1]; gu = d__[1]; eold = 0.; emax = 0.; e[*n] = 0.; i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { werr[i__] = 0.; wgap[i__] = 0.; eabs = (d__1 = e[i__], absMACRO(d__1)); if (eabs >= emax) { emax = eabs; } tmp1 = eabs + eold; gers[(i__ << 1) - 1] = d__[i__] - tmp1; /* Computing MIN */ d__1 = gl, d__2 = gers[(i__ << 1) - 1]; gl = minMACRO(d__1,d__2); gers[i__ * 2] = d__[i__] + tmp1; /* Computing MAX */ d__1 = gu, d__2 = gers[i__ * 2]; gu = maxMACRO(d__1,d__2); eold = eabs; /* L5: */ } /* The minimum pivot allowed in the Sturm sequence for T */ /* Computing MAX */ /* Computing 2nd power */ d__3 = emax; d__1 = 1., d__2 = d__3 * d__3; *pivmin = safmin * maxMACRO(d__1,d__2); /* Compute spectral diameter. The Gerschgorin bounds give an */ /* estimate that is wrong by at most a factor of SQRT(2) */ spdiam = gu - gl; /* Compute splitting points */ template_lapack_larra(n, &d__[1], &e[1], &e2[1], spltol, &spdiam, nsplit, &isplit[1], & iinfo); /* Can force use of bisection instead of faster DQDS. */ /* Option left in the code for future multisection work. */ forceb = FALSE_; /* Initialize USEDQD, DQDS should be used for ALLRNG unless someone */ /* explicitly wants bisection. */ usedqd = irange == 1 && ! forceb; if (irange == 1 && ! forceb) { /* Set interval [VL,VU] that contains all eigenvalues */ *vl = gl; *vu = gu; } else { /* We call DLARRD to find crude approximations to the eigenvalues */ /* in the desired range. In case IRANGE = INDRNG, we also obtain the */ /* interval (VL,VU] that contains all the wanted eigenvalues. */ /* An interval [LEFT,RIGHT] has converged if */ /* RIGHT-LEFT.LT.RTOL*MAX(ABS(LEFT),ABS(RIGHT)) */ /* DLARRD needs a WORK of size 4*N, IWORK of size 3*N */ template_lapack_larrd(range, "B", n, vl, vu, il, iu, &gers[1], &bsrtol, &d__[1], &e[ 1], &e2[1], pivmin, nsplit, &isplit[1], &mm, &w[1], &werr[1], vl, vu, &iblock[1], &indexw[1], &work[1], &iwork[1], &iinfo); if (iinfo != 0) { *info = -1; return 0; } /* Make sure that the entries M+1 to N in W, WERR, IBLOCK, INDEXW are 0 */ i__1 = *n; for (i__ = mm + 1; i__ <= i__1; ++i__) { w[i__] = 0.; werr[i__] = 0.; iblock[i__] = 0; indexw[i__] = 0; /* L14: */ } } /* ** */ /* Loop over unreduced blocks */ ibegin = 1; wbegin = 1; i__1 = *nsplit; for (jblk = 1; jblk <= i__1; ++jblk) { iend = isplit[jblk]; in = iend - ibegin + 1; /* 1 X 1 block */ if (in == 1) { if (irange == 1 || ( irange == 3 && d__[ibegin] > *vl && d__[ibegin] <= *vu ) || ( irange == 2 && iblock[wbegin] == jblk ) ) { ++(*m); w[*m] = d__[ibegin]; werr[*m] = 0.; /* The gap for a single block doesn't matter for the later */ /* algorithm and is assigned an arbitrary large value */ wgap[*m] = 0.; iblock[*m] = jblk; indexw[*m] = 1; ++wbegin; } /* E( IEND ) holds the shift for the initial RRR */ e[iend] = 0.; ibegin = iend + 1; goto L170; } /* Blocks of size larger than 1x1 */ /* E( IEND ) will hold the shift for the initial RRR, for now set it =0 */ e[iend] = 0.; /* Find local outer bounds GL,GU for the block */ gl = d__[ibegin]; gu = d__[ibegin]; i__2 = iend; for (i__ = ibegin; i__ <= i__2; ++i__) { /* Computing MIN */ d__1 = gers[(i__ << 1) - 1]; gl = minMACRO(d__1,gl); /* Computing MAX */ d__1 = gers[i__ * 2]; gu = maxMACRO(d__1,gu); /* L15: */ } spdiam = gu - gl; if (! (irange == 1 && ! forceb)) { /* Count the number of eigenvalues in the current block. */ mb = 0; i__2 = mm; for (i__ = wbegin; i__ <= i__2; ++i__) { if (iblock[i__] == jblk) { ++mb; } else { goto L21; } /* L20: */ } L21: if (mb == 0) { /* No eigenvalue in the current block lies in the desired range */ /* E( IEND ) holds the shift for the initial RRR */ e[iend] = 0.; ibegin = iend + 1; goto L170; } else { /* Decide whether dqds or bisection is more efficient */ usedqd = (Treal) mb > in * .5 && ! forceb; wend = wbegin + mb - 1; /* Calculate gaps for the current block */ /* In later stages, when representations for individual */ /* eigenvalues are different, we use SIGMA = E( IEND ). */ sigma = 0.; i__2 = wend - 1; for (i__ = wbegin; i__ <= i__2; ++i__) { /* Computing MAX */ d__1 = 0., d__2 = w[i__ + 1] - werr[i__ + 1] - (w[i__] + werr[i__]); wgap[i__] = maxMACRO(d__1,d__2); /* L30: */ } /* Computing MAX */ d__1 = 0., d__2 = *vu - sigma - (w[wend] + werr[wend]); wgap[wend] = maxMACRO(d__1,d__2); /* Find local index of the first and last desired evalue. */ indl = indexw[wbegin]; indu = indexw[wend]; } } if ( ( irange == 1 && ! forceb ) || usedqd) { /* Case of DQDS */ /* Find approximations to the extremal eigenvalues of the block */ template_lapack_larrk(&in, &c__1, &gl, &gu, &d__[ibegin], &e2[ibegin], pivmin, & rtl, &tmp, &tmp1, &iinfo); if (iinfo != 0) { *info = -1; return 0; } /* Computing MAX */ d__2 = gl, d__3 = tmp - tmp1 - eps * 100. * (d__1 = tmp - tmp1, absMACRO(d__1)); isleft = maxMACRO(d__2,d__3); template_lapack_larrk(&in, &in, &gl, &gu, &d__[ibegin], &e2[ibegin], pivmin, & rtl, &tmp, &tmp1, &iinfo); if (iinfo != 0) { *info = -1; return 0; } /* Computing MIN */ d__2 = gu, d__3 = tmp + tmp1 + eps * 100. * (d__1 = tmp + tmp1, absMACRO(d__1)); isrght = minMACRO(d__2,d__3); /* Improve the estimate of the spectral diameter */ spdiam = isrght - isleft; } else { /* Case of bisection */ /* Find approximations to the wanted extremal eigenvalues */ /* Computing MAX */ d__2 = gl, d__3 = w[wbegin] - werr[wbegin] - eps * 100. * (d__1 = w[wbegin] - werr[wbegin], absMACRO(d__1)); isleft = maxMACRO(d__2,d__3); /* Computing MIN */ d__2 = gu, d__3 = w[wend] + werr[wend] + eps * 100. * (d__1 = w[ wend] + werr[wend], absMACRO(d__1)); isrght = minMACRO(d__2,d__3); } /* Decide whether the base representation for the current block */ /* L_JBLK D_JBLK L_JBLK^T = T_JBLK - sigma_JBLK I */ /* should be on the left or the right end of the current block. */ /* The strategy is to shift to the end which is "more populated" */ /* Furthermore, decide whether to use DQDS for the computation of */ /* the eigenvalue approximations at the end of DLARRE or bisection. */ /* dqds is chosen if all eigenvalues are desired or the number of */ /* eigenvalues to be computed is large compared to the blocksize. */ if (irange == 1 && ! forceb) { /* If all the eigenvalues have to be computed, we use dqd */ usedqd = TRUE_; /* INDL is the local index of the first eigenvalue to compute */ indl = 1; indu = in; /* MB = number of eigenvalues to compute */ mb = in; wend = wbegin + mb - 1; /* Define 1/4 and 3/4 points of the spectrum */ s1 = isleft + spdiam * .25; s2 = isrght - spdiam * .25; } else { /* DLARRD has computed IBLOCK and INDEXW for each eigenvalue */ /* approximation. */ /* choose sigma */ if (usedqd) { s1 = isleft + spdiam * .25; s2 = isrght - spdiam * .25; } else { tmp = minMACRO(isrght,*vu) - maxMACRO(isleft,*vl); s1 = maxMACRO(isleft,*vl) + tmp * .25; s2 = minMACRO(isrght,*vu) - tmp * .25; } } /* Compute the negcount at the 1/4 and 3/4 points */ if (mb > 1) { template_lapack_larrc("T", &in, &s1, &s2, &d__[ibegin], &e[ibegin], pivmin, & cnt, &cnt1, &cnt2, &iinfo); } if (mb == 1) { sigma = gl; sgndef = 1.; } else if (cnt1 - indl >= indu - cnt2) { if (irange == 1 && ! forceb) { sigma = maxMACRO(isleft,gl); } else if (usedqd) { /* use Gerschgorin bound as shift to get pos def matrix */ /* for dqds */ sigma = isleft; } else { /* use approximation of the first desired eigenvalue of the */ /* block as shift */ sigma = maxMACRO(isleft,*vl); } sgndef = 1.; } else { if (irange == 1 && ! forceb) { sigma = minMACRO(isrght,gu); } else if (usedqd) { /* use Gerschgorin bound as shift to get neg def matrix */ /* for dqds */ sigma = isrght; } else { /* use approximation of the first desired eigenvalue of the */ /* block as shift */ sigma = minMACRO(isrght,*vu); } sgndef = -1.; } /* An initial SIGMA has been chosen that will be used for computing */ /* T - SIGMA I = L D L^T */ /* Define the increment TAU of the shift in case the initial shift */ /* needs to be refined to obtain a factorization with not too much */ /* element growth. */ if (usedqd) { /* The initial SIGMA was to the outer end of the spectrum */ /* the matrix is definite and we need not retreat. */ tau = spdiam * eps * *n + *pivmin * 2.; } else { if (mb > 1) { clwdth = w[wend] + werr[wend] - w[wbegin] - werr[wbegin]; avgap = (d__1 = clwdth / (Treal) (wend - wbegin), absMACRO( d__1)); if (sgndef == 1.) { /* Computing MAX */ d__1 = wgap[wbegin]; tau = maxMACRO(d__1,avgap) * .5; /* Computing MAX */ d__1 = tau, d__2 = werr[wbegin]; tau = maxMACRO(d__1,d__2); } else { /* Computing MAX */ d__1 = wgap[wend - 1]; tau = maxMACRO(d__1,avgap) * .5; /* Computing MAX */ d__1 = tau, d__2 = werr[wend]; tau = maxMACRO(d__1,d__2); } } else { tau = werr[wbegin]; } } for (idum = 1; idum <= 6; ++idum) { /* Compute L D L^T factorization of tridiagonal matrix T - sigma I. */ /* Store D in WORK(1:IN), L in WORK(IN+1:2*IN), and reciprocals of */ /* pivots in WORK(2*IN+1:3*IN) */ dpivot = d__[ibegin] - sigma; work[1] = dpivot; dmax__ = absMACRO(work[1]); j = ibegin; i__2 = in - 1; for (i__ = 1; i__ <= i__2; ++i__) { work[(in << 1) + i__] = 1. / work[i__]; tmp = e[j] * work[(in << 1) + i__]; work[in + i__] = tmp; dpivot = d__[j + 1] - sigma - tmp * e[j]; work[i__ + 1] = dpivot; /* Computing MAX */ d__1 = dmax__, d__2 = absMACRO(dpivot); dmax__ = maxMACRO(d__1,d__2); ++j; /* L70: */ } /* check for element growth */ if (dmax__ > spdiam * 64.) { norep = TRUE_; } else { norep = FALSE_; } if (usedqd && ! norep) { /* Ensure the definiteness of the representation */ /* All entries of D (of L D L^T) must have the same sign */ i__2 = in; for (i__ = 1; i__ <= i__2; ++i__) { tmp = sgndef * work[i__]; if (tmp < 0.) { norep = TRUE_; } /* L71: */ } } if (norep) { /* Note that in the case of IRANGE=ALLRNG, we use the Gerschgorin */ /* shift which makes the matrix definite. So we should end up */ /* here really only in the case of IRANGE = VALRNG or INDRNG. */ if (idum == 5) { if (sgndef == 1.) { /* The fudged Gerschgorin shift should succeed */ sigma = gl - spdiam * 2. * eps * *n - *pivmin * 4.; } else { sigma = gu + spdiam * 2. * eps * *n + *pivmin * 4.; } } else { sigma -= sgndef * tau; tau *= 2.; } } else { /* an initial RRR is found */ goto L83; } /* L80: */ } /* if the program reaches this point, no base representation could be */ /* found in MAXTRY iterations. */ *info = 2; return 0; L83: /* At this point, we have found an initial base representation */ /* T - SIGMA I = L D L^T with not too much element growth. */ /* Store the shift. */ e[iend] = sigma; /* Store D and L. */ template_blas_copy(&in, &work[1], &c__1, &d__[ibegin], &c__1); i__2 = in - 1; template_blas_copy(&i__2, &work[in + 1], &c__1, &e[ibegin], &c__1); if (mb > 1) { /* Perturb each entry of the base representation by a small */ /* (but random) relative amount to overcome difficulties with */ /* glued matrices. */ for (i__ = 1; i__ <= 4; ++i__) { iseed[i__ - 1] = 1; /* L122: */ } i__2 = (in << 1) - 1; template_lapack_larnv(&c__2, iseed, &i__2, &work[1]); i__2 = in - 1; for (i__ = 1; i__ <= i__2; ++i__) { d__[ibegin + i__ - 1] *= eps * 8. * work[i__] + 1.; e[ibegin + i__ - 1] *= eps * 8. * work[in + i__] + 1.; /* L125: */ } d__[iend] *= eps * 4. * work[in] + 1.; } /* Don't update the Gerschgorin intervals because keeping track */ /* of the updates would be too much work in DLARRV. */ /* We update W instead and use it to locate the proper Gerschgorin */ /* intervals. */ /* Compute the required eigenvalues of L D L' by bisection or dqds */ if (! usedqd) { /* If DLARRD has been used, shift the eigenvalue approximations */ /* according to their representation. This is necessary for */ /* a uniform DLARRV since dqds computes eigenvalues of the */ /* shifted representation. In DLARRV, W will always hold the */ /* UNshifted eigenvalue approximation. */ i__2 = wend; for (j = wbegin; j <= i__2; ++j) { w[j] -= sigma; werr[j] += (d__1 = w[j], absMACRO(d__1)) * eps; /* L134: */ } /* call DLARRB to reduce eigenvalue error of the approximations */ /* from DLARRD */ i__2 = iend - 1; for (i__ = ibegin; i__ <= i__2; ++i__) { /* Computing 2nd power */ d__1 = e[i__]; work[i__] = d__[i__] * (d__1 * d__1); /* L135: */ } /* use bisection to find EV from INDL to INDU */ i__2 = indl - 1; template_lapack_larrb(&in, &d__[ibegin], &work[ibegin], &indl, &indu, rtol1, rtol2, &i__2, &w[wbegin], &wgap[wbegin], &werr[wbegin], & work[(*n << 1) + 1], &iwork[1], pivmin, &spdiam, &in, & iinfo); if (iinfo != 0) { *info = -4; return 0; } /* DLARRB computes all gaps correctly except for the last one */ /* Record distance to VU/GU */ /* Computing MAX */ d__1 = 0., d__2 = *vu - sigma - (w[wend] + werr[wend]); wgap[wend] = maxMACRO(d__1,d__2); i__2 = indu; for (i__ = indl; i__ <= i__2; ++i__) { ++(*m); iblock[*m] = jblk; indexw[*m] = i__; /* L138: */ } } else { /* Call dqds to get all eigs (and then possibly delete unwanted */ /* eigenvalues). */ /* Note that dqds finds the eigenvalues of the L D L^T representation */ /* of T to high relative accuracy. High relative accuracy */ /* might be lost when the shift of the RRR is subtracted to obtain */ /* the eigenvalues of T. However, T is not guaranteed to define its */ /* eigenvalues to high relative accuracy anyway. */ /* Set RTOL to the order of the tolerance used in DLASQ2 */ /* This is an ESTIMATED error, the worst case bound is 4*N*EPS */ /* which is usually too large and requires unnecessary work to be */ /* done by bisection when computing the eigenvectors */ rtol = template_blas_log((Treal) in) * 4. * eps; j = ibegin; i__2 = in - 1; for (i__ = 1; i__ <= i__2; ++i__) { work[(i__ << 1) - 1] = (d__1 = d__[j], absMACRO(d__1)); work[i__ * 2] = e[j] * e[j] * work[(i__ << 1) - 1]; ++j; /* L140: */ } work[(in << 1) - 1] = (d__1 = d__[iend], absMACRO(d__1)); work[in * 2] = 0.; template_lapack_lasq2(&in, &work[1], &iinfo); if (iinfo != 0) { /* If IINFO = -5 then an index is part of a tight cluster */ /* and should be changed. The index is in IWORK(1) and the */ /* gap is in WORK(N+1) */ *info = -5; return 0; } else { /* Test that all eigenvalues are positive as expected */ i__2 = in; for (i__ = 1; i__ <= i__2; ++i__) { if (work[i__] < 0.) { *info = -6; return 0; } /* L149: */ } } if (sgndef > 0.) { i__2 = indu; for (i__ = indl; i__ <= i__2; ++i__) { ++(*m); w[*m] = work[in - i__ + 1]; iblock[*m] = jblk; indexw[*m] = i__; /* L150: */ } } else { i__2 = indu; for (i__ = indl; i__ <= i__2; ++i__) { ++(*m); w[*m] = -work[i__]; iblock[*m] = jblk; indexw[*m] = i__; /* L160: */ } } i__2 = *m; for (i__ = *m - mb + 1; i__ <= i__2; ++i__) { /* the value of RTOL below should be the tolerance in DLASQ2 */ werr[i__] = rtol * (d__1 = w[i__], absMACRO(d__1)); /* L165: */ } i__2 = *m - 1; for (i__ = *m - mb + 1; i__ <= i__2; ++i__) { /* compute the right gap between the intervals */ /* Computing MAX */ d__1 = 0., d__2 = w[i__ + 1] - werr[i__ + 1] - (w[i__] + werr[ i__]); wgap[i__] = maxMACRO(d__1,d__2); /* L166: */ } /* Computing MAX */ d__1 = 0., d__2 = *vu - sigma - (w[*m] + werr[*m]); wgap[*m] = maxMACRO(d__1,d__2); } /* proceed with next block */ ibegin = iend + 1; wbegin = wend + 1; L170: ; } return 0; /* end of DLARRE */ } /* dlarre_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_orm2r.h0000664000175000017500000001547212743400307023056 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_ORM2R_HEADER #define TEMPLATE_LAPACK_ORM2R_HEADER template int template_lapack_orm2r(const char *side, const char *trans, const integer *m, const integer *n, const integer *k, Treal *a, const integer *lda, const Treal *tau, Treal * c__, const integer *ldc, Treal *work, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DORM2R overwrites the general real m by n matrix C with Q * C if SIDE = 'L' and TRANS = 'N', or Q'* C if SIDE = 'L' and TRANS = 'T', or C * Q if SIDE = 'R' and TRANS = 'N', or C * Q' if SIDE = 'R' and TRANS = 'T', where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(1) H(2) . . . H(k) as returned by DGEQRF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'. Arguments ========= SIDE (input) CHARACTER*1 = 'L': apply Q or Q' from the Left = 'R': apply Q or Q' from the Right TRANS (input) CHARACTER*1 = 'N': apply Q (No transpose) = 'T': apply Q' (Transpose) M (input) INTEGER The number of rows of the matrix C. M >= 0. N (input) INTEGER The number of columns of the matrix C. N >= 0. K (input) INTEGER The number of elementary reflectors whose product defines the matrix Q. If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >= 0. A (input) DOUBLE PRECISION array, dimension (LDA,K) The i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by DGEQRF in the first k columns of its array argument A. A is modified by the routine but restored on exit. LDA (input) INTEGER The leading dimension of the array A. If SIDE = 'L', LDA >= max(1,M); if SIDE = 'R', LDA >= max(1,N). TAU (input) DOUBLE PRECISION array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by DGEQRF. C (input/output) DOUBLE PRECISION array, dimension (LDC,N) On entry, the m by n matrix C. On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. LDC (input) INTEGER The leading dimension of the array C. LDC >= max(1,M). WORK (workspace) DOUBLE PRECISION array, dimension (N) if SIDE = 'L', (M) if SIDE = 'R' INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value ===================================================================== Test the input arguments Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; /* System generated locals */ integer a_dim1, a_offset, c_dim1, c_offset, i__1, i__2; /* Local variables */ logical left; integer i__; integer i1, i2, i3, ic, jc, mi, ni, nq; logical notran; Treal aii; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define c___ref(a_1,a_2) c__[(a_2)*c_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --tau; c_dim1 = *ldc; c_offset = 1 + c_dim1 * 1; c__ -= c_offset; --work; /* Function Body */ *info = 0; left = template_blas_lsame(side, "L"); notran = template_blas_lsame(trans, "N"); /* NQ is the order of Q */ if (left) { nq = *m; } else { nq = *n; } if (! left && ! template_blas_lsame(side, "R")) { *info = -1; } else if (! notran && ! template_blas_lsame(trans, "T")) { *info = -2; } else if (*m < 0) { *info = -3; } else if (*n < 0) { *info = -4; } else if (*k < 0 || *k > nq) { *info = -5; } else if (*lda < maxMACRO(1,nq)) { *info = -7; } else if (*ldc < maxMACRO(1,*m)) { *info = -10; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("ORM2R ", &i__1); return 0; } /* Quick return if possible */ if (*m == 0 || *n == 0 || *k == 0) { return 0; } if ( ( left && ! notran ) || ( ! left && notran ) ) { i1 = 1; i2 = *k; i3 = 1; } else { i1 = *k; i2 = 1; i3 = -1; } if (left) { ni = *n; jc = 1; } else { mi = *m; ic = 1; } i__1 = i2; i__2 = i3; for (i__ = i1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) { if (left) { /* H(i) is applied to C(i:m,1:n) */ mi = *m - i__ + 1; ic = i__; } else { /* H(i) is applied to C(1:m,i:n) */ ni = *n - i__ + 1; jc = i__; } /* Apply H(i) */ aii = a_ref(i__, i__); a_ref(i__, i__) = 1.; template_lapack_larf(side, &mi, &ni, &a_ref(i__, i__), &c__1, &tau[i__], &c___ref( ic, jc), ldc, &work[1]); a_ref(i__, i__) = aii; /* L10: */ } return 0; /* End of DORM2R */ } /* dorm2r_ */ #undef c___ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_getf2.h0000664000175000017500000001253412743400307023020 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_GETF2_HEADER #define TEMPLATE_LAPACK_GETF2_HEADER template int template_lapack_getf2(const integer *m, const integer *n, Treal *a, const integer * lda, integer *ipiv, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1992 Purpose ======= DGETF2 computes an LU factorization of a general m-by-n matrix A using partial pivoting with row interchanges. The factorization has the form A = P * L * U where P is a permutation matrix, L is lower triangular with unit diagonal elements (lower trapezoidal if m > n), and U is upper triangular (upper trapezoidal if m < n). This is the right-looking Level 2 BLAS version of the algorithm. Arguments ========= M (input) INTEGER The number of rows of the matrix A. M >= 0. N (input) INTEGER The number of columns of the matrix A. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the m by n matrix to be factored. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,M). IPIV (output) INTEGER array, dimension (min(M,N)) The pivot indices; for 1 <= i <= min(M,N), row i of the matrix was interchanged with row IPIV(i). INFO (output) INTEGER = 0: successful exit < 0: if INFO = -k, the k-th argument had an illegal value > 0: if INFO = k, U(k,k) is exactly zero. The factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations. ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; Treal c_b6 = -1.; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3; Treal d__1; /* Local variables */ integer j; integer jp; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --ipiv; /* Function Body */ *info = 0; if (*m < 0) { *info = -1; } else if (*n < 0) { *info = -2; } else if (*lda < maxMACRO(1,*m)) { *info = -4; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("GETF2 ", &i__1); return 0; } /* Quick return if possible */ if (*m == 0 || *n == 0) { return 0; } i__1 = minMACRO(*m,*n); for (j = 1; j <= i__1; ++j) { /* Find pivot and test for singularity. */ i__2 = *m - j + 1; jp = j - 1 + template_blas_idamax(&i__2, &a_ref(j, j), &c__1); ipiv[j] = jp; if (a_ref(jp, j) != 0.) { /* Apply the interchange to columns 1:N. */ if (jp != j) { template_blas_swap(n, &a_ref(j, 1), lda, &a_ref(jp, 1), lda); } /* Compute elements J+1:M of J-th column. */ if (j < *m) { i__2 = *m - j; d__1 = 1. / a_ref(j, j); template_blas_scal(&i__2, &d__1, &a_ref(j + 1, j), &c__1); } } else if (*info == 0) { *info = j; } if (j < minMACRO(*m,*n)) { /* Update trailing submatrix. */ i__2 = *m - j; i__3 = *n - j; template_blas_ger(&i__2, &i__3, &c_b6, &a_ref(j + 1, j), &c__1, &a_ref(j, j + 1), lda, &a_ref(j + 1, j + 1), lda); } /* L10: */ } return 0; /* End of DGETF2 */ } /* dgetf2_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_geqr2.h0000664000175000017500000001211512743400307023024 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_GEQR2_HEADER #define TEMPLATE_LAPACK_GEQR2_HEADER template int template_lapack_geqr2(const integer *m, const integer *n, Treal *a, const integer * lda, Treal *tau, Treal *work, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DGEQR2 computes a QR factorization of a real m by n matrix A: A = Q * R. Arguments ========= M (input) INTEGER The number of rows of the matrix A. M >= 0. N (input) INTEGER The number of columns of the matrix A. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the m by n matrix A. On exit, the elements on and above the diagonal of the array contain the min(m,n) by n upper trapezoidal matrix R (R is upper triangular if m >= n); the elements below the diagonal, with the array TAU, represent the orthogonal matrix Q as a product of elementary reflectors (see Further Details). LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,M). TAU (output) DOUBLE PRECISION array, dimension (min(M,N)) The scalar factors of the elementary reflectors (see Further Details). WORK (workspace) DOUBLE PRECISION array, dimension (N) INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value Further Details =============== The matrix Q is represented as a product of elementary reflectors Q = H(1) H(2) . . . H(k), where k = min(m,n). Each H(i) has the form H(i) = I - tau * v * v' where tau is a real scalar, and v is a real vector with v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), and tau in TAU(i). ===================================================================== Test the input arguments Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3; /* Local variables */ integer i__, k; Treal aii; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --tau; --work; /* Function Body */ *info = 0; if (*m < 0) { *info = -1; } else if (*n < 0) { *info = -2; } else if (*lda < maxMACRO(1,*m)) { *info = -4; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("GEQR2 ", &i__1); return 0; } k = minMACRO(*m,*n); i__1 = k; for (i__ = 1; i__ <= i__1; ++i__) { /* Generate elementary reflector H(i) to annihilate A(i+1:m,i) Computing MIN */ i__2 = i__ + 1; i__3 = *m - i__ + 1; template_lapack_larfg(&i__3, &a_ref(i__, i__), &a_ref(minMACRO(i__2,*m), i__), &c__1, & tau[i__]); if (i__ < *n) { /* Apply H(i) to A(i:m,i+1:n) from the left */ aii = a_ref(i__, i__); a_ref(i__, i__) = 1.; i__2 = *m - i__ + 1; i__3 = *n - i__; template_lapack_larf("Left", &i__2, &i__3, &a_ref(i__, i__), &c__1, &tau[i__], & a_ref(i__, i__ + 1), lda, &work[1]); a_ref(i__, i__) = aii; } /* L10: */ } return 0; /* End of DGEQR2 */ } /* dgeqr2_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_ggbak.h0000664000175000017500000001705712743400307023071 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_GGBAK_HEADER #define TEMPLATE_LAPACK_GGBAK_HEADER template int template_lapack_ggbak(const char *job, const char *side, const integer *n, const integer *ilo, const integer *ihi, const Treal *lscale, const Treal *rscale, const integer *m, Treal *v, const integer *ldv, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University September 30, 1994 Purpose ======= DGGBAK forms the right or left eigenvectors of a real generalized eigenvalue problem A*x = lambda*B*x, by backward transformation on the computed eigenvectors of the balanced pair of matrices output by DGGBAL. Arguments ========= JOB (input) CHARACTER*1 Specifies the type of backward transformation required: = 'N': do nothing, return immediately; = 'P': do backward transformation for permutation only; = 'S': do backward transformation for scaling only; = 'B': do backward transformations for both permutation and scaling. JOB must be the same as the argument JOB supplied to DGGBAL. SIDE (input) CHARACTER*1 = 'R': V contains right eigenvectors; = 'L': V contains left eigenvectors. N (input) INTEGER The number of rows of the matrix V. N >= 0. ILO (input) INTEGER IHI (input) INTEGER The integers ILO and IHI determined by DGGBAL. 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. LSCALE (input) DOUBLE PRECISION array, dimension (N) Details of the permutations and/or scaling factors applied to the left side of A and B, as returned by DGGBAL. RSCALE (input) DOUBLE PRECISION array, dimension (N) Details of the permutations and/or scaling factors applied to the right side of A and B, as returned by DGGBAL. M (input) INTEGER The number of columns of the matrix V. M >= 0. V (input/output) DOUBLE PRECISION array, dimension (LDV,M) On entry, the matrix of right or left eigenvectors to be transformed, as returned by DTGEVC. On exit, V is overwritten by the transformed eigenvectors. LDV (input) INTEGER The leading dimension of the matrix V. LDV >= max(1,N). INFO (output) INTEGER = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value. Further Details =============== See R.C. Ward, Balancing the generalized eigenvalue problem, SIAM J. Sci. Stat. Comp. 2 (1981), 141-152. ===================================================================== Test the input parameters Parameter adjustments */ /* System generated locals */ integer v_dim1, v_offset, i__1; /* Local variables */ integer i__, k; logical leftv; logical rightv; #define v_ref(a_1,a_2) v[(a_2)*v_dim1 + a_1] --lscale; --rscale; v_dim1 = *ldv; v_offset = 1 + v_dim1 * 1; v -= v_offset; /* Function Body */ rightv = template_blas_lsame(side, "R"); leftv = template_blas_lsame(side, "L"); *info = 0; if (! template_blas_lsame(job, "N") && ! template_blas_lsame(job, "P") && ! template_blas_lsame(job, "S") && ! template_blas_lsame(job, "B")) { *info = -1; } else if (! rightv && ! leftv) { *info = -2; } else if (*n < 0) { *info = -3; } else if (*ilo < 1) { *info = -4; } else if (*ihi < *ilo || *ihi > maxMACRO(1,*n)) { *info = -5; } else if (*m < 0) { *info = -6; } else if (*ldv < maxMACRO(1,*n)) { *info = -10; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("GGBAK ", &i__1); return 0; } /* Quick return if possible */ if (*n == 0) { return 0; } if (*m == 0) { return 0; } if (template_blas_lsame(job, "N")) { return 0; } if (*ilo == *ihi) { goto L30; } /* Backward balance */ if (template_blas_lsame(job, "S") || template_blas_lsame(job, "B")) { /* Backward transformation on right eigenvectors */ if (rightv) { i__1 = *ihi; for (i__ = *ilo; i__ <= i__1; ++i__) { template_blas_scal(m, &rscale[i__], &v_ref(i__, 1), ldv); /* L10: */ } } /* Backward transformation on left eigenvectors */ if (leftv) { i__1 = *ihi; for (i__ = *ilo; i__ <= i__1; ++i__) { template_blas_scal(m, &lscale[i__], &v_ref(i__, 1), ldv); /* L20: */ } } } /* Backward permutation */ L30: if (template_blas_lsame(job, "P") || template_blas_lsame(job, "B")) { /* Backward permutation on right eigenvectors */ if (rightv) { if (*ilo == 1) { goto L50; } for (i__ = *ilo - 1; i__ >= 1; --i__) { k = (integer) rscale[i__]; if (k == i__) { goto L40; } template_blas_swap(m, &v_ref(i__, 1), ldv, &v_ref(k, 1), ldv); L40: ; } L50: if (*ihi == *n) { goto L70; } i__1 = *n; for (i__ = *ihi + 1; i__ <= i__1; ++i__) { k = (integer) rscale[i__]; if (k == i__) { goto L60; } template_blas_swap(m, &v_ref(i__, 1), ldv, &v_ref(k, 1), ldv); L60: ; } } /* Backward permutation on left eigenvectors */ L70: if (leftv) { if (*ilo == 1) { goto L90; } for (i__ = *ilo - 1; i__ >= 1; --i__) { k = (integer) lscale[i__]; if (k == i__) { goto L80; } template_blas_swap(m, &v_ref(i__, 1), ldv, &v_ref(k, 1), ldv); L80: ; } L90: if (*ihi == *n) { goto L110; } i__1 = *n; for (i__ = *ihi + 1; i__ <= i__1; ++i__) { k = (integer) lscale[i__]; if (k == i__) { goto L100; } template_blas_swap(m, &v_ref(i__, 1), ldv, &v_ref(k, 1), ldv); L100: ; } } } L110: return 0; /* End of DGGBAK */ } /* dggbak_ */ #undef v_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_orgqr.h0000664000175000017500000002055112743400307023141 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_ORGQR_HEADER #define TEMPLATE_LAPACK_ORGQR_HEADER #include "template_lapack_common.h" template int template_lapack_orgqr( const integer *m, const integer *n, const integer *k, Treal * a, const integer *lda, const Treal *tau, Treal *work, const integer *lwork, integer *info ) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DORGQR generates an M-by-N real matrix Q with orthonormal columns, which is defined as the first N columns of a product of K elementary reflectors of order M Q = H(1) H(2) . . . H(k) as returned by DGEQRF. Arguments ========= M (input) INTEGER The number of rows of the matrix Q. M >= 0. N (input) INTEGER The number of columns of the matrix Q. M >= N >= 0. K (input) INTEGER The number of elementary reflectors whose product defines the matrix Q. N >= K >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by DGEQRF in the first k columns of its array argument A. On exit, the M-by-N matrix Q. LDA (input) INTEGER The first dimension of the array A. LDA >= max(1,M). TAU (input) DOUBLE PRECISION array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by DGEQRF. WORK (workspace/output) DOUBLE PRECISION array, dimension (LWORK) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The dimension of the array WORK. LWORK >= max(1,N). For optimum performance LWORK >= N*NB, where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument has an illegal value ===================================================================== Test the input arguments Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; integer c__3 = 3; integer c__2 = 2; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3; /* Local variables */ integer i__, j, l, nbmin, iinfo; integer ib, nb, ki, kk; integer nx; integer ldwork, lwkopt; logical lquery; integer iws; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --tau; --work; /* Initialization added by Elias to get rid of compiler warnings. */ ki = 0; /* Function Body */ *info = 0; nb = template_lapack_ilaenv(&c__1, "DORGQR", " ", m, n, k, &c_n1, (ftnlen)6, (ftnlen)1); lwkopt = maxMACRO(1,*n) * nb; work[1] = (Treal) lwkopt; lquery = *lwork == -1; if (*m < 0) { *info = -1; } else if (*n < 0 || *n > *m) { *info = -2; } else if (*k < 0 || *k > *n) { *info = -3; } else if (*lda < maxMACRO(1,*m)) { *info = -5; } else if (*lwork < maxMACRO(1,*n) && ! lquery) { *info = -8; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("ORGQR ", &i__1); return 0; } else if (lquery) { return 0; } /* Quick return if possible */ if (*n <= 0) { work[1] = 1.; return 0; } nbmin = 2; nx = 0; iws = *n; if (nb > 1 && nb < *k) { /* Determine when to cross over from blocked to unblocked code. Computing MAX */ i__1 = 0, i__2 = template_lapack_ilaenv(&c__3, "DORGQR", " ", m, n, k, &c_n1, ( ftnlen)6, (ftnlen)1); nx = maxMACRO(i__1,i__2); if (nx < *k) { /* Determine if workspace is large enough for blocked code. */ ldwork = *n; iws = ldwork * nb; if (*lwork < iws) { /* Not enough workspace to use optimal NB: reduce NB and determine the minimum value of NB. */ nb = *lwork / ldwork; /* Computing MAX */ i__1 = 2, i__2 = template_lapack_ilaenv(&c__2, "DORGQR", " ", m, n, k, &c_n1, (ftnlen)6, (ftnlen)1); nbmin = maxMACRO(i__1,i__2); } } } if (nb >= nbmin && nb < *k && nx < *k) { /* Use blocked code after the last block. The first kk columns are handled by the block method. */ ki = (*k - nx - 1) / nb * nb; /* Computing MIN */ i__1 = *k, i__2 = ki + nb; kk = minMACRO(i__1,i__2); /* Set A(1:kk,kk+1:n) to zero. */ i__1 = *n; for (j = kk + 1; j <= i__1; ++j) { i__2 = kk; for (i__ = 1; i__ <= i__2; ++i__) { a_ref(i__, j) = 0.; /* L10: */ } /* L20: */ } } else { kk = 0; } /* Use unblocked code for the last or only block. */ if (kk < *n) { i__1 = *m - kk; i__2 = *n - kk; i__3 = *k - kk; template_lapack_org2r(&i__1, &i__2, &i__3, &a_ref(kk + 1, kk + 1), lda, &tau[kk + 1] , &work[1], &iinfo); } if (kk > 0) { /* Use blocked code */ i__1 = -nb; for (i__ = ki + 1; i__1 < 0 ? i__ >= 1 : i__ <= 1; i__ += i__1) { /* Computing MIN */ i__2 = nb, i__3 = *k - i__ + 1; ib = minMACRO(i__2,i__3); if (i__ + ib <= *n) { /* Form the triangular factor of the block reflector H = H(i) H(i+1) . . . H(i+ib-1) */ i__2 = *m - i__ + 1; template_lapack_larft("Forward", "Columnwise", &i__2, &ib, &a_ref(i__, i__), lda, &tau[i__], &work[1], &ldwork); /* Apply H to A(i:m,i+ib:n) from the left */ i__2 = *m - i__ + 1; i__3 = *n - i__ - ib + 1; template_lapack_larfb("Left", "No transpose", "Forward", "Columnwise", & i__2, &i__3, &ib, &a_ref(i__, i__), lda, &work[1], & ldwork, &a_ref(i__, i__ + ib), lda, &work[ib + 1], & ldwork); } /* Apply H to rows i:m of current block */ i__2 = *m - i__ + 1; template_lapack_org2r(&i__2, &ib, &ib, &a_ref(i__, i__), lda, &tau[i__], &work[ 1], &iinfo); /* Set rows 1:i-1 of current block to zero */ i__2 = i__ + ib - 1; for (j = i__; j <= i__2; ++j) { i__3 = i__ - 1; for (l = 1; l <= i__3; ++l) { a_ref(l, j) = 0.; /* L30: */ } /* L40: */ } /* L50: */ } } work[1] = (Treal) iws; return 0; /* End of DORGQR */ } /* dorgqr_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_isnan.h0000664000175000017500000000470112743400307023116 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_ISNAN_HEADER #define TEMPLATE_LAPACK_ISNAN_HEADER #include "template_lapack_laisnan.h" template logical template_lapack_isnan(Treal *din) { /* System generated locals */ logical ret_val; /* -- LAPACK auxiliary routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* DISNAN returns .TRUE. if its argument is NaN, and .FALSE. */ /* otherwise. To be replaced by the Fortran 2003 intrinsic in the */ /* future. */ /* Arguments */ /* ========= */ /* DIN (input) DOUBLE PRECISION */ /* Input to test for NaN. */ /* ===================================================================== */ /* .. External Functions .. */ /* .. */ /* .. Executable Statements .. */ ret_val = template_lapack_laisnan(din, din); return ret_val; } /* disnan_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_gesv.h0000664000175000017500000001211312743400307022746 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_GESV_HEADER #define TEMPLATE_LAPACK_GESV_HEADER template int template_lapack_gesv(const integer *n, const integer *nrhs, Treal *a, const integer *lda, integer *ipiv, Treal *b, const integer *ldb, integer *info) { /* -- LAPACK driver routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University March 31, 1993 Purpose ======= DGESV computes the solution to a real system of linear equations A * X = B, where A is an N-by-N matrix and X and B are N-by-NRHS matrices. The LU decomposition with partial pivoting and row interchanges is used to factor A as A = P * L * U, where P is a permutation matrix, L is unit lower triangular, and U is upper triangular. The factored form of A is then used to solve the system of equations A * X = B. Arguments ========= N (input) INTEGER The number of linear equations, i.e., the order of the matrix A. N >= 0. NRHS (input) INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the N-by-N coefficient matrix A. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). IPIV (output) INTEGER array, dimension (N) The pivot indices that define the permutation matrix P; row i of the matrix was interchanged with row IPIV(i). B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) On entry, the N-by-NRHS matrix of right hand side matrix B. On exit, if INFO = 0, the N-by-NRHS solution matrix X. LDB (input) INTEGER The leading dimension of the array B. LDB >= max(1,N). INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, U(i,i) is exactly zero. The factorization has been completed, but the factor U is exactly singular, so the solution could not be computed. ===================================================================== Test the input parameters. Parameter adjustments */ /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, i__1; /* Local variables */ a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --ipiv; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; /* Function Body */ *info = 0; if (*n < 0) { *info = -1; } else if (*nrhs < 0) { *info = -2; } else if (*lda < maxMACRO(1,*n)) { *info = -4; } else if (*ldb < maxMACRO(1,*n)) { *info = -7; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("GESV ", &i__1); return 0; } /* Compute the LU factorization of A. */ template_lapack_getrf(n, n, &a[a_offset], lda, &ipiv[1], info); if (*info == 0) { /* Solve the system A*X = B, overwriting B with X. */ template_lapack_getrs("No transpose", n, nrhs, &a[a_offset], lda, &ipiv[1], &b[ b_offset], ldb, info); } return 0; /* End of DGESV */ } /* dgesv_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_sytrd.h0000664000175000017500000002716112743400307023160 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_SYTRD_HEADER #define TEMPLATE_LAPACK_SYTRD_HEADER #include "template_lapack_common.h" template int template_lapack_sytrd(const char *uplo, const integer *n, Treal *a, const integer * lda, Treal *d__, Treal *e, Treal *tau, Treal * work, const integer *lwork, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DSYTRD reduces a real symmetric matrix A to real symmetric tridiagonal form T by an orthogonal similarity transformation: Q**T * A * Q = T. Arguments ========= UPLO (input) CHARACTER*1 = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. N (input) INTEGER The order of the matrix A. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if UPLO = 'U', the diagonal and first superdiagonal of A are overwritten by the corresponding elements of the tridiagonal matrix T, and the elements above the first superdiagonal, with the array TAU, represent the orthogonal matrix Q as a product of elementary reflectors; if UPLO = 'L', the diagonal and first subdiagonal of A are over- written by the corresponding elements of the tridiagonal matrix T, and the elements below the first subdiagonal, with the array TAU, represent the orthogonal matrix Q as a product of elementary reflectors. See Further Details. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). D (output) DOUBLE PRECISION array, dimension (N) The diagonal elements of the tridiagonal matrix T: D(i) = A(i,i). E (output) DOUBLE PRECISION array, dimension (N-1) The off-diagonal elements of the tridiagonal matrix T: E(i) = A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'. TAU (output) DOUBLE PRECISION array, dimension (N-1) The scalar factors of the elementary reflectors (see Further Details). WORK (workspace/output) DOUBLE PRECISION array, dimension (LWORK) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The dimension of the array WORK. LWORK >= 1. For optimum performance LWORK >= N*NB, where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value Further Details =============== If UPLO = 'U', the matrix Q is represented as a product of elementary reflectors Q = H(n-1) . . . H(2) H(1). Each H(i) has the form H(i) = I - tau * v * v' where tau is a real scalar, and v is a real vector with v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in A(1:i-1,i+1), and tau in TAU(i). If UPLO = 'L', the matrix Q is represented as a product of elementary reflectors Q = H(1) H(2) . . . H(n-1). Each H(i) has the form H(i) = I - tau * v * v' where tau is a real scalar, and v is a real vector with v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), and tau in TAU(i). The contents of A on exit are illustrated by the following examples with n = 5: if UPLO = 'U': if UPLO = 'L': ( d e v2 v3 v4 ) ( d ) ( d e v3 v4 ) ( e d ) ( d e v4 ) ( v1 e d ) ( d e ) ( v1 v2 e d ) ( d ) ( v1 v2 v3 e d ) where d and e denote diagonal and off-diagonal elements of T, and vi denotes an element of the vector defining H(i). ===================================================================== Test the input parameters Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; integer c__3 = 3; integer c__2 = 2; Treal c_b22 = -1.; Treal c_b23 = 1.; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3; /* Local variables */ integer i__, j; integer nbmin, iinfo; logical upper; integer nb, kk, nx; integer ldwork, lwkopt; logical lquery; integer iws; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --d__; --e; --tau; --work; /* Initialization added by Elias to get rid of compiler warnings. */ lwkopt = 0; /* Function Body */ *info = 0; upper = template_blas_lsame(uplo, "U"); lquery = *lwork == -1; if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -1; } else if (*n < 0) { *info = -2; } else if (*lda < maxMACRO(1,*n)) { *info = -4; } else if (*lwork < 1 && ! lquery) { *info = -9; } if (*info == 0) { /* Determine the block size. */ nb = template_lapack_ilaenv(&c__1, "DSYTRD", uplo, n, &c_n1, &c_n1, &c_n1, (ftnlen)6, (ftnlen)1); lwkopt = *n * nb; work[1] = (Treal) lwkopt; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("SYTRD ", &i__1); return 0; } else if (lquery) { return 0; } /* Quick return if possible */ if (*n == 0) { work[1] = 1.; return 0; } nx = *n; iws = 1; if (nb > 1 && nb < *n) { /* Determine when to cross over from blocked to unblocked code (last block is always handled by unblocked code). Computing MAX */ i__1 = nb, i__2 = template_lapack_ilaenv(&c__3, "DSYTRD", uplo, n, &c_n1, &c_n1, & c_n1, (ftnlen)6, (ftnlen)1); nx = maxMACRO(i__1,i__2); if (nx < *n) { /* Determine if workspace is large enough for blocked code. */ ldwork = *n; iws = ldwork * nb; if (*lwork < iws) { /* Not enough workspace to use optimal NB: determine the minimum value of NB, and reduce NB or force use of unblocked code by setting NX = N. Computing MAX */ i__1 = *lwork / ldwork; nb = maxMACRO(i__1,1); nbmin = template_lapack_ilaenv(&c__2, "DSYTRD", uplo, n, &c_n1, &c_n1, &c_n1, (ftnlen)6, (ftnlen)1); if (nb < nbmin) { nx = *n; } } } else { nx = *n; } } else { nb = 1; } if (upper) { /* Reduce the upper triangle of A. Columns 1:kk are handled by the unblocked method. */ kk = *n - (*n - nx + nb - 1) / nb * nb; i__1 = kk + 1; i__2 = -nb; for (i__ = *n - nb + 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) { /* Reduce columns i:i+nb-1 to tridiagonal form and form the matrix W which is needed to update the unreduced part of the matrix */ i__3 = i__ + nb - 1; template_lapack_latrd(uplo, &i__3, &nb, &a[a_offset], lda, &e[1], &tau[1], & work[1], &ldwork); /* Update the unreduced submatrix A(1:i-1,1:i-1), using an update of the form: A := A - V*W' - W*V' */ i__3 = i__ - 1; template_blas_syr2k(uplo, "No transpose", &i__3, &nb, &c_b22, &a_ref(1, i__), lda, &work[1], &ldwork, &c_b23, &a[a_offset], lda); /* Copy superdiagonal elements back into A, and diagonal elements into D */ i__3 = i__ + nb - 1; for (j = i__; j <= i__3; ++j) { a_ref(j - 1, j) = e[j - 1]; d__[j] = a_ref(j, j); /* L10: */ } /* L20: */ } /* Use unblocked code to reduce the last or only block */ template_lapack_sytd2(uplo, &kk, &a[a_offset], lda, &d__[1], &e[1], &tau[1], &iinfo); } else { /* Reduce the lower triangle of A */ i__2 = *n - nx; i__1 = nb; for (i__ = 1; i__1 < 0 ? i__ >= i__2 : i__ <= i__2; i__ += i__1) { /* Reduce columns i:i+nb-1 to tridiagonal form and form the matrix W which is needed to update the unreduced part of the matrix */ i__3 = *n - i__ + 1; template_lapack_latrd(uplo, &i__3, &nb, &a_ref(i__, i__), lda, &e[i__], &tau[ i__], &work[1], &ldwork); /* Update the unreduced submatrix A(i+ib:n,i+ib:n), using an update of the form: A := A - V*W' - W*V' */ i__3 = *n - i__ - nb + 1; template_blas_syr2k(uplo, "No transpose", &i__3, &nb, &c_b22, &a_ref(i__ + nb, i__), lda, &work[nb + 1], &ldwork, &c_b23, &a_ref(i__ + nb, i__ + nb), lda); /* Copy subdiagonal elements back into A, and diagonal elements into D */ i__3 = i__ + nb - 1; for (j = i__; j <= i__3; ++j) { a_ref(j + 1, j) = e[j]; d__[j] = a_ref(j, j); /* L30: */ } /* L40: */ } /* Use unblocked code to reduce the last or only block */ i__1 = *n - i__ + 1; template_lapack_sytd2(uplo, &i__1, &a_ref(i__, i__), lda, &d__[i__], &e[i__], &tau[ i__], &iinfo); } work[1] = (Treal) lwkopt; return 0; /* End of DSYTRD */ } /* dsytrd_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_common.h0000664000175000017500000001203312743400307023273 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_COMMON_HEADER #define TEMPLATE_LAPACK_COMMON_HEADER #include "template_blas_common.h" #define TRUE_ 1 #define FALSE_ 0 integer template_lapack_ilaenv(const integer *ispec, const char *name__, const char *opts, const integer *n1, const integer *n2, const integer *n3, const integer *n4, ftnlen name_len, ftnlen opts_len); #include "template_lapack_lamch.h" #include "template_lapack_lae2.h" #include "template_lapack_lascl.h" #include "template_lapack_lansy.h" #include "template_lapack_pptrf.h" #include "template_lapack_spgst.h" #include "template_lapack_tptri.h" #include "template_lapack_potrf.h" #include "template_lapack_potf2.h" #include "template_lapack_sygst.h" #include "template_lapack_sygs2.h" #include "template_lapack_larfg.h" #include "template_lapack_latrd.h" #include "template_lapack_sytd2.h" #include "template_lapack_sytrd.h" #include "template_lapack_lanst.h" #include "template_lapack_lapy2.h" #include "template_lapack_lasrt.h" #include "template_lapack_laset.h" #include "template_lapack_sterf.h" #include "template_lapack_larft.h" #include "template_lapack_larfb.h" #include "template_lapack_larf.h" #include "template_lapack_org2r.h" #include "template_lapack_orgqr.h" #include "template_lapack_org2l.h" #include "template_lapack_orgql.h" #include "template_lapack_orgtr.h" #include "template_lapack_laev2.h" #include "template_lapack_lasr.h" #include "template_lapack_lartg.h" #include "template_lapack_steqr.h" #include "template_lapack_syev.h" #include "template_lapack_sygv.h" #include "template_lapack_trti2.h" #include "template_lapack_trtri.h" #include "template_lapack_ladiv.h" #include "template_lapack_laln2.h" #include "template_lapack_lapy3.h" #include "template_lapack_lasv2.h" #include "template_lapack_lag2.h" #include "template_lapack_lanhs.h" #include "template_lapack_geqr2.h" #include "template_lapack_ggbak.h" #include "template_lapack_tgevc.h" #include "template_lapack_hgeqz.h" #include "template_lapack_gghrd.h" #include "template_lapack_lacpy.h" #include "template_lapack_orm2r.h" #include "template_lapack_ormqr.h" #include "template_lapack_geqrf.h" #include "template_lapack_ggbal.h" #include "template_lapack_labad.h" #include "template_lapack_lange.h" #include "template_lapack_ggev.h" #include "template_lapack_rscl.h" #include "template_lapack_latrs.h" #include "template_lapack_lacon.h" #include "template_lapack_pocon.h" #include "template_lapack_laruv.h" #include "template_lapack_laebz.h" #include "template_lapack_lagts.h" #include "template_lapack_lagtf.h" #include "template_lapack_larnv.h" #include "template_lapack_stein.h" #include "template_lapack_stebz.h" #include "template_lapack_stevx.h" #include "template_lapack_larra.h" #include "template_lapack_larrb.h" #include "template_lapack_larrc.h" #include "template_lapack_larrd.h" #include "template_lapack_larre.h" #include "template_lapack_larrf.h" #include "template_lapack_larrj.h" #include "template_lapack_larrk.h" #include "template_lapack_larrr.h" #include "template_lapack_larrv.h" #include "template_lapack_lar1v.h" #include "template_lapack_laneg.h" #include "template_lapack_isnan.h" #include "template_lapack_laisnan.h" #include "template_lapack_lasq2.h" #include "template_lapack_lasq3.h" #include "template_lapack_lasq4.h" #include "template_lapack_lasq5.h" #include "template_lapack_lasq6.h" #include "template_lapack_stemr.h" #include "template_lapack_stevr.h" #include "template_lapack_laswp.h" #include "template_lapack_getf2.h" #include "template_lapack_getrf.h" #include "template_lapack_getrs.h" #include "template_lapack_gesv.h" #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_spgst.h0000664000175000017500000002010412743400307023141 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_SPGST_HEADER #define TEMPLATE_LAPACK_SPGST_HEADER #include "template_lapack_common.h" template int template_lapack_spgst(const integer *itype, const char *uplo, const integer *n, Treal *ap, const Treal *bp, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University March 31, 1993 Purpose ======= DSPGST reduces a real symmetric-definite generalized eigenproblem to standard form, using packed storage. If ITYPE = 1, the problem is A*x = lambda*B*x, and A is overwritten by inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T) If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or B*A*x = lambda*x, and A is overwritten by U*A*U**T or L**T*A*L. B must have been previously factorized as U**T*U or L*L**T by DPPTRF. Arguments ========= ITYPE (input) INTEGER = 1: compute inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T); = 2 or 3: compute U*A*U**T or L**T*A*L. UPLO (input) CHARACTER = 'U': Upper triangle of A is stored and B is factored as U**T*U; = 'L': Lower triangle of A is stored and B is factored as L*L**T. N (input) INTEGER The order of the matrices A and B. N >= 0. AP (input/output) DOUBLE PRECISION array, dimension (N*(N+1)/2) On entry, the upper or lower triangle of the symmetric matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows: if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n. On exit, if INFO = 0, the transformed matrix, stored in the same format as A. BP (input) DOUBLE PRECISION array, dimension (N*(N+1)/2) The triangular factor from the Cholesky factorization of B, stored in the same format as A, as returned by DPPTRF. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; Treal c_b9 = -1.; Treal c_b11 = 1.; /* System generated locals */ integer i__1, i__2; Treal d__1; /* Local variables */ integer j, k; logical upper; integer j1, k1; integer jj, kk; Treal ct; Treal ajj; integer j1j1; Treal akk; integer k1k1; Treal bjj, bkk; --bp; --ap; /* Function Body */ *info = 0; upper = template_blas_lsame(uplo, "U"); if (*itype < 1 || *itype > 3) { *info = -1; } else if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -2; } else if (*n < 0) { *info = -3; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("SPGST ", &i__1); return 0; } if (*itype == 1) { if (upper) { /* Compute inv(U')*A*inv(U) J1 and JJ are the indices of A(1,j) and A(j,j) */ jj = 0; i__1 = *n; for (j = 1; j <= i__1; ++j) { j1 = jj + 1; jj += j; /* Compute the j-th column of the upper triangle of A */ bjj = bp[jj]; template_blas_tpsv(uplo, "Transpose", "Nonunit", &j, &bp[1], &ap[j1], & c__1); i__2 = j - 1; template_blas_spmv(uplo, &i__2, &c_b9, &ap[1], &bp[j1], &c__1, &c_b11, & ap[j1], &c__1); i__2 = j - 1; d__1 = 1. / bjj; template_blas_scal(&i__2, &d__1, &ap[j1], &c__1); i__2 = j - 1; ap[jj] = (ap[jj] - template_blas_dot(&i__2, &ap[j1], &c__1, &bp[j1], & c__1)) / bjj; /* L10: */ } } else { /* Compute inv(L)*A*inv(L') KK and K1K1 are the indices of A(k,k) and A(k+1,k+1) */ kk = 1; i__1 = *n; for (k = 1; k <= i__1; ++k) { k1k1 = kk + *n - k + 1; /* Update the lower triangle of A(k:n,k:n) */ akk = ap[kk]; bkk = bp[kk]; /* Computing 2nd power */ d__1 = bkk; akk /= d__1 * d__1; ap[kk] = akk; if (k < *n) { i__2 = *n - k; d__1 = 1. / bkk; template_blas_scal(&i__2, &d__1, &ap[kk + 1], &c__1); ct = akk * -.5; i__2 = *n - k; template_blas_axpy(&i__2, &ct, &bp[kk + 1], &c__1, &ap[kk + 1], &c__1) ; i__2 = *n - k; template_blas_spr2(uplo, &i__2, &c_b9, &ap[kk + 1], &c__1, &bp[kk + 1] , &c__1, &ap[k1k1]); i__2 = *n - k; template_blas_axpy(&i__2, &ct, &bp[kk + 1], &c__1, &ap[kk + 1], &c__1) ; i__2 = *n - k; template_blas_tpsv(uplo, "No transpose", "Non-unit", &i__2, &bp[k1k1], &ap[kk + 1], &c__1); } kk = k1k1; /* L20: */ } } } else { if (upper) { /* Compute U*A*U' K1 and KK are the indices of A(1,k) and A(k,k) */ kk = 0; i__1 = *n; for (k = 1; k <= i__1; ++k) { k1 = kk + 1; kk += k; /* Update the upper triangle of A(1:k,1:k) */ akk = ap[kk]; bkk = bp[kk]; i__2 = k - 1; template_blas_tpmv(uplo, "No transpose", "Non-unit", &i__2, &bp[1], &ap[ k1], &c__1); ct = akk * .5; i__2 = k - 1; template_blas_axpy(&i__2, &ct, &bp[k1], &c__1, &ap[k1], &c__1); i__2 = k - 1; template_blas_spr2(uplo, &i__2, &c_b11, &ap[k1], &c__1, &bp[k1], &c__1, & ap[1]); i__2 = k - 1; template_blas_axpy(&i__2, &ct, &bp[k1], &c__1, &ap[k1], &c__1); i__2 = k - 1; template_blas_scal(&i__2, &bkk, &ap[k1], &c__1); /* Computing 2nd power */ d__1 = bkk; ap[kk] = akk * (d__1 * d__1); /* L30: */ } } else { /* Compute L'*A*L JJ and J1J1 are the indices of A(j,j) and A(j+1,j+1) */ jj = 1; i__1 = *n; for (j = 1; j <= i__1; ++j) { j1j1 = jj + *n - j + 1; /* Compute the j-th column of the lower triangle of A */ ajj = ap[jj]; bjj = bp[jj]; i__2 = *n - j; ap[jj] = ajj * bjj + template_blas_dot(&i__2, &ap[jj + 1], &c__1, &bp[jj + 1], &c__1); i__2 = *n - j; template_blas_scal(&i__2, &bjj, &ap[jj + 1], &c__1); i__2 = *n - j; template_blas_spmv(uplo, &i__2, &c_b11, &ap[j1j1], &bp[jj + 1], &c__1, & c_b11, &ap[jj + 1], &c__1); i__2 = *n - j + 1; template_blas_tpmv(uplo, "Transpose", "Non-unit", &i__2, &bp[jj], &ap[jj], &c__1); jj = j1j1; /* L40: */ } } } return 0; /* End of DSPGST */ } /* dspgst_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larra.h0000664000175000017500000001330712743400307023111 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARRA_HEADER #define TEMPLATE_LAPACK_LARRA_HEADER template int template_lapack_larra(const integer *n, Treal *d__, Treal *e, Treal *e2, Treal *spltol, Treal *tnrm, integer *nsplit, integer *isplit, integer *info) { /* System generated locals */ integer i__1; Treal d__1, d__2; /* Local variables */ integer i__; Treal tmp1, eabs; /* -- LAPACK auxiliary routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* Compute the splitting points with threshold SPLTOL. */ /* DLARRA sets any "small" off-diagonal elements to zero. */ /* Arguments */ /* ========= */ /* N (input) INTEGER */ /* The order of the matrix. N > 0. */ /* D (input) DOUBLE PRECISION array, dimension (N) */ /* On entry, the N diagonal elements of the tridiagonal */ /* matrix T. */ /* E (input/output) DOUBLE PRECISION array, dimension (N) */ /* On entry, the first (N-1) entries contain the subdiagonal */ /* elements of the tridiagonal matrix T; E(N) need not be set. */ /* On exit, the entries E( ISPLIT( I ) ), 1 <= I <= NSPLIT, */ /* are set to zero, the other entries of E are untouched. */ /* E2 (input/output) DOUBLE PRECISION array, dimension (N) */ /* On entry, the first (N-1) entries contain the SQUARES of the */ /* subdiagonal elements of the tridiagonal matrix T; */ /* E2(N) need not be set. */ /* On exit, the entries E2( ISPLIT( I ) ), */ /* 1 <= I <= NSPLIT, have been set to zero */ /* SPLTOL (input) DOUBLE PRECISION */ /* The threshold for splitting. Two criteria can be used: */ /* SPLTOL<0 : criterion based on absolute off-diagonal value */ /* SPLTOL>0 : criterion that preserves relative accuracy */ /* TNRM (input) DOUBLE PRECISION */ /* The norm of the matrix. */ /* NSPLIT (output) INTEGER */ /* The number of blocks T splits into. 1 <= NSPLIT <= N. */ /* ISPLIT (output) INTEGER array, dimension (N) */ /* The splitting points, at which T breaks up into blocks. */ /* The first block consists of rows/columns 1 to ISPLIT(1), */ /* the second of rows/columns ISPLIT(1)+1 through ISPLIT(2), */ /* etc., and the NSPLIT-th consists of rows/columns */ /* ISPLIT(NSPLIT-1)+1 through ISPLIT(NSPLIT)=N. */ /* INFO (output) INTEGER */ /* = 0: successful exit */ /* Further Details */ /* =============== */ /* Based on contributions by */ /* Beresford Parlett, University of California, Berkeley, USA */ /* Jim Demmel, University of California, Berkeley, USA */ /* Inderjit Dhillon, University of Texas, Austin, USA */ /* Osni Marques, LBNL/NERSC, USA */ /* Christof Voemel, University of California, Berkeley, USA */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Parameter adjustments */ --isplit; --e2; --e; --d__; /* Function Body */ *info = 0; /* Compute splitting points */ *nsplit = 1; if (*spltol < 0.) { /* Criterion based on absolute off-diagonal value */ tmp1 = absMACRO(*spltol) * *tnrm; i__1 = *n - 1; for (i__ = 1; i__ <= i__1; ++i__) { eabs = (d__1 = e[i__], absMACRO(d__1)); if (eabs <= tmp1) { e[i__] = 0.; e2[i__] = 0.; isplit[*nsplit] = i__; ++(*nsplit); } /* L9: */ } } else { /* Criterion that guarantees relative accuracy */ i__1 = *n - 1; for (i__ = 1; i__ <= i__1; ++i__) { eabs = (d__1 = e[i__], absMACRO(d__1)); if (eabs <= *spltol * template_blas_sqrt((d__1 = d__[i__], absMACRO(d__1))) * template_blas_sqrt(( d__2 = d__[i__ + 1], absMACRO(d__2)))) { e[i__] = 0.; e2[i__] = 0.; isplit[*nsplit] = i__; ++(*nsplit); } /* L10: */ } } isplit[*nsplit] = *n; return 0; /* End of DLARRA */ } /* dlarra_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lapy3.h0000664000175000017500000000557312743400307023046 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LAPY3_HEADER #define TEMPLATE_LAPACK_LAPY3_HEADER template Treal template_lapack_lapy3(Treal *x, Treal *y, Treal *z__) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLAPY3 returns sqrt(x**2+y**2+z**2), taking care not to cause unnecessary overflow. Arguments ========= X (input) DOUBLE PRECISION Y (input) DOUBLE PRECISION Z (input) DOUBLE PRECISION X, Y and Z specify the values x, y and z. ===================================================================== */ /* System generated locals */ Treal ret_val, d__1, d__2, d__3; /* Local variables */ Treal xabs, yabs, zabs, w; xabs = absMACRO(*x); yabs = absMACRO(*y); zabs = absMACRO(*z__); /* Computing MAX */ d__1 = maxMACRO(xabs,yabs); w = maxMACRO(d__1,zabs); if (w == 0.) { ret_val = 0.; } else { /* Computing 2nd power */ d__1 = xabs / w; /* Computing 2nd power */ d__2 = yabs / w; /* Computing 2nd power */ d__3 = zabs / w; ret_val = w * template_blas_sqrt(d__1 * d__1 + d__2 * d__2 + d__3 * d__3); } return ret_val; /* End of DLAPY3 */ } /* dlapy3_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_hgeqz.h0000664000175000017500000012426212743400307023131 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_HGEQZ_HEADER #define TEMPLATE_LAPACK_HGEQZ_HEADER template int template_lapack_hgeqz(const char *job, const char *compq, const char *compz, const integer *n, const integer *ilo, const integer *ihi, Treal *a, const integer *lda, Treal * b, const integer *ldb, Treal *alphar, Treal *alphai, Treal * beta, Treal *q, const integer *ldq, Treal *z__, const integer *ldz, Treal *work, const integer *lwork, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DHGEQZ implements a single-/double-shift version of the QZ method for finding the generalized eigenvalues w(j)=(ALPHAR(j) + i*ALPHAI(j))/BETAR(j) of the equation det( A - w(i) B ) = 0 In addition, the pair A,B may be reduced to generalized Schur form: B is upper triangular, and A is block upper triangular, where the diagonal blocks are either 1-by-1 or 2-by-2, the 2-by-2 blocks having complex generalized eigenvalues (see the description of the argument JOB.) If JOB='S', then the pair (A,B) is simultaneously reduced to Schur form by applying one orthogonal tranformation (usually called Q) on the left and another (usually called Z) on the right. The 2-by-2 upper-triangular diagonal blocks of B corresponding to 2-by-2 blocks of A will be reduced to positive diagonal matrices. (I.e., if A(j+1,j) is non-zero, then B(j+1,j)=B(j,j+1)=0 and B(j,j) and B(j+1,j+1) will be positive.) If JOB='E', then at each iteration, the same transformations are computed, but they are only applied to those parts of A and B which are needed to compute ALPHAR, ALPHAI, and BETAR. If JOB='S' and COMPQ and COMPZ are 'V' or 'I', then the orthogonal transformations used to reduce (A,B) are accumulated into the arrays Q and Z s.t.: Q(in) A(in) Z(in)* = Q(out) A(out) Z(out)* Q(in) B(in) Z(in)* = Q(out) B(out) Z(out)* Ref: C.B. Moler & G.W. Stewart, "An Algorithm for Generalized Matrix Eigenvalue Problems", SIAM J. Numer. Anal., 10(1973), pp. 241--256. Arguments ========= JOB (input) CHARACTER*1 = 'E': compute only ALPHAR, ALPHAI, and BETA. A and B will not necessarily be put into generalized Schur form. = 'S': put A and B into generalized Schur form, as well as computing ALPHAR, ALPHAI, and BETA. COMPQ (input) CHARACTER*1 = 'N': do not modify Q. = 'V': multiply the array Q on the right by the transpose of the orthogonal tranformation that is applied to the left side of A and B to reduce them to Schur form. = 'I': like COMPQ='V', except that Q will be initialized to the identity first. COMPZ (input) CHARACTER*1 = 'N': do not modify Z. = 'V': multiply the array Z on the right by the orthogonal tranformation that is applied to the right side of A and B to reduce them to Schur form. = 'I': like COMPZ='V', except that Z will be initialized to the identity first. N (input) INTEGER The order of the matrices A, B, Q, and Z. N >= 0. ILO (input) INTEGER IHI (input) INTEGER It is assumed that A is already upper triangular in rows and columns 1:ILO-1 and IHI+1:N. 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. A (input/output) DOUBLE PRECISION array, dimension (LDA, N) On entry, the N-by-N upper Hessenberg matrix A. Elements below the subdiagonal must be zero. If JOB='S', then on exit A and B will have been simultaneously reduced to generalized Schur form. If JOB='E', then on exit A will have been destroyed. The diagonal blocks will be correct, but the off-diagonal portion will be meaningless. LDA (input) INTEGER The leading dimension of the array A. LDA >= max( 1, N ). B (input/output) DOUBLE PRECISION array, dimension (LDB, N) On entry, the N-by-N upper triangular matrix B. Elements below the diagonal must be zero. 2-by-2 blocks in B corresponding to 2-by-2 blocks in A will be reduced to positive diagonal form. (I.e., if A(j+1,j) is non-zero, then B(j+1,j)=B(j,j+1)=0 and B(j,j) and B(j+1,j+1) will be positive.) If JOB='S', then on exit A and B will have been simultaneously reduced to Schur form. If JOB='E', then on exit B will have been destroyed. Elements corresponding to diagonal blocks of A will be correct, but the off-diagonal portion will be meaningless. LDB (input) INTEGER The leading dimension of the array B. LDB >= max( 1, N ). ALPHAR (output) DOUBLE PRECISION array, dimension (N) ALPHAR(1:N) will be set to real parts of the diagonal elements of A that would result from reducing A and B to Schur form and then further reducing them both to triangular form using unitary transformations s.t. the diagonal of B was non-negative real. Thus, if A(j,j) is in a 1-by-1 block (i.e., A(j+1,j)=A(j,j+1)=0), then ALPHAR(j)=A(j,j). Note that the (real or complex) values (ALPHAR(j) + i*ALPHAI(j))/BETA(j), j=1,...,N, are the generalized eigenvalues of the matrix pencil A - wB. ALPHAI (output) DOUBLE PRECISION array, dimension (N) ALPHAI(1:N) will be set to imaginary parts of the diagonal elements of A that would result from reducing A and B to Schur form and then further reducing them both to triangular form using unitary transformations s.t. the diagonal of B was non-negative real. Thus, if A(j,j) is in a 1-by-1 block (i.e., A(j+1,j)=A(j,j+1)=0), then ALPHAR(j)=0. Note that the (real or complex) values (ALPHAR(j) + i*ALPHAI(j))/BETA(j), j=1,...,N, are the generalized eigenvalues of the matrix pencil A - wB. BETA (output) DOUBLE PRECISION array, dimension (N) BETA(1:N) will be set to the (real) diagonal elements of B that would result from reducing A and B to Schur form and then further reducing them both to triangular form using unitary transformations s.t. the diagonal of B was non-negative real. Thus, if A(j,j) is in a 1-by-1 block (i.e., A(j+1,j)=A(j,j+1)=0), then BETA(j)=B(j,j). Note that the (real or complex) values (ALPHAR(j) + i*ALPHAI(j))/BETA(j), j=1,...,N, are the generalized eigenvalues of the matrix pencil A - wB. (Note that BETA(1:N) will always be non-negative, and no BETAI is necessary.) Q (input/output) DOUBLE PRECISION array, dimension (LDQ, N) If COMPQ='N', then Q will not be referenced. If COMPQ='V' or 'I', then the transpose of the orthogonal transformations which are applied to A and B on the left will be applied to the array Q on the right. LDQ (input) INTEGER The leading dimension of the array Q. LDQ >= 1. If COMPQ='V' or 'I', then LDQ >= N. Z (input/output) DOUBLE PRECISION array, dimension (LDZ, N) If COMPZ='N', then Z will not be referenced. If COMPZ='V' or 'I', then the orthogonal transformations which are applied to A and B on the right will be applied to the array Z on the right. LDZ (input) INTEGER The leading dimension of the array Z. LDZ >= 1. If COMPZ='V' or 'I', then LDZ >= N. WORK (workspace/output) DOUBLE PRECISION array, dimension (LWORK) On exit, if INFO >= 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The dimension of the array WORK. LWORK >= max(1,N). If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value = 1,...,N: the QZ iteration did not converge. (A,B) is not in Schur form, but ALPHAR(i), ALPHAI(i), and BETA(i), i=INFO+1,...,N should be correct. = N+1,...,2*N: the shift calculation failed. (A,B) is not in Schur form, but ALPHAR(i), ALPHAI(i), and BETA(i), i=INFO-N+1,...,N should be correct. > 2*N: various "impossible" errors. Further Details =============== Iteration counters: JITER -- counts iterations. IITER -- counts iterations run since ILAST was last changed. This is therefore reset only when a 1-by-1 or 2-by-2 block deflates off the bottom. ===================================================================== $ SAFETY = 1.0E+0 ) Decode JOB, COMPQ, COMPZ Parameter adjustments */ /* Table of constant values */ Treal c_b12 = 0.; Treal c_b13 = 1.; integer c__1 = 1; integer c__3 = 3; /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, q_dim1, q_offset, z_dim1, z_offset, i__1, i__2, i__3, i__4; Treal d__1, d__2, d__3, d__4; /* Local variables */ Treal ad11l, ad12l, ad21l, ad22l, ad32l, wabs, atol, btol, temp; Treal temp2, s1inv, c__; integer j; Treal s, t, v[3], scale; integer iiter, ilast, jiter; Treal anorm, bnorm; integer maxit; Treal tempi, tempr, s1, s2, u1, u2; logical ilazr2; Treal a11, a12, a21, a22, b11, b22, c12, c21; integer jc; Treal an, bn, cl, cq, cr; integer in; Treal ascale, bscale, u12, w11; integer jr; Treal cz, sl, w12, w21, w22, wi; Treal sr; Treal vs, wr; Treal safmin; Treal safmax; Treal eshift; logical ilschr; Treal b1a, b2a; integer icompq, ilastm; Treal a1i; integer ischur; Treal a2i, b1i; logical ilazro; integer icompz, ifirst; Treal b2i; integer ifrstm; Treal a1r; integer istart; logical ilpivt; Treal a2r, b1r, b2r; logical lquery; Treal wr2, ad11, ad12, ad21, ad22, c11i, c22i; integer jch; Treal c11r, c22r, u12l; logical ilq; Treal tau, sqi; logical ilz; Treal ulp, sqr, szi, szr; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] #define q_ref(a_1,a_2) q[(a_2)*q_dim1 + a_1] #define z___ref(a_1,a_2) z__[(a_2)*z_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; --alphar; --alphai; --beta; q_dim1 = *ldq; q_offset = 1 + q_dim1 * 1; q -= q_offset; z_dim1 = *ldz; z_offset = 1 + z_dim1 * 1; z__ -= z_offset; --work; /* Initialization added by Elias to get rid of compiler warnings. */ ilschr = ilq = ilz = 0; /* Function Body */ if (template_blas_lsame(job, "E")) { ilschr = FALSE_; ischur = 1; } else if (template_blas_lsame(job, "S")) { ilschr = TRUE_; ischur = 2; } else { ischur = 0; } if (template_blas_lsame(compq, "N")) { ilq = FALSE_; icompq = 1; } else if (template_blas_lsame(compq, "V")) { ilq = TRUE_; icompq = 2; } else if (template_blas_lsame(compq, "I")) { ilq = TRUE_; icompq = 3; } else { icompq = 0; } if (template_blas_lsame(compz, "N")) { ilz = FALSE_; icompz = 1; } else if (template_blas_lsame(compz, "V")) { ilz = TRUE_; icompz = 2; } else if (template_blas_lsame(compz, "I")) { ilz = TRUE_; icompz = 3; } else { icompz = 0; } /* Check Argument Values */ *info = 0; work[1] = (Treal) maxMACRO(1,*n); lquery = *lwork == -1; if (ischur == 0) { *info = -1; } else if (icompq == 0) { *info = -2; } else if (icompz == 0) { *info = -3; } else if (*n < 0) { *info = -4; } else if (*ilo < 1) { *info = -5; } else if (*ihi > *n || *ihi < *ilo - 1) { *info = -6; } else if (*lda < *n) { *info = -8; } else if (*ldb < *n) { *info = -10; } else if (*ldq < 1 || ( ilq && *ldq < *n ) ) { *info = -15; } else if (*ldz < 1 || ( ilz && *ldz < *n ) ) { *info = -17; } else if (*lwork < maxMACRO(1,*n) && ! lquery) { *info = -19; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("HGEQZ ", &i__1); return 0; } else if (lquery) { return 0; } /* Quick return if possible */ if (*n <= 0) { work[1] = 1.; return 0; } /* Initialize Q and Z */ if (icompq == 3) { template_lapack_laset("Full", n, n, &c_b12, &c_b13, &q[q_offset], ldq); } if (icompz == 3) { template_lapack_laset("Full", n, n, &c_b12, &c_b13, &z__[z_offset], ldz); } /* Machine Constants */ in = *ihi + 1 - *ilo; safmin = template_lapack_lamch("S", (Treal)0); safmax = 1. / safmin; ulp = template_lapack_lamch("E", (Treal)0) * template_lapack_lamch("B", (Treal)0); anorm = dlanhs_("F", &in, &a_ref(*ilo, *ilo), lda, &work[1]); bnorm = dlanhs_("F", &in, &b_ref(*ilo, *ilo), ldb, &work[1]); /* Computing MAX */ d__1 = safmin, d__2 = ulp * anorm; atol = maxMACRO(d__1,d__2); /* Computing MAX */ d__1 = safmin, d__2 = ulp * bnorm; btol = maxMACRO(d__1,d__2); ascale = 1. / maxMACRO(safmin,anorm); bscale = 1. / maxMACRO(safmin,bnorm); /* Set Eigenvalues IHI+1:N */ i__1 = *n; for (j = *ihi + 1; j <= i__1; ++j) { if (b_ref(j, j) < 0.) { if (ilschr) { i__2 = j; for (jr = 1; jr <= i__2; ++jr) { a_ref(jr, j) = -a_ref(jr, j); b_ref(jr, j) = -b_ref(jr, j); /* L10: */ } } else { a_ref(j, j) = -a_ref(j, j); b_ref(j, j) = -b_ref(j, j); } if (ilz) { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { z___ref(jr, j) = -z___ref(jr, j); /* L20: */ } } } alphar[j] = a_ref(j, j); alphai[j] = 0.; beta[j] = b_ref(j, j); /* L30: */ } /* If IHI < ILO, skip QZ steps */ if (*ihi < *ilo) { goto L380; } /* MAIN QZ ITERATION LOOP Initialize dynamic indices Eigenvalues ILAST+1:N have been found. Column operations modify rows IFRSTM:whatever. Row operations modify columns whatever:ILASTM. If only eigenvalues are being computed, then IFRSTM is the row of the last splitting row above row ILAST; this is always at least ILO. IITER counts iterations since the last eigenvalue was found, to tell when to use an extraordinary shift. MAXIT is the maximum number of QZ sweeps allowed. */ ilast = *ihi; if (ilschr) { ifrstm = 1; ilastm = *n; } else { ifrstm = *ilo; ilastm = *ihi; } iiter = 0; eshift = 0.; maxit = (*ihi - *ilo + 1) * 30; i__1 = maxit; for (jiter = 1; jiter <= i__1; ++jiter) { /* Split the matrix if possible. Two tests: 1: A(j,j-1)=0 or j=ILO 2: B(j,j)=0 */ if (ilast == *ilo) { /* Special case: j=ILAST */ goto L80; } else { if ((d__1 = a_ref(ilast, ilast - 1), absMACRO(d__1)) <= atol) { a_ref(ilast, ilast - 1) = 0.; goto L80; } } if ((d__1 = b_ref(ilast, ilast), absMACRO(d__1)) <= btol) { b_ref(ilast, ilast) = 0.; goto L70; } /* General case: j= i__2; --j) { /* Test 1: for A(j,j-1)=0 or j=ILO */ if (j == *ilo) { ilazro = TRUE_; } else { if ((d__1 = a_ref(j, j - 1), absMACRO(d__1)) <= atol) { a_ref(j, j - 1) = 0.; ilazro = TRUE_; } else { ilazro = FALSE_; } } /* Test 2: for B(j,j)=0 */ if ((d__1 = b_ref(j, j), absMACRO(d__1)) < btol) { b_ref(j, j) = 0.; /* Test 1a: Check for 2 consecutive small subdiagonals in A */ ilazr2 = FALSE_; if (! ilazro) { temp = (d__1 = a_ref(j, j - 1), absMACRO(d__1)); temp2 = (d__1 = a_ref(j, j), absMACRO(d__1)); tempr = maxMACRO(temp,temp2); if (tempr < 1. && tempr != 0.) { temp /= tempr; temp2 /= tempr; } if (temp * (ascale * (d__1 = a_ref(j + 1, j), absMACRO(d__1))) <= temp2 * (ascale * atol)) { ilazr2 = TRUE_; } } /* If both tests pass (1 & 2), i.e., the leading diagonal element of B in the block is zero, split a 1x1 block off at the top. (I.e., at the J-th row/column) The leading diagonal element of the remainder can also be zero, so this may have to be done repeatedly. */ if (ilazro || ilazr2) { i__3 = ilast - 1; for (jch = j; jch <= i__3; ++jch) { temp = a_ref(jch, jch); template_lapack_lartg(&temp, &a_ref(jch + 1, jch), &c__, &s, &a_ref( jch, jch)); a_ref(jch + 1, jch) = 0.; i__4 = ilastm - jch; template_blas_rot(&i__4, &a_ref(jch, jch + 1), lda, &a_ref(jch + 1, jch + 1), lda, &c__, &s); i__4 = ilastm - jch; template_blas_rot(&i__4, &b_ref(jch, jch + 1), ldb, &b_ref(jch + 1, jch + 1), ldb, &c__, &s); if (ilq) { template_blas_rot(n, &q_ref(1, jch), &c__1, &q_ref(1, jch + 1) , &c__1, &c__, &s); } if (ilazr2) { a_ref(jch, jch - 1) = a_ref(jch, jch - 1) * c__; } ilazr2 = FALSE_; if ((d__1 = b_ref(jch + 1, jch + 1), absMACRO(d__1)) >= btol) { if (jch + 1 >= ilast) { goto L80; } else { ifirst = jch + 1; goto L110; } } b_ref(jch + 1, jch + 1) = 0.; /* L40: */ } goto L70; } else { /* Only test 2 passed -- chase the zero to B(ILAST,ILAST) Then process as in the case B(ILAST,ILAST)=0 */ i__3 = ilast - 1; for (jch = j; jch <= i__3; ++jch) { temp = b_ref(jch, jch + 1); template_lapack_lartg(&temp, &b_ref(jch + 1, jch + 1), &c__, &s, & b_ref(jch, jch + 1)); b_ref(jch + 1, jch + 1) = 0.; if (jch < ilastm - 1) { i__4 = ilastm - jch - 1; template_blas_rot(&i__4, &b_ref(jch, jch + 2), ldb, &b_ref( jch + 1, jch + 2), ldb, &c__, &s); } i__4 = ilastm - jch + 2; template_blas_rot(&i__4, &a_ref(jch, jch - 1), lda, &a_ref(jch + 1, jch - 1), lda, &c__, &s); if (ilq) { template_blas_rot(n, &q_ref(1, jch), &c__1, &q_ref(1, jch + 1) , &c__1, &c__, &s); } temp = a_ref(jch + 1, jch); template_lapack_lartg(&temp, &a_ref(jch + 1, jch - 1), &c__, &s, & a_ref(jch + 1, jch)); a_ref(jch + 1, jch - 1) = 0.; i__4 = jch + 1 - ifrstm; template_blas_rot(&i__4, &a_ref(ifrstm, jch), &c__1, &a_ref( ifrstm, jch - 1), &c__1, &c__, &s); i__4 = jch - ifrstm; template_blas_rot(&i__4, &b_ref(ifrstm, jch), &c__1, &b_ref( ifrstm, jch - 1), &c__1, &c__, &s); if (ilz) { template_blas_rot(n, &z___ref(1, jch), &c__1, &z___ref(1, jch - 1), &c__1, &c__, &s); } /* L50: */ } goto L70; } } else if (ilazro) { /* Only test 1 passed -- work on J:ILAST */ ifirst = j; goto L110; } /* Neither test passed -- try next J L60: */ } /* (Drop-through is "impossible") */ *info = *n + 1; goto L420; /* B(ILAST,ILAST)=0 -- clear A(ILAST,ILAST-1) to split off a 1x1 block. */ L70: temp = a_ref(ilast, ilast); template_lapack_lartg(&temp, &a_ref(ilast, ilast - 1), &c__, &s, &a_ref(ilast, ilast)); a_ref(ilast, ilast - 1) = 0.; i__2 = ilast - ifrstm; template_blas_rot(&i__2, &a_ref(ifrstm, ilast), &c__1, &a_ref(ifrstm, ilast - 1), &c__1, &c__, &s); i__2 = ilast - ifrstm; template_blas_rot(&i__2, &b_ref(ifrstm, ilast), &c__1, &b_ref(ifrstm, ilast - 1), &c__1, &c__, &s); if (ilz) { template_blas_rot(n, &z___ref(1, ilast), &c__1, &z___ref(1, ilast - 1), &c__1, &c__, &s); } /* A(ILAST,ILAST-1)=0 -- Standardize B, set ALPHAR, ALPHAI, and BETA */ L80: if (b_ref(ilast, ilast) < 0.) { if (ilschr) { i__2 = ilast; for (j = ifrstm; j <= i__2; ++j) { a_ref(j, ilast) = -a_ref(j, ilast); b_ref(j, ilast) = -b_ref(j, ilast); /* L90: */ } } else { a_ref(ilast, ilast) = -a_ref(ilast, ilast); b_ref(ilast, ilast) = -b_ref(ilast, ilast); } if (ilz) { i__2 = *n; for (j = 1; j <= i__2; ++j) { z___ref(j, ilast) = -z___ref(j, ilast); /* L100: */ } } } alphar[ilast] = a_ref(ilast, ilast); alphai[ilast] = 0.; beta[ilast] = b_ref(ilast, ilast); /* Go to next block -- exit if finished. */ --ilast; if (ilast < *ilo) { goto L380; } /* Reset counters */ iiter = 0; eshift = 0.; if (! ilschr) { ilastm = ilast; if (ifrstm > ilast) { ifrstm = *ilo; } } goto L350; /* QZ step This iteration only involves rows/columns IFIRST:ILAST. We assume IFIRST < ILAST, and that the diagonal of B is non-zero. */ L110: ++iiter; if (! ilschr) { ifrstm = ifirst; } /* Compute single shifts. At this point, IFIRST < ILAST, and the diagonal elements of B(IFIRST:ILAST,IFIRST,ILAST) are larger than BTOL (in magnitude) */ if (iiter / 10 * 10 == iiter) { /* Exceptional shift. Chosen for no particularly good reason. (Single shift only.) */ if ((Treal) maxit * safmin * (d__1 = a_ref(ilast - 1, ilast), absMACRO(d__1)) < (d__2 = b_ref(ilast - 1, ilast - 1), absMACRO( d__2))) { eshift += a_ref(ilast - 1, ilast) / b_ref(ilast - 1, ilast - 1); } else { eshift += 1. / (safmin * (Treal) maxit); } s1 = 1.; wr = eshift; } else { /* Shifts based on the generalized eigenvalues of the bottom-right 2x2 block of A and B. The first eigenvalue returned by DLAG2 is the Wilkinson shift (AEP p.512), */ d__1 = safmin * 100.; template_lapack_lag2(&a_ref(ilast - 1, ilast - 1), lda, &b_ref(ilast - 1, ilast - 1), ldb, &d__1, &s1, &s2, &wr, &wr2, &wi); /* Computing MAX Computing MAX */ d__3 = 1., d__4 = absMACRO(wr), d__3 = maxMACRO(d__3,d__4), d__4 = absMACRO(wi); d__1 = s1, d__2 = safmin * maxMACRO(d__3,d__4); temp = maxMACRO(d__1,d__2); if (wi != 0.) { goto L200; } } /* Fiddle with shift to avoid overflow */ temp = minMACRO(ascale,1.) * (safmax * .5); if (s1 > temp) { scale = temp / s1; } else { scale = 1.; } temp = minMACRO(bscale,1.) * (safmax * .5); if (absMACRO(wr) > temp) { /* Computing MIN */ d__1 = scale, d__2 = temp / absMACRO(wr); scale = minMACRO(d__1,d__2); } s1 = scale * s1; wr = scale * wr; /* Now check for two consecutive small subdiagonals. */ i__2 = ifirst + 1; for (j = ilast - 1; j >= i__2; --j) { istart = j; temp = (d__1 = s1 * a_ref(j, j - 1), absMACRO(d__1)); temp2 = (d__1 = s1 * a_ref(j, j) - wr * b_ref(j, j), absMACRO(d__1)); tempr = maxMACRO(temp,temp2); if (tempr < 1. && tempr != 0.) { temp /= tempr; temp2 /= tempr; } if ((d__1 = ascale * a_ref(j + 1, j) * temp, absMACRO(d__1)) <= ascale * atol * temp2) { goto L130; } /* L120: */ } istart = ifirst; L130: /* Do an implicit single-shift QZ sweep. Initial Q */ temp = s1 * a_ref(istart, istart) - wr * b_ref(istart, istart); temp2 = s1 * a_ref(istart + 1, istart); template_lapack_lartg(&temp, &temp2, &c__, &s, &tempr); /* Sweep */ i__2 = ilast - 1; for (j = istart; j <= i__2; ++j) { if (j > istart) { temp = a_ref(j, j - 1); template_lapack_lartg(&temp, &a_ref(j + 1, j - 1), &c__, &s, &a_ref(j, j - 1)); a_ref(j + 1, j - 1) = 0.; } i__3 = ilastm; for (jc = j; jc <= i__3; ++jc) { temp = c__ * a_ref(j, jc) + s * a_ref(j + 1, jc); a_ref(j + 1, jc) = -s * a_ref(j, jc) + c__ * a_ref(j + 1, jc); a_ref(j, jc) = temp; temp2 = c__ * b_ref(j, jc) + s * b_ref(j + 1, jc); b_ref(j + 1, jc) = -s * b_ref(j, jc) + c__ * b_ref(j + 1, jc); b_ref(j, jc) = temp2; /* L140: */ } if (ilq) { i__3 = *n; for (jr = 1; jr <= i__3; ++jr) { temp = c__ * q_ref(jr, j) + s * q_ref(jr, j + 1); q_ref(jr, j + 1) = -s * q_ref(jr, j) + c__ * q_ref(jr, j + 1); q_ref(jr, j) = temp; /* L150: */ } } temp = b_ref(j + 1, j + 1); template_lapack_lartg(&temp, &b_ref(j + 1, j), &c__, &s, &b_ref(j + 1, j + 1)); b_ref(j + 1, j) = 0.; /* Computing MIN */ i__4 = j + 2; i__3 = minMACRO(i__4,ilast); for (jr = ifrstm; jr <= i__3; ++jr) { temp = c__ * a_ref(jr, j + 1) + s * a_ref(jr, j); a_ref(jr, j) = -s * a_ref(jr, j + 1) + c__ * a_ref(jr, j); a_ref(jr, j + 1) = temp; /* L160: */ } i__3 = j; for (jr = ifrstm; jr <= i__3; ++jr) { temp = c__ * b_ref(jr, j + 1) + s * b_ref(jr, j); b_ref(jr, j) = -s * b_ref(jr, j + 1) + c__ * b_ref(jr, j); b_ref(jr, j + 1) = temp; /* L170: */ } if (ilz) { i__3 = *n; for (jr = 1; jr <= i__3; ++jr) { temp = c__ * z___ref(jr, j + 1) + s * z___ref(jr, j); z___ref(jr, j) = -s * z___ref(jr, j + 1) + c__ * z___ref( jr, j); z___ref(jr, j + 1) = temp; /* L180: */ } } /* L190: */ } goto L350; /* Use Francis double-shift Note: the Francis double-shift should work with real shifts, but only if the block is at least 3x3. This code may break if this point is reached with a 2x2 block with real eigenvalues. */ L200: if (ifirst + 1 == ilast) { /* Special case -- 2x2 block with complex eigenvectors Step 1: Standardize, that is, rotate so that ( B11 0 ) B = ( ) with B11 non-negative. ( 0 B22 ) */ template_lapack_lasv2(&b_ref(ilast - 1, ilast - 1), &b_ref(ilast - 1, ilast), & b_ref(ilast, ilast), &b22, &b11, &sr, &cr, &sl, &cl); if (b11 < 0.) { cr = -cr; sr = -sr; b11 = -b11; b22 = -b22; } i__2 = ilastm + 1 - ifirst; template_blas_rot(&i__2, &a_ref(ilast - 1, ilast - 1), lda, &a_ref(ilast, ilast - 1), lda, &cl, &sl); i__2 = ilast + 1 - ifrstm; template_blas_rot(&i__2, &a_ref(ifrstm, ilast - 1), &c__1, &a_ref(ifrstm, ilast), &c__1, &cr, &sr); if (ilast < ilastm) { i__2 = ilastm - ilast; template_blas_rot(&i__2, &b_ref(ilast - 1, ilast + 1), ldb, &b_ref(ilast, ilast + 1), lda, &cl, &sl); } if (ifrstm < ilast - 1) { i__2 = ifirst - ifrstm; template_blas_rot(&i__2, &b_ref(ifrstm, ilast - 1), &c__1, &b_ref(ifrstm, ilast), &c__1, &cr, &sr); } if (ilq) { template_blas_rot(n, &q_ref(1, ilast - 1), &c__1, &q_ref(1, ilast), &c__1, &cl, &sl); } if (ilz) { template_blas_rot(n, &z___ref(1, ilast - 1), &c__1, &z___ref(1, ilast), & c__1, &cr, &sr); } b_ref(ilast - 1, ilast - 1) = b11; b_ref(ilast - 1, ilast) = 0.; b_ref(ilast, ilast - 1) = 0.; b_ref(ilast, ilast) = b22; /* If B22 is negative, negate column ILAST */ if (b22 < 0.) { i__2 = ilast; for (j = ifrstm; j <= i__2; ++j) { a_ref(j, ilast) = -a_ref(j, ilast); b_ref(j, ilast) = -b_ref(j, ilast); /* L210: */ } if (ilz) { i__2 = *n; for (j = 1; j <= i__2; ++j) { z___ref(j, ilast) = -z___ref(j, ilast); /* L220: */ } } } /* Step 2: Compute ALPHAR, ALPHAI, and BETA (see refs.) Recompute shift */ d__1 = safmin * 100.; template_lapack_lag2(&a_ref(ilast - 1, ilast - 1), lda, &b_ref(ilast - 1, ilast - 1), ldb, &d__1, &s1, &temp, &wr, &temp2, &wi); /* If standardization has perturbed the shift onto real line, do another (real single-shift) QR step. */ if (wi == 0.) { goto L350; } s1inv = 1. / s1; /* Do EISPACK (QZVAL) computation of alpha and beta */ a11 = a_ref(ilast - 1, ilast - 1); a21 = a_ref(ilast, ilast - 1); a12 = a_ref(ilast - 1, ilast); a22 = a_ref(ilast, ilast); /* Compute complex Givens rotation on right (Assume some element of C = (sA - wB) > unfl ) __ (sA - wB) ( CZ -SZ ) ( SZ CZ ) */ c11r = s1 * a11 - wr * b11; c11i = -wi * b11; c12 = s1 * a12; c21 = s1 * a21; c22r = s1 * a22 - wr * b22; c22i = -wi * b22; if (absMACRO(c11r) + absMACRO(c11i) + absMACRO(c12) > absMACRO(c21) + absMACRO(c22r) + absMACRO( c22i)) { t = template_lapack_lapy3(&c12, &c11r, &c11i); cz = c12 / t; szr = -c11r / t; szi = -c11i / t; } else { cz = template_lapack_lapy2(&c22r, &c22i); if (cz <= safmin) { cz = 0.; szr = 1.; szi = 0.; } else { tempr = c22r / cz; tempi = c22i / cz; t = template_lapack_lapy2(&cz, &c21); cz /= t; szr = -c21 * tempr / t; szi = c21 * tempi / t; } } /* Compute Givens rotation on left ( CQ SQ ) ( __ ) A or B ( -SQ CQ ) */ an = absMACRO(a11) + absMACRO(a12) + absMACRO(a21) + absMACRO(a22); bn = absMACRO(b11) + absMACRO(b22); wabs = absMACRO(wr) + absMACRO(wi); if (s1 * an > wabs * bn) { cq = cz * b11; sqr = szr * b22; sqi = -szi * b22; } else { a1r = cz * a11 + szr * a12; a1i = szi * a12; a2r = cz * a21 + szr * a22; a2i = szi * a22; cq = template_lapack_lapy2(&a1r, &a1i); if (cq <= safmin) { cq = 0.; sqr = 1.; sqi = 0.; } else { tempr = a1r / cq; tempi = a1i / cq; sqr = tempr * a2r + tempi * a2i; sqi = tempi * a2r - tempr * a2i; } } t = template_lapack_lapy3(&cq, &sqr, &sqi); cq /= t; sqr /= t; sqi /= t; /* Compute diagonal elements of QBZ */ tempr = sqr * szr - sqi * szi; tempi = sqr * szi + sqi * szr; b1r = cq * cz * b11 + tempr * b22; b1i = tempi * b22; b1a = template_lapack_lapy2(&b1r, &b1i); b2r = cq * cz * b22 + tempr * b11; b2i = -tempi * b11; b2a = template_lapack_lapy2(&b2r, &b2i); /* Normalize so beta > 0, and Im( alpha1 ) > 0 */ beta[ilast - 1] = b1a; beta[ilast] = b2a; alphar[ilast - 1] = wr * b1a * s1inv; alphai[ilast - 1] = wi * b1a * s1inv; alphar[ilast] = wr * b2a * s1inv; alphai[ilast] = -(wi * b2a) * s1inv; /* Step 3: Go to next block -- exit if finished. */ ilast = ifirst - 1; if (ilast < *ilo) { goto L380; } /* Reset counters */ iiter = 0; eshift = 0.; if (! ilschr) { ilastm = ilast; if (ifrstm > ilast) { ifrstm = *ilo; } } goto L350; } else { /* Usual case: 3x3 or larger block, using Francis implicit double-shift 2 Eigenvalue equation is w - c w + d = 0, -1 2 -1 so compute 1st column of (A B ) - c A B + d using the formula in QZIT (from EISPACK) We assume that the block is at least 3x3 */ ad11 = ascale * a_ref(ilast - 1, ilast - 1) / (bscale * b_ref( ilast - 1, ilast - 1)); ad21 = ascale * a_ref(ilast, ilast - 1) / (bscale * b_ref(ilast - 1, ilast - 1)); ad12 = ascale * a_ref(ilast - 1, ilast) / (bscale * b_ref(ilast, ilast)); ad22 = ascale * a_ref(ilast, ilast) / (bscale * b_ref(ilast, ilast)); u12 = b_ref(ilast - 1, ilast) / b_ref(ilast, ilast); ad11l = ascale * a_ref(ifirst, ifirst) / (bscale * b_ref(ifirst, ifirst)); ad21l = ascale * a_ref(ifirst + 1, ifirst) / (bscale * b_ref( ifirst, ifirst)); ad12l = ascale * a_ref(ifirst, ifirst + 1) / (bscale * b_ref( ifirst + 1, ifirst + 1)); ad22l = ascale * a_ref(ifirst + 1, ifirst + 1) / (bscale * b_ref( ifirst + 1, ifirst + 1)); ad32l = ascale * a_ref(ifirst + 2, ifirst + 1) / (bscale * b_ref( ifirst + 1, ifirst + 1)); u12l = b_ref(ifirst, ifirst + 1) / b_ref(ifirst + 1, ifirst + 1); v[0] = (ad11 - ad11l) * (ad22 - ad11l) - ad12 * ad21 + ad21 * u12 * ad11l + (ad12l - ad11l * u12l) * ad21l; v[1] = (ad22l - ad11l - ad21l * u12l - (ad11 - ad11l) - (ad22 - ad11l) + ad21 * u12) * ad21l; v[2] = ad32l * ad21l; istart = ifirst; template_lapack_larfg(&c__3, v, &v[1], &c__1, &tau); v[0] = 1.; /* Sweep */ i__2 = ilast - 2; for (j = istart; j <= i__2; ++j) { /* All but last elements: use 3x3 Householder transforms. Zero (j-1)st column of A */ if (j > istart) { v[0] = a_ref(j, j - 1); v[1] = a_ref(j + 1, j - 1); v[2] = a_ref(j + 2, j - 1); template_lapack_larfg(&c__3, &a_ref(j, j - 1), &v[1], &c__1, &tau); v[0] = 1.; a_ref(j + 1, j - 1) = 0.; a_ref(j + 2, j - 1) = 0.; } i__3 = ilastm; for (jc = j; jc <= i__3; ++jc) { temp = tau * (a_ref(j, jc) + v[1] * a_ref(j + 1, jc) + v[ 2] * a_ref(j + 2, jc)); a_ref(j, jc) = a_ref(j, jc) - temp; a_ref(j + 1, jc) = a_ref(j + 1, jc) - temp * v[1]; a_ref(j + 2, jc) = a_ref(j + 2, jc) - temp * v[2]; temp2 = tau * (b_ref(j, jc) + v[1] * b_ref(j + 1, jc) + v[ 2] * b_ref(j + 2, jc)); b_ref(j, jc) = b_ref(j, jc) - temp2; b_ref(j + 1, jc) = b_ref(j + 1, jc) - temp2 * v[1]; b_ref(j + 2, jc) = b_ref(j + 2, jc) - temp2 * v[2]; /* L230: */ } if (ilq) { i__3 = *n; for (jr = 1; jr <= i__3; ++jr) { temp = tau * (q_ref(jr, j) + v[1] * q_ref(jr, j + 1) + v[2] * q_ref(jr, j + 2)); q_ref(jr, j) = q_ref(jr, j) - temp; q_ref(jr, j + 1) = q_ref(jr, j + 1) - temp * v[1]; q_ref(jr, j + 2) = q_ref(jr, j + 2) - temp * v[2]; /* L240: */ } } /* Zero j-th column of B (see DLAGBC for details) Swap rows to pivot */ ilpivt = FALSE_; /* Computing MAX */ d__3 = (d__1 = b_ref(j + 1, j + 1), absMACRO(d__1)), d__4 = (d__2 = b_ref(j + 1, j + 2), absMACRO(d__2)); temp = maxMACRO(d__3,d__4); /* Computing MAX */ d__3 = (d__1 = b_ref(j + 2, j + 1), absMACRO(d__1)), d__4 = (d__2 = b_ref(j + 2, j + 2), absMACRO(d__2)); temp2 = maxMACRO(d__3,d__4); if (maxMACRO(temp,temp2) < safmin) { scale = 0.; u1 = 1.; u2 = 0.; goto L250; } else if (temp >= temp2) { w11 = b_ref(j + 1, j + 1); w21 = b_ref(j + 2, j + 1); w12 = b_ref(j + 1, j + 2); w22 = b_ref(j + 2, j + 2); u1 = b_ref(j + 1, j); u2 = b_ref(j + 2, j); } else { w21 = b_ref(j + 1, j + 1); w11 = b_ref(j + 2, j + 1); w22 = b_ref(j + 1, j + 2); w12 = b_ref(j + 2, j + 2); u2 = b_ref(j + 1, j); u1 = b_ref(j + 2, j); } /* Swap columns if nec. */ if (absMACRO(w12) > absMACRO(w11)) { ilpivt = TRUE_; temp = w12; temp2 = w22; w12 = w11; w22 = w21; w11 = temp; w21 = temp2; } /* LU-factor */ temp = w21 / w11; u2 -= temp * u1; w22 -= temp * w12; w21 = 0.; /* Compute SCALE */ scale = 1.; if (absMACRO(w22) < safmin) { scale = 0.; u2 = 1.; u1 = -w12 / w11; goto L250; } if (absMACRO(w22) < absMACRO(u2)) { scale = (d__1 = w22 / u2, absMACRO(d__1)); } if (absMACRO(w11) < absMACRO(u1)) { /* Computing MIN */ d__2 = scale, d__3 = (d__1 = w11 / u1, absMACRO(d__1)); scale = minMACRO(d__2,d__3); } /* Solve */ u2 = scale * u2 / w22; u1 = (scale * u1 - w12 * u2) / w11; L250: if (ilpivt) { temp = u2; u2 = u1; u1 = temp; } /* Compute Householder Vector Computing 2nd power */ d__1 = scale; /* Computing 2nd power */ d__2 = u1; /* Computing 2nd power */ d__3 = u2; t = template_blas_sqrt(d__1 * d__1 + d__2 * d__2 + d__3 * d__3); tau = scale / t + 1.; vs = -1. / (scale + t); v[0] = 1.; v[1] = vs * u1; v[2] = vs * u2; /* Apply transformations from the right. Computing MIN */ i__4 = j + 3; i__3 = minMACRO(i__4,ilast); for (jr = ifrstm; jr <= i__3; ++jr) { temp = tau * (a_ref(jr, j) + v[1] * a_ref(jr, j + 1) + v[ 2] * a_ref(jr, j + 2)); a_ref(jr, j) = a_ref(jr, j) - temp; a_ref(jr, j + 1) = a_ref(jr, j + 1) - temp * v[1]; a_ref(jr, j + 2) = a_ref(jr, j + 2) - temp * v[2]; /* L260: */ } i__3 = j + 2; for (jr = ifrstm; jr <= i__3; ++jr) { temp = tau * (b_ref(jr, j) + v[1] * b_ref(jr, j + 1) + v[ 2] * b_ref(jr, j + 2)); b_ref(jr, j) = b_ref(jr, j) - temp; b_ref(jr, j + 1) = b_ref(jr, j + 1) - temp * v[1]; b_ref(jr, j + 2) = b_ref(jr, j + 2) - temp * v[2]; /* L270: */ } if (ilz) { i__3 = *n; for (jr = 1; jr <= i__3; ++jr) { temp = tau * (z___ref(jr, j) + v[1] * z___ref(jr, j + 1) + v[2] * z___ref(jr, j + 2)); z___ref(jr, j) = z___ref(jr, j) - temp; z___ref(jr, j + 1) = z___ref(jr, j + 1) - temp * v[1]; z___ref(jr, j + 2) = z___ref(jr, j + 2) - temp * v[2]; /* L280: */ } } b_ref(j + 1, j) = 0.; b_ref(j + 2, j) = 0.; /* L290: */ } /* Last elements: Use Givens rotations Rotations from the left */ j = ilast - 1; temp = a_ref(j, j - 1); template_lapack_lartg(&temp, &a_ref(j + 1, j - 1), &c__, &s, &a_ref(j, j - 1)); a_ref(j + 1, j - 1) = 0.; i__2 = ilastm; for (jc = j; jc <= i__2; ++jc) { temp = c__ * a_ref(j, jc) + s * a_ref(j + 1, jc); a_ref(j + 1, jc) = -s * a_ref(j, jc) + c__ * a_ref(j + 1, jc); a_ref(j, jc) = temp; temp2 = c__ * b_ref(j, jc) + s * b_ref(j + 1, jc); b_ref(j + 1, jc) = -s * b_ref(j, jc) + c__ * b_ref(j + 1, jc); b_ref(j, jc) = temp2; /* L300: */ } if (ilq) { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { temp = c__ * q_ref(jr, j) + s * q_ref(jr, j + 1); q_ref(jr, j + 1) = -s * q_ref(jr, j) + c__ * q_ref(jr, j + 1); q_ref(jr, j) = temp; /* L310: */ } } /* Rotations from the right. */ temp = b_ref(j + 1, j + 1); template_lapack_lartg(&temp, &b_ref(j + 1, j), &c__, &s, &b_ref(j + 1, j + 1)); b_ref(j + 1, j) = 0.; i__2 = ilast; for (jr = ifrstm; jr <= i__2; ++jr) { temp = c__ * a_ref(jr, j + 1) + s * a_ref(jr, j); a_ref(jr, j) = -s * a_ref(jr, j + 1) + c__ * a_ref(jr, j); a_ref(jr, j + 1) = temp; /* L320: */ } i__2 = ilast - 1; for (jr = ifrstm; jr <= i__2; ++jr) { temp = c__ * b_ref(jr, j + 1) + s * b_ref(jr, j); b_ref(jr, j) = -s * b_ref(jr, j + 1) + c__ * b_ref(jr, j); b_ref(jr, j + 1) = temp; /* L330: */ } if (ilz) { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { temp = c__ * z___ref(jr, j + 1) + s * z___ref(jr, j); z___ref(jr, j) = -s * z___ref(jr, j + 1) + c__ * z___ref( jr, j); z___ref(jr, j + 1) = temp; /* L340: */ } } /* End of Double-Shift code */ } goto L350; /* End of iteration loop */ L350: /* L360: */ ; } /* Drop-through = non-convergence L370: */ *info = ilast; goto L420; /* Successful completion of all QZ steps */ L380: /* Set Eigenvalues 1:ILO-1 */ i__1 = *ilo - 1; for (j = 1; j <= i__1; ++j) { if (b_ref(j, j) < 0.) { if (ilschr) { i__2 = j; for (jr = 1; jr <= i__2; ++jr) { a_ref(jr, j) = -a_ref(jr, j); b_ref(jr, j) = -b_ref(jr, j); /* L390: */ } } else { a_ref(j, j) = -a_ref(j, j); b_ref(j, j) = -b_ref(j, j); } if (ilz) { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { z___ref(jr, j) = -z___ref(jr, j); /* L400: */ } } } alphar[j] = a_ref(j, j); alphai[j] = 0.; beta[j] = b_ref(j, j); /* L410: */ } /* Normal Termination */ *info = 0; /* Exit (other than argument error) -- return optimal workspace size */ L420: work[1] = (Treal) (*n); return 0; /* End of DHGEQZ */ } /* dhgeqz_ */ #undef z___ref #undef q_ref #undef b_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lascl.h0000664000175000017500000002176512743400307023115 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LASCL_HEADER #define TEMPLATE_LAPACK_LASCL_HEADER template int template_lapack_lascl(const char *type__, const integer *kl, const integer *ku, const Treal *cfrom, const Treal *cto, const integer *m, const integer *n, Treal *a, const integer *lda, integer *info) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DLASCL multiplies the M by N real matrix A by the real scalar CTO/CFROM. This is done without over/underflow as long as the final result CTO*A(I,J)/CFROM does not over/underflow. TYPE specifies that A may be full, upper triangular, lower triangular, upper Hessenberg, or banded. Arguments ========= TYPE (input) CHARACTER*1 TYPE indices the storage type of the input matrix. = 'G': A is a full matrix. = 'L': A is a lower triangular matrix. = 'U': A is an upper triangular matrix. = 'H': A is an upper Hessenberg matrix. = 'B': A is a symmetric band matrix with lower bandwidth KL and upper bandwidth KU and with the only the lower half stored. = 'Q': A is a symmetric band matrix with lower bandwidth KL and upper bandwidth KU and with the only the upper half stored. = 'Z': A is a band matrix with lower bandwidth KL and upper bandwidth KU. KL (input) INTEGER The lower bandwidth of A. Referenced only if TYPE = 'B', 'Q' or 'Z'. KU (input) INTEGER The upper bandwidth of A. Referenced only if TYPE = 'B', 'Q' or 'Z'. CFROM (input) DOUBLE PRECISION CTO (input) DOUBLE PRECISION The matrix A is multiplied by CTO/CFROM. A(I,J) is computed without over/underflow if the final result CTO*A(I,J)/CFROM can be represented without over/underflow. CFROM must be nonzero. M (input) INTEGER The number of rows of the matrix A. M >= 0. N (input) INTEGER The number of columns of the matrix A. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,M) The matrix to be multiplied by CTO/CFROM. See TYPE for the storage type. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,M). INFO (output) INTEGER 0 - successful exit <0 - if INFO = -i, the i-th argument had an illegal value. ===================================================================== Test the input arguments Parameter adjustments */ /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5; /* Local variables */ logical done; Treal ctoc; integer i__, j; integer itype, k1, k2, k3, k4; Treal cfrom1; Treal cfromc; Treal bignum, smlnum, mul, cto1; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; /* Function Body */ *info = 0; if (template_blas_lsame(type__, "G")) { itype = 0; } else if (template_blas_lsame(type__, "L")) { itype = 1; } else if (template_blas_lsame(type__, "U")) { itype = 2; } else if (template_blas_lsame(type__, "H")) { itype = 3; } else if (template_blas_lsame(type__, "B")) { itype = 4; } else if (template_blas_lsame(type__, "Q")) { itype = 5; } else if (template_blas_lsame(type__, "Z")) { itype = 6; } else { itype = -1; } if (itype == -1) { *info = -1; } else if (*cfrom == 0.) { *info = -4; } else if (*m < 0) { *info = -6; } else if (*n < 0 || ( itype == 4 && *n != *m ) || ( itype == 5 && *n != *m ) ) { *info = -7; } else if (itype <= 3 && *lda < maxMACRO(1,*m)) { *info = -9; } else if (itype >= 4) { /* Computing MAX */ i__1 = *m - 1; if (*kl < 0 || *kl > maxMACRO(i__1,0)) { *info = -2; } else /* if(complicated condition) */ { /* Computing MAX */ i__1 = *n - 1; if (*ku < 0 || *ku > maxMACRO(i__1,0) || ( (itype == 4 || itype == 5) && *kl != *ku ) ) { *info = -3; } else if ( ( itype == 4 && *lda < *kl + 1 ) || ( itype == 5 && *lda < * ku + 1 ) || ( itype == 6 && *lda < (*kl << 1) + *ku + 1 ) ) { *info = -9; } } } if (*info != 0) { i__1 = -(*info); template_blas_erbla("LASCL ", &i__1); return 0; } /* Quick return if possible */ if (*n == 0 || *m == 0) { return 0; } /* Get machine parameters */ smlnum = template_lapack_lamch("S", (Treal)0); bignum = 1. / smlnum; cfromc = *cfrom; ctoc = *cto; L10: cfrom1 = cfromc * smlnum; cto1 = ctoc / bignum; if (absMACRO(cfrom1) > absMACRO(ctoc) && ctoc != 0.) { mul = smlnum; done = FALSE_; cfromc = cfrom1; } else if (absMACRO(cto1) > absMACRO(cfromc)) { mul = bignum; done = FALSE_; ctoc = cto1; } else { mul = ctoc / cfromc; done = TRUE_; } if (itype == 0) { /* Full matrix */ i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { a_ref(i__, j) = a_ref(i__, j) * mul; /* L20: */ } /* L30: */ } } else if (itype == 1) { /* Lower triangular matrix */ i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = j; i__ <= i__2; ++i__) { a_ref(i__, j) = a_ref(i__, j) * mul; /* L40: */ } /* L50: */ } } else if (itype == 2) { /* Upper triangular matrix */ i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = minMACRO(j,*m); for (i__ = 1; i__ <= i__2; ++i__) { a_ref(i__, j) = a_ref(i__, j) * mul; /* L60: */ } /* L70: */ } } else if (itype == 3) { /* Upper Hessenberg matrix */ i__1 = *n; for (j = 1; j <= i__1; ++j) { /* Computing MIN */ i__3 = j + 1; i__2 = minMACRO(i__3,*m); for (i__ = 1; i__ <= i__2; ++i__) { a_ref(i__, j) = a_ref(i__, j) * mul; /* L80: */ } /* L90: */ } } else if (itype == 4) { /* Lower half of a symmetric band matrix */ k3 = *kl + 1; k4 = *n + 1; i__1 = *n; for (j = 1; j <= i__1; ++j) { /* Computing MIN */ i__3 = k3, i__4 = k4 - j; i__2 = minMACRO(i__3,i__4); for (i__ = 1; i__ <= i__2; ++i__) { a_ref(i__, j) = a_ref(i__, j) * mul; /* L100: */ } /* L110: */ } } else if (itype == 5) { /* Upper half of a symmetric band matrix */ k1 = *ku + 2; k3 = *ku + 1; i__1 = *n; for (j = 1; j <= i__1; ++j) { /* Computing MAX */ i__2 = k1 - j; i__3 = k3; for (i__ = maxMACRO(i__2,1); i__ <= i__3; ++i__) { a_ref(i__, j) = a_ref(i__, j) * mul; /* L120: */ } /* L130: */ } } else if (itype == 6) { /* Band matrix */ k1 = *kl + *ku + 2; k2 = *kl + 1; k3 = (*kl << 1) + *ku + 1; k4 = *kl + *ku + 1 + *m; i__1 = *n; for (j = 1; j <= i__1; ++j) { /* Computing MAX */ i__3 = k1 - j; /* Computing MIN */ i__4 = k3, i__5 = k4 - j; i__2 = minMACRO(i__4,i__5); for (i__ = maxMACRO(i__3,k2); i__ <= i__2; ++i__) { a_ref(i__, j) = a_ref(i__, j) * mul; /* L140: */ } /* L150: */ } } if (! done) { goto L10; } return 0; /* End of DLASCL */ } /* dlascl_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_ggbal.h0000664000175000017500000003760012743400307023066 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_GGBAL_HEADER #define TEMPLATE_LAPACK_GGBAL_HEADER template int template_lapack_ggbal(const char *job, const integer *n, Treal *a, const integer * lda, Treal *b, const integer *ldb, integer *ilo, integer *ihi, Treal *lscale, Treal *rscale, Treal *work, integer * info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University September 30, 1994 Purpose ======= DGGBAL balances a pair of general real matrices (A,B). This involves, first, permuting A and B by similarity transformations to isolate eigenvalues in the first 1 to ILO$-$1 and last IHI+1 to N elements on the diagonal; and second, applying a diagonal similarity transformation to rows and columns ILO to IHI to make the rows and columns as close in norm as possible. Both steps are optional. Balancing may reduce the 1-norm of the matrices, and improve the accuracy of the computed eigenvalues and/or eigenvectors in the generalized eigenvalue problem A*x = lambda*B*x. Arguments ========= JOB (input) CHARACTER*1 Specifies the operations to be performed on A and B: = 'N': none: simply set ILO = 1, IHI = N, LSCALE(I) = 1.0 and RSCALE(I) = 1.0 for i = 1,...,N. = 'P': permute only; = 'S': scale only; = 'B': both permute and scale. N (input) INTEGER The order of the matrices A and B. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the input matrix A. On exit, A is overwritten by the balanced matrix. If JOB = 'N', A is not referenced. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). B (input/output) DOUBLE PRECISION array, dimension (LDB,N) On entry, the input matrix B. On exit, B is overwritten by the balanced matrix. If JOB = 'N', B is not referenced. LDB (input) INTEGER The leading dimension of the array B. LDB >= max(1,N). ILO (output) INTEGER IHI (output) INTEGER ILO and IHI are set to integers such that on exit A(i,j) = 0 and B(i,j) = 0 if i > j and j = 1,...,ILO-1 or i = IHI+1,...,N. If JOB = 'N' or 'S', ILO = 1 and IHI = N. LSCALE (output) DOUBLE PRECISION array, dimension (N) Details of the permutations and scaling factors applied to the left side of A and B. If P(j) is the index of the row interchanged with row j, and D(j) is the scaling factor applied to row j, then LSCALE(j) = P(j) for J = 1,...,ILO-1 = D(j) for J = ILO,...,IHI = P(j) for J = IHI+1,...,N. The order in which the interchanges are made is N to IHI+1, then 1 to ILO-1. RSCALE (output) DOUBLE PRECISION array, dimension (N) Details of the permutations and scaling factors applied to the right side of A and B. If P(j) is the index of the column interchanged with column j, and D(j) is the scaling factor applied to column j, then LSCALE(j) = P(j) for J = 1,...,ILO-1 = D(j) for J = ILO,...,IHI = P(j) for J = IHI+1,...,N. The order in which the interchanges are made is N to IHI+1, then 1 to ILO-1. WORK (workspace) DOUBLE PRECISION array, dimension (6*N) INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value. Further Details =============== See R.C. WARD, Balancing the generalized eigenvalue problem, SIAM J. Sci. Stat. Comp. 2 (1981), 141-152. ===================================================================== Test the input parameters Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; Treal c_b34 = 10.; Treal c_b70 = .5; /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2, i__3; Treal d__1, d__2, d__3; /* Local variables */ integer lcab; Treal beta, coef; integer irab, lrab; Treal basl, cmax; Treal coef2, coef5; integer i__, j, k, l, m; Treal gamma, t, alpha; Treal sfmin, sfmax; integer iflow; integer kount, jc; Treal ta, tb, tc; integer ir, it; Treal ew; integer nr; Treal pgamma; integer lsfmin, lsfmax, ip1, jp1, lm1; Treal cab, rab, ewc, cor, sum; integer nrp2, icab; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; --lscale; --rscale; --work; /* Initialization added by Elias to get rid of compiler warnings. */ pgamma = 0; /* Function Body */ *info = 0; if (! template_blas_lsame(job, "N") && ! template_blas_lsame(job, "P") && ! template_blas_lsame(job, "S") && ! template_blas_lsame(job, "B")) { *info = -1; } else if (*n < 0) { *info = -2; } else if (*lda < maxMACRO(1,*n)) { *info = -4; } else if (*ldb < maxMACRO(1,*n)) { *info = -5; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("GGBAL ", &i__1); return 0; } k = 1; l = *n; /* Quick return if possible */ if (*n == 0) { return 0; } if (template_blas_lsame(job, "N")) { *ilo = 1; *ihi = *n; i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { lscale[i__] = 1.; rscale[i__] = 1.; /* L10: */ } return 0; } if (k == l) { *ilo = 1; *ihi = 1; lscale[1] = 1.; rscale[1] = 1.; return 0; } if (template_blas_lsame(job, "S")) { goto L190; } goto L30; /* Permute the matrices A and B to isolate the eigenvalues. Find row with one nonzero in columns 1 through L */ L20: l = lm1; if (l != 1) { goto L30; } rscale[1] = 1.; lscale[1] = 1.; goto L190; L30: lm1 = l - 1; for (i__ = l; i__ >= 1; --i__) { i__1 = lm1; for (j = 1; j <= i__1; ++j) { jp1 = j + 1; if (a_ref(i__, j) != 0. || b_ref(i__, j) != 0.) { goto L50; } /* L40: */ } j = l; goto L70; L50: i__1 = l; for (j = jp1; j <= i__1; ++j) { if (a_ref(i__, j) != 0. || b_ref(i__, j) != 0.) { goto L80; } /* L60: */ } j = jp1 - 1; L70: m = l; iflow = 1; goto L160; L80: ; } goto L100; /* Find column with one nonzero in rows K through N */ L90: ++k; L100: i__1 = l; for (j = k; j <= i__1; ++j) { i__2 = lm1; for (i__ = k; i__ <= i__2; ++i__) { ip1 = i__ + 1; if (a_ref(i__, j) != 0. || b_ref(i__, j) != 0.) { goto L120; } /* L110: */ } i__ = l; goto L140; L120: i__2 = l; for (i__ = ip1; i__ <= i__2; ++i__) { if (a_ref(i__, j) != 0. || b_ref(i__, j) != 0.) { goto L150; } /* L130: */ } i__ = ip1 - 1; L140: m = k; iflow = 2; goto L160; L150: ; } goto L190; /* Permute rows M and I */ L160: lscale[m] = (Treal) i__; if (i__ == m) { goto L170; } i__1 = *n - k + 1; template_blas_swap(&i__1, &a_ref(i__, k), lda, &a_ref(m, k), lda); i__1 = *n - k + 1; template_blas_swap(&i__1, &b_ref(i__, k), ldb, &b_ref(m, k), ldb); /* Permute columns M and J */ L170: rscale[m] = (Treal) j; if (j == m) { goto L180; } template_blas_swap(&l, &a_ref(1, j), &c__1, &a_ref(1, m), &c__1); template_blas_swap(&l, &b_ref(1, j), &c__1, &b_ref(1, m), &c__1); L180: switch (iflow) { case 1: goto L20; case 2: goto L90; } L190: *ilo = k; *ihi = l; if (*ilo == *ihi) { return 0; } if (template_blas_lsame(job, "P")) { return 0; } /* Balance the submatrix in rows ILO to IHI. */ nr = *ihi - *ilo + 1; i__1 = *ihi; for (i__ = *ilo; i__ <= i__1; ++i__) { rscale[i__] = 0.; lscale[i__] = 0.; work[i__] = 0.; work[i__ + *n] = 0.; work[i__ + (*n << 1)] = 0.; work[i__ + *n * 3] = 0.; work[i__ + (*n << 2)] = 0.; work[i__ + *n * 5] = 0.; /* L200: */ } /* Compute right side vector in resulting linear equations */ basl = template_blas_lg10(&c_b34); i__1 = *ihi; for (i__ = *ilo; i__ <= i__1; ++i__) { i__2 = *ihi; for (j = *ilo; j <= i__2; ++j) { tb = b_ref(i__, j); ta = a_ref(i__, j); if (ta == 0.) { goto L210; } d__1 = absMACRO(ta); ta = template_blas_lg10(&d__1) / basl; L210: if (tb == 0.) { goto L220; } d__1 = absMACRO(tb); tb = template_blas_lg10(&d__1) / basl; L220: work[i__ + (*n << 2)] = work[i__ + (*n << 2)] - ta - tb; work[j + *n * 5] = work[j + *n * 5] - ta - tb; /* L230: */ } /* L240: */ } coef = 1. / (Treal) (nr << 1); coef2 = coef * coef; coef5 = coef2 * .5; nrp2 = nr + 2; beta = 0.; it = 1; /* Start generalized conjugate gradient iteration */ L250: gamma = template_blas_dot(&nr, &work[*ilo + (*n << 2)], &c__1, &work[*ilo + (*n << 2)] , &c__1) + template_blas_dot(&nr, &work[*ilo + *n * 5], &c__1, &work[*ilo + * n * 5], &c__1); ew = 0.; ewc = 0.; i__1 = *ihi; for (i__ = *ilo; i__ <= i__1; ++i__) { ew += work[i__ + (*n << 2)]; ewc += work[i__ + *n * 5]; /* L260: */ } /* Computing 2nd power */ d__1 = ew; /* Computing 2nd power */ d__2 = ewc; /* Computing 2nd power */ d__3 = ew - ewc; gamma = coef * gamma - coef2 * (d__1 * d__1 + d__2 * d__2) - coef5 * ( d__3 * d__3); if (gamma == 0.) { goto L350; } if (it != 1) { beta = gamma / pgamma; } t = coef5 * (ewc - ew * 3.); tc = coef5 * (ew - ewc * 3.); template_blas_scal(&nr, &beta, &work[*ilo], &c__1); template_blas_scal(&nr, &beta, &work[*ilo + *n], &c__1); template_blas_axpy(&nr, &coef, &work[*ilo + (*n << 2)], &c__1, &work[*ilo + *n], & c__1); template_blas_axpy(&nr, &coef, &work[*ilo + *n * 5], &c__1, &work[*ilo], &c__1); i__1 = *ihi; for (i__ = *ilo; i__ <= i__1; ++i__) { work[i__] += tc; work[i__ + *n] += t; /* L270: */ } /* Apply matrix to vector */ i__1 = *ihi; for (i__ = *ilo; i__ <= i__1; ++i__) { kount = 0; sum = 0.; i__2 = *ihi; for (j = *ilo; j <= i__2; ++j) { if (a_ref(i__, j) == 0.) { goto L280; } ++kount; sum += work[j]; L280: if (b_ref(i__, j) == 0.) { goto L290; } ++kount; sum += work[j]; L290: ; } work[i__ + (*n << 1)] = (Treal) kount * work[i__ + *n] + sum; /* L300: */ } i__1 = *ihi; for (j = *ilo; j <= i__1; ++j) { kount = 0; sum = 0.; i__2 = *ihi; for (i__ = *ilo; i__ <= i__2; ++i__) { if (a_ref(i__, j) == 0.) { goto L310; } ++kount; sum += work[i__ + *n]; L310: if (b_ref(i__, j) == 0.) { goto L320; } ++kount; sum += work[i__ + *n]; L320: ; } work[j + *n * 3] = (Treal) kount * work[j] + sum; /* L330: */ } sum = template_blas_dot(&nr, &work[*ilo + *n], &c__1, &work[*ilo + (*n << 1)], &c__1) + template_blas_dot(&nr, &work[*ilo], &c__1, &work[*ilo + *n * 3], &c__1); alpha = gamma / sum; /* Determine correction to current iteration */ cmax = 0.; i__1 = *ihi; for (i__ = *ilo; i__ <= i__1; ++i__) { cor = alpha * work[i__ + *n]; if (absMACRO(cor) > cmax) { cmax = absMACRO(cor); } lscale[i__] += cor; cor = alpha * work[i__]; if (absMACRO(cor) > cmax) { cmax = absMACRO(cor); } rscale[i__] += cor; /* L340: */ } if (cmax < .5) { goto L350; } d__1 = -alpha; template_blas_axpy(&nr, &d__1, &work[*ilo + (*n << 1)], &c__1, &work[*ilo + (*n << 2)] , &c__1); d__1 = -alpha; template_blas_axpy(&nr, &d__1, &work[*ilo + *n * 3], &c__1, &work[*ilo + *n * 5], & c__1); pgamma = gamma; ++it; if (it <= nrp2) { goto L250; } /* End generalized conjugate gradient iteration */ L350: sfmin = template_lapack_lamch("S", (Treal)0); sfmax = 1. / sfmin; lsfmin = (integer) (template_blas_lg10(&sfmin) / basl + 1.); lsfmax = (integer) (template_blas_lg10(&sfmax) / basl); i__1 = *ihi; for (i__ = *ilo; i__ <= i__1; ++i__) { i__2 = *n - *ilo + 1; irab = template_blas_idamax(&i__2, &a_ref(i__, *ilo), lda); rab = (d__1 = a_ref(i__, irab + *ilo - 1), absMACRO(d__1)); i__2 = *n - *ilo + 1; irab = template_blas_idamax(&i__2, &b_ref(i__, *ilo), lda); /* Computing MAX */ d__2 = rab, d__3 = (d__1 = b_ref(i__, irab + *ilo - 1), absMACRO(d__1)); rab = maxMACRO(d__2,d__3); d__1 = rab + sfmin; lrab = (integer) (template_blas_lg10(&d__1) / basl + 1.); ir = (integer) (lscale[i__] + template_lapack_d_sign(&c_b70, &lscale[i__])); /* Computing MIN */ i__2 = maxMACRO(ir,lsfmin), i__2 = minMACRO(i__2,lsfmax), i__3 = lsfmax - lrab; ir = minMACRO(i__2,i__3); lscale[i__] = template_lapack_pow_di(&c_b34, &ir); icab = template_blas_idamax(ihi, &a_ref(1, i__), &c__1); cab = (d__1 = a_ref(icab, i__), absMACRO(d__1)); icab = template_blas_idamax(ihi, &b_ref(1, i__), &c__1); /* Computing MAX */ d__2 = cab, d__3 = (d__1 = b_ref(icab, i__), absMACRO(d__1)); cab = maxMACRO(d__2,d__3); d__1 = cab + sfmin; lcab = (integer) (template_blas_lg10(&d__1) / basl + 1.); jc = (integer) (rscale[i__] + template_lapack_d_sign(&c_b70, &rscale[i__])); /* Computing MIN */ i__2 = maxMACRO(jc,lsfmin), i__2 = minMACRO(i__2,lsfmax), i__3 = lsfmax - lcab; jc = minMACRO(i__2,i__3); rscale[i__] = template_lapack_pow_di(&c_b34, &jc); /* L360: */ } /* Row scaling of matrices A and B */ i__1 = *ihi; for (i__ = *ilo; i__ <= i__1; ++i__) { i__2 = *n - *ilo + 1; template_blas_scal(&i__2, &lscale[i__], &a_ref(i__, *ilo), lda); i__2 = *n - *ilo + 1; template_blas_scal(&i__2, &lscale[i__], &b_ref(i__, *ilo), ldb); /* L370: */ } /* Column scaling of matrices A and B */ i__1 = *ihi; for (j = *ilo; j <= i__1; ++j) { template_blas_scal(ihi, &rscale[j], &a_ref(1, j), &c__1); template_blas_scal(ihi, &rscale[j], &b_ref(1, j), &c__1); /* L380: */ } return 0; /* End of DGGBAL */ } /* dggbal_ */ #undef b_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lag2.h0000664000175000017500000003076512743400307022644 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LAG2_HEADER #define TEMPLATE_LAPACK_LAG2_HEADER template int template_lapack_lag2(const Treal *a, const integer *lda, const Treal *b, const integer *ldb, const Treal *safmin, Treal *scale1, Treal * scale2, Treal *wr1, Treal *wr2, Treal *wi) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University March 31, 1993 Purpose ======= DLAG2 computes the eigenvalues of a 2 x 2 generalized eigenvalue problem A - w B, with scaling as necessary to avoid over-/underflow. The scaling factor "s" results in a modified eigenvalue equation s A - w B where s is a non-negative scaling factor chosen so that w, w B, and s A do not overflow and, if possible, do not underflow, either. Arguments ========= A (input) DOUBLE PRECISION array, dimension (LDA, 2) On entry, the 2 x 2 matrix A. It is assumed that its 1-norm is less than 1/SAFMIN. Entries less than sqrt(SAFMIN)*norm(A) are subject to being treated as zero. LDA (input) INTEGER The leading dimension of the array A. LDA >= 2. B (input) DOUBLE PRECISION array, dimension (LDB, 2) On entry, the 2 x 2 upper triangular matrix B. It is assumed that the one-norm of B is less than 1/SAFMIN. The diagonals should be at least sqrt(SAFMIN) times the largest element of B (in absolute value); if a diagonal is smaller than that, then +/- sqrt(SAFMIN) will be used instead of that diagonal. LDB (input) INTEGER The leading dimension of the array B. LDB >= 2. SAFMIN (input) DOUBLE PRECISION The smallest positive number s.t. 1/SAFMIN does not overflow. (This should always be DLAMCH('S') -- it is an argument in order to avoid having to call DLAMCH frequently.) SCALE1 (output) DOUBLE PRECISION A scaling factor used to avoid over-/underflow in the eigenvalue equation which defines the first eigenvalue. If the eigenvalues are complex, then the eigenvalues are ( WR1 +/- WI i ) / SCALE1 (which may lie outside the exponent range of the machine), SCALE1=SCALE2, and SCALE1 will always be positive. If the eigenvalues are real, then the first (real) eigenvalue is WR1 / SCALE1 , but this may overflow or underflow, and in fact, SCALE1 may be zero or less than the underflow threshhold if the exact eigenvalue is sufficiently large. SCALE2 (output) DOUBLE PRECISION A scaling factor used to avoid over-/underflow in the eigenvalue equation which defines the second eigenvalue. If the eigenvalues are complex, then SCALE2=SCALE1. If the eigenvalues are real, then the second (real) eigenvalue is WR2 / SCALE2 , but this may overflow or underflow, and in fact, SCALE2 may be zero or less than the underflow threshhold if the exact eigenvalue is sufficiently large. WR1 (output) DOUBLE PRECISION If the eigenvalue is real, then WR1 is SCALE1 times the eigenvalue closest to the (2,2) element of A B**(-1). If the eigenvalue is complex, then WR1=WR2 is SCALE1 times the real part of the eigenvalues. WR2 (output) DOUBLE PRECISION If the eigenvalue is real, then WR2 is SCALE2 times the other eigenvalue. If the eigenvalue is complex, then WR1=WR2 is SCALE1 times the real part of the eigenvalues. WI (output) DOUBLE PRECISION If the eigenvalue is real, then WI is zero. If the eigenvalue is complex, then WI is SCALE1 times the imaginary part of the eigenvalues. WI will always be non-negative. ===================================================================== Parameter adjustments */ /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset; Treal d__1, d__2, d__3, d__4, d__5, d__6; /* Local variables */ Treal diff, bmin, wbig, wabs, wdet, r__, binv11, binv22, discr, anorm, bnorm, bsize, shift, c1, c2, c3, c4, c5, rtmin, rtmax, wsize, s1, s2, a11, a12, a21, a22, b11, b12, b22, ascale, bscale, pp, qq, ss, wscale, safmax, wsmall, as11, as12, as22, sum, abi22; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; /* Function Body */ rtmin = template_blas_sqrt(*safmin); rtmax = 1. / rtmin; safmax = 1. / *safmin; /* Scale A Computing MAX */ d__5 = (d__1 = a_ref(1, 1), absMACRO(d__1)) + (d__2 = a_ref(2, 1), absMACRO(d__2)), d__6 = (d__3 = a_ref(1, 2), absMACRO(d__3)) + (d__4 = a_ref(2, 2), absMACRO( d__4)), d__5 = maxMACRO(d__5,d__6); anorm = maxMACRO(d__5,*safmin); ascale = 1. / anorm; a11 = ascale * a_ref(1, 1); a21 = ascale * a_ref(2, 1); a12 = ascale * a_ref(1, 2); a22 = ascale * a_ref(2, 2); /* Perturb B if necessary to insure non-singularity */ b11 = b_ref(1, 1); b12 = b_ref(1, 2); b22 = b_ref(2, 2); /* Computing MAX */ d__1 = absMACRO(b11), d__2 = absMACRO(b12), d__1 = maxMACRO(d__1,d__2), d__2 = absMACRO(b22), d__1 = maxMACRO(d__1,d__2); bmin = rtmin * maxMACRO(d__1,rtmin); if (absMACRO(b11) < bmin) { b11 = template_lapack_d_sign(&bmin, &b11); } if (absMACRO(b22) < bmin) { b22 = template_lapack_d_sign(&bmin, &b22); } /* Scale B Computing MAX */ d__1 = absMACRO(b11), d__2 = absMACRO(b12) + absMACRO(b22), d__1 = maxMACRO(d__1,d__2); bnorm = maxMACRO(d__1,*safmin); /* Computing MAX */ d__1 = absMACRO(b11), d__2 = absMACRO(b22); bsize = maxMACRO(d__1,d__2); bscale = 1. / bsize; b11 *= bscale; b12 *= bscale; b22 *= bscale; /* Compute larger eigenvalue by method described by C. van Loan ( AS is A shifted by -SHIFT*B ) */ binv11 = 1. / b11; binv22 = 1. / b22; s1 = a11 * binv11; s2 = a22 * binv22; if (absMACRO(s1) <= absMACRO(s2)) { as12 = a12 - s1 * b12; as22 = a22 - s1 * b22; ss = a21 * (binv11 * binv22); abi22 = as22 * binv22 - ss * b12; pp = abi22 * .5; shift = s1; } else { as12 = a12 - s2 * b12; as11 = a11 - s2 * b11; ss = a21 * (binv11 * binv22); abi22 = -ss * b12; pp = (as11 * binv11 + abi22) * .5; shift = s2; } qq = ss * as12; if ((d__1 = pp * rtmin, absMACRO(d__1)) >= 1.) { /* Computing 2nd power */ d__1 = rtmin * pp; discr = d__1 * d__1 + qq * *safmin; r__ = template_blas_sqrt((absMACRO(discr))) * rtmax; } else { /* Computing 2nd power */ d__1 = pp; if (d__1 * d__1 + absMACRO(qq) <= *safmin) { /* Computing 2nd power */ d__1 = rtmax * pp; discr = d__1 * d__1 + qq * safmax; r__ = template_blas_sqrt((absMACRO(discr))) * rtmin; } else { /* Computing 2nd power */ d__1 = pp; discr = d__1 * d__1 + qq; r__ = template_blas_sqrt((absMACRO(discr))); } } /* Note: the test of R in the following IF is to cover the case when DISCR is small and negative and is flushed to zero during the calculation of R. On machines which have a consistent flush-to-zero threshhold and handle numbers above that threshhold correctly, it would not be necessary. */ if (discr >= 0. || r__ == 0.) { sum = pp + template_lapack_d_sign(&r__, &pp); diff = pp - template_lapack_d_sign(&r__, &pp); wbig = shift + sum; /* Compute smaller eigenvalue */ wsmall = shift + diff; /* Computing MAX */ d__1 = absMACRO(wsmall); if (absMACRO(wbig) * .5 > maxMACRO(d__1,*safmin)) { wdet = (a11 * a22 - a12 * a21) * (binv11 * binv22); wsmall = wdet / wbig; } /* Choose (real) eigenvalue closest to 2,2 element of A*B**(-1) for WR1. */ if (pp > abi22) { *wr1 = minMACRO(wbig,wsmall); *wr2 = maxMACRO(wbig,wsmall); } else { *wr1 = maxMACRO(wbig,wsmall); *wr2 = minMACRO(wbig,wsmall); } *wi = 0.; } else { /* Complex eigenvalues */ *wr1 = shift + pp; *wr2 = *wr1; *wi = r__; } /* Further scaling to avoid underflow and overflow in computing SCALE1 and overflow in computing w*B. This scale factor (WSCALE) is bounded from above using C1 and C2, and from below using C3 and C4. C1 implements the condition s A must never overflow. C2 implements the condition w B must never overflow. C3, with C2, implement the condition that s A - w B must never overflow. C4 implements the condition s should not underflow. C5 implements the condition max(s,|w|) should be at least 2. */ c1 = bsize * (*safmin * maxMACRO(1.,ascale)); c2 = *safmin * maxMACRO(1.,bnorm); c3 = bsize * *safmin; if (ascale <= 1. && bsize <= 1.) { /* Computing MIN */ d__1 = 1., d__2 = ascale / *safmin * bsize; c4 = minMACRO(d__1,d__2); } else { c4 = 1.; } if (ascale <= 1. || bsize <= 1.) { /* Computing MIN */ d__1 = 1., d__2 = ascale * bsize; c5 = minMACRO(d__1,d__2); } else { c5 = 1.; } /* Scale first eigenvalue */ wabs = absMACRO(*wr1) + absMACRO(*wi); /* Computing MAX Computing MIN */ d__3 = c4, d__4 = maxMACRO(wabs,c5) * .5; d__1 = maxMACRO(*safmin,c1), d__2 = (wabs * c2 + c3) * 1.0000100000000001, d__1 = maxMACRO(d__1,d__2), d__2 = minMACRO(d__3,d__4); wsize = maxMACRO(d__1,d__2); if (wsize != 1.) { wscale = 1. / wsize; if (wsize > 1.) { *scale1 = maxMACRO(ascale,bsize) * wscale * minMACRO(ascale,bsize); } else { *scale1 = minMACRO(ascale,bsize) * wscale * maxMACRO(ascale,bsize); } *wr1 *= wscale; if (*wi != 0.) { *wi *= wscale; *wr2 = *wr1; *scale2 = *scale1; } } else { *scale1 = ascale * bsize; *scale2 = *scale1; } /* Scale second eigenvalue (if real) */ if (*wi == 0.) { /* Computing MAX Computing MIN Computing MAX */ d__5 = absMACRO(*wr2); d__3 = c4, d__4 = maxMACRO(d__5,c5) * .5; d__1 = maxMACRO(*safmin,c1), d__2 = (absMACRO(*wr2) * c2 + c3) * 1.0000100000000001, d__1 = maxMACRO(d__1,d__2), d__2 = minMACRO(d__3, d__4); wsize = maxMACRO(d__1,d__2); if (wsize != 1.) { wscale = 1. / wsize; if (wsize > 1.) { *scale2 = maxMACRO(ascale,bsize) * wscale * minMACRO(ascale,bsize); } else { *scale2 = minMACRO(ascale,bsize) * wscale * maxMACRO(ascale,bsize); } *wr2 *= wscale; } else { *scale2 = ascale * bsize; } } /* End of DLAG2 */ return 0; } /* dlag2_ */ #undef b_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larrd.h0000664000175000017500000006503712743400307023123 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARRD_HEADER #define TEMPLATE_LAPACK_LARRD_HEADER template int template_lapack_larrd(const char *range, const char *order, const integer *n, Treal *vl, Treal *vu, integer *il, integer *iu, Treal *gers, Treal *reltol, Treal *d__, Treal *e, Treal *e2, Treal *pivmin, integer *nsplit, integer *isplit, integer *m, Treal *w, Treal *werr, Treal *wl, Treal *wu, integer *iblock, integer *indexw, Treal *work, integer *iwork, integer *info) { /* System generated locals */ integer i__1, i__2, i__3; Treal d__1, d__2; /* Local variables */ integer i__, j, ib, ie, je, nb; Treal gl; integer im, in; Treal gu; integer iw, jee; Treal eps; integer nwl; Treal wlu = 0; Treal wul = 0; integer nwu; Treal tmp1, tmp2; integer iend, jblk, ioff, iout, itmp1, itmp2, jdisc; integer iinfo; Treal atoli; integer iwoff, itmax; Treal wkill, rtoli, uflow, tnorm; integer ibegin; integer irange, idiscl, idumma[1]; integer idiscu; logical ncnvrg, toofew; /* -- LAPACK auxiliary routine (version 3.2.1) -- */ /* -- LAPACK is a software package provided by Univ. of Tennessee, -- */ /* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- */ /* -- April 2009 -- */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* DLARRD computes the eigenvalues of a symmetric tridiagonal */ /* matrix T to suitable accuracy. This is an auxiliary code to be */ /* called from DSTEMR. */ /* The user may ask for all eigenvalues, all eigenvalues */ /* in the half-open interval (VL, VU], or the IL-th through IU-th */ /* eigenvalues. */ /* To avoid overflow, the matrix must be scaled so that its */ /* largest element is no greater than overflow**(1/2) * */ /* underflow**(1/4) in absolute value, and for greatest */ /* accuracy, it should not be much smaller than that. */ /* See W. Kahan "Accurate Eigenvalues of a Symmetric Tridiagonal */ /* Matrix", Report CS41, Computer Science Dept., Stanford */ /* University, July 21, 1966. */ /* Arguments */ /* ========= */ /* RANGE (input) CHARACTER */ /* = 'A': ("All") all eigenvalues will be found. */ /* = 'V': ("Value") all eigenvalues in the half-open interval */ /* (VL, VU] will be found. */ /* = 'I': ("Index") the IL-th through IU-th eigenvalues (of the */ /* entire matrix) will be found. */ /* ORDER (input) CHARACTER */ /* = 'B': ("By Block") the eigenvalues will be grouped by */ /* split-off block (see IBLOCK, ISPLIT) and */ /* ordered from smallest to largest within */ /* the block. */ /* = 'E': ("Entire matrix") */ /* the eigenvalues for the entire matrix */ /* will be ordered from smallest to */ /* largest. */ /* N (input) INTEGER */ /* The order of the tridiagonal matrix T. N >= 0. */ /* VL (input) DOUBLE PRECISION */ /* VU (input) DOUBLE PRECISION */ /* If RANGE='V', the lower and upper bounds of the interval to */ /* be searched for eigenvalues. Eigenvalues less than or equal */ /* to VL, or greater than VU, will not be returned. VL < VU. */ /* Not referenced if RANGE = 'A' or 'I'. */ /* IL (input) INTEGER */ /* IU (input) INTEGER */ /* If RANGE='I', the indices (in ascending order) of the */ /* smallest and largest eigenvalues to be returned. */ /* 1 <= IL <= IU <= N, if N > 0; IL = 1 and IU = 0 if N = 0. */ /* Not referenced if RANGE = 'A' or 'V'. */ /* GERS (input) DOUBLE PRECISION array, dimension (2*N) */ /* The N Gerschgorin intervals (the i-th Gerschgorin interval */ /* is (GERS(2*i-1), GERS(2*i)). */ /* RELTOL (input) DOUBLE PRECISION */ /* The minimum relative width of an interval. When an interval */ /* is narrower than RELTOL times the larger (in */ /* magnitude) endpoint, then it is considered to be */ /* sufficiently small, i.e., converged. Note: this should */ /* always be at least radix*machine epsilon. */ /* D (input) DOUBLE PRECISION array, dimension (N) */ /* The n diagonal elements of the tridiagonal matrix T. */ /* E (input) DOUBLE PRECISION array, dimension (N-1) */ /* The (n-1) off-diagonal elements of the tridiagonal matrix T. */ /* E2 (input) DOUBLE PRECISION array, dimension (N-1) */ /* The (n-1) squared off-diagonal elements of the tridiagonal matrix T. */ /* PIVMIN (input) DOUBLE PRECISION */ /* The minimum pivot allowed in the Sturm sequence for T. */ /* NSPLIT (input) INTEGER */ /* The number of diagonal blocks in the matrix T. */ /* 1 <= NSPLIT <= N. */ /* ISPLIT (input) INTEGER array, dimension (N) */ /* The splitting points, at which T breaks up into submatrices. */ /* The first submatrix consists of rows/columns 1 to ISPLIT(1), */ /* the second of rows/columns ISPLIT(1)+1 through ISPLIT(2), */ /* etc., and the NSPLIT-th consists of rows/columns */ /* ISPLIT(NSPLIT-1)+1 through ISPLIT(NSPLIT)=N. */ /* (Only the first NSPLIT elements will actually be used, but */ /* since the user cannot know a priori what value NSPLIT will */ /* have, N words must be reserved for ISPLIT.) */ /* M (output) INTEGER */ /* The actual number of eigenvalues found. 0 <= M <= N. */ /* (See also the description of INFO=2,3.) */ /* W (output) DOUBLE PRECISION array, dimension (N) */ /* On exit, the first M elements of W will contain the */ /* eigenvalue approximations. DLARRD computes an interval */ /* I_j = (a_j, b_j] that includes eigenvalue j. The eigenvalue */ /* approximation is given as the interval midpoint */ /* W(j)= ( a_j + b_j)/2. The corresponding error is bounded by */ /* WERR(j) = abs( a_j - b_j)/2 */ /* WERR (output) DOUBLE PRECISION array, dimension (N) */ /* The error bound on the corresponding eigenvalue approximation */ /* in W. */ /* WL (output) DOUBLE PRECISION */ /* WU (output) DOUBLE PRECISION */ /* The interval (WL, WU] contains all the wanted eigenvalues. */ /* If RANGE='V', then WL=VL and WU=VU. */ /* If RANGE='A', then WL and WU are the global Gerschgorin bounds */ /* on the spectrum. */ /* If RANGE='I', then WL and WU are computed by DLAEBZ from the */ /* index range specified. */ /* IBLOCK (output) INTEGER array, dimension (N) */ /* At each row/column j where E(j) is zero or small, the */ /* matrix T is considered to split into a block diagonal */ /* matrix. On exit, if INFO = 0, IBLOCK(i) specifies to which */ /* block (from 1 to the number of blocks) the eigenvalue W(i) */ /* belongs. (DLARRD may use the remaining N-M elements as */ /* workspace.) */ /* INDEXW (output) INTEGER array, dimension (N) */ /* The indices of the eigenvalues within each block (submatrix); */ /* for example, INDEXW(i)= j and IBLOCK(i)=k imply that the */ /* i-th eigenvalue W(i) is the j-th eigenvalue in block k. */ /* WORK (workspace) DOUBLE PRECISION array, dimension (4*N) */ /* IWORK (workspace) INTEGER array, dimension (3*N) */ /* INFO (output) INTEGER */ /* = 0: successful exit */ /* < 0: if INFO = -i, the i-th argument had an illegal value */ /* > 0: some or all of the eigenvalues failed to converge or */ /* were not computed: */ /* =1 or 3: Bisection failed to converge for some */ /* eigenvalues; these eigenvalues are flagged by a */ /* negative block number. The effect is that the */ /* eigenvalues may not be as accurate as the */ /* absolute and relative tolerances. This is */ /* generally caused by unexpectedly inaccurate */ /* arithmetic. */ /* =2 or 3: RANGE='I' only: Not all of the eigenvalues */ /* IL:IU were found. */ /* Effect: M < IU+1-IL */ /* Cause: non-monotonic arithmetic, causing the */ /* Sturm sequence to be non-monotonic. */ /* Cure: recalculate, using RANGE='A', and pick */ /* out eigenvalues IL:IU. In some cases, */ /* increasing the PARAMETER "FUDGE" may */ /* make things work. */ /* = 4: RANGE='I', and the Gershgorin interval */ /* initially used was too small. No eigenvalues */ /* were computed. */ /* Probable cause: your machine has sloppy */ /* floating-point arithmetic. */ /* Cure: Increase the PARAMETER "FUDGE", */ /* recompile, and try again. */ /* Internal Parameters */ /* =================== */ /* FUDGE DOUBLE PRECISION, default = 2 */ /* A "fudge factor" to widen the Gershgorin intervals. Ideally, */ /* a value of 1 should work, but on machines with sloppy */ /* arithmetic, this needs to be larger. The default for */ /* publicly released versions should be large enough to handle */ /* the worst machine around. Note that this has no effect */ /* on accuracy of the solution. */ /* Based on contributions by */ /* W. Kahan, University of California, Berkeley, USA */ /* Beresford Parlett, University of California, Berkeley, USA */ /* Jim Demmel, University of California, Berkeley, USA */ /* Inderjit Dhillon, University of Texas, Austin, USA */ /* Osni Marques, LBNL/NERSC, USA */ /* Christof Voemel, University of California, Berkeley, USA */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. Local Arrays .. */ /* .. */ /* .. External Functions .. */ /* .. */ /* .. External Subroutines .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; integer c__3 = 3; integer c__2 = 2; integer c__0 = 0; /* Parameter adjustments */ --iwork; --work; --indexw; --iblock; --werr; --w; --isplit; --e2; --e; --d__; --gers; /* Function Body */ *info = 0; /* Decode RANGE */ if (template_blas_lsame(range, "A")) { irange = 1; } else if (template_blas_lsame(range, "V")) { irange = 2; } else if (template_blas_lsame(range, "I")) { irange = 3; } else { irange = 0; } /* Check for Errors */ if (irange <= 0) { *info = -1; } else if (! (template_blas_lsame(order, "B") || template_blas_lsame(order, "E"))) { *info = -2; } else if (*n < 0) { *info = -3; } else if (irange == 2) { if (*vl >= *vu) { *info = -5; } } else if (irange == 3 && (*il < 1 || *il > maxMACRO(1,*n))) { *info = -6; } else if (irange == 3 && (*iu < minMACRO(*n,*il) || *iu > *n)) { *info = -7; } if (*info != 0) { return 0; } /* Initialize error flags */ *info = 0; ncnvrg = FALSE_; toofew = FALSE_; /* Quick return if possible */ *m = 0; if (*n == 0) { return 0; } /* Simplification: */ if (irange == 3 && *il == 1 && *iu == *n) { irange = 1; } /* Get machine constants */ eps = template_lapack_lamch("P",(Treal)0); uflow = template_lapack_lamch("U",(Treal)0); /* Special Case when N=1 */ /* Treat case of 1x1 matrix for quick return */ if (*n == 1) { if ( irange == 1 || ( irange == 2 && d__[1] > *vl && d__[1] <= *vu ) || ( irange == 3 && *il == 1 && *iu == 1 ) ) { *m = 1; w[1] = d__[1]; /* The computation error of the eigenvalue is zero */ werr[1] = 0.; iblock[1] = 1; indexw[1] = 1; } return 0; } /* NB is the minimum vector length for vector bisection, or 0 */ /* if only scalar is to be done. */ nb = template_lapack_ilaenv(&c__1, "DSTEBZ", " ", n, &c_n1, &c_n1, &c_n1, (ftnlen)6, (ftnlen)1); if (nb <= 1) { nb = 0; } /* Find global spectral radius */ gl = d__[1]; gu = d__[1]; i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { /* Computing MIN */ d__1 = gl, d__2 = gers[(i__ << 1) - 1]; gl = minMACRO(d__1,d__2); /* Computing MAX */ d__1 = gu, d__2 = gers[i__ * 2]; gu = maxMACRO(d__1,d__2); /* L5: */ } /* Compute global Gerschgorin bounds and spectral diameter */ /* Computing MAX */ d__1 = absMACRO(gl), d__2 = absMACRO(gu); tnorm = maxMACRO(d__1,d__2); gl = gl - tnorm * 2. * eps * *n - *pivmin * 4.; gu = gu + tnorm * 2. * eps * *n + *pivmin * 4.; /* [JAN/28/2009] remove the line below since SPDIAM variable not use */ /* SPDIAM = GU - GL */ /* Input arguments for DLAEBZ: */ /* The relative tolerance. An interval (a,b] lies within */ /* "relative tolerance" if b-a < RELTOL*max(|a|,|b|), */ rtoli = *reltol; /* Set the absolute tolerance for interval convergence to zero to force */ /* interval convergence based on relative size of the interval. */ /* This is dangerous because intervals might not converge when RELTOL is */ /* small. But at least a very small number should be selected so that for */ /* strongly graded matrices, the code can get relatively accurate */ /* eigenvalues. */ atoli = uflow * 4. + *pivmin * 4.; if (irange == 3) { /* RANGE='I': Compute an interval containing eigenvalues */ /* IL through IU. The initial interval [GL,GU] from the global */ /* Gerschgorin bounds GL and GU is refined by DLAEBZ. */ itmax = (integer) ((template_blas_log(tnorm + *pivmin) - template_blas_log(*pivmin)) / template_blas_log(2.)) + 2; work[*n + 1] = gl; work[*n + 2] = gl; work[*n + 3] = gu; work[*n + 4] = gu; work[*n + 5] = gl; work[*n + 6] = gu; iwork[1] = -1; iwork[2] = -1; iwork[3] = *n + 1; iwork[4] = *n + 1; iwork[5] = *il - 1; iwork[6] = *iu; template_lapack_laebz(&c__3, &itmax, n, &c__2, &c__2, &nb, &atoli, &rtoli, pivmin, & d__[1], &e[1], &e2[1], &iwork[5], &work[*n + 1], &work[*n + 5] , &iout, &iwork[1], &w[1], &iblock[1], &iinfo); if (iinfo != 0) { *info = iinfo; return 0; } /* On exit, output intervals may not be ordered by ascending negcount */ if (iwork[6] == *iu) { *wl = work[*n + 1]; wlu = work[*n + 3]; nwl = iwork[1]; *wu = work[*n + 4]; wul = work[*n + 2]; nwu = iwork[4]; } else { *wl = work[*n + 2]; wlu = work[*n + 4]; nwl = iwork[2]; *wu = work[*n + 3]; wul = work[*n + 1]; nwu = iwork[3]; } /* On exit, the interval [WL, WLU] contains a value with negcount NWL, */ /* and [WUL, WU] contains a value with negcount NWU. */ if (nwl < 0 || nwl >= *n || nwu < 1 || nwu > *n) { *info = 4; return 0; } } else if (irange == 2) { *wl = *vl; *wu = *vu; } else if (irange == 1) { *wl = gl; *wu = gu; } /* Find Eigenvalues -- Loop Over blocks and recompute NWL and NWU. */ /* NWL accumulates the number of eigenvalues .le. WL, */ /* NWU accumulates the number of eigenvalues .le. WU */ *m = 0; iend = 0; *info = 0; nwl = 0; nwu = 0; i__1 = *nsplit; for (jblk = 1; jblk <= i__1; ++jblk) { ioff = iend; ibegin = ioff + 1; iend = isplit[jblk]; in = iend - ioff; if (in == 1) { /* 1x1 block */ if (*wl >= d__[ibegin] - *pivmin) { ++nwl; } if (*wu >= d__[ibegin] - *pivmin) { ++nwu; } if (irange == 1 || ( *wl < d__[ibegin] - *pivmin && *wu >= d__[ ibegin] - *pivmin ) ) { ++(*m); w[*m] = d__[ibegin]; werr[*m] = 0.; /* The gap for a single block doesn't matter for the later */ /* algorithm and is assigned an arbitrary large value */ iblock[*m] = jblk; indexw[*m] = 1; } /* Disabled 2x2 case because of a failure on the following matrix */ /* RANGE = 'I', IL = IU = 4 */ /* Original Tridiagonal, d = [ */ /* -0.150102010615740E+00 */ /* -0.849897989384260E+00 */ /* -0.128208148052635E-15 */ /* 0.128257718286320E-15 */ /* ]; */ /* e = [ */ /* -0.357171383266986E+00 */ /* -0.180411241501588E-15 */ /* -0.175152352710251E-15 */ /* ]; */ /* ELSE IF( IN.EQ.2 ) THEN */ /* * 2x2 block */ /* DISC = SQRT( (HALF*(D(IBEGIN)-D(IEND)))**2 + E(IBEGIN)**2 ) */ /* TMP1 = HALF*(D(IBEGIN)+D(IEND)) */ /* L1 = TMP1 - DISC */ /* IF( WL.GE. L1-PIVMIN ) */ /* $ NWL = NWL + 1 */ /* IF( WU.GE. L1-PIVMIN ) */ /* $ NWU = NWU + 1 */ /* IF( IRANGE.EQ.ALLRNG .OR. ( WL.LT.L1-PIVMIN .AND. WU.GE. */ /* $ L1-PIVMIN ) ) THEN */ /* M = M + 1 */ /* W( M ) = L1 */ /* * The uncertainty of eigenvalues of a 2x2 matrix is very small */ /* WERR( M ) = EPS * ABS( W( M ) ) * TWO */ /* IBLOCK( M ) = JBLK */ /* INDEXW( M ) = 1 */ /* ENDIF */ /* L2 = TMP1 + DISC */ /* IF( WL.GE. L2-PIVMIN ) */ /* $ NWL = NWL + 1 */ /* IF( WU.GE. L2-PIVMIN ) */ /* $ NWU = NWU + 1 */ /* IF( IRANGE.EQ.ALLRNG .OR. ( WL.LT.L2-PIVMIN .AND. WU.GE. */ /* $ L2-PIVMIN ) ) THEN */ /* M = M + 1 */ /* W( M ) = L2 */ /* * The uncertainty of eigenvalues of a 2x2 matrix is very small */ /* WERR( M ) = EPS * ABS( W( M ) ) * TWO */ /* IBLOCK( M ) = JBLK */ /* INDEXW( M ) = 2 */ /* ENDIF */ } else { /* General Case - block of size IN >= 2 */ /* Compute local Gerschgorin interval and use it as the initial */ /* interval for DLAEBZ */ gu = d__[ibegin]; gl = d__[ibegin]; tmp1 = 0.; i__2 = iend; for (j = ibegin; j <= i__2; ++j) { /* Computing MIN */ d__1 = gl, d__2 = gers[(j << 1) - 1]; gl = minMACRO(d__1,d__2); /* Computing MAX */ d__1 = gu, d__2 = gers[j * 2]; gu = maxMACRO(d__1,d__2); /* L40: */ } /* [JAN/28/2009] */ /* change SPDIAM by TNORM in lines 2 and 3 thereafter */ /* line 1: remove computation of SPDIAM (not useful anymore) */ /* SPDIAM = GU - GL */ /* GL = GL - FUDGE*SPDIAM*EPS*IN - FUDGE*PIVMIN */ /* GU = GU + FUDGE*SPDIAM*EPS*IN + FUDGE*PIVMIN */ gl = gl - tnorm * 2. * eps * in - *pivmin * 2.; gu = gu + tnorm * 2. * eps * in + *pivmin * 2.; if (irange > 1) { if (gu < *wl) { /* the local block contains none of the wanted eigenvalues */ nwl += in; nwu += in; goto L70; } /* refine search interval if possible, only range (WL,WU] matters */ gl = maxMACRO(gl,*wl); gu = minMACRO(gu,*wu); if (gl >= gu) { goto L70; } } /* Find negcount of initial interval boundaries GL and GU */ work[*n + 1] = gl; work[*n + in + 1] = gu; template_lapack_laebz(&c__1, &c__0, &in, &in, &c__1, &nb, &atoli, &rtoli, pivmin, &d__[ibegin], &e[ibegin], &e2[ibegin], idumma, & work[*n + 1], &work[*n + (in << 1) + 1], &im, &iwork[1], & w[*m + 1], &iblock[*m + 1], &iinfo); if (iinfo != 0) { *info = iinfo; return 0; } nwl += iwork[1]; nwu += iwork[in + 1]; iwoff = *m - iwork[1]; /* Compute Eigenvalues */ itmax = (integer) ((template_blas_log(gu - gl + *pivmin) - template_blas_log(*pivmin)) / template_blas_log( 2.)) + 2; template_lapack_laebz(&c__2, &itmax, &in, &in, &c__1, &nb, &atoli, &rtoli, pivmin, &d__[ibegin], &e[ibegin], &e2[ibegin], idumma, & work[*n + 1], &work[*n + (in << 1) + 1], &iout, &iwork[1], &w[*m + 1], &iblock[*m + 1], &iinfo); if (iinfo != 0) { *info = iinfo; return 0; } /* Copy eigenvalues into W and IBLOCK */ /* Use -JBLK for block number for unconverged eigenvalues. */ /* Loop over the number of output intervals from DLAEBZ */ i__2 = iout; for (j = 1; j <= i__2; ++j) { /* eigenvalue approximation is middle point of interval */ tmp1 = (work[j + *n] + work[j + in + *n]) * .5; /* semi length of error interval */ tmp2 = (d__1 = work[j + *n] - work[j + in + *n], absMACRO(d__1)) * .5; if (j > iout - iinfo) { /* Flag non-convergence. */ ncnvrg = TRUE_; ib = -jblk; } else { ib = jblk; } i__3 = iwork[j + in] + iwoff; for (je = iwork[j] + 1 + iwoff; je <= i__3; ++je) { w[je] = tmp1; werr[je] = tmp2; indexw[je] = je - iwoff; iblock[je] = ib; /* L50: */ } /* L60: */ } *m += im; } L70: ; } /* If RANGE='I', then (WL,WU) contains eigenvalues NWL+1,...,NWU */ /* If NWL+1 < IL or NWU > IU, discard extra eigenvalues. */ if (irange == 3) { idiscl = *il - 1 - nwl; idiscu = nwu - *iu; if (idiscl > 0) { im = 0; i__1 = *m; for (je = 1; je <= i__1; ++je) { /* Remove some of the smallest eigenvalues from the left so that */ /* at the end IDISCL =0. Move all eigenvalues up to the left. */ if (w[je] <= wlu && idiscl > 0) { --idiscl; } else { ++im; w[im] = w[je]; werr[im] = werr[je]; indexw[im] = indexw[je]; iblock[im] = iblock[je]; } /* L80: */ } *m = im; } if (idiscu > 0) { /* Remove some of the largest eigenvalues from the right so that */ /* at the end IDISCU =0. Move all eigenvalues up to the left. */ im = *m + 1; for (je = *m; je >= 1; --je) { if (w[je] >= wul && idiscu > 0) { --idiscu; } else { --im; w[im] = w[je]; werr[im] = werr[je]; indexw[im] = indexw[je]; iblock[im] = iblock[je]; } /* L81: */ } jee = 0; i__1 = *m; for (je = im; je <= i__1; ++je) { ++jee; w[jee] = w[je]; werr[jee] = werr[je]; indexw[jee] = indexw[je]; iblock[jee] = iblock[je]; /* L82: */ } *m = *m - im + 1; } if (idiscl > 0 || idiscu > 0) { /* Code to deal with effects of bad arithmetic. (If N(w) is */ /* monotone non-decreasing, this should never happen.) */ /* Some low eigenvalues to be discarded are not in (WL,WLU], */ /* or high eigenvalues to be discarded are not in (WUL,WU] */ /* so just kill off the smallest IDISCL/largest IDISCU */ /* eigenvalues, by marking the corresponding IBLOCK = 0 */ if (idiscl > 0) { wkill = *wu; i__1 = idiscl; for (jdisc = 1; jdisc <= i__1; ++jdisc) { iw = 0; i__2 = *m; for (je = 1; je <= i__2; ++je) { if (iblock[je] != 0 && (w[je] < wkill || iw == 0)) { iw = je; wkill = w[je]; } /* L90: */ } iblock[iw] = 0; /* L100: */ } } if (idiscu > 0) { wkill = *wl; i__1 = idiscu; for (jdisc = 1; jdisc <= i__1; ++jdisc) { iw = 0; i__2 = *m; for (je = 1; je <= i__2; ++je) { if (iblock[je] != 0 && (w[je] >= wkill || iw == 0)) { iw = je; wkill = w[je]; } /* L110: */ } iblock[iw] = 0; /* L120: */ } } /* Now erase all eigenvalues with IBLOCK set to zero */ im = 0; i__1 = *m; for (je = 1; je <= i__1; ++je) { if (iblock[je] != 0) { ++im; w[im] = w[je]; werr[im] = werr[je]; indexw[im] = indexw[je]; iblock[im] = iblock[je]; } /* L130: */ } *m = im; } if (idiscl < 0 || idiscu < 0) { toofew = TRUE_; } } if ( ( irange == 1 && *m != *n ) || ( irange == 3 && *m != *iu - *il + 1 ) ) { toofew = TRUE_; } /* If ORDER='B', do nothing the eigenvalues are already sorted by */ /* block. */ /* If ORDER='E', sort the eigenvalues from smallest to largest */ if (template_blas_lsame(order, "E") && *nsplit > 1) { i__1 = *m - 1; for (je = 1; je <= i__1; ++je) { ie = 0; tmp1 = w[je]; i__2 = *m; for (j = je + 1; j <= i__2; ++j) { if (w[j] < tmp1) { ie = j; tmp1 = w[j]; } /* L140: */ } if (ie != 0) { tmp2 = werr[ie]; itmp1 = iblock[ie]; itmp2 = indexw[ie]; w[ie] = w[je]; werr[ie] = werr[je]; iblock[ie] = iblock[je]; indexw[ie] = indexw[je]; w[je] = tmp1; werr[je] = tmp2; iblock[je] = itmp1; indexw[je] = itmp2; } /* L150: */ } } *info = 0; if (ncnvrg) { ++(*info); } if (toofew) { *info += 2; } return 0; /* End of DLARRD */ } /* dlarrd_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_getrf.h0000664000175000017500000001500212743400307023111 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_GETRF_HEADER #define TEMPLATE_LAPACK_GETRF_HEADER template int template_lapack_getrf(const integer *m, const integer *n, Treal *a, const integer * lda, integer *ipiv, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University March 31, 1993 Purpose ======= DGETRF computes an LU factorization of a general M-by-N matrix A using partial pivoting with row interchanges. The factorization has the form A = P * L * U where P is a permutation matrix, L is lower triangular with unit diagonal elements (lower trapezoidal if m > n), and U is upper triangular (upper trapezoidal if m < n). This is the right-looking Level 3 BLAS version of the algorithm. Arguments ========= M (input) INTEGER The number of rows of the matrix A. M >= 0. N (input) INTEGER The number of columns of the matrix A. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N matrix to be factored. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,M). IPIV (output) INTEGER array, dimension (min(M,N)) The pivot indices; for 1 <= i <= min(M,N), row i of the matrix was interchanged with row IPIV(i). INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, U(i,i) is exactly zero. The factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations. ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; Treal c_b16 = 1.; Treal c_b19 = -1.; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5; /* Local variables */ integer i__, j; integer iinfo; integer jb, nb; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --ipiv; /* Function Body */ *info = 0; if (*m < 0) { *info = -1; } else if (*n < 0) { *info = -2; } else if (*lda < maxMACRO(1,*m)) { *info = -4; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("GETRF ", &i__1); return 0; } /* Quick return if possible */ if (*m == 0 || *n == 0) { return 0; } /* Determine the block size for this environment. */ nb = template_lapack_ilaenv(&c__1, "DGETRF", " ", m, n, &c_n1, &c_n1, (ftnlen)6, (ftnlen) 1); if (nb <= 1 || nb >= minMACRO(*m,*n)) { /* Use unblocked code. */ template_lapack_getf2(m, n, &a[a_offset], lda, &ipiv[1], info); } else { /* Use blocked code. */ i__1 = minMACRO(*m,*n); i__2 = nb; for (j = 1; i__2 < 0 ? j >= i__1 : j <= i__1; j += i__2) { /* Computing MIN */ i__3 = minMACRO(*m,*n) - j + 1; jb = minMACRO(i__3,nb); /* Factor diagonal and subdiagonal blocks and test for exact singularity. */ i__3 = *m - j + 1; template_lapack_getf2(&i__3, &jb, &a_ref(j, j), lda, &ipiv[j], &iinfo); /* Adjust INFO and the pivot indices. */ if (*info == 0 && iinfo > 0) { *info = iinfo + j - 1; } /* Computing MIN */ i__4 = *m, i__5 = j + jb - 1; i__3 = minMACRO(i__4,i__5); for (i__ = j; i__ <= i__3; ++i__) { ipiv[i__] = j - 1 + ipiv[i__]; /* L10: */ } /* Apply interchanges to columns 1:J-1. */ i__3 = j - 1; i__4 = j + jb - 1; template_lapack_laswp(&i__3, &a[a_offset], lda, &j, &i__4, &ipiv[1], &c__1); if (j + jb <= *n) { /* Apply interchanges to columns J+JB:N. */ i__3 = *n - j - jb + 1; i__4 = j + jb - 1; template_lapack_laswp(&i__3, &a_ref(1, j + jb), lda, &j, &i__4, &ipiv[1], & c__1); /* Compute block row of U. */ i__3 = *n - j - jb + 1; template_blas_trsm("Left", "Lower", "No transpose", "Unit", &jb, &i__3, & c_b16, &a_ref(j, j), lda, &a_ref(j, j + jb), lda); if (j + jb <= *m) { /* Update trailing submatrix. */ i__3 = *m - j - jb + 1; i__4 = *n - j - jb + 1; template_blas_gemm("No transpose", "No transpose", &i__3, &i__4, &jb, &c_b19, &a_ref(j + jb, j), lda, &a_ref(j, j + jb), lda, &c_b16, &a_ref(j + jb, j + jb), lda); } } /* L20: */ } } return 0; /* End of DGETRF */ } /* dgetrf_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_org2r.h0000664000175000017500000001232112743400307023036 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_ORG2R_HEADER #define TEMPLATE_LAPACK_ORG2R_HEADER template int template_lapack_org2r(const integer *m, const integer *n, const integer *k, Treal * a, const integer *lda, const Treal *tau, Treal *work, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DORG2R generates an m by n real matrix Q with orthonormal columns, which is defined as the first n columns of a product of k elementary reflectors of order m Q = H(1) H(2) . . . H(k) as returned by DGEQRF. Arguments ========= M (input) INTEGER The number of rows of the matrix Q. M >= 0. N (input) INTEGER The number of columns of the matrix Q. M >= N >= 0. K (input) INTEGER The number of elementary reflectors whose product defines the matrix Q. N >= K >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by DGEQRF in the first k columns of its array argument A. On exit, the m-by-n matrix Q. LDA (input) INTEGER The first dimension of the array A. LDA >= max(1,M). TAU (input) DOUBLE PRECISION array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by DGEQRF. WORK (workspace) DOUBLE PRECISION array, dimension (N) INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument has an illegal value ===================================================================== Test the input arguments Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2; Treal d__1; /* Local variables */ integer i__, j, l; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --tau; --work; /* Function Body */ *info = 0; if (*m < 0) { *info = -1; } else if (*n < 0 || *n > *m) { *info = -2; } else if (*k < 0 || *k > *n) { *info = -3; } else if (*lda < maxMACRO(1,*m)) { *info = -5; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("ORG2R ", &i__1); return 0; } /* Quick return if possible */ if (*n <= 0) { return 0; } /* Initialise columns k+1:n to columns of the unit matrix */ i__1 = *n; for (j = *k + 1; j <= i__1; ++j) { i__2 = *m; for (l = 1; l <= i__2; ++l) { a_ref(l, j) = 0.; /* L10: */ } a_ref(j, j) = 1.; /* L20: */ } for (i__ = *k; i__ >= 1; --i__) { /* Apply H(i) to A(i:m,i:n) from the left */ if (i__ < *n) { a_ref(i__, i__) = 1.; i__1 = *m - i__ + 1; i__2 = *n - i__; template_lapack_larf("Left", &i__1, &i__2, &a_ref(i__, i__), &c__1, &tau[i__], & a_ref(i__, i__ + 1), lda, &work[1]); } if (i__ < *m) { i__1 = *m - i__; d__1 = -tau[i__]; template_blas_scal(&i__1, &d__1, &a_ref(i__ + 1, i__), &c__1); } a_ref(i__, i__) = 1. - tau[i__]; /* Set A(1:i-1,i) to zero */ i__1 = i__ - 1; for (l = 1; l <= i__1; ++l) { a_ref(l, i__) = 0.; /* L30: */ } /* L40: */ } return 0; /* End of DORG2R */ } /* dorg2r_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lasq4.h0000664000175000017500000002445612743400307023043 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LASQ4_HEADER #define TEMPLATE_LAPACK_LASQ4_HEADER template int template_lapack_lasq4(integer *i0, integer *n0, Treal *z__, integer *pp, integer *n0in, Treal *dmin__, Treal *dmin1, Treal *dmin2, Treal *dn, Treal *dn1, Treal *dn2, Treal *tau, integer *ttype, Treal *g) { /* System generated locals */ integer i__1; Treal d__1, d__2; /* Local variables */ Treal s = 0; // EMANUEL COMMENT: initialize to get rid of compiler warning Treal a2, b1, b2; integer i4, nn, np; Treal gam, gap1, gap2; /* -- LAPACK routine (version 3.2) -- */ /* -- Contributed by Osni Marques of the Lawrence Berkeley National -- */ /* -- Laboratory and Beresford Parlett of the Univ. of California at -- */ /* -- Berkeley -- */ /* -- November 2008 -- */ /* -- LAPACK is a software package provided by Univ. of Tennessee, -- */ /* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* DLASQ4 computes an approximation TAU to the smallest eigenvalue */ /* using values of d from the previous transform. */ /* I0 (input) INTEGER */ /* First index. */ /* N0 (input) INTEGER */ /* Last index. */ /* Z (input) DOUBLE PRECISION array, dimension ( 4*N ) */ /* Z holds the qd array. */ /* PP (input) INTEGER */ /* PP=0 for ping, PP=1 for pong. */ /* NOIN (input) INTEGER */ /* The value of N0 at start of EIGTEST. */ /* DMIN (input) DOUBLE PRECISION */ /* Minimum value of d. */ /* DMIN1 (input) DOUBLE PRECISION */ /* Minimum value of d, excluding D( N0 ). */ /* DMIN2 (input) DOUBLE PRECISION */ /* Minimum value of d, excluding D( N0 ) and D( N0-1 ). */ /* DN (input) DOUBLE PRECISION */ /* d(N) */ /* DN1 (input) DOUBLE PRECISION */ /* d(N-1) */ /* DN2 (input) DOUBLE PRECISION */ /* d(N-2) */ /* TAU (output) DOUBLE PRECISION */ /* This is the shift. */ /* TTYPE (output) INTEGER */ /* Shift type. */ /* G (input/output) REAL */ /* G is passed as an argument in order to save its value between */ /* calls to DLASQ4. */ /* Further Details */ /* =============== */ /* CNST1 = 9/16 */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* A negative DMIN forces the shift to take that absolute value */ /* TTYPE records the type of shift. */ /* Parameter adjustments */ --z__; /* Function Body */ if (*dmin__ <= 0.) { *tau = -(*dmin__); *ttype = -1; return 0; } nn = (*n0 << 2) + *pp; if (*n0in == *n0) { /* No eigenvalues deflated. */ if (*dmin__ == *dn || *dmin__ == *dn1) { b1 = template_blas_sqrt(z__[nn - 3]) * template_blas_sqrt(z__[nn - 5]); b2 = template_blas_sqrt(z__[nn - 7]) * template_blas_sqrt(z__[nn - 9]); a2 = z__[nn - 7] + z__[nn - 5]; /* Cases 2 and 3. */ if (*dmin__ == *dn && *dmin1 == *dn1) { gap2 = *dmin2 - a2 - *dmin2 * .25; if (gap2 > 0. && gap2 > b2) { gap1 = a2 - *dn - b2 / gap2 * b2; } else { gap1 = a2 - *dn - (b1 + b2); } if (gap1 > 0. && gap1 > b1) { /* Computing MAX */ d__1 = *dn - b1 / gap1 * b1, d__2 = *dmin__ * .5; s = maxMACRO(d__1,d__2); *ttype = -2; } else { s = 0.; if (*dn > b1) { s = *dn - b1; } if (a2 > b1 + b2) { /* Computing MIN */ d__1 = s, d__2 = a2 - (b1 + b2); s = minMACRO(d__1,d__2); } /* Computing MAX */ d__1 = s, d__2 = *dmin__ * .333; s = maxMACRO(d__1,d__2); *ttype = -3; } } else { /* Case 4. */ *ttype = -4; s = *dmin__ * .25; if (*dmin__ == *dn) { gam = *dn; a2 = 0.; if (z__[nn - 5] > z__[nn - 7]) { return 0; } b2 = z__[nn - 5] / z__[nn - 7]; np = nn - 9; } else { np = nn - (*pp << 1); b2 = z__[np - 2]; gam = *dn1; if (z__[np - 4] > z__[np - 2]) { return 0; } a2 = z__[np - 4] / z__[np - 2]; if (z__[nn - 9] > z__[nn - 11]) { return 0; } b2 = z__[nn - 9] / z__[nn - 11]; np = nn - 13; } /* Approximate contribution to norm squared from I < NN-1. */ a2 += b2; i__1 = (*i0 << 2) - 1 + *pp; for (i4 = np; i4 >= i__1; i4 += -4) { if (b2 == 0.) { goto L20; } b1 = b2; if (z__[i4] > z__[i4 - 2]) { return 0; } b2 *= z__[i4] / z__[i4 - 2]; a2 += b2; if (maxMACRO(b2,b1) * 100. < a2 || .563 < a2) { goto L20; } /* L10: */ } L20: a2 *= 1.05; /* Rayleigh quotient residual bound. */ if (a2 < .563) { s = gam * (1. - template_blas_sqrt(a2)) / (a2 + 1.); } } } else if (*dmin__ == *dn2) { /* Case 5. */ *ttype = -5; s = *dmin__ * .25; /* Compute contribution to norm squared from I > NN-2. */ np = nn - (*pp << 1); b1 = z__[np - 2]; b2 = z__[np - 6]; gam = *dn2; if (z__[np - 8] > b2 || z__[np - 4] > b1) { return 0; } a2 = z__[np - 8] / b2 * (z__[np - 4] / b1 + 1.); /* Approximate contribution to norm squared from I < NN-2. */ if (*n0 - *i0 > 2) { b2 = z__[nn - 13] / z__[nn - 15]; a2 += b2; i__1 = (*i0 << 2) - 1 + *pp; for (i4 = nn - 17; i4 >= i__1; i4 += -4) { if (b2 == 0.) { goto L40; } b1 = b2; if (z__[i4] > z__[i4 - 2]) { return 0; } b2 *= z__[i4] / z__[i4 - 2]; a2 += b2; if (maxMACRO(b2,b1) * 100. < a2 || .563 < a2) { goto L40; } /* L30: */ } L40: a2 *= 1.05; } if (a2 < .563) { s = gam * (1. - template_blas_sqrt(a2)) / (a2 + 1.); } } else { /* Case 6, no information to guide us. */ if (*ttype == -6) { *g += (1. - *g) * .333; } else if (*ttype == -18) { *g = .083250000000000005; } else { *g = .25; } s = *g * *dmin__; *ttype = -6; } } else if (*n0in == *n0 + 1) { /* One eigenvalue just deflated. Use DMIN1, DN1 for DMIN and DN. */ if (*dmin1 == *dn1 && *dmin2 == *dn2) { /* Cases 7 and 8. */ *ttype = -7; s = *dmin1 * .333; if (z__[nn - 5] > z__[nn - 7]) { return 0; } b1 = z__[nn - 5] / z__[nn - 7]; b2 = b1; if (b2 == 0.) { goto L60; } i__1 = (*i0 << 2) - 1 + *pp; for (i4 = (*n0 << 2) - 9 + *pp; i4 >= i__1; i4 += -4) { a2 = b1; if (z__[i4] > z__[i4 - 2]) { return 0; } b1 *= z__[i4] / z__[i4 - 2]; b2 += b1; if (maxMACRO(b1,a2) * 100. < b2) { goto L60; } /* L50: */ } L60: b2 = template_blas_sqrt(b2 * 1.05); /* Computing 2nd power */ d__1 = b2; a2 = *dmin1 / (d__1 * d__1 + 1.); gap2 = *dmin2 * .5 - a2; if (gap2 > 0. && gap2 > b2 * a2) { /* Computing MAX */ d__1 = s, d__2 = a2 * (1. - a2 * 1.01 * (b2 / gap2) * b2); s = maxMACRO(d__1,d__2); } else { /* Computing MAX */ d__1 = s, d__2 = a2 * (1. - b2 * 1.01); s = maxMACRO(d__1,d__2); *ttype = -8; } } else { /* Case 9. */ s = *dmin1 * .25; if (*dmin1 == *dn1) { s = *dmin1 * .5; } *ttype = -9; } } else if (*n0in == *n0 + 2) { /* Two eigenvalues deflated. Use DMIN2, DN2 for DMIN and DN. */ /* Cases 10 and 11. */ if (*dmin2 == *dn2 && z__[nn - 5] * 2. < z__[nn - 7]) { *ttype = -10; s = *dmin2 * .333; if (z__[nn - 5] > z__[nn - 7]) { return 0; } b1 = z__[nn - 5] / z__[nn - 7]; b2 = b1; if (b2 == 0.) { goto L80; } i__1 = (*i0 << 2) - 1 + *pp; for (i4 = (*n0 << 2) - 9 + *pp; i4 >= i__1; i4 += -4) { if (z__[i4] > z__[i4 - 2]) { return 0; } b1 *= z__[i4] / z__[i4 - 2]; b2 += b1; if (b1 * 100. < b2) { goto L80; } /* L70: */ } L80: b2 = template_blas_sqrt(b2 * 1.05); /* Computing 2nd power */ d__1 = b2; a2 = *dmin2 / (d__1 * d__1 + 1.); gap2 = z__[nn - 7] + z__[nn - 9] - template_blas_sqrt(z__[nn - 11]) * template_blas_sqrt(z__[ nn - 9]) - a2; if (gap2 > 0. && gap2 > b2 * a2) { /* Computing MAX */ d__1 = s, d__2 = a2 * (1. - a2 * 1.01 * (b2 / gap2) * b2); s = maxMACRO(d__1,d__2); } else { /* Computing MAX */ d__1 = s, d__2 = a2 * (1. - b2 * 1.01); s = maxMACRO(d__1,d__2); } } else { s = *dmin2 * .25; *ttype = -11; } } else if (*n0in > *n0 + 2) { /* Case 12, more than two eigenvalues deflated. No information. */ s = 0.; *ttype = -12; } *tau = s; return 0; /* End of DLASQ4 */ } /* dlasq4_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lasrt.h0000664000175000017500000001503212743400307023132 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LASRT_HEADER #define TEMPLATE_LAPACK_LASRT_HEADER template int template_lapack_lasrt(const char *id, const integer *n, Treal *d__, integer * info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University September 30, 1994 Purpose ======= Sort the numbers in D in increasing order (if ID = 'I') or in decreasing order (if ID = 'D' ). Use Quick Sort, reverting to Insertion sort on arrays of size <= 20. Dimension of STACK limits N to about 2**32. Arguments ========= ID (input) CHARACTER*1 = 'I': sort D in increasing order; = 'D': sort D in decreasing order. N (input) INTEGER The length of the array D. D (input/output) DOUBLE PRECISION array, dimension (N) On entry, the array to be sorted. On exit, D has been sorted into increasing order (D(1) <= ... <= D(N) ) or into decreasing order (D(1) >= ... >= D(N) ), depending on ID. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value ===================================================================== Test the input paramters. Parameter adjustments */ /* System generated locals */ integer i__1, i__2; /* Local variables */ integer endd, i__, j; integer stack[64] /* was [2][32] */; Treal dmnmx, d1, d2, d3; integer start; integer stkpnt, dir; Treal tmp; #define stack_ref(a_1,a_2) stack[(a_2)*2 + a_1 - 3] --d__; /* Function Body */ *info = 0; dir = -1; if (template_blas_lsame(id, "D")) { dir = 0; } else if (template_blas_lsame(id, "I")) { dir = 1; } if (dir == -1) { *info = -1; } else if (*n < 0) { *info = -2; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("LASRT ", &i__1); return 0; } /* Quick return if possible */ if (*n <= 1) { return 0; } stkpnt = 1; stack_ref(1, 1) = 1; stack_ref(2, 1) = *n; L10: start = stack_ref(1, stkpnt); endd = stack_ref(2, stkpnt); --stkpnt; if (endd - start <= 20 && endd - start > 0) { /* Do Insertion sort on D( START:ENDD ) */ if (dir == 0) { /* Sort into decreasing order */ i__1 = endd; for (i__ = start + 1; i__ <= i__1; ++i__) { i__2 = start + 1; for (j = i__; j >= i__2; --j) { if (d__[j] > d__[j - 1]) { dmnmx = d__[j]; d__[j] = d__[j - 1]; d__[j - 1] = dmnmx; } else { goto L30; } /* L20: */ } L30: ; } } else { /* Sort into increasing order */ i__1 = endd; for (i__ = start + 1; i__ <= i__1; ++i__) { i__2 = start + 1; for (j = i__; j >= i__2; --j) { if (d__[j] < d__[j - 1]) { dmnmx = d__[j]; d__[j] = d__[j - 1]; d__[j - 1] = dmnmx; } else { goto L50; } /* L40: */ } L50: ; } } } else if (endd - start > 20) { /* Partition D( START:ENDD ) and stack parts, largest one first Choose partition entry as median of 3 */ d1 = d__[start]; d2 = d__[endd]; i__ = (start + endd) / 2; d3 = d__[i__]; if (d1 < d2) { if (d3 < d1) { dmnmx = d1; } else if (d3 < d2) { dmnmx = d3; } else { dmnmx = d2; } } else { if (d3 < d2) { dmnmx = d2; } else if (d3 < d1) { dmnmx = d3; } else { dmnmx = d1; } } if (dir == 0) { /* Sort into decreasing order */ i__ = start - 1; j = endd + 1; L60: L70: --j; if (d__[j] < dmnmx) { goto L70; } L80: ++i__; if (d__[i__] > dmnmx) { goto L80; } if (i__ < j) { tmp = d__[i__]; d__[i__] = d__[j]; d__[j] = tmp; goto L60; } if (j - start > endd - j - 1) { ++stkpnt; stack_ref(1, stkpnt) = start; stack_ref(2, stkpnt) = j; ++stkpnt; stack_ref(1, stkpnt) = j + 1; stack_ref(2, stkpnt) = endd; } else { ++stkpnt; stack_ref(1, stkpnt) = j + 1; stack_ref(2, stkpnt) = endd; ++stkpnt; stack_ref(1, stkpnt) = start; stack_ref(2, stkpnt) = j; } } else { /* Sort into increasing order */ i__ = start - 1; j = endd + 1; L90: L100: --j; if (d__[j] > dmnmx) { goto L100; } L110: ++i__; if (d__[i__] < dmnmx) { goto L110; } if (i__ < j) { tmp = d__[i__]; d__[i__] = d__[j]; d__[j] = tmp; goto L90; } if (j - start > endd - j - 1) { ++stkpnt; stack_ref(1, stkpnt) = start; stack_ref(2, stkpnt) = j; ++stkpnt; stack_ref(1, stkpnt) = j + 1; stack_ref(2, stkpnt) = endd; } else { ++stkpnt; stack_ref(1, stkpnt) = j + 1; stack_ref(2, stkpnt) = endd; ++stkpnt; stack_ref(1, stkpnt) = start; stack_ref(2, stkpnt) = j; } } } if (stkpnt > 0) { goto L10; } return 0; /* End of DLASRT */ } /* dlasrt_ */ #undef stack_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lasr.h0000664000175000017500000002771412743400307022760 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LASR_HEADER #define TEMPLATE_LAPACK_LASR_HEADER template int template_lapack_lasr(const char *side, const char *pivot, const char *direct, const integer *m, const integer *n, const Treal *c__, const Treal *s, Treal *a, const integer * lda) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLASR performs the transformation A := P*A, when SIDE = 'L' or 'l' ( Left-hand side ) A := A*P', when SIDE = 'R' or 'r' ( Right-hand side ) where A is an m by n real matrix and P is an orthogonal matrix, consisting of a sequence of plane rotations determined by the parameters PIVOT and DIRECT as follows ( z = m when SIDE = 'L' or 'l' and z = n when SIDE = 'R' or 'r' ): When DIRECT = 'F' or 'f' ( Forward sequence ) then P = P( z - 1 )*...*P( 2 )*P( 1 ), and when DIRECT = 'B' or 'b' ( Backward sequence ) then P = P( 1 )*P( 2 )*...*P( z - 1 ), where P( k ) is a plane rotation matrix for the following planes: when PIVOT = 'V' or 'v' ( Variable pivot ), the plane ( k, k + 1 ) when PIVOT = 'T' or 't' ( Top pivot ), the plane ( 1, k + 1 ) when PIVOT = 'B' or 'b' ( Bottom pivot ), the plane ( k, z ) c( k ) and s( k ) must contain the cosine and sine that define the matrix P( k ). The two by two plane rotation part of the matrix P( k ), R( k ), is assumed to be of the form R( k ) = ( c( k ) s( k ) ). ( -s( k ) c( k ) ) This version vectorises across rows of the array A when SIDE = 'L'. Arguments ========= SIDE (input) CHARACTER*1 Specifies whether the plane rotation matrix P is applied to A on the left or the right. = 'L': Left, compute A := P*A = 'R': Right, compute A:= A*P' DIRECT (input) CHARACTER*1 Specifies whether P is a forward or backward sequence of plane rotations. = 'F': Forward, P = P( z - 1 )*...*P( 2 )*P( 1 ) = 'B': Backward, P = P( 1 )*P( 2 )*...*P( z - 1 ) PIVOT (input) CHARACTER*1 Specifies the plane for which P(k) is a plane rotation matrix. = 'V': Variable pivot, the plane (k,k+1) = 'T': Top pivot, the plane (1,k+1) = 'B': Bottom pivot, the plane (k,z) M (input) INTEGER The number of rows of the matrix A. If m <= 1, an immediate return is effected. N (input) INTEGER The number of columns of the matrix A. If n <= 1, an immediate return is effected. C, S (input) DOUBLE PRECISION arrays, dimension (M-1) if SIDE = 'L' (N-1) if SIDE = 'R' c(k) and s(k) contain the cosine and sine that define the matrix P(k). The two by two plane rotation part of the matrix P(k), R(k), is assumed to be of the form R( k ) = ( c( k ) s( k ) ). ( -s( k ) c( k ) ) A (input/output) DOUBLE PRECISION array, dimension (LDA,N) The m by n matrix A. On exit, A is overwritten by P*A if SIDE = 'R' or by A*P' if SIDE = 'L'. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,M). ===================================================================== Test the input parameters Parameter adjustments */ /* System generated locals */ integer a_dim1, a_offset, i__1, i__2; /* Local variables */ integer info; Treal temp; integer i__, j; Treal ctemp, stemp; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] --c__; --s; a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; /* Function Body */ info = 0; if (! (template_blas_lsame(side, "L") || template_blas_lsame(side, "R"))) { info = 1; } else if (! (template_blas_lsame(pivot, "V") || template_blas_lsame(pivot, "T") || template_blas_lsame(pivot, "B"))) { info = 2; } else if (! (template_blas_lsame(direct, "F") || template_blas_lsame(direct, "B"))) { info = 3; } else if (*m < 0) { info = 4; } else if (*n < 0) { info = 5; } else if (*lda < maxMACRO(1,*m)) { info = 9; } if (info != 0) { template_blas_erbla("LASR ", &info); return 0; } /* Quick return if possible */ if (*m == 0 || *n == 0) { return 0; } if (template_blas_lsame(side, "L")) { /* Form P * A */ if (template_blas_lsame(pivot, "V")) { if (template_blas_lsame(direct, "F")) { i__1 = *m - 1; for (j = 1; j <= i__1; ++j) { ctemp = c__[j]; stemp = s[j]; if (ctemp != 1. || stemp != 0.) { i__2 = *n; for (i__ = 1; i__ <= i__2; ++i__) { temp = a_ref(j + 1, i__); a_ref(j + 1, i__) = ctemp * temp - stemp * a_ref( j, i__); a_ref(j, i__) = stemp * temp + ctemp * a_ref(j, i__); /* L10: */ } } /* L20: */ } } else if (template_blas_lsame(direct, "B")) { for (j = *m - 1; j >= 1; --j) { ctemp = c__[j]; stemp = s[j]; if (ctemp != 1. || stemp != 0.) { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { temp = a_ref(j + 1, i__); a_ref(j + 1, i__) = ctemp * temp - stemp * a_ref( j, i__); a_ref(j, i__) = stemp * temp + ctemp * a_ref(j, i__); /* L30: */ } } /* L40: */ } } } else if (template_blas_lsame(pivot, "T")) { if (template_blas_lsame(direct, "F")) { i__1 = *m; for (j = 2; j <= i__1; ++j) { ctemp = c__[j - 1]; stemp = s[j - 1]; if (ctemp != 1. || stemp != 0.) { i__2 = *n; for (i__ = 1; i__ <= i__2; ++i__) { temp = a_ref(j, i__); a_ref(j, i__) = ctemp * temp - stemp * a_ref(1, i__); a_ref(1, i__) = stemp * temp + ctemp * a_ref(1, i__); /* L50: */ } } /* L60: */ } } else if (template_blas_lsame(direct, "B")) { for (j = *m; j >= 2; --j) { ctemp = c__[j - 1]; stemp = s[j - 1]; if (ctemp != 1. || stemp != 0.) { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { temp = a_ref(j, i__); a_ref(j, i__) = ctemp * temp - stemp * a_ref(1, i__); a_ref(1, i__) = stemp * temp + ctemp * a_ref(1, i__); /* L70: */ } } /* L80: */ } } } else if (template_blas_lsame(pivot, "B")) { if (template_blas_lsame(direct, "F")) { i__1 = *m - 1; for (j = 1; j <= i__1; ++j) { ctemp = c__[j]; stemp = s[j]; if (ctemp != 1. || stemp != 0.) { i__2 = *n; for (i__ = 1; i__ <= i__2; ++i__) { temp = a_ref(j, i__); a_ref(j, i__) = stemp * a_ref(*m, i__) + ctemp * temp; a_ref(*m, i__) = ctemp * a_ref(*m, i__) - stemp * temp; /* L90: */ } } /* L100: */ } } else if (template_blas_lsame(direct, "B")) { for (j = *m - 1; j >= 1; --j) { ctemp = c__[j]; stemp = s[j]; if (ctemp != 1. || stemp != 0.) { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { temp = a_ref(j, i__); a_ref(j, i__) = stemp * a_ref(*m, i__) + ctemp * temp; a_ref(*m, i__) = ctemp * a_ref(*m, i__) - stemp * temp; /* L110: */ } } /* L120: */ } } } } else if (template_blas_lsame(side, "R")) { /* Form A * P' */ if (template_blas_lsame(pivot, "V")) { if (template_blas_lsame(direct, "F")) { i__1 = *n - 1; for (j = 1; j <= i__1; ++j) { ctemp = c__[j]; stemp = s[j]; if (ctemp != 1. || stemp != 0.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { temp = a_ref(i__, j + 1); a_ref(i__, j + 1) = ctemp * temp - stemp * a_ref( i__, j); a_ref(i__, j) = stemp * temp + ctemp * a_ref(i__, j); /* L130: */ } } /* L140: */ } } else if (template_blas_lsame(direct, "B")) { for (j = *n - 1; j >= 1; --j) { ctemp = c__[j]; stemp = s[j]; if (ctemp != 1. || stemp != 0.) { i__1 = *m; for (i__ = 1; i__ <= i__1; ++i__) { temp = a_ref(i__, j + 1); a_ref(i__, j + 1) = ctemp * temp - stemp * a_ref( i__, j); a_ref(i__, j) = stemp * temp + ctemp * a_ref(i__, j); /* L150: */ } } /* L160: */ } } } else if (template_blas_lsame(pivot, "T")) { if (template_blas_lsame(direct, "F")) { i__1 = *n; for (j = 2; j <= i__1; ++j) { ctemp = c__[j - 1]; stemp = s[j - 1]; if (ctemp != 1. || stemp != 0.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { temp = a_ref(i__, j); a_ref(i__, j) = ctemp * temp - stemp * a_ref(i__, 1); a_ref(i__, 1) = stemp * temp + ctemp * a_ref(i__, 1); /* L170: */ } } /* L180: */ } } else if (template_blas_lsame(direct, "B")) { for (j = *n; j >= 2; --j) { ctemp = c__[j - 1]; stemp = s[j - 1]; if (ctemp != 1. || stemp != 0.) { i__1 = *m; for (i__ = 1; i__ <= i__1; ++i__) { temp = a_ref(i__, j); a_ref(i__, j) = ctemp * temp - stemp * a_ref(i__, 1); a_ref(i__, 1) = stemp * temp + ctemp * a_ref(i__, 1); /* L190: */ } } /* L200: */ } } } else if (template_blas_lsame(pivot, "B")) { if (template_blas_lsame(direct, "F")) { i__1 = *n - 1; for (j = 1; j <= i__1; ++j) { ctemp = c__[j]; stemp = s[j]; if (ctemp != 1. || stemp != 0.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { temp = a_ref(i__, j); a_ref(i__, j) = stemp * a_ref(i__, *n) + ctemp * temp; a_ref(i__, *n) = ctemp * a_ref(i__, *n) - stemp * temp; /* L210: */ } } /* L220: */ } } else if (template_blas_lsame(direct, "B")) { for (j = *n - 1; j >= 1; --j) { ctemp = c__[j]; stemp = s[j]; if (ctemp != 1. || stemp != 0.) { i__1 = *m; for (i__ = 1; i__ <= i__1; ++i__) { temp = a_ref(i__, j); a_ref(i__, j) = stemp * a_ref(i__, *n) + ctemp * temp; a_ref(i__, *n) = ctemp * a_ref(i__, *n) - stemp * temp; /* L230: */ } } /* L240: */ } } } } return 0; /* End of DLASR */ } /* dlasr_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lacon.h0000664000175000017500000001526212743400307023106 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LACON_HEADER #define TEMPLATE_LAPACK_LACON_HEADER template int template_lapack_lacon(const integer *n, Treal *v, Treal *x, integer *isgn, Treal *est, integer *kase) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DLACON estimates the 1-norm of a square, real matrix A. Reverse communication is used for evaluating matrix-vector products. Arguments ========= N (input) INTEGER The order of the matrix. N >= 1. V (workspace) DOUBLE PRECISION array, dimension (N) On the final return, V = A*W, where EST = norm(V)/norm(W) (W is not returned). X (input/output) DOUBLE PRECISION array, dimension (N) On an intermediate return, X should be overwritten by A * X, if KASE=1, A' * X, if KASE=2, and DLACON must be re-called with all the other parameters unchanged. ISGN (workspace) INTEGER array, dimension (N) EST (output) DOUBLE PRECISION An estimate (a lower bound) for norm(A). KASE (input/output) INTEGER On the initial call to DLACON, KASE should be 0. On an intermediate return, KASE will be 1 or 2, indicating whether X should be overwritten by A * X or A' * X. On the final return from DLACON, KASE will again be 0. Further Details ======= ======= Contributed by Nick Higham, University of Manchester. Originally named SONEST, dated March 16, 1988. Reference: N.J. Higham, "FORTRAN codes for estimating the one-norm of a real or complex matrix, with applications to condition estimation", ACM Trans. Math. Soft., vol. 14, no. 4, pp. 381-396, December 1988. ===================================================================== Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; Treal c_b11 = 1.; /* System generated locals */ integer i__1; Treal d__1; /* Builtin functions */ double d_sign(Treal *, Treal *); integer i_dnnt(Treal *); /* Local variables */ integer iter; Treal temp; integer jump, i__, j; integer jlast; Treal altsgn, estold; --isgn; --x; --v; /* Function Body */ if (*kase == 0) { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { x[i__] = 1. / (Treal) (*n); /* L10: */ } *kase = 1; jump = 1; return 0; } switch (jump) { case 1: goto L20; case 2: goto L40; case 3: goto L70; case 4: goto L110; case 5: goto L140; } /* ................ ENTRY (JUMP = 1) FIRST ITERATION. X HAS BEEN OVERWRITTEN BY A*X. */ L20: if (*n == 1) { v[1] = x[1]; *est = absMACRO(v[1]); /* ... QUIT */ goto L150; } *est = template_blas_asum(n, &x[1], &c__1); i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { x[i__] = d_sign(&c_b11, &x[i__]); isgn[i__] = i_dnnt(&x[i__]); /* L30: */ } *kase = 2; jump = 2; return 0; /* ................ ENTRY (JUMP = 2) FIRST ITERATION. X HAS BEEN OVERWRITTEN BY TRANDPOSE(A)*X. */ L40: j = template_blas_idamax(n, &x[1], &c__1); iter = 2; /* MAIN LOOP - ITERATIONS 2,3,...,ITMAX. */ L50: i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { x[i__] = 0.; /* L60: */ } x[j] = 1.; *kase = 1; jump = 3; return 0; /* ................ ENTRY (JUMP = 3) X HAS BEEN OVERWRITTEN BY A*X. */ L70: template_blas_copy(n, &x[1], &c__1, &v[1], &c__1); estold = *est; *est = template_blas_asum(n, &v[1], &c__1); i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { d__1 = d_sign(&c_b11, &x[i__]); if (i_dnnt(&d__1) != isgn[i__]) { goto L90; } /* L80: */ } /* REPEATED SIGN VECTOR DETECTED, HENCE ALGORITHM HAS CONVERGED. */ goto L120; L90: /* TEST FOR CYCLING. */ if (*est <= estold) { goto L120; } i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { x[i__] = d_sign(&c_b11, &x[i__]); isgn[i__] = i_dnnt(&x[i__]); /* L100: */ } *kase = 2; jump = 4; return 0; /* ................ ENTRY (JUMP = 4) X HAS BEEN OVERWRITTEN BY TRANDPOSE(A)*X. */ L110: jlast = j; j = template_blas_idamax(n, &x[1], &c__1); if (x[jlast] != (d__1 = x[j], absMACRO(d__1)) && iter < 5) { ++iter; goto L50; } /* ITERATION COMPLETE. FINAL STAGE. */ L120: altsgn = 1.; i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { x[i__] = altsgn * ((Treal) (i__ - 1) / (Treal) (*n - 1) + 1.); altsgn = -altsgn; /* L130: */ } *kase = 1; jump = 5; return 0; /* ................ ENTRY (JUMP = 5) X HAS BEEN OVERWRITTEN BY A*X. */ L140: temp = template_blas_asum(n, &x[1], &c__1) / (Treal) (*n * 3) * 2.; if (temp > *est) { template_blas_copy(n, &x[1], &c__1, &v[1], &c__1); *est = temp; } L150: *kase = 0; return 0; /* End of DLACON */ } /* dlacon_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_trtri.h0000664000175000017500000001624712743400307023162 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_TRTRI_HEADER #define TEMPLATE_LAPACK_TRTRI_HEADER template int template_lapack_trtri(const char *uplo, const char *diag, const integer *n, Treal *a, const integer *lda, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University March 31, 1993 Purpose ======= DTRTRI computes the inverse of a real upper or lower triangular matrix A. This is the Level 3 BLAS version of the algorithm. Arguments ========= UPLO (input) CHARACTER*1 = 'U': A is upper triangular; = 'L': A is lower triangular. DIAG (input) CHARACTER*1 = 'N': A is non-unit triangular; = 'U': A is unit triangular. N (input) INTEGER The order of the matrix A. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the triangular matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1. On exit, the (triangular) inverse of the original matrix, in the same storage format. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, A(i,i) is exactly zero. The triangular matrix is singular and its inverse can not be computed. ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; integer c__2 = 2; Treal c_b18 = 1.; Treal c_b22 = -1.; /* System generated locals */ address a__1[2]; integer a_dim1, a_offset, i__1, i__2[2], i__3, i__4, i__5; char ch__1[2]; /* Local variables */ integer j; logical upper; integer jb, nb, nn; logical nounit; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; /* Function Body */ *info = 0; upper = template_blas_lsame(uplo, "U"); nounit = template_blas_lsame(diag, "N"); if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -1; } else if (! nounit && ! template_blas_lsame(diag, "U")) { *info = -2; } else if (*n < 0) { *info = -3; } else if (*lda < maxMACRO(1,*n)) { *info = -5; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("TRTRI ", &i__1); return 0; } /* Quick return if possible */ if (*n == 0) { return 0; } /* Check for singularity if non-unit. */ if (nounit) { i__1 = *n; for (*info = 1; *info <= i__1; ++(*info)) { if (a_ref(*info, *info) == 0.) { return 0; } /* L10: */ } *info = 0; } /* Determine the block size for this environment. Writing concatenation */ i__2[0] = 1, a__1[0] = (char*)uplo; i__2[1] = 1, a__1[1] = (char*)diag; template_blas_s_cat(ch__1, a__1, i__2, &c__2, (ftnlen)2); nb = template_lapack_ilaenv(&c__1, "DTRTRI", ch__1, n, &c_n1, &c_n1, &c_n1, (ftnlen)6, ( ftnlen)2); if (nb <= 1 || nb >= *n) { /* Use unblocked code */ template_lapack_trti2(uplo, diag, n, &a[a_offset], lda, info); } else { /* Use blocked code */ if (upper) { /* Compute inverse of upper triangular matrix */ i__1 = *n; i__3 = nb; for (j = 1; i__3 < 0 ? j >= i__1 : j <= i__1; j += i__3) { /* Computing MIN */ i__4 = nb, i__5 = *n - j + 1; jb = minMACRO(i__4,i__5); /* Compute rows 1:j-1 of current block column */ i__4 = j - 1; template_blas_trmm("Left", "Upper", "No transpose", diag, &i__4, &jb, & c_b18, &a[a_offset], lda, &a_ref(1, j), lda); i__4 = j - 1; template_blas_trsm("Right", "Upper", "No transpose", diag, &i__4, &jb, & c_b22, &a_ref(j, j), lda, &a_ref(1, j), lda); /* Compute inverse of current diagonal block */ template_lapack_trti2("Upper", diag, &jb, &a_ref(j, j), lda, info); /* L20: */ } } else { /* Compute inverse of lower triangular matrix */ nn = (*n - 1) / nb * nb + 1; i__3 = -nb; for (j = nn; i__3 < 0 ? j >= 1 : j <= 1; j += i__3) { /* Computing MIN */ i__1 = nb, i__4 = *n - j + 1; jb = minMACRO(i__1,i__4); if (j + jb <= *n) { /* Compute rows j+jb:n of current block column */ i__1 = *n - j - jb + 1; template_blas_trmm("Left", "Lower", "No transpose", diag, &i__1, &jb, &c_b18, &a_ref(j + jb, j + jb), lda, &a_ref(j + jb, j), lda); i__1 = *n - j - jb + 1; template_blas_trsm("Right", "Lower", "No transpose", diag, &i__1, &jb, &c_b22, &a_ref(j, j), lda, &a_ref(j + jb, j), lda); } /* Compute inverse of current diagonal block */ template_lapack_trti2("Lower", diag, &jb, &a_ref(j, j), lda, info); /* L30: */ } } } return 0; /* End of DTRTRI */ } /* dtrtri_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_laswp.h0000664000175000017500000001174212743400307023137 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LASWP_HEADER #define TEMPLATE_LAPACK_LASWP_HEADER template int template_lapack_laswp(const integer *n, Treal *a, const integer *lda, const integer *k1, const integer *k2, const integer *ipiv, const integer *incx) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DLASWP performs a series of row interchanges on the matrix A. One row interchange is initiated for each of rows K1 through K2 of A. Arguments ========= N (input) INTEGER The number of columns of the matrix A. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix. LDA (input) INTEGER The leading dimension of the array A. K1 (input) INTEGER The first element of IPIV for which a row interchange will be done. K2 (input) INTEGER The last element of IPIV for which a row interchange will be done. IPIV (input) INTEGER array, dimension (M*abs(INCX)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged. INCX (input) INTEGER The increment between successive values of IPIV. If IPIV is negative, the pivots are applied in reverse order. Further Details =============== Modified by R. C. Whaley, Computer Science Dept., Univ. of Tenn., Knoxville, USA ===================================================================== Interchange row I with row IPIV(I) for each of rows K1 through K2. Parameter adjustments */ /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3, i__4; /* Local variables */ Treal temp; integer i__, j, k, i1, i2, n32, ip, ix, ix0, inc; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --ipiv; /* Function Body */ if (*incx > 0) { ix0 = *k1; i1 = *k1; i2 = *k2; inc = 1; } else if (*incx < 0) { ix0 = (1 - *k2) * *incx + 1; i1 = *k2; i2 = *k1; inc = -1; } else { return 0; } n32 = *n / 32 << 5; if (n32 != 0) { i__1 = n32; for (j = 1; j <= i__1; j += 32) { ix = ix0; i__2 = i2; i__3 = inc; for (i__ = i1; i__3 < 0 ? i__ >= i__2 : i__ <= i__2; i__ += i__3) { ip = ipiv[ix]; if (ip != i__) { i__4 = j + 31; for (k = j; k <= i__4; ++k) { temp = a_ref(i__, k); a_ref(i__, k) = a_ref(ip, k); a_ref(ip, k) = temp; /* L10: */ } } ix += *incx; /* L20: */ } /* L30: */ } } if (n32 != *n) { ++n32; ix = ix0; i__1 = i2; i__3 = inc; for (i__ = i1; i__3 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__3) { ip = ipiv[ix]; if (ip != i__) { i__2 = *n; for (k = n32; k <= i__2; ++k) { temp = a_ref(i__, k); a_ref(i__, k) = a_ref(ip, k); a_ref(ip, k) = temp; /* L40: */ } } ix += *incx; /* L50: */ } } return 0; /* End of DLASWP */ } /* dlaswp_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lamch.h0000664000175000017500000002060412743400307023072 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LAMCH_HEADER #define TEMPLATE_LAPACK_LAMCH_HEADER #include #include #include template Treal template_lapack_d_sign(const Treal *a, const Treal *b) { Treal x; x = (*a >= 0 ? *a : - *a); return( *b >= 0 ? x : -x); } #define log10e 0.43429448190325182765 template Treal template_blas_lg10(Treal *x) { return( log10e * template_blas_log(*x) ); } template int template_lapack_lassq(const integer *n, const Treal *x, const integer *incx, Treal *scale, Treal *sumsq) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DLASSQ returns the values scl and smsq such that ( scl**2 )*smsq = x( 1 )**2 +...+ x( n )**2 + ( scale**2 )*sumsq, where x( i ) = X( 1 + ( i - 1 )*INCX ). The value of sumsq is assumed to be non-negative and scl returns the value scl = max( scale, abs( x( i ) ) ). scale and sumsq must be supplied in SCALE and SUMSQ and scl and smsq are overwritten on SCALE and SUMSQ respectively. The routine makes only one pass through the vector x. Arguments ========= N (input) INTEGER The number of elements to be used from the vector X. X (input) DOUBLE PRECISION array, dimension (N) The vector for which a scaled sum of squares is computed. x( i ) = X( 1 + ( i - 1 )*INCX ), 1 <= i <= n. INCX (input) INTEGER The increment between successive values of the vector X. INCX > 0. SCALE (input/output) DOUBLE PRECISION On entry, the value scale in the equation above. On exit, SCALE is overwritten with scl , the scaling factor for the sum of squares. SUMSQ (input/output) DOUBLE PRECISION On entry, the value sumsq in the equation above. On exit, SUMSQ is overwritten with smsq , the basic sum of squares from which scl has been factored out. ===================================================================== Parameter adjustments */ /* System generated locals */ integer i__1, i__2; Treal d__1; /* Local variables */ Treal absxi; integer ix; --x; /* Function Body */ if (*n > 0) { i__1 = (*n - 1) * *incx + 1; i__2 = *incx; for (ix = 1; i__2 < 0 ? ix >= i__1 : ix <= i__1; ix += i__2) { if (x[ix] != 0.) { absxi = (d__1 = x[ix], absMACRO(d__1)); if (*scale < absxi) { /* Computing 2nd power */ d__1 = *scale / absxi; *sumsq = *sumsq * (d__1 * d__1) + 1; *scale = absxi; } else { /* Computing 2nd power */ d__1 = absxi / *scale; *sumsq += d__1 * d__1; } } /* L10: */ } } return 0; /* End of DLASSQ */ } /* dlassq_ */ template double template_lapack_pow_di(Treal *ap, integer *bp) { Treal pow, x; integer n; unsigned long u; pow = 1; x = *ap; n = *bp; if(n != 0) { if(n < 0) { n = -n; x = 1/x; } for(u = n; ; ) { if(u & 01) pow *= x; if(u >>= 1) x *= x; else break; } } return(pow); } template Treal template_lapack_lamch(const char *cmach, Treal dummyReal) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLAMCH determines double precision machine parameters. Arguments ========= CMACH (input) CHARACTER*1 Specifies the value to be returned by DLAMCH: = 'E' or 'e', DLAMCH := eps = 'S' or 's , DLAMCH := sfmin = 'B' or 'b', DLAMCH := base = 'P' or 'p', DLAMCH := eps*base = 'N' or 'n', DLAMCH := t = 'R' or 'r', DLAMCH := rnd = 'M' or 'm', DLAMCH := emin = 'U' or 'u', DLAMCH := rmin = 'L' or 'l', DLAMCH := emax = 'O' or 'o', DLAMCH := rmax where eps = relative machine precision sfmin = safe minimum, such that 1/sfmin does not overflow base = base of the machine prec = eps*base t = number of (base) digits in the mantissa rnd = 1.0 when rounding occurs in addition, 0.0 otherwise emin = minimum exponent before (gradual) underflow rmin = underflow threshold - base**(emin-1) emax = largest exponent before overflow rmax = overflow threshold - (base**emax)*(1-eps) ===================================================================== */ Treal rmach, ret_val; /* Initialization added by Elias to get rid of compiler warnings. */ rmach = 0; if (template_blas_lsame(cmach, "E")) { /* Epsilon */ rmach = std::numeric_limits::epsilon(); } else if (template_blas_lsame(cmach, "S")) { /* Safe minimum */ rmach = std::numeric_limits::min(); } else if (template_blas_lsame(cmach, "B")) { /* Base */ /* Assume "base" is 2 */ rmach = 2.0; } else if (template_blas_lsame(cmach, "P")) { /* Precision */ /* Assume "base" is 2 */ rmach = 2.0 * std::numeric_limits::epsilon(); } else if (template_blas_lsame(cmach, "N")) { std::cout << "ERROR in template_lapack_lamch: case N not implemented." << std::endl; throw "ERROR in template_lapack_lamch: case N not implemented."; } else if (template_blas_lsame(cmach, "R")) { std::cout << "ERROR in template_lapack_lamch: case R not implemented." << std::endl; throw "ERROR in template_lapack_lamch: case R not implemented."; } else if (template_blas_lsame(cmach, "M")) { std::cout << "ERROR in template_lapack_lamch: case M not implemented." << std::endl; throw "ERROR in template_lapack_lamch: case M not implemented."; } else if (template_blas_lsame(cmach, "U")) { std::cout << "ERROR in template_lapack_lamch: case U not implemented." << std::endl; throw "ERROR in template_lapack_lamch: case U not implemented."; } else if (template_blas_lsame(cmach, "L")) { std::cout << "ERROR in template_lapack_lamch: case L not implemented." << std::endl; throw "ERROR in template_lapack_lamch: case L not implemented."; } else if (template_blas_lsame(cmach, "O")) { std::cout << "ERROR in template_lapack_lamch: case O not implemented." << std::endl; throw "ERROR in template_lapack_lamch: case O not implemented."; } ret_val = rmach; return ret_val; /* End of DLAMCH */ } /* dlamch_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larrr.h0000664000175000017500000001420012743400307023123 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARRR_HEADER #define TEMPLATE_LAPACK_LARRR_HEADER template int template_lapack_larrr(const integer *n, Treal *d__, Treal *e, integer *info) { /* System generated locals */ integer i__1; Treal d__1; /* Local variables */ integer i__; Treal eps, tmp, tmp2, rmin; Treal offdig, safmin; logical yesrel; Treal smlnum, offdig2; /* -- LAPACK auxiliary routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* Perform tests to decide whether the symmetric tridiagonal matrix T */ /* warrants expensive computations which guarantee high relative accuracy */ /* in the eigenvalues. */ /* Arguments */ /* ========= */ /* N (input) INTEGER */ /* The order of the matrix. N > 0. */ /* D (input) DOUBLE PRECISION array, dimension (N) */ /* The N diagonal elements of the tridiagonal matrix T. */ /* E (input/output) DOUBLE PRECISION array, dimension (N) */ /* On entry, the first (N-1) entries contain the subdiagonal */ /* elements of the tridiagonal matrix T; E(N) is set to ZERO. */ /* INFO (output) INTEGER */ /* INFO = 0(default) : the matrix warrants computations preserving */ /* relative accuracy. */ /* INFO = 1 : the matrix warrants computations guaranteeing */ /* only absolute accuracy. */ /* Further Details */ /* =============== */ /* Based on contributions by */ /* Beresford Parlett, University of California, Berkeley, USA */ /* Jim Demmel, University of California, Berkeley, USA */ /* Inderjit Dhillon, University of Texas, Austin, USA */ /* Osni Marques, LBNL/NERSC, USA */ /* Christof Voemel, University of California, Berkeley, USA */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. External Functions .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* As a default, do NOT go for relative-accuracy preserving computations. */ /* Parameter adjustments */ --e; --d__; /* Function Body */ *info = 1; safmin = template_lapack_lamch("Safe minimum", (Treal)0); eps = template_lapack_lamch("Precision", (Treal)0); smlnum = safmin / eps; rmin = template_blas_sqrt(smlnum); /* Tests for relative accuracy */ /* Test for scaled diagonal dominance */ /* Scale the diagonal entries to one and check whether the sum of the */ /* off-diagonals is less than one */ /* The sdd relative error bounds have a 1/(1- 2*x) factor in them, */ /* x = max(OFFDIG + OFFDIG2), so when x is close to 1/2, no relative */ /* accuracy is promised. In the notation of the code fragment below, */ /* 1/(1 - (OFFDIG + OFFDIG2)) is the condition number. */ /* We don't think it is worth going into "sdd mode" unless the relative */ /* condition number is reasonable, not 1/macheps. */ /* The threshold should be compatible with other thresholds used in the */ /* code. We set OFFDIG + OFFDIG2 <= .999 =: RELCOND, it corresponds */ /* to losing at most 3 decimal digits: 1 / (1 - (OFFDIG + OFFDIG2)) <= 1000 */ /* instead of the current OFFDIG + OFFDIG2 < 1 */ yesrel = TRUE_; offdig = 0.; tmp = template_blas_sqrt((absMACRO(d__[1]))); if (tmp < rmin) { yesrel = FALSE_; } if (! yesrel) { goto L11; } i__1 = *n; for (i__ = 2; i__ <= i__1; ++i__) { tmp2 = template_blas_sqrt((d__1 = d__[i__], absMACRO(d__1))); if (tmp2 < rmin) { yesrel = FALSE_; } if (! yesrel) { goto L11; } offdig2 = (d__1 = e[i__ - 1], absMACRO(d__1)) / (tmp * tmp2); if (offdig + offdig2 >= .999) { yesrel = FALSE_; } if (! yesrel) { goto L11; } tmp = tmp2; offdig = offdig2; /* L10: */ } L11: if (yesrel) { *info = 0; return 0; } else { } /* *** MORE TO BE IMPLEMENTED *** */ /* Test if the lower bidiagonal matrix L from T = L D L^T */ /* (zero shift facto) is well conditioned */ /* Test if the upper bidiagonal matrix U from T = U D U^T */ /* (zero shift facto) is well conditioned. */ /* In this case, the matrix needs to be flipped and, at the end */ /* of the eigenvector computation, the flip needs to be applied */ /* to the computed eigenvectors (and the support) */ return 0; /* END OF DLARRR */ } /* dlarrr_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_geqrf.h0000664000175000017500000001733012743400307023114 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_GEQRF_HEADER #define TEMPLATE_LAPACK_GEQRF_HEADER template int template_lapack_geqrf(const integer *m, const integer *n, Treal *a, const integer * lda, Treal *tau, Treal *work, const integer *lwork, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DGEQRF computes a QR factorization of a real M-by-N matrix A: A = Q * R. Arguments ========= M (input) INTEGER The number of rows of the matrix A. M >= 0. N (input) INTEGER The number of columns of the matrix A. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N matrix A. On exit, the elements on and above the diagonal of the array contain the min(M,N)-by-N upper trapezoidal matrix R (R is upper triangular if m >= n); the elements below the diagonal, with the array TAU, represent the orthogonal matrix Q as a product of min(m,n) elementary reflectors (see Further Details). LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,M). TAU (output) DOUBLE PRECISION array, dimension (min(M,N)) The scalar factors of the elementary reflectors (see Further Details). WORK (workspace/output) DOUBLE PRECISION array, dimension (LWORK) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The dimension of the array WORK. LWORK >= max(1,N). For optimum performance LWORK >= N*NB, where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value Further Details =============== The matrix Q is represented as a product of elementary reflectors Q = H(1) H(2) . . . H(k), where k = min(m,n). Each H(i) has the form H(i) = I - tau * v * v' where tau is a real scalar, and v is a real vector with v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), and tau in TAU(i). ===================================================================== Test the input arguments Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; integer c__3 = 3; integer c__2 = 2; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3, i__4; /* Local variables */ integer i__, k, nbmin, iinfo; integer ib, nb; integer nx; integer ldwork, lwkopt; logical lquery; integer iws; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --tau; --work; /* Function Body */ *info = 0; nb = template_lapack_ilaenv(&c__1, "DGEQRF", " ", m, n, &c_n1, &c_n1, (ftnlen)6, (ftnlen) 1); lwkopt = *n * nb; work[1] = (Treal) lwkopt; lquery = *lwork == -1; if (*m < 0) { *info = -1; } else if (*n < 0) { *info = -2; } else if (*lda < maxMACRO(1,*m)) { *info = -4; } else if (*lwork < maxMACRO(1,*n) && ! lquery) { *info = -7; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("GEQRF ", &i__1); return 0; } else if (lquery) { return 0; } /* Quick return if possible */ k = minMACRO(*m,*n); if (k == 0) { work[1] = 1.; return 0; } nbmin = 2; nx = 0; iws = *n; if (nb > 1 && nb < k) { /* Determine when to cross over from blocked to unblocked code. Computing MAX */ i__1 = 0, i__2 = template_lapack_ilaenv(&c__3, "DGEQRF", " ", m, n, &c_n1, &c_n1, ( ftnlen)6, (ftnlen)1); nx = maxMACRO(i__1,i__2); if (nx < k) { /* Determine if workspace is large enough for blocked code. */ ldwork = *n; iws = ldwork * nb; if (*lwork < iws) { /* Not enough workspace to use optimal NB: reduce NB and determine the minimum value of NB. */ nb = *lwork / ldwork; /* Computing MAX */ i__1 = 2, i__2 = template_lapack_ilaenv(&c__2, "DGEQRF", " ", m, n, &c_n1, & c_n1, (ftnlen)6, (ftnlen)1); nbmin = maxMACRO(i__1,i__2); } } } if (nb >= nbmin && nb < k && nx < k) { /* Use blocked code initially */ i__1 = k - nx; i__2 = nb; for (i__ = 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) { /* Computing MIN */ i__3 = k - i__ + 1; ib = minMACRO(i__3,nb); /* Compute the QR factorization of the current block A(i:m,i:i+ib-1) */ i__3 = *m - i__ + 1; template_lapack_geqr2(&i__3, &ib, &a_ref(i__, i__), lda, &tau[i__], &work[1], & iinfo); if (i__ + ib <= *n) { /* Form the triangular factor of the block reflector H = H(i) H(i+1) . . . H(i+ib-1) */ i__3 = *m - i__ + 1; template_lapack_larft("Forward", "Columnwise", &i__3, &ib, &a_ref(i__, i__), lda, &tau[i__], &work[1], &ldwork); /* Apply H' to A(i:m,i+ib:n) from the left */ i__3 = *m - i__ + 1; i__4 = *n - i__ - ib + 1; template_lapack_larfb("Left", "Transpose", "Forward", "Columnwise", &i__3, & i__4, &ib, &a_ref(i__, i__), lda, &work[1], &ldwork, & a_ref(i__, i__ + ib), lda, &work[ib + 1], &ldwork); } /* L10: */ } } else { i__ = 1; } /* Use unblocked code to factor the last or only block. */ if (i__ <= k) { i__2 = *m - i__ + 1; i__1 = *n - i__ + 1; template_lapack_geqr2(&i__2, &i__1, &a_ref(i__, i__), lda, &tau[i__], &work[1], & iinfo); } work[1] = (Treal) iws; return 0; /* End of DGEQRF */ } /* dgeqrf_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larrk.h0000664000175000017500000001456212743400307023127 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARRK_HEADER #define TEMPLATE_LAPACK_LARRK_HEADER template int template_lapack_larrk(integer *n, integer *iw, Treal *gl, Treal *gu, Treal *d__, Treal *e2, Treal *pivmin, Treal *reltol, Treal *w, Treal *werr, integer *info) { /* System generated locals */ integer i__1; Treal d__1, d__2; /* Local variables */ integer i__, it; Treal mid, eps, tmp1, tmp2, left, atoli, right; integer itmax; Treal rtoli, tnorm; integer negcnt; /* -- LAPACK auxiliary routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* DLARRK computes one eigenvalue of a symmetric tridiagonal */ /* matrix T to suitable accuracy. This is an auxiliary code to be */ /* called from DSTEMR. */ /* To avoid overflow, the matrix must be scaled so that its */ /* largest element is no greater than overflow**(1/2) * */ /* underflow**(1/4) in absolute value, and for greatest */ /* accuracy, it should not be much smaller than that. */ /* See W. Kahan "Accurate Eigenvalues of a Symmetric Tridiagonal */ /* Matrix", Report CS41, Computer Science Dept., Stanford */ /* University, July 21, 1966. */ /* Arguments */ /* ========= */ /* N (input) INTEGER */ /* The order of the tridiagonal matrix T. N >= 0. */ /* IW (input) INTEGER */ /* The index of the eigenvalues to be returned. */ /* GL (input) DOUBLE PRECISION */ /* GU (input) DOUBLE PRECISION */ /* An upper and a lower bound on the eigenvalue. */ /* D (input) DOUBLE PRECISION array, dimension (N) */ /* The n diagonal elements of the tridiagonal matrix T. */ /* E2 (input) DOUBLE PRECISION array, dimension (N-1) */ /* The (n-1) squared off-diagonal elements of the tridiagonal matrix T. */ /* PIVMIN (input) DOUBLE PRECISION */ /* The minimum pivot allowed in the Sturm sequence for T. */ /* RELTOL (input) DOUBLE PRECISION */ /* The minimum relative width of an interval. When an interval */ /* is narrower than RELTOL times the larger (in */ /* magnitude) endpoint, then it is considered to be */ /* sufficiently small, i.e., converged. Note: this should */ /* always be at least radix*machine epsilon. */ /* W (output) DOUBLE PRECISION */ /* WERR (output) DOUBLE PRECISION */ /* The error bound on the corresponding eigenvalue approximation */ /* in W. */ /* INFO (output) INTEGER */ /* = 0: Eigenvalue converged */ /* = -1: Eigenvalue did NOT converge */ /* Internal Parameters */ /* =================== */ /* FUDGE DOUBLE PRECISION, default = 2 */ /* A "fudge factor" to widen the Gershgorin intervals. */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. External Functions .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Get machine constants */ /* Parameter adjustments */ --e2; --d__; /* Function Body */ eps = template_lapack_lamch("P", (Treal)0); /* Computing MAX */ d__1 = absMACRO(*gl), d__2 = absMACRO(*gu); tnorm = maxMACRO(d__1,d__2); rtoli = *reltol; atoli = *pivmin * 4.; itmax = (integer) ((template_blas_log(tnorm + *pivmin) - template_blas_log(*pivmin)) / template_blas_log(2.)) + 2; *info = -1; left = *gl - tnorm * 2. * eps * *n - *pivmin * 4.; right = *gu + tnorm * 2. * eps * *n + *pivmin * 4.; it = 0; L10: /* Check if interval converged or maximum number of iterations reached */ tmp1 = (d__1 = right - left, absMACRO(d__1)); /* Computing MAX */ d__1 = absMACRO(right), d__2 = absMACRO(left); tmp2 = maxMACRO(d__1,d__2); /* Computing MAX */ d__1 = maxMACRO(atoli,*pivmin), d__2 = rtoli * tmp2; if (tmp1 < maxMACRO(d__1,d__2)) { *info = 0; goto L30; } if (it > itmax) { goto L30; } /* Count number of negative pivots for mid-point */ ++it; mid = (left + right) * .5; negcnt = 0; tmp1 = d__[1] - mid; if (absMACRO(tmp1) < *pivmin) { tmp1 = -(*pivmin); } if (tmp1 <= 0.) { ++negcnt; } i__1 = *n; for (i__ = 2; i__ <= i__1; ++i__) { tmp1 = d__[i__] - e2[i__ - 1] / tmp1 - mid; if (absMACRO(tmp1) < *pivmin) { tmp1 = -(*pivmin); } if (tmp1 <= 0.) { ++negcnt; } /* L20: */ } if (negcnt >= *iw) { right = mid; } else { left = mid; } goto L10; L30: /* Converged or maximum number of iterations reached */ *w = (left + right) * .5; *werr = (d__1 = right - left, absMACRO(d__1)) * .5; return 0; /* End of DLARRK */ } /* dlarrk_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_pocon.h0000664000175000017500000001442112743400307023124 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_POCON_HEADER #define TEMPLATE_LAPACK_POCON_HEADER template int template_lapack_pocon(const char *uplo, const integer *n, const Treal *a, const integer * lda, const Treal *anorm, Treal *rcond, Treal *work, integer * iwork, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University March 31, 1993 Purpose ======= DPOCON estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric positive definite matrix using the Cholesky factorization A = U**T*U or A = L*L**T computed by DPOTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))). Arguments ========= UPLO (input) CHARACTER*1 = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. N (input) INTEGER The order of the matrix A. N >= 0. A (input) DOUBLE PRECISION array, dimension (LDA,N) The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T, as computed by DPOTRF. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). ANORM (input) DOUBLE PRECISION The 1-norm (or infinity-norm) of the symmetric matrix A. RCOND (output) DOUBLE PRECISION The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine. WORK (workspace) DOUBLE PRECISION array, dimension (3*N) IWORK (workspace) INTEGER array, dimension (N) INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; /* System generated locals */ integer a_dim1, a_offset, i__1; Treal d__1; /* Local variables */ integer kase; Treal scale; logical upper; integer ix; Treal scalel; Treal scaleu; Treal ainvnm; char normin[1]; Treal smlnum; a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --work; --iwork; /* Function Body */ *info = 0; upper = template_blas_lsame(uplo, "U"); if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -1; } else if (*n < 0) { *info = -2; } else if (*lda < maxMACRO(1,*n)) { *info = -4; } else if (*anorm < 0.) { *info = -5; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("POCON ", &i__1); return 0; } /* Quick return if possible */ *rcond = 0.; if (*n == 0) { *rcond = 1.; return 0; } else if (*anorm == 0.) { return 0; } smlnum = template_lapack_lamch("Safe minimum", (Treal)0); /* Estimate the 1-norm of inv(A). */ kase = 0; *(unsigned char *)normin = 'N'; L10: template_lapack_lacon(n, &work[*n + 1], &work[1], &iwork[1], &ainvnm, &kase); if (kase != 0) { if (upper) { /* Multiply by inv(U'). */ template_lapack_latrs("Upper", "Transpose", "Non-unit", normin, n, &a[a_offset], lda, &work[1], &scalel, &work[(*n << 1) + 1], info); *(unsigned char *)normin = 'Y'; /* Multiply by inv(U). */ template_lapack_latrs("Upper", "No transpose", "Non-unit", normin, n, &a[ a_offset], lda, &work[1], &scaleu, &work[(*n << 1) + 1], info); } else { /* Multiply by inv(L). */ template_lapack_latrs("Lower", "No transpose", "Non-unit", normin, n, &a[ a_offset], lda, &work[1], &scalel, &work[(*n << 1) + 1], info); *(unsigned char *)normin = 'Y'; /* Multiply by inv(L'). */ template_lapack_latrs("Lower", "Transpose", "Non-unit", normin, n, &a[a_offset], lda, &work[1], &scaleu, &work[(*n << 1) + 1], info); } /* Multiply by 1/SCALE if doing so will not cause overflow. */ scale = scalel * scaleu; if (scale != 1.) { ix = template_blas_idamax(n, &work[1], &c__1); if (scale < (d__1 = work[ix], absMACRO(d__1)) * smlnum || scale == 0.) { goto L20; } template_lapack_rscl(n, &scale, &work[1], &c__1); } goto L10; } /* Compute the estimate of the reciprocal condition number. */ if (ainvnm != 0.) { *rcond = 1. / ainvnm / *anorm; } L20: return 0; /* End of DPOCON */ } /* dpocon_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larrv.h0000664000175000017500000011126312743400307023136 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARRV_HEADER #define TEMPLATE_LAPACK_LARRV_HEADER #include "template_lapack_lar1v.h" template int template_lapack_larrv(const integer *n, Treal *vl, Treal *vu, Treal *d__, Treal *l, Treal *pivmin, integer *isplit, integer *m, integer *dol, integer *dou, Treal *minrgp, Treal *rtol1, Treal *rtol2, Treal *w, Treal *werr, Treal *wgap, integer *iblock, integer *indexw, Treal *gers, Treal *z__, const integer *ldz, integer *isuppz, Treal *work, integer *iwork, integer *info) { /* System generated locals */ integer z_dim1, z_offset, i__1, i__2, i__3, i__4, i__5; Treal d__1, d__2; logical L__1; /* Local variables */ integer minwsize, i__, j, k, p, q, miniwsize, ii; Treal gl; integer im, in; Treal gu, gap, eps, tau, tol, tmp; integer zto; Treal ztz; integer iend, jblk; Treal lgap; integer done; Treal rgap, left; integer wend, iter; Treal bstw = 0; // EMANUEL COMMENT: initialize to get rid of compiler warning integer itmp1; integer indld; Treal fudge; integer idone; Treal sigma; integer iinfo, iindr; Treal resid; logical eskip; Treal right; integer nclus, zfrom; Treal rqtol; integer iindc1, iindc2; logical stp2ii; Treal lambda; integer ibegin, indeig; logical needbs; integer indlld; Treal sgndef, mingma; integer oldien, oldncl, wbegin; Treal spdiam; integer negcnt; integer oldcls; Treal savgap; integer ndepth; Treal ssigma; logical usedbs; integer iindwk, offset; Treal gaptol; integer newcls, oldfst, indwrk, windex, oldlst; logical usedrq; integer newfst, newftt, parity, windmn, windpl, isupmn, newlst, zusedl; Treal bstres = 0; // EMANUEL COMMENT: initialize to get rid of compiler warning integer newsiz, zusedu, zusedw; Treal nrminv, rqcorr; logical tryrqc; integer isupmx; /* -- LAPACK auxiliary routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* DLARRV computes the eigenvectors of the tridiagonal matrix */ /* T = L D L^T given L, D and APPROXIMATIONS to the eigenvalues of L D L^T. */ /* The input eigenvalues should have been computed by DLARRE. */ /* Arguments */ /* ========= */ /* N (input) INTEGER */ /* The order of the matrix. N >= 0. */ /* VL (input) DOUBLE PRECISION */ /* VU (input) DOUBLE PRECISION */ /* Lower and upper bounds of the interval that contains the desired */ /* eigenvalues. VL < VU. Needed to compute gaps on the left or right */ /* end of the extremal eigenvalues in the desired RANGE. */ /* D (input/output) DOUBLE PRECISION array, dimension (N) */ /* On entry, the N diagonal elements of the diagonal matrix D. */ /* On exit, D may be overwritten. */ /* L (input/output) DOUBLE PRECISION array, dimension (N) */ /* On entry, the (N-1) subdiagonal elements of the unit */ /* bidiagonal matrix L are in elements 1 to N-1 of L */ /* (if the matrix is not splitted.) At the end of each block */ /* is stored the corresponding shift as given by DLARRE. */ /* On exit, L is overwritten. */ /* PIVMIN (in) DOUBLE PRECISION */ /* The minimum pivot allowed in the Sturm sequence. */ /* ISPLIT (input) INTEGER array, dimension (N) */ /* The splitting points, at which T breaks up into blocks. */ /* The first block consists of rows/columns 1 to */ /* ISPLIT( 1 ), the second of rows/columns ISPLIT( 1 )+1 */ /* through ISPLIT( 2 ), etc. */ /* M (input) INTEGER */ /* The total number of input eigenvalues. 0 <= M <= N. */ /* DOL (input) INTEGER */ /* DOU (input) INTEGER */ /* If the user wants to compute only selected eigenvectors from all */ /* the eigenvalues supplied, he can specify an index range DOL:DOU. */ /* Or else the setting DOL=1, DOU=M should be applied. */ /* Note that DOL and DOU refer to the order in which the eigenvalues */ /* are stored in W. */ /* If the user wants to compute only selected eigenpairs, then */ /* the columns DOL-1 to DOU+1 of the eigenvector space Z contain the */ /* computed eigenvectors. All other columns of Z are set to zero. */ /* MINRGP (input) DOUBLE PRECISION */ /* RTOL1 (input) DOUBLE PRECISION */ /* RTOL2 (input) DOUBLE PRECISION */ /* Parameters for bisection. */ /* An interval [LEFT,RIGHT] has converged if */ /* RIGHT-LEFT.LT.MAX( RTOL1*GAP, RTOL2*MAX(|LEFT|,|RIGHT|) ) */ /* W (input/output) DOUBLE PRECISION array, dimension (N) */ /* The first M elements of W contain the APPROXIMATE eigenvalues for */ /* which eigenvectors are to be computed. The eigenvalues */ /* should be grouped by split-off block and ordered from */ /* smallest to largest within the block ( The output array */ /* W from DLARRE is expected here ). Furthermore, they are with */ /* respect to the shift of the corresponding root representation */ /* for their block. On exit, W holds the eigenvalues of the */ /* UNshifted matrix. */ /* WERR (input/output) DOUBLE PRECISION array, dimension (N) */ /* The first M elements contain the semiwidth of the uncertainty */ /* interval of the corresponding eigenvalue in W */ /* WGAP (input/output) DOUBLE PRECISION array, dimension (N) */ /* The separation from the right neighbor eigenvalue in W. */ /* IBLOCK (input) INTEGER array, dimension (N) */ /* The indices of the blocks (submatrices) associated with the */ /* corresponding eigenvalues in W; IBLOCK(i)=1 if eigenvalue */ /* W(i) belongs to the first block from the top, =2 if W(i) */ /* belongs to the second block, etc. */ /* INDEXW (input) INTEGER array, dimension (N) */ /* The indices of the eigenvalues within each block (submatrix); */ /* for example, INDEXW(i)= 10 and IBLOCK(i)=2 imply that the */ /* i-th eigenvalue W(i) is the 10-th eigenvalue in the second block. */ /* GERS (input) DOUBLE PRECISION array, dimension (2*N) */ /* The N Gerschgorin intervals (the i-th Gerschgorin interval */ /* is (GERS(2*i-1), GERS(2*i)). The Gerschgorin intervals should */ /* be computed from the original UNshifted matrix. */ /* Z (output) DOUBLE PRECISION array, dimension (LDZ, max(1,M) ) */ /* If INFO = 0, the first M columns of Z contain the */ /* orthonormal eigenvectors of the matrix T */ /* corresponding to the input eigenvalues, with the i-th */ /* column of Z holding the eigenvector associated with W(i). */ /* Note: the user must ensure that at least max(1,M) columns are */ /* supplied in the array Z. */ /* LDZ (input) INTEGER */ /* The leading dimension of the array Z. LDZ >= 1, and if */ /* JOBZ = 'V', LDZ >= max(1,N). */ /* ISUPPZ (output) INTEGER array, dimension ( 2*max(1,M) ) */ /* The support of the eigenvectors in Z, i.e., the indices */ /* indicating the nonzero elements in Z. The I-th eigenvector */ /* is nonzero only in elements ISUPPZ( 2*I-1 ) through */ /* ISUPPZ( 2*I ). */ /* WORK (workspace) DOUBLE PRECISION array, dimension (12*N) */ /* IWORK (workspace) INTEGER array, dimension (7*N) */ /* INFO (output) INTEGER */ /* = 0: successful exit */ /* > 0: A problem occured in DLARRV. */ /* < 0: One of the called subroutines signaled an internal problem. */ /* Needs inspection of the corresponding parameter IINFO */ /* for further information. */ /* =-1: Problem in DLARRB when refining a child's eigenvalues. */ /* =-2: Problem in DLARRF when computing the RRR of a child. */ /* When a child is inside a tight cluster, it can be difficult */ /* to find an RRR. A partial remedy from the user's point of */ /* view is to make the parameter MINRGP smaller and recompile. */ /* However, as the orthogonality of the computed vectors is */ /* proportional to 1/MINRGP, the user should be aware that */ /* he might be trading in precision when he decreases MINRGP. */ /* =-3: Problem in DLARRB when refining a single eigenvalue */ /* after the Rayleigh correction was rejected. */ /* = 5: The Rayleigh Quotient Iteration failed to converge to */ /* full accuracy in MAXITR steps. */ /* Further Details */ /* =============== */ /* Based on contributions by */ /* Beresford Parlett, University of California, Berkeley, USA */ /* Jim Demmel, University of California, Berkeley, USA */ /* Inderjit Dhillon, University of Texas, Austin, USA */ /* Osni Marques, LBNL/NERSC, USA */ /* Christof Voemel, University of California, Berkeley, USA */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. External Functions .. */ /* .. */ /* .. External Subroutines .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* .. */ /* The first N entries of WORK are reserved for the eigenvalues */ /* Table of constant values */ Treal c_b5 = 0.; integer c__1 = 1; integer c__2 = 2; /* Parameter adjustments */ --d__; --l; --isplit; --w; --werr; --wgap; --iblock; --indexw; --gers; z_dim1 = *ldz; z_offset = 1 + z_dim1; z__ -= z_offset; --isuppz; --work; --iwork; /* Function Body */ indld = *n + 1; indlld = (*n << 1) + 1; indwrk = *n * 3 + 1; minwsize = *n * 12; i__1 = minwsize; for (i__ = 1; i__ <= i__1; ++i__) { work[i__] = 0.; /* L5: */ } /* IWORK(IINDR+1:IINDR+N) hold the twist indices R for the */ /* factorization used to compute the FP vector */ iindr = 0; /* IWORK(IINDC1+1:IINC2+N) are used to store the clusters of the current */ /* layer and the one above. */ iindc1 = *n; iindc2 = *n << 1; iindwk = *n * 3 + 1; miniwsize = *n * 7; i__1 = miniwsize; for (i__ = 1; i__ <= i__1; ++i__) { iwork[i__] = 0; /* L10: */ } zusedl = 1; if (*dol > 1) { /* Set lower bound for use of Z */ zusedl = *dol - 1; } zusedu = *m; if (*dou < *m) { /* Set lower bound for use of Z */ zusedu = *dou + 1; } /* The width of the part of Z that is used */ zusedw = zusedu - zusedl + 1; template_lapack_laset("Full", n, &zusedw, &c_b5, &c_b5, &z__[zusedl * z_dim1 + 1], ldz); eps = template_lapack_lamch("Precision",(Treal)0); rqtol = eps * 2.; /* Set expert flags for standard code. */ tryrqc = TRUE_; if (*dol == 1 && *dou == *m) { } else { /* Only selected eigenpairs are computed. Since the other evalues */ /* are not refined by RQ iteration, bisection has to compute to full */ /* accuracy. */ *rtol1 = eps * 4.; *rtol2 = eps * 4.; } /* The entries WBEGIN:WEND in W, WERR, WGAP correspond to the */ /* desired eigenvalues. The support of the nonzero eigenvector */ /* entries is contained in the interval IBEGIN:IEND. */ /* Remark that if k eigenpairs are desired, then the eigenvectors */ /* are stored in k contiguous columns of Z. */ /* DONE is the number of eigenvectors already computed */ done = 0; ibegin = 1; wbegin = 1; i__1 = iblock[*m]; for (jblk = 1; jblk <= i__1; ++jblk) { iend = isplit[jblk]; sigma = l[iend]; /* Find the eigenvectors of the submatrix indexed IBEGIN */ /* through IEND. */ wend = wbegin - 1; L15: if (wend < *m) { if (iblock[wend + 1] == jblk) { ++wend; goto L15; } } if (wend < wbegin) { ibegin = iend + 1; goto L170; } else if (wend < *dol || wbegin > *dou) { ibegin = iend + 1; wbegin = wend + 1; goto L170; } /* Find local spectral diameter of the block */ gl = gers[(ibegin << 1) - 1]; gu = gers[ibegin * 2]; i__2 = iend; for (i__ = ibegin + 1; i__ <= i__2; ++i__) { /* Computing MIN */ d__1 = gers[(i__ << 1) - 1]; gl = minMACRO(d__1,gl); /* Computing MAX */ d__1 = gers[i__ * 2]; gu = maxMACRO(d__1,gu); /* L20: */ } spdiam = gu - gl; /* OLDIEN is the last index of the previous block */ oldien = ibegin - 1; /* Calculate the size of the current block */ in = iend - ibegin + 1; /* The number of eigenvalues in the current block */ im = wend - wbegin + 1; /* This is for a 1x1 block */ if (ibegin == iend) { ++done; z__[ibegin + wbegin * z_dim1] = 1.; isuppz[(wbegin << 1) - 1] = ibegin; isuppz[wbegin * 2] = ibegin; w[wbegin] += sigma; work[wbegin] = w[wbegin]; ibegin = iend + 1; ++wbegin; goto L170; } /* The desired (shifted) eigenvalues are stored in W(WBEGIN:WEND) */ /* Note that these can be approximations, in this case, the corresp. */ /* entries of WERR give the size of the uncertainty interval. */ /* The eigenvalue approximations will be refined when necessary as */ /* high relative accuracy is required for the computation of the */ /* corresponding eigenvectors. */ template_blas_copy(&im, &w[wbegin], &c__1, &work[wbegin], &c__1); /* We store in W the eigenvalue approximations w.r.t. the original */ /* matrix T. */ i__2 = im; for (i__ = 1; i__ <= i__2; ++i__) { w[wbegin + i__ - 1] += sigma; /* L30: */ } /* NDEPTH is the current depth of the representation tree */ ndepth = 0; /* PARITY is either 1 or 0 */ parity = 1; /* NCLUS is the number of clusters for the next level of the */ /* representation tree, we start with NCLUS = 1 for the root */ nclus = 1; iwork[iindc1 + 1] = 1; iwork[iindc1 + 2] = im; /* IDONE is the number of eigenvectors already computed in the current */ /* block */ idone = 0; /* loop while( IDONE.LT.IM ) */ /* generate the representation tree for the current block and */ /* compute the eigenvectors */ L40: if (idone < im) { /* This is a crude protection against infinitely deep trees */ if (ndepth > *m) { *info = -2; return 0; } /* breadth first processing of the current level of the representation */ /* tree: OLDNCL = number of clusters on current level */ oldncl = nclus; /* reset NCLUS to count the number of child clusters */ nclus = 0; parity = 1 - parity; if (parity == 0) { oldcls = iindc1; newcls = iindc2; } else { oldcls = iindc2; newcls = iindc1; } /* Process the clusters on the current level */ i__2 = oldncl; for (i__ = 1; i__ <= i__2; ++i__) { j = oldcls + (i__ << 1); /* OLDFST, OLDLST = first, last index of current cluster. */ /* cluster indices start with 1 and are relative */ /* to WBEGIN when accessing W, WGAP, WERR, Z */ oldfst = iwork[j - 1]; oldlst = iwork[j]; if (ndepth > 0) { /* Retrieve relatively robust representation (RRR) of cluster */ /* that has been computed at the previous level */ /* The RRR is stored in Z and overwritten once the eigenvectors */ /* have been computed or when the cluster is refined */ if (*dol == 1 && *dou == *m) { /* Get representation from location of the leftmost evalue */ /* of the cluster */ j = wbegin + oldfst - 1; } else { if (wbegin + oldfst - 1 < *dol) { /* Get representation from the left end of Z array */ j = *dol - 1; } else if (wbegin + oldfst - 1 > *dou) { /* Get representation from the right end of Z array */ j = *dou; } else { j = wbegin + oldfst - 1; } } template_blas_copy(&in, &z__[ibegin + j * z_dim1], &c__1, &d__[ibegin] , &c__1); i__3 = in - 1; template_blas_copy(&i__3, &z__[ibegin + (j + 1) * z_dim1], &c__1, &l[ ibegin], &c__1); sigma = z__[iend + (j + 1) * z_dim1]; /* Set the corresponding entries in Z to zero */ template_lapack_laset("Full", &in, &c__2, &c_b5, &c_b5, &z__[ibegin + j * z_dim1], ldz); } /* Compute DL and DLL of current RRR */ i__3 = iend - 1; for (j = ibegin; j <= i__3; ++j) { tmp = d__[j] * l[j]; work[indld - 1 + j] = tmp; work[indlld - 1 + j] = tmp * l[j]; /* L50: */ } if (ndepth > 0) { /* P and Q are index of the first and last eigenvalue to compute */ /* within the current block */ p = indexw[wbegin - 1 + oldfst]; q = indexw[wbegin - 1 + oldlst]; /* Offset for the arrays WORK, WGAP and WERR, i.e., th P-OFFSET */ /* thru' Q-OFFSET elements of these arrays are to be used. */ /* OFFSET = P-OLDFST */ offset = indexw[wbegin] - 1; /* perform limited bisection (if necessary) to get approximate */ /* eigenvalues to the precision needed. */ template_lapack_larrb(&in, &d__[ibegin], &work[indlld + ibegin - 1], &p, &q, rtol1, rtol2, &offset, &work[wbegin], &wgap[ wbegin], &werr[wbegin], &work[indwrk], &iwork[ iindwk], pivmin, &spdiam, &in, &iinfo); if (iinfo != 0) { *info = -1; return 0; } /* We also recompute the extremal gaps. W holds all eigenvalues */ /* of the unshifted matrix and must be used for computation */ /* of WGAP, the entries of WORK might stem from RRRs with */ /* different shifts. The gaps from WBEGIN-1+OLDFST to */ /* WBEGIN-1+OLDLST are correctly computed in DLARRB. */ /* However, we only allow the gaps to become greater since */ /* this is what should happen when we decrease WERR */ if (oldfst > 1) { /* Computing MAX */ d__1 = wgap[wbegin + oldfst - 2], d__2 = w[wbegin + oldfst - 1] - werr[wbegin + oldfst - 1] - w[ wbegin + oldfst - 2] - werr[wbegin + oldfst - 2]; wgap[wbegin + oldfst - 2] = maxMACRO(d__1,d__2); } if (wbegin + oldlst - 1 < wend) { /* Computing MAX */ d__1 = wgap[wbegin + oldlst - 1], d__2 = w[wbegin + oldlst] - werr[wbegin + oldlst] - w[wbegin + oldlst - 1] - werr[wbegin + oldlst - 1]; wgap[wbegin + oldlst - 1] = maxMACRO(d__1,d__2); } /* Each time the eigenvalues in WORK get refined, we store */ /* the newly found approximation with all shifts applied in W */ i__3 = oldlst; for (j = oldfst; j <= i__3; ++j) { w[wbegin + j - 1] = work[wbegin + j - 1] + sigma; /* L53: */ } } /* Process the current node. */ newfst = oldfst; i__3 = oldlst; for (j = oldfst; j <= i__3; ++j) { if (j == oldlst) { /* we are at the right end of the cluster, this is also the */ /* boundary of the child cluster */ newlst = j; } else if (wgap[wbegin + j - 1] >= *minrgp * (d__1 = work[ wbegin + j - 1], absMACRO(d__1))) { /* the right relative gap is big enough, the child cluster */ /* (NEWFST,..,NEWLST) is well separated from the following */ newlst = j; } else { /* inside a child cluster, the relative gap is not */ /* big enough. */ goto L140; } /* Compute size of child cluster found */ newsiz = newlst - newfst + 1; /* NEWFTT is the place in Z where the new RRR or the computed */ /* eigenvector is to be stored */ if (*dol == 1 && *dou == *m) { /* Store representation at location of the leftmost evalue */ /* of the cluster */ newftt = wbegin + newfst - 1; } else { if (wbegin + newfst - 1 < *dol) { /* Store representation at the left end of Z array */ newftt = *dol - 1; } else if (wbegin + newfst - 1 > *dou) { /* Store representation at the right end of Z array */ newftt = *dou; } else { newftt = wbegin + newfst - 1; } } if (newsiz > 1) { /* Current child is not a singleton but a cluster. */ /* Compute and store new representation of child. */ /* Compute left and right cluster gap. */ /* LGAP and RGAP are not computed from WORK because */ /* the eigenvalue approximations may stem from RRRs */ /* different shifts. However, W hold all eigenvalues */ /* of the unshifted matrix. Still, the entries in WGAP */ /* have to be computed from WORK since the entries */ /* in W might be of the same order so that gaps are not */ /* exhibited correctly for very close eigenvalues. */ if (newfst == 1) { /* Computing MAX */ d__1 = 0., d__2 = w[wbegin] - werr[wbegin] - *vl; lgap = maxMACRO(d__1,d__2); } else { lgap = wgap[wbegin + newfst - 2]; } rgap = wgap[wbegin + newlst - 1]; /* Compute left- and rightmost eigenvalue of child */ /* to high precision in order to shift as close */ /* as possible and obtain as large relative gaps */ /* as possible */ for (k = 1; k <= 2; ++k) { if (k == 1) { p = indexw[wbegin - 1 + newfst]; } else { p = indexw[wbegin - 1 + newlst]; } offset = indexw[wbegin] - 1; template_lapack_larrb(&in, &d__[ibegin], &work[indlld + ibegin - 1], &p, &p, &rqtol, &rqtol, &offset, & work[wbegin], &wgap[wbegin], &werr[wbegin] , &work[indwrk], &iwork[iindwk], pivmin, & spdiam, &in, &iinfo); /* L55: */ } if (wbegin + newlst - 1 < *dol || wbegin + newfst - 1 > *dou) { /* if the cluster contains no desired eigenvalues */ /* skip the computation of that branch of the rep. tree */ /* We could skip before the refinement of the extremal */ /* eigenvalues of the child, but then the representation */ /* tree could be different from the one when nothing is */ /* skipped. For this reason we skip at this place. */ idone = idone + newlst - newfst + 1; goto L139; } /* Compute RRR of child cluster. */ /* Note that the new RRR is stored in Z */ /* DLARRF needs LWORK = 2*N */ template_lapack_larrf(&in, &d__[ibegin], &l[ibegin], &work[indld + ibegin - 1], &newfst, &newlst, &work[wbegin], &wgap[wbegin], &werr[wbegin], &spdiam, &lgap, &rgap, pivmin, &tau, &z__[ibegin + newftt * z_dim1], &z__[ibegin + (newftt + 1) * z_dim1], &work[indwrk], &iinfo); if (iinfo == 0) { /* a new RRR for the cluster was found by DLARRF */ /* update shift and store it */ ssigma = sigma + tau; z__[iend + (newftt + 1) * z_dim1] = ssigma; /* WORK() are the midpoints and WERR() the semi-width */ /* Note that the entries in W are unchanged. */ i__4 = newlst; for (k = newfst; k <= i__4; ++k) { fudge = eps * 3. * (d__1 = work[wbegin + k - 1], absMACRO(d__1)); work[wbegin + k - 1] -= tau; fudge += eps * 4. * (d__1 = work[wbegin + k - 1], absMACRO(d__1)); /* Fudge errors */ werr[wbegin + k - 1] += fudge; /* Gaps are not fudged. Provided that WERR is small */ /* when eigenvalues are close, a zero gap indicates */ /* that a new representation is needed for resolving */ /* the cluster. A fudge could lead to a wrong decision */ /* of judging eigenvalues 'separated' which in */ /* reality are not. This could have a negative impact */ /* on the orthogonality of the computed eigenvectors. */ /* L116: */ } ++nclus; k = newcls + (nclus << 1); iwork[k - 1] = newfst; iwork[k] = newlst; } else { *info = -2; return 0; } } else { /* Compute eigenvector of singleton */ iter = 0; tol = template_blas_log((Treal) in) * 4. * eps; k = newfst; windex = wbegin + k - 1; /* Computing MAX */ i__4 = windex - 1; windmn = maxMACRO(i__4,1); /* Computing MIN */ i__4 = windex + 1; windpl = minMACRO(i__4,*m); lambda = work[windex]; ++done; /* Check if eigenvector computation is to be skipped */ if (windex < *dol || windex > *dou) { eskip = TRUE_; goto L125; } else { eskip = FALSE_; } left = work[windex] - werr[windex]; right = work[windex] + werr[windex]; indeig = indexw[windex]; /* Note that since we compute the eigenpairs for a child, */ /* all eigenvalue approximations are w.r.t the same shift. */ /* In this case, the entries in WORK should be used for */ /* computing the gaps since they exhibit even very small */ /* differences in the eigenvalues, as opposed to the */ /* entries in W which might "look" the same. */ if (k == 1) { /* In the case RANGE='I' and with not much initial */ /* accuracy in LAMBDA and VL, the formula */ /* LGAP = MAX( ZERO, (SIGMA - VL) + LAMBDA ) */ /* can lead to an overestimation of the left gap and */ /* thus to inadequately early RQI 'convergence'. */ /* Prevent this by forcing a small left gap. */ /* Computing MAX */ d__1 = absMACRO(left), d__2 = absMACRO(right); lgap = eps * maxMACRO(d__1,d__2); } else { lgap = wgap[windmn]; } if (k == im) { /* In the case RANGE='I' and with not much initial */ /* accuracy in LAMBDA and VU, the formula */ /* can lead to an overestimation of the right gap and */ /* thus to inadequately early RQI 'convergence'. */ /* Prevent this by forcing a small right gap. */ /* Computing MAX */ d__1 = absMACRO(left), d__2 = absMACRO(right); rgap = eps * maxMACRO(d__1,d__2); } else { rgap = wgap[windex]; } gap = minMACRO(lgap,rgap); if (k == 1 || k == im) { /* The eigenvector support can become wrong */ /* because significant entries could be cut off due to a */ /* large GAPTOL parameter in LAR1V. Prevent this. */ gaptol = 0.; } else { gaptol = gap * eps; } isupmn = in; isupmx = 1; /* Update WGAP so that it holds the minimum gap */ /* to the left or the right. This is crucial in the */ /* case where bisection is used to ensure that the */ /* eigenvalue is refined up to the required precision. */ /* The correct value is restored afterwards. */ savgap = wgap[windex]; wgap[windex] = gap; /* We want to use the Rayleigh Quotient Correction */ /* as often as possible since it converges quadratically */ /* when we are close enough to the desired eigenvalue. */ /* However, the Rayleigh Quotient can have the wrong sign */ /* and lead us away from the desired eigenvalue. In this */ /* case, the best we can do is to use bisection. */ usedbs = FALSE_; usedrq = FALSE_; /* Bisection is initially turned off unless it is forced */ needbs = ! tryrqc; L120: /* Check if bisection should be used to refine eigenvalue */ if (needbs) { /* Take the bisection as new iterate */ usedbs = TRUE_; itmp1 = iwork[iindr + windex]; offset = indexw[wbegin] - 1; d__1 = eps * 2.; template_lapack_larrb(&in, &d__[ibegin], &work[indlld + ibegin - 1], &indeig, &indeig, &c_b5, &d__1, & offset, &work[wbegin], &wgap[wbegin], & werr[wbegin], &work[indwrk], &iwork[ iindwk], pivmin, &spdiam, &itmp1, &iinfo); if (iinfo != 0) { *info = -3; return 0; } lambda = work[windex]; /* Reset twist index from inaccurate LAMBDA to */ /* force computation of true MINGMA */ iwork[iindr + windex] = 0; } /* Given LAMBDA, compute the eigenvector. */ L__1 = ! usedbs; template_lapack_lar1v(&in, &c__1, &in, &lambda, &d__[ibegin], &l[ ibegin], &work[indld + ibegin - 1], &work[ indlld + ibegin - 1], pivmin, &gaptol, &z__[ ibegin + windex * z_dim1], &L__1, &negcnt, & ztz, &mingma, &iwork[iindr + windex], &isuppz[ (windex << 1) - 1], &nrminv, &resid, &rqcorr, &work[indwrk]); if (iter == 0) { bstres = resid; bstw = lambda; } else if (resid < bstres) { bstres = resid; bstw = lambda; } /* Computing MIN */ i__4 = isupmn, i__5 = isuppz[(windex << 1) - 1]; isupmn = minMACRO(i__4,i__5); /* Computing MAX */ i__4 = isupmx, i__5 = isuppz[windex * 2]; isupmx = maxMACRO(i__4,i__5); ++iter; /* sin alpha <= |resid|/gap */ /* Note that both the residual and the gap are */ /* proportional to the matrix, so ||T|| doesn't play */ /* a role in the quotient */ /* Convergence test for Rayleigh-Quotient iteration */ /* (omitted when Bisection has been used) */ if (resid > tol * gap && absMACRO(rqcorr) > rqtol * absMACRO( lambda) && ! usedbs) { /* We need to check that the RQCORR update doesn't */ /* move the eigenvalue away from the desired one and */ /* towards a neighbor. -> protection with bisection */ if (indeig <= negcnt) { /* The wanted eigenvalue lies to the left */ sgndef = -1.; } else { /* The wanted eigenvalue lies to the right */ sgndef = 1.; } /* We only use the RQCORR if it improves the */ /* the iterate reasonably. */ if (rqcorr * sgndef >= 0. && lambda + rqcorr <= right && lambda + rqcorr >= left) { usedrq = TRUE_; /* Store new midpoint of bisection interval in WORK */ if (sgndef == 1.) { /* The current LAMBDA is on the left of the true */ /* eigenvalue */ left = lambda; /* We prefer to assume that the error estimate */ /* is correct. We could make the interval not */ /* as a bracket but to be modified if the RQCORR */ /* chooses to. In this case, the RIGHT side should */ /* be modified as follows: */ /* RIGHT = MAX(RIGHT, LAMBDA + RQCORR) */ } else { /* The current LAMBDA is on the right of the true */ /* eigenvalue */ right = lambda; /* See comment about assuming the error estimate is */ /* correct above. */ /* LEFT = MIN(LEFT, LAMBDA + RQCORR) */ } work[windex] = (right + left) * .5; /* Take RQCORR since it has the correct sign and */ /* improves the iterate reasonably */ lambda += rqcorr; /* Update width of error interval */ werr[windex] = (right - left) * .5; } else { needbs = TRUE_; } if (right - left < rqtol * absMACRO(lambda)) { /* The eigenvalue is computed to bisection accuracy */ /* compute eigenvector and stop */ usedbs = TRUE_; goto L120; } else if (iter < 10) { goto L120; } else if (iter == 10) { needbs = TRUE_; goto L120; } else { *info = 5; return 0; } } else { stp2ii = FALSE_; if (usedrq && usedbs && bstres <= resid) { lambda = bstw; stp2ii = TRUE_; } if (stp2ii) { /* improve error angle by second step */ L__1 = ! usedbs; template_lapack_lar1v(&in, &c__1, &in, &lambda, &d__[ibegin] , &l[ibegin], &work[indld + ibegin - 1], &work[indlld + ibegin - 1], pivmin, &gaptol, &z__[ibegin + windex * z_dim1], &L__1, &negcnt, &ztz, & mingma, &iwork[iindr + windex], & isuppz[(windex << 1) - 1], &nrminv, & resid, &rqcorr, &work[indwrk]); } work[windex] = lambda; } /* Compute FP-vector support w.r.t. whole matrix */ isuppz[(windex << 1) - 1] += oldien; isuppz[windex * 2] += oldien; zfrom = isuppz[(windex << 1) - 1]; zto = isuppz[windex * 2]; isupmn += oldien; isupmx += oldien; /* Ensure vector is ok if support in the RQI has changed */ if (isupmn < zfrom) { i__4 = zfrom - 1; for (ii = isupmn; ii <= i__4; ++ii) { z__[ii + windex * z_dim1] = 0.; /* L122: */ } } if (isupmx > zto) { i__4 = isupmx; for (ii = zto + 1; ii <= i__4; ++ii) { z__[ii + windex * z_dim1] = 0.; /* L123: */ } } i__4 = zto - zfrom + 1; template_blas_scal(&i__4, &nrminv, &z__[zfrom + windex * z_dim1], &c__1); L125: /* Update W */ w[windex] = lambda + sigma; /* Recompute the gaps on the left and right */ /* But only allow them to become larger and not */ /* smaller (which can only happen through "bad" */ /* cancellation and doesn't reflect the theory */ /* where the initial gaps are underestimated due */ /* to WERR being too crude.) */ if (! eskip) { if (k > 1) { /* Computing MAX */ d__1 = wgap[windmn], d__2 = w[windex] - werr[ windex] - w[windmn] - werr[windmn]; wgap[windmn] = maxMACRO(d__1,d__2); } if (windex < wend) { /* Computing MAX */ d__1 = savgap, d__2 = w[windpl] - werr[windpl] - w[windex] - werr[windex]; wgap[windex] = maxMACRO(d__1,d__2); } } ++idone; } /* here ends the code for the current child */ L139: /* Proceed to any remaining child nodes */ newfst = j + 1; L140: ; } /* L150: */ } ++ndepth; goto L40; } ibegin = iend + 1; wbegin = wend + 1; L170: ; } return 0; /* End of DLARRV */ } /* dlarrv_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_stebz.h0000664000175000017500000005314012743400307023136 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_STEBZ_HEADER #define TEMPLATE_LAPACK_STEBZ_HEADER template int template_lapack_stebz(const char *range, const char *order, const integer *n, const Treal *vl, const Treal *vu, const integer *il, const integer *iu, const Treal *abstol, const Treal *d__, const Treal *e, integer *m, integer *nsplit, Treal *w, integer *iblock, integer *isplit, Treal *work, integer *iwork, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DSTEBZ computes the eigenvalues of a symmetric tridiagonal matrix T. The user may ask for all eigenvalues, all eigenvalues in the half-open interval (VL, VU], or the IL-th through IU-th eigenvalues. To avoid overflow, the matrix must be scaled so that its largest element is no greater than overflow**(1/2) * underflow**(1/4) in absolute value, and for greatest accuracy, it should not be much smaller than that. See W. Kahan "Accurate Eigenvalues of a Symmetric Tridiagonal Matrix", Report CS41, Computer Science Dept., Stanford University, July 21, 1966. Arguments ========= RANGE (input) CHARACTER = 'A': ("All") all eigenvalues will be found. = 'V': ("Value") all eigenvalues in the half-open interval (VL, VU] will be found. = 'I': ("Index") the IL-th through IU-th eigenvalues (of the entire matrix) will be found. ORDER (input) CHARACTER = 'B': ("By Block") the eigenvalues will be grouped by split-off block (see IBLOCK, ISPLIT) and ordered from smallest to largest within the block. = 'E': ("Entire matrix") the eigenvalues for the entire matrix will be ordered from smallest to largest. N (input) INTEGER The order of the tridiagonal matrix T. N >= 0. VL (input) DOUBLE PRECISION VU (input) DOUBLE PRECISION If RANGE='V', the lower and upper bounds of the interval to be searched for eigenvalues. Eigenvalues less than or equal to VL, or greater than VU, will not be returned. VL < VU. Not referenced if RANGE = 'A' or 'I'. IL (input) INTEGER IU (input) INTEGER If RANGE='I', the indices (in ascending order) of the smallest and largest eigenvalues to be returned. 1 <= IL <= IU <= N, if N > 0; IL = 1 and IU = 0 if N = 0. Not referenced if RANGE = 'A' or 'V'. ABSTOL (input) DOUBLE PRECISION The absolute tolerance for the eigenvalues. An eigenvalue (or cluster) is considered to be located if it has been determined to lie in an interval whose width is ABSTOL or less. If ABSTOL is less than or equal to zero, then ULP*|T| will be used, where |T| means the 1-norm of T. Eigenvalues will be computed most accurately when ABSTOL is set to twice the underflow threshold 2*DLAMCH('S'), not zero. D (input) DOUBLE PRECISION array, dimension (N) The n diagonal elements of the tridiagonal matrix T. E (input) DOUBLE PRECISION array, dimension (N-1) The (n-1) off-diagonal elements of the tridiagonal matrix T. M (output) INTEGER The actual number of eigenvalues found. 0 <= M <= N. (See also the description of INFO=2,3.) NSPLIT (output) INTEGER The number of diagonal blocks in the matrix T. 1 <= NSPLIT <= N. W (output) DOUBLE PRECISION array, dimension (N) On exit, the first M elements of W will contain the eigenvalues. (DSTEBZ may use the remaining N-M elements as workspace.) IBLOCK (output) INTEGER array, dimension (N) At each row/column j where E(j) is zero or small, the matrix T is considered to split into a block diagonal matrix. On exit, if INFO = 0, IBLOCK(i) specifies to which block (from 1 to the number of blocks) the eigenvalue W(i) belongs. (DSTEBZ may use the remaining N-M elements as workspace.) ISPLIT (output) INTEGER array, dimension (N) The splitting points, at which T breaks up into submatrices. The first submatrix consists of rows/columns 1 to ISPLIT(1), the second of rows/columns ISPLIT(1)+1 through ISPLIT(2), etc., and the NSPLIT-th consists of rows/columns ISPLIT(NSPLIT-1)+1 through ISPLIT(NSPLIT)=N. (Only the first NSPLIT elements will actually be used, but since the user cannot know a priori what value NSPLIT will have, N words must be reserved for ISPLIT.) WORK (workspace) DOUBLE PRECISION array, dimension (4*N) IWORK (workspace) INTEGER array, dimension (3*N) INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: some or all of the eigenvalues failed to converge or were not computed: =1 or 3: Bisection failed to converge for some eigenvalues; these eigenvalues are flagged by a negative block number. The effect is that the eigenvalues may not be as accurate as the absolute and relative tolerances. This is generally caused by unexpectedly inaccurate arithmetic. =2 or 3: RANGE='I' only: Not all of the eigenvalues IL:IU were found. Effect: M < IU+1-IL Cause: non-monotonic arithmetic, causing the Sturm sequence to be non-monotonic. Cure: recalculate, using RANGE='A', and pick out eigenvalues IL:IU. In some cases, increasing the PARAMETER "FUDGE" may make things work. = 4: RANGE='I', and the Gershgorin interval initially used was too small. No eigenvalues were computed. Probable cause: your machine has sloppy floating-point arithmetic. Cure: Increase the PARAMETER "FUDGE", recompile, and try again. Internal Parameters =================== RELFAC DOUBLE PRECISION, default = 2.0e0 The relative tolerance. An interval (a,b] lies within "relative tolerance" if b-a < RELFAC*ulp*max(|a|,|b|), where "ulp" is the machine precision (distance from 1 to the next larger floating point number.) FUDGE DOUBLE PRECISION, default = 2 A "fudge factor" to widen the Gershgorin intervals. Ideally, a value of 1 should work, but on machines with sloppy arithmetic, this needs to be larger. The default for publicly released versions should be large enough to handle the worst machine around. Note that this has no effect on accuracy of the solution. ===================================================================== Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; integer c__3 = 3; integer c__2 = 2; integer c__0 = 0; /* System generated locals */ integer i__1, i__2, i__3; Treal d__1, d__2, d__3, d__4, d__5; /* Local variables */ integer iend, ioff, iout, itmp1, j, jdisc; integer iinfo; Treal atoli; integer iwoff; Treal bnorm; integer itmax; Treal wkill, rtoli, tnorm; integer ib, jb, ie, je, nb; Treal gl; integer im, in; integer ibegin; Treal gu; integer iw; Treal wl; integer irange, idiscl; Treal safemn, wu; integer idumma[1]; integer idiscu, iorder; logical ncnvrg; Treal pivmin; logical toofew; integer nwl; Treal ulp, wlu, wul; integer nwu; Treal tmp1, tmp2; --iwork; --work; --isplit; --iblock; --w; --e; --d__; /* Initialization added by Elias to get rid of compiler warnings. */ wlu = wul = 0; /* Function Body */ *info = 0; /* Decode RANGE */ if (template_blas_lsame(range, "A")) { irange = 1; } else if (template_blas_lsame(range, "V")) { irange = 2; } else if (template_blas_lsame(range, "I")) { irange = 3; } else { irange = 0; } /* Decode ORDER */ if (template_blas_lsame(order, "B")) { iorder = 2; } else if (template_blas_lsame(order, "E")) { iorder = 1; } else { iorder = 0; } /* Check for Errors */ if (irange <= 0) { *info = -1; } else if (iorder <= 0) { *info = -2; } else if (*n < 0) { *info = -3; } else if (irange == 2) { if (*vl >= *vu) { *info = -5; } } else if (irange == 3 && (*il < 1 || *il > maxMACRO(1,*n))) { *info = -6; } else if (irange == 3 && (*iu < minMACRO(*n,*il) || *iu > *n)) { *info = -7; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("STEBZ ", &i__1); return 0; } /* Initialize error flags */ *info = 0; ncnvrg = FALSE_; toofew = FALSE_; /* Quick return if possible */ *m = 0; if (*n == 0) { return 0; } /* Simplifications: */ if (irange == 3 && *il == 1 && *iu == *n) { irange = 1; } /* Get machine constants NB is the minimum vector length for vector bisection, or 0 if only scalar is to be done. */ safemn = template_lapack_lamch("S", (Treal)0); ulp = template_lapack_lamch("P", (Treal)0); rtoli = ulp * 2.; nb = template_lapack_ilaenv(&c__1, "DSTEBZ", " ", n, &c_n1, &c_n1, &c_n1, (ftnlen)6, ( ftnlen)1); if (nb <= 1) { nb = 0; } /* Special Case when N=1 */ if (*n == 1) { *nsplit = 1; isplit[1] = 1; if (irange == 2 && (*vl >= d__[1] || *vu < d__[1])) { *m = 0; } else { w[1] = d__[1]; iblock[1] = 1; *m = 1; } return 0; } /* Compute Splitting Points */ *nsplit = 1; work[*n] = 0.; pivmin = 1.; /* DIR$ NOVECTOR */ i__1 = *n; for (j = 2; j <= i__1; ++j) { /* Computing 2nd power */ d__1 = e[j - 1]; tmp1 = d__1 * d__1; /* Computing 2nd power */ d__2 = ulp; if ((d__1 = d__[j] * d__[j - 1], absMACRO(d__1)) * (d__2 * d__2) + safemn > tmp1) { isplit[*nsplit] = j - 1; ++(*nsplit); work[j - 1] = 0.; } else { work[j - 1] = tmp1; pivmin = maxMACRO(pivmin,tmp1); } /* L10: */ } isplit[*nsplit] = *n; pivmin *= safemn; /* Compute Interval and ATOLI */ if (irange == 3) { /* RANGE='I': Compute the interval containing eigenvalues IL through IU. Compute Gershgorin interval for entire (split) matrix and use it as the initial interval */ gu = d__[1]; gl = d__[1]; tmp1 = 0.; i__1 = *n - 1; for (j = 1; j <= i__1; ++j) { tmp2 = template_blas_sqrt(work[j]); /* Computing MAX */ d__1 = gu, d__2 = d__[j] + tmp1 + tmp2; gu = maxMACRO(d__1,d__2); /* Computing MIN */ d__1 = gl, d__2 = d__[j] - tmp1 - tmp2; gl = minMACRO(d__1,d__2); tmp1 = tmp2; /* L20: */ } /* Computing MAX */ d__1 = gu, d__2 = d__[*n] + tmp1; gu = maxMACRO(d__1,d__2); /* Computing MIN */ d__1 = gl, d__2 = d__[*n] - tmp1; gl = minMACRO(d__1,d__2); /* Computing MAX */ d__1 = absMACRO(gl), d__2 = absMACRO(gu); tnorm = maxMACRO(d__1,d__2); gl = gl - tnorm * 2. * ulp * *n - pivmin * 4.; gu = gu + tnorm * 2. * ulp * *n + pivmin * 2.; /* Compute Iteration parameters */ itmax = (integer) ((template_blas_log(tnorm + pivmin) - template_blas_log(pivmin)) / template_blas_log(2.)) + 2; if (*abstol <= 0.) { atoli = ulp * tnorm; } else { atoli = *abstol; } work[*n + 1] = gl; work[*n + 2] = gl; work[*n + 3] = gu; work[*n + 4] = gu; work[*n + 5] = gl; work[*n + 6] = gu; iwork[1] = -1; iwork[2] = -1; iwork[3] = *n + 1; iwork[4] = *n + 1; iwork[5] = *il - 1; iwork[6] = *iu; template_lapack_laebz(&c__3, &itmax, n, &c__2, &c__2, &nb, &atoli, &rtoli, &pivmin, &d__[1], &e[1], &work[1], &iwork[5], &work[*n + 1], &work[*n + 5], &iout, &iwork[1], &w[1], &iblock[1], &iinfo); if (iwork[6] == *iu) { wl = work[*n + 1]; wlu = work[*n + 3]; nwl = iwork[1]; wu = work[*n + 4]; wul = work[*n + 2]; nwu = iwork[4]; } else { wl = work[*n + 2]; wlu = work[*n + 4]; nwl = iwork[2]; wu = work[*n + 3]; wul = work[*n + 1]; nwu = iwork[3]; } if (nwl < 0 || nwl >= *n || nwu < 1 || nwu > *n) { *info = 4; return 0; } } else { /* RANGE='A' or 'V' -- Set ATOLI Computing MAX */ d__3 = absMACRO(d__[1]) + absMACRO(e[1]), d__4 = (d__1 = d__[*n], absMACRO(d__1)) + ( d__2 = e[*n - 1], absMACRO(d__2)); tnorm = maxMACRO(d__3,d__4); i__1 = *n - 1; for (j = 2; j <= i__1; ++j) { /* Computing MAX */ d__4 = tnorm, d__5 = (d__1 = d__[j], absMACRO(d__1)) + (d__2 = e[j - 1] , absMACRO(d__2)) + (d__3 = e[j], absMACRO(d__3)); tnorm = maxMACRO(d__4,d__5); /* L30: */ } if (*abstol <= 0.) { atoli = ulp * tnorm; } else { atoli = *abstol; } if (irange == 2) { wl = *vl; wu = *vu; } else { wl = 0.; wu = 0.; } } /* Find Eigenvalues -- Loop Over Blocks and recompute NWL and NWU. NWL accumulates the number of eigenvalues .le. WL, NWU accumulates the number of eigenvalues .le. WU */ *m = 0; iend = 0; *info = 0; nwl = 0; nwu = 0; i__1 = *nsplit; for (jb = 1; jb <= i__1; ++jb) { ioff = iend; ibegin = ioff + 1; iend = isplit[jb]; in = iend - ioff; if (in == 1) { /* Special Case -- IN=1 */ if (irange == 1 || wl >= d__[ibegin] - pivmin) { ++nwl; } if (irange == 1 || wu >= d__[ibegin] - pivmin) { ++nwu; } if (irange == 1 || ( wl < d__[ibegin] - pivmin && wu >= d__[ibegin] - pivmin ) ) { ++(*m); w[*m] = d__[ibegin]; iblock[*m] = jb; } } else { /* General Case -- IN > 1 Compute Gershgorin Interval and use it as the initial interval */ gu = d__[ibegin]; gl = d__[ibegin]; tmp1 = 0.; i__2 = iend - 1; for (j = ibegin; j <= i__2; ++j) { tmp2 = (d__1 = e[j], absMACRO(d__1)); /* Computing MAX */ d__1 = gu, d__2 = d__[j] + tmp1 + tmp2; gu = maxMACRO(d__1,d__2); /* Computing MIN */ d__1 = gl, d__2 = d__[j] - tmp1 - tmp2; gl = minMACRO(d__1,d__2); tmp1 = tmp2; /* L40: */ } /* Computing MAX */ d__1 = gu, d__2 = d__[iend] + tmp1; gu = maxMACRO(d__1,d__2); /* Computing MIN */ d__1 = gl, d__2 = d__[iend] - tmp1; gl = minMACRO(d__1,d__2); /* Computing MAX */ d__1 = absMACRO(gl), d__2 = absMACRO(gu); bnorm = maxMACRO(d__1,d__2); gl = gl - bnorm * 2. * ulp * in - pivmin * 2.; gu = gu + bnorm * 2. * ulp * in + pivmin * 2.; /* Compute ATOLI for the current submatrix */ if (*abstol <= 0.) { /* Computing MAX */ d__1 = absMACRO(gl), d__2 = absMACRO(gu); atoli = ulp * maxMACRO(d__1,d__2); } else { atoli = *abstol; } if (irange > 1) { if (gu < wl) { nwl += in; nwu += in; goto L70; } gl = maxMACRO(gl,wl); gu = minMACRO(gu,wu); if (gl >= gu) { goto L70; } } /* Set Up Initial Interval */ work[*n + 1] = gl; work[*n + in + 1] = gu; template_lapack_laebz(&c__1, &c__0, &in, &in, &c__1, &nb, &atoli, &rtoli, & pivmin, &d__[ibegin], &e[ibegin], &work[ibegin], idumma, & work[*n + 1], &work[*n + (in << 1) + 1], &im, &iwork[1], & w[*m + 1], &iblock[*m + 1], &iinfo); nwl += iwork[1]; nwu += iwork[in + 1]; iwoff = *m - iwork[1]; /* Compute Eigenvalues */ itmax = (integer) ((template_blas_log(gu - gl + pivmin) - template_blas_log(pivmin)) / template_blas_log(2.) ) + 2; template_lapack_laebz(&c__2, &itmax, &in, &in, &c__1, &nb, &atoli, &rtoli, & pivmin, &d__[ibegin], &e[ibegin], &work[ibegin], idumma, & work[*n + 1], &work[*n + (in << 1) + 1], &iout, &iwork[1], &w[*m + 1], &iblock[*m + 1], &iinfo); /* Copy Eigenvalues Into W and IBLOCK Use -JB for block number for unconverged eigenvalues. */ i__2 = iout; for (j = 1; j <= i__2; ++j) { tmp1 = (work[j + *n] + work[j + in + *n]) * .5; /* Flag non-convergence. */ if (j > iout - iinfo) { ncnvrg = TRUE_; ib = -jb; } else { ib = jb; } i__3 = iwork[j + in] + iwoff; for (je = iwork[j] + 1 + iwoff; je <= i__3; ++je) { w[je] = tmp1; iblock[je] = ib; /* L50: */ } /* L60: */ } *m += im; } L70: ; } /* If RANGE='I', then (WL,WU) contains eigenvalues NWL+1,...,NWU If NWL+1 < IL or NWU > IU, discard extra eigenvalues. */ if (irange == 3) { im = 0; idiscl = *il - 1 - nwl; idiscu = nwu - *iu; if (idiscl > 0 || idiscu > 0) { i__1 = *m; for (je = 1; je <= i__1; ++je) { if (w[je] <= wlu && idiscl > 0) { --idiscl; } else if (w[je] >= wul && idiscu > 0) { --idiscu; } else { ++im; w[im] = w[je]; iblock[im] = iblock[je]; } /* L80: */ } *m = im; } if (idiscl > 0 || idiscu > 0) { /* Code to deal with effects of bad arithmetic: Some low eigenvalues to be discarded are not in (WL,WLU], or high eigenvalues to be discarded are not in (WUL,WU] so just kill off the smallest IDISCL/largest IDISCU eigenvalues, by simply finding the smallest/largest eigenvalue(s). (If N(w) is monotone non-decreasing, this should never happen.) */ if (idiscl > 0) { wkill = wu; i__1 = idiscl; for (jdisc = 1; jdisc <= i__1; ++jdisc) { iw = 0; i__2 = *m; for (je = 1; je <= i__2; ++je) { if (iblock[je] != 0 && (w[je] < wkill || iw == 0)) { iw = je; wkill = w[je]; } /* L90: */ } iblock[iw] = 0; /* L100: */ } } if (idiscu > 0) { wkill = wl; i__1 = idiscu; for (jdisc = 1; jdisc <= i__1; ++jdisc) { iw = 0; i__2 = *m; for (je = 1; je <= i__2; ++je) { if (iblock[je] != 0 && (w[je] > wkill || iw == 0)) { iw = je; wkill = w[je]; } /* L110: */ } iblock[iw] = 0; /* L120: */ } } im = 0; i__1 = *m; for (je = 1; je <= i__1; ++je) { if (iblock[je] != 0) { ++im; w[im] = w[je]; iblock[im] = iblock[je]; } /* L130: */ } *m = im; } if (idiscl < 0 || idiscu < 0) { toofew = TRUE_; } } /* If ORDER='B', do nothing -- the eigenvalues are already sorted by block. If ORDER='E', sort the eigenvalues from smallest to largest */ if (iorder == 1 && *nsplit > 1) { i__1 = *m - 1; for (je = 1; je <= i__1; ++je) { ie = 0; tmp1 = w[je]; i__2 = *m; for (j = je + 1; j <= i__2; ++j) { if (w[j] < tmp1) { ie = j; tmp1 = w[j]; } /* L140: */ } if (ie != 0) { itmp1 = iblock[ie]; w[ie] = w[je]; iblock[ie] = iblock[je]; w[je] = tmp1; iblock[je] = itmp1; } /* L150: */ } } *info = 0; if (ncnvrg) { ++(*info); } if (toofew) { *info += 2; } return 0; /* End of DSTEBZ */ } /* dstebz_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lansy.h0000664000175000017500000001653512743400307023144 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LANSY_HEADER #define TEMPLATE_LAPACK_LANSY_HEADER template Treal template_lapack_lansy(const char *norm, const char *uplo, const integer *n, const Treal *a, const integer *lda, Treal *work) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLANSY returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a real symmetric matrix A. Description =========== DLANSY returns the value DLANSY = ( max(abs(A(i,j))), NORM = 'M' or 'm' ( ( norm1(A), NORM = '1', 'O' or 'o' ( ( normI(A), NORM = 'I' or 'i' ( ( normF(A), NORM = 'F', 'f', 'E' or 'e' where norm1 denotes the one norm of a matrix (maximum column sum), normI denotes the infinity norm of a matrix (maximum row sum) and normF denotes the Frobenius norm of a matrix (square root of sum of squares). Note that max(abs(A(i,j))) is not a matrix norm. Arguments ========= NORM (input) CHARACTER*1 Specifies the value to be returned in DLANSY as described above. UPLO (input) CHARACTER*1 Specifies whether the upper or lower triangular part of the symmetric matrix A is to be referenced. = 'U': Upper triangular part of A is referenced = 'L': Lower triangular part of A is referenced N (input) INTEGER The order of the matrix A. N >= 0. When N = 0, DLANSY is set to zero. A (input) DOUBLE PRECISION array, dimension (LDA,N) The symmetric matrix A. If UPLO = 'U', the leading n by n upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading n by n lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(N,1). WORK (workspace) DOUBLE PRECISION array, dimension (LWORK), where LWORK >= N when NORM = 'I' or '1' or 'O'; otherwise, WORK is not referenced. ===================================================================== Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2; Treal ret_val, d__1, d__2, d__3; /* Local variables */ Treal absa; integer i__, j; Treal scale; Treal value; Treal sum; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --work; /* Initialization added by Elias to get rid of compiler warnings. */ value = 0; /* Function Body */ if (*n == 0) { value = 0.; } else if (template_blas_lsame(norm, "M")) { /* Find max(abs(A(i,j))). */ value = 0.; if (template_blas_lsame(uplo, "U")) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { /* Computing MAX */ d__2 = value, d__3 = (d__1 = a_ref(i__, j), absMACRO(d__1)); value = maxMACRO(d__2,d__3); /* L10: */ } /* L20: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { /* Computing MAX */ d__2 = value, d__3 = (d__1 = a_ref(i__, j), absMACRO(d__1)); value = maxMACRO(d__2,d__3); /* L30: */ } /* L40: */ } } } else if (template_blas_lsame(norm, "I") || template_blas_lsame(norm, "O") || *(unsigned char *)norm == '1') { /* Find normI(A) ( = norm1(A), since A is symmetric). */ value = 0.; if (template_blas_lsame(uplo, "U")) { i__1 = *n; for (j = 1; j <= i__1; ++j) { sum = 0.; i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { absa = (d__1 = a_ref(i__, j), absMACRO(d__1)); sum += absa; work[i__] += absa; /* L50: */ } work[j] = sum + (d__1 = a_ref(j, j), absMACRO(d__1)); /* L60: */ } i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { /* Computing MAX */ d__1 = value, d__2 = work[i__]; value = maxMACRO(d__1,d__2); /* L70: */ } } else { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { work[i__] = 0.; /* L80: */ } i__1 = *n; for (j = 1; j <= i__1; ++j) { sum = work[j] + (d__1 = a_ref(j, j), absMACRO(d__1)); i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { absa = (d__1 = a_ref(i__, j), absMACRO(d__1)); sum += absa; work[i__] += absa; /* L90: */ } value = maxMACRO(value,sum); /* L100: */ } } } else if (template_blas_lsame(norm, "F") || template_blas_lsame(norm, "E")) { /* Find normF(A). */ scale = 0.; sum = 1.; if (template_blas_lsame(uplo, "U")) { i__1 = *n; for (j = 2; j <= i__1; ++j) { i__2 = j - 1; template_lapack_lassq(&i__2, &a_ref(1, j), &c__1, &scale, &sum); /* L110: */ } } else { i__1 = *n - 1; for (j = 1; j <= i__1; ++j) { i__2 = *n - j; template_lapack_lassq(&i__2, &a_ref(j + 1, j), &c__1, &scale, &sum); /* L120: */ } } sum *= 2; i__1 = *lda + 1; template_lapack_lassq(n, &a[a_offset], &i__1, &scale, &sum); value = scale * template_blas_sqrt(sum); } ret_val = value; return ret_val; /* End of DLANSY */ } /* dlansy_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larnv.h0000664000175000017500000001073512743400307023134 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARNV_HEADER #define TEMPLATE_LAPACK_LARNV_HEADER template int template_lapack_larnv(const integer *idist, integer *iseed, const integer *n, Treal *x) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University September 30, 1994 Purpose ======= DLARNV returns a vector of n random real numbers from a uniform or normal distribution. Arguments ========= IDIST (input) INTEGER Specifies the distribution of the random numbers: = 1: uniform (0,1) = 2: uniform (-1,1) = 3: normal (0,1) ISEED (input/output) INTEGER array, dimension (4) On entry, the seed of the random number generator; the array elements must be between 0 and 4095, and ISEED(4) must be odd. On exit, the seed is updated. N (input) INTEGER The number of random numbers to be generated. X (output) DOUBLE PRECISION array, dimension (N) The generated random numbers. Further Details =============== This routine calls the auxiliary routine DLARUV to generate random real numbers from a uniform (0,1) distribution, in batches of up to 128 using vectorisable code. The Box-Muller method is used to transform numbers from a uniform to a normal distribution. ===================================================================== Parameter adjustments */ /* System generated locals */ integer i__1, i__2, i__3; /* Local variables */ integer i__; Treal u[128]; integer il, iv; integer il2; --x; --iseed; /* Function Body */ i__1 = *n; for (iv = 1; iv <= i__1; iv += 64) { /* Computing MIN */ i__2 = 64, i__3 = *n - iv + 1; il = minMACRO(i__2,i__3); if (*idist == 3) { il2 = il << 1; } else { il2 = il; } /* Call DLARUV to generate IL2 numbers from a uniform (0,1) distribution (IL2 <= LV) */ dlaruv_(&iseed[1], &il2, u); if (*idist == 1) { /* Copy generated numbers */ i__2 = il; for (i__ = 1; i__ <= i__2; ++i__) { x[iv + i__ - 1] = u[i__ - 1]; /* L10: */ } } else if (*idist == 2) { /* Convert generated numbers to uniform (-1,1) distribution */ i__2 = il; for (i__ = 1; i__ <= i__2; ++i__) { x[iv + i__ - 1] = u[i__ - 1] * 2. - 1.; /* L20: */ } } else if (*idist == 3) { /* Convert generated numbers to normal (0,1) distribution */ i__2 = il; for (i__ = 1; i__ <= i__2; ++i__) { x[iv + i__ - 1] = template_blas_sqrt(template_blas_log(u[(i__ << 1) - 2]) * -2.) * cos(u[( i__ << 1) - 1] * 6.2831853071795864769252867663); /* L30: */ } } /* L40: */ } return 0; /* End of DLARNV */ } /* dlarnv_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_ladiv.h0000664000175000017500000000603712743400307023111 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LADIV_HEADER #define TEMPLATE_LAPACK_LADIV_HEADER template int template_lapack_ladiv(const Treal *a, const Treal *b, const Treal *c__, const Treal *d__, Treal *p, Treal *q) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLADIV performs complex division in real arithmetic a + i*b p + i*q = --------- c + i*d The algorithm is due to Robert L. Smith and can be found in D. Knuth, The art of Computer Programming, Vol.2, p.195 Arguments ========= A (input) DOUBLE PRECISION B (input) DOUBLE PRECISION C (input) DOUBLE PRECISION D (input) DOUBLE PRECISION The scalars a, b, c, and d in the above expression. P (output) DOUBLE PRECISION Q (output) DOUBLE PRECISION The scalars p and q in the above expression. ===================================================================== */ Treal e, f; if (absMACRO(*d__) < absMACRO(*c__)) { e = *d__ / *c__; f = *c__ + *d__ * e; *p = (*a + *b * e) / f; *q = (*b - *a * e) / f; } else { e = *c__ / *d__; f = *d__ + *c__ * e; *p = (*b + *a * e) / f; *q = (-(*a) + *b * e) / f; } return 0; /* End of DLADIV */ } /* dladiv_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_sygst.h0000664000175000017500000002535712743400307023171 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_SYGST_HEADER #define TEMPLATE_LAPACK_SYGST_HEADER #include "template_lapack_sygs2.h" template int template_lapack_sygst(const integer *itype, const char *uplo, const integer *n, Treal *a, const integer *lda, Treal *b, const integer *ldb, integer * info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University September 30, 1994 Purpose ======= DSYGST reduces a real symmetric-definite generalized eigenproblem to standard form. If ITYPE = 1, the problem is A*x = lambda*B*x, and A is overwritten by inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T) If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or B*A*x = lambda*x, and A is overwritten by U*A*U**T or L**T*A*L. B must have been previously factorized as U**T*U or L*L**T by DPOTRF. Arguments ========= ITYPE (input) INTEGER = 1: compute inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T); = 2 or 3: compute U*A*U**T or L**T*A*L. UPLO (input) CHARACTER = 'U': Upper triangle of A is stored and B is factored as U**T*U; = 'L': Lower triangle of A is stored and B is factored as L*L**T. N (input) INTEGER The order of the matrices A and B. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if INFO = 0, the transformed matrix, stored in the same format as A. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). B (input) DOUBLE PRECISION array, dimension (LDB,N) The triangular factor from the Cholesky factorization of B, as returned by DPOTRF. LDB (input) INTEGER The leading dimension of the array B. LDB >= max(1,N). INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; Treal c_b14 = 1.; Treal c_b16 = -.5; Treal c_b19 = -1.; Treal c_b52 = .5; /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2, i__3; /* Local variables */ integer k; logical upper; integer kb; integer nb; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; /* Function Body */ *info = 0; upper = template_blas_lsame(uplo, "U"); if (*itype < 1 || *itype > 3) { *info = -1; } else if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -2; } else if (*n < 0) { *info = -3; } else if (*lda < maxMACRO(1,*n)) { *info = -5; } else if (*ldb < maxMACRO(1,*n)) { *info = -7; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("SYGST ", &i__1); return 0; } /* Quick return if possible */ if (*n == 0) { return 0; } /* Determine the block size for this environment. */ nb = template_lapack_ilaenv(&c__1, "DSYGST", uplo, n, &c_n1, &c_n1, &c_n1, (ftnlen)6, ( ftnlen)1); if (nb <= 1 || nb >= *n) { /* Use unblocked code */ template_lapack_sygs2(itype, uplo, n, &a[a_offset], lda, &b[b_offset], ldb, info); } else { /* Use blocked code */ if (*itype == 1) { if (upper) { /* Compute inv(U')*A*inv(U) */ i__1 = *n; i__2 = nb; for (k = 1; i__2 < 0 ? k >= i__1 : k <= i__1; k += i__2) { /* Computing MIN */ i__3 = *n - k + 1; kb = minMACRO(i__3,nb); /* Update the upper triangle of A(k:n,k:n) */ template_lapack_sygs2(itype, uplo, &kb, &a_ref(k, k), lda, &b_ref(k, k), ldb, info); if (k + kb <= *n) { i__3 = *n - k - kb + 1; template_blas_trsm("Left", uplo, "Transpose", "Non-unit", &kb, & i__3, &c_b14, &b_ref(k, k), ldb, &a_ref(k, k + kb), lda); i__3 = *n - k - kb + 1; template_blas_symm("Left", uplo, &kb, &i__3, &c_b16, &a_ref(k, k), lda, &b_ref(k, k + kb), ldb, &c_b14, &a_ref( k, k + kb), lda); i__3 = *n - k - kb + 1; template_blas_syr2k(uplo, "Transpose", &i__3, &kb, &c_b19, &a_ref( k, k + kb), lda, &b_ref(k, k + kb), ldb, & c_b14, &a_ref(k + kb, k + kb), lda); i__3 = *n - k - kb + 1; template_blas_symm("Left", uplo, &kb, &i__3, &c_b16, &a_ref(k, k), lda, &b_ref(k, k + kb), ldb, &c_b14, &a_ref( k, k + kb), lda); i__3 = *n - k - kb + 1; template_blas_trsm("Right", uplo, "No transpose", "Non-unit", &kb, &i__3, &c_b14, &b_ref(k + kb, k + kb), ldb, & a_ref(k, k + kb), lda); } /* L10: */ } } else { /* Compute inv(L)*A*inv(L') */ i__2 = *n; i__1 = nb; for (k = 1; i__1 < 0 ? k >= i__2 : k <= i__2; k += i__1) { /* Computing MIN */ i__3 = *n - k + 1; kb = minMACRO(i__3,nb); /* Update the lower triangle of A(k:n,k:n) */ template_lapack_sygs2(itype, uplo, &kb, &a_ref(k, k), lda, &b_ref(k, k), ldb, info); if (k + kb <= *n) { i__3 = *n - k - kb + 1; template_blas_trsm("Right", uplo, "Transpose", "Non-unit", &i__3, &kb, &c_b14, &b_ref(k, k), ldb, &a_ref(k + kb, k), lda); i__3 = *n - k - kb + 1; template_blas_symm("Right", uplo, &i__3, &kb, &c_b16, &a_ref(k, k) , lda, &b_ref(k + kb, k), ldb, &c_b14, &a_ref( k + kb, k), lda); i__3 = *n - k - kb + 1; template_blas_syr2k(uplo, "No transpose", &i__3, &kb, &c_b19, & a_ref(k + kb, k), lda, &b_ref(k + kb, k), ldb, &c_b14, &a_ref(k + kb, k + kb), lda); i__3 = *n - k - kb + 1; template_blas_symm("Right", uplo, &i__3, &kb, &c_b16, &a_ref(k, k) , lda, &b_ref(k + kb, k), ldb, &c_b14, &a_ref( k + kb, k), lda); i__3 = *n - k - kb + 1; template_blas_trsm("Left", uplo, "No transpose", "Non-unit", & i__3, &kb, &c_b14, &b_ref(k + kb, k + kb), ldb, &a_ref(k + kb, k), lda); } /* L20: */ } } } else { if (upper) { /* Compute U*A*U' */ i__1 = *n; i__2 = nb; for (k = 1; i__2 < 0 ? k >= i__1 : k <= i__1; k += i__2) { /* Computing MIN */ i__3 = *n - k + 1; kb = minMACRO(i__3,nb); /* Update the upper triangle of A(1:k+kb-1,1:k+kb-1) */ i__3 = k - 1; template_blas_trmm("Left", uplo, "No transpose", "Non-unit", &i__3, & kb, &c_b14, &b[b_offset], ldb, &a_ref(1, k), lda); i__3 = k - 1; template_blas_symm("Right", uplo, &i__3, &kb, &c_b52, &a_ref(k, k), lda, &b_ref(1, k), ldb, &c_b14, &a_ref(1, k), lda); i__3 = k - 1; template_blas_syr2k(uplo, "No transpose", &i__3, &kb, &c_b14, &a_ref( 1, k), lda, &b_ref(1, k), ldb, &c_b14, &a[ a_offset], lda); i__3 = k - 1; template_blas_symm("Right", uplo, &i__3, &kb, &c_b52, &a_ref(k, k), lda, &b_ref(1, k), ldb, &c_b14, &a_ref(1, k), lda); i__3 = k - 1; template_blas_trmm("Right", uplo, "Transpose", "Non-unit", &i__3, &kb, &c_b14, &b_ref(k, k), ldb, &a_ref(1, k), lda); template_lapack_sygs2(itype, uplo, &kb, &a_ref(k, k), lda, &b_ref(k, k), ldb, info); /* L30: */ } } else { /* Compute L'*A*L */ i__2 = *n; i__1 = nb; for (k = 1; i__1 < 0 ? k >= i__2 : k <= i__2; k += i__1) { /* Computing MIN */ i__3 = *n - k + 1; kb = minMACRO(i__3,nb); /* Update the lower triangle of A(1:k+kb-1,1:k+kb-1) */ i__3 = k - 1; template_blas_trmm("Right", uplo, "No transpose", "Non-unit", &kb, & i__3, &c_b14, &b[b_offset], ldb, &a_ref(k, 1), lda); i__3 = k - 1; template_blas_symm("Left", uplo, &kb, &i__3, &c_b52, &a_ref(k, k), lda, &b_ref(k, 1), ldb, &c_b14, &a_ref(k, 1), lda); i__3 = k - 1; template_blas_syr2k(uplo, "Transpose", &i__3, &kb, &c_b14, &a_ref(k, 1), lda, &b_ref(k, 1), ldb, &c_b14, &a[a_offset], lda); i__3 = k - 1; template_blas_symm("Left", uplo, &kb, &i__3, &c_b52, &a_ref(k, k), lda, &b_ref(k, 1), ldb, &c_b14, &a_ref(k, 1), lda); i__3 = k - 1; template_blas_trmm("Left", uplo, "Transpose", "Non-unit", &kb, &i__3, &c_b14, &b_ref(k, k), ldb, &a_ref(k, 1), lda); template_lapack_sygs2(itype, uplo, &kb, &a_ref(k, k), lda, &b_ref(k, k), ldb, info); /* L40: */ } } } } return 0; /* End of DSYGST */ } /* dsygst_ */ #undef b_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_laev2.h0000664000175000017500000001324712743400307023024 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LAEV2_HEADER #define TEMPLATE_LAPACK_LAEV2_HEADER template int template_lapack_laev2(Treal *a, Treal *b, Treal *c__, Treal *rt1, Treal *rt2, Treal *cs1, Treal *sn1) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLAEV2 computes the eigendecomposition of a 2-by-2 symmetric matrix [ A B ] [ B C ]. On return, RT1 is the eigenvalue of larger absolute value, RT2 is the eigenvalue of smaller absolute value, and (CS1,SN1) is the unit right eigenvector for RT1, giving the decomposition [ CS1 SN1 ] [ A B ] [ CS1 -SN1 ] = [ RT1 0 ] [-SN1 CS1 ] [ B C ] [ SN1 CS1 ] [ 0 RT2 ]. Arguments ========= A (input) DOUBLE PRECISION The (1,1) element of the 2-by-2 matrix. B (input) DOUBLE PRECISION The (1,2) element and the conjugate of the (2,1) element of the 2-by-2 matrix. C (input) DOUBLE PRECISION The (2,2) element of the 2-by-2 matrix. RT1 (output) DOUBLE PRECISION The eigenvalue of larger absolute value. RT2 (output) DOUBLE PRECISION The eigenvalue of smaller absolute value. CS1 (output) DOUBLE PRECISION SN1 (output) DOUBLE PRECISION The vector (CS1, SN1) is a unit right eigenvector for RT1. Further Details =============== RT1 is accurate to a few ulps barring over/underflow. RT2 may be inaccurate if there is massive cancellation in the determinant A*C-B*B; higher precision or correctly rounded or correctly truncated arithmetic would be needed to compute RT2 accurately in all cases. CS1 and SN1 are accurate to a few ulps barring over/underflow. Overflow is possible only if RT1 is within a factor of 5 of overflow. Underflow is harmless if the input data is 0 or exceeds underflow_threshold / macheps. ===================================================================== Compute the eigenvalues */ /* System generated locals */ Treal d__1; /* Local variables */ Treal acmn, acmx, ab, df, cs, ct, tb, sm, tn, rt, adf, acs; integer sgn1, sgn2; sm = *a + *c__; df = *a - *c__; adf = absMACRO(df); tb = *b + *b; ab = absMACRO(tb); if (absMACRO(*a) > absMACRO(*c__)) { acmx = *a; acmn = *c__; } else { acmx = *c__; acmn = *a; } if (adf > ab) { /* Computing 2nd power */ d__1 = ab / adf; rt = adf * template_blas_sqrt(d__1 * d__1 + 1.); } else if (adf < ab) { /* Computing 2nd power */ d__1 = adf / ab; rt = ab * template_blas_sqrt(d__1 * d__1 + 1.); } else { /* Includes case AB=ADF=0 */ rt = ab * template_blas_sqrt(2.); } if (sm < 0.) { *rt1 = (sm - rt) * .5; sgn1 = -1; /* Order of execution important. To get fully accurate smaller eigenvalue, next line needs to be executed in higher precision. */ *rt2 = acmx / *rt1 * acmn - *b / *rt1 * *b; } else if (sm > 0.) { *rt1 = (sm + rt) * .5; sgn1 = 1; /* Order of execution important. To get fully accurate smaller eigenvalue, next line needs to be executed in higher precision. */ *rt2 = acmx / *rt1 * acmn - *b / *rt1 * *b; } else { /* Includes case RT1 = RT2 = 0 */ *rt1 = rt * .5; *rt2 = rt * -.5; sgn1 = 1; } /* Compute the eigenvector */ if (df >= 0.) { cs = df + rt; sgn2 = 1; } else { cs = df - rt; sgn2 = -1; } acs = absMACRO(cs); if (acs > ab) { ct = -tb / cs; *sn1 = 1. / template_blas_sqrt(ct * ct + 1.); *cs1 = ct * *sn1; } else { if (ab == 0.) { *cs1 = 1.; *sn1 = 0.; } else { tn = -cs / tb; *cs1 = 1. / template_blas_sqrt(tn * tn + 1.); *sn1 = tn * *cs1; } } if (sgn1 == sgn2) { tn = *cs1; *cs1 = -(*sn1); *sn1 = tn; } return 0; /* End of DLAEV2 */ } /* dlaev2_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_latrd.h0000664000175000017500000003016012743400307023112 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LATRD_HEADER #define TEMPLATE_LAPACK_LATRD_HEADER template int template_lapack_latrd(const char *uplo, const integer *n, const integer *nb, Treal * a, const integer *lda, Treal *e, Treal *tau, Treal *w, const integer *ldw) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLATRD reduces NB rows and columns of a real symmetric matrix A to symmetric tridiagonal form by an orthogonal similarity transformation Q' * A * Q, and returns the matrices V and W which are needed to apply the transformation to the unreduced part of A. If UPLO = 'U', DLATRD reduces the last NB rows and columns of a matrix, of which the upper triangle is supplied; if UPLO = 'L', DLATRD reduces the first NB rows and columns of a matrix, of which the lower triangle is supplied. This is an auxiliary routine called by DSYTRD. Arguments ========= UPLO (input) CHARACTER Specifies whether the upper or lower triangular part of the symmetric matrix A is stored: = 'U': Upper triangular = 'L': Lower triangular N (input) INTEGER The order of the matrix A. NB (input) INTEGER The number of rows and columns to be reduced. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = 'U', the leading n-by-n upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading n-by-n lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit: if UPLO = 'U', the last NB columns have been reduced to tridiagonal form, with the diagonal elements overwriting the diagonal elements of A; the elements above the diagonal with the array TAU, represent the orthogonal matrix Q as a product of elementary reflectors; if UPLO = 'L', the first NB columns have been reduced to tridiagonal form, with the diagonal elements overwriting the diagonal elements of A; the elements below the diagonal with the array TAU, represent the orthogonal matrix Q as a product of elementary reflectors. See Further Details. LDA (input) INTEGER The leading dimension of the array A. LDA >= (1,N). E (output) DOUBLE PRECISION array, dimension (N-1) If UPLO = 'U', E(n-nb:n-1) contains the superdiagonal elements of the last NB columns of the reduced matrix; if UPLO = 'L', E(1:nb) contains the subdiagonal elements of the first NB columns of the reduced matrix. TAU (output) DOUBLE PRECISION array, dimension (N-1) The scalar factors of the elementary reflectors, stored in TAU(n-nb:n-1) if UPLO = 'U', and in TAU(1:nb) if UPLO = 'L'. See Further Details. W (output) DOUBLE PRECISION array, dimension (LDW,NB) The n-by-nb matrix W required to update the unreduced part of A. LDW (input) INTEGER The leading dimension of the array W. LDW >= max(1,N). Further Details =============== If UPLO = 'U', the matrix Q is represented as a product of elementary reflectors Q = H(n) H(n-1) . . . H(n-nb+1). Each H(i) has the form H(i) = I - tau * v * v' where tau is a real scalar, and v is a real vector with v(i:n) = 0 and v(i-1) = 1; v(1:i-1) is stored on exit in A(1:i-1,i), and tau in TAU(i-1). If UPLO = 'L', the matrix Q is represented as a product of elementary reflectors Q = H(1) H(2) . . . H(nb). Each H(i) has the form H(i) = I - tau * v * v' where tau is a real scalar, and v is a real vector with v(1:i) = 0 and v(i+1) = 1; v(i+1:n) is stored on exit in A(i+1:n,i), and tau in TAU(i). The elements of the vectors v together form the n-by-nb matrix V which is needed, with W, to apply the transformation to the unreduced part of the matrix, using a symmetric rank-2k update of the form: A := A - V*W' - W*V'. The contents of A on exit are illustrated by the following examples with n = 5 and nb = 2: if UPLO = 'U': if UPLO = 'L': ( a a a v4 v5 ) ( d ) ( a a v4 v5 ) ( 1 d ) ( a 1 v5 ) ( v1 1 a ) ( d 1 ) ( v1 v2 a a ) ( d ) ( v1 v2 a a a ) where d denotes a diagonal element of the reduced matrix, a denotes an element of the original matrix that is unchanged, and vi denotes an element of the vector defining H(i). ===================================================================== Quick return if possible Parameter adjustments */ /* Table of constant values */ Treal c_b5 = -1.; Treal c_b6 = 1.; integer c__1 = 1; Treal c_b16 = 0.; /* System generated locals */ integer a_dim1, a_offset, w_dim1, w_offset, i__1, i__2, i__3; /* Local variables */ integer i__; Treal alpha; integer iw; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define w_ref(a_1,a_2) w[(a_2)*w_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --e; --tau; w_dim1 = *ldw; w_offset = 1 + w_dim1 * 1; w -= w_offset; /* Function Body */ if (*n <= 0) { return 0; } if (template_blas_lsame(uplo, "U")) { /* Reduce last NB columns of upper triangle */ i__1 = *n - *nb + 1; for (i__ = *n; i__ >= i__1; --i__) { iw = i__ - *n + *nb; if (i__ < *n) { /* Update A(1:i,i) */ i__2 = *n - i__; template_blas_gemv("No transpose", &i__, &i__2, &c_b5, &a_ref(1, i__ + 1), lda, &w_ref(i__, iw + 1), ldw, &c_b6, &a_ref(1, i__), &c__1); i__2 = *n - i__; template_blas_gemv("No transpose", &i__, &i__2, &c_b5, &w_ref(1, iw + 1), ldw, &a_ref(i__, i__ + 1), lda, &c_b6, &a_ref(1, i__), &c__1); } if (i__ > 1) { /* Generate elementary reflector H(i) to annihilate A(1:i-2,i) */ i__2 = i__ - 1; template_lapack_larfg(&i__2, &a_ref(i__ - 1, i__), &a_ref(1, i__), &c__1, & tau[i__ - 1]); e[i__ - 1] = a_ref(i__ - 1, i__); a_ref(i__ - 1, i__) = 1.; /* Compute W(1:i-1,i) */ i__2 = i__ - 1; template_blas_symv("Upper", &i__2, &c_b6, &a[a_offset], lda, &a_ref(1, i__), &c__1, &c_b16, &w_ref(1, iw), &c__1); if (i__ < *n) { i__2 = i__ - 1; i__3 = *n - i__; template_blas_gemv("Transpose", &i__2, &i__3, &c_b6, &w_ref(1, iw + 1) , ldw, &a_ref(1, i__), &c__1, &c_b16, &w_ref(i__ + 1, iw), &c__1); i__2 = i__ - 1; i__3 = *n - i__; template_blas_gemv("No transpose", &i__2, &i__3, &c_b5, &a_ref(1, i__ + 1), lda, &w_ref(i__ + 1, iw), &c__1, &c_b6, & w_ref(1, iw), &c__1); i__2 = i__ - 1; i__3 = *n - i__; template_blas_gemv("Transpose", &i__2, &i__3, &c_b6, &a_ref(1, i__ + 1), lda, &a_ref(1, i__), &c__1, &c_b16, &w_ref( i__ + 1, iw), &c__1); i__2 = i__ - 1; i__3 = *n - i__; template_blas_gemv("No transpose", &i__2, &i__3, &c_b5, &w_ref(1, iw + 1), ldw, &w_ref(i__ + 1, iw), &c__1, &c_b6, & w_ref(1, iw), &c__1); } i__2 = i__ - 1; template_blas_scal(&i__2, &tau[i__ - 1], &w_ref(1, iw), &c__1); i__2 = i__ - 1; alpha = tau[i__ - 1] * -.5 * template_blas_dot(&i__2, &w_ref(1, iw), & c__1, &a_ref(1, i__), &c__1); i__2 = i__ - 1; template_blas_axpy(&i__2, &alpha, &a_ref(1, i__), &c__1, &w_ref(1, iw), & c__1); } /* L10: */ } } else { /* Reduce first NB columns of lower triangle */ i__1 = *nb; for (i__ = 1; i__ <= i__1; ++i__) { /* Update A(i:n,i) */ i__2 = *n - i__ + 1; i__3 = i__ - 1; template_blas_gemv("No transpose", &i__2, &i__3, &c_b5, &a_ref(i__, 1), lda, & w_ref(i__, 1), ldw, &c_b6, &a_ref(i__, i__), &c__1); i__2 = *n - i__ + 1; i__3 = i__ - 1; template_blas_gemv("No transpose", &i__2, &i__3, &c_b5, &w_ref(i__, 1), ldw, & a_ref(i__, 1), lda, &c_b6, &a_ref(i__, i__), &c__1); if (i__ < *n) { /* Generate elementary reflector H(i) to annihilate A(i+2:n,i) Computing MIN */ i__2 = i__ + 2; i__3 = *n - i__; template_lapack_larfg(&i__3, &a_ref(i__ + 1, i__), &a_ref(minMACRO(i__2,*n), i__) , &c__1, &tau[i__]); e[i__] = a_ref(i__ + 1, i__); a_ref(i__ + 1, i__) = 1.; /* Compute W(i+1:n,i) */ i__2 = *n - i__; template_blas_symv("Lower", &i__2, &c_b6, &a_ref(i__ + 1, i__ + 1), lda, & a_ref(i__ + 1, i__), &c__1, &c_b16, &w_ref(i__ + 1, i__), &c__1); i__2 = *n - i__; i__3 = i__ - 1; template_blas_gemv("Transpose", &i__2, &i__3, &c_b6, &w_ref(i__ + 1, 1), ldw, &a_ref(i__ + 1, i__), &c__1, &c_b16, &w_ref(1, i__), &c__1); i__2 = *n - i__; i__3 = i__ - 1; template_blas_gemv("No transpose", &i__2, &i__3, &c_b5, &a_ref(i__ + 1, 1) , lda, &w_ref(1, i__), &c__1, &c_b6, &w_ref(i__ + 1, i__), &c__1); i__2 = *n - i__; i__3 = i__ - 1; template_blas_gemv("Transpose", &i__2, &i__3, &c_b6, &a_ref(i__ + 1, 1), lda, &a_ref(i__ + 1, i__), &c__1, &c_b16, &w_ref(1, i__), &c__1); i__2 = *n - i__; i__3 = i__ - 1; template_blas_gemv("No transpose", &i__2, &i__3, &c_b5, &w_ref(i__ + 1, 1) , ldw, &w_ref(1, i__), &c__1, &c_b6, &w_ref(i__ + 1, i__), &c__1); i__2 = *n - i__; template_blas_scal(&i__2, &tau[i__], &w_ref(i__ + 1, i__), &c__1); i__2 = *n - i__; alpha = tau[i__] * -.5 * template_blas_dot(&i__2, &w_ref(i__ + 1, i__), & c__1, &a_ref(i__ + 1, i__), &c__1); i__2 = *n - i__; template_blas_axpy(&i__2, &alpha, &a_ref(i__ + 1, i__), &c__1, &w_ref(i__ + 1, i__), &c__1); } /* L20: */ } } return 0; /* End of DLATRD */ } /* dlatrd_ */ #undef w_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_stemr.h0000664000175000017500000006023612743400307023145 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_STEMR_HEADER #define TEMPLATE_LAPACK_STEMR_HEADER template int template_lapack_stemr(const char *jobz, const char *range, const integer *n, Treal * d__, Treal *e, const Treal *vl, const Treal *vu, const integer *il, const integer *iu, integer *m, Treal *w, Treal *z__, const integer *ldz, const integer *nzc, integer *isuppz, logical *tryrac, Treal *work, integer *lwork, integer *iwork, integer *liwork, integer *info) { /* System generated locals */ integer z_dim1, z_offset, i__1, i__2; Treal d__1, d__2; /* Builtin functions */ /* Local variables */ integer i__, j; Treal r1, r2; integer jj; Treal cs = 0; integer in; Treal sn = 0, wl, wu; integer iil, iiu; Treal eps, tmp; integer indd, iend, jblk, wend; Treal rmin, rmax; integer itmp; Treal tnrm; integer inde2, itmp2; Treal rtol1, rtol2; Treal scale; integer indgp; integer iinfo, iindw, ilast; integer lwmin; logical wantz; logical alleig; integer ibegin; logical indeig; integer iindbl; logical valeig; integer wbegin; Treal safmin; Treal bignum; integer inderr, iindwk, indgrs, offset; Treal thresh; integer iinspl, ifirst, indwrk, liwmin, nzcmin; Treal pivmin; integer nsplit; Treal smlnum; logical lquery, zquery; /* -- LAPACK computational routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* DSTEMR computes selected eigenvalues and, optionally, eigenvectors */ /* of a real symmetric tridiagonal matrix T. Any such unreduced matrix has */ /* a well defined set of pairwise different real eigenvalues, the corresponding */ /* real eigenvectors are pairwise orthogonal. */ /* The spectrum may be computed either completely or partially by specifying */ /* either an interval (VL,VU] or a range of indices IL:IU for the desired */ /* eigenvalues. */ /* Depending on the number of desired eigenvalues, these are computed either */ /* by bisection or the dqds algorithm. Numerically orthogonal eigenvectors are */ /* computed by the use of various suitable L D L^T factorizations near clusters */ /* of close eigenvalues (referred to as RRRs, Relatively Robust */ /* Representations). An informal sketch of the algorithm follows. */ /* For each unreduced block (submatrix) of T, */ /* (a) Compute T - sigma I = L D L^T, so that L and D */ /* define all the wanted eigenvalues to high relative accuracy. */ /* This means that small relative changes in the entries of D and L */ /* cause only small relative changes in the eigenvalues and */ /* eigenvectors. The standard (unfactored) representation of the */ /* tridiagonal matrix T does not have this property in general. */ /* (b) Compute the eigenvalues to suitable accuracy. */ /* If the eigenvectors are desired, the algorithm attains full */ /* accuracy of the computed eigenvalues only right before */ /* the corresponding vectors have to be computed, see steps c) and d). */ /* (c) For each cluster of close eigenvalues, select a new */ /* shift close to the cluster, find a new factorization, and refine */ /* the shifted eigenvalues to suitable accuracy. */ /* (d) For each eigenvalue with a large enough relative separation compute */ /* the corresponding eigenvector by forming a rank revealing twisted */ /* factorization. Go back to (c) for any clusters that remain. */ /* For more details, see: */ /* - Inderjit S. Dhillon and Beresford N. Parlett: "Multiple representations */ /* to compute orthogonal eigenvectors of symmetric tridiagonal matrices," */ /* Linear Algebra and its Applications, 387(1), pp. 1-28, August 2004. */ /* - Inderjit Dhillon and Beresford Parlett: "Orthogonal Eigenvectors and */ /* Relative Gaps," SIAM Journal on Matrix Analysis and Applications, Vol. 25, */ /* 2004. Also LAPACK Working Note 154. */ /* - Inderjit Dhillon: "A new O(n^2) algorithm for the symmetric */ /* tridiagonal eigenvalue/eigenvector problem", */ /* Computer Science Division Technical Report No. UCB/CSD-97-971, */ /* UC Berkeley, May 1997. */ /* Notes: */ /* 1.DSTEMR works only on machines which follow IEEE-754 */ /* floating-point standard in their handling of infinities and NaNs. */ /* This permits the use of efficient inner loops avoiding a check for */ /* zero divisors. */ /* Arguments */ /* ========= */ /* JOBZ (input) CHARACTER*1 */ /* = 'N': Compute eigenvalues only; */ /* = 'V': Compute eigenvalues and eigenvectors. */ /* RANGE (input) CHARACTER*1 */ /* = 'A': all eigenvalues will be found. */ /* = 'V': all eigenvalues in the half-open interval (VL,VU] */ /* will be found. */ /* = 'I': the IL-th through IU-th eigenvalues will be found. */ /* N (input) INTEGER */ /* The order of the matrix. N >= 0. */ /* D (input/output) DOUBLE PRECISION array, dimension (N) */ /* On entry, the N diagonal elements of the tridiagonal matrix */ /* T. On exit, D is overwritten. */ /* E (input/output) DOUBLE PRECISION array, dimension (N) */ /* On entry, the (N-1) subdiagonal elements of the tridiagonal */ /* matrix T in elements 1 to N-1 of E. E(N) need not be set on */ /* input, but is used internally as workspace. */ /* On exit, E is overwritten. */ /* VL (input) DOUBLE PRECISION */ /* VU (input) DOUBLE PRECISION */ /* If RANGE='V', the lower and upper bounds of the interval to */ /* be searched for eigenvalues. VL < VU. */ /* Not referenced if RANGE = 'A' or 'I'. */ /* IL (input) INTEGER */ /* IU (input) INTEGER */ /* If RANGE='I', the indices (in ascending order) of the */ /* smallest and largest eigenvalues to be returned. */ /* 1 <= IL <= IU <= N, if N > 0. */ /* Not referenced if RANGE = 'A' or 'V'. */ /* M (output) INTEGER */ /* The total number of eigenvalues found. 0 <= M <= N. */ /* If RANGE = 'A', M = N, and if RANGE = 'I', M = IU-IL+1. */ /* W (output) DOUBLE PRECISION array, dimension (N) */ /* The first M elements contain the selected eigenvalues in */ /* ascending order. */ /* Z (output) DOUBLE PRECISION array, dimension (LDZ, max(1,M) ) */ /* If JOBZ = 'V', and if INFO = 0, then the first M columns of Z */ /* contain the orthonormal eigenvectors of the matrix T */ /* corresponding to the selected eigenvalues, with the i-th */ /* column of Z holding the eigenvector associated with W(i). */ /* If JOBZ = 'N', then Z is not referenced. */ /* Note: the user must ensure that at least max(1,M) columns are */ /* supplied in the array Z; if RANGE = 'V', the exact value of M */ /* is not known in advance and can be computed with a workspace */ /* query by setting NZC = -1, see below. */ /* LDZ (input) INTEGER */ /* The leading dimension of the array Z. LDZ >= 1, and if */ /* JOBZ = 'V', then LDZ >= max(1,N). */ /* NZC (input) INTEGER */ /* The number of eigenvectors to be held in the array Z. */ /* If RANGE = 'A', then NZC >= max(1,N). */ /* If RANGE = 'V', then NZC >= the number of eigenvalues in (VL,VU]. */ /* If RANGE = 'I', then NZC >= IU-IL+1. */ /* If NZC = -1, then a workspace query is assumed; the */ /* routine calculates the number of columns of the array Z that */ /* are needed to hold the eigenvectors. */ /* This value is returned as the first entry of the Z array, and */ /* no error message related to NZC is issued by XERBLA. */ /* ISUPPZ (output) INTEGER ARRAY, dimension ( 2*max(1,M) ) */ /* The support of the eigenvectors in Z, i.e., the indices */ /* indicating the nonzero elements in Z. The i-th computed eigenvector */ /* is nonzero only in elements ISUPPZ( 2*i-1 ) through */ /* ISUPPZ( 2*i ). This is relevant in the case when the matrix */ /* is split. ISUPPZ is only accessed when JOBZ is 'V' and N > 0. */ /* TRYRAC (input/output) LOGICAL */ /* If TRYRAC.EQ..TRUE., indicates that the code should check whether */ /* the tridiagonal matrix defines its eigenvalues to high relative */ /* accuracy. If so, the code uses relative-accuracy preserving */ /* algorithms that might be (a bit) slower depending on the matrix. */ /* If the matrix does not define its eigenvalues to high relative */ /* accuracy, the code can uses possibly faster algorithms. */ /* If TRYRAC.EQ..FALSE., the code is not required to guarantee */ /* relatively accurate eigenvalues and can use the fastest possible */ /* techniques. */ /* On exit, a .TRUE. TRYRAC will be set to .FALSE. if the matrix */ /* does not define its eigenvalues to high relative accuracy. */ /* WORK (workspace/output) DOUBLE PRECISION array, dimension (LWORK) */ /* On exit, if INFO = 0, WORK(1) returns the optimal */ /* (and minimal) LWORK. */ /* LWORK (input) INTEGER */ /* The dimension of the array WORK. LWORK >= max(1,18*N) */ /* if JOBZ = 'V', and LWORK >= max(1,12*N) if JOBZ = 'N'. */ /* If LWORK = -1, then a workspace query is assumed; the routine */ /* only calculates the optimal size of the WORK array, returns */ /* this value as the first entry of the WORK array, and no error */ /* message related to LWORK is issued by XERBLA. */ /* IWORK (workspace/output) INTEGER array, dimension (LIWORK) */ /* On exit, if INFO = 0, IWORK(1) returns the optimal LIWORK. */ /* LIWORK (input) INTEGER */ /* The dimension of the array IWORK. LIWORK >= max(1,10*N) */ /* if the eigenvectors are desired, and LIWORK >= max(1,8*N) */ /* if only the eigenvalues are to be computed. */ /* If LIWORK = -1, then a workspace query is assumed; the */ /* routine only calculates the optimal size of the IWORK array, */ /* returns this value as the first entry of the IWORK array, and */ /* no error message related to LIWORK is issued by XERBLA. */ /* INFO (output) INTEGER */ /* On exit, INFO */ /* = 0: successful exit */ /* < 0: if INFO = -i, the i-th argument had an illegal value */ /* > 0: if INFO = 1X, internal error in DLARRE, */ /* if INFO = 2X, internal error in DLARRV. */ /* Here, the digit X = ABS( IINFO ) < 10, where IINFO is */ /* the nonzero error code returned by DLARRE or */ /* DLARRV, respectively. */ /* Further Details */ /* =============== */ /* Based on contributions by */ /* Beresford Parlett, University of California, Berkeley, USA */ /* Jim Demmel, University of California, Berkeley, USA */ /* Inderjit Dhillon, University of Texas, Austin, USA */ /* Osni Marques, LBNL/NERSC, USA */ /* Christof Voemel, University of California, Berkeley, USA */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. */ /* .. External Functions .. */ /* .. */ /* .. External Subroutines .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Test the input parameters. */ /* Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; Treal c_b18 = .001; --d__; --e; --w; z_dim1 = *ldz; z_offset = 1 + z_dim1; z__ -= z_offset; --isuppz; --work; --iwork; /* Function Body */ wantz = template_blas_lsame(jobz, "V"); alleig = template_blas_lsame(range, "A"); valeig = template_blas_lsame(range, "V"); indeig = template_blas_lsame(range, "I"); lquery = *lwork == -1 || *liwork == -1; zquery = *nzc == -1; /* DSTEMR needs WORK of size 6*N, IWORK of size 3*N. */ /* In addition, DLARRE needs WORK of size 6*N, IWORK of size 5*N. */ /* Furthermore, DLARRV needs WORK of size 12*N, IWORK of size 7*N. */ if (wantz) { lwmin = *n * 18; liwmin = *n * 10; } else { /* need less workspace if only the eigenvalues are wanted */ lwmin = *n * 12; liwmin = *n << 3; } wl = 0.; wu = 0.; iil = 0; iiu = 0; if (valeig) { /* We do not reference VL, VU in the cases RANGE = 'I','A' */ /* The interval (WL, WU] contains all the wanted eigenvalues. */ /* It is either given by the user or computed in DLARRE. */ wl = *vl; wu = *vu; } else if (indeig) { /* We do not reference IL, IU in the cases RANGE = 'V','A' */ iil = *il; iiu = *iu; } *info = 0; if (! (wantz || template_blas_lsame(jobz, "N"))) { *info = -1; } else if (! (alleig || valeig || indeig)) { *info = -2; } else if (*n < 0) { *info = -3; } else if (valeig && *n > 0 && wu <= wl) { *info = -7; } else if (indeig && (iil < 1 || iil > *n)) { *info = -8; } else if (indeig && (iiu < iil || iiu > *n)) { *info = -9; } else if (*ldz < 1 || ( wantz && *ldz < *n ) ) { *info = -13; } else if (*lwork < lwmin && ! lquery) { *info = -17; } else if (*liwork < liwmin && ! lquery) { *info = -19; } /* Get machine constants. */ safmin = template_lapack_lamch("Safe minimum", (Treal)0); eps = template_lapack_lamch("Precision", (Treal)0); smlnum = safmin / eps; bignum = 1. / smlnum; rmin = template_blas_sqrt(smlnum); /* Computing MIN */ d__1 = template_blas_sqrt(bignum), d__2 = 1. / template_blas_sqrt(template_blas_sqrt(safmin)); rmax = minMACRO(d__1,d__2); if (*info == 0) { work[1] = (Treal) lwmin; iwork[1] = liwmin; if (wantz && alleig) { nzcmin = *n; } else if (wantz && valeig) { template_lapack_larrc("T", n, vl, vu, &d__[1], &e[1], &safmin, &nzcmin, &itmp, & itmp2, info); } else if (wantz && indeig) { nzcmin = iiu - iil + 1; } else { /* WANTZ .EQ. FALSE. */ nzcmin = 0; } if (zquery && *info == 0) { z__[z_dim1 + 1] = (Treal) nzcmin; } else if (*nzc < nzcmin && ! zquery) { *info = -14; } } if (*info != 0) { i__1 = -(*info); template_blas_erbla("DSTEMR", &i__1); return 0; } else if (lquery || zquery) { return 0; } /* Handle N = 0, 1, and 2 cases immediately */ *m = 0; if (*n == 0) { return 0; } if (*n == 1) { if (alleig || indeig) { *m = 1; w[1] = d__[1]; } else { if (wl < d__[1] && wu >= d__[1]) { *m = 1; w[1] = d__[1]; } } if (wantz && ! zquery) { z__[z_dim1 + 1] = 1.; isuppz[1] = 1; isuppz[2] = 1; } return 0; } if (*n == 2) { if (! wantz) { template_lapack_lae2(&d__[1], &e[1], &d__[2], &r1, &r2); } else if (wantz && ! zquery) { template_lapack_laev2(&d__[1], &e[1], &d__[2], &r1, &r2, &cs, &sn); } if (alleig || ( valeig && r2 > wl && r2 <= wu ) || ( indeig && iil == 1 ) ) { ++(*m); w[*m] = r2; if (wantz && ! zquery) { z__[*m * z_dim1 + 1] = -sn; z__[*m * z_dim1 + 2] = cs; /* Note: At most one of SN and CS can be zero. */ if (sn != 0.) { if (cs != 0.) { isuppz[(*m << 1) - 1] = 1; isuppz[(*m << 1) - 1] = 2; } else { isuppz[(*m << 1) - 1] = 1; isuppz[(*m << 1) - 1] = 1; } } else { isuppz[(*m << 1) - 1] = 2; isuppz[*m * 2] = 2; } } } if (alleig || ( valeig && r1 > wl && r1 <= wu ) || ( indeig && iiu == 2 ) ) { ++(*m); w[*m] = r1; if (wantz && ! zquery) { z__[*m * z_dim1 + 1] = cs; z__[*m * z_dim1 + 2] = sn; /* Note: At most one of SN and CS can be zero. */ if (sn != 0.) { if (cs != 0.) { isuppz[(*m << 1) - 1] = 1; isuppz[(*m << 1) - 1] = 2; } else { isuppz[(*m << 1) - 1] = 1; isuppz[(*m << 1) - 1] = 1; } } else { isuppz[(*m << 1) - 1] = 2; isuppz[*m * 2] = 2; } } } return 0; } /* Continue with general N */ indgrs = 1; inderr = (*n << 1) + 1; indgp = *n * 3 + 1; indd = (*n << 2) + 1; inde2 = *n * 5 + 1; indwrk = *n * 6 + 1; iinspl = 1; iindbl = *n + 1; iindw = (*n << 1) + 1; iindwk = *n * 3 + 1; /* Scale matrix to allowable range, if necessary. */ /* The allowable range is related to the PIVMIN parameter; see the */ /* comments in DLARRD. The preference for scaling small values */ /* up is heuristic; we expect users' matrices not to be close to the */ /* RMAX threshold. */ scale = 1.; tnrm = template_lapack_lanst("M", n, &d__[1], &e[1]); if (tnrm > 0. && tnrm < rmin) { scale = rmin / tnrm; } else if (tnrm > rmax) { scale = rmax / tnrm; } if (scale != 1.) { template_blas_scal(n, &scale, &d__[1], &c__1); i__1 = *n - 1; template_blas_scal(&i__1, &scale, &e[1], &c__1); tnrm *= scale; if (valeig) { /* If eigenvalues in interval have to be found, */ /* scale (WL, WU] accordingly */ wl *= scale; wu *= scale; } } /* Compute the desired eigenvalues of the tridiagonal after splitting */ /* into smaller subblocks if the corresponding off-diagonal elements */ /* are small */ /* THRESH is the splitting parameter for DLARRE */ /* A negative THRESH forces the old splitting criterion based on the */ /* size of the off-diagonal. A positive THRESH switches to splitting */ /* which preserves relative accuracy. */ if (*tryrac) { /* Test whether the matrix warrants the more expensive relative approach. */ template_lapack_larrr(n, &d__[1], &e[1], &iinfo); } else { /* The user does not care about relative accurately eigenvalues */ iinfo = -1; } /* Set the splitting criterion */ if (iinfo == 0) { thresh = eps; } else { thresh = -eps; /* relative accuracy is desired but T does not guarantee it */ *tryrac = FALSE_; } if (*tryrac) { /* Copy original diagonal, needed to guarantee relative accuracy */ template_blas_copy(n, &d__[1], &c__1, &work[indd], &c__1); } /* Store the squares of the offdiagonal values of T */ i__1 = *n - 1; for (j = 1; j <= i__1; ++j) { /* Computing 2nd power */ d__1 = e[j]; work[inde2 + j - 1] = d__1 * d__1; /* L5: */ } /* Set the tolerance parameters for bisection */ if (! wantz) { /* DLARRE computes the eigenvalues to full precision. */ rtol1 = eps * 4.; rtol2 = eps * 4.; } else { /* DLARRE computes the eigenvalues to less than full precision. */ /* DLARRV will refine the eigenvalue approximations, and we can */ /* need less accurate initial bisection in DLARRE. */ /* Note: these settings do only affect the subset case and DLARRE */ rtol1 = template_blas_sqrt(eps); /* Computing MAX */ d__1 = template_blas_sqrt(eps) * .005, d__2 = eps * 4.; rtol2 = maxMACRO(d__1,d__2); } template_lapack_larre(range, n, &wl, &wu, &iil, &iiu, &d__[1], &e[1], &work[inde2], & rtol1, &rtol2, &thresh, &nsplit, &iwork[iinspl], m, &w[1], &work[ inderr], &work[indgp], &iwork[iindbl], &iwork[iindw], &work[ indgrs], &pivmin, &work[indwrk], &iwork[iindwk], &iinfo); if (iinfo != 0) { *info = absMACRO(iinfo) + 10; return 0; } /* Note that if RANGE .NE. 'V', DLARRE computes bounds on the desired */ /* part of the spectrum. All desired eigenvalues are contained in */ /* (WL,WU] */ if (wantz) { /* Compute the desired eigenvectors corresponding to the computed */ /* eigenvalues */ template_lapack_larrv(n, &wl, &wu, &d__[1], &e[1], &pivmin, &iwork[iinspl], m, & c__1, m, &c_b18, &rtol1, &rtol2, &w[1], &work[inderr], &work[ indgp], &iwork[iindbl], &iwork[iindw], &work[indgrs], &z__[ z_offset], ldz, &isuppz[1], &work[indwrk], &iwork[iindwk], & iinfo); if (iinfo != 0) { *info = absMACRO(iinfo) + 20; return 0; } } else { /* DLARRE computes eigenvalues of the (shifted) root representation */ /* DLARRV returns the eigenvalues of the unshifted matrix. */ /* However, if the eigenvectors are not desired by the user, we need */ /* to apply the corresponding shifts from DLARRE to obtain the */ /* eigenvalues of the original matrix. */ i__1 = *m; for (j = 1; j <= i__1; ++j) { itmp = iwork[iindbl + j - 1]; w[j] += e[iwork[iinspl + itmp - 1]]; /* L20: */ } } if (*tryrac) { /* Refine computed eigenvalues so that they are relatively accurate */ /* with respect to the original matrix T. */ ibegin = 1; wbegin = 1; i__1 = iwork[iindbl + *m - 1]; for (jblk = 1; jblk <= i__1; ++jblk) { iend = iwork[iinspl + jblk - 1]; in = iend - ibegin + 1; wend = wbegin - 1; /* check if any eigenvalues have to be refined in this block */ L36: if (wend < *m) { if (iwork[iindbl + wend] == jblk) { ++wend; goto L36; } } if (wend < wbegin) { ibegin = iend + 1; goto L39; } offset = iwork[iindw + wbegin - 1] - 1; ifirst = iwork[iindw + wbegin - 1]; ilast = iwork[iindw + wend - 1]; rtol2 = eps * 4.; template_lapack_larrj(&in, &work[indd + ibegin - 1], &work[inde2 + ibegin - 1], &ifirst, &ilast, &rtol2, &offset, &w[wbegin], &work[ inderr + wbegin - 1], &work[indwrk], &iwork[iindwk], & pivmin, &tnrm, &iinfo); ibegin = iend + 1; wbegin = wend + 1; L39: ; } } /* If matrix was scaled, then rescale eigenvalues appropriately. */ if (scale != 1.) { d__1 = 1. / scale; template_blas_scal(m, &d__1, &w[1], &c__1); } /* If eigenvalues are not in increasing order, then sort them, */ /* possibly along with eigenvectors. */ if (nsplit > 1) { if (! wantz) { template_lapack_lasrt("I", m, &w[1], &iinfo); if (iinfo != 0) { *info = 3; return 0; } } else { i__1 = *m - 1; for (j = 1; j <= i__1; ++j) { i__ = 0; tmp = w[j]; i__2 = *m; for (jj = j + 1; jj <= i__2; ++jj) { if (w[jj] < tmp) { i__ = jj; tmp = w[jj]; } /* L50: */ } if (i__ != 0) { w[i__] = w[j]; w[j] = tmp; if (wantz) { template_blas_swap(n, &z__[i__ * z_dim1 + 1], &c__1, &z__[j * z_dim1 + 1], &c__1); itmp = isuppz[(i__ << 1) - 1]; isuppz[(i__ << 1) - 1] = isuppz[(j << 1) - 1]; isuppz[(j << 1) - 1] = itmp; itmp = isuppz[i__ * 2]; isuppz[i__ * 2] = isuppz[j * 2]; isuppz[j * 2] = itmp; } } /* L60: */ } } } work[1] = (Treal) lwmin; iwork[1] = liwmin; return 0; /* End of DSTEMR */ } /* dstemr_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_laebz.h0000664000175000017500000005214512743400307023110 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LAEBZ_HEADER #define TEMPLATE_LAPACK_LAEBZ_HEADER template int template_lapack_laebz(const integer *ijob, const integer *nitmax, const integer *n, const integer *mmax, const integer *minp, const integer *nbmin, const Treal *abstol, const Treal *reltol, const Treal *pivmin, const Treal *d__, const Treal * e, const Treal *e2, integer *nval, Treal *ab, Treal *c__, integer *mout, integer *nab, Treal *work, integer *iwork, integer *info) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DLAEBZ contains the iteration loops which compute and use the function N(w), which is the count of eigenvalues of a symmetric tridiagonal matrix T less than or equal to its argument w. It performs a choice of two types of loops: IJOB=1, followed by IJOB=2: It takes as input a list of intervals and returns a list of sufficiently small intervals whose union contains the same eigenvalues as the union of the original intervals. The input intervals are (AB(j,1),AB(j,2)], j=1,...,MINP. The output interval (AB(j,1),AB(j,2)] will contain eigenvalues NAB(j,1)+1,...,NAB(j,2), where 1 <= j <= MOUT. IJOB=3: It performs a binary search in each input interval (AB(j,1),AB(j,2)] for a point w(j) such that N(w(j))=NVAL(j), and uses C(j) as the starting point of the search. If such a w(j) is found, then on output AB(j,1)=AB(j,2)=w. If no such w(j) is found, then on output (AB(j,1),AB(j,2)] will be a small interval containing the point where N(w) jumps through NVAL(j), unless that point lies outside the initial interval. Note that the intervals are in all cases half-open intervals, i.e., of the form (a,b] , which includes b but not a . To avoid underflow, the matrix should be scaled so that its largest element is no greater than overflow**(1/2) * underflow**(1/4) in absolute value. To assure the most accurate computation of small eigenvalues, the matrix should be scaled to be not much smaller than that, either. See W. Kahan "Accurate Eigenvalues of a Symmetric Tridiagonal Matrix", Report CS41, Computer Science Dept., Stanford University, July 21, 1966 Note: the arguments are, in general, *not* checked for unreasonable values. Arguments ========= IJOB (input) INTEGER Specifies what is to be done: = 1: Compute NAB for the initial intervals. = 2: Perform bisection iteration to find eigenvalues of T. = 3: Perform bisection iteration to invert N(w), i.e., to find a point which has a specified number of eigenvalues of T to its left. Other values will cause DLAEBZ to return with INFO=-1. NITMAX (input) INTEGER The maximum number of "levels" of bisection to be performed, i.e., an interval of width W will not be made smaller than 2^(-NITMAX) * W. If not all intervals have converged after NITMAX iterations, then INFO is set to the number of non-converged intervals. N (input) INTEGER The dimension n of the tridiagonal matrix T. It must be at least 1. MMAX (input) INTEGER The maximum number of intervals. If more than MMAX intervals are generated, then DLAEBZ will quit with INFO=MMAX+1. MINP (input) INTEGER The initial number of intervals. It may not be greater than MMAX. NBMIN (input) INTEGER The smallest number of intervals that should be processed using a vector loop. If zero, then only the scalar loop will be used. ABSTOL (input) DOUBLE PRECISION The minimum (absolute) width of an interval. When an interval is narrower than ABSTOL, or than RELTOL times the larger (in magnitude) endpoint, then it is considered to be sufficiently small, i.e., converged. This must be at least zero. RELTOL (input) DOUBLE PRECISION The minimum relative width of an interval. When an interval is narrower than ABSTOL, or than RELTOL times the larger (in magnitude) endpoint, then it is considered to be sufficiently small, i.e., converged. Note: this should always be at least radix*machine epsilon. PIVMIN (input) DOUBLE PRECISION The minimum absolute value of a "pivot" in the Sturm sequence loop. This *must* be at least max |e(j)**2| * safe_min and at least safe_min, where safe_min is at least the smallest number that can divide one without overflow. D (input) DOUBLE PRECISION array, dimension (N) The diagonal elements of the tridiagonal matrix T. E (input) DOUBLE PRECISION array, dimension (N) The offdiagonal elements of the tridiagonal matrix T in positions 1 through N-1. E(N) is arbitrary. E2 (input) DOUBLE PRECISION array, dimension (N) The squares of the offdiagonal elements of the tridiagonal matrix T. E2(N) is ignored. NVAL (input/output) INTEGER array, dimension (MINP) If IJOB=1 or 2, not referenced. If IJOB=3, the desired values of N(w). The elements of NVAL will be reordered to correspond with the intervals in AB. Thus, NVAL(j) on output will not, in general be the same as NVAL(j) on input, but it will correspond with the interval (AB(j,1),AB(j,2)] on output. AB (input/output) DOUBLE PRECISION array, dimension (MMAX,2) The endpoints of the intervals. AB(j,1) is a(j), the left endpoint of the j-th interval, and AB(j,2) is b(j), the right endpoint of the j-th interval. The input intervals will, in general, be modified, split, and reordered by the calculation. C (input/output) DOUBLE PRECISION array, dimension (MMAX) If IJOB=1, ignored. If IJOB=2, workspace. If IJOB=3, then on input C(j) should be initialized to the first search point in the binary search. MOUT (output) INTEGER If IJOB=1, the number of eigenvalues in the intervals. If IJOB=2 or 3, the number of intervals output. If IJOB=3, MOUT will equal MINP. NAB (input/output) INTEGER array, dimension (MMAX,2) If IJOB=1, then on output NAB(i,j) will be set to N(AB(i,j)). If IJOB=2, then on input, NAB(i,j) should be set. It must satisfy the condition: N(AB(i,1)) <= NAB(i,1) <= NAB(i,2) <= N(AB(i,2)), which means that in interval i only eigenvalues NAB(i,1)+1,...,NAB(i,2) will be considered. Usually, NAB(i,j)=N(AB(i,j)), from a previous call to DLAEBZ with IJOB=1. On output, NAB(i,j) will contain max(na(k),min(nb(k),N(AB(i,j)))), where k is the index of the input interval that the output interval (AB(j,1),AB(j,2)] came from, and na(k) and nb(k) are the the input values of NAB(k,1) and NAB(k,2). If IJOB=3, then on output, NAB(i,j) contains N(AB(i,j)), unless N(w) > NVAL(i) for all search points w , in which case NAB(i,1) will not be modified, i.e., the output value will be the same as the input value (modulo reorderings -- see NVAL and AB), or unless N(w) < NVAL(i) for all search points w , in which case NAB(i,2) will not be modified. Normally, NAB should be set to some distinctive value(s) before DLAEBZ is called. WORK (workspace) DOUBLE PRECISION array, dimension (MMAX) Workspace. IWORK (workspace) INTEGER array, dimension (MMAX) Workspace. INFO (output) INTEGER = 0: All intervals converged. = 1--MMAX: The last INFO intervals did not converge. = MMAX+1: More than MMAX intervals were generated. Further Details =============== This routine is intended to be called only by other LAPACK routines, thus the interface is less user-friendly. It is intended for two purposes: (a) finding eigenvalues. In this case, DLAEBZ should have one or more initial intervals set up in AB, and DLAEBZ should be called with IJOB=1. This sets up NAB, and also counts the eigenvalues. Intervals with no eigenvalues would usually be thrown out at this point. Also, if not all the eigenvalues in an interval i are desired, NAB(i,1) can be increased or NAB(i,2) decreased. For example, set NAB(i,1)=NAB(i,2)-1 to get the largest eigenvalue. DLAEBZ is then called with IJOB=2 and MMAX no smaller than the value of MOUT returned by the call with IJOB=1. After this (IJOB=2) call, eigenvalues NAB(i,1)+1 through NAB(i,2) are approximately AB(i,1) (or AB(i,2)) to the tolerance specified by ABSTOL and RELTOL. (b) finding an interval (a',b'] containing eigenvalues w(f),...,w(l). In this case, start with a Gershgorin interval (a,b). Set up AB to contain 2 search intervals, both initially (a,b). One NVAL element should contain f-1 and the other should contain l , while C should contain a and b, resp. NAB(i,1) should be -1 and NAB(i,2) should be N+1, to flag an error if the desired interval does not lie in (a,b). DLAEBZ is then called with IJOB=3. On exit, if w(f-1) < w(f), then one of the intervals -- j -- will have AB(j,1)=AB(j,2) and NAB(j,1)=NAB(j,2)=f-1, while if, to the specified tolerance, w(f-k)=...=w(f+r), k > 0 and r >= 0, then the interval will have N(AB(j,1))=NAB(j,1)=f-k and N(AB(j,2))=NAB(j,2)=f+r. The cases w(l) < w(l+1) and w(l-r)=...=w(l+k) are handled similarly. ===================================================================== Check for Errors Parameter adjustments */ /* System generated locals */ integer nab_dim1, nab_offset, ab_dim1, ab_offset, i__1, i__2, i__3, i__4, i__5, i__6; Treal d__1, d__2, d__3, d__4; /* Local variables */ integer itmp1, itmp2, j, kfnew, klnew, kf, ji, kl, jp, jit; Treal tmp1, tmp2; #define ab_ref(a_1,a_2) ab[(a_2)*ab_dim1 + a_1] #define nab_ref(a_1,a_2) nab[(a_2)*nab_dim1 + a_1] nab_dim1 = *mmax; nab_offset = 1 + nab_dim1 * 1; nab -= nab_offset; ab_dim1 = *mmax; ab_offset = 1 + ab_dim1 * 1; ab -= ab_offset; --d__; --e; --e2; --nval; --c__; --work; --iwork; /* Function Body */ *info = 0; if (*ijob < 1 || *ijob > 3) { *info = -1; return 0; } /* Initialize NAB */ if (*ijob == 1) { /* Compute the number of eigenvalues in the initial intervals. */ *mout = 0; /* DIR$ NOVECTOR */ i__1 = *minp; for (ji = 1; ji <= i__1; ++ji) { for (jp = 1; jp <= 2; ++jp) { tmp1 = d__[1] - ab_ref(ji, jp); if (absMACRO(tmp1) < *pivmin) { tmp1 = -(*pivmin); } nab_ref(ji, jp) = 0; if (tmp1 <= 0.) { nab_ref(ji, jp) = 1; } i__2 = *n; for (j = 2; j <= i__2; ++j) { tmp1 = d__[j] - e2[j - 1] / tmp1 - ab_ref(ji, jp); if (absMACRO(tmp1) < *pivmin) { tmp1 = -(*pivmin); } if (tmp1 <= 0.) { nab_ref(ji, jp) = nab_ref(ji, jp) + 1; } /* L10: */ } /* L20: */ } *mout = *mout + nab_ref(ji, 2) - nab_ref(ji, 1); /* L30: */ } return 0; } /* Initialize for loop KF and KL have the following meaning: Intervals 1,...,KF-1 have converged. Intervals KF,...,KL still need to be refined. */ kf = 1; kl = *minp; /* If IJOB=2, initialize C. If IJOB=3, use the user-supplied starting point. */ if (*ijob == 2) { i__1 = *minp; for (ji = 1; ji <= i__1; ++ji) { c__[ji] = (ab_ref(ji, 1) + ab_ref(ji, 2)) * .5; /* L40: */ } } /* Iteration loop */ i__1 = *nitmax; for (jit = 1; jit <= i__1; ++jit) { /* Loop over intervals */ if (kl - kf + 1 >= *nbmin && *nbmin > 0) { /* Begin of Parallel Version of the loop */ i__2 = kl; for (ji = kf; ji <= i__2; ++ji) { /* Compute N(c), the number of eigenvalues less than c */ work[ji] = d__[1] - c__[ji]; iwork[ji] = 0; if (work[ji] <= *pivmin) { iwork[ji] = 1; /* Computing MIN */ d__1 = work[ji], d__2 = -(*pivmin); work[ji] = minMACRO(d__1,d__2); } i__3 = *n; for (j = 2; j <= i__3; ++j) { work[ji] = d__[j] - e2[j - 1] / work[ji] - c__[ji]; if (work[ji] <= *pivmin) { ++iwork[ji]; /* Computing MIN */ d__1 = work[ji], d__2 = -(*pivmin); work[ji] = minMACRO(d__1,d__2); } /* L50: */ } /* L60: */ } if (*ijob <= 2) { /* IJOB=2: Choose all intervals containing eigenvalues. */ klnew = kl; i__2 = kl; for (ji = kf; ji <= i__2; ++ji) { /* Insure that N(w) is monotone Computing MIN Computing MAX */ i__5 = nab_ref(ji, 1), i__6 = iwork[ji]; i__3 = nab_ref(ji, 2), i__4 = maxMACRO(i__5,i__6); iwork[ji] = minMACRO(i__3,i__4); /* Update the Queue -- add intervals if both halves contain eigenvalues. */ if (iwork[ji] == nab_ref(ji, 2)) { /* No eigenvalue in the upper interval: just use the lower interval. */ ab_ref(ji, 2) = c__[ji]; } else if (iwork[ji] == nab_ref(ji, 1)) { /* No eigenvalue in the lower interval: just use the upper interval. */ ab_ref(ji, 1) = c__[ji]; } else { ++klnew; if (klnew <= *mmax) { /* Eigenvalue in both intervals -- add upper to queue. */ ab_ref(klnew, 2) = ab_ref(ji, 2); nab_ref(klnew, 2) = nab_ref(ji, 2); ab_ref(klnew, 1) = c__[ji]; nab_ref(klnew, 1) = iwork[ji]; ab_ref(ji, 2) = c__[ji]; nab_ref(ji, 2) = iwork[ji]; } else { *info = *mmax + 1; } } /* L70: */ } if (*info != 0) { return 0; } kl = klnew; } else { /* IJOB=3: Binary search. Keep only the interval containing w s.t. N(w) = NVAL */ i__2 = kl; for (ji = kf; ji <= i__2; ++ji) { if (iwork[ji] <= nval[ji]) { ab_ref(ji, 1) = c__[ji]; nab_ref(ji, 1) = iwork[ji]; } if (iwork[ji] >= nval[ji]) { ab_ref(ji, 2) = c__[ji]; nab_ref(ji, 2) = iwork[ji]; } /* L80: */ } } } else { /* End of Parallel Version of the loop Begin of Serial Version of the loop */ klnew = kl; i__2 = kl; for (ji = kf; ji <= i__2; ++ji) { /* Compute N(w), the number of eigenvalues less than w */ tmp1 = c__[ji]; tmp2 = d__[1] - tmp1; itmp1 = 0; if (tmp2 <= *pivmin) { itmp1 = 1; /* Computing MIN */ d__1 = tmp2, d__2 = -(*pivmin); tmp2 = minMACRO(d__1,d__2); } /* A series of compiler directives to defeat vectorization for the next loop $PL$ CMCHAR=' ' DIR$ NEXTSCALAR $DIR SCALAR DIR$ NEXT SCALAR VD$L NOVECTOR DEC$ NOVECTOR VD$ NOVECTOR VDIR NOVECTOR VOCL LOOP,SCALAR IBM PREFER SCALAR $PL$ CMCHAR='*' */ i__3 = *n; for (j = 2; j <= i__3; ++j) { tmp2 = d__[j] - e2[j - 1] / tmp2 - tmp1; if (tmp2 <= *pivmin) { ++itmp1; /* Computing MIN */ d__1 = tmp2, d__2 = -(*pivmin); tmp2 = minMACRO(d__1,d__2); } /* L90: */ } if (*ijob <= 2) { /* IJOB=2: Choose all intervals containing eigenvalues. Insure that N(w) is monotone Computing MIN Computing MAX */ i__5 = nab_ref(ji, 1); i__3 = nab_ref(ji, 2), i__4 = maxMACRO(i__5,itmp1); itmp1 = minMACRO(i__3,i__4); /* Update the Queue -- add intervals if both halves contain eigenvalues. */ if (itmp1 == nab_ref(ji, 2)) { /* No eigenvalue in the upper interval: just use the lower interval. */ ab_ref(ji, 2) = tmp1; } else if (itmp1 == nab_ref(ji, 1)) { /* No eigenvalue in the lower interval: just use the upper interval. */ ab_ref(ji, 1) = tmp1; } else if (klnew < *mmax) { /* Eigenvalue in both intervals -- add upper to queue. */ ++klnew; ab_ref(klnew, 2) = ab_ref(ji, 2); nab_ref(klnew, 2) = nab_ref(ji, 2); ab_ref(klnew, 1) = tmp1; nab_ref(klnew, 1) = itmp1; ab_ref(ji, 2) = tmp1; nab_ref(ji, 2) = itmp1; } else { *info = *mmax + 1; return 0; } } else { /* IJOB=3: Binary search. Keep only the interval containing w s.t. N(w) = NVAL */ if (itmp1 <= nval[ji]) { ab_ref(ji, 1) = tmp1; nab_ref(ji, 1) = itmp1; } if (itmp1 >= nval[ji]) { ab_ref(ji, 2) = tmp1; nab_ref(ji, 2) = itmp1; } } /* L100: */ } kl = klnew; /* End of Serial Version of the loop */ } /* Check for convergence */ kfnew = kf; i__2 = kl; for (ji = kf; ji <= i__2; ++ji) { tmp1 = (d__1 = ab_ref(ji, 2) - ab_ref(ji, 1), absMACRO(d__1)); /* Computing MAX */ d__3 = (d__1 = ab_ref(ji, 2), absMACRO(d__1)), d__4 = (d__2 = ab_ref( ji, 1), absMACRO(d__2)); tmp2 = maxMACRO(d__3,d__4); /* Computing MAX */ d__1 = maxMACRO(*abstol,*pivmin), d__2 = *reltol * tmp2; if (tmp1 < maxMACRO(d__1,d__2) || nab_ref(ji, 1) >= nab_ref(ji, 2)) { /* Converged -- Swap with position KFNEW, then increment KFNEW */ if (ji > kfnew) { tmp1 = ab_ref(ji, 1); tmp2 = ab_ref(ji, 2); itmp1 = nab_ref(ji, 1); itmp2 = nab_ref(ji, 2); ab_ref(ji, 1) = ab_ref(kfnew, 1); ab_ref(ji, 2) = ab_ref(kfnew, 2); nab_ref(ji, 1) = nab_ref(kfnew, 1); nab_ref(ji, 2) = nab_ref(kfnew, 2); ab_ref(kfnew, 1) = tmp1; ab_ref(kfnew, 2) = tmp2; nab_ref(kfnew, 1) = itmp1; nab_ref(kfnew, 2) = itmp2; if (*ijob == 3) { itmp1 = nval[ji]; nval[ji] = nval[kfnew]; nval[kfnew] = itmp1; } } ++kfnew; } /* L110: */ } kf = kfnew; /* Choose Midpoints */ i__2 = kl; for (ji = kf; ji <= i__2; ++ji) { c__[ji] = (ab_ref(ji, 1) + ab_ref(ji, 2)) * .5; /* L120: */ } /* If no more intervals to refine, quit. */ if (kf > kl) { goto L140; } /* L130: */ } /* Converged */ L140: /* Computing MAX */ i__1 = kl + 1 - kf; *info = maxMACRO(i__1,0); *mout = kl; return 0; /* End of DLAEBZ */ } /* dlaebz_ */ #undef nab_ref #undef ab_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_stevr.h0000664000175000017500000004362312743400307023157 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_STEVR_HEADER #define TEMPLATE_LAPACK_STEVR_HEADER template int template_lapack_stevr(const char *jobz, const char *range, const integer *n, Treal * d__, Treal *e, const Treal *vl, const Treal *vu, const integer *il, const integer *iu, const Treal *abstol, integer *m, Treal *w, Treal *z__, const integer *ldz, integer *isuppz, Treal *work, integer *lwork, integer *iwork, integer *liwork, integer *info) { /* System generated locals */ integer z_dim1, z_offset, i__1, i__2; Treal d__1, d__2; /* Builtin functions */ /* Local variables */ integer i__, j, jj; Treal eps, vll, vuu, tmp1; integer imax; Treal rmin, rmax; logical test; Treal tnrm; integer itmp1; Treal sigma; char order[1]; integer lwmin; logical wantz; logical alleig, indeig; integer iscale, ieeeok, indibl, indifl; logical valeig; Treal safmin; Treal bignum; integer indisp; integer indiwo; integer liwmin; logical tryrac; integer nsplit; Treal smlnum; logical lquery; /* -- LAPACK driver routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* DSTEVR computes selected eigenvalues and, optionally, eigenvectors */ /* of a real symmetric tridiagonal matrix T. Eigenvalues and */ /* eigenvectors can be selected by specifying either a range of values */ /* or a range of indices for the desired eigenvalues. */ /* Whenever possible, DSTEVR calls DSTEMR to compute the */ /* eigenspectrum using Relatively Robust Representations. DSTEMR */ /* computes eigenvalues by the dqds algorithm, while orthogonal */ /* eigenvectors are computed from various "good" L D L^T representations */ /* (also known as Relatively Robust Representations). Gram-Schmidt */ /* orthogonalization is avoided as far as possible. More specifically, */ /* the various steps of the algorithm are as follows. For the i-th */ /* unreduced block of T, */ /* (a) Compute T - sigma_i = L_i D_i L_i^T, such that L_i D_i L_i^T */ /* is a relatively robust representation, */ /* (b) Compute the eigenvalues, lambda_j, of L_i D_i L_i^T to high */ /* relative accuracy by the dqds algorithm, */ /* (c) If there is a cluster of close eigenvalues, "choose" sigma_i */ /* close to the cluster, and go to step (a), */ /* (d) Given the approximate eigenvalue lambda_j of L_i D_i L_i^T, */ /* compute the corresponding eigenvector by forming a */ /* rank-revealing twisted factorization. */ /* The desired accuracy of the output can be specified by the input */ /* parameter ABSTOL. */ /* For more details, see "A new O(n^2) algorithm for the symmetric */ /* tridiagonal eigenvalue/eigenvector problem", by Inderjit Dhillon, */ /* Computer Science Division Technical Report No. UCB//CSD-97-971, */ /* UC Berkeley, May 1997. */ /* Note 1 : DSTEVR calls DSTEMR when the full spectrum is requested */ /* on machines which conform to the ieee-754 floating point standard. */ /* DSTEVR calls DSTEBZ and DSTEIN on non-ieee machines and */ /* when partial spectrum requests are made. */ /* Normal execution of DSTEMR may create NaNs and infinities and */ /* hence may abort due to a floating point exception in environments */ /* which do not handle NaNs and infinities in the ieee standard default */ /* manner. */ /* Arguments */ /* ========= */ /* JOBZ (input) CHARACTER*1 */ /* = 'N': Compute eigenvalues only; */ /* = 'V': Compute eigenvalues and eigenvectors. */ /* RANGE (input) CHARACTER*1 */ /* = 'A': all eigenvalues will be found. */ /* = 'V': all eigenvalues in the half-open interval (VL,VU] */ /* will be found. */ /* = 'I': the IL-th through IU-th eigenvalues will be found. */ /* ********* For RANGE = 'V' or 'I' and IU - IL < N - 1, DSTEBZ and */ /* ********* DSTEIN are called */ /* N (input) INTEGER */ /* The order of the matrix. N >= 0. */ /* D (input/output) DOUBLE PRECISION array, dimension (N) */ /* On entry, the n diagonal elements of the tridiagonal matrix */ /* A. */ /* On exit, D may be multiplied by a constant factor chosen */ /* to avoid over/underflow in computing the eigenvalues. */ /* E (input/output) DOUBLE PRECISION array, dimension (max(1,N-1)) */ /* On entry, the (n-1) subdiagonal elements of the tridiagonal */ /* matrix A in elements 1 to N-1 of E. */ /* On exit, E may be multiplied by a constant factor chosen */ /* to avoid over/underflow in computing the eigenvalues. */ /* VL (input) DOUBLE PRECISION */ /* VU (input) DOUBLE PRECISION */ /* If RANGE='V', the lower and upper bounds of the interval to */ /* be searched for eigenvalues. VL < VU. */ /* Not referenced if RANGE = 'A' or 'I'. */ /* IL (input) INTEGER */ /* IU (input) INTEGER */ /* If RANGE='I', the indices (in ascending order) of the */ /* smallest and largest eigenvalues to be returned. */ /* 1 <= IL <= IU <= N, if N > 0; IL = 1 and IU = 0 if N = 0. */ /* Not referenced if RANGE = 'A' or 'V'. */ /* ABSTOL (input) DOUBLE PRECISION */ /* The absolute error tolerance for the eigenvalues. */ /* An approximate eigenvalue is accepted as converged */ /* when it is determined to lie in an interval [a,b] */ /* of width less than or equal to */ /* ABSTOL + EPS * max( |a|,|b| ) , */ /* where EPS is the machine precision. If ABSTOL is less than */ /* or equal to zero, then EPS*|T| will be used in its place, */ /* where |T| is the 1-norm of the tridiagonal matrix obtained */ /* by reducing A to tridiagonal form. */ /* See "Computing Small Singular Values of Bidiagonal Matrices */ /* with Guaranteed High Relative Accuracy," by Demmel and */ /* Kahan, LAPACK Working Note #3. */ /* If high relative accuracy is important, set ABSTOL to */ /* DLAMCH( 'Safe minimum' ). Doing so will guarantee that */ /* eigenvalues are computed to high relative accuracy when */ /* possible in future releases. The current code does not */ /* make any guarantees about high relative accuracy, but */ /* future releases will. See J. Barlow and J. Demmel, */ /* "Computing Accurate Eigensystems of Scaled Diagonally */ /* Dominant Matrices", LAPACK Working Note #7, for a discussion */ /* of which matrices define their eigenvalues to high relative */ /* accuracy. */ /* M (output) INTEGER */ /* The total number of eigenvalues found. 0 <= M <= N. */ /* If RANGE = 'A', M = N, and if RANGE = 'I', M = IU-IL+1. */ /* W (output) DOUBLE PRECISION array, dimension (N) */ /* The first M elements contain the selected eigenvalues in */ /* ascending order. */ /* Z (output) DOUBLE PRECISION array, dimension (LDZ, max(1,M) ) */ /* If JOBZ = 'V', then if INFO = 0, the first M columns of Z */ /* contain the orthonormal eigenvectors of the matrix A */ /* corresponding to the selected eigenvalues, with the i-th */ /* column of Z holding the eigenvector associated with W(i). */ /* Note: the user must ensure that at least max(1,M) columns are */ /* supplied in the array Z; if RANGE = 'V', the exact value of M */ /* is not known in advance and an upper bound must be used. */ /* LDZ (input) INTEGER */ /* The leading dimension of the array Z. LDZ >= 1, and if */ /* JOBZ = 'V', LDZ >= max(1,N). */ /* ISUPPZ (output) INTEGER array, dimension ( 2*max(1,M) ) */ /* The support of the eigenvectors in Z, i.e., the indices */ /* indicating the nonzero elements in Z. The i-th eigenvector */ /* is nonzero only in elements ISUPPZ( 2*i-1 ) through */ /* ISUPPZ( 2*i ). */ /* ********* Implemented only for RANGE = 'A' or 'I' and IU - IL = N - 1 */ /* WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) */ /* On exit, if INFO = 0, WORK(1) returns the optimal (and */ /* minimal) LWORK. */ /* LWORK (input) INTEGER */ /* The dimension of the array WORK. LWORK >= max(1,20*N). */ /* If LWORK = -1, then a workspace query is assumed; the routine */ /* only calculates the optimal sizes of the WORK and IWORK */ /* arrays, returns these values as the first entries of the WORK */ /* and IWORK arrays, and no error message related to LWORK or */ /* LIWORK is issued by XERBLA. */ /* IWORK (workspace/output) INTEGER array, dimension (MAX(1,LIWORK)) */ /* On exit, if INFO = 0, IWORK(1) returns the optimal (and */ /* minimal) LIWORK. */ /* LIWORK (input) INTEGER */ /* The dimension of the array IWORK. LIWORK >= max(1,10*N). */ /* If LIWORK = -1, then a workspace query is assumed; the */ /* routine only calculates the optimal sizes of the WORK and */ /* IWORK arrays, returns these values as the first entries of */ /* the WORK and IWORK arrays, and no error message related to */ /* LWORK or LIWORK is issued by XERBLA. */ /* INFO (output) INTEGER */ /* = 0: successful exit */ /* < 0: if INFO = -i, the i-th argument had an illegal value */ /* > 0: Internal error */ /* Further Details */ /* =============== */ /* Based on contributions by */ /* Inderjit Dhillon, IBM Almaden, USA */ /* Osni Marques, LBNL/NERSC, USA */ /* Ken Stanley, Computer Science Division, University of */ /* California at Berkeley, USA */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. External Functions .. */ /* .. */ /* .. External Subroutines .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Test the input parameters. */ /* Parameter adjustments */ /* Table of constant values */ integer c__10 = 10; integer c__1 = 1; integer c__2 = 2; integer c__3 = 3; integer c__4 = 4; --d__; --e; --w; z_dim1 = *ldz; z_offset = 1 + z_dim1; z__ -= z_offset; --isuppz; --work; --iwork; /* Function Body */ ieeeok = template_lapack_ilaenv(&c__10, "DSTEVR", "N", &c__1, &c__2, &c__3, &c__4, (ftnlen)6, (ftnlen)1); wantz = template_blas_lsame(jobz, "V"); alleig = template_blas_lsame(range, "A"); valeig = template_blas_lsame(range, "V"); indeig = template_blas_lsame(range, "I"); lquery = *lwork == -1 || *liwork == -1; /* Computing MAX */ i__1 = 1, i__2 = *n * 20; lwmin = maxMACRO(i__1,i__2); /* Computing MAX */ i__1 = 1, i__2 = *n * 10; liwmin = maxMACRO(i__1,i__2); *info = 0; if (! (wantz || template_blas_lsame(jobz, "N"))) { *info = -1; } else if (! (alleig || valeig || indeig)) { *info = -2; } else if (*n < 0) { *info = -3; } else { if (valeig) { if (*n > 0 && *vu <= *vl) { *info = -7; } } else if (indeig) { if (*il < 1 || *il > maxMACRO(1,*n)) { *info = -8; } else if (*iu < minMACRO(*n,*il) || *iu > *n) { *info = -9; } } } if (*info == 0) { if (*ldz < 1 || ( wantz && *ldz < *n ) ) { *info = -14; } } if (*info == 0) { work[1] = (Treal) lwmin; iwork[1] = liwmin; if (*lwork < lwmin && ! lquery) { *info = -17; } else if (*liwork < liwmin && ! lquery) { *info = -19; } } if (*info != 0) { i__1 = -(*info); template_blas_erbla("STEVR", &i__1); return 0; } else if (lquery) { return 0; } /* Quick return if possible */ *m = 0; if (*n == 0) { return 0; } if (*n == 1) { if (alleig || indeig) { *m = 1; w[1] = d__[1]; } else { if (*vl < d__[1] && *vu >= d__[1]) { *m = 1; w[1] = d__[1]; } } if (wantz) { z__[z_dim1 + 1] = 1.; } return 0; } /* Get machine constants. */ safmin = template_lapack_lamch("Safe minimum", (Treal)0); eps = template_lapack_lamch("Precision", (Treal)0); smlnum = safmin / eps; bignum = 1. / smlnum; rmin = template_blas_sqrt(smlnum); /* Computing MIN */ d__1 = template_blas_sqrt(bignum), d__2 = 1. / template_blas_sqrt(template_blas_sqrt(safmin)); rmax = minMACRO(d__1,d__2); /* Scale matrix to allowable range, if necessary. */ iscale = 0; vll = *vl; vuu = *vu; tnrm = template_lapack_lanst("M", n, &d__[1], &e[1]); if (tnrm > 0. && tnrm < rmin) { iscale = 1; sigma = rmin / tnrm; } else if (tnrm > rmax) { iscale = 1; sigma = rmax / tnrm; } if (iscale == 1) { template_blas_scal(n, &sigma, &d__[1], &c__1); i__1 = *n - 1; template_blas_scal(&i__1, &sigma, &e[1], &c__1); if (valeig) { vll = *vl * sigma; vuu = *vu * sigma; } } /* Initialize indices into workspaces. Note: These indices are used only */ /* if DSTERF or DSTEMR fail. */ /* IWORK(INDIBL:INDIBL+M-1) corresponds to IBLOCK in DSTEBZ and */ /* stores the block indices of each of the M<=N eigenvalues. */ indibl = 1; /* IWORK(INDISP:INDISP+NSPLIT-1) corresponds to ISPLIT in DSTEBZ and */ /* stores the starting and finishing indices of each block. */ indisp = indibl + *n; /* IWORK(INDIFL:INDIFL+N-1) stores the indices of eigenvectors */ /* that corresponding to eigenvectors that fail to converge in */ /* DSTEIN. This information is discarded; if any fail, the driver */ /* returns INFO > 0. */ indifl = indisp + *n; /* INDIWO is the offset of the remaining integer workspace. */ indiwo = indisp + *n; /* If all eigenvalues are desired, then */ /* call DSTERF or DSTEMR. If this fails for some eigenvalue, then */ /* try DSTEBZ. */ test = FALSE_; if (indeig) { if (*il == 1 && *iu == *n) { test = TRUE_; } } if ((alleig || test) && ieeeok == 1) { i__1 = *n - 1; template_blas_copy(&i__1, &e[1], &c__1, &work[1], &c__1); if (! wantz) { template_blas_copy(n, &d__[1], &c__1, &w[1], &c__1); template_lapack_sterf(n, &w[1], &work[1], info); } else { template_blas_copy(n, &d__[1], &c__1, &work[*n + 1], &c__1); if (*abstol <= *n * 2. * eps) { tryrac = TRUE_; } else { tryrac = FALSE_; } i__1 = *lwork - (*n << 1); template_lapack_stemr(jobz, "A", n, &work[*n + 1], &work[1], vl, vu, il, iu, m, &w[1], &z__[z_offset], ldz, n, &isuppz[1], &tryrac, &work[ (*n << 1) + 1], &i__1, &iwork[1], liwork, info); } if (*info == 0) { *m = *n; goto L10; } *info = 0; } /* Otherwise, call DSTEBZ and, if eigenvectors are desired, DSTEIN. */ if (wantz) { *(unsigned char *)order = 'B'; } else { *(unsigned char *)order = 'E'; } template_lapack_stebz(range, order, n, &vll, &vuu, il, iu, abstol, &d__[1], &e[1], m, & nsplit, &w[1], &iwork[indibl], &iwork[indisp], &work[1], &iwork[ indiwo], info); if (wantz) { template_lapack_stein(n, &d__[1], &e[1], m, &w[1], &iwork[indibl], &iwork[indisp], & z__[z_offset], ldz, &work[1], &iwork[indiwo], &iwork[indifl], info); } /* If matrix was scaled, then rescale eigenvalues appropriately. */ L10: if (iscale == 1) { if (*info == 0) { imax = *m; } else { imax = *info - 1; } d__1 = 1. / sigma; template_blas_scal(&imax, &d__1, &w[1], &c__1); } /* If eigenvalues are not in order, then sort them, along with */ /* eigenvectors. */ if (wantz) { i__1 = *m - 1; for (j = 1; j <= i__1; ++j) { i__ = 0; tmp1 = w[j]; i__2 = *m; for (jj = j + 1; jj <= i__2; ++jj) { if (w[jj] < tmp1) { i__ = jj; tmp1 = w[jj]; } /* L20: */ } if (i__ != 0) { itmp1 = iwork[i__]; w[i__] = w[j]; iwork[i__] = iwork[j]; w[j] = tmp1; iwork[j] = itmp1; template_blas_swap(n, &z__[i__ * z_dim1 + 1], &c__1, &z__[j * z_dim1 + 1], &c__1); } /* L30: */ } } /* Causes problems with tests 19 & 20: */ /* IF (wantz .and. INDEIG ) Z( 1,1) = Z(1,1) / 1.002 + .002 */ work[1] = (Treal) lwmin; iwork[1] = liwmin; return 0; /* End of DSTEVR */ } /* dstevr_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_laneg.h0000664000175000017500000001614312743400307023077 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LANEG_HEADER #define TEMPLATE_LAPACK_LANEG_HEADER #include "template_lapack_isnan.h" template int template_lapack_laneg(integer *n, Treal *d__, Treal *lld, Treal * sigma, Treal *pivmin, integer *r__) { /* System generated locals */ integer ret_val, i__1, i__2, i__3, i__4; /* Local variables */ integer j; Treal p, t; integer bj; Treal tmp; integer neg1, neg2; Treal bsav, gamma, dplus; integer negcnt; logical sawnan; Treal dminus; /* -- LAPACK auxiliary routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* DLANEG computes the Sturm count, the number of negative pivots */ /* encountered while factoring tridiagonal T - sigma I = L D L^T. */ /* This implementation works directly on the factors without forming */ /* the tridiagonal matrix T. The Sturm count is also the number of */ /* eigenvalues of T less than sigma. */ /* This routine is called from DLARRB. */ /* The current routine does not use the PIVMIN parameter but rather */ /* requires IEEE-754 propagation of Infinities and NaNs. This */ /* routine also has no input range restrictions but does require */ /* default exception handling such that x/0 produces Inf when x is */ /* non-zero, and Inf/Inf produces NaN. For more information, see: */ /* Marques, Riedy, and Voemel, "Benefits of IEEE-754 Features in */ /* Modern Symmetric Tridiagonal Eigensolvers," SIAM Journal on */ /* Scientific Computing, v28, n5, 2006. DOI 10.1137/050641624 */ /* (Tech report version in LAWN 172 with the same title.) */ /* Arguments */ /* ========= */ /* N (input) INTEGER */ /* The order of the matrix. */ /* D (input) DOUBLE PRECISION array, dimension (N) */ /* The N diagonal elements of the diagonal matrix D. */ /* LLD (input) DOUBLE PRECISION array, dimension (N-1) */ /* The (N-1) elements L(i)*L(i)*D(i). */ /* SIGMA (input) DOUBLE PRECISION */ /* Shift amount in T - sigma I = L D L^T. */ /* PIVMIN (input) DOUBLE PRECISION */ /* The minimum pivot in the Sturm sequence. May be used */ /* when zero pivots are encountered on non-IEEE-754 */ /* architectures. */ /* R (input) INTEGER */ /* The twist index for the twisted factorization that is used */ /* for the negcount. */ /* Further Details */ /* =============== */ /* Based on contributions by */ /* Osni Marques, LBNL/NERSC, USA */ /* Christof Voemel, University of California, Berkeley, USA */ /* Jason Riedy, University of California, Berkeley, USA */ /* ===================================================================== */ /* .. Parameters .. */ /* Some architectures propagate Infinities and NaNs very slowly, so */ /* the code computes counts in BLKLEN chunks. Then a NaN can */ /* propagate at most BLKLEN columns before being detected. This is */ /* not a general tuning parameter; it needs only to be just large */ /* enough that the overhead is tiny in common cases. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. External Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Parameter adjustments */ --lld; --d__; /* Function Body */ negcnt = 0; /* I) upper part: L D L^T - SIGMA I = L+ D+ L+^T */ t = -(*sigma); i__1 = *r__ - 1; for (bj = 1; bj <= i__1; bj += 128) { neg1 = 0; bsav = t; /* Computing MIN */ i__3 = bj + 127, i__4 = *r__ - 1; i__2 = minMACRO(i__3,i__4); for (j = bj; j <= i__2; ++j) { dplus = d__[j] + t; if (dplus < 0.) { ++neg1; } tmp = t / dplus; t = tmp * lld[j] - *sigma; /* L21: */ } sawnan = template_lapack_isnan(&t); /* Run a slower version of the above loop if a NaN is detected. */ /* A NaN should occur only with a zero pivot after an infinite */ /* pivot. In that case, substituting 1 for T/DPLUS is the */ /* correct limit. */ if (sawnan) { neg1 = 0; t = bsav; /* Computing MIN */ i__3 = bj + 127, i__4 = *r__ - 1; i__2 = minMACRO(i__3,i__4); for (j = bj; j <= i__2; ++j) { dplus = d__[j] + t; if (dplus < 0.) { ++neg1; } tmp = t / dplus; if (template_lapack_isnan(&tmp)) { tmp = 1.; } t = tmp * lld[j] - *sigma; /* L22: */ } } negcnt += neg1; /* L210: */ } /* II) lower part: L D L^T - SIGMA I = U- D- U-^T */ p = d__[*n] - *sigma; i__1 = *r__; for (bj = *n - 1; bj >= i__1; bj += -128) { neg2 = 0; bsav = p; /* Computing MAX */ i__3 = bj - 127; i__2 = maxMACRO(i__3,*r__); for (j = bj; j >= i__2; --j) { dminus = lld[j] + p; if (dminus < 0.) { ++neg2; } tmp = p / dminus; p = tmp * d__[j] - *sigma; /* L23: */ } sawnan = template_lapack_isnan(&p); /* As above, run a slower version that substitutes 1 for Inf/Inf. */ if (sawnan) { neg2 = 0; p = bsav; /* Computing MAX */ i__3 = bj - 127; i__2 = maxMACRO(i__3,*r__); for (j = bj; j >= i__2; --j) { dminus = lld[j] + p; if (dminus < 0.) { ++neg2; } tmp = p / dminus; if (template_lapack_isnan(&tmp)) { tmp = 1.; } p = tmp * d__[j] - *sigma; /* L24: */ } } negcnt += neg2; /* L230: */ } /* III) Twist index */ /* T was shifted by SIGMA initially. */ gamma = t + *sigma + p; if (gamma < 0.) { ++negcnt; } ret_val = negcnt; return ret_val; } /* dlaneg_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larrc.h0000664000175000017500000001327112743400307023113 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARRC_HEADER #define TEMPLATE_LAPACK_LARRC_HEADER template int template_lapack_larrc(const char *jobt, const integer *n, const Treal *vl, const Treal *vu, Treal *d__, Treal *e, Treal *pivmin, integer *eigcnt, integer *lcnt, integer *rcnt, integer *info) { /* System generated locals */ integer i__1; Treal d__1; /* Local variables */ integer i__; Treal sl, su, tmp, tmp2; logical matt; Treal lpivot, rpivot; /* -- LAPACK auxiliary routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* Find the number of eigenvalues of the symmetric tridiagonal matrix T */ /* that are in the interval (VL,VU] if JOBT = 'T', and of L D L^T */ /* if JOBT = 'L'. */ /* Arguments */ /* ========= */ /* JOBT (input) CHARACTER*1 */ /* = 'T': Compute Sturm count for matrix T. */ /* = 'L': Compute Sturm count for matrix L D L^T. */ /* N (input) INTEGER */ /* The order of the matrix. N > 0. */ /* VL (input) DOUBLE PRECISION */ /* VU (input) DOUBLE PRECISION */ /* The lower and upper bounds for the eigenvalues. */ /* D (input) DOUBLE PRECISION array, dimension (N) */ /* JOBT = 'T': The N diagonal elements of the tridiagonal matrix T. */ /* JOBT = 'L': The N diagonal elements of the diagonal matrix D. */ /* E (input) DOUBLE PRECISION array, dimension (N) */ /* JOBT = 'T': The N-1 offdiagonal elements of the matrix T. */ /* JOBT = 'L': The N-1 offdiagonal elements of the matrix L. */ /* PIVMIN (input) DOUBLE PRECISION */ /* The minimum pivot in the Sturm sequence for T. */ /* EIGCNT (output) INTEGER */ /* The number of eigenvalues of the symmetric tridiagonal matrix T */ /* that are in the interval (VL,VU] */ /* LCNT (output) INTEGER */ /* RCNT (output) INTEGER */ /* The left and right negcounts of the interval. */ /* INFO (output) INTEGER */ /* Further Details */ /* =============== */ /* Based on contributions by */ /* Beresford Parlett, University of California, Berkeley, USA */ /* Jim Demmel, University of California, Berkeley, USA */ /* Inderjit Dhillon, University of Texas, Austin, USA */ /* Osni Marques, LBNL/NERSC, USA */ /* Christof Voemel, University of California, Berkeley, USA */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. External Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Parameter adjustments */ --e; --d__; /* Function Body */ *info = 0; *lcnt = 0; *rcnt = 0; *eigcnt = 0; matt = template_blas_lsame(jobt, "T"); if (matt) { /* Sturm sequence count on T */ lpivot = d__[1] - *vl; rpivot = d__[1] - *vu; if (lpivot <= 0.) { ++(*lcnt); } if (rpivot <= 0.) { ++(*rcnt); } i__1 = *n - 1; for (i__ = 1; i__ <= i__1; ++i__) { /* Computing 2nd power */ d__1 = e[i__]; tmp = d__1 * d__1; lpivot = d__[i__ + 1] - *vl - tmp / lpivot; rpivot = d__[i__ + 1] - *vu - tmp / rpivot; if (lpivot <= 0.) { ++(*lcnt); } if (rpivot <= 0.) { ++(*rcnt); } /* L10: */ } } else { /* Sturm sequence count on L D L^T */ sl = -(*vl); su = -(*vu); i__1 = *n - 1; for (i__ = 1; i__ <= i__1; ++i__) { lpivot = d__[i__] + sl; rpivot = d__[i__] + su; if (lpivot <= 0.) { ++(*lcnt); } if (rpivot <= 0.) { ++(*rcnt); } tmp = e[i__] * d__[i__] * e[i__]; tmp2 = tmp / lpivot; if (tmp2 == 0.) { sl = tmp - *vl; } else { sl = sl * tmp2 - *vl; } tmp2 = tmp / rpivot; if (tmp2 == 0.) { su = tmp - *vu; } else { su = su * tmp2 - *vu; } /* L20: */ } lpivot = d__[*n] + sl; rpivot = d__[*n] + su; if (lpivot <= 0.) { ++(*lcnt); } if (rpivot <= 0.) { ++(*rcnt); } } *eigcnt = *rcnt - *lcnt; return 0; /* end of DLARRC */ } /* dlarrc_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_test.cc0000664000175000017500000001100212743400307023113 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #include #include #include #include "template_lapack_common.h" #include typedef double realtype; #if 0 static void output_matrix(int n, const realtype* A, const char* name) { std::cout << "output_matrix for matrix '" << name << "'\n"; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) std::cout << " " << A[i*n+j]; std::cout << std::endl; } } #endif int main() { realtype A[4]; A[0] = 1.3; A[1] = 2.4; A[2] = 1.1; A[3] = 2.7; realtype B[4]; B[0] = 0.3; B[1] = 0.4; B[2] = 0.1; B[3] = 0.7; realtype C[4]; C[0] = 0; C[1] = 0; C[2] = 0; C[3] = 0; int m = 2; int n = 2; int k = 2; realtype alpha = 1.0; realtype beta = 0.0; template_blas_gemm("N", "N", &m, &n, &k, &alpha, A, &m, B, &m, &beta, C, &m); std::cout << "template_blas_gemm finished.\n"; #if 0 for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) std::cout << " " << C[i*n+j]; std::cout << std::endl; } #endif realtype D[4]; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { realtype sum = 0; for(int k = 0; k < n; k++) sum += B[i*n+k] * A[k*n+j]; D[i*n+j] = sum; } #if 0 #endif for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { if(fabs(C[i*n+j] - D[i*n+j]) > 1e-11) { std::cout << "ERROR! wrong result from gemm!\n"; return -1; } } realtype E[4]; E[0] = 1.3; E[1] = 0.4; E[2] = 0.4; E[3] = 2.7; int info = 0; //output_matrix(n, E, "E before pptrf"); template_lapack_pptrf("U", &n, E, &info); //output_matrix(n, E, "E after pptrf"); int itype = 1; std::cout << "calling template_lapack_spgst\n"; template_lapack_spgst(&itype, "U", &n, A, B, &info); std::cout << "calling template_lapack_tptri\n"; template_lapack_tptri("U", "U", &n, A, &info); int ITYPE=1; int lwork = 10*n, i; double work[1000]; double eigv[1000]; std::cout << "calling template_lapack_sygv\n"; template_lapack_sygv(&ITYPE, "V", "L", &n, A, &n, B, &n, eigv, work, &lwork, &i); std::cout << "calling template_lapack_trtri\n"; char uplo[8]; char diag[8]; strcpy(uplo, "U"); strcpy(diag, "U"); template_lapack_trtri(uplo, diag, &n, A, &n, &info); std::cout << "testing template_lapack_gesv().." << std::endl; { integer n = 3; double A[n*n]; A[0] = 1; A[1] = 2; A[2] = 0; A[3] = 0; A[4] = 3; A[5] = 3; A[6] = 1; A[7] = 1; A[8] = 0; double RHS[n]; RHS[0] = 1; RHS[1] = 0; RHS[2] = 1; integer IPIV[n]; integer NRHS = 1; integer info = -1; template_lapack_gesv(&n, &NRHS, A, &n, IPIV, RHS, &n, &info); if(info != 0) { std::cout << "ERROR!" << std::endl; return -1; } std::cout << "OK" << std::endl; std::cout << "solution: "; for(int i = 0; i < n; i++) std::cout << RHS[i] << " "; std::cout << std::endl; } std::cout << "template_lapack tests finished OK." << std::endl; return 0; } ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lasv2.h0000664000175000017500000001731412743400307023041 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LASV2_HEADER #define TEMPLATE_LAPACK_LASV2_HEADER template int template_lapack_lasv2(const Treal *f, const Treal *g, const Treal *h__, Treal *ssmin, Treal *ssmax, Treal *snr, Treal * csr, Treal *snl, Treal *csl) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLASV2 computes the singular value decomposition of a 2-by-2 triangular matrix [ F G ] [ 0 H ]. On return, abs(SSMAX) is the larger singular value, abs(SSMIN) is the smaller singular value, and (CSL,SNL) and (CSR,SNR) are the left and right singular vectors for abs(SSMAX), giving the decomposition [ CSL SNL ] [ F G ] [ CSR -SNR ] = [ SSMAX 0 ] [-SNL CSL ] [ 0 H ] [ SNR CSR ] [ 0 SSMIN ]. Arguments ========= F (input) DOUBLE PRECISION The (1,1) element of the 2-by-2 matrix. G (input) DOUBLE PRECISION The (1,2) element of the 2-by-2 matrix. H (input) DOUBLE PRECISION The (2,2) element of the 2-by-2 matrix. SSMIN (output) DOUBLE PRECISION abs(SSMIN) is the smaller singular value. SSMAX (output) DOUBLE PRECISION abs(SSMAX) is the larger singular value. SNL (output) DOUBLE PRECISION CSL (output) DOUBLE PRECISION The vector (CSL, SNL) is a unit left singular vector for the singular value abs(SSMAX). SNR (output) DOUBLE PRECISION CSR (output) DOUBLE PRECISION The vector (CSR, SNR) is a unit right singular vector for the singular value abs(SSMAX). Further Details =============== Any input parameter may be aliased with any output parameter. Barring over/underflow and assuming a guard digit in subtraction, all output quantities are correct to within a few units in the last place (ulps). In IEEE arithmetic, the code works correctly if one matrix element is infinite. Overflow will not occur unless the largest singular value itself overflows or is within a few ulps of overflow. (On machines with partial overflow, like the Cray, overflow may occur if the largest singular value is within a factor of 2 of overflow.) Underflow is harmless if underflow is gradual. Otherwise, results may correspond to a matrix modified by perturbations of size near the underflow threshold. ===================================================================== */ /* Table of constant values */ Treal c_b3 = 2.; Treal c_b4 = 1.; /* System generated locals */ Treal d__1; /* Local variables */ integer pmax; Treal temp; logical swap; Treal a, d__, l, m, r__, s, t, tsign, fa, ga, ha; Treal ft, gt, ht, mm; logical gasmal; Treal tt, clt, crt, slt, srt; /* Initialization added by Elias to get rid of compiler warnings. */ tsign = 0; ft = *f; fa = absMACRO(ft); ht = *h__; ha = absMACRO(*h__); /* PMAX points to the maximum absolute element of matrix PMAX = 1 if F largest in absolute values PMAX = 2 if G largest in absolute values PMAX = 3 if H largest in absolute values */ pmax = 1; swap = ha > fa; if (swap) { pmax = 3; temp = ft; ft = ht; ht = temp; temp = fa; fa = ha; ha = temp; /* Now FA .ge. HA */ } gt = *g; ga = absMACRO(gt); if (ga == 0.) { /* Diagonal matrix */ *ssmin = ha; *ssmax = fa; clt = 1.; crt = 1.; slt = 0.; srt = 0.; } else { gasmal = TRUE_; if (ga > fa) { pmax = 2; if (fa / ga < template_lapack_lamch("EPS", (Treal)0)) { /* Case of very large GA */ gasmal = FALSE_; *ssmax = ga; if (ha > 1.) { *ssmin = fa / (ga / ha); } else { *ssmin = fa / ga * ha; } clt = 1.; slt = ht / gt; srt = 1.; crt = ft / gt; } } if (gasmal) { /* Normal case */ d__ = fa - ha; if (d__ == fa) { /* Copes with infinite F or H */ l = 1.; } else { l = d__ / fa; } /* Note that 0 .le. L .le. 1 */ m = gt / ft; /* Note that abs(M) .le. 1/macheps */ t = 2. - l; /* Note that T .ge. 1 */ mm = m * m; tt = t * t; s = template_blas_sqrt(tt + mm); /* Note that 1 .le. S .le. 1 + 1/macheps */ if (l == 0.) { r__ = absMACRO(m); } else { r__ = template_blas_sqrt(l * l + mm); } /* Note that 0 .le. R .le. 1 + 1/macheps */ a = (s + r__) * .5; /* Note that 1 .le. A .le. 1 + abs(M) */ *ssmin = ha / a; *ssmax = fa * a; if (mm == 0.) { /* Note that M is very tiny */ if (l == 0.) { t = template_lapack_d_sign(&c_b3, &ft) * template_lapack_d_sign(&c_b4, >); } else { t = gt / template_lapack_d_sign(&d__, &ft) + m / t; } } else { t = (m / (s + t) + m / (r__ + l)) * (a + 1.); } l = template_blas_sqrt(t * t + 4.); crt = 2. / l; srt = t / l; clt = (crt + srt * m) / a; slt = ht / ft * srt / a; } } if (swap) { *csl = srt; *snl = crt; *csr = slt; *snr = clt; } else { *csl = clt; *snl = slt; *csr = crt; *snr = srt; } /* Correct signs of SSMAX and SSMIN */ if (pmax == 1) { tsign = template_lapack_d_sign(&c_b4, csr) * template_lapack_d_sign(&c_b4, csl) * template_lapack_d_sign(&c_b4, f); } if (pmax == 2) { tsign = template_lapack_d_sign(&c_b4, snr) * template_lapack_d_sign(&c_b4, csl) * template_lapack_d_sign(&c_b4, g); } if (pmax == 3) { tsign = template_lapack_d_sign(&c_b4, snr) * template_lapack_d_sign(&c_b4, snl) * template_lapack_d_sign(&c_b4, h__); } *ssmax = template_lapack_d_sign(ssmax, &tsign); d__1 = tsign * template_lapack_d_sign(&c_b4, f) * template_lapack_d_sign(&c_b4, h__); *ssmin = template_lapack_d_sign(ssmin, &d__1); return 0; /* End of DLASV2 */ } /* dlasv2_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_sygs2.h0000664000175000017500000002166512743400307023065 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_SYGS2_HEADER #define TEMPLATE_LAPACK_SYGS2_HEADER #include "template_lapack_common.h" template int template_lapack_sygs2(const integer *itype, const char *uplo, const integer *n, Treal *a, const integer *lda, Treal *b, const integer *ldb, integer * info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DSYGS2 reduces a real symmetric-definite generalized eigenproblem to standard form. If ITYPE = 1, the problem is A*x = lambda*B*x, and A is overwritten by inv(U')*A*inv(U) or inv(L)*A*inv(L') If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or B*A*x = lambda*x, and A is overwritten by U*A*U` or L'*A*L. B must have been previously factorized as U'*U or L*L' by DPOTRF. Arguments ========= ITYPE (input) INTEGER = 1: compute inv(U')*A*inv(U) or inv(L)*A*inv(L'); = 2 or 3: compute U*A*U' or L'*A*L. UPLO (input) CHARACTER Specifies whether the upper or lower triangular part of the symmetric matrix A is stored, and how B has been factorized. = 'U': Upper triangular = 'L': Lower triangular N (input) INTEGER The order of the matrices A and B. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = 'U', the leading n by n upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading n by n lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if INFO = 0, the transformed matrix, stored in the same format as A. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). B (input) DOUBLE PRECISION array, dimension (LDB,N) The triangular factor from the Cholesky factorization of B, as returned by DPOTRF. LDB (input) INTEGER The leading dimension of the array B. LDB >= max(1,N). INFO (output) INTEGER = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value. ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ Treal c_b6 = -1.; integer c__1 = 1; Treal c_b27 = 1.; /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2; Treal d__1; /* Local variables */ integer k; logical upper; Treal ct; Treal akk, bkk; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; /* Function Body */ *info = 0; upper = template_blas_lsame(uplo, "U"); if (*itype < 1 || *itype > 3) { *info = -1; } else if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -2; } else if (*n < 0) { *info = -3; } else if (*lda < maxMACRO(1,*n)) { *info = -5; } else if (*ldb < maxMACRO(1,*n)) { *info = -7; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("SYGS2 ", &i__1); return 0; } if (*itype == 1) { if (upper) { /* Compute inv(U')*A*inv(U) */ i__1 = *n; for (k = 1; k <= i__1; ++k) { /* Update the upper triangle of A(k:n,k:n) */ akk = a_ref(k, k); bkk = b_ref(k, k); /* Computing 2nd power */ d__1 = bkk; akk /= d__1 * d__1; a_ref(k, k) = akk; if (k < *n) { i__2 = *n - k; d__1 = 1. / bkk; template_blas_scal(&i__2, &d__1, &a_ref(k, k + 1), lda); ct = akk * -.5; i__2 = *n - k; template_blas_axpy(&i__2, &ct, &b_ref(k, k + 1), ldb, &a_ref(k, k + 1) , lda); i__2 = *n - k; template_blas_syr2(uplo, &i__2, &c_b6, &a_ref(k, k + 1), lda, &b_ref(k, k + 1), ldb, &a_ref(k + 1, k + 1), lda); i__2 = *n - k; template_blas_axpy(&i__2, &ct, &b_ref(k, k + 1), ldb, &a_ref(k, k + 1) , lda); i__2 = *n - k; template_blas_trsv(uplo, "Transpose", "Non-unit", &i__2, &b_ref(k + 1, k + 1), ldb, &a_ref(k, k + 1), lda); } /* L10: */ } } else { /* Compute inv(L)*A*inv(L') */ i__1 = *n; for (k = 1; k <= i__1; ++k) { /* Update the lower triangle of A(k:n,k:n) */ akk = a_ref(k, k); bkk = b_ref(k, k); /* Computing 2nd power */ d__1 = bkk; akk /= d__1 * d__1; a_ref(k, k) = akk; if (k < *n) { i__2 = *n - k; d__1 = 1. / bkk; template_blas_scal(&i__2, &d__1, &a_ref(k + 1, k), &c__1); ct = akk * -.5; i__2 = *n - k; template_blas_axpy(&i__2, &ct, &b_ref(k + 1, k), &c__1, &a_ref(k + 1, k), &c__1); i__2 = *n - k; template_blas_syr2(uplo, &i__2, &c_b6, &a_ref(k + 1, k), &c__1, &b_ref(k + 1, k), &c__1, &a_ref(k + 1, k + 1), lda); i__2 = *n - k; template_blas_axpy(&i__2, &ct, &b_ref(k + 1, k), &c__1, &a_ref(k + 1, k), &c__1); i__2 = *n - k; template_blas_trsv(uplo, "No transpose", "Non-unit", &i__2, &b_ref(k + 1, k + 1), ldb, &a_ref(k + 1, k), &c__1); } /* L20: */ } } } else { if (upper) { /* Compute U*A*U' */ i__1 = *n; for (k = 1; k <= i__1; ++k) { /* Update the upper triangle of A(1:k,1:k) */ akk = a_ref(k, k); bkk = b_ref(k, k); i__2 = k - 1; template_blas_trmv(uplo, "No transpose", "Non-unit", &i__2, &b[b_offset], ldb, &a_ref(1, k), &c__1); ct = akk * .5; i__2 = k - 1; template_blas_axpy(&i__2, &ct, &b_ref(1, k), &c__1, &a_ref(1, k), &c__1); i__2 = k - 1; template_blas_syr2(uplo, &i__2, &c_b27, &a_ref(1, k), &c__1, &b_ref(1, k), &c__1, &a[a_offset], lda); i__2 = k - 1; template_blas_axpy(&i__2, &ct, &b_ref(1, k), &c__1, &a_ref(1, k), &c__1); i__2 = k - 1; template_blas_scal(&i__2, &bkk, &a_ref(1, k), &c__1); /* Computing 2nd power */ d__1 = bkk; a_ref(k, k) = akk * (d__1 * d__1); /* L30: */ } } else { /* Compute L'*A*L */ i__1 = *n; for (k = 1; k <= i__1; ++k) { /* Update the lower triangle of A(1:k,1:k) */ akk = a_ref(k, k); bkk = b_ref(k, k); i__2 = k - 1; template_blas_trmv(uplo, "Transpose", "Non-unit", &i__2, &b[b_offset], ldb, &a_ref(k, 1), lda); ct = akk * .5; i__2 = k - 1; template_blas_axpy(&i__2, &ct, &b_ref(k, 1), ldb, &a_ref(k, 1), lda); i__2 = k - 1; template_blas_syr2(uplo, &i__2, &c_b27, &a_ref(k, 1), lda, &b_ref(k, 1), ldb, &a[a_offset], lda); i__2 = k - 1; template_blas_axpy(&i__2, &ct, &b_ref(k, 1), ldb, &a_ref(k, 1), lda); i__2 = k - 1; template_blas_scal(&i__2, &bkk, &a_ref(k, 1), lda); /* Computing 2nd power */ d__1 = bkk; a_ref(k, k) = akk * (d__1 * d__1); /* L40: */ } } } return 0; /* End of DSYGS2 */ } /* dsygs2_ */ #undef b_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_rscl.h0000664000175000017500000000774412743400307022763 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_RSCL_HEADER #define TEMPLATE_LAPACK_RSCL_HEADER template int template_lapack_rscl(const integer *n, const Treal *sa, Treal *sx, const integer *incx) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University September 30, 1994 Purpose ======= DRSCL multiplies an n-element real vector x by the real scalar 1/a. This is done without overflow or underflow as long as the final result x/a does not overflow or underflow. Arguments ========= N (input) INTEGER The number of components of the vector x. SA (input) DOUBLE PRECISION The scalar a which is used to divide each component of x. SA must be >= 0, or the subroutine will divide by zero. SX (input/output) DOUBLE PRECISION array, dimension (1+(N-1)*abs(INCX)) The n-element vector x. INCX (input) INTEGER The increment between successive values of the vector SX. > 0: SX(1) = X(1) and SX(1+(i-1)*INCX) = x(i), 1< i<= n ===================================================================== Quick return if possible Parameter adjustments */ Treal cden; logical done; Treal cnum, cden1, cnum1; Treal bignum, smlnum, mul; --sx; /* Function Body */ if (*n <= 0) { return 0; } /* Get machine parameters */ smlnum = template_lapack_lamch("S", (Treal)0); bignum = 1. / smlnum; template_lapack_labad(&smlnum, &bignum); /* Initialize the denominator to SA and the numerator to 1. */ cden = *sa; cnum = 1.; L10: cden1 = cden * smlnum; cnum1 = cnum / bignum; if (absMACRO(cden1) > absMACRO(cnum) && cnum != 0.) { /* Pre-multiply X by SMLNUM if CDEN is large compared to CNUM. */ mul = smlnum; done = FALSE_; cden = cden1; } else if (absMACRO(cnum1) > absMACRO(cden)) { /* Pre-multiply X by BIGNUM if CDEN is small compared to CNUM. */ mul = bignum; done = FALSE_; cnum = cnum1; } else { /* Multiply X by CNUM / CDEN and return. */ mul = cnum / cden; done = TRUE_; } /* Scale the vector X by MUL */ dscal_(n, &mul, &sx[1], incx); if (! done) { goto L10; } return 0; /* End of DRSCL */ } /* drscl_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/Makefile.in0000664000175000017500000010545312743400352020502 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : noinst_PROGRAMS = templatelapacktest$(EXEEXT) \ templatelapacktest_threaded$(EXEEXT) subdir = source/matrix/template_lapack/lapack ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libtemplatelapack_a_AR = $(AR) $(ARFLAGS) libtemplatelapack_a_LIBADD = am_libtemplatelapack_a_OBJECTS = template_lapack_common.$(OBJEXT) \ template_lapack_test.$(OBJEXT) libtemplatelapack_a_OBJECTS = $(am_libtemplatelapack_a_OBJECTS) PROGRAMS = $(noinst_PROGRAMS) am_templatelapacktest_OBJECTS = template_lapack_test.$(OBJEXT) templatelapacktest_OBJECTS = $(am_templatelapacktest_OBJECTS) templatelapacktest_DEPENDENCIES = libtemplatelapack.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a am_templatelapacktest_threaded_OBJECTS = \ template_lapack_test_threaded.$(OBJEXT) templatelapacktest_threaded_OBJECTS = \ $(am_templatelapacktest_threaded_OBJECTS) templatelapacktest_threaded_DEPENDENCIES = libtemplatelapack.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libtemplatelapack_a_SOURCES) $(templatelapacktest_SOURCES) \ $(templatelapacktest_threaded_SOURCES) DIST_SOURCES = $(libtemplatelapack_a_SOURCES) \ $(templatelapacktest_SOURCES) \ $(templatelapacktest_threaded_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ $(top_srcdir)/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libtemplatelapack.a templatelapacktest_SOURCES = template_lapack_test.cc templatelapacktest_LDADD = \ libtemplatelapack.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a templatelapacktest_threaded_SOURCES = template_lapack_test_threaded.cc templatelapacktest_threaded_LDADD = \ libtemplatelapack.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a libtemplatelapack_a_SOURCES = \ template_lapack_common.cc \ template_lapack_common.h \ template_lapack_geqr2.h \ template_lapack_geqrf.h \ template_lapack_gesv.h \ template_lapack_getf2.h \ template_lapack_getrf.h \ template_lapack_getrs.h \ template_lapack_ggbak.h \ template_lapack_ggbal.h \ template_lapack_ggev.h \ template_lapack_gghrd.h \ template_lapack_hgeqz.h \ template_lapack_labad.h \ template_lapack_lacon.h \ template_lapack_lacpy.h \ template_lapack_ladiv.h \ template_lapack_lae2.h \ template_lapack_laebz.h \ template_lapack_laev2.h \ template_lapack_lag2.h \ template_lapack_lagtf.h \ template_lapack_lagts.h \ template_lapack_laln2.h \ template_lapack_lamch.h \ template_lapack_lange.h \ template_lapack_lanhs.h \ template_lapack_lanst.h \ template_lapack_lansy.h \ template_lapack_lapy2.h \ template_lapack_lapy3.h \ template_lapack_larfb.h \ template_lapack_larfg.h \ template_lapack_larf.h \ template_lapack_larft.h \ template_lapack_larnv.h \ template_lapack_lartg.h \ template_lapack_laruv.h \ template_lapack_lascl.h \ template_lapack_laset.h \ template_lapack_lasr.h \ template_lapack_lasrt.h \ template_lapack_lasv2.h \ template_lapack_laswp.h \ template_lapack_latrd.h \ template_lapack_latrs.h \ template_lapack_org2l.h \ template_lapack_org2r.h \ template_lapack_orgql.h \ template_lapack_orgqr.h \ template_lapack_orgtr.h \ template_lapack_orm2r.h \ template_lapack_ormqr.h \ template_lapack_pocon.h \ template_lapack_potf2.h \ template_lapack_potrf.h \ template_lapack_pptrf.h \ template_lapack_rscl.h \ template_lapack_spgst.h \ template_lapack_stebz.h \ template_lapack_stein.h \ template_lapack_steqr.h \ template_lapack_sterf.h \ template_lapack_stevx.h \ template_lapack_larra.h \ template_lapack_larrb.h \ template_lapack_larrc.h \ template_lapack_larrd.h \ template_lapack_larre.h \ template_lapack_larrf.h \ template_lapack_larrj.h \ template_lapack_larrk.h \ template_lapack_larrr.h \ template_lapack_larrv.h \ template_lapack_lar1v.h \ template_lapack_laneg.h \ template_lapack_isnan.h \ template_lapack_laisnan.h \ template_lapack_lasq2.h \ template_lapack_lasq3.h \ template_lapack_lasq4.h \ template_lapack_lasq5.h \ template_lapack_lasq6.h \ template_lapack_stemr.h \ template_lapack_stevr.h \ template_lapack_syev.h \ template_lapack_sygs2.h \ template_lapack_sygst.h \ template_lapack_sygv.h \ template_lapack_sytd2.h \ template_lapack_sytrd.h \ template_lapack_test.cc \ template_lapack_tgevc.h \ template_lapack_tptri.h \ template_lapack_trti2.h \ template_lapack_trtri.h EXTRA_DIST = \ test.sh AM_CPPFLAGS = \ -I$(top_srcdir)/source/matrix/template_lapack/blas TESTS_ENVIRONMENT = top_builddir=$(top_builddir) top_srcdir=$(top_srcdir) TESTS = \ test.sh all: all-am .SUFFIXES: .SUFFIXES: .cc .log .o .obj .test .test$(EXEEXT) .trs $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/matrix/template_lapack/lapack/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/matrix/template_lapack/lapack/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libtemplatelapack.a: $(libtemplatelapack_a_OBJECTS) $(libtemplatelapack_a_DEPENDENCIES) $(EXTRA_libtemplatelapack_a_DEPENDENCIES) $(AM_V_at)-rm -f libtemplatelapack.a $(AM_V_AR)$(libtemplatelapack_a_AR) libtemplatelapack.a $(libtemplatelapack_a_OBJECTS) $(libtemplatelapack_a_LIBADD) $(AM_V_at)$(RANLIB) libtemplatelapack.a clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) templatelapacktest$(EXEEXT): $(templatelapacktest_OBJECTS) $(templatelapacktest_DEPENDENCIES) $(EXTRA_templatelapacktest_DEPENDENCIES) @rm -f templatelapacktest$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(templatelapacktest_OBJECTS) $(templatelapacktest_LDADD) $(LIBS) templatelapacktest_threaded$(EXEEXT): $(templatelapacktest_threaded_OBJECTS) $(templatelapacktest_threaded_DEPENDENCIES) $(EXTRA_templatelapacktest_threaded_DEPENDENCIES) @rm -f templatelapacktest_threaded$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(templatelapacktest_threaded_OBJECTS) $(templatelapacktest_threaded_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/template_lapack_common.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/template_lapack_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/template_lapack_test_threaded.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? test.sh.log: test.sh @p='test.sh'; \ b='test.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(LIBRARIES) $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES clean-noinstPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ clean-generic clean-noinstLIBRARIES clean-noinstPROGRAMS \ cscopelist-am ctags ctags-am distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \ uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_syev.h0000664000175000017500000002110312743400307022767 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_SYEV_HEADER #define TEMPLATE_LAPACK_SYEV_HEADER template int template_lapack_syev(const char *jobz, const char *uplo, const integer *n, Treal *a, const integer *lda, Treal *w, Treal *work, const integer *lwork, integer *info) { //printf("entering template_lapack_syev\n"); /* -- LAPACK driver routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DSYEV computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A. Arguments ========= JOBZ (input) CHARACTER*1 = 'N': Compute eigenvalues only; = 'V': Compute eigenvalues and eigenvectors. UPLO (input) CHARACTER*1 = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. N (input) INTEGER The order of the matrix A. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA, N) On entry, the symmetric matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A. On exit, if JOBZ = 'V', then if INFO = 0, A contains the orthonormal eigenvectors of the matrix A. If JOBZ = 'N', then on exit the lower triangle (if UPLO='L') or the upper triangle (if UPLO='U') of A, including the diagonal, is destroyed. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). W (output) DOUBLE PRECISION array, dimension (N) If INFO = 0, the eigenvalues in ascending order. WORK (workspace/output) DOUBLE PRECISION array, dimension (LWORK) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The length of the array WORK. LWORK >= max(1,3*N-1). For optimal efficiency, LWORK >= (NB+2)*N, where NB is the blocksize for DSYTRD returned by ILAENV. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, the algorithm failed to converge; i off-diagonal elements of an intermediate tridiagonal form did not converge to zero. ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; integer c__0 = 0; Treal c_b17 = 1.; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2; Treal d__1; /* Local variables */ integer inde; Treal anrm; integer imax; Treal rmin, rmax; Treal sigma; integer iinfo; logical lower, wantz; integer nb; integer iscale; Treal safmin; Treal bignum; integer indtau; integer indwrk; integer llwork; Treal smlnum; integer lwkopt; logical lquery; Treal eps; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --w; --work; /* Initialization added by Elias to get rid of compiler warnings. */ lwkopt = 0; /* Function Body */ wantz = template_blas_lsame(jobz, "V"); lower = template_blas_lsame(uplo, "L"); lquery = *lwork == -1; *info = 0; if (! (wantz || template_blas_lsame(jobz, "N"))) { *info = -1; } else if (! (lower || template_blas_lsame(uplo, "U"))) { *info = -2; } else if (*n < 0) { *info = -3; } else if (*lda < maxMACRO(1,*n)) { *info = -5; } else /* if(complicated condition) */ { /* Computing MAX */ i__1 = 1, i__2 = *n * 3 - 1; if (*lwork < maxMACRO(i__1,i__2) && ! lquery) { *info = -8; } } if (*info == 0) { nb = template_lapack_ilaenv(&c__1, "DSYTRD", uplo, n, &c_n1, &c_n1, &c_n1, (ftnlen)6, (ftnlen)1); /* Computing MAX */ i__1 = 1, i__2 = (nb + 2) * *n; lwkopt = maxMACRO(i__1,i__2); work[1] = (Treal) lwkopt; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("SYEV ", &i__1); return 0; } else if (lquery) { return 0; } /* Quick return if possible */ if (*n == 0) { work[1] = 1.; return 0; } if (*n == 1) { w[1] = a_ref(1, 1); work[1] = 3.; if (wantz) { a_ref(1, 1) = 1.; } return 0; } /* Get machine constants. */ //printf("before getting machine constants.\n"); //printf("calling template_lapack_lamch for Safe minimum\n"); safmin = template_lapack_lamch("Safe minimum", (Treal)0); //printf("template_lapack_lamch for Safe minimum returned\n"); eps = template_lapack_lamch("Precision", (Treal)0); //printf("after getting machine constants.\n"); smlnum = safmin / eps; bignum = 1. / smlnum; rmin = template_blas_sqrt(smlnum); rmax = template_blas_sqrt(bignum); /* Scale matrix to allowable range, if necessary. */ anrm = template_lapack_lansy("M", uplo, n, &a[a_offset], lda, &work[1]); iscale = 0; if (anrm > 0. && anrm < rmin) { iscale = 1; sigma = rmin / anrm; } else if (anrm > rmax) { iscale = 1; sigma = rmax / anrm; } if (iscale == 1) { template_lapack_lascl(uplo, &c__0, &c__0, &c_b17, &sigma, n, n, &a[a_offset], lda, info); } /* Call DSYTRD to reduce symmetric matrix to tridiagonal form. */ inde = 1; indtau = inde + *n; indwrk = indtau + *n; llwork = *lwork - indwrk + 1; template_lapack_sytrd(uplo, n, &a[a_offset], lda, &w[1], &work[inde], &work[indtau], & work[indwrk], &llwork, &iinfo); /* For eigenvalues only, call DSTERF. For eigenvectors, first call DORGTR to generate the orthogonal matrix, then call DSTEQR. */ if (! wantz) { template_lapack_sterf(n, &w[1], &work[inde], info); } else { template_lapack_orgtr(uplo, n, &a[a_offset], lda, &work[indtau], &work[indwrk], & llwork, &iinfo); template_lapack_steqr(jobz, n, &w[1], &work[inde], &a[a_offset], lda, &work[indtau], info); } /* If matrix was scaled, then rescale eigenvalues appropriately. */ if (iscale == 1) { if (*info == 0) { imax = *n; } else { imax = *info - 1; } d__1 = 1. / sigma; template_blas_scal(&imax, &d__1, &w[1], &c__1); } /* Set WORK(1) to optimal workspace size. */ work[1] = (Treal) lwkopt; return 0; /* End of DSYEV */ } /* dsyev_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_orgtr.h0000664000175000017500000001662512743400307023153 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_ORGTR_HEADER #define TEMPLATE_LAPACK_ORGTR_HEADER template int template_lapack_orgtr(const char *uplo, const integer *n, Treal *a, const integer * lda, const Treal *tau, Treal *work, const integer *lwork, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DORGTR generates a real orthogonal matrix Q which is defined as the product of n-1 elementary reflectors of order N, as returned by DSYTRD: if UPLO = 'U', Q = H(n-1) . . . H(2) H(1), if UPLO = 'L', Q = H(1) H(2) . . . H(n-1). Arguments ========= UPLO (input) CHARACTER*1 = 'U': Upper triangle of A contains elementary reflectors from DSYTRD; = 'L': Lower triangle of A contains elementary reflectors from DSYTRD. N (input) INTEGER The order of the matrix Q. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the vectors which define the elementary reflectors, as returned by DSYTRD. On exit, the N-by-N orthogonal matrix Q. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). TAU (input) DOUBLE PRECISION array, dimension (N-1) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by DSYTRD. WORK (workspace/output) DOUBLE PRECISION array, dimension (LWORK) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The dimension of the array WORK. LWORK >= max(1,N-1). For optimum performance LWORK >= (N-1)*NB, where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value ===================================================================== Test the input arguments Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3; /* Local variables */ integer i__, j; integer iinfo; logical upper; integer nb; integer lwkopt; logical lquery; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --tau; --work; /* Initialization added by Elias to get rid of compiler warnings. */ lwkopt = 0; /* Function Body */ *info = 0; lquery = *lwork == -1; upper = template_blas_lsame(uplo, "U"); if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -1; } else if (*n < 0) { *info = -2; } else if (*lda < maxMACRO(1,*n)) { *info = -4; } else /* if(complicated condition) */ { /* Computing MAX */ i__1 = 1, i__2 = *n - 1; if (*lwork < maxMACRO(i__1,i__2) && ! lquery) { *info = -7; } } if (*info == 0) { if (upper) { i__1 = *n - 1; i__2 = *n - 1; i__3 = *n - 1; nb = template_lapack_ilaenv(&c__1, "DORGQL", " ", &i__1, &i__2, &i__3, &c_n1, ( ftnlen)6, (ftnlen)1); } else { i__1 = *n - 1; i__2 = *n - 1; i__3 = *n - 1; nb = template_lapack_ilaenv(&c__1, "DORGQR", " ", &i__1, &i__2, &i__3, &c_n1, ( ftnlen)6, (ftnlen)1); } /* Computing MAX */ i__1 = 1, i__2 = *n - 1; lwkopt = maxMACRO(i__1,i__2) * nb; work[1] = (Treal) lwkopt; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("ORGTR ", &i__1); return 0; } else if (lquery) { return 0; } /* Quick return if possible */ if (*n == 0) { work[1] = 1.; return 0; } if (upper) { /* Q was determined by a call to DSYTRD with UPLO = 'U' Shift the vectors which define the elementary reflectors one column to the left, and set the last row and column of Q to those of the unit matrix */ i__1 = *n - 1; for (j = 1; j <= i__1; ++j) { i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { a_ref(i__, j) = a_ref(i__, j + 1); /* L10: */ } a_ref(*n, j) = 0.; /* L20: */ } i__1 = *n - 1; for (i__ = 1; i__ <= i__1; ++i__) { a_ref(i__, *n) = 0.; /* L30: */ } a_ref(*n, *n) = 1.; /* Generate Q(1:n-1,1:n-1) */ i__1 = *n - 1; i__2 = *n - 1; i__3 = *n - 1; template_lapack_orgql(&i__1, &i__2, &i__3, &a[a_offset], lda, &tau[1], &work[1], lwork, &iinfo); } else { /* Q was determined by a call to DSYTRD with UPLO = 'L'. Shift the vectors which define the elementary reflectors one column to the right, and set the first row and column of Q to those of the unit matrix */ for (j = *n; j >= 2; --j) { a_ref(1, j) = 0.; i__1 = *n; for (i__ = j + 1; i__ <= i__1; ++i__) { a_ref(i__, j) = a_ref(i__, j - 1); /* L40: */ } /* L50: */ } a_ref(1, 1) = 1.; i__1 = *n; for (i__ = 2; i__ <= i__1; ++i__) { a_ref(i__, 1) = 0.; /* L60: */ } if (*n > 1) { /* Generate Q(2:n,2:n) */ i__1 = *n - 1; i__2 = *n - 1; i__3 = *n - 1; template_lapack_orgqr( &i__1, &i__2, &i__3, &a_ref(2, 2), lda, &tau[1], &work[1], lwork, &iinfo ); } } work[1] = (Treal) lwkopt; return 0; /* End of DORGTR */ } /* dorgtr_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lasq2.h0000664000175000017500000004005412743400307023031 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LASQ2_HEADER #define TEMPLATE_LAPACK_LASQ2_HEADER #include "template_lapack_lasq3.h" template int template_lapack_lasq2(integer *n, Treal *z__, integer *info) { /* System generated locals */ integer i__1, i__2, i__3; Treal d__1, d__2; /* Local variables */ Treal d__, e, g; integer k; Treal s, t; integer i0, i4, n0; Treal dn; integer pp; Treal dn1, dn2, dee, eps, tau, tol; integer ipn4; Treal tol2; logical ieee; integer nbig; Treal dmin__, emin, emax; integer kmin, ndiv, iter; Treal qmin, temp, qmax, zmax; integer splt; Treal dmin1, dmin2; integer nfail; Treal desig, trace, sigma; integer iinfo, ttype; Treal deemin; integer iwhila, iwhilb; Treal oldemn, safmin; /* -- LAPACK routine (version 3.2) -- */ /* -- Contributed by Osni Marques of the Lawrence Berkeley National -- */ /* -- Laboratory and Beresford Parlett of the Univ. of California at -- */ /* -- Berkeley -- */ /* -- November 2008 -- */ /* -- LAPACK is a software package provided by Univ. of Tennessee, -- */ /* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* DLASQ2 computes all the eigenvalues of the symmetric positive */ /* definite tridiagonal matrix associated with the qd array Z to high */ /* relative accuracy are computed to high relative accuracy, in the */ /* absence of denormalization, underflow and overflow. */ /* To see the relation of Z to the tridiagonal matrix, let L be a */ /* unit lower bidiagonal matrix with subdiagonals Z(2,4,6,,..) and */ /* let U be an upper bidiagonal matrix with 1's above and diagonal */ /* Z(1,3,5,,..). The tridiagonal is L*U or, if you prefer, the */ /* symmetric tridiagonal to which it is similar. */ /* Note : DLASQ2 defines a logical variable, IEEE, which is true */ /* on machines which follow ieee-754 floating-point standard in their */ /* handling of infinities and NaNs, and false otherwise. This variable */ /* is passed to DLASQ3. */ /* Arguments */ /* ========= */ /* N (input) INTEGER */ /* The number of rows and columns in the matrix. N >= 0. */ /* Z (input/output) DOUBLE PRECISION array, dimension ( 4*N ) */ /* On entry Z holds the qd array. On exit, entries 1 to N hold */ /* the eigenvalues in decreasing order, Z( 2*N+1 ) holds the */ /* trace, and Z( 2*N+2 ) holds the sum of the eigenvalues. If */ /* N > 2, then Z( 2*N+3 ) holds the iteration count, Z( 2*N+4 ) */ /* holds NDIVS/NIN^2, and Z( 2*N+5 ) holds the percentage of */ /* shifts that failed. */ /* INFO (output) INTEGER */ /* = 0: successful exit */ /* < 0: if the i-th argument is a scalar and had an illegal */ /* value, then INFO = -i, if the i-th argument is an */ /* array and the j-entry had an illegal value, then */ /* INFO = -(i*100+j) */ /* > 0: the algorithm failed */ /* = 1, a split was marked by a positive value in E */ /* = 2, current block of Z not diagonalized after 30*N */ /* iterations (in inner while loop) */ /* = 3, termination criterion of outer while loop not met */ /* (program created more than N unreduced blocks) */ /* Further Details */ /* =============== */ /* Local Variables: I0:N0 defines a current unreduced segment of Z. */ /* The shifts are accumulated in SIGMA. Iteration count is in ITER. */ /* Ping-pong is controlled by PP (alternates between 0 and 1). */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. External Subroutines .. */ /* .. */ /* .. External Functions .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Test the input arguments. */ /* (in case DLASQ2 is not called by DLASQ1) */ /* Table of constant values */ integer c__1 = 1; integer c__2 = 2; integer c__10 = 10; integer c__3 = 3; integer c__4 = 4; integer c__11 = 11; /* Parameter adjustments */ --z__; /* Function Body */ *info = 0; eps = template_lapack_lamch("Precision", (Treal)0); safmin = template_lapack_lamch("Safe minimum", (Treal)0); tol = eps * 100.; /* Computing 2nd power */ d__1 = tol; tol2 = d__1 * d__1; if (*n < 0) { *info = -1; template_blas_erbla("DLASQ2", &c__1); return 0; } else if (*n == 0) { return 0; } else if (*n == 1) { /* 1-by-1 case. */ if (z__[1] < 0.) { *info = -201; template_blas_erbla("DLASQ2", &c__2); } return 0; } else if (*n == 2) { /* 2-by-2 case. */ if (z__[2] < 0. || z__[3] < 0.) { *info = -2; template_blas_erbla("DLASQ2", &c__2); return 0; } else if (z__[3] > z__[1]) { d__ = z__[3]; z__[3] = z__[1]; z__[1] = d__; } z__[5] = z__[1] + z__[2] + z__[3]; if (z__[2] > z__[3] * tol2) { t = (z__[1] - z__[3] + z__[2]) * .5; s = z__[3] * (z__[2] / t); if (s <= t) { s = z__[3] * (z__[2] / (t * (template_blas_sqrt(s / t + 1.) + 1.))); } else { s = z__[3] * (z__[2] / (t + template_blas_sqrt(t) * template_blas_sqrt(t + s))); } t = z__[1] + (s + z__[2]); z__[3] *= z__[1] / t; z__[1] = t; } z__[2] = z__[3]; z__[6] = z__[2] + z__[1]; return 0; } /* Check for negative data and compute sums of q's and e's. */ z__[*n * 2] = 0.; emin = z__[2]; qmax = 0.; zmax = 0.; d__ = 0.; e = 0.; i__1 = ( *n - 1 ) << 1; for (k = 1; k <= i__1; k += 2) { if (z__[k] < 0.) { *info = -(k + 200); template_blas_erbla("DLASQ2", &c__2); return 0; } else if (z__[k + 1] < 0.) { *info = -(k + 201); template_blas_erbla("DLASQ2", &c__2); return 0; } d__ += z__[k]; e += z__[k + 1]; /* Computing MAX */ d__1 = qmax, d__2 = z__[k]; qmax = maxMACRO(d__1,d__2); /* Computing MIN */ d__1 = emin, d__2 = z__[k + 1]; emin = minMACRO(d__1,d__2); /* Computing MAX */ d__1 = maxMACRO(qmax,zmax), d__2 = z__[k + 1]; zmax = maxMACRO(d__1,d__2); /* L10: */ } if (z__[(*n << 1) - 1] < 0.) { *info = -((*n << 1) + 199); template_blas_erbla("DLASQ2", &c__2); return 0; } d__ += z__[(*n << 1) - 1]; /* Computing MAX */ d__1 = qmax, d__2 = z__[(*n << 1) - 1]; qmax = maxMACRO(d__1,d__2); zmax = maxMACRO(qmax,zmax); /* Check for diagonality. */ if (e == 0.) { i__1 = *n; for (k = 2; k <= i__1; ++k) { z__[k] = z__[(k << 1) - 1]; /* L20: */ } template_lapack_lasrt("D", n, &z__[1], &iinfo); z__[(*n << 1) - 1] = d__; return 0; } trace = d__ + e; /* Check for zero data. */ if (trace == 0.) { z__[(*n << 1) - 1] = 0.; return 0; } /* Check whether the machine is IEEE conformable. */ ieee = template_lapack_ilaenv(&c__10, "DLASQ2", "N", &c__1, &c__2, &c__3, &c__4, (ftnlen)6, (ftnlen)1) == 1 && template_lapack_ilaenv(&c__11, "DLASQ2", "N", &c__1, &c__2, &c__3, &c__4, (ftnlen)6, (ftnlen)1) == 1; /* Rearrange data for locality: Z=(q1,qq1,e1,ee1,q2,qq2,e2,ee2,...). */ for (k = *n << 1; k >= 2; k += -2) { z__[k * 2] = 0.; z__[(k << 1) - 1] = z__[k]; z__[(k << 1) - 2] = 0.; z__[(k << 1) - 3] = z__[k - 1]; /* L30: */ } i0 = 1; n0 = *n; /* Reverse the qd-array, if warranted. */ if (z__[(i0 << 2) - 3] * 1.5 < z__[(n0 << 2) - 3]) { ipn4 = ( i0 + n0 ) << 2; i__1 = ( i0 + n0 - 1 ) << 1; for (i4 = i0 << 2; i4 <= i__1; i4 += 4) { temp = z__[i4 - 3]; z__[i4 - 3] = z__[ipn4 - i4 - 3]; z__[ipn4 - i4 - 3] = temp; temp = z__[i4 - 1]; z__[i4 - 1] = z__[ipn4 - i4 - 5]; z__[ipn4 - i4 - 5] = temp; /* L40: */ } } /* Initial split checking via dqd and Li's test. */ pp = 0; for (k = 1; k <= 2; ++k) { d__ = z__[(n0 << 2) + pp - 3]; i__1 = (i0 << 2) + pp; for (i4 = ( ( n0 - 1 ) << 2) + pp; i4 >= i__1; i4 += -4) { if (z__[i4 - 1] <= tol2 * d__) { z__[i4 - 1] = -0.; d__ = z__[i4 - 3]; } else { d__ = z__[i4 - 3] * (d__ / (d__ + z__[i4 - 1])); } /* L50: */ } /* dqd maps Z to ZZ plus Li's test. */ emin = z__[(i0 << 2) + pp + 1]; d__ = z__[(i0 << 2) + pp - 3]; i__1 = ( ( n0 - 1 ) << 2) + pp; for (i4 = (i0 << 2) + pp; i4 <= i__1; i4 += 4) { z__[i4 - (pp << 1) - 2] = d__ + z__[i4 - 1]; if (z__[i4 - 1] <= tol2 * d__) { z__[i4 - 1] = -0.; z__[i4 - (pp << 1) - 2] = d__; z__[i4 - (pp << 1)] = 0.; d__ = z__[i4 + 1]; } else if (safmin * z__[i4 + 1] < z__[i4 - (pp << 1) - 2] && safmin * z__[i4 - (pp << 1) - 2] < z__[i4 + 1]) { temp = z__[i4 + 1] / z__[i4 - (pp << 1) - 2]; z__[i4 - (pp << 1)] = z__[i4 - 1] * temp; d__ *= temp; } else { z__[i4 - (pp << 1)] = z__[i4 + 1] * (z__[i4 - 1] / z__[i4 - ( pp << 1) - 2]); d__ = z__[i4 + 1] * (d__ / z__[i4 - (pp << 1) - 2]); } /* Computing MIN */ d__1 = emin, d__2 = z__[i4 - (pp << 1)]; emin = minMACRO(d__1,d__2); /* L60: */ } z__[(n0 << 2) - pp - 2] = d__; /* Now find qmax. */ qmax = z__[(i0 << 2) - pp - 2]; i__1 = (n0 << 2) - pp - 2; for (i4 = (i0 << 2) - pp + 2; i4 <= i__1; i4 += 4) { /* Computing MAX */ d__1 = qmax, d__2 = z__[i4]; qmax = maxMACRO(d__1,d__2); /* L70: */ } /* Prepare for the next iteration on K. */ pp = 1 - pp; /* L80: */ } /* Initialise variables to pass to DLASQ3. */ ttype = 0; dmin1 = 0.; dmin2 = 0.; dn = 0.; dn1 = 0.; dn2 = 0.; g = 0.; tau = 0.; iter = 2; nfail = 0; ndiv = ( n0 - i0 ) << 1; i__1 = *n + 1; for (iwhila = 1; iwhila <= i__1; ++iwhila) { if (n0 < 1) { goto L170; } /* While array unfinished do */ /* E(N0) holds the value of SIGMA when submatrix in I0:N0 */ /* splits from the rest of the array, but is negated. */ desig = 0.; if (n0 == *n) { sigma = 0.; } else { sigma = -z__[(n0 << 2) - 1]; } if (sigma < 0.) { *info = 1; return 0; } /* Find last unreduced submatrix's top index I0, find QMAX and */ /* EMIN. Find Gershgorin-type bound if Q's much greater than E's. */ emax = 0.; if (n0 > i0) { emin = (d__1 = z__[(n0 << 2) - 5], absMACRO(d__1)); } else { emin = 0.; } qmin = z__[(n0 << 2) - 3]; qmax = qmin; for (i4 = n0 << 2; i4 >= 8; i4 += -4) { if (z__[i4 - 5] <= 0.) { goto L100; } if (qmin >= emax * 4.) { /* Computing MIN */ d__1 = qmin, d__2 = z__[i4 - 3]; qmin = minMACRO(d__1,d__2); /* Computing MAX */ d__1 = emax, d__2 = z__[i4 - 5]; emax = maxMACRO(d__1,d__2); } /* Computing MAX */ d__1 = qmax, d__2 = z__[i4 - 7] + z__[i4 - 5]; qmax = maxMACRO(d__1,d__2); /* Computing MIN */ d__1 = emin, d__2 = z__[i4 - 5]; emin = minMACRO(d__1,d__2); /* L90: */ } i4 = 4; L100: i0 = i4 / 4; pp = 0; if (n0 - i0 > 1) { dee = z__[(i0 << 2) - 3]; deemin = dee; kmin = i0; i__2 = (n0 << 2) - 3; for (i4 = (i0 << 2) + 1; i4 <= i__2; i4 += 4) { dee = z__[i4] * (dee / (dee + z__[i4 - 2])); if (dee <= deemin) { deemin = dee; kmin = (i4 + 3) / 4; } /* L110: */ } if ( ( kmin - i0 ) << 1 < n0 - kmin && deemin <= z__[(n0 << 2) - 3] * .5) { ipn4 = ( i0 + n0 ) << 2; pp = 2; i__2 = ( i0 + n0 - 1 ) << 1; for (i4 = i0 << 2; i4 <= i__2; i4 += 4) { temp = z__[i4 - 3]; z__[i4 - 3] = z__[ipn4 - i4 - 3]; z__[ipn4 - i4 - 3] = temp; temp = z__[i4 - 2]; z__[i4 - 2] = z__[ipn4 - i4 - 2]; z__[ipn4 - i4 - 2] = temp; temp = z__[i4 - 1]; z__[i4 - 1] = z__[ipn4 - i4 - 5]; z__[ipn4 - i4 - 5] = temp; temp = z__[i4]; z__[i4] = z__[ipn4 - i4 - 4]; z__[ipn4 - i4 - 4] = temp; /* L120: */ } } } /* Put -(initial shift) into DMIN. */ /* Computing MAX */ d__1 = 0., d__2 = qmin - template_blas_sqrt(qmin) * 2. * template_blas_sqrt(emax); dmin__ = -maxMACRO(d__1,d__2); /* Now I0:N0 is unreduced. */ /* PP = 0 for ping, PP = 1 for pong. */ /* PP = 2 indicates that flipping was applied to the Z array and */ /* and that the tests for deflation upon entry in DLASQ3 */ /* should not be performed. */ nbig = (n0 - i0 + 1) * 30; i__2 = nbig; for (iwhilb = 1; iwhilb <= i__2; ++iwhilb) { if (i0 > n0) { goto L150; } /* While submatrix unfinished take a good dqds step. */ template_lapack_lasq3(&i0, &n0, &z__[1], &pp, &dmin__, &sigma, &desig, &qmax, & nfail, &iter, &ndiv, &ieee, &ttype, &dmin1, &dmin2, &dn, & dn1, &dn2, &g, &tau); pp = 1 - pp; /* When EMIN is very small check for splits. */ if (pp == 0 && n0 - i0 >= 3) { if (z__[n0 * 4] <= tol2 * qmax || z__[(n0 << 2) - 1] <= tol2 * sigma) { splt = i0 - 1; qmax = z__[(i0 << 2) - 3]; emin = z__[(i0 << 2) - 1]; oldemn = z__[i0 * 4]; i__3 = ( n0 - 3 ) << 2; for (i4 = i0 << 2; i4 <= i__3; i4 += 4) { if (z__[i4] <= tol2 * z__[i4 - 3] || z__[i4 - 1] <= tol2 * sigma) { z__[i4 - 1] = -sigma; splt = i4 / 4; qmax = 0.; emin = z__[i4 + 3]; oldemn = z__[i4 + 4]; } else { /* Computing MAX */ d__1 = qmax, d__2 = z__[i4 + 1]; qmax = maxMACRO(d__1,d__2); /* Computing MIN */ d__1 = emin, d__2 = z__[i4 - 1]; emin = minMACRO(d__1,d__2); /* Computing MIN */ d__1 = oldemn, d__2 = z__[i4]; oldemn = minMACRO(d__1,d__2); } /* L130: */ } z__[(n0 << 2) - 1] = emin; z__[n0 * 4] = oldemn; i0 = splt + 1; } } /* L140: */ } *info = 2; return 0; /* end IWHILB */ L150: /* L160: */ ; } *info = 3; return 0; /* end IWHILA */ L170: /* Move q's to the front. */ i__1 = *n; for (k = 2; k <= i__1; ++k) { z__[k] = z__[(k << 2) - 3]; /* L180: */ } /* Sort and compute sum of eigenvalues. */ template_lapack_lasrt("D", n, &z__[1], &iinfo); e = 0.; for (k = *n; k >= 1; --k) { e += z__[k]; /* L190: */ } /* Store trace, sum(eigenvalues) and information on performance. */ z__[(*n << 1) + 1] = trace; z__[(*n << 1) + 2] = e; z__[(*n << 1) + 3] = (Treal) iter; /* Computing 2nd power */ i__1 = *n; z__[(*n << 1) + 4] = (Treal) ndiv / (Treal) (i__1 * i__1); z__[(*n << 1) + 5] = nfail * 100. / (Treal) iter; return 0; /* End of DLASQ2 */ } /* dlasq2_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_org2l.h0000664000175000017500000001236112743400307023034 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_ORG2L_HEADER #define TEMPLATE_LAPACK_ORG2L_HEADER template int template_lapack_org2l(const integer *m, const integer *n, const integer *k, Treal * a, const integer *lda, const Treal *tau, Treal *work, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DORG2L generates an m by n real matrix Q with orthonormal columns, which is defined as the last n columns of a product of k elementary reflectors of order m Q = H(k) . . . H(2) H(1) as returned by DGEQLF. Arguments ========= M (input) INTEGER The number of rows of the matrix Q. M >= 0. N (input) INTEGER The number of columns of the matrix Q. M >= N >= 0. K (input) INTEGER The number of elementary reflectors whose product defines the matrix Q. N >= K >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the (n-k+i)-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by DGEQLF in the last k columns of its array argument A. On exit, the m by n matrix Q. LDA (input) INTEGER The first dimension of the array A. LDA >= max(1,M). TAU (input) DOUBLE PRECISION array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by DGEQLF. WORK (workspace) DOUBLE PRECISION array, dimension (N) INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument has an illegal value ===================================================================== Test the input arguments Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3; Treal d__1; /* Local variables */ integer i__, j, l; integer ii; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --tau; --work; /* Function Body */ *info = 0; if (*m < 0) { *info = -1; } else if (*n < 0 || *n > *m) { *info = -2; } else if (*k < 0 || *k > *n) { *info = -3; } else if (*lda < maxMACRO(1,*m)) { *info = -5; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("ORG2L ", &i__1); return 0; } /* Quick return if possible */ if (*n <= 0) { return 0; } /* Initialise columns 1:n-k to columns of the unit matrix */ i__1 = *n - *k; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (l = 1; l <= i__2; ++l) { a_ref(l, j) = 0.; /* L10: */ } a_ref(*m - *n + j, j) = 1.; /* L20: */ } i__1 = *k; for (i__ = 1; i__ <= i__1; ++i__) { ii = *n - *k + i__; /* Apply H(i) to A(1:m-k+i,1:n-k+i) from the left */ a_ref(*m - *n + ii, ii) = 1.; i__2 = *m - *n + ii; i__3 = ii - 1; template_lapack_larf("Left", &i__2, &i__3, &a_ref(1, ii), &c__1, &tau[i__], &a[ a_offset], lda, &work[1]); i__2 = *m - *n + ii - 1; d__1 = -tau[i__]; template_blas_scal(&i__2, &d__1, &a_ref(1, ii), &c__1); a_ref(*m - *n + ii, ii) = 1. - tau[i__]; /* Set A(m-k+i+1:m,n-k+i) to zero */ i__2 = *m; for (l = *m - *n + ii + 1; l <= i__2; ++l) { a_ref(l, ii) = 0.; /* L30: */ } /* L40: */ } return 0; /* End of DORG2L */ } /* dorg2l_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/Makefile.am0000775000175000017500000000704112743400275020472 00000000000000noinst_PROGRAMS = templatelapacktest templatelapacktest_threaded noinst_LIBRARIES = libtemplatelapack.a templatelapacktest_SOURCES = template_lapack_test.cc templatelapacktest_LDADD = \ libtemplatelapack.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a templatelapacktest_threaded_SOURCES = template_lapack_test_threaded.cc templatelapacktest_threaded_LDADD = \ libtemplatelapack.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a libtemplatelapack_a_SOURCES = \ template_lapack_common.cc \ template_lapack_common.h \ template_lapack_geqr2.h \ template_lapack_geqrf.h \ template_lapack_gesv.h \ template_lapack_getf2.h \ template_lapack_getrf.h \ template_lapack_getrs.h \ template_lapack_ggbak.h \ template_lapack_ggbal.h \ template_lapack_ggev.h \ template_lapack_gghrd.h \ template_lapack_hgeqz.h \ template_lapack_labad.h \ template_lapack_lacon.h \ template_lapack_lacpy.h \ template_lapack_ladiv.h \ template_lapack_lae2.h \ template_lapack_laebz.h \ template_lapack_laev2.h \ template_lapack_lag2.h \ template_lapack_lagtf.h \ template_lapack_lagts.h \ template_lapack_laln2.h \ template_lapack_lamch.h \ template_lapack_lange.h \ template_lapack_lanhs.h \ template_lapack_lanst.h \ template_lapack_lansy.h \ template_lapack_lapy2.h \ template_lapack_lapy3.h \ template_lapack_larfb.h \ template_lapack_larfg.h \ template_lapack_larf.h \ template_lapack_larft.h \ template_lapack_larnv.h \ template_lapack_lartg.h \ template_lapack_laruv.h \ template_lapack_lascl.h \ template_lapack_laset.h \ template_lapack_lasr.h \ template_lapack_lasrt.h \ template_lapack_lasv2.h \ template_lapack_laswp.h \ template_lapack_latrd.h \ template_lapack_latrs.h \ template_lapack_org2l.h \ template_lapack_org2r.h \ template_lapack_orgql.h \ template_lapack_orgqr.h \ template_lapack_orgtr.h \ template_lapack_orm2r.h \ template_lapack_ormqr.h \ template_lapack_pocon.h \ template_lapack_potf2.h \ template_lapack_potrf.h \ template_lapack_pptrf.h \ template_lapack_rscl.h \ template_lapack_spgst.h \ template_lapack_stebz.h \ template_lapack_stein.h \ template_lapack_steqr.h \ template_lapack_sterf.h \ template_lapack_stevx.h \ template_lapack_larra.h \ template_lapack_larrb.h \ template_lapack_larrc.h \ template_lapack_larrd.h \ template_lapack_larre.h \ template_lapack_larrf.h \ template_lapack_larrj.h \ template_lapack_larrk.h \ template_lapack_larrr.h \ template_lapack_larrv.h \ template_lapack_lar1v.h \ template_lapack_laneg.h \ template_lapack_isnan.h \ template_lapack_laisnan.h \ template_lapack_lasq2.h \ template_lapack_lasq3.h \ template_lapack_lasq4.h \ template_lapack_lasq5.h \ template_lapack_lasq6.h \ template_lapack_stemr.h \ template_lapack_stevr.h \ template_lapack_syev.h \ template_lapack_sygs2.h \ template_lapack_sygst.h \ template_lapack_sygv.h \ template_lapack_sytd2.h \ template_lapack_sytrd.h \ template_lapack_test.cc \ template_lapack_tgevc.h \ template_lapack_tptri.h \ template_lapack_trti2.h \ template_lapack_trtri.h EXTRA_DIST = \ test.sh AM_CPPFLAGS = \ -I$(top_srcdir)/source/matrix/template_lapack/blas TESTS_ENVIRONMENT = top_builddir=$(top_builddir) top_srcdir=$(top_srcdir) TESTS = \ test.sh ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_steqr.h0000664000175000017500000003506012743400307023146 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_STEQR_HEADER #define TEMPLATE_LAPACK_STEQR_HEADER template int template_lapack_steqr(const char *compz, const integer *n, Treal *d__, Treal *e, Treal *z__, const integer *ldz, Treal *work, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University September 30, 1994 Purpose ======= DSTEQR computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method. The eigenvectors of a full or band symmetric matrix can also be found if DSYTRD or DSPTRD or DSBTRD has been used to reduce this matrix to tridiagonal form. Arguments ========= COMPZ (input) CHARACTER*1 = 'N': Compute eigenvalues only. = 'V': Compute eigenvalues and eigenvectors of the original symmetric matrix. On entry, Z must contain the orthogonal matrix used to reduce the original matrix to tridiagonal form. = 'I': Compute eigenvalues and eigenvectors of the tridiagonal matrix. Z is initialized to the identity matrix. N (input) INTEGER The order of the matrix. N >= 0. D (input/output) DOUBLE PRECISION array, dimension (N) On entry, the diagonal elements of the tridiagonal matrix. On exit, if INFO = 0, the eigenvalues in ascending order. E (input/output) DOUBLE PRECISION array, dimension (N-1) On entry, the (n-1) subdiagonal elements of the tridiagonal matrix. On exit, E has been destroyed. Z (input/output) DOUBLE PRECISION array, dimension (LDZ, N) On entry, if COMPZ = 'V', then Z contains the orthogonal matrix used in the reduction to tridiagonal form. On exit, if INFO = 0, then if COMPZ = 'V', Z contains the orthonormal eigenvectors of the original symmetric matrix, and if COMPZ = 'I', Z contains the orthonormal eigenvectors of the symmetric tridiagonal matrix. If COMPZ = 'N', then Z is not referenced. LDZ (input) INTEGER The leading dimension of the array Z. LDZ >= 1, and if eigenvectors are desired, then LDZ >= max(1,N). WORK (workspace) DOUBLE PRECISION array, dimension (max(1,2*N-2)) If COMPZ = 'N', then WORK is not referenced. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: the algorithm has failed to find all the eigenvalues in a total of 30*N iterations; if INFO = i, then i elements of E have not converged to zero; on exit, D and E contain the elements of a symmetric tridiagonal matrix which is orthogonally similar to the original matrix. ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ Treal c_b9 = 0.; Treal c_b10 = 1.; integer c__0 = 0; integer c__1 = 1; integer c__2 = 2; /* System generated locals */ integer z_dim1, z_offset, i__1, i__2; Treal d__1, d__2; /* Local variables */ integer lend, jtot; Treal b, c__, f, g; integer i__, j, k, l, m; Treal p, r__, s; Treal anorm; integer l1; integer lendm1, lendp1; integer ii; integer mm, iscale; Treal safmin; Treal safmax; integer lendsv; Treal ssfmin; integer nmaxit, icompz; Treal ssfmax; integer lm1, mm1, nm1; Treal rt1, rt2, eps; integer lsv; Treal tst, eps2; #define z___ref(a_1,a_2) z__[(a_2)*z_dim1 + a_1] --d__; --e; z_dim1 = *ldz; z_offset = 1 + z_dim1 * 1; z__ -= z_offset; --work; /* Function Body */ *info = 0; if (template_blas_lsame(compz, "N")) { icompz = 0; } else if (template_blas_lsame(compz, "V")) { icompz = 1; } else if (template_blas_lsame(compz, "I")) { icompz = 2; } else { icompz = -1; } if (icompz < 0) { *info = -1; } else if (*n < 0) { *info = -2; } else if (*ldz < 1 || (icompz > 0 && *ldz < maxMACRO(1,*n) ) ) { *info = -6; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("STEQR ", &i__1); return 0; } /* Quick return if possible */ if (*n == 0) { return 0; } if (*n == 1) { if (icompz == 2) { z___ref(1, 1) = 1.; } return 0; } /* Determine the unit roundoff and over/underflow thresholds. */ eps = template_lapack_lamch("E", (Treal)0); /* Computing 2nd power */ d__1 = eps; eps2 = d__1 * d__1; safmin = template_lapack_lamch("S", (Treal)0); safmax = 1. / safmin; ssfmax = template_blas_sqrt(safmax) / 3.; ssfmin = template_blas_sqrt(safmin) / eps2; /* Compute the eigenvalues and eigenvectors of the tridiagonal matrix. */ if (icompz == 2) { template_lapack_laset("Full", n, n, &c_b9, &c_b10, &z__[z_offset], ldz); } nmaxit = *n * 30; jtot = 0; /* Determine where the matrix splits and choose QL or QR iteration for each block, according to whether top or bottom diagonal element is smaller. */ l1 = 1; nm1 = *n - 1; L10: if (l1 > *n) { goto L160; } if (l1 > 1) { e[l1 - 1] = 0.; } if (l1 <= nm1) { i__1 = nm1; for (m = l1; m <= i__1; ++m) { tst = (d__1 = e[m], absMACRO(d__1)); if (tst == 0.) { goto L30; } if (tst <= template_blas_sqrt((d__1 = d__[m], absMACRO(d__1))) * template_blas_sqrt((d__2 = d__[m + 1], absMACRO(d__2))) * eps) { e[m] = 0.; goto L30; } /* L20: */ } } m = *n; L30: l = l1; lsv = l; lend = m; lendsv = lend; l1 = m + 1; if (lend == l) { goto L10; } /* Scale submatrix in rows and columns L to LEND */ i__1 = lend - l + 1; anorm = template_lapack_lanst("I", &i__1, &d__[l], &e[l]); iscale = 0; if (anorm == 0.) { goto L10; } if (anorm > ssfmax) { iscale = 1; i__1 = lend - l + 1; template_lapack_lascl("G", &c__0, &c__0, &anorm, &ssfmax, &i__1, &c__1, &d__[l], n, info); i__1 = lend - l; template_lapack_lascl("G", &c__0, &c__0, &anorm, &ssfmax, &i__1, &c__1, &e[l], n, info); } else if (anorm < ssfmin) { iscale = 2; i__1 = lend - l + 1; template_lapack_lascl("G", &c__0, &c__0, &anorm, &ssfmin, &i__1, &c__1, &d__[l], n, info); i__1 = lend - l; template_lapack_lascl("G", &c__0, &c__0, &anorm, &ssfmin, &i__1, &c__1, &e[l], n, info); } /* Choose between QL and QR iteration */ if ((d__1 = d__[lend], absMACRO(d__1)) < (d__2 = d__[l], absMACRO(d__2))) { lend = lsv; l = lendsv; } if (lend > l) { /* QL Iteration Look for small subdiagonal element. */ L40: if (l != lend) { lendm1 = lend - 1; i__1 = lendm1; for (m = l; m <= i__1; ++m) { /* Computing 2nd power */ d__2 = (d__1 = e[m], absMACRO(d__1)); tst = d__2 * d__2; if (tst <= eps2 * (d__1 = d__[m], absMACRO(d__1)) * (d__2 = d__[m + 1], absMACRO(d__2)) + safmin) { goto L60; } /* L50: */ } } m = lend; L60: if (m < lend) { e[m] = 0.; } p = d__[l]; if (m == l) { goto L80; } /* If remaining matrix is 2-by-2, use DLAE2 or SLAEV2 to compute its eigensystem. */ if (m == l + 1) { if (icompz > 0) { template_lapack_laev2(&d__[l], &e[l], &d__[l + 1], &rt1, &rt2, &c__, &s); work[l] = c__; work[*n - 1 + l] = s; template_lapack_lasr("R", "V", "B", n, &c__2, &work[l], &work[*n - 1 + l], & z___ref(1, l), ldz); } else { template_lapack_lae2(&d__[l], &e[l], &d__[l + 1], &rt1, &rt2); } d__[l] = rt1; d__[l + 1] = rt2; e[l] = 0.; l += 2; if (l <= lend) { goto L40; } goto L140; } if (jtot == nmaxit) { goto L140; } ++jtot; /* Form shift. */ g = (d__[l + 1] - p) / (e[l] * 2.); r__ = template_lapack_lapy2(&g, &c_b10); g = d__[m] - p + e[l] / (g + template_lapack_d_sign(&r__, &g)); s = 1.; c__ = 1.; p = 0.; /* Inner loop */ mm1 = m - 1; i__1 = l; for (i__ = mm1; i__ >= i__1; --i__) { f = s * e[i__]; b = c__ * e[i__]; template_lapack_lartg(&g, &f, &c__, &s, &r__); if (i__ != m - 1) { e[i__ + 1] = r__; } g = d__[i__ + 1] - p; r__ = (d__[i__] - g) * s + c__ * 2. * b; p = s * r__; d__[i__ + 1] = g + p; g = c__ * r__ - b; /* If eigenvectors are desired, then save rotations. */ if (icompz > 0) { work[i__] = c__; work[*n - 1 + i__] = -s; } /* L70: */ } /* If eigenvectors are desired, then apply saved rotations. */ if (icompz > 0) { mm = m - l + 1; template_lapack_lasr("R", "V", "B", n, &mm, &work[l], &work[*n - 1 + l], & z___ref(1, l), ldz); } d__[l] -= p; e[l] = g; goto L40; /* Eigenvalue found. */ L80: d__[l] = p; ++l; if (l <= lend) { goto L40; } goto L140; } else { /* QR Iteration Look for small superdiagonal element. */ L90: if (l != lend) { lendp1 = lend + 1; i__1 = lendp1; for (m = l; m >= i__1; --m) { /* Computing 2nd power */ d__2 = (d__1 = e[m - 1], absMACRO(d__1)); tst = d__2 * d__2; if (tst <= eps2 * (d__1 = d__[m], absMACRO(d__1)) * (d__2 = d__[m - 1], absMACRO(d__2)) + safmin) { goto L110; } /* L100: */ } } m = lend; L110: if (m > lend) { e[m - 1] = 0.; } p = d__[l]; if (m == l) { goto L130; } /* If remaining matrix is 2-by-2, use DLAE2 or SLAEV2 to compute its eigensystem. */ if (m == l - 1) { if (icompz > 0) { template_lapack_laev2(&d__[l - 1], &e[l - 1], &d__[l], &rt1, &rt2, &c__, &s) ; work[m] = c__; work[*n - 1 + m] = s; template_lapack_lasr("R", "V", "F", n, &c__2, &work[m], &work[*n - 1 + m], & z___ref(1, l - 1), ldz); } else { template_lapack_lae2(&d__[l - 1], &e[l - 1], &d__[l], &rt1, &rt2); } d__[l - 1] = rt1; d__[l] = rt2; e[l - 1] = 0.; l += -2; if (l >= lend) { goto L90; } goto L140; } if (jtot == nmaxit) { goto L140; } ++jtot; /* Form shift. */ g = (d__[l - 1] - p) / (e[l - 1] * 2.); r__ = template_lapack_lapy2(&g, &c_b10); g = d__[m] - p + e[l - 1] / (g + template_lapack_d_sign(&r__, &g)); s = 1.; c__ = 1.; p = 0.; /* Inner loop */ lm1 = l - 1; i__1 = lm1; for (i__ = m; i__ <= i__1; ++i__) { f = s * e[i__]; b = c__ * e[i__]; template_lapack_lartg(&g, &f, &c__, &s, &r__); if (i__ != m) { e[i__ - 1] = r__; } g = d__[i__] - p; r__ = (d__[i__ + 1] - g) * s + c__ * 2. * b; p = s * r__; d__[i__] = g + p; g = c__ * r__ - b; /* If eigenvectors are desired, then save rotations. */ if (icompz > 0) { work[i__] = c__; work[*n - 1 + i__] = s; } /* L120: */ } /* If eigenvectors are desired, then apply saved rotations. */ if (icompz > 0) { mm = l - m + 1; template_lapack_lasr("R", "V", "F", n, &mm, &work[m], &work[*n - 1 + m], & z___ref(1, m), ldz); } d__[l] -= p; e[lm1] = g; goto L90; /* Eigenvalue found. */ L130: d__[l] = p; --l; if (l >= lend) { goto L90; } goto L140; } /* Undo scaling if necessary */ L140: if (iscale == 1) { i__1 = lendsv - lsv + 1; template_lapack_lascl("G", &c__0, &c__0, &ssfmax, &anorm, &i__1, &c__1, &d__[lsv], n, info); i__1 = lendsv - lsv; template_lapack_lascl("G", &c__0, &c__0, &ssfmax, &anorm, &i__1, &c__1, &e[lsv], n, info); } else if (iscale == 2) { i__1 = lendsv - lsv + 1; template_lapack_lascl("G", &c__0, &c__0, &ssfmin, &anorm, &i__1, &c__1, &d__[lsv], n, info); i__1 = lendsv - lsv; template_lapack_lascl("G", &c__0, &c__0, &ssfmin, &anorm, &i__1, &c__1, &e[lsv], n, info); } /* Check for no convergence to an eigenvalue after a total of N*MAXIT iterations. */ if (jtot < nmaxit) { goto L10; } i__1 = *n - 1; for (i__ = 1; i__ <= i__1; ++i__) { if (e[i__] != 0.) { ++(*info); } /* L150: */ } goto L190; /* Order eigenvalues and eigenvectors. */ L160: if (icompz == 0) { /* Use Quick Sort */ template_lapack_lasrt("I", n, &d__[1], info); } else { /* Use Selection Sort to minimize swaps of eigenvectors */ i__1 = *n; for (ii = 2; ii <= i__1; ++ii) { i__ = ii - 1; k = i__; p = d__[i__]; i__2 = *n; for (j = ii; j <= i__2; ++j) { if (d__[j] < p) { k = j; p = d__[j]; } /* L170: */ } if (k != i__) { d__[k] = d__[i__]; d__[i__] = p; template_blas_swap(n, &z___ref(1, i__), &c__1, &z___ref(1, k), &c__1); } /* L180: */ } } L190: return 0; /* End of DSTEQR */ } /* dsteqr_ */ #undef z___ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lanst.h0000664000175000017500000001252712743400307023134 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LANST_HEADER #define TEMPLATE_LAPACK_LANST_HEADER template Treal template_lapack_lanst(const char *norm, const integer *n, const Treal *d__, const Treal *e) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DLANST returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a real symmetric tridiagonal matrix A. Description =========== DLANST returns the value DLANST = ( max(abs(A(i,j))), NORM = 'M' or 'm' ( ( norm1(A), NORM = '1', 'O' or 'o' ( ( normI(A), NORM = 'I' or 'i' ( ( normF(A), NORM = 'F', 'f', 'E' or 'e' where norm1 denotes the one norm of a matrix (maximum column sum), normI denotes the infinity norm of a matrix (maximum row sum) and normF denotes the Frobenius norm of a matrix (square root of sum of squares). Note that max(abs(A(i,j))) is not a matrix norm. Arguments ========= NORM (input) CHARACTER*1 Specifies the value to be returned in DLANST as described above. N (input) INTEGER The order of the matrix A. N >= 0. When N = 0, DLANST is set to zero. D (input) DOUBLE PRECISION array, dimension (N) The diagonal elements of A. E (input) DOUBLE PRECISION array, dimension (N-1) The (n-1) sub-diagonal or super-diagonal elements of A. ===================================================================== Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; /* System generated locals */ integer i__1; Treal ret_val, d__1, d__2, d__3, d__4, d__5; /* Local variables */ integer i__; Treal scale; Treal anorm; Treal sum; --e; --d__; /* Initialization added by Elias to get rid of compiler warnings. */ anorm = 0; /* Function Body */ if (*n <= 0) { anorm = 0.; } else if (template_blas_lsame(norm, "M")) { /* Find max(abs(A(i,j))). */ anorm = (d__1 = d__[*n], absMACRO(d__1)); i__1 = *n - 1; for (i__ = 1; i__ <= i__1; ++i__) { /* Computing MAX */ d__2 = anorm, d__3 = (d__1 = d__[i__], absMACRO(d__1)); anorm = maxMACRO(d__2,d__3); /* Computing MAX */ d__2 = anorm, d__3 = (d__1 = e[i__], absMACRO(d__1)); anorm = maxMACRO(d__2,d__3); /* L10: */ } } else if (template_blas_lsame(norm, "O") || *(unsigned char *) norm == '1' || template_blas_lsame(norm, "I")) { /* Find norm1(A). */ if (*n == 1) { anorm = absMACRO(d__[1]); } else { /* Computing MAX */ d__3 = absMACRO(d__[1]) + absMACRO(e[1]), d__4 = (d__1 = e[*n - 1], absMACRO( d__1)) + (d__2 = d__[*n], absMACRO(d__2)); anorm = maxMACRO(d__3,d__4); i__1 = *n - 1; for (i__ = 2; i__ <= i__1; ++i__) { /* Computing MAX */ d__4 = anorm, d__5 = (d__1 = d__[i__], absMACRO(d__1)) + (d__2 = e[ i__], absMACRO(d__2)) + (d__3 = e[i__ - 1], absMACRO(d__3)); anorm = maxMACRO(d__4,d__5); /* L20: */ } } } else if (template_blas_lsame(norm, "F") || template_blas_lsame(norm, "E")) { /* Find normF(A). */ scale = 0.; sum = 1.; if (*n > 1) { i__1 = *n - 1; template_lapack_lassq(&i__1, &e[1], &c__1, &scale, &sum); sum *= 2; } template_lapack_lassq(n, &d__[1], &c__1, &scale, &sum); anorm = scale * template_blas_sqrt(sum); } ret_val = anorm; return ret_val; /* End of DLANST */ } /* dlanst_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lar1v.h0000664000175000017500000003306712743400307023042 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LAR1V_HEADER #define TEMPLATE_LAPACK_LAR1V_HEADER template int template_lapack_lar1v(integer *n, integer *b1, integer *bn, Treal *lambda, Treal *d__, Treal *l, Treal *ld, Treal * lld, Treal *pivmin, Treal *gaptol, Treal *z__, logical *wantnc, integer *negcnt, Treal *ztz, Treal *mingma, integer *r__, integer *isuppz, Treal *nrminv, Treal *resid, Treal *rqcorr, Treal *work) { /* System generated locals */ integer i__1; Treal d__1, d__2, d__3; /* Local variables */ integer i__; Treal s; integer r1, r2; Treal eps, tmp; integer neg1, neg2, indp, inds; Treal dplus; integer indlpl, indumn; Treal dminus; logical sawnan1, sawnan2; /* -- LAPACK auxiliary routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* DLAR1V computes the (scaled) r-th column of the inverse of */ /* the sumbmatrix in rows B1 through BN of the tridiagonal matrix */ /* L D L^T - sigma I. When sigma is close to an eigenvalue, the */ /* computed vector is an accurate eigenvector. Usually, r corresponds */ /* to the index where the eigenvector is largest in magnitude. */ /* The following steps accomplish this computation : */ /* (a) Stationary qd transform, L D L^T - sigma I = L(+) D(+) L(+)^T, */ /* (b) Progressive qd transform, L D L^T - sigma I = U(-) D(-) U(-)^T, */ /* (c) Computation of the diagonal elements of the inverse of */ /* L D L^T - sigma I by combining the above transforms, and choosing */ /* r as the index where the diagonal of the inverse is (one of the) */ /* largest in magnitude. */ /* (d) Computation of the (scaled) r-th column of the inverse using the */ /* twisted factorization obtained by combining the top part of the */ /* the stationary and the bottom part of the progressive transform. */ /* Arguments */ /* ========= */ /* N (input) INTEGER */ /* The order of the matrix L D L^T. */ /* B1 (input) INTEGER */ /* First index of the submatrix of L D L^T. */ /* BN (input) INTEGER */ /* Last index of the submatrix of L D L^T. */ /* LAMBDA (input) DOUBLE PRECISION */ /* The shift. In order to compute an accurate eigenvector, */ /* LAMBDA should be a good approximation to an eigenvalue */ /* of L D L^T. */ /* L (input) DOUBLE PRECISION array, dimension (N-1) */ /* The (n-1) subdiagonal elements of the unit bidiagonal matrix */ /* L, in elements 1 to N-1. */ /* D (input) DOUBLE PRECISION array, dimension (N) */ /* The n diagonal elements of the diagonal matrix D. */ /* LD (input) DOUBLE PRECISION array, dimension (N-1) */ /* The n-1 elements L(i)*D(i). */ /* LLD (input) DOUBLE PRECISION array, dimension (N-1) */ /* The n-1 elements L(i)*L(i)*D(i). */ /* PIVMIN (input) DOUBLE PRECISION */ /* The minimum pivot in the Sturm sequence. */ /* GAPTOL (input) DOUBLE PRECISION */ /* Tolerance that indicates when eigenvector entries are negligible */ /* w.r.t. their contribution to the residual. */ /* Z (input/output) DOUBLE PRECISION array, dimension (N) */ /* On input, all entries of Z must be set to 0. */ /* On output, Z contains the (scaled) r-th column of the */ /* inverse. The scaling is such that Z(R) equals 1. */ /* WANTNC (input) LOGICAL */ /* Specifies whether NEGCNT has to be computed. */ /* NEGCNT (output) INTEGER */ /* If WANTNC is .TRUE. then NEGCNT = the number of pivots < pivmin */ /* in the matrix factorization L D L^T, and NEGCNT = -1 otherwise. */ /* ZTZ (output) DOUBLE PRECISION */ /* The square of the 2-norm of Z. */ /* MINGMA (output) DOUBLE PRECISION */ /* The reciprocal of the largest (in magnitude) diagonal */ /* element of the inverse of L D L^T - sigma I. */ /* R (input/output) INTEGER */ /* The twist index for the twisted factorization used to */ /* compute Z. */ /* On input, 0 <= R <= N. If R is input as 0, R is set to */ /* the index where (L D L^T - sigma I)^{-1} is largest */ /* in magnitude. If 1 <= R <= N, R is unchanged. */ /* On output, R contains the twist index used to compute Z. */ /* Ideally, R designates the position of the maximum entry in the */ /* eigenvector. */ /* ISUPPZ (output) INTEGER array, dimension (2) */ /* The support of the vector in Z, i.e., the vector Z is */ /* nonzero only in elements ISUPPZ(1) through ISUPPZ( 2 ). */ /* NRMINV (output) DOUBLE PRECISION */ /* NRMINV = 1/SQRT( ZTZ ) */ /* RESID (output) DOUBLE PRECISION */ /* The residual of the FP vector. */ /* RESID = ABS( MINGMA )/SQRT( ZTZ ) */ /* RQCORR (output) DOUBLE PRECISION */ /* The Rayleigh Quotient correction to LAMBDA. */ /* RQCORR = MINGMA*TMP */ /* WORK (workspace) DOUBLE PRECISION array, dimension (4*N) */ /* Further Details */ /* =============== */ /* Based on contributions by */ /* Beresford Parlett, University of California, Berkeley, USA */ /* Jim Demmel, University of California, Berkeley, USA */ /* Inderjit Dhillon, University of Texas, Austin, USA */ /* Osni Marques, LBNL/NERSC, USA */ /* Christof Voemel, University of California, Berkeley, USA */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. External Functions .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Parameter adjustments */ --work; --isuppz; --z__; --lld; --ld; --l; --d__; /* Function Body */ eps = template_lapack_lamch("Precision", (Treal)0); if (*r__ == 0) { r1 = *b1; r2 = *bn; } else { r1 = *r__; r2 = *r__; } /* Storage for LPLUS */ indlpl = 0; /* Storage for UMINUS */ indumn = *n; inds = (*n << 1) + 1; indp = *n * 3 + 1; if (*b1 == 1) { work[inds] = 0.; } else { work[inds + *b1 - 1] = lld[*b1 - 1]; } /* Compute the stationary transform (using the differential form) */ /* until the index R2. */ sawnan1 = FALSE_; neg1 = 0; s = work[inds + *b1 - 1] - *lambda; i__1 = r1 - 1; for (i__ = *b1; i__ <= i__1; ++i__) { dplus = d__[i__] + s; work[indlpl + i__] = ld[i__] / dplus; if (dplus < 0.) { ++neg1; } work[inds + i__] = s * work[indlpl + i__] * l[i__]; s = work[inds + i__] - *lambda; /* L50: */ } sawnan1 = template_lapack_isnan(&s); if (sawnan1) { goto L60; } i__1 = r2 - 1; for (i__ = r1; i__ <= i__1; ++i__) { dplus = d__[i__] + s; work[indlpl + i__] = ld[i__] / dplus; work[inds + i__] = s * work[indlpl + i__] * l[i__]; s = work[inds + i__] - *lambda; /* L51: */ } sawnan1 = template_lapack_isnan(&s); L60: if (sawnan1) { /* Runs a slower version of the above loop if a NaN is detected */ neg1 = 0; s = work[inds + *b1 - 1] - *lambda; i__1 = r1 - 1; for (i__ = *b1; i__ <= i__1; ++i__) { dplus = d__[i__] + s; if (absMACRO(dplus) < *pivmin) { dplus = -(*pivmin); } work[indlpl + i__] = ld[i__] / dplus; if (dplus < 0.) { ++neg1; } work[inds + i__] = s * work[indlpl + i__] * l[i__]; if (work[indlpl + i__] == 0.) { work[inds + i__] = lld[i__]; } s = work[inds + i__] - *lambda; /* L70: */ } i__1 = r2 - 1; for (i__ = r1; i__ <= i__1; ++i__) { dplus = d__[i__] + s; if (absMACRO(dplus) < *pivmin) { dplus = -(*pivmin); } work[indlpl + i__] = ld[i__] / dplus; work[inds + i__] = s * work[indlpl + i__] * l[i__]; if (work[indlpl + i__] == 0.) { work[inds + i__] = lld[i__]; } s = work[inds + i__] - *lambda; /* L71: */ } } /* Compute the progressive transform (using the differential form) */ /* until the index R1 */ sawnan2 = FALSE_; neg2 = 0; work[indp + *bn - 1] = d__[*bn] - *lambda; i__1 = r1; for (i__ = *bn - 1; i__ >= i__1; --i__) { dminus = lld[i__] + work[indp + i__]; tmp = d__[i__] / dminus; if (dminus < 0.) { ++neg2; } work[indumn + i__] = l[i__] * tmp; work[indp + i__ - 1] = work[indp + i__] * tmp - *lambda; /* L80: */ } tmp = work[indp + r1 - 1]; sawnan2 = template_lapack_isnan(&tmp); if (sawnan2) { /* Runs a slower version of the above loop if a NaN is detected */ neg2 = 0; i__1 = r1; for (i__ = *bn - 1; i__ >= i__1; --i__) { dminus = lld[i__] + work[indp + i__]; if (absMACRO(dminus) < *pivmin) { dminus = -(*pivmin); } tmp = d__[i__] / dminus; if (dminus < 0.) { ++neg2; } work[indumn + i__] = l[i__] * tmp; work[indp + i__ - 1] = work[indp + i__] * tmp - *lambda; if (tmp == 0.) { work[indp + i__ - 1] = d__[i__] - *lambda; } /* L100: */ } } /* Find the index (from R1 to R2) of the largest (in magnitude) */ /* diagonal element of the inverse */ *mingma = work[inds + r1 - 1] + work[indp + r1 - 1]; if (*mingma < 0.) { ++neg1; } if (*wantnc) { *negcnt = neg1 + neg2; } else { *negcnt = -1; } if (absMACRO(*mingma) == 0.) { *mingma = eps * work[inds + r1 - 1]; } *r__ = r1; i__1 = r2 - 1; for (i__ = r1; i__ <= i__1; ++i__) { tmp = work[inds + i__] + work[indp + i__]; if (tmp == 0.) { tmp = eps * work[inds + i__]; } if (absMACRO(tmp) <= absMACRO(*mingma)) { *mingma = tmp; *r__ = i__ + 1; } /* L110: */ } /* Compute the FP vector: solve N^T v = e_r */ isuppz[1] = *b1; isuppz[2] = *bn; z__[*r__] = 1.; *ztz = 1.; /* Compute the FP vector upwards from R */ if (! sawnan1 && ! sawnan2) { i__1 = *b1; for (i__ = *r__ - 1; i__ >= i__1; --i__) { z__[i__] = -(work[indlpl + i__] * z__[i__ + 1]); if (((d__1 = z__[i__], absMACRO(d__1)) + (d__2 = z__[i__ + 1], absMACRO( d__2))) * (d__3 = ld[i__], absMACRO(d__3)) < *gaptol) { z__[i__] = 0.; isuppz[1] = i__ + 1; goto L220; } *ztz += z__[i__] * z__[i__]; /* L210: */ } L220: ; } else { /* Run slower loop if NaN occurred. */ i__1 = *b1; for (i__ = *r__ - 1; i__ >= i__1; --i__) { if (z__[i__ + 1] == 0.) { z__[i__] = -(ld[i__ + 1] / ld[i__]) * z__[i__ + 2]; } else { z__[i__] = -(work[indlpl + i__] * z__[i__ + 1]); } if (((d__1 = z__[i__], absMACRO(d__1)) + (d__2 = z__[i__ + 1], absMACRO( d__2))) * (d__3 = ld[i__], absMACRO(d__3)) < *gaptol) { z__[i__] = 0.; isuppz[1] = i__ + 1; goto L240; } *ztz += z__[i__] * z__[i__]; /* L230: */ } L240: ; } /* Compute the FP vector downwards from R in blocks of size BLKSIZ */ if (! sawnan1 && ! sawnan2) { i__1 = *bn - 1; for (i__ = *r__; i__ <= i__1; ++i__) { z__[i__ + 1] = -(work[indumn + i__] * z__[i__]); if (((d__1 = z__[i__], absMACRO(d__1)) + (d__2 = z__[i__ + 1], absMACRO( d__2))) * (d__3 = ld[i__], absMACRO(d__3)) < *gaptol) { z__[i__ + 1] = 0.; isuppz[2] = i__; goto L260; } *ztz += z__[i__ + 1] * z__[i__ + 1]; /* L250: */ } L260: ; } else { /* Run slower loop if NaN occurred. */ i__1 = *bn - 1; for (i__ = *r__; i__ <= i__1; ++i__) { if (z__[i__] == 0.) { z__[i__ + 1] = -(ld[i__ - 1] / ld[i__]) * z__[i__ - 1]; } else { z__[i__ + 1] = -(work[indumn + i__] * z__[i__]); } if (((d__1 = z__[i__], absMACRO(d__1)) + (d__2 = z__[i__ + 1], absMACRO( d__2))) * (d__3 = ld[i__], absMACRO(d__3)) < *gaptol) { z__[i__ + 1] = 0.; isuppz[2] = i__; goto L280; } *ztz += z__[i__ + 1] * z__[i__ + 1]; /* L270: */ } L280: ; } /* Compute quantities for convergence test */ tmp = 1. / *ztz; *nrminv = template_blas_sqrt(tmp); *resid = absMACRO(*mingma) * *nrminv; *rqcorr = *mingma * tmp; return 0; /* End of DLAR1V */ } /* dlar1v_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lasq5.h0000664000175000017500000001611412743400307023034 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LASQ5_HEADER #define TEMPLATE_LAPACK_LASQ5_HEADER template int template_lapack_lasq5(integer *i0, integer *n0, Treal *z__, integer *pp, Treal *tau, Treal *dmin__, Treal *dmin1, Treal *dmin2, Treal *dn, Treal *dnm1, Treal *dnm2, logical *ieee) { /* System generated locals */ integer i__1; Treal d__1, d__2; /* Local variables */ Treal d__; integer j4, j4p2; Treal emin, temp; /* -- LAPACK routine (version 3.2) -- */ /* -- Contributed by Osni Marques of the Lawrence Berkeley National -- */ /* -- Laboratory and Beresford Parlett of the Univ. of California at -- */ /* -- Berkeley -- */ /* -- November 2008 -- */ /* -- LAPACK is a software package provided by Univ. of Tennessee, -- */ /* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* DLASQ5 computes one dqds transform in ping-pong form, one */ /* version for IEEE machines another for non IEEE machines. */ /* Arguments */ /* ========= */ /* I0 (input) INTEGER */ /* First index. */ /* N0 (input) INTEGER */ /* Last index. */ /* Z (input) DOUBLE PRECISION array, dimension ( 4*N ) */ /* Z holds the qd array. EMIN is stored in Z(4*N0) to avoid */ /* an extra argument. */ /* PP (input) INTEGER */ /* PP=0 for ping, PP=1 for pong. */ /* TAU (input) DOUBLE PRECISION */ /* This is the shift. */ /* DMIN (output) DOUBLE PRECISION */ /* Minimum value of d. */ /* DMIN1 (output) DOUBLE PRECISION */ /* Minimum value of d, excluding D( N0 ). */ /* DMIN2 (output) DOUBLE PRECISION */ /* Minimum value of d, excluding D( N0 ) and D( N0-1 ). */ /* DN (output) DOUBLE PRECISION */ /* d(N0), the last value of d. */ /* DNM1 (output) DOUBLE PRECISION */ /* d(N0-1). */ /* DNM2 (output) DOUBLE PRECISION */ /* d(N0-2). */ /* IEEE (input) LOGICAL */ /* Flag for IEEE or non IEEE arithmetic. */ /* ===================================================================== */ /* .. Parameter .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Parameter adjustments */ --z__; /* Function Body */ if (*n0 - *i0 - 1 <= 0) { return 0; } j4 = (*i0 << 2) + *pp - 3; emin = z__[j4 + 4]; d__ = z__[j4] - *tau; *dmin__ = d__; *dmin1 = -z__[j4]; if (*ieee) { /* Code for IEEE arithmetic. */ if (*pp == 0) { i__1 = ( *n0 - 3 ) << 2; for (j4 = *i0 << 2; j4 <= i__1; j4 += 4) { z__[j4 - 2] = d__ + z__[j4 - 1]; temp = z__[j4 + 1] / z__[j4 - 2]; d__ = d__ * temp - *tau; *dmin__ = minMACRO(*dmin__,d__); z__[j4] = z__[j4 - 1] * temp; /* Computing MIN */ d__1 = z__[j4]; emin = minMACRO(d__1,emin); /* L10: */ } } else { i__1 = ( *n0 - 3 ) << 2; for (j4 = *i0 << 2; j4 <= i__1; j4 += 4) { z__[j4 - 3] = d__ + z__[j4]; temp = z__[j4 + 2] / z__[j4 - 3]; d__ = d__ * temp - *tau; *dmin__ = minMACRO(*dmin__,d__); z__[j4 - 1] = z__[j4] * temp; /* Computing MIN */ d__1 = z__[j4 - 1]; emin = minMACRO(d__1,emin); /* L20: */ } } /* Unroll last two steps. */ *dnm2 = d__; *dmin2 = *dmin__; j4 = ( ( *n0 - 2 ) << 2) - *pp; j4p2 = j4 + (*pp << 1) - 1; z__[j4 - 2] = *dnm2 + z__[j4p2]; z__[j4] = z__[j4p2 + 2] * (z__[j4p2] / z__[j4 - 2]); *dnm1 = z__[j4p2 + 2] * (*dnm2 / z__[j4 - 2]) - *tau; *dmin__ = minMACRO(*dmin__,*dnm1); *dmin1 = *dmin__; j4 += 4; j4p2 = j4 + (*pp << 1) - 1; z__[j4 - 2] = *dnm1 + z__[j4p2]; z__[j4] = z__[j4p2 + 2] * (z__[j4p2] / z__[j4 - 2]); *dn = z__[j4p2 + 2] * (*dnm1 / z__[j4 - 2]) - *tau; *dmin__ = minMACRO(*dmin__,*dn); } else { /* Code for non IEEE arithmetic. */ if (*pp == 0) { i__1 = ( *n0 - 3 ) << 2; for (j4 = *i0 << 2; j4 <= i__1; j4 += 4) { z__[j4 - 2] = d__ + z__[j4 - 1]; if (d__ < 0.) { return 0; } else { z__[j4] = z__[j4 + 1] * (z__[j4 - 1] / z__[j4 - 2]); d__ = z__[j4 + 1] * (d__ / z__[j4 - 2]) - *tau; } *dmin__ = minMACRO(*dmin__,d__); /* Computing MIN */ d__1 = emin, d__2 = z__[j4]; emin = minMACRO(d__1,d__2); /* L30: */ } } else { i__1 = ( *n0 - 3 ) << 2; for (j4 = *i0 << 2; j4 <= i__1; j4 += 4) { z__[j4 - 3] = d__ + z__[j4]; if (d__ < 0.) { return 0; } else { z__[j4 - 1] = z__[j4 + 2] * (z__[j4] / z__[j4 - 3]); d__ = z__[j4 + 2] * (d__ / z__[j4 - 3]) - *tau; } *dmin__ = minMACRO(*dmin__,d__); /* Computing MIN */ d__1 = emin, d__2 = z__[j4 - 1]; emin = minMACRO(d__1,d__2); /* L40: */ } } /* Unroll last two steps. */ *dnm2 = d__; *dmin2 = *dmin__; j4 = ( ( *n0 - 2 ) << 2) - *pp; j4p2 = j4 + (*pp << 1) - 1; z__[j4 - 2] = *dnm2 + z__[j4p2]; if (*dnm2 < 0.) { return 0; } else { z__[j4] = z__[j4p2 + 2] * (z__[j4p2] / z__[j4 - 2]); *dnm1 = z__[j4p2 + 2] * (*dnm2 / z__[j4 - 2]) - *tau; } *dmin__ = minMACRO(*dmin__,*dnm1); *dmin1 = *dmin__; j4 += 4; j4p2 = j4 + (*pp << 1) - 1; z__[j4 - 2] = *dnm1 + z__[j4p2]; if (*dnm1 < 0.) { return 0; } else { z__[j4] = z__[j4p2 + 2] * (z__[j4p2] / z__[j4 - 2]); *dn = z__[j4p2 + 2] * (*dnm1 / z__[j4 - 2]) - *tau; } *dmin__ = minMACRO(*dmin__,*dn); } z__[j4 + 2] = *dn; z__[(*n0 << 2) - *pp] = emin; return 0; /* End of DLASQ5 */ } /* dlasq5_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_sytd2.h0000664000175000017500000002315312743400307023055 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_SYTD2_HEADER #define TEMPLATE_LAPACK_SYTD2_HEADER #include "template_lapack_common.h" template int template_lapack_sytd2(const char *uplo, const integer *n, Treal *a, const integer * lda, Treal *d__, Treal *e, Treal *tau, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DSYTD2 reduces a real symmetric matrix A to symmetric tridiagonal form T by an orthogonal similarity transformation: Q' * A * Q = T. Arguments ========= UPLO (input) CHARACTER*1 Specifies whether the upper or lower triangular part of the symmetric matrix A is stored: = 'U': Upper triangular = 'L': Lower triangular N (input) INTEGER The order of the matrix A. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = 'U', the leading n-by-n upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading n-by-n lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if UPLO = 'U', the diagonal and first superdiagonal of A are overwritten by the corresponding elements of the tridiagonal matrix T, and the elements above the first superdiagonal, with the array TAU, represent the orthogonal matrix Q as a product of elementary reflectors; if UPLO = 'L', the diagonal and first subdiagonal of A are over- written by the corresponding elements of the tridiagonal matrix T, and the elements below the first subdiagonal, with the array TAU, represent the orthogonal matrix Q as a product of elementary reflectors. See Further Details. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). D (output) DOUBLE PRECISION array, dimension (N) The diagonal elements of the tridiagonal matrix T: D(i) = A(i,i). E (output) DOUBLE PRECISION array, dimension (N-1) The off-diagonal elements of the tridiagonal matrix T: E(i) = A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'. TAU (output) DOUBLE PRECISION array, dimension (N-1) The scalar factors of the elementary reflectors (see Further Details). INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value. Further Details =============== If UPLO = 'U', the matrix Q is represented as a product of elementary reflectors Q = H(n-1) . . . H(2) H(1). Each H(i) has the form H(i) = I - tau * v * v' where tau is a real scalar, and v is a real vector with v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in A(1:i-1,i+1), and tau in TAU(i). If UPLO = 'L', the matrix Q is represented as a product of elementary reflectors Q = H(1) H(2) . . . H(n-1). Each H(i) has the form H(i) = I - tau * v * v' where tau is a real scalar, and v is a real vector with v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), and tau in TAU(i). The contents of A on exit are illustrated by the following examples with n = 5: if UPLO = 'U': if UPLO = 'L': ( d e v2 v3 v4 ) ( d ) ( d e v3 v4 ) ( e d ) ( d e v4 ) ( v1 e d ) ( d e ) ( v1 v2 e d ) ( d ) ( v1 v2 v3 e d ) where d and e denote diagonal and off-diagonal elements of T, and vi denotes an element of the vector defining H(i). ===================================================================== Test the input parameters Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; Treal c_b8 = 0.; Treal c_b14 = -1.; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3; /* Local variables */ Treal taui; integer i__; Treal alpha; logical upper; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --d__; --e; --tau; /* Function Body */ *info = 0; upper = template_blas_lsame(uplo, "U"); if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -1; } else if (*n < 0) { *info = -2; } else if (*lda < maxMACRO(1,*n)) { *info = -4; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("SYTD2 ", &i__1); return 0; } /* Quick return if possible */ if (*n <= 0) { return 0; } if (upper) { /* Reduce the upper triangle of A */ for (i__ = *n - 1; i__ >= 1; --i__) { /* Generate elementary reflector H(i) = I - tau * v * v' to annihilate A(1:i-1,i+1) */ template_lapack_larfg(&i__, &a_ref(i__, i__ + 1), &a_ref(1, i__ + 1), &c__1, & taui); e[i__] = a_ref(i__, i__ + 1); if (taui != 0.) { /* Apply H(i) from both sides to A(1:i,1:i) */ a_ref(i__, i__ + 1) = 1.; /* Compute x := tau * A * v storing x in TAU(1:i) */ template_blas_symv(uplo, &i__, &taui, &a[a_offset], lda, &a_ref(1, i__ + 1), &c__1, &c_b8, &tau[1], &c__1); /* Compute w := x - 1/2 * tau * (x'*v) * v */ alpha = taui * -.5 * template_blas_dot(&i__, &tau[1], &c__1, &a_ref(1, i__ + 1), &c__1); template_blas_axpy(&i__, &alpha, &a_ref(1, i__ + 1), &c__1, &tau[1], & c__1); /* Apply the transformation as a rank-2 update: A := A - v * w' - w * v' */ template_blas_syr2(uplo, &i__, &c_b14, &a_ref(1, i__ + 1), &c__1, &tau[1], &c__1, &a[a_offset], lda); a_ref(i__, i__ + 1) = e[i__]; } d__[i__ + 1] = a_ref(i__ + 1, i__ + 1); tau[i__] = taui; /* L10: */ } d__[1] = a_ref(1, 1); } else { /* Reduce the lower triangle of A */ i__1 = *n - 1; for (i__ = 1; i__ <= i__1; ++i__) { /* Generate elementary reflector H(i) = I - tau * v * v' to annihilate A(i+2:n,i) Computing MIN */ i__2 = i__ + 2; i__3 = *n - i__; template_lapack_larfg(&i__3, &a_ref(i__ + 1, i__), &a_ref(minMACRO(i__2,*n), i__), & c__1, &taui); e[i__] = a_ref(i__ + 1, i__); if (taui != 0.) { /* Apply H(i) from both sides to A(i+1:n,i+1:n) */ a_ref(i__ + 1, i__) = 1.; /* Compute x := tau * A * v storing y in TAU(i:n-1) */ i__2 = *n - i__; template_blas_symv(uplo, &i__2, &taui, &a_ref(i__ + 1, i__ + 1), lda, & a_ref(i__ + 1, i__), &c__1, &c_b8, &tau[i__], &c__1); /* Compute w := x - 1/2 * tau * (x'*v) * v */ i__2 = *n - i__; alpha = taui * -.5 * template_blas_dot(&i__2, &tau[i__], &c__1, &a_ref( i__ + 1, i__), &c__1); i__2 = *n - i__; template_blas_axpy(&i__2, &alpha, &a_ref(i__ + 1, i__), &c__1, &tau[i__], &c__1); /* Apply the transformation as a rank-2 update: A := A - v * w' - w * v' */ i__2 = *n - i__; template_blas_syr2(uplo, &i__2, &c_b14, &a_ref(i__ + 1, i__), &c__1, &tau[ i__], &c__1, &a_ref(i__ + 1, i__ + 1), lda) ; a_ref(i__ + 1, i__) = e[i__]; } d__[i__] = a_ref(i__, i__); tau[i__] = taui; /* L20: */ } d__[*n] = a_ref(*n, *n); } return 0; /* End of DSYTD2 */ } /* dsytd2_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_labad.h0000664000175000017500000000656012743400307023056 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LABAD_HEADER #define TEMPLATE_LAPACK_LABAD_HEADER template int template_lapack_labad(Treal *small, Treal *large) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLABAD takes as input the values computed by DLAMCH for underflow and overflow, and returns the square root of each of these values if the log of LARGE is sufficiently large. This subroutine is intended to identify machines with a large exponent range, such as the Crays, and redefine the underflow and overflow limits to be the square roots of the values computed by DLAMCH. This subroutine is needed because DLAMCH does not compensate for poor arithmetic in the upper half of the exponent range, as is found on a Cray. Arguments ========= SMALL (input/output) DOUBLE PRECISION On entry, the underflow threshold as computed by DLAMCH. On exit, if LOG10(LARGE) is sufficiently large, the square root of SMALL, otherwise unchanged. LARGE (input/output) DOUBLE PRECISION On entry, the overflow threshold as computed by DLAMCH. On exit, if LOG10(LARGE) is sufficiently large, the square root of LARGE, otherwise unchanged. ===================================================================== If it looks like we're on a Cray, take the square root of SMALL and LARGE to avoid overflow and underflow problems. */ if (template_blas_lg10(large) > 2e3) { *small = template_blas_sqrt(*small); *large = template_blas_sqrt(*large); } return 0; /* End of DLABAD */ } /* dlabad_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_potf2.h0000664000175000017500000001453412743400307023045 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_POTF2_HEADER #define TEMPLATE_LAPACK_POTF2_HEADER template int template_lapack_potf2(const char *uplo, const integer *n, Treal *a, const integer * lda, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DPOTF2 computes the Cholesky factorization of a real symmetric positive definite matrix A. The factorization has the form A = U' * U , if UPLO = 'U', or A = L * L', if UPLO = 'L', where U is an upper triangular matrix and L is lower triangular. This is the unblocked version of the algorithm, calling Level 2 BLAS. Arguments ========= UPLO (input) CHARACTER*1 Specifies whether the upper or lower triangular part of the symmetric matrix A is stored. = 'U': Upper triangular = 'L': Lower triangular N (input) INTEGER The order of the matrix A. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = 'U', the leading n by n upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading n by n lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if INFO = 0, the factor U or L from the Cholesky factorization A = U'*U or A = L*L'. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). INFO (output) INTEGER = 0: successful exit < 0: if INFO = -k, the k-th argument had an illegal value > 0: if INFO = k, the leading minor of order k is not positive definite, and the factorization could not be completed. ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; Treal c_b10 = -1.; Treal c_b12 = 1.; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3; Treal d__1; /* Local variables */ integer j; logical upper; Treal ajj; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; /* Function Body */ *info = 0; upper = template_blas_lsame(uplo, "U"); if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -1; } else if (*n < 0) { *info = -2; } else if (*lda < maxMACRO(1,*n)) { *info = -4; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("POTF2 ", &i__1); return 0; } /* Quick return if possible */ if (*n == 0) { return 0; } if (upper) { /* Compute the Cholesky factorization A = U'*U. */ i__1 = *n; for (j = 1; j <= i__1; ++j) { /* Compute U(J,J) and test for non-positive-definiteness. */ i__2 = j - 1; ajj = a_ref(j, j) - template_blas_dot(&i__2, &a_ref(1, j), &c__1, &a_ref(1, j) , &c__1); if (ajj <= 0.) { a_ref(j, j) = ajj; goto L30; } ajj = template_blas_sqrt(ajj); a_ref(j, j) = ajj; /* Compute elements J+1:N of row J. */ if (j < *n) { i__2 = j - 1; i__3 = *n - j; template_blas_gemv("Transpose", &i__2, &i__3, &c_b10, &a_ref(1, j + 1), lda, &a_ref(1, j), &c__1, &c_b12, &a_ref(j, j + 1), lda); i__2 = *n - j; d__1 = 1. / ajj; template_blas_scal(&i__2, &d__1, &a_ref(j, j + 1), lda); } /* L10: */ } } else { /* Compute the Cholesky factorization A = L*L'. */ i__1 = *n; for (j = 1; j <= i__1; ++j) { /* Compute L(J,J) and test for non-positive-definiteness. */ i__2 = j - 1; ajj = a_ref(j, j) - template_blas_dot(&i__2, &a_ref(j, 1), lda, &a_ref(j, 1), lda); if (ajj <= 0.) { a_ref(j, j) = ajj; goto L30; } ajj = template_blas_sqrt(ajj); a_ref(j, j) = ajj; /* Compute elements J+1:N of column J. */ if (j < *n) { i__2 = *n - j; i__3 = j - 1; template_blas_gemv("No transpose", &i__2, &i__3, &c_b10, &a_ref(j + 1, 1), lda, &a_ref(j, 1), lda, &c_b12, &a_ref(j + 1, j), & c__1); i__2 = *n - j; d__1 = 1. / ajj; template_blas_scal(&i__2, &d__1, &a_ref(j + 1, j), &c__1); } /* L20: */ } } goto L40; L30: *info = j; L40: return 0; /* End of DPOTF2 */ } /* dpotf2_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_orgql.h0000664000175000017500000002045612743400307023137 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_ORGQL_HEADER #define TEMPLATE_LAPACK_ORGQL_HEADER template int template_lapack_orgql(const integer *m, const integer *n, const integer *k, Treal * a, const integer *lda, const Treal *tau, Treal *work, const integer *lwork, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DORGQL generates an M-by-N real matrix Q with orthonormal columns, which is defined as the last N columns of a product of K elementary reflectors of order M Q = H(k) . . . H(2) H(1) as returned by DGEQLF. Arguments ========= M (input) INTEGER The number of rows of the matrix Q. M >= 0. N (input) INTEGER The number of columns of the matrix Q. M >= N >= 0. K (input) INTEGER The number of elementary reflectors whose product defines the matrix Q. N >= K >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the (n-k+i)-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by DGEQLF in the last k columns of its array argument A. On exit, the M-by-N matrix Q. LDA (input) INTEGER The first dimension of the array A. LDA >= max(1,M). TAU (input) DOUBLE PRECISION array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by DGEQLF. WORK (workspace/output) DOUBLE PRECISION array, dimension (LWORK) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The dimension of the array WORK. LWORK >= max(1,N). For optimum performance LWORK >= N*NB, where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument has an illegal value ===================================================================== Test the input arguments Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; integer c__3 = 3; integer c__2 = 2; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3, i__4; /* Local variables */ integer i__, j, l, nbmin, iinfo; integer ib, nb, kk; integer nx; integer ldwork, lwkopt; logical lquery; integer iws; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --tau; --work; /* Function Body */ *info = 0; nb = template_lapack_ilaenv(&c__1, "DORGQL", " ", m, n, k, &c_n1, (ftnlen)6, (ftnlen)1); lwkopt = maxMACRO(1,*n) * nb; work[1] = (Treal) lwkopt; lquery = *lwork == -1; if (*m < 0) { *info = -1; } else if (*n < 0 || *n > *m) { *info = -2; } else if (*k < 0 || *k > *n) { *info = -3; } else if (*lda < maxMACRO(1,*m)) { *info = -5; } else if (*lwork < maxMACRO(1,*n) && ! lquery) { *info = -8; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("ORGQL ", &i__1); return 0; } else if (lquery) { return 0; } /* Quick return if possible */ if (*n <= 0) { work[1] = 1.; return 0; } nbmin = 2; nx = 0; iws = *n; if (nb > 1 && nb < *k) { /* Determine when to cross over from blocked to unblocked code. Computing MAX */ i__1 = 0, i__2 = template_lapack_ilaenv(&c__3, "DORGQL", " ", m, n, k, &c_n1, ( ftnlen)6, (ftnlen)1); nx = maxMACRO(i__1,i__2); if (nx < *k) { /* Determine if workspace is large enough for blocked code. */ ldwork = *n; iws = ldwork * nb; if (*lwork < iws) { /* Not enough workspace to use optimal NB: reduce NB and determine the minimum value of NB. */ nb = *lwork / ldwork; /* Computing MAX */ i__1 = 2, i__2 = template_lapack_ilaenv(&c__2, "DORGQL", " ", m, n, k, &c_n1, (ftnlen)6, (ftnlen)1); nbmin = maxMACRO(i__1,i__2); } } } if (nb >= nbmin && nb < *k && nx < *k) { /* Use blocked code after the first block. The last kk columns are handled by the block method. Computing MIN */ i__1 = *k, i__2 = (*k - nx + nb - 1) / nb * nb; kk = minMACRO(i__1,i__2); /* Set A(m-kk+1:m,1:n-kk) to zero. */ i__1 = *n - kk; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = *m - kk + 1; i__ <= i__2; ++i__) { a_ref(i__, j) = 0.; /* L10: */ } /* L20: */ } } else { kk = 0; } /* Use unblocked code for the first or only block. */ i__1 = *m - kk; i__2 = *n - kk; i__3 = *k - kk; template_lapack_org2l(&i__1, &i__2, &i__3, &a[a_offset], lda, &tau[1], &work[1], &iinfo) ; if (kk > 0) { /* Use blocked code */ i__1 = *k; i__2 = nb; for (i__ = *k - kk + 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) { /* Computing MIN */ i__3 = nb, i__4 = *k - i__ + 1; ib = minMACRO(i__3,i__4); if (*n - *k + i__ > 1) { /* Form the triangular factor of the block reflector H = H(i+ib-1) . . . H(i+1) H(i) */ i__3 = *m - *k + i__ + ib - 1; template_lapack_larft("Backward", "Columnwise", &i__3, &ib, &a_ref(1, *n - * k + i__), lda, &tau[i__], &work[1], &ldwork); /* Apply H to A(1:m-k+i+ib-1,1:n-k+i-1) from the left */ i__3 = *m - *k + i__ + ib - 1; i__4 = *n - *k + i__ - 1; template_lapack_larfb("Left", "No transpose", "Backward", "Columnwise", & i__3, &i__4, &ib, &a_ref(1, *n - *k + i__), lda, & work[1], &ldwork, &a[a_offset], lda, &work[ib + 1], & ldwork); } /* Apply H to rows 1:m-k+i+ib-1 of current block */ i__3 = *m - *k + i__ + ib - 1; template_lapack_org2l(&i__3, &ib, &ib, &a_ref(1, *n - *k + i__), lda, &tau[i__], &work[1], &iinfo); /* Set rows m-k+i+ib:m of current block to zero */ i__3 = *n - *k + i__ + ib - 1; for (j = *n - *k + i__; j <= i__3; ++j) { i__4 = *m; for (l = *m - *k + i__ + ib; l <= i__4; ++l) { a_ref(l, j) = 0.; /* L30: */ } /* L40: */ } /* L50: */ } } work[1] = (Treal) iws; return 0; /* End of DORGQL */ } /* dorgql_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larrb.h0000664000175000017500000002701112743400307023107 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARRB_HEADER #define TEMPLATE_LAPACK_LARRB_HEADER #include "template_lapack_laneg.h" template int template_lapack_larrb(integer *n, Treal *d__, Treal *lld, integer *ifirst, integer *ilast, Treal *rtol1, Treal *rtol2, integer *offset, Treal *w, Treal *wgap, Treal *werr, Treal *work, integer *iwork, Treal *pivmin, Treal * spdiam, integer *twist, integer *info) { /* System generated locals */ integer i__1; Treal d__1, d__2; /* Local variables */ integer i__, k, r__, i1, ii, ip; Treal gap, mid, tmp, back, lgap, rgap, left; integer iter, nint, prev, next; Treal cvrgd, right, width; integer negcnt; Treal mnwdth; integer olnint, maxitr; /* -- LAPACK auxiliary routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* Given the relatively robust representation(RRR) L D L^T, DLARRB */ /* does "limited" bisection to refine the eigenvalues of L D L^T, */ /* W( IFIRST-OFFSET ) through W( ILAST-OFFSET ), to more accuracy. Initial */ /* guesses for these eigenvalues are input in W, the corresponding estimate */ /* of the error in these guesses and their gaps are input in WERR */ /* and WGAP, respectively. During bisection, intervals */ /* [left, right] are maintained by storing their mid-points and */ /* semi-widths in the arrays W and WERR respectively. */ /* Arguments */ /* ========= */ /* N (input) INTEGER */ /* The order of the matrix. */ /* D (input) DOUBLE PRECISION array, dimension (N) */ /* The N diagonal elements of the diagonal matrix D. */ /* LLD (input) DOUBLE PRECISION array, dimension (N-1) */ /* The (N-1) elements L(i)*L(i)*D(i). */ /* IFIRST (input) INTEGER */ /* The index of the first eigenvalue to be computed. */ /* ILAST (input) INTEGER */ /* The index of the last eigenvalue to be computed. */ /* RTOL1 (input) DOUBLE PRECISION */ /* RTOL2 (input) DOUBLE PRECISION */ /* Tolerance for the convergence of the bisection intervals. */ /* An interval [LEFT,RIGHT] has converged if */ /* RIGHT-LEFT.LT.MAX( RTOL1*GAP, RTOL2*MAX(|LEFT|,|RIGHT|) ) */ /* where GAP is the (estimated) distance to the nearest */ /* eigenvalue. */ /* OFFSET (input) INTEGER */ /* Offset for the arrays W, WGAP and WERR, i.e., the IFIRST-OFFSET */ /* through ILAST-OFFSET elements of these arrays are to be used. */ /* W (input/output) DOUBLE PRECISION array, dimension (N) */ /* On input, W( IFIRST-OFFSET ) through W( ILAST-OFFSET ) are */ /* estimates of the eigenvalues of L D L^T indexed IFIRST throug */ /* ILAST. */ /* On output, these estimates are refined. */ /* WGAP (input/output) DOUBLE PRECISION array, dimension (N-1) */ /* On input, the (estimated) gaps between consecutive */ /* eigenvalues of L D L^T, i.e., WGAP(I-OFFSET) is the gap between */ /* eigenvalues I and I+1. Note that if IFIRST.EQ.ILAST */ /* then WGAP(IFIRST-OFFSET) must be set to ZERO. */ /* On output, these gaps are refined. */ /* WERR (input/output) DOUBLE PRECISION array, dimension (N) */ /* On input, WERR( IFIRST-OFFSET ) through WERR( ILAST-OFFSET ) are */ /* the errors in the estimates of the corresponding elements in W. */ /* On output, these errors are refined. */ /* WORK (workspace) DOUBLE PRECISION array, dimension (2*N) */ /* Workspace. */ /* IWORK (workspace) INTEGER array, dimension (2*N) */ /* Workspace. */ /* PIVMIN (input) DOUBLE PRECISION */ /* The minimum pivot in the Sturm sequence. */ /* SPDIAM (input) DOUBLE PRECISION */ /* The spectral diameter of the matrix. */ /* TWIST (input) INTEGER */ /* The twist index for the twisted factorization that is used */ /* for the negcount. */ /* TWIST = N: Compute negcount from L D L^T - LAMBDA I = L+ D+ L+^T */ /* TWIST = 1: Compute negcount from L D L^T - LAMBDA I = U- D- U-^T */ /* TWIST = R: Compute negcount from L D L^T - LAMBDA I = N(r) D(r) N(r) */ /* INFO (output) INTEGER */ /* Error flag. */ /* Further Details */ /* =============== */ /* Based on contributions by */ /* Beresford Parlett, University of California, Berkeley, USA */ /* Jim Demmel, University of California, Berkeley, USA */ /* Inderjit Dhillon, University of Texas, Austin, USA */ /* Osni Marques, LBNL/NERSC, USA */ /* Christof Voemel, University of California, Berkeley, USA */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. External Functions .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Parameter adjustments */ --iwork; --work; --werr; --wgap; --w; --lld; --d__; /* Function Body */ *info = 0; maxitr = (integer) ((template_blas_log(*spdiam + *pivmin) - template_blas_log(*pivmin)) / template_blas_log(2.)) + 2; mnwdth = *pivmin * 2.; r__ = *twist; if (r__ < 1 || r__ > *n) { r__ = *n; } /* Initialize unconverged intervals in [ WORK(2*I-1), WORK(2*I) ]. */ /* The Sturm Count, Count( WORK(2*I-1) ) is arranged to be I-1, while */ /* Count( WORK(2*I) ) is stored in IWORK( 2*I ). The integer IWORK( 2*I-1 ) */ /* for an unconverged interval is set to the index of the next unconverged */ /* interval, and is -1 or 0 for a converged interval. Thus a linked */ /* list of unconverged intervals is set up. */ i1 = *ifirst; /* The number of unconverged intervals */ nint = 0; /* The last unconverged interval found */ prev = 0; rgap = wgap[i1 - *offset]; i__1 = *ilast; for (i__ = i1; i__ <= i__1; ++i__) { k = i__ << 1; ii = i__ - *offset; left = w[ii] - werr[ii]; right = w[ii] + werr[ii]; lgap = rgap; rgap = wgap[ii]; gap = minMACRO(lgap,rgap); /* Make sure that [LEFT,RIGHT] contains the desired eigenvalue */ /* Compute negcount from dstqds facto L+D+L+^T = L D L^T - LEFT */ /* Do while( NEGCNT(LEFT).GT.I-1 ) */ back = werr[ii]; L20: negcnt = template_lapack_laneg(n, &d__[1], &lld[1], &left, pivmin, &r__); if (negcnt > i__ - 1) { left -= back; back *= 2.; goto L20; } /* Do while( NEGCNT(RIGHT).LT.I ) */ /* Compute negcount from dstqds facto L+D+L+^T = L D L^T - RIGHT */ back = werr[ii]; L50: negcnt = template_lapack_laneg(n, &d__[1], &lld[1], &right, pivmin, &r__); if (negcnt < i__) { right += back; back *= 2.; goto L50; } width = (d__1 = left - right, absMACRO(d__1)) * .5; /* Computing MAX */ d__1 = absMACRO(left), d__2 = absMACRO(right); tmp = maxMACRO(d__1,d__2); /* Computing MAX */ d__1 = *rtol1 * gap, d__2 = *rtol2 * tmp; cvrgd = maxMACRO(d__1,d__2); if (width <= cvrgd || width <= mnwdth) { /* This interval has already converged and does not need refinement. */ /* (Note that the gaps might change through refining the */ /* eigenvalues, however, they can only get bigger.) */ /* Remove it from the list. */ iwork[k - 1] = -1; /* Make sure that I1 always points to the first unconverged interval */ if (i__ == i1 && i__ < *ilast) { i1 = i__ + 1; } if (prev >= i1 && i__ <= *ilast) { iwork[(prev << 1) - 1] = i__ + 1; } } else { /* unconverged interval found */ prev = i__; ++nint; iwork[k - 1] = i__ + 1; iwork[k] = negcnt; } work[k - 1] = left; work[k] = right; /* L75: */ } /* Do while( NINT.GT.0 ), i.e. there are still unconverged intervals */ /* and while (ITER.LT.MAXITR) */ iter = 0; L80: prev = i1 - 1; i__ = i1; olnint = nint; i__1 = olnint; for (ip = 1; ip <= i__1; ++ip) { k = i__ << 1; ii = i__ - *offset; rgap = wgap[ii]; lgap = rgap; if (ii > 1) { lgap = wgap[ii - 1]; } gap = minMACRO(lgap,rgap); next = iwork[k - 1]; left = work[k - 1]; right = work[k]; mid = (left + right) * .5; /* semiwidth of interval */ width = right - mid; /* Computing MAX */ d__1 = absMACRO(left), d__2 = absMACRO(right); tmp = maxMACRO(d__1,d__2); /* Computing MAX */ d__1 = *rtol1 * gap, d__2 = *rtol2 * tmp; cvrgd = maxMACRO(d__1,d__2); if (width <= cvrgd || width <= mnwdth || iter == maxitr) { /* reduce number of unconverged intervals */ --nint; /* Mark interval as converged. */ iwork[k - 1] = 0; if (i1 == i__) { i1 = next; } else { /* Prev holds the last unconverged interval previously examined */ if (prev >= i1) { iwork[(prev << 1) - 1] = next; } } i__ = next; goto L100; } prev = i__; /* Perform one bisection step */ negcnt = template_lapack_laneg(n, &d__[1], &lld[1], &mid, pivmin, &r__); if (negcnt <= i__ - 1) { work[k - 1] = mid; } else { work[k] = mid; } i__ = next; L100: ; } ++iter; /* do another loop if there are still unconverged intervals */ /* However, in the last iteration, all intervals are accepted */ /* since this is the best we can do. */ if (nint > 0 && iter <= maxitr) { goto L80; } /* At this point, all the intervals have converged */ i__1 = *ilast; for (i__ = *ifirst; i__ <= i__1; ++i__) { k = i__ << 1; ii = i__ - *offset; /* All intervals marked by '0' have been refined. */ if (iwork[k - 1] == 0) { w[ii] = (work[k - 1] + work[k]) * .5; werr[ii] = work[k] - w[ii]; } /* L110: */ } i__1 = *ilast; for (i__ = *ifirst + 1; i__ <= i__1; ++i__) { k = i__ << 1; ii = i__ - *offset; /* Computing MAX */ d__1 = 0., d__2 = w[ii] - werr[ii] - w[ii - 1] - werr[ii - 1]; wgap[ii - 1] = maxMACRO(d__1,d__2); /* L111: */ } return 0; /* End of DLARRB */ } /* dlarrb_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/test.sh0000775000175000017500000000152712743400275017754 00000000000000#!/bin/sh if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi # Prefer gawk - we know exactly what it can do. # awk on Sun does not support functions, need to use nawk for this if gawk '{print 1}' /dev/null 2>&1; then AWK=gawk elif nawk '{print 1}' /dev/null 2>&1; then AWK=nawk else AWK=awk fi echo echo Testing template_lapack "$top_builddir"/source/matrix/template_lapack/lapack/templatelapacktest if [ $? -eq 0 ] then echo template_lapack test OK else echo ERROR in template_lapack test exit 1 fi echo echo Testing template_lapack with threads "$top_builddir"/source/matrix/template_lapack/lapack/templatelapacktest_threaded if [ $? -eq 0 ] then echo template_lapack with threads test OK else echo ERROR in template_lapack with threads test exit 1 fi ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_laset.h0000664000175000017500000001175012743400307023120 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LASET_HEADER #define TEMPLATE_LAPACK_LASET_HEADER template int template_lapack_laset(const char *uplo, const integer *m, const integer *n, const Treal * alpha, const Treal *beta, Treal *a, const integer *lda) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLASET initializes an m-by-n matrix A to BETA on the diagonal and ALPHA on the offdiagonals. Arguments ========= UPLO (input) CHARACTER*1 Specifies the part of the matrix A to be set. = 'U': Upper triangular part is set; the strictly lower triangular part of A is not changed. = 'L': Lower triangular part is set; the strictly upper triangular part of A is not changed. Otherwise: All of the matrix A is set. M (input) INTEGER The number of rows of the matrix A. M >= 0. N (input) INTEGER The number of columns of the matrix A. N >= 0. ALPHA (input) DOUBLE PRECISION The constant to which the offdiagonal elements are to be set. BETA (input) DOUBLE PRECISION The constant to which the diagonal elements are to be set. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On exit, the leading m-by-n submatrix of A is set as follows: if UPLO = 'U', A(i,j) = ALPHA, 1<=i<=j-1, 1<=j<=n, if UPLO = 'L', A(i,j) = ALPHA, j+1<=i<=m, 1<=j<=n, otherwise, A(i,j) = ALPHA, 1<=i<=m, 1<=j<=n, i.ne.j, and, for all UPLO, A(i,i) = BETA, 1<=i<=min(m,n). LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,M). ===================================================================== Parameter adjustments */ /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3; /* Local variables */ integer i__, j; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; /* Function Body */ if (template_blas_lsame(uplo, "U")) { /* Set the strictly upper triangular or trapezoidal part of the array to ALPHA. */ i__1 = *n; for (j = 2; j <= i__1; ++j) { /* Computing MIN */ i__3 = j - 1; i__2 = minMACRO(i__3,*m); for (i__ = 1; i__ <= i__2; ++i__) { a_ref(i__, j) = *alpha; /* L10: */ } /* L20: */ } } else if (template_blas_lsame(uplo, "L")) { /* Set the strictly lower triangular or trapezoidal part of the array to ALPHA. */ i__1 = minMACRO(*m,*n); for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = j + 1; i__ <= i__2; ++i__) { a_ref(i__, j) = *alpha; /* L30: */ } /* L40: */ } } else { /* Set the leading m-by-n submatrix to ALPHA. */ i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { a_ref(i__, j) = *alpha; /* L50: */ } /* L60: */ } } /* Set the first min(M,N) diagonal elements to BETA. */ i__1 = minMACRO(*m,*n); for (i__ = 1; i__ <= i__1; ++i__) { a_ref(i__, i__) = *beta; /* L70: */ } return 0; /* End of DLASET */ } /* dlaset_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lagts.h0000664000175000017500000002427512743400307023130 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LAGTS_HEADER #define TEMPLATE_LAPACK_LAGTS_HEADER template int template_lapack_lagts(const integer *job, const integer *n, const Treal *a, const Treal *b, const Treal *c__, const Treal *d__, const integer *in, Treal *y, Treal *tol, integer *info) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLAGTS may be used to solve one of the systems of equations (T - lambda*I)*x = y or (T - lambda*I)'*x = y, where T is an n by n tridiagonal matrix, for x, following the factorization of (T - lambda*I) as (T - lambda*I) = P*L*U , by routine DLAGTF. The choice of equation to be solved is controlled by the argument JOB, and in each case there is an option to perturb zero or very small diagonal elements of U, this option being intended for use in applications such as inverse iteration. Arguments ========= JOB (input) INTEGER Specifies the job to be performed by DLAGTS as follows: = 1: The equations (T - lambda*I)x = y are to be solved, but diagonal elements of U are not to be perturbed. = -1: The equations (T - lambda*I)x = y are to be solved and, if overflow would otherwise occur, the diagonal elements of U are to be perturbed. See argument TOL below. = 2: The equations (T - lambda*I)'x = y are to be solved, but diagonal elements of U are not to be perturbed. = -2: The equations (T - lambda*I)'x = y are to be solved and, if overflow would otherwise occur, the diagonal elements of U are to be perturbed. See argument TOL below. N (input) INTEGER The order of the matrix T. A (input) DOUBLE PRECISION array, dimension (N) On entry, A must contain the diagonal elements of U as returned from DLAGTF. B (input) DOUBLE PRECISION array, dimension (N-1) On entry, B must contain the first super-diagonal elements of U as returned from DLAGTF. C (input) DOUBLE PRECISION array, dimension (N-1) On entry, C must contain the sub-diagonal elements of L as returned from DLAGTF. D (input) DOUBLE PRECISION array, dimension (N-2) On entry, D must contain the second super-diagonal elements of U as returned from DLAGTF. IN (input) INTEGER array, dimension (N) On entry, IN must contain details of the matrix P as returned from DLAGTF. Y (input/output) DOUBLE PRECISION array, dimension (N) On entry, the right hand side vector y. On exit, Y is overwritten by the solution vector x. TOL (input/output) DOUBLE PRECISION On entry, with JOB .lt. 0, TOL should be the minimum perturbation to be made to very small diagonal elements of U. TOL should normally be chosen as about eps*norm(U), where eps is the relative machine precision, but if TOL is supplied as non-positive, then it is reset to eps*max( abs( u(i,j) ) ). If JOB .gt. 0 then TOL is not referenced. On exit, TOL is changed as described above, only if TOL is non-positive on entry. Otherwise TOL is unchanged. INFO (output) INTEGER = 0 : successful exit .lt. 0: if INFO = -i, the i-th argument had an illegal value .gt. 0: overflow would occur when computing the INFO(th) element of the solution vector x. This can only occur when JOB is supplied as positive and either means that a diagonal element of U is very small, or that the elements of the right-hand side vector y are very large. ===================================================================== Parameter adjustments */ /* System generated locals */ integer i__1; Treal d__1, d__2, d__3, d__4, d__5; /* Local variables */ Treal temp, pert; integer k; Treal absak, sfmin, ak; Treal bignum, eps; --y; --in; --d__; --c__; --b; --a; /* Function Body */ *info = 0; if (absMACRO(*job) > 2 || *job == 0) { *info = -1; } else if (*n < 0) { *info = -2; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("LAGTS ", &i__1); return 0; } if (*n == 0) { return 0; } eps = template_lapack_lamch("Epsilon", (Treal)0); sfmin = template_lapack_lamch("Safe minimum", (Treal)0); bignum = 1. / sfmin; if (*job < 0) { if (*tol <= 0.) { *tol = absMACRO(a[1]); if (*n > 1) { /* Computing MAX */ d__1 = *tol, d__2 = absMACRO(a[2]), d__1 = maxMACRO(d__1,d__2), d__2 = absMACRO(b[1]); *tol = maxMACRO(d__1,d__2); } i__1 = *n; for (k = 3; k <= i__1; ++k) { /* Computing MAX */ d__4 = *tol, d__5 = (d__1 = a[k], absMACRO(d__1)), d__4 = maxMACRO(d__4, d__5), d__5 = (d__2 = b[k - 1], absMACRO(d__2)), d__4 = maxMACRO(d__4,d__5), d__5 = (d__3 = d__[k - 2], absMACRO(d__3)); *tol = maxMACRO(d__4,d__5); /* L10: */ } *tol *= eps; if (*tol == 0.) { *tol = eps; } } } if (absMACRO(*job) == 1) { i__1 = *n; for (k = 2; k <= i__1; ++k) { if (in[k - 1] == 0) { y[k] -= c__[k - 1] * y[k - 1]; } else { temp = y[k - 1]; y[k - 1] = y[k]; y[k] = temp - c__[k - 1] * y[k]; } /* L20: */ } if (*job == 1) { for (k = *n; k >= 1; --k) { if (k <= *n - 2) { temp = y[k] - b[k] * y[k + 1] - d__[k] * y[k + 2]; } else if (k == *n - 1) { temp = y[k] - b[k] * y[k + 1]; } else { temp = y[k]; } ak = a[k]; absak = absMACRO(ak); if (absak < 1.) { if (absak < sfmin) { if (absak == 0. || absMACRO(temp) * sfmin > absak) { *info = k; return 0; } else { temp *= bignum; ak *= bignum; } } else if (absMACRO(temp) > absak * bignum) { *info = k; return 0; } } y[k] = temp / ak; /* L30: */ } } else { for (k = *n; k >= 1; --k) { if (k <= *n - 2) { temp = y[k] - b[k] * y[k + 1] - d__[k] * y[k + 2]; } else if (k == *n - 1) { temp = y[k] - b[k] * y[k + 1]; } else { temp = y[k]; } ak = a[k]; pert = template_lapack_d_sign(tol, &ak); L40: absak = absMACRO(ak); if (absak < 1.) { if (absak < sfmin) { if (absak == 0. || absMACRO(temp) * sfmin > absak) { ak += pert; pert *= 2; goto L40; } else { temp *= bignum; ak *= bignum; } } else if (absMACRO(temp) > absak * bignum) { ak += pert; pert *= 2; goto L40; } } y[k] = temp / ak; /* L50: */ } } } else { /* Come to here if JOB = 2 or -2 */ if (*job == 2) { i__1 = *n; for (k = 1; k <= i__1; ++k) { if (k >= 3) { temp = y[k] - b[k - 1] * y[k - 1] - d__[k - 2] * y[k - 2]; } else if (k == 2) { temp = y[k] - b[k - 1] * y[k - 1]; } else { temp = y[k]; } ak = a[k]; absak = absMACRO(ak); if (absak < 1.) { if (absak < sfmin) { if (absak == 0. || absMACRO(temp) * sfmin > absak) { *info = k; return 0; } else { temp *= bignum; ak *= bignum; } } else if (absMACRO(temp) > absak * bignum) { *info = k; return 0; } } y[k] = temp / ak; /* L60: */ } } else { i__1 = *n; for (k = 1; k <= i__1; ++k) { if (k >= 3) { temp = y[k] - b[k - 1] * y[k - 1] - d__[k - 2] * y[k - 2]; } else if (k == 2) { temp = y[k] - b[k - 1] * y[k - 1]; } else { temp = y[k]; } ak = a[k]; pert = template_lapack_d_sign(tol, &ak); L70: absak = absMACRO(ak); if (absak < 1.) { if (absak < sfmin) { if (absak == 0. || absMACRO(temp) * sfmin > absak) { ak += pert; pert *= 2; goto L70; } else { temp *= bignum; ak *= bignum; } } else if (absMACRO(temp) > absak * bignum) { ak += pert; pert *= 2; goto L70; } } y[k] = temp / ak; /* L80: */ } } for (k = *n; k >= 2; --k) { if (in[k - 1] == 0) { y[k - 1] -= c__[k - 1] * y[k]; } else { temp = y[k - 1]; y[k - 1] = y[k]; y[k] = temp - c__[k - 1] * y[k]; } /* L90: */ } } /* End of DLAGTS */ return 0; } /* dlagts_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_latrs.h0000664000175000017500000005313512743400307023140 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LATRS_HEADER #define TEMPLATE_LAPACK_LATRS_HEADER template int template_lapack_latrs(const char *uplo, const char *trans, const char *diag, const char * normin, const integer *n, const Treal *a, const integer *lda, Treal *x, Treal *scale, Treal *cnorm, integer *info) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1992 Purpose ======= DLATRS solves one of the triangular systems A *x = s*b or A'*x = s*b with scaling to prevent overflow. Here A is an upper or lower triangular matrix, A' denotes the transpose of A, x and b are n-element vectors, and s is a scaling factor, usually less than or equal to 1, chosen so that the components of x will be less than the overflow threshold. If the unscaled problem will not cause overflow, the Level 2 BLAS routine DTRSV is called. If the matrix A is singular (A(j,j) = 0 for some j), then s is set to 0 and a non-trivial solution to A*x = 0 is returned. Arguments ========= UPLO (input) CHARACTER*1 Specifies whether the matrix A is upper or lower triangular. = 'U': Upper triangular = 'L': Lower triangular TRANS (input) CHARACTER*1 Specifies the operation applied to A. = 'N': Solve A * x = s*b (No transpose) = 'T': Solve A'* x = s*b (Transpose) = 'C': Solve A'* x = s*b (Conjugate transpose = Transpose) DIAG (input) CHARACTER*1 Specifies whether or not the matrix A is unit triangular. = 'N': Non-unit triangular = 'U': Unit triangular NORMIN (input) CHARACTER*1 Specifies whether CNORM has been set or not. = 'Y': CNORM contains the column norms on entry = 'N': CNORM is not set on entry. On exit, the norms will be computed and stored in CNORM. N (input) INTEGER The order of the matrix A. N >= 0. A (input) DOUBLE PRECISION array, dimension (LDA,N) The triangular matrix A. If UPLO = 'U', the leading n by n upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading n by n lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1. LDA (input) INTEGER The leading dimension of the array A. LDA >= max (1,N). X (input/output) DOUBLE PRECISION array, dimension (N) On entry, the right hand side b of the triangular system. On exit, X is overwritten by the solution vector x. SCALE (output) DOUBLE PRECISION The scaling factor s for the triangular system A * x = s*b or A'* x = s*b. If SCALE = 0, the matrix A is singular or badly scaled, and the vector x is an exact or approximate solution to A*x = 0. CNORM (input or output) DOUBLE PRECISION array, dimension (N) If NORMIN = 'Y', CNORM is an input argument and CNORM(j) contains the norm of the off-diagonal part of the j-th column of A. If TRANS = 'N', CNORM(j) must be greater than or equal to the infinity-norm, and if TRANS = 'T' or 'C', CNORM(j) must be greater than or equal to the 1-norm. If NORMIN = 'N', CNORM is an output argument and CNORM(j) returns the 1-norm of the offdiagonal part of the j-th column of A. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -k, the k-th argument had an illegal value Further Details ======= ======= A rough bound on x is computed; if that is less than overflow, DTRSV is called, otherwise, specific code is used which checks for possible overflow or divide-by-zero at every operation. A columnwise scheme is used for solving A*x = b. The basic algorithm if A is lower triangular is x[1:n] := b[1:n] for j = 1, ..., n x(j) := x(j) / A(j,j) x[j+1:n] := x[j+1:n] - x(j) * A[j+1:n,j] end Define bounds on the components of x after j iterations of the loop: M(j) = bound on x[1:j] G(j) = bound on x[j+1:n] Initially, let M(0) = 0 and G(0) = max{x(i), i=1,...,n}. Then for iteration j+1 we have M(j+1) <= G(j) / | A(j+1,j+1) | G(j+1) <= G(j) + M(j+1) * | A[j+2:n,j+1] | <= G(j) ( 1 + CNORM(j+1) / | A(j+1,j+1) | ) where CNORM(j+1) is greater than or equal to the infinity-norm of column j+1 of A, not counting the diagonal. Hence G(j) <= G(0) product ( 1 + CNORM(i) / | A(i,i) | ) 1<=i<=j and |x(j)| <= ( G(0) / |A(j,j)| ) product ( 1 + CNORM(i) / |A(i,i)| ) 1<=i< j Since |x(j)| <= M(j), we use the Level 2 BLAS routine DTRSV if the reciprocal of the largest M(j), j=1,..,n, is larger than max(underflow, 1/overflow). The bound on x(j) is also used to determine when a step in the columnwise method can be performed without fear of overflow. If the computed bound is greater than a large constant, x is scaled to prevent overflow, but if the bound overflows, x is set to 0, x(j) to 1, and scale to 0, and a non-trivial solution to A*x = 0 is found. Similarly, a row-wise scheme is used to solve A'*x = b. The basic algorithm for A upper triangular is for j = 1, ..., n x(j) := ( b(j) - A[1:j-1,j]' * x[1:j-1] ) / A(j,j) end We simultaneously compute two bounds G(j) = bound on ( b(i) - A[1:i-1,i]' * x[1:i-1] ), 1<=i<=j M(j) = bound on x(i), 1<=i<=j The initial values are G(0) = 0, M(0) = max{b(i), i=1,..,n}, and we add the constraint G(j) >= G(j-1) and M(j) >= M(j-1) for j >= 1. Then the bound on x(j) is M(j) <= M(j-1) * ( 1 + CNORM(j) ) / | A(j,j) | <= M(0) * product ( ( 1 + CNORM(i) ) / |A(i,i)| ) 1<=i<=j and we can safely call DTRSV if 1/M(n) and 1/G(n) are both greater than max(underflow, 1/overflow). ===================================================================== Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; Treal c_b36 = .5; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3; Treal d__1, d__2, d__3; /* Local variables */ integer jinc; Treal xbnd; integer imax; Treal tmax, tjjs, xmax, grow, sumj; integer i__, j; Treal tscal, uscal; integer jlast; logical upper; Treal xj; Treal bignum; logical notran; integer jfirst; Treal smlnum; logical nounit; Treal rec, tjj; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --x; --cnorm; /* Function Body */ *info = 0; upper = template_blas_lsame(uplo, "U"); notran = template_blas_lsame(trans, "N"); nounit = template_blas_lsame(diag, "N"); /* Test the input parameters. */ if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -1; } else if (! notran && ! template_blas_lsame(trans, "T") && ! template_blas_lsame(trans, "C")) { *info = -2; } else if (! nounit && ! template_blas_lsame(diag, "U")) { *info = -3; } else if (! template_blas_lsame(normin, "Y") && ! template_blas_lsame(normin, "N")) { *info = -4; } else if (*n < 0) { *info = -5; } else if (*lda < maxMACRO(1,*n)) { *info = -7; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("LATRS ", &i__1); return 0; } /* Quick return if possible */ if (*n == 0) { return 0; } /* Determine machine dependent parameters to control overflow. */ smlnum = template_lapack_lamch("Safe minimum", (Treal)0) / template_lapack_lamch("Precision", (Treal)0); bignum = 1. / smlnum; *scale = 1.; if (template_blas_lsame(normin, "N")) { /* Compute the 1-norm of each column, not including the diagonal. */ if (upper) { /* A is upper triangular. */ i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = j - 1; cnorm[j] = template_blas_asum(&i__2, &a_ref(1, j), &c__1); /* L10: */ } } else { /* A is lower triangular. */ i__1 = *n - 1; for (j = 1; j <= i__1; ++j) { i__2 = *n - j; cnorm[j] = template_blas_asum(&i__2, &a_ref(j + 1, j), &c__1); /* L20: */ } cnorm[*n] = 0.; } } /* Scale the column norms by TSCAL if the maximum element in CNORM is greater than BIGNUM. */ imax = template_blas_idamax(n, &cnorm[1], &c__1); tmax = cnorm[imax]; if (tmax <= bignum) { tscal = 1.; } else { tscal = 1. / (smlnum * tmax); dscal_(n, &tscal, &cnorm[1], &c__1); } /* Compute a bound on the computed solution vector to see if the Level 2 BLAS routine DTRSV can be used. */ j = template_blas_idamax(n, &x[1], &c__1); xmax = (d__1 = x[j], absMACRO(d__1)); xbnd = xmax; if (notran) { /* Compute the growth in A * x = b. */ if (upper) { jfirst = *n; jlast = 1; jinc = -1; } else { jfirst = 1; jlast = *n; jinc = 1; } if (tscal != 1.) { grow = 0.; goto L50; } if (nounit) { /* A is non-unit triangular. Compute GROW = 1/G(j) and XBND = 1/M(j). Initially, G(0) = max{x(i), i=1,...,n}. */ grow = 1. / maxMACRO(xbnd,smlnum); xbnd = grow; i__1 = jlast; i__2 = jinc; for (j = jfirst; i__2 < 0 ? j >= i__1 : j <= i__1; j += i__2) { /* Exit the loop if the growth factor is too small. */ if (grow <= smlnum) { goto L50; } /* M(j) = G(j-1) / absMACRO(A(j,j)) */ tjj = (d__1 = a_ref(j, j), absMACRO(d__1)); /* Computing MIN */ d__1 = xbnd, d__2 = minMACRO(1.,tjj) * grow; xbnd = minMACRO(d__1,d__2); if (tjj + cnorm[j] >= smlnum) { /* G(j) = G(j-1)*( 1 + CNORM(j) / absMACRO(A(j,j)) ) */ grow *= tjj / (tjj + cnorm[j]); } else { /* G(j) could overflow, set GROW to 0. */ grow = 0.; } /* L30: */ } grow = xbnd; } else { /* A is unit triangular. Compute GROW = 1/G(j), where G(0) = max{x(i), i=1,...,n}. Computing MIN */ d__1 = 1., d__2 = 1. / maxMACRO(xbnd,smlnum); grow = minMACRO(d__1,d__2); i__2 = jlast; i__1 = jinc; for (j = jfirst; i__1 < 0 ? j >= i__2 : j <= i__2; j += i__1) { /* Exit the loop if the growth factor is too small. */ if (grow <= smlnum) { goto L50; } /* G(j) = G(j-1)*( 1 + CNORM(j) ) */ grow *= 1. / (cnorm[j] + 1.); /* L40: */ } } L50: ; } else { /* Compute the growth in A' * x = b. */ if (upper) { jfirst = 1; jlast = *n; jinc = 1; } else { jfirst = *n; jlast = 1; jinc = -1; } if (tscal != 1.) { grow = 0.; goto L80; } if (nounit) { /* A is non-unit triangular. Compute GROW = 1/G(j) and XBND = 1/M(j). Initially, M(0) = max{x(i), i=1,...,n}. */ grow = 1. / maxMACRO(xbnd,smlnum); xbnd = grow; i__1 = jlast; i__2 = jinc; for (j = jfirst; i__2 < 0 ? j >= i__1 : j <= i__1; j += i__2) { /* Exit the loop if the growth factor is too small. */ if (grow <= smlnum) { goto L80; } /* G(j) = maxMACRO( G(j-1), M(j-1)*( 1 + CNORM(j) ) ) */ xj = cnorm[j] + 1.; /* Computing MIN */ d__1 = grow, d__2 = xbnd / xj; grow = minMACRO(d__1,d__2); /* M(j) = M(j-1)*( 1 + CNORM(j) ) / absMACRO(A(j,j)) */ tjj = (d__1 = a_ref(j, j), absMACRO(d__1)); if (xj > tjj) { xbnd *= tjj / xj; } /* L60: */ } grow = minMACRO(grow,xbnd); } else { /* A is unit triangular. Compute GROW = 1/G(j), where G(0) = max{x(i), i=1,...,n}. Computing MIN */ d__1 = 1., d__2 = 1. / maxMACRO(xbnd,smlnum); grow = minMACRO(d__1,d__2); i__2 = jlast; i__1 = jinc; for (j = jfirst; i__1 < 0 ? j >= i__2 : j <= i__2; j += i__1) { /* Exit the loop if the growth factor is too small. */ if (grow <= smlnum) { goto L80; } /* G(j) = ( 1 + CNORM(j) )*G(j-1) */ xj = cnorm[j] + 1.; grow /= xj; /* L70: */ } } L80: ; } if (grow * tscal > smlnum) { /* Use the Level 2 BLAS solve if the reciprocal of the bound on elements of X is not too small. */ template_blas_trsv(uplo, trans, diag, n, &a[a_offset], lda, &x[1], &c__1); } else { /* Use a Level 1 BLAS solve, scaling intermediate results. */ if (xmax > bignum) { /* Scale X so that its components are less than or equal to BIGNUM in absolute value. */ *scale = bignum / xmax; dscal_(n, scale, &x[1], &c__1); xmax = bignum; } if (notran) { /* Solve A * x = b */ i__1 = jlast; i__2 = jinc; for (j = jfirst; i__2 < 0 ? j >= i__1 : j <= i__1; j += i__2) { /* Compute x(j) = b(j) / A(j,j), scaling x if necessary. */ xj = (d__1 = x[j], absMACRO(d__1)); if (nounit) { tjjs = a_ref(j, j) * tscal; } else { tjjs = tscal; if (tscal == 1.) { goto L100; } } tjj = absMACRO(tjjs); if (tjj > smlnum) { /* absMACRO(A(j,j)) > SMLNUM: */ if (tjj < 1.) { if (xj > tjj * bignum) { /* Scale x by 1/b(j). */ rec = 1. / xj; dscal_(n, &rec, &x[1], &c__1); *scale *= rec; xmax *= rec; } } x[j] /= tjjs; xj = (d__1 = x[j], absMACRO(d__1)); } else if (tjj > 0.) { /* 0 < absMACRO(A(j,j)) <= SMLNUM: */ if (xj > tjj * bignum) { /* Scale x by (1/absMACRO(x(j)))*absMACRO(A(j,j))*BIGNUM to avoid overflow when dividing by A(j,j). */ rec = tjj * bignum / xj; if (cnorm[j] > 1.) { /* Scale by 1/CNORM(j) to avoid overflow when multiplying x(j) times column j. */ rec /= cnorm[j]; } dscal_(n, &rec, &x[1], &c__1); *scale *= rec; xmax *= rec; } x[j] /= tjjs; xj = (d__1 = x[j], absMACRO(d__1)); } else { /* A(j,j) = 0: Set x(1:n) = 0, x(j) = 1, and scale = 0, and compute a solution to A*x = 0. */ i__3 = *n; for (i__ = 1; i__ <= i__3; ++i__) { x[i__] = 0.; /* L90: */ } x[j] = 1.; xj = 1.; *scale = 0.; xmax = 0.; } L100: /* Scale x if necessary to avoid overflow when adding a multiple of column j of A. */ if (xj > 1.) { rec = 1. / xj; if (cnorm[j] > (bignum - xmax) * rec) { /* Scale x by 1/(2*absMACRO(x(j))). */ rec *= .5; dscal_(n, &rec, &x[1], &c__1); *scale *= rec; } } else if (xj * cnorm[j] > bignum - xmax) { /* Scale x by 1/2. */ dscal_(n, &c_b36, &x[1], &c__1); *scale *= .5; } if (upper) { if (j > 1) { /* Compute the update x(1:j-1) := x(1:j-1) - x(j) * A(1:j-1,j) */ i__3 = j - 1; d__1 = -x[j] * tscal; daxpy_(&i__3, &d__1, &a_ref(1, j), &c__1, &x[1], & c__1); i__3 = j - 1; i__ = template_blas_idamax(&i__3, &x[1], &c__1); xmax = (d__1 = x[i__], absMACRO(d__1)); } } else { if (j < *n) { /* Compute the update x(j+1:n) := x(j+1:n) - x(j) * A(j+1:n,j) */ i__3 = *n - j; d__1 = -x[j] * tscal; daxpy_(&i__3, &d__1, &a_ref(j + 1, j), &c__1, &x[j + 1], &c__1); i__3 = *n - j; i__ = j + template_blas_idamax(&i__3, &x[j + 1], &c__1); xmax = (d__1 = x[i__], absMACRO(d__1)); } } /* L110: */ } } else { /* Solve A' * x = b */ i__2 = jlast; i__1 = jinc; for (j = jfirst; i__1 < 0 ? j >= i__2 : j <= i__2; j += i__1) { /* Compute x(j) = b(j) - sum A(k,j)*x(k). k<>j */ xj = (d__1 = x[j], absMACRO(d__1)); uscal = tscal; rec = 1. / maxMACRO(xmax,1.); if (cnorm[j] > (bignum - xj) * rec) { /* If x(j) could overflow, scale x by 1/(2*XMAX). */ rec *= .5; if (nounit) { tjjs = a_ref(j, j) * tscal; } else { tjjs = tscal; } tjj = absMACRO(tjjs); if (tjj > 1.) { /* Divide by A(j,j) when scaling x if A(j,j) > 1. Computing MIN */ d__1 = 1., d__2 = rec * tjj; rec = minMACRO(d__1,d__2); uscal /= tjjs; } if (rec < 1.) { dscal_(n, &rec, &x[1], &c__1); *scale *= rec; xmax *= rec; } } sumj = 0.; if (uscal == 1.) { /* If the scaling needed for A in the dot product is 1, call DDOT to perform the dot product. */ if (upper) { i__3 = j - 1; sumj = ddot_(&i__3, &a_ref(1, j), &c__1, &x[1], &c__1) ; } else if (j < *n) { i__3 = *n - j; sumj = ddot_(&i__3, &a_ref(j + 1, j), &c__1, &x[j + 1] , &c__1); } } else { /* Otherwise, use in-line code for the dot product. */ if (upper) { i__3 = j - 1; for (i__ = 1; i__ <= i__3; ++i__) { sumj += a_ref(i__, j) * uscal * x[i__]; /* L120: */ } } else if (j < *n) { i__3 = *n; for (i__ = j + 1; i__ <= i__3; ++i__) { sumj += a_ref(i__, j) * uscal * x[i__]; /* L130: */ } } } if (uscal == tscal) { /* Compute x(j) := ( x(j) - sumj ) / A(j,j) if 1/A(j,j) was not used to scale the dotproduct. */ x[j] -= sumj; xj = (d__1 = x[j], absMACRO(d__1)); if (nounit) { tjjs = a_ref(j, j) * tscal; } else { tjjs = tscal; if (tscal == 1.) { goto L150; } } /* Compute x(j) = x(j) / A(j,j), scaling if necessary. */ tjj = absMACRO(tjjs); if (tjj > smlnum) { /* absMACRO(A(j,j)) > SMLNUM: */ if (tjj < 1.) { if (xj > tjj * bignum) { /* Scale X by 1/absMACRO(x(j)). */ rec = 1. / xj; dscal_(n, &rec, &x[1], &c__1); *scale *= rec; xmax *= rec; } } x[j] /= tjjs; } else if (tjj > 0.) { /* 0 < absMACRO(A(j,j)) <= SMLNUM: */ if (xj > tjj * bignum) { /* Scale x by (1/absMACRO(x(j)))*absMACRO(A(j,j))*BIGNUM. */ rec = tjj * bignum / xj; dscal_(n, &rec, &x[1], &c__1); *scale *= rec; xmax *= rec; } x[j] /= tjjs; } else { /* A(j,j) = 0: Set x(1:n) = 0, x(j) = 1, and scale = 0, and compute a solution to A'*x = 0. */ i__3 = *n; for (i__ = 1; i__ <= i__3; ++i__) { x[i__] = 0.; /* L140: */ } x[j] = 1.; *scale = 0.; xmax = 0.; } L150: ; } else { /* Compute x(j) := x(j) / A(j,j) - sumj if the dot product has already been divided by 1/A(j,j). */ x[j] = x[j] / tjjs - sumj; } /* Computing MAX */ d__2 = xmax, d__3 = (d__1 = x[j], absMACRO(d__1)); xmax = maxMACRO(d__2,d__3); /* L160: */ } } *scale /= tscal; } /* Scale the column norms by 1/TSCAL for return. */ if (tscal != 1.) { d__1 = 1. / tscal; dscal_(n, &d__1, &cnorm[1], &c__1); } return 0; /* End of DLATRS */ } /* dlatrs_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_potrf.h0000664000175000017500000001645312743400307023147 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_POTRF_HEADER #define TEMPLATE_LAPACK_POTRF_HEADER #include "template_lapack_potf2.h" template int template_lapack_potrf(const char *uplo, const integer *n, Treal *a, const integer * lda, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University March 31, 1993 Purpose ======= DPOTRF computes the Cholesky factorization of a real symmetric positive definite matrix A. The factorization has the form A = U**T * U, if UPLO = 'U', or A = L * L**T, if UPLO = 'L', where U is an upper triangular matrix and L is lower triangular. This is the block version of the algorithm, calling Level 3 BLAS. Arguments ========= UPLO (input) CHARACTER*1 = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. N (input) INTEGER The order of the matrix A. N >= 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, if INFO = 0, the factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed. ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; Treal c_b13 = -1.; Treal c_b14 = 1.; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3, i__4; /* Local variables */ integer j; logical upper; integer jb, nb; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; /* Function Body */ *info = 0; upper = template_blas_lsame(uplo, "U"); if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -1; } else if (*n < 0) { *info = -2; } else if (*lda < maxMACRO(1,*n)) { *info = -4; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("POTRF ", &i__1); return 0; } /* Quick return if possible */ if (*n == 0) { return 0; } /* Determine the block size for this environment. */ nb = template_lapack_ilaenv(&c__1, "DPOTRF", uplo, n, &c_n1, &c_n1, &c_n1, (ftnlen)6, ( ftnlen)1); if (nb <= 1 || nb >= *n) { /* Use unblocked code. */ template_lapack_potf2(uplo, n, &a[a_offset], lda, info); } else { /* Use blocked code. */ if (upper) { /* Compute the Cholesky factorization A = U'*U. */ i__1 = *n; i__2 = nb; for (j = 1; i__2 < 0 ? j >= i__1 : j <= i__1; j += i__2) { /* Update and factorize the current diagonal block and test for non-positive-definiteness. Computing MIN */ i__3 = nb, i__4 = *n - j + 1; jb = minMACRO(i__3,i__4); i__3 = j - 1; template_blas_syrk("Upper", "Transpose", &jb, &i__3, &c_b13, &a_ref(1, j), lda, &c_b14, &a_ref(j, j), lda) ; template_lapack_potf2("Upper", &jb, &a_ref(j, j), lda, info); if (*info != 0) { goto L30; } if (j + jb <= *n) { /* Compute the current block row. */ i__3 = *n - j - jb + 1; i__4 = j - 1; template_blas_gemm("Transpose", "No transpose", &jb, &i__3, &i__4, & c_b13, &a_ref(1, j), lda, &a_ref(1, j + jb), lda, &c_b14, &a_ref(j, j + jb), lda); i__3 = *n - j - jb + 1; template_blas_trsm("Left", "Upper", "Transpose", "Non-unit", &jb, & i__3, &c_b14, &a_ref(j, j), lda, &a_ref(j, j + jb) , lda) ; } /* L10: */ } } else { /* Compute the Cholesky factorization A = L*L'. */ i__2 = *n; i__1 = nb; for (j = 1; i__1 < 0 ? j >= i__2 : j <= i__2; j += i__1) { /* Update and factorize the current diagonal block and test for non-positive-definiteness. Computing MIN */ i__3 = nb, i__4 = *n - j + 1; jb = minMACRO(i__3,i__4); i__3 = j - 1; template_blas_syrk("Lower", "No transpose", &jb, &i__3, &c_b13, &a_ref(j, 1), lda, &c_b14, &a_ref(j, j), lda); template_lapack_potf2("Lower", &jb, &a_ref(j, j), lda, info); if (*info != 0) { goto L30; } if (j + jb <= *n) { /* Compute the current block column. */ i__3 = *n - j - jb + 1; i__4 = j - 1; template_blas_gemm("No transpose", "Transpose", &i__3, &jb, &i__4, & c_b13, &a_ref(j + jb, 1), lda, &a_ref(j, 1), lda, &c_b14, &a_ref(j + jb, j), lda); i__3 = *n - j - jb + 1; template_blas_trsm("Right", "Lower", "Transpose", "Non-unit", &i__3, & jb, &c_b14, &a_ref(j, j), lda, &a_ref(j + jb, j), lda); } /* L20: */ } } } goto L40; L30: *info = *info + j - 1; L40: return 0; /* End of DPOTRF */ } /* dpotrf_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larfb.h0000664000175000017500000004752712743400307023111 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARFB_HEADER #define TEMPLATE_LAPACK_LARFB_HEADER template int template_lapack_larfb(const char *side, const char *trans, const char *direct, const char * storev, const integer *m, const integer *n, const integer *k, const Treal *v, const integer * ldv, const Treal *t, const integer *ldt, Treal *c__, const integer *ldc, Treal *work, const integer *ldwork) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= DLARFB applies a real block reflector H or its transpose H' to a real m by n matrix C, from either the left or the right. Arguments ========= SIDE (input) CHARACTER*1 = 'L': apply H or H' from the Left = 'R': apply H or H' from the Right TRANS (input) CHARACTER*1 = 'N': apply H (No transpose) = 'T': apply H' (Transpose) DIRECT (input) CHARACTER*1 Indicates how H is formed from a product of elementary reflectors = 'F': H = H(1) H(2) . . . H(k) (Forward) = 'B': H = H(k) . . . H(2) H(1) (Backward) STOREV (input) CHARACTER*1 Indicates how the vectors which define the elementary reflectors are stored: = 'C': Columnwise = 'R': Rowwise M (input) INTEGER The number of rows of the matrix C. N (input) INTEGER The number of columns of the matrix C. K (input) INTEGER The order of the matrix T (= the number of elementary reflectors whose product defines the block reflector). V (input) DOUBLE PRECISION array, dimension (LDV,K) if STOREV = 'C' (LDV,M) if STOREV = 'R' and SIDE = 'L' (LDV,N) if STOREV = 'R' and SIDE = 'R' The matrix V. See further details. LDV (input) INTEGER The leading dimension of the array V. If STOREV = 'C' and SIDE = 'L', LDV >= max(1,M); if STOREV = 'C' and SIDE = 'R', LDV >= max(1,N); if STOREV = 'R', LDV >= K. T (input) DOUBLE PRECISION array, dimension (LDT,K) The triangular k by k matrix T in the representation of the block reflector. LDT (input) INTEGER The leading dimension of the array T. LDT >= K. C (input/output) DOUBLE PRECISION array, dimension (LDC,N) On entry, the m by n matrix C. On exit, C is overwritten by H*C or H'*C or C*H or C*H'. LDC (input) INTEGER The leading dimension of the array C. LDA >= max(1,M). WORK (workspace) DOUBLE PRECISION array, dimension (LDWORK,K) LDWORK (input) INTEGER The leading dimension of the array WORK. If SIDE = 'L', LDWORK >= max(1,N); if SIDE = 'R', LDWORK >= max(1,M). ===================================================================== Quick return if possible Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; Treal c_b14 = 1.; Treal c_b25 = -1.; /* System generated locals */ integer c_dim1, c_offset, t_dim1, t_offset, v_dim1, v_offset, work_dim1, work_offset, i__1, i__2; /* Local variables */ integer i__, j; char transt[1]; #define work_ref(a_1,a_2) work[(a_2)*work_dim1 + a_1] #define c___ref(a_1,a_2) c__[(a_2)*c_dim1 + a_1] #define v_ref(a_1,a_2) v[(a_2)*v_dim1 + a_1] v_dim1 = *ldv; v_offset = 1 + v_dim1 * 1; v -= v_offset; t_dim1 = *ldt; t_offset = 1 + t_dim1 * 1; t -= t_offset; c_dim1 = *ldc; c_offset = 1 + c_dim1 * 1; c__ -= c_offset; work_dim1 = *ldwork; work_offset = 1 + work_dim1 * 1; work -= work_offset; /* Function Body */ if (*m <= 0 || *n <= 0) { return 0; } if (template_blas_lsame(trans, "N")) { *(unsigned char *)transt = 'T'; } else { *(unsigned char *)transt = 'N'; } if (template_blas_lsame(storev, "C")) { if (template_blas_lsame(direct, "F")) { /* Let V = ( V1 ) (first K rows) ( V2 ) where V1 is unit lower triangular. */ if (template_blas_lsame(side, "L")) { /* Form H * C or H' * C where C = ( C1 ) ( C2 ) W := C' * V = (C1'*V1 + C2'*V2) (stored in WORK) W := C1' */ i__1 = *k; for (j = 1; j <= i__1; ++j) { template_blas_copy(n, &c___ref(j, 1), ldc, &work_ref(1, j), &c__1); /* L10: */ } /* W := W * V1 */ template_blas_trmm("Right", "Lower", "No transpose", "Unit", n, k, &c_b14, &v[v_offset], ldv, &work[work_offset], ldwork); if (*m > *k) { /* W := W + C2'*V2 */ i__1 = *m - *k; template_blas_gemm("Transpose", "No transpose", n, k, &i__1, &c_b14, & c___ref(*k + 1, 1), ldc, &v_ref(*k + 1, 1), ldv, & c_b14, &work[work_offset], ldwork); } /* W := W * T' or W * T */ template_blas_trmm("Right", "Upper", transt, "Non-unit", n, k, &c_b14, &t[ t_offset], ldt, &work[work_offset], ldwork); /* C := C - V * W' */ if (*m > *k) { /* C2 := C2 - V2 * W' */ i__1 = *m - *k; template_blas_gemm("No transpose", "Transpose", &i__1, n, k, &c_b25, & v_ref(*k + 1, 1), ldv, &work[work_offset], ldwork, &c_b14, &c___ref(*k + 1, 1), ldc); } /* W := W * V1' */ template_blas_trmm("Right", "Lower", "Transpose", "Unit", n, k, &c_b14, & v[v_offset], ldv, &work[work_offset], ldwork); /* C1 := C1 - W' */ i__1 = *k; for (j = 1; j <= i__1; ++j) { i__2 = *n; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(j, i__) = c___ref(j, i__) - work_ref(i__, j); /* L20: */ } /* L30: */ } } else if (template_blas_lsame(side, "R")) { /* Form C * H or C * H' where C = ( C1 C2 ) W := C * V = (C1*V1 + C2*V2) (stored in WORK) W := C1 */ i__1 = *k; for (j = 1; j <= i__1; ++j) { template_blas_copy(m, &c___ref(1, j), &c__1, &work_ref(1, j), &c__1); /* L40: */ } /* W := W * V1 */ template_blas_trmm("Right", "Lower", "No transpose", "Unit", m, k, &c_b14, &v[v_offset], ldv, &work[work_offset], ldwork); if (*n > *k) { /* W := W + C2 * V2 */ i__1 = *n - *k; template_blas_gemm("No transpose", "No transpose", m, k, &i__1, & c_b14, &c___ref(1, *k + 1), ldc, &v_ref(*k + 1, 1) , ldv, &c_b14, &work[work_offset], ldwork); } /* W := W * T or W * T' */ template_blas_trmm("Right", "Upper", trans, "Non-unit", m, k, &c_b14, &t[ t_offset], ldt, &work[work_offset], ldwork); /* C := C - W * V' */ if (*n > *k) { /* C2 := C2 - W * V2' */ i__1 = *n - *k; template_blas_gemm("No transpose", "Transpose", m, &i__1, k, &c_b25, & work[work_offset], ldwork, &v_ref(*k + 1, 1), ldv, &c_b14, &c___ref(1, *k + 1), ldc); } /* W := W * V1' */ template_blas_trmm("Right", "Lower", "Transpose", "Unit", m, k, &c_b14, & v[v_offset], ldv, &work[work_offset], ldwork); /* C1 := C1 - W */ i__1 = *k; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = c___ref(i__, j) - work_ref(i__, j); /* L50: */ } /* L60: */ } } } else { /* Let V = ( V1 ) ( V2 ) (last K rows) where V2 is unit upper triangular. */ if (template_blas_lsame(side, "L")) { /* Form H * C or H' * C where C = ( C1 ) ( C2 ) W := C' * V = (C1'*V1 + C2'*V2) (stored in WORK) W := C2' */ i__1 = *k; for (j = 1; j <= i__1; ++j) { template_blas_copy(n, &c___ref(*m - *k + j, 1), ldc, &work_ref(1, j), &c__1); /* L70: */ } /* W := W * V2 */ template_blas_trmm("Right", "Upper", "No transpose", "Unit", n, k, &c_b14, &v_ref(*m - *k + 1, 1), ldv, &work[work_offset], ldwork); if (*m > *k) { /* W := W + C1'*V1 */ i__1 = *m - *k; template_blas_gemm("Transpose", "No transpose", n, k, &i__1, &c_b14, & c__[c_offset], ldc, &v[v_offset], ldv, &c_b14, & work[work_offset], ldwork); } /* W := W * T' or W * T */ template_blas_trmm("Right", "Lower", transt, "Non-unit", n, k, &c_b14, &t[ t_offset], ldt, &work[work_offset], ldwork); /* C := C - V * W' */ if (*m > *k) { /* C1 := C1 - V1 * W' */ i__1 = *m - *k; template_blas_gemm("No transpose", "Transpose", &i__1, n, k, &c_b25, & v[v_offset], ldv, &work[work_offset], ldwork, & c_b14, &c__[c_offset], ldc) ; } /* W := W * V2' */ template_blas_trmm("Right", "Upper", "Transpose", "Unit", n, k, &c_b14, & v_ref(*m - *k + 1, 1), ldv, &work[work_offset], ldwork); /* C2 := C2 - W' */ i__1 = *k; for (j = 1; j <= i__1; ++j) { i__2 = *n; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(*m - *k + j, i__) = c___ref(*m - *k + j, i__) - work_ref(i__, j); /* L80: */ } /* L90: */ } } else if (template_blas_lsame(side, "R")) { /* Form C * H or C * H' where C = ( C1 C2 ) W := C * V = (C1*V1 + C2*V2) (stored in WORK) W := C2 */ i__1 = *k; for (j = 1; j <= i__1; ++j) { template_blas_copy(m, &c___ref(1, *n - *k + j), &c__1, &work_ref(1, j) , &c__1); /* L100: */ } /* W := W * V2 */ template_blas_trmm("Right", "Upper", "No transpose", "Unit", m, k, &c_b14, &v_ref(*n - *k + 1, 1), ldv, &work[work_offset], ldwork); if (*n > *k) { /* W := W + C1 * V1 */ i__1 = *n - *k; template_blas_gemm("No transpose", "No transpose", m, k, &i__1, & c_b14, &c__[c_offset], ldc, &v[v_offset], ldv, & c_b14, &work[work_offset], ldwork); } /* W := W * T or W * T' */ template_blas_trmm("Right", "Lower", trans, "Non-unit", m, k, &c_b14, &t[ t_offset], ldt, &work[work_offset], ldwork); /* C := C - W * V' */ if (*n > *k) { /* C1 := C1 - W * V1' */ i__1 = *n - *k; template_blas_gemm("No transpose", "Transpose", m, &i__1, k, &c_b25, & work[work_offset], ldwork, &v[v_offset], ldv, & c_b14, &c__[c_offset], ldc) ; } /* W := W * V2' */ template_blas_trmm("Right", "Upper", "Transpose", "Unit", m, k, &c_b14, & v_ref(*n - *k + 1, 1), ldv, &work[work_offset], ldwork); /* C2 := C2 - W */ i__1 = *k; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, *n - *k + j) = c___ref(i__, *n - *k + j) - work_ref(i__, j); /* L110: */ } /* L120: */ } } } } else if (template_blas_lsame(storev, "R")) { if (template_blas_lsame(direct, "F")) { /* Let V = ( V1 V2 ) (V1: first K columns) where V1 is unit upper triangular. */ if (template_blas_lsame(side, "L")) { /* Form H * C or H' * C where C = ( C1 ) ( C2 ) W := C' * V' = (C1'*V1' + C2'*V2') (stored in WORK) W := C1' */ i__1 = *k; for (j = 1; j <= i__1; ++j) { template_blas_copy(n, &c___ref(j, 1), ldc, &work_ref(1, j), &c__1); /* L130: */ } /* W := W * V1' */ template_blas_trmm("Right", "Upper", "Transpose", "Unit", n, k, &c_b14, & v[v_offset], ldv, &work[work_offset], ldwork); if (*m > *k) { /* W := W + C2'*V2' */ i__1 = *m - *k; template_blas_gemm("Transpose", "Transpose", n, k, &i__1, &c_b14, & c___ref(*k + 1, 1), ldc, &v_ref(1, *k + 1), ldv, & c_b14, &work[work_offset], ldwork); } /* W := W * T' or W * T */ template_blas_trmm("Right", "Upper", transt, "Non-unit", n, k, &c_b14, &t[ t_offset], ldt, &work[work_offset], ldwork); /* C := C - V' * W' */ if (*m > *k) { /* C2 := C2 - V2' * W' */ i__1 = *m - *k; template_blas_gemm("Transpose", "Transpose", &i__1, n, k, &c_b25, & v_ref(1, *k + 1), ldv, &work[work_offset], ldwork, &c_b14, &c___ref(*k + 1, 1), ldc); } /* W := W * V1 */ template_blas_trmm("Right", "Upper", "No transpose", "Unit", n, k, &c_b14, &v[v_offset], ldv, &work[work_offset], ldwork); /* C1 := C1 - W' */ i__1 = *k; for (j = 1; j <= i__1; ++j) { i__2 = *n; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(j, i__) = c___ref(j, i__) - work_ref(i__, j); /* L140: */ } /* L150: */ } } else if (template_blas_lsame(side, "R")) { /* Form C * H or C * H' where C = ( C1 C2 ) W := C * V' = (C1*V1' + C2*V2') (stored in WORK) W := C1 */ i__1 = *k; for (j = 1; j <= i__1; ++j) { template_blas_copy(m, &c___ref(1, j), &c__1, &work_ref(1, j), &c__1); /* L160: */ } /* W := W * V1' */ template_blas_trmm("Right", "Upper", "Transpose", "Unit", m, k, &c_b14, & v[v_offset], ldv, &work[work_offset], ldwork); if (*n > *k) { /* W := W + C2 * V2' */ i__1 = *n - *k; template_blas_gemm("No transpose", "Transpose", m, k, &i__1, &c_b14, & c___ref(1, *k + 1), ldc, &v_ref(1, *k + 1), ldv, & c_b14, &work[work_offset], ldwork); } /* W := W * T or W * T' */ template_blas_trmm("Right", "Upper", trans, "Non-unit", m, k, &c_b14, &t[ t_offset], ldt, &work[work_offset], ldwork); /* C := C - W * V */ if (*n > *k) { /* C2 := C2 - W * V2 */ i__1 = *n - *k; template_blas_gemm("No transpose", "No transpose", m, &i__1, k, & c_b25, &work[work_offset], ldwork, &v_ref(1, *k + 1), ldv, &c_b14, &c___ref(1, *k + 1), ldc); } /* W := W * V1 */ template_blas_trmm("Right", "Upper", "No transpose", "Unit", m, k, &c_b14, &v[v_offset], ldv, &work[work_offset], ldwork); /* C1 := C1 - W */ i__1 = *k; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = c___ref(i__, j) - work_ref(i__, j); /* L170: */ } /* L180: */ } } } else { /* Let V = ( V1 V2 ) (V2: last K columns) where V2 is unit lower triangular. */ if (template_blas_lsame(side, "L")) { /* Form H * C or H' * C where C = ( C1 ) ( C2 ) W := C' * V' = (C1'*V1' + C2'*V2') (stored in WORK) W := C2' */ i__1 = *k; for (j = 1; j <= i__1; ++j) { template_blas_copy(n, &c___ref(*m - *k + j, 1), ldc, &work_ref(1, j), &c__1); /* L190: */ } /* W := W * V2' */ template_blas_trmm("Right", "Lower", "Transpose", "Unit", n, k, &c_b14, & v_ref(1, *m - *k + 1), ldv, &work[work_offset], ldwork); if (*m > *k) { /* W := W + C1'*V1' */ i__1 = *m - *k; template_blas_gemm("Transpose", "Transpose", n, k, &i__1, &c_b14, & c__[c_offset], ldc, &v[v_offset], ldv, &c_b14, & work[work_offset], ldwork); } /* W := W * T' or W * T */ template_blas_trmm("Right", "Lower", transt, "Non-unit", n, k, &c_b14, &t[ t_offset], ldt, &work[work_offset], ldwork); /* C := C - V' * W' */ if (*m > *k) { /* C1 := C1 - V1' * W' */ i__1 = *m - *k; template_blas_gemm("Transpose", "Transpose", &i__1, n, k, &c_b25, &v[ v_offset], ldv, &work[work_offset], ldwork, & c_b14, &c__[c_offset], ldc); } /* W := W * V2 */ template_blas_trmm("Right", "Lower", "No transpose", "Unit", n, k, &c_b14, &v_ref(1, *m - *k + 1), ldv, &work[work_offset], ldwork); /* C2 := C2 - W' */ i__1 = *k; for (j = 1; j <= i__1; ++j) { i__2 = *n; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(*m - *k + j, i__) = c___ref(*m - *k + j, i__) - work_ref(i__, j); /* L200: */ } /* L210: */ } } else if (template_blas_lsame(side, "R")) { /* Form C * H or C * H' where C = ( C1 C2 ) W := C * V' = (C1*V1' + C2*V2') (stored in WORK) W := C2 */ i__1 = *k; for (j = 1; j <= i__1; ++j) { template_blas_copy(m, &c___ref(1, *n - *k + j), &c__1, &work_ref(1, j) , &c__1); /* L220: */ } /* W := W * V2' */ template_blas_trmm("Right", "Lower", "Transpose", "Unit", m, k, &c_b14, & v_ref(1, *n - *k + 1), ldv, &work[work_offset], ldwork); if (*n > *k) { /* W := W + C1 * V1' */ i__1 = *n - *k; template_blas_gemm("No transpose", "Transpose", m, k, &i__1, &c_b14, & c__[c_offset], ldc, &v[v_offset], ldv, &c_b14, & work[work_offset], ldwork); } /* W := W * T or W * T' */ template_blas_trmm("Right", "Lower", trans, "Non-unit", m, k, &c_b14, &t[ t_offset], ldt, &work[work_offset], ldwork); /* C := C - W * V */ if (*n > *k) { /* C1 := C1 - W * V1 */ i__1 = *n - *k; template_blas_gemm("No transpose", "No transpose", m, &i__1, k, & c_b25, &work[work_offset], ldwork, &v[v_offset], ldv, &c_b14, &c__[c_offset], ldc); } /* W := W * V2 */ template_blas_trmm("Right", "Lower", "No transpose", "Unit", m, k, &c_b14, &v_ref(1, *n - *k + 1), ldv, &work[work_offset], ldwork); /* C1 := C1 - W */ i__1 = *k; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, *n - *k + j) = c___ref(i__, *n - *k + j) - work_ref(i__, j); /* L230: */ } /* L240: */ } } } } return 0; /* End of DLARFB */ } /* dlarfb_ */ #undef v_ref #undef c___ref #undef work_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lae2.h0000664000175000017500000001116312743400307022631 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LAE2_HEADER #define TEMPLATE_LAPACK_LAE2_HEADER template int template_lapack_lae2(const Treal *a, const Treal *b, const Treal *c__, Treal *rt1, Treal *rt2) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLAE2 computes the eigenvalues of a 2-by-2 symmetric matrix [ A B ] [ B C ]. On return, RT1 is the eigenvalue of larger absolute value, and RT2 is the eigenvalue of smaller absolute value. Arguments ========= A (input) DOUBLE PRECISION The (1,1) element of the 2-by-2 matrix. B (input) DOUBLE PRECISION The (1,2) and (2,1) elements of the 2-by-2 matrix. C (input) DOUBLE PRECISION The (2,2) element of the 2-by-2 matrix. RT1 (output) DOUBLE PRECISION The eigenvalue of larger absolute value. RT2 (output) DOUBLE PRECISION The eigenvalue of smaller absolute value. Further Details =============== RT1 is accurate to a few ulps barring over/underflow. RT2 may be inaccurate if there is massive cancellation in the determinant A*C-B*B; higher precision or correctly rounded or correctly truncated arithmetic would be needed to compute RT2 accurately in all cases. Overflow is possible only if RT1 is within a factor of 5 of overflow. Underflow is harmless if the input data is 0 or exceeds underflow_threshold / macheps. ===================================================================== Compute the eigenvalues */ /* System generated locals */ Treal d__1; /* Local variables */ Treal acmn, acmx, ab, df, tb, sm, rt, adf; sm = *a + *c__; df = *a - *c__; adf = absMACRO(df); tb = *b + *b; ab = absMACRO(tb); if (absMACRO(*a) > absMACRO(*c__)) { acmx = *a; acmn = *c__; } else { acmx = *c__; acmn = *a; } if (adf > ab) { /* Computing 2nd power */ d__1 = ab / adf; rt = adf * template_blas_sqrt(d__1 * d__1 + 1.); } else if (adf < ab) { /* Computing 2nd power */ d__1 = adf / ab; rt = ab * template_blas_sqrt(d__1 * d__1 + 1.); } else { /* Includes case AB=ADF=0 */ rt = ab * template_blas_sqrt(2.); } if (sm < 0.) { *rt1 = (sm - rt) * .5; /* Order of execution important. To get fully accurate smaller eigenvalue, next line needs to be executed in higher precision. */ *rt2 = acmx / *rt1 * acmn - *b / *rt1 * *b; } else if (sm > 0.) { *rt1 = (sm + rt) * .5; /* Order of execution important. To get fully accurate smaller eigenvalue, next line needs to be executed in higher precision. */ *rt2 = acmx / *rt1 * acmn - *b / *rt1 * *b; } else { /* Includes case RT1 = RT2 = 0 */ *rt1 = rt * .5; *rt2 = rt * -.5; } return 0; /* End of DLAE2 */ } /* dlae2_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_test_threaded.cc0000664000175000017500000001313512743400307024764 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #include #include #include #include #include #include "template_lapack_common.h" typedef double realtype; pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; #if 0 static void output_matrix(int n, const realtype* A, const char* name) { std::cout << "output_matrix for matrix '" << name << "'\n"; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) std::cout << " " << A[i*n+j]; std::cout << std::endl; } } #endif static void* thread_func(void* arg) { for(int loop_k = 0; loop_k < 4444; loop_k++) { realtype A[4]; A[0] = 1.3; A[1] = 2.4; A[2] = 1.1; A[3] = 2.7; realtype B[4]; B[0] = 0.3; B[1] = 0.4; B[2] = 0.1; B[3] = 0.7; realtype C[4]; C[0] = 0; C[1] = 0; C[2] = 0; C[3] = 0; int m = 2; int n = 2; int k = 2; realtype alpha = 1.0; realtype beta = 0.0; template_blas_gemm("N", "N", &m, &n, &k, &alpha, A, &m, B, &m, &beta, C, &m); // std::cout << "template_blas_gemm finished.\n"; #if 0 for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) std::cout << " " << C[i*n+j]; std::cout << std::endl; } #endif realtype D[4]; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { realtype sum = 0; for(int k = 0; k < n; k++) sum += B[i*n+k] * A[k*n+j]; D[i*n+j] = sum; } for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { if(fabs(C[i*n+j] - D[i*n+j]) > 1e-11) { throw std::runtime_error("ERROR! wrong result from gemm!"); return NULL; } } realtype E[4]; E[0] = 1.3; E[1] = 0.4; E[2] = 0.4; E[3] = 2.7; int info = 0; //output_matrix(n, E, "E before pptrf"); template_lapack_pptrf("U", &n, E, &info); //output_matrix(n, E, "E after pptrf"); int itype = 1; // std::cout << "calling template_lapack_spgst\n"; template_lapack_spgst(&itype, "U", &n, A, B, &info); // std::cout << "calling template_lapack_tptri\n"; template_lapack_tptri("U", "U", &n, A, &info); int ITYPE=1; int lwork = 10*n, i; double work[1000]; double eigv[1000]; // std::cout << "calling template_lapack_sygv\n"; template_lapack_sygv(&ITYPE, "V", "L", &n, A, &n, B, &n, eigv, work, &lwork, &i); // std::cout << "calling template_lapack_trtri\n"; char uplo[8]; char diag[8]; strcpy(uplo, "U"); strcpy(diag, "U"); template_lapack_trtri(uplo, diag, &n, A, &n, &info); // std::cout << "testing template_lapack_gesv().." << std::endl; { integer n = 3; double A[n*n]; A[0] = 1; A[1] = 2; A[2] = 0; A[3] = 0; A[4] = 3; A[5] = 3; A[6] = 1; A[7] = 1; A[8] = 0; double RHS[n]; RHS[0] = 1; RHS[1] = 0; RHS[2] = 1; integer IPIV[n]; integer NRHS = 1; integer info = -1; template_lapack_gesv(&n, &NRHS, A, &n, IPIV, RHS, &n, &info); if(info != 0) { throw std::runtime_error("ERROR in template_lapack_gesv!"); return NULL; } // std::cout << "OK" << std::endl; double ref_solution[] = {-2, 0.33333333333333, 3}; for(int i = 0; i < n; i++) { if(fabs(RHS[i] - ref_solution[i]) > 1e-11) throw std::runtime_error("ERROR: wrong solution from template_lapack_gesv!"); } #if 0 std::cout << "solution: "; for(int i = 0; i < n; i++) std::cout << RHS[i] << " "; std::cout << std::endl; #endif } } pthread_mutex_lock(&mutex); std::cout << "Thread " << pthread_self() << " finished OK." << std::endl; pthread_mutex_unlock(&mutex); return NULL; } int main() { const int nThreads = 8; pthread_t threads[nThreads]; for(int i = 0; i < nThreads; i++) { if(pthread_create(&threads[i], NULL, thread_func, NULL) != 0) throw std::runtime_error("Error in pthread_create."); } for(int i = 0; i < nThreads; i++) { if(pthread_join(threads[i], NULL) != 0) throw std::runtime_error("Error in pthread_join."); } std::cout << "template_lapack_threaded test finished OK." << std::endl; return 0; } ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_ormqr.h0000664000175000017500000002306112743400307023146 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_ORMQR_HEADER #define TEMPLATE_LAPACK_ORMQR_HEADER template int template_lapack_ormqr(char *side, char *trans, const integer *m, const integer *n, const integer *k, Treal *a, const integer *lda, const Treal *tau, Treal * c__, const integer *ldc, Treal *work, const integer *lwork, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DORMQR overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': Q**T * C C * Q**T where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(1) H(2) . . . H(k) as returned by DGEQRF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'. Arguments ========= SIDE (input) CHARACTER*1 = 'L': apply Q or Q**T from the Left; = 'R': apply Q or Q**T from the Right. TRANS (input) CHARACTER*1 = 'N': No transpose, apply Q; = 'T': Transpose, apply Q**T. M (input) INTEGER The number of rows of the matrix C. M >= 0. N (input) INTEGER The number of columns of the matrix C. N >= 0. K (input) INTEGER The number of elementary reflectors whose product defines the matrix Q. If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >= 0. A (input) DOUBLE PRECISION array, dimension (LDA,K) The i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by DGEQRF in the first k columns of its array argument A. A is modified by the routine but restored on exit. LDA (input) INTEGER The leading dimension of the array A. If SIDE = 'L', LDA >= max(1,M); if SIDE = 'R', LDA >= max(1,N). TAU (input) DOUBLE PRECISION array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by DGEQRF. C (input/output) DOUBLE PRECISION array, dimension (LDC,N) On entry, the M-by-N matrix C. On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. LDC (input) INTEGER The leading dimension of the array C. LDC >= max(1,M). WORK (workspace/output) DOUBLE PRECISION array, dimension (LWORK) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The dimension of the array WORK. If SIDE = 'L', LWORK >= max(1,N); if SIDE = 'R', LWORK >= max(1,M). For optimum performance LWORK >= N*NB if SIDE = 'L', and LWORK >= M*NB if SIDE = 'R', where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value ===================================================================== Test the input arguments Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; integer c_n1 = -1; integer c__2 = 2; integer c__65 = 65; /* System generated locals */ address a__1[2]; integer a_dim1, a_offset, c_dim1, c_offset, i__1, i__2, i__3[2], i__4, i__5; char ch__1[2]; /* Local variables */ logical left; integer i__; Treal t[4160] /* was [65][64] */; integer nbmin, iinfo, i1, i2, i3; integer ib, ic, jc, nb, mi, ni; integer nq, nw; logical notran; integer ldwork, lwkopt; logical lquery; integer iws; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define c___ref(a_1,a_2) c__[(a_2)*c_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --tau; c_dim1 = *ldc; c_offset = 1 + c_dim1 * 1; c__ -= c_offset; --work; /* Initialization added by Elias to get rid of compiler warnings. */ lwkopt = 0; nb = 0; /* Function Body */ *info = 0; left = template_blas_lsame(side, "L"); notran = template_blas_lsame(trans, "N"); lquery = *lwork == -1; /* NQ is the order of Q and NW is the minimum dimension of WORK */ if (left) { nq = *m; nw = *n; } else { nq = *n; nw = *m; } if (! left && ! template_blas_lsame(side, "R")) { *info = -1; } else if (! notran && ! template_blas_lsame(trans, "T")) { *info = -2; } else if (*m < 0) { *info = -3; } else if (*n < 0) { *info = -4; } else if (*k < 0 || *k > nq) { *info = -5; } else if (*lda < maxMACRO(1,nq)) { *info = -7; } else if (*ldc < maxMACRO(1,*m)) { *info = -10; } else if (*lwork < maxMACRO(1,nw) && ! lquery) { *info = -12; } if (*info == 0) { /* Determine the block size. NB may be at most NBMAX, where NBMAX is used to define the local array T. Computing MIN Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; template_blas_s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = 64, i__2 = template_lapack_ilaenv(&c__1, "DORMQR", ch__1, m, n, k, &c_n1, ( ftnlen)6, (ftnlen)2); nb = minMACRO(i__1,i__2); lwkopt = maxMACRO(1,nw) * nb; work[1] = (Treal) lwkopt; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("ORMQR ", &i__1); return 0; } else if (lquery) { return 0; } /* Quick return if possible */ if (*m == 0 || *n == 0 || *k == 0) { work[1] = 1.; return 0; } nbmin = 2; ldwork = nw; if (nb > 1 && nb < *k) { iws = nw * nb; if (*lwork < iws) { nb = *lwork / ldwork; /* Computing MAX Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; template_blas_s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = 2, i__2 = template_lapack_ilaenv(&c__2, "DORMQR", ch__1, m, n, k, &c_n1, ( ftnlen)6, (ftnlen)2); nbmin = maxMACRO(i__1,i__2); } } else { iws = nw; } if (nb < nbmin || nb >= *k) { /* Use unblocked code */ template_lapack_orm2r(side, trans, m, n, k, &a[a_offset], lda, &tau[1], &c__[ c_offset], ldc, &work[1], &iinfo); } else { /* Use blocked code */ if ( ( left && ! notran ) || ( ! left && notran ) ) { i1 = 1; i2 = *k; i3 = nb; } else { i1 = (*k - 1) / nb * nb + 1; i2 = 1; i3 = -nb; } if (left) { ni = *n; jc = 1; } else { mi = *m; ic = 1; } i__1 = i2; i__2 = i3; for (i__ = i1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) { /* Computing MIN */ i__4 = nb, i__5 = *k - i__ + 1; ib = minMACRO(i__4,i__5); /* Form the triangular factor of the block reflector H = H(i) H(i+1) . . . H(i+ib-1) */ i__4 = nq - i__ + 1; template_lapack_larft("Forward", "Columnwise", &i__4, &ib, &a_ref(i__, i__), lda, &tau[i__], t, &c__65); if (left) { /* H or H' is applied to C(i:m,1:n) */ mi = *m - i__ + 1; ic = i__; } else { /* H or H' is applied to C(1:m,i:n) */ ni = *n - i__ + 1; jc = i__; } /* Apply H or H' */ template_lapack_larfb(side, trans, "Forward", "Columnwise", &mi, &ni, &ib, & a_ref(i__, i__), lda, t, &c__65, &c___ref(ic, jc), ldc, & work[1], &ldwork); /* L10: */ } } work[1] = (Treal) lwkopt; return 0; /* End of DORMQR */ } /* dormqr_ */ #undef c___ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_tgevc.h0000664000175000017500000011705212743400307023122 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_TGEVC_HEADER #define TEMPLATE_LAPACK_TGEVC_HEADER #include "template_lapack_labad.h" #include "template_lapack_lacpy.h" template int template_lapack_tgevc(const char *side, const char *howmny, const logical *select, const integer *n, const Treal *a, const integer *lda, const Treal *b, const integer *ldb, Treal *vl, const integer *ldvl, Treal *vr, const integer *ldvr, const integer *mm, integer *m, Treal *work, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DTGEVC computes some or all of the right and/or left generalized eigenvectors of a pair of real upper triangular matrices (A,B). The right generalized eigenvector x and the left generalized eigenvector y of (A,B) corresponding to a generalized eigenvalue w are defined by: (A - wB) * x = 0 and y**H * (A - wB) = 0 where y**H denotes the conjugate tranpose of y. If an eigenvalue w is determined by zero diagonal elements of both A and B, a unit vector is returned as the corresponding eigenvector. If all eigenvectors are requested, the routine may either return the matrices X and/or Y of right or left eigenvectors of (A,B), or the products Z*X and/or Q*Y, where Z and Q are input orthogonal matrices. If (A,B) was obtained from the generalized real-Schur factorization of an original pair of matrices (A0,B0) = (Q*A*Z**H,Q*B*Z**H), then Z*X and Q*Y are the matrices of right or left eigenvectors of A. A must be block upper triangular, with 1-by-1 and 2-by-2 diagonal blocks. Corresponding to each 2-by-2 diagonal block is a complex conjugate pair of eigenvalues and eigenvectors; only one eigenvector of the pair is computed, namely the one corresponding to the eigenvalue with positive imaginary part. Arguments ========= SIDE (input) CHARACTER*1 = 'R': compute right eigenvectors only; = 'L': compute left eigenvectors only; = 'B': compute both right and left eigenvectors. HOWMNY (input) CHARACTER*1 = 'A': compute all right and/or left eigenvectors; = 'B': compute all right and/or left eigenvectors, and backtransform them using the input matrices supplied in VR and/or VL; = 'S': compute selected right and/or left eigenvectors, specified by the logical array SELECT. SELECT (input) LOGICAL array, dimension (N) If HOWMNY='S', SELECT specifies the eigenvectors to be computed. If HOWMNY='A' or 'B', SELECT is not referenced. To select the real eigenvector corresponding to the real eigenvalue w(j), SELECT(j) must be set to .TRUE. To select the complex eigenvector corresponding to a complex conjugate pair w(j) and w(j+1), either SELECT(j) or SELECT(j+1) must be set to .TRUE.. N (input) INTEGER The order of the matrices A and B. N >= 0. A (input) DOUBLE PRECISION array, dimension (LDA,N) The upper quasi-triangular matrix A. LDA (input) INTEGER The leading dimension of array A. LDA >= max(1, N). B (input) DOUBLE PRECISION array, dimension (LDB,N) The upper triangular matrix B. If A has a 2-by-2 diagonal block, then the corresponding 2-by-2 block of B must be diagonal with positive elements. LDB (input) INTEGER The leading dimension of array B. LDB >= max(1,N). VL (input/output) DOUBLE PRECISION array, dimension (LDVL,MM) On entry, if SIDE = 'L' or 'B' and HOWMNY = 'B', VL must contain an N-by-N matrix Q (usually the orthogonal matrix Q of left Schur vectors returned by DHGEQZ). On exit, if SIDE = 'L' or 'B', VL contains: if HOWMNY = 'A', the matrix Y of left eigenvectors of (A,B); if HOWMNY = 'B', the matrix Q*Y; if HOWMNY = 'S', the left eigenvectors of (A,B) specified by SELECT, stored consecutively in the columns of VL, in the same order as their eigenvalues. If SIDE = 'R', VL is not referenced. A complex eigenvector corresponding to a complex eigenvalue is stored in two consecutive columns, the first holding the real part, and the second the imaginary part. LDVL (input) INTEGER The leading dimension of array VL. LDVL >= max(1,N) if SIDE = 'L' or 'B'; LDVL >= 1 otherwise. VR (input/output) DOUBLE PRECISION array, dimension (LDVR,MM) On entry, if SIDE = 'R' or 'B' and HOWMNY = 'B', VR must contain an N-by-N matrix Q (usually the orthogonal matrix Z of right Schur vectors returned by DHGEQZ). On exit, if SIDE = 'R' or 'B', VR contains: if HOWMNY = 'A', the matrix X of right eigenvectors of (A,B); if HOWMNY = 'B', the matrix Z*X; if HOWMNY = 'S', the right eigenvectors of (A,B) specified by SELECT, stored consecutively in the columns of VR, in the same order as their eigenvalues. If SIDE = 'L', VR is not referenced. A complex eigenvector corresponding to a complex eigenvalue is stored in two consecutive columns, the first holding the real part and the second the imaginary part. LDVR (input) INTEGER The leading dimension of the array VR. LDVR >= max(1,N) if SIDE = 'R' or 'B'; LDVR >= 1 otherwise. MM (input) INTEGER The number of columns in the arrays VL and/or VR. MM >= M. M (output) INTEGER The number of columns in the arrays VL and/or VR actually used to store the eigenvectors. If HOWMNY = 'A' or 'B', M is set to N. Each selected real eigenvector occupies one column and each selected complex eigenvector occupies two columns. WORK (workspace) DOUBLE PRECISION array, dimension (6*N) INFO (output) INTEGER = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value. > 0: the 2-by-2 block (INFO:INFO+1) does not have a complex eigenvalue. Further Details =============== Allocation of workspace: ---------- -- --------- WORK( j ) = 1-norm of j-th column of A, above the diagonal WORK( N+j ) = 1-norm of j-th column of B, above the diagonal WORK( 2*N+1:3*N ) = real part of eigenvector WORK( 3*N+1:4*N ) = imaginary part of eigenvector WORK( 4*N+1:5*N ) = real part of back-transformed eigenvector WORK( 5*N+1:6*N ) = imaginary part of back-transformed eigenvector Rowwise vs. columnwise solution methods: ------- -- ---------- -------- ------- Finding a generalized eigenvector consists basically of solving the singular triangular system (A - w B) x = 0 (for right) or: (A - w B)**H y = 0 (for left) Consider finding the i-th right eigenvector (assume all eigenvalues are real). The equation to be solved is: n i 0 = sum C(j,k) v(k) = sum C(j,k) v(k) for j = i,. . .,1 k=j k=j where C = (A - w B) (The components v(i+1:n) are 0.) The "rowwise" method is: (1) v(i) := 1 for j = i-1,. . .,1: i (2) compute s = - sum C(j,k) v(k) and k=j+1 (3) v(j) := s / C(j,j) Step 2 is sometimes called the "dot product" step, since it is an inner product between the j-th row and the portion of the eigenvector that has been computed so far. The "columnwise" method consists basically in doing the sums for all the rows in parallel. As each v(j) is computed, the contribution of v(j) times the j-th column of C is added to the partial sums. Since FORTRAN arrays are stored columnwise, this has the advantage that at each step, the elements of C that are accessed are adjacent to one another, whereas with the rowwise method, the elements accessed at a step are spaced LDA (and LDB) words apart. When finding left eigenvectors, the matrix in question is the transpose of the one in storage, so the rowwise method then actually accesses columns of A and B at each step, and so is the preferred method. ===================================================================== Decode and Test the input parameters Parameter adjustments */ /* Table of constant values */ logical c_true = TRUE_; integer c__2 = 2; Treal c_b35 = 1.; integer c__1 = 1; Treal c_b37 = 0.; logical c_false = FALSE_; /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, vl_dim1, vl_offset, vr_dim1, vr_offset, i__1, i__2, i__3, i__4, i__5; Treal d__1, d__2, d__3, d__4, d__5, d__6; /* Local variables */ integer ibeg, ieig, iend; Treal dmin__, temp, suma[4] /* was [2][2] */, sumb[4] /* was [2][2] */, xmax; Treal cim2a, cim2b, cre2a, cre2b, temp2, bdiag[2]; integer i__, j; Treal acoef, scale; logical ilall; integer iside; Treal sbeta; logical il2by2; integer iinfo; Treal small; logical compl_AAAA; Treal anorm, bnorm; logical compr; Treal temp2i; Treal temp2r; integer ja; logical ilabad, ilbbad; integer jc, je, na; Treal acoefa, bcoefa, cimaga, cimagb; logical ilback; integer im; Treal bcoefi, ascale, bscale, creala; integer jr; Treal crealb; Treal bcoefr; integer jw, nw; Treal salfar, safmin; Treal xscale, bignum; logical ilcomp, ilcplx; integer ihwmny; Treal big; logical lsa, lsb; Treal ulp, sum[4] /* was [2][2] */; #define suma_ref(a_1,a_2) suma[(a_2)*2 + a_1 - 3] #define sumb_ref(a_1,a_2) sumb[(a_2)*2 + a_1 - 3] #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] #define vl_ref(a_1,a_2) vl[(a_2)*vl_dim1 + a_1] #define vr_ref(a_1,a_2) vr[(a_2)*vr_dim1 + a_1] #define sum_ref(a_1,a_2) sum[(a_2)*2 + a_1 - 3] --select; a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; vl_dim1 = *ldvl; vl_offset = 1 + vl_dim1 * 1; vl -= vl_offset; vr_dim1 = *ldvr; vr_offset = 1 + vr_dim1 * 1; vr -= vr_offset; --work; /* Initialization added by Elias to get rid of compiler warnings. */ ilback = 0; /* Function Body */ if (template_blas_lsame(howmny, "A")) { ihwmny = 1; ilall = TRUE_; ilback = FALSE_; } else if (template_blas_lsame(howmny, "S")) { ihwmny = 2; ilall = FALSE_; ilback = FALSE_; } else if (template_blas_lsame(howmny, "B") || template_blas_lsame(howmny, "T")) { ihwmny = 3; ilall = TRUE_; ilback = TRUE_; } else { ihwmny = -1; ilall = TRUE_; } if (template_blas_lsame(side, "R")) { iside = 1; compl_AAAA = FALSE_; compr = TRUE_; } else if (template_blas_lsame(side, "L")) { iside = 2; compl_AAAA = TRUE_; compr = FALSE_; } else if (template_blas_lsame(side, "B")) { iside = 3; compl_AAAA = TRUE_; compr = TRUE_; } else { iside = -1; } *info = 0; if (iside < 0) { *info = -1; } else if (ihwmny < 0) { *info = -2; } else if (*n < 0) { *info = -4; } else if (*lda < maxMACRO(1,*n)) { *info = -6; } else if (*ldb < maxMACRO(1,*n)) { *info = -8; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("TGEVC ", &i__1); return 0; } /* Count the number of eigenvectors to be computed */ if (! ilall) { im = 0; ilcplx = FALSE_; i__1 = *n; for (j = 1; j <= i__1; ++j) { if (ilcplx) { ilcplx = FALSE_; goto L10; } if (j < *n) { if (a_ref(j + 1, j) != 0.) { ilcplx = TRUE_; } } if (ilcplx) { if (select[j] || select[j + 1]) { im += 2; } } else { if (select[j]) { ++im; } } L10: ; } } else { im = *n; } /* Check 2-by-2 diagonal blocks of A, B */ ilabad = FALSE_; ilbbad = FALSE_; i__1 = *n - 1; for (j = 1; j <= i__1; ++j) { if (a_ref(j + 1, j) != 0.) { if (b_ref(j, j) == 0. || b_ref(j + 1, j + 1) == 0. || b_ref(j, j + 1) != 0.) { ilbbad = TRUE_; } if (j < *n - 1) { if (a_ref(j + 2, j + 1) != 0.) { ilabad = TRUE_; } } } /* L20: */ } if (ilabad) { *info = -5; } else if (ilbbad) { *info = -7; } else if ( ( compl_AAAA && *ldvl < *n ) || *ldvl < 1) { *info = -10; } else if ( ( compr && *ldvr < *n ) || *ldvr < 1) { *info = -12; } else if (*mm < im) { *info = -13; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("TGEVC ", &i__1); return 0; } /* Quick return if possible */ *m = im; if (*n == 0) { return 0; } /* Machine Constants */ safmin = template_lapack_lamch("Safe minimum", (Treal)0); big = 1. / safmin; template_lapack_labad(&safmin, &big); ulp = template_lapack_lamch("Epsilon", (Treal)0) * template_lapack_lamch("Base", (Treal)0); small = safmin * *n / ulp; big = 1. / small; bignum = 1. / (safmin * *n); /* Compute the 1-norm of each column of the strictly upper triangular part (i.e., excluding all elements belonging to the diagonal blocks) of A and B to check for possible overflow in the triangular solver. */ anorm = (d__1 = a_ref(1, 1), absMACRO(d__1)); if (*n > 1) { anorm += (d__1 = a_ref(2, 1), absMACRO(d__1)); } bnorm = (d__1 = b_ref(1, 1), absMACRO(d__1)); work[1] = 0.; work[*n + 1] = 0.; i__1 = *n; for (j = 2; j <= i__1; ++j) { temp = 0.; temp2 = 0.; if (a_ref(j, j - 1) == 0.) { iend = j - 1; } else { iend = j - 2; } i__2 = iend; for (i__ = 1; i__ <= i__2; ++i__) { temp += (d__1 = a_ref(i__, j), absMACRO(d__1)); temp2 += (d__1 = b_ref(i__, j), absMACRO(d__1)); /* L30: */ } work[j] = temp; work[*n + j] = temp2; /* Computing MIN */ i__3 = j + 1; i__2 = minMACRO(i__3,*n); for (i__ = iend + 1; i__ <= i__2; ++i__) { temp += (d__1 = a_ref(i__, j), absMACRO(d__1)); temp2 += (d__1 = b_ref(i__, j), absMACRO(d__1)); /* L40: */ } anorm = maxMACRO(anorm,temp); bnorm = maxMACRO(bnorm,temp2); /* L50: */ } ascale = 1. / maxMACRO(anorm,safmin); bscale = 1. / maxMACRO(bnorm,safmin); /* Left eigenvectors */ if (compl_AAAA) { ieig = 0; /* Main loop over eigenvalues */ ilcplx = FALSE_; i__1 = *n; for (je = 1; je <= i__1; ++je) { /* Skip this iteration if (a) HOWMNY='S' and SELECT=.FALSE., or (b) this would be the second of a complex pair. Check for complex eigenvalue, so as to be sure of which entry(-ies) of SELECT to look at. */ if (ilcplx) { ilcplx = FALSE_; goto L220; } nw = 1; if (je < *n) { if (a_ref(je + 1, je) != 0.) { ilcplx = TRUE_; nw = 2; } } if (ilall) { ilcomp = TRUE_; } else if (ilcplx) { ilcomp = select[je] || select[je + 1]; } else { ilcomp = select[je]; } if (! ilcomp) { goto L220; } /* Decide if (a) singular pencil, (b) real eigenvalue, or (c) complex eigenvalue. */ if (! ilcplx) { if ((d__1 = a_ref(je, je), absMACRO(d__1)) <= safmin && (d__2 = b_ref(je, je), absMACRO(d__2)) <= safmin) { /* Singular matrix pencil -- return unit eigenvector */ ++ieig; i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { vl_ref(jr, ieig) = 0.; /* L60: */ } vl_ref(ieig, ieig) = 1.; goto L220; } } /* Clear vector */ i__2 = nw * *n; for (jr = 1; jr <= i__2; ++jr) { work[(*n << 1) + jr] = 0.; /* L70: */ } /* T Compute coefficients in ( a A - b B ) y = 0 a is ACOEF b is BCOEFR + i*BCOEFI */ if (! ilcplx) { /* Real eigenvalue Computing MAX */ d__3 = (d__1 = a_ref(je, je), absMACRO(d__1)) * ascale, d__4 = ( d__2 = b_ref(je, je), absMACRO(d__2)) * bscale, d__3 = maxMACRO( d__3,d__4); temp = 1. / maxMACRO(d__3,safmin); salfar = temp * a_ref(je, je) * ascale; sbeta = temp * b_ref(je, je) * bscale; acoef = sbeta * ascale; bcoefr = salfar * bscale; bcoefi = 0.; /* Scale to avoid underflow */ scale = 1.; lsa = absMACRO(sbeta) >= safmin && absMACRO(acoef) < small; lsb = absMACRO(salfar) >= safmin && absMACRO(bcoefr) < small; if (lsa) { scale = small / absMACRO(sbeta) * minMACRO(anorm,big); } if (lsb) { /* Computing MAX */ d__1 = scale, d__2 = small / absMACRO(salfar) * minMACRO(bnorm,big); scale = maxMACRO(d__1,d__2); } if (lsa || lsb) { /* Computing MIN Computing MAX */ d__3 = 1., d__4 = absMACRO(acoef), d__3 = maxMACRO(d__3,d__4), d__4 = absMACRO(bcoefr); d__1 = scale, d__2 = 1. / (safmin * maxMACRO(d__3,d__4)); scale = minMACRO(d__1,d__2); if (lsa) { acoef = ascale * (scale * sbeta); } else { acoef = scale * acoef; } if (lsb) { bcoefr = bscale * (scale * salfar); } else { bcoefr = scale * bcoefr; } } acoefa = absMACRO(acoef); bcoefa = absMACRO(bcoefr); /* First component is 1 */ work[(*n << 1) + je] = 1.; xmax = 1.; } else { /* Complex eigenvalue */ d__1 = safmin * 100.; template_lapack_lag2(&a_ref(je, je), lda, &b_ref(je, je), ldb, &d__1, & acoef, &temp, &bcoefr, &temp2, &bcoefi); bcoefi = -bcoefi; if (bcoefi == 0.) { *info = je; return 0; } /* Scale to avoid over/underflow */ acoefa = absMACRO(acoef); bcoefa = absMACRO(bcoefr) + absMACRO(bcoefi); scale = 1.; if (acoefa * ulp < safmin && acoefa >= safmin) { scale = safmin / ulp / acoefa; } if (bcoefa * ulp < safmin && bcoefa >= safmin) { /* Computing MAX */ d__1 = scale, d__2 = safmin / ulp / bcoefa; scale = maxMACRO(d__1,d__2); } if (safmin * acoefa > ascale) { scale = ascale / (safmin * acoefa); } if (safmin * bcoefa > bscale) { /* Computing MIN */ d__1 = scale, d__2 = bscale / (safmin * bcoefa); scale = minMACRO(d__1,d__2); } if (scale != 1.) { acoef = scale * acoef; acoefa = absMACRO(acoef); bcoefr = scale * bcoefr; bcoefi = scale * bcoefi; bcoefa = absMACRO(bcoefr) + absMACRO(bcoefi); } /* Compute first two components of eigenvector */ temp = acoef * a_ref(je + 1, je); temp2r = acoef * a_ref(je, je) - bcoefr * b_ref(je, je); temp2i = -bcoefi * b_ref(je, je); if (absMACRO(temp) > absMACRO(temp2r) + absMACRO(temp2i)) { work[(*n << 1) + je] = 1.; work[*n * 3 + je] = 0.; work[(*n << 1) + je + 1] = -temp2r / temp; work[*n * 3 + je + 1] = -temp2i / temp; } else { work[(*n << 1) + je + 1] = 1.; work[*n * 3 + je + 1] = 0.; temp = acoef * a_ref(je, je + 1); work[(*n << 1) + je] = (bcoefr * b_ref(je + 1, je + 1) - acoef * a_ref(je + 1, je + 1)) / temp; work[*n * 3 + je] = bcoefi * b_ref(je + 1, je + 1) / temp; } /* Computing MAX */ d__5 = (d__1 = work[(*n << 1) + je], absMACRO(d__1)) + (d__2 = work[*n * 3 + je], absMACRO(d__2)), d__6 = (d__3 = work[(* n << 1) + je + 1], absMACRO(d__3)) + (d__4 = work[*n * 3 + je + 1], absMACRO(d__4)); xmax = maxMACRO(d__5,d__6); } /* Computing MAX */ d__1 = ulp * acoefa * anorm, d__2 = ulp * bcoefa * bnorm, d__1 = maxMACRO(d__1,d__2); dmin__ = maxMACRO(d__1,safmin); /* T Triangular solve of (a A - b B) y = 0 T (rowwise in (a A - b B) , or columnwise in (a A - b B) ) */ il2by2 = FALSE_; i__2 = *n; for (j = je + nw; j <= i__2; ++j) { if (il2by2) { il2by2 = FALSE_; goto L160; } na = 1; bdiag[0] = b_ref(j, j); if (j < *n) { if (a_ref(j + 1, j) != 0.) { il2by2 = TRUE_; bdiag[1] = b_ref(j + 1, j + 1); na = 2; } } /* Check whether scaling is necessary for dot products */ xscale = 1. / maxMACRO(1.,xmax); /* Computing MAX */ d__1 = work[j], d__2 = work[*n + j], d__1 = maxMACRO(d__1,d__2), d__2 = acoefa * work[j] + bcoefa * work[*n + j]; temp = maxMACRO(d__1,d__2); if (il2by2) { /* Computing MAX */ d__1 = temp, d__2 = work[j + 1], d__1 = maxMACRO(d__1,d__2), d__2 = work[*n + j + 1], d__1 = maxMACRO(d__1,d__2), d__2 = acoefa * work[j + 1] + bcoefa * work[*n + j + 1]; temp = maxMACRO(d__1,d__2); } if (temp > bignum * xscale) { i__3 = nw - 1; for (jw = 0; jw <= i__3; ++jw) { i__4 = j - 1; for (jr = je; jr <= i__4; ++jr) { work[(jw + 2) * *n + jr] = xscale * work[(jw + 2) * *n + jr]; /* L80: */ } /* L90: */ } xmax *= xscale; } /* Compute dot products j-1 SUM = sum conjg( a*A(k,j) - b*B(k,j) )*x(k) k=je To reduce the op count, this is done as _ j-1 _ j-1 a*conjg( sum A(k,j)*x(k) ) - b*conjg( sum B(k,j)*x(k) ) k=je k=je which may cause underflow problems if A or B are close to underflow. (E.g., less than SMALL.) A series of compiler directives to defeat vectorization for the next loop $PL$ CMCHAR=' ' DIR$ NEXTSCALAR $DIR SCALAR DIR$ NEXT SCALAR VD$L NOVECTOR DEC$ NOVECTOR VD$ NOVECTOR VDIR NOVECTOR VOCL LOOP,SCALAR IBM PREFER SCALAR $PL$ CMCHAR='*' */ i__3 = nw; for (jw = 1; jw <= i__3; ++jw) { /* $PL$ CMCHAR=' ' DIR$ NEXTSCALAR $DIR SCALAR DIR$ NEXT SCALAR VD$L NOVECTOR DEC$ NOVECTOR VD$ NOVECTOR VDIR NOVECTOR VOCL LOOP,SCALAR IBM PREFER SCALAR $PL$ CMCHAR='*' */ i__4 = na; for (ja = 1; ja <= i__4; ++ja) { suma_ref(ja, jw) = 0.; sumb_ref(ja, jw) = 0.; i__5 = j - 1; for (jr = je; jr <= i__5; ++jr) { suma_ref(ja, jw) = suma_ref(ja, jw) + a_ref(jr, j + ja - 1) * work[(jw + 1) * *n + jr]; sumb_ref(ja, jw) = sumb_ref(ja, jw) + b_ref(jr, j + ja - 1) * work[(jw + 1) * *n + jr]; /* L100: */ } /* L110: */ } /* L120: */ } /* $PL$ CMCHAR=' ' DIR$ NEXTSCALAR $DIR SCALAR DIR$ NEXT SCALAR VD$L NOVECTOR DEC$ NOVECTOR VD$ NOVECTOR VDIR NOVECTOR VOCL LOOP,SCALAR IBM PREFER SCALAR $PL$ CMCHAR='*' */ i__3 = na; for (ja = 1; ja <= i__3; ++ja) { if (ilcplx) { sum_ref(ja, 1) = -acoef * suma_ref(ja, 1) + bcoefr * sumb_ref(ja, 1) - bcoefi * sumb_ref(ja, 2); sum_ref(ja, 2) = -acoef * suma_ref(ja, 2) + bcoefr * sumb_ref(ja, 2) + bcoefi * sumb_ref(ja, 1); } else { sum_ref(ja, 1) = -acoef * suma_ref(ja, 1) + bcoefr * sumb_ref(ja, 1); } /* L130: */ } /* T Solve ( a A - b B ) y = SUM(,) with scaling and perturbation of the denominator */ template_lapack_laln2(&c_true, &na, &nw, &dmin__, &acoef, &a_ref(j, j), lda, bdiag, &bdiag[1], sum, &c__2, &bcoefr, &bcoefi, & work[(*n << 1) + j], n, &scale, &temp, &iinfo); if (scale < 1.) { i__3 = nw - 1; for (jw = 0; jw <= i__3; ++jw) { i__4 = j - 1; for (jr = je; jr <= i__4; ++jr) { work[(jw + 2) * *n + jr] = scale * work[(jw + 2) * *n + jr]; /* L140: */ } /* L150: */ } xmax = scale * xmax; } xmax = maxMACRO(xmax,temp); L160: ; } /* Copy eigenvector to VL, back transforming if HOWMNY='B'. */ ++ieig; if (ilback) { i__2 = nw - 1; for (jw = 0; jw <= i__2; ++jw) { i__3 = *n + 1 - je; template_blas_gemv("N", n, &i__3, &c_b35, &vl_ref(1, je), ldvl, &work[ (jw + 2) * *n + je], &c__1, &c_b37, &work[(jw + 4) * *n + 1], &c__1); /* L170: */ } template_lapack_lacpy(" ", n, &nw, &work[(*n << 2) + 1], n, &vl_ref(1, je), ldvl); ibeg = 1; } else { template_lapack_lacpy(" ", n, &nw, &work[(*n << 1) + 1], n, &vl_ref(1, ieig) , ldvl); ibeg = je; } /* Scale eigenvector */ xmax = 0.; if (ilcplx) { i__2 = *n; for (j = ibeg; j <= i__2; ++j) { /* Computing MAX */ d__3 = xmax, d__4 = (d__1 = vl_ref(j, ieig), absMACRO(d__1)) + (d__2 = vl_ref(j, ieig + 1), absMACRO(d__2)); xmax = maxMACRO(d__3,d__4); /* L180: */ } } else { i__2 = *n; for (j = ibeg; j <= i__2; ++j) { /* Computing MAX */ d__2 = xmax, d__3 = (d__1 = vl_ref(j, ieig), absMACRO(d__1)); xmax = maxMACRO(d__2,d__3); /* L190: */ } } if (xmax > safmin) { xscale = 1. / xmax; i__2 = nw - 1; for (jw = 0; jw <= i__2; ++jw) { i__3 = *n; for (jr = ibeg; jr <= i__3; ++jr) { vl_ref(jr, ieig + jw) = xscale * vl_ref(jr, ieig + jw) ; /* L200: */ } /* L210: */ } } ieig = ieig + nw - 1; L220: ; } } /* Right eigenvectors */ if (compr) { ieig = im + 1; /* Main loop over eigenvalues */ ilcplx = FALSE_; for (je = *n; je >= 1; --je) { /* Skip this iteration if (a) HOWMNY='S' and SELECT=.FALSE., or (b) this would be the second of a complex pair. Check for complex eigenvalue, so as to be sure of which entry(-ies) of SELECT to look at -- if complex, SELECT(JE) or SELECT(JE-1). If this is a complex pair, the 2-by-2 diagonal block corresponding to the eigenvalue is in rows/columns JE-1:JE */ if (ilcplx) { ilcplx = FALSE_; goto L500; } nw = 1; if (je > 1) { if (a_ref(je, je - 1) != 0.) { ilcplx = TRUE_; nw = 2; } } if (ilall) { ilcomp = TRUE_; } else if (ilcplx) { ilcomp = select[je] || select[je - 1]; } else { ilcomp = select[je]; } if (! ilcomp) { goto L500; } /* Decide if (a) singular pencil, (b) real eigenvalue, or (c) complex eigenvalue. */ if (! ilcplx) { if ((d__1 = a_ref(je, je), absMACRO(d__1)) <= safmin && (d__2 = b_ref(je, je), absMACRO(d__2)) <= safmin) { /* Singular matrix pencil -- unit eigenvector */ --ieig; i__1 = *n; for (jr = 1; jr <= i__1; ++jr) { vr_ref(jr, ieig) = 0.; /* L230: */ } vr_ref(ieig, ieig) = 1.; goto L500; } } /* Clear vector */ i__1 = nw - 1; for (jw = 0; jw <= i__1; ++jw) { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { work[(jw + 2) * *n + jr] = 0.; /* L240: */ } /* L250: */ } /* Compute coefficients in ( a A - b B ) x = 0 a is ACOEF b is BCOEFR + i*BCOEFI */ if (! ilcplx) { /* Real eigenvalue Computing MAX */ d__3 = (d__1 = a_ref(je, je), absMACRO(d__1)) * ascale, d__4 = ( d__2 = b_ref(je, je), absMACRO(d__2)) * bscale, d__3 = maxMACRO( d__3,d__4); temp = 1. / maxMACRO(d__3,safmin); salfar = temp * a_ref(je, je) * ascale; sbeta = temp * b_ref(je, je) * bscale; acoef = sbeta * ascale; bcoefr = salfar * bscale; bcoefi = 0.; /* Scale to avoid underflow */ scale = 1.; lsa = absMACRO(sbeta) >= safmin && absMACRO(acoef) < small; lsb = absMACRO(salfar) >= safmin && absMACRO(bcoefr) < small; if (lsa) { scale = small / absMACRO(sbeta) * minMACRO(anorm,big); } if (lsb) { /* Computing MAX */ d__1 = scale, d__2 = small / absMACRO(salfar) * minMACRO(bnorm,big); scale = maxMACRO(d__1,d__2); } if (lsa || lsb) { /* Computing MIN Computing MAX */ d__3 = 1., d__4 = absMACRO(acoef), d__3 = maxMACRO(d__3,d__4), d__4 = absMACRO(bcoefr); d__1 = scale, d__2 = 1. / (safmin * maxMACRO(d__3,d__4)); scale = minMACRO(d__1,d__2); if (lsa) { acoef = ascale * (scale * sbeta); } else { acoef = scale * acoef; } if (lsb) { bcoefr = bscale * (scale * salfar); } else { bcoefr = scale * bcoefr; } } acoefa = absMACRO(acoef); bcoefa = absMACRO(bcoefr); /* First component is 1 */ work[(*n << 1) + je] = 1.; xmax = 1.; /* Compute contribution from column JE of A and B to sum (See "Further Details", above.) */ i__1 = je - 1; for (jr = 1; jr <= i__1; ++jr) { work[(*n << 1) + jr] = bcoefr * b_ref(jr, je) - acoef * a_ref(jr, je); /* L260: */ } } else { /* Complex eigenvalue */ d__1 = safmin * 100.; template_lapack_lag2(&a_ref(je - 1, je - 1), lda, &b_ref(je - 1, je - 1), ldb, &d__1, &acoef, &temp, &bcoefr, &temp2, &bcoefi); if (bcoefi == 0.) { *info = je - 1; return 0; } /* Scale to avoid over/underflow */ acoefa = absMACRO(acoef); bcoefa = absMACRO(bcoefr) + absMACRO(bcoefi); scale = 1.; if (acoefa * ulp < safmin && acoefa >= safmin) { scale = safmin / ulp / acoefa; } if (bcoefa * ulp < safmin && bcoefa >= safmin) { /* Computing MAX */ d__1 = scale, d__2 = safmin / ulp / bcoefa; scale = maxMACRO(d__1,d__2); } if (safmin * acoefa > ascale) { scale = ascale / (safmin * acoefa); } if (safmin * bcoefa > bscale) { /* Computing MIN */ d__1 = scale, d__2 = bscale / (safmin * bcoefa); scale = minMACRO(d__1,d__2); } if (scale != 1.) { acoef = scale * acoef; acoefa = absMACRO(acoef); bcoefr = scale * bcoefr; bcoefi = scale * bcoefi; bcoefa = absMACRO(bcoefr) + absMACRO(bcoefi); } /* Compute first two components of eigenvector and contribution to sums */ temp = acoef * a_ref(je, je - 1); temp2r = acoef * a_ref(je, je) - bcoefr * b_ref(je, je); temp2i = -bcoefi * b_ref(je, je); if (absMACRO(temp) >= absMACRO(temp2r) + absMACRO(temp2i)) { work[(*n << 1) + je] = 1.; work[*n * 3 + je] = 0.; work[(*n << 1) + je - 1] = -temp2r / temp; work[*n * 3 + je - 1] = -temp2i / temp; } else { work[(*n << 1) + je - 1] = 1.; work[*n * 3 + je - 1] = 0.; temp = acoef * a_ref(je - 1, je); work[(*n << 1) + je] = (bcoefr * b_ref(je - 1, je - 1) - acoef * a_ref(je - 1, je - 1)) / temp; work[*n * 3 + je] = bcoefi * b_ref(je - 1, je - 1) / temp; } /* Computing MAX */ d__5 = (d__1 = work[(*n << 1) + je], absMACRO(d__1)) + (d__2 = work[*n * 3 + je], absMACRO(d__2)), d__6 = (d__3 = work[(* n << 1) + je - 1], absMACRO(d__3)) + (d__4 = work[*n * 3 + je - 1], absMACRO(d__4)); xmax = maxMACRO(d__5,d__6); /* Compute contribution from columns JE and JE-1 of A and B to the sums. */ creala = acoef * work[(*n << 1) + je - 1]; cimaga = acoef * work[*n * 3 + je - 1]; crealb = bcoefr * work[(*n << 1) + je - 1] - bcoefi * work[*n * 3 + je - 1]; cimagb = bcoefi * work[(*n << 1) + je - 1] + bcoefr * work[*n * 3 + je - 1]; cre2a = acoef * work[(*n << 1) + je]; cim2a = acoef * work[*n * 3 + je]; cre2b = bcoefr * work[(*n << 1) + je] - bcoefi * work[*n * 3 + je]; cim2b = bcoefi * work[(*n << 1) + je] + bcoefr * work[*n * 3 + je]; i__1 = je - 2; for (jr = 1; jr <= i__1; ++jr) { work[(*n << 1) + jr] = -creala * a_ref(jr, je - 1) + crealb * b_ref(jr, je - 1) - cre2a * a_ref(jr, je) + cre2b * b_ref(jr, je); work[*n * 3 + jr] = -cimaga * a_ref(jr, je - 1) + cimagb * b_ref(jr, je - 1) - cim2a * a_ref(jr, je) + cim2b * b_ref(jr, je); /* L270: */ } } /* Computing MAX */ d__1 = ulp * acoefa * anorm, d__2 = ulp * bcoefa * bnorm, d__1 = maxMACRO(d__1,d__2); dmin__ = maxMACRO(d__1,safmin); /* Columnwise triangular solve of (a A - b B) x = 0 */ il2by2 = FALSE_; for (j = je - nw; j >= 1; --j) { /* If a 2-by-2 block, is in position j-1:j, wait until next iteration to process it (when it will be j:j+1) */ if (! il2by2 && j > 1) { if (a_ref(j, j - 1) != 0.) { il2by2 = TRUE_; goto L370; } } bdiag[0] = b_ref(j, j); if (il2by2) { na = 2; bdiag[1] = b_ref(j + 1, j + 1); } else { na = 1; } /* Compute x(j) (and x(j+1), if 2-by-2 block) */ template_lapack_laln2(&c_false, &na, &nw, &dmin__, &acoef, &a_ref(j, j), lda, bdiag, &bdiag[1], &work[(*n << 1) + j], n, & bcoefr, &bcoefi, sum, &c__2, &scale, &temp, &iinfo); if (scale < 1.) { i__1 = nw - 1; for (jw = 0; jw <= i__1; ++jw) { i__2 = je; for (jr = 1; jr <= i__2; ++jr) { work[(jw + 2) * *n + jr] = scale * work[(jw + 2) * *n + jr]; /* L280: */ } /* L290: */ } } /* Computing MAX */ d__1 = scale * xmax; xmax = maxMACRO(d__1,temp); i__1 = nw; for (jw = 1; jw <= i__1; ++jw) { i__2 = na; for (ja = 1; ja <= i__2; ++ja) { work[(jw + 1) * *n + j + ja - 1] = sum_ref(ja, jw); /* L300: */ } /* L310: */ } /* w = w + x(j)*(a A(*,j) - b B(*,j) ) with scaling */ if (j > 1) { /* Check whether scaling is necessary for sum. */ xscale = 1. / maxMACRO(1.,xmax); temp = acoefa * work[j] + bcoefa * work[*n + j]; if (il2by2) { /* Computing MAX */ d__1 = temp, d__2 = acoefa * work[j + 1] + bcoefa * work[*n + j + 1]; temp = maxMACRO(d__1,d__2); } /* Computing MAX */ d__1 = maxMACRO(temp,acoefa); temp = maxMACRO(d__1,bcoefa); if (temp > bignum * xscale) { i__1 = nw - 1; for (jw = 0; jw <= i__1; ++jw) { i__2 = je; for (jr = 1; jr <= i__2; ++jr) { work[(jw + 2) * *n + jr] = xscale * work[(jw + 2) * *n + jr]; /* L320: */ } /* L330: */ } xmax *= xscale; } /* Compute the contributions of the off-diagonals of column j (and j+1, if 2-by-2 block) of A and B to the sums. */ i__1 = na; for (ja = 1; ja <= i__1; ++ja) { if (ilcplx) { creala = acoef * work[(*n << 1) + j + ja - 1]; cimaga = acoef * work[*n * 3 + j + ja - 1]; crealb = bcoefr * work[(*n << 1) + j + ja - 1] - bcoefi * work[*n * 3 + j + ja - 1]; cimagb = bcoefi * work[(*n << 1) + j + ja - 1] + bcoefr * work[*n * 3 + j + ja - 1]; i__2 = j - 1; for (jr = 1; jr <= i__2; ++jr) { work[(*n << 1) + jr] = work[(*n << 1) + jr] - creala * a_ref(jr, j + ja - 1) + crealb * b_ref(jr, j + ja - 1); work[*n * 3 + jr] = work[*n * 3 + jr] - cimaga * a_ref(jr, j + ja - 1) + cimagb * b_ref(jr, j + ja - 1); /* L340: */ } } else { creala = acoef * work[(*n << 1) + j + ja - 1]; crealb = bcoefr * work[(*n << 1) + j + ja - 1]; i__2 = j - 1; for (jr = 1; jr <= i__2; ++jr) { work[(*n << 1) + jr] = work[(*n << 1) + jr] - creala * a_ref(jr, j + ja - 1) + crealb * b_ref(jr, j + ja - 1); /* L350: */ } } /* L360: */ } } il2by2 = FALSE_; L370: ; } /* Copy eigenvector to VR, back transforming if HOWMNY='B'. */ ieig -= nw; if (ilback) { i__1 = nw - 1; for (jw = 0; jw <= i__1; ++jw) { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { work[(jw + 4) * *n + jr] = work[(jw + 2) * *n + 1] * vr_ref(jr, 1); /* L380: */ } /* A series of compiler directives to defeat vectorization for the next loop */ i__2 = je; for (jc = 2; jc <= i__2; ++jc) { i__3 = *n; for (jr = 1; jr <= i__3; ++jr) { work[(jw + 4) * *n + jr] += work[(jw + 2) * *n + jc] * vr_ref(jr, jc); /* L390: */ } /* L400: */ } /* L410: */ } i__1 = nw - 1; for (jw = 0; jw <= i__1; ++jw) { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { vr_ref(jr, ieig + jw) = work[(jw + 4) * *n + jr]; /* L420: */ } /* L430: */ } iend = *n; } else { i__1 = nw - 1; for (jw = 0; jw <= i__1; ++jw) { i__2 = *n; for (jr = 1; jr <= i__2; ++jr) { vr_ref(jr, ieig + jw) = work[(jw + 2) * *n + jr]; /* L440: */ } /* L450: */ } iend = je; } /* Scale eigenvector */ xmax = 0.; if (ilcplx) { i__1 = iend; for (j = 1; j <= i__1; ++j) { /* Computing MAX */ d__3 = xmax, d__4 = (d__1 = vr_ref(j, ieig), absMACRO(d__1)) + (d__2 = vr_ref(j, ieig + 1), absMACRO(d__2)); xmax = maxMACRO(d__3,d__4); /* L460: */ } } else { i__1 = iend; for (j = 1; j <= i__1; ++j) { /* Computing MAX */ d__2 = xmax, d__3 = (d__1 = vr_ref(j, ieig), absMACRO(d__1)); xmax = maxMACRO(d__2,d__3); /* L470: */ } } if (xmax > safmin) { xscale = 1. / xmax; i__1 = nw - 1; for (jw = 0; jw <= i__1; ++jw) { i__2 = iend; for (jr = 1; jr <= i__2; ++jr) { vr_ref(jr, ieig + jw) = xscale * vr_ref(jr, ieig + jw) ; /* L480: */ } /* L490: */ } } L500: ; } } return 0; /* End of DTGEVC */ } /* dtgevc_ */ #undef sum_ref #undef vr_ref #undef vl_ref #undef b_ref #undef a_ref #undef sumb_ref #undef suma_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lapy2.h0000664000175000017500000000522012743400307023032 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LAPY2_HEADER #define TEMPLATE_LAPACK_LAPY2_HEADER template Treal template_lapack_lapy2(Treal *x, Treal *y) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLAPY2 returns sqrt(x**2+y**2), taking care not to cause unnecessary overflow. Arguments ========= X (input) DOUBLE PRECISION Y (input) DOUBLE PRECISION X and Y specify the values x and y. ===================================================================== */ /* System generated locals */ Treal ret_val, d__1; /* Local variables */ Treal xabs, yabs, w, z__; xabs = absMACRO(*x); yabs = absMACRO(*y); w = maxMACRO(xabs,yabs); z__ = minMACRO(xabs,yabs); if (z__ == 0.) { ret_val = w; } else { /* Computing 2nd power */ d__1 = z__ / w; ret_val = w * template_blas_sqrt(d__1 * d__1 + 1.); } return ret_val; /* End of DLAPY2 */ } /* dlapy2_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_pptrf.h0000664000175000017500000001412112743400307023136 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_PPTRF_HEADER #define TEMPLATE_LAPACK_PPTRF_HEADER #include "template_lapack_common.h" template int template_lapack_pptrf(const char *uplo, const integer *n, Treal *ap, integer * info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University March 31, 1993 Purpose ======= DPPTRF computes the Cholesky factorization of a real symmetric positive definite matrix A stored in packed format. The factorization has the form A = U**T * U, if UPLO = 'U', or A = L * L**T, if UPLO = 'L', where U is an upper triangular matrix and L is lower triangular. Arguments ========= UPLO (input) CHARACTER*1 = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. N (input) INTEGER The order of the matrix A. N >= 0. AP (input/output) DOUBLE PRECISION array, dimension (N*(N+1)/2) On entry, the upper or lower triangle of the symmetric matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows: if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n. See below for further details. On exit, if INFO = 0, the triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T, in the same storage format as A. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed. Further Details ======= ======= The packed storage scheme is illustrated by the following example when N = 4, UPLO = 'U': Two-dimensional storage of the symmetric matrix A: a11 a12 a13 a14 a22 a23 a24 a33 a34 (aij = aji) a44 Packed storage of the upper triangle of A: AP = [ a11, a12, a22, a13, a23, a33, a14, a24, a34, a44 ] ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; Treal c_b16 = -1.; /* System generated locals */ integer i__1, i__2; Treal d__1; /* Local variables */ integer j; logical upper; integer jc, jj; Treal ajj; --ap; /* Function Body */ *info = 0; upper = template_blas_lsame(uplo, "U"); if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -1; } else if (*n < 0) { *info = -2; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("DPPTRF", &i__1); return 0; } /* Quick return if possible */ if (*n == 0) { return 0; } if (upper) { /* Compute the Cholesky factorization A = U'*U. */ jj = 0; i__1 = *n; for (j = 1; j <= i__1; ++j) { jc = jj + 1; jj += j; /* Compute elements 1:J-1 of column J. */ if (j > 1) { i__2 = j - 1; template_blas_tpsv("Upper", "Transpose", "Non-unit", &i__2, &ap[1], &ap[ jc], &c__1); } /* Compute U(J,J) and test for non-positive-definiteness. */ i__2 = j - 1; ajj = ap[jj] - template_blas_dot(&i__2, &ap[jc], &c__1, &ap[jc], &c__1); if (ajj <= 0.) { ap[jj] = ajj; goto L30; } ap[jj] = template_blas_sqrt(ajj); /* L10: */ } } else { /* Compute the Cholesky factorization A = L*L'. */ jj = 1; i__1 = *n; for (j = 1; j <= i__1; ++j) { /* Compute L(J,J) and test for non-positive-definiteness. */ ajj = ap[jj]; if (ajj <= 0.) { ap[jj] = ajj; goto L30; } ajj = template_blas_sqrt(ajj); ap[jj] = ajj; /* Compute elements J+1:N of column J and update the trailing submatrix. */ if (j < *n) { i__2 = *n - j; d__1 = 1. / ajj; template_blas_scal(&i__2, &d__1, &ap[jj + 1], &c__1); i__2 = *n - j; template_blas_spr("Lower", &i__2, &c_b16, &ap[jj + 1], &c__1, &ap[jj + *n - j + 1]); jj = jj + *n - j + 1; } /* L20: */ } } goto L40; L30: *info = j; L40: return 0; /* End of DPPTRF */ } /* dpptrf_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_sterf.h0000664000175000017500000002422012743400307023127 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_STERF_HEADER #define TEMPLATE_LAPACK_STERF_HEADER #include "template_lapack_common.h" template int template_lapack_sterf(const integer *n, Treal *d__, Treal *e, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University June 30, 1999 Purpose ======= DSTERF computes all eigenvalues of a symmetric tridiagonal matrix using the Pal-Walker-Kahan variant of the QL or QR algorithm. Arguments ========= N (input) INTEGER The order of the matrix. N >= 0. D (input/output) DOUBLE PRECISION array, dimension (N) On entry, the n diagonal elements of the tridiagonal matrix. On exit, if INFO = 0, the eigenvalues in ascending order. E (input/output) DOUBLE PRECISION array, dimension (N-1) On entry, the (n-1) subdiagonal elements of the tridiagonal matrix. On exit, E has been destroyed. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: the algorithm failed to find all of the eigenvalues in a total of 30*N iterations; if INFO = i, then i elements of E have not converged to zero. ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__0 = 0; integer c__1 = 1; Treal c_b32 = 1.; /* System generated locals */ integer i__1; Treal d__1, d__2, d__3; /* Local variables */ Treal oldc; integer lend, jtot; Treal c__; integer i__, l, m; Treal p, gamma, r__, s, alpha, sigma, anorm; integer l1; Treal bb; integer iscale; Treal oldgam, safmin; Treal safmax; integer lendsv; Treal ssfmin; integer nmaxit; Treal ssfmax, rt1, rt2, eps, rte; integer lsv; Treal eps2; --e; --d__; /* Function Body */ *info = 0; /* Quick return if possible */ if (*n < 0) { *info = -1; i__1 = -(*info); template_blas_erbla("STERF ", &i__1); return 0; } if (*n <= 1) { return 0; } /* Determine the unit roundoff for this environment. */ eps = template_lapack_lamch("E", (Treal)0); /* Computing 2nd power */ d__1 = eps; eps2 = d__1 * d__1; safmin = template_lapack_lamch("S", (Treal)0); safmax = 1. / safmin; ssfmax = template_blas_sqrt(safmax) / 3.; ssfmin = template_blas_sqrt(safmin) / eps2; /* Compute the eigenvalues of the tridiagonal matrix. */ nmaxit = *n * 30; sigma = 0.; jtot = 0; /* Determine where the matrix splits and choose QL or QR iteration for each block, according to whether top or bottom diagonal element is smaller. */ l1 = 1; L10: if (l1 > *n) { goto L170; } if (l1 > 1) { e[l1 - 1] = 0.; } i__1 = *n - 1; for (m = l1; m <= i__1; ++m) { if ((d__3 = e[m], absMACRO(d__3)) <= template_blas_sqrt((d__1 = d__[m], absMACRO(d__1))) * template_blas_sqrt((d__2 = d__[m + 1], absMACRO(d__2))) * eps) { e[m] = 0.; goto L30; } /* L20: */ } m = *n; L30: l = l1; lsv = l; lend = m; lendsv = lend; l1 = m + 1; if (lend == l) { goto L10; } /* Scale submatrix in rows and columns L to LEND */ i__1 = lend - l + 1; anorm = template_lapack_lanst("I", &i__1, &d__[l], &e[l]); iscale = 0; if (anorm > ssfmax) { iscale = 1; i__1 = lend - l + 1; template_lapack_lascl("G", &c__0, &c__0, &anorm, &ssfmax, &i__1, &c__1, &d__[l], n, info); i__1 = lend - l; template_lapack_lascl("G", &c__0, &c__0, &anorm, &ssfmax, &i__1, &c__1, &e[l], n, info); } else if (anorm < ssfmin) { iscale = 2; i__1 = lend - l + 1; template_lapack_lascl("G", &c__0, &c__0, &anorm, &ssfmin, &i__1, &c__1, &d__[l], n, info); i__1 = lend - l; template_lapack_lascl("G", &c__0, &c__0, &anorm, &ssfmin, &i__1, &c__1, &e[l], n, info); } i__1 = lend - 1; for (i__ = l; i__ <= i__1; ++i__) { /* Computing 2nd power */ d__1 = e[i__]; e[i__] = d__1 * d__1; /* L40: */ } /* Choose between QL and QR iteration */ if ((d__1 = d__[lend], absMACRO(d__1)) < (d__2 = d__[l], absMACRO(d__2))) { lend = lsv; l = lendsv; } if (lend >= l) { /* QL Iteration Look for small subdiagonal element. */ L50: if (l != lend) { i__1 = lend - 1; for (m = l; m <= i__1; ++m) { if ((d__2 = e[m], absMACRO(d__2)) <= eps2 * (d__1 = d__[m] * d__[m + 1], absMACRO(d__1))) { goto L70; } /* L60: */ } } m = lend; L70: if (m < lend) { e[m] = 0.; } p = d__[l]; if (m == l) { goto L90; } /* If remaining matrix is 2 by 2, use DLAE2 to compute its eigenvalues. */ if (m == l + 1) { rte = template_blas_sqrt(e[l]); template_lapack_lae2(&d__[l], &rte, &d__[l + 1], &rt1, &rt2); d__[l] = rt1; d__[l + 1] = rt2; e[l] = 0.; l += 2; if (l <= lend) { goto L50; } goto L150; } if (jtot == nmaxit) { goto L150; } ++jtot; /* Form shift. */ rte = template_blas_sqrt(e[l]); sigma = (d__[l + 1] - p) / (rte * 2.); r__ = template_lapack_lapy2(&sigma, &c_b32); sigma = p - rte / (sigma + template_lapack_d_sign(&r__, &sigma)); c__ = 1.; s = 0.; gamma = d__[m] - sigma; p = gamma * gamma; /* Inner loop */ i__1 = l; for (i__ = m - 1; i__ >= i__1; --i__) { bb = e[i__]; r__ = p + bb; if (i__ != m - 1) { e[i__ + 1] = s * r__; } oldc = c__; c__ = p / r__; s = bb / r__; oldgam = gamma; alpha = d__[i__]; gamma = c__ * (alpha - sigma) - s * oldgam; d__[i__ + 1] = oldgam + (alpha - gamma); if (c__ != 0.) { p = gamma * gamma / c__; } else { p = oldc * bb; } /* L80: */ } e[l] = s * p; d__[l] = sigma + gamma; goto L50; /* Eigenvalue found. */ L90: d__[l] = p; ++l; if (l <= lend) { goto L50; } goto L150; } else { /* QR Iteration Look for small superdiagonal element. */ L100: i__1 = lend + 1; for (m = l; m >= i__1; --m) { if ((d__2 = e[m - 1], absMACRO(d__2)) <= eps2 * (d__1 = d__[m] * d__[m - 1], absMACRO(d__1))) { goto L120; } /* L110: */ } m = lend; L120: if (m > lend) { e[m - 1] = 0.; } p = d__[l]; if (m == l) { goto L140; } /* If remaining matrix is 2 by 2, use DLAE2 to compute its eigenvalues. */ if (m == l - 1) { rte = template_blas_sqrt(e[l - 1]); template_lapack_lae2(&d__[l], &rte, &d__[l - 1], &rt1, &rt2); d__[l] = rt1; d__[l - 1] = rt2; e[l - 1] = 0.; l += -2; if (l >= lend) { goto L100; } goto L150; } if (jtot == nmaxit) { goto L150; } ++jtot; /* Form shift. */ rte = template_blas_sqrt(e[l - 1]); sigma = (d__[l - 1] - p) / (rte * 2.); r__ = template_lapack_lapy2(&sigma, &c_b32); sigma = p - rte / (sigma + template_lapack_d_sign(&r__, &sigma)); c__ = 1.; s = 0.; gamma = d__[m] - sigma; p = gamma * gamma; /* Inner loop */ i__1 = l - 1; for (i__ = m; i__ <= i__1; ++i__) { bb = e[i__]; r__ = p + bb; if (i__ != m) { e[i__ - 1] = s * r__; } oldc = c__; c__ = p / r__; s = bb / r__; oldgam = gamma; alpha = d__[i__ + 1]; gamma = c__ * (alpha - sigma) - s * oldgam; d__[i__] = oldgam + (alpha - gamma); if (c__ != 0.) { p = gamma * gamma / c__; } else { p = oldc * bb; } /* L130: */ } e[l - 1] = s * p; d__[l] = sigma + gamma; goto L100; /* Eigenvalue found. */ L140: d__[l] = p; --l; if (l >= lend) { goto L100; } goto L150; } /* Undo scaling if necessary */ L150: if (iscale == 1) { i__1 = lendsv - lsv + 1; template_lapack_lascl("G", &c__0, &c__0, &ssfmax, &anorm, &i__1, &c__1, &d__[lsv], n, info); } if (iscale == 2) { i__1 = lendsv - lsv + 1; template_lapack_lascl("G", &c__0, &c__0, &ssfmin, &anorm, &i__1, &c__1, &d__[lsv], n, info); } /* Check for no convergence to an eigenvalue after a total of N*MAXIT iterations. */ if (jtot < nmaxit) { goto L10; } i__1 = *n - 1; for (i__ = 1; i__ <= i__1; ++i__) { if (e[i__] != 0.) { ++(*info); } /* L160: */ } goto L180; /* Sort eigenvalues in increasing order. */ L170: template_lapack_lasrt("I", n, &d__[1], info); L180: return 0; /* End of DSTERF */ } /* dsterf_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_tptri.h0000664000175000017500000001456712743400307023163 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_TPTRI_HEADER #define TEMPLATE_LAPACK_TPTRI_HEADER #include "template_lapack_common.h" template int template_lapack_tptri(const char *uplo, const char *diag, const integer *n, Treal * ap, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University September 30, 1994 Purpose ======= DTPTRI computes the inverse of a real upper or lower triangular matrix A stored in packed format. Arguments ========= UPLO (input) CHARACTER*1 = 'U': A is upper triangular; = 'L': A is lower triangular. DIAG (input) CHARACTER*1 = 'N': A is non-unit triangular; = 'U': A is unit triangular. N (input) INTEGER The order of the matrix A. N >= 0. AP (input/output) DOUBLE PRECISION array, dimension (N*(N+1)/2) On entry, the upper or lower triangular matrix A, stored columnwise in a linear array. The j-th column of A is stored in the array AP as follows: if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*((2*n-j)/2) = A(i,j) for j<=i<=n. See below for further details. On exit, the (triangular) inverse of the original matrix, in the same packed storage format. INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, A(i,i) is exactly zero. The triangular matrix is singular and its inverse can not be computed. Further Details =============== A triangular matrix A can be transferred to packed storage using one of the following program segments: UPLO = 'U': UPLO = 'L': JC = 1 JC = 1 DO 2 J = 1, N DO 2 J = 1, N DO 1 I = 1, J DO 1 I = J, N AP(JC+I-1) = A(I,J) AP(JC+I-J) = A(I,J) 1 CONTINUE 1 CONTINUE JC = JC + J JC = JC + N - J + 1 2 CONTINUE 2 CONTINUE ===================================================================== Test the input parameters. Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; /* System generated locals */ integer i__1, i__2; /* Local variables */ integer j; logical upper; integer jc, jj; integer jclast; logical nounit; Treal ajj; --ap; /* Initialization added by Elias to get rid of compiler warnings. */ jclast = 0; /* Function Body */ *info = 0; upper = template_blas_lsame(uplo, "U"); nounit = template_blas_lsame(diag, "N"); if (! upper && ! template_blas_lsame(uplo, "L")) { *info = -1; } else if (! nounit && ! template_blas_lsame(diag, "U")) { *info = -2; } else if (*n < 0) { *info = -3; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("TPTRI ", &i__1); return 0; } /* Check for singularity if non-unit. */ if (nounit) { if (upper) { jj = 0; i__1 = *n; for (*info = 1; *info <= i__1; ++(*info)) { jj += *info; if (ap[jj] == 0.) { return 0; } /* L10: */ } } else { jj = 1; i__1 = *n; for (*info = 1; *info <= i__1; ++(*info)) { if (ap[jj] == 0.) { return 0; } jj = jj + *n - *info + 1; /* L20: */ } } *info = 0; } if (upper) { /* Compute inverse of upper triangular matrix. */ jc = 1; i__1 = *n; for (j = 1; j <= i__1; ++j) { if (nounit) { ap[jc + j - 1] = 1. / ap[jc + j - 1]; ajj = -ap[jc + j - 1]; } else { ajj = -1.; } /* Compute elements 1:j-1 of j-th column. */ i__2 = j - 1; template_blas_tpmv("Upper", "No transpose", diag, &i__2, &ap[1], &ap[jc], & c__1); i__2 = j - 1; template_blas_scal(&i__2, &ajj, &ap[jc], &c__1); jc += j; /* L30: */ } } else { /* Compute inverse of lower triangular matrix. */ jc = *n * (*n + 1) / 2; for (j = *n; j >= 1; --j) { if (nounit) { ap[jc] = 1. / ap[jc]; ajj = -ap[jc]; } else { ajj = -1.; } if (j < *n) { /* Compute elements j+1:n of j-th column. */ i__1 = *n - j; template_blas_tpmv("Lower", "No transpose", diag, &i__1, &ap[jclast], &ap[ jc + 1], &c__1); i__1 = *n - j; template_blas_scal(&i__1, &ajj, &ap[jc + 1], &c__1); } jclast = jc; jc = jc - *n + j - 2; /* L40: */ } } return 0; /* End of DTPTRI */ } /* dtptri_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_laln2.h0000664000175000017500000004220712743400307023021 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LALN2_HEADER #define TEMPLATE_LAPACK_LALN2_HEADER template int template_lapack_laln2(const logical *ltrans, const integer *na, const integer *nw, const Treal *smin, const Treal *ca, const Treal *a, const integer *lda, const Treal *d1, const Treal *d2, const Treal *b, const integer *ldb, const Treal *wr, const Treal *wi, Treal *x, const integer *ldx, Treal *scale, Treal *xnorm, integer *info) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLALN2 solves a system of the form (ca A - w D ) X = s B or (ca A' - w D) X = s B with possible scaling ("s") and perturbation of A. (A' means A-transpose.) A is an NA x NA real matrix, ca is a real scalar, D is an NA x NA real diagonal matrix, w is a real or complex value, and X and B are NA x 1 matrices -- real if w is real, complex if w is complex. NA may be 1 or 2. If w is complex, X and B are represented as NA x 2 matrices, the first column of each being the real part and the second being the imaginary part. "s" is a scaling factor (.LE. 1), computed by DLALN2, which is so chosen that X can be computed without overflow. X is further scaled if necessary to assure that norm(ca A - w D)*norm(X) is less than overflow. If both singular values of (ca A - w D) are less than SMIN, SMIN*identity will be used instead of (ca A - w D). If only one singular value is less than SMIN, one element of (ca A - w D) will be perturbed enough to make the smallest singular value roughly SMIN. If both singular values are at least SMIN, (ca A - w D) will not be perturbed. In any case, the perturbation will be at most some small multiple of max( SMIN, ulp*norm(ca A - w D) ). The singular values are computed by infinity-norm approximations, and thus will only be correct to a factor of 2 or so. Note: all input quantities are assumed to be smaller than overflow by a reasonable factor. (See BIGNUM.) Arguments ========== LTRANS (input) LOGICAL =.TRUE.: A-transpose will be used. =.FALSE.: A will be used (not transposed.) NA (input) INTEGER The size of the matrix A. It may (only) be 1 or 2. NW (input) INTEGER 1 if "w" is real, 2 if "w" is complex. It may only be 1 or 2. SMIN (input) DOUBLE PRECISION The desired lower bound on the singular values of A. This should be a safe distance away from underflow or overflow, say, between (underflow/machine precision) and (machine precision * overflow ). (See BIGNUM and ULP.) CA (input) DOUBLE PRECISION The coefficient c, which A is multiplied by. A (input) DOUBLE PRECISION array, dimension (LDA,NA) The NA x NA matrix A. LDA (input) INTEGER The leading dimension of A. It must be at least NA. D1 (input) DOUBLE PRECISION The 1,1 element in the diagonal matrix D. D2 (input) DOUBLE PRECISION The 2,2 element in the diagonal matrix D. Not used if NW=1. B (input) DOUBLE PRECISION array, dimension (LDB,NW) The NA x NW matrix B (right-hand side). If NW=2 ("w" is complex), column 1 contains the real part of B and column 2 contains the imaginary part. LDB (input) INTEGER The leading dimension of B. It must be at least NA. WR (input) DOUBLE PRECISION The real part of the scalar "w". WI (input) DOUBLE PRECISION The imaginary part of the scalar "w". Not used if NW=1. X (output) DOUBLE PRECISION array, dimension (LDX,NW) The NA x NW matrix X (unknowns), as computed by DLALN2. If NW=2 ("w" is complex), on exit, column 1 will contain the real part of X and column 2 will contain the imaginary part. LDX (input) INTEGER The leading dimension of X. It must be at least NA. SCALE (output) DOUBLE PRECISION The scale factor that B must be multiplied by to insure that overflow does not occur when computing X. Thus, (ca A - w D) X will be SCALE*B, not B (ignoring perturbations of A.) It will be at most 1. XNORM (output) DOUBLE PRECISION The infinity-norm of X, when X is regarded as an NA x NW real matrix. INFO (output) INTEGER An error flag. It will be set to zero if no error occurs, a negative number if an argument is in error, or a positive number if ca A - w D had to be perturbed. The possible values are: = 0: No error occurred, and (ca A - w D) did not have to be perturbed. = 1: (ca A - w D) had to be perturbed to make its smallest (or only) singular value greater than SMIN. NOTE: In the interests of speed, this routine does not check the inputs for errors. ===================================================================== Parameter adjustments */ /* Initialized data */ logical zswap[4] = { FALSE_,FALSE_,TRUE_,TRUE_ }; logical rswap[4] = { FALSE_,TRUE_,FALSE_,TRUE_ }; integer ipivot[16] /* was [4][4] */ = { 1,2,3,4,2,1,4,3,3,4,1,2, 4,3,2,1 }; /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, x_dim1, x_offset; Treal d__1, d__2, d__3, d__4, d__5, d__6; Treal equiv_0[4], equiv_1[4]; /* Local variables */ Treal bbnd, cmax, ui11r, ui12s, temp, ur11r, ur12s; integer j; Treal u22abs; integer icmax; Treal bnorm, cnorm, smini; #define ci (equiv_0) #define cr (equiv_1) Treal bignum, bi1, bi2, br1, br2, smlnum, xi1, xi2, xr1, xr2, ci21, ci22, cr21, cr22, li21, csi, ui11, lr21, ui12, ui22; #define civ (equiv_0) Treal csr, ur11, ur12, ur22; #define crv (equiv_1) #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] #define x_ref(a_1,a_2) x[(a_2)*x_dim1 + a_1] #define ci_ref(a_1,a_2) ci[(a_2)*2 + a_1 - 3] #define cr_ref(a_1,a_2) cr[(a_2)*2 + a_1 - 3] #define ipivot_ref(a_1,a_2) ipivot[(a_2)*4 + a_1 - 5] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; x_dim1 = *ldx; x_offset = 1 + x_dim1 * 1; x -= x_offset; /* Function Body Compute BIGNUM */ smlnum = 2. * template_lapack_lamch("Safe minimum", (Treal)0); bignum = 1. / smlnum; smini = maxMACRO(*smin,smlnum); /* Don't check for input errors */ *info = 0; /* Standard Initializations */ *scale = 1.; if (*na == 1) { /* 1 x 1 (i.e., scalar) system C X = B */ if (*nw == 1) { /* Real 1x1 system. C = ca A - w D */ csr = *ca * a_ref(1, 1) - *wr * *d1; cnorm = absMACRO(csr); /* If | C | < SMINI, use C = SMINI */ if (cnorm < smini) { csr = smini; cnorm = smini; *info = 1; } /* Check scaling for X = B / C */ bnorm = (d__1 = b_ref(1, 1), absMACRO(d__1)); if (cnorm < 1. && bnorm > 1.) { if (bnorm > bignum * cnorm) { *scale = 1. / bnorm; } } /* Compute X */ x_ref(1, 1) = b_ref(1, 1) * *scale / csr; *xnorm = (d__1 = x_ref(1, 1), absMACRO(d__1)); } else { /* Complex 1x1 system (w is complex) C = ca A - w D */ csr = *ca * a_ref(1, 1) - *wr * *d1; csi = -(*wi) * *d1; cnorm = absMACRO(csr) + absMACRO(csi); /* If | C | < SMINI, use C = SMINI */ if (cnorm < smini) { csr = smini; csi = 0.; cnorm = smini; *info = 1; } /* Check scaling for X = B / C */ bnorm = (d__1 = b_ref(1, 1), absMACRO(d__1)) + (d__2 = b_ref(1, 2), absMACRO(d__2)); if (cnorm < 1. && bnorm > 1.) { if (bnorm > bignum * cnorm) { *scale = 1. / bnorm; } } /* Compute X */ d__1 = *scale * b_ref(1, 1); d__2 = *scale * b_ref(1, 2); template_lapack_ladiv(&d__1, &d__2, &csr, &csi, &x_ref(1, 1), &x_ref(1, 2)); *xnorm = (d__1 = x_ref(1, 1), absMACRO(d__1)) + (d__2 = x_ref(1, 2), absMACRO(d__2)); } } else { /* 2x2 System Compute the real part of C = ca A - w D (or ca A' - w D ) */ cr_ref(1, 1) = *ca * a_ref(1, 1) - *wr * *d1; cr_ref(2, 2) = *ca * a_ref(2, 2) - *wr * *d2; if (*ltrans) { cr_ref(1, 2) = *ca * a_ref(2, 1); cr_ref(2, 1) = *ca * a_ref(1, 2); } else { cr_ref(2, 1) = *ca * a_ref(2, 1); cr_ref(1, 2) = *ca * a_ref(1, 2); } if (*nw == 1) { /* Real 2x2 system (w is real) Find the largest element in C */ cmax = 0.; icmax = 0; for (j = 1; j <= 4; ++j) { if ((d__1 = crv[j - 1], absMACRO(d__1)) > cmax) { cmax = (d__1 = crv[j - 1], absMACRO(d__1)); icmax = j; } /* L10: */ } /* If norm(C) < SMINI, use SMINI*identity. */ if (cmax < smini) { /* Computing MAX */ d__3 = (d__1 = b_ref(1, 1), absMACRO(d__1)), d__4 = (d__2 = b_ref( 2, 1), absMACRO(d__2)); bnorm = maxMACRO(d__3,d__4); if (smini < 1. && bnorm > 1.) { if (bnorm > bignum * smini) { *scale = 1. / bnorm; } } temp = *scale / smini; x_ref(1, 1) = temp * b_ref(1, 1); x_ref(2, 1) = temp * b_ref(2, 1); *xnorm = temp * bnorm; *info = 1; return 0; } /* Gaussian elimination with complete pivoting. */ ur11 = crv[icmax - 1]; cr21 = crv[ipivot_ref(2, icmax) - 1]; ur12 = crv[ipivot_ref(3, icmax) - 1]; cr22 = crv[ipivot_ref(4, icmax) - 1]; ur11r = 1. / ur11; lr21 = ur11r * cr21; ur22 = cr22 - ur12 * lr21; /* If smaller pivot < SMINI, use SMINI */ if (absMACRO(ur22) < smini) { ur22 = smini; *info = 1; } if (rswap[icmax - 1]) { br1 = b_ref(2, 1); br2 = b_ref(1, 1); } else { br1 = b_ref(1, 1); br2 = b_ref(2, 1); } br2 -= lr21 * br1; /* Computing MAX */ d__2 = (d__1 = br1 * (ur22 * ur11r), absMACRO(d__1)), d__3 = absMACRO(br2); bbnd = maxMACRO(d__2,d__3); if (bbnd > 1. && absMACRO(ur22) < 1.) { if (bbnd >= bignum * absMACRO(ur22)) { *scale = 1. / bbnd; } } xr2 = br2 * *scale / ur22; xr1 = *scale * br1 * ur11r - xr2 * (ur11r * ur12); if (zswap[icmax - 1]) { x_ref(1, 1) = xr2; x_ref(2, 1) = xr1; } else { x_ref(1, 1) = xr1; x_ref(2, 1) = xr2; } /* Computing MAX */ d__1 = absMACRO(xr1), d__2 = absMACRO(xr2); *xnorm = maxMACRO(d__1,d__2); /* Further scaling if norm(A) norm(X) > overflow */ if (*xnorm > 1. && cmax > 1.) { if (*xnorm > bignum / cmax) { temp = cmax / bignum; x_ref(1, 1) = temp * x_ref(1, 1); x_ref(2, 1) = temp * x_ref(2, 1); *xnorm = temp * *xnorm; *scale = temp * *scale; } } } else { /* Complex 2x2 system (w is complex) Find the largest element in C */ ci_ref(1, 1) = -(*wi) * *d1; ci_ref(2, 1) = 0.; ci_ref(1, 2) = 0.; ci_ref(2, 2) = -(*wi) * *d2; cmax = 0.; icmax = 0; for (j = 1; j <= 4; ++j) { if ((d__1 = crv[j - 1], absMACRO(d__1)) + (d__2 = civ[j - 1], absMACRO( d__2)) > cmax) { cmax = (d__1 = crv[j - 1], absMACRO(d__1)) + (d__2 = civ[j - 1] , absMACRO(d__2)); icmax = j; } /* L20: */ } /* If norm(C) < SMINI, use SMINI*identity. */ if (cmax < smini) { /* Computing MAX */ d__5 = (d__1 = b_ref(1, 1), absMACRO(d__1)) + (d__2 = b_ref(1, 2), absMACRO(d__2)), d__6 = (d__3 = b_ref(2, 1), absMACRO(d__3)) + ( d__4 = b_ref(2, 2), absMACRO(d__4)); bnorm = maxMACRO(d__5,d__6); if (smini < 1. && bnorm > 1.) { if (bnorm > bignum * smini) { *scale = 1. / bnorm; } } temp = *scale / smini; x_ref(1, 1) = temp * b_ref(1, 1); x_ref(2, 1) = temp * b_ref(2, 1); x_ref(1, 2) = temp * b_ref(1, 2); x_ref(2, 2) = temp * b_ref(2, 2); *xnorm = temp * bnorm; *info = 1; return 0; } /* Gaussian elimination with complete pivoting. */ ur11 = crv[icmax - 1]; ui11 = civ[icmax - 1]; cr21 = crv[ipivot_ref(2, icmax) - 1]; ci21 = civ[ipivot_ref(2, icmax) - 1]; ur12 = crv[ipivot_ref(3, icmax) - 1]; ui12 = civ[ipivot_ref(3, icmax) - 1]; cr22 = crv[ipivot_ref(4, icmax) - 1]; ci22 = civ[ipivot_ref(4, icmax) - 1]; if (icmax == 1 || icmax == 4) { /* Code when off-diagonals of pivoted C are real */ if (absMACRO(ur11) > absMACRO(ui11)) { temp = ui11 / ur11; /* Computing 2nd power */ d__1 = temp; ur11r = 1. / (ur11 * (d__1 * d__1 + 1.)); ui11r = -temp * ur11r; } else { temp = ur11 / ui11; /* Computing 2nd power */ d__1 = temp; ui11r = -1. / (ui11 * (d__1 * d__1 + 1.)); ur11r = -temp * ui11r; } lr21 = cr21 * ur11r; li21 = cr21 * ui11r; ur12s = ur12 * ur11r; ui12s = ur12 * ui11r; ur22 = cr22 - ur12 * lr21; ui22 = ci22 - ur12 * li21; } else { /* Code when diagonals of pivoted C are real */ ur11r = 1. / ur11; ui11r = 0.; lr21 = cr21 * ur11r; li21 = ci21 * ur11r; ur12s = ur12 * ur11r; ui12s = ui12 * ur11r; ur22 = cr22 - ur12 * lr21 + ui12 * li21; ui22 = -ur12 * li21 - ui12 * lr21; } u22abs = absMACRO(ur22) + absMACRO(ui22); /* If smaller pivot < SMINI, use SMINI */ if (u22abs < smini) { ur22 = smini; ui22 = 0.; *info = 1; } if (rswap[icmax - 1]) { br2 = b_ref(1, 1); br1 = b_ref(2, 1); bi2 = b_ref(1, 2); bi1 = b_ref(2, 2); } else { br1 = b_ref(1, 1); br2 = b_ref(2, 1); bi1 = b_ref(1, 2); bi2 = b_ref(2, 2); } br2 = br2 - lr21 * br1 + li21 * bi1; bi2 = bi2 - li21 * br1 - lr21 * bi1; /* Computing MAX */ d__1 = (absMACRO(br1) + absMACRO(bi1)) * (u22abs * (absMACRO(ur11r) + absMACRO(ui11r)) ), d__2 = absMACRO(br2) + absMACRO(bi2); bbnd = maxMACRO(d__1,d__2); if (bbnd > 1. && u22abs < 1.) { if (bbnd >= bignum * u22abs) { *scale = 1. / bbnd; br1 = *scale * br1; bi1 = *scale * bi1; br2 = *scale * br2; bi2 = *scale * bi2; } } template_lapack_ladiv(&br2, &bi2, &ur22, &ui22, &xr2, &xi2); xr1 = ur11r * br1 - ui11r * bi1 - ur12s * xr2 + ui12s * xi2; xi1 = ui11r * br1 + ur11r * bi1 - ui12s * xr2 - ur12s * xi2; if (zswap[icmax - 1]) { x_ref(1, 1) = xr2; x_ref(2, 1) = xr1; x_ref(1, 2) = xi2; x_ref(2, 2) = xi1; } else { x_ref(1, 1) = xr1; x_ref(2, 1) = xr2; x_ref(1, 2) = xi1; x_ref(2, 2) = xi2; } /* Computing MAX */ d__1 = absMACRO(xr1) + absMACRO(xi1), d__2 = absMACRO(xr2) + absMACRO(xi2); *xnorm = maxMACRO(d__1,d__2); /* Further scaling if norm(A) norm(X) > overflow */ if (*xnorm > 1. && cmax > 1.) { if (*xnorm > bignum / cmax) { temp = cmax / bignum; x_ref(1, 1) = temp * x_ref(1, 1); x_ref(2, 1) = temp * x_ref(2, 1); x_ref(1, 2) = temp * x_ref(1, 2); x_ref(2, 2) = temp * x_ref(2, 2); *xnorm = temp * *xnorm; *scale = temp * *scale; } } } } return 0; /* End of DLALN2 */ } /* dlaln2_ */ #undef ipivot_ref #undef cr_ref #undef ci_ref #undef x_ref #undef b_ref #undef a_ref #undef crv #undef civ #undef cr #undef ci #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_lanhs.h0000664000175000017500000001407012743400307023113 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LANHS_HEADER #define TEMPLATE_LAPACK_LANHS_HEADER template Treal dlanhs_(const char *norm, const integer *n, const Treal *a, const integer *lda, Treal *work) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLANHS returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a Hessenberg matrix A. Description =========== DLANHS returns the value DLANHS = ( max(abs(A(i,j))), NORM = 'M' or 'm' ( ( norm1(A), NORM = '1', 'O' or 'o' ( ( normI(A), NORM = 'I' or 'i' ( ( normF(A), NORM = 'F', 'f', 'E' or 'e' where norm1 denotes the one norm of a matrix (maximum column sum), normI denotes the infinity norm of a matrix (maximum row sum) and normF denotes the Frobenius norm of a matrix (square root of sum of squares). Note that max(abs(A(i,j))) is not a matrix norm. Arguments ========= NORM (input) CHARACTER*1 Specifies the value to be returned in DLANHS as described above. N (input) INTEGER The order of the matrix A. N >= 0. When N = 0, DLANHS is set to zero. A (input) DOUBLE PRECISION array, dimension (LDA,N) The n by n upper Hessenberg matrix A; the part of A below the first sub-diagonal is not referenced. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(N,1). WORK (workspace) DOUBLE PRECISION array, dimension (LWORK), where LWORK >= N when NORM = 'I'; otherwise, WORK is not referenced. ===================================================================== Parameter adjustments */ /* Table of constant values */ integer c__1 = 1; /* System generated locals */ integer a_dim1, a_offset, i__1, i__2, i__3, i__4; Treal ret_val, d__1, d__2, d__3; /* Local variables */ integer i__, j; Treal scale; Treal value; Treal sum; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --work; /* Initialization added by Elias to get rid of compiler warnings. */ value = 0; /* Function Body */ if (*n == 0) { value = 0.; } else if (template_blas_lsame(norm, "M")) { /* Find max(abs(A(i,j))). */ value = 0.; i__1 = *n; for (j = 1; j <= i__1; ++j) { /* Computing MIN */ i__3 = *n, i__4 = j + 1; i__2 = minMACRO(i__3,i__4); for (i__ = 1; i__ <= i__2; ++i__) { /* Computing MAX */ d__2 = value, d__3 = (d__1 = a_ref(i__, j), absMACRO(d__1)); value = maxMACRO(d__2,d__3); /* L10: */ } /* L20: */ } } else if (template_blas_lsame(norm, "O") || *(unsigned char *) norm == '1') { /* Find norm1(A). */ value = 0.; i__1 = *n; for (j = 1; j <= i__1; ++j) { sum = 0.; /* Computing MIN */ i__3 = *n, i__4 = j + 1; i__2 = minMACRO(i__3,i__4); for (i__ = 1; i__ <= i__2; ++i__) { sum += (d__1 = a_ref(i__, j), absMACRO(d__1)); /* L30: */ } value = maxMACRO(value,sum); /* L40: */ } } else if (template_blas_lsame(norm, "I")) { /* Find normI(A). */ i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { work[i__] = 0.; /* L50: */ } i__1 = *n; for (j = 1; j <= i__1; ++j) { /* Computing MIN */ i__3 = *n, i__4 = j + 1; i__2 = minMACRO(i__3,i__4); for (i__ = 1; i__ <= i__2; ++i__) { work[i__] += (d__1 = a_ref(i__, j), absMACRO(d__1)); /* L60: */ } /* L70: */ } value = 0.; i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { /* Computing MAX */ d__1 = value, d__2 = work[i__]; value = maxMACRO(d__1,d__2); /* L80: */ } } else if (template_blas_lsame(norm, "F") || template_blas_lsame(norm, "E")) { /* Find normF(A). */ scale = 0.; sum = 1.; i__1 = *n; for (j = 1; j <= i__1; ++j) { /* Computing MIN */ i__3 = *n, i__4 = j + 1; i__2 = minMACRO(i__3,i__4); template_lapack_lassq(&i__2, &a_ref(1, j), &c__1, &scale, &sum); /* L90: */ } value = scale * template_blas_sqrt(sum); } ret_val = value; return ret_val; /* End of DLANHS */ } /* dlanhs_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_laisnan.h0000664000175000017500000000566412743400307023444 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LAISNAN_HEADER #define TEMPLATE_LAPACK_LAISNAN_HEADER template logical template_lapack_laisnan(Treal *din1, Treal *din2) { /* System generated locals */ logical ret_val; /* -- LAPACK auxiliary routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* This routine is not for general use. It exists solely to avoid */ /* over-optimization in DISNAN. */ /* DLAISNAN checks for NaNs by comparing its two arguments for */ /* inequality. NaN is the only floating-point value where NaN != NaN */ /* returns .TRUE. To check for NaNs, pass the same variable as both */ /* arguments. */ /* A compiler must assume that the two arguments are */ /* not the same variable, and the test will not be optimized away. */ /* Interprocedural or whole-program optimization may delete this */ /* test. The ISNAN functions will be replaced by the correct */ /* Fortran 03 intrinsic once the intrinsic is widely available. */ /* Arguments */ /* ========= */ /* DIN1 (input) DOUBLE PRECISION */ /* DIN2 (input) DOUBLE PRECISION */ /* Two numbers to compare for inequality. */ /* ===================================================================== */ /* .. Executable Statements .. */ ret_val = *din1 != *din2; return ret_val; } /* dlaisnan_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_gghrd.h0000664000175000017500000002520712743400307023105 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_GGHRD_HEADER #define TEMPLATE_LAPACK_GGHRD_HEADER template int template_lapack_gghrd(const char *compq, const char *compz, const integer *n, const integer * ilo, const integer *ihi, Treal *a, const integer *lda, Treal *b, const integer *ldb, Treal *q, const integer *ldq, Treal *z__, const integer * ldz, integer *info) { /* -- LAPACK routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University September 30, 1994 Purpose ======= DGGHRD reduces a pair of real matrices (A,B) to generalized upper Hessenberg form using orthogonal transformations, where A is a general matrix and B is upper triangular: Q' * A * Z = H and Q' * B * Z = T, where H is upper Hessenberg, T is upper triangular, and Q and Z are orthogonal, and ' means transpose. The orthogonal matrices Q and Z are determined as products of Givens rotations. They may either be formed explicitly, or they may be postmultiplied into input matrices Q1 and Z1, so that Q1 * A * Z1' = (Q1*Q) * H * (Z1*Z)' Q1 * B * Z1' = (Q1*Q) * T * (Z1*Z)' Arguments ========= COMPQ (input) CHARACTER*1 = 'N': do not compute Q; = 'I': Q is initialized to the unit matrix, and the orthogonal matrix Q is returned; = 'V': Q must contain an orthogonal matrix Q1 on entry, and the product Q1*Q is returned. COMPZ (input) CHARACTER*1 = 'N': do not compute Z; = 'I': Z is initialized to the unit matrix, and the orthogonal matrix Z is returned; = 'V': Z must contain an orthogonal matrix Z1 on entry, and the product Z1*Z is returned. N (input) INTEGER The order of the matrices A and B. N >= 0. ILO (input) INTEGER IHI (input) INTEGER It is assumed that A is already upper triangular in rows and columns 1:ILO-1 and IHI+1:N. ILO and IHI are normally set by a previous call to DGGBAL; otherwise they should be set to 1 and N respectively. 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. A (input/output) DOUBLE PRECISION array, dimension (LDA, N) On entry, the N-by-N general matrix to be reduced. On exit, the upper triangle and the first subdiagonal of A are overwritten with the upper Hessenberg matrix H, and the rest is set to zero. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,N). B (input/output) DOUBLE PRECISION array, dimension (LDB, N) On entry, the N-by-N upper triangular matrix B. On exit, the upper triangular matrix T = Q' B Z. The elements below the diagonal are set to zero. LDB (input) INTEGER The leading dimension of the array B. LDB >= max(1,N). Q (input/output) DOUBLE PRECISION array, dimension (LDQ, N) If COMPQ='N': Q is not referenced. If COMPQ='I': on entry, Q need not be set, and on exit it contains the orthogonal matrix Q, where Q' is the product of the Givens transformations which are applied to A and B on the left. If COMPQ='V': on entry, Q must contain an orthogonal matrix Q1, and on exit this is overwritten by Q1*Q. LDQ (input) INTEGER The leading dimension of the array Q. LDQ >= N if COMPQ='V' or 'I'; LDQ >= 1 otherwise. Z (input/output) DOUBLE PRECISION array, dimension (LDZ, N) If COMPZ='N': Z is not referenced. If COMPZ='I': on entry, Z need not be set, and on exit it contains the orthogonal matrix Z, which is the product of the Givens transformations which are applied to A and B on the right. If COMPZ='V': on entry, Z must contain an orthogonal matrix Z1, and on exit this is overwritten by Z1*Z. LDZ (input) INTEGER The leading dimension of the array Z. LDZ >= N if COMPZ='V' or 'I'; LDZ >= 1 otherwise. INFO (output) INTEGER = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value. Further Details =============== This routine reduces A to Hessenberg and B to triangular form by an unblocked reduction, as described in _Matrix_Computations_, by Golub and Van Loan (Johns Hopkins Press.) ===================================================================== Decode COMPQ Parameter adjustments */ /* Table of constant values */ Treal c_b10 = 0.; Treal c_b11 = 1.; integer c__1 = 1; /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, q_dim1, q_offset, z_dim1, z_offset, i__1, i__2, i__3; /* Local variables */ integer jcol; Treal temp; integer jrow; Treal c__, s; integer icompq, icompz; logical ilq, ilz; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] #define q_ref(a_1,a_2) q[(a_2)*q_dim1 + a_1] #define z___ref(a_1,a_2) z__[(a_2)*z_dim1 + a_1] a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; q_dim1 = *ldq; q_offset = 1 + q_dim1 * 1; q -= q_offset; z_dim1 = *ldz; z_offset = 1 + z_dim1 * 1; z__ -= z_offset; /* Initialization added by Elias to get rid of compiler warnings. */ ilq = ilz = 0; /* Function Body */ if (template_blas_lsame(compq, "N")) { ilq = FALSE_; icompq = 1; } else if (template_blas_lsame(compq, "V")) { ilq = TRUE_; icompq = 2; } else if (template_blas_lsame(compq, "I")) { ilq = TRUE_; icompq = 3; } else { icompq = 0; } /* Decode COMPZ */ if (template_blas_lsame(compz, "N")) { ilz = FALSE_; icompz = 1; } else if (template_blas_lsame(compz, "V")) { ilz = TRUE_; icompz = 2; } else if (template_blas_lsame(compz, "I")) { ilz = TRUE_; icompz = 3; } else { icompz = 0; } /* Test the input parameters. */ *info = 0; if (icompq <= 0) { *info = -1; } else if (icompz <= 0) { *info = -2; } else if (*n < 0) { *info = -3; } else if (*ilo < 1) { *info = -4; } else if (*ihi > *n || *ihi < *ilo - 1) { *info = -5; } else if (*lda < maxMACRO(1,*n)) { *info = -7; } else if (*ldb < maxMACRO(1,*n)) { *info = -9; } else if ( ( ilq && *ldq < *n ) || *ldq < 1) { *info = -11; } else if ( ( ilz && *ldz < *n ) || *ldz < 1) { *info = -13; } if (*info != 0) { i__1 = -(*info); template_blas_erbla("GGHRD ", &i__1); return 0; } /* Initialize Q and Z if desired. */ if (icompq == 3) { template_lapack_laset("Full", n, n, &c_b10, &c_b11, &q[q_offset], ldq); } if (icompz == 3) { template_lapack_laset("Full", n, n, &c_b10, &c_b11, &z__[z_offset], ldz); } /* Quick return if possible */ if (*n <= 1) { return 0; } /* Zero out lower triangle of B */ i__1 = *n - 1; for (jcol = 1; jcol <= i__1; ++jcol) { i__2 = *n; for (jrow = jcol + 1; jrow <= i__2; ++jrow) { b_ref(jrow, jcol) = 0.; /* L10: */ } /* L20: */ } /* Reduce A and B */ i__1 = *ihi - 2; for (jcol = *ilo; jcol <= i__1; ++jcol) { i__2 = jcol + 2; for (jrow = *ihi; jrow >= i__2; --jrow) { /* Step 1: rotate rows JROW-1, JROW to kill A(JROW,JCOL) */ temp = a_ref(jrow - 1, jcol); template_lapack_lartg(&temp, &a_ref(jrow, jcol), &c__, &s, &a_ref(jrow - 1, jcol)); a_ref(jrow, jcol) = 0.; i__3 = *n - jcol; template_blas_rot(&i__3, &a_ref(jrow - 1, jcol + 1), lda, &a_ref(jrow, jcol + 1), lda, &c__, &s); i__3 = *n + 2 - jrow; template_blas_rot(&i__3, &b_ref(jrow - 1, jrow - 1), ldb, &b_ref(jrow, jrow - 1), ldb, &c__, &s); if (ilq) { template_blas_rot(n, &q_ref(1, jrow - 1), &c__1, &q_ref(1, jrow), &c__1, & c__, &s); } /* Step 2: rotate columns JROW, JROW-1 to kill B(JROW,JROW-1) */ temp = b_ref(jrow, jrow); template_lapack_lartg(&temp, &b_ref(jrow, jrow - 1), &c__, &s, &b_ref(jrow, jrow)); b_ref(jrow, jrow - 1) = 0.; template_blas_rot(ihi, &a_ref(1, jrow), &c__1, &a_ref(1, jrow - 1), &c__1, & c__, &s); i__3 = jrow - 1; template_blas_rot(&i__3, &b_ref(1, jrow), &c__1, &b_ref(1, jrow - 1), &c__1, & c__, &s); if (ilz) { template_blas_rot(n, &z___ref(1, jrow), &c__1, &z___ref(1, jrow - 1), & c__1, &c__, &s); } /* L30: */ } /* L40: */ } return 0; /* End of DGGHRD */ } /* dgghrd_ */ #undef z___ref #undef q_ref #undef b_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_larrj.h0000664000175000017500000002405112743400307023120 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARRJ_HEADER #define TEMPLATE_LAPACK_LARRJ_HEADER template int template_lapack_larrj(integer *n, Treal *d__, Treal *e2, integer *ifirst, integer *ilast, Treal *rtol, integer *offset, Treal *w, Treal *werr, Treal *work, integer *iwork, Treal *pivmin, Treal *spdiam, integer *info) { /* System generated locals */ integer i__1, i__2; Treal d__1, d__2; /* Local variables */ integer i__, j, k, p; Treal s; integer i1, i2, ii; Treal fac, mid; integer cnt; Treal tmp, left; integer iter, nint, prev, next, savi1; Treal right, width, dplus; integer olnint, maxitr; /* -- LAPACK auxiliary routine (version 3.2) -- */ /* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ /* November 2006 */ /* .. Scalar Arguments .. */ /* .. */ /* .. Array Arguments .. */ /* .. */ /* Purpose */ /* ======= */ /* Given the initial eigenvalue approximations of T, DLARRJ */ /* does bisection to refine the eigenvalues of T, */ /* W( IFIRST-OFFSET ) through W( ILAST-OFFSET ), to more accuracy. Initial */ /* guesses for these eigenvalues are input in W, the corresponding estimate */ /* of the error in these guesses in WERR. During bisection, intervals */ /* [left, right] are maintained by storing their mid-points and */ /* semi-widths in the arrays W and WERR respectively. */ /* Arguments */ /* ========= */ /* N (input) INTEGER */ /* The order of the matrix. */ /* D (input) DOUBLE PRECISION array, dimension (N) */ /* The N diagonal elements of T. */ /* E2 (input) DOUBLE PRECISION array, dimension (N-1) */ /* The Squares of the (N-1) subdiagonal elements of T. */ /* IFIRST (input) INTEGER */ /* The index of the first eigenvalue to be computed. */ /* ILAST (input) INTEGER */ /* The index of the last eigenvalue to be computed. */ /* RTOL (input) DOUBLE PRECISION */ /* Tolerance for the convergence of the bisection intervals. */ /* An interval [LEFT,RIGHT] has converged if */ /* RIGHT-LEFT.LT.RTOL*MAX(|LEFT|,|RIGHT|). */ /* OFFSET (input) INTEGER */ /* Offset for the arrays W and WERR, i.e., the IFIRST-OFFSET */ /* through ILAST-OFFSET elements of these arrays are to be used. */ /* W (input/output) DOUBLE PRECISION array, dimension (N) */ /* On input, W( IFIRST-OFFSET ) through W( ILAST-OFFSET ) are */ /* estimates of the eigenvalues of L D L^T indexed IFIRST through */ /* ILAST. */ /* On output, these estimates are refined. */ /* WERR (input/output) DOUBLE PRECISION array, dimension (N) */ /* On input, WERR( IFIRST-OFFSET ) through WERR( ILAST-OFFSET ) are */ /* the errors in the estimates of the corresponding elements in W. */ /* On output, these errors are refined. */ /* WORK (workspace) DOUBLE PRECISION array, dimension (2*N) */ /* Workspace. */ /* IWORK (workspace) INTEGER array, dimension (2*N) */ /* Workspace. */ /* PIVMIN (input) DOUBLE PRECISION */ /* The minimum pivot in the Sturm sequence for T. */ /* SPDIAM (input) DOUBLE PRECISION */ /* The spectral diameter of T. */ /* INFO (output) INTEGER */ /* Error flag. */ /* Further Details */ /* =============== */ /* Based on contributions by */ /* Beresford Parlett, University of California, Berkeley, USA */ /* Jim Demmel, University of California, Berkeley, USA */ /* Inderjit Dhillon, University of Texas, Austin, USA */ /* Osni Marques, LBNL/NERSC, USA */ /* Christof Voemel, University of California, Berkeley, USA */ /* ===================================================================== */ /* .. Parameters .. */ /* .. */ /* .. Local Scalars .. */ /* .. */ /* .. Intrinsic Functions .. */ /* .. */ /* .. Executable Statements .. */ /* Parameter adjustments */ --iwork; --work; --werr; --w; --e2; --d__; /* Function Body */ *info = 0; maxitr = (integer) ((template_blas_log(*spdiam + *pivmin) - template_blas_log(*pivmin)) / template_blas_log(2.)) + 2; /* Initialize unconverged intervals in [ WORK(2*I-1), WORK(2*I) ]. */ /* The Sturm Count, Count( WORK(2*I-1) ) is arranged to be I-1, while */ /* Count( WORK(2*I) ) is stored in IWORK( 2*I ). The integer IWORK( 2*I-1 ) */ /* for an unconverged interval is set to the index of the next unconverged */ /* interval, and is -1 or 0 for a converged interval. Thus a linked */ /* list of unconverged intervals is set up. */ i1 = *ifirst; i2 = *ilast; /* The number of unconverged intervals */ nint = 0; /* The last unconverged interval found */ prev = 0; i__1 = i2; for (i__ = i1; i__ <= i__1; ++i__) { k = i__ << 1; ii = i__ - *offset; left = w[ii] - werr[ii]; mid = w[ii]; right = w[ii] + werr[ii]; width = right - mid; /* Computing MAX */ d__1 = absMACRO(left), d__2 = absMACRO(right); tmp = maxMACRO(d__1,d__2); /* The following test prevents the test of converged intervals */ if (width < *rtol * tmp) { /* This interval has already converged and does not need refinement. */ /* (Note that the gaps might change through refining the */ /* eigenvalues, however, they can only get bigger.) */ /* Remove it from the list. */ iwork[k - 1] = -1; /* Make sure that I1 always points to the first unconverged interval */ if (i__ == i1 && i__ < i2) { i1 = i__ + 1; } if (prev >= i1 && i__ <= i2) { iwork[(prev << 1) - 1] = i__ + 1; } } else { /* unconverged interval found */ prev = i__; /* Make sure that [LEFT,RIGHT] contains the desired eigenvalue */ /* Do while( CNT(LEFT).GT.I-1 ) */ fac = 1.; L20: cnt = 0; s = left; dplus = d__[1] - s; if (dplus < 0.) { ++cnt; } i__2 = *n; for (j = 2; j <= i__2; ++j) { dplus = d__[j] - s - e2[j - 1] / dplus; if (dplus < 0.) { ++cnt; } /* L30: */ } if (cnt > i__ - 1) { left -= werr[ii] * fac; fac *= 2.; goto L20; } /* Do while( CNT(RIGHT).LT.I ) */ fac = 1.; L50: cnt = 0; s = right; dplus = d__[1] - s; if (dplus < 0.) { ++cnt; } i__2 = *n; for (j = 2; j <= i__2; ++j) { dplus = d__[j] - s - e2[j - 1] / dplus; if (dplus < 0.) { ++cnt; } /* L60: */ } if (cnt < i__) { right += werr[ii] * fac; fac *= 2.; goto L50; } ++nint; iwork[k - 1] = i__ + 1; iwork[k] = cnt; } work[k - 1] = left; work[k] = right; /* L75: */ } savi1 = i1; /* Do while( NINT.GT.0 ), i.e. there are still unconverged intervals */ /* and while (ITER.LT.MAXITR) */ iter = 0; L80: prev = i1 - 1; i__ = i1; olnint = nint; i__1 = olnint; for (p = 1; p <= i__1; ++p) { k = i__ << 1; ii = i__ - *offset; next = iwork[k - 1]; left = work[k - 1]; right = work[k]; mid = (left + right) * .5; /* semiwidth of interval */ width = right - mid; /* Computing MAX */ d__1 = absMACRO(left), d__2 = absMACRO(right); tmp = maxMACRO(d__1,d__2); if (width < *rtol * tmp || iter == maxitr) { /* reduce number of unconverged intervals */ --nint; /* Mark interval as converged. */ iwork[k - 1] = 0; if (i1 == i__) { i1 = next; } else { /* Prev holds the last unconverged interval previously examined */ if (prev >= i1) { iwork[(prev << 1) - 1] = next; } } i__ = next; goto L100; } prev = i__; /* Perform one bisection step */ cnt = 0; s = mid; dplus = d__[1] - s; if (dplus < 0.) { ++cnt; } i__2 = *n; for (j = 2; j <= i__2; ++j) { dplus = d__[j] - s - e2[j - 1] / dplus; if (dplus < 0.) { ++cnt; } /* L90: */ } if (cnt <= i__ - 1) { work[k - 1] = mid; } else { work[k] = mid; } i__ = next; L100: ; } ++iter; /* do another loop if there are still unconverged intervals */ /* However, in the last iteration, all intervals are accepted */ /* since this is the best we can do. */ if (nint > 0 && iter <= maxitr) { goto L80; } /* At this point, all the intervals have converged */ i__1 = *ilast; for (i__ = savi1; i__ <= i__1; ++i__) { k = i__ << 1; ii = i__ - *offset; /* All intervals marked by '0' have been refined. */ if (iwork[k - 1] == 0) { w[ii] = (work[k - 1] + work[k]) * .5; werr[ii] = work[k] - w[ii]; } /* L110: */ } return 0; /* End of DLARRJ */ } /* dlarrj_ */ #endif ergo-3.5/source/matrix/template_lapack/lapack/template_lapack_laruv.h0000664000175000017500000001636012743400307023143 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_LAPACK_LARUV_HEADER #define TEMPLATE_LAPACK_LARUV_HEADER template int dlaruv_(integer *iseed, const integer *n, Treal *x) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DLARUV returns a vector of n random real numbers from a uniform (0,1) distribution (n <= 128). This is an auxiliary routine called by DLARNV and ZLARNV. Arguments ========= ISEED (input/output) INTEGER array, dimension (4) On entry, the seed of the random number generator; the array elements must be between 0 and 4095, and ISEED(4) must be odd. On exit, the seed is updated. N (input) INTEGER The number of random numbers to be generated. N <= 128. X (output) DOUBLE PRECISION array, dimension (N) The generated random numbers. Further Details =============== This routine uses a multiplicative congruential method with modulus 2**48 and multiplier 33952834046453 (see G.S.Fishman, 'Multiplicative congruential random number generators with modulus 2**b: an exhaustive analysis for b = 32 and a partial analysis for b = 48', Math. Comp. 189, pp 331-344, 1990). 48-bit integers are stored in 4 integer array elements with 12 bits per element. Hence the routine is portable across machines with integers of 32 bits or more. ===================================================================== Parameter adjustments */ /* Initialized data */ integer mm[512] /* was [128][4] */ = { 494,2637,255,2008,1253, 3344,4084,1739,3143,3468,688,1657,1238,3166,1292,3422,1270,2016, 154,2862,697,1706,491,931,1444,444,3577,3944,2184,1661,3482,657, 3023,3618,1267,1828,164,3798,3087,2400,2870,3876,1905,1593,1797, 1234,3460,328,2861,1950,617,2070,3331,769,1558,2412,2800,189,287, 2045,1227,2838,209,2770,3654,3993,192,2253,3491,2889,2857,2094, 1818,688,1407,634,3231,815,3524,1914,516,164,303,2144,3480,119, 3357,837,2826,2332,2089,3780,1700,3712,150,2000,3375,1621,3090, 3765,1149,3146,33,3082,2741,359,3316,1749,185,2784,2202,2199,1364, 1244,2020,3160,2785,2772,1217,1822,1245,2252,3904,2774,997,2573, 1148,545,322,789,1440,752,2859,123,1848,643,2405,2638,2344,46, 3814,913,3649,339,3808,822,2832,3078,3633,2970,637,2249,2081,4019, 1478,242,481,2075,4058,622,3376,812,234,641,4005,1122,3135,2640, 2302,40,1832,2247,2034,2637,1287,1691,496,1597,2394,2584,1843,336, 1472,2407,433,2096,1761,2810,566,442,41,1238,1086,603,840,3168, 1499,1084,3438,2408,1589,2391,288,26,512,1456,171,1677,2657,2270, 2587,2961,1970,1817,676,1410,3723,2803,3185,184,663,499,3784,1631, 1925,3912,1398,1349,1441,2224,2411,1907,3192,2786,382,37,759,2948, 1862,3802,2423,2051,2295,1332,1832,2405,3638,3661,327,3660,716, 1842,3987,1368,1848,2366,2508,3754,1766,3572,2893,307,1297,3966, 758,2598,3406,2922,1038,2934,2091,2451,1580,1958,2055,1507,1078, 3273,17,854,2916,3971,2889,3831,2621,1541,893,736,3992,787,2125, 2364,2460,257,1574,3912,1216,3248,3401,2124,2762,149,2245,166,466, 4018,1399,190,2879,153,2320,18,712,2159,2318,2091,3443,1510,449, 1956,2201,3137,3399,1321,2271,3667,2703,629,2365,2431,1113,3922, 2554,184,2099,3228,4012,1921,3452,3901,572,3309,3171,817,3039, 1696,1256,3715,2077,3019,1497,1101,717,51,981,1978,1813,3881,76, 3846,3694,1682,124,1660,3997,479,1141,886,3514,1301,3604,1888, 1836,1990,2058,692,1194,20,3285,2046,2107,3508,3525,3801,2549, 1145,2253,305,3301,1065,3133,2913,3285,1241,1197,3729,2501,1673, 541,2753,949,2361,1165,4081,2725,3305,3069,3617,3733,409,2157, 1361,3973,1865,2525,1409,3445,3577,77,3761,2149,1449,3005,225,85, 3673,3117,3089,1349,2057,413,65,1845,697,3085,3441,1573,3689,2941, 929,533,2841,4077,721,2821,2249,2397,2817,245,1913,1997,3121,997, 1833,2877,1633,981,2009,941,2449,197,2441,285,1473,2741,3129,909, 2801,421,4073,2813,2337,1429,1177,1901,81,1669,2633,2269,129,1141, 249,3917,2481,3941,2217,2749,3041,1877,345,2861,1809,3141,2825, 157,2881,3637,1465,2829,2161,3365,361,2685,3745,2325,3609,3821, 3537,517,3017,2141,1537 }; /* System generated locals */ integer i__1; /* Local variables */ integer i__, i1, i2, i3, i4, it1, it2, it3, it4; #define mm_ref(a_1,a_2) mm[(a_2)*128 + a_1 - 129] --iseed; --x; /* Initialization added by Elias to get rid of compiler warnings. */ it1 = it2 = it3 = it4 = 0; /* Function Body */ i1 = iseed[1]; i2 = iseed[2]; i3 = iseed[3]; i4 = iseed[4]; i__1 = minMACRO(*n,128); for (i__ = 1; i__ <= i__1; ++i__) { /* Multiply the seed by i-th power of the multiplier modulo 2**48 */ it4 = i4 * mm_ref(i__, 4); it3 = it4 / 4096; it4 -= it3 << 12; it3 = it3 + i3 * mm_ref(i__, 4) + i4 * mm_ref(i__, 3); it2 = it3 / 4096; it3 -= it2 << 12; it2 = it2 + i2 * mm_ref(i__, 4) + i3 * mm_ref(i__, 3) + i4 * mm_ref( i__, 2); it1 = it2 / 4096; it2 -= it1 << 12; it1 = it1 + i1 * mm_ref(i__, 4) + i2 * mm_ref(i__, 3) + i3 * mm_ref( i__, 2) + i4 * mm_ref(i__, 1); it1 %= 4096; /* Convert 48-bit integer to a real number in the interval (0,1) */ x[i__] = ((Treal) it1 + ((Treal) it2 + ((Treal) it3 + ( Treal) it4 * 2.44140625e-4) * 2.44140625e-4) * 2.44140625e-4) * 2.44140625e-4; /* L10: */ } /* Return final value of seed */ iseed[1] = it1; iseed[2] = it2; iseed[3] = it3; iseed[4] = it4; return 0; /* End of DLARUV */ } /* dlaruv_ */ #undef mm_ref #endif ergo-3.5/source/matrix/template_lapack/blas/0000775000175000017500000000000012743400365016177 500000000000000ergo-3.5/source/matrix/template_lapack/blas/template_blas_syr2k.h0000664000175000017500000003003312743400307022231 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_SYR2K_HEADER #define TEMPLATE_BLAS_SYR2K_HEADER template int template_blas_syr2k(const char *uplo, const char *trans, const integer *n, const integer *k, const Treal *alpha, const Treal *a, const integer *lda, const Treal *b, const integer *ldb, const Treal *beta, Treal *c__, const integer *ldc) { /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2, i__3; /* Local variables */ integer info; Treal temp1, temp2; integer i__, j, l; integer nrowa; logical upper; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] #define c___ref(a_1,a_2) c__[(a_2)*c_dim1 + a_1] /* Purpose ======= DSYR2K performs one of the symmetric rank 2k operations C := alpha*A*B' + alpha*B*A' + beta*C, or C := alpha*A'*B + alpha*B'*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A and B are n by k matrices in the first case and k by n matrices in the second case. Parameters ========== UPLO - CHARACTER*1. On entry, UPLO specifies whether the upper or lower triangular part of the array C is to be referenced as follows: UPLO = 'U' or 'u' Only the upper triangular part of C is to be referenced. UPLO = 'L' or 'l' Only the lower triangular part of C is to be referenced. Unchanged on exit. TRANS - CHARACTER*1. On entry, TRANS specifies the operation to be performed as follows: TRANS = 'N' or 'n' C := alpha*A*B' + alpha*B*A' + beta*C. TRANS = 'T' or 't' C := alpha*A'*B + alpha*B'*A + beta*C. TRANS = 'C' or 'c' C := alpha*A'*B + alpha*B'*A + beta*C. Unchanged on exit. N - INTEGER. On entry, N specifies the order of the matrix C. N must be at least zero. Unchanged on exit. K - INTEGER. On entry with TRANS = 'N' or 'n', K specifies the number of columns of the matrices A and B, and on entry with TRANS = 'T' or 't' or 'C' or 'c', K specifies the number of rows of the matrices A and B. K must be at least zero. Unchanged on exit. ALPHA - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. Unchanged on exit. A - DOUBLE PRECISION array of DIMENSION ( LDA, ka ), where ka is k when TRANS = 'N' or 'n', and is n otherwise. Before entry with TRANS = 'N' or 'n', the leading n by k part of the array A must contain the matrix A, otherwise the leading k by n part of the array A must contain the matrix A. Unchanged on exit. LDA - INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. When TRANS = 'N' or 'n' then LDA must be at least max( 1, n ), otherwise LDA must be at least max( 1, k ). Unchanged on exit. B - DOUBLE PRECISION array of DIMENSION ( LDB, kb ), where kb is k when TRANS = 'N' or 'n', and is n otherwise. Before entry with TRANS = 'N' or 'n', the leading n by k part of the array B must contain the matrix B, otherwise the leading k by n part of the array B must contain the matrix B. Unchanged on exit. LDB - INTEGER. On entry, LDB specifies the first dimension of B as declared in the calling (sub) program. When TRANS = 'N' or 'n' then LDB must be at least max( 1, n ), otherwise LDB must be at least max( 1, k ). Unchanged on exit. BETA - DOUBLE PRECISION. On entry, BETA specifies the scalar beta. Unchanged on exit. C - DOUBLE PRECISION array of DIMENSION ( LDC, n ). Before entry with UPLO = 'U' or 'u', the leading n by n upper triangular part of the array C must contain the upper triangular part of the symmetric matrix and the strictly lower triangular part of C is not referenced. On exit, the upper triangular part of the array C is overwritten by the upper triangular part of the updated matrix. Before entry with UPLO = 'L' or 'l', the leading n by n lower triangular part of the array C must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of C is not referenced. On exit, the lower triangular part of the array C is overwritten by the lower triangular part of the updated matrix. LDC - INTEGER. On entry, LDC specifies the first dimension of C as declared in the calling (sub) program. LDC must be at least max( 1, n ). Unchanged on exit. Level 3 Blas routine. -- Written on 8-February-1989. Jack Dongarra, Argonne National Laboratory. Iain Duff, AERE Harwell. Jeremy Du Croz, Numerical Algorithms Group Ltd. Sven Hammarling, Numerical Algorithms Group Ltd. Test the input parameters. Parameter adjustments */ a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; c_dim1 = *ldc; c_offset = 1 + c_dim1 * 1; c__ -= c_offset; /* Function Body */ if (template_blas_lsame(trans, "N")) { nrowa = *n; } else { nrowa = *k; } upper = template_blas_lsame(uplo, "U"); info = 0; if (! upper && ! template_blas_lsame(uplo, "L")) { info = 1; } else if (! template_blas_lsame(trans, "N") && ! template_blas_lsame(trans, "T") && ! template_blas_lsame(trans, "C")) { info = 2; } else if (*n < 0) { info = 3; } else if (*k < 0) { info = 4; } else if (*lda < maxMACRO(1,nrowa)) { info = 7; } else if (*ldb < maxMACRO(1,nrowa)) { info = 9; } else if (*ldc < maxMACRO(1,*n)) { info = 12; } if (info != 0) { template_blas_erbla("SYR2K ", &info); return 0; } /* Quick return if possible. */ if (*n == 0 || ( (*alpha == 0. || *k == 0) && *beta == 1. ) ) { return 0; } /* And when alpha.eq.zero. */ if (*alpha == 0.) { if (upper) { if (*beta == 0.) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = 0.; /* L10: */ } /* L20: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = *beta * c___ref(i__, j); /* L30: */ } /* L40: */ } } } else { if (*beta == 0.) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { c___ref(i__, j) = 0.; /* L50: */ } /* L60: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { c___ref(i__, j) = *beta * c___ref(i__, j); /* L70: */ } /* L80: */ } } } return 0; } /* Start the operations. */ if (template_blas_lsame(trans, "N")) { /* Form C := alpha*A*B' + alpha*B*A' + C. */ if (upper) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (*beta == 0.) { i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = 0.; /* L90: */ } } else if (*beta != 1.) { i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = *beta * c___ref(i__, j); /* L100: */ } } i__2 = *k; for (l = 1; l <= i__2; ++l) { if (a_ref(j, l) != 0. || b_ref(j, l) != 0.) { temp1 = *alpha * b_ref(j, l); temp2 = *alpha * a_ref(j, l); i__3 = j; for (i__ = 1; i__ <= i__3; ++i__) { c___ref(i__, j) = c___ref(i__, j) + a_ref(i__, l) * temp1 + b_ref(i__, l) * temp2; /* L110: */ } } /* L120: */ } /* L130: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (*beta == 0.) { i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { c___ref(i__, j) = 0.; /* L140: */ } } else if (*beta != 1.) { i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { c___ref(i__, j) = *beta * c___ref(i__, j); /* L150: */ } } i__2 = *k; for (l = 1; l <= i__2; ++l) { if (a_ref(j, l) != 0. || b_ref(j, l) != 0.) { temp1 = *alpha * b_ref(j, l); temp2 = *alpha * a_ref(j, l); i__3 = *n; for (i__ = j; i__ <= i__3; ++i__) { c___ref(i__, j) = c___ref(i__, j) + a_ref(i__, l) * temp1 + b_ref(i__, l) * temp2; /* L160: */ } } /* L170: */ } /* L180: */ } } } else { /* Form C := alpha*A'*B + alpha*B'*A + C. */ if (upper) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { temp1 = 0.; temp2 = 0.; i__3 = *k; for (l = 1; l <= i__3; ++l) { temp1 += a_ref(l, i__) * b_ref(l, j); temp2 += b_ref(l, i__) * a_ref(l, j); /* L190: */ } if (*beta == 0.) { c___ref(i__, j) = *alpha * temp1 + *alpha * temp2; } else { c___ref(i__, j) = *beta * c___ref(i__, j) + *alpha * temp1 + *alpha * temp2; } /* L200: */ } /* L210: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { temp1 = 0.; temp2 = 0.; i__3 = *k; for (l = 1; l <= i__3; ++l) { temp1 += a_ref(l, i__) * b_ref(l, j); temp2 += b_ref(l, i__) * a_ref(l, j); /* L220: */ } if (*beta == 0.) { c___ref(i__, j) = *alpha * temp1 + *alpha * temp2; } else { c___ref(i__, j) = *beta * c___ref(i__, j) + *alpha * temp1 + *alpha * temp2; } /* L230: */ } /* L240: */ } } } return 0; /* End of DSYR2K. */ } /* dsyr2k_ */ #undef c___ref #undef b_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_basicmath.cc0000664000175000017500000001101012743400307023242 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ /* We need to include config.h to get macros HAVE_SQRTL etc. */ #include "config.h" #include #include #include #include "template_blas_basicmath.h" /* fabs function */ #ifdef HAVE_FABSF template<> float template_blas_fabs(float x) { return fabsf(x); } #else template<> float template_blas_fabs(float x) { return fabs(x); } #endif template<> double template_blas_fabs(double x) { return fabs(x); } #ifdef HAVE_FABSL template<> long double template_blas_fabs(long double x) { return fabsl(x); } #else template<> long double template_blas_fabs(long double x) { return fabs(x); } #endif /* sqrt function */ #ifdef HAVE_SQRTF template<> float template_blas_sqrt(float x) { return sqrtf(x); } #else template<> float template_blas_sqrt(float x) { return sqrt(x); } #endif template<> double template_blas_sqrt(double x) { return sqrt(x); } #ifdef HAVE_SQRTL template<> long double template_blas_sqrt(long double x) { return sqrtl(x); } #else template<> long double template_blas_sqrt(long double x) { return sqrt(x); } #endif /* exp function */ #ifdef HAVE_EXPF template<> float template_blas_exp(float x) { return expf(x); } #else template<> float template_blas_exp(float x) { return exp(x); } #endif template<> double template_blas_exp(double x) { return exp(x); } #ifdef HAVE_EXPL template<> long double template_blas_exp(long double x) { return expl(x); } #else template<> long double template_blas_exp(long double x) { return exp(x); } #endif /* log function */ #ifdef HAVE_LOGF template<> float template_blas_log(float x) { return logf(x); } #else template<> float template_blas_log(float x) { return log(x); } #endif template<> double template_blas_log(double x) { return log(x); } #ifdef HAVE_LOGL template<> long double template_blas_log(long double x) { return logl(x); } #else template<> long double template_blas_log(long double x) { return log(x); } #endif /* error function erf */ #ifdef HAVE_ERFF template<> float template_blas_erf(float x) { return erff(x); } #else template<> float template_blas_erf(float x) { return erf(x); } #endif template<> double template_blas_erf(double x) { return erf(x); } #ifdef HAVE_ERFL template<> long double template_blas_erf(long double x) { return erfl(x); } #else template<> long double template_blas_erf(long double x) { return erf(x); } #endif /* complementary error function erfc */ #ifdef HAVE_ERFCF template<> float template_blas_erfc(float x) { return erfcf(x); } #else template<> float template_blas_erfc(float x) { return erfc(x); } #endif template<> double template_blas_erfc(double x) { return erfc(x); } #ifdef HAVE_ERFCL template<> long double template_blas_erfc(long double x) { return erfcl(x); } #else template<> long double template_blas_erfc(long double x) { return erfc(x); } #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_test.cc0000664000175000017500000000607312743400307022303 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #include "template_blas_common.h" #include #include #include typedef double realtype; int main() { int nn = 2; int ONE = 1; double x[2]; x[0] = 1; x[1] = 1; double norm = template_blas_nrm2(&nn, x, &ONE); std::cout << "template_blas_nrm2 returned " << norm << std::endl; realtype A[4]; A[0] = 1.3; A[1] = 2.4; A[2] = 1.1; A[3] = 2.7; realtype B[4]; B[0] = 0.3; B[1] = 0.4; B[2] = 0.1; B[3] = 0.7; realtype C[4]; C[0] = 0; C[1] = 0; C[2] = 0; C[3] = 0; int m = 2; int n = 2; int k = 2; realtype alpha = 1.0; realtype beta = 0.0; template_blas_gemm("N", "N", &m, &n, &k, &alpha, A, &m, B, &m, &beta, C, &m); std::cout << "template_blas_gemm finished.\n"; #if 0 for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) std::cout << " " << C[i*n+j]; std::cout << std::endl; } #endif realtype D[4]; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { realtype sum = 0; for(int k = 0; k < n; k++) sum += B[i*n+k] * A[k*n+j]; D[i*n+j] = sum; } #if 0 for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) std::cout << " " << D[i*n+j]; std::cout << std::endl; } #endif for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { if(fabs(C[i*n+j] - D[i*n+j]) > 1e-11) { std::cout << "ERROR! wrong result from gemm!\n"; return -1; } } realtype piTest = template_blas_compute_pi_BBP((realtype)0); std::cout << "pi = " << piTest << std::endl; printf("pi = %22.15f\n", (double)piTest); return 0; } ergo-3.5/source/matrix/template_lapack/blas/template_blas_trmv.h0000664000175000017500000002216312743400307022154 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_TRMV_HEADER #define TEMPLATE_BLAS_TRMV_HEADER template int template_blas_trmv(const char *uplo, const char *trans, const char *diag, const integer *n, const Treal *a, const integer *lda, Treal *x, const integer *incx) { /* System generated locals */ integer a_dim1, a_offset, i__1, i__2; /* Local variables */ integer info; Treal temp; integer i__, j; integer ix, jx, kx; logical nounit; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] /* Purpose ======= DTRMV performs one of the matrix-vector operations x := A*x, or x := A'*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix. Parameters ========== UPLO - CHARACTER*1. On entry, UPLO specifies whether the matrix is an upper or lower triangular matrix as follows: UPLO = 'U' or 'u' A is an upper triangular matrix. UPLO = 'L' or 'l' A is a lower triangular matrix. Unchanged on exit. TRANS - CHARACTER*1. On entry, TRANS specifies the operation to be performed as follows: TRANS = 'N' or 'n' x := A*x. TRANS = 'T' or 't' x := A'*x. TRANS = 'C' or 'c' x := A'*x. Unchanged on exit. DIAG - CHARACTER*1. On entry, DIAG specifies whether or not A is unit triangular as follows: DIAG = 'U' or 'u' A is assumed to be unit triangular. DIAG = 'N' or 'n' A is not assumed to be unit triangular. Unchanged on exit. N - INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero. Unchanged on exit. A - DOUBLE PRECISION array of DIMENSION ( LDA, n ). Before entry with UPLO = 'U' or 'u', the leading n by n upper triangular part of the array A must contain the upper triangular matrix and the strictly lower triangular part of A is not referenced. Before entry with UPLO = 'L' or 'l', the leading n by n lower triangular part of the array A must contain the lower triangular matrix and the strictly upper triangular part of A is not referenced. Note that when DIAG = 'U' or 'u', the diagonal elements of A are not referenced either, but are assumed to be unity. Unchanged on exit. LDA - INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, n ). Unchanged on exit. X - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the n element vector x. On exit, X is overwritten with the tranformed vector x. INCX - INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit. Level 2 Blas routine. -- Written on 22-October-1986. Jack Dongarra, Argonne National Lab. Jeremy Du Croz, Nag Central Office. Sven Hammarling, Nag Central Office. Richard Hanson, Sandia National Labs. Test the input parameters. Parameter adjustments */ a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --x; /* Initialization added by Elias to get rid of compiler warnings. */ kx = 0; /* Function Body */ info = 0; if (! template_blas_lsame(uplo, "U") && ! template_blas_lsame(uplo, "L")) { info = 1; } else if (! template_blas_lsame(trans, "N") && ! template_blas_lsame(trans, "T") && ! template_blas_lsame(trans, "C")) { info = 2; } else if (! template_blas_lsame(diag, "U") && ! template_blas_lsame(diag, "N")) { info = 3; } else if (*n < 0) { info = 4; } else if (*lda < maxMACRO(1,*n)) { info = 6; } else if (*incx == 0) { info = 8; } if (info != 0) { template_blas_erbla("TRMV ", &info); return 0; } /* Quick return if possible. */ if (*n == 0) { return 0; } nounit = template_blas_lsame(diag, "N"); /* Set up the start point in X if the increment is not unity. This will be ( N - 1 )*INCX too small for descending loops. */ if (*incx <= 0) { kx = 1 - (*n - 1) * *incx; } else if (*incx != 1) { kx = 1; } /* Start the operations. In this version the elements of A are accessed sequentially with one pass through A. */ if (template_blas_lsame(trans, "N")) { /* Form x := A*x. */ if (template_blas_lsame(uplo, "U")) { if (*incx == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[j] != 0.) { temp = x[j]; i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { x[i__] += temp * a_ref(i__, j); /* L10: */ } if (nounit) { x[j] *= a_ref(j, j); } } /* L20: */ } } else { jx = kx; i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[jx] != 0.) { temp = x[jx]; ix = kx; i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { x[ix] += temp * a_ref(i__, j); ix += *incx; /* L30: */ } if (nounit) { x[jx] *= a_ref(j, j); } } jx += *incx; /* L40: */ } } } else { if (*incx == 1) { for (j = *n; j >= 1; --j) { if (x[j] != 0.) { temp = x[j]; i__1 = j + 1; for (i__ = *n; i__ >= i__1; --i__) { x[i__] += temp * a_ref(i__, j); /* L50: */ } if (nounit) { x[j] *= a_ref(j, j); } } /* L60: */ } } else { kx += (*n - 1) * *incx; jx = kx; for (j = *n; j >= 1; --j) { if (x[jx] != 0.) { temp = x[jx]; ix = kx; i__1 = j + 1; for (i__ = *n; i__ >= i__1; --i__) { x[ix] += temp * a_ref(i__, j); ix -= *incx; /* L70: */ } if (nounit) { x[jx] *= a_ref(j, j); } } jx -= *incx; /* L80: */ } } } } else { /* Form x := A'*x. */ if (template_blas_lsame(uplo, "U")) { if (*incx == 1) { for (j = *n; j >= 1; --j) { temp = x[j]; if (nounit) { temp *= a_ref(j, j); } for (i__ = j - 1; i__ >= 1; --i__) { temp += a_ref(i__, j) * x[i__]; /* L90: */ } x[j] = temp; /* L100: */ } } else { jx = kx + (*n - 1) * *incx; for (j = *n; j >= 1; --j) { temp = x[jx]; ix = jx; if (nounit) { temp *= a_ref(j, j); } for (i__ = j - 1; i__ >= 1; --i__) { ix -= *incx; temp += a_ref(i__, j) * x[ix]; /* L110: */ } x[jx] = temp; jx -= *incx; /* L120: */ } } } else { if (*incx == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { temp = x[j]; if (nounit) { temp *= a_ref(j, j); } i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { temp += a_ref(i__, j) * x[i__]; /* L130: */ } x[j] = temp; /* L140: */ } } else { jx = kx; i__1 = *n; for (j = 1; j <= i__1; ++j) { temp = x[jx]; ix = jx; if (nounit) { temp *= a_ref(j, j); } i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { ix += *incx; temp += a_ref(i__, j) * x[ix]; /* L150: */ } x[jx] = temp; jx += *incx; /* L160: */ } } } } return 0; /* End of DTRMV . */ } /* dtrmv_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_tpmv.h0000664000175000017500000002224612743400307022154 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_TPMV_HEADER #define TEMPLATE_BLAS_TPMV_HEADER template int template_blas_tpmv(const char *uplo, const char *trans, const char *diag, const integer *n, const Treal *ap, Treal *x, const integer *incx) { /* System generated locals */ integer i__1, i__2; /* Local variables */ integer info; Treal temp; integer i__, j, k; integer kk, ix, jx, kx; logical nounit; /* Purpose ======= DTPMV performs one of the matrix-vector operations x := A*x, or x := A'*x, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix, supplied in packed form. Parameters ========== UPLO - CHARACTER*1. On entry, UPLO specifies whether the matrix is an upper or lower triangular matrix as follows: UPLO = 'U' or 'u' A is an upper triangular matrix. UPLO = 'L' or 'l' A is a lower triangular matrix. Unchanged on exit. TRANS - CHARACTER*1. On entry, TRANS specifies the operation to be performed as follows: TRANS = 'N' or 'n' x := A*x. TRANS = 'T' or 't' x := A'*x. TRANS = 'C' or 'c' x := A'*x. Unchanged on exit. DIAG - CHARACTER*1. On entry, DIAG specifies whether or not A is unit triangular as follows: DIAG = 'U' or 'u' A is assumed to be unit triangular. DIAG = 'N' or 'n' A is not assumed to be unit triangular. Unchanged on exit. N - INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero. Unchanged on exit. AP - DOUBLE PRECISION array of DIMENSION at least ( ( n*( n + 1 ) )/2 ). Before entry with UPLO = 'U' or 'u', the array AP must contain the upper triangular matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 1, 2 ) and a( 2, 2 ) respectively, and so on. Before entry with UPLO = 'L' or 'l', the array AP must contain the lower triangular matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1 ) and a( 3, 1 ) respectively, and so on. Note that when DIAG = 'U' or 'u', the diagonal elements of A are not referenced, but are assumed to be unity. Unchanged on exit. X - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the n element vector x. On exit, X is overwritten with the tranformed vector x. INCX - INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit. Level 2 Blas routine. -- Written on 22-October-1986. Jack Dongarra, Argonne National Lab. Jeremy Du Croz, Nag Central Office. Sven Hammarling, Nag Central Office. Richard Hanson, Sandia National Labs. Test the input parameters. Parameter adjustments */ --x; --ap; /* Initialization added by Elias to get rid of compiler warnings. */ kx = 0; /* Function Body */ info = 0; if (! template_blas_lsame(uplo, "U") && ! template_blas_lsame(uplo, "L")) { info = 1; } else if (! template_blas_lsame(trans, "N") && ! template_blas_lsame(trans, "T") && ! template_blas_lsame(trans, "C")) { info = 2; } else if (! template_blas_lsame(diag, "U") && ! template_blas_lsame(diag, "N")) { info = 3; } else if (*n < 0) { info = 4; } else if (*incx == 0) { info = 7; } if (info != 0) { template_blas_erbla("TPMV ", &info); return 0; } /* Quick return if possible. */ if (*n == 0) { return 0; } nounit = template_blas_lsame(diag, "N"); /* Set up the start point in X if the increment is not unity. This will be ( N - 1 )*INCX too small for descending loops. */ if (*incx <= 0) { kx = 1 - (*n - 1) * *incx; } else if (*incx != 1) { kx = 1; } /* Start the operations. In this version the elements of AP are accessed sequentially with one pass through AP. */ if (template_blas_lsame(trans, "N")) { /* Form x:= A*x. */ if (template_blas_lsame(uplo, "U")) { kk = 1; if (*incx == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[j] != 0.) { temp = x[j]; k = kk; i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { x[i__] += temp * ap[k]; ++k; /* L10: */ } if (nounit) { x[j] *= ap[kk + j - 1]; } } kk += j; /* L20: */ } } else { jx = kx; i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[jx] != 0.) { temp = x[jx]; ix = kx; i__2 = kk + j - 2; for (k = kk; k <= i__2; ++k) { x[ix] += temp * ap[k]; ix += *incx; /* L30: */ } if (nounit) { x[jx] *= ap[kk + j - 1]; } } jx += *incx; kk += j; /* L40: */ } } } else { kk = *n * (*n + 1) / 2; if (*incx == 1) { for (j = *n; j >= 1; --j) { if (x[j] != 0.) { temp = x[j]; k = kk; i__1 = j + 1; for (i__ = *n; i__ >= i__1; --i__) { x[i__] += temp * ap[k]; --k; /* L50: */ } if (nounit) { x[j] *= ap[kk - *n + j]; } } kk -= *n - j + 1; /* L60: */ } } else { kx += (*n - 1) * *incx; jx = kx; for (j = *n; j >= 1; --j) { if (x[jx] != 0.) { temp = x[jx]; ix = kx; i__1 = kk - (*n - (j + 1)); for (k = kk; k >= i__1; --k) { x[ix] += temp * ap[k]; ix -= *incx; /* L70: */ } if (nounit) { x[jx] *= ap[kk - *n + j]; } } jx -= *incx; kk -= *n - j + 1; /* L80: */ } } } } else { /* Form x := A'*x. */ if (template_blas_lsame(uplo, "U")) { kk = *n * (*n + 1) / 2; if (*incx == 1) { for (j = *n; j >= 1; --j) { temp = x[j]; if (nounit) { temp *= ap[kk]; } k = kk - 1; for (i__ = j - 1; i__ >= 1; --i__) { temp += ap[k] * x[i__]; --k; /* L90: */ } x[j] = temp; kk -= j; /* L100: */ } } else { jx = kx + (*n - 1) * *incx; for (j = *n; j >= 1; --j) { temp = x[jx]; ix = jx; if (nounit) { temp *= ap[kk]; } i__1 = kk - j + 1; for (k = kk - 1; k >= i__1; --k) { ix -= *incx; temp += ap[k] * x[ix]; /* L110: */ } x[jx] = temp; jx -= *incx; kk -= j; /* L120: */ } } } else { kk = 1; if (*incx == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { temp = x[j]; if (nounit) { temp *= ap[kk]; } k = kk + 1; i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { temp += ap[k] * x[i__]; ++k; /* L130: */ } x[j] = temp; kk += *n - j + 1; /* L140: */ } } else { jx = kx; i__1 = *n; for (j = 1; j <= i__1; ++j) { temp = x[jx]; ix = jx; if (nounit) { temp *= ap[kk]; } i__2 = kk + *n - j; for (k = kk + 1; k <= i__2; ++k) { ix += *incx; temp += ap[k] * x[ix]; /* L150: */ } x[jx] = temp; jx += *incx; kk += *n - j + 1; /* L160: */ } } } } return 0; /* End of DTPMV . */ } /* dtpmv_ */ #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_test_threaded.cc0000664000175000017500000000735012743400307024142 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #include "template_blas_common.h" #include #include #include #include #include typedef double realtype; pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; static void* thread_func(void* arg) { for(int loop_k = 0; loop_k < 22222; loop_k++) { realtype A[4]; A[0] = 1.3; A[1] = 2.4; A[2] = 1.1; A[3] = 2.7; realtype B[4]; B[0] = 0.3; B[1] = 0.4; B[2] = 0.1; B[3] = 0.7; realtype C[4]; C[0] = 0; C[1] = 0; C[2] = 0; C[3] = 0; int m = 2; int n = 2; int k = 2; realtype alpha = 1.0; realtype beta = 0.0; template_blas_gemm("N", "N", &m, &n, &k, &alpha, A, &m, B, &m, &beta, C, &m); pthread_mutex_lock(&mutex); // std::cout << "template_blas_gemm finished." << std::endl; pthread_mutex_unlock(&mutex); #if 0 for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) std::cout << " " << C[i*n+j]; std::cout << std::endl; } #endif realtype D[4]; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { realtype sum = 0; for(int k = 0; k < n; k++) sum += B[i*n+k] * A[k*n+j]; D[i*n+j] = sum; } #if 0 for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) std::cout << " " << D[i*n+j]; std::cout << std::endl; } #endif for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { if(fabs(C[i*n+j] - D[i*n+j]) > 1e-11) throw std::runtime_error("ERROR! wrong result from gemm!"); } } pthread_mutex_lock(&mutex); std::cout << "Thread " << pthread_self() << " finished OK." << std::endl; pthread_mutex_unlock(&mutex); return NULL; } int main() { const int nThreads = 8; pthread_t threads[nThreads]; for(int i = 0; i < nThreads; i++) { if(pthread_create(&threads[i], NULL, thread_func, NULL) != 0) throw std::runtime_error("Error in pthread_create."); } for(int i = 0; i < nThreads; i++) { if(pthread_join(threads[i], NULL) != 0) throw std::runtime_error("Error in pthread_join."); } realtype piTest = template_blas_compute_pi_BBP((realtype)0); printf("pi = %22.15f\n", (double)piTest); printf("template_blas_test_threaded test ended OK.\n"); return 0; } ergo-3.5/source/matrix/template_lapack/blas/template_blas_trmm.h0000664000175000017500000003000712743400307022137 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_TRMM_HEADER #define TEMPLATE_BLAS_TRMM_HEADER #include "template_blas_common.h" template int template_blas_trmm(const char *side, const char *uplo, const char *transa, const char *diag, const integer *m, const integer *n, const Treal *alpha, const Treal *a, const integer * lda, Treal *b, const integer *ldb) { /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2, i__3; /* Local variables */ integer info; Treal temp; integer i__, j, k; logical lside; integer nrowa; logical upper; logical nounit; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] /* Purpose ======= DTRMM performs one of the matrix-matrix operations B := alpha*op( A )*B, or B := alpha*B*op( A ), where alpha is a scalar, B is an m by n matrix, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = A'. Parameters ========== SIDE - CHARACTER*1. On entry, SIDE specifies whether op( A ) multiplies B from the left or right as follows: SIDE = 'L' or 'l' B := alpha*op( A )*B. SIDE = 'R' or 'r' B := alpha*B*op( A ). Unchanged on exit. UPLO - CHARACTER*1. On entry, UPLO specifies whether the matrix A is an upper or lower triangular matrix as follows: UPLO = 'U' or 'u' A is an upper triangular matrix. UPLO = 'L' or 'l' A is a lower triangular matrix. Unchanged on exit. TRANSA - CHARACTER*1. On entry, TRANSA specifies the form of op( A ) to be used in the matrix multiplication as follows: TRANSA = 'N' or 'n' op( A ) = A. TRANSA = 'T' or 't' op( A ) = A'. TRANSA = 'C' or 'c' op( A ) = A'. Unchanged on exit. DIAG - CHARACTER*1. On entry, DIAG specifies whether or not A is unit triangular as follows: DIAG = 'U' or 'u' A is assumed to be unit triangular. DIAG = 'N' or 'n' A is not assumed to be unit triangular. Unchanged on exit. M - INTEGER. On entry, M specifies the number of rows of B. M must be at least zero. Unchanged on exit. N - INTEGER. On entry, N specifies the number of columns of B. N must be at least zero. Unchanged on exit. ALPHA - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. When alpha is zero then A is not referenced and B need not be set before entry. Unchanged on exit. A - DOUBLE PRECISION array of DIMENSION ( LDA, k ), where k is m when SIDE = 'L' or 'l' and is n when SIDE = 'R' or 'r'. Before entry with UPLO = 'U' or 'u', the leading k by k upper triangular part of the array A must contain the upper triangular matrix and the strictly lower triangular part of A is not referenced. Before entry with UPLO = 'L' or 'l', the leading k by k lower triangular part of the array A must contain the lower triangular matrix and the strictly upper triangular part of A is not referenced. Note that when DIAG = 'U' or 'u', the diagonal elements of A are not referenced either, but are assumed to be unity. Unchanged on exit. LDA - INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. When SIDE = 'L' or 'l' then LDA must be at least max( 1, m ), when SIDE = 'R' or 'r' then LDA must be at least max( 1, n ). Unchanged on exit. B - DOUBLE PRECISION array of DIMENSION ( LDB, n ). Before entry, the leading m by n part of the array B must contain the matrix B, and on exit is overwritten by the transformed matrix. LDB - INTEGER. On entry, LDB specifies the first dimension of B as declared in the calling (sub) program. LDB must be at least max( 1, m ). Unchanged on exit. Level 3 Blas routine. -- Written on 8-February-1989. Jack Dongarra, Argonne National Laboratory. Iain Duff, AERE Harwell. Jeremy Du Croz, Numerical Algorithms Group Ltd. Sven Hammarling, Numerical Algorithms Group Ltd. Test the input parameters. Parameter adjustments */ a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; /* Function Body */ lside = template_blas_lsame(side, "L"); if (lside) { nrowa = *m; } else { nrowa = *n; } nounit = template_blas_lsame(diag, "N"); upper = template_blas_lsame(uplo, "U"); info = 0; if (! lside && ! template_blas_lsame(side, "R")) { info = 1; } else if (! upper && ! template_blas_lsame(uplo, "L")) { info = 2; } else if (! template_blas_lsame(transa, "N") && ! template_blas_lsame(transa, "T") && ! template_blas_lsame(transa, "C")) { info = 3; } else if (! template_blas_lsame(diag, "U") && ! template_blas_lsame(diag, "N")) { info = 4; } else if (*m < 0) { info = 5; } else if (*n < 0) { info = 6; } else if (*lda < maxMACRO(1,nrowa)) { info = 9; } else if (*ldb < maxMACRO(1,*m)) { info = 11; } if (info != 0) { template_blas_erbla("TRMM ", &info); return 0; } /* Quick return if possible. */ if (*n == 0) { return 0; } /* And when alpha.eq.zero. */ if (*alpha == 0.) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = 0.; /* L10: */ } /* L20: */ } return 0; } /* Start the operations. */ if (lside) { if (template_blas_lsame(transa, "N")) { /* Form B := alpha*A*B. */ if (upper) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (k = 1; k <= i__2; ++k) { if (b_ref(k, j) != 0.) { temp = *alpha * b_ref(k, j); i__3 = k - 1; for (i__ = 1; i__ <= i__3; ++i__) { b_ref(i__, j) = b_ref(i__, j) + temp * a_ref( i__, k); /* L30: */ } if (nounit) { temp *= a_ref(k, k); } b_ref(k, j) = temp; } /* L40: */ } /* L50: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { for (k = *m; k >= 1; --k) { if (b_ref(k, j) != 0.) { temp = *alpha * b_ref(k, j); b_ref(k, j) = temp; if (nounit) { b_ref(k, j) = b_ref(k, j) * a_ref(k, k); } i__2 = *m; for (i__ = k + 1; i__ <= i__2; ++i__) { b_ref(i__, j) = b_ref(i__, j) + temp * a_ref( i__, k); /* L60: */ } } /* L70: */ } /* L80: */ } } } else { /* Form B := alpha*A'*B. */ if (upper) { i__1 = *n; for (j = 1; j <= i__1; ++j) { for (i__ = *m; i__ >= 1; --i__) { temp = b_ref(i__, j); if (nounit) { temp *= a_ref(i__, i__); } i__2 = i__ - 1; for (k = 1; k <= i__2; ++k) { temp += a_ref(k, i__) * b_ref(k, j); /* L90: */ } b_ref(i__, j) = *alpha * temp; /* L100: */ } /* L110: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { temp = b_ref(i__, j); if (nounit) { temp *= a_ref(i__, i__); } i__3 = *m; for (k = i__ + 1; k <= i__3; ++k) { temp += a_ref(k, i__) * b_ref(k, j); /* L120: */ } b_ref(i__, j) = *alpha * temp; /* L130: */ } /* L140: */ } } } } else { if (template_blas_lsame(transa, "N")) { /* Form B := alpha*B*A. */ if (upper) { for (j = *n; j >= 1; --j) { temp = *alpha; if (nounit) { temp *= a_ref(j, j); } i__1 = *m; for (i__ = 1; i__ <= i__1; ++i__) { b_ref(i__, j) = temp * b_ref(i__, j); /* L150: */ } i__1 = j - 1; for (k = 1; k <= i__1; ++k) { if (a_ref(k, j) != 0.) { temp = *alpha * a_ref(k, j); i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = b_ref(i__, j) + temp * b_ref( i__, k); /* L160: */ } } /* L170: */ } /* L180: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { temp = *alpha; if (nounit) { temp *= a_ref(j, j); } i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = temp * b_ref(i__, j); /* L190: */ } i__2 = *n; for (k = j + 1; k <= i__2; ++k) { if (a_ref(k, j) != 0.) { temp = *alpha * a_ref(k, j); i__3 = *m; for (i__ = 1; i__ <= i__3; ++i__) { b_ref(i__, j) = b_ref(i__, j) + temp * b_ref( i__, k); /* L200: */ } } /* L210: */ } /* L220: */ } } } else { /* Form B := alpha*B*A'. */ if (upper) { i__1 = *n; for (k = 1; k <= i__1; ++k) { i__2 = k - 1; for (j = 1; j <= i__2; ++j) { if (a_ref(j, k) != 0.) { temp = *alpha * a_ref(j, k); i__3 = *m; for (i__ = 1; i__ <= i__3; ++i__) { b_ref(i__, j) = b_ref(i__, j) + temp * b_ref( i__, k); /* L230: */ } } /* L240: */ } temp = *alpha; if (nounit) { temp *= a_ref(k, k); } if (temp != 1.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, k) = temp * b_ref(i__, k); /* L250: */ } } /* L260: */ } } else { for (k = *n; k >= 1; --k) { i__1 = *n; for (j = k + 1; j <= i__1; ++j) { if (a_ref(j, k) != 0.) { temp = *alpha * a_ref(j, k); i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = b_ref(i__, j) + temp * b_ref( i__, k); /* L270: */ } } /* L280: */ } temp = *alpha; if (nounit) { temp *= a_ref(k, k); } if (temp != 1.) { i__1 = *m; for (i__ = 1; i__ <= i__1; ++i__) { b_ref(i__, k) = temp * b_ref(i__, k); /* L290: */ } } /* L300: */ } } } } return 0; /* End of DTRMM . */ } /* dtrmm_ */ #undef b_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_symm.h0000664000175000017500000002632012743400307022150 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_SYMM_HEADER #define TEMPLATE_BLAS_SYMM_HEADER template int template_blas_symm(const char *side, const char *uplo, const integer *m, const integer *n, const Treal *alpha, const Treal *a, const integer *lda, const Treal *b, const integer *ldb, const Treal *beta, Treal *c__, const integer *ldc) { /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2, i__3; /* Local variables */ integer info; Treal temp1, temp2; integer i__, j, k; integer nrowa; logical upper; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] #define c___ref(a_1,a_2) c__[(a_2)*c_dim1 + a_1] /* Purpose ======= DSYMM performs one of the matrix-matrix operations C := alpha*A*B + beta*C, or C := alpha*B*A + beta*C, where alpha and beta are scalars, A is a symmetric matrix and B and C are m by n matrices. Parameters ========== SIDE - CHARACTER*1. On entry, SIDE specifies whether the symmetric matrix A appears on the left or right in the operation as follows: SIDE = 'L' or 'l' C := alpha*A*B + beta*C, SIDE = 'R' or 'r' C := alpha*B*A + beta*C, Unchanged on exit. UPLO - CHARACTER*1. On entry, UPLO specifies whether the upper or lower triangular part of the symmetric matrix A is to be referenced as follows: UPLO = 'U' or 'u' Only the upper triangular part of the symmetric matrix is to be referenced. UPLO = 'L' or 'l' Only the lower triangular part of the symmetric matrix is to be referenced. Unchanged on exit. M - INTEGER. On entry, M specifies the number of rows of the matrix C. M must be at least zero. Unchanged on exit. N - INTEGER. On entry, N specifies the number of columns of the matrix C. N must be at least zero. Unchanged on exit. ALPHA - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. Unchanged on exit. A - DOUBLE PRECISION array of DIMENSION ( LDA, ka ), where ka is m when SIDE = 'L' or 'l' and is n otherwise. Before entry with SIDE = 'L' or 'l', the m by m part of the array A must contain the symmetric matrix, such that when UPLO = 'U' or 'u', the leading m by m upper triangular part of the array A must contain the upper triangular part of the symmetric matrix and the strictly lower triangular part of A is not referenced, and when UPLO = 'L' or 'l', the leading m by m lower triangular part of the array A must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of A is not referenced. Before entry with SIDE = 'R' or 'r', the n by n part of the array A must contain the symmetric matrix, such that when UPLO = 'U' or 'u', the leading n by n upper triangular part of the array A must contain the upper triangular part of the symmetric matrix and the strictly lower triangular part of A is not referenced, and when UPLO = 'L' or 'l', the leading n by n lower triangular part of the array A must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of A is not referenced. Unchanged on exit. LDA - INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. When SIDE = 'L' or 'l' then LDA must be at least max( 1, m ), otherwise LDA must be at least max( 1, n ). Unchanged on exit. B - DOUBLE PRECISION array of DIMENSION ( LDB, n ). Before entry, the leading m by n part of the array B must contain the matrix B. Unchanged on exit. LDB - INTEGER. On entry, LDB specifies the first dimension of B as declared in the calling (sub) program. LDB must be at least max( 1, m ). Unchanged on exit. BETA - DOUBLE PRECISION. On entry, BETA specifies the scalar beta. When BETA is supplied as zero then C need not be set on input. Unchanged on exit. C - DOUBLE PRECISION array of DIMENSION ( LDC, n ). Before entry, the leading m by n part of the array C must contain the matrix C, except when beta is zero, in which case C need not be set on entry. On exit, the array C is overwritten by the m by n updated matrix. LDC - INTEGER. On entry, LDC specifies the first dimension of C as declared in the calling (sub) program. LDC must be at least max( 1, m ). Unchanged on exit. Level 3 Blas routine. -- Written on 8-February-1989. Jack Dongarra, Argonne National Laboratory. Iain Duff, AERE Harwell. Jeremy Du Croz, Numerical Algorithms Group Ltd. Sven Hammarling, Numerical Algorithms Group Ltd. Set NROWA as the number of rows of A. Parameter adjustments */ a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; c_dim1 = *ldc; c_offset = 1 + c_dim1 * 1; c__ -= c_offset; /* Function Body */ if (template_blas_lsame(side, "L")) { nrowa = *m; } else { nrowa = *n; } upper = template_blas_lsame(uplo, "U"); /* Test the input parameters. */ info = 0; if (! template_blas_lsame(side, "L") && ! template_blas_lsame(side, "R")) { info = 1; } else if (! upper && ! template_blas_lsame(uplo, "L")) { info = 2; } else if (*m < 0) { info = 3; } else if (*n < 0) { info = 4; } else if (*lda < maxMACRO(1,nrowa)) { info = 7; } else if (*ldb < maxMACRO(1,*m)) { info = 9; } else if (*ldc < maxMACRO(1,*m)) { info = 12; } if (info != 0) { template_blas_erbla("SYMM ", &info); return 0; } /* Quick return if possible. */ if (*m == 0 || *n == 0 || ( *alpha == 0. && *beta == 1. ) ) { return 0; } /* And when alpha.eq.zero. */ if (*alpha == 0.) { if (*beta == 0.) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = 0.; /* L10: */ } /* L20: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = *beta * c___ref(i__, j); /* L30: */ } /* L40: */ } } return 0; } /* Start the operations. */ if (template_blas_lsame(side, "L")) { /* Form C := alpha*A*B + beta*C. */ if (upper) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { temp1 = *alpha * b_ref(i__, j); temp2 = 0.; i__3 = i__ - 1; for (k = 1; k <= i__3; ++k) { c___ref(k, j) = c___ref(k, j) + temp1 * a_ref(k, i__); temp2 += b_ref(k, j) * a_ref(k, i__); /* L50: */ } if (*beta == 0.) { c___ref(i__, j) = temp1 * a_ref(i__, i__) + *alpha * temp2; } else { c___ref(i__, j) = *beta * c___ref(i__, j) + temp1 * a_ref(i__, i__) + *alpha * temp2; } /* L60: */ } /* L70: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { for (i__ = *m; i__ >= 1; --i__) { temp1 = *alpha * b_ref(i__, j); temp2 = 0.; i__2 = *m; for (k = i__ + 1; k <= i__2; ++k) { c___ref(k, j) = c___ref(k, j) + temp1 * a_ref(k, i__); temp2 += b_ref(k, j) * a_ref(k, i__); /* L80: */ } if (*beta == 0.) { c___ref(i__, j) = temp1 * a_ref(i__, i__) + *alpha * temp2; } else { c___ref(i__, j) = *beta * c___ref(i__, j) + temp1 * a_ref(i__, i__) + *alpha * temp2; } /* L90: */ } /* L100: */ } } } else { /* Form C := alpha*B*A + beta*C. */ i__1 = *n; for (j = 1; j <= i__1; ++j) { temp1 = *alpha * a_ref(j, j); if (*beta == 0.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = temp1 * b_ref(i__, j); /* L110: */ } } else { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = *beta * c___ref(i__, j) + temp1 * b_ref( i__, j); /* L120: */ } } i__2 = j - 1; for (k = 1; k <= i__2; ++k) { if (upper) { temp1 = *alpha * a_ref(k, j); } else { temp1 = *alpha * a_ref(j, k); } i__3 = *m; for (i__ = 1; i__ <= i__3; ++i__) { c___ref(i__, j) = c___ref(i__, j) + temp1 * b_ref(i__, k); /* L130: */ } /* L140: */ } i__2 = *n; for (k = j + 1; k <= i__2; ++k) { if (upper) { temp1 = *alpha * a_ref(j, k); } else { temp1 = *alpha * a_ref(k, j); } i__3 = *m; for (i__ = 1; i__ <= i__3; ++i__) { c___ref(i__, j) = c___ref(i__, j) + temp1 * b_ref(i__, k); /* L150: */ } /* L160: */ } /* L170: */ } } return 0; /* End of DSYMM . */ } /* dsymm_ */ #undef c___ref #undef b_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_gemm.h0000664000175000017500000002612012743400307022106 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_GEMM_HEADER #define TEMPLATE_BLAS_GEMM_HEADER #include "template_blas_common.h" template int template_blas_gemm(const char *transa, const char *transb, const integer *m, const integer * n, const integer *k, const Treal *alpha, const Treal *a, const integer *lda, const Treal *b, const integer *ldb, const Treal *beta, Treal *c__, const integer *ldc) { /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2, i__3; /* Local variables */ integer info; logical nota, notb; Treal temp; integer i__, j, l; integer nrowa, nrowb; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] #define c___ref(a_1,a_2) c__[(a_2)*c_dim1 + a_1] /* Purpose ======= DGEMM performs one of the matrix-matrix operations C := alpha*op( A )*op( B ) + beta*C, where op( X ) is one of op( X ) = X or op( X ) = X', alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix. Parameters ========== TRANSA - CHARACTER*1. On entry, TRANSA specifies the form of op( A ) to be used in the matrix multiplication as follows: TRANSA = 'N' or 'n', op( A ) = A. TRANSA = 'T' or 't', op( A ) = A'. TRANSA = 'C' or 'c', op( A ) = A'. Unchanged on exit. TRANSB - CHARACTER*1. On entry, TRANSB specifies the form of op( B ) to be used in the matrix multiplication as follows: TRANSB = 'N' or 'n', op( B ) = B. TRANSB = 'T' or 't', op( B ) = B'. TRANSB = 'C' or 'c', op( B ) = B'. Unchanged on exit. M - INTEGER. On entry, M specifies the number of rows of the matrix op( A ) and of the matrix C. M must be at least zero. Unchanged on exit. N - INTEGER. On entry, N specifies the number of columns of the matrix op( B ) and the number of columns of the matrix C. N must be at least zero. Unchanged on exit. K - INTEGER. On entry, K specifies the number of columns of the matrix op( A ) and the number of rows of the matrix op( B ). K must be at least zero. Unchanged on exit. ALPHA - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. Unchanged on exit. A - DOUBLE PRECISION array of DIMENSION ( LDA, ka ), where ka is k when TRANSA = 'N' or 'n', and is m otherwise. Before entry with TRANSA = 'N' or 'n', the leading m by k part of the array A must contain the matrix A, otherwise the leading k by m part of the array A must contain the matrix A. Unchanged on exit. LDA - INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. When TRANSA = 'N' or 'n' then LDA must be at least max( 1, m ), otherwise LDA must be at least max( 1, k ). Unchanged on exit. B - DOUBLE PRECISION array of DIMENSION ( LDB, kb ), where kb is n when TRANSB = 'N' or 'n', and is k otherwise. Before entry with TRANSB = 'N' or 'n', the leading k by n part of the array B must contain the matrix B, otherwise the leading n by k part of the array B must contain the matrix B. Unchanged on exit. LDB - INTEGER. On entry, LDB specifies the first dimension of B as declared in the calling (sub) program. When TRANSB = 'N' or 'n' then LDB must be at least max( 1, k ), otherwise LDB must be at least max( 1, n ). Unchanged on exit. BETA - DOUBLE PRECISION. On entry, BETA specifies the scalar beta. When BETA is supplied as zero then C need not be set on input. Unchanged on exit. C - DOUBLE PRECISION array of DIMENSION ( LDC, n ). Before entry, the leading m by n part of the array C must contain the matrix C, except when beta is zero, in which case C need not be set on entry. On exit, the array C is overwritten by the m by n matrix ( alpha*op( A )*op( B ) + beta*C ). LDC - INTEGER. On entry, LDC specifies the first dimension of C as declared in the calling (sub) program. LDC must be at least max( 1, m ). Unchanged on exit. Level 3 Blas routine. -- Written on 8-February-1989. Jack Dongarra, Argonne National Laboratory. Iain Duff, AERE Harwell. Jeremy Du Croz, Numerical Algorithms Group Ltd. Sven Hammarling, Numerical Algorithms Group Ltd. Set NOTA and NOTB as true if A and B respectively are not transposed and set NROWA, NCOLA and NROWB as the number of rows and columns of A and the number of rows of B respectively. Parameter adjustments */ a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; c_dim1 = *ldc; c_offset = 1 + c_dim1 * 1; c__ -= c_offset; /* Function Body */ nota = template_blas_lsame(transa, "N"); notb = template_blas_lsame(transb, "N"); if (nota) { nrowa = *m; } else { nrowa = *k; } if (notb) { nrowb = *k; } else { nrowb = *n; } /* Test the input parameters. */ info = 0; if (! nota && ! template_blas_lsame(transa, "C") && ! template_blas_lsame( transa, "T")) { info = 1; } else if (! notb && ! template_blas_lsame(transb, "C") && ! template_blas_lsame(transb, "T")) { info = 2; } else if (*m < 0) { info = 3; } else if (*n < 0) { info = 4; } else if (*k < 0) { info = 5; } else if (*lda < maxMACRO(1,nrowa)) { info = 8; } else if (*ldb < maxMACRO(1,nrowb)) { info = 10; } else if (*ldc < maxMACRO(1,*m)) { info = 13; } if (info != 0) { template_blas_erbla("DGEMM ", &info); return 0; } /* Quick return if possible. */ if (*m == 0 || *n == 0 || ( (*alpha == 0. || *k == 0) && *beta == 1.) ) { return 0; } /* And if alpha.eq.zero. */ if (*alpha == 0.) { if (*beta == 0.) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = 0.; /* L10: */ } /* L20: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = *beta * c___ref(i__, j); /* L30: */ } /* L40: */ } } return 0; } /* Start the operations. */ if (notb) { if (nota) { /* Form C := alpha*A*B + beta*C. */ i__1 = *n; for (j = 1; j <= i__1; ++j) { if (*beta == 0.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = 0.; /* L50: */ } } else if (*beta != 1.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = *beta * c___ref(i__, j); /* L60: */ } } i__2 = *k; for (l = 1; l <= i__2; ++l) { if (b_ref(l, j) != 0.) { temp = *alpha * b_ref(l, j); i__3 = *m; for (i__ = 1; i__ <= i__3; ++i__) { c___ref(i__, j) = c___ref(i__, j) + temp * a_ref( i__, l); /* L70: */ } } /* L80: */ } /* L90: */ } } else { /* Form C := alpha*A'*B + beta*C */ i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { temp = 0.; i__3 = *k; for (l = 1; l <= i__3; ++l) { temp += a_ref(l, i__) * b_ref(l, j); /* L100: */ } if (*beta == 0.) { c___ref(i__, j) = *alpha * temp; } else { c___ref(i__, j) = *alpha * temp + *beta * c___ref(i__, j); } /* L110: */ } /* L120: */ } } } else { if (nota) { /* Form C := alpha*A*B' + beta*C */ i__1 = *n; for (j = 1; j <= i__1; ++j) { if (*beta == 0.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = 0.; /* L130: */ } } else if (*beta != 1.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = *beta * c___ref(i__, j); /* L140: */ } } i__2 = *k; for (l = 1; l <= i__2; ++l) { if (b_ref(j, l) != 0.) { temp = *alpha * b_ref(j, l); i__3 = *m; for (i__ = 1; i__ <= i__3; ++i__) { c___ref(i__, j) = c___ref(i__, j) + temp * a_ref( i__, l); /* L150: */ } } /* L160: */ } /* L170: */ } } else { /* Form C := alpha*A'*B' + beta*C */ i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { temp = 0.; i__3 = *k; for (l = 1; l <= i__3; ++l) { temp += a_ref(l, i__) * b_ref(j, l); /* L180: */ } if (*beta == 0.) { c___ref(i__, j) = *alpha * temp; } else { c___ref(i__, j) = *alpha * temp + *beta * c___ref(i__, j); } /* L190: */ } /* L200: */ } } } return 0; /* End of DGEMM . */ } /* dgemm_ */ #undef c___ref #undef b_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_copy.h0000664000175000017500000000613312743400307022135 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_COPY_HEADER #define TEMPLATE_BLAS_COPY_HEADER template int template_blas_copy(const integer *n, const Treal *dx, const integer *incx, Treal *dy, const integer *incy) { /* System generated locals */ integer i__1; /* Local variables */ integer i__, m, ix, iy, mp1; /* copies a vector, x, to a vector, y. uses unrolled loops for increments equal to one. jack dongarra, linpack, 3/11/78. modified 12/3/93, array(1) declarations changed to array(*) Parameter adjustments */ --dy; --dx; /* Function Body */ if (*n <= 0) { return 0; } if (*incx == 1 && *incy == 1) { goto L20; } /* code for unequal increments or equal increments not equal to 1 */ ix = 1; iy = 1; if (*incx < 0) { ix = (-(*n) + 1) * *incx + 1; } if (*incy < 0) { iy = (-(*n) + 1) * *incy + 1; } i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { dy[iy] = dx[ix]; ix += *incx; iy += *incy; /* L10: */ } return 0; /* code for both increments equal to 1 clean-up loop */ L20: m = *n % 7; if (m == 0) { goto L40; } i__1 = m; for (i__ = 1; i__ <= i__1; ++i__) { dy[i__] = dx[i__]; /* L30: */ } if (*n < 7) { return 0; } L40: mp1 = m + 1; i__1 = *n; for (i__ = mp1; i__ <= i__1; i__ += 7) { dy[i__] = dx[i__]; dy[i__ + 1] = dx[i__ + 1]; dy[i__ + 2] = dx[i__ + 2]; dy[i__ + 3] = dx[i__ + 3]; dy[i__ + 4] = dx[i__ + 4]; dy[i__ + 5] = dx[i__ + 5]; dy[i__ + 6] = dx[i__ + 6]; /* L50: */ } return 0; } /* dcopy_ */ #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_nrm2.h0000664000175000017500000000576112743400307022047 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_NRM2_HEADER #define TEMPLATE_BLAS_NRM2_HEADER template Treal template_blas_nrm2(const integer *n, const Treal *x, const integer *incx) { /* The following loop is equivalent to this call to the LAPACK auxiliary routine: CALL DLASSQ( N, X, INCX, SCALE, SSQ ) */ /* System generated locals */ integer i__1, i__2; Treal ret_val, d__1; /* Local variables */ Treal norm, scale, absxi; integer ix; Treal ssq; /* DNRM2 returns the euclidean norm of a vector via the function name, so that DNRM2 := sqrt( x'*x ) -- This version written on 25-October-1982. Modified on 14-October-1993 to inline the call to DLASSQ. Sven Hammarling, Nag Ltd. Parameter adjustments */ --x; /* Function Body */ if (*n < 1 || *incx < 1) { norm = 0.; } else if (*n == 1) { norm = absMACRO(x[1]); } else { scale = 0.; ssq = 1.; i__1 = (*n - 1) * *incx + 1; i__2 = *incx; for (ix = 1; i__2 < 0 ? ix >= i__1 : ix <= i__1; ix += i__2) { if (x[ix] != 0.) { absxi = (d__1 = x[ix], absMACRO(d__1)); if (scale < absxi) { /* Computing 2nd power */ d__1 = scale / absxi; ssq = ssq * (d__1 * d__1) + 1.; scale = absxi; } else { /* Computing 2nd power */ d__1 = absxi / scale; ssq += d__1 * d__1; } } /* L10: */ } norm = scale * template_blas_sqrt(ssq); } ret_val = norm; return ret_val; /* End of DNRM2. */ } /* dnrm2_ */ #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_rot.h0000664000175000017500000000551712743400307021774 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_ROT_HEADER #define TEMPLATE_BLAS_ROT_HEADER template int template_blas_rot(const integer *n, Treal *dx, const integer *incx, Treal *dy, const integer *incy, const Treal *c__, const Treal *s) { /* System generated locals */ integer i__1; /* Local variables */ integer i__; Treal dtemp; integer ix, iy; /* applies a plane rotation. jack dongarra, linpack, 3/11/78. modified 12/3/93, array(1) declarations changed to array(*) Parameter adjustments */ --dy; --dx; /* Function Body */ if (*n <= 0) { return 0; } if (*incx == 1 && *incy == 1) { goto L20; } /* code for unequal increments or equal increments not equal to 1 */ ix = 1; iy = 1; if (*incx < 0) { ix = (-(*n) + 1) * *incx + 1; } if (*incy < 0) { iy = (-(*n) + 1) * *incy + 1; } i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { dtemp = *c__ * dx[ix] + *s * dy[iy]; dy[iy] = *c__ * dy[iy] - *s * dx[ix]; dx[ix] = dtemp; ix += *incx; iy += *incy; /* L10: */ } return 0; /* code for both increments equal to 1 */ L20: i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { dtemp = *c__ * dx[i__] + *s * dy[i__]; dy[i__] = *c__ * dy[i__] - *s * dx[i__]; dx[i__] = dtemp; /* L30: */ } return 0; } /* drot_ */ #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_dot.h0000664000175000017500000000641012743400307021747 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_DOT_HEADER #define TEMPLATE_BLAS_DOT_HEADER #include "template_blas_common.h" template Treal template_blas_dot(const integer *n, const Treal *dx, const integer *incx, const Treal *dy, const integer *incy) { /* System generated locals */ integer i__1; Treal ret_val; /* Local variables */ integer i__, m; Treal dtemp; integer ix, iy, mp1; /* forms the dot product of two vectors. uses unrolled loops for increments equal to one. jack dongarra, linpack, 3/11/78. modified 12/3/93, array(1) declarations changed to array(*) Parameter adjustments */ --dy; --dx; /* Function Body */ ret_val = 0.; dtemp = 0.; if (*n <= 0) { return ret_val; } if (*incx == 1 && *incy == 1) { goto L20; } /* code for unequal increments or equal increments not equal to 1 */ ix = 1; iy = 1; if (*incx < 0) { ix = (-(*n) + 1) * *incx + 1; } if (*incy < 0) { iy = (-(*n) + 1) * *incy + 1; } i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { dtemp += dx[ix] * dy[iy]; ix += *incx; iy += *incy; /* L10: */ } ret_val = dtemp; return ret_val; /* code for both increments equal to 1 clean-up loop */ L20: m = *n % 5; if (m == 0) { goto L40; } i__1 = m; for (i__ = 1; i__ <= i__1; ++i__) { dtemp += dx[i__] * dy[i__]; /* L30: */ } if (*n < 5) { goto L60; } L40: mp1 = m + 1; i__1 = *n; for (i__ = mp1; i__ <= i__1; i__ += 5) { dtemp = dtemp + dx[i__] * dy[i__] + dx[i__ + 1] * dy[i__ + 1] + dx[ i__ + 2] * dy[i__ + 2] + dx[i__ + 3] * dy[i__ + 3] + dx[i__ + 4] * dy[i__ + 4]; /* L50: */ } L60: ret_val = dtemp; return ret_val; } /* ddot_ */ #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_idamax.h0000664000175000017500000000563112743400307022430 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_IDAMAX_HEADER #define TEMPLATE_BLAS_IDAMAX_HEADER template integer template_blas_idamax(const integer *n, const Treal *dx, const integer *incx) { /* System generated locals */ integer ret_val, i__1; Treal d__1; /* Local variables */ Treal dmax__; integer i__, ix; /* finds the index of element having max. absolute value. jack dongarra, linpack, 3/11/78. modified 3/93 to return if incx .le. 0. modified 12/3/93, array(1) declarations changed to array(*) Parameter adjustments */ --dx; /* Function Body */ ret_val = 0; if (*n < 1 || *incx <= 0) { return ret_val; } ret_val = 1; if (*n == 1) { return ret_val; } if (*incx == 1) { goto L20; } /* code for increment not equal to 1 */ ix = 1; dmax__ = absMACRO(dx[1]); ix += *incx; i__1 = *n; for (i__ = 2; i__ <= i__1; ++i__) { if ((d__1 = dx[ix], absMACRO(d__1)) <= dmax__) { goto L5; } ret_val = i__; dmax__ = (d__1 = dx[ix], absMACRO(d__1)); L5: ix += *incx; /* L10: */ } return ret_val; /* code for increment equal to 1 */ L20: dmax__ = absMACRO(dx[1]); i__1 = *n; for (i__ = 2; i__ <= i__1; ++i__) { if ((d__1 = dx[i__], absMACRO(d__1)) <= dmax__) { goto L30; } ret_val = i__; dmax__ = (d__1 = dx[i__], absMACRO(d__1)); L30: ; } return ret_val; } /* idamax_ */ #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_basicmath.h0000664000175000017500000000513712743400307023121 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_BASICMATH_HEADER #define TEMPLATE_BLAS_BASICMATH_HEADER #include template Treal template_blas_fabs(Treal x); template Treal template_blas_sqrt(Treal x); template Treal template_blas_exp(Treal x); template Treal template_blas_log(Treal x); template Treal template_blas_erf(Treal x); template Treal template_blas_erfc(Treal x); /* template_blas_compute_pi_BBP This routine computes the number pi up to the precision of Treal using the BBP formula. */ template Treal template_blas_compute_pi_BBP(Treal dummy) { Treal epsilon = std::numeric_limits::epsilon(); Treal one_over_16 = (Treal)1 / (Treal)16; Treal one_over_16_to_pow_k = 1; Treal sum = 0; int k = 0; do { Treal factor = (Treal)4 / (Treal)(8*k + 1) - (Treal)2 / (Treal)(8*k + 4) - (Treal)1 / (Treal)(8*k + 5) - (Treal)1 / (Treal)(8*k + 6); sum += one_over_16_to_pow_k * factor; k++; one_over_16_to_pow_k *= one_over_16; } while(one_over_16_to_pow_k > epsilon); return sum; } #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_symv.h0000664000175000017500000002121512743400307022157 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_SYMV_HEADER #define TEMPLATE_BLAS_SYMV_HEADER template int template_blas_symv(const char *uplo, const integer *n, const Treal *alpha, const Treal *a, const integer *lda, const Treal *x, const integer *incx, const Treal *beta, Treal *y, const integer *incy) { /* System generated locals */ integer a_dim1, a_offset, i__1, i__2; /* Local variables */ integer info; Treal temp1, temp2; integer i__, j; integer ix, iy, jx, jy, kx, ky; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] /* Purpose ======= DSYMV performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix. Parameters ========== UPLO - CHARACTER*1. On entry, UPLO specifies whether the upper or lower triangular part of the array A is to be referenced as follows: UPLO = 'U' or 'u' Only the upper triangular part of A is to be referenced. UPLO = 'L' or 'l' Only the lower triangular part of A is to be referenced. Unchanged on exit. N - INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero. Unchanged on exit. ALPHA - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. Unchanged on exit. A - DOUBLE PRECISION array of DIMENSION ( LDA, n ). Before entry with UPLO = 'U' or 'u', the leading n by n upper triangular part of the array A must contain the upper triangular part of the symmetric matrix and the strictly lower triangular part of A is not referenced. Before entry with UPLO = 'L' or 'l', the leading n by n lower triangular part of the array A must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of A is not referenced. Unchanged on exit. LDA - INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, n ). Unchanged on exit. X - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the n element vector x. Unchanged on exit. INCX - INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit. BETA - DOUBLE PRECISION. On entry, BETA specifies the scalar beta. When BETA is supplied as zero then Y need not be set on input. Unchanged on exit. Y - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCY ) ). Before entry, the incremented array Y must contain the n element vector y. On exit, Y is overwritten by the updated vector y. INCY - INTEGER. On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. Unchanged on exit. Level 2 Blas routine. -- Written on 22-October-1986. Jack Dongarra, Argonne National Lab. Jeremy Du Croz, Nag Central Office. Sven Hammarling, Nag Central Office. Richard Hanson, Sandia National Labs. Test the input parameters. Parameter adjustments */ a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --x; --y; /* Function Body */ info = 0; if (! template_blas_lsame(uplo, "U") && ! template_blas_lsame(uplo, "L")) { info = 1; } else if (*n < 0) { info = 2; } else if (*lda < maxMACRO(1,*n)) { info = 5; } else if (*incx == 0) { info = 7; } else if (*incy == 0) { info = 10; } if (info != 0) { template_blas_erbla("SYMV ", &info); return 0; } /* Quick return if possible. */ if (*n == 0 || (*alpha == 0. && *beta == 1.) ) { return 0; } /* Set up the start points in X and Y. */ if (*incx > 0) { kx = 1; } else { kx = 1 - (*n - 1) * *incx; } if (*incy > 0) { ky = 1; } else { ky = 1 - (*n - 1) * *incy; } /* Start the operations. In this version the elements of A are accessed sequentially with one pass through the triangular part of A. First form y := beta*y. */ if (*beta != 1.) { if (*incy == 1) { if (*beta == 0.) { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { y[i__] = 0.; /* L10: */ } } else { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { y[i__] = *beta * y[i__]; /* L20: */ } } } else { iy = ky; if (*beta == 0.) { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { y[iy] = 0.; iy += *incy; /* L30: */ } } else { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { y[iy] = *beta * y[iy]; iy += *incy; /* L40: */ } } } } if (*alpha == 0.) { return 0; } if (template_blas_lsame(uplo, "U")) { /* Form y when A is stored in upper triangle. */ if (*incx == 1 && *incy == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { temp1 = *alpha * x[j]; temp2 = 0.; i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { y[i__] += temp1 * a_ref(i__, j); temp2 += a_ref(i__, j) * x[i__]; /* L50: */ } y[j] = y[j] + temp1 * a_ref(j, j) + *alpha * temp2; /* L60: */ } } else { jx = kx; jy = ky; i__1 = *n; for (j = 1; j <= i__1; ++j) { temp1 = *alpha * x[jx]; temp2 = 0.; ix = kx; iy = ky; i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { y[iy] += temp1 * a_ref(i__, j); temp2 += a_ref(i__, j) * x[ix]; ix += *incx; iy += *incy; /* L70: */ } y[jy] = y[jy] + temp1 * a_ref(j, j) + *alpha * temp2; jx += *incx; jy += *incy; /* L80: */ } } } else { /* Form y when A is stored in lower triangle. */ if (*incx == 1 && *incy == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { temp1 = *alpha * x[j]; temp2 = 0.; y[j] += temp1 * a_ref(j, j); i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { y[i__] += temp1 * a_ref(i__, j); temp2 += a_ref(i__, j) * x[i__]; /* L90: */ } y[j] += *alpha * temp2; /* L100: */ } } else { jx = kx; jy = ky; i__1 = *n; for (j = 1; j <= i__1; ++j) { temp1 = *alpha * x[jx]; temp2 = 0.; y[jy] += temp1 * a_ref(j, j); ix = jx; iy = jy; i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { ix += *incx; iy += *incy; y[iy] += temp1 * a_ref(i__, j); temp2 += a_ref(i__, j) * x[ix]; /* L110: */ } y[jy] += *alpha * temp2; jx += *incx; jy += *incy; /* L120: */ } } } return 0; /* End of DSYMV . */ } /* dsymv_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_scal.h0000664000175000017500000000576512743400307022117 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_SCAL_HEADER #define TEMPLATE_BLAS_SCAL_HEADER #include "template_blas_common.h" template int template_blas_scal(const integer *n, const Treal *da, Treal *dx, const integer *incx) { /* System generated locals */ integer i__1, i__2; /* Local variables */ integer i__, m, nincx, mp1; /* scales a vector by a constant. uses unrolled loops for increment equal to one. jack dongarra, linpack, 3/11/78. modified 3/93 to return if incx .le. 0. modified 12/3/93, array(1) declarations changed to array(*) Parameter adjustments */ --dx; /* Function Body */ if (*n <= 0 || *incx <= 0) { return 0; } if (*incx == 1) { goto L20; } /* code for increment not equal to 1 */ nincx = *n * *incx; i__1 = nincx; i__2 = *incx; for (i__ = 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) { dx[i__] = *da * dx[i__]; /* L10: */ } return 0; /* code for increment equal to 1 clean-up loop */ L20: m = *n % 5; if (m == 0) { goto L40; } i__2 = m; for (i__ = 1; i__ <= i__2; ++i__) { dx[i__] = *da * dx[i__]; /* L30: */ } if (*n < 5) { return 0; } L40: mp1 = m + 1; i__2 = *n; for (i__ = mp1; i__ <= i__2; i__ += 5) { dx[i__] = *da * dx[i__]; dx[i__ + 1] = *da * dx[i__ + 1]; dx[i__ + 2] = *da * dx[i__ + 2]; dx[i__ + 3] = *da * dx[i__ + 3]; dx[i__ + 4] = *da * dx[i__ + 4]; /* L50: */ } return 0; } /* dscal_ */ #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_common.h0000664000175000017500000000577012743400307022461 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ //#define sqrt HULAhulaHULAsqrt //#define log HULAhulaHULAlog typedef int integer; typedef bool logical; typedef int ftnlen; typedef char *address; #define maxMACRO(a,b) (a >= b ? a : b) #define minMACRO(a,b) (a <= b ? a : b) #define absMACRO(x) (x >= 0 ? x : (-x)) #if 0 // Pawel suggests this variant: template A maxMACRO(const A& a, const A&b) { return a >= b ? a : b; } maxMACRO(f(a), b) #endif // include math.h to get sqrt etc #include #include "template_blas_basicmath.h" logical template_blas_lsame(const char *ca, const char *cb); int template_blas_erbla(const char *srname, integer *info); void template_blas_s_cat(char *lp, char *rpp[], ftnlen rnp[], ftnlen *np, ftnlen ll); #include "template_blas_axpy.h" #include "template_blas_scal.h" #include "template_blas_dot.h" #include "template_blas_spr.h" #include "template_blas_spr2.h" #include "template_blas_gemv.h" #include "template_blas_gemm.h" #include "template_blas_trmm.h" #include "template_blas_trsm.h" #include "template_blas_syrk.h" #include "template_blas_syr2.h" #include "template_blas_syr2k.h" #include "template_blas_symv.h" #include "template_blas_symm.h" #include "template_blas_tpsv.h" #include "template_blas_tpmv.h" #include "template_blas_spmv.h" #include "template_blas_trsv.h" #include "template_blas_trmv.h" #include "template_blas_swap.h" #include "template_blas_nrm2.h" #include "template_blas_copy.h" #include "template_blas_ger.h" #include "template_blas_idamax.h" #include "template_blas_rot.h" #include "template_blas_asum.h" ergo-3.5/source/matrix/template_lapack/blas/template_blas_syr2.h0000664000175000017500000002026312743400307022062 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_SYR2_HEADER #define TEMPLATE_BLAS_SYR2_HEADER template int template_blas_syr2(const char *uplo, const integer *n, const Treal *alpha, const Treal *x, const integer *incx, const Treal *y, const integer *incy, Treal *a, const integer *lda) { /* System generated locals */ integer a_dim1, a_offset, i__1, i__2; /* Local variables */ integer info; Treal temp1, temp2; integer i__, j; integer ix, iy, jx, jy, kx, ky; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] /* Purpose ======= DSYR2 performs the symmetric rank 2 operation A := alpha*x*y' + alpha*y*x' + A, where alpha is a scalar, x and y are n element vectors and A is an n by n symmetric matrix. Parameters ========== UPLO - CHARACTER*1. On entry, UPLO specifies whether the upper or lower triangular part of the array A is to be referenced as follows: UPLO = 'U' or 'u' Only the upper triangular part of A is to be referenced. UPLO = 'L' or 'l' Only the lower triangular part of A is to be referenced. Unchanged on exit. N - INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero. Unchanged on exit. ALPHA - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. Unchanged on exit. X - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the n element vector x. Unchanged on exit. INCX - INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit. Y - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCY ) ). Before entry, the incremented array Y must contain the n element vector y. Unchanged on exit. INCY - INTEGER. On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. Unchanged on exit. A - DOUBLE PRECISION array of DIMENSION ( LDA, n ). Before entry with UPLO = 'U' or 'u', the leading n by n upper triangular part of the array A must contain the upper triangular part of the symmetric matrix and the strictly lower triangular part of A is not referenced. On exit, the upper triangular part of the array A is overwritten by the upper triangular part of the updated matrix. Before entry with UPLO = 'L' or 'l', the leading n by n lower triangular part of the array A must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of A is not referenced. On exit, the lower triangular part of the array A is overwritten by the lower triangular part of the updated matrix. LDA - INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, n ). Unchanged on exit. Level 2 Blas routine. -- Written on 22-October-1986. Jack Dongarra, Argonne National Lab. Jeremy Du Croz, Nag Central Office. Sven Hammarling, Nag Central Office. Richard Hanson, Sandia National Labs. Test the input parameters. Parameter adjustments */ --x; --y; a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; /* Initialization added by Elias to get rid of compiler warnings. */ jx = jy = kx = ky = 0; /* Function Body */ info = 0; if (! template_blas_lsame(uplo, "U") && ! template_blas_lsame(uplo, "L")) { info = 1; } else if (*n < 0) { info = 2; } else if (*incx == 0) { info = 5; } else if (*incy == 0) { info = 7; } else if (*lda < maxMACRO(1,*n)) { info = 9; } if (info != 0) { template_blas_erbla("SYR2 ", &info); return 0; } /* Quick return if possible. */ if (*n == 0 || *alpha == 0.) { return 0; } /* Set up the start points in X and Y if the increments are not both unity. */ if (*incx != 1 || *incy != 1) { if (*incx > 0) { kx = 1; } else { kx = 1 - (*n - 1) * *incx; } if (*incy > 0) { ky = 1; } else { ky = 1 - (*n - 1) * *incy; } jx = kx; jy = ky; } /* Start the operations. In this version the elements of A are accessed sequentially with one pass through the triangular part of A. */ if (template_blas_lsame(uplo, "U")) { /* Form A when A is stored in the upper triangle. */ if (*incx == 1 && *incy == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[j] != 0. || y[j] != 0.) { temp1 = *alpha * y[j]; temp2 = *alpha * x[j]; i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { a_ref(i__, j) = a_ref(i__, j) + x[i__] * temp1 + y[ i__] * temp2; /* L10: */ } } /* L20: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[jx] != 0. || y[jy] != 0.) { temp1 = *alpha * y[jy]; temp2 = *alpha * x[jx]; ix = kx; iy = ky; i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { a_ref(i__, j) = a_ref(i__, j) + x[ix] * temp1 + y[iy] * temp2; ix += *incx; iy += *incy; /* L30: */ } } jx += *incx; jy += *incy; /* L40: */ } } } else { /* Form A when A is stored in the lower triangle. */ if (*incx == 1 && *incy == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[j] != 0. || y[j] != 0.) { temp1 = *alpha * y[j]; temp2 = *alpha * x[j]; i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { a_ref(i__, j) = a_ref(i__, j) + x[i__] * temp1 + y[ i__] * temp2; /* L50: */ } } /* L60: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[jx] != 0. || y[jy] != 0.) { temp1 = *alpha * y[jy]; temp2 = *alpha * x[jx]; ix = jx; iy = jy; i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { a_ref(i__, j) = a_ref(i__, j) + x[ix] * temp1 + y[iy] * temp2; ix += *incx; iy += *incy; /* L70: */ } } jx += *incx; jy += *incy; /* L80: */ } } } return 0; /* End of DSYR2 . */ } /* dsyr2_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_swap.h0000664000175000017500000000626512743400307022143 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_SWAP_HEADER #define TEMPLATE_BLAS_SWAP_HEADER template int template_blas_swap(const integer *n, Treal *dx, const integer *incx, Treal *dy, const integer *incy) { /* System generated locals */ integer i__1; /* Local variables */ integer i__, m; Treal dtemp; integer ix, iy, mp1; /* interchanges two vectors. uses unrolled loops for increments equal one. jack dongarra, linpack, 3/11/78. modified 12/3/93, array(1) declarations changed to array(*) Parameter adjustments */ --dy; --dx; /* Function Body */ if (*n <= 0) { return 0; } if (*incx == 1 && *incy == 1) { goto L20; } /* code for unequal increments or equal increments not equal to 1 */ ix = 1; iy = 1; if (*incx < 0) { ix = (-(*n) + 1) * *incx + 1; } if (*incy < 0) { iy = (-(*n) + 1) * *incy + 1; } i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { dtemp = dx[ix]; dx[ix] = dy[iy]; dy[iy] = dtemp; ix += *incx; iy += *incy; /* L10: */ } return 0; /* code for both increments equal to 1 clean-up loop */ L20: m = *n % 3; if (m == 0) { goto L40; } i__1 = m; for (i__ = 1; i__ <= i__1; ++i__) { dtemp = dx[i__]; dx[i__] = dy[i__]; dy[i__] = dtemp; /* L30: */ } if (*n < 3) { return 0; } L40: mp1 = m + 1; i__1 = *n; for (i__ = mp1; i__ <= i__1; i__ += 3) { dtemp = dx[i__]; dx[i__] = dy[i__]; dy[i__] = dtemp; dtemp = dx[i__ + 1]; dx[i__ + 1] = dy[i__ + 1]; dy[i__ + 1] = dtemp; dtemp = dx[i__ + 2]; dx[i__ + 2] = dy[i__ + 2]; dy[i__ + 2] = dtemp; /* L50: */ } return 0; } /* dswap_ */ #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_asum.h0000664000175000017500000000631712743400307022134 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_ASUM_HEADER #define TEMPLATE_BLAS_ASUM_HEADER template Treal template_blas_asum(const integer *n, const Treal *dx, const integer *incx) { /* System generated locals */ integer i__1, i__2; Treal ret_val, d__1, d__2, d__3, d__4, d__5, d__6; /* Local variables */ integer i__, m; Treal dtemp; integer nincx, mp1; /* takes the sum of the absolute values. jack dongarra, linpack, 3/11/78. modified 3/93 to return if incx .le. 0. modified 12/3/93, array(1) declarations changed to array(*) Parameter adjustments */ --dx; /* Function Body */ ret_val = 0.; dtemp = 0.; if (*n <= 0 || *incx <= 0) { return ret_val; } if (*incx == 1) { goto L20; } /* code for increment not equal to 1 */ nincx = *n * *incx; i__1 = nincx; i__2 = *incx; for (i__ = 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) { dtemp += (d__1 = dx[i__], absMACRO(d__1)); /* L10: */ } ret_val = dtemp; return ret_val; /* code for increment equal to 1 clean-up loop */ L20: m = *n % 6; if (m == 0) { goto L40; } i__2 = m; for (i__ = 1; i__ <= i__2; ++i__) { dtemp += (d__1 = dx[i__], absMACRO(d__1)); /* L30: */ } if (*n < 6) { goto L60; } L40: mp1 = m + 1; i__2 = *n; for (i__ = mp1; i__ <= i__2; i__ += 6) { dtemp = dtemp + (d__1 = dx[i__], absMACRO(d__1)) + (d__2 = dx[i__ + 1], absMACRO(d__2)) + (d__3 = dx[i__ + 2], absMACRO(d__3)) + (d__4 = dx[i__ + 3], absMACRO(d__4)) + (d__5 = dx[i__ + 4], absMACRO(d__5)) + (d__6 = dx[i__ + 5], absMACRO(d__6)); /* L50: */ } L60: ret_val = dtemp; return ret_val; } /* dasum_ */ #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_gemv.h0000664000175000017500000002045312743400307022122 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_GEMV_HEADER #define TEMPLATE_BLAS_GEMV_HEADER #include "template_blas_common.h" template int template_blas_gemv(const char *trans, const integer *m, const integer *n, const Treal * alpha, const Treal *a, const integer *lda, const Treal *x, const integer *incx, const Treal *beta, Treal *y, const integer *incy) { /* System generated locals */ integer a_dim1, a_offset, i__1, i__2; /* Local variables */ integer info; Treal temp; integer lenx, leny, i__, j; integer ix, iy, jx, jy, kx, ky; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] /* Purpose ======= DGEMV performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*A'*x + beta*y, where alpha and beta are scalars, x and y are vectors and A is an m by n matrix. Parameters ========== TRANS - CHARACTER*1. On entry, TRANS specifies the operation to be performed as follows: TRANS = 'N' or 'n' y := alpha*A*x + beta*y. TRANS = 'T' or 't' y := alpha*A'*x + beta*y. TRANS = 'C' or 'c' y := alpha*A'*x + beta*y. Unchanged on exit. M - INTEGER. On entry, M specifies the number of rows of the matrix A. M must be at least zero. Unchanged on exit. N - INTEGER. On entry, N specifies the number of columns of the matrix A. N must be at least zero. Unchanged on exit. ALPHA - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. Unchanged on exit. A - DOUBLE PRECISION array of DIMENSION ( LDA, n ). Before entry, the leading m by n part of the array A must contain the matrix of coefficients. Unchanged on exit. LDA - INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, m ). Unchanged on exit. X - DOUBLE PRECISION array of DIMENSION at least ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' and at least ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. Before entry, the incremented array X must contain the vector x. Unchanged on exit. INCX - INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit. BETA - DOUBLE PRECISION. On entry, BETA specifies the scalar beta. When BETA is supplied as zero then Y need not be set on input. Unchanged on exit. Y - DOUBLE PRECISION array of DIMENSION at least ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' and at least ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. Before entry with BETA non-zero, the incremented array Y must contain the vector y. On exit, Y is overwritten by the updated vector y. INCY - INTEGER. On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. Unchanged on exit. Level 2 Blas routine. -- Written on 22-October-1986. Jack Dongarra, Argonne National Lab. Jeremy Du Croz, Nag Central Office. Sven Hammarling, Nag Central Office. Richard Hanson, Sandia National Labs. Test the input parameters. Parameter adjustments */ a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --x; --y; /* Function Body */ info = 0; if (! template_blas_lsame(trans, "N") && ! template_blas_lsame(trans, "T") && ! template_blas_lsame(trans, "C") ) { info = 1; } else if (*m < 0) { info = 2; } else if (*n < 0) { info = 3; } else if (*lda < maxMACRO(1,*m)) { info = 6; } else if (*incx == 0) { info = 8; } else if (*incy == 0) { info = 11; } if (info != 0) { template_blas_erbla("GEMV ", &info); return 0; } /* Quick return if possible. */ if (*m == 0 || *n == 0 || (*alpha == 0. && *beta == 1.) ) { return 0; } /* Set LENX and LENY, the lengths of the vectors x and y, and set up the start points in X and Y. */ if (template_blas_lsame(trans, "N")) { lenx = *n; leny = *m; } else { lenx = *m; leny = *n; } if (*incx > 0) { kx = 1; } else { kx = 1 - (lenx - 1) * *incx; } if (*incy > 0) { ky = 1; } else { ky = 1 - (leny - 1) * *incy; } /* Start the operations. In this version the elements of A are accessed sequentially with one pass through A. First form y := beta*y. */ if (*beta != 1.) { if (*incy == 1) { if (*beta == 0.) { i__1 = leny; for (i__ = 1; i__ <= i__1; ++i__) { y[i__] = 0.; /* L10: */ } } else { i__1 = leny; for (i__ = 1; i__ <= i__1; ++i__) { y[i__] = *beta * y[i__]; /* L20: */ } } } else { iy = ky; if (*beta == 0.) { i__1 = leny; for (i__ = 1; i__ <= i__1; ++i__) { y[iy] = 0.; iy += *incy; /* L30: */ } } else { i__1 = leny; for (i__ = 1; i__ <= i__1; ++i__) { y[iy] = *beta * y[iy]; iy += *incy; /* L40: */ } } } } if (*alpha == 0.) { return 0; } if (template_blas_lsame(trans, "N")) { /* Form y := alpha*A*x + y. */ jx = kx; if (*incy == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[jx] != 0.) { temp = *alpha * x[jx]; i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { y[i__] += temp * a_ref(i__, j); /* L50: */ } } jx += *incx; /* L60: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[jx] != 0.) { temp = *alpha * x[jx]; iy = ky; i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { y[iy] += temp * a_ref(i__, j); iy += *incy; /* L70: */ } } jx += *incx; /* L80: */ } } } else { /* Form y := alpha*A'*x + y. */ jy = ky; if (*incx == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { temp = 0.; i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { temp += a_ref(i__, j) * x[i__]; /* L90: */ } y[jy] += *alpha * temp; jy += *incy; /* L100: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { temp = 0.; ix = kx; i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { temp += a_ref(i__, j) * x[ix]; ix += *incx; /* L110: */ } y[jy] += *alpha * temp; jy += *incy; /* L120: */ } } } return 0; /* End of DGEMV . */ } /* dgemv_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_common.cc0000664000175000017500000001417012743400307022611 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #include #include #include "template_blas_common.h" #include #include logical template_blas_lsame(const char *ca, const char *cb) { /* -- LAPACK auxiliary routine (version 3.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University September 30, 1994 Purpose ======= LSAME returns .TRUE. if CA is the same letter as CB regardless of case. Arguments ========= CA (input) CHARACTER*1 CB (input) CHARACTER*1 CA and CB specify the single characters to be compared. ===================================================================== Test if the characters are equal */ /* System generated locals */ logical ret_val; /* Local variables */ integer inta, intb, zcode; ret_val = *(unsigned char *)ca == *(unsigned char *)cb; if (ret_val) { return ret_val; } /* Now test for equivalence if both characters are alphabetic. */ zcode = 'Z'; /* Use 'Z' rather than 'A' so that ASCII can be detected on Prime machines, on which ICHAR returns a value with bit 8 set. ICHAR('A') on Prime machines returns 193 which is the same as ICHAR('A') on an EBCDIC machine. */ inta = *(unsigned char *)ca; intb = *(unsigned char *)cb; if (zcode == 90 || zcode == 122) { /* ASCII is assumed - ZCODE is the ASCII code of either lower o r upper case 'Z'. */ if (inta >= 97 && inta <= 122) { inta += -32; } if (intb >= 97 && intb <= 122) { intb += -32; } } else if (zcode == 233 || zcode == 169) { /* EBCDIC is assumed - ZCODE is the EBCDIC code of either lower or upper case 'Z'. */ if ( (inta >= 129 && inta <= 137) || (inta >= 145 && inta <= 153) || (inta >= 162 && inta <= 169) ) { inta += 64; } if ( (intb >= 129 && intb <= 137) || (intb >= 145 && intb <= 153) || (intb >= 162 && intb <= 169) ) { intb += 64; } } else if (zcode == 218 || zcode == 250) { /* ASCII is assumed, on Prime machines - ZCODE is the ASCII cod e plus 128 of either lower or upper case 'Z'. */ if (inta >= 225 && inta <= 250) { inta += -32; } if (intb >= 225 && intb <= 250) { intb += -32; } } ret_val = inta == intb; /* RETURN End of LSAME */ return ret_val; } /* lsame_ */ int template_blas_erbla(const char *srname, integer *info) { /* -- LAPACK auxiliary routine (preliminary version) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University February 29, 1992 Purpose ======= XERBLA is an error handler for the LAPACK routines. It is called by an LAPACK routine if an input parameter has an invalid value. A message is printed and execution stops. Installers may consider modifying the STOP statement in order to call system-specific exception-handling facilities. Arguments ========= SRNAME (input) CHARACTER*6 The name of the routine which called XERBLA. INFO (input) INTEGER The position of the invalid parameter in the parameter list of the calling routine. */ fprintf(stderr, "mat_erbla error message: on entry to %s the parameter %i had an illegal value.\n", srname, int(*info)); /* End of XERBLA */ return 0; } /* xerbla_ */ #include "stdlib.h" const integer memfailure = 3; static char * F77_aloc(integer Len, const char *whence) { char *rv; unsigned int uLen = (unsigned int) Len; /* for K&R C */ if (!(rv = (char*)malloc(uLen))) { fprintf(stderr, "malloc(%u) failure in %s\n", uLen, whence); exit(memfailure); } return rv; } void template_blas_s_cat(char *lp, char *rpp[], ftnlen rnp[], ftnlen *np, ftnlen ll) { ftnlen i, nc; char *rp; ftnlen n = *np; #ifndef NO_OVERWRITE ftnlen L, m; char *lp0, *lp1; lp0 = 0; lp1 = lp; L = ll; i = 0; while(i < n) { rp = rpp[i]; m = rnp[i++]; if (rp >= lp1 || rp + m <= lp) { if ((L -= m) <= 0) { n = i; break; } lp1 += m; continue; } lp0 = lp; lp = lp1 = F77_aloc(L = ll, "s_cat"); break; } lp1 = lp; #endif /* NO_OVERWRITE */ for(i = 0 ; i < n ; ++i) { nc = ll; if(rnp[i] < nc) nc = rnp[i]; ll -= nc; rp = rpp[i]; while(--nc >= 0) *lp++ = *rp++; } while(--ll >= 0) *lp++ = ' '; #ifndef NO_OVERWRITE if (lp0) { memcpy(lp0, lp1, L); free(lp1); } #endif } ergo-3.5/source/matrix/template_lapack/blas/template_blas_trsv.h0000664000175000017500000002243412743400307022163 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_TRSV_HEADER #define TEMPLATE_BLAS_TRSV_HEADER template int template_blas_trsv(const char *uplo, const char *trans, const char *diag, const integer *n, const Treal *a, const integer *lda, Treal *x, const integer *incx) { /* System generated locals */ integer a_dim1, a_offset, i__1, i__2; /* Local variables */ integer info; Treal temp; integer i__, j; integer ix, jx, kx; logical nounit; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] /* Purpose ======= DTRSV solves one of the systems of equations A*x = b, or A'*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix. No test for singularity or near-singularity is included in this routine. Such tests must be performed before calling this routine. Parameters ========== UPLO - CHARACTER*1. On entry, UPLO specifies whether the matrix is an upper or lower triangular matrix as follows: UPLO = 'U' or 'u' A is an upper triangular matrix. UPLO = 'L' or 'l' A is a lower triangular matrix. Unchanged on exit. TRANS - CHARACTER*1. On entry, TRANS specifies the equations to be solved as follows: TRANS = 'N' or 'n' A*x = b. TRANS = 'T' or 't' A'*x = b. TRANS = 'C' or 'c' A'*x = b. Unchanged on exit. DIAG - CHARACTER*1. On entry, DIAG specifies whether or not A is unit triangular as follows: DIAG = 'U' or 'u' A is assumed to be unit triangular. DIAG = 'N' or 'n' A is not assumed to be unit triangular. Unchanged on exit. N - INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero. Unchanged on exit. A - DOUBLE PRECISION array of DIMENSION ( LDA, n ). Before entry with UPLO = 'U' or 'u', the leading n by n upper triangular part of the array A must contain the upper triangular matrix and the strictly lower triangular part of A is not referenced. Before entry with UPLO = 'L' or 'l', the leading n by n lower triangular part of the array A must contain the lower triangular matrix and the strictly upper triangular part of A is not referenced. Note that when DIAG = 'U' or 'u', the diagonal elements of A are not referenced either, but are assumed to be unity. Unchanged on exit. LDA - INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, n ). Unchanged on exit. X - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the n element right-hand side vector b. On exit, X is overwritten with the solution vector x. INCX - INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit. Level 2 Blas routine. -- Written on 22-October-1986. Jack Dongarra, Argonne National Lab. Jeremy Du Croz, Nag Central Office. Sven Hammarling, Nag Central Office. Richard Hanson, Sandia National Labs. Test the input parameters. Parameter adjustments */ a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; --x; /* Initialization added by Elias to get rid of compiler warnings. */ kx = 0; /* Function Body */ info = 0; if (! template_blas_lsame(uplo, "U") && ! template_blas_lsame(uplo, "L")) { info = 1; } else if (! template_blas_lsame(trans, "N") && ! template_blas_lsame(trans, "T") && ! template_blas_lsame(trans, "C")) { info = 2; } else if (! template_blas_lsame(diag, "U") && ! template_blas_lsame(diag, "N")) { info = 3; } else if (*n < 0) { info = 4; } else if (*lda < maxMACRO(1,*n)) { info = 6; } else if (*incx == 0) { info = 8; } if (info != 0) { template_blas_erbla("TRSV ", &info); return 0; } /* Quick return if possible. */ if (*n == 0) { return 0; } nounit = template_blas_lsame(diag, "N"); /* Set up the start point in X if the increment is not unity. This will be ( N - 1 )*INCX too small for descending loops. */ if (*incx <= 0) { kx = 1 - (*n - 1) * *incx; } else if (*incx != 1) { kx = 1; } /* Start the operations. In this version the elements of A are accessed sequentially with one pass through A. */ if (template_blas_lsame(trans, "N")) { /* Form x := inv( A )*x. */ if (template_blas_lsame(uplo, "U")) { if (*incx == 1) { for (j = *n; j >= 1; --j) { if (x[j] != 0.) { if (nounit) { x[j] /= a_ref(j, j); } temp = x[j]; for (i__ = j - 1; i__ >= 1; --i__) { x[i__] -= temp * a_ref(i__, j); /* L10: */ } } /* L20: */ } } else { jx = kx + (*n - 1) * *incx; for (j = *n; j >= 1; --j) { if (x[jx] != 0.) { if (nounit) { x[jx] /= a_ref(j, j); } temp = x[jx]; ix = jx; for (i__ = j - 1; i__ >= 1; --i__) { ix -= *incx; x[ix] -= temp * a_ref(i__, j); /* L30: */ } } jx -= *incx; /* L40: */ } } } else { if (*incx == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[j] != 0.) { if (nounit) { x[j] /= a_ref(j, j); } temp = x[j]; i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { x[i__] -= temp * a_ref(i__, j); /* L50: */ } } /* L60: */ } } else { jx = kx; i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[jx] != 0.) { if (nounit) { x[jx] /= a_ref(j, j); } temp = x[jx]; ix = jx; i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { ix += *incx; x[ix] -= temp * a_ref(i__, j); /* L70: */ } } jx += *incx; /* L80: */ } } } } else { /* Form x := inv( A' )*x. */ if (template_blas_lsame(uplo, "U")) { if (*incx == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { temp = x[j]; i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { temp -= a_ref(i__, j) * x[i__]; /* L90: */ } if (nounit) { temp /= a_ref(j, j); } x[j] = temp; /* L100: */ } } else { jx = kx; i__1 = *n; for (j = 1; j <= i__1; ++j) { temp = x[jx]; ix = kx; i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { temp -= a_ref(i__, j) * x[ix]; ix += *incx; /* L110: */ } if (nounit) { temp /= a_ref(j, j); } x[jx] = temp; jx += *incx; /* L120: */ } } } else { if (*incx == 1) { for (j = *n; j >= 1; --j) { temp = x[j]; i__1 = j + 1; for (i__ = *n; i__ >= i__1; --i__) { temp -= a_ref(i__, j) * x[i__]; /* L130: */ } if (nounit) { temp /= a_ref(j, j); } x[j] = temp; /* L140: */ } } else { kx += (*n - 1) * *incx; jx = kx; for (j = *n; j >= 1; --j) { temp = x[jx]; ix = kx; i__1 = j + 1; for (i__ = *n; i__ >= i__1; --i__) { temp -= a_ref(i__, j) * x[ix]; ix -= *incx; /* L150: */ } if (nounit) { temp /= a_ref(j, j); } x[jx] = temp; jx -= *incx; /* L160: */ } } } } return 0; /* End of DTRSV . */ } /* dtrsv_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_spr2.h0000664000175000017500000001770712743400307022062 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_SPR2_HEADER #define TEMPLATE_BLAS_SPR2_HEADER #include "template_blas_common.h" template int template_blas_spr2(const char *uplo, const integer *n, const Treal *alpha, const Treal *x, const integer *incx, const Treal *y, const integer *incy, Treal *ap) { /* System generated locals */ integer i__1, i__2; /* Local variables */ integer info; Treal temp1, temp2; integer i__, j, k; integer kk, ix, iy, jx, jy, kx, ky; /* Purpose ======= DSPR2 performs the symmetric rank 2 operation A := alpha*x*y' + alpha*y*x' + A, where alpha is a scalar, x and y are n element vectors and A is an n by n symmetric matrix, supplied in packed form. Parameters ========== UPLO - CHARACTER*1. On entry, UPLO specifies whether the upper or lower triangular part of the matrix A is supplied in the packed array AP as follows: UPLO = 'U' or 'u' The upper triangular part of A is supplied in AP. UPLO = 'L' or 'l' The lower triangular part of A is supplied in AP. Unchanged on exit. N - INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero. Unchanged on exit. ALPHA - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. Unchanged on exit. X - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the n element vector x. Unchanged on exit. INCX - INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit. Y - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCY ) ). Before entry, the incremented array Y must contain the n element vector y. Unchanged on exit. INCY - INTEGER. On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. Unchanged on exit. AP - DOUBLE PRECISION array of DIMENSION at least ( ( n*( n + 1 ) )/2 ). Before entry with UPLO = 'U' or 'u', the array AP must contain the upper triangular part of the symmetric matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 1, 2 ) and a( 2, 2 ) respectively, and so on. On exit, the array AP is overwritten by the upper triangular part of the updated matrix. Before entry with UPLO = 'L' or 'l', the array AP must contain the lower triangular part of the symmetric matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1 ) and a( 3, 1 ) respectively, and so on. On exit, the array AP is overwritten by the lower triangular part of the updated matrix. Level 2 Blas routine. -- Written on 22-October-1986. Jack Dongarra, Argonne National Lab. Jeremy Du Croz, Nag Central Office. Sven Hammarling, Nag Central Office. Richard Hanson, Sandia National Labs. Test the input parameters. Parameter adjustments */ --ap; --y; --x; /* Initialization added by Elias to get rid of compiler warnings. */ jx = jy = kx = ky = 0; /* Function Body */ info = 0; if (! template_blas_lsame(uplo, "U") && ! template_blas_lsame(uplo, "L")) { info = 1; } else if (*n < 0) { info = 2; } else if (*incx == 0) { info = 5; } else if (*incy == 0) { info = 7; } if (info != 0) { template_blas_erbla("SPR2 ", &info); return 0; } /* Quick return if possible. */ if (*n == 0 || *alpha == 0.) { return 0; } /* Set up the start points in X and Y if the increments are not both unity. */ if (*incx != 1 || *incy != 1) { if (*incx > 0) { kx = 1; } else { kx = 1 - (*n - 1) * *incx; } if (*incy > 0) { ky = 1; } else { ky = 1 - (*n - 1) * *incy; } jx = kx; jy = ky; } /* Start the operations. In this version the elements of the array AP are accessed sequentially with one pass through AP. */ kk = 1; if (template_blas_lsame(uplo, "U")) { /* Form A when upper triangle is stored in AP. */ if (*incx == 1 && *incy == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[j] != 0. || y[j] != 0.) { temp1 = *alpha * y[j]; temp2 = *alpha * x[j]; k = kk; i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { ap[k] = ap[k] + x[i__] * temp1 + y[i__] * temp2; ++k; /* L10: */ } } kk += j; /* L20: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[jx] != 0. || y[jy] != 0.) { temp1 = *alpha * y[jy]; temp2 = *alpha * x[jx]; ix = kx; iy = ky; i__2 = kk + j - 1; for (k = kk; k <= i__2; ++k) { ap[k] = ap[k] + x[ix] * temp1 + y[iy] * temp2; ix += *incx; iy += *incy; /* L30: */ } } jx += *incx; jy += *incy; kk += j; /* L40: */ } } } else { /* Form A when lower triangle is stored in AP. */ if (*incx == 1 && *incy == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[j] != 0. || y[j] != 0.) { temp1 = *alpha * y[j]; temp2 = *alpha * x[j]; k = kk; i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { ap[k] = ap[k] + x[i__] * temp1 + y[i__] * temp2; ++k; /* L50: */ } } kk = kk + *n - j + 1; /* L60: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[jx] != 0. || y[jy] != 0.) { temp1 = *alpha * y[jy]; temp2 = *alpha * x[jx]; ix = jx; iy = jy; i__2 = kk + *n - j; for (k = kk; k <= i__2; ++k) { ap[k] = ap[k] + x[ix] * temp1 + y[iy] * temp2; ix += *incx; iy += *incy; /* L70: */ } } jx += *incx; jy += *incy; kk = kk + *n - j + 1; /* L80: */ } } } return 0; /* End of DSPR2 . */ } /* dspr2_ */ #endif ergo-3.5/source/matrix/template_lapack/blas/Makefile.in0000664000175000017500000010060012743400352020155 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : noinst_PROGRAMS = templateblastest$(EXEEXT) \ templateblastest_threaded$(EXEEXT) subdir = source/matrix/template_lapack/blas ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libtemplateblas_a_AR = $(AR) $(ARFLAGS) libtemplateblas_a_LIBADD = am_libtemplateblas_a_OBJECTS = template_blas_basicmath.$(OBJEXT) \ template_blas_common.$(OBJEXT) template_blas_test.$(OBJEXT) libtemplateblas_a_OBJECTS = $(am_libtemplateblas_a_OBJECTS) PROGRAMS = $(noinst_PROGRAMS) am_templateblastest_OBJECTS = template_blas_test.$(OBJEXT) templateblastest_OBJECTS = $(am_templateblastest_OBJECTS) templateblastest_DEPENDENCIES = libtemplateblas.a am_templateblastest_threaded_OBJECTS = \ template_blas_test_threaded.$(OBJEXT) templateblastest_threaded_OBJECTS = \ $(am_templateblastest_threaded_OBJECTS) templateblastest_threaded_DEPENDENCIES = libtemplateblas.a AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libtemplateblas_a_SOURCES) $(templateblastest_SOURCES) \ $(templateblastest_threaded_SOURCES) DIST_SOURCES = $(libtemplateblas_a_SOURCES) \ $(templateblastest_SOURCES) \ $(templateblastest_threaded_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ $(top_srcdir)/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libtemplateblas.a templateblastest_SOURCES = template_blas_test.cc templateblastest_LDADD = libtemplateblas.a $(FLIBS) templateblastest_threaded_SOURCES = template_blas_test_threaded.cc templateblastest_threaded_LDADD = libtemplateblas.a $(FLIBS) libtemplateblas_a_SOURCES = \ template_blas_basicmath.h \ template_blas_basicmath.cc \ template_blas_gemm.h \ template_blas_asum.h \ template_blas_axpy.h \ template_blas_common.cc \ template_blas_common.h \ template_blas_copy.h \ template_blas_dot.h \ template_blas_gemm.h \ template_blas_gemv.h \ template_blas_ger.h \ template_blas_idamax.h \ template_blas_nrm2.h \ template_blas_rot.h \ template_blas_scal.h \ template_blas_spmv.h \ template_blas_spr.h \ template_blas_spr2.h \ template_blas_swap.h \ template_blas_symm.h \ template_blas_symv.h \ template_blas_syr2.h \ template_blas_syr2k.h \ template_blas_syrk.h \ template_blas_test.cc \ template_blas_tpmv.h \ template_blas_tpsv.h \ template_blas_trmm.h \ template_blas_trmv.h \ template_blas_trsm.h \ template_blas_trsv.h EXTRA_DIST = \ test.sh TESTS_ENVIRONMENT = top_builddir=$(top_builddir) top_srcdir=$(top_srcdir) TESTS = \ test.sh all: all-am .SUFFIXES: .SUFFIXES: .cc .log .o .obj .test .test$(EXEEXT) .trs $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/matrix/template_lapack/blas/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/matrix/template_lapack/blas/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libtemplateblas.a: $(libtemplateblas_a_OBJECTS) $(libtemplateblas_a_DEPENDENCIES) $(EXTRA_libtemplateblas_a_DEPENDENCIES) $(AM_V_at)-rm -f libtemplateblas.a $(AM_V_AR)$(libtemplateblas_a_AR) libtemplateblas.a $(libtemplateblas_a_OBJECTS) $(libtemplateblas_a_LIBADD) $(AM_V_at)$(RANLIB) libtemplateblas.a clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) templateblastest$(EXEEXT): $(templateblastest_OBJECTS) $(templateblastest_DEPENDENCIES) $(EXTRA_templateblastest_DEPENDENCIES) @rm -f templateblastest$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(templateblastest_OBJECTS) $(templateblastest_LDADD) $(LIBS) templateblastest_threaded$(EXEEXT): $(templateblastest_threaded_OBJECTS) $(templateblastest_threaded_DEPENDENCIES) $(EXTRA_templateblastest_threaded_DEPENDENCIES) @rm -f templateblastest_threaded$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(templateblastest_threaded_OBJECTS) $(templateblastest_threaded_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/template_blas_basicmath.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/template_blas_common.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/template_blas_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/template_blas_test_threaded.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? test.sh.log: test.sh @p='test.sh'; \ b='test.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(LIBRARIES) $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES clean-noinstPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ clean-generic clean-noinstLIBRARIES clean-noinstPROGRAMS \ cscopelist-am ctags ctags-am distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \ uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/matrix/template_lapack/blas/Makefile.am0000775000175000017500000000236012743400275020157 00000000000000noinst_PROGRAMS = templateblastest templateblastest_threaded noinst_LIBRARIES = libtemplateblas.a templateblastest_SOURCES = template_blas_test.cc templateblastest_LDADD = libtemplateblas.a $(FLIBS) templateblastest_threaded_SOURCES = template_blas_test_threaded.cc templateblastest_threaded_LDADD = libtemplateblas.a $(FLIBS) libtemplateblas_a_SOURCES = \ template_blas_basicmath.h \ template_blas_basicmath.cc \ template_blas_gemm.h \ template_blas_asum.h \ template_blas_axpy.h \ template_blas_common.cc \ template_blas_common.h \ template_blas_copy.h \ template_blas_dot.h \ template_blas_gemm.h \ template_blas_gemv.h \ template_blas_ger.h \ template_blas_idamax.h \ template_blas_nrm2.h \ template_blas_rot.h \ template_blas_scal.h \ template_blas_spmv.h \ template_blas_spr.h \ template_blas_spr2.h \ template_blas_swap.h \ template_blas_symm.h \ template_blas_symv.h \ template_blas_syr2.h \ template_blas_syr2k.h \ template_blas_syrk.h \ template_blas_test.cc \ template_blas_tpmv.h \ template_blas_tpsv.h \ template_blas_trmm.h \ template_blas_trmv.h \ template_blas_trsm.h \ template_blas_trsv.h EXTRA_DIST = \ test.sh TESTS_ENVIRONMENT = top_builddir=$(top_builddir) top_srcdir=$(top_srcdir) TESTS = \ test.sh ergo-3.5/source/matrix/template_lapack/blas/template_blas_syrk.h0000664000175000017500000002470612743400307022161 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_SYRK_HEADER #define TEMPLATE_BLAS_SYRK_HEADER template int template_blas_syrk(const char *uplo, const char *trans, const integer *n, const integer *k, const Treal *alpha, const Treal *a, const integer *lda, const Treal *beta, Treal *c__, const integer *ldc) { /* System generated locals */ integer a_dim1, a_offset, c_dim1, c_offset, i__1, i__2, i__3; /* Local variables */ integer info; Treal temp; integer i__, j, l; integer nrowa; logical upper; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define c___ref(a_1,a_2) c__[(a_2)*c_dim1 + a_1] /* Purpose ======= DSYRK performs one of the symmetric rank k operations C := alpha*A*A' + beta*C, or C := alpha*A'*A + beta*C, where alpha and beta are scalars, C is an n by n symmetric matrix and A is an n by k matrix in the first case and a k by n matrix in the second case. Parameters ========== UPLO - CHARACTER*1. On entry, UPLO specifies whether the upper or lower triangular part of the array C is to be referenced as follows: UPLO = 'U' or 'u' Only the upper triangular part of C is to be referenced. UPLO = 'L' or 'l' Only the lower triangular part of C is to be referenced. Unchanged on exit. TRANS - CHARACTER*1. On entry, TRANS specifies the operation to be performed as follows: TRANS = 'N' or 'n' C := alpha*A*A' + beta*C. TRANS = 'T' or 't' C := alpha*A'*A + beta*C. TRANS = 'C' or 'c' C := alpha*A'*A + beta*C. Unchanged on exit. N - INTEGER. On entry, N specifies the order of the matrix C. N must be at least zero. Unchanged on exit. K - INTEGER. On entry with TRANS = 'N' or 'n', K specifies the number of columns of the matrix A, and on entry with TRANS = 'T' or 't' or 'C' or 'c', K specifies the number of rows of the matrix A. K must be at least zero. Unchanged on exit. ALPHA - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. Unchanged on exit. A - DOUBLE PRECISION array of DIMENSION ( LDA, ka ), where ka is k when TRANS = 'N' or 'n', and is n otherwise. Before entry with TRANS = 'N' or 'n', the leading n by k part of the array A must contain the matrix A, otherwise the leading k by n part of the array A must contain the matrix A. Unchanged on exit. LDA - INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. When TRANS = 'N' or 'n' then LDA must be at least max( 1, n ), otherwise LDA must be at least max( 1, k ). Unchanged on exit. BETA - DOUBLE PRECISION. On entry, BETA specifies the scalar beta. Unchanged on exit. C - DOUBLE PRECISION array of DIMENSION ( LDC, n ). Before entry with UPLO = 'U' or 'u', the leading n by n upper triangular part of the array C must contain the upper triangular part of the symmetric matrix and the strictly lower triangular part of C is not referenced. On exit, the upper triangular part of the array C is overwritten by the upper triangular part of the updated matrix. Before entry with UPLO = 'L' or 'l', the leading n by n lower triangular part of the array C must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of C is not referenced. On exit, the lower triangular part of the array C is overwritten by the lower triangular part of the updated matrix. LDC - INTEGER. On entry, LDC specifies the first dimension of C as declared in the calling (sub) program. LDC must be at least max( 1, n ). Unchanged on exit. Level 3 Blas routine. -- Written on 8-February-1989. Jack Dongarra, Argonne National Laboratory. Iain Duff, AERE Harwell. Jeremy Du Croz, Numerical Algorithms Group Ltd. Sven Hammarling, Numerical Algorithms Group Ltd. Test the input parameters. Parameter adjustments */ a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; c_dim1 = *ldc; c_offset = 1 + c_dim1 * 1; c__ -= c_offset; /* Function Body */ if (template_blas_lsame(trans, "N")) { nrowa = *n; } else { nrowa = *k; } upper = template_blas_lsame(uplo, "U"); info = 0; if (! upper && ! template_blas_lsame(uplo, "L")) { info = 1; } else if (! template_blas_lsame(trans, "N") && ! template_blas_lsame(trans, "T") && ! template_blas_lsame(trans, "C")) { info = 2; } else if (*n < 0) { info = 3; } else if (*k < 0) { info = 4; } else if (*lda < maxMACRO(1,nrowa)) { info = 7; } else if (*ldc < maxMACRO(1,*n)) { info = 10; } if (info != 0) { template_blas_erbla("DSYRK ", &info); return 0; } /* Quick return if possible. */ if (*n == 0 || ( (*alpha == 0. || *k == 0) && *beta == 1. ) ) { return 0; } /* And when alpha.eq.zero. */ if (*alpha == 0.) { if (upper) { if (*beta == 0.) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = 0.; /* L10: */ } /* L20: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = *beta * c___ref(i__, j); /* L30: */ } /* L40: */ } } } else { if (*beta == 0.) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { c___ref(i__, j) = 0.; /* L50: */ } /* L60: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { c___ref(i__, j) = *beta * c___ref(i__, j); /* L70: */ } /* L80: */ } } } return 0; } /* Start the operations. */ if (template_blas_lsame(trans, "N")) { /* Form C := alpha*A*A' + beta*C. */ if (upper) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (*beta == 0.) { i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = 0.; /* L90: */ } } else if (*beta != 1.) { i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { c___ref(i__, j) = *beta * c___ref(i__, j); /* L100: */ } } i__2 = *k; for (l = 1; l <= i__2; ++l) { if (a_ref(j, l) != 0.) { temp = *alpha * a_ref(j, l); i__3 = j; for (i__ = 1; i__ <= i__3; ++i__) { c___ref(i__, j) = c___ref(i__, j) + temp * a_ref( i__, l); /* L110: */ } } /* L120: */ } /* L130: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (*beta == 0.) { i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { c___ref(i__, j) = 0.; /* L140: */ } } else if (*beta != 1.) { i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { c___ref(i__, j) = *beta * c___ref(i__, j); /* L150: */ } } i__2 = *k; for (l = 1; l <= i__2; ++l) { if (a_ref(j, l) != 0.) { temp = *alpha * a_ref(j, l); i__3 = *n; for (i__ = j; i__ <= i__3; ++i__) { c___ref(i__, j) = c___ref(i__, j) + temp * a_ref( i__, l); /* L160: */ } } /* L170: */ } /* L180: */ } } } else { /* Form C := alpha*A'*A + beta*C. */ if (upper) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { temp = 0.; i__3 = *k; for (l = 1; l <= i__3; ++l) { temp += a_ref(l, i__) * a_ref(l, j); /* L190: */ } if (*beta == 0.) { c___ref(i__, j) = *alpha * temp; } else { c___ref(i__, j) = *alpha * temp + *beta * c___ref(i__, j); } /* L200: */ } /* L210: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { temp = 0.; i__3 = *k; for (l = 1; l <= i__3; ++l) { temp += a_ref(l, i__) * a_ref(l, j); /* L220: */ } if (*beta == 0.) { c___ref(i__, j) = *alpha * temp; } else { c___ref(i__, j) = *alpha * temp + *beta * c___ref(i__, j); } /* L230: */ } /* L240: */ } } } return 0; /* End of DSYRK . */ } /* dsyrk_ */ #undef c___ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_spmv.h0000664000175000017500000002066712743400307022160 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_SPMV_HEADER #define TEMPLATE_BLAS_SPMV_HEADER template int template_blas_spmv(const char *uplo, const integer *n, const Treal *alpha, Treal *ap, const Treal *x, const integer *incx, const Treal *beta, Treal *y, const integer *incy) { /* System generated locals */ integer i__1, i__2; /* Local variables */ integer info; Treal temp1, temp2; integer i__, j, k; integer kk, ix, iy, jx, jy, kx, ky; /* Purpose ======= DSPMV performs the matrix-vector operation y := alpha*A*x + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix, supplied in packed form. Parameters ========== UPLO - CHARACTER*1. On entry, UPLO specifies whether the upper or lower triangular part of the matrix A is supplied in the packed array AP as follows: UPLO = 'U' or 'u' The upper triangular part of A is supplied in AP. UPLO = 'L' or 'l' The lower triangular part of A is supplied in AP. Unchanged on exit. N - INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero. Unchanged on exit. ALPHA - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. Unchanged on exit. AP - DOUBLE PRECISION array of DIMENSION at least ( ( n*( n + 1 ) )/2 ). Before entry with UPLO = 'U' or 'u', the array AP must contain the upper triangular part of the symmetric matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 1, 2 ) and a( 2, 2 ) respectively, and so on. Before entry with UPLO = 'L' or 'l', the array AP must contain the lower triangular part of the symmetric matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1 ) and a( 3, 1 ) respectively, and so on. Unchanged on exit. X - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the n element vector x. Unchanged on exit. INCX - INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit. BETA - DOUBLE PRECISION. On entry, BETA specifies the scalar beta. When BETA is supplied as zero then Y need not be set on input. Unchanged on exit. Y - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCY ) ). Before entry, the incremented array Y must contain the n element vector y. On exit, Y is overwritten by the updated vector y. INCY - INTEGER. On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. Unchanged on exit. Level 2 Blas routine. -- Written on 22-October-1986. Jack Dongarra, Argonne National Lab. Jeremy Du Croz, Nag Central Office. Sven Hammarling, Nag Central Office. Richard Hanson, Sandia National Labs. Test the input parameters. Parameter adjustments */ --y; --x; --ap; /* Function Body */ info = 0; if (! template_blas_lsame(uplo, "U") && ! template_blas_lsame(uplo, "L")) { info = 1; } else if (*n < 0) { info = 2; } else if (*incx == 0) { info = 6; } else if (*incy == 0) { info = 9; } if (info != 0) { template_blas_erbla("SPMV ", &info); return 0; } /* Quick return if possible. */ if (*n == 0 || ( *alpha == 0. && *beta == 1. ) ) { return 0; } /* Set up the start points in X and Y. */ if (*incx > 0) { kx = 1; } else { kx = 1 - (*n - 1) * *incx; } if (*incy > 0) { ky = 1; } else { ky = 1 - (*n - 1) * *incy; } /* Start the operations. In this version the elements of the array AP are accessed sequentially with one pass through AP. First form y := beta*y. */ if (*beta != 1.) { if (*incy == 1) { if (*beta == 0.) { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { y[i__] = 0.; /* L10: */ } } else { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { y[i__] = *beta * y[i__]; /* L20: */ } } } else { iy = ky; if (*beta == 0.) { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { y[iy] = 0.; iy += *incy; /* L30: */ } } else { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { y[iy] = *beta * y[iy]; iy += *incy; /* L40: */ } } } } if (*alpha == 0.) { return 0; } kk = 1; if (template_blas_lsame(uplo, "U")) { /* Form y when AP contains the upper triangle. */ if (*incx == 1 && *incy == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { temp1 = *alpha * x[j]; temp2 = 0.; k = kk; i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { y[i__] += temp1 * ap[k]; temp2 += ap[k] * x[i__]; ++k; /* L50: */ } y[j] = y[j] + temp1 * ap[kk + j - 1] + *alpha * temp2; kk += j; /* L60: */ } } else { jx = kx; jy = ky; i__1 = *n; for (j = 1; j <= i__1; ++j) { temp1 = *alpha * x[jx]; temp2 = 0.; ix = kx; iy = ky; i__2 = kk + j - 2; for (k = kk; k <= i__2; ++k) { y[iy] += temp1 * ap[k]; temp2 += ap[k] * x[ix]; ix += *incx; iy += *incy; /* L70: */ } y[jy] = y[jy] + temp1 * ap[kk + j - 1] + *alpha * temp2; jx += *incx; jy += *incy; kk += j; /* L80: */ } } } else { /* Form y when AP contains the lower triangle. */ if (*incx == 1 && *incy == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { temp1 = *alpha * x[j]; temp2 = 0.; y[j] += temp1 * ap[kk]; k = kk + 1; i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { y[i__] += temp1 * ap[k]; temp2 += ap[k] * x[i__]; ++k; /* L90: */ } y[j] += *alpha * temp2; kk += *n - j + 1; /* L100: */ } } else { jx = kx; jy = ky; i__1 = *n; for (j = 1; j <= i__1; ++j) { temp1 = *alpha * x[jx]; temp2 = 0.; y[jy] += temp1 * ap[kk]; ix = jx; iy = jy; i__2 = kk + *n - j; for (k = kk + 1; k <= i__2; ++k) { ix += *incx; iy += *incy; y[iy] += temp1 * ap[k]; temp2 += ap[k] * x[ix]; /* L110: */ } y[jy] += *alpha * temp2; jx += *incx; jy += *incy; kk += *n - j + 1; /* L120: */ } } } return 0; /* End of DSPMV . */ } /* dspmv_ */ #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_spr.h0000664000175000017500000001555512743400307021777 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_SPR_HEADER #define TEMPLATE_BLAS_SPR_HEADER #include "template_blas_common.h" template int template_blas_spr(const char *uplo, integer *n, Treal *alpha, Treal *x, integer *incx, Treal *ap) { /* System generated locals */ integer i__1, i__2; /* Local variables */ integer info; Treal temp; integer i__, j, k; integer kk, ix, jx, kx; /* Purpose ======= DSPR performs the symmetric rank 1 operation A := alpha*x*x' + A, where alpha is a real scalar, x is an n element vector and A is an n by n symmetric matrix, supplied in packed form. Parameters ========== UPLO - CHARACTER*1. On entry, UPLO specifies whether the upper or lower triangular part of the matrix A is supplied in the packed array AP as follows: UPLO = 'U' or 'u' The upper triangular part of A is supplied in AP. UPLO = 'L' or 'l' The lower triangular part of A is supplied in AP. Unchanged on exit. N - INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero. Unchanged on exit. ALPHA - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. Unchanged on exit. X - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the n element vector x. Unchanged on exit. INCX - INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit. AP - DOUBLE PRECISION array of DIMENSION at least ( ( n*( n + 1 ) )/2 ). Before entry with UPLO = 'U' or 'u', the array AP must contain the upper triangular part of the symmetric matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 1, 2 ) and a( 2, 2 ) respectively, and so on. On exit, the array AP is overwritten by the upper triangular part of the updated matrix. Before entry with UPLO = 'L' or 'l', the array AP must contain the lower triangular part of the symmetric matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1 ) and a( 3, 1 ) respectively, and so on. On exit, the array AP is overwritten by the lower triangular part of the updated matrix. Level 2 Blas routine. -- Written on 22-October-1986. Jack Dongarra, Argonne National Lab. Jeremy Du Croz, Nag Central Office. Sven Hammarling, Nag Central Office. Richard Hanson, Sandia National Labs. Test the input parameters. Parameter adjustments */ --ap; --x; /* Initialization added by Elias to get rid of compiler warnings. */ kx = 0; /* Function Body */ info = 0; if (! template_blas_lsame(uplo, "U") && ! template_blas_lsame(uplo, "L")) { info = 1; } else if (*n < 0) { info = 2; } else if (*incx == 0) { info = 5; } if (info != 0) { template_blas_erbla("SPR ", &info); return 0; } /* Quick return if possible. */ if (*n == 0 || *alpha == 0.) { return 0; } /* Set the start point in X if the increment is not unity. */ if (*incx <= 0) { kx = 1 - (*n - 1) * *incx; } else if (*incx != 1) { kx = 1; } /* Start the operations. In this version the elements of the array AP are accessed sequentially with one pass through AP. */ kk = 1; if (template_blas_lsame(uplo, "U")) { /* Form A when upper triangle is stored in AP. */ if (*incx == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[j] != 0.) { temp = *alpha * x[j]; k = kk; i__2 = j; for (i__ = 1; i__ <= i__2; ++i__) { ap[k] += x[i__] * temp; ++k; /* L10: */ } } kk += j; /* L20: */ } } else { jx = kx; i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[jx] != 0.) { temp = *alpha * x[jx]; ix = kx; i__2 = kk + j - 1; for (k = kk; k <= i__2; ++k) { ap[k] += x[ix] * temp; ix += *incx; /* L30: */ } } jx += *incx; kk += j; /* L40: */ } } } else { /* Form A when lower triangle is stored in AP. */ if (*incx == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[j] != 0.) { temp = *alpha * x[j]; k = kk; i__2 = *n; for (i__ = j; i__ <= i__2; ++i__) { ap[k] += x[i__] * temp; ++k; /* L50: */ } } kk = kk + *n - j + 1; /* L60: */ } } else { jx = kx; i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[jx] != 0.) { temp = *alpha * x[jx]; ix = jx; i__2 = kk + *n - j; for (k = kk; k <= i__2; ++k) { ap[k] += x[ix] * temp; ix += *incx; /* L70: */ } } jx += *incx; kk = kk + *n - j + 1; /* L80: */ } } } return 0; /* End of DSPR . */ } /* dspr_ */ #endif ergo-3.5/source/matrix/template_lapack/blas/test.sh0000775000175000017500000000150312743400275017434 00000000000000#!/bin/sh if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi # Prefer gawk - we know exactly what it can do. # awk on Sun does not support functions, need to use nawk for this if gawk '{print 1}' /dev/null 2>&1; then AWK=gawk elif nawk '{print 1}' /dev/null 2>&1; then AWK=nawk else AWK=awk fi echo echo Testing template_blas "$top_builddir"/source/matrix/template_lapack/blas/templateblastest if [ $? -eq 0 ] then echo template_blas test OK else echo ERROR in template_blas test exit 1 fi echo echo Testing template_blas with threads "$top_builddir"/source/matrix/template_lapack/blas/templateblastest_threaded if [ $? -eq 0 ] then echo template_blas with threads test OK else echo ERROR in template_blas with threads test exit 1 fi ergo-3.5/source/matrix/template_lapack/blas/template_blas_tpsv.h0000664000175000017500000002251512743400307022161 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_TPSV_HEADER #define TEMPLATE_BLAS_TPSV_HEADER template int template_blas_tpsv(const char *uplo, const char *trans, const char *diag, const integer *n, const Treal *ap, Treal *x, const integer *incx) { /* System generated locals */ integer i__1, i__2; /* Local variables */ integer info; Treal temp; integer i__, j, k; integer kk, ix, jx, kx; logical nounit; /* Purpose ======= DTPSV solves one of the systems of equations A*x = b, or A'*x = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix, supplied in packed form. No test for singularity or near-singularity is included in this routine. Such tests must be performed before calling this routine. Parameters ========== UPLO - CHARACTER*1. On entry, UPLO specifies whether the matrix is an upper or lower triangular matrix as follows: UPLO = 'U' or 'u' A is an upper triangular matrix. UPLO = 'L' or 'l' A is a lower triangular matrix. Unchanged on exit. TRANS - CHARACTER*1. On entry, TRANS specifies the equations to be solved as follows: TRANS = 'N' or 'n' A*x = b. TRANS = 'T' or 't' A'*x = b. TRANS = 'C' or 'c' A'*x = b. Unchanged on exit. DIAG - CHARACTER*1. On entry, DIAG specifies whether or not A is unit triangular as follows: DIAG = 'U' or 'u' A is assumed to be unit triangular. DIAG = 'N' or 'n' A is not assumed to be unit triangular. Unchanged on exit. N - INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero. Unchanged on exit. AP - DOUBLE PRECISION array of DIMENSION at least ( ( n*( n + 1 ) )/2 ). Before entry with UPLO = 'U' or 'u', the array AP must contain the upper triangular matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 1, 2 ) and a( 2, 2 ) respectively, and so on. Before entry with UPLO = 'L' or 'l', the array AP must contain the lower triangular matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1 ) and a( 3, 1 ) respectively, and so on. Note that when DIAG = 'U' or 'u', the diagonal elements of A are not referenced, but are assumed to be unity. Unchanged on exit. X - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the n element right-hand side vector b. On exit, X is overwritten with the solution vector x. INCX - INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit. Level 2 Blas routine. -- Written on 22-October-1986. Jack Dongarra, Argonne National Lab. Jeremy Du Croz, Nag Central Office. Sven Hammarling, Nag Central Office. Richard Hanson, Sandia National Labs. Test the input parameters. Parameter adjustments */ --x; --ap; /* Initialization added by Elias to get rid of compiler warnings. */ kx = 0; /* Function Body */ info = 0; if (! template_blas_lsame(uplo, "U") && ! template_blas_lsame(uplo, "L")) { info = 1; } else if (! template_blas_lsame(trans, "N") && ! template_blas_lsame(trans, "T") && ! template_blas_lsame(trans, "C")) { info = 2; } else if (! template_blas_lsame(diag, "U") && ! template_blas_lsame(diag, "N")) { info = 3; } else if (*n < 0) { info = 4; } else if (*incx == 0) { info = 7; } if (info != 0) { template_blas_erbla("DTPSV ", &info); return 0; } /* Quick return if possible. */ if (*n == 0) { return 0; } nounit = template_blas_lsame(diag, "N"); /* Set up the start point in X if the increment is not unity. This will be ( N - 1 )*INCX too small for descending loops. */ if (*incx <= 0) { kx = 1 - (*n - 1) * *incx; } else if (*incx != 1) { kx = 1; } /* Start the operations. In this version the elements of AP are accessed sequentially with one pass through AP. */ if (template_blas_lsame(trans, "N")) { /* Form x := inv( A )*x. */ if (template_blas_lsame(uplo, "U")) { kk = *n * (*n + 1) / 2; if (*incx == 1) { for (j = *n; j >= 1; --j) { if (x[j] != 0.) { if (nounit) { x[j] /= ap[kk]; } temp = x[j]; k = kk - 1; for (i__ = j - 1; i__ >= 1; --i__) { x[i__] -= temp * ap[k]; --k; /* L10: */ } } kk -= j; /* L20: */ } } else { jx = kx + (*n - 1) * *incx; for (j = *n; j >= 1; --j) { if (x[jx] != 0.) { if (nounit) { x[jx] /= ap[kk]; } temp = x[jx]; ix = jx; i__1 = kk - j + 1; for (k = kk - 1; k >= i__1; --k) { ix -= *incx; x[ix] -= temp * ap[k]; /* L30: */ } } jx -= *incx; kk -= j; /* L40: */ } } } else { kk = 1; if (*incx == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[j] != 0.) { if (nounit) { x[j] /= ap[kk]; } temp = x[j]; k = kk + 1; i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { x[i__] -= temp * ap[k]; ++k; /* L50: */ } } kk += *n - j + 1; /* L60: */ } } else { jx = kx; i__1 = *n; for (j = 1; j <= i__1; ++j) { if (x[jx] != 0.) { if (nounit) { x[jx] /= ap[kk]; } temp = x[jx]; ix = jx; i__2 = kk + *n - j; for (k = kk + 1; k <= i__2; ++k) { ix += *incx; x[ix] -= temp * ap[k]; /* L70: */ } } jx += *incx; kk += *n - j + 1; /* L80: */ } } } } else { /* Form x := inv( A' )*x. */ if (template_blas_lsame(uplo, "U")) { kk = 1; if (*incx == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { temp = x[j]; k = kk; i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { temp -= ap[k] * x[i__]; ++k; /* L90: */ } if (nounit) { temp /= ap[kk + j - 1]; } x[j] = temp; kk += j; /* L100: */ } } else { jx = kx; i__1 = *n; for (j = 1; j <= i__1; ++j) { temp = x[jx]; ix = kx; i__2 = kk + j - 2; for (k = kk; k <= i__2; ++k) { temp -= ap[k] * x[ix]; ix += *incx; /* L110: */ } if (nounit) { temp /= ap[kk + j - 1]; } x[jx] = temp; jx += *incx; kk += j; /* L120: */ } } } else { kk = *n * (*n + 1) / 2; if (*incx == 1) { for (j = *n; j >= 1; --j) { temp = x[j]; k = kk; i__1 = j + 1; for (i__ = *n; i__ >= i__1; --i__) { temp -= ap[k] * x[i__]; --k; /* L130: */ } if (nounit) { temp /= ap[kk - *n + j]; } x[j] = temp; kk -= *n - j + 1; /* L140: */ } } else { kx += (*n - 1) * *incx; jx = kx; for (j = *n; j >= 1; --j) { temp = x[jx]; ix = kx; i__1 = kk - (*n - (j + 1)); for (k = kk; k >= i__1; --k) { temp -= ap[k] * x[ix]; ix -= *incx; /* L150: */ } if (nounit) { temp /= ap[kk - *n + j]; } x[jx] = temp; jx -= *incx; kk -= *n - j + 1; /* L160: */ } } } } return 0; /* End of DTPSV . */ } /* dtpsv_ */ #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_trsm.h0000664000175000017500000003124112743400307022146 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_TRSM_HEADER #define TEMPLATE_BLAS_TRSM_HEADER #include "template_blas_common.h" template int template_blas_trsm(const char *side, const char *uplo, const char *transa, const char *diag, const integer *m, const integer *n, const Treal *alpha, const Treal *a, const integer * lda, Treal *b, const integer *ldb) { /* System generated locals */ integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2, i__3; /* Local variables */ integer info; Treal temp; integer i__, j, k; logical lside; integer nrowa; logical upper; logical nounit; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] #define b_ref(a_1,a_2) b[(a_2)*b_dim1 + a_1] /* Purpose ======= DTRSM solves one of the matrix equations op( A )*X = alpha*B, or X*op( A ) = alpha*B, where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = A'. The matrix X is overwritten on B. Parameters ========== SIDE - CHARACTER*1. On entry, SIDE specifies whether op( A ) appears on the left or right of X as follows: SIDE = 'L' or 'l' op( A )*X = alpha*B. SIDE = 'R' or 'r' X*op( A ) = alpha*B. Unchanged on exit. UPLO - CHARACTER*1. On entry, UPLO specifies whether the matrix A is an upper or lower triangular matrix as follows: UPLO = 'U' or 'u' A is an upper triangular matrix. UPLO = 'L' or 'l' A is a lower triangular matrix. Unchanged on exit. TRANSA - CHARACTER*1. On entry, TRANSA specifies the form of op( A ) to be used in the matrix multiplication as follows: TRANSA = 'N' or 'n' op( A ) = A. TRANSA = 'T' or 't' op( A ) = A'. TRANSA = 'C' or 'c' op( A ) = A'. Unchanged on exit. DIAG - CHARACTER*1. On entry, DIAG specifies whether or not A is unit triangular as follows: DIAG = 'U' or 'u' A is assumed to be unit triangular. DIAG = 'N' or 'n' A is not assumed to be unit triangular. Unchanged on exit. M - INTEGER. On entry, M specifies the number of rows of B. M must be at least zero. Unchanged on exit. N - INTEGER. On entry, N specifies the number of columns of B. N must be at least zero. Unchanged on exit. ALPHA - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. When alpha is zero then A is not referenced and B need not be set before entry. Unchanged on exit. A - DOUBLE PRECISION array of DIMENSION ( LDA, k ), where k is m when SIDE = 'L' or 'l' and is n when SIDE = 'R' or 'r'. Before entry with UPLO = 'U' or 'u', the leading k by k upper triangular part of the array A must contain the upper triangular matrix and the strictly lower triangular part of A is not referenced. Before entry with UPLO = 'L' or 'l', the leading k by k lower triangular part of the array A must contain the lower triangular matrix and the strictly upper triangular part of A is not referenced. Note that when DIAG = 'U' or 'u', the diagonal elements of A are not referenced either, but are assumed to be unity. Unchanged on exit. LDA - INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. When SIDE = 'L' or 'l' then LDA must be at least max( 1, m ), when SIDE = 'R' or 'r' then LDA must be at least max( 1, n ). Unchanged on exit. B - DOUBLE PRECISION array of DIMENSION ( LDB, n ). Before entry, the leading m by n part of the array B must contain the right-hand side matrix B, and on exit is overwritten by the solution matrix X. LDB - INTEGER. On entry, LDB specifies the first dimension of B as declared in the calling (sub) program. LDB must be at least max( 1, m ). Unchanged on exit. Level 3 Blas routine. -- Written on 8-February-1989. Jack Dongarra, Argonne National Laboratory. Iain Duff, AERE Harwell. Jeremy Du Croz, Numerical Algorithms Group Ltd. Sven Hammarling, Numerical Algorithms Group Ltd. Test the input parameters. Parameter adjustments */ a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; b_dim1 = *ldb; b_offset = 1 + b_dim1 * 1; b -= b_offset; /* Function Body */ lside = template_blas_lsame(side, "L"); if (lside) { nrowa = *m; } else { nrowa = *n; } nounit = template_blas_lsame(diag, "N"); upper = template_blas_lsame(uplo, "U"); info = 0; if (! lside && ! template_blas_lsame(side, "R")) { info = 1; } else if (! upper && ! template_blas_lsame(uplo, "L")) { info = 2; } else if (! template_blas_lsame(transa, "N") && ! template_blas_lsame(transa, "T") && ! template_blas_lsame(transa, "C")) { info = 3; } else if (! template_blas_lsame(diag, "U") && ! template_blas_lsame(diag, "N")) { info = 4; } else if (*m < 0) { info = 5; } else if (*n < 0) { info = 6; } else if (*lda < maxMACRO(1,nrowa)) { info = 9; } else if (*ldb < maxMACRO(1,*m)) { info = 11; } if (info != 0) { template_blas_erbla("TRSM ", &info); return 0; } /* Quick return if possible. */ if (*n == 0) { return 0; } /* And when alpha.eq.zero. */ if (*alpha == 0.) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = 0.; /* L10: */ } /* L20: */ } return 0; } /* Start the operations. */ if (lside) { if (template_blas_lsame(transa, "N")) { /* Form B := alpha*inv( A )*B. */ if (upper) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (*alpha != 1.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = *alpha * b_ref(i__, j); /* L30: */ } } for (k = *m; k >= 1; --k) { if (b_ref(k, j) != 0.) { if (nounit) { b_ref(k, j) = b_ref(k, j) / a_ref(k, k); } i__2 = k - 1; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = b_ref(i__, j) - b_ref(k, j) * a_ref(i__, k); /* L40: */ } } /* L50: */ } /* L60: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (*alpha != 1.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = *alpha * b_ref(i__, j); /* L70: */ } } i__2 = *m; for (k = 1; k <= i__2; ++k) { if (b_ref(k, j) != 0.) { if (nounit) { b_ref(k, j) = b_ref(k, j) / a_ref(k, k); } i__3 = *m; for (i__ = k + 1; i__ <= i__3; ++i__) { b_ref(i__, j) = b_ref(i__, j) - b_ref(k, j) * a_ref(i__, k); /* L80: */ } } /* L90: */ } /* L100: */ } } } else { /* Form B := alpha*inv( A' )*B. */ if (upper) { i__1 = *n; for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { temp = *alpha * b_ref(i__, j); i__3 = i__ - 1; for (k = 1; k <= i__3; ++k) { temp -= a_ref(k, i__) * b_ref(k, j); /* L110: */ } if (nounit) { temp /= a_ref(i__, i__); } b_ref(i__, j) = temp; /* L120: */ } /* L130: */ } } else { i__1 = *n; for (j = 1; j <= i__1; ++j) { for (i__ = *m; i__ >= 1; --i__) { temp = *alpha * b_ref(i__, j); i__2 = *m; for (k = i__ + 1; k <= i__2; ++k) { temp -= a_ref(k, i__) * b_ref(k, j); /* L140: */ } if (nounit) { temp /= a_ref(i__, i__); } b_ref(i__, j) = temp; /* L150: */ } /* L160: */ } } } } else { if (template_blas_lsame(transa, "N")) { /* Form B := alpha*B*inv( A ). */ if (upper) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (*alpha != 1.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = *alpha * b_ref(i__, j); /* L170: */ } } i__2 = j - 1; for (k = 1; k <= i__2; ++k) { if (a_ref(k, j) != 0.) { i__3 = *m; for (i__ = 1; i__ <= i__3; ++i__) { b_ref(i__, j) = b_ref(i__, j) - a_ref(k, j) * b_ref(i__, k); /* L180: */ } } /* L190: */ } if (nounit) { temp = 1. / a_ref(j, j); i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = temp * b_ref(i__, j); /* L200: */ } } /* L210: */ } } else { for (j = *n; j >= 1; --j) { if (*alpha != 1.) { i__1 = *m; for (i__ = 1; i__ <= i__1; ++i__) { b_ref(i__, j) = *alpha * b_ref(i__, j); /* L220: */ } } i__1 = *n; for (k = j + 1; k <= i__1; ++k) { if (a_ref(k, j) != 0.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = b_ref(i__, j) - a_ref(k, j) * b_ref(i__, k); /* L230: */ } } /* L240: */ } if (nounit) { temp = 1. / a_ref(j, j); i__1 = *m; for (i__ = 1; i__ <= i__1; ++i__) { b_ref(i__, j) = temp * b_ref(i__, j); /* L250: */ } } /* L260: */ } } } else { /* Form B := alpha*B*inv( A' ). */ if (upper) { for (k = *n; k >= 1; --k) { if (nounit) { temp = 1. / a_ref(k, k); i__1 = *m; for (i__ = 1; i__ <= i__1; ++i__) { b_ref(i__, k) = temp * b_ref(i__, k); /* L270: */ } } i__1 = k - 1; for (j = 1; j <= i__1; ++j) { if (a_ref(j, k) != 0.) { temp = a_ref(j, k); i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, j) = b_ref(i__, j) - temp * b_ref( i__, k); /* L280: */ } } /* L290: */ } if (*alpha != 1.) { i__1 = *m; for (i__ = 1; i__ <= i__1; ++i__) { b_ref(i__, k) = *alpha * b_ref(i__, k); /* L300: */ } } /* L310: */ } } else { i__1 = *n; for (k = 1; k <= i__1; ++k) { if (nounit) { temp = 1. / a_ref(k, k); i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, k) = temp * b_ref(i__, k); /* L320: */ } } i__2 = *n; for (j = k + 1; j <= i__2; ++j) { if (a_ref(j, k) != 0.) { temp = a_ref(j, k); i__3 = *m; for (i__ = 1; i__ <= i__3; ++i__) { b_ref(i__, j) = b_ref(i__, j) - temp * b_ref( i__, k); /* L330: */ } } /* L340: */ } if (*alpha != 1.) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { b_ref(i__, k) = *alpha * b_ref(i__, k); /* L350: */ } } /* L360: */ } } } } return 0; /* End of DTRSM . */ } /* dtrsm_ */ #undef b_ref #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_ger.h0000664000175000017500000001332312743400307021737 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_GER_HEADER #define TEMPLATE_BLAS_GER_HEADER template int template_blas_ger(const integer *m, const integer *n, const Treal *alpha, const Treal *x, const integer *incx, const Treal *y, const integer *incy, Treal *a, const integer *lda) { /* System generated locals */ integer a_dim1, a_offset, i__1, i__2; /* Local variables */ integer info; Treal temp; integer i__, j, ix, jy, kx; #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] /* Purpose ======= DGER performs the rank 1 operation A := alpha*x*y' + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix. Parameters ========== M - INTEGER. On entry, M specifies the number of rows of the matrix A. M must be at least zero. Unchanged on exit. N - INTEGER. On entry, N specifies the number of columns of the matrix A. N must be at least zero. Unchanged on exit. ALPHA - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. Unchanged on exit. X - DOUBLE PRECISION array of dimension at least ( 1 + ( m - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the m element vector x. Unchanged on exit. INCX - INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit. Y - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCY ) ). Before entry, the incremented array Y must contain the n element vector y. Unchanged on exit. INCY - INTEGER. On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. Unchanged on exit. A - DOUBLE PRECISION array of DIMENSION ( LDA, n ). Before entry, the leading m by n part of the array A must contain the matrix of coefficients. On exit, A is overwritten by the updated matrix. LDA - INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, m ). Unchanged on exit. Level 2 Blas routine. -- Written on 22-October-1986. Jack Dongarra, Argonne National Lab. Jeremy Du Croz, Nag Central Office. Sven Hammarling, Nag Central Office. Richard Hanson, Sandia National Labs. Test the input parameters. Parameter adjustments */ --x; --y; a_dim1 = *lda; a_offset = 1 + a_dim1 * 1; a -= a_offset; /* Function Body */ info = 0; if (*m < 0) { info = 1; } else if (*n < 0) { info = 2; } else if (*incx == 0) { info = 5; } else if (*incy == 0) { info = 7; } else if (*lda < maxMACRO(1,*m)) { info = 9; } if (info != 0) { template_blas_erbla("GER ", &info); return 0; } /* Quick return if possible. */ if (*m == 0 || *n == 0 || *alpha == 0.) { return 0; } /* Start the operations. In this version the elements of A are accessed sequentially with one pass through A. */ if (*incy > 0) { jy = 1; } else { jy = 1 - (*n - 1) * *incy; } if (*incx == 1) { i__1 = *n; for (j = 1; j <= i__1; ++j) { if (y[jy] != 0.) { temp = *alpha * y[jy]; i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { a_ref(i__, j) = a_ref(i__, j) + x[i__] * temp; /* L10: */ } } jy += *incy; /* L20: */ } } else { if (*incx > 0) { kx = 1; } else { kx = 1 - (*m - 1) * *incx; } i__1 = *n; for (j = 1; j <= i__1; ++j) { if (y[jy] != 0.) { temp = *alpha * y[jy]; ix = kx; i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { a_ref(i__, j) = a_ref(i__, j) + x[ix] * temp; ix += *incx; /* L30: */ } } jy += *incy; /* L40: */ } } return 0; /* End of DGER . */ } /* dger_ */ #undef a_ref #endif ergo-3.5/source/matrix/template_lapack/blas/template_blas_axpy.h0000664000175000017500000000621512743400307022145 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* This file belongs to the template_lapack part of the Ergo source * code. The source files in the template_lapack directory are modified * versions of files originally distributed as CLAPACK, see the * Copyright/license notice in the file template_lapack/COPYING. */ #ifndef TEMPLATE_BLAS_AXPY_HEADER #define TEMPLATE_BLAS_AXPY_HEADER #include "template_blas_common.h" template int template_blas_axpy(const integer *n, const Treal *da, const Treal *dx, const integer *incx, Treal *dy, const integer *incy) { /* System generated locals */ integer i__1; /* Local variables */ integer i__, m, ix, iy, mp1; /* constant times a vector plus a vector. uses unrolled loops for increments equal to one. jack dongarra, linpack, 3/11/78. modified 12/3/93, array(1) declarations changed to array(*) Parameter adjustments */ --dy; --dx; /* Function Body */ if (*n <= 0) { return 0; } if (*da == 0.) { return 0; } if (*incx == 1 && *incy == 1) { goto L20; } /* code for unequal increments or equal increments not equal to 1 */ ix = 1; iy = 1; if (*incx < 0) { ix = (-(*n) + 1) * *incx + 1; } if (*incy < 0) { iy = (-(*n) + 1) * *incy + 1; } i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { dy[iy] += *da * dx[ix]; ix += *incx; iy += *incy; /* L10: */ } return 0; /* code for both increments equal to 1 clean-up loop */ L20: m = *n % 4; if (m == 0) { goto L40; } i__1 = m; for (i__ = 1; i__ <= i__1; ++i__) { dy[i__] += *da * dx[i__]; /* L30: */ } if (*n < 4) { return 0; } L40: mp1 = m + 1; i__1 = *n; for (i__ = mp1; i__ <= i__1; i__ += 4) { dy[i__] += *da * dx[i__]; dy[i__ + 1] += *da * dx[i__ + 1]; dy[i__ + 2] += *da * dx[i__ + 2]; dy[i__ + 3] += *da * dx[i__ + 3]; /* L50: */ } return 0; } /* daxpy_ */ #endif ergo-3.5/source/matrix/template_lapack/Makefile.in0000664000175000017500000004253112743400352017244 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/matrix/template_lapack ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in COPYING DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = \ blas \ lapack EXTRA_DIST = \ COPYING all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/matrix/template_lapack/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/matrix/template_lapack/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic cscopelist-am ctags ctags-am \ distclean distclean-generic distclean-tags distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/matrix/template_lapack/Makefile.am0000664000175000017500000000007412743400275017233 00000000000000SUBDIRS = \ blas \ lapack EXTRA_DIST = \ COPYING ergo-3.5/source/matrix/template_lapack/COPYING0000664000175000017500000000402712743400275016234 00000000000000COPYING file for the Ergo template_lapack source code. This file must be included with any redistribution of the template_lapack part of the Ergo source code. The source files in the template_lapack directory are modified versions of files originally distributed as CLAPACK with the Copyright/license notice given below. ===== Copyright/license notice from The University of Tennessee ===== Copyright (c) 1992-2008 The University of Tennessee. All rights reserved. $COPYRIGHT$ Additional copyrights may follow $HEADER$ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer listed in this license in the documentation and/or other materials provided with the distribution. - Neither the name of the copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ===================================================================== ergo-3.5/source/matrix/allocate.cc0000664000175000017500000000341712743400307014144 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "allocate.h" #include "AllocatorManager.h" namespace mat{ /* float */ template<> float* allocateElements(int n) { return AllocatorManager::instance().alloc(n); } template<> void freeElements(float* ptr) { AllocatorManager::instance().free(ptr); } /* double */ template<> double* allocateElements(int n) { return AllocatorManager::instance().alloc(n); } template<> void freeElements(double* ptr) { AllocatorManager::instance().free(ptr); } } /* end namespace mat */ ergo-3.5/source/matrix/atoms.txt0000664000175000017500000000566112743400275013744 00000000000000 0.0000000 0.0000000 0.0000000 0 0.0000000 0.0000000 2.8534865 5 -2.1602480 -0.0000000 6.8597059 10 -4.8500615 0.0000000 7.8122185 15 -7.9053858 0.0000000 11.1858616 20 -7.9053858 0.0000000 14.0393480 25 -10.0656319 -0.0000000 18.0455674 30 -12.7554473 0.0000000 18.9980801 35 -15.8107698 0.0000000 22.3717231 40 -15.8107698 0.0000000 25.2252096 45 -17.9710177 -0.0000000 29.2314290 50 -20.6608312 0.0000000 30.1839417 55 -23.7161556 0.0000000 33.5575847 60 -23.7161556 0.0000000 36.4110712 65 -25.8764017 -0.0000000 40.4172906 70 -28.5662171 0.0000000 41.3698033 75 -31.6215414 0.0000000 44.7434444 80 -31.6215414 0.0000000 47.5969309 85 -33.7817875 -0.0000000 51.6031503 90 -36.4716029 0.0000000 52.5556648 95 2.6007488 0.0000000 -0.9209731 100 -2.1602480 0.0000000 4.1007057 105 -5.3046370 0.0000000 10.2648884 110 -10.0656319 0.0000000 15.2865673 115 -13.2100228 0.0000000 21.4507500 120 -17.9710177 0.0000000 26.4724289 125 -21.1154068 0.0000000 32.6366116 130 -25.8764017 0.0000000 37.6582904 135 -29.0207926 0.0000000 43.8224713 140 -33.7817875 0.0000000 48.8441501 145 2.0293240 0.0000000 4.0251167 150 -6.6318918 0.0000000 6.2903937 155 -5.8760618 -0.0000000 15.2109782 160 -14.5372758 0.0000000 17.4762553 165 -13.7814477 -0.0000000 26.3968398 170 -22.4426616 0.0000000 28.6621150 175 -21.6868316 -0.0000000 37.5827014 180 -30.3480474 0.0000000 39.8479766 185 -29.5922174 -0.0000000 48.7685611 190 -38.2534313 0.0000000 51.0338381 195 -36.9523511 0.0000000 55.1495483 200 -0.9717180 1.6830638 -0.6882061 205 -0.9717180 -1.6830638 -0.6882061 206 3.4516660 1.5364154 -0.1500216 207 3.4516660 -1.5364154 -0.1500216 208 -3.8213456 0.0000000 3.1416697 209 -1.1885300 1.6830638 7.5479120 210 -1.1885300 -1.6830638 7.5479120 211 -3.8461237 -0.0000000 11.5105770 212 -8.8784833 1.6830638 10.4996075 213 -8.8784833 -1.6830638 10.4996075 214 -11.7267314 0.0000000 14.3275313 215 -9.0939140 1.6830638 18.7337736 216 -9.0939140 -1.6830638 18.7337736 217 -11.7515095 -0.0000000 22.6964367 218 -16.7838691 1.6830638 21.6854691 219 -16.7838691 -1.6830638 21.6854691 220 -19.6321173 0.0000000 25.5133928 221 -16.9992998 1.6830638 29.9196351 222 -16.9992998 -1.6830638 29.9196351 223 -19.6568935 -0.0000000 33.8822983 224 -24.6892530 1.6830638 32.8713307 225 -24.6892530 -1.6830638 32.8713307 226 -27.5375012 0.0000000 36.6992544 227 -24.9046856 1.6830638 41.1054967 228 -24.9046856 -1.6830638 41.1054967 229 -27.5622793 -0.0000000 45.0681598 230 -32.5946389 1.6830638 44.0571922 231 -32.5946389 -1.6830638 44.0571922 232 -35.4428870 0.0000000 47.8851141 233 -32.8100695 1.6830638 52.2913583 234 -32.8100695 -1.6830638 52.2913583 235 -38.7608946 0.0000000 55.2918825 236 ergo-3.5/source/matrix/truncation.h0000664000175000017500000003702212743400307014407 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file truncation.h Classes for truncation of small matrix elements. * * Copyright(c) Emanuel Rubensson 2010 * * @author Emanuel Rubensson * @date April 2010 * * Most of this is essentially code that used to lie in * MatrixSymmetric.h somewhat rewritten for better structure and * reusability. * * */ #ifndef MAT_TRUNCATION #define MAT_TRUNCATION #include #include #include namespace mat { /* Matrix namespace */ // Stuff for Euclidean norm based truncation template class EuclTruncationBase { public: explicit EuclTruncationBase( Tmatrix & A_ ); Treal run(Treal const threshold); virtual ~EuclTruncationBase() {} protected: virtual void getFrobTruncBounds( Treal & lowTrunc, Treal & highTrunc, Treal const threshold ) = 0; virtual void getFrobSqNorms( std::vector & frobsq_norms ) = 0; virtual void frobThreshLowLevel( Treal const threshold ) = 0; virtual Interval euclIfSmall( Treal const absTol, Treal const threshold ) = 0; Tmatrix & A; // Matrix to be truncated Tmatrix E; // Error matrix }; template EuclTruncationBase::EuclTruncationBase( Tmatrix & A_ ) : A(A_) { SizesAndBlocks rows; SizesAndBlocks cols; A.getRows(rows); A.getCols(cols); E.resetSizesAndBlocks(rows, cols); } template Treal EuclTruncationBase::run( Treal const threshold ) { assert(threshold >= (Treal)0.0); if (threshold == (Treal)0.0) return (Treal)0; std::vector frobsq_norms; this->getFrobSqNorms( frobsq_norms ); /*=======*/ std::sort(frobsq_norms.begin(), frobsq_norms.end()); int low = -1; int high = frobsq_norms.size() - 1; Treal lowFrobTrunc, highFrobTrunc; this->getFrobTruncBounds( lowFrobTrunc, highFrobTrunc, threshold ); /*=======*/ Treal frobsqSum = 0; while( low < (int)frobsq_norms.size() - 1 && frobsqSum < lowFrobTrunc ) { ++low; frobsqSum += frobsq_norms[low]; } high = low; /* Removing all tom high is to much */ --low; while( high < (int)frobsq_norms.size() - 1 && frobsqSum < highFrobTrunc ) { ++high; frobsqSum += frobsq_norms[high]; } // Now we have low and high int minStep = int( 0.01 * frobsq_norms.size() ); // Consider elements in chunks of at least 1 percent of all elements at a time to not get too many iterations minStep = minStep > 0 ? minStep : 1; // step is at least one int testIndex = high; int previousTestIndex = high * 2; // Now, removing everything up to and including testIndex is too much Interval euclEInt(0, threshold * 2); // We go from above (too many elements in the error matrix) and stop as soon as the error matrix is small enough while ( euclEInt.upp() > threshold ) { // Removing everything up to and including testIndex is too much, update high: high = testIndex; int stepSize = (int)((high - low) * 0.01); // We can accept that only 99% of elements possible to remove are removed // stepSize must be at least minStep: stepSize = stepSize >= minStep ? stepSize : minStep; previousTestIndex = testIndex; testIndex -= stepSize; // testIndex cannot be smaller than low testIndex = testIndex > low ? testIndex : low; /* Now we have decided the testIndex we would like to use. However, we must be careful to handle the case when there are several identical values in the frobsq_norms list. In that case we use a modified value. */ while(testIndex >= 0 && frobsq_norms[testIndex] == frobsq_norms[testIndex+1]) testIndex--; /* Note that because of the above while loop, at this point it is possible that testIndex < low. */ if ( testIndex < 0 ) // testIndex == -1, we have to break break; assert( previousTestIndex != testIndex ); Treal currentFrobTrunc = frobsq_norms[testIndex]; frobThreshLowLevel( currentFrobTrunc ); /*=======*/ euclEInt = euclIfSmall( Treal(threshold * 1e-2), threshold ); /*=======*/ // Now we have an interval containing the Euclidean norm of E for the current testIndex } // end while Treal euclE; if ( testIndex <= -1 ) { frobThreshLowLevel( (Treal)0.0 ); /*=======*/ euclE = 0; } else { euclE = euclEInt.upp(); } return euclE; } // end run /** Truncation of symmetric matrices * * */ template class EuclTruncationSymm : public EuclTruncationBase { public: explicit EuclTruncationSymm( Tmatrix & A_ ) : EuclTruncationBase(A_) {} protected: virtual void getFrobTruncBounds( Treal & lowTrunc, Treal & highTrunc, Treal const threshold ); virtual void getFrobSqNorms( std::vector & frobsq_norms ); virtual void frobThreshLowLevel( Treal const threshold ); virtual Interval euclIfSmall( Treal const absTol, Treal const threshold ); }; // end class EuclTruncationSymm template void EuclTruncationSymm::getFrobTruncBounds( Treal & lowTrunc, Treal & highTrunc, Treal const threshold ) { /* Divide by 2 because of symmetry */ lowTrunc = (threshold * threshold) / 2; highTrunc = (threshold * threshold * this->A.get_nrows()) / 2; } template void EuclTruncationSymm::getFrobSqNorms( std::vector & frobsq_norms ) { this->A.getMatrix().getFrobSqLowestLevel(frobsq_norms); } template void EuclTruncationSymm::frobThreshLowLevel( Treal const threshold ) { this->A.getMatrix().frobThreshLowestLevel( threshold, &this->E.getMatrix() ); } template Interval EuclTruncationSymm::euclIfSmall( Treal const absTol, Treal const threshold ) { Treal relTol = std::sqrt(std::sqrt(std::numeric_limits::epsilon())); Interval tmpInterval = mat::euclIfSmall(this->E, absTol, relTol, threshold); if ( tmpInterval.length() < 2*absTol ) return Interval( tmpInterval.midPoint()-absTol, tmpInterval.midPoint()+absTol ); return tmpInterval; } /** Truncation of symmetric matrices with Z * * Truncation of a symmetric matrix A giving a truncated matrix B = * A + E such that the norm of the congruently transformed error * matrix ||Z^T * E * Z||_2 < threshold */ template class EuclTruncationSymmWithZ : public EuclTruncationSymm { public: EuclTruncationSymmWithZ( Tmatrix & A_, TmatrixZ const & Z_ ) : EuclTruncationSymm(A_), Z(Z_) {} protected: virtual void getFrobTruncBounds( Treal & lowTrunc, Treal & highTrunc, Treal const threshold ); // getFrobSqNorms(...) from EuclTruncationSymm // frobThreshLowLevel(...) from EuclTruncationSymm virtual Interval euclIfSmall( Treal const absTol, Treal const threshold ); TmatrixZ const & Z; }; // end class EuclTruncationSymmWithZ template void EuclTruncationSymmWithZ::getFrobTruncBounds( Treal & lowTrunc, Treal & highTrunc, Treal const threshold ) { Treal Zfrob = Z.frob(); Treal thresholdTakingZIntoAccount = threshold / (Zfrob * Zfrob); /* Divide by 2 because of symmetry */ lowTrunc = thresholdTakingZIntoAccount * thresholdTakingZIntoAccount / 2.0; highTrunc = std::numeric_limits::max(); } template Interval EuclTruncationSymmWithZ::euclIfSmall( Treal const absTol, Treal const threshold ) { Treal relTol = std::sqrt(std::sqrt(std::numeric_limits::epsilon())); mat::TripleMatrix ErrMatTriple( this->E, Z); Interval tmpInterval = mat::euclIfSmall(ErrMatTriple, absTol, relTol, threshold); if ( tmpInterval.length() < 2*absTol ) return Interval( tmpInterval.midPoint()-absTol, tmpInterval.midPoint()+absTol ); return tmpInterval; } /** Truncation of symmetric matrices at the element level (used for mixed norm truncation) * * Works as EuclTruncationSymm but goes all the way to single matrix * elements. That is, it moves single matrix elements to and from * the error matrix. */ template class EuclTruncationSymmElementLevel : public EuclTruncationSymm { public: explicit EuclTruncationSymmElementLevel( Tmatrix & A_ ) : EuclTruncationSymm(A_) {} protected: // getFrobTruncBounds(...) from EuclTruncationSymm virtual void getFrobSqNorms( std::vector & frobsq_norms ); virtual void frobThreshLowLevel( Treal const threshold ); // Interval euclIfSmall(...) from EuclTruncationSymm }; // end class EuclTruncationSymmElementLevel template void EuclTruncationSymmElementLevel::getFrobSqNorms( std::vector & frobsq_norms ) { this->A.getMatrix().getFrobSqElementLevel(frobsq_norms); } template void EuclTruncationSymmElementLevel::frobThreshLowLevel( Treal const threshold ) { this->A.getMatrix().frobThreshElementLevel(threshold, &this->E.getMatrix() ); } /** Truncation of general matrices * * */ template class EuclTruncationGeneral : public EuclTruncationBase { public: explicit EuclTruncationGeneral( Tmatrix & A_ ) : EuclTruncationBase(A_) {} protected: virtual void getFrobTruncBounds( Treal & lowTrunc, Treal & highTrunc, Treal const threshold ); virtual void getFrobSqNorms( std::vector & frobsq_norms ); virtual void frobThreshLowLevel( Treal const threshold ); virtual Interval euclIfSmall( Treal const absTol, Treal const threshold ); }; // end class EuclTruncationGeneral template void EuclTruncationGeneral::getFrobTruncBounds( Treal & lowTrunc, Treal & highTrunc, Treal const threshold ) { // Try to improve bounds based on the Frobenius norm /* ||E||_F^2 <= thres^2 -> * ||E||_F <= thres -> * ||E||_2 <= thresh */ lowTrunc = (threshold * threshold); /* ||E||_F^2 >= thres^2 * n -> * ||E||_F >= thres * sqrt(n) -> * ||E||_2 >= thresh */ highTrunc = (threshold * threshold * this->A.get_nrows()); } template void EuclTruncationGeneral::getFrobSqNorms( std::vector & frobsq_norms ) { this->A.getMatrix().getFrobSqLowestLevel(frobsq_norms); } template void EuclTruncationGeneral::frobThreshLowLevel( Treal const threshold ) { this->A.getMatrix().frobThreshLowestLevel( threshold, &this->E.getMatrix() ); } template Interval EuclTruncationGeneral::euclIfSmall( Treal const absTol, Treal const threshold ) { // FIXME: this should be changed (for all trunc classes) so that // some relative precision is always requested instead of the input // absTol which in the current case is not used(!) mat::ATAMatrix EtE(this->E); Treal absTolDummy = std::numeric_limits::max(); // Treal(threshold * 1e-2) Treal relTol = 100 * std::numeric_limits::epsilon(); Interval tmpInterval = mat::euclIfSmall(EtE, absTolDummy, relTol, threshold); tmpInterval = Interval( std::sqrt(tmpInterval.low()), std::sqrt(tmpInterval.upp()) ); if ( tmpInterval.length() < 2*absTol ) return Interval( tmpInterval.midPoint()-absTol, tmpInterval.midPoint()+absTol ); return tmpInterval; } /** Truncation of general matrices with impact on matrix triple multiply as error measure * * Truncation of a matrix A giving a truncated matrix At = * A + E such that the norm of the congruently transformed error * matrix ||E^T * B * E + E^T * B * A + A^T * B * E||_2 < threshold */ template class EuclTruncationCongrTransMeasure : public EuclTruncationGeneral { public: EuclTruncationCongrTransMeasure( Tmatrix & A_, TmatrixB const & B_ ) : EuclTruncationGeneral(A_), B(B_) {} protected: virtual void getFrobTruncBounds( Treal & lowTrunc, Treal & highTrunc, Treal const threshold ); // getFrobSqNorms(...) from EuclTruncationGeneral // frobThreshLowLevel(...) from EuclTruncationGeneral virtual Interval euclIfSmall( Treal const absTol, Treal const threshold ); TmatrixB const & B; }; // end class EuclTruncationCongrTransMeasure template void EuclTruncationCongrTransMeasure::getFrobTruncBounds( Treal & lowTrunc, Treal & highTrunc, Treal const threshold ) { Treal Afrob = this->A.frob(); Treal Bfrob = B.frob(); Treal tmp = -Afrob + std::sqrt( Afrob*Afrob + threshold / Bfrob ); lowTrunc = tmp*tmp; highTrunc = std::numeric_limits::max(); } template Interval EuclTruncationCongrTransMeasure::euclIfSmall( Treal const absTol, Treal const threshold ) { Treal relTol = std::sqrt(std::sqrt(std::numeric_limits::epsilon())); mat::CongrTransErrorMatrix ErrMatTriple( B, this->A, this->E ); Interval tmpInterval = mat::euclIfSmall(ErrMatTriple, absTol, relTol, threshold); if ( tmpInterval.length() < 2*absTol ) { return Interval( tmpInterval.midPoint()-absTol, tmpInterval.midPoint()+absTol ); } return tmpInterval; } } /* end namespace mat */ #endif ergo-3.5/source/matrix/gemm_sse/0000775000175000017500000000000012743400365013727 500000000000000ergo-3.5/source/matrix/gemm_sse/g_intrin.h0000664000175000017500000000641312743400307015631 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef G_INTRIN #define G_INTRIN #include #ifdef __SSE3__ #include #endif /* Interface to load functions. */ /* load_p */ template inline static Treg _mm_load_p (Treal const * ptr); inline static __m128 _mm_load_p (float const * ptr) { return _mm_load_ps (ptr); } inline static __m128d _mm_load_p (double const * ptr) { return _mm_load_pd (ptr); } /* load1_p */ template inline static Treg _mm_load1_p (Treal const * ptr); inline static __m128 _mm_load1_p (float const * ptr) { return _mm_load1_ps (ptr); } inline static __m128d _mm_load1_p (double const * ptr) { return _mm_load1_pd (ptr); } /* set1_p */ template inline static Treg _mm_set1_p (Treal const val); inline static __m128 _mm_set1_p (float const val) { return _mm_set1_ps (val); } inline static __m128d _mm_set1_p (double const val) { return _mm_set1_pd (val); } /* Interface to store functions. */ template inline static void _mm_store_p (Treal * ptr, Treg A); inline static void _mm_store_p (float * ptr, __m128 A) { _mm_store_ps (ptr, A); } inline static void _mm_store_p (double * ptr, __m128d A) { _mm_store_pd (ptr, A); } /* Interface to add functions. */ template inline static Treg _mm_add_p (Treg A, Treg B); inline static __m128 _mm_add_p (__m128 A, __m128 B) { return _mm_add_ps(A, B); } inline static __m128d _mm_add_p (__m128d A, __m128d B) { return _mm_add_pd(A, B); } /* Interface to mul functions. */ template inline static Treg _mm_mul_p (Treg A, Treg B); inline static __m128 _mm_mul_p (__m128 A, __m128 B) { return _mm_mul_ps(A, B); } inline static __m128d _mm_mul_p (__m128d A, __m128d B) { return _mm_mul_pd(A, B); } /* pxor */ template inline static Treg _mm_xor_p (Treg A, Treg B); inline static __m128 _mm_xor_p (__m128 A, __m128 B) { return _mm_xor_ps(A, B); } inline static __m128d _mm_xor_p (__m128d A, __m128d B) { return _mm_xor_pd(A, B); } #endif ergo-3.5/source/matrix/gemm_sse/mm_kernel_inner_sse2_A.h0000664000175000017500000003460112743400307020360 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* * Templates for efficient gemm kernels. * For architectures with SSE2 or higher. * * Copyright Emanuel Rubensson, 2009 * * * * */ #ifndef MM_KERNEL_INNER_SSE2_A_H #define MM_KERNEL_INNER_SSE2_A_H #include "common.h" #include "vector_intrin.h" /** Matrix multiplication template for architectures with SSE2 or higher * and compilers that support C++ intrinsics for access to SSE * instructions. * * Choice of template parameters: * - T_M and T_N should be chosen so that the T_M x T_N matrix C * fits in registers. For example T_M == T_N == 4 * - T_K should be chosen so that the generated code fits in L1 instruction cache. * For example T_K == 128. * - T_real and T_reg must go together. * Example: * - == * - == * * The public typedefs and static members specify how the matrices must be * stored. * */ template class MM_kernel_inner_sse2_A { public: typedef T_real real; /**< Real number type (usually float or double) */ static int const M = T_M; /**< Number of rows of A and C. */ static int const N = T_N; /**< Number of columns of B and C. */ static int const K = T_K; /**< Number of columns of A and rows of B. */ protected: static int const floats_per_register = ( sizeof(T_reg) / sizeof(real) ); /**< Number of real numbers that fit in one register. */ private: /** Template for packing of matrix elements. */ template class Pack; public: typedef Pack< M, K, Ordering_col_wise, 1 > Pack_type_A; /**< Type that can (should) be used to pack A. */ typedef Pack< K, N, Ordering_row_wise, floats_per_register > Pack_type_B; /**< Type that can (should) be used to pack B. */ typedef Pack< M, N, Ordering_col_wise, 1 > Pack_type_C; /**< Type that can (should) be used to pack C. */ // Consider passing derived class from std::vector as arguments // that have compile time constant length that can be checked at // compile time using static asserts /** Executes the matrix-matrix multiply C += A B with the three matrices A, B, and C * stored according to the static members and typedefs of this class. */ static void exec( real const * const * const A, real const * const * const B, real * const C, int const i = 1, int const offset_A = 0, int const offset_B = 0, int const offset_C = 0 ); template static void exec( real const * const * const A, real const * const * const B, real * const C, int const i = 1 ); protected: template struct Loop { static inline void ALWAYS_INLINE set_to_zero( Vector_intrin * X_reg ) { X_reg[T_loop_index].set_to_zero(); Loop::set_to_zero( X_reg ); } static inline void ALWAYS_INLINE inner( int const row_A_reg, // == row_C_reg int const row_B, Vector_intrin const & A_reg, Vector_intrin * C_reg, real const * B_packed ) { Vector_intrin B_reg; B_reg.load_p( &B_packed[row_B * T_N * floats_per_register + T_loop_index * floats_per_register] ); B_reg *= A_reg; C_reg[row_A_reg + T_loop_index * T_M / floats_per_register] += B_reg; Loop::inner( row_A_reg, row_B, A_reg, C_reg, B_packed ); } static inline void ALWAYS_INLINE middle( int const col_A, // == row_B Vector_intrin * C_reg, real const * A, real const * B_packed ) { Vector_intrin A_reg; A_reg.load_p( &A[col_A * T_M + T_loop_index * floats_per_register] ); // Loop over cols of B Loop<0, T_N>::inner( T_loop_index, // == row_A_reg == row_C_reg col_A, // == row_B A_reg, C_reg, B_packed ); Loop::middle( col_A, C_reg, A, B_packed ); } static inline void ALWAYS_INLINE outer( int const start_i, Vector_intrin * C_reg, real const * A, real const * B_packed ) { // Loop over (register) rows of A and C Loop<0, T_M/floats_per_register>::middle( start_i + T_loop_index, C_reg, A, B_packed ); Loop::outer( start_i, C_reg, A, B_packed ); } static inline void ALWAYS_INLINE add( Vector_intrin * X_reg, real const * X ) { X_reg[T_loop_index] += &X[T_loop_index * floats_per_register]; Loop::add( X_reg, X ); } static inline void ALWAYS_INLINE store( Vector_intrin const * X_reg, real * X ) { X_reg[T_loop_index].store_p( &X[T_loop_index * floats_per_register] ); Loop::store( X_reg, X ); } static inline void ALWAYS_INLINE multiple_loop( Vector_intrin * C_reg, real const * const * const A, real const * const * const B ) { // Loop over columns of A and rows of B^T Loop<0, T_K>::outer( 0, C_reg, A[T_loop_index], B[T_loop_index] ); Loop::multiple_loop( C_reg, A, B ); } }; template struct Loop { static inline void ALWAYS_INLINE set_to_zero( Vector_intrin * X_reg ) {} static inline void ALWAYS_INLINE inner( int const row_A_reg, // == row_C_reg int const row_B, Vector_intrin const & A_reg, Vector_intrin * C_reg, real const * B_packed ) {} static inline void ALWAYS_INLINE middle( int const col_A, // == row_B Vector_intrin * C_reg, real const * A, real const * B_packed ) {} static inline void ALWAYS_INLINE outer( int const start_i, Vector_intrin * C_reg, real const * A, real const * B_packed ) {} static inline void ALWAYS_INLINE add( Vector_intrin * X_reg, real const * X ) {} static inline void ALWAYS_INLINE store( Vector_intrin const * X_reg, real * X ) {} static inline void ALWAYS_INLINE multiple_loop( Vector_intrin * C_reg, real const * const * const A, real const * const * const B ) {} }; }; // Doesn't matter if inlined or not... same performance for 4, 4, 5 // IT DOES MATTER WHEN OUTER CONTROL STRUCTURE IS ADDED ON TOP!!! // THEN, INLINING IS BAD template void MM_kernel_inner_sse2_A::exec(real const * const * const A, real const * const * const B, real * const C, int const i, int const offset_A, int const offset_B, int const offset_C) { STATIC_ASSERT_DEBUG(!(T_M%floats_per_register), TEMPLATE_ARGUMENT_T_M_MUST_BE_MULTIPLE_OF_floats_per_register); Vector_intrin C_reg[T_M * T_N / floats_per_register]; MM_kernel_inner_sse2_A::template Loop<0, T_M * T_N / floats_per_register>::set_to_zero( C_reg ); #if 1 // I loose a bit performance because of the offsets for (int ind = 0; ind < i; ++ind) MM_kernel_inner_sse2_A::template Loop<0, T_K>::outer( 0, C_reg, A[ind] + offset_A, B[ind] + offset_B ); //// Loop over columns of A and rows of B^T // MM_kernel_inner_sse2_A::template Loop<0, T_K>::outer( 0, C_reg, A, B ); MM_kernel_inner_sse2_A::template Loop<0, T_M * T_N / floats_per_register>::add( C_reg, C + offset_C); MM_kernel_inner_sse2_A::template Loop<0, T_M * T_N / floats_per_register>::store( C_reg, C + offset_C); #else for (int ind = 0; ind < i; ++ind) MM_kernel_inner_sse2_A::template Loop<0, T_K>::outer( 0, C_reg, A[ind], B[ind] ); //// Loop over columns of A and rows of B^T // MM_kernel_inner_sse2_A::template Loop<0, T_K>::outer( 0, C_reg, A, B ); MM_kernel_inner_sse2_A::template Loop<0, T_M * T_N / floats_per_register>::add( C_reg, C); MM_kernel_inner_sse2_A::template Loop<0, T_M * T_N / floats_per_register>::store( C_reg, C); #endif } // end exec template template void MM_kernel_inner_sse2_A::exec( real const * const * const A, real const * const * const B, real * const C, int const i ) { STATIC_ASSERT_DEBUG(!(T_M%floats_per_register), TEMPLATE_ARGUMENT_T_M_MUST_BE_MULTIPLE_OF_floats_per_register); Vector_intrin C_reg[T_M * T_N / floats_per_register]; MM_kernel_inner_sse2_A::template Loop<0, T_M * T_N / floats_per_register>::set_to_zero( C_reg ); for (int ind = 0; ind < i; ++ind) MM_kernel_inner_sse2_A::template Loop<0, T_K>::outer( 0, C_reg, A[ind] + T_offset_A, B[ind] + T_offset_B ); //// Loop over columns of A and rows of B^T // MM_kernel_inner_sse2_A::template Loop<0, T_K>::outer( 0, C_reg, A, B ); MM_kernel_inner_sse2_A::template Loop<0, T_M * T_N / floats_per_register>::add( C_reg, C + T_offset_C); MM_kernel_inner_sse2_A::template Loop<0, T_M * T_N / floats_per_register>::store( C_reg, C + T_offset_C); } // end exec template /** Class template for packing of matrix elements prior to matrix-matrix multiply. */ template template class MM_kernel_inner_sse2_A::Pack { public: static int const size_packed = T_rows * T_cols * T_repetitions; static int const rows = T_rows; static int const cols = T_cols; template struct Assign_to_packed { typedef real * PtrTypePacked; /**< Type of packed pointer - note the absence of const qualifiers. */ typedef real const * const PtrType; /**< Type of matrix pointer - note the presence of const qualifiers. */ inline static void exec( PtrType X, PtrTypePacked X_packed, int const row_k, int const col_k, int const rows_total_matrix, int const cols_total_matrix ) { for ( int ir = 0; ir < T_repetitions; ++ir) X_packed[ T_ordering_kernel::get( row_k, col_k, T_rows, T_cols ) * T_repetitions + ir ] = X[ T_ordering_matrix::get(row_k, col_k, rows_total_matrix, cols_total_matrix) ]; } }; template struct Extract_from_packed { typedef real const * const PtrTypePacked; /**< Type of packed pointer - note the presence of const qualifiers. */ typedef real * PtrType; /**< Type of matrix pointer - note the absence of const qualifiers. */ inline static void exec( PtrType X, PtrTypePacked X_packed, int const row_k, int const col_k, int const rows_total_matrix, int const cols_total_matrix ) { for ( int ir = 0; ir < T_repetitions; ++ir) X[ T_ordering_matrix::get(row_k, col_k, rows_total_matrix, cols_total_matrix) ] = X_packed[ T_ordering_kernel::get( row_k, col_k, T_rows, T_cols ) * T_repetitions + ir ]; } }; template class T_assign, typename T_ordering_matrix> static void exec(typename T_assign::PtrType X, typename T_assign::PtrTypePacked X_packed, int const rows_total_matrix, int const cols_total_matrix) { // Loop over columns of kernel for ( int col_k = 0; col_k < T_cols; ++col_k ) { // Loop over rows of kernel for ( int row_k = 0; row_k < T_rows; ++row_k ) { T_assign::exec( X, X_packed, row_k, col_k, rows_total_matrix, cols_total_matrix ); } } } // end exec() /** Convenience function for assignments to packed matrix. * The template argument specifies how the original (unpacked) matrix * is stored (e.g. column- or rowwise) */ template inline static void pack(real const * const X, real * X_packed, int const rows_total_matrix, int const cols_total_matrix) { exec< Assign_to_packed, T_ordering_matrix >(X, X_packed, rows_total_matrix, cols_total_matrix); } /** Convenience function for extracting matrix from packed matrix. * The template argument specifies how the unpacked matrix * is stored (e.g. column- or rowwise) */ template inline static void unpack(real * X, real const * const X_packed, int const rows_total_matrix, int const cols_total_matrix) { exec< Extract_from_packed, T_ordering_matrix >(X, X_packed, rows_total_matrix, cols_total_matrix); } }; #endif ergo-3.5/source/matrix/gemm_sse/vector_intrin.h0000664000175000017500000001164012743400307016703 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* * Templates for efficient gemm kernels. * For architectures with SSE2 or higher. * * Copyright Emanuel Rubensson, 2009 * * * * */ #ifndef VECTOR_INTRIN #define VECTOR_INTRIN #include "common.h" #include "g_intrin.h" /** Vector class template for access to SIMD operations. * * Currently supports a limited set of double and single precision SSE operations. * */ template class Vector_intrin { public: inline void ALWAYS_INLINE load_p(Treal const * ptr) { values = _mm_load_p(ptr); } inline void ALWAYS_INLINE load1_p(Treal const * ptr) { values = _mm_load1_p(ptr); } inline void ALWAYS_INLINE store_p(Treal * ptr) const { _mm_store_p ( ptr, values ); } inline Vector_intrin& ALWAYS_INLINE operator*= ( Vector_intrin const & other ) { values = _mm_mul_p ( other.values, values ); return *this; } inline Vector_intrin& ALWAYS_INLINE operator+= ( Vector_intrin const & other ) { values = _mm_add_p ( other.values, values ); return *this; } inline Vector_intrin& ALWAYS_INLINE operator+= ( Treal const * ptr ) { Treg tmp; tmp = _mm_load_p(ptr); values = _mm_add_p ( tmp, values ); return *this; } #if 0 inline void ALWAYS_INLINE xor_p( Vector_intrin const & other ) { values = _mm_xor_p ( other.values, values ); } #endif inline void ALWAYS_INLINE set_to_zero() { values = _mm_xor_p ( values, values ); } protected: Treg values; private: }; template class Vector_intrin { public: inline void ALWAYS_INLINE load_p(Treal const * ptr) { values = *ptr; } inline void ALWAYS_INLINE load1_p(Treal const * ptr) { values = *ptr; } inline void ALWAYS_INLINE store_p(Treal * ptr) const { *ptr = values; } inline Vector_intrin& ALWAYS_INLINE operator*= ( Vector_intrin const & other ) { values *= other.values; return *this; } inline Vector_intrin& ALWAYS_INLINE operator+= ( Vector_intrin const & other ) { values += other.values; return *this; } inline Vector_intrin& ALWAYS_INLINE operator+= ( Treal const * ptr ) { values += *ptr; return *this; } #if 0 inline void ALWAYS_INLINE xor_p( Vector_intrin const & other ) { values = _mm_xor_p ( other.values, values ); } #endif inline void ALWAYS_INLINE set_to_zero() { values = 0; } protected: Treal values; private: }; #if 0 template<> class Vector_intrin { public: inline void ALWAYS_INLINE load_p(double const * ptr) { values[0] = *ptr; values[1] = ptr[1]; } inline void ALWAYS_INLINE load1_p(double const * ptr) { values[0] = *ptr; values[1] = *ptr; } inline void ALWAYS_INLINE store_p(double * ptr) const { ptr[0] = values[0]; ptr[1] = values[1]; } inline Vector_intrin& ALWAYS_INLINE operator*= ( Vector_intrin const & other ) { values[0] *= other.values[0]; values[1] *= other.values[1]; } inline Vector_intrin& ALWAYS_INLINE operator+= ( Vector_intrin const & other ) { values[0] += other.values[0]; values[1] += other.values[1]; } inline Vector_intrin& ALWAYS_INLINE operator+= ( double const * ptr ) { values[0] += *ptr; values[1] += ptr[1]; } #if 0 inline void ALWAYS_INLINE xor_p( Vector_intrin const & other ) { values = _mm_xor_p ( other.values, values ); } #endif inline void ALWAYS_INLINE set_to_zero() { values[0] = 0; values[1] = 0; } protected: double values[2]; private: }; #endif #endif // VECTOR_INTRIN ergo-3.5/source/matrix/gemm_sse/mm_kernel_outer_A.h0000664000175000017500000002271712743400307017454 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MM_KERNEL_OUTER_A_H #define MM_KERNEL_OUTER_A_H #include "common.h" #ifdef _OPENMP #include #endif /** Template for matrix matrix multiplication that wraps around a kernel given as template argument. * * The idea is that the inner kernel should be fully unrolled and block for registers. * */ template class MM_kernel_outer_A { template class Pack; public: static int const M_kernel = T_gemm_kernel::M; /**< Number of rows of A and C kernels. */ static int const N_kernel = T_gemm_kernel::N; /**< Number of columns of B and C kernels. */ static int const K_kernel = T_gemm_kernel::K; /**< Number of columns of A kernels and rows of B kernels. */ static int const M_block = T_M_block; /**< Number of rows of A and C (blocks). */ static int const N_block = T_N_block; /**< Number of columns of B and C (blocks). */ static int const K_block = 1; /**< Number of columns of A and rows of B (blocks). */ static int const M = M_kernel * M_block; /**< Number of rows of A and C. */ static int const N = N_kernel * N_block; /**< Number of columns of B and C. */ static int const K = K_kernel * K_block; /**< Number of columns of A and rows of B. */ typedef typename T_gemm_kernel::real real; /**< Real number type (usually float or double) */ typedef Ordering_col_wise Ordering_block_A; typedef Ordering_col_wise Ordering_block_B; typedef Ordering_col_wise Ordering_block_C; typedef Pack< M_block, K_block, Ordering_block_A, typename T_gemm_kernel::Pack_type_A > Pack_type_A; typedef Pack< K_block, N_block, Ordering_block_B, typename T_gemm_kernel::Pack_type_B > Pack_type_B; typedef Pack< M_block, N_block, Ordering_block_C, typename T_gemm_kernel::Pack_type_C > Pack_type_C; /** Executes the matrix-matrix multiply C += A B with the three matrices A, B, and C * stored using the packing types of this class. */ static void exec( real const * const * const A, real const * const * const B, real * const C, int const i = 1); }; template void MM_kernel_outer_A::exec( real const * const * const A, real const * const * const B, real * const C, int const n_mul ) { #if 1 for ( int n = 0; n < N_block; ++n ) for ( int m = 0; m < M_block; ++m ) { T_gemm_kernel::exec( A, B, C, n_mul, Ordering_block_A::get( m, 0, M_block, K_block ) * T_gemm_kernel::Pack_type_A::size_packed, Ordering_block_B::get( 0, n, K_block, N_block ) * T_gemm_kernel::Pack_type_B::size_packed, Ordering_block_C::get( m, n, M_block, N_block ) * T_gemm_kernel::Pack_type_C::size_packed ); } #else #if 1 // FIXME: This is faster since the offsets are known at compile time, TODO: unroll for loops... T_gemm_kernel::template exec::index * T_gemm_kernel::Pack_type_A::size_packed, Ordering_block_B::template Get<0, 0, K_block, N_block>::index * T_gemm_kernel::Pack_type_B::size_packed, Ordering_block_C::template Get<0, 0, M_block, N_block>::index * T_gemm_kernel::Pack_type_C::size_packed>( A, B, C, n_mul ); T_gemm_kernel::template exec::index * T_gemm_kernel::Pack_type_A::size_packed, Ordering_block_B::template Get<0, 0, K_block, N_block>::index * T_gemm_kernel::Pack_type_B::size_packed, Ordering_block_C::template Get<1, 0, M_block, N_block>::index * T_gemm_kernel::Pack_type_C::size_packed>( A, B, C, n_mul ); #else T_gemm_kernel::exec( A, B, C, n_mul, Ordering_block_A::get( 0, 0, M_block, K_block ) * T_gemm_kernel::Pack_type_A::size_packed, Ordering_block_B::get( 0, 0, K_block, N_block ) * T_gemm_kernel::Pack_type_B::size_packed, Ordering_block_C::get( 0, 0, M_block, N_block ) * T_gemm_kernel::Pack_type_C::size_packed ); #endif #endif } /** Template for for translations between unpacked and packed matrix storage. * * Template arguments: * - T_rows_block : number of rows (blocks) * - T_cols_block : number of columns (blocks) * - T_ordering_block : Type that specifies how the matrix blocks are stored * - T_pack_type_kernel : Type specifying how each matrix block should be packed * */ template template class MM_kernel_outer_A::Pack { static int const rows_kernel = T_pack_type_kernel::rows; static int const cols_kernel = T_pack_type_kernel::cols; public: static int const rows = rows_kernel * T_rows_block; /**< Number of rows in the matrix. */ static int const cols = cols_kernel * T_cols_block; /**< Number of columns in the matrix. */ /** Memory needed to store the matrix in packed form. * (Can be used in the allocation of memory for the packed matrix.) */ // static int const size_packed = rows * cols * T_pack_type_kernel::size_packed; static unsigned int const size_packed = T_rows_block * T_cols_block * T_pack_type_kernel::size_packed; // typedef Packed ThisType; template struct Assign_to_packed : public T_pack_type_kernel::template Assign_to_packed { typedef T_ordering_matrix Ordering_matrix; }; template struct Extract_from_packed : public T_pack_type_kernel::template Extract_from_packed { typedef T_ordering_matrix Ordering_matrix; }; /** Elaborate function that can be called either to assign to or extract from packed format. * * Use of types in T_assign automatically sets the const qualifier on the desired argument. */ template class T_assign, typename T_ordering_matrix> static void exec(typename T_assign::PtrType X, typename T_assign::PtrTypePacked X_packed, int const rows_total_matrix, int const cols_total_matrix) { // Loop over column blocks of new packed matrix for ( int col_b = 0; col_b < T_cols_block; ++col_b ) { // Loop over row blocks of new packed matrix for ( int row_b = 0; row_b < T_rows_block; ++row_b ) { T_pack_type_kernel::template exec< T_assign, T_ordering_matrix > ( &X[ T_assign::Ordering_matrix::get( row_b * rows_kernel, col_b * cols_kernel, rows_total_matrix, cols_total_matrix ) ], &X_packed[ T_ordering_block::get( row_b, col_b, T_rows_block, T_cols_block ) * T_pack_type_kernel::size_packed ], rows_total_matrix, cols_total_matrix ); // Indexes of original matrix : ( row_b * rows_kernel, col_b * cols_kernel ) // Block indexes (packed matrix) : ( row_b, col_b ) // Number of reals needed for each kernel : T_pack_type_kernel::size_packed } } } // end exec() /** Convenience function for assignments to packed matrix. * The template argument specifies how the original (unpacked) matrix * is stored (e.g. column or row wise) */ template inline static void pack(real const * const X, real * X_packed, int const rows_total_matrix, int const cols_total_matrix) { exec< Assign_to_packed, T_ordering_matrix >(X, X_packed, rows_total_matrix, cols_total_matrix); } /** Convenience function for extracting matrix from packed matrix. * The template argument specifies how the unpacked matrix * is stored (e.g. column or row wise) */ template inline static void unpack(real * X, real const * const X_packed, int const rows_total_matrix, int const cols_total_matrix) { exec< Extract_from_packed, T_ordering_matrix >(X, X_packed, rows_total_matrix, cols_total_matrix); } // real * values; }; #endif ergo-3.5/source/matrix/gemm_sse/common.h0000664000175000017500000000624412743400307015312 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef COMMON_H #define COMMON_H #include #define ALWAYS_INLINE __attribute__((__always_inline__)) //#define ALWAYS_INLINE //#define DEBUG_ON /** Class template for use in static asserts. * */ template struct CompileTimeChecker { CompileTimeChecker(...){} }; /** Specialization of class template for use in static asserts. * */ template<> struct CompileTimeChecker { }; #define STATIC_ASSERT_ALWAYS(expr, msg) \ { \ class ERROR_##msg {}; \ (CompileTimeChecker<(expr) != 0>(ERROR_##msg())); \ } #ifdef DEBUG_ON #define STATIC_ASSERT_DEBUG(expr, msg) STATIC_ASSERT_ALWAYS(expr, msg) #else #define STATIC_ASSERT_DEBUG(expr, msg) #endif // (void)sizeof(CompileTimeChecker<(expr) != 0>((ERROR_##msg()))); \ // Store leading dimension (template argument) as static const // Then one can either use "get" function (ROWS, COLS args not needed?) or // specialize templates depending on the type (transposed or regular). /** Struct for access to matrix elements stored in row wise order. * This struct used to specify how and in which order matrix elements are * stored. At the moment, only regular row or column wise ordering is * supported, but one could imagine symmetric or triangular storage. * @see Ordering_col_wise */ struct Ordering_row_wise { inline static int get( int const row, int const col, int const rows, int const cols ) { return row * cols + col; } template struct Get { static int const index = T_row * T_cols + T_col; }; }; /** Struct for access to matrix elements stored in column wise order. * @see Ordering_row_wise */ struct Ordering_col_wise { inline static int get( int const row, int const col, int const rows, int const cols ) { return row + col * rows; } template struct Get { static int const index = T_row + T_col * T_rows; }; }; #endif ergo-3.5/source/matrix/gemm_sse/gemm_sse.h0000664000175000017500000001106412743400307015615 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef GEMM_SSE_H #define GEMM_SSE_H #include #include "mm_kernel_inner_sse2_A.h" #include "mm_kernel_outer_A.h" template static void gemm_sse(real const * const A, real const * const B, real * C, size_t const m, size_t const n, size_t const k, real * A_packed, real * B_packed, real * C_packed, size_t const ap_size, size_t const bp_size, size_t const cp_size) { // typedef double real; typedef __m128d regType; // typedef float real; typedef __m128 regType; typedef MM_kernel_inner_sse2_A MM_inner; typedef MM_kernel_outer_A MM_outer; if (m != m_kernel*m_block) throw std::runtime_error("Error in gemm_sse(...): m != m_kernel*m_block"); if (n != n_kernel*n_block) throw std::runtime_error("Error in gemm_sse(...): n != n_kernel*n_block"); if (k != k_kernel) throw std::runtime_error("Error in gemm_sse(...): k != k_kernel"); if (ap_size < MM_outer::Pack_type_A::size_packed) throw std::runtime_error("Error in gemm_sse(...): " "ap_size < MM_outer::Pack_type_A::size_packed"); if (bp_size < MM_outer::Pack_type_B::size_packed) throw std::runtime_error("Error in gemm_sse(...): " "bp_size < MM_outer::Pack_type_B::size_packed"); if (cp_size < MM_outer::Pack_type_C::size_packed) throw std::runtime_error("Error in gemm_sse(...): " "cp_size < MM_outer::Pack_type_C::size_packed"); MM_outer::Pack_type_C::template pack( C, C_packed, m, n); MM_outer::Pack_type_A::template pack( A, A_packed, m, k); MM_outer::Pack_type_B::template pack( B, B_packed, k, n); MM_outer::exec(&A_packed, &B_packed, C_packed); MM_outer::Pack_type_C::template unpack(C, C_packed, m, n); } template static void gemm_sse(real const * const A, real const * const B, real * C, size_t const m, size_t const n, size_t const k, real * A_packed, real * B_packed, real * C_packed, size_t const ap_size, size_t const bp_size, size_t const cp_size) { throw std::runtime_error("gemm_sse not implemented for chosen real type."); } template<> void gemm_sse(double const * const A, double const * const B, double * C, size_t const m, size_t const n, size_t const k, double * A_packed, double * B_packed, double * C_packed, size_t const ap_size, size_t const bp_size, size_t const cp_size) { gemm_sse (A, B, C, m, n, k, A_packed, B_packed, C_packed, ap_size, bp_size, cp_size); } template<> void gemm_sse(float const * const A, float const * const B, float * C, size_t const m, size_t const n, size_t const k, float * A_packed, float * B_packed, float * C_packed, size_t const ap_size, size_t const bp_size, size_t const cp_size) { gemm_sse (A, B, C, m, n, k, A_packed, B_packed, C_packed, ap_size, bp_size, cp_size); } #endif ergo-3.5/source/matrix/sort.h0000664000175000017500000001024712743400307013210 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MAT_SORT #define MAT_SORT namespace mat { #if 1 template void quicksort(const Treal* value, int* index, int low, int high) throw(std::exception){ if(high >= low) { int i = low; int j = high; int tmp; Treal pivot = value[index[(low + high) / 2]]; /* Introduce the pivot */ do { /* Permute elements so that all */ while (value[index[i]] < pivot) i++; /* elements end up in one of */ while (value[index[j]] > pivot) j--; /* two groups, one where the */ if (i <= j) { /* elements have a value in value */ tmp = index[i]; /* smaller than the pivot and */ index[i] = index[j]; /* one group with a value larger*/ index[j] = tmp; /* than the pivot */ i++; j--; } } while (i <= j); if(low < j) quicksort(value, index, low, j); /* Sort the two groups */ if(i < high) quicksort(value, index, i, high); } } #else template void quicksort(Tfun const & fun, int* index, int low, int high) throw(std::exception){ int i = low; int j = high; int tmp; Treal pivot = fun.value(index[(low + high) / 2]); /* Introduce pivot */ do { /* Permute elements so that all */ while (fun.value(index[i]) < pivot) i++;/* elements end up in one of*/ while (fun.value(index[j]) > pivot) j--;/* two groups, one where the*/ if (i <= j) { /* elements have a value in value */ tmp = index[i]; /* smaller than the pivot and */ index[i] = index[j]; /* one group with a value larger*/ index[j] = tmp; /* than the pivot */ i++; j--; } } while (i <= j); /* Sort the two groups */ if(low < j) quicksort(fun, index, low, j); if(i < high) quicksort(fun, index, i, high); } template void quicksort(const Treal* value, int* index, int low, int high) { int i = low; int j = high; int tmp; Treal pivot = value[index[(low + high) / 2]]; /* Introduce the pivot */ do { /* Permute elements so that all */ while (value[index[i]] < pivot) i++; /* elements end up in one of */ while (value[index[j]] > pivot) j--; /* two groups, one where the */ if (i <= j) { /* elements have a value in value */ tmp = index[i]; /* smaller than the pivot and */ index[i] = index[j]; /* one group with a value larger*/ index[j] = tmp; /* than the pivot */ i++; j--; } } while (i <= j); if(low < j) quicksort(value, index, low, j); /* Sort the two groups */ if(i < high) quicksort(value, index, i, high); } #endif } /* end namespace mat */ #endif ergo-3.5/source/matrix/test_vector.cc0000664000175000017500000000402412743400307014714 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include /* For ifstream */ #include /* For setprecision in fstream */ #include #include #include /* For FILE */ #include "SizesAndBlocks.h" #include "Matrix.h" #include "Vector.h" #include "MatrixSymmetric.h" #include "MatrixTriangular.h" #include "MatrixGeneral.h" #include "VectorGeneral.h" #include "mat_gblas.h" #include "Lanczos.h" using namespace mat; typedef double real; typedef Vector Vec_3; //typedef Vector Vec_2; //typedef Vector Vec_3; typedef Vec_3 vect; typedef VectorGeneral normalVector; int main() { int size=87; int nlevels=1; std::vector blockSizes(nlevels); blockSizes[nlevels - 1] = 1; SizesAndBlocks rows(blockSizes, size); std::vector V(2,normalVector(rows)); return 0; } ergo-3.5/source/matrix/mat_gblas.cc0000664000175000017500000000246612743400307014314 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "mat_gblas.h" namespace mat { float Gblas::time = 0; bool Gblas::timekeeping = false; } ergo-3.5/source/matrix/matrix_proxy.h0000664000175000017500000003761612743400307014777 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file matrix_proxy.h Proxy structs used by the matrix API * * This file contains proxy structs that are used by the matrix * API classes to enable operator syntax when using the API. * * Copyright(c) Emanuel Rubensson 2005 * * @author Emanuel Rubensson @a responsible @a author * @date February 2005 * */ #ifndef MAT_MATRIX_PROXY #define MAT_MATRIX_PROXY namespace mat { /*********** New code */ /** This proxy expresses the result of multiplication of two objects, * of possibly different types, TX and TY. * Primary application is for scalars, matrices, and transposed matrices. */ template struct XY { TX const & A; TY const & B; bool const tA; bool const tB; XY(TX const & AA, TY const & BB, bool const tAA = false, bool const tBB = false) :A(AA), B(BB), tA(tAA), tB(tBB) {} }; /** This proxy expresses the result of multiplication of three objects, * of possibly different types, TX, TY, and TZ. * Primary application is for scalars, matrices, and transposed matrices. */ template struct XYZ { TX const & A; TY const & B; TZ const & C; bool const tA; bool const tB; bool const tC; XYZ(TX const & AA, TY const & BB, TZ const & CC, bool const tAA = false, bool const tBB = false, bool const tCC = false) :A(AA), B(BB), C(CC), tA(tAA), tB(tBB), tC(tCC) {} }; /** This proxy expresses the result of multiplication of three objects * added to two other multiplied objects. * All objects may have different types, TX, TY, TZ, TU, and TV. * Primary application is for scalars, matrices, and transposed matrices. */ template struct XYZpUV { TX const & A; TY const & B; TZ const & C; TU const & D; TV const & E; bool const tA; bool const tB; bool const tC; bool const tD; bool const tE; XYZpUV(TX const & AA, TY const & BB, TZ const & CC, TU const & DD, TV const & EE, bool const tAA = false, bool const tBB = false, bool const tCC = false, bool const tDD = false, bool const tEE = false) :A(AA), B(BB), C(CC), D(DD), E(EE), tA(tAA), tB(tBB), tC(tCC), tD(tDD), tE(tEE) {} }; /** This proxy expresses the result of transposition of an object * of type TX. * Primary application is for matrices and transposed matrices. * @see transpose(TX const &) */ template struct Xtrans { TX const & A; bool const tA; explicit Xtrans(TX const & AA, bool const tAA = false) :A(AA), tA(tAA) {} }; /** Transposition. * Returns a transposition proxy of an object of type TX. * @see Xtrans */ template inline Xtrans transpose(TX const & A) { return Xtrans(A,true); } /** Transposition. * Returns a transposition proxy of an object of type Xtrans. * Only for correct treatment of repeated transposition, * e.g. transpose(transpose(A)) * @see Xtrans * @see transpose(TX const &) */ template inline Xtrans transpose(const Xtrans& xtrans) { return Xtrans(xtrans.A, !xtrans.tA); } /* Some operators */ /** Multiplication of two transposition proxys holding objects of * type TX and TY respectively. * Returns multiplication proxy XY. * @see XY * @see Xtrans * @see operator*(TX const &, Xtrans const &) * @see operator*(Xtrans const &, TY const &) * @see operator*(TX const &, TY const &) */ template inline XY operator*(Xtrans const & trAA, Xtrans const & trBB) { return XY(trAA.A, trBB.A, trAA.tA, trBB.tA); } /** Multiplication of an object of type TX with a tranposition proxy * holding an object of type TY. * Returns multiplication proxy XY. * @see XY * @see Xtrans * @see operator*(Xtrans const &, Xtrans const &) * @see operator*(Xtrans const &, TY const &) * @see operator*(TX const &, TY const &) */ template inline XY operator*(TX const & AA, Xtrans const & trBB) { return XY(AA, trBB.A, false, trBB.tA); } /** Multiplication of a tranposition proxy holding an object of type TX * with an object of type TY. * Returns multiplication proxy XY. * @see XY * @see Xtrans * @see operator*(Xtrans const &, Xtrans const &) * @see operator*(TX const &, Xtrans const &) * @see operator*(TX const &, TY const &) */ template inline XY operator*(Xtrans const & trAA, TY const & BB) { return XY(trAA.A, BB, trAA.tA, false); } /** Multiplication of an object of type TX with an object of type TY. * Returns multiplication proxy XY. * @see XY * @see operator*(Xtrans const &, Xtrans const &) * @see operator*(TX const &, Xtrans const &) * @see operator*(Xtrans const &, TY const &) */ template inline XY operator*(TX const & AA, TY const & BB) { return XY(AA, BB, false, false); } /** Multiplication of a multiplication proxy XY with a transposition * proxy Xtrans. * Returns multiplication proxy XYZ. * @see XY * @see XYZ * @see Xtrans */ template inline XYZ operator*(XY const & AB, Xtrans const & trCC) { return XYZ(AB.A, AB.B, trCC.A, AB.tA, AB.tB, trCC.tA); } /** Multiplication of a multiplication proxy XY with an object of type TZ. * Returns multiplication proxy XYZ. * @see XY * @see XYZ */ template inline XYZ operator*(XY const & AB, TZ const & CC) { return XYZ(AB.A, AB.B, CC, AB.tA, AB.tB, false); } /** Addition of two multiplication proxys XYZ and XY. * Returns multiplication and addition proxy XYZpUV. * @see XY * @see XYZ * @see XYZpUV */ template inline XYZpUV operator+(XYZ const & ABC, XY const & DE) { return XYZpUV(ABC.A, ABC.B, ABC.C, DE.A, DE.B, ABC.tA, ABC.tB, ABC.tC, DE.tA, DE.tB); } /** This proxy expresses the result of addition of two objects, * of possibly different types, TX and TY. * Primary application is for scalars, matrices, and transposed matrices. */ template struct XpY { const TX& A; const TY& B; XpY(const TX& AA,const TY& BB) :A(AA),B(BB) {} }; /** Addition of two objects of type TX and TY. * @see XpY */ template inline XpY operator+(TX const & AA, TY const & BB) { return XpY(AA, BB); } /** This proxy expresses the result of substraction of two objects, * of possibly different types, TX and TY. * Primary application is for scalars, matrices, and transposed matrices. */ template struct XmY { const TX& A; const TY& B; XmY(const TX& AA,const TY& BB) :A(AA),B(BB) {} }; /** Substraction of two objects of type TX and TY. * @see XmY */ template inline XmY operator-(TX const & AA, TY const & BB) { return XmY(AA, BB); } /************* New code ends */ #if 0 template struct M2 { const MAT& A; M2(const MAT& AA) :A(AA) {} }; template inline M2 square(const MAT& A) { return M2(A); } template struct SM2 { const SCAL alpha; const MAT& A; SM2(const MAT& AA, const SCAL a = 1) : A(AA), alpha(a) {} SM2(const M2& m2) :A(m2.A), alpha(1) {} }; template inline SM2 operator*(const SCAL s, const M2& m2) { return SM2(m2.A, s); } template struct MT { const MAT& A; const bool tA; MT(const MAT& AA, const bool tAA = false) :A(AA), tA(tAA) {} }; template inline MT transpose(const MAT& A) { return MT(A,true); } template inline MT transpose(const MT& mt) { return MT(mt.A, !mt.tA); } template struct SM { const SCAL alpha; const MAT& A; const bool tA; SM(const MAT& AA, const SCAL scalar = 1, const bool tAA = false) :A(AA),alpha(scalar), tA(tAA) {} }; template inline SM operator*(const SCAL scalar, const MT& mta) { return SM(mta.A,scalar, mta.tA); } template inline SM operator*(const SCAL scalar, const MAT& AA) { return SM(AA, scalar, false); } template struct MM { const MAT& A; const MATB& B; const bool tA; const bool tB; MM(const MAT& AA,const MATB& BB, const bool tAA, const bool tBB) :A(AA),B(BB), tA(tAA), tB(tBB) {} }; template struct MpM { const MAT& A; const MATB& B; MpM(const MAT& AA,const MATB& BB) :A(AA),B(BB) {} }; template inline MpM operator+(const MAT& AA, const MATB& BB) { return MpM(AA, BB); } /* template inline MM operator*(const MT& mta, const MT& mtb) { return MM(mta.A, mtb.A, mta.tA, mtb.tA); } */ /* template inline MM operator*(const MAT& AA, const MT& mtb) { return MM(AA, mtb.A, false, mtb.tA); } template inline MM operator*(const MT& mta, const MATB& BB) { return MM(mta.A, BB, mta.tA, false); } template inline MM operator*(const MAT& AA, const MATB& BB) { return MM(AA, BB, false, false); } */ template struct SMM { const SCAL alpha; const MAT& A; const MATB& B; const bool tA; const bool tB; SMM(const MM& mm) :A(mm.A),B(mm.B),alpha(1), tA(mm.tA), tB(mm.tB) {} SMM(const MAT& AA,const MATB& BB, const bool tAA, const bool tBB, const SCAL a = 1) :A(AA), B(BB), tA(tAA), tB(tBB), alpha(a) {} }; template inline SMM operator*(const SM& sm,const MT& mtb) { return SMM(sm.A, mtb.A, sm.tA, mtb.tA, sm.alpha); } template inline SMM operator*(const SM& sm,const MATB& BB) { return SMM(sm.A, BB, sm.tA, false, sm.alpha); } template struct SMMpSM { const SCAL alpha; const MATA& A; const MATB& B; const SCAL beta; const MATC& C; const bool tA; const bool tB; SMMpSM(const MATA& AA, const MATB& BB, const MATC& CC, const bool tAA, const bool tBB, const SCAL a=1, const SCAL b=1) :A(AA), B(BB), C(CC), alpha(a), beta(b), tA(tAA), tB(tBB) {} }; template inline SMMpSM operator+(const SMM& smm, const SM& sm) { return SMMpSM (smm.A, smm.B, sm.A, smm.tA, smm.tB, smm.alpha, sm.alpha); } #if 0 template inline SMMpSM operator+(const SMM& smm, MATC& CC) { return SMMpSM (smm.A, smm.B, CC, smm.tA, smm.tB, smm.alpha, 1); } template inline SMMpSM operator+(const MM& mm, const SM& sm) { return SMMpSM (mm.A, mm.B, sm.A, mm.tA, mm.tB, 1, sm.alpha); } #endif template struct SM2pSM { const SCAL alpha; const MAT& A; const SCAL beta; const MAT& C; SM2pSM(const MAT& AA, const MAT& CC, const SCAL a = 1, const SCAL b = 0) : A(AA), alpha(a), C(CC), beta(b) {} }; template inline SM2pSM operator+(const SM2& sm2, const SM sm) { return SM2pSM(sm2.A, sm.A, sm2.alpha, sm.alpha); } /* Done so far with new transpose */ template struct MMpM { const MAT& A; const MAT& B; const MAT& C; MMpM(const MAT& AA, const MAT& BB, const MAT& CC) :A(AA),B(BB),C(CC) {} }; template struct SMpSM { const SCAL alpha, beta; const MAT& A, B; SMpSM(const MAT& AA, const MAT& BB, const SCAL scalar_a=1, const SCAL scalar_b=1) :A(AA), B(BB), alpha(scalar_a), beta(scalar_b) {} }; template inline SMpSM operator+(const SM sm1, const SM sm2 ) { return SMpSM(sm1.A, sm2.A, sm1.alpha, sm2.alpha); } /* template struct MpM { const MAT& A; const MAT& B; MpM(const MAT& AA,const MAT& BB) :A(AA),B(BB) {} }; template inline MpM operator+(const MAT& A, const MAT& B) { return MpM(A,B); } */ template struct MmM { const MAT& A; const MAT& B; MmM(const MAT& AA,const MAT& BB) :A(AA),B(BB) {} }; template inline MmM operator-(const MAT& A, const MAT& B) { return MmM(A,B); } /*onodig finns redan för SMM template inline MMpM operator+(const MM& mm, const MAT& CC) { return MMpM(mm.A,mm.B,CC); }*/ /*Maste ligga i arvda klassen!!*/ /* Matrix::Matrix(const sMMmul& mm) :nrofrows(mm.A.nrofrows),nrofcols(mm.B.nrofcols) { this.multiply(mm.A,mm.B,*this,mm.tA,mm.tB,mm.alpha,0); } Matrix::Matrix(const sMMmulsMadd& mm) :nrofrows(mm.A.nrofrows),nrofcols(mm.B.nrofcols) { this->multiply(mm.A,mm.B,mm.C,mm.tA,mm.tB,mm.alpha,mm.beta); } */ #endif } /* end namespace mat */ #endif ergo-3.5/source/matrix/FileWritable.h0000664000175000017500000001466712743400307014604 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file FileWritable.h Abstract class for simple writing and reading of * objects to/from file. * * @see mat::FileWritable * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson @a responsible @a author * @date September 2006 * */ #ifndef MAT_FILEWRITABLE #define MAT_FILEWRITABLE #include #include namespace mat { /** Write and read objects to/from file. * * This is an abstract class. * Classes that are derived from this class must define the * following pure virtual functions to be able to instantiate objects: * - clear() * - write_to_buffer_count(int&) const * - write_to_buffer(void*, int const) const * - read_from_buffer(void*, int const) */ class FileWritable { public: /** Set the path to which the objects will be written. * This function can only be called before instantiation of objects. */ static void setPath(char const * const newPath); /** Activate the filewriting. * Without calling this function no filewriting will occur. * This function can only be called before instantiation of objects. * */ static void activate(); /* FIXME: Make it possible to call activate() and deactivate() at any * time. These functions will then go through the list of objects * and check the objectIsOnFile flag for each of them. Some * objects will be put on file when activate() is called and some * be taken from file when deactivate() is called. * A static list of objects is needed for this and for the * defragmentation function. */ /** Write object to file if filewrite is active. * Object is "cleared" in this call. */ void writeToFile(); /** Read object from file if filewrite is active. */ void readFromFile(); void copyToFile(const char* destFileName); void copyFromFile(const char* sourceFileName); /** Check if object is on file. */ bool isOnFile() { return objectIsOnFile; } /** Return file size. Call only if obj is on file. */ long int fileSize(); static std::string getStatsFileSizes(); static std::string writeAndReadAll(); static void resetStats(); static std::string getStatsTimeWrite(); static std::string getStatsTimeRead(); static std::string getStatsTimeCopyAndAssign(); static std::string getStatsCountWrite(); static std::string getStatsCountRead(); static std::string getStatsCountCopyAndAssign(); protected: /** Release memory for the information written to file. */ virtual void clear() = 0; /** Make object invalid (false) via this function when object is * written to file and valid (true) when object is read from file. */ virtual void inMemorySet(bool) = 0; /** Write object to file. Defined in derived class. */ virtual void writeToFileProt(std::ofstream &) const = 0; /** Read object from file. Defined in derived class. */ virtual void readFromFileProt(std::ifstream &) = 0; FileWritable(); /**< Gives each object a unique ID-number and filename. */ virtual ~FileWritable(); /**< Removes file, if any. */ FileWritable(FileWritable const &); /* Remember to call me (operator=) explicitly in derived class! */ FileWritable& operator=(FileWritable const &); virtual std::string obj_type_id() const = 0; typedef std::map TypeTimeMap; typedef std::map TypeCountMap; static std::string getStatsTime( TypeTimeMap & theMap ); static std::string getStatsCount( TypeCountMap & theMap ); struct Stats { // This should be a singleton static Stats& instance() { static Stats stats; return stats; } TypeTimeMap wallTimeWrite; TypeTimeMap wallTimeRead; TypeTimeMap wallTimeCopyAndAssign; TypeCountMap countWrite; TypeCountMap countRead; TypeCountMap countCopyAndAssign; protected: Stats() {} private: Stats(Stats const &); }; typedef std::set ObjPtrSet; static std::string getStatsFileSizes( ObjPtrSet const & set ); struct Manager { static Manager const & instance() { return instance_prot(); } static void registerObj(FileWritable* objPtr); static void unRegisterObj(FileWritable* objPtr); ObjPtrSet obj_ptr_set; protected: // Only members can reach a non-const set static Manager& instance_prot() { static Manager manager; return manager; } Manager() {} Manager(Manager const &); // std::map obj_onFile_map; }; private: static unsigned int nObjects; /**< The number of instantiated objects. * Note that the objects may be of different * types derived from this base class. */ static char* path; /**< The path to which files will be written. */ static bool active; /**< States whether the filewriting is active. */ unsigned int const IDNumber; /**< Each object has its unique ID-number. */ char * fileName; /**< Each object has its unique filename. */ bool objectIsOnFile; /**< States whether the object is on file or not. */ }; } /* end namespace mat */ #endif ergo-3.5/source/matrix/Matrix.h0000664000175000017500000045300512743400307013470 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file Matrix.h The heart of the matrix library * * Copyright(c) Emanuel Rubensson 2005 * * @author Emanuel Rubensson @a responsible @a author * @date September 2005 * */ /** @section Matrix design principles Heart of matrix library: MatrixHierarchicBase is the base class both for higher levels in the hierarchic Matrix (first part of this file) and for the specialization at the lowest level (second part of this file). Hence, functionality common to these class templates can be implemented in MatrixHierarchicBase. The interface: The interface is in MatrixBase.h MatrixSymmetric.h MatrixGeneral.h MatrixTriangular.h. Functions added to this file will not be visible. They have to be called from the interface classes. Example usage: Check out API_test.cc */ #ifndef MAT_MATRIX #define MAT_MATRIX #include #include #include #include "MatrixHierarchicBase.h" #include "matrix_proxy.h" #include "mat_gblas.h" #include "sort.h" #include "allocate.h" //#define MAT_NAIVE namespace mat{ enum side {left, right}; enum inchversion {unstable, stable}; template class Vector; template struct AccessMap; class SingletonForTimings { private: double accumulatedTime; public: void reset() { accumulatedTime = 0; } double getAccumulatedTime() { return accumulatedTime; } void addTime(double timeToAdd) { #ifdef _OPENMP #pragma omp critical #endif { accumulatedTime += timeToAdd; } } static SingletonForTimings & instance() { static SingletonForTimings theInstance; return theInstance; } private: SingletonForTimings(const SingletonForTimings & other); SingletonForTimings() : accumulatedTime(0) { } }; /** Matrix class and heart of the matrix library * * This class is used to obtain the hierarchic data structure. * * @see MatrixHierarchicBase * @see Permutation * */ template class Matrix: public MatrixHierarchicBase { public: typedef Telement ElementType; typedef Vector VectorType; friend class Vector; Matrix():MatrixHierarchicBase(){} void allocate() { assert(!this->is_empty()); assert(this->is_zero()); //#define MAT_USE_ALLOC_TIMER #ifdef MAT_USE_ALLOC_TIMER mat::Time theTimer; theTimer.tic(); #endif this->elements = allocateElements(this->nElements()); #ifdef MAT_USE_ALLOC_TIMER SingletonForTimings::instance().addTime(theTimer.toc()); #endif SizesAndBlocks colSAB; SizesAndBlocks rowSAB; for (int col = 0; col < this->cols.getNBlocks(); col++) { colSAB = this->cols.getSizesAndBlocksForLowerLevel(col); for (int row = 0; row < this->rows.getNBlocks(); row++) { /* This could be improved - precompute rowSAB as well as colSAB */ rowSAB = this->rows.getSizesAndBlocksForLowerLevel(row); (*this)(row,col).resetRows(rowSAB); (*this)(row,col).resetCols(colSAB); } } } /* Full matrix assigns etc */ void assignFromFull(std::vector const & fullMat); void fullMatrix(std::vector & fullMat) const; void syFullMatrix(std::vector & fullMat) const; void syUpTriFullMatrix(std::vector & fullMat) const; /* Sparse matrix assigns etc */ void assignFromSparse(std::vector const & rowind, std::vector const & colind, std::vector const & values); void assignFromSparse(std::vector const & rowind, std::vector const & colind, std::vector const & values, std::vector const & indexes); /* Adds values (+=) to elements */ void addValues(std::vector const & rowind, std::vector const & colind, std::vector const & values); void addValues(std::vector const & rowind, std::vector const & colind, std::vector const & values, std::vector const & indexes); void syAssignFromSparse(std::vector const & rowind, std::vector const & colind, std::vector const & values); void syAddValues(std::vector const & rowind, std::vector const & colind, std::vector const & values); void getValues(std::vector const & rowind, std::vector const & colind, std::vector & values) const; void getValues(std::vector const & rowind, std::vector const & colind, std::vector &, std::vector const & indexes) const; void syGetValues(std::vector const & rowind, std::vector const & colind, std::vector & values) const; void getAllValues(std::vector & rowind, std::vector & colind, std::vector &) const; void syGetAllValues(std::vector & rowind, std::vector & colind, std::vector &) const; Matrix& operator=(const Matrix& mat) { MatrixHierarchicBase::operator=(mat); return *this; } void clear(); ~Matrix() { clear(); } void writeToFile(std::ofstream & file) const; void readFromFile(std::ifstream & file); void random(); void syRandom(); /** Get a random zero structure with a specified probability that * each submatrix is zero. */ void randomZeroStructure(Treal probabilityBeingZero); void syRandomZeroStructure(Treal probabilityBeingZero); template void setElementsByRule(TRule & rule); template void sySetElementsByRule(TRule & rule); template void trSetElementsByRule(TRule & rule) { // Setting elements for triangular is the same as for symmetric sySetElementsByRule(rule); } void addIdentity(Treal alpha); /* C += alpha * I */ static void transpose(Matrix const & A, Matrix & AT); void symToNosym(); void nosymToSym(); /* Basic linear algebra routines */ /* Set matrix to zero (k = 0) or identity (k = 1) */ Matrix& operator=(int const k); Matrix& operator*=(const Treal alpha); static void gemm(const bool tA, const bool tB, const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C); static void symm(const char side, const char uplo, const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C); static void syrk(const char uplo, const bool tA, const Treal alpha, const Matrix& A, const Treal beta, Matrix& C); /* C = alpha * A * A + beta * C where A and C are symmetric */ static void sysq(const char uplo, const Treal alpha, const Matrix& A, const Treal beta, Matrix& C); /* C = alpha * A * B + beta * C where A and B are symmetric */ static void ssmm(const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C); /* C = alpha * A * B + beta * C where A and B are symmetric * and only the upper triangle of C is computed. */ static void ssmm_upper_tr_only(const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C); static void trmm(const char side, const char uplo, const bool tA, const Treal alpha, const Matrix& A, Matrix& B); /* Frobenius norms */ /* Returns the Frobenius norm of the matrix. */ inline Treal frob() const { return template_blas_sqrt(this->frobSquared()); } /* Returns the squared Frobenius norm */ Treal frobSquared() const; inline Treal syFrob() const { return template_blas_sqrt(this->syFrobSquared()); } Treal syFrobSquared() const; inline static Treal frobDiff (const Matrix& A, const Matrix& B) { return template_blas_sqrt(frobSquaredDiff(A, B)); } static Treal frobSquaredDiff (const Matrix& A, const Matrix& B); inline static Treal syFrobDiff (const Matrix& A, const Matrix& B) { return template_blas_sqrt(syFrobSquaredDiff(A, B)); } static Treal syFrobSquaredDiff (const Matrix& A, const Matrix& B); /* Traces */ Treal trace() const; static Treal trace_ab(const Matrix& A, const Matrix& B); static Treal trace_aTb(const Matrix& A, const Matrix& B); static Treal sy_trace_ab(const Matrix& A, const Matrix& B); static void add(const Treal alpha, /* B += alpha * A */ const Matrix& A, Matrix& B); void assign(Treal const alpha, /* *this = alpha * A */ Matrix const & A); /********** Help functions for thresholding */ // int getnnzBlocksLowestLevel() const; void getFrobSqLowestLevel(std::vector & frobsq) const; void frobThreshLowestLevel (Treal const threshold, Matrix * ErrorMatrix); void getFrobSqElementLevel(std::vector & frobsq) const; void frobThreshElementLevel (Treal const threshold, Matrix * ErrorMatrix); #if 0 inline void frobThreshLowestLevel (Treal const threshold, Matrix * ErrorMatrix) { bool a,b; frobThreshLowestLevel(threshold, ErrorMatrix, a, b); } #endif /** Build a matrix with single matrix elements at the lowest level containing the Frobenius norms of the submatrices of A. */ void assignFrobNormsLowestLevel ( Matrix > const & A ); /** Version of assignFrobNormsLowestLevelToMatrix for symmetric matrices. */ void syAssignFrobNormsLowestLevel ( Matrix > const & A ); /** Same as assignFrobNormsLowestLevel except that the Frobenius norms of the differences between submatrices of A and B are assigned. */ void assignDiffFrobNormsLowestLevel ( Matrix > const & A, Matrix > const & B ); /** Same as syAssignFrobNormsLowestLevel except that the Frobenius norms of the differences between submatrices of A and B are assigned. */ void syAssignDiffFrobNormsLowestLevel ( Matrix > const & A, Matrix > const & B ); /** Truncate matrix A according to the sparsity pattern of the * this matrix (frobNormMat).*/ void truncateAccordingToSparsityPattern( Matrix > & A ) const; /********** End of help functions for thresholding */ static void gemm_upper_tr_only(const bool tA, const bool tB, const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C); static void sytr_upper_tr_only(char const side, const Treal alpha, Matrix& A, const Matrix& Z); static void trmm_upper_tr_only(const char side, const char uplo, const bool tA, const Treal alpha, const Matrix& A, Matrix& B); static void trsytriplemm(char const side, const Matrix& Z, Matrix& A); inline Treal frob_thresh (Treal const threshold, Matrix * ErrorMatrix = 0) { return template_blas_sqrt(frob_squared_thresh(threshold * threshold, ErrorMatrix)); } /**< Removes small elements so that the introduced error is smaller than * the threshold in the Frobenius norm * Returns the Frobenius norm of the introduced error. */ Treal frob_squared_thresh (Treal const threshold, Matrix * ErrorMatrix = 0); /**< Removes small elements so that the introduced error is smaller * than threshold in the squared Frobenius norm, returns squared * frobenius norm of the introduced error added to ErrorMatrix */ static void syInch(const Matrix& A, Matrix& Z, const Treal threshold = 0, const side looking = left, const inchversion version = unstable); void gershgorin(Treal& lmin, Treal& lmax) const; /* Computes bounds for*/ /* real part of eigenvalues. The matrix must be quadratic (of course) */ void sy_gershgorin(Treal& lmin, Treal& lmax) const { Matrix tmp = (*this); tmp.symToNosym(); tmp.gershgorin(lmin, lmax); return; } void add_abs_col_sums(Treal* abscolsums) const; /* Adds the absolute */ /* column sums to the abscolsums array. */ /* abscolsums(i) += sum(abs(C(:,i))) for all i (C == *this) */ /* Used by e.g. gershgorin eigenvalue inclusion */ void get_diagonal(Treal* diag) const; /*Copy diagonal to the diag array*/ size_t memory_usage() const; /* Returns memory usage in bytes */ /* Note: we use size_t instead of int for nnz and nvalues to avoid integer overflow. */ size_t nnz() const; /**< Returns number of nonzeros in matrix. */ size_t sy_nnz() const; /**< Returns number of nonzeros in matrix * including lower triangle elements. */ inline size_t nvalues() const { return nnz(); } /**< Returns number of stored values in matrix. * Returns same number as nnz() */ size_t sy_nvalues() const; /**< Returns number of stored values in matrix. * Lower triangle is not included. * Lower triangle in diagonal submatrices * is not included as well. * Different from sy_nnz(). */ template Treal syAccumulateWith(Top & op) { Treal res = 0; if (!this->is_zero()) { for (int col = 0; col < this->ncols(); col++) { for (int row = 0; row < col; row++) res += 2 * (*this)(row, col).geAccumulateWith(op); res += (*this)(col, col).syAccumulateWith(op); } } return res; } /** Accumulation algorithm for general matrices */ template Treal geAccumulateWith(Top & op) { Treal res = 0; if (!this->is_zero()) { for (int col = 0; col < this->ncols(); col++) for (int row = 0; row < this->nrows(); row++) res += (*this)(row, col).geAccumulateWith(op); } return res; } static inline unsigned int level() {return Telement::level() + 1;} Treal maxAbsValue() const { if (this->is_zero()) return 0; else { Treal maxAbsGlobal = 0; Treal maxAbsLocal = 0; for (int ind = 0; ind < this->nElements(); ++ind) { maxAbsLocal = this->elements[ind].maxAbsValue(); maxAbsGlobal = maxAbsGlobal > maxAbsLocal ? maxAbsGlobal : maxAbsLocal; } /* end for */ return maxAbsGlobal; } } protected: private: }; /* end class */ #if 1 /* Full matrix assigns etc */ template void Matrix:: assignFromFull(std::vector const & fullMat) { int nTotalRows = this->rows.getNTotalScalars(); int nTotalCols = this->cols.getNTotalScalars(); assert((int)fullMat.size() == nTotalRows * nTotalCols); if (this->is_zero()) allocate(); for (int col = 0; col < this->ncols(); col++) for (int row = 0; row < this->nrows(); row++) (*this)(row, col).assignFromFull(fullMat); } template void Matrix:: fullMatrix(std::vector & fullMat) const { int nTotalRows = this->rows.getNTotalScalars(); int nTotalCols = this->cols.getNTotalScalars(); fullMat.resize(nTotalRows * nTotalCols); if (this->is_zero()) { int rowOffset = this->rows.getOffset(); int colOffset = this->cols.getOffset(); for (int col = 0; col < this->nScalarsCols(); col++) for (int row = 0; row < this->nScalarsRows(); row++) fullMat[(colOffset + col) * nTotalRows + (rowOffset + row)] = 0; } else { for (int col = 0; col < this->ncols(); col++) for (int row = 0; row < this->nrows(); row++) (*this)(row, col).fullMatrix(fullMat); } } template void Matrix:: syFullMatrix(std::vector & fullMat) const { int nTotalRows = this->rows.getNTotalScalars(); int nTotalCols = this->cols.getNTotalScalars(); fullMat.resize(nTotalRows * nTotalCols); if (this->is_zero()) { int rowOffset = this->rows.getOffset(); int colOffset = this->cols.getOffset(); for (int col = 0; col < this->nScalarsCols(); col++) for (int row = 0; row <= col; row++) { fullMat[(colOffset + col) * nTotalRows + (rowOffset + row)] = 0; fullMat[(rowOffset + row) * nTotalRows + (colOffset + col)] = 0; } } else { for (int col = 0; col < this->ncols(); col++) { for (int row = 0; row < col; row++) (*this)(row, col).syUpTriFullMatrix(fullMat); (*this)(col, col).syFullMatrix(fullMat); } } } template void Matrix:: syUpTriFullMatrix(std::vector & fullMat) const { int nTotalRows = this->rows.getNTotalScalars(); int nTotalCols = this->cols.getNTotalScalars(); fullMat.resize(nTotalRows * nTotalCols); if (this->is_zero()) { int rowOffset = this->rows.getOffset(); int colOffset = this->cols.getOffset(); for (int col = 0; col < this->nScalarsCols(); col++) for (int row = 0; row <= this->nScalarsRows(); row++) { fullMat[(colOffset + col) * nTotalRows + (rowOffset + row)] = 0; fullMat[(rowOffset + row) * nTotalRows + (colOffset + col)] = 0; } } else { for (int col = 0; col < this->ncols(); col++) for (int row = 0; row < this->nrows(); row++) (*this)(row, col).syUpTriFullMatrix(fullMat); } } #endif template void Matrix:: assignFromSparse(std::vector const & rowind, std::vector const & colind, std::vector const & values) { assert(rowind.size() == colind.size() && rowind.size() == values.size()); std::vector indexes(values.size()); for (unsigned int ind = 0; ind < values.size(); ++ind) indexes[ind] = ind; assignFromSparse(rowind, colind, values, indexes); } template void Matrix:: assignFromSparse(std::vector const & rowind, std::vector const & colind, std::vector const & values, std::vector const & indexes) { if (indexes.empty()) { this->clear(); return; } if (this->is_zero()) allocate(); std::vector > columnBuckets (this->cols.getNBlocks()); std::vector > rowBuckets (this->rows.getNBlocks()); int currentInd = 0; std::vector::const_iterator it; for ( it = indexes.begin(); it < indexes.end(); it++ ) columnBuckets[ this->cols.whichBlock( colind[*it] ) ].push_back (*it); /* Go through all column buckets. */ for (int col = 0; col < this->ncols(); col++) { /* Go through current column bucket and distribute to row buckets. */ while (!columnBuckets[col].empty()) { currentInd = columnBuckets[col].back(); columnBuckets[col].pop_back(); rowBuckets[ this->rows.whichBlock ( rowind[currentInd] ) ].push_back (currentInd); } /* Make calls to lower level for every row bucket. */ for (int row = 0; row < this->nrows(); row++) { (*this)(row,col).assignFromSparse(rowind, colind, values, rowBuckets[row]); rowBuckets[row].clear(); } /* end row loop */ } /* end column loop */ } template void Matrix:: addValues(std::vector const & rowind, std::vector const & colind, std::vector const & values) { assert(rowind.size() == colind.size() && rowind.size() == values.size()); std::vector indexes(values.size()); for (unsigned int ind = 0; ind < values.size(); ++ind) indexes[ind] = ind; addValues(rowind, colind, values, indexes); } template void Matrix:: addValues(std::vector const & rowind, std::vector const & colind, std::vector const & values, std::vector const & indexes) { if (indexes.empty()) return; if (this->is_zero()) allocate(); std::vector > columnBuckets (this->cols.getNBlocks()); std::vector > rowBuckets (this->rows.getNBlocks()); int currentInd = 0; std::vector::const_iterator it; for ( it = indexes.begin(); it < indexes.end(); it++ ) columnBuckets[ this->cols.whichBlock( colind[*it] ) ].push_back (*it); /* Go through all column buckets. */ for (int col = 0; col < this->ncols(); col++) { /* Go through current column bucket and distribute to row buckets. */ while (!columnBuckets[col].empty()) { currentInd = columnBuckets[col].back(); columnBuckets[col].pop_back(); rowBuckets[ this->rows.whichBlock ( rowind[currentInd] ) ].push_back (currentInd); } /* Make calls to lower level for every row bucket. */ for (int row = 0; row < this->nrows(); row++) { (*this)(row,col).addValues(rowind, colind, values, rowBuckets[row]); rowBuckets[row].clear(); } /* end row loop */ } /* end column loop */ } template void Matrix:: syAssignFromSparse(std::vector const & rowind, std::vector const & colind, std::vector const & values) { assert(rowind.size() == colind.size() && rowind.size() == values.size()); bool upperTriangleOnly = true; for (unsigned int ind = 0; ind < values.size(); ++ind) { upperTriangleOnly = upperTriangleOnly && colind[ind] >= rowind[ind]; } if (!upperTriangleOnly) throw Failure("Matrix::" "syAddValues(std::vector const &, " "std::vector const &, " "std::vector const &, int const): " "Only upper triangle can contain elements when assigning " "symmetric or triangular matrix "); assignFromSparse(rowind, colind, values); } template void Matrix:: syAddValues(std::vector const & rowind, std::vector const & colind, std::vector const & values) { assert(rowind.size() == colind.size() && rowind.size() == values.size()); bool upperTriangleOnly = true; for (unsigned int ind = 0; ind < values.size(); ++ind) { upperTriangleOnly = upperTriangleOnly && colind[ind] >= rowind[ind]; } if (!upperTriangleOnly) throw Failure("Matrix::" "syAddValues(std::vector const &, " "std::vector const &, " "std::vector const &, int const): " "Only upper triangle can contain elements when assigning " "symmetric or triangular matrix "); addValues(rowind, colind, values); } template void Matrix:: getValues(std::vector const & rowind, std::vector const & colind, std::vector & values) const { assert(rowind.size() == colind.size()); values.resize(rowind.size(),0); std::vector indexes(rowind.size()); for (unsigned int ind = 0; ind < rowind.size(); ++ind) indexes[ind] = ind; getValues(rowind, colind, values, indexes); } template void Matrix:: getValues(std::vector const & rowind, std::vector const & colind, std::vector & values, std::vector const & indexes) const { assert(!this->is_empty()); if (indexes.empty()) return; std::vector::const_iterator it; if (this->is_zero()) { for ( it = indexes.begin(); it < indexes.end(); it++ ) values[*it] = 0; return; } std::vector > columnBuckets (this->cols.getNBlocks()); std::vector > rowBuckets (this->rows.getNBlocks()); int currentInd = 0; for ( it = indexes.begin(); it < indexes.end(); it++ ) columnBuckets[ this->cols.whichBlock( colind[*it] ) ].push_back (*it); /* Go through all column buckets. */ for (int col = 0; col < this->ncols(); col++) { /* Go through current column bucket and distribute to row buckets. */ while (!columnBuckets[col].empty()) { currentInd = columnBuckets[col].back(); columnBuckets[col].pop_back(); rowBuckets[ this->rows.whichBlock ( rowind[currentInd] ) ].push_back (currentInd); } /* Make calls to lower level for every row bucket. */ for (int row = 0; row < this->nrows(); row++) { (*this)(row,col).getValues(rowind, colind, values, rowBuckets[row]); rowBuckets[row].clear(); } /* end row loop */ } /* end column loop */ } template void Matrix:: syGetValues(std::vector const & rowind, std::vector const & colind, std::vector & values) const { assert(rowind.size() == colind.size()); bool upperTriangleOnly = true; for (int unsigned ind = 0; ind < rowind.size(); ++ind) { upperTriangleOnly = upperTriangleOnly && colind[ind] >= rowind[ind]; } if (!upperTriangleOnly) throw Failure("Matrix::" "syGetValues(std::vector const &, " "std::vector const &, " "std::vector const &, int const): " "Only upper triangle when retrieving elements from " "symmetric or triangular matrix "); getValues(rowind, colind, values); } template void Matrix:: getAllValues(std::vector & rowind, std::vector & colind, std::vector & values) const { assert(rowind.size() == colind.size() && rowind.size() == values.size()); if (!this->is_zero()) for (int ind = 0; ind < this->nElements(); ++ind) this->elements[ind].getAllValues(rowind, colind, values); } template void Matrix:: syGetAllValues(std::vector & rowind, std::vector & colind, std::vector & values) const { assert(rowind.size() == colind.size() && rowind.size() == values.size()); if (!this->is_zero()) for (int col = 0; col < this->ncols(); ++col) { for (int row = 0; row < col; ++row) (*this)(row, col).getAllValues(rowind, colind, values); (*this)(col, col).syGetAllValues(rowind, colind, values); } } template void Matrix::clear() { if (!this->is_zero()) for (int i = 0; i < this->nElements(); i++) this->elements[i].clear(); freeElements(this->elements); this->elements = 0; } template void Matrix:: writeToFile(std::ofstream & file) const { int const ZERO = 0; int const ONE = 1; if (this->is_zero()) { char * tmp = (char*)&ZERO; file.write(tmp,sizeof(int)); } else { char * tmp = (char*)&ONE; file.write(tmp,sizeof(int)); for (int i = 0; i < this->nElements(); i++) this->elements[i].writeToFile(file); } } template void Matrix:: readFromFile(std::ifstream & file) { int const ZERO = 0; int const ONE = 1; char tmp[sizeof(int)]; file.read(tmp, (std::ifstream::pos_type)sizeof(int)); switch ((int)*tmp) { case ZERO: this->clear(); break; case ONE: if (this->is_zero()) allocate(); for (int i = 0; i < this->nElements(); i++) this->elements[i].readFromFile(file); break; default: throw Failure("Matrix::" "readFromFile(std::ifstream & file):" "File corruption int value not 0 or 1"); } } template void Matrix::random() { if (this->is_zero()) allocate(); for (int ind = 0; ind < this->nElements(); ind++) this->elements[ind].random(); } template void Matrix::syRandom() { if (this->is_zero()) allocate(); /* Above diagonal */ for (int col = 1; col < this->ncols(); col++) for (int row = 0; row < col; row++) (*this)(row, col).random(); /* Diagonal */ for (int rc = 0; rc < this->nrows(); rc++) (*this)(rc,rc).syRandom(); } template void Matrix:: randomZeroStructure(Treal probabilityBeingZero) { if (!this->highestLevel() && probabilityBeingZero > rand() / (Treal)RAND_MAX) this->clear(); else { if (this->is_zero()) allocate(); for (int ind = 0; ind < this->nElements(); ind++) this->elements[ind].randomZeroStructure(probabilityBeingZero); } } template void Matrix:: syRandomZeroStructure(Treal probabilityBeingZero) { if (!this->highestLevel() && probabilityBeingZero > rand() / (Treal)RAND_MAX) this->clear(); else { if (this->is_zero()) allocate(); /* Above diagonal */ for (int col = 1; col < this->ncols(); col++) for (int row = 0; row < col; row++) (*this)(row, col).randomZeroStructure(probabilityBeingZero); /* Diagonal */ for (int rc = 0; rc < this->nrows(); rc++) (*this)(rc,rc).syRandomZeroStructure(probabilityBeingZero); } } template template void Matrix:: setElementsByRule(TRule & rule) { if (this->is_zero()) allocate(); for (int ind = 0; ind < this->nElements(); ind++) this->elements[ind].setElementsByRule(rule); } template template void Matrix:: sySetElementsByRule(TRule & rule) { if (this->is_zero()) allocate(); /* Above diagonal */ for (int col = 1; col < this->ncols(); col++) for (int row = 0; row < col; row++) (*this)(row, col).setElementsByRule(rule); /* Diagonal */ for (int rc = 0; rc < this->nrows(); rc++) (*this)(rc,rc).sySetElementsByRule(rule); } template void Matrix:: addIdentity(Treal alpha) { if (this->is_empty()) throw Failure("Matrix::addIdentity(Treal): " "Cannot add identity to empty matrix."); if (this->ncols() != this->nrows()) throw Failure("Matrix::addIdentity(Treal): " "Matrix must be square to add identity"); if (this->is_zero()) allocate(); for (int ind = 0; ind < this->ncols(); ind++) (*this)(ind,ind).addIdentity(alpha); } template void Matrix:: transpose(Matrix const & A, Matrix & AT) { if (A.is_zero()) { /* Condition also matches empty matrices. */ AT.rows = A.cols; AT.cols = A.rows; freeElements(AT.elements); AT.elements = 0; return; } if (AT.is_zero() || (AT.nElements() != A.nElements())) { freeElements(AT.elements); AT.elements = allocateElements(A.nElements()); } AT.cols = A.rows; AT.rows = A.cols; for (int row = 0; row < AT.nrows(); row++) for (int col = 0; col < AT.ncols(); col++) Telement::transpose(A(col,row), AT(row,col)); } template void Matrix:: symToNosym() { try { if (this->nrows() == this->ncols()) { if (!this->is_zero()) { /* Fix the diagonal: */ for (int rc = 0; rc < this->ncols(); rc++) (*this)(rc, rc).symToNosym(); /* Fix the lower triangle */ for (int row = 1; row < this->nrows(); row++) for (int col = 0; col < row; col++) Telement::transpose((*this)(col, row), (*this)(row, col)); } } else throw Failure("Matrix::symToNosym(): " "Only quadratic matrices can be symmetric"); } catch(Failure& f) { std::cout<<"Failure caught:Matrix::symToNosym()" < void Matrix:: nosymToSym() { if (this->nrows() == this->ncols()) { if (!this->is_zero()) { /* Fix the diagonal: */ for (int rc = 0; rc < this->ncols(); rc++) (*this)(rc, rc).nosymToSym(); /* Fix the lower triangle */ for (int col = 0; col < this->ncols() - 1; col++) for (int row = col + 1; row < this->nrows(); row++) (*this)(row, col).clear(); } } else throw Failure("Matrix::nosymToSym(): " "Only quadratic matrices can be symmetric"); } /* Basic linear algebra routines */ template Matrix& Matrix::operator=(int const k) { switch (k) { case 0: this->clear(); break; case 1: if (this->ncols() != this->nrows()) throw Failure ("Matrix::operator=(int k = 1): " "Matrix must be quadratic to become identity matrix."); this->clear(); this->allocate(); for (int rc = 0; rc < this->ncols(); rc++) /*Set diagonal to identity*/ (*this)(rc,rc) = 1; break; default: throw Failure("Matrix::operator=(int k) only " "implemented for k = 0, k = 1"); } return *this; } template Matrix& Matrix:: operator*=(const Treal alpha) { if (!this->is_zero() && alpha != 1) { for (int ind = 0; ind < this->nElements(); ind++) this->elements[ind] *= alpha; } return *this; } /* C = beta * C + alpha * A * B */ template void Matrix:: gemm(const bool tA, const bool tB, const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C) { assert(!A.is_empty()); assert(!B.is_empty()); if (C.is_empty()) { assert(beta == 0); if (tA) C.resetRows(A.cols); else C.resetRows(A.rows); if (tB) C.resetCols(B.rows); else C.resetCols(B.cols); } if ((A.is_zero() || B.is_zero() || alpha == 0) && (C.is_zero() || beta == 0)) C = 0; else { Treal beta_tmp = beta; if (C.is_zero()) { C.allocate(); beta_tmp = 0; } if (!A.is_zero() && !B.is_zero() && alpha != 0) { MAT_OMP_INIT; if (!tA && !tB) if (A.ncols() == B.nrows() && A.nrows() == C.nrows() && B.ncols() == C.ncols()) { int C_ncols = C.ncols(); #ifdef _OPENMP #pragma omp parallel for if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) schedule(dynamic) #endif for (int col = 0; col < C_ncols; col++) { MAT_OMP_START; for (int row = 0; row < C.nrows(); row++) { Telement::gemm(tA, tB, alpha, A(row, 0), B(0, col), beta_tmp, C(row, col)); for(int cola = 1; cola < A.ncols(); cola++) Telement::gemm(tA, tB, alpha, A(row, cola), B(cola, col), 1.0, C(row, col)); } MAT_OMP_END; } /* end omp for */ } else throw Failure("Matrix::" "gemm(bool, bool, Treal, " "Matrix, " "Matrix, Treal, " "Matrix): " "Incorrect matrixdimensions for multiplication"); else if (tA && !tB) if (A.nrows() == B.nrows() && A.ncols() == C.nrows() && B.ncols() == C.ncols()) { int C_ncols = C.ncols(); #ifdef _OPENMP #pragma omp parallel for if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) schedule(dynamic) #endif for (int col = 0; col < C_ncols; col++) { MAT_OMP_START; for (int row = 0; row < C.nrows(); row++) { Telement::gemm(tA, tB, alpha, A(0,row), B(0,col), beta_tmp, C(row,col)); for(int cola = 1; cola < A.nrows(); cola++) Telement::gemm(tA, tB, alpha, A(cola, row), B(cola, col), 1.0, C(row,col)); } MAT_OMP_END; } /* end omp for */ } else throw Failure("Matrix::" "gemm(bool, bool, Treal, " "Matrix, " "Matrix, Treal, " "Matrix): " "Incorrect matrixdimensions for multiplication"); else if (!tA && tB) if (A.ncols() == B.ncols() && A.nrows() == C.nrows() && B.nrows() == C.ncols()) { int C_ncols = C.ncols(); #ifdef _OPENMP #pragma omp parallel for if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) schedule(dynamic) #endif for (int col = 0; col < C_ncols; col++) { MAT_OMP_START; for (int row = 0; row < C.nrows(); row++) { Telement::gemm(tA, tB, alpha, A(row, 0), B(col, 0), beta_tmp, C(row,col)); for(int cola = 1; cola < A.ncols(); cola++) Telement::gemm(tA, tB, alpha, A(row, cola), B(col, cola), 1.0, C(row,col)); } MAT_OMP_END; } /* end omp for */ } else throw Failure("Matrix::" "gemm(bool, bool, Treal, " "Matrix, " "Matrix, Treal, " "Matrix): " "Incorrect matrixdimensions for multiplication"); else if (tA && tB) if (A.nrows() == B.ncols() && A.ncols() == C.nrows() && B.nrows() == C.ncols()) { int C_ncols = C.ncols(); #ifdef _OPENMP #pragma omp parallel for if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) schedule(dynamic) #endif for (int col = 0; col < C_ncols; col++) { MAT_OMP_START; for (int row = 0; row < C.nrows(); row++) { Telement::gemm(tA, tB, alpha, A(0, row), B(col, 0), beta_tmp, C(row,col)); for(int cola = 1; cola < A.nrows(); cola++) Telement::gemm(tA, tB, alpha, A(cola, row), B(col, cola), 1.0, C(row,col)); } MAT_OMP_END; } /* end omp for */ } else throw Failure("Matrix::" "gemm(bool, bool, Treal, " "Matrix, " "Matrix, " "Treal, Matrix): " "Incorrect matrixdimensions for multiplication"); else throw Failure("Matrix::" "gemm(bool, bool, Treal, " "Matrix, " "Matrix, Treal, " "Matrix):" "Very strange error!!"); MAT_OMP_FINALIZE; } else C *= beta; } } template void Matrix:: symm(const char side, const char uplo, const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C) { assert(!A.is_empty()); assert(!B.is_empty()); assert(A.nrows() == A.ncols()); int dimA = A.nrows(); if (C.is_empty()) { assert(beta == 0); if (side =='L') { C.resetRows(A.rows); C.resetCols(B.cols); } else { assert(side == 'R'); C.resetRows(B.rows); C.resetCols(A.cols); } } if ((A.is_zero() || B.is_zero() || alpha == 0) && (C.is_zero() || beta == 0)) C = 0; else { if (uplo == 'U') { Treal beta_tmp = beta; if (C.is_zero()) { C.allocate(); beta_tmp = 0; } if (!A.is_zero() && !B.is_zero() && alpha != 0) { MAT_OMP_INIT; if (side =='L') if (dimA == B.nrows() && dimA == C.nrows() && B.ncols() == C.ncols()) { int C_ncols = C.ncols(); #ifdef _OPENMP #pragma omp parallel for if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) schedule(dynamic) #endif for (int col = 0; col < C_ncols; col++) { MAT_OMP_START; for (int row = 0; row < C.nrows(); row++) { /* Diagonal element in matrix A */ Telement::symm(side, uplo, alpha, A(row, row), B(row, col), beta_tmp, C(row, col)); /* Elements below diagonal in A */ for(int ind = 0; ind < row; ind++) Telement::gemm(true, false, alpha, A(ind, row), B(ind, col), 1.0, C(row,col)); /* Elements above diagonal in A */ for(int ind = row + 1; ind < dimA; ind++) Telement::gemm(false, false, alpha, A(row, ind), B(ind, col), 1.0, C(row,col)); } MAT_OMP_END; } /* end omp for */ } else throw Failure("Matrix" "::symm(bool, bool, Treal, Matrix, Matrix, " "Treal, Matrix): " "Incorrect matrixdimensions for multiplication"); else { /* side == 'R' */ assert(side == 'R'); if (B.ncols() == dimA && B.nrows() == C.nrows() && dimA == C.ncols()) { int C_ncols = C.ncols(); #ifdef _OPENMP #pragma omp parallel for if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) schedule(dynamic) #endif for (int col = 0; col < C_ncols; col++) { MAT_OMP_START; for (int row = 0; row < C.nrows(); row++) { /* Diagonal element in matrix A */ Telement::symm(side, uplo, alpha, A(col, col), B(row, col), beta_tmp, C(row, col)); /* Elements below diagonal in A */ for(int ind = col + 1; ind < dimA; ind++) Telement::gemm(false, true, alpha, B(row, ind), A(col, ind), 1.0, C(row,col)); /* Elements above diagonal in A */ for(int ind = 0; ind < col; ind++) Telement::gemm(false, false, alpha, B(row, ind), A(ind, col), 1.0, C(row,col)); } MAT_OMP_END; } /* end omp for */ } else throw Failure("Matrix" "::symm(bool, bool, Treal, Matrix, Matrix, " "Treal, Matrix): " "Incorrect matrixdimensions for multiplication"); } MAT_OMP_FINALIZE; } else C *= beta; } else throw Failure("Matrix::" "symm only implemented for symmetric matrices in " "upper triangular storage"); } } template void Matrix:: syrk(const char uplo, const bool tA, const Treal alpha, const Matrix& A, const Treal beta, Matrix& C) { assert(!A.is_empty()); if (C.is_empty()) { assert(beta == 0); if (tA) { C.resetRows(A.cols); C.resetCols(A.cols); } else { C.resetRows(A.rows); C.resetCols(A.rows); } } if (C.nrows() == C.ncols() && ((!tA && A.nrows() == C.nrows()) || (tA && A.ncols() == C.nrows()))) if (alpha != 0 && !A.is_zero()) { Treal beta_tmp = beta; if (C.is_zero()) { C.allocate(); beta_tmp = 0; } MAT_OMP_INIT; if (!tA && uplo == 'U') { /* C = alpha * A * A' + beta * C */ #ifdef _OPENMP #pragma omp parallel if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) #endif { int C_ncols = C.ncols(); #ifdef _OPENMP #pragma omp for schedule(dynamic) nowait #endif for (int rc = 0; rc < C_ncols; rc++) { MAT_OMP_START; Telement::syrk(uplo, tA, alpha, A(rc, 0), beta_tmp, C(rc, rc)); for (int cola = 1; cola < A.ncols(); cola++) Telement::syrk(uplo, tA, alpha, A(rc, cola), 1.0, C(rc, rc)); MAT_OMP_END; } int C_nrows = C.nrows(); #ifdef _OPENMP #pragma omp for schedule(dynamic) nowait #endif for (int row = 0; row < C_nrows - 1; row++) { MAT_OMP_START; for (int col = row + 1; col < C.ncols(); col++) { Telement::gemm(tA, !tA, alpha, A(row, 0), A(col,0), beta_tmp, C(row,col)); for (int ind = 1; ind < A.ncols(); ind++) Telement::gemm(tA, !tA, alpha, A(row, ind), A(col,ind), 1.0, C(row,col)); } MAT_OMP_END; } } /* end omp parallel */ } /* end if (!tA) */ else if (tA && uplo == 'U') { /* C = alpha * A' * A + beta * C */ #ifdef _OPENMP #pragma omp parallel if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) #endif { int C_ncols = C.ncols(); #ifdef _OPENMP #pragma omp for schedule(dynamic) nowait #endif for (int rc = 0; rc < C_ncols; rc++) { MAT_OMP_START; Telement::syrk(uplo, tA, alpha, A(0, rc), beta_tmp, C(rc, rc)); for (int rowa = 1; rowa < A.nrows(); rowa++) Telement::syrk(uplo, tA, alpha, A(rowa, rc), 1.0, C(rc, rc)); MAT_OMP_END; } int C_nrows = C.nrows(); #ifdef _OPENMP #pragma omp for schedule(dynamic) nowait #endif for (int row = 0; row < C_nrows - 1; row++) { MAT_OMP_START; for (int col = row + 1; col < C.ncols(); col++) { Telement::gemm(tA, !tA, alpha, A(0, row), A(0, col), beta_tmp, C(row,col)); for (int ind = 1; ind < A.nrows(); ind++) Telement::gemm(tA, !tA, alpha, A(ind, row), A(ind, col), 1.0, C(row,col)); } MAT_OMP_END; } } /* end omp parallel */ } /* end if (tA) */ else throw Failure("Matrix::" "syrk not implemented for lower triangular storage"); MAT_OMP_FINALIZE; } else { C *= beta; } else throw Failure("Matrix::syrk: " "Incorrect matrix dimensions for symmetric rank-k update"); } template void Matrix:: sysq(const char uplo, const Treal alpha, const Matrix& A, const Treal beta, Matrix& C) { assert(!A.is_empty()); if (C.is_empty()) { assert(beta == 0); C.resetRows(A.rows); C.resetCols(A.cols); } if (C.nrows() == C.ncols() && A.nrows() == C.nrows() && A.nrows() == A.ncols()) if (alpha != 0 && !A.is_zero()) { if (uplo == 'U') { Treal beta_tmp = beta; if (C.is_zero()) { C.allocate(); beta_tmp = 0; } MAT_OMP_INIT; #ifdef _OPENMP #pragma omp parallel if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) #endif { int C_ncols = C.ncols(); #ifdef _OPENMP #pragma omp for schedule(dynamic) nowait #endif for (int rc = 0; rc < C_ncols; rc++) { MAT_OMP_START; Telement::sysq(uplo, alpha, A(rc, rc), beta_tmp, C(rc, rc)); for (int cola = 0; cola < rc; cola++) Telement::syrk(uplo, true, alpha, A(cola, rc), 1.0, C(rc, rc)); for (int cola = rc + 1; cola < A.ncols(); cola++) Telement::syrk(uplo, false, alpha, A(rc, cola), 1.0, C(rc, rc)); MAT_OMP_END; } /* Maste anvanda symm? */ int C_nrows = C.nrows(); #ifdef _OPENMP #pragma omp for schedule(dynamic) nowait #endif for (int row = 0; row < C_nrows - 1; row++) { MAT_OMP_START; for (int col = row + 1; col < C.ncols(); col++) { /* First the two operations involving diagonal elements */ Telement::symm('L', 'U', alpha, A(row, row), A(row, col), beta_tmp, C(row, col)); Telement::symm('R', 'U', alpha, A(col, col), A(row, col), 1.0, C(row, col)); /* First element in product is below the diagonal */ for (int ind = 0; ind < row; ind++) Telement::gemm(true, false, alpha, A(ind, row), A(ind, col), 1.0, C(row, col)); /* None of the elements are below the diagonal */ for (int ind = row + 1; ind < col; ind++) Telement::gemm(false, false, alpha, A(row, ind), A(ind, col), 1.0, C(row, col)); /* Second element is below the diagonal */ for (int ind = col + 1; ind < A.ncols(); ind++) Telement::gemm(false, true, alpha, A(row, ind), A(col, ind), 1.0, C(row, col)); } MAT_OMP_END; } /* end omp for */ } /* end omp parallel */ MAT_OMP_FINALIZE; } else throw Failure("Matrix::" "sysq only implemented for symmetric matrices in " "upper triangular storage");; } else { C *= beta; } else throw Failure("Matrix::sysq: " "Incorrect matrix dimensions for symmetric square " "operation"); } /* C = alpha * A * B + beta * C where A and B are symmetric */ template void Matrix:: ssmm(const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C) { assert(!A.is_empty()); assert(!B.is_empty()); if (C.is_empty()) { assert(beta == 0); C.resetRows(A.rows); C.resetCols(B.cols); } if (A.ncols() != B.nrows() || A.nrows() != C.nrows() || B.ncols() != C.ncols() || A.nrows() != A.ncols() || B.nrows() != B.ncols()) { throw Failure("Matrix::" "ssmm(Treal, " "Matrix, " "Matrix, Treal, " "Matrix): " "Incorrect matrixdimensions for ssmm multiplication"); } if ((A.is_zero() || B.is_zero() || alpha == 0) && (C.is_zero() || beta == 0)) { C = 0; return; } Treal beta_tmp = beta; if (C.is_zero()) { C.allocate(); beta_tmp = 0; } if (A.is_zero() || B.is_zero() || alpha == 0) { C *= beta; return; } MAT_OMP_INIT; int C_ncols = C.ncols(); #ifdef _OPENMP #pragma omp parallel for if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) schedule(dynamic) #endif for (int col = 0; col < C_ncols; col++) { MAT_OMP_START; /* Diagonal */ /* C(col, col) = alpha * A(col, col) * B(col, col) + beta * C(col, col)*/ Telement::ssmm(alpha, A(col,col), B(col, col), beta_tmp, C(col,col)); for (int ind = 0; ind < col; ind++) /* C(col, col) += alpha * A(ind, col)' * B(ind, col) */ Telement::gemm(true, false, alpha, A(ind,col), B(ind, col), 1.0, C(col,col)); for (int ind = col + 1; ind < A.ncols(); ind++) /* C(col, col) += alpha * A(col, ind) * B(col, ind)' */ Telement::gemm(false, true, alpha, A(col, ind), B(col, ind), 1.0, C(col,col)); /* Upper half */ for (int row = 0; row < col; row++) { /* C(row, col) = alpha * A(row, row) * B(row, col) + * beta * C(row, col) */ Telement::symm('L', 'U', alpha, A(row, row), B(row, col), beta_tmp, C(row, col)); /* C(row, col) += alpha * A(row, col) * B(col, col) */ Telement::symm('R', 'U', alpha, B(col, col), A(row, col), 1.0, C(row, col)); for (int ind = 0; ind < row; ind++) /* C(row, col) += alpha * A(ind, row)' * B(ind, col) */ Telement::gemm(true, false, alpha, A(ind, row), B(ind, col), 1.0, C(row,col)); for (int ind = row + 1; ind < col; ind++) /* C(row, col) += alpha * A(row, ind) * B(ind, col) */ Telement::gemm(false, false, alpha, A(row, ind), B(ind, col), 1.0, C(row,col)); for (int ind = col + 1; ind < A.ncols(); ind++) /* C(row, col) += alpha * A(row, ind) * B(col, ind)' */ Telement::gemm(false, true, alpha, A(row, ind), B(col, ind), 1.0, C(row,col)); } /* Lower half */ Telement tmpSubMat; for (int row = col + 1; row < C.nrows(); row++) { Telement::transpose(C(row, col), tmpSubMat); /* tmpSubMat = alpha * B(col, col) * A(col, row) + * beta * tmpSubMat */ Telement::symm('L', 'U', alpha, B(col, col), A(col, row), beta_tmp, tmpSubMat); /* tmpSubMat += alpha * B(col, row) * A(row, row) */ Telement::symm('R', 'U', alpha, A(row, row), B(col, row), 1.0, tmpSubMat); for (int ind = 0; ind < col; ind++) /* tmpSubMat += alpha * B(ind, col)' * A(ind, row) */ Telement::gemm(true, false, alpha, B(ind, col), A(ind, row), 1.0, tmpSubMat); for (int ind = col + 1; ind < row; ind++) /* tmpSubMat += alpha * B(col, ind) * A(ind, row) */ Telement::gemm(false, false, alpha, B(col, ind), A(ind, row), 1.0, tmpSubMat); for (int ind = row + 1; ind < B.nrows(); ind++) /* tmpSubMat += alpha * B(col, ind) * A(row, ind)' */ Telement::gemm(false, true, alpha, B(col, ind), A(row, ind), 1.0, tmpSubMat); Telement::transpose(tmpSubMat, C(row, col)); } MAT_OMP_END; } MAT_OMP_FINALIZE; } /* end ssmm */ /* C = alpha * A * B + beta * C where A and B are symmetric * and only the upper triangle of C is computed. */ template void Matrix:: ssmm_upper_tr_only(const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C) { assert(!A.is_empty()); assert(!B.is_empty()); if (C.is_empty()) { assert(beta == 0); C.resetRows(A.rows); C.resetCols(B.cols); } if (A.ncols() != B.nrows() || A.nrows() != C.nrows() || B.ncols() != C.ncols() || A.nrows() != A.ncols() || B.nrows() != B.ncols()) { throw Failure("Matrix::" "ssmm_upper_tr_only(Treal, " "Matrix, " "Matrix, Treal, " "Matrix): " "Incorrect matrixdimensions for ssmm_upper_tr_only " "multiplication"); } if ((A.is_zero() || B.is_zero() || alpha == 0) && (C.is_zero() || beta == 0)) { C = 0; return; } Treal beta_tmp = beta; if (C.is_zero()) { C.allocate(); beta_tmp = 0; } if (A.is_zero() || B.is_zero() || alpha == 0) { C *= beta; return; } MAT_OMP_INIT; int C_ncols = C.ncols(); #ifdef _OPENMP #pragma omp parallel for if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) schedule(dynamic) #endif for (int col = 0; col < C_ncols; col++) { MAT_OMP_START; /* Diagonal */ /* C(col, col) = alpha * A(col, col) * B(col, col) + beta * C(col, col)*/ Telement::ssmm_upper_tr_only(alpha, A(col,col), B(col, col), beta_tmp, C(col,col)); for (int ind = 0; ind < col; ind++) /* C(col, col) += alpha * A(ind, col)' * B(ind, col) */ Telement::gemm_upper_tr_only(true, false, alpha, A(ind,col), B(ind, col), 1.0, C(col,col)); for (int ind = col + 1; ind < A.ncols(); ind++) /* C(col, col) += alpha * A(col, ind) * B(col, ind)' */ Telement::gemm_upper_tr_only(false, true, alpha, A(col, ind), B(col, ind), 1.0, C(col,col)); /* Upper half */ for (int row = 0; row < col; row++) { /* C(row, col) = alpha * A(row, row) * B(row, col) + * beta * C(row, col) */ Telement::symm('L', 'U', alpha, A(row, row), B(row, col), beta_tmp, C(row, col)); /* C(row, col) += alpha * A(row, col) * B(col, col) */ Telement::symm('R', 'U', alpha, B(col, col), A(row, col), 1.0, C(row, col)); for (int ind = 0; ind < row; ind++) /* C(row, col) += alpha * A(ind, row)' * B(ind, col) */ Telement::gemm(true, false, alpha, A(ind, row), B(ind, col), 1.0, C(row,col)); for (int ind = row + 1; ind < col; ind++) /* C(row, col) += alpha * A(row, ind) * B(ind, col) */ Telement::gemm(false, false, alpha, A(row, ind), B(ind, col), 1.0, C(row,col)); for (int ind = col + 1; ind < A.ncols(); ind++) /* C(row, col) += alpha * A(row, ind) * B(col, ind)' */ Telement::gemm(false, true, alpha, A(row, ind), B(col, ind), 1.0, C(row,col)); } MAT_OMP_END; } MAT_OMP_FINALIZE; } /* end ssmm_upper_tr_only */ template void Matrix:: trmm(const char side, const char uplo, const bool tA, const Treal alpha, const Matrix& A, Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (alpha != 0 && !A.is_zero() && !B.is_zero()) if (((side == 'R' && B.ncols() == A.nrows()) || (side == 'L' && A.ncols() == B.nrows())) && A.nrows() == A.ncols()) if (uplo == 'U') if (!tA) { if (side == 'R') { /* Last column must be calculated first */ for (int col = B.ncols() - 1; col >= 0; col--) for (int row = 0; row < B.nrows(); row++) { /* Use first the diagonal element in A */ /* Otherwise the faster call to trmm cannot be utilized */ Telement::trmm(side, uplo, tA, alpha, A(col, col), B(row,col)); /* And the rest: */ for (int ind = 0; ind < col; ind++) Telement::gemm(false, tA, alpha, B(row,ind), A(ind, col), 1.0, B(row,col)); } } /* end if (side == 'R')*/ else { assert(side == 'L'); /* First row must be calculated first */ for (int row = 0; row < B.nrows(); row++ ) for (int col = 0; col < B.ncols(); col++) { Telement::trmm(side, uplo, tA, alpha, A(row,row), B(row,col)); for (int ind = row + 1 ; ind < B.nrows(); ind++) Telement::gemm(tA, false, alpha, A(row,ind), B(ind,col), 1.0, B(row,col)); } } /* end else (side == 'L')*/ } /* end if (tA == false) */ else { assert(tA == true); if (side == 'R') { /* First column must be calculated first */ for (int col = 0; col < B.ncols(); col++) for (int row = 0; row < B.nrows(); row++) { Telement::trmm(side, uplo, tA, alpha, A(col,col), B(row,col)); for (int ind = col + 1; ind < A.ncols(); ind++) Telement::gemm(false, tA, alpha, B(row,ind), A(col,ind), 1.0, B(row,col)); } } /* end if (side == 'R')*/ else { assert(side == 'L'); /* Last row must be calculated first */ for (int row = B.nrows() - 1; row >= 0; row--) for (int col = 0; col < B.ncols(); col++) { Telement::trmm(side, uplo, tA, alpha, A(row,row), B(row,col)); for (int ind = 0; ind < row; ind++) Telement::gemm(tA, false, alpha, A(ind,row), B(ind,col), 1.0, B(row,col)); } } /* end else (side == 'L')*/ } /* end else (tA == true)*/ else throw Failure("Matrix::" "trmm not implemented for lower triangular matrices"); else throw Failure("Matrix::trmm" ": Incorrect matrix dimensions for multiplication"); else B = 0; } template Treal Matrix::frobSquared() const { assert(!this->is_empty()); if (this->is_zero()) return 0; else { Treal sum(0); for (int i = 0; i < this->nElements(); i++) sum += this->elements[i].frobSquared(); return sum; } } template Treal Matrix:: syFrobSquared() const { assert(!this->is_empty()); if (this->nrows() != this->ncols()) throw Failure("Matrix::syFrobSquared(): " "Matrix must be have equal number of rows " "and cols to be symmetric"); Treal sum(0); if (!this->is_zero()) { for (int col = 1; col < this->ncols(); col++) for (int row = 0; row < col; row++) sum += 2 * (*this)(row, col).frobSquared(); for (int rc = 0; rc < this->ncols(); rc++) sum += (*this)(rc, rc).syFrobSquared(); } return sum; } template Treal Matrix:: frobSquaredDiff (const Matrix& A, const Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (A.nrows() != B.nrows() || A.ncols() != B.ncols()) throw Failure("Matrix::" "frobSquaredDiff: Incorrect matrix dimensions"); Treal sum(0); if (!A.is_zero() && !B.is_zero()) for (int i = 0; i < A.nElements(); i++) sum += Telement::frobSquaredDiff(A.elements[i],B.elements[i]); else if (A.is_zero() && !B.is_zero()) sum = B.frobSquared(); else if (!A.is_zero() && B.is_zero()) sum = A.frobSquared(); /* sum is already zero if A.is_zero() && B.is_zero() */ return sum; } template Treal Matrix:: syFrobSquaredDiff (const Matrix& A, const Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (A.nrows() != B.nrows() || A.ncols() != B.ncols() || A.nrows() != A.ncols()) throw Failure("Matrix::syFrobSquaredDiff: " "Incorrect matrix dimensions"); Treal sum(0); if (!A.is_zero() && !B.is_zero()) { for (int col = 1; col < A.ncols(); col++) for (int row = 0; row < col; row++) sum += 2 * Telement::frobSquaredDiff(A(row, col), B(row, col)); for (int rc = 0; rc < A.ncols(); rc++) sum += Telement::syFrobSquaredDiff(A(rc, rc),B(rc, rc)); } else if (A.is_zero() && !B.is_zero()) sum = B.syFrobSquared(); else if (!A.is_zero() && B.is_zero()) sum = A.syFrobSquared(); /* sum is already zero if A.is_zero() && B.is_zero() */ return sum; } template Treal Matrix:: trace() const { assert(!this->is_empty()); if (this->nrows() != this->ncols()) throw Failure("Matrix::trace(): " "Matrix must be quadratic"); if (this->is_zero()) return 0; else { Treal sum = 0; for (int rc = 0; rc < this->ncols(); rc++) sum += (*this)(rc,rc).trace(); return sum; } } template Treal Matrix:: trace_ab(const Matrix& A, const Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (A.nrows() != B.ncols() || A.ncols() != B.nrows()) throw Failure("Matrix::trace_ab: " "Wrong matrix dimensions for trace(A * B)"); Treal tr = 0; if (!A.is_zero() && !B.is_zero()) for (int rc = 0; rc < A.nrows(); rc++) for (int colA = 0; colA < A.ncols(); colA++) tr += Telement::trace_ab(A(rc,colA), B(colA, rc)); return tr; } template Treal Matrix:: trace_aTb(const Matrix& A, const Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (A.ncols() != B.ncols() || A.nrows() != B.nrows()) throw Failure("Matrix::trace_aTb: " "Wrong matrix dimensions for trace(A' * B)"); Treal tr = 0; if (!A.is_zero() && !B.is_zero()) for (int rc = 0; rc < A.ncols(); rc++) for (int rowB = 0; rowB < B.nrows(); rowB++) tr += Telement::trace_aTb(A(rowB,rc), B(rowB, rc)); return tr; } template Treal Matrix:: sy_trace_ab(const Matrix& A, const Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (A.nrows() != B.ncols() || A.ncols() != B.nrows() || A.nrows() != A.ncols()) throw Failure("Matrix::sy_trace_ab: " "Wrong matrix dimensions for symmetric trace(A * B)"); Treal tr = 0; if (!A.is_zero() && !B.is_zero()) { /* Diagonal first */ for (int rc = 0; rc < A.nrows(); rc++) tr += Telement::sy_trace_ab(A(rc,rc), B(rc, rc)); /* Using that trace of transpose is equal to that without transpose: */ for (int colA = 1; colA < A.ncols(); colA++) for (int rowA = 0; rowA < colA; rowA++) tr += 2 * Telement::trace_aTb(A(rowA, colA), B(rowA, colA)); } return tr; } template void Matrix:: add(const Treal alpha, /* B += alpha * A */ const Matrix& A, Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (A.nrows() != B.nrows() || A.ncols() != B.ncols()) throw Failure("Matrix::add: " "Wrong matrix dimensions for addition"); if (!A.is_zero() && alpha != 0) { if (B.is_zero()) B.allocate(); for (int ind = 0; ind < A.nElements(); ind++) Telement::add(alpha, A.elements[ind], B.elements[ind]); } } template void Matrix:: assign(Treal const alpha, /* *this = alpha * A */ Matrix const & A) { assert(!A.is_empty()); if (this->is_empty()) { this->resetRows(A.rows); this->resetCols(A.cols); } *this = 0; Matrix:: add(alpha, A, *this); } /********** Help functions for thresholding */ template void Matrix:: getFrobSqLowestLevel(std::vector & frobsq) const { if (!this->is_zero()) for (int ind = 0; ind < this->nElements(); ind++) this->elements[ind].getFrobSqLowestLevel(frobsq); } template void Matrix:: frobThreshLowestLevel (Treal const threshold, Matrix * ErrorMatrix) { assert(!this->is_empty()); bool thisMatIsZero = true; if (ErrorMatrix) { assert(!ErrorMatrix->is_empty()); bool EMatIsZero = true; if (!ErrorMatrix->is_zero() || !this->is_zero()) { if (ErrorMatrix->is_zero()) ErrorMatrix->allocate(); if (this->is_zero()) this->allocate(); for (int ind = 0; ind < this->nElements(); ind++) { this->elements[ind]. frobThreshLowestLevel(threshold, &ErrorMatrix->elements[ind]); thisMatIsZero = thisMatIsZero && this->elements[ind].is_zero(); EMatIsZero = EMatIsZero && ErrorMatrix->elements[ind].is_zero(); } if (thisMatIsZero) this->clear(); if (EMatIsZero) ErrorMatrix->clear(); } } else if (!this->is_zero()) { for (int ind = 0; ind < this->nElements(); ind++) { this->elements[ind].frobThreshLowestLevel(threshold, 0); thisMatIsZero = thisMatIsZero && this->elements[ind].is_zero(); } if (thisMatIsZero) this->clear(); } } template void Matrix:: getFrobSqElementLevel(std::vector & frobsq) const { if (!this->is_zero()) for (int ind = 0; ind < this->nElements(); ind++) this->elements[ind].getFrobSqElementLevel(frobsq); } template void Matrix:: frobThreshElementLevel (Treal const threshold, Matrix * ErrorMatrix) { assert(!this->is_empty()); bool thisMatIsZero = true; if (ErrorMatrix) { assert(!ErrorMatrix->is_empty()); bool EMatIsZero = true; if (!ErrorMatrix->is_zero() || !this->is_zero()) { if (ErrorMatrix->is_zero()) ErrorMatrix->allocate(); if (this->is_zero()) this->allocate(); for (int ind = 0; ind < this->nElements(); ind++) { this->elements[ind]. frobThreshElementLevel(threshold, &ErrorMatrix->elements[ind]); thisMatIsZero = thisMatIsZero && this->elements[ind].is_zero(); EMatIsZero = EMatIsZero && ErrorMatrix->elements[ind].is_zero(); } if (thisMatIsZero) this->clear(); if (EMatIsZero) ErrorMatrix->clear(); } } else if (!this->is_zero()) { for (int ind = 0; ind < this->nElements(); ind++) { this->elements[ind].frobThreshElementLevel(threshold, 0); thisMatIsZero = thisMatIsZero && this->elements[ind].is_zero(); } if (thisMatIsZero) this->clear(); } } template void Matrix::assignFrobNormsLowestLevel ( Matrix > const & A ) { if (!A.is_zero()) { if ( this->is_zero() ) this->allocate(); assert( this->nElements() == A.nElements() ); for (int ind = 0; ind < this->nElements(); ind++) this->elements[ind].assignFrobNormsLowestLevel(A[ind]); } else this->clear(); } template void Matrix::syAssignFrobNormsLowestLevel ( Matrix > const & A ) { assert(!A.is_empty()); if (A.nrows() != A.ncols()) throw Failure("Matrix::syAssignFrobNormsLowestLevel(...): " "Matrix must be have equal number of rows " "and cols to be symmetric"); if (!A.is_zero()) { if ( this->is_zero() ) this->allocate(); assert( this->nElements() == A.nElements() ); for (int col = 1; col < this->ncols(); col++) for (int row = 0; row < col; row++) (*this)(row, col).assignFrobNormsLowestLevel( A(row,col) ); for (int rc = 0; rc < this->ncols(); rc++) (*this)(rc, rc).syAssignFrobNormsLowestLevel( A(rc,rc) ); } else this->clear(); } template void Matrix::assignDiffFrobNormsLowestLevel ( Matrix > const & A, Matrix > const & B ) { if ( A.is_zero() && B.is_zero() ) { // Both A and B are zero this->clear(); return; } // At least one of A and B is nonzero if ( this->is_zero() ) this->allocate(); if ( !A.is_zero() && !B.is_zero() ) { // Both are nonzero assert( this->nElements() == A.nElements() ); assert( this->nElements() == B.nElements() ); for (int ind = 0; ind < this->nElements(); ind++) this->elements[ind].assignDiffFrobNormsLowestLevel( A[ind], B[ind] ); return; } if ( !A.is_zero() ) { // A is nonzero this->assignFrobNormsLowestLevel( A ); return; } if ( !B.is_zero() ) { // B is nonzero this->assignFrobNormsLowestLevel( B ); return; } } template void Matrix::syAssignDiffFrobNormsLowestLevel ( Matrix > const & A, Matrix > const & B ) { if ( A.is_zero() && B.is_zero() ) { // Both A and B are zero this->clear(); return; } // At least one of A and B is nonzero if ( this->is_zero() ) this->allocate(); if ( !A.is_zero() && !B.is_zero() ) { // Both are nonzero assert( this->nElements() == A.nElements() ); assert( this->nElements() == B.nElements() ); for (int col = 1; col < this->ncols(); col++) for (int row = 0; row < col; row++) (*this)(row, col).assignDiffFrobNormsLowestLevel( A(row,col), B(row,col) ); for (int rc = 0; rc < this->ncols(); rc++) (*this)(rc, rc).syAssignDiffFrobNormsLowestLevel( A(rc,rc), B(rc,rc) ); return; } if ( !A.is_zero() ) { // A is nonzero this->syAssignFrobNormsLowestLevel( A ); return; } if ( !B.is_zero() ) { // B is nonzero this->syAssignFrobNormsLowestLevel( B ); return; } } template void Matrix:: truncateAccordingToSparsityPattern( Matrix > & A ) const { if ( this->is_zero() ) { A.clear(); } else { assert( !A.is_zero() ); assert( this->nElements() == A.nElements() ); for (int ind = 0; ind < this->nElements(); ind++) this->elements[ind].truncateAccordingToSparsityPattern( A[ind] ); } } /********** End of help functions for thresholding */ /* C = beta * C + alpha * A * B where only the upper triangle of C is */ /* referenced and updated */ template void Matrix:: gemm_upper_tr_only(const bool tA, const bool tB, const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C) { assert(!A.is_empty()); assert(!B.is_empty()); if (C.is_empty()) { assert(beta == 0); if (tA) C.resetRows(A.cols); else C.resetRows(A.rows); if (tB) C.resetCols(B.rows); else C.resetCols(B.cols); } if ((A.is_zero() || B.is_zero() || alpha == 0) && (C.is_zero() || beta == 0)) C = 0; else { Treal beta_tmp = beta; if (C.is_zero()) { C.allocate(); beta_tmp = 0; } if (!A.is_zero() && !B.is_zero() && alpha != 0) { if (!tA && !tB) if (A.ncols() == B.nrows() && A.nrows() == C.nrows() && B.ncols() == C.ncols()) { for (int col = 0; col < C.ncols(); col++) { Telement::gemm_upper_tr_only(tA, tB, alpha, A(col, 0), B(0, col), beta_tmp, C(col, col)); for(int cola = 1; cola < A.ncols(); cola++) Telement::gemm_upper_tr_only(tA, tB, alpha, A(col, cola), B(cola, col), 1.0, C(col,col)); for (int row = 0; row < col; row++) { Telement::gemm(tA, tB, alpha, A(row, 0), B(0, col), beta_tmp, C(row,col)); for(int cola = 1; cola < A.ncols(); cola++) Telement::gemm(tA, tB, alpha, A(row, cola), B(cola, col), 1.0, C(row,col)); } } } else throw Failure("Matrix::" "gemm_upper_tr_only(bool, bool, Treal, " "Matrix, " "Matrix, " "Treal, Matrix): " "Incorrect matrixdimensions for multiplication"); else if (tA && !tB) if (A.nrows() == B.nrows() && A.ncols() == C.nrows() && B.ncols() == C.ncols()) { for (int col = 0; col < C.ncols(); col++) { Telement::gemm_upper_tr_only(tA, tB, alpha, A(0,col), B(0,col), beta_tmp, C(col,col)); for(int cola = 1; cola < A.nrows(); cola++) Telement::gemm_upper_tr_only(tA, tB, alpha, A(cola, col), B(cola, col), 1.0, C(col, col)); for (int row = 0; row < col; row++) { Telement::gemm(tA, tB, alpha, A(0,row), B(0,col), beta_tmp, C(row,col)); for(int cola = 1; cola < A.nrows(); cola++) Telement::gemm(tA, tB, alpha, A(cola, row), B(cola, col), 1.0, C(row,col)); } } } else throw Failure("Matrix::" "gemm_upper_tr_only(bool, bool, Treal, " "Matrix, " "Matrix, " "Treal, Matrix): " "Incorrect matrixdimensions for multiplication"); else if (!tA && tB) if (A.ncols() == B.ncols() && A.nrows() == C.nrows() && B.nrows() == C.ncols()) { for (int col = 0; col < C.ncols(); col++) { Telement::gemm_upper_tr_only(tA, tB, alpha, A(col, 0), B(col, 0), beta_tmp, C(col,col)); for(int cola = 1; cola < A.ncols(); cola++) Telement::gemm_upper_tr_only(tA, tB, alpha, A(col, cola), B(col, cola), 1.0, C(col,col)); for (int row = 0; row < col; row++) { Telement::gemm(tA, tB, alpha, A(row, 0), B(col, 0), beta_tmp, C(row,col)); for(int cola = 1; cola < A.ncols(); cola++) Telement::gemm(tA, tB, alpha, A(row, cola), B(col, cola), 1.0, C(row,col)); } } } else throw Failure("Matrix::" "gemm_upper_tr_only(bool, bool, Treal, " "Matrix, " "Matrix, " "Treal, Matrix): " "Incorrect matrixdimensions for multiplication"); else if (tA && tB) if (A.nrows() == B.ncols() && A.ncols() == C.nrows() && B.nrows() == C.ncols()) { for (int col = 0; col < C.ncols(); col++) { Telement::gemm_upper_tr_only(tA, tB, alpha, A(0, col), B(col, 0), beta_tmp, C(col,col)); for(int cola = 1; cola < A.nrows(); cola++) Telement::gemm_upper_tr_only(tA, tB, alpha, A(cola, col), B(col, cola), 1.0, C(col,col)); for (int row = 0; row < col; row++) { Telement::gemm(tA, tB, alpha, A(0, row), B(col, 0), beta_tmp, C(row,col)); for(int cola = 1; cola < A.nrows(); cola++) Telement::gemm(tA, tB, alpha, A(cola, row), B(col, cola), 1.0, C(row,col)); } } } else throw Failure("Matrix::" "gemm_upper_tr_only(bool, bool, Treal, " "Matrix, " "Matrix, Treal, " "Matrix): " "Incorrect matrixdimensions for multiplication"); else throw Failure("Matrix::" "gemm_upper_tr_only(bool, bool, Treal, " "Matrix, " "Matrix, Treal, " "Matrix):" "Very strange error!!"); } else C *= beta; } } /* A = alpha * A * Z or A = alpha * Z * A where A is symmetric, */ /* Z is upper triangular and */ /* only the upper triangle of the result is calculated */ /* side == 'R' for A = alpha * A * Z */ /* side == 'L' for A = alpha * Z * A */ template void Matrix:: sytr_upper_tr_only(char const side, const Treal alpha, Matrix& A, const Matrix& Z) { assert(!A.is_empty()); assert(!Z.is_empty()); if (alpha != 0 && !A.is_zero() && !Z.is_zero()) { if (A.nrows() == A.ncols() && Z.nrows() == Z.ncols() && A.nrows() == Z.nrows()) { if (side == 'R') { /* Last column must be calculated first */ for (int col = A.ncols() - 1; col >= 0; col--) { // A(col, col) = alpha * A(col, col) * Z(col, col) Telement::sytr_upper_tr_only(side, alpha, A(col, col), Z(col, col)); for (int ind = 0; ind < col; ind++) { // A(col, col) += alpha * A(ind, col)' * Z(ind, col) Telement::gemm_upper_tr_only(true, false, alpha, A(ind, col), Z(ind, col), 1.0, A(col, col)); } /* Last row must be calculated first */ for (int row = col - 1; row >= 0; row--) { // A(row, col) = alpha * A(row, col) * Z(col, col); Telement::trmm(side, 'U', false, alpha, Z(col, col), A(row, col)); // A(row, col) += alpha * A(row, row) * Z(row, col); Telement::symm('L', 'U', alpha, A(row, row), Z(row, col), 1.0, A(row, col)); for (int ind = 0; ind < row; ind++) { // A(row, col) += alpha * A(ind, row)' * Z(ind, col); Telement::gemm(true, false, alpha, A(ind, row), Z(ind, col), 1.0, A(row, col)); } for (int ind = row + 1; ind < col; ind++) { // A(row, col) += alpha * A(row, ind) * Z(ind, col); Telement::gemm(false, false, alpha, A(row, ind), Z(ind, col), 1.0, A(row, col)); } } } } else { /* side == 'L' */ assert(side == 'L'); /* First column must be calculated first */ for (int col = 0; col < A.ncols(); col++) { /* First row must be calculated first */ for (int row = 0; row < col; row++) { // A(row, col) = alpha * Z(row, row) * A(row, col) Telement::trmm(side, 'U', false, alpha, Z(row, row), A(row, col)); // A(row, col) += alpha * Z(row, col) * A(col, col) Telement::symm('R', 'U', alpha, A(col, col), Z(row, col), 1.0, A(row, col)); for (int ind = row + 1; ind < col; ind++) // A(row, col) += alpha * Z(row, ind) * A(ind, col) Telement::gemm(false, false, alpha, Z(row, ind), A(ind, col), 1.0, A(row, col)); for (int ind = col + 1; ind < A.nrows(); ind++) // A(row, col) += alpha * Z(row, ind) * A(col, ind)' Telement::gemm(false, true, alpha, Z(row, ind), A(col, ind), 1.0, A(row, col)); } Telement::sytr_upper_tr_only(side, alpha, A(col, col), Z(col, col)); for (int ind = col + 1; ind < A.ncols(); ind++) Telement::gemm_upper_tr_only(false, true, alpha, Z(col, ind), A(col, ind), 1.0, A(col, col)); } } } else throw Failure("Matrix::" "sytr_upper_tr_only: Incorrect matrix dimensions " "for symmetric-triangular multiplication"); } else A = 0; } /* The result B is assumed to be symmetric, i.e. only upper triangle */ /* calculated and hence only upper triangle of input B is used. */ template void Matrix:: trmm_upper_tr_only(const char side, const char uplo, const bool tA, const Treal alpha, const Matrix& A, Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (alpha != 0 && !A.is_zero() && !B.is_zero()) if (((side == 'R' && B.ncols() == A.nrows()) || (side == 'L' && A.ncols() == B.nrows())) && A.nrows() == A.ncols()) if (uplo == 'U') if (!tA) { throw Failure("Matrix::" "trmm_upper_tr_only : " "not possible for upper triangular not transposed " "matrices A since lower triangle of B is needed"); } /* end if (tA == false) */ else { assert(tA == true); if (side == 'R') { /* First column must be calculated first */ for (int col = 0; col < B.ncols(); col++) { Telement::trmm_upper_tr_only(side, uplo, tA, alpha, A(col,col), B(col,col)); for (int ind = col + 1; ind < A.ncols(); ind++) Telement::gemm_upper_tr_only(false, tA, alpha, B(col,ind), A(col,ind), 1.0, B(col,col)); for (int row = 0; row < col; row++) { Telement::trmm(side, uplo, tA, alpha, A(col,col), B(row,col)); for (int ind = col + 1; ind < A.ncols(); ind++) Telement::gemm(false, tA, alpha, B(row,ind), A(col,ind), 1.0, B(row,col)); } } } /* end if (side == 'R')*/ else { assert(side == 'L'); /* Last row must be calculated first */ for (int row = B.nrows() - 1; row >= 0; row--) { Telement::trmm_upper_tr_only(side, uplo, tA, alpha, A(row,row), B(row,row)); for (int ind = 0; ind < row; ind++) Telement::gemm_upper_tr_only(tA, false, alpha, A(ind,row), B(ind,row), 1.0, B(row,row)); for (int col = row + 1; col < B.ncols(); col++) { Telement::trmm(side, uplo, tA, alpha, A(row,row), B(row,col)); for (int ind = 0; ind < row; ind++) Telement::gemm(tA, false, alpha, A(ind,row), B(ind,col), 1.0, B(row,col)); } } } /* end else (side == 'L')*/ } /* end else (tA == true)*/ else throw Failure("Matrix::" "trmm_upper_tr_only not implemented for lower " "triangular matrices"); else throw Failure("Matrix::" "trmm_upper_tr_only: Incorrect matrix dimensions " "for multiplication"); else B = 0; } /* A = Z' * A * Z or A = Z * A * Z' */ /* where A is symmetric and Z is (nonunit) upper triangular */ /* side == 'R' for A = Z' * A * Z */ /* side == 'L' for A = Z * A * Z' */ template void Matrix:: trsytriplemm(char const side, const Matrix& Z, Matrix& A) { if (side == 'R') { Matrix:: sytr_upper_tr_only('R', 1.0, A, Z); Matrix:: trmm_upper_tr_only('L', 'U', true, 1.0, Z, A); } else { assert(side == 'L'); Matrix:: sytr_upper_tr_only('L', 1.0, A, Z); Matrix:: trmm_upper_tr_only('R', 'U', true, 1.0, Z, A); } } template Treal Matrix:: frob_squared_thresh(Treal const threshold, Matrix * ErrorMatrix) { assert(!this->is_empty()); if (ErrorMatrix && ErrorMatrix->is_empty()) { ErrorMatrix->resetRows(this->rows); ErrorMatrix->resetCols(this->cols); } assert(threshold >= (Treal)0.0); if (threshold == (Treal)0.0) return 0; std::vector frobsq_norms; getFrobSqLowestLevel(frobsq_norms); /* Sort in ascending order */ std::sort(frobsq_norms.begin(), frobsq_norms.end()); int lastRemoved = -1; Treal frobsqSum = 0; int nnzBlocks = frobsq_norms.size(); while(lastRemoved < nnzBlocks - 1 && frobsqSum < threshold) { ++lastRemoved; frobsqSum += frobsq_norms[lastRemoved]; } /* Check if entire matrix will be removed */ if (lastRemoved == nnzBlocks - 1 && frobsqSum < threshold) { if (ErrorMatrix) Matrix::swap(*this, *ErrorMatrix); else *this = 0; } else { frobsqSum -= frobsq_norms[lastRemoved]; --lastRemoved; while(lastRemoved > -1 && frobsq_norms[lastRemoved] == frobsq_norms[lastRemoved + 1]) { frobsqSum -= frobsq_norms[lastRemoved]; --lastRemoved; } if (lastRemoved > -1) { Treal threshLowestLevel = (frobsq_norms[lastRemoved + 1] + frobsq_norms[lastRemoved]) / 2; this->frobThreshLowestLevel(threshLowestLevel, ErrorMatrix); } } return frobsqSum; } template void Matrix:: syInch(const Matrix& A, Matrix& Z, const Treal threshold, const side looking, const inchversion version) { assert(!A.is_empty()); if (A.nrows() != A.ncols()) throw Failure("Matrix::sy_inch: " "Matrix must be quadratic!"); if (A.is_zero()) throw Failure("Matrix::sy_inch: Matrix is zero! " "Not possible to compute inverse cholesky."); if (version == stable) /* STABILIZED */ throw Failure("Matrix::sy_inch: Only unstable " "version of sy_inch implemented."); Treal myThresh = 0; if (threshold != 0) myThresh = threshold / (Z.ncols() * Z.nrows()); Z.resetRows(A.rows); Z.resetCols(A.cols); Z.allocate(); if (looking == left) { /* LEFT-LOOKING INCH */ if (threshold != 0) throw Failure("Matrix::syInch: " "Thresholding not implemented for left-looking inch."); /* Left and unstable */ Telement::syInch(A(0,0), Z(0,0), threshold, looking, version); Telement Ptmp;//, tmp; for (int i = 1; i < Z.ncols(); i++) { for (int j = 0; j < i; j++) { /* Z(k,i) is nonzero for k = 0, 1, ...,j - 2, j - 1, i */ /* and Z(i,i) = I (yes it is i ^) */ Ptmp = A(j,i); /* (Z(i,i) == I) */ for (int k = 0; k < j; k++) /* Ptmp = A(j,:) * Z(:,i) */ Telement::gemm(true, false, 1.0, /* SYMMETRY USED */ A(k,j), Z(k,i), 1.0, Ptmp); Telement::trmm('L', 'U', true, 1.0, Z(j,j), Ptmp); for (int k = 0; k < j; k++) /* Z(:,i) -= Z(:,j) * Ptmp */ Telement::gemm(false, false, -1.0, Z(k,j), Ptmp, 1.0, Z(k,i)); /* Z(j,j) is triangular: */ Telement::trmm('L', 'U', false, -1.0, Z(j,j), Ptmp); Telement::add(1.0, Ptmp, Z(j,i)); } Ptmp = A(i,i); /* Z(i,i) == I */ for (int k = 0; k < i; k++) /* SYMMETRY USED */ Telement::gemm_upper_tr_only(true, false, 1.0, A(k,i), Z(k,i), 1.0, Ptmp); /* Z(i,i) == I !! */ /* Z(:,i) *= INCH(Ptmp) */ Telement::syInch(Ptmp, Z(i,i), threshold, looking, version); for (int k = 0; k < i; k++) { Telement::trmm('R', 'U', false, 1.0, Z(i,i), Z(k,i)); /* INCH(Ptmp) is upper triangular*/ } } } /* end if left-looking inch */ else { /* RIGHT-LOOKING INCH */ assert(looking == right); /* right and unstable */ Telement Ptmp; Treal newThresh = 0; if (myThresh != 0 && Z.ncols() > 1) newThresh = myThresh * 0.0001; else newThresh = myThresh; for (int i = 0; i < Z.ncols(); i++) { /* Ptmp = A(i,:) * Z(:,i) */ Ptmp = A(i,i); /* Z(i,i) == I */ for (int k = 0; k < i; k++) Telement::gemm_upper_tr_only(true, false, 1.0, /* SYMMETRY USED */ A(k,i), Z(k,i), 1.0, Ptmp); /* Z(:,i) *= INCH(Ptmp) */ Telement::syInch(Ptmp, Z(i,i), newThresh, looking, version); for (int k = 0; k < i; k++) { Telement::trmm('R', 'U', false, 1.0, Z(i,i), Z(k,i)); /* INCH(Ptmp) is upper triangular */ } for (int j = i + 1; j < Z.ncols(); j++) { /* Compute Ptmp = Z(i,i)^T * A(i,:) * Z(:,j) */ /* Z(k,j) is nonzero for k = 0, 1, ...,i - 2, i - 1, j */ /* and Z(j,j) = I */ Ptmp = A(i,j); /* (Z(j,j) == I) */ for (int k = 0; k < i; k++) /* Ptmp = A(i,:) * Z(:,j) */ Telement::gemm(true, false, 1.0, /* SYMMETRY USED */ A(k,i), Z(k,j), 1.0, Ptmp); Telement::trmm('L', 'U', true, 1.0, Z(i,i), Ptmp); for (int k = 0; k < i; k++) /* Z(:,j) -= Z(:,i) * Ptmp */ Telement::gemm(false, false, -1.0, Z(k,i), Ptmp, 1.0, Z(k,j)); /* Z(i,i) is triangular: */ Telement::trmm('L', 'U', false, -1.0, Z(i,i), Ptmp); Telement::add(1.0, Ptmp, Z(i,j)); } /* end for j */ /* Truncation starts here */ if (threshold != 0) { for (int k = 0; k < i; k++) Z(k,i).frob_thresh(myThresh); } } /* end for i */ } /* end else right-looking inch */ } template void Matrix:: gershgorin(Treal& lmin, Treal& lmax) const { assert(!this->is_empty()); if (this->nScalarsRows() == this->nScalarsCols()) { int size = this->nScalarsCols(); Treal* colsums = new Treal[size]; Treal* diag = new Treal[size]; for (int ind = 0; ind < size; ind++) colsums[ind] = 0; this->add_abs_col_sums(colsums); this->get_diagonal(diag); Treal tmp1 = colsums[0] - template_blas_fabs(diag[0]); Treal tmp2; lmin = diag[0] - tmp1; lmax = diag[0] + tmp1; for (int col = 1; col < size; col++) { tmp1 = colsums[col] - template_blas_fabs(diag[col]); tmp2 = diag[col] - tmp1; lmin = (tmp2 < lmin ? tmp2 : lmin); tmp2 = diag[col] + tmp1; lmax = (tmp2 > lmax ? tmp2 : lmax); } delete[] diag; delete[] colsums; } else throw Failure("Matrix::gershgorin(Treal, Treal): " "Matrix must be quadratic"); } template void Matrix:: add_abs_col_sums(Treal* sums) const { assert(sums); if (!this->is_zero()) { int offset = 0; for (int col = 0; col < this->ncols(); col++) { for (int row = 0; row < this->nrows(); row++) { (*this)(row,col).add_abs_col_sums(&sums[offset]); } offset += (*this)(0,col).nScalarsCols(); } } } template void Matrix:: get_diagonal(Treal* diag) const { assert(diag); assert(this->nrows() == this->ncols()); if (this->is_zero()) for (int rc = 0; rc < this->nScalarsCols(); rc++) diag[rc] = 0; else { int offset = 0; for (int rc = 0; rc < this->ncols(); rc++) { (*this)(rc,rc).get_diagonal(&diag[offset]); offset += (*this)(rc,rc).nScalarsCols(); } } } template size_t Matrix::memory_usage() const { assert(!this->is_empty()); size_t sum = 0; if (this->is_zero()) return (size_t)0; for (int ind = 0; ind < this->nElements(); ind++) sum += this->elements[ind].memory_usage(); return sum; } template size_t Matrix::nnz() const { size_t sum = 0; if (!this->is_zero()) { for (int ind = 0; ind < this->nElements(); ind++) sum += this->elements[ind].nnz(); } return sum; } template size_t Matrix::sy_nnz() const { size_t sum = 0; if (!this->is_zero()) { /* Above diagonal */ for (int col = 1; col < this->ncols(); col++) for (int row = 0; row < col; row++) sum += (*this)(row, col).nnz(); /* Below diagonal */ sum *= 2; /* Diagonal */ for (int rc = 0; rc < this->nrows(); rc++) sum += (*this)(rc,rc).sy_nnz(); } return sum; } template size_t Matrix::sy_nvalues() const { size_t sum = 0; if (!this->is_zero()) { /* Above diagonal */ for (int col = 1; col < this->ncols(); col++) for (int row = 0; row < col; row++) sum += (*this)(row, col).nvalues(); /* Diagonal */ for (int rc = 0; rc < this->nrows(); rc++) sum += (*this)(rc,rc).sy_nvalues(); } return sum; } /***************************************************************************/ /***************************************************************************/ /* Specialization for Telement = Treal */ /***************************************************************************/ /***************************************************************************/ template class Matrix: public MatrixHierarchicBase { public: typedef Vector VectorType; friend class Vector; Matrix() :MatrixHierarchicBase() { } /* Matrix(const Atomblock& row_atoms, const Atomblock& col_atoms, bool z = true, int nr = 0, int nc = 0, char tr = 'N') :MatrixHierarchicBase(row_atoms, col_atoms, z, nr, nc,tr) {} */ void allocate() { assert(!this->is_empty()); assert(this->is_zero()); this->elements = allocateElements(this->nElements()); for (int ind = 0; ind < this->nElements(); ++ind) this->elements[ind] = 0; } /* Full matrix assigns etc */ void assignFromFull(std::vector const & fullMat); void fullMatrix(std::vector & fullMat) const; void syFullMatrix(std::vector & fullMat) const; void syUpTriFullMatrix(std::vector & fullMat) const; /* Sparse matrix assigns etc */ void assignFromSparse(std::vector const & rowind, std::vector const & colind, std::vector const & values); void assignFromSparse(std::vector const & rowind, std::vector const & colind, std::vector const & values, std::vector const & indexes); /* Adds values (+=) to elements */ void addValues(std::vector const & rowind, std::vector const & colind, std::vector const & values); void addValues(std::vector const & rowind, std::vector const & colind, std::vector const & values, std::vector const & indexes); void syAssignFromSparse(std::vector const & rowind, std::vector const & colind, std::vector const & values); void syAddValues(std::vector const & rowind, std::vector const & colind, std::vector const & values); void getValues(std::vector const & rowind, std::vector const & colind, std::vector & values) const; void getValues(std::vector const & rowind, std::vector const & colind, std::vector & values, std::vector const & indexes) const; void syGetValues(std::vector const & rowind, std::vector const & colind, std::vector & values) const; void getAllValues(std::vector & rowind, std::vector & colind, std::vector & values) const; void syGetAllValues(std::vector & rowind, std::vector & colind, std::vector & values) const; Matrix& operator=(const Matrix& mat) { MatrixHierarchicBase::operator=(mat); return *this; } void clear(); /**< Set matrix to zero and delete all arrays */ ~Matrix() { clear(); } void writeToFile(std::ofstream & file) const; void readFromFile(std::ifstream & file); void random(); void syRandom(); void randomZeroStructure(Treal probabilityBeingZero); void syRandomZeroStructure(Treal probabilityBeingZero); template void setElementsByRule(TRule & rule); template void sySetElementsByRule(TRule & rule); void addIdentity(Treal alpha); /* C += alpha * I */ static void transpose(Matrix const & A, Matrix & AT); void symToNosym(); void nosymToSym(); /* Set matrix to zero (k = 0) or identity (k = 1) */ Matrix& operator=(int const k); Matrix& operator*=(const Treal alpha); static void gemm(const bool tA, const bool tB, const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C); static void symm(const char side, const char uplo, const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C); static void syrk(const char uplo, const bool tA, const Treal alpha, const Matrix& A, const Treal beta, Matrix& C); /* C = beta * C + alpha * A * A where A and C are symmetric */ static void sysq(const char uplo, const Treal alpha, const Matrix& A, const Treal beta, Matrix& C); /* C = alpha * A * B + beta * C where A and B are symmetric */ static void ssmm(const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C); /* C = alpha * A * B + beta * C where A and B are symmetric * and only the upper triangle of C is computed. */ static void ssmm_upper_tr_only(const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C); static void trmm(const char side, const char uplo, const bool tA, const Treal alpha, const Matrix& A, Matrix& B); /* Frobenius norms */ inline Treal frob() const {return template_blas_sqrt(frobSquared());} Treal frobSquared() const; inline Treal syFrob() const { return template_blas_sqrt(this->syFrobSquared()); } Treal syFrobSquared() const; inline static Treal frobDiff (const Matrix& A, const Matrix& B) { return template_blas_sqrt(frobSquaredDiff(A, B)); } static Treal frobSquaredDiff (const Matrix& A, const Matrix& B); inline static Treal syFrobDiff (const Matrix& A, const Matrix& B) { return template_blas_sqrt(syFrobSquaredDiff(A, B)); } static Treal syFrobSquaredDiff (const Matrix& A, const Matrix& B); Treal trace() const; static Treal trace_ab(const Matrix& A, const Matrix& B); static Treal trace_aTb(const Matrix& A, const Matrix& B); static Treal sy_trace_ab(const Matrix& A, const Matrix& B); static void add(const Treal alpha, /* B += alpha * A */ const Matrix& A, Matrix& B); void assign(Treal const alpha, /* *this = alpha * A */ Matrix const & A); /********** Help functions for thresholding */ // int getnnzBlocksLowestLevel() const; void getFrobSqLowestLevel(std::vector & frobsq) const; void frobThreshLowestLevel (Treal const threshold, Matrix * ErrorMatrix); void getFrobSqElementLevel(std::vector & frobsq) const; void frobThreshElementLevel (Treal const threshold, Matrix * ErrorMatrix); #if 0 inline void frobThreshLowestLevel (Treal const threshold, Matrix * ErrorMatrix) { bool a,b; frobThreshLowestLevel(threshold, ErrorMatrix, a, b); } #endif void assignFrobNormsLowestLevel ( Matrix > const & A ) { if (!A.is_zero()) { if ( this->is_zero() ) this->allocate(); assert( this->nElements() == A.nElements() ); for (int ind = 0; ind < this->nElements(); ind++) this->elements[ind] = A[ind].frob(); } else this->clear(); } void syAssignFrobNormsLowestLevel( Matrix > const & A ) { if (!A.is_zero()) { if ( this->is_zero() ) this->allocate(); assert( this->nElements() == A.nElements() ); for (int col = 1; col < this->ncols(); col++) for (int row = 0; row < col; row++) (*this)(row,col) = A(row,col).frob(); for (int rc = 0; rc < this->nrows(); rc++) (*this)(rc,rc) = A(rc,rc).syFrob(); } else this->clear(); } void assignDiffFrobNormsLowestLevel( Matrix > const & A, Matrix > const & B ) { if ( A.is_zero() && B.is_zero() ) { // Both A and B are zero this->clear(); return; } // At least one of A and B is nonzero if ( this->is_zero() ) this->allocate(); if ( !A.is_zero() && !B.is_zero() ) { // Both are nonzero assert( this->nElements() == A.nElements() ); assert( this->nElements() == B.nElements() ); for (int ind = 0; ind < this->nElements(); ind++) { Matrix Diff(A[ind]); Matrix::add( -1.0, B[ind], Diff ); this->elements[ind] = Diff.frob(); } return; } if ( !A.is_zero() ) { // A is nonzero this->assignFrobNormsLowestLevel( A ); return; } if ( !B.is_zero() ) { // B is nonzero this->assignFrobNormsLowestLevel( B ); return; } } void syAssignDiffFrobNormsLowestLevel( Matrix > const & A, Matrix > const & B ) { if ( A.is_zero() && B.is_zero() ) { // Both A and B are zero this->clear(); return; } // At least one of A and B is nonzero if ( this->is_zero() ) this->allocate(); if ( !A.is_zero() && !B.is_zero() ) { // Both are nonzero assert( this->nElements() == A.nElements() ); assert( this->nElements() == B.nElements() ); for (int col = 1; col < this->ncols(); col++) for (int row = 0; row < col; row++) { Matrix Diff(A(row,col)); Matrix::add( -1.0, B(row,col), Diff ); (*this)(row, col) = Diff.frob(); } for (int rc = 0; rc < this->ncols(); rc++) { Matrix Diff( A(rc,rc) ); Matrix::add( -1.0, B(rc,rc), Diff ); (*this)(rc, rc) = Diff.syFrob(); } return; } if ( !A.is_zero() ) { // A is nonzero this->syAssignFrobNormsLowestLevel( A ); return; } if ( !B.is_zero() ) { // B is nonzero this->syAssignFrobNormsLowestLevel( B ); return; } } void truncateAccordingToSparsityPattern( Matrix > & A ) const { if ( this->is_zero() ) A.clear(); else { assert( !A.is_zero() ); assert( this->nElements() == A.nElements() ); for (int ind = 0; ind < this->nElements(); ind++) if (this->elements[ind] == 0) A[ind].clear(); } } /********** End of help functions for thresholding */ static void gemm_upper_tr_only(const bool tA, const bool tB, const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C); static void sytr_upper_tr_only(char const side, const Treal alpha, Matrix& A, const Matrix& Z); static void trmm_upper_tr_only(const char side, const char uplo, const bool tA, const Treal alpha, const Matrix& A, Matrix& B); static void trsytriplemm(char const side, const Matrix& Z, Matrix& A); inline Treal frob_thresh(Treal const threshold, Matrix * ErrorMatrix = 0) { return template_blas_sqrt (frob_squared_thresh(threshold * threshold, ErrorMatrix)); } /* Returns the Frobenius norm of the introduced error */ Treal frob_squared_thresh(Treal const threshold, Matrix * ErrorMatrix = 0); static void inch(const Matrix& A, Matrix& Z, const Treal threshold = 0, const side looking = left, const inchversion version = unstable); static void syInch(const Matrix& A, Matrix& Z, const Treal threshold = 0, const side looking = left, const inchversion version = unstable) { inch(A, Z, threshold, looking, version); } void gershgorin(Treal& lmin, Treal& lmax) const; void sy_gershgorin(Treal& lmin, Treal& lmax) const { Matrix tmp = (*this); tmp.symToNosym(); tmp.gershgorin(lmin, lmax); return; } void add_abs_col_sums(Treal* abscolsums) const; void get_diagonal(Treal* diag) const; /* Copy diagonal to the diag array */ inline size_t memory_usage() const { /* Returns memory usage in bytes */ assert(!this->is_empty()); if (this->is_zero()) return (size_t)0; else return (size_t)this->nElements() * sizeof(Treal); } inline size_t nnz() const { if (this->is_zero()) return 0; else return this->nElements(); } /**< Returns number of nonzeros in matrix. */ inline size_t sy_nnz() const { if (this->is_zero()) return 0; else return this->nElements(); } /**< Returns number of nonzeros in matrix * including lower triangle elements. */ inline size_t nvalues() const { return nnz(); } /**< Returns number of stored values in matrix. * Returns same number as nnz() */ size_t sy_nvalues() const { assert(this->nScalarsRows() == this->nScalarsCols()); int n = this->nrows(); return this->is_zero() ? 0 : n * (n + 1) / 2; } /**< Returns number of stored values in matrix. * Lower triangle is not included. * Different from sy_nnz(). */ template Treal syAccumulateWith(Top & op) { Treal res = 0; if (!this->is_zero()) { int rowOffset = this->rows.getOffset(); int colOffset = this->cols.getOffset(); for (int col = 0; col < this->ncols(); col++) { for (int row = 0; row < col; row++) { res += 2*op.accumulate((*this)(row, col), rowOffset + row, colOffset + col); } res += op.accumulate((*this)(col, col), rowOffset + col, colOffset + col); } } return res; } template Treal geAccumulateWith(Top & op) { Treal res = 0; if (!this->is_zero()) { int rowOffset = this->rows.getOffset(); int colOffset = this->cols.getOffset(); for (int col = 0; col < this->ncols(); col++) for (int row = 0; row < this->nrows(); row++) res += op.accumulate((*this)(row, col), rowOffset + row, colOffset + col); } return res; } static inline unsigned int level() {return 0;} Treal maxAbsValue() const { if (this->is_zero()) return 0; else { Treal maxAbsGlobal = 0; Treal maxAbsLocal = 0; for (int ind = 0; ind < this->nElements(); ++ind) { maxAbsLocal = template_blas_fabs(this->elements[ind]); maxAbsGlobal = maxAbsGlobal > maxAbsLocal ? maxAbsGlobal : maxAbsLocal; } /* end for */ return maxAbsGlobal; } } /* New routines above */ #if 0 /* OLD ROUTINES */ #if 0 inline Matrix& operator=(const Matrix& mat) { this->MatrixHierarchicBase::operator=(mat); std::cout<<"operator="< */ template const Treal Matrix::ZERO = 0; template const Treal Matrix::ONE = 1; #if 1 /* Full matrix assigns etc */ template void Matrix:: assignFromFull(std::vector const & fullMat) { int nTotalRows = this->rows.getNTotalScalars(); int nTotalCols = this->cols.getNTotalScalars(); assert((int)fullMat.size() == nTotalRows * nTotalCols); int rowOffset = this->rows.getOffset(); int colOffset = this->cols.getOffset(); if (this->is_zero()) allocate(); for (int col = 0; col < this->ncols(); col++) for (int row = 0; row < this->nrows(); row++) (*this)(row, col) = fullMat[(colOffset + col) * nTotalRows + (rowOffset + row)]; } template void Matrix:: fullMatrix(std::vector & fullMat) const { int nTotalRows = this->rows.getNTotalScalars(); int nTotalCols = this->cols.getNTotalScalars(); fullMat.resize(nTotalRows * nTotalCols); int rowOffset = this->rows.getOffset(); int colOffset = this->cols.getOffset(); if (this->is_zero()) { for (int col = 0; col < this->nScalarsCols(); col++) for (int row = 0; row < this->nScalarsRows(); row++) fullMat[(colOffset + col) * nTotalRows + (rowOffset + row)] = 0; } else { for (int col = 0; col < this->ncols(); col++) for (int row = 0; row < this->nrows(); row++) fullMat[(colOffset + col) * nTotalRows + (rowOffset + row)] = (*this)(row, col); } } template void Matrix:: syFullMatrix(std::vector & fullMat) const { int nTotalRows = this->rows.getNTotalScalars(); int nTotalCols = this->cols.getNTotalScalars(); fullMat.resize(nTotalRows * nTotalCols); int rowOffset = this->rows.getOffset(); int colOffset = this->cols.getOffset(); if (this->is_zero()) { for (int col = 0; col < this->nScalarsCols(); col++) for (int row = 0; row <= col; row++) { fullMat[(colOffset + col) * nTotalRows + (rowOffset + row)] = 0; fullMat[(rowOffset + row) * nTotalRows + (colOffset + col)] = 0; } } else { for (int col = 0; col < this->ncols(); col++) for (int row = 0; row <= col; row++) { fullMat[(colOffset + col) * nTotalRows + (rowOffset + row)] = (*this)(row, col); fullMat[(rowOffset + row) * nTotalRows + (colOffset + col)] = (*this)(row, col); } } } template void Matrix:: syUpTriFullMatrix(std::vector & fullMat) const { int nTotalRows = this->rows.getNTotalScalars(); int nTotalCols = this->cols.getNTotalScalars(); fullMat.resize(nTotalRows * nTotalCols); int rowOffset = this->rows.getOffset(); int colOffset = this->cols.getOffset(); if (this->is_zero()) { for (int col = 0; col < this->nScalarsCols(); col++) for (int row = 0; row <= this->nScalarsRows(); row++) { fullMat[(colOffset + col) * nTotalRows + (rowOffset + row)] = 0; fullMat[(rowOffset + row) * nTotalRows + (colOffset + col)] = 0; } } else { for (int col = 0; col < this->ncols(); col++) for (int row = 0; row < this->nrows(); row++) { fullMat[(colOffset + col) * nTotalRows + (rowOffset + row)] = (*this)(row, col); fullMat[(rowOffset + row) * nTotalRows + (colOffset + col)] = (*this)(row, col); } } } #endif template void Matrix:: assignFromSparse(std::vector const & rowind, std::vector const & colind, std::vector const & values) { assert(rowind.size() == colind.size() && rowind.size() == values.size()); std::vector indexes(values.size()); for (int ind = 0; ind < values.size(); ++ind) { indexes[ind] = ind; } assignFromSparse(rowind, colind, values, indexes); } template void Matrix:: assignFromSparse(std::vector const & rowind, std::vector const & colind, std::vector const & values, std::vector const & indexes) { if (indexes.empty()) { this->clear(); return; } if (this->is_zero()) allocate(); for (int ind = 0; ind < this->nElements(); ++ind) this->elements[ind] = 0; std::vector::const_iterator it; for ( it = indexes.begin(); it < indexes.end(); it++ ) { (*this)(this->rows.whichBlock( rowind[*it] ), this->cols.whichBlock( colind[*it] )) = values[*it]; } } template void Matrix:: addValues(std::vector const & rowind, std::vector const & colind, std::vector const & values) { assert(rowind.size() == colind.size() && rowind.size() == values.size()); std::vector indexes(values.size()); for (int ind = 0; ind < values.size(); ++ind) { indexes[ind] = ind; } addValues(rowind, colind, values, indexes); } template void Matrix:: addValues(std::vector const & rowind, std::vector const & colind, std::vector const & values, std::vector const & indexes) { if (indexes.empty()) return; if (this->is_zero()) allocate(); std::vector::const_iterator it; for ( it = indexes.begin(); it < indexes.end(); it++ ) { (*this)(this->rows.whichBlock( rowind[*it] ), this->cols.whichBlock( colind[*it] )) += values[*it]; } } template void Matrix:: syAssignFromSparse(std::vector const & rowind, std::vector const & colind, std::vector const & values) { assert(rowind.size() == colind.size() && rowind.size() == values.size()); bool upperTriangleOnly = true; for (int ind = 0; ind < values.size(); ++ind) { upperTriangleOnly = upperTriangleOnly && colind[ind] >= rowind[ind]; } if (!upperTriangleOnly) throw Failure("Matrix::" "syAddValues(std::vector const &, " "std::vector const &, " "std::vector const &, int const): " "Only upper triangle can contain elements when assigning " "symmetric or triangular matrix "); assignFromSparse(rowind, colind, values); } template void Matrix:: syAddValues(std::vector const & rowind, std::vector const & colind, std::vector const & values) { assert(rowind.size() == colind.size() && rowind.size() == values.size()); bool upperTriangleOnly = true; for (int ind = 0; ind < values.size(); ++ind) { upperTriangleOnly = upperTriangleOnly && colind[ind] >= rowind[ind]; } if (!upperTriangleOnly) throw Failure("Matrix::" "syAddValues(std::vector const &, " "std::vector const &, " "std::vector const &, int const): " "Only upper triangle can contain elements when assigning " "symmetric or triangular matrix "); addValues(rowind, colind, values); } template void Matrix:: getValues(std::vector const & rowind, std::vector const & colind, std::vector & values) const { assert(rowind.size() == colind.size()); values.resize(rowind.size(),0); std::vector indexes(rowind.size()); for (int ind = 0; ind < rowind.size(); ++ind) { indexes[ind] = ind; } getValues(rowind, colind, values, indexes); } template void Matrix:: getValues(std::vector const & rowind, std::vector const & colind, std::vector & values, std::vector const & indexes) const { assert(!this->is_empty()); if (indexes.empty()) return; std::vector::const_iterator it; if (this->is_zero()) { for ( it = indexes.begin(); it < indexes.end(); it++ ) values[*it] = 0; return; } for ( it = indexes.begin(); it < indexes.end(); it++ ) values[*it] = (*this)(this->rows.whichBlock( rowind[*it] ), this->cols.whichBlock( colind[*it] )); } template void Matrix:: syGetValues(std::vector const & rowind, std::vector const & colind, std::vector & values) const { assert(rowind.size() == colind.size()); bool upperTriangleOnly = true; for (int ind = 0; ind < rowind.size(); ++ind) { upperTriangleOnly = upperTriangleOnly && colind[ind] >= rowind[ind]; } if (!upperTriangleOnly) throw Failure("Matrix::" "syGetValues(std::vector const &, " "std::vector const &, " "std::vector const &, int const): " "Only upper triangle when retrieving elements from " "symmetric or triangular matrix "); getValues(rowind, colind, values); } template void Matrix:: getAllValues(std::vector & rowind, std::vector & colind, std::vector & values) const { assert(rowind.size() == colind.size() && rowind.size() == values.size()); if (!this->is_zero()) for (int col = 0; col < this->ncols(); col++) for (int row = 0; row < this->nrows(); row++) { rowind.push_back(this->rows.getOffset() + row); colind.push_back(this->cols.getOffset() + col); values.push_back((*this)(row, col)); } } template void Matrix:: syGetAllValues(std::vector & rowind, std::vector & colind, std::vector & values) const { assert(rowind.size() == colind.size() && rowind.size() == values.size()); if (!this->is_zero()) for (int col = 0; col < this->ncols(); ++col) for (int row = 0; row <= col; ++row) { rowind.push_back(this->rows.getOffset() + row); colind.push_back(this->cols.getOffset() + col); values.push_back((*this)(row, col)); } } template void Matrix::clear() { freeElements(this->elements); this->elements = 0; } template void Matrix:: writeToFile(std::ofstream & file) const { int const ZERO = 0; int const ONE = 1; if (this->is_zero()) { char * tmp = (char*)&ZERO; file.write(tmp,sizeof(int)); } else { char * tmp = (char*)&ONE; file.write(tmp,sizeof(int)); char * tmpel = (char*)this->elements; file.write(tmpel,sizeof(Treal) * this->nElements()); } } template void Matrix:: readFromFile(std::ifstream & file) { int const ZERO = 0; int const ONE = 1; char tmp[sizeof(int)]; file.read(tmp, (std::ifstream::pos_type)sizeof(int)); switch ((int)*tmp) { case ZERO: this->clear(); break; case ONE: if (this->is_zero()) allocate(); file.read((char*)this->elements, sizeof(Treal) * this->nElements()); break; default: throw Failure("Matrix::" "readFromFile(std::ifstream & file):" "File corruption, int value not 0 or 1"); } } template void Matrix::random() { if (this->is_zero()) allocate(); for (int ind = 0; ind < this->nElements(); ind++) this->elements[ind] = rand() / (Treal)RAND_MAX; } template void Matrix::syRandom() { if (this->is_zero()) allocate(); /* Above diagonal */ for (int col = 1; col < this->ncols(); col++) for (int row = 0; row < col; row++) (*this)(row, col) = rand() / (Treal)RAND_MAX;; /* Diagonal */ for (int rc = 0; rc < this->nrows(); rc++) (*this)(rc,rc) = rand() / (Treal)RAND_MAX;; } template void Matrix:: randomZeroStructure(Treal probabilityBeingZero) { if (!this->highestLevel() && probabilityBeingZero > rand() / (Treal)RAND_MAX) this->clear(); else this->random(); } template void Matrix:: syRandomZeroStructure(Treal probabilityBeingZero) { if (!this->highestLevel() && probabilityBeingZero > rand() / (Treal)RAND_MAX) this->clear(); else this->syRandom(); } template template void Matrix:: setElementsByRule(TRule & rule) { if (this->is_zero()) allocate(); for (int col = 0; col < this->ncols(); col++) for (int row = 0; row < this->nrows(); row++) (*this)(row,col) = rule.set(this->rows.getOffset() + row, this->cols.getOffset() + col); } template template void Matrix:: sySetElementsByRule(TRule & rule) { if (this->is_zero()) allocate(); /* Upper triangle */ for (int col = 0; col < this->ncols(); col++) for (int row = 0; row <= col; row++) (*this)(row,col) = rule.set(this->rows.getOffset() + row, this->cols.getOffset() + col); } template void Matrix:: addIdentity(Treal alpha) { if (this->is_empty()) throw Failure("Matrix::addIdentity(Treal): " "Cannot add identity to empty matrix."); if (this->ncols() != this->nrows()) throw Failure("Matrix::addIdentity(Treal): " "Matrix must be square to add identity"); if (this->is_zero()) allocate(); for (int ind = 0; ind < this->ncols(); ind++) (*this)(ind,ind) += alpha; } template void Matrix:: transpose(Matrix const & A, Matrix & AT) { if (A.is_zero()) { /* Condition also matches empty matrices. */ AT.rows = A.cols; AT.cols = A.rows; freeElements(AT.elements); AT.elements = 0; return; } if (AT.is_zero() || (AT.nElements() != A.nElements())) { freeElements(AT.elements); AT.elements = allocateElements(A.nElements()); } AT.cols = A.rows; AT.rows = A.cols; for (int row = 0; row < AT.nrows(); row++) for (int col = 0; col < AT.ncols(); col++) AT(row,col) = A(col,row); } template void Matrix:: symToNosym() { if (this->nrows() == this->ncols()) { if (!this->is_zero()) { /* Diagonal should be fine */ /* Fix the lower triangle */ for (int row = 1; row < this->nrows(); row++) for (int col = 0; col < row; col++) (*this)(row, col) = (*this)(col, row); } } else throw Failure("Matrix::symToNosym(): " "Only quadratic matrices can be symmetric"); } template void Matrix:: nosymToSym() { if (this->nrows() == this->ncols()) { if (!this->is_zero()) { /* Diagonal should be fine */ /* Fix the lower triangle */ for (int col = 0; col < this->ncols() - 1; col++) for (int row = col + 1; row < this->nrows(); row++) (*this)(row, col) = 0; } } else throw Failure("Matrix::nosymToSym(): " "Only quadratic matrices can be symmetric"); } template Matrix& Matrix::operator=(int const k) { switch (k) { case 0: this->clear(); break; case 1: if (this->ncols() != this->nrows()) throw Failure("Matrix::operator=(int k = 1): " "Matrix must be quadratic to " "become identity matrix."); this->clear(); this->allocate(); for (int rc = 0; rc < this->ncols(); rc++) /*Set diagonal to identity*/ (*this)(rc,rc) = 1; break; default: throw Failure ("Matrix::operator=(int k) only implemented for k = 0, k = 1"); } return *this; } template Matrix& Matrix:: operator*=(const Treal alpha) { if (!this->is_zero() && alpha != 1) { for (int ind = 0; ind < this->nElements(); ind++) this->elements[ind] *= alpha; } return *this; } template void Matrix:: gemm(const bool tA, const bool tB, const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C) { assert(!A.is_empty()); assert(!B.is_empty()); if (C.is_empty()) { assert(beta == 0); if (tA) C.resetRows(A.cols); else C.resetRows(A.rows); if (tB) C.resetCols(B.rows); else C.resetCols(B.cols); } if ((A.is_zero() || B.is_zero() || alpha == 0) && (C.is_zero() || beta == 0)) C = 0; else { Treal beta_tmp = beta; if (C.is_zero()) { C.allocate(); beta_tmp = 0; } if (!A.is_zero() && !B.is_zero() && alpha != 0) { if (!tA && !tB) if (A.ncols() == B.nrows() && A.nrows() == C.nrows() && B.ncols() == C.ncols()) mat::gemm("N", "N", &A.nrows(), &B.ncols(), &A.ncols(), &alpha, A.elements, &A.nrows(), B.elements, &B.nrows(), &beta_tmp, C.elements, &C.nrows()); else throw Failure("Matrix::" "gemm(bool, bool, Treal, Matrix, " "Matrix, Treal, " "Matrix): " "Incorrect matrixdimensions for multiplication"); else if (tA && !tB) if (A.nrows() == B.nrows() && A.ncols() == C.nrows() && B.ncols() == C.ncols()) mat::gemm("T", "N", &A.ncols(), &B.ncols(), &A.nrows(), &alpha, A.elements, &A.nrows(), B.elements, &B.nrows(), &beta_tmp, C.elements, &C.nrows()); else throw Failure("Matrix::" "gemm(bool, bool, Treal, Matrix, " "Matrix, Treal, " "Matrix): " "Incorrect matrixdimensions for multiplication"); else if (!tA && tB) if (A.ncols() == B.ncols() && A.nrows() == C.nrows() && B.nrows() == C.ncols()) mat::gemm("N", "T", &A.nrows(), &B.nrows(), &A.ncols(), &alpha, A.elements, &A.nrows(), B.elements, &B.nrows(), &beta_tmp, C.elements, &C.nrows()); else throw Failure("Matrix::" "gemm(bool, bool, Treal, Matrix, " "Matrix, Treal, " "Matrix): " "Incorrect matrixdimensions for multiplication"); else if (tA && tB) if (A.nrows() == B.ncols() && A.ncols() == C.nrows() && B.nrows() == C.ncols()) mat::gemm("T", "T", &A.ncols(), &B.nrows(), &A.nrows(), &alpha, A.elements, &A.nrows(), B.elements, &B.nrows(), &beta_tmp, C.elements, &C.nrows()); else throw Failure("Matrix::" "gemm(bool, bool, Treal, Matrix, " "Matrix, Treal, " "Matrix): " "Incorrect matrixdimensions for multiplication"); else throw Failure("Matrix::" "gemm(bool, bool, Treal, Matrix, " "Matrix, Treal, " "Matrix):Very strange error!!"); } else C *= beta; } } template void Matrix:: symm(const char side, const char uplo, const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C) { assert(!A.is_empty()); assert(!B.is_empty()); assert(A.nrows() == A.ncols()); // int dimA = A.nrows(); if (C.is_empty()) { assert(beta == 0); if (side =='L') { C.resetRows(A.rows); C.resetCols(B.cols); } else { assert(side == 'R'); C.resetRows(B.rows); C.resetCols(A.cols); } } if ((A.is_zero() || B.is_zero() || alpha == 0) && (C.is_zero() || beta == 0)) C = 0; else { Treal beta_tmp = beta; if (C.is_zero()) { C.allocate(); beta_tmp = 0; } if (!A.is_zero() && !B.is_zero() && alpha != 0) { if (A.nrows() == A.ncols() && C.nrows() == B.nrows() && C.ncols() == B.ncols() && ((side == 'L' && A.ncols() == B.nrows()) || (side == 'R' && B.ncols() == A.nrows()))) mat::symm(&side, &uplo, &C.nrows(), &C.ncols(), &alpha, A.elements, &A.nrows(), B.elements, &B.nrows(), &beta_tmp, C.elements, &C.nrows()); else throw Failure("Matrix::symm: Incorrect matrix " "dimensions for symmetric multiply"); } /* end if (!A.is_zero() && !B.is_zero() && alpha != 0) */ else C *= beta; } } template void Matrix:: syrk(const char uplo, const bool tA, const Treal alpha, const Matrix& A, const Treal beta, Matrix& C) { assert(!A.is_empty()); if (C.is_empty()) { assert(beta == 0); if (tA) { C.resetRows(A.cols); C.resetCols(A.cols); } else { C.resetRows(A.rows); C.resetCols(A.rows); } } if (C.nrows() == C.ncols() && ((!tA && A.nrows() == C.nrows()) || (tA && A.ncols() == C.nrows()))) if (alpha != 0 && !A.is_zero()) { Treal beta_tmp = beta; if (C.is_zero()) { C.allocate(); beta_tmp = 0; } if (!tA) { mat::syrk(&uplo, "N", &C.nrows(), &A.ncols(), &alpha, A.elements, &A.nrows(), &beta_tmp, C.elements, &C.nrows()); } /* end if (!tA) */ else mat::syrk(&uplo, "T", &C.nrows(), &A.nrows(), &alpha, A.elements, &A.nrows(), &beta_tmp, C.elements, &C.nrows()); } else C *= beta; else throw Failure("Matrix::syrk: Incorrect matrix " "dimensions for symmetric rank-k update"); } template void Matrix:: sysq(const char uplo, const Treal alpha, const Matrix& A, const Treal beta, Matrix& C) { assert(!A.is_empty()); if (C.is_empty()) { assert(beta == 0); C.resetRows(A.rows); C.resetCols(A.cols); } /* FIXME: slow copy */ Matrix tmpA = A; tmpA.symToNosym(); Matrix::syrk(uplo, false, alpha, tmpA, beta, C); } /* C = alpha * A * B + beta * C where A and B are symmetric */ template void Matrix:: ssmm(const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C) { assert(!A.is_empty()); assert(!B.is_empty()); if (C.is_empty()) { assert(beta == 0); C.resetRows(A.rows); C.resetCols(B.cols); } /* FIXME: slow copy */ Matrix tmpB = B; tmpB.symToNosym(); Matrix::symm('L', 'U', alpha, A, tmpB, beta, C); } /* C = alpha * A * B + beta * C where A and B are symmetric * and only the upper triangle of C is computed. */ template void Matrix:: ssmm_upper_tr_only(const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C) { /* FIXME: Symmetry is not utilized. */ ssmm(alpha, A, B, beta, C); C.nosymToSym(); } template void Matrix:: trmm(const char side, const char uplo, const bool tA, const Treal alpha, const Matrix& A, Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (alpha != 0 && !A.is_zero() && !B.is_zero()) if (((side == 'R' && B.ncols() == A.nrows()) || (side == 'L' && A.ncols() == B.nrows())) && A.nrows() == A.ncols()) if (!tA) mat::trmm(&side, &uplo, "N", "N", &B.nrows(), &B.ncols(), &alpha, A.elements, &A.nrows(), B.elements, &B.nrows()); else mat::trmm(&side, &uplo, "T", "N", &B.nrows(), &B.ncols(), &alpha, A.elements, &A.nrows(), B.elements, &B.nrows()); else throw Failure("Matrix::trmm: " "Incorrect matrix dimensions for multiplication"); else B = 0; } template Treal Matrix::frobSquared() const { assert(!this->is_empty()); if (this->is_zero()) return 0; else { Treal sum(0); for (int i = 0; i < this->nElements(); i++) sum += this->elements[i] * this->elements[i]; return sum; } } template Treal Matrix:: syFrobSquared() const { assert(!this->is_empty()); if (this->nrows() != this->ncols()) throw Failure("Matrix::syFrobSquared(): " "Matrix must be have equal number of rows " "and cols to be symmetric"); Treal sum(0); if (!this->is_zero()) { for (int col = 1; col < this->ncols(); col++) for (int row = 0; row < col; row++) sum += 2 * (*this)(row, col) * (*this)(row, col); for (int rc = 0; rc < this->ncols(); rc++) sum += (*this)(rc, rc) * (*this)(rc, rc); } return sum; } template Treal Matrix:: frobSquaredDiff (const Matrix& A, const Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (A.nrows() != B.nrows() || A.ncols() != B.ncols()) throw Failure("Matrix::frobSquaredDiff: " "Incorrect matrix dimensions"); Treal sum(0); if (!A.is_zero() && !B.is_zero()) { Treal diff; for (int i = 0; i < A.nElements(); i++) { diff = A.elements[i] - B.elements[i]; sum += diff * diff; } } else if (A.is_zero() && !B.is_zero()) sum = B.frobSquared(); else if (!A.is_zero() && B.is_zero()) sum = A.frobSquared(); /* sum is already zero if A.is_zero() && B.is_zero() */ return sum; } template Treal Matrix:: syFrobSquaredDiff (const Matrix& A, const Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (A.nrows() != B.nrows() || A.ncols() != B.ncols() || A.nrows() != A.ncols()) throw Failure("Matrix::syFrobSquaredDiff: " "Incorrect matrix dimensions"); Treal sum(0); if (!A.is_zero() && !B.is_zero()) { Treal diff; for (int col = 1; col < A.ncols(); col++) for (int row = 0; row < col; row++) { diff = A(row, col) - B(row, col); sum += 2 * diff * diff; } for (int rc = 0; rc < A.ncols(); rc++) { diff = A(rc, rc) - B(rc, rc); sum += diff * diff; } } else if (A.is_zero() && !B.is_zero()) sum = B.syFrobSquared(); else if (!A.is_zero() && B.is_zero()) sum = A.syFrobSquared(); /* sum is already zero if A.is_zero() && B.is_zero() */ return sum; } template Treal Matrix:: trace() const { assert(!this->is_empty()); if (this->nrows() != this->ncols()) throw Failure("Matrix::trace(): Matrix must be quadratic"); if (this->is_zero()) return 0; else { Treal sum = 0; for (int rc = 0; rc < this->ncols(); rc++) sum += (*this)(rc,rc); return sum; } } template Treal Matrix:: trace_ab(const Matrix& A, const Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (A.nrows() != B.ncols() || A.ncols() != B.nrows()) throw Failure("Matrix::trace_ab: " "Wrong matrix dimensions for trace(A * B)"); Treal tr = 0; if (!A.is_zero() && !B.is_zero()) for (int rc = 0; rc < A.nrows(); rc++) for (int colA = 0; colA < A.ncols(); colA++) tr += A(rc,colA) * B(colA, rc); return tr; } template Treal Matrix:: trace_aTb(const Matrix& A, const Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (A.ncols() != B.ncols() || A.nrows() != B.nrows()) throw Failure("Matrix::trace_aTb: " "Wrong matrix dimensions for trace(A' * B)"); Treal tr = 0; if (!A.is_zero() && !B.is_zero()) for (int rc = 0; rc < A.ncols(); rc++) for (int rowB = 0; rowB < B.nrows(); rowB++) tr += A(rowB,rc) * B(rowB, rc); return tr; } template Treal Matrix:: sy_trace_ab(const Matrix& A, const Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (A.nrows() != B.ncols() || A.ncols() != B.nrows() || A.nrows() != A.ncols()) throw Failure("Matrix::sy_trace_ab: " "Wrong matrix dimensions for symmetric trace(A * B)"); if (A.is_zero() || B.is_zero()) return 0; /* Now we know both A and B are nonzero */ Treal tr = 0; /* Diagonal first */ for (int rc = 0; rc < A.nrows(); rc++) tr += A(rc,rc) * B(rc, rc); /* Using that trace of transpose is equal to that without transpose: */ for (int colA = 1; colA < A.ncols(); colA++) for (int rowA = 0; rowA < colA; rowA++) tr += 2 * A(rowA, colA) * B(rowA, colA); return tr; } template void Matrix:: add(const Treal alpha, /* B += alpha * A */ const Matrix& A, Matrix& B) { assert(!A.is_empty()); assert(!B.is_empty()); if (A.nrows() != B.nrows() || A.ncols() != B.ncols()) throw Failure("Matrix::add: " "Wrong matrix dimensions for addition"); if (!A.is_zero() && alpha != 0) { if (B.is_zero()) B.allocate(); for (int ind = 0; ind < A.nElements(); ind++) B.elements[ind] += alpha * A.elements[ind]; } } template void Matrix:: assign(Treal const alpha, /* *this = alpha * A */ Matrix const & A) { assert(!A.is_empty()); if (this->is_empty()) { this->resetRows(A.rows); this->resetCols(A.cols); } Matrix::add(alpha, A, *this); } /********** Help functions for thresholding */ template void Matrix:: getFrobSqLowestLevel(std::vector & frobsq) const { if (!this->is_zero()) frobsq.push_back(this->frobSquared()); } template void Matrix:: getFrobSqElementLevel(std::vector & frobsq) const { if (!this->is_zero()) for (int ind = 0; ind < this->nElements(); ind++) if ( this->elements[ind] != 0 ) // Add nonzero elements only frobsq.push_back(this->elements[ind] * this->elements[ind]); } template void Matrix:: frobThreshLowestLevel (Treal const threshold, Matrix * ErrorMatrix) { if (ErrorMatrix) { if ((!this->is_zero() && this->frobSquared() <= threshold) || (!ErrorMatrix->is_zero() && ErrorMatrix->frobSquared() > threshold)) Matrix::swap(*this,*ErrorMatrix); } else if (!this->is_zero() && this->frobSquared() <= threshold) this->clear(); } template void Matrix:: frobThreshElementLevel (Treal const threshold, Matrix * ErrorMatrix) { assert(!this->is_empty()); bool thisMatIsZero = true; if (ErrorMatrix) { assert(!ErrorMatrix->is_empty()); bool EMatIsZero = true; if (!ErrorMatrix->is_zero() || !this->is_zero()) { if (ErrorMatrix->is_zero()) ErrorMatrix->allocate(); if (this->is_zero()) this->allocate(); for (int ind = 0; ind < this->nElements(); ind++) { if ( this->elements[ind] != 0 ) { assert(ErrorMatrix->elements[ind] == 0); // ok, let's check if we want to move the element to the error matrix if ( this->elements[ind] * this->elements[ind] <= threshold ) { // we want to move the element ErrorMatrix->elements[ind] = this->elements[ind]; this->elements[ind] = 0; EMatIsZero = false; // at least one element is nonzero } else thisMatIsZero = false; // at least one element is nonzero continue; } if ( ErrorMatrix->elements[ind] != 0 ) { assert(this->elements[ind] == 0); // ok, let's check if we want to move the element from the error matrix if ( ErrorMatrix->elements[ind] * ErrorMatrix->elements[ind] > threshold ) { // we want to move the element this->elements[ind] = ErrorMatrix->elements[ind]; ErrorMatrix->elements[ind] = 0; thisMatIsZero = false; // at least one element is nonzero } else EMatIsZero = false; // at least one element is nonzero } } if (thisMatIsZero) { #if 0 for (int ind = 0; ind < this->nElements(); ind++) assert( this->elements[ind] == 0); #endif this->clear(); } if (EMatIsZero) { #if 0 for (int ind = 0; ind < this->nElements(); ind++) assert( ErrorMatrix->elements[ind] == 0); #endif ErrorMatrix->clear(); } } } else if (!this->is_zero()) { for (int ind = 0; ind < this->nElements(); ind++) { if ( this->elements[ind] * this->elements[ind] <= threshold ) /* FIXME BUG? EMANUEL LOOK AT THIS! */ // this->elements[ind] == 0; OLD CODE. Compiler complained that "statement has no effect". this->elements[ind] = 0; /* New code. Changed from == to =. */ else thisMatIsZero = false; } if (thisMatIsZero) this->clear(); } } /********** End of help functions for thresholding */ /* C = beta * C + alpha * A * B where only the upper triangle of C is */ /* referenced and updated */ template void Matrix:: gemm_upper_tr_only(const bool tA, const bool tB, const Treal alpha, const Matrix& A, const Matrix& B, const Treal beta, Matrix& C) { /* FIXME: Symmetry is not utilized. */ Matrix::gemm(tA, tB, alpha, A, B, beta, C); C.nosymToSym(); } /* A = alpha * A * Z or A = alpha * Z * A where A is symmetric, */ /* Z is upper triangular and */ /* only the upper triangle of the result is calculated */ /* side == 'R' for A = alpha * A * Z */ /* side == 'L' for A = alpha * Z * A */ template void Matrix:: sytr_upper_tr_only(char const side, const Treal alpha, Matrix& A, const Matrix& Z) { /* FIXME: Symmetry is not utilized. */ A.symToNosym(); Matrix::trmm(side, 'U', false, alpha, Z, A); A.nosymToSym(); } /* The result B is assumed to be symmetric, i.e. only upper triangle */ /* calculated and hence only upper triangle of input B is used. */ template void Matrix:: trmm_upper_tr_only(const char side, const char uplo, const bool tA, const Treal alpha, const Matrix& A, Matrix& B) { /* FIXME: Symmetry is not utilized. */ assert(tA); B.symToNosym(); Matrix::trmm(side, uplo, tA, alpha, A, B); B.nosymToSym(); } /* A = Z' * A * Z or A = Z * A * Z' */ /* where A is symmetric and Z is (nonunit) upper triangular */ /* side == 'R' for A = Z' * A * Z */ /* side == 'L' for A = Z * A * Z' */ template void Matrix:: trsytriplemm(char const side, const Matrix& Z, Matrix& A) { if (side == 'R') { Matrix:: sytr_upper_tr_only('R', 1.0, A, Z); Matrix:: trmm_upper_tr_only('L', 'U', true, 1.0, Z, A); } else { assert(side == 'L'); Matrix:: sytr_upper_tr_only('L', 1.0, A, Z); Matrix:: trmm_upper_tr_only('R', 'U', true, 1.0, Z, A); } } template Treal Matrix::frob_squared_thresh (Treal const threshold, Matrix * ErrorMatrix) { assert(!this->is_empty()); if (ErrorMatrix && ErrorMatrix->is_empty()) { ErrorMatrix->resetRows(this->rows); ErrorMatrix->resetCols(this->cols); } Treal fs = frobSquared(); if (fs < threshold) { if (ErrorMatrix) Matrix::swap(*this, *ErrorMatrix); return fs; } else return 0; } template void Matrix:: inch(const Matrix& A, Matrix& Z, const Treal threshold, const side looking, const inchversion version) { assert(!A.is_empty()); if (A.nrows() != A.ncols()) throw Failure("Matrix::inch: Matrix must be quadratic!"); if (A.is_zero()) throw Failure("Matrix::inch: Matrix is zero! " "Not possible to compute inverse cholesky."); Z = A; int info; potrf("U", &A.nrows(), Z.elements, &A.nrows(), &info); if (info > 0) throw Failure("Matrix::inch: potrf returned info > 0. The matrix is not positive definite."); if (info < 0) throw Failure("Matrix::inch: potrf returned info < 0"); trtri("U", "N", &A.nrows(), Z.elements, &A.nrows(), &info); if (info > 0) throw Failure("Matrix::inch: trtri returned info > 0. The matrix is not positive definite."); if (info < 0) throw Failure("Matrix::inch: trtri returned info < 0"); /* Fill lower triangle with zeroes just to be safe */ trifulltofull(Z.elements, A.nrows()); } template void Matrix:: gershgorin(Treal& lmin, Treal& lmax) const { assert(!this->is_empty()); if (this->nScalarsRows() == this->nScalarsCols()) { int size = this->nScalarsCols(); Treal* colsums = new Treal[size]; Treal* diag = new Treal[size]; for (int ind = 0; ind < size; ind++) colsums[ind] = 0; this->add_abs_col_sums(colsums); this->get_diagonal(diag); Treal tmp1 = colsums[0] - template_blas_fabs(diag[0]); Treal tmp2; lmin = diag[0] - tmp1; lmax = diag[0] + tmp1; for (int col = 1; col < size; col++) { tmp1 = colsums[col] - template_blas_fabs(diag[col]); tmp2 = diag[col] - tmp1; lmin = (tmp2 < lmin ? tmp2 : lmin); tmp2 = diag[col] + tmp1; lmax = (tmp2 > lmax ? tmp2 : lmax); } delete[] diag; delete[] colsums; } else throw Failure("Matrix::gershgorin(Treal, Treal): Matrix must be quadratic"); } template void Matrix:: add_abs_col_sums(Treal* sums) const { assert(sums); if (!this->is_zero()) for (int col = 0; col < this->ncols(); col++) for (int row = 0; row < this->nrows(); row++) sums[col] += template_blas_fabs((*this)(row,col)); } template void Matrix:: get_diagonal(Treal* diag) const { assert(diag); assert(this->nrows() == this->ncols()); if (this->is_zero()) for (int rc = 0; rc < this->nScalarsCols(); rc++) diag[rc] = 0; else for (int rc = 0; rc < this->ncols(); rc++) diag[rc] = (*this)(rc,rc); } /* New routines above */ #if 0 /* OLD ROUTINES */ template void Matrix::trim_memory_usage() { if (this->is_zero() && this->cap > 0) { freeElements(this->elements); this->elements = NULL; this->cap = 0; this->nel = 0; } else if (this->cap > this->nel) { Treal* tmp = new Treal[this->nel]; for (int i = 0; i < this->nel; i++) tmp[i] = this->elements[i]; freeElements(this->elements); this->cap = this->nel; this->elements = tmp; } assert(this->cap == this->nel); } #if 1 template void Matrix:: write_to_buffer_count(int& zb_length, int& vb_length) const { if (this->is_zero()) { ++zb_length; } else { ++zb_length; vb_length += this->nel; } } template void Matrix:: write_to_buffer(int* zerobuf, const int zb_length, Treal* valuebuf, const int vb_length, int& zb_index, int& vb_index) const { if (zb_index < zb_length) { if (this->is_zero()) { zerobuf[zb_index] = 0; ++zb_index; } else { if (vb_index + this->nel < vb_length + 1) { zerobuf[zb_index] = 1; ++zb_index; for (int i = 0; i < this->nel; i++) valuebuf[vb_index + i] = this->elements[i]; vb_index += this->nel; } else throw Failure("Matrix::write_to_buffer: " "Insufficient space in buffers"); } } else throw Failure("Matrix::write_to_buffer: " "Insufficient space in buffers"); } template void Matrix:: read_from_buffer(int* zerobuf, const int zb_length, Treal* valuebuf, const int vb_length, int& zb_index, int& vb_index) { if (zb_index < zb_length) { if (zerobuf[zb_index] == 0) { (*this) = 0; ++zb_index; } else { this->content = ful; this->nel = this->nrows() * this->ncols(); this->assert_alloc(); if (vb_index + this->nel < vb_length + 1) { assert(zerobuf[zb_index] == 1); ++zb_index; for (int i = 0; i < this->nel; i++) this->elements[i] = valuebuf[vb_index + i]; vb_index += this->nel; } else throw Failure("Matrix::read_from_buffer: " "Mismatch, buffers does not match matrix"); } } else throw Failure("Matrix::read_from_buffer: " "Mismatch, buffers does not match matrix"); } #endif /* continue here */ #if 1 #endif #endif /* END OF OLD ROUTINES */ } /* end namespace mat */ #endif ergo-3.5/source/matrix/matrix_F0000775000175000017500000155551012743400275013563 00000000000000–ÕÁ*R.#ÀàÏœxÚFÀ§¥¥°Q7¿Âúýns:A>*9£U3?‹ GCÖ¾â*GSMýÓ¿ÆŸz§åá¾»¼y©9÷=&â›Ý¢©à?ÒëWv¿Æi¿šL?¿ÒfÝoÆ÷<À?dLø?>óVËõb¾àR·õ¨v¾„r«5t<"ÝŒ‡?‚>Q3¢ÏK.„ºÿò+Μº5†}äø™¹’û­^ZH¬:™8 @À¾¶Ë1¬½ëпè;a­ *Û?¤é1(4Ô>8ÀŒ§N=ÿ –ÒvžÁ»ŒßZ¶zz¿ äAŒ4¬¿Ö7Øw=ˆ³M)Ž?pvð%m鼨‚õy–½ÌN9bßüÖ¹ŒÆ[ø=Ω8ó¿™…»4„›Qa¿öâ  eÍe?/Ú2Ò†&x= £Nùžu?àHáqžþs½žVº8”½égÌ_ ;žI«³r-“=’4‰=q’å¿°S4@q’å¿êZ+¼ú.¶¿LÁú.¶¿f¤Áºë¿¨ÔÖ ©2¿ÐÛ> ©2¿ôÄT wYȽêÉ{s%½äÃBò}s%½àÏœxÚFÀÀcSÛXô¿¸ˆ*È^4¡¿¬j!Äfrͽ€»Ë†„–¿^ï Ô¿üqóÙÛ¿IŸmªe¿†BÍ›q¶=ÀóOßOVÙ?Ô¾,Ë¿ˆ›Îk/q¿`ýްéb¿’À8ÉPúf½°[Q—ø}?Àa9’cc¾@ˈ‰!¿ø„“fÿ%¿…?¨§°u½š„,»Ó0?œ8¡ÈE#¾À!ÿ<3¾…9—5€{½˜2â7Gþ:>ÈÜ­q,ár½d0%Ž`ƒ½m¶*§t:žIé¬où»ß9<¥Ô¼šˆ +¼p“»Äÿè´< SDš¿Hß-È•°¿0â–ǧ?N¿ÙŠÁ›½Ð‘Ó݆®?0â7XM'a¾à„-n±ûì¾0ã3ßø¾wRRB§=¸Ê4AÖõ>S>»™z¦Ô¼É;SÔÞݼE%Ô…i¼‡ Ýqëó<ªMm(á¿ 2m(á¿À|DƒæQÆ¿p :ƒæQÆ¿À±sD·¨¿˜ªà;`¿ð”à;`¿(ruÊ=¬¾øk¼"è‘J¾8ïwî‘J¾2ìâB[½IØAÇ*ß»ãxö‚¼Ý»§¥¥°Q7¿¸ˆ*È^4¡¿Ç4¯ŠÏ¿°[ñ>·Ø½Ðåbؓ݉? nV;4[à>ÈD½¹ìh¿øVÜØÀ¿Zä¢(J¸•½€Ì”q?àÜ©yÙM?€e>FÓvb?6+ $aÛ>HûŸWÓ©i=À2x«üøo¿úGÉ™M¾v>¾•«ÏO$?€@Ë8%?¿™!-1„=èˆ×m3¿Ä.Lÿ2>h›ï²ŸA>‡®8®‰ƒ$=ÐuH vJ¾L#Åê'ƒ=p«Å¬ˆÓ‘=ð“0­I˜¼ìÿ+’¡½h¦Hço‡;Ìý·eèo ;öÚÝŠ]5;­õc#©» Í:&ÖNã¿ÐÓ?2CÜ¿`ß:ÞöBÅ?PR#tŠi†½pŽJÎò!À¿7ËMÂA•?ß4¦£?@åþð°æy?'/‘Dp½@žŽÛ¸£¿ê1ÌüE…=¶ÈnH8‹>X¸Xô¯ø>fûpo5'p=¬C¼yZ1¡¾È|2ãñXöÜ AÕü>`ºƒ¢H±?Ÿ†C öý#=¨pg¼£¿{ÐGiPbä<‰4íaê<©¿2¡@<"<¼±< ã§½€ŽZp4¾?@s9Zp4¾?0§Gœ~dÆ¿ ¾Gœ~dÆ¿€°!qG‘¢?Ј³gn+@?5%gn+@?PEï3v¨>H#×fÙX>óÙúhÙX>D¢ÌaMË&=Ž”WsÔ`ò;½GǼžñ;Âúýns:A>¬j!Äfrͽ°[ñ>·Ø½(1çoÉ¿ô$½YJé=— >‚fð=|RöÐÅg¼=J©¡(J¸•½€‰@>㼿ÔÌé.̽«g%x2r½Ÿ†×ªe½0†œ ÖÃù¼0ú÷ýVJ¿–·–¶)<=CÆ áq¼…7µOŒ–m½Þ‰ºýW`k½–ܸ{Ýü¾…Í58d½¬8•±¶Nc[ƒ½»Îã$%² ½zŽÜƨé½Ð—7ÚýC;”Pº=;Z =o•­Ñ¿- ¼.Ò‹îó¤¼^éÀf•ñC¼7Í?Žj&<@.볫˿C³«Ë? Iõ·êލ¿@Z‹·êލ?T<g›úg=ÀR¨'~¤>¿`Öã&~¤>?`Àë˜[êT½ðñqÏs81¾Ä5Kˆc81>º|rní´¼ËJAS»»º%¤„¬³;*9£U3?€»Ë†„–¿Ðåbؓ݉?ô$½YJé=€u +uÍ¿[o‘Gµà¿ Ó•ÏÙ¿@–E1êqC¿p2ðý|Ç=ÀÌ–ÈÖÆ?Ü+]µÂ¿ ‘f[5?~¿ØY ûp¿H ýᧃ½ j¨SR‰?„àVQ‚¾ EeÑ@1¿°Þ^fÀ5¿æ9M˜½ÈG??°Â&¾|;¾»Ø„¹K¾£»`.½ ¤ô>qR>Èî<‘½^þ©4/¡½l“¶®½u’¼´Lí™Ê­=Aë_êO˜»s˜ì7x±»Çû•ϰF»2>Ã;·º;ìñÕFWOË?ð%¬>6~Â?€A>ŽÉ·¿Å ï³pL¸=` ©ä‘E²¿°Yƒž$-¤¿À^ãTI5¹¿€—ÿ(´³¿ØÌ¶'=Pí³OÜã´?ÏÆ˜”½ðH:¬ D›¾<¿{u:ª¢¾á÷_tæ „½@®Ê²Jа>$ibT¼sÐh¼[ 3¼ðªgÃ1¸»µ¹L˜Vx<<2¡çŽÛª¿0Ø›Ü ¹¿ Âê§²?#{Cƒ= H„ÓôK³?F«`­t}{¾ØQ®Tü¾èâ³xI¿¥V! Ø$½ — >‚fð=[o‘Gµà¿ÉìgÓ>#ÀâóÒTYÀÀ>©³&?³ ¡¯Þ>0 1óYYp¿¾Á•YÄþñ¼ÌÞÉþ䯕¿þ­Òr—¿v î®'z=b :F¾¥?\ËOõ4¿Ža ¸cÚ%¿{PκÓ<4¡pDX&?ì38á&½ñh”ô£ ½EÚ¢"Í; ¶"2DŠ¡=dN;jiØ»dìÐxP~¿DCBQ§…?Où)cï'µ=Ì?&n¿ûsâw™ü¾ìÇgYKÙ¿º B-â¿Ý Z%×Á=ÆÞd†ûÔ?dçü!8ã¾ ô‹æ¬¾¤vÌ\¸îP¼¤A¿ ¸!&>~›•2¿âmƱ©Z׿”h÷ÿýà?‚i«Œò=æzG.Ó?nò>ÙüÉK¾VùÄ˃&l¾FS躄’Ð;Š„¡,]>8N'0ÐÙ¯¿£ 1ÐÙ¯¿L–…¶†”¿úZ.‡¶†”¿ôö2|†Þ´¿üq4ë¢^‰¿Hraë¢^‰¿°93@=jž¾n” föGã½~1öGã½â*GSMýÓ¿üqóÙÛ¿ÈD½¹ìh¿|RöÐÅg¼= Ó•ÏÙ¿âóÒTYÀ€Ø`{}Åõ¿ø½om •¿ÜýìĨ×=Ð?Œ2·f´¿ì&Æ\¿•¿PKꂱW¹¿À¿1¡¨¿[Lôó ¼¢=`«´rÀ?Š-Ï›×/¿°Šrܪw¿ UË ¶~¿?á<‡ÍÆW= C¾¡j~?V¦} o ½À›¿l|@®¾Xu¸ŽóÕ½¾týŠ¡½GX™¿>„þAÿñºø· dnÎ$¾¨ÆªRo4¾•“Ú€a:=hPog÷¾=>,é…ÛGôß¼ßõA–ñô¼èË&ɵé»)L ¢Äñÿ<?ÙïUZˆ»÷l¢ç¢N£»“oîp9;ÒFÔ2ü©;Ðë.õãj•¿Ð ×ëv°±¿ð´mm ­?`pgÈÀ"E½àå<4Í*°¿j€t¶Qá¿ëæ<Ÿã¿@h¹+`Ú¿†Ža ¿=†d7oÎ?v à,žFe¾ðÃ@`Τ ¿´@ö¿b骩³&?ø½om •¿À /ӌݿvF½úÀ½PdÆÓ½”¿jâ6ÿk—?ॽá´?`ž~/Îdr?^¿ªÊy+£½päÒêÚ·º¿Þ1QÉÖÖ%?Ÿ=A}?¸{²Cí€?4k+oŠÝT½ÐþæÉŒ~ƒ¿þr—_Љ =˜:Àƒï¾> nóõ¼-Ë>¦¬Uo==ø©\Η¤Î¾)6m Ô;8¹†XD5>Øë\3`LC>pcÄ<M½¨œ#iüSN¾~ËZÜ>Cõ<+ÀЯ =\NÞ—5þ;`ñ| @½pR¡Œ¥; Z©hfÀ;JáôîîšV»~)ðP}Æ»¨ix¯U6œ¿0ŸSV>B©¿íÁžè•?Jú*$óÕ|=`6j|¸c§¿¾ñ‰ çè?P‰(†à?£>ëÁ À?iè×û¾½àa7 }©Å¿`X.Ed|>`‰=¹v?èp,vù‘?챫”Þœp½0B¹!™–#¿”X`²QG=”ìå°së\=l{À  ÿL<®dB`b½Èèe;p?ð¿0ÛUês,ä¿€ÕäTKÅ?÷|½¢¢=àÑ×]5È?Èûy6ö?ÀxÍë5O?…"Z·gW?y£/¢¿X= ?ÿ¸H¿]ŠŽÂà;0>ÃñIv¾=ø,¡5€ãÂ=Ý b°äó<Ì:Cô1×½ VÊðÁ9™? ÕðÁ9™?ÀŠ/ZÐ¥¿ ²4ZÐ¥¿€ªrоVÉ?`Ç—=>g’?P­§=>g’?@ƒs9"?Iâ¼iöÆ>`dVÃiöÆ>0èx\sWÀ=£–Ãö9#=ªcŒ9#=NtG‘& ;»¼y©9÷=†BÍ›q¶=Zä¢(J¸•½€‰@>㼿p2ðý|Ç=³ ¡¯Þ>ÜýìĨ×=vF½úÀ½€Ÿ‚¹MfÀ¿ìÓ«ôž½ ÃwLé½Â•ÝQ]ž=4…|€ƒ= %•.•Ë–¿(^?¤½ ¼‚-J’À¼kÔ|ÝäS=M}pH\=ÓO4#$S¿b¼”ds[½ÐѪÿÍ;$²3†™%=·mõKÞ=½˜9Ò¥ ¾ƒKæ~IC=A’"ÏÙü¹»žݰÅù¼‰>zÊ =|rߎŸŒ¾¾ÜújÕ6½§Uɵé»óX ´¯R¼sUK^V¼ïôþ ªð<öS^f”2òº2õD´+„S;5Èà(þ;a»˜ñdœ\».Ë6„gr½P¦Þõ=ˆµÚ …(j=Tµ¿¡‘¿ž îè†=v†Cqœ\=£7üf¾=Éï2Rù%½=Gzºá’¿ &ÂX€V£½H›¬¸=°;Æ\7„=‹]T&S‰¨½ð«—Õíê¾ö^Ѐ_–£=ØŠk&Ÿ14¼ñÿñåAÒO¼¬UVÓ•P½4!¢È{D<å2½Zì£!y¨=¦Ëc®½ ݉CýÿàdÒEŠ|½ƒJtÈ:ôO¼§™éÜ«š2½HbÚŸ_O)= È»Þìm¿~êˆ\0÷Ö<'ƒ Ö7•Wº÷ylà6ëܼ”>DÔÕ•ã¼XŒÎE8‘½7;›&¸!ê< ½Eê*¤¿à¯ˆEê*¤?@1:xí¿€Ã:xí? } $d›=@W lÒ뇿@¤AlÒë‡?ÑÛ?It½0Ÿ P¾€ùÓ…O>æA•N´d¼¸$ iò¯ù¼8h?Ô—¬ù<ͦ!¼ö°º&â›Ý¢©à?ÀóOßOVÙ?€Ì”q?ÔÌé.̽ÀÌ–ÈÖÆ?0 1óYYp¿Ð?Œ2·f´¿PdÆÓ½”¿ìÓ«ôž½€< ݨmÖ¿rÜF @·¥¿€q:Œøº¿@ŽàRˆ©¿_)›Y‹_¨= `è *»?Ä}˜T&¿Ðµôð~-~¿@F—þ¦:„¿~XÓÐŽÌV=€é>nì?¶ 0 o¡½ø¸E À¾€‘¸x_sϾU~A ¬6½ð¿9Y×Î>du½¨4®»ˆc̺B=¾ÈÝ8Áè—L¾{>ð8æâ¼ðÉ„T>¯ÄØnýÁÿ¼=1[pν $XÈóf¼×ÀÈ÷$=¦‘]ja ©»J4”âû¢gxØ•;Y;Ÿ†²ô€Ê;VêÄžKw¤?‹9˜Ý¶?Àÿ6™bt³¿h«7Þ au=*˲ãk¯?l’výÀÜ¿ ÐàƒtÓ¿€SÍõw•Æ¿«dTÛ^ ¹=‚úÉ(±¿Þ‹…<$Õƒ¾x±†–¿X}’{)x$¿Rá&E¿•—½¨b<'ÍR*?øì}f M½ .†ñ{³b½U]R[¼Lÿº+Mf=FÐ(›åÂâ¿À£#søz׿ J%,ÆÈ?럫¸n¨=àÂg>(©¿ðÐMÅö¾H'^tÁ@¿€ëéFžK¿ CcôY1F½x;c]Éô0?Š_±wsò»Ü©Ø eϽdðq¦nèÕ½:éÁY`S½(﨤\Lç=È¥ßßiÁ?àÞßßiÁ?PÁSï¦?TÃSï¦?8ÿ9R#(ª¿ :+)ž•§¿€Æ8)ž•§¿@Æùqq¿2¿(öfÄq©Ä¾@0/­q©Ä¾øøª]Òþ¿½Àv0½¬Küã0v0½©’+#»Ô¾,Ë¿àÜ©yÙM?«g%x2r½Ü+]µÂ¿¾Á•YÄþñ¼ì&Æ\¿•¿jâ6ÿk—? ÃwLé½rÜF @·¥¿$c·v?#ÀÐ*hitVÀv£Pr?‹9e¿ùd,¾@Ó†ªW?/ʸþGÖ¾úîڠ Ô¿`¬, ^€ß¿ù9[^è½d ¼fjPÆ?ÌéϬÌ¿u¨äQ¿´/}kï¼b¹‡P?Ž.}¨—ÿb¾Ì6ÚÖäz¾ý— ä•g¼X–mÑ^΀>¬e‡À^p»Ó}˜@îR»:³q« sº’ÙH”;ÓÂv¾Ö˜[} L>¥ Eøм¾mÙdÀN&¾ú)¼%%BÀ¾f®ñ…«øÐ¿"ÆÙ]Ë>=qÏL ä%¾t…+:çÜ¿þþ*·Ã»Ø˜Œ°‹z¿,YØ€|‡¿Êå3 wf½ o¥§¡å¿é¿7÷¿bª|2¢A¿Š;D2¢A¿.à×4tǽ8é+*xe$½–ÐU)xe$½ÒëWv¿ˆ›Îk/q¿€e>FÓvb?Ÿ†×ªe½ ‘f[5?~¿ÌÞÉþ䯕¿PKꂱW¹¿à¥½á´?•ÝQ]ž=€q:Œøº¿Ð*hitVÀÀ–Óɵô¿`{ƒJ ·œ?´ ‡öĤ³½3nžFRœ?RЦ Ô¿ –ðªf@Ü¿ô"K;IØ¿ý!ñ69¼½àl_RÝwÁ? ¥½õ"¿ØµÇÿ›&q¿À+»âIy¿€‰cøµ2&=N$_s?æ¤FŸ c¾HpR~I!¿¨‘åé(¿¿ŒFÞ†£o=(îZÝ0?vUWOÝ`»‹ÒRáN#¾ÆYØø2¾]ÎŒs˜’¼ÀY\€Šs;>ÀP,«Úçr½ }~ V{‰½9´bì÷z¸<¨ø"ZF=#+Æ®dÎt»4È­á’»ˆVn7€#»× §"–;»÷£æ˜d¾ ÆȲ ¿8O¼÷C?FAçz.u1½¸àr}-@¿*W»ºi¾Ø¿ @dš,Ý¿&i>Óe¿Þ±?®© Ó=À¿‘9;þ׿\¨„DËt“¿àS ÿ¬²¿À˜›Â©¿_JÒeî%|½0ê¨$ ³?,'60áœn½P«âó÷»À®¬xáG¼Ñçuâ顺4‡Çuñ><4T¬JÀ¿ÐXZ¿‡U˜¿`Û*š™?@ã°ˆöy½ 4 ¤zˆ¿@r‡qš¿HÕ_º°¿ °š­q²¿L˽ÿû\†½ ɸP8W—¿«û´(a¾à™†Âèí¾èʳÑm6é¾ÛÈ)°n?Œ=€™{þ>Ú ÌåFÕ¼ ]4šÉð¼+È:‹××»Ž;À’@ì<øÈ<ß `¿H)(ß `¿àã­M¼1¿0‘3­M¼1¿`n‚Ÿqf¿ð¬ÑdNuá¿ÐÒÔdNuá¿@TèItj¨¿(5ö;\`¿_ö;\`¿ð'"W¬¾°YŒ#‰¢J¾¨¬ij¢J¾¨F᜽þ.Ò,è»ø¨°²+è»Æi¿šL?¿`ýްéb¿6+ $aÛ>0†œ ÖÃù¼ØY ûp¿þ­Òr—¿À¿1¡¨¿`ž~/Îdr?4…|€ƒ=@ŽàRˆ©¿v£Pr?`{ƒJ ·œ?€‘p‘пYoÂOàÄ=` È5á8‰?tžùY:”ß? ‹þBÇÕØ?àÕ ®gÃ?¯A`ÉTÄ=Àüí ½¹¿üM.Hû[? ½—\y? ’/—†?øxç®g2½Ðíi¨ }¿ÌÅkôz>ø»ô?0Ý)?0×0×/?ž€çšt½ÞŠÌ»¸7¿ŠG3)MT{; *¹„š3>àuˆ!¹A>hõ›ì×¢<`½¶¤ÍK¾€ŸÉ•͉=P»£øW´ =•± ׸ϼÈ=ôèö£½7[yº´š’;A·-Ì“°;Ĭ¥A;˜d‘¼÷³»ŠE£í«x¾h‘\z7¿ðˆú5p?¶â)7á/7½øØ0"]#¿€ÀQÿÚ¾€úƒO¿ *eéUÀ¿ä…áóp=@Ξ£5nk?ì'&yúž?Pйi¶´?õo¥Ò8£?JŽ/ˆˆ½ÐíTY¶¿›ÿwuNŽ=Ô²ü…4•>è#2!? £>8¨ÃŽ‚tï<è¥pÒݦ¾÷ÄA73Íp>H0Ê<«áð>À1'3å>§Hô?¾ ½p¥Ô؈¿Gkxx®õð§& XT>àO3 XT>Ô\@l¿#=PÁ‚YÌËñµ‹½¿pG50°¹ž=S¦ùéÍÑÎ<nÉ€He=xÕ+4–¹=@%K—J¿0¶ì;wÆÚöÈ;êõ#Û,½¦:uÂN~=À¹®«ý¾›ëà„%e“½ŒE7úr)iºÈì´?§¢’¼.ëaGª ¤¼p‘Ò‰7í¾ÉÐFv­<œÉXتçü»gôÍ~×^Ò<Ÿ+·}T½ý×ëÝÌÙØ¼ŠVn7€#»ûWÖ.A»ñjK&WG»ø5¤è@KD;Ç#¡e!’¼ÉjãÒP)½Äì¯ÞÅ3=ùÅ‹ë×é¾@êO“2½\ä<)T=ýd”@¢õÐ=¨ª ƒ¡óp=@ê-˨E½¿èl ¦¤Ñ=”¯õº„=¡ ñ?V=®oÌí6œ½À3ÆSÚ§¿ùî°§|—=;à™eãºWjd…QƼ¡·\˜¡Ö<@ÅàUõb¾ÿrÏßÉíÒ<ìàÎ]ø™Ÿº¥ÚæÈ ¸º;LÒÀ TÕ»ðàê9y¿:`~¥`ï×oA‰=¸‘zu[;_“ö\<«ª½qÿÏßÑ9Ò»ÈÌ õóYó»—eÌ'¼áF¼¦È)í; Õ{W;>¿@áÜU;>?P:y¹0¿’ü¸0?ÿ‡¡ü÷«=€[¥øadÌ¿À"¯øadÌ?N[l7â4s½ÀŒã³äò>¿ Ì”³äò>?é„R%½¨ÙìC­C1¾èç¦C1>É—€Û{F¼-ñ40§$Ê»Ýü+W†!Ê;À?dLø?°[Q—ø}?À2x«üøo¿–·–¶)<= j¨SR‰?b :F¾¥?`«´rÀ?päÒêÚ·º¿(^?¤½ `è *»?@Ó†ªW?3nžFRœ?` È5á8‰?ʳ'6*]Ù½€ï‡äÁÑ¿\´Fmü]Æ¿°@ÊAÁ¿ÀÆ9-!ȸ¿¨Œ§°z°½`¬ ï– ¹¿’º¬†(X¿Ð³Tïr¿°Ç"Bº„|¿¤nîž²D)=@àŒ•p?>q»°Ú×€¾ ŒîyôÍ.¿€¤Y·´b5¿cˆy<¿Vm½ðµ-Pú9?C*bŸ$dž»8©Æ!;¾†"”¥‰J¾¬lLÞ[©¼\›:{rR>X­• Tz½8HÝ·®Ù£½ÏÞnŒ¢»Ì<¬“p* ¦=lY†·u”»²¤¢H¼²»´«ÓB»šç\Ôn~µ;†PƒË'„>¨¡nñŸ¤?°mE|Àd#¿š•Û;jJI=¸ÜåŸ%-?:6§“ä?`š÷j‘¹Þ?l+®¨f;{?ø*n,7ؽÀ–J‘XñÊ?ðî¨þùÅ ¿{ºúí籿À~¬3º¿©¿ô ûìw=@¨ž›’ª?j®-f½%½°±Ç3Âú•¾`¿ˆ$¥¾.\µZœØ¼ø®š¿Ú¦>Éc¹‡¼R8lwÌ3¼@ŠñvºR[¡žU€8<”å<À>Kˆ?À…騭ó™?` ²Ëè ›¿cå ½Á ˆ½`¬Ä~øt?š)ÂY€b~?€`§ÏSl?ME#W?B"¾³Îç[½pd¼G½“¿"„º"M@‚¾hñçRT¿àQdâBÁÿ¾¯ZÛ¿¬Óˆ= WçÔ??”ªe†Îò¼lý+W·« ½þùÛäò»;K^gÚ*=Ü7º]îj?’ݹ]îj?0PwÈøOCÆ áq¼„àVQ‚¾Š-Ï›×/¿Þ1QÉÖÖ%? ¼‚-J’À¼Ä}˜T&¿/ʸþGÖ¾RЦ Ô¿tžùY:”ß?SÅ„±õ¼Ã½\´Fmü]Æ¿n©*TM#À0YÖuÔfÀ@è˜ú‰ i?‡Ï)‡Ž¾Ð+¤¥™æW¿6yþõ?ò¼RZG&nÓ•¿†“>=äž ¿WÕx@‰ã½Öx VZ¢?ñ)4d¸.ߌ^‡=¿ â[ß—¿€Ìc·u½ tù8Ñ,?¤-$·"j€½¢pÊzðü”½m}$œ®¼>Äv“¤=µ¶ñŒ‹–ö»ä¼˜G[,¼·hó–ÿ »ã&?6µ<Ÿ˜¥jö¼æ3fsë=Û;«'¡ºÕ'ÓÓ½s7ü™Â˜×»䱨#~¿(äËøs†?Ôó34 ù7½T'ÖrúŽ¿¤æ¯#«œü¾pˆá|ÜZÙ¿$˜Õ´r§¾¿Ö¤Èg¤¾\ñû ¯ä?6—§™¾Ü õE{ò¾œ¦Oå]¾¼võøy v%>ªEœ”¨¾m÷4¢Œ@>«™·"s5¼êôÖ?¹1¾`\ð\v4¿|M£;xh×¿Û Ž>çݿɾrY¦BÞ½àƒîï‹Ù¿"“u3 ÔK¾È§üÎpA¾°daÖ>|¬¼0kì¼uso>ØQî'‰œ¾p"î'‰œ¾Ôl%E9÷½*%E9÷½”ÆÓ`{ –¿Øö‰„?ý¯¿˜ÿH„?ý¯¿´ë´¿£’óVËõb¾@ˈ‰!¿¾•«ÏO$?…7µOŒ–m½ EeÑ@1¿\ËOõ4¿°Šrܪw¿Ÿ=A}?kÔ|ÝäS=еôð~-~¿úîڠ Ô¿ –ðªf@Ü¿ ‹þBÇÕØ?i‡=ôÁN¹½°@ÊAÁ¿0YÖuÔfÀ°pܸ^ö¿°^ÑÕ*_´?G7[ÕtÖ½ ?þ0ä,¿š 2kðÄ•¿ &9Ï“¹¿à‹ûHuº¿=º£Wr‘=ˆÿVI¶?Ôܼ2¿@`ÖÈÂÊw¿ˆk,ÁBˆr¿¢…›£Z˜=ðerÀªƒ?‘lp›•€½°Ÿ*E{O®¾à:kWý[³¾zçŠà2à¼x;{qIÃ>²¸ð²b»ˆx¤BÕ$¾œÅÙ|Ù>5¾ÝÔ1^Ý¥K= Ó{º:=>¸V{Ûµjà¼P¾v°šÅ÷¼9Ÿ†SÃà ¼T K¬Bÿ<^_Ÿ<ú¾‰»Xeh30¢»IknãY‘4»Z+?ªÃ‡¬;¨Ev½x¯èÌzˆ¾ ”ÍPÂ{–>­ Û†‹Ô¼xx.çÕíš¾lïÃþU{•¿À³»ûÔ°±¿€¡1Öò¦¤?â=Ù™Þ“=à{‡®²7³¿LMVá¿€Ž2Ÿ–Eã¿ =ˆñ¿µ¿o1‹ÜÁ=€>±RÞ?ˆbs—He¾µ¾ŒŽ· ¿ ö¿ƒÆŒ2Ïö ½@«…1ý?N$á"V!0½Å#´A½ü€ç©QD¤»¨H­ !L=F2HÓÜe;0¶¾/¿ ô‚ºJ;?#g·f4}½`ÀHÒÂ"+¿Äû-Ñ¡oæ¿°ì‚c#å¿€$²[*׿øÖ0—AÈ´½@‘Yt\âÓ¿0*¡‰Dùé¾€Ö¡×uÞ?¿€É,/µV¿š¾Ûhä·=À3Ž^‹M?ÕM•¯½hÍáêÒû½¯Eú霼L ¢¯}pÂ=`lÎ>!¿@¿\Î>!¿xÕšÀ‹Å¾àí•À‹Å¾ ¤ ¯-®¿€ñÔ«uÁ¿tÑ«uÁ¿`mBlÖÇ¿ÀØ’äšú¥¿à–äšú¥¿È¿‰Ñ$¿èKxkæj¸¾@±Ïýæj¸¾èžØ¦F©½ ë2ܽøÔ¿ÃܽàR·õ¨v¾ø„“fÿ%¿€@Ë8%?Þ‰ºýW`k½°Þ^fÀ5¿Ža ¸cÚ%¿ UË ¶~¿¸{²Cí€?M}pH\=@F—þ¦:„¿`¬, ^€ß¿ô"K;IØ¿àÕ ®gÃ?ôI&´+¼½ÀÆ9-!ȸ¿@è˜ú‰ i?°^ÑÕ*_´?@ ÃβjÙ¿%\ÝâȽ`í~Ï”ª¿JÒgä“ ?ÀB$éï²?@uGsÍÀ§?_™s÷(н@ËÔÐư¿LOHXMˆ?HžÚÈr?Pˆ°Í4Å\?òò?Õ×*J½ÐTß$/¿\øûØT6•=Ð? #?´>œÂ—…Õµ>Õ“±ØÞæ<𼩽ɾ&¦‡Sœ;ì s2‚4>hÊ@ ˆ_C>€f‡–æñT½y‡sâ¥L¾e“uŽ·u÷<Â:4Ë´^=n#G¿&"<œ¿S*9S½­11ê¡; IŠÁ¸;ý03‹”L;Ðg€®«ÛûcqGÙ˜”½H8t8š¾JÅe+¦>÷XCñ\Qè¼g;°`•¬¾:O{MD¿À=3­^±¿ qè(`¯‘?t{Ûj2Œž=àN{ ëγ¿$Þ×JÄûÄ?`1J$w½?àãœà1Ä¿-xWQ¾½à¢/º"´¿–pb$ì{>˜$Žç¸?8Wto‹`?CpÈ=pÅz$¿À’!eÏ•C=Œ:Ç2¿ŒS=f·c½hg¸;d }­¨a½P)DÉÈé¾@9Ý> @¿`¡F6S†I?©Wwm퀽p²ü¿K;¿Â0……4ì?„¤žûá?€e'%Äç¸?‚r©dì’¯= Ý‹Ì?XMˆV58Û>àFÓën–%?“ƧàÜ¿ÂnÒtTa=0PÀƒ:m¼¯·>°qøåE³=Œ:¢‡w»(=$`ÎÔv»(=„r«5t<…?¨§°u½¿™!-1„=–ܸ{Ýü¾æ9M˜½{PκÓñµ‹½¿¨Œ§°z°½‡Ï)‡Ž¾G7[ÕtÖ½%\ÝâȽþ™×²É¿¡ZÐ=ÁÉ+Eª,†=õÖ åÚ•=”àß'P›= >µ $—¿eeìyÛÀ–½F1blš°<4S{Ì^3=x›„GÆ–Œ=°o{LJS¿ºÒúm𷤽âÙH¢CP»“Dx_Ý2à¼ÌË=–*»å¼ˆÎ˜ÄO,¾dA¬¢£ú<‡PߦS–º×ÔÑÌØ~¼ËQA¯bb=X™u›Ò’¾ÎÔ-rl½ ¹òSÃà ¼¿±p¨·º$¼»-qP’âS¼CµC/¬-<ñ™R:î¶<;Úä?_8íN»Ô;Z»™,œçJX;f¾ó„-²¡º}K5¢¬Ñ¼LmüÓià<SLQí‡g¾¼ÐL3’3伿냅G¤ =¢æth~=Î&ÃE?}=P¤¬©ð´¿P¸lö¯q=+· ÜR=‚]>±×·=4óó:³½€ˆìqxÿ¤A´?±½v'Ï’.^ŻޙêBÛÓ¬½ü>ÇÞƒ‰½´j‘koà¼=!hïæÓý´=ÀWŠ|‘¿3ç­£ÎÏà½Hò‰Ãv•¼cCêéÇ*´¼˜àðu6‘½›¡jºŒË²<J•ž3¿0 $˜3?°b¿ö¥¾èKkÖ~ö¥>Æ ñSÈk€½`‰·nŒ¤¿0ö¶nŒ¤? ‘¶0x\|=ÀéZ6ðMˆ¿àax6ðMˆ?¹ALQϽàÕv7¾ 3\eÿ6>þ ÈáMŸ®¼…÷Õ•Ðù¼DÐ=MÐù<"ÝŒ‡?‚>š„,»Ó0?èˆ×m3¿…Í58d½ÈG??4¡pDX&? C¾¡j~?ÐþæÉŒ~ƒ¿b¼”ds[½€é>nì?d ¼fjPÆ?àl_RÝwÁ?Àüí ½¹¿pG50°¹ž=`¬ ï– ¹¿Ð+¤¥™æW¿ ?þ0ä,¿`í~Ï”ª¿¡ZÐ=Àd5Vº>Ý¿"˜™{N¢¿ ™[ßd,¼¿ -¬§sÁ¾¿×ÌÖ˜Ù•= X(+쬰?¯±¥¹,¿Pþì²í‚¿Ð,£k¸}¿NwÀåÞE…½°—WE~?¢/렒ˤ½8å[Kû‘þ(*ùWîȾêfßñ¼Àºz×>Úƒ-ñ‡»àŽÈÝØÙ=¾8r-f{bN¾ݯ*ÆX=Íô´[T> _liªzÿ¼þH«pyȽæÃ¡µß”&¼³mÄZ=]($Á«¬»hÏ¿ç‰Ä»@,ÒùV»§RÈÏ;öwz·›!˜=Pë¢éž>0ÞÄÆis«¾œùcû€(ë<ˆ>´d¯>¾ö'Ð#1¤? ö„Ev³?€ ÁF,r§¿þ¹Ü^3Ì›½€õ̃•®?,åÑ+…Nì¿ÐD€JVã¿ t/²~²¿Ê‰–’±Å=@Q˜¶´ Ì?Æ4a B„¾ Ê-–‰…¿ˆÿTÜ=™#¿vM7÷~½8­Œ‡*?$êK”õ°O½Î‘êQ»`½«ö¯&‡UÆ»„VOëþk=tp¾eÜ>XüØ ¹2?ð8`G@¿UÐè¢ks½°Ã,ú,&?4™›šDeè? 6¿Âƒ†Þ? tàY(Ì?MÌÎ8i³=€~øÈñË–?Ô€¤ ¼‚¿øïUÓl”Q¿@Ûý$z+¿¥Ä)¨ª=µŽ^¥]?ØoisWÄȽž½çyÍݽ©7„}(±¼Læ6ÚºÛ=°‡|Þ8/?à‡‹Ü8/?¸'·‹báÒ>ˆÝ„báÒ>à3×:! °?š/Ô¶–?0ÿþ.Ô¶–?@xAd^Ê¿` XSÖ· ¿Ð©]SÖ· ¿P®Íp¥Ï-¿à<Î^ŸÌ¾ GÏì^ŸÌ¾¼„‰¦3ÇĽHöAEG-½@áfADG-½V¦} o ½þr—_Љ =ÐѪÿÍ;¶ 0 o¡½ ¥½õ"¿üM.Hû[?S¦ùéÍÑÎ<’º¬†(X¿6yþõ?ò¼š 2kðÄ•¿JÒgä“ ?ÁÉ+Eª,†="˜™{N¢¿Ø\2¢‘D#À×1Öè[À@—hªY¿ìE˜9 3/>§½yïA?ýòñÃHÖ¾ ­¼Æ‘Ô¿À!d ¿€L%Ü~ >ìFÈã¾¹à?lXf¿Œ¿!¨¨N¿ÄÅ5зæT=Ü¥:m?þ=cÊc¾’áF<¹v¾Úóâø”TÜ=Â+a! ¼÷£x(÷˜(¼•¼tg©u4»ŒÛ!Ç¥Ø1<€(ø[£¾æ{Ãáñƒ >&Kµe¼šL!pë^$¾´Ð4ECÀ¾Dž ýпèR½&çEÛ?Îl…ÖÉË=„uVvîPÿ¶šˆã„·Ã»À'6¤‘z¿Ub˜’È¿_VP#òË=XuÅï²)Ž?ßt1­Uì¼xñNŸº½W¸ûHRH;•QÏw6 =,’É+ 7¿ta¡'$2?-‰SHý< {8#fpQ¿ä줨„»ýLÎ`a¿îúÓàe?ÀmUkê‚=˜˜Xê²u?µ0Y%ÚÚs½K˜šL”½ã nÖ ‡0¼*ÙÊ“=ŒÎÊ¢‹ª%½ &ðª%½°l;? ½¾d«ïlLj¿„SmLj¿¸ö쌮¿\‚è§å¿¼£‚§å¿n§ û¿ü-ç ÒF¿ˆªúÒF¿"ñ‘ð;ǽž%)Ç<š$½Æà«á<š$½Q3¢ÏK.„ºœ8¡ÈE#¾Ä.Lÿ2>¬8•±¶<°Â&¾|;¾ì38á&½À›¿l|@®¾˜:Àƒï¾>$²3†™%=ø¸E À¾ÌéϬ̿صÇÿ›&q¿ ½—\y?nÉ€He=гTïr¿RZG&nÓ•¿ &9Ï“¹¿ÀB$éï²?õÖ åÚ•= ™[ßd,¼¿×1Öè[Àpœ«‹ßô¿pbç,â¿¶ pO`ƽ ]¾Q“·¿ò Ç{Ô¿@ùd™ïkÜ¿@ݼ|ãDa¿ñLCuf4°½à Aº4Ú?ŽQHˆ$¿`ˆÙ[B1q¿Ø‚)mrc¿8eÝ[;c9½ðÞáò¬H~?ph¾a c¾Èbœ¥Ï¤!¿À† nÃ$&¿Ãí:8Òì»=Xú§Šµð0?|Þ­?¤Q#¾`,ð“ÝŽ3¾ÀÀk[ÈÊ.½(¢(£_;>Àô~¢jér½4^é샽ÃRÎÏ›¬¼Œz}æ=nÚ†Uå#»Åô £ï?B»:H Òºon¹y¤D;´ŒhÒ„l,½ ê)§ã C=›;iÄ„/<¶ÈÌÙE½èàÆIPžd¾@@Wmx× ¿òÊh¥?¨ç§õ –i½ÊxÚ…ñ¿¤tZ „ÅØ¿ ¦Ä‘jÝ¿àqéëñæÖ?~À(ð:ô²= m8=­¡¿¿ôàœŠ¹v“¿àPXÅ*2²¿ µFšbw«¿©R)ŒÛ•½ÌÅ€²?d­o¾ˆn½ˆíå)¾ø¡ã–»‰¾yFò´^ ½x‰Y5Ø—>û†>m¼Jý‚Ö[üÁã/)²E"»œ¢\áûJ"< ÎëL°=½¸c 'IÉ$¾è¨%;н9>»Š0zš™=øIÞhO2¾tÞÁÇ€¿0³:‚˜¿ÀƒE•Öi?XlÑÄÜW½ ewÊ$œ¿Èçæ·š¿hG„–Þʰ¿pÍ@Ðsc§?@Þ§n=À‡ß­ô ¯?2Å>tn!a¾ÈJEVí¾8§]Ͼø¾GÕ¸kÚša½xÏí÷gïõ>² ð`”Õ¼ï==}ëLß¼®y ,ÔÎÇ;­ zÑÓô<CöE¹K¾˜‹¯ÛX¹K¾ÐÕEÙG¼½àT-0šG¼½Ð18 ä85¿ø§ ‘4`¿³ ‘4`¿q²ò‹Â¿à¬(l˜›á¿ ùl˜›á¿žøò¨¿ÐFÄah`¿ø<Äah`¿¤Ë@õ`¬¾x›°tªJ¾7{ÎtªJ¾"0côת½%'ø“óšð»Ò:¹¿’ð»ÿò+ΜºÀ!ÿ<3¾h›ï²ŸA>u¯éð7$½»Ø„¹K¾ñh”ô£ ½Xu¸ŽóÕ½¾ nóõ¼-Ë>·mõKÞ=½€‘¸x_sϾu¨äQ¿À+»âIy¿ ’/—†?xÕ+4–¹=°Ç"Bº„|¿†“>=äž ¿à‹ûHuº¿@uGsÍÀ§?”àß'P›= -¬§sÁ¾¿@—hªY¿pbç,â¿@„P¼Ñ¿XÆbý ¦ß=x†’æ’?¸áPLg•é> |Ð%Œe¿Àd"šÁ¿þƒÛã·µ=@RÏ? p?h×ET?èO'—ó¤b?æ (â>Àj[É+5=ÈBA0o*p¿`?ŠÈ"Ãv>¨ç¯Ïp$?`ûœ¬^%?a;ŠSË{½÷Úã-3¿,xk@ 3>ü·ô ¬A>NTOwÐz6=Èò{¿l‡J¾*ƒÝH-ƒ=”„“ùÙ‘=×UX´Ý3´<°âŽqq¡½ðk¾LÓŽE½P0<ªXß[=ØÑš «@¼Z.] É`½ð—ºŠÌ}¾x %v‰¿©]ST÷?Üaéc–0=@. ÅšT%¿hºû[ujã¿a¯;Ý¿Àö‹%0öÆ?_µô˜Öi»= Ø”D2º¿îmØ3J•?6x¯¨¤?€€¾ ×Óz?)µÕ‚Óz= ó(ÁŽE¤¿x‰ÂÆàH„=Xå<Ð6N‹>°Û[_A >ÏŒø86ãá<Ô\°g‚@¡¾·™Ájl<\éÓë1<Ü^\eáÇ:ñ±šŠY¨9¼Z8ÏjM/C½@(Ư¼Z@¾t•¦S>%ÍGŒ'½€ÖB·´ÂL¾ˆkÐÊÜu¿à8Íš!¶Š¿’¦=í=y¿@ÿ´èSB=@Xy&ìí¿¾¸±È›¿pËRp裿`Ž`A}?&öTA‚=Ðj>¢?°ÖtDtï|>èf³Àïõü>¼¥nšÌ?/õ|7z\S=ÀˆO"í½¿?VP:å< 0õ]Žë<é”évÓ>ú»ŒDœüõ½Ø‘“ݦT¾ž§ݦT¾¼Ü±4gÝѽ¬ûÉdÝѽ8-¼ºáÃ4¿@òß³4+h¿ 0ܳ4+h¿@ Îj˜ìÄ¿€¢1˜ˆZ¿?xž—ˆZ¿?à'e<°£?tg°B^@?8 3°B^@?hÅb7”¨>brÖðX>€ÏÜQÖðX>,èu…Û-'=gõéß}< ÕÛÒ»}<5†}äø™¹…9—5€{½‡®8®‰ƒ$=0•8îâ¾£»`.½EÚ¢"Í;týŠ¡½¦¬Uo==˜9Ò¥ ¾U~A ¬6½´/}kï¼€‰cøµ2&=øxç®g2½@%K—J¿¤nîž²D)=WÕx@‰ã½=º£Wr‘=_™s÷(н >µ $—¿×ÌÖ˜Ù•=ìE˜9 3/>¶ pO`ƽXÆbý ¦ß=€Cô°Í¿&«¼yŽ£(‚ÏU`¬=àý‚äáv·½‚µÓã·µ=u%Ù2轿þ ï*º=µ+»-ÇŸê¼H ´µ7w<½GT$’ˆ'½@DzJ¿"ÕîH==áy“©ëqê8|žž½ÜGÏ´µÌ¼–¢Cû*I½£ *³¨ZY=àµ$x¿§Ö`ÇOX½š½©ûh6¾½R1H@dÔw=@n ?ç ½ ¿‡>°d¿šû²gœ‹½µŤzìe¼×+ö×ìœ]½ü³nÈ}½ œLR‰f;Õ•év=Â2°jˆ»cD©ò“ý;ˆ-3:¼ºj·¤Q]¼8t•–~{1¾àµwa{1> k륻ޠ½øíà"³Þ =[%»ÂEv½`sóåBž>¿`ôçåBž>?E/âyùeŒ=@ ›™ØÌ¿@G™ØÌ?-q9H—½ ‡ñ?¿QWñ??ÁøVDø)½¦eI1¾€ªØ eI1>Û0ŠN¬»G"VCлØÃÃ=/BÐ;’û­^ZH¬:˜2â7Gþ:>ÐuH vJ¾ön桃B+= ¤ô>qR> ¶"2DŠ¡=GX™¿>ø©\Η¤Î¾ƒKæ~IC=ð¿9Y×Î>b¹‡P?N$_s?Ðíi¨ }¿0¶ì@àŒ•p?Öx VZ¢?ˆÿVI¶?@ËÔÐư¿eeìyÛÀ–½ X(+쬰?§½yïA? ]¾Q“·¿x†’æ’?&«¼yŽ€ˆòXÑ¿ú.[.ûÂà¿)˜é³wÚ¿ygLUs(¿,z¬#Ô½SX¼%È?¤°vš¿p¸m\ÞŠ~¿=õq¨²p¿T®â5¥ÊK½ YðØÈ—‰?€Í¦ùîT‚¾ØI:§…\1¿TO>dæ5¿¡#jiô#‹= ãX$K??¨bñP;¾ð•MÍK¾ë;j²?:½trÉœ}R>`Éd‘½¨ë•ST5¡½Tøœ(Àżp‰9<Ô­=4 ê–ìH=¦M¨C­®`½öì­$N<H¼©w£b=nÎp á_‚>(·Eâ\Ò?Àp¶ß¬ñ$¿¨;I„‚=ØXÖ((?@A7Àò€Ë?pEâ…IÜÄ?€ßm1»¿Bÿ·Œ¦½ %$¬¬1¸¿NG¯75¤¿€æJ23š¹¿P=‹´¿4q=yw}½‘ÐÿýYµ?«‹Ñìž“½Hæ ¢—Y›¾°!§wç¹¢¾Æ?”G$|ñ¼ôçùû¢˜°>#B ‹Wø"¼õ—àÇ{ï:¼røLÓºPK8ÅÍ¿C<ñGŠƒ©;=¬Ý™Ã7>l[>àfM¾¿|‡f~%=|‘„C>Üÿ@r3þ”?P-RPA`¤?d‘Ûœðs¿:‚~àöb=˜Âÿ‚–£?ãUåª¿Ðæ<‰{h¹¿ /q=QC²?,™ŸÖH=r=0‹¸¸ú©³?eM s{¾;Áº/0ü¾à4VOf¿::èd½hãâ|Ã9?õª¬¬…û¼9(ãf‚—½ø¢éâ4qÀc™a>% QµŠÑ=ÔcY챊Ñ=ð­ùïB?°›Ù™Z?àgwÙ™Z?à˜BÊû5…?@ƒùf12¶?{$g12¶?@¯¡-^–¥¿€NEévÒk¿0h(évÒk¿ð÷)ˆÁ¾Èö0 >p^¾HMÈn>p^¾X™Ëx‰,½!Pò/¼ÐG苼„þAÿñº)6m Ô;A’"ÏÙü¹du½¨4®»æ¤FŸ c¾ÌÅkôz>;wÆÚöÈ;>q»°Ú×€¾ñ)4d¸Ôܼ2¿LOHXMˆ?F1blš°<¯±¥¹,¿ýòñÃHÖ¾ò Ç{Ô¿¸áPLg•é>£(‚ÏU`¬=ú.[.ûÂà¿p†EÁQ#À W$wjÀh?cSæi6?Éy0êɰú=`¨dP4µj¿–iø_ò¼ Œ[¿ÝÖ•¿œSA4„—¿A÷êÿ²à²=\úºÎ¥?ïÄÙV`v¸x#]ú)@¿„\ 0é%¿-æ™Ý/»C=ÈMûRg&?`–7„-¬€½ÄÓ ýÉ% ½èUñ–@¼º‚<µq¡=M³*åKî¼,V‰ho&¼½ÂU-á-»ÆòÈ—<0<-üü°ö¼O'wyû=ï£h–yºd%>M9½6³^û'’×»à6â¢(~¿€»0Ž~¸…?ÌùnHä¤$=ÄÐ>nņ¿oa™¢Ãü¾\,_Ù¿ú:];â¿l„è3Nì=Ü’¶Ü: Õ?Lá31Ý@¾0µûW,°¾“쬿§P<ö/ÓÀ§r%>`ñ骢«¾>ÓÜõ Û>—Êo {ž¤»¸àÁ‹±#B¾¾Ö‡¹5¿œ”;zIl׿ G3á á?Nå†Oö±=Ъ¼W¬Ó?Ð-6(åÖK¾üº{¢4l¾˜xnpxÂú¼òó'æ¶:]>…«gç5ºüe͋Ǝº¤®Ò¢Wbô½¼U7{LÁœ¾Ä_Q{LÁœ¾À„£’0 –¿"pôÉW°¿Â©ÊW°¿¼Joï´¿0jUtq‰¿Ÿ¿Utq‰¿ÄçN—}ž¾’KàD_Oâ½ÈKH_Oâ½ÈÜ­q,ár½L#Åê'ƒ=Í®iy{œ¼Èî<‘½ø· dnÎ$¾8¹†XD5>»žݰÅù¼ˆc̺B=¾Ž.}¨—ÿb¾HpR~I!¿ø»ô?0Ý)?êõ#Û,½ ŒîyôÍ.¿.ߌ^‡=¿@`ÖÈÂÊw¿HžÚÈr?4S{Ì^3=Pþì²í‚¿ ­¼Æ‘Ô¿@ùd™ïkÜ¿ |Ð%Œe¿àý‚äáv·½)˜é³wÚ¿ W$wjÀ`à†5ö¿Gr458”¿!3®œ¾2=£oç ¢³¿ŒºàÇ•¿Ð˜úB©¹¿ tA‹àx¨¿-ÏïŽ_u½°Ô®ƒO?À?v>ò=4¿Ð”ëÜ$×w¿pX?ô~¿DJfõ˜¾™= «ê~?¦9>!€½ÐdbV®¾XÃã¼0í½¾â˜•´ˆ°’Ê×$¾ð)‹úIy4¾´¾X¦Ý2½€É¦%£Ì=>7w¡ ¹à¼[¿³>‡Îõ¼¨íþ?°Ö»—RRx§=0:_šÿ€»„Òè:¿ü»O¦ ><-VŠ Å¦ÌºyþÛ¨Žz¼ˆ ëÕÇSv½˜Ò–‘ˆ¾œŠ*Åñ‘>÷p ÝÛ½p¯œLž¾ Íkü.•¿ anZÊα¿àr,¼9†­?T$)×l=\QÏF°¿t=Xá¿ð§¤ÁWã¿€¥dª×äÚ¿uk8ª:¥½€bZÍͧÎ?ÄÁ]oIe¾ 9ø~p¿ ¿˜¼ˆ | ¿Žã™Ž…½HƒX­[?ˆ†9õ~0½¼{ˆ•ÅËD½™„ȃçñ`;¤¼ÁëîhI=:ÙÂmÞŠ½ìÁt~.¢ =!Áã´Y™¼Š4ÿ$úM ½¢‚(õ)m;0èòc¦/¿ÀØeØ‘ ?…^‚ËÃ-½`O–Ëf>¿ªª œ™qæ¿ Cý[`6å¿ÀСôΖÚ?@8¿ó÷&Š= ä†WÎ?ŠEGJQúé¾W5'Vì?¿Ð;$<àWJ¿so°f ½Aл¨9?lÕEU®¯½x[3ß5"¶½é%¸ôàÒȉ>zÊ =ÈÝ8Áè—L¾Ì6ÚÖäz¾¨‘åé(¿0×0×/?¦:uÂN~=€¤Y·´b5¿ â[ß—¿ˆk,ÁBˆr¿Pˆ°Í4Å\?x›„GÆ–Œ=Ð,£k¸}¿À!d ¿@ݼ|ãDa¿Àd"šÁ¿‚µÓã·µ=ygLUs(¿h?cSæi6?Gr458”¿@©^5§Qß¿åÁµ;8¯=0'þÓr%•¿8Ûaiet—?`—d°tK´? ø\I!s?»Úc˜#Ío=€®¥“»¿þÇEûÛ%?Àé–æôz}?ðZýs*?ŽßÁ‚1€='pÊ©ƒ¿´Ý³„²?Ÿ=¸¿@KÆ)¾> m±žCË>ªxŒe¨n=€E-uN½Î¾ ÓjqM5>hÚá:ÔUC>¯÷N?"È:=8˜â¢aN¾W‰A‘ö<9‰Åà =ïšœ[«]â;X­e±þ½ïn¤fi,™;ª• ²Ø ¼nR)5qÞ-ÃÜêÖ_6w=ØTÇ5B5¨¾8wkìTœ¿@nϪåO©¿à«ØŽÕ?¬èŸ¶ƒ=Àñyè‚„§¿ÚÜÊ»ñè?0‹×x¢Íà?àŒ¹~RÁÀ?锌dî¢= Æ™¡”yÆ¿Âp9¡h|>@Ûš”9‹? ÜÞ©«?‡Ôë€Ü=x*°b«#¿."¹6G=@Ü õªá\=ß">É­¶;Õü ÌQb½p?ei]c¥½ ;9–t‡¹=%Ç#Ö­¼´(t§Çî¹½Gõ:{Ç Ã¾p°yNæ¿h'::P ¿u˯+—iŠ=<16ȸ*¿½ìƒãcEð¿c~"²xä¿€0í3äÅ?pˆÕê ’= ‘¾âþÈ?¦ô göø?àœM˜›fO?`¤r§‘W?sôÓXDÙo=0©=çH¿`M }¾=øAä&èÂ=/Z»ýѼh¨Ñ8×½Œæb$e,µ½ø {-µ½DEsÿT3½×,+`U3½ðL­eIþ]?ð›(¿Ð\îí›(¿&Â÷Ò«¿·Î 8š?`ó¦Í 8š?À—˜,^ÅÉ?ç›9KŸ’?@©™9KŸ’?À§·,TR"?ಱx—Ç>`xÃs—Ç>´of¿±^À=LJŸT#=DCžT#=m¶*§t<ð“0­I˜¼øÜ%c§tT½l“¶®½u’¼•“Ú€a:=pcÄ<M½|rߎŸŒ¾{>ð8æâ¼ý— ä•g¼¿ŒFÞ†£o=ž€çšt½À¹®«ý¾cˆy<¿Vm½€Ìc·u½¢…›£Z˜=òò?Õ×*J½°o{LJS¿NwÀåÞE…½€L%Ü~ >ñLCuf4°½þƒÛã·µ=u%Ù2轿,z¬#Ô½Éy0êɰú=!3®œ¾2=åÁµ;8¯=€Âþ«{§Ã¿þ6Ђ1f¤½‰ ³Y‚½jص¿Æu½®Öy[ìÏl½À‘ýéF—¿­I_s߀=±U!"É=pWÃ]ƒÖ ½®³‡²à²= u0EZS¿«ƒ÷þ‚¸½[œáe~„»8kÉIUn½R•«%¹ü‡½ @µ@4¾)¡¤¨PŒ=Ѽ Ó>9=åÔ€öJ½xC³–¾¥ “ôS=âÔ†æD»V…iõ¹õ»"ݱûènR¼Ýð£¯ðQö;Õ¿¤ÂD°/»wÊ™fWŽ;:À¡„ž©»ñ»”ÚØÙ»î’l¨}Ê©;ê?_léÀ’;»•:×úc=’* ]nh½˜é%Vg¾³ÇŒ“]=ïOfõàX½r_f®ÁÉa=|'4Éêk=`aR˜á¿÷P²[?½Os—›ÀT½}½Ìõ¦Ü ½Ã3ãŒz˜½àËtdt,ÿîC9ýZƒ=ÜZ˜…õ6<Ì&Ûí½‰i¦ÐG*½@vz5 ë¾¥¢£ êº$=Ý 4rªš»[-'û½“°»*À¦ H½¾Èrïà´;äôZèq‘¼öxÂo|®<ôÜ]nºm½Ôã±¼/åÈ߾м½õÓ¬z=)°Ž¥x|=P2mÑV¿i¯Ð¸q½-ñ ˆÍ¾ÊšžŽú˜=CAðåj“=à±ã¬MŠÄ¿Å èmC ¦½/uÒGDÿ¼½É[jª›½xšÇ¿®¾½€þ2B¢¿\q£¹ý­= ßâ1<ù»…Jð+nÔ<°Ã†?A‘½OÄ`ð8”ä¼èÃS¦Òµ‘½ÈÈØ~w·‘=l•€;L9½LjŽg;=.!ÏxŸz= A‚dÒ=¿p[UÒ=?ð[ªZ»j=@ïI>÷¤¿`!è=÷¤?‚\&e©‹½€{¶vˆ¿§ ¶vˆ?Í*°9ìW½À”ç‘WB¾pSÏuWB>ú@GÓ=¼ÜdY”¹ù¼´Á€f¹ù<hß'üsß=ìÿ+’¡½ïåm¿§æ¿¼´Lí™Ê­=hPog÷¾=>¨œ#iüSN¾¾ÜújÕ6½ðÉ„T>X–mÑ^΀>(îZÝ0?ÞŠÌ»¸7¿›ëà„%e“½ðµ-Pú9? tù8Ñ,?ðerÀªƒ?ÐTß$/¿ºÒúm𷤽°—WE~?ìFÈã¾¹à?à Aº4Ú?@RÏ? p?þ ï*º=SX¼%È?`¨dP4µj¿£oç ¢³¿0'þÓr%•¿þ6Ђ1f¤½À³1Gg@Ø¿ÜH‡¿¥¿àÒ}Ú3\»¿Ü‡åq#ª¿À1{›w½ÀÝÿåá|»?첋 RY&¿ Z»g~¿ˆâd„¿èXš*]›½8QÒ¤y€?†;\x ½ UãÎÀ¾P¬æ›5ŒÏ¾ï­ºªF/d½€GÊF†ïÎ>ðƒŠTP=¾X‘]¼u¦L¾'°M—@½3é¼™%T>¦6𯄽EU?ª½ÌòƉRC÷»;vI73 =ð}¸•1Ö¡»A|eîÀ|<Ǩ“Û~5¼‹÷d bÇ´»ñÙu=(Ã><~f;=sÌ›=”œK€íc¡>pa|¨•V©¾‰h苽 E#´>†?§sޤ?€Ø<å¡·?ÐŽ¦]XÛ³¿Ëpý¬òý`¼Éç¤g¯?%.ÌÜ¿@ƒ2H˼ӿà¡i—.CÇ¿î–iPÄš½€~a—š±¿¸»-EË׃¾@K%]¦²¿8‡ìçÎŒ$¿,^H/à%½°«&©·m*?œ¥›µëL½°Êmñ°b½/˜ËAœ»»Ì‹ð‡×?f=P)–é™é¥=,áÖX÷$»½Lû)IyHªàW`™4XB?`wèá" ¿Ü{iý¼¤½`÷ñArP?L+ðQµÉâ¿åN™Ë׿àZj(šmÉ?° 4L…k¦½ài‚Öaó©¿ÌþíÁ'Èö¾àP f»Ú@¿à g÷»ÌK¿—¬PÆ Âv½°—Ðz11?LÉ«Þ!lϽÔJd/ÎìÕ½ÏTMö—æã< "ÃóSç=ŒÎXÅ…Æ=TY0[[†Æ=,øŠ3o8=@4« Úo8= MéjŒ½×>àϹ°)?°ñMº°)?àÚk"t¢? ŠàÆ+ÐÁ?@TÄÆ+ÐÁ?˜nXÿZ4ª¿ÀD?³wú§¿ W=³wú§¿€pF†¦Ú2¿˜DtèN¾Ä¾h_·äN¾Ä¾(OñLÀ½Øœüº~0½´ÎP¹~0½vUWOÝ`»ŠG3)MT{;ŒE7úr)iºC*bŸ$dž»‘lp›•€½\øûØT6•=âÙH¢CP»¢/렒ˤ½ŽQHˆ$¿h×ET?µ+»-ǟ꼤°vš¿–iø_ò¼ŒºàÇ•¿8Ûaiet—?‰ ³Y‚½ÜH‡¿¥¿„{B:²F#À”F´+^À ýMœÈõ>}¤V0¾ xfªÖ[?¾ÖåЃHÖ¾€2‘!~Ô¿(Põ(‹ß¿©1o ¾Ð›Ø8XÆ?|´}ÅÒ ¿D²É&Y¿ë#…O½ŠhV?zb¢dvc¾0qßÁÛëz¾ãx"pÚ¼<˜¦‚ÃÒ€>ÖÈHòš{¾P ‚É…“>s9ãâ4ó» úå3²%¾ÀQ{CÀ¾þœEGÇþпšgYùßÃ>mW¼û[aÔ½XŸþ×£ñÜ¿nDä Hû £Ž^ù“z¿<«LM×"‡¿Ýõ@I1²½œ+Éq½‰?Šàæù¯ì¼ÂGD´RB½6Ù^Œ€o@»U2ëŬ=PXÅ/WrºFÎu,7¿ÄÚÚ1ÜM?˜Γ–@½˜¼~Ê+3D¿è}}ix…»BúŽQba¿äElíÚx¿¸ËU…úyÀ½Ü¸ÉRH¿êyQ« t½œÙ‡«´†½z$³ Åû;”À}"…™=ºÞ E[3%½"^¯¬\3%½¬öŸýê½¾ü(.¶€l¿`¶øµ€l¿ˆ#¥Ûð®¿pnt*©å¿Ä†E*©å¿ü2lt°ü¿p²ØH¿\;“ü×H¿ðvýiȽšje&‚$½Ò²ñ‹&‚$½ÛÊèÏ s»h¦Hço‡;ØòŒ½!»Aë_êO˜»,é…ÛGôß¼~ËZÜ>Cõ<§Uɵ黝ĨnýÁÿ¼¬e‡À^p»‹ÒRáN#¾ *¹„š3>Èì´?§¢’¼8©Æ!;¾¤-$·"j€½°Ÿ*E{O®¾Ð? #?´>“Dx_Ý2à¼8å[Kû‘þlXf¿`ˆÙ[B1q¿èO'—ó¤b?H ´µ7w<½p¸m\ÞŠ~¿ Œ[¿ÝÖ•¿Ð˜úB©¹¿`—d°tK´?jص¿Æu½àÒ}Ú3\»¿”F´+^Àð±”[ðô¿ *§€•+œ?°—4è D½ààS)0ž?H*ù™Ô¿àÝ;/Ç~Ü¿à ~ˆŽØ¿Š(aØš™²=YÍ ¯Á?¼îŽk%¿Œ¥/w6q¿€®ý¡cy¿îû?`Öx½ˆQ·ž¢$s?êëkW% c¾Ø5Mꦨ!¿8 À“‘(¿¶-QO ™½PÐæ{*0?0Û'XöS#¾È*öØþ2¾"%ý?Xà½Èk*¥z;>ŒJ$ï/èr½øØÊMDb‰½¹Z`Él–à;`Û©+s*=˜µË~þj,½ØæÞÙw<=n£™>¼¼Ñ†AI½(‰Î0ù¢d¾¸6ðhæ ¿èÂþ„X5?–›^wO˜o½8ä“ǵt¿–£xðÇØ¿À˜™æÝ¿ åÁÈÏÕh¿xù‘ ;b“½€Ç°ôiQØ¿‹;Ñ©w“¿ÍŸ ·:²¿À‹–¬ÄÆ©¿è^Ò€É,=ð¦Óg(³?°$ÖÙ³«n½0þ{²nÅ‚¾Ô·Î;1’¾&Ù¤Þ…¼ˆtó=”>×0·¼Z:¿\¼”¹-+y­ºi7•ð© <ÙV\`U»®5ß齡s;^v÷§>»D@Kƒï‹t»Ÿ¦¦í>̽\±ëw<Ï$¾° &lm[!>t á3ÏɼX‡Nâj>¾óå›,É€¿ÛVb桘¿€’òXVm™?u%›'™`½àì¡B¹éˆ¿,;xÈš¿BþwÒ°¿Ðû2 “²¿HNTæp=(ŒQuØb—¿ÙŽJ¾)a¾¯ásí¾@L=-ƒR£Õ¼\n86Iñ¼ Œ—SÈ9óº±äSS±Àì<´V>_Iø»ïØ53Zø»øR.º½°„R–ÙñK¾˜$‡+êñK¾è[s½E5¿ðEfŸ?`¿Y~fŸ?`¿_A˜›Â¿ÀÅðÎ}«á¿ÀxñÎ}«á¿@™—hê ¨¿Pã#„Jn`¿øÅ"„Jn`¿(úús"f¬¾øøæ.îJ¾XG/îJ¾ªTs’O´½C™ w&ò»Â˜+°Lüñ»úMº‚L‹»Ìý·eèo ;1VÕðPÅ9»s˜ì7x±»ßõA–ñô¼+ÀЯ =óX ´¯R¼=1[pνÓ}˜@îR»ÆYØø2¾àuˆ!¹A>.ëaGª ¤¼†"”¥‰J¾¢pÊzðü”½à:kWý[³¾œÂ—…Õµ>ÌË=–*»å¼(*ùWîȾŒ¿!¨¨N¿Ø‚)mrc¿æ (â>GT$’ˆ'½=õq¨²p¿œSA4„—¿ tA‹àx¨¿ ø\I!s?®Öy[ìÏl½Ü‡åq#ª¿ ýMœÈõ> *§€•+œ?;ÆH…çп`Ð+hmµ½0‹OJy‰?xg œß?€6‡ ¼Ù?ÀlUPÎÓÃ?¦ŽjçÎH¸½€?µü]Eº¿ôÕœ …_?Ш½Wäµy?EÜo~˜?–êÆ||½ÿeÊ¡+}¿`µ*x÷z>hàMA>î)?`ì%ÓTî/?¬rêsÿW=(8š.É7¿p ½äŸ3>D ³;¾A>¢ÔSžð<ÐFâÛ?ÕK¾ø¡PîỎ=ÐÍ ôò§ =rqDG‡B¼¨V{í製„҆L@½üLb’4›N=5¡…ÕݼÁ%Áïî\½h+ûU·x¾Èm3|“Z¿¸ùô.¶?ez•!Ai=ØŽÊ–™)#¿Àea9-ë¾`ºžMŠS¿`#ˆ°À¿ B_ µ¤‚½€ú9þCïi?Èï÷{*ÿž?•¯6ŒÓ´?0y2È;d£?g˜Ï™?0V½Àíð°å¶¿²É ÆYŽ=ÀXO ã;•>È¿ z¿£>Œ¸%РἈ/N¦¦¾¾6(͇<Ö¡ÿìÚç2<¢ÒÆdþÆ:qs~ü¥h:¼pOk5gs»tÅó¸_‘;%Vä:#»„ˆv`\’»>û¤p+½dÇðS…ü&¾@VËlj7>ßÉʦË—¼0º+@Ç@¾ãÝüiø‘¿0#²ÿM ¡¿¬Âµ½¥›?ÇRÏúöl½€5BÙñ‘¿}Sõá­?À,Nà±R»?€h&CUº?Os?¨~½ÈfõŒ:£?Ž×]ø?p> b“0¡êð>˜|ë@å>Ð6Y,c¡Š½¸ÿ.âÀ’¿Ñð¹Î– ö<¡Å‰¸ÿ=*±ïáß";yyÁ›mH ½í W Ñ ¼@,8Ê< ¼(¢þ.ÄÁ½@K’Ë…QZ¾¢Ÿf‹QZ¾Ÿ0RØ<¿ðç]ëíA¿Ð!TëíA¿ ˆ¯¤ §?0ӛ垿¿­Ó›åž¿¿à ϙà œ?`èVºåh?ðlºåh?aÐ®Ìø¼>Б:B¬aT>àµ}¬aT>˜ˆÒ+5#=æñç"ò6 <á›Nc°ô <ÚòŒ½!»öÚÝŠ]5;â!ÝD»Çû•ϰF»èË&ɵé»\NÞ—5þ;sUK^V¼ $XÈóf¼:³q« sº]ÎŒs˜’¼hõ›ì×¢x¼ø,ï>L¢=ï’•‰j½½°|#ý¾5,ïÀ%-Æ=;zS›»ˆ</ÈZ ½€Ú $Pó¾èáËA9Ó=guRç& ¡¼í°öü <Ì•¨YïvT½A±AŠ…ù¼†=INÖ ¼ôÊ5Ý5+<莨\Çu½ô×h¿ô)¼ö¶GÌW¼XÇd±l½S“ߨÀŠ=À¨@[´ê¾xúëmíz…½[By4Ãd½SŒ»³ñ‘½Z`!µ¤‚½€R…ïô½¿ÖÄýSY‘½_"„@=œ«˜j¹£I=ðM‡Lú +½ð­‡`Ñ¿˜–7´Qíb½æàârOP;Uw­šcçÄ<é"„¬dÎ<sØ“ýb¾°¨>†‘μ¾ b¦9ÿ©ºãµgÞüúÄýÍÛ»¤“€¯êÍ: ÕŒ=»Q»ÏÌ;-å6ð¥-»H¶ªL[»aNicÇÃUºBr=r¶Ã¼v¡èѵëÕ<ðR ·{¾bÖè0b˼.ÁÌ¥E{½ßθEýN½Ç®íRöP=@‡ý£ù@x¿˜#.¬ÍéI½>¨=#èù¸½ê÷µÜ×r=WUÆÚÍ¡z=E-Ì,{¿ ÂqÙ÷j=ï~ ƒ¼—y˜m ­¼_íþ¤P¨=pN©l;Ÿ[ãlz¹½NlA§ÛdíºG:IN”‰ »9{¦5¼8¬Q;2FW(ÁÚ»í+éôÚ;©öÊæ>\¼x¼¬æœŸ1¾°;&Ÿ1>»,¹\ï5$½`Àv޵¿>¿àŽŽµ¿>?,sŒÊA=À®|øéÍ¿@®}øéÍ?à·¹äãtF=€9çø¨*?¿%¢ù¨*??G¶ðãÁŽéI5¼’_D!“ÂÒ»2ANDfwÓ;ô‹õ •;­õc#©»œcÂôú°C;2>Ã;·º;)L ¢Äñÿ<`ñ| @½ïôþ ªð<×ÀÈ÷$=’ÙH”;ÀY\€Šs;>`½¶¤ÍK¾ÉÐFv­<\›:{rR>>Äv“¤=x;{qIÃ>𼩽ɾdA¬¢£ú<Àºz×>Ü¥:m?ðÞáò¬H~?ÈBA0o*p¿"ÕîH= YðØÈ—‰?\úºÎ¥?°Ô®ƒO?À?€®¥“»¿­I_s߀=ÀÝÿåá|»? xfªÖ[?ààS)0ž?0‹OJy‰?'RËÓlÝ•=À$É} ´Ò¿h¾ÀŽcÆ¿ðËÙÍÙeÁ¿b@f{0¹¿M  òs½ägÇl¹¿ä¦\ÓZ¿˜’F2¥s¿€ž=£|¿̤žÞÚr=˜ÛC€p?þ “£«Ù€¾€q ã.¿pd\ .s5¿.è¶@ˆ=0—D8Y :?Å);¾`™‹±‘J¾!žtñº¶½Xm¸ü xR>`䌄z½´È¤½É£½ër¶âÒÔ<È­ð uú¥= jVRŸL=g[Ë¡\½ˆÐ—Ã)0<4„›•(ìh=¦ÿ%žN2„>°MJž³à?(ƒí¾úŒ#¿цÕØw=0±ØýI_-?¶ùäóôšä?`j¯ÂP'ß?P¾ÛÞ²X}?ó‚¯ãÿ =€s}¦6¥Ë?6ѧ×vÈ ¿ð‹ÉCû²¿`ðW=Mª¿iùÔL|Q½@K%ÖȪ?AzU®/½€¸öõ“–¾˜xH“ò,¥¾u³¢”·â<¸}zF(¦>]ÇpÈX ¼Ëæ»8¼^¸äµ»Ëºé0Hº«Â@<w—öÙw;&Óuΰ㕻 íî¡';M‚Y¼·–;òÀ%  G=¬6á>-gC>ô…–3#@¾8¹õû˜ðBŽbéÙSˆ?𞋾þGš?àI™uœ¿°œ]Ûb=@ †Ûñu?LNjqf~?€¿f µm?l~YîY? ]ÓêÂX=pËáCa'“¿¼Ù[(iA‚¾à,‹¹I^¿ÐE"D‹Ôÿ¾®“Þf£=ˆð[^ß?PÂR÷ ó¼Tšõ{0½hËšð+Û»BUçPp–=ˆt'Äý`<œ ¥Jå›<,¦ˆ_1ˆÕ=â’È‹Ig_>°žçÑ&@?±ŒMk?P=ŽŒMk?Cˆõl=Ä?À ™Ú-D¶¿€ÍžÚ-D¶¿€wÀ.sA©¿€ƒ&IêSZ¿@‰^IêSZ¿À-8tXN·¾ØUG¸ßØ`¾ |7Üߨ`¾š ÌËt/½Õ* ØÜ<¼íVüC¼²¸ð²b»&¦‡Sœ;‡PߦS–ºÚƒ-ñ‡»ph¾a c¾`?ŠÈ"Ãv>=áy“©ëq<€Í¦ùîT‚¾ïÄÙV`v¸v>ò=4¿þÇEûÛ%?±U!"É=첋 RY&¿¾ÖåЃHÖ¾H*ù™Ô¿xg œß?_z»ä&çË=h¾ÀŽcƿ܀/¶R#ÀÀ!ùg%lÀ¨•…,h?·½•_’Ð=x_ÅCÖV¿8m6ïtiò¼´ó wØ•¿&€Z©É¢ ¿6íËhßšw½Ö+Y´N^¢?K§×`A¿”AršÎ¿ŒŽ1¤¦½XvUøØ#,?(îËPC€½:™‘‚©Ê”½ýã`RÀ»¢Ö7˜Èd¤=5÷Ç_ ©»ž`?Úu÷¼ ³!©=8`\ÔŒ`_»Õϵݽ¹V‡k×»àþŸê*~¿°ö?Áoy†?Kg§ÏOw=|¢ ¿Ÿ³~—žü¾ð’LÛï`Ù¿°¢ö𠯾¿v:‚8e¶½|¥0µ‡´ä?š'®ù"õ¾hÈ)rOB¾Gó„~´2:¼<ž :5d&>ÚE¨x1­¾¹8•[@>XŒUW<ˆ|=™S¼1¾D8 5¿Ð$è n׿,iÐ!„îÝ¿nŠtg?½˜K›’’Ù¿.X[(ØK¾~ð\sA¾‰¹™嘼G.õ>xo>ÞOJý0+ñº¨gÑ)ñºäRÀõcô½8×ÜHVܾØ:IVܾ¼r…ç–¿j¼·E–°¿Bé×E–°¿¸$†k¡ð´¿,ÄÐ Vs‰¿|Å Vs‰¿à)ÛËž¾àºâ>ýTã½8*µ=ýTã½?ÙïUZˆ»pR¡Œ¥;öS^f”2òº¦‘]ja ©»ÀP,«Úçr½€ŸÉ•͉=œÉXتçü»X­• Tz½µ¶ñŒ‹–ö»ˆx¤BÕ$¾ì s2‚4>×ÔÑÌØ~¼àŽÈÝØÙ=¾þ=cÊc¾Èbœ¥Ï¤!¿¨ç¯Ïp$?/Id Û˜½ØI:§…\1¿x#]ú)@¿Ð”ëÜ$×w¿Àé–æôz}?pWÃ]ƒÖ ½ Z»g~¿€2‘!~Ô¿àÝ;/Ç~Ü¿€6‡ ¼Ù?€)Èw9ú°=ðËÙÍÙeÁ¿À!ùg%lÀ. sBö¿.þœè#´?‚ʼn…¦Æ¹=°5ñq:g|¿H–$ MÈ•¿`8(|Ž´¹¿€ÏM^—º¿süÎig½€¹z2 n¶?Üw’ˆå4¿ 'á÷ÙÝw¿ð¼À-™r¿î¹ºóaʃ½ÀK꺻ƒ?l^⨋½šlÛ Z®¾@BˆJ]c³¾IŽrïo½¨¨Ù¦PÃ>zÒ¬=¡"¼½ùèÚ$¾p‰‘xžB5¾˜¸ð?)½¸HØA=>y0V€9³à¼ÊD×ý‚,ø¼Ù²ç¿q ¼þ öÖ¯Ïÿ<‡' e !…»–ÔcZ{W»¼Z¥§^þ2»ý~ÀX}¡§;h¢ÚÖ¼Ô>79 <›åÁT½…u»±‹Ëæ%¼„ɽ&N³v½ƒ:4o™ˆ¾øõ•ðT™–>mÑæÐS½0…½Põ›¾L`}O8ƒ•¿°‘'Û±¿€ú•Þ±è¤?ŽLgºn=Ðýõg³¿L ƒ'èXá¿ËË8©`ã¿ ãðfñµ¿ûÍ@À{½À½[¼œ‰Þ?:i Je¾˜ó‚Ä ¿à»óõ¿À¦võ\™½øRÝÔ ?òG™4~-0½Æ»Ç A½­Zàœ~¼å­?8L=¨‡…P5ꊽü–T§¨“=…)C`Ù÷æ»´¢ðO1(¥½Èš¥o;À~X¸´/¿pÿòˆ7y;?ðÁ﨩{ê¼@dz•¨P+¿4Òµšˆræ¿°Vê;¢?å¿àÆJõÚT׿Üã޲©=°8-®Ô¿8ñãðúé¾»EïÎó?¿à2€A\o¿Ÿð:Ië¢=`'¦Ú$M?­p` Þʺ(¢Òî°²¯½pó`Dc ýî>°á²Ü¼x+Tqð|Â=!ñ§x8#»AÀÀ·w#»¼TžiÍ%½(ßéଽ(ÚCª²¬½h{X×jľŸ&ñH!¿@? &ñH!¿ Œü—pj®¿„“žâ›Á¿€–žâ›Á¿|ÃÖñúÇ¿¸8¦¿Y7¦¿ÐÇ-è#$¿qAöv¸¾Pv:Éõv¸¾ðgD–M©½ ì&pò½Ø1U¿lð½ØÙú”Œ»÷l¢ç¢N£» Z©hfÀ;2õD´+„S;J4”âû }~ V{‰½P»£øW´ =gôÍ~×^Ò<8HÝ·®Ù£½ä¼˜G[,¼œÅÙ|Ù>5¾hÊ@ ˆ_C>ËQA¯bb=8r-f{bN¾’áF<¹v¾À† nÃ$&¿`ûœ¬^%?)#ë”Å}Û=TO>dæ5¿„\ 0é%¿pX?ô~¿ðZýs*?®³‡²à²=ˆâd„¿(Põ(‹ß¿à ~ˆŽØ¿ÀlUPÎÓÃ?-y…¢º|¬=b@f{0¹¿¨•…,h?.þœè#´?À±n/ÚÚ¿rK˶é¦=™Äüª?þ©¿Ê’„x– ?`*™‰ò³?@zßì§? Î_7óòf=@ .&ì°¿Ð}œ‹?¸½—×r?}qœä\?ž8`è`½°ãPuK¿p‰Œ{ßו=°‚9KF´>о¨äݵ>¯»åA ¬„=púeàÆÉ¾ýûPܵP3<€8€y”‡4>ðc¦O>dC>TÿnA¨ËA=xhNŽÏ­L¾`°rAšà÷<¹ÒOÒÆ§=.IV{,ã$<§Åñ3»½™Ýª€ÐÉŸ;€Mï*¾µ;©k¡ðͱL;í—b²KÅÁ»þÀ;Ï&!¼ÐŠlIœª7ŽîMYËÞž=I_ý`»¬¾xU@~8O¿¯ébÙˆ±¿Àn’û‘?ëåû0yMr=Ðôœî´¿>Gâ\çþÄ?`ÞH™½? î õfkÄ¿Fgèúíg=àðâÜxP´¿ªî¾3î{>¸ôÕyÂ?˜sì°l?,ÈûÒÊ@±=¾SWg„$¿ÈTEr£C=üƒsšS= ;¹…•@V @¤%?ÐD“?íî¿3{CȪª¢=`dâå–3¿8ÎK€@:x™AEõŒÈ=À^4õNÜ=«vLv&ù<˜Í5/žÜ½r5|;ž68»ýÃãù#<»<Ý[z6½¸‹9­ÖÁ½oäÝØÁ½À@ C1Ó¾z3 ¿øÇ¥6{3 ¿àʹ3çH¿ŠêàðÁ¿ïŒêàðÁ¿€Cºh댓¿à—ü¨‹£?àæ”ü¨‹£?p|öM>u-?@J8ü»·>Ð)½»·>ap5L³=¶1ëxÒ(=ܲŠCàÏ(=N—ƒC¬,;“oîp9;JáôîîšV»5Èà(þ;a»¢gxØ•;Y;9´bì÷z¸<•± ׸ϼŸ+·}T½ÏÞnŒ¢»Ì<·hó–ÿ »ÝÔ1^Ý¥K=€f‡–æñT½X™u›Ò’¾ݯ*ÆX=Úóâø”TÜ<Ãí:8Òì»=a;ŠSË{½ðÁ¹¤ý¾¡#jiô#‹=-æ™Ý/»C=DJfõ˜¾™=ŽßÁ‚1€= u0EZS¿èXš*]›½©1o ¾Š(aØš™²=¦ŽjçÎH¸½À˜¢§W¾¿M  òs½·½•_’Ð=‚ʼn…¦Æ¹=rK˶é¦=€iD“Ä¿|°Mƒ°½çûˆ~nE½ùæŒë7{b½øsè{mÈ^½À÷˽Y—¿ÂX}J3i\=´ø®2E½Ä¼Ä}À1w=.œ¡©P”½`äC*cS¿„œp¡=2öÆŸ.P¼¢ÍÏ£i½sàMo8E½@|1† 9¾2@ÔÔxBs=ŒX*}†,3»–‰«l1½ß9œy½1½0xÍFÛ˜¾#"Zƒ9î4='S*¿q ¼T[ë°Ð"¼EÏàãíR¼î‹[7¡&<’Z¥§^þ2»¡ü…§AJ»Ö 12æW»»£JX¥?U;fš¶Ì–h³;ŠÍ/ Ë»»VÂÓQá»äÏR0ˆÒ;‹ú}ï‘;¥ÌñY±=!ƒP6¾Ï‚½¨‘3o*¦g¾ ®ÅD÷m=9,d‚¦E½¸-?jé£{=F Ì0Ò0v½€çµÝô¿žÕp–R<…=Šë2XBs=%‚dñ2ÀR½lýi8O]= ÅŽäí@ÿíúÿÎÔ÷~½}9fý²ˆ¾¼ÿñBLJ½’îóýPFJ½n+!äë¾™Z¢J—ðv½¾\æÁñƒz¼ñ'5„J‡¼¤¿2lKN½I×$Y’·”<ÚªŠ—×<“HsôfÔ¼@H+D¹m½å|'pPÍñÕO ŸúÙ¼¼ð•Jyâù¼x§ÉþÍàù<ÕEû±&ÁºÒFÔ2ü©;~)ðP}Æ»˜ñdœ\»Ÿ†²ô€Ê;¨ø"ZF=È=ôèö£½ý×ëÝÌÙØ¼¬“p* ¦=ã&?6µ< Ó{º:=>y‡sâ¥L¾ÎÔ-rl½Íô´[T>HTMŸŒL‚>Xú§Šµð0?÷Úã-3¿Åö™ræ½ ãX$K??ÈMûRg&? «ê~?'pÊ©ƒ¿«ƒ÷þ‚¸½8QÒ¤y€?ЛØ8XÆ?YÍ ¯Á?€?µü]Eº¿‘'ƒyt¬­½ägÇl¹¿x_ÅCÖV¿°5ñq:g|¿™Äüª?þ©¿|°Mƒ°½€F¡¢‡éÝ¿°d·’VQ¢¿@uœªO¼¿€P^^龿ÆbÑ€2!l½€o¿ˆwʰ?|Ä(¶,¿Pƒfgàý‚¿ðû€öÕ}¿l>ª¢Æa½ÐE ¿˜?h¯®Ïl¥½0+™Ã¾¸\'XøÈ¾Ó…(XÖÀ½€LcîY¦×>–öäc*u;¼Xò.0á=¾°­§okhN¾"·£wÏJ½Æ|‹ý T>þâIè)½Ší5*½½«7ë.¼Ž6¸Q¦Ý=:¡žSí¨»íËn•uMÁ»I9„ ¨fV»íüÒð:¦Ë;ÔÜã(ž>(<¹§i𫾭1¨ )»¥½˜Áˉùޝ>@ Óå£8¤?Ðìõ]û®³? —àßÊѧ¿æ µ)WÎj½ –À)þ®?¼=S‡ÈRì¿à'ü5,ã¿àΧÒûÀ²¿0N/5a犽€ÞfIykÌ?üªŸ;¼„¾IÄ!N“¿˜Û<ö¢#¿§md5úsº½¸&Íyt”*?p$âöBÈO½F°²’kÉ`½Ìðål+² ¼ [tËák=È·À欃«=è®÷Ky´½~—c* ú½Äµ(Ÿ &Å=èð¦$oÜ>¨ øËÛ2?HŒaúòf@¿öÙŸO m¨½à5AÒ.&? hqhè?Àbo#v¶Þ?À‰HákÌ?P»4ðà-–½ï0Ïñ–?ºˆéR„¿°€iÏ~¡Q¿"±ç˜+¿Çß”8cÛœ=𵓂¾]?æÍë-+Î=ºŒ_™VàȽdŒÉþ}çݽ5ÒC,ü¼ì܆ ²ÑÛ=².:Í5×B;6 µÊÒøE;X}“iBC=ˆP±I£Á=4g7é¤Á=@. q Ñ>P ¿a _/?pˆf8"_/?ÐN5|C°?€Õ)=Pè–?ðf<=Pè–? lo¤ÕˆÊ¿@¢Þ&¨Ð ¿€žÜ&¨Ð ¿à´+È”â-¿ðo½®Ì¾Pžë®Ì¾ä ¸5ÌĽ$éq–l-½˜ßæ:¬h-½Äx`¶3»¦9>!€½´Ý³„²?Ÿ=[œáe~„»†;\x ½¼îŽk%¿ôÕœ …_?^}[ã<ä¦\ÓZ¿8m6ïtiò¼H–$ MÈ•¿Ê’„x– ?çûˆ~nE½°d·’VQ¢¿xixðG#ÀDl"ã@_ÀÀp`ý‰Z¿B«Åƒ½­½Nª?B?@…4¸ÏHÖ¾ŠÉ|E Ô¿`Ñ_ƒ¼´¿g2E8²=Pl ¨L¼à?¦p×;«!¿* ”¦"Q¿÷*Š0 =8îVû?úÜø]Qc¾ŽN*õ»v¾|eTú|Iw<„þËr½N‚>ô´—–¾ ýoÑM† >>—P¸¼ì#³ìa$¾u3·CÀ¾0ºèÅÁÿп@W´2JÛ?2’ª¶] =H‹ÈöSÿ†VTr؜»4¹(=a•z¿<£S«%Í¿GŽO±"j=¼úsÏ.Ž?7Dª­ çì¼e°uEA(½¯,W;é(‹úÞs=4I)–.rºX¤³(T7¿ø’ ®&2?W]Sÿ©J½„îÈëØrQ¿šŽçB,…»Bú½.3ca¿àèi´ããe?s;o‰lÙV=úÊ›–“µu?¸9`;Kds½ àXM.–“½|‹¥‚„;­þxÉ0“’=`Ô38Ã$½J¼©38Ã$½H³ëk½¾H”îÄm¿$[©îÄm¿¬¼›s²‘®¿\®sdªå¿øò£sdªå¿õ»ý¿¤È{cJ¿kµcJ¿Ð¡›qȽT³G6‰ˆ$½¼¾Ñ6‰ˆ$½#+Æ®dÎt»7[yº´š’;ŠVn7€#»lY†·u”»¸V{Ûµjà¼e“uŽ·u÷< ¹òSÃà ¼ _liªzÿ¼=Â+a! ¼|Þ­?¤Q#¾,xk@ 3>‹Vî¬Ñ.½¨bñP;¾`–7„-¬€½ÐdbV®¾¸¿@KÆ)¾>8kÉIUn½ UãÎÀ¾|´}ÅÒ ¿Œ¥/w6q¿Ð¨½Wäµy?˜þix„|½˜’F2¥s¿´ó wØ•¿`8(|Ž´¹¿`*™‰ò³?ùæŒë7{b½@uœªO¼¿Dl"ã@_ÀรÛ;úô¿@ĺ¢ù¢¿ày yo¼½PÔ€ b¿¤¨”zÔ¿`½_ MŠÜ¿À&î²(Ãa¿TB9ˆQo¯½àRì³?&Ú?$svˆ&¿>':q¿°VÁ(c¿ïWÆïcb½à[ÁlY~?À\pÙ c¾Øæ*¶j«!¿àxjKi-&¿V®">OZ1=pƒ«M¢÷0?y ?êSû»pÙ"¹GV#¾d¥¯q’3¾ä²CŠàÐ<¨ DI¤;>(|¶Uír½t§„Yƒ½„‹Tðë'<”ÆVÿ¯ê=ƒ=¡Ä¯F~»Õ =XmG’»0&òwÒÑDºiPñË+¢;©²Ôc,½LZ5ÌÊC=µ¾&ÉËv¼PÕó èE½ÎÊП¤d¾x-£ÛNí ¿Ú׬Lµ?mé¦GA—½Èv6l¿jŠW¸(ÉØ¿8ð邎ݿ@Ë“³ ×?ZEâÈŒ”½@ÍAðÌ¿¿Î`éRx“¿°Ý «X@²¿p…eB4‹«¿·’^em½½`vÈW“’²?u`–4p½-KgÇ‚¾øac‹Á‰¾< cÿ­·<èØôÝ—>µ9ÆàïK¼Òñ…Ü ¼Ä7f¿ÐÒ†»™RhÎ Ö%<CgXÔªb»ù¦û¹JYt;h€†Xm˜»1†;8¾„»*îŠÉt2 ½D'·Ô$¾4×W÷„Ë9>WÉy äA½€ý—ïY2¾=°U×É€¿ð­tC–¬˜¿€yr å$j?XD!æø¹?½@ˆ”š]/œ¿pÌ€©zš¿ðz·ì×°¿°Ã#5åq§?t°ûîx½·½ƒÏ(¯?ØpÏs%*a¾èÊUñw#í¾Àq:)š'ø¾Ð‹­æìo=È”n¤Åöõ>\ ÒhR²Õ¼kÁݸ‰zß¼‰Zm5å3 »EƒeDöô<Äiêׂ;»3Ì=Þ–.ù»KL¬Î½ù»xzPÕù º½ îøK¾XJúøK¾xý׸0L5¿°˜ƒ.E`¿(¨‚.E`¿à&0£Â¿@­.ôµá¿ ö*ôµá¿€ q¬¨¿¸6Ö>r`¿Ö>r`¿d*Ûõi¬¾ àF­²J¾à œ²J¾F…¢W¾½dq”†“¼ô»´qH“ô»4È­á’»A·-Ì“°;ûWÖ.A»²¤¢H¼²»P¾v°šÅ÷¼Â:4Ë´^=¿±p¨·º$¼þH«pyȽ÷£x(÷˜(¼`,ð“ÝŽ3¾ü·ô ¬A>p5•=$êD½ð•MÍK¾ÄÓ ýÉ% ½XÃã¼0í½¾ m±žCË>R•«%¹ü‡½P¬æ›5ŒÏ¾D²É&Y¿€®ý¡cy¿EÜo~˜?ÜócÁuÔœ½€ž=£|¿&€Z©É¢ ¿€ÏM^—º¿@zßì§?øsè{mÈ^½€P^^龿Àp`ý‰Z¿@ĺ¢ù¢¿@±K˜@(Ò¿Â05ç;}=á +šø’?ðÌì“ö é>à€31(f¿À›»›;Á¿óê°á»¨=`¹O5¾pp?à϶¿ÄU?À¹  ¯b?¡~Qc/ã>Úºåƒ=° q¸l4p¿ÒŸ¾JêÄv>¨xç0y$?ȵ÷; g%?NdÀÑUìÅ=覙3¿«²o@Uí<<£æ½P3>ø*¦hÙ¯A>Ò€Q´¡TN=x‰äÇÌŽJ¾|f ÿ[0ƒ=ìnüIÝ‘=×Ö*Š&vÄ<ü¦'ý¡½Òƒ"‚í“;Ýå½€ð´§;– Ýè?ÐA;ov'À(ì·»ü÷­.ü›E½TOÆòó[=Qh²ê°“‘¼r¬š²E—`½¼¢ÖýÌÕ}¾Ðâ² Äœ¿€²ày?OGTGàù®½pM®=f%¿VŸŒMPmã¿?UFfÝ¿À!T5Ç?ò$£UøÎ–½À†­ásº¿L¬¥ÕöK•?‚*²€¤?@Ì7xùøz?Ó3ä¹Ý‰¿=€ì 5c¤¿Œ²ËM…=ˆÅ‘@ƒT‹> ø1%>‘áÞá,ˆ=Ÿ[ºÓD¡¾®‡;ª!%

1ÉÎË;8}Ó'”=¼\­9ëõ«}»{åã]l;ô¦d‚˜+»¿H Òëu »†ŸE0’D½ôm5_¢c@¾ìrWï—S>l¤—Ð`¥b½hŽ)dfÒL¾Èêu؉ßu¿p´Õ?ÖŠ¿PÉUy¿¤8¿—†Š0=@Ie¹n¿PëDõ›¿ðïž»û£¿`F ÏØZ}?§—7gkz½@Mšz3¢?~êæJÃþ|>@ž cûÿü>ÈZ•zŒÔ?ßý©Ác¤=d¿Æ¿£±ycåˆŠÉøX>èýù&¦øX>Öã*B'=Ë£Šp/]<§katY·<ˆVn7€#»Ĭ¥A;ñjK&WG»´«ÓB»9Ÿ†SÃà ¼n#G¿&"<»-qP’âS¼æÃ¡µß”&¼•¼tg©u4»ÀÀk[ÈÊ.½NTOwÐz6=`¤¨§ð¾ë;j²?:½èUñ–@¼â˜•Ô¼6½p“Éèþb¾[”:Þ,yv=6¸°êg¦»÷†ùu]Æ»5(×GiØ» GõG…Ð;½¹žÄæ »Ïü°;!uhÉ¡­9»àÏDÊ{-»Ì¶²ª[_» F4„S!;½ûÂIk‘BC=Ôî};}¾-4Þ^¥ÓA½Z Õˆ?8™½Ð ZåQ-½(çÉùC=@CX©|Px¿exH‚_RA½IÖÔZ]¼l½lú2Ë_p½pšNDZ/==fSbüÜ©â¤u=Z†Ê%ñÿ·»²Ùêˆ-½»›ÀRWh½pÏávq;I,i =n½é,qOñ»—$Hn¼óå»8rù( E¼«n@_-X<-Ììø%ìºìr>rÚ»$’ƒ²ÐØ;¥ ÈÌÜÆ¼PñRÜù£1¾ý«É£1>sã­÷0“½@ôŠº&Ñ>¿ M,¶&Ñ>?¶ëôë”…½€âQÁ‹&Í¿À;;Á‹&Í?Åûqn¤`¤½ÀLêm<7?¿ào<7??é*ÙzÂÞy½´ª´O1¾àÞIO1>5M!ªhµF¼W€ú –4Ó»g9f’];Ò;× §"–;˜d‘¼÷³»ø5¤è@KD;šç\Ôn~µ;T K¬Bÿ<œ¿S*9S½CµC/¬-<³mÄZ=ŒÛ!Ç¥Ø1<(¢(£_;>Èò{¿l‡J¾Z JÃ/P=trÉœ}R>º‚<µq¡=°=L'¿>€E-uN½Î¾)¡¤¨PŒ=€GÊF†ïÎ>ŠhV?ˆQ·ž¢$s?ÿeÊ¡+}¿"{,CL#•=˜ÛC€p?Ö+Y´N^¢?€¹z2 n¶?@ .&ì°¿ÂX}J3i\=€o¿ˆwʰ?­½Nª?B?PÔ€ b¿á +šø’?¯R•÷¤½€ ±}ÂÑ¿(ææƒ#Åà¿`Õ;”X˜Ú¿MK¥D/¿ç¾(è²½•­ò½cÈ?ôö13O¿p"N/›~¿ \Vؼp¿ZüWá°‹½ ï³h¦‰?–Ìgû]V‚¾(%ZPc1¿hóCRï5¿ë„ŒRн0LMkX??Où²ñ3"¼ òŘþ’;¾xV6ÒK¾ª/éôáU½HÜÑO¿R>hùþA‘½hV-°7¡½júô&tbϼ˜ÎÚNñØ­=ÁÖ­]= »#•Uœ³»ª„-"¶=M»®Ih‚YÃ;@ž¹RlþH=Œ‰[¼`½µï§–ï—<¨XÂ[°b=´bfZ”e‚> Y£dèé?pvSÙ%¿ð…ÞT™·=p9t©<(?äâé,…Ë?`ÑêZ9üÄ?ö‹|»¿´ÏìK”P=@5"æ6f¸¿È+Bâ6¤¿°_FJ9®¹¿÷ÙZ0´¿Äk÷oÀȽ §gêpµ?X«¦Äûš”½ÐwkÉ_›¾ØºYäd¾¢¾¬DJ°u’½l鉓µœ°>2:ʈIÜ'¼jÚT>+@¼ÂG8÷ËhÕ»o¹N¸:G<„u²ŽÇ;mª@Ú™»¹/÷)š6;|+%y®2ª;ãûþ㚨==l|J?#Ð7>hù!â¿vM¾EØ9èX=pÄŽ¯ÃŽC>”‘»Ô•?p‚-¡|¤?ÀýVH¨;t¿°¤¡2¤¬K=€‡Ù;÷º£?\BH)窿;Êz¹¿f‹I#O²?M¦"10½ð܃º^¾³?ÂH¶~ ‚{¾h]Á/Ã9ü¾pB‹¶‰n¿oá,:¬¦½0<žÕÈ@?bL¥Üƒ;û¼Ô/EqN¾½b¿5¼3j8 ¡æ=ѾòäïE_;óº4)KÝ<ç}¢åþÃ<€7û(Ï=hÈ¢©a>ÐNfë}©a>Àb§ómC?`LQ¼·Z?°QpN¼·Z?Àîä^ð%…?@Y<,Gz¶?€T?,Gz¶?`¡Î+¯¥¿ Ó- äk¿¾P äk¿XGÞ©ŽÁ¾ør,óºy^¾XIhÔy^¾d‹Î2¢¥,½³ù«^ ¼þéìH7v¼êëkW% c¾`µ*x÷z>9ºº~¡>x¼þ “£«Ù€¾Üw’ˆå4¿Ð}œ‹?´ø®2E½|Ä(¶,¿@…4¸ÏHÖ¾¤¨”zÔ¿ðÌì“ö é>=6z_0Tº½(ææƒ#Åà¿0¯ÍS#Àø0¢×:mÀÐ5õé_Ê5? …pi’»‰½¨]¼Ö£jj¿Ëã´Çtò¼äiiM‚Ù•¿ˆ7‰‡—¿òCpä°¹½˜6®²:Ñ¥?üß¿§3B¿„ê1ü«ë%¿®€gÇž°%½hô#åÝi&?¢býYZD€½h   „Ÿ½·Œìè5Þµ»Äjœ =ï°Æÿ(÷¼"›aÉ[=;ööϪä0»>O*u•À½NËg|Ðò¾»@Æ­`^,~¿œK”8»…?è} ¿‰´n½DÁp„ºŠ¿RIcÅgžü¾¬71bÙ¿¸U¥=â¿ü½½ï×½ àÕ?° ;pàõ¾ÔÔ‚³È¾1/*¸Ö"¼ˆ"øØÞ5&>&§¶F-®¾¶äj—'Ý>h4‚«€m¼ðr&H=%B¾A)ã•5¿P›”Ó=o׿¢Å-é á?hR¾”oˆ=xn2ÅÛ®Ó?À“Ø­ÙK¾n “ÔF6l¾(Ä×pÞ¤¼´wwß=]>TºÁËdô½~jhÄœ¾\¡3hÄœ¾pÿ7$þ–¿¨«þ¡b°¿z…ñ¡b°¿àe¶§ñ´¿È†êx“t‰¿œ}áx“t‰¿9Òå耞¾Lê» ÂUã½2ô§ÿÁUã½^_Ÿ<ú¾‰»­11ê¡;ñ™R:î¶<;]($Á«¬»Àô~¢jér½*ƒÝH-ƒ=Q¤ ß³<`Éd‘½M³*åKî¼´ˆ°’Ê×$¾ ÓjqM5>Ѽ Ó>9=ðƒŠTP=¾zb¢dvc¾Ø5Mꦨ!¿hàMA>î)?ø,ï>L¢=€q ã.¿K§×`A¿ 'á÷ÙÝw¿¸½—×r?ļÄ}À1w=Pƒfgàý‚¿ŠÉ|E Ô¿`½_ MŠÜ¿à€31(f¿~]-M“m±½`Õ;”X˜Ú¿ø0¢×:mÀ@b;‰&Kö¿žo‚s8”¿–þ|’=½Û½(˜0ó¿ÐG`Á?É•¿ðœ ѵ¼¹¿€³ý*”¨¿Ne(µ¸‚µ½`ä½ý LÀ?ZOÀ6§5¿@cRÄðâw¿ å#¿so:í„h½ 2Õ¼H»~?€»"Ì›€½¨+‹~]®¾H+>"óô½¾$ÄÓ£f=€àÍ¢­/¿>É/ƒÉ^˜¼lÈÃ,Û$¾`äšD|4¾ï5ý›ò1=(+ã¨ÛÑ=>º½¥¨±¤à¼0^Š‹Öõ¼º4S0æÖ<ÏQÇþĦ=ƈÅKÑ…»»ó~‰¢»æ7Ïö795;"ù>­{¦;Ÿáf½¼ÜÅ‘cmƒ<)ÍX«ÜA´;w,©{#¼¸Wr˜3Aw½øª—À-ˆ¾@d[u?ú‘>šÅè¸ï‘{=ø&™úúZž¾â‹?„•¿Ñ(Ɀ ¼ ô¦¤­?<-¿øN¿"ˆM"sæ¿@ . Eå¿À ø9þ­Ú?þt\l­u=À€“L­Î?ú0›@ûé¾yL5ú?¿Ðl–EdJ¿:Wêz’[½ðQãyµ9?Ù”žxµT_º”BÒ‚·¯½È$>›(¶½Âît.’éâ<¤P`t!È=ÏSy¶ »7¬IbÏ»hÁƘÕ%½0KUG·¬½ ”À¬½ìÚÇ oľ¸þÚÇÁM!¿Ö‡ãÁM!¿`Œfpšx®¿À4NE£Á¿ ÎDE£Á¿ ¡ß3È¿à>¡iï$¦¿ƃiï$¦¿Ð4HŒŒ'$¿$ÇM²z¸¾( x´¯z¸¾ 2Kœ.U©½„Ïõµgó½4óÿº2ô½Ùm6/Ä»Xeh30¢» IŠÁ¸;Úä?_8íN»hÏ¿ç‰Ä»4^é샽”„“ùÙ‘=Á9÷Æ<ü¨ë•ST5¡½,V‰ho&¼ð)‹úIy4¾hÚá:ÔUC>åÔ€öJ½X‘]¼u¦L¾0qßÁÛëz¾8 À“‘(¿`ì%ÓTî/?ï’•‰j½½pd\ .s5¿”AršÎ¿ð¼À-™r¿}qœä\?.œ¡©P”½ðû€öÕ}¿`Ñ_ƒ¼´¿À&î²(Ãa¿À›»›;Á¿òê+°á»¨=MK¥D/¿Ð5õé_Ê5?žo‚s8”¿€¬iûœªß¿Òwû}¹Gé= ¨«Tï•¿Ô¦©âÁv—?Ðü ;óX´?@ÍacmFs?T‡®™‚·=@N†Ô+"»¿PRùÛåÝ%?pÍ1_¼Š}?8^fßL?곺W©ù’=@còP4µƒ¿n.ÍÅ  =€Ò*К1¾> ²‰é(KË>¶ßCèÝ‹‡=h à.äÅξÂV,(§ª%<¬xØ’•Q5>ÔÀ]lYC>×p$ +˜J=àL»ä hN¾ö,«e”!ö<+‰¥³oÍ =î ãzt)Ð9 ù­‘½à_hÜ&B¨¾$øç,Xœ¿MãH¢s©¿Äà'ô?bâ¨ß>üw½À·uÛ°§¿Hâg°3óè? Üm$^Üà?@aÊ®ÁáÀ?< L>@\©?Y¡Æ¿†G“¸i|>øË|•ò‘?0æJÜÓ³?$¸±bÁ=ïfo²#¿LâàRbG=”„T±q]=iVr"[œb{õH¿aË#ÄÁòw:„û*þ‚¾=,¢á ©ìÂ=¥™<Èð=h âë¥;׽Ƴ»_i2»±ù‚Ã71»;÷\Ü=½¤ Uêk[µ½ô¡ù/[µ½XzžžUþ /ð 1(¿0ZÚ1(¿`7¤—¬¿@Œ&”vbš? ¤à“vbš?à $FÞÉ?€ ;š¬’?ðÊe;š¬’?à€Ð¯Y"?ÈÜI¿Ç>¨Þ¥½Ç>\T’@½eÀ=ôô üo#=4:LáÛk#=°M”«Ûý0;IknãY‘4»ý03‹”L;Ô;Z»@,ÒùV»ÃRÎÏ›¬¼×UX´Ý3´<ÏB²ÐxT½Tøœ(Àż½ÂU-á-»´¾X¦Ý2½¯÷N?"È:=xC³–¾'°M—@½ãx"pÚ¼¶-QO ™½¬rêsÿW=°|#ý¾.è¶@ˆ=ŒŽ1¤¦½î¹ºóaʃ½ž8`è`½`äC*cS¿l>ª¢Æa½g2E8²=TB9ˆQo¯½óê°á»¨=À”ØÑ*¾¿ç¾(è²½ …pi’»‰½–þ|’=½Û½Òwû}¹Gé=€8ä VÄ¿klåÜ2Õ½uc,O̦=v—s©f?±½mç>Òc˜½Ug—¿À_¸(°¹=Mz ËŽR=;÷®aˆ…½7Qå˜t½¦ñýìiS¿ sõŒ¸f=ÔœG9¦ØQ¼§‚ÓÏÞl½¨¯¼¥xt½pB™·|=¾OõŒš·X=v˜3==è!»¥ûóÁ;3½(j#å8;½ ¶©×®š¾;¼dB˜@=È¢^GÝL¼rhn‚$¼|ÜSòQ¼µÞx¨/<ïéZ“äð1»”*áügN»VPO·ÑŽV»Bhed4dR;Öõû­ ™¯»ç‘TCYÆ;£„d­ÕÈ×»òÆ”å#tÍ»B¹–ŠRß¼j¥Ñ¸uýu½q»"ç|nf=,ÓŽªg¾a\`ùgD}½(¯®îûJ½™¸—„q½Ù¤èñõY=`¬6$µÿ¿¦h0ìs½EÁš’FN:¾èËmRpè½´üеÓ½€óIåNÿâ—X¦†"è=ŒãKolƼ’îFÑ5R™½í»Ïó·<‚½ 4Åۮ뾥–6ùgT…½–üOΰwp¼¬1&ù«—¼ð^îÅ F½}l¾Õ¶˜<ïñ ëjÄżdÒô]óÖ<ÄËS3…²m½É6X…<‡Õ¼ÐP2§;î¼>¢‚Í.1½@#”î¸ND½ÐÄØËp¿tLÄl£½<ö–­Æ¬¸Ã½,rzª{$Ž=­\û&I«½qô<¨¬Ä¿ÖlN÷—=Ü㳺1ÔD¼Öɰ2 ÉJ½Âïœ:,[½ÐþúW³¿ñÜ à<Ñ¥A[Lá¸î÷]9Àå¼G –èæÙ¼hyáîÞ>‘½Q}Q ÿ< ‘h¥îðºTõ)‚3ä:DÛY†ðT`¼tö‘ÞÝ‘½øè^Ü‘=7%K¸ú;d½w³Ö€R¿M®€R?Íöƒ˜½`å}aë¤¿à…¯}aë¤?Í*··Õ½`Ar9¢œˆ¿"Ó8¢œˆ?Q̧if޽¬¬~N¾Kê©N>f\U¶¼tïšàßù¼€Ì˜îÝù<åùÍÊ;ƒÆºZ+?ªÃ‡¬;Ðg€®«Ûû™,œçJX;§RÈÏ;Œz}æ=°âŽqq¡½sâ|GZÎ8˜â¢aN¾¥ “ôS=3é¼™%T><˜¦‚ÃÒ€>PÐæ{*0?(8š.É7¿5,ïÀ%-Æ=0—D8Y :?XvUøØ#,?ÀK꺻ƒ?°ãPuK¿„œp¡=ÐE ¿˜?Pl ¨L¼à?àRì³?&Ú?`¹O5¾pp?Œ!3 0 =•­ò½cÈ?¨]¼Ö£jj¿(˜0ó¿ ¨«Tï•¿klåÜ2Õ½üÃ/ª™Ø¿¼Óo-0Á¥¿à}‡¼àt»¿`ƒ@¼ªIª¿øc¢D8½½ PR¸¥˜»?ÜzFQH[&¿ ‹ÿ½w~¿PÏÃÝo„¿3øÒ•½P¦Y$€?2Ž!K÷ ½”WRLîÀ¾pèUmƔϾ@ÁÙ= B½ø+´Æþ÷Î>©”è!`.¼øô’ÞT=¾6„ÃÁªL¾e>ÈŠº%T½£¢y7)T>ó˜Ô㵇½ï¡ ®½‰¿D­Û2¼ zy9 =Árõò…¦»¥Occ©'û¬g(œõÕS»È«àü# Ç;µèÓÃþ&<¡`Õ¤À-@¼GGz¯\£Ô; ªÝ`»E<ÚBüœ=dc,]}l¡>Àˆ3”'c©¾?êU¿<œ=@Pû¹‰´>pƒõi‘¤?<”³"·?î)4Äñ³¿S“³E¼ûw= Ó¨7™¯?èžþ)ÏÜ¿ð%¾xÍÓ¿àõúÅbhÇ¿hõ ¥ ç½€ @¿¾³±¿toÙ¨ò؃¾Ð­ÒƼ¿ÀQ¾l“$¿ºáÍÕQ6˽h™9ËRv*?ØÀúkÆM½@|5æÂb½#D¨xÆ£¼$¯Îį_f=TÝõ´ð¥=Xiy/»½wó5·Þ긳hRfB?°Ð"§2 ¿€ò­XW=ðâz©P?Uk}þÊâ¿,·Ü׿ ,üÞþ‘É?d¼û9¯=x=¢($ª¿¸ùFì=Éö¾žùæ¯â@¿7O§çÚK¿¤Œtã9i½Ð§!!1?zdh!p…ºxÁJ´sϽ”‚û?’óÕ½£UqླྀÖ,ÃóVç=¾>aañþ9;?n_TÌP8;Á"™Õ@=0 H·Æ=0•ø ˶Æ=Èß–*Í×>ÀµÎçÅ)?@…#¤çÅ)?`‚êš“¢?€=¬ ªæÁ?@-¨ ªæÁ?hç¦Qy9ª¿`a<µ¨¿ g6<µ¨¿Øn¸»ßâ2¿@M?…SÅľXýzQÅľ,Øè? À½À3ÈJ›0½°uáï—0½ˆv[ı9»l^⨋½p‰Œ{ßו=2öÆŸ.P¼h¯®Ïl¥½$svˆ&¿à϶¿ÄU?]ä'¬dö<ôö13O¿Ëã´Çtò¼ÐG`Á?É•¿Ô¦©âÁv—?uc,O̦=¼Óo-0Á¥¿ì½á¶éH#ÀP‡?¿8`À ¸ÈŒ„ò>6n_o)>àGg\?jœ¹‚IÖ¾VOD§‡Ô¿ØgDY]Žß¿ïÚP 1Vâ=\§ÞZÆ?¼â•iZ"¿´ÄLç[[¿ýÉ g =È–‡{®W?R”d'c¾TÓ ¥ìz¾· }F|)o<Ìð\Ó€>®±mnœ¾ì—e>ÿss©»ž»¤D]a&¾LúõlÌCÀ¾ÊÅô¤Ñ¿^ýWãAÃ>K_‚&ùÒ=ܧ†›—ôÜ¿y’ù©„û\Ýí‚–z¿L™wb%‡¿`¸8+wŒ=ˆ’zÅ,‰?ÿË„'^"í¼‘^‹.À½wuÏÖ1R¡»[OmÁLî=o%RrºHS_B67¿l8—ÔåÞM?(I·“¥S=zdæÿ4D¿)šGP„»€åúaäca¿‡8x¿—Q_•-=ÈL*¼™‘H¿¹×²ôÜs½0¡_~d}†½tJ5páÄÊ»¦Q£ªÓD™=è‚>é%½R¸øè%½·[Ø‘½¾Àd¾n¿\„þn¿,x¹ü “®¿ÐÇYl]«å¿ì­¢r]«å¿ä8`þ¿|1Ýž K¿ðÀ(Ÿ K¿€]³å}qȽÞñB£eÿ$½j ƒ–eÿ$½nÚ†Uå#»7w¡ ¹à¼W‰A‘ö<âÔ†æD»¦6𯄽0Û'XöS#¾p ½äŸ3>;zS›»ˆ<Å);¾(îËPC€½šlÛ Z®¾°‚9KF´>¢ÍÏ£i½0+™Ã¾¦p×;«!¿>':q¿À¹  ¯b?,JK»]âq½p"N/›~¿äiiM‚Ù•¿ðœ ѵ¼¹¿Ðü ;óX´?v—s©f?±½à}‡¼àt»¿P‡?¿8`ÀÀ§l¼õ¿@Š v° œ?ålz'Kró½À¼´ç¡Už?¸ÕüÔ¿ …ܿ '™œŸ¤Ø¿ ’âŽÃĽPeÎø¿Á? ý•rÛ&¿˜ÚÏXL=q¿Ð¶øcyny¿°ª1a‰ó,=˜Z­äÎ,s?>-# ¨ c¾ÀP&6®!¿­Ó›Ö™(¿rR“©?<½àߢ>X 0?ï˜Þˆ$žŠ»$áRú8X#¾BÐD"3¾3ËÈD“¼€¦ˆmø€;>¸¥þ´'ñr½ .팉‰½Dä¼bä¨`¼àîUšU=–ÜÌʃŸƒ»)Z {¹r¡»¸/ÝúÉ}Fºÿ$gûÇ×£;DĎׯB,½(7zÁ(X<=6 ×CñÄ»ôlfÙÃ'I½”x¼s¥d¾À%‹Eœñ ¿`¥óÀF<?P?>Á`&=€– €þ¿Ø4îýÉØ¿ ½°¤Û—Ý¿P}i¿=ê˜ ¨Øö½·W‹ëgØ¿,]Køòx“¿ð°MÂ^E²¿@y.oÊÛ©¿8d¤>Qt=€ }Þ3³?‘Dü¦À"p½¸cKÉ‚¾X‚‘(Ò4’¾9«Ùg½¸î¬‹.”>s8¬>A¼nekõõÅ ¼^qþŠü™‘»ÖýÝ̈Ù&<€ÕéýAK»H‚¦D½e;1Ùè` å¹åRö£w€l»Z÷ÕÓ½@$r•Ô$¾Tz‘Pa!>õ‚% œ„_¼È7©ôNq>¾Yþ~{GÊ€¿`œÎàw´˜¿€ä– ?Š"—3„½`ÂlÏ'‰¿ÎÒ š¿°q‹1Û°¿ g`©õž²¿ÐºòGT“½0:7)h—¿M²—*›*a¾à•´j'í¾Xj'qúKé¾÷˜bùA½?8þ>^Þ/@){Õ¼¬/`bjöð¼2?¦y·9×»”®8õêŠì<è Ùß."»‚°l“ð»C™§»íLð»°ùE¯'º½H(ûÚËûK¾°œ ´ûK¾]6*ŽP5¿ ^ ½ I`¿ a‚½ I`¿ ½8r©Â¿Ð”Ë’¼á¿ÀwË’¼á¿ /ð`Áµ¨¿@ëÔ¿áu`¿àÉ¿áu`¿0Í©úÃm¬¾ÞµoýµJ¾H£Î‘͵J¾ð¤Î룽QºnÃγç»Bç^®ç»Åô £ï?B»[¿³>‡Îõ¼9‰Åà =V…iõ¹õ»EU?ª½È*öØþ2¾D ³;¾A>/ÈZ ½`™‹±‘J¾:™‘‚©Ê”½@BˆJ]c³¾Ð¾¨äݵ>sàMo8E½¸\'XøÈ¾* ”¦"Q¿°VÁ(c¿¡~Qc/ã>îy½^gp= \Vؼp¿ˆ7‰‡—¿€³ý*”¨¿@ÍacmFs?mç>Òc˜½`ƒ@¼ªIª¿ ¸ÈŒ„ò>@Š v° œ?IÍð-Ñ¿²Ì]~Œv=P­J@‰?XGxy(Ÿß? ‡eì*Ù?€„–ýã÷Ã?8Žâmyø¿=€âƒŒpº¿0ÃQ˜a? "ÄH°Ày?¨0(Ú+ ?ñ[žêôf½`;*Pç8}¿|-šÿ¤ùz>°ÓF˜‰ö)? ‘LšUù/?tŒ¼ÓްFò‚uÑ7¿ò±)À3ª;¼ûÓ·¤3>Dëó¤¤ÂA>¨‘Pé³3Ÿ<øiO¼€ÜK¾T{K ´Û‰=Ð#'Î(¾ =ŸH™!Ýx<œÜÏÔ¤½ô”inç¡;_S¼Ò3o¿;|4Âf°b:i™©¼»ÍÎN50@½X ¬_û£>GqQ…”i=HÅu”A«¦¾‘×m¸=#<$íúó«:<£CõŒ ¦;ÜhkW ÂB¼‘s+i»!a£=ß.ƒ;€À+Æ?ˆ»” É^QŠ»£ÏºÉî+½¨{:\Ã'¾<„†YðD>c|¤(tl¼ŒÂoÊ@¾xÍþåšù‘¿À=4Ûw¡¿à✡Û?“÷å\^=`‘ÒÁ'‘¿f!T?yã­?ÐÊ pa»?à˜Ñéhº?¥ªŒ=ÀÒÈ?£?M)îPË@p>Xs§šïð>8È¡»þFå>ÐŒñ@h ½˜uÖĘ¿õW›(pÞõ<÷ceÀÞ=oï?ƒHÇ;“•©ã ½]š6Vi"A»Úu>|Îk¼æâ!£¼pçÈÁ½È*”xˆ[Z¾@`i[Z¾p4"çç<¿`¡ãaùA¿`$ŸãaùA¿ €ê™á*§?Àê,8#Ý¿¿€\¦7#Ý¿¿ fÓÿ œ?Ð 9òÓñh?0ŽNòÓñh? ¼!½>ÈÙôÙ8gT>X úÎ gT>KªJû"#=ÓE¬‘d<ÏÞ?{d<:H Òº¨íþ?°Ö»ïšœ[«]â;"ݱûènR¼ÌòƉRC÷»"%ý?XརÔSžð<€Ú $Pó¾!žtñº¶½ýã`RÀ»IŽrïo½¯»åA ¬„=@|1† 9¾Ó…(XÖÀ½÷*Š0 =ïWÆïcb½Úºåƒ=ÀZn‡åÈJ¿ZüWá°‹½òCpä°¹½Ne(µ¸‚µ½T‡®™‚·=Ug—¿øc¢D8½½6n_o)>ålz'Kró½²Ì]~Œv=Ðhzοìö·é·Žð=EaòN}ïô=ª5[ ®èɽšI¥`@´Ê½ÀlÖy`@¾¿«â"æøãÉ=üZü…ó8½èD7ÈàvG=&{z !`½@ÊÄCœÑJ¿q_}ãXNQ=%ˆËU#è“<Ú HØt½ø,ÊJd&V½ Ø?^¤0ý¾%`c $SR=b—ßßS¿ºÞ'Ÿ*Œ¹¼ÊÜŒ#®gž¼ÐÞú×ø¾8ŸÉd;œ<1£¥Õ'^¼˜4b³Lq¼È°/”wT½Psù"Ö<ãæÜúÉ}Fº]óK˜ÔeºÏy•a.[`»ágmQÂaf:‘©Nã¶!¼MÚ6>< 5ˆyR½`°‹>!Þ@¼Î"½ ª=-¼ï]…Þ>Q½3aÙ%êY½€zp4rê¾Ü™ÞP½Õ¥A€0¾:`Ñuö뽌&\Nš‰Ø=ÀTÖáO$¾¿ˆž#Až®í½Œ=á¨C)Ƚ2 'œ›^=Þk‚óoP=`ŠAT)â¿Ä_HEq=¢1ÐQ•tÒ:g L/yr=‡ÏA¹¾¤‚½Àþx‹sc¾ˆ@õ’s=K[»òÌ»"v˜æ/¨¬» ôâµâ»áÃsAAB®;o™.Ÿ¾¥îºâ%H÷nî;Fbÿ÷?!»Ö¡÷ï»x;—ÿý£½:þb´Û„‰]¼0p~ì-DJ<Àžx¾»“Ð¥0éo¼˜þ1^ƒ.i½w)ɸÐm½ÀÄÔc=À&3ö([x¿œHÙ=+™Š½Y}][¾y ½ÞWÒnÞ83ÍÁ‹§¢½  šœE•¿½±}Pq=ošG{µª;Ø÷fŒñ<½ˆÃ?æ±T½ÏPIv;¡1>‘ X=c2Š-¬÷ôºtb©´‚»ŒÂ{MG¼ÅW/ÏfÍ;4–4dYåк¿‰ØtNÑ»²äE\¼¯Ð;в%Ÿb¼H¾´8²¦1¾HP®Ø¦1>ŸRø!½ wÏnÝ>¿@ëºÍnÝ>?ìì¼üdÔ½¬ Ð=Í¿ ±Ð=Í?åAÕÇ‚ƒp½@\àB?¿@¦±àB??œ3q§ãº¼ðºtsâQ1¾°rPGR1>òâ|¥sW¼B]ÏÇ»‰g¿c Ç;on¹y¤D;—RRx§=X­e±þ½Ýð£¯ðQö;;vI73 =Èk*¥z;>ÐFâÛ?ÕK¾èáËA9Ó=Xm¸ü xR>¢Ö7˜Èd¤=¨¨Ù¦PÃ>púeàÆÉ¾2@ÔÔxBs=€LcîY¦×>8îVû?à[ÁlY~?° q¸l4p¿ˆ„/?—¹k= ï³h¦‰?˜6®²:Ñ¥?`ä½ý LÀ?@N†Ô+"»¿À_¸(°¹= PR¸¥˜»?àGg\?À¼´ç¡Už?P­J@‰?ìö·é·Žð= Æ+ûÒ¿œ\ž´eÆ¿ëA~ÞtÁ¿€—#cY¹¿}d`ü‹µ=@¹š<Ÿ¹¿dV:=c\¿Pħà s¿ð´Øÿy°|¿znñz--Z= h:94!p?Bþ›Û€¾0ühí.¿@³ü¡{5¿üûVŒð>?½ñ[@i:?YNyU°»ø¾Íòì/;¾ˆŠJÈé—J¾•þUMx­¼lx'®f|R>ØA;¶ ‹½ìÎN®Œå£½´„ûEVCi¼HÛ#¦=%…ç>†T¤»µ)ðú »$ä^áÆ©gºk¹)öÍaÄ;0vöD1kL= ÌoÒ5v\½mqçñïD<„sÇ'ëÈh=’FD¶Â4„>Àyâí?(ÍÁ'•#¿0òÊÎäeo=P >¿»k-?î ÞHªœä?àxpÏeBß?ƒþ¦év}?î÷ŸóØq>ÀM$ÓË?Nû¯ß”É ¿°…hL‰²¿ ¿xÜDª¿f%ퟩ,ˆ= Fž#Èݪ?D9+ï ‘½xÐó™}–¾ˆ+©½¿1¥¾4ùh zr½ÐÙIz4-¦>ií  (¼kW†Í½A¼+!𻲻b’Ë÷G<@„Ÿ›Kj;H> N„»@´P;'‘ƒ7^‹;Æ<)€çG=¼Kî=-lC>ì} ®±)@¾VÉc^£þ…< ¿âç«[>¶Ñ~ëvUˆ? ›Ž[š? ßWîœ'œ¿«:Ïzt=`:cÇ!¸u?¶l´h~?@à§‘Wm?A±wΨZ?CÆ>”¯;†=•ƒ33“¿ë4s9VB‚¾0®×c¿0˜çIßÿ¾I̓JmÙQ½àZ2ú å?÷¸ødEùò¼tAö ½Õ27ô »ní¥“d=Ðo,•‡A;£j®Yk«<ÊCÚ³R­ s_>ÈÃõk.@?/9Æ×^k?0ùÅ×^k?€¼ï¨ÒNÄ?@,˜súk¶¿€‡œsúk¶¿€GˆÁ$]©¿ÐHaZ¿tYaZ¿¨ IÜT·¾¸†oz£Ý`¾x‡D;Ý`¾xÁ6R/½qQ$F.Ÿ¼~ûœŸ¼zÒ¬=¡"¼ýûPܵP3<ŒX*}†,3»–öäc*u;¼À\pÙ c¾ÒŸ¾JêÄv>—ãÞ4› ½–Ìgû]V‚¾ZOÀ6§5¿PRùÛåÝ%?Mz ËŽR=ÜzFQH[&¿jœ¹‚IÖ¾¸ÕüÔ¿XGxy(Ÿß?EaòN}ïô=œ\ž´eÆ¿ð¯â{ËT#Àèöc6nÀ iÿg?"„[Õ]p>?J¡ETÇV¿6\DTÁpò¼èA©uÚ•¿ø[EýS¤ ¿ï¶)°l=ع1`¢?L9¤ëB¿„¯•.- ¿d-hz¶ðÊ<Òð¡A&,?¤-+¶+½t³|óÙú•½)ËpsËý:æÛT”ô¥=iÕñdŽH÷¼ƒ@Ññ±í=iz»…E @;r‚ì« ½~‰U“’×»,†'ÿª-~¿,ÕTcƒ{†?ÓÊ©’0´=Јá¿B÷á)³žü¾4î›:UcÙ¿µ”ö±¾¿ºšT笾=ØA<¯}¶ä?N¶g;ö¾˜1UeèC¾Ë '‘˜¼vïLe&>,‰ÀW¾’i 2Ñ?>WÄKµ¯¡¼®I’*k…1¾L ˆ/²5¿pHDp׿$*’ñOñÝ¿ç:¾ŠÐ)Õ=X?KÞr”Ù¿°I|ÛÆÙK¾4)G~‹tA¾ï\¦n¾Æ;spUzo>|4ïψ ó½,®²ÖÈÅœ¾Ì…ÕÛÈÅœ¾¤¶Eû–¿d8¼>°¿tP?°¿·œò´¿ w›²u‰¿œ¼Œ›²u‰¿¸Vl;‚ž¾Rð„¯ÜUã½@$6®ÜUã½0:_šÿ€»ïn¤fi,™;Õ¿¤ÂD°/»ð}¸•1Ö¡»ŒJ$ï/èr½ø¡PîỎ=guRç& ¡¼`䌄z½5÷Ç_ ©»½ùèÚ$¾€8€y”‡4>–‰«l1½Xò.0á=¾úÜø]Qc¾Øæ*¶j«!¿¨xç0y$?ÙkϪN¡½(%ZPc1¿üß¿§3B¿@cRÄðâw¿pÍ1_¼Š}?;÷®aˆ…½ ‹ÿ½w~¿VOD§‡Ô¿ …ܿ ‡eì*Ù?ª5[ ®èɽëA~ÞtÁ¿èöc6nÀ°ÊþµÿRö¿Ô&Òj ´?}Ýü•œ¨=G‰¥k[9|¿Ä­zêHÊ•¿òÖ^©Ä¹¿0ÉrP§º¿¾¨L^É\Ò= êcDŒ¶?x(ˆZ„6¿p°¤Ç!èw¿hÝä¡r¿Ì—•¨­æQ=@’„ŒçÃ?¬“³½pìôºa®¾úŠh³¾sÙðSše½{)ÃUÃ>¡—,J¸þº(|~4Þ$¾p؜޲H5¾Aõ-Ï+½ ]ââãH=>‚+0wq༆†Mô›Ò÷¼\£»iM@ç»ê?ˆUÿ<œÅÔðA»ëÅž+s“»£Q¼¦õ$»kj¤™;e/õý+ ¼|ï‘zƒ!<¶Y‹* q¢»ÞŠ‹ ‘)¼´UáBw½x”h੟ˆ¾ —W×iŸ–>•ùÖÜôb½èƒÏ›¾öÁ$=ø„•¿À`’籿 #õêHý¤?D$á{ ƽ–]Vu³¿Ð1ÿZá¿ À }ilã¿°{µ]¶¿äy!Ùû±=`RYl€ Þ?¤ÜMjKe¾XÂÜ SÌ ¿°Ë&â”"¿™]k꘽ê_TÝ?j ݰ)0½BbªwÿA½¦Gö³¿n¼Œúî2L=Ìnj/D㊽€†EO^£“=H8Ñ©¼ ¼(;B|@$¥½Rÿ-×^q;ðËî ”Á/¿ðu)ã„;?›i§ºŠƒ½Pàg%]+¿8WBEªsæ¿ÐQ.¥Kå¿PÐÕÎd׿¥)éwoÌœ=àeâ Ô¿|áÏDüé¾hwcA@¿€à …|¿ÝÚºKX½PÍ¢)/1M?¿ˆhòmàºÉX®f¹¯½2ÖÁ ýMš±î®‚¼œsõÒmÂ=ìu(•ç:þº«­Ÿ:„üºx çËÁÊ%½X>÷ÊN¬½0 æä¬½˜° rľØõæ¸eQ!¿p3è¸eQ!¿€ 6,Å„®¿`5Ò©Á¿ì$Ò©Á¿P: d× È¿°4k©%-¦¿ ·ñ©%-¦¿À¡éo+$¿H¤eÆ¢~¸¾ðjæPŸ~¸¾Ø`i@S©½0 ÂÇ̽¨ŠQ½øË½øØÊMDb‰½ÐÍ ôò§ =í°öü <´È¤½É£½p‰‘xžB5¾ðc¦O>dC>ß9œy½1½°­§okhN¾ŽN*õ»v¾àxjKi-&¿Èµ÷; g%?ôß‘%"„=hóCRï5¿„ê1ü«ë%¿ å#¿8^fßL?7Qå˜t½PÏÃÝo„¿ØgDY]Žß¿ '™œŸ¤Ø¿€„–ýã÷Ã?šI¥`@´Ê½€—#cY¹¿ iÿg?Ô&Òj ´?€9©Ì,WÚ¿h{±Ì½þHíê“ü©¿b±‰ÿÿ— ?Ð×ûùƳ?àJ­ø2¨?–©è©J—Ù½à̲ÿ°¿‰%ïŽ?P_^íYàr?àRiéhõ\?¥9ùÙ_½€àþ[¿zÞvßÙ•=Úw€K´>óøVããµ>á‹l±âÁt=°äïÍɾj˜•I ;`Ä&î‹4>üùˆ5ûhC>òÃn«Ÿ"&= cõª´L¾,ô7 A|÷< ŒBe=ê=mþ;6f¶]½¸¤QÕÐ[˜;O—Çõ¨;¯*TMIø9;(ލä=¥°»q_ÃÐܦ¼oø¡Éè0<,P“ddåºGakXKÃ5¼R7"¢w”½0„ç,sBš¾ðįU;P¦>õ;³UÊÅ<èe]ɰ¬¾ÆäJŸQ¿QÌ_¬”±¿à¦9¡’?n3.œ9ǽp'm,¾´¿¸[I¬OÅ?à#¶[u¬½?€ªi„Ä¿'‚ôû­¢½ ’™ ×h´¿8€èoð{>Œ¦žÜÈ? †yëŸs?ŠÎJ£f½@1;ˆ¯Š$¿èŠE:fC=È·j‘–S=—Æ,tߺ<ž˜äøÅa½è‰2™é ›½Bª+p¨Ð¡=b5­÷Û;ì@±DFµ½(¿£~öÒé¾Èá*&“0@¿ÐK:ÅI?¢ûùO¯U½Pé˜#Û;¿@Æ×wU•ì? zÇ/â?àU¨8D¹?F)¹Æ¾žµ½@>wèÈöÌ?·NN_;Û>€7ñŸ‰­%?"ú¿cìoVY^=0¤*)²Ÿ3¿¥¸»Ìï¯;üP{(’È=ˆ\‰BUÜ=H<˜ˆ¤ï·>´oÌ$}P³=Èæ!©(=  ò¨(=¹Z`Él–à;rqDG‡B¼Ì•¨YïvT½ër¶âÒÔ<˜¸ð?)½TÿnA¨ËA=0xÍFÛ˜¾"·£wÏJ½|eTú|IwOZ1=NdÀÑUìÅ=àû†Dú)ý¾ë„ŒRн®€gÇž°%½so:í„h½ê³ºW©ù’=¦ñýìiS¿3øÒ•½ïÚP 1Vâ= ’âŽÃĽ8Žâmyø¿=ÀlÖy`@¾¿}d`ü‹µ="„[Õ]p>}Ýü•œ¨=h{±Ì½6\f(•Ä¿î΀E²Î=*^kOM ¾«¤Á85Å=˜¾dȰ±=€å9‡t—¿ÿw¤å‚vǽ¸Fê÷H:=bmscT\=P!ÀO!½p™‹ÁäpS¿^oä¶ö?ˆ½sA„6ìU¼9§ƒ¼a½b¶„öa½ ºE¦jB¾A Â/X`=í›#º„3ºÙžzÔ&½®„­Ð:ø#½pš8‹@Ÿ¾*ÝÖJÇÓ.=­Sr5%ßæ»Üj;¢Äk¼Ñ,ª ŽRV¼ß—X¬<¹Ñ¬˜n.»¤;Fí?»®4ÓˆuUJ»–ó°ùÅD;Ù\Ò†!˺Ω;qkžå:Ì7NB6Ý»¨õʯãõêºfˆª‹–Ð\»”Ÿ\‘-P¤r¹¨R%»¨íŒpwç=¾<-ÌpN¾£%M ò¿,½ôÝ?²g&T>ð¥ñÝÂÿ¼p4EªÐ½$%n ¼X4‘µDg=hyØ*X¤»«ý¡@¸»ºé&17I»nÞÇ¿;jÄo×â± <­îýn:¼ÌíÁð:^½D}W¤@xìfò ¢«¾MåŒXy§½À8ß—¯>l\âL:¤?@Z·K?¿³? uy 5ï§¿g‘"ãÊuÑ= > p¯?Ĉ8÷­Tì¿ÀŠ+ø?9ã¿ÀSööÙ²¿tHùÁm ®=@ð°b—“Ì?ŠÀnÔ„¾`JP•zœ¿ÔE©#¿×—õûY&£½¨.Ë^Õœ*? Å—¿O½†p|Þ@Æ`½äƒ6ò ’¼€Ñ’$k=À Íy«=(R¬Ø2 ´½½ïÍ“ÿŽÑ;D MVN!Å=Ä+B÷pÜ>8³ W:ä2?°àмn@¿§ÖæÈ&‡=púi¤Ñ:&?$è2þ¬iè?€ïÇèûÈÞ?@ÜMÝóÌ?\‘²G–=À—B¯K—?nõK–…¿È Õm©Q¿pšÌ0!©+¿ÿš{Zåy½PW‰v¨Ì]?Ö¥%#»¥`ÞlåȽü{q‰áíݽUg¥¼Ø«”¹6ØÛ=H3c8é@C=p¿_ú¢Á=4È÷+£Á=@r"]Ñ>ó*ìo/?€Õ6+ìo/?@ÓJÀU°?à¼9nWó–?@ŒämWó–? Åqì›Ê¿@—u¡iÝ ¿PÕ¢iÝ ¿ÐÿÉóî-¿°ê ÇŸ·Ì¾ðj&œ·Ì¾|Z“äÏĽØN3Ýá<-½ ¤ âŠ<-½y ?êSû»«²o@Uí<)…Îz…Ç)»Où²ñ3"¼€»"Ì›€½n.ÍÅ  =ÔœG9¦ØQ¼2Ž!K÷ ½ ý•rÛ&¿0ÃQ˜a?üZü…ó8½dV:=c\¿6\DTÁpò¼Ä­zêHÊ•¿b±‰ÿÿ— ?*^kOM ¾Ð½³wS¢¿„…å%J#ÀH–ÝÌMaÀ€ÙAdxŽZ¿°9ÿb¾€à‰&þA?!ÚH²PIÖ¾z5ß͆Ô¿ Da?¶¿î{…¢'Á¾\-sìâ½à? ¶q´†·$’»¾!#¿ùÞ·R¿»š¼¬õ¼Î#·?˜ó°uÅc¾F…ÂL¹½v¾¬ÐEiÿ¬d¼¦9·b)P‚>,Ö¤ï=»?~}×~i]»´¼ñïtSº. PóÇa;FÒœre¾Š…†úÖ >l3ìßd1±¼ ÿ)AË#¾˜ãªêCÀ¾¬"Ò•VÑ¿HìοLÛ?¨€kîñ>¾<¤ê—ÅUÿ©™]+:·Ã»Ì¦a§Ç—z¿ü‡¶éпc¨ŽŒg½popFÊ0Ž?Dôµ°¹ì¼ ±H‡½tz×75+ͺ4p[K“S=áò®\8rº2£Û %7¿Z²P‡%(2?Iö;L=Ò½r¹€BtQ¿8×w,…»FyЬda¿0µ‹Ëåe?‘Êô©Ül½„Z'µu·u? Ê.• t½scƱE”½°cDŽ;»{<äT9“=¬®O¬ÉË$½ QÊ$ÉË$½L [ݽ¾ÐV]Ño¿ÁkÑo¿à…ÇŒ”®¿ô³Íˆr¬å¿ä»¤|r¬å¿ pŠº5ÿ¿TአL¿\ý) L¿Ÿž¬_sȽ¤‡€$½râü†€$½y0V€9³à¼`°rAšà÷<'S*¿q ¼þâIè)½pÙ"¹GV#¾<£æ½P3>[ýf,KE5½ òŘþ’;¾¢býYZD€½¨+‹~]®¾€Ò*К1¾>§‚ÓÏÞl½”WRLîÀ¾¼â•iZ"¿˜ÚÏXL=q¿ "ÄH°Ày?èD7ÈàvG=Pħà s¿èA©uÚ•¿òÖ^©Ä¹¿Ð×ûùƳ?«¤Á85Å=à3ÀÞS2Þ[#¾xÆTí˜3¾Ì‚b/޼Vµí?;> Ì«Zúðr½<©ºo³ƒ½ Ú£Gxç»Ô·ûÎGæ=3B]:´~»ÞâÐñv˜•» 4ùnÝ4ºr)ˆ™¡;œKÈמK,½La‹ê*C=§’qèø;`ä´ñÈE½’¶iº·¥d¾sŸ-lõ ¿X®qÛg»?‰ÏG»ÿ ½@¼väö ¿ðÒÌÊØ¿@~€!t¡Ý¿àpªÚä×?Aïzöâ= {¿ç¿¿0¿úÁy“¿?Þ”K²¿ ŵRš«¿8ó"JõT=0åÜÖ ²?¾…‚C"p½Œ¶V^.Ì‚¾°!ȉ¾'´„†2½È³¡»Iä—>Vo+ s¤ü»ÿ Ë3­&¼5ÀOò¡Çº!ÝS(q<99ÔLZ½\Œ;òÖ$¾„a²1ùÎ9>i8팟ܼpÇØÆO\2¾Šƒ`ê©Ê€¿@ÛV§»˜¿ÀÌñ}hPj?îf”kÏŠ= ÏG´ÞDœ¿þ^.®àš¿`Î †Ýß°¿ð¨yÃë|§?¾Œýv/½``âæ>¯?E~ÓPe+a¾(ù~:-í¾À 7´Ù/ø¾„™ƒˆ?ìÁ¼°òÊÔþõ>“Ý–Ì Õ¼çìË1xÞ¼(ï¦ÿÛw»wËJô<n¥u¤jˆë»¶í†ÓCuë»-»sº½¸|ë=‘þK¾F"’«þK¾ðI% T5¿@-ñµ^ÿD<½xV6ÒK¾h   „Ÿ½H+>"óô½¾ ²‰é(KË>¨¯¼¥xt½pèUmƔϾ´ÄLç[[¿Ð¶øcyny¿¨0(Ú+ ?&{z !`½ð´Øÿy°|¿ø[EýS¤ ¿0ÉrP§º¿àJ­ø2¨?˜¾dȰ±=ÀۤЮü¾¿€ÙAdxŽZ¿ zz–_ù¢¿mX àiÒ¿$žØ B×å=ÀðÎ hû’?@¯Ù>wZé>À…›# f¿àQÌæÿRÁ¿d?7…•ßÀ½€‚ýΕkp?ZAõ…ÅW?POXÚ)¸b?€q6×’¢ã>€æäÜÍ<Ú<82‰]!=p¿pU硘Çv>øï_@U$?ø•¨Ñ{o%?¾ï\æt=ð§«ãc¡3¿à 圚 ;äqíA‰3>Äš‚ܵA>¤4²#‰ñœ¼ Îä—J¾T!žÇ6ƒ=ôHõ*Ý‘=#2ö ô;Ôxjzœ¡½× ÂU1“;ndhôóª;‰4ÏÃBéE:ÕÉK5üµ»Ôð³ËjE½t‹mÂ[=šƒùE|<ÎS¢ýx`½2%OR×}¾Ø BIÀ£¿ÐÜå¼g?MôP ’ë0½HgmÁl%¿àΙnã¿à›Kå¨{Ý¿€+â¹ìVÇ?Àºš¸QÌ™½@úÅ Ošº¿ÞîÂÀ‹M•?@f6q.¤?`Öj‘Ñ{?9è™K¼Ü½0!¶Ÿz¤¿BÅb¬Kv…=€Fè¥|\‹>hd¦ê¨>ø4é#»7=dAîÓJ¡¾ ðûuF<º1Ìæöº+<žôWJ™Y§:^gÆ›j4¼pž6ßæC½Èl˜¶%f@¾Ô\çÝËšS>Ìø%¿Çç¼ ´ØL¾~Rªžàu¿À¯@.䊿ð¸ÏÒb`y¿V’J`ep=`t$ã¿ð™gÑl›¿€P)Œ ¤¿ ƒ¬›n}?RY[‹¶A†½@Ïâ½ýD¢?D`ÝJä}>³å Ü ý>ˆßVÝ?6ÄÄçTÿ<ø1ףοKååVm¸ä¸Ã#ÎY>øQ•ÎY>@ÕßÌÚ&=0e‰ü;ÙXæ—ü;Ù²ç¿q ¼.IV{,ã$„¾¾äY:ã¼kž=޽ýÇ7Äà*=ÏâÄ F«„½ Õ‰2Íex¿‘è%%…=—;­`·Í<†SŒ„Æ“½«Þ²5í=ÀbïŽ1£¿àèo;¶¢=q¹5±=¼tƒ¶ø»ì¼Ç ]z–b½À:‰õI};ʀÏ)è<‰×Ì&çÍ»‡®ÓÜn3;uyY‰I¼‰Wº”—;‘Åó*°¹Í»"…'&G(Î;”ÎX‹¼ˆÄæÉ©1¾à ÿ>©1>«rðšØG+½ Å½˜-é>¿ ‰J—-é>?,¹¯Ä~ø°=€IöÝWÍ¿ÀTXùÝWÍ?X†úñäSƒ=ÀdH%Q?¿`q"H%Q??«›m¯ìq½é'&ËT1¾°¬óÊT1>|“éí ”»Á×>x5CÌ»™§&²ÊÌ;þ öÖ¯Ïÿ<§Åñ3»½î‹[7¡&<Ž6¸Q¦Ý=¨ DI¤;>x‰äÇÌŽJ¾b§/×&C=HÜÑO¿R>Äjœ =€àÍ¢­/¿>h à.äÅξOõŒš·X=ø+´Æþ÷Î>È–‡{®W?˜Z­äÎ,s?`;*Pç8}¿q_}ãXNQ= h:94!p?ع1`¢? êcDŒ¶?à̲ÿ°¿ÿw¤å‚vǽ€sn¤ÆØ°?€à‰&þA?ap7r¿ÀðÎ hû’?ëRÒž°¾@<_Ò¿ŽpdÑÆà¿ ù£ø °Ú¿¢¿ £-¿Ñ„Ƕ¥ß½{è&¯ŽÈ?Ì9Ç }¿@×°ly©~¿ êúVtÅp¿-âKrQ)½_–Jñ²‰?F"²††X‚¾ {OÑái1¿˜M$D¼÷5¿el‡…ifm=€w³ø÷d??\=+ßäÈ»8),:iœ;¾°$ÛÜK¾g²Œ‘ÏT²¼ FTˆR>t6®v>‘½p ¦Îú;¡½BuB6à×¼ “­VÛ­=­@<„qö¢»¨ç¹ó¨º»Iöbž<Zºîóè–Å;-î§"ÇH=¾Ö8C `½†¯~Cq|¼8Õ`†b=%öxf‚>P8U‚ò?Ø…X %¿™KªßÆ2=°¯ñÜ D(?èj–èÙ†Ë?àCe;\ Å?€ãVb¢»¿¿L‹«‚î½nï邸¿ö8ñËc8¤¿jCd¾¹¿P²2„!´¿ÄãaØ«q=0ÛyÏ‚µ?òSûä(Ä”½x²·Ñig›¾Th¶¶tâ¾%¨³ ÎXB½,(Ð\ƒ¡°>ªi\1eY ¼oX$Â.I7¼d¨gŽM²º~W)á?<zmÌ3U²<=èr|ó(Ó7>Ðý+[zM¾òy!Òñ<ņ!˜’C>åwÞ•?°ÆDn Ф?@H±dt¿ì”ÒæÈ˜™½€›ÜœÌ£?Òú¢jœèª¿ðôOÀGˆ¹¿°tùNHX²?¾bæþ8’½p0©Ì³?XY°”„{¾èêþÝ'Dü¾¸ôÔ8Vw¿ /ÞbW ½ˆG~xGH?äjp½`ú¼¬¬çµ?½©ó=Q˜» ¦ƒ7¶=ñ—:n7Ä<¯˜Å´ç½<È­Ú¼#Ï= â)þ®a>`5ø¥*®a>°=ÌqZ C?]ªøÄZ?€ÎŽ©øÄZ?`íqÃ…?€ÎŠ¡¶?€ÂD¡¶? |¡s'Ã¥¿ðŠÖ»øòk¿€6½»øòk¿ Ôýö“Á¾ˆá ¬vƒ^¾pó~švƒ^¾Ÿ‡ž#,½w¼r[m.¼v°Jv>¼É/ƒÉ^˜¼ÂV,(§ª%-# ¨ c¾|-šÿ¤ùz>%ˆËU#è“wZé>ÂfD¯›³â=ŽpdÑÆà¿%7V#À ’ÂcjoÀ`—î —86?:‚[¶3>Øz÷e~j¿Ç¾Êaò¼ðó ùªÛ•¿<Óé¬o‰—¿©9Þ‘*#`=p‘"‘hÓ¥?¬ñ*øß¸Z2‹ÕÞC¿´K›´í%¿6K`…ØÁ< Ë—ñk&?=uø”5½èå4² ½äÉ;Ù:|ØlQš¡=”Ø]}:»*ŠØ†#»±]½Þцº_êJj•';ÈEˆ÷¼|T.ãJ=ïþX{Œz;YStäP£½p6~Ï××»ô„¡½0/~¿PDÓíJ½…?ß{Ùåè=´ex¿º¿ýNN%5Ÿü¾Ü2.ÑÂdÙ¿Èͱ ?â¿t„°’h²=¸¦RÕ?þŸîi÷¾È·àùʾ4d¼KWy¼2\©=s7&>Ÿ,‘»÷¾Êu2Ú*9>òΆO•F¸¼ìCy:°A¾¢®<Ëð5¿hl€üq׿å »á?à|Ä–ùIÀ=¨âÓΰÓ?€º,­_ÙK¾d2sV6l¾nQÇXxÁ;ü/as^=]>V°„|Xó½ 5´"Çœ¾¬@äµ"Çœ¾ÌÎÌd'–¿`6Ïû°¿jEÖÏû°¿\;uîÄó´¿Ì‡Q'w‰¿äí\'w‰¿\åFù£ƒž¾F²*Ê„Oã½jÅ*Ê„O㽇' e !…»™Ýª€ÐÉŸ;’Z¥§^þ2»:¡žSí¨»(|¶Uír½|f ÿ[0ƒ=¤4¥ûóÁ;3½øô’ÞT=¾R”d'c¾ÀP&6®!¿°ÓF˜‰ö)?Ú HØt½0ühí.¿L9¤ëB¿p°¤Ç!èw¿P_^íYàr?bmscT\=€H•™Ëƒ¿z5ß͆Ô¿€ÅÙðSŸÜ¿À…›# f¿ì[ŒÐ2ß½ ù£ø °Ú¿ ’ÂcjoÀ`ÓæMŽ\ö¿8ê°P+”¿ÊF•ÿÓáн¼b™z·”³¿p–û®ÓË•¿`d¯eeϹ¿`W8¢Ÿ­¨¿ Uꃆ½ð·PÉXÀ?j9 8¿ÀµïY‘ïw¿ O!ñ¿iJ$u‚`½Pßa½\Ì~?*»æ‘×€½(:ìBh®¾h´oÝÅÿ½¾ö®¹l’(½°Ñ²…;¿>8©¶ € Ôº‡îúá$¾ä&–wă4¾`µÑÌÁ¼ƒ8?ˆ¶à¼c°lbÙõ¼íw¹ÐñI»ËÜD…=þƒo¡\»f¢UßøÆœ»Ðû»‡D!» #_«=5£;€œ[K"K¼ŠH*<„ã(»ùq¼ºO)Û8.!¼>›Áÿ­v½(3ϥġˆ¾Ì'Æ(¸ý‘>-›çgqÔ¼¨á ñ`ž¾ˆ˜– ¥…•¿OE1Qí±¿àn-FK·­? éºö ½ð²ˆ¹7j°¿^›SÑZá¿é¿øâÕZtæ¿q_!¹Qå¿`Ák…*ÁÚ?vo6’œœ½Àš÷ÀzÂÎ?è¬ÔŠýé¾Ð(œèM@¿ * !BrJ¿Yg¦Œü h½ 5Ï‹­Ã9?û!Ø·L z»|ÍQ¦­¼¯½`šëû,¶½Ç·Õ–ª3¼˜‰†$È=Ì,ØèXÂ%½h{˜¸b¬½€’ÎÅ»¬½Ðѯzétľh @ôT!¿Hc9@ôT!¿aÁˆ‘®¿°r¬½°Á¿‹¬½°Á¿ÐQ‡ªÈ¿`›„i 8¦¿È€i 8¦¿È»ˆ1$¿@[Ád털¾˜ŽÐX털¾@„½S©½ÈGËnó½PLyç_ó½–ÔcZ{W»€Mï*¾µ;¡ü…§AJ»íËn•uMÁ»t§„Yƒ½ìnüIÝ‘= #= ´¼hV-°7¡½`äšD|4¾ÔÀ]lYC>(j#å8;½6„ÃÁªL¾TÓ ¥ìz¾­Ó›Ö™(¿ ‘LšUù/?ø,ÊJd&V½@³ü¡{5¿„¯•.- ¿hÝä¡r¿àRiéhõ\?P!ÀO!½]»“å}¿ Da?¶¿[Öó¯a¿àQÌæÿRÁ¿…•ßÀ½¢¿ £-¿`—î —86?8ê°P+”¿€éA\ðß¿ú«&ÉR`ͽl–h.Ì•¿v3÷‘y—?°#©«=f´? ;¥¢hs?翤Éì ˆ=À²s²Õ4»¿äœ-Óà%?€xùœ}?HÐ1A #?*Ïv©V=°'Ü=EÁƒ¿|È~U =¸_–¬<¾>¨ ÀUË>ñ;ÛªXU½xO29éÑξ`ªÈ:Eí:èœInX5> Hã_C>”„–¶1½H涃qN¾Ú,#$ËDõÂI½ƒÜI=´Z;kØÙ*ƒç·;÷OI‡ý@;LöþÆ?oÀ»øQÀá¼ u‡5•2<­Zñ•æÓº #õ­¶8¼I2"âS½ ѪrÇ“¾x2_Í¢™>ÛQ"Ërç¼ÀdbkXG¨¾íæZœ¿ ~­ˆ©¿€&ó‘?Þ`‡m'³£½À#½Áz˧¿¢<õè?pUYLIéà?—2ýÀ?võ |³½à>³˜ÁÆ¿ÔÙjЦl|>ÕäGÔš?°r—¡K¾?ôÅIæØ—½ØÛžº#¿Ü=¡£8ZG=ð}@"ü\=¯›ÁÚi¼& - Úkb½€“ç58¥½bj`¤\¹=lÞ™¾˜_>¼á'Ìȹ½&‘Õí#þPù4迸Nˆèü* ¿&¶«¡q½Ð ±Ö*¿! *dGð¿ð~– –ä¿€‹T†Æ?njtÊš½þÙMGÉ?ˆ·*¶û?€lÌdzˆO?p4癬W?à•K#gFq=p‘‘ܪI¿åJm‚gÎ’;üP%8‰¾=èöejðÂ=~|빓¡½×½t&ÆÄHì<½Ìô½ ×[µ½ø‚Š‚Ô[µ½ˆCþÈ)[þ€ [µ<(¿`!ÿ´<(¿àÑš[ ¬¿À90~n„š?ÜŸ~n„š? Õ%õ:ôÉ?€³~íBº’?й{íBº’?¨Ãßçjb"?Ðu&ÐP!Ç> €ÓÌP!Ç>¼IÙëBgÀ=|CC©-m#=Ä|½5¯o#=¼Z¥§^þ2»©k¡ðͱL;Ö 12æW»I9„ ¨fV»„‹Tðë'<×Ö*Š&vÄ< tÈŠº%T½· }F|)o<rR“©?<½tŒ¼ÓŽ Ø?^¤0ý¾üûVŒð>?½d-hz¶ðÊ<Ì—•¨­æQ=¥9ùÙ_½p™‹ÁäpS¿ád·Ö|±€½î{…¢'Á¾ºHa«¿÷Ò½d?7…•ßÀ½€™ãÇMY¾¿Ñ„Ƕ¥ß½:‚[¶3>ÊF•ÿÓáнú«&ÉR`ͽÇQ°.áÄ¿šcUQÓÂÜ=a†µLjV„½µÂ¯IM(p½B4{÷»N=àAŠ¡†—¿`Tï- »=·"öf§½Ðk²%›9½g{°Ø9…F½€ሹzS¿ >ñáq=Ü?Ögÿöº/Ú™L|#N=]֨׿©;=8ç †VJ¾¢`rRbá?=Ú)F|vù¹üQéGmž=²kv+],/=PÊŸô£¾N3çgØ/&½«ñ"¾><$/mžŠE<­bó÷PV¼¬A®hüØû»‡D!»j#Ø:(8»­…¦›AT»cê‘WÁOE;8.ÙJ¹º£;ÓEðŠÓ:_©tÙ_¨Þ»2~øÐÏÚº‡%±±ù—D»}Z¥ùÒÛÒ¼;•–GðòÑ<à±ìͰg¾®Z“+Ïå¼XRšæÖ’‘½xþ¶ah?œkÿh™= ò–£‘¿ù2u:±½Þª’w³z½Fãm}¦=<Ët]‘œ=@À”\·lÿª?ðm¤½' Š¿3¼º¹Ò_]z½ü qß2¥½r<Ë>%ë¾ ·uá«=ýÎ3#tƒQ<Ʋ?æj“= ëÖ¡®Àˆ¿.Ì¡®Àˆ?A¥LL:=ðaŽšô]¾€OÜ¿ô]>‘ºFå.}„<$"˜ ªêù¼(Š3Šöôù<ý~ÀX}¡§;í—b²KÅÁ»»£JX¥?U;íüÒð:¦Ë;”ÆVÿ¯ê=ü¦'ý¡½³¦„AÀÆ<˜ÎÚNñØ­=(+ã¨ÛÑ=>àL»ä hN¾;¼dB˜@=£¢y7)T>Ìð\Ó€>àߢ>X 0?°Fò‚uÑ7¿%`c $SR=ñ[@i:?Òð¡A&,?@’„ŒçÃ?€àþ[¿^oä¶ö?ˆ½0Ýîâó¦?\-sìâ½à? £ ûl=Ú?€‚ýΕkp?¦ù ,,ä={è&¯ŽÈ?Øz÷e~j¿¼b™z·”³¿l–h.Ì•¿šcUQÓÂÜ=@ƒ«%ߨ¿0$ÓËÃ¥¿@è•kZ»¿Ä]õdnª¿6=ÂRVs”½ ç%íP³»?ÈÎühF^&¿€U ž€‰~¿D˜|„¿¯œmlb=XVq].€?>xº=5¡½th¸éÁ À¾X£ÊÌĠϾ}yáb=ˆÆÞgÖÏ>…Èt üºˆùœ~_=¾Ð &Õ¾µL¾ÁlœÖB=àìq0T>#Ó4q€Äÿ¼ëCïeؽV¾e@³â#<¬¼ 3=Qñ"S¤”¡»íßRÁ˃½»Û[)Kö>»À¾Q6*[Ã; y“ý"<{$Bzº<¼¦úMàYÝ:i\'ë©§B<ø‘­Š;œ=,aó„ûo¡>pæ´ah©¾‘¹)êÑ#ñ<€4£Ž´>€­×‡Â’¤?À†˜1·?àÄŠk&ÿ³¿ø¹š= “Àj䶯?ÙÁÜ5ÑÜ¿0ŠUiXÜÓ¿€åœ@ŠÇ¿JrA[½C•=€ÅM‡-ʱ¿lDìýÚƒ¾€±Q0ZÈ¿húýHâ›$¿å’;Xã$œ=€ºè"e*?äÅ·!šM½äÚc¢ ½b½.KÐÙ»vh R.fmB? ‚zðö; ¿ÿjë]ðr=X ˆw†P?Ü©ÒÌâ¿°Mª‡ïë׿€èDűÉ?aÈóáŒ=@½ )?Kª¿CQËö¾tœ¬nì@¿0(eÑæëK¿‚Ë@·r½À‡…YŠ-1?1 øhÖ#£»(n´hAzϽ¼ü1øÕ½ ¯N4%u=,«nµÌZç=,ÿiÆ@=dÏÓ¸Æ=øV†B¹Æ=9"€Ô×>y˜q¼Ð)?–k¼Ð)?ÀõFoᥢ?À¦l>£õÁ?àÖ‹>£õÁ?Ðõ\ Aª¿k“™.¨¿àŒŽ™.¨¿Éá_xì2¿h´=~ÎľBr1~Îľ†êõ„ À½| :/Ÿ0½üŸÖ_Ó¡0½ï˜Þˆ$žŠ»ò±)À3ª;b—ßßS¿ºYNyU°»¬“³½zÞvßÙ•=sA„6ìU¼l'ýZn¥½ ¶q´†·«“ò'¿ZAõ…ÅW?¨Å°ÈN½Ì9Ç }¿Ç¾Êaò¼p–û®ÓË•¿v3÷‘y—?a†µLjV„½0$ÓËÃ¥¿(¸ÅK#À ¹W—åbÀlÛ*ãB ?C‘…æ«{¾„l Ê[?h>T_ºIÖ¾XãÔ¿ü^é7I’ß¿ ¤°rŸ9î½40'ÞE]Æ?ú¢ð’†·ŒaeaJ$¿È&м&^¿Â²j×0G½Z*ªÈY?Â`!—ïc¾ìY‘èÚðz¾‘¯ß—‘żä®µâÕ€> åm†®Ò»Õö½óÓŠñ»ðñOYèêøº ™uÂÕ6ø;â\*t¾ÐG9©Df>4±ç1­?¼P€<·b&¾x‘Tl%DÀ¾d¤ß”‘Ñ¿v g6È>*>¹ïý¼ÊNýøÜ¿:ÍX«®Ã»÷’®™z¿(Aªxâ'‡¿ä+¾œuQ»½¬cÿr4‰?múýmVì¼kòpƒà½·öVEV»ðᇼw=¾iºŒZ†[ºÊ\ŸÂ‘7¿à©»ÉâM?Ì‹9Ãæ#½Þ¢õ7D¿ß3)ˆI~»®Þ'Ÿ*Œ¹¼ø¾Íòì/;¾¤-+¶+½pìôºa®¾Úw€K´>9§ƒ¼a½àdïTžÃ¾$’»¾!#¿ñ±Aq¿POXÚ)¸b? ë鮪$½@×°ly©~¿ðó ùªÛ•¿`d¯eeϹ¿°#©«=f´?µÂ¯IM(p½@è•kZ»¿ ¹W—åbÀ`6®Fõ¿@k,èŒ_œ?íX*:Õ¬õ½€ò~%ž?ŠŸ'÷!Ô¿`9h;5±Ü¿€ 5[ÂØ¿Ñ1$h›Žô½PóTVÓÁ?hR% 6*¿˜ÉßÐHq¿àÊÝ/[€y¿ò‡ø³ða½°Å=:s?®&pÆc¾ òòÛ ¸!¿Ø^Ù}¤¨(¿i4ú>!=ˆ„飮)0?Ó6„U¼ÎŒ»8%÷ Ða#¾DÂ"w{ 3¾¡öd´\s¼x©É†y;>$/ìûÍñr½DÑELŒ‰½ŠW†ðb¼$ÐâD\X=Üf&Hs,½xêáuªŒ<=VQgi½i¡»lP/|ÞGI½šKþ7›¦d¾@ÈöÂæù ¿°Ý賃A?U°0½+½@Ô³‹ˆ¿p·Ä*áËØ¿@¢ éà®Ý¿€›oó½h¿ûYÔ5½½+Cd΀ؿ(j—6{“¿`„¾§ÖU²¿>Nû©¿°ýÆ÷ï¶½ ¥H$!E³?Ô÷}n½ æ¤ôÉÑ‚¾Ài3B=’¾s‰¢íß¶¼Ø˜Is&”>sì@" K½à›qÙ$¾Ø.0®b!>[ô¢uÄï¼XWа1w>¾^{Õ.Ë€¿ ¢dnŘ¿`Ô0ꘙ?øGzÏ„§¾½à€‡ e#‰¿ì™ˆ3!š¿0ÔÞö±ç°¿Ð7ÙØ¯²¿²aòHÂH¹½ð†øjMs—¿<ÕàH-a¾Ø·øo7í¾¸C]ŒRZé¾}pz=w‘½H‘žï.þ>ÔýJÔ¼22·¤ù”ï¼fƒ;a ªüºê~ó]'—ê<\>{ôS@^»ãX }ªz»à^Û;¾ »Ö zÁAn~;v÷iXî»1Îrðíòî»°TÑhVº½pG¾YL¾Pu0´YL¾hŸó¸Y5¿˜f0·zQ`¿ê2·zQ`¿€°…°¹Â¿PØp²ýÐá¿à½X²ýÐá¿ €dÔ¨¿èÖ¹§*‚`¿Ø·§*‚`¿ð# O™|¬¾8BA ÃJ¾˜×O†£ÃJ¾¬þÅéoi¼Õ =XmG’»Ýå½€ð´§;¾:Ðæd™=»#•Uœ³»0^Š‹Öõ¼+‰¥³oÍ =rhn‚$¼ï¡ ®½BÐD"3¾Dëó¤¤ÂA>ÊÜŒ#®gž¼ˆŠJÈé—J¾t³|óÙú•½úŠh³¾óøVããµ>b¶„öa½€~'ðþȾùÞ·R¿¨ÄÍxä0c¿€q6×’¢ã>À·\pýâ1½ êúVtÅp¿<Óé¬o‰—¿`W8¢Ÿ­¨¿ ;¥¢hs?B4{÷»N=Ä]õdnª¿lÛ*ãB ?@k,èŒ_œ?@>yñ˜ƒÑ¿˜hˆè¬¾è=@1'‘‰?$ñL^Ú£ß?`·¬JÙ?€|nËb)Ä?$+ÄŸ&Áú=)_ÖŽ§º¿^ñ5¤qf?pYgNÓy?àÎ.¬!­?´ÀòÇìu½€…“Ô5O}¿ hš{>ˆ¾Æ:*?@r)EÈ0?è˜ì1(4=°ü®2à7¿P•¼i¨; Ñ#1d®3>4¾NnUÌA>9?ÇR'’‰<0知÷êK¾ XœRÚ‰=L뵤ú¾ =^ÚO^þœ<0µ—MФ½NëŸþK@½LîUä­N=Å€N#?œ°»pO°Üí\½¦*%ܹ»x¾x67úxh¿È +GÞÄ??^L à ½˜ˆ·ÔÈ7#¿¼›’ðnë¾(Æäõl7S¿`½;íáÀ¿Š°Q<˜+±=@($_1j?HrÇߟ?@Gá°ñ´? x ÅŽ£?ê„u;«c¶=à_„}`·¿>ãšYÇ.Ž=Œ×Ü`¤J•>8Z`ª!£>w0†PIÒ<8›µ@¶¦¾§T:íy+½l3ÈÌ'¾¨cÐC>ÖïÀ¾ÐÏø¼ä¶ £ÞÎ@¾sn, ”ú‘¿7ë8M%¡¿ WæJß›?{ÂŪú<¯=É8`b>‘¿D%Âåå­?¤`øßv»?`>Îò.‚º?ï!ÍBnÃ=Xj&£I£?Îcá[Cp>pž³ìùð>ˆÆ6¨Tå>è£ 8ý*=P(QXù¢¿Ý~À¹\ô<†+5ëód=”çèæ;œ?@üs(i? "}(i?Ú@ẽ>h„trT>hoëttrT>Øs ·å<0&òwÒÑDº– Ýè?ÐA;ëk™¨•M»ª„-"¶=M»º4S0æÖ<î ãzt)<|ÜSòQ¼‰¿D­Û2¼3ËÈD“¼¨‘Pé³3Ÿ<ÐÞú×ø¾•þUMx­¼)ËpsËý:sÙðSše½á‹l±âÁt= ºE¦jB¾f5Ð퉽»š¼¬õ¼XÑ íG&½€æäÜÍ<Ú< ¨V'›ÜJ¿-âKrQ)½©9Þ‘*#`= Uꃆ½ç¿¤Éì ˆ=àAŠ¡†—¿6=ÂRVs”½C‘…æ«{¾íX*:Õ¬õ½˜hˆè¬¾è=)L°¿Î¿w„·Áǽ‹Qe$ãkþ½]¨à§FRì½ÓN³Ñb_ë½@Ç«Ys€¾¿Ð ­ó2CÖ=qI‘.Á.ò<íi9b,v=aVªŠ½Dw‚ïJ¿¦Œqí²s=é*ÝœW "<·nÙ‘Šœ1½¹'[%ÕG=ÀÄë$"Iý¾Fü¨4½O€wäX²ºŽƒ—t¬\s¼¸ìZÒ¦}¼}}o{ú–r½;¸_Yø>¿ Ü°^Yø>?ƒzëÐ瀵½ÀŸ/ï|Í¿|.ï|Í?È®%€Ÿ)¯½Àæ^‹Mi?¿& ‹Mi??٬ז%#è¼È•§`\1¾0.°ú[1>KôëæÖ¬»iPñË+¢;ov'À(ì·»3aG 3:M;®Ih‚YÃ;ÏQÇþĦ=hå#ù#½µÞx¨/< zy9 =€¦ˆmø€;>øiO¼€ÜK¾8ŸÉd;œæÛT”ô¥={)ÃUÃ>°äïÍɾA Â/X`=èëßNé¬×>Î#·? &À{g~?82‰]!=p¿À{f¸F=_–Jñ²‰?p‘"‘hÓ¥?ð·PÉXÀ?À²s²Õ4»¿`Tï- »= ç%íP³»?„l Ê[?€ò~%ž?@1'‘‰?w„·Áǽ€ÑöÃPÓ¿¼ay iÆ¿°Aò‰`ŒÁ¿²ôrn#¨Š½(‚;M磽õÐR›Ÿ<<Bݦ=À1“¨L= F›)¸\½ª^Z¡l¢Á;È!aPƒñh=\É>ç5„>@"Ð7s÷?(§{m8›#¿W“Îi'=àxÖÚút-?p Ä[<žä?€Æ-Œ½]ß?ôf$KT}?z–—ýñ׳=.øçÌ?È…Ë ¿ÐWtWG'²¿€ùüI'Hª¿ª»Ñ:šÍ¶½«á¾ýª?ž·°)T½@ÇJ–¾`k¸Ô<¥¾fÙ$gмØAæS8¦>.øi§ŸG=££Ê½qC>ìäœê*@¾3Œä3Þ=ÜÈÅj²[>ê©#2ÈVˆ?êšûölš? %\Îg>œ¿#ß|ëNÁ½ À&¿‚Ýu?XRKmvj~?€… éù¡m?R~€‚[?2Ùd†-‚=pèµÉC“¿,÷‡›5E‚¾ØsZÊ&o¿°á;¾Póÿ¾l›8¿†ç½€Qað?“Š|OΨñ¼”œŸŠÝ ½P©­oÇx»€ªI›gµ=È2© Ç»®—äWÌTŸ»u/i¾,/»¥P‹9o¶¡;뙞2™W<,z}®<´¥ÌÕ‰Õ= ÒèX{_>xkþ×X{_>ˆíéj|5@?ß/¢ömk?`ö¡ömk?×C̦`Ä?@x10¤¶¿€ë 0¤¶¿à¥W몆©¿òûÑ^wZ¿ð·ûÑ^wZ¿`ž9éa·¾9E -ç`¾€`Є.ç`¾‰)@]"鼡—,J¸þºj˜•I ;í›#º„3ºr¹¨R%»@ZÒ c¾pU硘Çv>8ZL5¼F"²††X‚¾¬ñ*øß¸j9 8¿äœ-Óà%?·"öf§½ÈÎühF^&¿h>T_ºIÖ¾ŠŸ'÷!Ô¿$ñL^Ú£ß?‹Qe$ãkþ½¼ay iÆ¿\}aX#Àì®ùá}qÀðf¹K@h?4Ç^æ}ù[¾Ðc€ñQW¿ŒÀ}¨yAò¼|$QW¼Ý•¿BÅÂØØ¦ ¿ˆœcñ넾&±U”Èb¢?f#xó{E¿¤C¤¿æ)JeûÀ“½LV_UC*,?6;x:Ù€½?ºÉ•½Ã œÑ¼ºHŸ}C!¥=óWêq!ó»°,˜‹¸V¼Cl¬õá»~¸+K<®g¬«ö¼î®w>K=ç!èüb‰º˜ £×M½Þ˜Á4O×»\Α¡×1~¿(›í°~†?dáÒm½ê‚½°~–@ ¿JMIºÝŸü¾0×CY5gÙ¿÷©´¶¾¿¶j¦&î=¾8÷!j©¹ä?ްvNYx¾ü'½¢Y…¾€~ŠŠÓ£¼ Õ²Ù%> ‹j[§±¾ÂÇÄ@>/RxÔ¼|^ôRû¾1¾æ}csI6¿øë’aÄs׿8þËõÝ¿^Âc–üô(¾p×ÛN˜Ù¿è÷‚M¶ÜK¾„V’Xý+A¾À¡ÿ×_ȼH’Kƒøón>þNp<Ígô½$ª°yÉœ¾hدyÉœ¾˜éö7–¿°ª!s~°¿´3âq~°¿0SÒíÅõ´¿ÐÑW„y‰¿¨­:1„y‰¿œšG†ž¾¬ïb£ç”â½±±`ç”â½ÆˆÅKÑ…»ÿ&®Ë ¡;ïéZ“äð1»Árõò…¦»¸¥þ´'ñr½T{K ´Û‰=1£¥Õ'^¼ØA;¶ ‹½(|~4Þ$¾`Ä&î‹4>ÙžzÔ&½¨íŒpwç=¾˜ó°uÅc¾‘ª±!¿øï_@U$?îeÃYžz½ {OÑái1¿Z2‹ÕÞC¿ÀµïY‘ïw¿€xùœ}?Ðk²%›9½€U ž€‰~¿XãÔ¿`9h;5±Ü¿`·¬JÙ?]¨à§FRì½°Aò‰`ŒÁ¿ì®ùá}qÀàô%•Ìlö¿ƒ0WY3´? ïEÈõ¾P.™5)Z}¿Vg¸F Ï•¿@é£ V㹿P†¦«ºÄº¿ L¢ATª=0ãÖôן¶?@¹‡t;¿@Ëíýw¿8 Œz³r¿ÇìÎôþ ½`ÜaOÖƒ?s'ÒF€½ø>N“´u®¾¸\ÆÙv³¾àðvŠ2½8bq}cÃ>D˜ç¶šé$¾pn÷¼“T5¾½ÕA"*½`-O.Y=>úS鯩nÿ»®ð@ ÷v½øïË\€¤ˆ¾=噤–>aÊO'D"½€eÓ´‰›¾ØÃ]ˆ’†•¿€ÿû#ö±¿€(²“¥?õ|$«º9¬½P–½¾Î†³¿\)\á¿ § ~€ã¿@XÅl¶¿0EðM=·½½ 5¨?ÆÞ?6y’HPe¾P;¹ÓQá ¿X«¨ì¬0¿ÔI+³½¨ƒæð%?ó Pìۿ躨#㊽8Tªï¦“=ÑvãAtÓ¼ 4ìÆ#¥½ü¡sõÔr;РNmFÎ/¿°ƒ;`e;?Û¦¸ þ²½pØâi+¿îÁöj‡uæ¿PC·%&]å¿€{f÷•|׿d«÷ç½àCù{$Ô¿² òßê¾Pd$°@¿Ð|8Ž¡”¿Ú¦Twwsj½0¯/®”LM?èâû®p£¯½fúžøáýü\¢Z3ð»rlX™vÂ=Zè| 3Øæ¼D»–QœOø¼á½ÚK£¶é»T+O¦ý=T2·K¢%½€5D£ù¬½àˆ\0õ¬½ šßÉxľ°vÂ>ýY!¿xé^0ýY!¿`t´&¦®¿ðK9¼Á¿ÀÕÑ8¼Á¿PÅ7X%È¿P64î.L¦¿°ëOî.L¦¿øĆn<$¿È»U:…‘¸¾Xã;2…‘¸¾´ Vk½»ó~‰¢»`f½+Xƒ¼;”*áügN»¥Occ©'û .팉‰½Ð#'Î(¾ =˜4b³Lq¼ìÎN®Œå£½p؜޲H5¾üùˆ5ûhC>®„­Ð:ø#½<-ÌpN¾F…ÂL¹½v¾à±žäb5&¿ø•¨Ñ{o%?~ŒoËH¡‡½˜M$D¼÷5¿´K›´í%¿ O!ñ¿HÐ1A #?g{°Ø9…F½D˜|„¿ü^é7I’ß¿€ 5[ÂØ¿€|nËb)Ä?ÓN³Ñb_ë½²P´°zÛóµ>Û¤Ijtj?=ØzœVÃàɾ ;ç¥Ð—4> ÆŒ²tC>$¦W¬›¦8=°”|¤ÇÅL¾|¾¾\}`¼?($}Š0<›¬ž˜»w6åùA:¼bž)9hs•½ (™”ÁHš¾h°SýdU¦>+çûé&3½H<Ë)|ɬ¾È{ÞªÓS¿àò-H'¢±¿À±~Q.’?z¬òXR²£½ µôc\"´¿»g¬äÅ?`fûÓ½?À~+bs¯Ä¿Á™Ê.°é½ žüÖ¶—´¿"“d zö{>x˜ÅÏÙ?ð«tC׆?C·ï Z”$=Áµ§š$¿ _—¼u…»ì…M\ ›½¬EOUÔ¡={‰^_âÂã¼”Xßi”Fµ½Ôn¨“AÔ龸a¢wÝ7@¿ ¿î’ÑI?žŒóc‹¸½ ‚\Дž;¿Ü³¿¶—ì?`¨ L $Ä%?»x¿-#°§q=0À Cµ3¿Lr# ßzÈ=,ªÐ“pCÜ=!ÏN0¿<”-:]"ܽª1*Ôžÿ<êï°ü=¢vyŒÿ÷;ð™.ލ½ ø=¥qÚ5½¤e¹âpÜÁ½(6“ÐnÜÁ½å0Þs?Ó¾°‘|uÚB ¿àü]UÚB ¿Ž¥?äk¿`Ÿõñ¹¿°Äñ¹¿@ <6ëò“¿à_¦Lã? b}¦Lã?¿Ú(Ïœ-?hhêäàÕ·>˜fG­àÕ·>Øí…™¬,~=æ7Ïö795;.j§¡ÿM;VPO·ÑŽV»¬g(œõÕS»Dä¼bä¨`¼ŸH™!Ýx<Ȱ/”wT½´„ûEVCi¼Aõ-Ï+½òÃn«Ÿ"&=pš8‹@Ÿ¾£%M ò¿,½¬ÐEiÿ¬d¼›]#áÍt½¾ï\æt=N¦0•9ý¾el‡…ifm=6K`…ØÁ¤½0¾H§=ñ& ¼=0Ù¶°ÇB»=@€,Mñ¦—¿^ú¦¡çüŽ(Ç¥@å ù<ŒOD½š8½h^¡3=ðÜ`bS¿ÀòM¶•ËI½&4,l~ À» ‡Þ$n¤1½Û¡µÕ|9½øÒØ3TZ¾G,äͬ=kù\ß³.½.Ls) >½P«À\᫾³Êaî‰M=Z²H‰Ux»èä¤/½û•;%ƒ0º.Û»ÝWÏ æ˜”»× æ5ªùºÚ/w£ ½£üJBÅ0= ,ˆà'´g¾.z|[ÝØ<û‡Kßju½_. ¾„¥²½Úí‘æµ~µ=p½a~‘¿Þ@ü°‘§½½¦›Æã*ç½@ï¸+µ¿½Ê*w±úì½€‚ÉɉÿAq AÐ=Ó»@%g¼Pjñ˧½b¸~3Û€½2ÊYK6ë¾Ppž÷D ½:^ìÏ4Žþ¸°»Å¸®½Í¼)S‹]×< )-©m½KÃm|l⼺…ÇTz·¼Þz«jjò½ølü‚¿%Ð=à@p¢ò†¿7¤g{՜˽¹Hµ(<ž½f Kè½MZ]ð½`E@öÌáÄ¿0Ä‘½[©Ú Úý<ÑÌŒ€¨ã»ÒÚôÀu¼Æ ­Ç\¼Ãuwþ°<¹v¤ûÀ&K¼°ŒóÏà‘½è_hÙÊà‘=úÈÝ‚û†o½0Z¶ëBe¿‹| Be?ÜSb .·0n>¼"ù>­{¦;¿x…"¥Á»Bhed4dR;È«àü# Ç;àîUšU=œÜÏÔ¤½Psù"Ö cõª´L¾*ÝÖJÇÓ.=ôÝ?²g&T>¦9·b)P‚>8©é© þ0?ð§«ãc¡3¿vQ …@Ÿ=€w³ø÷d?? Ë—ñk&?Pßa½\Ì~?°'Ü=EÁƒ¿ >ñáq=XVq].€?40'ÞE]Æ?PóTVÓÁ?)_ÖŽ§º¿Ð ­ó2CÖ=`øï Ú¹¹¿Ðc€ñQW¿P.™5)Z}¿û÷³Øêú©¿EŸƒ2>€*8\z“Þ¿$~¾PW¢¿ÀzT†´ƒ¼¿€:Al !¿¿\A`¬9‘=Àš›¼Óó°?œóKF`,¿x3ðç-ƒ¿`tAè~¿à®O«ˆSO½ð§è0Å?ÒD] h¤½è|òH¬Ã¾˜lãF‰ɾ¾"ÉñÀY½ ¦2…¾×>(†G­Ðø=¾ÈÑ9 ü‚N¾ôÃ’ÄN2½hnZWf2T>Þª' <†fîÏG^6¼eÊRZrÒ ;=£¢!üö@<ÐEwè!™=@áLž>¸{î‡}¨«¾D0Ya?E=8|ò/ž¯>|1„Ñ;¤?VJÙѳ? „vi¨¿+,”Ê*0«= ´ÈêB¯?¢Ã äXì¿À xþIPã¿`Ò´ÞŽü²¿úÑÞ°Ù½Tb©×Ì?²Üâä© „¾ð§n´¿°°¤‡g¹#¿^´ó¶Š;½@Ë.²*?3*}‚Bþ;8ÞI~«=(póÒ´½$ðÖ‰j÷° :ì2? uÍéÝu@¿ 3@ — ˜½0QôíG&?„ˆ˜³kè?À5§ÞÁäÞ? ˜Pb¿Ì?û»zB Mð=`Ël6"(—?Cp~¬‰¿èÎÿ4À»Q¿°´ÕG÷Ç+¿u¾½ Mc½€|cH™í]?0¡yLÐÈ½äØæz)Ýݽ9ñ~¼$i5ôgÃÛ=È'Û!÷ ½jÍœ&®ž½·Xø“3 ¼0@+…¸I&= á72Þ&C=4¾ñü©Á=h‹21¸©Á=à†•¬Ñ>06qûŽ€/? 5©Ž€/?pNìðk°? aÚû–?ÐeÞÙû–?`”€§Õ¼Ê¿ðYÆœö ¿.Æœö ¿À!nõº.¿ýºÐÏ̾°ç{ÏÏ̾|3/”…½bŸùäO;ñºà 圚 ;XtàYûQ º\=+ßäÈ»*»æ‘×€½|È~U =Ü?Ögÿöº>xº=5¡½ú¢ð’†·hR% 6*¿^ñ5¤qf?qI‘.Á.òÕmFíY¿WÂïe’ <>º5;¤Ô¿@„º 9¿†ËÁ Š¢>heWãÒÁà?Þs×&¿Üzûó»V¿Àe4CC=HHi¢ß? ²à} c¾8²<Âv¾8È0%ÿ¼`‹Z¶ÊS‚>Æ“üô¾èÌÛïΉ >îçœÛ‰¨¼Ò.?f$¾¬b'€DÀ¾Ú‹h)Ñ¿@ N–èRÛ?+N]·lÜ=x\¸2Zÿ;V Ò»`Î:Ïz¿èù¶_׿eío~˜Á=˜ûV^¸7Ž?g<÷¹¥_`º±lY:•…:<'»Ñ6y¹  ºSa‚º%6;ãoƒWº4 ”Cz7¿Øéª+2?°‹¬.Z>I=²ðÙX¡wQ¿á{uøiQŽ».¢+™gha¿€ü~Ÿêe?Ç-7+½ƒd=ª“í5¼u?râ¨zt½·²êˆ½“½«C ae¹á;m°$J•»’=EÅùð.Ƹº><_ žˆ%½¸Â1 ˆ%½”Rˆ–½¾\&ê«t¿Tê«t¿¬`›®¿¤{J†p±å¿Š@˜p±å¿(¢6'‘¿ï¹}LQ¿zóÊ€LQ¿(£½wüª‘½–ÜÌʃŸƒ»ô”inç¡;ãæÜúÉ}Fº%…ç>†T¤»‚+0wqà¼,ô7 A|÷<­Sr5%ßæ»ð¥ñÝÂÿ¼,Ö¤ï=»Ì>S2Þ[#¾äqíA‰3>ö\æW“œ<8),:iœ;¾=uø”5½(:ìBh®¾¸_–¬<¾>/Ú™L|#N=th¸éÁ À¾ŒaeaJ$¿˜ÉßÐHq¿pYgNÓy?íi9b,v=@(€£Ës¿|$QW¼Ý•¿@é£ V㹿€ÛÛGõ=³?ñ& ¼=ÀzT†´ƒ¼¿9NNfÀÐ% óõ1õ¿ ?PZ ¢¿v€`µw×½ÐV¼ðŽZ‘¿vZ@¸K&Ô¿€é fWØÜ¿ÀÜ“6 ]`¿C!¦ßÉ)°½ ö0R“yÚ?нÚÅ0¿H”o÷dZq¿øqZaLc¿ø’Þ¥ _?½ðð•¶V•~?òS‰°c¾°š³åvÉ!¿ÐˆœŽR&¿}§õžÊ˜½óŠòÉ1?tÛ…0ƒ,½(ÉfŽC=¸c‡pÉK<¤é&üVéE½ø]žt§d¾@À5a¿ðgG¿£Ä?ÄÃþØY’‚½j΄R¿PøØvÙÍØ¿@\ôÉôÈÝ¿ ¯ÈËâD×?€ÏÀä£ñ­½à_F À¿¬¾ë©ð~“¿h›r=n²¿Ð,/#\Ç«¿¥^oÿݽÐë0©v˲?›1z¯²-½``<óGÛ$¾ŒƒøjxÔ9>e n$=܃3s_2¾qöèÄ Ì€¿ª¯HÃÖ˜¿ÀmøÃ¤j?ðmI‚ïDi=<”+ƒlœ¿Ž¢«s$š¿qê‡Kø°¿ùIħ?âœÍHÂr½à§Â´v¯?««¥E6a¾°ãÊf¿Yí¾ðî2 mTø¾` ot›”½PööÞö>†%ßNøW½˜À…RëýM¾ìšˆ=T¾)ÙûzÖx½„bñÚuÎb>÷} º]+ð»!ZŸé3ð»8+Ø'º½øã)þ¹L¾¨å¦ŒÐL¾ ³v·b5¿P{ïcÕY`¿¸¶ eÕY`¿PQÙ¹½Ê¿Ètayêá¿¿@ayêá¿`Ì^Uw©¿É¦Kã“`¿èQ£Kã“`¿ð>µÝŒ¾)Z {¹r¡»_S¼Ò3o¿;]óK˜Ôeºµ)ðú »††Mô›Ò÷¼ ŒBe=Üj;¢Äk¼p4EªÐ½?~}×~i]»xÆTí˜3¾Äš‚ܵA>¾PÄG²¸¼°$ÛÜK¾èå4² ½h´oÝÅÿ½¾¨ ÀUË>]֨׿©;=X£ÊÌĠϾÈ&м&^¿àÊÝ/[€y¿àÎ.¬!­?aVªŠ½YŽ¢ÝÆ|¿BÅÂØØ¦ ¿P†¦«ºÄº¿àRú¢)¨?0Ù¶°ÇB»=€:Al !¿¿@>ÕmFíY¿ ?PZ ¢¿€;îúÓ¿m1BÞ= ó”7Ê“?@=¾Ö¨´í>€Emqéd¿yPã’Á¿}%‡íöŒ°=­ž¥m§o?2¦Î$…a?lIã×b?€v«GëÔä>j…¹ï·6ƒ½øü§öZp¿}ím7Øv>X'h¯˜¡$?`M?Ž%?—×¼’“¿ˆ=3†3ŸÁ3¿Üž„Í¢E½4èj^÷[=µuÇ6S%¼îyÛ©n›`½ä Z ðÙ}¾PcÿÓ­¿ ÿ=6#'?~­˜;L„½P{çXv%¿üêÝxþpã¿€å©?‡§Ý¿`) ü‡žÇ?話ͪ½€¨Ö¨ñº¿X7õÆHS•?°­˜ñëc¤?ÀXÑf³e{?j™Età‰=@ •ÄþÁ¤¿*7I£ÊC½ £Vëˆi@¾p)ŸS>öÔ3ÂQ½XäMÜÜL¾óؾoâu¿°'n¥¸üŠ¿`-ñøƒry¿æ-ñ.5 Š=@n\?,¿G>2$›¿€Ï,¤¿Ê+ú.¬}?<Ћ~!¶S½³år¢?>¿÷|>ØVb:=ý>p˜R‚?CfÊ4Ÿ×¼ D©÷”ô¿„<³Q9p=ôñyêjY> áÁ=?Ú\>ßÍÌ;v•B½ MºßÌEo¾¸/ÝúÉ}Fº|4Âf°b:Ïy•a.[`»$ä^áÆ©gº\£»iM@ç»ê=mþ;Ñ,ª ŽRV¼$%n ¼´¼ñïtSºÌ‚b/޼¤4²#‰ñœ¼@d«©ý¾g²Œ‘ÏT²¼äÉ;Ù:ö®¹l’(½ñ;ÛªXU½8ç †VJ¾}yáb=²j×0G½ò‡ø³ða½´ÀòÇìu½Dw‚ïJ¿D„™™O½ˆœcñ넾 L¢ATª=+ÂÌÄ8q°½@€,Mñ¦—¿\A`¬9‘=WÂïe’ <>v€`µw×½m1BÞ=€¥fÝj’Ï¿ž]مdz=û8&¦e[á=åsšHP¿²½| ïöŒ°=À÷(ϮԾ¿UoxÖ´³=d"%Ï^ȼ ™ÐI„…=Œ_¬™&tl= §¼¾ K¿n]ì>q±=öDwa~2¼³û} -ª½C1âUÁÞ»½ðMÈO–qý¾ZM®!§ÏÌ=Ô"-ƒæ¼Wqñ9÷<„ñ=-•½G~oõm ¼صÔLj¼@ÍŸ œ‘‡½šÇFS\_ž=p¥:À#ê¾O¤A3!†¨½è™îSœÐ¾¼­Úæé÷’½T`M´Ðª=nª¥¾¿¤„t©eœ=Ù0 „vp½ÓPLë䋽¶ÑÙFÛ#€½0ÎDÕ ‘¿¦8ÿå’=°Ù¦íòM–º¾½©šÂ,½šdè |?=PïI\‡¾P‹åÀš—@½´ºÿo¶½4€ßך´u=ÂÛª€±†=à„°‹x¿¸ÇÓχ=LË‹mî¼£³›jK-j½–!Ò¯Àžk=@Øg®ÿé¿Ï3Wß7¯=òÞ-m­1Œ¼Mºïëm½ò€SxYà<@.c‚ׯ;p‰ƒLÞ€¨ìüJ>=,ñ„’?¿@³’??€o.çòWN½@­NKíÊÍ¿z JíÊÍ?Ñ*öǘ½ ¤3$Æ?¿@âÿ3Æ??Y¤ Ê&=ÿ$gûÇ×£;i™©¼»ágmQÂaf:k¹)öÍaÄ;ê?ˆUÿ<6f¶]½ß—X¬ Îä—J¾ºDú1ú®•< FTˆR>|ØlQš¡=°Ñ²…;¿>xO29éÑξ¢`rRbá?=ˆÆÞgÖÏ>Z*ªÈY?°Å=:s?€…“Ô5O}¿¦Œqí²s=ø@/..p?&±U”Èb¢?0ãÖôן¶?@×úz?#±¿^ú¦¡çüŽÀš›¼Óó°?º5;¤~!QóÚ¿8À·Ÿ¿l#EBA…½€Ú}%¿É?À£ñ†¹-¿€8D›çÙ~¿JX̼àp¿Þòd\ÃR¬=€l»Ü‰?¾V˜‘Ôe‚¾økŽ¡ƒ1¿øqGV6¿ø¬ÿß•ýž=ПP¬Ó”??4pû¢çI=p”oʼ`½'±¹Õ8`<¤ˆÒj²b=$7Eˆ h‚>8r7ôþ?xS؃ú%¿#úzO˜M=/:ûN(?]e :ŠË?´²Sï&Å?€®§o‹ë»¿oîä'â®°=`úä1½¸¿f2 Õ=¤¿iŽîhñ¹¿ ßp¦øD´¿>yÝ!û”½ÐŒ_ia¹µ?7Öšdv‰<= Fg0¼Ø7>XéÑý€M¾¯ü£ª?'C=(cà]æ•C>Ø'f²•?`­üÈÝ¡¤?ñF²t¿hî¾A`=u= Ày¬¸ì£?p ÁS[íª¿P²´% ®¹¿P-9ÞÔs²?ˆ™–çÁ<½ ‚ù´ó³?dë/ô¤|{¾ÀxÏ¥ñtü¾¨â;M°Ÿ¿®’ßHTùê<ÈäL®i?Æê1·¾©½0ÒÂþ i¾H̆Ù«p¾T‹dÊ[=Ù™ìCá–*<›qõôæ#<0ÞtÞg2Ï=ö$Á´a>hà“ÊÉ´a>€å¬OC?€·uþÚZ?ÐëwsþÚZ?`Ch¤ªÅ„?Àݰ°Éé¶?7y°Éé¶?@q|ަ¿@€’"l¿€Ñc"’"l¿è«…ãüŸ¾8©¶ € Ôº`ªÈ:Eí:Ú)F|vù¹…Èt üº®&pÆc¾ hš{>é*ÝœW "<ä}Áñ ߀¾@¹‡t;¿¼ˆ„\µ•?(Ç¥@å ù<œóKF`,¿;3ï›¶JÖ¾vZ@¸K&Ô¿@=¾Ö¨´í>û8&¦e[á=:{-¶Ìà¿ Z¢õ\#ÀxâLDvÀ@2¼Xº06“©‚k¿joÙ•ò¼šÃ‰ÿâ•¿Ìÿaè—¿ +‘ùuº=Ôëó—XÚ¥?€« aBI¿P»ÂAô%¿Ò œëÉN=N’q¤r&?ˆCNôìTö¼RÕñ·²=òIÏÁI%®»:†r 曽@Ïúˆ×»ÌWvœÏ7~¿Øô.¡Ã…?Þ^:^`=¬¶(Kí–¿qú'Æx¡ü¾>ålÙ¿’ŒŽ]Eâ¿ÑU'W÷û>bØKÀÕ?>àa ½©¾2Xmž'Ù>ù&Í <*L²!B¾öHðZ.7¿¤\aûÖx׿Ú0×á?AæÃÄÙŠ³=ú#D%ä¶Ó?(÷S—õàK¾\ƒ®æßk¾T¤qdS¦<*€KéqÜ\>VÝyȨFe½ˆõrK½W]kw†,¼rŽ5cX‚ˆ=ðén ?ô½Lõ•¾Îœ¾<¹¾Îœ¾°Yb[Û–¿Ž(èNò °¿FÕcOò °¿Z’) lú´¿PÙ7q‰¿xr‰¿\óX“]R¾œÅÔðA»¸¤QÕÐ[˜;¹Ñ¬˜n.»hyØ*X¤» Ì«Zúðr½T!žÇ6ƒ= Íì…‰¼t6®v>‘½”Ø]}:»‡îúá$¾èœInX5>üQéGmž=ˆùœ~_=¾Â`!—ïc¾ òòÛ ¸!¿ˆ¾Æ:*?·nÙ‘Šœ1½Ü­àÕ/¿f#xó{E¿@Ëíýw¿ ç,Øór?ŒOD½š8½x3ðç-ƒ¿ M¶>Ô¿€é fWØÜ¿€Emqéd¿åsšHP¿²½>~!QóÚ¿xâLDvÀ ˆTŠx‘ö¿ø†ëˆo“¿ðϤǕI¡½SñN=üس¿&aDØ•¿ bKf³º¿&M:‰©¿pN§žt½ ÿ'—oƒÀ?D©iÁ;F¿àýè&x¿ðf‘8[¿è‰H 9¡=€û`Œþ?ýçê©à/¼táë¹1ð+üd_½P¸t°Öjž¾x±ŒCˆ•¿@„²‡²¿ÀÀ±üµä­?ð‰êEk l½ðÿÊᤊ°¿\_[Œ›_á¿Þ^à–Ÿã¿ _9^û[Û¿DŽZ‚¿¼½ –‡›")Ï?Ȩ<Öžñнþ½Ã6ƒ® =Ù0H™:’§¼|–ÔôX ½R”ºÑJt;pÒ"ÀïÛ/¿åH\vÕ ?tnæHÓA½Ðâ¼½">¿z¯Š^xæ¿ Å°7 vå¿ržôµýÚ?!i>$¯‡= ÚîDþÎ?”aÖ˜Ú꾨¨w?1@¿Ð~—è»J¿Ü}>±‰ì¼@ûÂéù :?ªÞ (sôV¾p†?µ=Bë¾|üp¥½fñ¾[±¤´®f|½`—O/]ù>0š»0·%½€^©’£¬½S(B¬½ æ¦2Üľ„±º÷b!¿È\y½÷b!¿à$æ; Î®¿zfÙÔÁ¿pû\fÙÔÁ¿â¾¾eOÈ¿ðÞka²x¦¿ Óia²x¦¿Àê°ðQù¾ëÅž+s“»O—Çõ¨;¤;Fí?»«ý¡@¸»<©ºo³ƒ½ôHõ*Ý‘=Ñ Œö|îü»p ¦Îú;¡½*ŠØ†#»ä&–wă4¾ Hã_C>²kv+],/=Ð &Õ¾µL¾ìY‘èÚðz¾Ø^Ù}¤¨(¿@r)EÈ0?¹'[%ÕG=@Ø„Œ‰5¿¤C¤¿8 Œz³r¿½K3I]?h^¡3=`tAè~¿@„º 9¿ÀÜ“6 ]`¿yPã’Á¿| ïöŒ°=8À·Ÿ¿@2¼Xº0ñ*Ïs?ج’ /w=`ôÇ |»¿nP§u'ò%?°K©Ø–ë}?¨ËeàÒM?1xg@>„™=Ъu¢Ñ÷ƒ¿…ˆ, ¼k¹£`0<¯ì¦Ÿ çºóIfIâ‰:¼ºE©â/ž½¸hïµÍ“¾ð„Žýª™>kÙ­b@MV½{LŽ O¨¾<²U]œ¿`•ß¶©¿@¼I/4‘?H}ÿ t‰=`Ó·× ¨¿fUŒCúûè?p…Ôê,á?€™Ä“WÁ?¹:aÔ;À=àÏ¢Í&Ç¿(žs¥½´äøt:›¹==`†˜˜Ò¶¼°"ëÎຽxV2çs%þ–×"¿ØÇÚÀf8 ¿1N³¿ÇR=_?ׄè*¿“Þ¬MJð¿ðT½Æ»ä¿žýàpÆ?Ѐñ´c•s=`PZhœÉ?JçDŒ| ?pªjãíO?#¸èûW?5m§Üü<8CÏWI¿TN-gl,o>0»RÅáö>Ç,§×ø>»?*B)g=HPÐH"¿Ô¼‰ßÚ<½àÛ‹cµ½”¼*Ócµ½Àî£}ádþPL /ÀQ(¿@˜00ÀQ(¿¿0ˆ]e¬¿@=’'êš? U½‘'êš? |ºS…@Ê?`¨ óÉð’?pÜóÉð’?ð—õÏ9ë?£Q¼¦õ$»¯*TMIø9;®4ÓˆuUJ»ºé&17I» Ú£Gxç»#2ö ô;HñI؈T½BuB6à×¼±]½Þцº`µÑÌÁ¼ƒ<”„–¶1½PÊŸô£¾ÁlœÖB=‘¯ß—‘żi4ú>!=è˜ì1(4=ÀÄë$"Iý¾Yß<­7(=æ)JeûÀ“½ÇìÎôþ ½$Ç9=ðÜ`bS¿à®O«ˆSO½†ËÁ Š¢>C!¦ßÉ)°½}%‡íöŒ°=À÷(ϮԾ¿l#EBA…½NÂ_{úß>ðϤǕI¡½‘s8•Ç=€˜™Û܀ƿŠF¸¦=Æð3¥ÀV=Pê&$v½ü„u½R½€ÅÇ™»ò—¿®ƒn'x‰„=ª÷¡[Ã<BN0êcb½z÷dÓ²= ä 8å¾S¿U¾ÄöÉæ½–âKüÌëǺ2héjþ Ý: irÚ&ÏÜ»´U¤®éº3a¢;vÑ–» Q[1èšU½¥Û¸Qþi=ØŸ€z¯¹g¾çµrw½ëçæ²œTÖ½@´ªB¤M ½t±Ô~E‘=8Ü%K:‘¿uÛÍ2ØŠŽ½ÇYØaÿª½¹íÙ^‰²·½¯‹Öަ½ÀAzÎÿò¥KG³=Ç‘¸ßE]Ÿ¼ˆÄõ`ù¾<$9DL«Îm½Ž8ƒ÷¸¼ÇžnRÌ\b¼çý’€¨=ÖzÑô€@=ð=èÒ¹—¿ï»[ãÚ~@=yL#º½ó”A²hË–=é]óS4N£½àîWwÅ¿Xá8Ÿ`FX½£wlÈY ½á“úg†¦½‚x{Ü„ö¼`„•ÔY ¿Ï$ƒa˜á¼ò+&&\K£»(U}ù1x½ä–Hµ_“½¢Ô9nÅɾUyÉâ”=YßnŽq¼D;xªµè‘½¤%4³ç‘=•²C‹+½0½v…©r¿Àø@z©r?¾/3ž…8n½@ñÝÄR¥¿ ]sÝÄR¥?A/8”Oפ½ x0›¹4‰¿Às$›¹4‰?5¢ä31í-½kj¤™;(ލä=¥°»–ó°ùÅD;nÞÇ¿;Ô·ûÎGæ=Ôxjzœ¡½ ã̶¤< “­VÛ­=_êJj•';P]¾»Û=>H涃qN¾N3çgØ/&½àìq0T>䮵âÕ€>ˆ„飮)0?°ü®2à7¿Fü¨4½ ¤A':?LV_UC*,?`ÜaOÖƒ? ÀF´}¿ÀòM¶•ËI½ð§è0Å?heWãÒÁà? ö0R“yÚ?­ž¥m§o?UoxÖ´³=€Ú}%¿É?6“©‚k¿SñN=üس¿°Òð]!•¿ŠF¸¦=€Ã\Þo´Ù¿¾w+dÐ¥¿`øÀt軿`_5z¨èª¿¹™*'±˜d½àÞÈgP¼?ÆqÔÑo&¿Àj8`Ù~¿ h¥/°„¿‡J£f^b=ȺVÕ\€?CÛ·pûÈïh±Œp©¾tŒÞ!O\a=L°2ó”´>ÒÞ‹OG•¤?°†Î8KS·?P;&wú´¿”]\Oj½ P“yÙü¯?@Zz†8ÙÜ¿*èä–Ô¿Ó]ä ýÇ¿l-J;¤Ä²¿èª;P†ú¥= oûú·:»½ýI8B½<fа¹=Àˆ’åí>xGÔùzB?Ð6ÒwO ¿•îvÿ¢«1=¸’’Á“P?kÄßndÏâ¿E¡mKØ¿€eÛ}…Ê?\ wü™—=àL‹,–·ª¿´VCŽNÚö¾Éa6#A¿Ð¼!–¦HL¿áè{§¼½¸³ùºk1?º%ÂY$v¾¸l¶nçÿ¾Hóð¸º"¿’ò¶ñ¢U…½H빇Zù ?4¬ì™¾@= {/T¿Æ=ä] ¿Æ=(Èâh×á×>@Œ¦%+å)?pÜž&+å)? A¢ö΢?PÅbþºÂ? ñ9þºÂ?8—¢Xýiª¿ ÍdP‡¨¿ ðdP‡¨¿ÐE£o¿Ó6„U¼ÎŒ»P•¼i¨;O€wäX²º3bÚ^#³»s'ÒF€½êâ~¾×Ï”=&4,l~ À»ÒD] h¤½Ð½ÚÅ0¿2¦Î$…a?d"%Ï^ȼÀ£ñ†¹-¿joÙ•ò¼&aDØ•¿x¢_‡—?Æð3¥ÀV=¾w+dÐ¥¿2”àP|Y#ÀPŽN91pÀÀåèåFJ?áLÏGÊ=†‘4 [?LóWÜMÖ¾@MYé#Ô¿H•ßnƒ¦ß¿fˆf§{%Á½B$¥ÆØkÆ?|7ˆ‚¾|z0Qr>­x"ûÙ¼`º=79l&¾V‹¸×£EÀ¾dZ¿Û Ñ¿€¬Ï—WXò>þFë>+tA½|;à‚¹ Ý¿œvC;Wrºæ€#û47¿¸UJPðM?òYþg¬*=hÊ×µ@D¿PE‘~€z»:_¢N—pa¿V•à1x¿ á qsv½;¬7¤H¿DþUíH꺔‰Rß®O¿(Jû ¹_¿ël›×K=Q½–”Ó¶³fa?Þ°BƆ$½˜ãR%Ɔ$½ÀCc=#½¾:ˆ*K~¿ÂR‡*K~¿$ww"¸©®¿6¼{v»å¿â,…v»å¿øÞw¼Ó\¿3B]:´~»× ÂU1“;¬Õ6ùnÝ4º­@<„qö¢»8?ˆ¶à¼Ú,#$ËDõ<«ñ"¾><#Ó4q€Äÿ¼ åm†®Ò»8%÷ Ða#¾ Ñ#1d®3>Žƒ—t¬\s¼è#³–½=;¾6;x:Ù€½ø>N“´u®¾h?:_ÃY´> ‡Þ$n¤1½è|òH¬Ã¾Þs×&¿H”o÷dZq¿lIã×b? ™ÐI„…=€8D›çÙ~¿šÃ‰ÿâ•¿ bKf³º¿@ o¡¨š´?Pê&$v½`øÀt軿PŽN91pÀàõ#‹ oõ¿ðžíw³s ?\Y/LL|= 5ØóOP ?–éèBE2Ô¿ammæÝ¿€c<_>9Ù¿M&ß,û‡‘=pšªt}¼Â?4>÷)–,½¨7F4¦<=]ÀíËU(`¼hËÉ gI½H`Óæì¨d¾À™´Z¨¿XXó•çP?T•`ê€ ¤½¸Üïe’¡¿ÃÒdÓØ¿pþa$Þ¿@»&Fã‚c¿æÑ/«Ÿ½`§SðØ¿‹`®U»—‡1¬Ö‹t;#3t›»¬)mªå¶s»NKMRBô½¤Ô°ß$¾¼loéh!>ùÂáô1<¬GK£Z‚>¾Ö Ǧ"΀¿À9?:!û˜¿€uÑ2RÞ™?Šò¥ú\îE= ­Üï7{‰¿LÁ8¢Á3š¿ ãv\7±¿PBÿ/³¿¯–H0²ˆ½ðå<·©—¿†²$mî¿à"–ei§¿€õ›ô¥0ž¿ 9Ó©xÊ’½°ÞÆG½§?kÜ-–g^C»Äu˜jïÞ÷»mŽÃ/¾ ø»ÀòX–*º½X¹5n‚L¾Ø vL¾Èð'Ûv5¿0]3 n`¿(Ù5 n`¿7hœÜÿ¿04îßXâ¿°îßXâ¿!0Ìâ‘¿ÞâÐñv˜•»ndhôóª;píÐ ÃPº¨ç¹ó¨º»c°lbÙõ¼j_Ù'k¼ =$/mžŠE<ëCïeؽÕö½óÓŠñ»DÂ"w{ 3¾4¾NnUÌA>¸ìZÒ¦}¼àn¡«§¦J¾?ºÉ•½¸\ÆÙv³¾P´°zÛóµ>Û¡µÕ|9½˜lãF‰ɾÜzûó»V¿øqZaLc¿€v«GëÔä>Œ_¬™&tl=JX̼àp¿Ìÿaè—¿&M:‰©¿ >ñ*Ïs?ü„u½R½`_5z¨èª¿ÀåèåFJ?ðžíw³s ?®E5DÓ¿…étÁø7”½ Ù`ì6‰?QX޵½ß? øshùÒÙ?€uÒdÅ?Â*Y\ü–½@+[$» ½¿pâ: e@½h4ŽÍN=4  ÷£n¼ˆb9÷Y]½nL@¥Š¾x¾àrKôáx¿(m;°†Ö?"ëð÷;¸œ½ U¥ I#¿¡<æ¾€Âj¸<¿`:¤PÁ¿ ç ñ̰h½ü.˜ñÍòp?V¸w¬jær»¬$6Ñ;Úî´3æô!»Ïû›’+‘»žÍ#‹²,+½h;_'¾H¡ªtM>j±Í†›J<ÈT¬†öÔ@¾Lœ±Âý‘¿Ð³ÕèM¡¿€çâ=L9œ?¦>ë„ÏãU=à¿%2ƒ‘¿€Ã~.Nû­? Øìþ¼? ¾¨|i'»?Ð?.(BTe=Øø€ç—~£?ôÔ¾ å™?>œ·&“¬?à‘éû}k™?‹ ïÚ„½@Ôui‡®¿*mHk4Q]»»„ªZu« ¼1ô¾BÕ ¼ð·¾ìÐÁ½˜WBtZ¾xÂ;tZ¾p§Ÿô‰=¿ÊlÉRB¿SGÉRB¿ WFͨ?àcºgÀ¿À?aºgÀ¿ÀÏôÃâ~—? 4ùnÝ4º‰4ÏÃBéE:åÅM'}Z»Iöbž<Zºíw¹ÐñI»æ~é"¼­bó÷PV¼V¾e@³â#<ðñOYèêøº¡öd´\s¼9?ÇR'’‰<Á¼õ,Ï›ž.¬½Š!šzu9Â=`Æ­6ê¾®Qº«˜êϽ@'õSõs½¶5»Ðý½â¾Ð̰h½@ 6a ¿¿.uò$Ëx½U1"™•ÿºNuTè/à;l†H%¼-»£s6ƒi²»VºŽDðž‘:n÷b³â¢+<$•DÜ«4<ˆiiœv޾E7rC<`€Âä¸Ç<›MG”©1=àƒ —˜[½>'qH¼x¿Ë ÁP£$=NØW;¤½»½X¡Šòp½ÃTѽ@v*PNšŽ¿w’R:Ï~½"‹_Bu×¼*]¢H*‘½n¦q$å ¨½ˆe?W7…¿^…ü[ª=IÐevÒ.óºøkNµY4Ú»ËùRiÄŸÙ;›±‘¶‘¼wEó¸1¾È8ª߸1>I\Š™öê¼ÀB²Q?¿@â±Q??PÛÆúŽiu½À“ˆä¿Y龜ä¿YÎ?ýïÂM­áF½r)ˆ™¡;ÕÉK5üµ»îh3UñœW:îóè–Å;ËÜD…=,#Y>ÂI½¬A®hü¬¼ 3= ™uÂÕ6ø;x©É†y;>0知÷êK¾@YùØ5‰ºHŸ}C!¥=8bq}cÃ>ØzœVÃàɾG,äͬ= ¦2…¾×>HHi¢ß?ðð•¶V•~?øü§öZp¿n]ì>q±=€l»Ü‰?Ôëó—XÚ¥? ÿ'—oƒÀ?`ôÇ |»¿®ƒn'x‰„=àÞÈgP¼?†‘4 [? 5ØóOP ? Ù`ì6‰?Þ õø-”=:ë³E†Ô¿Ak%zÆ¿À÷Rº.‚Á¿ “tº¿ÄáÜZÞî~=ï¾Eg¹¿´r™CÍL=TS½[“Ñ\½}Úüδ{<\³ìmci=Æìº28„>ðÔ¸¼0 ?è ι¬#¿XÙD ß=8u"Ê›-?ÆI‡Î)¤ä?@pÞÊWÐß?`IæjçÂz?±;Ÿr~O¨=7#m¤ãÌ?®,¾¯“ y;­g?¸—»ð’^dÈ';è-žÑú€–;W›–?G=À|5ÅwC>`Ôð0@¾Dqù˜R¼ŒÙ2~Z¼[>wô@[ˆ?Ð^½?¥š?3 ÍˆŠœ¿Ge¢i…J½À{V^Wv?(#&†-€~?ÀúòQÝo?ÑÝš'Ú`?ÙY(Eu½$òO®•“¿ž×˜ºÁ󜿀Äyµª¿¡È[ST¡¿§Ý²1R„=PfÍjm¤?4!É›d;ÑðY[fÆ<¿ôqù<|i¶’+™Õ= ÆBd“_>p?ß}ž_>pG®hÂJ@?€ðV3ý k?ÐE3ý k? ãå®Ä?àÂíBð¶¿ 0íBð¶¿@AžÜPŽ¿òS‰°c¾}ím7Øv>öDwa~2¼¾V˜‘Ôe‚¾D©iÁ;F¿nP§u'ò%?ª÷¡[Ã<ÆqÔÑo&¿LóWÜMÖ¾–éèBE2Ô¿QX޵½ß?APÊɸ¸Æ=Ak%zÆ¿†}ÚELj#ÀÒñ…'Þ‚ÀRktSIÒj?ÐÚ>)gû >ù{‘¾•"?™A,£•ô¼pbb‹‹!=<*å“j»È@i'Ž„—–Ün2±»ˆdN2£J~¿Dæ ‘†?IÝz¯3=0­P†ë"¿pR¥Ö]Á¾=¼´ºF&@>% ÕÓ§»X”“º?È1¾ˆýÔ:¿lˆ×¿ ±SóÞ¿ðR ‚À/¬=ˆmù\8®Ù¿<º­)²»¾ˆÄ¯‚VË¿@©B ý¼±¿N<¬T‰ô=âVxñ×?¦áÎãuô½Ghàœ¾ˆVEhàœ¾¢ÁkP'–¿\ChR°¿p/’R°¿,/]#å4½¿þƒo¡\»ƒÜI=´Z;Øû»‡D!»Qñ"S¤”¡»$/ìûÍñr½ XœRÚ‰=°D¡yÉ•¼ôrn#¨Š½óWêq!ó»D˜ç¶šé$¾ ;ç¥Ð—4>kù\ß³.½(†G­Ðø=¾ ²à} c¾°š³åvÉ!¿X'h¯˜¡$?³û} -ª½økŽ¡ƒ1¿€« aBI¿àýè&x¿°K©Ø–ë}?BN0êcb½Àj8`Ù~¿@MYé#Ô¿ammæÝ¿ øshùÒÙ?kTu’~ñ…=À÷Rº.‚Á¿Òñ…'Þ‚À "´3çö¿–kWµ?è`Ð.‹=Pw\cJ# ? RVÓÁ?¼kTU¸Û« <Åe^F´»ÓQÜλ'¼æü9æKv½Ø#@L,´ˆ¾h³Çøª³–>¾bðe(‡q½øs•/›¾†=!nºŒ•¿à¥RE[@²¿ ±pXš¡¥?°ÒoÍ™4a½`xä°é᳿žýì£`º4™6÷¼ðнðuö,F°“=? AbÛ¼Ìø-<%.¥½Ð+þ¸w;°ŠVv´ú/¿ð^ÝÓº;?¡—Ï1lñì¼°={Ãk–+¿@R£°Ü…æ¿°Èþ$Öå¿€´dZØ¿NKGYk´½ðßDVÓ¨Ô¿.@â=ß¿˜>+1?à¿€×9Ç/I©¿¡87xÁ£½@¯P̈Ì×?ZÜÈõ»üžB>ºø»$8Ô²%½¯`Õž¬½h ƒLQ¬½x Ÿ¹Ä¾s(ë±}!¿8ÿ(±}!¿€“ï?]^¯¿zŸyÍæÁ¿P£ŸyÍæÁ¿PT˜ª¯Í¿f¢UßøÆœ»kØÙ*ƒç·;j#Ø:(8»íßRÁ˃½»DÑELŒ‰½L뵤ú¾ =¼Ò \€<(‚;M磽°,˜‹¸V¼pn÷¼“T5¾ ÆŒ²tC>.Ls) >½ÈÑ9 ü‚N¾8²<Âv¾ÐˆœŽR&¿`M?Ž%?C1âUÁÞ»½øqGV6¿P»ÂAô%¿ðf‘8[¿¨ËeàÒM?z÷dÓ²= h¥/°„¿H•ßnƒ¦ß¿€c<_>9Ù¿€uÒdÅ?øÛ‡GŠm’= “tº¿RktSIÒj?–kWµ?ÀàbktÜ¿Ýe,$Ô±=ˆH·š¼\«¿Þ›Å,È!¼Ð˜˜]RÓ8<íÒǨ¤Ì»rß“¤A¼*!;FrË”½`U¿Yš¾°j6¾$e¦>¢´]ÈaI½ŠQÇyݬ¾ÚŽG•?\¿]ÅJ³â±¿À»l~Ò¿’?È®@éŽW½PW¨ y´¿?íúín zºD†õžD›½ÎHõšÜ¡=7Qßl±ð¼TÊ´jŠQµ½è`fÒ“Øé¾Í#ÚÈP@¿Á#¤PýI?tgR>Ã=°ÏÛ`Ð;¿®ã&Ž’¬ì?€êl½«â?€„Q_’º?ØZuHƺ=à,ãÄW¥Î?B¼²À{îÂ?`©yæÐ¾? Z:Ь>À¿B­MÒd=0gÀLF´¿å •ap4»VKEév3»Hª,ÉÆ¸5½\ÏÞ1çÁ½@§ØÒ"èÁ½¤ñâVÓ¾ð=ݸ` ¿À‰VX` ¿G [²¿ð†vÎ!P¿nwÎ!P¿PêXÀ?Ðû»‡D!»÷OI‡ý@;­…¦›AT»Û[)Kö>»ŠW†ðb¼^ÚO^þœ< å¶íŠT½õÐR›Ÿ„™= ä 8å¾S¿‡J£f^b=fˆf§{%Á½M&ß,û‡‘=Â*Y\ü–½@´˜ÇË“¿¿ÄáÜZÞî~=ÐÚ>)gû >è`Ð.‹=Ýe,$Ô±=¤2o:âÈ¿“®~ð8ð¬½îÇý›B±»ÿý7"Í•É;¶¥“É›WÜ»tªEôл< ÿÐÉý»eöKËó<½õiÍòs°=ÐÏ]àÆg¾yëÈÜî†r½†Î÷ⶈ½ÎC‰x¢C½Ê}¹-x=J=€1–—ï‹‘¿,4›œfJ8=ÙÐJ«Î¸ÄÛwíÔ¼v稅¼Õ<(0D[,¯m½'òJþÔí¼!YÛ!@ú<'òõA?‡›=¾Þ:{w=p¤Šéº¿Ì‚µÛ«š½»=³hukê½v|XU% ½¡j }ñ•½g4É ìÅ¿;g9¨½^À·Ô¡C,½6þŸæ¢¡½è‹T#‘…½€mõjÀ¿hÆ¥3  =°£U #Îõºü難…€é:çŸ=÷Ü]¼X@;…JÜ6'qˆï‘= ÍN܃=Ào0ÐY˜¿ Ê+Y˜?g]ŽU½ IW rš¥¿ ~Y rš¥?à4]“§‘½ #_«=5£;LöþÆ?oÀ»cê‘WÁOE;À¾Q6*[Ã;$ÐâD\X=0µ—MФ½O*½GËŸ<<Bݦ=~¸+K<`-O.Y=>°”|¤ÇÅL¾³Êaî‰M=hnZWf2T>`‹Z¶ÊS‚>óŠòÉ1?3†3ŸÁ3¿ZM®!§ÏÌ=ПP¬Ó”??N’q¤r&?€û`Œþ?Ъu¢Ñ÷ƒ¿U¾ÄöÉæ½ÈºVÕ\€?B$¥ÆØkÆ?pšªt}¼Â?@+[$» ½¿é_{Æ4{½ï¾Eg¹¿ù{‘¾•"?Pw\cJ# ?ˆH·š¼\«¿“®~ð8ð¬½ð¨*B_Ý¿ãL˪µX)<¢ÃL:l0B¼ïá)kÕ;Œ:4šÆHÀÇóœ<¼«¾Ù¬:¶Í¨z=¨â̓»´¯>D}ŸA¤?°¾â7 1´?øÖÜÓ¨¿îgIægWl=ð[Kíd°?-CüC ‡:ld>«=ð•~P¯´½£ËÕ8Ìÿþ<¼”øF.Å=vAá‘&wÜ>PÐ,õ/3?ˆ¬5 *@¿zn(Ô¤º½` UŒr&?\:0p}è?Ð>˜|Àß?Àí Ø•;Î?¨Íà:–®=€´põOŠš?€ F^~鿤¾è¼àâ¿ G–ëÇ>§¿pžÊc製`”ãS6•Ð? 4lÏÄâ@;о¥S·q?;D öC=ÌθæG´Á=°S¶µÁ=˜þø<ç*Ñ> ²Öz[Ã/?0&[»ZÃ/?ð³Ç˜é°?ò²™?`g²™?Ð,ÖÃ#Ê¿™8 @À¾XU¯[n¡Ø¿ Í:&ÖNã¿Àø+çಽìñÕFWOË?dN;jiØ»Ðë.õãj•¿¨ix¯U6œ¿.Ë6„gr½VêÄžKw¤?»÷£æ˜d¾ŠE£í«x¾Ç#¡e!’¼†PƒË'„>¨Ev½cqGÙ˜”½f¾ó„-²¡ºöwz·›!˜=ô}˜øy)+ÀÎØ‚»,N Àð ÞS!?%JѾ§þf’¿BÜÓí\7Ö¾¦)yºPÊí¾†vÇ ¯„¼Ô4~¨©jï>¦n ݨÙy¹¡7Œ;¿Íåý Á#¿óhü2ú%½z–I=A^U?Ž Ž7³¿¾O„ Ž7³¿Ž²z©ô8ì¿fV§¨ô8쿼Š÷§L'¿pž.ÍPþŸ¾ %ÍPþŸ¾Óv@—X½¶Ë1¬½ëпP~Ìú€Ü¿ÐÓ?2CÜ¿.#—ý}ɽð%¬>6~Â?dìÐxP~¿Ð ×ëv°±¿0ŸSV>B©¿P¦Þõ=‹9˜Ý¶?ÓÂv¾ ÆȲ ¿h‘\z7¿ÉjãÒP)½¨¡nñŸ¤?Ÿ˜¥jö¼x¯èÌzˆ¾H8t8š¾}K5¢¬Ñ¼Pë¢éž>´ŒhÒ„l,½ðk¾LÓŽE½/2%ãlÀ&¼4 ê–ìH=„Òè:¿ü»ª• ²Ø ¼wÊ™fWŽ;A|eîÀ|<ÎØ‚»,N À‹ØØ<ø¿à¶44¶´‘?\{ÝÖvøÍ=pÄWvÿf–é7UFÖ¾˜IƒÑl[¿`÷¡¢Ïýa¿Ør6Ö/?½ !;µõb?è–z£C¥½ìgi±ÕZ¸½M5©w\°¼è“`U¿“Á=ìzYŸf¿ðnÚ w¿À{øú÷M¿±d”Ö×G=¬Jí²T–?1=(wÁ s»ÄjÏ3ê ¾|=|Àë0!¾'Mfã²Ëu¼ÈÃô¾ù>Ù2s#À¿€›s#À¿à/”™¶Šä¿ E™¶Šä¿°æÝ!Ú[¿ðìá?̪¿p$À?̪¿0F‡‡' ¾”þ©]v½ •óv½è;a­ *Û?ô¾Ì}òÕ?`ß:ÞöBÅ?âµØd9tÏ=€A>ŽÉ·¿DCBQ§…?ð´mm ­?íÁžè•?ˆµÚ …(j=Àÿ6™bt³¿Ö˜[} L>8O¼÷C?ðˆú5p?Äì¯ÞÅ3=°mE|Àd#¿æ3fsë= ”ÍPÂ{–>JÅe+¦>LmüÓià<0ÞÄÆis«¾ ê)§ã C=P0<ªXß[=uÆÇC<¦M¨C­®`½O¦ >ÐM’™b?h¹´¥˜ f? ì‚ó!D=#èJ¡j¿ÜK–^¦ú¸=¸½é-½™Ê=è<ú#¿³°<‚Âñ&YÔ½ cugXëL?¨~w4“q?Ý¥‹Þ8u¿¸µ{k}NQ½ [ õx¿Vv0œèKÚ<‚Ò¶ Ä~#>Trä8>òò±Ý%:˜êÏ5‹=‹=l±°X>‹=¤é1(4Ô>ÔüWîÀ½PR#tŠi†½@ÊQØI¾¿Å ï³pL¸=Où)cï'µ=`pgÈÀ"E½Jú*$óÕ|=Tµ¿¡‘¿h«7Þ au=¥ EøмFAçz.u1½¶â)7á/7½ùÅ‹ë×龚•Û;jJI=Û;«'¡º­ Û†‹Ô¼÷XCñ\Qè¼SLQí‡g¾œùcû€(ë<›;iÄ„/<ØÑš «@¼È zŸs½öì­$N<-VŠ Å¦ÌºQ#òEW6¦;ñ»”ÚØÙ»‹÷d bÇ´»%JѾ\{ÝÖvøÍ=* ºÿáå¹=€öXóÙkÉ¿ÌSˆIel£=ø«jyéæ:¼pç ¦¯d@½_:–àÕ¬H½@м¼Ò7¿§ƒÐêlÛa=&~õZ—¬p§IˆºËŠ¼Ì”‰TÙ>\½ð Á*<\=8ÀŒ§N=ÿ°âVt¿pŽJÎò!À¿@: Ò_yp=` ©ä‘E²¿Ì?&n¿àå<4Í*°¿`6j|¸c§¿ž îè†=*˲ãk¯?¾mÙdÀN&¾¸àr}-@¿øØ0"]#¿@êO“2½¸ÜåŸ%-?Õ'ÓÓ½xx.çÕíš¾g;°`•¬¾¼ÐL3’3伈>´d¯>¶ÈÌÙE½Z.] É`½…")ˆÄ%6¼H¼©w£b=yþÛ¨Žz¼0)ùþ“í6¼î’l¨}Ê©;ñÙu=(Ã><§þf’¿pÄWvÿÄÔL} ¿ÌSˆIel£=ùŠ`˜¹¿Z(¯ï¾èÁÝϰuc¿@—F¹fwj¿W–8²>H=à¯ø,Aùf?½‚SÁ½°|®/N‡Ó½éïÿ.ʼàdŽhÛ=½å_;¿025røJ›¿€&©Ž‹“P¿°ÿªg«4`=°ÑÉah ? ‘5¡ŒÔ¼½‡åk7¾ls×ß¹4¾,w«»ˆ€¼Ì"Úÿà_->œ®%Œ£™¿èT„%Œ£™¿ :;ïÙÿ@8HïÙÿÀ5râH‘W¿ gÞ H ¿3ÎÜ H ¿ àJí 1¾ žÇEˆs‹½äìA1t‹½ –ÒvžÁ»Zœÿn“¿7ËMÂA•?V«*Ž=°Yƒž$-¤¿ûsâw™ü¾j€t¶Q῾ñ‰ çè?v†Cqœ\=l’výÀÜ¿ú)¼%%BÀ¾*W»ºi¾Ø¿€ÀQÿÚ¾\ä<)T=:6§“ä?s7ü™Â˜×»lïÃþU{•¿:O{MD¿¿ëƒ…G¤ =¾ö'Ð#1¤?èàÆIPžd¾ð—ºŠÌ}¾@¹Gζ¡»nÎp á_‚>ˆ ëÕÇSv½)ª'½ê?_léÀ’;~f;=sÌ›=f–é7UFÖ¾z›ÊöÝí>ø«jyéæ:¼Z(¯ï¾ÌÂÓIÛS+Àx9øu À€¢Á †2¿q™ø;ˆ±=À²¬6K?„Ò¯4µ¼°'&@Ö¾ò(m[дã¾X b¶Å^2¼ ƒ!F¼Pó>…Y™¹ V»„Þ/ÖÔ¦u¿j§Êf?ÆÓSí4ãñ˜µË~þj,½Â„Ò†L@½†=INÖ ¼ jVRŸL=h¢ÚÖ¼þÀ;Ï&!¼fš¶Ì–h³;ÔÜã(<BÜÓí\7Ö¾˜IƒÑl[¿ÐM’™b?pç ¦¯d@½èÁÝϰuc¿x9øu Àà¿jnâåù¿8hŠë§¿&–I€-à=À÷ªá<"’?&c@ûŽLÖ¾Õ+^¤3[¿8Aý!ÔæW¿ h ×n½èûЈÐpg? Fg’¥½¸ð%U¹½Ç+Í%éß¼ŽcÕûXÁ=Š µC2ý“¿à¿Kw²¿ ûpø\„·?êÒ~¬åv=!VO Š?’É?œ f¿ :Ç´(ª¿@T«‹¤ø”¿h²Å*“T½àC¢K(?¸/d&m ¼Ðk¶+ô ¾4Y ¤ ¾7,CŠ#x=ÔØ9I“$>ny<ž^Òºú\¦wMLðºS+q›Š¦‚ºQ‚­ýô:€ê•Cœ»ž¿`¦—Cœ»ž¿ D¥}½h¿àФ}½h¿°;CqIå¿€Å2Ö¬À¿`Å+2Ö¬À¿°cäHv \¿hGdÍB½¿à£*½B½¿ »¦¾˜ïÀ?9ãu½¨ p†ãu½šnOKƒT» äAŒ4¬¿³b? «¿@åþð°æy?ÆZ3@t\‚=€—ÿ(´³¿º B-â¿@h¹+`Ú¿£>ëÁ À?Éï2Rù%½=€SÍõw•Æ¿"ÆÙ]Ë>&i>Óe¿ *eéUÀ¿¨ª ƒ¡óp=l+®¨f;{?(äËøs†?€¡1Öò¦¤? qè(`¯‘?Î&ÃE?}=€ ÁF,r§¿æ{Ãáñƒ >òÊh¥?©]ST÷?=57…Õõ’=Àp¶ß¬ñ$¿O'wyû=œŠ*Åñ‘>pxœèj™>’* ]nh½pa|¨•V©¾ØæÞÙw<=üLb’4›N=ôÊ5Ý5+<g[Ë¡\½Ô>79 <ЊlIœª7<ŠÍ/ Ë»g„ú?ªA¼¦)yºPÊí¾`÷¡¢Ïýa¿h¹´¥˜ f?_:–àÕ¬H½@—F¹fwj¿€¢Á †2¿8hŠë§¿#ýBÖ¿9°Ê ËW§=è2k\ž?„~¥Ì¹¿ã>ÈŸGï®nX?`œ²5IÛH?‰.Бç r½ðÇäFüd¿ä Ê$Z¸=ð tË—Ê=°ýL½<bJ{N‰Ó½Â¢Bô ¨¿ðáiÄ ¼¿ß]šC ¿?–ʯyö‚=¯_/dNp”?Žy¥J™C|?À fí§˜?à;~¹ š?hK†±¬·e= ¾}ùˆ¿PP·öAÆ<<q™ín>äœC ýZ >j÷r½½”ðƒë*¾gc%-8ó:bøO¨=;ì¦C×£: rS…t»Ð|*‰›î‰¿/‰›î‰¿ðTíÏ®šo¿0b$Юšo¿ ¬lE5Ð?àþ™˜¿€" ™˜¿XUt ÌA?1èÅɤ? _#„ɤ?X¯äW=*>høv‰L¬€=¤ètš¬€=Æ^RoE_;Ö7Øw=š0DSUA~='/‘Dp½`;ædd¿ØÌ¶'=Ý Z%×Á=†Ža ¿=iè×û¾½Gzºá’¿«dTÛ^ ¹==qÏL ä%¾Þ±?®© Ó=ä…áóp=@ê-˨E½¿ø*n,7ؽÔó34 ù7½â=Ù™Þ“=t{Ûj2Œž=P¤¬©ð´¿þ¹Ü^3Ì›½&Kµe¼¨ç§õ –i½Üaéc–0=àK <ñ龨;I„‚=ï£h–yº÷p ÝÛ½ÃÜêÖ_6w=˜é%Vg¾‰h苽n£™>¼5¡…Õݼèލ\Çu½ˆÐ—Ã)0<›åÁT½…u»lpŠÇ;8Ñ;»VÂÓQá»[2ôëºØ»†vÇ ¯„¼Ør6Ö/?½ ì‚ó!D=@м¼Ò7¿W–8²>H=q™ø;ˆ±=&–I€-à=9°Ê ËW§=@…õ3.¿”[:hæÒ=`#Y›Û„)<áNá2Ñ`=ÓŒ rf‡½@Z„¦êï7¿¼Õ&í„=<›ø—jß¼ $¼5à(˜¼´Äµ¶¾x‡½ÁØpÖ˜>·<6c¦Íd’À¼¤[þòx=ìÐtl2½€åJgŽë¿ ZZ±ÉP=,f¿¤œhļJ½¸£üK½p‡ªÈ “?½àWVÑšºq¿Oºòà )½ÀdÔUNžºô£úc›=„«9×°=ÈyÒfS°ë½­Li¬6½ÚGZ–ï)€ºÉô‘Õ•eº"èþ„1­ºè@{º%D¢:€#±É€¿O #±É€?àÀì©ôYE¿àk£ªôYE?Äé²-H½= wÄOÅ©¢¿€&PÅ©¢?(Tnž9¯=ˆëq„Z6ó¾Œñ=Z6ó>÷Žˆ°8ìñ¼Tc™ \½hÙñ \=:Ë© þy»ˆ³M)Ž? þ戅#²?@žŽÛ¸£¿C›€9.…½Pí³OÜã´?ÆÞd†ûÔ?†d7oÎ?àa7 }©Å¿ &ÂX€V£½‚úÉ(±¿t…+:çÜ¿À¿‘9;þ׿@Ξ£5nk?èl ¦¤Ñ=À–J‘XñÊ?T'ÖrúŽ¿à{‡®²7³¿àN{ ëγ¿P¸lö¯q=€õ̃•®?šL!pë^$¾ÊxÚ…ñ¿@. ÅšT%¿¼­^ÿ›‹½ØXÖ((?d%>M9½p¯œLž¾ØTÇ5B5¨¾³ÇŒ“]= E#´>¼Ñ†AI½Á%Áïî\½ô×h¿ô)¼4„›•(ìh=±‹Ëæ%¼wÈ5MÜo@¼äÏR0ˆÒ;nC2É ©G<Ô4~¨©jï> !;µõb?#èJ¡j¿§ƒÐêlÛa=à¯ø,Aùf?À²¬6K?À÷ªá<"’?è2k\ž?”[:hæÒ=@ÉP“]ÿÔ¿–&ÒÙ<[ó¾à©Žn~3h¿˜#j-e¿U ƒ*UEn½ø/ ½Þ“s?Ý›½“Á½ˆñ}\Ô½šÑ~ Áº¼hôÊpÛ=zºZVÖL?8Ôc#]z?|‹çΘ¦•¿œ˜ÐÅ&#G= óhì-™¿¤)вk¿€Ÿ˜™WŠ¿À…§Ýµ‘¿Ô×"I˜V\½€C ËT¬O?‡Kðvb5à¼ÈmÁIŸ'¾¬ÂÿZ­'¾KÃï5@(+=wF7=B>ï@‡ëøœòºkÔ¢°Ø»l­ææ>£ºøÊüEm¬;à•…Ò÷ž?`²‘…Ò÷ž? ûqż_f?Pż_f? C>b¸ÐÃ?`ïëɶ޾¿ ä ʶ޾¿ð ãUíf¿Å{o¡¿ ê"Zo¡¿°Þwðé_,¾ýM*½P‘½€‰#åêP‘½Ó& Yr×x»šÑJk¦p½ê1ÌüE…=ÄÇÛ¼ÏÆ˜”½v à,žFe¾`X.Ed|>H›¬¸=°;Þ‹…<$Õƒ¾þþ*·Ã»\¨„DËt“¿ì'&yúž?”¯õº„=ðî¨þùÅ ¿¤æ¯#«œü¾LMVá¿$Þ×JÄûÄ?+· ÜR=,åÑ+…Nì¿´Ð4ECÀ¾¤tZ „ÅØ¿hºû[ujã¿f†”¢_?r½@A7Àò€Ë?6³^û'’×» Íkü.•¿8wkìTœ¿ïOfõàX½†?§sޤ?(‰Î0ù¢d¾h+ûU·x¾ö¶GÌW¼¦ÿ%žN2„>„ɽ&N³v½Üg×Ò›.•½‹ú}ï‘;ˆ£Ò5ؘ=„Ò¯4µ&c@ûŽLÖ¾„~¥Ì¹¿ã>`#Y›Û„)<–&ÒÙ<[ó¾¨âEù]+À <èäx} À€9Ôƒ75H¿Ó(ÙÓ/¦= ÇJT¢ÚM?µ•É«4µ<…ÂÍJEÖ¾v³n5MÝí¾[[:õ·¼ÐPÀã€ï>•t‘ˆo½ sÅÔå”?=)ÿNg±ª»>±–¢Þ:½Ê,XW»—Í?/­u¿hû¸Aor¿“•mBî†T €e X½ðH:¬ D›¾dçü!8ã¾ðÃ@`Τ ¿`‰=¹v?Æ\7„=x±†–¿Ø˜Œ°‹z¿àS ÿ¬²¿Pйi¶´?¡ ñ?V={ºúí籿pˆá|ÜZÙ¿€Ž2Ÿ–Eã¿`1J$w½?‚]>±×·=ÐD€JVã¿Dž ýп ¦Ä‘jÝ¿a¯;Ý¿\%ñ±øî±=pEâ…IÜÄ?à6â¢(~¿ anZÊα¿@nϪåO©¿r_f®ÁÉa=€Ø<å¡·?ÖÈHòš{¾¸6ðhæ ¿Èm3|“Z¿XÇd±l½°MJž³à?ž`?Úu÷¼ƒ:4o™ˆ¾ ÏR<š¾¥ÌñY±=€6(P>ž>©²Ôc,½ü÷­.ü›E½‹‰9å5Oîq‡=X–¯lC¶¾w¿7‹”¿82rc眲¿C1í¦¿\û7KûÄc=PˆB±äHµ¿JCgM‚ f¿ÀPÎü±¿¿ õ ­‚£Q¿J„[ È =@‘óm¾Æ–?¬µÙjQ¼Ðªð2ú ¾d'Èq[pýžŸ/—¾Ø_i /—¾¨7°–V¨.¾xõFe¨.¾0kq Öh¿àv”³C)Ÿ¿ Œ£³C)Ÿ¿@Í7àð€å¿°7eºlÏÀ¿@\fºlÏÀ¿ix°@&\¿xZ¸Ê¿¸¡Ê¿8³øV©$¾ÈÊÄŒv½ˆv 2v½2¤Hü¿b»¨‚õy–½ˆMÊ0u¦‰¾X¸Xô¯ø>}ïCªf`½<¿{u:ª¢¾ ô‹æ¬¾´@ö¿èp,vù‘?‹]T&S‰¨½X}’{)x$¿,YØ€|‡¿À˜›Â©¿õo¥Ò8£?®oÌí6œ½À~¬3º¿©¿$˜Õ´r§¾¿ =ˆñ¿µ¿àãœà1Ä¿4óó:³½ t/²~²¿èR½&çEÛ?àqéëñæÖ?Àö‹%0öÆ?¨¦ˆÁ~U±½€ßm1»¿€»0Ž~¸…?àr,¼9†­?à«ØŽÕ?|'4Éêk=ÐŽ¦]XÛ³¿P ‚É…“>èÂþ„X5?¸ùô.¶?S“ߨÀŠ=(ƒí¾úŒ#¿ ³!©=øõ•ðT™–>X1¾P:J¦>!ƒP6¾Ï‚½(<¹§iš«¾LZ5ÌÊC=TOÆòó[=‡³TêŒ<Œ‰[¼`½ÜÅ‘cmƒ<* £æ4<ç‘TCYÆ;¡`Õ¤À-@¼ìgi±ÕZ¸½¸½é-½™Ê=M¡Í‹Õμ°|®/N‡Ó½ò(m[дã¾8Aý!ÔæW¿`œ²5IÛH?ÓŒ rf‡½˜#j-e¿€9Ôƒ75H¿Üþ]Û¬[¿€ZEÂïÔ¿ú‹‚Â>Ôµ½€‚—‘?œªb!éí>¨ûðÉb?¨ë–­If?úõoÞo½=0Ù³Âîj¿À‚Hé¹=\Ù?òáÊ=GŠ3µ4Ä<@@á€ÔdÔ½ÚÅ?” oÛ½ø„ÑH"½¾˜¿Lƒ}8Í>„ÃpÑ_¶½èò?ìsvɾ¨qüÑŽ?àÓÛ•à—?ÀWjî÷¿d¿]sÎ[N½ èŠHã™?²I±õL?ÀIßkGSq?P9ªð$v¿FäÂLÕ€=°ýåww¿À2¶°c˜Û<@rƒ?ôŠ#>yás€õ8>Þ®·ùQ=¬ ´â3¾XÉxÝ5ü•¾Xáñ5ü•¾è„qе~<¾à Ňž~<¾ † üoõL¿@·ˆžeL™¿`3žeL™¿@¥=èο@w¶ˆ»m¿?Àˆ²ˆ»m¿?¸R} 5d?PZEBìH?”9ìH?tK”m²">(ÆlMy:‹=\ûñ¤Ì9‹=íü÷!G°‚;ÌN9bßüÖ¹—$“ºJda½fûpo5'p=tï¾Á¢éb¾á÷_tæ „½¤vÌ\¸îP¼béªÔµ½€8;?Ä¿è4º鉼½ÁäÖqü<¼sñ\Ô—½¢åý§ÅF›=çêáC8¿9Z+Kn==ºÈ\A!¥¼–šjÝ£¼|ÌÏi_|‡½ôd)..0Á<öÜÒ¼_Ã}¥¸”½‚¦åÁ×l˜=j¸M‹¾Ì!G<ž™½ûƒ`»Ÿç¼ôÊÒc<Ïx=¾€«º‡Él= ë’‘¿üËð‡ís=+Æí¯“½’á®CÛ¦Ÿ=¼Úš©œó”=@É”îv×q¿2VfäH½‘¾l“çaåº9%…fÄ0½“HRd…A½àJæ*³ë½eØ|»ù9=€ôÔU˜|¾È½;E‘|>˜V~H¾(Ú÷x[H>jÍ&6²Š@½ ñF£“¿çñ¢“?”Wü>³=@;³“^뢿 %À“^ë¢?£HìÆ§ž£½0°aHó¾0Ø–¤aHó>™á¶Â›‰½Bɨ_0\½h •Œ.\=†1˜»ŒÆ[ø=X‹â(Ä—>¬C¼yZ1¡¾Ãø/’Ï\=@®Ê²Jа>¤A¿ ¸!&>PS¹,µ@?0B¹!™–#¿ö^Ѐ_–£=¨b<'ÍR*?±RÞ?à¢/º"´¿¤A´?±½@Q˜¶´ Ì?„uVvîPÿ m8=­¡¿¿ Ø”D2º¿ˆ*¾H’= %$¬¬1¸¿ÄÐ>nņ¿\QÏF°¿Àñyè‚„§¿÷P²[?½`¼Éç¤g¯? úå3²%¾8ä“ǵt¿ØŽÊ–™)#¿xúëmíz…½0±ØýI_-?Õϵݽ0…½Põ›¾I_ý`»¬¾ ®ÅD÷m=˜Áˉùޝ>PÕó èE½r¬š²E—`½`úïGÕŠ¼¨XÂ[°b=w,©{#¼×¨õ“7<¼òÆ”å#tÍ» ªÝ`»E<è“`U¿“Á=‚Âñ&YÔ½¿Gã-!CÍ<àdŽhÛ= ƒ!F¼Pó>èûЈÐpg?ðÇäFüd¿¼Õ&í„=ø/ ½Þ“s? ÇJT¢ÚM?Pþ'ô2Ϊ?€‚—‘?è4º鉼½Ã×T]XØ¿àIØÆÐŒï¾prõ%)¦c¿JÍ7=¼j¿d6ÇÙè¶½@Z€§Ô:g?fwU7!WÁ½¤þÇÑ£ˆÓ½%¨Œr-¼P$lìrÛ==62ÇýX×=Tú¨.q¹>è³ï©I˾¾ü÷ßšÓ±=è 8£J’Ä>ð÷VÌSئ?`Â2ññ»?ø]„Êϱ?°žàÂQ=@_tCH»?ŽöÕ¨¤F¿pp~9Õ›¿ÀÀ$“U¿¼®â5ý¡½ð5j8m ?&7˜¹Õ¼ìm%K¾4GüÇ4¾R^q€oÇL½Œ kvs->h”[MMª>0CnÖMª>L4³g¼ó@>ø ñ¢²ó@> ïVÐúr?àŠ™.Uç–?Âc.Uç–? MS¨ð$È¿¸q8D’¿°‰*D’¿P¶ëðVÊW¿¸Ÿàh ¿€¼‡|àh ¿œ%ÛSÏ1¾€NÕY]k‹½€•Ì'Ðj‹½ðýñ€»,'60áœn½›ÿwuNŽ=;à™eãºj®-f½%½ˆbs—He¾–pb$ì{>v'Ï’.^Å»Æ4a B„¾¶šˆã„·Ã»ôàœŠ¹v“¿îmØ3J•?ÂßB{̧½NG¯75¤¿oa™¢Ãü¾t=Xá¿ÚÜÊ»ñè?Os—›ÀT½%.ÌÜ¿ÀQ{CÀ¾–£xðÇØ¿Àea9-ë¾[By4Ãd½¶ùäóôšä?¹V‡k×»L`}O8ƒ•¿xU@~8O¿9,d‚¦E½@ Óå£8¤?ÎÊП¤d¾¼¢ÖýÌÕ}¾cίÄ.%S¼´bfZ”e‚>¸Wr˜3Aw½E·²K~Á½B¹–ŠRß¼ÚBüœ=µ•É«4µ’t@0”NÖ¾œªb!éí>ÁäÖqü<¼àIØÆÐŒï¾Ô#DP`+À˜Q:S€ À£8t=}E¿~×fáK ½‰«°)Q?¤lôGÖ¾XïUÿ$»ã¾Ó@ø«±“¼ÒwEöéVó>݃5E꿽G=öñ¦)-=Æà'þ%cº—‹IÛ™C½¡eW'ÂUW»èE‚@@¯u¿²iÁÕ?âÉHŽRê¼æÙ7è¾0¿ñn¨$½z¹ð”ƒ©;¿ìÁð{­]S¿³iÄl˜!½È™äµ÷B?]’x5‚1½vb;EdýؽÌ*jtdýؽ¢DeÊ5&¿&š÷qn‡¿rÆ™÷qn‡¿„#5‚e쿪ͿõO³¿’¿õO³¿|zTÿ>¿Œ¤­=ô  ¾>(¨=ô  ¾?ÝÊ'ºƒ½:žIé¬où»È|2ãñ<q5¼%‘»$ibT¼ÆôÐ0½”X`²QG=ØŠk&Ÿ14¼øì}f M½Ok[דfë¼Wjd…QƼ°±Ç3Âú•¾6—§™¾µ¾ŒŽ· ¿˜$Žç¸?Ž™êBÛ< Ê-–‰…¿À'6¤‘z¿àPXÅ*2²¿6x¯¨¤?Hv͈»A„½€æJ23š¹¿\,_Ù¿ð§¤ÁWã¿0‹×x¢Íà?}½Ìõ¦Ü ½@ƒ2H˼ӿþœEGÇþпÀ˜™æÝ¿`ºžMŠS¿SŒ»³ñ‘½`j¯ÂP'ß?àþŸê*~¿°‘'Û±¿¯ébÙˆ±¿¸-?jé£{=Ðìõ]û®³?ô´—–¾x-£ÛNí ¿Ðâ² Äœ¿Çq4i”½ Y£dèé?ï°Æÿ(÷¼øª—À-ˆ¾P‰ÝìjÓ¾j¥Ñ¸uýu½dc,]}l¡>DĎׯB,½ÍÎN50@½‘©Nã¶!¼0vöD1kL=e/õý+ ¼q_ÃÐܦ¼Ù\Ò†!˺jÄo×â± < Fg’¥½ä Ê$Z¸=<›ø—j߼ݛ½“Á½<…ÂÍJEÖ¾pàÏF[¿¨ûðÉb?sñ\Ô—½prõ%)¦c¿˜Q:S€ ÀïRŽÅ<ú¿0‹ì“6!©¿4¯<è9©¹½GÀ/qñ“?

-ŒOÖ¾Ðu$-'O[¿ÀlæÂX¿634ü2=`Îs>‘‹g?è0¯)W¨¥½¨c1ƒW!¹½„¹(ᵉ¼¤âÿ[mÁ=‘š ¥B²»´…­A×Ñ;#K2k`»1‡žäOÑ»¾€LÃôFº½H¤œÑf©¾jež2ô§>ÁÙéÁ^üXÆqºÀ¾xД@”¿ÀLIõ ª²¿ ’±£Ï·?Sëd’Âal½ˆ'Œs×$Š?rYçb f¿@{ɲɿ0PàƒA)•¿ä²úk¢o½`IõØW?äßúºÖû ¾äÓUç ¾ÃØ³ç[=Ãýà¿™$>ÿ6·r8¨ã¼*(ô¨ã¼¸.; ÇN1¾ Ô,}Ÿ^—¾(å׃£^—¾pä¹'íh¿ l>bÒLŸ¿ Ý0bÒLŸ¿Ð¾\CΖå¿ðµ2‘¯ÜÀ¿`Ý1‘¯ÜÀ¿àšvú»1\¿€y¢‘ìÏ¿¨ñz‘ìÏ¿xýÏÚ)¾tº~Ýv½hI"IÜv½œW% Al»ß9<¥Ô¼!Ð׋K(<ÿOü¿e«»sÐh¼[ 3¼ô&G3BÉD½”ìå°së\=ñÿñåAÒO¼ .†ñ{³b½ ·Ž÷aØ ½4Gp‹*’¾è#2!? £>¡·\˜¡Ö<`¿ˆ$¥¾Ü õE{ò¾ ö¿8Wto‹`?tv ½ˆÿTÜ=™#¿Ub˜’È¿ µFšbw«¿€€¾ ×Óz?%bþ‰Wù|½P=‹´¿ú:];â¿€¥dª×äÚ¿àŒ¹~RÁÀ?Ã3ãŒz˜½à¡i—.CÇ¿šgYùßÃ> åÁÈÏÕh¿`#ˆ°À¿Z`!µ¤‚½P¾ÛÞ²X}?°ö?Áoy†?€ú•Þ±è¤?Àn’û‘?F Ì0Ò0v½ —àßÊѧ¿ ýoÑM† >Ú׬Lµ?€²ày?᫺€à(=pvSÙ%¿"›aÉ[=@d[u?ú‘>pÌÍ–\™>q»"ç|nf=Àˆ3”'c©¾(7zÁ(X<=< ÌoÒ5v\½|ï‘zƒ!@NýYé‡X?°Q(}×ýH?ÔsÌ«½°¯Ýëe¿ð{°3ëo¸=p@^àú³Ê= ÎLF»<8<€l{àmœÓ½GtŸy•Ñ»RŒÑfõð;Ã’+h"ó~»MyN‹,]ð»@7,dâ¸É½ Ih½ò’¬¾Øý Ä÷þ£>»^ó¸5Àļl÷$*t”¾h/¦ï…¨¿@gG¥“k¼¿ rÚËÖ€¿?¥1þ ¶u½¹ë78u‚”?œÕƒX/G|?£Ý œÚ˜?H¬1Jgš?Såy‘ûâg½ ɲ¡åI‰¿œIæù§t>$®Óð~` >‚öxkíœþ¼ Ùq–$*¾6óY‘tüó¼rS)’ðüó¼0Íæ©/7¾h™¶Ÿ¥J¥¾82 ²§J¥¾@?XAž»p¿ÀÞQ“JeŠ¿PÜ=“JeŠ¿@^Ê|ƒÐ?àþVߣ ™¿ÀÜRߣ ™¿àÆ~GçA?0DZÆÛ¿?@¢¨ÅÛ¿?xÉ,küJ*> ô4ïÝ€=ø¢Ý€=®;)´ü%…;šˆ +¼p“»‰p_"¨;žŸH.Æ-Ó»ðªgÃ1¸»Ä½¨«86¼l{À  ÿL<¬UVÓ•P½U]R[¼.Æò‡‰$Òºâ4ùh’ü8¨ÃŽ‚tï<@ÅàUõb¾.\µZœØ¼œ¦Oå]¾¼ƒÆŒ2Ïö ½CpÈ=p9À†ë¾vM7÷~½_VP#òË=©R)ŒÛ•½)µÕ‚Óz=0mÚÄ¿4q=yw}½l„è3Nì=uk8ª:¥½é”Œdî¢=àËtdt,ÿî–iPÄš½mW¼û[aÔ½xù‘ ;b“½ B_ µ¤‚½€R…ïô½¿ó‚¯ãÿ =Kg§ÏOw=ŽLgºn=ëåû0yMr=€çµÝô¿æ µ)WÎj½>—P¸¼mé¦GA—½OGTGàù®½À~Þ# ê¾ð…ÞT™·=;ööϪä0»šÅè¸ï‘{=Ð9 ù­‘½,ÓŽªg¾?êU¿<œ=6 ×CñÄ»»S©Žk@B¼ 5ˆyR½mqçñïD<¶Y‹* q¢»,P“ddåºÌ7NB6Ý»ÌíÁð:Ç+Í%éß¼°ýL½<´Äµ¶¾x‡½šÑ~ Áº¼[[:õ·¼qù+ÁŸ½úõoÞo½=çêáC8¿d6ÇÙè¶½~×fáK ½4¯<è9©¹½¤·LÓ ýˆ½ùŽÖÄ¿SÊ´ 5;Q=U€9ë–«< ;$H:=ˆ·CîÅaÔ<€€Ú‘Ú8¿Xç&_8(½×²ù൉¼î¦E€á¼àôJm¶Ž‡½×/TYŽJ5<]…¶Ë¹Ô[»äÃñj7*{;ØMY,‹») K”öy»Î¶)Ú$ó»lÈ!°ÍÀ¼óå¢A\Ã^DÞÊxR= ­ëéB7¿ ÈéB7?NDy£½ÀÅ5ð£¿@Õ¾5ð£?~ÉUEë"2½€œNÏ/Qó¾r]Î/Qó>Sa{X6–¼k_¾4H\½èõÜn0H\=¾#ç­ }»Äÿè´è¥pÒݦ¾ÿrÏßÉíÒ<ø®š¿Ú¦>võøy v%>@«…1ý?pÅz$¿oºæ“=²=8­Œ‡*?XuÅï²)Ž?ÌÅ€²? ó(ÁŽE¤¿Ô gU“=‘ÐÿýYµ?Ü’¶Ü: Õ?€bZÍͧÎ? Æ™¡”yÆ¿îC9ýZƒ=€~a—š±¿XŸþ×£ñÜ¿€Ç°ôiQØ¿€ú9þCïi?ÖÄýSY‘½€s}¦6¥Ë?|¢ ¿Ðýõg³¿Ðôœî´¿žÕp–R<…= –À)þ®?ì#³ìa$¾Èv6l¿pM®=f%¿TYO*u•À½ø&™úúZž¾à_hÜ&B¨¾a\`ùgD}½@Pû¹‰´>ôlfÙÃ'I½˜¶ë9*É\½`°‹>!Þ@¼„sÇ'ëÈh=ÞŠ‹ ‘)¼GakXKÃ5¼¨õʯãõêº^½D}W¤@<ŽcÕûXÁ=bJ{N‰Ó½ÁØpÖ˜>·8V/ò‡&c?0Ù³Âîj¿9Z+Kn=@Z€§Ô:g?‰«°)Q?GÀ/qñ“?(]kãŒáž?SÊ´ 5;Q=@…1Xo^Ö¿úúÏrÝ]ó¾à¯šÝLh¿POVŒGe¿¤†‡©©eü Zì}‚êÀ¾ |H²t»Õ<ÿTã³rÖ>ÐãË·L? qºg¥? ÌîÌÇ•¿t:|ñãL½`q‡°}™¿ÔÀ§ß‘µk¿ÐwyøÿΊ¿`Õ]xó0‘¿¢z `=€È°ýÚ`P?NƒÃæ*yà¼!-¦'¾€nVв'¾î Ž¿ñH&=T)*ôCB>ß všG=§|UÿG= ¶,./F>X¾Ï èJ£>è«-éJ£>¸|m&»c? 0‡×O®Ÿ?Ól×O®Ÿ? ÷¶ð¶kÄ?àˆö¸í:¿¿ÀÌõ¸í:¿¿Pýˆ‚g¿0¯fÏš»¿pÚýΚ»¿H{uom,¾ nànâu‘½œÞ•máu‘½ƒØï,»d­o¾ˆn½x‰ÂÆàH„=©o\xÊU;«‹Ñìž“½ÄÁ]oIe¾Âp9¡h|>ÜZ˜…õ6<¸»-EË׃¾nDä Hû‹;Ñ©w“¿Èï÷{*ÿž?_"„@=6ѧ×vÈ ¿Ÿ³~—žü¾L ƒ'èXá¿>Gâ\çþÄ?Šë2XBs=¼=S‡ÈRì¿u3·CÀ¾jŠW¸(ÉØ¿VŸŒMPmã¿1¦B{ ‹ ½äâé,…Ë?NËg|Ðò¾»â‹?„•¿$øç,Xœ¿(¯®îûJ½pƒõi‘¤?”x¼s¥d¾Týs­Wºx¾Î"½ ª=-¼’FD¶Â4„>´UáBw½R7"¢w”½fˆª‹–Ð\»Z™"šý—=

-ŒOÖ¾è­MÎhÂã>U€9ë–«<úúÏrÝ]󾸥nža+ÀpC‚í¾ ÀÀ=þMªmI¿Ö0ÇÉ»‰ ½ be[tP?¬?Þ6 HÖ¾Æ9³?áí¾ï³’ÞS¯¯¼<ÄßQ„ï>®à™àþ½Í°›Gë>=þ¿óÑMæ:Ø7 nL:½÷‰g 6ZW»ì2%âE°u¿0D.7îqr¿ìº5+Ça=8Þœ‹¿1¿o±³mz¹<–¶Õ ;¿Üf­¬dÎ#¿eÈVJ÷ɼïãë°lU?÷…"PTn1½ÞxÙ.þؽ*½Õ\þؽbã»ë×6&¿êÐæ@–o‡¿ªÅç@–o‡¿Ô3Yˆëfì¿vlCÛP³¿€?ÛP³¿¾V" ë?¿ß#ɬ  ¾ <"ɬ  ¾8r¯†ä›½P«âó÷»÷ÄA73Í<ìàÎ]ø™ŸºÉc¹‡¼N$á"V!0½À’!eÏ•C=mC.ó\à¡»$êK”õ°O½ßt1­U켈íå)¾Xå<Ð6N‹>üb)・мHæ ¢—Y›¾Lá31Ý@¾ 9ø~p¿ ¿@Ûš”9‹?Ì&Ûí½@K%]¦²¿ £Ž^ù“z¿ÍŸ ·:²¿•¯6ŒÓ´?œ«˜j¹£I=ð‹ÉCû²¿ð’LÛï`Ù¿ËË8©`ã¿`ÞH™½?%‚dñ2ÀR½à'ü5,ã¿0ºèÅÁÿп8ð邎ݿ?UFfÝ¿€í+y©”½`ÑêZ9üÄ?@Æ­`^,~¿Ñ(ⱿMãH¢s©¿™¸—„q½<”³"·?®±mnœ¾À%‹Eœñ ¿¸§Ãžb¿ï]…Þ>Q½Àyâí?iÕñdŽH÷¼x”h੟ˆ¾0„ç,sBš¾”Ÿ\‘-P¤<(žjîžEž>œKÈמK,½Ôð³ËjE½0˜Ý«F »-î§"ÇH=€œ[K"K¼øQÀá¼8.ÙJ¹º y“ý"<-Ö÷:•¥½À‚Hé¹==ºÈ\A!¥¼fwU7!WÁ½¤lôGÖ¾Ðu$-'O[¿@NýYé‡X? ;$H:=௚ÝLh¿pC‚í¾ À`)ÓvHú¿8ÔóÆ`¿‚'9 þ©½˜¾Æ(D«?p®}=PÖ¾ ¬XR=T[¿0!I§3b¿\§ºWÈ ½01c?¨¬÷´©¥½<ƒßËyw¸½d.ÈçhÝ»¸¡~YªÁ=<ÀK+~\À»öQ\äŒ Ð;˜Îé IÂPº^09ø8ã»B‡ÈÞüGº½p.„$“k©¾x¦™ »>•ð×1ìŽ÷<†5JR¶¾Š"WÐ ”¿ ö“”°²¿€bjfh¦¿úå‹M_=0XØhªcµ¿l‹Ò–ö f¿ ž&?<Ï¿ÀÑe¥4ÖQ¿+<1£îúŽ=ðý¨¼à–?-]?fºÜàWkŠþ ¾ˆn³#?!¾jB€§‹?¼€íI¥ä>]_Òî¡»'˨½Ågä¼~÷‡8hä¼xÝ[IR1¾ˆõÇ߯d—¾8B{ÚÇd—¾À!wàëh¿À¼—]Ÿ¿à—]Ÿ¿@Ú{æ¢å¿ BR=ïãÀ¿°æP=ïãÀ¿ €òu8\¿¸ú½ŽtÓ¿ ¦ŽtÓ¿PY_E'+¾tQ—_-v½$O¤:,v½å•Ú¥ Ô…»À®¬xáG¼W’Y2Ã+<¥ÚæÈ ¸ºR8lwÌ3¼Å#´A½Œ:Ç2¿ŒS=}§žùmÙbѼ°!§wç¹¢¾0µûW,°¾˜¼ˆ | ¿ ÜÞ©«?‰i¦ÐG*½8‡ìçÎŒ$¿<«LM×"‡¿À‹–¬ÄÆ©¿0y2È;d£?ðM‡Lú +½`ðW=Mª¿°¢ö𠯾¿ ãðfñµ¿ î õfkÄ¿lýi8O]=àΧÒûÀ²¿@W´2JÛ?@Ë“³ ×?À!T5Ç?ÂôN0 3“=ö‹|»¿œK”8»…? ¼ ô¦¤­?Äà'ô?Ù¤èñõY=î)4Äñ³¿ì—e>`¥óÀF<?ð<^Ë»¾?3aÙ%êY½(ÍÁ'•#¿ƒ@Ññ±í= —W×iŸ–>ðįU;P¦>I‚·€‚ ½xìfò ¢«¾La‹ê*C=t‹mÂ[=Ÿ†6 6n¼¾Ö8C `½ŠH*< u‡5•2<£;ÓEðŠÓ:{$Bzº<¼dQýô]¸½\Ù?òáÊ=–šjÝ£¼¤þÇÑ£ˆÓ½XïUÿ$»ã¾ÀlæÂX¿°Q(}×ýH?ˆ·CîÅaÔÀ¯ò›Ób?@wÆVf?d±<«¹r½ðV•?þj¿¨ÈØì‡¹=„5Ç»Ê=wDÃÚÕœJ¼@uy‘ðtÔ½Z·´?7MÒ»€!±3á;-kÍS.dºù1ç×Ë8õ»êPÁe«vÛ½ðn,h7½¾¸´ó&NÍ>rŒ3Ap³ÿ¼ˆg±Ê"‰É¾ôèú˜¤ƒŽ?àqŠEP˜?(2@ÄÉ ‚¿ ÓËœ­r1½ Úªš?¼÷WVœ÷L?åâtš_q?°á‹[p,v¿£î8k8•˜=ðÀX¹‘w¿$\!tg^Û<ˆ 4€Ž#><œ»äòù8>.}ؽìXd­L“3¾|Æ•gg„²»›•é>éú¼8)äL†éú¼°´KiA¾ Ðt….–¾ Ú)ˆ….–¾0³õÃ^M¿€¢ªj8ˆ™¿àC¡j8ˆ™¿@zÄ/=eοÀ_†/˜¿?ॄ/˜¿?€Dt€Bd?°±Y¼X?@|ÙY¼X?T8°¹">¶x¼J[‹=Ý Z‹=¿;à(w~¡;Ñçuâ顺—ZZP,¼:;LÒÀ TÕ»@Šñvºü€ç©QD¤»f·c½hg¸;²3×™}V½«ö¯&‡UÆ»W¸ûHRH;yFò´^ ½ÏŒø86ãá<ˆ ¥ªUúb¾Æ?”G$|ñ¼“쬿§P<Žã™Ž…½‡Ôë€Ü=@vz5 ë¾,^H/à%½Ýõ@I1²½è^Ò€É,=g˜Ï™?0V½ð­‡`Ñ¿iùÔL|Q½v:‚8e¶½ûÍ@À{½Fgèúíg= ÅŽäí@ÿ0N/5a犽2’ª¶] =ZEâÈŒ”½ò$£UøÎ–½@Æ'…!¾¿´ÏìK”P=è} ¿‰´n½<-¿øNüw½`¬6$µÿ¿S“³E¼ûw=ÿss©»ž»P?>Á`&=€D¬‰Œ‰r½€zp4rê¾0òÊÎäeo=iz»…E @;•ùÖÜôb½õ;³UÊÅ<èÔ¡}ª­g¾MåŒXy§½§’qèø;šƒùE|<|ç]ÚŒ]½†¯~Cq|¼„ã(»ùq¼º­Zñ•æÓº_©tÙ_¨Þ»¦úMàYÝ:CMº¸b!¥¼GŠ3µ4Ä<|ÌÏi_|‡½%¨Œr-¼Ó@ø«±“¼634ü2=ÔsÌ«½€€Ú‘Ú8¿¤†‡©©eü<Ö0ÇÉ»‰ ½‚'9 þ©½`¾&ˆ×*=õ*3A4Å¿«þ¸;“–½vÀËÑ ¡$½Í–Ùý9yP=|n{‰]½ð…Ùa8¿øL5¢¡S½Ðìp'<á´òf<ôÇ#‡½ðÀ°4K G¼Ù¢§š~ MºíÎn@JžY:o¼T¦“ »*>çùNoºbæç‰ ×5»ý¥ÕfÂtÙ¼®‘q¡<8ª'¼Ÿ‹¾5Î2qq:ë¼#Ë{~¸½¶u[…òòU=Ô…¿…–ÀS= ºì!½;‘¿ø =½–ì·»= "½'\åç+`½žš†î=Ð$åŽ(íq¿f£'õ¯½Ódà–‹Ò¸÷—šò µi f£#½8Õ}%F¿ÀJÄ}%F?•ÚzÈH ½ÀÍp.Ç£¿àei.Ç£?n Ú=`Å;êvVó¾ðŒßévVó>¦²­-iJ!½øÉq°X\½8æJ‘_\=÷ ÚÓö Sº4‡Çuñ><,äÿü€~2¼ðàê9y¿:R[¡žU€8<¨H­ !L=d }­¨a½üå7¤J¼;„VOëþk=•QÏw6 =x‰Y5Ø—>Ô\°g‚@¡¾Tæ®·8wà<ôçùû¢˜°>ö/ÓÀ§r%>HƒX­[?x*°b«#¿¥¢£ êº$=°«&©·m*?œ+Éq½‰?ð¦Óg(³?Àíð°å¶¿˜–7´Qíb½@K%ÖȪ?|¥0µ‡´ä?À½[¼œ‰Þ?àðâÜxP´¿íúÿÎÔ÷~½€ÞfIykÌ?H‹ÈöSÿ@ÍAðÌ¿¿À†­ásº¿d½¸ªÙ­‹½@5"æ6f¸¿DÁp„ºŠ¿ ßî?¾\°¿À·uÛ°§¿¦h0ìs½ Ó¨7™¯?¤D]a&¾€– €þ¿w–º1#¿Ü™ÞP½P >¿»k-?r‚ì« ½èƒÏ›¾èe]ɰ¬¾XR¿ˆ»Ø=À8ß—¯>`ä´ñÈE½ÎS¢ýx`½¼$ÙS`M <8Õ`†b=O)Û8.!¼ #õ­¶8¼2~øÐÏÚºi\'ë©§B<ÞŒTšÁ=@@á€ÔdÔ½ôd)..0Á`Îs>‘‹g?°¯Ýëe¿Xç&_8(½HjA뿪s? be[tP?˜¾Æ(D«?ð¥22§‘?«þ¸;“–½€7.[fãØ¿´iª1ï¾ ŽýÃG°c¿ uí—€Ëj¿þm7\= O=ãHg?HCCþThÁ½ô$àüÓ½×øW‘ÑS@<øû¹‘ýŠÛ=¾Ë‰ Ï¢ä;R@ŒË1ô»l÷èÏ{\v:è|ÉåÀ<@?®¢_×= 0Ú%ºƒ¹>@ÊJ k3˾u¹ ½žë<܃ Ñd¡Ä>Ž·7Û¦?@b¢ÒX¼?`–oé\±?z/½?ßs½ Ê®ãÙn»?Ž*ðѸH¿@áW0ñ›¿€Û¬yU¿œ³ d»‘½ øÄ®!ƒ ?ÜXÆöbÕ¼¤9›bðP¾Ô-FÎË4¾8k(ƒí =hA¥ËÏx->{I)º"Ä;ËrRËöŒÿ<ðé^Û­ÿ<øVy»„YB>È7IÿZŠª>X•ò4[Šª>JJ«©s?`ƒì¤F—?ðæ¤F—?€üîPÇhÈ¿h‘[§’¿(Y[§’¿ }<*ÛW¿(]h›¶q ¿è86›¶q ¿]À•ˆ$1¾Œl:˜‹½t¿©–‹½ï2Þ§2¤»°$ÖÙ³«n½²É ÆYŽ=æàârOP;AzU®/½:i Je¾ªî¾3î{>}9fý²ˆ¾¼üªŸ;¼„¾†VTr؜»Î`éRx“¿L¬¥ÕöK•?ù ¹u®Þ½È+Bâ6¤¿RIcÅgžü¾fk€Yá¿Hâg°3óè?EÁš’FN:¾èžþ)ÏÜ¿LúõlÌCÀ¾Ø4îýÉØ¿@ò$©Àë¾Õ¥A€0¾î ÞHªœä?~‰U“’×»öÁ$=ø„•¿ÆäJŸQ¿Å áFÇÚ½l\âL:¤?’¶iº·¥d¾2%OR×}¾ÖÒÅÙ쓼%öxf‚>>›Áÿ­v½I2"âS½‡%±±ù—D»ø‘­Š;œ=p®}=PÖ¾æÎc¥bëí>vÀËÑ ¡$½´iª1ᆭò«b+À$<,º‚ À@"x¶$F¿ôÑ|ÚCŸe¾P5öññ×;ß-™½ìhQªû,=ÜT‚báôá:o°Ã±ÁþB½ÆÑQVW».:÷°u¿ yä†+?Ÿá† ã½Ê|Y-À0¿ÿ±Ðš®$Y¹®I/T­!;¿^)w$_S¿„¢â"[W½Þ{én$ùB?‰$í¾z1½RÈyJä娽èˆE\ä娽D <˜’7&¿`k¸‚bp‡¿<Å}bp‡¿8Bu‰àgì¿~òt ®P³¿’Ò®P³¿8S4—@¿¦Ü¾4-  ¾Jõ33-  ¾…Ùà ½û†>m¼·™Ájl<Š =o•诺#B ‹Wø"¼ˆ†9õ~0½."¹6G=Ý 4rªš»œ¥›µëL½Šàæù¯ì¼0þ{²nÅ‚¾ÀXO ã;•>Uw­šcçÄ<€¸öõ“–¾š'®ù"õ¾˜ó‚Ä ¿¸ôÕyÂ?ÿñBLJ½IÄ!N“¿4¹(=a•z¿°Ý «X@²¿‚*²€¤?m É.I«½°_FJ9®¹¿¬71bÙ¿0˜dD¹fã¿ Üm$^Üà?èËmRpè½ð%¾xÍÓ¿ÊÅô¤Ñ¿ ½°¤Û—Ý¿p™ÏS¿:`Ñuöë½àxpÏeBß?,†'ÿª-~¿À`’籿QÌ_¬”±¿¦8¬žyô¶½@Z·K?¿³?FÒœre¾sŸ-lõ ¿Ø BIÀ£¿ßÎP½P8U‚ò?ÈEˆ÷¼(3ϥġˆ¾ ѪrÇ“¾}Z¥ùÒÛÒ¼,aó„ûo¡>Üf&Hs,½NëŸþK@½¯%Èçè·ž»À1“¨L=úS鯩nÿ»|¾¾\}`¼Z²H‰Ux»Þª' <è0¯)W¨¥½ð{°3ëo¸=ײù൉¼ì·7Y¤Á½¬?Þ6 HÖ¾ ¬XR=T[¿À¯ò›Ób?Í–Ùý9yP= ŽýÃG°c¿$<,º‚ À ý€¶Pú¿ žÉFŠ®×a<È:v¥„À¾ÏWã‘”¿†SÑ µ²¿`±±n±ß·?0Ù›"Ëmƒ½ž"Üo%Š?´f'} f¿àÅ–)-Ô¿°¼‹WÛ8•¿=ý3µ{•ˆ½ÐW?A&g?Ë›¬ƒÈÁºº„?F€£ ¾lÆú  ¾N´”¦!_¤¼¨åJÚ$>¥Ôg·¢»ÿù^T¨ä¼*¼4¥‰¨ä¼$VŒÝS1¾à_ÞÓEh—¾P=‡Gh—¾`8®2 h¿@ K‚åhŸ¿€)ÿåhŸ¿qZªå¿Ð|Ç QéÀ¿@H¡ QéÀ¿@=ßÒì=\¿¨Ÿ–Ö¿À½…–Ö¿pÝðla.¾xˆ¦Æ­-v½¤Ë Æ”,v½V?ÁË ï…»Jý‚Ö[ü\éÓë1<Ï' f-Ⱥõ—àÇ{ï:¼¼{ˆ•ÅËD½@Ü õªá\=[-'û½“°»°Êmñ°b½ÂGD´RB½Ô·Î;1’¾È¿ z¿£>é"„¬dÎ<˜xH“ò,¥¾hÈ)rOB¾à»óõ¿˜sì°l?’îóýPFJ½˜Û<ö¢#¿<£S«%Í¿p…eB4‹«¿@Ì7xùøz?ÔŒ Ôo„½÷ÙZ0´¿¸U¥=â¿`0WiØþÚ¿@aÊ®ÁáÀ?´üеÓ½àõúÅbhÇ¿^ýWãAÃ>P}i¿@ã§íÍÇÀ¿Œ&\Nš‰Ø=ƒþ¦év}?,ÕTcƒ{†? #õêHý¤?à¦9¡’?cäÙ\n²= uy 5ï§¿Š…†úÖ >X®qÛg»?ÐÜå¼g?¯øñVÑ=Ø…X %¿|T.ãJ=Ì'Æ(¸ý‘>x2_Í¢™>;•–GðòÑ0.[æž?¸°‡³˜Ãã>ü±ÛêX?‚ã+“ I?/ÛJùï1=O†Ü¢e¿±¹Qe¸=X8­u­Ê=7Â-OüÉØ R »ÜT¼ …šÂ¾|Q°â¨¿ð–ì×}¼¿ÀVKm™¿?%w’‚Aн P𨂔?njµSœH|?P”jÙë˜?€)a¤~š?&„/1–=`WP kd‰¿^On÷(QÍ:9™ZÕw>¯â§øe >DA§¡ôM’¼ø0ŽJ](*¾E… 8ƒ’¼»ºMË(õ¼ô÷XWUõ¼Tø÷87¾øÏ¯_T¥¾`°3ê^T¥¾:í_nÅp¿ßLµõxŠ¿0)WµõxŠ¿@eå¦3 Ð?À€ù4&@™¿àQe5&@™¿€5Àw®ðA?ààÈãÉ?Ðû„ÑãÉ?Ø3qø¿O*>œ!E ŠÞ€=‘æ÷Ý€=ç}9m‚˜;Áã/)²E"»Ü^\eáÇ:Y’ ïVÞ»røLÓº™„ȃçñ`;ß">É­¶;*À¦ H½/˜ËAœ»»6Ù^Œ€o@»&Ù¤Þ…¼Œ¸%Ð á¼sØ“ýb¾u³¢”·â€óIåNÿhõ ¥ ç½K_‚&ùÒ==ê˜ ¨Øö½è\Nš‰Ø=ÀTÖáO$¾¿î÷ŸóØq>ÓÊ©’0´=D$á{ ƽn3.œ9ǽ_sp‘¿g‘"ãÊuÑ=l3ìßd1±¼‰ÏG»ÿ ½MôP ’ë0½ Øð¸,ê¾™KªßÆ2=ïþX{Œz;-›çgqÔ¼ÛQ"Ërç¼à±ìͰg¾‘¹)êÑ#ñ<VQgi½i¡»Å€N#?œ°»”ŽýÞª^Z¡l¢Á;G‰’+Ž–{»›¬ž˜»%ƒ0º.Û»eÊRZrÒ ;„¹(ᵉ¼ ÎLF»<8<àôJm¶Ž‡½½)8O‰s5¼ï³’ÞS¯¯¼\§ºWÈ ½d±<«¹r½ð…Ùa8¿þm7\=ôÑ|ÚCŸe¾ûÄ:Ñ#¾»^yžæé>€ÚjvÅ¿8é¼(4µõ=Ži€ä§x½†ÀŸ E‘8½›^ O£&9½p¡®“õ8¿™ ÅMMK=Û®«2H+Æ<ÆFnœÁŽá¼`¶-Æ †‡½i)`Ðågâ<OhPt/ð$º x;$GME:m%Hc¼Š’»Þö«y8?ºZm…SmxÓ»Âr¤N‚]<ú®²v¼HT|·ÿ‹¾ˆAû+nè²ü»ï%R½‘Õ_DP¿v‚^DP? 6·,œ¾ ^+øÁ£¿àyüöÁ£?!ÃR¼ìËT½Ð|³Q1[ó¾À¶1[ó>…„ˆ'y¼˜i€âY\½@ƒ<_\=«?úMd5»œ¢\áûJ"<ñ±šŠY¨9¼;°“Ü0Ñ:PK8ÅÍ¿C<¤¼ÁëîhI=Õü ÌQb½¾Èrïà´;Ì‹ð‡×?f=U2ëŬ=ˆtó=”>ˆ/N¦¦¾°¨>†‘μ¸}zF(¦><ž :5d&>øRÝÔ ?¾SWg„$¿™Z¢J—ðv½¸&Íyt”*?¼úsÏ.Ž?`vÈW“’²?€ì 5c¤¿æ†µ²¥m®= §gêpµ? àÕ?@µœ€ÇÎ?@\©?Y¡Æ¿â—X¦†"è=€ @¿¾³±¿Ü§†›—ôÜ¿·W‹ëgØ¿€Uiñ§Òi?ˆž#Až®í½ÀM$ÓË?Јῖ]Vu³¿p'm,¾´¿Îu ¬¯³½ > p¯? ÿ)AË#¾@¼väö ¿HgmÁl%¿÷óªQ‹Ò!½°¯ñÜ D(?YStäP£½¨á ñ`ž¾ÀdbkXG¨¾®Z“+Ïå¼€4£Ž´>lP/|ÞGI½pO°Üí\½‘¨Fe=Ó¼»È!aPƒñh=Pá»W72 ¼w6åùA:¼ÝWÏ æ˜”»=£¢!üö@<¤âÿ[mÁ=€l{àmœÓ½×/TYŽJ5<ü™›lÛ=<ÄßQ„ï>01c?ðV•?þj¿øL5¢¡S½ O=ãHg?P5öñrÒ;̈'áò»‰ƒžM'I:Ì:ÿÖ¥í;:£ù¾eà=œåp( Â>ˆ3cðÀ¾ókÅáÄ~¼èœzÖ>( Ÿ®©L?رX^Yª?4šH0tË•¿ø°²¼ñ{J½…SL掙¿ô aÄõ¶k¿ ì²×ߊ¿°UpÁ'>‘¿lP&n°D½@«Ag P?¦d@ó"`༼ҬÚW«'¾ÌÞVú·'¾<ƒG”…Ͼ¼Ô ¢ê…FB>4ö%AlÁ;ChŽk/=È/çE“/=¸šú\Ž6F>ø:Ñ …S£>˜Ü©‡S£> ñŒ œc?`œžSÓŸ?`oMžSÓŸ?`ú°ÌÏÄ?à¦UDèT¿¿€ôDèT¿¿pUø)g¿à†]-Å¿pÙd_-Å¿H}°Ýr,¾<«’â ‘½äð ÚM€‘½¬ò`®p§»u`–4p½Œ²ËM…=!À,¥ÖK¼X«¦Äûš”½fþTѨJe¾†G“¸i|>ŒãKolƼtoÙ¨ò؃¾y’ù©„û,]Køòx“¿L¿x´9Ÿ?Œ=á¨C)ȽNû¯ß”É ¿B÷á)³žü¾Ð1ÿZῸ[I¬OÅ?—éû1¾Äˆ8÷­T쿘ãªêCÀ¾ðÒÌÊØ¿àΙnã¿N`ìÊt©Ò½èj–èÙ†Ë?p6~Ï××»ˆ˜– ¥…•¿íæZœ¿XRšæÖ’‘½€­×‡Â’¤?šKþ7›¦d¾¦*%ܹ»x¾T'Q1H¼\É>ç5„>•> ÷v½bž)9hs•½× æ5ªùºÐEwè!™=l«ŽŽßPÖ¾¸°‡³˜Ãã>Ži€ä§x½6Ù2_ó¾XW=¬c+Àh9ˆý«ƒ À€î–,h_I¿Õ’ƒgÊ©%¾€ýÈ%P?DõwY[IÖ¾R–,gÕâí¾Ø\¾ý¼«¼H•ró…ï>BˆŒØ5¤½t̾Gà?=ðñKš©‚» _sŽd:½»t-ðWW»’WH¬˜±u¿Ê ‹–sr¿¤æ?Ê­~u½F5ðFž‹¿§Àñ}X|w¹À¿¦¼v";¿6å™Ï#¿è6”DkF½B!óÿmU?:Õ!q1½äÿd˜®Ø½a˜®Ø½Æç¤E8&¿¶>‰%q‡¿ÞË,%q‡¿LY´»Ñhì¿ö‘‹OQ³¿üÈcOQ³¿ÓJ5A¿ò<ߦ  ¾¾½¦  ¾D¡uLzG½×0·¼¾6(͇<¾ b¦9ÿ©º]ÇpÈX ¼òG™4~-0½ÈTEr£C=¾\æÁñƒz¼p$âöBÈO½7Dª­ çì¼-KgÇ‚¾ˆÅ‘@ƒT‹>ãÄ—B5}m½ÐwkÉ_›¾° ;pàõ¾–þÇ ¿øË|•ò‘?’îFÑ5R™½Ð­ÒƼ¿\Ýí‚–z¿ð°MÂ^E²¿Dq4ß´?2 'œ›^=°…hL‰²¿4î›:UcÙ¿ À }ilã¿à#¶[u¬½?¶¾Sã“û¹=ÀŠ+ø?9㿬"Ò•VÑ¿@~€!t¡Ý¿à›Kå¨{Ý¿dŒ9È?þë=àCe;\ Å?ô„¡½0/~¿OE1Qí±¿ ~­ˆ©¿xþ¶aÀ†˜1·?â\*t¾@ÈöÂæù ¿x67úxh¿5ûÊZ½@"Ð7s÷?®g¬«ö¼øïË\€¤ˆ¾ (™”ÁHš¾Ú/w£ ½@áLž>tÛ…0ƒ,½Üž„Í¢E½Ô"-ƒæ¼4pû¢çI=ýçê©à/¼…ˆ, ¼–âKüÌëǺCÛ·pû<¨¬÷´©¥½¨ÈØì‡¹=Ðìp'FVÖ»ä ÐB[¹½P•bi~p©¾ (!í%»>U³¼yŸ£½ éV½ÃV¶¾FH@¯”¿ i(.¹²¿`å¤nŒ¦¿/„ô¥Þƒ= z›oµ¿^ös'f¿ xÑ­(Ù¿`¡J'òQ¿—f«‰Ïq½ .ÉñÛð–?­8EÒ‘…*»xM? ¾Ø”¶òƒ@!¾òc¾‰¿˜a¼ÀÿGoË>”â)àç5 »A<¾DgÂä¼ )ÝvÂä¼Ü1¸ªnU1¾PÿhBk—¾ l^Bk—¾p ߈¤#h¿ÀwsŸ¿ T{sŸ¿p¡Ñyæ±å¿@èè6ÙîÀ¿°¸k7ÙîÀ¿PhwöòC\¿¨P«²Ú¿@;$šÚ¿@¡Ùy0¾4…)d3 v½¬Ä½'3 v½Z:¿\¼Ö¡ÿìÚç2<ãµgÞüÃºËæ»8¼Æ»Ç A½üƒsšS=ñ'5„J‡¼F°²’kÉ`½e°uEA(½øac‹Á‰¾ ø1%> Üù>Ô¼6½ØºYäd¾¢¾ÔÔ‚³È¾@±F‚¿0æJÜÓ³?í»Ïó·<‚½ÀQ¾l“$¿L™wb%‡¿@y.oÊÛ©¿i°êØt£?Þk‚óoP= ¿xÜDª¿µ”ö±¾¿°{µ]¶¿€ªi„Ä¿'¿&çð䌽ÀSööÙ²¿HìοLÛ?àpªÚä×?€+â¹ìVÇ?Ä™¸fHô½€ãVb¢»¿PDÓíJ½…?àn-FK·­?€&ó‘?h?œkÿh™=àÄŠk&ÿ³¿ÐG9©Df>°Ý賃A?È +GÞÄ?sÂcÇ"=(§{m8›#¿î®w>K==噤–>h°SýdU¦>£üJBÅ0=¸{î‡}¨«¾(ÉfŽC=4èj^÷[=Wqñ9÷€X€ÇmÚb? 6ŸËµ^f?)y/Ü‹ §½p³ö„àk¿ö’2¹=™«é¦¶Ê=#úºóÝŸÁ<ÔoAéUnÔ½†pz½„È»J6:Ñ;u“ŽÑKºüËä—ìí»¨sñj¼wÚ½îø•=½¾Ù§yTÍ>Beob7€½˜ÿbëÁŽÉ¾˜NEÆ%…Ž?à5–F'˜?¹¢F‚¿ÔÊÖ‰ßXƒ½ 08œ6š?6þŽ%ùL?ÐB_2ehq?€IÜå8v¿V2É~d=ÐÜú5†œw¿©È%ÿ)ßÚ<Ü''†³#>½FÅÈû8>ÏbU_"k<¬¥Z?–3¾Ãÿqýµµ»GÌjû¼»H«iû¼†óNA¾ Qúæ4–¾È÷ æ4–¾Ð^:ïx-M¿`~$¥ýŸ™¿€E&¥ýŸ™¿@tþböοƙ"™°¿? Œ$™°¿? ‚'ý1Kd?&À>)d?pªaa)d?”ðáì9 ">t4™ÆÈ6‹=Ü„¥dÈ6‹=”¹-+y­º¢ÒÆdþÆ:ÄýÍÛ»^¸äµ»Ëº­Zàœ~¼ ;¹…•<¤¿2lKN½Ìðål+² ¼¯,W;< cÿ­·<‘áÞá,ˆ=p“Éèþb¾¬DJ°u’½1/*¸Ö"¼—[±*h´˜=$¸±bÁ= 4ÅÛ®뾺áÍÕQ6˽`¸8+wŒ=8d¤>Qt=+M­€ï–x½`ŠAT)â¿f%ퟩ,ˆ=ºšT笾=äy!Ùû±='‚ôû­¢½ ?Nï\ÿtHùÁm ®=¨€kîñ>¾Aïzöâ=Àºš¸QÌ™½ÔlW%9¾¿¿L‹«‚î½ß{Ùåè= éºö ½Þ`‡m'³£½ ò–£‘¿ø¹š=4±ç1­?¼U°0½+½?^L à ½@IÎ׬ê¾W“Îi'=ç!èüb‰ºaÊO'D"½+çûé&3½ ,ˆà'´g¾D0Ya?E=¸c‡pÉK<µuÇ6S%¼„ñ=-•½'±¹Õ8`<m(N#ÐL~»¯ì¦Ÿ çº irÚ&ÏÜ»Þý®#Ýë:d.ÈçhÝ»wDÃÚÕœJ¼ôÇ#‡½×øW‘ÑS@žiæ%½ºFÐu1ˆ|=iÁÓ-Vý\½ÐZÁ‹I‘¿VäuTèU†=0Eð… Ù¯<æ3mæÍq½*Ë6aå I=຿(ûq¿$ÈmLâ='ïñÔ’¹Óã[¶¥'Y¼¦¶ §e‡z¼sjËڿ뽞_Ø{{`Z<¾…]%Wdº9o}8ùZ¼yA²‚¯[<çYHTOÇ< ùJU‚d|¾ð–®ƒd|>€ºQš< ëC&\Y¿€X&\Y?@{”*Ôz½`³ §'+£¿šÞ©'+£?1é`pÿßX½ÐëÎ×P`ó¾ð`¨fQ`ó>¾‰Ún;=½8;²~Å1\½xÛbðÂ1\=i7•ð© Ÿ[ºÓD¡¾[”:Þ,yv=l鉓µœ°>ˆ"øØÞ5&>¨ßÞd?ïfo²#¿¥–6ùgT…½h™9ËRv*?ˆ’zÅ,‰?€ }Þ3³? AqŠSó¶¿Ä_HEq= Fž#Èݪ?ØA<¯}¶ä?`RYl€ Þ? ’™ ×h´¿ã: MÀ¯½@ð°b—“Ì?<¤ê—ÅUÿ {¿ç¿¿@úÅ Ošº¿:vñMnà½nï邸¿´ex¿º¿ð²ˆ¹7j°¿À#½Áz˧¿ù2u:±½ “Àj䶯?P€<·b&¾@Ô³‹ˆ¿˜ˆ·ÔÈ7#¿/õ½ÌÅ#½àxÖÚút-?˜ £×M½€eÓ´‰›¾H<Ë)|ɬ¾.z|[ÝØ<8|ò/ž¯>¤é&üVéE½îyÛ©n›`½G~oõm ¼¤ˆÒj²b=1wÄ¡¿!¼óIfIâ‰:¼´U¤®éºûžùÍ@<¸¡~YªÁ=@uy‘ðtÔ½ðÀ°4K G¼øû¹‘ýŠÛ=êxËÒTXó>`U‰”g?O†Ü¢e¿™ ÅMMK=°iÔ_²s?€ýÈ%P?`’OÛë?Pyœlª‘?l$Ë™‚QÔ½è²;Š$Ù¿ô£2QH‘ï¾`§¿y·c¿ðÓož1Öj¿©´sÉ稉=ºÏ$žRg?H¬|l×cÁ½¥Â÷õ›Ó½D7ãÖ¼Ûôþ“„Û=ó]ai%Ö;–™ à»ò¶ŒÃá´Y:1¤K :Þú;>CèJoƒÖ=àËÞR ‰¹>yÓA+9˾ߜ{Ÿ’^1=vpHÓ¥Ä>‚ô«QVܦ? ªÍÖݼ?°CŸ'L!±?"Tf<«¿ˆ½`üÙ»?Æh°TaJ¿€’Ünœ¿ÀbG':¯U¿8oØ6Ôy½ ©öü ?Ò{m†ÿÔ¼XÈ;HQ¾Ø3s.OÌ4¾"÷-D¹x¼°õ³ab|->,sD2k6Á;[‡={«sµU=ð;/<]B>ðuÃÀ`’ª>€[ö`’ª>ˆ5ñs? +·U4!—?f´U4!—?uЍDÈ¿ÈbxJ ’¿0jÏJ ’¿0ðy¤æW¿ò ø x ¿Dù x ¿tp0Æê'1¾|G™È,u‹½pQýu,u‹½‘Dü¦À"p½Þ»Ÿý=¢1ÐQ•tÒ:D9+ï ‘½¤ÜMjKe¾8€èoð{>ÕªåîËÉ;ŠÀnÔ„¾©™]+:·Ã»0¿úÁy“¿ÞîÂÀ‹M•?¼«Ž¯¾Šø¼ö8ñËc8¤¿ýNN%5Ÿü¾^›SÑZá¿¢<õè?Þª’w³z½ÙÁÜ5ÑÜ¿x‘Tl%DÀ¾p·Ä*áËØ¿¼›’ðnë¾]…‡²y·½p Ä[<žä?Þ˜Á4O×»ØÃ]ˆ’†•¿È{ÞªÓS¿û‡Kßju½|1„Ñ;¤?ø]žt§d¾ä Z ðÙ}¾صÔLj¼$7Eˆ h‚>$Õ1Ù¨v½ºE©â/ž½3a¢;vÑ–»ôÂ}¸eX›=F~½º±QÖ¾&PT]íí><4å0¹8<ô£2QH‘ï¾–à¬ýd+ÀLB$é„ À@µ­¿E¿,GÎ[±½ @ç#û!Q?BQ·q>JÖ¾%X÷½ã¾º‘»á¼®Èc­Yó>Øàï1n½{Ѿ?´Ï,=êä ¼ßYŒºÒú=FßB½û.ïP»" Ój²u¿‚ªË‡B?FìØlÿ½4”.ÜuÁ0¿w¬~ϼz¹z6-„#;¿üÅä{`S¿*?Ìt\½EúÄrúB?$ØÄl? »§à•,ˆ]1½†žHØìÿؽ€²HØìÿؽêL®4+9&¿œ(¤r‡¿Âü¤r‡¿PÓújì¿ikà%R³¿ø;bà%R³¿ž ¦B¿.]æ}K  ¾0 Ñ}K  ¾ªwá!{½µ9ÆàïK¼®‡;ª!%<6¸°êg¦»2:ʈIÜ'¼üù5ÎX.0½LâàRbG=–üOΰwp¼ØÀúkÆM½ÿË„'^"í¼¸cKÉ‚¾€úrú‡@•>g L/yr=xÐó™}–¾N¶g;ö¾XÂÜ SÌ ¿Œ¦žÜÈ?šFÞ‚ñj¥=`JP•zœ¿Ì¦a§Ç—z¿?Þ”K²¿@f6q.¤?MùY-bB½jCd¾¹¿Ü2.ÑÂdÙ¿é4>÷)–,½pâ: e@½¯1’Eë€\¼´r™CÍL= RVÓÁ?¼Þ›Å,È!¼îÇý›B±»ãL˪µX)<RÕ 4cF=€TQF‚‡À¾ÜÀÃ¥”¿ðæ‚q}¾²¿€ Êå£í·?µ†L³±Z½¾7Í´¥"Š?RG¡3f¿`?Ó¥rá¿͘V4L•¿r”E?v½ Ÿ®îOy?d[$H˜×»$>$¥ò ¾ô¯›e- ¾=ƒLüÈæìBŸ$>KÐ^臸˺êßÂy6—»Ê‰+@¼|K õ®âD½”„T±q]=¬1&ù«—¼@|5æÂb½‘^‹.À½X‚‘(Ò4’¾X ¬_û£>‡ÏA¹¾¤‚½ˆ+©½¿1¥¾˜1UeèC¾°Ë&â”"¿ †yëŸs?îâ¡¿î´½ÔE©#¿ü‡¶éп ŵRš«¿`Öj‘Ñ{? ¿ÀÏzsš½P²2„!´¿Èͱ ?â¿e_ãÇÛ¿—2ýÀ?<Ët]‘œ=€åœ@ŠÇ¿v g6È>€›oó½h¿`½;íáÀ¿I‚D˜+±=ôf$KT}?(›í°~†?€(²“¥?À±~Q.’?Úí‘æµ~µ= „vi¨¿èÌÛïΉ >ðgG¿£Ä? ÿ=6#'?šÇFS\_ž=xS؃ú%¿RÕñ·²=È0¨x’>ð„Žýª™>¥Û¸Qþi=Èïh±Œp©¾¨7F4¦<=h4ŽÍN=•2z¾&er ¢´ƒÆX?ÐóÞѱI?c‰ûFYé£=(9Ý—Õ)e¿@zû•q¸=ð„´Ê=Xér‰‹â<8»#_œÓ½Ô|Ágžá»¶+¶µ¬ÿ;þ€Ü—¹¸»†Ô¹tRü»Š²›ŸMȽõ²ò ¬¾‹gÿ ¤>Ö {Z!l½ÜdɾR瑜m¨¿pÓ×i¼¿@!¬Q¬®¿?J°tN¯D½dèá¸{€”?âðãÔJ|?dk‡ ™?€Þ¬Ñ œš?¾Š# ù—=`,€w„‰¿†Pv’Ï8é;€§’6{>TCŠ[õi >ó©|’S%=4þJ+*¾‚ôrÞè:dŒ`ZR¬³»ÚÀ·oõ¼ëhiõ¼èåö]Ì97¾@ËcZ¥¾`®öq\Z¥¾X¥ VãÌp¿°ßî×C‡Š¿ôà×C‡Š¿€ ™!½Ð?à7¾Š]™¿ÀñÊŠ]™¿@¬ËÓ·ýA?TPðØ?+¶ÑØ?ˆáèX*>ÀÙ&µÿÏ€=ˆÕ¥¹Ï€=y‘Z %Ô/;Ä7f¿ÐÒ†»>1ÉÎË;5(×GiØ»ÂG8÷ËhÕ»˜“uN$s¹ïýûYÔ5½½Š°Q<˜+±=€üéöV¾¿z–—ýñ׳=dáÒm½ê‚½õ|$«º9¬½z¬òXR²£½p½a~‘¿+,”Ê*0«=îçœÛ‰¨¼ÄÃþØY’‚½~­˜;L„½p¥:À#ê¾#úzO˜M=òIÏÁI%®»1ð+üd_½kÙ­b@MV½ØŸ€z¯¹g¾tŒÞ!O\a=]ÀíËU(`¼4  ÷£n¼<›¬q˜½}Úüδ{<Åe^F´»íÒǨ¤Ì»¶¥“É›WÜ»ïá)kÕ;ëC³ï&ļ7Â-OüÉ<`¶-Æ †‡½-4ó.¥Þ¼Ø\¾ý¼«¼#Wü’¨½)y/Ü‹ §½ ®¥"U$8¿©´sÉ稉=,GÎ[±½Å×KÁ¥=:H]òÊ]º=€´”5¿ Æ¿5ÊŠ¢Éɽ¿‹¶ ¼CoëõßY‘½U¦ä©3s½ Û½ûr.8¿4t`ƒIGo=ˆ¥ø’˼‡qqA“ Û¼Hà :‡½X;Rs®–ß<»ö¨Ã(i»åolqlІ;OX9ÅIª™»!«c#o„»:Ìw r»KéúÈ+x`½~vl†õv\=R›þ)"‹¾AÅI\lf½ªòŸsͼTÁÝŒ“ßH½Ô÷}ÖOa= BŦQ‘¿'zÑü2=k½ôJ™6½5QÓHЇ½jÕKM?“½°ƒZlÏr¿¹)8*›m=ñÔ†u¥‡Cºz'=>½£îÝ¢%Ô<ð‹`â‹Ãë½8û•4÷$=ˆ–iÑrº ŽÚ]çF»ï•û·‹-V¼ f¾¦8YÁ\ˆ×½ Ã¶cÀd¿à1ÞcÀd?Âif“³)= éšã°:£¿Àèpã°:£?˜Ùɼ9y½Ð Ähó¾`fËîÃhó>™ë†Œ ˆó¼¸¿§cÌG\½ÐSz˜ÀE\=!h÷Ú5ŸÅº™RhÎ Ö%<8}Ó'”=¼ GõG…Ð;o¹N¸:G<(3? ôŒI=TýQ2pb½}l¾Õ¶˜<$¯Îį_f=[OmÁLî=¸î¬‹.”>HÅu”A«¦¾ˆ@õ’s=ÐÙIz4-¦>vïLe&>ê_TÝ?@1;ˆ¯Š$¿b÷˯n³=¨.Ë^Õœ*?popFÊ0Ž?0åÜÖ ²?0!¶Ÿz¤¿B˜Í³ž–=0ÛyÏ‚µ?¸¦RÕ?@8ýN”ßÎ?à>³˜ÁÆ¿ª?ðm¤½€ÅM‡-ʱ¿¼ÊNýøÜ¿+Cd΀ؿ@($_1j?H…ëþ*nν.øçÌ?°~–@ ¿P–½¾Î†³¿ µôc\"´¿Þ@ü°‘§½½ ´ÈêB¯?Ò.?f$¾j΄R¿P{çXv%¿O¤A3!†¨½/:ûN(?:†r 曽P¸t°Öjž¾{LŽ O¨¾çµrw½L°2ó”´>hËÉ gI½ˆb9÷Y]½×šI›@ļ\³ìmci=ÓQÜλ'¼rß“¤A¼tªEôлŒ:4šÆH<¢c#ùgÁ=xYô~3”Ó½i)`ÐågâØPÚ÷=8c?p³ö„àk¿Ì0®P²Î=ºÏ$žRg? @ç#û!Q?hfîï“?0ü{Ñêž?5ÊŠ¢ÉɽT~¬RùÖ¿æ `aó¾ÐË–?#bh¿X#½y'\e¿«yãhä´½øƒÂ$Q½s?Ìl>¦Á½óI|sÔ½f Êþ•í¼œ{ùãÛ=;Þ -á;ò(œÈ­ÿ»ù͇V/{Œ; s; xû;}¤Òß=+ R¬ Â>Œ–;fóÀ¾6*có#†=À¡n@N~Ö>þÓ''L?¼Ú³Ý«? hûl¢Ì•¿S)½ZÕj½ÐþÊ„™¿úž3‹"¹k¿`jp”4öŠ¿ÐÁŸHO‘¿¤¹Ý–‰‘½À±™NsÂP?>+K TŒß¼Œ’mr°'¾ü:Þ¬¼'¾‰X«šu4½ÌéÈUIB>}ÆH‘dðº@í“ü¡³;– + {.=5)Ŧ¢/=…ÁÀ×9F>Hyäö¿X£>8 {˹X£>Àª3°¥c?xòbMðŸ?`ËcMðŸ?@O»;®Ä?àWV}±q¿¿ œ=}±q¿¿Ð¹n&g¿ÐC´ÕÐÒ¿°µµÐÒ¿¸-ÊßT{,¾l¦ ÚÈu‘½øæ Šu‘½ºÉlR’8»¾…‚C"p½BÅb¬Kv…=í“3ò2iðºòSûä(Ä”½(6©ÿÓLe¾ÔÙjЦl|>' Š¿3¼lDìýÚƒ¾:ÍX«®Ã»(j—6{“¿HrÇߟ?Ÿ?ghÞK’½È…Ë ¿JMIºÝŸü¾\)\á¿»g¬äÅ?¦›Æã*罢à äX쿬b'€DÀ¾PøØvÙÍØ¿üêÝxþpã¿è™îSœÐ¾]e :ŠË?@Ïúˆ×»x±ŒCˆ•¿<²U]œ¿ëçæ²œTÖ½ÒÞ‹OG•¤?H`Óæì¨d¾nL@¥Š¾x¾ý8/¾>Á¼Æìº28„>æü9æKv½*!;FrË”½< ÿÐÉý»xtÐAÜb˜=تå°-SÖ¾r1‚¬Åã>¿‹¶ ¼æ `aó¾ð)ð‘eg+À|äUë+‡ À@j0KB™G¿Jwâ‹3¾@âñÇxîN?²¯eOÙKÖ¾:nÈv6æí¾·‡Eˆ “(½ J¤w„‰ï>r&5-˜!½ÂVû{š?=Puy}‰«»¶×õ(ýâ:½"U¼]7»€t´u¿¼d¦¹3ur¿:„ÃŒŒKJ½Ø7¤Hz¡‹¿äýà»|sz¹:Vvÿ†%;¿(•ÕÑ#¿ït¥üÿ˜½Ðz¿tpU?W€‘9s&»CØ%*"b2½ú‰õ”JÙ½R¯ð–JÙ½Ö£±ÒÒ:&¿veqès‡¿Õøpès‡¿FÝ%Þ@l쿆ê±ö«S³¿6ºÍõ«S³¿$/f C¿âÿÅ} ¾,"[} ¾Þ\o¶÷»s8¬>A¼‘×m¸=#T#Ðl0½x²·Ñig›¾þŸîi÷¾¸Õ— Ó ¿ÕäGÔš?º¹Ò_]z½€±Q0ZÈ¿÷’®™z¿`„¾§ÖU²¿@Gá°ñ´?Õû5KE´½ÐWtWG'²¿0×CY5gÙ¿ § ~€ã¿`fûÓ½?@ï¸+µ¿½À xþIPã¿Ú‹h)Ñ¿@\ôÉôÈÝ¿€å©?‡§Ý¿¼­Úæé÷’½´²Sï&Å?ÌWvœÏ7~¿@„²‡²¿`•ß¶©¿@´ªB¤M ½°†Î8KS·?|7ˆ‚¾À™´Z¨¿àrKôáx¿õ,Ï›ž.¬½ðÔ¸¼0 ?™A,£•ô¼Ø#@L,´ˆ¾`U¿Yš¾eöKËó<½ðs¸ª²`ž>¸" N¤¥½ö’2¹=!ʬ¦<¾¼H¬|l×cÁ½BQ·q>JÖ¾°¤Š_ˆe[¿ ¢´ƒÆX?CoëõßY‘½ÐË–?#bh¿|äUë+‡ À@0¶¤vú¿‘3óZ¿Ð÷7Áò§å½ptÎ6‹åª?ZrZœÞVÖ¾@òÉñØv[¿($8:‡Lb¿à»¯°.ì‘=ð…æKc?ñ쎒z»¯¾]“§ý;UÕuø¥\&»‰Qêz‹€»Ì¬óéhKº½äKKÜu©¾8 [ŽÒ+»>#’·ôû™½ÐþŸÉÁ[¶¾FŽWj¬”¿0žUØÇ²¿P…!ù*¦¿Ô}Öû²ª=pÌEZk„µ¿ÂH‘Ùf¿à#aÒRñ¿ÊÓMÔ#R¿ ÉæÑd½€u!w1—?ýèâb«y;¼ø- ¾6LŒ#gG!¾³>´Ð ,=ppòï >Þ}Ía«¸E½ˆ‚G¸Î©X½õ*B¸•¼hb&`¿±a=ý¿ï0.þb»Å3ÏÞšXä¼!» TXä¼da³–Y1¾Ð\Ç€s—¾ „(ƒs—¾ µÙî‚2h¿€Ÿ't”Ÿ¿@p`'t”Ÿ¿Ðèž© Ïå¿°Cγ^Á¿À¨Ç³^Á¿Àa[GS`\¿@pÁ„뿸ä áƒë¿èžDó‹ûÒ½nekõõÅ ¼$íúó«:<"v˜æ/¨¬»kW†Í½A¼BbªwÿA½È·j‘–S=⟡Ò+2€¼†p|Þ@Æ`½ ±H‡½°!ȉ¾hd¦ê¨>Ì‚ó¦òF½Th¶¶tâ¾È·àùʾಣš¿°r—¡K¾?ü qß2¥½húýHâ›$¿(Aªxâ'‡¿>Nû©¿ x ÅŽ£?ÆF‚p·½€ùüI'Hª¿÷©´¶¾¿@XÅl¶¿À~+bs¯Ä¿Ê*w±úì½`Ò´ÞŽü²¿@ N–èRÛ? ¯ÈËâD×?`) ü‡žÇ?T`M´Ðª=€®§o‹ë»¿Øô.¡Ã…?ÀÀ±üµä­?@¼I/4‘?t±Ô~E‘=P;&wú´¿|z0Qr>XXó•çP?(m;°†Ö?Š!šzu9Â=è ι¬#¿pbb‹‹!=h³Çøª³–>°j6¾$e¦>õiÍòs°=ÀÇóœ<¼«¾,ê]!ƒu¸½™«é¦¶Ê=±IÌzéòÚ¼¥Â÷õ›Ó½%X÷½ã¾ ì»JX¿ÐóÞѱI?U¦ä©3s½X#½y'\e¿@j0KB™G¿‘3óZ¿+–û3ֿر¢oóÔԽȧ|…Jº‘?ÏúSiôí>pÔ·dQíb?Xʱ½-vf?ua¾ÖÁ= J†%k¿´…¹D€Û†»îĶЙ—;sáý×Jg2»/gù*µWª»ÎÜôêXzÛ½ Ì[ÝDD½¾ÐùÖ¥j[Í>w do¬¦°½¨ëÒÜÿ”ɾþÒŒ°‡Ž?àׯ38˜?ÈjöÖ!‚¿² Laϧ½@_[´Õgš?¼PýþL?oÄ=q?°K¡j{Wv¿ëŠøäâR=@ÛÅw¿ÝÔµ òØ<ÈšHÌš#><ϧ ž9>í‚%Ü®ÛR=ñˆ:”ž3¾„6™ ²\=„¼–Žo=ÈœQ ñ¬<ºÛ,[w½ä³8䇨{»¬ ®h?Þú¼èp½Ýú¼„¹#^?A¾ˆ¯.Ÿ<–¾¨b¸C<–¾À(íT@M¿@ð5{£Ã™¿€çz£Ã™¿@ÀÖ‡}ØÎ¿àèÀbä¿? û¿bä¿?ØìŠ…ad?°1»•„?@¼‰„?ø!D&àÎã=^qþŠü™‘»£CõŒ ¦; ôâµâ»+!𻲻¦Gö³¿n¼—Æ,tߺ<ò>Z|4Q½äƒ6ò ’¼tz×75+ͺ'´„†2½ø4é#»7=øˆ”Tc¾%¨³ ÎXB½4d¼KWy¼dŠÎ#3ƈ½ôÅIæØ—½r<Ë>%ë¾å’;Xã$œ=ä+¾œuQ»½°ýÆ÷ï¶½ê„u;«c¶=PBø}Õû¿ª»Ñ:šÍ¶½¶j¦&î=¾0EðM=·½½Á™Ê.°é½€‚ÉɉÿúÑÞ°Ù½+N]·lÜ=€ÏÀä£ñ­½è©±ͪ½nª¥¾¿oîä'â®°=Þ^:^`=ð‰êEk l½H}ÿ t‰=8Ü%K:‘¿”]\Oj½­x"ûÙ¼T•`ê€ ¤½"ëð÷;¸œ½`Æ­6ê¾XÙD ß=<*å“j»¾bðe(‡q½¢´]ÈaI½ÐÏ]àÆg¾Ù¬:¶Í¨z=yI[,Ÿ;¾¼#úºóÝŸÁ<ä¿?Ÿ(Ї½D7ãÖ¼º‘»á¼lÍȤ—½c‰ûFYé£= Û½ûr.8¿«yãhä´½Jwâ‹3¾Ð÷7Áò§å½Ø±¢oóÔÔ½€“Ao‰ Æ¿z–€¶ølá=”–‹)ÎUмð%råa¢½Ÿp¨v‚—=ÐhrÑC8¿`4­3šb½ÓÈj¢\a#»ð&Â#½9;Eà¤}ÍS».ÒŸš£E»¹Ø@‘¼¬Î·E†C•½óÚ Úž¨=У³rÖ%‹¾îˆ5kj£½¬Õç¡‘…A½œÚ(#Žì³= Ⱥ‘S,j= Âbl_‘¿”G²<¨_·=™9šf÷Ǽ­¦(¹åh½èvÝéµ4= ¨ìƒr¿|NŽ q=Þ§–ÂéhѺÈRhB”2½¤ÍƒKÕþ<½ ûSU Èë½úw]>==+L4»’¼ñØ· ‚[¦¼JL­P (½YW®§Æ„ª<ÈC`O©»~VëÊR¼¿–™R<Êß—ÎÜÙG½èd“߯p|¾EЏ¢p|>$5a3!v½€R|('w¿àj¿''w?àÙàq˽²º™X£¿àÒƒº™X£?Lùì!ºº´½¸»÷Hyó¾°°©Hyó>8{×I2ؼÖýÝ̈Ù&<ÜhkW ÂB¼áÃsAAB®;b’Ë÷G<Œúî2L=ž˜äøÅa½#¥o•ÉBƒ<€Ñ’$k=4p[K“S=ȳ¡»Iä—>dAîÓJ¡¾ÆÕ¹êO=,(Ð\ƒ¡°>2\©=s7&>X:çÂn?ØÛžº#¿ ·uá«=€ºè"e*?¬cÿr4‰? ¥H$!E³?à_„}`·¿Zó\[åÿצÁ=ÔoAéUnÔ½ñ›û“ȶÛ<Ûôþ“„Û=®Èc­Yó>ؽ ¦¡ g?(9Ý—Õ)e¿4t`ƒIGo=øƒÂ$Q½s?@âñÇxîN?ptÎ6‹åª?ȧ|…Jº‘?z–€¶ølá=€Þ‹Ó•Ù¿Ôn ™¸˜ï¾øp®{¦Ëc¿P·÷è…ój¿ÄOrþÀ½ =GÂmg?Žö¾©™Z¡;\•Åaݬ¶» ã”M;Ø |q%Ã; Šåb×=XŸÙÿ»Ž¹>Ø it?˾̧>¢Á­=¬1#d¼ªÄ>ÊÉ¿;Þ¦?sM3”5¼?hÌ4E,±?¼á®߬½°ÒÓ»?àÇ[)¹O¿`7£˜Â0œ¿@+šV¿í ³x#9i½ ¼ÐȲ ?¯ÖÏí|Ó¼Àg£hTd¾ÀÕc1Ö4¾îõâ@)J½DSYUˆ->ê„``kd½œCô®Ž(w½†By í^·¼¸?`r¥.€="àíÄ„;r»ð@Ùÿ<š³ÏeYÿ<”šÅ‚ÙaB>hÃòW:œª>XØ;œª>h2¹ŠU%s?7G¤Ë8—?@K¤Ë8—? „A>AÖÈ¿°¢Ó#’¿` ‡Ó#’¿ÐÕK: X¿‚¸óR‰ ¿zxR‰ ¿ÀS ©5vç½Ô÷}n½>ãšYÇ.Ž=´SFU<»ž·°)T½6y’HPe¾"“d zö{>Ó»@%g¼²Üâä© „¾;V Ò»¬¾ë©ð~“¿X7õÆHS•?Ù0 „vp½f2 Õ=¤¿qú'Æx¡ü¾\_[Œ›_á¿fUŒCúûè?ÇYØaÿª½@Zz†8ÙÜ¿V‹¸×£EÀ¾ÃÒdÓØ¿¡<æ¾@'õSõs½ÆI‡Î)¤ä?„—–Ün2±»†=!nºŒ•¿ÚŽG•?\¿†Î÷ⶈ½D}ŸA¤?ZrZœÞVÖ¾ÏúSiôí>”–‹)ÎUмÔn ™¸˜ï¾|ü†c—m+Àš:/Å ÀËá²½¯A¿:œØ¤àÀ½H“ DK?¹o'ò$½BÇ<Á{,=j‡oF;R»P3ôXý§B½ˆŸa¯'WW»,[~ޏu¿´¡“â%?3tu‹Y½I#ŒÊÆ0¿W_›x›z¹ðDg©Þ*;¿˜4ÞýÌeS¿ÒФQ°ùȼŒzK¢ÿB?Ðê¦M:\q¾¸£gé´q¾[='éS§¼ ÷FX‘>Æå–91½Ž£Ù½~KóBÙ½˜äŠ3õ>&¿8 ävx‡¿$Yävx‡¿òo…¸ rì¿Â󑯣W³¿(‘¯£W³¿L«ñßó¾Vo+ s¤ü» ðûuF<m™ï™ºªi\1eY ¼lý“;%0½Ü=¡£8ZG=ýÎ3#tƒQ<äÅ·!šM½múýmVì¼ æ¤ôÉÑ‚¾Œ×Ü`¤J•>YI¸;-´¼@ÇJ–¾Ž°vNYx¾P;¹ÓQá ¿x˜ÅÏÙ?Pjñ˧½ð§n´¿`Î:Ïz¿h›r=n²¿°­˜ñëc¤?ÓPLë䋽iŽîhñ¹¿>ålÙ¿Þ^à–Ÿã¿p…Ôê,á?¹íÙ^‰²·½*èä–Ô¿dZ¿Û Ñ¿pþa$Þ¿€Âj¸<¿¶5»Ðý½@pÞÊWÐß?ˆdN2£J~¿à¥RE[@²¿]ÅJ³â±¿ÎC‰x¢C½°¾â7 1´?<àÏwJ¨¥½@zû•q¸=ˆ¥ø’˼Ìl>¦Á½²¯eOÙKÖ¾@òÉñØv[¿pÔ·dQíb?ð%råa¢½øp®{¦Ëc¿š:/Å À QÛ©ú¿àOÝíQo¨¿]{»éÄн.ál¯ê‘?é^=|ýð·»Ð,]þÊ×;²’w\7d»É(…±ìÔ»dä¹QxLº½„룢|©¾¤²»G ¨>wH€Q±`¼äÉ­UGŽÀ¾jب( ”¿ÐŠw>åܲ¿ðû§¦n¸?Ô¹à—è‰Q=¦”+¬Š?$Qù_f¿Àmýµ0‘¿0Œ/j°¼•¿¸á勿àJ½.$zÞ??,y BȾðÔþþ¹B¿ÀÛ IÃ>¿€]zN‹½¡<’K¤P?½Ìå¿®»™GªLÝã¼pË ÏÊÝã¼ìnÔ^1¾¹²È}—¾h—Rö¢}—¾Ð5΢QGh¿@= TöÆŸ¿§øSöÆŸ¿À©³tŽæ¿Ðø×*Á¿`Ôø×*Á¿(=¬­¼E¿ÿ Ë3­&¼º1Ìæöº+<ÑÎûKU;¥ºoX$Â.I7¼àV'¨ØD½ð}@"ü\=Ʋ?æj<äÚc¢ ½b½kòpƒà½Ài3B=’¾8Z`ª!£>Ø$‡–yµ¼`k¸Ô<¥¾ü'½¢Y…¾X«¨ì¬0¿ð«tC׆?b¸~3Û€½°°¤‡g¹#¿èù¶_׿Ð,/#\Ç«¿ÀXÑf³e{?¶ÑÙFÛ#€½ ßp¦øD´¿’ŒŽ]Eâ¿ _9^û[Û¿€™Ä“WÁ?¯‹Öަ½Ó]ä ýÇ¿€¬Ï—WXò>@»&Fã‚c¿`:¤PÁ¿â¾Ð̰h½`IæjçÂz?Dæ ‘†? ±pXš¡¥?À»l~Ò¿’?Ê}¹-x=J=øÖÜÓ¨¿WGc¹½ð„´Ê=‡qqA“ Û¼óI|sÔ½:nÈv6æí¾($8:‡Lb¿Xʱ½-vf?Ÿp¨v‚—=P·÷è…ój¿Ëá²½¯A¿àOÝíQo¨¿@æzÜ%[Ù¿¶>–§8¦½8ÎКóCŸ?g;…Ì™µÖ» ùŸ Qö;ü½›5Ï-ƒ»$`ƘÒó»¿·Yeœ¨Æ%áÃÿC?(ôÕRè…5?ÅäùèXf‚½ ÆJ³ÅQ¿é8ÒìmÇÈ»Œ•žr<ô¼†î]®ë<ô¼à ‹¶F7¾ ÐSÚ i¥¾„&Ði¥¾@œß޵âp¿÷°ë箊¿W˜ë箊¿@»^õ½5Ñ?@Œµ ¬™¿ E² ¬™¿pÑ ÃãF?5ÀOò¡ÇºžôWJ™Y§:ÄY†ºEÞØ»d¨gŽM²ºIþ %úò¨»¯›ÁÚi¼Xã &fZ½.KÐÙ»v<·öVEV»s‰¢íß¶¼w0†PIÒ<”„þ c¾fÙ$gм€~ŠŠÓ£¼ÔI+³½C·ï Z”$=2ÊYK6ë¾^´ó¶Š;½eío~˜Á=¥^oÿݽj™Età‰=0ÎDÕ ‘¿>yÝ!û”½ÑU'W÷û>DŽZ‚¿¼½¹:aÔ;À=ÀAzÎÿl-JþFë>+tA½æÑ/«Ÿ½ ç ñ̰h½@ 6a ¿¿±;Ÿr~O¨=IÝz¯3=°ÒoÍ™4a½È®@éŽW½€1–—ï‹‘¿îgIægWl=9ƒˆp(˼Xér‰‹â–§8¦½7´ %È¿x¬O°=)Ð!P…a»kA_h;(o)¢‘»aŸìo¶~»h3•;,»£ Øß”\¼Ël¬ûk/ <ÉàÌZ.‹¾t];"ü}<ž0n…àÄ<À®)[+ç=€$ŸJÀ?W=À`ìj~‘¿Æ‹g8?PE=õ¥ é8₽ÎaƒJ8}½l#§ºkÛL½P9¥Ônr¿$däSû:=q»ü £¼"=÷¹w‹½¿ëU9z£½hd‹×ôÅ ¿/œ·D9¤=ÆX¶> ^»ŽÒ©¨Ç`¼)îÓúàV`<#Ô¡˜eé·¼î|j|¾ } |>9ª½YÃ-½0^=颿0:Ê<é¢?ö²[ì÷¶½à?µ«²Ÿ£¿à/««²Ÿ£?¨œU‹–ŠI½!ÝS(q<^gÆ›j4¼A³â”®:~W)á?<ày†ÜøI=& - Úkb½ùÔny±c¼p9k„Zf=ðᇼw=ؘIs&”>8›µ@¶¦¾:¼e‰fÂ<ØAæS8¦> Õ²Ù%>¨ƒæð%?Áµ§š$¿Ppž÷D ½@Ë.²*?˜ûV^¸7Ž?Ðë0©v˲?@ •ÄþÁ¤¿¦8ÿå’=ÐŒ_ia¹µ?bØKÀÕ? –‡›")Ï?àÏ¢Í&Ç¿ò¥KG³=;¤Ä²¿|;à‚¹ Ý¿`§SðØ¿ü.˜ñÍòp?.uò$Ëx½7#m¤ãÌ?0­P†ë"¿`xä°é᳿PW¨ y´¿,4›œfJ8=ð[Kíd°?lCÄoIkÁ=8»#_œÓ½X;Rs®–ß<œ{ùãÛ= J¤w„‰ï>ð…æKc? J†%k¿`4­3šb½ =GÂmg?H“ DK?.ál¯ê‘?8ÎКóCŸ?x¬O°=€¨6§¥Ø¿UUh#ß4Ö;WEyÄ_ ö»Y`—ÛAµ‚; ‚NÆ"ó;)¹In9Ûà=ù‘REÂ>4zîBûÀ¾$¨ÐQ3»’<ÈÙøÿ#ˆÖ>Œ/€ôîL?8x\f¬?˜TÙBcÌ•¿‚)p¬,D=À¤óãË™¿¾" ÁcÌk¿Œ@ gƒ‹¿pßóõ¸‘¿V²T¸œ•G½÷·È> R?¦bër àå¾ ¡CÉR¿F¶¼ƒN¿§‚jÐù’½`ËD¶Æe_?%71b É;Ís=~=¤û]D©~=$à[EF>Yª[ge£>¨ÂÎýhe£>Û[¾c? TòOv# ?ÀráOv# ?À6óæ Å?àÇR³Ùç¿¿ R³Ùç¿¿>•»^&P¿Î©8ó¿™…» SDš¿°- ò7›¿± "­âÒ¼2¡çŽÛª¿~›•2¿ŽÀ*liæ¿Èèe;p?ð¿å2½FÐ(›åÂâ¿ÇlÍþøfº4T¬JÀ¿Eó¥ò‘¿`~¥`ï×o<”å<À>Kˆ?F2HÓÜe;P)DÉÈé¾tÅ9§¬6÷»tp¾eÜ> ÎëL°=½Z8ÏjM/C½{¡|`]ºñGŠƒ©;=¦n ݨÙy¹ìzYŸf¿ cugXëL?Ê‚É ¶±¼½å_;¿…Y™¹ V»Š µC2ý“¿Â¢Bô ¨¿6c¦Íd’À¼zºZVÖL?9&jðFAº½ÚÅ?” oÛ½öÜÒ¼=62ÇýX×=ZKñĆ;2À¬gpä»úÀT ”ß?TNtþ§àU½,¸•®ƒ?G¾ßÛJq½µÎ¶"˜½‰‚Ó XŠøºS·2®Cy=VkÇI¥o¿ kÇI¥o¿žfÑql±¿¨dÑql±¿ÇA¢¥ k¿RT:ùÔ¿U:ùÔ¿0a/Ÿ—¾Ä Öç@½æÖç@½4„›Qa¿Hß-È•°¿@$±Ì¶˜£¿¼’+ÎUž=0Ø›Ü ¹¿âmƱ©Z׿0|„®Ûïä¿0ÛUês,ä¿Zì£!y¨=À£#søz׿¬y‚«Ý7¿ÐXZ¿‡U˜¿Ðë^´OР¿XU¸enÿv½À…騭ó™?ªEœ”¨¾0¶¾/¿@9Ý> @¿‘öÊmwz½XüØ ¹2?¸c 'IÉ$¾@(Ư¼Z@¾+Ág@½¬Ý™Ã7>:ÙÂmÞŠ½p?ei]c¥½äôZèq‘¼P)–é™é¥=ÙV\`U»pOk5gs» ÕŒ=»w—öÙw;¡7Œ;¿ðnÚ w¿¨~w4“q?HƯ—Q=025røJ›¿„Þ/ÖÔ¦u¿à¿Kw²¿ðáiÄ ¼¿¤[þòx=8Ôc#]z?•t‘ˆo½Ä}JÎZ©¾ø„ÑH"½¾_Ã}¥¸”½Tú¨.q¹>‘š ¥B²»GtŸy•Ñ»]…¶Ë¹Ô[»½ã¹sæÐ;¬gpä»úÀ km9wþ¿°ãîM«Å?Å,CQ‹ž¹=Ùi·¹?-uW‘/q½´Ih÷–‹«¾(á<+Ž’Ã¾˜Ûä‘…½l<ímÏ/¥>$y„)ZÇú¼®¨)‡úð½ X%­§y¼Û&x[´= LaRë=‰¿0ë³Së=‰¿@nñf?¤¿°¨ñf?¤¿ð† ouo‰¿JºVÈÀ˜¿`—«VÈÀ˜¿º öÁó¾p&Ä;½>¾èôº]:½>¾©}6´À½¥»ZÜ~¼Á_U´ ¼öâ  eÍe?0â–ǧ?À|kóå|?¬}—b:/±= Âê§²?”h÷ÿýà?Мzêm'Ú?€ÕäTKÅ?¦Ëc®½ J%,ÆÈ? 8ØÏ}ÒM?`Û*š™?`z“w)›?¾c9aÌÑ•=` ²Ëè ›¿m÷4¢Œ@> ô‚ºJ;?`¡F6S†I?ƒë(Eø–=ð8`G@¿è¨%;н9>t•¦S>±–Cd=l[>àfM¾ìÁt~.¢ = ;9–t‡¹=öxÂo|®<,áÖX÷$»½®5ß齡s;tÅó¸_‘;Q»ÏÌ;&Óuΰ㕻Íåý Á#¿À{øú÷M¿Ý¥‹Þ8u¿Ë/ÜEüG½€&©Ž‹“P¿j§Êf? ûpø\„·?ß]šC ¿?ìÐtl2½|‹çΘ¦•¿ sÅÔå”?=¸’_X»>˜¿Lƒ}8Í>‚¦åÁ×l˜=è³ï©I˾´…­A×Ñ;RŒÑfõð;äÃñj7*{;på¸Mï»T ”ß?°ãîM«Å?ÃtÃÆ¿P˜ùì܃½Hjn³¿Œ"'Iý—= k.èfÃ>MäTM™Ú>.üÓ-=0ÑO’Ƚ¾½E.®>=8st:Bf'=³-QÞJv,<Î1°~U‚1½ø“Áå"ùƒ?:ã"ùƒ?€ê9Ö°r¿ ¬Ç8Ö°r¿ u¯™l?ð)Y¨”Ì&(sQ>8‘ÉqQ>±é¥ÃêÜ =?Â2m< “€ Y</Ú2Ò†&x=N¿ÙŠÁ›½vš'+mA¤= f}~Â÷Œ¿#{Cƒ=‚i«Œò=4uÀà =÷|½¢¢= ݉Cýÿ럫¸n¨=øžFˆŸ‡½@ã°ˆöy½\zâÐw=@}B³½Þw¿cå ½Á ˆ½«™·"s5¼#g·f4}½Â©Wwm퀽0R(-¿UÐè¢ks½»Š0zš™=%ÍGŒ'½äã6®s¾¿|‡f~%=!Áã´Y™¼%Ç#Ö­¼ôÜ]nºm½Lû)IyHª<^v÷§>»%Vä:#»-å6ð¥-» íî¡';óhü2ú%½±d”Ö×G=¸µ{k}NQ½@”þÛÁr¿°ÿªg«4`=ÆÓSí4ãñ<êÒ~¬åv=–ʯyö‚=€åJgŽë¿œ˜ÐÅ&#G=)ÿNg±ª»å5Oîq‡=„ÃpÑ_¶½j¸M‹¾¾ü÷ßšÓ±=#K2k`»Ã’+h"ó~»ØMY,‹»ÆàÑÝ…%|;TNtþ§àU½Å,CQ‹ž¹=P˜ùì܃½Àµ ]m²¿T»—=µm¿/:y»ƒ.™¥œ¶½J[¤!9+;½^³. Œ¾På@Z_äï¼|R¬§y¼ûõ¹õh‚ ¼~Z±ÅSYà¼N½(Á|Ý,<`Єqd)h¿ðνld)h?€»ùquƒ¿pÛquƒ?66Y! tz½@¤%›-fz¿ ²Ÿš-fz?6ìÔz/Xq½Ød|µ$Ä"¾ wžÄ">í—d£üõ»óVöa‹ç»r) ’žýå; £Nùžu?БÓ݆®?ä` ±¡?7Ÿæ‘g°= H„ÓôK³?æzG.Ó?¶ÇÁüûÍ?àÑ×]5È?àdÒEŠ|½àÂg>(©¿ê8|žž½|‘„C>Š4ÿ$úM ½´(t§Çî¹½Ôã±¼dð’ôž¹=D@Kƒï‹t»„ˆv`\’»H¶ªL[»M‚Y¼·–;z–I=A^U?¬Jí²T–? [ õx¿|2Ìw+K½°ÑÉah ?l­„že¹0¿!VO Š?¯_/dNp”? ZZ±ÉP= óhì-™¿>±–¢Þ:½X–¯lC¶¾èò?ìsvɾÌ!G<ž™½è 8£J’Ä>1‡žäOÑ»MyN‹,]ð») K”öy»:¨•Ží;,¸•®ƒ?Ùi·¹?Hjn³¿T»—=)²2l!·¿P^’ˆ~y½$ì¤5•£¾¸=k’¨»¾ŠWUÂ#½ Ô*¡4$ˆ>ÁìAÆ~½´ØúÐ’1½;ØñMb1¼)íñ7=€ "äP‡?ðg\äP‡?F õ!Kž?@³ôô!Kž?ìÊLb9q?Ág0xY‰¿Àžú/xY‰¿@ùLq.ý¾äu–QŒD¾Á¥XNŒD¾}áq”Þ½8‘d×»¼£Åð¹¼0â7XM'a¾nìÛŸìù|>{>Nc[ƒ½»F«`­t}{¾J5º÷é¾Èûy6ö?ƒJtÈ:ôO¼ðÐMÅö¾9 a%鎻@r‡qš¿\¥lÑÞ­?fáWÌdÆõ¼š)ÂY€b~?`\ð\v4¿Äû-Ñ¡oæ¿Â0……4ì?¾1_wí@½4™›šDeè?tÞÁÇ€¿ˆkÐÊÜu¿ÜGÏ´µÌ¼Üÿ@r3þ”?¢‚(õ)m;Gõ:{Ç Ã¾/åÈ߾мÎOAÌí>Ÿ¦¦í>̽>û¤p+½aNicÇÃUºòÀ%  G=1=(wÁ s»Vv0œèKÚ<+äŽÎߣ׹ ‘5¡ŒÔ¼Sâ•ZZ»z¹’É?œ f¿Žy¥J™C|?,f¿¤œhļ¤)вk¿Ê,XW»w¿7‹”¿¨qüÑŽ?ûƒ`»Ÿç¼ð÷VÌSئ?¾€LÃôFº½@7,dâ¸É½Î¶)Ú$ó»j9ñ‡¥×à=-uW‘/q½Œ"'Iý—=µm¿/:y»P^’ˆ~y½¶)lUA2ÀvÜ+¿ À(Ÿ¶KŽ¿€êûrz‹½è–• úˆ¿±Ž¬är½áXä›a=ž×!yÃǺ‹a9ÁÞš=JŠÏL£²¾ …ÏL£²¾tèäg„ŽÆÒäg„ާ_hɬ¿j.ó}»o¿.ó}»o¿¬,Áaík¿òÙ@ö”Ý¿’Ò@ö”Ý¿€ÿ„H"¥—¾õ×Wj¨{‚½ÓÜCk¨{‚½àHáqžþs½à„-n±ûì¾XöÜ AÕü>Îã$%² ½ØQ®Tü¾nò>ÙüÉK¾ÐZf¿?¿ÀxÍë5O?§™éÜ«š2½H'^tÁ@¿¨ýÂð\a¿HÕ_º°¿°Ùèù*»?nž'c½€`§ÏSl?|M£;xh׿°ì‚c#å¿„¤žûá?£PhóͶ½ 6¿Âƒ†Þ?,’É+ 7¿0³:‚˜¿à8Íš!¶Š¿–¢Cû*I½P-RPA`¤?`ñ骢«¾0èòc¦/¿p°yN濽õÓ¬z=àW`™4XB?\±ëw<Ï$¾dÇðS…ü&¾Br=r¶Ã¼¬6á>-gC>¨‡…P5ꊽ@Î`×›½ÚªŠ—×<È·À欃«=CgXÔªb»\­9ëõ«}»½¹žÄæ »„u²ŽÇ;ÄjÏ3ê ¾‚Ò¶ Ä~#> Åoƒlår¼½‡åk7¾Ñ¡í;¿ :Ç´(ª¿À fí§˜?J½¸£üK½€Ÿ˜™WŠ¿—Í?/­u¿82rc眲¿àÓÛ•à—?ôÊÒc<Ïx=`Â2ññ»?݃5E꿽H¤œÑf©¾ Ih½ò’¬¾lÈ!°ÍÀ¼ô‚t®Â><ÀK+~\À»Z·´?7MÒ»Ù¢§š~ Mº¾Ë‰ Ï¢ä;G¾ßÛJq½´Ih÷–‹«¾ k.èfÃ>ƒ.™¥œ¶½$ì¤5•£¾vÜ+¿ À`ºm"Áþ¿Ð¬Ý®>ÿ–Á,ÿƽ̈¤'À¿ÍõÖU cq½ Ç$Ú&™«¾ÔfŽ˜ê±ˆ>R/좉Mp=DÃRÀ}BÄ>hèu¦ºû¼¦ƒ·g罯ÖãÔ ±¼ÁJ÷ê²k=ðè9ÐÀ¿Ð‚¨ÐÀ¿¨<°2”/l¾øJ&2”/l¾ÏOP¨²°¿@º7¢Mx‰¿p ¢Mx‰¿°9-øŸ‰¿ð’®ý˜¿°2®ý˜¿à—Ç D×ó¾Àé©íÓ>¾p'n¹MÓ>¾ TÎýù ½Öt<¹‹`ø»ï–ÐHaø»žVº8”½0ã3ßø¾`ºƒ¢H±?zŽÜƨé½èâ³xI¿VùÄ˃&l¾ %Fèç.J¿…"Z·gW?HbÚŸ_O)=€ëéFžK¿(åhÒ3x¿ °š­q²¿hžã™!º?N/›8ú½ME#W?Û Ž>çÝ¿€$²[*׿€e'%Äç¸?pŸ¼Áз½ tàY(Ì?ta¡'$2?ÀƒE•Öi?’¦=í=y¿£ *³¨ZY=d‘Ûœðs¿>ÓÜõ Û>ÀØeØ‘ ?h'::P ¿)°Ž¥x|=`wèá" ¿° &lm[!>@VËlj7>v¡èѵëÕ<ô…–3#@¾ü–T§¨“=šäN 7Õ¡=“HsôfÔ¼è®÷Ky´½ù¦û¹JYt;{åã]l;Ïü°;mª@Ú™»|=|Àë0!¾Trä8>\"˜·8’w¼ls×ß¹4¾4ýˆLWS¿@T«‹¤ø”¿à;~¹ š?p‡ªÈ “?½À…§Ýµ‘¿hû¸Aor¿C1í¦¿ÀWjî÷¿¾€«º‡Él=ø]„Êϱ?G=öñ¦)-=jež2ô§>Øý Ä÷þ£>óå¢A\Ã< Zì}‚êÀ¾öQ\äŒ Ð;€!±3á;íÎn@JžY:R@ŒË1ô»µÎ¶"˜½(á<+Ž’Ã¾MäTM™Ú>J[¤!9+;½¸=k’¨»¾(Ÿ¶KŽ¿Ð¬Ý®>ÿ³œêå$Å¿2µ‰V’½?ªrÞǵ¿xÞ#dì`½(gÓ¨,Õ¾ô¹MYŒ¾O'åè/äq=À]¤ ·˜¦>¹Ü˦“=ê/’>(=<NÜj‚*<Âi·±1½0Å!A¾‡¿Àê@¾‡¿€®!ŸGõ}¾0ÈïGõ}¾€ŠÆ¢¿°ö/,@ú+/, \$:ƒ¿ ¸z47Œz?à8i47Œz?°L `\ó>8Øu;\±.> OÁâU±.>ž RZ·i =¸Yøío <çBËp <égÌ_ ;wRRB§=Ÿ†C öý#=З7ÚýC;¥V! Ø$½FS躄’Ð;:ñËc=y£/¢¿X= È»Þìm¿ CcôY1F½ï¨d/cˆ½L˽ÿû\†½õhi+=@œ¨ä6¿B"¾³Îç[½É¾rY¦BÞ½øÖ0—AÈ´½‚r©dì’¯=€U² •`Ä¿MÌÎ8i³=-‰SHýØÓÔ¨_³N¾‹,£_³N>öü'{½ µ´é\h¿ 5<³é\h?d™¼ñU½ ‘óoFÁz¿ÀVÄoFÁz?{:&8ó½<4ÚÛÓ"¾¸ðüeÓ">Űp¨»¦‹Éåz%Þ»Çýá^ò"Þ;žI«³r-“=¸Ê4AÖõ>¨pg¼£¿”Pº=;Z = @WÚrk~9? ?ÿ¸H¿~êˆ\0÷ÖÓ¬½€~øÈñË–? {8#fpQ¿ ewÊ$œ¿@Xy&ìí¿§Ö`ÇOX½˜Âÿ‚–£?¸àÁ‹±#B¾`O–Ëf>¿<16ȸ*¿i¯Ð¸q½`÷ñArP?X‡Nâj>¾0º+@Ç@¾bÖè0b˼X5 ‘Œ¥[>´¢ðO1(¥½|YDJµ½å|'pPÍñ<ĵ(Ÿ &Å=1†;8¾„»¿H Òëu »àÏDÊ{-»|+%y®2ª;ÈÃô¾ù>Tb' Ý‚3¾ŠÕN¶þŽ<Ì"Úÿà_->”Ó9uñB?àC¢K(? ¾}ùˆ¿Oºòà )½€C ËT¬O?vKÚ{“˜‹¿PˆB±äHµ¿ èŠHã™?üËð‡ís=@_tCH»?—‹IÛ™C½XÆqºÀ¾l÷$*t”¾¨ 5ÊôvÞ¼ÿTã³rÖ>^09ø8ã»ù1ç×Ë8õ»*>çùNoºè|ÉåÀ<S·2®Cy=l<ímÏ/¥>0ÑO’Ƚ¾På@Z_äï¼ Ô*¡4$ˆ>è–• úˆ¿Ìˆ¤'À¿?ªrÞǵ¿a²8 þM˜½€­“2‘õÁ¿ÙØK½ ÿ˜½lóöºÆõþ,m|Ô•S¢>?ËfšÁûw=ˆêmy^LÜ>`Äè§þœ½Î° e:$2½N¶dåŒ3¼€ørÐ8=¥¼ÆÆ› ?°xUÅÆ› ?Pšj“r>øœj“r> qi¥6ž?¸T›–ïOv¿:A–ïOv¿@@ûZRŒ¿‹´ŸHÉ“¿p㪟HÉ“¿`Ûó{𿌧D½wT¾d‚SÑŠT¾ˆZ £xæ$½&å²È¼ñÀÂçQȼÀ_8ŸÈ»]ŠŽÂà;'ƒ Ö7•WºŠ_±wsò»«û´(a¾ˆíð}û>p>»!R†kN”¼"„º"M@‚¾0*¡‰Dùé¾XMˆV58Û>ü>ÇÞƒ‰½Ô€¤ ¼‚¿ä줨„»Èçæ·š¿¾¸±È›¿š½©ûh6¾½ãU媿¾Ö‡¹5¿ªª œ™q濽ìƒãcEð¿-ñ ˆÍ¾L+ðQµÉâ¿PXÅ/Wrºóå›,É€¿ãÝüiø‘¿.ÁÌ¥E{½BŽbéÙSˆ?Èš¥o;Êm?{OÑé¾d[ñ^¨À¼èð¦$oÜ>*îŠÉt2 ½†ŸE0’D½Ì¶²ª[_»ãûþ㚨==¸/d&m ¼PP·öAÆ<ÀdÔUNžº‡Kðvb5à¼ØCnvtz¹JCgM‚ f¿²I±õL?+Æí¯“½ŽöÕ¨¤F¿¡eW'ÂUW»xД@”¿h/¦ï…¨¿˜N°Í°á ½ÐãË·L?B‡ÈÞüGº½êPÁe«vÛ½bæç‰ ×5»@?®¢_×=ÍõÖU cq½xÞ#dì`½Á톾+«±»ÙØK½ ÿ˜½t¦ã"C2Àœ*’Ô¹À€BlüÅ?ý–/7^~$¾$(Y]| „?ß+zür½–š¸×˜A™½NkH̦dT»Rc ž!oz=^„ÅEµ½{áø¬Æ²¾Èª»¬Æ²¾à‚>"÷ˬ¿Ôa³=¾o¿Üþ ²=¾o¿-þõAk¿ÖÎBüO࿚ùûOà¿’¥ ™§—¾ú𙀊{‚½…Ï™€Š{‚½S>»™z¦Ô¼{ÐGiPbäÃñIv¾=÷ylà6ëܼܩØ eϽÇ{³nüµs½à™†Âèí¾H0Ê<«áð>Þñâª1͆=hñçRT¿"“u3 ÔK¾€Ö¡×uÞ?¿àFÓën–%?´j‘koà¼=øïUÓl”Q¿ýLÎ`a¿hG„–Þʰ¿pËRp裿R1H@dÔw=Ðæ<‰{h¹¿œ”;zIl׿ Cý[`6å¿c~"²xä¿ÊšžŽú˜=åN™Ë׿FÎu,7¿ÛVb桘¿0#²ÿM ¡¿ßθEýN½ðž‹¾þGš?ÚE¨x1­¾À~X¸´/¿¨šeB )@¿@.?‚‹=¨ øËÛ2?D'·Ô$¾ôm5_¢c@¾ F4„S!;½l|J?#Ð7> æ·™ñ銽„3Ðö}i¥½ïñ ëjÄżTÝõ´ð¥=€ÕéýAK»‘s+i»o™.Ÿ¾¥îº@„Ÿ›Kj;HjÝ;™QѺÐk¶+ô ¾<q™ín>ô£úc›=ÈmÁIŸ'¾,¦e];¿ÀPÎü±¿¿ÀIßkGSq?’á®CÛ¦Ÿ=pp~9Õ›¿èE‚@@¯u¿ÀLIõ ª²¿@gG¥“k¼¿ø;ÊÍu`½ qºg¥?®à™àþ½p.„$“k©¾ðn,h7½¾ý¥ÕfÂtÙ¼ 0Ú%ºƒ¹>Ê6LÌþ²»‚Êç¬Ñ»OhPt/ð$ºëb¨>rÒ;$y„)ZÇú¼½E.®>=|R¬§y¼ÁìAÆ~½±Ž¬är½ Ç$Ú&™«¾(gÓ¨,Õ¾ÿö¹¯Up=lóöºÆõþœ*’Ô¹Àf-¢’Ûþ¿h¿¼‚ §Å?hãv©gнàš\S줹?ŠLÂZ<Àq½0ö(F,ž«¾h£›¯ Ã¾âÛûûŸX½ˆLSí?¥>rc%‰R=ü¼?Š?Àò½Œ~œ¾Â#<%L "=H[fþä¼½„]Çѽ½Ï!oÀ§Ë¼oUPÊ#¼(—N0#b¾8/ÀE$ì¿Z[$ì¿À„Ù˜Uɰ¿ GÚêF‰¿€yæêF‰¿œ.™±‰¿ÀÎGD™¿ÀxED™¿(':*ãßó¾àÄQ—ªÚ>¾ˆàЖªÚ>¾É”^†¿½frZK¡ã»Q0yG¡ã»É;SÔÞݼ‰4íaê<.Ò‹îó¤¼Y9§b½½Œ«¶½ø,¡5€ãÂ=”>DÔÕ•ã¼dðq¦nèÕ½¤ñÕ:J†½èʳÑm6é¾À1'3å>/_>A‰=àQdâBÁÿ¾È§üÎpA¾€É,/µV¿“ƧàÜ¿!hïæÓý´=@Ûý$z+¿îúÓàe?pÍ@Ðsc§?`Ž`A}?@n ?ç ½ /q=QC²? G3á á?ÀСôΖÚ?€0í3äÅ?CAðåj“=àZj(šmÉ?ÄÚÚ1ÜM?€’òXVm™?¬Âµ½¥›?Ç®íRöP=àI™uœ¿¹8•[@>pÿòˆ7y;?@tѸI?Ó \° ò=HŒaúòf@¿4×W÷„Ë9>ìrWï—S>ûÂIk‘BC=hù!â¿vM¾¢5W9Ú© =ò·k¹=dÒô]óÖ N„»Hè$õãº4Y ¤ ¾äœC ýZ >„«9×°=¬ÂÿZ­'¾XÃl^ÊË#¿ õ ­‚£Q¿P9ªð$v¿¼Úš©œó”=ÀÀ$“U¿²iÁÕ? ’±£Ï·? rÚËÖ€¿?$m q= ÌîÌÇ•¿Í°›Gë>=x¦™ »>¸´ó&NÍ>®‘q¡<@ÊJ k3˾ô¹MYŒ¾ïCŽÄ»b=,m|Ô•S¢>€BlüÅ?h¿¼‚ §Å? Fåüɿ쾯¼BI›½ó nw–벿ëR„jʘ= ð#?¾sÃ>hâLí\­Ú>n Ħ€Äb=Ð}/Ȕ߽¾ »r(ô:=#âùï³(=ð–zŠQF:¼ §åÏ×y2½rL¤:ëY½²”êGˆZ½É̯cž¡3¼W`Ç3¼`[áÉTBM¾ÅՊŒíŠî¿`®âG¿ÐþˆÝt<„?ð%Ýt<„?øxb š?àKÐèÓ‚? •ÎèÓ‚?°íóŽÎø>ŒÄtÂËœQ>pUÝÁËœQ>q¤¥V""=ú1 ÏóBü;¼ðÉUïBü;E%Ô…i¼©¿2¡@<"<^éÀf•ñC¼U£’po*7¼öy=:Ïëâ¼Ý b°äó|¬¼š¾Ûhä·=ÂnÒtTa=ÀWŠ|‘¿¥Ä)¨ª=ÀmUkê‚=@Þ§n=&öTA‚= ¿‡>°d¿,™ŸÖH=r=Nå†Oö±=@8¿ó÷&Š=pˆÕê ’=à±ã¬MŠÄ¿° 4L…k¦½˜Γ–@½u%›'™`½ÇRÏúöl½@‡ý£ù@x¿°œ]Ûb=XŒUW<ðÁ﨩{ê¼é ÿeͳ= (B$xg¿öÙŸO m¨½WÉy äA½l¤—Ð`¥b½Ôî};}¾EØ9èX=³å™õvÒ<¬¸^A%Üé¼ÄËS3…²m½wó5·Þê<1Ùè` å¹€À+Æ?ˆ»Fbÿ÷?!»@´P;ïVIÊ›¹7,CŠ#x=j÷r½½ÈyÒfS°ë½KÃï5@(+=3Ng+c!/½J„[ È =FäÂLÕ€=@É”îv×q¿¼®â5ý¡½âÉHŽRê¼Sëd’Âal½¥1þ ¶u½`˜¨Rœ1‘¿t:|ñãL½þ¿óÑMæ:•ð×1ìŽ÷Šû÷ÛÄ=ÔçÀÉh¿ ¹aÁÉh?r ]Ó²E½À¦=V•çz¿À+%V•çz?ùß=“È€½ˆßƒ £×"¾8¸%£×">º#wæb»Îï8GÈ»€ä¶± GÈ;‡ Ýqëó<¼±< ã§½7Í?Žj&<4|óâŸ=,ðóÈ=Ì:Cô1×½7;›&¸!ê<(﨤\Lç=Tx b™=€™{þ>p¥Ô؈¿_“ö\<«ª½ WçÔ?0kì¼uso>À3Ž^‹M?0P¢?šû²gœ‹½0‹¸¸ú©³?Ъ¼W¬Ó? ä†WÎ? ‘¾âþÈ?Å èmC ¦½ài‚Öa󩿘¼~Ê+3D¿àì¡B¹éˆ¿€5BÙñ‘¿˜#.¬ÍéI½@ †Ûñu?ˆ|=™S¼1¾@dz•¨P+¿°ÙÞ«H;¿@è•Iƒ½à5AÒ.&?€ý—ïY2¾hŽ)dfÒL¾-4Þ^¥ÓA½pÄŽ¯ÃŽC>0ÍupT ½$JÄ#ö¹½É6X…<‡Õ¼Pk°Â¦¹=åRö£w€l»” É^Qл֡÷ï»'‘ƒ7^‹;ûHÿÌGBü:ÔØ9I“$>”ðƒë*¾­Li¬6½wF7=B>Ze±båiU?@‘óm¾Æ–?°ýåww¿2VfäH½ð5j8m ?æÙ7è¾0¿ˆ'Œs×$Š?¹ë78u‚”?4n•ˆÔ=Q½`q‡°}™¿Ø7 nL:½†5JR¶¾ˆg±Ê"‰É¾5Î2qq:ë¼Üƒ Ñd¡Ä>µ |RHÏ»"’èsí»Þö«y8?ºÌ:ÿÖ¥í;Û&x[´=Î1°~U‚1½N½(Á|Ý,<)íñ7=‹a9ÁÞš=DÃRÀ}BÄ>À]¤ ·˜¦>®Òn<)“½ˆêmy^LÜ>$(Y]| „?àš\S줹?ó nw–벿ۣ¤oнwÄ뺽¿ˆämÒ³óy½Èa¿…ž¢£¾ˆZÅwa¼»¾%˜ŽáòJ=ðT¶|o:ˆ> …¨4z⽤TZ-2½Ùn˜—½@<8‡ßyF9=´˜¥Iõð.=`œ­•èò.=[óÚ&v<<,ÈÙß<<8>fáv>Ãÿ(y?Ð(1)y?à kúß¾¦? ùë}X¨‡?p8~X¨‡?hµ0(aq?À»€awÞ‰¿€ÅzawÞ‰¿ÀÈЊý[ý¾$èäšžD¾05€šžD¾¦c‘‹¶°½?1”V±ô¼@˜™­ô¼2Å>tn!a¾°ÖtDtï|>µŤzìe¼eM s{¾ŠEGJQú龦ô göø?/uÒGDÿ¼ÌþíÁ'Èö¾è}}ix…»,;xÈš¿}Sõá­?>¨=#èù¸½LNjqf~?D8 5¿4Òµšˆræ¿@Ë̵ä“ì?wü)ÃÊø¾ hqhè?4I)–.rº=°U×É€¿Èêu؉ßu¿Z Õˆ?8™½”‘»Ô•?Êè^÷›p;,Kÿ% #þÐP2§;î¼°¿¼Ï:í>Z÷ÕÓ½£ÏºÉî+½x;—ÿý£½:Æ<)€çG=¬µÙjQ¼À2¶°c˜Û<‘¾l“çaåº&7˜¹Õ¼ñn¨$½z¹rYçb f¿œÕƒX/G|?ê€wZ»{½ÔÀ§ß‘µk¿÷‰g 6ZW»Š"WÐ ”¿ôèú˜¤ƒŽ?#Ë{~¸½Ž·7Û¦?` ÜE¹½²Y·"à ɽZm…SmxÓ»:£ù¾eà=ŠLÂZ<Àq½ëR„jʘ=’•¤Ò#\Œ»ˆämÒ³óy½. w÷C2À´ç<ƒÀPR–⎿ `qR%$¾ÀÞêZꈿ‘!Ôq½Ÿ¤¦YÉ\a=1¿G·©¡»] ùq¤™=H0)­Ö¹µ½ÀXcJgDz¾UW'JgDz¾`0/`$ͬ¿Ð©=‰¿o¿ò‡½;‰¿o¿š‘e_k¿ ’y—Ῠf¿—á¿JŒsè§—¾úi) ν†Z Î½Ú ÌåFÕ¼Gkxx®õ×+ö×ìœ]½;Áº/0ü¾Ð-6(åÖK¾W5'Vì?¿àœM˜›fO?½É[jª›½àP f»Ú@¿BúŽQba¿BþwÒ°¿À,Nà±R»?ê÷µÜ×r=€¿f µm?Ð$è n׿°Vê;¢?å¿-Ÿâ?°LžÕ'wª=Àbo#v¶Þ?X¤³(T7¿ð­tC–¬˜¿p´Õ?ÖŠ¿Ð ZåQ-½p‚-¡|¤?&§¶F-®¾!¡Eè»/¿¡©‚ú¿>¢‚Í.1½¸³hRfB?@$r•Ô$¾¨{:\Ã'¾þb´Û„‰]¼¼Kî=-lC>Ìnj/D㊽è‰2™é ›½SL –U¶»À Íy«=ny<ž^Òºgc%-8ó:ÚGZ–ï)€ºï@‡ëøœòº ]‰½ÅÓºЪð2ú ¾@rƒ?ôŠ#>9%…fÄ0½ìm%K¾ð”ƒ©;¿@{ɲɿ£Ý œÚ˜?©U÷aol½ÐwyøÿΊ¿ì2%âE°u¿ ö“”°²¿àqŠEP˜?¶u[…òòU=@b¢ÒX¼?ñ×;ß-™½°åB7Mn©¾ˆÄü&œ¬¾Âr¤N‚]<œåp( Â>n% ¨L²»†pz½„È»ßÉÕ\82ºó]ai%Ö;hèu¦ºû¼¹Ü˦“=y—[Ú ±¼`Äè§þœ½ß+zür½0ö(F,ž«¾ ð#?¾sÃ> ø±b!Y½Èa¿…ž¢£¾´ç<ƒÀ@ÅöC³èþ¿(#ÁøJUÿh/䟫oͽ¤¾6…½À¿œVè;ñq½<uà «¾«hÚö¸ˆ>€ÕrÿBT=<~yƒHÄ>)PN—bü¼ëXÅJY½q‹Çøê“ª»IÍ;”n=±B_zI¼”§ÑÄ´½¨ƒcoƽHÄ1Ýå b¾`}[Sõ¿°0AVSõ¿À|5I~Ô°¿"¨ûš‰¿@­ûš‰¿€¨‰¹‰¿À[!™¿°m\!™¿@ʉ„µäó¾XÛ >ß>¾°æñ>ß>¾Œ_êÿ ½£r¡¤z]¼×x×"¢¼ ]4šÉð¼ukpvrµ=ÈÌ õóYó»lý+W·« ½hÍáêÒû½à ]ÈÔ5Ü=cCêéÇ*´¼ž½çyÍݽK˜šL”½8§]Ͼø¾¼¥nšÌ?ü³nÈ}½à4VOf¿üº{¢4l¾Ð;$<àWJ¿`¤r§‘W?xšÇ¿®¾½à g÷»ÌK¿äElíÚx¿Ðû2 “²¿€h&CUº?WUÆÚÍ¡z=l~YîY?,iÐ!„îÝ¿àÆJõÚT׿àØÖ•:*¹?¤,½6qÜ›=À‰HákÌ?ø’ ®&2?€yr å$j?PÉUy¿(çÉùC=ÀýVH¨;t¿¶äj—'Ý>ÀáUšñ¨ ?( ˆ¶# ¿@#”î¸ND½°Ð"§2 ¿Tz‘Pa!><„†YðD>0p~ì-DJ<ì} ®±)@¾€†EO^£“=Bª+p¨Ð¡= ƒ¬ÉXZé;(R¬Ø2 ´½ú\¦wMLðºbøO¨=;Éô‘Õ•eºkÔ¢°Ø»‘¿¹…žÀëºd'Èq[“HRd…A½4GüÇ4¾ìÁð{­]S¿0PàƒA)•¿H¬1Jgš?0PáÛW½`Õ]xó0‘¿0D.7îqr¿€bjfh¦¿(2@ÄÉ ‚¿Ô…¿…–ÀS=`–oé\±?ìhQªû,=°üˆVû§> èÄÎc¤>ú®²v¼ˆ3cðÀ¾ün²N؉º;J6:Ñ;ÓчýÄ!;:–™ ໦ƒ·gç½ê/’>(=õÓY43¼Î° e:$2½–š¸×˜A™½h£›¯ Ã¾hâLí\­Ú>i7¾u«1|½ˆZÅwa¼»¾PR–⎿(#ÁøJUÿ€'ÿ|meÆ¿y _Óh¶Â=>D—4CÀµ¿K÷Î0ü{a½P©09Þ¾€ž”>Ù`Œ¾·«*X/µ=¨ÊãÍŸ¦>eëD\§=ffË<Ô(=Ðña¿wË;O·3%:#2½àG£ÊÕ¼0|lÄÙž*½¼þ ab *½\¥EjG^t¾Ð1•¾¥È¿ð­¥È¿`òÝpÌ¢¿ Ô9!ò¿ z:!ò¿À4™øLƒ¿€,:ÂÓz?@Ž>ÂÓz?à8!akjó>¨ç7‰¸.>xQ48‰¸.>lö1Aq =s–NÍ< q]ðI <+È:‹××»zÆ Ã˜ó;—eÌ'¼áF¼þùÛäò»¯Eú霼)C›Ôu¯<˜àðu6‘½©7„}(±¼ã nÖ ‡0¼GÕ¸kÚša½/õ|7z\S= œLR‰f;::èd½˜xnpxÂú¼so°f ½sôÓXDÙo=€þ2B¢¿—¬PÆ Âv½¸ËU…úyÀ½HNTæp=Os?¨~½E-Ì,{¿ ]ÓêÂX=nŠtg?½Üã޲©=lý¿l¤¡½àž¾MŸÄ¿P»4ðà-–½W]Sÿ©J½XD!æø¹?½¤8¿—†Š0=@CX©|Px¿°¤¡2¤¬K=h4‚«€m¼š›³1=¸ /1QàK½ÐÄØËp¿€ò­XW=õ‚% œ„_¼c|¤(tl¼Àžx¾VÉc^£þ…<H8Ñ©¼ ¼b5­÷Û;üŸÊÚÆ¾m½½ïÍ“ÿŽÑ;S+q›Š¦‚ºì¦C×£:"èþ„1­ºl­ææ>£º:é®;µ¹Õ¯)D†Z3½Þ®·ùQ=àJæ*³ë½R^q€oÇL½³iÄl˜!½ä²úk¢o½Såy‘ûâg½@¤ibåq¿¢z `=ìº5+Ça=úå‹M_= ÓËœ­r1½ ºì!½;‘¿z/½?ßs½ÜT‚báôá:FŠ®×a<Ø R »ÜT¼HT|·ÿ‹¾ókÅáÄ~¼—‹øô5ºu“ŽÑKºââ7™‘»ò¶ŒÃá´Y:¯ÖãÔ ±¼<NÜj‚*<@îJtðà¼N¶dåŒ3¼NkH̦dT»âÛûûŸX½n Ħ€Äb=@ízÀŒ¾%˜ŽáòJ= `qR%$¾h/䟫oͽy _Óh¶Â=O¿@P,¹¿'ûv…Ç=ÉüfÆ—7»¹e’1xŽs¼ 9<þf=øÁe"Œ¾Ðç–mÛ%½ûÅÆøê“ª» “F¬Éœ±»-UŽ—L]á¼ÃeŒLÔæÈ;‡Êö±»”‹ÛLvø¼øÐ}¶pø2¦Ñ¡Ájx½ÀlXÌâh¿ ãcÌâh?˜“M#,†=ÀYãŠÝüz¿ ˜ùŠÝüz?Ãܺ{ÃUú<ìÎ1K£Ú"¾ôw¡J£Ú">— ÿãöQ¼Údú ò»=wYW{”ñ;Ž;À’@ìÀˆO"í½¿Õ•év=hãâ|Ã9?òó'æ¶:]>Aл¨9?0©=çH¿\q£¹ý­=°—Ðz11?ܸÉRH¿(ŒQuØb—¿ÈfõŒ:£? ÂqÙ÷j=pËáCa'“¿˜K›’’Ù¿°8-®Ô¿€g‚ÌýÕÌ?@€:”ÀŸ=ï0Ïñ–?„îÈëØrQ¿@ˆ”š]/œ¿@Ie¹n¿exH‚_RA½€‡Ù;÷º£?ðr&H=%B¾XÑO|>¿ÀìËÓÍ*¿tLÄl£½<ðâz©P?È7©ôNq>¾ŒÂoÊ@¾»“Ð¥0éo¼ ¿âç«[>(;B|@$¥½ì@±DFµ½ªr¸3åpß»D MVN!Å=Q‚­ýô: rS…t»è@{º%D¢:øÊüEm¬; ò¡ë£â:À–±üÒ >¬ ´â3¾eØ|»ù9=Œ kvs->È™äµ÷B?`IõØW? ɲ¡åI‰¿pX2æä~=€È°ýÚ`P?8Þœ‹¿0XØhªcµ¿ Úªš?ø =½ Ê®ãÙn»?o°Ã±ÁþB½È:v¥„À¾ …šÂ¾ˆAû+n<èœzÖ>å%W>FVÖ»üËä—ìí»qJ[ÆhûUº1¤K :Þú;ÁJ÷ê²k=Âi·±1½ñ5xSô3:<€ørÐ8=Rc ž!oz=ˆLSí?¥>Ð}/Ȕ߽¾E«qwÂdj=ðT¶|o:ˆ>ÀÞêZꈿ¤¾6…½À¿>D—4CÀµ¿'ûv…Ç=¸i2ÿëEþa»Ó™½8{Ù§ûþ¤'>ûX¢>¦Bºç=|[|5•;½Qòê2½Šœ>ÁlÊ»ts\õi9=Þð*ýnÜàš¼16æ ?ÐVØ6æ ?gh×±ž?¸‰¬`v¿¨x‹¬`v¿ðŠ|€EqŒ¿ "é/…î“¿ùì/…î“¿ïKqˆ›¿Oµà T¾ìŸÕà T¾ÐXH5ë¸%½{Ã"»^$¼ä4As•$¼ÙŽJ¾)a¾Ž×]ø?p>ï~ ƒ¼¼Ù[(iA‚¾8ñãðú龬1sTø9Û>¦ÍÎ÷:…£¼ºˆéR„¿šŽçB,…»pÌ€©zš¿PëDõ›¿IÖÔZ]¼l½\BH)窿A)ã•5¿"ˆM"sæ¿P88)Fð¿ö–­Æ¬¸Ã½Uk}þÊâ¿o%RrºYþ~{GÊ€¿xÍþåšù‘¿˜þ1^ƒ.i½¶Ñ~ëvUˆ?Rÿ-×^q;(¿£~öÒé¾XF%uƼÄ+B÷pÜ>99ÔLZ½pž6ßæC½°À‹ýU »zmÌ3U²<=NƒÃæ*yà¼1¿o±³mz¹l‹Ò–ö f¿¼÷WVœ÷L?–ì·»= "½Ž*ðѸH¿ÆÑQVW»ÏWã‘”¿|Q°â¨¿/þdÀ$½( Ÿ®©L?ä ÐB[¹½¨sñj¼wÚ½ÄûS+W»>CèJoƒÖ=œVè;ñq½K÷Î0ü{a½ÉüfÆ—7»ëEþa»Ó™½f¬¶ÅƒD2À8l¶OÀlëÝ5dÄ?±Fí³tÛ½ðWDÄm„?{±œDrq½šà9©Y˜½»‹kࡇ»¸¤|³4y=z…„;çz¶½µxKkàDz¾ˆƒJkàDz¾ºœo”çͬ¿†Vê®]Ào¿ÂXÝ®]Ào¿,¢Äqk¿¬áY‰p⿎~F‰pâ¿`m™‰¨—¾ÀXU½^£!U½² ð`”Õ¼?VP:å<Â2°jˆ»õª¬¬…û¼lÕEU®¯½`M }¾= ßâ1<ù»LÉ«Þ!lϽêyQ« t½¯ásí¾ b“0¡êð>—y˜m ­¼à,‹¹I^¿.X[(ØK¾»EïÎó?¿@V @¤%?êÒç±® ½°€iÏ~¡Q¿Bú½.3ca¿ðz·ì×°¿ðïž»û£¿lú2Ë_p½;Êz¹¿P›”Ó=o׿@ . Eå¿0¯Ù{;‰ä¿,rzª{$Ž=,·Ü׿HS_B67¿`œÎàw´˜¿À=4Ûw¡¿w)ɸÐm½ ›Ž[š?,‰ÀW¾ðËî ”Á/¿Èá*&“0@¿Ø|É@†=8³ W:ä2?\Œ;òÖ$¾Èl˜¶%f@¾)ª¥iž²Ú<èr|ó(Ó7>ÐEûÉ"°Š½€“ç58¥½_Î'R‘«&<¤à#¯¼¥=äßúºÖû ¾œIæù§t>¹}ĭͼ!-¦'¾<–¶Õ ;¿ ž&?<Ï¿åâtš_q?'\åç+`½@áW0ñ›¿.:÷°u¿†SÑ µ²¿ð–ì×}¼¿öÇ„Š–y’½Ø±X^Yª?BˆŒØ5¤½P•bi~p©¾îø•=½¾:î(™ =àËÞR ‰¹>CÙX»Ô|Ágžá»»ö¨Ã(i»;Þ -á;rc%‰R=ü¼ »r(ô:=Á]§ØI÷º …¨4z⽑!Ôq½<uà «¾P©09Þ¾¹e’1xŽs¼8{Ù§ûþ8l¶OÀ€Å´¨9ñþ¿hA 8'¥Å?x¾¼þÎ=àiÿ¥Œ´¹?u0OÉ&òq½0=­ŽÙ¢«¾ëRÝ3¤Ã¾Çꪦw=,ô øFC¥>ûqž&Pgü¼$ä2޽vËJCP¯¼©têÛ¦M=mO¶¢ÀI¼4À‚¾½ªy}l½½D"éš b¾hn÷\iú¿X‰¡Kiú¿€cœŒÛ°¿Ð7¶¸ ‰¿ ñ ¶¸ ‰¿øÄÔ*¿‰¿PúCñ@*™¿Í4ñ@*™¿–úÚlèó¾Ðæ[MÈà>¾Pœæ °à>¾îX…gÐ ½ÂISG¼ëÞ­µ×¼ï==}ëLß¼ 0õ]Žë_íþ¤P¨=ÐE"D‹Ôÿ¾~ð\sA¾à2€A\o¿ÐD“?íî¿ïb318¹­="±ç˜+¿àèi´ããe?°Ã#5åq§?`F ÏØZ}?pšNDZ/==f‹I#O²?¢Å-é á?À ø9þ­Ú?àL€ÁWÆ?­\û&I«½ ,üÞþ‘É?l8—ÔåÞM?€ä– ?à✡Û?ÀÄÔc= ßWîœ'œ¿’i 2Ñ?>ðu)ã„;?ÐK:ÅI?¬»’¢˜|¦=°àмn@¿„a²1ùÎ9>Ô\çÝËšS>÷Té&,ú<Ðý+[zM¾ºIïN`‹ =bj`¤\¹=ÒT˱`O†8||º=€nVв'¾Üf­¬dÎ#¿ÀÑe¥4ÖQ¿°á‹[p,v¿žš†î=€Û¬yU¿ yä†+?`±±n±ß·?ÀVKm™¿? ¢Ã̤=4šH0tË•¿t̾Gà?= (!í%»>Ù§yTÍ>y(ž=A @=yÓA+9˾ŸÜŠS°và;¶+¶µ¬ÿ;åolqlІ;ò(œÈ­ÿ»?Š?Àò½#âùï³(=õ³i Bª;<¤TZ-2½Ÿ¤¦YÉ\a=«hÚö¸ˆ>€ž”>Ù`Œ¾ 9<þf=¤'>ûX¢>lëÝ5dÄ?hA 8'¥Å?€Ò¯Ãè©Ê¿ ­#y²Äཧ̇Ï[겿 "{Ÿ™=ì0(K1wÃ>ˆ^~õf²Ú>ŽQ'µH=¨Áh«+å½¾Ì>NÅ'V=ñ„¬‡”Ù(=øù,òQ#!<Ï\@–2½(;•²ñæÓ¼Œæ‘K쥽2•H¨½¨“ÙöõOM¾xdË÷4ý¿ÞÊ5ý¿àƒNãÂp¿àY=zªH„?Ðã1zªH„? ×k¤?PCÔÿ“? ?Ôÿ“? é¼<÷Øø>ôœ¦˜» Q>ÐæE­ Q>ÔØ CŸE"=ÜJ\ÜÚ%!<òªWRü <®y ,ÔÎÇ;é”évÓ>ú»ˆ-3:¼ø¢éâ4q<é%¸ôàÒÈ„¾òy!Òñ<b%u1¼lÞ™¾˜_>¼ðžåÀJŠm½ )v)¦P<ÃØ³ç[=‚öxkíœþ¼äµ:Üp¹ë½î Ž¿ñH&=eÈVJ÷ɼ+<1£îúŽ=£î8k8•˜=Ð$åŽ(íq¿œ³ d»‘½Ÿá† ã½0Ù›"Ëmƒ½%w’‚Aн0ò~‡B‘¿ø°²¼ñ{J½ðñKš©‚»U³¼yŸ£½Beob7€½ð•ºó¬‹¾ßœ{Ÿ’^1=áDͬRl;þ€Ü—¹¸»OX9ÅIª™»ù͇V/{Œ;Œ~œ¾Â#<ð–zŠQF:¼PÇjÑBá¼Ùn˜—½@<1¿G·©¡»€ÕrÿBT=·«*X/µ=øÁe"Œ¾¦Bºç=±Fí³tÛ½x¾¼þÎ= ­#y²Äà½WD´¹¿“v--~‘â=e?á€Àë¶»;q»!qw½hçöî—~½P>Wf$Œ¾¸7&ePïg=} ØFP¯¼™ÖÙœ.*¼ž7]Ἀšòd•1<Þ2= øì»Àõ~5[ø¼hÿœÊUø<6°«o|$=ð WÅåÃé¾€K¸èÃé> yd³õÔƒ='^{›h¿à÷ä]{›h?Z÷®ÿ.Š=@±ï,e {¿`\P,e {?3—q[7-½„Åø3ÞÛ"¾ŒgcÝ Ü">8±|¯Í»˜‡&·\ì»Á#ª°qˆí;­ zÑÓô<ŒDœüõ½ºj·¤Q]¼Z—Ñ9ñ³=z1%È=h¨Ñ8×½OÄ`ð8”ä¼ "ÃóSç=”À}"…™=¨µBý…þ>¸ÿ.âÀ’¿Ÿ[ãlz¹½ˆð[^ß?G.õ>xo>`'¦Ú$M?`dâå–3¿Gk°¹ŠSÀ½ðµ“‚¾]?úÊ›–“µu?·½ƒÏ(¯?@Mšz3¢?büÜ©â¤u=ð܃º^¾³?xn2ÅÛ®Ó?À€“L­Î?Àó¶Þ4)É?ÖlN÷—=x=¢($ª¿zdæÿ4D¿`ÂlÏ'‰¿`‘ÒÁ'‘¿œHÙ=+™Š½`:cÇ!¸u?®I’*k…1¾Pàg%]+¿Pé˜#Û;¿6o¤„ÿÛ‹½púi¤Ñ:&?pÇØÆO\2¾ ´ØL¾¾äY:ã¼Å†!˜’C>Þ¼<´9 ½á'Ìȹ½•¾¬ô,G;¼X­KšÆu¹=Ãýà¿™$> Ùq–$*¾| Ç’… 0½T)*ôCB>ïãë°lU?ðý¨¼à–?ðÀX¹‘w¿f£'õ¯½ øÄ®!ƒ ?Ê|Y-À0¿ž"Üo%Š? P𨂔?€W“¾ÿ ]½…SL掙¿ _sŽd:½ éV½ÃV¶¾˜ÿbëÁŽÉ¾<Ñnul(½vpHÓ¥Ä>{GõôäÝ»†Ô¹tRü»!«c#o„» s; xû;%L "= §åÏ×y2½²' 5š F¼8‡ßyF9=] ùq¤™=<~yƒHÄ>¨ÊãÍŸ¦>Ðç–mÛ%½|[ðWDÄm„?àiÿ¥Œ´¹?§Ì‡Ï[겿“v--~‘â=óF«+í¾¿þžäHü?z½Pn(!¦£¾œ£•¯Á»¾Þ<ÓCùƒz½`@ˆ>:¯0|½œãœCØ#2½w°äÊœ*¼SqÀrem9=†ê‰ŠŽÞ<´ p¦b/=è…íL¥f/=¨#°®êv>À 7®ƒ…?ˆCx„…?`ö~Ówå¦?°õ†Ï½‡?Pø{Ͻ‡?àâŶ¦hq?àÓ0ß©Š¿ ìíÞ©Š¿.)Ø–iý¾ ¥àû¡D¾<Òü¡D¾²h¢Ïï½û œè‘!¼t…ÏÚf!¼­p` Þʺ8ÎK€@:*áœiúp¸æÍë-+Î=ºØpÏs%*a¾~êæJÃþ|>Z†Ê%ñÿ·»ÂH¶~ ‚{¾ú0›@ûé¾vÅ úú?Ü㳺1ÔD¼¸ùFì=Éö¾)šGP„»ÎÒ š¿f!T?yã­?Y}][¾y ½¶l´h~?L ˆ/²5¿8WBEªsæ¿@Æ×wU•ì?v5€4l½$è2þ¬iè?áò®\8rºŠƒ`ê©Ê€¿~Rªžàu¿kž=޽åwÞ•?L¡‹½ôq;&‘Õí#þ\{»ï–Ïr¼êÄ]’í>sì@" K½§T:íy+½Ì9×Ý&{Ⱥ.øi§ŸG=ó PìÛ¿èº _—¼u…»:^ìÏ4Žþ¸3*}‚Bþ;-]?fº$\!tg^Û<Ódà–‹Ò¸ÜXÆöbÕ¼ÿ±Ðš®$Y¹´f'} f¿njµSœH|?‚ÌŸ~6aļô aÄõ¶k¿»t-ðWW»FH@¯”¿˜NEÆ%…Ž?â>žiæ%½‚ô«QVܦ?¦ˆúÚ¸½Š²›ŸMȽ:Ìw r»}¤Òß=u0OÉ&òq½ "{Ÿ™=e?á€Àë¶»þžäHü?z½Ô ë~E2ÀêèD!ÀÐÐö5Ž¿Ž›ôšÉ[’½Êâ]鈿®fÉ—Sq½¾ËÀ_iÛ`=;ÖýYD»zô]&Ìè˜=úïò2d€¶½ÁÿVȲ¾ê ÿVȲ¾Þåä¡Î¬¿Ì)_{!Áo¿èñ^{!Áo¿žZ<)³k¿* î1㿸²î1ã¿Ø}F›©—¾óƒ@á H½®š?á H½=-ƒR£Õ¼Ñð¹Î– ö¨#㊽ì…M\ ›½°»Å¸®½Í¼8ÞI~«=ÜàWkŠþ ¾ˆ 4€Ž#>÷—šò<¤9›bðP¾®I/T­!;¿àÅ–)-Ô¿P”jÙë˜?jŠ.~{н ì²×ߊ¿’WH¬˜±u¿ i(.¹²¿à5–F'˜?ºFÐu1ˆ|= ªÍÖݼ?Øàï1n½(ÓE …r©¾õ²ò ¬¾KéúÈ+x`½+ R¬ Â>ñ쎒z»´…¹D€Û†»ÓÈj¢\a#»Žö¾©™Z¡;)PN—bü¼eëD\§=ûÅÆøê“ª»|5•;½{±œDrq½0=­ŽÙ¢«¾ì0(K1wÃ>;q»!qw½Pn(!¦£¾êèD!À0kï¬ùþ¿XÑIYWÿbÁUH¿=H_ÊDÀ¿ÚèÏZùòq½ly?ɤ«¾ ^ú¼ˆ>,|‘­¡k½<–@‹KÄ>5úçîR%ü¼«Ð”U_2½Š%÷R)Ðñº ×µîßÖ=ÆpÆ..¼$°óê½ï½À¨©?b¾ÀYªÙ¦þ¿ Þߦþ¿€ ¾úà°¿àý¨¨¦‰¿$ò¨¨¦‰¿‰±dĉ¿°kr2™¿Àl§r2™¿0úíà ìó¾p¥Ì\3ã>¾P¿k_/ã>¾~žMŽß½$MY ;Þ»'žLý…;Þ»\n86Iñ¼¡Å‰¸ÿ=G:IN”‰ »Tšõ{0½pó`Dc ýÀ^4õNÜ=ño]ܸç¼dŒÉþ}çݽ àXM.–“½Àq:)š'ø¾ÈZ•zŒÔ?»›ÀRWh½pB‹¶‰n¿n “ÔF6l¾Ðl–EdJ¿½4¾W?Âïœ:,[½7O§çÚK¿‡8x¿ g`©õž²¿à˜Ñéhº?83ÍÁ‹§¢½A±wΨZ?$*’ñOñÝ¿PÐÕÎd׿àU¨8D¹? ÆMŸŠô–½@ÜMÝóÌ?Z²P‡%(2?ÀÌñ}hPj?ð¸ÏÒb`y¿ÏâÄ F«„½@H±dt¿Êu2Ú*9> v½q)· ?¸Nˆèü* ¿ž¯ÝÁ²p= ‚zðö; ¿Ø.0®b!>¨cÐC>K ™“á²Ï<ìäœê*@¾8Tªï¦“=¬EOUÔ¡=)S‹]×<(póÒ´½ˆn³#?!¾<œ»äòù8>UÈšyЄö<Ô-FÎË4¾^)w$_S¿°¼‹WÛ8•¿€)a¤~š?«[K/À½°UpÁ'>‘¿Ê ‹–sr¿`å¤nŒ¦¿¹¢F‚¿iÁÓ-Vý\½°CŸ'L!±?{Ѿ?´Ï,=ãY+¿ÿ§>‹gÿ ¤>~vl†õv\=Œ–;fóÀ¾¯¾]“§ý;îĶЙ—;ð&Â#½9;\•Åaݬ¶»ëXÅJY½ffË<Ô(= “F¬Éœ±»Qòê2½šà9©Y˜½ëRÝ3¤Ã¾ˆ^~õf²Ú>hçöî—~½œ£•¯Á»¾ÐÐö5Ž¿XÑIYWÿ ùŠèÆ¿pÕdú˜Å½.±D§€¿µ¿BTKQ·}a½Ði'iâ¾ÎF‰dŒ¾­e;’Å 3½¨àhïþ¢¦>²ÌOGÚ=t`Ú… (=[;p›F;öù¨¨ø1½JsL‹9Ö¼˜BŸöt˜*½ eÍ0ÿš*½â&|ct¾p½$¾iÔ¿0c¸iÔ¿<É9ࢿ°ˆÝž-¿Pð Ýž-¿ɇYTƒ¿@kcÈùz?Ày¶cÈùz?¸ìuró>È*ø#Þ¼.>(yÀÐá¼.>Z­¥å®> ={¿v ã ÷;ʘýÝÏ ÷; Œ—SÈ9óº*±ïáß";9{¦5¼hËšð+Û»î>°á²Ü¼«vLv&ù<€?ÔZ@‘½5ÒC,ü¼|‹¥‚„;Ћ­æìo=ßý©Ác¤=pÏávq;oá,:¬¦½(Ä×pÞ¤¼:Wêz’[½)1@3›q=ÐþúW³¿¤Œtã9i½—Q_•-=кòGT“½¥ªŒ=  šœE•¿CÆ>”¯;†=ç:¾ŠÐ)Õ=¥)éwoÌœ=F)¹Æ¾žµ½À/”¹Ä¿\‘²G–=Iö;L=Ò½îf”kÏŠ=V’J`ep= Õ‰2Íex¿ì”ÒæÈ˜™½òΆO•F¸¼A@:ž*z…½&¶«¡q½@7L&*~¿ÿjë]ðr=[ô¢uÄï¼ÖïÀ¾ÐÏø¼¬ À꜆¾3Œä3Þ=ÑvãAtÓ¼{‰^_âÂã¼ )-©m½$ðÖ‰j÷<jB€§‹?¼.}ؽ˜Ekì¼ë½8k(ƒí =„¢â"[W½=ý3µ{•ˆ½&„/1–= xД#ôq¿lP&n°D½¤æ?Ê­~u½/„ô¥Þƒ=ÔÊÖ‰ßXƒ½ÐZÁ‹I‘¿"Tf<«¿ˆ½êä ¼ßYŒºRÕ 4cF=Ö {Z!l½R›þ)"‹¾6*có#†=UÕuø¥\&»sáý×Jg2»Eà¤}ÍS» ã”M;q‹Çøê“ª»Ðña¿wË;-UŽ—L]Ἂœ>ÁlÊ»»‹kࡇ»Çꪦw=ŽQ'µH=P>Wf$Œ¾Þ<ÓCùƒz½Ž›ôšÉ[’½bÁUH¿=pÕdú˜Å½ÔþZu1º¿ôǧá½ûÄ=i:ó f¶»¶ÍÀ܆ºi½½¦kiX=Èqmâí&Œ¾¼ œ«°en=è.S)Ðñº ÷ß1Y »ßEÀ­À5á¼w"Wç*;MEnÙ:öºHåÆ³Êƒø¼¬9pJ|ø<ØL«Ö+ô¥¼°>ÐHÊé¾P™«jÊé>ÅÎOƒ©˜½©Ì> ¥h¿ÀÜ/= ¥h?HÉ‹€$:½€J¨Ï{¿ !Ò¨Ï{?}íp‡àŒ"½$ôŠœÝ"¾¼ìƒP™Ý">\F%ޏk2¼ó [ØÄ»ýÖ°6Ä;±äSS±Àìd¿Æ¿I,i =n½0<žÕÈ@?´wwß=]>ðQãyµ9?°w>b{õH¿ñÜ à<Ч!!1?ÈL*¼™‘H¿0:7)h—¿ÀÒÈ?£?½±}Pq=•ƒ33“¿X?KÞr”Ù¿àeâ Ô¿@>wèÈöÌ?B´hJ"³=À—B¯K—?r¹€BtQ¿ ÏG´ÞDœ¿`t$ã¿‘è%%…=€›ÜœÌ£?ìCy:°A¾Ð΢S‡>¿Ð ±Ö*¿:—t}yn²½X ˆw†P?XWа1w>¾ä¶ £ÞÎ@¾*š/™b½ÜÈÅj²[> 4ìÆ#¥½”Xßi”Fµ½KÃm|lâ¼tGÛ:z#Å=€íI¥ä>ìXd­L“3¾Åvä³`f½hA¥ËÏx->Þ{én$ùB?ÐW?A&g?`WP kd‰¿ÿ m G‹=@«Ag P?F5ðFž‹¿ z›oµ¿ 08œ6š?VäuTèU†=`üÙ»?Òú=FßB½€TQF‚‡À¾ÜdɾAÅI\lf½À¡n@N~Ö>‰Qêz‹€»/gù*µWª».ÒŸš£E»Ø |q%Ã;IÍ;”n=O·3%:#2½ÃeŒLÔæÈ;ts\õi9=¸¤|³4y=,ô øFC¥>¨Áh«+å½¾¸7&ePïg=`@ˆ>Êâ]鈿H_ÊDÀ¿.±D§€¿µ¿ôǧá½ûÄ=€U\zµÃ¿ÈYÖ™½,ÀÉž¦þþ£¾^\¢>¬`.NXz‘½È¸ÃJÁYÜ>TÐNdÓÿ½õߪi2½ÄF÷•;»^ ñü29=¸Û±¸g Ý09õVwô ?ðœIQwô ?. ÔÜž?PµôPhv¿È8òPhv¿Ð(ÄÝÓ~Œ¿`›ºSÊ”¿ päSÊ”¿hUѹõ¡¿4pËNT¾µ8]T¾v:OÅ•%½”çëÔú»p®ÕÔú»Ù”žxµT_ºaË#ÄÁòw:Ñ¥A[Lá¸zdh!p…ºM²—*›*a¾M)îPË@p>ošG{µª;ë4s9VB‚¾|áÏDüé¾Î‡NN_;Û>„Í>2›1z¯²-½*7I£ÊC½°Ù¦íòM–º7Öšdv‰<=Ë›¬ƒÈÁºº^On÷(QÍ:ú‰¬g„©;¹¦d@ó"`༧Àñ}X|w¹^ös'f¿6þŽ%ùL?0Eð… Ù¯<Æh°TaJ¿û.ïP»ÜÀÃ¥”¿R瑜m¨¿ªòŸsͼþÓ''L?̬óéhKº½ÎÜôêXzÛ½¹Ø@‘¼ Šåb×=ÚèÏZùòq½BTKQ·}a½i:ó f¶»ÈYÖ™½|2€¢E2À8ÖNÀ˜ô±Å?»K¹R/õ^=€|¨Õç„?Ú€;€GPq½X¬£Š+˜½~ÅÚ¬×(׺ÐRžæLy=\¬R>÷€¶½/Ÿ3ÈÛȲ¾9¢3ÈÛȲ¾6ÙÍyϬ¿pÌ·Âo¿öqÌ·Âo¿´4‚‘„k¿ÔcË(ä¿,_Ë(ä¿t}"²¼©—¾ ;³ƒ·H½ø-³ƒ·H½\ ÒhR²Õ¼£±ycå<é,qOñ»bL¥Üƒ;û¼”BÒ‚·¯½„û*þ‚¾=î÷]9Àå¼xÁJ´sϽ¹×²ôÜs½à•´j'í¾Xs§šïð>Ø÷fŒñ<½0®×c¿°I|ÛÆÙK¾hwcA@¿€7ñŸ‰­%?b*A¦AR½È Õm©Q¿FyЬda¿`Î †Ýß°¿€P)Œ ¤¿†SŒ„Æ“½ðôOÀGˆ¹¿hl€üq׿q_!¹Qå¿ð~– –ä¿òúšêûœ½°Mª‡ïë׿Ê\ŸÂ‘7¿ ¢dnŘ¿7ë8M%¡¿ƒïå›z½êšûölš? ‹j[§±¾Ð NmFÎ/¿¸a¢wÝ7@¿Þz«jjò½° :ì2?g<÷¹¥_`º``<óGÛ$¾ £Vëˆi@¾¾½©šÂ,½ Fg0¼Ø7>Ȩ<Öžñн(žs¥½Ç‘¸ßE]Ÿ¼èª;P†ú¥=‹`®U»V¸w¬jær»U1"™•ÿº®,¾¯“ y;„?F€£ ¾9™ZÕw>#ôÅܧ¡¼¼Ò¬ÚW«'¾À¿¦¼v";¿ xÑ­(Ù¿ÐB_2ehq?æ3mæÍq½€’Ünœ¿" Ój²u¿ðæ‚q}¾²¿pÓ×i¼¿TÁÝŒ“ßH½¼Ú³Ý«?r&5-˜!½äKKÜu©¾ Ì[ÝDD½¾¬Î·E†C•½XŸÙÿ»Ž¹>é^=|ýð·»g;…Ì™µÖ»)Ð!P…a»UUh#ß4Ö;ûqž&Pgü¼Ì>NÅ'V=} ØFP¯¼:¯0|½®fÉ—Sq½ly?ɤ«¾Ði'iâ¾¶ÍÀ܆ºi½,ÀÉž¦þþ8ÖNÀp|º„ÿ¿Ðë§Å?–J»«Ñ”½è¸Þî²¹?:s ­6q½$Eá }§«¾üü)A§Ã¾K•tÙ/]½¼ôÖê®F¥>QÕO8žû¼õ¸^•½¼Œ¸.u ¼ #Ät~={à~ÛX?¼ÈMƒŠ³…½ ³›ÿµ…½œÛV™ b¾0($6ß¿¨3ß¿Ð%kXç°¿ÀXë\v­‰¿Àá\v­‰¿ že%ôʉ¿ðâ>Õ.=™¿€Ð¾Ô.=™¿0©§Úñó¾ PËÜâ>¾`nâ¯Óâ>¾îl˜B½_HU†g¼ŽCM3•¼kÁݸ‰zß¼ržláaÄë<—$Hn¼óå»Ô/EqN¾½È$>›(¶½,¢á ©ìÂ=G –èæÙ¼”‚û?’óÕ½0¡_~d}†½Xj'qúKé¾8È¡»þFå>ˆÃ?æ±T½0˜çIßÿ¾4)G~‹tA¾€à …|¿"ú¿nåì/Q=pšÌ0!©+¿0µ‹Ëåe?ð¨yÃë|§? ƒ¬›n}?«Þ²5í=°tùNHX²?å »á?`Ák…*ÁÚ?€‹T†Æ?¹éyW+“=€èDűÉ?à©»ÉâM?`Ô0ꘙ? WæJß›?paÉmĨÞ= %\Îg>œ¿ÂÇÄ@>°ƒ;`e;? ¿î’ÑI?ølü‚¿%Ð= uÍéÝu@¿±lY:•…:ŒƒøjxÔ9>p)ŸS>šdè |?=XéÑý€M¾þ½Ã6ƒ® =´äøt:›¹=ˆÄõ`ù¾< oûú·:»½—‡1¬Ö‹t;¬$6Ñ;NuTè/à;­g?¸—»lÆú  ¾¯â§øe >Ã̲§œ:»¼ÌÞVú·'¾6å™Ï#¿`¡J'òQ¿€IÜå8v¿*Ë6aå I=ÀbG':¯U¿‚ªË‡B?€ Êå£í·?@!¬Q¬®¿?Ô÷}ÖOa= hûl¢Ì•¿ÂVû{š?=8 [ŽÒ+»>ÐùÖ¥j[Í>óÚ Úž¨=Ø it?˾Ð,]þÊ×; ùŸ Qö;kA_h;WEyÄ_ ö»$ä2޽ñ„¬‡”Ù(=™ÖÙœ.*¼œãœCØ#2½¾ËÀ_iÛ`= ^ú¼ˆ>ÎF‰dŒ¾½¦kiX=£¾^\¢>˜ô±Å?Ðë§Å?€2Ò\C4Ë¿1d¿¨Š«=]B¢Þ鲿 õ¯ ̘=Tr´5ÈzÃ>°¤zqw·Ú>‰¡Ù5/e=ÈÃ^~ê½¾û<2ìYÂ=³×=ó“(=šš´äÙ´'<ÿ_!Ii2½ÂÅ@ŸæïÓ¼ºdU¸-½Âpô±¹-½0¨WM¾@,u︿aÝ帿ÀÛ!X!‹¿ðµcR„?€è cR„? æÀ Ĭ?ÀYÆœì£?ðo›ì£?@ˆv`,äø>˜[=ú¢Q>lîTò¢Q>oPÆ1¶!=ͨU‰å"<8V¯°˜ó"<‰Zm5å3 »§eÈÚ3¢ <8rù( E¼b¿5¼Âît.’éâ<¥™<Èð=hyáîÞ>‘½£Uqà½tJ5páÄÊ»÷˜bùA½ÐŒñ@h ½ÏPIv;I̓JmÙQ½ï\¦n¾Æ;ÝÚºKX½cìoVY^=ภ² »¿ÿš{Zåy½‘Êô©Ül½¾Œýv/½RY[‹¶A†½ÀbïŽ1£¿¾bæþ8’½à|Ä–ùIÀ=vo6’œœ½njtÊš½ ì ÈÄ¿aÈóáŒ=Ì‹9Ãæ#½øGzÏ„§¾½{ÂŪú<¯=€™ sx¿#ß|ëNÁ½/RxÔ¼Û¦¸ þ²½žŒóc‹¸½à@p¢ò†¿ 3@ — ˜½<'»Ñ6y¹e n$=öÔ3ÂQ½PïI\‡¾¯ü£ª?'C=Ù0H™:’§¼=`†˜˜Ò¶¼$9DL«Îm½ýI8B½<#3t›»Úî´3æô!»l†H%¼-»ð’^dÈ';N´”¦!_¤¼DA§¡ôM’¼äW%â—¿ë½<ƒG”…Ͼ¼è6”DkF½—f«‰Ïq½V2É~d=຿(ûq¿8oØ6Ôy½FìØlÿ½µ†L³±Z½J°tN¯D½ BŦQ‘¿S)½ZÕj½Puy}‰«»#’·ôû™½w do¬¦°½Ð£³rÖ%‹¾Ì§>¢Á­=²’w\7d»ü½›5Ï-ƒ»(o)¢‘»Y`—ÛAµ‚;vËJCP¯¼øù,òQ#!<ž7]á¼w°äÊœ*¼;ÖýYD»,|‘­¡k½­e;’Å 3½Èqmâí&Œ¾¬`.NXz‘½»K¹R/õ^=–J»«Ñ”½1d¿¨Š«=št‘úȺ¿AÑ8 Ú«½ÕL*Îv»æÍôwÑ]½ÜÈœ¤lÿ€½ØpM*Œ¾#F;>ò¨9=îÈžü ¼»AÛ¯cɼ}FUø?×à¼e vͺ{)<´î"Ò:…¬; ô`Y÷Î÷¼ü„OÏ÷<áRmf‹Õ¡¼p`t0Ðé¾°!c0Ðé>øV†9Ê*y½ ñ,ë¯h¿ ³¹,ë¯h?*œÏÒX½Ù‘äc+{¿ NUâc+{?j‚½fFc¸Ý"¾Lü„ÇÝ">wPvIö# ¼ Óöl¼õ»AßÏi‘ô;EƒeDöô˜uÖĘ¿¡1>‘ X=àZ2ú å?spUzo>PÍ¢)/1M?0¤*)²Ÿ3¿8¦Ì™SWA½PW‰v¨Ì]?„Z'µu·u?``âæ>¯?@Ïâ½ýD¢?àèo;¶¢=p0©Ì³?¨âÓΰÓ?Àš÷ÀzÂÎ?þÙMGÉ? 1ˆÅ|¤=@½ )?Kª¿Þ¢õ7D¿à€‡ e#‰¿É8`b>‘¿LvxÁÚ½ À&¿‚Ýu?|^ôRû¾1¾pØâi+¿ ‚\Дž;¿7¤g{՜˽0QôíG&?  ºSa‚ºÜƒ3s_2¾XäMÜÜL¾P‹åÀš—@½(cà]æ•C>|–ÔôX ½°"ëÎຽŽ8ƒ÷¸¼fа¹=¬)mªå¶s»Ïû›’+‘»£s6ƒi²»è-žÑú€–;¨åJÚ$>ø0ŽJ](*¾”g€gëuÂ<Ô ¢ê…FB>B!óÿmU? .ÉñÛð–?ÐÜú5†œw¿$ÈmLâ= ©öü ?4”.ÜuÁ0¿¾7Í´¥"Š?dèá¸{€”?'zÑü2=k½ÐþÊ„™¿¶×õ(ýâ:½ÐþŸÉÁ[¶¾¨ëÒÜÿ”ɾîˆ5kj£½¬1#d¼ªÄ>É(…±ìÔ»$`ƘÒó»aŸìo¶~» ‚NÆ"ó;©têÛ¦M=Ï\@–2½ˆšòd•1¨àhïþ¢¦>¼ œ«°en=ȸÃJÁYÜ>€|¨Õç„?è¸Þî²¹?]B¢Þ鲿AÑ8 Ú«½€V‘ÀÀ¿9[ä©$'y½\ó`ü©£¾àAFðRÇ»¾ Ãïd½h#¤‹|Eˆ>°»¸Nv8½Naî–1½œMñ¢ã(¼JÔ@M0©8={OeΠÞ< ‹¢°3¨.=DHS7¨.=ÈŒ¼Qïv>h¦À’–Œ?(¡ÉŒ–Œ?༘*Dþ¦?pB²EUˇ?L EUˇ?8{VTmq?àÔCjÄ$Š¿àibgÄ$Š¿ð‚¯žwý¾oÒ8¦D¾ˆ(RÏ÷¥D¾ÊÓDÐ…½‹nÏ #?)¼{àá0c)¼¿ˆhòmລ¸»Ìï¯;vláqIE¹Ö¥%#»E~ÓPe+a¾D`ÝJä}>q¹5±=¼XY°”„{¾è¬ÔŠý龈·*¶û?˹»Úä¼CQËö¾ß3)ˆI~»ì™ˆ3!š¿D%Âåå­?k‘%ö_½XRKmvj~?æ}csI6¿îÁöj‡uæ¿Ü³¿¶—ì?¹Hµ(<ž½„ˆ˜³kè?%6;ãoƒWºqöèÄ Ì€¿óؾoâu¿´ºÿo¶½Ø'f²•?R”ºÑJt;xV2çs%þǞnRÌ\b¼Àˆ’åí>NKMRBô½žÍ#‹²,+½VºŽDðž‘:W›–?G=žýì£`º?íúín zºÙÐJ«Î¸-CüC ‡:­8EÒ‘…*»©È%ÿ)ßÚ<'ïñÔ’¹Ò{m†ÿÔ¼w¬~ϼz¹RG¡3f¿âðãÔJ|?ôJ™6½úž3‹"¹k¿"U¼]7»FŽWj¬”¿þÒŒ°‡Ž?¬Õç¡‘…A½ÊÉ¿;Þ¦?dä¹QxLº½¿·tƒ¶ø»ì¼èêþÝ'Dü¾€º,­_ÙK¾Ð(œèM@¿€lÌdzˆO?Êâ]˜Ù c½tœ¬nì@¿®àa ½©¾pÒ"ÀïÛ/¿–×"¿çý’€¨=xGÔùzB?¤Ô°ß$¾h;_'¾n÷b³â¢+<À|5ÅwC>4™6÷¼ðнD†õžD›½ÄÛwíÔ¼ld>«=xM? ¾Ü''†³#>Óã[¶¥'Y¼XÈ;HQ¾z6-„#;¿`?Ó¥rá¿dk‡ ™?5QÓHЇ½`jp”4öŠ¿€t´u¿0žUØÇ²¿àׯ38˜?œÚ(#Žì³=sM3”5¼?¹o'ò$½„룢|©¾Øa)xŒ¬¬¾£ Øß”\¼ù‘REÂ>5úçîR%ü¼²ÌOGÚ=è.S)ÐñºTÐNdÓÿ½Ú€;€GPq½$Eá }§«¾Tr´5ÈzÃ>æÍôwÑ]½\ó`ü©£¾\`À——=Ýÿ¿ÀSxŒrTÿ4_±ªÆ1¾\¢;b&À¿`±+h 5q½$+c&­«¾|YˆúBLj>C|>¾Ý½]½l)2ÊÀQÄ>M‚‘¤[qú¼¡Ÿ ½¯mQ¿ÏMäºÖ¢_‚3=ê`WΣÍA¼Vý54-н†6ÿ !н/§@Pb¾êJ˜b ¿ÉNœb ¿ zMâñ°¿À­á}⸉¿-³}⸉¿ £ +mÖ‰¿ðzU=eP™¿`4M=eP™¿X†IIúó¾HLDlð>¾ØÊ³|ð>¾XíÿÏUἬ/`bjöð¼÷ceÀÞ=tb©´‚»tAö ½2ÖÁ ýˆ\‰BUÜ=ƒ¸¾ˆ\•¼ü{q‰áíݽscƱE”½À 7´Ù/ø¾ˆßVÝ?Ç ]z–b½¸ôÔ8Vw¿d2sV6l¾ * !BrJ¿p4癬W?FO~¿ÌÀz½0(eÑæëK¿¸ûI÷Ù!x¿Ð7ÙØ¯²¿`>Îò.‚º?JôRn…¾½R~€‚[?8þËõÝ¿€{f÷•|׿@é ·m¹?MZ]ð½ ˜Pb¿Ì?Øéª+2?ÀmøÃ¤j?`-ñøƒry¿ÂÛª€±†=ñF²t¿2Xmž'Ù>åH\vÕ ?ØÇÚÀf8 ¿ÖzÑô€@=Ð6ÒwO ¿¼loéh!>H¡ªtM>$•DÜ«4<`Ôð0@¾ðuö,F°“=ÎHõšÜ¡=v稅¼Õ<ð•~P¯´½Ø”¶òƒ@!¾½FÅÈû8>¦¶ §e‡z¼Ø3s.OÌ4¾üÅä{`S¿͘V4L•¿€Þ¬Ñ œš?jÕKM?“½ÐÁŸHO‘¿¼d¦¹3ur¿P…!ù*¦¿ÈjöÖ!‚¿ Ⱥ‘S,j=hÌ4E,±?BÇ<Á{,=¤²»G ¨>ˆ×†µ¤>Ël¬ûk/ <4zîBûÀ¾«Ð”U_2½t`Ú… (= ÷ß1Y »õߪi2½X¬£Š+˜½üü)A§Ã¾°¤zqw·Ú>ÜÈœ¤lÿ€½àAFðRÇ»¾€gͬøŽ¿ÀSxŒrTÿ€Õ¶"¶Ç¿°X-þT[©½•¬³v¿µ¿¼•¿Ïݽ`½Ä<øÉé¾XBžÿ¤lŒ¾@³xSå/½¨ªÜ|¨¦>·¼:l–®=-Z ζ'=¥I°¡z<ø:“W]ߨ0½†~ywðÕ¼(Ù(%èE*½@ Ü]ÙE*½¸™tgt¾ð mƒá¿À+zƒá¿ XŸ„ù¢¿`BÚÖE¿ð.ÖE¿€‘xÝ_ƒ¿À=DÞF?{?ûöÝF?{?8k3¦‚ó>è›xßÍ.>P…åöìÍ.> Ä( õãí<2?¦y·9×»oï?ƒHÇ;ŒÂ{MG¼Õ27ô »Mš±î®‚¼H<I=ðmI‚ïDi=æ-ñ.5 Š=à„°‹x¿hî¾A`=u=ù&Í ½¬\9tHµ½ ‰„€Âh¿ q;Âh?:Msz¿²½Àžm€ÑK{¿à>€ÑK{?h.,öL@ê<Üñ¼]ç"¾`ôp´+ç">…‰o¨5i»”®8õêŠì<“•©ã ½ÅW/ÏfÍ;ní¥“d=œsõÒmÂ=üÊüè¤Ü½¹óÿLŒ!r<Ø«”¹6ØÛ={<äT9“=°òÊÔþõ>ø1ףοʀÏ)è<ˆG~xGH?ü/as^=]> 5Ï‹­Ã9?p‘‘ܪI¿ a»hhP=À‡…YŠ-1?¨dìq”H¿ð†øjMs—¿Xj&£I£?{ªûÑ™½pèµÉC“¿p×ÛN˜Ù¿àCù{$Ô¿à GÕ@/Í?0Ä¿_?ׄè*¿ï»[ãÚ~@=¸’’Á“P?¬GK£Z‚>¾ÈT¬†öÔ@¾E7rC<ŒÙ2~Z¼[>Ìø-<%.¥½TÊ´jŠQµ½'òJþÔí¼¼”øF.Å=ÀÿGoË>¬¥Z?–3¾ž_Ø{{`Z<°õ³ab|->EúÄrúB? Ÿ®îOy?`,€w„‰¿¹)8*›m=À±™NsÂP?Ø7¤Hz¡‹¿pÌEZk„µ¿@_[´Õgš?”G²<¨_·=°ÒÓ»?P3ôXý§B½äÉ­UGŽÀ¾h¬;DŸ¥Â¾t];"ü}<ÈÙøÿ#ˆÖ> ×µîßÖ=öù¨¨ø1½w"Wç*;^ ñü29=ÐRžæLy=¼ôÖê®F¥>ÈÃ^~ê½¾#F;>ò¨9=h#¤‹|Eˆ>¨ÎJéóˆ¿\¢;b&À¿•¬³v¿µ¿fF ’MYÓ=€ rr8„Ä¿j!y%o½˜½Ü8k0ľT·ÄÀd¢>Ü俤¥a½¨ŠPl?cÜ>ãY‰¦oX½ @;J1½lÞv¶ST»RõèRU£7=U.C{ڬܠí<6\ ?p¦‡3\ ?@îô‹ÈŸ?²¹š¾tv¿ð¤[š¾tv¿ðš/–Œ¿ ‰$"”¿ Ï‰$"”¿ 'ޝ¿Àô~¼ÆT¾ ‚¿hÌT¾rò:\`ü¼û!Ø·L z»åJm‚gÎ’;ˆ?1á"Oä¹1 øhÖ#£»<ÕàH-a¾Îcá[Cp>`èìVÍл,÷‡›5E‚¾² òßê¾”¯,Xí?Û>×$Êž&SV¼Cp~¬‰¿á{uøiQ޻ޢ«s$š¿G>2$›¿LË‹mî¼p ÁS[íª¿öHðZ.7¿z¯Š^xæ¿“Þ¬MJð¿yL#º½kÄßndÏ⿜vC;WrºÖ Ǧ"΀¿Lœ±Âý‘¿`€Âä¸Ç<wô@[ˆ?Ð+þ¸w;è`fÒ“Øé¾!YÛ!@úd[$H˜×»†Pv’Ï8é;ñÔ†u¥‡Cº>+K TŒß¼äýà»|sz¹ÂH‘Ùf¿¼PýþL?™9šf÷ǼàÇ[)¹O¿ˆŸa¯'WW»jب( ”¿.(ËÙ¯¨¿ž0n…àÄ<Œ/€ôîL?`±+h 5q½¼•¿Ïݽ`½Fdrê„Ú!»j!y%o½˜½@Äd€UI2Àñû¢²‚À@ÅNõêÓ?~~£–y=ˆµz„?ãŠëöÔr½›ÏaD™½8¯¬ÚßÀ:㣭iÖqz=â§F~¬ž½å®sw-½±Í1eÿ=»‚, Ì)=Ä{¯UDRµ½cDø û˲¾¬;ø û˲¾&Ioh“Ô¬¿°cÏ ¨Ço¿YÏ ¨Ço¿ìÀIk¿*¥|IÒé¿ «|IÒ鿪œ è¾“Ý–Ì Õ¼KååVm¸ä<‰×Ì&çÍ»äjp½`ú¼|ÍQ¦­¼¯½üP%8‰¾=ªŸ§zVí<(n´hAzϽ€×¸®Ô”s½Ø·øo7í¾pž³ìùð>^yÊÁíáM½ØsZÊ&o¿è÷‚M¶ÜK¾Pd$°@¿ L $Ä%?]²¾F̽èÎÿ4À»Q¿.¢+™gha¿qê‡Kø°¿€Ï,¤¿£³›jK-j½P²´% ®¹¿¤\aûÖx׿ Ű7 vå¿ðT½Æ»ä¿ó”A²hË–=E¡mKØ¿æ€#û47¿À9?:!û˜¿Ð³ÕèM¡¿›MG”©1=Ð^½?¥š?pR¥Ö]Á¾°ŠVv´ú/¿Í#ÚÈP@¿'òõA?‡›=PÐ,õ/3?$ØÄl? »$>$¥ò ¾€§’6{>z'=>½Œ’mr°'¾:Vvÿ†%;¿à#aÒRñ¿oÄ=q?­¦(¹åh½`7£˜Â0œ¿,[~ޏu¿ÐŠw>åܲ¿pêð ¿¼¿À®)[+ç=8x\f¬?QÕO8žû¼û<2ìYÂ=îÈžü ¼°»¸Nv8½©K º/r½$+c&­«¾Ä<øÉé¾Â!©æg½Ü8k0ľñû¢²‚À°Ó®1Ò5ÿ¿¬øÒÙÃÅ?p Ø?#Ÿ=m›™¨¹?¿8_àr½ѱ®¼«¾Lг ·Ã¾Œ[pæS”¼ôçzµU¥>y…XAjt½„V.Zo¾m  )±‚¾¢wÍmýHS½Ô&ó¯€>z¨K‡lL¼–K»½ âš«a»½ôÀW¥b¾Øç ýÄ¿€+ÞüÄ¿`]Hìi±¿ qºrщ¿€Lrщ¿àÝœð‰¿pÁw/¥u™¿p¼x/¥u™¿Ð-d௜¾çìË1xÞ¼W’[ àê<‡®ÓÜn3;¬¬çµ?½`šëû,¶½èöejðÂ=ïO¿gñò<¼ü1øÕ½Xîµ/††½¸C]ŒRZ龈Æ6¨Tå>mµ[βxÜ<°á;¾Póÿ¾„V’Xý+A¾Ð|8Ž¡”¿»x¿ÏwËç]fI=°´ÕG÷Ç+¿€ü~Ÿêe?ùIħ?Ê+ú.¬}?–!Ò¯Àžk=P-9ÞÔs²?Ú0×á?ržôµýÚ?žýàpÆ?é]óS4N£½€eÛ}…Ê?¸UJPðM?€uÑ2RÞ™?€çâ=L9œ?àƒ —˜[½3 ÍˆŠœ¿=¼´ºF&@>ð^ÝÓº;?Á#¤PýI?¾Þ:{w=ˆ¬5 *@¿ô¯›e- ¾TCŠ[õi >£îÝ¢%Ô<ü:Þ¬¼'¾(•ÕÑ#¿ÊÓMÔ#R¿°K¡j{Wv¿èvÝéµ4=@+šV¿´¡“â%?ðû§¦n¸?‰)2âó¿?€$ŸJÀ?W=˜TÙBcÌ•¿õ¸^•½³×=ó“(=»AÛ¯cɼNaî–1½ââ;Zža=|YˆúBLj>XBžÿ¤lŒ¾Î!%x J=T·ÄÀd¢>@ÅNõêÓ?¬øÒÙÃÅ?k¡Ä}ÑÌ¿t,OA®£½ùñ…'沿 ®ÑZ”-™=(¤ÈñŠÃ>ø__J<ÎÚ>¾! ^òN©D™/ zç•>7FùÉ“`=´Ñ¨Á;”¾âÿ›ÂÐ3Ó¼Xͯ¢V½Z™á4›V½€QrcM¾ø'Ïß°¿H69ß°¿ÀEØmLÅ¿U„1n„?ðK1n„?ð@4QÁÇ?€çñy×?ðŽòy×?èÀM¬íò«>(ï¦ÿÛw»)¨Ô…Î’;uyY‰I¼©ó=Q˜»Ç·Õ–ª3¼~|빓¡½€zDäD‘½ ¯N4%u="àªVw¼}pz=w‘½è£ 8ý*=8‹ì!C‰Í¾l›8¿†ç½À¡ÿ×_ȼڦTwwsj½-#°§q=0 ?dÞ¿u¾½ Mc½Ç-7+½ƒd=âœÍHÂr½<Ћ~!¶S½@Øg®ÿ鿈™–çÁ<½AæÃÄÙŠ³=!i>$¯‡=Ѐñ´c•s=àîWwÅ¿\ wü™—=òYþg¬*=Šò¥ú\îE=¦>ë„ÏãU=>'qH¼x¿Ge¢i…J½% ÕÓ§»¡—Ï1lñì¼tgR>Ã=p¤Šéº¿zn(Ô¤º½=ƒLó©|’S%=ð‹`â‹Ã뽉X«šu4½ït¥üÿ˜½ ÉæÑd½ëŠøäâR= ¨ìƒr¿í ³x#9i½3tu‹Y½Ô¹à—è‰Q=‰½X“«ok=À`ìj~‘¿‚)p¬,D=¼Œ¸.u ¼šš´äÙ´'<}FUø?×༜Mñ¢ã(¼S Ïø^¶»C|>¾Ý½]½@³xSå/½˜ZšJ1Œ¾Ü俤¥a½~~£–y=p Ø?#Ÿ=t,OA®£½ÊmQ¾¿Ô)[Çô»=P&uÒf‡»t¹´¤œN½râõ3ë½±¼›Ûý CŒ¾mA 'rŒ¼{X…žD"º6]ÉbbS½81ÞiXp½8–š&ëP¾ú»D9¿p=¯«¥q°ó»T.-Ýò÷¼Ðpåk?ñ÷ÎvÃf¯|}½`ä5çh¿ RŽ5çh?Þu“aC½àV5cj‡{¿ Ã=cj‡{?wÞÐò"f½wËJô<ªN¥Îý½‰Wº”—; ¦ƒ7¶=˜‰†$È=×½Ö°l<0d½,«nµÌZç=öQ32 ¸˜=H‘žï.þ>P(QXù¢¿gäÚž/w9=€Qað?H’Kƒøón>0¯/®”LM?0À Cµ3¿C5›œ‡–=€|cH™í]?ª“í5¼u?à§Â´v¯?³år¢?Ï3Wß7¯= ‚ù´ó³?ú#D%ä¶Ó? ÚîDþÎ?`PZhœÉ?Xá8Ÿ`FX½àL‹,–·ª¿hÊ×µ@D¿ ­Üï7{‰¿à¿%2ƒ‘¿Ë ÁP£$=À{V^Wv?X”“º?È1¾°={Ãk–+¿°ÏÛ`Ð;¿Ì‚µÛ«š½` UŒr&?üÈæìBŸ$>4þJ+*¾8û•4÷$=ÌéÈUIB>Ðz¿tpU?€u!w1—?@ÛÅw¿|NŽ q= ¼ÐȲ ?I#ŒÊÆ0¿¦”+¬Š?§^fOv”?Æ‹g8?PE=À¤óãË™¿ #Ät~=ÿ_!Ii2½e vͺ{)¨ªÜ|¨¦>…ýãF=…=¨ŠPl?cÜ>ˆµz„?m›™¨¹?ùñ…'沿Ô)[Çô»=ßæò¢•Á¿.Y´OZz½,1%¼£¾ä» (¸á»¾³‹­ÒÞ§¼ˆê ™£_ˆ>õÔ sšF'½®pE ¿A€¾àήU“¾@¹»E6nR½TÔ¾«€7>_ÐQΊ݀& N4›?Ø-ðM4›?à0§‡U:§?p]5¤ñ‡?À®5¤ñ‡?èFDM zq?àNi¦l‡Š¿îj¦l‡Š¿X)rE£¾««¥E6a¾>¿÷|>òÞ-m­1Œ¼dë/ô¤|{¾”aÖ˜Úê¾JçDŒ| ?£wlÈY ½´VCŽNÚö¾PE‘~€z»LÁ8¢Á3š¿€Ã~.Nû­?NØW;¤½(#&†-€~?ˆýÔ:¿@R£°Ü…æ¿®ã&Ž’¬ì?»=³hukê½\:0p}è?ýèâb«y;¼ÝÔµ òØ<Þ§–ÂéhѺ¯ÖÏí|Ó¼W_›x›z¹$Qù_f¿6È:+^|?õ¥ é8₽¾" ÁcÌk¿¿8_àr½ ®ÑZ”-™=P&uÒf‡».Y´OZz½cq\ŒúU2À6¹ç½ÀðPâ‹¿çá¦ñ—$¾°{ZL2‰¿4Ò""ð@SºÄSø9‹[m¿¶MRŸŠèh?ÖëÃ$&G½ˆ¹Í ¬µƒ?DÚ›×¾}¶½1©¦/yÖ²¾nº†.yÖ²¾¬3pÆå¬¿úá®7Úo¿ƒ“­7Úo¿¥wiKª¿ÔýJÔ¼Ý~À¹\ô<û¹I#§Ù»“Š|OΨñ¼èâû®p£¯½Lr# ßzÈ=m_-.ï9š¼0¡yLÐȽrâ¨zt½°ãÊf¿Yí¾ØVb:=ý>Mºïëm½ÀxÏ¥ñtü¾(÷S—õàK¾¨¨w?1@¿pªjãíO?á“úg†¦½Éa6#A¿:_¢N—pa¿ ãv\7±¿ Øìþ¼?»½X¡Šòp½ÀúòQÝo?lˆ×¿°Èþ$Öå¿€êl½«â?v|XU% ½Ð>˜|Àß?KÐ^臸˺‚ôrÞè:ˆ–iÑrº}ÆH‘dðºW€‘9s&»ø- ¾ÈšHÌš#>ÈRhB”2½Àg£hTd¾ðDg©Þ*;¿Àmýµ0‘¿€¶¹Š™?ÎaƒJ8}½Œ@ gƒ‹¿M‚‘¤[qú¼·¼:l–®=DBŒ£¡Ò»ãY‰¦oX½ãŠëöÔr½ѱ®¼«¾(¤ÈñŠÃ>t¹´¤œN½,1%¼£¾6¹ç½ÀÀ[œý›Õÿ¿0imÍ LÿR}ñiAÖ½¦â2FzÀ¿ä4¶Ztm¿HÞ‹¾ñ¤¿°ýs%D†‰?ì˜ëÄ@‚c=Ð"5l(¯?SûmŽnG¼¢ Y¶qݽtkda'ß½ŒÖ@5§&b¾I˜ú§>¿XÝö§>¿Ð©ä]±¿0Ã4{ã&Š¿+ {ã&Š¿ ŽKZâ—²¿22·¤ù”&+5ëód=Ü€¦‹ì»”œŸŠÝ ½fúžøáý,ªÐ“pCÜ=hª˜Éá¼äØæz)Ýݽ·²êˆ½“½ðî2 mTø¾p˜R‚?ò€SxYà<¨â;M°Ÿ¿\ƒ®æßk¾Ð~—è»J¿#¸èûW?‚x{Ü„ö¼Ð¼!–¦HL¿V•à1x¿PBÿ/³¿ ¾¨|i'»?ÃTѽÑÝš'Ú`? ±SóÞ¿€´dZØ¿€„Q_’º?¡j }ñ•½Àí Ø•;Î?6LŒ#gG!¾<ϧ ž9>¤ÍƒKÕþ<½ÀÕc1Ö4¾˜4ÞýÌeS¿0Œ/j°¼•¿@E|€K›?l#§ºkÛL½pßóõ¸‘¿¡Ÿ ½-Z ζ'=9³$³/ÿº @;J1½›ÏaD™½Lг ·Ã¾ø__J<ÎÚ>râõ3ë½±¼ä» (¸á»¾ðPâ‹¿0imÍ Lÿ€uÂ`³Í¿sßÀ<ÿÛ•=&[¢:vµ¿Èüu¨‡ÿh¿˜f?D¨™¿é~›‰@t¿Æ›Z ¡½ % ·;¤?Ù‘©ÀBSÔ¼„ßuWÞB*½PS8¸­E*½,JØË}t¾Xñ]Õ ¿ÈR]]Õ ¿À/TâÜ–£¿0¡…_Í¿ X„_Í¿ûî„fx|¿fƒ;a ªüº”çèæ;Ù"9Qþ«@¼P©­oÇx»ü\¢Z3ð»!ÏN0¿<Úûå÷ß>‘½9ñ~¼«C ae¹á;` ot›”½CfÊ4Ÿ×¼@.c‚ׯ;®’ßHTù걉ì¼5m§Üü<`„•ÔY ¿áè{§¼½ á qsv½¯–H0²ˆ½Ð?.(BTe=@v*PNšŽ¿ÙY(Eu½ðR ‚À/¬=NKGYk´½ØZuHƺ=g4É ìÅ¿¨Íà:–®=³>´Ð ,=í‚%Ü®ÛR= ûSU Èë½îõâ@)J½ÒФQ°ùȼ¸á勿àJ½ú—oüˆmW=P9¥Ônr¿V²T¸œ•G½¯mQ¿ÏM亥I°¡z<ø:¿(Ü®Þ$à¼lÞv¶ST»8¯¬ÚßÀ:Œ[pæS”¼¾! ^òN©<›Ûý CŒ¾³‹­ÒÞ§¼çá¦ñ—$¾R}ñiAÖ½sßÀ<ÿÛ•=Äu0Ä¿L …àZѽ!«÷_q¿¼áC(V¸s’½ Ó^<‘½pu O|„¿çŒfÁŒ½ŠÊ÷ÕYÎ÷º€(ÂÚ²8Ne=€“˜`Yji¿€ž½_Yji?öJôÆó’½ê~ó]'—ê< D©÷”ô¿p‰ƒLÞ€<ÈäL®i?*€KéqÜ\>@ûÂéù :?8CÏWI¿Ï$ƒa˜á¼¸³ùºk1?;¬7¤H¿ðå<·©—¿Øø€ç—~£?w’R:Ï~½$òO®•“¿ˆmù\8®Ù¿ðßDVÓ¨Ô¿à,ãÄW¥Î?;g9¨½€´põOŠš?ppòï >ñˆ:”ž3¾úw]>==DSYUˆ->ŒzK¢ÿB?.$zÞ?à¸Æ c;Š¿$däSû:=÷·È> R?Ö¢_‚3=“W]ߨ0½—×ZC”á;RõèRU£7=㣭iÖqz=ôçzµU¥>xÕ§«W¾¾mA 'rŒ¼ˆê ™£_ˆ>°{ZL2‰¿¦â2FzÀ¿&[¢:vµ¿L …àZѽ”eynªÊ¿E ¼ŠÆƒ¿¬þ:Ó¬¿pØK•X’?ØÎÅå¥ß°½p÷Õœ°¶²?z9÷À€Ú<obî#=òâMk·#=˜¬ÏŽSf>à˜÷Ê^N ?€›«Ê^N ? °‚«v* ?`à(ù¬v¿þø¬v¿@½t`ïù¯¿†%ßNøW½„<³Q9p=C”ÜCâ¡·ºÆê1·¾©½ªÞ (sôV¾TN-gl,o>ò+&&\K£»º%ÂY$v¾DþUíH꺆²$mî¿ôÔ¾ å™?"‹_Bu×¼ž×˜ºÁóœ¿<º­)²»¾.@â=ß¿B¼²À{îÂ?^À·Ô¡C,½€ F^~é¿?,y BȾB³ü{Ö>q»ü £¼¦bër àå¾y…XAjt½s2[ýÖÛ*={X…žD"ºõÔ sšF'½4Ò""ð@Sºä4¶Ztm¿Èüu¨‡ÿh¿!«÷_q¿¼E ¼ŠÆƒ¿Q"»½i2À<”«©Â$ÀΕq8ÃŒ?k' øІ½€‰š¬o[‹?±R ÍñÁ ½!Dx¢Þɽ¼µßy¢ÞɽõEQ ¿Ö¥w¾x…¿å¡w¾x…¿vm<ø»‚ñ¿\>{ôS@^»Äý5#ûÕw;:f £q»È2© Ç»Zè| 3Øæ¼ª1*Ôžÿ<ÑÌŒ€¨ã»È'Û!÷ ½˜À…RëýM¾ôñyêjY>‹„:•Rx0=0ÒÂþ i¾VÝyȨFe½p†?µ=Bë¾0»RÅáö>(U}ù1x½¸l¶nçÿ¾”‰Rß®O¿à"–ei§¿>œ·&“¬?*]¢H*‘½€Äyµª¿ˆÄ¯‚VË¿˜>+1?à¿`©yæÐ¾?6þŸæ¢¡½¤¾è¼àâ¿Þ}Ía«¸E½„6™ ²\=+L4»’¼ê„``kd½Ðê¦M:\q¾ðÔþþ¹B¿¨Æ%áÃÿC?"=÷¹w‹½ ¡CÉR¿â§F~¬ž½„V.Zo¾ô'6(§Nƒ>6]ÉbbS½®pE ¿A€¾ÄSø9‹[m¿HÞ‹¾ñ¤¿˜f?D¨™¿áC(V¸s’½¬þ:Ó¬¿<”«©Â$Àˆ–}ÙûaÀì…'"IÚ¼? 6 쥽`·°ÒŒC¿?-ßÄ·l ¼äº¾_# ¼ìعö?Pü½XbUpZp¾ìéý¼Zp¾¸ÁˆŒ¨TW¿ ÷ŠÏuL•¿EoÏuL•¿ð¶þ&yîé¿ãX }ªz»Q€ž eÖ”;ßxeAeß!»®—äWÌTŸ»D»–QœOø¼êï°ü=ÒÚôÀu¼jÍœ&®ž½ìšˆ=T¾ áÁ=?Ú\>½æ$úâ¶7=H̆Ù«p¾ˆõrK½|üp¥½fñ¾Ç,§×ø>ä–Hµ_“½Hóð¸º"¿(Jû ¹_¿€õ›ô¥0ž¿à‘éû}k™?n¦q$å ¨½¡È[ST¡¿@©B ý¼±¿€×9Ç/I©¿ Z:Ь>À¿è‹T#‘…½ G–ëÇ>§¿ˆ‚G¸Î©X½„¼–Žo=ñØ· ‚[¦¼œCô®Ž(w½¸£gé´q¾ÀÛ IÃ>¿(ôÕRè…5?¿ëU9z£½F¶¼ƒN¿å®sw-½m  )±‚¾D™/ zç•>81ÞiXp½àήU“¾¶MRŸŠèh?°ýs%D†‰?é~›‰@t¿ Ó^<‘½pØK•X’?Εq8ÃŒ?ì…'"IÚ¼?À«Ò¬qÓ¿‡Yéø‚½rE:Áðã ?SC,óß(¼ã×W…Þ%¼ì6ʉv^ ¾ð¥]\;¡l¾¨‡I¡l¾¢MåÒå;¿ l±A]Á¿€YA]Á¿ gÆU]Ç×?à^Û;¾ »Ç?8%;•BªFº3»u/i¾,/»á½ÚK£¶é»¢vyŒÿ÷;Æ ­Ç\¼·Xø“3 ¼)ÙûzÖx½ßÍÌ;v•B½ Bͧ.¾T‹dÊ[=W]kw†,¼[±¤´®f|½»?*B)g=¢Ô9nÅɾ’ò¶ñ¢U…½ël›×K=Q½ 9Ó©xÊ’½‹ ïÚ„½ˆe?W7…¿§Ý²1R„=N<¬T‰ô=¡87xÁ£½B­MÒd=€mõjÀ¿pžÊc製õ*B¸•¼ÈœQ ñ¬ÝÙ6«´b½ÐU]sHHv¿À0urHHv?(¤[ Œ½Ö zÁAn~;âЯ™}÷—»$Çi‹Ò$;¥P‹9o¶¡;T+O¦ý=ð™.ލ½Ãuwþ°<0@+…¸I&=„bñÚuÎb> MºßÌEo¾¯ØZŠÁÁ½Ù™rŽ5cX‚ˆ=`—O/]ù>HPÐH"¿UyÉâ”=H빇Zù ?–”Ó¶³fa?°ÞÆG½§?@Ôui‡®¿^…ü[ª=PfÍjm¤?âVxñ×?@¯P̈Ì×?0gÀLF´¿hÆ¥3  =`”ãS6•Ð?hb&`¿±a=ºÛ,[w½YW®§Æ„ª<¸?`r¥.€= ÷FX‘>¡<’K¤P? ÆJ³ÅQ¿/œ·D9¤=`ËD¶Æe_?‚, Ì)=Ô&ó¯€>´Ñ¨Á;”¾ú»D9¿p=TÔ¾«€7>ˆ¹Í ¬µƒ?Ð"5l(¯? % ·;¤?çŒfÁŒ½p÷Õœ°¶²?€‰š¬o[‹?`·°ÒŒC¿?rE:Áðã ?"«ëÒÙ¦=@ùÍ:ñ‰Ò¿}9~ªBÇ&<Ô þÔÕ&<è9]Æ >VXzD$‚>xËöK$‚>€Y-§[b?›ïоÝ?ÐTbоÝ?à¾$ªÂ‹?’4‰=q’忪Mm(á¿€ŽZp4¾?@.볫˿Zàd¢´?8N'0ÐÙ¯¿Ð¨Hú½6Á¿ VÊðÁ9™? ½Eê*¤¿È¥ßßiÁ?¨è9úD¿øÈ<ß `¿PäÅ—­A¿ Õ{W;>¿Ü7º]îj?ØQî'‰œ¾`lÎ>!¿(©¢ô ¿J•ž3¿°‡|Þ8/?ŒÎÊ¢‹ª%½CöE¹K¾Ø‘“ݦT¾8t•–~{1¾ì¾¾œa>…«gç5º€‰ÔbÆ«½Œæb$e,µ½èÃS¦Òµ‘½ŒÎXÅ…Æ=´V>_Iø»í W Ñ ¼2FW(ÁÚ»ˆt'Äý`<!ñ§x8#»r5|;ž68»hõ†ç-øº².:Í5×B;Ž Ž7³¿Ù2s#À¿€ÿi÷21¾? KK{Ý¢¿œ®%Œ£™¿2÷ ú¸O‡¿€ê•Cœ»ž¿Ð|*‰›î‰¿€#±É€¿à•…Ò÷ž?¬}áPÂØ½pýžŸ/—¾XÉxÝ5ü•¾€ôÔU˜|¾h”[MMª>ÿ6·r8¨ã¼6óY‘tüó¼%ÐÃVVÆ`¼ß všG=VkÇI¥o¿ LaRë=‰¿ø“Áå"ùƒ?`Єqd)h¿€ "äP‡?JŠÏL£²¾ðè9ÐÀ¿0Å!A¾‡¿@©qxé¾¥¼ÆÆ› ?H[fþä¼½rL¤:ëY½°’©ï÷¼´˜¥Iõð.=€‘';æ‡Ó¿Ð_#$4ÊÇ¿€|(ñî°¿ñûgw¢¿ g‰ñ›bŸ¿ðoâäQ¿€éÄVßB¿°ËY äC¬¾ Ûd0•›s¾Ø7ç5Ùia¾\ìd S:R½è2-UL¼b XãðÜ=¼°S4@q’å¿ 2m(á¿@s9Zp4¾?C³«Ë?ÀLøßd¢´?£ 1ÐÙ¯¿ÐPEú½6Á¿ ÕðÁ9™?ைEê*¤?àÞßßiÁ?²BÍ#úD¿H)(ß `¿¨ˆ,—­A¿@áÜU;>?’ݹ]îj?p"î'‰œ¾@¿\Î>!¿(+÷ ô ¿0 $˜3?à‡‹Ü8/? &ðª%½˜‹¯ÛX¹K¾ž§ݦT¾àµwa{1>Àc™a>üe͋ƎºXÅæàÆ«½ø {-µ½ÈÈØ~w·‘=TY0[[†Æ=ïØ53Zø»@,8Ê< ¼í+éôÚ;œ ¥Jå›<AÀÀ·w#»ýÃãù#<»æyw œ;6 µÊÒøE;¾O„ Ž7³¿€›s#À¿ W%÷21¾?ÐÆJ{Ý¢?èT„%Œ£™¿ö ú¸O‡¿`¦—Cœ»ž¿/‰›î‰¿O #±É€?`²‘…Ò÷ž?1+ëPÂØ½Ø_i /—¾Xáñ5ü•¾È½;E‘|>0CnÖMª>*(ô¨ã¼rS)’ðüó¼ªþÕDýW`<§|UÿG= kÇI¥o¿0ë³Së=‰¿:ã"ùƒ?ðνld)h?ðg\äP‡? …ÏL£²¾Ð‚¨ÐÀ¿Àê@¾‡¿°f¥qxé>°xUÅÆ› ?„]Çѽ½²”êGˆZ½$f‡=ñ÷<`œ­•èò.=Ð_#$4ÊÇ¿F_:æ‡Ó¿Èšçûgw¢¿ L(ñî°¿`³yñ›bŸ¿hH%ÄVßB¿ @èäQ¿Pª$äC¬¾XôéÉÙia¾¸/W„•›s¾Îçë•:R½Ä”ÙÑü=¼![è£bL¼êZ+¼ú.¶¿À|DƒæQÆ¿0§Gœ~dÆ¿ Iõ·êލ¿¬gövg/—?L–…¶†”¿ 7)ÁXv¬¿ÀŠ/ZÐ¥¿@1:xí¿PÁSï¦?HƒøcQo¶¾àã­M¼1¿°Åt:€5¿P:y¹0¿0PwÈøOÐÕEÙG¼½¼Ü±4gÝѽ k륻ޠ½% QµŠÑ=p¼ï âνDEsÿT3½l•€;L9½,øŠ3o8=޲z©ô8ì¿à/”™¶Šä¿€½ÉÁ½¿`o]ß%ÒÌ¿ :;ïÙÿ¨Ý’‰ë.*¿ D¥}½h¿ðTíÏ®šo¿àÀì©ôYE¿ ûqż_f?îpa…xR-½¨7°–V¨.¾è„qе~<¾˜V~H¾L4³g¼ó@>žfÑql±¿@nñf?¤¿€ê9Ö°r¿€»ùquƒ¿F õ!Kž?tèäg„ލ<°2”/l¾€®!ŸGõ}¾ØÓÔ¨_³N¾Pšj“r>Ï!oÀ§Ë¼É̯cž¡3¼Zú{ézN¼[óÚ&v<<€|(ñî°¿Èšçûgw¢¿À=–dŒËÖ¿€§"¼oZÏ¿°«|ìHX¿ðâ÷¿G8¿ Ž½*w,¿¸;|dâo¾  ‹WGå½à, ‚=nÔ½ôNödÚP¼£G ÞVL—»âbPW<ž„»LÁú.¶¿p :ƒæQÆ¿ ¾Gœ~dÆ¿@Z‹·êލ?Ç vg/—?úZ.‡¶†”¿`ß*ÁXv¬¿ ²4ZÐ¥¿€Ã:xí?TÃSï¦?ŒìèUQo¶¾0‘3­M¼1¿€Ò:€5¿’ü¸0?ð­ÍÇøOˆÝ„báÒ>àT-0šG¼½¬ûÉdÝѽøíà"³Þ =ÔcY챊Ñ=pçxÐßν×,+`U3½LjŽg;=@4« Úo8=fV§¨ô8ì¿ E™¶Šä¿ ðüÉÁ½¿ ˜ß%ÒÌ?@8HïÙÿõ’‰ë.*¿àФ}½h¿0b$Юšo¿àk£ªôYE?Pż_f?,wa…xR-½xõFe¨.¾à Ňž~<¾(Ú÷x[H>ø ñ¢²ó@>¨dÑql±¿°¨ñf?¤¿ ¬Ç8Ö°r¿pÛquƒ?@³ôô!Kž?ÆÒäg„ŽøJ&2”/l¾0ÈïGõ}¾‹,£_³N>øœj“r>oUPÊ#¼W`Ç3¼& u ïŠ<,ÈÙß<<ñûgw¢¿ L(ñî°¿€§"¼oZÏ¿ÛdŒËÖ¿ðùzìHX¿`+w,¿PÆ÷¿G8¿h£dâo¾¤Pg$nÔ½4  aYGå½0Ìl~ÚP¼oAúÇPÓx¹›li—»f¤Áºë¿À±sD·¨¿€°!qG‘¢?T<g›úg=pákó ¥¿ôö2|†Þ´¿`Z/n’Ç¿€ªrоVÉ? } $d›=8ÿ9R#(ª¿d ù…®¿`n‚Ÿqf¿_¡}¯¦?ÿ‡¡ü÷«=€œ ¢ ûÃ?”ÆÓ`{ –¿ ¤ ¯-®¿° … ¿Æ ñSÈk€½à3×:! °?°l;? ½¾Ð18 ä85¿8-¼ºáÃ4¿[%»ÂEv½ð­ùïB?¤®Ò¢Wbô½hó¬bľðL­eIþ.!ÏxŸz= MéjŒ½×>øR.º½(¢þ.ÄÁ½©öÊæ>\¼,¦ˆ_1ˆÕ=¼TžiÍ%½<Ý[z6½mÇRsb¸ÐÃ?¾‰Õœ3&¿0kq Öh¿ † üoõL¿jÍ&6²Š@½ ïVÐúr?]’x5‚1½¸.; ÇN1¾0Íæ©/7¾¬R.ú©¼ ¶,./F>]_Òî¡»|Æ•gg„²»¦+Á®ŒÚoº{I)º"Ä;ÇA¢¥ k¿ð† ouo‰¿ u¯™l?66Y! tz½ìÊLb9q?§_hɬ¿ÏOP¨²°¿€ŠÆ¢¿Ã¶ü'{½ qi¥6ž?^„ÅEµ½(—N0#b¾`[áÉTBM¾¾Pg1-‚<=8>fáv>±B_zI¼àG£ÊÕ¼‡Êö±»Þð*ýnÜ< g‰ñ›bŸ¿`³yñ›bŸ¿°«|ìHX¿ðùzìHX¿@WµC†¬Ø¿àû‰«Èl¢¿H•«Èl¢¿04­äè9S¿` Ò!’ 9¿p€ã!’ 9¿°°mŪu¾8¢Í¦¥×½Xšƒ†Ç¥×½ùó“+ЉP¼×á< P§µ»‹ãYø¨¦µ»¨ÔÖ ©2¿˜ªà;`¿Ðˆ³gn+@?ÀR¨'~¤>¿ÀÔÌ/wƒk¿üq4ë¢^‰¿ Ó†¾à¿¥¿`Ç—=>g’?@W lÒ뇿 :+)ž•§¿É¦§¡å¿ð¬ÑdNuá¿À*oî-Ò¾¿€[¥øadÌ¿Àñ‘:{嵿Øö‰„?ý¯¿€ñÔ«uÁ¿€!B‡ÁÁ¿`‰·nŒ¤¿š/Ô¶–?d«ïlLj¿ø§ ‘4`¿@òß³4+h¿`sóåBž>¿°›Ù™Z?¼U7{LÁœ¾ñv®Õ?!¿]?ð›(¿ A‚dÒ=¿àϹ°)?ºÞ E[3%½°„R–ÙñK¾@K’Ë…QZ¾x¼¬æœŸ1¾â’ÞOJý0+ñº(ßéଽ¸‹9­ÖÁ½E¾B‘Û‘½ˆP±I£Á=3Ì=Þ–.ù»˜ÈAÂ_żìr>rÚ»óº4)KÝ<ÏSy¶ »Æ³»_i2» ‘h¥îðº¾>aañþ9;pž.ÍPþŸ¾ðìá?̪¿À¦˜,?xSÀÈÝBó¾ gÞ H ¿ÄO`ÆžG³¿€Å2Ö¬À¿àþ™˜¿ wÄOÅ©¢¿`ïëɶ޾¿àщ l‡¿àv”³C)Ÿ¿@·ˆžeL™¿ ñF£“¿àŠ™.Uç–?vb;Edýؽ Ô,}Ÿ^—¾h™¶Ÿ¥J¥¾0’Ÿ‰+R|¾X¾Ï èJ£>'˨½Ågä¼›•é>éú¼ÑÈrËÝÚ_¼ËrRËöŒÿ<RT:ùÔ¿JºVÈÀ˜¿ð)Y¨” ©2¿ð”à;`¿5%gn+@?`Öã&~¤>?Ð]`/wƒk¿Hraë¢^‰¿ -‘¾à¿¥¿P­§=>g’?@¤AlÒë‡?€Æ8)ž•§¿> o¥§¡å¿ÐÒÔdNuá¿À î-Ò¾¿À"¯øadÌ? u:{嵿˜ÿH„?ý¯¿tÑ«uÁ¿ hB‡ÁÁ¿0ö¶nŒ¤?0ÿþ.Ô¶–?„SmLj¿³ ‘4`¿ 0ܳ4+h¿`ôçåBž>?àgwÙ™Z?Ä_Q{LÁœ¾ û¿°Õ?!¿Ð\îí›(¿p[UÒ=?°ñMº°)?"^¯¬\3%½˜$‡+êñK¾¢Ÿf‹QZ¾°;&Ÿ1>È‹Ig_>¨gÑ)ñº(ÚCª²¬½oäÝØÁ½LG2ÛÝ‘=4g7é¤Á=KL¬Î½ù»e€á?­¼$’ƒ²ÐØ;ç}¢åþÃ<7¬IbÏ»±ù‚Ã71»Tõ)‚3ä:?n_TÌP8; %ÍPþŸ¾p$À?̪¿€4_–,?‚¤ÁÝBó>3ÎÜ H ¿òk`ÆžG³¿`Å+2Ö¬À¿€" ™˜¿€&PÅ©¢? ä ʶ޾¿Lω l‡¿ Œ£³C)Ÿ¿`3žeL™¿çñ¢“?Âc.Uç–?Ì*jtdýؽ(å׃£^—¾82 ²§J¥¾»Ý R|>è«-éJ£>~÷‡8hä¼8)äL†éú¼©*Ÿlà_<ðé^Û­ÿ<U:ùÔ¿`—«VÈÀ˜¿PB,¨”Ð(1)y?¨ƒcoƽ¼þ ab *½øÐ}¶pø<ÔÈÓž©T#=€éÄVßB¿ @èäQ¿ Ž½*w,¿PÆ÷¿G8¿H•«Èl¢¿ ±q0È¿ÀÙÜcÔ¿@¢Nú쟿À®¿~ÏC¿@%׺ˆIQ¿€î°#¦~¬¾Ðû ’a¾¸¸§hnÃs¾€˜L¾â\R½•È'úçs@¼ù~37äO¼ôÄT wYȽ(ruÊ=¬¾PEï3v¨>`Àë˜[êT½¨qyZqÁ¾°93@=jž¾XÚÿÜ$¿@ƒs9"?ÑÛ?It½@Æùqq¿2¿é¿7÷¿@TèItj¨¿ RRX×›?N[l7â4s½`Dºœ^ü¨¿´ë´¿`mBlÖÇ¿€Q$6{“¿ ‘¶0x\|=@xAd^Ê¿¸ö쌮¿q²ò‹Â¿@ Îj˜ìÄ¿E/âyùeŒ=à˜BÊû5…?À„£’0 –¿`s7•wQ®¿&Â÷Ò«¿ð[ªZ»j=àÚk"t¢?¬öŸýê½¾è[s½E5¿Ÿ0RØ<¿»,¹\ï5$½°žçÑ&@?äRÀõcô½h{X×jľÀ@ C1Ó¾’©]Ég ƒ=@. q Ñ>xzPÕù º½tÿ¯^`Yѽ¥ ÈÌÜÆ¼€7û(Ï=hÁƘÕ%½;÷\Ü=½DÛY†ðT`¼Á"™Õ@=è Ùß."»]š6Vi"A»4–4dYåкÐo,•‡A;Óv@—X½0F‡‡' ¾Ìˆ¯õ‘î!>p§IˆºËм àJí 1¾ &¬ÚÂ7¿°cäHv \¿XUt ÌA?(Tnž9¯=ð ãUíf¿¦:b´bì¿@Í7àð€å¿@¥=èο”Wü>³= MS¨ð$È¿¢DeÊ5&¿pä¹'íh¿@?XAž»p¿^DÞÊxR=¸|m&»c?÷…"PTn1½xÝ[IR1¾°´KiA¾æù€‹w½øVy»„YB>¥Ôg·¢»E… 8ƒ’¼»?€†›%»4ö%AlÁ;0a/Ÿ—¾º öÁó¾à¶egY§ø>6ìÔz/Xq½@ùLq.ý¾¬,Áaík¿°9-øŸ‰¿ \$:ƒ¿d™¼ñU½@@ûZRŒ¿à‚>"÷ˬ¿À„Ù˜Uɰ¿`®âG¿Šû÷ÛÄ=à kúß¾¦?H0)­Ö¹µ½HÄ1Ýå b¾\¥EjG^t¾/©ÈYí½˜xC¬1f>mO¶¢ÀI¼(;•²ñæÓ¼Þ2= øì»†ê‰ŠŽÞ<°ËY äC¬¾Pª$äC¬¾¸;|dâo¾h£dâo¾04­äè9S¿ Mú쟿@¢Nú쟿@æÚš lÙ¿r W‘¢¿À'W‘¢¿P[Ûu%MS¿P kH49¿ðÞüH49¿ˆ5<³u¾¸ fˆ®×½¸PE Ž®×½%åäZ™9S¼r„2°÷ˆª»âdî‡&”©»êÉ{s%½øk¼"è‘J¾H#×fÙX>ðñqÏs81¾$±S^¾n” föGã½([¬9ÆY¸¾Iâ¼iöÆ>0Ÿ P¾(öfÄq©Ä¾bª|2¢A¿(5ö;\`¿€<ïXGÉh?ÀŒã³äò>¿°Óö5Z¿£’÷¤¿ ŠàÆ+ÐÁ?ü(.¶€l¿ðEfŸ?`¿ðç]ëíA¿`Àv޵¿>¿±ŒMk?8×ÜHVܾŸ&ñH!¿z3 ¿0‡,5K¿P ¿a _/?`Ô38Ã$½ îøK¾èž±sÖT¾PñRÜù£1¾hÈ¢©a>0KUG·¬½¤ Uêk[µ½tö‘ÞÝ‘½0 H·Æ=‚°l“ð»Úu>|Îk¼¿‰ØtNÑ»£j®Yk«<ìu(•ç:þº”þ©]v½êÏ5‹=‹=Ì”‰TÙ>\½ žÇEˆs‹½ª4"  ¾hGdÍB½¿1èÅɤ?ˆëq„Z6ó¾Å{o¡¿R2N.1M³¿°7eºlÏÀ¿@w¶ˆ»m¿?@;³“^뢿¸q8D’¿&š÷qn‡¿ l>bÒLŸ¿ÀÞQ“JeŠ¿ ­ëéB7¿ 0‡×O®Ÿ?ÞxÙ.þؽˆõÇ߯d—¾ Ðt….–¾`£‰E[|¾È7IÿZŠª>ÿù^T¨ä¼ºMË(õ¼Ó £;—UY¼ChŽk/=Ä Öç@½p&Ä;½>¾Ì&(sQ>Ød|µ$Ä"¾äu–QŒD¾òÙ@ö”Ý¿ð’®ý˜¿ ¸z47Œz? ‘óoFÁz¿‹´ŸHÉ“¿Ôa³=¾o¿ GÚêF‰¿ÐþˆÝt<„?ÔçÀÉh¿ ùë}X¨‡?ÀXcJgDz¾`}[Sõ¿Ð1•¾¥È¿€áâÚ—¼é¾àš¼16æ ?4À‚¾½Œæ‘K쥽Àõ~5[ø¼´ p¦b/= Ûd0•›s¾XôéÉÙia¾  ‹WG彤Pg$nÔ½` Ò!’ 9¿ðÓºˆIQ¿À®¿~ÏC¿r W‘¢¿ÀMÂuróÔ¿@^®Â7cÈ¿p*2Ï ¿ðFfÆ ZQ¿ ÜÃÿC¿ sKät‰¬¾¨¦mÏeÊs¾¨Í˜J«’a¾XMj“º]R½;ô}‘_Q¼Ÿ·ˆB¼äÃBò}s%½8ïwî‘J¾óÙúhÙX>Ä5Kˆc81>P—A5S^¾~1öGã½Àe¹›ÆY¸¾`dVÃiöÆ>€ùÓ…O>@0/­q©Ä¾Š;D2¢A¿_ö;\`¿RáXGÉh? Ì”³äò>?ÐU¿ö5Z¿¬EÜ7hm‰¿à–äšú¥¿â¯|Êf£?àax6ðMˆ?Щ]SÖ· ¿¼£‚§å¿ ùl˜›á¿xž—ˆZ¿?@G™ØÌ?{$g12¶?©ÊW°¿ ;65Á¿`ó¦Í 8š?`!è=÷¤?@TÄÆ+ÐÁ?`¶øµ€l¿Y~fŸ?`¿Ð!TëíA¿àŽŽµ¿>?P=ŽŒMk?Ø:IVܾ@? &ñH!¿øÇ¥6{3 ¿¸87K?pˆf8"_/?J¼©38Ã$½XJúøK¾˜ˆ½ ÖT¾ý«É£1>ÐNfë}©a> ”À¬½ô¡ù/[µ½øè^Ü‘=0•ø ˶Æ=C™§»íLð»æâ!£¼²äE\¼¯Ð;ÊCÚ<«­Ÿ:„üº •óv½l±°X>‹=ð Á*<\=äìA1t‹½°!4"  ¾à£*½B½¿ _#„ɤ?Œñ=Z6ó> ê"Zo¡¿ÚÕM.1M³¿@\fºlÏÀ¿Àˆ²ˆ»m¿? %À“^ë¢?°‰*D’¿rÆ™÷qn‡¿ Ý0bÒLŸ¿PÜ=“JeŠ¿ ÈéB7?Ól×O®Ÿ?*½Õ\þؽ8B{ÚÇd—¾ Ú)ˆ….–¾ö ÎüZ|>X•ò4[Šª>*¼4¥‰¨ä¼ô÷XWUõ¼.ø¸÷X<È/çE“/=æÖç@½èôº]:½>¾8‘ÉqQ> wžÄ">Á¥XNŒD¾’Ò@ö”Ý¿°2®ý˜¿à8i47Œz?ÀVÄoFÁz?p㪟HÉ“¿Üþ ²=¾o¿€yæêF‰¿ð%Ýt<„? ¹aÁÉh?p8~X¨‡?UW'JgDz¾°0AVSõ¿ð­¥È¿"™Á—¼é>ÐVØ6æ ?ªy}l½½2•H¨½hÿœÊUø<è…íL¥f/=Ø7ç5Ùia¾¸/W„•›s¾à, ‚=nÔ½4  aYGå½p€ã!’ 9¿ ~ÏC¿@%׺ˆIQ¿À'W‘¢¿@^®Â7cÈ¿Àh/uróÔ¿ðg2Ï ¿pë­ÃÿC¿P!XÆ ZQ¿ âÂUt‰¬¾Ðѧī’a¾ÀðÚeÊs¾ä|¼›È]R½ÍóBKÅB¼añ~4ýdQ¼2ìâB[½D¢ÌaMË&=º|rní´¼ÐÈ‘[µ,½LO^§;©½0èx\sWÀ=æA•N´d¼øøª]Òþ¿½.à×4tǽð'"W¬¾}¶ÄÝè¼>é„R%½(‹jYæA·¾¼Yû*Uyž¾È¿‰Ñ$¿°BØvya-?¹ALQϽP®Íp¥Ï-¿n§ û¿žøò¨¿à'e<°£?-q9H—½@¯¡-^–¥¿¼Joï´¿0Z4LåîÇ¿À—˜,^ÅÉ?‚\&e©‹½˜nXÿZ4ª¿ˆ#¥Ûð®¿_A˜›Â¿ ˆ¯¤ §?,sŒÊA=Cˆõl=Ä?¼r…ç–¿ Œü—pj®¿àʹ3çH¿”øo_}|=ÐN5|C°?H³ëk½¾xý׸0L5¿À¼üŠ„×4¿sã­÷0“½Àb§ómC?TºÁËdô½ìÚÇ oľXzžžUþ7%K¸ú;d½Èß–*Í×>°ùE¯'º½pçÈÁ½в%Ÿb¼DòÀ‹Õ=x çËÁÊ%½@«\ 6½/ü.pÈ¡;H3c8é@C=ÒëÓ®ö½ »¦¾X¯äW=*>÷Žˆ°8ìñ¼°Þwðé_,¾NB…|"=¿ix°@&\¿¸R} 5d?£HìÆ§ž£½P¶ëðVÊW¿„#5‚eì¿Ð¾\CΖå¿@^Ê|ƒÐ?NDy£½ ÷¶ð¶kÄ?bã»ë×6&¿À!wàëh¿0³õÃ^M¿ µi f£#½JJ«©s?‰$í¾z1½$VŒÝS1¾Tø÷87¾#± ¶¾£y¼¸šú\Ž6F>”â)àç5 »Ãÿqýµµ»¾…]%Wdº,sD2k6Á;©}6´À½±é¥ÃêÜ =í—d£üõ»}áq”Þ½€ÿ„H"¥—¾à—Ç D×ó¾°L `\ó>{:&8ó½`Ûó{ð¿-þõAk¿œ.™±‰¿øxb š?r ]Ó²E½hµ0(aq?`0/`$ͬ¿À|5I~Ô°¿`òÝpÌ¢¿2¦Ñ¡Ájx½gh×±ž?z…„;çz¶½D"éš b¾¨“ÙöõOM¾6°«o|$=¨#°®êv>ÆpÆ..¼JsL‹9Ö¼MEnÙ:öº¸Û±¸g Ý<\ìd S:R½Îçë•:R½ôNödÚP¼0Ìl~ÚP¼°°mŪu¾°¾¥~¬¾€î°#¦~¬¾P[Ûu%MS¿p*2Ï ¿ðg2Ï ¿€Ðv ÀÙ¿Ð`Æ3 ¢¿ÐÝ_Æ3 ¢¿@=šÄÀUS¿‰ 9/>9¿° 9/>9¿èMYYî·u¾„㜴׽èð»W´×½‰݉~S¼´Z˜ÝòN°»“`J ôY°»IØAÇ*߻ޔWsÔ`ò;ËJAS»»6ñJœ°S¼X4p!¾½£–Ãö9#=¸$ iò¯ù¼Àv0½8é+*xe$½°YŒ#‰¢J¾ð§& XT>¨ÙìC­C1¾„ÁÖÑ`¾^X§Zâ½èKxkæj¸¾xB%໯·>àÕv7¾à<Î^ŸÌ¾ü-ç ÒF¿ÐFÄah`¿tg°B^@? ‡ñ?¿€NEévÒk¿0jUtq‰¿@ù½Ê¦¿ç›9KŸ’?€{¶vˆ¿ÀD?³wú§¿pnt*©å¿ÀÅðÎ}«á¿0ӛ垿¿À®|øéÍ¿À ™Ú-D¶¿j¼·E–°¿„“žâ›Á¿ŠêàðÁ¿`)]¾Û¤¿€Õ)=Pè–?H”îÄm¿°˜ƒ.E`¿h/(¨Fh¿@ôŠº&Ñ>¿`LQ¼·Z?~jhÄœ¾¸þÚÇÁM!¿ /ð 1(¿w³Ö€R¿ÀµÎçÅ)?è‚>é%½H(ûÚËûK¾È*”xˆ[Z¾H¾´8²¦1¾@ s_>X>÷ÊN¬½´&o}šÖÁ½üjhÝÝ‘½p¿_ú¢Á=n¥u¤jˆë»û†é]¼‘Åó*°¹Í»ñ—:n7Ä<˜ïÀ?9ãu½høv‰L¬€=Tc™ \½ýM*½P‘½Þb“×’  ¾xZ¸Ê¿PZEBìH?0°aH󾸟àh ¿ªÍ¿õO³¿ðµ2‘¯ÜÀ¿àþVߣ ™¿ÀÅ5ð£¿àˆö¸í:¿¿êÐæ@–o‡¿À¼—]Ÿ¿€¢ªj8ˆ™¿8Õ}%F¿`ƒì¤F—?RÈyJä娽à_ÞÓEh—¾øÏ¯_T¥¾@É(ä7`|¾ø:Ñ …S£>A<¾DgÂä¼GÌjû¼9o}8ùZ¼[‡=¥»ZÜ~¼?Â2m<óVöa‹ç»8‘d×»¼õ×Wj¨{‚½Àé©íÓ>¾8Øu;\±.><4ÚÛÓ"¾Œ§D½wT¾ÖÎBüOà¿ÀÎGD™¿àKÐèÓ‚?À¦=V•çz¿À»€awÞ‰¿Ð©=‰¿o¿"¨ûš‰¿ Ô9!ò¿ÀlXÌâh¿¸‰¬`v¿µxKkàDz¾hn÷\iú¿xdË÷4ý¿ð WÅåÃé¾À 7®ƒ…?$°ó꽘BŸöt˜*½HåÆ³Êƒø¼Fô/öf#=è2-UL¼Ä”ÙÑü=¼£G ÞVL—»oAúÇP8¢Í¦¥×½è¨mÃs¾Ðû ’a¾P kH49¿ðFfÆ ZQ¿pë­ÃÿC¿Ð`Æ3 ¢¿€ÿ©7~1Õ¿àÓ@‹xÈ¿`_!„&# ¿0r)Ä{bQ¿ðd÷Ð{#C¿AÆ€i¬¾pââ¶VÎs¾H=v Ä•a¾ÿ}/%^R½_G‚£^ãP¼Ï}[‡A¼ãxö‚¼Ý»½GǼžñ;º%¤„¬³; вäèç¦C1>ï÷‹Ñ`¾XÝ$èZâ½@±Ïýæj¸¾Àƒ:m¼¯·> 3\eÿ6> GÏì^ŸÌ¾ˆªúÒF¿ø<Äah`¿8 3°B^@?QWñ??0h(évÒk¿Ÿ¿Utq‰¿Àڻʦ¿@©™9KŸ’?§ ¶vˆ? W=³wú§¿Ä†E*©å¿ÀxñÎ}«á¿­Ó›åž¿¿@®}øéÍ?€ÍžÚ-D¶¿Bé×E–°¿€–žâ›Á¿ïŒêàðÁ¿ ý]¾Û¤?ðf<=Pè–?$[©îÄm¿(¨‚.E`¿‡&¨Fh¿ M,¶&Ñ>?°QpN¼·Z?\¡3hÄœ¾Ö‡ãÁM!¿0ZÚ1(¿M®€R?@…#¤çÅ)?R¸øè%½°œ ´ûK¾@`i[Z¾HP®Ø¦1>³R­ s_>0 æä¬½(]ÞzxÖÁ½Øæ›,5Þ‘=4È÷+£Á=¶í†ÓCu뻊ë1D¼"…'&G(Î;¯˜Å´ç½<¨ p†ãu½¤ètš¬€=hÙñ \=€‰#åêP‘½(Ã…×’  ¾¸¡Ê¿”9ìH?0Ø–¤aHó>€¼‡|àh ¿’¿õO³¿`Ý1‘¯ÜÀ¿ÀÜRߣ ™¿@Õ¾5ð£?ÀÌõ¸í:¿¿ªÅç@–o‡¿à—]Ÿ¿àC¡j8ˆ™¿ÀJÄ}%F?ðæ¤F—?èˆE\ä娽P=‡Gh—¾`°3ê^T¥¾0GË0`|>˜Ü©‡S£> )ÝvÂä¼»H«iû¼yA²‚¯[<{«sµU=Á_U´ ¼ “€ Y¾ OÁâU±.>¸ðüeÓ">d‚SÑŠT¾šùûOà¿ÀxED™¿ •ÎèÓ‚?À+%V•çz?€ÅzawÞ‰¿ò‡½;‰¿o¿@­ûš‰¿ z:!ò¿ ãcÌâh?¨x‹¬`v¿ˆƒJkàDz¾X‰¡Kiú¿ÞÊ5ý¿€K¸èÃé>ˆCx„…?ï½ eÍ0ÿš*½¬9pJ|øÁøVDø)½ð÷)ˆÁ¾ÄçN—}ž¾ÖG!=$¿À§·,TR"?Í*°9ìW½€pF†¦Ú2¿ü2lt°ü¿@™—hê ¨¿à ϙà œ?à·¹äãtF=€wÀ.sA©¿¸$†k¡ð´¿|ÃÖñúÇ¿€Cºh댓¿2GØR½ lo¤ÕˆÊ¿¬¼›s²‘®¿à&0£Â¿Œx Å¿¶ëôë”…½Àîä^ð%…?pÿ7$þ–¿`Œfpšx®¿`7¤—¬¿Íöƒ˜½`‚êš“¢?·[Ø‘½¾]6*ŽP5¿p4"çç<¿ŸRø!½ÈÃõk.@?|4ïψ ó½˜° rľXý²œ8Ó¾Ù¬1Àß=@r"]Ñ>-»sº½0aÄKÛWѽ”ÎX‹¼È­Ú¼#Ï=Ì,ØèXÂ%½t&ÆÄHì<½WLV*Ÿë<,ÿiÆ@=šnOKƒT»Æ^RoE_;:Ë© þy»Ó& Yr×x»ªDÂVS½8³øV©$¾tK”m²">™á¶Â›‰½œ%ÛSÏ1¾|zTÿ>¿àšvú»1\¿àÆ~GçA?~ÉUEë"2½Pýˆ‚g¿Ô3Yˆëfì¿@Ú{æ¢å¿@zÄ/=eο•ÚzÈH ½€üîPÇhÈ¿D <˜’7&¿`8®2 h¿:í_nÅp¿è²ü»ï%R½ ñŒ œc?:Õ!q1½Ü1¸ªnU1¾†óNA¾çYHTOÇ<ð;/<]B>êßÂy6—»dŒ`ZR¬³» ŽÚ]çF»@í“ü¡³; TÎýù ½ž RZ·i =Űp¨»ˆZ £xæ$½’¥ ™§—¾(':*ãßó¾°íóŽÎø>ùß=“È€½ÀÈЊý[ý¾š‘e_k¿€¨‰¹‰¿À4™øLƒ¿˜“M#,†=ðŠ|€EqŒ¿ºœo”çͬ¿€cœŒÛ°¿àƒNãÂp¿ yd³õÔƒ=`ö~Ówå¦?úïò2d€¶½À¨©?b¾â&|ct¾ØL«Ö+ô¥¼p'zö7f>{à~ÛX?¼ÂÅ@ŸæïÓ¼´î"Ò:…¬;{OeΠÞ<ùó“+ЉP¼ôÂ&ØÐ]R½€˜L¾â\R½ˆ5<³u¾ sKät‰¬¾ âÂUt‰¬¾@=šÄÀUS¿`_!„&# ¿€Q!„&# ¿ M›ëÙ¿`Z6f¨¢¿ ­6f¨¢¿Ðõ•3[S¿ —}ªÂD9¿°åªÂD9¿˜¥âÜq»u¾0 í¿ µ×½xíZ¼Ð´×½ãÀOß„ºQ¼lù`bL6¶»çsÚë¶»þ.Ò,è»PÁ‚YÌË<-ñ40§$Ê»Ùó‡ºD¼ ë2ܽŒ:¢‡w»(=…÷Õ•Ðù¼HöAEG-½ž%)Ç<š$½x›°tªJ¾brÖðX>¦eI1¾Èö0 >p^¾’KàD_Oâ½HU¸´r¸¾à²±x—Ç>À”ç‘WB¾˜DtèN¾Ä¾p²ØH¿Pã#„Jn`¿`èVºåh?€9çø¨*?¿€ƒ&IêSZ¿,ÄÐ Vs‰¿¸8¦¿à—ü¨‹£?€Õò쌈¿@¢Þ&¨Ð ¿\®sdªå¿@­.ôµá¿€q é«¿?€âQÁ‹&Í¿@Y<,Gz¶?¨«þ¡b°¿À4NE£Á¿@Œ&”vbš?`å}a뤿€=¬ ªæÁ?Àd¾n¿ ^ ½ I`¿`¡ãaùA¿ wÏnÝ>¿/9Æ×^k?,®²ÖÈÅœ¾Øõæ¸eQ!¿¨=¡J; ¿À„INX¿ó*ìo/?¬®O¬ÉË$½¸|ë=‘þK¾@ÇƳÛT¾ˆÄæÉ©1¾ â)þ®a>h{˜¸b¬½Ìô½ ×[µ½P)»ùÞ‘½dÏÓ¸Æ=v÷iXî»akdãjm¼¹×{+N®Ï»ë™ž2™W<ÈÊÄŒv½(ÆlMy:‹=Bɨ_0\½€NÕY]k‹½Œ¤­=ô  ¾€y¢‘ìÏ¿0DZÆÛ¿?€œNÏ/Qó¾0¯fÏš»¿vlCÛP³¿ BR=ïãÀ¿À_†/˜¿?ÀÍp.Ç£¿h‘[§’¿`k¸‚bp‡¿@ K‚åhŸ¿ßLµõxŠ¿‘Õ_DP¿`œžSÓŸ?äÿd˜®Ø½PÿhBk—¾ Qúæ4–¾ ùJU‚d|¾ðuÃÀ`’ª>ʉ¾ŒÄtÂËœQ>ˆßƒ £×"¾$èäšžD¾ ’y—á¿À[!™¿€,:ÂÓz?ÀYãŠÝüz¿ "é/…î“¿†Vê®]Ào¿Ð7¶¸ ‰¿àY=zªH„?'^{›h¿°õ†Ï½‡?ÁÿVȲ¾ÀYªÙ¦þ¿p½$¾iÔ¿°>ÐHÊé¾09õVwô ?ÈMƒŠ³…½ºdU¸-½ ô`Y÷Î÷¼ ‹¢°3¨.=×á< P§µ»\¶Y7†ôN¼•È'úçs@¼¸ fˆ®×½¨¦mÏeÊs¾Ðѧī’a¾‰ 9/>9¿0r)Ä{bQ¿Ð(Ñ{#C¿`Z6f¨¢¿€V<öWÕ¿WS<¢…È¿  áäø, ¿0ÚéMhQ¿`¢Ôºê'C¿ WNñ“¬¾há!ù´Ñs¾ˆQÜëU˜a¾x·Ü,øWR½‘f.‹í(N¼Ø±Øú?¼ø¨°²+è»lŸÕQË<Ýü+W†!Ê;Ít'ÙC¼øÔ¿Ãܽ$`ÎÔv»(=DÐ=MÐù<@áfADG-½Æà«á<š$½7{ÎtªJ¾€ÏÜQÖðX>€ªØ eI1>HMÈn>p^¾ÈKH_Oâ½èe²·r¸¾`xÃs—Ç>pSÏuWB>h_·äN¾Ä¾\;“ü×H¿øÅ"„Jn`¿ðlºåh?%¢ù¨*??@‰^IêSZ¿|Å Vs‰¿Y7¦¿àæ”ü¨‹£?ÀT ò쌈?€žÜ&¨Ð ¿øò£sdªå¿ ö*ôµá¿@¿ùè«¿?À;;Á‹&Í?€T?,Gz¶?z…ñ¡b°¿ ÎDE£Á¿ ¤à“vbš?à…¯}aë¤?@-¨ ªæÁ?\„þn¿ a‚½ I`¿`$ŸãaùA¿@ëºÍnÝ>?0ùÅ×^k?Ì…ÕÛÈÅœ¾p3è¸eQ!¿ˆ‘m J; ¿0$ÜTX?€Õ6+ìo/? QÊ$ÉË$½F"’«þK¾8¢B³ÛT¾à ÿ>©1>`5ø¥*®a>€’ÎÅ»¬½ø‚Š‚Ô[µ½€jJd²ß‘=øV†B¹Æ=1Îrðíò`#Ó“¼œÑúQöÑ;,z}®<ˆv 2v½\ûñ¤Ì9‹=h •Œ.\=€•Ì'Ðj‹½>(¨=ô  ¾¨ñz‘ìÏ¿@¢¨ÅÛ¿?r]Î/Qó>pÚýΚ»¿€?ÛP³¿°æP=ïãÀ¿à¥„/˜¿?àei.Ç£?(Y[§’¿<Å}bp‡¿€)ÿåhŸ¿0)WµõxŠ¿v‚^DP?`oMžSÓŸ?a˜®Ø½ l^Bk—¾È÷ æ4–¾ð–®ƒd|>€[ö`’ª>6µƒBͦä¼ëhiõ¼ f¾¦8Y<5)Ŧ¢/=ï–ÐHaø»çBËp <Çýá^ò"Þ;ñÀÂçQȼ…Ï™€Š{‚½ˆàЖªÚ>¾pUÝÁËœQ>8¸%£×">05€šžD¾¨f¿—á¿°m\!™¿@Ž>ÂÓz? ˜ùŠÝüz?ùì/…î“¿ÂXÝ®]Ào¿ ñ ¶¸ ‰¿Ðã1zªH„?à÷ä]{›h?Pø{Ͻ‡?ê ÿVȲ¾ Þߦþ¿0c¸iÔ¿P™«jÊé>ðœIQwô ? ³›ÿµ…½Âpô±¹-½ü„OÏ÷9¿ðd÷Ð{#C¿P+Ä{bQ¿ ­6f¨¢¿WS<¢…È¿½!öWÕ¿ ›ºäø, ¿p™Þºê'C¿Ö¼MhQ¿À÷Ù¾°Jr_˜a¾øt;1ÅÑs¾øÇƒ·ŒZR½GÀ¤ØuA@¼uo[¾ON¼"0côת½,èu…Û-'=Û0ŠN¬»X™Ëx‰,½”h5œI©½´of¿±^À=ú@GÓ=¼(OñLÀ½ðvýiȽ(úús"f¬¾aÐ®Ìø¼>G¶ðã<À-8tXN·¾à)ÛËž¾ÐÇ-è#$¿p|öM>u-?D-à‚…Ïp½à´+È”â-¿õ»ý¿€ q¬¨¿`$Ê,£?Åûqn¤`¤½`¡Î+¯¥¿àe¶§ñ´¿ ¡ß3È¿à $FÞÉ?Í*··Õ½hç¦Qy9ª¿,x¹ü “®¿ ½8r©Â¿ €ê™á*§?ìì¼üdÔ½€¼ï¨ÒNÄ?¤¶Eû–¿€ 6,Å„®¿pdíçY¿L”Í Ú°½@ÓJÀU°?L [ݽ¾ðI% T5¿`«œ°£ß4¿«rðšØG+½°=ÌqZ C?V°„|Xó½ÐѯzétľˆCþÈ)[þhhµ#Âð¼9"€Ô×>°TÑhVº½”©u[‘ÆÁ½¡ÌÍA¼´¥ÌÕ‰Õ=T2·K¢%½ ø=¥qÚ5½¹v¤ûÀ&K¼ á72Þ&C=2¤Hü¿b»íü÷!G°‚;†1˜»ðýñ€»?ÝÊ'ºƒ½xýÏÚ)¾xÉ,küJ*>Sa{X6–¼H{uom,¾¾V" ë?¿ €òu8\¿€Dt€Bd?n Ú= }<*ÛW¿8Bu‰àgì¿qZªå¿@eå¦3 Ð? 6·,œ¾`ú°ÌÏÄ?Æç¤E8&¿p ߈¤#h¿Ð^:ïx-M¿€ºQš<ˆ5ñs?§à•,ˆ]1½X §ˆHU1¾èåö]Ì97¾Qï\û5Èü¼…ÁÀ×9F>ý¿ï0.þb»ä³8䇨{»ÈC`O©»"àíÄ„;É”^†¿½q¤¥V""=º#wæb»¦c‘‹¶°½JŒsè§—¾@ʉ„µäó¾à8!akjó>Ãܺ{ÃUú<ïKqˆ›¿,¢Äqk¿øÄÔ*¿‰¿ ×k¤?Z÷®ÿ.Š=àâŶ¦hq?Þåä¡Î¬¿€ ¾úà°¿<É9ࢿÅÎOƒ©˜½. ÔÜž?\¬R>÷€¶½œÛV™ b¾0¨WM¾áRmf‹Õ¡¼ÈŒ¼Qïv>ê`WΣÍA¼†~ywðÕ¼)y‚2.úºU.C{Ú¬Ü<%åäZ™9S¼XMj“º]R½ä|¼›È]R½èMYYî·u¾AÆ€i¬¾à­Ôj¬¾Ðõ•3[S¿  áäø, ¿ ›ºäø, ¿@H( Ú¿pئú¢®¢¿àÐgú¢®¢¿Ðfò]”_S¿pÄvèJ9¿^§èJ9¿€?ªßݾu¾Èhú} µ×½ØnU8{µ×½†c>0e«O¼e¦Î''{—»ã¸Êózy—»%'ø“óšð»gõéß}pŒHE}L1¾ØUG¸ßØ`¾àºâ>ýTã½qAöv¸¾@J8ü»·>À·xõH¾ðo½®Ì¾¤È{cJ¿¸6Ö>r`¿àEœÒh@?ÀLêm<7?¿ Ó- äk¿È†êx“t‰¿à>¡iï$¦¿€ ;š¬’?`Ar9¢œˆ¿`a<µ¨¿ÐÇYl]«å¿Ð”Ë’¼á¿Àê,8#Ý¿¿¬ Ð=Í¿@,˜súk¶¿d8¼>°¿`5Ò©Á¿P#ÛÜ¿À‘Ý-”ø¤¿à¼9nWó–?ÐV]Ño¿@-¿]ªøÄZ? 5´"Çœ¾h @ôT!¿€ [µ<(¿€+¯ï]¿y˜q¼Ð)?,Ö€³$½pG¾YL¾X]ØEXbZ¾Û€Ã«1¾ ÒèX{_>€5D£ù¬½¤e¹âpÜÁ½°ŒóÏà‘½4¾ñü©Á=÷} º]+ð»‰%q‡¿ÀwsŸ¿`~$¥ýŸ™¿ ëC&\Y¿ +·U4!—?†žHØìÿؽ`@â§jn—¾@ËcZ¥¾ð Ϩi|¾Hyäö¿X£>Å3ÏÞšX伬 ®h?Þú¼~VëÊR¼r»ð@Ùÿ<frZK¡ã»ú1 ÏóBü;Îï8GÈ»?1”V±ô¼úi) νXÛ >ß>¾¨ç7‰¸.>ìÎ1K£Ú"¾Oµà T¾¬áY‰pâ¿PúCñ@*™¿PCÔÿ“?@±ï,e {¿àÓ0ß©Š¿Ì)_{!Áo¿àý¨¨¦‰¿°ˆÝž-¿©Ì> ¥h¿PµôPhv¿/Ÿ3ÈÛȲ¾0($6ß¿@,u︿p`t0Ðé¾h¦À’–Œ?Vý54-н(Ù(%èE*½tz„ —"ø¼TÄ`@®#=r„2°÷ˆª»;ô}‘_Q¼ÍóBKÅB¼„㜴׽pââ¶VÎs¾HDîb®•a¾ —}ªÂD9¿0ÚéMhQ¿p™Þºê'C¿pئú¢®¢¿ŸX' vÕ¿@ßtŽÞÈ¿@‡ænd5 ¿À9í—ÁmQ¿Vø? ,C¿@ü&z§˜¬¾°ëD´MÕs¾`{ç›a¾¤o"%cR½ãöÚ²òI¼¾Ó-·ó<¼Ò:¹¿’ð» ÕÛÒ»}<ØÃÃ=/BÐ;ÐG苼L“UQßνDCžT#=´Á€f¹ù<´ÎP¹~0½Ò²ñ‹&‚$½XG/îJ¾àµ}¬aT>8ã-~L1> |7Üߨ`¾8*µ=ýTã½Pv:Éõv¸¾Ð)½»·>à)äòH>Pžë®Ì¾kµcJ¿Ö>r`¿ ¿þ›Òh@?ào<7??¾P äk¿œ}áx“t‰¿ƃiï$¦¿ðÊe;š¬’?"Ó8¢œˆ? g6<µ¨¿ì­¢r]«å¿ÀwË’¼á¿€\¦7#Ý¿¿ ±Ð=Í?€‡œsúk¶¿tP?°¿ì$Ò©Á¿ ¡ÄÜ¿ \-”ø¤?@ŒämWó–?ÁkÑo¿ÈAH·L`¿y\‘ÔRh¿ ‰J—-é>?€ÎŽ©øÄZ?¬@äµ"Çœ¾Hc9@ôT!¿`!ÿ´<(¿ Ù]?–k¼Ð)? œ€³$½Pu0´YL¾!šJXbZ¾ •»Ã«1>xkþ×X{_>àˆ\0õ¬½(6“ÐnÜÁ½è_hÙÊà‘=h‹21¸©Á=!ZŸé3ð» !ÓÏ€ ¼&ÌyÇñÀÏ;›qõôæ#<hI"IÜv½ø¢Ý€=èõÜn0H\=œÞ•máu‘½ <"ɬ  ¾ ¦ŽtÓ¿@|ÙY¼X?ðŒßévVó>è86›¶q ¿’Ò®P³¿@H¡ QéÀ¿àQe5&@™¿àyüöÁ£?€ôDèT¿¿ÞË,%q‡¿ T{sŸ¿€E&¥ýŸ™¿€X&\Y?f´U4!—?€²HØìÿؽ¸ö-3sn—¾`®öq\Z¥¾ˆ‰ýh|>8 {˹X£>!» TXä¼èp½Ýú¼¿–™R<š³ÏeYÿ<Q0yG¡ã»¼ðÉUïBü;€ä¶± GÈ;@˜™­ô¼†Z ν°æñ>ß>¾xQ48‰¸.>ôw¡J£Ú">ìŸÕà T¾Ž~F‰pâ¿Í4ñ@*™¿ ?Ôÿ“?`\P,e {? ìíÞ©Š¿èñ^{!Áo¿$ò¨¨¦‰¿Pð Ýž-¿ÀÜ/= ¥h?È8òPhv¿9¢3ÈÛȲ¾¨3ß¿aÝ帿°!c0Ðé>(¡ÉŒ–Œ?†6ÿ !н@ Ü]ÙE*½Ô¤‹3Õ"ø<èä{/›#=âdî‡&”©»Ÿ·ˆB¼añ~4ýdQ¼èð»W´×½H=v Ä•a¾X÷º±UÎs¾°åªÂD9¿`¢Ôºê'C¿Ö¼MhQ¿àÐgú¢®¢¿@ßtŽÞÈ¿@Íý% vÕ¿`õànd5 ¿Ð8é*ÙzÂÞy½XGÞ©ŽÁ¾9Òå耞¾Ð4HŒŒ'$¿à€Ð¯Y"?Q̧if޽Øn¸»ßâ2¿ä8`þ¿ /ð`Áµ¨¿ fÓÿ œ?åAÕÇ‚ƒp½€GˆÁ$]©¿·œò´¿P: d× È¿ ò¶“¿H¡$/Ä¡= Åqì›Ê¿à…ÇŒ”®¿@êùׯ¿ððý °Å¿,¹¯Ä~ø°=`íqÃ…?ÌÎÌd'–¿aÁˆ‘®¿àÑš[ ¬¿~0¼íþ?¡½ÀõFoᥢ?°ÔŠ}°½¾hŸó¸Y5¿pµÔÄõ<¿}}o{ú–r½ˆíéj|5@?þNp<Ígô½ šßÉxľå0Þs?Ó¾úÈÝ‚û†o½à†•¬Ñ>EÅùð.Ƹº8+Ø'º½4ÔeJ_ѽ FÜá:éã¼0ÞtÞg2Ï=0š»0·%½Ô¼‰ßÚ<½YßnŽq¼4¬ì™¾@=kÜ-–g^C»*mHk4Q]»IÐevÒ.óº4!É›d;œW% Al»®;)´ü%…;¾#ç­ }»ƒØï,»8r¯†ä›½PY_E'+¾T8°¹">¦²­-iJ!½]À•ˆ$1¾8S4—@¿@=ßÒì=\¿€5Àw®ðA?!ÃR¼ìËT½pUø)g¿LY´»Ñhì¿p¡Ñyæ±å¿@tþböο@{”*Ôz½uЍDÈ¿êL®4+9&¿@YÌ*)h¿X¥ VãÌp¿Á\ˆ×½Àª3°¥c?CØ%*"b2½da³–Y1¾„¹#^?A¾Êß—ÎÜÙG½”šÅ‚ÙaB>½Ìå¿®»é8ÒìmÇÈ»ÆX¶> ^»%71b É;Œ_êÿ ½lö1Aq =— ÿãöQ¼ÐXH5ë¸%½`m™‰¨—¾–úÚlèó¾ é¼<÷Øø>3—q[7-½.)Ø–iý¾žZ<)³k¿‰±dĉ¿ɇYTƒ¿HÉ‹€$:½Ð(ÄÝÓ~Œ¿6ÙÍyϬ¿Ð%kXç°¿ÀÛ!X!‹¿øV†9Ê*y½à¼˜*Dþ¦?ŒØ¥Öþ´½/§@Pb¾¸™tgt¾öïO:oÿ¼Èc™³;f>z¨K‡lL¼âÿ›ÂÐ3Ӽ¯«¥q°ó»_ÐQΊÝ<‰݉~S¼ÿ}/%^R½4?*€X]R½˜¥âÜq»u¾ WNñ“¬¾À÷Ù¾Ðfò]”_S¿@‡ænd5 ¿`õànd5 ¿Àõ“ƒ1+Ú¿ 7[µ¢¿@af[µ¢¿0‚$ƒÎdS¿ÐÇžù(R9¿@&2ô(R9¿P ÖùrÃu¾p{$Tc·×½P—€‚3·×½:sCSP¼d*±H’d¹»ÛY“µŠ¸»C™ w&ò»æñç"ò6 <’_D!“ÂÒ»Õ* ØÜ<¼ ì&pò½¶1ëxÒ(=¼ð•Jyâù¼$éq–l-½T³G6‰ˆ$½ àF­²J¾ˆŠÉøX>´ª´O1¾ør,óºy^¾Lê» ÂUã½$ÇM²z¸¾ÈÜI¿Ç>¬¬~N¾@M?…SÅľ|1Ýž K¿@ëÔ¿áu`¿Ð 9òÓñh?@\àB?¿ÐHaZ¿ w›²u‰¿°4k©%-¦¿€Ïa¤ž£?À33z¬ˆ¿@—u¡iÝ ¿ô³Íˆr¬å¿pQV¯úÄá¿@fÕÁä¿?€IöÝWÍ¿€ÎŠ¡¶?`6Ïû°¿°r¬½°Á¿À90~n„š?<ûó¥¿À¦l>£õÁ?(¸{µ_q¿˜f0·zQ`¿j¥¦“B¿;¸_Yø>¿ß/¢ömk?$ª°yÉœ¾°vÂ>ýY!¿°‘|uÚB ¿0Z¶ëBe¿06qûŽ€/?><_ žˆ%½øã)þ¹L¾HjÕxEãT¾(fÙÝѰ1¾ö$Á´a>€^©’£¬½àÛ‹cµ½D;xªµè‘½ {/T¿Æ=Äu˜jïÞ÷»»„ªZu« ¼økNµY4Ú»ÑðY[fÆ<ZÜÈõ»å •ap4»°£U #Îõº 4lÏÄâ@;tQ—_-v½¶x¼J[‹=øÉq°X\½Œl:˜‹½¦Ü¾4-  ¾¨Ÿ–Ö¿ààÈãÉ?Ð|³Q1[ó¾à†]-Å¿ö‘‹OQ³¿@èè6ÙîÀ¿Æ™"™°¿?`³ §'+£¿ÈbxJ ’¿œ(¤r‡¿ ¨õP´Ÿ¿°ßî×C‡Š¿ Ã¶cÀd¿xòbMðŸ?ú‰õ”JÙ½Ð\Ç€s—¾ˆ¯.Ÿ<–¾èd“߯p|¾hÃòW:œª>™GªLÝ㼌•žr<ô¼ŽÒ©¨Ç`¼Ís=~=£r¡¤z]¼s–NÍ<Údú ò»{Ã"»^$¼ÀXU½Ðæ[MÈà>¾ôœ¦˜» Q>„Åø3ÞÛ"¾ ¥àû¡D¾* î1ã¿°kr2™¿@kcÈùz?€J¨Ï{¿`›ºSÊ”¿pÌ·Âo¿ÀXë\v­‰¿ðµcR„? ñ,ë¯h¿pB²EUˇ?Y, Åɲ¾êJ˜b ¿ð mƒá¿ÅàÞIO1>XIhÔy^¾2ô§ÿÁUã½( x´¯z¸¾¨Þ¥½Ç>Kê©N>XýzQÅľðÀ(Ÿ K¿àÉ¿áu`¿0ŽNòÓñh?@¦±àB??tYaZ¿œ¼Œ›²u‰¿ ·ñ©%-¦¿ÀyŽb¤ž£?@H/z¬ˆ?PÕ¢iÝ ¿ä»¤|r¬å¿ ¬å¯úÄá¿À"wÕÁä¿?ÀTXùÝWÍ?€ÂD¡¶?jEÖÏû°¿‹¬½°Á¿ÜŸ~n„š? ±_ûó¥?àÖ‹>£õÁ?Zµ_q¿ê2·zQ`¿ Š¯¦“B¿ Ü°^Yø>?`ö¡ömk?hدyÉœ¾xé^0ýY!¿àü]UÚB ¿‹| Be? 5©Ž€/?¸Â1 ˆ%½¨å¦ŒÐL¾Hƒ¾OãT¾ØC]Q­°1>hà“ÊÉ´a>S(B¬½”¼*Ócµ½¤%4³ç‘=ä] ¿Æ=mŽÃ/¾ ø»1ô¾BÕ ¼ËùRiÄŸÙ;¿ôqù<üžB>ºø»VKEév3»ü難…€é:о¥S·q?;$O¤:,v½Ý Z‹=8æJ‘_\=t¿©–‹½Jõ33-  ¾À½…–Ö¿Ðû„ÑãÉ?À¶1[ó>pÙd_-Å¿üÈcOQ³¿°¸k7ÙîÀ¿ Œ$™°¿?šÞ©'+£?0jÏJ ’¿Âü¤r‡¿àø Q´Ÿ¿ôà×C‡Š¿à1ÞcÀd?`ËcMðŸ?R¯ð–JÙ½ „(ƒs—¾¨b¸C<–¾EЏ¢p|>XØ;œª>pË ÏÊÝ㼆î]®ë<ô¼)îÓúàV`<¤û]D©~=×x×"¢¼ q]ðI <=wYW{”ñ;ä4As•$¼^£!U½Pœæ °à>¾ÐæE­ Q>ŒgcÝ Ü"><Òü¡D¾¸²î1ã¿Àl§r2™¿Ày¶cÈùz? !Ò¨Ï{? päSÊ”¿öqÌ·Âo¿Àá\v­‰¿€è cR„? ³¹,ë¯h?L EUˇ?.¿' Åɲ¾ÉNœb ¿À+zƒá¿ ßÚ?¤Ùé>p¦‡3\ ? âš«a»½Z™á4›V½Ðpåk?ñ÷<øísé…ò.=“`J ôY°»Ï}[‡A¼sJ:U3àP¼xíZ¼Ð´×½ˆQÜëU˜a¾øt;1ÅÑs¾^§èJ9¿Vø? ,C¿v÷—ÁmQ¿@af[µ¢¿@#»åk›È¿@y¢*˜Õ¿ý?@ ¿ÀÉ®*L1C¿PCcï¢tQ¿À}ŸUŸ¬¾¨Ùi}Ÿa¾Ø«Ù ÆÚs¾˜Q¬NvR½øsü¸he@¼9íæåN¼ØÙú”Œ»N—ƒC¬,;ÕEû±&ÁºÄx`¶3»F…¢W¾½Öã*B'=5M!ªhµF¼d‹Î2¢¥,½ 2Kœ.U©½\T’@½eÀ=f\U¶¼,Øè? À½€]³å}qȽ0Í©úÃm¬¾ ¼!½>œ3q§ãº¼¨ IÜT·¾¸Vl;‚ž¾À¡éo+$¿0®—Ž9-?¢4“r*½ÐÿÉóî-¿ pŠº5ÿ¿À,¨Ÿ£Á¨¿ÀZÞežD£?X†úñäSƒ= |¡s'Ã¥¿\;uîÄó´¿ÐQ‡ªÈ¿ Õ%õ:ôÉ?잯uq>“=Ðõ\ Aª¿…X=Ç–®¿€°…°¹Â¿` H©M§?ƒzëÐ瀵½×C̦`Ä?˜éö7–¿`t´&¦®¿Ž¥?äk¿ÜS=€å¬OC?ðén ?ô½ æ¦2ÜľÀî£}ádþ•²C‹+½(Èâh×á×>ÀòX–*º½ð·¾ìÐÁ½›±‘¶‘¼|i¶’+™Õ=$8Ô²%½Hª,ÉÆ¸5½çŸ=÷Ü]¼D öC=å•Ú¥ Ô…»¿;à(w~¡;÷ ÚÓö Sºï2Þ§2¤»…Ùà ½pÝðla.¾Ø3qø¿O*>…„ˆ'y¼H}°Ýr,¾ÓJ5A¿PhwöòC\¿ ‚'ý1Kd?1é`pÿßX½0ðy¤æW¿PÓújì¿@r;y¼å¿€ ™!½Ð?Âif“³)=@O»;®Ä?Ö£±ÒÒ:&¿ µÙî‚2h¿À(íT@M¿$5a3!v½h2¹ŠU%s?Æå–91½ìnÔ^1¾à ‹¶F7¾#Ô¡˜eé·¼$à[EF>îX…gÐ ½ÔØ CŸE"=8±|¯Í»²h¢Ïï½Ø}F›©—¾0úíà ìó¾¸ìuró>}íp‡àŒ"½hUѹõ¡¿´4‚‘„k¿ že%ôʉ¿ æÀ Ĭ?*œÏÒX½8{VTmq?vü­¥ûЬ¿ zMâñ°¿ XŸ„ù¢¿½¬\9tHµ½@îô‹ÈŸ?Ä{¯UDRµ½ôÀW¥b¾€QrcM¾ZôJ¶ S½hÁ&ˆøv>SûmŽnG¼Ù‘©ÀBSÔ¼ŠÊ÷ÕYÎ÷ºz9÷À€Ú<ãÀOß„ºQ¼x·Ü,øWR½øÇƒ·ŒZR½€?ªßݾu¾@ü&z§˜¬¾Àòñ¦˜¬¾0‚$ƒÎdS¿ÀØ@ ¿ý?@ ¿Ê˜MiVÚ¿PŸ2¾¢¿P.Ž2¾¢¿0eu…?mS¿`C[0Ú^9¿p¥:0Ú^9¿@ AgKÌu¾H2·´¿×½h¶â¿×½ÌX„ˆ!ó¼dq”†“¼ô»Ë£Šp/]ðºtsâQ1¾¸†oz£Ý`¾Rð„¯ÜUã½H¤eÆ¢~¸¾0Òl¡€Â·>p®ŒT¾°ê ÇŸ·Ì¾TአL¿ÈK%¯fz`¿è±”ur@?ÀdH%Q?¿ðŠÖ»øòk¿Ì‡Q'w‰¿`›„i 8¦¿€³~íBº’? ëÖ¡®Àˆ¿k“™.¨¿ˆψ ®å¿PØp²ýÐá¿` TÛÀ¿ÀŸ/ï|Í¿@x10¤¶¿°ª!s~°¿ðK9¼Á¿`Ÿõñ¹¿ s© ¥¿ aÚû–?\&ê«t¿P{ïcÕY`¿p“0„gh¿,ñ„’?¿€·uþÚZ?Lõ•¾Îœ¾„±º÷b!¿PL /ÀQ(¿0½v…©r¿@Œ¦%+å)?Þ°BƆ$½X¹5n‚L¾˜WBtZ¾wEó¸1¾ ÆBd“_>¯`Õž¬½\ÏÞ1çÁ½X@;…JÌθæG´Á=xˆ¦Æ­-v½œ!E ŠÞ€=˜i€âY\½<«’â ‘½ò<ߦ  ¾¨P«²Ú¿&À>)d?ÐëÎ×P`ó¾ò ø x ¿ikà%R³¿Ðå³7öÀ¿à7¾Š]™¿ éšã°:£¿àWV}±q¿¿veqès‡¿€Ÿ't”Ÿ¿@ð5{£Ã™¿€R|('w¿7G¤Ë8—?Ž£Ù½¹²È}—¾ ÐSÚ i¥¾î|j|¾Yª[ge£>ÂISG¼ÜJ\ÜÚ%!<˜‡&·\ì»û œè‘!¼óƒ@á H½p¥Ì\3ã>¾È*ø#Þ¼.>$ôŠœÝ"¾4pËNT¾ÔcË(ä¿ðâ>Õ.=™¿ÀYÆœì£?Ù‘äc+{¿àÔCjÄ$Š¿¼ˆ÷g¶Ão¿À­á}⸉¿`BÚÖE¿ ‰„€Âh¿²¹š¾tv¿cDø û˲¾Øç ýÄ¿ø'Ïß°¿PõÂêéé¾€& N4›?¢ Y¶qݽ„ßuWÞB*½€°rPGR1>x‡D;Ý`¾@$6®ÜUã½ðjæPŸ~¸¾˜ˆ¤ï·>@³~<”T>ðj&œ·Ì¾\ý) L¿à¯fz`¿”•ur@?`q"H%Q??€6½»øòk¿äí\'w‰¿È€i 8¦¿Ð¹{íBº’?.Ì¡®Àˆ?àŒŽ™.¨¿Ð<’ˆ ®å¿à½X²ýÐá¿àÂ^ÛÀ¿|.ï|Í?€ë 0¤¶¿´3âq~°¿ÀÕÑ8¼Á¿°Äñ¹¿€ï§ ¥?ÐeÞÙû–?Tê«t¿¸¶ eÕY`¿€}¼.„gh¿@³’??ÐëwsþÚZ?<¹¾Îœ¾È\y½÷b!¿@˜00ÀQ(¿Àø@z©r?pÜž&+å)?˜ãR%Ɔ$½Ø vL¾xÂ;tZ¾È8ª߸1>p?ß}ž_>h ƒLQ¬½@§ØÒ"èÁ½Ü6'qˆï‘=°S¶µÁ=¤Ë Æ”,v½‘æ÷Ý€=@ƒ<_\=äð ÚM€‘½¾½¦  ¾@;$šÚ¿pªaa)d?ð`¨fQ`ó>Dù x ¿ø;bà%R³¿0§«7öÀ¿ÀñÊŠ]™¿Àèpã°:£? œ=}±q¿¿Õøpès‡¿@p`'t”Ÿ¿€çz£Ã™¿àj¿''w?@K¤Ë8—?~KóBÙ½h—Rö¢}—¾„&Ði¥¾ } |>¨ÂÎýhe£>ëÞ­µ×¼òªWRü <Á#ª°qˆí;t…ÏÚf!¼®š?á H½P¿k_/ã>¾(yÀÐá¼.>¼ìƒP™Ý">µ8]T¾,_Ë(俀оÔ.=™¿ðo›ì£? NUâc+{?àibgÄ$Š¿žªñg¶Ão¿-³}⸉¿ð.ÖE¿ q;Âh?ð¤[š¾tv¿¬;ø û˲¾€+ÞüÄ¿H69ß°¿À/ÿÁªéé>Ø-ðM4›?tkda'ß½PS8¸­E*½ˆsÌ£3ø<òâMk·#=亾_# ¼ã×W…Þ%¼Aá+ißê;Ô þÔÕ&<çsÚ붻رØú?¼uo[¾ON¼ØnU8{µ×½`{ç›a¾ø§âVLÕs¾@&2ô(R9¿XÀ†*L1C¿PCcï¢tQ¿P.Ž2¾¢¿ îð,”«È¿å…j=ÇÕ¿à†ÿO ¿(\p:C¿ð“ri€Q¿ ùt†%¬¬¾hç$¸£§a¾ öNy™äs¾DÒ"Ëí½Ùm6/Ä»°M”«Ûý0;åùÍÊ;ƒÆºˆv[ı9»ð¤Î룽KªJû"#=òâ|¥sW¼xÁ6R/½Ø`i@S©½´oÌ$}P³="­íLä¼|Z“äÏĽŸž¬_sȽÐÚ¼ìr¬¾Dmˆ¤¨>«›m¯ìq½ Ôýö“Á¾\åFù£ƒž¾È»ˆ1$¿¨Ãßçjb"?A¥LL:=Éá_xì2¿äí³„u‘¿ €dÔ¨¿`…o9‹>œ?È®%€Ÿ)¯½à¥W몆©¿0SÒíÅõ´¿PÅ7X%È¿@ <6ëò“¿¬VâêÏ$ɽ`”€§Õ¼Ê¿¬`›®¿PQÙ¹½Ê¿ð“OÄ<Å¿€o.çòWN½`Ch¤ªÅ„?°Yb[Û–¿à$æ; Î®¿¿0ˆ]e¬¿¾/3ž…8n½ A¢ö΢?ÀCc=#½¾Èð'Ûv5¿p§Ÿô‰=¿I\Š™öê¼pG®hÂJ@?¦áÎãuô½x Ÿ¹Ä¾¤ñâVÓ¾ ÍN܃=˜þø<ç*Ñ>V?ÁË ï…»ç}9m‚˜;«?úMd5»¬ò`®p§»D¡uLzG½@¡Ùy0¾”ðáì9 ">¾‰Ún;=½tp0Æê'1¾ž ¦B¿PïüM\¿@¬ËÓ·ýA?˜Ùɼ9y½Ð¹n&g¿FÝ%Þ@lì¿Ðèž© Ïå¿@ÀÖ‡}ØÎ¿àÙàq˽ „A>AÖÈ¿˜äŠ3õ>&¿Ð5΢QGh¿@œß޵âp¿9ª½YÃ-½Ã›[¾c?~žMŽß½Z­¥å®> =\F%ޏk2¼v:OÅ•%½t}"²¼©—¾0©§Úñó¾@ˆv`,äø>j‚½ð‚¯žwý¾\TÐöék¿ £ +mÖ‰¿€‘xÝ_ƒ¿:Msz¿²½ðš/–Œ¿&Ioh“Ô¬¿`]Hìi±¿ÀEØmLÅ¿ÎvÃf¯|}½à0§‡U:§?DÚ›×¾}¶½ŒÖ@5§&b¾,JØË}t¾ßn½”  ¼˜¬ÏŽSf>±R ÍñÁ ½ìعö?Pü½ì6ʉv^ ¾‰]ƒ+pÚ¼è9]Æ >†c>0e«O¼¤o"%cR½0q6}7bR½P ÖùrÃu¾Ðöh:VŸ¬¾À}ŸUŸ¬¾0eu…?mS¿Ð®'†ÿO ¿à†ÿO ¿€bv=.ŸÚ¿@ƒeàµÏ¢¿pv[àµÏ¢¿Ú\*S¿`157Åw9¿Vf7Åw9¿0Õ\Å)×*¾QºnÃγç»ÓE¬‘dé'&ËT1¾ˆá ¬vƒ^¾F²*Ê„Oã½@[Ád털¾Ðu&ÐP!Ç>ðaŽšô]¾h´=~Îľp÷¿M¿èÖ¹§*‚`¿@üs(i?Àæ^‹Mi?¿òûÑ^wZ¿ÐÑW„y‰¿P64î.L¦¿à_¦Lã? Ý]_W房ðYÆœö ¿¤{J†p±å¿Ètayêá¿À¼¸ »:À?@­NKíÊÍ¿Àݰ°Éé¶?Ž(èNò °¿zfÙÔÁ¿@=’'êš?@ñÝÄR¥¿PÅbþºÂ?:ˆ*K~¿0]3 n`¿ÊlÉRB¿ÀB²Q?¿€ðV3ý k?Ghàœ¾s(ë±}!¿ð=ݸ` ¿Ào0ÐY˜¿ ²Öz[Ã/?4…)d3 v½t4™ÆÈ6‹=8;²~Å1\½|G™È,u‹½.]æ}K  ¾”˜ŒÁß¿TPðØ?Ð Ähó¾ÐC´ÕÐÒ¿†ê±ö«S³¿°Cγ^Á¿àèÀbä¿?²º™X£¿°¢Ó#’¿8 ävx‡¿@= TöÆŸ¿÷°ë箊¿0^=颿 TòOv# ?$MY ;Þ»{¿v ã ÷;ó [ØÄ»”çëÔú» ;³ƒ·H½ PËÜâ>¾˜[=ú¢Q>fFc¸Ý"¾oÒ8¦D¾tJUoÔå¿ðzU=eP™¿À=DÞF?{?Àžm€ÑK{¿ ‰$"”¿°cÏ ¨Ço¿ qºrщ¿U„1n„?`ä5çh¿p]5¤ñ‡?1©¦/yÖ²¾I˜ú§>¿Xñ]Õ ¿P‹ˆ"ê¾à˜÷Ê^N ?!Dx¢ÞɽXbUpZp¾ð¥]\;¡l¾ô\EÑÜS¾VXzD$‚>e¦Î''{—»ãöÚ²òI¼-7ï¨~<¼p{$Tc·×½@úÉoÅÚs¾¨Ùi}Ÿa¾`C[0Ú^9¿@ƈi€Q¿(\p:C¿@ƒeàµÏ¢¿ÀD¿Çb+Ö¿`q|MÎÈ¿ðè1¬w ¿€ ›0›Q¿0J*4°¬óÊT1>pó~švƒ^¾jÅ*Ê„O㽘ŽÐX털¾ €ÓÌP!Ç>€OÜ¿ô]>Br1~Îľdôõ¿M¿Ø·§*‚`¿ "}(i?& ‹Mi??ð·ûÑ^wZ¿¨­:1„y‰¿°ëOî.L¦¿ b}¦Lã?ÀY|`Wæˆ?.Æœö ¿Š@˜p±å¿¿@ayêá¿€  »:À?z JíÊÍ?7y°Éé¶?FÕcOò °¿pû\fÙÔÁ¿ U½‘'êš? ]sÝÄR¥? ñ9þºÂ?ÂR‡*K~¿(Ù5 n`¿SGÉRB¿@â±Q??ÐE3ý k?ˆVEhàœ¾8ÿ(±}!¿À‰VX` ¿ Ê+Y˜?0&[»ZÃ/?¬Ä½'3 v½Ü„¥dÈ6‹=xÛbðÂ1\=pQýu,u‹½0 Ñ}K  ¾˜:¦ƒÁß¿+¶ÑØ?`fËîÃhó>°µµÐÒ¿6ºÍõ«S³¿À¨Ç³^Á¿ û¿bä¿?àÒƒº™X£?` ‡Ó#’¿$Yävx‡¿§øSöÆŸ¿W˜ë箊¿0:Ê<é¢?ÀráOv# ?'žLý…;޻ʘýÝÏ ÷;ýÖ°6Ä;p®ÕÔú»ø-³ƒ·H½`nâ¯Óâ>¾lîTò¢Q>Lü„ÇÝ">ˆ(RÏ÷¥D¾š“ToÔå¿`4M=eP™¿ûöÝF?{?à>€ÑK{? Ï‰$"”¿YÏ ¨Ço¿€Lrщ¿ðK1n„? RŽ5çh?À®5¤ñ‡?nº†.yÖ²¾XÝö§>¿ÈR]]Õ ¿€?5ˆ"ê>€›«Ê^N ?¼µßy¢Þɽìéý¼Zp¾¨‡I¡l¾$'<˜S>xËöK$‚>ã¸Êózy—»¾Ó-·ó<¼|„Ú¾íñI¼P—€‚3·×½0¿¯uŸa¾Ø«Ù ÆÚs¾p¥:0Ú^9¿XÿKp:C¿ð“ri€Q¿pv[àµÏ¢¿`q|MÎÈ¿ÀÐÅb+Ö¿ g1¬w ¿?4٬ז%#è¼`ž9éa·¾œšG†ž¾øĆn<$¿¿Ú(Ïœ-?ö¦o*¶Ò#½À!nõº.¿(¢6'‘¿`Ì^Uw©¿€#ô‹£?Ñ*öǘ½@q|ަ¿Z’) lú´¿â¾¾eOÈ¿ |ºS…@Ê?A/8”Oפ½8—¢Xýiª¿$ww"¸©®¿7hœÜÿ¿ WFͨ?PÛÆúŽiu½ ãå®Ä?¢ÁkP'–¿€“ï?]^¯¿G [²¿g]ŽU½ð³Ç˜é°?ªwá!{½nm æ4¾ˆáèX*>™ë†Œ ˆó¼¸-ÊßT{,¾$/f C¿Àa[GS`\¿ØìŠ…ad?Lùì!ºº´½ÐÕK: X¿òo…¸ rì¿À©³tŽæ¿@»^õ½5Ñ?ö²[ì÷¶½À6óæ Å?îl˜B½oPÆ1¶!=wPvIö# ¼ÊÓDÐ…½vÛ2‡ëª—¾X†IIúó¾8k3¦‚ó>h.,öL@ê< 'ޝ¿ìÀIk¿àÝœð‰¿ð@4QÁÇ?Þu“aC½èFDM zq?¬3pÆå¬¿Ð©ä]±¿À/TâÜ–£¿(ÂÚ²8Ne= °‚«v* ?õEQ ¿¸ÁˆŒ¨TW¿¢MåÒå;¿ÝÙ6«´b½€Y-§[b?:sCSP¼ =#®ÜuR½˜Q¬NvR½@ AgKÌu¾ßÓ$¬¬¾ ùt†%¬¬¾Ú\*S¿ðè1¬w ¿ g1¬w ¿Àk3¯§yÛ¿@ÔÁíþ¢¿ÐîÒÁíþ¢¿à|UÛeæ[¿"•)M,ðé»0e‰ü;Á×>x5CÌ»w¼r[m.¼ÈGËnó½|CC©-m#=$"˜ ªêù¼| :/Ÿ0½7zRPy$½8BA ÃJ¾h„trT>È•§`\1¾9E -ç`¾¬ïb£ç”â½È»U:…‘¸¾hhêäàÕ·> Ïâ¸øo¾ýºÐÏ̾ï¹}LQ¿É¦Kã“`¿¸,ßXj”@? ¤3$Æ?¿@€’"l¿PÙ7q‰¿ðÞka²x¦¿`¨ óÉð’? x0›¹4‰¿ ÍdP‡¨¿6¼{v»å¿04îßXâ¿àcºgÀ¿À“ˆä¿YοàÂíBð¶¿\ChR°¿zŸyÍæÁ¿ð†vÎ!P¿ IW rš¥¿ò²™?*Õ ûv½ÀÙ&µÿÏ€=¸¿§cÌG\½l¦ ÚÈu‘½âÿÅ} ¾@pÁ„ë¿°1»•„?¸»÷Hy󾂸óR‰ ¿Â󑯣W³¿Ðø×*Á¿@Œµ ¬™¿à?µ«²Ÿ£¿àÇR³Ùç¿¿_HU†g¼Í¨U‰å"< Óöl¼õ»‹nÏ #?)¼)Åf€‚½HLDlð>¾è›xßÍ.>Üñ¼]ç"¾Àô~¼ÆT¾*¥|IÒé¿pÁw/¥u™¿€çñy×?àV5cj‡{¿àNi¦l‡Š¿úá®7Úo¿0Ã4{ã&Š¿0¡…_Í¿€“˜`Yji¿`à(ù¬v¿Ö¥w¾x…¿ ÷ŠÏuL•¿ l±A]Á¿ÐU]sHHv¿›ïоÝ?d*±H’d¹»D=E´ÝN¼øsü¸he@¼H2·´¿×½P4 ™äs¾hç$¸£§a¾`157Åw9¿€ ›0›Q¿?4¼PLyç_ó½Ä|½5¯o#=(Š3Šöôù<üŸÖ_Ó¡0½.%;Py$½˜×O†£ÃJ¾hoëttrT>0.°ú[1>€`Є.ç`¾±±`ç”â½Xã;2…‘¸¾˜fG­àÕ·> BTb÷o>°ç{ÏÏ̾zóÊ€LQ¿èQ£Kã“`¿ø ®]j”@?@âÿ3Æ??€Ñc"’"l¿xr‰¿ Óia²x¦¿pÜóÉð’?Às$›¹4‰? ðdP‡¨¿â,…v»å¿°îßXâ¿À?aºgÀ¿¤‡ä¿YÎ? 0íBð¶¿p/’R°¿P£ŸyÍæÁ¿nwÎ!P¿ ~Y rš¥?`g²™?ˆ@ëàÐv½ˆÕ¥¹Ï€=ÐSz˜ÀE\=øæ Šu‘½,"[} ¾¸ä áƒë¿@¼‰„?°°©Hyó>zxR‰ ¿(‘¯£W³¿`Ôø×*Á¿ E² ¬™¿à/««²Ÿ£? R³Ùç¿¿ŽCM3•¼8V¯°˜ó"¾P…åöìÍ.>`ôp´+ç"> ‚¿hÌT¾ «|IÒé¿p¼x/¥u™¿ðŽòy×? Ã=cj‡{?îj¦l‡Š¿ƒ“­7Úo¿+ {ã&Š¿ X„_Í¿€ž½_Yji?þø¬v¿å¡w¾x…¿EoÏuL•¿€YA]Á¿À0urHHv?ÐTbоÝ?ÛY“µŠ¸»‰³¨ÓxK@¼9íæåN¼h¶â¿×½ð/1¹£§a¾ öNy™äs¾Vf7Åw9¿0J*4¼|3/”…½(£½wüª‘½ð>µÝŒ¾ ½€³q·”>Y¤ Ê&=è«…ãüŸ¾\óX“]R¾Àê°ðQù¾ð—õÏ9ë?5¢ä31í-½ÐE£o¿øÞw¼Ó\¿!0Ìâ‘¿ÀÏôÃâ~—?ýïÂM­áF½@AžÜPŽ¿,/]#å4½¿PT˜ª¯Í¿PêXÀ?à4]“§‘½Ð,ÖÃ#Ê¿šnXgþ$»y‘Z %Ô/;!h÷Ú5ŸÅººÉlR’8»Þ\o¶÷»èžDó‹ûÒ½ø!D&àÎã=8{×I2ؼÀS ©5vç½L«ñßó¾(=¬­¼E¿pÑ ÃãF?¨œU‹–ŠI½>•»^&P¿XíÿÏUá¼ Ä( õãí<…‰o¨5i»rò:\`ü¼ªœ è¾Ð-d௜¾èÀM¬íò«>wÞÐò"f½X)rE£¾¥wiKª¿ ŽKZâ—²¿ûî„fx|¿öJôÆó’½@½t`ïù¯¿vm<ø»‚ñ¿ð¶þ&yîé¿ gÆU]Ç×?(¤[ Œ½à¾$ªÂ‹?ÌX„ˆ!ó¼ÌlZÜòì½DÒ"Ëí½0Õ\Å)×*¾pü" ä’œ¾÷`å’œ¾à|UÛeæ[¿ÐHÉñ’|¿pOCÉñ’|¿€ÐY!ä¤ß¿ergo-3.5/source/matrix/AllocatorManager.h0000664000175000017500000001502012743400307015426 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MAT_ALLOCATORMANAGER_HEADER #define MAT_ALLOCATORMANAGER_HEADER #include #include #include #include #include /* For setprecision */ #include #include #include "Allocator.h" namespace mat { template class AllocatorManager { public: void init(size_t noOfRealsPerBuffer_, size_t noOfBuffers_) { if(noOfRealsPerBuffer != 0) { // This means that the AllocatorManager has already been initialized. // We allow this if the parameters are the same. if(noOfRealsPerBuffer_ != noOfRealsPerBuffer || noOfBuffers_ != noOfBuffers) throw std::runtime_error("Error in AllocatorManager: " "attempt to re-initialize with different parameters."); } if(noOfRealsPerBuffer_ <= 0 || noOfBuffers_ <= 0) throw std::runtime_error("Error in AllocatorManager: bad input to init()."); noOfRealsPerBuffer = noOfRealsPerBuffer_; noOfBuffers = noOfBuffers_; } static AllocatorManager & instance(); Treal* alloc(size_t n) { if(n != noOfRealsPerBuffer) return new Treal[n]; pthread_mutex_lock(&mutex); // Go through list to see if there is any free space. typename std::list< Allocator* >::iterator it = list.begin(); while(it != list.end()) { if(!(*it)->isFull()) { // OK, found allocator that is not full. Use it. Treal* ptr = (*it)->alloc(); pthread_mutex_unlock(&mutex); return ptr; } it++; } // We did not find any non-full existing allocator. Need to add a new one. /* ELIAS NOTE 2016-06-30: Important to catch exceptions here so that we unlock the mutex in case allocation fails, otherwise program may hang later when trying to lock the mutex e.g. to delete something after catching the exception elsewhere in the code. This happened with some test runs on Triolith and it was very annoying, took a long time to figure out why the runs hanged. */ Allocator* newAllocator; try { newAllocator = new Allocator(noOfRealsPerBuffer, noOfBuffers); } catch (const std::bad_alloc & e) { size_t noOfBytesPerAllocator = noOfBuffers * noOfRealsPerBuffer * sizeof(Treal); size_t totNoOfBytesAllocated = list.size() * noOfBytesPerAllocator; std::cerr << "Error in AllocatorManager::alloc(): std::bad_alloc exception caught. Usage before error: list.size() = " << list.size() << " --> " << (double)totNoOfBytesAllocated/1000000000 << " GB used. peakListSize = " << peakListSize << std::endl; pthread_mutex_unlock(&mutex); throw e; } catch(...) { std::cerr << "Error in AllocatorManager::alloc(): exception caught (but not std::bad_alloc!?!)." << std::endl; pthread_mutex_unlock(&mutex); throw std::runtime_error("Error in AllocatorManager::alloc(): exception caught (but not std::bad_alloc!?!)."); } list.push_back(newAllocator); if(list.size() > peakListSize) peakListSize = list.size(); Treal* ptr = newAllocator->alloc(); pthread_mutex_unlock(&mutex); return ptr; } void free(Treal* ptr) { pthread_mutex_lock(&mutex); // Go through list to see if this ptr belongs to any allocator. typename std::list< Allocator* >::iterator it = list.begin(); while(it != list.end()) { if((*it)->ownsPtr(ptr)) { (*it)->free(ptr); // Now check if allocator is empty; in that case we want to remove it. if((*it)->isEmpty()) { delete *it; list.erase(it); } pthread_mutex_unlock(&mutex); return; } it++; } delete [] ptr; pthread_mutex_unlock(&mutex); } std::string getStatistics() { size_t noOfBytesPerAllocator = noOfBuffers * noOfRealsPerBuffer * sizeof(Treal); size_t totNoOfBytesAllocated = list.size() * noOfBytesPerAllocator; size_t peakNoOfBytesAllocated = peakListSize * noOfBytesPerAllocator; size_t totNoOfBytesUsed = 0; // Go through list to compute totNoOfBytesUsed typename std::list< Allocator* >::iterator it = list.begin(); while(it != list.end()) { totNoOfBytesUsed += (size_t)((*it)->getNoOfOccupiedSlots()) * noOfRealsPerBuffer * sizeof(Treal); it++; } std::stringstream ss; ss << "AllocatorManager statistics: "; ss << std::setprecision(3) << " noOfRealsPerBuffer: " << noOfRealsPerBuffer << " noOfBuffers: " << noOfBuffers << " list.size(): " << list.size() << ". " << "Allocated: " << (double)totNoOfBytesAllocated / 1e9 << " GB, " << "Used: " << (double)totNoOfBytesUsed / 1e9 << " GB, " << "Peak alloc: " << (double)peakNoOfBytesAllocated/ 1e9 << " GB."; return ss.str(); } private: AllocatorManager() : noOfRealsPerBuffer(0), noOfBuffers(0), peakListSize(0) { pthread_mutex_init(&mutex, NULL); } ~AllocatorManager() { if(!list.empty()) { std::cerr << "Error in AllocatorManager destructor: not empty." << std::endl; abort(); } // Go through list to free any allocators that are left. typename std::list< Allocator* >::iterator it = list.begin(); while(it != list.end()) { delete *it; it++; } } std::list< Allocator* > list; size_t noOfRealsPerBuffer; size_t noOfBuffers; pthread_mutex_t mutex; size_t peakListSize; }; // end class AllocatorManager } /* end namespace mat */ #endif ergo-3.5/source/matrix/Memory_buffer_thread.cc0000664000175000017500000000526512743400307016513 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "Memory_buffer_thread.h" /* This file is only used if USE_SSE_INTRINSICS is defined. */ #ifdef USE_SSE_INTRINSICS namespace mat{ // Initialization of static members Memory_buffer_thread* Memory_buffer_thread::ptr_to_instance = 0; volatile char Memory_buffer_thread::ptr_to_instance_is_valid = 0; unsigned int Memory_buffer_thread::bufSize = 1000000; void Memory_buffer_thread::create() { static Memory_buffer_thread theInstance; ptr_to_instance = &theInstance; theInstance.init_buffers(1); // Default number of threads is 1. } Memory_buffer_thread& Memory_buffer_thread::instance() { if (!ptr_to_instance_is_valid) { #ifdef _OPENMP #pragma omp critical (mem_buf_thr_instance) #endif { if (!ptr_to_instance_is_valid) { create(); ptr_to_instance_is_valid = 1; } } } return *ptr_to_instance; } void Memory_buffer_thread::init_buffers(unsigned int const nThreads) { #ifdef _OPENMP #pragma omp critical (mem_buf_thr_init_buffers) #endif { // First delete buffers if they were allocated before for (unsigned int ind = 0; ind < buffers.size(); ind++) delete[] buffers[ind]; // Then resize buffers.resize(nThreads); for (unsigned int ind = 0; ind < buffers.size(); ind++) buffers[ind] = new char[bufSize]; } } Memory_buffer_thread::~Memory_buffer_thread() { for (unsigned int ind = 0; ind < buffers.size(); ind++) delete[] buffers[ind]; } } // end namespace mat #endif ergo-3.5/source/matrix/bootstrap.sh0000664000175000017500000000136112743400275014422 00000000000000#! /bin/sh # bootstrap file to be used when autogen.sh fails. # consider using --foreign flat to automake echo "Running aclocal..." aclocal || exit 1 #echo "Running libtoolize..." #libtoolize --force || exit 1 echo "Running autoheader..." autoheader || exit 1 echo "Running autoconf..." autoconf || exit 1 echo "Running automake..." automake --foreign --add-missing --copy || exit 1 # automake-1.8 does not copy all the required files properly. test -f config.sub || { echo "Your automake is buggy and does not copy config.sub and config.guess files properly. I will try to work around it but the recommended solution is to upgrade to automake-1.9.1 or more recent." libtoolize -c > /dev/null 2>&1 } echo "Running configure $* ..." ./configure "$@" ergo-3.5/source/matrix/Failure.h0000664000175000017500000000615612743400307013614 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* The Failure class is used for exception handling. * * It inherits std::exception which means that an instance of this * * class can be caught by catching std::exception& * * The "&" must be there, otherwise the failure message * * will be "cut out". * * Retrieve the message with a call to the member function "what()" * * * * * * \\\|||/// \ (C) Emanuel Rubensson, August, 2005 * * \ ~ ~ / \ * * | @ @ | \ mail: emanuel@theochem.kth.se * * oOo---(_)---oOo---\----------------------------------------------* * */ #ifndef FAILURE #define FAILURE #include namespace mat { class Failure : public std::exception { const char* message; public: Failure() :message("Failure: No failure information available") {} explicit Failure (const char* msg) :message(msg) {} virtual ~Failure() throw() {} virtual const char* what() const throw() {return message;} }; class Acceptable : public Failure { public: Acceptable() :Failure("Acceptable: No acceptable failure information available") {} explicit Acceptable (const char* msg) :Failure(msg) {} }; class AcceptableMaxIter : public Acceptable { int maxiter; public: AcceptableMaxIter() :Acceptable("AcceptableMaxIter: No acceptable failure information available"), maxiter(0) {} explicit AcceptableMaxIter (const char* msg, int maxi = 0) :Acceptable(msg), maxiter(maxi) {} int get_maxiter() const { return maxiter; } }; } /* end namespace */ #endif ergo-3.5/source/matrix/bench.cc0000664000175000017500000001134612743400307013437 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file bench.cc Benchmark of the matrix library * * Copyright(c) Emanuel Rubensson 2007 * * @author Emanuel Rubensson @a responsible @a author * @date September 2007 * */ #include /* For ifstream */ #include /* For setprecision in fstream */ #include #include #include /* For FILE */ #include "Matrix.h" #include "Vector.h" #include "MatrixSymmetric.h" #include "MatrixTriangular.h" #include "MatrixGeneral.h" #include "VectorGeneral.h" #include "mat_gblas.h" #include "Lanczos.h" using namespace mat; template int mainFun(int argc,char* argv[]) { typedef Matrix Mat_1; typedef Matrix Mat_2; typedef Matrix Mat_3; typedef Mat_3 matri; typedef MatrixSymmetric symmMatrix; typedef MatrixGeneral normalMatrix; try { int size = 100; switch (argc) { case 1: std::cout<<"No input, using matrix size "< 0) ) { defThreads = 1; } mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(2); std::cout<<"OpenMP is used, number of threads set to " < blockSizes(nlevels); blockSizes[nlevels - 1] = 1; for (int ind = nlevels - 2; ind >= 0; ind--) blockSizes[ind] = blockSizes[ind + 1] * 10; SizesAndBlocks rows(blockSizes, size); SizesAndBlocks cols(blockSizes, size); real alpha = 0.77; { normalMatrix A, B, C; A.resetSizesAndBlocks(rows,cols); B.resetSizesAndBlocks(rows,cols); A.random(); B.random(); C = alpha * A * B; } { symmMatrix syA, syB; syA.resetSizesAndBlocks(rows,cols); syB.resetSizesAndBlocks(rows,cols); syA.random(); syB = alpha * syA * syA; } } catch (Failure e) { std::cout << "Failure caught: "<(argc,argv)) std::cout<<"Matrix library benchmark with single precision completed " "successfully.\n" <<"Wall time: " <<((unsigned long)time(NULL))-tm<<" seconds.\n\n"; std::cout<<"Benchmark of matrix library with double precision:" <(argc,argv)) { std::cout<<"Matrix library benchmark with double precision completed " "successfully.\n" <<"Wall time: " <<((unsigned long)time(NULL))-tm<<" seconds.\n\n"; } std::cout<<"Benchmark of matrix library with long double precision:" <(argc,argv)) std::cout<<"Matrix library benchmark with long double precision completed " "successfully.\n" <<"Wall time: " <<((unsigned long)time(NULL))-tm<<" seconds.\n\n"; std::exit(0); }; ergo-3.5/source/matrix/testOmpFail.cc0000664000175000017500000000361412743400307014606 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #ifdef _OPENMP #include #endif int main() { std::cout<<" Testing code sensitive when certain compilers " "are used with OpenMP: \n"; std::cout<<" OpenMP is used? "; #ifdef _OPENMP std::cout<<"YES"<. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file bench_gemm_only.cc Benchmark of the matrix library with * input parameters specifying block sizes, parallel level etc. */ #include /* For ifstream */ #include /* For setprecision in fstream */ #include #include #include /* For FILE */ #include #include "Matrix.h" #include "Vector.h" #include "MatrixSymmetric.h" #include "MatrixTriangular.h" #include "MatrixGeneral.h" #include "VectorGeneral.h" #include "mat_gblas.h" #include "Lanczos.h" static double get_wall_seconds() { struct timeval tv; if(gettimeofday(&tv, NULL) != 0) throw std::runtime_error("Error in get_wall_seconds(), in gettimeofday()."); double seconds = tv.tv_sec + (double)tv.tv_usec / 1000000; return seconds; } using namespace mat; template int mainFun(int size, int parallel_level, int block_size, int block_factor_1, int block_factor_2, int block_factor_3) { typedef Matrix Mat_1; typedef Matrix Mat_2; typedef Matrix Mat_3; typedef Matrix Mat_4; typedef Mat_4 matri; typedef MatrixGeneral normalMatrix; try { /********** Initialization of SizesAndBlocks */ int nlevels = 4; std::vector blockSizes(nlevels); blockSizes[3] = 1; blockSizes[2] = blockSizes[3] * block_size; blockSizes[1] = blockSizes[2] * block_factor_1; blockSizes[0] = blockSizes[1] * block_factor_2; for(int i = 0; i < nlevels; i++) std::cout << "blockSizes[" << i << "] = " << blockSizes[i] << std::endl; SizesAndBlocks rows(blockSizes, size); SizesAndBlocks cols(blockSizes, size); real alpha = 0.77; { normalMatrix A, B, C; A.resetSizesAndBlocks(rows,cols); B.resetSizesAndBlocks(rows,cols); A.random(); B.random(); double startTime = get_wall_seconds(); C = alpha * A * B; double secondsTaken = get_wall_seconds() - startTime; std::cout << "Operation C = alpha * A * B took " << secondsTaken << " wall seconds." << std::endl; } } catch (Failure e) { std::cout << "Failure caught: "< 0) ) { defThreads = 1; } mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(parallel_level); std::cout<<"OpenMP is used, number of threads set to " <(size, parallel_level, block_size, block_factor_1, block_factor_2, block_factor_3)) std::cout<<"Matrix library benchmark with single precision completed " "successfully.\n" <<"Wall time: " << get_wall_seconds() - startTime << " seconds.\n\n"; } if(do_double == 1) { std::cout<<"Benchmark of matrix library with double precision:" <(size, parallel_level, block_size, block_factor_1, block_factor_2, block_factor_3)) std::cout<<"Matrix library benchmark with double precision completed " "successfully.\n" <<"Wall time: " << get_wall_seconds() - startTime << " seconds.\n\n"; } if(do_longdouble == 1) { std::cout<<"Benchmark of matrix library with long double precision:" <(size, parallel_level, block_size, block_factor_1, block_factor_2, block_factor_3)) std::cout<<"Matrix library benchmark with long double precision completed " "successfully.\n" <<"Wall time: " << get_wall_seconds() - startTime << " seconds.\n\n"; } std::exit(0); }; ergo-3.5/source/matrix/Interval.h0000664000175000017500000003122412743400307014003 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file Interval.h Interval class * * Copyright(c) Emanuel Rubensson 2007 * * @author Emanuel Rubensson @a responsible @a author * @date January 2007 * */ #ifndef MAT_INTERVAL #define MAT_INTERVAL #include #include namespace mat { /* FIXME represent interval as midpoint and length to get better precision */ template class Interval { public: explicit Interval(Treal low = 1, Treal upp = -1) : lowerBound(low), upperBound(upp) { } inline bool empty() const {return lowerBound > upperBound;} static Interval intersect(Interval const & A, Interval const & B) { if (A.empty()) return A; else if (B.empty()) return B; else return Interval(A.lowerBound > B.lowerBound ? A.lowerBound : B.lowerBound, A.upperBound < B.upperBound ? A.upperBound : B.upperBound); } inline void intersect(Interval const & other) { if (this->empty()) return; else if (other.empty()) { *this = other; return; } else { this->lowerBound = this->lowerBound > other.lowerBound ? this->lowerBound : other.lowerBound; this->upperBound = this->upperBound < other.upperBound ? this->upperBound : other.upperBound; return; } } inline void intersect_always_non_empty(Interval const & other) { if (this->empty()) { *this = other; return; } if (other.empty()) return; Interval intersection = intersect(*this, other); if ( !intersection.empty() ) { *this = intersection; return; } // Ok, the intersection is actually empty Treal tmp_val; if ( this->lowerBound > other.upperBound ) tmp_val = (this->lowerBound + other.upperBound) / 2; else if ( this->upperBound < other.lowerBound ) tmp_val = (this->upperBound + other.lowerBound) / 2; else assert(0); // This should never happen! this->lowerBound = tmp_val; this->upperBound = tmp_val; return; } /** Returns the length of the interval. * 0 if empty. */ inline Treal length() const { if (empty()) return 0.0; else return upperBound - lowerBound; } inline Treal midPoint() const { assert(!empty()); return (upperBound + lowerBound) / 2; } inline bool cover(Treal const value) const { if (empty()) return false; else return (value <= upperBound && value >= lowerBound); } inline bool overlap(Interval const & other) const { Interval tmp = intersect(*this, other); return !tmp.empty(); } /** Increases interval with value in both directions. * Useful for error control. */ inline void increase(Treal const value) { if (empty()) throw Failure("Interval::increase(Treal const) : " "Attempt to increase empty interval."); lowerBound -= value; upperBound += value; } inline void decrease(Treal const value) { lowerBound += value; upperBound -= value; } inline Treal low() const {return lowerBound;} inline Treal upp() const {return upperBound;} #if 0 inline Interval operator*(Interval const & other) const { assert(lowerBound >= 0); assert(other.lowerBound >= 0); return Interval(lowerBound * other.lowerBound, upperBound * other.upperBound); } #endif inline Interval operator*(Treal const & value) const { if (value < 0) return Interval(upperBound * value, lowerBound * value); else return Interval(lowerBound * value, upperBound * value); } /* Minus operator well defined? */ inline Interval operator-(Interval const & other) const { return *this + (-1.0 * other); // return Interval(lowerBound - other.lowerBound, // upperBound - other.upperBound); } inline Interval operator+(Interval const & other) const { return Interval(lowerBound + other.lowerBound, upperBound + other.upperBound); } inline Interval operator/(Treal const & value) const { if (value < 0) return Interval(upperBound / value, lowerBound / value); else return Interval(lowerBound / value, upperBound / value); } inline Interval operator-(Treal const & value) const { return Interval(lowerBound - value, upperBound - value); } inline Interval operator+(Treal const & value) const { return Interval(lowerBound + value, upperBound + value); } void puriStep(int poly); void invPuriStep(int poly); // The two functions above really not needed now, just special // case of functions below with alpha == 1 void puriStep(int poly, Treal alpha); void invPuriStep(int poly, Treal alpha); protected: Treal lowerBound; Treal upperBound; private: }; #if 0 /* Minus operator is not well defined for intervals */ template inline Interval operator-(Treal const value, Interval const & other) { return Interval(value - other.lowerBound, value - other.upperBound); } template inline Interval operator+(Treal const value, Interval const & other) { return Interval(value + other.lowerBound, value + other.upperBound); } #endif #if 1 template Interval sqrtInt(Interval const & other) { if (other.empty()) return other; else { assert(other.low() >= 0); return Interval(template_blas_sqrt(other.low()), template_blas_sqrt(other.upp())); } } #endif template void Interval::puriStep(int poly) { if (upperBound > 2.0 || lowerBound < -1.0) throw Failure("Interval::puriStep(int) : It is assumed here " "that the interval I is within [-1.0, 2.0]"); Interval oneInt(-1.0,1.0); Interval zeroInt(0.0,2.0); /* Elias note 2010-09-12: Sometimes the polynomial 2*x-x*x makes a non-empty interval in [0,1] become empty because of rounding errors. For some reason this problem showed up when using Intel compiler version 11.1 but not when using version 10.1. Many test cases failed on Kalkyl when using the compiler "icpc (ICC) 11.1 20100414". Anyway, we know that the function f(x) = 2*x-x*x is growing in the interval [0,1] so we know a non-empty interval inside [0,1] should always stay non-empty. To avoid assertion failures in purification, the code below now forces the interval to be non-empty if it became empty due to rounding errors. */ bool nonEmptyIntervalInZeroToOne = false; if(upperBound > lowerBound && lowerBound >= 0 && upperBound <= 1) nonEmptyIntervalInZeroToOne = true; if (poly) { /* 2*x - x*x */ *this = Interval::intersect(*this,oneInt); // assert(upperBound <= 1.0); upperBound = 2 * upperBound - upperBound * upperBound; lowerBound = 2 * lowerBound - lowerBound * lowerBound; if(nonEmptyIntervalInZeroToOne && upperBound < lowerBound) { // Force interval to be non-empty. Treal midPoint = (lowerBound + upperBound) / 2; upperBound = lowerBound = midPoint; } } else { /* x*x */ *this = Interval::intersect(*this,zeroInt); // assert(lowerBound >= 0.0); upperBound = upperBound * upperBound; lowerBound = lowerBound * lowerBound; } } template void Interval::invPuriStep(int poly) { if (upperBound > 2.0 || lowerBound < -1.0) throw Failure("Interval::puriStep(int) : It is assumed here " "that the interval I is within [-1.0, 1.0]"); Interval oneInt(-1.0,1.0); Interval zeroInt(0.0,2.0); if (poly) { /* 1 - sqrt(1 - x) */ *this = Interval::intersect(*this,oneInt); // assert(upperBound <= 1.0); upperBound = 1.0 - template_blas_sqrt(1.0 - upperBound); lowerBound = 1.0 - template_blas_sqrt(1.0 - lowerBound); } else { /* sqrt(x) */ *this = Interval::intersect(*this,zeroInt); // assert(lowerBound >= 0.0); upperBound = template_blas_sqrt(upperBound); lowerBound = template_blas_sqrt(lowerBound); } } #if 1 template void Interval::puriStep(int poly, Treal alpha) { if (upperBound > 2.0 || lowerBound < -1.0) throw Failure("Interval::puriStep(int, real) : It is assumed here " "that the interval I is within [-1.0, 2.0]"); Interval oneInt(-1.0,1.0); Interval zeroInt(0.0,2.0); /* Elias note 2010-09-12: Sometimes the polynomial 2*x-x*x makes a non-empty interval in [0,1] become empty because of rounding errors. For some reason this problem showed up when using Intel compiler version 11.1 but not when using version 10.1. Many test cases failed on Kalkyl when using the compiler "icpc (ICC) 11.1 20100414". Anyway, we know that the function f(x) = 2*x-x*x is growing in the interval [0,1] so we know a non-empty interval inside [0,1] should always stay non-empty. To avoid assertion failures in purification, the code below now forces the interval to be non-empty if it became empty due to rounding errors. */ bool nonEmptyIntervalInZeroToOne = false; if(upperBound > lowerBound && lowerBound >= 0 && upperBound <= 1) nonEmptyIntervalInZeroToOne = true; if (poly) { /* 2*alpha*x - alpha*alpha*x*x */ *this = Interval::intersect(*this,oneInt); // assert(upperBound <= 1.0); upperBound = 2 * alpha * upperBound - alpha * alpha * upperBound * upperBound; lowerBound = 2 * alpha * lowerBound - alpha * alpha * lowerBound * lowerBound; if(nonEmptyIntervalInZeroToOne && upperBound < lowerBound) { // Force interval to be non-empty. Treal midPoint = (lowerBound + upperBound) / 2; upperBound = lowerBound = midPoint; } } else { /* ( alpha*x + (1-alpha) )^2 */ *this = Interval::intersect(*this,zeroInt); // assert(lowerBound >= 0.0); upperBound = ( alpha * upperBound + (1-alpha) ) * ( alpha * upperBound + (1-alpha) ); lowerBound = ( alpha * lowerBound + (1-alpha) ) * ( alpha * lowerBound + (1-alpha) ); } } template void Interval::invPuriStep(int poly, Treal alpha) { if (upperBound > 2.0 || lowerBound < -1.0) throw Failure("Interval::invPuriStep(int, real) : It is assumed here " "that the interval I is within [-1.0, 2.0]"); Interval oneInt(-1.0,1.0); Interval zeroInt(0.0,2.0); if (poly) { /* ( 1 - sqrt(1 - x) ) / alpha */ *this = Interval::intersect(*this,oneInt); // assert(upperBound <= 1.0); upperBound = ( 1.0 - template_blas_sqrt(1.0 - upperBound) ) / alpha; lowerBound = ( 1.0 - template_blas_sqrt(1.0 - lowerBound) ) / alpha; } else { /* ( sqrt(x) - (1-alpha) ) / alpha */ *this = Interval::intersect(*this,zeroInt); // assert(lowerBound >= 0.0); upperBound = ( template_blas_sqrt(upperBound) - (1-alpha) ) / alpha; lowerBound = ( template_blas_sqrt(lowerBound) - (1-alpha) ) / alpha; } } #endif template std::ostream& operator<<(std::ostream& s, Interval const & in) { if (in.empty()) s<<"[empty]"; else s<<"["<. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file Vector.h * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson @a responsible @a author * @date October 2006 * */ #ifndef MAT_VECTOR #define MAT_VECTOR #include "VectorHierarchicBase.h" namespace mat{ template class Matrix; /** Vector class * * This class is used to obtain the hierarchic vector data structure. * * @see VectorHierarchicBase * @see Permutation * */ template class Vector: public VectorHierarchicBase { public: typedef Telement ElementType; // template // friend class Matrix; Vector():VectorHierarchicBase(){} void allocate() { assert(!this->is_empty()); assert(this->is_zero()); this->elements = allocateElements(this->n()); SizesAndBlocks rowSAB; for (int row = 0; row < this->rows.getNBlocks(); row++) { rowSAB = this->rows.getSizesAndBlocksForLowerLevel(row); (*this)(row).resetRows(rowSAB); } } void assignFromFull(std::vector const & fullVector); void addFromFull(std::vector const & fullVector); void fullVector(std::vector & fullVector) const; Vector& operator=(const Vector& vec) { VectorHierarchicBase::operator=(vec); return *this; } void clear(); void writeToFile(std::ofstream & file) const; void readFromFile(std::ifstream & file); Vector& operator=(int const k); inline void randomNormalized() { this->random(); (*this) *= (1.0 / this->eucl()); } void random(); inline Treal eucl() const { return template_blas_sqrt(dot(*this,*this)); } /* LEVEL 1 operations */ Vector& operator*=(const Treal alpha); static Treal dot(Vector const & x, Vector const & y); /* y += alpha * x */ static void axpy(Treal const & alpha, Vector const & x, Vector & y); /* LEVEL 2 operations */ /** gemv: * y = alpha * A * x + beta * y, or * y = alpha * transpose(A) * x + beta * y */ template static void gemv(bool const tA, Treal const alpha, Matrix const & A, Vector const & x, Treal const beta, Vector& y); /** symv: * y = alpha * A * x + beta * y, where A is symmetric */ template static void symv(char const uplo, Treal const alpha, Matrix const & A, Vector const & x, Treal const beta, Vector& y); /** trmv: * x = A * x, or * x = transpose(A) * x, where A is triangular */ template static void trmv(char const uplo, const bool tA, Matrix const & A, Vector & x); #if 0 /* OLD ROUTINES */ void assign_from_full(Treal const * const fullvector, const int totn); /* Convert to full vector */ void fullvector(Treal * const full, const int totn) const; #endif /* END OLD ROUTINES */ }; /* end class Vector */ template void Vector:: assignFromFull(std::vector const & fullVector) { addFromFull(fullVector); } template void Vector:: addFromFull(std::vector const & fullVector) { if (this->is_zero()) allocate(); for (int ind = 0; ind < this->n(); ind++) (*this)(ind).addFromFull(fullVector); } template void Vector:: fullVector(std::vector & fullVec) const { if (this->is_zero()) { fullVec.resize(this->rows.getNTotalScalars()); for (int row = 0; row < this->nScalars(); ++row ) fullVec[this->rows.getOffset()+row] = 0; } else for (int ind = 0; ind < this->n(); ind++) (*this)(ind).fullVector(fullVec); } template void Vector::clear() { freeElements(this->elements); this->elements = 0; } template void Vector:: writeToFile(std::ofstream & file) const { int const ZERO = 0; int const ONE = 1; if (this->is_zero()) { char * tmp = (char*)&ZERO; file.write(tmp,sizeof(int)); } else { char * tmp = (char*)&ONE; file.write(tmp,sizeof(int)); for (int i = 0; i < this->n(); i++) this->elements[i].writeToFile(file); } } template void Vector:: readFromFile(std::ifstream & file) { int const ZERO = 0; int const ONE = 1; char tmp[sizeof(int)]; file.read(tmp, (std::ifstream::pos_type)sizeof(int)); switch ((int)*tmp) { case ZERO: (*this) = 0; break; case ONE: if (this->is_zero()) allocate(); for (int i = 0; i < this->n(); i++) this->elements[i].readFromFile(file); break; default: throw Failure("Vector::" "readFromFile(std::ifstream & file):" "File corruption int value not 0 or 1"); } } template Vector& Vector:: operator=(int const k) { if (k == 0) this->clear(); else throw Failure("Vector::operator=(int k) only " "implemented for k = 0"); return *this; } template void Vector::random() { if (this->is_zero()) allocate(); for (int ind = 0; ind < this->n(); ind++) (*this)(ind).random(); } /* LEVEL 1 operations */ template Vector& Vector:: operator*=(const Treal alpha) { if (!this->is_zero() && alpha != 1) { for (int ind = 0; ind < this->n(); ind++) (*this)(ind) *= alpha; } return *this; } template Treal Vector:: dot(Vector const & x, Vector const & y) { assert(x.n() == y.n()); if (x.is_zero() || y.is_zero()) return 0; Treal dotProduct = 0; for (int ind = 0; ind < x.n(); ind++) dotProduct += Telement::dot(x(ind), y(ind)); return dotProduct; } /* y += alpha * x */ template void Vector:: axpy(Treal const & alpha, Vector const & x, Vector & y) { assert(x.n() == y.n()); if (x.is_zero()) return; if (y.is_zero()) { y.allocate(); } for (int ind = 0; ind < x.n(); ind++) Telement::axpy(alpha, x(ind), y(ind)); } /* LEVEL 2 operations */ /** gemv: * y = alpha * A * x + beta * y, or * y = alpha * transpose(A) * x + beta * y */ template template void Vector:: gemv(bool const tA, Treal const alpha, Matrix const & A, Vector const & x, Treal const beta, Vector& y) { if (y.is_empty()) { assert(beta == 0); y.resetRows(x.rows); } if ((A.is_zero() || x.is_zero() || alpha == 0) && (y.is_zero() || beta == 0)) y = 0; else { Treal beta_tmp = beta; if (y.is_zero()) { y.allocate(); beta_tmp = 0; } if (A.is_zero() || x.is_zero() || alpha == 0) y *= beta_tmp; else { MAT_OMP_INIT; if (!tA) { if (A.ncols() != x.n() || A.nrows() != y.n()) throw Failure("Vector::" "gemv(bool const, Treal const, " "const Matrix&, " "const Vector&, " "Treal const, const Vector&): " "Incorrect dimensions for matrix-vector product"); else { int A_nrows = A.nrows(); #ifdef _OPENMP #pragma omp parallel for if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) schedule(dynamic) #endif for (int row = 0; row < A_nrows; row++) { MAT_OMP_START; Telement::gemv(tA, alpha, A(row, 0), x(0), beta_tmp, y(row)); for (int col = 1; col < A.ncols(); col++) Telement::gemv(tA, alpha, A(row, col), x(col), 1.0, y(row)); MAT_OMP_END; } } /* end else */ } /* end if (!tA) */ else { assert(tA); if (A.nrows() != x.n() || A.ncols() != y.n()) throw Failure("Vector::" "gemv(bool const, Treal const, " "const Matrix&, " "const Vector&, " "Treal const, const Vector&): " "Incorrect dimensions for matrix-vector product"); else { int A_ncols = A.ncols(); #ifdef _OPENMP #pragma omp parallel for if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) schedule(dynamic) #endif for (int col = 0; col < A_ncols; col++) { MAT_OMP_START; Telement::gemv(tA, alpha, A(0, col), x(0), beta_tmp, y(col)); for (int row = 1; row < A.nrows(); row++) Telement::gemv(tA, alpha, A(row, col), x(row), 1.0, y(col)); MAT_OMP_END; } } /* end else */ } /* end else */ MAT_OMP_FINALIZE; } /* end else */ } /* end else */ } /** symv: * y = alpha * A * x + beta * y, where A is symmetric */ template template void Vector:: symv(char const uplo, Treal const alpha, Matrix const & A, Vector const & x, Treal const beta, Vector& y) { if (y.is_empty()) { assert(beta == 0); y.resetRows(x.rows); } if (x.n() != y.n() || A.nrows() != A.ncols() || A.ncols() != x.n()) throw Failure("Vector::" "symv(char const uplo, Treal const, " "const Matrix&, " "const Vector&, " "Treal const, const Vector&):" "Incorrect dimensions for symmetric " "matrix-vector product"); if (uplo != 'U') throw Failure("Vector::" "symv only implemented for symmetric matrices in " "upper triangular storage"); if ((A.is_zero() || x.is_zero() || alpha == 0) && (y.is_zero() || beta == 0)) y = 0; else { Treal beta_tmp = beta; if (y.is_zero()) { y.allocate(); beta_tmp = 0; } if (A.is_zero() || x.is_zero() || alpha == 0) y *= beta_tmp; else { MAT_OMP_INIT; #ifdef _OPENMP #pragma omp parallel if(A.level() == Params::getMatrixParallelLevel()) num_threads(Params::getNProcs()) default(shared) #endif { /* Diagonal */ int A_ncols = A.ncols(); #ifdef _OPENMP #pragma omp for schedule(dynamic) #endif for (int rc = 0; rc < A_ncols; rc++) { MAT_OMP_START; Telement::symv(uplo, alpha, A(rc,rc), x(rc), beta_tmp, y(rc)); MAT_OMP_END; } /* Upper triangle */ int A_nrows = A.nrows(); #ifdef _OPENMP #pragma omp for schedule(dynamic) #endif for (int row = 0; row < A_nrows - 1; row++) { MAT_OMP_START; for (int col = row + 1; col < A.ncols(); col++) Telement::gemv(false, alpha, A(row, col), x(col), 1.0, y(row)); MAT_OMP_END; } /* Lower triangle */ #ifdef _OPENMP #pragma omp for schedule(dynamic) #endif for (int row = 1; row < A_nrows; row++) { MAT_OMP_START; for (int col = 0; col < row; col++) Telement::gemv(true, alpha, A(col, row), x(col), 1.0, y(row)); MAT_OMP_END; } } /* end omp parallel*/ MAT_OMP_FINALIZE; } /* end else */ } /* end else */ } template template void Vector:: trmv(char const uplo, const bool tA, Matrix const & A, Vector & x) { if (A.nrows() != A.ncols() || A.ncols() != x.n()) throw Failure("Vector::" "trmv(...):" "Incorrect dimensions for triangular " "matrix-vector product"); if (uplo != 'U') throw Failure("Vector::" "trmv only implemented for upper triangular matrices"); if ( ( A.is_zero() || x.is_zero() ) ) { x = 0; return; } if (!tA) { // not transposed for (int row = 0; row < A.nrows(); row++) { Telement::trmv(uplo, tA, A(row,row), x(row)); for (int col = row + 1; col < A.ncols(); col++) Telement::gemv(tA, (Treal)1.0, A(row, col), x(col), 1.0, x(row)); } return; } // transposed for (int col = A.ncols() - 1; col >= 0; col--) { Telement::trmv(uplo, tA, A(col,col), x(col)); for (int row = 0; row < col; row++) Telement::gemv(tA, (Treal)1.0, A(row, col), x(row), 1.0, x(col)); } } /***************************************************************************/ /***************************************************************************/ /* Specialization for Telement = Treal */ /***************************************************************************/ /***************************************************************************/ template class Vector: public VectorHierarchicBase { public: friend class Matrix; Vector() :VectorHierarchicBase(){} void allocate() { assert(!this->is_empty()); assert(this->is_zero()); this->elements = allocateElements(this->n()); for (int ind = 0; ind < this->n(); ind++) this->elements[ind] = 0; } void assignFromFull(std::vector const & fullVector); void addFromFull(std::vector const & fullVector); void fullVector(std::vector & fullVector) const; Vector& operator=(const Vector& vec) { VectorHierarchicBase::operator=(vec); return *this; } void clear(); /**< Set vector to zero and delete all arrays */ void writeToFile(std::ofstream & file) const; void readFromFile(std::ifstream & file); Vector& operator=(int const k); inline void randomNormalized() { this->random(); (*this) *= 1 / this->eucl(); } void random(); inline Treal eucl() const { return template_blas_sqrt(dot(*this,*this)); } /* LEVEL 1 operations */ Vector& operator*=(const Treal alpha); static Treal dot(Vector const & x, Vector const & y); /* y += alpha * x */ static void axpy(Treal const & alpha, Vector const & x, Vector & y); /* LEVEL 2 operations */ /** gemv: * y = alpha * A * x + beta * y, or * y = alpha * transpose(A) * x + beta * y */ static void gemv(bool const tA, Treal const alpha, Matrix const & A, Vector const & x, Treal const beta, Vector& y); /** symv: * y = alpha * A * x + beta * y, where A is symmetric */ static void symv(char const uplo, Treal const alpha, Matrix const & A, Vector const & x, Treal const beta, Vector& y); /** trmv: * x = A * x, or * x = transpose(A) * x, where A is triangular */ static void trmv(char const uplo, const bool tA, Matrix const & A, Vector & x); }; /* end class Vector specialization */ template void Vector:: assignFromFull(std::vector const & fullVector) { addFromFull(fullVector); } template void Vector:: addFromFull(std::vector const & fullVector) { if (this->is_zero()) allocate(); assert((unsigned)this->rows.getNTotalScalars() == fullVector.size()); /* Assertion AFTER empty check done * by allocate() */ for (int row = 0; row < this->n(); ++row ) (*this)(row) += fullVector[this->rows.getOffset()+row]; } template void Vector:: fullVector(std::vector & fullVec) const { fullVec.resize(this->rows.getNTotalScalars()); if (this->is_zero()) for (int row = 0; row < this->nScalars(); ++row ) fullVec[this->rows.getOffset()+row] = 0; else for (int row = 0; row < this->n(); ++row ) fullVec[this->rows.getOffset()+row] = (*this)(row); } template void Vector::clear() { freeElements(this->elements); this->elements = 0; } template void Vector:: writeToFile(std::ofstream & file) const { int const ZERO = 0; int const ONE = 1; if (this->is_zero()) { char * tmp = (char*)&ZERO; file.write(tmp,sizeof(int)); } else { char * tmp = (char*)&ONE; file.write(tmp,sizeof(int)); char * tmpel = (char*)this->elements; file.write(tmpel,sizeof(Treal) * this->n()); } } template void Vector:: readFromFile(std::ifstream & file) { int const ZERO = 0; int const ONE = 1; char tmp[sizeof(int)]; file.read(tmp, (std::ifstream::pos_type)sizeof(int)); switch ((int)*tmp) { case ZERO: (*this) = 0; break; case ONE: if (this->is_zero()) allocate(); file.read((char*)this->elements, sizeof(Treal) * this->n()); break; default: throw Failure("Vector::" "readFromFile(std::ifstream & file):" "File corruption, int value not 0 or 1"); } } template Vector& Vector:: operator=(int const k) { if (k == 0) this->clear(); else throw Failure("Vector::operator=(int k) only implemented for k = 0"); return *this; } template void Vector::random() { if (this->is_zero()) allocate(); for (int ind = 0; ind < this->n(); ind++) (*this)(ind) = rand() / (Treal)RAND_MAX; } /* LEVEL 1 operations */ template Vector& Vector:: operator*=(const Treal alpha) { if (!this->is_zero() && alpha != 1) { int const ONE = 1; mat::scal(&this->n(),&alpha,this->elements,&ONE); } return *this; } template Treal Vector:: dot(Vector const & x, Vector const & y) { assert(x.n() == y.n()); if (x.is_zero() || y.is_zero()) return 0; else { int const ONE = 1; return mat::dot(&x.n(), x.elements, &ONE, y.elements, &ONE); } } /* y += alpha * x */ template void Vector:: axpy(Treal const & alpha, Vector const & x, Vector & y) { assert(x.n() == y.n()); if (x.is_zero()) return; if (y.is_zero()) { y.allocate(); for (int ind = 0; ind < y.n(); ind++) y.elements[ind] = 0; /* fill with zeros */ } int const ONE = 1; mat::axpy(&x.n(), &alpha, x.elements, &ONE, y.elements, &ONE); } /* LEVEL 2 operations */ /** gemv: * y = alpha * A * x + beta * y, or * y = alpha * transpose(A) * x + beta * y */ template void Vector:: gemv(bool const tA, Treal const alpha, Matrix const & A, Vector const & x, Treal const beta, Vector& y) { if (y.is_empty()) { assert(beta == 0); y.resetRows(x.rows); } if ((A.is_zero() || x.is_zero() || alpha == 0) && (y.is_zero() || beta == 0)) y = 0; else { Treal beta_tmp = beta; if (y.is_zero()) { y.allocate(); beta_tmp = 0; } if (A.is_zero() || x.is_zero() || alpha == 0) y *= beta_tmp; else { int const ONE = 1; if (!tA) { if (A.ncols() != x.n() || A.nrows() != y.n()) throw Failure("Vector::" "gemv(bool const, Treal const, " "const Matrix&, " "const Vector&, " "Treal const, const Vector&): " "Incorrect dimensions for matrix-vector product"); else { mat::gemv("N", &A.nrows(), &A.ncols(), &alpha, A.elements, &A.nrows(),x.elements,&ONE,&beta_tmp,y.elements,&ONE); } /* end else */ } /* end if (!tA) */ else { assert(tA); if (A.nrows() != x.n() || A.ncols() != y.n()) throw Failure("Vector::" "gemv(bool const, Treal const, " "const Matrix&, " "const Vector&, " "Treal const, const Vector&): " "Incorrect dimensions for matrix-vector product"); else { mat::gemv("T", &A.nrows(), &A.ncols(), &alpha, A.elements, &A.nrows(),x.elements,&ONE,&beta_tmp,y.elements,&ONE); } /* end else */ } /* end else */ } /* end else */ } /* end else */ } /** symv: * y = alpha * A * x + beta * y, where A is symmetric */ template void Vector:: symv(char const uplo, Treal const alpha, Matrix const & A, Vector const & x, Treal const beta, Vector& y) { if (y.is_empty()) { assert(beta == 0); y.resetRows(x.rows); } if (x.n() != y.n() || A.nrows() != A.ncols() || A.ncols() != x.n()) throw Failure("Vector::" "symv(char const uplo, Treal const, " "const Matrix&, " "const Vector&, " "Treal const, const Vector&):" "Incorrect dimensions for symmetric " "matrix-vector product"); if ((A.is_zero() || x.is_zero() || alpha == 0) && (y.is_zero() || beta == 0)) y = 0; else { Treal beta_tmp = beta; if (y.is_zero()) { y.allocate(); beta_tmp = 0; } if (A.is_zero() || x.is_zero() || alpha == 0) y *= beta_tmp; else { int const ONE = 1; mat::symv(&uplo, &x.n(), &alpha, A.elements, &A.nrows(), x.elements, &ONE, &beta, y.elements, &ONE); } /* end else */ } /* end else */ } template void Vector:: trmv(char const uplo, const bool tA, Matrix const & A, Vector & x) { if (A.nrows() != A.ncols() || A.ncols() != x.n()) throw Failure("Vector::" "trmv(...): Incorrect dimensions for triangular " "matrix-vector product"); if (uplo != 'U') throw Failure("Vector::" "trmv only implemented for upper triangular matrices"); if ( ( A.is_zero() || x.is_zero() ) ) { x = 0; return; } int const ONE = 1; if (!tA) mat::trmv(&uplo, "N", "N", &x.n(), A.elements, &A.nrows(), x.elements, &ONE); else mat::trmv(&uplo, "T", "N", &x.n(), A.elements, &A.nrows(), x.elements, &ONE); } } /* end namespace mat */ #endif ergo-3.5/source/matrix/allocate.h0000664000175000017500000000343612743400307014007 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MAT_ALLOCATE_HEADER #define MAT_ALLOCATE_HEADER namespace mat{ template T* allocateElements(int n) { return new T[n]; } template void freeElements(T* ptr) { delete[] ptr; } /* Specializations for common basic element types: float, double, etc. */ /* float */ template<> float* allocateElements(int n); template<> void freeElements(float* ptr); /* double */ template<> double* allocateElements(int n); template<> void freeElements(double* ptr); } /* end namespace mat */ #endif ergo-3.5/source/matrix/bisection.h0000664000175000017500000000562612743400307014205 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file bisection.h Bisection method * * @author Emanuel Rubensson @a responsible @a author * @date May 7, 2006 * */ #ifndef MAT_BISECTION #define MAT_BISECTION #include namespace mat { /** Sign function returns the sign of the input. * * 1 for positive, * -1 for negative and * 0 for zero. * */ template inline int sign(Treal value) { if (value > 0) return 1; else if (value < 0) return -1; else return 0; } /** Bisection algorithm for root finding * * The bisection method finds the root of a function in the interval * [min, max], or more precisely the place where the function changes sign. * It is assumed that the function only changes sign once in the * given interval. * * The function is given by a class that has a member function named eval * that evaluates the function in the given point. * */ template Treal bisection(Tfun const & fun, Treal min, Treal max, Treal const tol) { int sign_min = sign(fun.eval(min)); int sign_max = sign(fun.eval(max)); if (sign_min == sign_max) throw Failure("bisection(Tfun&, Treal, Treal, Treal): interval " "incorrect"); Treal middle = (max + min) / 2; int sign_middle = sign(fun.eval(middle)); while (template_blas_fabs(max - min) > tol * 2 && sign_middle != 0) { if (sign_middle == sign_min) { min = middle; sign_min = sign_middle; } else { /* (sign_middle == sign_max) */ max = middle; sign_max = sign_middle; } middle = (max + min) / 2; sign_middle = sign(fun.eval(middle)); } return middle; } } /* end namespace mat */ #endif ergo-3.5/source/matrix/SizesAndBlocks.h0000664000175000017500000001020612743400307015072 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MAT_SIZESANDBLOCKS #define MAT_SIZESANDBLOCKS #include "matInclude.h" namespace mat{ /** Describes dimensions of matrix and its blocks on all levels. The key ability is to provide the count and size of blocks, and their offset in the entire matrix. It can generate a corresponding object for lower-level blocks. */ class SizesAndBlocks { public: /** Default constructor. */ SizesAndBlocks() :nBlocks(0), nScalars(0), offset(0), nTotalScalars(0) {} /** Copy constructor. */ SizesAndBlocks(SizesAndBlocks const & other); /** Constructor used for explicit calls. * For sizes and blocks at the highest level. * nScalarsInp is the number of total scalar rows/columns in this case. */ SizesAndBlocks(std::vector const & blockSizesInp, int const nScalarsInp) : nBlocks(0), nScalars(nScalarsInp), offset(0), nTotalScalars(nScalarsInp) { setup(blockSizesInp); } /** Assignment operator. */ SizesAndBlocks& operator= (SizesAndBlocks const & other); bool operator==(SizesAndBlocks const & other) const; SizesAndBlocks getSizesAndBlocksForLowerLevel(int const blockNumber) const; inline bool is_empty() const {return blockSizes.empty();} inline int const & getNBlocks() const {return nBlocks;} inline int const & getNScalars() const {return nScalars;} void getBlockSizeVector(std::vector & blockSizesCopy) const; /** Returns the blocknumber (between 0 and nBlocks-1) * that contains elements with the given global index. * */ inline int whichBlock(int const globalIndex) const { return (globalIndex - offset) / blockSizes[0]; /* Integer division */ } inline int getOffset() const {return offset;} inline int getNTotalScalars() const {return nTotalScalars;} ~SizesAndBlocks() {} protected: std::vector blockSizes; /**< This is the number of scalars in each block, * (not the number of blocks in each block) for * each level starting with the highest level. * It should be 1 at the lowest level. * Example: [1000 100 10 1] * Length is level() + 1 */ int nBlocks; /**< This is the number of blocks in the current * block. * * == nScalars at lowest level */ int nScalars; /**< Number of scalars in the current block. */ int offset; /**< Offset in entire system. */ int nTotalScalars; /**< Total number of scalars in entire system. */ SizesAndBlocks(std::vector const & blockSizesInp, int const nScalarsInp, int const offsetInp, int const nTotalScalarsInp) : nBlocks(0), nScalars(nScalarsInp), offset(offsetInp), nTotalScalars(nTotalScalarsInp) { setup(blockSizesInp); } void setup(std::vector const & blockSizesInp); private: }; /* end of class SizesAndBlocks */ } /* end namespace mat */ #endif ergo-3.5/source/matrix/DebugPolicies.h0000664000175000017500000000725612743400307014745 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file DebugPolicies.h Classes describing debug policies with different * debug levels. Choice of a higher level gives more tests that the program * executes as expected but at a higher memory and time cost. * Normal execution runs at "DebugLevelLow". * * Copyright(c) Emanuel Rubensson 2007 * * @author Emanuel Rubensson * @date January 2007 * * * * */ #ifndef MAT_DEBUGPOLICIES #define MAT_DEBUGPOLICIES #include namespace mat{ #if 0 #define ASSERTALWAYS(x) \ this->assertAlways(__FILE__, __LINE__, __DATE__, __TIME__,x) #define ASSERTDEBUG(x) \ this->assertDebug(__FILE__, __LINE__, __DATE__, __TIME__,x) /* debugPolicies */ class DebugLevelHigh { public: void assertAlways(char const * theFile, int const theLine, char const * theDate, char const * theTime, bool const statement) const { if (!statement) { std::cout<<"Assertion failed: "<assertAlways(__FILE__, __LINE__, __ID__,x) #define ASSERTDEBUG(x) \ this->assertDebug(__FILE__, __LINE__, __ID__,x) #endif /* debugPolicies */ class DebugLevelHigh { public: void assertAlways(char const * theFile, int const theLine, char const * theId, bool const statement) const { if (!statement) { std::cout<<"Assertion failed: "<. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file MatrixSymmetric.h Symmetric matrix class * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson @a responsible @a author * @date January 2006 * */ #ifndef MAT_MatrixSymmetric #define MAT_MatrixSymmetric #include #include "MatrixBase.h" #include "Interval.h" #include "LanczosLargestMagnitudeEig.h" #include "mat_utils.h" #include "truncation.h" namespace mat { /** Symmetric matrix * * * This class belongs to the matrix API * * The matrix is stored in the upper triangle. * * Treal: Type for real numbers * * Tmatrix: The matrix class * * @see MatrixBase * @see MatrixGeneral * @see MatrixTriangular * * */ template class MatrixSymmetric : public MatrixBase { public: typedef VectorGeneral VectorType; typedef Treal real; MatrixSymmetric() :MatrixBase() {} /**< Default constructor */ explicit MatrixSymmetric(const MatrixSymmetric& symm) :MatrixBase(symm) {} /**< Copy constructor */ explicit MatrixSymmetric(const XY >& sm) :MatrixBase() { *this = sm.A * sm.B; } explicit MatrixSymmetric(const MatrixGeneral& matr) :MatrixBase(matr) { this->matrixPtr->nosymToSym(); } /**< 'Copy from normal matrix' - constructor */ #if 0 template inline void assign_from_full (Tfull const* const fullmatrix, int const totnrows, int const totncols) { assert(totnrows == totncols); this->matrixPtr->assign_from_full(fullmatrix, totnrows, totncols); this->matrixPtr->nosym_to_sym(); } inline void assign_from_full (Treal const* const fullmatrix, int const totnrows, int const totncols) { assert(totnrows == totncols); this->matrixPtr->assign_from_full(fullmatrix, totnrows, totncols); this->matrixPtr->nosym_to_sym(); } #endif inline void assignFromFull (std::vector const & fullMat) { assert((int)fullMat.size() == this->get_nrows() * this->get_ncols()); this->matrixPtr->assignFromFull(fullMat); this->matrixPtr->nosymToSym(); } inline void assignFromFull (std::vector const & fullMat, std::vector const & rowPermutation, std::vector const & colPermutation) { assert((int)fullMat.size() == this->get_nrows() * this->get_ncols()); std::vector rowind(fullMat.size()); std::vector colind(fullMat.size()); int ind = 0; for (int col = 0; col < this->get_ncols(); ++col) for (int row = 0; row < this->get_nrows(); ++row) { rowind[ind] = row; colind[ind] = col; ++ind; } this->assign_from_sparse(rowind, colind, fullMat, rowPermutation, colPermutation); this->matrixPtr->nosymToSym(); } inline void fullMatrix(std::vector & fullMat) const { this->matrixPtr->syFullMatrix(fullMat); } /**< Save matrix as full matrix. * Whole matrix is written in columnwise order. * Both lower and upper triangle. * NOTE that no permutation is used in this operation. */ inline void fullMatrix (std::vector & fullMat, std::vector const & rowInversePermutation, std::vector const & colInversePermutation) const { std::vector rowind; std::vector colind; std::vector values; get_all_values(rowind, colind, values, rowInversePermutation, colInversePermutation); fullMat.assign(this->get_nrows()*this->get_ncols(),0); assert(rowind.size() == values.size()); assert(rowind.size() == colind.size()); for (unsigned int ind = 0; ind < values.size(); ++ind) { assert(rowind[ind] + this->get_nrows() * colind[ind] < this->get_nrows()*this->get_ncols()); fullMat[rowind[ind] + this->get_nrows() * colind[ind]] = values[ind]; fullMat[colind[ind] + this->get_nrows() * rowind[ind]] = values[ind]; } } /**< Save matrix as full matrix. * Whole matrix is written in columnwise order. * Both lower and upper triangle. * Permutation is used. */ inline void assign_from_sparse (std::vector const & rowind, std::vector const & colind, std::vector const & values) { this->matrixPtr->syAssignFromSparse(rowind, colind, values); } /**< Assign from sparse matrix given by three vectors. * The vectors contain row indices, column indices and values. * The indices start at zero. * The elements to be added must be given in upper triangluar storage. * Information about sizes and blocks for rows as well as columns * must also be given. * Assumes that sizes and blocks are already set. * @warning All indexing start at zero. */ inline void assign_from_sparse (std::vector const & rowind, std::vector const & colind, std::vector const & values, SizesAndBlocks const & newRows, SizesAndBlocks const & newCols) { this->resetSizesAndBlocks(newRows, newCols); this->matrixPtr->syAssignFromSparse(rowind, colind, values); } /**< Assign from sparse matrix given by three vectors. * The vectors contain row indices, column indices and values. * The indices start at zero. * The elements to be added must be given in upper triangluar storage. * Information about sizes and blocks for rows as well as columns * must also be given. * @warning All indexing start at zero. */ inline void assign_from_sparse (std::vector const & rowind, std::vector const & colind, std::vector const & values, std::vector const & rowPermutation, std::vector const & colPermutation) { std::vector newRowind; std::vector newColind; this->getPermutedAndSymmetrized(rowind, rowPermutation, newRowind, colind, colPermutation, newColind); this->matrixPtr->syAssignFromSparse(newRowind, newColind, values); } /**< Same as above, except taking two additional arguments * specifying the permutation of rows and columns. * Also, assuming that sizes and blocks are already set. */ inline void assign_from_sparse (std::vector const & rowind, std::vector const & colind, std::vector const & values, SizesAndBlocks const & newRows, SizesAndBlocks const & newCols, std::vector const & rowPermutation, std::vector const & colPermutation) { this->resetSizesAndBlocks(newRows, newCols); assign_from_sparse(rowind, colind, values, rowPermutation, colPermutation); } /**< Same as above, except taking sizes and blocks arguments. */ /** Add given set of values to the matrix. * The values should be given in upper triangular storage. */ inline void add_values (std::vector const & rowind, std::vector const & colind, std::vector const & values) { this->matrixPtr->syAddValues(rowind, colind, values); } /** Same as above, except taking two additional arguments * specifying the permutation of rows and columns. */ inline void add_values (std::vector const & rowind, std::vector const & colind, std::vector const & values, std::vector const & rowPermutation, std::vector const & colPermutation) { std::vector newRowind; std::vector newColind; this->getPermutedAndSymmetrized(rowind, rowPermutation, newRowind, colind, colPermutation, newColind); this->matrixPtr->syAddValues(newRowind, newColind, values); } inline void get_values (std::vector const & rowind, std::vector const & colind, std::vector & values) const { this->matrixPtr->syGetValues(rowind, colind, values); } /**< Get values given by row and column index lists. * Input arrays contain row and column indices. * The wanted elements must be given in upper triangluar storage. * The output array contains values for the given indices. * @warning All indexing start at zero. */ inline void get_values (std::vector const & rowind, std::vector const & colind, std::vector & values, std::vector const & rowPermutation, std::vector const & colPermutation) const { std::vector newRowind; std::vector newColind; this->getPermutedAndSymmetrized(rowind, rowPermutation, newRowind, colind, colPermutation, newColind); this->matrixPtr->syGetValues(newRowind, newColind, values); } /**< Same as above, except taking two additional arguments * specifying the permutation of rows and columns. */ inline void get_all_values (std::vector & rowind, std::vector & colind, std::vector & values) const { rowind.resize(0); colind.resize(0); values.resize(0); rowind.reserve(nnz()); colind.reserve(nnz()); values.reserve(nnz()); this->matrixPtr->syGetAllValues(rowind, colind, values); } /**< Get all values and corresponding row and column index lists, * in matrix. Only upper triangle values are returned. * @warning All indexing start at zero. */ inline void get_all_values (std::vector & rowind, std::vector & colind, std::vector & values, std::vector const & rowInversePermutation, std::vector const & colInversePermutation) const { std::vector tmpRowind; std::vector tmpColind; tmpRowind.reserve(rowind.capacity()); tmpColind.reserve(colind.capacity()); values.resize(0); this->matrixPtr->syGetAllValues(tmpRowind, tmpColind, values); this->getPermutedAndSymmetrized(tmpRowind, rowInversePermutation, rowind, tmpColind, colInversePermutation, colind); } /**< Same as above, except taking two additional arguments * specifying the permutation of rows and columns. * Note, however, that this permutation is the inverse * permutation compared to the permutations provided in the * functions "assign_from_sparse", "add_values", and "get_values" * @warning permutation is inverse compared to other functions */ MatrixSymmetric& operator=(const MatrixSymmetric& symm) { MatrixBase::operator=(symm); return *this; } MatrixSymmetric& operator=(const MatrixGeneral& matr) { MatrixBase::operator=(matr); this->matrixPtr->nosymToSym(); return *this; } inline MatrixSymmetric& operator=(int const k) { *this->matrixPtr = k; return *this; } inline Treal frob() const { return this->matrixPtr->syFrob(); } Treal mixed_norm(Treal const requestedAccuracy, int maxIter = -1) const; Treal eucl(Treal const requestedAccuracy, int maxIter = -1) const; void quickEuclBounds(Treal & euclLowerBound, Treal & euclUpperBound) const { Treal frobTmp = frob(); euclLowerBound = frobTmp / template_blas_sqrt( (Treal)this->get_nrows() ); euclUpperBound = frobTmp; } /** Returns interval containing the Euclidean norm of A - B * ( || A - B ||_2 ) * @see eucl_diff * @see frob_diff */ static Interval diff(const MatrixSymmetric& A, const MatrixSymmetric& B, normType const norm, Treal const requestedAccuracy); /** Returns interval containing the Euclidean norm of A - B * ( || A - B ||_2 ) based on the chosen norm. * BUT, in the case of Euclidean norm, the norm is only computed with * the requested accuracy if it is smaller than 'maxAbsVal'. * @see euclDiffIfSmall * @see frob_diff */ static Interval diffIfSmall(const MatrixSymmetric& A, const MatrixSymmetric& B, normType const norm, Treal const requestedAccuracy, Treal const maxAbsVal); /** Returns the Frobenius norm of A - B * ( || A - B ||_F ) */ static inline Treal frob_diff (const MatrixSymmetric& A, const MatrixSymmetric& B) { return Tmatrix::syFrobDiff(*A.matrixPtr, *B.matrixPtr); } /** Returns the Euclidean norm of A - B * ( || A - B ||_2 ) */ static Treal eucl_diff (const MatrixSymmetric& A, const MatrixSymmetric& B, Treal const requestedAccuracy); /** Returns the 'mixed' norm of A - B * ( || A - B ||_mixed ) */ static Treal mixed_diff (const MatrixSymmetric& A, const MatrixSymmetric& B, Treal const requestedAccuracy); /** Returns interval containing the Euclidean norm of A - B * ( || A - B ||_2 ). * BUT, the norm is only computed with * the requested accuracy if it is smaller than 'maxAbsVal'. * Otherwise, the Frobenius norm is used to get the bounds. */ static Interval euclDiffIfSmall (const MatrixSymmetric& A, const MatrixSymmetric& B, Treal const requestedAccuracy, Treal const maxAbsVal, VectorType * const eVecPtr = 0); /** Does thresholding so that the error in the chosen norm is below * the given threshold. Returns the actual introduced error. * In case of the Frobenius norm the return value may be an upper bound. * In case of the Euclidean norm the return value is sometimes an * upper bound as well but it can only happen if the whole matrix * is removed. * * @see frob_thresh(Treal) * @see eucl_thresh(Treal const) */ Treal thresh(Treal const threshold, normType const norm); /** Does thresholding so that the error in the Frobenius norm * is below the given threshold. * Returns an upper bound of the introduced error. * If no elements on the block diagonal are removed the return value * is equal to the introduced error. */ inline Treal frob_thresh(Treal const threshold) { return 2.0 * this->matrixPtr->frob_thresh(threshold / 2); } Treal eucl_thresh(Treal const threshold, MatrixTriangular const * const Zptr = NULL); Treal eucl_element_level_thresh(Treal const threshold); void getSizesAndBlocksForFrobNormMat ( SizesAndBlocks & rows_new, SizesAndBlocks & cols_new ) const; Treal mixed_norm_thresh(Treal const threshold); void simple_blockwise_frob_thresh(Treal const threshold) { this->matrixPtr->frobThreshLowestLevel(threshold*threshold, 0); } inline void gershgorin(Treal& lmin, Treal& lmax) const { this->matrixPtr->sy_gershgorin(lmin, lmax); } static inline Treal trace_ab (const MatrixSymmetric& A, const MatrixSymmetric& B) { return Tmatrix::sy_trace_ab(*A.matrixPtr, *B.matrixPtr); } inline size_t nnz() const { /* Note: size_t instead of int here to avoid integer overflow. */ return this->matrixPtr->sy_nnz(); } inline size_t nvalues() const { /* Note: size_t instead of int here to avoid integer overflow. */ return this->matrixPtr->sy_nvalues(); } inline void write_to_buffer(void* buffer, const int n_bytes) const { this->write_to_buffer_base(buffer, n_bytes, matrix_symm); } inline void read_from_buffer(void* buffer, const int n_bytes) { this->read_from_buffer_base(buffer, n_bytes, matrix_symm); } /** B = alpha * A : A and B are symmetric*/ MatrixSymmetric& operator= (XY > const & sm); /** C = alpha * A * A + beta * C : A and C are symmetric */ MatrixSymmetric& operator= (const XYZpUV, MatrixSymmetric, Treal, MatrixSymmetric >& sm2psm); /** C = alpha * A * A : A and C are symmetric */ MatrixSymmetric& operator= (const XYZ, MatrixSymmetric >& sm2); /** C += alpha * A * A : A and C are symmetric */ MatrixSymmetric& operator+= (const XYZ, MatrixSymmetric >& sm2); /** C = alpha * A * transpose(A) + beta * C : C is symmetric */ MatrixSymmetric& operator= (const XYZpUV, MatrixGeneral, Treal, MatrixSymmetric >& smmpsm); /** C = alpha * A * transpose(A) : C is symmetric */ MatrixSymmetric& operator= (const XYZ, MatrixGeneral >& smm); /** C += alpha * A * transpose(A) : C is symmetric */ MatrixSymmetric& operator+= (const XYZ, MatrixGeneral >& smm); /** A = Z * A * transpose(Z) : Z is upper triangular and A is symmetric; * A = transpose(Z) * A * Z : Z is upper triangular and A is symmetric */ MatrixSymmetric& operator= (const XYZ, MatrixSymmetric, MatrixTriangular >& zaz); /** C = alpha * A * B + beta * C where A and B are symmetric * and only the upper triangle of C is computed, * C is enforced to be symmetric! */ static void ssmmUpperTriangleOnly(const Treal alpha, const MatrixSymmetric& A, const MatrixSymmetric& B, const Treal beta, MatrixSymmetric& C); /* Addition */ /** C = A + B : A, B, and C are symmetric */ MatrixSymmetric& operator= (XpY, MatrixSymmetric > const & mpm); /** C = A - B : A, B, and C are symmetric */ MatrixSymmetric& operator= (XmY, MatrixSymmetric > const & mm); /** B += A : A and B are symmetric */ MatrixSymmetric& operator+= (MatrixSymmetric const & A); /** B -= A : A and B are symmetric */ MatrixSymmetric& operator-= (MatrixSymmetric const & A); /** B += alpha * A : A and B are symmetric*/ MatrixSymmetric& operator+= (XY > const & sm); /** B -= alpha * A : A and B are symmetric*/ MatrixSymmetric& operator-= (XY > const & sm); template Treal accumulateWith(Top & op) { return this->matrixPtr->syAccumulateWith(op); } void random() { this->matrixPtr->syRandom(); } void randomZeroStructure(Treal probabilityBeingZero) { this->matrixPtr->syRandomZeroStructure(probabilityBeingZero); } /** Uses rule depending on the row and column indexes to set matrix elements * The Trule class should have the function "Treal = set(int row,int col)" * which is used to set the elements. */ template void setElementsByRule(TRule & rule) { this->matrixPtr->sySetElementsByRule(rule); return; } /** Transfer this matrix to dest, clearing previous content of dest if any. */ void transfer( MatrixSymmetric & dest ) { ValidPtr::swap( this->matrixPtr, dest.matrixPtr ); // *this now contains previous content of dest this->clear(); } template void matVecProd(Tvector & y, Tvector const & x) const { Treal const ONE = 1.0; y = (ONE * (*this) * x); } std::string obj_type_id() const {return "MatrixSymmetric";} protected: inline void writeToFileProt(std::ofstream & file) const { this->writeToFileBase(file, matrix_symm); } inline void readFromFileProt(std::ifstream & file) { this->readFromFileBase(file, matrix_symm); } /** This function permutes row and column indices according to the * specified permutation and gives the indices as upper triangle * in the new permutation. * @warning Duplicate indices are kept. */ static void getPermutedAndSymmetrized (std::vector const & rowind, std::vector const & rowPermutation, std::vector & newRowind, std::vector const & colind, std::vector const & colPermutation, std::vector & newColind) { MatrixBase:: getPermutedIndexes(rowind, rowPermutation, newRowind); MatrixBase:: getPermutedIndexes(colind, colPermutation, newColind); int tmp; for (unsigned int i = 0; i < newRowind.size(); ++i) { if (newRowind[i] > newColind[i]) { tmp = newRowind[i]; newRowind[i] = newColind[i]; newColind[i] = tmp; } } } private: }; template Treal MatrixSymmetric:: mixed_norm(Treal const requestedAccuracy, int maxIter) const { // Construct SizesAndBlocks for frobNormMat SizesAndBlocks rows_new; SizesAndBlocks cols_new; this->getSizesAndBlocksForFrobNormMat( rows_new, cols_new ); // Now we can construct an empty matrix where the Frobenius norms // of lowest level nonzero submatrices will be stored MatrixSymmetric frobNormMat; frobNormMat.resetSizesAndBlocks(rows_new, cols_new); frobNormMat.getMatrix().syAssignFrobNormsLowestLevel(this->getMatrix()); return frobNormMat.eucl(requestedAccuracy, maxIter); } template Treal MatrixSymmetric:: eucl(Treal const requestedAccuracy, int maxIter) const { assert(requestedAccuracy >= 0); /* Check if norm is really small, in that case quick return */ Treal frobTmp = this->frob(); if (frobTmp < requestedAccuracy) return (Treal)0.0; if (maxIter < 0) maxIter = this->get_nrows() * 100; VectorType guess; SizesAndBlocks cols; this->getCols(cols); guess.resetSizesAndBlocks(cols); guess.rand(); // Elias note 2010-03-26: changed this back from "new code" to "old code" to reduce memory usage. #if 0 // "new code" MatrixSymmetric Copy(*this); Copy.frob_thresh(requestedAccuracy / 2.0); arn::LanczosLargestMagnitudeEig , VectorType> lan(Copy, guess, maxIter); lan.setAbsTol( requestedAccuracy / 2.0 ); #else // "old code" arn::LanczosLargestMagnitudeEig , VectorType> lan(*this, guess, maxIter); lan.setAbsTol( requestedAccuracy ); #endif lan.run(); Treal eVal = 0; Treal acc = 0; lan.getLargestMagnitudeEig(eVal, acc); return template_blas_fabs(eVal); } template Interval MatrixSymmetric:: diff(const MatrixSymmetric& A, const MatrixSymmetric& B, normType const norm, Treal const requestedAccuracy) { Treal diff; Treal eNMin; switch (norm) { case frobNorm: diff = frob_diff(A, B); return Interval(diff / template_blas_sqrt((Treal)A.get_nrows()), diff); break; case euclNorm: diff = eucl_diff(A, B, requestedAccuracy); eNMin = diff - requestedAccuracy; eNMin = eNMin >= 0 ? eNMin : 0; return Interval(eNMin, diff + requestedAccuracy); break; default: throw Failure("MatrixSymmetric::" "diff(const MatrixSymmetric&, " "const MatrixSymmetric&, " "normType const, Treal): " "Diff not implemented for selected norm"); } } #if 1 template Interval MatrixSymmetric:: diffIfSmall(const MatrixSymmetric& A, const MatrixSymmetric& B, normType const norm, Treal const requestedAccuracy, Treal const maxAbsVal) { Treal diff; switch (norm) { case frobNorm: { diff = frob_diff(A, B); return Interval(diff / template_blas_sqrt((Treal)A.get_nrows()), diff); } break; case euclNorm: return euclDiffIfSmall(A, B, requestedAccuracy, maxAbsVal); break; default: throw Failure("MatrixSymmetric::" "diffIfSmall" "(const MatrixSymmetric&, " "const MatrixSymmetric&, " "normType const, Treal const, Treal const): " "Diff not implemented for selected norm"); } } #endif template Treal MatrixSymmetric::eucl_diff (const MatrixSymmetric& A, const MatrixSymmetric& B, Treal const requestedAccuracy) { // DiffMatrix is a lightweight proxy object: mat::DiffMatrix< MatrixSymmetric, Treal> Diff(A, B); Treal maxAbsVal = 2 * frob_diff(A,B); // Now, maxAbsVal should be larger than the Eucl norm // Note that mat::euclIfSmall lies outside this class Treal relTol = sqrt(sqrt(std::numeric_limits::epsilon())); Interval euclInt = mat::euclIfSmall(Diff, requestedAccuracy, relTol, maxAbsVal); return euclInt.midPoint(); } template Treal MatrixSymmetric::mixed_diff (const MatrixSymmetric& A, const MatrixSymmetric& B, Treal const requestedAccuracy) { MatrixSymmetric frobNormMat; { SizesAndBlocks rows_new; SizesAndBlocks cols_new; A.getSizesAndBlocksForFrobNormMat( rows_new, cols_new ); frobNormMat.resetSizesAndBlocks(rows_new, cols_new); frobNormMat.getMatrix().syAssignDiffFrobNormsLowestLevel(A.getMatrix(),B.getMatrix()); } return frobNormMat.eucl(requestedAccuracy); } #if 1 template Interval MatrixSymmetric::euclDiffIfSmall (const MatrixSymmetric& A, const MatrixSymmetric& B, Treal const requestedAccuracy, Treal const maxAbsVal, VectorType * const eVecPtr) { // DiffMatrix is a lightweight proxy object: mat::DiffMatrix< MatrixSymmetric, Treal> Diff(A, B); // Note that this function lies outside this class Treal relTol = sqrt(sqrt(std::numeric_limits::epsilon())); Interval tmpInterval = mat::euclIfSmall(Diff, requestedAccuracy, relTol, maxAbsVal, eVecPtr); // Emanuel note: Ugly fix to make certain tests pass, we expand // the interval up to the requested accuracy. Note that larger // intervals may occur if the norm is not 'small'. It happens that // Lanczos misconverges to for example the second largest // eigenvalue. This happens in particular when the first and second // eigenvalues are very close (of the order of the requested // accuracy). Expanding the interval makes the largest eigenvalue // (at least for certain cases) end up inside the interval even // though Lanczos has misconverged. if ( tmpInterval.length() < 2*requestedAccuracy ) return Interval( tmpInterval.midPoint()-requestedAccuracy, tmpInterval.midPoint()+requestedAccuracy ); return tmpInterval; } #endif template Treal MatrixSymmetric:: thresh(Treal const threshold, normType const norm) { switch (norm) { case frobNorm: return this->frob_thresh(threshold); break; case euclNorm: return this->eucl_thresh(threshold); break; case mixedNorm: return this->mixed_norm_thresh(threshold); break; default: throw Failure("MatrixSymmetric::" "thresh(Treal const, " "normType const): " "Thresholding not implemented for selected norm"); } } #if 1 template Treal MatrixSymmetric:: eucl_thresh(Treal const threshold, MatrixTriangular const * const Zptr) { if ( Zptr == NULL ) { EuclTruncationSymm, Treal> TruncObj(*this); return TruncObj.run( threshold ); } EuclTruncationSymmWithZ, MatrixTriangular, Treal> TruncObj(*this, *Zptr); return TruncObj.run( threshold ); } #endif template void MatrixSymmetric::getSizesAndBlocksForFrobNormMat ( SizesAndBlocks & rows_new, SizesAndBlocks & cols_new ) const { std::vector rows_block_sizes; std::vector cols_block_sizes; int n_rows; int n_cols; { SizesAndBlocks rows; SizesAndBlocks cols; this->getRows(rows); this->getCols(cols); rows.getBlockSizeVector( rows_block_sizes ); cols.getBlockSizeVector( cols_block_sizes ); rows_block_sizes.pop_back(); // Remove the '1' at the end cols_block_sizes.pop_back(); // Remove the '1' at the end n_rows = rows.getNTotalScalars(); n_cols = cols.getNTotalScalars(); int factor_rows = rows_block_sizes[rows_block_sizes.size()-1]; int factor_cols = cols_block_sizes[cols_block_sizes.size()-1]; for (unsigned int ind = 0; ind < rows_block_sizes.size(); ++ind) rows_block_sizes[ind] = rows_block_sizes[ind] / factor_rows; for (unsigned int ind = 0; ind < cols_block_sizes.size(); ++ind) cols_block_sizes[ind] = cols_block_sizes[ind] / factor_cols; // Now set the number of (scalar) rows and cols, should be equal // to the number of blocks at the lowest level of the original // matrix if (n_rows % factor_rows) n_rows = n_rows / factor_rows + 1; else n_rows = n_rows / factor_rows; if (n_cols % factor_cols) n_cols = n_cols / factor_cols + 1; else n_cols = n_cols / factor_cols; } rows_new = SizesAndBlocks( rows_block_sizes, n_rows ); cols_new = SizesAndBlocks( cols_block_sizes, n_cols ); } template Treal MatrixSymmetric:: mixed_norm_thresh(Treal const threshold) { assert(threshold >= (Treal)0.0); if (threshold == (Treal)0.0) return (Treal)0; // Construct SizesAndBlocks for frobNormMat SizesAndBlocks rows_new; SizesAndBlocks cols_new; this->getSizesAndBlocksForFrobNormMat( rows_new, cols_new ); // Now we can construct an empty matrix where the Frobenius norms // of lowest level nonzero submatrices will be stored MatrixSymmetric frobNormMat; frobNormMat.resetSizesAndBlocks(rows_new, cols_new); // We want the following step to dominate the mixed_norm truncation (this // is where Frobenius norms of submatrices are computed, i.e. it // is here we loop over all matrix elements.) frobNormMat.getMatrix().syAssignFrobNormsLowestLevel(this->getMatrix()); EuclTruncationSymmElementLevel, Treal> TruncObj( frobNormMat ); Treal mixed_norm_result = TruncObj.run( threshold ); frobNormMat.getMatrix().truncateAccordingToSparsityPattern(this->getMatrix()); return mixed_norm_result; } /* B = alpha * A */ template inline MatrixSymmetric& MatrixSymmetric::operator= (XY > const & sm) { assert(!sm.tB); /* Data structure set by assign - therefore set haveDataStructure to true */ this->matrixPtr.haveDataStructureSet(true); this->matrixPtr->assign(sm.A, *sm.B.matrixPtr); return *this; } /* C = alpha * A * A + beta * C : A and C are symmetric */ template MatrixSymmetric& MatrixSymmetric::operator= (const XYZpUV, MatrixSymmetric, Treal, MatrixSymmetric >& sm2psm) { assert(this != &sm2psm.B); if (this == &sm2psm.E && &sm2psm.B == &sm2psm.C) { /* Operation is C = alpha * A * A + beta * C */ Tmatrix::sysq('U', sm2psm.A, *sm2psm.B.matrixPtr, sm2psm.D, *this->matrixPtr); return *this; } else /* this != &sm2psm.C || &sm2psm.B != &sm2psm.C */ throw Failure("MatrixSymmetric::operator=" "(const XYZpUV >& sm2psm) : " "D = alpha * A * B + beta * C not supported for C != D" " and for symmetric matrices not for A != B since this " "generally will result in a nonsymmetric matrix"); } /* C = alpha * A * A : A and C are symmetric */ template MatrixSymmetric& MatrixSymmetric::operator= (const XYZ, MatrixSymmetric >& sm2) { assert(this != &sm2.B); if (&sm2.B == &sm2.C) { this->matrixPtr.haveDataStructureSet(true); Tmatrix::sysq('U', sm2.A, *sm2.B.matrixPtr, 0, *this->matrixPtr); return *this; } else throw Failure("MatrixSymmetric::operator=" "(const XYZ," " MatrixSymmetric >& sm2) : " "Operation C = alpha * A * B with only symmetric " "matrices not supported for A != B"); } /* C += alpha * A * A : A and C are symmetric */ template MatrixSymmetric& MatrixSymmetric::operator+= (const XYZ, MatrixSymmetric >& sm2) { assert(this != &sm2.B); if (&sm2.B == &sm2.C) { Tmatrix::sysq('U', sm2.A, *sm2.B.matrixPtr, 1, *this->matrixPtr); return *this; } else throw Failure("MatrixSymmetric::operator+=" "(const XYZ," " MatrixSymmetric >& sm2) : " "Operation C += alpha * A * B with only symmetric " "matrices not supported for A != B"); } /* C = alpha * A * transpose(A) + beta * C : C is symmetric */ template MatrixSymmetric& MatrixSymmetric::operator= (const XYZpUV, MatrixGeneral, Treal, MatrixSymmetric >& smmpsm) { if (this == &smmpsm.E) if (&smmpsm.B == &smmpsm.C) if (!smmpsm.tB && smmpsm.tC) { Tmatrix::syrk('U', false, smmpsm.A, *smmpsm.B.matrixPtr, smmpsm.D, *this->matrixPtr); } else throw Failure("MatrixSymmetric::operator=" "(const XYZpUV, " "MatrixGeneral, Treal, " "MatrixSymmetric >&) : " "C = alpha * A' * A + beta * C, not implemented" " only C = alpha * A * A' + beta * C"); else throw Failure("MatrixSymmetric::operator=" "(const XYZpUV<" "Treal, MatrixGeneral, " "MatrixGeneral, Treal, " "MatrixSymmetric >&) : " "You are trying to call C = alpha * A * A' + beta * C" " with A and A' being different objects"); else throw Failure("MatrixSymmetric::operator=" "(const XYZpUV<" "Treal, MatrixGeneral, " "MatrixGeneral, Treal, " "MatrixSymmetric >&) : " "D = alpha * A * A' + beta * C not supported for C != D"); return *this; } /* C = alpha * A * transpose(A) : C is symmetric */ template MatrixSymmetric& MatrixSymmetric::operator= (const XYZ, MatrixGeneral >& smm) { if (&smm.B == &smm.C) if (!smm.tB && smm.tC) { Tmatrix::syrk('U', false, smm.A, *smm.B.matrixPtr, 0, *this->matrixPtr); } else throw Failure("MatrixSymmetric::operator=" "(const XYZ<" "Treal, MatrixGeneral, " "MatrixGeneral >&) : " "C = alpha * A' * A, not implemented " "only C = alpha * A * A'"); else throw Failure("MatrixSymmetric::operator=" "(const XYZ<" "Treal, MatrixGeneral, " "MatrixGeneral >&) : " "You are trying to call C = alpha * A * A' " "with A and A' being different objects"); return *this; } /* C += alpha * A * transpose(A) : C is symmetric */ template MatrixSymmetric& MatrixSymmetric::operator+= (const XYZ, MatrixGeneral >& smm) { if (&smm.B == &smm.C) if (!smm.tB && smm.tC) { Tmatrix::syrk('U', false, smm.A, *smm.B.matrixPtr, 1, *this->matrixPtr); } else throw Failure("MatrixSymmetric::operator+=" "(const XYZ<" "Treal, MatrixGeneral, " "MatrixGeneral >&) : " "C += alpha * A' * A, not implemented " "only C += alpha * A * A'"); else throw Failure("MatrixSymmetric::operator+=" "(const XYZ<" "Treal, MatrixGeneral, " "MatrixGeneral >&) : " "You are trying to call C += alpha * A * A' " "with A and A' being different objects"); return *this; } #if 1 /* A = op1(Z) * A * op2(Z) : Z is upper triangular and A is symmetric */ /* Either op1() or op2() is the transpose operation. */ template MatrixSymmetric& MatrixSymmetric::operator= (const XYZ, MatrixSymmetric, MatrixTriangular >& zaz) { if (this == &zaz.B) { if (&zaz.A == &zaz.C) { if (zaz.tA && !zaz.tC) { Tmatrix::trsytriplemm('R', *zaz.A.matrixPtr, *this->matrixPtr); } else if (!zaz.tA && zaz.tC) { Tmatrix::trsytriplemm('L', *zaz.A.matrixPtr, *this->matrixPtr); } else throw Failure("MatrixSymmetric::operator=" "(const XYZ," "MatrixSymmetric," "MatrixTriangular >&) : " "A = op1(Z) * A * op2(Z) : Either op1 xor op2 must be " "the transpose operation."); } else throw Failure("MatrixSymmetric::operator=" "(const XYZ," "MatrixSymmetric," "MatrixTriangular >&) : " "A = op1(Z1) * A * op2(Z2) : Z1 and Z2 must be the same " "object"); } else throw Failure("MatrixSymmetric::operator=" "(const XYZ," "MatrixSymmetric," "MatrixTriangular >&) : " "C = op1(Z) * A * op2(Z) : A and C must be the same " "object"); return *this; } #endif /** C = alpha * A * B + beta * C where A and B are symmetric * and only the upper triangle of C is computed, * C is enforced to be symmetric! */ template void MatrixSymmetric:: ssmmUpperTriangleOnly(const Treal alpha, const MatrixSymmetric& A, const MatrixSymmetric& B, const Treal beta, MatrixSymmetric& C) { Tmatrix::ssmm_upper_tr_only(alpha, *A.matrixPtr, *B.matrixPtr, beta, *C.matrixPtr); } /* Addition */ /* C = A + B */ template inline MatrixSymmetric& MatrixSymmetric::operator= (const XpY, MatrixSymmetric >& mpm) { assert(this != &mpm.A); (*this) = mpm.B; Tmatrix::add(1.0, *mpm.A.matrixPtr, *this->matrixPtr); return *this; } /* C = A - B */ template inline MatrixSymmetric& MatrixSymmetric::operator= (const XmY, MatrixSymmetric >& mmm) { assert(this != &mmm.B); (*this) = mmm.A; Tmatrix::add(-1.0, *mmm.B.matrixPtr, *this->matrixPtr); return *this; } /* B += A */ template inline MatrixSymmetric& MatrixSymmetric::operator+= (MatrixSymmetric const & A) { Tmatrix::add(1.0, *A.matrixPtr, *this->matrixPtr); return *this; } /* B -= A */ template inline MatrixSymmetric& MatrixSymmetric::operator-= (MatrixSymmetric const & A) { Tmatrix::add(-1.0, *A.matrixPtr, *this->matrixPtr); return *this; } /* B += alpha * A */ template inline MatrixSymmetric& MatrixSymmetric::operator+= (XY > const & sm) { assert(!sm.tB); Tmatrix::add(sm.A, *sm.B.matrixPtr, *this->matrixPtr); return *this; } /* B -= alpha * A */ template inline MatrixSymmetric& MatrixSymmetric::operator-= (XY > const & sm) { assert(!sm.tB); Tmatrix::add(-sm.A, *sm.B.matrixPtr, *this->matrixPtr); return *this; } /** Performs operation specified in 'op' on all nonzero matrix elements * and sums up the result and returns it. * */ template Treal accumulate(MatrixSymmetric & A, Top & op) { return A.accumulateWith(op); } } /* end namespace mat */ #endif ergo-3.5/source/matrix/VectorGeneral.h0000664000175000017500000003074312743400307014764 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file VectorGeneral.h General vector class * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson @a responsible @a author * @date January 2006 * */ #ifndef MAT_VECTORGENERAL #define MAT_VECTORGENERAL #include #include #include #include "FileWritable.h" #include "matrix_proxy.h" #include "ValidPtr.h" namespace mat { template class VectorGeneral : public FileWritable { public: inline void resetSizesAndBlocks(SizesAndBlocks const & newRows) { vectorPtr.haveDataStructureSet(true); vectorPtr->resetRows(newRows); } inline bool is_empty() const { return !vectorPtr.haveDataStructureGet(); } inline void clear_structure(){ vectorPtr.haveDataStructureSet(false); } VectorGeneral(SizesAndBlocks const & newRows):vectorPtr(new Tvector) { resetSizesAndBlocks(newRows); } VectorGeneral():vectorPtr(new Tvector) {} explicit VectorGeneral(const VectorGeneral& other) :FileWritable(other), vectorPtr(new Tvector) { if (other.vectorPtr.haveDataStructureGet()) { vectorPtr.haveDataStructureSet(true); } *vectorPtr = *other.vectorPtr; } inline void assign_from_full (std::vector const & fullVector, SizesAndBlocks const & newRows) { resetSizesAndBlocks(newRows); this->vectorPtr->assignFromFull(fullVector); } inline void fullvector(std::vector & fullVector) const { this->vectorPtr->fullVector(fullVector); } VectorGeneral& operator=(const VectorGeneral& other) { if (other.vectorPtr.haveDataStructureGet()) { vectorPtr.haveDataStructureSet(true); } *this->vectorPtr = *other.vectorPtr; return *this; } inline void clear() { if (is_empty()) // This means that the object's data structure has not been set // There is nothing to clear and the vectorPtr is not valid either return; vectorPtr->clear(); } inline void rand() { vectorPtr->randomNormalized(); } /* LEVEL 2 operations */ /* OPERATIONS INVOLVING ORDINARY MATRICES */ /** y = alpha * op(A) * x */ template VectorGeneral& operator= (const XYZ, VectorGeneral >& smv); /** y += alpha * op(A) * x */ template VectorGeneral& operator+= (const XYZ, VectorGeneral >& smv); /** y = alpha * op(A) * x + beta * y */ template VectorGeneral& operator= (const XYZpUV, VectorGeneral, Treal, VectorGeneral >& smvpsv); /** y = op(A) * x : A is general */ template VectorGeneral& operator= (const XY, VectorGeneral >& mv) { Treal ONE = 1.0; return this->operator=(XYZ, VectorGeneral >(ONE, mv.A, mv.B, false, mv.tA, mv.tB)); } /* OPERATIONS INVOLVING SYMMETRIC MATRICES */ /** y = alpha * A * x : A is symmetric */ template VectorGeneral& operator= (const XYZ, VectorGeneral >& smv); /** y += alpha * A * x : A is symmetric */ template VectorGeneral& operator+= (const XYZ, VectorGeneral >& smv); /** y = alpha * A * x + beta * y : A is symmetric */ template VectorGeneral& operator= (const XYZpUV, VectorGeneral, Treal, VectorGeneral >& smvpsv); /* OPERATIONS INVOLVING TRIANGULAR MATRICES */ /** y = op(A) * x : A is triangular */ template VectorGeneral& operator= (const XY, VectorGeneral >& mv); /* LEVEL 1 operations */ inline Treal eucl() const { return vectorPtr->eucl(); } inline VectorGeneral& operator*=(Treal const alpha) { *vectorPtr *= alpha; return *this; } inline VectorGeneral& operator=(int const k) { *vectorPtr = k; return *this; } /** y += alpha * x */ VectorGeneral& operator+= (const XY >& sv); inline Tvector const & getVector() const {return *vectorPtr;} std::string obj_type_id() const {return "VectorGeneral";} protected: ValidPtr vectorPtr; inline void writeToFileProt(std::ofstream & file) const { if (is_empty()) // This means that the object's data structure has not been set return; vectorPtr->writeToFile(file); } inline void readFromFileProt(std::ifstream & file) { if (is_empty()) // This means that the object's data structure has not been set return; vectorPtr->readFromFile(file); } inline void inMemorySet(bool inMem) { vectorPtr.inMemorySet(inMem); } private: }; /* end class VectorGeneral */ /* LEVEL 2 operations */ /* OPERATIONS INVOLVING ORDINARY MATRICES */ /** y = alpha * op(A) * x */ template template VectorGeneral& VectorGeneral::operator= (const XYZ, VectorGeneral >& smv) { assert(!smv.tC); vectorPtr.haveDataStructureSet(true); if ( this == &smv.C ) { // We need a copy of the smv.C vector since it is the same as *this VectorGeneral tmp(smv.C); Tvector::gemv(smv.tB, smv.A, smv.B.getMatrix(), *tmp.vectorPtr, 0, *this->vectorPtr); } else Tvector::gemv(smv.tB, smv.A, smv.B.getMatrix(), *smv.C.vectorPtr, 0, *this->vectorPtr); return *this; } /** y += alpha * op(A) * x */ template template VectorGeneral& VectorGeneral::operator+= (const XYZ, VectorGeneral >& smv) { assert(!smv.tC); assert(this != &smv.C); Tvector::gemv(smv.tB, smv.A, smv.B.getMatrix(), *smv.C.vectorPtr, 1, *this->vectorPtr); return *this; } /** y = alpha * op(A) * x + beta * y */ template template VectorGeneral& VectorGeneral::operator= (const XYZpUV, VectorGeneral, Treal, VectorGeneral >& smvpsv) { assert(!smvpsv.tC && !smvpsv.tE); assert(this != &smvpsv.C); if (this == &smvpsv.E) Tvector::gemv(smvpsv.tB, smvpsv.A, smvpsv.B.getMatrix(), *smvpsv.C.vectorPtr, smvpsv.D, *this->vectorPtr); else throw Failure("VectorGeneral::operator=" "(const XYZpUV, " "VectorGeneral, " "Treal, " "VectorGeneral >&) : " "y = alpha * op(A) * x + beta * z " "not supported for z != y"); return *this; } /* OPERATIONS INVOLVING SYMMETRIC MATRICES */ /** y = alpha * A * x : A is symmetric */ template template VectorGeneral& VectorGeneral::operator= (const XYZ, VectorGeneral >& smv) { assert(!smv.tC); assert(this != &smv.C); vectorPtr.haveDataStructureSet(true); Tvector::symv('U', smv.A, smv.B.getMatrix(), *smv.C.vectorPtr, 0, *this->vectorPtr); return *this; } /** y += alpha * A * x : A is symmetric */ template template VectorGeneral& VectorGeneral::operator+= (const XYZ, VectorGeneral >& smv) { assert(!smv.tC); assert(this != &smv.C); Tvector::symv('U', smv.A, smv.B.getMatrix(), *smv.C.vectorPtr, 1, *this->vectorPtr); return *this; } /** y = alpha * A * x + beta * y : A is symmetric */ template template VectorGeneral& VectorGeneral::operator= (const XYZpUV, VectorGeneral, Treal, VectorGeneral >& smvpsv) { assert(!smvpsv.tC && !smvpsv.tE); assert(this != &smvpsv.C); if (this == &smvpsv.E) Tvector::symv('U', smvpsv.A, smvpsv.B.getMatrix(), *smvpsv.C.vectorPtr, smvpsv.D, *this->vectorPtr); else throw Failure("VectorGeneral::operator=" "(const XYZpUV, " "VectorGeneral, " "Treal, " "VectorGeneral >&) : " "y = alpha * A * x + beta * z " "not supported for z != y"); return *this; } /* OPERATIONS INVOLVING TRIANGULAR MATRICES */ /** x = op(A) * x : A is triangular */ template template VectorGeneral& VectorGeneral::operator= (const XY, VectorGeneral >& mv) { assert(!mv.tB); if (this != &mv.B) throw Failure("y = A * x not supported for y != x "); Tvector::trmv('U', mv.tA, mv.A.getMatrix(), *this->vectorPtr); return *this; } /* LEVEL 1 operations */ /** y += alpha * x */ template VectorGeneral& VectorGeneral::operator+= (const XY >& sv) { assert(!sv.tB); assert(this != &sv.B); Tvector::axpy(sv.A, *sv.B.vectorPtr, *this->vectorPtr); return *this; } /* Defined outside class */ /** transpose(x) * y * Scalar (dot) product of two vectors */ template Treal operator*(Xtrans > const & xT, VectorGeneral const & y) { if (xT.tA == false) throw Failure("operator*(" "Xtrans > const &," " VectorGeneral const &): " "Dimension mismatch in vector operation"); return Tvector::dot(xT.A.getVector(), y.getVector()); } } /* end namespace mat */ #endif ergo-3.5/source/matrix/VectorHierarchicBase.h0000664000175000017500000001227512743400307016243 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file VectorHierarchicBase.h Base class for Vector * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson @a responsible @a author * @date October 2006 * */ #ifndef MAT_VECTORHIERARCHICBASE #define MAT_VECTORHIERARCHICBASE #include "matInclude.h" namespace mat{ /** Base class for Vector and Vector specialization * * @see Vector * @see Permutation * */ template class VectorHierarchicBase { public: #if 1 inline const int& nScalars() const {return rows.getNScalars();} #endif inline const int& n() const /* Number of elements in Telement matrix */ {return rows.getNBlocks();} inline Telement& operator() /* Returns the element v(ind) */ (int ind) { assert(elements); assert(ind >= 0); assert(ind < n()); return elements[ind]; } inline const Telement& operator() /*Write protected reference returned*/ (int ind) const { assert(elements); assert(ind >= 0); assert(ind < n()); return elements[ind]; } inline bool is_zero() const {return !elements;} inline void resetRows(SizesAndBlocks const & newRows) { freeElements(elements); elements = 0; rows = newRows; } protected: /** Check if vector is empty * Empty is different from zero, a zero matrix contains information * about blocksizes etc. * */ inline bool is_empty() const { return rows.is_empty(); } VectorHierarchicBase() : elements(0) {} explicit VectorHierarchicBase(SizesAndBlocks const & rowsInp) :elements(0) {} VectorHierarchicBase (const VectorHierarchicBase& vec); VectorHierarchicBase& operator=(const VectorHierarchicBase& vec); virtual ~VectorHierarchicBase(); SizesAndBlocks rows; // const Tperm* perm; Telement* elements; // int cap; /* The length of the elements array */ // int nel; /* Number of USED elements in the elements */ /* array (can be positive even though content == zero) */ // property content; /* content can be one of the properties listed */ /* in the enum type property (matInclude.h) for example: */ /* zero: An all zero matrix */ /* ful : An ordinary matrix with the values in the elements array */ #if 0 inline void assert_alloc() { if (this->cap < this->nel) { freeElements(this->elements); this->cap = this->nel; this->elements = allocateElements(this->cap); for (int ind = 0; ind < this->cap; ind++) this->elements[ind] = 0; } } #endif private: }; /* end class VectorHierarchicBase */ template /* Copy constructor */ VectorHierarchicBase:: VectorHierarchicBase (const VectorHierarchicBase& vec) : rows(vec.rows) { if (!vec.is_zero()) { elements = allocateElements(n()); for (int i = 0; i < n(); i++) elements[i] = vec.elements[i]; } } template /* Assignment operator*/ VectorHierarchicBase& VectorHierarchicBase:: operator=(const VectorHierarchicBase& vec) { if (vec.is_zero()) { /* Condition also matches empty matrices. */ rows = vec.rows; freeElements(elements); elements = 0; return *this; } if (is_zero() || (n() != vec.n())) { freeElements(elements); elements = allocateElements(vec.n()); } rows = vec.rows; for (int i = 0; i < n(); i++) elements[i] = vec.elements[i]; return *this; } template VectorHierarchicBase:: ~VectorHierarchicBase() { freeElements(elements); } } /* end namespace mat */ #endif ergo-3.5/source/matrix/LanczosLargestMagnitudeEig.h0000664000175000017500000002401512743400307017435 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file LanczosLargestMagnitudeEig.h Class for computing the largest * magnitude eigenvalue of a symmetric matrix with the Lanczos method. * * Copyright(c) Emanuel Rubensson 2007 * * @author Emanuel Rubensson * @date February 2007 * */ #ifndef MAT_LANCZOSLARGESTMAGNITUDEEIG #define MAT_LANCZOSLARGESTMAGNITUDEEIG #include #include "Lanczos.h" namespace mat { /* Matrix namespace */ namespace arn { /* Arnoldi type methods namespace */ template class LanczosLargestMagnitudeEig : public Lanczos { public: LanczosLargestMagnitudeEig(Tmatrix const & AA, Tvector const & startVec, int maxIter = 100, int cap = 100) : Lanczos(AA, startVec, maxIter, cap), eVal(0), acc(0), eigVectorTri(0), absTol( std::numeric_limits::max() ), relTol(template_blas_sqrt(template_blas_sqrt(getRelPrecision()))), eValTmp(0), accTmp(0) {} void setRelTol(Treal const newTol) { relTol = newTol; } void setAbsTol(Treal const newTol) { absTol = newTol; } inline void getLargestMagnitudeEig(Treal& ev, Treal& accuracy) { ev = eVal; accuracy = acc; } void getLargestMagnitudeEigPair(Treal& eValue, Tvector& eVector, Treal& accuracy); virtual void run() { Lanczos::run(); computeEigVec(); eVal = eValTmp; acc = accTmp; rerun(); /* FIXME! Elias added these extra Lanczos reruns for small matrices to make the tests pass. This is bad. Elias note 2011-01-19: now added one more rerun() because otherwise the test failed when run on Mac. This is really bad. */ if(this->A.get_nrows() == 5) { rerun(); rerun(); rerun(); } } void rerun() { #if 1 /* Because of the statistical chance of misconvergence: * Compute new eigenpair with eigenvector in direction orthogonal * to the first eigenvector. */ Tvector newResidual(eVec); newResidual.rand(); Treal sP = transpose(eVec) * newResidual; newResidual += -sP * eVec; this->restart(newResidual); Lanczos::run(); /* If the new eigenvalue has larger magnitude: * Use those instead */ if (template_blas_fabs(eValTmp) > template_blas_fabs(eVal)) { eVal = eValTmp; acc = accTmp; computeEigVec(); } // Guard against unrealistically small accuracies acc = acc / template_blas_fabs(eVal) > 2 * std::numeric_limits::epsilon() ? acc : 2 * template_blas_fabs(eVal) * std::numeric_limits::epsilon(); #endif } virtual ~LanczosLargestMagnitudeEig() { delete[] eigVectorTri; } protected: Treal eVal; Tvector eVec; Treal acc; Treal* eigVectorTri; /** Eigenvector to the tridiagonal matrix * length: this->j */ Treal absTol; Treal relTol; void computeEigenPairTri(); void computeEigVec(); virtual void update() { computeEigenPairTri(); } virtual bool converged() const; Treal eValTmp; Treal accTmp; private: }; template void LanczosLargestMagnitudeEig:: getLargestMagnitudeEigPair(Treal& eValue, Tvector& eVector, Treal& accuracy) { eValue = eVal; accuracy = acc; eVector = eVec; } template void LanczosLargestMagnitudeEig:: computeEigenPairTri() { delete[] eigVectorTri; Treal* eigVectorMax = new Treal[this->j]; Treal* eigVectorMin = new Treal[this->j]; /* Get largest eigenvalue. */ int const lMax = this->j - 1; Treal eValMax; Treal accMax; this->Tri.getEigsByIndex(&eValMax, eigVectorMax, &accMax, lMax, lMax); /* Get smallest eigenvalue. */ int const lMin = 0; Treal eValMin; Treal accMin; this->Tri.getEigsByIndex(&eValMin, eigVectorMin, &accMin, lMin, lMin); if (template_blas_fabs(eValMin) > template_blas_fabs(eValMax)) { eValTmp = eValMin; accTmp = accMin; delete[] eigVectorMax; eigVectorTri = eigVectorMin; } else { eValTmp = eValMax; accTmp = accMax; delete[] eigVectorMin; eigVectorTri = eigVectorMax; } } template void LanczosLargestMagnitudeEig:: computeEigVec() { /* Compute eigenvector as a linear combination of Krylov vectors */ assert(eigVectorTri); this->getEigVector(eVec, eigVectorTri); } template bool LanczosLargestMagnitudeEig:: converged() const { bool conv = accTmp < absTol; /* Absolute accuracy */ if (template_blas_fabs(eValTmp) > 0) { conv = conv && accTmp / template_blas_fabs(eValTmp) < relTol; /* Relative acc.*/ } return conv; } #if 1 template class LanczosLargestMagnitudeEigIfSmall : public LanczosLargestMagnitudeEig { public: LanczosLargestMagnitudeEigIfSmall (Tmatrix const & AA, Tvector const & startVec, Treal const maxAbsVal, int maxIter = 100, int cap = 100) : LanczosLargestMagnitudeEig (AA, startVec, maxIter, cap), maxAbsValue(maxAbsVal) { } bool largestMagEigIsSmall() {return eigIsSmall;} virtual void run() { Lanczos::run(); this->computeEigVec(); this->eVal = this->eValTmp; this->acc = this->accTmp; if (eigIsSmall) /* No need to rerun if eigenvalue is large. */ this->rerun(); } protected: Treal const maxAbsValue; bool eigIsSmall; virtual void update() { LanczosLargestMagnitudeEig::update(); eigIsSmall = template_blas_fabs(this->eValTmp) < maxAbsValue; } virtual bool converged() const; private: }; template bool LanczosLargestMagnitudeEigIfSmall:: converged() const { bool convAccuracy = LanczosLargestMagnitudeEig::converged(); return convAccuracy || (!eigIsSmall); } #endif } /* end namespace arn */ //// Utility function // EMANUEL COMMENT: // A function similar to euclIfSmall below lies/used to lie inside the MatrixSymmetric class. // There, the matrix was copied and truncated before the calculation. // It is unclear if that had a significant positive impact on the execution time - it definitely required more memory. /** Returns interval containing the Euclidean norm of the matrix M. * If it is smaller than 'maxAbsVal' it is computed with * the 'requestedAccuracy'. * If the norm is larger than 'maxAbsVal', the returned interval is based on * the Frobenius norm. */ template Interval euclIfSmall(Tmatrix const & M, Treal const requestedAbsAccuracy, Treal const requestedRelAccuracy, Treal const maxAbsVal, typename Tmatrix::VectorType * const eVecPtr = 0) { assert(requestedAbsAccuracy >= 0); // Treal frobTmp; /* Check if norm is really small, or can easily be determined to be 'large', in those cases quick return */ Treal euclLowerBound; Treal euclUpperBound; M.quickEuclBounds(euclLowerBound, euclUpperBound); if ( euclUpperBound < requestedAbsAccuracy ) // Norm is really small, quick return return Interval( euclLowerBound, euclUpperBound ); if ( euclLowerBound > maxAbsVal ) // Norm is not small, quick return return Interval( euclLowerBound, euclUpperBound ); int maxIter = M.get_nrows() * 100; typename Tmatrix::VectorType guess; SizesAndBlocks cols; M.getCols(cols); guess.resetSizesAndBlocks(cols); guess.rand(); mat::arn::LanczosLargestMagnitudeEigIfSmall lan(M, guess, maxAbsVal, maxIter); lan.setAbsTol( requestedAbsAccuracy ); lan.setRelTol( requestedRelAccuracy ); lan.run(); Treal eVal = 0; Treal acc = 0; Treal eValMin = 0; if (lan.largestMagEigIsSmall()) { if (eVecPtr) lan.getLargestMagnitudeEigPair(eVal, *eVecPtr, acc); else lan.getLargestMagnitudeEig(eVal, acc); eVal = template_blas_fabs(eVal); eValMin = eVal - acc; eValMin = eValMin >= 0 ? eValMin : (Treal)0; return Interval(eValMin, eVal + acc); } else { eValMin = euclLowerBound; eValMin = eValMin >= maxAbsVal ? eValMin : maxAbsVal; return Interval(eValMin, euclUpperBound); } } } /* end namespace mat */ #endif ergo-3.5/source/matrix/mat_utils.h0000664000175000017500000001257412743400307014227 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MAT_UTILS_HEADER #define MAT_UTILS_HEADER #include "Interval.h" #include "matrix_proxy.h" namespace mat { template struct DiffMatrix { typedef typename Tmatrix::VectorType VectorType; void getCols(SizesAndBlocks & colsCopy) const { A.getCols(colsCopy); } int get_nrows() const { assert( A.get_nrows() == B.get_nrows() ); return A.get_nrows(); } Treal frob() const { return Tmatrix::frob_diff(A, B); } void quickEuclBounds(Treal & euclLowerBound, Treal & euclUpperBound) const { Treal frobTmp = frob(); euclLowerBound = frobTmp / template_blas_sqrt( (Treal)get_nrows() ); euclUpperBound = frobTmp; } Tmatrix const & A; Tmatrix const & B; DiffMatrix(Tmatrix const & A_, Tmatrix const & B_) : A(A_), B(B_) {} template void matVecProd(Tvector & y, Tvector const & x) const { Tvector tmp(y); tmp = (Treal)-1.0 * B * x; // -B * x y = (Treal)1.0 * A * x; // A * x y += (Treal)1.0 * tmp; // A * x - B * x => (A - B) * x } }; // ATAMatrix AT*A template struct ATAMatrix { typedef typename Tmatrix::VectorType VectorType; Tmatrix const & A; explicit ATAMatrix(Tmatrix const & A_) : A(A_) {} void getCols(SizesAndBlocks & colsCopy) const { A.getRows(colsCopy); } void quickEuclBounds(Treal & euclLowerBound, Treal & euclUpperBound) const { Treal frobA = A.frob(); euclLowerBound = 0; euclUpperBound = frobA * frobA; } // y = AT*A*x template void matVecProd(Tvector & y, Tvector const & x) const { y = x; y = A * y; y = transpose(A) * y; } // Number of rows of A^T * A is the number of columns of A int get_nrows() const { return A.get_ncols(); } }; template struct TripleMatrix { typedef typename Tmatrix::VectorType VectorType; void getCols(SizesAndBlocks & colsCopy) const { A.getCols(colsCopy); } int get_nrows() const { assert( A.get_nrows() == Z.get_nrows() ); return A.get_nrows(); } void quickEuclBounds(Treal & euclLowerBound, Treal & euclUpperBound) const { Treal frobA = A.frob(); Treal frobZ = Z.frob(); euclLowerBound = 0; euclUpperBound = frobA * frobZ * frobZ; } Tmatrix const & A; Tmatrix2 const & Z; TripleMatrix(Tmatrix const & A_, Tmatrix2 const & Z_) : A(A_), Z(Z_) {} void matVecProd(VectorType & y, VectorType const & x) const { VectorType tmp(x); tmp = Z * tmp; // Z * x y = (Treal)1.0 * A * tmp; // A * Z * x y = transpose(Z) * y; // Z^T * A * Z * x } }; template struct CongrTransErrorMatrix { typedef typename Tmatrix::VectorType VectorType; void getCols(SizesAndBlocks & colsCopy) const { E.getRows(colsCopy); } int get_nrows() const { return E.get_ncols(); } void quickEuclBounds(Treal & euclLowerBound, Treal & euclUpperBound) const { Treal frobA = A.frob(); Treal frobZ = Zt.frob(); Treal frobE = E.frob(); euclLowerBound = 0; euclUpperBound = frobA * frobE * frobE + 2 * frobA * frobE * frobZ; } Tmatrix const & A; Tmatrix2 const & Zt; Tmatrix2 const & E; CongrTransErrorMatrix(Tmatrix const & A_, Tmatrix2 const & Z_, Tmatrix2 const & E_) : A(A_), Zt(Z_), E(E_) {} void matVecProd(VectorType & y, VectorType const & x) const { VectorType tmp(x); tmp = E * tmp; // E * x y = (Treal)-1.0 * A * tmp; // -A * E * x y = transpose(E) * y; // -E^T * A * E * x VectorType tmp1; tmp = x; tmp = Zt * tmp; // Zt * x tmp1 = (Treal)1.0 * A * tmp; // A * Zt * x tmp1 = transpose(E) * tmp1; // E^T * A * Zt * x y += (Treal)1.0 * tmp1; tmp = x; tmp = E * tmp; // E * x tmp1 = (Treal)1.0 * A * tmp; // A * E * x tmp1 = transpose(Zt) * tmp1; // Zt^T * A * E * x y += (Treal)1.0 * tmp1; } }; } /* end namespace mat */ #endif ergo-3.5/source/matrix/Makefile.in0000664000175000017500000012463212743400352014121 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : noinst_PROGRAMS = mattest$(EXEEXT) mattest_lan$(EXEEXT) \ test_vector$(EXEEXT) omptest$(EXEEXT) matbench$(EXEEXT) \ matbenchgemm$(EXEEXT) blastime$(EXEEXT) perturbtest$(EXEEXT) subdir = source/matrix ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libmat_a_AR = $(AR) $(ARFLAGS) libmat_a_LIBADD = am_libmat_a_OBJECTS = SizesAndBlocks.$(OBJEXT) mat_gblas.$(OBJEXT) \ FileWritable.$(OBJEXT) matInclude.$(OBJEXT) \ AllocatorManager.$(OBJEXT) allocate.$(OBJEXT) \ Memory_buffer_thread.$(OBJEXT) libmat_a_OBJECTS = $(am_libmat_a_OBJECTS) PROGRAMS = $(noinst_PROGRAMS) am_blastime_OBJECTS = blastime.$(OBJEXT) blastime_OBJECTS = $(am_blastime_OBJECTS) blastime_DEPENDENCIES = libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a am_matbench_OBJECTS = bench.$(OBJEXT) matbench_OBJECTS = $(am_matbench_OBJECTS) matbench_DEPENDENCIES = libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a am_matbenchgemm_OBJECTS = bench_gemm_only.$(OBJEXT) matbenchgemm_OBJECTS = $(am_matbenchgemm_OBJECTS) matbenchgemm_DEPENDENCIES = libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a am_mattest_OBJECTS = API_test.$(OBJEXT) mattest_OBJECTS = $(am_mattest_OBJECTS) mattest_DEPENDENCIES = libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a am_mattest_lan_OBJECTS = test_LanczosSeveralLargestEig.$(OBJEXT) mattest_lan_OBJECTS = $(am_mattest_lan_OBJECTS) mattest_lan_DEPENDENCIES = libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a am_omptest_OBJECTS = testOmpFail.$(OBJEXT) omptest_OBJECTS = $(am_omptest_OBJECTS) omptest_LDADD = $(LDADD) am_perturbtest_OBJECTS = Perturb_Test.$(OBJEXT) perturbtest_OBJECTS = $(am_perturbtest_OBJECTS) perturbtest_DEPENDENCIES = libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a am_test_vector_OBJECTS = test_vector.$(OBJEXT) test_vector_OBJECTS = $(am_test_vector_OBJECTS) test_vector_DEPENDENCIES = libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libmat_a_SOURCES) $(blastime_SOURCES) $(matbench_SOURCES) \ $(matbenchgemm_SOURCES) $(mattest_SOURCES) \ $(mattest_lan_SOURCES) $(omptest_SOURCES) \ $(perturbtest_SOURCES) $(test_vector_SOURCES) DIST_SOURCES = $(libmat_a_SOURCES) $(blastime_SOURCES) \ $(matbench_SOURCES) $(matbenchgemm_SOURCES) $(mattest_SOURCES) \ $(mattest_lan_SOURCES) $(omptest_SOURCES) \ $(perturbtest_SOURCES) $(test_vector_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ check recheck distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ $(top_srcdir)/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = \ template_lapack noinst_LIBRARIES = libmat.a mattest_SOURCES = API_test.cc mattest_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a test_vector_SOURCES = test_vector.cc test_vector_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a mattest_lan_SOURCES = test_LanczosSeveralLargestEig.cc mattest_lan_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a matbench_SOURCES = bench.cc matbench_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a matbenchgemm_SOURCES = bench_gemm_only.cc matbenchgemm_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a omptest_SOURCES = testOmpFail.cc blastime_SOURCES = blastime.cc blastime_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a perturbtest_SOURCES = Perturb_Test.cc perturbtest_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a #bsm_test_SOURCES = bsm-test.c #bsm_test_LDADD = libqcsparsemat.a libmat_a_SOURCES = \ MatrixBase.h \ Failure.h \ MatrixGeneral.h \ Matrix.h \ MatrixHierarchicBase.h \ Vector.h \ VectorHierarchicBase.h \ VectorGeneral.h \ SizesAndBlocks.h \ SizesAndBlocks.cc \ MatrixSymmetric.h \ TC2.h \ Perturbation.h \ MatrixTriangular.h \ bisection.h \ mat_gblas.cc \ mat_gblas.h \ general.h \ matrix_proxy.h \ FileWritable.h \ FileWritable.cc \ sort.h \ matInclude.h \ matInclude.cc \ Allocator.h \ AllocatorManager.h \ AllocatorManager.cc \ allocate.h \ allocate.cc \ ValidPtr.h \ Lanczos.h \ LanczosLargestMagnitudeEig.h \ LanczosSeveralLargestEig.h \ DebugPolicies.h \ Interval.h \ mat_utils.h \ MatrixTridiagSymmetric.h \ truncation.h \ Memory_buffer_thread.h \ Memory_buffer_thread.cc \ gemm_sse/common.h \ gemm_sse/g_intrin.h \ gemm_sse/mm_kernel_inner_sse2_A.h \ gemm_sse/mm_kernel_outer_A.h \ gemm_sse/gemm_sse.h \ gemm_sse/vector_intrin.h EXTRA_DIST = \ bootstrap.sh \ atoms.txt \ natoms_size.txt \ matrix_D \ matrix_F \ matrix_S \ test.sh AM_CPPFLAGS = \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack TESTS_ENVIRONMENT = top_builddir=$(top_builddir) top_srcdir=$(top_srcdir) TESTS = \ test.sh all: all-recursive .SUFFIXES: .SUFFIXES: .cc .log .o .obj .test .test$(EXEEXT) .trs $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/matrix/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/matrix/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libmat.a: $(libmat_a_OBJECTS) $(libmat_a_DEPENDENCIES) $(EXTRA_libmat_a_DEPENDENCIES) $(AM_V_at)-rm -f libmat.a $(AM_V_AR)$(libmat_a_AR) libmat.a $(libmat_a_OBJECTS) $(libmat_a_LIBADD) $(AM_V_at)$(RANLIB) libmat.a clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) blastime$(EXEEXT): $(blastime_OBJECTS) $(blastime_DEPENDENCIES) $(EXTRA_blastime_DEPENDENCIES) @rm -f blastime$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(blastime_OBJECTS) $(blastime_LDADD) $(LIBS) matbench$(EXEEXT): $(matbench_OBJECTS) $(matbench_DEPENDENCIES) $(EXTRA_matbench_DEPENDENCIES) @rm -f matbench$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(matbench_OBJECTS) $(matbench_LDADD) $(LIBS) matbenchgemm$(EXEEXT): $(matbenchgemm_OBJECTS) $(matbenchgemm_DEPENDENCIES) $(EXTRA_matbenchgemm_DEPENDENCIES) @rm -f matbenchgemm$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(matbenchgemm_OBJECTS) $(matbenchgemm_LDADD) $(LIBS) mattest$(EXEEXT): $(mattest_OBJECTS) $(mattest_DEPENDENCIES) $(EXTRA_mattest_DEPENDENCIES) @rm -f mattest$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(mattest_OBJECTS) $(mattest_LDADD) $(LIBS) mattest_lan$(EXEEXT): $(mattest_lan_OBJECTS) $(mattest_lan_DEPENDENCIES) $(EXTRA_mattest_lan_DEPENDENCIES) @rm -f mattest_lan$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(mattest_lan_OBJECTS) $(mattest_lan_LDADD) $(LIBS) omptest$(EXEEXT): $(omptest_OBJECTS) $(omptest_DEPENDENCIES) $(EXTRA_omptest_DEPENDENCIES) @rm -f omptest$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(omptest_OBJECTS) $(omptest_LDADD) $(LIBS) perturbtest$(EXEEXT): $(perturbtest_OBJECTS) $(perturbtest_DEPENDENCIES) $(EXTRA_perturbtest_DEPENDENCIES) @rm -f perturbtest$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(perturbtest_OBJECTS) $(perturbtest_LDADD) $(LIBS) test_vector$(EXEEXT): $(test_vector_OBJECTS) $(test_vector_DEPENDENCIES) $(EXTRA_test_vector_DEPENDENCIES) @rm -f test_vector$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(test_vector_OBJECTS) $(test_vector_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/API_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AllocatorManager.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileWritable.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Memory_buffer_thread.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Perturb_Test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SizesAndBlocks.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allocate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bench.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bench_gemm_only.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blastime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matInclude.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mat_gblas.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testOmpFail.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_LanczosSeveralLargestEig.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_vector.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? test.sh.log: test.sh @p='test.sh'; \ b='test.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(LIBRARIES) $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-noinstLIBRARIES clean-noinstPROGRAMS \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) check-am install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-TESTS check-am clean clean-generic clean-noinstLIBRARIES \ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ recheck tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/matrix/ValidPtr.h0000664000175000017500000001007012743400307013740 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file ValidPtr.h Smart pointer class to control access to object. * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson @a responsible @a author * @date November 2006 * */ #ifndef MAT_VALIDPTR #define MAT_VALIDPTR namespace mat { /** Smart pointer class to control access to object * * Primary use: * Control access to objects that may be written to file. * */ template class ValidPtr { public: /** Copy ordinary pointer constructor */ explicit ValidPtr(Tobj * p) : ptr(p), inMemory(true), haveDataStructure(false){} ~ValidPtr() { delete ptr; } /* Pointer can not be changed only object pointed to. * Therefore this is a const operation. * Note that if Tobj is const it can not be changed of course. */ Tobj & operator*() const { if (!inMemory) throw Failure("ValidPtr::operator*() const: " "Attempt to access invalid object. " "Object is on file."); if (!haveDataStructure) throw Failure("ValidPtr::operator*() const: " "Attempt to access invalid object. " "Do not have data structure."); return *ptr; } Tobj * operator->() const { if (!inMemory) throw Failure("ValidPtr::operator->() const: " "Attempt to access invalid pointer." "Object is on file."); if (!haveDataStructure) throw Failure("ValidPtr::operator->() const: " "Attempt to access invalid pointer. " "Do not have data structure."); return ptr; } /** getConstRefForCopying() is provided to make it possible to copy the object also when it is written to file. */ const Tobj & getConstRefForCopying() const { return *ptr; } inline void inMemorySet(bool val) { inMemory = val; } inline bool inMemoryGet() const { return inMemory; } inline void haveDataStructureSet(bool val) { haveDataStructure = val; } inline bool haveDataStructureGet() const { return haveDataStructure; } static void swap( ValidPtr & ptrA, ValidPtr & ptrB ) { // For the moment, we do not allow swapping ptrs with objs // written to file. This could be a feature to add but would // require swapping filenames. if ( !ptrA.inMemoryGet() || !ptrB.inMemoryGet() ) throw "Swap called for objects not in memory"; if ( !ptrA.haveDataStructureGet() || !ptrB.haveDataStructureGet() ) throw "Swap called for objects without data structure"; Tobj * tmpPtr = ptrA.ptr; ptrA.ptr = ptrB.ptr; ptrB.ptr = tmpPtr; } protected: Tobj * ptr; /** Access to ptr forbidden if inMemory is false */ bool inMemory; /** Access to ptr forbidden if haveDataStructure is false */ bool haveDataStructure; private: ValidPtr(ValidPtr const &) {} ValidPtr& operator=(ValidPtr const &) {} }; } /* end namespace mat */ #endif ergo-3.5/source/matrix/blastime.cc0000664000175000017500000001622212743400307014156 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include /* For setprecision in fstream */ #include #include #include #include #include "mat_gblas.h" static const int MIN_TIME_PER_STEP = 5; static const int SIZE_INCREMENT = 2; template static void tomatlabfile(char* name,T* values,int s,std::ofstream& output); template int mainFun(int maxDim, double* timev, double* gflops, bool writeTomFile) { try { // bool CPUtime = false; const real ONE=1.0; const real ZERO=0.0; clock_t start, end; int i; int steps = 500000;//50000000; /* Find reasonable number of steps */ double secondsTaken = 0; int testSize = SIZE_INCREMENT; while (secondsTaken < MIN_TIME_PER_STEP) { steps = steps*3; real* A=new real [testSize*testSize]; real* B=new real [testSize*testSize]; real* C=new real [testSize*testSize]; for(i = testSize*testSize-1; i>=0; i--) A[i] = 1.0; for(i = testSize*testSize-1; i>=0; i--) B[i] = 1.0; for(i = testSize*testSize-1; i>=0; i--) C[i] = 0.0; int m = testSize; int n = testSize; int k = testSize; start = clock(); for(int j=0; j=0; i--) A[i] = 1.0; for(i = size*size-1; i>=0; i--) B[i] = 1.0; for(i = size*size-1; i>=0; i--) C[i] = 0.0; int m = size; int n = size; int k = size; start = clock(); for(int j=0; j static void tomatlabfile(const char* name, T* values, int s, std::ofstream& output) { output<(maxDim, timevDouble, gflopsDouble, writeTomFile)) { time(&endTime); std::cout<<"Ended gemm benchmark, double precision, wall time: " <(maxDim, timevSingle, gflopsSingle, writeTomFile)) { time(&endTime); std::cout<<"Ended gemm benchmark, single precision, wall time: " <("timeDouble",timevDouble,maxSize,output); tomatlabfile("GflopsDouble",gflopsDouble,maxSize,output); tomatlabfile("timeSingle",timevSingle,maxSize,output); tomatlabfile("GflopsSingle",gflopsSingle,maxSize,output); output<<"minX = 0;\n" <<"maxX = max(nv);\n" <<"minY = 0;\n" <<"maxY = max([GflopsDouble GflopsSingle]);\n" <<"lwidth = 1;\n" <<"fsize = 12;\n" <<"figure;\n" <. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file MatrixTridiagSymmetric.h Class for tridiagonal symmetric matrices * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson * @date December 2006 * */ #ifndef MAT_MATRIXTRIDIAGSYMMETRIC #define MAT_MATRIXTRIDIAGSYMMETRIC #include "mat_gblas.h" namespace mat { /* Matrix namespace */ namespace arn { /* Arnoldi type methods namespace */ /** Tridiagonal symmetric matrix class template * */ template class MatrixTridiagSymmetric { public: explicit MatrixTridiagSymmetric(int k = 100) : alphaVec(new Treal[k]), betaVec(new Treal[k]), size(0), capacity(k) {} void increase(Treal const & alpha, Treal const & beta) { if (size + 1 > capacity) increaseCapacity(capacity * 2); ++size; alphaVec[size - 1] = alpha; betaVec[size - 1] = beta; } virtual ~MatrixTridiagSymmetric() { delete[] alphaVec; delete[] betaVec; } void update_beta(Treal const & beta) { betaVec[size-1] = beta; } void getEigsByInterval(Treal* eigVals, Treal* eigVectors, Treal* acc, int & nEigsFound, Treal const lowBound, Treal const uppBound, Treal const abstol = 0) const; void getEigsByIndex(Treal* eigVals, Treal* eigVectors, Treal* acc, int const lowInd, int const uppInd, Treal const abstol = 0) const; inline void clear() { size = 0; } protected: Treal* alphaVec; Treal* betaVec; int size; int capacity; void increaseCapacity(int const newCapacity); private: }; template void MatrixTridiagSymmetric:: getEigsByInterval(Treal* eigVals, /* length: >= nEigsFound */ Treal* eigVectors, /* length: >= size * nEigsFound */ Treal* acc, /* length: size */ int & nEigsFound, /* The number of found eigenpairs. */ Treal const lowBound, Treal const uppBound, Treal const absTol) const { Treal* eigArray = new Treal[size]; Treal* alphaCopy = new Treal[size]; Treal* betaCopy = new Treal[size]; Treal* work = new Treal[5 * size]; int* iwork = new int[5 * size]; int* ifail = new int[size]; for (int ind = 0; ind < size; ind++){ alphaCopy[ind] = alphaVec[ind]; betaCopy[ind] = betaVec[ind]; } int dummy = -1; int info; /* Find eigenvalues */ /* FIXME: change to stevr */ mat::stevx("V", "V", &size, alphaCopy, betaCopy, &lowBound, &uppBound, &dummy, &dummy, &absTol, &nEigsFound, eigArray, eigVectors, &size, work, iwork, ifail, &info); assert(info == 0); for (int ind = 0; ind < nEigsFound; ind++) { eigVals[ind] = eigArray[ind]; acc[ind] = betaCopy[size - 1] * template_blas_fabs(eigVectors[(ind * size) + size - 1]) / 0.9; // FIXME: WHY IS THERE A FACTOR 0.9 HERE ?!? } delete[] eigArray; delete[] alphaCopy; delete[] betaCopy; delete[] work; delete[] iwork; delete[] ifail; } template void MatrixTridiagSymmetric:: getEigsByIndex(Treal* eigVals, /* length: uppInd-lowInd+1 */ Treal* eigVectors, /* length: size*(uppInd-lowInd+1) */ Treal* acc, /* length: size */ int const lowInd, int const uppInd, Treal const abstol) const { Treal* eigArray = new Treal[size]; Treal* alphaCopy = new Treal[size]; Treal* betaCopy = new Treal[size]; for (int ind = 0; ind < size; ind++){ alphaCopy[ind] = alphaVec[ind]; betaCopy[ind] = betaVec[ind]; } #if 1 // Emanuel note 2010-03-14: // The following code uses stevr instead of stevx for two reasons: // 1) Due to a bug in LAPACK we previously computed all // eigenvalues (see Elias' note below) which turned out to be // too time consuming in some cases. // 2) Contrary to stevx, stevr should never fail to compute the // desired eigenpairs unless there is a bug in the implementation // or erroneous input. int const lowIndNew(lowInd + 1); int const uppIndNew(uppInd + 1); int nEigsWanted = uppInd - lowInd + 1; int nEigsFound = 0; int* isuppz = new int[2*nEigsWanted]; Treal* work; int lwork = -1; int* iwork; int liwork = -1; Treal dummy = -1.0; int info; // First do a workspace query: Treal work_query; int iwork_query; mat::stevr("V", "I", &size, alphaCopy, betaCopy, &dummy, &dummy, &lowIndNew, &uppIndNew, &abstol, &nEigsFound, eigArray, eigVectors, &size, isuppz, &work_query, &lwork, &iwork_query, &liwork, &info); lwork = int(work_query); liwork = iwork_query; work = new Treal[lwork]; iwork = new int[liwork]; mat::stevr("V", "I", &size, alphaCopy, betaCopy, &dummy, &dummy, &lowIndNew, &uppIndNew, &abstol, &nEigsFound, eigArray, eigVectors, &size, isuppz, work, &lwork, iwork, &liwork, &info); if (info) std::cout << "info = " << info < void MatrixTridiagSymmetric:: increaseCapacity(int const newCapacity) { capacity = newCapacity; Treal* alphaNew = new Treal[capacity]; Treal* betaNew = new Treal[capacity]; for (int ind = 0; ind < size; ind++){ alphaNew[ind] = alphaVec[ind]; betaNew[ind] = betaVec[ind]; } delete[] alphaVec; delete[] betaVec; alphaVec = alphaNew; betaVec = betaNew; } } /* end namespace arn */ } /* end namespace mat */ #endif ergo-3.5/source/matrix/Makefile.am0000664000175000017500000000677112743400275014117 00000000000000SUBDIRS = \ template_lapack noinst_PROGRAMS = mattest mattest_lan test_vector omptest matbench matbenchgemm blastime perturbtest noinst_LIBRARIES = libmat.a mattest_SOURCES = API_test.cc mattest_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a test_vector_SOURCES = test_vector.cc test_vector_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a mattest_lan_SOURCES = test_LanczosSeveralLargestEig.cc mattest_lan_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a matbench_SOURCES = bench.cc matbench_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a matbenchgemm_SOURCES = bench_gemm_only.cc matbenchgemm_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a omptest_SOURCES = testOmpFail.cc blastime_SOURCES = blastime.cc blastime_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a perturbtest_SOURCES = Perturb_Test.cc perturbtest_LDADD = libmat.a $(FLIBS) \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a #bsm_test_SOURCES = bsm-test.c #bsm_test_LDADD = libqcsparsemat.a libmat_a_SOURCES = \ MatrixBase.h \ Failure.h \ MatrixGeneral.h \ Matrix.h \ MatrixHierarchicBase.h \ Vector.h \ VectorHierarchicBase.h \ VectorGeneral.h \ SizesAndBlocks.h \ SizesAndBlocks.cc \ MatrixSymmetric.h \ TC2.h \ Perturbation.h \ MatrixTriangular.h \ bisection.h \ mat_gblas.cc \ mat_gblas.h \ general.h \ matrix_proxy.h \ FileWritable.h \ FileWritable.cc \ sort.h \ matInclude.h \ matInclude.cc \ Allocator.h \ AllocatorManager.h \ AllocatorManager.cc \ allocate.h \ allocate.cc \ ValidPtr.h \ Lanczos.h \ LanczosLargestMagnitudeEig.h \ LanczosSeveralLargestEig.h \ DebugPolicies.h \ Interval.h \ mat_utils.h \ MatrixTridiagSymmetric.h \ truncation.h \ Memory_buffer_thread.h \ Memory_buffer_thread.cc \ gemm_sse/common.h \ gemm_sse/g_intrin.h \ gemm_sse/mm_kernel_inner_sse2_A.h \ gemm_sse/mm_kernel_outer_A.h \ gemm_sse/gemm_sse.h \ gemm_sse/vector_intrin.h EXTRA_DIST = \ bootstrap.sh \ atoms.txt \ natoms_size.txt \ matrix_D \ matrix_F \ matrix_S \ test.sh AM_CPPFLAGS = \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack TESTS_ENVIRONMENT = top_builddir=$(top_builddir) top_srcdir=$(top_srcdir) TESTS = \ test.sh ergo-3.5/source/matrix/Perturb_Test.cc0000664000175000017500000001605312743400307015002 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file Perturb_Test.cc Test of the denaity matrix perturbation iterations * * Copyright(c) Emanuel Rubensson 2008 * * @author Emanuel Rubensson @a responsible @a author * @date June 2008 * */ #include /* For ifstream */ #include /* For setprecision in fstream */ #include #include #include /* For FILE */ #include "SizesAndBlocks.h" #include "Matrix.h" #include "Vector.h" #include "MatrixSymmetric.h" #include "MatrixTriangular.h" #include "MatrixGeneral.h" #include "VectorGeneral.h" #include "mat_gblas.h" #include "Lanczos.h" #include "Perturbation.h" template class expRule { public: Treal set(int const row, int const col) { return (rand() / (Treal)RAND_MAX) * template_blas_exp(-(template_blas_fabs(Treal(row)-Treal(col)))); } }; template class setFromFullRule { public: Treal* fMat; int const n; setFromFullRule(Treal* fullMat, int const n_in) :fMat(fullMat), n(n_in) {} Treal set(int const row, int const col) { return fMat[row + col*n]; } }; template int mainFun(int argc,char* argv[]) { // using namespace mat; try { typedef mat::Matrix Mat_1; typedef mat::Matrix Mat_2; typedef mat::Matrix Mat_3; // typedef mat::Vector Vec_1; // typedef mat::Vector Vec_2; // typedef mat::Vector Vec_3; typedef Mat_3 matri; // typedef Vec_3 vect; typedef mat::MatrixSymmetric symmMatrix; // typedef mat::MatrixGeneral generalMatrix; // typedef mat::VectorGeneral generalVector; #ifdef _OPENMP int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) { defThreads = 1; } mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(2); std::cout<<"OpenMP is used, number of threads set to " < blockSizes(nlevels); blockSizes[nlevels - 1] = 1; #if 1 blockSizes[nlevels - 2] = 1; blockSizes[nlevels - 3] = 5; #else for (int ind = nlevels - 2; ind >= 0; ind--) blockSizes[ind] = blockSizes[ind + 1] * 10; #endif mat::SizesAndBlocks rows(blockSizes, size); mat::SizesAndBlocks cols(blockSizes, size); real fullMat[]={5.8009e-01, 2.3252e-01, 8.0704e-02, 5.4284e-03, 1.1523e-02, 1.0574e-03, 1.3265e-03, 2.3252e-01, 6.5275e-01, 1.2204e-01, 6.4472e-02, 2.7865e-02, 2.3571e-03, 1.4737e-03, 8.0704e-02, 1.2204e-01, 1.9027e-01, 1.0961e-01, 1.1393e-01, 2.9060e-02, 4.1039e-04, 5.4284e-03, 6.4472e-02, 1.0961e-01, 7.0819e-01, 4.5117e-02, 8.3039e-02, 4.0969e-02, 1.1523e-02, 2.7865e-02, 1.1393e-01, 4.5117e-02, 1.0802e-01, 1.2922e-01, 8.2088e-02, 1.0574e-03, 2.3571e-03, 2.9060e-02, 8.3039e-02, 1.2922e-01, 9.3466e-01, 3.1171e-01, 1.3265e-03, 1.4737e-03, 4.1039e-04, 4.0969e-02, 8.2088e-02, 3.1171e-01, 5.4863e-01}; /* Eigs = 0.010467 0.209761 0.375634 0.377040 0.683334 0.905561 1.160811 */ mat::Interval gap (0.4, 0.6); mat::Interval allEigs (0.0 , 1.2); symmMatrix* syA = new symmMatrix; syA->resetSizesAndBlocks(rows,cols); setFromFullRule sr(fullMat, size); syA->setElementsByRule(sr); std::cout<<"Norm of syA = "<eucl(1e-7)<resetSizesAndBlocks(rows,cols); syB->random(); (*syB) *= real(1e-3); std::cout<<"Norm of syB = "<eucl(1e-7)< F; std::vector D; F.push_back(syA); F.push_back(syB); // real deltaMax = 0.1; // real errorTol = 1e-8; // real errorTol = 1e-25; // TRY THIS!! #if 0 per::Perturbation perturbObject(F, D, gap, allEigs, deltaMax, errorTol, mat::euclNorm, myVector); perturbObject.perturb(); std::vector idemErrors; perturbObject.checkIdempotencies(idemErrors); for (unsigned int ind = 0; ind < idemErrors.size();++ind) std::cout<<"idemErrors["< commErrors; generalMatrix dummyMat; perturbObject.checkCommutators(commErrors,dummyMat); for (unsigned int ind = 0; ind < commErrors.size();++ind) std::cout<<"commErrors["<(argc,argv)) { std::cout <<"Perturbation tests with double precision completed successfully!" <(argc,argv)) std::cout <<"Perturbation tests with single precision completed successfully!" <. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file API_test.cc Test of the matrix library * * Copyright(c) Emanuel Rubensson 2005 * * @author Emanuel Rubensson @a responsible @a author * @date September 2005 * */ #include /* For ifstream */ #include /* For setprecision in fstream */ #include #include #include /* For FILE */ #include "SizesAndBlocks.h" #include "Matrix.h" #include "Vector.h" #include "MatrixSymmetric.h" #include "MatrixTriangular.h" #include "MatrixGeneral.h" #include "VectorGeneral.h" #include "mat_gblas.h" #include "Lanczos.h" template inline bool realIsSingle() {return false;} template<> inline bool realIsSingle() {return true;} template static Treal maxdiff(std::vector const & f1, std::vector const & f2); template static Treal maxdiff_tri(const Treal* f1,const Treal* f2,int size); template static Treal frobdiff(const Treal* f1,const Treal* f2,int size); using namespace mat; template class Sum { public: Treal accumulate(const Treal& a, int row, int col) { return a; } }; template class expRule { public: Treal set(int const row, int const col) { return (rand() / (Treal)RAND_MAX) * template_blas_exp(-(template_blas_fabs(Treal(row)-Treal(col)))); } }; template static void testAccumulation(const Tmatrix& syFock, int size, Treal *fockfull) { Tmatrix f(syFock); Treal ref = 0; Sum sumOperator; Treal res = mat::accumulate(f, sumOperator); for(int i=0; i template_blas_sqrt(mat::getRelPrecision()) ) { std::cout << "Reference: "<< ref << " computed:" << res << "\nAccumulate test failed.\n"; std::exit(1); } else std::cout << "\nAccumulate test OK.\n"; } template bool dotIsBroken() { Treal x[8]; Treal y[8]; x[0] = 1; y[0] = 1; int n = 1; int incx = 1; int incy = 1; Treal sdot_result = mat::dot(&n, x, &incx, y, &incy); /* Commment: return type of sdot is different in different libraries. * In ATLAS, GOTO, and ACML the return type is double * In the 'netlib version' and in MKL it is float */ return template_blas_fabs(sdot_result - (Treal)1.0) > 0.001; } template int mainFun(int argc,char* argv[]) { if (dotIsBroken()) { std::cout<<" FAIL: BLAS dot product is broken for selected precision! " < Mat_1; typedef Matrix Mat_2; typedef Matrix Mat_3; typedef Vector Vec_1; typedef Vector Vec_2; typedef Vector Vec_3; typedef Mat_3 matri; typedef Vec_3 vect; typedef MatrixSymmetric symmMatrix; typedef MatrixTriangular triangMatrix; typedef MatrixGeneral normalMatrix; typedef VectorGeneral normalVector; typedef arn::LanczosLargestMagnitudeEig myLanczosType; #ifdef _OPENMP int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) { defThreads = 1; } mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(2); std::cout<<"OpenMP is used, number of threads set to " <()); // int tmpexp; int info; /********** Initialization of SizesAndBlocks */ int size = 87; /* Use weird size to find more bugs. */ int nlevels = 3; std::vector blockSizes(nlevels); blockSizes[nlevels - 1] = 1; // should always be one #if 1 blockSizes[nlevels - 2] = 1; // lowest level blocksize blockSizes[nlevels - 3] = 5; #else for (int ind = nlevels - 2; ind >= 0; ind--) blockSizes[ind] = blockSizes[ind + 1] * 10; #endif std::cout << "Running tests with blocksize vector: "; for (int ind = 0; ind < nlevels; ind++) std::cout << blockSizes[ind] << " "; std::cout << std::endl; SizesAndBlocks rows(blockSizes, size); SizesAndBlocks cols(blockSizes, size); /********** Obtain row and column index vectors. */ std::vector rowindex(size * size); std::vector colindex(size * size); for (int col = 0; col < size; col++) for (int row = 0; row < size; row++) { rowindex[col * size + row] = row; colindex[col * size + row] = col; } std::vector rowindexUpperTriangle((size * (size+1)) / 2); std::vector colindexUpperTriangle((size * (size+1)) / 2); /* Columnwise only upper triangular storage. */ { int ind = 0; for (int col = 0; col < size; col++) for (int row = 0; row <= col; row++) { rowindexUpperTriangle[ind] = row; colindexUpperTriangle[ind] = col; ++ind; } } /********** Test of matrices and vectors * The tests following here are testing fundational behavior of the * data structure, such as constructors, assignments, etc. */ /**** General matrices - general tests. */ { normalMatrix A, B; A.resetSizesAndBlocks(rows,cols); A.randomZeroStructure(0.7); std::cout<<"Matrix has "< valuesA; A.get_values(rowindex, colindex, valuesA); std::vector valuesB; B.get_values(rowindex, colindex, valuesB); std::vector valuesC; C.get_values(rowindex, colindex, valuesC); assert(valuesA.size() == valuesB.size()); assert(valuesA.size() == valuesC.size()); for (unsigned int ind = 0; ind < valuesA.size(); ++ind) { assert(valuesA[ind] == valuesB[ind]); assert(valuesA[ind] == valuesC[ind]); } /* Test get_all_values */ std::vector rowindexA2; std::vector colindexA2; std::vector valuesA2; A.get_all_values(rowindexA2, colindexA2, valuesA2); int row = 0; int col = 0; for (unsigned int ind = 0; ind < valuesA2.size(); ++ind) { row = rowindexA2[ind]; col = colindexA2[ind]; assert(valuesA2[ind] == valuesA[col * size + row]); } /* Test assign_from_sparse */ normalMatrix D; D.assign_from_sparse(rowindex, colindex, valuesA, rows, cols); std::vector valuesD; D.get_values(rowindex, colindex, valuesD); assert(valuesA.size() == valuesD.size()); for (unsigned int ind = 0; ind < valuesA.size(); ++ind) assert(valuesA[ind] == valuesD[ind]); } /* End of general matrices test. */ /**** General matrix - Test assignments using permutation. */ { /* Get a random matrix */ normalMatrix A; A.resetSizesAndBlocks(rows,cols); A.randomZeroStructure(0.7); // A.random(); /* Get a random permutation */ std::vector permutationVec(size); for (int ind = 0; ind < size; ++ind ) permutationVec[ind] = ind; std::random_shuffle ( permutationVec.begin(), permutationVec.end() ); /* Get inverse permutation */ std::vector inversePermutationVec(size); for (int ind = 0; ind < size; ++ind) { inversePermutationVec[permutationVec[ind]] = ind; } /* Test get values with permutation */ std::vector fullMatRef(size * size); { std::vector valuesARef; std::vector permRowIndex(rowindex.size()); std::vector permColIndex(colindex.size()); for (unsigned int ind = 0; ind < rowindex.size(); ++ind) { permRowIndex[ind] = permutationVec[rowindex[ind]]; permColIndex[ind] = permutationVec[colindex[ind]]; } A.get_values(permRowIndex, permColIndex, valuesARef); std::vector valuesAPerm; A.get_values(rowindex, colindex, valuesAPerm, permutationVec, permutationVec); assert(valuesARef.size() == valuesAPerm.size()); for (unsigned int ind = 0; ind < valuesARef.size(); ++ind) { assert(permRowIndex[ind] == permutationVec[rowindex[ind]]); assert(permColIndex[ind] == permutationVec[colindex[ind]]); assert(valuesARef[ind] == valuesAPerm[ind]); fullMatRef[rowindex[ind] + A.get_nrows() * colindex[ind]] = valuesARef[ind]; } } /* Test get all values with permutation */ { std::vector rowIndex; std::vector colIndex; std::vector values; A.get_all_values(rowIndex, colIndex, values, inversePermutationVec, inversePermutationVec); for (unsigned int ind = 0; ind < values.size(); ++ind) { assert(values[ind] == fullMatRef[rowIndex[ind] + A.get_nrows() * colIndex[ind]] ); } } /* Test fullMatrix */ { std::vector fullMat; A.fullMatrix(fullMat, inversePermutationVec, inversePermutationVec); for (unsigned int ind = 0; ind < fullMat.size(); ++ind) assert(fullMat[ind] == fullMatRef[ind]); } } /* End: General matrix - Test assignments using permutation. */ #if 1 /**** Symmetric matrices - general tests. */ { symmMatrix syA, syB; syA.resetSizesAndBlocks(rows,cols); syA.randomZeroStructure(0.7); // syA.random(); syA.add_identity(100); syB = syA; symmMatrix syC(syA); /* Test copy */ /* Test get_values and assignment and copy */ std::vector valuesA; syA.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesA); std::vector valuesB; syB.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesB); std::vector valuesC; syC.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesC); assert(valuesA.size() == valuesB.size()); assert(valuesA.size() == valuesC.size()); for (unsigned int ind = 0; ind < valuesA.size(); ++ind) { assert(valuesA[ind] == valuesB[ind]); assert(valuesA[ind] == valuesC[ind]); } /* Test get_all_values */ std::vector rowindexA2; std::vector colindexA2; std::vector valuesA2; syA.get_all_values(rowindexA2, colindexA2, valuesA2); int row = 0; int col = 0; int offset = 0; for (unsigned int ind = 0; ind < valuesA2.size(); ++ind) { row = rowindexA2[ind]; col = colindexA2[ind]; offset = 0; for (int indOff = 1; indOff <= col; ++indOff) offset = offset + indOff; assert(valuesA2[ind] == valuesA[offset + row]); } /* Test assign_from_sparse */ symmMatrix syD; syD.assign_from_sparse(rowindexUpperTriangle, colindexUpperTriangle, valuesA, rows, cols); std::vector valuesD; syD.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesD); assert(valuesA.size() == valuesD.size()); for (unsigned int ind = 0; ind < valuesA.size(); ++ind) assert(valuesA[ind] == valuesD[ind]); } /* End of symmetric matrices test. */ /**** Regression test for assign */ { symmMatrix A,B; A.resetSizesAndBlocks(rows,cols); A.random(); B = real(1.3) * A; } /**** Symmetric matrices - Test assignments using permutation. */ { /* Get a random matrix */ symmMatrix A; A.resetSizesAndBlocks(rows,cols); A.randomZeroStructure(0.7); // A.random(); /* Get a random permutation */ std::vector permutationVec(size); std::vector noPermutationVec(size); for (int ind = 0; ind < size; ++ind ) permutationVec[ind] = ind; noPermutationVec = permutationVec; std::random_shuffle ( permutationVec.begin(), permutationVec.end() ); /* Get inverse permutation */ std::vector inversePermutationVec(size); for (int ind = 0; ind < size; ++ind) { inversePermutationVec[permutationVec[ind]] = ind; } /* Test get values with permutation */ std::vector fullMatRef(size * size); { std::vector valuesARef; std::vector permRowIndex(rowindexUpperTriangle.size()); std::vector permColIndex(colindexUpperTriangle.size()); for (unsigned int ind = 0; ind < rowindexUpperTriangle.size(); ++ind) { permRowIndex[ind] = permutationVec[rowindexUpperTriangle[ind]]; permColIndex[ind] = permutationVec[colindexUpperTriangle[ind]]; } A.get_values(permRowIndex, permColIndex, valuesARef, noPermutationVec, noPermutationVec); std::vector valuesAPerm; A.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesAPerm, permutationVec, permutationVec); assert(valuesARef.size() == valuesAPerm.size()); for (unsigned int ind = 0; ind < valuesARef.size(); ++ind) { assert(permRowIndex[ind] == permutationVec[rowindexUpperTriangle[ind]]); assert(permColIndex[ind] == permutationVec[colindexUpperTriangle[ind]]); assert(valuesARef[ind] == valuesAPerm[ind]); fullMatRef[rowindexUpperTriangle[ind] + A.get_nrows() * colindexUpperTriangle[ind]] = valuesARef[ind]; fullMatRef[colindexUpperTriangle[ind] + A.get_nrows() * rowindexUpperTriangle[ind]] = valuesARef[ind]; } } std::vector rowIndex; std::vector colIndex; std::vector values; /* Test get all values with permutation */ { A.get_all_values(rowIndex, colIndex, values, inversePermutationVec, inversePermutationVec); for (unsigned int ind = 0; ind < values.size(); ++ind) { assert(values[ind] == fullMatRef[rowIndex[ind] + A.get_nrows() * colIndex[ind]]); } /* Test assign from sparse with permutation*/ { symmMatrix syB; syB.resetSizesAndBlocks(rows,cols); syB.assign_from_sparse(rowIndex, colIndex, values, permutationVec, permutationVec); std::vector valuesCopy; syB.get_values(rowIndex, colIndex, valuesCopy, permutationVec, permutationVec); for (unsigned int ind = 0; ind < values.size(); ++ind) { assert(values[ind] == valuesCopy[ind]); } } } /* Test fullMatrix */ { std::vector fullMat; A.fullMatrix(fullMat, inversePermutationVec, inversePermutationVec); for (unsigned int ind = 0; ind < fullMat.size(); ++ind) assert(fullMat[ind] == fullMatRef[ind]); } } /* End: Symmetric matrices - Test assignments using permutation. */ /**** Triangular matrices. */ { triangMatrix trA, trB; trA.resetSizesAndBlocks(rows,cols); trA.random(); trA.add_identity(100); trB = trA; triangMatrix trC(trA); /* Test copy */ /* Test get_values and assignment and copy */ std::vector valuesA; trA.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesA); std::vector valuesB; trB.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesB); std::vector valuesC; trC.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesC); assert(valuesA.size() == valuesB.size()); assert(valuesA.size() == valuesC.size()); for (unsigned int ind = 0; ind < valuesA.size(); ++ind) { assert(valuesA[ind] == valuesB[ind]); assert(valuesA[ind] == valuesC[ind]); } /* Test get_all_values */ std::vector rowindexA2; std::vector colindexA2; std::vector valuesA2; trA.get_all_values(rowindexA2, colindexA2, valuesA2); int row = 0; int col = 0; int offset = 0; for (unsigned int ind = 0; ind < valuesA2.size(); ++ind) { row = rowindexA2[ind]; col = colindexA2[ind]; offset = 0; for (int indOff = 1; indOff <= col; ++indOff) offset = offset + indOff; assert(valuesA2[ind] == valuesA[offset + row]); } /* Test assign_from_sparse */ triangMatrix trD; trD.assign_from_sparse(rowindexUpperTriangle, colindexUpperTriangle, valuesA, rows, cols); std::vector valuesD; trD.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesD); assert(valuesA.size() == valuesD.size()); for (unsigned int ind = 0; ind < valuesA.size(); ++ind) assert(valuesA[ind] == valuesD[ind]); } /* End of triangular matrices test. */ /******** Test assign with permutation (again) */ { normalMatrix A, B; real myReals[] = {3.4, 65.246, 234.23456, 655.1235}; std::vector values (myReals, myReals+4); int myRowInds[] = {size/4, size/3, size/2, size-1}; std::vector rowInd (myRowInds, myRowInds+4); int myColInds[] = {size/5, size/3, size/2, size-1}; std::vector colInd (myColInds, myColInds+4); std::vector perm(size); for (unsigned int ind = 0; ind < perm.size(); ++ind) perm[ind] = (int)ind; std::random_shuffle ( perm.begin(), perm.end() ); A.assign_from_sparse(rowInd, colInd, values, rows, cols, perm, perm); std::vector invPerm(size); for (unsigned int ind = 0; ind < perm.size(); ++ind) invPerm[perm[ind]] = (int)ind; std::vector rowIndConfirm; std::vector colIndConfirm; std::vector valuesConfirm; A.get_all_values(rowIndConfirm, colIndConfirm, valuesConfirm, invPerm,invPerm); #if 0 // print out content: std::cout << "row, col, val:\n"; for (unsigned int ind = 0;ind < values.size(); ++ind) std::cout << rowInd[ind] << ", " << colInd[ind] << ", " << values[ind] << std::endl; std::cout << "row, col, val (conf):\n"; for (unsigned int ind = 0;ind < valuesConfirm.size(); ++ind) std::cout << rowIndConfirm[ind] << ", " << colIndConfirm[ind] << ", " << valuesConfirm[ind] << std::endl; // A.resetSizesAndBlocks(rows,cols); #endif } /****** Test assign from full, general matrix */ { std::vector fullMat(size*size); for (unsigned int ind = 0; ind < fullMat.size(); ++ind) fullMat[ind] = (rand() / (real)RAND_MAX); normalMatrix A; A.resetSizesAndBlocks(rows,cols); A.assignFromFull(fullMat); std::vector fullMatCopy(size*size); A.fullMatrix(fullMatCopy); assert(maxdiff(fullMat, fullMatCopy) < epsilon); } /* End: Test assign from full */ /****** Test assign from full, symmetric matrix */ { std::vector fullMat(size*size); real randomNumber; for (int col = 0; col < size; ++col) for (int row = 0; row < size; ++row) { randomNumber = (rand() / (real)RAND_MAX); fullMat[row + col * size] = randomNumber; fullMat[col + row * size] = randomNumber; } symmMatrix syA; syA.resetSizesAndBlocks(rows,cols); syA.assignFromFull(fullMat); std::vector fullMatCopy(size*size); syA.fullMatrix(fullMatCopy); assert(maxdiff(fullMat, fullMatCopy) < epsilon); } /* End: Test assign from full */ /****** Test assign from full using permutation */{ /* Get a random permutation */ std::vector permutationVec(size); for (int ind = 0; ind < size; ++ind ) permutationVec[ind] = ind; std::random_shuffle ( permutationVec.begin(), permutationVec.end() ); /* Get inverse permutation */ std::vector inversePermutationVec(size); for (int ind = 0; ind < size; ++ind) { inversePermutationVec[permutationVec[ind]] = ind; } std::vector fullMat(size*size); real randomNumber; for (int col = 0; col < size; ++col) for (int row = 0; row < size; ++row) { randomNumber = (rand() / (real)RAND_MAX); fullMat[row + col * size] = randomNumber; fullMat[col + row * size] = randomNumber; } symmMatrix syA; syA.resetSizesAndBlocks(rows,cols); syA.assignFromFull(fullMat,permutationVec, permutationVec); std::vector fullMatCopy(size*size); syA.fullMatrix(fullMatCopy, inversePermutationVec, inversePermutationVec); std::cout<<" Max Absolute Error: " < valuesA; syA.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesA); std::vector valuesB; B.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesB); std::vector valuesC; C.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesC); std::vector valuesD; syD.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesD); std::vector valuesE; syE.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesE); assert(valuesA.size() == valuesB.size()); assert(valuesA.size() == valuesC.size()); assert(valuesA.size() == valuesD.size()); assert(valuesA.size() == valuesE.size()); for (unsigned int ind = 0; ind < valuesA.size(); ++ind) { assert(valuesA[ind] == valuesB[ind]); assert(valuesA[ind] == valuesC[ind]); assert(valuesA[ind] == valuesD[ind]); assert(valuesA[ind] == valuesE[ind]); } } /* End of copy between symmetric and general matrix types. */ /* Test copy and assignment from triangular to general matrix type * Nothing should really go wrong here. */ { triangMatrix trA; trA.resetSizesAndBlocks(rows,cols); trA.random(); normalMatrix B(trA); normalMatrix C; C = trA; std::vector valuesA; trA.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesA); std::vector valuesB; B.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesB); std::vector valuesC; C.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesC); assert(valuesA.size() == valuesB.size()); assert(valuesA.size() == valuesC.size()); for (unsigned int ind = 0; ind < valuesA.size(); ++ind) { assert(valuesA[ind] == valuesB[ind]); assert(valuesA[ind] == valuesC[ind]); } } /* End of test of copy from triangular to general matrix type */ /* ********* First gemm test: C = alpha * A * B */ { const real zero = 0.0; const real alpha = 2.346; normalMatrix A, B, C; A.resetSizesAndBlocks(rows,cols); A.randomZeroStructure(0.7); //A.random(); B.resetSizesAndBlocks(rows,cols); B.randomZeroStructure(0.7); //B.random(); std::vector valuesA; A.get_values(rowindex, colindex, valuesA); std::vector valuesB; B.get_values(rowindex, colindex, valuesB); std::vector valuesCblas(valuesA.size(),0); std::cout<<"\nMatrix multiply test: \n"; gemm("N", "N", &size, &size, &size, &alpha, &valuesA[0], &size, &valuesB[0], &size, &zero, &valuesCblas[0], &size); C = alpha * A * B; std::vector valuesC; C.get_values(rowindex, colindex, valuesC); std::cout<<" Max Absolute Error: " < valuesA; A.get_values(rowindex, colindex, valuesA); std::vector valuesB; B.get_values(rowindex, colindex, valuesB); std::vector valuesCblas; C.get_values(rowindex, colindex, valuesCblas); std::cout<<"\nTransposed matrix multiply test: \n"; gemm("T", "N", &size, &size, &size, &alpha, &valuesA[0], &size, &valuesB[0], &size, &beta, &valuesCblas[0], &size); C = alpha * transpose(A) * B + beta * C; std::vector valuesC; C.get_values(rowindex, colindex, valuesC); std::cout<<" Max Absolute Error: " < valuesAPacked; syA.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesAPacked); std::vector valuesB; B.get_values(rowindex, colindex, valuesB); std::vector valuesCblas; C.get_values(rowindex, colindex, valuesCblas); std::vector valuesA(valuesB.size(),0); packedtofull(&valuesAPacked[0], &valuesA[0], size); std::cout<<"\nSymmetric matrix mul (symm) test: \n"; symm("L", "U", &size, &size, &alpha, &valuesA[0], &size, &valuesB[0], &size, &beta, &valuesCblas[0], &size); C = alpha * syA * B + beta * C; std::vector valuesC; C.get_values(rowindex, colindex, valuesC); std::cout<<" Max Absolute Error: " < valuesA; A.get_values(rowindex, colindex, valuesA); std::vector valuesBPacked; syB.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesBPacked); std::vector valuesBblas(valuesA.size(),0); packedtofull(&valuesBPacked[0], &valuesBblas[0], size); std::cout<<"\nSymmetric rank-k update (syrk) test: \n"; syrk("U", "N", &size, &size, &alpha, &valuesA[0], &size, &beta, &valuesBblas[0], &size); syB = alpha * A * transpose(A) + beta * syB; syB.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesBPacked); std::vector valuesB(valuesA.size(),0); packedtofull(&valuesBPacked[0], &valuesB[0], size); std::cout<<" Max Absolute Error: " < valuesAPacked; syA.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesAPacked); std::vector valuesBPacked; syB.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesBPacked); std::vector valuesA(size * size,0); packedtofull(&valuesAPacked[0], &valuesA[0], size); std::vector valuesBblas(size * size,0); packedtofull(&valuesBPacked[0], &valuesBblas[0], size); std::cout<<"\nSymmetric matrix square test: \n"; gemm("N", "N", &size, &size, &size, &alpha, &valuesA[0], &size, &valuesA[0], &size, &beta, &valuesBblas[0], &size); syB = alpha * syA * syA + beta * syB; syB.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesBPacked); std::vector valuesB(size * size, 0); packedtofull(&valuesBPacked[0], &valuesB[0], size); std::cout<<" Max Absolute Error: " < valuesAPacked; syA.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesAPacked); std::vector valuesA(size * size,0); packedtofull(&valuesAPacked[0], &valuesA[0], size); std::vector valuesBPacked; syB.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesBPacked); std::vector valuesB(size * size,0); packedtofull(&valuesBPacked[0], &valuesB[0], size); std::vector valuesCblas; C.get_values(rowindex, colindex, valuesCblas); std::cout<<"\nSymmetric-symmetric matrix multiply test: \n"; gemm("N", "N", &size, &size, &size, &alpha, &valuesA[0], &size, &valuesB[0], &size, &beta, &valuesCblas[0], &size); C = alpha * syA * syB + beta * C; std::vector valuesC; C.get_values(rowindex, colindex, valuesC); std::cout<<" Max Absolute Error: " < valuesAPacked; trA.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesAPacked); std::vector valuesA(size * size,0); tripackedtofull(&valuesAPacked[0], &valuesA[0], size); std::vector valuesCblas; C.get_values(rowindex, colindex, valuesCblas); std::cout<<"\nTriangular-general matrix multiply test 1: \n"; trmm("L", "U", "T", "N", &size, &size, &alpha, &valuesA[0], &size, &valuesCblas[0], &size); C = alpha * transpose(trA) * C; std::vector valuesC; C.get_values(rowindex, colindex, valuesC); std::cout<<" Max Absolute Error: " < valuesAPacked; trA.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesAPacked); std::vector valuesA(size * size,0); tripackedtofull(&valuesAPacked[0], &valuesA[0], size); std::vector valuesCblas; C.get_values(rowindex, colindex, valuesCblas); std::cout<<"\nTriangular-general matrix multiply test 2: \n"; trmm("R", "U", "N", "N", &size, &size, &alpha, &valuesA[0], &size, &valuesCblas[0], &size); C = alpha * C * trA; std::vector valuesC; C.get_values(rowindex, colindex, valuesC); std::cout<<" Max Absolute Error: " < valuesA; A.get_values(rowindex, colindex, valuesA); std::cout<<"\nFrobenius norm (general matrix) test: \n"; real frobNormRefValue = 0; for (unsigned int ind = 0; ind < valuesA.size(); ++ind) { frobNormRefValue += valuesA[ind] * valuesA[ind]; } frobNormRefValue = template_blas_sqrt(frobNormRefValue); real frobNorm = A.frob(); std::cout<<" Absolute Difference: " < valuesAPacked; syA.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesAPacked); std::vector valuesA(size * size,0); packedtofull(&valuesAPacked[0], &valuesA[0], size); std::cout<<"\nFrobenius norm (symmetric matrix) test: \n"; real frobNormRefValue = 0; for (unsigned int ind = 0; ind < valuesA.size(); ++ind) { frobNormRefValue += valuesA[ind] * valuesA[ind]; } frobNormRefValue = template_blas_sqrt(frobNormRefValue); real frobNorm = syA.frob(); std::cout<<" Absolute Difference: " < valuesAPacked; trA.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesAPacked); std::vector valuesA(size * size,0); tripackedtofull(&valuesAPacked[0], &valuesA[0], size); std::cout<<"\nFrobenius norm (triangular matrix) test: \n"; real frobNormRefValue = 0; for (unsigned int ind = 0; ind < valuesA.size(); ++ind) { frobNormRefValue += valuesA[ind] * valuesA[ind]; } frobNormRefValue = template_blas_sqrt(frobNormRefValue); real frobNorm = trA.frob(); std::cout<<" Absolute Difference: " < valuesA; A.get_values(rowindex, colindex, valuesA); std::vector valuesB; B.get_values(rowindex, colindex, valuesB); std::cout<<"\nWrite to file (general matrix) test: \n"; std::cout<<" Absolute Error: " < valuesA; A.get_values(rowindex, colindex, valuesA); std::cout<<"\nTrace (general matrix) test: \n"; real traceRefValue = 0; for (int rc = 0; rc < size; ++rc) { traceRefValue += valuesA[rc * size + rc]; } real traceValue = A.trace(); std::cout<<" Absolute Difference: " < valuesA; A.get_values(rowindex, colindex, valuesA); B.resetSizesAndBlocks(rows,cols); B.randomZeroStructure(0.7); // B.random(); std::vector valuesB; B.get_values(rowindex, colindex, valuesB); std::cout<<"\nAddition (general matrix) test: \n"; C = A + B; std::vector valuesC; C.get_values(rowindex, colindex, valuesC); std::vector valuesCRef(valuesA.size(),0); for (unsigned int ind = 0; ind < valuesA.size(); ++ind) valuesCRef[ind] = valuesA[ind] + valuesB[ind]; std::cout<<" Absolute Difference: " < valuesA; A.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesA); B.resetSizesAndBlocks(rows,cols); B.randomZeroStructure(0.7); // B.random(); std::vector valuesB; B.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesB); std::cout<<"\nAddition (symmetric matrix) test: \n"; C = A + B; std::vector valuesC; C.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesC); std::vector valuesCRef(valuesA.size(),0); for (unsigned int ind = 0; ind < valuesA.size(); ++ind) valuesCRef[ind] = valuesA[ind] + valuesB[ind]; std::cout<<" Absolute Difference: " < valuesAblas; noA.get_values(rowindex, colindex, valuesAblas); trZ.resetSizesAndBlocks(rows,cols); trZ.random(); std::vector valuesZPacked; trZ.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesZPacked); std::vector valuesZ(size * size,0); tripackedtofull(&valuesZPacked[0], &valuesZ[0], size); std::cout<<"\nTriple matrix multiply test 1: \n"; trmm("L", "U", "T", "N", &size, &size, &ONE, &valuesZ[0], &size, &valuesAblas[0], &size); trmm("R", "U", "N", "N", &size, &size, &ONE, &valuesZ[0], &size, &valuesAblas[0], &size); syA = transpose(trZ) * syA * trZ; std::vector valuesA; noA = syA; noA.get_values(rowindex, colindex, valuesA); std::cout<<" Max Absolute Error: " < valuesAblas; noA.get_values(rowindex, colindex, valuesAblas); trZ.resetSizesAndBlocks(rows,cols); trZ.random(); std::vector valuesZPacked; trZ.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesZPacked); std::vector valuesZ(size * size,0); tripackedtofull(&valuesZPacked[0], &valuesZ[0], size); std::cout<<"\nTriple matrix multiply test 2: \n"; trmm("L", "U", "N", "N", &size, &size, &ONE, &valuesZ[0], &size, &valuesAblas[0], &size); trmm("R", "U", "T", "N", &size, &size, &ONE, &valuesZ[0], &size, &valuesAblas[0], &size); syA = trZ * syA * transpose(trZ); std::vector valuesA; noA = syA; noA.get_values(rowindex, colindex, valuesA); std::cout<<" Max Absolute Error: " < 0; --nr) { thr = pow((real)10,-nr+2); noB = noA; noB.frob_thresh(thr); noB += -ONE * noA; frobE = noB.frob(); std::cout<<"\nFrobenius thresholding test "<()) { symmMatrix syA; triangMatrix trZ; syA.resetSizesAndBlocks(rows,cols); syA.randomZeroStructure(0.7); // syA.random(); syA.add_identity(100.0); std::vector valuesZPackedLapack; syA.get_values(rowindexUpperTriangle, colindexUpperTriangle, valuesZPackedLapack); // for (int ind = 0; ind < valuesZPackedLapack.size();ind++) // std::cout<< valuesZPackedLapack[ind] << " "; std::cout<<"\nInverse Cholesky test: \n"; pptrf("U",&size,&valuesZPackedLapack[0],&info); if (info) {std::cout<<"Error in Lapack: pptrf info="< valuesA; noA.get_values(rowindex, colindex, valuesA); /* Compute reference */ real refMin; real refMax; std::vector colAbsSums(size); for (int col = 0; col < size; ++col) { colAbsSums[col] = 0; for (int row = 0; row < size; ++row) colAbsSums[col] += template_blas_fabs(valuesA[col*size+row]); } std::vector diag(size); for (int rc = 0; rc < size; ++rc) diag[rc] = valuesA[rc*size+rc]; real tmp1 = colAbsSums[0] - template_blas_fabs(diag[0]); real tmp2; refMin = diag[0] - tmp1; refMax = diag[0] + tmp1; for (int col = 1; col < size; col++) { tmp1 = colAbsSums[col] - template_blas_fabs(diag[col]); tmp2 = diag[col] - tmp1; refMin = (tmp2 < refMin ? tmp2 : refMin); tmp2 = diag[col] + tmp1; refMax = (tmp2 > refMax ? tmp2 : refMax); } std::cout<<"\nGershgorin eigenvalue bounds test: \n"; real gersMin; real gersMax; syA.gershgorin(gersMin, gersMax); std::cout <<"Reference: " <= sizeof(real) * (size+1)*size/2 && syA.memory_usage() <= sizeof(real) * size * size) std::cout<<" OK" < valuesA; noA.get_values(rowindex, colindex, valuesA); testAccumulation(syA, size, &valuesA[0]); } /* End of accumulation test */ /******* Test of vectors ***************************************/ /**** Vectors: construct, copy, and assign. */ { std::cout<<"\nVector contructors, copy, and assignment test: "; normalVector a, b; a.resetSizesAndBlocks(rows); a.rand(); b = a; /* Test assignment. */ normalVector c(a); /* Test copy constructor. */ std::vector full_a; a.fullvector(full_a); std::vector full_b; b.fullvector(full_b); std::vector full_c; c.fullvector(full_c); assert(full_a.size() == full_b.size()); assert(full_a.size() == full_c.size()); for (unsigned int ind = 0; ind < full_a.size(); ++ind) { assert(full_a[ind] == full_b[ind]); assert(full_a[ind] == full_c[ind]); } std::cout<<"OK" < valuesa; a.fullvector(valuesa); b.resetSizesAndBlocks(rows); b.rand(); /* normalized rand */ std::vector valuesbRef; b.fullvector(valuesbRef); std::vector valuesb; b += alpha * a; b.fullvector(valuesb); for (unsigned int ind = 0; ind < valuesbRef.size(); ++ind) { valuesbRef[ind] += alpha * valuesa[ind]; } std::cout<<"\naxpy test: \n Error: " < valuesA; A.get_values(rowindex, colindex, valuesA); normalVector b,c; b.resetSizesAndBlocks(rows); b.rand(); std::vector valuesb; b.fullvector(valuesb); std::vector valuescBlas(valuesb.size()); std::vector valuesc; gemv("N", &size, &size, &alpha, &valuesA[0], &size, &valuesb[0], &ONEint, &ZEROreal, &valuescBlas[0], &ONEint); c = alpha * A * b; c.fullvector(valuesc); std::cout<<"\nMatrix-vector product test 1: \n Max Absolute Error: " < valuesA; A.get_values(rowindex, colindex, valuesA); normalVector b,c; b.resetSizesAndBlocks(rows); b.rand(); c.resetSizesAndBlocks(rows); c.rand(); std::vector valuesb; b.fullvector(valuesb); std::vector valuescBlas; c.fullvector(valuescBlas); std::vector valuesc; gemv("T", &size, &size, &alpha, &valuesA[0], &size, &valuesb[0], &ONEint, &ONEreal, &valuescBlas[0], &ONEint); c += alpha * transpose(A) * b; c.fullvector(valuesc); std::cout<<"\nMatrix-vector product test 2: \n Max Absolute Error: " < valuesA; A.get_values(rowindex, colindex, valuesA); normalVector b,c; b.resetSizesAndBlocks(rows); b.rand(); c.resetSizesAndBlocks(rows); c.rand(); std::vector valuesb; b.fullvector(valuesb); std::vector valuescBlas; c.fullvector(valuescBlas); std::vector valuesc; gemv("T", &size, &size, &alpha, &valuesA[0], &size, &valuesb[0], &ONEint, &beta, &valuescBlas[0], &ONEint); c = alpha * transpose(A) * b + beta * c; c.fullvector(valuesc); std::cout<<"\nMatrix-vector product test 3: \n Max Absolute Error: " < valuesA; noA.get_values(rowindex, colindex, valuesA); normalVector b,c; b.resetSizesAndBlocks(rows); b.rand(); std::vector valuesb; b.fullvector(valuesb); std::vector valuescBlas(valuesb.size()); std::vector valuesc; symv("U", &size, &alpha, &valuesA[0], &size, &valuesb[0], &ONEint, &ZEROreal, &valuescBlas[0], &ONEint); c = alpha * syA * b; c.fullvector(valuesc); std::cout<<"\nSymm Matrix-vector product test 1: \n Max Absolute Error: " < valuesA; noA.get_values(rowindex, colindex, valuesA); normalVector b,c; b.resetSizesAndBlocks(rows); b.rand(); c.resetSizesAndBlocks(rows); c.rand(); std::vector valuesb; b.fullvector(valuesb); std::vector valuescBlas; c.fullvector(valuescBlas); std::vector valuesc; symv("U", &size, &alpha, &valuesA[0], &size, &valuesb[0], &ONEint, &ONEreal, &valuescBlas[0], &ONEint); c += alpha * syA * b; c.fullvector(valuesc); std::cout<<"\nSymm Matrix-vector product test 2: \n Max Absolute Error: " < valuesA; noA.get_values(rowindex, colindex, valuesA); normalVector b,c; b.resetSizesAndBlocks(rows); b.rand(); c.resetSizesAndBlocks(rows); c.rand(); std::vector valuesb; b.fullvector(valuesb); std::vector valuescBlas; c.fullvector(valuescBlas); std::vector valuesc; symv("U", &size, &alpha, &valuesA[0], &size, &valuesb[0], &ONEint, &beta, &valuescBlas[0], &ONEint); c = alpha * syA * b + beta * c; c.fullvector(valuesc); std::cout<<"\nSymm Matrix-vector product test 3: \n Max Absolute Error: " < valuesA; noA.get_values(rowindex, colindex, valuesA); #if 0 std::cout << "TRIANG EUCL NORM: " << trA.eucl(1e-4,400) < valuesx; std::vector valuesxBlas; x.fullvector(valuesx); x.fullvector(valuesxBlas); trmv("U","N","N", &size, &valuesA[0], &size, &valuesxBlas[0], &ONEint); x = trA * x; x.fullvector(valuesx); std::cout<<"\nTriang Matrix-vector product test 1: \n Max Absolute Error: " < valuesA; noA.get_values(rowindex, colindex, valuesA); normalVector x; x.resetSizesAndBlocks(rows); x.rand(); std::vector valuesx; std::vector valuesxBlas; x.fullvector(valuesx); x.fullvector(valuesxBlas); trmv("U","T","N", &size, &valuesA[0], &size, &valuesxBlas[0], &ONEint); x = transpose(trA) * x; x.fullvector(valuesx); std::cout<<"\nTriang Matrix-vector product test 2: \n Max Absolute Error: " <()) { /********** Test Lanczos */ real const ONEreal = 1.0; real lanEpsilon = epsilon*1e-1; symmMatrix syA; syA.resetSizesAndBlocks(rows,cols); syA.randomZeroStructure(0.3); // syA.random(); normalVector x; x.resetSizesAndBlocks(rows); x.rand(); int maxit = 400; myLanczosType lan(syA, x, maxit); lan.setAbsTol( lanEpsilon ); lan.run(); real eigenValue = 0; real accuracy = 0; lan.getLargestMagnitudeEig(eigenValue, accuracy); normalVector eigenVec; lan.getLargestMagnitudeEigPair(eigenValue, eigenVec, accuracy); normalVector resVec(eigenVec); resVec *= eigenValue; resVec += -ONEreal * syA * eigenVec; std::cout<<"\nLanczos largest magnitude test : \n" <<" Requested accuracy: " <() * 100)) std::cout<<" OK" <()) { /**** Test Lanczos again for a difficult matrix (this test added by Elias 2010-03-20) */ for(int kk = 0; kk < 20; kk++) { real const ONEreal = 1.0; symmMatrix syA; int sizeTmp = 5; int nlevelsTmp = 3; std::vector blockSizesTmp(nlevelsTmp); blockSizesTmp[nlevelsTmp - 1] = 1; blockSizesTmp[nlevelsTmp - 2] = 1; blockSizesTmp[nlevelsTmp - 3] = 5; SizesAndBlocks rowsTmp(blockSizesTmp, sizeTmp); SizesAndBlocks colsTmp(blockSizesTmp, sizeTmp); syA.resetSizesAndBlocks(rowsTmp,colsTmp); // The 5 by 5 test matrix is zero except three values on the // diagonal. This particular matrix appeared as the X-X2 matrix // in purification in one of the ergo tests. std::vector fullMat(5*5); for(int i = 0; i < 5*5; i++) fullMat[i] = 0; fullMat[2*5+2] = 0.062498936885316151713; fullMat[3*5+3] = 0.062498936885437686439; fullMat[4*5+4] = 0.062498936885316151713; real correctNormValue = 0.062498936885437686439; syA.assignFromFull(fullMat); normalVector x; x.resetSizesAndBlocks(rowsTmp); x.rand(); int maxit = 400; real requestedAccuracy = 1e-13; // The value 5.55e-14 was used in purification. myLanczosType lan(syA, x, maxit); lan.setAbsTol( requestedAccuracy ); lan.run(); real eigenValue = 0; real accuracy = 0; lan.getLargestMagnitudeEig(eigenValue, accuracy); normalVector eigenVec; lan.getLargestMagnitudeEigPair(eigenValue, eigenVec, accuracy); normalVector resVec(eigenVec); resVec *= eigenValue; resVec += -ONEreal * syA * eigenVec; std::cout<<"\nLanczos largest magnitude test again (" << kk << ") : \n" << " Requested accuracy: " <() * 100) && template_blas_fabs(correctNormValue-eigenValue) < requestedAccuracy) std::cout<<" OK" <()) { /********** Test Lanczos for diffmatrix */ // real const ONEreal = 1.0; real lanEpsilon = epsilon*1e-1; symmMatrix syA; syA.resetSizesAndBlocks(rows,cols); syA.randomZeroStructure(0.3); symmMatrix syB; syB.resetSizesAndBlocks(rows,cols); std::vector rowindex(1); rowindex[0] = 0; std::vector colindex(1); colindex[0] = 0; std::vector values_tmp(1); values_tmp[0] = 1; symmMatrix tmp; tmp.assign_from_sparse(rowindex, colindex, values_tmp, rows, cols); syB = syA + tmp; normalVector x; x.resetSizesAndBlocks(rows); x.rand(); int maxit = 400; DiffMatrix Diff(syA,syB); arn::LanczosLargestMagnitudeEig , normalVector> lan(Diff, x, maxit); lan.setAbsTol( lanEpsilon ); lan.run(); real eigenValue = 0; real accuracy = 0; lan.getLargestMagnitudeEig(eigenValue, accuracy); std::cout<<"\nLanczos largest magnitude test (Diff matrix) : \n" <<" Requested accuracy: " < er; syA.setElementsByRule(er); #else syA.randomZeroStructure(0.1); // syA.random(); #endif symmMatrix syB; for (int nr = ntests; nr > 0; --nr) { thr = pow((real)10,-nr+2); syB = syA; syB.eucl_thresh(thr); syB += -ONE * syA; std::cout<<"\nEuclidean truncation test, symmetric matrices "< er; syA.setElementsByRule(er); #else syA.randomZeroStructure(0.1); // syA.random(); #endif symmMatrix syB; for (int nr = ntests; nr > 0; --nr) { thr = pow((real)10,-nr+2); syB = syA; std::cout <<"mixed norm res: " << syB.mixed_norm_thresh(thr) << std::endl; syB += -ONE * syA; std::cout<<"\nMixed norm truncation test, symmetric matrices "< er; trA.setElementsByRule(er); triangMatrix trB; for (int nr = ntests; nr > 0; --nr) { thr = pow((real)10,-nr+2); trB = trA; trB.eucl_thresh(thr); trB += -ONE * trA; std::cout<<"\nEuclidean truncation test, triangular matrices "< er; noA.setElementsByRule(er); normalMatrix noB; for (int nr = ntests; nr > 0; --nr) { thr = pow((real)10,-nr+2); noB = noA; noB.eucl_thresh(thr); noB += -ONE * noA; std::cout<<"\nEuclidean truncation test, general matrices "< er; trZ.setElementsByRule(er); triangMatrix trZCopy(trZ); std::cout<<"\nTest truncation with triple matrix measure: \n"; syARef = transpose(trZ) * syARef * trZ; real thr = 0.01; real reported_error = trZ.eucl_thresh_congr_trans_measure(thr, syA); syA = transpose(trZ) * syA * trZ; syA += -ONE * syARef; real err = syA.eucl(1e-7); std::cout<<"\n Requested threshold:" < blockSizes(nlevels); blockSizes[nlevels - 1] = 1; blockSizes[nlevels - 2] = 1; blockSizes[nlevels - 3] = 32; std::cout << "Running tests with blocksize vector: "; for (int ind = 0; ind < nlevels; ind++) std::cout << blockSizes[ind] << " "; std::cout << std::endl; SizesAndBlocks rows2(blockSizes, size); SizesAndBlocks cols2(blockSizes, size); // Now we have rows2 and cols2, now we do the test again real ONE = 1.0; symmMatrix syA; syA.resetSizesAndBlocks(rows2,cols2); syA.randomZeroStructure(0.7); symmMatrix syARef(syA); triangMatrix trZ; trZ.resetSizesAndBlocks(rows2,cols2); expRule er; trZ.setElementsByRule(er); triangMatrix trZCopy(trZ); std::cout<<"\nTest truncation with triple matrix measure again: \n"; syARef = transpose(trZ) * syARef * trZ; real thr = 0.01; real reported_error = trZ.eucl_thresh_congr_trans_measure(thr, syA); syA = transpose(trZ) * syA * trZ; syA += -ONE * syARef; real err = syA.eucl(1e-7); std::cout<<"\n Requested threshold:" <(argc,argv)) { std::cout <<"Matrix library tests with double precision completed successfully!" <(argc,argv)) std::cout <<"Matrix library tests with single precision completed successfully!" < static Treal maxdiff(std::vector const & f1, std::vector const & f2) { Treal diff = 0; Treal tmpdiff; assert(f1.size() == f2.size()); for(unsigned int i = 0; i < f1.size(); i++) { tmpdiff = template_blas_fabs(f1[i] - f2[i]); if (tmpdiff > 0) { diff = (diff > tmpdiff ? diff : tmpdiff); } } return diff; } template static Treal maxdiff_tri(const Treal* f1,const Treal* f2,int size) { Treal diff = 0; Treal tmpdiff; for (int col = 0; col < size; col++) for (int row = 0; row < col + 1; row++) { tmpdiff = template_blas_fabs(f1[col * size + row] - f2[col * size + row]); diff = (diff > tmpdiff ? diff : tmpdiff); } return diff; } template static Treal frobdiff(const Treal* f1,const Treal* f2,int size) { Treal diff = 0; Treal tmp; for(int i = 0; i < size * size; i++) { tmp = f1[i] - f2[i]; diff += tmp * tmp; } return template_blas_sqrt(diff); } ergo-3.5/source/matrix/AllocatorManager.cc0000664000175000017500000000340312743400307015566 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "AllocatorManager.h" namespace mat { template<> AllocatorManager & AllocatorManager::instance() { static AllocatorManager theInstance; return theInstance; } template<> AllocatorManager & AllocatorManager::instance() { static AllocatorManager theInstance; return theInstance; } template<> AllocatorManager & AllocatorManager::instance() { static AllocatorManager theInstance; return theInstance; } } /* end namespace mat */ ergo-3.5/source/matrix/matInclude.h0000664000175000017500000001210212743400307014276 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file matInclude.h * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson @a responsible @a author * @date October 2006 * */ #ifndef MAT_MATINCLUDE #define MAT_MATINCLUDE #include #include #include #include #include #include #include #include #ifdef _OPENMP #include #endif /* We need to include config.h to get the USE_SSE_INTRINSICS flag. */ #include "config.h" #include "Failure.h" #include "DebugPolicies.h" #include "SizesAndBlocks.h" #include "Memory_buffer_thread.h" #ifdef _OPENMP #define MAT_OMP_INIT enum omp_failType {noFail = 0, standardFail, runtimeFail, matFail}; \ volatile omp_failType omp_fail = noFail; \ std::exception omp_exce; \ std::runtime_error omp_runtime(""); \ Failure omp_matFail; \ omp_set_nested(true); // if (omp_fail == noFail) { #define MAT_OMP_START try { #define MAT_OMP_END } \ catch(Failure & omp_fail_caught) { \ omp_fail = matFail; omp_matFail = omp_fail_caught; } \ catch(std::runtime_error & omp_runtime_caught) { \ omp_fail = runtimeFail; omp_runtime = omp_runtime_caught; } \ catch(std::exception & omp_exce_caught) { \ omp_fail = standardFail; omp_exce = omp_exce_caught; \ } #define MAT_OMP_FINALIZE if(omp_fail) \ { std::cerr<<"Exception was thrown in OpenMP parallel region\n"; \ switch (omp_fail) { \ case standardFail: throw omp_exce; break; \ case runtimeFail: throw omp_runtime; break; \ case matFail: throw omp_matFail; break; \ default: throw Failure("Odd error in omp parallel loop\n");} \ } #else #define MAT_OMP_INIT #define MAT_OMP_START #define MAT_OMP_END #define MAT_OMP_FINALIZE #endif namespace mat{ class Params { protected: #ifdef _OPENMP static unsigned int nProcs; static unsigned int matrixParallelLevel; #endif public: static unsigned int getNProcs() { #ifdef _OPENMP if (nProcs == 0) throw Failure("mat::Params::getNProcs(): nProcs == 0 Forgot to call setNProcs()?"); return nProcs; #else return 1; #endif } static void setNProcs(unsigned int const nP) { #ifdef _OPENMP nProcs = nP; #ifdef USE_SSE_INTRINSICS Memory_buffer_thread::instance().init_buffers(nProcs); #endif #endif } static unsigned int getMatrixParallelLevel() { #ifdef _OPENMP if (matrixParallelLevel == 0) throw Failure("mat::Params::getMatrixParallelLevel(): matrixParallelLevel == 0 Forgot to call setMatrixParallelLevel()?"); return matrixParallelLevel; #else return 0; #endif } static void setMatrixParallelLevel(unsigned int const mPL) { #ifdef _OPENMP matrixParallelLevel = mPL; #endif } }; enum property {zero, ful}; enum normType {frobNorm, euclNorm, mixedNorm}; normType getNormType(const char* normStr); std::string getNormTypeString(normType nType); template inline static Treal getRelPrecision() { throw Failure("getPrecision() : The used type is not supported by" " getPrecision() "); } template<> inline long double getRelPrecision() { return std::numeric_limits::epsilon(); } template<> inline double getRelPrecision() { return std::numeric_limits::epsilon(); } template<> inline float getRelPrecision() { return std::numeric_limits::epsilon(); } class Time { static double get_wall_seconds(); double ticTime; public: Time(); void tic(); float toc(); }; class MemUsage { private: static int getNumberFromBuffer(const char* buffer, const char* s); public: struct Values { float res; float virt; float peak; Values() : res(0), virt(0), peak(0) { } }; static void getMemUsage(Values & values); }; } /* end namespace mat */ #endif ergo-3.5/source/matrix/general.h0000664000175000017500000001372312743400307013640 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MAT_GENERAL #define MAT_GENERAL #include namespace mat { template static Treal maxdiff(const Treal* f1,const Treal* f2,int size) { Treal diff = 0; Treal tmpdiff; for(int i = 0; i < size * size; i++) { tmpdiff = template_blas_fabs(f1[i] - f2[i]); if (tmpdiff > 0) diff = (diff > tmpdiff ? diff : tmpdiff); } return diff; } template static Treal maxdiff_tri(const Treal* f1,const Treal* f2,int size) { Treal diff = 0; Treal tmpdiff; for (int col = 0; col < size; col++) for (int row = 0; row < col + 1; row++) { tmpdiff = template_blas_fabs(f1[col * size + row] - f2[col * size + row]); diff = (diff > tmpdiff ? diff : tmpdiff); } return diff; } template static Treal frobdiff(const Treal* f1,const Treal* f2,int size) { Treal diff = 0; Treal tmp; for(int i = 0; i < size * size; i++) { tmp = f1[i] - f2[i]; diff += tmp * tmp; } return template_blas_sqrt(diff); } #if 0 template static void fileread(T *ptr,int size,FILE*) { std::cout<<"error reading file"< void fileread(double *ptr,int size,FILE* file) { fread(ptr,sizeof(double),size*size,file); } template<> void fileread(float *ptr,int size,FILE* file) { double* tmpptr=new double [size*size]; fread(tmpptr,sizeof(double),size*size,file); for (int i=0;i static void fileread(Treal *ptr, int size, FILE* file) { if (sizeof(Trealonfile) == sizeof(Treal)) fread(ptr,sizeof(Treal),size,file); else { Trealonfile* tmpptr=new Trealonfile[size]; fread(tmpptr,sizeof(Trealonfile),size,file); for (int i = 0; i < size; i++) { ptr[i]=(Treal)tmpptr[i]; } delete[] tmpptr; } } #endif template static void read_matrix(Tmatrix& A, char const * const matrixPath, int const size) { FILE* matrixfile=fopen(matrixPath,"rb"); if (!matrixfile) { throw Failure("read_matrix: Cannot open inputfile"); } Treal* matrixfull = new Treal [size*size]; fileread(matrixfull, size*size, matrixfile); /* A must already have built data structure */ A.assign_from_full(matrixfull, size, size); delete[] matrixfull; return; } template static void read_sparse_matrix(Tmatrix& A, char const * const rowPath, char const * const colPath, char const * const valPath, int const nval) { FILE* rowfile=fopen(rowPath,"rb"); if (!rowfile) { throw Failure("read_matrix: Cannot open inputfile rowfile"); } FILE* colfile=fopen(colPath,"rb"); if (!colfile) { throw Failure("read_matrix: Cannot open inputfile colfile"); } FILE* valfile=fopen(valPath,"rb"); if (!valfile) { throw Failure("read_matrix: Cannot open inputfile valfile"); } int* row = new int[nval]; int* col = new int[nval]; Treal* val = new Treal[nval]; fileread(row, nval, rowfile); fileread(col, nval, colfile); fileread(val, nval, valfile); /* A must already have built data structure */ A.assign_from_sparse(row, col, val, nval); #if 0 Treal* compval = new Treal[nval]; A.get_values(row, col, compval, nval); Treal maxdiff = 0; Treal diff; for (int i = 0; i < nval; i++) { diff = template_blas_fabs(compval[i] - val[i]); maxdiff = diff > maxdiff ? diff : maxdiff; } std::cout<<"Maxdiff: "< static void read_xyz(Treal* x, Treal* y, Treal* z, char * atomsPath, int const natoms, int const size) { char* atomfile(atomsPath); std::ifstream input(atomfile); if (!input) { throw Failure("read_xyz: Cannot open inputfile"); } input >> std::setprecision(10); Treal* xtmp = new Treal[natoms]; Treal* ytmp = new Treal[natoms]; Treal* ztmp = new Treal[natoms]; int* atomstart = new int[natoms+1]; for(int i = 0 ; i < natoms ; i++) { input >> x[i]; input >> y[i]; input >> z[i]; input >> atomstart[i]; } atomstart[natoms] = size; for (int atom = 0; atom < natoms; atom++) for (int bf = atomstart[atom]; bf < atomstart[atom + 1]; bf++) { x[bf] = x[atom]; y[bf] = y[atom]; z[bf] = z[atom]; } delete[] xtmp; delete[] ytmp; delete[] ztmp; delete[] atomstart; } } /* end namespace mat */ #endif ergo-3.5/source/matrix/matrix_S0000775000175000017500000155551012743400275013600 00000000000000ÿÿÿÿÿÿï?»ø»VÊÏ?mýßid~>Cïÿ™\?ŽYD°ò„¨¿ƒìLÖcÆ>¼Õø9¸IÈ>ÒOÓùGã¾”õ6Y&>ì9·ñ%;>‚¼ÐdLÝE¾´¥U]£¤›^mº˜?ÒÀÆèOí£¿é´:à9Œ?vÕµZ¿bB?c—MüŽZF?–Á)uq7U¿ãÒ,2’Û&?¥ÎNv-¿¾xׯ7=¿‡Å½U-=–¯÷±QsN=:Œ éáL½®·&uŠÏ¯?®·&uŠÏ¯?n'Æ[íA€?n'Æ[íA€?zÔ¢$X?®4êEy¯Ï>®4êEy¯Ï>Y$ì«×:Œ=|sÚ2ëêä<|sÚ2ëêä<»ø»VÊÏ?ð?Cïÿ™\?!'3qøÓ?¨—^¡e=Ö¿ƒìLÖcÆ> H_%ÓZ?8’…Ž”ìO?¡”û´ÚWi¿”õ6Y&>¼¢”ùw?Ÿc|V4­ ?'ºÍ¾;J¿N3C —ý=%tsß>_CÚ×¾áB‹Ý)SD=ºŸ4U=i+õøgÔb½¾n?ðRÕ™?u?{¾¢Ò?QFZ sÒ¿j"º?C÷yËáS?·>Ž'^¬¤?Ù7‘ ñô›?°…`Ûˆª¿«™)aû)=CÆoU]> P¥Íºbd>r—öUS¹s¾†¸*ñBT?8ßYç_“ ?n,Ó¢\”¿š.i8q1¤¿ÊVåA>ì_ÆÔÛÏ>¬%Eã«"Û>Ý1Ýö¼Ù¾õe _ß?õe _ß?TÎg.ÉiÀ?TÎg.ÉiÀ?YÙÕG—>¤?š¿¢;»M?š¿¢;»M?C´û| Ž>ä¤÷„*>ä¤÷„*>Ÿù;ORœÜ<ð?†+ Á„BÆ?½Õø9¸IȾ8’…Ž”ìO¿:˜—(k ¿ 0…Œ‚_?ì9·ñ%;¾Ÿc|V4­ ¿Ô ëW^ ¿`–O¢½á?%tsß¾ä8S¢ä¾énÊ&>ºŸ4U½«sx&ˆd½Ó£ëLH¥s=°CŒ²C¤?…½µîkDÕ?Ÿb pпLê|úÅÕÂ?ò@ç*íU¿Å nžjŸ¿196/žãy¿j^ä/–¾¥?:;íq²SA½»î[Òég¾ÄJÁ&ƒŽk¾¶Ê,xÑ>GÚüc+U?‚Ê'†™?L¬Ü¡Âq¿™maYÓ ¿ËÛ¡|¦4¾IM ÿŒ¥á¾Zûät÷뾽é/,N˜ì>¡×¶“g+Ì¿¡×¶“g+̿ҥ>1! Â?Ò¥>1! Â?üÄòaŽ\¦¿ó I•ú0¿ó I•ú0¿~dÉ)­VоjAº .Õ:¾jAº .Õ:¾¶’¤Ê‚ó¼ð?†+ Á„BÆ?=+Í#käA?í»R¨–0ë>Zã Œâ=¢´OÚG{)=åì©1PÄ?‚²b} p?î õÝã@B>.Ú% ‰?HÖûžo³>ëð5jAeØ?ëð5jAeØ¿ZÀʉΔ°?ZÀʉΔ°¿³Yò‘% 8?³Yò‘% 8¿­B„«X>­B„«X¾ð?ŽYD°ò„¨?©—^¡e=Ö?¾½bOü_Ô¿ÓOÓùGã>¡”û´ÚWi? 0…Œ‚_?®Äüsev¿‚¼ÐdLÝE>'ºÍ¾;J?`–O¢½á?(/÷®%¿_CÚ×>énÊ&>P™²6/¾i+õøgÔb=Ó£ëLH¥s=ÁsUá ½ÌÄYÒ<´Œ¿÷sq᾿Kê|úÅÕÂ?Vß§nI»?ù`4ŒÏd?odB­?k^ä/–¾¥?Þ‹«Fe‡°¿žAÏóµÃP=DjéZv>¶Ê,xÑ>œ¥‚팾ÕKlžþd?v¾n+P©?˜maYÓ ¿eà]ï<«¿ƒxy%D–3>ÈùVWí¼à>ºé/,N˜ì>-ÿíg±è¾ž$‘Eaóÿž$‘EaóÿÃî9Ý«çy¿Ãî9Ý«çy¿ÿRœ^b¢?®ŠÇâôZ?®ŠÇâôZ?´gÓ´£>ådÉl»?>ådÉl»?>™á„ ÐZ÷<mýßid~>Cïÿ™\?ŽYD°ò„¨?ÿÿÿÿÿÿï?»ø»VÊÏ?|ùr! _?ñ­í€žè`?†s Þ€[o¿š]dJØ>DâTobBí> ‰Ø6êí¾Ç_¢é´A=ä÷Bh_Ê`=ÍGÊЉ²a½&eÊ#ßD?y8ŽN¿U`í‰,V?¢÷(ã¢>쎌׮y¢?]»¥“¢ª? ¦î8iÁž¿ùÕü×/ÏÅ=\oRJ"à=¶*?¨Šæ½§‘g4žÉ¦>Æ0ígô ?yŠ‹b6Ψ¿b"ç—¤œ¿[ñÁþ- > ŠåoI+>Ð¥m·AH¾x PIj=w?x PIj=w?°5°]?°5°]?•äàÙx~?›èÍ’>R?›èÍ’>R?žV³´Ñ¥c>¡6¨¾}¦=¡6¨¾}¦=Cïÿ™\?!'3qøÓ?©—^¡e=Ö?»ø»VÊÏ?ð?|ùr! _?òùz‘®â¯?<“À*l8¦?‚OdM¤š´¿š]dJØ>˜îS]A=d?d+§Æ»Hk?™‰UÍ;åk¿Ç_¢é´A=¥Åâã6Œ>RSs>d44¹ Ÿ¾N3C —ý=%tsß>_CÚ׾Ȝ÷¡+V?Ót»Y ¦?ÙÌ0k¢¿¶Ëôq'ª?öA=‹Ç¢?OH%NÁ×?'1¬„ñ¯Ó?+ï}Ÿ»Æ¿aŠ|#>1Ì ¨‘ï>n‘4Üëö>ãÖ£_Úþ¾„×I?Ôû`ýÛ¹7ù(?J<°HÃ5?èK;<„Ž&¿Q6¯@æ=#ÔY>ß߇=ôvø³™½‹Ð²Õ滹?‹Ð²Õ滹?c¢¿\¦§?c¢¿\¦§?Î>é]õO¿?œÉÝcð• ?œÉÝcð• ?fkïu#´ ?ã‘à×>ã‘à×>Í‚³éÊY€=Á*Æ%Jç<Á*Æ%Jç<†+ Á„BÆ?ð?ñ­í€žè`¿=“À*l8¦¿éÛYýýÖ}¿áûò÷¹¯?DâTobBí¾e+§Æ»Hk¿ ÚHž2o¿I€º^Ìqs?ä÷Bh_Ê`½RSs¾^/×jЬ¾]×V³5°>%tsß¾ä8S¢ä¾énÊ&>¡Æ_¬w8]?éqŒ« ¤?Yu#*&’¿æåë÷‰ø©?Š™Ð¬¨ª¿€/D{”ÕÖ¿7'ÛnNtÈ¿²‡¦‹•Í?Ê»ÏÆ Ê9¾BŸ« ¡òø¾|(Û…:þ¾_»¬*w?Ï£ G¼Ê½ë“ ‡¨R*½2ÇÒ›Ôì0=J Œ ®©?‹#GÌiÊ×?øÞ¥Ç¿dìä™xYÌ¿KÒ[ŸxVÀ¾±^™|=é;¿€ëäH§F¿ÿɶ—–€9?οS¤Ð:½+ãõ”½ùÇ}¥“¨=“V£xpΟ¿“V£xpΟ¿š®÷kþH§?š®÷kþH§?’óX-ڈÿ;uœƒ½l†¿;uœƒ½l†¿JÉŒÄ"s ¿V°¥@®¾V°¥@®¾ ÖEÙ•½a#S+"ø¼a#S+"ø¼†+ Á„BÆ?ð?óðš¯]Áš?`ªOº4[K?”Kzá²q>Zã Œâ='…s ¤‘?¦ÇïvÉÊ?IógzÉÓ>—iÝâÙNá<¼Ã´å:uÉ?á(÷„8?d§ XLc=|]¥Ž‹«?|]¥Ž‹«¿8ã廿º”?8ã廿º”¿è·’eÁ?è·’eÁ¿ïPI@ð†>ïPI@ð†¾ŽYD°ò„¨¿¨—^¡e=Ö¿¾½bOü_Ô¿ð?†s Þ€[o?‚OdM¤š´?áûò÷¹¯?¯ªÿÓº¶¿ ‰Ø6êí>—‰UÍ;åk?H€º^Ìqs?‰¡3$îup¿ÍGÊЉ²a=d44¹ Ÿ>]×V³5°>¿õÚL×ó¯¾_CÚ×>énÊ&>P™²6/¾#VXá04e¿Éì®­¿çåë÷‰ø©?'ïáüÞ¬¿5»\ ž?Sš^Aä]Ê?±‡¦‹•Í?¼tÁi³?M«É¼ B>°OötŽm?^»¬*w?O?nµ¿kB„:¦®=0ÇÒ›Ôì0=J@|t]4½8¾›v §?ʽ§™xË?eìä™xYÌ¿ÒÆ{B.²?æ×ŒÑ ï°>¸mŠ¢ãí,?þɶ—–€9?r-Þœ "¿yI>ÉQk =øÇ}¥“¨=í¹tºY=¹½Ðn˜Vû¼¿Ðn˜Vû¼¿©&–€C¤¿©&–€C¤¿Pù–w'’‡? þúG¨$¦? þúG¨$¦?`…qÄ?í7bª ª>í7bª ª>QÕ-'¿`•=—MµÚS=—MµÚS=ƒìLÖcÆ>½Õø9¸IȾÓOÓùGã>|ùr! _?ñ­í€žè`¿†s Þ€[o?ÿÿÿÿÿÿï?»ø»VÊÏ?<Ù"²…d~>P²Ø\?¨s- ì§?.†å;•^¿rþ–‹×cÆ>¤†m×ú%à>ÊW•µÞQؾ:72Y&>W‰XC@>ÓOå¬ D¾6¦¨ºÅ= ,bêÛ½[¤=Ïæ=ì•’Fxa>ç¯Aoº˜?} öÓ¹#¥?*šÂbB?LÌDP?.æ½9žQ¿B«ûWØý> ±öB¿äÕNf ?km ã”Û&?ggËøÇ:@?}bfÇ?¿)ô-ÊU-=)Ú¹­´A=djK³2,S½Í4êEy¯Ï>Í4êEy¯Ï>““B…Åh}>““B…Åh}>å»ß—lAv?¬·&uŠÏ¯?¬·&uŠÏ¯?ÝTlðX?þ€N}|¯Ï>þ€N}|¯Ï>§!n<à:Œ=4XÅîêä<4XÅîêä<ƒìLÖcÆ> H_%ÓZ?8’…Ž”ìO¿¡”û´ÚWi?|ùr! _?òùz‘®â¯?=“À*l8¦¿‚OdM¤š´?»ø»VÊÏ?ð?P²Ø\?¸QëirøÓ?¦dB)ÖöÔ?ÉUîû±½¿rþ–‹×cÆ>ݬ°òÓZ?ܸ£µ9e?æBå:J÷_¿:72Y&>“Š+÷w?ÎTcad?{ýß,|¿.vÚ —ý=UÐK°yß>6ó0›”×¾ÔâË/SD=]Dî¿k\=¡‘+Ô¹G`½r®ÒWõŽ">N8Òê ï> éñûNzó¾úmòHåÔÿ>^Ì™”TÕ™?h>¿¢Ò?¯Ù¡az’Ó?i’ÝÃÍáS?A%â©_¬¤?8í4·X¤?â 繦¿{BlsÊ»)=hRº&¢U]> í*“`an>&C»”41p¾qïxä9?åRi&Ž?{*×c’¿1z‚{âˆ?àÂò¤òBT?6c¿`“ ?¹< Žën¦?IŸTÙv?â½XìA>î9º“ÚÛÏ>–ZchÎ>.0mÍ×á¾ ¿¢;»M? ¿¢;»M?ý8xÚƒ?ý8xÚƒ?AséõÄñ¸?òe _ß?òe _ß?$  –>¤?ˆ¡»M?ˆ¡»M?b¹àŽ>µì¥"„*>µì¥"„*>[ÔYœÜ<¼Õø9¸IÈ>8’…Ž”ìO?:˜—(k ¿ 0…Œ‚_?ñ­í€žè`?<“À*l8¦?éÛYýýÖ}¿áûò÷¹¯?ð?¨s- ì§¿©dB)ÖöÔ¿fþLÝп;+ " ÓÃ?¤†m×ú%à¾Ú¸£µ9e¿ýk™tn¿“©-j?W‰XC@¾ÌTcad¿×`zÅ¿çq?UÐK°yß¾ÁÁ_Ò§ä¾Òj÷Ê&>]Dî¿k\½Ï‚žòs½DÄÅúÖÃv=¾)›#Óx6>…ñ¼RŸö>]üºãÜö¾·ñҧ?߸2PÄ?óÓÐ Bê_¿è‹™i ¦¿©éP¥ô  ¿~©oGHª?"ÛAsÒI½l9S‰q7q¾ï¬ùF{±€¾ $~ó³ƒ>?мåK?6ró–?ž¹GªïQ˜¿ ÜÄNà”? á®²ÛRg¿K9Aû ¬¿wÂ}Àxv±¿ †íÛÌù„¿Ì‡Ž$'¾FygUÆÓ¾;ÎÃ<#̾Ü=•LEå> ó I•ú0? ó I•ú0?€¾jÑž"?€¾jÑž"?½PKŒ?ª¿ž×¶“g+Ì?ž×¶“g+Ì?j¬[© »“¿Í(z§UþW¿Í(z§UþW¿ô2ÄöÈ` ¾WÚÏfô4¾WÚÏfô4¾F yÏDï¼=+Í#käA?óðš¯]Áš?ð?ÅLŽÂ†BÆ?Ë,¿°käA?„fÊ–“0ë>Œ©¡Œâ=8´àIO{)=ÝwLrÓ>߸2PÄ?›cÎ p?õ6%Íæ@B> ÉÀK}u?ðr¾& ‰?èœÌˆ¢o³>»Yò‘% 8?»Yò‘% 8¿4‰M0d?4‰M0d¿éð5jAeØ?éð5jAeØ¿W:>' 8?W:>' 8¿Oc•­X>Oc•­X¾ÒOÓùG㾡”û´ÚWi¿ 0…Œ‚_?®Äüsev¿†s Þ€[o¿‚OdM¤š´¿áûò÷¹¯?¯ªÿÓº¶¿ð?1†å;•^?ÕUîû±½?@+ " ÓÃ?9ßë£Nz¾?ËW•µÞQØ>äBå:J÷_?”©-j?¥ß­OB>^¿ÔOå¬ D>|ýß,|?çq?¿¡aí`ò!¿5ó0›”×>Òj÷Ê&>Ö\&v=/¾ ‘+Ô¹G`=CÄÅúÖÃv=AßoÍHy½aL>üÉ\B¾–ik¯bû¿‚·ñҧ?ŽQÇKÏK¿ˆâ÷]¥¿4Wɵֿ¸Í" ÇÅÓ¿³;!hòGa?»U ?g€¨?‚©oGHª?îIs…K>¤¿Béf†K=PÉv .Zr>$~ó³ƒ>¶*«Œ­ƒ¾Üw5øßB¿‘ºNçq¿ ÜÄNà”?7ìp€¿’(Y}Á7¿ÿ1Zq¤|¿ †íÛÌù„¿Zû£}a†?‹b\—:> ûÅÈ8æ>Ü=•LEå> Ãã)°ö¾µŠÇâôZ¿µŠÇâôZ¿![ "B'¿![ "B'¿¶DX/`½¿¦$‘EaóÃ?¦$‘EaóÃ?íà°77«?dµŒÃÿI?dµŒÃÿI?@Ú8èù‘™>ÏÊêkñA>ÏÊêkñA>àEŸŸÐù<”õ6Y&>ì9·ñ%;¾‚¼ÐdLÝE>š]dJØ>DâTobBí¾ ‰Ø6êí><Ù"²…d~>P²Ø\?¨s- ì§¿1†å;•^?ÿÿÿÿÿÿï?»ø»VÊÏ?9§© _?«iLL êg?zf—õgj¿½VÜAØ>'4§@•nâ>S nC‡Èò¾ˆÀÐÙ³A=Û!U°'V=™™(à$¼e½`v…)ßD?PGë°é™O¿>YždÍU?ïâòä%ã¢>à]Äh®y¢?ZžÃBk†?{dÚ‘=®¿@,e’+ÏÅ=xžéÈÛ¹ß=.‘¿¦»æ½ÅaYlÛ=4tTpvžý½+ÀœX%Nð=S©Ò¨É¦>¥Z]hô ?èÕ¯ÁÇ¥?ÑF¸#š¢?œ]õo- >Ó½P¤Èâ>Øq/q.¾#$ 9nb>#$ 9nb>ªTy–íH»=ªTy–íH»=®°—lÏ_?}&´^Hw?}&´^Hw?‡å Õx~?QÕp‘>R?QÕp‘>R?G”Ð¥c>š_µz¦=š_µz¦=”õ6Y&>¼¢”ùw?Ÿc|V4­ ¿'ºÍ¾;J?š]dJØ>˜îS]A=d?e+§Æ»Hk¿—‰UÍ;åk?P²Ø\?¸QëirøÓ?©dB)ÖöÔ¿ÕUîû±½?»ø»VÊÏ?ð?9§© _?بÆO¬â¯? 9:Zm¯?s5ÇY±¿½VÜAØ>ÁM«==d?¢‘y0a?:ˆ¹îƒq¿ˆÀÐÙ³A=*Àóâ6Œ>‡ƒŽ7,n“>·=É¢Ú£¾k3C —ý=²%tsß>1_CÚ×¾ky¡MÒ™2=8 Q2b>lý/.òÂq¾ïÚˆÑt>àÓÇv0V?îìîÎ\ ¦?ý=Ûnk£¢¿‡›ŸõË·©?%f?/Ç¢?fÎÌÁ×?Þ³xN+’°?t †,ZÖ¿å/%‡y#>%©—#¥‘ï>"špÅÿµõ> ÎÃâÿ¾ò0ÎÔûÈùuàÓÀ?‡üœüºƒ#¿õd¨L|?ÏóQ¯¡?Я¨MÖ?Ó)¸ŸcrÎ?‡Ÿ7Ê?e<Íh-£> ÿ‚7ù(?4_=JUï ?Oš=‚G8¿œ Ÿ —æ=ÀËÈ#ø­“=¥c¬_ê¡“½o/pÕ˜ ?o/pÕ˜ ?'N<-©>'N<-©>kü­².2¨?¡‘ÍM¤Ä¹?¡‘ÍM¤Ä¹?<5‚ÂñO¿?Ve$ï• ?Ve$ï• ?…Ô‰r"´ ?o,ºÝ×>o,ºÝ×>ƒíxèÊY€="j!£Jç<"j!£Jç<ì9·ñ%;>Ÿc|V4­ ?Ô ëW^ ¿`–O¢½á?DâTobBí>d+§Æ»Hk? ÚHž2o¿H€º^Ìqs?¨s- ì§?¦dB)ÖöÔ?fþLÝп@+ " ÓÃ?ð?­iLL êg¿ 9:Zm¯¿v!Jüפ¿Òãš[²ä²?)4§@•nâ¾ ‘y0a¿Ç!„Ü‚P¿ö«Ž¤ÅÃn?Û!U°'V½‡ƒŽ7,n“¾)V-ÓX–¾§,©ý–Cª>²%tsß¾8S¢ä¾žnÊ&><º4³—Q=6‹Ô a!t>¿Öì·E=‚¾8ß#› ‡>TïŸüª8^?'Q\t¼¤? ÇQu¤”¿Á:¿®iª?ð°Û@Hñ…¿ë›eÿG8³¿q6(£œ„È?HK±²û{¸?4ÜP.[9¾ù½úb‡ø¾ ÐSѬèü¾)~³wLB?¨ÿo«¾D½ÕÓ…nÒ!½*Ð5=ûÖ.=áÜõ<£>ei„6#)?Ü,ÔËÀ5¿”¡Q )?Â.ÓtHŒ¦¿t[`a£ãÔ¿ÓÄá˸¿(Ý e„*пP7ã÷u8”¾WÛ¬E¿ü9ßàeÌ?5„9ÿ›ü ?oŸ“¾™½×9¦;Ž®½€¢v Œ¯¯=ùœÉ‡« ?ùœÉ‡« ?õsT{2à·>õsT{2à·>B£`fl:?QöÀçÚ¾?QöÀçÚ¾?æ7Å@‡¤?OÍ®%o£¿OÍ®%o£¿GÌ„7¥¿›ÑhÃ뜾›ÑhÃ뜾O:Øvˆ·‰½ë¤áy«ÿ¼ë¤áy«ÿ¼í»R¨–0ë>`ªOº4[K?ÅLŽÂ†BÆ?ð?œ)%”[Áš?Öc‹Ã.[K?ÌÕ»äà²q>mã Œâ=ˆ°ÊE¥F>Z)w' ¤‘?6p€vÉÊ?/Ï]’xÉÓ>ŒšÇïÒNá<Û0!;øú>ònoÓ…ŸGö¾¯`/ÐǬ‘>¯`/ÐǬ‘¾º1VÏ–«?º1VÏ–«¿âÛcÁ?âÛcÁ¿üòrð†>üòrð†¾‚¼ÐdLÝE¾'ºÍ¾;J¿`–O¢½á?(/÷®%¿ ‰Ø6êí¾™‰UÍ;åk¿I€º^Ìqs?‰¡3$îup¿.†å;•^¿ÉUîû±½¿;+ " ÓÃ?9ßë£Nz¾?ð?|f—õgj?u5ÇY±?Õãš[²ä²?8!™D‰X¬¿T nC‡Èò>=ˆ¹îƒq?ü«Ž¤ÅÃn?¤±p€î{¿š™(à$¼e=¶=É¢Ú£>¥,©ý–Cª>m²Y머¾0_CÚ×>ÿnÊ&>n™²6/¾Ò;kØžT½žˆFºW˜w¾8ß#› ‡>K\.ÉT–‰¾Áj»È®Ùd¿8ø«Ñœ¬¿Â:¿®iª?‡…ÛŸ«¿ÏÕÄ ™­?µÝìÙ?IK±²û{¸?õ0Œ]¢Ó¿w ¹°3+B>ÁÌtq“?)~³wLB?ýaúÊX%¿£YØ ,=+Ð5=ûÖ.=½ v „8½²ôq´Õð”¾YZw+­¿—¡Q )?sr’³Ó¿x –ýA£¿ enìN×Ñ¿(Ý e„*п~ z@‘¿MüËw:Â>¡Ç&™w#??1„9ÿ›ü ?™0â5¬L¿ö7*&L®™=¢v Œ¯¯=…®Øƒ^g®½.â-•¡!¿.â-•¡!¿ëð<^?æ¶¾ëð<^?æ¶¾Õo½p–°¿e[êbT¿e[êbT¿vÒäçÂ?÷}Ý—2Z™?÷}Ý—2Z™?Híu!g?·ºRe›²>·ºRe›²>ª×ßI»›=ÅØĉh=ÅØĉh=Ç_¢é´A=ä÷Bh_Ê`½ÍGÊЉ²a=rþ–‹×cÆ>¤†m×ú%à¾ËW•µÞQØ>9§© _?­iLL êg¿|f—õgj?ÿÿÿÿÿÿï?»ø»VÊÏ?mýßid~>Cïÿ™\?YD°ò„¨¿iÕØcÆ>ì >•¹IÈ>ÐÚÅüGã¾”õ6Y&>ì9·ñ%;>‚¼ÐdLÝE¾9ñß¿Å=1mëÑ×à½â×›„†Åä=Ï¥U]¤¤›^mº˜?ÒÀÆèOí£¿ö´:à9Œ?…ÛLÿÁbB?”~¬ëZF?#˶‚t7U¿Ð—ðŸãý>” éÖqk÷¾èª’—Î?ÜÒ,2’Û&?–ÎNv-¿¸xׯ7=¿‚vP²ÍU-=oØÃabsN=”2ˆëùáL½ë'ªóèêä<ë'ªóèêä<jµÂ”ûƒ>-„ê½ÌÚÏ>-„ê½ÌÚÏ>Ã;ïúiAv?ßr”ŠÏ¯?ßr”ŠÏ¯?zÔ¢$X?§nTÊz¯Ï>§nTÊz¯Ï>_v€¹ä:Œ=¥sÚ2ëêä<¥sÚ2ëêä<N3C —ý=%tsß¾_CÚ×>Ç_¢é´A=¥Åâã6Œ>RSs¾d44¹ Ÿ>rþ–‹×cÆ>ݬ°òÓZ?Ú¸£µ9e¿äBå:J÷_?9§© _?بÆO¬â¯? 9:Zm¯¿u5ÇY±?»ø»VÊÏ?ð?p—Û8'¿Õà1ÇÓZ?m6µ”ìO?ÿ¤GÜWi¿”õ6Y&>¼¢”ùw?Ÿc|V4­ ?&ºÍ¾;J¿ðuÚ —ý=ÐK°yß>ó0›”×¾G÷êI.SD=¯{¤4U=qlÔb½Æjwcø<ºÄOcƽÏiWǬT=AX ùŽ">-¡úŠï>{ˆÜÆ÷¾"ºÚqxüü>Ân?ðRÕ™?u?{¾¢Ò?PFZ sÒ¿j"º?Š/ÃÍáS?Ào©_¬¤?ß¹™ñô›?*Æn݈ª¿«™)aû)=CÆoU]> P¥Íºbd>q—öUS¹s¾p‚‚òC;÷=ȘÜ‹g ¾fÁ‘]µ1>ž.ä9?ƒU1n&Ž?N|h#\v¿¾}•?‚¸*ñBT?8ßYç_“ ?h,Ó¢\”¿™.i8q1¤¿ásÊ*îA>@]"ÜÛÏ>)J)«±"Û>íãìÓü¼Ù¾G„*>G„*>þOéø”=þOéø”=“-ýÃY¦ ?}Ì.X›ÓM?}Ì.X›ÓM?у„ÚÂñ¸?$“Y_ß?$“Y_ß?YÙÕG—>¤?V¹í»M?V¹í»M?Lj•³Ž>¥÷„*>¥÷„*>Ÿù;ORœÜ<%tsß>ä8S¢ä¾énÊ&>ä÷Bh_Ê`=RSs>^/×jЬ¾]×V³5°>¤†m×ú%à>ܸ£µ9e?ýk™tn¿”©-j?«iLL êg? 9:Zm¯?v!Jüפ¿Õãš[²ä²?ð?†+ Á„BÆ?î >•¹IȾm6µ”ìO¿Ž«rRk ¿ÅqˆÁ‚_?ì9·ñ%;¾¢c|V4­ ¿Ø ëW^ ¿c–O¢½á?ÐK°yß¾ˆÁ_ҧ侦j÷Ê&>¯{¤4U½¾Âx>*ˆd½› ªDL¥s=—Žãº¢=ƒÏ­B67)½Z˜ä5`&.=Wm%¹;>ë6¼´'Žú>£êJ2Á¿¤ž}Ää?²CŒ²C¤?ˆ½µîkDÕ?›b pпLê|úÅÕÂ?SÏoíU¿œ§#CkŸ¿ïˆŽ/–ãy¿évFÈ–¾¥?:;íq²SA½ºî[Òég¾ÄJÁ&ƒŽk¾³Ê,xÑ>ß¶ÏÍûòGµšv'¾å‰òz'‹!>D±Ð;ºõ0?²H Íç{?ªÌêúe?\"¿é¯…??Úüc+U?}Ê'†™?;¬Ü¡Âq¿—maYÓ ¿2o¢ƒ¦4¾¾å¿¥á¾hæ7ÄÈ·ë¾³»êFT˜ì>ÿ®]R~ô4>ÿ®]R~ô4>Ý9?8ã©=Ý9?8ã©=´ëÓ5²?ÆÜéÚSX?ÆÜéÚSX?¼z@, À?—yb¤5Ì¿—yb¤5Ì¿ÿÄòaŽ\¦¿liå”ú0¿liå”ú0¿%£­`´VоˆAº .Õ:¾ˆAº .Õ:¾¶’¤Ê‚ó¼Zã Œâ=”Kzá²q>Ë,¿°käA?œ)%”[Áš?ð?†+ Á„BÆ?) BläA?í»R¨–0ë>\Œ©¡Œâ=+üeM{)=ÊÍ&IÓUÞ<6d;NrÓ>éì©1PÄ?Ã!žÍ p?î õÝã@B>fÄÒ’ÃÜ=RàX…O}u?þ-Ú% ‰?òŠÐ|£o³>g¦¶©X>g¦¶©X¾ãÀBFf|=ãÀBFf|½{ò t8?{ò t8¿øûõzAeØ?øûõzAeØ¿Ø.,H& 8?Ø.,H& 8¿ÁB„«X>ÁB„«X¾_CÚ×¾énÊ&>P™²6/¾ÍGÊЉ²a½d44¹ Ÿ¾]×V³5°>¿õÚL×ó¯¾ÊW•µÞQؾæBå:J÷_¿“©-j?¥ß­OB>^¿zf—õgj¿s5ÇY±¿Òãš[²ä²?8!™D‰X¬¿p—Û8'¿Õ<ð?YD°ò„¨?«—^¡e=Ö?¾½bOü_Ô¿ÑÚÅüGã>¤GÜWi?ÉqˆÁ‚_?Œ„luev¿ƒ¼ÐdLÝE>&ºÍ¾;J?`–O¢½á?ÿ'/÷®%¿ó0›”×>§j÷Ê&>š\&v=/¾nlÔb=š ªDL¥s=÷+ å ½[^ jê½Z˜ä5`&.=;¨zÐÓå0½)b­ñ—¸@¾ƒæë6ä_¿¤ž}Ää?'3LãD ¿ßÄYÒ<´Œ¿sq᾿Wê|úÅÕÂ?Sß§nI»?²p©™ŽÏd? à‘­?âvFÈ–¾¥?“ù"²f‡°¿žAÏóµÃP=EjéZv>ºÊ,xÑ>œ¥‚팾"¸"´]ë¼\ØË¼· ¾æ‰òz'‹!>Îáiˆ¾Ù&計LP¿sñ?ªiÑš¿U"¿é¯…?s#Aš•¡¿ÑKlžþd?s¾n+P©?”maYÓ ¿eà]ï<«¿}ÿK–3>W_V6ñ¼à>º»êFT˜ì>Ö¢Ó¨m±è¾ ‘ìôhñA¾ ‘ìôhñA¾Ç‘¶GÞÖ©½Ç‘¶GÞÖ©½l" {þ6/¿æ´.d"J¿æ´.d"J¿’ê5†„?g»g¦ääÿg»g¦ääÿÿRœ^b¢?£NàâôZ?£NàâôZ?[Y£–Ø´£>9ådÉl»?>9ådÉl»?>˜á„ ÐZ÷<:72Y&>W‰XC@¾ÔOå¬ D>½VÜAØ>)4§@•nâ¾T nC‡Èò>mýßid~>Cïÿ™\?YD°ò„¨?ÿÿÿÿÿÿï?»ø»VÊÏ?u©Bù$ _?å¼uŸè`?~EâTobBí> ‰Ø6êí¾| Üê»A='MÅfÊ`=!I‘²a½ eÊ#ßD?m8ŽN¿R`í‰,V?8Æh´=ã¢>†Ïñy¢?6[5N—¢ª?Éï¨5oÁž¿ùÕü×/ÏÅ=\oRJ"à=¶*?¨Šæ½_K8‰\lÛ=[Ð¥˜îÕ½×ðaŠu®>¾‘g4žÉ¦>È0ígô ?yŠ‹b6Ψ¿p"ç—¤œ¿—üâ- >‹$ë~I+>ä„ÐQH¾®•Vd¸=õ—úb>õ—úb>ˆV‚€iÏ_?è*›õ[Hw?è*›õ[Hw?ŽäàÙx~?À­“>R?À­“>R?{)Ø¥c>»6¨¾}¦=»6¨¾}¦=áB‹Ý)SD=ºŸ4U½i+õøgÔb=N3C —ý=%tsß¾_CÚ×>:72Y&>“Š+÷w?ÌTcad¿|ýß,|?½VÜAØ>ÁM«==d? ‘y0a¿=ˆ¹îƒq?Cïÿ™\?!'3qøÓ?«—^¡e=Ö?»ø»VÊÏ?ð?•x‘±Ù˜îS]A=d?d+§Æ»Hk?˜‰UÍ;åk¿| Üê»A=eœoê6Œ>ì¡…s>ô¶‹Ý¿ Ÿ¾.vÚ —ý=WÐK°yß>6ó0›”×¾éïuЙ2=#ð½2b>Òݪ dk¾êÿ2+±w>Ü÷¡+V?Ït»Y ¦?ÙÌ0k¢¿³Ëôq'ª?Ÿy•øÉ¢?Ó)Ë6Ã×?ö5•Sò¯Ó?Î|º¡»Æ¿aŠ|#>1Ì ¨‘ï>o‘4Üëö>æÖ£_Úþ¾i×I?Ôû:„FþÔÀ?Ò“haæü¾ ae©4û%?e@èQ¯¡?&ØFÝMÖ?FTÿ£VÑ¿£³$Ä¿-bwßo-£>Qù‰=ù(?&mDMÃ5?`K|ЉŽ&¿’6¯@æ=SÔY>ß߇=$wø³™½­¬Pœ¡‚=­¬Pœ¡‚=†ï<ô|àò<†ï<ô|àò< ¡^9f§>ŸóB*¢· ?ŸóB*¢· ?]3-2¨?Ii¢Ä¹?Ii¢Ä¹?Ç>é]õO¿?˜·ìð• ?˜·ìð• ?G시)´ ?5ã‘à×>5ã‘à×>Í‚³éÊY€=Á*Æ%Jç<Á*Æ%Jç<ºŸ4U=«sx&ˆd½Ó£ëLH¥s=%tsß>ä8S¢ä¾énÊ&>W‰XC@>ÎTcad?×`zÅ¿çq?'4§@•nâ>¢‘y0a?Ç!„Ü‚P¿ü«Ž¤ÅÃn?†+ Á„BÆ?ð?Ÿå¼uŸè`¿1#rxl8¦¿ý7X1ñÖ}¿“ÎΞø¹¯?GâTobBí¾g+§Æ»Hk¿¤ÚHž2o¿J€º^Ìqs?'MÅfÊ`½ê¡…s¾í}&pЬ¾j&$ú5°>UÐK°yß¾ÂÁ_Ò§ä¾Òj÷Ê&>zšd›_!K=3¶™ïG o>ž» -}Št¾ƒèz©07„>–Æ_¬w8]?åqŒ« ¤?Lu#*&’¿ãåë÷‰ø©?¦_ã૪¿¤¬z•ÕÖ¿pNwLtÈ¿G è•Í?Ê»ÏÆ Ê9¾AŸ« ¡òø¾|(Û…:þ¾`»¬*w?¸£ G¼Ê½Ð“ ‡¨R*½!ÇÒ›Ôì0=†ÓüƒQt=½‘î;Lj½úm²…é‰=çf‹?Ê*|>€¯<_?ѵ_Óÿì> ÃÇ–)ø?H Œ ®©?#GÌiÊ×?ôޥǿcìä™xYÌ¿ž™ó~VÀ¾v½%~Cé;¿ûnº÷L§F¿Ä‚+œ€9? ÀS¤Ð:½D+ãõ”½)È}¥“¨=õ‹ÓüÍp=õ‹ÓüÍp=!àòÈm=!àòÈm=ÄÐm˜ÒÔ¥>^Ñ$æR?^Ñ$æR?Ö ºkOÕ¬?ãbÞ‚.柿ãbÞ‚.柿óX-ڈÿ-;õ»l†¿-;õ»l†¿°hBH(s ¿s°¥@®¾s°¥@®¾ ÖEÙ•½a#S+"ø¼a#S+"ø¼¢´OÚG{)=Zã Œâ=„fÊ–“0ë>Öc‹Ã.[K?†+ Á„BÆ?ð?ÈìÁ¥_Áš?`ªOº4[K?ïƒøTå²q>Œ©¡Œâ=Ê4D¥F>þ&…s ¤‘?3áÎßyÉÊ?IógzÉÓ>†iÝâÙNá<b@û—³==g®j†<øú>Àôå:uÉ?ãa*QŒ8?‰§ XLc=»e**ß•l=»e**ß•l½eÍ h=pÚGeŽQ`ö¾Z‰+–«?Z‰+–«¿€½3­fÁ?€½3­fÁ¿QI@ð†>QI@ð†¾i+õøgÔb½Ó£ëLH¥s=ÁsUá ½_CÚ×¾énÊ&>P™²6/¾ÓOå¬ D¾{ýß,|¿çq?¿¡aí`ò!¿S nC‡Èò¾:ˆ¹îƒq¿ö«Ž¤ÅÃn?¤±p€î{¿YD°ò„¨¿¤—^¡e=Ö¿¾½bOü_Ô¿•x‘±Ù<ð?}•‰UÍ;åk?F€º^Ìqs?†¡3$îup¿!I‘²a=ø¶‹Ý¿ Ÿ>n&$ú5°>ÉÁBÞó¯¾4ó0›”×>Òj÷Ê&>Ô\&v=/¾ NwzwW½({éÚz¾èz©07„>aˆ¦…,Ǿ VXá04e¿þÈì®­¿ßåë÷‰ø©? 'ïáüÞ¬¿s¥vž?ƒ†žêæ]Ê?@ è•Í?¡ï—ÄÂi³?M«É¼ B>¯OötŽm?^»¬*w?O?nµ¿OB„:¦®=ÇÒ›Ôì0=7@|t]4½Xj¶£zt½úm²…é‰=²Ç&ç1‰½œ®ø…†l¥¾ŽXÉ£¤P,¿ÃÇ–)ø?C¯ z­+;¿@¾›v §?Ó½§™xË?lìä™xYÌ¿ÑÆ{B.²?ŒþzÖï°>Wåyfêí,?Ñ‚+œ€9?A¼XM¡ "¿—I>ÉQk =&È}¥“¨=ºtºY=¹½(ôVàSDŸ½(ôVàSDŸ½þ]g…½þ]g…½3(öÚ| ½¾à©™ï“¿à©™ï“¿GQ~ìHö¡¿y¼ÁüS½¿y¼ÁüS½¿Dù–w'’‡?îÝ ©$¦?îÝ ©$¦?¿‚IIwÄ?8bª ª>8bª ª>PÕ-'¿`•=—MµÚS=—MµÚS=ˆÀÐÙ³A=Û!U°'V½š™(à$¼e=iÕØcÆ>î >•¹IȾÑÚÅüGã>u©Bù$ _?Ÿå¼uŸè`¿}ŠN´™\?Ö•5Éè§?¾ã*’^¿Qþ–‹×cÆ>†m×ú%à>¨W•µÞQؾ:72Y&>W‰XC@>ÑOå¬ D¾½õBÁÅ=êŸ#›jêÛ½"ûhˆÏæ=¸•’Fxa>üæ¯Aoº˜?w öÓ¹#¥?àØC'¾bB?‰TÉDP?UýW5žQ¿;äþÚâý>NídyüB¿«@êÂo ?Ym ã”Û&?\gËøÇ:@?ý|bfÇ?ÐÛVÞÀU-=’Ô¯A=›,ñœ,,S½M»Ñ $å<M»Ñ $å™bgËÚÏ>™bgËÚÏ>ü¡kAv?¬·&uŠÏ¯?¬·&uŠÏ¯?Ã>WßX?»µÄés¯Ï>»µÄés¯Ï>‹WˆÀÐÙ³A=*Àóâ6Œ>‡ƒŽ7,n“¾¶=É¢Ú£>iÕØcÆ>à1ÇÓZ?m6µ”ìO¿¤GÜWi?u©Bù$ _?µb;«°â¯?1#rxl8¦¿ü$ÓÃ¥š´?»ø»VÊÏ?ð?p—Û8'¿Õ¼ŠN´™\?‡JêœpøÓ?À˜JäÔöÔ?@ïÄø±½¿Qþ–‹×cÆ>ͬ°òÓZ?и£µ9e?ÕBå:J÷_¿:72Y&>“Š+÷w?ÎTcad?}ýß,|¿k3C —ý=²%tsß>1_CÚ×¾®âË/SD=(Dî¿k\=‚‘+Ô¹G`½Í¯#cø ½§ýD=ŠÄÒúŽ">ƒñï>µ“]Qzó¾®¶6êÔÿ>UÌ™”TÕ™?h>¿¢Ò?¬Ù¡az’Ó?5Q pÊáS?¾ø5x]¬¤?÷±·¶µX¤?1ÔŸ¶¦¿[`¥­¿»)=¶Þ øšU]>§bœYan>¢»™01p¾qÊIôM;÷=w›‰Sô½žëJ™|e>1WÁ~ä9?ý¼_ªm&Ž?Ùñ‘Ùc’¿)Ö-âˆ?ÛÂò¤òBT?3c¿`“ ?³< Žën¦? ŸTÙv?6¥S„çA> %ÛsÖÛÏ>ÐÜTk`hÎ>OÖ–•Õá¾Pòqºš´‘=üP¥ð®*>üP¥ð®*>o©*a\¦ ?l§P–šÓM?l§P–šÓM?,Ëw¾Ãñ¸?òe _ß?òe _ß?Éb¬°—>¤?¾i1 »M?¾i1 »M?i} Ž>G„*>G„*>@[ÔYœÜ<UÐK°yß>ÁÁ_Ò§ä¾Òj÷Ê&>Û!U°'V=‡ƒŽ7,n“>)V-ÓX–¾¥,©ý–Cª>ì >•¹IÈ>m6µ”ìO?Ž«rRk ¿ÉqˆÁ‚_?å¼uŸè`?,#rxl8¦?ý7X1ñÖ}¿’ÎΞø¹¯?p—Û8'¿Õ¼ð?Ø•5É觿ȘJäÔöÔ¿ÿÎÄöLÝп:åyIžÓÃ?†m×ú%à¾Ð¸£µ9e¿ík™tn¿†©-j?W‰XC@¾ÎTcad¿Ú`zÅ¿çq?®%tsß¾8S¢ä¾þnÊ&>&Dî¿k\½«‚žòs½ÄÅúÖÃv=ùÛÕäž =‚eÅ­3»½@œä z!*=CfJ;Øx6>eÀl¢ö>ÜÅã°åÜö¾·ŸÈЧ?߸2PÄ?»ƒûô=ê_¿ìÖê» ¦¿ök…ô  ¿wÝ;EHª?“!­hÒI½û%—m7q¾ˆBH¿w±€¾ •´—¯ƒ>¶oEÛ>ÚJª‰ŒÁåK?µ´ižuó–?ºGòQ˜¿Œ‚#ã”?™á®²ÛRg¿G9Aû ¬¿tÂ}Àxv±¿Þ…íÛÌù„¿YÅ <ý#'¾‘Û×SÆÓ¾>0€#̾M"p†JEå>ÊmU 52™=}†Üqoÿ:>}†Üqoÿ:>Þqd"(?)•²MÚ1?)•²MÚ1?†mÏŒ?ª¿Ÿ×¶“g+Ì?Ÿ×¶“g+Ì?¸‡ôÙ »“¿ÄÍÎRþW¿ÄÍÎRþW¿t‘rÅ` ¾ë®]R~ô4¾ë®]R~ô4¾ yÏD,©¡Œâ=ÌÕ»äà²q>) BläA?ÈìÁ¥_Áš?ð?[q .„BÆ?Á,¿°käA?„fÊ–“0ë>mã Œâ=´àIO{)=OÛ$NßUÞ<˜kYOrÓ>߸2PÄ?†£™ä p?– ÆTâ@B>ñB¤¯ÏÜ=f©‘CO}u?èr¾& ‰?]±Ê o³>B¼?†y>B¼?†y¾’Sks8?’Sks8¿éð5jAeØ?éð5jAeØ¿u:3# 8?u:3# 8¿S¦¶©X>S¦¶©X¾6ó0›”×¾Òj÷Ê&>Ö\&v=/¾™™(à$¼e½·=É¢Ú£¾§,©ý–Cª>m²Y머¾ÐÚÅüGã¾ÿ¤GÜWi¿ÅqˆÁ‚_?Œ„luev¿~×Bå:J÷_?‡©-j?—ß­OB>^¿ÓOå¬ D>xýß,|?çq?¾¡aí`ò!¿1_CÚ×>žnÊ&>q™²6/¾‘+Ô¹G`=ÄÅúÖÃv=ßoÍHy½öÊU6>½?œä z!*=öçW­’6½^xÌŸÎ\B¾Š²Yeû¿¶ŸÈЧ?óêŽÞÑK¿â÷]¥¿0Wɵֿ¶Í" ÇÅÓ¿¼„‚ïGa?ïBwd€¨?sÝ;EHª?kCÏ÷H>¤¿ï_%•´—¯ƒ>% ˆÝ¨ƒ¾)œEØbvö¼¦@È«CÀ¾Ü©` …è>à’‹»n™0¾yÊsüßB¿Ñ„.ãv¿†‚#ã”?Y\;Í„p€¿ü‘(Y}Á7¿ 2Zq¤|¿†íÛÌù„¿Wû£}a†?—=…j:>ØÑäÅ8æ>L"p†JEå>½‰2ð&°ö¾$ö*²®½¦ç™Ü%í?¾¦ç™Ü%í?¾o{ªúÉ[)¿Ú23GÛ [¿Ú23GÛ [¿~¯»-`½¿š$‘EaóÃ?š$‘EaóÃ?ë]97«?6Üã2¿ÿI?6Üã2¿ÿI?ô( ô‘™>üìôhñA>üìôhñA>FŸŸÐù<”õ6Y&>ì9·ñ%;¾ƒ¼ÐdLÝE>š]dJØ>GâTobBí¾ ‰Ø6êí>¡á5ñad~>ŠN´™\?Ø•5Éè§¿¾ã*’^?ÿÿÿÿÿÿï?»ø»VÊÏ?CÊ¥" _?«•?.#êg?@GWØùgj¿•ÖÞDØ>¾Tót—nâ>4ædEŠÈò¾ˆÀÐÙ³A=Û!U°'V=™™(à$¼e½ˆxœÈ%ßD?÷”«{å™O¿Cu“Ö`ÍU?Èâòä%ã¢>Ü]Äh®y¢?LžÃBk†?zdÚ‘=®¿,e’+ÏÅ=žéÈÛ¹ß=Ý-‘¿¦»æ½ÏÅaYlÛ=ptTpvžý½KÀœX%Nð=YÓտɦ>gØà,kô ?÷j†bÄÇ¥?Ç*’Q'š¢?^õo- >¾P¤Èâ> Ùq/q.¾]GïUk¸=U)Rüb>U)Rüb>®°—lÏ_?z\d8[Hw?z\d8[Hw?îþ+´Ùx~?QÕp‘>R?QÕp‘>R?2”Ð¥c>š_µz¦=š_µz¦=ÔâË/SD=]Dî¿k\½ ‘+Ô¹G`=k3C —ý=²%tsß¾0_CÚ×>”õ6Y&>¼¢”ùw?¢c|V4­ ¿&ºÍ¾;J?š]dJØ>˜îS]A=d?g+§Æ»Hk¿•‰UÍ;åk?ŠN´™\?‡JêœpøÓ?ȘJäÔöÔ¿QïÄø±½?»ø»VÊÏ?ð?•x‘±Ù¼CÊ¥" _?³¼VH¯â¯?gæÞÿ[m¯?m²uóÈY±¿•ÖÞDØ>j!¦Ù>=d?& ¢ã0a?Ô'öEðƒq¿ˆÀÐÙ³A=*Àóâ6Œ>…ƒŽ7,n“>¹=É¢Ú£¾ðuÚ —ý=ÐK°yß>ó0›”×¾ky¡MÒ™2=8 Q2b>lý/.òÂq¾ïÚˆÑt>),8P-V?X~eÍZ ¦?…í·|j£¢¿ÄaxÉ·©?!f?/Ç¢?cÎÌÁ×?è³xN+’°?p †,ZÖ¿¿/%‡y#>©—#¥‘ï> špÅÿµõ>îÍÃâÿ¾º¢GÔû<Ö—¬í­v=:þg,mÙ½£żƌX=ëÍ\ z%c½u·1éÎÝs=&µê–š†…>ÜùuàÓÀ?™üœüºƒ#¿d¨L|? ‡T¯¡?nžaMÖ?{ÚtIdrÎ?:¿– Ê?–<Íh-£>Dÿ‚7ù(?^_=JUï ?oš=‚G8¿8ÏT¡æ=\­Ì¿þ­“=çŠ;·ð¡“½r¨-C«õ<ƒë«yÕÄ‚=ƒë«yÕÄ‚=ƒ1Gc=f§>ùo z£· ?ùo z£· ?gü­².2¨?rL{†¡Ä¹?rL{†¡Ä¹?51<õO¿?Ve$ï• ?Ve$ï• ?xÔ‰r"´ ?o,ºÝ×>o,ºÝ×>X—ÍY€=ÓK>$Jç<ÓK>$Jç<]Dî¿k\=Ï‚žòs½CÄÅúÖÃv=²%tsß>8S¢ä¾ÿnÊ&>ì9·ñ%;>Ÿc|V4­ ?Ø ëW^ ¿`–O¢½á?EâTobBí>d+§Æ»Hk?¤ÚHž2o¿F€º^Ìqs?Ö•5Éè§?À˜JäÔöÔ?ÿÎÄöLÝп=åyIžÓÃ?•x‘±Ù¼ð?®•?.#êg¿eæÞÿ[m¯¿»7íûפ¿Ñr°³ä²?ÀTót—nâ¾" ¢ã0a¿y{VÛ‚P¿¯÷â7ÇÃn?Û!U°'V½…ƒŽ7,n“¾$V-ÓX–¾§,©ý–Cª>ÐK°yß¾ŠÁ_Ò§ä¾¥j÷Ê&><º4³—Q=6‹Ô a!t>¿Öì·E=‚¾8ß#› ‡>äÑò ¨8^?j„óJs¼¤?ŽM?v¤”¿…G¼iª?ܰÛ@Hñ…¿Ò›eÿG8³¿o6(£œ„È?0K±²û{¸?ýÛP.[9¾ß½úb‡ø¾æÏSѬèü¾~³wLB?ÔòcâÂD½+Ú’rÒ!½WLÄ×.=¼ ¦ i=ú`ðB­q½ì¼0‹D„=òÜõ<£>~i„6#)?ð,ÔËÀ5¿ª¡Q )?Ex?ŠJŒ¦¿ýo<ñ£ãÔ¿\,=Û˸¿$cNN…*п7ã÷u8”¾!WÛ¬E¿:ßàeÌ?K„9ÿ›ü ?›Òà8¾™½¡Î^EŽ®½ Ö\–¯¯=HÊDp<=~²<ø¼˜=~²<ø¼˜=ñnrз>ùb3yFÅ ?ùb3yFÅ ?5£`fl:?uÖEؾ?uÖEؾ?×YH`C‡¤?SÍ®%o£¿SÍ®%o£¿>Ì„7¥¿˜ÑhÃ뜾˜ÑhÃ뜾Ñåª8Œ·‰½˜5‰‚«ÿ¼˜5‰‚«ÿ¼8´àIO{)=mã Œâ=í»R¨–0ë>`ªOº4[K?[q .„BÆ?ð?=¿[Z^Áš?=î61[K?ÌÕ»äà²q>\Œ©¡Œâ=ˆ°ÊE¥F>r:d ¤‘?2p€vÉÊ?Ï]’xÉÓ>éçÔj×Ná<“ót©³==ö0!;øú>çß¾>uÉ?µº©°„8?…ãþÙZLc=@XêËl=@XêËl½ Y`ö> Y`ö¾‰ ít–«?‰ ít–«¿âÛcÁ?âÛcÁ¿üòrð†>üòrð†¾¡‘+Ô¹G`½DÄÅúÖÃv=AßoÍHy½1_CÚ×¾žnÊ&>n™²6/¾‚¼ÐdLÝE¾&ºÍ¾;J¿c–O¢½á?ÿ'/÷®%¿ ‰Ø6êí¾˜‰UÍ;åk¿J€º^Ìqs?†¡3$îup¿¾ã*’^¿@ïÄø±½¿:åyIžÓÃ?°÷CpKz¾?ð?EGWØùgj?l²uóÈY±?Ór°³ä²?Ô&ƒŒX¬¿5ædEŠÈò>Õ'öEðƒq?·÷â7ÇÃn?·ÿ…ƒî{¿š™(à$¼e=µ=É¢Ú£>¢,©ý–Cª>n²Y머¾ó0›”×>ªj÷Ê&>š\&v=/¾Ò;kØžT½ ˆFºW˜w¾8ß#› ‡>K\.ÉT–‰¾oMÿÊ«Ùd¿u„áΜ¬¿‹G¼iª?tQîØŸ«¿ÆÕÄ ™­?¶ÝìÙ?IK±²û{¸?÷0Œ]¢Ó¿V ¹°3+B>³Ìtq“?~³wLB?ñaúÊX%¿¡æU,=PLÄ×.=UòÌlŠ8½å5ÑFÅüy½é¼0‹D„=WAVÜ”½Âôq´Õð”¾pZw+­¿ª¡Q )?©sr’³Ó¿a#Ô<B£¿X¿¤P×Ñ¿)cNN…*пNÀ3À@‘¿yüËw:Â>ÌÇ&™w#??L„9ÿ›ü ?¿0â5¬L¿N:àqT®™= Ö\–¯¯=ôé‹êgg®½š±Tõh“½ŽÐ×u }˜½ŽÐ×u }˜½²¥*´¾Ëõ•Á>¿Ëõ•Á>¿Ðo½p–°¿ú4³GT¿ú4³GT¿5,a–æçÂ?å}Ý—2Z™?å}Ý—2Z™?@íu!g?¸ºRe›²>¸ºRe›²>5ilN»›=-*ÎüŽh=-*ÎüŽh=| Üê»A='MÅfÊ`½!I‘²a=Qþ–‹×cÆ>†m×ú%ྩW•µÞQØ>CÊ¥" _?®•?.#êg¿EGWØùgj?ÿÿÿÿÿÿï?»ø»VÊÏ?Çmýßid~>Xïÿ™\? YD°ò„¨¿@ƒìLÖcÆ>ÛÕø9¸IÈ>ïOÓùGã¾úÿ“õ6Y&>õë9·ñ%;>h¼ÐdLÝE¾Ô8ñß¿Å=mëÑ×ཱུכ„†Åä=)úoSxa>®Æ£âqº˜?ùSí£¿»á…çå9Œ?ÕµZ¿bB?m—MüŽZF?£Á)uq7U¿Ð—ðŸãý>Ž éÖqk÷¾æª’—Î?“'7–Û&?ZÀ†±v-¿ŒáDüË7=¿õ?×ÌU-=3ßbsN=ˆê4‚øáL½q‰Gü$å „ê½ÌÚÏ> „ê½ÌÚÏ>xÆNömAv?–‹ÞGˆÏ¯?–‹ÞGˆÏ¯?$“Ö\X?Í4êEy¯Ï>Í4êEy¯Ï>}v€¹ä:Œ=|sÚ2ëêä<|sÚ2ëêä<ðuÚ —ý=ÐK°yß¾ó0›”×>| Üê»A=eœoê6Œ>ê¡…s¾ø¶‹Ý¿ Ÿ>Qþ–‹×cÆ>ͬ°òÓZ?и£µ9e¿×Bå:J÷_?CÊ¥" _?³¼VH¯â¯?eæÞÿ[m¯¿l²uóÈY±?»ø»VÊÏ?ð?•x‘±Ù¼p—Û8'¿åH_%ÓZ?E’…Ž”ìO?­”û´ÚWi¿úÿ“õ6Y&>¼¢”ùw?c|V4­ ?ºÍ¾;J¿k3C —ý=²%tsß>1_CÚ×¾HC‹Ý)SD=…ºŸ4U=Æ+õøgÔb½ Řô!cø<·¯G’hƽðW³T=AX ùŽ"> ¡úŠï>aˆÜÆ÷¾ºÚqxüü>â8,ÞVÕ™?¯¸‹MÀ¢Ò?™8YsÒ¿ãwÆc""º?C÷yËáS?¼>Ž'^¬¤?æ7‘ ñô›?Ͱ…`Ûˆª¿«™)aû)=CÆoU]>P¥Íºbd>u—öUS¹s¾óºøK;÷=ÓWª¥•g ¾Ò(8¯¼1>ž.ä9?ƒU1n&Ž?N|h#\v¿¾}•?!Õ±_óBT?8[ *a“ ?Ö‚\”¿µ¾E×r1¤¿Zy9¹íA>Õf…ÁÛÛÏ>Ï"Ú±"Û>Ä•ü¼Ù¾†Ãä´‘=m÷bÇí®*>m÷bÇí®*>‘’še[¦ ?mÌ.X›ÓM?mÌ.X›ÓM?J?{Æñ¸?ßÚæô_ß?ßÚæô_ß?š@f(•>¤?ª¿¢;»M?ª¿¢;»M?fj•³Ž>ä¤÷„*>ä¤÷„*>Hú;ORœÜ<ÐK°yß>ˆÁ_Ò§ä¾§j÷Ê&>'MÅfÊ`=ì¡…s>í}&pЬ¾n&$ú5°>†m×ú%à>и£µ9e?ík™tn¿‡©-j?«•?.#êg?gæÞÿ[m¯?»7íûפ¿Ór°³ä²?•x‘±Ù¼ð?‘+ Á„BÆ?ßÕø9¸IȾ>’…Ž”ìO¿¯——(k ¿0…Œ‚_?ùë9·ñ%;¾–c|V4­ ¿Ë ëW^ ¿Z–O¢½á?®%tsß¾8S¢ä¾þnÊ&>‚ºŸ4U½tx&ˆd½0¤ëLH¥s=G u±¨=»ØèØ=7)½z£ªi&.=Ô6¼´'Žú>“êJ2Á¿ž}Ää?•!ïmµC¤?8ofmDÕ?Ùû 6 pпçuãÇÕÂ?ø@ç*íU¿Á nžjŸ¿'96/žãy¿l^ä/–¾¥?9;íq²SA½¸î[Òég¾ÈJÁ&ƒŽk¾¶Ê,xÑ>ó´ï¨×ûò*•v'¾úR-‹!>C±Ð;ºõ0?²H Íç{?ªÌêúe?["¿é¯…?ß‘e+U?AYx¢'†™? ú\c›Âq¿LK6‘YÓ ¿ÔQªƒ¦4¾¬Þ¥á¾ÔŸÉ·ë¾ÆrüçS˜ì>Î3‡2Ÿ#¨=~wò@5>~wò@5>úˈb²?»ÜéÚSX?»ÜéÚSX?ÄŠjì- À?{E¥¦5Ì¿{E¥¦5Ì¿øi­Œ\¦¿ó I•ú0¿ó I•ú0¿;£­`´VоlAº .Õ:¾lAº .Õ:¾(“¤Ê‚ó¼\Œ©¡Œâ=ïƒøTå²q>Á,¿°käA?=¿[Z^Áš?ð?‘+ Á„BÆ?G+Í#käA?Þ»R¨–0ë>mã Œâ=!µOÚG{)=8y¯'ÝUÞ<#d;NrÓ>XùP24PÄ?‡²b} p?î õÝã@B>2jHÍÜ=RàX…O}u?¬µ÷.' ‰?¢qA£o³>ÿ+„ „y>ÿ+„ „y¾mò t8?mò t8¿ºÁ¬;@eØ?ºÁ¬;@eØ¿ÁYò‘% 8?ÁYò‘% 8¿­B„«X>­B„«X¾ó0›”×¾¦j÷Ê&>š\&v=/¾!I‘²a½ô¶‹Ý¿ Ÿ¾j&$ú5°>ÉÁBÞ󯾨W•µÞQؾÕBå:J÷_¿†©-j?—ß­OB>^¿@GWØùgj¿m²uóÈY±¿Ñr°³ä²?Ô&ƒŒX¬¿p—Û8'¿å<ð?žYD°ò„¨?²—^¡e=Ö?ýbOü_Ô¿ðOÓùGã>®”û´ÚWi?0…Œ‚_? ®Äüsev¿j¼ÐdLÝE>ºÍ¾;J?M–O¢½á?ô'/÷®%¿1_CÚ×>žnÊ&>q™²6/¾Æ+õøgÔb=3¤ëLH¥s=WÁsUá ½xZ,qê½z£ªi&.=S#ØOÙå0½b­ñ—¸@¾uæë6ä_¿ž}Ää?3LãD ¿€FEB´Œ¿ÀÎOô便˜çuãÇÕÂ?°–„2qI»?a4ŒÏd?sdB­?q^ä/–¾¥?ä‹«Fe‡°¿AÏóµÃP=AjéZv>¹Ê,xÑ>œ¥‚팾¹k¬Â]ë¼Fñð¨Å· ¾úR-‹!>(%°qˆ¾Ù&計LP¿sñ?ªiÑš¿V"¿é¯…?r#Aš•¡¿71üM þd?P~|-P©?NK6‘YÓ ¿° ÿW?«¿[4\J–3>Tò®ð¼à>»rüçS˜ì><±×Kl±è¾­ÓÂά饽’]bQŸ B¾’]bQŸ B¾/vŸ‘7/¿×´.d"J¿×´.d"J¿kÍÃ%0†„?M€¢ãäÿM€¢ãäÿáÇG…\b¢?¾ŠÇâôZ?¾ŠÇâôZ?rY£–Ø´£> ådÉl»?> ådÉl»?>#â„ ÐZ÷<:72Y&>W‰XC@¾ÓOå¬ D>•ÖÞDØ>ÀTót—nâ¾5ædEŠÈò>Çmýßid~>Xïÿ™\?žYD°ò„¨?ÿÿÿÿÿÿï?»ø»VÊÏ?|ùr! _?ì­í€žè`?†s Þ€[o¿w]dJØ>âTobBí>쟉Ø6êí¾¥_¢é´A=Á÷Bh_Ê`=ªGÊЉ²a½éá/g'ßD?P[ÙëŽN¿Ê4ga ,V?É÷(ã¢>òŽŒ×®y¢?d»¥“¢ª?=¦î8iÁž¿¶Õü×/ÏÅ=-oRJ"à=Ûµ*?¨Šæ½´K8‰\lÛ=˜Ð¥˜îÕ½ñaŠu®>\r»i¸É¦>5˜ÈDjô ?¶ìŠV:Ψ¿õón¤œ¿žzf¶‰- >ÏòwI+>Õ@= IH¾"Þ‘Kh¸=õ—úb>õ—úb>0õwkÏ_?L?œ[Hw?L?œ[Hw?{Ú1Õx~?˜èÍ’>R?˜èÍ’>R?p)Ø¥c>w6¨¾}¦=w6¨¾}¦=G÷êI.SD=¯{¤4U½nlÔb=.vÚ —ý=UÐK°yß¾4ó0›”×>:72Y&>“Š+÷w?ÎTcad¿xýß,|?•ÖÞDØ>j!¦Ù>=d?" ¢ã0a¿Õ'öEðƒq?Xïÿ™\?('3qøÓ?²—^¡e=Ö?»ø»VÊÏ?ð?•x‘±Ù¼p—Û8'¿å<|ùr! _?òùz‘®â¯?2“À*l8¦?…OdM¤š´¿w]dJØ>ˆîS]A=d?J+§Æ»Hk?}‰UÍ;åk¿¥_¢é´A=‰Åâã6Œ>5Ss>J44¹ Ÿ¾À3C —ý= &tsß>p_CÚ×¾éïuЙ2=#ð½2b>Òݪ dk¾ýéÿ2+±w>uöÑ­.V?l­ü«[ ¦?ž$Ül¢¿ÕzŒ’s'ª?ûA=‹Ç¢?TH%NÁ×?.1¬„ñ¯Ó?Hï}Ÿ»Æ¿Æ`Š|#>þÌ ¨‘ï>T‘4Üëö>ºÖ£_Úþ¾××I?Ôû<‰Ê°qíV=ï‹!.§½…/äÄÀŒX=“NÜo½ª7ö©Oo=JsÌGœ†…>R„FþÔÀ?ð“haæü¾ ae©4û%?üUÂVS¯¡?”‰tÓMÖ?GŠb‚VÑ¿£ÕÇ&Ä¿ó»Ú–l-£>Ƚ½:ù(?yÐ4KÃ5?öŒ ,†Ž&¿’6¯@æ=NÔY>ß߇=$wø³™½Kê F«õ<—:|PÒÄ‚=—:|PÒÄ‚=ç%¤;f§>ŸóB*¢· ?ŸóB*¢· ?µN.2¨?C5^`¡Ä¹?C5^`¡Ä¹?à…SÆñO¿?™ÉÝcð• ?™ÉÝcð• ?:시)´ ?ã‘à×>ã‘à×>ü‚³éÊY€=˜èq½ Jç<˜èq½ Jç<¯{¤4U=¾Âx>*ˆd½š ªDL¥s=WÐK°yß>ÂÁ_Ò§ä¾Òj÷Ê&>W‰XC@>ÎTcad?Ú`zÅ¿çq?¾Tót—nâ>& ¢ã0a?y{VÛ‚P¿·÷â7ÇÃn?‘+ Á„BÆ?•x‘±Ù¼ð?ï­í€žè`¿<“À*l8¦¿¢ÛYýýÖ}¿áûò÷¹¯?âTobBí¾Q+§Æ»Hk¿ÚHž2o¿;€º^Ìqs?Â÷Bh_Ê`½1Ss¾@/×jЬ¾O×V³5°>&tsß¾\8S¢ä¾EžnÊ&>{šd›_!K=6¶™ïG o> » -}Št¾‚èz©07„>’ÃUz8]?"½{¬ ¤?€p²(&’¿ºNe‹ø©?Ž™Ð¬¨ª¿/D{”ÕÖ¿5'ÛnNtȿЇ¦‹•Í?}»ÏÆ Ê9¾Ÿ« ¡òø¾Q(Û…:þ¾5»¬*w?¤ G¼Ê½4” ‡¨R*½bÇÒ›Ôì0=EªÌFQt=(€ˆØCLj½•ÄÿQŽé‰=g‹?Ê*|>“¯<_?îµ_Óÿì>ÃÇ–)ø?|Ô#· ®©?¥ìLõjÊ×?ÔóJ©¥Ç¿ó¥/îzYÌ¿ Ò¡{VÀ¾âÞ@é;¿P KK§F¿èXVϘ€9? ÀS¤Ð:½=+ãõ”½'È}¥“¨=&»q ÛŠ =øæÚî¦=øæÚî¦=aàÔÔ¥>aÑ$æR?aÑ$æR?{)àOÕ¬?Ù°^Š1柿ٰ^Š1柿ü‰?؈ÿ4uœƒ½l†¿4uœƒ½l†¿žhBH(s ¿C°¥@®¾C°¥@®¾IÖEÙ•½ðrÑo&"ø¼ðrÑo&"ø¼+üeM{)=Œ©¡Œâ=„fÊ–“0ë>=î61[K?‘+ Á„BÆ?ð?óðš¯]Áš?IªOº4[K?ï“Kzá²q>¦ã Œâ=Ê4D¥F>³·Ð' ¤‘?­ÇïvÉÊ?)ógzÉÓ>ÊiÝâÙNá<bj<¢³==ƒ®j†<øú>0>Øä=uÉ?“ú|ƈ8?‰§ XLc=†¨~åËl=†¨~åËl½GeŽQ`ö>GeŽQ`ö¾‹pîF–«?‹pîF–«¿â·’eÁ?â·’eÁ¿ßPI@ð†>ßPI@ð†¾qlÔb½› ªDL¥s=÷+ å ½6ó0›”×¾Òj÷Ê&>Ô\&v=/¾ÑOå¬ D¾}ýß,|¿çq?¾¡aí`ò!¿4ædEŠÈò¾Ô'öEðƒq¿¯÷â7ÇÃn?·ÿ…ƒî{¿ YD°ò„¨¿®—^¡e=ֿýbOü_Ô¿p—Û8'¿å<ð?s Þ€[o?„OdM¤š´?òàûò÷¹¯?"¯ªÿÓº¶¿ñŸ‰Ø6êí>‰UÍ;åk?:€º^Ìqs?}¡3$îup¿ªGÊЉ²a=C44¹ Ÿ>M×V³5°>¥õÚL×ó¯¾l_CÚ×>DžnÊ&>Ì™²6/¾ NwzwW½*{éÚz¾ƒèz©07„>`ˆ¦…,ǾdÁGÒ34e¿Bom ­¿xºNe‹ø©?ÜŒåÿÞ¬¿P»\ ž?bš^Aä]Ê?‡¦‹•Í?ò ¼tÁi³?«É¼ B>”OötŽm??»¬*w?ÑN?nµ¿³B„:¦®=aÇÒ›Ôì0=†@|t]4½p¬» ªzt½˜ÄÿQŽé‰=Áǵ™ 1‰½º®ø…†l¥¾©XÉ£¤P,¿ÃÇ–)ø?Y¯ z­+;¿Ö6pî§?€嫜xË?ÿ¥/îzYÌ¿™ßËjC.²?1éS ï°>ÙÈ;æí,?îXVϘ€9?™kÃB "¿™I>ÉQk =!È}¥“¨=ºtºY=¹½³GÔâ‚î½_PõY~Ÿ½_PõY~Ÿ½”Š&° ½¾Ü©™ï“¿Ü©™ï“¿¿e„¢Jö¡¿dwÛ S½¿dwÛ S½¿–0`$’‡?"þúG¨$¦?"þúG¨$¦?²‚IIwÄ?Ý7bª ª>Ý7bª ª>‘Õ-'¿`•=ˆ ¹LO=ˆ ¹LO=ˆÀÐÙ³A=Û!U°'V½š™(à$¼e=@ƒìLÖcÆ>ßÕø9¸IȾðOÓùGã>|ùr! _?ï­í€žè`¿s Þ€[o?ÿÿÿÿÿÿï?»ø»VÊÏ?Ø"²…d~>*²Ø\?Šs- ì§?†å;•^¿Qþ–‹×cÆ>†m×ú%à>¤W•µÞQؾa:72Y&>GW‰XC@> På¬ D¾½õBÁÅ=æŸ#›jêÛ½ ûhˆÏæ=–’Fxa>ç¯Aoº˜? öÓ¹#¥? šÂbB?xLÌDP?æ½9žQ¿,äþÚâý>BídyüB¿©@êÂo ?O ]“Û&?‘ ˜+Ç:@?³ï-Ƈ?U*ô-ÊU-=Ú¹­´A=ÆjK³2,S½Ä**J$å<Ä**J$å<Š9‘–ûƒ>´˜bgËÚÏ>´˜bgËÚÏ>õ¡kAv?¬·&uŠÏ¯?¬·&uŠÏ¯?’öNŠ!X?΀N}|¯Ï>΀N}|¯Ï>Á!n<à:Œ=¼'ªóèêä<¼'ªóèêä<k3C —ý=®%tsß¾1_CÚ×>ˆÀÐÙ³A=*Àóâ6Œ>…ƒŽ7,n“¾µ=É¢Ú£>@ƒìLÖcÆ>H_%ÓZ?>’…Ž”ìO¿®”û´ÚWi?|ùr! _?òùz‘®â¯?<“À*l8¦¿„OdM¤š´?»ø»VÊÏ?ð?•x‘±é<*²Ø\?©QëirøÓ?ŸdB)ÖöÔ?¦Uîû±½¿Qþ–‹×cÆ>ͬ°òÓZ?и£µ9e?ÕBå:J÷_¿a:72Y&>®“Š+÷w?çTcad?—ýß,|¿.vÚ —ý=SÐK°yß>:ó0›”×¾„âË/SD=íCî¿k\=e‘+Ô¹G`½c7ɶcø<[ÌR ­> ½ò¶´‰ûC=ŠÄÒúŽ">ƒñï>µ“]Qz󾩶6êÔÿ>cÌ™”TÕ™? h>¿¢Ò?³Ù¡az’Ó?Q’ÝÃÍáS?1%â©_¬¤?*í4·X¤?× ç¹¦¿®BlsÊ»)=‡Rº&¢U]>>í*“`an>*WÁ~ä9?ú¼_ªm&Ž?Ùñ‘Ùc’¿)Ö-âˆ?:¸ròBT?æôÚd`“ ?«ðS ën¦?oF\{XÙv??¾XìA>=:º“ÚÛÏ>c–ZchÎ>Y0mÍ×á¾,òqºš´‘=¦£áë®*>¦£áë®*>W·íÄY¦ ?G§P–šÓM?G§P–šÓM?%Ëw¾Ãñ¸?òe _ß?òe _ß?—Zl ˜>¤?s¡»M?s¡»M?¹àŽ>ëG„*>ëG„*> ZÔYœÜ<²%tsß>8S¢ä¾žnÊ&>Û!U°'V=…ƒŽ7,n“>$V-ÓX–¾¢,©ý–Cª>ÛÕø9¸IÈ>E’…Ž”ìO?¯——(k ¿0…Œ‚_?ì­í€žè`?2“À*l8¦?¢ÛYýýÖ}¿òàûò÷¹¯?ð?‘s- ì§¿¢dB)ÖöÔ¿lþLÝп++ " ÓÃ?†m×ú%à¾Ñ¸£µ9e¿îk™tn¿†©-j?GW‰XC@¾çTcad¿ü`zÅ¿Bçq?SÐK°yß¾½Á_Ò§ä¾Õj÷Ê&>íCî¿k\½„‚žòs½ðÃÅúÖÃv="GÞž =]¥Ñ-»½rÂt!*=@fJ;Øx6>cÀl¢ö>ÙÅã°åÜö¾²ŸÈЧ? ߸2PÄ?ÖÓÐ Bê_¿Ü‹™i ¦¿¥éP¥ô  ¿w©oGHª?SÛAsÒI½{9S‰q7q¾ý¬ùF{±€¾7$~ó³ƒ>' f×>Ú<3Uw&+•ú=ñD™uj;𽊻Ø÷ƒè>>ª‰ŒÁåK?²´ižuó–?®GòQ˜¿‰‚#ã”?.9ßûÚRg¿yeW ¬¿* cQxv±¿k‡òçÐù„¿!ˆŽ$'¾zygUÆÓ¾}ÎÃ<#̾PÜ=•LEå>”mU 52™=Árµjÿ:>Árµjÿ:>óìž`"(?•²MÚ1?•²MÚ1?ŠmÏŒ?ª¿×¶“g+Ì?×¶“g+Ì?ÌñG+Í#käA?óðš¯]Áš?ð?°LŽÂ†BÆ?Á,¿°käA?¯fÊ–“0ë>Œ©¡Œâ=Ó³àIO{)=.$ á×UÞ<˜kYOrÓ> ߸2PÄ?ŒcÎ p?7%Íæ@B>;ØŠTÌÜ=c©‘CO}u?Ô ë% ‰?̈¢o³>—R“íy>—R“íy¾sSks8?sSks8¿éð5jAeØ?éð5jAeØ¿C:>' 8?C:>' 8¿>¦¶©X>>¦¶©X¾1_CÚ×¾þnÊ&>q™²6/¾™™(à$¼e½¹=É¢Ú£¾§,©ý–Cª>n²Y머¾ïOÓùGã¾­”û´ÚWi¿0…Œ‚_? ®Äüsev¿†s Þ€[o¿…OdM¤š´¿áûò÷¹¯?"¯ªÿÓº¶¿•x‘±é<ð?†å;•^?¸Uîû±½?0+ " ÓÃ?$ßë£Nz¾?¯W•µÞQØ>×Bå:J÷_?‡©-j?—ß­OB>^¿På¬ D>—ýß,|?Bçq?Õ¡aí`ò!¿2ó0›”×>Íj÷Ê&>×\&v=/¾_‘+Ô¹G`=èÃÅúÖÃv=áÞoÍHy½8Ö^ç/>½lÂt!*=ÂylЧ’6½^xÌŸÎ\B¾Œ²Yeû¿¹ŸÈЧ?ñêŽÞÑK¿‹â÷]¥¿0Wɵֿ´Í" ÇÅÓ¿£;!hòGa?¥U ?g€¨?j©oGHª?âIs…K>¤¿wéf†K=[Év .Zr>,$~ó³ƒ>È*«Œ­ƒ¾¯Ñe¸^vö¼/ ¯ô@À¾Œ»Ø÷ƒè>ŠFOÀl™0¾}ÊsüßB¿Ý„.ãv¿ˆ‚#ã”?d\;Í„p€¿yÚäÉÁ7¿˜tGîv¤|¿D‡òçÐù„¿_7Lb{a†?çb\—:>@ûÅÈ8æ>DÜ=•LEå>ÓÃã)°ö¾èõ*²®½MÂí?¾MÂí?¾|þqÆ[)¿º23GÛ [¿º23GÛ [¿y¯»-`½¿š$‘EaóÃ?š$‘EaóÃ?ŽÍ[»:7«?÷cµŒÃÿI?÷cµŒÃÿI?_Ú8èù‘™>êìôhñA>êìôhñA>EŸŸÐù<úÿ“õ6Y&>ùë9·ñ%;¾j¼ÐdLÝE>w]dJØ>âTobBí¾ñŸ‰Ø6êí>Ø"²…d~>*²Ø\?‘s- ì§¿†å;•^?ÿÿÿÿÿÿï?»ø»VÊÏ?19§© _?°iLL êg?ˆf—õgj¿WÜAØ>l4§@•nâ> nC‡Èò¾™ÀÐÙ³A=Û!U°'V=°™(à$¼e½Nv…)ßD??Gë°é™O¿,YždÍU?Èâòä%ã¢>Ü]Äh®y¢?SžÃBk†?zdÚ‘=®¿¬,e’+ÏÅ=ŸéÈÛ¹ß=.‘¿¦»æ½ŸnAilÛ=ó$_‡žý½xNDö.Nð=ºV™*•ɦ>B/öeô ?Žv‹¾Ç¥?l("š¢?^õo- >¾P¤Èâ>%Ùq/q.¾%™¶l¸=VrÆéþb>VrÆéþb>nêmÏ_?ô|&´^Hw?ô|&´^Hw?çþ+´Ùx~?…QÕp‘>R?…QÕp‘>R?”Ð¥c>mVAEv¦=mVAEv¦=®âË/SD=&Dî¿k\½‘+Ô¹G`=ðuÚ —ý=ÐK°yß¾ó0›”×>úÿ“õ6Y&>¼¢”ùw?–c|V4­ ¿ºÍ¾;J?w]dJØ>ˆîS]A=d?Q+§Æ»Hk¿‰UÍ;åk?*²Ø\?©QëirøÓ?¢dB)ÖöÔ¿¸Uîû±½?»ø»VÊÏ?ð?p—Û8'¿å¼•x‘±é<09§© _?ã¨ÆO¬â¯?9:Zm¯?y5ÇY±¿WÜAØ>òM«==d?É‘y0a?^ˆ¹îƒq¿™ÀÐÙ³A=›*Àóâ6Œ>ƒŽ7,n“>Ã=É¢Ú£¾-3C —ý=u%tsß> _CÚ×¾„¤Ù™2=À·A62b>¹"üõÂq¾ ÍI¨Ñt>ÐÓÇv0V?æìîÎ\ ¦?ú=Ûnk£¢¿r›ŸõË·©?!f?/Ç¢?cÎÌÁ×?é³xN+’°?x †,ZÖ¿60%‡y#>o©—#¥‘ï>SšpÅÿµõ>SÎÃâÿ¾ o”ÓÔû<9ù[³v=ñzqÙ½ˆżƌX=ÕÍ\ z%c½^·1éÎÝs=èy9†¢†…>ô¿¦ÙÀ?¦¿g_¿ƒ#¿¶“šßQ|? @º2P¯¡?«q0MÖ?Ëœ@arÎ?žÖMÊ? <Íh-£>Rÿ‚7ù(?h_=JUï ?ƒš=‚G8¿Óú —æ=&"`ø­“=žª7ê¡“½¡ÇG«õf§>¨¸Ï#¦· ?¨¸Ï#¦· ?‰ù†c/2¨?Œ‘ÍM¤Ä¹?Œ‘ÍM¤Ä¹?01<õO¿?Ze$ï• ?Ze$ï• ?ÏÔ‰r"´ ?K‹ú¶Ú×>K‹ú¶Ú×>"íxèÊY€=¯j!£Jç<¯j!£Jç<(Dî¿k\=«‚žòs½ÄÅúÖÃv=ÐK°yß>ŠÁ_ҧ侪j÷Ê&>õë9·ñ%;>c|V4­ ?Ë ëW^ ¿M–O¢½á?âTobBí>J+§Æ»Hk?ÚHž2o¿:€º^Ìqs?Šs- ì§?ŸdB)ÖöÔ?lþLÝп0+ " ÓÃ?p—Û8'¿å¼ð?¸iLL êg¿9:Zm¯¿q!Jüפ¿Öãš[²ä²?s4§@•nâ¾À‘y0a¿á!„Ü‚P¿+¬Ž¤ÅÃn?Û!U°'V½ˆƒŽ7,n“¾$V-ÓX–¾ª,©ý–Cª>m%tsß¾À8S¢ä¾ÒnÊ&>ƒñ-Û¹—Q=O†\e!t>ï¤FI=‚¾ d  ‡>LïŸüª8^?'Q\t¼¤?«ÇQu¤”¿³:¿®iª?à°Û@Hñ…¿×›eÿG8³¿o6(£œ„È?:K±²û{¸?œÜP.[9¾0¾úb‡ø¾?ÐSѬèü¾Z~³wLB?iå~öÅD½r vÒ!½¡xãû×.=¦ ¦ i=îù`ðB­q½×¼0‹D„=L£Zè£>~#<#)?~F—Å5¿òaÈV )?^w•VEŒ¦¿ãt©¡ãÔ¿%§ßÝ˸¿82úƒ*пy7ã÷u8”¾WÛ¬E¿7:ßàeÌ??„9ÿ›ü ?Xâ¾™½æp?å;Ž®½--®Œ¯¯=1Â0Ñ@=g²<ø¼˜=g²<ø¼˜=nLìз>W QHÅ ?W QHÅ ?êO[Êi:??öÀçÚ¾??öÀçÚ¾?ÛYH`C‡¤?TÍ®%o£¿TÍ®%o£¿„Ì„7¥¿B^z Á뜾B^z Á뜾º9Øvˆ·‰½×ë¤áy«ÿ¼×ë¤áy«ÿ¼´àIO{)=\Œ©¡Œâ=Þ»R¨–0ë>IªOº4[K?°LŽÂ†BÆ?ð?¤)%”[Áš?d‹Ã.[K?ÕÕ»äà²q>Hã Œâ=ôìÔK¥F>R)w' ¤‘?2p€vÉÊ?`Ï]’xÉÓ>ŒY?ÚNá<tót©³==ø®Aøú>—%Ý9uÉ?ĺ©°„8?áËZTLc=&XêËl=&XêËl½·:¸o`ö>·:¸o`ö¾¡1VÏ–«?¡1VÏ–«¿ëÛcÁ?ëÛcÁ¿‚')¿|ð†>‚')¿|ð†¾‚‘+Ô¹G`½ÄÅúÖÃv=ßoÍHy½ó0›”×¾¥j÷Ê&>š\&v=/¾h¼ÐdLÝE¾ºÍ¾;J¿Z–O¢½á?ô'/÷®%¿ìŸ‰Ø6êí¾}‰UÍ;åk¿;€º^Ìqs?}¡3$îup¿†å;•^¿¦Uîû±½¿++ " ÓÃ?$ßë£Nz¾?•x‘±é<ð?f—õgj?}5ÇY±?Ýãš[²ä²?J!™D‰X¬¿ nC‡Èò>dˆ¹îƒq?A¬Ž¤ÅÃn?ܱp€î{¿³™(à$¼e=¿=É¢Ú£>¯,©ý–Cª>z²Y머¾_CÚ×>ÔnÊ&>9™²6/¾ÚpŽàžT½oU,]˜w¾ d  ‡>ÐDo±Z–‰¾°j»È®Ùd¿ 8ø«Ñœ¬¿¿:¿®iª?n…ÛŸ«¿ÃÕÄ ™­?®ÝìÙ?FK±²û{¸?ø0Œ]¢Ó¿Ç ¹°3+B>ðÌtq“?b~³wLB?$búÊX%¿O^K¯,=¤xãû×.=¨ðãý8½Ì5ÑFÅüy½Ô¼0‹D„=AAVÜ”½-6ËlÝ𔾡v:'2­¿bÈV )?nO0«¸Ó¿êëüA£¿þå èN×Ñ¿=2úƒ*п7æ <4@‘¿€üËw:Â>×Ç&™w#??M„9ÿ›ü ?Î0â5¬L¿ÞžÌK®™=0-®Œ¯¯=›–,®]g®½y„m“½zÐ×u }˜½zÐ×u }˜½×ïå§+´¾+r8Ä>¿+r8Ä>¿ï Ø—p–°¿+[êbT¿+[êbT¿.,a–æçÂ?~Ý—2Z™?~Ý—2Z™?ƒíu!g?ã´}qc›²>ã´}qc›²>o©×ßI»›=7Ùĉh=7Ùĉh=¥_¢é´A=Â÷Bh_Ê`½ªGÊЉ²a=Qþ–‹×cÆ>†m×ú%ྯW•µÞQØ>09§© _?¸iLL êg¿f—õgj?ÿÿÿÿÿÿï?»ø»VÊÏ?ènýßid~>~ïÿ™\?µYD°ò„¨¿2iÕØcÆ>ü >•¹IÈ>âÚÅüGã¾âÿ“õ6Y&>Þë9·ñ%;>U¼ÐdLÝE¾9ñß¿Å=2mëÑ×à½â×›„†Åä=%¦U]¸¤›^mº˜?ÝÀÆèOí£¿µ:à9Œ?°ÛLÿÁbB?À~¬ëZF?Q˶‚t7U¿„K…W×ý>h‰üégk÷¾ÚqmŸÅ?Ó,2’Û&?ÜÎNv-¿ñxׯ7=¿çõ?×ÌU-=ßbsN=Rë4‚øáL½Z‰Gü$å „ê½ÌÚÏ> „ê½ÌÚÏ>³pFjAv?Úr”ŠÏ¯?Úr”ŠÏ¯?Ô¢$X?Í4êEy¯Ï>Í4êEy¯Ï>u€¹ä:Œ=çsÚ2ëêä<çsÚ2ëêä<k3C —ý=®%tsß¾1_CÚ×>¥_¢é´A=‰Åâã6Œ>1Ss¾C44¹ Ÿ>Qþ–‹×cÆ>ͬ°òÓZ?Ѹ£µ9e¿×Bå:J÷_?19§© _?ã¨ÆO¬â¯?9:Zm¯¿}5ÇY±?»ø»VÊÏ?ð?p—Û8'¿å¼~ïÿ™\?7'3qøÓ?¬—^¡e=Ö¿2iÕØcÆ>-à1ÇÓZ?m6µ”ìO?¤GÜWi¿âÿ“õ6Y&>û»¢”ùw?€c|V4­ ?ºÍ¾;J¿xW÷¹—ý=~Áãõ|ß>EV–×¾â¸1SD=’¤<ì§4U=…Ò‚oÔb½=Řô!cø<Ú¯G’hƽ·ðW³T=AX ùŽ">-¡úŠï>{ˆÜÆ÷¾ºÚqxüü>Ón?ðRÕ™?%u?{¾¢Ò?LFZ sÒ¿j"º?­/ÃÍáS?Õo©_¬¤?ÿ¹™ñô›?UÆn݈ª¿Cå^Ñ»)=@BæU]>šÿ!IÁbd>tx©^Y¹s¾óºøK;÷=ÓWª¥•g ¾Ò(8¯¼1>£Tyaxä9?ôÛ —h&Ž?*Í7\v¿ýuØB}•?¡¸*ñBT?HßYç_“ ?u,Ó¢\”¿¬.i8q1¤¿ºy9¹íA>$g…ÁÛÛÏ>#Ú±"Û>9Ä•ü¼Ù¾‰(bR™´‘=Q÷bÇí®*>Q÷bÇí®*>—’še[¦ ?mÌ.X›ÓM?mÌ.X›ÓM?À1fÃñ¸? “Y_ß? “Y_ß?kÙÕG—>¤? ¿¢;»M? ¿¢;»M?Âi•³Ž>4¥÷„*>4¥÷„*>/Öƒ \œÜ<²%tsß>8S¢ä¾žnÊ&>Á÷Bh_Ê`=5Ss>@/×jЬ¾M×V³5°>†m×ú%à>и£µ9e?îk™tn¿‡©-j?°iLL êg?9:Zm¯?q!Jüפ¿Ýãš[²ä²?p—Û8'¿å¼ð?¦+ Á„BÆ?ü >•¹IȾ m6µ”ìO¿¶ªrRk ¿ÕqˆÁ‚_?ãë9·ñ%;¾c|V4­ ¿µ ëW^ ¿L–O¢½á?vÁãõ|ß¾ 1⇫ä¾}©váÊ&>¤<ì§4U½&„g.ˆd½®\¸O¥s=k u±¨=ëØèØ=7)½²£ªi&.=Zm%¹;>í6¼´'Žú>¥êJ2Á¿¢ž}Ää?ºCŒ²C¤?½µîkDÕ?•b pпHê|úÅÕÂ?vÏoíU¿°§#CkŸ¿ãˆŽ/–ãy¿wFÈ–¾¥?äÕeÝ»SA½‚œ+ñg¾Törꋎk¾@wyúÚ>ò´ï¨×ûò*•v'¾úR-‹!>ãiJǵõ0?oDyÐÇç{?d ÷e?r%³>¬…?_Úüc+U?£Ê'†™?R¬Ü¡Âq¿®maYÓ ¿%Rªƒ¦4¾·¬ޥ᾿ԟɷë¾þrüçS˜ì>Œ5÷˜#¨=ewò@5>ewò@5>ùˈb²?»ÜéÚSX?»ÜéÚSX?fGC, À?®yb¤5Ì¿®yb¤5Ì¿ÅòaŽ\¦¿ó I•ú0¿ó I•ú0¿²¢­`´Vо¿Aº .Õ:¾¿Aº .Õ:¾…úM‰ó¼mã Œâ=ï“Kzá²q>Á,¿°käA?¤)%”[Áš?ð?¦+ Á„BÆ? ) BläA?лR¨–0ë>¢3hV£Œâ=èZ‹³Q{)=sy¯'ÝUÞ<6d;NrÓ>òì©1PÄ?Ø!žÍ p?Q®ã«é@B>2jHÍÜ=îÈ kK}u?.Ú% ‰?@¢qA£o³>ê+„ „y>ê+„ „y¾mò t8?mò t8¿÷ûõzAeØ?÷ûõzAeØ¿»Yò‘% 8?»Yò‘% 8¿êB„«X>êB„«X¾1_CÚ×¾þnÊ&>q™²6/¾ªGÊЉ²a½J44¹ Ÿ¾O×V³5°>¥õÚL×󯾤W•µÞQؾÕBå:J÷_¿†©-j?—ß­OB>^¿ˆf—õgj¿y5ÇY±¿Öãš[²ä²?J!™D‰X¬¿ð?ÃYD°ò„¨?Å—^¡e=Ö?Á½bOü_Ô¿ãÚÅüGã>¤GÜWi?ÄqˆÁ‚_?&Œ„luev¿Z¼ÐdLÝE> ºÍ¾;J?>–O¢½á?í'/÷®%¿EV–×>{©váÊ&>ÿEŽ?/¾…Ò‚oÔb=®\¸O¥s=“!Kç ½¥Z,qê½¶£ªi&.=t#ØOÙå0½)b­ñ—¸@¾…æë6ä_¿§ž}Ää?'3LãD ¿ÅYÒ<´Œ¿2sq᾿aê|úÅÕÂ?aß§nI»?×p©™ŽÏd? à‘­?óvFÈ–¾¥?©ù"²f‡°¿µ 9ݾÃP=å©÷íïZv>SwyúÚ>Ïs'‹íŒ¾½k¬Â]ë¼Mñð¨Å· ¾úR-‹!> (%°qˆ¾Z3bÊ„LP¿"ÚŒPeÑš¿P%³>¬…?+[’—•¡¿ïKlžþd?„¾n+P©?œmaYÓ ¿rà]ï<«¿§4\J–3>ò®ð¼à>süçS˜ì>n±×Kl±è¾LþŠf§é¥½€]bQŸ B¾€]bQŸ B¾6vŸ‘7/¿×´.d"J¿×´.d"J¿nUe-†„?v»g¦ääÿv»g¦ääÿÿRœ^b¢?·ŠÇâôZ?·ŠÇâôZ? Y£–Ø´£>xådÉl»?>xådÉl»?>îÿèË×Z÷<a:72Y&>GW‰XC@¾På¬ D>WÜAØ>s4§@•nâ¾ nC‡Èò>ènýßid~>~ïÿ™\?ÃYD°ò„¨?ÿÿÿÿÿÿï?»ø»VÊÏ??©Bù$ _?zå¼uŸè`?K¬áTobBí>ŒŸ‰Ø6êí¾Êc·K¼A=ÙØÁ²fÊ`=ëÂ<‘²a½oeÊ#ßD?Ö8ŽN¿ž`í‰,V?SÆh´=ã¢>†Ïñy¢?7[5N—¢ª?òï¨5oÁž¿«¶[:ÏÅ=ŒP6R"à=VÓ䲊æ½ÚX%TJlÛ=T<ƒ‰îÕ½¨Þ¹j®>L‘g4žÉ¦>»0ígô ?eŠ‹b6Ψ¿`"ç—¤œ¿ìzf¶‰- >òwI+> A= IH¾ƒÞ‘Kh¸=³õ—úb>³õ—úb>0!®@fÏ_?+›õ[Hw?+›õ[Hw?•äàÙx~?wèÍ’>R?wèÍ’>R?£)Ø¥c>¡6¨¾}¦=¡6¨¾}¦=HC‹Ý)SD=‚ºŸ4U½Æ+õøgÔb=À3C —ý=&tsß¾l_CÚ×>a:72Y&>®“Š+÷w?çTcad¿—ýß,|?WÜAØ>òM«==d?À‘y0a¿dˆ¹îƒq?~ïÿ™\?7'3qøÓ?Å—^¡e=Ö?»ø»VÊÏ?ð?p—Û8'¿å¼?©Bù$ _?’b;«°â¯?#rxl8¦?è$ÓÃ¥š´¿ ]dJØ>dîS]A=d?+§Æ»Hk?_‰UÍ;åk¿Êc·K¼A=FÊ\[ê6Œ>ÓàiÔ…s>väÄ¿ Ÿ¾åV÷¹—ý=âÀãõ|ß>§EV–×¾EðuЙ2=\ð½2b>%Þª dk¾Bêÿ2+±w>÷¡+V?ýt»Y ¦?1ÙÌ0k¢¿ÙËôq'ª?¡y•øÉ¢?Õ)Ë6Ã×?õ5•Sò¯Ó?"Î|º¡»Æ¿Ï)„#>3P©P¯‘ï>· õðö>•»úÚþ¾Wt%ö#Ôû<ˆxJôV=v• 6§½›/äÄÀŒX=³NÜo½2ª7ö©Oo=2^½W“†…>ÕYÏÀ?ë…l'Yæü¾Ë¦/û%?[@èQ¯¡?ØFÝMÖ?8Tÿ£Vѿγ$Ä¿¼Ú–l-£>ã½½:ù(?Ð4KÃ5? ,†Ž&¿±\Óóªæ=ž×$é߇=(õ—¾™½ÜŸ?«õ<ª:|PÒÄ‚=ª:|PÒÄ‚=!&¤;f§>ËóB*¢· ?ËóB*¢· ?jáyb+2¨?hi¢Ä¹?hi¢Ä¹?Î>é]õO¿?…ÉÝcð• ?…ÉÝcð• ?…닜)´ ?ã‘à×>ã‘à×>1AE_ÏY€=4*Æ%Jç<4*Æ%Jç<…ºŸ4U=tx&ˆd½3¤ëLH¥s= &tsß>\8S¢ä¾DžnÊ&>GW‰XC@>çTcad?ü`zÅ¿Bçq?l4§@•nâ>É‘y0a?á!„Ü‚P¿A¬Ž¤ÅÃn?¦+ Á„BÆ?p—Û8'¿å¼ð?zå¼uŸè`¿#rxl8¦¿f7X1ñÖ}¿nÎΞø¹¯?³áTobBí¾+§Æ»Hk¿HÚHž2o¿!€º^Ìqs?ÚØÁ²fÊ`½ËàiÔ…s¾:¹ÉdqЬ¾ùÞI.5°>ÙÀãõ|ß¾r0⇫ä¾ ©váÊ&>›d›_!K=‘¶™ïG o>Ý» -}Št¾½èz©07„>èÆ_¬w8]?rŒ« ¤?_u#*&’¿ æë÷‰ø©?¦_ã૪¿¡¬z•ÕÖ¿\NwLtÈ¿N è•Í?jH/ëÊ9¾ˆÐñɦòø¾íO¨}Aþ¾ìR~î/w?EÉpHÄʽw€©²R*½ÂsÚôÚì0=YªÌFQt=?€ˆØCLj½®ÄÿQŽé‰=¯’-¾*|>­gN?U¢Ëÿì> ±=¬$ø?8 Œ ®©?‰#GÌiÊ×?èޥǿ”ìä™xYÌ¿%Ò¡{VÀ¾âÞ@é;¿c KK§F¿þXVϘ€9?…¶ Þ:½4ê ìõ”½–%yj¯“¨=ÜÛiÑŠ =çÚî¦=çÚî¦=“àÔÔ¥>‚Ñ$æR?‚Ñ$æR?÷B7MÕ¬?cÞ‚.柿cÞ‚.柿–óX-ڈÿ0uœƒ½l†¿0uœƒ½l†¿hBH(s ¿]°¥@®¾]°¥@®¾ÃÕDKÙ•½Ñ"S+"ø¼Ñ"S+"ø¼!µOÚG{)=¦ã Œâ=¯fÊ–“0ë>d‹Ã.[K?¦+ Á„BÆ?ð?©ìÁ¥_Áš?ªOº4[K?H}CŠå²q>D3hV£Œâ=4D¥F>"'…s ¤‘?7áÎßyÉÊ?Ýø~ÉÓ> õÊŒàNá<;bj<¢³==>%h%5øú>²Ã´å:uÉ?³ú|ƈ8?ègÂi`Lc=¡¨~åËl=¡¨~åËl½ieŽQ`ö>ieŽQ`ö¾|‰+–«?|‰+–«¿»·’eÁ?»·’eÁ¿ïPI@ð†>ïPI@ð†¾Æ+õøgÔb½0¤ëLH¥s=WÁsUá ½p_CÚ×¾EžnÊ&>Ì™²6/¾ På¬ D¾—ýß,|¿Bçq?Õ¡aí`ò!¿ nC‡Èò¾^ˆ¹îƒq¿+¬Ž¤ÅÃn?ܱp€î{¿µYD°ò„¨¿¬—^¡e=Ö¿Á½bOü_Ô¿ð?VO‰UÍ;åk?€º^Ìqs?l¡3$îup¿ëÂ<‘²a=pväÄ¿ Ÿ>öÞI.5°>±¢ŸÝ󯾧EV–×>©váÊ&>lEŽ?/¾}NwzwW½u{éÚz¾¼èz©07„>ˆ¦…,ǾZVXá04e¿*Éì®­¿úåë÷‰ø©?'ïáüÞ¬¿›¥vž?“†žêæ]Ê?O è•Í?„ï—ÄÂi³?õ|…B>}%è.’m?ïR~î/w?n Ñtµ¿y2Wܯ®=ÆsÚôÚì0=G€{]4½…¬» ªzt½²ÄÿQŽé‰=Ûǵ™ 1‰½ºbø}l¥¾¬ äbP,¿{±=¬$ø?ŸÃë¦+;¿.¾›v §?¶½§™xË?Hìä™xYÌ¿•Æ{B.²?+1éS ï°>÷È;æí,?YVϘ€9?«kÃB "¿=u=¬Xk = %yj¯“¨=ùSÅ d=¹½@a…}î½}PõY~Ÿ½}PõY~Ÿ½àŠ&° ½¾õ©™ï“¿õ©™ï“¿ba nHö¡¿’¼ÁüS½¿’¼ÁüS½¿ñù–w'’‡? þúG¨$¦? þúG¨$¦?‚IIwÄ?÷7bª ª>÷7bª ª>l«ÀÄ`•=MµÚS=MµÚS=™ÀÐÙ³A=Û!U°'V½³™(à$¼e=2iÕØcÆ>ü >•¹IȾãÚÅüGã>?©Bù$ _?zå¼uŸè`¿VkN´™\?½•5Éè§?¾ã*’^¿ÓÆŸáÕcÆ>2h4ýù%à>S‘4ÜQؾϱãã3Y&>6ÝåD@>ö¶ÏÕD¾üõBÁÅ=5 #›jêÛ½bûhˆÏæ=Y•’Fxa>çæ¯Aoº˜?i öÓ¹#¥?.¶ÄQÂbB? ®ÍDP? ²8žQ¿,äþÚâý>BídyüB¿§@êÂo ?¼¡ÿæŠÛ&?¿íRÁ:@?·{UÄ¿‡?‰ÃƒËÕU-=;D¼A=Ø:,S½M»Ñ $å<M»Ñ $å<Š9‘–ûƒ>™bgËÚÏ>™bgËÚÏ>Ý¡kAv?ÅtÀŒÏ¯?ÅtÀŒÏ¯?d>WßX?»µÄés¯Ï>»µÄés¯Ï>”›-ÛÝ:Œ=–'ªóèêä<–'ªóèêä<.vÚ —ý=SÐK°yß¾2ó0›”×>™ÀÐÙ³A=›*Àóâ6Œ>ˆƒŽ7,n“¾¿=É¢Ú£>2iÕØcÆ>-à1ÇÓZ? m6µ”ìO¿¤GÜWi??©Bù$ _?’b;«°â¯?#rxl8¦¿å$ÓÃ¥š´?»ø»VÊÏ?ð?•x‘±é¼p—Û8'¿õ =àÓZ?×HA±´9e?~H÷_¿Ï±ãã3Y&>(Žiøw?:Ákdbd?BñHU-|¿?W÷¹—ý==Áãõ|ß>éEV–×¾ 8Þ)SD=€óø·k\=Ð÷†µG`½ü¯#cø<ú)Õ²> ½J§ýD=ÂÄÒúŽ">±ñï>0µ“]Qzó¾Ü¶6êÔÿ>BÌ™”TÕ™?ùg>¿¢Ò?£Ù¡az’Ó?{Ѓ ÎáS?.ÃwØ_¬¤?Í»Ê2¸X¤?wȃ¸¦¿¢ÓV)Ë»)=K7 ¢U]>Ð<¥Šaan>HBÆš41p¾èè~vD;÷=ðjÈ€Sô½NÖ~¬ue>*WÁ~ä9?ú¼_ªm&Ž?Ùñ‘Ùc’¿"Ö-âˆ?VŸ„)íBT?úˆÇ]“ ? 0Ñ´çn¦?ÓùpTÙv?v‘]òA>­rì¸ßÛÏ><¯JihÎ>“‘ðPÚá¾®,[´‘=üP¥ð®*>üP¥ð®*>W·íÄY¦ ?r§P–šÓM?r§P–šÓM?Ëw¾Ãñ¸?ì?,_ß?ì?,_ß?‘b¬°—>¤?¾i1 »M?¾i1 »M?´¬4aŽ>ÓG„*>ÓG„*>SÐK°yß>½Á_Ò§ä¾Íj÷Ê&>Û!U°'V=ƒŽ7,n“>$V-ÓX–¾¯,©ý–Cª>ü >•¹IÈ>m6µ”ìO?¶ªrRk ¿ÄqˆÁ‚_?zå¼uŸè`?#rxl8¦?f7X1ñÖ}¿^ÎΞø¹¯?•x‘±é¼ð?Õ5É觿˜JäÔöÔ¿ôÎÄöLÝп(åyIžÓÃ?3h4ýù%à¾ÑHA±´9e¿ ú¯Ñtn¿ž-€æŽj?9ÝåD@¾4Ákdbd¿íÖnÇ¿q±gq?=Áãõ|ß¾Ñ0⇫ä¾R©váÊ&>€óø·k\½Åˆ=Ùs½«ß›ÐÃv=UùÛÕäž =µeÅ­3»½oœä z!*=fJ;Øx6>Àl¢ö>ðÅã°åÜö¾ÐŸÈЧ?߸2PÄ?¦Ž4ÀCê_¿4BH„ ¦¿®Zö¹ö  ¿úÓÁÈGHª?¦Ïb3tÒI½2 r7q¾ñä|±€¾Ò³×F´ƒ>ÁmôÅÊ>Ú< UÍ€"•ú=RÃõd;𽡬p³}è>=ª‰ŒÁåK?±´ižuó–?²GòQ˜¿†‚#ã”?ÁÕ[ÖRg¿ ý ¬¿¹À vv±¿wÉoÍù„¿zq¼•$'¾N],BYÆÓ¾f hTˆ#̾õ”‘mPEå>X[¿G82™=v†Üqoÿ:>v†Üqoÿ:>÷ìž`"(?•²MÚ1?•²MÚ1?smÏŒ?ª¿(™Çle+Ì?(™Çle+Ì?‡ôÙ »“¿ÉÍÎRþW¿ÉÍÎRþW¿ ¹§[È` ¾Ë®]R~ô4¾Ë®]R~ô4¾Œ©¡Œâ=ÕÕ»äà²q> ) BläA?©ìÁ¥_Áš?ð?Hq .„BÆ?ùËWôjäA?Š]!¬”0ë>{3hV£Œâ=U(ÛG{)=ŠÛ$NßUÞ<¶kYOrÓ>߸2PÄ?ö¯™ö p?Ü.¢ç@B>Ì”2ÄÜ=c©‘CO}u?±yèZ! ‰?J ±®¥o³>B¼?†y>B¼?†y¾˜Sks8?˜Sks8¿7 ©BeØ?7 ©BeØ¿u:3# 8?u:3# 8¿+¦¶©X>+¦¶©X¾:ó0›”×¾Õj÷Ê&>×\&v=/¾°™(à$¼e½Ã=É¢Ú£¾ª,©ý–Cª>z²Y머¾âÚÅüG㾤GÜWi¿ÕqˆÁ‚_?&Œ„luev¿K‚H÷_?ª-€æŽj?‘δÉ>>^¿ö¶ÏÕD>8ñHU-|?k±gq?ü¯Ð÷`ò!¿àEV–×>J©váÊ&>¼EŽ?/¾Ð÷†µG`=«ß›ÐÃv=©ÄÆHy½,ËU6>½qœä z!*=!èW­’6½•xÌŸÎ\B¾¦²Yeû¿ÖŸÈЧ? ëŽÞÑK¿râ÷]¥¿&Wɵֿ­Í" ÇÅÓ¿»³½òGa?¡•–f€¨?áÓÁÈGHª?¬k©©I>¤¿ÃÑt‚†K=OéM.Zr>Ö³×F´ƒ>Ó`IC­ƒ¾™f'öTvö¼E†:À¾’¬p³}è>™øNh™0¾xÊsüßB¿ê„.ãv¿‘‚#ã”?i\;Í„p€¿-«g|Á7¿¨^iÏq¤|¿ÔÉoÍù„¿=´GVwa†?ß`©:>Xt: Ì8æ>ú”‘mPEå>ŠÖÜ,°ö¾…ù©}¶®½Ÿç™Ü%í?¾Ÿç™Ü%í?¾|þqÆ[)¿Ú23GÛ [¿Ú23GÛ [¿X¯»-`½¿ý&OJbóÃ?ý&OJbóÃ?Éë]97«?EÜã2¿ÿI?EÜã2¿ÿI?›cÁ4ø‘™>ÙìôhñA>ÙìôhñA>âÿ“õ6Y&>ãë9·ñ%;¾Z¼ÐdLÝE> ]dJØ>³áTobBí¾šŸ‰Ø6êí>®à5ñad~>kN´™\?Õ5Éè§¿¾ã*’^?ÿÿÿÿÿÿï?»ø»VÊÏ?™¾*# _?üU$$êg?«F Qùgj¿ä3êÛHØ>üu•D›nâ>° Èò¾6ë¼A=¬(Ù%¼'V=€¸.40¼e½:xœÈ%ßD?…”«{å™O¿øt“Ö`ÍU?Œm q=ã¢>‘ Qº±y¢? ÷¸Gk†?bm—=®¿÷YðR6ÏÅ=T€‘në¹ß=ÝÄ[•±»æ½HÅaYlÛ=ØsTpvžý½ý¿œX%Nð=†U™*•ɦ>éA/öeô ?Yv‹¾Ç¥?l("š¢?­[ ’- >˃R]Óâ>e%½ðAq.¾êÆÃd¸=&)Rüb>&)Rüb>²­°—lÏ_?}&´^Hw?}&´^Hw?Óþ+´Ùx~?ŸQÕp‘>R?ŸQÕp‘>R?…÷æºÕ¥c>Æ_µz¦=Æ_µz¦=„âË/SD=íCî¿k\½_‘+Ô¹G`=-3C —ý=m%tsß¾_CÚ×>âÿ“õ6Y&>û»¢”ùw?c|V4­ ¿ ºÍ¾;J? ]dJØ>dîS]A=d?+§Æ»Hk¿O‰UÍ;åk?kN´™\?zJêœpøÓ?˜JäÔöÔ¿jïÄø±½?»ø»VÊÏ?ð?•x‘±é¼p—Û8'¿õ<™¾*# _?ùü“—¯â¯?Ý™#š]m¯?ËÝ~ÈY±¿ä3êÛHØ>³Oµª@=d?cþX*0a?8¸Úˆñƒq¿6ë¼A=Ö–çê6Œ>˜˜±1n“>PŒ.Çߣ¾þ3C —ý=L&tsß>š_CÚ×¾Iy¡MÒ™2=& Q2b>Yý/.òÂq¾ ïÚˆÑt>è+8P-V?)~eÍZ ¦?Yí·|j£¢¿ŽaxÉ·©?ûO³ðÉ¢?ý˜0Ã×?$eS(-’°?ïŠ<ä-ZÖ¿ é#>?"@w¬‘ï>ÄEÓ¶õ>Kvôœÿ¾ËˆV廌X=YŒÈ+r%c½#ÂÆTÆÝs=å´ê–š†…>°ùuàÓÀ?wüœüºƒ#¿íd¨L|?‚@º2P¯¡?“q0MÖ?¬œ@arÎ?«ÖMÊ?­Eßgp-£>uNþ=ù(?Ý«[\ï ?DÁ4ˆG8¿8ÏT¡æ=\­Ì¿þ­“=áŠ;·ð¡“½¡ÇG«õÐo z£· ?Ðo z£· ?7ü­².2¨?¡‘ÍM¤Ä¹?¡‘ÍM¤Ä¹?!1<õO¿?ie$ï• ?ie$ï• ?ÆX–'´ ?8o,ºÝ×>8o,ºÝ×>Œƒ šãÖ@=íCî¿k\=„‚žòs½èÃÅúÖÃv=u%tsß>À8S¢ä¾ÔnÊ&>Þë9·ñ%;>€c|V4­ ?µ ëW^ ¿>–O¢½á?¬áTobBí>+§Æ»Hk?HÚHž2o¿€º^Ìqs?½•5Éè§?«˜JäÔöÔ?ôÎÄöLÝпEåyIžÓÃ?•x‘±é¼ð?V$$êg¿æ™#š]m¯¿ £¿óþפ¿ŸPáú³ä²?v•D›nâ¾\þX*0a¿v¿ªß‚P¿Ÿ†›ÈÊÃn?­(Ù%¼'V½˜˜±1n“¾›mzÙX–¾0];žCª>L&tsß¾™8S¢ä¾pžnÊ&>l<º4³—Q=‹Ô a!t>¨Öì·E=‚¾î7ß#› ‡>ŒÑò ¨8^?J„óJs¼¤?îM?v¤”¿YG¼iª?F°/¾Lñ…¿Aµ53J8³¿73ä Ÿ„È?[Ô,þ{¸?.8Å8[9¾ŠyX®h‡ø¾à’³èü¾„a1»QB?ŒgŸýš i=í!;­q½k¬bG‚D„=¸Üõ<£>Ii„6#)?Ç,ÔËÀ5¿†¡Q )?,w•VEŒ¦¿»t©¡ãԿܦßÝ˸¿72úƒ*пÜ­ü}8”¾Ÿçõ\±E¿©eê•kÌ?¢¯5 ü ?£Òà8¾™½«Î^EŽ®½ Ö\–¯¯=,Â0Ñ@=1²<ø¼˜=1²<ø¼˜= øz3з>Êb3yFÅ ?Êb3yFÅ ?Õ¢`fl:?EöÀçÚ¾?EöÀçÚ¾?ªYH`C‡¤?nÍ®%o£¿nÍ®%o£¿h™:;¥¿½ÑhÃ뜾½ÑhÃ뜾XG>”ÏS½Ó³àIO{)=Hã Œâ=лR¨–0ë>ªOº4[K?Hq .„BÆ?ð?¬Z¤^Áš?#ŒÀ3[K?»°öáå²q>Ëã Œâ=ý‡°ÊE¥F>óq:d ¤‘?ý=DÖyÉÊ?“ý.}ÉÓ>Ôð Wœ³==À0!;øú>t%Ý9uÉ?Ò­JäŒ8?…ãþÙZLc=æXêËl=æXêËl½ñ Y`ö>ñ Y`ö¾º1VÏ–«?º1VÏ–«¿ ÛcÁ? ÛcÁ¿órð†>órð†¾e‘+Ô¹G`½ðÃÅúÖÃv=áÞoÍHy½ _CÚ×¾ÒnÊ&>9™²6/¾U¼ÐdLÝE¾ºÍ¾;J¿L–O¢½á?í'/÷®%¿ŒŸ‰Ø6êí¾_‰UÍ;åk¿!€º^Ìqs?l¡3$îup¿¾ã*’^¿ïÄø±½¿(åyIžÓÃ?‰÷CpKz¾?p—Û8'¿õ<ð?«F Qùgj?ÖÝ~ÈY±?¢Páú³ä²?xÚxɉX¬¿· Èò>/¸Úˆñƒq?›†›ÈÊÃn?ø—en„î{¿¸.40¼e=HŒ.Çߣ>%];žCª>ÜF5®ñ¨¸¾š_CÚ×>pžnÊ&>š²6/¾¯;kØžT½†ˆFºW˜w¾ê7ß#› ‡>8\.ÉT–‰¾8MÿÊ«Ùd¿N„áΜ¬¿[G¼iª?QQîØŸ«¿ÙNzŸ ™­?¸½i(ßìÙ?[Ô,þ{¸?ê¨_¢Ó¿'\˜:+B>¶½”?u“?€a1»QB?¨õ ý[%¿² ºüy½m¬bG‚D„=>AªÓ”½Œôq´Õð”¾EZw+­¿ˆ¡Q )?Ÿsr’³Ó¿ØëüA£¿ôå èN×Ñ¿/2úƒ*п1è <4@‘¿iŸd!:Â>Ð|3#??÷¡¯5 ü ?>âs<¬L¿J:àqT®™=ÿ Ö\–¯¯=æé‹êgg®½d?a'ºzÒ¼y„m“½CÐ×u }˜½CÐ×u }˜½âÌòh'´¾¥õ•Á>¿¥õ•Á>¿²o½p–°¿6[êbT¿6[êbT¿&,a–æçÂ?~Ý—2Z™?~Ý—2Z™?Î[ÍŒ$g?ǺRe›²>ǺRe›²>5=ǶZ=Êc·K¼A=ÚØÁ²fÊ`½ëÂ<‘²a=ÓÆŸáÕcÆ>3h4ýù%à¾^‘4ÜQØ>™¾*# _?V$$êg¿«F Qùgj?ÿÿÿÿÿÿï?»ø»VÊÏ?ˆlýßid~>/ïÿ™\?xYD°ò„¨¿iÕØcÆ>Þ >•¹IÈ>ÇÚÅüGã¾ÓxÖ-Y&>½™µ¡æ%;>4—IÐCÝE¾ÌÚœ»ÁÅ=Û¥FÅÓ×à½M=Õý‡Åä=%¦U]¸¤›^mº˜?ÞÀÆèOí£¿µ:à9Œ?GÛLÿÁbB?O~¬ëZF?æÊ¶‚t7U¿k—ðŸãý>: éÖqk÷¾–ª’—Î?4Ó,2’Û&?÷ÎNv-¿(xׯ7=¿µuP²ÍU-=¦×ÃabsN=Æ1ˆëùáL½®>é, $å<®>é, $å<Žjƒ>lZ)iÑÚÏ>lZ)iÑÚÏ>ô;ïúiAv?½FÆ2ŒÏ¯?½FÆ2ŒÏ¯?IÔ¢$X?,O§'q¯Ï>,O§'q¯Ï>WëÞª÷üS=xW÷¹—ý=vÁãõ|ß¾EV–×>Êc·K¼A=FÊ\[ê6Œ>ËàiÔ…s¾pväÄ¿ Ÿ>ÓÆŸáÕcÆ> =àÓZ?ÑHA±´9e¿‚H÷_?™¾*# _?ùü“—¯â¯?æ™#š]m¯¿ÖÝ~ÈY±?»ø»VÊÏ?ð?•x‘±é¼p—Û8'¿õà1ÇÓZ?îl6µ”ìO?ü¤GÜWi¿ÓxÖ-Y&>!jòôw?b(‚W.­ ?.|E7J¿qÐ*#cø<¶Ä™iƽeÔ³T=å ^úŽ">t zÕï>®¬C ÷¾—ïÒ%yüü>Ón?ðRÕ™?%u?{¾¢Ò?LFZ sÒ¿j"º?T/ÃÍáS?œo©_¬¤?·¹™ñô›?Æn݈ª¿ÄÊ¡ºI;÷=„¡­-“g ¾Å~8Fº1>Õ.ä9?WU1n&Ž?ÒM|h#\v¿ï¾}•?°¸*ñBT?RßYç_“ ?€,Ó¢\”¿¸.i8q1¤¿sÊ*îA>à\"ÜÛÏ>æI)«±"Û>™ãìÓü¼Ù¾ÛYy3‚Z=0È­1 ±">(«~ûŠf)>íÕ4´Ê8¾<”Û˜´‘= €éð®*> €éð®*>¶ú\¦ ?™½¬üÓM?™½¬üÓM?ùƒ„ÚÂñ¸?¡îâå_ß?¡îâå_ß?>ÙÕG—>¤?¡Pî  »M?¡Pî  »M?ä×λl>~Áãõ|ß> 1⇫ä¾{©váÊ&>ÙØÁ²fÊ`=ÓàiÔ…s>:¹ÉdqЬ¾öÞI.5°>2h4ýù%à>×HA±´9e? ú¯Ñtn¿ª-€æŽj?üU$$êg?Ý™#š]m¯? £¿óþפ¿¢Páú³ä²?•x‘±é¼ð?y+ Á„BÆ?é >•¹IȾm6µ”ìO¿ç«rRk ¿ÙqˆÁ‚_?Ùµ¡æ%;¾n(‚W.­ ¿÷F§X ¿ [Ì·á?Ø}.Ü©=z(˶?7)½ ÈŸ4k&.=â¡e<;>ÑŸb)Žú>I‡r3Á¿V€i¢Åä?ºCŒ²C¤?½µîkDÕ?•b pпHê|úÅÕÂ?ÏoíU¿d§#CkŸ¿çˆŽ/–ãy¿ÈvFÈ–¾¥?W Õûò<áïÉF:>žuÄq v'¾n<‹+‹!>#±Ð;ºõ0?˜H Íç{?ªÌêúe?F"¿é¯…?eÚüc+U?£Ê'†™?.¬Ü¡Âq¿®maYÓ ¿än¢ƒ¦4¾‹å¿¥á¾+æ7ÄÈ·ë¾[»êFT˜ì>uX?ŽYZ&½‹…›0¾×¼ÙéQ½3¾w9F>镘#¨=S¸ÌC5>S¸ÌC5>¢ëþb²?§ÔH VX?§ÔH VX?Ïz@, À?‘›Áƒ¥5Ì¿‘›Áƒ¥5Ì¿èÄòaŽ\¦¿à¿®Óú0¿à¿®Óú0¿¬ GAw¾¢3hV£Œâ=H}CŠå²q>ùËWôjäA?¬Z¤^Áš?ð?y+ Á„BÆ?) BläA?ávòÁ0ë>53 ¨ÞUÞ<ÍݧŽOrÓ>òì©1PÄ?£!žÍ p?'c’ÊÜ=2àX…O}u?*.Ú% ‰?¸ŠÐ|£o³>eé2¿¡>¤St†y>¤St†y¾?™;v8??™;v8¿Ì&!\BeØ?Ì&!\BeØ¿›‹ìÂ! 8?›‹ìÂ! 8¿EV–×¾}©váÊ&>ÿEŽ?/¾ëÂ<‘²a½väÄ¿ Ÿ¾ùÞI.5°>±¢ŸÝó¯¾S‘4ÜQؾ~H÷_¿ž-€æŽj?‘δÉ>>^¿«F Qùgj¿ËÝ~ÈY±¿ŸPáú³ä²?xÚxɉX¬¿p—Û8'¿õ<ð?ƒYD°ò„¨?Ÿ—^¡e=Ö?¯½bOü_Ô¿ÉÚÅüGã>ñ¤GÜWi?°qˆÁ‚_?Œ„luev¿8—IÐCÝE>.|E7J?üZÌ·á?’«%¿ rê½ ÈŸ4k&.=n IËÙå0½é8ט¸@¾ë@\œä_¿W€i¢Åä?PªàhãD ¿ÅYÒ<´Œ¿2sq᾿aê|úÅÕÂ?aß§nI»?ƒp©™ŽÏd?Ô à‘­?ÆvFÈ–¾¥?€ù"²f‡°¿þ,-$¾]ë¼¾‚· ¾n<‹+‹!>~B‹nˆ¾¸&計LP¿Rñ?ªiÑš¿)"¿é¯…?^#Aš•¡¿ÿKlžþd?”¾n+P©?¤maYÓ ¿‚à]ï<«¿)ÿK–3>!_V6ñ¼à>o»êFT˜ì>‚¢Ó¨m±è¾°% \5Ñ5={¦-5@>Š9F>[ï¢ÄßÊT¾ãAq“¦é¥½G>ë?¡ B¾G>ë?¡ B¾!ë27/¿âZÒÝ#J¿âZÒÝ#J¿”’ê5†„?™MïÆáäÿ™MïÆáäÿôþRœ^b¢?ê×Ú?ÞôZ?ê×Ú?ÞôZ?˜¦éà->ϱãã3Y&>9ÝåD@¾ö¶ÏÕD>ä3êÛHØ>v•D›nâ¾· Èò>ˆlýßid~>/ïÿ™\?ƒYD°ò„¨?ÿÿÿÿÿÿï?»ø»VÊÏ?Ž©Bù$ _?©å¼uŸè`?Œ}«½ÔZBí>N‹˜Ñ/êí¾eÊ#ßD?[8ŽN¿N`í‰,V?³Åh´=ã¢>†Ïñy¢?[5N—¢ª?Áï¨5oÁž¿J8‰\lÛ=¼Ï¥˜îÕ½eðaŠu®>“g4žÉ¦>ó0ígô ?µŠ‹b6Ψ¿–"ç—¤œ¿a–üâ- >ÚŽ$ë~I+>Lã„ÐQH¾˜èú׃a=ºÝM~X9=Ù‹XË"ôA½sÕ™ån¸=Ìxpÿb>Ìxpÿb>êV‚€iÏ_?Ó³S_Hw?Ó³S_Hw?näàÙx~?kë:8>R?kë:8>R?lžÄl¶>â¸1SD=¤<ì§4U½…Ò‚oÔb=åV÷¹—ý=ÙÀãõ|ß¾§EV–×>ϱãã3Y&>(Žiøw?4Ákdbd¿8ñHU-|?ä3êÛHØ>³Oµª@=d?\þX*0a¿/¸Úˆñƒq?/ïÿ™\?'3qøÓ?Ÿ—^¡e=Ö?»ø»VÊÏ?ð?•x‘±é¼p—Û8'¿õ<Ž©Bù$ _?Áb;«°â¯?2#rxl8¦?ù$ÓÃ¥š´¿Têê&DØ>ÁŽC†>=d?%4#Û·Hk?ìÕ¯}8åk¿ãð4Ô™2=‚s2b>D+Å3dk¾eíZû-±w>Ü÷¡+V?Ît»Y ¦? ÙÌ0k¢¿ Ëôq'ª?y•øÉ¢?Æ)Ë6Ã×?ø5•Sò¯Ó?)Î|º¡»Æ¿bBÖÀŒX=2Uo½[u=©©Oo=½rÌGœ†…>úƒFþÔÀ?]“haæü¾Æ`e©4û%?ƒ@èQ¯¡?AØFÝMÖ?UTÿ£VÑ¿§³$Ä¿Ùawßo-£>ù‰=ù(?òlDMÃ5?K|ЉŽ&¿¡üÆóh>óATÜÊ[È>LÆŠ6ªÐ>P¿ÅOœ×¾¬œ\÷?«õѾ¥Ÿ¦· ?Ѿ¥Ÿ¦· ?“3-2¨?—PͤĹ?—PͤĹ?¯>é]õO¿?~í/Ðî• ?~í/Ðî• ?ç·@˜‘à>’¤<ì§4U=&„g.ˆd½®\¸O¥s=âÀãõ|ß>r0⇫侩váÊ&>6ÝåD@>:Ákdbd?íÖnÇ¿k±gq?üu•D›nâ>cþX*0a?v¿ªß‚P¿›†›ÈÊÃn?y+ Á„BÆ?•x‘±é¼ð?±å¼uŸè`¿L#rxl8¦¿d8X1ñÖ}¿¬ÎΞø¹¯?„«½ÔZBí¾44#Û·Hk¿vŸÌœ™2o¿=oÙõÉqs?`’¾7f!K=\::£L o> nIÚ€Št¾Qîþx37„>Æ_¬w8]?âqŒ« ¤?2u#*&’¿Ïåë÷‰ø©?Œ_ã૪¿–¬z•ÕÖ¿vNwLtÈ¿9 è•Í?–Qt=ýì"ŽDLj½WîüdŽé‰=cf‹?Ê*|>R¯<_?ƒµ_Óÿì>ÛÂÇ–)ø?| Œ ®©?¬#GÌiÊ×? ޥǿ^ìä™xYÌ¿Z™ó~VÀ¾&½%~Cé;¿Ænº÷L§F¿y‚+œ€9?Fe[x ù%¾jߺ|¯Õ¾×…bÛ¤ Ú¾…&rÆ å>FKùñÒŠ =!ŽÐßô¦=!ŽÐßô¦=ÁÏBØÔ¥>–¨¢éR?–¨¢éR? ºkOÕ¬?üzwB2柿üzwB2柿ˆóX-ڈÿYà¸l†¿Yà¸l†¿ Â$Â$ë¾èZ‹³Q{)=D3hV£Œâ=Š]!¬”0ë>#ŒÀ3[K?y+ Á„BÆ?ð?ÔìÁ¥_Áš?A%uÁ0[K?«—À%G¥F>ü&…s ¤‘?!áÎßyÉÊ?­³mQ¢³==®j†<øú>åôå:uÉ?€a*QŒ8?“™ìrë²­>ןÔêËl=ןÔêËl½v6ÛÐ`ö>v6ÛÐ`ö¾+ìh–«?+ìh–«¿‡nžPbÁ?‡nžPbÁ¿…Ò‚oÔb½®\¸O¥s=“!Kç ½§EV–×¾ ©váÊ&>lEŽ?/¾ö¶ÏÕD¾BñHU-|¿q±gq?ü¯Ð÷`ò!¿° Èò¾8¸Úˆñƒq¿Ÿ†›ÈÊÃn?ø—en„î{¿xYD°ò„¨¿——^¡e=Ö¿¯½bOü_Ô¿p—Û8'¿õ<ð?—ÛÕ¯}8åk?'oÙõÉqs?¾Ç¶«ìup¿«eÃbwW½™T»Úz¾_îþx37„>­°1D.ǾVXá04e¿Éì®­¿Øåë÷‰ø©?'ïáüÞ¬¿p¥vž?†žêæ]Ê?d è•Í?Yï—ÄÂi³?ª¿bî©zt½XîüdŽé‰=x[% 1‰½2®ø…†l¥¾AXÉ£¤P,¿½ÂÇ–)ø?ö® z­+;¿S¾›v §?Ͻ§™xË?xìä™xYÌ¿=Ç{B.²?:þzÖï°>êäyfêí,?}‚+œ€9?ô»XM¡ "¿•uÈš!/>%?rMD¹Þ>’&rÆ å>Y¨¿kì¾=*~î½{á÷†_~Ÿ½{á÷†_~Ÿ½¤þI„ ½¾¼Ö€å“¿¼Ö€å“¿[Q~ìHö¡¿êö–aV½¿êö–aV½¿½ù–w'’‡?ÙÈ ˜¦$¦?ÙÈ ˜¦$¦?&¦£Ü¶@í>6ë¼A=­(Ù%¼'V½¸.40¼e=iÕØcÆ>é >•¹IȾÉÚÅüGã>Ž©Bù$ _?±å¼uŸè`¿—‹É¥\?©Î´@ç§?‰lÂ5“^¿½õBÁÅ=àŸ#›jêÛ½ûhˆÏæ=ë–’Fxa>7ç¯Aoº˜?š öÓ¹#¥?,äþÚâý>AídyüB¿§@êÂo ?Âl ã”Û&?üfËøÇ:@?°|bfÇ?|Ôƒ-\b?ƒR°ØŒ$?‡µ3,Óï&¿ ‡2¹$å< ‡2¹$å<Îu{›ƒ>$›ÕÚÏ>$›ÕÚÏ>‘¡kAv?!¯3Ոϯ?!¯3Ոϯ?a–m¿«J$??W÷¹—ý==Áãõ|ß¾àEV–×>6ë¼A=Ö–çê6Œ>˜˜±1n“¾HŒ.Çߣ>iÕØcÆ>à1ÇÓZ?m6µ”ìO¿ñ¤GÜWi?Ž©Bù$ _?Áb;«°â¯?L#rxl8¦¿%ÓÃ¥š´?»ø»VÊÏ?ð?•x‘±ù<‹É¥\?­KªùoøÓ?)¶ÔöÔ?Èwû±½¿Ÿ"º>(cø<ܺó·> ½||ôD=ŠÄÒúŽ">ƒñï>µ“]Qz󾩶6êÔÿ>ˆÌ™”TÕ™?h>¿¢Ò?¸Ù¡az’Ó?ÊIôM;÷=3w›‰Sô½WëJ™|e>*WÁ~ä9?ú¼_ªm&Ž?Ùñ‘Ùc’¿ Ö-âˆ?…Âò¤òBT?c¿`“ ?‚< Žën¦? ŸTÙv?9V  ‘H?NÒnÙj—?ÀîàØ–?ƒÉ `s®˜¿zÒ¡´‘=R¬åM÷®*>R¬åM÷®*>­©*a\¦ ?ÍÀ„ ÓM?ÍÀ„ ÓM?:Ëw¾Ãñ¸?â?ð:_ß?â?ð:_ß?s÷©X‚?=Áãõ|ß>Ñ0⇫ä¾J©váÊ&>¬(Ù%¼'V=˜˜±1n“>›mzÙX–¾%];žCª>Þ >•¹IÈ>îl6µ”ìO?ç«rRk ¿°qˆÁ‚_?©å¼uŸè`?2#rxl8¦?d8X1ñÖ}¿ŸÎΞø¹¯?ð?¯Î´@ç§¿B¶ÔöÔ¿Gª{ LÝп· MãŸÓÃ?æ0ï¢êž =Ë9»½£\!*=?fJ;Øx6>gÀl¢ö>ØÅã°åÜö¾µŸÈЧ?5߸2PÄ?`µoEÛ>Ú<ût0]-•ú=Ý7¸j;𽋩` …è>=ª‰ŒÁåK?±´ižuó–?²GòQ˜¿„‚#ã”?E᮲ÛRg¿ï8Aû ¬¿LÂ}Àxv±¿Ê…íÛÌù„¿pü!ñ$ T¿¾3ÍWÄ“›¿7LÚ¹™>“¿åüâ%Ÿ?älT÷=2™=éâµ.vÿ:>éâµ.vÿ:>áÞqd"(?èc€€Ý1?èc€€Ý1?²mÏŒ?ª¿¼øŽf+Ì?¼øŽf+Ì?òÜ-ᇿ{3hV£Œâ=»°öáå²q>) BläA?ÔìÁ¥_Áš?ð?_ïDƒBÆ?œ‰úäUÞ<˜kYOrÓ>5߸2PÄ?B¤¯ÏÜ=c©‘CO}u?˜r¾& ‰?$7Ò–z4?#|Õ[‹y>#|Õ[‹y¾+riôw8?+riôw8¿½°fˆ@eØ?½°fˆ@eØ¿éEV–×¾R©váÊ&>¼EŽ?/¾€¸.40¼e½PŒ.Çߣ¾0];žCª>ÜF5®ñ¨¸¾ÇÚÅüGã¾ü¤GÜWi¿ÙqˆÁ‚_?Œ„luev¿Œ½¨£\!*=$º'±’6½^xÌŸÎ\B¾Œ²Yeû¿³ŸÈЧ?ñêŽÞÑK¿¨â÷]¥¿MWɵֿ¿Í" ÇÅÓ¿¢›EØbvö¼P@È«CÀ¾”©` …è> ’‹»n™0¾xÊsüßB¿ê„.ãv¿‘‚#ã”?f\;Í„p€¿Ý‘(Y}Á7¿Ê1Zq¤|¿ó…íÛÌù„¿û£}a†? yÊCjV?L™ÀSŸØž?þüâ%Ÿ?:tÛ<š¿o¦n¼®½Mès-í?¾Mès-í?¾Æ{ªúÉ[)¿¯ØÀêß [¿¯ØÀêß [¿ŠÂ¯»-`½¿"gý#dóÃ?"gý#dóÃ?ƒþîµÈ°?ÓxÖ-Y&>Ùµ¡æ%;¾8—IÐCÝE>Têê&DØ>„«½ÔZBí¾\‹˜Ñ/êí>MHUd~>‹É¥\?¯Î´@ç§¿ŸlÂ5“^?ÿÿÿÿÿÿï?»ø»VÊÏ?ר  ßD?6)I«Ý™O¿ñµ,\ÍU?Ðrf1PlÛ=f ±Òlžý½ÀXû• Nð=t Ÿ-¬É¦>P Æhô ?jqüÈÀÇ¥?™à Â%š¢?Ø2‰Š‹pY>5"ó°0¿“?ܵŠñæ¢y? µL=GJ¡¿#ÈÃd¸=&)Rüb>&)Rüb>ËÄT—fÏ_?‹\d8[Hw?‹\d8[Hw?qðneŠ0…? 8Þ)SD=€óø·k\½Ð÷†µG`=þ3C —ý=L&tsß¾š_CÚ×>ÓxÖ-Y&>!jòôw?n(‚W.­ ¿.|E7J?Têê&DØ>ÁŽC†>=d?44#Û·Hk¿ÛÕ¯}8åk?‹É¥\?­KªùoøÓ?B¶ÔöÔ¿ëwû±½?»ø»VÊÏ?ð?•x‘±ù<ña³É™2=â×^ 2b>ä@`íÂq¾ÕуƒÑt>ìL÷(V?'ˆÌX ¦?§£yÿg£¢¿Ï®Å䯷©?‰V廌X=‹ŒÈ+r%c½[ÂÆTÆÝs=y³¯8–†…>¦"#þÐÀ?ü-a¸ƒ#¿ûD:}J|?ågª?R¯¡?VéMÖ?¼7ËéarÎ?Ô´­ Ê?Ø,Ð6¥m˜?mÖUàMÑ?-\6î#l¨?wÚç8°xпF¨-C«õ<©ë«yÕÄ‚=©ë«yÕÄ‚={*F89f§>Ðo z£· ?Ðo z£· ?ÉÂ+2¨?}L{†¡Ä¹?}L{†¡Ä¹?Güê÷KéÃ?€óø·k\=ň=Ùs½«ß›ÐÃv=L&tsß>™8S¢ä¾pžnÊ&>½™µ¡æ%;>b(‚W.­ ?÷F§X ¿üZÌ·á?}«½ÔZBí>%4#Û·Hk?vŸÌœ™2o¿'oÙõÉqs?©Î´@ç§?)¶ÔöÔ?Gª{ LÝп² MãŸÓÃ?ð?÷Ö‡«—Q=NIÇš[!t>àiÈ@=‚¾u§Ÿ;• ‡>Sa{¢8^?U€€p¼¤?(ÍGs¤”¿uKŽŒiª?ègŸýš i=;í!;­q½°¬bG‚D„=u=Ê` £>{½$,3#)?'=›ö½5¿K¼‘N )?2PlGŒ¦¿vë8¢ãÔ¿h¢vš×˸¿’¥²â„*п[¹—ž‘}¿<òéâ~°¿¤j:±ÆjÀ?M„èåí³?ÊDp<=°²<ø¼˜=°²<ø¼˜=Lùz3з>Êb3yFÅ ?Êb3yFÅ ?Ð/‹Eh:?€ÖEؾ?€ÖEؾ?ÅòÓ±=澿U(ÛG{)=Ëã Œâ=ávòÁ0ë>A%uÁ0[K?_ïDƒBÆ?ð?SÊ=ª?¥F>±(˜õ¤‘?/ñ Wœ³==‰ Ó…7øú>@¹~ñ Y`ö¾— ít–«?— ít–«¿Ð÷†µG`½«ß›ÐÃv=©ÄÆHy½š_CÚ×¾pžnÊ&>š²6/¾4—IÐCÝE¾.|E7J¿ [Ì·á?’«%¿N‹˜Ñ/êí¾ìÕ¯}8åk¿=oÙõÉqs?¾Ç¶«ìup¿‰lÂ5“^¿Èwû±½¿· MãŸÓÃ?3=§Fz¾?•x‘±ù<ð?½çX,ÏžT½7cò­Q˜w¾y§Ÿ;• ‡>À¶ N–‰¾¦¬ƒ\¨Ùd¿žRüËœ¬¿]KŽŒiª?›hÖŸ«¿l² ºüy½¤¬bG‚D„=zAªÓ”½N'Ç#Òð”¾QÍ©°(­¿s¼‘N )?œpÊ‘²Ó¿´C$ÿA£¿ªÒ] P×Ñ¿¨¥²â„*пMº]ö:@‘¿DUhw?ñ£?¨Îõ(@Ö?LM„èåí³?Ú³ˆnÀÑ¿u±Tõh“½·Ð×u }˜½·Ð×u }˜½mÍòh'´¾¥õ•Á>¿¥õ•Á>¿ƒ,n–°¿64³GT¿64³GT¿ˆ>ÍAwÂ?´¥U]¾n?ðRÕ™?°CŒ²C¤?ÌÄYÒ<´Œ¿Èœ÷¡+V?¡Æ_¬w8]?#VXá04e¿r®ÒWõŽ">¾)›#Óx6>aL>üÉ\B¾ky¡MÒ™2=<º4³—Q=Ò;kØžT½ð?5-Ÿ­·Î?ë ð´Üg”>ÍÈ[¬¼«>bEvA­¾Tlþ‹Iƒù>ü;²ðâ>?Bÿ\ù}¿`JYRt?`JYRt?'F÷v²­?'F÷v²­?}]w&Ô>WäÆôýÄ^>WäÆôýÄ^>£¤›^mº˜?u?{¾¢Ò?…½µîkDÕ?÷sq᾿&eÊ#ßD?Ót»Y ¦?éqŒ« ¤?Éì®­¿6¦¨ºÅ=N8Òê ï>…ñ¼RŸö>–ik¯bû¿8 Q2b>6‹Ô a!t>žˆFºW˜w¾Æjwcø<—Žãº¢=[^ jê½5-Ÿ­·Î?ð?ë ð´Üg”>Í×yS§A?FçßÉI?í%+ŸY3K¿d*[$¾s=`%[GZ‡=÷hŒˆ…½•ªµ ?áŒOàPƒ?æÊ¦={]?´&‘Óx¿²}ˆûØ=Î¥fžŒñ= °¿˜®ê½Kw±eôžµ?Kw±eôžµ?Pš¶{Óß?Pš¶{Óß?KöˆÁ>F?{¦ì."ù>{¦ì."ù>VPÚ}c•ò=G¦y¨MI=G¦y¨MI=ÒÀÆèOí£¿QFZ sÒ¿Ÿb pпKê|úÅÕÂ?y8ŽN¿ÙÌ0k¢¿Yu#*&’¿çåë÷‰ø©? ,bêÛ½ éñûNzó¾]üºãÜö¾‚·ñҧ?lý/.òÂq¾¿Öì·E=‚¾8ß#› ‡>ºÄOcƽƒÏ­B67)½Z˜ä5`&.=ð?ÍÈ[¬¼«¾FçßÉI¿=BŠa´LP¿¼ÜZnå7T?`%[GZ‡½Ø6I^š½»ºåŠ£=XPöú¿ TÕP[`¿ÆàÿÛ>h?c<ܹl?©Zkµó½ú™Ù§3û ¾ÆMQË > B’Ý.¼·¿ B’Ý.¼·¿4™ç ÿèÈ?4™ç ÿèÈ?×^ /0ÌP¿P„ˆ1õ¾P„ˆ1õ¾é ñœA¥ú½3ûÎÉþ$`½3ûÎÉþ$`½åì©1PÄ?'…s ¤‘?ÝwLrÓ>ˆ°ÊE¥F>ÊÍ&IÓUÞ<ð?ä Lô&?4fUtÀX==sI;~k?ýÇÿ$Ž¿=ÿfø×;]¦?ÿfø×;]¦¿u.Å&}Ö?u.Å&}Ö¿ö"º%ã>ö"º%ã¾GñvêÆï2=GñvêÆï2½é´:à9Œ?j"º?Lê|úÅÕÂ?Vß§nI»?U`í‰,V?¶Ëôq'ª?æåë÷‰ø©?'ïáüÞ¬¿[¤=Ïæ=úmòHåÔÿ>·ñҧ?ŽQÇKÏK¿ïÚˆÑt>8ß#› ‡>K\.ÉT–‰¾ÏiWǬT=Z˜ä5`&.=;¨zÐÓå0½ð?bEvA­>ë%+ŸY3K?»ÜZnå7T?0=ë¦ÊtR¿÷hŒˆ…=»ºåŠ£=KåĤëઽšë_vç7?Ø Ü›†²‘?]<ܹl?Pö5Y*úš¿¿-÷K%Éî=ÆMQË >#6Œ òþ½Í?˜!a¾x?Í?˜!a¾x?G´Ñþ¶‘Æ?G´Ñþ¶‘Æ?;·}¢@E?˼/Z?˼/Z?X|Y½° >m.Ûà`=m.Ûà`=C÷yËáS?ò@ç*íU¿ù`4ŒÏd?¢÷(ã¢>öA=‹Ç¢?Š™Ð¬¨ª¿5»\ ž?ì•’Fxa>^Ì™”TÕ™?ˆâ÷]¥¿àÓÇv0V?TïŸüª8^?Áj»È®Ùd¿AX ùŽ">Wm%¹;>)b­ñ—¸@¾éïuЙ2=zšd›_!K= NwzwW½ë ð´Üg”>ÍÈ[¬¼«¾bEvA­>ð?5-Ÿ­·Î?’l¦hãg”>—$ƒr¥Q¢>ÝËŻô±¾pxZ ?5?­Ï$è¾õL¿e?ŸƒS¸ð>¢ÅÛ­Hƒù>y6¤{†?«èåÑå$¿”QšÊHH?”QšÊHH?ýü˜FAê>ýü˜FAê>ؾ¾ y²­?Tkt?Tkt?#SÓ×u&Ô>Wv¨„Å^>Wv¨„Å^>vÕµZ¿bB?·>Ž'^¬¤?Å nžjŸ¿odB­?쎌׮y¢?OH%NÁ×?€/D{”ÕÖ¿Sš^Aä]Ê?ç¯Aoº˜?h>¿¢Ò?4Wɵֿ`v…)ßD?îìîÎ\ ¦?'Q\t¼¤?8ø«Ñœ¬¿9ñß¿Å=-¡úŠï>ë6¼´'Žú>ƒæë6ä_¿#ð½2b>3¶™ïG o>({éÚz¾Í¯#cø<ùÛÕäž =öÊU6>½ë ð´Üg”>Í×yS§A?FçßÉI¿ë%+ŸY3K?5-Ÿ­·Î?ð?’l¦hãg”>tnìg§A?¼t4A?ðÈGѱP¿Y#‰)¾s=Cbý@MZ‡=ü†+…½8DöÌN?ršÞasõ ?ÓºMiᨿùgÍmºL?ÕóÐ9µ ?CÿßPƒ?ËœjüsŒ?Ç€‘=°Ý{¿IȉûØ=ñkjË;Û=>$±jÒô½ HûÆÏî”? HûÆÏî”?ŸÀÚhïT?ŸÀÚhïT?üA)ªÔß?wÆá,—µ?wÆá,—µ?ýÏ¥À>F?gˆíg2"ù>gˆíg2"ù>#O_h•ò=«ÄÅt®MI=«ÄÅt®MI=c—MüŽZF?Ù7‘ ñô›?196/žãy¿k^ä/–¾¥?]»¥“¢ª?'1¬„ñ¯Ó?7'ÛnNtÈ¿±‡¦‹•Í?߸2PÄ?PGë°é™O¿ý=Ûnk£¢¿ ÇQu¤”¿Â:¿®iª?1mëÑ×à½{ˆÜÆ÷¾£êJ2Á¿¤ž}Ää?Òݪ dk¾ž» -}Št¾èz©07„>iú)Õ²> ½‚eÅ­3»½?œä z!*=ÍÈ[¬¼«>FçßÉI?=BŠa´LP¿»ÜZnå7T?ð?—$ƒr¥Q¢¾¼t4A¿åÅ»ýë÷5¿Ò}ì(dP?Cbý@MZ‡½3ü‹dš½;¿Í¶êŠ£=Sòc´f®b?ïR° ¬?Õ™®þ²¿¥ÇÝ]™¾Y?§Asiœ5¿˜KÙáÿ¿JšJvl•¿›#cñXˆ?ÈõpÞé¹ß½¹ ªÔ,Û½­þ2nÐú=´Žî’Îz?´Žî’Îz?l~ÒkE\?l~ÒkE\?15Fv[PØ¿f`žyÈ™?f`žyÈ™?OoJîe£1¿øjú‡ã¿øjú‡ã¿H™u ž)æÌÓ€S½)æÌÓ€S½‚²b} p?¦ÇïvÉÊ?߸2PÄ?Z)w' ¤‘?6d;NrÓ>Ê4D¥F>OÛ$NßUÞ<ä Lô&?ð?mS® ô&?“³|A{ÀX=…±î+ iŠ?QpÐ:~k?ŠîŽš¿=éÚû‚?éÚû‚¿¨†Ô„¯>?¨†Ô„¯>¿llí^,T¦?llí^,T¦¿íá e%ã>íá e%ã¾ «XdËï2= «XdËï2½–Á)uq7U¿Â°…`Ûˆª¿j^ä/–¾¥?Þ‹«Fe‡°¿ ¦î8iÁž¿+ï}Ÿ»Æ¿²‡¦‹•Í?¼tÁi³?} öÓ¹#¥?¯Ù¡az’Ó?¸Í" ÇÅÓ¿>YždÍU?‡›ŸõË·©?Á:¿®iª?‡…ÛŸ«¿â×›„†Åä="ºÚqxüü>¤ž}Ää?'3LãD ¿êÿ2+±w>ƒèz©07„>aˆ¦…,Ǿ§ýD=@œä z!*=öçW­’6½bEvA­¾í%+ŸY3K¿¼ÜZnå7T?0=ë¦ÊtR¿ð?ÜËŻô±>ðÈGѱP?Ñ}ì(dP?*ÑcJ‰C]¿ü†+…=9¿Í¶êŠ£=æ)óઽ~§o#=’¿F)?·0P¿ÇÝ]™¾Y?-Ð-ZŠ?-¿wMU†”d=¿wMU†”d=«™)aû)=:;íq²SA½žAÏóµÃP=aŠ|#>Ê»ÏÆ Ê9¾M«É¼ B>i’ÝÃÍáS?óÓÐ Bê_¿³;!hòGa?ïâòä%ã¢>%f?/Ç¢?ð°Û@Hñ…¿ÏÕÄ ™­?Ï¥U]Ân?ðRÕ™?²CŒ²C¤?ßÄYÒ<´Œ¿Ãœ÷¡+V?–Æ_¬w8]? VXá04e¿ŠÄÒúŽ">CfJ;Øx6>^xÌŸÎ\B¾ky¡MÒ™2=<º4³—Q=Ò;kØžT½’l¦hãg”>—$ƒr¥Q¢¾ÜËŻô±>ð?5-Ÿ­·Î?e 'Dãg”>È+SŽ´¼«>s ‰yA­¾{¦\O…ið¼†ð×Yíë<œi1ß…?5?õ7ã]Y2?// ˆ/yK?lþ‹Iƒù>Ì;²ðâ>Bÿ\ù}¿pDÚ–=pDÚ–=`|òõ2è<`|òõ2è<@`»kÉ5æ>c*†H?c*†H?W0mu²­? ñ`°t? ñ`°t?}]w&Ô>j³Å^>j³Å^>CÆoU]>»î[Òég¾DjéZv>ùÕü×/ÏÅ=1Ì ¨‘ï>BŸ« ¡òø¾°OötŽm?*šÂbB?A%â©_¬¤?è‹™i ¦¿»U ?g€¨?à]Äh®y¢?fÎÌÁ×?ë›eÿG8³¿µÝìÙ?¤¤›^mº˜?u?{¾¢Ò?ˆ½µîkDÕ?sq᾿ eÊ#ßD?Ït»Y ¦?åqŒ« ¤?þÈì®­¿½õBÁÅ=ƒñï>eÀl¢ö>вYeû¿8 Q2b>6‹Ô a!t> ˆFºW˜w¾ Řô!cøtnìg§A?¼t4A¿ðÈGѱP?5-Ÿ­·Î?ð?e 'Dãg”> »&W§A?!MÛ‘ãG÷’¾õ±Ýå">)F'æýÌN?­†võ ?ì‡á=T‡?`îNÌqš§?ꔪµ ?ìàŒOàPƒ?¾Ê¦={]?à³&‘Óx¿ܬÚûØ=´5RÃ’ñ=¿"™®ê½_š“ û¸w>_š“ û¸w>·Ïò|‹'>·Ïò|‹'>WBË 7½R?˜É¼ªü”?˜É¼ªü”?ÒßIœÒß?|;D,—µ?|;D,—µ?KöˆÁ>F? q1"ù> q1"ù> €Ài•ò=G¦y¨MI=G¦y¨MI= P¥Íºbd>ÄJÁ&ƒŽk¾¶Ê,xÑ>\oRJ"à=n‘4Üëö>|(Û…:þ¾^»¬*w?LÌDP?8í4·X¤?©éP¥ô  ¿‚©oGHª?ZžÃBk†?Þ³xN+’°?q6(£œ„È?IK±²û{¸?ÒÀÆèOí£¿PFZ sÒ¿›b pпWê|úÅÕÂ?m8ŽN¿ÙÌ0k¢¿Lu#*&’¿ßåë÷‰ø©?êŸ#›jêÛ½µ“]Qzó¾ÜÅã°åÜö¾¶ŸÈЧ?lý/.òÂq¾¿Öì·E=‚¾8ß#› ‡>·¯G’hƽ»ØèØ=7)½z£ªi&.=`%[GZ‡=Ø6I^š½»ºåŠ£=—$ƒr¥Q¢>¼t4A?åÅ»ýë÷5¿Ñ}ì(dP?ð?Ç+SŽ´¼«¾Ÿ‡°¾o¦¾©ý£çÉ=¤>]¿0FF¬G¿”»LilÄ‘¿È¶k0Óq?ôð›ÔjÍš¿4Pöú¿w TÕP[`¿«àÿÛ>h?M<ܹl?û×+‚µó½{Ë¡ <û ¾ åÓãÒ >à ÜYÉév>à ÜYÉév>tH‘²›Œ>tH‘²›Œ>ê²ÒDr:?6˜ó&F—?6˜ó&F—?·ò•%=YÕ?Ãâ’'è´·¿Ãâ’'è´·¿×^ /0ÌP¿„+3õ¾„+3õ¾½®RJ¥ú½4ûÎÉþ$`½4ûÎÉþ$`½î õÝã@B>IógzÉÓ>›cÎ p?6p€vÉÊ?éì©1PÄ?þ&…s ¤‘?˜kYOrÓ>ˆ°ÊE¥F>8y¯'ÝUÞ<4fUtÀX=mS® ô&?ð?XM| ô&?fUtÀX=!T«e>p4'ºiŠ?ꙩD‹øÌa¾ó%zЧï=ó%zŠ§ï½•vÙ‚pƒ?•vÙ‚pƒ¿ÿgw§+T¦?ÿgw§+T¦¿kDù§%ã>kDù§%ã¾GñvêÆï2=GñvêÆï2½r—öUS¹s¾¶Ê,xÑ>œ¥‚팾¶*?¨Šæ½ãÖ£_Úþ¾_»¬*w?O?nµ¿.æ½9žQ¿â 繦¿~©oGHª?îIs…K>¤¿{dÚ‘=®¿t †,ZÖ¿HK±²û{¸?õ0Œ]¢Ó¿ö´:à9Œ?j"º?Lê|úÅÕÂ?Sß§nI»?R`í‰,V?³Ëôq'ª?ãåë÷‰ø©? 'ïáüÞ¬¿"ûhˆÏæ=®¶6êÔÿ>·ŸÈЧ?óêŽÞÑK¿ïÚˆÑt>8ß#› ‡>K\.ÉT–‰¾ðW³T=z£ªi&.=S#ØOÙå0½÷hŒˆ…½»ºåŠ£=KåĤëઽÝËŻô±¾ðÈGѱP¿Ò}ì(dP?*ÑcJ‰C]¿ð?s ‰yA­>bwµR^3K? xè7T?k™éÍtR¿üöhŒˆ…=íººåŠ£=åĤëઽM–®¿²½Ä)""`›’¾«ý£çÉ=¤>Vu8 ø»Ÿ¾®pÕJè¸a¿¨‚½½-šª¿÷ð›ÔjÍš¿Æ¶¸‰Ã°¿së_vç7?Ê Ü›†²‘?<<ܹl?8ö5Y*úš¿— ²È0Éî=åÓãÒ >ÿ_¢)òþ½y2ð»ÿõŒ¾y2ð»ÿõŒ¾ãeZ9 Ò¾ãeZ9 Ò¾›â3¤9À_¿±­á™¹Ž¿±­á™¹Ž¿k.Ûà`=k.Ûà`={BlsÊ»)="ÛAsÒI½Béf†K=å/%‡y#>4ÜP.[9¾w ¹°3+B>Š/ÃÍáS?SÏoíU¿²p©™ŽÏd?8Æh´=ã¢>Ÿy•øÉ¢?¦_ã૪¿s¥vž?¸•’Fxa>UÌ™”TÕ™?â÷]¥¿),8P-V?äÑò ¨8^?oMÿÊ«Ùd¿AX ùŽ">b­ñ—¸@¾éïuЙ2={šd›_!K= NwzwW½e 'Dãg”>Ç+SŽ´¼«¾s ‰yA­>ð?5-Ÿ­·Î?vßg”>-™HG¢Q¢>uÌWõ·ô±¾õK (¢¼Þ¼o$¾`Ó!ô<-)Cò†?5?\@1ÔÈõL¿Ï¥¼Y¸ð>qÅÛ­Hƒù>T6¤{†?‹èåÑå$¿ 9qå“ì<$-(Q–=$-(Q–=h×Í‘Ì5æ>þfeþŒH?þfeþŒH?}^u²­?Tkt?Tkt?$]/Šz&Ô>Ò«'üÄ^>Ò«'üÄ^>„×I?Ôû<Ï£ G¼Ê½kB„:¦®=hRº&¢U]>l9S‰q7q¾PÉv .Zr>@,e’+ÏÅ=%©—#¥‘ï>ù½úb‡ø¾ÁÌtq“?…ÛLÿÁbB?Ào©_¬¤?œ§#CkŸ¿ à‘­?†Ïñy¢?Ó)Ë6Ã×?¤¬z•ÕÖ¿ƒ†žêæ]Ê?üæ¯Aoº˜?h>¿¢Ò?0WɵֿˆxœÈ%ßD?X~eÍZ ¦?j„óJs¼¤?u„áΜ¬¿Ô8ñß¿Å= ¡úŠï>Ô6¼´'Žú>uæë6ä_¿#ð½2b>6¶™ïG o>*{éÚz¾c7ɶcø<"GÞž =8Ö^ç/>½Y#‰)¾s=Cbý@MZ‡½ü†+…=e 'Dãg”> »&W§A?›Ej§A?PwÂ2A?ºc6_ϱP¿<*[$¾s=.%[GZ‡=ÿöhŒˆ…½b¯š2ƒp=:ûñ|Gq>yÒY$z¾ˆsPX¼C—>6¨ÿÌN?޾}võ ?üôŒdmᨿá$ÌȺL?½óÐ9µ ?ùBÿßPƒ?´œjüsŒ?¹€‘=°Ý{¿©ñ¿È ûØ=£è”8Û=à'TÏô½kv[ˆ>É >8T±eÜw>8T±eÜw>¸¿Ï8½R?׵Ũü”?׵Ũü”?-úhÒß?sÆá,—µ?sÆá,—µ?ÿ{¯Ä>F? ý\ñ-"ù> ý\ñ-"ù>$ðòc•ò=Ø©MI=Ø©MI=RʰqíV=ë“ ‡¨R*½0ÇÒ›Ôì0= í*“`an>ï¬ùF{±€¾$~ó³ƒ>xžéÈÛ¹ß="špÅÿµõ> ÐSѬèü¾)~³wLB?”~¬ëZF?ß¹™ñô›?/–ãy¿âvFÈ–¾¥?6[5N—¢ª?ö5•Sò¯Ó?pNwLtÈ¿@ è•Í?߸2PÄ?÷”«{å™O¿…í·|j£¢¿ŽM?v¤”¿‹G¼iª?mëÑ×à½aˆÜÆ÷¾“êJ2Á¿ž}Ää?Òݪ dk¾ » -}Št¾ƒèz©07„>[ÌR ­> ½]¥Ñ-»½lÂt!*=Cbý@MZ‡=3ü‹dš½9¿Í¶êŠ£=È+SŽ´¼«>!8ÕØã~¾wŠ/¬S›>ƒ“,„k®b?ܤa÷´ ¬?…Ég‚þ²¿]pŒž¾Y?‰Asiœ5¿KÙáÿ¿:šJvl•¿Ž#cñXˆ?,Àq)æ¹ß½…‡ó,Û½ñNRaÍú=œNÀÒƒè>þ¬®¬Ü›‡>þ¬®¬Ü›‡>ƒÁL‰¹[?ôÓƒŠÙz?ôÓƒŠÙz?XEŽÔZPØ¿^`žyÈ™?^`žyÈ™?ÊŽ¦üi£1¿­Shxà¿­Shx࿈ çHž˨˜Ð€S½Ë¨˜Ð€S½—iÝâÙNá<õ6%Íæ@B>/Ï]’xÉÓ>Ã!žÍ p?3áÎßyÉÊ?߸2PÄ?r:d ¤‘?#d;NrÓ>Ê4D¥F>.$ á×UÞ<“³|A{ÀX=XM| ô&?ð? =y ô&?fUtÀX=§¤»!Z«e>o_°qiŠ?üPpÐ:~k?â ç•¿=þ$Q’ça>þ$Q’ça¾G‹Ö@oƒ?G‹Ö@oƒ¿glí^,T¦?glí^,T¦¿SA“ù%ã>SA“ù%ã¾2ÿ¶ðÇï2=2ÿ¶ðÇï2½¨‹!.§½2ÇÒ›Ôì0=J@|t]4½&C»”41p¾ $~ó³ƒ>¶*«Œ­ƒ¾.‘¿¦»æ½ ÎÃâÿ¾)~³wLB?ýaúÊX%¿#˶‚t7U¿*Æn݈ª¿évFÈ–¾¥?“ù"²f‡°¿Éï¨5oÁž¿Î|º¡»Æ¿G è•Í?¡ï—ÄÂi³?w öÓ¹#¥?¬Ù¡az’Ó?¶Í" ÇÅÓ¿Cu“Ö`ÍU?ÄaxÉ·©?…G¼iª?tQîØŸ«¿µ×›„†Åä=ºÚqxüü>ž}Ää?3LãD ¿ýéÿ2+±w>‚èz©07„>`ˆ¦…,Ǿò¶´‰ûC=rÂt!*=ÂylЧ’6½ü†+…½;¿Í¶êŠ£=æ)óઽs ‰yA­¾hwµR^3K¿ xè7T?k™éÍtR¿ð?sÌWõ·ô±>·c6_ϱP?-/®Û&dP?I¨á…C]¿úöhŒˆ…=뺺劣=åĤëઽĈºÝ(²8±¾-FUC’¿QÎdà 0P¿~pŒž¾Y?NvoY2ZŠ?„û”‚”d=„û”‚”d=«™)aû)=:;íq²SA½žAÏóµÃP=aŠ|#>Ê»ÏÆ Ê9¾M«É¼ B>5Q pÊáS?»ƒûô=ê_¿¼„‚ïGa?Èâòä%ã¢>!f?/Ç¢?ܰÛ@Hñ…¿ÆÕÄ ™­?)úoSxa>â8,ÞVÕ™?•!ïmµC¤?€FEB´Œ¿uöÑ­.V?’ÃUz8]?dÁGÒ34e¿ŠÄÒúŽ">@fJ;Øx6>^xÌŸÎ\B¾„¤Ù™2=ƒñ-Û¹—Q=ÚpŽàžT½vßg”>+™HG¢Q¢¾sÌWõ·ô±>ð?5-Ÿ­·Î?Q 'Dãg”>ª+SŽ´¼«>Z ‰yA­¾ž¦\O…ið¼Áð×Yíë<^( `ˆ?5?5ŸV^Y2?GKÅ2yK?plþ‹Iƒù> ;²ðâ>SBÿ\ù}¿n]Yîå“ì<“ãõ^•Q–=“ãõ^•Q–=.`»kÉ5æ>^|™ ‹H?^|™ ‹H?¥Ûix²­?úð`°t?úð`°t?}]w&Ô>j³Å^>j³Å^>ò0ÎÔû<¨ÿo«¾D½£YØ ,=CÆoU]>ºî[Òég¾EjéZv>ùÕü×/ÏÅ=1Ì ¨‘ï>AŸ« ¡òø¾¯OötŽm?àØC'¾bB?¾ø5x]¬¤?ìÖê» ¦¿ïBwd€¨?Ü]Äh®y¢?cÎÌÁ×?Ò›eÿG8³¿¶ÝìÙ?®Æ£âqº˜?¯¸‹MÀ¢Ò?8ofmDÕ?ÀÎOô便éá/g'ßD?l­ü«[ ¦?"½{¬ ¤?Bom ­¿½õBÁÅ=ƒñï>cÀl¢ö>Œ²Yeû¿À·A62b>O†\e!t>oU,]˜w¾=Řô!cø›Ej§A?KwÂ2A¿·c6_ϱP?5-Ÿ­·Î?ð?Q 'Dãg”>»&W§A? ]Û‘ãG÷’¾²Ýå">ÅÒ“²ÍN?O%¨ wõ ?©çÝPw9N`Üw>Pw9N`Üw>OBË 7½R?‹©fާü”?‹©fާü”?ËïÏMÔß?|;D,—µ?|;D,—µ??öˆÁ>F?q1"ù>q1"ù>y·l•ò=f°MI=f°MI=mJ~¦v=ÕÓ…nÒ!½+Ð5=ûÖ.= P¥Íºbd>ÄJÁ&ƒŽk¾ºÊ,xÑ>\oRJ"à=o‘4Üëö>|(Û…:þ¾^»¬*w?‰TÉDP?÷±·¶µX¤?ök…ô  ¿sÝ;EHª?LžÃBk†?è³xN+’°?o6(£œ„È?IK±²û{¸?ùSí£¿™8YsÒ¿Ùû 6 pп˜çuãÇÕÂ?P[ÙëŽN¿ž$Ül¢¿€p²(&’¿xºNe‹ø©?æŸ#›jêÛ½µ“]Qzó¾ÙÅã°åÜö¾¹ŸÈЧ?¹"üõÂq¾ï¤FI=‚¾ d  ‡>Ú¯G’hƽëØèØ=7)½¶£ªi&.=.%[GZ‡=¡6I^š½íººåŠ£=-™HG¢Q¢>PwÂ2A?NŸ ì÷5¿-/®Û&dP?ð?«+SŽ´¼«¾ ´‡°¾o¦¾¿ý£çÉ=¤>®ö7F¬G¿Ý‘3ÚkÄ‘¿áÑÚq?"¨jÍš¿sPöú¿” TÕP[`¿ÑàÿÛ>h?<ܹl?R‹@ µó½jC*3Dû ¾“Àà©Ø >É„–¨êÚ>¹ñ€ w>¹ñ€ w>Ò²ÒDr:?;vFßF—?;vFßF—?ZF£Á>YÕ?¸â’'è´·¿¸â’'è´·¿Ð^ /0ÌP¿Ž+3õ¾Ž+3õ¾-÷SN¥ú½à•p|%`½à•p|%`½ŒšÇïÒNá<î õÝã@B>IógzÉÓ>†£™ä p?2p€vÉÊ?XùP24PÄ?³·Ð' ¤‘?˜kYOrÓ>ôìÔK¥F>sy¯'ÝUÞ<fUtÀX= =y ô&?ð?GM| ô&?G³|A{ÀX='!T«e>¹ŠÁeiŠ?=sI;~k?Î~¿¢¿=ÃÖŠøça>ÃÖŠøça¾¤Ôënƒ?¤Ôënƒ¿ïgw§+T¦?ïgw§+T¦¿uDù§%ã>uDù§%ã¾3ãb¡Ìï2=3ãb¡Ìï2½!ø½fÙ½*Ð5=ûÖ.=½ v „8½q—öUS¹s¾³Ê,xÑ>œ¥‚팾¶*?¨Šæ½æÖ£_Úþ¾`»¬*w?O?nµ¿UýW5žQ¿1ÔŸ¶¦¿wÝ;EHª?kCÏ÷H>¤¿zdÚ‘=®¿p †,ZÖ¿0K±²û{¸?÷0Œ]¢Ó¿»á…çå9Œ?ãwÆc""º?çuãÇÕÂ?°–„2qI»?Ê4ga ,V?ÕzŒ’s'ª?ºNe‹ø©?ÜŒåÿÞ¬¿ ûhˆÏæ=©¶6êÔÿ>²ŸÈЧ?ñêŽÞÑK¿ ÍI¨Ñt> d  ‡>ÐDo±Z–‰¾·ðW³T=²£ªi&.=t#ØOÙå0½üöhŒˆ…½ìººåŠ£=åĤëઽuÌWõ·ô±¾ºc6_ϱP¿*/®Û&dP?I¨á…C]¿ð?W ‰yA­>NwµR^3K?øxè7T?k™éÍtR¿êû†+…=¿Í¶êŠ£=¾å)óàª½Š–®¿²½Ô)""`›’¾ºý£çÉ=¤>tu8 ø»Ÿ¾êY„çé¸a¿_ ðb/šª¿ "¨jÍš¿cÚZ)ŠÃ°¿«ë_vç7?æ Ü›†²‘?<ܹl?^ö5Y*úš¿'rH:9Éî=‹Àà©Ø >WÓl òþ½åj‚¾0ä«£ë¾0䫣뾊â3¤9À_¿ø«(•¹Ž¿ø«(•¹Ž¿ƒâUÁ;Ò?yXSdéx?yXSdéx?6·}¢@E?œÝõœ\?œÝõœ\?B¤ƒÉ° >îXݳå`=îXݳå`=[`¥­¿»)=“!­hÒI½ï_%ýÛP.[9¾V ¹°3+B>C÷yËáS?ø@ç*íU¿a4ŒÏd?É÷(ã¢>ûA=‹Ç¢?Ž™Ð¬¨ª¿P»\ ž?–’Fxa>cÌ™”TÕ™?‹â÷]¥¿ÐÓÇv0V?LïŸüª8^?°j»È®Ùd¿AX ùŽ">Zm%¹;>)b­ñ—¸@¾EðuЙ2=›d›_!K=}NwzwW½Q 'Dãg”>«+SŽ´¼«¾W ‰yA­>ð?5-Ÿ­·Î?|l¦hãg”>‡$ƒr¥Q¢>ÉËŻô±¾ûadÿ™¼Þ¼*ÆNÍ!ô<L)Cò†?5?‡@1ÔÈõL¿!Ð¥¼Y¸ð>¡SN¡Mƒù>‡æŒƆ?×¹Qè$¿µ8qå“ìÎfeþŒH?ÎfeþŒH?e^u²­?Tkt?Tkt?V~Pì{&Ô>'v¨„Å^>'v¨„Å^>i×I?Ôû<¸£ G¼Ê½OB„:¦®=¶Þ øšU]>û%—m7q¾»Ý )Zr>,e’+ÏÅ=©—#¥‘ï>ß½úb‡ø¾³Ìtq“?ÕµZ¿bB?¼>Ž'^¬¤?Á nžjŸ¿sdB­?òŽŒ×®y¢?TH%NÁ×?/D{”ÕÖ¿bš^Aä]Ê?ç¯Aoº˜? h>¿¢Ò?0WɵֿNv…)ßD?æìîÎ\ ¦?'Q\t¼¤? 8ø«Ñœ¬¿9ñß¿Å=-¡úŠï>í6¼´'Žú>…æë6ä_¿\ð½2b>‘¶™ïG o>u{éÚz¾ü¯#cø½<*[$¾s=*%[GZ‡½úöhŒˆ…=Q 'Dãg”>»&W§A? enìg§A? ¼t4A?æÈGѱP¿×Y#‰)¾s=…bý@MZ‡=Jü†+…½l 1Uÿ‚p=¤jEq>| èPx¾õò+¹C—>96¨ÿÌN?޾}võ ? õŒdmᨿ²'ÌȺL?„€ºµ ?ÚŸ0ÊáPƒ?À`)ÿsŒ?ÜFâZ±Ý{¿”ȉûØ=CljË;Û=z$±jÒô½Sv[ˆ>É >”‚²`Üw>”‚²`Üw>qO¯ç6½R?¹µÅ¨ü”?¹µÅ¨ü”?úhÒß?|Æá,—µ?|Æá,—µ?V(Å>F?Oˆíg2"ù>Oˆíg2"ù>FO_h•ò=´Ø©MI=´Ø©MI=?ʰqíV=Г ‡¨R*½ÇÒ›Ôì0=§bœYan>ˆBH¿w±€¾•´—¯ƒ>žéÈÛ¹ß= špÅÿµõ>æÏSѬèü¾~³wLB?m—MüŽZF?æ7‘ ñô›?'96/žãy¿q^ä/–¾¥?d»¥“¢ª?.1¬„ñ¯Ó?5'ÛnNtȿ‡¦‹•Í? ߸2PÄ??Gë°é™O¿ú=Ûnk£¢¿«ÇQu¤”¿¿:¿®iª?2mëÑ×à½{ˆÜÆ÷¾¥êJ2Á¿§ž}Ää?%Þª dk¾Ý» -}Št¾¼èz©07„>ú)Õ²> ½µeÅ­3»½qœä z!*=.%[GZ‡= 6I^š½ëººåŠ£=ª+SŽ´¼«>  5›¼ã~¾•øë_©S›>”“,„k®b?ï¤a÷´ ¬?…Ég‚þ²¿ÂrŒž¾Y?šd¦œ5¿:%œîäÿ¿Ôܯ§l•¿zÄ8 ‘Xˆ?'öpÞé¹ß½ ªÔ,Û½øþ2nÐú=ŠNÀÒƒè>ƒ +|×›‡>ƒ +|×›‡>×¥¹[?ÈóÓƒŠÙz?ÈóÓƒŠÙz?GEŽÔZPØ¿‚`žyÈ™?‚`žyÈ™?eÈi£1¿åjú‡ã¿åjú‡ã¿s™u ž÷¨˜Ð€S½÷¨˜Ð€S½†iÝâÙNá<– ÆTâ@B>Ï]’xÉÓ>‡²b} p?­ÇïvÉÊ? ߸2PÄ?R)w' ¤‘?6d;NrÓ>4D¥F>ŠÛ$NßUÞ<fUtÀX=GM| ô&?ð?\S® ô&?ß³|A{ÀX=lJW«e>‚_°qiŠ?ßæ‚=~k?lŠîŽš¿=ÐÜØÔça>ÐÜØÔça¾*‹Ö@oƒ?*‹Ö@oƒ¿rlí^,T¦?rlí^,T¦¿Ûá e%ã>Ûá e%ã¾Yÿ¶ðÇï2=Yÿ¶ðÇï2½“‹!.§½!ÇÒ›Ôì0=7@|t]4½¢»™01p¾ •´—¯ƒ>% ˆÝ¨ƒ¾Ý-‘¿¦»æ½îÍÃâÿ¾~³wLB?ñaúÊX%¿£Á)uq7U¿Í°…`Ûˆª¿l^ä/–¾¥?ä‹«Fe‡°¿=¦î8iÁž¿Hï}Ÿ»Æ¿Ð‡¦‹•Í?ò ¼tÁi³? öÓ¹#¥?³Ù¡az’Ó?´Í" ÇÅÓ¿,YždÍU?r›ŸõË·©?³:¿®iª?n…ÛŸ«¿â×›„†Åä=ºÚqxüü>¢ž}Ää?'3LãD ¿Bêÿ2+±w>½èz©07„>ˆ¦…,ǾJ§ýD=oœä z!*=!èW­’6½ÿöhŒˆ…½îººåŠ£=åĤëઽZ ‰yA­¾YwµR^3K¿ÿxè7T?k™éÍtR¿ð?ÈËŻô±>áÈGѱP?Ì}ì(dP?ÑcJ‰C]¿Lü†+…=v¿Í¶êŠ£=`æ)óઽ”·.w£h•½@¤ ™Óš¾–øë_©S›>Ù“Wį8±¾ÃGUC’¿Ïdà 0P¿ËqŒž¾Y?_voY2ZŠ?S˜ÆÍf*%?nç%ÛV?~Ä8 ‘Xˆ? QˆY­1d¿ÿ¶Ú·÷=òþ2nÐú=øÂg§c¾óYZj!¾ÝR¿”„¾ÝR¿”„¾]à±ë½ÔP¿uH›¿uH›¿rþ%›CÌ¿¹{jRÛݶ?¹{jRÛݶ?lF„›aS?ˆ¾"Ói2?ˆ¾"Ói2?çíg¡a">H„û”‚”d=H„û”‚”d=«™)aû)=9;íq²SA½AÏóµÃP=Æ`Š|#>}»ÏÆ Ê9¾«É¼ B>Q’ÝÃÍáS?ÖÓÐ Bê_¿£;!hòGa?Èâòä%ã¢>!f?/Ç¢?à°Û@Hñ…¿ÃÕÄ ™­?%¦U]Ón?ðRÕ™?ºCŒ²C¤?ÅYÒ<´Œ¿÷¡+V?èÆ_¬w8]?ZVXá04e¿ÂÄÒúŽ">fJ;Øx6>•xÌŸÎ\B¾Iy¡MÒ™2=l<º4³—Q=¯;kØžT½|l¦hãg”>‡$ƒr¥Q¢¾ÈËŻô±>ð?5-Ÿ­·Î?º 'Dãg”>4,SŽ´¼«>ñ ‰yA­¾’Ž2šið¼*C!Ôkíë<i"`~?5?§'œhWY2?úg°&yK?~lþ‹Iƒù>ð;²ðâ>^Bÿ\ù}¿Y[Cå“ì@*†H?@*†H?ŠÛix²­?ñ`°t?ñ`°t?G}]w&Ô>gäÆôýÄ^>gäÆôýÄ^>º¢GÔû<ÔòcâÂD½¡æU,=CÆoU]>¸î[Òég¾AjéZv>¶Õü×/ÏÅ=þÌ ¨‘ï>Ÿ« ¡òø¾”OötŽm? šÂbB?1%â©_¬¤?Ü‹™i ¦¿¥U ?g€¨?Ü]Äh®y¢?cÎÌÁ×?×›eÿG8³¿®ÝìÙ?¸¤›^mº˜?%u?{¾¢Ò?½µîkDÕ?2sq᾿oeÊ#ßD?ýt»Y ¦?rŒ« ¤?*Éì®­¿üõBÁÅ=±ñï>Àl¢ö>¦²Yeû¿& Q2b>‹Ô a!t>†ˆFºW˜w¾qÐ*#cø<Ø}.Ü©= rê½bY#‰)¾s=úaý@MZ‡½êû†+…=|l¦hãg”>enìg§A?¼t4A¿áÈGѱP?5-Ÿ­·Î?ð?º 'Dãg”>G»&W§A?]UmÏ1M÷’¾&ˆè¦ê">&0Ï„õÌN?×sõ ?ö˜@pN‡?…'g0nš§?•ªµ ?áŒOàPƒ?·Ê¦={]?%´&‘Óx¿VFÐ ûØ=I)ǘ‘ñ=9Á4ê–®ê½GzÙ¡>É >NWcÜw>NWcÜw>S„Í7½R?†É¼ªü”?†É¼ªü”?ºïÏMÔß?|;D,—µ?|;D,—µ?töˆÁ>F?‰¦ì."ù>‰¦ì."ù>¯Ài•ò=•¦y¨MI=•¦y¨MI=Ö—¬í­v=+Ú’rÒ!½PLÄ×.=P¥Íºbd>ÈJÁ&ƒŽk¾¹Ê,xÑ>-oRJ"à=T‘4Üëö>Q(Û…:þ¾?»¬*w?xLÌDP?*í4·X¤?¥éP¥ô  ¿j©oGHª?SžÃBk†?é³xN+’°?o6(£œ„È?FK±²û{¸?ÝÀÆèOí£¿LFZ sÒ¿•b pпaê|úÅÕÂ?Ö8ŽN¿1ÙÌ0k¢¿_u#*&’¿úåë÷‰ø©?5 #›jêÛ½0µ“]Qzó¾ðÅã°åÜö¾ÖŸÈЧ?Yý/.òÂq¾¨Öì·E=‚¾ê7ß#› ‡>¶Ä™iƽz(˶?7)½ ÈŸ4k&.=bý@MZ‡=åû‹dš½¿Í¶êŠ£=‡$ƒr¥Q¢> ¼t4A?çÅ»ýë÷5¿Ì}ì(dP?ð?/,SŽ´¼«¾S#׊Äo¦¾ºÀÊ‘Ï=¤>àuÓ?¬G¿GáçiÄ‘¿ÜjXÐq?©NfÍš¿RPöú¿™ TÕP[`¿èàÿÛ>h?‡<ܹl?pI·)µó½ót_:;û ¾CŽXÑ >r zåéÚ>¸h$x" w>¸h$x" w>hÁ†²Cr:?$˜ó&F—?$˜ó&F—?]F£Á>YÕ?Êâ’'è´·¿Êâ’'è´·¿ó^ /0ÌP¿`„ˆ1õ¾`„ˆ1õ¾8®RJ¥ú½fûÎÉþ$`½fûÎÉþ$`½éçÔj×Ná<î õÝã@B>)ógzÉÓ>ŒcÎ p?2p€vÉÊ?òì©1PÄ?"'…s ¤‘?¶kYOrÓ>ý‡°ÊE¥F>53 ¨ÞUÞ<G³|A{ÀX=\S® ô&?ð?M| ô&?aÛ!~ÀX=¶ªŽZ«e>'!°¹ iŠ?&=sI;~k?X¬.—¿=H@\ça>H@\ça¾ƒvÙ‚pƒ?ƒvÙ‚pƒ¿hw§+T¦?hw§+T¦¿ö"º%ã>ö"º%ã¾€ñvêÆï2=€ñvêÆï2½:þg,mÙ½WLÄ×.=UòÌlŠ8½u—öUS¹s¾¶Ê,xÑ>œ¥‚팾۵*?¨Šæ½ºÖ£_Úþ¾5»¬*w?ÑN?nµ¿æ½9žQ¿× 繦¿w©oGHª?âIs…K>¤¿zdÚ‘=®¿x †,ZÖ¿:K±²û{¸?ø0Œ]¢Ó¿µ:à9Œ?j"º?Hê|úÅÕÂ?aß§nI»?ž`í‰,V?ÙËôq'ª? æë÷‰ø©?'ïáüÞ¬¿bûhˆÏæ=ܶ6êÔÿ>ПȊ§? ëŽÞÑK¿ ïÚˆÑt>î7ß#› ‡>8\.ÉT–‰¾eÔ³T= ÈŸ4k&.=n IËÙå0½êû†+…½ý¾Í¶êŠ£=¾å)óઽÉËŻô±¾æÈGѱP¿Ç}ì(dP?ÑcJ‰C]¿ð?é ‰yA­>™wµR^3K?/xè7T?Bk™éÍtR¿§â§çŽ…=ê$„튣=æV‡«õઽÜ%1àͲ½`&¾¦e›’¾¸ÀÊ‘Ï=¤>ãu¼Ÿ¾ãyjä¸a¿  ©¤)šª¿ ©NfÍš¿ W†ä†Ã°¿·ë_vç7?è Ü›†²‘?/<ܹl?iö5Y*úš¿Xpн-Éî=GŽXÑ >Y¸Sòþ½¾DjV‚¾åföî¾åföî¾&“âð:À_¿‡­á™¹Ž¿‡­á™¹Ž¿xâUÁ;Ò?ÑYSdéx?ÑYSdéx?d·}¢@E?Ô¼/Z?Ô¼/Z?u¤4Ű >›.Ûà`=›.Ûà`=®BlsÊ»)=SÛAsÒI½wéf†K=60%‡y#>œÜP.[9¾Ç ¹°3+B>­/ÃÍáS?vÏoíU¿×p©™ŽÏd?SÆh´=ã¢>¡y•øÉ¢?¦_ã૪¿›¥vž?Y•’Fxa>BÌ™”TÕ™?râ÷]¥¿è+8P-V?ŒÑò ¨8^?8MÿÊ«Ùd¿å ^úŽ">â¡e<;>é8ט¸@¾ãð4Ô™2=`’¾7f!K=«eÃbwW½º 'Dãg”>/,SŽ´¼«¾é ‰yA­>ð?5-Ÿ­·Î?I¾‘çg”>Ça±ç©Q¢>Õ9·¿ô±¾òúEà‰¼Þ¼ŽûhÀÃ!ô<L)Cò†?5?…@1ÔÈõL¿vÏ¥¼Y¸ð>£…Cƒù>¦mH?¿†?å.Há$¿òÑWì“ìgeþŒH?geþŒH?e^u²­?÷…9t?÷…9t?–\/Šz&Ô>Å«'üÄ^>Å«'üÄ^>××I?Ôû<¤ G¼Ê½³B„:¦®=‡Rº&¢U]>{9S‰q7q¾[Év .Zr>¬,e’+ÏÅ=o©—#¥‘ï>0¾úb‡ø¾ðÌtq“?°ÛLÿÁbB?Õo©_¬¤?°§#CkŸ¿ à‘­?†Ïñy¢?Õ)Ë6Ã×?¡¬z•ÕÖ¿“†žêæ]Ê?çæ¯Aoº˜?ùg>¿¢Ò?&Wɵֿ:xœÈ%ßD?)~eÍZ ¦?J„óJs¼¤?N„áΜ¬¿ÌÚœ»ÁÅ=t zÕï>ÑŸb)Žú>ë@\œä_¿‚s2b>\::£L o>™T»Úz¾Ÿ"º>(cø<æ0ï¢êž =Ûb…”:>½×Y#‰)¾s=…bý@MZ‡½Lü†+…=º 'Dãg”>G»&W§A?S›}aQ§A?'0’6A?;Ó¼ÅÒ±P¿O$ÐÓ+¾s=Œ½—TPZ‡=â§çŽ…½¶jù‚p=&é$Aq>ž®s¾¾o?3´C—>96¨ÿÌN?޾}võ ?õŒdmᨿ~'ÌȺL?üÍ"žµ ?e€£ ÞPƒ?2óáVúsŒ?Ù\JÜ«Ý{¿ö¥9ûØ=)²íDÛ=‡TØô½JÉ ÄBÉ >$8T±eÜw>$8T±eÜw>O¯ç6½R?éµÅ¨ü”?éµÅ¨ü”?úhÒß?åZ‡-—µ?åZ‡-—µ?š{¯Ä>F?ÿü\ñ-"ù>ÿü\ñ-"ù>,wç±h•ò=4Ø©MI=4Ø©MI=‰Ê°qíV=4” ‡¨R*½aÇÒ›Ôì0=>í*“`an>ý¬ùF{±€¾,$~ó³ƒ>ŸéÈÛ¹ß=SšpÅÿµõ>?ÐSѬèü¾b~³wLB?À~¬ëZF?ÿ¹™ñô›?㈎/–ãy¿óvFÈ–¾¥?7[5N—¢ª?õ5•Sò¯Ó?\NwLtÈ¿O è•Í?߸2PÄ?…”«{å™O¿Yí·|j£¢¿îM?v¤”¿[G¼iª?Û¥FÅÓ×཮¬C ÷¾I‡r3Á¿W€i¢Åä?D+Å3dk¾ nIÚ€Št¾_îþx37„>ܺó·> ½Ë9»½¨£\!*=…bý@MZ‡=ü‹dš½v¿Í¶êŠ£=4,SŽ´¼«>]˜`Æöâ~¾¨¤s¢S›>““,„k®b?ê¤a÷´ ¬?…Ég‚þ²¿TrŒž¾Y?6òÎ¢Šœ5¿Ð5…ßÿ¿Ä?¾l•¿!zn¨ŒXˆ?; Uhô¹ß½ŽxG,Û½ôu ÏØú=°Ì¡h†è>"­®¬Ü›‡>"­®¬Ü›‡> ×¥¹[?ôÓƒŠÙz?ôÓƒŠÙz?NEŽÔZPØ¿kè£vÈ™?kè£vÈ™?ަüi£1¿¨Shx࿨Shxà¿0¬Ú™ ž”¨˜Ð€S½”¨˜Ð€S½ÊiÝâÙNá<7%Íæ@B>`Ï]’xÉÓ>Ø!žÍ p?7áÎßyÉÊ?߸2PÄ?óq:d ¤‘?ÍݧŽOrÓ>«—À%G¥F>œ‰úäUÞ<ß³|A{ÀX=M| ô&?ð?ú-f£ô&?…Ú!~ÀX=ä‰:?R«e>‚_°qiŠ?ƒ’â8~k?jƒÇÒ£¿=%Q’ça>%Q’ça¾W‹Ö@oƒ?W‹Ö@oƒ¿ËîD)-T¦?ËîD)-T¦¿IA“ù%ã>IA“ù%ã¾ùþ¶ðÇï2=ùþ¶ðÇï2½ï‹!.§½bÇÒ›Ôì0=†@|t]4½È*«Œ­ƒ¾.‘¿¦»æ½SÎÃâÿ¾Z~³wLB?$búÊX%¿Q˶‚t7U¿UÆn݈ª¿wFÈ–¾¥?©ù"²f‡°¿òï¨5oÁž¿"Î|º¡»Æ¿N è•Í?„ï—ÄÂi³?i öÓ¹#¥?£Ù¡az’Ó?­Í" ÇÅÓ¿øt“Ö`ÍU?ŽaxÉ·©?YG¼iª?QQîØŸ«¿M=Õý‡Åä=—ïÒ%yüü>V€i¢Åä?PªàhãD ¿eíZû-±w>Qîþx37„>­°1D.Ǿ||ôD=£\!*=$º'±’6½Jü†+…½s¿Í¶êŠ£=`æ)óઽñ ‰yA­¾­wµR^3K¿6xè7T?Bk™éÍtR¿ð?Ö9·¿ô±>;Ó¼ÅÒ±P?̇ E*dP?Ll›F‹C]¿â§çŽ…=C$„튣=V‡«õઽSŽ-¤›h•½Wä‚b“Óš¾¬¤s¢S›>ð@b¬8±¾BFUC’¿îÍdà 0P¿3pŒž¾Y?`voY2ZŠ?ô•åS`*%? úÔV? zn¨ŒXˆ? 2ò¨1d¿«š\­&·÷=õu ÏØú=»ßçh¾Y<¦5]j!¾÷¾ÝÔ„¾÷¾ÝÔ„¾\à±ë½ÔP¿7uH›¿7uH›¿zþ%›CÌ¿/«¡!Üݶ?/«¡!Üݶ?/­“ŸšaS?K®ï’f2?K®ï’f2?¡7Ô½a">߃û”‚”d=߃û”‚”d=Cå^Ñ»)=äÕeÝ»SA½µ 9ݾÃP=Ï)„#>jH/ëÊ9¾õ|…B>{Ѓ ÎáS?¦Ž4ÀCê_¿»³½òGa?Œm q=ã¢>ûO³ðÉ¢?F°/¾Lñ…¿ÙNzŸ ™­?%¦U]Ón?ðRÕ™?ºCŒ²C¤?ÅYÒ<´Œ¿Ãœ÷¡+V?Æ_¬w8]?VXá04e¿ŠÄÒúŽ">?fJ;Øx6>^xÌŸÎ\B¾ña³É™2=÷Ö‡«—Q=½çX,ÏžT½I¾‘çg”>Äa±ç©Q¢¾Ö9·¿ô±>ð?5-Ÿ­·Î? 'Dãg”>X+SŽ´¼«> ‰yA­¾ ÎtMŽið¼ÝMN—híë<oi1ß…?5?Æ7ã]Y2?ú. ˆ/yK?plþ‹Iƒù> ;²ðâ>SBÿ\ù}¿1]Yîå“ì<à NŸQ–=à NŸQ–=ŠS#ÝÏ5æ>a‹©¿‘H?a‹©¿‘H?V0mu²­?}Ÿ’~t?}Ÿ’~t?ë|]w&Ô>jÀøÄ^>jÀøÄ^> o”ÓÔû‚œ+ñg¾å©÷íïZv>«¶[:ÏÅ=3P©P¯‘ï>ˆÐñɦòø¾}%è.’m?.¶ÄQÂbB?.ÃwØ_¬¤?4BH„ ¦¿¡•–f€¨?‘ Qº±y¢?ý˜0Ã×?Aµ53J8³¿¸½i(ßìÙ?¸¤›^mº˜?%u?{¾¢Ò?½µîkDÕ?2sq᾿eÊ#ßD?Ît»Y ¦?âqŒ« ¤?Éì®­¿½õBÁÅ=ƒñï>gÀl¢ö>Œ²Yeû¿â×^ 2b>NIÇš[!t>7cò­Q˜w¾%ÐÓ+¾s=Y¾—TPZ‡½§â§çŽ…=I¾‘çg”>›}aQ§A?'0’6A¿;Ó¼ÅÒ±P?5-Ÿ­·Î?ð? 'Dãg”>þº&W§A?íª”ì¬L÷’¾Å)žé">öE'æýÌN?š†võ ?«‡á=T‡?LîNÌqš§?•ªµ ? áŒOàPƒ? ˦={]?´&‘Óx¿éÛ¬ÚûØ=˜5RÃ’ñ=Š"™®ê½"E±WU®=—–N"=µpiE¼)½wÞ?É >r‘,.gÜw>r‘,.gÜw>Àf€¦:½R? Ûdº«ü”? Ûdº«ü”?ÑßIœÒß?—÷B,—µ?—÷B,—µ?/öˆÁ>F?e ËÐ+"ù>e ËÐ+"ù>8ótßfÓ§=9ù[³v=r vÒ!½¤xãû×.=šÿ!IÁbd>Törꋎk¾SwyúÚ>ŒP6R"à=· õðö>íO¨}Aþ¾ïR~î/w? ®ÍDP?Í»Ê2¸X¤?®Zö¹ö  ¿áÓÁÈGHª? ÷¸Gk†?$eS(-’°?73ä Ÿ„È?[Ô,þ{¸?ÞÀÆèOí£¿LFZ sÒ¿•b pпaê|úÅÕÂ?[8ŽN¿ ÙÌ0k¢¿2u#*&’¿Øåë÷‰ø©?àŸ#›jêÛ½µ“]Qzó¾ØÅã°åÜö¾³ŸÈЧ?ä@`íÂq¾àiÈ@=‚¾y§Ÿ;• ‡>_¾—TPZ‡=ùõoohš½ê$„튣=Ça±ç©Q¢>'0’6A?Ù˜ñ÷5¿Ì‡ E*dP?ð?[+SŽ´¼«¾ìI6=ZÄo¦¾4Š Î=¤>6¿0FF¬G¿€»LilÄ‘¿Ö¶k0Óq?Óð›ÔjÍš¿ŠPöú¿” TÕP[`¿ÑàÿÛ>h?ƒ<ܹl?Ö×+‚µó½UË¡ <û ¾áäÓãÒ >b*;ô Ë$½fP`½v<7½ûnqA=°„–¨êÚ>Ùšë$' w>Ùšë$' w>ïèmJr:?I™Ž F—?I™Ž F—?¥ò•%=YÕ?i„®óç´·¿i„®óç´·¿Å^ /0ÌP¿½ô©%.õ¾½ô©%.õ¾ôËÕSÃ̹½ŒY?ÚNá<Q®ã«é@B>Ýø~ÉÓ>ö¯™ö p?ý=DÖyÉÊ?òì©1PÄ?ü&…s ¤‘?˜kYOrÓ>SÊ=ª?¥F>aÛ!~ÀX=ú-f£ô&?ð?(M| ô&?{}(™Y«e>Q4'ºiŠ?=sI;~k?­;r¶™¿=Œà ó<x¦Y"“ça>x¦Y"“ça¾+ì±rƒ?+ì±rƒ¿w&—v+T¦?w&—v+T¦¿Ó¯DX%ã>Ó¯DX%ã¾ñzqÙ½¡xãû×.=¨ðãý8½tx©^Y¹s¾@wyúÚ>Ïs'‹íŒ¾VÓ䲊潕»úÚþ¾ìR~î/w?n Ñtµ¿ ²8žQ¿wȃ¸¦¿úÓÁÈGHª?¬k©©I>¤¿bm—=®¿ïŠ<ä-ZÖ¿[Ô,þ{¸?ê¨_¢Ó¿µ:à9Œ?j"º?Hê|úÅÕÂ?aß§nI»?N`í‰,V? Ëôq'ª?Ïåë÷‰ø©?'ïáüÞ¬¿ûhˆÏæ=©¶6êÔÿ>µŸÈЧ?ñêŽÞÑK¿ÕуƒÑt>u§Ÿ;• ‡>À¶ N–‰¾­â§çŽ…½ë$„튣=æV‡«õઽÕ9·¿ô±¾;Ó¼ÅÒ±P¿Ì‡ E*dP?Ll›F‹C]¿ð? ‰yA­>6wµR^3K?äxè7T?ÿj™éÍtR¿YZ ˲½&'rud›’¾#Š Î=¤>ÄPS¯þ»Ÿ¾•pÕJè¸a¿Ž‚½½-šª¿Åð›ÔjÍš¿·¶¸‰Ã°¿«ë_vç7?à Ü›†²‘?{<ܹl?[ö5Y*úš¿T ²È0Éî=âäÓãÒ >¼_¢)òþ½CŸGر-=õnqA=«¯/PH½òäj‚¾AÈ~µó¾AÈ~µó¾©|‡T?À_¿[2Jš¹Ž¿[2Jš¹Ž¿@L;ÅÁ;Ò?q´òpéx?q´òpéx?#·}¢@E?λ´ŠW?λ´ŠW?÷qÛRha¾=¢ÓV)Ë»)=¦Ïb3tÒI½ÃÑt‚†K= é#>.8Å8[9¾'\˜:+B>T/ÃÍáS?ÏoíU¿ƒp©™ŽÏd?³Åh´=ã¢>y•øÉ¢?Œ_ã૪¿p¥vž?ë–’Fxa>ˆÌ™”TÕ™?¨â÷]¥¿ìL÷(V?Sa{¢8^?¦¬ƒ\¨Ùd¿ 'Dãg”>[+SŽ´¼«¾ ‰yA­>ð?5-Ÿ­·Î?J (¢¼Þ¼3#¾`Ó!ô<@)Cò†?5?r@1ÔÈõL¿CÑ¥¼Y¸ð>0ÅÛ­Hƒù>.6¤{†?GèåÑå$¿œŸ'ÆP£+>‹ #ÍT<>çûyï+L¾!ö­0ó“ì<ËEª-¤Q–=ËEª-¤Q–=¬×Í‘Ì5æ>ˆ ÿ±‘H?ˆ ÿ±‘H?e^u²­?±Ût?±Ût?QaU€f³>Wt%ö#Ôû2 r7q¾OéM.Zr>÷YðR6ÏÅ=?"@w¬‘ï>ŠyX®h‡ø¾¶½”?u“?GÛLÿÁbB?œo©_¬¤?d§#CkŸ¿Ô à‘­?†Ïñy¢?Æ)Ë6Ã×?–¬z•ÕÖ¿†žêæ]Ê?7ç¯Aoº˜?h>¿¢Ò?MWɵֿר  ßD?'ˆÌX ¦?U€€p¼¤?žRüËœ¬¿O$ÐÓ+¾s=Œ½—TPZ‡½â§çŽ…= 'Dãg”>þº&W§A?ìîÑY$z¾ÓrPX¼C—>/6¨ÿÌN?޾}võ ? õŒdmᨿâ'ÌȺL?žóÐ9µ ?àBÿßPƒ?‘œjüsŒ?†€‘=°Ý{¿„ãúÏ-'>\ðÄ©F#?¨ÆÀV8"?ªå““2¿ò¨@ÄFÉ >vjÜw>vjÜw>Ù¿Ï8½R?,汫ü”?,汫ü”?úhÒß?w9_y*—µ?w9_y*—µ?l#;Û)1?ˆxJôV=w€©²R*½ÆsÚôÚì0=Ð<¥Šaan>ñä|±€¾Ö³×F´ƒ>T€‘në¹ß=ÄEÓ¶õ>à’³èü¾€a1»QB?O~¬ëZF?·¹™ñô›?爎/–ãy¿ÆvFÈ–¾¥?[5N—¢ª?ø5•Sò¯Ó?vNwLtÈ¿d è•Í?5߸2PÄ?6)I«Ý™O¿§£yÿg£¢¿(ÍGs¤”¿]KŽŒiª?Œ½—TPZ‡=õoohš½C$„튣=X+SŽ´¼«>íGÔØã~¾BvŠ/¬S›>“,„k®b?ã¤a÷´ ¬?…Ég‚þ²¿ sŒž¾Y?gAsiœ5¿pKÙáÿ¿3šJvl•¿w#cñXˆ?92¸-k¾IHÞOÕ$¿Bš÷ä9¿§'«bè4?b7è>(LT|ᛇ>(LT|ᛇ>«ÁL‰¹[?RÿtƒŽÙz?RÿtƒŽÙz?GEŽÔZPØ¿%«ÁÅuÈ™?%«ÁÅuÈ™?PâsJð>4¿ õÊŒàNá<Ü.¢ç@B>“ý.}ÉÓ>£!žÍ p?!áÎßyÉÊ?5߸2PÄ?±(˜õ¤‘?…Ú!~ÀX=(M| ô&?ð?ú£»!Z«e>~_°qiŠ?ÙPpÐ:~k?Ž,«$?øõ`ª•ça>øõ`ª•ça¾DÆtrƒ?DÆtrƒ¿A»‘)T¦?A»‘)T¦¿v• 6§½ÂsÚôÚì0=G€{]4½HBÆš41p¾Ò³×F´ƒ>Ó`IC­ƒ¾ÝÄ[•±»æ½Kvôœÿ¾„a1»QB?¨õ ý[%¿æÊ¶‚t7U¿Æn݈ª¿ÈvFÈ–¾¥?€ù"²f‡°¿Áï¨5oÁž¿)Î|º¡»Æ¿9 è•Í?Yï—ÄÂi³?š öÓ¹#¥?¸Ù¡az’Ó?¿Í" ÇÅÓ¿ñµ,\ÍU?Ï®Å䯷©?uKŽŒiª?›hÖŸ«¿â§çŽ…½C$„튣=V‡«õઽ ‰yA­¾6wµR^3K¿äxè7T?ÿj™éÍtR¿ð?°‡9Ý(²8±¾ŒHUC’¿HÐdà 0P¿ŽsŒž¾Y?YvoY2ZŠ?Ü;eÔd*%?àò¨åÙV?N#cñXˆ?(úi–°1d¿íh¨ýÛ=Ÿ>0ïB·4?¤'«bè4?ÔƒÀÏÀiB¿úEü»_j!¾y»Ç”„¾y»Ç”„¾@RQ¿ÔP¿ÏÛê[›¿ÏÛê[›¿¢þ%›CÌ¿±žEÙݶ?±žEÙݶ? Pê}¯7:?†¸*ñBT?GÚüc+U?ÕKlžþd?§‘g4žÉ¦>b@èQ¯¡?J Œ ®©?8¾›v §?qïxä9??мåK?Üw5øßB¿µê–š†…>áÜõ<£>²ôq´Õð”¾ß¶ÏÍûò<"¸"´]뼕ªµ ?XPöú¿šë_vç7?8DöÌN?Sòc´f®b?~§o#=’¿5iC}û‚p=„°øs‘=M–®¿²½ð?º‰PLÎ?†¸™ó;±#=_ô‘ÛûõK=a¬x@-½ '!êŒ(? '!êŒ(?ØtHW?ØtHW?¦¸².óó$?d’ÞÓaãH?d’ÞÓaãH?Óè:zù€Q>ôm2玄9=ôm2玄9=ãÒ,2’Û&?8ßYç_“ ?‚Ê'†™?v¾n+P©?Æ0ígô ?$ØFÝMÖ?‹#GÌiÊ×?ʽ§™xË?B«ûWØý>åRi&Ž?6ró–?‘ºNçq¿ÅaYlÛ=ÈùuàÓÀ?ei„6#)?YZw+­¿p‚‚òC;÷=ZËÜB:>\ØË¼· ¾‡«K¸ŒX=†ÓüƒQt=Xj¶£zt½Tlþ‹Iƒù>áŒOàPƒ? TÕP[`¿Ø Ü›†²‘?pxZ ?5?ršÞasõ ?ïR° ¬?F)?·0P¿*% ¨Bq>vrÿªÞ•>Ä)""`›’¾º‰PLÎ?ð?†¸™ó;±#=w©@Ž>•úôæë™—>V½[Bá°x¾¶öbe³ûw?¶öbe³ûw?êaçåà›?êaçåà›?{ ¥Vu?DbãÊ&‘?DbãÊ&‘?Å>³ÿiÃÝ>òÂ.½ù>òÂ.½ù>¥ÎNv-¿n,Ó¢\”¿L¬Ü¡Âq¿˜maYÓ ¿yŠ‹b6Ψ¿ETÿ£VÑ¿øÞ¥Ç¿eìä™xYÌ¿ ±öB¿{*×c’¿ž¹GªïQ˜¿ ÜÄNà”?4tTpvžý½‡üœüºƒ#¿Ü,ÔËÀ5¿—¡Q )?ȘÜ‹g ¾Gµšv'¾æ‰òz'‹!>rÇ…øo½½‘î;Lj½úm²…é‰=ü;²ðâ>æÊ¦={]?ÆàÿÛ>h?]<ܹl?­Ï$è¾õL¿ÓºMiᨿÕ™®þ²¿ÇÝ]™¾Y?{¦\O…ið¼MÛ‘ãG÷’¾Ÿ‡°¾o¦¾«ý£çÉ=¤>ÿÿÿÿÿÿï?_ô‘ÛûõK½•úôæë™—¾ÏRûà ±¾lûf3Êx’>Ρ4Æû Ô¼“ p÷ðÝ<™l˜Üð[q¿™l˜Üð[q¿)hDβ܄?)hDβ܄?ÖÅ1Ö½ù}¿Üš Œ¿Üš Œ¿ÆC¸wöâ¾v×ö¼©*¾v×ö¼©*¾.Ú% ‰?¼Ã´å:uÉ? ÉÀK}u?Û0!;øú>fÄÒ’ÃÜ=b@û—³===sI;~k?…±î+ iŠ?!T«e>ÿÿÿÿÿÿï?Ô?õè‰Êc>±Aÿ6xc?±Aÿ6xc¿ˆÖl.‰†?ˆÖl.‰†¿öW}?öW}¿|àAÑt>|àAÑt¾¾xׯ7=¿š.i8q1¤¿™maYÓ ¿eà]ï<«¿b"ç—¤œ¿¦³$Ä¿dìä™xYÌ¿ÒÆ{B.²?äÕNf ?1z‚{âˆ? ÜÄNà”?7ìp€¿+ÀœX%Nð=õd¨L|?”¡Q )?sr’³Ó¿fÁ‘]µ1>å‰òz'‹!>Îáiˆ¾8¨Ì&ŸOo=úm²…é‰=²Ç&ç1‰½?Bÿ\ù}¿´&‘Óx¿c<ܹl?Pö5Y*úš¿e?ŸƒS¸ð>ùgÍmºL?¥ÇÝ]™¾Y?-Ð-ZŠ?†ð×Yíë<õ±Ýå">©ý£çÉ=¤>Vu8 ø»Ÿ¾ÿÿÿÿÿÿï?a¬x@-=[½[Bá°x>qûf3Êx’>ŽÔµ³Ûb¾” p÷ðÝ<’'Ãeƒä¼ª­«4|C{¿ª­«4|C{¿»1Јžž¿»1Јžž¿PCp ëR¿’ƈ–µŽ?’ƈ–µŽ?N†±&(è>³' L §>³' L §>ÊVåA>ËÛ¡|¦4¾ƒxy%D–3>}/˜i-£>KÒ[ŸxVÀ¾æ×ŒÑ ï°>àÂò¤òBT? á®²ÛRg¿’(Y}Á7¿S©Ò¨É¦>ÏóQ¯¡?Â.ÓtHŒ¦¿x –ýA£¿ž.ä9?D±Ð;ºõ0?Ù&計LP¿(sÌGœ†…>çf‹?Ê*|>œ®ø…†l¥¾¶oEÛ>Ú<)œEØbvö¼ÕóÐ9µ ?§Asiœ5¿-‡lÌL½‡•ôÇk>‡•ôÇk>†¿2)O0€=†¿2)O0€=fý0ÿ:f?ÃØp©–(?ÃØp©–(?ÕS:Còó$?-W‹fãH?-W‹fãH?4Õ$tÿ€Q>Š1Ÿ™„9=Š1Ÿ™„9=‡Å½U-=ì_ÆÔÛÏ>IM ÿŒ¥á¾ÈùVWí¼à>[ñÁþ- >`ýÛ¹7ù(?±^™|=é;¿¸mŠ¢ãí,?km ã”Û&?6c¿`“ ?K9Aû ¬¿ÿ1Zq¤|¿¥Z]hô ?Я¨MÖ?t[`a£ãÔ¿ enìN×ѿЗðŸãý>ƒU1n&Ž?²H Íç{?sñ?ªiÑš¿_K8‰\lÛ=:„FþÔÀ?€¯<_?ŽXÉ£¤P,¿qÊIôM;÷=cu0]-•ú=¦@È«CÀ¾£żƌX=¼ ¦ i=å5ÑFÅüy½²}ˆûØ=©Zkµó½¿-÷K%Éî=¢ÅÛ­Hƒù>CÿßPƒ?˜KÙáÿ¿Ió¨åÙV?œi1ß…?5?­†võ ?”»LilÄ‘¿¨‚½½-šª¿:ûñ|Gq>°úh•z„>º/ƜӚ¾†¸™ó;±#=w©@Ž>•úôæë™—¾[½[Bá°x>º‰PLÎ?ð?qŸÊ6K±#=îéMŽ>KŸû z`¾ÿ‹ù>äN˜¾¡Xëð>¡Xëð>];â¢5H>];â¢5H>Ÿ§ÈN§½§?Oõ>Ox?Oõ>Ox?ÓoWï¤Vu?²ÑH&‘?²ÑH&‘?þrÍ8qÃÝ>ëOªÃù>ëOªÃù>–¯÷±QsN=¬%Eã«"Û>Zûät÷뾺é/,N˜ì> ŠåoI+>J<°HÃ5?€ëäH§F¿þɶ—–€9?ggËøÇ:@?¹< Žën¦?wÂ}Àxv±¿ †íÛÌù„¿èÕ¯ÁÇ¥?Ó)¸ŸcrÎ?ÓÄá˸¿(Ý e„*п” éÖqk÷¾N|h#\v¿ªÌêúe?U"¿é¯…?[Ð¥˜îÕ½Ò“haæü¾Ñµ_Óÿì>ÃÇ–)ø?w›‰Sô½8¸j;ð½Ü©` …è>ëÍ\ z%c½ú`ðB­q½é¼0‹D„=Î¥fžŒñ=ú™Ù§3û ¾ÆMQË >y6¤{†?ËœjüsŒ?JšJvl•¿ž#cñXˆ?õ7ã]Y2?ì‡á=T‡?ȶk0Óq?÷ð›ÔjÍš¿õK (¢¼Þ¼yÒY$z¾8ÕØã~¾wŠ/¬S›>_ô‘ÛûõK=•úôæë™—>ÏRûà ±¾qûf3Êx’>ÿÿÿÿÿÿï?õ‹È @…=@Ÿû z`>ÈæÞú^>%Bb’?dy¾ï• Ô¼¹PˆûÝ<—› âÞô>—› âÞô>Ǻ Z>Ǻ Z> Ú;n¢?ðwÆè†?ðwÆè†?®nYY ‹l?3+až”•ƒ¿3+až”•ƒ¿É J$qà¾ã^#á ¾ã^#á ¾HÖûžo³>á(÷„8?ðr¾& ‰?ònoñB¤¯ÏÜ=“ót©³==ýÇÿ$Ž¿=QpÐ:~k?p4'ºiŠ?§¤»!Z«e>Ô?õè‰Êc>ÿÿÿÿÿÿï?¦%›ý‘Êc>õÏìÝÒØ>õÏìÝÒØ¾›D¸@¶/>›D¸@¶/¾2"Fçú~c?2"Fçú~c¿Æ)†ûW}?Æ)†ûW}¿§*'Öt>§*'Öt¾:Œ éáL½Ý1Ýö¼Ù¾½é/,N˜ì>-ÿíg±è¾Ð¥m·AH¾èK;<„Ž&¿ÿɶ—–€9?r-Þœ "¿}bfÇ?IŸTÙv? †íÛÌù„¿Zû£}a†?ÑF¸#š¢?‡Ÿ7Ê?(Ý e„*п~ z@‘¿èª’—Î?¾}•?\"¿é¯…?s#Aš•¡¿×ðaŠu®> ae©4û%? ÃÇ–)ø?C¯ z­+;¿žëJ™|e>Û©` …è>à’‹»n™0¾u·1éÎÝs=ì¼0‹D„=WAVÜ”½ °¿˜®ê½ÆMQË >#6Œ òþ½«èåÑå$¿Ç€‘=°Ý{¿›#cñXˆ?›úi–°1d¿// ˆ/yK?`îNÌqš§?ôð›ÔjÍš¿Æ¶¸‰Ã°¿o$¾`Ó!ô<ˆsPX¼C—>wŠ/¬S›>ºÝ(²8±¾a¬x@-½V½[Bá°x¾lûf3Êx’>ŽÔµ³Ûb¾ÿÿÿÿÿÿï?ð>‡lÌL=ÿ‹ù>äN˜>6Bb’?dy¾%º²¾»PˆûÝ<6ßfmƒä¼ÿ}õýf»ù¾ÿ}õýf»ù¾OL_¬ÎP¾OL_¬ÎP¾~™^È󥤿K’#‹"]?K’#‹"]?¨µ³Ê¾z?އ“æ¸X’?އ“æ¸X’?'¾½ñïé>øR`f®j.>øR`f®j.>â½XìA>̇Ž$'¾‹b\—:>e<Íh-£>P7ã÷u8”¾MüËw:Â>‚¸*ñBT??Úüc+U?ÑKlžþd?¾‘g4žÉ¦>e@èQ¯¡?H Œ ®©?@¾›v §?1WÁ~ä9?Jª‰ŒÁåK?yÊsüßB¿&µê–š†…>òÜõ<£>Âôq´Õð”¾ó´ï¨×ûò<¹k¬Â]ë¼ê”ªµ ?4Pöú¿së_vç7?6¨ÿÌN?ƒ“,„k®b?-FUC’¿ZiC}û‚p=¨°øs‘=Š–®¿²½qŸÊ6K±#=õ‹È @…=ð>‡lÌL=ð?º‰PLÎ?µ[6K±#=y!öK=bUX@-½ä2.µùk>ü\Ù«>f?ºXý§–(?ºXý§–(?Ÿ¸².óó$?×J¾eãH?×J¾eãH?Å"„Øþ€Q>ôm2玄9=ôm2玄9=Q6¯@æ=οS¤Ð:½yI>ÉQk =¿)ô-ÊU-=î9º“ÚÛÏ>FygUÆÓ¾ ûÅÈ8æ>œ]õo- > ÿ‚7ù(?WÛ¬E¿¡Ç&™w#??ÜÒ,2’Û&?8ßYç_“ ?}Ê'†™?s¾n+P©?È0ígô ?&ØFÝMÖ?#GÌiÊ×?Ó½§™xË?;äþÚâý>ý¼_ªm&Ž?µ´ižuó–?Ñ„.ãv¿ÏÅaYlÛ=ÜùuàÓÀ?~i„6#)?pZw+­¿óºøK;÷=x&gH:>Fñð¨Å· ¾…/äÄÀŒX=EªÌFQt=p¬» ªzt½IȉûØ=ÈõpÞé¹ß½¹¶Ú·÷=lþ‹Iƒù>ìàŒOàPƒ?w TÕP[`¿Ê Ü›†²‘?-)Cò†?5?޾}võ ?ܤa÷´ ¬?QÎdà 0P¿;% ¨Bq>6vrÿªÞ•>Ô)""`›’¾qŸÊ6K±#=îéMŽ>@Ÿû z`>ÿ‹ù>äN˜>º‰PLÎ?ð?µ[6K±#=ç6q~MŽ>•ˆÁ2õ™—>E^jVë°x¾þÄ"Ïß<þÄ"Ïß<¬qó•½=>×ú /ôñ>×ú /ôñ>®6÷vª½§?’îA’Mx?’îA’Mx?w ¥Vu?´š’†&‘?´š’†&‘?À´|pÃÝ>òÂ.½ù>òÂ.½ù>#ÔY>ß߇=+ãõ”½øÇ}¥“¨=)Ú¹­´A=–ZchÎ>;ÎÃ<#̾Ü=•LEå>Ó½P¤Èâ>4_=JUï ?ü9ßàeÌ?1„9ÿ›ü ?–ÎNv-¿h,Ó¢\”¿;¬Ü¡Âq¿”maYÓ ¿yŠ‹b6Ψ¿FTÿ£VÑ¿ôޥǿlìä™xYÌ¿NídyüB¿Ùñ‘Ùc’¿ºGòQ˜¿†‚#ã”?ptTpvžý½™üœüºƒ#¿ð,ÔËÀ5¿ª¡Q )?ÓWª¥•g ¾*•v'¾úR-‹!>“NÜo½(€ˆØCLj½˜ÄÿQŽé‰=ñkjË;Û=¹ ªÔ,Û½¦þ2nÐú=Ì;²ðâ>¾Ê¦={]?«àÿÛ>h?<<ܹl?\@1ÔÈõL¿üôŒdmᨿ…Ég‚þ²¿~pŒž¾Y?ž¦\O…ið¼]Û‘ãG÷’¾´‡°¾o¦¾ºý£çÉ=¤>Ρ4Æû Ô¼” p÷ðÝ<î‹È @…½KŸû z`¾ÈæÞú^>6Bb’?dy¾ÿÿÿÿÿÿï?x!öK½—ˆÁ2õ™—¾ùoÊ ±¾OU˜zÑx’>G¢4Æû Ô¼@ p÷ðÝ<J‰å:0àÈǦðO_ñ>ÈǦðO_ñ>G}Ö’Ÿš?ÿ£q£´cq¿ÿ£q£´cq¿ÌÅ1Ö½ù}¿ŸÈˆ  Œ¿ŸÈˆ  Œ¿ÀZ´Ÿ öâ¾v×ö¼©*¾v×ö¼©*¾d§ XLc=èœÌˆ¢o³>…º©°„8?þ-Ú% ‰?Àôå:uÉ?f©‘CO}u?ö0!;øú>2jHÍÜ=bj<¢³==ŠîŽš¿=ê¦%›ý‘Êc>ÿÿÿÿÿÿï?%0ý‘Êc>—Ã0@óØ>—Ã0@óØ¾šé€}ù~c?šé€}ù~c¿ª¹‹°ùW}?ª¹‹°ùW}¿|àAÑt>|àAÑt¾ôvø³™½ùÇ}¥“¨=í¹tºY=¹½djK³2,S½.0mÍ×á¾Ü=•LEå> Ãã)°ö¾Øq/q.¾Oš=‚G8¿5„9ÿ›ü ?™0â5¬L¿¸xׯ7=¿™.i8q1¤¿—maYÓ ¿eà]ï<«¿p"ç—¤œ¿£³$Ä¿cìä™xYÌ¿ÑÆ{B.²?«@êÂo ?)Ö-âˆ?Œ‚#ã”?Y\;Í„p€¿KÀœX%Nð=d¨L|?ª¡Q )?©sr’³Ó¿Ò(8¯¼1>úR-‹!>(%°qˆ¾ª7ö©Oo=•ÄÿQŽé‰=Áǵ™ 1‰½>$±jÒô½­þ2nÐú=ÄÂg§c¾Bÿ\ù}¿à³&‘Óx¿M<ܹl?8ö5Y*úš¿Ï¥¼Y¸ð>á$ÌȺL?]pŒž¾Y?NvoY2ZŠ?Áð×Yíë<²Ýå">¿ý£çÉ=¤>tu8 ø»Ÿ¾“ p÷ðÝ<’'Ãeƒä¼ó>‡lÌL½ÿ‹ù>äN˜¾%Bb’?dy¾%º²¾ÿÿÿÿÿÿï?bUX@-=E^jVë°x>MU˜zÑx’> ƒi»Ûb¾E p÷ðÝ<z’'Ãeƒä¼ºÜÈw€=ú¼ºÜÈw€=ú¼«à•ÁÕ§R¾áíIj\fü¾áíIj\fü¾ãU‘D¨¿˜­¹Ë’I{¿˜­¹Ë’I{¿bCp ëR¿øi-Õ™µŽ?øi-Õ™µŽ?Rwëý*(è>§' L §>§' L §>ásÊ*îA>2o¢ƒ¦4¾}ÿK–3>-bwßo-£>ž™ó~VÀ¾ŒþzÖï°>ÛÂò¤òBT?™á®²ÛRg¿ü‘(Y}Á7¿YÓտɦ> ‡T¯¡?Ex?ŠJŒ¦¿a#Ô<B£¿ž.ä9?C±Ð;ºõ0?Ù&計LP¿JsÌGœ†…>g‹?Ê*|>º®ø…†l¥¾' f×>Ú<¯Ñe¸^vö¼½óÐ9µ ?‰Asiœ5¿…½ @znÌL½“Y8§no=~ý²²ùk>~ý²²ùk>VÛŠ=f?·Øp©–(?·Øp©–(?Òåö#ùó$?é~@dãH?é~@dãH?Ô–ÂÌû€Q>¢‚7–„9=¢‚7–„9=œ Ÿ —æ=oŸ“¾™½ö7*&L®™=‚vP²ÍU-=@]"ÜÛÏ>¾å¿¥á¾W_V6ñ¼à>—üâ- >Qù‰=ù(?v½%~Cé;¿Wåyfêí,?Ym ã”Û&?3c¿`“ ?G9Aû ¬¿ 2Zq¤|¿gØà,kô ?nžaMÖ?ýo<ñ£ãÔ¿X¿¤P×ѿЗðŸãý>ƒU1n&Ž?²H Íç{?sñ?ªiÑš¿´K8‰\lÛ=R„FþÔÀ?“¯<_?©XÉ£¤P,¿Ñsˆ.K;÷=3Uw&+•ú=/ ¯ô@À¾ˆżƌX=¦ ¦ i=Ì5ÑFÅüy½ܬÚûØ=û×+‚µó½— ²È0Éî=qÅÛ­Hƒù>ùBÿßPƒ?KÙáÿ¿2ó¨åÙV?^( `ˆ?5?O%¨ wõ ?Ý‘3ÚkÄ‘¿_ ðb/šª¿¤jEq>t°%N“z„>@¤ ™Óš¾µ[6K±#=ç6q~MŽ>—ˆÁ2õ™—¾E^jVë°x>º‰PLÎ?ð?Î~°‹L±#=€ÎžNŽ>1uí z`¾J‰¢åN˜¾Ùv^[ˆ^ß<Ùv^[ˆ^ß<À"®nÁ=>ÓD(óñ>ÓD(óñ>)ºŽ©½§?Oõ>Ox?Oõ>Ox?rÝûªVu?ê[&‘?ê[&‘?5²DÎlÃÝ>Á<šÂù>Á<šÂù>ÀËÈ#ø­“=×9¦;Ž®½¢v Œ¯¯=oØÃabsN=)J)«±"Û>hæ7Äȷ뾺»êFT˜ì>‹$ë~I+>&mDMÃ5?ûnº÷L§F¿Ñ‚+œ€9?\gËøÇ:@?³< Žën¦?tÂ}Àxv±¿†íÛÌù„¿÷j†bÄÇ¥?{ÚtIdrÎ?\,=Û˸¿)cNN…*Ð¿Ž éÖqk÷¾N|h#\v¿ªÌêúe?V"¿é¯…?˜Ð¥˜îÕ½ð“haæü¾îµ_Óÿì>ÃÇ–)ø?ËU6e‡Sô½ñD™uj;𽌻Ø÷ƒè>ÕÍ\ z%c½îù`ðB­q½Ô¼0‹D„=´5RÃ’ñ={Ë¡ <û ¾åÓãÒ >T6¤{†?´œjüsŒ?:šJvl•¿Ž#cñXˆ?5ŸV^Y2?©çÝï• Ô¼»PˆûÝùoÊ ±¾MU˜zÑx’>ÿÿÿÿÿÿï?¢;õ*>…=uí z`>ã#úÊú^>§ éPžÝ<x}Žz :öê¢ESËøô>ê¢ESËøô>v)¹¦‹l?*Ë:”•ƒ¿*Ë:”•ƒ¿új<"qà¾ÙË_ ¾ÙË_ ¾ÆæÅ^TLc=òŠÐ|£o³>ãa*QŒ8?èr¾& ‰?çß¾>uÉ?RàX…O}u?ƒ®j†<øú>;ØŠTÌÜ=tót©³==è;r¶™¿=üPpÐ:~k?¹ŠÁeiŠ?lJW«e>%0ý‘Êc>ÿÿÿÿÿÿï?踲’Êc>QÑ«>óØ>QÑ«>óؾ."Fçú~c?."Fçú~c¿óa5ÝøW}?óa5ÝøW}¿DMúÔt>DMúÔt¾¥c¬_ê¡“½€¢v Œ¯¯=…®Øƒ^g®½”2ˆëùáL½íãìÓü¼Ù¾³»êFT˜ì>Ö¢Ó¨m±è¾ä„ÐQH¾`K|ЉŽ&¿Ä‚+œ€9?A¼XM¡ "¿ý|bfÇ? ŸTÙv?Þ…íÛÌù„¿Wû£}a†?Ç*’Q'š¢?:¿– Ê?$cNN…*пNÀ3À@‘¿æª’—Î?¾}•?["¿é¯…?r#Aš•¡¿ñaŠu®> ae©4û%?ÃÇ–)ø?Y¯ z­+;¿v¾…ze>Š»Ø÷ƒè>ŠFOÀl™0¾^·1éÎÝs=×¼0‹D„=AAVÜ”½¿"™®ê½ åÓãÒ >ÿ_¢)òþ½‹èåÑå$¿¹€‘=°Ý{¿Ž#cñXˆ?žúi–°1d¿GKÅ2yK?B·?sš§?"¨jÍš¿cÚZ)ŠÃ°¿*ÆNÍ!ô<õò+¹C—>•øë_©S›>Ù“Wį8±¾¹PˆûÝ<6ßfmƒä¼bUX@-½E^jVë°x¾OU˜zÑx’> ƒi»Ûb¾ÿÿÿÿÿÿï? @znÌL=O‰¢åN˜>Ï éPžÝ<W§pƒä¼±J^ˆð¼±J^ˆð¼µõþÁAqB¾ CÍéÛù¾ CÍéÛù¾vØòõ¥¤¿C’#‹"]?C’#‹"]?w÷Çоz?\¿_†·X’?\¿_†·X’?‡GqÞíïé>ü©i:¬j.>ü©i:¬j.>6¥S„çA>YÅ <ý#'¾—=…j:>–<Íh-£>7ã÷u8”¾yüËw:Â>!Õ±_óBT?ß‘e+U?71üM þd?\r»i¸É¦>üUÂVS¯¡?|Ô#· ®©?Ö6pî§?*WÁ~ä9?>ª‰ŒÁåK?}ÊsüßB¿èy9†¢†…>L£Zè£>-6ËlÝð”¾ò´ï¨×ûò<½k¬Â]뼕ªµ ?sPöú¿«ë_vç7?96¨ÿÌN?”“,„k®b?ÃGUC’¿Œf¾ƒp=ç­t‘=Ü%1àͲ½Î~°‹L±#=¢;õ*>…= @znÌL=ð?º‰PLÎ?~ô²3O±#=b¸ÌöK=Åꬓ@-½D—×ü±¯ùk>#`A9;f?¶Xý§–(?¶Xý§–(?¦¸².óó$?ÉJ¾eãH?ÉJ¾eãH?ŠÈ7Q>Çp4Lš„9=Çp4Lš„9=’6¯@æ= ÀS¤Ð:½—I>ÉQk =ÐÛVÞÀU-= %ÛsÖÛÏ>‘Û×SÆÓ¾ØÑäÅ8æ>^õo- >Dÿ‚7ù(?!WÛ¬E¿ÌÇ&™w#??“'7–Û&?8[ *a“ ?AYx¢'†™?P~|-P©?5˜ÈDjô ?”‰tÓMÖ?¥ìLõjÊ×?€嫜xË?,äþÚâý>ú¼_ªm&Ž?²´ižuó–?Ý„.ãv¿ŸnAilÛ=ô¿¦ÙÀ?~#<#)?¡v:'2­¿óºøK;÷=v&gH:>Mñð¨Å· ¾›/äÄÀŒX=YªÌFQt=…¬» ªzt½©ñ¿È ûØ=,Àq)æ¹ß½(ÛýJ·÷=plþ‹Iƒù> áŒOàPƒ?” TÕP[`¿æ Ü›†²‘?L)Cò†?5?޾}võ ?ï¤a÷´ ¬?Ïdà 0P¿4—ÔGq>Q«9±Þ•>`&¾¦e›’¾Î~°‹L±#=€ÎžNŽ>uí z`>O‰¢åN˜>º‰PLÎ?ð?~ô²3O±#=¬¤±ÜPŽ>ÄÀÅ·÷™—>a¤Ÿì°x¾Çß-¨~^ß<Çß-¨~^ß<åqó•½=>ÑlÜññ>ÑlÜññ>£¤«€§½§?ŽîA’Mx?ŽîA’Mx?{ ¥Vu?­š’†&‘?­š’†&‘?´0u”uÃÝ>•\‘qÄù>•\‘qÄù>SÔY>ß߇=D+ãõ”½&È}¥“¨=’Ô¯A=ÐÜTk`hÎ>>0€#̾L"p†JEå>¾P¤Èâ>^_=JUï ?:ßàeÌ?L„9ÿ›ü ?ZÀ†±v-¿Ö‚\”¿ ú\c›Âq¿NK6‘YÓ ¿¶ìŠV:Ψ¿GŠb‚VÑ¿ÔóJ©¥Ç¿ÿ¥/îzYÌ¿BídyüB¿Ùñ‘Ùc’¿®GòQ˜¿ˆ‚#ã”?ó$_‡žý½¦¿g_¿ƒ#¿~F—Å5¿bÈV )?ÓWª¥•g ¾*•v'¾úR-‹!>³NÜo½?€ˆØCLj½²ÄÿQŽé‰=£è”8Û=…‡ó,Û½îNRaÍú= ;²ðâ> ˦={]?ÑàÿÛ>h?<ܹl?‡@1ÔÈõL¿ õŒdmᨿ…Ég‚þ²¿ËqŒž¾Y?’Ž2šið¼UmÏ1M÷’¾#׊Äo¦¾¸ÀÊ‘Ï=¤>G¢4Æû Ô¼E p÷ðÝ<‰;õ*>…½1uí z`¾ã#úÊú^>Ï éP3ï• Ô¼õPˆûÝ<ïÒ$ ÛSà<ïÒ$ ÛSà<ù;lh)> #N_ñ> #N_ñ>TA£*Ÿš?ø£q£´cq¿ø£q£´cq¿ÕÅ1Ö½ù}¿‹Èˆ  Œ¿‹Èˆ  Œ¿êC‡|ö⾈‡Å©*¾ˆ‡Å©*¾‰§ XLc=]±Ê o³>µº©°„8?¬µ÷.' ‰?0>Øä=uÉ?c©‘CO}u?ø®Aøú>2jHÍÜ=;bj<¢³==â ç•¿==sI;~k?‚_°qiŠ?¶ªŽZ«e>踲’Êc>ÿÿÿÿÿÿï?¨²”Êc>© Á<óØ>© Á<󨾓é€}ù~c?“é€}ù~c¿œ¹‹°ùW}?œ¹‹°ùW}¿æµÖt>æµÖt¾$wø³™½)È}¥“¨=ºtºY=¹½›,ñœ,,S½OÖ–•Õá¾M"p†JEå>½‰2ð&°ö¾ Ùq/q.¾oš=‚G8¿K„9ÿ›ü ?¿0â5¬L¿ŒáDüË7=¿µ¾E×r1¤¿LK6‘YÓ ¿° ÿW?«¿õón¤œ¿£ÕÇ&Ä¿ó¥/îzYÌ¿™ßËjC.²?©@êÂo ?)Ö-âˆ?‰‚#ã”?d\;Í„p€¿xNDö.Nð=¶“šßQ|?òaÈV )?nO0«¸Ó¿Ò(8¯¼1>úR-‹!> (%°qˆ¾2ª7ö©Oo=®ÄÿQŽé‰=Ûǵ™ 1‰½à'TÏô½ñNRaÍú=9ªÔË`¾SBÿ\ù}¿ ´&‘Óx¿<ܹl?^ö5Y*úš¿!Ð¥¼Y¸ð>²'ÌȺL?ÂrŒž¾Y?_voY2ZŠ?*C!Ôkíë<&ˆè¦ê">ºÀÊ‘Ï=¤>ãu¼Ÿ¾@ p÷ðÝ<z’'Ãeƒä¼ @znÌL½J‰¢åN˜¾§ éPQGqÒx’>²ÊS3¹Ûb¾õPˆûÝ<aßfmƒä¼g\´Rxú¼g\´Rxú¼Ðà•ÁÕ§R¾ÉXfü¾ÉXfü¾Í›D¨¿•­¹Ë’I{¿•­¹Ë’I{¿iCp ëR¿ñi-Õ™µŽ?ñi-Õ™µŽ?ÄJè%/(è>Á\O§>Á\O§>Zy9¹íA>ÔQªƒ¦4¾[4\J–3>ó»Ú–l-£> Ò¡{VÀ¾1éS ï°>:¸ròBT?.9ßûÚRg¿yÚäÉÁ7¿ºV™*•ɦ> @º2P¯¡?^w•VEŒ¦¿êëüA£¿£Tyaxä9?ãiJǵõ0?Z3bÊ„LP¿2^½W“†…>¯’-¾*|>ºbø}l¥¾ÁmôÅÊ>Ú<™f'öTvö¼„€ºµ ?šd¦œ5¿S˜ÆÍf*%?&0Ï„õÌN?àuÓ?¬G¿ãyjä¸a¿¶jù‚p=G‹ƒ2ÆW€=SŽ-¤›h•½~ô²3O±#=`¸ÌöK½Åꬓ@-=ð?º‰PLÎ?Ìh;±#=Æœ·v0…½c3éðUÌL½“Y8§no=[±ºùk>[±ºùk>œûŒ@f?ž’x+¨–(?ž’x+¨–(?çS:Còó$?&¥¡?bãH?&¥¡?bãH?=‚’°ù€Q> ‘‰„9= ‘‰„9=8ÏT¡æ=›Òà8¾™½N:àqT®™=õ?×ÌU-=Õf…ÁÛÛÏ>¬Þ¥á¾Tò®ð¼à>žzf¶‰- >Ƚ½:ù(?âÞ@é;¿ÙÈ;æí,?O ]“Û&?æôÚd`“ ?yeW ¬¿˜tGîv¤|¿B/öeô ?«q0MÖ?ãt©¡ãÔ¿þå èN×Ñ¿„K…W×ý>ôÛ —h&Ž?oDyÐÇç{?"ÚŒPeÑš¿ÚX%TJlÛ=ÕYÏÀ?­gN?¬ äbP,¿èè~vD;÷= UÍ€"•ú=E†:À¾ËˆV廌X=ŒgŸýš i=² ºüy½³€x"ûØ=R‹@ µó½'rH:9Éî=¡SN¡Mƒù>ÚŸ0ÊáPƒ?:%œîäÿ¿nç%ÛV?i"`~?5?×sõ ?GáçiÄ‘¿  ©¤)šª¿&é$Aq>ªäõz„>Wä‚b“Óš¾~ô²3O±#=¬¤±ÜPŽ>ÄÀÅ·÷™—¾v¤Ÿì°x>º‰PLÎ?ð?Ìh;±#=6^š;@Ž>®´ z`¾aB]ÚN˜¾.S»?…^ß<.S»?…^ß<À"®nÁ=>žìÍöñ>žìÍöñ>Êø¬½§?,¼TNx?,¼TNx?×oWï¤Vu?Fž¿&‘?Fž¿&‘?BaAjÃÝ>d÷[½¹ù>d÷[½¹ù>\­Ì¿þ­“=¡Î^EŽ®½ Ö\–¯¯=3ßbsN=Ï"Ú±"Û>ÔŸÉ·ë¾»rüçS˜ì>ÏòwI+>yÐ4KÃ5?P KK§F¿îXVϘ€9?‘ ˜+Ç:@?«ðS ën¦?* cQxv±¿D‡òçÐù„¿Žv‹¾Ç¥?Ëœ@arÎ?%§ßÝ˸¿=2úƒ*пh‰üégk÷¾*Í7\v¿d ÷e?P%³>¬…?T<ƒ‰îÕ½ë…l'Yæü¾U¢Ëÿì>{±=¬$ø?ðjÈ€Sô½RÃõd;ð½’¬p³}è>YŒÈ+r%c½í!;­q½m¬bG‚D„=Kƒ´½—ñ=jC*3Dû ¾‹Àà©Ø >‡æŒƆ?À`)ÿsŒ?Ôܯ§l•¿~Ä8 ‘Xˆ?§'œhWY2?ö˜@pN‡?ÜjXÐq? ©NfÍš¿òúEà‰¼Þ¼ž®s¾˜`Æöâ~¾¬¤s¢S›>W Ô¼ à>žÝàËÒ@Ì ±¾QGqÒx’>ÿÿÿÿÿÿï?Ýœ·v0…=®´ z`>Ñ|¬Øú^> ?5dy¾’¢4Æû Ô¼¶ p÷ðÝ<…“–{:ö<…“–{:ö¬–äžÏøô>¬–äžÏøô>—©â>n¢?æ˜m†ç†?æ˜m†ç†?»nYY ‹l?ƒ¼ùÝ‘•ƒ¿ƒ¼ùÝ‘•ƒ¿kÃrk qà¾\ÅF¯—¾\ÅF¯—¾…ãþÙZLc=¢qA£o³>“ú|ƈ8?Ô ë% ‰?—%Ý9uÉ?îÈ kK}u?>%h%5øú>Ì”2ÄÜ=Ôð Wœ³==Î~¿¢¿=ßæ‚=~k?'!°¹ iŠ?ä‰:?R«e>¨²”Êc>ÿÿÿÿÿÿï?ÇÜp«‰Êc>+ ÈCóØ>+ ÈCóؾPXž!ú~c?PXž!ú~c¿ŸÉñöW}?ŸÉñöW}¿„ Ït>„ Ït¾çŠ;·ð¡“½ Ö\–¯¯=ôé‹êgg®½ˆê4‚øáL½Ä•ü¼Ù¾ÆrüçS˜ì><±×Kl±è¾Õ@= IH¾öŒ ,†Ž&¿èXVϘ€9?™kÃB "¿³ï-Ƈ?oF\{XÙv?k‡òçÐù„¿_7Lb{a†?l("š¢?žÖMÊ?82úƒ*п7æ <4@‘¿ÚqmŸÅ?ýuØB}•?r%³>¬…?+[’—•¡¿¨Þ¹j®>˦/û%? ±=¬$ø?ŸÃë¦+;¿NÖ~¬ue>¡¬p³}è>™øNh™0¾#ÂÆTÆÝs=k¬bG‚D„=>AªÓ”½îøÞ ®ê½“Àà©Ø >WÓl òþ½×¹Qè$¿ÜFâZ±Ý{¿zÄ8 ‘Xˆ? QˆY­1d¿úg°&yK?…'g0nš§?©NfÍš¿ W†ä†Ã°¿ŽûhÀÃ!ô<¾o?3´C—>¨¤s¢S›>ð@b¬8±¾à>žÝ<W§pƒä¼Åꬓ@-½a¤Ÿì°x¾AGqÒx’>²ÊS3¹Ûb¾ÿÿÿÿÿÿï?a3éðUÌL=fB]ÚN˜> ?5dy¾":n¡‰²¾´ p÷ðÝ<Ì’'Ãeƒä¼Eé… ˆð¼Eé… ˆð¼µõþÁAqB¾cºÀ!Ûù¾cºÀ!Ûù¾šÞXŽ÷¥¤¿²#HB!"]?²#HB!"]?¨µ³Ê¾z?åáܶX’?åáܶX’?À.«ìïé>´HŽ¡j.>´HŽ¡j.>?¾XìA>!ˆŽ$'¾çb\—:> <Íh-£>y7ã÷u8”¾€üËw:Â>¡¸*ñBT?_Úüc+U?ïKlžþd?L‘g4žÉ¦>[@èQ¯¡?8 Œ ®©?.¾›v §?*WÁ~ä9?=ª‰ŒÁåK?xÊsüßB¿å´ê–š†…>¸Üõ<£>Œôq´Õð”¾W Õûò<þ,-$¾]뼕ªµ ?RPöú¿·ë_vç7?96¨ÿÌN?““,„k®b?BFUC’¿€6ƒƒp=ÎÐt‘=YZ ˲½Ìh;±#=Ýœ·v0…=a3éðUÌL=ð?º‰PLÎ?Ö9Iñ?±#=ÀL†öK=1ó}@-½È+û£no=h.µùk>h.µùk>#`A9;f?ÕXý§–(?ÕXý§–(?Ÿ¸².óó$?Q’ÞÓaãH?Q’ÞÓaãH?#"„Øþ€Q>ôm2玄9=ôm2玄9=’6¯@æ= ÀS¤Ð:½™I>ÉQk =U*ô-ÊU-==:º“ÚÛÏ>zygUÆÓ¾@ûÅÈ8æ>^õo- >Rÿ‚7ù(?WÛ¬E¿×Ç&™w#??Ó,2’Û&?HßYç_“ ?£Ê'†™?„¾n+P©?»0ígô ?ØFÝMÖ?‰#GÌiÊ×?¶½§™xË?,äþÚâý>ú¼_ªm&Ž?±´ižuó–?ê„.ãv¿HÅaYlÛ=°ùuàÓÀ?Ii„6#)?EZw+­¿ÄÊ¡ºI;÷=áïÉF:>¾‚· ¾bBÖÀŒX=–Qt=ª¿bî©zt½”ȉûØ='öpÞé¹ß½ÿ¶Ú·÷=~lþ‹Iƒù>áŒOàPƒ?™ TÕP[`¿è Ü›†²‘?L)Cò†?5?޾}võ ?ê¤a÷´ ¬?îÍdà 0P¿¥Gq>‡Q„°Þ•>&'rud›’¾Ìh;±#=6^š;@Ž>®´ z`>fB]ÚN˜>º‰PLÎ?ð?Ö9Iñ?±#=…èûCŽ>Ð4økî™—>1â°x¾wº­ƒ^ßñú /ôñ>ñú /ôñ>£¤«€§½§?£îA’Mx?£îA’Mx?w ¥Vu?;bãÊ&‘?;bãÊ&‘?H¿´|pÃÝ>òÂ.½ù>òÂ.½ù>NÔY>ß߇==+ãõ”½!È}¥“¨=Ú¹­´A=c–ZchÎ>}ÎÃ<#̾DÜ=•LEå>¾P¤Èâ>h_=JUï ?7:ßàeÌ?M„9ÿ›ü ?ÜÎNv-¿u,Ó¢\”¿R¬Ü¡Âq¿œmaYÓ ¿eŠ‹b6Ψ¿8Tÿ£VÑ¿èޥǿHìä™xYÌ¿BídyüB¿Ùñ‘Ùc’¿²GòQ˜¿‘‚#ã”?ØsTpvžý½wüœüºƒ#¿Ç,ÔËÀ5¿ˆ¡Q )?„¡­-“g ¾žuÄq v'¾n<‹+‹!>2Uo½ýì"ŽDLj½XîüdŽé‰=CljË;Û= ªÔ,Û½òþ2nÐú=ð;²ðâ>·Ê¦={]?èàÿÛ>h?/<ܹl?…@1ÔÈõL¿õŒdmᨿ…Ég‚þ²¿3pŒž¾Y? ÎtMŽi𼪔ì¬L÷’¾I6=ZÄo¦¾#Š Î=¤>3ï• Ô¼õPˆûÝ<Æœ·v0…½®´ z`¾Ñ|¬Øú^> ?5dy¾ÿÿÿÿÿÿï?¼L†öK½Õ4økî™—¾®ÙÍÅ ±¾YŒÜ)Ëx’>ƒW Ô¼à>žÝ<Ÿ„3ÝSà<Ÿ„3ÝSà<ÂKÈ6lh)>äǦðO_ñ>äǦðO_ñ>RA£*Ÿš?¤q£´cq¿¤q£´cq¿ÈÅ1Ö½ù}¿Çš Œ¿Çš Œ¿BZ´Ÿ öâ¾v×ö¼©*¾v×ö¼©*¾‰§ XLc=̈¢o³>ĺ©°„8?.Ú% ‰?²Ã´å:uÉ?c©‘CO}u?À0!;øú>'c’ÊÜ=­³mQ¢³==lŠîŽš¿=&=sI;~k?‚_°qiŠ?{}(™Y«e>ÇÜp«‰Êc>ÿÿÿÿÿÿï?¢ãŒÊc>¿Ã0@óØ>¿Ã0@󨾧é€}ù~c?§é€}ù~c¿ôí±‰öW}?ôí±‰öW}¿|àAÑt>|àAÑt¾$wø³™½'È}¥“¨=ºtºY=¹½ÆjK³2,S½Y0mÍ×á¾PÜ=•LEå>ÓÃã)°ö¾%Ùq/q.¾ƒš=‚G8¿?„9ÿ›ü ?Î0â5¬L¿ñxׯ7=¿¬.i8q1¤¿®maYÓ ¿rà]ï<«¿`"ç—¤œ¿Î³$Ä¿”ìä™xYÌ¿•Æ{B.²?§@êÂo ?"Ö-âˆ?†‚#ã”?i\;Í„p€¿ý¿œX%Nð=íd¨L|?†¡Q )?Ÿsr’³Ó¿Å~8Fº1>n<‹+‹!>~B‹nˆ¾[u=©©Oo=WîüdŽé‰=x[% 1‰½z$±jÒô½øþ2nÐú=øÂg§c¾^Bÿ\ù}¿%´&‘Óx¿‡<ܹl?iö5Y*úš¿vÏ¥¼Y¸ð>~'ÌȺL?TrŒž¾Y?`voY2ZŠ?ÝMN—híë<Å)žé">4Š Î=¤>ÄPS¯þ»Ÿ¾õPˆûÝ<aßfmƒä¼c3éðUÌL½aB]ÚN˜¾ ?5dy¾":n¡‰²¾ÿÿÿÿÿÿï?ó}@-=1â°x>TŒÜ)Ëx’>Ã3¦±Ûb¾à>žÝ<W§pƒä¼KïlvVxú¼KïlvVxú¼¬WÞÖ§R¾îIj\fü¾îIj\fü¾×›D¨¿¢­¹Ë’I{¿¢­¹Ë’I{¿aCp ëR¿pƈ–µŽ?pƈ–µŽ?¶vëý*(è>—' L §>—' L §>ºy9¹íA>%Rªƒ¦4¾§4\J–3>¼Ú–l-£>%Ò¡{VÀ¾+1éS ï°>VŸ„)íBT?ÁÕ[ÖRg¿-«g|Á7¿†U™*•ɦ>‚@º2P¯¡?,w•VEŒ¦¿ØëüA£¿Õ.ä9?#±Ð;ºõ0?¸&計LP¿½rÌGœ†…>cf‹?Ê*|>2®ø…†l¥¾`µoEÛ>Ú<¢›EØbvö¼üÍ"žµ ?6òÎ¢Šœ5¿ô•åS`*%?öE'æýÌN?6¿0FF¬G¿•pÕJè¸a¿‰®š2ƒp=N)8ÐW€=°‡‡lÌL½ˆµv™no=õÂ4´ùk>õÂ4´ùk>¸Å3î=f?Ã’x+¨–(?Ã’x+¨–(?S:Còó$?7¥¡?bãH?7¥¡?bãH?ÂÔ$tÿ€Q> ÿ÷Œ„9= ÿ÷Œ„9=Óú —æ=Xâ¾™½ÞžÌK®™=çõ?×ÌU-=$g…ÁÛÛÏ>·¬Þ¥á¾ò®ð¼à>ìzf¶‰- >ã½½:ù(?âÞ@é;¿÷È;æí,?¼¡ÿæŠÛ&?úˆÇ]“ ? ý ¬¿¨^iÏq¤|¿éA/öeô ?“q0MÖ?»t©¡ãÔ¿ôå èN×Ñ¿k—ðŸãý>WU1n&Ž?˜H Íç{?Rñ?ªiÑš¿J8‰\lÛ=úƒFþÔÀ?R¯<_?AXÉ£¤P,¿ÊIôM;÷=ût0]-•ú=P@È«CÀ¾‰V廌X=ègŸýš i=l² ºüy½VFÐ ûØ=pI·)µó½Xpн-Éî=£…Cƒù>e€£ ÞPƒ?Ð5…ßÿ¿ úÔV?oi1ß…?5?š†võ ?€»LilÄ‘¿Ž‚½½-šª¿®úñ|Gq> úh•z„>²¹/ƜӚ¾Ö9Iñ?±#=…èûCŽ>Õ4økî™—¾1â°x>º‰PLÎ?ð?qŸÊ6K±#=îéMŽ>KŸû z`¾ú‹ù>äN˜¾«S»?…^ß<«S»?…^ß<\aÁo¸=>]ŠÏóñ>]ŠÏóñ>—Ô©½§?;,¼TNx?;,¼TNx?¦oWï¤Vu?Ož¿&‘?Ož¿&‘?zrÍ8qÃÝ>Ñ8a»ù>Ñ8a»ù>&"`ø­“=æp?å;Ž®½0-®Œ¯¯=ßbsN=#Ú±"Û>¿ÔŸÉ·ë¾süçS˜ì>òwI+>Ð4KÃ5?c KK§F¿YVϘ€9?¿íRÁ:@? 0Ñ´çn¦?¹À vv±¿ÔÉoÍù„¿Yv‹¾Ç¥?¬œ@arÎ?ܦßÝ˸¿/2úƒ*п: éÖqk÷¾ÒM|h#\v¿ªÌêúe?)"¿é¯…?¼Ï¥˜îÕ½]“haæü¾ƒµ_Óÿì>½ÂÇ–)ø?3w›‰Sô½Ý7¸j;𽔩` …è>‹ŒÈ+r%c½;í!;­q½¤¬bG‚D„=I)ǘ‘ñ=ót_:;û ¾GŽXÑ >¦mH?¿†?2óáVúsŒ?Ä?¾l•¿ zn¨ŒXˆ?Æ7ã]Y2?«‡á=T‡?Ö¶k0Óq?Åð›ÔjÍš¿J (¢¼Þ¼îÑY$z¾GÔØã~¾DvŠ/¬S›>’¢4Æû Ô¼´ p÷ðÝ<ÀL†öK=Ð4økî™—>®ÙÍÅ ±¾TŒÜ)Ëx’>ÿÿÿÿÿÿï?é‹È @…= Ÿû z`>ÙæÞú^>íAb’?dy¾¤ÿî• Ô¼ PˆûÝ<ß“–{:ö<ß“–{:ö<ÜYX•|†P>¨{˜Ìøô>¨{˜Ìøô>[MeÄ=n¢?™m†ç†?™m†ç†?tnYY ‹l?޼ùÝ‘•ƒ¿Ž¼ùÝ‘•ƒ¿‚ J$qà¾)J1˜¾)J1˜¾áËZTLc=@¢qA£o³>³ú|ƈ8?±yèZ! ‰?t%Ý9uÉ?2àX…O}u?®j†<øú>B¤¯ÏÜ=/ñ Wœ³==X¬.—¿=ƒ’â8~k?Q4'ºiŠ?ú£»!Z«e>¢ãŒÊc>ÿÿÿÿÿÿï?¦%›ý‘Êc>!ï¢?óØ>!ï¢?óؾiXž!ú~c?iXž!ú~c¿®ÉñöW}?®ÉñöW}¿Ÿ<Ù6Ðt>Ÿ<Ù6Ðt¾žª7ê¡“½--®Œ¯¯=›–,®]g®½Rë4‚øáL½9Ä•ü¼Ù¾þrüçS˜ì>n±×Kl±è¾ A= IH¾ ,†Ž&¿þXVϘ€9?«kÃB "¿·{UÄ¿‡?ÓùpTÙv?wÉoÍù„¿=´GVwa†?l("š¢?«ÖMÊ?72úƒ*п1è <4@‘¿–ª’—Î?ï¾}•?F"¿é¯…?^#Aš•¡¿eðaŠu®>Æ`e©4û%?ÛÂÇ–)ø?ö® z­+;¿WëJ™|e>‹©` …è> ’‹»n™0¾[ÂÆTÆÝs=°¬bG‚D„=zAªÓ”½9Á4ê–®ê½CŽXÑ >Y¸Sòþ½å.Há$¿Ù\JÜ«Ý{¿!zn¨ŒXˆ? 2ò¨1d¿ú. ˆ/yK?LîNÌqš§?Óð›ÔjÍš¿·¶¸‰Ã°¿3#¾`Ó!ô<ÓrPX¼C—>BvŠ/¬S›>9Ý(²8±¾¶ p÷ðÝ<Ì’'Ãeƒä¼1ó}@-½1â°x¾YŒÜ)Ëx’>Ã3¦±Ûb¾ÿÿÿÿÿÿï?ì>‡lÌL=Œù>äN˜>.ø¹£j.>.ø¹£j.>v‘]òA>zq¼•$'¾ß`©:>­Eßgp-£>Ü­ü}8”¾iŸd!:Â>°¸*ñBT?eÚüc+U?ÿKlžþd?“g4žÉ¦>ƒ@èQ¯¡?| Œ ®©?S¾›v §?*WÁ~ä9?=ª‰ŒÁåK?xÊsüßB¿y³¯8–†…>u=Ê` £>N'Ç#Ò𔾕ªµ ?ŠPöú¿«ë_vç7?/6¨ÿÌN?“,„k®b?ŒHUC’¿qŸÊ6K±#=é‹È @…=ì>‡lÌL=ð?º‰PLÎ?íZ6K±#=d!öK=aUX@-½åÚŠÞ°no=+»QÚ½ùk>+»QÚ½ùk>P]Ù«>f?2õÝ«–(?2õÝ«–(?«¸².óó$?Õæ.„aãH?Õæ.„aãH?‡ ¥”Ç=±\Óóªæ=…¶ Þ:½=u=¬Xk =‰ÃƒËÕU-=­rì¸ßÛÏ>N],BYÆÓ¾Xt: Ì8æ>­[ ’- >uNþ=ù(?Ÿçõ\±E¿Ð|3#??4Ó,2’Û&?RßYç_“ ?£Ê'†™?”¾n+P©?ó0ígô ?AØFÝMÖ?¬#GÌiÊ×?Ͻ§™xË?,äþÚâý>ú¼_ªm&Ž?±´ižuó–?ê„.ãv¿Ðrf1PlÛ=¦"#þÐÀ?{½$,3#)?QÍ©°(­¿ö¥9ûØ=; Uhô¹ß½«š\­&·÷=plþ‹Iƒù> áŒOàPƒ?” TÕP[`¿à Ü›†²‘?@)Cò†?5?޾}võ ?ã¤a÷´ ¬?HÐdà 0P¿qŸÊ6K±#=îéMŽ> Ÿû z`>Œù>äN˜>º‰PLÎ?ð?íZ6K±#=@6q~MŽ>ˆÁ2õ™—>¼]jVë°x¾~ðý®•>>îÁBŸ÷nS>ßžçæ ÙP¾‚“^ß<‚“^ß<¼Ÿ¾½Ç=>ˆtµû÷ñ>ˆtµû÷ñ>ò6÷vª½§?"ïÉÿPx?"ïÉÿPx?| ¥Vu?g× &‘?g× &‘?Í­{>ž×$é߇=4ê ìõ”½ %yj¯“¨=;D¼A=<¯JihÎ>f hTˆ#̾ú”‘mPEå>˃R]Óâ>Ý«[\ï ?©eê•kÌ?÷¡¯5 ü ?÷ÎNv-¿€,Ó¢\”¿.¬Ü¡Âq¿¤maYÓ ¿µŠ‹b6Ψ¿UTÿ£VÑ¿ ޥǿxìä™xYÌ¿AídyüB¿Ùñ‘Ùc’¿²GòQ˜¿‘‚#ã”?f ±Òlžý½ü-a¸ƒ#¿'=›ö½5¿s¼‘N )?)²íDÛ=ŽxG,Û½õu ÏØú= ;²ðâ> ˦={]?ÑàÿÛ>h?{<ܹl?r@1ÔÈõL¿ õŒdmᨿ…Ég‚þ²¿ŽsŒž¾Y?ƒW Ô¼à>žÝ<Î‹È @…½KŸû z`¾ÙæÞú^>îÁBŸ÷nS¾`9ÊÈg¾­üNzuie>Û<ñ¤âSà<Û<ñ¤âSà<’ú!uh)>§R(ÙS_ñ>§R(ÙS_ñ>îG}Ö’Ÿš?kõ7·cq¿kõ7·cq¿ÒÅ1Ö½ù}¿ !¿ Œ¿ !¿ Œ¿­ôEQ ‹¾ègÂi`Lc=J ±®¥o³>Ò­JäŒ8?*.Ú% ‰?åôå:uÉ?c©‘CO}u?‰ Ó…7øú>jƒÇÒ£¿==sI;~k?~_°qiŠ?¦%›ý‘Êc>ÿÿÿÿÿÿï?¹0ý‘Êc>¼ºê3³,#>Î6ôÌEóØ>Î6ôÌEóØ¾žbü~c?žbü~c¿C©;=öW}?C©;=öW}¿(õ—¾™½–%yj¯“¨=ùSÅ d=¹½Ø:,S½“‘ðPÚá¾õ”‘mPEå>ŠÖÜ,°ö¾e%½ðAq.¾DÁ4ˆG8¿¢¯5 ü ?>âs<¬L¿(xׯ7=¿¸.i8q1¤¿®maYÓ ¿‚à]ï<«¿–"ç—¤œ¿§³$Ä¿^ìä™xYÌ¿=Ç{B.²?§@êÂo ? Ö-âˆ?„‚#ã”?f\;Í„p€¿ÀXû• Nð=ûD:}J|?K¼‘N )?œpÊ‘²Ó¿‡TØô½ôu ÏØú=»ßçh¾SBÿ\ù}¿´&‘Óx¿ƒ<ܹl?[ö5Y*úš¿CÑ¥¼Y¸ð>â'ÌȺL? sŒž¾Y?YvoY2ZŠ?à>žÝ<W§pƒä¼ó>‡lÌL½ú‹ù>äN˜¾íAb’?dy¾%º²¾ÿÿÿÿÿÿï?×`UX@-=¼]jVë°x>èT˜zÑx’> ƒi»Ûb¾êžçæ ÙP>»üNzuie>‡sÊ*îA>än¢ƒ¦4¾)ÿK–3>Ùawßo-£>Z™ó~VÀ¾:þzÖï°>…Âò¤òBT?E᮲ÛRg¿Ý‘(Y}Á7¿t Ÿ-¬É¦>ågª?R¯¡?2PlGŒ¦¿´C$ÿA£¿žóÐ9µ ?gAsiœ5¿Ü;eÔd*%?íZ6K±#=a!öK½×`UX@-=ð?º‰PLÎ?sI“gÚ%?ñ<Ä"¿·cÊ–`®=¿òY8§no=¢[±ºùk>¢[±ºùk>dÛŠ=f?k’x+¨–(?k’x+¨–(?ùù"m˜d?8ÏT¡æ=£Òà8¾™½J:àqT®™=µuP²ÍU-=à\"ÜÛÏ>‹å¿¥á¾!_V6ñ¼à>a–üâ- >ù‰=ù(?&½%~Cé;¿êäyfêí,?Âl ã”Û&?c¿`“ ?ï8Aû ¬¿Ê1Zq¤|¿P Æhô ?VéMÖ?vë8¢ãÔ¿ªÒ] P×Ñ¿éÛ¬ÚûØ=Ö×+‚µó½T ²È0Éî=0ÅÛ­Hƒù>àBÿßPƒ?pKÙáÿ¿àò¨åÙV?íZ6K±#=@6q~MŽ>ˆÁ2õ™—¾¼]jVë°x>º‰PLÎ?ð?sI“gÚ%?|þþ¶?¯I]çË€¿³ÚÏ òš¿é_Û`‘^ß<é_Û`‘^ß<ú"®nÁ=>jìÍöñ>jìÍöñ>")ºŽ©½§?þ+¼TNx?þ+¼TNx?ÛõcÏõ¥?\­Ì¿þ­“=«Î^EŽ®½ÿ Ö\–¯¯=¦×ÃabsN=æI)«±"Û>+æ7ÄÈ·ë¾o»êFT˜ì>ÚŽ$ë~I+>òlDMÃ5?Ænº÷L§F¿}‚+œ€9?üfËøÇ:@?‚< Žën¦?LÂ}Àxv±¿ó…íÛÌù„¿jqüÈÀÇ¥?¼7ËéarÎ?h¢vš×˸¿¨¥²â„*п˜5RÃ’ñ=UË¡ <û ¾âäÓãÒ >.6¤{†?‘œjüsŒ?3šJvl•¿N#cñXˆ?¤ÿî• Ô¼PˆûÝ£oÊ ±¾èT˜zÑx’>ÿÿÿÿÿÿï?;ñ<Ä"?™I]çË€?Ö.-3™jZ?$7C¬©Œ¿ÙýøÞ:ö<ÙýøÞ:ö< Ï„†P>x–äžÏøô>x–äžÏøô>|)¹€a*QŒ8?˜r¾& ‰?@¹~ÿÿÿÿÿÿï?òL`ìå¹x?Ç* ÈCóØ>Ç* ÈCóؾ5Xž!ú~c?5Xž!ú~c¿áŠ;·ð¡“½ Ö\–¯¯=æé‹êgg®½Æ1ˆëùáL½™ãìÓü¼Ù¾[»êFT˜ì>‚¢Ó¨m±è¾Lã„ÐQH¾K|ЉŽ&¿y‚+œ€9?ô»XM¡ "¿°|bfÇ? ŸTÙv?Ê…íÛÌù„¿û£}a†?™à Â%š¢?Ô´­ Ê?’¥²â„*пMº]ö:@‘¿Š"™®ê½áäÓãÒ >¼_¢)òþ½GèåÑå$¿†€‘=°Ý{¿w#cñXˆ?(úi–°1d¿ PˆûÝ<¼ÿÞfmƒä¼aUX@-½¼]jVë°x¾ðT˜zÑx’> ƒi»Ûb¾ÿÿÿÿÿÿï?¨cÊ–`®=?¾ÚÏ òš?67C¬©Œ¿H: •“£¿ù@Sêˆð¼ù@Sêˆð¼ÏõþÁAqB¾ºÀ!Ûù¾ºÀ!Ûù¾mØòõ¥¤¿¥#HB!"]?¥#HB!"]?¶ØvÚ/Ÿ©?ÛYy3‚Z=uX?ŽYZ&½°% \5Ñ5=¡üÆóh>Fe[x ù%¾•uÈš!/>9V  ‘H?pü!ñ$ T¿ yÊCjV?Ø2‰Š‹pY>Ø,Ð6¥m˜?[¹—ž‘}¿DUhw?ñ£?„ãúÏ-'>92¸-k¾íh¨ýÛ=Ÿ>sI“gÚ%?;ñ<Ä"?¨cÊ–`®=?ð?º‰PLÎ?æÔ¸‹õÕ<Åø ,1 ‚=Åø ,1 ‚=¼BFhQØ>Ò¬è H@?Ò¬è H@?Ðq‰t«?0È­1 ±">‹…›0¾{¦-5@>˜èú׃a=óATÜÊ[È>jߺ|¯Õ¾%?rMD¹Þ>|Ôƒ-\b?NÒnÙj—?¾3ÍWÄ“›¿L™ÀSŸØž?5"ó°0¿“?mÖUàMÑ?<òéâ~°¿¨Îõ(@Ö?"E±WU®=b*;ô Ë$½CŸGر-=œŸ'ÆP£+>\ðÄ©F#?IHÞOÕ$¿0ïB·4?~ðý®•>>îÁBŸ÷nS¾êžçæ ÙP>sI“gÚ%?|þþ¶?™I]çË€?¾ÚÏ òš?º‰PLÎ?ð?zïªÛeÑ=ìÍVr‚#J>ìÍVr‚#J>ýuW¨.È>?FÂ×Öˆ?FÂ×Öˆ?ÆH¾)EÞ?(«~ûŠf)>×¼ÙéQ½3¾Š9F>ºÝM~X9=LÆŠ6ªÐ>×…bÛ¤ Ú¾’&rÆ å>ƒR°ØŒ$?ÀîàØ–?7LÚ¹™>“¿þüâ%Ÿ?ܵŠñæ¢y?-\6î#l¨?¤j:±ÆjÀ?LM„èåí³?—–N"=fP`½v<7½õnqA=‹ #ÍT<>¨ÆÀV8"?Bš÷ä9¿¤'«bè4?îÁBŸ÷nS>`9ÊÈg¾»üNzuie>ñ<Ä"¿¯I]çË€¿Ö.-3™jZ?67C¬©Œ¿ÿÿÿÿÿÿï?œJ¬±\á=ZÍt¡GH>ZÍt¡GH>"íÜJ%?¤ƒæ&ª‰?¤ƒæ&ª‰?"íí„ Ù¿eé2¿¡>“™ìrë²­>$7Ò–z4?Ê€"‘CÂ?Œà ó<Ž,«$?¼ºê3³,#>òL`ìå¹x?ÿÿÿÿÿÿï?6à9HÁ2>6à9HÁ2¾ÞLÛt?ÞLÛt¿d?a'ºzÒ¼íÕ4´Ê8¾w9F>[ï¢ÄßÊT¾Ù‹XË"ôA½P¿ÅOœ×¾…&rÆ å>Y¨¿k쾇µ3,Óï&¿ƒÉ `s®˜¿åüâ%Ÿ?:tÛ<š¿ µL=GJ¡¿wÚç8°xпM„èåí³?Ú³ˆnÀÑ¿µpiE¼)½ûnqA=«¯/PH½çûyï+L¾ªå““2¿§'«bè4?ÔƒÀÏÀiB¿ßžçæ ÙP¾­üNzuie>‡ ¿¢;»M? ó I•ú0?»Yò‘% 8?µŠÇâôZ¿#$ 9nb>o/pÕ˜ ?ùœÉ‡« ?Ó…ŸGö>.â-•¡!¿ë'ªóèêä<G„*>ÿ®]R~ô4>g¦¶©X> ‘ìôhñA¾­¬Pœ¡‚=õ‹ÓüÍp=»e**ß•l=(ôVàSDŸ½`JYRt?Kw±eôžµ? B’Ý.¼·¿ÿfø×;]¦?Í?˜!a¾x?”QšÊHH? HûÆÏî”?´Žî’Îz?éÚû‚?¡6ù¼Ë›¿pDÚ–=_š“ û¸w>à ÜYÉév>™©D‹øÌa>y2ð»ÿõŒ¾ '!êŒ(?¶öbe³ûw?™l˜Üð[q¿±Aÿ6xc?ª­«4|C{¿‡•ôÇk>¡Xëð>—› âÞô>õÏìÝÒØ>ÿ}õýf»ù¾þÄ"Ïß àìá[>)ÎÌŠbkE>@¾Ð++=®·&uŠÏ¯?õe _ß?¡×¶“g+Ì¿ëð5jAeØ¿ž$‘Eaóÿx PIj=w?‹Ð²Õ滹?“V£xpΟ¿|]¥Ž‹«¿Ðn˜Vû¼¿Í4êEy¯Ï> ¿¢;»M? ó I•ú0?»Yò‘% 8¿µŠÇâôZ¿#$ 9nb>o/pÕ˜ ?ùœÉ‡« ?Ó…ŸGö¾.â-•¡!¿ë'ªóèêä<G„*>ÿ®]R~ô4>g¦¶©X¾ ‘ìôhñA¾­¬Pœ¡‚=õ‹ÓüÍp=»e**ß•l½(ôVàSDŸ½`JYRt?Kw±eôžµ? B’Ý.¼·¿ÿfø×;]¦¿Í?˜!a¾x?”QšÊHH? HûÆÏî”?´Žî’Îz?éÚû‚¿¡6ù¼Ë›¿pDÚ–=_š“ û¸w>à ÜYÉév>™©D‹øÌa¾y2ð»ÿõŒ¾ '!êŒ(?¶öbe³ûw?™l˜Üð[q¿±Aÿ6xc¿ª­«4|C{¿‡•ôÇk>¡Xëð>—› âÞô>õÏìÝÒØ¾ÿ}õýf»ù¾þÄ"Ïß)ÎÌŠbkE> àìá[>@¾Ð++=n'Æ[íA€?TÎg.ÉiÀ?Ò¥>1! Â?ZÀʉΔ°?Ãî9Ý«çy¿°5°]?c¢¿\¦§?š®÷kþH§?8ã廿º”?©&–€C¤¿““B…Åh}>ý8xÚƒ?€¾jÑž"?4‰M0d?![ "B'¿ªTy–íH»='N<-©>õsT{2à·>¯`/ÐǬ‘>ëð<^?æ¶¾þOéø”=Ý9?8ã©=ãÀBFf|=Ç‘¶GÞÖ©½†ï<ô|àòŸÀÚhïT?l~ÒkE\?¨†Ô„¯>?Bº0^_9U¿`|òõ2è<·Ïò|‹'>tH‘²›Œ>ó%zЧï=ãeZ9 Ò¾ØtHW?êaçåà›?)hDβ܄?ˆÖl.‰†?»1Јžž¿†¿2)O0€=];â¢5H>Ǻ Z>›D¸@¶/>OL_¬ÎP¾]5·x“m°?q PèÏ–?ð?Æü(è1ZË?e=J?ÛþO&:-?¤eú?$aº(ì T>OÓWÕàÄ=Ö6MCÁ°=n'Æ[íA€?TÎg.ÉiÀ?Ò¥>1! Â?ZÀʉΔ°¿Ãî9Ý«çy¿°5°]?c¢¿\¦§?š®÷kþH§?8ã廿º”¿©&–€C¤¿““B…Åh}>ý8xÚƒ?€¾jÑž"?4‰M0d¿![ "B'¿ªTy–íH»='N<-©>õsT{2à·>¯`/ÐǬ‘¾ëð<^?æ¶¾þOéø”=Ý9?8ã©=ãÀBFf|½Ç‘¶GÞÖ©½†ï<ô|àòŸÀÚhïT?l~ÒkE\?¨†Ô„¯>¿Bº0^_9U¿`|òõ2è<·Ïò|‹'>tH‘²›Œ>ó%zЧï½ãeZ9 Ò¾ØtHW?êaçåà›?)hDβ܄?ˆÖl.‰†¿»1Јžž¿†¿2)O0€=];â¢5H>Ǻ Z>›D¸@¶/¾OL_¬ÎP¾q PèÏ–?]5·x“m°?Æü(è1ZË?ð?e=J?¤eú?ÛþO&:-?$aº(ì T>Ö6MCÁ°=OÓWÕàÄ=zÔ¢$X?YÙÕG—>¤?üÄòaŽ\¦¿ÿRœ^b¢?•äàÙx~?Î>é]õO¿?’óX-ڈÿPù–w'’‡?å»ß—lAv?AséõÄñ¸?½PKŒ?ª¿¶DX/`½¿®°—lÏ_?kü­².2¨?B£`fl:?Õo½p–°¿jµÂ”ûƒ>“-ýÃY¦ ?´ëÓ5²?l" {þ6/¿®•Vd¸= ¡^9f§>ÄÐm˜ÒÔ¥>3(öÚ| ½¾Pòqºš´‘=ÊmU 52™=$ö*²®½r¨-C«õKöˆÁ>F?×^ /0ÌP¿;·}¢@E?ؾ¾ y²­?üA)ªÔß?15Fv[PØ¿én½mFÌ¿@`»kÉ5æ>WBË 7½R?ê²ÒDr:?›â3¤9À_¿ 9qå“ìÉ >œNÀÒƒè>YZj!¾¦¸².óó$?{ ¥Vu?ÖÅ1Ö½ù}¿PCp ëR¿fý0ÿ:f?Ÿ§ÈN§½§? Ú;n¢?~™^È󥤿äÇ;lh)>«à•ÁÕ§R¾xüèF¥ÿ¡?xüèF¥ÿ¡?e=J?e=J?ð?ñ/æõ™?ñ/æõ™?‰x3ç“B?hC-00,)?hC-00,)?´]—\>b&;”ò³=b&;”ò³=®4êEy¯Ï>š¿¢;»M?ó I•ú0¿³Yò‘% 8?®ŠÇâôZ?›èÍ’>R?œÉÝcð• ?;uœƒ½l†¿è·’eÁ? þúG¨$¦?¬·&uŠÏ¯?òe _ß?ž×¶“g+Ì?éð5jAeØ?¦$‘EaóÃ?}&´^Hw?¡‘ÍM¤Ä¹?QöÀçÚ¾?º1VÏ–«?e[êbT¿-„ê½ÌÚÏ>}Ì.X›ÓM?ÆÜéÚSX?{ò t8?æ´.d"J¿õ—úb>ŸóB*¢· ?^Ñ$æR?GeŽQ`ö>ਖ਼M»Ñ $å<üP¥ð®*>}†Üqoÿ:>B¼?†y>¦ç™Ü%í?¾ƒë«yÕÄ‚=~²<ø¼˜=@XêËl=ŽÐ×u }˜½WäÆôýÄ^>{¦ì."ù>P„ˆ1õ¾ö"º%ã>˼/Z?Tkt?wÆá,—µ?f`žyÈ™?llí^,T¦?³{jRÛݶ?c*†H?˜É¼ªü”?6˜ó&F—?•vÙ‚pƒ?±­á™¹Ž¿$-(Q–=8T±eÜw>þ¬®¬Ü›‡>þ$Q’ça>ñö¾ÝÔ„¾d’ÞÓaãH?DbãÊ&‘?Üš Œ¿öW}?’ƈ–µŽ?ÃØp©–(?Oõ>Ox?ðwÆè†?2"Fçú~c?K’#‹"]?2.µùk>×ú /ôñ>ÈǦðO_ñ>—Ã0@óØ>áíIj\fü¾Ùv^[ˆ^ßl$꥛\>îþu͉E>¥ù°ä_+=®4êEy¯Ï>š¿¢;»M?ó I•ú0¿³Yò‘% 8¿®ŠÇâôZ?›èÍ’>R?œÉÝcð• ?;uœƒ½l†¿è·’eÁ¿ þúG¨$¦?¬·&uŠÏ¯?òe _ß?ž×¶“g+Ì?éð5jAeØ¿¦$‘EaóÃ?}&´^Hw?¡‘ÍM¤Ä¹?QöÀçÚ¾?º1VÏ–«¿e[êbT¿-„ê½ÌÚÏ>}Ì.X›ÓM?ÆÜéÚSX?{ò t8¿æ´.d"J¿õ—úb>ŸóB*¢· ?^Ñ$æR?GeŽQ`ö¾à©™ï“¿M»Ñ $å<üP¥ð®*>}†Üqoÿ:>B¼?†y¾¦ç™Ü%í?¾ƒë«yÕÄ‚=~²<ø¼˜=@XêËl½ŽÐ×u }˜½WäÆôýÄ^>{¦ì."ù>P„ˆ1õ¾ö"º%ã¾Ë¼/Z?Tkt?wÆá,—µ?f`žyÈ™?llí^,T¦¿³{jRÛݶ?c*†H?˜É¼ªü”?6˜ó&F—?•vÙ‚pƒ¿±­á™¹Ž¿$-(Q–=8T±eÜw>þ¬®¬Ü›‡>þ$Q’ça¾ñö¾ÝÔ„¾d’ÞÓaãH?DbãÊ&‘?Üš Œ¿öW}¿’ƈ–µŽ?ÃØp©–(?Oõ>Ox?ðwÆè†?2"Fçú~c¿K’#‹"]?2.µùk>×ú /ôñ>ÈǦðO_ñ>—Ã0@óؾáíIj\fü¾Ùv^[ˆ^ßîþu͉E>l$꥛\>¥ù°ä_+=Y$ì«×:Œ=C´û| Ž>~dÉ)­Vо´gÓ´£>žV³´Ñ¥c>fkïu#´ ?JÉŒÄ"s ¿`…qÄ?ÝTlðX?$  –>¤?j¬[© »“¿íà°77«?‡å Õx~?<5‚ÂñO¿?æ7Å@‡¤?vÒäçÂ?Ã;ïúiAv?у„ÚÂñ¸?¼z@, À?’ê5†„?ˆV‚€iÏ_?]3-2¨?Ö ºkOÕ¬?GQ~ìHö¡¿Ru{›ƒ>o©*a\¦ ?Þqd"(?o{ªúÉ[)¿]GïUk¸=ƒ1Gc=f§>ñnrз>²¥*´¾†Ãä´‘=Î3‡2Ÿ#¨=­ÓÂά饽Kê F«õ<&»q ÛŠ =³GÔâ‚î½VPÚ}c•ò=é ñœA¥ú½X|Y½° >#SÓ×u&Ô>ýÏ¥À>F?OoJîe£1¿nxê—aS?W0mu²­?ÒßIœÒß?·ò•%=YÕ?¸¿Ï8½R?ƒÁL‰¹[?RQ¿ÔP¿n]Yîå“ì<,wÞ?É >É„–¨êÚ>åj‚¾Óè:zù€Q>Å>³ÿiÃÝ>ÆC¸wöâ¾N†±&(è>ÕS:Còó$?ÓoWï¤Vu?®nYY ‹l?¨µ³Ê¾z?ü\Ù«>f?®6÷vª½§?G}Ö’Ÿš?ãU‘D¨¿“Y8§no=À"®nÁ=>j Ï„†P>µõþÁAqB¾Jχ|ü1’>Jχ|ü1’>$aº(ì T>$aº(ì T>‰x3ç“B?¡˜wqo ¢?¡˜wqo ¢?ð?Ö£Ùò™?Ö£Ùò™?‡0Ó¦è“B?í\ê2,)?í\ê2,)?™VK’\>«,Tž“ò³=«,Tž“ò³=|sÚ2ëêä<ä¤÷„*>jAº .Õ:¾­B„«X>ådÉl»?>¡6¨¾}¦=ã‘à×>V°¥@®¾ïPI@ð†>í7bª ª>þ€N}|¯Ï>ˆ¡»M?Í(z§UþW¿W:>' 8?dµŒÃÿI?QÕp‘>R?Ve$ï• ?OÍ®%o£¿âÛcÁ?÷}Ý—2Z™?ßr”ŠÏ¯?$“Y_ß?—yb¤5Ì¿øûõzAeØ?g»g¦ääÿè*›õ[Hw?Ii¢Ä¹?ãbÞ‚.柿Z‰+–«?y¼ÁüS½¿™bgËÚÏ>l§P–šÓM?)•²MÚ1?’Sks8?Ú23GÛ [¿U)Rüb>ùo z£· ?ùb3yFÅ ? Y`ö>Ëõ•Á>¿q‰Gü$å~wò@5>ÿ+„ „y>’]bQŸ B¾—:|PÒÄ‚=øæÚî¦=†¨~åËl=_PõY~Ÿ½G¦y¨MI=3ûÎÉþ$`½GñvêÆï2=m.Ûà`=Wv¨„Å^>gˆíg2"ù>øjú‡ã¿íá e%ã>”¾"Ói2? ñ`°t?|;D,—µ?Ãâ’'è´·¿ÿgw§+T¦?;YSdéx?þfeþŒH?׵Ũü”?ôÓƒŠÙz?G‹Ö@oƒ?%uH›¿“ãõ^•Q–=Pw9N`Üw>¹ñ€ w>ÃÖŠøça>0ä«£ë¾ôm2玄9=òÂ.½ù>v×ö¼©*¾|àAÑt>³' L §>-W‹fãH?²ÑH&‘?3+až”•ƒ¿Æ)†ûW}?އ“æ¸X’?ºXý§–(?’îA’Mx?ÿ£q£´cq¿šé€}ù~c?˜­¹Ë’I{¿~ý²²ùk>ÓD(óñ>ê¢ESËøô>QÑ«>óØ> CÍéÛù¾Çß-¨~^ß<ïÒ$ ÛSà<g\´Rxú¼ àìá[>)ÎÌŠbkE>OÓWÕàÄ=Ö6MCÁ°=hC-00,)?¢ê!6‡F?ìYa;Ò0?Ö£Ùò™?ð?³ÓtIUŸÅ?¼àä{o ¢?EK’„…F?¤î?:Ò0?ˆç:béG’>«´]—\>RÊhæÉ‰E>ø>Ü_+=|sÚ2ëêä<ä¤÷„*>jAº .Õ:¾­B„«X¾ådÉl»?>¡6¨¾}¦=ã‘à×>V°¥@®¾ïPI@ð†¾í7bª ª>þ€N}|¯Ï>ˆ¡»M?Í(z§UþW¿W:>' 8¿dµŒÃÿI?QÕp‘>R?Ve$ï• ?OÍ®%o£¿âÛcÁ¿÷}Ý—2Z™?ßr”ŠÏ¯?$“Y_ß?—yb¤5Ì¿øûõzAeØ¿g»g¦ääÿè*›õ[Hw?Ii¢Ä¹?ãbÞ‚.柿Z‰+–«¿y¼ÁüS½¿™bgËÚÏ>l§P–šÓM?)•²MÚ1?’Sks8¿Ú23GÛ [¿U)Rüb>ùo z£· ?ùb3yFÅ ? Y`ö¾Ëõ•Á>¿q‰Gü$å~wò@5>ÿ+„ „y¾’]bQŸ B¾—:|PÒÄ‚=øæÚî¦=†¨~åËl½_PõY~Ÿ½G¦y¨MI=3ûÎÉþ$`½GñvêÆï2½m.Ûà`=Wv¨„Å^>gˆíg2"ù>øjú‡ã¿íá e%ã¾”¾"Ói2? ñ`°t?|;D,—µ?Ãâ’'è´·¿ÿgw§+T¦¿;YSdéx?þfeþŒH?׵Ũü”?ôÓƒŠÙz?G‹Ö@oƒ¿%uH›¿“ãõ^•Q–=Pw9N`Üw>¹ñ€ w>ÃÖŠøça¾0ä«£ë¾ôm2玄9=òÂ.½ù>v×ö¼©*¾|àAÑt¾³' L §>-W‹fãH?²ÑH&‘?3+až”•ƒ¿Æ)†ûW}¿Ž‡“æ¸X’?ºXý§–(?’îA’Mx?ÿ£q£´cq¿šé€}ù~c¿˜­¹Ë’I{¿~ý²²ùk>ÓD(óñ>ê¢ESËøô>QÑ«>󨾠CÍéÛù¾Çß-¨~^ß<ïÒ$ ÛSà<g\´Rxú¼)ÎÌŠbkE> àìá[>Ö6MCÁ°=OÓWÕàÄ=hC-00,)?ìYa;Ò0?¢ê!6‡F?Ö£Ùò™?³ÓtIUŸÅ?ð?¼àä{o ¢?¤î?:Ò0?EK’„…F?ˆç:béG’>RÊhæÉ‰E>«´]—\>ø>Ü_+=Ÿù;ORœÜ<¶’¤Ê‚ó¼™á„ ÐZ÷<Í‚³éÊY€= ÖEÙ•½QÕ-'¿`•=§!n<à:Œ=b¹àŽ>ô2ÄöÈ` ¾@Ú8èù‘™>G”Ð¥c>…Ô‰r"´ ?GÌ„7¥¿Híu!g?zÔ¢$X?YÙÕG—>¤?ÿÄòaŽ\¦¿ÿRœ^b¢?ŽäàÙx~?Ç>é]õO¿?óX-ڈÿDù–w'’‡?ü¡kAv?,Ëw¾Ãñ¸?†mÏŒ?ª¿~¯»-`½¿®°—lÏ_?gü­².2¨?5£`fl:?Ðo½p–°¿çQÄ·þƒ>‘’še[¦ ?úˈb²?/vŸ‘7/¿"Þ‘Kh¸=ç%¤;f§>aàÔÔ¥>”Š&° ½¾,òqºš´‘=”mU 52™=èõ*²®½¡ÇG«õ<1Â0Ñ@=y„m“½#O_h•ò=H™u žÀíg¡a">}]w&Ô>KöˆÁ>F?×^ /0ÌP¿:·}¢@E?}^u²­?-úhÒß?XEŽÔZPØ¿dþ%›CÌ¿.`»kÉ5æ>OBË 7½R?Ò²ÒDr:?Šâ3¤9À_¿µ8qå“ìÉ >ŠNÀÒƒè>óYZj!¾4Õ$tÿ€Q>þrÍ8qÃÝ>É J$qà¾'¾½ñïé>Ÿ¸².óó$?w ¥Vu?ÌÅ1Ö½ù}¿bCp ëR¿VÛŠ=f?)ºŽ©½§?v)¹ù;lh)>Ðà•ÁÕ§R¾@¾Ð++=@¾Ð++=´]—\>sKRÙèG’>sKRÙèG’>‡0Ó¦è“B?¼àä{o ¢?¼àä{o ¢?ð?mrébó™?mrébó™?¥Òiê“B?lC-00,)?lC-00,)?€´]—\>b&;”ò³=b&;”ò³=Á*Æ%JçWÚÏfô4¾Oc•­X>ÏÊêkñA>š_µz¦=o,ºÝ×>›ÑhÃ뜾üòrð†>·ºRe›²>§nTÊz¯Ï>V¹í»M?liå”ú0¿Ø.,H& 8?£NàâôZ?À­“>R?˜·ìð• ?-;õ»l†¿€½3­fÁ?îÝ ©$¦?¬·&uŠÏ¯?òe _ß?Ÿ×¶“g+Ì?éð5jAeØ?š$‘EaóÃ?z\d8[Hw?rL{†¡Ä¹?uÖEؾ?‰ ít–«?ú4³GT¿ „ê½ÌÚÏ>mÌ.X›ÓM?»ÜéÚSX?mò t8?×´.d"J¿õ—úb>ŸóB*¢· ?aÑ$æR?GeŽQ`ö>Ü©™ï“¿Ä**J$å<¦£áë®*>Árµjÿ:>—R“íy>MÂí?¾së«yÕÄ‚=g²<ø¼˜=&XêËl=zÐ×u }˜½«ÄÅt®MI=)æÌÓ€S½ «XdËï2=¿wMU†”d=j³Å^> q1"ù>„+3õ¾kDù§%ã>ŒÝõœ\?Tkt?sÆá,—µ?^`žyÈ™?glí^,T¦?¬{jRÛݶ?^|™ ‹H?‹©fާü”?;vFßF—?¤Ôënƒ?ø«(•¹Ž¿DE•Q–=”‚²`Üw>ƒ +|×›‡>ÐÜØÔça>ÝR¿”„¾Š1Ÿ™„9=ëOªÃù>ã^#á ¾§*'Öt>øR`f®j.>×J¾eãH?´š’†&‘?ŸÈˆ  Œ¿ª¹‹°ùW}?øi-Õ™µŽ?·Øp©–(?Oõ>Ox?ïwÆè†?."Fçú~c?C’#‹"]?—×ü±¯ùk>ÑlÜññ> #N_ñ>© Á<óØ>ÉXfü¾.S»?…^ß<…“–{:ö<Eé… ˆð¼b&;”ò³=l$꥛\>îþu͉E>í\ê2,)?EK’„…F?¤î?:Ò0?mrébó™?ð?³ÓtIUŸÅ?M“ p ¢?n&ïuƒF?!zç»8Ò0?Y5‰ÑäG’>´]—\>RÊhæÉ‰E>¥ù°ä_+=Á*Æ%JçWÚÏfô4¾Oc•­X¾ÏÊêkñA>š_µz¦=o,ºÝ×>›ÑhÃ뜾üòrð†¾·ºRe›²>§nTÊz¯Ï>V¹í»M?liå”ú0¿Ø.,H& 8¿£NàâôZ?À­“>R?˜·ìð• ?-;õ»l†¿€½3­fÁ¿îÝ ©$¦?¬·&uŠÏ¯?òe _ß?Ÿ×¶“g+Ì?éð5jAeØ¿š$‘EaóÃ?z\d8[Hw?rL{†¡Ä¹?uÖEؾ?‰ ít–«¿ú4³GT¿ „ê½ÌÚÏ>mÌ.X›ÓM?»ÜéÚSX?mò t8¿×´.d"J¿õ—úb>ŸóB*¢· ?aÑ$æR?GeŽQ`ö¾Ü©™ï“¿Ä**J$å<¦£áë®*>Árµjÿ:>—R“íy¾MÂí?¾së«yÕÄ‚=g²<ø¼˜=&XêËl½zÐ×u }˜½«ÄÅt®MI=)æÌÓ€S½ «XdËï2½¿wMU†”d=j³Å^> q1"ù>„+3õ¾kDù§%㾌Ýõœ\?Tkt?sÆá,—µ?^`žyÈ™?glí^,T¦¿¬{jRÛݶ?^|™ ‹H?‹©fާü”?;vFßF—?¤Ôënƒ¿ø«(•¹Ž¿DE•Q–=”‚²`Üw>ƒ +|×›‡>ÐÜØÔça¾ÝR¿”„¾Š1Ÿ™„9=ëOªÃù>ã^#á ¾§*'Öt¾øR`f®j.>×J¾eãH?´š’†&‘?ŸÈˆ  Œ¿ª¹‹°ùW}¿øi-Õ™µŽ?·Øp©–(?Oõ>Ox?ïwÆè†?."Fçú~c¿C’#‹"]?—×ü±¯ùk>ÑlÜññ> #N_ñ>© Á<óؾÉXfü¾.S»?…^ß<…“–{:ö<Eé… ˆð¼b&;”ò³=îþu͉E>l$꥛\>í\ê2,)?¤î?:Ò0?EK’„…F?mrébó™?³ÓtIUŸÅ?ð?M“ p ¢?!zç»8Ò0?n&ïuƒF?Y5‰ÑäG’>RÊhæÉ‰E>´]—\>¥ù°ä_+=[ÔYœÜ%£­`´Vо[Y£–Ø´£>{)Ø¥c>G시)´ ?°hBH(s ¿¿‚IIwÄ?Ã>WßX?Éb¬°—>¤?¸‡ôÙ »“¿ë]97«?îþ+´Ùx~?51<õO¿?×YH`C‡¤?5,a–æçÂ?xÆNömAv?J?{Æñ¸?ÄŠjì- À?kÍÃ%0†„?0õwkÏ_?µN.2¨?{)àOÕ¬?¿e„¢Jö¡¿Š9‘–ûƒ>W·íÄY¦ ?óìž`"(?|þqÆ[)¿%™¶l¸=Üçä->f§>nLìз>×ïå§+´¾‰(bR™´‘=Œ5÷˜#¨=LþŠf§é¥½ÜŸ?«õ<ÜÛiÑŠ =@a…}î½ €Ài•ò=½®RJ¥ú½ê¤4Ű >$]/Šz&Ô>ÿ{¯Ä>F?ÊŽ¦üi£1¿€­“ŸšaS?¥Ûix²­?ËïÏMÔß?ZF£Á>YÕ?ƒâUÁ;Ò?8 v'É5æ>qO¯ç6½R?×¥¹[?]à±ë½ÔP¿Y[Cå“ìÉ >r zåéÚ>¾DjV‚¾Å"„Øþ€Q>À´|pÃÝ>ÀZ´Ÿ öâ¾Rwëý*(è>Òåö#ùó$?rÝûªVu?"›Ù>¦‹l?w÷Çоz?#`A9;f?£¤«€§½§?TA£*Ÿš?Í›D¨¿“Y8§no=À"®nÁ=>j Ï„†P>µõþÁAqB¾¥ù°ä_+=¥ù°ä_+=™VK’\>ˆç:béG’>ˆç:béG’>¥Òiê“B?M“ p ¢?M“ p ¢?ð?±[zó™?±[zó™?z«^…ç“B?íþ¾ /,)?íþ¾ /,)?l$꥛\>LŸ^Å”ò³=LŸ^Å”ò³="j!£Jç<ë¤áy«ÿ¼ÅØĉh=¥sÚ2ëêä<¥÷„*>ˆAº .Õ:¾ÁB„«X>9ådÉl»?>»6¨¾}¦=5ã‘à×>s°¥@®¾QI@ð†>8bª ª>»µÄés¯Ï>¾i1 »M?ÄÍÎRþW¿u:3# 8?6Üã2¿ÿI?QÕp‘>R?Ve$ï• ?SÍ®%o£¿âÛcÁ?å}Ý—2Z™?–‹ÞGˆÏ¯?ßÚæô_ß?{E¥¦5Ì¿ºÁ¬;@eØ?M€¢ãäÿL?œ[Hw?C5^`¡Ä¹?Ù°^Š1柿‹pîF–«?dwÛ S½¿´˜bgËÚÏ>G§P–šÓM?•²MÚ1?sSks8?º23GÛ [¿VrÆéþb>¨¸Ï#¦· ?W QHÅ ?·:¸o`ö>+r8Ä>¿Z‰Gü$åewò@5>ê+„ „y>€]bQŸ B¾ª:|PÒÄ‚=çÚî¦=¡¨~åËl=}PõY~Ÿ½G¦y¨MI=4ûÎÉþ$`½GñvêÆï2=k.Ûà`=Ò«'üÄ^> ý\ñ-"ù>­Shxà¿SA“ù%ã>X®ï’f2?úð`°t?|;D,—µ?¸â’'è´·¿ïgw§+T¦?yXSdéx?ÎfeþŒH?¹µÅ¨ü”?ÈóÓƒŠÙz?*‹Ö@oƒ?uH›¿PªM™Q–=NWcÜw>¸h$x" w>H@\ça>åföî¾ôm2玄9=òÂ.½ù>v×ö¼©*¾|àAÑt>§' L §>é~@dãH?ê[&‘?*Ë:”•ƒ¿óa5ÝøW}?\¿_†·X’?¶Xý§–(?ŽîA’Mx?ø£q£´cq¿“é€}ù~c?•­¹Ë’I{¿[±ºùk>žìÍöñ>¬–äžÏøô>+ ÈCóØ>cºÀ!Ûù¾wº­ƒ^ß<Ÿ„3ÝSà<KïlvVxú¼«,Tž“ò³=«´]—\>RÊhæÉ‰E>lC-00,)?n&ïuƒF?!zç»8Ò0?±[zó™?ð?³ÓtIUŸÅ?µàä{o ¢?!K’„…F?Žî?:Ò0?Ò©†{êG’>2$꥛\>Äþu͉E>ô_+.â_+="j!£Jç<ë¤áy«ÿ¼ÅØĉh=¥sÚ2ëêä<¥÷„*>ˆAº .Õ:¾ÁB„«X¾9ådÉl»?>»6¨¾}¦=5ã‘à×>s°¥@®¾QI@ð†¾8bª ª>»µÄés¯Ï>¾i1 »M?ÄÍÎRþW¿u:3# 8¿6Üã2¿ÿI?QÕp‘>R?Ve$ï• ?SÍ®%o£¿âÛcÁ¿å}Ý—2Z™?–‹ÞGˆÏ¯?ßÚæô_ß?{E¥¦5Ì¿ºÁ¬;@eØ¿M€¢ãäÿL?œ[Hw?C5^`¡Ä¹?Ù°^Š1柿‹pîF–«¿dwÛ S½¿´˜bgËÚÏ>G§P–šÓM?•²MÚ1?sSks8¿º23GÛ [¿VrÆéþb>¨¸Ï#¦· ?W QHÅ ?·:¸o`ö¾+r8Ä>¿Z‰Gü$åewò@5>ê+„ „y¾€]bQŸ B¾ª:|PÒÄ‚=çÚî¦=¡¨~åËl½}PõY~Ÿ½G¦y¨MI=4ûÎÉþ$`½GñvêÆï2½k.Ûà`=Ò«'üÄ^> ý\ñ-"ù>­Shxà¿SA“ù%ã¾X®ï’f2?úð`°t?|;D,—µ?¸â’'è´·¿ïgw§+T¦¿yXSdéx?ÎfeþŒH?¹µÅ¨ü”?ÈóÓƒŠÙz?*‹Ö@oƒ¿uH›¿PªM™Q–=NWcÜw>¸h$x" w>H@\ça¾åföî¾ôm2玄9=òÂ.½ù>v×ö¼©*¾|àAÑt¾§' L §>é~@dãH?ê[&‘?*Ë:”•ƒ¿óa5ÝøW}¿\¿_†·X’?¶Xý§–(?ŽîA’Mx?ø£q£´cq¿“é€}ù~c¿•­¹Ë’I{¿[±ºùk>žìÍöñ>¬–äžÏøô>+ ÈCóؾcºÀ!Ûù¾wº­ƒ^ß<Ÿ„3ÝSà<KïlvVxú¼«,Tž“ò³=RÊhæÉ‰E>«´]—\>lC-00,)?!zç»8Ò0?n&ïuƒF?±[zó™?³ÓtIUŸÅ?ð?µàä{o ¢?Žî?:Ò0?!K’„…F?Ò©†{êG’>Äþu͉E>2$꥛\>ô_+.â_+=Ÿù;ORœÜ<¶’¤Ê‚ó¼˜á„ ÐZ÷<Í‚³éÊY€= ÖEÙ•½PÕ-'¿`•=‹Wt‘rÅ` ¾ô( ô‘™>2”Ð¥c>xÔ‰r"´ ?>Ì„7¥¿@íu!g?$“Ö\X?š@f(•>¤?øi­Œ\¦¿áÇG…\b¢?{Ú1Õx~?à…SÆñO¿?ü‰?؈ÿ–0`$’‡?õ¡kAv?%Ëw¾Ãñ¸?ŠmÏŒ?ª¿y¯»-`½¿nêmÏ_?‰ù†c/2¨?êO[Êi:?ï Ø—p–°¿ðQÄ·þƒ>—’še[¦ ?ùˈb²?6vŸ‘7/¿ƒÞ‘Kh¸=!&¤;f§>“àÔÔ¥>àŠ&° ½¾®,[´‘=X[¿G82™=…ù©}¶®½¡ÇG«õ<,Â0Ñ@=y„m“½$ðòc•ò=ˆ çHžZtP\">}]w&Ô>?öˆÁ>F?Ð^ /0ÌP¿6·}¢@E?e^u²­?úhÒß?GEŽÔZPØ¿rþ%›CÌ¿¿C1ÃÊ5æ>S„Í7½R?hÁ†²Cr:?&“âð:À_¿òÑWì“ì°Ì¡h†è>Y<¦5]j!¾Ô–ÂÌû€Q>5²DÎlÃÝ>új<"q྇GqÞíïé>¦¸².óó$?{ ¥Vu?ÕÅ1Ö½ù}¿iCp ëR¿œûŒ@f?Êø¬½§?—©â>n¢?šÞXŽ÷¥¤¿È+û£no=ó‹P¿=>ÂKÈ6lh)>¬WÞÖ§R¾ø>Ü_+=ø>Ü_+=€´]—\>Y5‰ÑäG’>Y5‰ÑäG’>z«^…ç“B?µàä{o ¢?µàä{o ¢?ð?erébó™?erébó™?l—õ‘ê“B?sAæ2,)?sAæ2,)?£$꥛\>b&;”ò³=b&;”ò³=Á*Æ%Jçë®]R~ô4¾S¦¶©X>üìôhñA>š_µz¦=o,ºÝ×>˜ÑhÃ뜾üòrð†>¸ºRe›²>Í4êEy¯Ï>ª¿¢;»M?ó I•ú0¿ÁYò‘% 8?¾ŠÇâôZ?˜èÍ’>R?™ÉÝcð• ?4uœƒ½l†¿â·’eÁ?"þúG¨$¦?¬·&uŠÏ¯?òe _ß?×¶“g+Ì?éð5jAeØ?š$‘EaóÃ?ô|&´^Hw?Œ‘ÍM¤Ä¹??öÀçÚ¾?¡1VÏ–«?+[êbT¿ „ê½ÌÚÏ>mÌ.X›ÓM?»ÜéÚSX?mò t8?×´.d"J¿³õ—úb>ËóB*¢· ?‚Ñ$æR?ieŽQ`ö>õ©™ï“¿M»Ñ $å<üP¥ð®*>v†Üqoÿ:>B¼?†y>Ÿç™Ü%í?¾Më«yÕÄ‚=1²<ø¼˜=æXêËl=CÐ×u }˜½Ø©MI=˨˜Ð€S½2ÿ¶ðÇï2=„û”‚”d=j³Å^>q1"ù>Ž+3õ¾uDù§%ã>œÝõœ\?Tkt?|Æá,—µ?‚`žyÈ™?rlí^,T¦?¹{jRÛݶ?@*†H?†É¼ªü”?$˜ó&F—?ƒvÙ‚pƒ?‡­á™¹Ž¿b-(Q–=$8T±eÜw>"­®¬Ü›‡>%Q’ça>÷¾ÝÔ„¾¢‚7–„9=Á<šÂù>ÙË_ ¾DMúÔt>ü©i:¬j.>ÉJ¾eãH?­š’†&‘?‹Èˆ  Œ¿œ¹‹°ùW}?ñi-Õ™µŽ?ž’x+¨–(?,¼TNx?æ˜m†ç†?PXž!ú~c?²#HB!"]?h.µùk>ñú /ôñ>äǦðO_ñ>¿Ã0@óØ>îIj\fü¾«S»?…^ß<ß“–{:ö<‚é… ˆð¼b&;”ò³=´]—\>RÊhæÉ‰E>íþ¾ /,)?!K’„…F?Žî?:Ò0?erébó™?ð?³ÓtIUŸÅ?@M[Bq ¢?‘ê!6‡F?äYa;Ò0?|KRÙèG’>€´]—\>;ÊhæÉ‰E>çø°ä_+=Á*Æ%Jçë®]R~ô4¾S¦¶©X¾üìôhñA>š_µz¦=o,ºÝ×>˜ÑhÃ뜾üòrð†¾¸ºRe›²>Í4êEy¯Ï>ª¿¢;»M?ó I•ú0¿ÁYò‘% 8¿¾ŠÇâôZ?˜èÍ’>R?™ÉÝcð• ?4uœƒ½l†¿â·’eÁ¿"þúG¨$¦?¬·&uŠÏ¯?òe _ß?×¶“g+Ì?éð5jAeØ¿š$‘EaóÃ?ô|&´^Hw?Œ‘ÍM¤Ä¹??öÀçÚ¾?¡1VÏ–«¿+[êbT¿ „ê½ÌÚÏ>mÌ.X›ÓM?»ÜéÚSX?mò t8¿×´.d"J¿³õ—úb>ËóB*¢· ?‚Ñ$æR?ieŽQ`ö¾õ©™ï“¿M»Ñ $å<üP¥ð®*>v†Üqoÿ:>B¼?†y¾Ÿç™Ü%í?¾Më«yÕÄ‚=1²<ø¼˜=æXêËl½CÐ×u }˜½Ø©MI=˨˜Ð€S½2ÿ¶ðÇï2½„û”‚”d=j³Å^>q1"ù>Ž+3õ¾uDù§%㾜Ýõœ\?Tkt?|Æá,—µ?‚`žyÈ™?rlí^,T¦¿¹{jRÛݶ?@*†H?†É¼ªü”?$˜ó&F—?ƒvÙ‚pƒ¿‡­á™¹Ž¿b-(Q–=$8T±eÜw>"­®¬Ü›‡>%Q’ça¾÷¾ÝÔ„¾¢‚7–„9=Á<šÂù>ÙË_ ¾DMúÔt¾ü©i:¬j.>ÉJ¾eãH?­š’†&‘?‹Èˆ  Œ¿œ¹‹°ùW}¿ñi-Õ™µŽ?ž’x+¨–(?,¼TNx?æ˜m†ç†?PXž!ú~c¿²#HB!"]?h.µùk>ñú /ôñ>äǦðO_ñ>¿Ã0@óؾîIj\fü¾«S»?…^ß<ß“–{:ö<‚é… ˆð¼b&;”ò³=RÊhæÉ‰E>´]—\>íþ¾ /,)?Žî?:Ò0?!K’„…F?erébó™?³ÓtIUŸÅ?ð?@M[Bq ¢?äYa;Ò0?‘ê!6‡F?|KRÙèG’>;ÊhæÉ‰E>€´]—\>çø°ä_+=@[ÔYœÜ< yÏDï¼FŸŸÐù<X—ÍY€=Ñåª8Œ·‰½5ilN»›=}v€¹ä:Œ=fj•³Ž>;£­`´VоrY£–Ø´£>p)Ø¥c>:시)´ ?žhBH(s ¿²‚IIwÄ?’öNŠ!X?—Zl ˜>¤?ÌñW·íÄY¦ ?÷ìž`"(?|þqÆ[)¿êÆÃd¸=Ë)F89f§> øz3з>âÌòh'´¾<”Û˜´‘=镘#¨=ãAq“¦é¥½¬œ\÷?«õV~Pì{&Ô>V(Å>F?eÈi£1¿lF„›aS?ŠÛix²­?ºïÏMÔß?]F£Á>YÕ?xâUÁ;Ò?O v'É5æ>O¯ç6½R? ×¥¹[?\à±ë½ÔP¿1]Yîå“ì<wÞ?É >°„–¨êÚ>òäj‚¾ŠÈ7Q>´0u”uÃÝ>êC‡|öâ¾ÄJè%/(è>çS:Còó$?×oWï¤Vu?»nYY ‹l?¨µ³Ê¾z?#`A9;f?£¤«€§½§?RA£*Ÿš?×›D¨¿ˆµv™no=\aÁo¸=>ÜYX•|†P>¡ÏF Ò©†{êG’>Ò©†{êG’>l—õ‘ê“B?@M[Bq ¢?@M[Bq ¢?ð?±[zó™?±[zó™?«^…ç“B?Ê€:,,)?Ê€:,,)?å³]—\>:ïÄ_ò³=:ïÄ_ò³=ÓK>$Jç<˜5‰‚«ÿ¼-*ÎüŽh=|sÚ2ëêä<ä¤÷„*>lAº .Õ:¾­B„«X> ådÉl»?>w6¨¾}¦=ã‘à×>C°¥@®¾ßPI@ð†>Ý7bª ª>΀N}|¯Ï>s¡»M?»(z§UþW¿C:>' 8?÷cµŒÃÿI?…QÕp‘>R?Ze$ï• ?TÍ®%o£¿ëÛcÁ?~Ý—2Z™?Úr”ŠÏ¯? “Y_ß?®yb¤5Ì¿÷ûõzAeØ?v»g¦ääÿ+›õ[Hw?hi¢Ä¹?cÞ‚.柿|‰+–«?’¼ÁüS½¿™bgËÚÏ>r§P–šÓM?•²MÚ1?˜Sks8?Ú23GÛ [¿&)Rüb>Ðo z£· ?Êb3yFÅ ?ñ Y`ö>¥õ•Á>¿®>é, $å< €éð®*>S¸ÌC5>¤St†y>G>ë?¡ B¾cN…ÊÕÄ‚=!ŽÐßô¦=ןÔêËl={á÷†_~Ÿ½f°MI=à•p|%`½3ãb¡Ìï2=îXݳå`='v¨„Å^>Oˆíg2"ù>åjú‡ã¿Ûá e%ã>ˆ¾"Ói2?ñ`°t?|;D,—µ?Êâ’'è´·¿hw§+T¦?ÑYSdéx?geþŒH?éµÅ¨ü”?ôÓƒŠÙz?W‹Ö@oƒ?7uH›¿Ã NŸQ–=r‘,.gÜw>Ùšë$' w>x¦Y"“ça>AÈ~µó¾Çp4Lš„9=•\‘qÄù>ˆ‡Å©*¾æµÖt>Á\O§>&¥¡?bãH?Fž¿&‘?ƒ¼ùÝ‘•ƒ¿ŸÉñöW}?åáܶX’?ÕXý§–(?£îA’Mx?¤q£´cq¿§é€}ù~c?¢­¹Ë’I{¿õÂ4´ùk>]ŠÏóñ>¨{˜Ìøô>!ï¢?óØ>o¯ctÛù¾‚“^ß<Û<ñ¤âSà<±¯^xú¼LŸ^Å”ò³=2$꥛\>Äþu͉E>sAæ2,)?‘ê!6‡F?äYa;Ò0?±[zó™?ð?³ÓtIUŸÅ?Òàä{o ¢?µû«i…F?”¦,:Ò0?6ç:béG’>ò´]—\>|ÊhæÉ‰E>¯Ó|žä_+=ÓK>$Jç<˜5‰‚«ÿ¼-*ÎüŽh=|sÚ2ëêä<ä¤÷„*>lAº .Õ:¾­B„«X¾ ådÉl»?>w6¨¾}¦=ã‘à×>C°¥@®¾ßPI@ð†¾Ý7bª ª>΀N}|¯Ï>s¡»M?»(z§UþW¿C:>' 8¿÷cµŒÃÿI?…QÕp‘>R?Ze$ï• ?TÍ®%o£¿ëÛcÁ¿~Ý—2Z™?Úr”ŠÏ¯? “Y_ß?®yb¤5Ì¿÷ûõzAeØ¿v»g¦ääÿ+›õ[Hw?hi¢Ä¹?cÞ‚.柿|‰+–«¿’¼ÁüS½¿™bgËÚÏ>r§P–šÓM?•²MÚ1?˜Sks8¿Ú23GÛ [¿&)Rüb>Ðo z£· ?Êb3yFÅ ?ñ Y`ö¾¥õ•Á>¿®>é, $å< €éð®*>S¸ÌC5>¤St†y¾G>ë?¡ B¾cN…ÊÕÄ‚=!ŽÐßô¦=ןÔêËl½{á÷†_~Ÿ½f°MI=à•p|%`½3ãb¡Ìï2½îXݳå`='v¨„Å^>Oˆíg2"ù>åjú‡ã¿Ûá e%㾈¾"Ói2?ñ`°t?|;D,—µ?Êâ’'è´·¿hw§+T¦¿ÑYSdéx?geþŒH?éµÅ¨ü”?ôÓƒŠÙz?W‹Ö@oƒ¿7uH›¿Ã NŸQ–=r‘,.gÜw>Ùšë$' w>x¦Y"“ça¾AÈ~µó¾Çp4Lš„9=•\‘qÄù>ˆ‡Å©*¾æµÖt¾Á\O§>&¥¡?bãH?Fž¿&‘?ƒ¼ùÝ‘•ƒ¿ŸÉñöW}¿åáܶX’?ÕXý§–(?£îA’Mx?¤q£´cq¿§é€}ù~c¿¢­¹Ë’I{¿õÂ4´ùk>]ŠÏóñ>¨{˜Ìøô>!ï¢?óؾo¯ctÛù¾‚“^ß<Û<ñ¤âSà<±¯^xú¼LŸ^Å”ò³=Äþu͉E>2$꥛\>sAæ2,)?äYa;Ò0?‘ê!6‡F?±[zó™?³ÓtIUŸÅ?ð?Òàä{o ¢?”¦,:Ò0?µû«i…F?6ç:béG’>|ÊhæÉ‰E>ò´]—\>¯Ó|žä_+=Hú;ORœÜ<(“¤Ê‚ó¼#â„ ÐZ÷<ü‚³éÊY€=IÖEÙ•½‘Õ-'¿`•=Á!n<à:Œ=¹àŽ>3ÄöÈ` ¾_Ú8èù‘™>”Ð¥c>ÏÔ‰r"´ ?„Ì„7¥¿ƒíu!g?Ô¢$X?kÙÕG—>¤?ÅòaŽ\¦¿ÿRœ^b¢?•äàÙx~?Î>é]õO¿?–óX-ڈÿñù–w'’‡?Ý¡kAv?Ëw¾Ãñ¸?smÏŒ?ª¿X¯»-`½¿²­°—lÏ_?7ü­².2¨?Õ¢`fl:?²o½p–°¿Žjƒ>¶ú\¦ ?¢ëþb²?!ë27/¿sÕ™ån¸=o?f§>ÁÏBØÔ¥>¤þI„ ½¾zÒ¡´‘=älT÷=2™=o¦n¼®½F¨-C«õ<ÊDp<=u±Tõh“½FO_h•ò=s™u žçíg¡a">G}]w&Ô>töˆÁ>F?ó^ /0ÌP¿d·}¢@E?e^u²­?úhÒß?NEŽÔZPØ¿zþ%›CÌ¿ŠS#ÝÏ5æ>Àf€¦:½R?ïèmJr:?©|‡T?À_¿!ö­0ó“ì<ò¨@ÄFÉ >b7è>úEü»_j!¾=‚’°ù€Q>BaAjÃÝ>kÃrk qà¾À.«ìïé>Ÿ¸².óó$?w ¥Vu?ÈÅ1Ö½ù}¿aCp ëR¿¸Å3î=f?—Ô©½§?[MeÄ=n¢?ák¶dõ¥¤¿åÚŠÞ°no=¼Ÿ¾½Ç=>’ú!uh)> É;ܧR¾ô_+.â_+=ô_+.â_+=£$꥛\>|KRÙèG’>|KRÙèG’>«^…ç“B?Òàä{o ¢?Òàä{o ¢?ð?Ö/æõ™?Ö/æõ™?QÒiê“B?lC-00,)?lC-00,)?VK’\>&;”ò³=&;”ò³=˜èq½ Jç<ðrÑo&"ø¼ˆ ¹LO=¼'ªóèêä<ëG„*>Ù®]R~ô4¾>¦¶©X>êìôhñA>mVAEv¦=K‹ú¶Ú×>B^z Á뜾‚')¿|ð†>ã´}qc›²>Í4êEy¯Ï> ¿¢;»M?ó I•ú0¿»Yò‘% 8?·ŠÇâôZ?wèÍ’>R?…ÉÝcð• ?0uœƒ½l†¿»·’eÁ? þúG¨$¦?ÅtÀŒÏ¯?ì?,_ß?(™Çle+Ì?7 ©BeØ?ý&OJbóÃ?}&´^Hw?¡‘ÍM¤Ä¹?EöÀçÚ¾?º1VÏ–«?6[êbT¿lZ)iÑÚÏ>™½¬üÓM?§ÔH VX??™;v8?âZÒÝ#J¿Ìxpÿb>Ѿ¥Ÿ¦· ?–¨¢éR?v6ÛÐ`ö>¼Ö€å“¿ ‡2¹$åéâµ.vÿ:>#|Õ[‹y>Mès-í?¾©ë«yÕÄ‚=°²<ø¼˜=zXêËl=·Ð×u }˜½´Ø©MI=÷¨˜Ð€S½Yÿ¶ðÇï2=H„û”‚”d=gäÆôýÄ^>‰¦ì."ù>`„ˆ1õ¾ö"º%ã>Ô¼/Z?÷…9t?åZ‡-—µ?kè£vÈ™?ËîD)-T¦?/«¡!Üݶ?a‹©¿‘H? Ûdº«ü”?I™Ž F—?+ì±rƒ?[2Jš¹Ž¿ËEª-¤Q–=vjÜw>(LT|ᛇ>øõ`ª•ça>y»Ç”„¾ ‘‰„9=d÷[½¹ù>\ÅF¯—¾„ Ït>´HŽ¡j.>Q’ÞÓaãH?;bãÊ&‘?Çš Œ¿ôí±‰öW}?pƈ–µŽ?Ã’x+¨–(?;,¼TNx?™m†ç†?iXž!ú~c?ô#HB!"]?+»QÚ½ùk>ˆtµû÷ñ>§R(ÙS_ñ>Î6ôÌEóØ>þ½dXbfü¾é_Û`‘^ß<ÙýøÞ:ö<ù@Sêˆð¼b&;”ò³=€´]—\>;ÊhæÉ‰E>Ê€:,,)?µû«i…F?”¦,:Ò0?Ö/æõ™?ð?³ÓtIUŸÅ?M[Bq ¢?§ê!6‡F?õYa;Ò0?ÿqëG’>O$꥛\>×þu͉E>˜èq½ Jç<ðrÑo&"ø¼ˆ ¹LO=¼'ªóèêä<ëG„*>Ù®]R~ô4¾>¦¶©X¾êìôhñA>mVAEv¦=K‹ú¶Ú×>B^z Á뜾‚')¿|ð†¾ã´}qc›²>Í4êEy¯Ï> ¿¢;»M?ó I•ú0¿»Yò‘% 8¿·ŠÇâôZ?wèÍ’>R?…ÉÝcð• ?0uœƒ½l†¿»·’eÁ¿ þúG¨$¦?ÅtÀŒÏ¯?ì?,_ß?(™Çle+Ì?7 ©BeØ¿ý&OJbóÃ?}&´^Hw?¡‘ÍM¤Ä¹?EöÀçÚ¾?º1VÏ–«¿6[êbT¿lZ)iÑÚÏ>™½¬üÓM?§ÔH VX??™;v8¿âZÒÝ#J¿Ìxpÿb>Ѿ¥Ÿ¦· ?–¨¢éR?v6ÛÐ`ö¾¼Ö€å“¿ ‡2¹$åéâµ.vÿ:>#|Õ[‹y¾Mès-í?¾©ë«yÕÄ‚=°²<ø¼˜=zXêËl½·Ð×u }˜½´Ø©MI=÷¨˜Ð€S½Yÿ¶ðÇï2½H„û”‚”d=gäÆôýÄ^>‰¦ì."ù>`„ˆ1õ¾ö"º%ã¾Ô¼/Z?÷…9t?åZ‡-—µ?kè£vÈ™?ËîD)-T¦¿/«¡!Üݶ?a‹©¿‘H? Ûdº«ü”?I™Ž F—?+ì±rƒ¿[2Jš¹Ž¿ËEª-¤Q–=vjÜw>(LT|ᛇ>øõ`ª•ça¾y»Ç”„¾ ‘‰„9=d÷[½¹ù>\ÅF¯—¾„ Ït¾´HŽ¡j.>Q’ÞÓaãH?;bãÊ&‘?Çš Œ¿ôí±‰öW}¿pƈ–µŽ?Ã’x+¨–(?;,¼TNx?™m†ç†?iXž!ú~c¿ô#HB!"]?+»QÚ½ùk>ˆtµû÷ñ>§R(ÙS_ñ>Î6ôÌEóؾþ½dXbfü¾é_Û`‘^ß<ÙýøÞ:ö<ù@Sêˆð¼b&;”ò³=;ÊhæÉ‰E>€´]—\>Ê€:,,)?”¦,:Ò0?µû«i…F?Ö/æõ™?³ÓtIUŸÅ?ð?M[Bq ¢?õYa;Ò0?§ê!6‡F?ÿqëG’>×þu͉E>O$꥛\> ZÔYœÜ²¢­`´Vо Y£–Ø´£>£)Ø¥c>…닜)´ ?hBH(s ¿‚IIwÄ?d>WßX?‘b¬°—>¤?‡ôÙ »“¿Éë]97«?Óþ+´Ùx~?!1<õO¿?ªYH`C‡¤?&,a–æçÂ?ô;ïúiAv?ùƒ„ÚÂñ¸?Ïz@, À?”’ê5†„?êV‚€iÏ_?“3-2¨? ºkOÕ¬?[Q~ìHö¡¿Îu{›ƒ>­©*a\¦ ?áÞqd"(?Æ{ªúÉ[)¿#ÈÃd¸={*F89f§>Lùz3з>mÍòh'´¾¯Ài•ò=8®RJ¥ú½u¤4Ű >–\/Šz&Ô>š{¯Ä>F?ަüi£1¿/­“ŸšaS?V0mu²­?ÑßIœÒß?¥ò•%=YÕ?@L;ÅÁ;Ò?¬×Í‘Ì5æ>Ù¿Ï8½R?«ÁL‰¹[?@RQ¿ÔP¿#"„Øþ€Q>H¿´|pÃÝ>BZ´Ÿ öâ¾¶vëý*(è>S:Còó$?¦oWï¤Vu?tnYY ‹l?è§µ³Ê¾z?P]Ù«>f?ò6÷vª½§?îG}Ö’Ÿš?`ãU‘D¨¿òY8§no=ú"®nÁ=> Ï„†P>ÏõþÁAqB¾æÔ¸‹õÕ6ç:béG’>6ç:béG’>QÒiê“B?M[Bq ¢?M[Bq ¢?ð?±[zó™?±[zó™?£0Ó¦è“B?6ÿ¾ /,)?6ÿ¾ /,)?ýðŽôp0 >¯j!£Jç<×ë¤áy«ÿ¼7Ùĉh=çsÚ2ëêä<4¥÷„*>¿Aº .Õ:¾êB„«X>xådÉl»?>¡6¨¾}¦=ã‘à×>]°¥@®¾ïPI@ð†>÷7bª ª>»µÄés¯Ï>¾i1 »M?ÉÍÎRþW¿u:3# 8?EÜã2¿ÿI?ŸQÕp‘>R?ie$ï• ?nÍ®%o£¿ ÛcÁ?~Ý—2Z™?½FÆ2ŒÏ¯?¡îâå_ß?‘›Áƒ¥5Ì¿Ì&!\BeØ?™MïÆáäÿÓ³S_Hw?—PͤĹ?üzwB2柿+ìh–«?êö–aV½¿$›ÕÚÏ>ÍÀ„ ÓM?èc€€Ý1?+riôw8?¯ØÀêß [¿&)Rüb>Ðo z£· ?Êb3yFÅ ?ñ Y`ö>¥õ•Á>¿•¦y¨MI=fûÎÉþ$`½€ñvêÆï2=›.Ûà`=Å«'üÄ^>ÿü\ñ-"ù>¨Shxà¿IA“ù%ã>K®ï’f2?}Ÿ’~t?—÷B,—µ?i„®óç´·¿w&—v+T¦?q´òpéx?ˆ ÿ±‘H?,汫ü”?RÿtƒŽÙz?DÆtrƒ?ÏÛê[›¿ôm2玄9=òÂ.½ù>v×ö¼©*¾|àAÑt>—' L §>7¥¡?bãH?Ož¿&‘?޼ùÝ‘•ƒ¿®ÉñöW}?ðáܶX’?2õÝ«–(?"ïÉÿPx?kõ7·cq¿žbü~c?È’ –I{¿¢[±ºùk>jìÍöñ>x–äžÏøô>Ç* ÈCóØ>ºÀ!Ûù¾Åø ,1 ‚=ìÍVr‚#J>ZÍt¡GH>6à9HÁ2>où Íæ^¾:ïÄ_ò³=ò´]—\>|ÊhæÉ‰E>lC-00,)?§ê!6‡F?õYa;Ò0?±[zó™?ð?³ÓtIUŸÅ?Ýù¯j!£Jç<×ë¤áy«ÿ¼7Ùĉh=çsÚ2ëêä<4¥÷„*>¿Aº .Õ:¾êB„«X¾xådÉl»?>¡6¨¾}¦=ã‘à×>]°¥@®¾ïPI@ð†¾÷7bª ª>»µÄés¯Ï>¾i1 »M?ÉÍÎRþW¿u:3# 8¿EÜã2¿ÿI?ŸQÕp‘>R?ie$ï• ?nÍ®%o£¿ ÛcÁ¿~Ý—2Z™?½FÆ2ŒÏ¯?¡îâå_ß?‘›Áƒ¥5Ì¿Ì&!\BeØ¿™MïÆáäÿÓ³S_Hw?—PͤĹ?üzwB2柿+ìh–«¿êö–aV½¿$›ÕÚÏ>ÍÀ„ ÓM?èc€€Ý1?+riôw8¿¯ØÀêß [¿&)Rüb>Ðo z£· ?Êb3yFÅ ?ñ Y`ö¾¥õ•Á>¿•¦y¨MI=fûÎÉþ$`½€ñvêÆï2½›.Ûà`=Å«'üÄ^>ÿü\ñ-"ù>¨Shxà¿IA“ù%ã¾K®ï’f2?}Ÿ’~t?—÷B,—µ?i„®óç´·¿w&—v+T¦¿q´òpéx?ˆ ÿ±‘H?,汫ü”?RÿtƒŽÙz?DÆtrƒ¿ÏÛê[›¿ôm2玄9=òÂ.½ù>v×ö¼©*¾|àAÑt¾—' L §>7¥¡?bãH?Ož¿&‘?޼ùÝ‘•ƒ¿®ÉñöW}¿ðáܶX’?2õÝ«–(?"ïÉÿPx?kõ7·cq¿žbü~c¿È’ –I{¿¢[±ºùk>jìÍöñ>x–äžÏøô>Ç* ÈCóؾºÀ!Ûù¾Åø ,1 ‚=ìÍVr‚#J>ZÍt¡GH>6à9HÁ2¾où Íæ^¾:ïÄ_ò³=|ÊhæÉ‰E>ò´]—\>lC-00,)?õYa;Ò0?§ê!6‡F?±[zó™?³ÓtIUŸÅ?ð?Ýù/Öƒ \œÜ<…úM‰ó¼îÿèË×Z÷<1AE_ÏY€=ÃÕDKÙ•½l«ÀÄ`•=”›-ÛÝ:Œ=´¬4aŽ> ¹§[È` ¾›cÁ4ø‘™>…÷æºÕ¥c>ÆX–'´ ?h™:;¥¿Î[ÍŒ$g?IÔ¢$X?>ÙÕG—>¤?èÄòaŽ\¦¿ôþRœ^b¢?näàÙx~?¯>é]õO¿?ˆóX-ڈÿ½ù–w'’‡?‘¡kAv?:Ëw¾Ãñ¸?²mÏŒ?ª¿ŠÂ¯»-`½¿ËÄT—fÏ_?ÉÂ+2¨?Ð/‹Eh:?ƒ,n–°¿,wç±h•ò=0¬Ú™ ž¡7Ô½a">ë|]w&Ô>/öˆÁ>F?Å^ /0ÌP¿#·}¢@E?e^u²­?úhÒß?GEŽÔZPØ¿¢þ%›CÌ¿ÂÔ$tÿ€Q>zrÍ8qÃÝ>‚ J$qྼ½½ñïé>«¸².óó$?| ¥Vu?ÒÅ1Ö½ù}¿eCp ëR¿dÛŠ=f?")ºŽ©½§?|)¹ýuW¨.È>?"íÜJ%?âù±”áFI¿¯Ó|žä_+=¯Ó|žä_+=VK’\>ÿqëG’>ÿqëG’>£0Ó¦è“B?ÝùË®]R~ô4¾+¦¶©X>ÙìôhñA>Æ_µz¦=8o,ºÝ×>½ÑhÃ뜾órð†>ǺRe›²>,O§'q¯Ï>¡Pî  »M?à¿®Óú0¿›‹ìÂ! 8?ê×Ú?ÞôZ?kë:8>R?~í/Ðî• ?Yà¸l†¿‡nžPbÁ?ÙÈ ˜¦$¦?!¯3Ոϯ?â?ð:_ß?¼øŽf+Ì?½°fˆ@eØ?"gý#dóÃ?‹\d8[Hw?}L{†¡Ä¹?€ÖEؾ?— ít–«?64³GT¿4Ø©MI=”¨˜Ð€S½ùþ¶ðÇï2=߃û”‚”d=jÀøÄ^>e ËÐ+"ù>½ô©%.õ¾Ó¯DX%ã>λ´ŠW?±Ût?w9_y*—µ?%«ÁÅuÈ™?A»‘)T¦?±žEÙݶ? ÿ÷Œ„9=Ñ8a»ù>)J1˜¾Ÿ<Ù6Ðt>.ø¹£j.>Õæ.„aãH?g× &‘? !¿ Œ¿C©;=öW}?ÏC!M—µŽ?k’x+¨–(?þ+¼TNx?»˜m†ç†?5Xž!ú~c?¥#HB!"]?Ò¬è H@?FÂ×Öˆ?¤ƒæ&ª‰?ÞLÛt?2-ˆnµ¿&;”ò³=O$꥛\>×þu͉E>6ÿ¾ /,)?K’„…F?vî?:Ò0?ÉA¤ð™?ð?³ÓtIUŸÅ?ÌEùOÈq?4*Æ%Jç<Ñ"S+"ø¼MµÚS=–'ªóèêä<ÓG„*>Ë®]R~ô4¾+¦¶©X¾ÙìôhñA>Æ_µz¦=8o,ºÝ×>½ÑhÃ뜾órð†¾ÇºRe›²>,O§'q¯Ï>¡Pî  »M?à¿®Óú0¿›‹ìÂ! 8¿ê×Ú?ÞôZ?kë:8>R?~í/Ðî• ?Yà¸l†¿‡nžPbÁ¿ÙÈ ˜¦$¦?!¯3Ոϯ?â?ð:_ß?¼øŽf+Ì?½°fˆ@eØ¿"gý#dóÃ?‹\d8[Hw?}L{†¡Ä¹?€ÖEؾ?— ít–«¿64³GT¿4Ø©MI=”¨˜Ð€S½ùþ¶ðÇï2½ßƒû”‚”d=jÀøÄ^>e ËÐ+"ù>½ô©%.õ¾Ó¯DX%ã¾Î»´ŠW?±Ût?w9_y*—µ?%«ÁÅuÈ™?A»‘)T¦¿±žEÙݶ? ÿ÷Œ„9=Ñ8a»ù>)J1˜¾Ÿ<Ù6Ðt¾.ø¹£j.>Õæ.„aãH?g× &‘? !¿ Œ¿C©;=öW}¿ÏC!M—µŽ?k’x+¨–(?þ+¼TNx?»˜m†ç†?5Xž!ú~c¿¥#HB!"]?Ò¬è H@?FÂ×Öˆ?¤ƒæ&ª‰?ÞLÛt¿2-ˆnµ¿&;”ò³=×þu͉E>O$꥛\>6ÿ¾ /,)?vî?:Ò0?K’„…F?ÉA¤ð™?³ÓtIUŸÅ?ð?ÌEùOÈq?Œƒ šãÖ@=XG>”ÏS½5=ǶZ=WëÞª÷üS=ä×λl>¬ GAw¾˜¦éà->lžÄl¶>ç·@˜‘à> Â$Â$ë¾&¦£Ü¶@í>a–m¿«J$?s÷©X‚?òÜ-ᇿƒþîµÈ°?qðneŠ0…?Güê÷KéÃ?ÅòÓ±=澿ˆ>ÍAwÂ?8ótßfÓ§=ôËÕSÃ̹½÷qÛRha¾=QaU€f³>l#;Û)1?PâsJð>4¿ Pê}¯7:?‡ ¥”Ç=Í­{>­ôEQ ‹¾ „r¼Lƒ>ùù"m˜d?ÛõcÏõ¥?§þ˜©mx¿¶ØvÚ/Ÿ©?Ðq‰t«?ÆH¾)EÞ?"íí„ Ù¿ïT:ˆŸ?ýðŽôp0 >B'÷܃>B'÷܃>oXã$tÂJ?ÌEùOÈq?ÌEùOÈq?ð?ergo-3.5/source/matrix/Memory_buffer_thread.h0000664000175000017500000000717412743400307016356 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MEMORY_BUFFER_THREAD_HEADER #define MEMORY_BUFFER_THREAD_HEADER /* We need to include config.h to get the USE_SSE_INTRINSICS flag. */ #include "config.h" /* This file is only used if USE_SSE_INTRINSICS is defined. */ #ifdef USE_SSE_INTRINSICS #include // for bad_alloc #include #include #include #ifdef __SSE3__ #include #endif #ifdef _OPENMP #include #endif namespace mat{ class Memory_aligned { protected: inline void * operator new (size_t s) { void * p = _mm_malloc (s, 16); if (p == NULL) throw std::bad_alloc(); else return p; } inline void * operator new[] (size_t s) { void * p = _mm_malloc (s, 16); if (p == NULL) throw std::bad_alloc(); else return p; } inline void operator delete (void * p) { _mm_free(p); } inline void operator delete[] (void * p) { _mm_free(p); } }; class Memory_buffer_thread : public Memory_aligned { // Hidden stuff private: static void create(); static Memory_buffer_thread* ptr_to_instance; // All values allowed for char - // may be important for double checked locking pattern in instance() static volatile char ptr_to_instance_is_valid; static unsigned int bufSize; Memory_buffer_thread(Memory_buffer_thread const &); protected: Memory_buffer_thread() {} // No instances of Memory_buffer_thread ever! public: static Memory_buffer_thread& instance(); template void get_buffer(size_t size, T* & buffer) const { if (sizeof(T) * size > bufSize) throw std::runtime_error("In Memory_buffer_thread::get_buffer : " "Allocated buffer smaller than requested " "buffer size"); int threadID = 0; #ifdef _OPENMP for (int ind = 0; ind <= omp_get_level(); ind++) { int tmp = omp_get_ancestor_thread_num(ind); threadID = threadID > tmp ? threadID : tmp; } #endif if (buffers.empty()) throw std::runtime_error("In Memory_buffer_thread::get_buffer : " "buffers empty!"); if ((unsigned)threadID >= buffers.size()) throw std::runtime_error("In Memory_buffer_thread::get_buffer : " "thread id larger than number of buffers"); buffer = (T*)buffers[threadID]; } void init_buffers(unsigned int const nThreads); ~Memory_buffer_thread(); private: std::vector buffers; }; } // end namespace mat #endif #endif ergo-3.5/source/matrix/MatrixBase.h0000664000175000017500000002323712743400307014263 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file MatrixBase.h Base class for matrix API * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson @a responsible @a author * @date January 2006 * */ #ifndef MAT_MATRIXBASE #define MAT_MATRIXBASE #include #include #include #include "FileWritable.h" #include "matrix_proxy.h" #include "ValidPtr.h" #include "SizesAndBlocks.h" namespace mat { template class MatrixGeneral; template class MatrixSymmetric; template class MatrixTriangular; template class VectorGeneral; enum matrix_type {matrix_matr, matrix_symm, matrix_triang}; /** Base class for matrix API * * This class provides a base for an API to a matrix library built * up from three types which are also the template arguments to this class. * * Treal: Type for real numbers * * Tmatrix: The matrix class * */ template class MatrixBase : public FileWritable { public: friend class MatrixGeneral; friend class MatrixSymmetric; friend class MatrixTriangular; inline void resetSizesAndBlocks(SizesAndBlocks const & newRows, SizesAndBlocks const & newCols) { matrixPtr.haveDataStructureSet(true); matrixPtr->resetRows(newRows); matrixPtr->resetCols(newCols); } inline void getRows(SizesAndBlocks & rowsCopy) const { matrixPtr->getRows(rowsCopy); } inline void getCols(SizesAndBlocks & colsCopy) const { matrixPtr->getCols(colsCopy); } /** Check if matrix is empty. Being empty is not the same as being zero. A matrix being empty means that the data structure has not been set. */ inline bool is_empty() const { return !matrixPtr.haveDataStructureGet(); } inline Treal trace() const { return matrixPtr->trace(); } inline void add_identity(Treal alpha) { matrixPtr->addIdentity(alpha); } inline MatrixBase& operator*=(Treal const alpha) { *matrixPtr *= alpha; return *this; } inline bool operator==(int k) const { if (k == 0) return *matrixPtr == 0; else throw Failure("MatrixBase::operator== only implemented for k == 0"); } inline void clear() { if (is_empty()) // This means that the object's data structure has not been set // There is nothing to clear and the matrixPtr is not valid either return; matrixPtr->clear(); } inline size_t memory_usage() const { return matrixPtr->memory_usage(); } inline void write_to_buffer_count(int& n_bytes) const { int ib_length = 3; int vb_length = 0; this->matrixPtr->write_to_buffer_count(ib_length, vb_length); n_bytes = vb_length * sizeof(Treal) + ib_length * sizeof(int); } #if 1 inline int get_nrows() const { return matrixPtr->nScalarsRows(); } inline int get_ncols() const { return matrixPtr->nScalarsCols(); } #endif inline Tmatrix const & getMatrix() const {return *matrixPtr;} inline Tmatrix & getMatrix() {return *matrixPtr;} /** Get largest absolute value of matrix element in the matrix. */ inline Treal maxAbsValue() const {return matrixPtr->maxAbsValue();} protected: ValidPtr matrixPtr; MatrixBase():matrixPtr(new Tmatrix) {} MatrixBase(const MatrixBase& other) :FileWritable(other), matrixPtr(new Tmatrix) { matrixPtr.haveDataStructureSet(other.matrixPtr.haveDataStructureGet()); /* getConstRefForCopying() is used here to make sure it works also in the case when the matrix is written to file. */ *matrixPtr = other.matrixPtr.getConstRefForCopying(); matrixPtr.inMemorySet(other.matrixPtr.inMemoryGet()); } MatrixBase& operator=(const MatrixBase& other) { FileWritable::operator=(other); /* Allows us to copy mat on file */ matrixPtr.haveDataStructureSet(other.matrixPtr.haveDataStructureGet()); /* getConstRefForCopying() is used here to make sure it works also in the case when the matrix is written to file. */ *matrixPtr = other.matrixPtr.getConstRefForCopying(); matrixPtr.inMemorySet(other.matrixPtr.inMemoryGet()); return *this; } MatrixBase& operator=(const Xtrans >& mt) { if (mt.A.matrixPtr.haveDataStructureGet()) { matrixPtr.haveDataStructureSet(true); } if (mt.tA) Tmatrix::transpose(*mt.A.matrixPtr, *this->matrixPtr); else *this->matrixPtr = *mt.A.matrixPtr; return *this; // FileWritable::operator=(other);/*Could be used to copy mat on file*/ } void write_to_buffer_base(void* buffer, const int n_bytes, const matrix_type mattype) const; void read_from_buffer_base(void* buffer, const int n_bytes, const matrix_type mattype); void writeToFileBase(std::ofstream & file, matrix_type const mattype) const; void readFromFileBase(std::ifstream & file, matrix_type const mattype); std::string obj_type_id() const {return "MatrixBase";} inline void inMemorySet(bool inMem) { matrixPtr.inMemorySet(inMem); } static void getPermutedIndexes(std::vector const & index, std::vector const & permutation, std::vector & newIndex) { newIndex.resize(index.size()); for (unsigned int i = 0; i < index.size(); ++i) newIndex[i] = permutation[index[i]]; } private: }; template void MatrixBase:: writeToFileBase(std::ofstream & file, matrix_type const mattype) const { int type = (int)mattype; file.write((char*)&type,sizeof(int)); if (is_empty()) // This means that the object's data structure has not been set // The ValidPtr prevents setting the data structure between // calls to writeToFile and readFromFile return; matrixPtr->writeToFile(file); } template void MatrixBase:: readFromFileBase(std::ifstream & file, matrix_type const mattype) { char type[sizeof(int)]; file.read(type, sizeof(int)); if (((int)*type) != mattype) throw Failure("MatrixBase::" "readFromFile(std::ifstream &, " "matrix_type const): Wrong matrix type"); if (is_empty()) // This means that the object's data structure has not been set return; matrixPtr->readFromFile(file); } template void MatrixBase:: write_to_buffer_base(void* buffer, const int n_bytes, const matrix_type mattype) const { int ib_length = 3; /* Length of integer buffer, at least 3: matrix_type, */ /* ib_length and vb_length */ int vb_length = 0; /* Length of value buffer */ this->matrixPtr->write_to_buffer_count(ib_length, vb_length); if (n_bytes >= (int)(vb_length * sizeof(Treal) + ib_length * sizeof(int))) { int* int_buf = (int*)buffer; int_buf[0] = mattype; int_buf[1] = ib_length; int_buf[2] = vb_length; Treal* value_buf = (Treal*)&(int_buf[ib_length]); /* Value buffer */ /* begins after integer buffer end */ int ib_index = 0; int vb_index = 0; this->matrixPtr->write_to_buffer(&int_buf[3], ib_length - 3, value_buf, vb_length, ib_index, vb_index); } else { throw Failure("MatrixBase::write_to_buffer: Buffer is too small"); } } template void MatrixBase:: read_from_buffer_base(void* buffer, const int n_bytes, const matrix_type mattype) { int* int_buf = (int*)buffer; if(int_buf[0] == mattype) { int ib_length = int_buf[1]; int vb_length = int_buf[2]; int ib_index = 0; int vb_index = 0; Treal* value_buf = (Treal*)&(int_buf[ib_length]); this->matrixPtr->read_from_buffer(&int_buf[3], ib_length - 3, value_buf, vb_length, ib_index, vb_index); } else { throw Failure("MatrixBase::read_from_buffer: Wrong matrix type"); } } } /* end namespace mat */ #endif ergo-3.5/source/matrix/SizesAndBlocks.cc0000664000175000017500000000654212743400307015240 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "SizesAndBlocks.h" namespace mat{ SizesAndBlocks::SizesAndBlocks(SizesAndBlocks const & other) : blockSizes(other.blockSizes), nBlocks(other.nBlocks), nScalars(other.nScalars), offset(other.offset), nTotalScalars(other.nTotalScalars) {} SizesAndBlocks& SizesAndBlocks::operator= (SizesAndBlocks const & other) { nBlocks = other.nBlocks; nScalars = other.nScalars; offset = other.offset; nTotalScalars = other.nTotalScalars; blockSizes = other.blockSizes; return *this; } bool SizesAndBlocks::operator==(SizesAndBlocks const & other) const { bool isEqual = (blockSizes.size() == other.blockSizes.size()) && (nBlocks == other.nBlocks) && (nScalars == other.nScalars) && (offset == other.offset) && (nTotalScalars == other.nTotalScalars); if (isEqual) for (unsigned int i = 0; i < blockSizes.size(); i++) isEqual = isEqual && (blockSizes[i] == other.blockSizes[i]); return isEqual; } SizesAndBlocks SizesAndBlocks:: getSizesAndBlocksForLowerLevel(int const blockNumber) const { assert(blockSizes.size() > 1); int nScalLowLev; if ((blockNumber+1) * blockSizes[0] > nScalars) nScalLowLev = nScalars - blockNumber * blockSizes[0]; else nScalLowLev = blockSizes[0]; std::vector nextBlockSizes(blockSizes.begin() + 1, blockSizes.end()); assert(offset + blockNumber * blockSizes[0] + nScalLowLev <= nTotalScalars); return SizesAndBlocks(nextBlockSizes, nScalLowLev, offset + blockNumber * blockSizes[0], nTotalScalars); } void SizesAndBlocks:: getBlockSizeVector(std::vector & blockSizesCopy) const { blockSizesCopy = blockSizes; } void SizesAndBlocks::setup(std::vector const & blockSizesInp) { blockSizes = blockSizesInp; assert(!blockSizes.empty()); assert(blockSizes[blockSizes.size()-1]); for (unsigned int ind = 0; ind < blockSizes.size()-1; ind++) assert(blockSizes[ind] >= blockSizes[ind+1]); nBlocks = nScalars/blockSizes[0]; /* Integer division. */ if (nScalars%blockSizes[0]) ++nBlocks; } } /* end namespace mat */ ergo-3.5/source/matrix/test.sh0000775000175000017500000000255412743400275013374 00000000000000#!/bin/sh if test "$top_builddir" = ""; then top_builddir=.. fi if test "$top_srcdir" = ""; then top_srcdir=.. fi # Prefer gawk - we know exactly what it can do. # awk on Sun does not support functions, need to use nawk for this if gawk '{print 1}' /dev/null 2>&1; then AWK=gawk elif nawk '{print 1}' /dev/null 2>&1; then AWK=nawk else AWK=awk fi echo Testing code sensitive for some compilers when OpenMP is used "$top_builddir"/source/matrix/omptest if [ $? -eq 0 ] then echo OpenMP test OK else echo ERROR in OpenMP test exit 1 fi echo echo Testing matrix library "$top_builddir"/source/matrix/mattest "$top_srcdir"/source/matrix if [ $? -eq 0 ] then echo All matrix library tests OK else echo ERROR in matrix library test exit 1 fi if [ "$RUN_BENCHMARK" = "1" ] then echo echo Benchmark of matrix library: "$top_builddir"/source/matrix/matbench 1000 if [ $? -eq 0 ] then echo Benchmark returned OK else echo ERROR in matrix library benchmark exit 1 fi echo Running BLAS benchmark, result in file blastime.m "$top_builddir"/source/matrix/blastime 100 blastime.m if [ $? -eq 0 ] then echo BLAS benchmark returned OK else echo ERROR in BLAS benchmark exit 1 fi else echo Skipping matrix library benchmark echo To run benchmark, run check as: make check RUN_BENCHMARK=1 fi ergo-3.5/source/matrix/natoms_size.txt0000664000175000017500000000001412743400275015137 0000000000000073 237 155 ergo-3.5/source/matrix/LanczosSeveralLargestEig.h0000664000175000017500000003274412743400307017131 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file LanczosSeveralLargestEig.h Class for computing several largest * (note: not by magnitude) eigenvalues of a symmetric matrix with the Lanczos method. * * Copyright(c) Anastasia Kruchinina 2015 * * @author Anastasia Kruchinina * @date December 2015 * */ #ifndef MAT_LANCZOSSEVERALLARGESTMAGNITUDEEIG #define MAT_LANCZOSSEVERALLARGESTMAGNITUDEEIG #include #include namespace mat { /* Matrix namespace */ namespace arn { /* Arnoldi type methods namespace */ template class LanczosSeveralLargestEig { public: // AA - matrix // startVec - starting guess vector // num_eigs - number of eigenvalues to compute // maxIter(100) - number of iterations // cap(100) - estimated number of vectors in the Krylov subspace, will be increased if needed automatically // deflVec_(NULL) - (deflation) vector corresponding to an uninteresting eigenvalue // sigma_(0) - (deflation) shift of an uninteresting eigenvalue (to put it in the uninteresting part of the spectrum) LanczosSeveralLargestEig(Tmatrix const & AA, Tvector const & startVec, int num_eigs, int maxit = 100, int cap = 100, Tvector * deflVec_ = NULL, Treal sigma_ = 0) : A(AA), v(new Tvector[cap]), eigVectorTri(0), capacity(cap), j(0), maxIter(maxit), eValTmp(0), accTmp(0), number_of_eigenv(num_eigs), alpha(0), beta(0), use_selective_orth(true), use_full_orth(false), counter_all(0), counter_orth(0), deflVec(deflVec_), sigma(sigma_) { assert(cap > 1); Treal const ONE = 1.0; v[0] = startVec; if(v[0].eucl() < template_blas_sqrt(getRelPrecision())) { v[0].rand(); } v[0] *= (ONE / v[0].eucl()); r = v[0]; if(number_of_eigenv == 1) {unset_use_full_orth(); unset_use_selective_orth();} } // Absolute and relative tolerances // Absolute accuracy is measured by the residual ||Ax-lambda*x|| // Realtive accuracy is measured by the relative residual ||Ax-lambda*x||/|lambda| void setRelTol(Treal const newTol) { relTol = newTol; } void setAbsTol(Treal const newTol) { absTol = newTol; } void set_use_selective_orth(){ use_selective_orth = true; } void set_use_full_orth(){ use_full_orth = true; } void unset_use_selective_orth(){ use_selective_orth = false; } void unset_use_full_orth(){ use_full_orth = false; } virtual void run() { do { if(j > 1 && use_selective_orth) selective_orth(); step(); update(); if (j > maxIter) throw AcceptableMaxIter("Lanczos::run() did not converge within maxIter"); } while (!converged()); } // i is a number of eigenvalue (1 is the largest, 2 is the second largest and so on) virtual void get_ith_eigenpair(int i, Treal& eigVal, Tvector& eigVec, Treal & acc) { assert(i > 0); assert(i <= size_accTmp); eigVal = eValTmp[size_accTmp - i]; // array assert(eigVectorTri); getEigVector(eigVec, &eigVectorTri[j * (size_accTmp - i)]); acc = accTmp[size_accTmp - i]; } int get_num_iter() const{ return j;} virtual ~LanczosSeveralLargestEig() { if(use_selective_orth) printf("Orthogonalized %d of total possible %d, this is %lf %%\n", counter_orth, counter_all, (double)counter_orth/counter_all*100); delete[] eigVectorTri; delete[] eValTmp; delete[] accTmp; delete[] v; } inline void copyTridiag(MatrixTridiagSymmetric & Tricopy) { Tricopy = Tri; } protected: Tmatrix const & A; Tvector* v; /** Vectors spanning Krylov subspace. * In step j: Vectors 0 : j-2 is on file * Vectors j-1 : j is in memory */ Tvector r; /** Residual vector */ MatrixTridiagSymmetric Tri; Treal* eigVectorTri; // Eigenvectors of the tridiagonal matrix int capacity; int j; /** Current step */ int maxIter; void increaseCapacity(int const newCapacity); void getEigVector(Tvector& eigVec, Treal const * const eVecTri) const; Treal absTol; Treal relTol; virtual void step(); virtual void computeEigenPairTri(); virtual void update() { computeEigenPairTri(); } void selective_orth(); virtual bool converged() const; virtual bool converged_ith(int i) const; Treal* eValTmp; // current computed eigenvalues (less or equal to number_of_eigenv) Treal* accTmp; // residuals int number_of_eigenv; // eigenvalues are saved in the decreasing order, thus the largest one has index 1 int size_accTmp; // size of accTmp (number of computed eigenvalues of the matrix T) private: Treal alpha; Treal beta; bool use_selective_orth; bool use_full_orth; int counter_all; int counter_orth; // if deflation is used Tvector * deflVec; Treal sigma; }; template void LanczosSeveralLargestEig:: selective_orth() { int j_curr = j-1; Treal coeff = 0, res; Treal normT = 0; // spectral norm of T (since norm of A is not available) // find largest by absolute value eigenvalue of T for(int i = 0; i <= j_curr; ++i) if(template_blas_fabs(eValTmp[i]) > normT) normT = template_blas_fabs(eValTmp[i]); Treal epsilon = std::numeric_limits::epsilon(); Tvector tmp; tmp = v[j_curr+1]; tmp *= beta; // return non-normalized value for(int i = j_curr; i >= 0; --i) { counter_all++; // get residual for this eigenpair res = accTmp[i]; Treal tol = std::sqrt(epsilon) * normT; if(res <= tol) // b_{j} * |VT_i(j)| <= sqrt(eps) * norm(A), but we do not have norm(A) { counter_orth++; Tvector eigVec; getEigVector(eigVec, &eigVectorTri[j_curr * i]); // y = U*VT(:, i); % ith Ritz vector coeff = transpose(eigVec) * tmp; tmp += (-coeff) * (eigVec); // v = v - (y'*v)*y } } v[j_curr+1] = tmp; beta = v[j_curr+1].eucl(); // update beta Treal const ONE = 1.0; v[j_curr+1] *= ONE / beta; // normalized Tri.update_beta(beta); /* /\* // check orthogonality *\/ */ /* try */ /* { */ /* for(int k = 0; k < j_curr; ++k) */ /* { */ /* v[k].readFromFile(); */ /* Treal val = transpose(v[k]) * v[j_curr+1]; */ /* std::cout << val << ", "; */ /* v[k].writeToFile(); */ /* } */ /* std::cout << std::endl; */ /* } */ /* catch(const std::exception &e) */ /* { */ /* std::cout << "Exception: " << e.what() << std::endl; */ /* } */ } template void LanczosSeveralLargestEig:: step() { if (j + 1 >= capacity) increaseCapacity(capacity * 2); Treal const ONE = 1.0; A.matVecProd(r, v[j]); // r = A * v[j] alpha = transpose(v[j]) * r; // alpha = v[j]'*A*v[j] /* If one wants to use deflation with vector x_1:=deflVec (usually it is an eigenvector corresponding to an eigenvalue lambda_1 of A) and thus compute eigenvalues of the matrix An = A-sigma*x_1*x_1' Note: if lambga_i are eigenvalues of A corresponding to x_i, then An will have eigenvalues (lambda_1-sigma, lambda_2, ..., lambda_N) and unchanged eigenvectors x_i. */ if(deflVec != NULL) { /* r = (A*vj - sigma*(x_1'*vj)*x_1) - alpha*vj - beta*v{j-1} where alpha = vj'*An*vj = vj'*A*vj - sigma * (x_1'*vj)^2 */ Treal gamma = transpose(*deflVec) * v[j]; // dot product x' * v_j alpha -= sigma*gamma*gamma; r += (-sigma*gamma) * (*deflVec); } r += (-alpha) * v[j]; if (j) { r += (-beta) * v[j-1]; v[j-1].writeToFile(); } if(use_full_orth) { // full orthogonalization // r = r - (q_1'*r)*q_1 - ... - (q_{j-1}'*r)*q_{j-1} Treal gamma_i = 0; Tvector tmp; tmp = r; for(int i = 0; i < j; ++i ) { v[i].readFromFile(); gamma_i = transpose(tmp) * v[i]; // r'*v_i r += (-gamma_i) * v[i]; // (r'*vi) * v_i v[i].writeToFile(); } tmp.clear(); } beta = r.eucl(); v[j+1] = r; v[j+1] *= ONE / beta; Tri.increase(alpha, beta); /* /\* // check orthogonality *\/ */ /* try */ /* { */ /* for(int k = 0; k < j; ++k) */ /* { */ /* v[k].readFromFile(); */ /* Treal val = transpose(v[k]) * v[j+1]; */ /* std::cout << val << ", "; */ /* v[k].writeToFile(); */ /* } */ /* std::cout << std::endl << "-----" << std::endl; */ /* } */ /* catch(const std::exception &e) */ /* { */ /* std::cout << "Exception: " << e.what() << std::endl; */ /* } */ j++; } /* Compute eigenvectors of the tridiagonal matrix */ template void LanczosSeveralLargestEig:: computeEigenPairTri() { if( eigVectorTri != NULL ) delete[] eigVectorTri; if( accTmp != NULL ) delete[] accTmp; if( eValTmp != NULL ) delete[] eValTmp; int num_compute_eigenvalues; if(use_selective_orth) num_compute_eigenvalues = j; // we need all eigenvectors of T else num_compute_eigenvalues = number_of_eigenv; // it is enough just number_of_eigenv of T /* Get largest eigenvalues */ int const max_ind = j-1; // eigenvalue count starts with 0 int const min_ind = std::max(j - num_compute_eigenvalues, 0); Treal* eigVectors = new Treal[j * num_compute_eigenvalues]; // every vector of size j Treal* eigVals = new Treal[num_compute_eigenvalues]; Treal* accMax = new Treal[num_compute_eigenvalues]; assert(eigVectors != NULL); assert(eigVals != NULL); assert(accMax != NULL); Tri.getEigsByIndex(eigVals, eigVectors, accMax, min_ind, max_ind); eValTmp = eigVals; eigVectorTri = eigVectors; accTmp = accMax; size_accTmp = num_compute_eigenvalues; // set unused pointers to NULL eigVectors = NULL; eigVals = NULL; accMax = NULL; } /* FIXME: If several eigenvectors are needed it is more optimal to * compute all of them at once since then the krylov subspace vectors * only need to be read from memory once. */ template void LanczosSeveralLargestEig:: getEigVector(Tvector& eigVec, Treal const * const eVecTri) const { if (j <= 1) { eigVec = v[0]; } else { v[0].readFromFile(); eigVec = v[0]; v[0].writeToFile(); } eigVec *= eVecTri[0]; for (int ind = 1; ind <= j - 2; ++ind) { v[ind].readFromFile(); eigVec += eVecTri[ind] * v[ind]; v[ind].writeToFile(); } eigVec += eVecTri[j-1] * v[j-1]; // normalized Treal norm_eigVec = eigVec.eucl(); Treal const ONE = 1.0; eigVec *= ONE / norm_eigVec; } // we want lowest eigenvalue to converge template bool LanczosSeveralLargestEig:: converged() const { if(j < number_of_eigenv) return false; bool conv = converged_ith(number_of_eigenv); // if the last needed eigenvalue converged return conv; } // check convergence of ith eigenpair template bool LanczosSeveralLargestEig:: converged_ith(int i) const { assert(size_accTmp >= i); bool conv = accTmp[size_accTmp - i] < absTol; /* Absolute accuracy */ if (template_blas_fabs(eValTmp[size_accTmp - i]) > 0) { conv = conv && accTmp[size_accTmp - i] / template_blas_fabs(eValTmp[size_accTmp - i]) < relTol; /* Relative acc.*/ } return conv; } template void LanczosSeveralLargestEig:: increaseCapacity(int const newCapacity) { assert(newCapacity > capacity); assert(j > 0); capacity = newCapacity; Tvector* new_v = new Tvector[capacity]; assert(new_v != NULL); /* FIXME: Fix so that file is copied when operator= is called in Vector * class */ for (int ind = 0; ind <= j - 2; ind++){ v[ind].readFromFile(); new_v[ind] = v[ind]; new_v[ind].writeToFile(); } for (int ind = j - 1; ind <= j; ind++){ new_v[ind] = v[ind]; } delete[] v; v = new_v; } } /* end namespace arn */ } /* end namespace mat */ #endif ergo-3.5/source/matrix/MatrixTriangular.h0000664000175000017500000002401012743400307015507 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file MatrixTriangular.h Triangular matrix class * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson @a responsible @a author * @date January 2006 * */ #ifndef MAT_MATRIXTRIANGULAR #define MAT_MATRIXTRIANGULAR #include #include "MatrixBase.h" namespace mat { /** Upper non-unit triangular matrix * * * This class belongs to the matrix API * * Treal: Type for real numbers * * Tmatrix: The matrix class * * @see MatrixBase * @see MatrixGeneral * @see MatrixSymmetric * * */ template class MatrixTriangular : public MatrixBase { public: typedef VectorGeneral VectorType; MatrixTriangular() :MatrixBase() {} /**< Default constructor */ explicit MatrixTriangular(const MatrixTriangular& tri) :MatrixBase(tri) {} /**< Copy constructor */ MatrixTriangular& operator=(const MatrixTriangular& tri) { MatrixBase::operator=(tri); return *this; } inline MatrixTriangular& operator=(int const k) { *this->matrixPtr = k; return *this; } /**< Set matrix to zero or identity: A = 0 or A = 1 * * Only zero and one are valid arguments. * * */ inline void assign_from_sparse (std::vector const & rowind, std::vector const & colind, std::vector const & values, SizesAndBlocks const & newRows, SizesAndBlocks const & newCols) { this->resetSizesAndBlocks(newRows, newCols); this->matrixPtr->syAssignFromSparse(rowind, colind, values); } /**< Assign from sparse matrix given by three vectors. * The vectors contain row indices, column indices and values. * The indices start at zero. * The elements to be added must be in upper triangle. * Information about sizes and blocks for rows as well as columns * must also be given. * @warning All indexing start at zero. */ /** Add given set of values to the matrix (+=). * The values should be in upper triangle. */ inline void add_values (std::vector const & rowind, std::vector const & colind, std::vector const & values) { this->matrixPtr->syAddValues(rowind, colind, values); } inline void get_values (std::vector const & rowind, std::vector const & colind, std::vector & values) const { this->matrixPtr->syGetValues(rowind, colind, values); } /**< Get values given by row and column index lists. * Input arrays contain row and column indices. * The wanted elements must in upper triangle. * The output array contains values for the given indices. * @warning All indexing start at zero. */ inline void get_all_values (std::vector & rowind, std::vector & colind, std::vector & values) const { rowind.resize(0); colind.resize(0); values.resize(0); rowind.reserve(nnz()); colind.reserve(nnz()); values.reserve(nnz()); this->matrixPtr->syGetAllValues(rowind, colind, values); } /**< Get all values and corresponding row and column index lists, * in matrix. Only upper triangle values are returned. * @warning All indexing start at zero. */ #if 0 inline void fullmatrix(Treal* const full, int const size) const { this->matrixPtr->fullmatrix(full, size, size); } /* FIXME? Should triangular matrix always have zeros below diagonal? */ #endif inline void inch(const MatrixGeneral& SPD, const Treal threshold, const side looking = left, const inchversion version = unstable) { Tmatrix::inch(*SPD.matrixPtr, *this->matrixPtr, threshold, looking, version); } inline void inch(const MatrixSymmetric& SPD, const Treal threshold, const side looking = left, const inchversion version = unstable) { this->matrixPtr.haveDataStructureSet(true); Tmatrix::syInch(*SPD.matrixPtr, *this->matrixPtr, threshold, looking, version); } void thresh(Treal const threshold, normType const norm); inline Treal frob() const { return this->matrixPtr->frob(); } Treal eucl(Treal const requestedAccuracy, int maxIter = -1) const; Treal eucl_thresh(Treal const threshold); Treal eucl_thresh_congr_trans_measure(Treal const threshold, MatrixSymmetric & trA); inline void frob_thresh(Treal threshold) { this->matrixPtr->frob_thresh(threshold); } inline size_t nnz() const { /* Note: size_t instead of int here to avoid integer overflow. */ return this->matrixPtr->nnz(); } inline size_t nvalues() const { /* Note: size_t instead of int here to avoid integer overflow. */ return this->matrixPtr->nvalues(); } inline void write_to_buffer(void* buffer, const int n_bytes) const { this->write_to_buffer_base(buffer, n_bytes, matrix_triang); } inline void read_from_buffer(void* buffer, const int n_bytes) { this->read_from_buffer_base(buffer, n_bytes, matrix_triang); } void random() { this->matrixPtr->syRandom(); } /** Uses rule depending on the row and column indexes to set matrix elements * The Trule class should have the function "Treal = set(int row,int col)" * which is used to set the elements. */ template void setElementsByRule(TRule & rule) { this->matrixPtr->trSetElementsByRule(rule); return; } /** B += alpha * A */ MatrixTriangular& operator+= (XY > const & sm); std::string obj_type_id() const {return "MatrixTriangular";} protected: inline void writeToFileProt(std::ofstream & file) const { this->writeToFileBase(file, matrix_triang); } inline void readFromFileProt(std::ifstream & file) { this->readFromFileBase(file, matrix_triang); } private: }; /* B += alpha * A */ template inline MatrixTriangular& MatrixTriangular::operator+= (XY > const & sm) { assert(!sm.tB); Tmatrix::add(sm.A, *sm.B.matrixPtr, *this->matrixPtr); return *this; } template void MatrixTriangular:: thresh(Treal const threshold, normType const norm) { switch (norm) { case frobNorm: this->frob_thresh(threshold); break; default: throw Failure("MatrixTriangular::" "thresh(Treal const, " "normType const): " "Thresholding not imlpemented for selected norm"); } } template Treal MatrixTriangular:: eucl(Treal const requestedAccuracy, int maxIter) const { VectorType guess; SizesAndBlocks cols; this->getCols(cols); guess.resetSizesAndBlocks(cols); guess.rand(); mat::ATAMatrix, Treal> ztz(*this); if (maxIter < 0) maxIter = this->get_nrows() * 100; arn::LanczosLargestMagnitudeEig , Treal>, VectorType> lan(ztz, guess, maxIter); lan.setRelTol( 100 * std::numeric_limits::epsilon() ); lan.run(); Treal eVal = 0; Treal acc = 0; lan.getLargestMagnitudeEig(eVal, acc); Interval euclInt( template_blas_sqrt(eVal-acc), template_blas_sqrt(eVal+acc) ); if ( euclInt.low() < 0 ) euclInt = Interval( 0, template_blas_sqrt(eVal+acc) ); if ( euclInt.length() / 2.0 > requestedAccuracy ) { std::cout << "req: " << requestedAccuracy << " obt: " << euclInt.length() / 2.0 << std::endl; throw std::runtime_error("Desired accuracy not obtained in Lanczos."); } return euclInt.midPoint(); } #if 1 template Treal MatrixTriangular:: eucl_thresh(Treal const threshold) { EuclTruncationGeneral, Treal> TruncObj( *this ); return TruncObj.run( threshold ); } #endif template Treal MatrixTriangular:: eucl_thresh_congr_trans_measure(Treal const threshold, MatrixSymmetric & trA) { EuclTruncationCongrTransMeasure, MatrixSymmetric, Treal> TruncObj(*this, trA); return TruncObj.run( threshold ); } } /* end namespace mat */ #endif ergo-3.5/source/matrix/MatrixGeneral.h0000664000175000017500000007634012743400307014771 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file MatrixGeneral.h General matrix class * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson @a responsible @a author * @date January 2006 * */ #ifndef MAT_MATRIXGENERAL #define MAT_MATRIXGENERAL #include "MatrixBase.h" namespace mat { /** Normal matrix * * This class belongs to the matrix API * * * Treal: Type for real numbers * * Tmatrix: The matrix class * * Tperm: Permutation used in the matrix class * * @see MatrixBase * @see MatrixSymmetric * @see MatrixTriangular * */ template class MatrixGeneral : public MatrixBase { public: typedef VectorGeneral VectorType; MatrixGeneral() :MatrixBase() {} /**< Default constructor */ explicit MatrixGeneral(const MatrixGeneral& matr) :MatrixBase(matr) {} /**< Copy constructor */ explicit MatrixGeneral(const MatrixSymmetric& symm) :MatrixBase(symm) { this->matrixPtr->symToNosym(); }/**< Copy from symmetric matrix constructor */ explicit MatrixGeneral(const MatrixTriangular& triang) :MatrixBase(triang) {} /**< Copy from triangular matrix constructor */ #if 0 template inline void assign_from_full (Tfull const* const fullmatrix, const int totnrows, const int totncols) { this->matrixPtr->assign_from_full(fullmatrix, totnrows, totncols); } inline void assign_from_full (Treal const* const fullmatrix, const int totnrows, const int totncols) { this->matrixPtr->assign_from_full(fullmatrix, totnrows, totncols); } #endif inline void assignFromFull (std::vector const & fullMat) { assert((int)fullMat.size() == this->get_nrows() * this->get_ncols()); this->matrixPtr->assignFromFull(fullMat); } inline void fullMatrix(std::vector & fullMat) const { this->matrixPtr->fullMatrix(fullMat); } inline void fullMatrix (std::vector & fullMat, std::vector const & rowInversePermutation, std::vector const & colInversePermutation) const { std::vector rowind; std::vector colind; std::vector values; get_all_values(rowind, colind, values, rowInversePermutation, colInversePermutation); fullMat.assign(this->get_nrows()*this->get_ncols(),0); for (unsigned int ind = 0; ind < values.size(); ++ind) fullMat[rowind[ind] + this->get_nrows() * colind[ind]] = values[ind]; } /**< Save matrix as full matrix. * Whole matrix is written in columnwise order. * Both lower and upper triangle. * Permutation is used. */ inline void assign_from_sparse (std::vector const & rowind, std::vector const & colind, std::vector const & values, SizesAndBlocks const & newRows, SizesAndBlocks const & newCols) { this->resetSizesAndBlocks(newRows, newCols); this->matrixPtr->assignFromSparse(rowind, colind, values); } /**< Assign from sparse matrix given by three arrays. * The arrays contain row indices, column indices and values. * The indices start at zero. * nval is the length of the three arrays. * @warning All indexing start at zero. */ inline void assign_from_sparse (std::vector const & rowind, std::vector const & colind, std::vector const & values, std::vector const & rowPermutation, std::vector const & colPermutation) { std::vector newRowind; std::vector newColind; MatrixBase:: getPermutedIndexes(rowind, rowPermutation, newRowind); MatrixBase:: getPermutedIndexes(colind, colPermutation, newColind); this->matrixPtr->assignFromSparse(newRowind, newColind, values); } /**< Same as above, except taking two additional arguments * specifying the permutation of rows and columns. * Also assuming that sizes and blocks are already known */ inline void assign_from_sparse (std::vector const & rowind, std::vector const & colind, std::vector const & values, SizesAndBlocks const & newRows, SizesAndBlocks const & newCols, std::vector const & rowPermutation, std::vector const & colPermutation) { this->resetSizesAndBlocks(newRows, newCols); assign_from_sparse(rowind, colind, values, rowPermutation, colPermutation); } /**< Same as above, except not assuming that sizes and blocks are set. */ inline void get_values (std::vector const & rowind, std::vector const & colind, std::vector & values) const { this->matrixPtr->getValues(rowind, colind, values); } /**< Get values given by row and column index lists. * Input arrays contain row and column indices. * The output array contains values for the given indices. * nval is the length of the three arrays. * @warning All indexing start at zero. */ inline void get_values (std::vector const & rowind, std::vector const & colind, std::vector & values, std::vector const & rowPermutation, std::vector const & colPermutation) const { std::vector newRowind; std::vector newColind; MatrixBase:: getPermutedIndexes(rowind, rowPermutation, newRowind); MatrixBase:: getPermutedIndexes(colind, colPermutation, newColind); this->matrixPtr->getValues(newRowind, newColind, values); } /**< Same as above, except taking two additional arguments * specifying the permutation of rows and columns. */ inline void get_all_values (std::vector & rowind, std::vector & colind, std::vector & values) const { rowind.resize(0); colind.resize(0); values.resize(0); this->matrixPtr->getAllValues(rowind, colind, values); } /**< Get all values and corresponding row and column index lists, * in matrix. * nval is the length of the three arrays and is preferably * computed with nvalues() before hand. * Returns the number of values. * @see nvalues() * @warning All indexing start at zero. */ inline void get_all_values (std::vector & rowind, std::vector & colind, std::vector & values, std::vector const & rowInversePermutation, std::vector const & colInversePermutation) const { std::vector tmpRowind; std::vector tmpColind; tmpRowind.reserve(rowind.capacity()); tmpColind.reserve(colind.capacity()); values.resize(0); this->matrixPtr->getAllValues(tmpRowind, tmpColind, values); MatrixBase:: getPermutedIndexes(tmpRowind, rowInversePermutation, rowind); MatrixBase:: getPermutedIndexes(tmpColind, colInversePermutation, colind); } /**< Same as above, except taking two additional arguments * specifying the permutation of rows and columns. * Note, however, that this permutation is the inverse * permutation compared to the permutations provided in the * functions "assign_from_sparse", "add_values", and "get_values" * @warning permutation is inverse compared to other functions */ #if 0 inline void fullmatrix(Treal* const full, const int totnrows, const int totncols) const { this->matrixPtr->fullmatrix(full, totnrows, totncols); } #endif MatrixGeneral& operator=(const MatrixGeneral& mat) { MatrixBase::operator=(mat); return *this; } inline MatrixGeneral& operator=(const Xtrans >& mt) { if (mt.tA) MatrixBase::operator=(transpose(mt.A)); else MatrixBase::operator=(mt.A); return *this; } MatrixGeneral& operator=(const MatrixSymmetric& symm) { MatrixBase::operator=(symm); this->matrixPtr->symToNosym(); return *this; } MatrixGeneral& operator=(const MatrixTriangular& triang) { MatrixBase::operator=(triang); return *this; } inline MatrixGeneral& operator=(int const k) { *this->matrixPtr = k; return *this; } inline Treal frob() const { return this->matrixPtr->frob(); } static inline Treal frob_diff (const MatrixGeneral& A, const MatrixGeneral& B) { return Tmatrix::frobDiff(*A.matrixPtr, *B.matrixPtr); } Treal eucl(Treal const requestedAccuracy, int maxIter = -1) const; void thresh(Treal const threshold, normType const norm); inline void frob_thresh(Treal threshold) { this->matrixPtr->frob_thresh(threshold); } Treal eucl_thresh(Treal const threshold); inline void gershgorin(Treal& lmin, Treal& lmax) { this->matrixPtr->gershgorin(lmin, lmax); } static inline Treal trace_ab (const MatrixGeneral& A, const MatrixGeneral& B) { return Tmatrix::trace_ab(*A.matrixPtr, *B.matrixPtr); } static inline Treal trace_aTb (const MatrixGeneral& A, const MatrixGeneral& B) { return Tmatrix::trace_aTb(*A.matrixPtr, *B.matrixPtr); } inline size_t nnz() const { /* Note: size_t instead of int here to avoid integer overflow. */ return this->matrixPtr->nnz(); } inline size_t nvalues() const { /* Note: size_t instead of int here to avoid integer overflow. */ return this->matrixPtr->nvalues(); } inline void write_to_buffer(void* buffer, const int n_bytes) const { this->write_to_buffer_base(buffer, n_bytes, matrix_matr); } inline void read_from_buffer(void* buffer, const int n_bytes) { this->read_from_buffer_base(buffer, n_bytes, matrix_matr); } /* OPERATIONS ONLY INVOLVING ORDINARY MATRICES */ /** C = alpha * op(A) * op(B) */ MatrixGeneral& operator= (const XYZ, MatrixGeneral >& smm); /** C = op(A) * op(B) */ MatrixGeneral& operator= (const XY, MatrixGeneral >& mm); /** C += alpha * op(A) * op(B) */ MatrixGeneral& operator+= (const XYZ, MatrixGeneral >& smm); /** C = alpha * op(A) * op(B) + beta * C */ MatrixGeneral& operator= (const XYZpUV, MatrixGeneral, Treal, MatrixGeneral >& smmpsm); /** C = A + B */ MatrixGeneral& operator= (XpY, MatrixGeneral > const & mpm); /** B += A */ MatrixGeneral& operator+= (MatrixGeneral const & A); MatrixGeneral& operator-= (MatrixGeneral const & A); /** B += alpha * A */ MatrixGeneral& operator+= (XY > const & sm); /* OPERATIONS INVOLVING SYMMETRIC MATRICES */ /** C = alpha * A * B : A is symmetric */ MatrixGeneral& operator= (const XYZ, MatrixGeneral >& smm); /** C = A * B : A is symmetric */ MatrixGeneral& operator= (const XY, MatrixGeneral >& mm); /** C += alpha * A * B : A is symmetric */ MatrixGeneral& operator+= (const XYZ, MatrixGeneral >& smm); /** C = alpha * A * B + beta * C : A is symmetric */ MatrixGeneral& operator= (const XYZpUV, MatrixGeneral, Treal, MatrixGeneral >& smmpsm); /** C = alpha * B * A : A is symmetric */ MatrixGeneral& operator= (const XYZ, MatrixSymmetric >& smm); /** C = B * A : A is symmetric */ MatrixGeneral& operator= (const XY, MatrixSymmetric >& mm); /** C += alpha * B * A : A is symmetric */ MatrixGeneral& operator+= (const XYZ, MatrixSymmetric >& smm); /** C = alpha * B * A + beta * C : A is symmetric */ MatrixGeneral& operator= (const XYZpUV, MatrixSymmetric, Treal, MatrixGeneral >& smmpsm); /** C = alpha * A * B : A and B are symmetric */ MatrixGeneral& operator= (const XYZ, MatrixSymmetric >& smm); /** C = A * B : A and B are symmetric */ MatrixGeneral& operator= (const XY, MatrixSymmetric >& mm); /** C += alpha * A * B : A and B are symmetric */ MatrixGeneral& operator+= (const XYZ, MatrixSymmetric >& smm); /** C = alpha * A * B + beta * C : A and B are symmetric */ MatrixGeneral& operator= (const XYZpUV, MatrixSymmetric, Treal, MatrixGeneral >& smmpsm); /* OPERATIONS INVOLVING UPPER TRIANGULAR MATRICES */ /** B = alpha * op(A) * B : A is upper triangular */ MatrixGeneral& operator= (const XYZ, MatrixGeneral >& smm); /** B = alpha * B * op(A) : A is upper triangular */ MatrixGeneral& operator= (const XYZ, MatrixTriangular >& smm); void random() { this->matrixPtr->random(); } void randomZeroStructure(Treal probabilityBeingZero) { this->matrixPtr->randomZeroStructure(probabilityBeingZero); } template void setElementsByRule(TRule & rule) { this->matrixPtr->setElementsByRule(rule); return; } std::string obj_type_id() const {return "MatrixGeneral";} protected: inline void writeToFileProt(std::ofstream & file) const { this->writeToFileBase(file, matrix_matr); } inline void readFromFileProt(std::ifstream & file) { this->readFromFileBase(file, matrix_matr); } private: }; template Treal MatrixGeneral:: eucl(Treal const requestedAccuracy, int maxIter) const { VectorType guess; SizesAndBlocks cols; this->getCols(cols); guess.resetSizesAndBlocks(cols); guess.rand(); mat::ATAMatrix, Treal> ata(*this); if (maxIter < 0) maxIter = this->get_nrows() * 100; arn::LanczosLargestMagnitudeEig , Treal>, VectorType> lan(ata, guess, maxIter); lan.setRelTol( 100 * std::numeric_limits::epsilon() ); lan.run(); Treal eVal = 0; Treal acc = 0; lan.getLargestMagnitudeEig(eVal, acc); Interval euclInt( sqrt(eVal-acc), sqrt(eVal+acc) ); if ( euclInt.low() < 0 ) euclInt = Interval( 0, sqrt(eVal+acc) ); if ( euclInt.length() / 2.0 > requestedAccuracy ) { std::cout << "req: " << requestedAccuracy << " obt: " << euclInt.length() / 2.0 << std::endl; throw std::runtime_error("Desired accuracy not obtained in Lanczos."); } return euclInt.midPoint(); } template void MatrixGeneral:: thresh(Treal const threshold, normType const norm) { switch (norm) { case frobNorm: this->frob_thresh(threshold); break; default: throw Failure("MatrixGeneral::" "thresh(Treal const, " "normType const): " "Thresholding not imlpemented for selected norm"); } } template Treal MatrixGeneral:: eucl_thresh(Treal const threshold) { EuclTruncationGeneral, Treal> TruncObj( *this ); return TruncObj.run( threshold ); } /* OPERATIONS ONLY INVOLVING ORDINARY MATRICES */ /* C = alpha * op(A) * op(B) */ template MatrixGeneral& MatrixGeneral::operator= (const XYZ, MatrixGeneral >& smm) { assert(this != &smm.B && this != &smm.C); this->matrixPtr.haveDataStructureSet(true); Tmatrix::gemm(smm.tB, smm.tC, smm.A, *smm.B.matrixPtr, *smm.C.matrixPtr, 0, *this->matrixPtr); return *this; } /* C = op(A) * op(B) */ template MatrixGeneral& MatrixGeneral::operator= (const XY, MatrixGeneral >& mm) { assert(this != &mm.A && this != &mm.B); Tmatrix::gemm(mm.tA, mm.tB, 1.0, *mm.A.matrixPtr, *mm.B.matrixPtr, 0, *this->matrixPtr); return *this; } /* C += alpha * op(A) * op(B) */ template MatrixGeneral& MatrixGeneral::operator+= (const XYZ, MatrixGeneral >& smm) { assert(this != &smm.B && this != &smm.C); Tmatrix::gemm(smm.tB, smm.tC, smm.A, *smm.B.matrixPtr, *smm.C.matrixPtr, 1, *this->matrixPtr); return *this; } /* C = alpha * op(A) * op(B) + beta * C */ template MatrixGeneral& MatrixGeneral::operator= (const XYZpUV, MatrixGeneral, Treal, MatrixGeneral >& smmpsm) { assert(this != &smmpsm.B && this != &smmpsm.C); assert(!smmpsm.tE); if (this == &smmpsm.E) Tmatrix::gemm(smmpsm.tB, smmpsm.tC, smmpsm.A, *smmpsm.B.matrixPtr, *smmpsm.C.matrixPtr, smmpsm.D, *this->matrixPtr); else throw Failure("MatrixGeneral::operator=" "(const XYZpUV >&) : D = alpha " "* op(A) * op(B) + beta * C not supported for C != D"); return *this; } /* C = A + B */ template inline MatrixGeneral& MatrixGeneral::operator= (const XpY, MatrixGeneral >& mpm) { assert(this != &mpm.A); (*this) = mpm.B; Tmatrix::add(1.0, *mpm.A.matrixPtr, *this->matrixPtr); return *this; } /* B += A */ template inline MatrixGeneral& MatrixGeneral::operator+= (MatrixGeneral const & A) { Tmatrix::add(1.0, *A.matrixPtr, *this->matrixPtr); return *this; } /* B -= A */ template inline MatrixGeneral& MatrixGeneral::operator-= (MatrixGeneral const & A) { Tmatrix::add(-1.0, *A.matrixPtr, *this->matrixPtr); return *this; } /* B += alpha * A */ template inline MatrixGeneral& MatrixGeneral::operator+= (XY > const & sm) { assert(!sm.tB); Tmatrix::add(sm.A, *sm.B.matrixPtr, *this->matrixPtr); return *this; } /* OPERATIONS INVOLVING SYMMETRIC MATRICES */ /* C = alpha * A * B : A is symmetric */ template MatrixGeneral& MatrixGeneral::operator= (const XYZ, MatrixGeneral >& smm) { assert(this != &smm.C); assert(!smm.tB && !smm.tC); this->matrixPtr.haveDataStructureSet(true); Tmatrix::symm('L', 'U', smm.A, *smm.B.matrixPtr, *smm.C.matrixPtr, 0, *this->matrixPtr); return *this; } /* C = A * B : A is symmetric */ template MatrixGeneral& MatrixGeneral::operator= (const XY, MatrixGeneral >& mm) { assert(this != &mm.B); assert(!mm.tB); Tmatrix::symm('L', 'U', 1.0, *mm.A.matrixPtr, *mm.B.matrixPtr, 0, *this->matrixPtr); return *this; } /* C += alpha * A * B : A is symmetric */ template MatrixGeneral& MatrixGeneral::operator+= (const XYZ, MatrixGeneral >& smm) { assert(this != &smm.C); assert(!smm.tB && !smm.tC); Tmatrix::symm('L', 'U', smm.A, *smm.B.matrixPtr, *smm.C.matrixPtr, 1, *this->matrixPtr); return *this; } /* C = alpha * A * B + beta * C : A is symmetric */ template MatrixGeneral& MatrixGeneral::operator= (const XYZpUV, MatrixGeneral, Treal, MatrixGeneral >& smmpsm) { assert(this != &smmpsm.C); assert(!smmpsm.tB && !smmpsm.tC && !smmpsm.tE); if (this == &smmpsm.E) Tmatrix::symm('L', 'U', smmpsm.A, *smmpsm.B.matrixPtr, *smmpsm.C.matrixPtr, smmpsm.D, *this->matrixPtr); else throw Failure("MatrixGeneral::operator=" "(const XYZpUV, MatrixSymmetric, Treal, MatrixGeneral" " >&) " ": D = alpha * A * B + beta * C (with A symmetric)" " not supported for C != D"); return *this; } /* C = alpha * B * A : A is symmetric */ template MatrixGeneral& MatrixGeneral::operator= (const XYZ, MatrixSymmetric >& smm) { assert(this != &smm.B); assert(!smm.tB && !smm.tC); this->matrixPtr.haveDataStructureSet(true); Tmatrix::symm('R', 'U', smm.A, *smm.C.matrixPtr, *smm.B.matrixPtr, 0, *this->matrixPtr); return *this; } /* C = B * A : A is symmetric */ template MatrixGeneral& MatrixGeneral::operator= (const XY, MatrixSymmetric >& mm) { assert(this != &mm.A); assert(!mm.tA && !mm.tB); Tmatrix::symm('R', 'U', 1.0, *mm.B.matrixPtr, *mm.A.matrixPtr, 0, *this->matrixPtr); return *this; } /* C += alpha * B * A : A is symmetric */ template MatrixGeneral& MatrixGeneral::operator+= (const XYZ, MatrixSymmetric >& smm) { assert(this != &smm.B); assert(!smm.tB && !smm.tC); Tmatrix::symm('R', 'U', smm.A, *smm.C.matrixPtr, *smm.B.matrixPtr, 1, *this->matrixPtr); return *this; } /* C = alpha * B * A + beta * C : A is symmetric */ template MatrixGeneral& MatrixGeneral::operator= (const XYZpUV, MatrixSymmetric, Treal, MatrixGeneral >& smmpsm) { assert(this != &smmpsm.B); assert(!smmpsm.tB && !smmpsm.tC && !smmpsm.tE); if (this == &smmpsm.E) Tmatrix::symm('R', 'U', smmpsm.A, *smmpsm.C.matrixPtr, *smmpsm.B.matrixPtr, smmpsm.D, *this->matrixPtr); else throw Failure("MatrixGeneral::operator=" "(const XYZpUV, MatrixGeneral, Treal, MatrixGeneral" " >&) " ": D = alpha * B * A + beta * C (with A symmetric)" " not supported for C != D"); return *this; } /** C = alpha * A * B : A and B are symmetric */ template MatrixGeneral& MatrixGeneral::operator= (const XYZ, MatrixSymmetric >& smm) { assert(!smm.tB && !smm.tC); this->matrixPtr.haveDataStructureSet(true); Tmatrix::ssmm(smm.A, *smm.B.matrixPtr, *smm.C.matrixPtr, 0, *this->matrixPtr); return *this; } /** C = A * B : A and B are symmetric */ template MatrixGeneral& MatrixGeneral::operator= (const XY, MatrixSymmetric >& mm) { assert(!mm.tB); Tmatrix::ssmm(1.0, *mm.A.matrixPtr, *mm.B.matrixPtr, 0, *this->matrixPtr); return *this; } /** C += alpha * A * B : A and B are symmetric */ template MatrixGeneral& MatrixGeneral::operator+= (const XYZ, MatrixSymmetric >& smm) { assert(!smm.tB && !smm.tC); Tmatrix::ssmm(smm.A, *smm.B.matrixPtr, *smm.C.matrixPtr, 1, *this->matrixPtr); return *this; } /** C = alpha * A * B + beta * C : A and B are symmetric */ template MatrixGeneral& MatrixGeneral::operator= (const XYZpUV, MatrixSymmetric, Treal, MatrixGeneral >& smmpsm) { assert(!smmpsm.tB && !smmpsm.tC && !smmpsm.tE); if (this == &smmpsm.E) Tmatrix::ssmm(smmpsm.A, *smmpsm.B.matrixPtr, *smmpsm.C.matrixPtr, smmpsm.D, *this->matrixPtr); else throw Failure("MatrixGeneral::" "operator=(const XYZpUV<" "Treal, MatrixSymmetric, " "MatrixSymmetric, Treal, " "MatrixGeneral >&) " ": D = alpha * A * B + beta * C (with A and B symmetric)" " not supported for C != D"); return *this; } /* OPERATIONS INVOLVING UPPER TRIANGULAR MATRICES */ /* B = alpha * op(A) * B : A is upper triangular */ template MatrixGeneral& MatrixGeneral::operator= (const XYZ, MatrixGeneral >& smm) { assert(!smm.tC); if (this == &smm.C) Tmatrix::trmm('L', 'U', smm.tB, smm.A, *smm.B.matrixPtr, *this->matrixPtr); else throw Failure("MatrixGeneral::operator=" "(const XYZ, MatrixGeneral >& : D = alpha * op(A) * B (with" " A upper triangular) not supported for B != D"); return *this; } /* A = alpha * A * op(B) : B is upper triangular */ template MatrixGeneral& MatrixGeneral::operator= (const XYZ, MatrixTriangular >& smm) { assert(!smm.tB); if (this == &smm.B) Tmatrix::trmm('R', 'U', smm.tC, smm.A, *smm.C.matrixPtr, *this->matrixPtr); else throw Failure("MatrixGeneral::operator=" "(const XYZ, MatrixTriangular >& : D = alpha * A * op(B) (with" " B upper triangular) not supported for A != D"); return *this; } /******* FUNCTIONS DECLARED OUTSIDE CLASS */ template Treal trace(const XYZ, MatrixGeneral >& smm) { if ((!smm.tB && !smm.tC) || (smm.tB && smm.tC)) return smm.A * MatrixGeneral:: trace_ab(smm.B, smm.C); else if (smm.tB) return smm.A * MatrixGeneral:: trace_aTb(smm.B, smm.C); else return smm.A * MatrixGeneral:: trace_aTb(smm.C, smm.B); } } /* end namespace mat */ #endif ergo-3.5/source/matrix/test_LanczosSeveralLargestEig.cc0000664000175000017500000001517112743400307020321 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include /* For ifstream */ #include /* For setprecision in fstream */ #include #include #include /* For FILE */ #include "SizesAndBlocks.h" #include "Matrix.h" #include "Vector.h" #include "MatrixSymmetric.h" #include "MatrixTriangular.h" #include "MatrixGeneral.h" #include "VectorGeneral.h" #include "mat_gblas.h" #include "Lanczos.h" #include "LanczosSeveralLargestEig.h" using namespace mat; typedef double real; // define matrix and vector hierarchy typedef Matrix Mat_1; typedef Matrix Mat_2; typedef Matrix Mat_3; typedef Vector Vec_1; typedef Vector Vec_2; typedef Vector Vec_3; typedef Mat_3 matri; typedef Vec_3 vect; typedef MatrixSymmetric symmMatrix; typedef MatrixTriangular triangMatrix; typedef MatrixGeneral normalMatrix; typedef VectorGeneral normalVector; int main() { #ifdef _OPENMP int defThreads; const char *env = getenv("OMP_NUM_THREADS"); if ( !(env && (defThreads=atoi(env)) > 0) ) { defThreads = 1; } mat::Params::setNProcs(defThreads); mat::Params::setMatrixParallelLevel(2); std::cout<<"OpenMP is used, number of threads set to " < myLanczosType; real epsilon = template_blas_sqrt(mat::getRelPrecision()); /********** Initialization of SizesAndBlocks */ int size = 51; /* Use weird size to find more bugs. */ int nlevels = 3; std::vector blockSizes(nlevels); blockSizes[nlevels - 1] = 1; // should always be one #if 1 blockSizes[nlevels - 2] = 1; // lowest level blocksize blockSizes[nlevels - 3] = 5; #else for (int ind = nlevels - 2; ind >= 0; ind--) blockSizes[ind] = blockSizes[ind + 1] * 10; #endif std::cout << "Running tests with blocksize vector: "; for (int ind = 0; ind < nlevels; ind++) std::cout << blockSizes[ind] << " "; std::cout << std::endl; SizesAndBlocks rows(blockSizes, size); SizesAndBlocks cols(blockSizes, size); real ONEreal = 1.0; symmMatrix syA; syA.resetSizesAndBlocks(rows,cols); syA.randomZeroStructure(0.3); //syA.random(); // std::vector rowsA; // std::vector colsA; // std::vector valsA; // syA.get_all_values(rowsA, colsA, valsA); // std::cout << "Matrix:" << std::endl; // std::cout << rowsA.size() << std::endl; // for(int i = 0; i < rowsA.size(); ++i) // std::cout << rowsA[i] << " " << colsA[i] << " " << valsA[i] << std::endl; normalVector x; x.resetSizesAndBlocks(rows); x.rand(); int maxit = 400; myLanczosType lan(syA, x, 5, maxit); real lanEpsilon = epsilon * 1e-1; lan.setAbsTol( lanEpsilon ); lan.run(); normalVector eigVec; real eigVal; real accuracy; lan.get_ith_eigenpair(1, eigVal, eigVec, accuracy); normalVector resVec(eigVec); // residual resVec *= eigVal; resVec += -ONEreal * syA * eigVec; std::cout<<"\nLanczos several largest magnitude test : \n" << "FIRST EIGENPAIR: \n" << "Eigenvalue: " << std::setprecision(12) << eigVal <() * 100)) std::cout<<" OK" <() * 100)) std::cout<<" OK" <() * 100)) std::cout<<" OK" <. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file Perturbation.h Perturbation theory class * * Copyright(c) Emanuel Rubensson 2008 * * @author Emanuel Rubensson * @date June 2008 * */ #ifndef MAT_PERTURBATION #define MAT_PERTURBATION namespace per { template class Perturbation { public: Perturbation(std::vector const & F, /**< Vector with matrices (input). */ std::vector & D, /**< Vector with matrices (output). */ mat::Interval const & gap, /**< Band gap. */ mat::Interval const & allEigs, /**< Interval containing all eigenvalues of * X0 + delta*X1 + delta^2*X2 + ... * for all delta in [0, deltaMax] * for initial X. */ Treal const deltaMax, /**< Largest allowed delta. */ Treal const errorTol, /**< Error tolerance. */ mat::normType const norm, /**< Norm for truncation etc. */ Tvector & vect /**< Vector. */ ); void perturb() { dryRun(); run(); } void checkIdempotencies(std::vector & idemErrors); template void checkCommutators(std::vector & commErrors, TmatNoSymm const & dummyMat); void checkMaxSubspaceError(Treal & subsError); protected: /* This is input from the beginning */ std::vector const & F; std::vector & X; mat::Interval gap; mat::Interval const & allEigs; Treal deltaMax; Treal errorTol; mat::normType const norm; Tvector & vect; /* These variables are set in the dry run. */ int nIter; std::vector threshVal; std::vector sigma; /** Dry run to obtain some needed numbers. * * After call to this function we know: * - number of iterations (nIter), * - threshold values (threshVal), and * - polyunomials to choose (sigma = -1 | = 1) * * If requested accuracy is too high or gap too small, an * exception is thrown. */ void dryRun(); void run(); private: }; template Perturbation:: Perturbation(std::vector const & F_in, std::vector & X_in, mat::Interval const & gap_in, mat::Interval const & allEigs_in, Treal const deltaMax_in, Treal const errorTol_in, mat::normType const norm_in, Tvector & vect_in) : F(F_in), X(X_in), gap(gap_in), allEigs(allEigs_in), deltaMax(deltaMax_in), errorTol(errorTol_in), norm(norm_in), vect(vect_in) { if (!X.empty()) throw "Perturbation constructor: D vector is expected to be empty (size==0)"; for (unsigned int iMat = 0; iMat < F.size(); ++iMat) X.push_back(new Tmatrix(*F[iMat])); Treal lmin = allEigs.low(); Treal lmax = allEigs.upp(); /***** Initial linear transformation of matrix sequence. */ typename std::vector::iterator matIt = X.begin(); /* Scale to [0, 1] interval and negate */ (*matIt)->add_identity(-lmax); *(*matIt) *= ((Treal)1.0 / (lmin - lmax)); matIt++; /* ...and derivatives: */ for ( ; matIt != X.end(); matIt++ ) *(*matIt) *= ((Treal)-1.0 / (lmin - lmax)); /* Compute transformed gap */ gap = (gap - lmax) / (lmin - lmax); } template void Perturbation::dryRun() { Treal errorTolPerIter; int nIterGuess = 0; nIter = 1; Treal lumo; Treal homo; Treal m; Treal g; while (nIterGuess < nIter) { nIterGuess++; errorTolPerIter = 0.5 * errorTol /nIterGuess; nIter = 0; mat::Interval gapTmp(gap); sigma.resize(0); threshVal.resize(0); while (gapTmp.low() > 0.5 * errorTol || gapTmp.upp() < 0.5 * errorTol) { lumo = gapTmp.low(); homo = gapTmp.upp(); m = gapTmp.midPoint(); g = gapTmp.length(); if (m > 0.5) { lumo = lumo*lumo; homo = homo*homo; sigma.push_back(-1); } else { lumo = 2*lumo - lumo*lumo; homo = 2*homo - homo*homo; sigma.push_back(1); } /* Compute threshold value necessary to converge. */ Treal forceConvThresh = template_blas_fabs(1-2*m) * g / 10; /* We divide by 10 > 2 so that this loop converges at some point. */ /* Compute threshold value necessary to maintain accuracy in subspace.*/ Treal subspaceThresh = errorTolPerIter * (homo-lumo) / (1+errorTolPerIter); /* Choose the most restrictive threshold of the two. */ threshVal.push_back(forceConvThresh < subspaceThresh ? forceConvThresh : subspaceThresh); homo -= threshVal.back(); lumo += threshVal.back(); gapTmp = mat::Interval(lumo, homo); if (gapTmp.empty()) throw "Perturbation::dryRun() : Perturbation iterations will fail to converge; Gap is too small or desired accuracy too high."; nIter++; } /* end 2nd while */ } /* end 1st while */ /* Now, we have nIter, threshVal, and sigma. */ } template void Perturbation::run() { Treal const ONE = 1.0; mat::SizesAndBlocks rowsCopy; X.front()->getRows(rowsCopy); mat::SizesAndBlocks colsCopy; X.front()->getCols(colsCopy); Tmatrix tmpMat; // tmpMat.resetSizesAndBlocks(rowsCopy, colsCopy); int nMatrices; Treal threshValPerOrder; Treal chosenThresh; for (int iter = 0; iter < nIter; iter++) { std::cout<<"\n\nInside outer loop iter = "<eucl() (before compute) = "<eucl(vect,1e-7)<frob() (before compute) = "<frob()<eucl() (before thresh) = "<eucl(vect,1e-7)<thresh(chosenThresh, vect, norm); std::cout<<"X[j]->eucl() (after thresh) = "<eucl(vect,1e-7)<frob() = "<frob() <frob() = "<frob() < void Perturbation:: checkIdempotencies(std::vector & idemErrors) { Tmatrix tmpMat; Treal const ONE = 1.0; unsigned int j; for (unsigned int m = 0; m < X.size(); ++m) { tmpMat = (-ONE) * (*X[m]); for (unsigned int i = 0; i <= m; ++i) { j = m - i; /* TMP = TMP + X[i] * X[j] */ Tmatrix::ssmmUpperTriangleOnly(ONE, *X[i], *X[j], ONE, tmpMat); } /* TMP is symmetric! */ idemErrors.push_back(tmpMat.eucl(vect,1e-10)); } } template template void Perturbation:: checkCommutators(std::vector & commErrors, TmatNoSymm const & dummyMat) { mat::SizesAndBlocks rowsCopy; X.front()->getRows(rowsCopy); mat::SizesAndBlocks colsCopy; X.front()->getCols(colsCopy); TmatNoSymm tmpMat; tmpMat.resetSizesAndBlocks(rowsCopy, colsCopy); Treal const ONE = 1.0; unsigned int j; for (unsigned int m = 0; m < X.size(); ++m) { tmpMat = 0; std::cout<<"New loop\n"; for (unsigned int i = 0; i <= m && i < F.size(); ++i) { j = m - i; std::cout< void Perturbation:: checkMaxSubspaceError(Treal & subsError) { Treal const ONE = 1.0; Tmatrix XdeltaMax(*F.front()); for (unsigned int ind = 1; ind < F.size(); ++ind) XdeltaMax += pow(deltaMax, Treal(ind)) * (*F[ind]); /***** Initial linear transformation of matrix. */ Treal lmin = allEigs.low(); Treal lmax = allEigs.upp(); /* Scale to [0, 1] interval and negate */ XdeltaMax.add_identity(-lmax); XdeltaMax *= ((Treal)1.0 / (lmin - lmax)); Tmatrix X2; for (int iter = 0; iter < nIter; iter++) { X2 = ONE * XdeltaMax * XdeltaMax; if (sigma[iter] == Treal(1.0)) { XdeltaMax *= 2.0; XdeltaMax -= X2; } else { XdeltaMax = X2; } } /* End of for (Loop through iterations) */ Tmatrix DdeltaMax(*X.front()); for (unsigned int ind = 1; ind < X.size(); ++ind) DdeltaMax += pow(deltaMax, Treal(ind)) * (*X[ind]); subsError = Tmatrix::eucl_diff(XdeltaMax,DdeltaMax, vect, errorTol *1e-2); } } /* end namespace mat */ #endif ergo-3.5/source/matrix/TC2.h0000664000175000017500000003020612743400307012606 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file TC2.h Trace correcting purification class * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson @a responsible @a author * @date May 2006 * */ #ifndef MAT_TC2 #define MAT_TC2 #include #include "bisection.h" namespace mat { /** Trace correcting purification. * This template instantiates the trace correcting purification algorithm * developed by Niklasson [Phys. Rev. B 66, 155115 (2002)] with * modifications by Rubensson and Rudberg [unpublished]. * The template can be used with any matrix class Tmatrix that has the * following member functions: * - gershgorin(Treal&, Treal&) const * - add_identity(Treal) * - operator*=(Treal) * - operator=(Tmatrix const &) * - trace() const * - frob_thresh(Treal) * * The matrix class should also support the following syntax: * - A = alpha * B * B * - A = alpha * B * B + beta * A * * where A and B are of type Tmatrix and alpha and beta are of type Treal. * */ template class TC2 { public: TC2(Tmatrix& F, /**< Fock/Kohn-Sham matrix (input/workspace) */ Tmatrix& DM, /**< Density matrix (output) */ const int size, /**< System size (Number of basis functions)*/ const int noc, /**< Number of occupied orbitals. */ const Treal trunc = 0,/**< Threshold for truncation in Frobenius norm. */ const int maxmm = 100 /**< Maximum aloud number of mm-multiplications. */ ); /**< Constructor * Initializes everything. */ Treal fermi_level(Treal tol = 1e-15 /**< Fault-tolerance for result. */ ) const; /**< Returns the Fermi level. * Run after call to purify(). */ Treal homo(Treal tol = 1e-15 /**< Fault-tolerance for result. */ ) const; /**< Returns upper bound of the HOMO eigenvalue. * Run after call to purify(). */ Treal lumo(Treal tol = 1e-15 /**< Fault-tolerance for result. */ ) const; /**< Returns lower bound of the LUMO eigenvalue. * Run after call to purify(). */ inline int n_multiplies() const { return nmul; } /**< Returns the number of used matrix matrix multiplications */ void print_data(int const start, int const stop) const; virtual ~TC2() { delete[] idemerror; delete[] tracediff; delete[] polys; } /**< Destructor. */ protected: Tmatrix& X; /**< Fock / Kohn-Sham matrix at initialization. * Then used as workspace by purify(). * Empty after call to purify(). */ Tmatrix& D; /**< Density matrix after purification. */ const int n; /**< System size. */ const int nocc; /**< Number of occupied orbitals. */ const Treal frob_trunc; /**< Threshold for the truncation. */ const int maxmul; /**< Number of tolerated matrix multiplications. */ Treal lmin; /**< Lower bound for eigenvalue spectrum. */ Treal lmax; /**< Upper bound for eigenvalue spectrum. */ int nmul; /**< Number of used matrix multiplications. */ int nmul_firstpart; /**< Number of used matrix multiplications in * the first part of the purification. */ Treal* idemerror; /**< Upper bound of euclidean norm ||D-D^2||_2 before * each step. * This means: idemerror[i] = norm(D[i]-D[i]^2) * where D[0] is the initial matrix and D[i] is the * matrix after i steps in the purification. * This value is calculated after the step since * D[i]^2 or 2D[i] - D[i]^2 is needed. * Length: nmul */ Treal* tracediff; /**< The difference between the trace of the matrix and * the number of occupied orbitals before each step. * Length: nmul + 1 */ int* polys; /**< Choices of polynomials 0 for x^2 and 1 for 2x-x^2 * Length: nmul */ void purify(); /**< Runs purification. * Run by constructor. */ private: class Fun; }; /** Help class for bisection root finding calls. * @see fermi_level * @see homo * @see lumo */ template class TC2::Fun { public: Fun(int const* const p, int const pl, Treal const s) :pol(p), pollength(pl), shift(s) { assert(shift <= 1 && shift >= 0); assert(pollength >= 0); } Treal eval(Treal const x) const { Treal y = x; for (int ind = 0; ind < pollength; ind++ ) y = 2 * pol[ind] * y + (1 - 2 * pol[ind]) * y * y; /* * pol[ind] == 0 --> y = y * y * pol[ind] == 1 --> y = 2 * y - y * y */ return y - shift; } protected: private: int const* const pol; int const pollength; Treal const shift; }; template TC2::TC2(Tmatrix& F, Tmatrix& DM, const int size, const int noc, const Treal trunc, const int maxmm) :X(F), D(DM), n(size), nocc(noc), frob_trunc(trunc), maxmul(maxmm), lmin(0), lmax(0), nmul(0), nmul_firstpart(0), idemerror(0), tracediff(0), polys(0) { assert(frob_trunc >= 0); assert(nocc >= 0); assert(maxmul >= 0); X.gershgorin(lmin, lmax); /* Find eigenvalue bounds */ X.add_identity(-lmax); /* Scale to [0, 1] interval and negate */ X *= ((Treal)1.0 / (lmin - lmax)); D = X; idemerror = new Treal[maxmul]; tracediff = new Treal[maxmul + 1]; polys = new int[maxmul]; tracediff[0] = X.trace() - nocc; purify(); /**< Run purification */ } /**< Constructor */ template void TC2::purify() { assert(nmul == 0); assert(nmul_firstpart == 0); Treal delta, beta, trD2; int ind; Treal const ONE = 1; Treal const TWO = 2; do { if (nmul >= maxmul) { print_data(0, nmul); throw AcceptableMaxIter("TC2::purify(): " "Purification reached maxmul" " without convergence", maxmul); } if (tracediff[nmul] > 0) { D = ONE * X * X; polys[nmul] = 0; } else { D = -ONE * X * X + TWO * D; polys[nmul] = 1; } D.frob_thresh(frob_trunc); idemerror[nmul] = Tmatrix::frob_diff(D, X); ++nmul; tracediff[nmul] = D.trace() - nocc; X = D; /* Setting up convergence criteria */ beta = (3 - template_blas_sqrt(5)) / 2 - frob_trunc; if (idemerror[nmul - 1] < 1 / (Treal)4 && (1 - template_blas_sqrt(1 - 4 * idemerror[nmul - 1])) / 2 < beta) beta = (1 + template_blas_sqrt(1 - 4 * idemerror[nmul - 1])) / 2; trD2 = (tracediff[nmul] + nocc - 2 * polys[nmul - 1] * (tracediff[nmul - 1] + nocc)) / (1 - 2 * polys[nmul - 1]); delta = frob_trunc; ind = nmul - 1; while (ind > 0 && polys[ind] == polys[ind - 1]) { delta = delta + frob_trunc; ind--; } delta = delta < (template_blas_sqrt(1 + 4 * idemerror[nmul - 1]) - 1) / 2 ? delta : (template_blas_sqrt(1 + 4 * idemerror[nmul - 1]) - 1) / 2; } while((trD2 + beta * (1 + delta) * n - (1 + delta + beta) * (tracediff[nmul - 1] + nocc)) / ((1 + 2 * delta) * (delta + beta)) < n - nocc - 1 || (trD2 - delta * (1 - beta) * n - (1 - delta - beta) * (tracediff[nmul - 1] + nocc)) / ((1 + 2 * delta) * (delta + beta)) < nocc - 1); /* Note that: */ /* tracediff[i] - tracediff[i - 1] = trace(D[i]) - trace(D[i - 1]) */ /* i.e. the change of the trace. */ /* Take one step to make sure the eigenvalues stays in */ /* { [ 0 , 2 * epsilon [ , ] 1 - 2 * epsilon , 1] } */ if (tracediff[nmul - 1] > 0) { /* The same tracediff as in the last step is used since we want to */ /* take a step with the other direction (with the other polynomial).*/ D = -ONE * X * X + TWO * D; /* This is correct!! */ polys[nmul] = 1; } else { D = ONE * X * X; /* This is correct!! */ polys[nmul] = 0; } D.frob_thresh(frob_trunc); idemerror[nmul] = Tmatrix::frob_diff(D, X); ++nmul; tracediff[nmul] = D.trace() - nocc; nmul_firstpart = nmul; /* First part of purification finished. At this */ /* point the eigenvalues are separated but have not yet converged. */ /* Use second order convergence polynomials to converge completely: */ do { if (nmul + 1 >= maxmul) { print_data(0, nmul); throw AcceptableMaxIter("TC2::purify(): " "Purification reached maxmul" " without convergence", maxmul); } if (tracediff[nmul] > 0) { X = ONE * D * D; idemerror[nmul] = Tmatrix::frob_diff(D, X); D = X; polys[nmul] = 0; ++nmul; tracediff[nmul] = D.trace() - nocc; D = -ONE * X * X + TWO * D; idemerror[nmul] = Tmatrix::frob_diff(D, X); polys[nmul] = 1; ++nmul; tracediff[nmul] = D.trace() - nocc; } else { X = D; X = -ONE * D * D + TWO * X; idemerror[nmul] = Tmatrix::frob_diff(D, X); polys[nmul] = 1; ++nmul; tracediff[nmul] = X.trace() - nocc; D = ONE * X * X; idemerror[nmul] = Tmatrix::frob_diff(D, X); polys[nmul] = 0; ++nmul; tracediff[nmul] = D.trace() - nocc; } D.frob_thresh(frob_trunc); #if 0 } while (idemerror[nmul - 1] > frob_trunc); /* FIXME Check conv. crit. */ #else } while ((1 - template_blas_sqrt(1 - 4 * idemerror[nmul - 1])) / 2 > frob_trunc); #endif X.clear(); } template Treal TC2::fermi_level(Treal tol) const { Fun const fermifun(polys, nmul, 0.5); Treal chempot = bisection(fermifun, (Treal)0, (Treal)1, tol); return (lmin - lmax) * chempot + lmax; } template Treal TC2::homo(Treal tol) const { Treal homo = 0; Treal tmp; for (int mul = nmul_firstpart; mul < nmul; mul++) { if (idemerror[mul] < 1.0 / 4) { Fun const homofun(polys, mul, (1 + template_blas_sqrt(1 - 4 * idemerror[mul])) / 2); tmp = bisection(homofun, (Treal)0, (Treal)1, tol); /* std::cout << tmp << " , "; std::cout << (lmin - lmax) * tmp + lmax << std::endl; */ homo = tmp > homo ? tmp : homo; } } return (lmin - lmax) * homo + lmax; } template Treal TC2::lumo(Treal tol) const { Treal lumo = 1; Treal tmp; for (int mul = nmul_firstpart; mul < nmul; mul++) { if (idemerror[mul] < 1.0 / 4) { Fun const lumofun(polys, mul, (1 - template_blas_sqrt(1 - 4 * idemerror[mul])) / 2); tmp = bisection(lumofun, (Treal)0, (Treal)1, tol); /* std::cout << tmp << " , "; std::cout << (lmin - lmax) * tmp + lmax << std::endl; */ lumo = tmp < lumo ? tmp : lumo; } } return (lmin - lmax) * lumo + lmax; } template void TC2::print_data(int const start, int const stop) const { for (int ind = start; ind < stop; ind ++) { std::cout << "Iteration: " << ind << " Idempotency error: " << idemerror[ind] << " Tracediff: " << tracediff[ind] << " Poly: " << polys[ind] << std::endl; } } } /* end namespace mat */ #endif ergo-3.5/source/matrix/mat_gblas.h0000664000175000017500000012046112743400307014152 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file mat_gblas.h C++ interface to a subset of BLAS and LAPACK * * This file contains an interface to BLAS and LAPACK routines * which makes it easy to use different precision. Currently single * and double precision is supported. One could also implement * specializations for long double without having to change * any other part in the program that uses the routines below. * It is also possible to use different precision within the same * program without having to recompile the entire library. * * Copyright(c) Emanuel Rubensson 2005 * * @author Emanuel Rubensson @a responsible @a author * @date September 2005 */ #ifndef MAT_GBLAS_HEADER #define MAT_GBLAS_HEADER #include #include "Failure.h" /* We need to include config.h to get USE_LINALG_TEMPLATES and USE_SSE_INTRINSICS flags. */ #include "config.h" #include "template_lapack_common.h" #ifdef USE_SSE_INTRINSICS #include "Memory_buffer_thread.h" #include "gemm_sse/gemm_sse.h" #endif /* LEVEL 3 */ extern "C" void dgemm_(const char *ta,const char *tb, const int *n, const int *k, const int *l, const double *alpha,const double *A,const int *lda, const double *B, const int *ldb, const double *beta, double *C, const int *ldc); extern "C" void dpptrf_(const char *uplo,const int *n, double* ap, int *info); extern "C" void dspgst_(const int *itype, const char *uplo,const int *n, double* ap,const double *bp,int *info); extern "C" void dtptri_(const char *uplo,const char *diag,const int *n, double* ap,int *info); /* unit triangular means that a value of 1.0 is assumed */ /* for the diagonal elements (hence diagonal not stored in packed format) */ extern "C" void dtrmm_(const char *side,const char *uplo,const char *transa, const char *diag,const int *m,const int *n, const double *alpha,const double *A,const int *lda, double *B,const int *ldb); extern "C" void dsygv_(const int *itype,const char *jobz, const char *uplo,const int *n, double *A,const int *lda,double *B,const int *ldb, double* w,double* work,const int *lwork,int *info); extern "C" void dggev_(const char *jobbl, const char *jobvr, const int *n, double *A, const int *lda, double *B, const int *ldb, double *alphar, double *alphai, double *beta, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, int *info); extern "C" void dpotrf_(const char *uplo, const int *n, double *A, const int *lda, int *info); extern "C" void dtrtri_(const char *uplo,const char *diag,const int *n, double *A, const int *lda, int *info); extern "C" void dsyrk_(const char *uplo, const char *trans, const int *n, const int *k, const double *alpha, const double *A, const int *lda, const double *beta, double *C, const int *ldc); extern "C" void dsymm_(const char *side,const char *uplo, const int *m,const int *n, const double *alpha,const double *A,const int *lda, const double *B,const int *ldb, const double* beta, double *C,const int *ldc); extern "C" void dpocon_(const char *uplo, const int *n, const double *A, const int *lda, const double *anorm, double *rcond, double *work, int *iwork, int *info); extern "C" void dstevx_(const char *jobz, const char *range, const int *n, double *d, double *e, const double *vl, const double *vu, const int *il, const int *iu, const double *abstol, int *m, double *w, double *z, const int *ldz, double *work, int *iwork, int *ifail, int *info); extern "C" void dstevr_(const char *jobz, const char *range, const int *n, double *d, double *e, const double *vl, const double *vu, const int *il, const int *iu, const double *abstol, int *m, double *w, double *z, const int *ldz, int* isuppz, double *work, int* lwork, int *iwork, int* liwork, int *info); extern "C" void dsyev_(const char *jobz, const char *uplo, const int *n, double *a, const int *lda, double *w, double *work, const int *lwork, int *info); /* LEVEL 2 */ extern "C" void dgemv_(const char *ta, const int *m, const int *n, const double *alpha, const double *A, const int *lda, const double *x, const int *incx, const double *beta, double *y, const int *incy); extern "C" void dsymv_(const char *uplo, const int *n, const double *alpha, const double *A, const int *lda, const double *x, const int *incx, const double *beta, double *y, const int *incy); extern "C" void dtrmv_(const char *uplo, const char *trans, const char *diag, const int *n, const double *A, const int *lda, double *x, const int *incx); /* LEVEL 1 */ extern "C" void dscal_(const int* n,const double* da, double* dx, const int* incx); extern "C" double ddot_(const int* n, const double* dx, const int* incx, const double* dy, const int* incy); extern "C" void daxpy_(const int* n, const double* da, const double* dx, const int* incx, double* dy,const int* incy); /* Single precision */ /* LEVEL 3 */ extern "C" void sgemm_(const char *ta,const char *tb, const int *n, const int *k, const int *l, const float *alpha,const float *A,const int *lda, const float *B, const int *ldb, const float *beta, float *C, const int *ldc); extern "C" void spptrf_(const char *uplo,const int *n, float* ap, int *info); extern "C" void sspgst_(const int *itype, const char *uplo,const int *n, float* ap,const float *bp,int *info); extern "C" void stptri_(const char *uplo,const char *diag,const int *n, float* ap,int *info); /* unit triangular means that a value of 1.0 is assumed */ /* for the diagonal elements (hence diagonal not stored in packed format) */ extern "C" void strmm_(const char *side,const char *uplo,const char *transa, const char *diag,const int *m,const int *n, const float *alpha,const float *A,const int *lda, float *B,const int *ldb); extern "C" void ssygv_(const int *itype,const char *jobz, const char *uplo,const int *n, float *A,const int *lda,float *B,const int *ldb, float* w,float* work,const int *lwork,int *info); extern "C" void sggev_(const char *jobbl, const char *jobvr, const int *n, float *A, const int *lda, float *B, const int *ldb, float *alphar, float *alphai, float *beta, float *vl, const int *ldvl, float *vr, const int *ldvr, float *work, const int *lwork, int *info); extern "C" void spotrf_(const char *uplo, const int *n, float *A, const int *lda, int *info); extern "C" void strtri_(const char *uplo,const char *diag,const int *n, float *A, const int *lda, int *info); extern "C" void ssyrk_(const char *uplo, const char *trans, const int *n, const int *k, const float *alpha, const float *A, const int *lda, const float *beta, float *C, const int *ldc); extern "C" void ssymm_(const char *side,const char *uplo, const int *m,const int *n, const float *alpha,const float *A,const int *lda, const float *B,const int *ldb, const float* beta, float *C,const int *ldc); extern "C" void spocon_(const char *uplo, const int *n, const float *A, const int *lda, const float *anorm, float *rcond, float *work, int *iwork, int *info); extern "C" void sstevx_(const char *jobz, const char *range, const int *n, float *d, float *e, const float *vl, const float *vu, const int *il, const int *iu, const float *abstol, int *m, float *w, float *z, const int *ldz, float *work, int *iwork, int *ifail, int *info); extern "C" void sstevr_(const char *jobz, const char *range, const int *n, float *d, float *e, const float *vl, const float *vu, const int *il, const int *iu, const float *abstol, int *m, float *w, float *z, const int *ldz, int* isuppz, float *work, int* lwork, int *iwork, int* liwork, int *info); extern "C" void ssyev_(const char *jobz, const char *uplo, const int *n, float *a, const int *lda, float *w, float *work, const int *lwork, int *info); /* LEVEL 2 */ extern "C" void sgemv_(const char *ta, const int *m, const int *n, const float *alpha, const float *A, const int *lda, const float *x, const int *incx, const float *beta, float *y, const int *incy); extern "C" void ssymv_(const char *uplo, const int *n, const float *alpha, const float *A, const int *lda, const float *x, const int *incx, const float *beta, float *y, const int *incy); extern "C" void strmv_(const char *uplo, const char *trans, const char *diag, const int *n, const float *A, const int *lda, float *x, const int *incx); /* LEVEL 1 */ extern "C" void sscal_(const int* n,const float* da, float* dx, const int* incx); #if 0 // sdot_ is unreliable because of varying return type in different // implementations. We therefore always use template dot for single precision extern "C" double sdot_(const int* n, const float* dx, const int* incx, const float* dy, const int* incy); #endif extern "C" void saxpy_(const int* n, const float* da, const float* dx, const int* incx, float* dy,const int* incy); namespace mat { struct Gblas { static float time; static bool timekeeping; }; /*************** Default version throws exception */ template inline static void gemm(const char *ta,const char *tb, const int *n, const int *k, const int *l, const T *alpha,const T *A,const int *lda, const T *B, const int *ldb, const T *beta,T *C, const int *ldc) { #ifdef USE_SSE_INTRINSICS if (*ta == 'N' && *tb == 'N' && *n == 32 && *k == 32 && *l == 32 && *alpha == 1.0 && *beta == 1) { static T * A_packed; static T * B_packed; static T * C_packed; int pack_max_size = 10000; if ( (pack_max_size*sizeof(T))%16 ) throw std::runtime_error("In gblas gemm: requested buffer size not multiple of 16 bytes"); static T * buffer; Memory_buffer_thread::instance().get_buffer(pack_max_size*3, buffer); A_packed = buffer; B_packed = buffer + pack_max_size; C_packed = buffer + 2*pack_max_size; gemm_sse(A,B,C,32,32,32, A_packed, B_packed, C_packed, pack_max_size, pack_max_size, pack_max_size); } else #endif template_blas_gemm(ta,tb,n,k,l,alpha,A,lda,B,ldb,beta,C,ldc); } /* Computes the Cholesky factorization of a symmetric * * positive definite matrix in packed storage. */ template inline static void pptrf(const char *uplo,const int *n, T* ap, int *info) { template_lapack_pptrf(uplo,n,ap,info); } template inline static void spgst(const int *itype, const char *uplo,const int *n, T* ap,const T *bp,int *info) { template_lapack_spgst(itype,uplo,n,ap,bp,info); } /* Computes the inverse of a triangular matrix in packed storage. */ template inline static void tptri(const char *uplo,const char *diag,const int *n, T* ap,int *info) { template_lapack_tptri(uplo,diag,n,ap,info); } template inline static void trmm(const char *side,const char *uplo, const char *transa, const char *diag, const int *m,const int *n, const T *alpha,const T *A,const int *lda, T *B,const int *ldb) { template_blas_trmm(side,uplo,transa,diag,m,n,alpha,A,lda,B,ldb); } /* Computes all eigenvalues and the eigenvectors of a generalized * * symmetric-definite generalized eigenproblem, * * Ax= lambda Bx, ABx= lambda x, or BAx= lambda x. */ template inline static void sygv(const int *itype,const char *jobz, const char *uplo,const int *n, T *A,const int *lda,T *B,const int *ldb, T* w,T* work,const int *lwork,int *info) { template_lapack_sygv(itype,jobz,uplo,n,A,lda,B,ldb,w,work,lwork,info); } template inline static void ggev(const char *jobbl, const char *jobvr, const int *n, T *A, const int *lda, T *B, const int *ldb, T *alphar, T *alphai, T *beta, T *vl, const int *ldvl, T *vr, const int *ldvr, T *work, const int *lwork, int *info) { template_lapack_ggev(jobbl, jobvr, n, A, lda, B, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, work, lwork, info); } /* Computes the Cholesky factorization of a symmetric * * positive definite matrix in packed storage. */ template inline static void potrf(const char *uplo, const int *n, T *A, const int *lda, int *info) { template_lapack_potrf(uplo, n, A, lda, info); } /* Computes the inverse of a triangular matrix. */ template inline static void trtri(const char *uplo,const char *diag,const int *n, T *A, const int *lda, int *info) { // Create copies of strings because they cannot be const inside trtri. char uploCopy[2]; char diagCopy[2]; uploCopy[0] = uplo[0]; uploCopy[1] = '\0'; diagCopy[0] = diag[0]; diagCopy[1] = '\0'; template_lapack_trtri(uploCopy, diagCopy, n, A, lda, info); } template inline static void syrk(const char *uplo, const char *trans, const int *n, const int *k, const T *alpha, const T *A, const int *lda, const T *beta, T *C, const int *ldc) { template_blas_syrk(uplo, trans, n, k, alpha, A, lda, beta, C, ldc); } template inline static void symm(const char *side,const char *uplo, const int *m,const int *n, const T *alpha,const T *A,const int *lda, const T *B,const int *ldb, const T* beta, T *C,const int *ldc) { template_blas_symm(side, uplo, m, n, alpha, A, lda, B, ldb, beta, C, ldc); } template inline static void pocon(const char *uplo, const int *n, const T *A, const int *lda, const T *anorm, T *rcond, T *work, int *iwork, int *info) { template_lapack_pocon(uplo, n, A, lda, anorm, rcond, work, iwork, info); } template inline static void stevx(const char *jobz, const char *range, const int *n, T *d, T *e, const T *vl, const T *vu, const int *il, const int *iu, const T *abstol, int *m, T *w, T *z, const int *ldz, T *work, int *iwork, int *ifail, int *info) { template_lapack_stevx(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, ifail, info); } template inline static void stevr(const char *jobz, const char *range, const int *n, T *d, T *e, const T *vl, const T *vu, const int *il, const int *iu, const T *abstol, int *m, T *w, T *z, const int *ldz, int* isuppz, T *work, int* lwork, int *iwork, int* liwork, int *info) { template_lapack_stevr(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info); } template inline static void syev(const char *jobz, const char *uplo, const int *n, T *a, const int *lda, T *w, T *work, const int *lwork, int *info) { template_lapack_syev(jobz, uplo, n, a, lda, w, work, lwork, info); } /* LEVEL 2 */ template inline static void gemv(const char *ta, const int *m, const int *n, const T *alpha, const T *A, const int *lda, const T *x, const int *incx, const T *beta, T *y, const int *incy) { template_blas_gemv(ta, m, n, alpha, A, lda, x, incx, beta, y, incy); } template inline static void symv(const char *uplo, const int *n, const T *alpha, const T *A, const int *lda, const T *x, const int *incx, const T *beta, T *y, const int *incy) { template_blas_symv(uplo, n, alpha, A, lda, x, incx, beta, y, incy); } template inline static void trmv(const char *uplo, const char *trans, const char *diag, const int *n, const T *A, const int *lda, T *x, const int *incx) { template_blas_trmv(uplo, trans, diag, n, A, lda, x, incx); } /* LEVEL 1 */ template inline static void scal(const int* n,const T* da, T* dx, const int* incx) { template_blas_scal(n, da, dx, incx); } template inline static T dot(const int* n, const T* dx, const int* incx, const T* dy, const int* incy) { return template_blas_dot(n, dx, incx, dy, incy); } template inline static void axpy(const int* n, const T* da, const T* dx, const int* incx, T* dy,const int* incy) { template_blas_axpy(n, da, dx, incx, dy, incy); } /* Below follows specializations for double, single, etc. These specializations are not needed if template_blas and template_lapack are used, so in that case we skip this entire section. */ #ifndef USE_LINALG_TEMPLATES /*************** Double specialization */ template<> inline void gemm(const char *ta,const char *tb, const int *n, const int *k, const int *l, const double *alpha, const double *A,const int *lda, const double *B, const int *ldb, const double *beta, double *C, const int *ldc) { if (Gblas::timekeeping) { clock_t start = clock(); dgemm_(ta,tb,n,k,l,alpha,A,lda,B,ldb,beta,C,ldc); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dgemm_(ta,tb,n,k,l,alpha,A,lda,B,ldb,beta,C,ldc); } } template<> inline void pptrf(const char *uplo,const int *n, double* ap, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); dpptrf_(uplo,n,ap,info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dpptrf_(uplo,n,ap,info); } } template<> inline void spgst(const int *itype, const char *uplo, const int *n, double* ap,const double *bp,int *info) { if (Gblas::timekeeping) { clock_t start = clock(); dspgst_(itype,uplo,n,ap,bp,info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dspgst_(itype,uplo,n,ap,bp,info); } } template<> inline void tptri(const char *uplo,const char *diag,const int *n, double* ap,int *info) { if (Gblas::timekeeping) { clock_t start = clock(); dtptri_(uplo,diag,n,ap,info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dtptri_(uplo,diag,n,ap,info); } } template<> inline void trmm(const char *side,const char *uplo, const char *transa, const char *diag,const int *m,const int *n, const double *alpha, const double *A,const int *lda, double *B,const int *ldb) { if (Gblas::timekeeping) { clock_t start = clock(); dtrmm_(side,uplo,transa,diag,m,n,alpha,A,lda,B,ldb); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dtrmm_(side,uplo,transa,diag,m,n,alpha,A,lda,B,ldb); } } template<> inline void sygv(const int *itype,const char *jobz, const char *uplo,const int *n, double *A,const int *lda, double *B,const int *ldb, double* w,double* work, const int *lwork,int *info) { if (Gblas::timekeeping) { clock_t start = clock(); dsygv_(itype,jobz,uplo,n,A,lda,B,ldb,w,work,lwork,info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dsygv_(itype,jobz,uplo,n,A,lda,B,ldb,w,work,lwork,info); } } template<> inline void ggev(const char *jobbl, const char *jobvr, const int *n, double *A, const int *lda, double *B, const int *ldb, double *alphar, double *alphai, double *beta, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); dggev_(jobbl, jobvr, n, A, lda, B, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, work, lwork, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dggev_(jobbl, jobvr, n, A, lda, B, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, work, lwork, info); } } template<> inline void potrf(const char *uplo, const int *n, double *A, const int *lda, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); dpotrf_(uplo, n, A, lda, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dpotrf_(uplo, n, A, lda, info); } } template<> inline void trtri(const char *uplo,const char *diag,const int *n, double *A, const int *lda, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); dtrtri_(uplo, diag, n, A, lda, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dtrtri_(uplo, diag, n, A, lda, info); } } template<> inline void syrk(const char *uplo, const char *trans, const int *n, const int *k, const double *alpha, const double *A, const int *lda, const double *beta, double *C, const int *ldc) { if (Gblas::timekeeping) { clock_t start = clock(); dsyrk_(uplo, trans, n, k, alpha, A, lda, beta, C, ldc); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dsyrk_(uplo, trans, n, k, alpha, A, lda, beta, C, ldc); } } template<> inline void symm(const char *side,const char *uplo, const int *m,const int *n, const double *alpha, const double *A,const int *lda, const double *B,const int *ldb, const double* beta, double *C,const int *ldc) { if (Gblas::timekeeping) { clock_t start = clock(); dsymm_(side, uplo, m, n, alpha, A, lda, B, ldb, beta, C, ldc); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dsymm_(side, uplo, m, n, alpha, A, lda, B, ldb, beta, C, ldc); } } template<> inline void pocon(const char *uplo, const int *n, const double *A, const int *lda, const double *anorm, double *rcond, double *work, int *iwork, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); dpocon_(uplo, n, A, lda, anorm, rcond, work, iwork, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dpocon_(uplo, n, A, lda, anorm, rcond, work, iwork, info); } } template<> inline void stevx(const char *jobz, const char *range, const int *n, double *d, double *e, const double *vl, const double *vu, const int *il, const int *iu, const double *abstol, int *m, double *w, double *z, const int *ldz, double *work, int *iwork, int *ifail, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); dstevx_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, ifail, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dstevx_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, ifail, info); } } template<> inline void stevr(const char *jobz, const char *range, const int *n, double *d, double *e, const double *vl, const double *vu, const int *il, const int *iu, const double *abstol, int *m, double *w, double *z, const int *ldz, int* isuppz, double *work, int* lwork, int *iwork, int* liwork, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); dstevr_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dstevr_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info); } } template<> inline void syev(const char *jobz, const char *uplo, const int *n, double *a, const int *lda, double *w, double *work, const int *lwork, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); dsyev_(jobz, uplo, n, a, lda, w, work, lwork, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dsyev_(jobz, uplo, n, a, lda, w, work, lwork, info); } } /* LEVEL 2 */ template<> inline void gemv(const char *ta, const int *m, const int *n, const double *alpha, const double *A, const int *lda, const double *x, const int *incx, const double *beta, double *y, const int *incy) { if (Gblas::timekeeping) { clock_t start = clock(); dgemv_(ta, m, n, alpha, A, lda, x, incx, beta, y, incy); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dgemv_(ta, m, n, alpha, A, lda, x, incx, beta, y, incy); } } template<> inline void symv(const char *uplo, const int *n, const double *alpha, const double *A, const int *lda, const double *x, const int *incx, const double *beta, double *y, const int *incy) { if (Gblas::timekeeping) { clock_t start = clock(); dsymv_(uplo, n, alpha, A, lda, x, incx, beta, y, incy); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dsymv_(uplo, n, alpha, A, lda, x, incx, beta, y, incy); } } template<> inline void trmv(const char *uplo, const char *trans, const char *diag, const int *n, const double *A, const int *lda, double *x, const int *incx) { if (Gblas::timekeeping) { clock_t start = clock(); dtrmv_(uplo, trans, diag, n, A, lda, x, incx); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dtrmv_(uplo, trans, diag, n, A, lda, x, incx); } } /* LEVEL 1 */ template<> inline void scal(const int* n,const double* da, double* dx, const int* incx) { if (Gblas::timekeeping) { clock_t start = clock(); dscal_(n, da, dx, incx); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { dscal_(n, da, dx, incx); } } template<> inline double dot(const int* n, const double* dx, const int* incx, const double* dy, const int* incy) { double tmp = 0; if (Gblas::timekeeping) { clock_t start = clock(); tmp = ddot_(n, dx, incx, dy, incy); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { tmp = ddot_(n, dx, incx, dy, incy); } return tmp; } template<> inline void axpy(const int* n, const double* da, const double* dx, const int* incx, double* dy,const int* incy) { if (Gblas::timekeeping) { clock_t start = clock(); daxpy_(n, da, dx, incx, dy, incy); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { daxpy_(n, da, dx, incx, dy, incy); } } /*************** Single specialization */ template<> inline void gemm(const char *ta,const char *tb, const int *n, const int *k, const int *l, const float *alpha, const float *A,const int *lda, const float *B, const int *ldb, const float *beta, float *C, const int *ldc) { if (Gblas::timekeeping) { clock_t start = clock(); sgemm_(ta,tb,n,k,l,alpha,A,lda,B,ldb,beta,C,ldc); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { sgemm_(ta,tb,n,k,l,alpha,A,lda,B,ldb,beta,C,ldc); } } template<> inline void pptrf(const char *uplo,const int *n, float* ap, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); spptrf_(uplo,n,ap,info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { spptrf_(uplo,n,ap,info); } } template<> inline void spgst(const int *itype, const char *uplo, const int *n, float* ap,const float *bp,int *info) { if (Gblas::timekeeping) { clock_t start = clock(); sspgst_(itype,uplo,n,ap,bp,info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { sspgst_(itype,uplo,n,ap,bp,info); } } template<> inline void tptri(const char *uplo,const char *diag, const int *n, float* ap,int *info) { if (Gblas::timekeeping) { clock_t start = clock(); stptri_(uplo,diag,n,ap,info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { stptri_(uplo,diag,n,ap,info); } } template<> inline void trmm(const char *side,const char *uplo, const char *transa, const char *diag,const int *m,const int *n, const float *alpha, const float *A,const int *lda, float *B,const int *ldb) { if (Gblas::timekeeping) { clock_t start = clock(); strmm_(side,uplo,transa,diag,m,n,alpha,A,lda,B,ldb); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { strmm_(side,uplo,transa,diag,m,n,alpha,A,lda,B,ldb); } } template<> inline void sygv(const int *itype,const char *jobz, const char *uplo,const int *n, float *A,const int *lda, float *B,const int *ldb, float* w,float* work, const int *lwork,int *info) { if (Gblas::timekeeping) { clock_t start = clock(); ssygv_(itype,jobz,uplo,n,A,lda,B,ldb,w,work,lwork,info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { ssygv_(itype,jobz,uplo,n,A,lda,B,ldb,w,work,lwork,info); } } template<> inline void ggev(const char *jobbl, const char *jobvr, const int *n, float *A, const int *lda, float *B, const int *ldb, float *alphar, float *alphai, float *beta, float *vl, const int *ldvl, float *vr, const int *ldvr, float *work, const int *lwork, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); sggev_(jobbl, jobvr, n, A, lda, B, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, work, lwork, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { sggev_(jobbl, jobvr, n, A, lda, B, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, work, lwork, info); } } template<> inline void potrf(const char *uplo, const int *n, float *A, const int *lda, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); spotrf_(uplo, n, A, lda, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { spotrf_(uplo, n, A, lda, info); } } template<> inline void trtri(const char *uplo,const char *diag,const int *n, float *A, const int *lda, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); strtri_(uplo, diag, n, A, lda, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { strtri_(uplo, diag, n, A, lda, info); } } template<> inline void syrk(const char *uplo, const char *trans, const int *n, const int *k, const float *alpha, const float *A, const int *lda, const float *beta, float *C, const int *ldc) { if (Gblas::timekeeping) { clock_t start = clock(); ssyrk_(uplo, trans, n, k, alpha, A, lda, beta, C, ldc); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { ssyrk_(uplo, trans, n, k, alpha, A, lda, beta, C, ldc); } } template<> inline void symm(const char *side,const char *uplo, const int *m,const int *n, const float *alpha, const float *A,const int *lda, const float *B,const int *ldb, const float* beta, float *C,const int *ldc) { if (Gblas::timekeeping) { clock_t start = clock(); ssymm_(side, uplo, m, n, alpha, A, lda, B, ldb, beta, C, ldc); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { ssymm_(side, uplo, m, n, alpha, A, lda, B, ldb, beta, C, ldc); } } template<> inline void pocon(const char *uplo, const int *n, const float *A, const int *lda, const float *anorm, float *rcond, float *work, int *iwork, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); spocon_(uplo, n, A, lda, anorm, rcond, work, iwork, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { spocon_(uplo, n, A, lda, anorm, rcond, work, iwork, info); } } template<> inline void stevx(const char *jobz, const char *range, const int *n, float *d, float *e, const float *vl, const float *vu, const int *il, const int *iu, const float *abstol, int *m, float *w, float *z, const int *ldz, float *work, int *iwork, int *ifail, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); sstevx_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, ifail, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { sstevx_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, work, iwork, ifail, info); } } template<> inline void stevr(const char *jobz, const char *range, const int *n, float *d, float *e, const float *vl, const float *vu, const int *il, const int *iu, const float *abstol, int *m, float *w, float *z, const int *ldz, int* isuppz, float *work, int* lwork, int *iwork, int* liwork, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); sstevr_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { sstevr_(jobz, range, n, d, e, vl, vu, il, iu, abstol, m, w, z, ldz, isuppz, work, lwork, iwork, liwork, info); } } template<> inline void syev(const char *jobz, const char *uplo, const int *n, float *a, const int *lda, float *w, float *work, const int *lwork, int *info) { if (Gblas::timekeeping) { clock_t start = clock(); ssyev_(jobz, uplo, n, a, lda, w, work, lwork, info); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { ssyev_(jobz, uplo, n, a, lda, w, work, lwork, info); } } /* LEVEL 2 */ template<> inline void gemv(const char *ta, const int *m, const int *n, const float *alpha, const float *A, const int *lda, const float *x, const int *incx, const float *beta, float *y, const int *incy) { if (Gblas::timekeeping) { clock_t start = clock(); sgemv_(ta, m, n, alpha, A, lda, x, incx, beta, y, incy); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { sgemv_(ta, m, n, alpha, A, lda, x, incx, beta, y, incy); } } template<> inline void symv(const char *uplo, const int *n, const float *alpha, const float *A, const int *lda, const float *x, const int *incx, const float *beta, float *y, const int *incy) { if (Gblas::timekeeping) { clock_t start = clock(); ssymv_(uplo, n, alpha, A, lda, x, incx, beta, y, incy); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { ssymv_(uplo, n, alpha, A, lda, x, incx, beta, y, incy); } } template<> inline void trmv(const char *uplo, const char *trans, const char *diag, const int *n, const float *A, const int *lda, float *x, const int *incx) { if (Gblas::timekeeping) { clock_t start = clock(); strmv_(uplo, trans, diag, n, A, lda, x, incx); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { strmv_(uplo, trans, diag, n, A, lda, x, incx); } } /* LEVEL 1 */ template<> inline void scal(const int* n,const float* da, float* dx, const int* incx) { if (Gblas::timekeeping) { clock_t start = clock(); sscal_(n, da, dx, incx); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { sscal_(n, da, dx, incx); } } #if 0 // Sdot has different return type in different BLAS implementations // Therefore the specialization for single precision is removed template<> inline float dot(const int* n, const float* dx, const int* incx, const float* dy, const int* incy) { float tmp; if (Gblas::timekeeping) { clock_t start = clock(); sdot_(n, dx, incx, dy, incy); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { sdot_(n, dx, incx, dy, incy); } return tmp; } #endif template<> inline void axpy(const int* n, const float* da, const float* dx, const int* incx, float* dy,const int* incy) { if (Gblas::timekeeping) { clock_t start = clock(); saxpy_(n, da, dx, incx, dy, incy); Gblas::time += ((float)(clock() - start)) / (CLOCKS_PER_SEC); } else { saxpy_(n, da, dx, incx, dy, incy); } } /* END OF SPECIALIZATIONS */ #endif /* Other */ template static void fulltopacked(const Treal* full, Treal* packed, const int size){ int pind=0; for (int col=0;col static void packedtofull(const Treal* packed, Treal* full, const int size){ int psize=(size+1)*size/2; int col=0; int row=0; for(int pind=0;pind static void tripackedtofull(const Treal* packed,Treal* full, const int size) { int psize=(size+1)*size/2; int col=0; int row=0; for(int pind=0;pind static void trifulltofull(Treal* trifull, const int size) { for(int col = 0; col < size - 1; col++) for(int row = col + 1; row < size; row++) trifull[col * size + row] = 0; } } /* namespace mat */ #endif /* GBLAS */ ergo-3.5/source/matrix/MatrixHierarchicBase.h0000664000175000017500000001567212743400307016251 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file MatrixHierarchicBase.h Base class for Matrix * * Copyright(c) Emanuel Rubensson 2005 * * @author Emanuel Rubensson @a responsible @a author * @date September 2005 * */ #ifndef MAT_MATRIXHIERARCHICBASE #define MAT_MATRIXHIERARCHICBASE #include "matInclude.h" #include "allocate.h" namespace mat{ /** Base class for Matrix and Matrix specialization * * @see Matrix * @see Permutation * */ template class MatrixHierarchicBase { public: /* No public constructors (!) */ inline bool operator==(int k) const { if (k == 0) return this->is_zero(); else throw Failure("Matrix::operator== only implemented for k == 0"); } /* Check if matrix is zero (k = 0) */ #if 1 inline const int& nScalarsRows() const {return rows.getNScalars();} inline const int& nScalarsCols() const {return cols.getNScalars();} #endif inline const int& nrows() const /* Number of rows in Telement matrix */ {return rows.getNBlocks();} inline const int& ncols() const /* Number of cols in Telement matrix */ {return cols.getNBlocks();} inline Telement& operator() /* Returns the element A(row, col) */ (int row, int col) { assert(elements); assert(row >= 0); assert(col >= 0); assert(row < nrows()); assert(col < ncols()); return elements[row + col * nrows()]; } inline const Telement& operator() /*Write protected reference returned*/ (int row, int col) const { assert(elements); assert(row >= 0); assert(col >= 0); assert(row < nrows()); assert(col < ncols()); return elements[row + col * nrows()]; } inline Telement& operator[] (int index) { assert(elements); assert(index >= 0); assert(index < nElements()); return elements[index]; } inline Telement const & operator[] (int index) const { assert(elements); assert(index >= 0); assert(index < nElements()); return elements[index]; } inline bool is_zero() const {return !elements;} inline int nElements() const { return rows.getNBlocks() * cols.getNBlocks(); } inline void resetRows(SizesAndBlocks const & newRows) { freeElements(elements); elements = 0; rows = newRows; } inline void resetCols(SizesAndBlocks const & newCols) { freeElements(elements); elements = 0; cols = newCols; } inline void getRows(SizesAndBlocks & rowsCopy) const { rowsCopy = rows; } inline void getCols(SizesAndBlocks & colsCopy) const { colsCopy = cols; } inline bool highestLevel() const { return (rows.getNTotalScalars() == rows.getNScalars() && cols.getNTotalScalars() == cols.getNScalars()); } /** Check if matrix is empty * Empty is different from zero, a zero matrix contains information * about blocksizes etc. * */ inline bool is_empty() const { return rows.is_empty() || cols.is_empty(); } protected: MatrixHierarchicBase() : elements(0) {} MatrixHierarchicBase(SizesAndBlocks const & rowsInp, SizesAndBlocks const & colsInp) : rows(rowsInp), cols(colsInp), elements(0) {} MatrixHierarchicBase(const MatrixHierarchicBase& mat); MatrixHierarchicBase& operator=(const MatrixHierarchicBase& mat); static void swap(MatrixHierarchicBase& A, MatrixHierarchicBase& B); virtual ~MatrixHierarchicBase(); SizesAndBlocks rows; SizesAndBlocks cols; Telement* elements; /* Length is nRows * nCols unless 0 */ #if 0 inline void assert_alloc() { if (this->cap < this->nel) { freeElements(this->elements); this->cap = this->nel; this->elements = allocateElements(this->cap); for (int ind = 0; ind < this->cap; ind++) this->elements[ind] = 0; } } #endif private: }; /* end class */ template /* Copy constructor */ MatrixHierarchicBase:: MatrixHierarchicBase(const MatrixHierarchicBase& mat) : rows(mat.rows), cols(mat.cols), elements(0) { if (!mat.is_zero()) { elements = allocateElements(nElements()); for (int i = 0; i < nElements(); i++) elements[i] = mat.elements[i]; } } template /*Assignment operator*/ MatrixHierarchicBase& MatrixHierarchicBase:: operator=(const MatrixHierarchicBase& mat) { if (mat.is_zero()) { /* Condition also matches empty matrices. */ rows = mat.rows; cols = mat.cols; freeElements(elements); elements = 0; return *this; } if (is_zero() || (nElements() != mat.nElements())) { freeElements(elements); elements = allocateElements(mat.nElements()); } rows = mat.rows; cols = mat.cols; for (int i = 0; i < nElements(); i++) elements[i] = mat.elements[i]; return *this; } template void MatrixHierarchicBase:: swap(MatrixHierarchicBase& A, MatrixHierarchicBase& B) { assert(A.rows == B.rows && A.cols == B.cols); Telement* elementsTmp = A.elements; A.elements = B.elements; B.elements = elementsTmp; } template MatrixHierarchicBase::~MatrixHierarchicBase() { freeElements(elements); elements = 0; } } /* end namespace mat */ #endif ergo-3.5/source/matrix/Allocator.h0000664000175000017500000000701612743400307014141 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MAT_ALLOCATOR_HEADER #define MAT_ALLOCATOR_HEADER #include namespace mat { template class Allocator { public: Allocator(int noOfRealsPerBuffer_, int noOfBuffers_) : noOfRealsPerBuffer(noOfRealsPerBuffer_), noOfBuffers(noOfBuffers_) { buffer = new Treal[noOfBuffers * noOfRealsPerBuffer]; nextFreeIndexList = new int[noOfBuffers]; // Initialize nextFreeIndexList to indicate that all slots are free. for(int i = 0; i < noOfBuffers-1; i++) nextFreeIndexList[i] = i + 1; nextFreeIndexList[noOfBuffers-1] = -1; // last one points to -1 firstFreeIndex = 0; noOfOccupiedSlots = 0; } ~Allocator() { delete [] buffer; delete [] nextFreeIndexList; } Treal* alloc() { if(firstFreeIndex < 0) throw std::runtime_error("Error in Allocator::alloc(): no free slots."); Treal* ptrToReturn = &buffer[firstFreeIndex*noOfRealsPerBuffer]; int firstFreeIndex_new = nextFreeIndexList[firstFreeIndex]; nextFreeIndexList[firstFreeIndex] = -1; firstFreeIndex = firstFreeIndex_new; noOfOccupiedSlots++; return ptrToReturn; } void free(Treal* ptr) { if(ptr < buffer || ptr >= &buffer[noOfBuffers * noOfRealsPerBuffer]) throw std::runtime_error("Error in Allocator::free(): unknown ptr."); int count = ptr - buffer; if((count % noOfRealsPerBuffer) != 0) throw std::runtime_error("Error in Allocator::free(): bad ptr."); int bufferIdx = count / noOfRealsPerBuffer; if(nextFreeIndexList[bufferIdx] != -1) throw std::runtime_error("Error in Allocator::free(): -1 not found."); nextFreeIndexList[bufferIdx] = firstFreeIndex; firstFreeIndex = bufferIdx; noOfOccupiedSlots--; } bool isFull() { if(noOfOccupiedSlots == noOfBuffers) return true; return false; } bool isEmpty() { if(noOfOccupiedSlots == 0) return true; return false; } bool ownsPtr(Treal* ptr) { if(ptr < buffer || ptr >= &buffer[noOfBuffers * noOfRealsPerBuffer]) return false; return true; } int getNoOfOccupiedSlots() { return noOfOccupiedSlots; } private: int noOfRealsPerBuffer; int noOfBuffers; Treal* buffer; int* nextFreeIndexList; int firstFreeIndex; int noOfOccupiedSlots; }; // end class Allocator } /* end namespace mat */ #endif ergo-3.5/source/matrix/FileWritable.cc0000664000175000017500000004625212743400307014735 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file FileWritable.cc Implementation of the abstract class FileWritable * for simple writing and reading of objects to/from file. * * Copyright(c) Emanuel Rubensson 2006 * * @author Emanuel Rubensson @a responsible @a author * @date September 2006 * */ #include /* system */ #include #include /* For FILE sprintf*/ #include /* For strcpy */ #include #include #include #include #include #include #include "FileWritable.h" #include "Failure.h" #include "matInclude.h" #include namespace mat { unsigned int FileWritable::nObjects = 0; char* FileWritable::path = NULL; bool FileWritable::active = false; void FileWritable::setPath(char const * const newPath) { if (nObjects != 0) throw Failure("FileWritable::set_path(char*) : It is not allowed " "to set the path after instantiation of objects."); if (newPath == NULL) throw Failure("FileWritable::set_path(char*) : newPath == NULL."); if (path != NULL) delete[] path; path = new char[strlen(newPath)+2]; strcpy(path, newPath); strcat(path,"/"); } void FileWritable::activate() { if (nObjects != 0) throw Failure("FileWritable::activate() : It is not allowed to " "activate filewritable after instantiation of objects."); active = true; } void FileWritable::writeToFile() { if (objectIsOnFile) throw Failure("FileWritable::writeToFile(): " "Object is already on file."); Time t; t.tic(); if (FileWritable::active) { std::ofstream file(fileName, std::ios::out|std::ios::binary); file.exceptions( std::ofstream::eofbit | std::ofstream::failbit | std::ofstream::badbit ); if (!file.is_open()) throw "FileWritable::writeToFile(): unable to open file. "; try { this->writeToFileProt(file); file.close(); } catch (std::ofstream::failure& e) { /* FIXME: We should not be doing memory allocation in error handling. */ std::string errstr("FileWritable::writeToFile(): write to file failed : " ); errstr += e.what(); errstr += "\n"; errstr += "Error (strerror(errno)): "; errstr += strerror(errno); throw strdup(errstr.c_str()); } // Free memory used by object. this->clear(); } this->inMemorySet(false); objectIsOnFile = true; Stats::instance().wallTimeWrite[obj_type_id()] += t.toc(); ++Stats::instance().countWrite[obj_type_id()]; } void FileWritable::readFromFile() { if (!objectIsOnFile) throw Failure("FileWritable::readFromFile(): Object is not on file."); Time t; t.tic(); this->inMemorySet(true); if (FileWritable::active) { std::ifstream file; // ELIAS NOTE 2012-02-24: There was a strange error where // "std::ios_base::failure was thrown with what(): 'basic_ios::clear'". // Another try/catch was added here to try to understand what was happening. try { // open file file.exceptions( std::ifstream::eofbit | std::ifstream::failbit | std::ifstream::badbit ); file.open(fileName, std::ios::in|std::ios::binary); } catch (std::ifstream::failure& e) { std::stringstream ss; ss << "Exception std::ifstream::failure caught in FileWritable::readFromFile() when trying to open file. fileName = '" << fileName << "'. what(): '" << e.what() << "'."; std::string errstr = ss.str(); errstr += "\n"; errstr += "Error (strerror(errno)): "; errstr += strerror(errno); std::cerr << errstr << std::endl; throw std::runtime_error(errstr); } if (!file.is_open()) throw "FileWritable::readFromFile(): unable to open file. "; try { this->readFromFileProt(file); file.close(); } catch (std::ifstream::failure& e) { /* FIXME: We should not be doing memory allocation in error handling. */ std::string errstr("FileWritable::readFromFile(): read from file failed : " ); errstr += e.what(); errstr += "\n"; errstr += "Error (strerror(errno)): "; errstr += strerror(errno); throw strdup(errstr.c_str()); } // delete file unlink(fileName); /* */ } objectIsOnFile = false; Stats::instance().wallTimeRead[obj_type_id()] += t.toc(); ++Stats::instance().countRead[obj_type_id()]; } static long int get_file_size(const char* fileName); void FileWritable::copyFromFile(const char* sourceFileName) { clear(); if (FileWritable::active) { // Open source file for reading. std::ifstream inFile; inFile.exceptions( std::ifstream::eofbit | std::ifstream::failbit | std::ifstream::badbit ); inFile.open(sourceFileName, std::ios::in|std::ios::binary); if (!inFile.is_open()) throw std::runtime_error("FileWritable copyFromFile error: unable to open file for reading."); // Open destination file for writing. std::ofstream outFile; outFile.exceptions( std::ifstream::eofbit | std::ifstream::failbit | std::ifstream::badbit ); outFile.open(fileName, std::ios::out|std::ios::binary); if (!outFile.is_open()) throw std::runtime_error("FileWritable copyFromFile error: unable to open file for writing."); // Copy data. try { outFile << inFile.rdbuf(); } catch (std::ofstream::failure& e) { throw std::runtime_error("FileWritable copyFromFile error: failed to copy data. Out of disk space?"); } inFile.close(); outFile.close(); /* Verify that file was really copied. */ long int sz1 = get_file_size(fileName); long int sz2 = get_file_size(sourceFileName); if(sz1 < 0 || sz2 < 0 || sz1 != sz2) throw std::runtime_error("FileWritable copyFromFile error: file sizes do not match after copying."); } else { std::ifstream file; // open file file.exceptions( std::ifstream::eofbit | std::ifstream::failbit | std::ifstream::badbit ); file.open(sourceFileName, std::ios::in|std::ios::binary); if (!file.is_open()) throw "FileWritable copyFromFile error: unable to open file."; this->readFromFileProt(file); file.close(); writeToFile(); // since active is false, it will just change a flag objectIsOnFile to true } } void FileWritable::copyToFile(const char* destFileName) { if (!objectIsOnFile) throw Failure("FileWritable::copyToFile(): Object is not on file."); if (FileWritable::active) // if ergo flag is set, it means matrix is in the temporary file, // thus just copy a file { // Open source file for reading. std::ifstream inFile; inFile.exceptions( std::ifstream::eofbit | std::ifstream::failbit | std::ifstream::badbit ); inFile.open(fileName, std::ios::in|std::ios::binary); if (!inFile.is_open()) throw std::runtime_error("FileWritable copyToFile: unable to open file for reading."); // Open destination file for writing. std::ofstream outFile; outFile.exceptions( std::ifstream::eofbit | std::ifstream::failbit | std::ifstream::badbit ); outFile.open(destFileName, std::ios::out|std::ios::binary); if (!outFile.is_open()) throw std::runtime_error("FileWritable copyToFile error: unable to open file for writing."); // Copy data. try { outFile << inFile.rdbuf(); } catch (std::ofstream::failure& e) { throw std::runtime_error("FileWritable copyToFile error: failed to copy data. Out of disk space?"); } inFile.close(); outFile.close(); /* Verify that file was really copied. */ long int sz1 = get_file_size(fileName); long int sz2 = get_file_size(destFileName); if(sz1 < 0 || sz2 < 0 || sz1 != sz2) throw std::runtime_error("FileWritable copyToFile error: file sizes do not match after copying."); } else // flag is not set, create a new file { readFromFile(); // since active is false, it will just change a flag objectIsOnFile to false std::ofstream file(destFileName, std::ios::out|std::ios::binary); file.exceptions( std::ofstream::eofbit | std::ofstream::failbit | std::ofstream::badbit ); if (!file.is_open()) throw "FileWritable copyToFile: unable to open file. "; try { this->writeToFileProt(file); file.close(); } catch (std::ofstream::failure& e) { throw std::runtime_error("FileWritable copyToFile: failed to copy data."); } writeToFile(); // since active is false, it will just change a flag objectIsOnFile to true } } long int FileWritable::fileSize() { if ( !isOnFile() ) throw std::runtime_error("Attempt to get file size for object " "not on file"); if ( !FileWritable::active ) return 0; FILE * fptr; fptr = fopen ( fileName , "rb" ); if ( fptr == NULL ) throw std::runtime_error("FileWritable::fileSize(): fptr == NULL"); fseek( fptr, (long int)0, SEEK_END ); long int sz = ftell( fptr ); fclose ( fptr ); return sz; } void FileWritable::resetStats() { Stats::instance().wallTimeWrite.clear(); Stats::instance().wallTimeRead.clear(); Stats::instance().wallTimeCopyAndAssign.clear(); Stats::instance().countWrite.clear(); Stats::instance().countRead.clear(); Stats::instance().countCopyAndAssign.clear(); } std::string FileWritable::getStatsTime(TypeTimeMap & theMap) { double totalTime = 0; std::stringstream ss; TypeTimeMap::iterator it; bool firstIter = true; for ( it=theMap.begin() ; it != theMap.end(); it++ ) { if (firstIter) firstIter = false; else ss << " + "; ss << std::setprecision(2) << (*it).second << " s (" << (*it).first << ")"; totalTime += (*it).second; } if (!firstIter) ss << " = "; ss << std::setprecision(2) << totalTime << " s"; return ss.str(); } std::string FileWritable::getStatsCount(TypeCountMap & theMap) { int totalCount = 0; std::stringstream ss; TypeCountMap::iterator it; bool firstIter = true; for ( it=theMap.begin() ; it != theMap.end(); it++ ) { if (firstIter) firstIter = false; else ss << " + "; ss << (*it).second << " (" << (*it).first << ")"; totalCount += (*it).second; } if (!firstIter) ss << " = "; ss << totalCount << " "; return ss.str(); } std::string FileWritable::getStatsTimeWrite() { return getStatsTime( Stats::instance().wallTimeWrite ); } std::string FileWritable::getStatsTimeRead() { return getStatsTime( Stats::instance().wallTimeRead ); } std::string FileWritable::getStatsTimeCopyAndAssign() { return getStatsTime( Stats::instance().wallTimeCopyAndAssign ); } std::string FileWritable::getStatsCountWrite() { return getStatsCount( Stats::instance().countWrite ); } std::string FileWritable::getStatsCountRead() { return getStatsCount( Stats::instance().countRead ); } std::string FileWritable::getStatsCountCopyAndAssign() { return getStatsCount( Stats::instance().countCopyAndAssign ); } FileWritable::FileWritable() : IDNumber(nObjects), objectIsOnFile(false) { nObjects++; if (nObjects >= 2147483647) /* 2^31 - 1 */ throw Failure("FileWritable::FileWritable(): To many (2^31 - 1) " "allocated objects"); /* Assign filename: */ char buffer [30]; sprintf(buffer, "tmp%010i.obj", IDNumber); // itoa(IDNumber,buffer,10); /* stdlib.h */ if (path != NULL) { fileName = new char[strlen(path) + strlen(buffer) + 10]; strcpy(fileName, path); strcat(fileName, buffer); } else { fileName = new char[strlen(buffer) + 10]; strcpy(fileName, buffer); } Manager::registerObj(this); } FileWritable::~FileWritable() { Manager::unRegisterObj(this); // Remove file if it exists if (FileWritable::active && objectIsOnFile) unlink(fileName); // free memory used for file name string. delete []fileName; } static long int get_file_size(const char* fileName) { FILE * fptr = fopen ( fileName , "rb" ); if ( fptr == NULL ) return -1; fseek( fptr, (long int)0, SEEK_END ); long int sz = ftell( fptr ); fclose ( fptr ); return sz; } /* ELIAS NOTE 2012-02-29: Earlier, the file copying for FileWritable was done using a "cp" call to the system() function, but that turned out to be unreliable. Copying that way failed for some large cases like the Umeda molecule. Doing it using "outFile << inFile.rdbuf()" seems to work better. */ static void copy_file(const char* sourceFileName, const char* destFileName) { // Open source file for reading. std::ifstream inFile; inFile.exceptions( std::ifstream::eofbit | std::ifstream::failbit | std::ifstream::badbit ); inFile.open(sourceFileName, std::ios::in|std::ios::binary); if (!inFile.is_open()) throw std::runtime_error("FileWritable copy_file error: unable to open file for reading."); // Open destination file for writing. std::ofstream outFile; outFile.exceptions( std::ifstream::eofbit | std::ifstream::failbit | std::ifstream::badbit ); outFile.open(destFileName, std::ios::out|std::ios::binary); if (!outFile.is_open()) throw std::runtime_error("FileWritable copy_file error: unable to open file for writing."); // Copy data. try { outFile << inFile.rdbuf(); } catch (std::ofstream::failure& e) { throw std::runtime_error("FileWritable copy_file error: failed to copy data. Out of disk space?"); } inFile.close(); outFile.close(); /* Verify that file was really copied. */ long int sz1 = get_file_size(sourceFileName); long int sz2 = get_file_size(destFileName); if(sz1 < 0 || sz2 < 0 || sz1 != sz2) throw std::runtime_error("FileWritable copy_file error: file sizes do not match after copying."); } FileWritable::FileWritable(FileWritable const & other) : IDNumber(nObjects), objectIsOnFile(other.objectIsOnFile) { nObjects++; if (nObjects >= 2147483647) throw Failure("FileWritable::FileWritable(): To many (2^31 - 1) " "allocated objects"); Time t; t.tic(); /* Assign filename: */ char buffer [30]; sprintf(buffer, "tmp%010i.obj", IDNumber); // itoa(IDNumber,buffer,10); /* stdlib.h */ if (path != NULL) { fileName = new char[strlen(path) + strlen(buffer) + 10]; strcpy(fileName, path); strcat(fileName, buffer); } else { fileName = new char[strlen(buffer) + 10]; strcpy(fileName, buffer); } if (FileWritable::active && objectIsOnFile) { copy_file(other.fileName, fileName); } Stats::instance().wallTimeCopyAndAssign[other.obj_type_id()] += t.toc(); ++Stats::instance().countCopyAndAssign[other.obj_type_id()]; Manager::registerObj(this); } FileWritable& FileWritable::operator=(FileWritable const & other) { Time t; t.tic(); /* validSet(bool valid) should be called */ if (FileWritable::active && objectIsOnFile) { unlink(fileName); } objectIsOnFile = other.objectIsOnFile; if (FileWritable::active && objectIsOnFile) { copy_file(other.fileName, fileName); } Stats::instance().wallTimeCopyAndAssign[other.obj_type_id()] += t.toc(); ++Stats::instance().countCopyAndAssign[other.obj_type_id()]; return *this; } void FileWritable::Manager::registerObj(FileWritable* objPtr) { ObjPtrSet & obj_ptr_set = instance_prot().obj_ptr_set; std::pair ret = obj_ptr_set.insert( objPtr ); if ( ret.second == false ) throw std::runtime_error("Attempt to register object already in " "object set."); } void FileWritable::Manager::unRegisterObj(FileWritable* objPtr) { ObjPtrSet & obj_ptr_set = instance_prot().obj_ptr_set; if ( obj_ptr_set.erase( objPtr ) != 1 ) throw std::runtime_error("Attempt to unregister object not " "in object set."); } std::string FileWritable::writeAndReadAll() { ObjPtrSet const & obj_ptr_set = Manager::instance().obj_ptr_set; ObjPtrSet objs_to_read; ObjPtrSet::const_iterator it; for ( it=obj_ptr_set.begin() ; it != obj_ptr_set.end() ; it++ ) { if ( !(*it)->isOnFile() ) { objs_to_read.insert( *it ); (*it)->writeToFile(); } } // end for // Now all objects should be on file. std::string str = getStatsFileSizes ( objs_to_read ); // Now we read in the ones that were previously in memory. for ( it=objs_to_read.begin() ; it != objs_to_read.end() ; it++ ) (*it)->readFromFile(); return str; } // end writeAndReadAll() std::string FileWritable::getStatsFileSizes() { return getStatsFileSizes( Manager::instance().obj_ptr_set ); } std::string FileWritable::getStatsFileSizes( ObjPtrSet const & oset ) { typedef std::map TypeSizeMap; TypeSizeMap sizes; typedef std::map TypeCountMap; TypeCountMap counts; TypeCountMap counts_large; // Collect information { ObjPtrSet::const_iterator it; for ( it=oset.begin() ; it != oset.end() ; it++ ) { if ( (*it)->isOnFile() ) { std::string obj_type = (*it)->obj_type_id(); long int fs = (*it)->fileSize(); sizes[obj_type] += fs; ++counts[obj_type]; if (fs > 1000000) ++counts_large[obj_type]; } } // end for } std::stringstream ss; // Print info to string { long int totalSize = 0; int totalCount = 0; int totalLargeCount = 0; TypeSizeMap::iterator it; bool firstIter = true; for ( it=sizes.begin() ; it != sizes.end(); it++ ) { if (firstIter) firstIter = false; else ss << " + "; ss << std::setprecision(2) << (*it).second / (double)1000000 << " MB (" << counts[(*it).first] << " " << (*it).first << ", " << counts_large[(*it).first] << " > 1 MB)"; totalSize += (*it).second; totalCount += counts[(*it).first]; totalLargeCount += counts_large[(*it).first]; } if (!firstIter) ss << " = "; ss << std::setprecision(2) << totalSize / (double)1000000 << " MB (" << totalCount << " total, " << totalLargeCount << " > 1 MB)"; } return ss.str(); } } /* end namespace mat */ ergo-3.5/source/matrix/matrix_D0000775000175000017500000155551012743400275013561 00000000000000çl•µx@2Š'’È¿¿ˆqW„?Zzáeo!¾lþ'îh¿A¡ØûFr•?cö˽0¬¿d/²cC½t?(£j°êi>«3ÜÏdµ?!ª 6sg?yl°ü~ †¿P(’?îb¿éä–°½sw:Ÿ”?`<µ£:I¿Z;»MàCh?¡‚$Ó°ei?Èø¬ƒ™ =ÉíW ÆnC¿=ë:ÿ’1¿‹°; `‰R?QÐ+«ùÅZ?•Ý{,Ì©y½ä©Jq˜E¿¹½£¤ ¡?îü Që@¿$éM]?qq¶&´‘9½êºÙ”º@?A.6êŸ?~"Ç>#¿¨‡60»Þ¾uVt…½ýÑU‡ö.?í ¼° Eð¾ ׂ~2?åÔ²L y?¥xÀåÜ=îÃ)·5—ç¾­TtåóÓ¾û#{üOõ>2ŠÔIP?ðUB÷ì½"ï¹(N®è¾bPXšÍÂ>[Aë!bQ侇Yq”c¿>9cbÎ<=fâyuã>EXÜ콦>Íï×µýȾbßCA]øt¾ÎÙmbï=åß24oÔ>‰€¦ÙWQ•¾b4)( ¸>ñöœV0·>”,CùT"½MßÞ1¸Þ‡¾û¹ô˜´1{¾Ò-õxøž>ª¥¬_R§>últ öŽî<ÍÙðû¾Þ›üÙ”i>®UwŽÑôŒ¾Ñ<œg8i>®?ŸéìíÐ<^äYôW‹>ùv@žÁžP>RãA´9ir¾:骘`¾½(ë­ØÑZzmL?¾Ú«ì3¹Ça>äRA’~a>ˆÍ5U†òq<¹íñe¸ó*¾lÏ÷üßÍ$¾€ôfG&G>p¾Êy²Q>Zau̘D_¼ðà‡}¨“8¾6…ˆÿ>ÿ‡Hu\6¾~g†Lß>þ ¦1û¦k<Qœaû‰4>9£Òúæüû=µÛʯoy¾nHÒm«é=yM¸xh¬‡¼ÌÀo _'>õ"Ý«DŒì½õ¥ÜÊô|>G3Ì7ºê >Åë,à™LT<¸ŸlRÓ=~Ú¢d D‰?­çòGœ¿iÚò3ßqº?ïï%ÿ3ß½å‰+êä§¿6¡K‹¯`~¿Æ_ÃIÅ ?joËúÔU‹? æ‘Þ½sp³$K[œ¿W™OŸÝD?:â õ¯j¿¦ëŠuÍT¿²ÿÈÒBEž=ª‚S*Tùc?pÊfõÆ¿xÿÚÁÆ7?s!¸K¾.?Á&ÛOuÃT=J„5W>+¿°«‡‰NŽå>{‚ …à ¿CÈ\Fð¾w„ß²o”ù¼Õ»ƒ£?FV %kû¸¾´/ZjØAà>Ï áþoƒÔ>i ¬å†&Q=¸+XϨо†²5ä>¯{sOг¾XÄÍà×@”¾ïýÝæY0×* ˜¡WBb¾ÈÔ¤a÷‡>½Ù´2>ç}>6ºh5Ûýå¼è¤¶²{*w¾í*ÄGª6>8×éÐÞ]¾UA]‘;¾ Oû÷W±<{Ê`V>^†Çb » ¾_EñQ3>íìzáÖ,'>3Uë§°~v<–)£Lv¾šËΑ2ð`¿Û××'D¶u?EϪcƒ?Ü:rç^ˆÄ½Y|&&Õ¬¿ ”ýÆñ¾>]3ZxM#?Žç7{ iY?nF=å…=´ÉžñÄqW?¶—XëB Î>nd%¨aú¾Þá/ËÆw%?$ŠÐê8¥Q=ë_óäü?”:«î¾ uŠ%ÅÆ>Àn¾Â?æ>ÖØèW½Þ7ÝëÃú><Û+ÑIas>YM01†R¤¾N‰%‚ÍÐ>·)ÜÀL½þg²ü)> ±¤r³H¾BËÆFئy>ž°Â²®M> Êͳ†Ð<&~ËR§¢>ûÂ>-x >1:c³ÄP¾]l ·ƒy>TÏ%4dî¼ ˆ%æó6>ˆeË’›zö½™#âÇÜ[&>ô(5ó®I8>–žwcTÀu>‰~°Ð=¤u¤Ò<ÿ½¿׎´C#>.ë. ‡³I¼ÕÍ™h¡Jð=»M ³<§½Pþ:øÝÍ×=0¤P ‘aô={ÏŽçÚp_¼q´Ü•_nÈ=p­GZsÝ=¢x)’\„¾V~«ñ6é½ÛýO‰æO¼©É˜a1>­c“ùyr»¿vÝÿyr»¿­9 8È/˜? †4È/˜?º€v%'s?õÊ'o–¸5?Yª}–¸5?ºPCÐä^ü¾s¼hW8õ¾OÇ„£V8õ¾¯§+‰Ïþ>;²ÊÖfë˾b:(³fë˾áÂÚsľ£?šjÇ4£>_Ä„Ç4£>&…'g0[•>æ}¹žiÂx¾f7àgÂx¾Oç‡Ðpg¾„O½É¢P> È¢P>ü 1Eê9>€r¾ü&¾¯¤IŠ&¾Š-KÎà ¾H"˜v¥þ=ºœ ›¥þ=i†DíÙÐè=¶$ðá•Ö½fñÌâ•Ö½[ÝÅ̦þ=2Š'’È¿$’³í¿úë?69Š¢JŠ¿¬àW5>V,ÎÓzЧ?UÃÙ­¿ðôNGK ³?ÂÝ t•‡š¿×J¬bï ¾ù[ ÄúäÅ¿´‰,ÿ°ƒ¿ŠÀrÃ9¡?P wœ‡E‚?Å> ³šØ=Ó}áï,´¿Ú-õÒ!h?G…orqÅ…¿V°]³³‡¿ÔIVÕJ =Zèæ #h?¦;I»¦ôQ?°UØD¤r¿»ªW¾ò{¿ (èg“è•=ƒ6ô¿€g?ñI¿ô`^@¿œÁ‰Èa?ÏõóT›'¿UÂTD.s=ˆ“†|òa¿·’ÀÉPÄ"¿ÓZ˲zD?È„æî#?ã\ˆ÷ïS="j ’ñû¿¿ŸøÖÐ!¿~úù,˜*=ófâr ?Z‡Y'Üã¾VÔrNœ+?ßEÁ_~ྈP5ê_½Gû¹÷X¿Œ%Âù ìȾÔF;gTë>7-êB>¤œ>/ÃÉ®==½_J¼½õŒö¾?ƒ.§*’·>2X:*„Ú¾÷ÀpÒ™Ù¾&«Eë¾ #= ve*‡a«>\Qóž>zlGˆì‘À¾m‰Ì‹«É¾Ÿ‘„š3½#!%‚lþ²>]™ßntŒ¾Áê„°>Y99µ¾‹¾Ü@ºzÅlò¼¾%å1i®¾`DØNr¾EüÝø<}”>ÂIÚµÅR/>¼R3¦‹¸Ï¼~M «Û ¾ýÚÁ@a>2¦,K܃¾0 Ïw3ƒ¾j„Ü_Jßv¼{U³©NN>ÕÝ›¢Émž:§ïi¾[§~æàs¾±:·£<Ú„B­Ë£[>Ä =Ãù÷5¾¹‘áåY>ƒõQäÄ9¾¨ŽÃó6lp¼dôLW¾$µ–xó޾^Ö‘2ÀA>Œ búU ¾éìÈyþ¤£<£L&bJ¾ŒuzÀÕ!>¦ 3-4<1¾9QSă/¾çŽ )¥c¼Mb=e5¦ö½öE`½–•¿å5¥Ù Ý ¿p‡[Aˆ˜Ò¿³RBOç >ᦤþ¦À?“Ÿ Ò×{›?‰{•L¸½¿ìÉÞ U«¿-T7ûxò꽄ªc¼?-¨PËÝe¿#cÞ ÍŠ?ŠPˆÕw?×é(/ý˽ï’*…¿‰Íx"åì3?r.õqïòX¿ðåä¸sP¿oµfqìÌ|½ÙïõÁ5N?ëÐ]ظx¿ÇÏ6.?Ž'ÀoK?¥¸ƒNL=\#iì–É'¿vn|«r}Û>ÌÙ«½×¿µa˜÷J¤ö¾þÓ€Cvs½AŒ³_nšò>HGÏ/’°¾(“¬Â&¢Õ>T·|¸Ķ>õ¤6AÕ=ü¼ïK–¯zоY+`¶ÿ_„>uLûeg¹ª¾Ìô8…´ ¾èEƒåž=™‹=Oõ™>+ë,ÓlY¾@w¢‚9À€>©Öê•Âô^>'¼õ+éƒÔ¼"‹;Ù²x¾¿Çë10>ÉüõXl}U¾ÑöúJ¾ð&²Õ¿­ ¼ì?êéÞ»A>óÍxä±Op?`Ú¸ç(Ï ¿Þ0-ð"ޱ¿ìA;06m¾2¼‚:²@Ñ?¿Mó×ô¾&Y÷{;6.¿ÇnŸ>x¿¥•¸É¼³½0'øAò}¿F뾓 ÌJµŸ?ô„;àµF¿Ù~¾–Ûƒt½ÖÉ‚»þ1¿ƒM•L㬢>kw 40ã¾,fÝ2†%¿ê3žñ~G@=$¹™kQ¿¡Ø-`4‘“¾åO ûˆÅ> 4àºò¾úßÊ?Wp=›Ö 3Ü‚›¾+¢¸®7E±¾_|T‰¼ó¼ÈÓ†(k ž35z9¸óA¾þy”fr>Òttþœ¾ L¯Â =ƒ’œ'Y-R¾cÙÙï>.ð’øÄðH¾m¾=IÅZ¾â¤7#§sâ¼øÜÔ&p¾‚¦·‰+ò½Ê‰V !>jR`!ÆE¾]uþv¼-ÊÉ»‚9¾ÕX,¨iÊ=³R÷• û½`ÌM$ñ¾É°ù…<`{Që½æzLü௾ï{ükhC'>Å JCZ >`$\»øq<Ñ(—/#)¾eï‰Í?ÊqA ‰Í?~âß¾/:¹¿q!8¿/:¹¿tZøe(0‹¿è»”«|f¿º‘˜°«|f¿ ‰Bõÿ¿*2K#}!?M¤Ò#}!?LðCqV¬ ¿õxrâMÕé>é+1µMÕé>˜1äå>²¯-ֱþ¸;ó±Ã¾çpj“¬,¶¾ÇrD³Cš>ȈîH±Cš> ùK¥üЈ>t,E×2r¾[ÑéÕ2r¾Öóó(©[¾'îï•‘H>.H!8‘H>³‹³É0>ðÃqµˆF!¾•¨ÄA‰F!¾   fk ¾ õ¾ù=qt1€¾ù=!*éi)!¾¿ˆqW„?69Š¢JŠ¿ÆçÆ 6>ä?h˜¤ú>%í Uâ~Ÿ?òäê$t-U¿…¯fØVf?:2G£Ð ?CíB@lû½ÓýhŒ/{E¿!à#|Vòn?Äýmþy=K¹crz ¿ÑÓ<Å Æ?S­ /Å+@¿Pµ p®/?ÇXÁáT=!yÙo7?:{®l¸?pôK8¥o$¿qoÙc?ZÂGhg6=¹;ö9G)?+ɉ} æ¾nõC«B— ?‹!ÞòéÉ ?–êëîÉ.=òßOGÛð>}¯3Ó¾“0 ‰÷>Ü1›œ;“ý>8÷0%{àÊ<öoûú¤oÔ¾(~­°»>¤ö½Úøá¾ öVÎûÑ>Ä-ré¬ÚD=›q0R¤Ü>¦§^´U§>ÄZ;‰À˾:lB;Šx¥>…bÁóF:$=”OÎE~Ò>ÉA«³è¼‘¾_ñ[Ÿƒ¶>3»ˆÖ´>NQ½Ú—w˜YU}¾•m¡pXO¡>N{cð–p§>¤[tã_ļ¯jVi„¾gæ¶» g>m¼ëEüÊŒ¾Ã‚öLy>§ƒ%È?ð<–ÜØÝò‡>½Šû¸¤äR> —9.v¾¥ÀÚï›L>)Ûb¡©¼CÓæ/>Œ,æ5Áx>¾ZâýÚb>ìN®´ža>àc^Õº º¼<Û»ûšà2>5Âì­h)¾GÏ©gIM>2—°ÈCWT>ËýŠ$›<Ü,nEß2¾Âj^„¯>£4 iï|9¾›7Üd#&>-!lŠK ¼N¥®)^/5>-§ÕJ‚ >}^Îå66%¾í¡+/>TOå|Å‚µ¼?‰'ýq,>iŸèþþò½ÅH7PÆ´>H(v£Z×>]ëšÀ£<ܺd\‘÷=P±›°¿Š5šÒlÄ?P‰n±à¿ \&ZCÄæ=_‡{ŸëCÎ?æˆÍ_4‘¿n¤'[¦S´?d&«œ?£P}—ؽ/ñ<éT™¿w·Ï®,-BjIëßÏ ¿Ì@OýbÇ>8íÑœšy)½›:û(ÖÒù>×ôuY—¶¾J»1–µÅß>‚÷ðg@RÏ>cœÖפ½‰mÜ™p³¾Ã}é!Œ>Äœ)«´¾QÞG¾ü;ÀÓ[ôø¼ð+(¾©¥>¨ý·XGIb¾»×Ñ Öω>»Á‰)²ªz>TzÊ T ê¼d4½B.'f¾^ð`oI8>´4v¾ a¾pÁ¼÷¾°K_¹<ç‰ÌºUS>y¯dΰоE™7>òö¨Š’‚(>ÿ\èM5£<ÆZW‡»¾ºX·åe‹?©j¸!Ë£¬¿!*€Õ•¢?S,œ<¡ ⽤›µëì\z¿Eõg®C@¿’ü9‚ç=c?©n6ˆÆq?§>ÃIÒZh=«ØÈè0c¿¡‡³GÕæ>àÙ ®Ô¿ÒË:ì;à?WðB8ãe½á­ùìFû ?ϽY #À¾ %¦Ý¢ßê>&â2‰ùÀû>JU¢´É½6—)ãîß>§ugšñN‘>ÈXkòV½¾3±­°Ä>w',¯ðÿ>½y >@Ê>Fô¬ÍÈÞb¾‹us—*>>Í(ô­rÉ¡> Súû¼WÁuø›>4†½œ\œ6>û2Tߨ­c¾ɋƯr>wd<fôï¼tÝÃ5Kp>5T ! ¾4;Dhµ8>ž©ÊëÌJ>-ìmGÈÎP²Ñ*½â=4$’ÔP¾Ÿô§Ÿ”ù!>²Ø—lœ‚<(·\w_>ñŸÿ0µ½ñ¼wPÁå=z ¦Ëý=F€¯Ý£š¼ê?Öv·=}7© rýä=ÃÈ¥§.J¾Tº_Öòºá½òñpp¦´¼ÙÌ ®ç >Úo”g.п äg.п$'ÖQqÀ¿TAQqÀ¿K÷uØ öa¿êûúæ0¿O§5 ç0¿³–(Í®w<¿Ûm•©5^?6¸¥§5^?YU•Ü2ÿ>#&I§[Sð¾¿ãv¦[Sð¾*›¯ó-ƾŒ%ÁEi¿> ESi¿>)tž…í>8wm¦95’¾,ht”95’¾ ÆÎþq¾[Ú‰þ Ýe>Êi o Ýe>e¬Þu [D>_d»E;¾Ù\Ñl»E;¾UEÀk”¾³@˜yT!>~ëT!>T,þiZZò=œŠ`e‹­ë½ÞQ‰'­ë½ó®æÐr·>Zzáeo!¾¬àW5>h˜¤ú>}Škófæ? §WRã=_OpQ¹í=Ó¯È2â¾9Û‡0Ù⽘[í¬ ¨?žSà >ÑY…[¡À=7uª´ûx¼=êR«JGš=“]*¡ƒ¬d¿ï)pÐ=ô>Ãhmq”=œAˆÓóP½½®ö‘!R¹½™ÙE“+`m?¸¹!$œ¶=fv&{–Un=§‰òÜö‘½ Ä_韽KÎBfÑ5¿mpI8%=—ÈcN²`S½Hbæ¾âÄq=…ó(›´ d=¤h¸áõ?f*º$´{½ÊÀ‘´ä8½ =–ËZ=]Ú¤‰§)=¤ .³è¾‰úÓ±qe½ãì"¥ (=Œt¥I½©68L8N½ò+¢æbR©¾ËÄ2ëG=ßC =üý—ß J'½ËÁùìÀ4½LðŠBÕ¾¶×q .=1L©¹K ø¼èÙÄ{/=>ƒg0Ô<=6ú 4€¾ Uy÷ú›½BQÆÙ¼7Á§@¾ø<À‰ {ðIæ<2‚G·ãÔ>Ü›ò:y# ½JbNÌ<©l' Œé¼³W…j„ë¼Æöç‹ý:¾k¤Fè¯ Ù<^hwWÅ_ª<¦ (“4˼îî„m¯Ó¼Ôö‘->>3irBË<ü€R®sð€¼!ú\/¹<|Uß«‚‚–<¿©³ý콰К/ªþÁ¼ðd˜è懼ó¥­LØu¼f®TE!¨¡<Z¦ý0z¿=…Wíµ¥¼]qêoÒq<¨­«¤n‹¼ÇÕÐLм¸ÀÒh¶ÓŒ½!<²Ý(ܤ<ßÀ:æ!¸<‰“÷ù‚¤¼wd|˜šV†¼~=yºus= ,ó«ÅZ¼kløôœ¼Ñ ˆ’ŠÂ<Þ²j‘¼C‚þŽF=ùtðUÆg“<ûÖ&¸m~Ÿ<#û9ÄgÔµ¼e©Â&•Ÿ¼·[Æ+É=\i¹wbüJµ^s¨l?_ÖžXô½ð^j µª ½×HÛ§â±Ö=±žÍ,o¥=Éä•«p!µ¿îP1½ðC„“燽Ê»a÷Ÿ=ѫƶ‡=ð~"÷0U¿ÜZj}q‰½¢TúG=Ÿè8©g½ézYZ]½4²ýš±þí>ÅÿÓÈ)Ðk=ð~æþ½QA·ÿÄ0=º8ßIí0=0ìöT¶/Å>莩pj:½MAŸ_›(î<ô¥=á ½huv¡ ½Ë$‹¦‚>Ñ%•œ¬Ã=‘vŠõò:ż6´Té$å<ƒÒë4Ùvâ±mã¼è€›â§ðœ¼°œ/ò•†¼¼¨>F_n·¼ ò¸ÏɹÛ=Ѳ+D†³,µ<þµ@bÅ€½FU×Ы¼mów_1:<¥¸&–ÓÁ£¼·ÑX€Dußlì,§=  v´=\ÀóŽç4;¿À•“ƒ[J•½L^msoF½ŒGc¤-ª=j3æÊºëi½]´ \[ñø>YÐd>á_=CHdfú¼ÝJ6lj™!=^½è“Òx½b¹ù½>€ G›N×0½(®ú÷C´<`žüVuÐè¼ö!.é¨ ½Ð¡ Y½s>6î·C.¤=Hó‹â¯¡¼ Dxhb¼Õ¸¤?²Ñ½¼p¨Sâ&ê>(p¸…®Õ¼Õ×ëm%°¼ÑêîK¥í•<ê6 ÇËL޼7}ÀÞàv½9$dçy¼7+V‹ïô®bšiª>¢.Õ¬šiª¾Rï³öø=tEq)P½˜¾¿}G0P½˜>¸i#V:ïÔŒ<û\¼Ó¾šE9;¾áµ£9;>Õºù–†é£<ùmñAp¾½0ïtƒþo¾=2w+6•õ‘ÿI”ù²å?³€0“aS¾¿™iÊ4×™Õ?ÐS­¿o<Ø¥,€Ý½ ~µ’?Û¿7TƒêÁŽ¿˜SÏÍîH¯?‚-hpõ€?ϧ,ÎWÀ=0á}Ø Ü½¿]ùŠÜ3kv?A@³6z&—¿Ú (M—¿‹Èå£m5²=¸§b“XÑQ?ÉÙzBTH_?@¼³: ¿X@Öçe刿+W29 Ř=#kPNq?‚‹ 946K¿¢‹%zßn?ö…U"d H¿ê"»5/Zp=ëI5“›™m¿G㧪AS1¿_Mk*S?1¥˜)Ýîá¾ô*ÈÿØ5½†£R¾s]¿ûégü5?¸Û©=bðA¿èÓ&:ÒA¿My4-S½i”Q¤G ? „‚ÙŠ ?м?غY&¿ êÄûµ½0¿‹¹¨ž‚4=J.oˆqÝ?ç“Çûò¾C¿täæ¶?ƒ¼—d{õ¾¾D`O1Hq½ñôóP8¿µ°u®=?ؾ,¾|‰!û>œ`מt±£¾vê#®ýN½þh¦¥žt¿Õâ§jÆ>?l3ì^é¾ rZ}K辸²4à´*=”€bÚ>‰©>¯çs«úç­>ïE= #ÆÐ¾îÎÑ&AÙ¾¯ôŠeÓ½—»ÄïÀ>ΠË6óB›¾ ù‹É(|¿>º¹ ¨™õ ¾UI èãZ ½Þ«™ò¼¾©ÉM•OÉ‚¾>PIh ¥>, éÉ̶V¾©µã"ÆlÔ¼!ª;%ð¾Ìóýõ(q>ûqlÇ=Þ“¾8HN'H÷’¾yÀ¿<#ßÒF5cî†%X>ýå¾³@{¾«ðI•µe„¾O5 ÐuÁÆ<dÄŸòi>Ôò8F¾‡£G‡Ÿ´i>Rfx›;1O¾â=áÞv‰‰<ƒ1¼-­g¾,‡®Õ̾0¾Djî€'S>èV‡¢c×$¾vt03",kCÕOÑw—B¾­÷ç’²o@¾ðBÏN[µ¼Ãz«ÖEE¾‡«ekñž?ŠF ,/¹²¿©N2o5Æ?”³?Œ Ó½>ýè{8'¥?J;‡ú]¹¢?1Ÿù´Æ¿e)µ¢¼¿Îñlä´ {½oclqÒ»?hm˜êü´r¿Ý ŒE"X˜? Ý,î„{?ñ§ƒ7µÌ½Y¹|{íæ‘¿3[”eÈA?ek00g¿ p‹x\¿éñM€½3¹“q V?‡µ.!ü†¿ó‘‘FÜ{’Ñbñ-<¿sº=àºÈ¿p`NõÉ}½Ù¼Yà¨+þ> ltªý¿¾j—#Lå>ðÏÍ­ÁMÁ>0©1륵ƻ@¤Ðº¾”ÌöÙ°¾amX×µ =ƒz<2x¦>ƒ$M@ž›i¾-ÂJ‚%‘>¦èx®ˆÖh>ÞPÊ'øT輞帼âLJ¾ hr“¾@>1J%ÙÖŽf¾“øÃÂSZ¾¢OHùUV°¼–U‹8.ßO>zJ‡Ðï‚?y†ÃÃ÷˜¿çLŽK6ñ³¿Vx´È6£¾io¼Xz×?V¥Ä¼ðP7?qŸ0ÐvUd¿f©b÷¥|¿`Ët?´½!H "^‹¿¡.F²‘¿µôÒØ@s8?“©¿`Î÷R¿Ë¦‘f€Øq½ZòKÇyK¿:ùź„ÈÑ>ÁŸœ« ¿õÎÙ»yM¿êTÌœ‚R=È02_ž(¿Ö–›bÊÒ®¾½=‹o’Ý>"Ù²·Â»¿+óóÿö\}=ÝkRÉg€Ý¾OêÛÆrdƒ>¿¡À‘²¾òrp÷QOžŒë7ƒ±€ù<ú¤Œl8Ò¾#39ÎÒY¾U–º~í‡>.È*$?ª¾ëµƒù”!=të*"Ì"‚¾ë-Ö Ê0>U¹á¾_¾1¬î2¬p¾´ÈÚBèô¼Òýà’mx}¾C#驱¾£šÅ¼| 6>*Äú!eU¾±ôr¿ÅÊ»¼öÖÖÅ‹x2¾bxaÁ`ß=¡óEؾö)~\V)¾õt)'«<,Avz+÷½H`gUH¾û1€«Ã9>8g½‡;>â̹=-—¤<D;¾þGÙ»q®É¿‚™»q®É¿ø%û\¯Š?8{d¯Š?Iñ™ï?“¿%—»jšq?`ðp¬jšq?A?¿¬=^3¿ÇbooÓG¿Í0É!ÔG¿•„ÂŽQO,¿ËÞ²@~?)Üô @~?ïÊ¡ðæ•ô>RÀ¶Ž³Þ¾Âï_ÓŽ³Þ¾'‚õ@JÔÅ¾ŠŠ—º®ð²>¸ fì­ð²>¼äY)޲™>¬.¼–x܈¾JôÒww܈¾h›ê,Çm¾ý•3Ÿa`>#z>öa`>EeÎqqB>ùÝ}9”¥6¾ 1Ó¤”¥6¾lÛ9¶ ̾Zrem‹$>0Ê‹$>êH*ä8ƒ2¾A¡ØûFr•?UÃÙ­¿òäê$t-U¿_OpQ¹í=³€0“aS¾¿¦Vfꌂ@wc€NcIÉ¿šÀ]ˆì逿Û+E”ø½«ª5o…\–?7÷'S.®q¿€Œå~?×¾iíj†?¶€P5ËP¥½!ÙWq^’¿¬ÉBtÈk??€8tŠ¿1·Ù`Œ¿™g½J¤“½H§j7âÕz?Á3ΓÜB?-ÿËv:œb¿Ì+|Vמh¿cbØÛtñV=‹ØôµX?ÃÆÉ”\1¿aüR?åêíF¿A®ÎéyQ=?¡æÅ7R¿¤ÁZ¯¬N¿“ã2«aU1?‚Ì4v&•÷>¿gõËt¶ö¼Â|QR £=¿cÛì³ý>™~ d6 ¿ÓÊíEÑ¿AJÑìdµ&½²1Õi¥ú>[‰É,Œá>|1oLŸØ¿•l¬³Ž ¿<Ÿ¨vŧ=…Ù…úÛ9÷>*;±qԙоè«÷€Naò> ä{,?ľé¾ÕšæE½¢ƒnš÷ñ¾áH‰QX³¾”H†ªìÔ>•ÅÏÝ_–>; þë³ý%½Ðñ»‡…á¾Õ-¼·}|¢>!*1Ekľ=ð­'Þþ2Ê@N£=ê+ü{yœ>­ÎFÐH†>Ma ŽÔ9¨¾­Tò$}÷²¾íŽd³üý¼¾»ó–ò>Á{çÈrlu¾¥F¿.×—>ËÂáíuZp¾â¬Ì-.ɼk:iX —¾‘ _ѵSZ¾1Ì@óÏ»|>­=ë²7>§ùÕ8 í´¼jÆX3*ˆ¾í>†ß]hI>?]ãYÖ`l¾$ÚLűfk¾½áÁ‘$¸¬¼>Ä–a @>ž¸|#Õß/>=\ÕÅ yQ¾{(LÝ9[¾0¯Å ½Û®<Úü¨Þ\}D>ÌËÙ"Àµ¾›•ß«ñ?A>V'™—òŠ¾ÍŸþ—A¼ìÆt%.?@¾\í¼ò^Ÿ¾‹I}zÙ&>Åhe]+”æ½p_´8hù8?_òL]Msó¾(´o¯?è¼s\{(?4ͦfä=sÃQÊP¿:újŒ*™Å>l¥Cë¾ù¡ÊØÔâ¾` âáû7`½p»áJ+±ß>B³º¿™¾â¤ÛÑ À>ŠHÆŠˆç£>¢ àæ‰]ð¼Û8zÝ!ù¾ùf²Í“m>3³Ä³`“¾K” ܸˆ¾PµX*ëàð<7‘¬#JÉ„>úú£™êÌA¾³±@ûåg>È>¼ÝìI>š]Bߪ÷·¼¯dyNÁb¾ç|.’eÄ>'ö.³ h<¾‘òßl¹2¾£ì˜^ºóˆ¼ÔNáÝG+>s'à‘ш?ÏûñX€¿£xg†Á? •’u>Ê=‘)üŒ³?ʇ§EC?;”²äc¿ÛÓ××Hxh¿ÃÐàñÉ{j½… Vó1çd?§$aFÚñ>é‚î¿g6¨¨©å>¿É é;®J½F9Îì€0?ž‡Ü£k ®>åÅ]" YܾãŸ+‡þ¾º?ª¨¤=xSº¿‘ǿ̯oÉo¾ þ¤>g”n Acݾë?`i_X=Û&pd²¾ƒQº­ H>‚Ù“ˆ}¾œ}C© —¾â$Ãꧺð¼eÓÛ{o¦°¾ÙvCÈÀ!¾§î eò T>ë¨ï׉;¸¹Ï§ø<ÊL¯LtŸ(>®º,kÛø=nxïÄKD*¾Ò{*?b&?¾ˆíDFżIMàÆ< X¾ß¹l 2§Ñ½TŒo²N>ëó¥·Á~.¾lÃî Û6M>@ާ.Í\­=ÏMtíèBÞ½´-mÆiü½Ýô`+o›¼’ƶ9qÖ½ Þlà´ä½›Á˜Jq >í÷ò‡@õ=Ý]jÿ…߉¼ý¥«*ؾ?1÷# $˜?9[Ñ $˜?T¥!ÿ-‡?´Í|ÿ-‡?¡ãš¶úœ?uî%þv?'ý\#þv?YSBMFV?“˜KC¢ü¿þbõn¢ü¿r[0t9Y¿b!Y¿Ô>aPº¿Ô>)†Á¯~üÓ> wàðßnœ¾EH:ànœ¾\¦Œ¸È¥¾È·ånLi|>QÐCIi|>¬ªîµs>xÞ¨R¾“Ô¨ R¾üÁP»iE¾(ÎÌÚ(>mQ (>øÊ¼ÃP>Ì`p)Þ»¾$heÞ»¾hÅ7ìò½ˆ-J44×=õ44×=²¹XKX¾cö˽0¬¿ðôNGK ³?…¯fØVf?Ó¯È2â¾™iÊ4×™Õ?wc€NcIÉ¿-’HqH=ë?f F°Û£?ÚU@>³ÄI0MAº¿ÛdV»z‰?…¤n§}¡¿súÊ=% «¿èb¾lõÔ½j6©Ò–ó«?Åþó®pª‰¿p ¦?‡Í¨yîÄ©?71™Ë)«=xÿZŠœ¿rbÔöÂÿ`¿q[­wM»€?÷®úØ-4‡?…x§{K€p½.ìí«3xz¿‹Ê‰YQ?G̈‹ _r¿ (mñµº?U²%&})‡½á‘ÖO€?r?öõ^f¥‰/? ¸³»£lP¿ÄL´l‘!¿4´Pª"K-=ì+Œ9»ž]?ÅixÞ÷㿟@'¥??™š„´+¯??Ý/l4D=¡äe¯N& ¿ì,ÎŒO¿¹~žX"?HM¿º“t,?E-;ˆ;½dMý‚x¿V à†ÿäð>¬3Õ/åq¿‡åsAyß>Ïxç×e=ùްF±V? Ðm2Ó>´›ÞDŽô¾RÜÓ­l’¿¾µëÓŠ~D=vyµ€¯?°i£Í¾e¤~íä><É©Gä>Ûj"{q53½,}uºªÀ¾¤‰Ð‹¤1¦¾Ê`¦”îÇ>‡ŸéñÛÓ>oöä =ãmõWR¿¾}±¦ùÉ•>3–-¸¾°X¼PdÌŒ>{:ÓJÍÖ<åê`|-|·>¹ºiǵAz>EÌÉÔuœ¾î¿Ç¶`¾™¦Þ<È»<´yi¨>ŒÕ§ŽÏi¾kÅ6•Œ>|`CKŠ®‹>ˆƒÜÍhW{>µô¶p©µË¼qê{!Ee¾Ô’P«x?>“õùUa¾`,É Å.:>C_Åͤ–‡¼é\‘v^|`>uÊó;‚$>v+¬¤²˜F¾~Bùt">g"yüµŠ¼_QÞ>xQ>·RÊ  ù¾ïPÞ ¸5>¨jΕù4>þ»ö︼%ž¬÷´Þ½L˜'Õ$¿Z$žSš²?V©´d½_­?¾Ï1¿þYé½)¡NVvLп€ÄüƒrÐ¥¿ß&©8(Õƒ?±9äQgÏ?ÍøP¾Ò=“>ZÀ¿å¹'·ãh?¡‹P¨ß†¿Í9ü™Nƒ¿>åèêúØ=Ø&Ø0|"?''BøsC¿`d:>h?{ûÈÐä`?^FÊ—Üp=Š‹ýhG`¿AÑ=èem?ef­ÜF8¿j\##¿oc‚L4½û °æ2¥4?_{éÀ徆XŒD€ ?R¾´ y?Í?X©w÷=ˆ–·=*ã¿PueAèS¹> )~yk(ྴ2æÞ`ªÅ¾$øR=UFîŸ{Ú>J²‹«ç¾Œ™,³>÷Nã¤?©>ª‘‡ÿ[æ½{&òWìô¥¾XÞ†kúa>ÿ–:;]+‡¾uˆÏ•îk¾ XëÀ(E×<$ a‡˜~‚>𮩙ã5¾üéÍc\>(ĵZ‘KR>sz¿Lt®<اyýì¨L¾ÇX!dUS¿µ–—;’É¿ƒñÇ­;ÞÙ¿_¬EË>Z¿™IÉ¿s˜é%2ž]¿¿ÿë :ï{?j‡ekã>…?/ ^õüâ =èSªÀ”ù‹¿Þ’€¢B¿Ü'¥)WÏ;?¯¿ƒÄ6`?ßp9Z^s=T#7XPpV¿-Óƒ áþß1Šrpdô>R» ð!?ß+Ú»+½è iE­ÿ&?‚˜à³ìp> k¦ ¹¾ÄH'ÓY‰þ>¤[¨|7ñy½¥l±ñ~À¾™aÓ´ù\¾p6ú_–>ܸ:³>¯ÎÁÔÙÜ=Öw ¤É¾Ñ>Ìí:!m„:>ÚÆÓžp¾WÍ'¸º¥>Y^Vž–r½²è#œjk¾—Ç6Xm¾Û9X«F>|ÿ&wÇZ>N•sî÷å†íÐrg0î=KÒ¯ÍðL ¾™±ˆ‡GaO>:ù1ôÕ¹<(r%Ó–¾_S8Ág˽ø‡¨ 9§ü=Ò­¼hï'>¸=5ŸF»çOnVaã+¾™’4Ñ)¾ˆ‹,š¥<[g²#zŸ/>l¢‰X%¹¿æsò€X%¹¿eÏ×j›¦©¿Ë›ôj›¦©¿qÌU¹8¹¿GW W”¿<Âv W”¿všN—¾u¿`À£ä1?ROÓÐä1?Û‡j=­?jYË"¹·á¾ë•…ó¸·á¾"´ç=p¸ò¾]T? ‚ƒ >³ 7‚ƒ >ÀO÷åŬÄ>ùX\·”¾4H… ´”¾åV¥`2’¾ °hí†k>Àù÷Òé†k><0ÖÜc>çm9yô§C¾'Mõ§C¾hßÄDœ6¾Kq.Wl>l\.éWl>°7lú³æ>nM›û–ó½j¼"Ýû–ó½Ù*Nèƒ(%>d/²cC½t?ÂÝ t•‡š¿:2G£Ð ?9Û‡0Ùâ½ÐS­¿šÀ]ˆì逿f F°Û£?Üwÿ o}á?qlÚ/‹·Ç=÷}ð2—?ÿফˆ¿ÝÕ»p™l£?ÛÄ€¯ž?[ÃÉ7ÞÀ¾=.æÔë‡À­¿¹‰ AøW‹?X¬ƒúª¿@«Y’o¬¿Ž%Ž ïoµ½¿Rä‡Ö™?v kùc?èïlÏ«„¿cìüS¿Ð£Oºþ~=㛾õäz?:+XøT¿•=—Û²ëu?[ÛtF A¿ù,; Íëz="ˆÀ0u¿/Må†K4¿¾Š2JÆU?_—&‚D?—D9Mw5½iÏ©•Ob¿5Áבåž"?$¤s?+sD¿©÷ÂòD¿¢³´dgQ½jO ’?¶«À(½?/ÕóGì±(¿ÚJBH3®2¿þø…Œq>=w¼Cèí?  áf Mõ¾&ÃkcÖ?²iDðsð¾reÕ~†(p½ëF zPò¿d øSˆÚ¾ÄPðÝŒrü>§ú CÒž°>RáE&Ö®N½EÉ¥šÆl¿™‘$ |È>ÍU§­~ë¾Âv»A¹‹ê¾^w=×y4=ÿÄ–®î½>pJW½Ð®>Àë,Éñо³æÊÇÔ/Ú¾£üo§±"½v®H¨'‘Ã>lwir¾©&ÊZhÀ>u9{["›¾{¯×‡*½1,ý޹+¿¾ÅãHÒZ¬‚¾/è5O}¤>eî?^ÕÌH>bØIæÉ)ἸGuQù°¾`ÇHHÌ«q>ô›µ5E”¾m1héI;“¾ÿý¤£qɪ¼µTî°à a>È{‰Qû.W>¹rP]Ó¶y¾6ÉFcºƒ¾j"«û%Ð<ˆóÿg%âk>ßY •‰åE¾÷U™ ‰ñh>ÞéŸsH¾ø*“Ð&”<³aµŽÊ g¾UN"§ç.¾O°íxËRQ>¨®TÔî¾õ–5Ëš˜p¼‰·MyÝY¾¦VNZ€>¥3s{¾@¾? ¦cë>¾æ'z)hަ<õoM'æ¾F$ÇÊ8 ‘?2à ogõ²¿óÿC†„s?k­Dòž‘°½8ç\ {ç¢?ú› ¯N³?¡TÛè7¨Å¿SG?Eðm¿^m7[šîc¿$@.Äo½Ê<•Ⱥ_a?‡2› ˜ç¿yeHÆ”ù??>Ù“C'Ö#?<óαAB=ZÉSê39¿!ñU•D ì>,Þ«¶¦†¿MiºûE«¿(f‡nÔ÷ƒ½¥·{—?-”'fUÁ¾>~n ë-æ>7MV È>-ÕÚl€ ½Àþpôá¾Í}ë·™”>Iš¹2ﺾJ²1âð°¾q `׿H=¼Oò¨ÓǪ>F ƒai¾0ß,„ª>ZÏ%¨p>‘ý`%;"ä¼]š—\݈¾«ñâ[ãç?>Ù=HMe¾Å”Ç_mßY¾û_£ˆ°¼byœÂ¸ R>Ö%~ÃA” ¿Mƒ¶oñ­¿ªËYtcÖ¿=ÝÜÝRß½—F×z5Û¿aeæ$ù\?$ê-Pà}¿¶ ×{¿f6œ+³½œaõ'æAm?âOs‚Ê?iE.¿Hòg½a¿ñ4/±n½)¡Éû•I?•4œ6Z½Ô>ÄŸ(ª¿+'tª$•"¿å ËMC=UP#Ðó+¿Õ5vR9¡¾³2³ø{Ó>=xë:n/¿ýô˜WÌU€=‘›G¼nžÅ¾NvÏ#%Åx>Üh?7¶ª¾~§p ìÁ¾TxK•i½¿Iã–վǟ²Ì9Q¾^&¼]Ó>Ãnf ]¬¾F¼¡„óõ =€*OP¨d¾ê~o@žR'>zõúÂ@—W¾¢i¸T©pÐÍ0>ejå‚’U¾ŸÑ(Ýø¼¼¢Á‡- ¾kÙ=ÑØ=“ ’š€ ¾‰È˜´?&¾¶SñK}Ÿ¼SäëÞFyü½)#øá+¾ïÍG@\6>³ùÑ=ðª>Æ_ú)äÍ–¼nP|[8¾JZ™iš?ÅÂV™iš?^V©FˆÀ0?6¾Øö‡À0?7?ñÞçd¾?ÌmÞ‚ ‰? õÙ‚ ‰?ƒB–hVx?’Á\‚f >¿AÞª¸f >¿s댡$¿´ìëVKŠ?»( GKŠ?\Õz^Ñø>áïÔ›†æÐ¾ y¶†æÐ¾ÁUñÂ˾씯¼I«ª>^Î̺G«ª>k)Îý’†š>)¡þP¿=¾L],¾=¾a¼TyÌm¾…>›•èW>3Ñq0éW>Uäï:¦A>¶Pô·B0¾OJ þB0¾ÍªŒÙ$Z>²6âP3w0¾(£j°êi>×J¬bï ¾CíB@lû½˜[í¬ ¨?o<Ø¥,€Ý½Û+E”ø½ÚU@>qlÚ/‹·Ç=k;“Ù(ê?d,žÊƒÛ½³hØ@&í½ó Ϧ‡…Ï=mqR›SÎÞ½0b£´*³¿p|]ùÞ‹½.·ˆO ´½ˆ~eÔ~Ò=Æã°j!ã=«•SÊÈ‹‹¿¥î©ÒϽé¥ÍÎîz¬½õ­@CÚWÊ=GÒÁ($åÚ=ó®ÑîÍâ'¿aSe6½ûW@Á“r=ª]2O |½\5¾Šç ”½€7ÄJïI¿”az»^ô•=AîöÃgÃq=Ú­ÒÝ’½Á8›NkÎM=†Î%d°ž ?ÒT¢ë ‘=o4aH`½öˆÝœˆ#=l² â‰=¢±׆ú¾ ›ž@P4ˆ½ 7šv,½ X¯#zWK=ëëÉæ-¼b=øÝÙ`.èË>³›»ÞÞ]½7'&iî=à¼Øì…—".=/„,'äÍ.½u̱P䙾;%h¾Xž ½R »²æ±Ñ<[Sß*æë<ø’žò%ö½UòO üç€>æ½Åû’=ÇÄLjҙ޼0¹©pVë<È›ÉF|–ùLS *½_¸oñ¶2¼þø+6£Ò¼s6LÓ<:çþË(>cK/WYšð¼ÿƒ®Tz†²<þ©ŠoªÊ¼r’ôÓ „Ö¼€¦T¬ÌS>‰FªV×=OÉ©¥9SŽ< ÆÌØñý¶75/Uî=©W”ðà=½(á팩¿DqGû Íù½"Ò$`Sž½aîúž ³×½òÂ]â½åö(ÑÖ?Í­Fu ñ=ë˜Ç¡"´¶=ZG —зڽC ö§“Ì»½ôûapŽ–?^öF³Ë=ƒNl‘|ºs½‘Ú2é-“=Ë){YHу=ϼȜ‘G?ÒŽþvÅqž½ºšSý¿Ë¿¼Œk:w`=(´o¼V½‚ä Y´tí>‹À=9ÚP½«Ã”ID ½ÝþÚ1.= áöÁže)=ÕÌŸ+!jºˆ!½?ÉáìǾ;õØãÿÇ>sá%Kļ` û‡àk9>ÓJ€ãàk9¾ùñççÎÚ‘¼H²@BÁ‹û=œ»=iÀ‹û½sxþ³R ~µ’?Û¿«ª5o…\–?³ÄI0MAº¿÷}ð2—?d,žÊƒÛ½ l91ƒå?å¶,Î10˜?ŒZœ¿Òy¹¿ ó°~¿´fô”C­Ý=¹Ð‰Ô¨Úµ?ѳªâ¥¿…¿Ç|ÕóaŒ§?9m6ˆ’§?¥OÈt[­½ ±üP€…¿•™Ë“Ñí`¿!°{,ø‚?K2s¾D‡?J{IÖÑâg= ©i©Qp¿¾ªœK?úIDY(p¿ÞlU:£ÞR?¸Ú) ¤fz½#̱hI±k?ùeºø­/?ßC-ŽR¿L'½ dÉ?¤â¦îUY=¶a†Ó¹([?,v®÷s¿Fë××5ì=?q„d¡‰¸s½2!¿Ìîψ¾õ>[Ë„¼J“n=žqöN?¼ð€{óéÔ>ÚçÊþ‡³÷¾ÎγÇ~M·>˜ê!>FM=ÈwFÀô?&_þ"¾¯õSÊPå>Õ"/Ê?ä>@$C•X!½@Ê—yÖˆ¾Ó_>ab©¾v?aÆÌ>ZÒ^žµ Õ>ÑÁ‚Ö=–$Ó;)º¾\iråI–>²]×%º¾…‹SýÞ|Ÿ>œÃ– =ß0ªŽ›·>¬…e>6™ÂÍ䡾‡?ïĆa>b³zpÅûÊ<2u`"†«>æfmH÷k¾ýFºh>ÙÌ1Z->WPc°,ûÔ¼ÎEÉô&¾ÈW† «"T¾f{‡Qãv>"ÒùÒNÍ€>Æis´¿É¼–”¼à8d¾ÊûíˆHøA>«¥«ƒ(e¾RÜ·„¡K>b™˜Ž'r§¼0ç ³b>òëŒÒ+>8¿XÛŸâO¾æc…’ü9#>˜_l"©|<“\몲V>wΙ'¾¬þCöô>>®ž­÷:>Ïù"FV³<<çúsÕà>ç>½Su>k?lH‘`WB£¿÷{Œèwƒ¥¿ÔÚ$âzXå=¢Ï¢ Î?b4˜¯Î¦¿=-jZI&º?9êwŽÈ?É€@¼H4ѽ¨ã“=±¿ÚX¾· ôi?a/ǹ0‘¿È,5ºa¿m`Zy/$Ê=ö@êÜ܇?X"³¡So=‹Xçú0R¿ƒS [×t?UÔ–í8¿Öûaéݘ¿ ÓRG5çG½×7§˜0?Ð0ñuìºå¾ .EQ ?;6 Ì ?\£Aœgnr=g rvé0ö¾¼£¨äº>ÈÚX­êá¾”v=0û¡·¾REѨø¡½”APÞi3Ø>S¹ø¤~¾ù…Üž@¶>(lçéáè©>«…J:eé½+9à ¾-+°÷÷òd>ôA7NŒ¾Ôagœma¾鸟®ää<uÃçÊî‚>§”ì o;¾åæk¯eŸb>¼õ¶^DU>|$×%´<<. z„)H¾+ò‰ñ–¿¸î+ñ›Ô–¿³ºrÐ0£Ú¿î¢÷ï®ã½<øEž_…»?T`7ñù V¿_žäWïúx?Ä]9øB‰?[ʆÿöD°=‚VÔo…ì„¿á®ÃæÀ¸>Ð;ÏÖ3“!¿Ð1&·Z?«{ u+®B½VRsU=‘=¿7)޶½´ä¾_ê, ?’PÑ&?Ç.‡Â”@½Jh“` 0? {J€-"°>1Vꤑ§Ý¾?>¥¬ù>cûÇr{eu½+T€ ä>Ë 5óCÀƒ¾Ë+5 RI²>Ö9G*±cÅ>ôYèu ½Œ—>£]ùÊ>æÓóÙ¿X>¡¹È~Û†¾.¼=ðc¤>ºìè Û“½/Î}á‰> í6Eq/¾¥¼0R±]> ñs[½o>Šð·Î¦ñ<)ÈÂv> _…抈>‚EÃ]ƒÑ3¾Œ´÷ÑQÝP>ÅÏÌy©µ;.Ÿë Û½RÝ¡ña >iå·?X%>mû£ãdº±¼ñ(›êêñ=¡"óV†>"zM(Ôš5¾ ¾MÂÉ6¾çÏÞÇdR¦¼Há® o6>Ônꮨ¹?ñ⮨¹?ðÖ”Œ¯^¢?iU‹¯^¢?$ÓçT0r‘?;nɱ¼–¿ %‘Ʊ¼–¿!C ñ7s¿ðÊùíH?m¾ íH?ao!/ƒ?d£hTd¿][Td¿«BFüŽõ¾£ûÄF~ŽÞ>ÈÐ]~ŽÞ>J:ë†9È>Xñ±]hî³¾”fºÔgî³¾¼xO눘¾:0îtˆ>›”ý«sˆ>‰3Òz-êl>•iç¹L¯^¾÷xÝHM¯^¾lo;bA¾®H'#ô±4>ÕÛÊfô±4>g•ŠÎQj>»úÌ-ÿ¾îNÉ-ÿ¾ìÂ`°.>!ª 6sg?´‰,ÿ°ƒ¿!à#|Vòn?ÑY…[¡À=7TƒêÁŽ¿7÷'S.®q¿ÛdV»z‰?ÿফˆ¿³hØ@&í½å¶,Î10˜?.eŒÂÚv@WŸq_È¿:ÂØÊìa¿þº›½p”>÷°ØÐ!˜¿nðl°•?&0Wú¶­¿ójã´¿Gí½74€Üï —?ù3Rƒñh? ðí\¤§‡¿Ûƒòê“¿Ùï'ÏÒ¹=]?èÜÏ‚?>Æ~cÛ“L¿ÖЍ¹X,l?9Ó 3ê@¿(‘ü=ÿâ~’m¿QÎ%ŠX3¿ÞTF–zT?8d÷èà_?$Ò²Ù'¢R=è÷âàÀ%`¿'è&L”!?3VcGþÐB¿!¨t—1ó¡K¦>ëG‘‰K½”)¹U³,¿VCÕÂêîÄ>Æ k&–Žç¾Qð3ÿÁ澌¸UjQ0=£<€ßP ¸>n 8J¤ª>‘KDøå]; ÖÄ×—|Ö¾ž8ÂÑIP½¤Ò­÷}À>¿]Æ{¸ì˜¾€ à†6¼><4¿„W˜¾œ÷?RÖ½£Ök£‹©º¾c Jªf&€¾HCŒÆÃâ¡> y)¶41>§±²D9Ú¼Ò³–>(­¾:{ºäÔDn>©ân£è4‘¾æ³º_±…¾-Àd³[r£<).ß•®âY>Yß¹T>Ñm=óvfv¾0RcÛ,¾ˆž{SÚÎ<|gg>BvbÕB¾ÊeF¯+e>û5X–K9F¾XhTÜ Ê…1¥%A¾tát¸.^ývÝj=¾Õ4½VÜ:¾ÐáH÷9—l<£¯Ëu¥¾ÎËFxÖ‚?>Ô…qøÚR¿£4ýßZw¿HÈífy—=ÌH“Heˆ?ÐÓ3ð?cdf;àѨ¿¢c'ºNwq?®D”:Þ>E-½éK¹¿Èhy"z¿†NgËÌ€¡?¢WÅÍÓÊ–?œ"yƒñÔ½bŸÞ_£—¿*çÓ‚)ÒF?p) * l¿z–*ÍÆ a¿&E䱬‰½Ì4%ìµ¼a?KAÊ-¼W¿«X†);?Ô}ˆ!?àNÇ£: E=˜Üþ‚5¿†ÌRÁÌè>Iu ó¿-y7ÊX¿p}O*€½Ñ‘:Ë´?Ù¤£Ø?+½¾eqûÐ ã>ÚÆÈ¶±÷Ã>ÝØ·xùþ¼ÞD¥]šÜܾ&ÆÚ…¯§‘>{¸÷Sö)·¾Ùݨ£'Ú¬¾ŽØ+éÜ>=ˆrƒã[¦>£·“O…Õe¾ë-eã”ÉŒ>m7Ç“.Xj> ÏxOvâ¼]žpS¸"…¾Õ‘K@¢;>”ž1þiXb¾°ÊЍ‡:V¾Â;\õ²¼>‚êNèN>µ“ù>9ïU¿¨ušEK/q?Œ}‰N‰¿çB•^±cÁ=÷#.Æ‚\B¿¥kÃÔ_¿%qê½ÿ‰q?L‹)?¨?šoIƒ½= oy¶°€›¿õ^¥úçؾ—ù寓€?¬­áøµ`¿›¦~ꤜ½Ùa>èùM¿²¼Á3Ñ>^\iæ/ÿ¾#¦zö?û ¿·^P=ù¿Ä×$¿þÚp¿µê–¾$Uæÿ£Í>î¦ îž¿¢ó‚ªÁI{=>~ÍÔÉÕÀ¾œ»ðÿx>ûvN,ð¨¾AÊr©!Á¾õ88‡Oý¼Aå€â¿Ñ¾—l©¦O¾I1]ã!€>`®W6ß§¾cŠ.;VW=~i«Š‚×o¾€±Ç…ÿ¡%>fž‰¼U¾ÓÿOôáUh¾^ëÅf(’ï¼oˆo©'{¾\ìdëFÿ½q\Œ‰ñQ.>wkÛ#©]R¾êÃ[ªù¸¼;šlST"¾Súu®¦lÖ=ã“î`'¾(8jbœœ#¾™R=à*}¼Ð¹ud”÷½èv0Ím ¾,ZCŸÑ3>“¿;6>“ Ø ƒ;^¼²ŠÑE^c5¾Åa{-Ê‚M? dZÿÉ‚M?)“Ȥá¡H?­êÞŸá¡H?=î`síš?äÔ.©Cb»¿jS¥Cb»¿Ú¨Wu?œæn­¬5?s (4­¬5?ÇB-ß‘ ¿ˆâìªê¾CÔw=«ê¾+FV?kÅ®B¼ Ѿ’ˆBZ¼ Ѿ½ÚHœ¢åƾߵ¨_À ¨>~7¾¾ ¨>Sœ‰è*˜>›#?¹i‚¾ï"†¼g‚¾C›|k¾FCãWtU>¹C§âtU>ËÒù h?> ý“µá-¾ 1ùµá-¾x£´Eˆ¾Ï€:Êh+>L^Šh+>x±Y¡Iÿ,¾yl°ü~ †¿ŠÀrÃ9¡?ÄäõÅÔ³?§º[V­¿–gÂ…RI´?¹^¡.—Æ?N ³õ0ø>é_øç` ¿°h>gË…¿Ï…þø¼¢?º-èdJ³?ðÔ)Ytß½¬ÙÚG¬œ¢¿mO4ö „k?q¢C×§‰¿Äû Ý{R?û¾·ÆZ}´½8ž Dé‹?¦rcè5¦S?áEƒ»tt¿Aw¢`>¿Wýp½*ÖI”°×€? –… ¸B¿;,Ùv–Ÿc?Ö¬g&h?c?q˜ýiæ=<‡\åzC¿§*ÕŸº%¿ÜÙ±mú’F?›±¹w4Q?_Ïf!yK]½•ŸJMš‘;¿ä"¯ í?Zõ"6¿¶ÏÖŸ ?-æùx=ÅîkÍ™e5?ßòU(ªù÷>Œ[Ÿ ¿Éƒvë®ÿѾDö¯ öml=ÔÈ‚¸%?¯ Ìðkæ¾}ÁLÈàF ?'C}—?õß”R½3Ï©®’£Ü¾±™!òÁ‘̾ÄGé`ï>¼W½¿@ø>À‚(nŠ·@=›é£6µ&â¾Tµ>‰ »>—ÎŽûtÞ¾6…d/޹>¿èÿ_E =!„[§òÜ>¨ú¶‰ke¡>ÚØL6þOúšýrúc¾fÙÍjÊ€þ<Ê?+œÏ>iÎk(s¾—èÙC£¡²>@ä à^ê±>¾V%xµ¼º­3§o”~¾ÆÚæv¾u¾¹’ßå&˜>¦^¦¼¢>>ÇýT¦1ð¼3uÎǴ䉾AÃæf}d>s0$8b‡¾µ$ãI…g>±â`ýÀ¼Z³£§Ðˆ…>6ïØû:M>g„ú¥(kp¾¹;÷V9:>FÙ½K`ù°¼û‘¶û"mx>S<—'5Ù=¾ ¢ˆ)×_>ŒC žô/]>­ÅÝUDðz¼>¾ÚŠ—u#>‡±«ÂV¿l€EÛ~ƒ? i¼¢˜?ò²kédнéÃü€ÍA¬¿,»iüž£¿ŠH¼íI ©?íØ7"¦‘¿J<Þ/O)¾Ü&¸æúÏ?Ùfp¤†‡œ?èX Щ¿¿Gg×ßc¥¶¿GM¨Ùw†>fV νv·?¡íyhÉg¿;$þi8?ëׯ‚?ŸOÔDW°=IѧŸñ׃¿T¦AZp6?3¡]ˆ/4\¿›}¹ÜvrC¿©¬§¿Œýg½[ç“W?…cÒ×Ö› ¿ÀبŒÂ%1?Ùq”ŠÉý%?ò£ï\.{¢=ì ¹·‹"¿œá® Ê}ß>î`V,x¿¢>ÁÖîæ¾|o<òÅ%=s6‰zÿ>óo¿±¿ ³¾T~gy‹Ù>½ HevgÏ>s·4ôò6½÷›Ùàd¿È¾C.#ŠÎµ‡>æ#°&.¯¾ûNe€¾‹äErÇâ=¶bÌ) §>Õf;«^¾(59mäƒ>>’µÓL¡Ùþ¹ÓÓ<*}ù¡p¾ß‘Õi?’xf¡#ðx¿rrT6¾ƒ§?öj/ýò'>vì¡ÀI5c?ÆîåK#l?£,ÃÐk?×x€ìº$Ì¿£)xÕœÒ=‹—“§ŸOÃ?ÌÐØ‡õ~¿'é¡ý>÷·0:ƒ?Â'Ë ÂÄ=5èïf?ÇЗä€í¾rTR4Äè?Êà4h‰A?XÌ[kX”s½AéF´E?Q7£ÒSü«>P÷¦w;è¾ÅPaÃ":"?óG‰¡yuž½jüR%”¾=Û÷zë–¾vÒº’›È>%¶“!6á>¼SNû%=öÈÖÓ­Äó>iœ¹F&bo>œ)Âg] ¾¦ð,~&6Ê>ýu¨åô?½1mç<…>ªƒ#F¾Ë®á{¦^v>øÄ["‰>’‰Yeú =)‚n¡‡ú>‰¶<¶bV >k÷Õd)êO¾ïýYÏZ&t>ù¬‰4ªûÚ<‚Ýù°x@>Û¾½”Àü÷½KþA—¡¤(>¢µvê8E>ßsËFåc<ß~,Êîí>ˆ‚[ŽÀ.>F¤#ØiU¾\@è4y:¾U˜ž´@¼½‰:–Ü0W>Ñ gݺv¿:cǂݺv¿À©’6Cp¿`O56Cp¿±cXº¿ý~êJÎ?.öHêJÎ?2¬ÄGÑn¿NBG%sg¿îG…%sg¿9ŒÐóŸÃô¾¦f~ZØ?#j^¯ZØ?ˆ¨Nm'!¿ä»Ú‘Ãí>èÍ ’Ãí>í'4I9ç>µïH>HǾº+q÷y¶ºvŸ>{jg,Q Œ>,*.7é v¾§ÀsÌé v¾;ß÷Öb`¾Š)³µÔ-O>P!C&Õ-O>m*=U:>Šð¤$H'¾'#Z$H'¾Ò»àNÿpO>P(’?îb¿P wœ‡E‚?y!&»p?êR«JGš=‚-hpõ€?×¾iíj†?súÊ=% «¿ÛÄ€¯ž?mqR›SÎÞ½ ó°~¿:ÂØÊìa¿¢Ø " ˆ¿Šx]>ïæ?!By±Ü=òïA­}¿52f¦å½?-S%*Õ¿@ãŒÂd3Ú¿P¯ ý–ü÷½@Ž#Á~¹?ˆ+ícûl‹?nv1Ä|k«¿ëU¯‡ý¸¿q´ŠÑK×=/ »äòm§?ý™ÖB0ßu¿JêgÅ•–?Ô3fÏs¿êžsG¸à³=’…|ï\¿•¿€ª?þ¶\¿fò ©‰ö~?¦ÐÀXëÚ*?U9•î=@=bÇB1p߈¿2a•í-ÊI?³Ô‚e©l¿ÿsPl¿QVÿu…½9¥ÖNÆD?É¿íNç/?4N8lQ¿ýkáÿbºY¿^mÓ+d=áÃĬr9C?4éJ ‡¿ñ€ ¸@?'¦Z¢ÿ¿Ó¸ˆc˜½ß÷½!X›?¿B~²^ŠC¿‡!ˆ$$?.8$ÇXÀ>Ô"]y¶v½R•T•™Y0¿Í©\m;Õð>„Îÿ2¿b…„C0c¿8|¤ Y=ÙóDo95à>^kWÝîãÕ>eœE²Bø¾ ]-Žw¿ c ToF½€ïÚbç`ê>Ù` 'ÞNľƒFRk ç>jï{.¦až !×ÙøÔ/½ñÜSΚ¯å¾¦½Ö4Ǫ¾- pM„ÊÍ>ëcJ®ÔäQ¾O6$ùݽäâ[ؾµ¬pÎå˜>¤äu¼¾d>yG»¾ä¾x(â<Ç¿hâIû>ÝóQøÈÍ€> \f¦_Ç¢¾Pä=¿’r¬¾xÞЦvø<UöE3“>!­X:o¾:•¥Êõ‘>}¢Õ¿Yis¾©¹u¼òXÃB‰…CG¾„AÎ.ûH¹<öRhÜ‚¾0×ÓG>bf[OÚh¾¾íEs'f¾.$Â"§ÂŒ¼jÝ㉛¼3¾y§^!‚Y? ÍÆQ²€¿å¾ýW?ª4úV­YL=èYDßÇ£€?u:M£`??¦­<b«¦¿ºÀq±­ ? qfÓ…á=Cè;׿Yr¿èëEš ž¿±!ˆ¨‘Â?‰{¿²°?g ¹ v¾^š„IÀ¿èÑTù­q?›àîù£¦–¿ Zµf7Œ¿ûaõ⺽éf«¼ ‰‰?ÍLIü™@¿™BwQe?“ 7Êq£H?vç´Öl=µ|—¤~`¿¾l†/ô?n;¨":¿¸Z'PM0¿¦v\„ý¨½—õ‚pµ)?j¦<¸Óç¾@&M?qê¬s›î>~Pßc ½&^qc*B¿!í*e½>k6S°t*ã¾TÐÏ©g›×¾ÜmIç ŸA=)ôHqÉÑ>árÍ…A’¾QH¼]ý·>¢ž£9§”>às¢“\½¬þ÷OV±¾ ¥´£Íg>Õª ÏÝËŽ¾,ËþÞRx‚¾*£õa•ݼðnÛ¦Nx>ä’²;_šq? f¡¾¤8“¿û0†Gòº“?3 E¢çh›=Àf/DP^¿Hz(¹õfˆ¿9ˆ\àEW¢?õþ”«°Ó?ZîõÙýãŠe„iÆ¿Ðþtø'k¿µ75ß5ûR?Ò^FvG׎¿j½L­h|ý|¶e ;?Z‡•?ƒ”!ah¢3¿ pHD„Q¿Ó»B¦u=³„`z2¿J¿zðù …ižÁUü‰œú>åÀ¡×w*¿,"½®¦=ÕþO-è¾Açã&§¦>ÞiÌåmÂÖ¾ð1ÒNÞUí¾Àž°æ¯½ u½íɃü¾¬­ Ò‰N}¾T“Ú­>øv£æ™kÓ¾£6‹ ‡=H=Ô&s½¡¾:9xU”S>:ö™˜ã-ƒ¾xh©[70•¾Daqú½k<•:·ò¥¾¶ ç¸,¾ž²£/ÐZ>3HÉùó\~¾^õ8^dÂã¼óGÅZR¾S;:ÿ’>ïå×·ñ3¾É¿'š=©P¾¾=ú®^êŸ<³÷@Æ(Î"¾Ær78¾E& f:Ü`>rÅÊ þC>$ùr€Gg<,{Rb¾ð÷¬ö£pa?·”ðò£pa?öɯüzY?#ž^²üzY?õËÚÖ#a¸?ÐØË´Ñ?ެ²ØË´Ñ?Úˆsí“?›á.àqDn¿‰ rDn¿6[@/¦9?S‡ÄÐkþü>Ós^¡jþü>%u|fYÖ)?Ú32«w¿HQF«w¿AÍòk“ò¾/&4dž×>g=~…×>ÛÕ¿¦Ã>wûÚ˜^»¬¾í7ˆö\»¬¾:cýЛh–¾Q‚?<#^ƒ>QšM±#^ƒ>”È—yINj>‹êÂZ¾Í}–éêÂZ¾ü´L­JžD¾¹7é©(Ý3>=9~(Ý3>*–Y@‰X¾éä–°½Å> ³šØ=Xb½Áøé¿=“]*¡ƒ¬d¿Ï§,ÎWÀ=¶€P5ËP¥½èb¾lõÔ½[ÃÉ7ÞÀ¾=0b£´*³¿´fô”C­Ý=þº›½p”>7|›u&!¾!By±Ü=•khDü¦æ?|øñÚ€ç=ZÌ$Ú¯<彑ªM‹Çl>È î[0Æó=š=)—¦?ö‹{ˆ ‰Ý½V-¼¢¤½{¢ô\ØÒ=WKÇýÈ=²ù `¿cÍTþS“½ä¹”'„=†Œ._Aµ½"9iãC©µ=ýnÇÅQm?t±<¸8g²=c'½‡Âf=%˜ø;¼¥„½H„Bc?™ƒ½/#€ýÙ45¿…S;'§=£æúÏF½u,PÐq=oÐõÕÃ’…½kK™t$?±¾j¹` =Óç±½£O½…j¨u:s=8wí½ öw=Ʋ I·è¾V–70F'V=ÊÝùuE=”ý«2Âl½£&³ÙS=Lóßzy¤¾á*jiùi=šçfa’*=ÝÛ3Ôf>P½=Mþ±f,=^HÈ¡m‘¾`I>‰šT=ºb©þ*D½®\a4>=‘ :Çÿ€:=œ}#åÐ~¾Tq|T g=³ˆ•Ý{½¾^´`¿$=(„t“ñÞ,=2<]Ò¦© >oÈ÷çö=½›.(x…ƒê<˜}Dƒ[—½Ù Û&ôòÿ<ƒaÈTñx:¾¹ˆ’õ„Ð =/qµÈÐÖ<ÝÒ²Q8ú¼Hˆìë Ç<]Y80ØIÿ=)i%0½1=<髇uü¼Ó]üÆç<œçIˆH~´’=À|BöKx8½Qu_· o_=3x$¯uÜR=¹p‘ûÅ>|IÌÜ\½4}ºÖ=Èíu[ùê9½,ãü¨>Ë<Ó?«‡‚>“ƒðZx,=+QecEHæ¼=^1èc¡=ä÷ô†ÖÿX/aÑê¼ïÏô2»<qÜ,Š€ä¼Âp:hÚ¦¼-‚hHÜ=§mÅmí”Õ<&Ù銾/z<Ö¢O P°<Á'{õ¹²§ÉKö7B“i½{HWx"É!=pê .ÆûI½-PE¨_8=PѲC ޼> :¡°îS=ÖØ·²í5ؼHû‘o = |ÔZ¢=ò7K/ s>R'»Žu-%=î·Â<Š´núë¼.§gÀüô<ëÙÐ#óW>µ›ÍFÖ÷<R"}.–¼äú£¥<® ÓfÐ<&?mœ €=pá/wg§Ð<¯ÆQKÞEz¼á°Š/Lj²¼#=(=¼‹àf†¶/¼§¾ƒÓf§tA=éIšßIט¾&XIט>Ià “]wè¼ïPl F[¾{ ö‚F[>ôY -Â<éó߯˾íý2ŒÊ>x} ñ„û©¼®öÆÌ¾½¥—\pÀ̾=ÅŠKý–Ä«<=W$;Ù:½0&¹¯×:=A|%«‚üdäõÅÔ³?òïA­}¿|øñÚ€ç=WhC¡B÷á?Àô]˜;@¢¿ŸFç÷[1¸?sóÓª|Á?¡^š8ÏÛ=RŽ~ï$M¿AèhÖ`V~¿‚‘†OÍ ?6±7ûó§?äð›¸M½3Ù§2AÊ¿»î…[Â]?„½óp€¿QN?ƒ#ok?gXàB×£½Cžò>?‡b OG?bã×Ü1j¿ 1»¾“†.? ÏÜÌäÑt=C#ÖÜiq?°!«2äJ2¿ÝÁÕȇÖU?K[cñlT?vÂd7=w=Žz#uv¿cM¬Õ9Ç¿±¢¸Dè9?–T"“±A?íï%ŸŒ+A½_«>%&¿7 h¬G?A’ÙB’s&¿â¶S ?ÑN_G»™='Šñ!$?(qø™Nÿè>R|ÆÉQ= ¿¹Ö°ç˜ÖÉ>MÚ5ÇÍb=š9‘Ù»<?ô@HdLÕ¾]eê4öø>vÇ6OŸÂ÷>ë’ßy7½§•WØh¨¾×~ž–6½¾—맬à>(Wžòâç>Íê<#=n EÆ·ξc¢³!©y©>§psf8Ô;‘ já±!±>¬‹ä·U% = Ø€’Ë>bŸ` ˜‘>³aä³¾„î_òUjq>þF~x„‹Ûáãf¸¾¶²¾,¢>L´&/G¡>@rNÚà¼*6JSÓ\L¾ýæà¯éçe¾²rÞÍýЈ> Ë¥Šè*’>oh»Ûù˜Þ¼[Ýpr»Bv¾)èž•„S>3âó­jçv¾mçÿð°\>qwöž¤¼é£´dß_t>õÛ‚ üŠ=>jîŸj¼Þ`¾(«á3>uM©[v3 ¼.|Á.Àh>˜µ½{¶-¾VØ»9CP>oÕûÐÓžL>íÀl…œ«nx7iüžc?Ù£oÚð¿­ø+ 2ù¢¿Ê+¡8±ª=ê‘ Ž{’²?ßóþ¢•µ?•ÝéLÏÏ¿«Á‰ogq€?XDq‘!Ö=ʨˆ>á¿5ÓE{­š?eTƒBlp¿¿ÝÚ ñÔ¡¿… §Ñ¬ê=¡Ä’ÈÁ²?05ù8@Y¿§•ew´ø€?+)í"|†r?¤ðjþwb}=sŸ³ Ç l¿+J‡Â¤°&?šx9!VN¿È¯Áî á$¿ 1YÌl½¦AD?fœD÷Xú¾h~ó¾!?©3SVŧ?‚ÀØÕ€g„=ä9µ«ž¦ ¿z~ý3å‚Î>…C¢ƒô¾o/›ävÝ̾hÄ, °½’ðR!Úýë>¾n_ih¢¾¡<5( ÀÈ><+Éo½>tx¯!'½s·UÈ}e³¾ô4Ú²Øv>FàEÞ¾±Äc9eWt¾f.¾Àñ õ<»[¦WoØ”>`€AqÜHM¾ i6Îs>Ñ~D²GÔf>Ž|fÏ¡îÂ<æzl¢úíZ¾ò 6¹‹›^?^SaÜTÒƒ¿¸K^’¡¿Ö±Ðµ”<ç½S_{ï`ù¸¿â¦<Å{ƒ¿<äZ𠫦?© :¾Œ½»¿-E¬{¾½…¸PµÂ¹?ònõF%B?êJYç5‘f¿Q' ´fk?fªpØ4Ò=vÔ*ôxt?´OyëÔGö¾öÉýÊsÊ!?û­ 4““;?ˆ¬0¶Ud½Oòcë4Ø'?G}ìã£õ¿>HõjÐ;ï¾s4½Ô?šãÞ š:‡½Ð}G‘$õ>9•ªßï^—¾ý˜«‘>Å>ài1å×¢Ú>µÍI|„î½—dÕÌ×zÝ>шcVj>Bc½t˜¾ ™ ú¶>#?íÒ9.½Þ©'ÝÆž>0,ùÀ©b@¾‰Óý‡†n>–áýÔ‹>íµ\Ï=i÷y=Þˇ>ZÓBÔ>æk½´^D¾„g“J¼b>õîs¶½Ã<}ÖàyF>´ÒCÒ„ë½U§Ç1qõ>†ŽÇ޲é5><ËlâÚ™¼Hm^’×I>õ™ÀîîÇ>Z#húkF¾sÍì"½C&¾“‘„BŽr¤¼Úwm{érG>ó¥I“Ž‚?hHÓ8“Ž‚?ým'Ép¨‚?¡»lÇp¨‚? ÿL«ð½?…–аÃ*Å??»°Ã*Å?¢”ÚH®b¿vÁ%Q?M^ŽÁ%Q?^^{ç`ø.?”ñ¨wÏ[¿µ½ÉUÏ[¿˜W2¿P«Š};£ô>Ää6ˆ;£ô>úžežÂÜ>ÛXžjFãž"9ÔEãž³óñ–G篾µ0ìS‰™>+5ÿØR‰™>¡>Cìbû>h-û Ôp¾§fÝ[Ôp¾áÉÓ¤‘€T¾$à”†+E>VûpΆ+E>oûäd¡->¢Á_³¾Á­àɲ¾‡Æ<Ú>ë?>`<µ£:I¿Ú-õÒ!h?‘ÈÀ¿”…@¿ô>Ãhmq”=]ùŠÜ3kv?¬ÉBtÈk?Åþó®pª‰¿¹‰ AøW‹?.·ˆO ´½Ñ³ªâ¥¿…¿nðl°•?§º[V­¿52f¦å½?ZÌ$Ú¯<å½Àô]˜;@¢¿Û£:}š@›åÁˆ^È¿äÀP#ÂT†¿­¢ŠST°ø=_²ì¼úŒ?_‚8…3s¿@˜†?ºbÁD?F@óI!Ó½n ÍGÝ—‘¿;bDSm?ÁOrl¶7Œ¿Y߬v¸_K9y=½PËnˆì"?Ýý ¿‡å>y“Äd¿K¥×úáÁ¾||ˆ×,Z=D”&Ûç?(eBà #Ô¾ì¿oŽö>X$®S×Àõ>¯b¿YÉÞ@½¢Ý£A~Q̾=d¢¸¾F+$7‚ùÚ>%]?¹Àä>±!Ï1°)-=7ˆáOϾÚæ´*§>ïß8ÝÞ Ê¾JÆ«§6ª¤>¾+íWu® =÷23=mÒÈ>&ׂR]>?6ì$£+°¾Ëø2_÷U¾$ÒVÓ\Ñë<ë&Ü–º>1½'Ç#­{¾èä3¿ÒEŸ>B¯5üž>t›HÝÀªÒ—¨VË‘Ž>N‚úãyܼžs¯ˆ§u¾êÃ3®7ÿP>føâYs¾Bx±Šw¹R>,6VKE´¼W’Ê_Éåq>dÝÅÏòá7>mDæ}”ÁZ¾e0_IBÉ#>­yÝwPÒ‹¼7ŸÍÅóc>š¶þ5P(¾X×[ØI>^*—æÙG>»X‰0Mnz¼ªb™£à >½Gãhqû¿êÁS—SA?ˆè›œ>Æa?µûž‰æ=¥„lqÀ?=ûäí!öP¿P¯U*Ù‘r?Ý. Ao?]›c5Cƒ= õn¿ò1^•O½&?Þ¯q],æL¿D³3ïk2¿†²‘éªP=ê'9•G?¡÷ƒ›÷¾=ÏPJÊD?ªWÒŽžG?s@—  =»¼,`À¿f ÚêpË>º¦Ahˆñ¾¯Ì ÄÓ¾#vÈ€=^8EÑ86ë>ã9§Ù, ¾ŒµF6Å>ýRmN‰–º>|¾°6ô/#½>ciÅÈHµ¾qâýb0²s>^ÕH’Ó™¾3‚z¹Yy¾Um¿ Êï.3ŸH¾—Ñ9\Cp>¤NÖñc>ZCòîÃÃO ìJƒc ¿°! ¤Ê¿2;㊛¼½ƒ¼–ò»ûB?d´ººg–µ>Ù’oî%<ä¾%£#®Ù£ ¬€¾†Mo)°²>d< jÍ>ÇØ£r]=z$mœà>öÍîbä?X>·94Jõ‰¾Î²jä¶>-0&I‘*½»7ZÆŽt>™I¾¤:Š1¾¨ÞƒéÝa>¨‰ßÓY6u>œ”.eû<äÂZ ᶈ>ˆÍ{Ð8Y >GN¼°9¾‹U«˜ˆ`>Et ÕbÉ<*£ÇÂOo*>5£—€äâ½¥øP(z~>ºZ)Ô[1>Vðª¤Â v<–Çç¡f>žzÿ|Ñ>/$Èp=A¾ —º—&¾ÅÌþ°ì_}àþ}4¿9hh þ}4¿›´xð“@¿Ý_Ûvð“@¿ŒDP$R‘? `‹¨“?cÌŒ¨“?µ¸XŒSœ?л֡ æv?ø{:  æv?¡x¶­ ·V?ÚÅq´_¿µ¥¤e´_¿¶Æ^¨Ù¦¿ W¾àà>Xžßp¾àà>Œ`á×(×>ŸÆ€ 鯾߳ùp 鯾#p Ê©¾¢Q %*#Š>¤ßóR(#Š>oc Ð=y>Õæ¯Ç;a¾hò¹'È;a¾&¿B‰Ÿ5M¾p¸Ó`²G8>»&‹´²G8>º@,²&>œ…Ù\ú¾™²ú¾Ö6ëza9>Z;»MàCh?G…orqÅ…¿ù/T¨VÖi?œAˆÓóP½½A@³6z&—¿?€8tŠ¿p ¦?X¬ƒúª¿ˆ~eÔ~Ò=Ç|ÕóaŒ§?&0Wú¶­¿–gÂ…RI´?-S%*Õ¿‘ªM‹Çl>ŸFç÷[1¸?›åÁˆ^È¿¡ ]-ê?ÐÆ+<—©? Gµ[©:¾/ˆaÊò°¿šÊ‘¤lK?AJZ!Ý¥¿/@Ÿ¨¿Åïì*‡ã=£Ý²Üˆ²?”wÄßa³‹¿÷³ºÆk¨?a ¾±Ñ€?MÝFÓt¿. Oº¬ƒb=Ð:ÖòV?N<P„3?ª, N­T¿Ì£U^Ç`¿é´à)Fâi=wKá³ÛK?)Ë¿:¤N"¿ YäÁýÁC?;ѨÂu³¿µ‚5¿×™½-ÏaŒÃÕC¿0z¨'>¿ð8Æô'?ë¶oÓ¢ê>*þ¹°?Ïy½0hg@ŸÏ3¿—V~ ÛMõ>|{cÚ‘ ¿~Ú7ö á¿2D,/¼b=Zqýz¼ñ>]\PŸw¯Ù>V2-Ö-ôû¾½ÃŒDEÕ¿xŠ×W P½Úýt·2ýð>…TÉF‘•Ⱦ-ESÁmë>ÓÿL>Pľ%LÝòŸ’%½H|Ϙ`꾌BþZÏ®¾ ë4ËfãÐ>`´Õ#ƒ>Ïe–>Ó½™ƒX$ܾ)›Á`–q>Ç~‚e‰À¾@‚}K¼æ¿¾>Íÿ öß¼°÷´îµ>TâEƒKƒ>3 ’hù¤¾Æˆ.¿O0°¾Rô\¸þ<­öx½-o—>±Ó6,r¾o°#œ€”>û?¡YVþr¾ý&o2NßÒ<»6®>Ÿ“¾i¦_¶Ö6Y¾³”פ*|>³qÆ?C¾k…ÊÓ'ù°<³Úþ5+…¾ zøÊÃI>n³ÕÛDk¾ß?ùTi¾QÛHFè£<ž/Ä3À&¾p¦£ãC?hÑ.µn¿Æ´úÁÃÀƒ¿Ù<'hº=«¸ Iò›?ùûøƒ·ÝŽ?k²*¬¿*Ë}ÒÑ–©?™žN¹­‹>õ-cⲿ©¡)$U§¿¼`†ß¤¾œ?örУ?©ç9iJ{¾Çþ)#õªÒ¿› ™0þÀm?LÙa-rƒŽ¿NÔ¬! €Œ¿Ò‰™ ¤~½_77A÷?@YÕ—²½ŸQb¥f2?á·t‚ì¾óM‚°U?4¾2P*,ö>&éïs?¦<½Ôÿ{9â ¿Õ›×7Û Á>˼I“(锾MËÛ]«M»>-Íx &0œ>˜&;½èDʺ´¾¬?ø_&j>†ehk,6‘¾—… yM…¾Ì]â¤ä¼·möŠ|~>óˆÎèd¿ŸÚ?z…?(# .A®¿ 4à=;¾Çæ¨Ø+»”?™`‡[OB¿· seáöÉ¿”LÕLêîÔ?Œ-`ƒJÎ=ú¼À<˜UÓ?Vû9Óú¸^¿‡%Ì›KÞ}?An0+B€?D+Ð)Ú½œ{ŸÃFÝŽ¿Þ}GCQ‰¿sv½éèÍ6?¥/XžB??ågãž·Ep= é Æ=e¿àèšI¦¼Ñ¾’8±$So?¥KPýÇ]0¿vÖŒ‹a|«=£,îH¿’*Þçg™>i¹ÔÀóÝϾï”FSöœê¾Ä…¨¯ç=½\V`F,U¿åã§/u¾®õøY¨>W¼cXûç×¾æZSL=dè½ ¨çi¾´n+óá¸P>[r*~¾‚z&W3¦”¾ªü[jìÁ½úTÕÇ«¾1F»Â÷)¾Lh1K5Y>‡5Ó¾TäèYzê¼ÐÆ4¥B¾“yÒt%€>"Šg,4¾ŠßFÓüQ¾ÅŸ ?¡¼Ú±›êK(¾-!±¦':¾Jòâ9 b>`*îéöG>÷Ý;íóÿz¼•°†<Ûc¾hOøˆR `?È3M…R `?x_y:Íãb?Uº=9Íãb?¿¢Õ XJ±¿Ðš#ŽƒÃ³¿óð‹ƒÃ³¿Û+–bŒ¸¿tϾ2ßy•¿Yu^9ßy•¿É§Â‡vv¿yÍ‘‰7?ÈŸ‘‰7?Ž d(j?øgŸ$Mø¾^íÓ$Mø¾ÉãQY¨ªö¾6œàÈ>Î$þ™˜àÈ>{À°ŸÉ>¥BÍžg ¨¾GÛ[´e ¨¾„&çŒv¨˜¾±°\Ÿ|€>«U8ÛŸ|€>ÙoR“ù2m>ùmÚ¬&ñW¾Àj° 'ñW¾ï› "¨F¾\›¡wÓì1> ƒ)Óì1>"Ã<„ð×Z¾¡‚$Ó°ei?V°]³³‡¿`¿eÝzNi?®ö‘!R¹½Ú (M—¿1·Ù`Œ¿‡Í¨yîÄ©?@«Y’o¬¿Æã°j!ã=9m6ˆ’§?ójã´¿¹^¡.—Æ?@ãŒÂd3Ú¿È î[0Æó=sóÓª|Á?äÀP#ÂT†¿ÐÆ+<—©?m£ü«.ä? è§Y©Ñ=ÏãÜ¿¸M:´ìì¿—~`yS‘²?º†(ø¥?c[Ý9ìWÈ=9¾Äå–¿oÐŒ¡(Ór?Ô½•¿°2  ñØu?ZŸ°W“½èÊŠ4•”?3εÙ&ÎI?l#¦}®n¿¹­cÄŠ2?ï‚¶~¢t†=ÉŠ=NÜÒm?‚௞ -¿ˆóQ[T?t¶ºA=•P?+ãuc,€½-Ô²‡L„4?¤Ï;}/¿ïBÁ} 5?lÔàŒ j;?Ý¿ªf Z:=ÑUþU3¿J=åçR”ó>)#ë[Ñ$¿Bð’¦w? û©Ã]u={éx‹?G¤µ“Fá>­ˆWüš¿ùËÏâLäà>µ€§Þ`=FLÍäÞ?003£ Ⱦ„Çñ€ï>ÚF­ÐæXì>ÅöñG£0¼C±7ܳÂ>Iq¾ó·±¾÷æ]}‡Õ>ï¡ê\¨—Ú>rýY(PýskÊäIw´¾9'VLýk™>ü.Îtf@À¾]qÍ“­>ˆgØ[!=€íÃçgrº>”+ƒ•è׃>_®35áa§¾ÏÀìlÔ€>\£ÂÔ¼n“a/ ®>½åÞÔ¦m¾|!ÖÖ®’>¼S®k¸N‘>ÿUlKcä¼·ä°c>(ã5x\W¾h¸°ý}j{> `É‚>eùÕX`żŸú¸ )_¾R­ƒ5B>vozNÀ½f¾“œßÿ–˜S>¬@6…±º¼;ùÀ¦ƒËb>ùB2.>á?-•(¿Q¾t¥\ªp->Ò8R”Ç«¼,™”0W>$8uÈÎñ¾ƒêã2¢@>S£’à@;>ß“ÅdÅ;™<ÿÕÑ‘à ">t(úù A?Ø`û¯Gnk¿ŒÙí/â°ƒ¿/H0²=3¾Z£>˜?–ž-·LÚŽ?TI$鎲¿†º—aK¯?µˆ¡Þ7× >ô½.# Û¦¿Ô—¦Ù‹?T›X—¿bdÐý›?w¨JÕ]â½ §3Pqšª?a$JV/AL¿áÇ(u w?ì'ŸB\?ÀP#¶îM½MŒ&?ܬD?ù‚›P%?9÷F© ˜O¿Ì€ñÊ©?¾üÑbq`= ‚ƒM@?½ý-wトÈk÷ ø?¡§p1Ÿ??Ïã?ùPm½$‡HŒíÖè¾q³ØâðŽÀ> ªtÔç¾Ø#‘º­Œ>Í6OÞ+½ÙsUP;ÅØ>S~âX<á’¾‰ÄoÑIíº>4ƒ8ÐW «>•äܾ³½5TVšx”¾(­`3ü#f>AtÀkîR¾Ô+Ulöh8¾ª¾ç<ðNt’:>­#Ùeï;¾I)b°c>Î9Rî€0T>_MÄ¡ˆ Á<4Ÿ U(d>¾ò^VÄIJb¿§ újê‚?þSíÉêww¿ÚYÖôý½¾×Š“ïN†?ìÁ4‡ž! ?Ù¸Ô²v£?PÕ-¼8Ê¿çºà‚νÙÔ‘EygÞ¿£°¾Ñ…“E?A;tûU¸h¿¢h$åê9}¿º5Oz«¬½ËI–½¿cˆ?îñ^BÅ˾ßå{D‰š?ï/®Ê@—$¿öÄ“•‰]=#ôI(u&E?MÀ§Ë^îÖ>áIr ¿Ê*¼‡xió>/uáC©X½¤Èð±!Œ?ãzo×e‰˜¾Ñ}¦ nˆÄ>òöªÍ^~Ø>9…Ôt/½µ{ËöC³>wâs¤j>.ÃF}C–¾þôy˜í >F ¿·6½ní‘HX §>$˜ž_ =¾t‹0ëh>+2Ùù Ã~>XÊ}òôvò<:|,Y¨÷d>¼¸ô™š>Y‹ÁL– =¾Ý°Ù_ˆîJ>|Uþ+Ã?¯ÞØö>œà½oûvŸ>c¯îÿ¸&>D$„f¹;l¼}ˆ- Öí=Ž‹4‹YZ> Œ‚7¾ C4_YÙ ¾pdl"œu¼}&¤[07>´yâ·ìT?å¾Ì ·ìT?öÏ&‚c?\Bq&‚c?)¥q_¹¢Ÿ¿­4²RO‚µ¿ˆÁ¼TO‚µ¿øqC™%*ª¿ôž¿­?ÜÕ¾­?ÅÃ%¥Æc?›ç8£ù<¿Õ—ÿ¢ù<¿Ê蔵 êÙ>ã5 Joû>ãœØSoû>úˆöºæß>JJ çž+B¬çží{O +±¾ ˜1NŽcš>Ÿí(¶cš>¨5S°É¨}>økÞî@k¾Ã2C@k¾QÈ\Q¾ê±'(@>ÖW<Ë'(@>V—Î&Q$>yÜÀP¾¥ø4ÁP¾+Œy ¿ƒ/>Èø¬ƒ™ =ÔIVÕJ =OÊ{XŠ£½™ÙE“+`m?‹Èå£m5²=™g½J¤“½71™Ë)«=Ž%Ž ïoµ½«•SÊÈ‹‹¿¥OÈt[­½Gí½N ³õ0ø>P¯ ý–ü÷½š=)—¦?¡^š8ÏÛ=­¢ŠST°ø= Gµ[©:¾ è§Y©Ñ=yè@á·[ê?…å[MÙ½z¯¶„zѽ°[ B=ß½Ù>±Ë½Ðú®ÇA–³¿˜'iÀ ÈÑ=éÑ_2²Æ½³L·YÐñ=ÉÐyX\²½e%+f<³Š¿Òl?Ù¨YؽÚàÛ}E=0ªÞ¬÷pt½Ú&‘û†5°= Ø0;XÄ1¿ãcï9RÔ½øË°ä=6>‰Ý¨½Ul»n²³=à‡ólþI¿Àa¥jØÈ½r_IyÈj‚=ù¢“£½;4x¤½Å6Þ5 ?–PSù4÷ƒ=ϸšE¤€½¬ a´Þñ£=2kû¸á½¡hp£iû¾îöûQÚ(¢½ÊDšUÅå_½IÉúpÞ=dÙø¶ ½KÓ^¹ÄÌ>¼YC|½›…Ð@GK=M¢³Q°Wo½hpV÷ n½à»¿"¾þFN“3ë<ŽÏÒNÇã2=-–/Å\U½ªÌ€_½¿OÇŠ>ø±=æ[D=Û»i/¯ ½ÖH·ÉRC=æ›RÐHË#½p 0-O>p.¬‹ÿöA½zñ\ÈZ½ ñUdgN)=P¼€8š"Ô¼ý¡Ãj3*>w7k³Gœ3½‚áØ+wÏô<95#ú_÷½©Uk“›½nú²’> jÚŒµÍ×<Ï&’ê®oÛ<‘Á=Gøìþ¼Œ¤¼£tN½JA‰"²À¹½è;ÑPí‡×bî³KȽèXYª×?qm2“Êaã½³|²gÂÄ=Nž$j(šë½FËuäâ½¼Eµ€g,—?Þ «æ‹¢Õ=ƒS‡ÕŸ½n„œ×?É=Oz~nÙ²¢=kLÊD'¥H?¶Ëñz_ǽÖu™,üÈn=s\TœÁË•½îµ É|†‹½t‹píð> †å\û €=ú?H,=E½³¿Pô}l="³áç´›F=1´;;®†¾'Ìg2¨d½ü+D?›=šYÖ‡]?½Føp–9É2½DCÀÈL[c¾c¹bO+=³NüOí¼^9UÝÖ¢=@­5%Eî<ÎÄH"¾@YÉ.æ ½N[ŒPgaÅ<6ûùuíjë¼þ§dç”.ݼoŸg f°Ö½‡½U~kÌÒ<瑜/ޏZ½œ&ꃰš=p;ÖQ‰£½ÿÜPKþ…?‘I³3¨½» ¯b¯íȽ §óbö=¥’ÚΔÃÝ=ãCN æ?¿ '§£:ç=„õ® ÿ§=‘Ǽm”ѽYþ¡ý0ñ½6(Àzº‚?‚¢W/(>˜pi©ks{=‚™åÇ6¤½ùÞñ‘÷Ô탲Qã$?ÀšÔ2[.Â=âÆAâÈHG½‘ëÌcÖ p=‰>ëOu½Í¥–ÁùƾQ¶wÎfu=ká«ü5% =OæzŒ5¢;½Ýg”k–ƒE½Ø9e¾dÁÔLk^½>Ok_‘Tã¼5ó1(«±=TL¼†+½ÌhúÊQ\¾¤,æ¯#˜½ÝÖ‰¼¬]Á¼¸ E9ƒ¼æ”ÖýÉQ¯¼Iˆ;®¼¬ YDÿK~½Å`VŒO„¼1‰,ìªt¤¼Ö©†ÊBšÊ<ø‹tq“ÙÄ=xر2‘$p¿YÐ2‘$p?ïXŒŒž<‘½bš¨ß·ÿ#¿•¹Ö·ÿ#?¹–´Vó[½;KÑ÷о†`è÷Ð>nY·_z=#ìýÞV²=¾kǦQ²=>y®I Õú¼ʸt¥V9>ˆ¨kT¤V9¾µŠC2>ÈtŒ=¼'”µÞ“¿ô ™BW?ö`xÊÅy¿¹¶ÿ¿x¿÷Eùo‹–L½}j§…½wT?ŽTô*âö7?·öWËéëY¿ß–[Äd¿œÃøÒl=:õ=#ÒN?©²šÞ—%¿E©°ÅäG?ßQöªST!¿‰¤c"í퟽Ts]²NG¿ãùd†á ¿˜BwiY-?÷ú¡Dv²Þ>Aà–Ž-¸€½, OçÉy7¿;¸†Séø>iž+Àt¿ wýˆ¿Vÿd‰ûd=à¶2wÝ ð>$ÉQyðÑÞ> ÿUÛ(ð¿•Xz=äà ¿`×_ILQ½ôvÄ}æ$ó>ÛN+!ºÌ¾ÐÇžöñ8ð>Ôã»Ð˾Ì_÷ÿåé1½¯VÀî¾±v¾»˜`²¾ÞÄ 8MÔ>±HôÝp>ÿ­‰Fz½s·f‡à¾|²ùi 0¡>ä3ê:ý~þ#êEÜۼ¾]|¾‰´R¹¼¡‹æù>þ•Ø•†>Ä+hש¾»“ýK³¾ÿU¦q\=÷3 Å.¢š>G(*'#u¾‚Û¯d#˜>hJ•z x¾øÌ»ÃRMÔ<ezïŸ=–¾zÂü†:å]¾q„oõ€Ç€>7pòÊŠJ¾a9«NS µ<Ù¡ˆ~þ戾*K“æX_N>®ÍÈZ 1p¾Û7½`Àm¾gz&ÝVDÂ<壚7{2¾“×=Œ‚}L?øÝ_!âÆq¿¾áb_?ø#*F}‡½¢VfÔD†R?šÉ=–â¿i>ˆ¤³?'×]Em™¿ëóěæ•М?s Ë™¤äµ¿3(œNÈ?t=äAuwµ?ð!Aý³q̽bÌTi9wÚ¿4Ý"×/Üs?-ï«¢#w–¿,Kù€ J“¿ütËlŒ½Ê¬1²‘?Q‚¿˜ùK¿„OØêq? VF—ì‡U?èüµ½Èl½Á‚êÿi©l¿Éàõ-/?%'KìÙB¿ ƒš®|Æ7¿AòI²²½²M‹!4?oÛ áÕð¾~(ª &ç?2ÊUCŠ”÷>/{›œ›3½ŸôgµÂ¿ô­rµ!Ä> oT< X꾋ßÊ”`xà¾H÷)&›øG=ñ¡¢›dêÙ>]#3¾²Á4Œ: À>ÆÈþ€Už>×®~ø½á;é•ôà·¾#‹DȲn>ÕpÀyS”¾~Ä·*cƈ¾‰~6XhBç¼…¨Úßã>2ÿú"M?kÑ>æ¢p¿Ô*@”NÓq?J¢ÇÒÕÑ=*–}‚<*Š¿SâÅ^>a—?kUÙªØÓ©?tZ‰hfÞ¿eÎ ß“³=qüǼsœ¢¿|^±Æ=a¿ï+û*Kù?ì7éÏBÞj?Ü1lWó¾Í½¼Äô-‰¿¶ÅaòòW¿ïy7 D,?J¤f—YŠ?ú¥åœ1‡f=gDÃôì¯f¿:å˜ú%Þ¾Qps‰» ?PYSeW°2¿µ!Ü8=,®=E6åÿ10¿g·DÙ¦§>¨äoÌMÙ¾Ó¶»Â$ó¾ý“]aþ3½›˜zÊ_2¿æ²X·ƒ¥€¾mÅ:µ[±>>þÅA·1Û¾á…MþyP=¡Ý‘¯%£¾/çóÛMW>²T/6.e‡¾9ëq»›¾ë£<¤9'!½Íœ#>+®¾šÓº‘Œ0¾,4ޝ>2`>*317)l„¾Á9ÔÀõÌ뼤fòçS¾÷Ö^P >¿k`£Â8¾à¿_IkU¾Vp2ªjGÀ¼tÓ¢¢+¾Ó›Ÿ¿!?¾äêÝü2¨e>[µ%Ö$K>ß9¡Op¶¼òÖ«×|g¾¾á&öÐ_?~ŠòÐ_?adtÕj??ÓÌzÕj??á[ qè”?sÀPâ~?Õ4äÆPâ~?šÉz'Äz»¿Ϩ!Œ-“¿Ü‰$Œ-“¿_Ùsà|¿RæÎŸÑD?fYŒÆŸÑD?X䲯  &?gõÖã•¿=me÷ã•¿xˆó&ÑÏý¾}ŒŸž×>#ñÀ×>Yˆ …SÐ>ŠN-[ª±¾Ö:© Zª±¾UŸ§âš ¾Ð: LXÚ†>ˆ<åXÚ†>­ubr‡½r>RÉ2bÚ½_¾ë2œÍÚ½_¾öoŸÐ… L¾+”6Ò8]7>Y”Nƒ8]7>''poñÃ_¾=ë:ÿ’1¿¦;I»¦ôQ? “’Ž6j2¿fv&{–Un=ÉÙzBTH_?Á3ΓÜB?rbÔöÂÿ`¿v kùc?é¥ÍÎîz¬½•™Ë“Ñí`¿ù3Rƒñh?°h>gË…¿ˆ+ícûl‹?V-¼¢¤½AèhÖ`V~¿_‚8…3s¿šÊ‘¤lK?¸M:´ìì¿z¯¶„zѽ@n$+“?Œj¹‚Ðv@?/J(|È¿æcüŽ˜?C[ªõÓ9ÿ½;ÜÒW8/z¿†à>8<½•?#ˆÓ1­¿ª ÊLÐx?E¤·~‡;Á=¨f™Ø»­µ?*ˆvi?´{™Ð‡¿c×´~ab¿Ð¬Þa<£½Xïàíùñ•?zRc«¯M¿g±Ú±Àªl?ï”hýéHm?ˆPtß›¦=öhpçG¿¢x~¦”3¿b‹IPZµT?·ÝPEu^?©˜ZGÄl=UcžkH¿Kœ;x”J!?•›E.[C¿ƒTÖŽ ò?œ^Ä‘™=[”<:Ì×B? ßf×óL?7X04ø%¿„/ë„à¾ù¢ P„Óx=ìFè•´1?$hÑ=Ôò¾Ê¾É‰ž?\ÀuÖhD?óñÛ¯áñ[½X­ ¦Â꾃c-E¤ò־ЮäW?!ù>˜ Ò¦D?7]wÒÙI=^à-˜Õì¾ÎÒ¨H]Å>z†辜▦ZkÃ>¬ŠîMaÇ*=\èÞ^çæ>‚v° >«>y áí¶ξ2ÓóŽ?Äm¾Óðvˆ‡t=aÐq²*tØ>ú^{,‚™¾ó]ëDä¼>3.uCŠÆ»>å&ýt«Û q.¬>ÆáX±rù¼š%¼·“¾¢2´B@o>C^<ÆÔ‘¾¦u´Ñ­q>1nHSìϼ7û"•q>ó;^¬V>¯Í}HËx¾¡ƒFÍIC>¥õ“攤¼œ3°Qze‚>*oÚ«…tF¾4yë§ñg>[¦S;›úe>Ü65f¯¯¼h2¼Ç¬+>¿á6b¸s¿B" ‡–@?åm­Ÿ‡~F?n=.åÓ ½‘s§Ú[]¿Ž†È•Q¿M¡äMÍ^t?ïÆ ¬ à`¿¼ý¬ZVê¶½Ö°ƒÄŠw?ê¹Øà‘?kâg@I©¿Ê¼wf·?Ëåó¼>™ë=6œ¾®h¢¿>W·Ý®¿kNw¼Ÿ¡?Áf¿MëÁ?^»¯#ÊqÃ=*ˆüÉ©¿õ¸³/­G?Ý¡m‚Uíl¿€w?…kV¿9q#æ¼ó¨½ié“$óSf?În”mµ¿ÍËTëœ;?6£²ξ1?‚ã lïkª=hýŸïâ/¿:šˆÄÃEé>{/’a¿(šãTò¾QØ¿¬¿=©6ŠÕì@ ?}¿¯~ ̽¾ðëñkGsã>OiÍn­`Ø>é”y ñA½=+<îhÓ¾(Pù!h’>/ bÁÊ·¾x[Š·ZÆ–¾7ÄT¡“Ë =;Hù•ɧ±>j”™R*«f¾ÐÎÀÓ*Ž>&/øßG‚>°6E)èæà<¼ÊºÝ#Cy¾ÔCü ÛÕ?æ &T¸š%¿Á<‡8»S?ä-Šk—¦=X¼LrM?=Yüù98V¿ÞþwÎà¸q?P8á _r?äT†@í»Î=WPÝzˆ?&^ý&ú^¿ÑÏé°˜kq?Þ£€4»Óƒ?P»E~ýmœ=ìÑ‘fz«¿wÌíQjо Ã^¤ ?e:n&ÑX?jR…¥é²½ïCõ=[?]àœ²¼Ð>Š'÷>§ºþ¾³ÕðŠ¥”)?v¿wóS¦½ ±áʯõ?¸iÚ“Ö–¾Ù8^æŸÎÍ>ε: Uê>0NC“÷.=VQh8Í^ÿ>²_?5ex>2 EgU©¾ üÞ¼ÉÔ>à¿ýpH½ŠÏ·kûù >'¯‰¤m‡P¾)³Œ+Æ€>XöÕ*Vr”>¢nŠÐeƒ=«Öak8¦>7°ù°"#(>BA«÷aµW¾ÄÈß:~>fW›®å<Ž ×¤ N>½¯d Cµ¾MŽ6Ü”D2>òcŸ¢O>òîšùÍ[«<Üá¡vØS$>)åldL7>ˆ-‚t–`¾öXi)ÖûC¾7~+{#Σ<î꟯^a>ŒÉM'¿v•JˆÉM'¿É Øà` .¿ÖLÞ` .¿}êñ X{B?¿îýˆª?L-ýˆª?‹«Bš?î‹|78[»¿v º58[»¿Èœ¿‚qu?…ͰœÅT6?‹ë¨ÅT6?¸L7+V¤ ¿¾¤\ Fºê¾}@îFºê¾>“ ñ?s_eCѾT«®BѾ¦¹¢†!ǾS3Ü‘\¨>çö°Õ\¨>¢\*¨“˜>±c,K€¾G»Y‚,K€¾„^“˜ÐUl¾…ŠË±æHW>#\çHW>âEü<âÔD>ÿD‹^RN1¾Ã ’RN1¾Î©úÅ’W>‹°; `‰R?°UØD¤r¿Õ©Ø–V?§‰òÜö‘½@¼³: ¿-ÿËv:œb¿q[­wM»€?èïlÏ«„¿õ­@CÚWÊ=!°{,ø‚? ðí\¤§‡¿Ï…þø¼¢?nv1Ä|k«¿{¢ô\ØÒ=‚‘†OÍ ?@˜†?AJZ!Ý¥¿—~`yS‘²?°[ B=ß½ ÞîOK±¿?/J(|È¿Óéno`ë?*ø|¨â>³¿8Ïý(|5">Ì/$À46¤?Y¤ýÀ{­¿»OIUrŠ´?–Ùê”1§¿‚—tÂ=GàDÌZÛÆ¿bF)]…¿ui‚8ø¢?µC”ûî‚?îQ¤ðʇ´=ãÈ]ù‰µ¿,ºC &l?&t¹E¡NŠ¿Ê¬Ý—´‹¿q;…g‚•½i¼ìëËm?é±ZøS?"kqSÇt¿¬ÉC º¿Q- 鬑½¥Ë;~ä¢j?ƒ±ËЇnB¿T'(cd?@fèåˆ-¿¼¢‚jº½-olòF+d¿éþRSSt%¿¹ eYG?tXi$W ?™þ0^Åg™½Z\@,EïR¿T ì*b?tÚùAž6¿úfÔ™Ñ5¿†ÔaƒX=jô€·›ª?†æá‰ø>ÊëcS£º¿M?µÆ$¿ÐB÷m½-«obç?Óò0ç¾ä_vè ?‚n°ã¾(üÓ›üóH½×`|3â¿SˆÏ’uZ;0C]-ð>*)LqÚ0›>`xpû+½ž¦gÜ-ú¾ «t¶ Ì»>'D…†ŽUß¾ x.Þ¾¶oZM~7ï¼µz#ñÒ¶­>ñ6+…Œ¢>’¡°üþ5‰ºg¡Î¾\¹³Y†=àÁÍËȵ>Ù\Ù ‘¾ËrÏsác³>¥™btj¤’¾¥ÂR‰ûzð<œ4À¸ õ±¾€SwMNúw¾GëÚ"ÛÚš>#W:w'Ùc¾ÑSÍeòÂË<™Ój ¤¾ºyÝ9srh>1C°~3ü‰¾•ÚIÁõ‡¾ÜDg xÐ?+•û‰‡†d¿Xþ>³xh¿æ‰bÚa´U=!ª0x_?ÓB.ä=]p?–Éİ(ì’¿vr£»äcƒ?"»¥ÇNKÜ=Î@¶:~˜¿- ]Õöñ£¿üǤ® «?D!4’ÔÍ¿'~?ò€ ¾÷˜¹öL¸?#nÌ©6Ïœ?ŒÈ^ùÓd¿¿G%ïÊ¢­¿eGéÞ7´ó½„ÒÛÐ»Š½?¿À—'h¿Êt!±¦?‡÷½¶VÔy?L>L“Ã=æ<Ÿ»Æˆ¿.nÁÞ”î6?º[B¨Ð\¿ì› xãíR¿9—­µIÅνWîânMQ?hDVÕN> ¿ Ð|‘RŒ1?èeÞ%Õ?òSE„@½8ÕFAÊ–+¿¬Úó)à>cÿ¨¹ý¿¯á¹ZÔ•ú¾öxÒmc=Y/v'7õ>oVò¶³¾ÝäÒ=ÜÎÙ>–÷ðÄ7°¹>Ÿ‚8ñ 0½™d7-_Ó¾ppvìb´ˆ>tä8ÅSO°¾_•¦²¤¾ðZ÷p^[½=>ל>X¯¯äeÅ"¿Þþ.—ÀD?I(N$sC.¿S`¸öIE½ムŽp¿ŠKd§i?NÐÍÚ){¿ £‚9¨>‘¿¦qLÉ Ì=|Qâç̦¿r”*P¨ük?hÐß%nYl?ß¡&úiÕ±¿×xœ»¼ä½–Ÿ²Tñ…Ð?ñ,êå.Å¿!eß¶?6£•6w¿B5dÕü Ñ=až¾vÄ™€¿À_üÏÁ–ì¾À´?ñ5ˆ? Ç=K¿Íá7éóÈ=ÛÇÌÚ12¿±Zøãù«>ÃA Šè¾ø¢¼t¿|/\‡˜U½Üj¸Ú®!¿úÿ*'O\—¾øv®ò#É>׺(ö¾h8‹^–µj=*@'߯·¾Óa¾ ’p>ä…›vC*¡¾ÿ¤*xè´¾….%~–;½#’?MMÊȾ¬(9òH¾á…ªuÝÈx>®¡bG– ¾c ms³½åloð4j¾Õ̲ í">¨‹&%òS¾Qž+­&q¾IAþ‚'ͼ¹w¸®}F¾UçX³EüX¾A£¬XÎ[>pL ’r!f>†ÍË%;òü€ý×q´ä‚¾D‚GÃÜ¿M?-œê¼Ü¿M?–±Ôÿ†Q?ri‘Òÿ†Q?Vç!wNti¿±?Šn7Y¿8³±Ž7Y¿ááµGw乿ŽÈa-óLÎ?f©—&óLÎ?ù„ç¥ø«¿a²+M8Üg¿›ÖöZ8Üg¿¼ª»|F+Æ¾ÇÆkð§ß?“éì§ß?˜KŠàm?!¿û+”Ú(Ôí>K]Cæ%Ôí>tf½kÊŒç>tìUµÇ¾÷Y'vµÇ¾'Õð…Ú0¹¾)ú½Ç ` >H‚C!` >‘Ãp‹ø‹>î¤èOx¾t1DPx¾ðK{f¾d¶0MR>”¸HR>`DÑ‘y¾QÐ+«ùÅZ?»ªW¾ò{¿ïŽê®V? Ä_韽X@Öçe刿Ì+|Vמh¿÷®úØ-4‡?cìüS¿GÒÁ($åÚ=K2s¾D‡?Ûƒòê“¿º-èdJ³?ëU¯‡ý¸¿WKÇýÈ=6±7ûó§?ºbÁD?/@Ÿ¨¿º†(ø¥?Ù>±Ë½o`ýùî°¿æcüŽ˜?*ø|¨â>³¿Ù§rSâ?\#X¸ñ=’g]Uö§?VnÜË#v¿ùPûÃ5˜?ÃÁ$Hjå›?Üì-Ê6½½¶ŒÈ&øÐ”¿|VYhæ¹b?Â*Ò¾†¿)<éü'n?ÎÜ+á=‡½:0ìÎ ƒ?1«ñÐ&?%]•‰Ó ¿nušú·?Âõ[¿Y`=Q +åNX?ÙøñõQ ¿x«‘q¦5?=vø?Dl)¿Dz‘œ'˜=øédw8?ÅÛ×Xiñ¾õy¡Žû$æ¾Ä¼;”Ñ?s‘ú,yd=WТ|¿":’£Õ¾ÿ½ªé>5£gZ¸Éþ>4ÃI† W=Ü)j6…#¿›ŸÊ^…ŸÙ>œñšÅJö¾ûR¶h-ø¾JŠtÊ\=##¸¨ò>=]ƒOu¶>,<7 Ծ׃©XÀè¾]QNgè6K½gé:6%_à>gš—`ë°¾°s71Ð>¯óMY¢>uÉQÕ™Ž.= HcžP‰Ò¾ŸÏ%éÚ‘¾ ºiQ˰>Îû¶q›>ýÊS) ½Ø"Fv«›Ã¾ÔÛ bÔ…>ž„ û¥¾2(4…0¦¾GU®òû¼”ÕHŠÓ>yºäÒ®úg>J—±Q‘ˆ¾Þ~šˆsì–¾°ò âç<+|+_ŽÕ†>•PÆ8 \¾•ñWÿE}>ªÈéÒ„:¾ XWZ˜¼ÁËØŽìõ}¾´ªú"A¾(Èz“(b>/%J˜ƒ>>‡œ€T¤¯¥e£?ævR¾{•±áÜ&S¾ñóÏíîp< iÓ =.(>s´cIgC?š:(»i¿º(d !q¿³§^´w^=¥Yíüzuˆ?8•+Vƒëq?,@µŠ§¹”¿;ØësÉ#t?nR–ØÛUã=¢–ÑgT¢¿V/“òÏmµ¿6y@zÐ?pÀi Þ¿z¾[‘7ä½{'é]æÆ?M»Tc¥àŒ¿ú¤IËô–°?ÎÑ8”?ÇBÅxã½HÐH-Úi“¿E:P—Š¿ØÝ{¸Y¿d¢ZÊ .L?–§ã|½BœG÷N¿ßX³Å)nó>ŠØŠ¿É,EÉ¿ÂÉé6Mޱ½ÔëŒ1Ñ#?3=ßBtϾhíhÊmÇð>—.ê›E„í>Ör¸XÓS½‚£YYß/ö¾/~®0§> `Ÿª.˾HðÊ ΞD]hÉN'=Ž¿à kÉ>õ"Ø^Ë¢~¾‰Òâr •¢>@2fr%’>QÝîÌ ò¼h®aéø¡¾ ]„î±S>pÅFµžqx¾*ÃJñ°‡q¾©…ÃÏͼ8N)BYp>Æm÷QK<¿Ê:’wi©a?ågÛDm¿DžJ2ZÆ×½³_°™Ùo¿ågÒ3ëh¿ÊDø)œO?JR[_8Ý·¿Ž‹}¨Á=©ckSàW?N ÷Ñ™Š?'m²ˆ«¿»>B²@¡?¡^Áö}S§=(!l…3Š¿ÿ²û.¬?¿òBÔ_Ãa?Ô*j@|o?úçCÈÂ|ͽÒv¶ÿ m¿¯œpؼÖÎ>ÇáÓ¼¢óö¾ïqtIRÓ¿×u”à.Øž=KI$±ì•?'³’Â;Oª¾É³c·Þ?Ò>£DÿLëvá>‰±å©¨O½ëZÉbô¾½{ª¯t>ÆB½…3™¾Š¨É¸ûïÆ¾ÚDbýV6=g •è-À>ñ-* 6¾¶šÜãÄT>Úr›¦…÷r>£’Ž´¸°½ãu6õOŸ¾’Wð0þð=e€ÞÇIÁù=s_Ì—¥Úp¾‚þšrѼ NZ[>€×lEjà=àW¨64¾¦.Üh8¾d€ÇánàŸ¼2†&UϾŠô+è|!¾~u’ßYGG>i Ø“üu8>š˜Z›Ô—¼}ÅtÁmL¾6M”»ÞS?©Â ºÞS?5wšjóV?˜Ï?˜jóV?Sü«°ï݉¿J.¬/ZQh¿0£HZQh¿†È¦„ZØÁ¿,[_4g·Ï¿•»ù4g·Ï¿}quÛUÑq¿X&î8.Y1?;ë«.Y1?œII¶Aë5¿¥$Ã?S½ãZ?æã°ìk‡ð>kLÎXڨܾR3Ýܾۨv<ò\ ·¾!Þ»J§ò›>»¬3¨ò›>%ñ u>=¡EIŒd¾/'ð·‹d¾‘]xä 4¾YÚIêŽ">öR-ÓèŽ">ò8X¾‚ÆÛê|ɽ”ÿŽɽ=î¡?:C¾•Ý{,Ì©y½ (èg“è•=Ò>ýmþy=KÎBfÑ5¿+W29 Ř=cbØÛtñV=…x§{K€p½Ð£Oºþ~=ó®ÑîÍâ'¿J{IÖÑâg=Ùï'ÏÒ¹=ðÔ)Ytß½q´ŠÑK×=²ù `¿äð›¸M½F@óI!Ó½Åïì*‡ã=c[Ý9ìWÈ=Ðú®ÇA–³¿™¥E<¯…Û=C[ªõÓ9ÿ½8Ïý(|5">\#X¸ñ=ê&wYK½æ?ÂIë–¤ò=âºÓ¡ƒÇæ=ö‡©c\¶¾Ø¹½îöP½„ư*J¦?dU­”´„>A™ïnùJ ½ð†ÝZ'Ö=•®ha"Œë½Ë¿ûzË_¿âꧨûè=nô†€ œ¤½86tA„Ò=š”;ª4ì½<Í»òŽm?{@’çû=CÔˆÙ©Êš½œ ÈøžÀ=G¥e—`kÂ=´Ž…£‹)5¿ÁeŒ *»•=?Ä¥T½Å›={R GÁ½¾ãfßœ=D‚&bÇ?k´…2Ÿ¿=뙯y=V KT|½F艿Ô×_=xWo •è¾€š€ ž¤=-ÁH7Of½MO–t§ëŠ=3Î/]œˆ=¥W‡m‡~¥¾ÉŒ& Û==ÿ(ÓðÝL½l¬sF‹p=ç);kÌ­L=æ(ð¸w½6ŽSÛ£1=ãûp›„0=õârῚ:¾‡Æí|eѼRD#!Û±ô¼„é.í×= R¤|é =»YòU00>ƒò`‹x½šˆ[Xñá̧l¦­?”óÁ[ý:@qÓ’½5D¼V`=# °Pw †½êq+6sW½ö¡·’¥”Å>g ´S}= tí©}1½`ôHµ­W=†¿Œ¥%K=JøÖß°‚>æ€ó¬—A½. †4æh=†Àš¼3ÿ,½­BIŽ#û±©Àg5>è2L_#=}µÄ+Û¼~?´%å=[Hzàô<›X8!W¸Ü=¥¢`„gyè¼éÍ]ïcl=%Øš–À>½¤` xêz¨= ¯F©ŠyZ¿GP°ph½Ál¡Ë4š½ÛŸ céÁ='ŽüÝÇÙ=QLš€œ¿€4ÏqiµÐ= ec;Ý¥½:LRÐ×=(ê ÃUÁ=‹Åmruj°¿NŽ\ÏQ#è½ÌõD kÓ•½­!Ä{€ÓÃ=(¢UÄv‘â=3🫘9¿xÕß«@Ò½îI [}r=¶¥)ðñð—½9­yq± ~=¶/Pß~s÷>žK½¿ZÚ™=_º¡SÙž½¯ÌìL²¥O=k_ä:7Q=±]Èw-%¼>fŸÂúqñw=p¼Ããݾ=ª%Ü8k/½·¥QÝê¦C=¹ëE3ò©r>( âÅ<=ü“TÆ>5ϼôº2©2»üÈ4M{ÍŠ=åš•6†¿ <2œÇ?­Ò¼ƒs# ‡ï<=Ðä|›=4‰Âé›ÝÜ<Žós¹¯¨¼ ¥rË!—<ß½ìM¾CÅ<*Çò=3=Mê"Ôܼ°bÐâËà´ Ç<Ö<Ô¸U³Î&?!Q"£Î&¿þx9ûÄfå>êSwÿÄfå¾#ïëpH塽ð:æ/l‚?Û/Úæ/l‚¿D­kV÷ˆÉ=œe1N@Þ?Þ·ðO@Þ¿¡Å0þiˆˆ=(ÿ/Þ¿…?ÝeR1Þ¿…¿<冽= 'I91?áàÍ791¿az“o°7‰=Ñ®$U>ì²r(¾‰ü?‚ý£/½«ýíÓL×™¾[¼êBM×™>@äýÔÖ&=,ÐÖ`E[¾êÒÝ…_E[>*ÙËÞ伤K˜²¾J‹=µ>è,P§º<Åq¢Ù"¿½?pmb½"¿=n:™¦Ê<ä©Jq˜E¿ƒ6ô¿€g?K¹crz ¿mpI8%=#kPNq?‹ØôµX?.ìí«3xz¿ã›¾õäz?aSe6½ ©i©Qp¿]?èÜÏ‚?¬ÙÚG¬œ¢¿/ »äòm§?cÍTþS“½3Ù§2AÊ¿n ÍGÝ—‘¿£Ý²Üˆ²?9¾Äå–¿˜'iÀ ÈÑ=˜ `ɬJ¯?;ÜÒW8/z¿Ì/$À46¤?’g]Uö§?ÂIë–¤ò=–Å4ø_¬æ?.--gž¿ªÜ0ÓÕ?èêsG¿¬¿Úß×hBâ½ì: ‘ýÛ¿" 8òž­Ž¿<øÐDõå®?®\Dtö„?T‹:Òí®=uPM#Jû½¿øk‰Zíw?¹f0-p—¿ êmŠ—¿Dt‹ï#´½‚­Œ‚c?C}1Ï©£^?ärKS’€¿âü+XxŒˆ¿¯„Ÿx´§•=tHNMÕr?×J"ß=2K¿è!éJcn?8/ ¡XC¿£Ü*ÃKÏýlÏH)bÀm¿W‡"¸¾0¿ŒâÀPR?M{|›`û>“û/Τ½¦ ï·]°\¿µ^³Ç?e¬dèvA¿ƒ`+°¦¬@¿Ö°8†=òÅÁæØ?¼€]­<?‚Xz× %¿ÿ "ó#û/¿8„üT˜ts½E)«L?´GaÏt{ñ¾b°¦KãÖ?ƒ_-ƒÛñ¾\mŦº…Z½_u'°¿¶ÅG©DÏÖ¾¢ÊNù>4ô`©Îèf¾›:>ü1O1½&GŠ*VR¿33|Ä Å>Ì®r…辊,‚Εç¾GW¬Ï.=ÃÀg+ô°>ù«4Iy¬>Q2 ¢/TϾ^xS|f¡×¾ú/U`ã$=®Áá`Ò À>ÎÀš#‘š¾œ§#I¥â½>x’HÌxŸ¾ï:â7³þ<<ß{S»¾ÃQü°‚¾&”l¥>¯;~AŒ+r¾ÅxEµÙ< Eq]û®¾7 ñŠÝór>Õ&¹-©U”¾DX…|’¾î2N²Û<£¥Š/Þ‘]¾ïu̼E¿Þòt Rj.?<ªƒ]}Y? ¬d~‘-½Ý¼uEi¿s²6JÞÞc¿ Ý×O~nŠ?ø_,ʶ(U¿±5¹ƒòÊÁ½Ýešú_Š?}ÖiCÂþ”?é5ýQĦ¿vB†¨?Æ?9)'¥œ4ó½ÀéŠo‘ž¿Ì·=Ñ¢?9þà¡Æ¿üd÷~:¿¼¿XJî–¾Ͻr©´s–½?ØëðHʦr¿Úò[‘ø—?U§¢‚Q~?Š…«ìH‡½ YÅ5{a’¿heƒ\A?¤VÁ1Wf¿˜éà&\¿×P æÔ½zÆl1dW?md§ÅlÊ¿¿Uóo3;?7…ž&q?Ö–¬Bj?½M)É.i4¿[­‰s»è>kÀÇÏC¿ç¶Œ'¿µíMÝ’Úm=B€Ó/gÅþ>ÿE†V6¾¾žX)õã>Œû |*°Á>)õ’9½YÏàÿݾø9ø>“>~É[hØR¹¾¤ƒsÀw®¾JP%iÃì ½øç‡Ÿ†X¤>-·dÄMÀ%?ø!*Y×J¿&þ´ÿšGZ?Ïã‚Ï %¸=®I)è)N?ÒÝg+¯l¿'ÚTd°Ž?ÛšPz³£?ý^¦šQÒ½Ê^?Á|è“?ELüñ9ׄï|ü¾E”S׿¶Î7À¨D½«²l#jD)¿}σTu>¨¾4 ÁÝ'Ø>øé_ø`¿ M.M=t=\°;ÿ°þÓ¾ô<%F—>eoIHa¯¾¸òëâûs¾דZÖ4ÏE½ÑÆ4‡OåѾ ‚«Ë3V¾3vmÖLo…>ÅPgø\ਾsæarT½¡µn¿%€¾Óm]Ù42/>pù¹­`¾ôâ¡MQ{¾&:£Îµ×¼:¿7‘–FP¾âë£c¾†>ß©5k‹>Îf?öDAp>SÏ㹸ӼhJWÅ€w¾¸ð{¡+3 ¿ìì•+3 ¿qÒ1J\6¿ôAa.J\6¿_-Éÿug?Š5¦}h<¿¦(b8}h<¿UN˜køp«¿.Ü7ªWÊ¿Á 8ªWÊ¿á,|BÙ>“¿µ©\FO8n?ϸ²ø$~Dkؾ2UóCkؾÏÁÉfľgžnfûœ®>óê'üœ®>,hÉZ®^˜>Ì@Kls…¾är¸°s…¾±µœÌq¾ÓCÓÃ3©_>tA^3©_>nñ„õÛöƒ¾¹½£¤ ¡?ñI¿ô`^@¿ÑÓ<Å Æ?—ÈcN²`S½‚‹ 946K¿ÃÆÉ”\1¿‹Ê‰YQ?:+XøT¿ûW@Á“r=¾ªœK?>Æ~cÛ“L¿mO4ö „k?ý™ÖB0ßu¿ä¹”'„=»î…[Â]?;bDSm?”wÄßa³‹¿oÐŒ¡(Ór?éÑ_2²Æ½•¨Ø¨v¿†à>8<½•?Y¤ýÀ{­¿VnÜË#v¿âºÓ¡ƒÇæ=.--gž¿»Ãæi@Æè #PÈ¿Næný„¿¡í-¯Aݽ×^ot?æTÙêMs¿³Ë£u?àœoÜl†?Ú5rÝš¨¤=²Z­ñËs•¿}4œÅ§pm?É_má“QŒ¿K®YR é¿°µZÅ6Μ½d|ï{?`° †æzD?:«êìHe¿*Ã߸é©l¿íÌϳèé}=áè1[?…3& $Œ3¿~ÅZ’ƒU?SÀàîs…ãB{µ‰½uxpí©A¿DÎÑ Ñº?8¼|v#¿d ƒMV #¿=÷%=p=`uxΚÓú>5² ñßÍå>ãѦ°¿m„:£à¿èÉðÃ^ªZ½â6v¼™û>3 ‚ÆjÔ¾ªl³UàÝö>»{8a,þϾ'¸ùF½B5½¬±(øõ¾áä/ ¹¾¾ºWÓ¼pÛ>a °~\-Š>kKM\Œ½ Fê5€æ¾’Ì™×§>ûú,‚ʾùð#Áå†É¾ÌÞý‹Œí¼î{ݨ±š>‡¬™š€*Ž>c„Tؤ°¾;µˆñtl¹¾Qž ¯ÛÞ=gÊ$¡‰?¢>«ÁH¯¬^|¾Ãùƒò½ >Ñ/i›~Õ}¾Ð”¥ÕÒÖ<²ðîGOð¾Û-¤çH¥c¾RØ0Ùò…>Ñi°ðöM¾Àz+ÎH¿<Þ¨ïPc¾*o´&òS>íC¨Ÿ;#u¾ Ñò:D›s¾yîN_þ´<½z¡D551¾cm)Ä?]¾TJ(¿êÆ¥ 4¿Õp»²G=*ôúU’H?~®sJ\??Ó.  Ìc¿`îVHêN?–~…S¡=û•¸nn¦b¿•¹ýàYq¿JdwÜØ’?m± ‰$‹¿!pÞÒÕ½ÍÊ%MyÖ?Ó:™Â¦`—? cJµþè°¿—™²åºž¼¿ÚPëçAò•=>qÈx•¯?²á?7Q¿÷ Ɨнr?ŒXjœ0b?[¯è¤c‘=FŒêËñìs¿•w1´e÷&?Ýd‹“7-M¿,Öy†ÌZC¿[T@Ð×»½åO†Á@?^¼×ÝÜ÷¾w«]Ä‹¥? ¡G%Ÿò?GW©=3½)þu¦¿×ó¢V|Ë>yÎÎñ¾Šƒïî¬æ¾è€j×ϤP=µ™ÙW™â>]¶p} ¾søóË«‰Å>‚ƒ…¯¦>‡÷fĽsÒr£EÀ¾°?V,­Jt>cv-¸š¾œÒé žx¾ha»êí¼D tè‡>d*~È©0ó¾S=Ð÷K?Û ß õ?Q‰Q@X›½p4)DöÞ:¿N_s©ÚD?Ù‘¡ô/f¿ŠX9Õ™ a?€E;Ý]Vª=^ψÂ']q¿õ¶Ãõ ”ˆ?ªb[-˜}¿E*Ç7›6Á?±®#“ÜԽƥ¢Í ´?í#$³C?p±Í´NAd¿ëë”àÿ—j¿™é“†½Ê€·€ñb?sjé¯àî>õÎwH•¬ ¿t†.˜•A¿çÖ2ú_=¶=Îð;€]h/?x½^ µ>Ò9¿ä¾U侪É䨿{L×yÿnB½‹s}6Ùa ¿.åMHPù€¾×02aö³>L®”•o[⾪•@‘V=%v¥¾!뺾”Y>ßÞý°ã‹¾EMŠýñס¾ñüÁwñO&½Bó=›™´¾÷衳3¾í ¾ŸŒ¯c>hP²%‹¾È*Þß\–ò¼‚]€{÷¢W¾ÅxÓuëº >ZIÂé>¾j‰‡í»–[¾øT ˆ“±¼E¤þ Îh3¾¿/è/D¾m¨{©ûk>­9S¤•kR>ÛzX¶ê°¼CR„›Kšn¾Ú–ðe>Ö?’ªO>Ö?e {G§?Í´‚G§?^¬Ypk)@¿Ï-¦Åè?Àtè?X?Z(c‘?b(q-pY“?;P)pY“?œŸ½3oVœ?Ý£åÞêv?vßêv?ÿíŽ[¢»V?ü¹‹F¿Ê™F¿Ù¬ûD´¿ñ·Nòèà>…0úðèà>¨ øU×>†!ám4>°¾’wÏ2>°¾ðSKFª¾ÂÌeþ7‹>¾LsÌ8‹>ÛÁœz>V ϸ>Çb¾„vC?Çb¾—E$S¾fÖû;>>Ö6™û;>ë%‘ª¦d¾îü Që@¿œÁ‰Èa?S­ /Å+@¿Hbæ¾âÄq=¢‹%zßn?aüR?G̈‹ _r¿•=—Û²ëu?ª]2O |½úIDY(p¿ÖЍ¹X,l?q¢C×§‰¿JêgÅ•–?†Œ._Aµ½„½óp€¿ÁOrl¶7Œ¿÷³ºÆk¨?Ô½•¿³L·YÐñ=lqÐÀx°?#ˆÓ1­¿»OIUrŠ´?ùPûÃ5˜?ö‡©c\¶¾ªÜ0ÓÕ?Æè #PÈ¿®I¸¥ê?}¦Ñ‚!©§?õp â_ù=!–Äoi±¿Ê÷. Ÿ?º2Ù$¦¿»$/«¿¿L5Á½ÔÎAûÒ±?›PiOëÞ‹¿Lüìù“¨?#ëWpwA¬?{hý7ñR¹=ÿ¼!ôœ¿j>Ár d¿ è:ð$„?†ÌS]4YŒ?ÁÙüÉËz¢½œ‘K»Æý}¿’œÿ&[1T?óÔôÿÜ¥u¿\Ù a¤¼5?aÆôŠîÈ=Ñi_+Cu?W h˜Ë3?‰3ve”øT¿*ÜÀ|¿©G—4Ä%©=Y#¯¹kb?äÉa¿J›"¿ûcu-ìD?½{LëC?{ýçëý-’½d<}½‡ ¿< ¶³¡¿‘"œÞ©`(?°š8κ2?Ý¿”¹J=r67+¿ñ<ûI¶±õ> ”F!¿Õ°†£Ëí>çì²¹öÁP=æ}ô(¥c?º¹Y–>Ú>xñˆë†”ü¾.•ž2b¥µ¾tps£ž;=¹ý‚“Nß?ÿh¿ɾ–ÓȲ ì>Îzë>ë÷[ ô=-=±‰À¾w·á&Sί¾žsá{YxÑ>l*½+ûÚ>™B‡[(½ËIötÛþdïðÏMž>¹åÑÁ¾ˆfèç:ôô¼–bØkÀ>^ëAÿÉ„>}o=†Ï$§¾³Ü=ÙV–l>vŽ^Í á¼èŒð™:q±>ë 'Ö4u¾1’¤[–>Û%úO+ä”>+ÀÑšÖ¼c@÷¼GJ>®Š@0¬Ï(¿”Ð:ç¼ÉP?ørc%iæV?¶à¿W–Bl½«”ŠXß0m¿˜ñÞ@ oa¿¸‚Õ u¥…?§-Õ¬wt¿P>óÍÂĽ¿Š‰ª–„?‘ψì?[™Žø¥­¿ à c§vª? !?¹bÅý=Àr£Ð“±¿²7gÜ·§¿ÞäšZž?‹¯ ÍÐßÐ?hŽÊúá=ŸŠHä¥EÁ¿9 Î,n?àÁJÁ ¿=²Ô+¿ë„¿&!4𥽻X‰9“?ÂŒJ~´¿G¿.aS³²m?pÃ2Ò(Fd?@© ©¨^à=ïáÚž¢Œb¿%úarú?3šî¸DÀ?¿A²éå{%¿¢„Ãù_=ÄîWÆ´9?ª7d3Ãí¾T@3oµ?™fQsv2?µ…=ü—q½ßB»–¤x¿¡ŸB~ŠÁ>É(WÊæ¾Â±¶Ú­ÉȾÓ^ÙÐð:=0Œ ºê†á>A!õW‹œ•¾ü¶CÎ¥V¼>R]56§±>Îj¸æ}= ´­7˜Ý©¾ê-}p¸_?Boð(͉7¿˜@sÓ6D¿÷èÌH£‹¼=³où³¹`?ß§H]e¿@ŠŒ‹O†?Ÿ[°^’‹¿f·’Õ½]fÒv–?¤ðúž>>¿þ­a—}Ê¿ùTì'©$Ù¿ÙH²”k“>SÎ|Ž.ÜÊ¿;b¶„Ô^¿œ½±Y~?øò9zô‡?Ý•ÍVЋº=⤪—‰¿°ä”&º¿RZ<|¼ø6?2U,Nÿb?ö¿}ÛØ½î'ëVIÌU¿<Ë qµÚѾ ôW1…Ÿ?ƒ ·‚f<"?—,.g^k=ÞÌŸÈ*ë,?èÓ©…æ™>¿×,âcоk”å¶Ûâ?u3Û -x½7Þ¥Øú”>´ eýw¾€ 9Cì¶©>/hî`°%Á>GDÔýÑuG=^ãK°rÀÖ>‚š×?NS>œ´Sšã€ƒ¾=_î0f­>µ({ Ê=[ê{-·ip>ög_Æ+’.¾=M«j[ë_>µê=*œ}>–5á–±ðÑ<ážjª3U>í˜s¡ŽTe>yLnÇ~¾[uæ÷³t¾&£/A‚Ò<fwC=>àé¾.5¿Ñn@ܾ.5¿ 1é÷ç\@¿AÆÜöç\@¿Ÿ˜PÜ”Š\?‘¢¼F—z¿£fV»•z¿#%]X±¿3Õ0“㳿w 㳿ƒHoç •¸¿îS§ƒ€„•¿Ö±¾‚€„•¿ ”q 9„v¿]Ëâü7?»*™ñü7?Á¿ Eœ?Ó¯(Q‡ø¾@œØN‡ø¾$ÁÃêö¾T¬ãçß§É>lé«ܧÉ>͇٠†Ê>N¹èö*©¾€_oÝö*©¾*cy–ò™¾sw -‚>³Oäî -‚>O%L“s>»g$ñ¤[¾Úu¼z¤[¾­ 4Ü•ê…>$éM]?ÏõóT›'¿Pµ p®/?…ó(›´ d=ö…U"d H¿åêíF¿ (mñµº?[ÛtF A¿\5¾Šç ”½ÞlU:£ÞR?9Ó 3ê@¿Äû Ý{R?Ô3fÏs¿"9iãC©µ=QN?ƒ#ok?YßUÖç«~{¯>1H Ÿ:½ÄS¹Az ¿>Û"3EÊ> áèψí¾ì2suì¾Z¬YkV£½í«æîþH¾>9 ˜€Ð°>¶­ëB‹Ò¾ÏÈ’0bܾy:.¨Ö )=`!w…érÄ>5Í„·µŸ¾ÅÚãøÁ>Ó…x‹(‹ ¾ÕŒ_, ÆùMRmN€p¾nEü%…â<$^«fR²¾(s‰¬üJv>b÷«XC›—¾×¾$u$앾Èç¦ À<½‡Hw‘zR¾3× rÁ+ ? ˜õ_tD¿K x™ù1¿œ§ôÿv½<=#Sò`9W?”,Çï~¿Q&’*B?ó« OM?c1/~c“•=¾™}3úfS¿ÔXl¢Ot…?¦í~à訿žÜy.ņ?q5§mË×=º¡“ƒ£k€¿‡ü\Í{³?N£{k ñÅ¿ \IfšžÔ¿O09ôç½G!ˆÂÊ?ãƒx0œq¿í- XýO“?u~t1V"ƒ?™¹óab =GYA*–¿Dà(€E´H?ÝTò@o¿Þ­`àd¿ÖoÕÜá]ß½ÕÖšCê`b?;®§aß[¿'I½w%ç@?9œi,%?O=ÝÖoFT½3ñ–Lš¹:¿ùqEÎãšî>lñƒ¸Ï¿b &`G ¿\êürú„r=ù—²…Ô?ž¼I2öf¾JU «è>è}²FŠÙÈ>®f8í;±<½îròÜ1â¾ñ¿®Ç®–>%í­ýàÙ½¾ß’«e–n²¾u ÔÎïÆs& uª>‹»‡ÈÕó¾–þž¡ ?¾­—ö³¿àoêåt½¦Dé#-¿æa ˜¿#¿£¬†=?š Kí+z¿ÄM˜Äká='B[HKƒp?¸ØÛÏU ¿è{:¯¿·KÆ7µÖ¿@þ»3Oþ=®}ÝšþÚ¿’hÍË!à\?[[ô+ç³}¿´ÔìY]y|¿‘¾Š*òs§=?õ 2j?Ó Ø?縢«cÙ.¿Ð'&œb¿ øÀØ=Ç~jc³J?BmÉA|Ô>Ùšl8G¿Ädjº÷"¿eTj:jd½×¨KÈL.¿QØkúf2¢¾/þ£»Ô>iÆq°™¿6#W.y=–^}7K”þo€œ´Ô|>~k°„>ì­¾9« Ã¾”\±©àH½gÊÅwI×¾yõŸ²U¾W%Y–Ã…>v«I¥Óq®¾]Qi†Ï®½jruò$–x¾Út Ž0>¤i<º7a¾©£ËÍÞÐ~¾êá¦8LÝÁ¼Š.ß6ÇÇU¾.._LÏ‹f¾ãÈ Lµ=>ž©þû¬­t>yn°ÜÿxɼÎÿòÇ0‘¾4žÆV´+?ìbF¿V´+?ÑeÛ¹®[&?ÿ…ÿ¹®[&?«´³‡¢0E¿Èªï¸~×U¿mè•À~×U¿z]„’°5€¿¤å¾aM†•?_¡âaM†•?/öuÒ¾¯’HsÒ¾šnãá̾×7¶ef:‹­>€9ã·AÇœ>¯IÍÎ?¼„¾y`#@¼„¾ˆ°Ø:#u¾{w'¦òõ^>ïå=+òõ^>[ªt­‡¾qq¶&´‘9½UÂTD.s=ÇXÁáT=¤h¸áõ?ê"»5/Zp=A®ÎéyQ=U²%&})‡½ù,; Íëz=€7ÄJïI¿¸Ú) ¤fz½(‘ü=û¾·ÆZ}´½êžsG¸à³=ýnÇÅQm?gXàB×£½Ô Œw–)™½MÝFÓRi }x³½^†^¿¨¬½†¥¹wŠ¿zó çÃfd½g0™H†½wQÔäo´=ôÙÍ«•Â=È“‚Ñ—†3¿ŒÈÂŽÌDƒ½0o¢–½t}èÍp®µ=»ÃÅ»kg¸½*#µ¡ÃJ¿GÐöa¨=ò‘ñ`¸Ì½h—žH—¡=ÄT6æ’€½­ˆÃÑ4 ?o[Œ‡½°½ …e(*H=$ü¯pg½+zÍP z½çs¨eôºû¾v>DŽÇ³d½NЏ¾…P=åÔ'Wt½lðµ±C#s½ÐŒÉeJ/Ì>#Žÿ‚ GW=pT"€k>½•GÁ0¿ c=8Ï‚Uˆ«@½¨Ã€½¡'ž¾Uç?4`½M1ô@!½‰.¾*1ÌC=%œÐf2 ½&6‹ðœÃ>÷Ïß(ó¸N½§ùÄ¿å =›Rð¬0½ô ¥x¶/½¢ýïhÏ{N>(Ü"𼑩j:ûô<•­êÄ4½ÄNʼ–a!½ ¦•k*>¸­ª \·=è²;_â¼j„êû=@–>íÊqí¼ªƒÓ>"çIËç½iò:*4̼ÚKª½íí<½–ö¾J¼B/麽0Jx{wö¼O—GûF½<~³ÄT ༑òQV¹°Ù¼NÂWÿ Öà=Ö¯á³d°¼×&ø~Ò0=° Cµ¢X½ÿ€&lk>k=šã€Cyñ>ygÓ{½Éܬh/ñK½_Ô×Þv=l‰O =w©¹Hg7¿uEmÁhz“=›ã¥î¹µ=#Pßj-ß½*^oå‰#’=¬„:†m£¿¥ÌZÐJäÚ½÷Dø°’­=KD5Ô¢ Ù½#¯Œˆ½Xº½‘J8À4×?UV9‰wʽ¤Ù¢Úóo½¥ú3Ž&˜=ðí£Ùîª=Š>Éôµ`—?nm;VAà}=À¡"%¹´Ž=6áÖìbĽél`w:a°½`¤Š5‡I?ä1UÈ×™=ÀqžÜV½ZºðM°Î}=Wž¼m­T=ut(|ð>$)(kl½`´-mÅ1=L¿¹ÔüGX½—]…täK½FëP¯ó„¾¶Zy5¶¿==v_.cû6½OG àMs.=²JæV= *Â:3c¾xKn#½ìöº¹QÜû:!—ñæ?Áµ¾n WÞ=ñ&«Fwyv½<#R° µˆ=[2Vƒ¯`ä=Ê[u‚?·¥RJ±â½£Ðvˆ7O½iˆc¿|=÷~0ÉA¥°½]³6¡m§$?EÅÒÁ=‘Œ§¼™Z=3dr‹]½ÔF¿¯YÁ—½Ž8ÊBêmžŠCQ/™†=r¡ô\O5å<ëòŠr´Å¼ã*T9ˆ=CN¬ÄÂa?Ѻ«ÄÂa¿œ¯v«Õ=î\ëB„¦¿ãk0A„¦?@žeŒ¨=h4ŽòT‚°¿ÊçlòT‚°?¼ÉnÚ¼£½9ê©CMp¿™›ÁBMp?_9Sj°=«ye—aA$¿ÿé˜aA$?5Žj°BqW=ÊÑBÕhaоB ÝÜhaÐ> Œu‹]`½áI ëáwE¾!F åäwE>Â΃âíŒÝ<«Íï5^Ò8>É¿ù^Ò8¾Ä Ǻ’ݼý«]*„Êû=8ãë€Êû½!Eƒ÷ªÈ¼êºÙ”º@?ˆ“†|òa¿!yÙo7?f*º$´{½ëI5“›™m¿?¡æÅ7R¿á‘ÖO€?r?"ˆÀ0u¿”az»^ô•=#̱hI±k?ÿâ~’m¿8ž Dé‹?’…|ï\¿•¿t±<¸8g²=Cžò>?»}Ê(I?ú=_ÝÈA¯¿èÊŠ4•”?Òl?Ù¨Yؽ 56C©²¿¨f™Ø»­µ?GàDÌZÛÆ¿¶ŒÈ&øÐ”¿dU­”´„>ì: ‘ýÛ¿×^ot?!–Äoi±¿ôlKÌŠ?]àÈo å=å¯Èkä?;ƒvº‰.–?D+¶V·¿ÖIÒ}1Î’¿ÝÿX!vö§=‹=N™RK²?F.‘)5°ƒ¿ÕÁ=Ýï¤?ÏS£¬[¥?h îŒDçÀ=–ºgy¼r†¿ƒ Q¹Ì[¿.<ŒTÓÉ~?âª|‚?9W]ø”HB=·º4Ãk¿§.¾òE?ªòø*„"j¿òz^aK?É Ð!4À=Öß2•Xf?">(!2q'?^húJ|J¿œ"6§£ã ?B%Y6ü¢=cV/»†#ê\ ¿¹ê} ê>•h†Öæ"Y=R'Û˜ˆ?R¶SþÈÌ>éž%­ƒï¾ú;ëpÿ2§>>‡º¥r=:ð•»â÷>“·py\¸¾qj®ViÜ>Ä9!¥]ûÚ>¼·Á9«Û½^n÷¦e“¾ Ørµ.Š ¾|!z†j£Â>>D[~ŽË>ÐmCcx½wÔ‘ý°¾*õ77>]?/ P±¾°lá´ó“>†±±ïy,ó¼ÇGù[¨®>ò'Ñ´÷Eu>TÚ9ª(˜¾ë ׉h>¨ ã^9ż~ëHö$A¡>vìÏï!e¾äìRû†>ˆK Š€ˆ„>p;2ª…Ѽ~$Ì'öU>M¼%S‰!"?ïU•iöH¿§?™×VU¿g®z,¯µm=O¥–Ïð5i?$hˆÍ/°`?üƒ¡¤ÄÝ„¿/Yà„ él?dÖì^ÑÆ=^k÷ó„¿ ¹É7wÄ”¿ÕMüvSj¸?åõ=w]Õš¿ë÷UBù½ã ýGIʳ?МŒºð¥¿fœÕ 4µ?cGû šVÆ?äAœ´Hä½ÈI__°¿}/ñŸÕJc?)SSÿˆ¿uSl8`¿58ÿÁ½*ž¦q‚?åßêó<¿ºàÙ«7øb?þ=™`èµ@b½u½xð¾”îî½TX±>ÆðgvÆ<×¾®ãî.iû°¾= AHT-=œ]MÝÐ><»æé?…¾.‚»Q’¬>Ð ¢º° >D$=r =ÄI§Ó”¾± žœ?ˆ¿EÚ/ý}:?s Ô]B*?“â#åÓi¿½OÇ’§"^¿ÍÍR¡ Dd?ý*'òþ„¿Þ¦O;“†?Ñ¿zLIÖ=H¹‡¿â&æé¢–¿ /k½)“¿ÐõÑóÛ¿‚‡·¥ë=чÊÔse½?‚ëòĽU¿(Í¥w?ý¼×pYˆ?& ®Ô/¦´½YIõ<äQŠ¿èÕÆêb{ô¾*²ZL¼Ø>nï]+•uV?­‘­¥ÙýxÚ³œAÜF¿wÝüV4ß¾`/6ìÖ?7£'4¨!?M¹h]ÖHO½o\8>f¡?™/ö)Á¢>Ô»€þŽÑ¾ µ]µO+ñ>Ì Œ™¨g½}³Õö·ÄÙ>œ‰R›üv¾Ù• `§¥>‰±C}Ây»>öTΣÏ8=$þ¸<ÀÁ>²iá…Ü+N>€`'v4|¾Þš µÓö™>³s×¾ë}=¹ÝÌÇW>Ȳ¼ÔK"¾ZbUÕ¤¸R>ïª -Fn>ŠNüsõÊ<‚…ǸÂA>ð”è5V>ë} =ý~¾š»£«Ô`¾‘!⃠„È¡PùmË'0?$;1bË'0?Êx±o1¹§û¤RÑ>¢¶Ÿ.y¥Â>’MS«µ¹§¾ó¶¹§¾±o=¦v‘¾‡Zéâï|>ÃŽ'ð|>:§6°g>«Ëà”&T¾åN¯a&T¾ÆAÚÒöv>A.6êŸ?·’ÀÉPÄ"¿:{®l¸?ÊÀ‘´ä8½G㧪AS1¿¤ÁZ¯¬N¿öõ^f¥‰/?/Må†K4¿AîöÃgÃq=ùeºø­/?QÎ%ŠX3¿¦rcè5¦S?€ª?þ¶\¿c'½‡Âf=‡b OG?˜¯V-UD?íD7Öc¿3εÙ&ÎI?ÚàÛ}E=H1b)h¿*ˆvi?bF)]…¿|VYhæ¹b?A™ïnùJ ½" 8òž­Ž¿æTÙêMs¿Ê÷. Ÿ?Q%è˜ áˆ¿ŽARTOÓ¤=;ƒvº‰.–?H»ø]Òv@QÂÖÎ%È¿¶ºp¬h`¿X3F±ñ=˜ˆÏ‡ Æ™¿F„bz¾•? 4›$o1­¿RƒÂö´¿úv$ü¸²ë=Ê·¨ —?/<ß'Å!i?ÆøMQÝÒ‡¿ï <#õï“¿(¾ǹ§=6“eFƒ?ê5s%M¿ì7©¾l?ßdY@¿‘9èÓɽ(+m˜Ã±m¿dì0Dš3¿ó° ±¦¹T?¿•Ö?Ç '¸¥ëª½60f›Jm`¿{VwçV!?^½2ñŒ"C¿,Ad_˜B¿q{jt"HŒ=“#r«T ?‘M˜±âY?>7 £ß&¿ÜÖÏšðŽ0¿ð!ú*x½²›öñ§?4¿àãò¾{b‘y#%?=à5F«í¾bLLÜ``S½|÷’ë·>¿Œk'¥ó×¾ËÖ$Cù>úïeÔ¾û¤>™‹' ñ4½³Ò ¿SŠyO›xÅ>· ¹ä+è¾dª«œNç¾wr”;šž½åpjÒ·>ÿÅÁâ¡«>>ŽxzƒÎ¾Î^&Î~%×¾%¨.·à$= b^œ¢uÀ>GÙŸÊöÓ™¾W‘;ô2]½>ó8 ÈÆ˜›¾PKçÔ$·ö< ƒR@»¾˜bi{í¾ÏÖØV· ¤>¹¤ýéøŽl¾l­ßœØˆ¬~KŸK“¾ñŒÊ]¥Ñ‘¾PÐ]WVõÍ<«PÈMçR¾*šÎe:ò>»ôà,r‘¿Æ}‡¿¦Sˆ<- =?%½†2?ƒpüL^æ?cЭB“ >¿RÝÄ;úœ"?ºpÏV†=Í×Ñ0ØF¿ä-p²Q¿  ¬–=Xu?A̤2s¿)š':%{Ÿ½½@›ÄnÖm?&Ãå§‘?áÏËê®V©¿ShFï\k?Á4‘Q©OŽÿÖ œ¹¿®Z(V´¿°qÿã·¡¡?dQ —?’Ù9(jÖ½…êéWÙù—¿ÿ‹ô†!G?ûmYAôl¿`»“jAXa¿X/N!9.Ú½w†òisb?R÷îÎìÿ´òÛìP¬;?QpI2‘!?Þ»Püb½ B Iöü5¿-˜JéV]é>öíÀRup¿Ï™xÝvοø€KòHóm=–(®ñ„?)œ}I‘¾¾S¾j9Ûã>ï7êqGßÃ>°øT´â7½&ÓÃ÷žtݾ"•º·Uo’>gÂ[×O¸¾·Ž!¸Ð­¾Yyy3&ë ½)ÇÛ\i¥>£U¸“`SÞ¾€pcÏuÅ?ëjÜiíæþ¾—Žg\ô½ï4îŒÇp¿ú˜5Êœ?tá/2bu)¿‘ÊõDaßJ¿ƒ:µ'¿Gy=e¥M±?,Z®1V¿ëÏ)¼ì¹q?›;[ßþω¿ý™¤˜êq½3©<Þ ²0¿rª÷^¿¡ÑÚÜgq?¡º@¨?z°|ËãÞÒ½'­‹Âµ›¿(ùÉHTšÉ¾qb6ØÊ?’~ñ¨#õ`¿«X$÷—XÓ=‚K!C0L¿'Ü‹½ØŠÐ>U8<÷·zþ¾˜tàFù ¿¤qoèºÈq½érÄ…<%¿S}ïOüÞ–¾ÎãÖ‰(áÍ>\ÌŠT ¿Ë „ŒWt=9 9•a,¿¾ˆè30y>FÒÎéù©¾¶¢›~ܽÁ¾öñ—.ÇqD½W ‰Ób Ò¾™¶­>ü2R¾;»aÈÙ%‚>D%¬’ƒ\¨¾FÏ’¥Û½á%曆½y¾[gø–M+>º:tZ k\¾‡$V£'y¾rùD"­òÌ¼Æ 0æQ¾¨µPJrb¾poyꚉ>ëÓ¸p>›9’dI˼ö{Э䋾Ñ'{Ègÿ>S^ØrÈgÿ>=ünAL>? 38@L>?¼Ù ò± 0¿š†'F¦ 꾎]¨ž¦ ê¾K™™íøõB?t1°< V?1»ºz V?·c‹¨Övš?¹{IÚ2[»¿’ŽÙ2[»¿á‘Þê%{u?Vúº¥E£6?ŽL±‰E£6? Ð̽¼ ¿”Ú¿ë¾}Uí¥Äë¾ÅAùëÄ?¯„¨ûTÿо‘®R„Sÿоfáí0£@ǾÞÞ÷¯Í¨>a~5±°Í¨>!ô¿¥ÜF™>TN}Öl¾Ÿ»gÁÖl¾œ#îÔ÷q¾Xe%ûxZ>;F›”xZ>—=!ŠÔ‚¾~"Ç>#¿ÓZ˲zD?pôK8¥o$¿ =–ËZ=_Mk*S?“ã2«aU1? ¸³»£lP¿¾Š2JÆU?Ú­ÒÝ’½ßC-ŽR¿ÞTF–zT?áEƒ»tt¿fò ©‰ö~?%˜ø;¼¥„½bã×Ü1j¿MŽða¶#e¿Ý±ÕŒ@íƒ?l#¦}®n¿0ªÞ¬÷pt½Úš³ÔþR‰?´{™Ð‡¿ui‚8ø¢?Â*Ò¾†¿ð†ÝZ'Ö=<øÐDõå®?³Ë£u?º2Ù$¦¿ôÿ’š8¤?}nd€ÏN³=D+¶V·¿QÂÖÎ%È¿5®Éaë?Øa7gô2‰¿U|×è~¾1ˆs}Òµ?VÔ¿M*€­¿X½Tµ²Ž´?Ò„¥ÖÐÆ?ó{y¾î‡>CNœ ¿)(Ée…¿A0ÿDôý¢?Ï~„:ƒ‹³?Ζ·•Ư‚=ªü!'žã¢¿#1·ÊÏDl?Ü“úÀðkŠ¿¬ï91FYQ?¥ïÙ´zÆê=oÓp@·»Œ?¢ÞŽrT?žºwÈ“Ðt¿Œtó¸Õ?¿ºti¹Ø^Ë=wQÁ:?öRZ¯nB¿—=’†&d?˜re!±c?öšíRWù­½ò4öÁÓD¿‚l=؇%¿jé v G? ®c‚¥Q?ÓYS+Ýzœ= ×SQ^<¿ŠîMLx? ßs7¶6¿ wĹh“ ??¶kH‡p=ìV¡.÷5?_Q)¯ø>˜ÅÚÛæ¿ÖŠÃEjѾœ§x _¶X=?ÃïÈT&?xÁ»N6Sç¾ HÉU ?Þu5S: ?×½gø0=`7Ë¿ž”ܾ€a©tcÌ;4)!°ûdð>ZC „ù>¾¨²Ž#ÌF½eºõ4â¾ Uâwi(¼>‚—P]›Ü߾訷ּ¼>$Ev­È½ó-‹&¼Ý>½!Ì£,j£>1nôÔ“¨Å¾μ5ÜÃŒ>•Â#ÔN³ý¼£4óq7Ð>HDûªÀ“¾½öw=ûæ´>@ÂæÂg³>Ñý§ï%ð¼*>f<’1p>-kžJ¿ãcoµø£¿7†!dÊ<«?äB)uÀ*‹¿qd•d›:Ä=÷áY`Ï?<&mÙäל?ÙŽéül¿¿±õ°l‹÷¶¿q«R‚ÁÑ=Ä…ò ·ä·?>ÅIJ6h¿3$2oä´?ëéyAît‚?„6Ïh!$ÿ=ó G„ëL„¿‚?RJe7?›qÃbé\¿±=-D¿AÊ9_…=zeŸ=·W?nÅ[ðÔ^ ¿ ½ñz¡1?ÀA“8`ž&?œ”©Ü*8½ù/íö>#¿cÚ€+#Ià>’NB»ª1¿mîg‰æ¾­f¼¾£Y=#éþÙ%?–+mw´¾ÄË´\f\Ú> ÚѧÊKÐ>(V&Ä4-=²ÃÔ ‚ǾàÞÿˆê?]ƸD$¿Û6ºµ<?zÃ˲!¤=Ðø`½ZA?¤Šy%¿›ÈÚ$›9I?¬a¾G™Km?ÊŸ(±!C‘½Q3>~[D¿\ò´X{i?é«HÜ({¿Ý˜ùŽ8¨?Ï×n­ùµ=²^?¤M?Ø>ï_òk?öræ(A P©£è¾ñçýVÉ"?grXO7–½´«áT\±¾‚v¥w|>˜¾X$–…±ÛÉ>¤Ä·0ùá>tÈ8F f=˜O´óêHô>}UCN«dr> ýõR©¢¾pBW,ž×Ê>ÞØ_Å”W2=€!/Ö¡¾•>´¢&kÿîL¾¥šf¿!;~>ÙÖb 2›>îTóUð<—ÉÕ¤s>ëg®¿ùƒ>u4XMd­«¾·v=ÐL’¾ç€ lºî<“Õ-ÛM®>%<ñ@#¿"[j<#¿Œ¥ÊWÓS&¿†nVÓS&¿E½q,R?­Ã§ïÿ!?éPþ³ïÿ!?–’Í£†j¿¹š j®W¿è‡y!j®W¿JrpÙ¹¿ õ£–NPÎ?§ßá–NPÎ?@ÞLÿxÃ h¿»»‰µ˜ h¿THãjU¤>0[õ?«SóÚ÷?m™I'·C!¿l?8|Éí>è/ yÉí>Zޏ€T¶ç>ý.‰×’1ȾScQ “1Ⱦ³ë)Cº¾øÓYP–¡>LíQP–¡>ÒóKB!“>)íÁyæV{¾{V' æV{¾‡,0cRv¤>¨‡60»Þ¾È„æî#?qoÙc?]Ú¤‰§)=1¥˜)ÝîᾂÌ4v&•÷>ÄL´l‘!¿_—&‚D?Á8›NkÎM=L'½ dÉ?8d÷èà_?Aw¢`>¿¦ÐÀXëÚ*?H„Bc?™ƒ½ 1»¾“†.?äc—ÏìŽ9¿c›\kb?¹­cÄŠ2?Ú&‘û†5°=všîåÀ³X?c×´~ab¿µC”ûî‚?)<éü'n?•®ha"Œë½®\Dtö„?àœoÜl†?»$/«¿X$&~›- ?ëåô¿Q½ÖIÒ}1Î’¿¶ºp¬h`¿Øa7gô2‰¿}B½D%ç?nÏ‹6©v×=Øÿ~7ßµ‚¿U xæt½?HnVF Õ¿8«¿©û¶1ò¸¿Y©Â¥ªÅ=ãÝÇ+ §?tüÛòu¿^ž‚8ç–?@7wèÁr¿éØ/±îhñ½w ÜLÖ•¿¼ß¼/ “\¿vT!»~?Ù~Ɔ'€0?…üó¤„Ô½g,+´îÚˆ¿áKa6¤ÒI?¹xUš”™l¿ŠR¦°=l¿Y¨0beï¶=_AÌ‘²E?ìëSýTÈ/?a5v¦(QQ¿\vµ¥Y¿ë%·µe¢½—·Su]C?_%h®Ö¿¢›ê/³@?bJÞ°¢M¿ž#&ícнk[ö" ¤?¿,,Ð;¿®!Z~$?oÄ\O¬äÀ>Tò ;^K_½Ê1ÝZQ0¿L K Þð>Ù`°Ê{¿áÏk6‘a¿c¡uðg ½ …mFà>ƸßÖ>Ñ- ÷ƒø¾ê­·{ƒ¿‡>a¦™P=ÄL­ýÀé> w$GˆÄ¾É2ɵ%uç>èµz &8ǾÝ Cmâ_™¾ÜNvÈ=GÒ³Áü×¾¥“ײK>)Ê¿×E¿¾±<À¨¼¾aƒ@ê}ºû<ðì&`‚¾qñ%©†õ>Óí5²n¬¿x³"Ú䥾bmˆBlɽ¡€^ V®#?².µg ¿“{¶f’'6?Ê;áø¥m!?‡@=¨™t=ÿ 蛈!?í¡ÍÛ‘K?Sɧ ªœv¿ÇÐØ–kÇEží¿øWc½H3¿uóä “½>@Ù”ÏB”ã¾ }ÏÉàÊ×¾&–_‰Ìü5½M‰zyPhÐ>±w`b^Ã>còU;·äó¾[Ú…9ø ?+ˆcÅQX½ú9ñg8H ¿›P”œŸã¾ ]ØöZ?Ï)LÅ&¿O?—ùnç²½~Ÿ&o®ˆ5?éø+ºq?(ûzâo“¿LÛž¸£ñ“?£64Ûݸ½?ÉygY¿ƒK†#Ì8ˆ¿èòAQô¢?g'ÓÏÓ?Bo\n/Z½=3µ×Á¾‹Æ¿w'‚¿Žc¡)GQ?Õ•aìW¿ÍtÕgš>Z{ÒÐ+ÀE?káS[˜?ð~“ÅÝ2¿-:¾p°ëP¿¦ß>¾½£=€ÍòJ¿ÜTÏó‚þǹNº2-ù>⎋=”*¿âC w¿3 =xSÃ^…zá¾¢RدE„¦>~¾* /¨Ö¾4˹šÉWí¾Ñ0>ðî–p½K7ü¾(ƒü¾²g!0‚å¾Ã ‘‹Ë3¯>/ùö²YÓ¾±¤ç —r;½¹ë5‘A¨¾Zxò*›ÙV>öÓüଇ¾¦Ö¦`€¤¾lSȰÊWø¼·2b'c{¾¥¬òN޾ ´kô&ã´>Cj?ùTâ™>›Ú/ï›x÷¼Ôíõ¼š¶¾¤OD§A?JªU§A?¶qeºžõ>Í«yfºžõ>£,¸ÙÚò>ÅöÍÙþp(¿Ò8›Ìþp(¿Y±ãÙ%%Y?C¤ilô W?ù®·ô W?–òjÁE¹?õŠ ¼µÑ?>i¡ ¼µÑ?õà´À”“?³êLUsâl¿É{Nfsâl¿¼QÅÜÈ9?€¬Ï³ ð>$ºq‰£ ð>—;f½)?Ïh¢gH>ÿ¾Â˜ž%F>ÿ¾¼>mÉüvò¾äzo–°Ö>J&‡—°Ö>õŹî|Ã>uLÝL:,®¾~g¸:,®¾M­³qJ᜾¦áÅø!Ô†>¾ˆ¨!Ô†>:¿0MÚ®¾uVt…½ã\ˆ÷ïS=ZÂGhg6=¤ .³è¾ô*ÈÿØ5½¿gõËt¶ö¼4´Pª"K-=—D9Mw5½†Î%d°ž ?¤â¦îUY=$Ò²Ù'¢R=Wýp½U9•î=@=/#€ýÙ45¿ ÏÜÌäÑt=)Z"ùœt½û%f{Sƒ=ï‚¶~¢t†= Ø0;XÄ1¿ŠQ>tŒ=ЬÞa<£½îQ¤ðʇ´=ÎÜ+á=‡½Ë¿ûzË_¿T‹:Òí®=Ú5rÝš¨¤=¿L5Á½æ’̓Eþ«=±Çàfµ³¿ÝÿX!vö§=X3F±ñ=U|×è~¾nÏ‹6©v×=d`5AÂæ?!ûÀ@ e²==ÍÛK;w®½y–à’)Û=xàÎÞ¶¸Ò=N@¿Ty6¦?SnWÆ¢R¹=«ïe–x=ð;ÿ‡Ry²½aî_Òº=ígêt_¿KJähò]ƽxЮdIÍš=AðZr/ʽ܈ï³)öÚ=NLuH m?pówkÍÉâ½àÍúNKʃ=dEdÅË2ª½—Óg±&‚•=Úûª6t&5¿É!h7=Ò¼= uÜþ|C½²€Z¤Šn= •0~o™…=xµ]üU£?€ 8‘=ìwŸhÂÄ`½:ÕC]'ü…=tcÞm{>…=7S³½Œè¾üutßR½%ò‹á™J=f½µŽçÐq½Ú2;ÓªV=È[?᥾/–Wó; l=zûIRiø1=uéðìû5U½µBÈ0Ï+=C·Éü¾À–¤‰ˆD\=Íjqn>v½”C‚åoA=ï;±@=3[鎾S¾è lé]=‚%¼qνUú]£œ)=…®¸†‡¹1=­v$f>3ª &p½÷ì1™ÓõðÌHIt¢è=œFÔ­]3˼ßÕ]s^?ð<BJ3rÁë<2ZÃ9dõ½Äfm‚ÁÑ<ªÚW×Vâ&=é’ÂvÄL½´Påc£Å2½YöQE¯…¿>ŸœgvC\=%ÿRlC½ÙñBºIÉn=MÔÆ”š{1½Ù£å?çÆ6SR_=%`LµSK½œ³ö?]½4íÓŽFQ‘=jpõ©qq?6rX7>·™=Øgå÷³½T„S¨¶.â=X¡W‡½w²ˆbM­?Ž0ÂoÙ=Ü'0TæÏ =- åÞúUͽ>¸“¬DÍÈ= žºÞ\µ¿K}ð‘e|À½”Èt•·2³½NP Þßâ=qVq¸—Ñ=ùß93U¿ÒÛIÎ(5»½Vß˹&n=ƒé¨Ž‚‰–½‰ ƒñôE=n µ‘´ð>’rZÎýw„=µ›6‰W?½\š»ff=dü“ò£V=7˜5ÙW¯Å>`Ä‚ 69½T­ý>’"=·Ec‡q?½‹ýxü·ñ¼["›dâ­‚>잤èßÉ1=eJOJÎýé¼îÍq¿= ÉÃõU=j¶ºH,§5>É?5# ñ¼ ?a_?=|¦A“~7½I»ëðY;=«".tÛ¿#!üS; ½ €«ÌeP½M=ú|=^4•C­;|=2ºê•ÃX¿âÀ)ëƒB‘= ‰ÔóI±=c¿'²kŽ­UžIG:¿½UK0d›¿‘Bš„îF=Ú)ßEϦ½P7+KÇ=ïÞ‚ÀœiÏ=ʃïÈ[°¿')YûmĽ¡ù–·Q=ºŸ¹‡T&u=»`â”f•¾==Ytè 9¿yŽŒk£Ê˽—ïBàÞ°q½ªõPá ˜=ˆø7cyq =°§ü½¦p÷>‘*o½À,gK9=4dáÃêg@½m½ch€5=áú3~¼>ê®àE nZ=˜()ÿ•uä¼¼ºë1"=Ä×ÅuÆ!=m8W–ér>²ëuëð$=²¹Ô¥Ç<•f%¬î¼T¾ þ ’üúŽ  ù<&su< X<¡ùÍÕnÃ<¤vª‘äFÔ<%Ý ‰øÛ=±Ü}‰Yé™<ÄbwëÙ+À._T¼€‚PŸAã=o×K>‘æLéyaž¬>®[Baž¬¾~¥Ï _T½¸[oša?'À0¡a¿±=·80k‘½ôÇ„/É‚?6v*ƒ/É‚¿«cm—У=m®é±õÞ?Wª±õÞ¿›ë‚$è¦=£-W±…?4=-W±…¿q‚>âFmĽ(¤œÒ0?^"$œÒ0¿w"®L‚=­‚ÅqS>v>Ø5\W>v¾Bû,ï:=ˆx ÄÉš¾çS0‚Éš>²èSÅÈÕT-êJC[¾î=™eKC[>|¾l¾NçÏ<-*o#¾y§Í n#>¥9Iz‰àá<ýÑU‡ö.?"j‚ö¦?~y°éM€«½# eÌ7¿Ý킊v»[?¯¶¾c¶~¿máÂÒ i?¢lŒ'ð_×=ë ÐlÐ|?ís[sÁE?äŒÏhh¿\‹Wò«,?S„C›µÀ=Ð kp?}£c òë0¿¿Þ¥~H4T?@Jaî—ãR?PC»Mú”½^Ú[{™¿hTÊ Î¿/výf7?ø³šÏ¬@? Àó%ò@v=½HÍ."$¿œŸ2¬²G?Ýs~ÄCh$¿Šb9‚ĺ?Øì#ñét= ¢3s¯H"?µD•4¸æ>W‡H_}g ¿|[!*0È>Eâ¯ÅM[0=¼§–·þ?æ(Bž€Ó¾|‘R bö>­|ÀBõ>郗&œ‹,½¥x§xÁ£¾¢nì ¹Kº¾káW™½Ý>лnnIå>U¾Z×2½Ž¾¤­îɾ7dy!é¦> aö•ðʾÌÎMº\T°>çð­7Ò(½w¬^J`È>àPbÁ/Ï>·½…³l'³¾éG…ÊZn„>•‘êæß¼íäU  »>óÁ“:;ž€¾8Õ´,¢>ó#LWÕ >þ…Õ‰àóἤa¼F´s>¼8 3Å?¼nIò_3C¿¾h€Y4E¿ÿ”êïçÆM=òÔŒÔÂ]_?¤ZG«U£G?€0jàÜm¿BÈöÒS?€Ò׬æQ±=—,Úr¿,ÏdÉau¿X¶+ ™?¢¹¥Îm¡¿crèaëÓ½0;ì‡}g?)C͹϶?1£úž‰Ð¿®T?<±M>?Ì\<2Ѹ˽(~šýà¿¢ 2õÜš?SÌ—øÌŸ¾¿µýXœ¡¿Ïu‹IcÅ=¨wÃÑCK²?†Üt7š±W¿o=v¥Î?ª}OfZq?Y‹SK1šÚ=ç:¬0šj¿¬¹¬“$?vé uK¿¡ Ÿ£DC#¿œjÜ,S¸V=º^À÷q¥B?H,hCÕ²÷¾›õæ?Éÿ®Î?ž À |½˜!íšBâ¿(g8@Ë>3–o÷Uò¾ç´ÖȾ#F)·G=¶ùC|šÍè>ë6z€© ¾–eí¨€Æ>•¼|Ï}ø¹>⛂xPq=6C”kF¯¾³RÎ3å¿Xs_àf0?¡N;Zý׿·’š¢ò¬½ùa²†wJ¿ÑjÂ÷u@?/çA^‘e¿×dð9•s¿Ál\kØÖ=¹·"ÕÜh¿Í;)µš[?œ›Lª¿û¼-Ф¿¢ñ]ƒ’•=W¸5+$š·¿£Nd ªƒ¿—ÊìëѦ?Šð)gan¼¿®ßƒŠ‹@ƒ½bA]šCœ¹?º¼aŠU¿A?wñ̦Öe¿´¹¯CÑÂi?¯c\çc£Ý½øõöXës?©‹àdÄô¾Vq<%V ?sc¤Göf:?©@Û¸A—T½‡3—°"?ÍÌIXs»> ‰"‹¦.ë¾Ð<¬6~ ?à9ѽ½éµ¹C•òò>®ThÚ•¾?컿¶Ã>ñ¿xÇKbØ>—FˆËS=£Ÿ]Ô¾­Ù>M°éÓáh>_¿8¥³ñ–¾vŽzà³>"ÚJna=Ðó§·ž>Ù§ÜêÁ¤=¾c|M)Dn>\+÷¿ˆ>·eG:“–Û<¿ÅõréZ>ÂÚíV€q>ç§òס˜¾÷)ž»oy¾²ŽñÙÑØ<Ï6gLËÓ™>œ+ÌA(?]¨!ÌA(?C¨.ö×r0?’f0õ×r0?8m)>wV¿Bÿ;Ð ¿î)»Ñ ¿¯ÃâÞY‹?dT˜¦ðˆc?ƒÍ…~ðˆc?$~Í!Yî¼?¢‘ §Å?ïÍ §Å?,dhÄÙa¿Ð0\ŠÐãO?8é¨ÐãO?ÓL©ú*Ë+?_Ìn…ÞÕ¿=Ò²ÝÕ¿˜íFš‹¿ò¨ އò>¶á+[‡ò>¬è$¸èÖÚ>íâgþ¨eMkgþªn±²ŸÄ­¾ ªXCЧ—>i]yЧ—>NB¡£sqƒ>€ÿ6gáàp¾š—“;áàp¾ýŒã˜¡s‘>í ¼° Eð¾Î{ú»?+ɉ} æ¾ãì"¥ (=ûégü5?cÛì³ý>ÅixÞ÷ã¿5Áבåž"?o4aH`½,v®÷s¿'è&L”!? –… ¸B¿2a•í-ÊI?£æúÏF½°!«2äJ2¿¥ ¡©ma3¿OÄ}ràòS?‚௞ -¿øË°ä=ô ™BW?zRc«¯M¿,ºC &l?1«ñÐ&?nô†€ œ¤½øk‰Zíw?}4œÅ§pm?›PiOëÞ‹¿2“îûóó‹?™Ý3y¬O=F.‘)5°ƒ¿F„bz¾•?VÔ¿M*€­¿U xæt½?=ÍÛK;w®½“ŸŸžûá¡¿ŽK `@˜•(L>MÈ¿Ú!G,ðù„¿Âè!b:Ùн§'í´-ÃŒ?`õ²sRs¿Î%9ýΡ?¼_"Ћ…?à‡L“v ½›ÖÁGÄ‘¿ jºqÐvm?~A¸&VŒ¿5\Íü8V¿"·c¸iÉ=CLwL_?¾/ù™Ë‚D?aÏPe¿Ìåõ{:¿„kµ ‘‰¶=ÓÀß'Wžo?¡b³–3¿|rÍŽU?Ë#,’èT?C=ÆÙ,í ½Ü¦f Y3¿¡«‡­OŒ¿–ÿØq(5?ô‹þ¦{@?ˆð ÂyÙˆ=€!ìÛÅü)¿¡x—¯È?IQÄ4Û…#¿¦=|ú>GÈ(Ib=w"Ö¤œ1#?&}#ëå>>àµFÓ¿s¨…¯Â꿾̓àoôPD=¶û¬Å<6?ÀDSìFƒÔ¾~¦Â ÷>!ÆúÍ"ö> ’·â$=Dc.yÇ˾ôY f¹¾jÀÀɉàÛ>“æ„«:å>ÂW¸ƒM3½ÙÎvÏuϾD’›mÔ§>»è›éBìʾ`ºÑ™ñ…§>»âZ‚Îǽòð50É>žèA%ü'>cÊ£Uú±¾G —xrãu>‡è7Fs«é¼ëË£§éº>YE«R€¾Lc…ðý9¡>±÷{ ' >´Þ'3Ú¼8Q±S>QdÀ[5ܾ•÷eÚÖ8?Aª×X=ƒ?£wI{½7¤â´ÅE¿ñöj†’r¿Y{Ç,È+?èªÜ},‘¿º?Ú!œp½ã³‹i_¨4?~JóËvW@?Ös°péÅd¿kg,³^?À"©6³•=cßP&=Y¿“íÇ]É*q¿(1”öÁï’?àY½“‘‚†¿Ô<ÚϪ_¦=1Ï"%.c’?&ǧ„c—?µF½Ö³ì°¿"´­ [•¿{TÏEAeÁ=ê˜ÊÓ"À?Ñm)áY#Q¿ŒQ‰AÅr?¡ íFŠo?åÿ@® ä=¢œ&Û\ˆn¿S0™¹u'?7½Ç[>M¿cÍi µ2¿‚Ô[ ªî}½öÑ4­uäG?ƒKTñò÷¾O'{AÅ?^@ÎX•?;\Šnª§}½¦.(Ï?ö¿ä§h ­Ë> ³ì~‹óñ¾îÊ/ó€Ó¾8tU†%E=eû õó’ë>"<-ü ¾XAÉÔùÅ>3YÒ vC»>þ÷Pï Ã=»©b´¾¯€N¡ìÜÍ>®3iaYUô¾yò”¢Tò>‡7ͬëp=‹%”d· ?ÊÉ TÕô¾u‚YÅïP?IF³~6?ÅG1°ÓV½r,Àº#¿p¹­”³ÜD?WÉ û=f¿¬•0Ù’'k?Rù"Ô‰›=êœiJwk¿›op8H“ˆ?]7; Á‡}¿@#¦éö{¾¿#ê¦fVÛß½¯ƒ€T8¶¹¿Ñ‘ä~ݳC?swã|Ad¿sMqÅ«ñQ¿•©û×±Ù½qáÄïgoo?ÃvoKcøî> [†ÖÇÅ ¿Wè­°¿!&þÔut½ø;ò?C?=ÿ߇¶¿µ>_v Êsä¾žŽ—‹V0?çö *oƒ½íëú㟪ñ>:3½Ⱦ0÷MS櫳>}Ý?g/Î>l)­JæVR=j#b­«Ðà>ÙE¥ í \>âsþ稙¾EuÆŒa¶>#fÏió¨=䡸 !Œƒ>LPJqA7¾En„Vh>Æ?¹TA†>ä1\ˆÑŠÙ<¨™…¶ÒÂ`>¦¸ŸÑãWp>!¯Â2º––¾ ÅÿÏ<Ó~¾Ê«ùÈz•Ø<ŠíßÖ˜>ÆÜ„è¾*"üƒ辕3‘”Að¾„n”Að¾sì‡T¯ ?>Fo6Qé¾ìs_36Qé¾­©ŒR@¿™(ûÁ²h!?Z\3â²h!?´a»&cc‘?îpèÊM“?¨[“ËM“?Y~!ŠýWœ?IŵŒév?ˆ?™·Œév?UxzܽV?ü¯ÐI=¿T´ÞîH=¿€Sfˆ!¿¿ÿˆ«£Zá>LÈnYá>M_ßv¬u×>´À^Õ-¶°¾õ6í†.¶°¾)/âßɪ¾Ò%»Ø%>K"=„Ø%>0‡ÝŠ¡m€>©yU×We¾!n¯üÖWe¾–my ¸> ׂ~2?µà‘g®3¿nõC«B— ?Œt¥I½¸Û©=bðA¿™~ d6 ¿Ÿ@'¥??$¤s?+sD¿öˆÝœˆ#=Fë××5ì=?3VcGþÐB¿;,Ùv–Ÿc?³Ô‚e©l¿u,PÐq=ÝÁÕȇÖU?"ˆ6XU?1¼±Fìdu¿ˆóQ[T?6>‰Ý¨½ö`xÊÅy¿g±Ú±Àªl?&t¹E¡NŠ¿%]•‰Ó ¿86tA„Ò=¹f0-p—¿É_má“QŒ¿Lüìù“¨?”¿z«z«¿>Ri }x³½ÕÁ=Ýï¤? 4›$o1­¿X½Tµ²Ž´?HnVF Õ¿y–à’)Û=.És܈P·?˜•(L>MÈ¿#JÆÊYê?^["Úþ¨?•7Êø=ŒT†/gÒ°¿ ô黜?¾m]ûæ1¦¿×¬‰“¯¨¿†Nžú½¹=™þÝèí¿²?…zaœÊè‹¿~ÆeíHœ¨?EƒÞää€?a¢°ß½ç½F¥˜p”„¯¿…sÂöd¿Z·í¶ñ0„?Þÿ— ØÂb?€ñx}Ô½X÷žÈÒ¿–¬„ ë‹E•[h½†ù ‚–>4¿Z/´A9Ñõ>iÀ'ó9¿ûŠ[qh¿° X•]¿N½»”ÌÆ©Ñð>9T,R£Ú>4 &4dý¾Â4År¿¤?‘#¯T=\ˆþ¹Ûéð>‡I%ögɾÿ§™ð`}ì>t¶34Ǿn¸™]â=ä?”­+ä꾸Ur ß ±¾j¡Pª@âÒ>âãÍhü“¾w6i- =Ø‹)Ó’–ܾˆq„"S¡>z åF7+¾‹XsÑÁ¾T¤­`ûú<0 øæ=9f¾pÉnœk?#Ì×´J°'¿uaÚÄ{(¿+‘™IŽ&=÷L6¼+äB?w·=á©'?¢ï9™L¿SgÀ»)*?kWu£Ï”=.˨”qW¿¯W¼,b¿„ƒ1¦¼†?¶ž£ÿƒÐ¿ÕõE7À½¬hoô ?髆¢?ùò·‚NЭ¿•q“Q¨?”âò›̽f¥=K²¿ðqÆøË¿§¿œO¬ò¾¬ž?€ìy(!¤?SRx¶Ù8è½[Y¿uÉÑÒ¿ž!ÖaCn?ž£ZØB¿H2*/À팿0å,1kX¾"dæÍ2C?Ñg&u¡ÔG¿­]€Ìm?¶ 4Ž.U?Ùלÿ£Ø¡=¯Iäbi¿¡ÛÓt%?Ížˆì²é?¿õnÈæ*¹4¿KÌGO„Ÿ=8ªЂ¸2?ô:Òõ!Mí¾ Qª‰ß?aËšƒ7ö>ç“&\~÷e½wm€QL§ ¿†©¤ÖÎÁ>šu)r-;ç¾k_.ݾ‡9Á‰ 9½};ÄÈ¿ Ö>D¦iä™ð¾­OA#S?Ì3Mñât¿D ççÂD’½§ªŒ&Õè/¿H'SY3?½ ?a Ù:¿ö\&&S4Z¿ùŒò~.y=¯ûô؃P?^²ö@\e¿ŸG2Y†?FºüBi2¿LqÝî¶½Á[©T55”?xr÷ê›]=¿ã7 0ø Ê¿A Y.Õ?ㆊ^Õ>¯‹©O0Ó?³-ËÜÙ^¿‚ª2QI~?8¼ð€?AŽAžnü=Â98yý/¿Bé [ÌÉ¿Á†Ò‹h7?´ê÷8÷•??3«KñÚ=×è-‡qže¿û¨¯æÒ¾¢ d­5Ä?Uš«-½0¿¹lìÌ÷f¤=ì9íd¿þh Pt¨›>þëà±]Ѿ©>kË=ÿë¾ ÃôE7s½2ÉêÈ=£¿ód­…Zz¾ *ø9ÇX¬>1…tEQAؾ¶%Ad7s?½‹Ñ¢r€`˜¾¼( W>†(F“Ê∾;`¤$¢e§¾ÈG ²eû¼AE‹ø\[‚¾™kk)Ý >&{¡0Æú¼$®@'Pº¾fSˆX?‡òˆX?kº¬ÿ¯?(Q«ÿ¯?*R¤•™C¿¹OË‚Ætõ>fPƒõÅtõ>Îéÿ9™\?æM3(¿u,ïå3(¿ï {ŸV±¿Š§Ð ÷r³¿•½« ÷r³¿49€¨˜¸¿:iJr*†•¿B°|t*†•¿¢áQ–ˆv¿­K ¨1{7?ƒ¢°0{7?SvŪ•¹? »û¿ø¾$®ìoø¿ø¾ lvr÷¾b.¨®£Ê>{;„—¯£Ê>²OñVÜÊ>7 H;ÌN«¾^'hÄÌN«¾3Â︷ ¾;©qÄ–„>ÎÌ"³Ã–„>6Ï`u"·±¾åÔ²L y?Péé ¹ó2¿‹!ÞòéÉ ?©68L8N½èÓ&:ÒA¿ÓÊíEÑ¿™š„´+¯??©÷ÂòD¿l² â‰=q„d¡‰¸t¿t¶ºA=•P?Ul»n²³=¹¶ÿ¿x¿ï”hýéHm?ʬݗ´‹¿nušú·?š”;ª4ì½ êmŠ—¿K®YR é¿#ëWpwA¬?@êÉâ­¿^†^¿¨¬½ÏS£¬[¥?RƒÂö´¿Ò„¥ÖÐÆ?8jšK­N”¿ö€¬@˜Ø ?j1z—‡=™¥±09;?n²üÕÏ—Þ> M\°Ðh¿”ÊOiìà>Ç}|Ü=@½x”uZËC?ðþˆwľ&ô3ûqë>fÇ®«Cdè>ó(–£Àé@½/MiCßÔÃ>t àé㮾h3ŒƒÒ>FÒ—ÞÓÇÖ>ÇOÌIàϽë;úO"­¾,ãÿ­ ~•>Á…’$¼¾}Ù:$e¬>¨cŽªõ½ø¤&ïµ>‘T°'AG‚>ÆCP˜ÇÚ¥¾Ð…€'-þ„>%ýÒ£fuÆ<_†°±Îª>ÉRV‰p¾„¯¬Rž“>ÿÒÁ >ò XÉÁ¢Ñ¼O²eZ/ày>•„xkæ?õ[*¶°¿%¿LN|È’'¿|QÙýV=Qâ¹PiËA?ÞxÄU©'?X2Y]M¿ß­²¯Ö*?Û†çªÉ½“= ~ã7vV¿l&³ÃÿZ`¿I¤/IX„?‚é;h߀¿òãI PÁ=«e ëáy?=¿ž‚1?¸›4—ù²¿p+õ;®?)1:À=é ø6ÿ¥¿ ÓÆ‹?á¡Ëv •¿jZ–[Wœ?C©ë«ê=* y‡Ë©?›æÜÖ”I¿)•Ìtét?À9VÝKêV?Ô§(ðZó½d™r÷sL?•]£¡¤#?¼Ã9ÞîbM¿i×& ?îdÐUŠœ½Z Šr¹k=?…ÄTë¾÷ÁSÖ?' ïÿ«?Œ[±?éIr½vjΉ_?ܾè†ò‚@¼>¨ªY(Lˆä¾ä…ŠU£¼¥>§÷ÒÃ>=ðϯ¶Ó>ûs]E‘¾?·yHS¸>/Õ(ë#ݦ>4GÈ! =c1úˆZu…¾;&4ð¾ ¯O®?­vzÛŲ¿Ø ãSY“½:K ¹ §-¿P–¨Ã2?@fçÁ=¿äHßùGY¿×ÞÖ¬£]´½:ˆ·{ä¨A?™_2„Áõb¿[à «~ƒ?ß÷Öa?øy¿Ý¯&=§Ì½"B+bl†?BP‰ñª  ?»º& ?j£?ŒQ½öÉ¿j&ô@Èþñ½M’¾‚Þ¿FηsýÊE?³Ú×K•Òh¿íCÑ£Ü~¿dsÈ£Ó=`+DÔˆ?tãîLʸ¾ÉCŽ)6ƒ?SÜBE)¿™Hmçž½7ysÒËžD?Ð6fËŠÖ>û mLO˜¿‡eMmOØê>ÍRH‡¡&p½,“)ל?S¿Éâ —¾òç£!-Ã>©'fI¨®Ö>Žn |êôG=DgGýð>¬iÛi>=ròY•¾‘](Hņ›>W¾éãBN=^ü* å¥>˜pYçŸY6¾{Ýèg¿²e>Î Å(A{>‚ƒA 6À5¿ä4^c>@ââyh±‹¾¶âÕ uàW¾ý . <³<#£I1@Š>*8°äi ?4jßi ?ÒÍ1 „?lÀ0 „?ì@QßA¿£ó9/È‹÷>É?È‹÷>hEÔþ›d?¬´,ç:H¿­Šmæ:H¿jxxŸ¿ìF†¤@µ¿û䧇¤@µ¿êÙr޺驿õç©Î ?GÉÐ ?£Žoó™ûc?½ÙÚ«—<¿„pè«—<¿1•ž—ñä>ð(Ìc?ú>\B†×>ú>}78`Ý>ÒAe†Ä¾xQÕe†Ä¾Ø\5ÓT°¾?Ï"Õz§™>Ã?Lâz§™>ÑR‚¾†«{>tWŽ^En¾ª j^En¾_šŒJª>¥xÀåÜ=æXýY h;½–êëîÉ.=ò+¢æbR©¾My4-S½AJÑìdµ&½Ý/l4D=¢³´dgQ½¢±׆ú¾Ì¤biËR==û0H`½q˜ýiæ=QVÿu…½kK™t$?vÂd7=w=€:µé:)½. Oº¬ƒb=+ãuc,€½à‡ólþI¿÷Eùo‹–L½ˆPtß›¦=q;…g‚•½Âõ[¿Y`=<Í»òŽm?Dt‹ï#´½°µZÅ6Μ½{hý7ñR¹=âO©©{Ìx½†¥¹wŠ¿h îŒDçÀ=úv$ü¸²ë=ó{y¾w+'éÝoÖ=N@¿Ty6¦?ò°ëf¿­Ÿ=Âè!b:Ùн•7Êø=Ÿ—!å½Óœ-®mê?_¨Ã&ŠL꽌Ñә쓻=I¤ån9ܽâò¾#{oº½IÍÀg1¾³¿X¡xÞNHÖ½ËLB-öȽÀÈ„Œ$ð=ó~iX–^é½@á 2eŠ¿2Î;Ð= r̉Š[ƽ­Ò±Yþðæ=½°S»²½Q¯w-4¿´Ü ÿa‰ò½Á×xJê†=¼ì%°Ç ¦½b”â²ÿëµ½U,‹A J¿ç3zÿf¼Š=bTˆ”°çŠ=_3fE8ê°½$/·›®½ÜšI, ?zŸÈiÉœ=¿JK -|½DñjXÖò =ù_K÷£^q½ 5í²Lãû¾æBä—™4ž½øÇòté[½bR¼ñ,=îÃ;ÑBnô¼ëa`çJÌ>  ÀÙA!‹½B› /tuG=B?¬[êÞi½ËPnçj½šŒ Ï ®ž¾«eD¸Ny/=ìÑåïàÑ0=ÖŽ)¥R½ ”þp€[½À}A`á>Æ»8„¶>C=Kïwñ_½Ç0rå^A=I Šù½òdx¹ÀO>:YQz“@½}4˜Ž ½”x× ¾\'=Õyó”’ï¼® ürb*>.ÕËÒNU1½Ôâƒ÷–õ<Ö‹hbʽ:¸[?Ó½{“ Uº >LÎÿ%F±Ó¼ihä´½(={Â;ùzN½SE[§z3½Úxh¢¸>Qq, Ì_`=ü¨ÛàÜ ½L™s!y·>=šíj*ådA½^FĬÓwô>bÁõÓIb½šPTh”~½ÆÜº0î_¢=ê’º1¡Î¯½µV67¿ ÷ =?±…=E ½11µçnÑ=âø]wðOË=%©d”X£¿ Âéµ°Ö=ݹ 3Ï&w=¥½‡åC¶½|£Á¬óéa½<{ávº>×?Eÿ U-³=µÌN:TÁ½ŒMóêaõ½L¼+7º‘=,1ï-±q—?ø û«½½'¤2Wòm‘½ÒÙ¶fÔ”´=óñ°¦¢=ýË´I?#ù®óµ¦½ö‹œ¿²3p=ã¢Ú%Z•½Ü¯«ó|GнŽD÷O©ð>~H Ê!ã‚=”éºõCB½÷£n†@»g=uŒå£ð¿G=X¾[œ_ƒ¾+ŒRôM!a½‡-Q=âŸ8$<½z¹=Š`B1½Ø Ë|Ažb¾®…Anàx(=OÐ@ #½ºßzóWØ-=¬¬4µÅ>+½È†¨l}eÖ¾ýWÅ„¤˜G½ÞG’s±QD½º£(ïU=y0gM²•½ c‚܇0?ˆí‰¨‡= ÀIKC؇=1+Ì ûˆ·½Ê68¸=Qaá‹rŒ†?5QÂ\K§½såð®£Ü齟ñ;Æsò=.ñ˜ò §õ½@d´ëáþå?ÀüQÌ8ðú½ÃQ…nL’=ˆù<8ݲ½ Á½ÇiÕ=:!3ÈÉ\‚?Œz_‘¿'ƽú@ä…’=€ŽÎz˜¸½GšÃ.Ž3×½ÐÍk$°$?ö¨£ØLÊ=¥Du¤ÞB=YŒH>0c½Û€jytÔ‡½Ýº€èBÕľUøóebŽ=ÛðÍR?$ =§¼Dp©¯9½C–pe»P½m*¸¤X¾ÐS¿{‹wU½6–½H4ؼ¨çåØþˆ=à̶›ç*½#ý¢W»]¾-ˆa³½ ?ˆôBÒ­[41>E£Ó¾ÞU;C¬Ž„¾w[a­Ž„>é'dàCb½k—Ûão!?é‰Ûão!¿4Òk/â`h=,2ˆñXa?º×—ñXa¿=4QÇ=Ñ=¼÷9â:¦¿ &X<â:¦?A‰‡º[eÑ=áhFZ½Ž°¿a’6Z½Ž°?OÐh}eï=â1T³)Zp¿„ ‘±)Zp?s ýB~‹=X…SLY$¿^­¬ZLY$?Àþͪn`D½ÀÜÜûоÇœšûÐ>;?7*c=²HvŒhN¾da©ÄŠhN>êØ…x&ø¼lFÔêC7>™ÿÙéC7¾Ô!ƒT„½îÃ)·5—ç¾vn ?òßOGÛð>ËÄ2ëG=i”Q¤G ?²1Õi¥ú>¡äe¯N& ¿jO ’? ›ž@P4ˆ½€–ýí\Á¾ýú»+lª?<‡\åzC¿9¥ÖNÆD?±¾j¹` =Žz#uv¿cÈÅ 3¿Ð:ÖòV?-Ô²‡L„4?Àa¥jØÈ½}j§…½wT?öhpçG¿i¼ìëËm?Q +åNX?{@’çû=‚­Œ‚c?d|ï{?ÿ¼!ôœ¿-õÃ.‰š?zó çÃfd½–ºgy¼r†¿ÃŠ·¨ —?î‡>CNœ ¿…<,ò/Œ¹?SnWÆ¢R¹= úF¥|K¿§'í´-ÃŒ?ŒT†/gÒ°¿±öB XŒ¿_¨Ã&ŠLê½¶‰r¥ªá?Ó{ÊÛ“?ÚH‰7±¿z+i˜Óâ°¿¼ÒÒJÏ=ßLâ¡Ë‡¯?{]ê$œu¿öº=vûo°?®oû8Gjp?b¿‘·Þð½^©õ’¬²¿jÊ¢B h¿–ÙîÞ?‰?kMÝŠY?Gá2üºsÚ½r>%ž‡“¿ywzGW?¬w½ÏÀy¿rg@¦x¿Ú±ÄŠÀ=äܦÂËT?¡@ïÑeñ7?)ÍzXßY¿½è¤d¿-w"¨ò«½¹E§\^êN?éCÿFÔ %¿ÊÈ÷2îçG?ÒÌo4!¿« ¦qkн”‡Ø¾TG¿cs?[»õ ¿‡Vvn-?‚Ü'ÃÍŒÜ>fµNZÌf½í3+6€7¿§Lù>2z+91¿ÚîÉ¿é{Ë‹ú¿C½ùºh¦Cï>ÈDH¼ÿDß>4ô¥7¿ ÔÚ‡è ¿C{€«W=Ü‹”,`µò>WêœÆ;"+°e™‚ð>êYS0kξ2yM­&=³Þ¡y¾î¾-ñ®:Sä³¾öœP²0Ö>*²Ü¾¿½²’²í =øCJ~E‚à¾f’3Ñ ¤><àW¢“:žà^ãd@ºÃ¾ÛKÇœqÛþ<€ž¨fê~¾Mö©Sùâ>,dáþ¿óú}ò><úò‹S½=¯8wav?Þ þw¹¿=uõˆ,?—ûÐøÁ”?†#Ugm«g½+𿜘,?7ÇU§G?’w̽BRp¿3é²…ºa?® ,)Õ‡Ú½+S¢ TR¿­X¶Ý‘¿˜L³°ö³?°ÐÖ?¦™¿†õ Û!E¼½€§ý–;ž?qÁEýݵ¿ÄÓ8²2È?n*ô ‰µ?p6rÇÇ'Ö='¹ù±-|Ú¿ ™¥bgÏs?(u1•iZ–¿jmÓg=“¿§V=¾K’Wé ‘?H/ÂûK¿ïñ¾æq?V´+Z(¸U?ð¹Šlc§=ô* `Ô¹l¿ÃSÒñ><?(8ÑCòÞB¿ž.É|âÎ7¿3ÛãMØ%¢=½¼ê¥'4?Ö1 —qòð¾G„Âi?Ð]ôóüö>Æ o’Lj½·c…XQ½¿ë¥Qp£ŠÄ>RU×>ýë¾@ÛÑnµ£à¾M¨ÉÅXe=½þµƒØ>L¿ÒƒaåÏ>CÖø¤%4ø¾¹ª±!q!’ѱÚ¾aß?asó¾õ³$ž±v½*à%·)¿œç‰é‚¾}|ìÉ3³>Ѱ ª$Û¾ íc4ŒAB½J0ÞNo­¾ía žL]>qµVÕ㎾T›x|«¾¥MÛÀþ¼2Å+ž+„¾ÐXö?W)”¾³ÍçÍê»>ÕÙb½Ÿ”¢>*×ß^ü¼Ù×¹Œ¾¾<€þ}H)é>žDcH)é>T-+©([DNˆØ>”åø¶Ý?rkK¥Ú¿‡ž„¥Ú¿þO‰¿¿-¿7ðÉѱéZ?sº,±éZ?iBZŠ›“?~笠üù|?çWú üù|?5,R廿š50Å(“¿…W1Å(“¿9ŽKCÎ|¿'óÎssD?iï!TssD?m(˜XŒÐ%?ã…¥"¿Ô®Bœ£"¿!Âø ¥Øý¾Pg¼ÿmP×>ºÈžÚnP×>?1íO¶Ð>ã, | ³¾[jùW| ³¾ÑE ‚¤¾A¯±Äj‹>‚ Wj‹>N“VL¹´¾­TtåóÓ¾Kh7õ>}¯3Ó¾ßC = „‚ÙŠ ?[‰É,Œá>ì,ÎŒO¿¶«À(½? 7šv,½2ç=€÷¿Éÿýý?§*ÕŸº%¿É¿íNç/?Óç±½£O½cM¬Õ9Ç¿žÜëµM¿N<P„3?¤Ï;}/¿r_IyÈj‚=ŽTô*âö7?¢x~¦”3¿é±ZøS?ÙøñõQ ¿CÔˆÙ©Êš½C}1Ï©£^?`° †æzD?j>Ár d¿ìÁwù“­d?g0™H†½ƒ Q¹Ì[¿/<ß'Å!i?)(Ée…¿èÜ]T‹?«ïe–x=jzË R}¿`õ²sRs¿ ô黜?/¼¯l¸¿ŒÑә쓻=Ó{ÊÛ“?Øu Óv@gŒždÈ¿—´ ™?ÁD±ð¥¶Î½p‹ÆÙ×z¿#¤š&Ö¾•?¢ébÍq1­¿¬L’¼x?5Æ\o¢ö=ÒM¬±µ?S€¾‘f#i?½¢TâÓ‡¿¸D©zb¿"¢²„Õâß=Ã'ý’\ù•?^kÆû,M¿¹æ»ÜÅl?¹m„Qam?ÛŒ¸YÄÁ½I,´ahIH¿w>6‡Ÿ3¿áAšêf¿T?‚d€eɉ^?^yâ¢Sƒª=̵ـH¿U3o[!?Õö>)C¿–pŠ´?Ské–š‡=¤¯²ŠæB?­Ck7kj?x¢¨€&¿+ÛÇáÞ¾JIÓ–ùa=[ùñ Ä1?!ë[Ùðò¾tò䇋9?Ã@ž¿i]?œÃµ#G=Ç}C®`é¾êÄpOÝT×¾ ø9í°šù>%?EkVo?ê,=à»Q½®ä Æô8ì¾áÄUœØ­Å>D%Ѷ€è¾à 4²²Å>ä•#Y ½¾^†$îæ>‡ôÓÞƒ­>¡`·9ÿnоH›<Ú"»”>éðÎWK¿½2¡Ò†tØ>b… x™À¾õ5Ûr·z¿>|¼ÁjüD½>HTö®Ë÷¼õm`Pt>Ðý9õ¯ÞɾÚX}h#fð>ß„h¬zì>—Œ³"¿í¼Ueìy¤¿ø»/böê¾3·"ÿ‹?M¸rÅœõ¾ ý&‚V½Á¯¯L( ?kÉû)–¬?\%%õH@¿V´m”ÔC?!‰ÔŽîă= UBk(¡5¿@‡Ë…éÇQ¿ä°$›zu?ˆÿ”rã1^¿¢<÷Íë}нºd€Iˆüv?{ù?‘?@fÞ-Y©¿¤z(×[·?ªõ Ͱ•Q½o`B1CS¢¿Ô髓㵿´3i.…¢¡?Vºåö Õ?(à³jš±>J-Ζ¿¿þ)Ç?`"G?1Çtì)ùl¿ é!O„V¿Ùù³hßq¸½ywîjff?ÿbH#οñÓU»;?_\ãäÏ1?•¸I$nªž½Çðƒ+Ú+/¿¸Nr¨I}é>OÛR®~Š¿Žï2¥ýãñ¾ÎWäÄc}b=þ_ZB ?×–ét¾¾Žíø*¸ûã>ܨÙ,ªØ>åÏÅ„´5=ÜSÜæ³Ò¾ÀkK럎°>¤Õ¯2ÉÕ¾#½es¾>œëÂÁÈÒR=ýÓ¥qM¢ó>IþIá¾íƒH Ï?ªÝ=þI?y—ìðŽ‚½àâ9&"á> òìÒ-?¤UF^¹)¿7mü…†)?7Û9Âî–=ÊóbÕI?5ò‚v1V¿²Òï⨻q?öØ-^Ë*r?ôÍàŠ#N•½(FÙfx.ˆ? ˜Kׂö^¿³ŸM;-fq?2 ~èQ߃?à>¸÷Q¾ºLã|«¿®»ƒ\—}Ⱦ àmÔœ?¨¡Ãî)ÀX?†ÚÍîäC¨½Fx!‘Ö<[?wh.˜ëžÐ>;‡H¶Ÿþ¾õ(óN¶)?Y¿W)Á¢½WÙ×wÜâ?wè>H˜¾¬?sTÝüÎ>UΦ˜ÿê>E¸\]˜p=fšz~èRÿ>wÀgê{>¸ŒˆÜ1¬¾$9~ùÔ> N %9;= ŸÑ웨>Íz`K U¾ö<èµò!†>\¡‹€™0¤>‘@÷‚x †Ô>DýSùk£´¾î)|ɧ¥›¾ Ü´ Í×õ`.°ÖU4Ô¾-z_ÏU4Ô¾X5Ç©Ú+Ù¾$ ¨Ú+Ù¾5úÄ ‚e?ç©9ÿ’©Â>l’˜“©Â>ûùÍ×í0¿1ôøøœÖ¾-8TãöœÖ¾ºàÁ‰®ÓB?m: јÿ>t8OÒ˜ÿ>óª~týsš?«£…'3[»¿Ý8-'3[»¿ÞŸ¿˜}u?¦¶gU±±6?¤«E²±6?ði#j: ¿ª%Ôê¾nîþ#Ôê¾V²·Ìw?D ¶èhѾ,ÎTjéhѾÐS>3äÅǾÐ@ÃI©ª>{„´©ª>Gø-©Í*Ÿ>WüýD僾ŠâVÉC僾þÇo2õt®>û#{üOõ> ’ñû¿“0 ‰÷>üý—ß J'½Š¼?غY&¿|1oLŸØ¿¹~žX"?/ÕóGì±(¿ X¯#zWK=­ÿl[$?]]™ã¥%¿ÜÙ±mú’F?4N8lQ¿…j¨u:s=±¢¸Dè9?4Ãþª¿4?ª, N­T¿ïBÁ} 5?ù¢“£½·öWËéëY¿b‹IPZµT?"kqSÇt¿x«‘q¦5?œ ÈøžÀ=ärKS’€¿:«êìHe¿ è:ð$„?Ï4Ü6Y…¿wQÔäo´=.<ŒTÓÉ~?ÆøMQÝÒ‡¿A0ÿDôý¢?_Í*"å>«¿ð;ÿ‡Ry²½çÀÇm¼Èž?Î%9ýΡ?¾m]ûæ1¦¿FøÄì€U²?I¤ån9ܽÚH‰7±¿gŒždÈ¿0/‚ù>ÑC¿9מ2ø$¿AŠ£ ø]s=¡BI€ï>?ž÷ùr‰ç¾ž¾¶,^l ?‘d+­%澦÷°ðW[?=vtš›½ë¿nF¼ÒϾ–Êí—‹¨ñ>ºš"ûk´¾ð%% *=o‡= O„ú¾ìX†žL!À>.vŸáhûྯ7¤¸Èß¾ëÖ[F8=‹ªüSÒÌŽ¾ j¡üî>Ù´°™¿/µ­S`5¿_E¸=Šé =ûo™¬¯F+? nòqö= ?ã–›n1¿µJ¯¹9?¹ß”Zy=;ŽU‘eg:¿ôç'ÆWÍ;¿©@–¸`?aæQ[>%e¿Ôÿ ®¨½émv^£:X?]Oó§¾(q?s»ïµ”¿Öº~–O?èòÑÃ+sµ=­¨ ¹dÅ—¿qñ³¨ãø£¿šQ”ÂD«?cÚæ`€ûÌ¿Âfjn°£=Šç‹¨¸?·éŸŠìÚœ?YBˆÒûo¿¿ÇŠŒ¹»¼­¿#ªšÌÂ/,¾á'¹P¦½?âCjí;h¿¡IªT¾»?#|és¨õy?ùñ1®á=Óä}7Õ1ˆ¿5"çr,7?‘ƒZgú\¿%ëì+S¿PÊ-ÊÂÀ=œžýxYQ?šçy’Á ¿ÇÇ"i¼1?ÝXóÃ_?•Xdꮃ½xjŒ½+¿ñìvlÕà>’°š‘¿¯8åM0âú¾<…N&sW½=Î6R|ô>SÇÐŒÛѾ£VxA÷>ë«![4õÖ¾ôÄÊt½ßkÞ Ž¿âÂÎ9S6?¥¡|(¿Z X›U?¿%'3¤=²uøùhì¾< wVˆ%¿Î-™­I?®·‰!VýE¿Æüo¯Sr»½®‹—l¿0\÷:Ži?NïÔ÷å{¿\Þ»< û¿Åƒ[…=?"²¦¿Æ¾Ù·ík?®Çõœ¹l?’øËÍ÷ܱ¿ b³“þ#>›ày¤«ˆÐ?g Qæï¿"”f¤Ü_?NLŽJß#w¿iãýÂ=üÕÓž±€¿¼X)=`ì¾VÿUÏms?à Ùq8DK¿î bþ„yÄ=ĵÜ 2¿¨Çö$¯>mª,Ï×Õé¾ðhÆÌ±< ¿ á&_6Б½8‹ø§©!¿X ÿÆí2›¾xÇSï¬>Ì>Lǹö¾Òƒ:YÝ„]½I­ÉuœÄ¾’|iõ9v>=±¥ÖI§¾F‡Î¿·Å¾.åˆúÝt½á×*Q[Ô ¾F<òœ°¾Þ$Œ÷5Ö>—ŽB…j°¾>¸´Ú 4½<‡®Va{ؾ¾’ì/Lø>ÆÛÅ'Lø>¬ Cfê#ý>nä eê#ý>’’`zy?#¿êh=<|ñ¾l'(p<|ñ¾UªÀvR?u÷ë³?ÁçÇPë³?ŽZY2ìi¿¹¶eXTW¿òŠtxXTW¿Ì¾k„Ö¹¿­Å•¾QÎ?¤š®½QÎ?hNӜȿùu‹h¿²€Çh¿^EÔd XÁ>÷fRûî?ÆŠz¥þî?,¨µ9äQ!¿…~c=Í¥î>FŠtÆÎ¥î>w4ˆHXQè>Ìø"£'ʾ Ë™£'ʾ}œ×ëJÀ¾Â}u"´ ¤>"þúɳ ¤>ÿ†…€Ð¾2ŠÔIP?¿ŸøÖÐ!¿Ü1›œ;“ý>ËÁùìÀ4½ êÄûµ½0¿•l¬³Ž ¿HM¿º“t,?ÚJBH3®2¿ëëÉæ-¼b=Yz2Ó®ˆ,?¹aÜw<0¿›±¹w4Q?ýkáÿbºY¿8wí½ öw=–T"“±A?“†óeˆC@?Ì£U^Ç`¿lÔàŒ j;?;4x¤½ß–[Äd¿·ÝPEu^?¬ÉC º¿=vø?Dl)¿G¥e—`kÂ=âü+XxŒˆ¿*Ã߸é©l¿†ÌS]4YŒ?È;¦(ŸŽ¿ôÙÍ«•Â=âª|‚?ï <#õï“¿Ï~„:ƒ‹³?©û¶1ò¸¿aî_Òº=ÏŽÃ>‚ö¦?¼_"Ћ…?׬‰“¯¨¿ny‡”Á"¥?âò¾#{oº½z+i˜Óâ°¿—´ ™?𠈊]–³¿ˆ+P0â?}Õž™ÜÔ=ĵùºu¨?aº5v¿·jñüKš˜?ŒRw0Õ›? B›¿´÷=¬Ký¼„2•¿Åϰ¡NQb?@„Y?…¿J}Ie\n?N¡³S)å=Çt¬ W‚?ÜbSBjú)? ßç„J%¿2ÆW_=ྰœ-œ*Ó½Qÿäi±X?ŒÞlA)¿6°®s}3?’Êð¸….0¿çîWžþ±•½E}ò? Þ9?m³…¡Xfõ¾èÊç~"Ú>§ÆHœ?!yP¹ý?™=!›“qÒ;¿×\¨úÈÚ¾E? t+ò>;þkç¤þ>r«Î¹ g½æq×KW^¿Á—ΛüÛ>Í„þ¬“òø¾A ,g®ú¾C[ ÜrW½G9µqbÝò>M„fñ:à¹>?ÂZÒdÕ×¾óz3oë¾. §Øq¬>=Ñ"zâùºà> Dµ¤@²¾%kÊbÅÑ>.X_”¶š>ÈqáÀ¨½.  °±Ó¾²2™{_”¾,߇š™´>f*ŽŠ>í±É±h=5Pa£ÿâþ†'|¼%ć>”5Y<ô¦¾pæÎœRg¨¾ý`œ®IÐBg½=hõ>T“Æ¿«-Z«íW¿#uA=L]¦Ï‘3?ƈ ™ùÔ?GŒJöZ;¿ïÿfŽr*?(ñbÙÂv=ïª) &D¿¥ ºÑ@G¿>7ö|m?pl¢ÇøOm¿ ÷0âÚ²½üx7Ú|^b?5Ž#Œ#s?÷ÔýNx–¿ë¨Ó]¡l?Ú›ÒlËÇ=.DüA³ó¡¿.œ ª}µ¿á•'´“Ð?·©Î“ÂÞ¿†Ë(‰Fµ½$ubÿ„ÂÆ?Jäß©Œ¿åÿRR†s°? à+Áó“?ɤ¼´11 ¾%…l“¿6TyjÕ¿Züì2W ?QȇáM?]8±aa0·½ð5Œ™P¿–Æ• —Aö>¼í.h31¿'$¸¿BñØËlf½HœO³¡À$?”sòìÂTѾä¥l àò>tW¬¶¸'î>@se*ºQ½Ë Ää!š÷¾QI€Lߨ>‰¤ëb";ƪ¥ÒºÛƾ Ç*æÞ‚^Л۾Žö¬,r?5‹ ļ ï¾8¢`[€½¯xdK-— ¿ÊÓª÷° ?FÔq2y1¿ÃöË;WF¿X(½D“¥=ÖdûPˆ ?ê1aÿÞÿ>¿c›|Åôc?ô¯7¡q¿vð`ƒM®½$>ÛéMj¿Ã³µõÍh¿©ºá?&#1í£·¿/uYà È=ÜÛ^Ç“5?䉯£¡Š?†¬J¤ «¿v/Lfß ?ƒ86æxüæ=öÒòÐÊ ‹¿A›¸¥›©?¿XÓ1©Ã»a?ÞESì]o?âþ¡mnp×½"¾I½•Xm¿2žD6rÎ>½~x @ö¾ýúÙú忌ÌJþÁ‚=ɰÞDYÓ?¹émcC©¾T³Ùþ¿NÑ>D4„šMÅß>BITŸYŽV½¤º¼€}õ¾ãrìƒ8Fr>gGûÅ|•¾> S",Ǿ•ôVB>%½z û¯Íã»>Ùó¿$$ô>‘æÂ³ÕX¾Kí„E‹¾3²´?+í¼‰:ÞÆô@s¾Ðéwæ¶èt¾Í°‚_›>…ßÄÕ‘>©$Ä,[è¼±VßÃvÁ¡¾ø³$€o?Sr¦€o?£[-Ï{÷?.–*Î{÷?©:Z1cÅ-¿/[¶Û¾Ÿµ¾Ò éëÄŸµ¾R!n ¬cU?螢}?C]—Û }?Ï9,úœ›Š¿fN­ždÌe¿¦‡l­dÌe¿ï+'y"ÌÁ¿(ÜçáÙ­Ï¿ãÄáÙ­Ï¿~/é¹Ù­q¿ÈHàxËá0?=ò©ØÊá0?TŒ-g Ÿ5¿÷’pQk²?qù®Sk²?Ô`†nð> Ž/Ä Ü¾ÞâÅÄ Ü¾Â!­Žºp¾§Î 3¤™>/I ¼2¤™>. !Xÿ>¾-oæÙ”¢e¾#'-…•¢e¾Æl6—Ú˜¾ðUB÷ì½~úù,˜*=8÷0%{àÊ=øÝÙ`.èË>¯áÊ(B¥+½³áÍš;=_Ïf!yK]½^mÓ+d=Ʋ I·è¾íï%ŸŒ+A½{áã…fŠJ½é´à)Fâi=Ý¿ªf Z:=Å6Þ5 ?œÃøÒl=©˜ZGÄl=Q- 鬑½Dz‘œ'˜=´Ž…£‹)5¿¯„Ÿx´§•=íÌϳèé}=ÁÙüÉËz¢½´»bâü˜=È“‚Ñ—†3¿9W]ø”HB=(¾ǹ§=Ζ·•Ư‚=Y©Â¥ªÅ=ígêt_¿~y°éM€«½à‡L“v ½†Nžú½¹= O`å Ê“=IÍÀg1¾³¿¼ÒÒJÏ=ÁD±ð¥¶Î½ÊÐ1Éqè=}Õž™ÜÔ=‘N2ôAÃæ?~)ÙI1’ñ=ëGájìèå=¡é|ŸJ ¾Vâ„ó^y>ßm©¢_/¦?~-lÌø½šú¶7yà=•;ð’7¾Ûøöqx²=1Ì÷Þl_¿¼ôþjŸ >kfÛ᤽üýž·¼Ç=µHñN÷åÈ=r\åƒm?†€A™Á=…+Ë&W6£½¯ÖäJ¥ Ê=…' dÌ,È="Â>º (5¿‰9þKtÚ©½)Õ³6ýI‘=LÂ7°µ½û YGŽ=%¯Kæ§?rmÎD\³=Ÿ™’±ÝBs=Ó€é¸Ö•½˜Rš…}Q=ñâADÿŒè¾±‘I¦PÉŸ=\ (=&*^½È' Öá=|Æ38=›…¢¦Lÿ¥¾¡P–È󢼆ÎòÜ¢E½gÚ–í3¯g=T:åÙdóp=X—@Õà¾BÆFÔT½ýÐ@uç<1=ñ!Ê!BT½Oˆü§ 9=;”e¤€¾ÁDmߊ-R=„Ö—§µ=/ïû|=½CRéëó =ªï•ýƒm>ö‹-íu?D=)i'ú/ú½Ú‡l‡ÖT+= ßÞšƒS(=ÿ¦\诹@¾2G`ׯú<‰Ðü ’Ò¼¥± &èù<ªØD²À=²7Ôzþg¾ø”y‡¶½,½ÓŸÅwˆ#½L— Á·J=2{Þ;9[ GA»>“çËæaJ=Nõ'bF=³éWà?—q½=÷Èy=rª€ëÙA?glš®œC½75Ÿy½ÕÃbæy=0ÛBš½~ÍÕVq??ŽcaÑ«½ß¢aÛÛ±=Ì@×½jN `ÈøÞ=©ñ¥7ˆ4­?Ú©kñ&HÁ½1ÄAH[Q·=ªuTú2E>Öö(들=šúqZµ¿œÏZR7æá=»ª¦4©´=·l°`<Û½²™'cLý´½:•­ä&U¿¬~†MÌ=ÃýC9€g‚½ã*‚#ƨ=€õ)èš=6¹rY¥ð>âQ‡º‘½Pbí€Ý)V= â ä‚~½D‘žüSrS½ªÌ|Q–€Å>óÃJ2Óís=ó/E¾Ü )½82YãðP=‡|Ùþ—tC=#à.‡‚>r±Òl{8½Íîr#•ë<”d†ç´{½Fiêa–=\AÑŠS¹¾æÊaM„=Þ‚Óµ™T½ÖàãÙ©üC=‰H#½nZ=ÛÆ€:«¿[Ë-£G=Ö²ðÓ?a=É`Äyï…u½¦ÐcÛ½h ûØn@X¿RS§7¿­w=«æî%³¬=ù;¥ýWÀ´½3î5õrýÇ=?%Q¹Îš¿ýô ™¢³¿=ðg1hc³½"¼|¡ý+Ö=tp[ ÿé½Z YíCU°¿S b3dã=°NËÍò±½pÑ_»÷Ö=-~U±vå=­¤“Ûþ8¿/ÎÜÃÒĽ¼#3p¨,=ÈùxEHed½‚» (.N…=¡4£·a÷>®º)Ñ¯Š‰=‹˜zËŽ½T+ÙL=XHZeÎÑ\=n ¼ÄÁJ¼>ÃÙYânj=´&8y›„÷<üÈô$½ë’¶`Jg<=Òôµ÷t>0ô£â2=€é.‡ ȼáWw‰3|öµàxëâzå< ]áù<¼Ù¶É"½¦Ç&gü?½8ÛµÆk5>5ò§Õý"=I Sû\E¤¾ÄªÞû\E¤>ò2+d>’É÷§+d¾'ó/‚?ù1=š) ¸á¾¥þܵá> CÏ“s½F¥€Ü#?€hÏ]ø€¾¬ÝôÀî0½ÁÖVÕÀ‚™¾yÜðÁ‚™>øS4J=&ìõôªZ¾r˜.3ôªZ>_[›tEu="ï¹(N®è¾ófâr ?öoûú¤oÔ¾¶×q .=J.oˆqÝ?…Ù…úÛ9÷>dMý‚x¿w¼Cèí?³›»ÞÞ]½è S9~i¿»³óÎÌ?•ŸJMš‘;¿áÃĬr9C?V–70F'V=_«>%&¿Ï8æŸ)¿wKá³ÛK?ÑUþU3¿–PSù4÷ƒ=:õ=#ÒN?UcžkH¿¥Ë;~ä¢j?øédw8?ÁeŒ *»•=tHNMÕr?áè1[?œ‘K»Æý}¿µÅ:Nn|?ŒÈÂŽÌDƒ½·º4Ãk¿6“eFƒ?ªü!'žã¢¿ãÝÇ+ §?KJähò]ƽ# eÌ7¿›ÖÁGÄ‘¿™þÝèí¿²?ãPÝ‚R–¿X¡xÞNHÖ½ßLâ¡Ë‡¯?p‹ÆÙ×z¿Û}ᚤ?ĵùºu¨?~)ÙI1’ñ=ó%Ϲæ?ú?!ˆã¾¾¿¬| ºeÇÕ?æW•ÿ¬¿pHhÏZè ¾êè£úÛ¿…Ö§~Ö›Ž¿4”ª£Í®?yÅ[œ/…?V ‡wúK¾ÚÍËThð½¿xA2ïzw?*ØyÊCf—¿&&Ù—¿^NB•Ùô=瀡éd?<ö¨Îþ‘^?¾ ±.Þ…€¿&`éISˆ¿¸§©ýÓ½€« r˜ r?¨^rO°,K¿4йLXn?ò%:Ñ;C¿Zbã@©¢¸½ˆKn0¶m¿mƒÔÓóÀ0¿DbSR?EæŠSÀ÷>ǽ|.œˆ½&Űú†¢\¿ƒSó’dÑ?ËÖ°A¿¬Ü ÃJ¬@¿ÜÞìú[e½¢ æ@<?ºÞºøRG?H:îiS%¿ñ,>™Y0¿ÇÝÍ-«ä|=Èùþ ýl?ª€ô}ªñ¾\Ñ7¸Ä#?\Ã~R_¯ó¾!§ÂãŽGP=fðæâð ¿›÷`Š¡Ø¾Èr¸òG˜û>aYfS“ľ—5†ªë'1=B2‰UK¿²¤¦©¿È>xDfê¾3~3{f@è¾·"Y·Mø#=Ö¥é$|«¾Ë (úHѾÀA¿ZAJö>£b[ ZO?ƒfƺ½tù*€p™¿ÒûÞ¼°X¿½ ІˆÒ'?“'ˆ=îý¾×÷n0<j½ÿÎÌËšu-?è ÃRL4?7âøÏ¿Z¿›‘ëZ'X?²ÆYÆfl’½Ð_ òG¿ƒ`Kÿäòd¿ø?ÒÂOŒ?V<âÆpN¿Üžr{´Ù½€”ýÔ–KŠ?¹Ÿ:« •?ÚdKŽ1=¦¿Xgdí@Æ?øp—tGUÖ½Þ=‚m!ž¿[ìæ†¨Ë¢?ðuI˜Æ¿Šcò¹¼¿Dîdî&¾ÑP ª½?Ùt–­Ÿr¿¹|î|Éê—?Ÿ´1stg~?eÃÅÏìé=?pèD¶`’¿nüËb XA?‚_¦Of¿c’Öí\¿,ÃRiÞÉ=3æØ£RW?Ì=~ ¦Ý¿Çÿ¡Â°T;?¤ÍK—?Wõuw^X½n–LñP4¿äô;ñ4é>ÉM]u©¿q!kæ9¿OwŸúHb½,3½Vü>z„‚LZÆ>êc5òï¾P´Ç` Xé>…¼ÙHCäj=º‘¨Væ ?Ç*cØô¾#Ï7YZ©?àÖR‚.?bë‹Ht½9Îó¾3? 9ìÏAE'?R<çøI¡M¿îœ¹~S\?±Z G+²·=Á~1d©qL?Á¬’ݰÝl¿´D/ ?b>{£?_Äg»|JÀ=+(ÓØ—m”?ó7¤ƒ?€?wTŽÄ]Ó’¿Mèž´¿#$åÉÁ&>S6N Ø?Õ °òùÞ0?ŠÔoÆ•^¿Y4«³Åx¿§&…âVâ=ë-%v茿h4r°Á ¿s5 ¿4?å6ZÁRÄR¿-ô“p~WÎ=¨ïÝÖDI¿¥×:‚È>[ñY± ý¾v«à‚¼-¿u»Ù¤.œ½3¨ðãLºï…T¿Ná(ÉÔf½þe­6ðÙ¾m=1PvÕ‚> æ:޳¾Ãýqþ!ѾŒa-£"½Å]ˆd§¾Øl—Pæ#¹¾‘>MÁxá>Ç÷`Æ>šK¥Þq!½ƒÁ ­ìâ¾€ö`¨ /Û¾;Ò» /Û¾ÀÅßŦ澫H ÝŦæ¾ò ­fD3?fçx ‘ó¾ žX ‘󾹓 Ù @¿\еD'?õƒZ¨D'?‘*ž†Jh?F·KÖDÚ¾Eõ£+DÚ¾Œ_]˜É¾ÌÄVú‹²>FQ#ú‹²>}>#¬‰Ù¾bPXšÍÂ>Z‡Y'Üã¾(~­°»>1L©¹K ø¼ç“Çûò¾*;±qԙоV à†ÿäð>  áf Mõ¾7'&iî=༠¶X¯î>9"Ä\}ò¾ä"¯ í?4éJ ‡¿ÊÝùuE=7 h¬G?j–Z …?)Ë¿:¤N"¿J=åçR”ó>ϸšE¤€½©²šÞ—%¿Kœ;x”J!?ƒ±ËЇnB¿ÅÛ×Xiñ¾?Ä¥T½Å›=×J"ß=2K¿…3& $Œ3¿’œÿ&[1T?1Äd+ÍT¿0o¢–½§.¾òE?ê5s%M¿#1·ÊÏDl?tüÛòu¿xЮdIÍš=Ý킊v»[? jºqÐvm?…zaœÊè‹¿Iº°[]r?ËLB-öȽ{]ê$œu¿#¤š&Ö¾•?ϸƒ­¿aº5v¿ëGájìèå=ú?!ˆã¾¾¿}⧸\@ЬªÉ@LÈ¿;ùšíO „¿´ÎçÐÀ—¾Ð”iL?™Qå\Ts¿Bš&RÊ£?_BdÁ0x†?o)ÞG×Þë½%¢›6ç„•¿ÖÅO‹ym?‚âfÁXŒ¿úÀ4©îò¿]¨ŽSHŸÖ=;^ŒÎæ{?/Ój.@ˆD?ý®ñgVe¿4vêþä¼l¿×lÞeß¿½™yxÔ‹?[?6Ä•]~›3¿OàßMƒ”U?Ô°Hc!¿ÊÁ†k‚½Í•¢Ú:•T¿!Ôòš¿>ùØy5?YãŒ×Qéò>pêt½ÉßéG¸A¿+e-+Ó?DnJ˜–#¿‰suO6#¿y5=(Å_½²ÿØÌì ú>, Þ™&æ>ºÀÚs¿k‘¡ˆµ¿P 6YÅ`=Kªîo û>ùÓLœ¯Ô¾´MAèG÷>Švð,Ô Ò¾uCúö;¿(=Ù'£_úõ¾tý¬µ\»¾Kë­èÝ>ZÞ˨ž¾ŽÁª³4¡Ì¾.Øb¸—ÑʾU1[ž›Ø=!Øû±0÷m¾ª¢çļ„´>\`9ÂþÚ¾{$$fdŽÙ¾ ¹kÿÉ6äV¹ÓYÙ>ÇYG·*¿áÕT廆à>ÑD%ë-ˆB=GÊÙ“Í¿túSk ¿A›Sº/.? ÊŒ#’’2¿Ô¡VšÐ1~½]˜ÿ Ø ?@j3¡Âo@?E¸cìd¿±àáFK?’9½Ð ¤½¢z4«šVb¿´ürò†.q¿E¿¼_õ’?ž&‘–ê&‹¿¡–Aü½æàçs¹?Ÿg¸(Šd—?ëã»çî°¿¾/rrñ¤¼¿ÅîKµaH$¾ÆßÌTNž¯?Èí“ 'Q¿ƒÝFßÉr?ᎠVä?b?ýñ?àý©¡=UÖ”Wøs¿ûÞs%'?µPZKM¿Á|š~ßhC¿:§XižQ¬=£]Ô|Á@?öж>¼ø¾›0Ýò?úC«Ã†?PÏÂÅñ…p½Ú옎Ø¿|P#|Ì>’„TÕ@ò¾(MbÔèæ¾  ¾c “C½£÷3¦®Yá>oÓÓ®b-¶¾vtŽ™¼@½õ©[©Ï«à¾içöÐ>‘ül$÷¾ˆä ¥²÷ ¿÷,N®¥}=%(†#ôŽà¾1ËÓÐßô¾H’æ¾?XÏ'…Ôô>¸Jû鳄=”B#þ8¿¶‚*ÝD?Ûpº˜zAf¿“-q„Á`?úËÖ‘¤¼=éÌ]¢]q¿Õ–ff’ˆ?x 9,Ú~}¿QiÍ_4Á?€Ý&¸¤>É—óš)´?¿gªt­´C?¦Y«ŽBd¿üÖBÕJ¨j¿i§z¦æÄË=’!§Aòb?še¼N3ãî>ø'—0   ¿q†Å\Ï A¿B†Ãƒ±=½.}A·a/?¾Brm¶>PcÇOüä¾ËÆ¥Ié÷¿x Soÿ\}½RÕË8VY ¿1ñÌ-„¾çQ뙵> ÒÐ{bVâ¾q*ÌÆ-¤H½~0a™[±¾€<÷† ta>Œ*U¾¢½’¾§ü‰ñ±¾h'ÿÓ¹½>¹l5¾._ÈŠÇÊš¾ƒOZ÷¨rÂ>¨€é_8ª>÷„‰Y—½8Æš^¤lľщiŒ¿>h*yiŒ¿>[™ºœZÅ>L§q¹œZÅ>/F8q”ï¾]™£]N†›>GÊ›J†›>®'Õ8!?vÁ¼7;ð¾ÙTm]8;ð¾ÂC EE@¿¨Æç¢‡ó!?«uW‡ó!?yr˜^c‘?¨ Œ^@I“?ö[@I“?Bfõø&Xœ?Ø/†éév?»t¦oéév?Æ?Ä'¡¿V?Ñ(<)iG¿díÇgG¿3ÍA‘ˆÙ¿¾™]ká>v=ì<^ká>Îîø‡à×>q[ë±?²¾!N?²¾ZrõC¤°¾KhŽÊI‰>'¢°€I‰>2«æ§d»¾[Aë!bQä¾VÔrNœ+?¤ö½Úøá¾èÙÄ{/=C¿täæ¶?è«÷€Naò>¬3Õ/åq¿&ÃkcÖ?Øì…—".=s½2!¿¶RlSõ¸?Zõ"6¿ñ€ ¸@?”ý«2Âl½A’ÙB’s&¿lm =#¿ YäÁýÁC?)#ë[Ñ$¿¬ a´Þñ£=E©°ÅäG?•›E.[C¿T'(cd?õy¡Žû$æ¾{R GÁ½è!éJcn?~ÅZ’ƒU?óÔôÿÜ¥u¿»–w±ù°v?t}èÍp®µ=ªòø*„"j¿ì7©¾l?Ü“úÀðkŠ¿^ž‚8ç–?AðZr/ʽ¯¶¾c¶~¿~A¸&VŒ¿~ÆeíHœ¨?î|Â÷•¿ÀÈ„Œ$ð=öº=vûo°?¢ébÍq1­¿%võ×´?·jñüKš˜?¡é|ŸJ ¾¬| ºeÇÕ?ЬªÉ@LÈ¿ì“Bê?éd.ùˆ¶§?ns5V2 *>ó8¢]ªä°¿ä ¼&®¡?2þu7¦¿ g¨F«¿qE. «Î >¸ËÄ3Íé±?3º:_wì‹¿ ãYšÆŸ¨?Cj÷qP¬?‘n…,‡¾f–æia¿e=ó| d¿æ/çR8„?µ|•ÕëtŒ?·ñ'øä=i+_N[~¿g?•ÉFT?¿ `½u¿½‚ù6?…”~ìÛÅ=Wà –‘Vu?Р «î3?O_¬ U¿ÏäòT¿ ÿ0šó™=h¬´6rb?E« _à¸"¿EýgiI:D?ýÞ¸ÌD?ÅŠ¾x$Î…=ÔF«›! ¿FÙºNG¿0æ DÙ(?E\áâ2?Š•8Ú‡æ½ ™‘¯uu¿ã8t@Rúõ> ;R¹~¿¡ûSQ¢ñ>$šúŽÖôC½íÒt•d?gú0äQÜ>+§áâ‘*ÿ¾§NÀ&º“¹>$TEHÄŽ9½ By¸?²Ú!ë°Ì¾êVeµÄâí>ʯ"?iì>š[úL¿3%½òHÓ+¨hl¾ƒ?/2gøÙ¾]=£.Úl?@ò‚7@ý>&É$JŒ·½w¼Þ¦%/¿Èrõf¶û¾´ý—†ƒ!?þÈOî–¿‡˜*Öde½ùKYગ(?î¯Øy—“)?•ÿq6(RO¿˜¨æÒ"îT?—›S¤=dþE²*[C¿X¶.xCEb¿½ŸÁ‰|ä†?>â¾^ÌYr¿ƒ"rÆÎZÍ=÷ó¯„?~×Eä?N^2ÙÚ­¿Â’žx»nª?”$þ¡)å=ÍŠ8¡_q±¿êf?’‰Â§¿8ûÞq”Èž?…c~PèÐ? ;uÏëN>g£6IeQÁ¿T¿•Ln?Þ ÈŠ&¿hlÎ…¿*8ræ ̨=úÀ[“?åýZî¬ÝG¿tŸ¯è Úm?`W¯1Zd?2¢kè¼Wν=’ç1c‘b¿~ÆîØD3?45—¼ @¿Ôu5] %¿’q¯Â¯¥=VþØ·9?ޤ³waœí¾?¨*%?TË j?38@aóyd=ݺ˜ÿ ¿q¥xû‘¦Á>f2ÀÌwç¾³wƒ ŸPÓ>(fðÜa=·/ªqÌ?"©Ù«Ÿò¾HZ»á¦?$µ9e>.?<>Ÿ« ¢½§²”´qÿ>xÔˆ.?Ñfÿ ;¿Zæ2½é8¿`ä‹yÆk°½‹ìz¤]?|já—[e¿î£èª†[†?›G¡é0‹¿Cu )­¡â½,Ïݵú•?F¹<¿¶40‡ Ê¿m˜ôÙ¿®Ë‘œ‡7¾?ü–ê|öÊ¿‘óGÜ^¿}ßûpS ~?ÈÚ~ïò ˆ?Ñ[Ýq7$î½{E®°˜‰¿"liOG¿¿8+N´õ6?ïC‡{|c?êˆxLhÒ½DTí‘ÌU¿,tÛ »Ò¾0?‰JkT?’¦ýî˜"?Ì5iâ„4ž=¾ìh¡oá,?0âë¤Z >·ß>Ó¾é'Ð?†û½#j=œ’ÊÄLÂ>"/ËZ/>¾–E)§Å²>åÍ"´Ò>xÿã£c“&=ˆðíW±>O„úh¼>gío•ÊB㾉 `䇸̾A¿…àpP%=ÅQ”·Œå>•_²óêã¾Cîk¨óêã¾uïrB+ºé¾ˆZA+ºé¾þi„kþï?þ%Ý¢ÒŒÄ>Œ„EáÔŒÄ>g»þÖÿC¿»œü 3Ú?té¨4Ú?ÛtŸGáb\?³“/­Œ{*¿9ea!‹{*¿^Ý3ÇKU±¿>I!.n³¿‘¥.n³¿ªõ@™¸¿äéAM¿¥—ý¿"ß­ê‹v¿åß“¹ƒ7?éï82¸ƒ7?>©ëu÷?í2x¦0™ù¾žß2™ù¾‚0Ô†Ž÷¾1Ø x¾µÍ>kGO¿µÍ>¡–ß·]Ð>±Ü6=œÜ®¾§Oꟛܮ¾ÜtÂ%êÜ>‡Yq”c¿>ßEÁ_~ྠöVÎûÑ>>ƒg0Ô<ƒ¼—d{õ¾ ä{,?ľ‡åsAyß>²iDðsð¾/„,'äÍ.½Ìîψ¾õ>ªe÷Ý“Fí¾¶ÏÖŸ ?'¦Z¢ÿ¿£&³ÙS=â¶S ?¥v‚‘•ù>;ѨÂu³¿Bð’¦w?2kû¸á½ßQöªST!¿ƒTÖŽ ò?@fèåˆ-¿Ä¼;”Ñ?¾ãfßœ=8/ ¡XC¿SÀàîæW•ÿ¬¿;ùšíO „¿éd.ùˆ¶§?ÔÆ8W¨á?úÐΑõ,¾‘*:Ž0Š?¥À€Q䈿áÊaÑ8¤?‰Î_ > ?àÙq…D¾ùÎØÉ°¿‹ ]¬ìø‹?;^7"f|«¿]h’×+­¿Ã@v÷=††„ì‚”š?0Mj,cµd?ç^÷`…¿ÅÐÃaÇ©Ž¿~¡«0⽑ͷÕx|?Ї:×T¿Çê*ºM»v?¾ýñá²ï@¿}¯¾{¨•¤½¶(){êu¿ö9uËT5¿f£Ro’ÚV?› ‰P?= ŒN˜½ïÒc¡nJc¿1–z˜¼#?¥6Ǻ§E¿˜sÖ¬;E¿d2Ýt½¢#V¡Ÿþ?îl<‘(b?óŽ4"-†*¿°‹\ &ö3¿£J®"{‚=žéà?ð?'„öçö¾MQÏ\ɹ?§¿·êÊ󾂋€&ˆJ=I¾¦T¿¤%¨÷üúݾ)îþ-”?gà¸VÅ—À¾p¸µ¨hØ8={&¬üÿï¿Àd’Rî/Î>"ɂ۩ï¾ñ1)êdÕí¾ç%2®;'=4—`FŒ¾G<™ŠÅ’É>ò;d9PÅï¾K"¶ß²Û¾J”&㤃Ç<ÇZ½Ä{?º?.aÉ>$?Áí^é¾ð1Rëhì>“Âå6àH=JÈ*Ѓý¿!ŒEƒROü¾;‘ ?Ú;l@÷}&¿Qvkõ*½^QjÞº…(?*ÒQ%kàë¾Ëx´=¾‡sÀfTD¿«š85} ¿hž$¿µe½®‹ù ºe?ÒÕõØ–¾¤e\‰"0º>Á)¥É%[Á>€ø#O?A½*Ë9‰Ujì¾f˜A(ÙÂ>»'ÜÐã¾cãÄ:@¿KùÿÜÃ~=aJŠ¡?òíóÛm÷¾)ý»*¬?f%TÒ¿®›Ùûë¥= V’ЈŸ¿‘·» ¿—‹Uâ[=?—«©1+y¿SÏdF~Êá=®|4.HFo?bÃJMP ¿ç¥Q¤Y¯¿ª b›¹Ö¿EÐyøã4>±>ý–·ûÚ¿A®ßÜ\?F|±y¬}¿˜‰=~à~|¿H;ŠÑlì= ¨èŽ2'j?ÏFØ?ϾdO×Ï.¿‰§k¢b¿Y5D7€qÒ=+Ȳ߅¦J?k#V MÕ>kÑA´­î¿žê^võH#¿=Ì8J ½¢cTOKþ-¿—aîµ¥¾Z»Š÷‰×>o¥bs‡¿ÿH[Dk½Úié̓Ѿ(üu{.[ƒ>A|û`€Æ´¾ß*é¦ÃôÓ¾Z¬‡ÀŸ`'½3ÎÀ°G0±¾š3äxƽ¾é\¡~ä>-ÀƒÑpSÍ>ýQ×föü%½¥e‡æ¸æ¾¬1%aòÒ>X! aòÒ> p©}TÓ>¶z}TÓ>­ã{=W@ò¾;ÄSΠbà¾~Îë bà¾á1[|¦)?¹eVÓr?›O_ÕÒr?dO4l D¿—5/l°4U¿auG•°4U¿S¬5\}0€¿wªØ¿"•?Cò±­"•?ï¿BdåL¾?_ÍÀ… l‰?„o€' l‰?tctRÓw?ý1Ð4µ =¿Ž*ßâ³ =¿ÇÀ­0§%¿øq=‘°å?ÿ—ó:±å?7tŸV](ú>ñêCŸ?Ô¾yê´Ÿ?Ô¾-uT¦dѾ.+ÀKY²>Î’³ùX²>„“x£}Þ¾9cbÎ<=ˆP5ê_½Ä-ré¬ÚD==6ú 4€¾¾D`O1Hq½é¾ÕšæE½Ïxç×e=reÕ~†(p½u̱P䙾[Ë„¼J“n=àûAÎæ!m½-æùx=Ó¸ˆc˜½Lóßzy¤¾ÑN_G»™=¬v¸_K9y=µ‚5¿×™½ û©Ã]u=¡hp£iû¾‰¤c"í퟽œ^Ä‘™=¼¢‚jº½s‘ú,yd=D‚&bÇ?£Ü*ÃKÏý~ª™jÝh¨½aÆôŠîÈ=ä]ûÙ*‘ʽ*#µ¡ÃJ¿É Ð!4À=‘9èÓɽ¥ïÙ´zÆê=éØ/±îhñ½NLuH m?¢lŒ'ð_×="·c¸iÉ=a¢°ß½ç½{•¤UZ_Í=@á 2eŠ¿b¿‘·Þð½5Æ\o¢ö=æAi“ú—¾ B›¿´÷=ßm©¢_/¦?pHhÏZè ¾´ÎçÐÀ—¾ns5V2 *>úÐΑõ,¾HKÝŸ÷nê?²Ò >Æô®û¾’cK6<$>ËûëÇ9>ú½ÛAbCÁ³¿ |-ª0¾ɰ‘&Í=òûžSى뽘´6làWö½ÌÇ´UdŠ¿’z¯}…%ú= ŠÐÀ=`"ޱ£iä½ 9Î%ܽ5—O 4¿dVu-ß=¼Z3 lá·½ kœ¾)Û=ü½qF½"p78$J¿ôݨÙ½m=Ûg‘½Ô:þÌùŒ²=ÉFÎE@˜„=HýФ‡P ?µcšÐ0îĽLU±æ°N~=Ujـ㘛½"â"î’< ½ó6Ùÿ¥ ü¾ä]þçò”ƒ=>;IñÜd=3Áñ>>†½¸^XØÉ½SZ¯CKÌ>CöMÖ^=×­)ŒpU½œõÑ-z?w=ý Å@"4½ºL€bŸ¾É÷Ñw½lŽðG0U8½ÄÄ +èY=‘…ox* =õ̹,†ü>ŠR0“e½Î²ÖßnG)=™|ÑûH½§ŽÅž¬°I½'ƒø Ù8>¤™†[=o|xçA={óæ}f½XѶ!'W½ŸÖhéNVq>‡ƒìº-z=Ñ ÜÿVïO=pÅY¾·s½’_pŠ`=xf4ʺ>væg-[%‚½Þª*AÛ›€½§qÖ7‚¤=§Ñ];«½fDˆz³<ó>§]€9+|œ=61ô»é³=÷ت"yØØ½*@ÝÐLÁ=Я,q%7¿Çú:=_ؽ³¼Ä×2ý[¥iIØ=¶ùe´Y ¾`˜U½Q£¿2/‘kNß=\NZwÃü ¾†¿Ž‰"¾O.Ô×n >(¢ï½@×?ˆ†Ðâ7Êø½Þ NBª#²½ˆ±,Ç·>¶½ÕwëK@4è=(Œ7”u—?…z¼½o¨…2®ª="¨÷|ßÔн«'i­[Sǽgõ $&%I?ƒ;©„/‡Ä='XƒÕCÖv½ÏÙ뙓›=WE~ËÕŠ= ¡›pÐð>‘ý³ Õ—½‡Ž8\uK=z®–«Ðp½›²|g½ÚÝMX’H¾ò|¿ne=ò {òJ÷½«fµ×GÑ==‹È ªæÖ"=U¥AÙ ¨¾Œ¦ÂÉme½¶PëqøF=é¨÷ˆo½ø<%0±Íнß<¾BãØÆ¾7¤Z§ÉŽh=‘gò53r½²(pûÕe—=I©íŠ-½\%­ÔU1?W|Ys[²½©à]OwÔ¤=Í#1y\ν 1j¨„ݽÚãw°º–†?æÍ’.8{æ½p•±™×Å=^N…6HÖÞ½äÁ˜ú°d)>7³Pþå?é=,¶¼,¾&­1sÇ=c5²Ó·é½¶I%J7侪:;_‚?Žm^òž®>Í^§£‡•=á ùLÝý¹½ÏÿŽAL,н«;ƒpN÷$?¥€ñ€à=ÿ¶LðpžH=®Æ´&´8r½F9Ó =‚’½¼jwXܾµ ½wÊFm–gN=ö²þ9ä½sìÈ%û>d½TЙ—=¾¤šg;fJ=¬jÑ‘C”Ó< 6L̑ٽàZot.½>²+~f Z¾É)»ÊüÓ½³É —¬½uжÊ>=ïèQÇ|³/=°ý@cY¾t®œ3E©B½2¨žÄu>–‘yu¾Ùùž2,»'>EóGµBº'¾`A®â¨m½@ÑŠÙê7Ô>'D2ëê7Ô¾UNÃÞ–˜=D†»tçx!?…,itçx!¿ÑsˆWhX²½hëÔ¶W:a?"Ó»W:a¿'âè6»>åA<6/K¦¿œG6/K¦?ýºA9âö)>‚ÐXB‘°¿ÇhUB‘°? ƒ… Ó¹ê=Í:Q¶à\p¿"%8¹à\p?B¤hÕµ”=ë]9b$¿Æð¯[9b$?£uö59P=î®@oÚоlúPoÚÐ>àÍ ÏHS+½)w÷Êc}W¾‚êù$d}W>þh¾’Ð8½fâyuã>Gû¹÷X¿›q0R¤Ü> Uy÷ú›½ñôóP8¿¢ƒnš÷ñ¾ùްF±V?ëF zPò¿;%h¾Xž ½žqöN?¡Ï(ÚÔ¿ÅîkÍ™e5?ß÷½!X›?¿á*jiùi='Šñ!$?½PËnˆì"?-ÏaŒÃÕC¿{éx‹?îöûQÚ(¢½Ts]²NG¿[”<:Ì×B?-olòF+d¿WТ|¿k´…2Ÿ¿=lÏH)bÀm¿ÅV–0ˆT¿Ñi_+Cu?<Þª ãu¿GÐöa¨=Öß2•Xf?(+m˜Ã±m¿oÓp@·»Œ?w ÜLÖ•¿pówkÍÉâ½ë ÐlÐ|?CLwL_?F¥˜p”„¯¿Üî‰(”?2Î;Ð=^©õ’¬²¿ÒM¬±µ?çIc…mæÆ¿¬Ký¼„2•¿~-lÌø½êè£úۿДiL?ó8¢]ªä°¿‘*:Ž0Š?²Ò >ø¸¦³°ä?—Uš!–?PX"±/·¿±6FSÙ’¿SÏ¥tMü>˼t,ú0²?B8El¢ƒ¿4kþ‰†Þ¤?‹i®ÎÔM¥?ñ2 ò–ǽm=Þ€Gy†¿‚•ì|ª[¿{ ½Ž7£~?6< nKâ? _0[…X²=èÂðÙx–k¿Xlb|¹ÖE?݉¦j¿Ãõ²ûLK?TläÕ›´=ª£lú6f?‚˜ÀT'?k?Ïļ^J¿Œ¥þŒø ?nÔì‚r=‘ürÏ,T? J¢zìY¿Ç–ó£U5?b}s 4?^ø¦·´a½üë13>Uᾨ‘rº"uù¾·UŽ®j§?S´Û§#?oFC‰¹p½±ß"sB¿ OåW·Èå>즄®® ¿3¿Ÿ¾7ì>»eG/ØL½Ìy–sùø?bP•3è Î>V$Lc` ñ¾[ŸéðÖeÀ>€`  í½¯w„ª§ø>¯ ÈÞ™½¾Ý)5ç´ß>¼7oþ¢eÜ>°Joÿ½ÍÑxTNq¬>_ººBÕ>< ­,C×ú¾LœéƇRû¾ùkt§ôW=ÂÙ_ý•#?‹áÙP—û>gÓ=q ¤!¿Û(ü½àº?6Puq5‰b=,8£Pv»A?=ð/A~a?7³à|ꆿùí¡#i?5`ä‰|ɽÖèr¡á®„¿Ù‘¯M¶à”¿H¯–®–¸?³R˜œ9Æš¿èçGò‘äÈ=4¹¹0°¬³??Ù€C÷¤¿†ážPµ? W·X†MÆ?2…¡¯Ý6>/ÏyU°¿Q Gýc?V«9$¼ˆ¿­¶Ccd `¿kx˜ Ikð=,6‡”Ìà?Q‹cŒŸð;¿'lyC3áb?»A“knV?.â¿gõ·½ám’+…M¿cóÀ6¸ ?6Z¼r1¿þ!’¸ M ¿g‘Hã…=¬ˆ¿·ç¥'?EVŽâZéݾ9ÓIm9?nŒãŠ4z÷>7Öl…ßU=“0Hí¾#,ŒWÁ¾*ŒúÌç>é)ؾú½„®/`½É†pâš¿íY5ò>ó'ÁYO¿yRâÌ(+¿&dÌJ¡=—kËÍõ࿉©Ÿsy¿©îJý5>?ø:B|!á¾üebÆN®’=ùC]B[¿©¦y¼;d?)9†°óÿ„¿ŒÂXZ>†?Þ¡_B”ν>Ý‹®‡¿ˆéŸ!{©–¿?ñ«oý’¿ß€ÓÍdÛ¿¯l³Ò!¾dŠ´”™½?°ž?&ÉU¿òܹð’­w?0ÞÁ‹iˆ?ø*÷­ìúÕ½E^Ÿñ”Š¿Ä„O÷úô¾"ô•(â>¡ÅßR…^V?丨½)À½†êŽXmG¿ŒÆ€4‰ß¾˜¹Jç’ ?[4á*­¯!?7ÕÉné=rÂb ²r? €¼ÉL¤>¥aéÖÒ¾h¦üFñ>e¿ÚÖÌ´Z=ág£±R¸Û> _ufEx¾kR]‡D ©>‰]ÐmçzÄ>¦m¶ÑX=jÐõüœ>ø€¨@Ú®> VÛ¿Õ¾„€Þ¥5·¾ô¡6Öª½=½ëxj7Ö>¢T»^Kà>{KƱ^Kà>š è)dæ>Ð kç)dæ>ƒ¸åx7®¿T¼iÅ>ÅwÞŠ¯Å>ñØv=•B?Â4o¶_¿pdo·_¿¸^ƒóc d¿zøá ±T?Ç À% ±T?f-îç¡?æòO§4Ÿ´?È@v©4Ÿ´?ú’–m#ˆ?b˜ý F€•¿kÐëE€•¿¾µ~hÜ s¿¼ÃÈ®ND?ò®{‰®ND?Î[컚5?G¶ØE¿A±1 E¿bJpÒŒôð¾¯ßâœnÒ>W1^ËnÒ>O®¥n Å>¹}„þx¬¾˜ýUÌýx¬¾Pð¸B¸Í>EXÜ콦>Œ%Âù ìȾ¦§^´U§>BQÆÙ¼µ°u®=?ؾáH‰QX³¾ Ðm2Ó>d øSˆÚ¾R »²æ±Ñ<¼ð€{óéÔ>”ÖyЇ־ßòU(ªù÷>B~²^ŠC¿šçfa’*=(qø™Nÿè>Ýý ¿‡å>0z¨'>¿G¤µ“Fá>ÊDšUÅå_½ãùd†á ¿ ßf×óL?éþRSSt%¿":’£Õ¾ë™¯y=W‡"¸¾0¿ÜŠˆe´~¿W h˜Ë3?•‡æ<5¿ò‘ñ`¸Ì½">(!2q'?dì0Dš3¿¢ÞŽrT?¼ß¼/ “\¿àÍúNKʃ=ís[sÁE?¾/ù™Ë‚D?…sÂöd¿É¶­‰EH? r̉Š[ƽjÊ¢B h¿S€¾‘f#i? 'ö×Ég…¿Åϰ¡NQb?šú¶7yà=…Ö§~Ö›Ž¿™Qå\Ts¿ä ¼&®¡?¥À€Q䈿Æô®û¾—Uš!–?OV=1Óv@“HŒpÈ¿xë–d`¿GÆÍÒå>ž›ˆÉRÝ™¿„ ø'¿•?M(·Š#2­¿Ôº>dÒö´¿9_/·)Øô="gÞ+ø!—?kíŽÆá%i?¨7>çÖ‡¿}’mkò“¿¾éàf}ß½Fãý \ƒ? çûí/M¿LN¨±Êl?,Ò×þ{@¿NÏ«+h¡½í7©¶m¿®v( ª3¿ Ð+ÿBÍT?]Ñ8mÜÇ?»âƒÒ]2•½ì•ª½p`¿$WæTc!?Á"½qè6C¿ô¾ð½ª¡B¿~>xÅ\x½Öß¶ò®ì?ž\­ó‹œ?–wŒWjZ&¿X™÷¿¦0¿LKh ~=س,F?:(ÉÕmó¾ëöM€Ûx?ÂZòNw©ð¾îî³ï­F=ÿ_ÝKT4¿¦kuƒÉؾÎoqÒZmû>éOÃßÛo¼¾GûG»èv3=Kè“NSŠ¿™"éB´¼È>7ýÎêûé¾8ôj÷lè¾ÅáDÙÞ»#=:û Ž‘¾íš'i§ô¡>jÉ.$°ƒÆ¾4Ž×X%ÑÀ¾zà 5ÍX½<.몗Þ>M`uàÒF½>I:bÕŠ_â¾;é6™ƒÇ>SþÑçžÀ(=X9ð­r÷ë¾[eôZí¾ l¾GQG?U¤’6­¿ê—=Ðd½Þ¿%’$?#ö$02å?¬_9Kt@¿»z;¯V?°iDÅÕ*q½±ÂÃ37F¿‰®IÍQ¿ #.órƒu?ÜÔ[óf"s¿¡ÝºÑ†>¸½ƒäu_š‚m?ÞCÙ‚d‘?Æ—U!ÂY©¿Øô¦àyÒj?"€M"|%#¾5Z¹¿ÑiÖt·¿YG f•£¡?·‘£ë8—?¸-¯AÓ¿NÁkðBû¿ÀÑ}Ö®a½Ü¢Õi×ÿ>+[Qf ƒ¾Ì­1ðR©>£ÑÇ)´†¾ÊH¨ &½ P@êoŽÉ¾«j‘³>ºŠ¢¯ÕپٴJ¹ð¾ñL~[yû^=7ˆ?Àº±>íE“á¾ÇXD}Ê ?D0Ö6C¿Êêl×Ïd=CbÈ[8'¿/üm~s4?(Î/HxÎ)¿Þ4î‰^J¿3VÍJ¤½=)Ù9æÆ?eÀïµ1V¿:ð=uë»q?×™ÀMÕ‰¿4*+c>YGUÑÐ.¿³’4p’ö^¿^!ªä>fq?s5FnÕ?¨?r¸ø×_ ã½}Ž¿Ì·›¿ÄÇÄÑNʾ…„×Úgý?üçKø`¿õµ;̧Ð= 6™L¿I ~y4Ñ>aEÊP†ÿ¾$¡±Se-!¿£zAVß§›½£0x²-%¿Ï©œS œ¾“”Ñ{<Ñ>â^U¾&¿Ó¸œ…áe½DÇ:Õ=˾PK¼F>‚w››*”±¾á®V_£Ð¾aV¶#ù"½ƒ®å#«¾IŒÕs¾w¸¾Ò†s‡ïÚà>ÑX™¿p¿Ç>7¶¦!½YïÙ¥t›â¾D‚‡®ª>;3í|®ª>·i‹uˆ°>(Ίuˆ°>gÛžæôÔ¾^)Sþ2E¾— ~ò4E¾ÿºcûp§?FÞª¬±°>ç ‰ª©±°>‰°;Nï0¿¡öø5„ϾzØ6EA„Ͼ—“1,›ÉB?1 ïu!Aþ>sÙÕAþ>Ø9åâ÷qš?èU#ü+[»¿4Û7ë+[»¿`ðH-~u?…×6›6?É C{7›6?_žÑÄfC ¿ÿyX3Pé¾Ä£I%Né¾I{+Ÿ¯L?ÎzZoÝÒ¾ývY¼oÝÒ¾‚éܦýS̾bQºç}®>‰5 d}®>qñûŽôؾÍï×µýȾÔF;gTë>ÄZ;‰À˾7Á§@¾ø<,¾|‰!û>”H†ªìÔ>´›ÞDŽô¾ÄPðÝŒrü>[Sß*æë<ÚçÊþ‡³÷¾¨0ŽÓ®ø>Œ[Ÿ ¿‡!ˆ$$?ÝÛ3Ôf>P½R|ÆÉQ= ¿y“Äd¿ð8Æô'?­ˆWüš¿IÉúpÞ=˜BwiY-?7X04ø%¿¹ eYG?ÿ½ªé>V KT|½ŒâÀPR?AüÑœò4?‰3ve”øT¿ê/ã~ƒ¿V?h—žH—¡=^húJ|J¿ó° ±¦¹T?žºwÈ“Ðt¿vT!»~?dEdÅË2ª½äŒÏhh¿aÏPe¿Z·í¶ñ0„?Ž«÷êFm¿­Ò±Yþðæ=–ÙîÞ?‰?½¢TâÓ‡¿Ð0ÞF£?@„Y?…¿•;ð’7¾4”ª£Í®?Bš&RÊ£?2þu7¦¿áÊaÑ8¤?’cK6<$>PX"±/·¿“HŒpÈ¿¸ÓQTMaë? l%'>‰¿½[ü_î>Etùê”ìµ?Gâ;º‚­¿ÍÆN‘´?æ7AåXÒÆ?Ñ ‘¾gL†•Ÿ ¿º§«²+j…¿`Å´ù£?*)L:ÆŽ³?ÄÀMw•>‚ª#ËG䢿‘Ë&ÎPl?Íz”lyŠ¿Þ|²Ñ_¡Q?ÖFöZe©=ûˆú]£ÁŒ?ru"q~T?N5¿~åt¿z':ÿì±>¿Ä6¾MÈZ»=—žï¥Ø=?fÀA/½ŒB¿Jê¨@Ú$d?üÆú#ý¹c?cíA\£="&ªr;³C¿§ È|Í%¿¤×ÔFdqG?e:<¥»Q?XÛÞo„ ½Áv S ´;¿]ŸJ¥ª?m§y®Ì 7¿.ÝÆkç9?‰CG1eb½aÑ¿*Aå5?•Ãañ‚ú>gÏKV1¿Õ|ºg§YÙ>a+}>W½ÍØé%{)&?÷h`c–«ê¾‹•Ì]dÑ ?c*˜K` ?8š—Kš{D½¯®¡.]‘>¥RWI@žl+¥Ašê>v•(š½â>†¹clß_ܼÆÅUA¿Ë˾^mß¾EêÁò—? ~¸´ê¾7–rdÏcK½ ÒBJá?Ñ–¢áÐý?ž2/­¾_3¿wn90_‚6?ÏóáÀÈo‰=Eõ hî)¿"gÅþë<¿+¶êæ`?#¾¬\»¼@¿ò`Õ —=ë~<ôÛg?D¿·Ž-q?ÄHxÌ”¿s¾Gù‡“?·©[=B5Þ=A#0:‘ ¿;È´ýø£¿¼l‚AF«?½zÞŒþŠ¿Xm‰QG>/€Ä,ýUÏ?:M—~Üœ?r¬†Õr¿¿óBâ Pú¶¿´62\üµî½ÆªÓ˜Oé·?îºRñ@h¿¥½?ÝIÄ?ÁT”U½x‚?æÍï½AšD„¿k&þ%7?n9Ͷw]¿r<ÁÎØC¿!ô˜õW¯=—5ȪߦW?ëì˜p´Î ¿sEö2?_ô4°’Â&?­DN®¨‚=ú¡ìÄ!¿Ø!?®¤>DGäTÊ·õ9H=>-°ÙSí>êÛ0ã­ÃÔ¾¨SCáû>êG0²SÊ?‡ÕÔQú½º°vgp޾؟HõG?þ PÝI(¿ÿêÀ(?3ÃmÞŠ½)ÿ‰xC¶?&*ÖÝO˜ƒ?Æo§–!ó½¬0¿RÙpe?µ°‡'Ñ¥í¾Ÿ½$/j?*ÀÃÝ-ÒA? ¡òóM½=äz@w“F?©ÁçéA´>¬ÀHÇWí¾ÛÕ n:²"?¸ÙdѨ‡=ó¹xæw¥Ö>´¿Á¡¾ï3²õ8Ò> Ä®XlÈñ>Ml÷[E=^ØÓž(MÎ>¼pR;Ú>»%¿.OÜì1`ê¾[§¦zC=«Úb:i?³czézϾ‰‚ånézϾUÂ¨Š´Ó¾›ëŠ´Ó¾{ú&wU÷>v[Üʽ>;YÅòʽ>nÎW§L#¿¬¶¯hdç¾ç˜Éfdç¾4ÅsR?ÊBµRÊÉ?³ùøÄËÉ?l›ˆQâi¿w"ÖPšL®^ùöF?½ÃµšõF?2ö´a"‡!¿k&4o:Õð>[RÓ:Õð>E^…aí>ž‘°ä;¡_°ä;à#þsëú>bßCA]øt¾7-êB>¤œ>:lB;Šx¥>À‰ {ðIæ<œ`מt±£¾•ÅÏÝ_–>RÜÓ­l’¿¾§ú CÒž°>ø’žò%ö½ÎγÇ~M·>t—1ó¡K¦>Ƀvë®ÿѾ.8$ÇXÀ>=Mþ±f,=¹Ö°ç˜ÖÉ>K¥×úáÁ¾ë¶oÓ¢ê>ùËÏâLäà>dÙø¶ ½÷ú¡Dv²Þ>„/ë„à¾tXi$W ?5£gZ¸Éþ>F艿Ô×_=M{|›`û> Ë®ô>*ÜÀ|¿ ,ŽzÔ†?ÄT6æ’€½œ"6§£ã ?¿•Ö?Œtó¸Õ?¿Ù~Ɔ'€0?—Óg±&‚•=\‹Wò«,?Ìåõ{:¿Þÿ— ØÂb?ë·©Œâ1?½°S»²½kMÝŠY?¸D©zb¿òµ,„ ƒ?J}Ie\n?Ûøöqx²=yÅ[œ/…?_BdÁ0x†? g¨F«¿‰Î_ > ?ËûëÇ9>ú½±6FSÙ’¿xë–d`¿ l%'>‰¿< 9Õ(ç?ei=G{ ¾Ë3˵·ê‚¿ÈíyLt½?-%.µr Õ¿·ïPÃD/Ú¿HV¦[¾ñ=^ôù°‹¹?Æ H‡]V‹?ß|4Ó¥@«¿+Vð£ˆò¸¿•ÈWnY¾x¾œt¼§?Ec£§õu¿<–í–?<-ÏxÖr¿sŽ –D×½Ñî?žtÕ•¿ÞlCdÒ¦\¿kÆjOÔ~?R>Ùæ¯É-?f²Ú?ø¸½x¾…öJ܈¿y¹…{nãI?H1ûø´l¿¾6ôël¿%µu1çš•½^|š VE?}%»<0?øÕZI‰”Q¿v®÷t„ËY¿S+m{@§§=ÁüY€äB?‡P1ÿ“å¿f±¸\‹÷@?¥8ý»ËA¿V5€D•÷v={G6wC•?¿£ÿ“'=¦¿;ÂÓpÜ%?øºÛ#ë¾ÁsÄá´³\=ÁŽ֪J0¿w¼²·žó>ÜX†‡2»¿«µ¥O¿ÅÌ­»ªP=ów<ÚŽî̾†FÀ©>Á=4™ÍÁ¾xÝRâ’öx¾àq5µ¸\μ>⺜^ôË>ÒÔLJ#g¥¾gŸ^b—XÐ>¡1@Zœº>Ýqî›6qÑ<=ñ€{•„£>¹á ƒ?ÝÔ>å0?s²N¿cü/²³ ì>ý,©d‰f½º‘ çûà>n:¬˜ ¿Ã¦ÏèxJ6?Yò…¶?Ú€xÝçc½r[¶Y&?GcùbòK?¢7±oæv¿|®vÍBì>?—¨p4Ÿ=؜긙5?Vô¹?¡1 ‹ÉO§¿G;ŒºÏ€ ?ðˆ4#…ê½KÛ?Ù_n¿ uëêϧž¿sdªdŽÂ?ÿŒÆ5r‘¾’Å,ZU­>"NzŸš#=ï#ãömPµ¾Ò® ›§àŒ¾¬ãB8*a¾>ÿkÉÑž¢€»$9H==¼²B#Û>VëS·s+Á>v©³ÎM(ó¾/ÈÙnk ?â½7xt=#å‹»÷¾jÇtñïÿ㾡gZ×#Ï?¨«û0º"¿*Bf®Š”="c‹^˜Â3?‰T˜¾q?ËO v“¿ôW…ú“?Ûï¸7_ù=S „UoY¿Æ‚³Y·4ˆ¿õòn+£¢?W¬”°ÑÓ?g²tò¬<ý=È󓛯¿*‘?¬¿à[AÙˆ"Q?ʾ—ù‚¿©‹Øº1¼õ= þe E?²1z?ɹ•¿E3¿bO‡Ð Q¿ÍRL'¨Æ½DF}¡áJ¿”2úÊȾŸxq 2Þü>yrñùŽŠ*¿f?SÕ‘½Ø·˜l›ò¾¦ë"—bw¦Ý¾øn/Eóú¾ÁlÂaD™M½üa' £èÔ¾*©çU±ã¾—‰$b÷= ?cW(=ò>òÃÑsòK½#FÂÝÕ ¿õñÖ¤>£ÍÖ¤>z(´ÏX >öü´ÏX >×,Mëm¾1@ž¸|%Á¾J ¸|%Á¾“e¢\]Å´¾~žz,yÉò>,~#yÉò>":ÚQ5Uþ>ï›ÁDõd(¿p‰/Sõd(¿Û)›„KY?£ØW?‚aW?>Ê:rY¹?RÛN_¼µÑ?4Ùg_¼µÑ?bòè垌“?©0ÓÊÝl¿†ÑÉÝl¿€_ã¼M“9?]E€6eùô>'¯kùô>i~FQÂ*?³=a<3¿ƒh3¿$ †ö¾\̺Õf¬Û>jhãif¬Û>y3²a’¿ÎÙmbï=/ÃÉ®==½…bÁóF:$=2‚G·ãÔ>vê#®ýN½; þë³ý%½µëÓŠ~D=RáE&Ö®N½UòO üç€>˜ê!>FM=ëG‘‰K½Dö¯ öml=Ô"]y¶v½^HÈ¡m‘¾MÚ5ÇÍb=||ˆ×,Z=*þ¹°?Ïy½µ€§Þ`=KÓ^¹ÄÌ>Aà–Ž-¸€½ù¢ P„Óx=™þ0^Åg™½4ÃI† W=xWo •输û/Τ½s…ãB{µ‰½©G—4Ä%©=eßiz®«½­ˆÃÑ4 ?B%Y6ü¢=Ç '¸¥ëª½ºti¹Ø^Ë=…üó¤„Ô½Úûª6t&5¿S„C›µÀ=„kµ ‘‰¶=€ñx}Ô½ž0€é„×À=Q¯w-4¿Gá2üºsÚ½"¢²„Õâß= Êi»îbÿ½N¡³S)å=1Ì÷Þl_¿V ‡wúK¾o)ÞG×Þë½qE. «Î >àÙq…D¾ÛAbCÁ³¿SÏ¥tMü>GÆÍÒå>½[ü_î>ei=G{ ¾Â÷QÎ8Äæ?¥­ÎÌ”¿!¾nE Á«Ãõ=„úø¥¾Áç;‡Õ¾fÀž£…0¦?ƒßž›w>³Q°%Ú=.ŠT&è½ûº.2¾Šñ¦¬l_¿á^q»îì=œðÊS±½ åÚ¥ Ï=;µ La­½¾}kÛzm?ÇÔ,ˆú̽æ³xoù€˜½Ç"å ‚¸=\í}Œµ§w=gbw5,5¿8}*“ÔĽE¨gT=€¾q·j±½ÇÇeÄUÛ­½|RâÊ%ñ?ëîh]dÜ„=Á©QЩòo=sðè‹@r‘½.ßä×=›½‹ ø‹fŸè¾¦’;Ç}„=iÖ•V½`½¼~¦xÇ‚=ÊÖSßÈ^½½¥žz•쥾{ËÞGÒʽ×Þfw«E½sêm¨ïãg=Z<Ðê+½; {|-‘¾flÙzr½¹´qgoä5=L‘ŽÅgøV½ç¬Ÿ¡I£U½B›ó‡R0€¾ÕBn{õ¼§GE5ÿÑ=~Ñ}elA½¥Û¤¥O 5½Î3j¡o!8¾œéBÂÄŒU=û÷ñ|0=ú#—\àIS½éð²V¯>B=\¬Ø›n¾õoÏùxga½- õTa½¿ŒTZð…=¨ë>dD‘‰½et”fº>N‹ØÊÖ€=¥eÀ¶³Ú=ážæ·ª~´½˜&y¼ŸŸ=¹@¡,¼?<ë­‰®º½pk'ɺ½ýÝnä´Ù= uQ’Æî½f78Ç Nq?£Ìù\5Þ=¸­tñ ¾¦¼ÆVGŒ ¾sºÔ Bç=·‚Ý0+­?Xó-Pp¾£Ío2t彪,ÒQC >*úù>¿ýç±§[µ¿Š˜æN¾w¿€L7™®=ß6'cÓ½ëBLƒÏ½«ñl>U¿äˆ)ƒ¡Í= >tqûႽ¡ñCR„¨=4‚\ >=¾ÈYï>÷­¯=¤½@Wöà°V=3öÞ-”}½[ÿ˜+‡êr½†UÐ7q¸Ä>„ÆY/l=þá†V÷õ¼éI²âÙ¢=s΂Yò<ËÔU;¡W¾’ö‘, ÌA½›GT™J&=ÊêÛÙÎL½wÿþÍuf½<Ø[”¼¾ª§‚±õ×C=K‰._U½vxgÄB{=t`e]ÑEu½#(Aþ—¿mH4#Ô½rl>ý yˆ=æÞµª™¿ª½P¼„wý=þÅûX¿¦A§ÆŒU©½d¯e”Söœ½‰Û}ƨÑ=Ð<¼·÷ó= ‚6ò\¶š¿4ö<¾èë¾qúЋÀ ½™÷áM»½‘°š Ó_>ÉãNÇW°¿xåÌ!@¾õMó&uy½¢ÇB £=Ññ*‡;̽Ú®²Q9¿ìíà*oνb½Eî§2½“:bÃI=Ó‹X€½MgS2÷>Ï¢ãÙÈ%½ Ö3H~s½óãòÀB=5Šì:ŒÅo½s÷Ú ½>Ô©|È]1=sÇäœí<¹lT#ð½S»ïö>½ˆ«{Žy>dÌeœ‰Ì½¹Æwb¦%½()çÊM=2y¶ød5= ø{ñ~>Çöû¤rP½ø&‚Â*GZ¾$¦0GZ>c€p«{‹>íÉLý‹¾ë|éJ½õà€Rûø£¾¼_T$ûø£>ã±µ€iÿu=º™h»x€à¾üÌ©Òx€à>üèöf„®¢½ªË¢!y÷?+„Ky÷¿%jeªÝ=ûÛ|¢ì‚?1}Ð|¢ì‚¿t»gƒèøÄŽÞ?”ÁÉŽÞ¿aÎUŒäÃ=rŠå­…?äcP å­…¿ÔEʤD ½²ŸQ¹Øæ0?$Ÿ·Øæ0¿ÂöÅ™|ð`=ºI`%œ>%ñ;9'œ¾Fh"Ì7½EvÛf¯—¾jÜŽg¯—>{iù·‹'F½åß24oÔ>_J¼½õŒö¾”OÎE~Ò>Ü›ò:y# ½þh¦¥žt¿Ðñ»‡…á¾vyµ€¯?EÉ¥šÆl¿æ½Åû’=ÈwFÀô?”)¹U³,¿ÔÈ‚¸%?R•T•™Y0¿`I>‰šT=š9‘Ù»<?D”&Ûç?0hg@ŸÏ3¿FLÍäÞ?¼YC|½, OçÉy7¿ìFè•´1?Z\@,EïR¿Ü)j6…#¿€š€ ž¤=¦ ï·]°\¿uxpí©A¿Y#¯¹kb?++AHêAc¿o[Œ‡½°½cV%ž‡“¿Ã'ý’\ù•? WŽe–µ¿Çt¬ W‚?¼ôþjŸ >ÚÍËThð½¿%¢›6ç„•¿¸ËÄ3Íé±?ùÎØÉ°¿ |-ª0¾Ë¼t,ú0²?ž›ˆÉRÝ™¿Etùê”ìµ?Ë3˵·ê‚¿¥­ÎÌ”¿!¾øFXHá?³°|"ÔÝ¡¿­š«EG·?­ sºÁ?ß±b]ú=]†yÏ˺J¿ð¦y˜‘}¿©§Ë!ẞ?¾ݦ(ì¦?k€ Õ½õ¸;— .¿ƒéìD§[?ÑJ ~¿åŽ^ï<©i?ȇÛà—±Ù=e¼ _µ|?>“†€¿E?d:uÏ7jh¿«¹Ìx-?Ì9M¢™ n½2 dE p?ÉŠÏï0¿hë% >T?Û„ù]ãR?®O.Ïcнåi®¿¿¿é+}w*±7?>´UÎR@?)&0ÀŽŠ½·ÍNS ’#¿óòL“}…?g‰-ÿBÇ$¿¶^¡–N”?BJ©¼Ìh½õD=2"O"?/žò€œ=è>ÈÄ™ˆ–™ ¿ÖŠéçZÜ>úM%+1½~ZL`þJ?3 Ï #×¾:5á‘ØRù>¤úSŠŽö>mÁ §y6½:=ËsÙÊ>^~põÝ8Î>´ŽÌäîò¾-Ò¨*îí¾ÃG}´ë<@¹iÊAZ ?ù3Ôú/“ê>rL§¹l࿯:ox†ò>døƒqSU=i •¼°Ç¿´nümÛ¿YWW³t@?7 ÞÙÑB¿˜0"I½J\3 ^'3?72Š ŠI?ft+ÊOp¿)7ÁÄpM?é‘cÄTK¥½«¼3Þr¿ÏZ[G’u¿\Ý|½¿é™?Á`Gh¡¿Àб€ÙYé½åD– ?‡Œ¶?Ü$–Rп’+µ¾`+?‡E–LP¾¨`³"ü࿯qŠš?¤p'ŽÎ–¾¿^a_š•¡¿ |Ú«~¡="Æò¦DE²?_â©d-©W¿9ªVÅ?ãßcOq?*å1‹Ùѽ C£ì rj¿­ãc9Q¯$?'è=|¿¤K¿å*t.æj"¿DCøe™Ñ¤=e¢c¢˜B?¾íÁx eø¾tï•÷{ ?xIðÒØç?Çi_°~r=E±æ,Xó¿'Å.\±¾$zï˜r×>4™Žéô ¾¾½UhlëTT½†¶ÀYeö¾lÝP/á>Û;~¿¿ÌãàZ¿`™»<òl‹=—:ܬÄ>Ìf¹ ¿,A^Ãú$3?¡Qa„'ÿ,¿«ü7÷è =K4²­F¿Vn˜–@?eÕ2 ŸZe¿?«3}òÃr¿®ìßmcë=MCÉÙ^þi¿ãüJÿë}[?€™fÔù€¿¨–P¢"¤¿Æv{Rx<>ø£­}E‚·¿Š»v2®ƒ¿Û¡ùÖ¦?kÒ¨®[z¼¿)7vÚó= ‚ª›¹?.Ÿä«8¿A?¬Ã­\×e¿7íßK²i?iêÉœÔ ×½¬"^ís?À ßäõ¾èÃÖ¦\Š ?üŒ ^Íf:?ŒÞë„36®=õ§KáÑ"?ÉÓö¿¾>!a±çgí¾pö^ë ?‹²ë~,»t=3›oÆwô>ƒw¯š®•¾+ÚkÅ>õ¯Úê( á>øF2.=i®¾ã ³>·'é"ÅÈ>±$´&æð¾®|r5sâѾ§=KaKÀ,=>^éܰñ>ЧÎ##1Ö>ýò#1Ö>NG†‚}ŠÜ>-\`}ŠÜ>Ë\Ú¦¿rÒÁDH t>= õO+ t>x¿m÷Ï0?AßëÊCí¾žNwÍCí¾=nñqÎV¿{fÛ±·î>—b, ·î>Û¼ï€"‹?ªÌþóŽæb?@»#8Žæb?wÎÛá¼?¸ÉÞ"ˆÅ?ЄˆÅ?ÖŒÝÞa¿(N²õO?ûá¼°õO?˜ÿ Y¬+?ñŽŽÕŒ¿¬êæCÖŒ¿0]‡šŸ¿úpúÀ•ó>¸Òð®À•ó>›|{ PÞ>¡& 0ÿªÇ¾™FôþªÇ¾lxH¦ç>‰€¦ÙWQ•¾?ƒ.§*’·>ÉA«³è¼‘¾JbNÌ<Õâ§jÆ>Õ-¼·}|¢>°i£Í¾™‘$ |È>ÇÄLjҙ޼&_þ"¾VCÕÂêîÄ>¯ Ìðkæ¾Í©\m;Õð>ºb©þ*D½ô@HdLÕ¾(eBà #Ô¾—V~ ÛMõ>003£ Ⱦ›…Ð@GK=;¸†Séø>$hÑ=Ôò¾T ì*b?›ŸÊ^…ŸÙ>-ÁH7Of½µ^³Ç?DÎÑ Ñº?äÉa¿J›"¿ª$pì¨#? …e(*H=Dß{Ýr¿{VwçV!?öRZ¯nB¿áKa6¤ÒI? uÜþ|C½}£c òë0¿¡b³–3¿–¬„ •E­®G´W½w¤¿Tx#?`„fÑEfç>Φeê›° ¿o2ïûÂ>˜› UP B½GóŸˆ ? °è¶;K×¾‚ví™.\ø>¯Kð÷>“Þ½-Ñ4½_QE~¨œ¾˜½Q8¾ìÑ#!W²>Æxü9Ñ®>¡4rí¿£¼æjIŒ²<ʾ²ß7|ªl¬¾©»å¿&Ò>{·œ…ƒ²¾m€r¿“½„\U™ÂÅÙ>=~^¼žÛ>¿4w•pÉ¿b.”ªÐ?Ô¦u9ŒS==/g½¶ó¾³Ò/ü^¿PÀˆŒ.?ñ3yvù¾)Ш |U=Mé¿üˆG4?yPtwÎv@?QïÓB¡÷d¿J„¥^?I)<)L(€½0-ptëX¿/ÂÖ¥â/q¿TŽ6N÷’?Ú&ÔÌOt†¿äè—å¡Ì=#n½È™a’?dícÝd—?^:1}î°¿7çXEòZ•¿¤•lÕáѽÔ#`J•#À?ˆM¦xö*Q¿ÚŠJ.2Ðr?¡Ž¢¥‘o?ɰµT€È½êrö$wn¿š%Ñ'?†¤^gM¿&¢¡O2¿éꮦ=„/6àùÑG?@pVhSø¾ûp€h?AÕ‡J¹?Sñ+¾Öq= cÜ¿M^L¦mr>¿h ’¥˜¾ž6޼Š8‚>‹èS´=ª:Òb?¶>s-Ç—Ç¢¾³Ša^ É>Ö˜v è‘Ý>”“&j)aM½ ׿x®ðn> ÈZlºÐ>Åý÷.m÷¾äÐÀîHiú>y;¥bI&=œPô6v?[`|ö›âô¾õéOak?€JÇÄ56?Mpò‹–³e½>ÉIvC"¿¸ô|‰<ÞD?ˆ`Ÿò`Cf¿Šé À)k?µòs½@Ƚòøc¦Tak¿‡ðžu ’ˆ?þÄÅXC{}¿¶yþ“¡}¾¿oq‡ÛÏÕÙ=ÏË$[ž´¹¿i™G´‰´C?i:9†Cd¿z¢Ã/ôÜQ¿†§]*ۃνs»"qo?ƒ!Üpî>Au×.gï ¿ú$‹1Le¿•½Ñ«ÅP­=%’{&C? îNQ¸>ï‰^Ï„æ¾.@Œ)2?‚Çx1ós=äîhÛéó>xÙÉ—‰¾‹ÆU2¼>D%…IÝ>.œ K3=ú1Îs‘º>ÜÖ¯Œ~NÆ>z7 tÛŒî¾`Z"âÁþÖ¾öÆø_/Ù1=Ù¸Añ>¿´’>•¾x¾y5•¾X¢öõaœ¾{æôõaœ¾©à öÐ Ã> d¶«.@w¾Có,@w¾’tæ˜ð¾ ,­ù¸°>GËhŠú¸°>JÚYR!?@:v‹eñ¾"c>eñ¾úÃgP"@@¿”ìj"?vh³‡"?Ê~Éc‘?‰s¥©›H“?ཤ›H“?¡è©±Vœ?D‘_sdêv?RÌ+Ydêv?çîR‚ˆÆV?4ÊSæ¿‹ø ¿ú+ü=C¿Kýœ¹‘Çâ>‰ A’Çâ>’QðaeÖÛ>…Ši“ µ¾èûä’ µ¾ÍPéØ Ùæ>b4)( ¸>2X:*„Ú¾_ñ[Ÿƒ¶>©l' Œé¼?l3ì^é¾!*1Ekľe¤~íä>ÍU§­~ë¾0¹©pVë<¯õSÊPå>Æ k&–Žç¾}ÁLÈàF ?„Îÿ2¿®\a4>=]eê4öø>ì¿oŽö>|{cÚ‘ ¿„Çñ€ï>M¢³Q°Wo½iž+Àt¿Ê¾É‰ž?tÚùAž6¿œñšÅJö¾MO–t§ëŠ=e¬dèvA¿8¼|v#¿ûcu-ìD?¬õƒ ŒE¿$ü¯pg½‡l€l5?^½2ñŒ"C¿—=’†&d?¹xUš”™l¿²€Z¤Šn=¿Þ¥~H4T?|rÍŽU?2¶u¿Hú(:¼R?¼ì%°Ç ¦½¬w½ÏÀy¿¹æ»ÜÅl?7—uŠ¿ ßç„J%¿üýž·¼Ç=*ØyÊCf—¿‚âfÁXŒ¿ ãYšÆŸ¨?;^7"f|«¿òûžSÙ‰ë½4kþ‰†Þ¤?M(·Š#2­¿ÍÆN‘´?-%.µr Õ¿„úø¥¾­š«EG·?&Ô•Ÿ LÈ¿j ±i ê?C¡ÐÕí§?Hæ›Sx>ÚõènÓÒ°¿ýQ~ðO¥?øQßÞ#;¦¿ 56]ü¸¨¿lí€5ÓHù½¬ÕZ]T¿²?Ñ‚ˆp*í‹¿©Èˆ ¡¨?ý ÉCËÔ€?&…Õá‚ÂØ½"ÝëhØ…¯¿›F\Î=(d¿›Ì¾rúB„?JTa‘_qb?ìºhÚ+ü©½mJÊÒ¿0ð,KT?k¾“áÿÆu¿!D,¼®”t¿ÆRõGùñ´½J¸Í{¸W?›¥El°4? ¸Í§HSU¿Ë5r¿Æ$a¿Æ§æ«}¯=á“׸#ÌK?]Ô¨ñäÎ"¿[%5L{dD?ëz(Í«¿<ì·¹Ðs=ahmF9D¿åÎéɾE¿ ïU’Ün*?˜Ò'.?ؾƭv¡$öe=24‘5×õ3¿{Âã‰{ø>籬ÛôV¿’eWžgN¿TJbtOxU=2¼ÛÐÒUÒ>i=»i³.²>Aö)ÂÇÖ¾&ˆ÷«Ñ¾| ËÔÂ<¥W%dcï>϶<ô#TÏ>ÓB™Ó_Ü󾥫m¡Ö>¦¶•ÞFA6=š‘çHý¾ƒÀpÇVþ¾Äka#?o^ÒæS%¿—†ü X‰x½1Íýeô?iÅq2(Õ)?»þÈ´O¿WSÐ!fo?N­šÙÙ{½µóJåV¿"ÖÝœLb¿bé`ð†? ÂÚÁÄ¿,Éäæ”Ì¥=ƒCh‡à¤~?ï¥ ?”˜—zÝ­¿Yòså, ¨?™˜Ï$ñ$ú½‚ßóþG²¿âPR[ç¿"PF üΞ?LkA™"¤?Õ‹9 xh>KÀ­_£ÓÒ¿Í€Rn?ûL¦«0¿Ï°”ü[ôŒ¿Ø¼‘è=§&ÞÒ>:?Ü»î ¨èG¿°×i•ïm?VÙ?&U?vLÑû¡¯Ç½«ÔÉ ÄHi¿«V«§œg?zÐ…_ñ:@¿èÝÔÕÍ4¿®Uz Î“½CV⟚•1?Ç­)ôä!”¾¿1×S3.»>ªÃ0ØÊÁœ¾7ü`'(í5½ñÙ>R«ƒÚ¾Ìo¾¼MÄ>MVËÓ5¿ë¾‚¹µ¿ç²µí_ªq=¥í)lÏ¥²>Ïíôiżò¾3C’6ó?}â8æ¿q?¡“·R½Q·=\*¿ºm2V,?B; Æñ ;¿®79·hÅY¿È›#†J=‰ÏŠnå0O?¿ÐeÏ\e¿j°0Š€]†?›=·b0¿°Ã8] ¬å=¥OI>Ç%”?+pE²²<¿Æ|  Ê¿<±Å¢Õ?þbté¸ñ=æ?" H.Ó?#ÍcâEÛ^¿skÞN ~?—=!¼©€? ûá#?ì=Ó—ÇO1¿T°cUX¿=€.h™6?BƒÏX:>?RKåÔF´Î½ÜÒÆ6|e¿G’>ðµÔ¾ÿxè?úlœÝ߬0¿KÜf|Ì•½”Uÿÿa·= š§>K_?X>ëÚ¾ .qYõ¸ý¾UögÈÒ=U½¢\ˆþáhݾi«aZ^,ç¾2¯› ¦“?Cb³˜ë4ù>ÔEK³W±S½të¦(п·U/2[´º>,z‡'[´º>våuì Á>å Fuì Á>qQ ÷Èå¾Õ89%}Rg¾äÙŒRg¾‰àX>i;?¾aT{G‘¾HÉ]>G‘¾ró èÅ D¿~ü[ëCÆ? ÃBCÆ?'½¾N\?éHXúâ+¿@ÓÖuã+¿ôcÏ$µU±¿ãŽ™m³¿¸÷¶™m³¿fQÈ —¸¿í?óšÞ†•¿ Š€Þ†•¿¡“”a’v¿ž €/³¶7?ýV\³¶7?°”ï 0æ?óJèOü¾9EÖ5éOü¾À‰Ú2áû¾¤´V<Ñ>¦wn<Ñ>§ªéÙòú¿ñöœV0·>÷ÀpÒ™Ù¾3»ˆÖ´>³W…j„ë¼ rZ}Kè¾=ð­'Þþ<É©Gä>Âv»A¹‹ê¾È›ÉF|–ù<Õ"/Ê?ä>Qð3ÿÁæ¾'C}—?b…„C0c¿‘ :Çÿ€:=vÇ6OŸÂ÷>X$®S×Àõ>~Ú7ö á¿ÚF­ÐæXì>hpV÷ n½ wýˆ¿\ÀuÖhD?úfÔ™Ñ5¿ûR¶h-ø¾3Î/]œˆ=ƒ`+°¦¬@¿d ƒMV #¿½{LëC?ÛôèXó+E¿+zÍP z½·-45¾¾4?,Ad_˜B¿˜re!±c?ŠR¦°=l¿ •0~o™…=@Jaî—ãR?Ë#,’èT?Ø)}mÊŽt¿ \V±”N?b”â²ÿëµ½rg@¦x¿¹m„Qam?[ÁŞ׋¿2ÆW_=ྵHñN÷åÈ=&&Ù—¿úÀ4©îò¿Cj÷qP¬?]h’×+­¿˜´6làWö½‹i®ÎÔM¥?Ôº>dÒö´¿æ7AåXÒÆ?·ïPÃD/Ú¿Áç;‡Õ¾­ sºÁ?$±è àä„¿C¡ÐÕí§?}™é`ä?†ãMœò=ìfÁ³ÌsŒ¿Ðx–鵿~÷ãc-S²?Ǩ>¥?æ»lå9€¾ã&sCL–¿;z ±Zr?›í`¢•¿žgeÁp@u? ¯sM!¸ô=^¯'Ÿ$”?´Pê+ö’H?~^žíANm¿ÐG2ÁH2?6C£šÁ½½Èv(¨=qk?ØCÆ<—á*¿b~Å×ÐR?½ã!ã÷¶N?lÍæùͤ½#6ä 5?CªY~ý~¿¾·m¨&€3?Ȉ¢š'9?îzHOB{½ËivR ¿¾›¨ n~»‚x¿yÐT–¹7úª¿ÓÑÆhä>;&P È3=´¢ÁCÊ?áh_}‡Ì¾ùÄJó…ñ>ºTŸöê>ckØÇ!5½8Yš€·Õ>o"xí'±>wM¼í PÕ¾ú?ª"ñоŒãÛµ*Å<®’"Ͷí>ŸI ¡¿`Î>ôæ¢üµOó¾ÀM/ÛÕ>w~Œ+™6=óS–þß)ü¾$| Y’ý¾!îóàfó"?Ê„„|¶$¿£¥PlN¹u½0bbIŠÙ?s>.ÁÙÂ)?ãp• P¿Smýê ?ˆXAW¹š½ø¤·Vy›U¿Õ+·ìz`¿t@ú4µŠ„?™H$GqÝ€¿X´ÇžÀ‰½„‹À‰Î…y?ÿCá 5?Pä1"³¿:-Í£g ®?ã¼C‹ ¾'2Wg7ó¥¿üÈú¤Â‹?B‹wÿëñ”¿Ã ÙÏœ\œ?÷‘T­¥dá=žŒÀou¾©? ÁºhBI¿‡éäÖûét?Aâ&™öíV?<ã ÿÒ—=²7[L?`§ •Ì#?¸s’Ú¡M¿×L-xÏd ?Ëo½Ÿâ¥=Õi#†=?˜¯$Usí¾¤tj%†‰?ü&9 ?dÓ7Âþ'i=öåPéìhÙ¾òYÏ\þŒ“¾`Ò œŸ|º>÷½*¡f ¾Dž'ú¤³5½jhÉ9Ù¾›èŒ„Ã>Tñ;xÜê¾KSÄÍÛv¿Àj 0Þp=’S8 :¬>­éì#Âò¾k^U“ø?,õdd-Ä¿¾¦Ô¸ÈµV=k&Qu±—(¿¦÷&MF?l´6‚æ>¿©¢­¸åX¿ÍÒF®ª=7=Ï&@?ÁМób¿éÁ«E¼~ƒ?) üݨz¿ ü(Uÿ=Ø@¸MHc†?{¿Ü"  ?Í2âqÅk£?ä¶–xRòÉ¿ÜE>Ò2ü= \Z¾„Þ¿ÐdzÕ*ËE?à"Ÿ¢´Òh¿Ÿš]ñÍÕ~¿=ÒçXvû«=¡r+-Ɉ?øÜ B§¨¹¾@†Ž÷cµ?Èè|0¯(¿î¼,à˜à©=Sb½Ô‘“D?ÈÌZäÖ>KßÛÏùù¿Åû‘tLð>ô3#nÃg=9%-Š&?®àðÂÛ‘¾2̪à‡UÁ>%…´l6ÒÔ>ædýü‰=¹ˆßʹu>+åF¿0:¿>bâ»8Üæ¾ ùB:ð­¾Ëª¥úŒp=ž5y¦Öä>ÐÅuBø¸>d8ø¸>‡P¾±À>ܽ±À>H±G‡ýä¾tÞk‘~>¦ý؉~>!?’Œ?¬ØÃàG<ľš=‚XJ<ľ;Á,«íFB¿74ž¯P¬?øÄàO¬?swapd?«)§#žI¿p iežI¿=Årá± Ÿ¿þº!{L<µ¿?†xL<µ¿»2 t¶å©¿9a “?=ÇÊ“?\xÌpúc?lW¬Ú¢<¿£»%üÙ¢<¿;N„GÏä>TÑ?iÔ#û>U„Ô#û>d\÷­ƒyÝ>}NÅû¶´È¾f…ܶ´È¾%ÓÖÜ>”,CùT"½&«Eë¾ #=NQ½Ú<Æöç‹ý:¾¸²4à´*=2Ê@N£=Ûj"{q53½^w=×y4=j‹ì¼öP>@$C•X!½Œ¸UjQ0=õß”R½8|¤ Y=œ}#åÐ~¾ë’ßy7½¯b¿YÉÞ@½2D,/¼b=ÅöñG£0¼à»¿"¾Vÿd‰ûd=óñÛ¯áñ[½†ÔaƒX=JŠtÊ\=¥W‡m‡~¥¾Ö°8†==÷%=p={ýçëý-’½ÀöŽòX³‘=çs¨eôºû¾7 Â5{½q{jt"HŒ=öšíRWù­½Y¨0beï¶=xµ]üU£?PC»Mú”½C=ÆÙ,í ½²ó™W?Â= tgWºk‘½U,‹A J¿Ú±ÄŠÀ=ÛŒ¸YÄÁ½wÏ-lðå=°œ-œ*Ó½r\åƒm?^NB•Ùô=]¨ŽSHŸÖ=‘n…,‡¾Ã@v÷=ÌÇ´UdŠ¿ñ2 ò–ǽ9_/·)Øô=Ñ ‘¾HV¦[¾ñ=fÀž£…0¦?ß±b]ú=±µÒú½Hæ›Sx>†ãMœò=Ù{$¤nê?Îz¡ðÔñ=íbÀ>Áä½”:Mÿê‰>äàAjq>7ß÷Bˆ¿³¿{Ò7 ì¸â=n£Ñ‹‘Ë=3MžºƒSö½Ù\Ùç´È=¬H PrqŠ¿Z­„¾„ñé=&hƒ™e½›ÙYª¡£="¡\zK{=üÏÝÔ¡3¿°â‡uö£º½=§ý|b<[½É#ysޱ=$(`0 š=\"¼øGJ¿ùјÕ®=öïiým¤n½êNöPnˆ=f‡’ÿ˜=i ¬äõ ?[Ž£°7Lf½Øƒñ³LB=‰2’Še½@d¥or=…•»EËü¾Á22“˜uk=Ùã@=³Úo€d½èŽöÉn>=‰˜øåÝÌ>º«œ‚Ya=tÌM´ ´1½i£éáG¼U=3É×èýN=gÏtþ)­¾åW±Lÿ¾<=(Ë-eƒÆØÅ¥ôMÆç½yŸ™õy˜½ðï„JB=ÂX?1‘J½ö+îoa+r>¶¸kv@C=˜”ÝúMJ=hû†åSœq½JÞ…Ö;7o=°–r‡ ¬¸>ÍTòäB¦Z½„“¦lɾv½òYoáež=û¶É$ ‡`½éÚÆ ùò>LµFmÌš=eÍô8o„=@¹Cõ£¹V½—¹ˆ]/,½=ò -5$7¿¼Ë ‘‚‘½¢R¥ªœžÓ½KP‘ñsÒ>‹RåBÛÎ=4‰rãúQ£¿ lÄͯ í=.{ÚfOL½T›³¡ ¾¹9Žˆø=~| À„?×?æ Z qÒ½re-€÷2“½7o–ß3º=“M÷Ç.Ç=®“ZŸÞm—?øœy#dس½u ‰Ìï…=E§ê#´½"¬>¬/ƒ=ŸGÃíxI?œtéhSìª=«¥}#¬'B½ œSv_°l=Óÿ¾^¬•Z=<¡èÖa$ñ>·ò n^Ã0=sèšf²à<~26]ÕI½tq¼{ÒU=¹|œ¦e¾Ó~2Š==Š9õw2 ½†¼¹0%5=ÞèËV²@=øÙù¿¤¾Àh„ËP0=8`©ƒ;=ut°‡c½&s³Fl=,æãmÁUÀ¾¨^ëk¬W=9I?O|gf½QBÌ/ëÛ‰=“ŠE6„óœ=ÎuU(Rš1?&^¤<ÇB¢=kæèd Å™½øKÏ…P¸=Ä;#V8ѽxœ!; ž†?rÿO·ØÑ= ±zæî´=±ûe$ã½\Ì2ózöò=9âÄ’¹þå?_TöPã,󽈘Ê,ÄEC=äèB6=ì«O¼Ù+â½…·ÅŸüv‚?¡4§dy?ø=¼´ì°½g=fƒI‰ŽN…½jk´ ý³½K©áv6ý%?ÎDReÎé¨=‰ÃºÝ6SM=óÁª«øs½Ê„‹Áç`½«"a+Œ»¾y)¡Þ-}‰=q™Hä+’¼¾7eBiŒ =¥в}=)lÎÅ“v¾Ïa6Ž£G =ft&;ë_"=ZS‡ól8K½ýœ&˜»iþ¼ü4¨„_à€>žn„“zJ=1•‚ïö&¾ïs^¸ðö&>‚SÚ)ÿ=Cƒ«þë)ÿ½†KxyU*=^k×~Èx>¹ÊØŽÈx¾ÉïÐë„V½šæù‚Q¶Ô>/Â(hQ¶Ô¾?•âfòƒ=‘ÖH£/€!?PÌ*¨/€!¿É[‘£ðý\çí5a?Åèˆ5a¿«|㎠ú½ñ0XS~H¦¿}²S~H¦?Vùbhõ=YÒ}Ç莰¿ë˜$Å莰?b80Ø­y×=µ‡‚[ÆVp¿káXÆVp?Á¹[$)Q•=ÖD5¾m$¿cȆ¾m$?Ø ªË-R=aHõ  ѾW‡# Ñ>Gà‹  @=MßÞ1¸Þ‡¾ ve*‡a«>S›Á“%Ž>k¤Fè¯ Ù<”€bÚ>‰©>ê+ü{yœ>,}uºªÀ¾ÿÄ–®î½>LS *½@Ê—yÖˆ¾£<€ßP ¸>3Ï©®’£Ü¾ÙóDo95à>Tq|T g=§•WØh¨¾¢Ý£A~Q̾Zqýz¼ñ>C±7ܳÂ>þFN“3ë<à¶2wÝ ð>X­ ¦Âê¾jô€·›ª?##¸¨ò>ÉŒ& Û==òÅÁæØ?`uxΚÓú>d<}½‡ ¿áÿÇÜ?v>DŽÇ³d½£!ý5ùÃ従#r«T ?ò4öÁÓD¿_AÌ‘²E?€ 8‘=^Ú[{™¿Ü¦f Y3¿]ÇP}XW?Ì7ûÿÜï4?ç3zÿf¼Š=äܦÂËT?I,´ahIH¿­ÌÞ\@n?Qÿäi±X?†€A™Á=瀡éd?;^ŒÎæ{?f–æia¿††„ì‚”š?’z¯}…%ú=m=Þ€Gy†¿"gÞ+ø!—?gL†•Ÿ ¿^ôù°‹¹?ƒßž›w>]†yÏ˺J¿zÞ_ˆrÄŒ?ÚõènÓÒ°¿ìfÁ³ÌsŒ¿Îz¡ðÔñ=Vl!ŠQ«á?*5·™ “?€¬0br9±¿sÆzÉâ°¿5‹Mgù½Šþ³¯?¨x{_ w¿tò»p÷q°?ÄC§YLp?PôñgOཬƒÒ\¬²¿ÒvÐ9.h¿£‚òäÞQ‰?|®§ÍsÖX?ÁˆG®½³HÚô“¿\ *§±SW?0êçÌfÕy¿2 þ’½ x¿ÉâìÜ<¾¬½o=…údT?¦¡L8Ô48?I†ýâS6Z¿tÈÏ"Í1d¿¥I1Wˆ³±=9GƒÅ#LN?g‘7°Ò%¿Ÿõ"8;H?-4%K°B#¿œâbäôK€= Š;†¿Ã1F¿èk-Y¬Y=ä;У–>Ü0îJ¬¶…>”FW´õ©¾V° é•>C߉²¹¼ï¢!³æ…¥>vè¤L{=¨¾Á7dµÐ>álÉ—”±”>]çÖÔ±Üü¼÷†Ô-oÉ>4P TÙ>ªÐ¯Š¥á¿0œÞF÷>ߺ¾»~N½ù;=€`ïÛ¾µ8 «IJ¿™0œù~-?.:([X?ïÓñûl„½nÇI“†.?Î0;ËG?ˆY‚¡…np¿Ý/òFb?$ÿŸô½ ›(lÒTR¿úü|#‘¿…jý³?‚uœ=Õ§™¿ báY±ä ¾ø¨÷üîPž?²¼•ùíݵ¿·^?ÿå1È? ›íoχµ?7‚Kgf>óhZV |Ú¿q¨+ÇÔs?¿ ìë–b–¿8¯®È—>“¿Ì"ë¨ôï=²›.êø‘?1ñ%:ñL¿eÄôþq?!’üf:U?Æ3R|>˜Ê½J'€S ¢l¿ zªÝ~»?±ÿ‚ªIC¿ÚñY8¿C4M u啽ülëå2?0WKìWi>÷p‹¼‘“¾n²›Sj¢>ÝÚ”öWÖ=&¸EàÄ%ˆ¾šÝ¥Èz–¾Á¥YÅÐÁ>ò>¶>¿<æõc6=k뀧κË>œ¸ÂÐ>ïÓ¡Üûâø¾|5Õ ?•mÙn®s=Ïü@Î˼¯¾»]ÿ<Õ¾²Áá`Ý?"á,bj:?¥V8<¥¨=£¦)Ðy.¿}Ïz_L?¤“Ç0|yo¿U6$Ïo?Ìs-…lVÔ=-:šÅì@‡¿êÌ@Ö†0—?'ïDØbª?.¥Â‰ýoÞ¿å›ø½°§Np梿#ëw¼ü3Íâ¾€CBW6¿Õ \CW½Úª(²Ÿøß¾'13˜ë¾3·»K´ó?ú+Ñ×ã‡û>8ò#EîsU½0þóçó¿üµ6²zàŒ>0±zàŒ>ÌÖàÅÖÆ}>„ ËÖÆ}>x<={¼¾¬>ÜOp"Œ²¾ßÎ"Œ²¾öíYÉ-Ö¾ØO½¢.Œá>§Œnœ.Œá>²Þ–ÉŒÌ?• kíô:¿ò_)Ûô:¿éãe͵/¿(ßÁÊåZ?ÿ§³ååZ?-Æäƒ““?—Ãå3Ø|?rùËØ|?–.‚ß\»¿K÷#Ý(“¿ãÜ”Ý(“¿Ûc›øÚ|¿ ™éóZ¢D?¾„Á[¢D?n¡ a&?d$½Îr] ¿–žns] ¿ä½Šò¿Ÿ † Ý>]·Þã Ý>´ø§e$ ¿û¹ô˜´1{¾\Qóž>—w˜YU}¾^hwWÅ_ª<¯çs«úç­>­ÎFÐH†>¤‰Ð‹¤1¦¾pJW½Ð®>_¸oñ¶2¼Ó_>ab©¾n 8J¤ª>±™!òÁ‘̾^kWÝîãÕ>³ˆ•Ý{½×~ž–6½¾=d¢¸¾]\PŸw¯Ù>Iq¾ó·±¾ŽÏÒNÇã2=$ÉQyðÑÞ>ƒc-E¤òÖ¾†æá‰ø>=]ƒOu¶>ÿ(ÓðÝL½¼€]­<?5² ñßÍå>< ¶³¡¿“}ãì ?NЏ¾…P=ƒU‘2Pù¾‘M˜±âY?‚l=؇%¿ìëSýTÈ/?ìwŸhÂÄ`½hTÊ Î¿¡«‡­OŒ¿ø¿ & ß3?ÚØ®§®¿bTˆ”°çŠ=¡@ïÑeñ7?w>6‡Ÿ3¿Í1Mã( T?ŒÞlA)¿…+Ë&W6£½<ö¨Îþ‘^?/Ój.@ˆD?e=ó| d¿0Mj,cµd? ŠÐÀ=‚•ì|ª[¿kíŽÆá%i?º§«²+j…¿Æ H‡]V‹?³Q°%Ú=ð¦y˜‘}¿@ KVs¿ýQ~ðO¥?Ðx–鵿íbÀ>Áä½*5·™ “?¦¨¡‡Òv@±fB @È¿@Xå™?—ò—A>1’¦8x¢z¿¸sìq¯¿•?víQ`è3­¿D9²¢ñÏx?„:‚”©%"¾GI N†°µ?‰çj',i?·¦Á ߇¿Ü½p4²Kb¿3ÉÊÓÎGÁ=vš ×™ú•?lm=%è5M¿I:™£Öl?»Œ¹söem?; ýŒÛl¬½”˜ JG¿ßé="Ï3¿A¯¹9àýT?eø³]£^?‚OŸ´×¨½ÊI–H¿y0Òÿ[€!?ç\õdgC¿ ,ž ðæ?j]Ê=+€½Ä@2ÈcÖB?Òü¥ãd¾?.þÑdaÆ'¿¢¯/´Uà>æ;éú68]½í¦Ó@ø 1?dâ ÖÿŠõ¾”{ð9ƒ?{«çp=?« HJ¨R½'©…•·¾P= 6¡x¾q½Á±©ž>!e»Uì—”>¨Ú"A„<À±2á³¾¢\h=Ò¾Gq”]ã:µ>¿Q-…Êš¾?¤’†Tú¼|s—¦À>î@ˆÙóKÀ>M ‰ù´ä¾‘nÓœ;è>ƒ‘T<=Ö‹&ùŒÙ¾R÷aúÖXí¾šx/¥Óˆ?ýo_ÕÏxî¾óÑhb¢ïQ=jRD.àC?&5ä•ùö? óK;@¿œ¥Õ¤?ÎC?Æ_ö¦+Š=Í¥C25¿Lv˜ÐQ¿‰4ž&Û‡u?øM§c„^¿+=y0Lä=—/b$÷÷v?¦—ô¡”‘?C)äY©¿ôç4©‚\·?Uq ÑiÙ½µWr«[R¢¿£ó] Ÿ»¿6ni㦡?Å¢GÀÎÕ?NQÓ¢Íþ=bSö¤è´¿æÙ9G?µèFá m¿ð37’€-V¿ó¯æ»ÇÈ=ß}„òðVf?š´¤Û&¿¶pmöÓN©~¸~¾þåG‹ªD>¥üôù)±-̆¾é¶xþï®>{'veçÄ>ÿ4d¼¾F5½€¼Çäܾl…šP”-³>A_Ŷ Ú¾#M ²ßÔ>vž@D@KD½¾›À˜]ï>[^rq$á¾ø/WEËkg8?æ½q(×Ö)¿\yŒNÍ*?uÉßQöœÕ½ù’q1¨I?öðÙ³1V¿&Cçõ’¼q?m‹“‚)r?³—ô±9GÁ½¨Á¦³ª2ˆ?Ozrlrõ^¿Æ96–}dq?ÜJÙy[äƒ?݇¸­|¯>ßk߀z«¿X0íÊÒ¾WšÖllÙ?+_}[ìX?*#n6ÅË= Êã2¬*[?\•q€ÜÒ>Pá^Ê¿N…V“HÉ)?cl:®½“=̹ ^ÿ?ËÛVtÉX7`Ë×>ìnå;å°ù>—oûdO=O ·J%jÝ>d ¢¡½ ä>.üRF—@ ¿û9¥õ¾µ õgÞN=_@=^àr?—Axͱ¾4€çqͱ¾Ã¦YEÑ…¾xåâXEÑ…¾$ó3`©>λ eUÃb>̃ —VÃb>{ºhû$HÕ¾žö¾”â^¾ æ²zâ^¾øò66š£?6´sÊ‚½§>42Ç0‡½§>IKäoEó0¿j VÉõ˾ÄÂ_Áõ˾9=8=}ÏB?Ìù »Íõý>.»UÑõý>Þ¯Toš?iÞíXèZ»¿wÄGèZ»¿$¨ýè¦zu?]þˆ¡<6?¦çÙº¡<6?öm+ep• ¿öè ùˆå¾VW²öˆå¾ç”#Ÿ?"?ï XœšÅÕ¾ñšÅÕ¾x±&0Ó ?Ò-õxøž>zlGˆì‘À¾•m¡pXO¡>¦ (“4˼ïE= #ÆÐ¾Ma ŽÔ9¨¾Ê`¦”îÇ>Àë,Éñоþø+6£Ò¼v?aÆÌ>‘KDøå];ÄGé`ï>eœE²Bø¾¾^´`¿$=—맬à>F+$7‚ùÚ>V2-Ö-ôû¾÷æ]}‡Õ>-–/Å\U½ ÿUÛ(ð¿Ð®äW?!ù>ÊëcS£º¿,<7 Ô¾l¬sF‹p=‚Xz× %¿ãѦ°¿‘"œÞ©`(?ê{’†÷*¿åÔ'Wt½ ¥Øn?>7 £ß&¿jé v G?a5v¦(QQ¿:ÕC]'ü…=/výf7?–ÿØq(5?£€–Áq U¿H4'83?_3fE8ê°½)ÍzXßY¿áAšêf¿T?<Äå[Î×t¿6°®s}3?¯ÖäJ¥ Ê=¾ ±.Þ…€¿ý®ñgVe¿æ/çR8„?ç^÷`…¿`"ޱ£iä½{ ½Ž7£~?¨7>çÖ‡¿`Å´ù£?ß|4Ó¥@«¿.ŠT&轩§Ë!ẞ?Ê?}=¦?øQßÞ#;¦¿~÷ãc-S²?”:Mÿê‰>€¬0br9±¿±fB @È¿ïÄ aë?se/´›³¿xrAmW¾ß€\2|¤?<ÅÀ_­¿ª˜Û“´?[§ ¦½©¿!½ƒÁ)>I÷SXÙãÆ¿"Hù_o…¿¬« £?tCù”Ù‚?‰î¬²òºð½´×ùYš•µ¿^‚|óQl?Ê©¹d׊¿‘×míÕ‹¿Õ=6}ܽMÑtm?j0Ò™M8T?\^M×u¿YÚÉö翚üräÒÎ=G’äà¢5j?Ù¡'SG¥B¿ŽÈgÒJQd?€Ì-çŠâ1¿³Úˆ©t=˜{ØÿZ%d¿h^Êúú&¿`@ïíÖëH?ÒjH«°æô¾š`:Ç}…=0gç8ÈR¿x-ÖÛ3?—+ÙÕñ7¿f½0Î6¿a}¡% [q=­x]¯ î>ºñ>Eðœ>R1!jÔýÁ¾-ÚP&·¾O0­<.Y¬¼¿ÓЪjÜÖ>ýQÄÄ1²>Nª¤ÙÖ¾‹É¦ƒ=ë¾>P-Ö¶jq=¾Ù0‹œuâ¾>½NÕ—á¾¼ë“Ý:?o-–n—— ¿PŒ½¯­Ú`½ä?gG›ü>Þ¾rÏ]?ÂOcîo§3¿„]ÑT!ó?ÊH.‘ÿu½'§”=o9¿úéT<¿N`ÝõTô`?)eŠ;Ûe¿üìK餿±½ÒE­ÿºW?ä0¯U…1q?P`»¯#”¿`PŠKä=?`vií2ì ¾,ÑsË¿—¿ S£|ù£¿³Í¦õF«?EðÌüÌ¿ä¥Ø/0¾±ïø¼ð¸?óã‰àœ?·Mê òw¿¿ …I,¼­¿ŒMOP>9¥µñ™½?ëÀà :Oh¿ªÙ{PÞ?tFúƒ”y?œÍ ;)§Û½$\§‹sˆ¿·nTˆ\7?sÒ×ú]¿> Îé!S¿ép uU°½º´vzDKP?a²î"¨x¾o2¯eI >ʱ3ß²>œ 6§X:½™ÙÑô+þƒ/Áïʨ>‘ÅV%Äâо|ê›_Œç¾'ε~X=ˆV.•Þ·>¹>ê½TÜÔ¾Ô¼[r{0ü>'}¯®$ô¾ýÎ^-i=OùwF¤¿ËʳÖR?Q¤“ù•a(¿D˜*eñ‚>¿RñÚª˜û®=Üf¾åõ^¿Þæjð“%¿‚&R,wI?(iþ<%‘F¿¹,¥¥!û=S Š‹^l¿5÷å!i?ˆô?¬{¿¡­—ø¿™<÷Q³S>¶i‚cñ¶¦¿ËÀhrîk?ËӡȰl?€“3P¸ß±¿EÜ›'dú>–Ðå³Â†Ð?)ËT¿¹—Qe¦’?½õxgYw¿ÜC¡¾®ç½5iRôŸ€¿7=Żϗð¾CŸþk·3?Â@¿ºLBK¿oýËÍBOµ½ ÐTâ²ø3¿^hwÏ&XÀ>^æQ·³Íõ¾F '}¿­v€jï€q½úù±¤Í¿È /ì¿_þg€æ-?ï#rP?™ÔnkÄp½–æ’=Õ0¿îý¾/½¤>f ­·/½¤>e!µ(g(©>ŒEî'g(©>ED'¬¶v̾¸TîÖh¾l¹gš×h¾-äü÷ ©÷>À›l鸬>`¦¢å¸¬>ÚÞdßÎw#¿wÕ…¶ä¾=°AX†¶ä¾¼z¼ØîvR?"ø••áL?•&(tàL?Pn© èi¿›âX¢"8W¿|â§"8W¿35Úñѹ¿Ðàþk¹QÎ?-Ys¹QÎ?ðËõØn¿¿þ†™Ôg¿Ò†Ð4™Ôg¿«#Íö×>ŠdüÌ4?‹¿Ó4?ß™% é#¿NT àÇ’ó>}Êz`Ç’ó>2ÆQxG–&¿ª¥¬_R§>m‰Ì‹«É¾N{cð–p§>îî„m¯Ó¼îÎÑ&AÙ¾­Tò$}÷²¾‡ŸéñÛÓ>³æÊÇÔ/Ú¾s6LÓ ÖÄ×—|Ö¾¼W½¿@ø> ]-Žw¿(„t“ñÞ,=(Wžòâç>%]?¹Àä>½ÃŒDEÕ¿ï¡ê\¨—Ú>ªÌ€_½•Xz=äà ¿˜ Ò¦D?M?µÆ$¿×ƒ©XÀè¾…=ø³šÏ¬@?ô‹þ¦{@?Ø`’!a¿?àg“|µ8?$/·›®½½è¤d¿‚d€eɉ^? ×aÐÙ¿’Êð¸….0¿…' dÌ,È=&`éISˆ¿4vêþä¼l¿µ|•ÕëtŒ?ÅÐÃaÇ©Ž¿ 9Î%ܽ6< nKâ?}’mkò“¿*)L:ÆŽ³?+Vð£ˆò¸¿ûº.2¾¾ݦ(ì¦?cù›“š‰? 56]ü¸¨¿Ç¨>¥?äàAjq>sÆzÉâ°¿@Xå™?se/´›³¿ÞqÑâ?³ôvÙ¿²(¾=Ájz¨?ÆÎ ‹v¿õVfSž˜?‹…Ô›?hFÑæåº=‚wùä‰5•¿Å-Çz„Vb?¢Ï«Ýk–…¿‚íÓ`0n?õüýʽdóûÃs‚?ó¯e9Œ)?•’h‘€#¿NdüFè> sØmÒ½âˆ/Y•X?xEQ9“¿v¥YÇÔ3??óˆõ½-¿/,c­Æ•=ÑþâœøÑ8?#S›õxó¾zÌRœ°ã¾¾žkÏè˜?âïÜ µŠ½–m¹|¿~y½{üÚ¾¬•±Ö¢ò>š¸ÁN¦:ö>a ²j`h=Ð΋† ¿eÖ&h!Ø>>^Æ›Nò¾úMšë"ù¾üɨï½j4‡ò>cË¢™Ws¤>BÂ<òÎoɾçgO2GpÁ¾fìÚz¶…2•è§Ê¼>7´hÓLâ¾ð4N{nˆÅ>ŒÃuÉ$=DzP\ì¾Ö©Óoë¾3SÊp?a¯i×T¿ÏÆå0 h½d;u¶?‡Ö æ:?ݸ—¬Ç>¿yè®Þ˜a?t#H5Ú~½öÖœ±©ŽC¿þ\Œ4†G¿Ê[d~çm?åV6cŠCm¿!ÈÝ^Æü±½G—™Zb?i›ÊàT-s?¡bqºß†–¿€¥ñ¢k?(Óùkb ¾¿ià¦ðï¡¿•Dð><~µ¿Šù®ML”Ð?ß8!þÞ¿ÿ5Gœ]'>²MûÁÆ?Ý4»v鬌¿oTwÓu°?‘sZ®àõ“?åýÎëU> b?™Æ“¿Q{UÕ׿æÕ0^SÕ?ãÌÅM²šL?ö }?ïµ=¨gCøXtO¿â5©Š!ô>—í"Ñq¿‚Zä5¿&ÅÖ¢´A½×`ær\#?á=Lž”ƒ¾€ôÇ©>¾]€(‹x¾\ t‚ýw%½å·m÷˾Z‰º—æ4³> )ˆھ=¼uŠqvñ¾æ,Vbb=ä5£ƒnµ>-lÿ¾ßྠH¿óW?²Q° ¯¿}"ͼãj=E×̉gI¿stR<à' ?â¡ ³1¿ýWÄÌE¿e¿°»íÆ®= ª?Óäeý>GX?¿‘ä,äd?Ët@¨ )q¿- L¥Öäø=h9—PåÁi¿¨¹U§Òh¿ÊÖ×Õz?R:{¾R¢·¿×ÀScûó½UXzû}P2?”x\}Ú Š?[ã@öSŽ«¿$¢‡Eà ?ÚîmñúŠ¿G­OÔœ?¿›!çL·a?§}ÒEo?ìûãÕ8ž=Õаo%m¿ÝŽngÌ>®7•¼êô¾¦ž§©¿ ‹`îp½Ž–™¢qÞ?£_° Ú˜¾páÿ(@Â>õzùÃɾƒ eË/H½§Þ>´ ãľ}Án .À¾ŒC¨—+â> ¤×»Öé>G;Y6C½Íe@-Hð¾nüp#­>”‰Ùe#­>e½psÓI²>‡ÍrÓI²>šn‚§tÕ¾Ãû1œx¾³&¯9 œx¾Ã:Týè?}_µôª¾ðqºôª¾.9FýˆK.¿w¥@!ã>’¶×!ã>NÊ<*UU?»ªdjfê?ûMÌdê?ɤ¥Ô}¥Š¿[et:¯e¿ŸÃ:¯e¿†©ÈÌÁ¿û ë®­­Ï¿)+¦­­Ï¿ËNísºq¿%,¸D!Ú0?^NÓ,"Ú0?dÖuúu5¿EÛÁm„?ÄÄm„?¤¦Çgª¹ê>;Ä%þcß¾pf=dß¾¸ìwUˆüç¾últ öŽî<Ÿ‘„š3½¤[tã_ļÔö‘->¯ôŠeÓ½íŽd³üý¼oöä =£üo§±"½:çþË(>ÑÁ‚Ö=ž8ÂÑIP½À‚(nŠ·@= c ToF½2<]Ò¦© >Íê<#=±!Ï1°)-=xŠ×W P½rýY(Pý¿OÇŠ>`×_ILQ½7]wÒÙI=ÐB÷m½]QNgè6K½©‡·×{‘¾8„üT˜ts½èÉðÃ^ªZ½Ý¿”¹J= E² z$~½ÐŒÉeJ/Ì>aï*™„`=ð!ú*x½ÓYS+Ýzœ=ë%·µe¢½7S³½Œè¾ Àó%ò@v=ˆð ÂyÙˆ=Nù<À¿­½æ]y×¶~½ÜšI, ?-w"¨ò«½^yâ¢Sƒª=„4WF¶5нçîWžþ±•½"Â>º (5¿¸§©ýÓ½×lÞeß¿½·ñ'øä=~¡«0â½5—O 4¿ _0[…X²=¾éàf}ß½ÄÀMw•>•ÈWnY¾Šñ¦¬l_¿k€ Õ½ž;aŸ‘Ä=lí€5ÓHù½æ»lå9€¾7ß÷Bˆ¿³¿5‹Mgù½—ò—A>xrAmW¾³ôvÙ¿²(¾‹ñB#½Äæ?9Wo¯nU>*ö`_f€ ¾GN5üÖ 6>¢šS¨‘Íѽ&qH¶f7¦?»#Vmn/¾x‰‚ïˆÙ½œ­;™õ>RX(„ýþÓ¤šc_¿?ƒ®F¾;ιJR‡°=?IE å½:Ù.ü…ݽ9¾Xþ6m?ø6ö"¿Aʽ#Ïrñ͹¥=·ÜÒPUȽžy¹0¤ϽC)@5¿Õá­¥èÕ°=‘ \'X’½ƒŽžß¶=¯ajR§½2O»[p?÷NTTˆi´½‹}³`x½×?íÄI„›= †I$X\m½Û"tÛè¾&ôNm¤ë¡½Â°f=ÉïÖŸ_X‰½àÊY Ä…½Ük} x>»ü&\±2\½¯Âš½„o¤°Ôl%Ó‰½$ä®B™½àqÐkXж=(—׉뵵½¯4÷|âõ?ßà tƒl=GÎTGówÅ=š£PV9Ç÷½ÏkLô™‘˽CSX’tNq?7½_WS…ë½6ÃÝ;L$¾1$lT¯;>hÄùéúí1¾e4h Æ/­?{SW(¢>qmõcuä=ƒ2ø`ý<¾dïx©¢„ó½ÆÇm»›^µ¿öBè-S<¼½ ÚQv <»½F\îôÔíã=PĸÕ¦=ß²38ñ‘U¿•m¾'ÝÛ½{_Eºe†=ð‚•Ш®½Ç¦FY‚¢½©W[–÷ûè>SŽÄiB]“=•Ü7мzÃùÓÚö<4­}džø¼|¦ï{7ÿ%>*F˜·Bû¼É‚6….ù< ïÜD#½íç÷¾–µ/½|< ˆJ¾½Íìš¿å½xüÝg‹+(½¾p4¬P_R=RP§¹Y½>ôtÊç¼¾ñ¹$˜š¸P½k: {†ªV=¦ =»:½z»ÌÀ%Õˆ½4Y¥——¿¢ƒLG#‚½ç‚û ß(ƒ½!Å\vô°=—´l&Ä骽«¿°–’X¿ê2"û{µ½½Y˜ö¤³6Ë=S{™ïƒú½jLñ•¬nû½¦pï_TÄš¿Ëœ¬IÝÞ½†nÒÐÏ=dõ÷!›û½Ò¤ñ~|`ð=ðúP\Ñ_°¿Yãò;9;¾LYmŽïX“=ä‹ <¾½×á§–³Ò½d#Ù –:¿/S³Nð´=ed]}Ó¬h½‰î „ü‘=ï,ÛCt—‘½ •½r¦,ö>ŠñtúdŒ™½0EGçB=¤&ωÇP½ðñÑ_™Þk½øAfaV¸>^æ? w³K½{qœpéV½|bpfí*€==U´iO_=|qøûÔ/»>`Fði²€½¬oujñ¾ãúÙ¯ò>“ÞžÆTŒ=‡^ZË%LŒ½ãƒ!T탽¦Mì9[¾/iƒD;[>ÆÁ…>iD=gáv˜¤¾ô@{:¤>4Úv1E?r½ïÈëaà¾/rˆIëaà>ÏÏ?&3§=ŒßI?I ?1Ü@–I ¿¹>ýÅ$»=wø[B¼è‚?et+A¼è‚¿!ÁÃNojã½< ú-Þ?²Žî-Þ¿ÈÄ©ôóÊ=œZÄæµ…?õ«~Áæµ…¿õgYÅ-•½Y+—ŠIR1?ø@—IR1¿A…Âb |½Ça»^³>@8Œº^³¾`âÊr½u½ÍÙðû¾#!%‚lþ²>¯jVi„¾>3irBË<—»ÄïÀ>¾»ó–ò>ãmõWR¿¾v®H¨'‘Ã>cK/WYšð¼–$Ó;)º¾¤Ò­÷}À>›é£6µ&â¾€ïÚbç`ê>oÈ÷çö=½n EÆ·ξ7ˆáOϾÚýt·2ýð>skÊäIw´¾ø±=æ[D=ôvÄ}æ$ó>^à-˜Õì¾-«obç?gé:6%_à>Âl—[½E)«L?â6v¼™û>r67+¿J‹ÝÌ8Ï?#Žÿ‚ GW=sNço ¿²›öñ§? ×SQ^<¿—·Su]C?üutßR½½HÍ."$¿€!ìÛÅü)¿wÜÒÐaL?¯UïÑ¡¿zŸÈiÉœ=¹E§\^êN?̵ـH¿Ë’ÌnÂj?E}ò? Þ9?‰9þKtÚ©½€« r˜ r?™yxÔ‹?[?i+_N[~¿‘Í·Õx|?dVu-ß=èÂðÙx–k¿Fãý \ƒ?‚ª#ËG䢿x¾œt¼§?á^q»îì=õ¸;— .¿6C3oÑ¿¬ÕZ]T¿²?ã&sCL–¿{Ò7 ì¸â=Šþ³¯?1’¦8x¢z¿ß€\2|¤?=Ájz¨?9Wo¯nU>¥¡…!¶æ?ap°Á¾¿¾Å(U¨ÊÕ?Õt6¨¬¿Â'Š•á½|¦ÖºúÛ¿‡ Jp¬Ž¿ÍÛ’â®?LõñÑ„?@Õ ¿îÞ =†¼ô_žó½¿™šï w?fÖR>þv—¿t{¹º‡—¿Ú~S{’½# RÉÕäb?Ä'C©aè^?Ô£Üн€¿G’GkÇœˆ¿áÃðÈ«ÎÕ=äOPÝ ²q?=Zü™vK¿ÄörâÎn?!µÄE¿aJm½ÀN®=¥BIﵨm¿HÌŸ¨èí1¿]+åÎS?ÝiÓ†6P¿w$'"3‡=yKLøï•\¿‘DPñ#Ñ!?N‚IjçB¿¨Ø~µXxA¿ÙPT˜R¨=z ;T8ä¾Jì}}ƒƒ¾þ=»s¨>¯â…šŽý§>g¿Ä ¨¼ðO¯ˆòí¾™Á¤:/;§¾~×Ôê‹:Î>½(G¤^§¾VOÔ‡íº ½Ùüô„” Ô>’Ô‘š£Ö>¸¢U,Ðïü¾G 9qNSþ>{qí·"sE=Š K¥P_ë¾Q¾³µÞê¿’€eÀ-*?©wëï¾ZFçMbDP=if£%-?OÄZ~4?ƒEÚr–[¿Î¦ÔŠ5X?5ÿÁÙn|=Ô·¹BÍ‚G¿ŽIxùd¿~ÐhZ~Œ?wðÉM¿_^åÀ¦ç=>æÃäDŠ?‘Êšää •?LÒÈ›?¦¿wf)N‹>Æ?s×´n{ç=T^B•ž¿Œ°Ï¢?Ê)PUžÆ¿Ï³…zº¼¿#&OÃä½úâ}Ó˜½?n±Ûž!³r¿†ws! ˜?.¨ÅîØ}?F׳Pgßò½>ÊèpR’¿(ž d7´A?óá1RPåf¿Æ‚7Apw\¿üDw~ÿI½½³Èï¶ÍU?ëg&¹ƒm>Ï>­›”¾êiE>©Ë×߉Ù=E¹§j-°>‘Y«ç^œ¾@´32sÄ>@½¤j®Ö>k#Þ1WòC½_Wß>Ñž>“5=,c¾È>ÀØÖäÇßñ¾i:Ü'ñ¬ò>GÚGÓ ;½(EŸH`X?MIL’]Ëô¾. ™%?1 eeI.?­¢Ýàö‘½©xI;ÇÀ?ñ¨ +vQ'?$pì²a¼M¿æ‰^ªÆh\?y÷“§³ä½öª¡;FL?>šÕÕl¿pÂŽúŽ? Á¨ z£?ïòÁ& ù½}kßk”?ÜY=A€?áEƒš×’¿]ϳ ï´¿ ™":è½7™ÃyØ?×7dåi1?3z[ÜÇx_¿ÎOqODy¿Ž8fy4"ö½\xÖ¬D¿Œ¿|L&ß™’ ¿cepÇ 6?Ьh+2úR¿b—–Z‰À½`¹ª© KJ¿ßo·¿oXÐ>Q½´zî¿Á|"ñÙÑ$¿‰Î‚ê&z½Ž¯7 Æ¡¿—ÐL¿&mmãÝ7?—  6S3 ?òîÄ;iy½„ü]ßš:¿‡WkzŒ¾vgÐ^zŒ¾ØuŸÖÃj”¾ÒÕÃj”¾Òƒd/o“½> 4¹»C¾‹ üb»C¾ö9ûDé¾)­ÚzlQÄ>èSñÙlQÄ>'ÂNÚ?à[õ‹‹M÷¾¤Ù°=‹M÷¾Ù£½+@¿„º>pú¾'?‚>TÓú¾'?ëoʉ%Lh?aéÁ3AB¿½p3¸ŒAB¿âo·}çæ«¿`šæŠwZÊ¿ùRwZÊ¿ÔAí›3“¿°zº+n?¨Ö‹$º+n?ð&Õ_Á2¿›’ÀúøÌ ¿µÉùSüÌ ¿ù&¹íV/¿@6O?P䜦O?ÍÀ٠ˉ1¿Þ›üÙ”i>]™ßntŒ¾gæ¶» g>ü€R®sð€¼Î Ë6óB›¾Á{çÈrlu¾}±¦ùÉ•>lwir¾ÿƒ®Tz†²<\iråI–>¿]Æ{¸ì˜¾Tµ>‰ »>Ù` 'ÞNľ›.(x…ƒêÚæ´*§>…TÉF‘•Ⱦ9'VLýk™>Û»i/¯ ½Ã›N+!ºÌ¾ÎÒ¨H]Å>Óò0ç¾gš—`ë°¾µXWQâ7=´GaÏt{ñ¾3 ‚ÆjÔ¾ñ<ûI¶±õ>ùuËz*¥ö¾pT"€k>½“#J®œå>4¿àãò¾ŠîMLx?_%h®Ö¿%ò‹á™J=œŸ2¬²G?¡x—¯È?¡;.ÅÕ®"¿Ýr(€Ñzð>¿JK -|½éCÿFÔ %¿U3o[!?nàx\†B¿m³…¡Xfõ¾)Õ³6ýI‘=¨^rO°,K¿6Ä•]~›3¿g?•ÉFT?Ї:×T¿¼Z3 lá·½Xlb|¹ÖE? çûí/M¿‘Ë&ÎPl?Ec£§õu¿œðÊS±½ƒéìD§[?Ò­¥{m?Ñ‚ˆp*í‹¿;z ±Zr?n£Ñ‹‘Ë=¨x{_ w¿¸sìq¯¿•?<ÅÀ_­¿ÆÎ ‹v¿*ö`_f€ ¾ap°Á¾¿CJÙ[@¨YùLÈ¿}㥑/„¿oe5)l佃ð‚]?í‹çdZs¿OÓ w«?Þ@XW£^†?s …ŒpÒ·½Ð©o•¿<ÖCŒm?Y´-' dŒ¿Âà°Ç:ó¿õ°ÊFg(ý„jÍ9qúz?ôô¦¾j®D?_¼Õʘ‰e¿V›òU^Êl¿¨Àk¶û¸º=å~l7ºZ?„—3¨º3¿Õ@vOÊU?`ÌE¢È#¿ kÁŠ=µrNêg„T¿·ÇÓH´¿@Aó|Du6?Ý?ÞÌ à¾³ïr÷£în=o{%4©†A¿Œ L?8å?ÎÈE$¿t’1øî#¿Ð:Î1'{a=¬Š0«¿¹Ú>á÷÷¾>cd>'H 6Li‰¾kB©¦ËH¸ëPZ<°Èô‰À<¡>þ:!¥W€>\aAÅS社ð¶RþÞ…>øÞÑ:ç8Äá°Ö¾TvpK·&½ýÝ:k~Æ>À6æŠGõÛ>‡þ¹P ¿Yù¦jÕÕ>ø19*8½ŸZTBD¿[gDZyn¿5„GΤ.?g¶é.º˜2¿§Ô@`Øp½½Fݾx ?yËç¼Æy@?&çÑnûd¿Ì"ùJýçJ?åÌMÛðŒÐ½mIþ< Vb¿iGt©p0q¿™WSm„÷’?ýýÇ|*‹¿‡†Z!4ôì½s]ŽVtº? ³æˆEe—?_˜G$ï°¿¾Bžt£¼¿Æ~ì&í=Sól¨™¯?¸œŠ%ð6Q¿>ÇýšCär?ùØ1JŸña?/&iŸ¿Û½à>òcís¿/Áì¡xI'?¼ü^ }´M¿88oÁsC¿ñ÷íœN¡½ì@ǸÉÊ??¨‡â”E¾-!mO¦Lm>[ͦ(áM¾«c@ a-è¼ IZýƾͱjð3u>³1>.¥£¾åN»Ó²¾0{®"=WÑÌS+Uk>Tu ßP;¢¾™RŸi³^É>˜ âžNÃݳF/=ïéKL»áÚ¾¤!µ×:ÆÐ>ü©ë¼]…÷¾WWP~ ¿üEûks u=×4Ë3JŠä¾²`ÍËãô¾ÍaG¥¡?XƒÛ:Ãò>äÖ9‚ÄÅ=·»Wùù7¿ÃD œbßD?!†'ÕnDf¿{ËeìƒÀ`?O~cUãÖ=pÑ#‡`q¿:躈?ö·íDp}¿ÕHÄ™5Á?{“¢ý±xò=ôPIß&´?#÷ìò¶C?:¹˜ÇÐHd¿¥Æ×wý§j¿à̽åLzݽ"WÔ*]Ôb?÷Kµ ºí>Ü?M;ÂØ ¿ýv¢ï’A¿ZÝlï²G¡½îe±™ -?.ÚTòè"¾>âFËÎøí¾„ùÌEކ ¿ÂWÍ®\½d†]§?ä¾Âº’6Xþò¾RŽêâÅ? L{Í.w?¼¤u¬6¶\½Vàhöð=¿)‘r¢y"m>;á̘y"m>SÉ|<¶Úr>Û"ú;¶Úr>¨ÆzäÝt—¾±nNGEnA>Ð#¯CnA>tAö¾kÃ>,Ã.0ÔIˆ¾Â;—ÕIˆ¾áDj†¯ð¾áµ%ÿ²>Zšã$ÿ²>Ç ¡¥!?j‹;•Fñ¾Æ6TוFñ¾îr¤ˆ8A@¿¼¼°ÿ"?Ì©sŒÿ"??0L½d‘?*5~lJ“?9•…•lJ“?>惡Rœ?HI5Ôhìv? pÔhìv?©±:¨ÚV? úå%¿NOÕæ%¿:†’Ý¿qWSA®å>¤Õ íå>±Ï9ZuG¿®UwŽÑôŒ¾Áê„°>m¼ëEüÊŒ¾!ú\/¹< ù‹É(|¿>¥F¿.×—>3–-¸¾©&ÊZhÀ>þ©ŠoªÊ¼²]×%º¾€ à†6¼>—ÎŽûtÞ¾ƒFRk ç>˜}Dƒ[—½§psf8Ô;ïß8ÝÞ Ê¾-ESÁmë>ü.Îtf@À¾ÖH·ÉRC=ÐÇžöñ8ð>z†è¾ä_vè ?°s71Ð>ø±”îXB\½b°¦KãÖ?ªl³UàÝö> ”F!¿R°jP?•GÁ0¿ c=/»†#ê\ ¿{b‘y#%? ßs7¶6¿¢›ê/³@?f½µŽçÐq½Ýs~ÄCh$¿IQÄ4Û…#¿¶â°î)D?jšK­N”¿DñjXÖò =ÊÈ÷2îçG?Õö>)C¿pbã6d?èÊç~"Ú>LÂ7°µ½4йLXn?OàßMƒ”U?¿ `½u¿Çê*ºM»v? kœ¾)Û=݉¦j¿LN¨±Êl?Íz”lyŠ¿<–í–? åÚ¥ Ï=ÑJ ~¿tï-÷ˆ[Œ¿©Èˆ ¡¨?›í`¢•¿3MžºƒSö½tò»p÷q°?víQ`è3­¿ª˜Û“´?õVfSž˜?GN5üÖ 6>¾Å(U¨ÊÕ?¨YùLÈ¿“l?ê?E1 ÆÆ§?—|Ï>Hâ=wñL%_î°¿æp·b|¬?w]ðD¦¿¼E–›+«¿ ^CåGÀ=£­°ÿùà±?7*”w)î‹¿äLzg¦¨?E3 T:J¬?Ek ¨ðñ=çÆ©ÏåÞœ¿áâÎÄBܽ‚=9 av}¿vÐõµ$YT?£ê§åu¿'Z"ZB×:?¯Ðý8Ʀ½%ÌK˜I5u?U!"Håý4?‹NHwV¿¼QÙ*ŽØ¾êÛihæõ’½ƒ¾‡w +b?«ov8Ó‘$¿\_|w’D?ocÓ¨¨D?'õÜþ}½uQN ¿‘XOÄo‰¾´¡{b=¯>l¾-t~À¥>!\dV57z¼Ÿ™ Ԓľ…sŸµ¢¾e}7ãüÆ>ÿfœîZjª¾@›s ½ÇÚ|O—Ñ>·Äá”unÑ>ëêŒZö¾– »Î“ù>»çÕ›4L=“?»Çbê¾@—½˜¹þ¾Ä”R˪#?Û ;øû¾;aSÅú)`=™ý¾ÔÜ'?¢ô Bè)??&g nÐO¿êkì¯ðT?©|,™—=äÞuȶéB¿×ôÐ ÕPb¿©ÃŸ¾õ†?ýŠ ’œHr¿µrUÏÁõ=ÚêdèM„?Ž  ?3 Å‹¶Þ­¿ßYtÔsª?$‘Άü¸>u dªr±¿§õ|iç¿'s~èÏž?Úˆ-½\åÐ?…¾ñ ¾äm8(KÁ¿éñgqbn?îøÏ¸HN¿¿Eîtdª„¿å‡çþ= êA´¼“?ÏBDtH¿\Ôî"n?¡q+Ì¢Md?˜¤R—Â=›Œ“Ã’ša¿·?z4h>I_kÿC¾·Ëx;Xd>œV•  =šÜv[H±>3¢Ÿ=Þ—¾: (èŒÀ>ðàl>åÕ>ã`Ø_zE½½ZáQ`œ¾áy¯`mÄ>›wò6°쾞ÿà%•æ>]ÍlËU½ÉB”npdÿ>¢1ȹÓÊò¾¦¤X?œ‡½è—-?ÿ0[Å¡vš½⋆j™?'0‡Ï.?Wû°l;¿M?~#¨K8¿]Sråïàé½Û†P"~]?§Ø«ä^e¿ˆTÅ´º_†?onpBP0‹¿ó÷A™{ý½Ô”¡Tþ•?LjxÐf};¿#¥È©,Ê¿³Ú™ý Ù¿Y {À®¾_G€SïÊ¿É4Á¥Ú^¿’23%R~?G¯Õˆ?èå)Ísåý=°b£Ew‰¿°ó8qÆÈ¿¡ž(Óð„5?¤ñ ?Ì»[Ñ3葾8T:Ë3è‘¾ßÆ z»”–¾²n?y»”–¾EôÆÛòº>¨õÙ®S>øKE°S>$r%ƒ,æ¾þÀG×Pš>PªOüÚPš>Î[\o+:?i‘/¦Ck­¾´kJ9k­¾¸ÂâD¿I({ø±1?å c³1?g²ÞY99µ¾‹¾Ã‚öLy>|Uß«‚‚–<º¹ ¨™õ ¾ËÂáíuZp¾°X¼PdÌŒ>u9{["›¾r’ôÓ „Ö¼…‹SýÞ|Ÿ><4¿„W˜¾6…d/޹>jï{.¦až٠Û&ôòÿ<‘ já±!±>JÆ«§6ª¤>ÓÿL>Pľ]qÍ“­>æ›RÐHË#½Ôã»Ð˾œâ–¦ZkÃ>‚n°ã¾¯óMY¢>Îí½B=ƒ_-ƒÛñ¾»{8a,þϾհ†£Ëí>üehlÉñ¾8Ï‚Uˆ«@½¹ê} ê>=à5F«í¾ wĹh“ ?bJÞ°¢M¿Ú2;ÓªV=Šb9‚ĺ?¦=|ú>s3a;èH¿ö€¬@˜Ø ?ù_K÷£^q½ÒÌo4!¿–pŠ´?fÁz Öº-¿§ÆHœ?û YGŽ=ò%:Ñ;C¿Ô°Hc!¿½‚ù6?¾ýñá²ï@¿ü½qF½Ãõ²ûLK?,Ò×þ{@¿Þ|²Ñ_¡Q?<-ÏxÖr¿;µ La­½åŽ^ï<©i?톪zV¿ý ÉCËÔ€?žgeÁp@u?Ù\Ùç´È=ÄC§YLp?D9²¢ñÏx?[§ ¦½©¿‹…Ô›?¢šS¨‘ÍѽÕt6¨¬¿}㥑/„¿E1 ÆÆ§?¨ù¦á?ø‡¤xÖ=²Ú«‚xuŠ?Ø©Ûhûðˆ¿(2âuÆI¤?%o3N ?ÐåÎ úêÞ½9áÖ¤;ø¯¿#Tñ ÿ‹?K‚Ï%ራ¿~Ïô1·­¿X‘ꯇç½e9¨sš?oŽàÀüÜd?Ñ|¢>•…¿%‚¤œµ²Ž¿Õ$dË‹Ü=<µžŒâ{?ÛIz¥öT¿'òaÙ[ôv?Öæåîx£C¿)Ñüx­=Ãñÿä¶Óu¿¦Éü5‰6¿µ³äez`X?jßæÐ…,ü¾6/ÄT§‘=âF ‰ c¿Ådj}ý%?:‹TcF¿¶û»bF¿ !\G®‘ƒ=h‘X1?üÓ4ƒ¢u>r0Dv² š¾ÖPûOa:†¾|@í’f›¦¼³ã[Ì­>ŠÇÚI5w>³j„ü;›¾ØØ™n “>Ak»Dfè<Á3^»nS°¾é4CP‚9¦¾†Ý.–5Ê>w³›šb­Ô¾¦¯²Ð±Ö9½~"#ºáÊ>—À}‘´ Ð>Ò†°ë©€ñ¾C*‚,tã>rÚN+ÆMR½^ú6Æ_¿¿œèo$üü¾©(C“?p*Ÿ1F&¿È¹]B'†½#û6Š/(?’éaè¾/ÓœÀü;?u÷7ÙîEH?ÁbµuÓ½9aÉ`X3P¿Dz@Š~…?ãíK÷¨¿-{i?X]‡?xˆ q.¬Ý=ÌÄF²þ€¿®p_<}³?4ê†òÅ¿RB Ô¿!C²DÑ=5yÕÊ?%$£:¯q¿[Õ1Æžk“?÷ƘLÇÕ‚?ñçŸv,¾°ÁÓ›Ó–¿ÿ6ÁõýI?‡•%Þ.Èo¿Ú® Ægôd¿úEc´™Ã½…+xÀRda?x†QáA¾o† hæe>ó µÚdo>-øx+~Rç¼O‡P ˜¾%èÕEzøs>©2îJH™¾ÃêÙ”¸¾qá à­/=0,SxÅ¡>„I<)aŸ¾"Š:WWÃ>¸K~NŒþ“¾2«ÐËÄ"A=0¿ÉLÃã¾ TpôöÁ>} ÒV5úã¾®}|Á„ ¿„ºm|&|=è)ðyKü?˜Ëtèr÷¾Ù {¬à?øjˆ·–•¿ÉÇ'ÑÇüÃ=ªQÌ»’¿1gžo¿úF–Ó=?ë7Ð#7y¿Û—’Í Š¶=éCÅhÓBo?³hyVÑN ¿z[\Ǭ^¯¿: '†d¸Ö¿rí¹ä=¥‘¶B¼ýÚ¿Nz`<Ãâ\?­‘˜K½}¿:Q5Ï;|¿"³f»³¾¾ 9ŽM$j?úÄ‹dÝå ?¨´8 Å+¿QûÚ%Ñ…b¿¹ $u?ݽgd4—]H?`*3à/Þ>+‚ Ž­¿èãÕ{N/¿e°~Àò€½¡áÀ]Ú¿²Èuç¿-|ÇþÜXòr˳×~>ÕceqOs€>J±ˆpOs€>cIîÇÿ›¾‘<¹Ø#Þ€¾<šÓÿ#Þ€¾@6=;,GÅ>W¸æo(Ž­>8Dñ'Ž­>–,Â÷5&ò¾|¼Áaô ݾnÏúœô ݾ"GTÝã?åÞÖ`*.?¡œ"V*.?,äX i"D¿ •ŸüU0U¿ä?uüU0U¿‹Ì“t±(€¿E……’‹•?8*¼’’‹•?ŒðåâjH¾?Y²ÖKm‰?ðã´Hm‰?O‘¸nzÿw?­}Ñöz8>¿а{8>¿®ÇtO$)¿¶Áü°)â?éü)â?¯K¿ÑNV5¿®?ŸéìíÐ<Ü@ºzÅlò¼§ƒ%È?ð<¿©³ýì½UI èãZ ½â¬Ì-.ɼ{:ÓJÍÖ<{¯×‡*½€¦T¬ÌS>œÃ– =œ÷?RÖ½¿èÿ_E = !×ÙøÔ/½ƒaÈTñx:¾¬‹ä·U% =¾+íWu® =%LÝòŸ’%½ˆgØ[!=p 0-O>Ì_÷ÿåé1½¬ŠîMaÇ*=(üÓ›üóH½uÉQÕ™Ž.=6D)⣾\mŦº…Z½'¸ùF½B5½çì²¹öÁP=â|B½–V½¨Ã€½¡'ž¾•h†Öæ"Y=bLLÜ``S½?¶kH‡p=ž#&ícнÈ[?᥾Øì#ñét=GÈ(Ib=Wøk~z½j1z—‡= 5í²Lãû¾« ¦qkнSké–š‡=¥ÌÊ9q|¤½!yP¹ý?™=%¯Kæ§?Zbã@©¢¸½ÊÁ†k‚½…”~ìÛÅ=}¯¾{¨•¤½"p78$J¿TläÕ›´=NÏ«+h¡½ÖFöZe©=sŽ –D×½¾}kÛzm?ȇÛà—±Ù=1Å2Œd¹Á=&…Õá‚ÂØ½ ¯sM!¸ô=¬H PrqŠ¿PôñgOང:‚”©%"¾!½ƒÁ)>hFÑæåº=&qH¶f7¦?Â'Š•á½oe5)lä½—|Ï>Hâ=ø‡¤xÖ=’ëÇÏqmê?å^þIÙß½Ñbó¬!h=3th{OÊ·=h5ì–õãÖ=±@»³¿Üà}»Ñ½N ĺ…Õ=ôÃï³Ú$æ½*µ_ÙÇǽ®ºwQ$ŸŠ¿á2AÖÃ=Ø€y¾‘ª½1Q$6ÒM =ùOê·¿=àŸ8Éúã1¿„¹2¤Y º½ê¿™G}ÆŠ½]}ß=Sa³=O#â†6“…½žÊò$‚ÖJ¿>Ë|‚¦½T¡5ÙÔ`½R‰>a‡=ŠÎ¥a š‚½sI›TÉ< ?½1é%•½¶FÐ$Éo*=5ÈgµÔjZ½;ª‘‘M×e½Ò߬׿:ñAü§L=Dtòl×aê<\g½ë‰¶`ò¼bÿèÙ’ú±=Wj¿ç>=Û! Û šÌªTÞ!cý½ƒ6k¥‰Ð½”ÇõÉÈ` =®õ5sgB<½P#ßuFq>´a’Ôã6=kÉxYUÖ1=è0Ä2ÓùN½äiÁZgÚ[=‡ú/Tk¸>Ü«p›Çƒj½½·ÈŽ2B½6å£_ž`½ûÝ!a,нèîS¶÷ðò>ÖìÕª"’=öQ€jì‚{=M)X.}—=’RæBƒÄ=î‹áG]87¿ä @ïÚǽã•ê™zäÄ=/ÉdŸ”ù½ßüǾoñ齿ªâûX£¿«*†½NÒ=ZE§ EÎ=Y/u¶ûl8?®¥æ½4› ÿ6×?ØO»2wú=p‰¤Bâ­½û¬aeèQ¼=ôh(ë°ƒÁ=„ž]ÉŸU—?ÆÕö½–Ù­nÀR€=fÐ)ø¦½ Vz*“½în'ªôH?”løTÁõs=պߎ–¼£=H¬äç°<¬Qk»Þï<#:vjR¾‰Í¸O86 ½õwé¯Ì{Ú<;„9¾ ý¼B"ñptÉ&½6¢”J d¾ÙqÖwΦ=' žÚf½Ìæ/µ'v!=nc¡¶.45=ÒŠ8ã[Ô£¾Ÿ±SÍS½ÇжÔÇ6=l±˜Ìû³T½Ú0VŽìr½½ÿH½¾Æ Éšd=KNG?½´xô'ãZ½p0OÄí–=ñ"ù„²1?Z²Ë'=®½Ï¬0ò“#‚½gpqE›!Ì=¢µ®B­Š©=—‹›¦†?âÔÇj§ËɽŠ\_S=0¼=%¤+-â½'·ÀåÎð½š×æoæ?«¿S›t >Òäâ-f)ª½µwëVK€Ò=Û-ˆ%±±==VÓÍ‚?Œ•˜¤Ÿß½0ø{ôìzq=ØÃFK6÷”½'J6­Æù¨½bó(?î@akÀ=®›ìÒb‚2=PÂú£X½Sð¾zIt½K`Z¸¯™å> ÜLð0î_= ù’6+4+½sðà’4¬Q=ŒŒ é3;=Ü`Xîó>VÈÙM•ÖJ=uZ!5/ö½§ äýX/ö=ë¨ÛÓ‰¤¼=ºãc P¢¼½ŸR¼Eî½ÖcÆåÉ"¾š‰fÉ">ć?Ÿ*™1=46ä!œz>eÂe œz¾j¡‰*‚W½ìejH£çÔ>I¿Íw£çÔ¾ç§TüǶ‹=hf‘²fŒ!?oÿ¤fŒ!¿ÃÃF#𠦽j§ŒUBa?¾%å1i®¾–ÜØÝò‡>°Ðš/ªþÁ¼Þ«™ò¼¾k:iX —¾åê`|-|·>1,ý޹+¿¾‰FªV×<ß0ªŽ›·>£Ök£‹©º¾!„[§òÜ>ñÜSΚ¯å¾¹ˆ’õ„Ð = Ø€’Ë>÷23=mÒÈ>H|Ϙ`ê¾€íÃçgrº>p.¬‹ÿöA½¯VÀî¾\èÞ^çæ>×`|3â¿ HcžP‰Ò¾Ž­¢ékY=_u'°¿¬±(øõ¾æ}ô(¥c?!v_]¿Uç?4`½R'Û˜ˆ?|÷’ë·>¿ìV¡.÷5?k[ö" ¤?¿/–Wó; l= ¢3s¯H"?w"Ö¤œ1#?aBCåR9D¿™¥±09;?æBä—™4ž½”‡Ø¾TG¿¤¯²ŠæB?Âñ`Zë@d¿!›“qÒ;¿rmÎD\³=ˆKn0¶m¿Í•¢Ú:•T¿Wà –‘Vu?¶(){êu¿ôݨÙ½ª£lú6f?í7©¶m¿ûˆú]£ÁŒ?Ñî?žtÕ•¿ÇÔ,ˆú̽e¼ _µ|? ÚŸE`?"ÝëhØ…¯¿^¯'Ÿ$”?Z­„¾„ñé=¬ƒÒ\¬²¿GI N†°µ?I÷SXÙãÆ¿‚wùä‰5•¿»#Vmn/¾|¦ÖºúÛ¿ƒð‚]?wñL%_î°¿²Ú«‚xuŠ?å^þIÙß½lÂ4/ä?ÉØkÙj)–?µQƒÔò ·¿’Z—Ì Ã’¿"½il6Ú½î5uŽ:²?Qžn¿H¯ƒ¿ÛëÈð¤?–!ÎçÛV¥?>íÌ”à—á½s)Y†¿Ä~Nt—ô[¿É?üEÙV‚?5:~)ùƽ…ÕfÈÅë·²Âbª¾&!~ût%¤¾ÝÍ î¦Ç£<ìøƒÂ>r³yÔb—¡>²óÇÿ‡‡Æ¾`O[LŒ §>g4ÿz\ =ænyCzо€Ø˜+éоÕOÃÛ×õ>Óá¡?`Xø¾nW'èƒG½4ŠÁ4ñç>óÍMñTþ>6.Uc#¿«êgìNš÷>%¥NÇæY½”ú€ªÉ&¿Öj}T*¿=ñ3tÔfP?µ7ýùMàS¿»j!OY䑽4µý­²RA?/Ñw5†a?1e.IF†¿É¤žw%i?fM°ò½í"ÀN«„¿UŽrà”¿]+sÒ•¸?6 AxAÄš¿ùô5SÀo¾Ó‰|¬³?¾úΡ±ú¤¿O¸îdµ?g—Éù×MÆ?ïÑòý"ñ >‘°‰ä^S°¿è“ª›çUc?[‘ÃÉ·‰¿Éô? _¿½NšÓúð=ó(°UR‚?~d¿f$£<¿8r.þ ic?·@7„ôÃV?¢Òùëµ³=ô jR^L¿”0”ÚPg¾,à ~>éŒ$r¾MçÚâvž ½6µ¦Ne‚®¾ð¾º„¸–>dÖ« Ò¿¾2ÂÊäúÓ¾ƒþ–C=€ÑëH…>ØÓIsþ„á<ë ë>hß7p/\ç¾ú‹Ë…œP=hãoÎõ“ü¾+ù¦¶ú]ò>0|$4³¿óV¹ø^¬*¿ePð.j–=Ô-ϳð ¿q…ö{¿ÌÀïH>?F÷éÉ`ñ¾*Ãæ=>˜VoK[¿wž°”„¬Iûˆ½??Ug¤¥½U¿V¸1^i§w?Q¾ûë?ˆ?µ©ÍqÂöò=ÊÀ¦ù18Š¿dAñ¶‡®ò¾*æè-'Ú¾Lªæ2jV?0<àôí±= ´é°Ç~E¿æa÷›úß¾Ù·’ ?‰· Ä¡%?~]özBàf=äÀU|KËÐ>%¯ßßȸ?.n,vù®/¿÷ئZ¿lC†|Ýg=,­¾Õ¸0?ÿÛš¯yNŽ>ðº£yNŽ>2ªÛ§˜À“>£Ù?§˜À“>`9Ä9ö¸¾ËOXïÇÈh>y ŸÅÈh>¯uêĺÈä>ÙzëáP­¾|3Y^!P­¾ÿ. ƒÄ¿';TṲ́×>Ëé³Ë¤×>¸¢0¥P’B?­/°˜Õ~¿ ú:Ö~¿ŸM³!Yd¿p/s•0ÁT?ÎØ˜‚0ÁT?]‚ñ×ê¡?6=ýÂØ ´?¢‚áØ ´?Då¼@Bˆ?ëN³"¿‚•¿&¿‚•¿ûqŒ s¿¥[¶hÉ¢D?.<^ŒÉ¢D?Ú:§‘(? vw$<÷¿ª'ê;÷¿Âù¾«’Á%?ùv@žÁžP>`DØNr¾½Šû¸¤äR>ðd˜è懼©ÉM•OÉ‚¾‘ _ѵSZ¾¹ºiǵAz>ÅãHÒZ¬‚¾?Õ¨JPé†<¬…e>c Jªf&€¾¨ú¶‰ke¡>¦½Ö4Ǫ¾/qµÈÐÖ&ׂR]>ŒBþZÏ®¾”+ƒ•è׃>zñ\ÈZ½±v¾»˜`²¾‚v° >«>SˆÏ’uZ;ŸÏ%éÚ‘¾#*£Ì!=¶ÅG©DÏÖ¾áä/ ¹¾º¹Y–>Ú>8¾°ÂÊÔÛ¾M1ô@!½R¶SþÈÌ>Œk'¥ó×¾_Q)¯ø>,,Ð;¿zûIRiø1=µD•4¸æ>&}#ëå>Ò«+ƕƿn²üÕÏ—Þ>øÇòté[½cs?[»õ ¿­Ck7kj?cwˆuš%¿×\¨úÈÚ¾Ÿ™’±ÝBs=mƒÔÓóÀ0¿!Ôòš¿Р «î3?ö9uËT5¿m=Ûg‘½‚˜ÀT'?®v( ª3¿ru"q~T?ÞlCdÒ¦\¿æ³xoù€˜½>“†€¿E?.´V„‘D?›F\Î=(d¿´Pê+ö’H?&hƒ™e½ÒvÐ9.h¿‰çj',i?"Hù_o…¿Å-Çz„Vb?x‰‚ïˆÙ½‡ Jp¬Ž¿í‹çdZs¿æp·b|¬?Ø©Ûhûðˆ¿Ñbó¬!h=ÉØkÙj)–?ëô"ðÐv@([wò¼È¿6íÙÞ‚þa¿zÀ‚#ñÑ=¯$]í$Ç™¿Ûq{Á•?÷ô:­¿6*íC®õ´¿x@ñ®çz¾iÒR˜Ò—? ÄR†ÂBi?•Lk\­ü‡¿^¾É7û“¿ó§{ª óá=Žƒg‹xÞ‚?ãé¹ÖPOM¿ ‹!Jm?î ’YtéB¿Z×/»+å°=[[öß}m¿ÿŸf¡e¡4¿“˜×xV?\54'X°è¾,K]¤ê®=liG1‘B`¿6RâÐ[#?Z; šßíC¿ aåäFCC¿É òÕ¬“ˆ=z/¥k ?ÿ )DßP>¦Ø'»"æt¾i.X­i¾lgÿ¨³Xp¼ºÕÁÅ +Š>1úéàÄëc>½;‰¾÷*çÔš;p>cô½ïÙßÇ<^è‘åW”¾Ý~f*¯“¾X*ÝU¸d¸>.]kXõ¼¾Kúäƒpð½ë ÿ&ö¸­>V€²À>ƒ™ÜAxå¾A¶[¼µ½>Pªòƒ«(½eØ5¢ë¾~†²~í¾Î»ž7£?¶§_1µ¿‰h#¥$^½«cK«?ÎðXDý?|=T€ÿŠ@¿"F\Jœ ?´7ó â³½ŠþPIVAF¿&U ÃÔQ¿Ê‡¬ïŒu?|-ªg^+s¿\hÄ-–ѽ a— m?†"Ÿ š‘?ÜZrÖ™X©¿Þ¤×‡ŽÄj?û Be.ÅÄ=ƒãÊ»¹¿,ïOŽÈÇ¿ˆài °¡?ò©¾x0è–?åÂW€Ù'¾”£üXí—¿ÃËÍjG?0„utm¿çàÊ¥ma¿S0Ζ®ýÛg»¸þUa?‘,Ï’ùÞ*¾Û¥Œ1îR>uìÃǪ>¦q»ÆUÈͼJõÚÆöu¾¥M&ëk[>]P›7Šà‚¾Mö¦Bš¾‡\“04 =®"™9âöi>уä^q†¾õ cøQi¯>þ’P§¾ºéW&å=pñ[-–þjŠéÁnC³>p¨7^JHÚ¾?ðûâÔGð¾<(#å}[=ô•–.Èa”>õ Ä3Ö/á¾ 4{ž2?ŽÛ‚¤m±¿¾n¤†*¾¦=~éõIÿ¿Wq¦??Ê ³Þ)¿ì M-ŠnJ¿9ÜkÕeIÀ=ë-ñ§¾?öÅÏå2V¿ÄuXp½q?xÿ–·Y܉¿”9!ãaÁ=ïÍ/h:¾/¿CôÙö^¿'!¼ˆdq?ZB™5¨?'Š È\¾A×ø·›¿àãínÞ¾V–¶Ñ?Š;nLþ`¿ƒÔ\ØÛ©Á½þÐúÑòM¿a–ݨÅõÖ>T¿Ÿ#¿ocƒ\Í)¿â a‹h½rg±ó¾©Ö{ö•¿|ˆþ‚ ¾7?zǯR d$? ·ŽÊô½›Ý´3„:¿lº,lªW>Œ±£$lªW>SHcÄY]>cÃY]>Â,£Lª”¾R æ7¾×ºöÇæ7¾ýÖÚ×qò©>#®P‚¬9>¹´¿©p9>> µ²OÕ¾p&¾ƒ¾1R>É™˜«1R>Eë%°?*¼ aµê¥>] ]n±ê¥>‚ýÍ"ÿ0¿`Qa©i;üY¬Ç­i;©½Œæ5éB?ž˜—Çð&ÿ>Ëmö¿'ÿ>&|‹gÖfš?7KWZ»¿P» ŽWZ»¿®ÊÁ¾‡tu?¸9uZ5?YÏ™žY5?vÆÜTÅë¿vÖmÀVܾØÁɃVܾò,` 2¿RãA´9ir¾EüÝø<}”> —9.v¾ó¥­LØu¼>PIh ¥>1Ì@óÏ»|>EÌÉÔuœ¾/è5O}¤>­¬½'T£‹<6™ÂÍ䡾HCŒÆÃâ¡>ÚØL6þ- pM„ÊÍ>ÝÒ²Q8ú¼³aä³¾?6ì$£+°¾ ë4ËfãÐ>_®35áa§¾ ñUdgN)=ÞÄ 8MÔ>y áí¶ξ0C]-ð> ºiQ˰>ÎOìÿlC½¢ÊNù>¾ºWÓ¼pÛ>xñˆë†”ü¾Íûwþ>‰.¾*1ÌC=éž%­ƒï¾ËÖ$Cù>˜ÅÚÛæ¿®!Z~$?uéðìû5U½W‡H_}g ¿>àµFÓ¿.^Ò¥‹(? M\°Ðh¿bR¼ñ,=‡Vvn-?x¢¨€&¿îfŽ%/G?E? t+ò>Ó€é¸Ö•½DbSR?>ùØy5?O_¬ U¿f£Ro’ÚV?Ô:þÌùŒ²=k?Ïļ^J¿ Ð+ÿBÍT?N5¿~åt¿kÆjOÔ~?Ç"å ‚¸=d:uÏ7jh¿ï~9Æ3be¿›Ì¾rúB„?~^žíANm¿›ÙYª¡£=£‚òäÞQ‰?·¦Á ߇¿¬« £?¢Ï«Ýk–…¿œ­;™õ>ÍÛ’â®?OÓ w«?w]ðD¦¿(2âuÆI¤?3th{OÊ·=µQƒÔò ·¿([wò¼È¿ ÿ%žC`ë?=(HÛb‡¿ë³œ #çò½Éþ«‰Îѵ?màþVž„­¿TU®«œ´?òºPUÊÆ?ŠýÆøÛ.>Þv ¿¦¸Ê€‚…¿V—"·t#£?çî£Ëæ³?½<&Ôä¾nUf¨:µ¢¿D(ØMÿ[l?¨qEœŠ¿ŽÞ y±V?#òÍèMùÒ½bÖš¦lŒ?  ªU?y$Ácv¿³3Œ#&‹¿äžÄüPl³½_=[ó€?6°û cD¿bËžd?#Rn· Kd?uÐH•}«½Æm'iÙ5¿w=YF¼s¾eKl˜>%ÛcVÂŒ>Œ@ó­Ò¯<'|JS{®¾²”…ª…¾+ƒ4ytU«>9xÓ®’¾©Îj¶T„鼬„û^¡¶>©NÔ-¾Æ´>v Q­rÚ¾#c3àóß>6Ë'6=çÿUù©Ð¾FÕ‰Íýäá¾Zªegª?mƒìùZá¾o2ȉTlM=DrÑF]Ì ?eÓ¤®øŠ?ìã^J–Æ3¿ûpÿ ÿ‰6?5’UDR‚=æT‹QÄf)¿ºä¤Š0<¿†£îa?ýxÎi“”@¿òŸ§5ÉÖ=m½[[ég?ÁÓõXô7q?ëü¤öü)”¿Ow" ‹“?Wd˜øuö=§Ÿ(±î¿Î|±þÐù£¿ò¿`B«?–ÅÏ çꊿo^9cÈí½6'Œ$\bÏ?ŒÚ —éœ?Û:3ˆ¿¿»XÛËζ¿ÎݧìP)>“§õÓ·?tÉÿ Srh¿¤¸€d Ž?£ÐôNfx‚?Ötåæ=j–Ù] sƒ¿—δçxM>”áºÍ©s¾HÛ{"G¾‰Šæµ.hïäŒ&°I~¾îföx¾¤>Æ#'%¦½>"OÃ>õ70½6P3ËE‘¾šsn@©>Q mï&ѾÖD@®¼Ç>·„hÊø=½ÒŽòe :æ>„ÓÉpöÔ¾Ï |ƒ£^ü>_ ˆÁ…@?ˆn(¸•νgê¡KˆkϾx˜‹Ha?²eɪ§w(¿•´úá­ž(?pèåÌ×äɽsûù©[ÂÑaFsÃ?eýðT¿¿éħ%*û¾¢ãʼnƒ?éqò‡8ã=M4ûêî2g? ÛWiö¾—‹©:^%?ŸNÂwK?/ziÆ&^¤=X|¨2 ?U}R•Ó=2?`µ0OAoX¿Šýãn½F¿®îr„ËP¤=¬{æ³äÅ[?;Ô=µ> {¾¥ÑM­> {¾ò‚4Û¹€¾­º43Û¹€¾Ï)‰½¬¡>3‰?»dc>8zî»dc>o£Ýî̾$ž'¦"y¾³ ·Á¡"y¾ƒ³‹Ñ°÷>g X?æ¥>9}2ÿAæ¥>\ÁÇSB‡#¿ÝX1Ÿ†<ä¾K& Š…<ä¾ëßM±†R?\Ó?Û†?xެÛÛ†?•ø×Ej¿8%¦äNW¿c#ÀåNW¿U_¿Æ¹¿XùåÐSÎ?BÖÔSÎ?ëÝÿ§;®¿Bk®T4g¿r3T4g¿Ž ‹‰{?ÃÁë?*t¥Ÿë?µ{’ÛS?:骘`¾ÂIÚµÅR/>¥ÀÚï›L>f®TE!¨¡<, éÉ̶V¾Â­=ë²7>î¿Ç¶`¾eî?^ÕÌH>’Žë‚§¼‡?ïĆa> y)¶41>Oúšýrúc¾ëcJ®ÔäQ¾Hˆìë Ç<„î_òUjq>Ëø2_÷U¾`´Õ#ƒ>ÏÀìlÔ€>P¼€8š"Ô¼±HôÝp>2ÓóŽ?Äm¾*)LqÚ0›>Îû¶q›>zÄòÿ³ß=4ô`©Îèf¾a °~\-Š>.•ž2b¥µ¾UÖç«~{¯>%œÐf2 ½ú;ëpÿ2§>úïeÔ¾û¤>ÖŠÃEjѾoÄ\O¬äÀ>µBÈ0Ï+=|[!*0È>s¨…¯Â꿾f«ÂYaŽé>”ÊOiìà>îÃ;ÑBnô¼‚Ü'ÃÍŒÜ>+ÛÇáÞ¾ÀñFqŽ0?;þkç¤þ>˜Rš…}Q=EæŠSÀ÷>YãŒ×Qéò>ÏäòT¿› ‰P?ÉFÎE@˜„=Œ¥þŒø ?]Ñ8mÜÇ?z':ÿì±>¿R>Ùæ¯É-?\í}Œµ§w=«¹Ìx-?Ëè…9¿JTa‘_qb?ÐG2ÁH2?"¡\zK{=|®§ÍsÖX?ܽp4²Kb¿tCù”Ù‚?‚íÓ`0n?RX(„ýLõñÑ„?Þ@XW£^†?¼E–›+«¿%o3N ?h5ì–õãÖ=’Z—Ì Ã’¿6íÙÞ‚þa¿=(HÛb‡¿ðÝ\ç?±È]*•o¾[ ¯.…¿-ù§X|½?ëeÁ#Õ¿$‚@×ã1Ú¿&b%m.ü(¾ Fˆ[ýx¹?²Øi:iŒ‹?¸¥G2ù„«¿àV‡B}¹¿I4’¥>A§8nU§?b<ÿpv¿GYyŠW–?íãTFÐt¿ >W¿ˆáà=WB år¶•¿ 4A^¿!©¨l(m€? ¶ÑmÇ5¿?±‹£ä²=t¾‘É:®ˆ¿ÆžPWU+M?5.,n¿Sh°€¯'m¿”;¹ò‡Ÿ³=R5«BÆÝ*?t ß¶èÕF>ÙÏœ$Åk¾R!Aq)°3¾í^å°ã­¼§:ôC°w>ýê«OCE¾úÎÔ1p>ä+P$Ü `>›¢æ¾wº¼˜w&l:¾ó«^š¤q>]ÍsE`Å›¾,¸9d€>Ï/WMxd ½­tà˜Ö>ºA)”¢¾ëˆÛI×FÍ>Mp‚ê´µ>vý'œä*'½þnBÆj­>êi›4óÓ>‹Ãcqfzÿ¾K»¶ø1eê>~ªO¦Ð_½Ójp°à>ÑYãHæS ¿ë‘8Ï©Ê5?KœœTÏ?³LM‘Ÿ½lùoP¹%?§à|»÷‡K?ãý;õžv¿øêõ¹G×Ô\¹­Ô1¾‹ê,d“T>ÏcPYK”²< pZbîvb¾?”“§‡¾ŒÊvT>ÜW­†ì(v¾Ýõk=ù±›T˜ES>åÎ9>ž‡¾Õž og¤>Ô‚ó"A)=–„ B ‡¦¾l|gG‹¾ð ¦ÙËS½>À± $taþ»RQq+L=0bqcù$Ù>#„DÒù À>š¯2êûkò¾—a®ã`w ?°Ê`—…‹=ó8óÁ;ø¾AØú½Ñâ¾7'¾h.?VÒ+„$¿DZñxô¤=òÃîhå.4?¥+{Z °q?%]DÎb“¿a&àŠÞ“?œN*è½<—”,£ùX¿ò5¯}?ˆ¿–*5ìØ¢?%*¦éßÈÓ?ƒÀÈÀ“1¾õýe4ù‡Æ¿ .éÃÂD¿€ÛÀ jÑS?o·Ö ÖŽ¿QôQE”Jè½ÏÛÚtÄ'?SºN£º ?¦H+î)8¿cúÁú[W¿€æïû|嫽:+È 'Ñ?Ùړͼ0;¿…GÐrÌzb?Pq8ÆgVN?²…5¹ãª½Zdζld¿¡Bõ{hO>8(uhO>\aP xK>ç± xK>œW†<¢G¾³"gV·cb¾Ý$^·cb¾*Í~”Óh>.$!H—ñ>«Â3—ñ>É©4e~Vˆ¾XMPÞ ÌÀ¾]‘câ ÌÀ¾y¹¡ý½é¯¾Äu¥t·ò>ŠK­t·ò>ö²`mú>‹òeP(¿¢\cP(¿«à.õGpY?za¨W?®±]R¨W?´§?éî¸?¥Î¤³Ñ?³i¢³Ñ?¢#¬;»“?Iìq÷n¿‰U`9øn¿§cÆd[D1?e#q&e?Ò R$e?MJhƒÞ[¿½(ë­<¼R3¦‹¸Ï¼)Ûb¡©¼Z¦ý0z¿=©µã"ÆlÔ¼§ùÕ8 í´¼™¦ÞÓ½\£ÂÔ¼ý¡Ãj3*>ÿ­‰Fz½Óðvˆ‡t=`xpû+½ýÊS) ½`(z²x>›:>ü1O1½kKM\Œ½tps£ž;=1H Ÿ:½&6‹ðœÃ>>‡º¥r=™‹' ñ4½œ§x _¶X=Tò ;^K_½C·Éü¾Eâ¯ÅM[0=̓àoôPD=ë‹E•[h½Ç}|Ü=@½ëa`çJÌ>fµNZÌf½JIÓ–ùa=)”á_(Ž…½r«Î¹ g½ñâADÿŒè¾Ç½|.œˆ½pêt½ ÿ0šó™== ŒN˜½HýФ‡P ?nÔì‚r=»âƒÒ]2•½Ä6¾MÈZ»=f²Ú?ø¸½gbw5,5¿Ì9M¢™ n½wîç/#=ìºhÚ+ü©½6C£šÁ½½üÏÝÔ¡3¿ÁˆG®½3ÉÊÓÎGÁ=‰î¬²òºð½õüýʽþÓ¤šc_¿@Õ ¿îÞ =s …ŒpÒ·½ ^CåGÀ=ÐåÎ úêÞ½±@»³¿"½il6Ú½zÀ‚#ñÑ=볜 #çò½±È]*•o¾Åf~ ÚÇæ?¥ÑŠ±Ø½X@Ôý[¾~[u–'>µÊ¸Jøôí=ÈòSQ¦?¦ˆ ÞÖÖâ½7Í·³êüº=YiÏôŸßU½ñß rïÔ½öÿ:Õo_¿MæGæ=æFÝÿ¡—½]9<¤j‹–½?É\®Bº=f^5/Û­m?ïµÄTN½²+bVé0`½&Ì>?‰}½30× ¢=vüw25¿Í}Ká-’e=ôﮬbrg=¼ðó‡3_x½ïASU: w½•þçýñ?WH{=œѲS¼§ŸPO <óãW]år¼¼Úªs}§¦½ºÑåH˜Æ<óºDšš$È<[zš0kQð¼Ñh·Ð)Ä“¼Oc8Akõ½g&®Ú#w”håBõ¼£!²þ:=n¥ÈZ`½¿Z¦Ô5\9¾ „8/4=¦$«â,"=}X/I½Œ1j¥÷ž ½ŒgUøm¾w„_8wF½Êuã˜P½Ew=“@ÖOt½Ì &e£ã¹>I¦ÏA1}Q=+!ÇÉ‹~=ùhSsðn«½CƲ …½‘Qú9þ?¼ìHࡽ µoô¥î±½Ñª\™óÙ=/cJ羋۽:"@ÔUq?’Ý•¶ï‡É=XÁ}Í =¶±¾^, š½<¸{­QÛ=Ô-É¿8­?ÄZ¼ˆ± ʽò!Ivëgº=9ÛΛ’èÕ½ôæðÇ–¼=ç”ð|kµ¿Ý h+…“ø½<4Yªos½r ëúi°=?ÕO¼Î+—½§Hº¸†žV¿a÷Љˆ(¸=þ޶pyœ¼\ÓÝðîÂÁ<×O´°„¼Á¼•º¢²‘+è=ëUæu{¢¨Lçme³³ã¼š‹EH强½÷ì3‘=<Ï:P£;½Ã„£^½¬P¾ÌìE0ê½ÖŸkžÜ=®-ýd;½â–UoÕ£E½ZFaðî½¾ÂøòË{Ó=½$¥ì˾Œ?½®eÇçåˆj=2©(­+s½Þñ¡_‹©¿5À{žÍÎk½¹»"'"€€=Z͘µ>­½ŸYy)°½ ºxå)0X¿]"è ð%s½ƒó…X³½.×uèvîÛ=n­ß;Ôêê½ïnê,¼ïš¿5O·g"ªá=¦-pøPÐ==ÿG €8¾Pþ¿jÙð=dÚÈç퀰¿"öÖ¼°>M³ÖĹN—½+ðç]l¬¸=Ê|2„-¿=†WÝÜÇT>¿G/˜[§.ͽBá_`]O½t1_»!†u=öZf~äz=%¸³^¼¾~yÛí°ôl½,–†ÜB½Ãs¿Ë›_=$…Të.y=ÖC³ ß¾Ø}Þ§$~½É·#Zˆ=îôW wˆ½$‚ôœÝ<|½ÿömpf=|=°³ÿöŠÒ¼±}Ü‘¾úíÉà‘>Ñ•ùÞ1=L,ŠHü®[¾,8 }û®[>uegÊøP0½nàäò¤¾'·hó¤>¨äž¨&.\=ŠÈ5E~à¾pH&'~à>C÷ ˜}Ým½âp»…š?œ Ôþ„š¿Ê ó’=ërçÉ:Û‚?GZÅ:Û‚¿?t~­*ã½ÈhsµÞ?òrµÞ¿ÐVYΜšñ½&jØ…?åˆØmØ…¿•„°ÒÕŸ½~¼Na 2?Gâ>c 2¿]ùÙÒ89Q½J¶Æsÿ)~>~M «Û ¾CÓæ/>…Wíµ¥¼!ª;%ð¾jÆX3*ˆ¾È»<´yi¨>¸GuQù°¾½V­º¦hµ<2u`"†«>Ò³–>(­¾Ê?+œÏ>äâ[ؾ)i%0½1=q} ö|¾>ë&Ü–º>™ƒX$ܾn“a/ ®>w7k³Gœ3½s·f‡à¾aÐq²*tØ>ž¦gÜ-ú¾Ø"Fv«›Ã¾ç);kÌ­L=&GŠ*VR¿ Fê5€æ¾¹ý‚“Nß?ÄS¹Az ¿÷Ïß(ó¸N½:ð•»â÷>³Ò ¿?ÃïÈT&?Ê1ÝZQ0¿À–¤‰ˆD\=¼§–·þ?¶û¬Å<6?†ù ‚–>4¿x”uZËC?  ÀÙA!‹½í3+6€7¿[ùñ Ä1?]…RGS¿æq×KW^¿±‘I¦PÉŸ=&Űú†¢\¿ÉßéG¸A¿h¬´6rb?ïÒc¡nJc¿µcšÐ0ürÏ,T?앪½p`¿—žï¥Ø=?x¾…öJ܈¿8}*“ÔĽ2 dE p?l·o^)¡o?mJÊÒ¿Èv(¨=qk?°â‡uö£º½³HÚô“¿vš ×™ú•?´×ùYš•µ¿dóûÃs‚??ƒ®F¾†¼ô_žó½¿Ð©o•¿£­°ÿùà±?9áÖ¤;ø¯¿Üà}»Ñ½î5uŽ:²?¯$]í$Ç™¿Éþ«‰Îѵ?[ ¯.…¿¥ÑŠ±Ø½fÇêq•á?~zå¡¿ö­75\·?_ÞËo#Á?ÂÏŒ)Þ>ž ®l¬¿ûw®)k?3W¯gÒ½âvˆõ|?Jõ,à G?…â j¿}æ²ä>œ8?ý‰Bâf*u½ÆRæ\p?fÚAýO94¿9 ÀNšV?eáŠVªôS?ðÑ< ½€«{ ­í?~ ˆŒÐÉ|>‹Ç›ìÔ¡¾ðv—¾ê¢•/-‹ÐÈúc’>›šˆˆ|·¾:䬭#›>õh(Y$ù<¹Œ›JJ¾ø!|Æ|Á¾&#V&æ>‹jðwê¾Ø‹¸¬Å§?½O¸$[ÜÙ>ñ¡jç:òí>3ÂÅ–E¿Ùîì’æ>Wð§Kz|S½¡õ­¦¿ÜFFÁ:¿¦Ìb¸Ë»@?›ýšÑB¿Ù<šÈ+‡½bh­Q³2?)ôÌdšI?u#[ï±Zp¿®28M?£˜ƒÑAའÛÒ®œr¿+™LEŽu¿z<"¸á™?NìGi¡¿ˆ ü½=«Š¿É!?˜î@aö¶?Ûœð–΋п^gí5ä5?÷L=@ë=\€íüà¿ô0“£!š?òMúj³¾¿ª¾sâõ~¡¿ÝÀîÍf>vlDøG²?¸}ÁŸEX¿î+9QY€?¬x¤`2žq?¢1þ†wÖ=pWˆ".}i¿/]D½¤X¾ ø^wÒ¸€>*{wľ]5¾Íwcü¼`…¾Ù%1£¾ö ë¿Êˆ>Š“A±¾ñ(¸lh;Ǿa"¬w68=_—x 0’>x›Í¨¡´¾¾a$³ÍÜ>`ì… —«Ö¾Z+º··D=4xD–øð¾ñ+³0Dá>=¼I˹ ¿Cîú>7¿L¤"Á<ˆ=³m,—«Ç¾Nƒ"P¶ ¿ st\33?ò–cãèŒ-¿ˆ»;§±Õ=/G‚‹˜ÛE¿‘ÎÇ°Š•@?&¿—ãqXe¿9ço˜Âr¿xŽc&¨î=¸Äq~j¿í9·/ É[?¡µë`²/¿@-Aïi¤¿³Öé6a·þ=Ö?pk‘·¿µn·E¶£ƒ¿±dÁÍ×ʦ?¤MÁ¬R¼¿{„b³d>þ •¹?W—+†ôA?-; ¢šDf¿rW£d j?ô!ŠWºÎ=)<²ÉUt?3‘p“&ó¾‡1œÉð ?‡”üÓl>?/¯?ò'‘=“I]ãz¿_7ðRŸë"?e­QüÀgJ¿PçÛ]w.¿{”ë´ÐG=½ºþÿ!«J?Û— ¦.„>‘‰Ÿ.„>—˜ž=b@‰>>cG=b@‰>xˆ¿CI¬¾ð@ZiF>¾S›ksF>¾ƒeoXÂ×>0²&ýN¾²Œ«LO¾°ŽäÖ÷¿²[zÝêp¿>Úè  èp¿>qMLÍ‹0?85z¦ñ¾¼!(¡§ñ¾°0߬ÍV¿fU–º ãî>«¹e®ãî>5òR'‹?ÎÒÖ c?¿þOÒ× c?äJIošõ¼?`ÑYÅ?Fé–ÒYÅ?žUÁ2¾b¿§UTßkÐP?¢¼pFlÐP?¡˜³Ö0?ŽJÕt–¿HãéPt–¿€qPaPB?ØÑZzmL?¾ýÚÁ@a>Œ,æ5Áx>¾]qêoÒq<Ìóýõ(q>í>†ß]hI>ŒÕ§ŽÏi¾`ÇHHÌ«q>»ÓsSpÜš¼æfmH÷k¾:{ºäÔDn>iÎk(s¾µ¬pÎå˜><髇uü¼áãf¸¾1½'Ç#­{¾)›Á`–q>½åÞÔ¦m¾‚áØ+wÏô<|²ùi 0¡>ú^{,‚™¾ «t¶ Ì»>ÔÛ bÔ…>æ(ð¸w½33|Ä Å>’Ì™×§>ÿh¿ɾ>Û"3EÊ>§ùÄ¿å =“·py\¸¾SŠyO›xÅ>xÁ»N6Sç¾L K Þð>Íjqn>v½æ(Bž€Ó¾ÀDSìFƒÔ¾Z/´A9Ñõ>ðþˆwľB› /tuG=§Lù>!ë[Ùðò¾m+Bý¦†?Á—ΛüÛ>\ (=&*^½ƒSó’dÑ?+e-+Ó?E« _à¸"¿1–z˜¼#?LU±æ°N~= J¢zìY¿$WæTc!?fÀA/½ŒB¿y¹…{nãI?E¨gT=ÉŠÏï0¿·™A#z¢3¿0ð,KT?ØCÆ<—á*¿=§ý|b<[½\ *§±SW?lm=%è5M¿^‚|óQl?ó¯e9Œ)?;ιJR‡°=™šï w?<ÖCŒm?7*”w)î‹¿#Tñ ÿ‹?N ĺ…Õ=Qžn¿H¯ƒ¿Ûq{Á•?màþVž„­¿-ù§X|½?X@Ôý[¾~zå¡¿Aƒ;b]@¡=ƒºLÈ¿¯ígüÁ …¿>« <>uÔ¨?«êùLÈ£{w©W>á¾°Xó¼dòOÕv¾#D3¤cS¾lu1[×x>€zíº4[¾c©à£~À³¼oiÜÂÔæ‚>Í ~%_‚>h¡øGA§¾sñÓm«8«>щþ8vUÿ<›dJXQv𾣓Ñé쯾[mz'¤Ô>Q Gæß€¦¾ UñA=Ázu Ù>"™QÜ>D¯ìÐÓ¿wøú­,?ü4ŒíÙF=רÖOó¾Që° Yv¿¢ ƒúò«.?œ¸Q\òóø¾_$Ž|Ÿ=6ÔW&ˆQ4?4Ñ.­<~@?Ý¡8Cÿd¿ïœч^?rsæO€˜=„›ÈÕÆY¿>!ŽÑ1q¿­e÷’?>-&¿Ç’)â ÏØ=DO0Z±j’?wD¢n×e—?"ÑJ𰿃%SWc<•¿ÁßPÔ€¾†Ššh À?;¨»ÏÙSQ¿È$ìs?ÝxigØo?8Ïs8}½!›F 'm¿îI =É>ᥙˆg’A¾†{Gú>¥gØ2±¼<#GwgúAc>®GùÛI¾ášoÖ£r>r)rH´‡>´ zw¶ù¼NàÆx¾ïK¾ºÄ?o‚eu>#f7Q&ž¾Pdd~¬E˜>b8ÒÊú¥½@Áè!dg±>$èM¢¾ÌLÑ/ñÉ>ŸšûìÜ>RšŽ§ôˆF½‘þÑÁïÕ˜>*K­³ƒÏÐ>:ýí‘÷¾nQ“ÅÊú>€å Á ¯’½dQG#[?-ÚÐzZæô¾Í%µut¡?òÂYñœH6?ÂûStE‹˜½ÈDQô-k"¿ßOjäD?C8NHf¿OYòª;k?ù»£ r¶½>oŽGzk¿à§”V²Žˆ?+± _}¿"™ÕAit¾¿¼Êd…Oú"¾%zfE½¹¿Z¸³B¸C? ž CXd¿ÆÙ»+ëP¿•œ"ž“Ä=¾N•"Xo?¥F o‚é>«s]H˜|¿:‡užh?wæe´Œ='€¨ì7“1?2´Zî!?rúH¿ =ã<¤á3¿ÏÇÑ%6ƒ=°õâ¥,&L?ýŽV3ËC¾d\ÿ2ËC¾¡n y!=I¾¥6}!=I¾±Q¾ m>r½P”+¾WÜ—+¾rè_6Þð—¾­:`b&Y>“áõ'Y>3ö¼êEwÃ>±7šŸ=åŠ¾š¼·›<劾·gæc$ð¾ênê3%³>r3f\4%³>ˆ'Ç91,!?–`ºñ¾= v˹ñ¾m/Ð?F@¿‰ ÓÚ!?†Ù)ŽÒÚ!?†—=5h‘?°ˆ=ÇÀP“?ö`*ÄÀP“?ÆÐyòCœ?„§Dxòv?Ynr$xòv?¥‰¤t¹W?I%˜ ˜ï¿ž~ä—ï¿3Á“±¡KB?Ú«ì3¹Ça>2¦,K܃¾ZâýÚb>¨­«¤n‹¼ûqlÇ=Þ“¾?]ãYÖ`l¾kÅ6•Œ>ô›µ5E”¾‹ÿqF£Ð§<ýFºh>©ân£è4‘¾—èÙC£¡²>¤äu¼¾Ó]üÆç<¶²¾,¢>èä3¿ÒEŸ>Ç~‚e‰À¾|!ÖÖ®’>95#ú_÷½ä3ê:ý~þó]ëDä¼>'D…†ŽUß¾ž„ û¥¾6ŽSÛ£1=Ì®r…è¾ûú,‚ʾ–ÓȲ ì> áèÏˆí¾›Rð¬0½qj®ViÜ>· ¹ä+è¾ HÉU ?Ù`°Ê{¿”C‚åoA=|‘R bö>~¦Â ÷>iÀ'ó9¿&ô3ûqë>B?¬[êÞi½2z+91¿tò䇋9?T18›ûË6¿Í„þ¬“òø¾È' Öá=ËÖ°A¿DnJ˜–#¿EýgiI:D?¥6Ǻ§E¿Ujـ㘛½Ç–ó£U5?Á"½qè6C¿Jê¨@Ú$d?H1ûø´l¿€¾q·j±½hë% >T?ùÊ^6ü U?k¾“áÿÆu¿b~Å×ÐR?É#ysޱ=0êçÌfÕy¿I:™£Öl?Ê©¹d׊¿•’h‘€#¿?IE å½fÖR>þv—¿Y´-' dŒ¿äLzg¦¨?K‚Ï%ራ¿ôÃï³Ú$æ½ÛëÈð¤?÷ô:­¿TU®«œ´?ëeÁ#Õ¿~[u–'>ö­75\·?¡=ƒºLÈ¿~Œ…Gê?)ú3n3¨?|3~ê2R¾Ômõ«õ°¿?B¿~ Ç?àÀþÌc¦¿§~c‘¯™¨¿ÐW¬>f´Ôòó†²?Ò~É ô‹¿èx9øx¸¨?ÑÂX“€?[G§0ç=ï\ñX¯¿z†Âöe¿ú‰Ca^…?,®Ý—[ W?†¬Ma?]Ö=fÿ‹•ÂòŽ¿Ìêâ¶æU?ÐI³áu¿2^ £&u¿.k oc5²=&Ÿï½O?ÂþÀŠûRa>·ü£¿èt…¾þoéÔå@{¾mL¹`e<¡5;¿;›>qPÓìW‘u>»,=9e›¾1³ð«[€>sÊËV×<ºj¤Ü¿š¥¾« ¦—z¤¾{«GTYÊ>|pI”×ξ ªžG#½+¸ý9o¥¾>æÀÝ£¸Ñ>ãFóq™Åö¾%òìS.Ì>jNšªK:½Q³OÈuü¾í™Uƒâþ¾fÃgréÆ#?T¶%Wc%¿ân„Ï€n½/í—ËT?ö Ä•ãö)?øÄ¶…ußO¿fµH·aß?Õ´©ý*{]»vöV¿ãp hYb¿~^»‘þ†?ž —ùqÚ¿ÔªaJ» ¸½Pj-ÓûÅ~??Gr8 ?!¤i%Œà­¿‘ÐàÙ¨?‚&_:Jêý=j®U²¿ÓE òzÁ§¿Š{(Þ?-/kç£?`µB‰8¾®_…ÐlÅÒ¿·ïOpš{n?ƒgëÚþ¿€+é¥I¿3$~¶æ`ô½Í«¥yøŽ?}÷íçò<¾‘æIË–c>2ìÁUpò½ÊÅ ܜܼp›#ꆾ©4ð3ÁPm>æëCÝZ”¾ª>|RØœ«¾üb[Æ=Á!¬)Ýœv>bu¶Î˜¾Ùš`ÔÑÀ>S…;#Xa¹¾ ½¶6Ÿ)=_`Á‘DvÔ¾/TÚù†Ä>?ÉÖ¼Bì¾¶¸hŒN¦¿e’…%ãbk=9ã2ÊÞš¾¥=_Úò¾“æ¨t$?žx²¡ž™¿;cÊo,tµ=Ñ ùr>*¿zŸ¹6?X¹“Aµ;¿íŠªò·ãY¿ øwÒB©µ=ÏeØËÝjO?´Â™Ê‡ge¿  OÄg†?`tYeQ?¿Öúo*2Aà½ÖâÕ@8”?žK½ã:¿ ·óÊ¿ú*@˦ Õ?àc<Ê3¾å™=:Ó?‹Ú~N9Ó^¿'$í¬Þ~?±ìó˜x*?®UwJ‰î½­&9,¿µB¤.«¿R½T»ìw.?Þ°ÛC 1¿0éžÛ¸½+2´¹S¿¬Û0²ñïA¿ÒcLNqÙg?Siˆ6ÏU?ä*~J> ¶½³2¤¬IÅl¿íøç:K-h>ç)3K-h>Y ú 3n>ÝT¬¢3n>ÙæI6K¹¾§Îôë3¾îñ’ë3¾>ÝÇ+|»>ˆÀzV1l¾|@§ 1l¾°MÐF;æ¾’ “ $ >PÔâû $ >®ò¯ƒJ?R›¶¡®¾ÕZDR”¡®¾ Èâ$Æ%D¿I°eõ ¿?9èƒ ¿?ùƒŸVe\?5Ÿ5*¿>nݲ2*¿»_œ¥’]±¿Í#è?y³¿ÿE¿ñ?y³¿àðøùø~¸¿: Ú¥„•¿é5¨3¥„•¿±:?9…w¿¾C}1ƒa8?vœ \‚a8?õöüAÎb¿äRA’~a>0 Ïw3ƒ¾ìN®´ža>ÇÕÐLм8HN'H÷’¾$ÚLűfk¾|`CKŠ®‹>m1héI;“¾3”ôL@¤<ÙÌ1Z->泺_±…¾@ä à^ê±>d>yG»¾œçIB¯5üž>@‚}K¼æ¿¾¼S®k¸N‘>©Uk“›½#êEÜۼ¾3.uCŠÆ»> x.Þ¾2(4…0¦¾ãûp›„0=Š,‚Εç¾ùð#Áå†É¾Îzë>ì2suì¾ô ¥x¶/½Ä9!¥]ûÚ>dª«œNç¾Þu5S: ?áÏk6‘a¿ï;±@=­|ÀBõ>!ÆúÍ"ö>ûŠ[qh¿fÇ®«Cdè>ËPnçj½ÚîÉ¿Ã@ž¿i]?lߨŸñ5¿A ,g®ú¾|Æ38=¬Ü ÃJ¬@¿‰suO6#¿ýÞ¸ÌD?˜sÖ¬;E¿"â"î’< ½b}s 4?ô¾ð½ª¡B¿üÆú#ý¹c?¾6ôël¿ÇÇeÄUÛ­½Û„ù]ãR? ’ÕNm%T?!D,¼®”t¿½ã!ã÷¶N?$(`0 š=2 þ’½ x¿»Œ¹söem?‘×míÕ‹¿NdüFè>:Ù.ü…ݽt{¹º‡—¿Âà°Ç:ó¿E3 T:J¬?~Ïô1·­¿*µ_ÙÇǽ–!ÎçÛV¥?6*íC®õ´¿Ã²ºPUÊÆ?$‚@×ã1Ú¿µÊ¸Jøôí=_ÞËo#Á?¯ígüÁ …¿)ú3n3¨?tÖÀÛ7ä?âVЧÑî>M{b5dªŒ¿§DØNÊ¿‘Õ´Ôk²?ˆË90Èq¥?dÆ‘_[è½Ó&$c‰–¿Øåäù¦¤r?ÝàÒäÃ_•¿MÕP|JÖu?¬gÿÑ æØ½¿)œŽZ”?³¬Òz\J?#ö4€}o¿°YðÍ ;?x%6¹wŽ=ÐzƒG^Œm?íK¬q%2¿ ¤S?ÐÎV?üjä§q5Q?¦òòvr½y½õãTh`è??Ñ‹÷?‹B`>Ì1î‰B%„¾Á6¡þ—z¾аjhŸÈZúÜt>J^‡!]¤š¾ I! ‡Î~>ÿ;~ÂGÖ<î¬@­µ¤¾RíË!æÎ£¾”{°6ŠÉ>¢Û¹º¢Í¾/R}ô¶ù!½5Ogk<½>ÂÉ¢nÑ>¹´ë ö¾À¤ÐçÀÉ>âÐú¾Y“7½¿n»$AZû¾6#˜ûØþ¾˜äóõJ#?ÆžVc(¼$¿Ùú±L^k½Âë„AÇ`?¹+üÊ×)?æFƒ P¿= A´Ì¨ ?uKÕóÁ½í&¼h U¿,oþ}`¿Ì;X1+Œ„?œd¸9߀¿I– ƒšÇ½Yð˜y? ã÷}?ßv.¼ û²¿½wM®?ÍP;в½'È1×·¦¿/ƒ,{w4‹?OЩ‰j•¿Eþ>›Ý˜Óß¾+è±+"Û¼ß+™úÖ±…¾SSÇ`\+l>°GV$G›“¾3å„k¤Mª¾í½¹\í=ŒÊBˆ´s>úÕ£ä!F—¾Å7ê2·IÀ>1ó6]„_¹¾Ã!ž*JM'=?|dÓ¾¨8ÚHвÃ>õE:ëNë¾Ú+ã¿W ¿]Ù¾åÖi=DiY@¤¾*Ôºò¾‹C’x³?jÉò»%¿‹–tŽ3µ=dþ³+Ap(¿ókSG?ŽbN!>¿…b³É{ñX¿?ü¬°Á=h§vúË#@?O’kHúb¿cA>Cs…ƒ?' ÉJz¿•“ÊÙôàØ=—èë!Âr†?7¿5Ý• ?#…Kk%”£?t£õ”Ê¿m›âLöíã½~f—€Þ¿ÔO}Õ‚E?Ñ ÿ콞h¿Éi,k‚ }¿c¸°µqÅ=`͉ò‡?=NÅ…Õ>yŒŒG4 ?”V0f¿®Ò¹§»=½pÕÍA@@? ú sAf#?8yuû(“L¿ä‹×àyHã¾õîá±–Y½j¯Å~K?íÞM'o²f>€o²f>mE^a_Šl>aKôa_Šl>ËôSB›ý¾Ì‡º‡ý\!¾òúW‘]!¾öÓÔ<¿Eº>"÷5^¶ur¾ƒÌ¾'¸ur¾ù¦@Ðdå¾ ,Ð+Ñ›¤>µÐ Л¤>ÓDñ.‘“? Ç?8½qɾ14¿qɾZÃ-$çTB¿– u¿Œ?]ºZ龌?±•ÐQ“d?µÜàô¥H¿¬Ñ¬jó¥H¿Ùã^tú4Ÿ¿ºhðÕ½Cµ¿³pÁÓ½Cµ¿ÁZ-ª¿„øRö?æJ/ö?%¶ìS¼ïc?Ž_-¯‰Í=¿¸Ãr®‰Í=¿ ‘‹’-A??ˆÍ5U†òqÍÿ öß¼ÿUlKcä¼nú²’>]|¾‰´R¹¼å&ýt«<¶oZM~7ï¼GU®òû¼õârῚ:¾GW¬Ï.=ÌÞý‹Œí¼ë÷[ ô=Z¬YkV£½¢ýïhÏ{N>¼·Á9«Û½wr”;šž½×½gø0=c¡uðg ½3[鎾S¾éƒ—&œ‹,½ ’·â$=° X•]¿N½ó(–£Àé@½šŒ Ï ®ž¾é{Ë‹ú¿C½œÃµ#G= ö,"ôo½C[ ÜrW½›…¢¦Lÿ¥¾ÜÞìú[e½y5=(Å_½Åоx$Î…=d2Ýt½ó6Ùÿ¥ ü¾^ø¦·´a½~>xÅ\x½cíA\£=%µu1çš•½|RâÊ%ñ?®O.Ïcн©×7€-S‹=ÆRõGùñ´½lÍæùͤ½\"¼øGJ¿ÉâìÜ<¾¬½; ýŒÛl¬½Õ=6}ܽ sØmÒ½9¾Xþ6m?Ú~S{’½õ°ÊFg(ýEk ¨ðñ=X‘ꯇ置ºwQ$ŸŠ¿>íÌ”à—á½x@ñ®çz¾ŠýÆøÛ.>&b%m.ü(¾ÈòSQ¦?ÂÏŒ)Þ>>« <>|3~ê2R¾âVЧÑî>Ʊ³U"hê?oˆæ)f~ ¾(jÆt"øì½ð;ÄÍžð½¤!’ óxÀ½þ™E! ¦³¿Ðµðªæ¾}¶÷LrÔ½VåÂmj>S #â½ØœpCƒ•Š=†xµåtbº½àÒ"Œ$ ¶½æAƒüÂrP¿1>Ѿd𽀿{‡¿¼Y¿½Ç ã<ƒa{t¡}¦'(GüV²ë¼m?’* =L.+p†3½De®iy½qŒ­eb?q>°Úñ"½¨^ê%Å7½Ñúºƒ›©a=8ÙÆm3P½RòõЕ¸>ùh˜¦Õ@½•æt‹ r=CQëù‡µ½Ÿ“‚ýÞ»m½:V8qYó>ç þ㧉½²¨?˜Ÿ7ª½âpÝ™aÔ=öý‚»EȽ 31öT†7¿ ³%]–$y½Óˆ Ÿ¶ =Ô¦Õ xî½ÇU}Ïú½Å´t£¿¾b'<Ïï=;ë ˃¾dÆÊARp:>wµ™»W¡ù=÷¬”õe!×?%"´Ã<£&¾’‘3Ó7Ò=cmtvóõû½ó'_¾ ë½;{O—? ƒ‘:.0µ=ÔäÇ-@/q¼|ßñU…<6å»hż AFÎ+¢»½âŠå¡¾<>®·ç£Hæ?8Œ¸UÅ@Õ½QpõÙ=t½úSJ4jãÄ=à§Ïγý½ôõ¨ñ?Pˆ®¬¿> ö0£‚=à’ÜŠr©½ìYÛԓǽhJ¾ šï>?.gIx$~¹=‚ù§S Wƒ½U¢3½¬=QC?qÇYb=çxØÎ¤°G?(öbw9f=L»ö”6"³½z9–á!³=T ù+q=†ز 0q½¹‚] 2Æ%'®²“³ =lž…£F{>æ‡Ô>¢F{¾ïXC4Å*=vr Õ><xE Õ¾È8o5o=äž}ʯ!?ÕéEtʯ!¿¢íf¢Ùª½«ê|*èra?²R!èra¿á ³s¬°Å½/OE-¦¿,5Æ1¦? ²ï sá=h¼]üÔ`°¿™-ÿÔ`°?¯#æÁ=Ù°Nœo¿N+±Nœo?*88V‡Ð ½¹íñe¸ó*¾{U³©NN><Û»ûšà2>!<²Ý(ܤ>Ä–a @>³„¶Ö­4c¾µTî°à a>|›ÏñN&°¼ÎEÉô&¾).ß•®âY>º­3§o”~¾Ç¿hâIû>ˆ²)âÉ£<*6JSÓ\L¾zs$Ml¾°÷´îµ>·ä°c> jÚŒµÍ×<¡‹æù>sy1(s鈾µz#ñÒ¶­>”ÕHŠÓ>‡Æí|eѼÃÀg+ô°>î{ݨ±š>-=±‰À¾í«æîþH¾>(Ü"ð¼^n÷¦e“¾åpjÒ·>`7Ë¿ž”ܾ …mFà>è lé]=¥x§xÁ£¾Dc.yÇ˾»”ÌÆ©Ñð>/MiCßÔÃ>«eD¸Ny/=ùºh¦Cï>Ç}C®`龞©87¸ó?G9µqbÝò>¡P–Èó¢¼¢ æ@<?²ÿØÌì ú>ÔF«›! ¿¢#V¡Ÿþ?ä]þçò”ƒ=üë13>Uá¾Öß¶ò®ì?"&ªr;³C¿^|š VE?ëîh]dÜ„=åi®¿¿˜’ð¿X3¿J¸Í{¸W?#6ä 5?ùјÕ®=o=…údT?”˜ JG¿MÑtm?âˆ/Y•X?ø6ö"¿Aʽ# RÉÕäb?„jÍ9qúz?çÆ©ÏåÞœ¿e9¨sš?á2AÖÃ=s)Y†¿iÒR˜Ò—?Þv ¿ Fˆ[ýx¹?¦ˆ ÞÖÖ⽞ ®l¬S{•*¯?«À¶AŠ¿e;Dú’°?œæ‡©\l?ƒÍŽK\¹³=™lªK-¥²¿ûø,²øai¿Ã'ÊåÔŠ?øÀxB?=4ÅDÓ=‡ƒ¤ÐÒÇ’¿_ã°ß¯àY?A-ªy:ºz¿œFEöT÷x¿@ŽJÍ53ª=I'M:Š E?y*&k_/>À²¼VµR¾ý‡`f‰8>i¬º¢+é§¼Ãʳ„°R>vZTUüæJ¾9ËT—»ur>Þ}‹ià‰5>mMæ|»£¼Wû=Abk>ò£™­Ex>}H·bØ ¾]~! ™ š>¸~ð¼Þ¤‡6ÜŽz¾zÿ=Ä·§¾l½ç¬Ð…Ð>ýüÐ`•>Ž׿é½#y:máñÉ>ù®¯êàØ>Ïm|ï%¡¿¿“A˜ö>¼¤\‡v»J½^E{rÚ¾ ‡MÖк¿I-“êÅ,?úTK?¤¼?q1&Öºw½Ã¶²*¶¶-?ãŸ5&#žG?ÜiÇß-Rp¿àíå·Ÿa?îq\Ku¤=,–=iR¿íí Ú× ‘¿zñæ“é³?Uh ú@¡™¿$½¯¹ò Ï=õÒŠiü?ºÈÀÁ㵿¸½aÆvDÈ?vq]iµ?dÿ&Žsû=4æA«½vÚ¿Uÿ»¤t?ªB2„üÅ–¿=ý·—÷w“¿€Í’Z‰RÚ½7§™²E?ƒ•÷B(>µ< è7¾v|#G>s¸ñ[ð¢º<Ò5=ãÛç;¾³Û).8¾&Cmdc>|ã„V>³,®È*HÐ<…Ox¹àp>/Àz«gpf>¤jHbÕU’¾2ÂTõŸ>«ùqÕç=É®X‚ø´n>ÝÊŒd„앾Rå #Ö„Á>ÜAYN  ´>è÷² Ç&4=jÞ¶hœiÊ>·Yûù!ˆÏ>Ä"ýv=€ø¾8ÓÎpí ?áÌ'q™S9=€]yz¸½¾îûõK²ÚѾý¾Û4´?—à–Cí9?ïV¸ss¼Ÿ½„ßÔˆ7/¿ßƲRqL?#Z1èÔ†o¿­ D-/p?µHS ¯dÁ½þh‡­ˆ‡¿ìTFÔ3—?íìroHQª?Ã4²SqÞ¿ò4÷ÄYî¾Ü Tü·¢¿žb¿FùAa¿qO×¢" ‚?$@xÔhi?_?«Êxí½çÙ^ÅÉ@‰¿Öñì§ ¿<†âƒa?õ¶ñäE¿7òžß«²³½¨ëÎ¥ÙåT¿[K68gF¿G†ŽÄ–ãm?A v;mW?ˆßÛ„`®½ACæLq¿§Kbo 4>Xwþo 4>ÍX÷¸Ø)>ì™Ø)>æRŸÉN>ÎYÏYàR¾bøÃYàR¾­&¾—Oª¾‘+€;øL‚>µÀŠ:øL‚>±+|s×°­>4åÔæ»ê²¾¤ÁÞݻ겾ì”Ó þÔ¾‚W1%è¤á>lÛ–>è¤á>p•;ÔL?a±#­I>¿ ‹ÍŒI>¿Ÿ;Ö(ïI,¿× Ž…ûìZ?Μ–ûìZ?1"-|Å—“?Б‚î§V}? G…ß§V}?$ge‘Du»¿ˆÔ8B-“¿ p9B-“¿4Âmêp$~¿<¸ ¸ûE?[¿ É·ûE?u¦·¥­bf¿lÏ÷üßÍ$¾ÕÝ›¢5Âì­h)¾ßÀ:æ!¸ž¸|#Õß/>çÁžÎwÇO¾È{‰Qû.W>?xÜŽm¼ÈW† «"T¾Yß¹T>ÆÚæv¾u¾ÝóQøÈÍ€>ÓÑmp±†£¼ýæà¯éçe¾™ofò b¾TâEƒKƒ>(ã5x\W¾Ï&’ê®oÛ<þ•Ø•†>æÎi˱€¾ñ6+…Œ¢>yºäÒ®úg>RD#!Û±ô¼ù«4Iy¬>‡¬™š€*Ž>w·á&Sί¾9 ˜€Ð°>‘©j:ûô< Ørµ.Š ¾ÿÅÁâ¡«>€a©tcÌ;ƸßÖ>‚%¼qν¢nì ¹Kº¾ôY f¹¾9T,R£Ú>t àé㮾ìÑåïàÑ0=ÈDH¼ÿDß>êÄpOÝT×¾µ¡Wùø>M„fñ:à¹>†ÎòÜ¢E½ºÞºøRG?, Þ™&æ>FÙºNG¿îl<‘(b?>;IñÜd=¨‘rº"uù¾ž\­ó‹œ?§ È|Í%¿}%»<0?Á©QЩòo=¿²þA€Ä¿›¥El°4?CªY~ý~¿öïiým¤n½¦¡L8Ô48?ßé="Ï3¿j0Ò™M8T?xEQ9“¿#Ïrñ͹¥=Ä'C©aè^?ôô¦¾j®D?áâÎÄu6oõÝw¿é!É•?˜5¹ôQ­¿í@^¹Zêy?û|XuÑàö=sˆë\ʤµ?È_ëm<Öi?qâo·“¶ˆ¿}»ÏS[¿§` ÃØ¦p=–ä1ÊË•?aÏöÒãO¿Ðj6l?ò´ñ­n?—»Üë$¼]@>›jÊ›)—î½UD¾úϪã[z¼>óä‹ €i>£ŠŸ'g>‘e0_›µ¾”˜N@òÙ‘>žMÖIzé<èMø[邾9­ä¾d—“¾mÌ-êë¹>%Ô—Q7R¾ÕÂÕ¦ô =ø}°Å¡@À>—÷yžÆÀ>¯‰ô;A_å¾eQ®K‹è>¥t‡K‘è3=0Á~?è=Ù¾}Âí¾Þ¼TºLÌ?—?t¡j~î¾{ñâÞ±†=“á[ý¥Š?°?]…2?J“‹Œ£@¿=tÇ—D?¢Í¡ò]’=:¢î„ýs5¿“†ëãQ¿ HÄHÿšu?µ(¹&]^¿ZoÂ4%¢½£Ú¤%w?e¡h¤‘?~ëÆÀÄY©¿XCƒm·?‹˜Ìô¶¾Ñ=c}Gð\¢¿VÆÀ7Tì¿ZqÄËÍ¡?ïR¾…¤ó?üøÕÆÌ²É½€G"o0¿5À¹nw>ØOš,‰ &¾ÜNÙ"Aø¾ýÖ>"”„Ü~$¨ 1¾P&Ä|‹ˆW>›zî(èp>ÞETÈâ¼å]NB¿lD¾â’žf±ï[>ï8Бg\ƒ¾Õ¿ÝH»­z>0á+°Fò¼ˆ*åa¦™>¸–˜ï ‡¾H}jCá¯>°ë€¸’…Ä>7¯¤e32½¥‰âÏÚ‘~¾T»sx³>¬YBïeÚ¾É8Ѫ¾Ô>{îônõç|½”ì%FìIï>õê³…Tá¾ÛÑCã—`?—²{?;Èá t‹½ízÊÜðšé>æ‰W×ÞZ?RÖèv‹ü)¿êb3Tmç)?~D 4fš—½yîΦØJ?ð w'¤9V¿‘ß…ñÃq?"²m)kWr?ÛŸò¬Sý='ð]t?ˆ?º7 9Õ^¿½±÷´:q?tõËb „?*X–Jœì½6èZ¼†]«¿$±êŽDBø¾Ü\êÀ ±/?þöXÚI`?pa ¿›œ½LZŠ7ýìF?E GÓ;A?öLB(¦f¿øÑöuwV¿[Œ/BŒ†½;°F&7 k?‚p.¾;0¾–ƒ·;0¾r…Ý…œ¥3¾ YÁœ¥3¾H]4T>ªFᤇ>šáŸö¥‡>`8Ó6€¾ßí «ì½yjuÌW«ì½’u 4B:ª>v÷¶ÆÓ€5¾¹½h.È€5¾/"ø“Õ¾W ü$š˜R>_jõ®˜R>ùð§d©>ì˜Âÿi'1¿š¨ŽÒŸ6Ó¾^¾=À¨6Ó¾8mGˆ°MC?nØpï/?¼R}cì/?£ÖÈÑOš?þ]6¥W»¿G6ŒW»¿€À–Äâºu?ßä™É¬3?·Š4ž¬3?û0O\^’`?€ôfG&G>Émž:§ïi¾GÏ©gIM>‰“÷ù‚¤¼ýå¾³@{¾=\ÕÅ yQ¾þn†ó Pq>¹rP]Ó¶y¾"À‡k.MŒ¼f{‡Qãv>Ñm=óvfv¾¹’ßå&˜> \f¦_Ç¢¾ä½8õ:mÐ<²rÞÍýЈ>àÃjÆíûƒ>3 ’hù¤¾h¸°ý}j{>‘Á=Gøìþ¼Ä+hש¾»œ“Û2„¢>’¡°üþJ—±Q‘ˆ¾„é.í×=Q2 ¢/TϾc„Tؤ°¾žsá{YxÑ>¶­ëB‹Ò¾•­êÄ4½|!z†j£Â>>ŽxzƒÎ¾4)!°ûdð>Ñ- ÷ƒø¾Uú]£œ)=káW™½Ý>jÀÀɉàÛ>4 &4dý¾h3ŒƒÒ>ÖŽ)¥R½4ô¥7¿ ø9í°šù>ù>ÑC¿?ÂZÒdÕ×¾gÚ–í3¯g=H:îiS%¿ºÀÚs¿0æ DÙ(?óŽ4"-†*¿3Áñ>>†½·UŽ®j§?–wŒWjZ&¿¤×ÔFdqG?øÕZI‰”Q¿sðè‹@r‘½é+}w*±7?ÎSsI5? ¸Í§HSU¿¾·m¨&€3?êNöPnˆ=I†ýâS6Z¿A¯¹9àýT?\^M×u¿v¥YÇÔ3?·ÜÒPUȽԣÜн€¿_¼Õʘ‰e¿Iµ[àhe„?Ñ|¢>•…¿1Q$6ÒM =É?•Lk\­ü‡¿V—"·t#£?¸¥G2ù„«¿YiÏôŸßU½,„5óŸ?|‰°¾?àÀþÌc¦¿‘Õ´Ôk²?ð;ÄÍžð½¨[ñ›Ûa±¿äš_y“ È¿ŽÔ®}}]ë?ùŒ/ÛQ„³¿´<©Íö*>¨Âxóƒä¢?nâ¥àŽ­¿9”‹„·À´?t|Ÿ‹f§ž¿;EÛöú¾‡Ç•&ºÆ¿î¹Òªþ†¿ÉÈf?ÛÏ£?l`¬Ÿ—{?-_Žú­ÒÌ=þÒÑîGµ¿¢Ú7NÞXn?›Äh(óˆ¿ ò“Ò ¿Q=œ²FÇ=ƒR´`?Z`/iGTK>—îÍ]Ùp¾™ºŠçdeb¾žNA‚o¶«Ä!³…sZ>ÒW4)̺€¾SÒkeg>U£²¥{g¼¹;@p?~Œ¾6â¤|žc‰¾¯ýÀh<°>ágõÜϳ¾éd@’?Í ½Ý¡¨z!A¤>ôÿ°‹`µ>Ó´‰MéFÛ¾Ìût3D³>Þ…ín¹"$½ؘáâ¾0j,f)â¾&û_lO?í¼È¹û ¿ å"ŠW½©–I$lOü>tåUåÂá?ÂB½¥¨û3¿¬ž"/?0Oþ½ˆã©½ýhñ~¶Ê9¿¡òË!i<¿¨;÷œ a?¶>¿Ð^e¿:¤kqﳽؗµ yX?Îñ|¨Nq?\aQB”¿4vL²¬q?ò°ü¶˜A½=Síi+ú—¿µ1õ|ÿ£¿Ôšv$‘J«?¬0x©Ä)Í¿'—«qàä¾ ¥ñÔ6¸?3¿©O¸?ǵc²˜´¿¿ÖøêÊË­¿á®„Ä ¾~V]+õë¼?Aû»Dá""¾JÀ]ý@H>q=ÿÄ-> vV×O§¼B#Cäøp¾Ô÷L¾ÂîR>5Ö@Áz¾Ì-ðòa&“¾tœ>g=Ðî‰5j>5ŸúÌè~¾r͇nÙO¥>¼?ØCåÄ›¾…á{Ï=½ïˆâ­q¼¾¸ öO¯e©>õÙopѾuʃç¾Îôv§êçT=›€NÙl”ª>” ‚:Õ¾»UÝɺü>”EüGáëô¾öu2ÎpI =~«8°²Ç¿¦D>A’?Û•™µ(¿¡é|ó?¿Ã^?&ÓH¯=¥'11¿|ç‚;Kº%¿²€l›WÇI?$o«ƒ×IF¿]ÄÄ»TÎ=` :«‡él¿Ù‹âPf¬i?’Ó8·ÞY{¿Fs*J*‘¿:$S)£û½`÷4èϦ¿DÏ…d¾k?ůuÙð¤3P|GG¿¬Ê ­A€¿ùOuyÞ½TWqêU…n¿/¡…,GBa¿;€øÉN†?UÀ†›üÌx?9ίgóޏë•óGŒ¿Ò娦ÈR>jœ.¥¦ÈR>¾Íüy ªV>”Kîv ªV>GãÌΉv¾DäJ9¾ .2L9¾hX@ªû'¢>y@‚\"ÐI>‚#%ÐI>°-{é#H;ñuØèˈq¾ Hþ&ψq¾yã³¼oø>ËçÒ`œ ¦>‰¿Í­™ ¦>I%~X}Ë#¿NÖWéNQå¾ÐÄ›–OQå¾6ÀdÞ¼R?“Îeà?ÑyTëgà?:Têdhj¿³à²W¿'øƒ&²W¿8‡‹;«¹¿T@U- SÎ?Û÷. SÎ?v2ȨZ¿Zžl ;f¿j„ ;f¿¼Þå!ó¿p¾Êy²Q>[§~æàs¾2—°ÈCWT>wd|˜šV†¼«ðI•µe„¾{(LÝ9[¾ƒÜÍhW{>6ÉFcºƒ¾¶—~) ­<"ÒùÒNÍ€>0RcÛ,¾¦^¦¼¢>Pä=¿’r¬¾¼D*µÙ< Ë¥Šè*’>Ò—¨VË‘Ž>ƈ.¿O0°¾ `É‚>Œ¤¼£tN½»“ýK³¾Û q.¬>5‰ºg¡Î¾Þ~šˆsì–¾ R¤|é =^xS|f¡×¾;µˆñtl¹¾l*½+ûÚ>ÏÈ’0bܾÄNʼ–a!½>D[~ŽË>Î^&Î~%×¾ZC „ù>ê­·{ƒ¿…®¸†‡¹1=лnnIå>“æ„«:å>Â4År¿FÒ—ÞÓÇÖ> ”þp€[½ ÔÚ‡è ¿%?EkVo?9מ2ø$¿óz3oë¾T:åÙdóp=ñ,>™Y0¿k‘¡ˆµ¿E\áâ2?°‹\ &ö3¿¸^XØÉ½S´Û§#?X™÷¿¦0¿e:<¥»Q?v®÷t„ËY¿.ßä×=›½>´UÎR@?ž,—{K@?Ë5r¿Æ$a¿Èˆ¢š'9?f‡’ÿ˜=tÈÏ"Í1d¿eø³]£^?YÚÉöç¿?óˆõ½-¿žy¹0¤ϽG’GkÇœˆ¿V›òU^Êl¿µŽ´ÃrŒ?%‚¤œµ²Ž¿ùOê·¿=üEÙV‚?^¾É7û“¿çî£Ëæ³?àV‡B}¹¿ñß rïÔ½í-Plh§?n­SÃ\„?§~c‘¯™¨¿ˆË90Èq¥?¤!’ óxÀ½ Š}æå°¿öª·Àÿ˜?ùŒ/ÛQ„³¿ƒ4Û§â?8.Ü{«>ˆQØù,¨?Z3¢Vv¿7¢ÄD­m˜? ×>Xã›?þ\l2©ê‘½3Юœü”¿è‹øÂvÆb?÷´µJH†¿<@‰€‡j?_ªÆíÆÂ½_˜>­¶v„?ƶùž°"?.É eغ5?6‡¦Ó?'?0••QƒÁ¨=N)Äd—ÛY?¾¿MêÖvS>Q²–}zx¾ó€?Áµk¾Ü$€hS“¼‹ÓÈë`c>¸½ýÙ~¹d>”©mÃàmо êmœ®”p>°’*Ù ³E7¸ÊU<¾¾Þ¦Z N£½ÙÈ»IÙ­>¬ã+ž›À>` 8|Ëf復qÜ)S¹>osÓ{9,½” ¦™ó?ë¾RÇV)¡ÿë¾Ò3ᢢõ?˜ìé¡âl¿ý·S›A`½Ï78.ÿT?z/ÿM[[?ƒHAõŽì>¿d¹`?[—çW²½¢ˆ\B˜¥C¿í¹ÖËÂG¿LÝ)ëm?žvÐïµ`m¿H)€Ác¹½ ­ù·þ+b?6…'Dˆ's?ÈAu–¿9ªÍ°Ökl?ˆÝÉ‹JúÒ=ôe Áÿ¡¿¥ $Dpwµ¿'ÎÏPO…Ð?3çªU,Þ¿¦ív<>W½+ïÏÆ?zx ¿_ØúE3¶°?ƒŒCÙª7”?58ÖSC÷½ÅGX¬_Ì“¿AÔÊ-â ,¾‰ZäwOS>0Ù!îž)>-ûÎêÙ7ƼyAQê5Äx¾óÄò\>Lª!x¿„¾S§ùÒnœ¾T¥­A7=c€zo>é½ù’‡¾{ È/t°>À9Úèë3§¾;w²=._ÁéOãľ€L«"z³>‰øÛ“;Û¾ emñ¾}¿Ãg|)^=êmû ¶Øž>š;:ŒÆ3à¾wVCyòƒ?ämÕºÚ¿óH>¡½z§=‡bë[I¿¹ÉWwˆ= ?ºðF­»1¿ÌÔ­µ þE¿bÊ»¦æ ´=&ŒûRÔ?¯‰ÙÞ5 ?¿/.îh÷c?_‰’\(q¿÷faýw}Ë=÷¶b(j¿-@s\Ä i¿ô×8§¤z?µpIòË·¿\;º´âؾwï’»ÿH?F „«—Š?ï2s#ˆ«¿jB“ ¡?ÎÚ5ïlü½$n¦“ˆÛˆ¿âR(Ã=¿´â éY`?個̻j?+.³¹hú¹=}hÝ*F”e¿h~‚P÷L?4dâ¡v9¿GÓº*_ž=?\p_Hs?£=v]v¡Ê3¿FQÙ®Z>S5Ê Ù®Z>ì:‰œÿt`>I œÿt`>_ï¥Üô€¾ ÓÌ,1¾ õ`Î,1¾xsc‹Y«>¼w:ÀS^R¾xÔÇ…W^R¾ïXÚÊÏêÕ¾›¥~¦†>閭>œ›?§tXj±¾=zk±¾'ÑÁw‚ˆ.¿„;Mßùà>ø§ZÞùà>3ÚS¾_wU?¸\ ºA ?/f@0H ?ã‚?Ü걊¿Iðë¯Gtf¿:£²Gtf¿DãX=gÕÁ¿Y©‘ µÏ¿Ø µÏ¿âŒm߯r¿þ[݇c -?·Pdc -?…Öì-ê“/¿Zau̘D_¼±:·£<ËýŠ$›<~=yºus=O5 ÐuÁÆ<0¯Å ½Û®<µô¶p©µË¼j"«û%Ð<8;V8¯ž½Æis´¿É¼ˆž{SÚÎ<>ÇýT¦1ð¼xÞЦvø<2ŒzO¿=oh»Ûù˜Þ¼N‚úãyܼRô\¸þú/U`ã$=Qž ¯ÛÞ=™B‡[(½y:.¨Ö )= ¦•k*>ÐmCcx½%¨.·à$=¾¨²Ž#ÌF½‡>a¦™P=­v$f>U¾Z×2½ÂW¸ƒM3½¤?‘#¯T=ÇOÌIàϽÀ}A`á>C{€«W=ê,=à»Q½AŠ£ ø]s=. §Øq¬>=X—@Õà¾ÇÝÍ-«ä|=P 6YÅ`=Š•8ڇ潣J®"{‚=SZ¯CKÌ>oFC‰¹p½LKh ~=XÛÞo„ ½S+m{@§§=‹ ø‹fŸè¾)&0ÀŽŠ½aÿ¢ô#½Æ§æ«}¯=îzHOB{½i ¬äõ ?¥I1Wˆ³±=‚OŸ´×¨½šüräÒÎ=/,c­Æ•=C)@5¿áÃðÈ«ÎÕ=¨Àk¶û¸º=oÚG2>BܽÕ$dË‹Ü=àŸ8Éúã1¿5:~)ùƽó§{ª óá=½<&Ôä¾I4’¥>öÿ:Õo_¿ œêyøñ½×H5ò½ÐW¬>dÆ‘_[è½þ™E! ¦³¿Ðˆ&3€z>¾lã°™>´<©Íö*>8.Ü{«>ÌzÃ±Íæ?úo^ŒÜ>ÈwŽ3¢>Jå âªñ&¾<›]`…°ò=Ü8ôФ¦?zÁ\Pò/&> Ÿ¶à=\«’ n¾Ü*ƒñÕHÜ=YËŒcÎ~\¿›ÔßOºò>Fðg§NȽ¯.ÃhÅë=—ô!ä3î=’,¬}q?+öÎ Vá½í ÓûA¦¼‚+H<›XÉ{$ è§v‘=’mg£>”=ÍPö]=º½°Êm`©½=˜“¾Œj)?+2y@.ا½£èž_­`Ľ8 ƒú>™ê=ùéíô¾½Ñ¡ðŒZpq?½|Ž{í=Æhì"2ù=Ç…,ù²t&¾ÌM½$>U™6´µo­?’zÑåKø ¾ÐÕÞÐ~ð½Öœo‹ŠS>ê|è߬>´‡ÉÉ˜Šµ¿wgý•m¬¾ðyôg!=‡<«‡¶Ô¢¨¼)VÁÖº<µÒÇa =nþñ~¶Ç™¼Ò%ºèÔ ¼bcåÑ?ÄÌ<ñÐ‡Û–Øæ< ‘Mn'Çæ=„(tí/±¼Ï·ŸÎíÔQ\ná¸=¡å2½ü½ûÙreE)=r’sž ==¶ôºèCP¾ì­,¶>õ<ýdLé=-=ð}•ÓgšT½QLb5ƒQ=†æ ô½¾EXúJÞff=÷ŒuqtËZ½àZB¡‚=ĨdzU’=<><Øñ¿íàÀä}=Ê­BÇ!ªˆ= Ùƒ÷ ¥±½æ»þG µ=ÆûP:^ŸX¿ŸtÀdPhÁ=†,òÓs@¦=ºšP]8à½({97üÛ=°(!N¼£›¿ùª¢—‘ì=}@n¹¡Á·½•±³–ÇÏ=ÕT§áþ=Ø­¼¦xذ¿˜AàÜ«C¾©æ™éä…=®I£í:ë­½ –®èÖÙ¢=Èߤ¼ÆS¿Ëh{ »ÝÃ='©§«-¤«=šÐndpÁн˅'õ{¢Å½o½²‹ÃY¿ZWã ŸÆÊ=%ìè#Ç´v=¦™†ýª¶v½©ÅÁçB–@½¾tìnwˆ@=B݃TÂ<"×èZÍl=òÐV&ÅÏl½U&ÿ›÷¼˜§¯Œ¸n¾·Ó©ºn>ô¥´‹H#=Ø‘$õ[¾Œáß”#õ[>ÑjQ_ƒ0P½ïèÒ´¤c¤¾œÚϤc¤>-d¿óÝqy=øµCqá¾M”Û7qá>½…es(C¨½> VØÇ?¶ss\ØÇ¿Â|3.ãÉÍ=+õ!é1¤‚?zÚNê1¤‚¿&^â]›ó>ê3þRIÞ?Í´YIÞ¿¼(\érÎ=6]|Ҁ΅?Œ°æÒ€Î…¿àtøÅ}jÕ=ðà‡}¨“8¾Ú„B­Ë£[>Ü,nEß2¾ ,ó«ÅZ¼dÄŸòi>Úü¨Þ\}D>qê{!Ee¾ˆóÿg%âk>íFÙãý“<–”¼à8d¾|gg>3uÎǴ䉾UöE3“>sÖÇ…8¨¼[Ýpr»Bv¾žs¯ˆ§u¾­öx½-o—>Ÿú¸ )_¾è;ÑPí<÷3 Å.¢š>š%¼·“¾àÁÍËȵ>+|+_ŽÕ†>ƒò`‹x½®Áá`Ò À>gÊ$¡‰?¢>ËIötÛþ`!w…érÄ>¸­ª \·=wÔ‘ý°¾ b^œ¢uÀ>eºõ4â¾ÄL­ýÀé>3ª &p½Ž¾¤­îɾÙÎvÏuϾ\ˆþ¹Ûéð>ë;úO"­¾Æ»8„¶>C=Ü‹”,`µò>®ä Æô8쾡BI€ï>?Ñ"zâùºà>BÆFÔT½Èùþ ýl?Kªîo û> ™‘¯uu¿žéà?CöMÖ^=±ß"sB¿Ø³,F?Áv S ´;¿ÁüY€äB?¦’;Ç}„=·ÍNS ’#¿£MI„z)¿á“׸#ÌK?ËivR ¿[Ž£°7Lf½9GƒÅ#LN?ÊI–H¿G’äà¢5j?ÑþâœøÑ8?Õá­¥èÕ°=äOPÝ ²q?å~l7ºZ?‚=9 av}¿<µžŒâ{?„¹2¤Y º½…ÕfÈ^Å\·Œæ?ývkm྿n÷-³xùÕ?ýC1ð䬿ÿ=¦Bëyï½äD@y øÛ¿<…³ ¿hõQ°?hñôŒ\Šx?Ë´ë À¿=¦ä»$_ǽ¿?¼œs‚¤y?x£dŽ—¿Âk7¥ÍÞ˜¿Œ`i3!-½= A`Ö:ÒD¿ãH7ÞR>?V†Ó?L“¼ !Ï$#9p¾ˆl O¾D}×ß}t>wÃÙ jïQ¾7Ø¥%¦›¼ÿŒ7k*}>«—¶,s}>3ð.€P£¾¿vŒG¾-¥>ÿç•ß“ô<—ç¡7c6“¾JnQËKŸ—¾çÄèl:N=â¤ÿùÓ>e;~Ð;ÇÕ>ƒ–_'¦ü¾Ø‰Ô‘•ý>™Ý½—»—:=² žF<ê¾? >EŠÅ<¾Þ°cîc!>U§-;(Ò¥<¹a![> UŪ9D¾)÷ÖnÒl>ß.—û_š>R±yºñ¼ô{ËTC¾Šó“3ºp>ðÜ­  ˜¾°ìQp±•>wðÙ—‡È÷¼/É:©>‡u‡"œ¾£4$›/=Ä>ÉA5A.šÕ>çóLË×@½,Öißšº¦>­/¤TE)È>d<–Þwñ¾9J¦66pò>Ô,=ˆ”½¹OUŸÿ>_1]Àœ?ô¾û/m‹áP?(Çk[Dv-?g€$ë’s½šhs}Ò?PÙy²Èý&?3­ý‘8M¿}Züð\—\?ZÙ\ÒÆ±½ ÇmñJ?«¸~ýs]l¿gp<Ô;PŽ?äqØŽ£?Ä$77)Í>”–¢†gé“?d LXH€?ž)™5¯ë’¿Q »+,´¿Ó £¨ã³÷½Ô'ÖÆø×?†÷ßMþZ8?=Ü›ï g¿Åu Mƒ„¿[þÅÑ •=¡àx2©¨|¿N­ñ-½yk¿1¯9‚(v’?c@¢ä—I~?·-=”_H|=ª¦˜vºÓ–¿Ù”¥~O:¾q•Ê‚~O:¾Ùå"÷>ÙA¾»ˆû>ÙA¾7÷*Т+f>—qŽ®ö­.¾¤Å „õ­.¾éKM&+’¾3ÅCXáe>«Ë“ÓXáe>m*lnðw½>ÃÝ20¦•¾(«bÌ/¦•¾dJ.;vè¾;È%&›Ä>À—€’&›Ä>?Sñ±W?21ÿjгö¾çÄ6гö¾ Ð!7P1?¿å´tzÚÝ&?- *áÙÝ&?Áµ^Y h?ú“/ †@¿§ùŽq †@¿ç®s¬òª¿Eº‘§wHÊ¿ö€R©wHÊ¿©ACh|c”¿Þ·NþÐOp?Â2ûÐOp?œb¡EYŠ¿6…ˆÿ>Ä =Ãù÷5¾Âj^„¯>kløôœ¼Ôò8F¾ÌËÙ"Àµ¾Ô’P«x?>ßY •‰åE¾ ­ ñÛk¼ÊûíˆHøA>BvbÕB¾AÃæf}d>!­X:o¾„Ü&QJ<)èž•„S>êÃ3®7ÿP>±Ó6,r¾R­ƒ5B>K[ ʼG(*'#u¾¢2´B@o>Ù\Ù ‘¾•PÆ8 \¾šˆ[Xñá<ÎÀš#‘š¾«ÁH¯¬^|¾dïðÏMž>5Í„·µŸ¾è²;_â¼*õ77>GÙŸÊöÓ™¾ Uâwi(¼> w$GˆÄ¾÷ì1™Óõð<7dy!é¦>D’›mÔ§>‡I%ögɾ,ãÿ­ ~•>Kïwñ_½WêœÆ;áÄUœØ­Å>ž÷ùr‰ç¾ Dµ¤@²¾ýÐ@uç<1=ª€ô}ªñ¾ùÓLœ¯Ô¾ã8t@Rúõ>ð?'„öçö¾×­)ŒpU½ OåW·Èå>:(ÉÕmó¾]ŸJ¥ª?‡P1ÿ“å¿iÖ•V½`½óòL“}…?wÆvð?]Ô¨ñäÎ"¿¾›¨Øƒñ³LB=g‘7°Ò%¿y0Òÿ[€!?Ù¡'SG¥B¿#S›õxó¾‘ \'X’½=Zü™vK¿„—3¨º3¿vÐõµ$YT?ÛIz¥öT¿ê¿™G}ÆŠ½ïÄFP.+F?ãé¹ÖPOM¿D(ØMÿ[l?b<ÿpv¿æFÝÿ¡—½jñèpÐ\?£*Ž!Ùm?Ò~É ô‹¿Øåäù¦¤r?}¶÷LrÔ½«À¶AŠ¿é!É•?nâ¥àŽ­¿Z3¢Vv¿ÈwŽ3¢>ývkm྿Å!iS@]qläôJÈ¿* ˰ñ„¿„܇”²ù½)8ÝJzŽ?7:bF?×s¿Ô Õ89‘?Ï8Ý’üÙ„?dE¦©¾º=Ù¨%ë¤Þ”¿Î•° :zn?RºØÈ…Œ¿Qvèöü¿¶$+)ø½_w’ïáx?h€ð>w˜ƒØ 8¾LME+.¾›ÀüUpe“<½ —WÓ×N>8;½Á¶t'>)%ÑÖô N¾¦ 3Æ[1>ÕÍDIÖ•<äš+*³W¾! 0Õ%ÇË|>¨¿[d À€¾gdá¬2Õ¼‹¾I:p>…žˆªÈ‚>XMÖET¨¾M§ˆ,xNy>ª%Ef^ë¼WLXŠLG®¾ošOïÆ°¾+dëšÔÔ>§OíòÖ¾cî×ÜÕ𽤭G"V>Æ>öc­íÄ;Ü>µj?„“4¿DþÓI¿Ö>Á¬Ñ›Ã­r½m@ú^™z¿¸ÀÒˆ¿²Üžá´¶.?.8‚ÄÂÂ2¿jšsvvct½XѨÂW¸ ?[©ÉBpŒ@?H.á0t e¿Ýx`a|K?.[Ó+Ÿ=¥•Ô7~b¿9¦@`P8q¿]ãu…èú’?W+³!OV‹¿ñ[|¼¸†÷½rª&Æá?…Ó#kSi—?¹3?Öô°¿™zÖ~ø’¼¿ –e5èèÓ½#<ÓF¯?áÅïÐ_ˆï½ÔÿbÈ¿w>–˜½‹|ˆÏ=3.Û O|¼2¯,Zq :¾^W~æ >=Mw!ÍeF¾ÔçVY”^¾•’È(Ð<Þ7 †Áî*>6ÀúÕVNJ¾| ³ÀÒ~r>gάAl¾´{¥ÝÊuÐsž¾áª6ƒ’²¾¯ÛP °=Å Xðà—>L¹òju¢¾i@ãeɯÉ>‹Ó:LÀEƾ÷kh{i=uìCòšÛ¾ôCÆæëÐ>›B¬m‹¯÷¾DO¢Nˆá ¿ó•/›9Øt=ÏGÀái侌”WYúô¾{Oyá·®?Ó€%C4÷>²Ëm¨‰=nøšw8¿}¾)ÔôD?g8¯²Tf¿KN¿>Bò`?ᯖ6|Ò½}h¶6 ƒq¿@ÖÔµ—~ˆ?sšÖ}§Ø|¿7 ›=Á?ÓSޝm»=Å÷ª´?$ØŽÜòNC?¦©ŸNœLd¿‘\‡ü@†n¿*3ÑD-ë–=9'š>Ê"p?õ!AGÏ4K¿áÛ&êqÔp?sxÓcÀj?Ä.Ò¯lc™=ª9=s¿­0ónHg>ìw YHg>- ì»…5!>‡À…5!>N†3•˜wB¾Õˆ"s&Ľèc &Ľk?9œŽãm>1"á̳(¾· éγ(¾Û6é6ˆ3˜¾–ÉÉ)Õ'[> ö:ÙÓ'[>üOÓ;°Ã>.‚µ¥Ò­ù\äÓÍ,,-µPð¾mýFO±>1ûi£O±>«§ç¾U!?¹aNfì$ð¾Œm¢¢ë$ð¾ÛŒò°Ji@¿2 Ï“'!?ºbˆ<'!?ýÃÎÔÚs‘?\ð#}ôd“?k›¼sôd“?‡¦&4mò›?ã‡|åv?`úQ|åv?öb fp¿ÿ‡Hu\6¾¹‘áåY>£4 iï|9¾Ñ ˆ’ŠÂ<‡£G‡Ÿ´i>›•ß«ñ?A>“õùUa¾÷U™ ‰ñh>{ŒéÒã[<«¥«ƒ(e¾ÊeF¯+e>s0$8b‡¾:•¥Êõ‘>&IË…½º´¼3âó­jçv¾føâYs¾o°#œ€”>vozNÀ½f¾“|^œ[hî<‚Û¯d#˜>C^<ÆÔ‘¾ËrÏsác³>•ñWÿE}>p·ˆ/3½œ§#I¥â½>Ãùƒò½ >¹åÑÁ¾ÅÚãøÁ>j„êû=]?/ P±¾W‘;ô2]½>‚—P]›Üß¾É2ɵ%uç>PܽÓ ½ aö•ðʾ»è›éBìʾÿ§™ð`}ì>Á…’$¼¾Ç0rå^A="+°e™‚ð>D%Ѷ€è¾ž¾¶,^l ?%kÊbÅÑ>ñ!Ê!BT½\Ñ7¸Ä#?´MAèG÷> ;R¹~¿MQÏ\ɹ?œõÑ-z?w=즄®® ¿ëöM€Ûx?m§y®Ì 7¿f±¸\‹÷@?¼~¦xÇ‚=g‰-ÿBÇ$¿ŒÜ\'È#¿[%5L{dD? n~»‚x¿‰2’Še½Ÿõ"8;H?ç\õdgC¿ŽÈgÒJQd?zÌRœ°ã¾¾ƒŽžß¶=ÄörâÎn?Õ@vOÊU?£ê§åu¿'òaÙ[ôv?]}ß=Sa³=µUÀ,zj¿ ‹!Jm?¨qEœŠ¿GYyŠW–?]9<¤j‹–½½ŸÁR±>¿´›–Š{‚Œ¿èx9øx¸¨?ÝàÒäÃ_•¿VåÂmj>e;Dú’°?˜5¹ôQ­¿9”‹„·À´?7¢ÄD­m˜?Jå âªñ&¾n÷-³xùÕ?]qläôJÈ¿Jûަê?K(L‚¨?Þ¼ >mÒ†·‹±¿]‡ŸÊ „Ž?‹‘Î6§¿›päp©¿Yiƒy Ò½Õ1 ““±?õ1¥ålŒ¿>ç1_à§?â(v‘¬?ÝŒpÌòÀ½¼„¬ñëùš¿U&gÊ/]8¾üCu^>lrïþßxQ>ÅEð%´(°¼i¹°crr¾K[R#FJ¾e CÌGÂp>"H¿jëÚT¾ér“Ûƒº¼vÖ EïA{>Bƒ IÕy>alõ‚  ¾Ö½=F£>ÍýJ*íù<ˆbþ<Ü’¾I˜¨˜¥¾2á!ØË>Yƒ~'‘@Ÿ¾™Ä›f!=x¸~³DÑ>…ØMuÓôÑ>@ŒC÷¾»ƒxšûù>ˆew|C=ÙVG»”íé¾f ÇØÕ+ÿ¾ SZ@Ýð#?;Ã|]ü¾ôøm„ÇC–=¸þ67(?…VÚ*?>ÙÛ¥P¿™ZBn7U?½ò™ÕGÜ—=րЯEC¿ðŠY+tb¿«3H´‡? —oV ¬r¿±•úNÊéÀ½’EzãX„?£ª—i¹? amoï­¿M7bUI¶ª?½2ˆÓW6>3±衱¿VJD`±¼§¿£¸Ê¬ |ž?¦ÅÓŒÁÐ?zµÐ Y>M«'ŸœéÀ¿¦€¨\Í>á8¾†Ø¥p%† ¾A^òI¤¥öšMLB¾O$@mli>ƒí+ØOæ>—, |eó¼ÏÈ‚ÆeS¾ a?Åîm>Q¼ÍË'蔾ù® ôtŽ>,£¯[úg½àóðÞ:Eª>"7·Nx˜¾ Ì~Á>ü{òDe¥Õ>¸X+ÿàoB½$Œ—x‰ˆ¾Æ'$ÑÇÄ> ÿýZ”ì¾!†²_"ç>è1f?GؽaJ` Ðÿ>˜(6¼W ó¾äZxt]?Àg‹K/.?÷†¾ª ˜½g1R£:?kÄž¦_?ÖuŽD;¿;ž~ŒeÂ9¿ý™5‚±½h3.°7^?Í€‚e¿_Ÿü`•€†?ÖµãÃcx‹¿!ÛsÓj¼è=‘y=Êj8–?8»½kœ+¿mmUCß*Ê¿ˆe^Ù·:Ù¿¢p¸!â>ßur¼ôŒÊ¿ˆj†+“•^¿ýþ:Í7¤~? §Þ/Œ?ÕŒ²G‡½ò×Γ¿ˆhÕ ¬g?wº2L°Þ‹¿F/ÑÏµl÷N,€=mÏþ?| ¨Ž¶@¾`L€žŽ¶@¾§»ÿ¾"¦D¾„Œµº"¦D¾Â@‘8¸be>d¦ˆ~,Ð>Š“.Ð>-G˜eê>‘¾K½Ê PI:>ÑbhÆTI:>-£Ëùà»>½§/0î‹p¾@ïw¬ì‹p¾…gÏNÉ’æ¾'¡©ˆž>gø?m‹ž>¦‹•¶\?Š)4ƒÌhš¾¼}†çÀhš¾Óû¸¤@gD¿²Ûhp›?X7ʶn›?z¿Ô«Ò\?¶¨Ñl¸&¿_Ýsïj¸&¿Œ_åq±¿16‰u•³¿Ô:€u•³¿ýr/Ú⸿Žñ&.f•¿ ±q".f•¿<ˆ*/ö?~g†Lß>ƒõQäÄ9¾›7Üd#&>Þ²j‘¼Rfx›;1O¾V'™—òо`,É Å.:>ÞéŸsH¾f¡bp+è„<RÜ·„¡K>û5X–K9F¾µ$ãI…g>}¢Õ¿Yis¾d\3,rå¸Bx±Šw¹R>û?¡YVþr¾“œßÿ–˜S>¢ QÂ=I˼hJ•z x¾¦u´Ñ­q>¥™btj¤’¾ªÈéÒ„:¾(0Õ¼ó­êÓ…x‹(‹ ¾@–>íÊqí¼°lá´ó“>ó8 ÈÆ˜›¾è¨·Ö¼¼>èµz &8ǾsÍYm=ÌÎMº\T°>`ºÑ™ñ…§>t¶34Ǿ}Ù:$e¬>I Šù½êYS0kξà 4²²Å>‘d+­%æ¾.X_”¶š>Oˆü§ 9=\Ã~R_¯ó¾Švð,Ô Ò¾¡ûSQ¢ñ>§¿·êÊó¾ý Å@"4½3¿Ÿ¾7ì>ÂZòNw©ð¾.ÝÆkç9?¥8ý»ËA¿ÊÖSßÈ^½¶^¡–N”?À:+æbOý>ëz(Í«¿yÐTXã›?<›]`…°ò=ýC1ð䬿* ˰ñ„¿K(L‚¨?—ótÛÒ”á?ëE—éBÕ½v ûOŽ?½§Ÿƒù‰¿»®^“¥?K%ÏŠlNœ? û¨i=e•÷H®¿Ú8ÖåŒ?ÁÈøµþ«¿Uû¡š÷.­¿ß¡ö„û©½©$íÃ̘?ž=bZò×$>HÆÄo…I¾f ㆬ34¾¢½nÜêÀ@¼Õ'»¬Ž[>“ZדÅ(%>b”!Á»I¾º NŘ>>¾d´(»À¼´´ÑÚm^]¾è5ví“+U¾\ë.z>«Å^½ÿ‚¾G‰“iXZç¼ #Í)…u> ÙEŽ×€>ɇÞ(Ç›¤¾ÏVý›HH‰>¬â+C("½=Î$àɰ¾¸¹mØ©¾Z-`ÿåÎ>-ëƒ,¥íÖ¾8¥i]3½ïBÖ- ŠÌ>öx3–zÒ>bõ[í©ô¾-Ø'g|ä>ó¾~½›©jU݇¿±ýS˜¾‰¿’±òêÚ!?W× ¢Ó@)¿`îÊý—q½Êä!{i×)?âjÁþ9à>žãŸ·W÷5?ÐßQhdÒH?lè¶£öi¦=.æág(S¿4Êh‹Ë.…?GÈJ㕨¿ÈjÔ'8…?äð$^eÅ˽›¶PÄv¿ùEæh‡³?¾È…Æ¿™8&Õ—Ô¿²é†Ø½<ol–LÊ?‹¶ nï½…²„-äë>táV3ðõ>«1“zÂ<ý€G¾¼Z JÝf">ÜO¡±MH¾§î̘f¾XÒçÙÖܯáÁѧL¾çðìÚØr>]„¨Žd P¾Bï$’ñ<ž\²¥Q‘¾’vb£ev>m]€ÙÕœ¾P¥9£|¹¾‚gKù‚W,=››$ËXÜ>Ò0±ßs¡¾0‘ˆ#søÅ>Vp<¾Ù¢¾h¹#¶F…q=j^å¸Oå¾À ‚²ÅÏÄ>4QTËç¾:VÛdÚ¿7¶‡®ÙÉt=1à®?ÁâÕ–ØEú¾l4Ãíz?%03#:ë¿Ø[°LxIƒ=ò²‹J×,!¿ØPõ—kØ¿mÄ zÞ‚ ,>@‡N^Rš/>Ë=PRš/>g„q¼)H¾¦v­&¾“ W\­&¾½®Ngz*s>ctˆË÷…N>–æþö…N>°1—M¯¾Ýñ­Áé{¾`IwÁé{¾£ê™v‘\Ç>X¿ÒýZS­>½_*ÒZS­>D¿bô¾@()v[³Ý¾ðl[³Ý¾m˜ÅŠ?abyè£?kQM¥è£?jÔ˜êÓG¿éÚg£‰U¿7üû·‰U¿™+bx¿~ÅÙ¡Wc•?·mŸWc•?”¼¿©0ò½?]xq“¸B‰?ÇA’¸B‰?¤áç¿þ ¦1û¦k<¨ŽÃó6lp¼-!lŠK ¼C‚þŽF=â=áÞv‰‰<ÍŸþ—A¼C_Åͤ–‡¼ø*“Ð&”< oåÝáŠ=b™˜Ž'r§¼XhTÜ <±â`ýÀ¼©¹u¼òXƱ±ïy,ó¼PKçÔ$·ö<$Ev­È½2yM­&=ä•#Y ½¦÷°ðW[?=ÈqáÀ¨½;”e¤€¾!§ÂãŽGP=uCúö;¿(=$šúŽÖôC½‚‹€&ˆJ=ºL€bŸ¾»eG/ØL½îî³ï­F=‰CG1eb½V5€D•÷v=½¥žz•쥾BJ©¼Ìh½•E­®G´W½<ì·¹Ðs=ݨ,µJs½…•»EËü¾œâbäôK€=j]Ê=+€½³Úˆ©t=âïÜ µŠ½2O»[p?aJm½ÀN®= kÁŠ=¯Ðý8Ʀ½)Ñüx­=žÊò$‚ÖJ¿Ài~nü5°½Z×/»+å°=#òÍèMùÒ½ >W¿ˆáà=f^5/Û­m?3W¯gÒ½Ì#¶©¤ÆÄ=[G§0ç=¬gÿÑ æØ½yÁ8œ3‹¿ƒÍŽK\¹³=û|XuÑàö=;EÛöú¾þ\l2©ê‘½Ü8ôФ¦?ÿ=¦Bëyd܇”²ù½Þ¼ >ëE—éBÕ½*¾q+p\ê?·—M(þ×Þ½F¤jÐN©½%ÆR$ûÊÖ= îÀ])ß½÷¬'Uɳ¿¸\?d@¡Ç=!s}]2’=æ]¼g”ÅȽäM?Á³ Õ½™IƒCŠçŽ¿r6Eó%Æ=áš)wŠ<œ[é8¸à¤¼µ`©4<#¡<¿Ú|m]K½ÄobŒã&¢¼|28a‹¼A%jº²<ÏùHJü¼ÍÓ×jôkˆ½/’lâm¤©Zß<¾\d̪= >P›¢¥×… =«Û lõú<õÝoqܽÁX¤ÈÂJ2=pé³gîq>õÐiIW*½©Ê·1}k#½¾Çô«ö6=ÂH÷ž>N½?woQ‘m¹>Et‚É!V]=Ò†zq5½åyêæ7¥s=þÙ*BN|=“{B2]kó>úh0¤az½öænÛZ R½‰o© ‹½ä¢ò³½ÿ€â{j|8¿úã(Mì­=þ"Óùe‘½g7=5à=ϲ0àtâ½v¸°RÄ£¿ñ $j÷Mã=^›VÜ´Á=üU—ÆWó½å¯qžûóÕ½#—Šê^»Ö?&1tè@³Ã½Ñ4.¿9É‚¼îÛ$?Èi£<+øúÄé<ã\: p=DP5¢¼oª[ÊÉ ¼øÅ!„(`¼²O¿¦X3ª<“|Ç^¨Â½w¿#Ä<ÒNイ°<~M„ÌÔ¼T³K-Ä~×¼™Ê 績¾KÔ ÄÏFù<‘ð»xuPÒ¼!Î ¸ØPõ<ýÅ‚Ùe=¢u‚ÎOåd¾ÃCGp~ ½g?vý+øø<ž¬›¼^;½òÖ1€Æò)½v85ˤ¾Q©¹pžLI=ªE?ý©!½ùk´!==›‹æ&Ø•i=ݱmÆ¿þÀ¾‘¡oBäX½ö6Cöé_=—Ü(J»H€½_(ÅÜ´Íš½^éÛ½ó1?FÛÜ*-/¨=Ëx%Ñ¥=7èj¸*Ô½@T–Ù|eç½Æ¹8µè‡?õ¶/J÷žõ½5±,?Hkæ=€€û g'æ?.KU £2ð½`sõ󸤽ò: c³¾=.åB²X¤ª=»6s×4¬?ýÄÈ ïѽàZ*Œ˜ˆ=ØÂœ‹²½®7™ÿ †½Á¯ÅA”?Á蓸Òxº=}v@5f½ú¡óóf=ͱ›G§®=r¦áG!¯½þÈá 7Cq¼ú º«L5´½;¬ vP5´=梟³ŒÓ¼öG=çÜö½yƒÍËØö=§Þ®'2{ý< 꼌…ø!¾Ï3Ã1‰ø!>¨ìh®&½ìš)[É{>qÌ»\É{¾þð|3ž®Q=È»Aâ]“Õ>Q|KÍ]“Õ¾×Z§›0нLÍ™ã"?êEö—ã"¿îTºƒ}´=ü(Zm>b?3P g>b¿k»  Uº=ÛD³n¥¿N ³n¥?£ëwŽÅ5½)ãõæï~¯¿¶ê5çï~¯?ú—Ú=j†=Qœaû‰4>dôLW¾N¥®)^/5>ùtðUÆg“<ƒ1¼-­g¾ìÆt%.?@¾é\‘v^|`>³aµŽÊ g¾ýQt€¢¼0ç ³b>J à/sÈc¾Z³£§Ðˆ…>PÏ;k_¾¼™.¡Šµ<飴dß_t>W’Ê_Éåq>»6®>Ÿ“¾;ùÀ¦ƒËb>{ÒO¬KHë¼ezïŸ=–¾7û"•q>œ4À¸ õ±¾ÁËØŽìõ}¾ZJ~ê=<ß{S»¾²ðîGOð¾–bØkÀ>XBnº»À¾"çIËç½ÇGù[¨®> ƒR@»¾ó-‹&¼Ý>/Û%Æ¡å¾ ;þ©z«=w¬^J`È>òð50É>ä?”­+äê¾ø¤&ïµ>:YQz“@½³Þ¡y¾î¾¾^†$îæ>vtš›½ë¿.  °±Ó¾ÁDmߊ-R=fðæâð ¿Ù'£_úõ¾íÒt•d?I¾¦T¿É÷Ñw½Ìy–sùø?ÿ_ÝKT4¿aÑ¿*Aå5?{G6wC•?¿{ËÞGÒʽõD=2"O"?w¤¿Tx#?ahmF9D¿,}7¡Ö¾?Á22“˜uk= ŠË|‚¦½íNV,bf?[[öß}m¿bÖš¦lŒ?WB år¶•¿ïµÄTN½âvˆõ|?9Ú«]²T?ï\ñX¯¿¿)œŽZ”?çj‹Yßñ½™lªK-¥²¿sˆë\ʤµ?‡Ç•&ºÆ¿3Юœü”¿zÁ\Pò/&>äD@y øÛ¿)8ÝJzŽ?mÒ†·‹±¿v ûOŽ?·—M(þ×Þ½™‰`_*ä?˜¬37Ô¼–?«C»Ý¹·¿†Xym9•‘¿qVZžê;º½@¤k|’²?q†tU¸’…¿,±ŸðK¦?yê;:ÿ‡¥?]Hü®Å=!]ÆxÅS¿ÞpfN¶_4>ða#Ž.Y¾-ŸˆO¾8¶ðZЋ”<²NþÃÎo>ŹžäUÓH>ØŠßÀÕo¾Ç‚ÏzÎýQ>;3²žgU°<70°']Úx¾™Ì‚w¾&L˜aåwž>×ýÑrŸ¡¾6ô ~¶õ¼VDE³‘>’f?Ä ç£>÷¶djÍɾòߢ+yMš>)”¸øŒ ½°”^wæÏ¾,ê£=›Ѿ¦Bð ö>‹Õwµ|Kø¾ÞP˜ìy?½¡ÿ¯ÏÑ\ç>GÜ£§Aþ>#+Ù+4#¿\cY¸–÷>ÅØ…ˆ“½] rp·&¿›qcê)¿¿åz5>P?Ï fŒÓS¿ ºÃšr•½ <|„`A?÷¨Ä@ua?ÃeúWü…¿Ë&”¬LŠi?ÞÕ‰SwÃ=I²Ú6›„¿ö_sÅ”¿O…pÁe¸? rQ=¹£š¿˜7ÛI ¾á€IOuij? ™Ü*-¥¿¼6ÀÖ§µ?Ø6üþvWÆ?ž~µ:iú½}ÅÞ °¿ïûi$¦¾n8N¾+³6>­–'ŠùV¿=t Ç (l€¼6~¤ŸÛZ¾¤\éÿØ@>‚„Ës“g¾Æî¢KIÚ¾Ÿ¥$q™#ñ<êe~ÔYÓI>WÌ?·k¾¾<ˆ*Õ‚“>¤O—°]޾ê0î²EÙý<òþµÍö.§¾qÔ(Uß–>ZÇ×dÀ¾À®k`oÓ¾8ÄÞA˜Ü?=o5VFÈtm¾î”A^tnþM³¦'ë>X†•‹<羬°)ÿ¿Š=¾Ì ¾Öeü¾c ™z,Nò>“~€¾‘¿N냉´*¿º8¿ú‡&•=;OH®]} ¿Ÿ6u­»4¿x77›Ì=?ÞµÀ¬‘Dá>f ;•ñÌ¥=n®ÅöRY[¿ÿ»PÛõOd?v»…¿ôeÚ|Ý®†?xÎÈÇ=ný½˜8ü2ú‡¿­g4Þ4s–¿ófº/å;”¿[éWš6Û¿á-×AV¾‘Üw$B½?ƒÀÕÿñFR¿x ŠêÙt?¤mD© †?d6Ìrü®–½§&|EÁ˜Œ¿g¯ÜÆød?œóåv1¿6xÃÐúx¿ø„4z]Ž*³ÆY‘†?µŸlL£<>Ù»éN£<>óPu$·A>!iˆx$·A>éKumÍOc¾-&¢\¢×=ë'­=¢×=nÔA‰žP>×î’k}M¾®Šz}M¾úDB³çf¹¾v|e˜Ì>˜â3—Ì>²“ΡxÇä>òÔ€Šî设'®„Ýï设Bi óý¿âŸ<’ °Õ>p:²ì °Õ>“’ÅW‡–B?ÏWŽ)¿þÞÚ4(¿WO’ˆÜc¿mì±^¾ T?v"5¾ T?ÕiT—¢?p“…7Á´?ͽv,Á´?vÎ[š´‹?Ä÷ñv²•¿Í$Åóv²•¿[•ÔwÁÆ…?9£Òúæüû=$µ–xó޾-§ÕJ‚ >ûÖ&¸m~Ÿ<,‡®Õ̾0¾\í¼ò^Ÿ¾uÊó;‚$>UN"§ç.¾ëÞ1VŒ%¡¼òëŒÒ+>áP +¾6ïØû:M>ùW’«y¶V¾öÙÛ<õÛ‚ üŠ=>dÝÅÏòá7>i¦_¶Ö6Y¾ùB2.>éb®s’,¬¼zÂü†:å]¾ó;^¬V>€SwMNúw¾´ªú"A¾ÜŠu¼}Ç<ÃQü°‚¾Û-¤çH¥c¾^ëAÿÉ„>yÅ\Ôùï…¾iò:*4̼ò'Ñ´÷Eu>˜bi{í¾½!Ì£,j£>ÃïÕõBí¬¾¸–Z tÜ<àPbÁ/Ï>žèA%ü'>¸Ur ß ±¾‘T°'AG‚>}4˜Ž ½-ñ®:Sä³¾‡ôÓÞƒ­>nF¼ÒϾ²2™{_”¾„Ö—§µ=›÷`Š¡Ø¾tý¬µ\»¾gú0äQÜ>¤%¨÷üúݾlŽðG0U8½bP•3è Î>¦kuƒÉؾ•Ãañ‚ú>£ÿ“'=¦¿×Þfw«E½/žò€œ=è>`„fÑEfç>åÎéɾE¿Zäì&¾¢à>Ùã@=1d4!Î ¿Òü¥ãd¾?h^Êúú&¿~y½{üÚ¾‹}³`x½HÌŸ¨èí1¿·ÇÓH´¿U!"Håý4?¦Éü5‰6¿T¡5ÙÔ`½ æ†ì(?ÿŸf¡e¡4¿  ªU? 4A^¿²+bVé0`½Jõ,à G?,XûÚDE?z†Âöe¿³¬Òz\J?hSÍä¦õ±½ûø,²øai¿È_ëm<Öi?î¹Òªþ†¿è‹øÂvÆb? Ÿ¶à=<…³ ¿7:bF?×s¿]‡ŸÊ „Ž?½§Ÿƒù‰¿F¤jÐN©½˜¬37Ô¼–?³q^v@˜ŠÐöåÇ¿n»rÖI=€¿K wS°=ް]–¿‚$cs¶–?…=7ŠÄò¬¿e4”-xØ´¿û]7îÚôÇ=BVË ±©”?„ÞÀž”>Ìɘ „%¾Å¼.&y¾'y žxq¼ï¹}êÒ|9>¶»ÃåÝj>ý@ÂG_ô3¾å/)Ê>¹¦UŠòœ¾[/9×^jc>żºg¾–*ÒšK9¼èËv•¨W>Ùˆ^7ýi>¢± Ì‰&¾· Î“Ëd>àè(×Cؼ Ë6 ,•¾zN–NR㔾j‰ÔÊŸÁº>ûÍØ÷G¿¾xžê\ † ½Ö€ L¯>mr†vã¼Á>}½R”æ¾'ï,Nq¹¿>!&ô’¼\½­¡gEXí¾×1ÐM£1ï¾þй;=­?¼ÄY»"¿»ýœQX]½åæIÝ·N?¡8‰|I?¸GœsGA¿>eÏw\?>ÒŠ÷xZ€=³P[À“G¿k§¬Ï]]R¿Î?Â݃+v?'[6ȃËs¿CÚ§Åqҽ¡ƒîo?ý"R6ñ?¤isᨨ¿l¶_Ñje?Ýð¼fZ¹½_ö× Ji¹¿I „ÜóŠÕ½ˆ¯Ól€òü=#›|b² è=RãÄs<î—íÒ%¾9{¨ý‘Ò>UX3^Š/¾¶ÐqÝ÷zG¾öyѾ.·<9‹‡V'Ó >×yBƒm2¾(ŽêæwšY>¥Žœ;P¾ƒW笙±Ì<íöŠ=Oq¾b´Û“X÷]>ºžkô“Ç„¾÷›C¢1©›¾†(· =[U¯la>{é³ašˆ¾ú%b gû°>?Š%vvߨ¾M£¶÷´àR=쉃[=ž8¦ŸËp§´>’ί#ܾ~rŠv»ñ¾9ÐFBܳ\=>µ‡Gc£>û0xí(â¾G(DSx?Û1<5 ¿¹îE5r=§Ê¤8ûj¿¾*Y8?"Ö’ ð*¿Q£$Ð L¿³F€V—º½›4Vy?Ú¤Æ\(‘V¿#‚²h$r?¯ ŽÆ×Š¿ÏD/´Ì½ïNW:øþ4¿BÖñœQp`¿FŒ»/s?(,ÿPi¦?]²\D õª=€´Æi*¯’¿¬@ߪpËy¿³î#×cwŸ?˜$ ‡”?ÝšRpÀv½=¶„£˜â/š¿¡u4BÊÐ>^€5nÊÐ>1æ/M´Í >½=´Í > økvr+¾ÂçøA“•ê½Ú‘ᔕê½É/í6åU>k/¡O:å=ÛKÝùA:å=,9É­3h¾õEÄiîÃ÷=Uã½eÐÃ÷=â0j”(¬>@ årF¾CúÈÏHF¾È0±Žì×¾¤}Ón3(b¾~yΚ9(b¾Ü§¶Âæ?åˆ\"ë´>ÈÞà“&ë´>.1¨~2¿sšÿº¿»à¾~SâÀ»à¾ÃºŸ5§D?wïÆáY²? \µX²?¾^Ûýàˆ˜?tT°°H»¿€Ž÷¯°H»¿ì´X)祙¿µÛʯoy¾^Ö‘2ÀA>}^Îå66%¾#û9ÄgÔµ¼Djî€'S>‹I}zÙ&>v+¬¤²˜F¾O°íxËRQ>]ÃV¦·<8¿XÛŸâO¾gD.1bN>g„ú¥(kp¾f4ª5ˆ¥y>v¥-lêv¶¼jîŸj¼Þ`¾mDæ}”ÁZ¾³”פ*|>á?-•(¿Q¾¼—„ÙÕ¯Í}HËx¾GëÚ"ÛÚš>(Èz“(b>j`Þéðî¼&”l¥>RØ0Ùò…>}o=†Ï$§¾ï¶nŒ~¨>ÚKª½íí1nôÔ“¨Å¾ &Ô;Ð>bd9¥lµ½·½…³l'³¾cÊ£Uú±¾j¡Pª@âÒ>ÆCP˜ÇÚ¥¾”x× ¾\'=öœP²0Ö>¡`·9ÿnо–Êí—‹¨ñ>,߇š™´>/ïû|=½Èr¸òG˜û>Kë­èÝ>+§áâ‘*ÿ¾)îþ-”?ÄÄ +èY=V$Lc` ñ¾ÎoqÒZmû>gÏKV1¿;ÂÓpÜ%?sêm¨ïãg=ÈÄ™ˆ–™ ¿Î¦eê›° ¿ ïU’Ün*?–¹7úª¿³Úo€d½¸AòÁ/?.þÑdaÆ'¿`@ïíÖëH?¬•±Ö¢ò>×?íÄI„›=]+åÎS?@Aó|Du6?‹NHwV¿µ³äez`X?R‰>a‡=QåQ‡·XL¿“˜×xV?y$Ácv¿!©¨l(m€?&Ì>?‰}½…â j¿*Yµz˜Žf¿ú‰Ca^…?#ö4€}o¿8QG ÈÚ=Ã'ÊåÔŠ?qâo·“¶ˆ¿ÉÈf?ÛÏ£?÷´µJH†¿\«’ n¾hõQ°?Ô Õ89‘?‹‘Î6§¿»®^“¥?%ÆR$ûÊÖ=«C»Ý¹·¿˜ŠÐöåÇ¿˜tÑ•,ë?B¯¶†(÷‹?JíTHRˆ½Ê[e :²?f!z»C¯¿s³ïoÛ³?#<×ç§Æ?qç)Ðæ}í½†æ-è@—¿V¡ “ž$¾@)oVI>6æŒ9>@mxÇ<ûsY-‹]¾Àr‘òja1¾’XaŽV>/8³z@¾Òd õrâ·¼ ŒÈoc>‚5ÓcÄ`>A;€ƒ…¾ƒew ¢Š>Å&9,ïqä<•A³5Òz¾ÌgåÌ‹¾ZA˜M8ѱ>Þ¼W_j‡¾ÄuÅ'ý<°(`•tº·>Å*¶Uý¶>Œñ¿Ý•VݾÏÑîÒymá>¥4ïiî0=j_HÏ‘³Ñ¾Q[(×á]ã¾âÑ {†?¥ôc¯¦â¾¬)ß³ƒ€€= §kl-?«9Ž˜GØ?¼?Ôð¥5¿ÓŒXBU8?¥†¡ÇyB€=^P?™t+¿®š!¨Æ=¿Zo3îa?DZP‚óA¿ôÄ 5É¡½åT šÌ•i?Öº|ÿíq?¦T„ŸË•¿Wº*ƒûV”?Ù¾}|Põ=R õw>‘¿CÒV@£ £¿¬æø£¥|¨?¸£UkÂE„¿GLzµ€øÕ=@Ö“ } Ð?¡hf$ø÷=µð6l– ¾ÈåQàF¾% Œ†Ôë§<%ëòé:èH> [èø¢)¾Ò ¦Ä;§Q>å3>ˆÕj>½îŠ2fß¼­óç¼ÁèD¾û£­=£T>’o2‚|¾ãÏX¤½,q>Fê½+ð¼3—…;$Ù“>ñët·€¾dp:Ûǧ>€ØÖnx¿>ùäÌø²-½¿TÙ¯mùˆ¾“ïQ¨7P«>Üäú œ½Ò¾ÆaïÉ>ÞÆhÐ|u½~¢ì90Qè>AÄýbŒ¶Ö¾¯!ƒg´þ>/Ûè—? Ü@#&€½‚@ZxÕ¾`/ckòŸ?ýü ¹Ù*¿+¢>õ^)?è_<ÊO•½w“Äbz??4ÿðåÿÂ&¿úT•LïJ?r‘[y_În?pœb¢ã`Ù=ö`…hŽùE¿¯­1¼Èj?ÞÝ× ^}¿Œ#€Ù’©?¹Ã#:êÂñ=ê'—HæBR??ÆÆ Ào?¡)Wl€[a?€ÈzÉ¿Îdp0$Û½Ù÷? lŒ¼?»´º«E™?‘É$²e¾¿?–Ðwµ¿Šrlèèlç½ ó¯?¶¾·?[NªMÀã+¾»™¨SÀã+¾ýQk±’º0¾©ß-¢’º0¾=7fk$O>ÉUyÅ>b¦"èyÅ>߸ýÄÅx¾†b9J#¾)·¢ÔF#¾T­ +V¥£>òãuF5E>=Ö™ÅJ5E>˜Pó5±Ï¾@P ýv¾Ûžúÿýv¾Â·í… ëù>ÒÇüÛùg®>“Tûg®>|¥â9/J%¿Qœn…@Lê¾ÄÕBL꾆 ¯«‹ìS?¸dmî?Ìï}®?xÇ\X×k¿ïç©’ZLZ¿xâúZLZ¿Ý3WÃ:±·¿ÐCIzÎ?ãU$zÎ?ÏJ7zOš¹?nHÒm«é=Œ búU ¾í¡+/>e©Â&•Ÿ¼èV‡¢c×$¾Åhe]+”æ½~Bùt">¨®TÔî¾N†KJ`Þ[<æc…’ü9#>Ê…1¥%A¾¹;÷V9:>B‰…CG¾©²=»rür¼(«á3>e0_IBÉ#>³qÆ?C¾t¥\ªp->NêäÁÁ™¨¼7pòÊŠJ¾¡ƒFÍIC>#W:w'Ùc¾/%J˜ƒ>>¶nb%éº<¯;~AŒ+r¾Ñi°ðöM¾³Ü=ÙV–l>MRmN€p¾½–ö¾J¼ë ׉h>¹¤ýéøŽl¾μ5ÜÃŒ>Ý Cmâ_™¾ÀÅ€R„³Ú<éG…ÊZn„>G —xrãu>âãÍhü“¾Ð…€'-þ„>Õyó”’ï¼*²Ü¾H›<Ú"»”>ºš"ûk´¾f*ŽŠ>CRéëó =aYfS“ľZÞ˨ž¾§NÀ&º“¹>gà¸VÅ—À¾‘…ox* =[ŸéðÖeÀ>éOÃßÛo¼¾Õ|ºg§YÙ>øºÛ#ë¾Z<Ðê+½ÖŠéçZÜ>o2ïûÂ>˜Ò'.?ؾÓÑÆhä>èŽöÉn>=û‡à¯Oì¾¢¯/´Uà>ÒjH«°æô¾š¸ÁN¦:ö> †I$X\m½ÝiÓ†6P¿Ý?ÞÌ à¾¼QÙ*ŽØ¾jßæÐ…,ü¾ŠÎ¥a š‚½“§!´,?\54'X°è¾³3Œ#&‹¿ ¶ÑmÇ5¿30× ¢=}æ²ä>œ8?Ý,np|)¿,®Ý—[ W?°YðÍ ;?÷AVƒ7‡Ö½øÀxB?}»ÏS[¿l`¬Ÿ—{?<@‰€‡j?Ü*ƒñÕHÜ=hñôŒ\Šx?Ï8Ý’üÙ„?›päp©¿K%ÏŠlNœ? îÀ])ß½†Xym9•‘¿n»rÖI=€¿B¯¶†(÷‹?ç½Q$t@æ?ÕðfóW“=4½L7…?’øëíV¿?¯|¬ôÕ¿ðõpÚ¿Ù L¶Sä=Cú*_µ?åt.I*>2 q >e%¾eÍ.Æž¸ ¾VðUÃ塼Á]+¨5>:Ø“Ÿfð={epB&@¾ à`äq>ŸÇ õ¡¼¢Â¹ÁEl1¾“©è~'Á"¾ˆm¶ÍÀîE>â,w«žµT¾´ÖTÅ–¾¼J,s¿J>É-ÚUK>Õꀂ/ôn¾FŸ‡sa>víhØåݼÜõåNY½¾íq?V¸r¾pṳ’ã’>.»U¸bJ¦¾†Léõ~Ÿ½Ú½úžå+ >Ú‰:<¹+”>[’EéÊj°¾}³v¬„Þ½>KB0fÚËS½xÞ9À5LÓ¾1lÚCù.¤¾àyçsÁ¾A¬êzÝ?ô¾+z똩ò9½²½îh÷>ºûÉOáKô¾¸[YR1$?ä½WöÈ!?ø£ü)·gc=Hg¦\T¿ûe׈þ_B?vˆúHip¿¦Œ»†_#>¿I0ïË^¾½ê¼ñ^EP?²–‡dY?-ýº.ŸÈ¥¿ÃÚ# .К?ês%Nôµ½t3ÇFŽ¿‹À<—λ½ÚbU Øß= 5îøI)>ËmÙ9¡<QÔÖX "¾x}–94cô=ß`.«\¥¾ö§"«êé>¾õÉùÆ…sµ<âlí3Z#->;9&]k¾·Ï*ÖB>õ†Éµ®À.>Ò`¤ÉÿÌ<ûW·ŠNh¾-‘Q@F>(Jë§|j¾A¹-Hó©¾E¦ ™,Ã=!ðé>éôÖ‰Bo¾Ü«‚;ÙC‘>þ.ÂV×’>Læ2‡vF=5D¥²…ü¾cׯjr©“>H´i‘ÿñ¾c$oc$ã¾x™2ŠsI=| YÙ>-sð@m³¾×m×q¯‡>ê¤mbj?®£R¤q=¹L]Pb¹¿ÿÌ|¼Í×>U¤&Ô&¿ÜÆÐ½Ìà8¿z÷ûÆ=ó<ý›ÄËêQé0>êÅIw# >ý‘ Öv# >fÊØ¢—.¾Ñì.¸Œ¾É€ ¾Å®%’SG>½yAhî/1>\š5î/1>g¶\Õƒq¾­ª‘Íå^¾­-ÊÍå^¾@× sš>ø£ú¿>»¡r˜ú¿>“×ak˜ľ çˆbqZ¾¾Ñ+úrqZ¾¾©)£t}ì>"¢Ý.1’ñ>3Á‡71’ñ>CÖ{eÄ ¿vq$Èž&¿À˜]]Èž&¿ï'2\?[ìâôV?"jˤôV?ÄÊ´=Nùµ?Àj‰Â\˜Ñ?†”Â\˜Ñ?Â-Xä fÀ¿yM¸xh¬‡¼éìÈyþ¤£•‘êæß¼‡è7Fs«é¼w6i- =%ýÒ£fuÆ<® ürb*>¿½²’²í =éðÎWK¿½ð%% *=í±É±h=ªï•ýƒm>—5†ªë'1=ŽÁ€`  í½GûG»èv3=a+}>W½ÁsÄá´³\=; {|-‘¾úM%+1½˜› UP B½Æ­v¡$öe=;&P È3=‰˜øåÝÌ>2؈6v¡e=æ;éú68]½š`:Ç}…=a ²j`h=Û"tÛè¾w$'"3‡=³ïr÷£în=êÛihæõ’½6/ÄT§‘=sI›TÉ< ?`éóîB–P½,K]¤ê®=äžÄüPl³½?±‹£ä²=vüw25¿ý‰Bâf*u½”Æ;Þ#ݲ½†¬Ma?]Ö=x%6¹wŽ=`¦u¥p2¿=4ÅDÓ=§` ÃØ¦p=-_Žú­ÒÌ=_ªÆíÆÂ½YËŒcÎ~\¿Ë´ë À¿=dE¦©¾º=Yiƒy Ò½ û¨i=÷¬'Uɳ¿qVZžê;º½K wS°=JíTHRˆ½ÕðfóW“=mö5;ç?êÑIJ>­½JíÜË¢^Î=ô+œ¤‘¿Ü½–~øåDÀ=¨¡_Z^$ª?* ¡ê¬=ä¶M7Ó<xtRë+™¼×bŽùž­<¿OaéýŠÿ<±ÀVË <«¼ˆ×¢:ng<2BR6@¼y¹Ä¤ê°@<àt«‡Ä«D½ÉÄ¡å/<8Áu±¤Qœ<݈R[po¼ÃFc1ùÇ<È’Çàe¦½j ‘Óñ›¼McFîtż$ã.¤©íˆá +YJV½[,¼Ë1f|½@Y1^©¤=Àb9Nf:€=‹8&sp¿?ýš~?~¢=z¼$zf|=@Ìêøº½éHó™ß¡=IɃΒq?¥èŽn¢(Û= ¢À±Ñ{s½ÝJZ`9±=;°ÖÍð᡽Sv³aÑ‘¬?Ãi/’R‚=½&’Ôét¼³˜7nÿ•<ÓG=Ð-˜¼7&Û{öÁI=õeÿÞE¦¯ûÇdÆÚëþ‚Â=kHb†u³=N”šÚɘ=Hqì|=Nés‡vµ¿½swÔR|¶=Š«î[L*F½ïìá‡{º=Ò¸¾Šƒg’=Ù“œf¿ü³¿We›«´½C­Ôö›¥7=ç'ä _Ž7½¢ëâ5üö¼¾€³ë”÷ æ½8uï\¾Î3(§ï\>¢'¬fú+=®ŠJ­›¤¾"(­›¤>@ë4?(US½þ¦°—µ‰á¾÷¤©œµ‰á>³4T&܉=,Ïý¿P–?“ØPßP–¿ø8uƽ=!Î䯎‚?vÓ诎‚¿ÖÀùÝ¢½©©róâÓÝ?3QxóâÓÝ¿LõÂ~ZÀ=ÌÀo _'>£L&bJ¾?‰'ýq,>\i¹wbxQ>‰·MyÝY¾maG¾x‹<“\몲V>n ´©~V¾û‘¶û"mx>öRhÜ‚¾Wñ¢ j׺<.|Á.Àh>7ŸÍÅóc>³Úþ5+…¾,™”0W>ß(ÈiÛ¼Ù¡ˆ~þ戾œ3°Qze‚>™Ój ¤¾i“ûˆì„o¾-%êÌ5ö< Eq]û®¾Þ¨ïPc¾èŒð™:q±>$^«fR²¾0Jx{wö¼~ëHö$A¡>Raõ¢Ï­¾£4óq7Ð>GÒ³Áü×¾ÌHIt¢è=íäU  »>ëË£§éº>Ø‹)Ó’–ܾ_†°±Îª>.ÕËÒNU1½øCJ~E‚à¾2¡Ò†tØ>o‡= O„ú¾5Pa£ÿâþö‹-íu?D=B2‰UK¿¿Žnæ¾ By¸?{&¬üÿᅧR0“e½¯w„ª§ø>Kè“NSŠ¿ÍØé%{)&?ÁŽ֪J0¿flÙzr½~ZL`þJ?GóŸˆ ?24‘5×õ3¿´¢ÁCÊ?º«œ‚Ya=µJ‘²Z7¿í¦Ó@ø 1?0gç8ÈR¿Ð΋† ¿&ôNm¤ë¡½yKLøï•\¿o{%4©†A¿ƒ¾‡w +b?âF ‰ c¿½1é%•½zL²ÞðyT?liG1‘B`¿_=[ó€?t¾‘É:®ˆ¿Í}Ká-’e=ÆRæ\p?øC~µw o?fÿ‹•ÂòŽ¿ÐzƒG^Œm?¢Š> #⽇ƒ¤ÐÒÇ’¿–ä1ÊË•?þÒÑîGµ¿_˜>­¶v„?›ÔßOºò>¦ä»$_ǽ¿Ù¨%ë¤Þ”¿Õ1 ““±?e•÷H®¿¸\?d@¡Ç=@¤k|’²?ް]–¿Ê[e :²?4½L7…?êÑIJ>­½yS'G€{á?¼G>ˆ˜þ£¿VΤ5˜¸?aa|U9Á?²L5H"÷ƽ£ºxò dƒ?YMJcž/,> * UQ¾“j!?Í™B¾=üZhò<{R$d¬d>ioý„©¡:>:ÌE ý`¾U§U\ ÿù"Ÿ<’¡•“˜l¾E¿5`:si¾„_ϲn>—9ê¾PÉ“¾áAʵ„&í¼«¤…È]ƒ>EF$•>½HSmZP»¾¼[´š=¼Ž>Ê/m”ν:îÏ‹–Á¾!AŠ!”Á¾l2½V!©æ>°F@úHýé¾ë ÏHË 6½|¨B1daÙ>üV÷\’í>ôçì|÷¿GÙ2COç>NXKüÝʆ½À”"꿎ŸÅÓ½¿fô¶Y3W@?D6b),®B¿l ¶ÿ5‡½øV¸S7î2?ÊXÓh I?R?JKðo¿¹ÞwÎàN?×a†e§=uEšùñq¿:FZIAêt¿H_÷¶â˜?ÁtùÍ0¡>NJ}‰" »¼œ|M¥¥vQ¾o ô¤ð 3>½ÀÊL:yZ¾îuù\Ds¾õƒÖÃèä<²[åZ;ôH>h– ò Ã^¾‹éVO‚…>F¯p»Â|¾Úöœô8õ<¿áÇí&;œ¾jœà8îˆ>:Â4<Õk±¾AjVªØ«Æ¾ c“Ú=m4=FÈ­²(ÿ…>w®€ƒ’´¾ÿpaÛ³žÜ>Jyít.Ö¾¹GOÙMÚ~=˃û/'ñ¾­Ã+"rá>‡Hý6É¿;XÚ“¿*ZßI„ˆ=ÔE ~%„޾xõõSq° ¿®°$G¢À2?+[ˆ”Ç+¿F6‹É*Ö =ó…ª(ZF¿i×Å,×C@?o׬Ç@Âd¿EŠ ` àr¿=’ ؽ{ô§„ºi¿q¡>`?“¶ ¿«U„¿Z6?v £¿ ÊOu•bò½‘zUÂW'¸¿›7/€ãÜ¿5|˰p¥?oÚQ¸¿·h!íнÝ!ôÃ/´?bË5 ”?ûv—_¸¿ø\§Á™¿¼‚kcÓ½Y±#Ç·?› χ3>aupÙ‡3>UbÂ¥U7>ú ¥U7>°A9°³V¾ üd^GÒ ¾\ŽQIÒ ¾tCi–‚>\ÍáÑ—3"¾J šËœ3"¾ L"Zͬ¾C› ˆ[>õ‰ÿ{ˆ[>è‘§Cù"×>C×yˆ¾pÕ×éÙyˆ¾% XÓ ¿ÅösXäP±>Ù#ïïâP±>1-Ö^7(0?h3Q´%ã¾î–ýû°%ã¾ i´>¥V¿o-1CÑ¿|‰ÉZEÑ¿^À¸ ‹?ÅC%Fÿe?P† Fÿe?ðu$K̾?²íÎÉýÄ?ÅŸÉýÄ?§çÒ‘¬?õ"Ý«DŒì½ŒuzÀÕ!>iŸèþþò½cÀãIy~¼üUzgò!>ö„¯ õ=·RÊ  ù¾¦VNZ€>-g– H¼wΙ'¾“zõ×€>S<—'5Ù=¾0×ÓG>¥=á«ìks¼˜µ½{¶-¾š¶þ5P(¾ zøÊÃI>$8uÈÎñ¾ie­®²Æ <*K“æX_N>*oÚ«…tF¾ºyÝ9srh>4öjÝæÜ2>m! (²¼7 ñŠÝór>*o´&òS>ë 'Ö4u¾(s‰¬üJv>O—GûF½HDûªÀ“¾¥“ײK>œFÔ­]3˼óÁ“:;ž€¾YE«R€¾ˆq„"S¡>ÉRV‰p¾Ôâƒ÷–õb… x™À¾ìX†žL!À>†'|¼%ć>)i'ú/ú½²¤¦©¿È>_ ½š%«>²Ú!ë°Ì¾Àd’Rî/Î>βÖßnG)=¯ ÈÞ™½¾™"éB´¼È>÷h`c–«ê¾w¼²·žó>¹´qgoä5=3 Ï #×¾ °è¶;K×¾{Âã‰{ø>áh_}‡Ì¾tÌM´ ´1½l1Ç—ü>dâ ÖÿŠõ¾x-ÖÛ3?eÖ&h!Ø>°f=‘DPñ#Ñ!?Œ L?8å?«ov8Ó‘$¿Ådj}ý%?¶FÐ$Éo*=©‘œú¿6RâÐ[#?6°û cD¿ÆžPWU+M?ôﮬbrg=fÚAýO94¿ªõApýŒ5¿Ìêâ¶æU?íK¬q%2¿ØœpCƒ•Š=_ã°ß¯àY?aÏöÒãO¿¢Ú7NÞXn?ƶùž°"?Fðg§NȽ?¼œs‚¤y?Ε° :zn?õ1¥ålŒ¿Ú8ÖåŒ?!s}]2’=q†tU¸’…¿‚$cs¶–?f!z»C¯¿’øëíV¿?JíÜË¢^Î=¼G>ˆ˜þ£¿M°§ ;„@QØÚhßË¿Õ;ሣw¿à†îé½ÍÆŒ ðp?ݨ÷³òñ½Ð‹2dW>¶Ù»µFæ>ÛI*M7}¼>.âÒ *¾R\7~_ ¾%o¼œ t$>S¬»í º ¾´øÑÊ}Š[¥­ŽZ×.>¿1½òäS¾›uʃ&X>îµnM ­< ÛϹºG¾ˆ’/˜Y¾ñ}~‹…€>:~¹¶ÍS¾H¬~¿[È<c(l…>³}ëºb,…> ¦ÜTD«¾žÉ ?u£¯>ͤýÑÝû<ƒHýK„Ξ¾ÝéNgñ±¾Òþšìî×>ÞÑ_Kõh¿•4Õ,L=®Á’~Ý>M”Oq øÞ>[0b2¿É¿ˆàŸè³Ü? º$úK=îfí ûëö¾ÉEh… } ¿ßÍíñ]0?ÆÆäÖù¿ZØø’rr½¥!¢ 7?ÓËtÃÊÏA?¼"³|f¿ÎôÞ+•X`?€ùn¾=8 Xû«']¿j%L|èp¿Ø¾eÎ6’?mü÷@Ά¿â[ø:Bѵ=;X’VSN”?ì ÷r¿îÅ=Š€ñC—í½˜ê>‡qؽÀ‹–Y<<<¡}ºú>¡®þE>D÷½Ä¯5No# >èØyqÝ7>z-Û¤¼ÃŸêý~ž¾CcêϾÀ">l›Ãóy-J¾`Ó‚úê@>ÁõD- (½¼•fúF €a>%s¬£álN¾t±ü;u>YÊÒP¤ö‹>nÖŒ"î0ú¼¢Œ×@ôûN¾Ï(à¦Çx>OÚ0Ï–A¡¾¯„NNi™>:IiûB½åOd{˜^µ>9úà Wó¤¾ È®°–ÌÌ>ÂYZ–e‚á>ŸYõ¸ÈŒK½¦jÕS¹0w¾Æ9‚9ÊÒ>¨YôB]üù¾–u‹Çû>–zìf܃X½SÈ¥å ?.˜k‘Ïö¾ð"£2Ùy?ØF—éõþ9?¼Q Q\µ=Yn(ÓKÃ)¿Á Nª÷E?$A<ÿ¾2g¿,)ýp?` ´Ê#·=[‚Ofóm¿/׿# ‡?. |ì¾a¿£ ¯Óo³»¿3Î,µ5ß³½ƒ¸Ú8ñ¼¿‹ ²)›í|?ýZ#fbh¿Òügê‘¿ÚMôR‘ˆ„=ÈB’l$À?±u5ø½<úÈ5ø½Ã0À'oý½l˜Èr(oý½Ññ=íð>%¤ËÕìÕ=|þð½ÖìÕ=!½Ú’ÓäÊm¼Ó=lÝ¢÷øžq>[ú„‚{¾» ­®~{¾ˆÝBŸrœ¾Àlý(¤.G>¯{7I§.G>+Òo9#þÆ>E3mGéÚs¾I5Á¾çÚs¾&ŠQêìùò¾ŸêøÞÆ&9¾ëf¥ò(9¾äÑÓ¢¼#?ª7âá¶á¾“ á¶á¾Öì1ª2=A¿þþLz{*?š"ˆ|*?èvŒ½#‚’?6–Ö¯•”?I6¯•”?¶‰ç ‘Ü•?õ¥ÜÊô|>¦ 3-4<1¾ÅH7PÆ´>*ð*ôü7¨¥3s{¾@¾»æk컣<¬þCöô>>.^ývÝj=¾ ¢ˆ)×_>bf[OÚh¾íó_(-—£<VØ»9CP>X×[ØI>n³ÕÛDk¾ƒêã2¢@>™žfÿ)~¼®ÍÈZ 1p¾4yë§ñg>1C°~3ü‰¾e£?ævR¾é:?;…Þ<Õ&¹-©U”¾íC¨Ÿ;#u¾1’¤[–>b÷«XC›—¾~³ÄT à¼äìRû†>ˆ¬~KŸK“¾½öw=ûæ´>)Ê¿×E¿¾ßÕ]s^?ð<8Õ´,¢>Lc…ðý9¡>z åF7+¾„¯¬Rž“>Ö‹hbʽ<àW¢“:žõ5Ûr·z¿>.vŸáhûྔ5Y<ô¦¾Ú‡l‡ÖT+=xDf꾪³4¡Ì¾êVeµÄâí>"ɂ۩ル|ÑûH½Ý)5ç´ß>7ýÎêû龋•Ì]dÑ ?ÜX†‡2»¿L‘ŽÅgøV½:5á‘ØRù>‚ví™.\ø>籬ÛôV¿ùÄJó…ñ>i£éáG¼U=;†¿”{ð9ƒ?—+ÙÕñ7¿>^Æ›Nò¾ÉïÖŸ_X‰½N‚IjçB¿ÎÈE$¿\_|w’D?:‹TcF¿5ÈgµÔjZ½?c/”¯7?Z; šßíC¿bËžd?5.,n¿¼ðó‡3_x½9 ÀNšV?B:%ÿ5#V?ÐI³áu¿ ¤S?ÐÎV?†xµåtbº½A-ªy:ºz¿Ðj6l?›Äh(óˆ¿.É eغ5?¯.ÃhÅë=x£dŽ—¿RºØÈ…Œ¿>ç1_à§?ÁÈøµþ«¿æ]¼g”ÅȽ,±ŸðK¦?…=7ŠÄò¬¿s³ïoÛ³?¯|¬ôÕ¿ô+œ¤‘¿Ü½VΤ5˜¸?QØÚhßË¿eX±)`®í?)ªç!½ ›?™vâƒ6>áïO&€?B«tj>oÚÖT9¾³1fðÊ(¾pßVäÁ…¼—þÙŒM>k»ÇV+¼ >°#wÆÍ:E¾ÀÄùþ.>ËTÕ iS©¼‡¿D[¾ÓR¾_Ê€í%/P¾¤îŠwuÌt>EÍפ*¾y¾ï®Ù‰ëм1Ð2Ôï²i>O%nBÃz>a5]lþ2¡¾¤œ\m'¢u>‰[«S8켟R1‹%Ц¾yÑ¿ta¦¾•6Á\B.Ì>¸KU]ê¼Ð¾$Ëè+ ½Žo»©À>\é§ŒÒ>dZkà£÷¾Äë‡ÇäÍÐ>×ÇÂWD4o½]ÃáÕ¿þ¾J\¾¬ÿ¾zjÔ™Ò$?Ô„0Of²&¿Ìô9šžl½»\<ŠUî?¤tc8kÄ)?7?Y'™O¿­.aòF#?Ýù£Bˇ“= «°NX¿¶:?‡­b¿|ã_5‡?±ebrÔß¿aÜ9nØ¡à½|Bä±£ç€?9Àõàs?A;õ¯‚ª¿všKB …¨?ÚºšLß½„á¼?0Ô±¿¥Xè 罓é@äã>yQv>¸>á'âϧ¼:/ßG‹8¾&Pá¹Ò>‘]0ªA¾\¬ ðZ¾ÛDØb-½Ç<Ør 4>~Ž8bºïC¾VÉTî ©k>È.G%uŽ`¾NN—H#)àc ]”U–¾U*=· q®¾²A3=Oñè<Ôw>!Œ/½° X¸¾-éuÂ:«d=r`Úۉ׾I8ÎÜëÅ> ҕܼí¾SV"ŠØ¿€ Cf,m=s_÷K+À>È㽕 Âó¾KBY_^?aÔaΡS¿~$!ó ‚z=6&ÿYž.¿Ór:¸‡J?‡Ž=9¿¸~Íó¹\¿æÑÙò(Ö½I]„)OÛT?ÞZ]í†Êe¿ÉuŸÆÂH†?+F—?(’¿*(üؽ³ŸÑ7†–?â­áÏ¥Ar?ÓŽŠpÚÍ¿m9|ümÓ?nWêÑË™>ÿxIEûNÔ?0@ìYä@h?“m†üPÁ¿H“4ˆݪ?sÞÁä¿ð=Ä_-F¸îØ¿~9ɰ{>ö;œ {>ÞÌ&)O >{Õ$WO >J׉`>>¾m4#`¾ ¡Új#`¾`±C>ûg>43FN¶Ï >§RÐ¯Ï >ëvDHlò’¾ Byše$¾\݈¢e$¾Ô q ò‹¾>@ÆÕO»Q>#y³ðüºQ>”¹ú­Œè¾\ί²ÿ‡¾9;µÿ‡¾ìœNâ™?¦5)ÚöÔ><ûyWÜöÔ>X¾<›3ïE¿½½P€ÔÒu¾Ëwï½Óu¾£ÞCúY?z~7çA"?¢µ³—åA"?M߇Ã5-±¿„Yìtµ¿ê*DYìtµ¿Þ±Ê®¹¿G3Ì7ºê >9QSă/¾H(v£Z×>b°®øßW <­÷ç’²o@¾ž5澨jΕù4>? ¦cë>¾&ü’ùþ <®ž­÷:>Õ4½VÜ:¾ŒC žô/]>¾íEs'f¾•Ie]«õ”^*—æÙG>ß?ùTi¾S£’à@;>¹’®˜éÀ¼Û7½`Àm¾[¦S;›úe>•ÚIÁõ‡¾{•±áÜ&S¾”ß%T›…××¾$u$앾‘òQV¹°Ù¼ˆK Š€ˆ„>ñŒÊ]¥Ñ‘¾@ÂæÂg³>±<À¨¼¾BJ3rÁë<ó#LWÕ >±÷{ ' >‹XsÑÁ¾ÿÒÁ >:¸[?Ó½à^ãd@ºÃ¾|¼ÁjüD½>¯7¤¸Èß¾pæÎœRg¨¾ ßÞšƒS(=3~3{f@è¾.Øb¸—Ñʾʯ"?iì>ñ1)êdÕí¾§ŽÅž¬°I½¼7oþ¢eÜ>8ôj÷lè¾c*˜K` ?«µ¥O¿ç¬Ÿ¡I£U½¤úSŠŽö>¯Kð÷>’eWžgN¿ºTŸöê>3É×èýN=Ã1F¿{«çp=?f½0Î6¿úMšë"ù¾àÊY Ä…½¨Ø~µXxA¿t’1øî#¿ocÓ¨¨D?¶û»bF¿;ª‘‘M×e½ †Îoñ5? aåäFCC¿#Rn· Kd?Sh°€¯'m¿ïASU: w½eáŠVªôS?½VS|ÔT?2^ £&u¿üjä§q5Q?àÒ"Œ$ ¶½œFEöT÷x¿ò´ñ­n? ò“Ò ¿6‡¦Ó?'?—ô!ä3î=Âk7¥ÍÞ˜¿Qvèöü¿â(v‘¬?Uû¡š÷.­¿äM?Á³ Õ½yê;:ÿ‡¥?e4”-xØ´¿#<×ç§Æ?ðõpÚ¿–~øåDÀ=aa|U9Á?Õ;ሣw¿)ªç!½ ›?}ƒå 1ðã?âT°Kk¯¿=é0ÔÝ„x4¾-ùß*&¾…XSähW«<Ù‰ë@O~H>Ø;Ûð>¡,N¢ eD¾c/¢{R*>RJ_ÆÅ”¼DQ«]Q¾ÍÒ¼«N¾4 ðÇ´s>ÆØ·GN¥w¾ÀNIîÓ¼•Ç—g>Xºá?s[y>JÏó¼Áe ¾ˆ²ÍÄ r>Th­ç¼¶ìÄž¥¾1r3… ¥¾Ä9·Fb&Ë>qeŒ3íϾˆÊcså5½ýÈwx¾>C;i[1ØÑ>Q°õP’!k½-+wÍ©ü¾Ârf^ÿ¾e „<Ú#?Ÿãñœ«%¿]Ÿm„Éj½à˘?!£_ ì*?Œ,²ŽP¿?ÔO­Ø>#?iûE8æj=ŠÊJÖ‹V¿"äì ÚÙ`¿%MDî„?•†îÀ<¿û*3)Çá½{Ÿ·­Ðïz?ïB :)È?µwµ…²¿¨êšŸ;­?ñþÐõ:˽yßL(©¿¬ÂD¿å½S„¡R%q >‘‹Š5úñ=hʧò€¼Óõwɱ4¾´ª¢ÍÂ>Ýéøþ5ª?¾“ª\ÐæêV¾Ãú×^È<¹¤¥là,>z“ØdbB¾ÿ6 n½i>1@9[±ea¾d¶˜áÄÙ<#ì÷À¾R•`¥÷ãm>Œ|˜Šë”¾áW‹o¢üª¾òÀ¸aE=JPBêYf>_£hø»t˜¾`µÿ£Á>Ýs9çbº¾µ_@}ÊYb=‘jd>t~Ô¾äI)Fí—Ä>Q6AЉp쾸i ¿ü—[ÝDOk=ÝZ€nU¥}¾jÌax/£ò¾­èÍÛ.½?ŽËg¡Jé¿éšìVÒO}=¢ÍÙîþO*¿Úò‘É‚X?|$ {¯"?¿€¦:¸GÙY¿ˆx‚‹¥Ñ½è³ êÆ¥A?äî°)Dc¿4‘n ôƒ?2ÔÉç¿ÙÝZkí½&OêIÖ…?=C5ÒrÓž? üd‹i9¤?ã¢K¿ö¨Ë¿ÎÚì Ÿ$û½vóL"ÂÜ¿€C£¶§¿O© xª?ˆéÇJ§?ë´¿7€ÉÛ=¼‹D#¿?¿B2x…>Iz lx…>–Á2°™¡> Èõ²™¡>N,Žë ;¾á†tq‡ˆî½·'üŠˆî½¸ž*•û™e>Jc:~ÂÍ ¾ä«ÆáÇÍ ¾@#0‚ì(‘¾"eA÷C>¼5=õC>å¿Ø\¼»>п+Up.r¾ Jçq.r¾q«—$’æ¾ú!ã%î6Ÿ>*í —ì6Ÿ>—Ðò»ë?uG3ja¹¾5Ÿ8Óaa¹¾@Â4³3ÿB¿GzÅQ +ÿ>&œ÷y +ÿ>|ù¹×3e?×W3Œ‚YC¿]f‚ÿ‚YC¿›\¤\¢¿¬£[kƒ•´¿/èlkƒ•´¿)øÅè<¢?Åë,à™LT<çŽ )¥c¼]ëšÀ£<î÷FàìŽ=ðBÏN[µ¼Œ`—i°›<þ»ö︼æ'z)hަ<`¥vux¶>=Ïù"FV³<ÐáH÷9—l<­ÅÝUDðz¼.$Â"§ÂŒ¼cÃfн#=íÀl…œ«<»X‰0Mnz¼QÛHFè£<ß“ÅdÅ;™<B^›¥•=gz&ÝVDÂ<Ü65f¯¯¼ÜDg xÐ<ñóÏíîp<6WãW}t ½î2N²Û<yîN_þ´<+ÀÑšÖ¼Èç¦ ÀÛKÇœqÛþ<HTö®Ë÷¼ëÖ[F8=ý`œ®IÐ<ÿ¦\诹@¾·"Y·Mø#=U1[ž›Ø=š[úL¿3%½ç%2®;'='ƒø Ù8>°Joÿ½ÅáDÙÞ»#=8š—Kš{D½ÅÌ­»ªP=B›ó‡R0€¾mÁ §y6½“Þ½-Ñ4½TJbtOxU=ckØÇ!5½gÏtþ)­¾èk-Y¬Y=« HJ¨R½a}¡% [q=üɨï½Ük} x>ÙPT˜R¨=Ð:Î1'{a='õÜþ}½ !\G®‘ƒ=Ò߬׿9<»AZ‰w½É òÕ¬“ˆ=uÐH•}«½”;¹ò‡Ÿ³=•þçýñ?ðÑ< ½`%Ñs­q½.k oc5²=¦òòvr½y½æAƒüÂrP¿@ŽJÍ53ª=—âT°Kk¯¿=Ð{oéþ9ê?¢ÛœÉS{¼½ŸÜ[Šhƒ”<ÉD|I½¼0óÿfI‚¼x3 Seî ½9{}4QëÑ<³—@T•¼:•xW'¦¹<ßÙ¶í.޼~åC.4P½Jtψ˜ˆ¼ô§]ˆo—<+¹¬¥*¾¼šgà=d´<{×qå™|½yuÀXëÚŒ¼Y¡õ´Âª¼ª¶¶¦Ð<gÊx׫¼ïÈÕñ·"Î=溵õøádAPŒ1þ¼©¨Ñ¡#1 ½‚)ÉÆ /=a”iB ½VÌ`á¬w>ë3‰WLî7=Œ¤g!Ì9=ÛÌòŠ„`½Gå¬è]=X±ùï3l»>}PÛ\õúV½Ê¼M£Î [½mpéRÞV}=(çψ[4=áe7½klé>³^µÂÍ>“=zͶ 8™=ywä(´À½þÄ&¸‡Á=^°ÎÆÙF¿³`Zó` ¸½‘ø„Èž¤='÷„K«Ç½ã£=~0bÞ=Ë|”4|‚¨¿!¯ý¨ú¹=OóŽS<Óqºõ‚¼ÃÃæjr”š<ÌÙݱ0@=‡“¿_ìŲ¼ËƒˆŠõ”¼FòÁiBBº<[Ð-ѽl˼ÆÿF¼Ylb½ì—@¯jÀ=S"aZ6„¤¾ÍwR¢w”+½à³Š™9a9=#¶ªßÆ`½ÚœzTâl=îº'É>~8 ~Í2Q=ÙêŒù¶'=9£|èÇÌd½U+’ž‹‘=XHï›=?‚þ½ó°½ùcìÑ„‹=7É*f©½†@g£¼ü²=ܽߴ¤žŽ?yeL_ù¸½¬s¥M,ö½µ(ZXÀ>TÕ–éë÷û½t½ËQæ?vfž5ž4Š yδ¸=ÓSbpʥ⽋rIõa¤½3êðhŸžØ?ž§±.­½fÕ깂½¯hd›¢º=Ö_ÅW0Rª<©…° Fª<¯Ϊ·…¡<²4è†Ü£q½–º(£q=„Ýšðy=¬¼åG®RãRº½>'ÎRº=Åü†T„>Ñ;惲ˆ¾”ºm´>|M½ ‡ÅÚ÷1Þ>õ\0Ö÷1Þ¾V Îåµ5‹=ÄâŸ; '?&`; '¿áhî¤q½Žx$cf?T({$cf¿ÛõìÏŸaÓ=©.ü`P  ¿à&ý`P  ?~æ>7¨=¸ŸlRÓ=Mb=e5¦ö½Üºd\‘÷=«Tú¾p§<Ãz«ÖEE¾;ªŽâ–½%ž¬÷´Þ½õoM'æ¾OÉ©¥9SŽ<<çúsÕà>£¯Ëu¥¾>¾ÚŠ—u#>jÝ㉛¼3¾´©Q¢3vªb™£à >ž/Ä3À&¾ÿÕÑ‘à ">¶ ·$iœª¼å£š7{2¾h2¼Ç¬+>j‹ä)–™J¾ iÓ =.(>  ¾DhÌ´<£¥Š/Þ‘]¾½z¡D551¾c@÷¼GJ>½‡Hw‘zR¾Ö¯á³d°¼~$Ì'öU>«PÈMçR¾*>f<’1p>ðì&`‚¾Äfm‚ÁÑ<¤a¼F´s>8Q±S>0 øæ=9f¾O²eZ/ày>LÎÿ%F±Ó¼€ž¨fê~¾õm`Pt>‹ªüSÒÌŽ¾C6ìÌ‹>2G`ׯú<Ö¥é$|«¾!Øû±0÷m¾òHÓ+¨hl¾4—`FŒ¾¤™†[=ÍÑxTNq¬>:û Ž‘¾¯®¡.]‘>ów<ÚŽî̾ÕBn{õ¼:=ËsÙÊ>_QE~¨œ¾2¼ÛÐÒUÒ>8Yš€·Õ>åW±Lÿ¾<=ä;У–>'©…•·¾­x]¯ î>j4‡ò>»ü&\±2\½z ;T8侬Š0«¿¹Ú>uQN ¿h‘X1?:ñAü§L=FØS)T?z/¥k ?Æm'iÙ5¿R5«BÆÝ*?WH{=€«{ ­í?ûîÜ÷õö&¿&Ÿï½O?õãTh`è??1>Ѿdš½I'M:Š E?Ý †w—3¿ƒR´`?N)Äd—ÛY?+öÎ Vá½ A`Ö:ÒD¿_w’ïáx?¼„¬ñëùš¿©$íÃ̘?r6Eó%Æ=!]ÆxÅS¿BVË ±©”?†æ-è@—¿Cú*_µ?* ¡ê¬=£ºxò dƒ?ÍÆŒ ðp?áïO&€?é0ú­y Èb=Ú’7mÙà=hÄ/> >À2,s„̆¾Š_uÊx÷½‰Çaj >øwîµ |=¾ü§_ð…¯¼ÄÈ3a7>}•Zf³³ >œV Ò> Ò‚¾¢²S>™Žk¿´Ï¼— ªÌ÷ßg¾¢œW”‡Ë<>˜>y v¾ØKO¼†¾‰'šw½Ø$ ÓûŠ>ý+~òt‡¾§n®éXµ>½‰¶Óû‰°>?FE£CtD½ŠÄÓ‚m¢®¾UŸ;yÊÅ>Vg§Ø}ò¾ÜŸ³¶¾œ·göí¢0½ƒÑfûßÓÛ>Ú­P¬Äò¾Ô ¢t/?Û¶bò:i?Ú´½£i7,½×÷`® ?–,óÕ"C?ål:k¿¡N8“ÓT?ó2)‘"¯¿=€dè?¿Þ€hô°Õ¿PÌt·³?Êli€j¥™¿ Þ&ƽ/ÄŒg—?–ª¨'a‘½ã;`3q‘=ïå‚*GŠý=ÇR4òÔ”•<¥ [H¾±üˆÞ=R:mž™‡¾‰ñ'M¯T0¾[Òîä½Ì^Ê0€E¾Ð?.x·$>™¾"¼}:>G+ÇÙª»Ç<€õ'¹8Z¾ˆ—Ü-,(> ÚÑWD¾¼ûwí«”€¾‚ÍL;Qø<¼^ÕÛy>RÊÃx7J¾r@SݹP>”§/}n˜>o§g¸Û6=WWkÍ¿­¾QCðcy]T>ò âÏV;‘>vï WÓ¾ÁÙ7 b6=åÞK rƒÒ>½FPEl¼>ŸÇF>8ê¾5{Ì+ë ?kÔYPQø¼ž¢èŠù¿¯µQ%B&ã>uoIµ˜gï>„òèFð(?Í‘^ü/ €½JÏ#\·*¿iÙŽI"L?Õ¦-­o¿*ðwÂôth?máç”Þ â=ë-YÃÒŠ¿L‰±[;6™?ÙÕ>vý ?Á“;Åß¿, jõ½ñÒOÔ_?fÌs”ÒÁŸ¿Ñ)Vmˆ8?R–GÉù—¹?Z&ìÖ¢à=â>9\?ß¿µ³½úÇøý=^òQÙÉøý=ÝA¹ï:>ÿ= GB®9>ÿ=9޲c#{ ¾Ô¾“Ü‹”¾[@ÙèÅÏ4>"]ˆn:,>ÙÑ8n:,>›þdvÊ]¾ŸX¥ªY¾ìaÁY¾"¨¨³„>çZWc>7(Sn>ÿ&ie¬¾õ OœÌ·¾‘KÂMœÌ·¾b;ÒŠÚ>¾VMë\æ>¢äïVë\æ>u=2Þx ?îgÌ}„L¿ôBx‚„L¿×ú?&Ô#??,Ew@ü^?–Ýu«@ü^?¥¹cÿÏ‘?=uÚê w?ˇê w?ª­p;û±»¿~Ú¢d D‰?öE`½–•¿P±›°¿J¸eUd&á=‡«ekñž?Ç…¾îIÏA?L˜'Õ$¿F$ÇÊ8 ‘? ÆÌØñýç>½Su>k?ÎËFxÖ‚?‡±«ÂV¿y§^!‚Y?…v³„x=nx7iüžc?½Gãhqû¿p¦£ãC?t(úù A?íËûÎz€½“×=Œ‚}L?¿á6b¸s¿¶+¬ÓÄ]>?s´cIgC?æ­S¸ L=ïu̼E¿cm)Ä?®Š@0¬Ï(¿3× rÁ+ ?×&ø~Ò0=M¼%S‰!"?*šÎe:ò>-kžJ¿qñ%©†õ>ªÚW×Vâ&=¼8 3Å?QdÀ[5ܾpÉnœk?•„xkæ?ihä´½(=Mö©Sùâ>Ðý9õ¯Þɾ j¡üî>Bg½=hõ>‰Ðü ’Ҽˠ(úHѾª¢çļ„´>ƒ?/2gøÙ¾G<™ŠÅ’É>o|xçA=_ººBÕ>íš'i§ô¡>¥RWI@ž†FÀ©>§GE5ÿÑ=^~põÝ8Î>˜½Q8¾i=»i³.²>o"xí'±>(Ë-eƒÆØ<Ü0îJ¬¶…>P= 6¡x¾ºñ>Eðœ>cË¢™Ws¤>¯Âš½„o¤cd>‘XOÄo‰¾üÓ4ƒ¢u>Dtòl×aê<¨“äð¦&…>ÿ )DßP>w=YF¼s¾t ß¶èÕF>œѲS¼~ ˆŒÐÉ|>"ÀcpƒQ<¾ÂþÀŠûRa>Ñ‹÷?‹B`>€æ{‡¿¼y*&k_/>-ù®¬ðf'¾Z`/iGTK>¾¿MêÖvS>í ÓûA¦¼U&gÊ/]8¾ž=bZò×$>áš)wŠ<ÞpfN¶_4>„ÞÀž”>V¡ “ž$¾åt.I*>ä¶M7Óݨ÷³òñ½B«tj>¾6PÆê£>ŸÜ[Šhƒ”<²øºf¾÷=¡ì×”ª@nIxäwÕ¿/¦~—;Ò‚¿åQûÀqÙ½ œO@¼?îl‹–Ü?¿èÑD²ÃŽz?L"Ý–s?uÌÇV½–½gBÅ|‹s?ÝKó5I&? k9rÜQ¿E¡=¸2?ÆpsJg`½J?#áo:?E2!ÿu¿ñRú=ž(?ÄQÝ>ä?KÒÈü¼·$tFfÚ¾ØvË.æÓØ>©‰P÷2ü¿®[QX>eµ>ÜW‡`PA!½™”­DW¹*œs±¾< ‚ýÛØ>F¡<ÐMÉ>KŽÙ6Ò%=:¯µs‘’²¾„Äôá3ˆ>+ø†G"±¾: ‰~Ͱa¾%Žñsíð¼Y©yM#A£>3 ƒP²`¾ƒÒßÚód‡>€7ÙÛk¹x>öC¦è¼¾ÿíÖŠTf¾/¿hM%"7>]pºUæ&`¾š•Å·-¾{Ø9åg^¿<®5`IÉR>:+çèÝ€¾6R¹[À7>¤g%B(>Ùk 7G¼‹Ú~'R¾˜éº0lR¿¤sÁaÚëb?,ÿ¬¢œ(ƒ?Æ#‘"Í¡½À z*š¿’"+âYp¿T#öQk@?¤÷§ƒE?ù[(S­äL=Q¬.Ze,?Mw2ã~ˆá>=D3 † ¿™hrLû´ ?7dE¢â¯C½v'I ¼,?Eq ²¾>øÊ°;ß>´ÈûwŠBì>–SÜvoh$½ùˆÐ…:ná>Þ#ûæ?o‡>~Îå› =´¾ŠMÕ¡Â>†ùÜöB½`ŽŒN‚2¼>´Q^2ŸT]¾‡[=O ‰>C\|—D™>ç¬ý´ aö¼pU«¯2“>¿Õ¦”üé2>{‚Âé©`¾Ó*\±U³r>œ3Û[½î¼Œj¥÷e>S›Ô ¾%ÖI“þ;6>Kà¿ï(F>÷ã Ý{ÉïÇ9x‡á= í.üÆH¾ß0qd‹">ÖòZ ~^¼ü•ñƒ‹È>[op’ÃÌ´½ÁO\)Îä=pÀØÉ×ýü=æ©+NF‘¼U4ä¬8±²=™™b®?áä=…½ÒI©¾äþw+â½Ç,¦Ãyˆ¼< V[Ù >Ó˜2%*i?Ïf*i?ê8o@4}±¿MýA4}±¿]*i€A¿ðÿÆaL¿ VÅaL¿ðlö·Ó’ý>àê@X§?›ôÕ_§?Pq3tàSã>Ò›Yÿ¦â¾ÏÙCÿ¦â¾ñO–R ´¾yW¦—Þ¶>• x¤Þ¶>ÞàµÔ_*>ÿoedHŒ¾F}ídHŒ¾«‚­= Bd¾Í’BgZb>Ù$CÊfZb>zwzµ ';>sm2R8¾È¥ŠR8¾G3 ôm¾D”j`_ñ>Ó§q_ñ>XÄy8øî=´/o™Íê½ Êš˜Íê½kLä•'Í>­çòGœ¿å5¥Ù Ý ¿Š5šÒlÄ?ĚŘM¾ŠF ,/¹²¿ý 2Q„I¿Z$žSš²?2à ogõ²¿¶75/Uî=lH‘`WB£¿>Ô…qøÚR¿l€EÛ~ƒ? ÍÆQ²€¿\êHÏž4ƽ٣oÚð¿êÁS—SA?hÑ.µn¿Ø`û¯Gnk¿õ+àØØJ¦=øÝ_!âÆq¿B" ‡–@?+•û‰‡†d¿š:(»i¿OŸ†rÿv½Þòt Rj.?]¾TJ(¿”Ð:ç¼ÉP? ˜õ_tD¿° Cµ¢X½ïU•iöH¿»ôà,r‘¿ãcoµÙ´°™¿T“Æ¿¥± &èù<ÀA¿ZAJö>\`9ÂþÚ¾]=£.Úl?ò;d9PÅï¾{óæ}f½< ­,C×ú¾jÉ.$°ƒÆ¾l+¥Ašê>Á=4™ÍÁ¾~Ñ}elA½´ŽÌäîò¾ìÑ#!W²>Aö)ÂÇÖ¾wM¼í PÕ¾h—çÕ'ú¼”FW´õ©¾q½Á±©ž>R1!jÔýÁ¾BÂ<òÎoɾmá©¶5Âмþ=»s¨>'H 6Li‰¾´¡{b=¯>r0Dv² š¾\g½Åë·²Âbª¾¦Ø'»"æt¾eKl˜>ÙÏœ$Åk¾§ŸPO <‹Ç›ìÔ¡¾³Ýº;2a>·ü£¿èt…¾Ì1î‰B%„¾Y¿½Ç ã<À²¼VµR¾_ ó‘àL>—îÍ]Ùp¾Q²–}zx¾‚+H<›XÉ<~‰ñb‡W>w˜ƒØ 8¾üCu^>HÆÄo…I¾œ[é8¸à¤¼ða#Ž.Y¾Ìɘ „%¾@)oVI>2 q >e%¾xtRë+™¼ * UQ¾Ð‹2dW>oÚÖT9¾ÔÝ„x4¾ÉD|I½¼Â^¯ƒé¾nIxäwÕ¿I`YOzø?®Þ\W›? ÒÉñ«cí½|ð v6â¿‚ 8wn;v?èæg]Y§¿„oÙ¤°® ¿EÒ|nÆ=í~o± N’¿«Ôå`§æM¿ |sèùw?UR!m;V¿ ø[Æ£ñ‹=3v8žÄÝb¿ªn¨µl%? VE!JÜO¿ØSò•>¿ã›ø…Ç:=:Љ"Ú ? %ºMù ÿ¾€~w­Ø&?1ÎÄ%£™Ô¾¨+êMKkE=Hà¸Ë¿"á›”ðîÕ>2|Ù @.ÿ¾Õ85ýÂæï¾s1Š®{ÁL½yn»R65Ø>V°)*0®¾ S5ü0@Õ>Ù=¸)$‰>Y•ÚÏŸ=¤Sp6E$Ⱦïà?Þn·„>2a|°‡ý¬¾ë¤2u¼ž¾J¤Î'Ÿ“ =°ésL2Œ>¯Ü•\¾œžULðƒ>>Š YeÄA>Ù6äs¾8ã¼Ü¡cš±Kw¾ñT•U]R4>äh…b\¾’ª°ýLëM¾ÄyN¡ Ȇ¼çŒÃ`¢'8>x®}=ÈÔi?a‘í &T[¿¿³"‘™¶¬¿ŽàëÈ=îÖIߨÀ?Pl=Î??ã#úµMg¿…/…pÛFp¿èÜÏNÖi½`X§±’`J¿Xã’˜¥È¿ÂxÅÖǾ1?t4ÿp÷1¿ÅÉ×ÜÆ°k=R;Ѿz°:¿H9?ø-{Ö>çwä`;}¿&œ–4Û¿–ß<š»H=†R ™z‹¿ÃÛ­¾ T“{!Ù>°W µÉtç¾q{Q5ˆg=ÔN„MÍ¥á¾Âg͹\‚>²Zé–¯¾“5­ê„_¿¾â¡ó;³=ED̸¾#‰ƒ7W¾Ó0VäDx„>Ÿ«á~·@—¾~©*„Uï=Í*¶R‹¾ÐÄïf©À.>%ykrc?[¾r@VDk¾}¦5ËÜúî¼ÿÉ$o#¸h¾OA×&熾î\@F!3>N¶ŠâF¾à±ÞíÇov¼¸’2,8¾ŒŠ×j%nÙ=S] •Öq ¾%ø<ˆŸÅ!¾©¨æ‡’È·<Öë?>ؽ17~Mpš ¾Ê–ÕÎÑs2>þ.ý¯k>kJa ×±<Ê …®tP2¾Hp«×O7Á¿.ÛþÓO7Á¿‚± (³Q¾?«æ ,³Q¾?ÓÙ䍿c?ñÞ…ø9r? 3†ø9r?‚“S³Õ¿ÿßìcÈÌ2¿ÑéãhÈÌ2¿¿o{cl ¿ü>Ž|úy?ɲœwúy? àLüÚ>͹)ƒ×Û¾ž2ð8ƒ×Û¾m‡åÅüʲ¾Fì-•Öj±>"fÖj±>³*h¨‰>'Kqõ؈†¾PàÏ_؈†¾ÕÁf†a¾lCB È]>å U° È]>eröOð6>Iœýã´4¾3 Sä´4¾h}å@Ú$¾;¹®-&X>¹ë¿%X>”:œ.F‚)¾iÚò3ßqº?p‡[Aˆ˜Ò¿P‰n±à¿É®Æ½ >©N2o5Æ?›å3&'Œ¿V©´d½_­?óÿC†„s?©W”ðà=÷{Œèwƒ¥¿£4ýßZw¿ i¼¢˜?å¾ýW?ÿöªým¢=­ø+ 2ù¢¿ˆè›œ>Æa?Æ´úÁÃÀƒ¿ŒÙí/â°ƒ¿ºmçåÊ¥=¾áb_?åm­Ÿ‡~F?Xþ>³xh¿º(d !q¿iØý–‚³=<ªƒ]}Y?êÆ¥ 4¿ørc%iæV?K x™ù1¿ÿ€&lk>k=§?™×VU¿Æ}‡¿27ãôŠ:?x³"Ú䥾´Påc£Å2½¾h€Y4E¿Aª×X=ƒ?uaÚÄ{(¿LN|È’'¿SE[§z3½óú}ò>ß„h¬zì>/µ­S`5¿«-Z«íW¿ªØD²À=£b[ ZO?{$$fdŽÙ¾@ò‚7@ý>K"¶ß²Û¾XѶ!'W½LœéƇRû¾4Ž×X%ÑÀ¾v•(š½â>xÝRâ’öx¾¥Û¤¥O 5½-Ò¨*îí¾Ã†xü9Ñ®>&ˆ÷«Ñ¾ú?ª"ñоϓ<²eš=V° é•>!e»Uì—”>-ÚP&·¾çgO2GpÁ¾¬© ÈŒ½¯â…šŽý§>kB©¦Ël¾-t~À¥>ÖPûOa:†¾ë‰¶`ò¼&!~ût%¤¾i.X­i¾%ÛcVÂŒ>R!Aq)°3¾óãW]år¼¼ðv—¾È£{w©W>þoéÔå@{¾Á6¡þ—z¾ƒa{t¡}¦<ý‡`f‰8>»Üë$¼]@>™ºŠçdeb¾ó€?Áµk¾Tb^¾«ª£<ãH7ÞR>LME+.¾lrïþßxQ>f ㆬ34¾µ`©4<#¡<-ŸˆO¾Å¼.&y¾6æŒ9>eÍ.Æž¸ ¾×bŽùž­<“j!?Í™B¾¶Ù»µFæ>³1fðÊ(¾-ùß*&¾0óÿfI‚¼ÎûücPvø½/¦~—;Ò‚¿®Þ\W›?G,^V¿íÎr“P|?³?¯`NVa?C³LSý «ü"‹7u¿+»Úªc>*?º(¾Dk.Q¿—]ov;LE¿FâjñçJr½¼nRq@?Ž´cã*Hþ¾e W€ô#?Vñ³÷ Ê?×iºÏÏÙ!=þ#Ö˜Š1¿ ùX"˜Ò>í:áóûì÷¾Ü?Ý¢¥=í¾v¼@À f½<×#ÁkÇå>Ø{#kÝ:¦¾!L,YgxÍ>‡Ÿo¢¥©>^G¾ÐÖ¼vm0™ðLžÉ-L¥§®{>z×ú$kd¢¾6ÜV¢J–¾Æil4½0=•wŸ¦{> ÿÅÝà€Q¾”9(èãTw>‘XÎ a?R>@c?ûͼãK‚æ£zp¾v°R<$©&>>úÞ­cN¾¥OÐCDöA¾†R DFL§¼Ã"¥2—6>~„;L r?dÇg—”¿4²ØÉ^¯¿¯Ã°èû½¨=Hóד¿Böt–1&?À‚–(@Q¿E*ùÌr¿Y+$ú´ ®½*¾l¸oI¿U¢|¿ŸÌ¾Ur5Ù ?+k±Å5A¿s8Z©õb½»%fäÒ¾ûß©îaPÀ>xru"›ï¾„±ƒ„ÕÌ¿þ; >ž4=)Ýé¿Ð…|#è„“¾EËö¾ Ã>Ð?%ØÕ€ç¾gäI¶d=8KÖ- Á¾H¢s&Žh>|Ý4| û—¾ÍtÙˆEë¾é­¤ú`Ǥ­æ[’¾ÏQVZ=0ƒÌƒJd¾Øÿ²ér`>\«÷ÍpD¾ó„LÊ¢‰U¾=vßs=WÚ¼e)&мd¾“ñ^¦¦ î½2E½Øód>w²bch=¾¢ØÂZïò£¼bõ—«Æ>¾vªD6XÄ=•šóoï¯ô½ñK¡Î¾|>Žýƒ<öÒ{¨iÍà½ÈJ+%Ò<ø½˜°gi !>¸+G]n>@‡Çb3<}‡šØ¾ "¾“¨p BE¶?õŸ”BE¶?aMºé4Ñ?ý–é4Ñ?n‹oc"X?]Aä K¿-kïŽä K¿l­tç_ÞH?ã²"ž¿$®yž¿ï¦3å+ ¿Ù‘ð°=ð>ƒ³Á¡=ð>Àú¯NQ Û>œS²ð®Â¾^2PÆð®Â¾‹jž^0½¯¾®,⾘>ЇåØà¾˜> §nTI>ë¯eÕâÐo¾'¶ÎHáÐo¾£ˆ%Ž·(T¾–¤÷ÈLÞD>s d@MÞD>ñî±·È(>XfÔ\ÅÀ¾zwåõÅÀ¾&¿UË(ù¾˜²Æ~~õ=Ðx~õ=ï\™¾ïï%ÿ3ß½³RBOç > \&ZCÄæ=üJµ^s¨l?”³?Œ Ó½–®èC*Ä=¾Ï1¿þYé½k­Dòž‘°½½(á팩¿ÔÚ$âzXå=HÈífy—=ò²kédнª4úV­YL=û¬=tÉ;r?Ê+¡8±ª=µûg®z,¯µm=¦Sˆ<- =˜Æ=½bmˆBlɽYöQE¯…¿>ÿ”êïçÆM=£wI{½+‘™IŽ&=|QÙýV=Úxh¢¸><úò‹S½=—Œ³"¿í¼_E¸=Šé =#uA=²7Ôzþg¾ƒfƺ½ ¹kÿÉ6ä<&É$JŒ·½J”&㤃Ç<ŸÖhéNVq>ùkt§ôW=zà 5ÍX½<†¹clß_ܼàq5µ¸\μÎ3j¡o!8¾ÃG}´ë<¡4rí¿£¼| ËÔÂ<ŒãÛµ*Å<«)ès³= >C߉²¹¼¨Ú"A„¬=¤À Wà-½PJ ¶kR½7mÌÔ4¹¾Æ4׺ ý/=²›¥¾­gͼ"Õµó*ö<ÞȧS^Bî<ßø.Ècj¾XŽ=…—Nò¼Ð[ûÐÞ¶t¼ñ Vðg}»¼c¨ó®v<À¼'ßs:Òå ¾…¹ò´•·<ö§¾èåYø½”Ö¢¼~-±¿ c¶¼ÈÀ›d]­Î1ó=‹'£CÞž<µ4Ò¨¼þÃð%˜È<¼ï‹ûü¦<ÕY8°ÛÇ=Nwl§Èü“¼';šŽÄz¤=e#/ d<°Ò:”葼¼5þY+¼<‡•Þ|Ä–¦<Ù@&zYËû<;µÕóÆ'†<æ9˜N¶´<ïû0'"£¼è…°©â¢¼t"/"®= ñ¿*¦Í‡<…ƒâ ³¿?÷ß ³?<ÚDj•Ià?\²j•I࿳\9¡dl’=d­û{%Tj¿¸{µ‚%Tj?£k&xm½®²+¯Bò>MN¼¯Bò¾Ä¹ìœËNë<û5s=j¶Ô>€Gê¢ú 9:“¾ñ"ÞÉ?µ¼Ì¤b±‰`G>å秉`G¾£êqöœ<™?qÁËð=ùþÍfËð½¤W·J;¼dЭïÐ…½ºÍ»?Ñ…=Ü݈þ¢¼çÌT-Öve½Ù™|ä€ve=e $•r¢<]RK£s%½wº4R‚%=Õ¨õ‚<å‰+ê䧿ᦤþ¦À?_‡{ŸëCÎ?_ÖžXô½>ýè{8'¥?‡Óì•Îì«?)¡NVvLп8ç\ {ç¢?DqGû Íù½¢Ï¢ Î?ÌH“Heˆ?éÃü€ÍA¬¿èYDßÇ£€?;¸–Ú.Á=ê‘ Ž{’²?…Yv¿«¸ Iò›?3¾Z£>˜?m2q¢Y$¿½¢VfÔD†R?‘s§Ú[]¿!ª0x_?¥Yíüzuˆ?æ&5qØã½Ý¼uEi¿*ôúU’H?«”ŠXß0m¿#Sò`9W?ygÓ{½O¥–Ïð5i??%½†2?¸$M݈U¿¡€^ V®#?ŸœgvC\=òÔŒÔÂ]_?7¤â´ÅE¿÷L6¼+äB?Qâ¹PiËA?Qq, Ì_`=¯8wav?Ueìy¤¿ûo™¬¯F+?L]¦Ï‘3?ø”y‡¶½,½tù*€p™¿CíàI«"ô>w¼Þ¦%/¿ÇZ½Ä{?‡ƒìº-z=ÂÙ_ý•#?.몗Þ>ÆÅUA¿>⺜^ôË>œéBÂÄŒU=@¹iÊAZ ?æjIŒ²<ʾ¥W%dcï>®’"Ͷí>Å¥ôMÆç½ï¢!³æ…¥>À±2á³¾¿ÓЪjÜÖ>ey4bb£à>´G¦K‡ï=ðO¯ˆòí¾°Èô‰À<¡>Ÿ™ Ԓľ³ã[Ì­>Wj¿ç>=ìøƒÂ>ºÕÁÅ +Š>'|JS{®¾§:ôC°w>ºÑåH˜ÆdòOÕv¾¡5;¿;›>n7§b8™>Ì%¾ï¾Òð¼Ãʳ„°R>ö£”–xŒa¾/økz_2„>‹ÓÈë`c>àVá•"Û¼ !Ï$#9p¾½ —WÓ×N>i¹°crr¾Õ'»¬Ž[>ÄobŒã&¢¼²NþÃÎo>ï¹}êÒ|9>ûsY-‹]¾Á]+¨5>±ÀVË <«¼{R$d¬d>>.âÒ *¾—þÙŒM>Ù‰ë@O~H>9{}4QëÑ<£v…ME*> œO@¼?|ð v6â¿)Mà*‹’¿G›©9òô½y’Ø¥`ù?G/ê=Dq”¿02ýÙ)Šº?ôˆÀñôÞ³?_uš$µð=á«-ÀDpœ¿WVþbÒn?ýTR½'s•¿¯²º"ðuW¿¶à®:!#Ì=tØ7–°Š?\î½”Ã×B¿3Eìãöj?ù¶=‰~\?EžD?|Ù‚=ˆp¨{N¿ À{¢ö?°º]@†‚@¿S)I‹ ¿‹¼:¶ƒæS½”ËB ‘4?,URWþ$ï¾Ã¬h¼"g?L©¡Ô?qV¶†þ9w=Lÿ«ÉÂú¾¡üÙl:[Ä>¥§üˆëë¾Ì\Ë&Òr¹¾³üœÙè3½€Û§u²á>èúM“Õš¾Ì-?,›aÂ>»Š'Ê·›´>𥢊Fñ!½þ¦›ìw˜§¾kEhœnäq>u#¾\~†˜¾®ÂÆÄ4Ze¾ÍEÕs†Áõ<Ö³ØèîŽ>,I 1’H¾Ò”{E[èp>pÃŒy³˜b>ç1¤g¤½<¯[QÒ:R¾@hãèY³ƒ?»o©V½§¿}‹åPM?gâÍ/*>msJ߯?6g\.f›¿?Ä_²„W?ÀèË›Al?ÅC«­¯º=5ž¬âÜ‚?ßE~ŽûS?ŠVØ jB¿]=p9ŸU?ß¡)Y)Šm=Žuª&-ÓJ?jÉ›¢ç¾æ2Åùœ÷?ÝŒõC&?à‚n|"È\½¾“1ØÛb%?)e™j ½>c\’Rê¾Ù° oòh?WÍ”…¶P½jžàßp(ð>›§ºíž’¾ºþάÈÀ> !‰óxÑ>´ 0C %½Yõ¥Ó>ìKË‘— h>XŒ4$뽕¾Ûkn ª1°>ÊàÕä ˜'½Û±Bí¿}˜>L£A fó?¾ Î]Çêl>ÿ‚¡£:Y}>|m²î‰›=?KUûº>°2Èónt>VäM£GD¾Ã'²B:]>Á¶å]ŸÀ<ƒ{³£ªF>Ö§o›’ë½>}.Æà¸>Ùm5M4>esÝÈOμ¯pêó‚ö=JægÕB>×–Û0éD¾ƒÚÏÖѾբ2àb­Á¼ïúQÅ6E>Úr 㟶?VŠŸ㟶?qД¬¶pÑ?J ·¬¶pÑ?ð6÷Û ?Ì$ÈJAx¿íÕ¢ðIAx¿ä¬,/l1P¿QâCeE?ôÍÈVeE?ê±w3í ?i©<¿ô|$ž<¿ŠÄÑï¨Ïö¾× ;Σì>4óÒΣì>§,a?]zÊ>(O‡³¾Y“ßS¾ «7¥ ¾é¸„o—>cb£Ão—>{Qõ°ßòt>Vb±o¾’Š&™±o¾—o»HHK¾¬vÍŸE>°³.ŸE>!š#0Œ&> Ö >FÌ ¾ÊÏFÌ ¾yà.…fV=>6¡K‹¯`~¿“Ÿ Ò×{›?æˆÍ_4‘¿ð^j µª ½J;‡ú]¹¢?囨[¤–?€ÄüƒrÐ¥¿ú› ¯N³?"Ò$`Sž½b4˜¯Î¦¿ÐÓ3ð?,»iüž£¿u:M£`??ax0Àɽßóþ¢•µ?Ï×ð!žp¿ùûøƒ·ÝŽ?–ž-·LÚŽ?¨ËåhÇšz½šÉ=–⿎†È•Q¿ÓB.ä=]p?8•+Vƒëq?nâ'‚ ½s²6JÞÞc¿~®sJ\??˜ñÞ@ oa¿”,Çï~¿Éܬh/ñK½$hˆÍ/°`?ƒpüL^æ?øÝZïÒ9¿².µg ¿%ÿRlC½¤ZG«U£G?ñöj†’r¿w·=á©'?ÞxÄU©'?ü¨ÛàÜ ½Þ þw¹¿ø»/böê¾ nòqö= ?ƈ ™ùÔ?ÓŸÅwˆ#½ÒûÞ¼°X¿V¹ÓYÙ>Èrõf¶û¾º?.aÉ>Ñ ÜÿVïO=‹áÙP—û>M`uàÒF½>Ë˾^mß¾ÒÔLJ#g¥¾û÷ñ|0=ù3Ôú/“ê>²ß7|ªl¬¾Ï¶<ô#TÏ>ŸI ¡¿`Î>yŸ™õy˜½vè¤L{=¨¾¢\h=Ò¾ýQÄÄ1²>2•è§Ê¼>|`ç‰ó=™Á¤:/;§¾þ:!¥W€>…sŸµ¢¾ŠÇÚI5w>Û! Û šÌ1úéàÄëc>²”…ª…¾ýê«OCE¾óºDšš$È<‹ÐÈúc’>#D3¤cS¾qPÓìW‘u>ÈZúÜt>.à˜ßⱸ½ýÙ~¹d>_Þ#ˆº¼ˆl O¾8;½Á¶t'>K[R#FJ¾“ZדÅ(%>|28a‹¼Å¹žäUÓH>¶»ÃåÝj>Àr‘òja1¾:Ø“Ÿfð=ˆ×¢:ngR\7~_ ¾k»ÇV+¼ >Ø;Ûð>³—@T•¼ú­y Èb=îl‹–Ü?¿‚ 8wn;v?fFÐK?½e‘¦"J›½G/ê=Dq”¿t˜"K–@A¢ÍíTÉÑ¿="=d“œL¿Øµ·ðÛÞ½Þ®Æ,?ã4T Š¦S?šžÈ?]hg¿‰?ã.{Òv¿©Ì` 2Bº=Áofšr?¬tû{Ì-¿¾6R?A £ýAI?+ÿJTr==+"èƒH¿ž×¾¡Çþ>6}šÛf#¿òì ð#Y ¿ßþÁxõ+=}A« ?gšc>RоIÂá^—¨ô>)3Š Xˆë>ö ­äðíi=¼Áõ ÿè¾5œ¾Ï £>5ýÖaȾÈ‚¬Ù˜¯¾¾Ã“+ínûí™õG‚v¾ ÒDqøœ>¼ÚcP‰â’>:øY•g¹ù¼±4'ã)¾‚M¹ˆK>¬6=ÊŠq¾ª[Ö§?T¾~¢ÂÇßà ô¦)Hž ¾÷‚pç"¦E>úmÓ;>WÑvŽ®X™<õ¾-K 5¾ï”‚pŠc¿Fë™èdu?¤ï¯‚n«¿tf[3£ã=b<]ÕÇ9«?< 0èR`¿ÐVÇÒ{|?új” “™?Ù¢}|1é©=QGtþš ”¿U‚=“¿öâyë-9?Ìå(¿CF? p®Šox=~15G¿hzJW"2Ÿ¾˜úUøatÙ>úÝ­\ñ?~âe=Þ>ë Þ?f&ØÀÙy>oÎÿ‡ä(¯¾Çéb˜Ræ>FÞ†¿Ôb½ƒ‚×VÎ}¥>.ïjhÙF¾’|r°ˆ(>*ùeÊ2Rž>‘žî©ºdü<IB~Iº>Ù—úM¦'>?øÊo¦ˆ[¾¯`õD >`³â©ÈR½hÓ7'ÕrG¾=ô´hú¼¾}\Ó Ö¾2>g¼ ¸ódF>Ͳë A¡Ð<ôÎ-º>šb>M—E†Ù=UÂQÞ0Ú ¾ÞÈÄͰq7>u®Ž§;¤<œôå½,»íÞñµ½¦ÄÛNàæ=1lök*Ë>ô:¸¸ Œ”<ä—½¿j)á=(€ŠTô¢ï=}ò_’)·¾s¢ÞeŠV¾ZC÷NÝ„<0(]Ó†[>5šA~žiQ?Jû⥞iQ?ÌìmLgq¿~ÛKgq¿´†ÔçŸÍµ¿÷%Dv²$“? ëlx²$“?š"Q5 Cq¿—Gƒ”y'¿ˆ÷kX”y'¿Ñ4‹ Å©??»wd¸ä¾qMÐýc¸ä¾ ‘œB¥Ð¾Ÿ¶fàÜ·S>ø.YÚå·S>î´]Õ®±>®Q§€¾ë •.O§€¾Á“C%%…}¾ã›Î×-HX> òX+HX>lewÝFO>”JÐ@E°0¾… :ÛE°0¾ÅûÉŽˆí!¾\XZ¯§<>Ü.!×§<>ãGÌÄYÛû=²3E¦ß9á½Ê ãÞ9á½p¸>úßX>Æ_ÃIÅ ?‰{•L¸½¿n¤'[¦S´?×HÛ§â±Ö=1Ÿù´Æ¿ ¡Óد¿ß&©8(Õƒ?¡TÛè7¨Å¿aîúž ³×½=-jZI&º?cdf;àѨ¿ŠH¼íI ©?¦­<b«¦¿ÄƒÌ°û=•ÝéLÏÏ¿\ì¿!&’?k²*¬¿TI$鎲¿¸ó`\k·½i>ˆ¤³?M¡äMÍ^t?–Éİ(ì’¿,@µŠ§¹”¿-(üýºÇ= Ý×O~nŠ?Ó.  Ìc¿¸‚Õ u¥…?Q&’*B?_Ô×Þv=üƒ¡¤ÄÝ„¿cЭB“ >¿ Ÿuh£^?“{¶f’'6?ÙñBºIÉn=€0jàÜm¿Y{Ç,È+?¢ï9™L¿X2Y]M¿L™s!y·>==uõˆ,?3·"ÿ‹?ã–›n1¿GŒJöZ;¿L— Á·J=½ ІˆÒ'?ÇYG·*¿´ý—†ƒ!?$?Áí^é¾pÅY¾·s½gÓ=q ¤!¿I:bÕŠ_â¾EêÁò—?gŸ^b—XÐ>ú#—\àIS½rL§¹là¿©»å¿&Ò>ÓB™Ó_Üó¾ôæ¢üµOó¾ðï„JB=Á7dµÐ>Gq”]ã:µ>Nª¤ÙÖ¾7´hÓLâ¾KŠ\,0½~×Ôê‹:Î>\aAÅS社e}7ãüÆ>³j„ü;›¾XJ5ÂÀ§ä¼²óÇÿ‡‡Æ¾½;‰¾+ƒ4ytU«>úÎÔ1p>[zš0kQ𼛚ˆˆ|·¾lu1[×x>»,=9e›¾J^‡!]¤š¾ë£ßgÚ¼9ËT—»ur>²VH„'²^>ÒW4)̺€¾”©mÃàmо.K¬Ãkà)%ÑÖô N¾e CÌGÂp>b”!Á»I¾A%jº²<ØŠßÀÕo¾ý@ÂG_ô3¾’XaŽV>{epB&@¾2BR6@¼:ÌE ý`¾%o¼œ t$>°#wÆÍ:E¾¡,N¢ eD¾:•xW'¦¹<Ú’7mÙà=èÑD²ÃŽz?èæg]Y§¿# ÒÞ³¿åzg·Ã=02ýÙ)Šº?A¢ÍíTÉÑ¿}ÉôN!ô?›ÞŠõ-‹?N†îYì- >BÈN5´H˜¿©¼×Ñ€j¿ë°Ý‰qÇH? _°ìÑBœ?Fßš‚ã½nW”0´)¿ž9õ¬ØR?×uf×±v¿Ù_±T p¿õ&Î÷™½Îò]bQp?Wšæ«[#¿Ú!ù5·)H?»Y¶ëžÃ3?%æÌæŸU½Ý‹Û/(‹D¿¥—~‡¢ô>v¨´eê¿n3Š·£¿`1õx‘½ˆ©&S `?k“úiEȾmtqæî>1¯xçgÕ>JÞÀà‰&$½èéñïˆé¾dt¾œ>)1j¾Ÿ¡ÖóCA¸¾#³ 4O =˲À´’&µ>Kî Vq¾í°Ñÿ˜X–>} wPýËz>’€\zäè¼Yt(&lÍ‘¾ßu–¹;E>tå."’k¾Øbt‡³a¾ÎϋޖÀ¼.§6_€[>?c§/¦jw?nk†2ß\?=ßðàèæÑ?[ê’*Z ¾Ù¿Yä¦Ô¿3 r@—€?ê‡.Ê™™¿0 s+.EÀ¿nÚÖ¾©hѽÑÝ ÏõE½?H+àg˜@?È$=Ýd¿šÁÁwo¿•yGÀ"£½½Õ$~‹Õs?³U›‰qÁ>ŠU}ODý¾ýhØ“~!(¿œõ›MRI½«õ'ü:¿¾rúÈfÆ’¾k–·E©±Ì>” ¿)E ¿Úç›,Έ=Ö5Òê+™¾¿Âþà]D^>A ßќ§…”À¾BŒ{ö˜È$½¶ 5Íž;ᾇ"ÕϼaH¾v‰=i0>V‚°úÂí´¾Åéò|'=²¸w˜[U{>U«n¾9¿">§\è §äU¾]ÌÃÙ©íi¾çC›Âîô¼#^1$hˆ¾¸plý âý½jÃ0>õþûX^¾°ÿbEÏʼwUÁQ÷,Û=ûý pKg ¾ ©Vœ+¾+h´œaº¼Õ—ª®.P¾eØÄg¾»æïÅao;>†`0E%>¬@!™•>¨¼_Øb ³÷>¾ŠF2Îd?&DíÝ1Îd?ÓyÚAûƒ•?• M@ûƒ•?ôjãVƒÉ?·&")öδ¿F¸¨+öδ¿h57Ž?¸–?&™§)ŒQ?Y°œø(ŒQ?W}Ȧáæ9¿o¾®êž?ó[#ýéž?¦“P¯"að>£ÓöéÀ>-«™éÀ>£‘'‚Ö¾ì;q„ ƒ >Ñ6/ƒ >¯š§Em{¡>5:Ø6 z¾}¡Î  z¾REÉœr¾Tþ£Q¸ÍR>{3¡¹ÍR>àAÖP=¨E>Nqà£éI,¾˜eìéI,¾¯ ;\m9!¾1ÞÌW3>á¾fçV3>qŸl Æ4¾joËúÔU‹?ìÉÞ U«¿d&«œ?±žÍ,o¥=e)µ¢¼¿†0¶¸»¿±9äQgÏ?SþÈOî–¿ð1Rëhì>’_pŠ`=Û(ü½àº?;é6™ƒÇ> ~¸´ê¾¡1@Zœº>éð²V¯>B=¯:ox†ò>{·œ…ƒ²¾¥«m¡Ö>ÀM/ÛÕ>ÂX?1‘J½álÉ—”±”>¿Q-…Êš¾‹É¦ƒ=ë¾>ð4N{nˆÅ>ë!ÿfœîZjª¾ØØ™n “>÷Á¢zÉ=`O[LŒ §>÷*çÔš;p>9xÓ®’¾ä+P$Ü `>Ñh·Ð)Ä“¼:䬭#›>€zíº4[¾1³ð«[€> I! ‡Î~>*ÿ¼ØNʼÞ}‹ià‰5>)—î½UD¾SÒkeg> êmœ®”p>“aºDed¼wÃÙ jïQ¾¦ 3Æ[1>"H¿jëÚT¾º NŘ>>ÏùHJü¼Ç‚ÏzÎýQ>å/)Ê>/8³z@¾ à`äq>y¹Ä¤ê°@S¬»í º ¾ÀÄùþ.>c/¢{R*>ßÙ¶í.޼hÄ/> >L"Ý–s?„oÙ¤°® ¿±{e¹™¤¿§zÎ}íB›½ôˆÀñôÞ³?="=d“œL¿›ÞŠõ-‹?¯ÈiÎé?8ƒY¼Já½M~Ä÷qºg¿ˆùD~ÔF¿}H-”?ƽrfÎ0n?”&5‡¨‡«½ßž…DË/p¿t—_Ÿ`¶:¿÷Ÿºî(c? ‡°HáW?lIÙ`w½j½‚àd¥=¿ búØ1D?QUª@Û˜/¿€Lôê!ø¾¨cP ==‰å]]Í!?UƒE‡±<Ö¾öûWaÐþ>®“j3ûÞð> ôÊ-ÝTM=5¼Ñĸà¾Üüðý«>[t³xÁÒ¾h'BÏs㜾£âÛ¸/ ½|ú*¿Ç>d÷gU€¾¼v¥{öy¦>׸êñ4Ò˜>Ê­¿{½ô¾ÚJÇ‹¾¼E*ô5tT>‹†|¾ïäSÑ›ÔG¾7鉵éÓ<š$ÃÀ‘q>«ª¡D¥¿*¾A“tæYhR>øÀÞtå6D>M{ÎQœ<.ž°Hã04¾õºG«òÞ?`ù¨û9‰¬¿ÖåÀ'.ؾD6K?g‚ã>Òp‚`¦^½0=%O ç>àa—LÊx¾4XÅ­ø¦>;Ù¶!ãêº>æyd̽ð”@x—l¶>ëjœmP>Pß¾Q]ú|¾¦˜\ U"’>dhR|ð» ½GT+#=‡>Ó‘Æï˜#¾ÆƒCvQ>9`…œc>€•n@á˜7˜ ¹ø='Œú‘G&¾‰š*<é‹>>ŒLÀ6èum9–”ƥ̽=mÿáü=QÀ Ц)>ø×ØqŠ£œ<È “!7%ß=‹¨¿%W®þ=iDYà%¾]ÌwÔÄw¾(nët@|&>œÖ‹ñE?Í vñE?„ß—d –?*‹—d –?väñ_gß¿k¢ ®‹zœ¿¡òº­‹zœ¿Z]ÞÛé¿ÆxÖênF?F@‹nF?^xIïèþ?ÁðÖ¼¿ˆ#ÒðÖ¼¿6A²m<¸¾o=³ÅÙÍ> ­ÒåÙÍ>ƇY[áRÆ>á.Pì¾ ˆ´Oì¾±/fëÍŽ¾†/²U‹ú~>F¾ZŠú~>³É‹äë8b>%Ŭ•^R¾|Û“`•^R¾«&8Qk5¾6÷j‘Æõ'> Çõ'>mhán >k^¬¬ä˜¾{*y䘾1Z¿äýs> æ‘Þ½-T7ûxòê½£P}—ؽÉä•«p!µ¿Îñlä´ {½· æ ^Þ=ÍøP¾Ò=ÎS{ÚÛ=åö(ÑÖ?É€@¼H4ѽ®D”:Þ>J<Þ/O)¾ qfÓ…á=­}"1&ü®?XDq‘!Ö=è^üC'æ½™žN¹­‹>µˆ¡Þ7× >=»Z @³£¿ëóěý¬ZVê¶½"»¥ÇNKÜ=nR–ØÛUã=]´t2LÚq?±5¹ƒòÊÁ½–~…S¡=P>óÍÂĽc1/~c“•=w©¹Hg7¿dÖì^ÑÆ=ºpÏV†==¯Úx8Û©½‡@=¨™t=Ù£å?€Ò׬æQ±=º?Ú!œp½kWu£Ï”=Û†çªÉ½“=^FĬÓwô>†#Ugm«g½ ý&‚V½¹ß”Zy=(ñbÙÂv=9[ GA»>×÷n0<j½ÑD%ë-ˆB=‡˜*Öde½“Âå6àH=xf4ʺ>6Puq5‰b=SþÑçžÀ(=7–rdÏcK½Ýqî›6qÑ<\¬Ø›n¾døƒqSU=m€r¿“½¦¶•ÞFA6=w~Œ+™6=ö+îoa+r>]çÖÔ±Üü¼?¤’†Tú¼P-Ö¶jq=ŒÃuÉ$=ˆŠÔb&_:¾VOÔ‡íº ½øÞÑ:ç<@›s ½Ak»Dfè<ÚL èg4ÿz\ =cô½ïÙßÇ<©Îj¶T„é¼›¢æ¾wº¼Oc8Akõ½õh(Y$ù8ƒY¼JὊG\ôáàù?÷‹¥ />¶CÜ{åžÈ=g9š¹ìñ½±ûþ3À²½c¾ãRä+‚?ú6TåDá=`S!S/Γ½!oXŒ4V¹="~Ú©=2lDÕ °4¿ ŠÉ©*¡½ ¬¡Ÿ‚8e=³Zò’ߢ‹½…ó8%yO`½˜û±}ÿ¾3ìÔv5„=¹³(ÏóÛ9½[µôf¹Xb=Φ‡~ÐT=×x98îv¸¾97œVS.O½+³ÿ¸ú =—ïsSä22½‹5:Þf½7ÍÝ­hi¾Ú:ò*,Ò*=M–ĈÀß¼ëál®·=Ê•ˆÞ)³÷<)(†¾Hv¾ÌW¡•?ö¼°աȃ­<Ýš#á×êмˆÕ½[4Ó¾ºж› ½ÞK ]®’>kÌ–]®’¾0; ÕDÆð¼·ÛûF>ë{/pžûF¾\¶©UdA~¼^ÅÏd&ð=Þ$Nùe&𽀬ú#Õ÷y¼ ^d+lнޠf2mŠ=®¬=sЧ<Ïdf_Ï[f½ ®ç\f=Ü8ƒ$…J¡¼sp³$K[œ¿„ªc¼?/ñ<éT™¿îP1½oclqÒ»?‚ŠÆ&ö®?“>ZÀ¿à]ÀQÜ-Ê?Í­Fu ñ=¨ã“=±¿E-½éK¹¿Ü&¸æúÏ?Cè;׿Yr¿k28OUä=ʨˆ>á¿}°èš’?õ-cⲿô½.# Û¦¿‡® Úµ7º=¿æ•М?Ö°ƒÄŠw?Î@¶:~˜¿¢–ÑgT¢¿x4êÔ7sÅ=Ýešú_Š?û•¸nn¦b¿¿Š‰ª–„?¾™}3úfS¿uEmÁhz“=^k÷ó„¿Í×Ñ0ØF¿Éù^.©ªh?ÿ 蛈!?çÆ6SR_=—,Úr¿ã³‹i_¨4?.˨”qW¿ ~ã7vV¿bÁõÓIb½+𿜘,?Á¯¯L( ?;ŽU‘eg:¿ïª) &D¿“çËæaJ=ÿÎÌËšu-?GÊÙ“Í¿ùKYગ(?JÈ*Ѓý¿væg-[%‚½,8£õoÏùxga½i •¼°Ç¿„\U™ÂÅÙ>š‘çHý¾óS–þß)ü¾¶¸kv@C=÷†Ô-oÉ>|s—¦À>¾Ù0‹œuâ¾Ç²P\ì¾ÓýânËý0½Ùüô„” Ô>T•J¯lᮾÇÚ|O—Ñ>Á3^»nS°¾ªTÞ!cý½ænyCzо^è‘åW”¾¬„û^¡¶>˜w&l:¾g&®Ú#î¼¹Œ›JJ¾oiÜÂÔæ‚>ºj¤Ü¿š¥¾î¬@­µ¤¾ –Éq.È>óä‹ €i>¹;@p?~Œ¾x ±BÁ”•¾;[6Åáœá<ÿŒ7k*}>äš+*³W¾vÖ EïA{>´´ÑÚm^]¾/’lâm¤<70°']Úx¾GÛϺà6A¾ ŒÈoc>¢Â¹ÁEl1¾ÉÄ¡å/<’¡•“˜l¾x¤/Ã`…1>‡¿D[¾ÓR¾DQ«]Q¾Jtψ˜ˆ¼,s„̆¾gBÅ|‹s?í~o± N’¿½"Vð䨧?nyЬƒm=á«-ÀDpœ¿Þ®Æ,?BÈN5´H˜¿M~Ä÷qºg¿÷‹¥ />c©F?è?gå=Ӽ׿•þ- ´)´?{×]´+” ?H3åZðÐའf*w®¿Ûg(=ãV?hÛï÷+Y|¿‡ÖJu}q¿TTLf\¤½³²>Õ.@p?/d™¤*¿{˪±QQ?uý5$áb2?ÅÉÕYTÄ2=£“mlJ¿lˆéŽoþ>0¢h ÷ë#¿„…ãc´¿“r{Š#“½k+3¦«’?”Ë?>Ò¾µÃj·Á÷>Vz×>är"w‰½Ïûͦ¨ñ¾Œ?uÎȦ>éÕ†ËO,;¬øÝ[»öÁ¾ å:ÊOµ*=’Ò¶Åf»>Úê’ØH€{¾>UåG5¢>ïkq>&êNÑÃ÷¼ V6Ô@Vš¾¬ƒlaè„Q>×¾¼RYw¾2rÑ·l¾¯ÄFêü|Ô9>¹zb>êª9% š‰?<\îz+°¿¾§ÌN̲¿–·[$÷½ñ.ܹ?I¦Îbx¬t¿3D×!§Œ˜?À“4)Q¤¿úŽÅ%¿‰4æ •OP?gG8ÈŽ¡a¿ã¯ ˜[‡¤½O£5×(^q¿µ‚ÜXg}>¨Oë-b¿Â¬¬iò§"¿Z©ž3iÜe=,‰ËNkA¿6¨Çú¼¾ž‚h:Ö¹ì>yóœóû¿ÎBØ:’º=£~XI"nï¾}ÉVYz2‘>Y¬Æ b5Á¾¢’-¹Ö¾!§#ø½Ü(¨ qå¾Nƒ^P f¾• ¼ô•>½ˆWÄ\©½¾&ÂSêª_2=zÛlp±0‰¾CAUÖ÷ì=>ª@õ:m¾Æ*‚Ú߀¾ =«¡Q3½;Ѝ𨩾†i¹ §(¾¸9ÍŽDD>¨ð¯[¥ g¾æá)ÕÐ/ɼà|—ãd;¾ó2«òí=e{®um+¾ª«†5­=9¾‹¿¬Ig‚ ME¾çÊ»->Dê0†ƒ¼µ#–{ _K¾ú§ 2ïŠ?ºæÖ'2ïŠ?×ù6fšv¿½Yašv¿)WAXvÏÏ¿½ãœeeµ¿åè ieµ¿psйV¿1}*Ô N?þmx‘ N?i=ÔŒV|K¿ß Áµ?™„ ˵?/\z½ Ì ?÷gŸRèì¾6ðZ?Rèì¾óÃ@e]Ú¾³<§cÀ>½ÀÙcÀ>›Ñbcê¯>ýx©®ä[–¾ã½›rã[–¾»À_:º€¾l“Ä#Vm>éÔVm>™Ýxô9øS>S‚7ß4D¾s.ß4D¾3þ¯æ/E/¾ƒßÌø>ñÃh;Ìø>äíë4•B¾W™OŸÝD?-¨PËÝe¿w·Ï®,-- õTa½´nümÛ¿=~^¼žÛ>ƒÀpÇVþ¾$| Y’ý¾˜”ÝúMJ=4P TÙ>î@ˆÙóKÀ>>½NÕ—á¾Ö©Óoë¾yýÞ:²6½’Ô‘š£Ö>‰WÛV„r¯¾·Äá”unÑ>é4CP‚9¦¾ƒ6k¥‰Ð½€Ø˜+éоÝ~f*¯“¾©NÔ-¾Æ´>ó«^š¤q>Žw”håBõ¼ø!|Æ|Á¾Í ~%_‚>« ¦—z¤¾RíË!æÎ£¾„!1µÖ¼ò£™­Ex>£ŠŸ'g>6â¤|žc‰¾Õöÿòo·“¾cC¦.Œá<«—¶,s}>! 0Õ%è5ví“+U¾TxçÕퟲ<™Ì‚w¾9MúØÓ2>¾‚5ÓcÄ`>“©è~'Á"¾8Áu±¤Qœ_Ê€í%/P¾ÍÒ¼«N¾ô§]ˆo—<Š_uÊx÷½ÝKó5I&?«Ôå`§æM¿Â=‰º>V¿p¯6”²¨t=WVþbÒn?ã4T Š¦S?©¼×Ñ€j¿ˆùD~ÔF¿¶CÜ{åžÈ=gå=Ӽ׿9t•@kóªü¯Ñ¿…<Šãbêz¿ÌÒ˨ à½qyÛhÁ@K? ñàS·T?µ–cz-j¿Énme¿·d{ÌÙÜÀ½¬÷Ç:ƒ|?]À'wl¼/¿ð86Æ~S?756ê~>?TÏ)µ[O=Ò?;‘IíP¿0Û”qܯ?tb?¨¡!%¿tr¨u s¿S)¿à7˜½äk_¨Öü?RjoU-Ò¾ húÉþö>žx~JÞ>mRù·)S&½k¥°A¼ò¾¸aÆÄe¥>Ê2÷qºË¾ñjÄ;ÚÁ¾4Û&ƒoâ(=ù’³ÂV¾>~×¶³y¾ÿ:±ƒ›ª >|KÙV‚>Í>³´%ó¼¦_²IÃᙾ ’«¶:žO>îë¢G¬t¾ýTb©ýi¾uÍÑÖu¼È¼´âîá‰_c>/Šº®@#¿~ ”™HÚI?>T „`¿ê†ßöHÛŽöeÔÒÁk_¿+!ºÚ¹c¿H0q¶À™u?/x|˜m# ¿Ì#Mmî[¨=yB1½ò°?U»ˆY`¿fãí“V”|?š¢>걄?6Ø<Á–ò‚=9WÙL(8Ÿ¿—{€t‚¥¿û!TÖÌ 9?Øñ1‰gó°#¿ÑÝZGœ‘=œŠûšíá¾t‹J¥>/&<Š ´¾³‰t?¡Ó¾¨›XM/Ë*½ µ8xº@æ¾oCððýQ¾ É—‡¬©‡>BÃÓ–l¾¾”LY¹¶1=ph×€l>Ì}LäÆ1>¸HßH>Æb¾L3ÿ"Íæw¾€WT{À½‡˜ho‘¾Ü ¿^A ¾™R¿ª+;>È21”OÖe¾­‚¿ͼôcÛ@ÿä¾kSTzÁå=^Ùnе¾‰²ÛÕ‚5¾¬i5Øì™¼<§;Ð笾ÎomÌȾ*. p©8E>KŠïz].>Äk™PмœÈ›Í ŠG¾k?ˆšÍ7@?H‹«•Í7@?`³6Ø_®3®HÓ·“>ÿ˜ª{Ô²>ý©¢Xï…‡¾a¡ðì…‡¾ ýá#S€¾.^ 9û9a>XÒû9a>´Ùº8R>oF4V•û8¾A/±Ó•û8¾¾žëš8Ä+¾ˆ^ÉŒ³>5w={Œ³>?ÿC€µ?¾:â õ¯j¿#cÞ ÍŠ?w‰f¿Ê»a÷Ÿ=Ý ŒE"X˜?ßAH\ú o?¡‹P¨ß†¿Öê´á*f’?ZG —зڽa/ǹ0‘¿†NgËÌ€¡?èX Щ¿¿±!ˆ¨‘Â?n³×óÔ½eTƒBlp¿¿‚ò.rŠÕ°¿¼`†ß¤¾œ?T›X—¿US‰Žqé>3(œNÈ?kâg@I©¿üǤ® «?6y@zÐ?Ñ7tIj÷¾é5ýQĦ¿JdwÜØ’?[™Žø¥­¿¦í~à訿#Pßj-ß½ÕMüvSj¸?  ¬–=Xu? uÏïô“¿Sɧ ªœv¿œ³ö?]½X¶+ ™?Ös°péÅd¿„ƒ1¦¼†?I¤/IX„?ÆÜº0î_¢=’w̽BRp¿\%%õH@¿©@–¸`?>7ö|m?³éWà?—q½7âøÏ¿Z¿A›Sº/.?•ÿq6(RO¿;‘ ?§qÖ7‚¤= îÚ3þ+P? l¾GQG?ž2/­¾_3¿å0?s²N¿¿ŒTZð…=YWW³t@?¿4w•pÉ¿Äka#?!îóàfó"?hû†åSœq½ªÐ¯Š¥á¿M ‰ù´ä¾¼ë“Ý:?3SÊp?·(wÏè^=¸¢U,Ðïü¾Ž¬ÄµâJÔ>ëêŒZö¾†Ý.–5Ê>”ÇõÉÈ` =ÕOÃÛ×õ>X*ÝU¸d¸>v Q­rÚ¾]ÍsE`Å›¾£!²þ:=&#V&æ>h¡øGA§¾{«GTYÊ>”{°6ŠÉ>bYÛZ=}H·bØ ¾‘e0_›µ¾¯ýÀh<°>?}£j¹>ß34´"½3ð.€P£¾Fp>ÇË|>alõ‚  ¾\ë.z>8ðKF6}Õ¼&L˜aåwž>[/9×^jc>A;€ƒ…¾ˆm¶ÍÀîE>݈R[po¼„_ϲn>¿1½òäS¾¤îŠwuÌt>4 ðÇ´s>+¹¬¥*¾¼‰Çaj > k9rÜQ¿ |sèùw?íÎr“P|?L¤ô¡Í›½ýTR½'s•¿šžÈ?]hg¿ë°Ý‰qÇH?}H-”?g9š¹ìñ½•þ- ´)´?kóªü¯Ñ¿Ûô>yüó?í¦P-c§?<¬öMÀ >¼ÏaÙ<›z¿ù×›=tm¿6wulÊÐd?‡qöåŽu?«Ò !ìè=vÓùaW ¿m¾c'‰?T?mÑoaù‰x¿ÊÃõ+Ýd¿q†±ï*Àp=Ž3ë v?…&. ’5%¿xÿX1!ŸJ?zÑ•]‹A?-r=x¤À=ëDÓ›:A¿7ÎÔ8÷>Ìañ'Î5¿-;]ÆO¿FP!½VQ=ÖÕfPJ?Ñ ÞǑ˾ŒÓYª¬ñ>ï¬íš#ç>¦ìÙ¡×ÛO½“:<$f ä¾&9çÚ蘠>¤‹Ð%´rž' ž}ð⨾‹wpFp=&F‡¿xÜÀ>aZwþ$nt¾qI¾¢š>aþ·Riß>Ãæ6ð<û‰¹:A‰¾`J‡V&ðF?)i¯n¿hîó«¼…?Oî"u^^í=z²Ï·)‚…?ˆ‡4 ,x?{±¼hCQ?ü5ÛiÊ?·G¾ˆ·Ô½Ò•uC׿gúµB,€?Ì5Ì:Û™¿à€‰i¯Æ°¿\;‚3¤—½†¶ðh¸”Ä? \tlµ@?áy®Ä%d¿\¢ƒ&Á¿5ÖÓ ÷??Œä>×|c·½ï…yŸê?Ó¦âÌlŸ¾ÆYOÚ fÔ>²µY•pö>Åu=º1T=Gñ,6¶f ?ŸÄuŽâáp>r(UJ5Щ¾š—rô¿ã>î….­V½û1ª{«Î¦¾0ÐXÃSœS¾€TË—X†>üx9ÿŒuœ>ÈÑléño%=ØPÑŠ¶>_ÎkÞh/> r’`¾“]­‘Œ>_Z‘iuò<Û ù·®ú>(Eèà` ¾£ýV¨<>§qЬ[>kOèbrÁ<ƒƧÞÎ4>sÁÍ•¦ÂC>ÈgD1k¾ëˆ¥AÉS¾oì‚Þµ¯®<â))íRn>údû}ŽÍh¿z›¿wŽÍh¿È Húïc¿o~ÿøïc¿ou‚áhA¦?Èv?¶|¿ßN÷>¶|¿²p&x¡|É?ÉàÄ—ï±´¿N”À’ï±´¿ÐÎkëÏ—?§bú‡Î´P?¿O&δP?‘q(t‹:¿Ñò»ÎÍ?)sRÎÍ?:ÁXjeò>‰ 6ž> ‰hž>î>ž£`²×¾º • )é>–ï¹ö%é> Âq¦£>ÞŒc™Ùƒ¾(C'šÙƒ¾+“UzNv¾d ±ØÕ]>¦…ËyÕ]>­HñMjQ>A@0ͨ6¾MùÉf¨6¾PÛ„·êkd>¦ëŠuÍT¿ŠPˆÕw? û¯hK;?ѫƶ‡= Ý,î„{?S3Æa?Í9ü™Nƒ¿Iæãã×?C ö§“Ì»½È,5ºa¿¢WÅÍÓÊ–?Gg×ßc¥¶¿‰{¿²°?Xò/sµÁÉ=ÝÚ ñÔ¡¿^䊂°;•¿örУ?bdÐý›?‡×bî³KȽt=äAuwµ?ʼwf·?D!4’ÔÍ¿pÀi Þ¿©»dãª>vB†¨?Æ?m± ‰$‹¿ à c§vª?žÜy.ņ?*^oå‰#’=åõ=w]Õš¿A̤2s¿é3ù B–“?ÇÐØ–kÇ%e¿pl¢ÇøOm¿=÷Èy=›‘ëZ'X? ÊŒ#’’2¿˜¨æÒ"îT?Ú;l@÷}&¿§Ñ];«½ùj£ò-ÝS¿U¤’6­¿wn90_‚6?cü/²³ ì>¨ë>dD‘‰½7 ÞÙÑB¿b.”ªÐ?o^ÒæS%¿Ê„„|¶$¿JÞ…Ö;7o=0œÞF÷>‘nÓœ;è>o-–n—— ¿a¯i×T¿û³˜¾ú¡[½G 9qNSþ>8Äá°Ö¾– »Î“ù>w³›šb­Ô¾®õ5sgB<½Óá¡?`Xø¾.]kXõ¼¾#c3àóß>,¸9d€>n¥ÈZ`½‹jðwê¾sñÓm«8«>|pI”×ξ¢Û¹º¢Í¾”˜N@òÙ‘>ágõÜϳ¾E7¸ÊU<¾¾–“ g! =¿vŒG¾-¥>¨¿[d À€¾Ö½=F£>«Å^½ÿ‚¾º¼>©Zß<×ýÑrŸ¡¾Å¼ºg¾ƒew ¢Š>â,w«žµT¾ÃFc1ùÇ<—9ê¾PÉ“¾›uʃ&X>EÍפ*¾y¾ÆØ·GN¥w¾šgà=d´<øwîµ |=¾E¡=¸2?UR!m;V¿³?¯`NVa?à¯EOˆ½¯²º"ðuW¿‰?ã.{Òv¿ _°ìÑBœ?ƽrfÎ0n?±ûþ3À²½{×]´+” ?…<Šãbêz¿í¦P-c§?ò«:¡è?ÔËÓÝŠ»Ë½éža­s¾?—<~z{?jðê{³¿ûwfùH]¦¿\¢î4Fã½µ|»ïqn©?O{¿eíÎR¿QûLç51w?ö®fpb?ýõVa–=¬ØR²žr¿¯£,'?>«–ŒíÏM¿SˆwMC¿±Ž6µŠ½½‘…-|Gÿ??,>lJ2´ú¾¢¹Åq\!?}«X™C?¶Uß@E3½ˆäK¶ËÇ¥EªÏ>iDhÍ®ô¾äüª¶÷é¾ÒuÀžÃ S=ˆ·Ž‡Œä>#räºn£¾â¬ˆk‰É>&mØ ^¨>µ) }e̽|³ÈGgó¾.KÑK`x>7d&–Œ" ¾O[罪­“¾w€Éìñ¼švaï!2‹>p2jgR½*?!Ò7—1æT¿_´Qaù,ѳ?…õÁƒ‡¦?L êâRÿÝ=&¥±,œS…¿vXƒOŠ‚?¶áøª¨$¥¿\ Ää¶¿x1ºcÜì°½R…NV/’?¤ˆ‘L¾ .?\úoïw5U¿m@Qr+öu¿дJ÷xˆ=û˜]Ið;?ðšÌS\áÖ>ã´T…iyѾə{r@¿Ð#ÙŠš¸=p Ÿv¬ ?Ù±Œ¶Ô´>M™³vÕå¾üÝG:;®¿0ã¡#¢@½_z¹ M¿äîx®«Š¾»ú™ÜŒc»>Ê~ç,Iå¾{åTããEZ=A3„J=ñ®¾wå$÷—a>^ÃA𑾌"",¥¾\ªê¼n+½ \Ð;¸¾Èl§62:¾eì÷¥i>pFŠ2ÐC¾E¯ÎJv¯C¾a·óÂa a¾š›¥\𶼆~lzI®5¾7ŸÕ~WÆH¾„ƒ»«ps‹âqŽU>|¦ahr¶¼Xf01‹±r¾‘±¶MšI*?3çyšI*?°Ø`§š&¿yaÏW§š&¿¬EQÕr?Ä_˜»We¿pî¸We¿³=®sÙ?ŸX>Œàa¶?ySˆàa¶?ksòúÊ{?kõQÛR¿ W3ÄQÛR¿rÚ"ô…SI?˜ëäØràó¾´)ˆ&sàó¾&½ðóM ¿8¶™ø©2ç>«¨2ç>pÜÚ¦¢Ô>,†ŽŸ¸¾þ⼸¾,0ÄZª¾8¦½òsé‘>*‰µlté‘>Gik,Í|>Ó—VxŠi¾[A:ÑŠi¾àßðU¾„I•†‡B>¡'ˆÉ…‡B>AɾuMi¾²ÿÈÒBEž=×é(/ý˽ÉþÌSÀÿ¢½ð~"÷0U¿ñ§ƒ7µÌ½ ?ªÀê°½>åèêúØ=a±­.GÎ×½ôûapŽ–?m`Zy/$Ê=œ"yƒñÔ½GM¨Ùw†>g ¹ v¾×¢Ø­nµ¿… §Ñ¬ê=Îé~>ž‰æ=©ç9iJ{¾w¨JÕ]â½èXYª×?ð!Aý³q̽Ëåó¼>™ë='~?ò€ ¾z¾[‘7ä½̧l¦­?9)'¥œ4ó½!pÞÒÕ½ !?¹bÅý=q5§mË×=¬„:†m£¿ë÷UBù½)š':%{Ÿ½¨öæoM·=~FïOÆ=jpõ©qq?crèaëÓ½À"©6³•=ÕõE7À½òãI PÁ=µV67¿® ,)Õ‡Ú½!‰ÔŽîă=Ôÿ ®¨½ ÷0âÚ²½rª€ëÙA?²ÆYÆfl’½Ô¡VšÐ1~½—›S¤=Qvkõ*½fDˆz³<ó>¬¯{­V¢½ê—=Ðd½ÏóáÀÈo‰=ý,©d‰f½et”fº>˜0"I½Ô¦u9ŒS=—†ü X‰x½£¥PlN¹u½°–r‡ ¬¸>ߺ¾»~N½ƒ‘T<=PŒ½¯­Ú`½ÏÆå0 h½fvu²Àm¾{qí·"sE=TvpK·&½»çÕ›4L=¦¯²Ð±Ö9½P#ßuFq>nW'èƒG½Kúäƒpð½6Ë'6=Ï/WMxd ½¿Z¦Ô5\9¾Ø‹¸¬Å§?½Ñ‰þ8vUÿ< ªžG#½/R}ô¶ù!½â¶˜7|P>¸~ð¼žMÖIzé<éd@’?Í ½Þ¦Z N£½ëL…G¹§ô½ÿç•ß“ôÔËÓÝŠ»Ë½õ¶UÈù?œ*·eŸ¾šó7áE)‚=-ïäΡ½ö·¥À²¢=ÃdÆ?Þ€?ÆÏO^È@Ľ Ìä8°«½ ë¦ Øº×=ö=!"‹‡ =hI/jÛ‚5¿çKªÒνi¥&säØr=%ÚƒŽ‰˜½a‘™•¦Ž½­½œüwßþ¾SƒÅQ»^=.fŠ M½2‹|™=Ït=ÊêG!‚Jæ<  À·¼e·¾ð{yí¹tg½D‘s½"=?bÆv\aJ½º;Ú{³Ê;½ Å6 ÁÉg¾Î•È>kô(=ÿ:=ä ù¼à47{!=OQÊÊtyà<Øthj*1¾Ku$ »?½$j&:Ð<}êetN2÷¼¾7# =.ê¼Ê\•}ÍÂ=¾ærcÊÎ×<µ@(ãV‘½rÔ‹7´=ÛÑ ‘s´½îCä…¿Ë´­[¨=Q™Må#ѽGY¢˜ü= ò ¸Óª>, nâŠâ¿Ö’p¿U\ø=¢dê‘}@œ=„ëÈjv’ν¡þç_ê= Þ[l¸Qy?¡Ð~ä™ò½8X™éít=õÃÙ׆¤½°òµæÉ±¬½lb䬤r7¿Ÿ¯d”Óô›½Áyšóé^½ïoå;§†=c›ÐÀžìz½‰?Ñ7üõ¾6ONæ½yïïê›=›%óÒD½Ž/æºYO½ú, ˜·¨¾Ž.¥šØŒ`½’‡y{€Éø¼£\áÒ¨!%=q1Žú"±4½7éjí6O¾ôؤ„T‰/½5&%w×Ë< ï#‘YWø¼ÀõG§i½XôrÝE­ñ=êMn,fy½FoNAµ¢¼RÍÐvüÐ<4¦¼ÈSqã¼’p›ü(È=uT®P Ô¼` Eas““㵇 ;ñ¾Â9)Äz½ÍÈÅÆõÒ>ˆPÆõÒ¾† mÓgΑ¾š]ø}”½Ó’,,ÂyE>VµB~ÀyE¾²#bâÔ·™=0;ì‡}g?cßP&=Y¿¬hoô ?«e ëáy? ÷ =?±…=+S¢ TR¿ UBk(¡5¿émv^£:X?üx7Ú|^b?glš®œC½Ð_ òG¿]˜ÿ Ø ?dþE²*[C¿^QjÞº…(?§]€9+|œ=_>Pv»A?Þ¿%’$?Eõ hî)¿º‘ çûà>N‹ØÊÖ€=J\3 ^'3?=/g½¶ó¾1Íýeô?0bbIŠÙ?ÍTòäB¦Z½ù;=€`ïÛ¾Ö‹&ùŒÙ¾ä?gG›ü>d;u¶?ÔHr€fóC=Š K¥P_ë¾ýÝ:k~Æ>“?»Çbê¾~"#ºáÊ>´a’Ôã6=4ŠÁ4ñç>ë ÿ&ö¸­>çÿUù©Ð¾­tà˜Ö> „8/4=O¸$[ÜÙ>›dJXQvš¾+¸ý9o¥¾>5Ogk<½>'(GüV²ë¼Þ¤‡6ÜŽz¾èMø[邾ݡ¨z!A¤>ÙÈ»IÙ­>Øã²ä.ú¼—ç¡7c6“¾‹¾I:p>ˆbþ<Ü’¾ #Í)…u>èËv•¨W>•A³5Òz¾J,s¿J>j ‘Óñ›¼«¤…È]ƒ> ÛϹºG¾1Ð2Ôï²i>•Ç—g>yuÀXëÚŒ¼ÄÈ3a7>J?#áo:?3v8žÄÝb¿ «ü"‹7u¿Ž\KóÄ—=tØ7–°Š?Áofšr?nW”0´)¿ßž…DË/p¿ú6TåDá= f*w®¿qyÛhÁ@K?¼ÏaÙ<›z¿éža­s¾?œ*·eŸ¾ÚßåWsé?Ç|ÅïOðq¿FÖS\Û?£Çɲå†?Ëû/žå=…“ô懿S»Ò :I?r·0ú~Öp¿èýÂeG¿·J*ã$z=>N1BŸûg?Ì3´) ¿x: ®CÓ@?b%ÊÏz3?ë˜hH/¥=NR¼ëò,¿=¶}´ê>ëþ•põ¾¿·i>+Žÿì¾Ùʃ®}½)Hä* ?Ö½‡èû™¿¾‹Z6°å>4e½ó7Ù>Fð”Áu'C½UQ>-]îѾ¿G/=à “>ÖmdŽºh¹¾øÛ#6: “¾BȘ:õ=ŒS¼Í±>–Bp}«Çg¾6ŽÉØâ>¥@ê^Ì‚>ú„PN¿à<ÅBö Úw¾rúüðæLL¿)Ým!¿Ts?ˆßP‚ÌO¿ W»šFì½år²´òs¿úM`Öô‚‡¿r;†D·Y ?W× Ìü·¿V€|jî½:r¨-kÑ?¼SH„?¼E@G``¥¿£áë[X ¿5C¾½- y0¸?Þ>Õ[[)?§¨&ÏDL¿¢}"uÊuR¿º>KºóQ€½ž¿ï<ÄÖf?ð 8ºœç>Ù®¬Ö;ë¿uÁ´ÍÓE0?!qôSòg¤½œi³ŠW!?ÊÌ Ä•Ñ³¾À²Á•ðyá>¼£‹'ØŸ÷>b<„‹¹Æ½p<81œø>~ðA‰W‚>:¨ÉÓxDZ¾sx›³¶ÒÓ>ø9X¾„,I½èo«CŒ´>è~ë,mX¾;¼JH‡>\΃æQÖ›>ý/ì¡Ò=?ÿÈÞ>ô6ÔcÐ/>Zv[îí]¾®?{:<á}>w4+ôϘã<éséJ±ý^>Ð|‹(r¾ËV—C†ç4>ÆæW7öQ>ܳŠàù˜ «#>èÕø‚VÎ8>ð}•˜Œca¾)rw ŒJC¾RjÓ‰‘<¡ÕøGUwb>e˜»I#ÍV?ƒm5?#ÍV?–¥ý•ãX?e•ãX?ÿÜÖœ‘§¿|˜šKgûr?bW’=gûr?uÔaJ1Ø?Úã%2êb¿KÑrø1êb¿Ý›N¼:ÂŽ?nÏüêÉY1¿Œ©ÉY1¿D2f,f•5¿Õ”&?’š$&?F2{s^ñ>7½GëOÐÙ¾¨ØEÁNÐÙ¾ x<˜¤Ñ¾\qî̳>_x{̳>Sö0Ÿ>%W¿‡¾Â‘vW¿‡¾+ʱjq¾Õliw^≯¼w^>ÜF1ÒúwH>ðöžÎñ5¾ÐÚcYÎñ5¾ÐR&¾`þX>pÊfõÆ¿‰Íx"åì3?v-'Y¿¢TúG=3[”eÈA?M¨2¤ù¢#?''BøsC¿ñjˆ>G?ƒNl‘|ºs½W·Ý®¿#nÌ©6Ïœ?M»Tc¥àŒ¿Ú–¼~!ƽ̷=Ñ¢?Ó:™Â¦`—?²7gÜ·§¿‡ü\Í{³?÷Dø°’­=МŒºð¥¿&Ãå§‘?nÇ^À>ø£¿Uæv^2´?Øgå÷³½)C͹϶?“íÇ]É*q¿Š¹«†¢?=¿ž‚1?E ½­X¶Ý‘¿@‡Ë…éÇQ¿]Oó§¾(q?5Ž#Œ#s?75Ÿy½ƒ`Kÿäòd¿@j3¡Âo@?X¶.xCEb¿*ÒQ%kàë¾61ô»é³==ð/A~a?#ö$02å?"gÅþë<¿n:¬˜ ¿¥eÀ¶³Ú=72Š ŠI?³Ò/ü^¿iÅq2(Õ)?s>.ÁÙÂ)?„“¦lɾv½µ8 «IJ¿R÷aúÖXí¾Þ¾rÏ]?‡Ö æ:?WÜÔkd=Q¾³µÞê¿À6æŠGõÛ>@—½˜¹þ¾—À}‘´ Ð>kÉxYUÖ1=óÍMñTþ>V€²À>FÕ‰ÍýäᾺA)”¢¾¦$«â,"=ñ¡jç:òí>£“Ñé쯾æÀÝ£¸Ñ>ÂÉ¢nÑ>m?’* =zÿ=Ä·§¾9­ä¾d—“¾ôÿ°‹`µ>¬ã+ž›À>õÕʽI˜¨˜¥¾ ÙEŽ×€>µ`GCÓ¼’f?Ä ç£>Ùˆ^7ýi>ÌgåÌ‹¾É-ÚUK>McFîtżEF$•>ˆ’/˜Y¾O%nBÃz>Xºá?s[y>Y¡õ´Âª¼}•Zf³³ >E2!ÿu¿ªn¨µl%?+»Úªc>*?]V ÎŒÈ3½\î½”Ã×B¿¬tû{Ì-¿ž9õ¬ØR?t—_Ÿ`¶:¿`S!S/Γ½Ûg(=ãV? ñàS·T?ù×›=tm¿—<~z{?šó7áE)‚=Ç|ÅïOðq¿ÿùú,k•@6+®Ñ¿¿ÃN \?o£ú…Tç±=ØO‡€y?޵…ÍT?äöº8Ð?j¿‰äh'Ølw¿´mˆ Q¯½­rÄ´s?ð@²ß0¿Î±{]g©S?mÑ©4ª K?< [œø0Ã=RV,gæI¿Ù¦?ùÞ?¶p*^%¿Ñq‰:ë¿s’pïù½•ø 1Ët!?2%wÒãPҾ܌¾|V÷>.l4ë§î>”qNÞÇÏ̾èºxÂw°¾a:­iFã=ªk×鲯>—̧­¤^z¾Ûb…k,¡>j™Ï°·•>ZX»èiTò<5Å•p/‘¾{„ùÎñ>+±9‰:¿Z.[û4ö ?>Äõÿ£=mb>"o\*?Bñ‰@*%¿Zô2ôL?2 yazc?ûÙu2C¿Â½}12W rX?f¥©)#Àc¿þè„‘s u?*+·öoª¿»×4À ¼=ìa,oª?gú[Y`¿Zi+‹’|?Â}¶[š?ÜãÆ"ÐÀ‹½?B±TV@”¿ÜN‹Œ¤¿¿ª{º®%9?󾩦÷òG?ÉXHS˜ß½½I_( ÀG¿ü心¾¦¾Þjß=æß>—AJ«…Ç?ßB)ÞôhX=C浪pª?üØ&e¦3‚>þ`ô0eœ´¾5W?ó8è>;sAÎW^½I}Kü®ÝS¾S&vÜB‰>MS=ƒZ£>[ …r ï+=̨´YÙ¼>{{½(‹ä3>¿±ž(ße¾Â’tnü(’>aÓâI©'÷<“°;þä¾I>ÐÂüˆ¾{Šiâ B>´k “1a>¸UþïC~¬<=[P}¡;>%;¸ßLI>yÀõ¬eq¾.“¨iY¾(y-‰Õ°<¢¹{es>¦ò@¦_ ¿Rkš™_ ¿>yrÆŒò¿Br?ÅŒò¿uq TÔ:?Ú•â%I$?`6W &I$?ÓîÙ‰‚¿OJ˜úg?ÈØBg?š† BQ¶µ¿6aßÛ “??\¯Ü “?üÜM»q¿ÐàÓÌ &¿æ#î×Ì &¿b'~û?µb^æç¾ú¥\æç¾ èr*FҾצ˜•>h3Ÿ† ˜•>Ï9Ló³>¬‹ªÓÚˆ¾šÄ6¶ÔÚˆ¾µò¼ñ¾&N]M-c>Q^8ÂM-c>Ï›ï¡)X>+ä}®<¾;§"ì®<¾}BüW½j>xÿÚÁÆ7?r.õqïòX¿Ì8(x»‡7?Ÿè8©g½ek00g¿µÔÈ×m±H¿`d:>h?Eðm¿‘Ú2é-“=AŽgdÀœh?p) * l¿;$þi8?›àîù£¦–¿g(¼=§•ew´ø€?P¯U*Ù‘r?LÙa-rƒŽ¿áÇ(u w?Nž$j(šë½-ï«¢#w–¿kNw¼Ÿ¡?ŒÈ^ùÓd¿¿ú¤IËô–°?ê\z=«î=9þà¡Æ¿ cJµþè°¿ÞäšZž?N£{k ñÅ¿KD5Ô¢ Ù½fœÕ 4µ?áÏËê®V©¿7†!dÊ<«?3É¥äF§¿T„S¨¶.â=1£úž‰Ð¿(1”öÁï’?ùò·‚NЭ¿¸›4—ù²¿11µçnÑ=˜L³°ö³?ä°$›zu?s»ïµ”¿÷ÔýNx–¿ÕÃbæy=ø?ÒÂOŒ?E¸cìd¿½ŸÁ‰|ä†?Ëx´=¾‡¿•n<*£=Œ½’€eÀ-*?‡þ¹P ¿Ä”R˪#?Ò†°ë©€ñ¾è0Ä2ÓùN½6.Uc#¿ƒ™ÜAxå¾Zªegª?ëˆÛI×FÍ>}X/I½3ÂÅ–E¿[mz'¤Ô>ãFóq™Åö¾¹´ë ö¾L.+p†3½l½ç¬Ð…Ð>mÌ-êë¹>Ó´‰MéFÛ¾` 8|Ëfå¾–b4=ùvñŠ“Ð>XMÖET¨¾2á!ØË>ɇÞ(Ç›¤¾Í@ð•Ýhô<÷¶djÍɾ¢± Ì‰&¾ZA˜M8ѱ>Õꀂ/ôn¾$ã.¤©í<½HSmZP»¾ñ}~‹…€>a5]lþ2¡¾JÏó¼Áe ¾ª¶¶¦Ð<œV Ò>ñRú=ž(? VE!JÜO¿º(¾Dk.Q¿ÕvñÈ"Y=3Eìãöj?¾6R?×uf×±v¿÷Ÿºî(c?!oXŒ4V¹=hÛï÷+Y|¿µ–cz-j¿6wulÊÐd?jðê{³¿-ïäΡ½FÖS\Û?6+®Ñ¿Z“J¢ùó?fØ©ÆÇO¿™9ÒÑ'+ݽ§‰7o†¿Ržt`³m¿‰fá÷¹e?ˆ*€‰©1?ÔÿIÔýTÕ=@¿Ãʶ¿Þúµ/äs5®¶¿ÜfQjÌ¿ufä*’Å|=@hîHÚ?x55 ̾•Lò>¦¯\y&Ö><ÃÑ1k?D½cñ×JµÕì¾ÇŽb° ¡>ͱ÷²Gƾ‘ENâ]6¼¾ðS@¢†½6À(³¼ëµ>TQ¼™7Š¿¶èPN†d;?¨/ ›ö,¿ü9áXƒ“³½þêö——\Q¿y,•ɨI?—w ,q¿WƒœÐŠ¿GÏ®Õ2ê=͵S׿ôü?ŒQx?E´7¹M?ç2c¬/Ñ?:CÄ秉ä½0m•lÔ¿u&8RÔ.€?í*ÿß™¿;q¬`G°À¿?Á+ìïn¤=ñ52Èš°½?TÝð¬¤Ë@?sÉD°Á,d¿P;â×q¿º@¤Àä= Y€ vt?kf›†pÊ>§jG— ¿.»½Ã*¿–ê;k삽4Ò퀛=¿_±ãÔãz ¾3³‚"+Õ>öÃÌÓÎð¿»ïg¢þ¼ƒ=…f€¬‰Åº¾5³j§›`s>·so§ô«¾`׿Š*IƾPat ¢ÙQ½cÜAõ;ã¾é@ŠH2KW¾W§7!f‰>“™|ûÊ·¾pŒ„*á×½VIØCjU¾åDDÁ¼g5>éˆe ¬f¾ë­€ÓD †¾*œ~c#Ò¼~~ƒ< 5b¾Ö—3K>p¾,hnÊ3J–>(ìä—À€>²ÎÇ*“XÖ¼Øt²W™¾ Dæ}ôó4?p¢Huôó4?b«{b=:?é! b=:? ꣣¸Á`¿¼0t‰ÌxR¿pj¦£ÌxR¿±TÐt¦å¦?”„At£}¿<«Xt£}¿áDóWðyÉ?…¬£¯·´¿¹J¸°·´¿Ÿ&&–$3—?ä¤Îòç±P?XŽ(õç±P?~`.»¨~:¿TA»Mý?YKý? CŽoœò>Éã9`[”>Ùý;Š”>Å"Á ؾXÏG¶Š«>õ¸š ·Š«>f– (¦®¤>|b}^†¾Ñ“õæ}^†¾Á•ÕžU;~¾K[Ú#¶a>¢° ǵa>šÔ‰ô6оs!¸K¾.?ðåä¸sP¿ìzº ¢‹%?ézYZ]½ p‹x\¿êާ»@¿{ûÈÐä`?^m7[šîc¿Ë){YHу=c"H?%¢\?z–*ÍÆ a¿ëׯ‚? Zµf7Œ¿iá{ÓÂZ§=+)í"|†r?Ý. Ao?NÔ¬! €Œ¿ì'ŸB\?FËuäâ½,Kù€ J“¿Áf¿MëÁ?G%ïÊ¢­¿ÎÑ8”?ÓŸ4ª³ Û=üd÷~:¿¼¿—™²åºž¼¿‹¯ ÍÐßÐ? \IfšžÔ¿#¯Œˆ½Xº½cGû šVÆ?ShFï\k?äB)uÀ*‹¿ߛ̻} ?X¡W‡½®T?<±M>?àY½“‘‚†¿•q“Q¨?p+õ;®?âø]wðOË=°ÐÖ?¦™¿ˆÿ”rã1^¿Öº~–O?ë¨Ó]¡l?0ÛBš½V<âÆpN¿±àáFK?>â¾^ÌYr¿“ˆÕ`H?*@ÝÐLÁ=ùí¡#i?»z;¯V?#¾¬\»¼@¿Yò…¶?˜&y¼ŸŸ=)7ÁÄpM?ñ3yvù¾WSÐ!fo?Smýê ?û¶É$ ‡`½.:([X?ýo_ÕÏx]ÑT!ó?yè®Þ˜a?¾aUÓ ò?½©wëï¾Yù¦jÕÕ>Û ;øû¾C*‚,tã>äiÁZgÚ[=«êgìNš÷>A¶[¼µ½>mƒìùZá¾Mp‚ê´µ>Œ1j¥÷ž ½Ùîì’æ>Q Gæß€¦¾%òìS.Ì>À¤ÐçÀÉ>De®iy½ýüÐ`•>%Ô—Q7R¾Ìût3D³>©qÜ)S¹>7¤§m¤m½JnQËKŸ—¾M§ˆ,xNy>Yƒ~'‘@Ÿ¾ÏVý›HH‰>ÕÙL]?qð¼òߢ+yMš>· Î“Ëd>Þ¼W_j‡¾FŸ‡sa>eb ™~<¼[´š=¼Ž>:~¹¶ÍS¾¤œ\m'¢u>ˆ²ÍÄ r>gÊx׫¼ Ò‚¾¢²S>ÄQÝ>ä?ØSò•>¿—]ov;LE¿$Í,Û‚VQ=ù¶=‰~\?A £ýAI?Ù_±T p¿ ‡°HáW?"~Ú©=‡ÖJu}q¿Énme¿‡qöåŽu?ûwfùH]¦¿ö·¥À²¢=£Çɲå†?¿ÃN \?fØ©ÆÇO¿Âo!Õà¡é?>o2yÚá½Ó¤NÜyq?ÂÎ0wÑXS¿äA˜)-…?%P‹é1p?Ýp¥ûÝÆ½lïÍ|x¿IbÇÖ5¿£/{±±¶_?³àÜ@*&S?°/§ ~¯½gTNóƒ4¿wï Ô#ÿ>ju2A|&¿\÷G`?,ë¾0Ádì±q½²,»ù?|I¦ìK˾ê&zèE*ó>ïüR*™Mä>1ˉT½“Ó1Îzо’íãH( >C ±T[žÆ¾ådý.§éƒ¾”´YVÃ=(xŒºº>³z£7úêr¾mÖÄÿ§lš>X=˜Ð‹>ÐEþDÇ9ð<|–$3cºÏ*Á¦>oó9ŽÇ·Ñ¾Ë4cofÑ>&KcYúU½[fôUå¿ã>ĹNÿcp¾}ÜNì2>eYWß!‚²>«ù@=(=e]1º¥>ò½Oß\dF>LùšOs¾ŒÿEn#Ï‚>ËSÓCD"ó<„a¤@Ö:‚>GFÉàk¾¬ª·oD>>¦ÀÂs²\>73@×—,]±ýŠËD> Íõ·€Âm¾˜ L`¸E¾4ܧ(˜<#:B¯m>}[ÙP Õ#?ç$)E Õ#?Ïû„îË-?< ìË-?üÀñäݨU¿†¡ÆÅjû4¿ Ìkû4¿µ¼mÿè[¥?ñ¥rõ7?›N¿±ò7?_?œNŽEß¿ç\ç‰çx›¿b¯$Šçx›¿màeÏ¿Zº¦y˜D?¿…ùžy˜D?«w¬AÚá?N}£þ¿ýò¨þ¿çãÚ­ö¹¨>ƒZâé dÀ>*9Ú dÀ>:ú[Ã>*¦Pª@X¤¾‚§ê@X¤¾yÚ f†¾ïÚ±Àz¡t>ªìÒz¡t>°Fnç[>äÍ¿ïJJ¾ñ#sÑîJJ¾X éuNd>Á&ÛOuÃT=oµfqìÌ|½1ô½ùÍ W½4²ýš±þí>éñM€½´Q0wq¸A½^FÊ—Üp=$@.Äo½Ï¼Èœ‘G?>X"³¡So=&E䱬‰½ŸOÔDW°=ûaõ⺽4’€oÉV¿¤ðjþwb}=]›c5Cƒ=Ò‰™ ¤~½ÀP#¶îM½¼Eµ€g,—?ütËlŒ½^»¯#ÊqÃ=eGéÞ7´ó½ÇBÅxã½yÝ 5aµ¿XJî–¾ϽÚPëçAò•=hŽÊúá=O09ô网J8À4×?äAœ´Hä½Á4‘Q©OŽqd•d›:Ä=‡ce§™_¦=w²ˆbM­?Ì\<2Ѹ˽Ô<ÚϪ_¦=”âò›̽)1:À=%©d”X£¿†õ Û!E¼½¢<÷Íë}нèòÑÃ+sµ=Ú›ÒlËÇ=~ÍÕVq?Üžr{´Ù½’9½Ð ¤½ƒ"rÆÎZÍ=îû‰‡&£¥½Ð¯,q%7¿5`ä‰|ɽ°iDÅÕ*q½ò`Õ —=Ú€xÝçc½¹@¡,¼?é‘cÄTK¥½)Ш |U=N­šÙÙ{½ˆXAW¹š½éÚÆ ùò>ïÓñûl„½óÑhb¢ïQ=ÊH.‘ÿu½t#H5Ú~½š @öé º>ZFçMbDP=ø19*8½;aSÅú)`=rÚN+ÆMR½‡ú/Tk¸>%¥NÇæY½Pªòƒ«(½o2ȉTlM=vý'œä*'½ŒgUøm¾Wð§Kz|S½ UñA=jNšªK:½âÐú¾Y“7½qŒ­eb?q>Ž׿é½ÕÂÕ¦ô =Þ…ín¹"$½osÓ{9,½ˆ ß2RŽ9¾çÄèl:N=ª%Ef^뼙ěf!=¬â+C("½"ø¸> >)”¸øŒ ½àè(×CؼÄuÅ'ýo2yÚá½”Vz?f¿ù?_”„Z*Ø=IÌÌ·='~ð=nÒ¡½f³•ØüË=;Æ0±Up€?UjÖKʽ £“€‘=8áÛþUDZ½¯:¹ìÉ©‘½ü`Ë–«á5¿,(ä#„²½µÏtéT3e½ÇÃnº=þíü[I½kõí%ÅÇþ¾'x««V½Púñ_ºÒ5=wô‡³Ž_½éÏ“¥îÎN½,âŠùI%·¾7z•m/=]ÓdŸ½©sQUÀ7=rÂÄŽ§¼*£{<Šg¾AYÿøÛ)½¬0Ž´çæ<:|£m§g½â󠂨½(v$­ñ¾%óÅ ¯æ< Ì6'÷4½Œ¶- ÈW=}f‹'½è®šíPý¾¡õv` |=¶Ù”sþMZ½4mx<Äs=üÏ`çãu­½}á'QQ؆¿Ä;„ì §=Ó+ …óã=°½¿c5ó½#4ÁJdô½þ ô(™â¿95&møÅ½:îV€£e½ªYÑÄìà©=Þ>ðpX/×½ópI›Oy?Ãb]óB{Ý=Ù°‰UH={ò5*A=ûLå'¿B„½Wa1¿ð7¿¨ ±…{Ë¢=±D^7ÍC=P~m¸Xr½ÛÝjϹT=N"E†õ¾Mô„…'D‹½±Ÿüˆ½´±u‘\àD=\­2,<½¬Üí±K¨¾µµ^ÿ¬~X½&ä¸s$Õá<γºäÌ[½7†Ù…ë½–³ UâO¾•6Ò½ÝuQ\)Á¼4;‹áíê<#ÿŸ©ù¼¶P0–¤±é=4ì–§ð¼ÃÈø«Ѽv-¿ÂTŬ¼¹óèí4Ö¼éÊ%3§=d)È¥øO“<Ýh.(¤6À¼yÛè«4gæ<ãs°)¿ÆF˜ûºoܾÌÇSçÉi½´‡ìIp¿%IJp?I\>eн ÌÞ‰Ó௿G^ ‹Óà¯?r í³ZÈÁ½S Ø%ëÈ¿»=ñ%ëÈ?¡$’‹†Ž=äÇc?¨”c¿ß†X9¨”c?)øG¤.{½î=¥ðuFó>!ü¦uFó¾Ë@î\½¼ëlDTôÒ>uÐ_OTôÒ¾ºÎÜ«†$½X0²~¥›‘>†ç½R¥›‘¾ÂìÐ4ê<Œ’^ †YE>O©Yî†YE¾Û»«…#dɼUhÊË„Kï=â[‡—wKï½£‰Gu4ؼJ„5W>+¿ÙïõÁ5N?Ñ_#ƒæ8ë¾ÅÿÓÈ)Ðk=3¹“q V?€ŸpAø>?Š‹ýhG`¿Ê<•Ⱥ_a?ÒŽþvÅqž½‹Xçú0R¿Ì4%ìµ¼a?IѧŸñ׃¿éf«¼ ‰‰?»ÃWL“½sŸ³ Ç l¿ õn¿_77A÷?MŒ&?ܬD?Þ «æ‹¢Õ=ʬ1²‘?*ˆüÉ©¿„ÒÛÐ»Š½?HÐH-Úi“¿øË´Ïåѽr©´s–½?>qÈx•¯?ŸŠHä¥EÁ¿G!ˆÂÊ?UV9‰wʽÈI__°¿ÿÖ œ¹¿÷áY`Ï?æ\Öò~n¿Ž0ÂoÙ=(~šýà¿1Ï"%.c’?f¥=K²¿é ø6ÿ¥¿ Âéµ°Ö=€§ý–;ž?ºd€Iˆüv?­¨ ¹dÅ—¿.DüA³ó¡¿?ŽcaÑ«½€”ýÔ–KŠ?¢z4«šVb¿÷ó¯„?I/H¦ö'P¿Çú:=_ؽÖèr¡á®„¿±ÂÃ37F¿ë~<ôÛg?r[¶Y&?<ë­‰®º½«¼3Þr¿Mé¿üˆG4?µóJåV¿ø¤·Vy›U¿LµFmÌš=nÇI“†.?jRD.àC?'§”=o9¿öÖœ±©ŽC¿°Ôl%Ó‰½if£%-?ŸZTBD¿™ý¾ÔÜ'?^ú6Æ_¿Ü«p›Çƒj½”ú€ªÉ&¿eØ5¢ë¾DrÑF]Ì ?þnBÆj­>w„_8wF½¡õ­¦¿Ázu Ù>Q³OÈuü¾¿n»$AZû¾°Úñ"½#y:máñÉ>ø}°Å¡@À>ؘáâ¾” ¦™ó?ë¾·á^!3S8=â¤ÿùÓ>WLXŠLG®¾x¸~³DÑ>=Î$àɰ¾P›¢¥×… =°”^wæÏ¾ Ë6 ,•¾°(`•tº·>ÜõåNY½¾ýˆö~eî<:îÏ‹–Á¾c(l…>ŸR1‹%Ц¾¶ìÄž¥¾æºµõøá<— ªÌ÷ßg¾·$tFfÚ¾:Љ"Ú ?¼nRq@?œÞ:øÏF½ˆp¨{N¿=+"èƒH¿Îò]bQp?j½‚àd¥=¿ ŠÉ©*¡½³²>Õ.@p?¬÷Ç:ƒ|?vÓùaW ¿µ|»ïqn©?ÆÏO^È@Ľ…“ô懿ØO‡€y?§‰7o†¿Ó¤NÜyq?_”„Z*Ø=*½?Ðyè?À€DT® ¿=3jg¦É³?ÁÅ Ž¼Û ?œqì#SÐ=AµaUX®¿Õ„Ù³×U?£YF?S{¿ Àcmÿq¿¯Ÿ,è½XNcŸRp?Ìè6ó*ö)¿aaŒZÌP?ƒ®–Üç·2?}Ǩ6~ϽçÙ´»êJ¿·ÜâÏhý>à1wµF#¿½¤ê$;¿µ" ?›w=n"ê7°f?Ëtº?‹“ѾJe°^S ÷>Ù·H/hÖ>B¢@ŽL½-ÿËL(ñ¾ºöÐÿ½¾¥>¯ùæ\¾¿Ì¾÷cJk‹Á¾FåÆŒ ½oPm­}¸>Z÷ù ?ðÿí­3¿;›G+9?èð‡l¥=M¢]–QÔ4?»IrrS•@¿/Xð6´Mh?£_Ýg|?UNñLlÙнC ªù&{p?vÒ ŒPc‰?´gß=쯿TÌ[5ˆ±¿7·Ìû­Ò=’O«†è¹?# õf7˜u¿×nã£Ö™?,t– ( £¿†6FùMÐâ=¤ž—Ú-‘°¿«“6c7$¿`’;`:N?ý×ì2¹`¿—Ø¡Ñ;°â=… á\q¿BÏ(- ¾¾ Èc#Íuô¾Êß¶z‚›¿EÑÉgfòr½ ƒÜ.r‡A¿Z”-Ÿu÷¹¾d'z¡h-ê>HæpŽª¿‡—³±¯Ž‡=j@*ÔT뾃$쟨È>²ˆRÀ¾ù¸‰Z0äÔ¾¹#žè=[X½Ö5\ûä¾ËýÊU†df¾…½«+–>ÞÅÑÀ ¶¼¾ “4c˜á#½òÁ\Ûá^¾a‰YC’@>«hÁ·˜$q¾mBÏ´¹ï¾î@ã‚‚bâ¼±êDÿ›$d¾È³MƒeØu¾@Åóñ;\ž>×’Âní@ƒ>;ùhà¼ñ%õ6} ¾`l˜R43ú¾Ò?ö!43ú¾…ð%1 >¿ë, >¿VyæÞ"T?bŽcÂUJ/¿s¾’]UJ/¿^V7ìA”¿5xúZ?‘àüZ?Û|ÛÏ¿õ²£ ßYµ¿W®“ ßYµ¿®inO±V¿„Œë¦ÒšP?öH¡ÒšP?Wð%Q€€K¿¯³b¼¨í ? MÂg¦í ?4Ró¥’ ?7¾0ØÍÖ龬1ÚÌÖ龺”¶RpHÙ¾±1Ïդѽ>$!2°¥Ñ½>ü4'‘C«®>ý"`±—ø•¾x|;˜ø•¾kÏ]HØ„¾·œ6~ p>Éì‚û} p>af«3ÈC–¾°«‡‰NŽå>ëÐ]ظx¿$1¶Eâ>ð~æþ½‡µ.!ü†¿_òL]Msó¾AÑ=èem?‡2› ˜ç¿ºšSý¿Ë¿¼ƒS [×t?KAÊ-¼W¿T¦AZp6?ÍLIü™@¿:±xnÞp=+J‡Â¤°&?ò1^•O½&?@YÕÊuã˜P½ÜFFÁ:¿"™QÜ>í™Uƒâþ¾6#˜ûØþ¾¨^ê%Å7½ù®¯êàØ>—÷yžÆÀ>0j,f)â¾RÇV)¡ÿë¾.Å!½é9=e;~Ð;ÇÕ>ošOïÆ°¾…ØMuÓôÑ>¸¹mØ©¾«Û lõú<,ê£=›ѾzN–NR㔾Å*¶Uý¶>íq?V¸r¾Žqðj·¸óyÑ¿ta¦¾1r3… ¥¾LÖr¹ÙÝ<¢œW”‡Ë<>ØvË.æÓØ> %ºMù ÿ¾Ž´cã*Hþ¾è…à]>¬= À{¢ö?ž×¾¡Çþ>Wšæ«[#¿ búØ1D? ¬¡Ÿ‚8e=/d™¤*¿]À'wl¼/¿m¾c'‰?T?O{¿eíÎR¿ Ìä8°«½S»Ò :I?޵…ÍT?Ržt`³m¿ÂÎ0wÑXS¿IÌÌ·=À€DT® ¿APˆ»j•@‡ÅÍë®Ñ¿r0"÷?²²žb,Ï‹½:u‘¬Q¿9ª×ÿ—í?œ’òƒ•r%¿’ï³Ðп˜Hsh5=È;`ÊV6?ÜD´!°lÒ¾ÿÍCÍ÷>Bñ¼S?ÛÝ>ÅIW:&L½ýääh—ïò¾ÖKÝí ¦>XW[æÓ‰Ì¾J¬):¾6¾½kEØJ½Y´ÿ[¡¼>¢m7A±Á¾ MD#³èç>”Ð,]<@Ó¾'ŽvVë9b½ïk/"ä¿\¨Œ’°ó>ã5i¿tmª %­(¿€#s^H={uZàëÏò¾“a5ÞH^%¿ÄM¶-ZM?¥³º Jb¿Iô8â^‹_=Ôêò[¿cqWHÄc¿€ZQ¤š¨u?ØX¦ö„ ¿µafzÁ=¢]æ.©Ù°?É  X`¿cgÌžø|?Sp¥‹Ë„?»l†[SRà= "ÿ7›aŸ¿µL½ È¿¶%OÕ~.9?%ei¸ßÝñN­1ã¿à†þ>+‡ˆ= Ôœ`Dâ¾êvaMySƒ>Çš4Í}µ¾ü*Þ§ý`Ô¾^×ιÂaW½éÙÌþfpæ¾½ã)È´W¾;žØ·ÚTŒ>œ„„>I¾¾8°®´Âº"½Ë ¹óÃÿg¾m„T£‡:>1»‰°Ql¾Ö …7ö‹¾º¸dýžÝà¼1$u˜€h¾«tR™¬t¾¥;ý¶Rœ>‡‘°§¢–…>ù=õøþdß¼r5!~ËÑŸ¾1 Ÿƒiã>‡[$ziã>]`ÕjVŸé>L ŸiVŸé>2Cß@¿³€ûàRص>µ””pOص>£-:Æ);? “Z6"?úeuY6"?Ðnî £‚¿ûÿȇ£.g? Á̃£.g?MŠLσµµ¿)V “?àõÚU “?›Ytsn’q¿Ù(à†&¿ÎM›‡&¿r‹ ?M%8¨\辺ùÀ¹Zè¾{Πg0jÒ¾2"i øö—>è]Ê%ûö—>ż¡DQŒ³>[‰­ÉN‹¾™sœeÊN‹¾Ü ÒA_—…¾ ›yߥ…e>w:¹l¥…e>\•$†'T•¾{‚ …à ¿ÇÏ6.?BjIëßÏ ¿QA·ÿÄ0=ó‘‘FÜ{@ŒC÷¾Z-`ÿåÎ>õÝoqܽ¦Bð ö>j‰ÔÊŸÁº>Œñ¿Ý•Vݾpṳ’ã’>¾cR‰Á¾½l2½V!©æ> ¦ÜTD«¾•6Á\B.Ì>Ä9·Fb&Ë>ŸŠ®ËÔ#½˜>y v¾©‰P÷2ü¿€~w­Ø&?e W€ô#?¤À Wà-½°º]@†‚@¿6}šÛf#¿Ú!ù5·)H?QUª@Û˜/¿³Zò’ߢ‹½{˪±QQ?ð86Æ~S?mÑoaù‰x¿QûLç51w? ë¦ Øº×=r·0ú~Öp¿äöº8Ð?j¿‰fá÷¹e?äA˜)-…?'~ð=nÒ¡½=3jg¦É³?‡ÅÍë®Ñ¿%¾?ùó?êhÅk?}ìÖÍ<>Æ=£¬9F‰p¿hEì¥Ù»m¿^ôïÄe?¿PDŽÇu?mDQw>{òêûíy ¿ï_D,öƒT?/Ûƒmáßx¿@§öwe¿Ì°Á[Z¯=™…O©Lv?F“’±‘%¿þ[¤S`K?Ѽ-¤6ÒA?´€RfÃE¥½ó jniA¿Ã>áo@÷>ú}Hî¿ô±ÓÅÄ¿R!‡$r=³/õv™?ÑH §ßj̾]3·xQò>XçÑ  ç>]+„ÍwjC=ØhcFøâ¾Æ!ü:ƒYæ>yçS^å ¿V Â.“ï> T œk†=f$>©»,?â‰Ê¯£Û¿Ø¨ØU5??ŸØI*–WO?&ûè2/ǽáPRÒ¸?óÅf™]îI?Âìoq¿Ã<ã܈?Sìܽ@‡Zѩ͂?‚cx?ßr·ÜJ?ì[ùâ4PÊ?è(‘=uè½:wê¦ÜÖ¿P (çË.€?OV(Jß™¿t#ªx†Þ°¿st>(½¾ôê°¢¸Ä?û·w&ÏÒ@?ú‡ym¿Ùoï‰:@?“ÛÕ’f¯½¿E™5 {?ÓïÒæð¡¾É2žSNÖ>ÉãÓB‘÷>&ËjSé}=Ñ•XUÔ° ?דèCQx>ŸCä᯾ýrOÀQÝã>zoQKÄ H=Ñߎ{õ׃¾vÌYˆ×l`¾M$Д£‘>œ§à±>ñkØâi=ê<ª/>n„8wš>Jp¾`:¾̔˻|¬¾A-º¿=eC­êdvÄ>¹°¿?Lû ¿HÄë1Lû ¿, ò8]¼¿~98]¼¿°.³^»Á7?ø·ËÄÀê>Xæµ_ÇÀê>NùÙÔÖ`¿ýéýÊ Q¿áë@N Q¿S`Sɧ?ê×7'©Ð}¿ÂF¿©Ð}¿§û\Ü…zÉ?s3Ê ä¸´¿Šà 临¿xß*.;—?ÀÞAeË®P?ÉO¦ÛË®P?7]K»„:¿ñ°Þß<?RÒ0jÝ<?›‹MÉÍò>8þ:à€>x£Jà€>÷¢ µÈ·Ø¾QùÆ<®>A_ï½=®>¯7ewñ°ª>C¿(^øˆ¾4Ï€]øˆ¾&à·o»>CÈ\Fð¾Ž'ÀoK?Ì@OýbÇ>º8ßIí0=8îe[›î?è¼s\{(?j\##¿>Ù“C'Ö#?(´o¼V½Öûaéݘ¿Ô}ˆ!?›}¹ÜvrC¿“ 7Êq£H?É ð‹*­c½È¯Áî á$¿D³3ïk2¿P‹ÌÂNU?Ì€ñÊ©?Oz~nÙ²¢= VF—ì‡U?€w?…kV¿‡÷½¶VÔy?d¢ZÊ .L?‡‰‰ KÁ½U§¢‚Q~?ŒXjœ0b?=²Ô+¿ë„¿u~t1V"ƒ?ðí£Ùîª=uSl8`¿dQ —?±õ°l‹÷¶¿k€zô²Z°?>¸“¬DÍÈ=µýXœ¡¿"´­ [•¿€ìy(!¤?jZ–[Wœ?|£Á¬óéa½n*ô ‰µ?¤z(×[·?cÚæ`€ûÌ¿·©Î“ÂÞ¿jN `ÈøÞ=Xgdí@Æ?ž&‘–ê&‹¿Â’žx»nª?Dƒ·5b€‡?¶ùe´Y ¾³R˜œ9Æš¿ÜÔ[óf"s¿s¾Gù‡“?|®vÍBì>? uQ’Æî½Á`Gh¡¿J„¥^? ÂÚÁÄ¿™H$GqÝ€¿—¹ˆ]/,½=Ý/òFb?œ¥Õ¤?ÎC?)eŠ;Ûe¿åV6cŠCm¿(—׉뵵½Î¦ÔŠ5X?g¶é.º˜2¿êkì¯ðT?p*Ÿ1F&¿ûÝ!a,нµ7ýùMàS¿¶§_1µ¿ûpÿ ÿ‰6?K»¶ø1eê>“@ÖOt½›ýšÑB¿wøú­,?T¶%Wc%¿ÆžVc(¼$¿8ÙÆm3P½¿“A˜ö>eQ®K‹è>í¼È¹û ¿˜ìé¡âl¿›œèè{b=؉Ô‘•ý>§OíòÖ¾»ƒxšûù>-ëƒ,¥íÖ¾ÁX¤ÈÂJ2=‹Õwµ|Kø¾ûÍØ÷G¿¾ÏÑîÒymá>.»U¸bJ¦¾m3Ôê=°F@úHýé¾žÉ ?u£¯>¸KU]ê¼Ð¾qeŒ3íϾà‰»M|=ØKO¼†¾®[QX>eµ>1ÎÄ%£™Ô¾Vñ³÷ Ê?PJ ¶kR½S)I‹ ¿òì ð#Y ¿»Y¶ëžÃ3?€Lôê!ø¾…ó8%yO`½uý5$áb2?756ê~>?ÊÃõ+Ýd¿ö®fpb?ö=!"‹‡ =èýÂeG¿‰äh'Ølw¿ˆ*€‰©1?%P‹é1p?f³•ØüË=ÁÅ Ž¼Û ?r0"÷,$ÐÖ'õ¾¡ý¿—,ê¾Ãq3-ðRG½!‚—RZã>s7”cBÍ>æø}mõ¾ƒwï»)rø>¶¸hh=í Þ+VÒû>[ŠÊP"c¿Mp’€.N*?¾A,’\Ý+?H¾õñUæ ½Ÿ~­äwí2?Žéðpe‚,?XVû73¬V¿Åv–¢Vòl?LJZûhµ½ú¡Uo?PX-A¡‘¿ˆÖÔ³?òâÓŽÍw¦?DFû¦¿½4MnÉÜ`„¿&DpèU§‚?¼ 4]%K¥¿ë—{þýû¶¿wòSä2’>»˜ü…^©’?è\fS9\.?‚N2T³ýT¿»[¡ÆÀv¿T÷VˆË½Šq U¶8=?dEýw®Ø>u"8C&ؾqü›|@¿Üx¾öY²=~ý¤Êû+?Ö¹'-gµ>öZÓÉEIæ¾ÿ{ô¿/Þª5‹k½à`Øt‹<¿ÐU\^¿޾ZXâs+¾>=,Û‹@0徯y·)M½oÂDÚ·¾Y‡ïD$Uf>ƒ¥0v¹—¾»äNtµ¾¦‡•é #½œDŒ2d¾þ<î‰ÉŸ¾Î),—ÿÅ>GAñk­>ã­žáý •k}ȾJH€G¶>^0aÎG¶>" ”y‡Ù¾¨r*y‡Ù¾Gø ?}±Ü• ¿ ÑŠÜ• ¿*íÅÜõpH¿ãëU:ï6?a´…:ï6?]ÅD˜¦s?á¦0þ4D¿ºEzü4D¿œªásÙ?nHô÷n¶?;"ó÷n¶?Õ'}œÌ{?Ðx1à&S¿ eùØà&S¿æEœÌÓoI?¤y?4¢ò¾k½ l/¢ò¾Åþ^ØáA ¿¸ S Àgç> ¨²¦Àgç>…d»ï+Õ>üëÓ„ñ“º¾Ü\Ãüñ“º¾‚Ts4m°¾ˆ†Gˆ•>Ÿbû.Gˆ•>¨ÓLçü=À¾w„ß²o”ù¼¥¸ƒNL=8íÑœšy)½0ìöT¶/Å>ÅcëØ¯äB=4ͦfä=oc‚L4½<óαAB=‚ä Y´tí> ÓRG5çG½àNÇ£: E=©¬§¿Œýg½vç´Öl=¬]j²òë> 1YÌl½†²‘éªP=|B—eGe½¾üÑbq`=kLÊD'¥H?èüµ½Èl½9q#æ¼ó¨½L>L“Ã=–§ã|½aTÙ«6gU¿Š…«ìH‡½[¯è¤c‘=&!4𥽙¹óab =Š>Éôµ`—?58ÿÁ½’Ù9(jÖ½q«R‚ÁÑ=§ÌÒ#WÕ½ žºÞ\µ¿Ïu‹IcÅ={TÏEAeÁ=SRx¶Ù8è½C©ë«ê=<{ávº>×?p6rÇÇ'Ö=ªõ Ͱ•Q½Âfjn°£=†Ë(‰Fµ½©ñ¥7ˆ4­?øp—tGUÖ½¡–Aü½”$þ¡)å=×]©ì[Ú½`˜U½Q£¿èçGò‘äÈ=¡ÝºÑ†>¸½·©[=B5Þ=—¨p4Ÿ=f78Ç Nq?Àб€ÙYé½I)<)L(€½,Éäæ”Ì¥=X´ÇžÀ‰½ò -5$7¿$ÿŸô½Æ_ö¦+Š=üìK餿±½!ÈÝ^Æü±½¯4÷|âõ?5ÿÁÙn|=§Ô@`Øp½©|,™—=ȹ]B'†½èîS¶÷ðò>»j!OY䑽‰h#¥$^½5’UDR‚=~ªO¦Ð_½Ì &e£ã¹>Ù<šÈ+‡½ü4ŒíÙF=ân„Ï€n½Ùú±L^k½RòõЕ¸>¼¤\‡v»J½¥t‡K‘è3= å"ŠW½ý·S›A`½ö<†½”n¾™Ý½—»—:=cî×ÜÕð½ˆew|C=8¥i]3½pé³gîq>ÞP˜ìy?½xžê\ † ½¥4ïiî0=†Léõ~Ÿ½iQ$ûn :¾ë ÏHË 6½Í¤ýÑÝû<$Ëè+ ½ˆÊcså5½¹íqË)>‰'šw½ÜW‡`PA!½¨+êMKkE=×iºÏÏÙ!=7mÌÔ4¹¾‹¼:¶ƒæS½ßþÁxõ+=%æÌæŸU½¨cP ==˜û±}ÿ¾ÅÉÕYTÄ2=TÏ)µ[O=q†±ï*Àp=ýõVa–=hI/jÛ‚5¿·J*ã$z=´mˆ Q¯½ÔÿIÔýTÕ=Ýp¥ûÝÆ½;Æ0±Up€?œqì#SÐ=s,~`K˜½}ìÖÍ<>Æ=Æ|˲¥Í½ß~¡+¼ù?rèÅõˆ®”=¡p¤ü Ó=Iƒ’ûãÛú½i·êå ½ýÕu0I€?šÇ!,îѽ Xc{7š½XUŽqÄ=o`øæ„†½~ gv-ú5¿ør™U;«½ºâFi=Uô!-Y’’½]T?ÐúÓ€½Ð‚ jµ·þ¾öA0Þ†P=ƒfˆþÛ[C½Hìu-Êl=¿ØÛ.½UQÉ·¾®ecß”c]½Ë[¸`<=(ñ¦=Ò«B½ÏK2Vá2½FzEKÃ!h¾Õã°}=EGÈø­Xç<_›ãG¦Q ½Â}òo­(½ºŽ&sIuë>ÄÖ};B=ô$ é‘2=&RzMMO½±ÊlÆ_ž}=&V1JÉ¿PNxÚØz½á> ×oûU½¿ *À&£=k”óm©½ xŸénl‡¿ç=9<˧=A¼ /TäÜ='(ÿ"(ñá½-?»óÈÜè=-ÂÆÓŠâ¿H={’o±ñ=}pÔV‹=x…SðN_³½¨ÿ30Ä®­= ¦ ¾/hå:À¸²¼íY}}ð¼ÜaêŽ8¼=9A¡í'pé<À¼¸Ö¨3¾Øq7mw!½Ä P‰ñʾ—{þ|ñÊ>7>:rˆp>¥¢¯sˆp¾…×áp³W=;¡N%Ô#¿f0%Ô#?PRLLBb½ˆº=·p¿Fɉ·p?{TÛÓ½æðU™Rܯ¿ò°4šRܯ?¯«½v¸½à R–÷ÞÈ¿C%–÷ÞÈ?t¨¡•på=œiPjdc¿ùs¯Sjdc?:æÄ[ —½´d~ß½ó>gÈ]ØÞ½ó¾ùÓfÜ÷ˆiÃDæäÒ¾ç4- ÜE=iõ¥ËI˜‘>*¾çJ˜‘¾–ùgà±ü¼.ÀW ¨E>ȯ ùž¨E¾y ˜˜Í½Õ»ƒ£?\#iì–É'¿›:û(ÖÒù>莩pj:½\vÅF.4¿sÃQÊP¿û °æ2¥4?ZÉSê39¿‹À=9ÚP½×7§˜0?˜Üþ‚5¿[ç“W?µ|—¤~`¿ˆH~´’=¦AD?ê'9•G?.‚•= ðh¿ ‚ƒM@?¶Ëñz_ǽÁ‚êÿi©l¿ié“$óSf?æ<Ÿ»Æˆ¿BœG÷N¿šû»Nò= YÅ5{a’¿FŒêËñìs¿»X‰9“?GYA*–¿nm;VAà}=*ž¦q‚?…êéWÙù—¿Ä…ò ·ä·?+q’SÊ_À¿K}ð‘e|À½¨wÃÑCK²?ê˜ÊÓ"À?[Y¿uÉÑÒ¿* y‡Ë©?Eÿ U-³='¹ù±-|Ú¿o`B1CS¢¿Šç‹¨¸?$ubÿ„ÂÆ?Ú©kñ&HÁ½Þ=‚m!ž¿æàçs¹?ÍŠ8¡_q±¿&v%Í ¿2/‘kNß=4¹¹0°¬³?ƒäu_š‚m?A#0:‘ ¿Øœê¸™5?£Ìù\5Þ=åD– ?0-ptëX¿ƒCh‡à¤~?„‹À‰Î…y?¼Ë ‘‚‘½ ›(lÒTR¿Í¥C25¿ÒE­ÿºW?G—™Zb?ßà tƒl=Ô·¹BÍ‚G¿½Fݾx ?äÞuȶéB¿#û6Š/(?ÖìÕª"’=4µý­²RA?«cK«?æT‹QÄf)¿Ójp°à>I¦ÏA1}Q=bh­Q³2?רÖOó¾/í—ËT?Âë„AÇ`?ùh˜¦Õ@½^E{rÚ¾0Á~?è=Ù¾©–I$lOü>Ï78.ÿT?MJ^¸`Q½² žF<꾤­G"V>Æ>ÙVG»”íé¾ïBÖ- ŠÌ>õÐiIW*½¡ÿ¯ÏÑ\ç>Ö€ L¯>j_HÏ‘³Ñ¾Ú½úžå+ >Ž-P¶âl½|¨B1daÙ>ƒHýK„Ξ¾Žo»©À>ýÈwx¾>dAPŒ1þ¼Ø$ ÓûŠ>™”­DHà¸Ë¿þ#Ö˜Š1¿Æ4׺ ý/=”ËB ‘4?}A« ?Ý‹Û/(‹D¿‰å]]Í!?3ìÔv5„=£“mlJ¿Ò?;‘IíP¿Ž3ë v?¬ØR²žr¿çKªÒν>N1BŸûg?­rÄ´s?@¿Ãʶ¿lïÍ|x¿UjÖKʽAµaUX®¿|·ÛCª7?£¬9F‰p¿ŠcLº Ž?rèÅõˆ®”=o>w¤•ié?¸Dbn“q¿²îRÑS?ú8ˆp2'†?Ñ]…áÏCù=l·ÌÖßž‡¿}|ì]ŽÊH?uÍ'Yà‰p¿Dœ~LßF¿0ãße"Öf=56¿$Y•g?°~ôíF˜¿vü‰ƒw@?šíÀL 3?§s!«˜½P³QiK,¿SÑÊÉÚ1ê>'ÌØ›°l¿C2©öRë¾ùLjîg=¼–±$}?BS¶’¿¾ù6 $å>ï²f’íØ>P†\o`$7=Áíï\(оˆlĨâ¾ À˜Å†´ ?ñº¢{.2¿ÀäxÕü€½*pö\1"¿žUåTq´?òðÎû *:¿-HýøŽG¿àÒ6«C­Â=¯ù¤îçI¿…õåN¿,­ë¥èt?ú%›Z¿HÚQ‚€½’]³¨äKr¿M[p{‹‡¿þÔí‡n` ?t$ƒ…: ¸¿ÿÛyÜizÝ=c—;—,Ñ?‘x•7M=„? [¸¸M¥¿€¹–dzŒ ¿ßõBgŒtã½—Ô¼‰îC¸?/Y[MdU)?Ì5J}ˆ°L¿ÑE@˜ñR¿iÃëün3v=.jHRw°f?hºn¯æ>1˾¸‹¿Ï"óÝ/?‚8·§s@ ½¨äaW|$!?Óô|Ƨ³¾îyUÔJá>îß‹·\R÷>‘ì­Ã"Šr=ÔÌŠ`ö×÷>ä%vv…ƒ>Yî û³²¾~é=KmÓ>µ57§Ù;=ްò¶ð¶>œ°+µÃ Z¾«[Š>æ¡ð2?í¥>ÃØöðøø<†uù¢ª{>¥áZ5Å>ÛÀ¥7k7¶¾ý§šÈ¥}™¾ÙÌÚ ö< 㤷>Vÿ00ý>E2ó/0ý>` ôxo¸?•¨´wo¸?W¢Ù†åB2¿"ðAA?_ëĪœA?á7ǽïv[?ÊÎUˆÀ%?ÿ‚/n½%?¡Æÿ¨£§¿$j¦ß Ét?|n × Ét?=ׯB&Ø?9tF–îoe¿;$’îoe¿è–*;¾Ž?Ê3RÁ‡0¿ÅW¸À‡0¿ü¶·†à;5¿o1ý|›?+> |›?¾ Äïð>……WÅAÙ¾+¶­ìÅAÙ¾•.;V—ѾN€"Ñ)‡´>î¦í *‡´>Sœšî¢>ùºUÕÑ‹¾2ÏËÔÑ‹¾’nåôÆÇ¯>FV %kû¸¾vn|«r}Û>×ôuY—¶¾MAŸ_›(î<u´„ óé>:újŒ*™Å>_{éÀå¾!ñU•D ì>«Ã”ID ½Ð0ñuìºå¾†ÌRÁÌè>…cÒ×Ö› ¿¾l†/ô?À|BöKx8½fœD÷Xú¾¡÷ƒ›÷¾ÒµOZ?½ý-wï¾Öu™,üÈn=Éàõ-/?În”mµ¿.nÁÞ”î6?ßX³Å)nó>Ý ˆˆ½heƒ\A?•w1´e÷&?ÂŒJ~´¿G¿Dà(€E´H?À¡"%¹´Ž=åßêó<¿ÿ‹ô†!G?>ÅIJ6h¿¼x'1©q?”Èt•·2³½†Üt7š±W¿Ñm)áY#Q¿ž!ÖaCn?›æÜÖ”I¿µÌN:TÁ½ ™¥bgÏs?Ô髓㵿·éŸŠìÚœ?Jäß©Œ¿1ÄAH[Q·=[ìæ†¨Ë¢?Ÿg¸(Šd—?êf?’‰Â§¿æ§)è{³?\NZwÃü ¾?Ù€C÷¤¿ÞCÙ‚d‘?;È´ýø£¿Vô¹?¸­tñ ¾‡Œ¶?/ÂÖ¥â/q¿ï¥ ?ÿCá 5?¢R¥ªœžÓ½úü|#‘¿Lv˜ÐQ¿ä0¯U…1q?i›ÊàT-s?GÎTGówÅ=ŽIxùd¿yËç¼Æy@?×ôÐ ÕPb¿’éaè¾öQ€jì‚{=/Ñw5†a?ÎðXDý?ºä¤Š0<¿ÑYãHæS ¿+!ÇÉ‹~=)ôÌdšI?Që° Yv¿ö Ä•ãö)?¹+üÊ×)?•æt‹ r= ‡MÖк¿}Âí¾tåUåÂá?z/ÿM[[?90 ˆ…ag½f ÇØÕ+ÿ¾öx3–zÒ>©Ê·1}k#½GÜ£§Aþ>mr†vã¼Á>Q[(×á]ã¾Ú‰:<¹+”>obiäª!½üV÷\’í>ÝéNgñ±¾\é§ŒÒ>C;i[1ØÑ>©¨Ñ¡#1 ½ý+~òt‡¾W¹*œs±¾"á›”ðîÕ> ùX"˜Ò>²›¥¾­gͼ,URWþ$ï¾gšc>Rо¥—~‡¢ô>UƒE‡±<Ö¾¹³(ÏóÛ9½lˆéŽoþ>0Û”qܯ?…&. ’5%¿¯£,'?i¥&säØr=Ì3´) ¿ð@²ß0¿Þúµ/Š›4'y?¬ ì‚0ÔT?(ø®7ñJj¿§QItw¿÷Ô«SÍ=åäɺs?fJša0¿Ü?˜´ ¼S?8b83K?Æ­¹Ol/´½ =Sr:âI¿‹fg‘&ú?i¸nAÓˆ%¿õôCüWY¿•¶³yTƒs=ˆÒ.Âm!?U˜F ­Ò¾oÃUæÔÄ÷>÷*õºÕî>Z†b¤7I=ÉÏJÕRé¾ÞÙaûo•>§3¨,³ð¼¾2tiþ(ô¦>#åíë»Á8=ßà‘fŽÚ>Úâ‡P’BľLÞ¬†ì>jɽGB?÷FÅ2ƒ%m½7pÎf¢À¾,ó‰ßó>›0OB¿…³¹[?¦ÉÑëwEнx óÉÐ%?BÌ r%¿I Ðû}M?gF¬•™8c? Dœq ›½¥ì)h¥SY?dN]Åc¿<¯'ñªu?q8&1Idª¿§>NˆÃ§>¸¬·…eª?7hÿX`¿©¶¼I+‘|?†ÆŽn§š? rh;3ÅÔ½Hq'G”¿HkÙ´›Å¿ÐÏ"&¢*9?⊚RÝH?ŒÎ6£ãó¹½’ ænúËG¿Á8áðT}¨¾~Ü®¨pçà>º¦Å/K?Ö8¬¸¥‚=(ÖSØ9’?ž÷õvI†>)!¾&з¾ÏWªÃlè><67îQVP=6Yäøä·>1€éˆ£a¾«!A_iA”>&Ê×» !¶>ÝÜkV± =0†$䉗>.)3þÑ¡>©JCäâWǾ–qêC¬²¾ š"Ø²Ó =að@sñrÊ>Þ§®Åº¾ñ7٤ź¾ÙÞ ièÅÀ¾øÊãhèÅÀ¾8Š06ç>‘Ç "nr¾¸±hfr¾á𠜤˜¿ýRQ@Q5Ð>Q„R5Ð>@[~÷:?ÙˆÔŸi¹!?ÇRÕªi¹!?Šo ¬‚¿ö‘Úq3g?P°q3g?)=¾+=µµ¿«×}æ “?ÒoÞtæ “?™`o “q¿Ìدc&¿ûzY˜‘&¿Î“V¹b.? ÙWo¤è¾qèˆ^¤è¾.¼É.±ôÒ¾ûÌãKÌ¿ž>ç Mοž>­¯w~Î'·>>Ðï££Ž¾þÁÒë¢£Ž¾i){#t²Á>´/ZjØAà>ÌÙ«½×¿J»1–µÅß>ô¥=á ½’Ñbñ-<¿l¥C뾆XŒD€ ?,Þ«¶¦†¿ÝþÚ1.= .EQ ?Iu ó¿ÀبŒÂ%1?n;¨":¿Qu_· o_=h~ó¾!?=ÏPJÊD?ŽŒƒ’t5?¿„Èk÷ ø?s\TœÁË•½%'KìÙB¿ÍËTëœ;?º[B¨Ð\¿ŠØŠ¿«•‰ý Û¯=¤VÁ1Wf¿Ýd‹“7-M¿.aS³²m?ÝTò@o¿6áÖìbĽºàÙ«7øb?ûmYAôl¿3$2oä´?;K&U¼–¿NP Þßâ=o=v¥Î?ŒQ‰AÅr?ž£ZØB¿)•Ìtét?ŒMóêaõ½(u1•iZ–¿´3i.…¢¡?YBˆÒûo¿¿åÿRR†s°?ªuTú2E>ðuI˜Æ¿ëã»çî°¿8ûÞq”Èž?ãÜW4îÅ¿†¿Ž‰"¾†ážPµ?Æ—U!ÂY©¿¼l‚AF«?¡1 ‹ÉO§¿¦¼ÆVGŒ ¾Ü$–RпTŽ6N÷’?”˜—zÝ­¿Pä1"³¿KP‘ñsÒ>…jý³?‰4ž&Û‡u?P`»¯#”¿¡bqºß†–¿š£PV9Ç÷½~ÐhZ~Œ?&çÑnûd¿©ÃŸ¾õ†?/ÓœÀü;?M)X.}—=1e.IF†¿|=T€ÿŠ@¿†£îa?ë‘8Ï©Ê5?ùhSsðn«½u#[ï±Zp¿¢ ƒúò«.?øÄ¶…ußO¿æFƒ P¿CQëù‡µ½I-“êÅ,?Þ¼TºLÌ?ÂB½¥¨û3¿ƒHAõŽì>¿%(m15;Ž=d5üº)?µj?„“4¿ SZ@Ýð#?bõ[í©ô¾¾Çô«ö6=#+Ù+4#¿}½R”æ¾âÑ {†?[’EéÊj°¾æüDaïÅG=ôçì|÷¿Òþšìî×>dZkà£÷¾Q< ‚ýÛØ>2|Ù @.ÿ¾í:áóûì÷¾"Õµó*ö<ìh¼"g?IÂá^—¨ô>v¨´eê¿öûWaÐþ>[µôf¹Xb=0¢h ÷ë#¿tb?¨¡!%¿xÿX1!ŸJ?>«–ŒíÏM¿%ÚƒŽ‰˜½x: ®CÓ@?α{]g©S?‘’HÍx¿£/{±±¶_?8áÛþUDZ½£YF?S{¿ó5¨ý=Aj¿^ôïÄe?Ýó¥œ`‡³¿Iƒ’ûãÛú½²îRÑS?Å9¾Kã­Ñ¿*É{ùó?{9–MgY¿—Jš}™b¾.ù ¿zàÓÅm¿ÉFÛºóe?ÅûìIÁ=? -ðfRùò½p„¨ž$¿â’S‰T?ÆÙ3Ê`èx¿«VÚc€q¿L è¬~Þ=àZ†H¹Yq?}Áå;ßž%¿‰Ž~ Ø/K?+:rcš4?áˆ"rÒ2¿BXn»há¿@ê-Ù/ôn½2ïÀ?^ǵۤ»¾îŠŒÔgâ>ÀŒDÿƾ8H Iä`½WÁÖB™Ô¿ÆšH—Þé>…ñP]‘Ë¿EÂT*:l(¿Q¸K®’=š´ö 8Yô>ìäÚ%µã¿Ö‹œÂj??¼šécm9¿(Xúµ=¦†Þjž L¿)«”‰{ J?lgPÅV†q¿Õz€Sª‰¿sº¦‘Íëò=îyy缋€¿šªÜ¡¢hx?ψæ±^ J?CV+ I&Ñ?9¿ *vñA>—½d®Ô¿oðÞZŒ/€?¸R*)ᙿ'¸&¸À¿ÝNt2’>w<ò2˼½?Å:îõaÑ@?íÔäÈZ2d¿~ˆyŠ q¿fe0‘°â=ça:߀t?Y’™î²Í>g#Îæd¿S²Îã?y+¿×¬øœ%¦½}nÙw’w=¿kûS·¥¾5Í­´9Ù>Xlö–Ÿ¬¿kúYL{Ít½¿²ií]Ó¾LU©Ý™„>„D²]X¸¾”»¥w ëÛ¾²íÞ‡2½b¾ÏJ„¿¾BcZMÑžŠãâ­Ñ£í>ÿ¥ø® ¢Ø>(4hï¨B1½%ø*»^óð¾ú–ûv}â>h›üôv}â>`&²,í ç>óÂ+í ç>­£n»º¿EéÚ•‘¿¾Ž¼’˜‘¿¾€ ,Ñ'8?’=c"Fͬ¾¢–.Sͬ¾+Ó×¼`¿awŸ:¾P¿Íq¹w¾P¿4J¸§?q7k\Ú}¿[¿¶\Ú}¿ÿôí~fzÉ?m'@8ิ¿Š6ôØ,˜¾ûáF˜¾CP}ñуݾ¸Ybª±>«QÒæ©±>öÄ¡ê°æ¾Ï áþoƒÔ>µa˜÷J¤ö¾‚÷ðg@RÏ>huv¡ ½sº=àºÈ¿ù¡ÊØÔâ¾R¾´ y?MiºûE«¿ áöÁže)=;6 Ì ?-y7ÊX¿Ùq”ŠÉý%?¸Z'PM0¿3x$¯uÜR=©3SVŧ?ªWÒŽžG?l4Go J4¿¡§p1Ÿ??îµ É|†‹½ ƒš®|Æ7¿6£²ξ1?ì› xãíR¿É,EÉ¿–Öle¤=˜éà&\¿,Öy†ÌZC¿pÃ2Ò(Fd?Þ­`àd¿él`w:a°½þ= W·X†MÆ?Øô¦àyÒj?½zÞŒþŠ¿G;ŒºÏ€ ?sºÔ Bç=’+µ¾`+?Ú&ÔÌOt†¿Yòså, ¨?:-Í£g ®?‹RåBÛÎ=‚uœ=Õ§™¿øM§c„^¿`PŠKä=?€¥ñ¢k?ÏkLô™‘˽wðÉM¿Ì"ùJýçJ?ýŠ ’œHr¿u÷7ÙîEH?’RæBƒÄ=ɤžw%i?"F\Jœ ?ýxÎi“”@¿KœœTÏ?CƲ …½®28M?œ¸Q\òóø¾fµH·aß?= A´Ì¨ ?Ÿ“‚ýÞ»m½úTK?¤¼?—?t¡j~ž"/?d¹`?u`º`Þ#b½„Љ*Ñî¾DþÓI¿Ö>;Ã|]ü¾-Ø'g|ä>ÂH÷ž>N½\cY¸–÷>'ï,Nq¹¿>¥ôc¯¦â¾}³v¬„Þ½>qb‹@íÞÑ_KõÄë‡ÇäÍÐ>Ã…õ„Ë>a”iB ½½‰¶Óû‰°>F¡<ÐMÉ>Õ85ýÂæï¾Ü?Ý¢¥=í¾ÞȧS^Bîn3Š·£¿®“j3ûÞð>Φ‡~ÐT=„…ãc´¿tr¨u s¿zÑ•]‹A?SˆwMC¿a‘™•¦Ž½b%ÊÏz3?mÑ©4ª K?Ó`3sq¿³àÜ@*&S?¯:¹ìÉ©‘½ Àcmÿq¿8šrO„e¿¿PDŽÇu?–a1* h¦¿i·êå ½ú8ˆp2'†?¯½·ÿ Î]?{9–MgY¿«¸á¹ é?„I$²#$#¾û@§r?„gcž²S¿É;þ Ìh…?“†ƒ¾ÓDp?P.µMf̽Dƒ=‚Hýx¿Å Ó±¯5¿©ôÎ4E…_?ïš1kŠS?ÎOòiÙ¸²½þôÀòõ3¿òæbŸ5 ÿ>ÜH_óýv&¿D·Ô×\é¾Süo=rQ€×°?ŠI&eH̾¢g5Áíó>x:s#èä>®Ça¤&ÛH=ær.K²Ì¾¤ ÖÊ~ݱ¾kA™ÍU[Ø>–!àOȾÕãŽpT½Vk[¥<þó¾Ç\':cá>‡©kúýj— ¿Ë«|ž’‰=¤^–¾”##×~¿“ ¯)Õl4?ÊgY¸¶(¿5þÎ\¡=¯sp`šB¿î1h J?xP V&Þq¿ë_)t¿™JLƒ«ò§=A`¤°ofv¿Ù±ÑH¸û?³$Hao­¬¿bšk:-±Ê?eEŸ29b¾°;(/Ü{ÿªHä®,N‰¿Bªñßp0«?œvë7µÝ±?äYj»[5°½Šoh>e¾¶¿pà0³S1¿÷/Ø>²‰T?]°³LxÑZ?ƒÍ”¼$³½m˜½Ñ‹Ìm¿³O‹a¬„é¾² àëž?j°¹,þ'?å¢Ä!l=æLMD+á>×BomU§>mÀÊlÿ@Ò¾‡½Ç>½Ò>åwßÂfœP=L]Å;åLã>•:ë@¦j¾{”ñ^|œ>­Û@ =ÿ³>̲Ҹ•ßë<7ð,4‘Œ>‘5Ÿ£FYŸ>îH_jŠÆ¾ÕmÆkœ¾lƺ4å²ò<m‡ÚÆ>¨å”ÂðÒ>Ì{ÍŒÂðÒ>5"1×”„Ù>-ó÷Õ”„Ù>[Ü, K…¿¯nÙÆ¸è¼> ¼¯ ·è¼>¾j”;”/?©“Y·þ”ú¾ °öÿ”ú¾­ì´V¸U¿ï÷KƒÄ0¿Æ–[áÄ0¿ªy@Ï~¥?;‰xÅœŒ¿Òr×¾•Œ¿†Ô”¦ÂTÆž=Á>¼W…¶ž=Á>æ ¬ÚÃ>‹ÔÖ^1ì§¾#§Œ:1ì§¾Ć ç@½>i ¬å†&Q=þÓ€Cvs½cœÖפ½Ë$‹¦‚>p`NõÉ}½` âáû7`½Í?X©w÷=(f‡nÔ÷ƒ½‚ÀØÕ€g„=s@—  =º[Â>—²½Ïã?ùPm½t‹píð>AòI²²½‚ã lïkª=9—­µIÅνÂÉé6Mޱ½uE¹æð>×P æÔ½[T@Ð×»½@© ©¨^à=ÖoÕÜá]ß½`¤Š5‡I?7Ïrë—À=X/N!9.Ú½„6Ïh!$ÿ=ò}O,оùß93U¿Y‹SK1šÚ=åÿ@® ä=0å,1kX¾Ô§(ðZó½,1ï-±q—?§V=¾(à³jš±>#ªšÌÂ/,¾É¤¼´11 ¾šúqZµ¿Dîdî&¾ÅîKµaH$¾ ;uÏëN>ƒhSEG¾(¢ï½@×?2…¡¯Ý6>"€M"|%#¾Xm‰QG>ðˆ4#…ê½·‚Ý0+­?‡E–LP¾äè—å¡Ì=™˜Ï$ñ$ú½ã¼C‹ ¾4‰rãúQ£¿ báY±ä ¾+=y0Lä=`vií2ì ¾(Óùkb ¾CSX’tNq?_^åÀ¦ç=åÌMÛðŒÐ½µrUÏÁõ=ÁbµuÓ½î‹áG]87¿fM°ò½´7ó â³½òŸ§5ÉÖ=³LM‘Ÿ½‘Qú9þ?£˜ƒÑAà½_$Ž|Ÿ=Õ´©ýuKÕóÁ½:V8qYó>q1&Öºw½{ñâÞ±†=0Oþ½ˆã©½[—çW²½!Úö.¢¶¹>rWÍeìÏ”=Á¬Ñ›Ã­r½ôøm„ÇC–=ó¾~½?woQ‘m¹>ÅØ…ˆ“½!&ô’¼\½¬)ß³ƒ€€=KB0fÚËS½)è6vøn¾NXKüÝʆ½h¿•4Õ,L=×ÇÂWD4o½°õP’!k½VÌ`á¬w>?FE£CtD½KŽÙ6Ò%=s1Š®{ÁL½v¼@À f½ßø.Ècj¾qV¶†þ9w=ö ­äðíi=`1õx‘½ ôÊ-ÝTM=×x98îv¸¾“r{Š#“½S)¿à7˜½-r=x¤À=±Ž6µŠ½½­½œüwßþ¾ë˜hH/¥=< [œø0Ã=3’J™”Üê½°/§ ~¯½ü`Ë–«á5¿¯Ÿ,è½ÉcšïÇó½mDQw>mÇ€ê!¾ýÕu0I€?Ñ]…áÏCù=Ð4}S0=>—Jš}™b¾„I$²#$#¾‚Ñàw»ù?5ôÓáC‹ ¾Â…â”þó½Ò$ø$æ!>±}Ünîì=1îÂJI€?¨t}R¿‡ ¾y;ü_ãÃ=Dw{ ê½ x¹“Zܽ”àc|Ý5¿ê©fÌD`Ï=.Ë“]Ì‹—½¹‘ƒX,À=ý‰S¢ @=…y¨Z’þ¾V·…É'´½«2˜vàl=¥IG(y!“½N=än r…½"Ò@P=·¾S<š°òÞw=¦ákè/Ó/½š· xW=OÏV|¾âW½%´=¨ËK®>¢¤æŒ+e½ŒŠRà*\=Údb\j…½ûîôB:G’½q§¤O óæ>æ6§œwy{½ô%2e{v‹½ø¥qs¨E´=ª9ÞwV_º½òtƒV¿3üÿY0¦²½¹‚ÚPÛZº=Uk 1är当œí1?Íñ½å¥È/š‡¿2ó‚–æ½œ–rÕëï=߷⯾žìdœ->$ÿËžâ¿5}@Ìýl¾–µgÝó=*¼à`C¾Eî=\žˆ$¾ÌM"¡,Zy?¢Ñæ†Ú¾ü=~û©^ ‹½™Ö|*Þï¶= k¶AÐSǽʳÚ×/Ð6¿ù - kÒ½êeˆ×ÿka= Î’ªë½|³=rèÖ¡½i!ªõ¾g½À~ܨ½¥<$¦’²;½Ì½¡uðžMAe=_†‚¹fëC=a‡fûj¾RíМóöe½µÐÖ+aV>ïêš$aV¾"%¢’W>¾ÿRr¿·>>Ö,µ {½â:Ã3§¶Í¾Œ|Ôõ§¶Í>¸• öâ„¥=Ò62j¨J$¿‚ N¨J$?/·#ë§Õ½Š³ðÅp¿ùmeøÅp?ñRɨY > Åüs¨Ø¯¿²@Òi¨Ø¯?Øåq¨äVP>üÿÆhÛÈ¿r­ˆhÛÈ?Kê´©¤Ï=½›®Œ5fc¿ ûb›5fc?¢+5ý·½}ä×õó>Eµ3,ó¾Žèfïvr=ÃOØQªÒ>® :5RªÒ¾ô2)Y¬¿P½Ó$ê–ïy‘>–L€îy‘¾‹ï쉯]½¸+XϨоAŒ³_nšò>‰mÜ™p³¾Ñ%•œ¬Ã=Ù¼Yà¨+þ>p»áJ+±ß>ˆ–·=*ã¿¥·{—?òwÆ ò=½g rvé0ö¾Ñ‘:Ë´?ì ¹·‹"¿—õ‚pµ)?|IÌÜ\½ä9µ«ž¦ ¿»¼,`À¿ŸQb¥f2?$‡HŒíÖè¾ †å\û €=²M‹!4?hýŸïâ/¿WîânMQ?ÔëŒ1Ñ#?ý:@qÓ’½zÆl1dW?åO†Á@?ïáÚž¢Œb¿ÕÖšCê`b?ä1UÈ×™=ÅìÏïÕM¿w†òisb?ó G„ëL„¿Y20±Þ‰?ÒÛIÎ(5»½ç:¬0šj¿¢œ&Û\ˆn¿"dæÍ2C?d™r÷sL?ø û«½½K’Wé ‘?J-Ζ¿¿á'¹P¦½?%…l“¿œÏZR7æá=ÑP ª½?ÆßÌTNž¯?g£6IeQÁ¿L “šÓ¢Ê?ˆ†Ðâ7Êø½/ÏyU°¿5Z¹¿/€Ä,ýUÏ?KÛ?Ù_n¿Xó-Pp¾¨`³"üà¿#n½È™a’?‚ßóþG²¿'2Wg7󥿠lÄͯ í=ø¨÷üîPž?—/b$÷÷v?,ÑsË¿—¿¿ià¦ðï¡¿7½_WS…ë½>æÃäDŠ?mIþ< Vb¿ÚêdèM„?9aÉ`X3P¿ä @ïÚǽí"ÀN«„¿ŠþPIVAF¿m½[[ég?lùoP¹%?¼ìHࡽ ÛÒ®œr¿6ÔW&ˆQ4?*{]»vöV¿í&¼h U¿ç þ㧉½Ã¶²*¶¶-?“á[ý¥Š?ýhñ~¶Ê9¿¢ˆ\B˜¥C¿{$ è§v‘=ZŸ¡Õt,?m@ú^™z¿¸þ67(?›©jU݇¿Et‚É!V]=] rp·&¿­¡gEXí¾ §kl-?xÞ9À5LÓ¾üzw•F=À”"ê¿®Á’~Ý>]ÃáÕ¿þ¾-+wÍ©ü¾ë3‰WLî7=ŠÄÓ‚m¢®¾:¯µs‘’²¾yn»R65Ø><×#ÁkÇå>XŽ=…—Nò¼Lÿ«ÉÂú¾¼Áõ ÿ辈©&S `?5¼Ñĸà¾97œVS.O½k+3¦«’?äk_¨Öü?ëDÓ›:A¿‘…-|Gÿ??SƒÅQ»^=NR¼ëò,¿RV,gæI¿”Õ%OÉZq?gTNóƒ4¿,(ä#„²½XNcŸRp?λ۫ ²|?{òêûíy ¿ÃëÎ$‡©?šÇ!,îѽl·ÌÖßž‡¿Š›4'y?.ù ¿û@§r?5ôÓáC‹ ¾/™µT~è?³G¶œîž¿¬öTóų?êÓÙÌÝ ?º&Vk:õ=yT ŸOW®¿µâUè;ÙU?Û=t:vU{¿µl¤ò³q¿4hÃ…à=ÖàîUEp?ó ñv*¿iêù…äP?L ©£C22?;÷/ñ}¢½ÑÒ{À›êI¿;YBí/þ>™k¹#¿¹ØÙ`’Õ¾\¤¡0WŠÓ>Áçm/Q=…§A£œrç>ók`rQܾè_Ûg­?åæaXÈ6?ÎI{É¥ìt½s†d7º¡ñ>4‡% ˆ·?ÿ¨2÷¿b5¿®–´‡šc3iƒµæñ¹?Á¶Hcc©u¿‚fhÏóí™? >¥m˜£¿/h“èü=•ì7 O–°¿ôGÒ;;7$¿Û=š=ÆN?|;"k̶`¿4ÿmXflã=˜—¸F^q¿;¦ó2ü¹¾×àצqö¾Î8±¿Þ`™u­°½í5 pA¿~E3lS½¾wȼÙãì>ƒ'¤oŸ¿XG …¢¥y½äz™îóñ¾Ä2ài"”>òðFgê#žOÕ¡cé…ã¾B¡·Å6½oðÝ$†½¾ ÷rÚ̾z>Îk îó>Þ_5Á1Û>` &«ë4½gvª¤y×õ¾ÓB鉽¾ c×l鉽¾[ü†¸Ë¾âu¢†¸Ë¾P–‚ü>„<6y™Þ¾ñsv3™Þ¾yꂟgÞ&¿!(¬]Â?Ó5]Â?U'èš^ÆT?Ž5‰Nι2¿à#ι2¿Y(èu”¿D(a?îûû#a?µcŽ”ÝÏ¿ò;Â6_µ¿¼¾cÿ5_µ¿$+«Ñ÷V¿’'[À P?(„FÁ P?²ÅÈf‹K¿yÞ”8<™ ?¸Fƒ–=™ ?7MÉ # ?I•B"+!ì¾ý)úŒ+!ì¾â²Ÿð,ß¾—ðÀ’bHÂ>«?pFbHÂ>X}ø*bí¾†²5ä>HGÏ/’°¾Ã}é!Œ>‘vŠõò:ż ltªý¿¾B³º¿™¾PueAèS¹>-”'fUÁ¾ /7ï¸Á<¼£¨äº>Ù¤£Ø?+½¾œá® Ê}ß>j¦<¸Óç¾4}ºÖ=z~ý3å‚Î>f ÚêpË>á·t‚ì¾q³ØâðŽÀ>ú?H,=E½oÛ áÕð¾:šˆÄÃEé>hDVÕN> ¿3=ßBtϾ5D¼V`=md§ÅlÊ¿^¼×ÝÜ÷¾%úarú?;®§aß[¿ÀqžÜV½c%3iL ?R÷îÎìÿ‚?RJe7?Z)º¨¹@¿Vß˹&n=¬¹¬“$?S0™¹u'?Ñg&u¡ÔG¿•]£¡¤#?'¤2Wòm‘½H/ÂûK¿þ)Ç?`"G?âCjí;h¿6TyjÕ¿»ª¦4©´=Ùt–­Ÿr¿Èí“ 'Q¿T¿•Ln?Ñ€+…ç¢q¿Þ NBª#²½Q Gýc?ÑiÖt·¿:M—~Üœ? uëêϧž¿£Ío2t彯qŠš?dícÝd—?âPR[ç¿üÈú¤Â‹?.{ÚfOL½²¼•ùíݵ¿¦—ô¡”‘? S£|ù£¿•Dð><~µ¿6ÃÝ;L$¾‘Êšää •?iGt©p0q¿Ž  ?Dz@Š~…?ã•ê™zäÄ=UŽrà”¿&U ÃÔQ¿ÁÓõXô7q?§à|»÷‡K? µoô¥î±½+™LEŽu¿4Ñ.­<~@?ãp hYb¿,oþ}`¿²¨?˜Ÿ7ª½ãŸ5&#žG?°?]…2?¡òË!i<¿í¹ÖËÂG¿’mg£>”=ªË¸…¤"4?¸ÀÒˆ¿…VÚ*?±ýS˜¾‰¿Ò†zq5½›qcê)¿×1ÐM£1ᆱ9Ž˜GØ?1lÚCù.¤¾Õ¬)à£P=ŽŸÅÓ½¿M”Oq øÞ>J\¾¬ÿ¾Ârf^ÿ¾Œ¤g!Ì9=UŸ;yÊÅ>„Äôá3ˆ>V°)*0®¾Ø{#kÝ:¦¾Ð[ûÐÞ¶t¼¡üÙl:[Ä>5œ¾Ï £>k“úiEȾÜüðý«>+³ÿ¸ú =”Ë?>Ò¾RjoU-Ò¾7ÎÔ8÷>,>lJ2´ú¾.fŠ M½=¶}´ê>Ù¦?ùÞ?<{(³|%¿wï Ô#ÿ>µÏtéT3e½Ìè6ó*ö)¿¶ýÀ?b 0¿ï_D,öƒT?t¸ÃR¿ Xc{7š½}|ì]ŽÊH?¬ ì‚0ÔT?zàÓÅm¿„gcž²S¿Â…â”þó½³G¶œîž¿ÿ#"Öh•@Pbî—ª­Ñ¿ÍÜÃ>Hz¿üiæaLê=* i6?é¦\ýœÙT?-Û%\j¿ÀŽþ ’e¿Ü¦oÍQ(ë=¸âò‚}¦|?m–¿S$0¿²4k­ÅÉS?™®½J=>?5-« ½›e¸ÿ Q¿Zß(l?6R­sŠ·%¿›ú˜ÚÒ¿U<, «r½õN§TÉÓ?qXÉnòi¾qu Çvî>Ã3h.›m¾ãT@ ½J]-𱾪öô8Þ™>SȯÒaÁ¾ç5 ëÖ¾àGƒ„xG=/ÀQütŠ>[‘ÏËaľÙèˆ.ëtì>nëVêžæ¾Á»[£`ºN=²1Ë»^ú¿7.–›Ë“ó>©KŒ‰R¿OÁx”%(¿>¦A Øœ’=µ=ŠàÐmú¾hKýSpu%¿#¸Ã£ƒM?bx (¡_b¿.L‰G¢Û=ÃÕ1ô‚¾[¿Ê,bù€Åc¿ûù˜ëj«u?änÂAc ¿*ÁP†è=HüGÆKذ?„håY`¿Ë´»)]’|?¸*1ÍÄ?óÓ}7ñ=ܯù\Ÿ¿„.:7·´¿þžÕ™9?¢q0匠99 ¶¿}¶5¹Œw½» †Éé¾$½ªýªw>1O²ô@DÁ¾²°<«ã¾«€¼¼Ö;½³,Á)y¾¿¾•¹`I;˜Ì¾æœ§VPó>tä» ²ìà>†Ò/õ"8½¢Ä/ÿZö¾;€¯e‘>é㥨e‘>£—@‡Ñ=–>D¡:†Ñ=–>f0Ÿ×U»¾–Ù–þL" ¾þ´:/÷" ¾ƒ=«bç>ñ |¡¾Uå+©¡¾‚"ÆØ˜¿3—1¹Ã·Ò>Ú3î·Ò>ÛN}Uò:?ËDçG™!?vÓÖG™!?Á¾ÿ£­‚¿¯NæEL4g?¡A_/L4g?ϧ†Öµµ¿ÁѲ() “?à…&F) “?³Õ9þô’q¿˜¤¡â &¿‚®â &¿"Ê uu?”9ðnê¾Âat…ðnê¾U¬„–ãò×¾Ò9œÒåF£>èM­äF£> áÞ°í¾¯{sOг¾(“¬Â&¢Õ>Äœ)«´¾6´Té$åâ¤ÛÑ À> )~yk(à¾>~n ë-æ>@óñ>ÕÌ<ÈÚX­êá¾eqûÐ ã>î`V,x¿@&M?Èíu[ùê9½…C¢ƒô¾º¦Ahˆñ¾óM‚°U? ªtÔç¾³¿Pô}l=~(ª &ç?{/’a¿ Ð|‘RŒ1?híhÊmÇð># °Pw †½¿Uóo3;?w«]Ä‹¥?3šî¸DÀ?¿'I½w%ç@?ZºðM°Î}=w÷Uëwm1¿´òÛìP¬;?›qÃbé\¿€TMt6e?ƒé¨Ž‚‰–½vé uK¿7½Ç[>M¿­]€Ìm?¼Ã9ÞîbM¿ÒÙ¶fÔ”´=ïñ¾æq?1Çtì)ùl¿¡IªT¾»?Züì2W ?·l°`<Û½¹|î|Éê—?ƒÝFßÉr?Þ ÈŠ&¿i²ºÛV“?ˆ±,Ç·>¶½V«9$¼ˆ¿YG f•£¡?r¬†Õr¿¿sdªdŽÂ?ª,ÒQC >¤p'ŽÎ–¾¿^:1}î°¿"PF üΞ?B‹wÿëñ”¿T›³¡ ¾·^?ÿå1È?C)äY©¿³Í¦õF«?Šù®ML”Ð?1$lT¯;>LÒÈ›?¦¿™WSm„÷’?3 Å‹¶Þ­¿ãíK÷¨¿/ÉdŸ”ù½]+sÒ•¸?ʇ¬ïŒu?ëü¤öü)”¿ãý;õžv¿Ñª\™óÙ=z<"¸á™?Ý¡8Cÿd¿~^»‘þ†?Ì;X1+Œ„?âpÝ™aÔ=ÜiÇß-Rp¿J“‹Œ£@¿¨;÷œ a?LÝ)ëm?ÍPö]=º½¾Íð¼c‘Z¿²Üžá´¶.?>ÙÛ¥P¿’±òêÚ!?åyêæ7¥s=¿åz5>P?þй;=­?¼?Ôð¥5¿àyçsÁ¾[à¢ä¥v½fô¶Y3W@?[0b2¿É¿zjÔ™Ò$?e „<Ú#?ÛÌòŠ„`½Vg§Ø}ò¾+ø†G"±¾ S5ü0@Õ>!L,YgxÍ>ñ Vðg}»¼¥§üˆëë¾5ýÖaȾmtqæî>[t³xÁÒ¾—ïsSä22½µÃj·Á÷> húÉþö>Ìañ'Î5¿¢¹Åq\!?2‹|™=Ït=ëþ•põ¾¿¶p*^%¿CtdkúJ?ju2A|&¿ÇÃnº=aaŒZÌP?™J±ËmµS?/Ûƒmáßx¿€z›‰åw?XUŽqÄ=uÍ'Yà‰p¿(ø®7ñJj¿ÉFÛºóe?É;þ Ìh…?Ò$ø$æ!>¬öTóų?Pbî—ª­Ñ¿® %ãÂøó?æ‘(X†?¿-…½f ¾ÑŽqfé7o¿eð½‡Òm¿ŠFd‚Ef?Zç3›vìu?Žm4 òŽ¾Â¡¶3r ¿Š_÷탎T?‚á„ú£óx¿YÛ·¹d¿iI/© Â=­Š 4v?aX‰$¯%¿MrªÙ:YK?‘‡URÆA?Ðn3ˆ”Û–=UªêÁ}@¿o§{-> 0ê"¿µ¾E“W¤Î…>ÎY]%D2=Ýl 1a×>wB}qzTÀ¾æ æ_[xæ>刮:„’ý>Âm[-ª8p½S^Ô ¨¿¾*Wmƒ'ê>#w%=¿Äç idÐ ?ÑvFO¥Rw½™0¼P '?˜Ñy*¸é¿¨Û¿T"}??øë€h†N?7MbA¶¹½aÔ;ïÒ?K3Ž{ç J?[îH웊q¿r„y81ˆ?ž$´Èªˆ¾»Ø7„¤‚?ÑÕFæ;ix?('Ú ´ëI?:çBÈêOÊ?º©¬<9ö½Yp ÚÖ¿“Ü””n/€?7‹FºS♿‡ÅC›Ø°¿ü7½´Ì¾Aîþ¼+´Ä?Ì^ ‡Å@?ã*ƒf¿#d¿ÄmSù*k¿UÙWwEvÕ=Gãî¬Ôv?ÿH­ 3Ò>Ê ù¿f¶êõæ@?Ëšïy¦=r)úâÆd?òðMÍé°²¾ "@…lä>Ÿ×ê‡?”Ñ”‡ªb=o[¿YsZä>%ýdŽ“ ò>5T6æ8?¿Ëy“„cU¿Ä² ÚÔ_=|¸ý±?“þɆèw¸¾7¨¯}èw¸¾m¼³š¾¾>©¸²š¾¾àRTâ>~jmU‚’>m!áV‚’>]ãfì¿r"KÜâŸ>BÿìâŸ>éDÜ"8?êd£ ©Êо'g!2¥Êоàв©·`¿Ò·Þ)ʨP¿ÁÌ&ʨP¿ýºÏ¨B§?̆(£•Ü}¿[ÿT€•Ü}¿[²÷ƒŸ|É?=Ë¿žr¶´¿‹›ŸÊr¶´¿ZŽïq;—?¡.tÄ©P?õq©P?S1]Rù:¿¥^l´ƒ; ?ùZ·N„; ?[y[°±ú>N}x/n©¾ÜÁ×cn©¾Ìþ´‚ì?XÄÍà×@”¾T·|¸Ķ>QÞG¾ƒÒë4Ù<ðÏÍ­ÁMÁ>ŠHÆŠˆç£>´2æÞ`ªÅ¾7MV È>sgmsµ½”v=0û¡·¾ÚÆÈ¶±÷Ã>¢>ÁÖîæ¾qê¬s›î>,ãü¨>ËØ#‘º­Œ>"³áç´›F=2ÊUCŠ”÷>(šãTò¾èeÞ%Õ?—.ê›E„í>êq+6sW½7…ž&q? ¡G%Ÿò?A²éå{%¿9œi,%?Wž¼m­T=¢‘¨« ¿QpI2‘!?±=-D¿Ÿä M&0I?‰ ƒñôE=¡ Ÿ£DC#¿cÍi µ2¿¶ 4Ž.U?i×& ?óñ°¦¢=V´+Z(¸U? é!O„V¿#|és¨õy?QȇáM?²™'cLý´½Ÿ´1stg~?ᎠVä?b?hlÎ…¿-w¦`‚2ƒ?ÕwëK@4è=­¶Ccd `¿·‘£ë8—?óBâ Pú¶¿ÿ^a_š•¡¿7çXEòZ•¿LkA™"¤?à ÙÏœ\œ?¹9Žˆø= ›íoχµ?ôç4©‚\·?EðÌüÌ¿ß8!þÞ¿hÄùéúí1¾wf)N‹>Æ?ýýÇ|*‹¿ßYtÔsª?-{i?X]‡?ßüǾoñé½6 AxAÄš¿|-ªg^+s¿Ow" ‹“?øêõ¹G¿Ð^e¿žvÐïµ`m¿°Êm`©½=õ1Ù¡W?.8‚ÄÂÂ2¿™ZBn7U?W× ¢Ó@)¿þÙ*BN|=Ï fŒÓS¿¼ÄY»"¿ÓŒXBU8?A¬êzÝ?ô¾ª@ܾbs=D6b),®B¿ˆàŸè³Ü?Ô„0Of²&¿Ÿãñœ«%¿Gå¬è]=ÜŸ³¶¾: ‰~Ͱa¾Ù=¸)$‰>‡Ÿo¢¥©>c¨ó®v<À¼Ì\Ë&Òr¹¾È‚¬Ù˜¯¾1¯xçgÕ>h'BÏs㜾‹5:Þf½Vz×>žx~JÞ>-;]ÆO¿}«X™C?ÊêG!‚Jæ<·i>+Žÿì¾Ñq‰:ë¿Çò~´:÷4?\÷G`?,ë¾þíü[I½ƒ®–Üç·2?[ð‹vÍ>?@§öwe¿Qå© b?o`øæ„†½Dœ~LßF¿§QItw¿ÅûìIÁ=?“†ƒ¾ÓDp?±}Ünîì=êÓÙÌÝ ?ÍÜÃ>Hz¿æ‘(X†?Nó©µè?ÃÎÙ¢vM¾`cðö6Ž?JDÌØê?¦TWോ³¿œ¨9Eåe¦¿“ا4}>ÙúªÕ{©?9µ~ßR¿’É6iGw?‘ëÚy/b?z}¨1ŽáÀ½8Ç„¸Å”r¿zún¦Íˆ'?¾¢?ígN¿i;ö oC¿íJn#ž½XE.ñ=?çê­ôr>pÛrô×a›¾Ô0ñy>ÙÑ_ÒBã=˜(•P}µ¦>–Ÿ­ä2¼¡¾ Æž³÷kÊ>%M“avÖ>Ë¿skä:½L”qV/åÂ>©5QM¹ôÎ>^ÿ zxX÷¾ûæò– ü>ó²“"52=´:ÎãNþ>²`TB ž¿e':Ã*?Žh I²Í,?= Õž‹XŒ½f„¡B³ï2?oït¿ §,?¼lV‰ÎV¿ è`>Zm?vô.^ìeä½]{ßíIOo?ãYøÜA¡‘¿¨Ô³?Çöy¦?:â«l9 ù=U*/iP„¿¦ôø¤‚?ˆhغG¥¿&õÏ œø¶¿WΞA[6>f#Ù6z”’?v»³Ìâ².?rïu“AU¿y¤²Çþu¿›60ƒÕ½þö1#Jê;?ò@=ìz9Ó>ú0 oÁ·>?° Mî?¿µ}7%¥¦¤½ˆ2é6`¾?ŸÞ|>—f½>ûÉ(8óï¾h)αV¿]£6d³]½K÷‰•'@ë¾ê-7vo‘õ¾‚ûz •?¦'Anêó?‘§ñB’û\½¹ñÿ7ˆ ¿ýpäëZÍo¾Ó­ZÄZÍo¾Ã¹(¢h‰¾”´Œ$¢h‰¾[Í…`À>5>•KE¨¾|0eKE¨¾.3Uš7í¾Vq'tÆÛ> ]šÆÛ>µ‘Ë^H2?pÎ¬Š¶k ¿i^Œa¶k ¿líMöȱH¿ þH;NT7?h´|NT7?ª 4õºs?V—õËNB¿ÐØé·NB¿/LÅηsÙ?Ðéþ·¨m¶?üxÔä¨m¶?¦‹*ã5Ñ{?¶”êèR¿(ñ†~èR¿]•Uû>~I?ÚœÉ0þ’÷¾’µŠòþ’÷¾ˆcQæ ¿w¾*ß»Tì>aÔ o»Tì> _.ïî¿ïýÝæY0×<õ¤6AÕ=ü¼ü;ÀÓ[ôø¼IÜMÓ–5>0©1ë¥<¢ àæ‰]ð¼$øR=-ÕÚl€ ½ÛØË­hIc¾REѨø¡½ÝØ·xùþ¼|o<òÅ%=~Pßc ½Ó?«‡‚>hÄ, °½#vÈ€=&éïs?¦<½Í6OÞ+½1´;;®†¾/{›œ›3½QØ¿¬¿=òSE„@½Ör¸XÓS½ö¡·’¥”Å>Ö–¬Bj?½GW©=3½¢„Ãù_=O=ÝÖoFT½ut(|ð>­pÏ‚R½Þ»Püb½AÊ9_…=‘ð笽n µ‘´ð>œjÜ,S¸V=‚Ô[ ªî}½Ùלÿ£Ø¡=îdÐUŠœ½ýË´I?ð¹Šlc§=Ùù³hßq¸½ùñ1®á=]8±aa0·½:•­ä&U¿eÃÅÏìé=ýñ?àý©¡=*8ræ ̨=ÔÉÞÞ“à½(Œ7”u—?kx˜ Ikð=÷‘T­¥dá=~| À„?×?7‚Kgf>Uq ÑiÙ½ä¥Ø/0¾ÿ5Gœ]'>e4h Æ/­?s×´n{ç=‡†Z!4ôì½$‘Άü¸>xˆ q.¬Ý=¿ªâûX£¿ùô5SÀo¾\hÄ-–ѽWd˜øuö=LcD­¨K|½:"@ÔUq?ˆ ü½rsæO€˜=ÔªaJ» ¸½I– ƒšÇ½ 31öT†7¿îq\Ku¤=¢Í¡ò]’=:¤kqï³½H)€Ác¹½˜“¾Œj)?Š9 "\¢=jšsvvct½½ò™ÕGÜ—=`îÊý—q½“{B2]kó> ºÃšr•½»ýœQX]½¥†¡ÇyB€=+z똩ò9½Õ ¸º>l ¶ÿ5‡½ º$úK=Ìô9šžl½]Ÿm„Éj½X±ùï3l»>œ·göí¢0½%Žñsíð¼Y•ÚÏŸ=^G¾ÐÖ¼'ßs:Òå ¾³üœÙè3½¾Ã“+ínûm¿ëÑ Ù=pc¾´ÛÏæ=š7áÓ)e€?jÛ\”%ѽì,Þ¿1›½D¿[àÀ=džBÐÏ£=±`Ãg5¿GÝ#%û¯½·l€g#m=¸ö²×&“½ÃG+Hª„½*u”ÇÁþ¾…·¦ p€=" Î6¦½¼H8#E¿ê<G$M¨P½9‘‚àbd>`Z¢xË=6&85ÚlÕ<¯ØÍS¯½2©?ã8=0ž÷ÝÖx¬>âùX€cÆ$½(x”‡F¿½ô‰…Æ?C=²“t•FÁa½ÈÅ“$Ÿ…å>•G¤Z²8]=à„ÃóR¸a½SC¨¯A}=Æ‚°l ÝŸ½lTÉÈ Á¿ÝXéœu½PšÃ„Þ–=•8MÍC¿½la‡ÈÉ1Ò=×VÈyk§‡¿ÊzÇ%mÿͽ1®v鼬Æ=]ÝT”7콄Äâmt:õ½®x`åIžâ¿¼ÈmZ:öö½ß·±Å=q¯sN(¦ê½ÃÆ'zM½=ï߸mô~y?s…7ƒaà>à¹ñ5`=k‡=»>Ñ·½µ<ƒäåĽÄr.¸6¿àêÄx§½¾WÍctä ½*ÎþÐF=H=¶OQåz½U¾óÄ|ö¾òÃȘ÷Û€½ÏàÑCké=ØÖ3Ë5½ÿtÅmhQ½èGÆ”&²¾ž—E$~3½ÅÑ;i;½.[¹(c=ôŸ8pNíG=™b™Y޽´¾´F9dÝÜd½•›j³Å<>áJ%i¶Å<¾y¸O_W6¾ɱE6>ËŠß`xê¼—–ÃB5D>Y/l>5D¾8¡›Œû¡ ½/×oç4Ͼ­Á4Ï>^&¢•¼d½ÚBFF¹o$¿®UiJ¹o$?Úç«áz‘½ãφô°Çp¿¥ß\ó°Çp?H90µT¸í=·ƒ-lªÖ¯¿éA¸pªÖ¯?–b “l} >ìšèsÝÈ¿»ÞÌósÝÈ?!òí©é=šÓËŒc¿;=¹ËŒc?l™Þ!“=zª*Xbð>*?^Xbð¾®µ#4’Q½ßÊ77kèÑ>.kèѾ¤Îµi[½IÆNQ[Ÿ­>ïK–¯zоð+(¾©¥>vâ±mã¼UAΔ@Þ¾Û8zÝ!ù¾UFîŸ{Ú>Àþpôᾂ¹’•ÃGþ<”APÞi3Ø>ÞD¥]šÜܾs6‰zÿ>&^qc*B¿“ƒðZx,=’ðR!Úýë>^8EÑ86ë>Ôÿ{9â ¿ÙsUP;ÅØ>'Ìg2¨d½ŸôgµÂ¿©6ŠÕì@ ?8ÕFAÊ–+¿‚£YYß/ö¾g ´S}=M)É.i4¿)þu¦¿ÄîWÆ´9?3ñ–Lš¹:¿$)(kl½î‘ÚÝ'? B Iöü5¿zeŸ=·W?bèŒây‹`¿’rZÎýw„=º^À÷q¥B?öÑ4­uäG?¯Iäbi¿Z Šr¹k=?#ù®óµ¦½ô* `Ô¹l¿ywîjff?Óä}7Õ1ˆ¿ð5Œ™P¿¬~†MÌ=?pèD¶`’¿UÖ”Wøs¿úÀ[“?5„Ö-Q"–¿…z¼½,6‡”Ìà?GWSý—¿ÆªÓ˜Oé·?Ê{WX`À¿Š˜æN¾"Æò¦DE²?Ô#`J•#À?KÀ­_£ÓÒ¿žŒÀou¾©?æ Z qÒ½óhZV |Ú¿µWr«[R¢¿±ïø¼ð¸?²MûÁÆ?{SW(¢>T^B•ž¿s]ŽVtº?u dªr±¿ÌÄF²þ€¿«*†½NÒ=Ó‰|¬³? a— m?§Ÿ(±î¿Âî ¤ûò#?’Ý•¶ï‡É==«Š¿É!?„›ÈÕÆY¿Pj-ÓûÅ~?Yð˜y? ³%]–$y½,–=iR¿:¢î„ýs5¿Ø—µ yX? ­ù·þ+b?+2y@.ا½¾‘mä5G¿XѨÂW¸ ?րЯEC¿Êä!{i×)?úh0¤az½ <|„`A?åæIÝ·N?^P?™t+¿²½îh÷>ˆá +YJV½øV¸S7î2?îfí ûëö¾»\<ŠUî?à˘?}PÛ\õúV½ƒÑfûßÓÛ>Y©yM#A£>¤Sp6E$Ⱦvm0™ðLž…¹ò´•·<€Û§u²á>z{s_^ÍÃ>èéñïˆé¾|ú*¿Ç>Ú:ò*,Ò*=Ïûͦ¨ñ¾k¥°A¼ò¾ÖÕfPJ?ˆäKð{yí¹tg½)Hä* ?•ø 1Ët!?°é‹·F¿²,»ù?'x««V½çÙ´»êJ¿:u‘¬Q¿™…O©Lv?d¦Š¿œr¿ør™U;«½56¿$Y•g?åäɺs?p„¨ž$¿Dƒ=‚Hýx¿¨t}R¿‡ ¾yT ŸOW®¿* i6?ÑŽqfé7o¿`cðö6Ž?ìÂø[4â >£=ØXié?@œÚz–q¿^Úû¡S]?…‰a–:6†?U¿7] ¾g×käׇ¿ÖùRÎòH?ݾ•©p¿6’ ›F¿¶ãÏB¨¼= g¸¼—g?Ò+a•1E¿“~Wtþ@?W¤±»b3?Èb09¢SŠ=¿!Ñé*¿Œ­8¯Âl‰¾þ)øƒ±>èV>œs|ž¾4‰ä‘,½àl-œ¶ü;°íFã¹>ôßm£á¾*áðV…ô¾†MÔ(ÃÖd= 5;«¾õ”ålîä¾4}ZÙ ?Ò±R ¿¯.‡suõ]=šEÀ¯¿ ƒè.Ë?Œ´"Bs:¿tê´±¦BG¿–†žj$¥=å!æv{³¿ÒÕEG,N¿ÞÈ1qût?(<^¡o¿¨§‡îòî=‘™®³3r¿×윩닇¿RÊ¢¤Á` ?ñéÑ: ¸¿3có:ãã=|€ÜÍÑ?Ξì =„?I àâM¥¿E‚Pœ… ¿›Ñ8HÖ¾VêÏR?¸?PÜP®@)?‘§OL¿DUÒÓÑR¿fËl4ÅáÌ=b`Óz¯f?3’/ýè>PÅ¿Ÿó„E<'0?(àn¬;=§ÑhPa?oϬ9@…Q=BCn®­Ë>í–£¿æ>Oö?¿ü±¿vØÿˆó¾°ŒÅW¾L=»0*1R¾?ÉŸRé«>àx“Ré«>·‚°­#³>t¢¯­#³>%Ä~Å8Ú¾ ÷™®W >LZêõ­W >Va¤?ôàµxÄÑ×¾Aœ¶#ÅÑ×¾ŒwŒðÑ»2¿†2ŸéS› ?ù§°–S› ?²±”¼Òb[?¾ï]Cš"?á—FCš"?Bõ©–)®§¿;מÍiåt?–G+Ÿiåt?Ãý)S &Ø?~†£zQe¿b˜}‚Qe¿[¾ó?_ÀŽ?zÒÃ(·0¿Dÿ2H)·0¿éwÉOx5¿ÄæÍYÛØ?ú„{ÛØ?¤17Ïûó>GúAwN…ß¾æ¨uN…ß¾¥Öb?}?* ˜¡WBb¾Y+`¶ÿ_„>¨ý·XGIb¾è€›â§ðœ¼·{óSq”>ùf²Í“m>J²‹«ç¾Í}ë·™”>âz¿B˜¤„¼S¹ø¤~¾&ÆÚ…¯§‘>óo¿±¿ ³¾!í*e½>+QecEHæ¼¾n_ih¢¾ã9§Ù, ¾Õ›×7Û Á>S~âX<á’¾ü+D?›=ô­rµ!Ä>}¿¯~ ̽¾¬Úó)à>/~®0§> tí©}1½[­‰s»è>×ó¢V|Ë>ª7d3Ãí¾ùqEÎãšî>`´-mÅ1= îy˜®Gݾ-˜JéV]é>nÅ[ðÔ^ ¿”{hFkð?µ›6‰W?½H,hCÕ²÷¾ƒKTñò÷¾¡ÛÓt%?…ÄTë¾ö‹œ¿²3p=ÃSÒñ><?ÿbH#ο5"çr,7?–Æ• —Aö>ÃýC9€g‚½nüËb XA?ûÞs%'?åýZî¬ÝG¿|Ö/HÄH?o¨…2®ª=Q‹cŒŸð;¿]ž¯Ø(G?îºRñ@h¿³é}X«­q?w¿€L7™®=_â©d-©W¿ˆM¦xö*Q¿Í€Rn? ÁºhBI¿re-€÷2“½q¨+ÇÔs?£ó] Ÿ»¿óã‰àœ?Ý4»v鬌¿qmõcuä=Œ°Ï¢? ³æˆEe—?§õ|iç¿®p_<}³?ZE§ EÎ=¾úΡ±ú¤¿†"Ÿ š‘?Î|±þÐù£¿¬ï%uѸ?XÁ}Í =˜î@aö¶?>!ŽÑ1q¿?Gr8 ? ã÷}?Óˆ Ÿ¶ =íí Ú× ‘¿“†ëãQ¿Îñ|¨Nq?6…'Dˆ's?£èž_­`Ľåɶ|l’d¿[©ÉBpŒ@?ðŠY+tb¿âjÁþ9à>öænÛZ R½÷¨Ä@ua?¡8‰|I?®š!¨Æ=¿ºûÉOáKô¾[,¼Ë1f|½ÊXÓh I?ÉEh… } ¿¤tc8kÄ)?!£_ ì*?ʼM£Î [½Ú­P¬Äò¾3 ƒP²`¾ïà?Þn·„>É-L¥§®{>d÷gU€¾M–ĈÀß¼Œ?uÎȦ>¸aÆÄe¥>Ñ ÞǑ˾¶ËÇ¥EªÏ>D‘s½"=Ö½‡èû™¿¾2%wÒãPҾ塣ë,y÷>|I¦ìK˾Púñ_ºÒ5=·ÜâÏhý>9ª×ÿ—í?F“’±‘%¿i ã32'?ºâFi=°~ôíF˜¿fJša0¿â’S‰T?Å Ó±¯5¿y;ü_ãÃ=µâUè;ÙU?é¦\ýœÙT?eð½‡Òm¿JDÌØê?m¿ëÑ Ù=@œÚz–q¿zúmÉd•@ §­Ñ¿Áè .B*]?#;Ó]¤íÒ½þgã“„y?²³WrnðT?ÙKèñ ¤j¿­ÌÍEü@w¿§Xžu/Ã=Ç)â}.»s?%Ja6P$0¿]FâNaæS?ú3¸ê³%K?ă«5b¡=m…Ý”²H¿5åHò>>Ò0Êbd¾ëž õ.ë->Òç7IÑ•à<@8DÖ±š†>,°&¬­ n¾Ú†êr6å”>ËI Þ‡º«>ä¿°¹h½‰²l†ÌE³  Á¾”$ŸŒÊ ½>$O’„U&½qV9ÔPÔ>ùÓdŽqľ»í¹Ö”ì>ÊšjðÑ?ʉÆÉsqk½H§ÂÝúÞ˜¾€¥™d¼™ó>ÔŠuÁ[¿·ÖÿÕªs?7ÔÞÔý/º½Zº„µÅ§%?¯‚x:q%¿dBVbN|M?2…N;Ô;c?»³›Ò#ͽPj€j2ZY?ÐÁ¦ÊÄc¿q ßt­©u?ÔVéÐgª¿!/ßý÷Èà½Ðïàøkª?™º@¶ \`¿£OV|?[ærP¡ š?«Òª­¹Ó=ÞÞç|?/”¿¥xbX©}¿õZíEþÌ8?F-NÚÙG?ÓN >­u«=Â’_›1G¿ )lbݼ¾&™|\Òdï>©)ñ/Å?ÿÎy âZ=B£ÿé@ü>Ô5ÐRù>HcZ Âè ¿ "Ó¶Ÿ0¿Mà V)^=‚EÉD &$?“{vªÐog¾¹ˆ)¥Ðog¾Ð¨-Ê£m¾ªê½0Ê£m¾Tõe´‘>„ 6Aa>Ú'a>[ÿÑRÔ»¾Ø©uør>,K€iør>±®{Gùƒç>S£ 3R¤¾ÎÂtÓR¤¾ b^Ÿ¿N7 &Ó>slb¬ &Ó>ï×vâÔý:?§ÑH‹µ§!?¯Ï®µ§!?Êl·|\«‚¿ñÃXN°.g?pwYü¯.g?©Ë1·µ¿E×úÄ“?Ï>Å“?Ö}Âb˜q¿@CñÃõ%¿WyÝÂõ%¿x×ý!É©?ýÇî³xì¾¶®¢f³xì¾êb)?³?ÈÔ¤a÷‡>uLûeg¹ª¾»×Ñ Öω>°œ/ò•†¼¼µÆ»@¤Ðº¾3³Ä³`“¾Œ™,³>Iš¹2ﺾ*é&3´­<ù…Üž@¶>{¸÷Sö)·¾T~gy‹Ù>k6S°t*ã¾=^1èc¡=¡<5( ÀÈ>ŒµF6Å>ËšYÖ‡]?½ oT< Xê¾ðëñkGsã>cÿ¨¹ý¿ `Ÿª.˾`ôHµ­W=kÀÇÏC¿yÎÎñ¾T@3oµ?lñƒ¸Ï¿L¿¹ÔüGX½{9Žü’?öíÀRup¿ ½ñz¡1?ÏÙçŒI:¿\š»ff=›õæ?O'{AÅ?Ížˆì²é?¿÷ÁSÖ?ã¢Ú%Z•½(8ÑCòÞB¿ñÓU»;?‘ƒZgú\¿¼í.h31¿ã*‚#ƨ=‚_¦Of¿µPZKM¿tŸ¯è Úm?Yá,ñUo¿"¨÷|ßÔн'lyC3áb?Q+»‘m¿¥½?ÝIÄ?”^nË}––¿ß6'cÓ½9ªVÅ?ÚŠJ.2Ðr?ûL¦«0¿‡éäÖûét?7o–ß3º=¿ ìë–b–¿6ni㦡?·Mê òw¿¿oTwÓu°?ƒ2ø`ý<¾Ê)PUžÆ¿_˜G$ï°¿'s~èÏž?4ê†òÅ¿Y/u¶ûï½O¸îdµ?ÜZrÖ™X©¿ò¿`B«?.´}9ÆE§¿¶±¾^, š½Ûœð–΋п­e÷’?!¤i%Œà­¿ßv.¼ û²¿Ô¦Õ xî½zñæ“é³? HÄHÿšu?\aQB”¿ÈAu–¿8 ƒú>™ê=¥£RèH‹?H.á0t e¿«3H´‡?žãŸ·W÷5?‰o© ‹½ÃeúWü…¿¸GœsGA¿Zo3îa?¸[YR1$?@Y1^©¤=R?JKðo¿ßÍíñ]0?7?Y'™O¿Œ,²ŽP¿mpéRÞV}=Ô ¢t/?ƒÒßÚód‡>2a|°‡ý¬¾z×ú$kd¢¾^@ÂAΪ­<Ì-?,›aÂ> ÒDqøœ>)1j¾¼v¥{öy¦>ëál®·=éÕ†ËO,;Ê2÷qºË¾Å’ÓYª¬ñ>iDhÍ®ô¾?bÆv\aJ½‹Z6°å>ÜŒ¾|V÷>äs5®¶¿ê&zèE*ó>wô‡³Ž_½à1wµF#¿œ’òƒ•r%¿þ[¤S`K?$aÊ¡ÓM¿Uô!-Y’’½vü‰ƒw@?Ü?˜´ ¼S?ÆÙ3Ê`èx¿©ôÎ4E…_?Dw{ ê½Û=t:vU{¿-Û%\j¿ŠFd‚Ef?¦TWോ³¿pc¾^Úû¡S]? §­Ñ¿pŠÆøó?Êe`U¿™¶àÔÆ—ö=ß,&Dˆ¿q¾øÍø n¿w&¶”¤g?j?Î÷œ?¯BgªRúé½Ê4ÑL%¿œ ‡ú‘T?-Aøº@y¿00ìùrsq¿}xÌ·ÐŽù”€Œp?(m†ÒÅ~c¾Ó= QŠ>Zò‡­Ç½|ÎWm¢ï½Þ(ÈA设.·kp§“>³þ—ù*»¾ó›& —Ò¾[©wC=I¨í¥Ô >\§þ¦qsÀ¾äÕ>&ÓÈæ>“î÷„Læá¾‰ΨöçO=ëãlUiû¾5ç6©ê>4"¯ã”¿ìs\ÇÅ'¿¦‰}üè’=¦iÐ)¸æ>NƒM®Eó¿*#Ó¤_‹??J06¹ç9¿§f°¥á=]&ÞynÒK¿‡«`J?yH¾â…q¿ù °‰¿|ìEšwô=’Í'׈€¿j¨uãúex?ðk9{J?ôy?)Ñ?9æàÕ:x>ÿ$^ß÷ Ô¿/[?Œ2€?ò̴홿¢Øö¦À¿]QA ÷½ï]8$´•½?šlæ@?Üú[{óc¿q‘b7Ýp¿C@Þ€±ÞѽXk°¨t?7XZE?ã>Á3_!|¿%޲8¿80³•¶€½â‹ÿø$Í!¿Hã÷÷Ñl¿ÓÊÒD?â`•s5?ú(ü§kƒ½»`wílbI¿r\]Âgb>Œ,½gb>YϪ`]”>"Û©`]”>«Ã%JŸ–¶¾¢Æ½d¾yZHÖ½d¾¢Êi]câ>«AäS¬|¾}|«¥]¬|¾½² Ü¿5)1ªr˜°>:}žo˜°>Êðˆl,,8?]U~”ä÷Ò¾fOì÷Ò¾FžóóçÀ`¿×å}³P¿KS¬–}³P¿0iôÖ³§?ú‰Ä”Î}¿þžï“Î}¿8K?gþÉ?a@É‚¯´¿VÝÉ‚¯´¿Î¥YÑ/—?îˆè@ލP?:tïލP?L¹ëSÈ=¿ç掣z9 ?ÁCaóy9 ?ÛùŸå?!@¿½Ù´2>ç}>Ìô8…´ ¾»Á‰)²ªz>¨>F_n·¼”ÌöÙ°¾K” ܸˆ¾÷Nã¤?©>J²1âð°¾ß^›i[Ë<(lçéáè©>Ùݨ£'Ú¬¾½ HevgÏ>TÐÏ©g›×¾ä÷ô†Öÿ<<+Éo½>ýRmN‰–º>7A]¡òZܾ4ƒ8ÐW «>Føp–9É2½‹ßÊ”`xà¾OiÍn­`Ø>¯á¹ZÔ•ú¾HðÊ Ξ†¿Œ¥%K=ç¶Œ'¿Šƒïî¬æ¾™fQsv2?b &`G ¿—]…täK½£ƒ½8÷>Ï™xÝvοÀA“8`ž&? N9 P0¿dü“ò£V=Éÿ®Î?^@ÎX•?õnÈæ*¹4¿' ïÿ«?ܯ«ó|Gнž.É|âÎ7¿_\ãäÏ1?%ëì+S¿'$¸¿€õ)èš=c’Öí\¿Á|š~ßhC¿`W¯1Zd?4Π©èd¿«'i­[Sǽ»A“knV? 0¬¾Ý[a¿ÁT”U½x‚?-ánÜüLŒ¿ëBLƒÏ½ãßcOq?¡Ž¢¥‘o?ϰ”ü[ôŒ¿Aâ&™öíV?“M÷Ç.Ç=8¯®È—>“¿Å¢GÀÎÕ? …I,¼­¿‘sZ®àõ“?dïx©¢„ó½Ï³…zº¼¿¾Bžt£¼¿Úˆ-½\åÐ?RB Ô¿Œ8?®¥æ½g—Éù×MÆ?ޤׇŽÄj?–ÅÏ çꊿ®r ?<¸{­QÛ=^gí5ä5?>-&¿‘ÐàÙ¨?½wM®?ÇU}Ïú½Uh ú@¡™¿µ(¹&]^¿4vL²¬q?9ªÍ°Ökl?ùéíô¾½‡tæmj[L¿Ýx`a|K? —oV ¬r¿ÐßQhdÒH?ä¢ò³½Ë&”¬LŠi?>eÏw\?DZP‚óA¿ä½WöÈ!?Àb9Nf:€=¹ÞwÎàN?ÆÆäÖù¿­.aòF#??ÔO­Ø>#?(çψ[4=Û¶bò:i?€7ÙÛk¹x>ë¤2u¼ž¾6ÜV¢J–¾5$ÔÎÛС<»Š'Ê·›´>¼ÚcP‰â’>Ÿ¡ÖóCA¸¾×¸êñ4Ò˜>Ê•ˆÞ)³÷<¬øÝ[»öÁ¾ñjÄ;ÚÁ¾ï¬íš#ç>äüª¶÷龺;Ú{³Ê;½4e½ó7Ù>.l4ë§î>ÜfQjÌ¿ïüR*™Mä>éÏ“¥îÎN½½¤ê$;¿’ï³ÐпѼ-¤6ÒA?°ßq|QC¿]T?ÐúÓ€½šíÀL 3?8b83K?«VÚc€q¿ïš1kŠS? x¹“Zܽµl¤ò³q¿ÀŽþ ’e¿Zç3›vìu?œ¨9Eåe¦¿´ÛÏæ=…‰a–:6†?Áè .B*]?Êe`U¿ÓeÓ>¢é?Uûµ¥ å=Ù`I½"ûq?-{r+S¿\C<…?»ìtIÝKp?Ö•dtLÒÓ=UC•1x¿9‚º`j6¿@ÌH˜öG`?ƒc¡ÖhzS?óI¶¯æ4¨=j¶zS 3¿(_C#øX¾\Ò¯aé>øã_ÃMÛ]¾¢¡¯û¼NCÜ“g¡¾«>åň>ªl"ÚC±¾œ)XN.ƾ[ïFäÈ 5=£¶Qû ‚>Ò2][Æ´¾ «3ƒÂ9Ý>ßìžÊnÙ¾h‚bl1?=у ø›Äï¾ôK=–/á>«IçI=S¿ú#7yîm¿V÷lÝ÷’„=F®ü.‘ܾnYÊ=¿R?¢®]y4?îÇŠçë?)¿fT~0Õ=zÌtóxB¿ ¹0„àJ?ü.À.^Ûq¿ŠœJU!™t¿=ž=Š\Ð=œL•Ìbv¿S(Dú?°ÝÖB<©¬¿I~ž\±Ê?‘—mútsî=ÿ DQŸ|ÿŠ|‰½K‰¿‹@nú.«?ÚêBQ̱?çÑÄ_h×=$95(¡¶¿y9G¿«1¿Òƒ=ẅT?@ù2Jö±Z?_|[±Ij³=ÃB>+×~m¿MWƒ2Õ-龨ï„Ië?Ú¿¬+h'?4_qcp½2Înü·­>l úf™mü>Š×¶réy$¿0Å–*ùý¾l‹·T®`½èÜZ`Ó%??$T²g>ê§M²g>P6½³ï¦†>Z¨1³ï¦†>îe¡hth«¾+Q”×¢2\>Æ?U[ 2\>Z{Ž;=yÖ>ò5zè¢í¾ÄÌRo¤í¾±÷+•Úé¿uë]b Í> ™|C Í>0ÃwÛ¢/?Öó*BŸõü¾Zkĉ õü¾*Òy†µU¿šÞ-$‘¢0¿’7"c‘¢0¿ÃåK­íy¥?„pe|¡Çî¾t³µ~çÆî¾ ¢EòDß¿“;ÂÓ{›¿^YÄÓ{›¿¬@ ¹Ð¿1UµLD?h±ïQµLD?»ôQ0„?Œ°9M¿êþM¿Šƒj /‘?6ºh5Ûýå¼èEƒåž=TzÊ T ê¼ ò¸ÏɹÛ=amX×µ =PµX*ëàð<ª‘‡ÿ[æ½q `׿H=Þ6ˆÃ!¾«…J:e齎Ø+éÜ>=s·4ôò6½ÜmIç ŸA=Mk(©”5>tx¯!'½|¾°6ô/#½„lç´/D=•äܾ³½DCÀÈL[c¾H÷)&›øG=é”y ñA½öxÒmc=D]hÉN'=JøÖß°‚>µíMÝ’Úm=è€j×ϤP=µ…=ü—q½\êürú„r=FëP¯ó„¾™`èµ@b½ø€KòHóm=œ”©Ü*8½ ¡æ—=7˜5ÙW¯Å>ž À |½;\Šnª§}½KÌGO„Ÿ=Œ[±?éIr½ŽD÷O©ð>3ÛãMØ%¢=•¸I$nªž½PÊ-ÊÂÀ=BñØËlf½6¹rY¥ð>,ÃRiÞÉ=:§XižQ¬=2¢kè¼Wν$Ÿ¤Ô×qÍ=gõ $&%I?.â¿gõ·½p£ÕØÈ=æÍï½Ò–ûÉ€ñ=«ñl>U¿*å1‹ÙѽɰµT€È½Ø¼‘è=<ã ÿÒ—=®“ZŸÞm—?Ì"ë¨ôï=NQÓ¢Íþ=ŒMOP>åýÎëU>ÆÇm»›^µ¿#&OÃ佯~ì&í=…¾ñ ¾!C²DÑ=4› ÿ6×?ïÑòý"ñ >û Be.ÅÄ=o^9cÈí½_WåÙÏnô=Ô-É¿8­?÷L=@ë=Ç’)â ÏØ=‚&_:Jêý=ÍP;в½Å´t£¿$½¯¹ò Ï=ZoÂ4%¢½ò°ü¶˜A½=ˆÝÉ‹JúÒ=Ñ¡ðŒZpq?ÕxHÓ³½.[Ó+Ÿ=±•úNÊéÀ½lè¶£öi¦=ÿ€â{j|8¿ÞÕ‰SwÃ=>ÒŠ÷xZ€=ôÄ 5É¡½ø£ü)·gc=‹8&sp¿?×a†e§=ZØø’rr½Ýù£Bˇ“=iûE8æj=áe7½klé>Ú´½£i7,½öC¦è¼J¤Î'Ÿ“ =Æil4½0=ê.¼Õc´Á=𥢊Fñ!½:øY•g¹ù¼#³ 4O =Ê­¿{½)(†¾Hv¾ å:ÊOµ*=4Û&ƒoâ(=¦ìÙ¡×ÛO½ÒuÀžÃ S= Å6 ÁÉg¾Fð”Áu'C½”qNš7áÓ)e€?U¿7] ¾#;Ó]¤íÒ½™¶àÔÆ—ö=Uûµ¥ å=Ë2ÀV¾ù?ÿM ¼Ô©ê½«qqÇjÛÎ=³îIoQI÷½;­¦­JÒ½9þΕ}Ï€?……Å•!’ô=² bvÙŽ½SL눘ͳ=j&:×9h°=²ãžÙÞ3¿ŸöŬz7§½)r“©ùÀ<>ªÚä‘Îæ¼ÏÙœ~­Ã¼°{N5ÜÓ>;l½è)Ó=;AÒ…–ò¼Õ*¾,æ=B­îÀªŸ1=P²×äÕ‰d>–Z“A½“;ʦD=ê0qélD½ü[óÝm9=B„vãá«>>ót€cZ=~ÒÜ€M½c×µ‰LGs=Àdöƒ=û±Ž÷¼å>3—;ÃTaS="J`js=tf/#¦kœ½a²º±…'•=¨Î•š6¿0²`ÂMµ=(˜9a†1°½êCEÓÖ=0úc¥oà=;)CK?Ÿ‡¿‘P¬äÞá=ô°JÚ—½áK~žœž=›¸Åá[ˆô=NKÁÙŽ›â¿5uqE¾lnDØ“º=† XÌè‘ã½Òÿ)®dê½Úü|z?ú(³·_æ½[º„×€…=ô6ÉUÉ­½•“²O!üž=ôÝI>”6¿á§1“æï§=^aülÝ! =µ©V‹”(½¦U·q.Úk=ñV Ìô¾"+w¬ñfV=˜\ü­Ý_=’Fû·³Y…½]‘¸ëÿño½^KSUÕõ¾$«ìÉ;‡=d·£¼žaü=ž»Úï¿aü½íÜ›»€»½l€6ú9~»=žÆ1håÔ= ÐÙEÞ;>³REÞ;¾qßáBSA½¡ØÏègq+>³_™gq+¾`ý½Ïj=¬‡'òŠ­Ï¾Æú!ðŠ­Ï>ÁQôžÜ²œ½=“xØt$¿N{Øt$?à\Kjßv®=»VÔÀp¿âªXÔÀp?… C0`ñó= ’æ@ί¿pÕPÏ@ί?×Ú›¾!à=óCÑj>åÈ¿u¹¬j>åÈ?“¢èÚØ=˜w5–Œ d¿ŠÕô›Œ d?¼0œ™“=d éôã>ð˜üôã¾w‡DXyŒ|=褶²{*w¾™‹=Oõ™>d4½B.'f¾Ñ²+D†³<ƒz<2x¦>7‘¬#JÉ„>{&òWìô¥¾¼Oò¨ÓǪ>&ŸÜÀ™Ü¼+9à ¾ˆrƒã[¦>÷›Ùàd¿È¾)ôHqÉÑ>X/aÑê¼s·UÈ}e³¾>ciÅÈHµ¾ƒè”0I×>5TVšx”¾c¹bO+=ñ¡¢›dêÙ>=+<îhÓ¾Y/v'7õ>Ž¿à kÉ>æ€ó¬—A½B€Ó/gÅþ>µ™ÙW™â>ßB»–¤x¿ù—²…Ô?¶Zy5¶¿==u½xð¾–(®ñ„?ù/íö>#¿‚ÊJ á)?`Ä‚ 69½˜!íšB⿦.(Ï?ö¿8ªЂ¸2?vjΉ_?ܾ~H Ê!ã‚=½¼ê¥'4?Çðƒ+Ú+/¿œžýxYQ?HœO³¡À$?âQ‡º‘½3æØ£RW?£]Ô|Á@?=’ç1c‘b¿xô)mk\b?ƒ;©„/‡Ä=ám’+…M¿±%“p[ b?AšD„¿gÎÌΉ?äˆ)ƒ¡Í= C£ì rj¿êrö$wn¿§&ÞÒ>:?²7[L?øœy#dس½²›.êø‘?bSö¤è´¿9¥µñ™½? b?™Æ“¿öBè-S<¼½úâ}Ó˜½?Sól¨™¯?äm8(KÁ¿5yÕÊ?ØO»2wú=‘°‰ä^S°¿ƒãÊ»¹¿6'Œ$\bÏ?¿«ÐÎt9p¿ÄZ¼ˆ± ʽ\€íüà¿DO0Z±j’?j®U²¿'È1×·¦¿¾b'<Ïï=õÒŠiü?£Ú¤%w?Síi+ú—¿ôe Áÿ¡¿½|Ž{í=‹üGvò‰?¥•Ô7~b¿’EzãX„?.æág(S¿úã(Mì­=I²Ú6›„¿³P[À“G¿åT šÌ•i?Hg¦\T¿ýš~?~¢=uEšùñq¿¥!¢ 7? «°NX¿ŠÊJÖ‹V¿³^µÂÍ>“=×÷`® ?¾ÿíÖŠTf¾°ésL2Œ>•wŸ¦{>I²æ±¼þ¦›ìw˜§¾±4'ã)¾Ë²À´’&µ>ô¾ÚJÇ‹¾ÌW¡•?ö¼’Ò¶Åf»>ù’³ÂV¾>“:<$f 侈·Ž‡Œä>ΕÈ>kô(=UQ>-]îѾgôN ÿê¾@hîHÚ?“Ó1Îzо7z•m/=n"ê7°f?È;`ÊV6?ó jniA¿9Ó\|@?öA0Þ†P=P³QiK,¿ =Sr:âI¿àZ†H¹Yq?þôÀòõ3¿ê©fÌD`Ï=ÖàîUEp?¸âò‚}¦|?¡¶3r ¿ÙúªÕ{©?jÛ\”%ѽg×käׇ¿þgã“„y?ß,&Dˆ¿Ù`I½"ûq?ÿM ¼Ô©ê½ ¢tãxè?%ÙEK‹«¿{Ñ„†+Û³?/Vœ¬´ ?²È‘™Añ½Ò8G‹H®¿t™v`FV?¡>õqG|¿—vç×UKq¿LÏ™Õɽ_…hÂàn?[ãfjætT>¼*-UÓ|¾û‹åÅÓÙr>ñþÝãù<Î0êQKD”>XTñÛVkƒ¾È6žïó ¬>@Ë(·À½>‰)òPTÐ(½&¯ø&¬Ž>ÅÖ¹ΰ>/‡Ý¿ؾƒfyÜÉÚ>‰’·˜³1½ö¨öºä>çø‡Ü¾ËÙ®szø?iÂ]¸¼?8§ß•H–t½ÚÁÈBïó>‚0¿?,²?MfWûe5¿{¤\Ç´|å>οq…±ãÀ3¿ÝªCQë7‘½š=CFgH&¿éßÏwù:%¿\“*gM?7[+³`5?¸Z¹TÁ޽½=éÜ%P¿i©~l®0p¾›€‹e®0p¾ýf0T 6y¾0ycS 6y¾}“ÇÏ£>.^'ü|¾wÝìê&ü|¾ìÂya³Ð¾L/'e˰>g`Yce˰>«D¥ñåü>Ø“@‰‰á¾™BR‰‰á¾´ß¢h æ&¿2V±¾X3?MñõþX3?év£†¸¸T?G«j¤Î2¿r´/¤Î2¿Ð"—âj”¿W2?;`Pã1?›ñLÛϿٞQØÊTµ¿•k`ØÊTµ¿û‡Ò±V¿Û{Ô †O?d;}€ †O?¶#((0M¿Ê „³Ï?faäHÏ?Ná¿/µE¿í*ÄGª6>+ë,ÓlY¾^ð`oI8>S9¯ôÉk¼ƒ$M@ž›i¾úú£™êÌA¾XÞ†kúa>F ƒai¾•^¤‹Ñ¼-+°÷÷òd>£·“O…Õe¾C.#ŠÎµ‡>árÍ…A’¾ïÏô2»<ô4Ú²Øv>qâýb0²s>¼I“(锾(­`3ü#f>³NüOí¼]#3¾(Pù!h’>oVò¶³¾õ"Ø^Ë¢~¾. †4æh=ÿE†V6¾¾]¶p} ¾¡ŸB~ŠÁ>ž¼I2öf¾v_.cû6½”îî½TX±>)œ}I‘¾¾cÚ€+#Ià>?œ7´Óäç¾T­ý>’"=(g8@Ë>ä§h ­Ë>ô:Òõ!Mí¾è†ò‚@¼>”éºõCB½Ö1 —qòð¾¸Nr¨I}é>šçy’Á ¿”sòìÂTѾPbí€Ý)V=Ì=~ ¦Ý¿öж>¼ø¾~ÆîØD3?flòŒrˆ¿'XƒÕCÖv½cóÀ6¸ ?¬Ú™OÖä¿k&þ%7?9°†s¨@¿ >tqûႽ­ãc9Q¯$?š%Ñ'?Ü»î ¨èG¿`§ •Ì#?u ‰Ìï…=1ñ%:ñL¿æÙ9G?ëÀà :Oh¿Q{UÕ׿ ÚQv <»½n±Ûž!³r¿¸œŠ%ð6Q¿éñgqbn?%$£:¯q¿p‰¤B⭽蓪›çUc?,ïOŽÈÇ¿ŒÚ —éœ?ô”ÇùÚ½ž¿ò!Ivëgº=ô0“£!š?wD¢n×e—?ÓE òzÁ§¿/ƒ,{w4‹?;ë ˃¾ºÈÀÁ㵿e¡h¤‘?µ1õ|ÿ£¿¥ $Dpwµ¿Æhì"2ù=j:ùüü”?9¦@`P8q¿£ª—i¹?4Êh‹Ë.…?þ"Óùe‘½ö_sÅ”¿k§¬Ï]]R¿Öº|ÿíq?ûe׈þ_B?z¼$zf|=:FZIAêt¿ÓËtÃÊÏA?¶:?‡­b¿"äì ÚÙ`¿zͶ 8™=–,óÕ"C?/¿hM%"7>¯Ü•\¾ ÿÅÝà€Q¾þ‰5¸+Ž‚M¹ˆK>Kî Vq¾¼E*ô5tT>°աȃ­<Úê’ØH€{¾~×¶³y¾&9çÚ蘠>#räºn£¾ÿ:=ä ù¼¿G/=à “>e°@KÈ¥>x55 ̾’íãH( >]ÓdŸ½Ëtº?‹“ѾÜD´!°lÒ¾Ã>áo@÷>,(+|Õú¾ƒfˆþÛ[C½SÑÊÉÚ1ê>‹fg‘&ú?}Áå;ßž%¿òæbŸ5 ÿ>.Ë“]Ì‹—½ó ñv*¿m–¿S$0¿Š_÷탎T?9µ~ßR¿ì,Þ¿1›½ÖùRÎòH?²³WrnðT?q¾øÍø n¿-{r+S¿«qqÇjÛÎ=%ÙEK‹«¿IžßX•@ «Ñ¿ê7Ƕye{¿«ãǡܴ½÷^SÃe™B? ú]ÛU?кÈT k¿Àµ8¡Rf¿,Ñ®†áEÕ½‹/ÔÀÌ{?…±ÈH¾žy}gdÕ8>>ÀiüæÅó=Tq.jë2¦¼?C7Þ*^¾?<÷žB> ) «Üi¾h&­¿ž,<ÚUÑó<^¹È:8PP>«äÁGûbn¾¼˜NZC•>Æ¥Ä~ ª¾| Ôàà‘=UüÆ—õ©¾O?]ìim™>3Læë¿Á¾z±¦>“Õ¾ „÷ýO«B=ï#zäÚm¾4TZû9‡Ä¾µš?V¯ì>Q¬£¢ç¾Ó%Axõ=iQ[«ó¿¢ÖdÖ"«ó>÷>ŽÍo¿ŒS Y(¿¥O¯Ê£”=î‡å*RXú¾÷5:d\%¿4²?YM? ùÊÀlXb¿¸#w¨²=Ž”ì\¿<ÔÁc¿¤DÔÙ£u?þuh0¹# ¿©ÏÔ$†¾OúŠ9…á°?覸wY`¿®8 þ÷£|?Äî³ìòT„?x:Â[*äÞ½ T«OŸ¿'Ø1þ9¿Xׂ3¦7?E±º-{õ/?Ê¢wTUyp½û@°X¥?¿XlÃ:À)¿Í”ÅûöP?7\V* @?dÖâ â,нí÷¥•üR¿åËÌÇ—ä?>®±¼»—ä?>q˜þÀòC>ì¹@ÅòC> }ʪ”pe¾ Y £¾6´L£¾½¤–²´^‘>$lÉ¥²F¾„aìµF¾XrO2ð»¾ñ{› ªJv>óJÕ‚¨Jv>ÒÙFh£ç>L6c‡× ¤¾ Z‚ÚØ ¤¾ÉkÄP긿nú‹¤Ò>`™¤Ò>59—îè,;?Áìçú!?³©ï¢ú!?ðÈO‹³ ‚¿Ý{,q9g?O!×N9g?œ.†m¤¼µ¿ö§ ûô’?é0aûô’?ºBò/*Çq¿<iN&¿MÌŸN&¿`„/'LK¿8×éÐÞ]¾@w¢‚9À€>´4v¾ a¾oVÒ Ji<-ÂJ‚%‘>³±@ûåg>ÿ–:;]+‡¾0ß,„ª>-£·G™›”<ôA7NŒ¾ë-eã”ÉŒ>æ#°&.¯¾QH¼]ý·>qÜ,Š€ä¼FàEÞ¾^ÕH’Ó™¾MËÛ]«M»>AtÀkîR¾^9UÝÖ¢=²Á4Œ: À>/ bÁÊ·¾ÝäÒ=ÜÎÙ>‰Òâr •¢>†Àš¼3ÿ,½žX)õã>søóË«‰Å>É(WÊæ¾JU «è>OG àMs.=ÆðgvÆ<×¾S¾j9Ûã>’NB»ª1¿DÈÜÙc?·Ec‡q?½3–o÷Uò¾ ³ì~‹óñ¾ Qª‰ß?¨ªY(Lˆä¾÷£n†@»g=G„Âi?OÛR®~Š¿ÇÇ"i¼1?ä¥l àò> â ä‚~½Çÿ¡Â°T;?›0Ýò?45—¼ @¿u<Ÿæ A?ÏÙ뙓›=6Z¼r1¿LiËDná;?n9Ͷw]¿ñ¥S°^e?¡ñCR„¨='è=|¿¤K¿†¤^gM¿°×i•ïm?¸s’Ú¡M¿E§ê#´½eÄôþq?µèFá m¿ªÙ{PÞ?æÕ0^SÕ?F\îôÔíã=†ws! ˜?>ÇýšCär?îøÏ¸HN¿[Õ1Æžk“?û¬aeèQ¼=[‘ÃÉ·‰¿ˆài °¡?Û:3ˆ¿¿Î8v¸®ŸÂ?9ÛΛ’èÕ½òMúj³¾¿"ÑJð°¿Š{(Þ?OЩ‰j•¿dÆÊARp:>¸½aÆvDÈ?~ëÆÀÄY©¿Ôšv$‘J«?'ÎÏPO…Ð?Ç…,ù²t&¾Ãâéx"¦¿]ãu…èú’? amoï­¿GÈJ㕨¿g7=5à=O…pÁe¸?Î?Â݃+v?¦T„ŸË•¿vˆúHip¿@Ìêøº½H_÷¶â˜?¼"³|f¿|ã_5‡?%MDî„?ywä(´À½ål:k¿]pºUæ&`¾œžULðƒ>”9(èãTw>/ »çm¼u#¾\~†˜¾¬6=ÊŠq¾í°Ñÿ˜X–>‹†|¾Ýš#á×êм>UåG5¢>ÿ:±ƒ›ª >¤‹Ð%´ržâ¬ˆk‰É>à47{!=ÖmdŽºh¹¾ÞÇÏ̾•Lò>C ±T[žÆ¾©sQUÀ7=Je°^S ÷>ÿÍCÍ÷>ú}HæŸàLv!?Hìu-Êl='ÌØ›°l¿i¸nAÓˆ%¿‰Ž~ Ø/K?ÜH_óýv&¿¹‘ƒX,À=iêù…äP?²4k­ÅÉS?‚á„ú£óx¿’É6iGw?D¿[àÀ=ݾ•©p¿ÙKèñ ¤j¿w&¶”¤g?\C<…?³îIoQI÷½{Ñ„†+Û³? «Ñ¿à`žõó?n ~5†6‘?ÿ;.¸<@>$â9…Àöt¿ëvµ“éDn¿—æ¤é& i?¢-yÆ÷w?Öu9ùÑ þ=ˆv›£»Ÿ¿¬58ïxÖ7>À|!Cg`¾]XN\2¾FïÕí±Í<ÿ‚æà~¥„>ê@ýKfh¾Õ" ogì>L)@²ç§>7äè™ 5½ýGe²R9z¾ÿ{ä“>l~[ªâ¬»¾Ìó*bôr³>´pón#Q)½qiX¾TŒÑ>î"6…Ù’À¾ÏW-nùæ>ãË&ĦØü>Ø Ø`Þi½ ÝþåG ¾_5¨Ô3<ê><”o®[.¿hFjô„ ?ì iü'´½4ñ±Þ˜'?™ð« í¿‚v}(¯??ÀÅXˆrØN?Mé”&¹½}H …Â?«vÉì£ëI?4Ô:Cnq¿€|“|–)ˆ?ùK·†ð·=U™3õçÛ‚?•ƒÖÿ{Yx?܇ì&£YL?޳S.HhÊ?WXˆÿU3>œÛ %ËèÖ¿½&õ'‡*€?r+‡5왿¦>D°¿ÕÌ„©º¼>ùÛazWrÄ?Ü“»Žü@?¾¨ ób¿8ñƒïîîa¿SÛÄÇóù’=^_¡(¿ti?êqi2?P?ÖUÓ–Su¿ðæd¯ôÚd¿LDdÅ(â³=Ù쫉Éx?™ŠéUà9f¾$õ6Mà9f¾‹÷5Gjk¾ 988Gjk¾’H`z‘Œ>8m*?>ˆ÷é”o*?>–bõ·¾îÌ÷¦öV>ÀWq­öV>µóa-yâ>£Ôí4* ‡¾üi%& ‡¾ß™<I¿¢^al¯>ª/ùl¯>´9HU8?3„¤>]ʾfs5:]ʾaòl|ç`¿akHîP¿~&ŸªîP¿?w$œ§?Ù„Ý#«}¿t9QÁ"«}¿ªëã6‘É?Q½†µ–—´¿£Àm¦–—´¿™ârr–q—?ßVXwDåP?çsxžDåP?’d-hq?UA]‘;¾©Öê•Âô^>pÁ¼÷¾¬%o>,µ<¦èx®ˆÖh>È>¼ÝìI>uˆÏ•îk¾ZÏ%¨p>çëï›yU±¼Ôagœma¾m7Ç“.Xj>ûNe€¾¢ž£9§”>Âp:hÚ¦¼±Äc9eWt¾3‚z¹Yy¾-Íx &0œ>Ô+Ulöh8¾@­5%Eî<ÆÈþ€Už>x[Š·ZÆ–¾–÷ðÄ7°¹>@2fr%’>­BIŽŒû |*°Á>‚ƒ…¯¦>±¶Ú­ÉȾè}²FŠÙÈ>²JæV=®ãî.iû°¾ï7êqGßÃ>mîg‰æ¾Ù­°ï¾î>‹ýxü·ñ¼ç´ÖȾîÊ/ó€Ó¾aËšƒ7ö>ä…ŠU£¼¥>uŒå£ð¿G=Ð]ôóüö>Žï2¥ýãñ¾ÝXóÃ_?tW¬¶¸'î>D‘žüSrS½¤ÍK—?úC«Ã†?Ôu5] %¿á,ISdž$?WE~ËÕŠ=þ!’¸ M ¿ü|­•#!?r<ÁÎØC¿±‹˜ýî}H?4‚\ >=å*t.æj"¿&¢¡O2¿VÙ?&U?×L-xÏd ?"¬>¬/ƒ=!’üf:U?ð37’€-V¿tFúƒ”y?ãÌÅM²šL?PĸÕ¦=.¨ÅîØ}?ùØ1JŸña?¿Eîtdª„¿÷ƘLÇÕ‚?ôh(ë°ƒÁ=Éô? _¿ò©¾x0è–?»XÛËζ¿ŠqPÃz"°?ôæðÇ–¼=ª¾sâõ~¡¿ƒ%SWc<•¿-/kç£?Eþ>›ñɾ(#Æ?W+³!OV‹¿M7bUI¶ª?ÈjÔ'8…?ϲ0àtâ½ rQ=¹£š¿'[6ȃËs¿Wº*ƒûV”?¦Œ»†_#>¿éHó™ß¡=ÁtŠ YeÄA>‘XÎ a?R> SÑO—<®ÂÆÄ4Ze¾ª[Ö§?T¾} wPýËz>ïäSÑ›ÔG¾|KÙV‚>' ž}ð⨾&mØ ^¨>OQÊÊtyà<øÛ#6: “¾èºxÂw°¾¦¯\y&Ö>ådý.§éƒ¾rÂÄŽ§¼Ù·H/hÖ>Bñ¼S?ÛÝ>ô±ÓÅÄ¿’ÔBʺÊ?¿ØÛ.½C2©öRë¾õôCüWY¿+:rcš4?D·Ô×\é¾ý‰S¢ @=L ©£C22?™®½J=>?YÛ·¹d¿‘ëÚy/b?džBÐÏ£=6’ ›F¿­ÌÍEü@w¿j?Î÷œ?»ìtIÝKp?;­¦­JÒ½/Vœ¬´ ?ê7Ƕye{¿n ~5†6‘?ö¬„—é¢è?Tæ¥(奨=·„[L¯?­´*]Þ/?ª„Êo7»³¿ô³“¬Q¦¿²Å³€_ý½GD?‰Þ¨?Ô alÏW>€¾Ü~+B¾3¤Mú¨@>‰YŒJÈ< 廉÷—R> f³G¾ ¥?5úp>J„€>5E3£ÝÜæ¼.àø¤ß`>¼šÏSMÐs>+pUºy¾FÃ+— k¡>oÊà Dg¡¾,Ê,sd!Ê>ôÚý¨Õ>µ¸‹E4½z`EçÃ>‹Õ8ÈÎ>ÿ)ñÄö¾+¼RTžû>ß$¤/¨½¨ç¶8Ùü>¾]5÷G¿µrXaZE*?P¼k|u+?èô¦p¢ž½ÙÉâÚö 3?á(€ã¤ß+?kPÇh³@V¿J´\^O¸l?¦}M ­Ä=ç!j o?:§J£‘¿‡Šv&ŠÓ³?ü‰6ñ"¦?ËÏd%®Ž>l×ùD¥„¿™3Iu‚?m ÜŒü¥¿Yµõë9Ŷ¿P8¦¾sOàG‘?õ4Ê„­ 1?=Ê |ÉX¿çd_x¿¹>3q©AÕÔÞ^?DàÚ>ŽN¿Üz]5Ët? vàÕ) g? €ïÊL®½ºYÉMÊu¿ dºˆvÿ$¾›mªOvÿ$¾> ZÍÅó5¾cDÒÅó5¾H&Hßszf>¬Ò©ß;J¾® t©;J¾‰’®¦“¾6®Ú\”Ü{>7}›”Ü{>aMfÀ>v¡A «¾YB «¾=׬šõqì¾L¿)tç-Ü>‹û‡Çç-Ü>ë„Æ^Y?ŒÍs”O ¿,·Þ“O ¿"`K H¿ãà>7?†¢ñ’=7?üOá.s?q]QŽ(P¿Ð¼€(P¿ÙØ ÿ}qÙ?.P³JU¶?ü³‰BU¶?ŸµLßl{?÷Äk—àöP¿Á"­àöP¿ÅWò½·/o¿ Oû÷W±<'¼õ+éƒÔ¼°K_¹<þµ@bÅ€½ÞPÊ'øT輚]Bߪ÷·¼ XëÀ(E×<‘ý`%;"ä¼–8eå…TÕ½鸟®ää< ÏxOv⼋äErÇâ=às¢“\½-‚hHÜ=f.¾Àñ õ<Um¿ Êï<˜&;½ª¾ç<ÎÄH"¾×®~ø½7ÄT¡“Ë =Ÿ‚8ñ 0½QÝîÌ ò¼#û±©Àg5>)õ’9½‡÷fĽÓ^ÙÐð:=®f8í;±<½ *Â:3c¾= AHT-=°øT´â7½­f¼¾£Y=Eží¿øWc½["›dâ­‚>#F)·G=8tU†%E=ç“&\~÷e½§÷ÒÃ>=X¾[œ_ƒ¾Æ o’Lj½ÎWäÄc}b=•Xdꮃ½@se*ºQ½ªÌ|Q–€Å>Wõuw^X½PÏÂÅñ…p½’q¯Â¯¥= ¿Cïf–’½ ¡›pÐð>g‘Hã…=ÖŬóâ&½!ô˜õW¯=ÞÔeDDô»½¾ÈYï>DCøe™Ñ¤=éꮦ=vLÑû¡¯Ç½Ëo½Ÿâ¥=ŸGÃíxI?Æ3R|>˜Ê½ó¯æ»ÇÈ=œÍ ;)§Û½ö }?ïµ=ß²38ñ‘U¿F׳Pgßò½/&iŸ¿Û½å‡çþ=ñçŸv,¾„ž]ÉŸU—?½NšÓúð=åÂW€Ù'¾ÎݧìP)>+wÉ+ÐP2¾ç”ð|kµ¿ÝÀîÍf>ÁßPÔ€¾`µB‰8¾Ó§ª8}Kä½÷¬”õe!×?dÿ&Žsû=‹˜Ìô¶¾Ñ='—«qà侦ív<>U™6´µo­?Qgl4èg¾ñ[|¼¸†÷½½2ˆÓW6>äð$^eÅ˽v¸°RÄ£¿˜7ÛI ¾CÚ§ÅqÒ½Ù¾}|Põ=I0ïË^¾½IɃΒq?,}誟ü½€ùn¾=aÜ9nØ¡à½û*3)Çá½^°ÎÆÙF¿ó2)‘"¯¿={Ø9åg^¿<Ù6äs¾8ã¼@c?ûͼ¬‡»ŽÅ=ÍEÕs†Áõ<~¢ÂÇßÃ<’€\zäè¼7鉵éÓ<ŸÊNioÄ=&êNÑÃ÷¼Í>³´%ó¼‹wpFp=µ) }e̽Øthj*1¾BȘ:õ=a:­iFã=<ÃÑ1k?D½”´YVÃ=*£{<Šg¾B¢@ŽL½ÅIW:&L½R!‡$r=q `E‡t½UQÉ·¾ùLjîg=•¶³yTƒs=Tæ¥(奨=agÍBÁÄù?·¡/ÕØÒ4¾Í8fn ÷Ù=!¾™H»–¾_³ÚΙüð½I/! „‚?°L0G©cá=]ñ4&ÔŠ¼¤VðÞ„§±<«\»Ôeª<‰îLCu½‡9¹ €Þà¼Xjªb ¾<ŸM®®à·ä¼f´LËëÙ½o0ï÷Œ>Ðb‰ä<7ZÌHz­è¼ÆQg`eß=Õœ)é:ð½ò¯W¥˜d>ƒ÷9ÖJy)½ÊœXñ=6«*:½Áy‚sâîS½°iëa—™«>:íô<0=¤“O‡|™B½¹q¥bU•h=žS¨³ãbg½èäµl´ä>’}7áy½E8m(ša=4T ‹ÿ„½{<ç½èu©½Õœ5Õ.P¿âõ “¥=†-ö¹Þ·½]^§ø9„Ý=˜éi¯ÐνpTžË‡¿xò…•壞=†4÷Š€úñ½0|<‹[Ø>ò’‚ësN1>d¾M!“â¿´uO/#0>'Á°ÚÖ¥µ=Å´úKc­Þ½ª­_`,Ú=ï¼<]°{?|ÔЦë=5_š£¨é;=Ê­00Al½Õ %Q3½á7‰ÑëÊ¿ó/ñjÒý" ÀAÓT©½C¿ËùÑ=½æÇ½çµ=·”县 ÈÓÙ¥Ò½i¿-îÌÛ±=TŽpprÛ±½:˜Öwh½Kãdk„h=ÇäI'ã¼-»«¡Åü=[Uà¤Åü½Æy&^O)=^ü" ‡:;>ǂɇ:;¾÷w?Hk=8½DÌbvÁÚ=]š½úÂÚ½Z…Œ’*â`=;OM ÝϾC™^ÝÏ>â„×è`З½”J’ka$¿Ù •ka$?”Jc[:¶Ê=m„p¿§Î焪p?;Ïj½4¾Êk½¾¯¿„º¿d½¾¯?–!%>œ>…hTDHÉ¿ñàFHÉ?ÌÉÏ1¬þϽ¼#º“oe¿¨í›oe?æÚ`¤)Ͻ{Ê`V>"‹;Ù²x¾ç‰ÌºUS>FU×Ы¼žå¸¼âLJ¾¯dyNÁb¾$ a‡˜~‚>]š—\݈¾*¥…mûx<uÃçÊî‚>]žpS¸"…¾¶bÌ) §>¬þ÷OV±¾§mÅmí”Õ<»[¦WoØ”>fÂú}P“>èDʺ´¾ðNt’:>@YÉ.æ ½á;é•ôà·¾;Hù•ɧ±>™d7-_Ó¾h®aéø¡¾è2L_#=YÏàÿݾsÒr£EÀ¾0Œ ºê†á>îròÜ1â¾xKn#½œ]MÝÐ>&ÓÃ÷žtݾ#éþÙ%?H3¿ìž¤èßÉ1=¶ùC|šÍè>eû õó’ë>wm€QL§ ¿ðϯ¶Ó>+ŒRôM!a½·c…XQ½¿þ_ZB ?xjŒ½+¿Ë Ää!š÷¾óÃJ2Óís=n–LñP4¿Ú옎Ø¿VþØ·9?ù¤#ô­:¿‘ý³ Õ—½¬ˆ¿·ç¥'?ã3’“ð5¿—5ȪߦW?ö:ö‚€`¿÷­¯=¤½e¢c¢˜B?„/6àùÑG?«ÔÉ ÄHi¿Õi#†=?œtéhSìª=J'€S ¢l¿ß}„òðVf?$\§‹sˆ¿¨gCøXtO¿•m¾'ÝÛ½>ÊèpR’¿à>òcís¿ êA´¼“?°ÁÓ›Ó–¿ÆÕö½ó(°UR‚?”£üXí—¿“§õÓ·?¹Ô·§UÀ¿Ý h+…“ø½vlDøG²?†Ššh À?®_…ÐlÅÒ¿±I…ÏÝ©?%"´Ã<£&¾4æA«½vÚ¿c}Gð\¢¿ ¥ñÔ6¸?W½+ïÏÆ?’zÑåKø ¾¤bÔ+N?ž¿rª&Æá?3±衱¿›¶PÄv¿ñ $j÷Mã=á€IOuij?¡ƒîo?R õw>‘¿ê¼ñ^EP?¥èŽn¢(Û=ÉÓ*à=?8 Xû«']¿|Bä±£ç€?{Ÿ·­Ðïz?³`Zó` ¸½€dè?¿®5`IÉR>Ü¡cš±Kw¾ãK‚æ£zp¾\Z=‰%ݧ<Ö³ØèîŽ>zÈ|@˜k>Yt(&lÍ‘¾š$ÃÀ‘q>cx«‚~Õ< V6Ô@Vš¾¦_²IÃᙾ&F‡¿xÜÀ>|³ÈGgó¾Ku$ »?½ŒS¼Í±>ªk×鲯>cñ×JµÕì¾(xŒºº>AYÿøÛ)½-ÿËL(ñ¾ýääh—ïò¾³/õv™?™‘lˆ~¿®ecß”c]½¼–±$}?ˆÒ.Âm!?ÐÖ1†F¿rQ€×°?V·…É'´½ÑÒ{À›êI¿›e¸ÿ Q¿­Š 4v?8Ç„¸Å”r¿GÝ#%û¯½ g¸¼—g?Ç)â}.»s?Ê4ÑL%¿UC•1x¿……Å•!’ô=Ò8G‹H®¿÷^SÃe™B?$â9…Àöt¿·„[L¯?·¡/ÕØÒ4¾24,q oé?%°íÛ/r¿z)Ð4‘?b©÷f«‡? ¡mñ Í=Ù4ZX»†¿UÒÇ–J2¾Ç_¯/Y>”œŒ÷…=3¾z‘´Ô¼¶&\ú<,z¾˜Žþ½b>µ–Rî…‰¾j'NéG ¾#P;”…=¬ëÅ…g–Z>Ç…Ͼß&;K+µ>%—”aVÞ±¾³þÓè=Z(ãÄLlǾF–Q)¹>¸£âKÛá¾iôwÂÿùó¾ÆYÓ¹Æ_=ø[ûÁ”Á»¾DÀg«æä¾,ªv Ô ?ÓCSù☠¿89Mûª=§²Èò\¿›Ä/¹Z¼?F'€ä[:¿Kë‘©8G¿Æíøü¨=:Zß³™¿¶VMi—ýM¿èö:Õt?¡»sHO¿ŽºIȽ]Ô׎7r¿ý"+Òч¿N¢t’NT ?žfùt¸¿én DG85¾p(‡` Ñ?ò²Ï¤A„?hWÀˆ¢^¥¿}ð|(  ¿ÒÒÇÄBëî=÷•(ã¸?[ªlAb+? 5CÞ·N¿®qnº I¿óà?ø ¥½òØÝbíÄ[?ú… ,ÈF?µUªÔ½o¿ŒÎÐ[N¿h™E¸÷’½«×¸Ð@ýo?*ïÑVZ>€ÓZÆVZ>’ñÇÁa>ÈŸ¼ÈÁa>ó—÷0„¾ÂC:Á!nRÃ=>éÑÙ_°>ÐË®³|{¾Ó2À´|{¾P¹N¡°Ú¾+±J_Ûª>8ǧ۪>P¸nT™?¯t)4Ù¾Y¤ÿ*4Ù¾S½¥R²2¿âÊø‘> ?Œð¾‘> ?åYæÓì\[?!i6_Ë$?Aæ‰Í$?†hmÿ:ާ¿žôþ ‡t?…2 ‡t?’­bOe.Ø?¹H2ìWÇa¿'ÿ‘VXÇa¿?*DStA?œþ>Ã4¿‹ö÷ÂÃ4¿È*GÀîe?^†Çb » ¾¿Çë10>y¯dΰоmów_1:< hr“¾@>ç|.’eÄ>𮩙ã5¾«ñâ[ãç?>7ÐÔpƳj¼§”ì o;¾Õ‘K@¢;>Õf;«^¾ ¥´£Íg>&Ù銾/z<`€AqÜHM¾.3ŸH¾¬?ø_&j>­#Ùeï;¾N[ŒPgaÅ<#‹DȲn>j”™R*«f¾ppvìb´ˆ> ]„î±S>}µÄ+Û¼ø9ø>“>°?V,­Jt>A!õW‹œ•¾ñ¿®Ç®–>ìöº¹QÜ<<»æé?…¾"•º·Uo’>–+mw´¾uóä “½>eJOJÎýé¼ë6z€© ¾"<-ü ¾†©¤ÖÎÁ>ûs]E‘¾‡-Q=ë¥Qp£ŠÄ>×–ét¾¾ñìvlÕà>QI€Lߨ>ó/E¾Ü )½äô;ñ4é>|P#|Ì>ޤ³waœí¾± Ó{j&ï>‡Ž8\uK=EVŽâZéݾLí=„Óé>ëì˜p´Î ¿yq(¸T?@Wöà°V=¾íÁx eø¾@pVhSø¾«V«§œg?˜¯$Usí¾«¥}#¬'B½ zªÝ~»?š´¤Û&¿·nTˆ\7?â5©Š!ô>{_Eºe†=(ž d7´A?/Áì¡xI'?ÏBDtH¿ÿ6ÁõýI?–Ù­nÀR€=~d¿f$£<¿ÃËÍjG?tÉÿ Srh¿`Ö”‹mãq?<4Yªos½¸}ÁŸEX¿;¨»ÏÙSQ¿·ïOpš{n?!Sº±µÆK¿’‘3Ó7Ò=Uÿ»¤t?VÆÀ7Tì¿3¿©O¸?zx ¿ÐÕÞÐ~𽄜¡Bþ¢?…Ó#kSi—?VJD`±¼§¿ùEæh‡³?^›VÜ´Á= ™Ü*-¥¿ý"R6ñ?CÒV@£ £¿²–‡dY? ¢À±Ñ{s½É©QŽäéµ?j%L|èp¿9Àõàs?ïB :)È?‘ø„Èž¤=Þ€hô°Õ¿:+çèÝ€¾ñT•U]R4>v°R<$©&>Ûonc¡ y<,I 1’H¾ ô¦)Hž ¾ßu–¹;E>«ª¡D¥¿*¾¾¸˜Oý`¼¬ƒlaè„Q> ’«¶:žO>aZwþ$nt¾.KÑK`x>$j&:Ð<–Bp}«Çg¾—̧­¤^z¾ÇŽb° ¡>³z£7úêr¾¬0Ž´çæ<ºöÐÿ½¾¥>ÖKÝí ¦>ÑH §ßj̾Ö~“Ò_Ð>Ë[¸`<=BS¶’¿¾U˜F ­Ò¾ }Ä{Ѿ÷>ŠI&eH̾«2˜vàl=;YBí/þ>Zß(l?aX‰$¯%¿zún¦Íˆ'?·l€g#m=Ò+a•1E¿%Ja6P$0¿œ ‡ú‘T?9‚º`j6¿² bvÙŽ½t™v`FV? ú]ÛU?ëvµ“éDn¿­´*]Þ/?Í8fn ÷Ù=%°íÛ/r¿ü"N•@.oM¤ªÑ¿•£óèfŠS?º‡##œ×=dÎ\ n|? p–æ=Àø9ÅМ¾Ü¡c-í½Å·pû¡¾†<§)§t¿4>»Žmäªo¾ðMAâõO@>LVÍoiOW>YÛ].̼)’Ís+¾r„QN÷B>Ä›ïUj¾˜: HUhb>RH<ÇOÙ¼L8 ‘Ó>HLh€³Ž«>0,†N½Z¸1ãÎc¾ö®;¶Ã™>©Ú8ðÁ¾BÀ4‰½>£.½ˆõ¾b½f~f~ÈÔ><$O‘uÁľL™¶æì>]&pãçS?IF™ù’Çn½Ðà™í®¾•Y‚)wÙó>Îæ¬ <š¿'=Dè[?ª  3‡½Ûµ°8à‰&?!ËÁ1%%¿uЃxôL? dù ¢c?n?šñ™‡‰=hÑú+ÖX? C¢Çc¿W3²’¶u?×Ù%Éû›ª¿p„-ÇÃÚ= Õƒ¼ª? ™¥r`¿múÇ+M}?ƒ8eç™?±øS±Ê®”=Á°v%_”¿ó"€é>O?5í½¼CÀk¿ÝO ú~¿/;%GÈÔª½ìݬ÷o?gà¶k¾¬"êÖ¶k¾ÿ+ü§¤¾Ð5Ôñ§¤¾’;œÍˆ«;>ú°†sËìé=où”ÄÏìé=Y”Ü.*f¾MÖ >¢±ä“ >1W¨ý’ª‘>·ÛïúKF¾­´º¥øKF¾„‚9 œt¼¾0YP‡’+r>Dš@-”+r>fÄý£Îè>åõ éÌGž¾j_ÄËGž¾°ñ·È ¿a?ÔšáÊ>ÕÌÀâ•áÊ>ƒf0pº;?ž[š%.#?ß©´Ñ%.#?óæ2¡Š‚¿Ñt:IÒf? ¢??IÒf?Â÷„hòȵ¿‹*ˆ?9Ô’?ip*@9Ô’?‹Ý±È“*t?_EñQ3>ÉüõXl}U¾E™7>¥¸&–ÓÁ£¼1J%ÙÖŽf¾'ö.³ h<¾üéÍc\>Ù=HMe¾ö¯0–M…<åæk¯eŸb>”ž1þiXb¾(59mäƒ>Õª ÏÝËŽ¾Ö¢O P°< i6Îs>—Ñ9\Cp>†ehk,6‘¾I)b°c>6ûùuíjë¼ÕpÀyS”¾ÐÎÀÓ*Ž>tä8ÅSO°¾pÅFµžqx¾~?´%å=~É[hØR¹¾cv-¸š¾ü¶CÎ¥V¼>%í­ýàÙ½¾Q‚f[¼Ö½.‚»Q’¬>gÂ[×O¸¾ÄË´\f\Ú>@Ù”ÏB”ã¾îÍq¿=–eí¨€Æ>XAÉÔùÅ>šu)r-;ç¾?·yHS¸>âŸ8$<½RU×>ý뾎íø*¸ûã>’°š‘¿‰¤ëb";82YãðP=ÉM]u©¿’„TÕ@ò¾?¨*%?sÀfTD¿z®–«Ðp½9ÓIm9?¸-¯AÓ¿sEö2?¿3Š•Ø§:¿3öÞ-”}½tï•÷{ ?ûp€h?zÐ…_ñ:@¿¤tj%†‰? œSv_°l=±ÿ‚ªIC¿¶pmöÓN£¹g7¹ãÆ¿¹3?Öô°¿£¸Ê¬ |ž?¾È…Æ¿üU—ÆWó½¼6ÀÖ§µ?¤isᨨ¿¬æø£¥|¨?-ýº.ŸÈ¥¿ÝJZ`9±=~¥cemпؾeÎ6’?A;õ¯‚ª¿µwµ…²¿'÷„K«Ç½PÌt·³?6R¹[À7>äh…b\¾>úÞ­cN¾Yí¸¥¡¼Ò”{E[èp>÷‚pç"¦E>tå."’k¾A“tæYhR>\ûæ}u’¼×¾¼RYw¾îë¢G¬t¾qI¾¢š>7d&–Œ" ¾}êetN2÷¼6ŽÉØâ>Ûb…k,¡>ͱ÷²GƾmÖÄÿ§lš>:|£m§g½¯ùæ\¾¿Ì¾XW[æÓ‰Ì¾]3·xQò>,$ÐÖ'õ¾(ñ¦=Ò«B½ù6 $å>oÃUæÔÄ÷>áˆ"rÒ2¿¢g5Áíó>¥IG(y!“½™k¹#¿6R­sŠ·%¿MrªÙ:YK?¾¢?ígN¿¸ö²×&“½“~Wtþ@?]FâNaæS?-Aøº@y¿@ÌH˜öG`?SL눘ͳ=¡>õqG|¿ÐºÈT k¿—æ¤é& i?ª„Êo7»³¿!¾™H»–¾z)Ð4‘?.oM¤ªÑ¿˜ï—†Hõó?MÄm3&d?hµ¡hn¾¹"«©99”¿üõ×@ ¾>éÑÀù3>^£~þ>©wNõ "¢¼/µB-g‡\¾”ò]u ?>é^+­…e¾Ê6Úá󆾼¤dÔ®ò<òÓÊRU>4?âÆ¿ i¾ydoð÷s‘>{!0߆¾Í̆9%À=up•¾.§¾öìëˆL”>u0‘@6¼¾Ê•`²ÂˆÒ¾Ä³`aÆ@=Þ¥ŠÐí”>+²iê`ÜÀ¾úN1×ñOç>;Õíû=⾙ǣRÜ<‰=ô*‚0ü¾ß\×Å ê>¤/(c¾b¿G°ˆ~m•(¿î”=õøw”=HžfZ:_í>ÀŒM*d¿IǺð@?¸f߬ç9¿À«ÙèH¯=(«‹M+M¿å¢ I?A,I+q¿;ØÒkYŠ¿~ÄÈ\¸,¸=žx ¯5€¿ò‰U[ix?ŒÉ˜A€òI?ÃzvJUÑ?ltj9÷¾>„·%JÔ¿ ª€I€?Í¿ )¦š¿àÛÅÔpy¿¿l¾U±Ä½ã-„Yâ!½?‹S—á'j¿$#­ƒ?óæp$烤?6ªÖ‹Ò=Ä•Oj¿ü‹žõH?>ª£ì–õH?>‹PóKC>*üDC>——'J)Œb¾:mìŽØW¾OFÕÚW¾N  ÑèŸ>Á¿-9‰¾Fè—}‰¾[C.ƒ‹·¾½%Z}áÔV>ÍúÜÔV>¼ûWDÔäâ>ÁNQ8Þv¾XŸi¹@Þv¾ùZMúŽû¿ydZAt¼€>—hf³a¼€>@„`ÅÃ×8?~ž‰}‰=É> ’¢Ûž=É>òdV Ya¿óÎ2§ÊQ¿<_µB§ÊQ¿ÄŒï9Èí¦?¤še dá|¿Ç&(dá|¿%íà\;µÉ?¬f…Xgy´¿uR^Ygy´¿oPrN˜¿íìzáÖ,'>ÑöúJ¾òö¨Š’‚(>·ÑX€Du<“øÃÂSZ¾‘òßl¹2¾(ĵZ‘KR>Å”Ç_mßY¾:öÞ/÷±<¼õ¶^DU>°ÊЍ‡:V¾>’µÓ,ËþÞRx‚¾Á'{õ¹²§<Ñ~D²GÔf>¤NÖñc>—… yM…¾Î9Rî€0T>þ§dç”.ݼ~Ä·*cƈ¾&/øßG‚>_•¦²¤¾*ÃJñ°‡q¾[Hzàô<¤ƒsÀw®¾œÒé žx¾R]56§±>ß’«e–n²¾„•‘dô¼Ð ¢º° >·Ž!¸Ð­¾ ÚѧÊKÐ> }ÏÉàÊ×¾ ÉÃõU=•¼|Ï}ø¹>3YÒ vC»>k_.ݾ/Õ(ë#ݦ>z¹=Š`B1½@ÛÑnµ£à¾Ü¨Ù,ªØ>¯8åM0âú¾Æª¥ÒºÛƾ‡|Ùþ—tC=q!kæ9¿(MbÔèæ¾TË j?«š85} ¿›²|g½nŒãŠ4z÷>NÁkðBû¿_ô4°’Â&?é–»ð¢v0¿[ÿ˜+‡êr½xIðÒØç?AÕ‡J¹?èÝÔÕÍ4¿Ã¼&9 ?Óÿ¾^¬•Z=ÚñY8¿JÔˆ ö1?> Îé!S¿‚Zä5¿Ç¦FY‚¢½Æ‚7Apw\¿88oÁsC¿¡q+Ì¢Md?Ú® Ægôd¿ Vz*“½·@7„ôÃV?çàÊ¥ma¿£ÐôNfx‚?ã’V½’XŒ¿?ÕO¼Î+—½¬x¤`2žq?ÝxigØo?€+é¥I¿Ð'_IÈ[?ó'_¾ ë½=ý·—÷w“¿ïR¾…¤ó?ÖøêÊË­¿ƒŒCÙª7”?ê|è߬> ÁÅÃÏ缿™zÖ~ø’¼¿¦ÅÓŒÁÐ?™8&Õ—Ô¿å¯qžûóÕ½Ø6üþvWÆ?l¶_Ñje?¸£UkÂE„¿ÃÚ# .К?;°ÖÍð᡽·¦ºòcÙm?mü÷@Ά¿všKB …¨?¨êšŸ;­?ã£=~0bÞ=Êli€j¥™¿¤g%B(>’ª°ýLëM¾¥OÐCDöA¾HÃøÿ-”úmÓ;>Øbt‡³a¾øÀÞtå6D>D~½ÿ‚p•<2rÑ·l¾ýTb©ýi¾aþ·Riß>O[罪­“¾¾7# =.ê¼¥@ê^Ì‚>j™Ï°·•>‘ENâ]6¼¾X=˜Ð‹>â󠂨½÷cJk‹Á¾J¬):¾6¾XçÑ  ç>¡ý¿—,ê¾ÏK2Vá2½ï²f’íØ>÷*õºÕî>BXn»há¿x:s#èä>N=än r…½\Òßaßð=¡^EÇTÛ‡¼%RåùpO¾^~¢üòè2>ûGµÁlZ¾Ý•FÐ2r¾x%o4Ýä<⺰ÏáÀ@>SÙ ´^¾Û½í*é…>²¸Ùè8€¾ ë,9Ïð<­§»oÀlš¾Ü5ü% ‰>2:žþÿ§±¾9LC0K§Å¾ÎÊÑîY2=èg"ÏW>áyK#ùô´¾¿;zìMqÝ>È›3æ•Ù¾+·ŒYlv}=Ÿ ÷Ö ð¾‚Õ¶¨Oá> ?÷'Ög¿hËòLØ¿¸?&Ù%†‡=¹â’­Ú2ؾþÉÕ:ÑE¿¼þ7‹4?6\ÉúÅÚ(¿±u¸þo˜=Œ˜Ë}0C¿î–öáÉI?6“wQ¥q¿™`©ìX¥t¿^#žÆdܽ äòËaŸu¿"’!ÿ¼à?!¡Ó _¬¿¡4(D)›Ê?Ý éb$ø½\Î}>ƒÃ¿ÉA^Wñuˆ¿ËwòÆ+ª?›ý’Lã¯?A"BµÈC³½ó×ösü£´¿B±…C?‡Œ5td B¿-´š ½Òƒ¿¯°Ô,½Ð½®SpŒm‘ˆ¿NÙ{˜eˆ0>êï§eˆ0>hb­§Ñ4>!O[œ§Ñ4>ŽåéVóîU¾ ]5*ú¾=¢°b¼ù¾=m3ïÆ)£>÷×߯8]@¾¢ ××9]@¾¼·É„Ñ3¬¾Â£òq>hiEq>£Û[¥S¼Ö>üLuô¾¨8´Ùô¾œ¾­¿ç·"Ý¡SÉ>,í-#¡SÉ>°yV0?ý?!öŸø¾[‹iôŸø¾ðCkR+V¿hˆMsU”2¿[GÊU”2¿U^<*{-¥?±3›Öu6?wnbÖu6?»K¼Ö~߿͋õŸáœ¿~r5¢áœ¿†z‘æ„ra?3Uë§°~v<ð&²Õ¿­ ¼ÿ\èM5£â›‚xPq=þ÷Pï Ã=‡9Á‰ 9½4GÈ! =Ø Ë|Ažb¾M¨ÉÅXe=½åÏÅ„´5=<…N&sW½ Ç*OwŸúHb½  ¾c “C½38@aóyd=hž$¿µe½ÚÝMX’H¾7Öl…ßU=ÀÑ}Ö®a½­DN®¨‚= ¤ÐØ.K½†UÐ7q¸Ä>Çi_°~r=Sñ+¾Öq=®Uz Î“½dÓ7Âþ'i=<¡èÖa$ñ>C4M u啽ý*”›H‘=ép uU°½&ÅÖ¢´A½©W[–÷ûè>üDw~ÿI½½ñ÷íœN¡½˜¤R—Â=úEc´™Ã½în'ªôH?¢Òùëµ³=S0Ζ®ýÖtåæ=Jàlð†µð½§Hº¸†žV¿¢1þ†wÖ=8Ïs8}½3$~¶æ`ô½_ø=ìq¹=;{O—?€Í’Z‰RÚ½üøÕÆÌ²É½á®„Ä ¾58ÖSC÷½´‡ÉÉ˜Šµ¿än;›¶·¾ –e5èèÓ½zµÐ Y>²é†Ø½#—Šê^»Ö?ž~µ:iú½Ýð¼fZ¹½GLzµ€øÕ=ês%Nôµ½Sv³aÑ‘¬?ôK`Àœæ½â[ø:Bѵ=ÚºšLß½ñþÐõ:˽Ë|”4|‚¨¿ Þ&ƽÙk 7G¼ÄyN¡ Ȇ¼†R DFL§¼9#èHHK=ç1¤g¤½Ê+Ý¿¼J ­ø!cå<¼Q)D˼/TLK91>M³€²÷ñþ¼mW5DÖæ<¹¸›Œ½MVÂY•ù%½eQBòí¢d>X½²1•ô<6¾M-Ÿ]½P !‹"&9=‡Ð7)-H,½ÿ®çWì@«>æ(\^îP½‰¼(XL­==ÿÎÝ)X ½kém[¥ks½|+Tu4å½ãcG¥hë=Ø:d¯/v⿬G}æÿ=œo=yt½%Ü÷‡KÄ•½·šÞµ°½¿h†”îŽ?6響ž“Ç=¡DÂëj©½‹9HŸèÑ=üÏ‘ç!ñÃ=J 3Ä>Ò‰?ûf8ñHrÙ½è®øˆ[=‡dù[½Ú8ÛºER鼪4f€›-ê<»W oW€¤¼X—Ì^×ß²=ÇxrÔß²½"B—` !ß燽 7:¾“qHº¨f5=-g|3¾¨­Eth|3>æØUìU[b½˜Åš3üϾÙr3üÏ>M’ú‘ ”=wÏ9$¿eÅé3$?ÕÑ“ÃykÀ½Zxd¤_p¿ÎÏc¤_p?N;p™=×ÄÛ¦>[¯¿Û“®>[¯?9R$ö¢x=쉬 RñÈ¿p Ë RñÈ?™Ì³ÑQ“±½–)£Lv¾ì?êéÞ»A>ÆZW‡»¾!V¿N£¼–U‹8.ßO>ÔNáÝG+>اyýì¨L¾byœÂ¸ R>’¥¾\I²¼<. z„)H¾>‚êNèN>*}ù¡p¾ðnÛ¦Nx>!g ç¼æzl¢úíZ¾r_é¬ßñ[¾·möŠ|~>4Ÿ U(d>¾‡½U~kÌÒ<…¨Úßã>¼ÊºÝ#Cy¾=>ל>8N)BYp>¥¢`„gyè¼øç‡Ÿ†X¤>D tè‡> ´­7˜Ý©¾ïÆs& uª>j¯©^Œ¨å<ÄI§Ó”¾)ÇÛ\i¥>²ÃÔ ‚ǾM‰zyPhÐ>É?5# ñ¼6C”kF¯¾»©b´¾};ÄÈ¿ Ö>c1úˆZu…¾®…Anàx(=þµƒØ>ÜSÜæ³Ò¾=Î6R|ô>ª»u«››È>r±Òl{8½,3½Vü>£÷3¦®Yá>ݺ˜ÿ ¿®‹ù ºe?ò|¿ne=“0Hí¾Ü¢Õi×ÿ>ú¡ìÄ!¿qÖ#»(?„ÆY/l=E±æ,Xó¿ cÜ¿CV⟚•1?öåPéìhÙ¾·ò n^Ã0=ülëå2?ß8ôK-¿º´vzDKP?×`ær\#?SŽÄiB]“=³Èï¶ÍU?ì@ǸÉÊ??›Œ“Ã’ša¿…+xÀRda?”løTÁõs=ô jR^L¿Ûg»¸þUa?j–Ù] sƒ¿_òˆ¤ˆ?a÷Љˆ(¸=pWˆ".}i¿!›F 'm¿Í«¥yøŽ?Ãì’Z··J? ƒ‘:.0µ=7§™²E?€G"o0¿~V]+õë¼?ÅGX¬_Ì“¿wgý•m¬¾À¯¼ª¼?#<ÓF¯?M«'ŸœéÀ¿<ol–LÊ?&1tè@³Ã½}ÅÞ °¿_ö× Ji¹¿@Ö“ } Ð?t3ÇFŽ¿Ãi/’R‚=-Màvéà¿;X’VSN”?„á¼?0Ô±¿yßL(©¿!¯ý¨ú¹=/ÄŒg—?‹Ú~'R¾çŒÃ`¢'8>Ã"¥2—6>Áð˜£òd¼Â¯[QÒ:R¾õ¾-K 5¾.§6_€[>.ž°Hã04¾èÜ•rAJ¸<|Ô9>¹zb>´âîá‰_c>û‰¹:A‰¾švaï!2‹>¾ærcÊÎ×<ÅBö Úw¾5Å•p/‘¾6À(³¼ëµ>|–$Y´ÿ[¡¼>ØhcFøâ¾!‚—RZã>Õã°}=Áíï\(оÉÏJÕRé¾2ïÀ?ær.K²Ì¾S<š°òÞw=¥#ÿæ?õN§TÉÓ?UªêÁ}@¿XE.ñ=?…·¦ p€=¿!Ñé*¿m…Ý”²H¿ù”€Œp?j¶zS 3¿ŸöŬz7§½_…hÂàn?‹/ÔÀÌ{?ˆv›£»Ÿ¿GD?‰Þ¨?°L0G©cá=Ù4ZX»†¿dÎ\ n|?¹"«©99”¿å\‚”Q?¶,á“Û£ó=+Ÿ2Œ%6è?5Ù2æaû=ÛUafÌ5#¾Ú¸ëÒƒ>w·4¥¼Ä7÷«$ ?>ϧ÷Òò÷)¾h·¥™°R>çòu„Ve>’»¿£(JÒ¼„Hïi@">}‘ðò‰U> ˜ýÍRH¾cØøÙ’~>•Ò3g!!мþe÷=ñÜ>ûNP‚¾3_˜çTª>–Æ»²xº>l¼XGjÎ!½ú^/‰­Š”>Z÷Á6[6¯>Âb¯ÙWÐÖ¾f•mt²Ù>òsäïlíq½7ù—¡†â>l§úi±Ú¾×å ± ?9)ÒhÆV?çßf³¤T€½UCóøT¥ó>w?TAµ6 ?žt„Ì1M4¿.r{w¡Ù;?Ö‚‹’Yø’½Ísæ1?¼po1Kà?¿d±Ê:[ug?9»‰ÇýD{?ë›=L(¥Ú=”¤ƒp?öÃt’›`‰?¿ù¯,ܯ¿©œQÅt'²¿ÂãéÌ"ò=Ø3혓¹?tC÷•B€s¿…ì§–?Néiëá§¿ý¼‘îØ =SÁÞ¶È1¨¿š­Æ7‡¿Úwù€† ­?¾×†,—Û?Ç>¢Á=b 2Üh³¿ÎYEC2¾Í×rŸC2¾(õ[ Ã#¾»Ã¶Z Ã#¾4®¢Ò©K>¥È¹m…ç¾W¸wã„ç¾Ý†øH’Ðv¾Š2{& R>b~þÏ& R>`#ˆ–¢>Àº¡ñ¾ïËz¡ñ¾äðf°Î¾P¼oÙ°>ˆ\QpÙ°>Ê4Ѥ*µú>ãþ1Œëúà¾÷²£gëúà¾ÅûB„%¿CÞ‚Ç®…?ŠØ…r®…?˜i7îú{S?¾AÏ,1¿`™Kí ,1¿¦¯ ðèÓ¿l x ?æ*Q x ?]rÍÌ пurðX¢µ¿{]X¢µ¿{‡³ð ¤¿šËΑ2ð`¿óÍxä±Op?ºX·åe‹?ïC‹öéʽzJ‡Ðï‚?s'à‘ш?ÇX!dUS¿Ö%~ÃA” ¿9SO ¼Ä=+ò‰ñ–¿µ“ù>9ïU¿ß‘Õi?ä’²;_šq?i0ýÅBs=ò 6¹‹›^?i)¿“bxD?óˆÎèd¿ò^VÄIJb¿ç‘œ/ޏZ½2ÿú"M?ÔCü ÛÕ?X¯¯äeÅ"¿Æm÷QK<¿éÍ]ïcl=-·dÄMÀ%?d*~È©0ó¾ê-}p¸_?‹»‡ÈÕó¾áàëŠ ½± žœ?ˆ¿£U¸“`SÞ¾àÞÿˆê?±w`b^Ã> ?a_?=³RÎ3忯€N¡ìÜÍ>D¦iä™ð¾;&4ð¾OÐ@ #½L¿ÒƒaåÏ>ÀkK럎°>SÇÐŒÛѾæÞ‚^Л۾Íîr#•ëoÒÕõØ–¾ò {òJ÷½#,ŒWÁ¾+[Qf ƒ¾Ø!?®¤>S€ ý¿Ça>þá†V÷õ¼'Å.\±¾M^L¦mr>Ç­)ôä!”¾òYÏ\þŒ“¾sèšf²à<0WKìWi>‘ ¸ºlV>a²î"¨x¾á=Lž”ƒ¾•Ü7мëg&¹ƒm>¨‡â”E¾·?z4h>x†QáA¾ÕºßŽ–¼”0”ÚPg¾‘,Ï’ùÞ*¾—δçxM>!}eÙ•f>þ޶pyœ¼/]D½¤X¾îI =É>}÷íçò<¾ÒûIÀbè;¾ÔäÇ-@/q¼ƒ•÷B(>5À¹nw>Aû»Dá""¾AÔÊ-â ,¾ðyôg!=‡áÅïÐ_ˆï½¦€¨\Í>‹¶ nï½Ñ4.¿9É‚¼ïûi$¦¾I „ÜóŠÕ½¡hf$ø÷=‹À<—λ½½&’Ôét¼l; é(¾ì ÷r¿îÅ=¥Xè 罬ÂD¿å½OóŽS<–ª¨'a‘½˜éº0lR¿x®}=ÈÔi?~„;L r?÷€‚0[½@hãèY³ƒ?pŠc¿?c§/¦jw?õºG«òÞ?2`yÔI´=êª9% š‰?/Šº®@#¿`J‡V&ðF?p2jgR½*?µ@(ãV‘½rúüðæLL¿{„ùÎñ>TQ¼™7Š¿¼‚ñB¢ ¿ Ì6'÷4½Z÷ù ?¢m7A±Á¾Æ!ü:ƒYæ>s7”cBÍ>EGÈø­Xç<ˆlĨâ¾ÞÙaûo•>^ǵۤ»¾¤ ÖÊ~ݱ¾¦ákè/Ó/½q•5½li®>qXÉnòi¾o§{->çê­ôr>" Î6¦½¼Œ­8¯Âl‰¾5åHò>>(m†ÒÅ~c¾(_C#øX¾)r“©ùÀ<[ãfjætT>…±ÈH¾¬58ïxÖ7>Ô alÏW>]ñ4&ÔŠ¼UÒÇ–J2¾ p–æ=üõ×@ ¾y˜]Ÿ{”¾´ïB²‹u<5Ù2æaû=>m¤bùâ@› äÞ¿ ÃMs*íµ¿4æ½xO¬¸=­º|T©¿à‘½ù^ç/¿³L {µ R?DÁ ô}Ai?eÙí^‚½þØ®~Bd¿Å¨â2Õ·¾¯Á(ï‡Óä>­4¢Í¿ ¶dæ1F½J|â]Î ¿÷bŠLt>¢,æ[£¾Yv¬Ž.”¾ÚÜâK<öÿäNób]}®¾?Û‡ÌGå(=½Ï#Æj>ou2]!>HÍAd£R¾sœ=(x¢i¾¿TëÆ8V»¼€P:Þ80€¾.¦ˆOÓ‡ô½Šv_Ùmh&>q­SuuU¾]‚e%+¤Ç°½]ÀŽxDñ=¨*þ7°½¦ðé¡3BνhÖ‚jL<ë½ÕÐÍA¦½?:Ñ™ùÞµ½øm$x/'Þ=MèÃàâ†Å=X–oè|P¼¯CF\þ»à½wÕ£sˆU¿p·û¦sˆU¿fjÂK¯`¿G“…K¯`¿é¶RÈõ[l¿ŽA»ž±.?ÔΜ±.?ËÅZ&ŠÝ? µ)VS?ÿ¾|lS?ÿ¾vP™¨³°>ÃØªöš¾?0Iªöš¾¾S¶sß®>±_yT«e¾Ë§®z«e¾¤µX}­o¾Ô?º:BFP>Aað¥@FP>º—e–2C>«{Í>é$¾Í¿a:=é$¾ø’ „æ¢p¿æ &T¸š%¿Þþ.—ÀD?Ê:’wi©a?%Øš–À>½ø!*Y×J¿S=Ð÷K?Boð(͉7¿–þž¡ ?2æåè¯B=EÚ/ý}:?€pcÏuÅ?]ƸD$¿còU;·äó¾|¦A“~7½Xs_àf0?®3iaYUô¾­OA#S? ¯O®?ºßzóWØ-=CÖø¤%4ø¾¤Õ¯2ÉÕ¾£VxA÷>Žö¬,r?”d†ç´{½êc5òï¾EèçoÞjÅ>f2ÀÌw群e\‰"0º>«fµ×GÑ==*ŒúÌç>Ì­1ðR©>DGä¿h ’¥˜¾¿1×S3.»>`Ò œŸ|º>~26]ÕI½÷p‹¼‘“¾©~¸~¾o2¯eI >€ôÇ©>zÃùÓÚö<Ï>­›”¾-!mO¦Lm>I_kÿC¾o† hæe>£=H¬äç°<,à ~>Û¥Œ1îR>”áºÍ©s¾×Ô\¹­Ô1¾\ÓÝðîÂÁ< ø^wÒ¸€>ᥙˆg’A¾‘æIË–c>Q›öô´îb>|ßñU…<µ< è7¾ØOš,‰ &¾JÀ]ý@H>‰ZäwOS>«‡¶Ô¢¨¼? >EŠÅ<¾ÔÿbÈ¿w>á8¾…²„-äë>îÛ$?Èi£ˆ¯Ól€òü=µð6l– ¾ÚbU Øß=³˜7nÿ•<Þó8¬^(>Š€ñC—í½“é@äã>S„¡R%q >Óqºõ‚¼ã;`3q‘=¤sÁaÚëb?a‘í &T[¿dÇg—”¿÷¥§ iÒ=»o©V½§¿Fë™èdu?nk†2ß\?`ù¨û9‰¬¿KwÏÀÚ½<\îz+°¿~ ”™HÚI?)i¯n¿!Ò7—1æT¿rÔ‹7´=)Ým!¿Ts?+±9‰:¿¶èPN†d;?£’æ§~82?Œ¶- ÈW=ðÿí­3¿ MD#³èç>yçS^å ¿æø}mõ¾_›ãG¦Q ½ À˜Å†´ ?§3¨,³ð¼¾îŠŒÔgâ>kA™ÍU[Ø>š· xW=¹ØÙ`’Õ¾qu Çvî> 0ê"¿µ¾pÛrô×a›¾H8#E¿ê<þ)øƒ±>Ò0Êbd¾Ó= QŠ>\Ò¯aé>>ªÚä‘Îæ¼¼*-UÓ|¾žy}gdÕ8>À|!Cg`¾€¾Ü~+B¾¤VðÞ„§±<Ç_¯/Y>Àø9ÅМ¾>éÑÀù3>)Ä wÒ`)>#±®Òï^—¼ÛUafÌ5#¾› äÞ¿ÝoÑ·Ê@ÿ¥ÇïG'Þ?¯ê; Cá½è讦‰XÑ?"‡D·óQ?è­hƺ÷s¿Üíp=sÄŽ¿e—hiˤ=:JyöŠ?o¨F¡Äà>Ôc²{zE ¿s5À†ì0?´`!fö{l=,wa;ü3?D¥'¬ÝÐk>ãÐ$¹¦>""››Ú>®O¯[,(½7z®]þ>3·Ë a\F> É•Õ3“¾kV+,Õ>Óôª›¯Q½¢"`·)® ¾ÝÂògÿB¾¾QNu>Z²M`ÁÝ>Ú$oŒÿpè<$*b~Üõ¦>" àHt>g’H×=J¾ËkÄÿ>a}>i{J~Š/ð¼÷T4T;½>¾kÛ ðžð½!çÆ%Q,">™0@~‰4>‡KÁ®î+¼æt@VKÍÈ=\ÌÔ³ù½+„üÏ¥%>ÂÎ÷ÁV޼ŒÐþÓ¹½ð‹ÿ¯²¤½XÂÌbvÕ=ì)è<ô=6&ë)l¼/*àS¤Ï=û}õs<Ý=± ‡$"¾ÊãµPôî½åžJj’D€<¢‰Ó#>/Û‚³ßàh?öS'½ßàh?ÆéZfqLy?— lqLy?xûyh­l?Í!6%TyD¿Bï&TyD¿\ðò8¿!ÆÆÊr`?Î}ìr`?¡°gaYÚ>;¹-âö–Ç>)?¢ ÷–Ç> u;-ˆÒ¾â¯¹ “ >§z#“ >ãÓéÚxë’>ã5¹Fp¾šçµlDp¾.G9:ÐFh¾UO\Câ§G>áH•!à§G>‹I!ñ/_:>#ºÊª­© ¾Ä{2®© ¾¨Wž¶Ÿ¾Fàí?}L÷=ÿáì8}L÷=x²i‡é=±ù¿­ Kн{iˆ Kн›×u1þ=EϪcƒ?Þ0-ð"ޱ¿!*€Õ•¢?”Õ“æMˆÃ½çLŽK6ñ³¿£xg†Á?ƒñÇ­;ÞÙ¿ªËYtcÖ¿Š3NC_½â=³ºrÐ0£Ú¿Œ}‰N‰¿rrT6¾ƒ§?û0†Gòº“?ïØýÖº½¸K^’¡¿ëeeéAj?(# .A®¿þSíÉêww¿p;ÖQ‰£½Ô*@”NÓq?Á<‡8»S?I(N$sC.¿ågÛDm¿¤` xêz¨=&þ´ÿšGZ?Û ß õ?˜@sÓ6D¿¾­—ö³¿©ýŒ‘=s Ô]B*?ëjÜiíæþ¾Û6ºµ<?[Ú…9ø ?I»ëðY;=¡N;Zý׿yò”¢Tò>Ì3Mñât¿­vzÛŲ¿¬¬4µÅ>+½¹ª±!ë«![4õÖ¾5‹ ļ ï¾Fiêa–=P´Ç` Xé>ÓÓ®b-¶¾³wƒ ŸPÓ>Á)¥É%[Á>‹È ªæÖ"=é)ؾ£ÑÇ)´†¾Êž? ¶2>’Å,ZU­>s΂Yò<4™Žéô ¾¾ž6޼Š8‚>ªÃ0ØÊÁœ¾÷½*¡f ¾tq¼{ÒU=n²›Sj¢>þåG‹ªD>ʱ3ß²>¾]€(‹x¾4­}džø¼êiE>[ͦ(áM¾·Ëx;Xd>ó µÚdo>¬Qk»Þï<éŒ$r¾uìÃǪ>HÛ{"G¾‹ê,d“T>×O´°„¼Á¼*{wľ]5¾†{Gú>2ìÁUpò½Ý˜Óß¾6å»hżv|#G>ÜNÙ"Aø¾q=ÿÄ->0Ù!îž)>)VÁÖº<Þ°cîc!>–˜½‹|ˆÏ=†Ø¥p%† ¾táV3ðõ>+øúÄé<­–'ŠùV¿=#›|b² è=ÈåQàF¾ 5îøI)>ÓG=Ð-˜¼ùÍ0¡>˜ê>‡qؽyQv>‘‹Š5úñ=ÃÃæjr”š<ïå‚*GŠý=,ÿ¬¢œ(ƒ?¿³"‘™¶¬¿4²ØÉ^¯¿Þ½˜xº½}‹åPM?¤ï¯‚n«¿=ßðàèæÑ?T „`¿hîó«¼…?_´Qƒwï»)rø>Â}òo­(½ñº¢{.2¿2tiþ(ô¦>ÀŒDÿƾ–!àOȾOÏV|¾âW½\¤¡0WŠÓ>Ã3h.›m¾E“W¤Î…>Ô0ñy>G$M¨P½èV>œs|ž¾ëž õ.ë->Zò‡­Ç½øã_ÃMÛ]¾ÏÙœ~­Ã¼û‹åÅÓÙr>>ÀiüæÅó=]XN\2¾3¤Mú¨@>«\»Ôeª<”œŒ÷…=3¾Ü¡c-í½^£~þ>\Òßaßð=!ì"Ñ€Ž˜¼Ú¸ëÒƒ> ÃMs*íµ¿ÿ¥ÇïG'Þ?†¶ð탥ò?tâeJì=åƒL¹"׿îàÅ%Ò’o¿Åk ðe“?œm#2ÑAž?µHç#ÿ—½Ò3I¾ÇQŸ¿î|`sཿƞyÑ=?oµ=îOF¿ÅÓ!»@–½ÈfÒW¿›ü´§øÂžkÕZåm¥ð>dyH‹aÿ>ãàÎ “@=fÌœ6>ö¾‚1cÂ9’>00pf¡;¹¾Pi«c²*;£K B=¼DYÞ{Ì>”oY€s9X¾|òÄJYƒ>Ì ¸ík—Š>½mêNqF½\‚­ï­aš¾ÔÈIÁ2>^>P–]¾ÊSáic¾—è‡ÿÙÖ²¼²pšÂŒ-q>„cƒÿ_¾:l»ÜX2>kàÎïö%«ék b½<¸½¡âŒI<¾ÖFÁ+>ß=j\8²­ž ¾@=ßéÐ|ὟÚ*^’Ô¯¼Â`DÍ—;>=;Wâ­½´õ[-3Ý=Ô=HøK†éƒÿ½ÿ«7|®×=È¿è­[’¼@ð_ÅÃ4ù=~*ø§¿O-ø§¿ 퀆ÿ¢?VH3€†ÿ¢?ŨÛk®Ç¿R¼ýi! r¿sÚ‘n! r¿xwjª j¿µ=#ô¿¦1Õy#ô¿¿*˜J?‰‘•@„î¿t éL„î¿4 âç¸á>¬É†pœ¤>"ŒÍ€pœ¤>éñ:•ÉI‡>;S&A{¾(¢7|¾H™’o 4>—bÚƒwa>úÀwÞƒwa>”9ž&ý.>‰~-“Ä5¾É¢ÆÄ5¾Ro°¶éú½ŒÊò`¹v>ó~ç8»v>ìÌíS ›Ö=jüE¹™Q齕û¢›Qé½»™à‚îò=Ü:rç^ˆÄ½ìA;06m¾S,œ<¡ â½Ã$ovJ4°¿Vx´È6£¾ •’u>Ê=_¬EË>=ÝÜÝR߽ލÔ,æ?î¢÷ï®ã½çB•^±cÁ=öj/ýò'>3 E¢çh›=ùóˆC[Ÿ¿Ö±Ðµ”<罪J¤Ÿ›Ú= 4à=;¾ÚYÖôý½ÿÜPKþ…?J¢ÇÒÕÑ=ä-Šk—¦=S`¸öIE½DžJ2ZÆ×½ ¯F©ŠyZ¿Ïã‚Ï %¸=Q‰Q@X›½÷èÌH£‹¼=àoêåt½%o3‰˜+?“â#åÓi¿½—Žg\ô½zÃ˲!¤=+ˆcÅQX½«".tÛ¿·’š¢ò¬½‡7ͬëp=D ççÂD’½Ø ãSY“½È†¨l}eÖ¾œ¼Ó¤;¿x=œëÂÁÈÒR=ôÄÊt½8¢`[€½\AÑŠS¹¾…¼ÙHCäj=vtŽ™¼@½(fðÜa=€ø#O?A½U¥AÙ ¨¾ú½„®/`½ÊH¨ &½TÊ·õ9H="NzŸš#=ËÔU;¡W¾½UhlëTT½‹èS´=7ü`'(í5½Dž'ú¤³5½¹|œ¦e¾ÝÚ”öWÖ=¥üôù<œ 6§X:½\ t‚ýw%½|¦ï{7ÿ%>©Ë×߉Ù=«c@ a-輜V•  =-øx+~Rç¼#:vjR¾MçÚâvž ½¦q»ÆUÈͼ‰Šæµ.hï<ÏcPYK”²<•º¢²‘+è=Íwcü¼¥gØ2±¼<ÊÅ ܜܼ+è±+"Û¼ AFÎ+¢»½s¸ñ[ð¢º<ýÖ>"”< vV×O§¼-ûÎêÙ7ƼµÒÇa =U§-;(Ò¥<3.Û O|¼A^òI¤¥<«1“zÂ<ã\: p=t Ç (l€¼RãÄs<% Œ†Ôë§<ËmÙ9¡<7&Û{öÁI=NJ}‰" »¼À‹–Y<<¸>á'âϧ¼hʧò€¼ÌÙݱ0@=ÇR4òÔ”•<Æ#‘"Í¡½ŽàëÈ=¯Ã°èû½Ÿº#„¤¿gâÍ/*>tf[3£ã=[ê’*Z ¾/"ûÚgöð½mu\L\câ¿–·[$÷½ê†ßöHÛŽOî"u^^í=óJ0ø¸`ß=îCä…¿ W»šFì½>Äõÿ£=ü9áXƒ“³½/r“4¼û§½è®šíPý¾èð‡l¥='ŽvVë9b½ T œk†=¶¸hh=ºŽ&sIuë>ÀäxÕü€½#åíë»Á8=8H Iä`½ÕãŽpT½%´=¨ËK®>Áçm/Q=ãT@ ½ÎY]%D2=ÙÑ_ÒBã=9‘‚àbd>4‰ä‘,½Òç7IÑ•à<|ÎWm¢ï½¢¡¯û¼°{N5ÜÓ>ñþÝãùW½yÔãø²?}=¢G•šq§½YÐB“Ò1?=T“/n ¤½Ê™õ"à½g˜š £½8Co¿áC½‹ß6žëãë>§Ëï0€½¾¸¯…ŠÛ¼ˆhk¸fÝ=#7¿¯R½Sãº!zD¡>_D'³^=uЧ5ôSÔ<§{÷eÅ‹½ë&û½åÛ–éK> ?9õ]©½""ë@¡¼õžÊ)šÐ<èÏæ­™ ú¼ãí9"œ½á”^¿¼ó¿<0ìWÇîò½”¸øßá»…<²ò"ò©¿¿¿Rصõ©¿¿?sžô²È²š?}ȱȲš¿›êØežÔæ=ùäk“¼?ø•“¼¿ß\åÌåÀ­=…£"šõîd?ß½[œõîd¿ £”ÊTI€½º™H ߯ü>5C<߯ü¾Þ\˜däV=ÜõäbÀ¾ŽomðäbÀ>¿Âð†øô=×ÿ ‡¾1|£ ‡>Á<ùvç<’yÿï†A¾Èãï†A>ƒ.…’Т¼ÄÍY((ñ½ ¾+)(ñ=«Ògü^ñ«<¥ ÷°¾†½Ñ]¸ŒÒ†=ÇöÞ«½¼d»x¿‡S=ËÉÚi“ŽS½Ïê©ã&¶¶ßkÞ Ž¿¯xdK-— ¿æÊaM„=º‘¨Væ ?õ©[©Ï«à¾·/ªqÌ?*Ë9‰Uj쾌¦ÂÉme½É†pâš¿ P@êoŽÉ¾>-°ÙSí>ï#ãömPµ¾’ö‘, ÌA½†¶ÀYeö¾ª:Òb?¶>ñÙ>R«ƒÚ¾jhÉ9Ù¾Ó~2Š=&¸EàÄ%ˆ¾AS­ b¤ >™ÙÑô+þå·m÷˾*F˜·Bû¼E¹§j-°> IZýƾšÜv[H±>O‡P ˜¾‰Í¸O86 ½6µ¦Ne‚®¾JõÚÆöu¾Nø;~‘5™> pZbîvb¾ëUæu{¢¨<`…¾Ù%1£¾#GwgúAc>p›#ꆾß+™úÖ±…¾B#Cäøp¾yAQê5Äx¾nþñ~¶Ç™¼¹a![>2¯,Zq :¾EtÉ“³_>ý€G¾DP5¢¼6~¤ŸÛZ¾î—íÒ%¾%ëòé:èH>QÔÖX "¾õeÿÞE¦¯<œ|M¥¥vQ¾<¡}ºú>:/ßG‹8¾Óõwɱ4¾‡“¿_ìŲ¼¥ [H¾À z*š¿îÖIߨÀ?¨=Hóד¿•jÁ¿¯WÓ=msJ߯?b<]ÕÇ9«?Ù¿Yä¦Ô¿êžgƒÙÿ§«î«ì=ñ.ܹ?öeÔÒÁk_¿z²Ï·)‚…?`i!jõn?Ë´­[¨=år²´òs¿mb>"o\*?þêö——\Q¿ œËÙE¿¡õv` |=M¢]–QÔ4?ïk/"ä¿f$>©»,?í Þ+VÒû>ÄÖ};B=*pö\1"¿ßà‘fŽÚ>WÁÖB™Ô¿Vk[¥<þ󾢤æŒ+e½…§A£œrç>J]-ð±¾Ýl 1a×>˜(•P}µ¦>`Z¢xË=àl-œ¶ü;@8DÖ±š†>Þ(ÈA设NCÜ“g¡¾;l½è)Ó=Î0êQKD”>?C7Þ*^¾ÿ‚æà~¥„> 廉÷—R>‡9¹ €Þ༶&\ú<,z¾§)§t¿4>/µB-g‡\¾%RåùpO¾ë'•¤Æ¬‡¼Ä7÷«$ ?>­º|T©¿è讦‰XÑ?åƒL¹"׿Tºö´§ó=ÁK@¿}9ù?Šuq™Wbe?:Ÿ`²Á¿|ÚH²`Óž¿×3õ Ó=«þ¹Ž|y?‡ŠËHü¾‡!¢å4Â"?Ïdì[ë ¿& ev¿‹=|\`ié/¿%îM_"-Á>zeŽpÊuõ¾Þ¨J ¿÷=Šö=B=*òû5¹ ¿Js(ÏA¼ª¾ÅCX/pS×>âä(½JÙ֛ƒam=ùî±|åÞ¾ÏTÊi}>ßs/$¥Èª¾o1ø[ñ»¾ÍõŽ;ŽÁ=”M3êÀ¾—ÓÙo>¤S¾¼ÔÜ>Qîn­h›¾c·€›|=Þþû`bƒ¾Ä´¨u}*>%À”͘X¾.¯’Nh¾éÒí¼dY›Jn¾Î_Duc¼¾\ý Š3ó0>ðÒ”šËH¾=§ª}ýé›ù >ô¼ólv¡<éÉaz¯ð1¾ÑëyóK¦²¿©–$íK¦²¿É²)·]¦¯¿€ õ´]¦¯¿ÌGâM³?)¦ØÉØrq?(A`ÉØrq?zp3€±b¿Á×pArŽ=?‹¡•/rŽ=?ocRs -¿]¸º©Ê ?dåóº©Ê ?úw])lÍ>´¶ ”ÕMÖ¾b¦]¤ÕMÖ¾æ‰dDô ¶¾SÑÖüs ¬>A/USs ¬>}B‘-µŒ>£ô;íbƒ¾²¬J˜ìbƒ¾giÔFa¾¶º‰¥}¨Y>C´"~¨Y>‰Æoqn‡6>îÔÃá/ü1¾3v¶\0ü1¾Â‚Bð ɾB FƒK> >ºæK> >P·0>úÔ(¾ ”ýÆñ¾¿Mó×ô¾Eõg®C@¿5³«.½V¥Ä¼ðP7?ʇ§EC?s˜é%2ž]¿aeæ$ù\?uÙ¿—`P½T`7ñù V¿¥kÃÔ_¿ÆîåK#l?Hz(¹õfˆ¿¶¡,k¥=â¦<Å{ƒ¿¢Ž†ÚȈ?™`‡[OB¿ìÁ4‡ž! ?» ¯b¯íȽSâÅ^>a—?=Yüù98V¿ŠKd§i?ågÒ3ëh¿Ál¡Ë4š½ÒÝg+¯l¿N_s©ÚD?ß§H]e¿æa ˜¿ŒÎ9¸‰=ÍÍR¡ Dd?ú˜5Êœ?¤Šy%¿›P”œŸã¾ €«ÌeP½ÑjÂ÷u@?ÊÉ TÕô¾H'SY3?P–¨Ã2?ÞG’s±QD½¾Æ?MÓ¾IþIá¾âÂÎ9S6?ÊÓª÷° ?Þ‚Óµ™T½Ç*cØô¾içöÐ>"©Ù«Ÿò¾f˜A(ÙÂ>¶PëqøF=íY5ò>«j‘³>êÛ0ã­ÃÔ¾Ò® ›§àŒ¾›GT™J&=lÝP/á>s-Ç—Ç¢¾Ìo¾¼MÄ>›èŒ„Ã>=Š9õw2 ½šÝ¥Èz–¾)±-̆¾ƒ/Áïʨ>Z‰º—æ4³>É‚6….ù<‘Y«ç^œ¾Í±jð3u>3¢Ÿ=Þ—¾%èÕEzøs>õwé¯Ì{Ú<𾺄¸–>¥M&ëk[>äŒ&°I~¾?”“§‡¾v¶Õ®GùÛI¾©4ð3ÁPm>SSÇ`\+l>µ¿q?S`<³Û).8¾„Ü~$¨ 1¾Ô÷L¾ÂîR>óÄò\>Ò%ºèÔ ¼ UŪ9D¾^W~æ >öšMLB¾¼Z JÝf">oª[ÊÉ ¼¤\éÿØ@>9{¨ý‘Ò> [èø¢)¾x}–94cô=a®ˆú*¥r¼o ô¤ð 3>¡®þE>D÷½&Pá¹Ò>´ª¢ÍÂ>˃ˆŠõ”¼±üˆÞ=’"+âYp¿Pl=Î??Böt–1&?: a=6g\.f›¿< 0èR`¿3 r@—€?ƒ¹= d‰¿Äܸĵ²=I¦Îbx¬t¿+!ºÚ¹c¿ˆ‡4 ,x?'µ­Œ¡‘¿Q™Må#ѽúM`Öô‚‡¿Bñ‰@*%¿y,•ɨI?ë¾å×I?¶Ù”sþMZ½»IrrS•@¿\¨Œ’°ó>â‰Ê¯£Û¿[ŠÊP"c¿ô$ é‘2=žUåTq´?Úâ‡P’BľƚH—Þé>Ç\':cá>ŒŠRà*\=ók`rQܾªöô8Þ™>wB}qzTÀ¾–Ÿ­ä2¼¡¾6&85ÚlÕ<°íFã¹>,°&¬­ n¾.·kp§“>«>åň>;AÒ…–ò¼XTñÛVkƒ¾?<÷žB>ê@ýKfh¾ f³G¾Xjªb ¾<˜Žþ½b>»Žmäªo¾”ò]u ?>^~¢üòè2>Gýpžêù„<ϧ÷Òò÷)¾à‘½ù^ç/¿"‡D·óQ?îàÅ%Ò’o¿àUk¶EB‡½Šuq™Wbe?·ðÁ"êâ@SÙüÞ¿K‘¸¿]³? jB>+ W=ד²‘å-°?Jñ¦;¢?0¿Õ°ºáèXR?ý4«™V?yÞJ‚q½Å§5|6Uo¿ÄcZ`À¾*™ºi©¨ë>ˆcÙCb?„C Õ A=ÊÜ™ŽS³?Áƒã~’ñz>æ¶ûëã ª¾ã-ý×>ý‚¨'LÂV½^è«Yz%§>vÉcÆoF¾k…vt~>X˜^ž —>6B§ëovØ<(Ä)ކ°>,{œm.+>B= A–J[¾’ŽøaÙk„>)ÓÄïø¼n%î]«ñL>M7¤u´A¾<5O½÷t1>@%ißãC>әŬ7’Ê<wÜ>W>u‚ÃLuÙ=/¦ëyä¾"ZÃ]/>áƒ@«9TŒ<´eÆU»gû=>öžì“§²½8ßgæ,ã=³%⃂> (+ ß‘<Ä YÃämÔ=cÓ%zñç=Ö‰-·]«¾ûImÖ§ô½a›/®ˆ<²ÿ¦}5>Læë´•?E¸Öð´•?£Ü˜ÍÅ&¿»9#˜ÍÅ&¿Èbq±Óz¿*+ZÔn¼T¿:ÃÊÖn¼T¿añÜ‚P”n¿ù»ˆeîG1?ó,ffîG1?ÌÌXÔM? 7ôüÕ ¿~ŠýÕ ¿¼0t™¥¤>r¬Ÿh œ‹¾tt௠œ‹¾~&kã/€°>jÉúÁ†¾B{³¿†¾Ã­ß&ØÚq¾)ºªdY>ÛF(ñdY>fàƒ ¯F>ˆ oA‚1¾®¤‘¼‚1¾âjùjøÏ¾€ìÍ6z>ƒÂ[a7z>bø£I§›ô=kZ;–Áâ½·}c¼Áâ½ü‹ˆ­v>>]3ZxM#?&Y÷{;6.¿’ü9‚ç=c?Å>ßlì,§=qŸ0ÐvUd¿;”²äc¿¿ÿë :ï{?$ê-Pà}¿¢'AÁÍ1Ÿ=_žäWïúx?%qê½ÿ‰q?£,ÃÐk?9ˆ\àEW¢?Üh¡AÔ½<äZ𠫦?1AÁý}¿· seáöɿٸÔ²v£? §óbö=kUÙªØÓ©?ÞþwÎà¸q?NÐÍÚ){¿ÊDø)œO?ÛŸ céÁ='ÚTd°Ž?Ù‘¡ô/f¿@ŠŒ‹O†?#¿£¬†=?¡ó¨¹Õ®½ý*'òþ„¿tá/2bu)¿›ÈÚ$›9I? ]ØöZ?M=ú|=/çA^‘e¿u‚YÅïP?½ ?a Ù:¿@fçÁ=¿º£(ïU=É,Ã7Éþ?íƒH Ï?¥¡|(¿FÔq2y1¿ÖàãÙ©üC=#Ï7YZ©?‘ül$÷¾HZ»á¦?»'ÜÐã¾é¨÷ˆo½Ã³'ÁYO¿ºŠ¢¯ÕÙ¾¨SCáû>¬ãB8*a¾>ÊêÛÙÎL½Û;~¿¿³Ša^ É>MVËÓ5¿ë¾Tñ;xÜ꾆¼¹0%5=Á¥YÅÐÁ>é¶xþï®>‘ÅV%Äâо )ˆھ ïÜD#½@´32sÄ>³1>.¥£¾: (èŒÀ>©2îJH™¾;„9¾ ý¼dÖ« Ò¿¾]P›7Šà‚¾îföx¾¤>ŒÊvT>ãÿü{æ´ß¼Š“A±¾ášoÖ£r>æëCÝZ”¾°GV$G›“¾<–œÁ®¼&Cmdc>P&Ä|‹ˆW>5Ö@Áz¾Lª!x¿„¾bcåÑ?ÄÌ<)÷ÖnÒl>=Mw!ÍeF¾O$@mli>ÜO¡±MH¾øÅ!„(`¼‚„Ës“g¾UX3^Š/¾Ò ¦Ä;§Q>ß`.«\¥¾î*C–2œ<½ÀÊL:yZ¾Ä¯5No# >‘]0ªA¾Ýéøþ5ª?¾FòÁiBBºaù,ѳ?GY¢˜ü=r;†D·Y ?Zô2ôL?—w ,q¿ÊZ“þ,©q¿4mx<Äs=/Xð6´Mh?ã5i¿Ø¨ØU5??Mp’€.N*?&RzMMO½òðÎû *:¿LÞ¬†ì>…ñP]‘Ë¿‡©kúî¿Údb\j…½è_Ûg­?SȯÒaÁ¾æ æ_[xæ> Æž³÷kÊ>¯ØÍS¯½ôßm£á¾Ú†êr6å”>³þ—ù*»¾ªl"ÚC±¾Õ*¾,æ=È6žïó ¬> ) «Üi¾Õ" ogì> ¥?5úp>ŸM®®à·ä¼µ–Rî…‰¾ðMAâõO@>é^+­…e¾ûGµÁlZ¾á®Ï‘…¢¬¼h·¥™°R>³L {µ R?è­hƺ÷s¿Åk ðe“?íÉQE¢=:Ÿ`²Á¿SÙüÞ¿€Oªì·Ê@/w»Ú¿§F§ãâ´½T«‹J€ZÖ¿,?ûo gR?€O´õymt¿w;Šx6&€¿ Œ<‹@•=fT‚Åe’“?³RÝ#Rç>—Ž ‹g¿*ß@’;¿"°Ž= \½RB•{N#¿>‰%Âu¾÷–'ò„0¾>´Y0í¿wßÅþC½€=ºÞOƒ•õË>)°x—lˆh>ó¹?L·b¢¾½ ޽¾a¬§aÐD ½Œù3jOÎ×¾‘»dÇòO¾ß.…ñÏ€>ÈØžLa­¾¸õÜ_z!=EX)eÑ]¾Ÿa  F%>µˆÝÿö.V¾7W³Âi¾EÚ<ï:ò¼ЇԀ¾;S@[¾.5åC3?0>™µ®6V¾COê/êĵ¼..k³å·¾¦€0MÙ=`@ÃP× ¾pƒ²»&¾Â*yÓ”Òµ¼ÞçgkFý½Mó;|¾ Cä6>Š&‚ 4‹>´P øÅj¯¼¾ð^áiú8¾ ´`HÔ?+ý3Ô? Õ¸^EŸO?v*ô^EŸO?¯‹´Ž•?§, éi?Ó%éi? A4+t?–©ŸI¿˜ÖˆŸI¿¢ iM#ß1¿û?‘ØŽ“?àUÕŽ“?0Ldâ>†ÛWø¤"¼>Í z}¤"¼>qŽºz0Ô¾Cñ@Ç0&s”ª>0rð/!–>¡MÿÑß³}¾¤>rݳ}¾øítgªm¾µäNÄY\U>®ÉPkZ\U>J¥O eA>w¡{ϦX/¾þk_~§X/¾dßV5Eœ¾<èïÀe>§£ëÀe>óAw5é0¾Žç7{ iY?ÇnŸ>x¿©n6ˆÆq?  v´=f©b÷¥|¿ÛÓ××Hxh¿j‡ekã>…?¶ ×{¿¡ÚÚ}ð½Ä]9øB‰?L‹)?¨?×x€ìº$Ì¿õþ”«°Ó?•HcYã=© :¾Œ½»¿ú[œ…a¾¿”LÕLêîÔ?PÕ-¼8Ê¿¥’ÚΔÃÝ=tZ‰hfÞ¿P8á _r? £‚9¨>‘¿JR[_8Ý·¿'ŽüÝÇÙ=ÛšPz³£?ŠX9Õ™ a?Ÿ[°^’‹¿š Kí+z¿UHjÊ“=Þ¦O;“†?‘ÊõDaßJ¿¬a¾G™Km?Ï)LÅ&¿^4•C­;|=×dð9•s¿IF³~6?ö\&&S4Z¿äHßùGY¿y0gM²•½ª1)µZ¬9?ªÝ=þI?Z X›U?¿ÃöË;WF¿‰H#½nZ=àÖR‚.?ˆä ¥²÷ ¿$µ9e>.?cãÄ:@¿ø<%0±ÍнyRâÌ(+¿Ù´J¹ð¾êG0²SÊ?ÿkÉÑžwÿþÍuf½ÌãàZ¿Ö˜v è‘Ý>‚¹µ¿KSÄÍÛv¿ÞèËV²@=ò>¶>{'veçÄ>|ê›_Œç¾=¼uŠqvñ¾íç÷¾–µ/½@½¤j®Ö>åN»Ó²¾ðàl>åÕ>ÃêÙ”¸¾B"ñptÉ&½2ÂÊäúÓ¾Mö¦Bš¾Æ#'%¦½>ÜW­†ì(v¾³78Sxé¼ñ(¸lh;Ǿr)rH´‡>ª>|RØœ«¾3å„k¤Mª¾8o€z‹ð<|ã„V>›zî(èp>Ì-ðòa&“¾S§ùÒnœ¾ñÐ‡Û–Øæ<ß.—û_š>ÔçVY”^¾ƒí+ØOæ>§î̘f¾²O¿¦X3ª<Æî¢KIÚ¾¶ÐqÝ÷zG¾å3>ˆÕj>ö§"«êé>¾ýÖWÞÚr¥<îuù\Ds¾èØyqÝ7>\¬ ðZ¾“ª\ÐæêV¾[Ð-ѽl˼‰ñ'M¯T0¾¤÷§ƒE?…/…pÛFp¿E*ùÌr¿…à´ùÔ啽ÀèË›Al?új” “™?0 s+.EÀ¿ÜVx×˱?ý ¯J›¹â½À“4)Q¤¿/x|˜m# ¿ü5ÛiÊ?…õÁƒ‡¦? ò ¸Óª>W× Ìü·¿2 yazc?WƒœÐŠ¿ÉEyèØ¸t¿üÏ`çãu­½£_Ýg|?tmª %­(¿ŸØI*–WO?¾A,’\Ý+?±ÊlÆ_ž}=-HýøŽG¿jɽGB?EÂT*:l(¿¾ýj— ¿ûîôB:G’½åæaXÈ6?ç5 ë־刮:„’ý>%M“avÖ>2©?ã8=*áðV…ô¾ËI Þ‡º«>ó›& —Ò¾œ)XN.ƾB­îÀªŸ1=@Ë(·À½>h&­¿žL)@²ç§>J„€>f´LËëÙ½j'NéG ¾LVÍoiOW>Ê6Úáó†¾Ý•FÐ2r¾Hî}r¤˼çòu„Ve>DÁ ô}Ai?Üíp=sÄŽ¿œm#2ÑAž?{ï]þâÀñ=|ÚH²`Óž¿K‘¸¿]³?/w»Ú¿±v–˜Q¿à6–Z¸vz?#MãL–²„¿i®6› •нñÚ鼎¿AV›ŒQ ?m&ýÊ]0¿Oã wE¿?ÔØgó„=ßç"àé?€4¯ŸÞ"Ž¾È¾`4Dá>&o'5ê¿÷faôþ“=BŒÇxE2à>i×Üß}Æ >ê 3ξ )s°Èá¾c¬‹<Ïû=Í#…Àœzç¾¾=­Q¦r¾šù@b7¡>ÐsOü—Á¾_ÕC€+§7=h6¼9ãX ¾1$žÂ«H> ÙÔK+w¾O®tõ±ˆ¾M‘­Çè ½ú.o%¶“¾krÓ‹¶@m¾ toŠÆ¡Í¼uO/é)yN¾e‚vö=-46ãÃ&¾cv¸ÒÏA¾žÂ¥Ø±9Ç<ýÍçGHR¾zSqº)¾!î„É+R>v„Pl¼1>K²`1¹<ƒ ˽¯üR¾{}èPó:?ÆP·ò:?™ƒ•™[Ð`?Øÿ!™[Ð`?/‡Ç&83·?κÀÊx±?ÂÔÌx±?£˜áz(Ó¿*¦²¿_¿ãŽ¿_¿Ì~Ii?V±0Û‰;¿Aþ¼:Û‰;¿´í{Gžµ(?y‚7uù)û¾2ÑÁ‚ù)û¾þ¸R×¾ì¦gÖúÎ>2í¹ÓùÎ>õÕ¦,`±>,Yd|;À¡¾N\³:À¡¾uÑ’iw↾ùɸH‘x>ð~õ‘x>ºzËÌÕZ>7WÛÙ¬P¾DòÎÚ¬P¾ß²Is5¾«M¾$)>§|0¾$)>›ÞNjöI¾nF=å…=¥•¸É¼³½§>ÃIÒZh=\ÀóŽç4;¿`Ët?´½ÃÐàñÉ{j½/ ^õüâ =f6œ+³½4Ú‘)L™ƒ?[ʆÿöD°=šoIƒ½=£)xÕœÒ=ZîõÙýX¦U»C°¿-E¬{¾½m$Î&¦ä½Œ-`ƒJÎ=çºà‚νãCN æ?eÎ ß“³=äT†@í»Î=¦qLÉ Ì=Ž‹}¨Á=QLš€œ¿ý^¦šQÒ½€E;Ý]Vª=f·’Õ½ÄM˜Äká=$j|ˆg†?Ñ¿zLIÖ=ƒ:µ'¿Gy=ÊŸ(±!C‘½O?—ùnç²½2ºê•ÃX¿Ál\kØÖ=ÅG1°ÓV½ùŒò~.y=×ÞÖ¬£]´½ c‚܇0?ÞW{ëÇ=y—ìðŽ‚½%'3¤=X(½D“¥=ÛÆ€:«¿bë‹Ht½÷,N®¥}=<>Ÿ« ¢½KùÿÜÃ~=ß<¾BãØÆ¾&dÌJ¡=ñL~[yû^=‡ÕÔQú½¢€»$9H=<Ø[”¼¾`™»<òl‹=”“&j)aM½ç²µí_ªq=Àj 0Þp=øÙù¿¤¾¿<æõc6=ÿ4d¼¾F5½'ε~X=æ,Vbb=|< ˆJ¾k#Þ1WòC½0{®"=ã`Ø_zE½qá à­/=6¢”J d¾ƒþ–C=‡\“04 ="OÃ>õ70½Ýõk=ùa"¬w68=´ zw¶ù¼üb[Æ=í½¹\í=ÆYÔâ=¾³,®È*HÐ<ÞETÈâ¼tœ>g=T¥­A7= ‘Mn'Çæ=R±yºñ¼•’È(Ð<—, |eó¼XÒçÙÖÜ<“|Ç^¨Â½Ÿ¥$q™#ñ<öyѾ.·<½îŠ2fß¼õÉùÆ…sµ<•+³[Ç =õƒÖÃèä<z-Û¤¼ÛDØb-½Ç<Ãú×^È<ÆÿF¼Ylb½[Òîä½<ù[(S­äL=èÜÏNÖi½Y+$ú´ ®½ŒJx³ßÞE¿ÅC«­¯º=Ù¢}|1é©=nÚÖ¾©hѽ®«qí[´=³Êžby?úŽÎI{É¥ìt½àGƒ„xG=Âm[-ª8p½Ë¿skä:½0ž÷ÝÖx¬>†MÔ(ÃÖd=ä¿°¹h½[©wC=[ïFäÈ 5=P²×äÕ‰d>‰)òPTÐ(½,<ÚUÑó<7äè™ 5½5E3£ÝÜæ¼o0ï÷Œ>#P;”…=YÛ].̼¼¤dÔ®ò+ W=§F§ãâ´½3:CéÂjà=!OvE£ò?âb$ÓŒ¨Ô=¨l}ë||½Ý”;=Rüº½p3‰m-æô=„ôbŸØ? DAH›Å¾¾ÿ(˜…•€½Ì®à:5¨=:QºÖWÎ=ï£zAä0?šæ³$óqÀ½ç»¿³yL=ú?Xe~t½Sç­w©o=B¥4Áé>£tÕ¯`š=)'Žï½äâ‘…ˆ@7=®(b–ks2=ôõ%’Ó >ª­ürÛIb=i2^㈊ðWËï¹/'=Ž-êd™…¾¼¹,Dß²kì<§A\'þ<0üÉðÍ ß=“À%£€ =ÐUN›<¡xÌ/Ñ|ȼ¯âH÷ß<|ÇëŸœó³½ ®ôƒŸÐ<Ä#ñàc¼cJr©E‡ÒªQì¼|g&uB…¾ÉÔ˜xuB…>3 ¯Ä4åúš.­4ìáȼŠùG]‡´ò½P›$Œ´ò=FÔëLGµ~[D¿~Ÿ&o®ˆ5?âÀ)ëƒB‘=¹·"ÕÜh¿r,Àº#¿¯ûô؃P?:ˆ·{ä¨A?ˆí‰¨‡=Î2µîå.¿àâ9&"á>²uøùhì¾ÖdûPˆ ?[Ë-£G=9Îó¾3?%(†#ôŽà¾§²”´qÿ>aJŠ¡?7¤Z§ÉŽh=—kËÍõà¿7ˆ?Àº±>º°vgpÞ¾=¼²B#Û>ª§‚±õ×C=—:ܬÄ> ׿x®ðn>¥í)lÏ¥²>’S8 :¬>Àh„ËP0=k뀧κË>€¼ÇäܾˆV.•Þ·>ä5£ƒnµ>½Íìš¿å½_Wß>Ñž>WÑÌS+Uk>½ZáQ`œ¾0,SxÅ¡>ÙqÖwΦ=€ÑëH…>®"™9âöi>6P3ËE‘¾B[ï¢C€>Lçme³³ã¼_—x 0’>NàÆx¾ïK¾Á!¬)Ýœv>ŒÊBˆ´s>L™Ãùñ¼…Ox¹àp>å]NB¿lD¾Ðî‰5j>c€zo>„(tí/±¼ô{ËTC¾Þ7 †Áî*>ÏÈ‚ÆeS¾gg׉êM>w¿#Ä<êe~ÔYÓI>9‹‡V'Ó >­óç¼ÁèD¾âlí3Z#->4eÓç/¥±<²[åZ;ôH>ßêý~ž¾î±˜Ør 4>¹¤¥là,>ì—@¯jÀQ¬.Ze,?`X§±’`J¿*¾l¸oI¿—¨2B„g=5ž¬âÜ‚?QGtþš ”¿ÑÝ ÏõE½?mB+P%¶¿E Û” ô©½v±„Z°¿yB1½ò°?Ò•uC׿&¥±,œS…¿Ö’p¿U\ø=:r¨-kÑ?}12W rX?͵S׿*`Và@»u¿Ä;„ì §=C ªù&{p?{uZàëÏò¾áPRÒ¸?Ÿ~­äwí2?PNxÚØz½¯ù¤îçI¿7pÎf¢À¾š´ö 8Yô>¤^–¾æ6§œwy{½s†d7º¡ñ>/ÀQütŠ>S^Ô ¨¿¾L”qV/åÂ>âùX€cÆ$½ 5;«¾‰²l†£¶Qû ‚>–Z“A½&¯ø&¬Ž>^¹È:8PP>ýGe²R9z¾.àø¤ß`>Ðb‰ä<¬ëÅ…g–Z>)’Ís+¾òÓÊRU>⺰ÏáÀ@>‹,ôFI²¼„Hïi@">þØ®~Bd¿:JyöŠ?Ò3I¾ÇQŸ¿¢4Ù&Ûæ½«þ¹Ž|y?ד²‘å-°?T«‹J€ZÖ¿LèÃÔÙ¿âb$ÓŒ¨Ô=qÀ²PtÒö?â¾O r?ÁB |–¿ ûƒÎ‘¿®Ébû-±=Í÷¾ ˜G§?•滉Q?áZ¨Ô\ù:¿4Ó†vKT¿î»lP(ª½­†É:?­ãyœ Ä>ÇaÁi%×ð¾š_Ø—iâ>BTl2=2%ºÿ?âHSG—¾ c¡(Á>Ü€6§$Í>Ÿ´k¦ÍŠ-½Xºèѵ5ž·‰o„¸Ÿ_>xŽŠ¾Z¶âŠŸÕ_>ù»ËâD½ê€ÈRM˜>P‰¶±ì6¾~} *±Ùb>ÿÙkr>úÂüSIï<›ºPšC¾©YcÖr >e± ºæ7¾ÖΑµ ¶2>6d{P܋ļ I¯z{vE> ÿœœ»Û½”ÈZÖ+! >µdW}4>ŒdÊ[§ »¼üÈ]•þêݽS(T>ä­1Ú~0¾ˆ¼FöN›°=[ í9´¼ºE×E©->†DB¢üd?;[®µèã’>Á”™ >]>”*È9Wáe¾ÁS5mWáe¾t¤ßG¹5¾äè˜æ#;>¤ÌÏTæ#;> ÛMAÅ >]…oÙ¯Õ¾}«U¯Õ¾„$ô& %>¶—XëB Î>F뾡‡³GÕæ>L^msoF½¡.F²‘¿§$aFÚñ>Þ’€¢B¿âOs‚Ê?æ™êv%4T=á®ÃæÀ¸>õ^¥úçؾÌÐØ‡õ~¿Ðþtø'k¿9LÅjÅh½ònõF%B?à)é׫C?Vû9Óú¸^¿£°¾Ñ…“E?„õ® ÿ§=|^±Æ=a¿&^ý&ú^¿r”*P¨ük?N ÷Ñ™Š? ec;Ý¥½ELü>¿¸ØÛÏU ¿*SAwð½â&æé¢–¿,Z®1V¿\ò´X{i?éø+ºq? ‰ÔóI±=Í;)µš[?p¹­”³ÜD?^²ö@\e¿™_2„Áõb¿ ÀIKC؇=eeço¤fL? òìÒ-?< wVˆ%¿ê1aÿÞÿ>¿Ö²ðÓ?a= 9ìÏAE'?1ËÓÐßô¾xÔˆ.?òíóÛm÷¾‘gò53r½‰©Ÿsy¿íE“á¾ØŸHõG?VëS·s+Á>K‰._U½Ìf¹ ¿ ÈZlºÐ>Ïíôiżò¾­éì#Âò¾8`©ƒ;=œ¸ÂÐ>l…šP”-³>¹>ê½TÜÔ¾-lÿ¾ßà¾xüÝg‹+(½“5=,c¾È>Tu ßP;¢¾áy¯`mÄ>„I<)aŸ¾' žÚf½ØÓIsþуä^q†¾šsn@©>±›T˜ES>š‹EHå¼x›Í¨¡´¾ºÄ?o‚eu>bu¶Î˜¾úÕ£ä!F—¾û¦®°î£¼/Àz«gpf>â’žf±ï[>5ŸúÌè~¾é½ù’‡¾Ï·ŸÎíÔ<Šó“3ºp>6ÀúÕVNJ¾ a?Åîm>¯áÁѧL¾ÒNイ°;9&]k¾½íÚïâo~Ž8bºïC¾z“ØdbB¾i¦Cᮬ¼Ì^Ê0€E¾Mw2ã~ˆá>Xã’˜¥È¿U¢|¿ŸÌ¾›Sê”ÈVÿ<ßE~ŽûS?U‚=“¿H+àg˜@?=ÁDýs0¿¬¸Yš; m=‡J¼>Å%¿U»ˆY`¿gúµB,€?vXƒOŠ‚?¢dê‘}@œ=¼SH„?f¥©)#Àc¿ôü?ŒQx?™ìòߤù?Ó+ …óã=vÒ ŒPc‰?“a5ÞH^%¿óÅf™]îI?Žéðpe‚,?á> ×oûU½…õåN¿,ó‰ßó>ìäÚ%µã¿”##×~¿ô%2e{v‹½4‡% ˆ·?[‘ÏËaľ*Wmƒ'ê>©5QM¹ôÎ>(x”‡F¿½õ”ålîä¾µs¦ME™>\§þ¦qsÀ¾Ò2][Æ´¾“;ʦD=ÅÖ¹ΰ>«äÁGûbn¾ÿ{ä“>¼šÏSMÐs>7ZÌHz­è¼Ç…Ͼr„QN÷B>4?âÆ¿ i¾SÙ ´^¾>Ê+Ý¿¼}‘ðò‰U>Ũâ2Õ·¾o¨F¡Äà>î|`sཿû:†ƒƒ>W½‡ŠËHü¾Jñ¦;¢?0¿,?ûo gR?Š>v–˜Q¿¨l}ë||½â¾O r?«7¢óâ@ƒ¼}ĽÞ¿Ó}$ˆ-³µ¿·¶Å Hô=öT­¥Z·©¿[¹ê K0¿;©zX¢fR?9rŘ¢ßi?!Œ/—ý;ÑSèBe¿q“yùÀ¾¼Ã+ò'ì>’+ùW®r¿J´ô¶ Ë=wµÿ–˜¿C³¯ˆM½y>`m.˜à@©¾̹ÙžÇBVÐö½€\‚,ùÕ¾c<(fF¾…vµ»=‡~>p¤öj¤±¾ÛUîvj^$==•Ý2$=>yCœÚMß+>Y-›O\¾Û¯7 —yq¾âLv¤(õ¼³1ݘV®‚¾OY¤¥ ¾ÈQ`Áò2>#NßSY¾%â{›-ý¼cyú‚¢%¾)”úZâÜ=¥ÿËílé ¾ú­¦·=*¾_ÍŒ=§ƒv©¾ø >['ì8.š!ç·¡…õ>š""h¨â>S×h¨â>½¢b4Ì8¿L±æ18 ?°„ã18 ?wÐ'ÔÏ`{¿†ôAè"T¿/Ó@Vè"T¿[¿ÑGcÆn¿jìžÊ–1?;šmÊ–1?3ÜïØ'?%þ¼ ›ÿ¾ùó ›ÿ¾·ô¬ìF÷¢>Ø™ƒ0¾R-8Û:¾:z43‰°>fÈþNE¥†¾îñåîC¥†¾=Ÿ$„^æq¾íB#×Y>áBÎÎ×Y>þâ²a|G>]wðWN2¾ô_ eWN2¾5Hi5t„!¾M&›âÞ >|N7ØáÞ >Ùç’3¾nd%¨aú¾“ ÌJµŸ?àÙ ®Ô¿ŒGc¤-ª=µôÒØ@s8?é‚î¿Ü'¥)WÏ;?iE.¿ë½§÷^r½Ð;ÏÖ3“!¿—ù寓€?'é¡ý>µ75ß5ûR?7CŠ(a?v½êJYç5‘f¿¶¨pÅð8d¿‡%Ì›KÞ}?A;tûU¸h¿‘Ǽm”ѽï+û*Kù?ÑÏé°˜kq?hÐß%nYl?'m²ˆ«¿:LRÐ×=IG`(÷“¿ªb[-˜}¿þ­a—}Ê¿è{:¯¿FØE&Vû= /k½)“¿ëÏ)¼ì¹q?é«HÜ({¿(ûzâo“¿c¿'²kŽœ›Lª¿WÉ û=f¿ŸG2Y†?[à «~ƒ?1+Ì ûˆ·½®8z»ã~o¿¤UF^¹)¿Î-™­I?c›|Åôc?É`Äyï…u½R<çøI¡M¿H’æ¾?Ñfÿ ;¿)ý»*¬?²(pûÕe—=©îJý5>?ÇXD}Ê ?þ PÝI(¿v©³ÎM(ó¾vxgÄB{=,A^Ãú$3?Åý÷.m÷¾3C’6ó?k^U“ø?ut°‡c½ïÓ¡Üûâø¾A_Ŷ Ú¾Ô¼[r{0ü> H¿óW?¾p4¬P_R=ÀØÖäÇßñ¾™RŸi³^É>›wò6°ì¾"Š:WWÃ>Ìæ/µ'v!=„á<ë ë>õ cøQi¯>Q mï&ѾåÎ9>ž‡¾º½÷ì3‘=¾a$³ÍÜ>#f7Q&ž¾Ùš`ÔÑÀ>Å7ê2·IÀ>ê5eÎWã<¤jHbÕU’¾ï8Бg\ƒ¾r͇nÙO¥>{ È/t°>jZ˜‹sý¼ðÜ­  ˜¾| ³ÀÒ~r>Q¼ÍË'蔾çðìÚØr>~M„ÌÔ¼¾<ˆ*Õ‚“>(ŽêæwšY>’o2‚|¾·Ï*ÖB>ÔëWðÝ¥¬¼‹éVO‚…>l›Ãóy-J¾VÉTî ©k>ÿ6 n½i>J¾á1fÆÐ<Ð?.x·$>=D3 † ¿ÂxÅÖǾ1?Ur5Ù ? ˜u u ½ŠVØ jB¿öâyë-9?È$=Ýd¿êAOçÿ˜S?fbf噓½‰4æ •OP?fãí“V”|?Ì5Ì:Û™¿¶áøª¨$¥¿„ëÈjv’ν¼E@G``¥¿þè„‘s u?E´7¹M?ð»‚Rƒ¨¬¿°½¿c5ó½´gß=쯿ÄM¶-ZM?Âìoq¿XVû73¬V¿¿ *À&£=,­ë¥èt?›0OB¿Ö‹œÂj??“ ¯)Õl4?ø¥qs¨E´=ÿ¨2÷¿b5¿Ùèˆ.ëtì>#w%=¿^ÿ zxX÷¾ô‰…Æ?C=4}ZÙ ?ÌE³  Á¾äÕ>&ÓÈæ> «3ƒÂ9Ý>ê0qélD½/‡Ý¿ؾ¼˜NZC•>l~[ªâ¬»¾+pUºy¾ÆQg`eß=ß&;K+µ>Ä›ïUj¾ydoð÷s‘>Û½í*é…>J ­ø!cå< ˜ýÍRH¾¯Á(ï‡Óä>Ôc²{zE ¿ÆžyÑ=?yÔãø²?}=‡!¢å4Â"?Õ°ºáèXR?€O´õymt¿à6–Z¸vz?Ý”;=Rüº½ÁB |–¿ƒ¼}ĽÞ¿&ÌóË@TCNíÝ?>ÌœF¾³ýã¥Ù”Ñ?qÇ‹@rzR?ÌFé­€ƒt¿št“?¬¿ ûâÂMUx½i“ ÆÖ‰Œ?F;iÜxüç>?½(/Hì¿…Ð-ñ–12?\ /£)ª½º‘Ó5~Q7?IW¼·n¾Ù óCW¼>‚åò Âà>uܦ‘u{A=‰]¬ËœØ?  Ç!éh> 6ÌØ¦¢¾Jb`É8Ù>D:»gºL½2”"æ‘Ì‘¾ðb–H¹P¾ ƒÒx;u>eŠËüýé•>í/ž_*=D¸<«>M«9óÆð'>¤ïnÑkX¾^›&‚>¥×:tÐé<;ï½Ê›A>‘[ ·o¾ùnÎ,44>]:ibŽ)R>3O ©¡É¼OHh‹YV)>.ý*À„:>$ËÝÒ ]b¾dážm„|H¾¨F0¾¼¼7ªF'd>-ÚÓHl ¿¹ýàGl ¿¬é ¡O¿ÜÉ÷ O¿È¹SRf _?ÀApÁÑ0¿;yejÁÑ0¿Êr{·2–?–§cg?Ô5ªcg?„[¸IY½t?µ?ЉCJ¿õ†9Q‰CJ¿+?v*C0¿?‰ÀXó?³²oÒXó?ðÕ~5Gã>•ÒM8ô¾>¡ky¾û¾>ïJ JÔ¾šˆl•IÕª>Šå¦GÕª>ö @fU–>ªe­eX‘~¾ÛUÖhY‘~¾Û-ì2Ço¾¼wü2W>·úÕb2W>)|ïwG>ؤK8«ä1¾û(ªä1¾ñ«šîâ<[>Þá/ËÆw%?ô„;àµF¿ÒË:ì;à?j3æÊºëi½“©¿`Î÷R¿g6¨¨©å>¿¯¿ƒÄ6`?Hòg½a¿!È#bva½Ð1&·Z?¬­áøµ`¿÷·0:ƒ?Ò^FvG׎¿í®e¬£º=Q' ´fk?2pÍïð$R¿An0+B€?¢h$åê9}¿Yþ¡ý0ñ½ì7éÏBÞj?Þ£€4»Óƒ?ß¡&úiÕ±¿»>B²@¡?(ê ÃUÁ=¢zÎhx ´¿E*Ç7›6Á?ùTì'©$Ù¿·KÆ7µÖ¿únÔË>ÐõÑóÛ¿›;[ßþω¿Ý˜ùŽ8¨?LÛž¸£ñ“?­UžIG:¿½û¼-Ф¿¬•0Ù’'k?FºüBi2¿ß÷Öa?øy¿Ê68¸=È•L²p?7mü…†)?®·‰!VýE¿ô¯7¡q¿¦Ðc۽~S\?XÏ'…Ôô>Zæ2½é8¿f%TÒ¿I©íŠ-½ø:B|!á¾D0Ö6C¿ÿêÀ(?/ÈÙnk ?t`e]ÑEu½¡Qa„'ÿ,¿äÐÀîHiú>}â8æ¿,õdd-Ä¿&s³Fl=|5Õ ?#M ²ßÔ>'}¯®$ô¾²Q° ¯¿RP§¹Y½i:Ü'ñ¬ò>˜ âžžÿà%•æ>¸K~NŒþ“¾nc¡¶.45=hß7p/\ç¾þ’P§¾ÖD@®¼Ç>Õž og¤><Ï:P£;½`ì… —«Ö¾Pdd~¬E˜>S…;#Xa¹¾1ó6]„_¹¾Ò¯äÒ¿ ½2ÂTõŸ>Õ¿ÝH»­z>¼?ØCåÄ›¾À9Úèë3§¾úvR|]Ì÷<°ìQp±•>gάAl¾ù® ôtŽ>]„¨Žd P¾T³K-Ä~×¼¤O—°]޾¥Žœ;P¾ãÏX¤½,q>õ†Éµ®À.>¦ r‚N¹È.G%uŽ`¾1@9[±ea¾s ŸjôÃ<™¾"¼}:>™hrLû´ ?t4ÿp÷1¿+k±Å5A¿-•õ¾Ì^=]=p9ŸU?Ìå(¿CF?šÁÁwo¿þ¬aÏpa]?M #€ί=gG8ÈŽ¡a¿š¢>걄?à€‰i¯Æ°¿\ Ää¶¿¡þç_ê=£áë[X ¿*+·öoª¿ç2c¬/Ñ?JIݯ´Ê?#4ÁJdô½TÌ[5ˆ±¿¥³º Jb¿Ã<ã܈?Åv–¢Vòl?k”óm©½ú%›Z¿…³¹[?¼šécm9¿ÊgY¸¶(¿ª9ÞwV_º½®–´‡šc²“t•FÁa½Ò±R ¿”$ŸŒÊ ½>“î÷„Læá¾ßìžÊnÙ¾ü[óÝm9=ƒfyÜÉÚ>Æ¥Ä~ ª¾Ìó*bôr³>FÃ+— k¡>Õœ)é:ð½%—”aVÞ±¾˜: HUhb>{!0߆¾²¸Ùè8€¾¼Q)D˼cØøÙ’~>­4¢Í¿s5À†ì0?oµ=îOF¿¢G•šq§½Ïdì[ë ¿ý4«™V?w;Šx6&€¿#MãL–²„¿p3‰m-æô= ûƒÎ‘¿Ó}$ˆ-³µ¿TCNíÝ?—¬%Çt„ò?ºh)úuÙå=4ßÃ-ï­Ö¿ŠYØ'Ço¿îê4í’?Þˆ„qÃÂ?ûHRô;Ã=á61L] ¿Æ6“û½{¿ô¼ ??—M4w¿,‘ÉpÍx¤=y`:Ç· X¿qñçÉÁ¾²rQ%éè> ªÇ;Ë÷><ÆÙšt㘞ü¢¾‘—Ì^<Ù¾°¶4;#ÕD=ù©P·«7Ã>Ï bFº¾Q篺VL¾Æíƒž9}¾m¨¦¿ê½Ë‰?²jÕ¨¾Ò}®ø{k>s݃Åt>˜¶ƒ]Öþ|¾´õ .{̼¶$"»!³^>«Au}Oç=Ë©¢Ô¾Q¡â‘D¾z Ã)V®Æ¼ü¬)î”*¾üÝì "ò-¾*/uáºS>JñK§MqF>ž@~œˆ»¼ôì¹§ciX¾Ô}yΈ-?Gºˆ-?*x˜î‚Ê#?y=Mí‚Ê#?®‘öŽo)¿DBÓi[¿° §^Ói[¿}OÄ{¸?æëÁ‡w–¿÷⼇w–¿Ä›`uNÇ¿[sIp¿-§|ŒsIp¿§T–¼¼Rj¿¯ê«Yãq¿Sð®ãq¿Ð¶S²Ú@ù>Kõ~ü,¿ï$àIü,¿`×™óâ>ù-™Á~Q—¾G~E$|Q—¾\uË Ù ã½ äC¿€l¾ìÌ+ºl¾"½á"¢žd>^ðºð $,>2N‘;$,>Qb…¦u<¾CØ*xE­ñ½®üÞ¥F­ñ½0ð©HTP¾$ŠÐê8¥Q=Ù~¾–Ûƒt½WðB8ãe½]´ \[ñø>˦‘f€Øq½É é;®J½ßp9Z^s=ñ4/±n½öª1j%?«{ u+®B½›¦~ꤜ½Â'Ë ÂÄ=j½L­h|ýl_U…]8;¿fªpØ4Ò=<fw5¸µ=D+Ð)Ú½º5Oz«¬½6(Àzº‚?Ü1lWó¾Í½P»E~ýmœ=×xœ»¼ä½¡^Áö}S§=‹Åmruj°¿4O{¾CJã½±®#“ÜÔ½ÙH²”k“>@þ»3Oþ=û:!—ñæ?‚‡·¥ë=ý™¤˜êq½Ï×n­ùµ=£64Ûݸ½UK0d›¿¢ñ]ƒ’•=Rù"Ô‰›=LqÝݯ&=§Ì½Qaá‹rŒ†?ÕqÊ­+º=7Û9Âî–=Æüo¯Sr»½vð`ƒM®½h ûØn@X¿±Z G+²·=¸Jû鳄=`ä‹yÆk°½®›Ùûë¥=\%­ÔU1?üebÆN®’=Êêl×Ïd=3ÃmÞŠ½â½7xt=#(Aþ—¿«ü7÷è =y;¥bI&=q?¡“·R½¾¦Ô¸ÈµV=,æãmÁUÀ¾•mÙn®s=vž@D@KD½ýÎ^-i=}"ͼãj=>ôtÊç¼¾GÚGÓ ;½NÃݳF/=]ÍlËU½2«ÐËÄ"A=ÒŠ8ã[Ô£¾ú‹Ë…œP=ºéW&å=·„hÊø=½Ô‚ó"A)=Ä£^½¬P¾Z+º··D=b8ÒÊú¥½ ½¶6Ÿ)=Ã!ž*JM'=u6Ñ„Ed¾«ùqÕç=0á+°Fò¼…á{Ï=;w²=18õ?0!>wðÙ—‡È÷¼´{¥Ý<,£¯[úg½Bï$’ñ<™Ê 績¾ê0î²EÙý<ƒW笙±Ì¯.‡suõ]=$O’„U&½‰ΨöçO=h‚bl1?=B„vãá«>‰’·˜³1½| Ôàà‘=´pón#Q)½oÊ<ò¯W¥˜d>³þÓè=RH<ÇOÙ¼Í̆9%À= ë,9Ïð•Ò3g!!м ¶dæ1F½´`!fö{l=ÅÓ!»@–½YÐB“Ò1?& ev¿‹=yÞJ‚q½ Œ<‹@•=i®6› •н„ôbŸØ?®Ébû-±=·¶Å Hô=>ÌœF¾ºh)úuÙå=±šäE ¤ò?ˆÒØë™Òö= 4.VE4u½5ò9=¿\–½ÐWPúëŠá½'¤ Š?ƒaN·Ü=Šõ±»±ó^=”Mcæ\†½ˆ.KCƒó³=T!pèÈV/?±zŒIügýÝÿ‹}ƒO½Ió¿}d@v=Êxµñ«‡=Å÷ ý*é>'©Q!i½=­²ËÂû<Ž—ôJ(½jJé–b#)=úÕ,åmÑ >ýg5³¢u9=µ°e³òõ=â…pÖ‡9©<ÏL㘒Cؼ€ï¬»¿è<—Üõ'‘ì=ï›Ñ“™Fç<®×X§¤¼6/×t#ÆÑ½œí+Y£>!)–,Y£¾Ä^•³ác½ÖÂsdÖ$^¿ªbÖ$^?ݳ ]u×=etü3R[À¿h~^4R[À?QJ@ÉÐÙ=Ö¼hó:‰¼?Äfaó:‰¼¿-M1Ù7·=“aÿ8f?þãY^ÿ8f¿Q)WË,½ E†¤?wùÔ ¤¿e)£=+ø½_à ·¾+¡Ó`à ·>Ð,ÏôH5=Ï6õá§„¾È*çà§„>¼&Kgäͼ0xKÞ FA¾ÈkwM FA>®~ éç½<ÂÉpcˆQó½&¿ƒ!…Qó=Èp?LÂÐ<ë_óäü?ÖÉ‚»þ1¿á­ùìFû ?YÐd>á_=ZòKÇyK¿F9Îì€0?T#7XPpV¿)¡Éû•I?xjEŸM÷¿=VRsU=‘=¿Ùa>èùM¿5èïf?|¶e ;?à[‰¯~6ývÔ*ôxt?”Õ¬êÒ4o?œ{ŸÃFÝŽ¿ËI–½¿cˆ?‚¢W/(>¼Äô-‰¿ìÑ‘fz«¿–Ÿ²Tñ…Ð?(!l…3Š¿NŽ\ÏQ#è½VÁ»pߨ?Æ¥¢Í ´?SÎ|Ž.ÜÊ¿®}ÝšþÚ¿Áµ¾n WÞ=чÊÔse½?3©<Þ ²0¿²^?¤M??ÉygY¿‘Bš„îF=W¸5+$š·¿êœiJwk¿Á[©T55”?"B+bl†?5QÂ\K§½‰QGr‡¿ÊóbÕI?®‹—l¿$>ÛéMj¿RS§7¿­w=Á~1d©qL?”B#þ8¿‹ìz¤]? V’ЈŸ¿W|Ys[²½ùC]B[¿CbÈ[8'¿)ÿ‰xCOùwF¤¿E×̉gI¿ñ¹$˜š¸P½(EŸH`X?ïéKL»áÚ¾ÉB”npdÿ>0¿ÉLÃ㾟±SÍS½hãoÎõ“ü¾pñ[-–þҎòe :æ>–„ B ‡¦¾ÌìE0ê½4xD–øð¾@Áè!dg±>_`Á‘DvÔ¾?|dÓ¾fƒêb =É®X‚ø´n>ˆ*åa¦™>½ïˆâ­q¼¾._ÁéOãľQ\ná¸=/É:©>eTI K†¾àóðÞ:Eª>ž\²¥Q‘¾KÔ ÄÏFù<òþµÍö.§¾íöŠ=Oq¾3—…;$Ù“>ûW·ŠNh¾Kñ‘´É‚<¿áÇí&;œ¾•fúF €a>x⎆ú@ƒ¾#ì÷À¾h`!îÞ<€õ'¹8Z¾v'I ¼,?R;Ѿz°:¿»%fäÒ¾fyô¡o½Žuª&-ÓJ?~15G¿½Õ$~‹Õs?a¯Q@Èl¿õAk;î•…½O£5×(^q¿9WÙL(8Ÿ¿†¶ðh¸”Ä?R…NV/’?¡Ð~ä™ò½- y0¸?ìa,oª?0m•lÔ¿¦) Ø}ÿ95&møÅ½’O«†è¹?Ôêò[¿@‡Zѩ͂?ú¡Uo?ç=9<˧=’]³¨äKr¿x óÉÐ%?¦†Þjž L¿¯sp`šB¿3üÿY0¦²½\Þ«6_Í4?²1Ë»^ú¿™0¼P '?´:ÎãNþ>•G¤Z²8]=šEÀ¯¿qV9ÔPÔ>ëãlUiû¾Ñƒ ø›Äï¾>ót€cZ=ö¨öºä>UüÆ—õ©¾qiX¾TŒÑ>l|Jz $¥>ƒ÷9ÖJy)½Z(ãÄLlǾL8 ‘Ó>up•¾.§¾­§»oÀlš¾M³€²÷ñþ¼þe÷=ñÜ>J|â]Î ¿,wa;ü3?ÈfÒW¿=T“/n ¤½|\`ié/¿Å§5|6Uo¿fT‚Åe’“?ñÚ鼎¿ DAH›Å¾Í÷¾ ˜G§?öT­¥Z·©¿³ýã¥Ù”Ñ?4ßÃ-ï­Ö¿ˆÒØë™Òö=yÅÒŽù?˜ì#0a'd?]7enó/‹¿‰[Ø)ÝZ¿ñ  BUš=CFÿy?t\êâØò¾_íw?J0c’¿ºê»¦×¸=Yá®^”¢%¿GO((-¬>7åIÄè¾…†/rÈ¿ºÌÇp‡ÀY=Î?Ÿ`¿Äd‹”º¢¾öØ*GKÐ>ÿÜM+Y½è¾†à“æë7a=§b ÇBÕ¾«WÓ7&s>« ¤#dÏ¡¾¯2n›í`³¾bÙÚyO5½ktyñ*»¾"±•ðJ¾%Vn”²Îx>ë\–ó@ù”¾é¶xV½ÂkGð†Lz¾b÷¥›üò >ísÓ"!Q¾oö“ÀzPj¾ÃOHÄ²çØ¼ÔQ•ûµ6¾ 5ÔüR¾WÕYXâz>5ÚÃä„Y>²¨­Á8´Ñ¼uvéç{¾O¥¹+–,+?Í£YB–,+?ê·Ñ‹?<ÖýЋ?vÝZD¤t¿À:L©I?ƒ}÷tL©I?%Ï(WíÀ¿[r'êŽö¯¿ŒVèŽö¯¿àrOŒ2à²?j³pöäj?Ã[köäj?ãËs}è`¿Ë®µW<6>?ÌV<6>?/ÅOƒŽ+¿Þè•8]?í¡‘Ï7]?/îM¨5§Å>Æ\[G8;&E!F8;ìûO% ²¾U¦×rNž¢>ãv`ÎNž¢>ëÇ•JU†>àlBz¾¡Ü§TlBz¾§Ø=VG`¾oß ‡ý]S>ãs´Qý]S>KÛÄÍs¾”:«î¾ƒM•L㬢>ϽY #À¾CHdfú¼:ùź„ÈÑ>ž‡Ü£k ®>-Óƒ áþ•4œ6Z½Ô>sv¹›=î8=7)޶½´ä¾²¼Á3Ñ>ÇЗä€í¾Z‡•?j­_ÐU½´OyëÔGö¾‚ÀÓ*u”î>Þ}GCQ‰¿îñ^BÅ˾˜pi©ks{=¶ÅaòòW¿wÌíQjоñ,êå.Å¿ÿ²û.¬?¿ÌõD kÓ•½{œ~)D1?í#$³C?;b¶„Ô^¿’hÍË!à\?ñ&«Fwyv½‚ëòĽU¿rª÷^¿Ø>ï_òk?ƒK†#Ì8ˆ¿Ú)ßEϦ½£Nd ªƒ¿›op8H“ˆ?xr÷ê›]=¿BP‰ñª  ?såð®£Üé½T팼4—?5ò‚v1V¿0\÷:Ži?óµõÍh¿«æî%³¬=Á¬’ݰÝl¿¶‚*ÝD?|já—[e¿‘·» ¿©à]OwÔ¤=©¦y¼;d?/üm~s4?NÈqá%¿jÇtñïÿã¾rl>ý yˆ=Vn˜–@?[`|ö›âô¾ºm2V,?¦÷&MF?9I?O|gf½»]ÿ<Õ¾[^rq$á¾ËʳÖR?stR<à' ?k: {†ªV=MIL’]Ëô¾¤!µ×:ÆÐ>¢1ȹÓÊò¾ TpôöÁ>ÇŠ¶ÔÇ6=+ù¦¶ú]ò>jŠéÁnC³>„ÓÉpöÔ¾l|gG‹¾ÖŸkžÜ=ñ+³0Dá>$èM¢¾/TÚù†Ä>¨8ÚHвÃ>JàvG‚ìò<ÝÊŒd„앾¸–˜ï ‡¾¸ öO¯e©>€L«"z³>¡å2½ü½‡u‡"œ¾ Îõuu£u>"7·Nx˜¾’vb£ev>‘ð»xuPÒ¼qÔ(Uß–>b´Û“X÷]>ñët·€¾-‘Q@F>âÞXD:+¹¼jœà8îˆ>%s¬£álN¾‡.O[Ýp>R•`¥÷ãm>Ð×_ÄÙËž¼ˆ—Ü-,(>Eq ²¾H9?ø-{Ö>ûß©îaPÀ>\Ù[TrͼjÉ›¢ç¾hzJW"2Ÿ¾³U›‰qÁ>]žÁx’»ë¾Õ“_û[õ&½µ‚ÜXg}>—{€t‚¥¿ \tlµ@?¤ˆ‘L¾ .?8X™éít=Þ>Õ[[)?gú[Y`¿u&8RÔ.€?£åQnsN‰¿:îV€£e½# õf7˜u¿cqWHÄc¿‚cx?PX-A¡‘¿A¼ /TäÜ=M[p{‹‡¿BÌ r%¿)«”‰{ J?î1h J?¹‚ÚPÛZº=òÈ VÓ@¿7.–›Ë“ó>˜Ñy*¸é¿²`TB ž¿à„ÃóR¸a½ ƒè.Ë?ùÓdŽqľ5ç6©ê>ôK=–/á>~ÒÜ€M½çø‡Ü¾O?]ìim™>î"6…Ù’À¾à Dg¡¾ÊœXñ=F–Q)¹>HÜ5ü% ‰>mW5DÖæ<ûNP‚¾÷bŠLt>D¥'¬ÝÐk>›ü´§øÂžʙõ"à½%îM_"-Á>ÄcZ`À¾³RÝ#Rç>AV›ŒQ ?¾ÿ(˜…•€½•滉Q?[¹ê K0¿qÇ‹@rzR?ŠYØ'Ço¿ 4.VE4u½˜ì#0a'd?„Xŵôâ@–âõóÞ¿'»a]³?¿:êw–bñ=®×Ì4ö(°?„˜[^ƒP0¿4NF29lR?X°mââV?øèÂ_¥4¸½î½ÀÉo¿™®‘œ21Á¾Çl,oì>á¿\;áÇ?hL{©N½Ä°¶ãR?1×45žy>,°Nk7©¾~£ösGØ>-CÉ WlR½rel¯D¤>ʹQ#ØG¾±IoX3°>ãÁ§Ò—>¦&Ѫé =ž p2c™°>+ÆÇL¿.>§O(½^^¾5w„>"憦șì<.®žœâåV>ŽÏ=tC¾•×597>ÓnÁ(ÌT>“µhåÃk¡<>Pà.>TY[ +´>>ÈW¦|‹Ee¾0¬>áºL¾¬?|Ó­¡<Ï¢?„Dg>?·[Wyº¾>‚ Lyº¾VQ±P©8¸¾È¹QQ©8¸¾ <„!,ȾP¿(ùùê>¯pc:ùùê>¨û~äk9¿c i^ ?€Òyi^ ?pÉco¬{¿þd Z|üS¿$ìs|üS¿,¤ë]*ãn¿ßE¥%Φ1?†¼ájΦ1?¾ú¬5>»?íÖϨvÿ¾B±æ-¨vÿ¾¢ÝžD¢>>ܰ9Ö«¾…mgô᫾kþtTž°>aæsÒA([„ð‡¾INvXåwr¾% €ÔÉÄ[>$º?ÊÄ[>çºØ?áM>ð#_Û4¾INÏ^Û4¾tòRXpk_> uŠ%ÅÆ>kw 40ã¾ %¦Ý¢ßê>ÝJ6lj™!=ÁŸœ« ¿åÅ]" Yܾß1Šrpdô>ÄŸ(ª¿Ò|+­o†a½_ê, ?^\iæ/ÿ¾rTR4Äè?ƒ”!ah¢3¿6a¬¶„=öÉýÊsÊ!?O ìJƒc ¿sv½éèÍ6?ßå{D‰š?‚™åÇ6¤½ïy7 D,? Ã^¤ ?!eß¶?òBÔ_Ãa?­!Ä{€ÓÃ=ùûvg5_¿p±Í´NAd¿œ½±Y~?[[ô+ç³}¿<#R° µˆ=(Í¥w?¡ÑÚÜgq?öræ¿QBÌ/ëÛ‰=²Áá`Ý?ø/Wð ¦ÙËS½>®-ýd;½=¼I˹ ¿ÌLÑ/ñÉ>?ÉÖ¼Bì¾õE:ëNë¾+»‹S‚ô!½Rå #Ö„Á>H}jCá¯>õÙopѾ‰øÛ“;Û¾ûÙreE)=£4$›/=Ä>ÊuÐsž¾ Ì~Á>m]€ÙÕœ¾!Î ¸ØPõ(Jë§|j¾ü– ¼Hâ<:Â4<Õk±¾t±ü;u>c ]”U–¾Œ|˜Šë”¾þ& óúÇ< ÚÑWD¾>øÊ°;ß>çwä`;}¿xru"›ï¾ÍCŒÒœmù<æ2Åùœ÷?˜úUøatÙ>ŠU}ODý¾×4üº4?碫ÉnW=¨Oë-b¿û!TÖÌ 9?áy®Ä%d¿\úoïw5U¿õÃÙ׆¤½§¨&ÏDL¿Zi+‹’|?í*ÿß™¿w~XeÙ1«?ªYÑÄìà©=×nã£Ö™?€ZQ¤š¨u?ßr·ÜJ?ˆÖÔ³?'(ÿ"(ñá½þÔí‡n` ?I Ðû}M?lgPÅV†q¿xP V&Þq¿Uk 1ärå½ÿų©¢Àh?©KŒ‰R¿¨Û¿T"}??e':Ã*?SC¨¯A}=Œ´"Bs:¿»í¹Ö”ì>4"¯ã”¿«IçI=S¿c×µ‰LGs=ËÙ®szø?3Læë¿Á¾ÏW-nùæ>,Ê,sd!Ê>6«*:½¸£âKÛá¾¶ßœu.–•>u0‘@6¼¾2:žþÿ§±¾¹¸›Œ½3_˜çTª>¢,æ[£¾ãÐ$¹¦>kÕZåm¥ð>g˜š £½zeŽpÊuõ¾*™ºi©¨ë>—Ž ‹g¿m&ýÊ]0¿Ì®à:5¨=áZ¨Ô\ù:¿;©zX¢fR?ÌFé­€ƒt¿îê4í’?5ò9=¿\–½]7enó/‹¿–âõóÞ¿ýÚ"fÌ@ÓáÓ>Ú¿™òž¨¾Ñš–”VÖ¿öÔÈ8‚R?Ôœ£gŒt¿`¸G`+d€¿°þñèlà=tšwe$»“?„¶§Nè>¥oÊÜ !¿¦Ùá&S;<¿%¬Ê¬w11=D:בʚ"¿ÞÌà [m¾eëøF¼>XÆíJ¿Ár¢$€y=àŽßÉKBÐ>'ékÈz k>ÅdýÅu£¾žå’¾¾?2¨O==G½€ç§p ؾyÌ^Rp¼R¾=L}vƒ>¥d‘‘ò=­¾gaÊ1+ͽ@ös?¥Kt¾((ºKè(->ÿæÐ^¾V˜pRK«|¾Œ¼Úz^˼FZ s™V¾çó¨\êÁ²R>‚ލRt>%d\jˆzʼØl ¯1¾0öÓ¢¼çæ>¥p¡™¼çæ>°cävÑæ>up3wÑæ>;#X¤ú¯Û>ç‚¥F`D¿‡[T`D¿œah}Ä_?)yrzLs1¿ï—»Ls1¿(ai´Y–??÷Tª:-g?÷ÉWÄ:-g?“­ô—¬ u?uÕÀ£eJ¿ 9¤eJ¿I._'[/¿xñÁsÂ?s¿ËrÂ?|Ãë0œã>S/Hïi¾> ®ð÷i¾>1øÖlÔ¾œÁæáÏ€«>K)õÎЀ«>.šÖj<—>BŠ–€¾Qd–€¾³Šå(6t¾€°Ê…^MZ>lèj^MZ>×a!Ü…¾Àn¾Â?æ>,fÝ2†%¿&â2‰ùÀû>^½è“Òx½õÎÙ»yM¿ãŸ+‡þ¾R» ð!?+'tª$•"¿Ø¥tçñ½’PÑ&?#¦zö?û ¿Êà4h‰A? pHD„Q¿s?ºŽ=û­ 4““;?°! ¤Ê¿¥/XžB??ï/®Ê@—$¿ùÞñ‘÷ÔνJ¤f—YŠ?e:n&ÑX?6£•6w¿Ô*j@|o?(¢UÄv‘â=ƒ½t9i y¿ëë”àÿ—j¿øò9zô‡?´ÔìY]y|¿[2Vƒ¯`ä=ý¼×pYˆ?¡º@¨?/©»@*/Ì¿g'ÓÏÓ?ïÞ‚ÀœiÏ=Šð)gan¼¿@#¦éö{¾¿A Y.Õ?ŒQ½öÉ¿.ñ˜ò §õ½FùÜ&$oÞ¿öØ-^Ë*r?\Þ»< û¿&#1í£·¿3î5õrýÇ=b>{£?“-q„Á`?›G¡é0‹¿—«©1+y¿ 1j¨„ݽŒÂXZ>†?Þ4î‰^J¿Fƒõ±é£l?¨«û0º"¿P¼„wý?«3}òÃr¿€JÇÄ56?®79·hÅY¿©¢­¸åX¿“ŠE6„óœ="á,bj:?Z„ceð¢?D˜*eñ‚>¿ýWÄÌE¿z»ÌÀ%Õˆ½1 eeI.?WWP~ ¿œ‡½è—-?®}|Á„ ¿Ú0VŽìr½óV¹ø^¬*¿?ðûâÔGð¾_ ˆÁ…@?À± $taþâ–UoÕ£E½Cîú>7¿ŸšûìÜ>¶¸hŒN¦¿Ú+ã¿W ¿–wÑÑ þ9=ÜAYN  ´>°ë€¸’…Ä>uÊƒç¾ emñ¾r’sž ==ÉA5A.šÕ>áª6ƒ’²¾ü{òDe¥Õ>P¥9£|¹¾ýÅ‚Ùe=À®k`oÓ¾÷›C¢1©›¾€ØÖnx¿>A¹-H󩾑v®ùáìU*=· q®¾áW‹o¢üª¾ÛmÌ–Õ\ó<¼ûwí«”€¾´ÈûwŠBì>&œ–4Û¿„±ƒ„ÕÌ¿ÓÚ΀]2=ÝŒõC&?úÝ­\ñ?ýhØ“~!(¿ô´,¼P)?"æîƒK•z=¬¬iò§"¿Øñ1‰ðpX/×½,t– ( £¿ØX¦ö„ ¿ì[ùâ4PÊ?òâÓŽÍw¦?-?»óÈÜè=t$ƒ…: ¸¿gF¬•™8c?Õz€Sª‰¿ë_)t¿“œí1?Íñ½šékò®|?OÁx”%(¿øë€h†N?Žh I²Í,?Æ‚°l ÝŸ½tê´±¦BG¿ÊšjðÑ?ìs\ÇÅ'¿ú#7yîm¿Àdöƒ=iÂ]¸¼?z±¦>“Õ¾ãË&ĦØü>ôÚý¨Õ>Áy‚sâîS½iôwÂÿùó¾Lh€³Ž«>Ê•`²ÂˆÒ¾9LC0K§Å¾MVÂY•ù%½–Æ»²xº>Yv¬Ž.”¾""››Ú>dyH‹aÿ>8Co¿áC½Þ¨J ¿ˆcÙCb?*ß@’;¿Oã wE¿:QºÖWÎ=4Ó†vKT¿9rŘ¢ßi?št“?¬¿Þˆ„qÃÂ?ÐWPúëŠá½‰[Ø)ÝZ¿'»a]³?ÓáÓ>Ú¿*Ö;·ô?I0n(yù½º2‘ÀÊÙ¿_Ä…´‘0Q¿âS:Òy? §Î­·ˆ„¿ýWᣯ!è=íÉÐ|8Ž¿e¬kˆ\?š–ù­ëL/¿ès–“:üD¿.¥žñ@М½Íl³Šo?Î?Ðdç%p¾-ƒÈßXÝ>X"ûÒ‰y¿½`Vq¼}‹=Æ Mœ¨ã>ö£ôQ|  >¯EõN;@Üyå5á¾ã«½jl`½&ñ®*Uóæ¾¥ðU•ýs¾ðÓ5ô­ß¡>Z^ .h'Á¾HUUÐ+½Ì0²äQ(¢¾Â mÞH>A¢¹{ty¾|{b3d”¾Áøi5:¨ð¼ïÉmˆ6Ze¾¿å ,·}¾Ëå¤ÈÖé¤>-‰ËÌ\¬…>êÚ;g\ê¼Ý ëKЦ¾éD& d@ö>T7Äöc@ö>ÈP'U›²ö>¾’mU›²ö>ؼBHç`s>×_v v¿'¤ñ v¿Æ”¹È¾6t?qóâ #ª(¿36ý\$ª(¿Ã°w¥çè·?òj†%¼ç°?þ¡ƒ%¼ç°?AÔôøÒ¿öR´È];\¿ O¼];\¿ßÅÎnÈšh?'³žèº„;¿Èh[»„;¿íÌQ(?0 Eúûfù¾sä×*ûfù¾-Á§Áì×Ö¾SîÓútŒÌ>¾3€zuŒÌ>Êý+ êJ±>Frb¿¡¾,VpI¿¡¾WmÌ×SŒ¾ú+§‰kâ{>¡à>kâ{>ÿj£Ñ.ø¾ÖØèW½ê3žñ~G@=JU¢´É½b¹ù½>êTÌœ‚R=º?ª¨¤=ß+Ú»+½å ËMC=®ÂÚ£ǾÇ.‡Â”@½·^P=XÌ[kX”s½Ó»B¦u=]Ý–_÷>ˆ¬0¶Ud½2;㊛¼½ågãž·Ep=öÄ“•‰]=ƒ²Qã$?ú¥åœ1‡f=jR…¥é²½B5dÕü Ñ=úçCÈÂ|ͽ3🫘9¿…ÓŸC¢½™é“†½Ý•ÍVЋº=‘¾Š*òs§=Ê[u‚?& ®Ô/¦´½z°|ËãÞÒ½ƒS{é½Bo\n/Z½=ʃïÈ[°¿®ßƒŠ‹@ƒ½#ê¦fVÛß½ㆊ^Õ>j&ô@Èþñ½@d´ëáþå?'7Àìnø½ôÍàŠ#N•½Åƒ[…=/uYà È=?%Q¹Îš¿_Äg»|JÀ=úËÖ‘¤¼=Cu )­¡â½SÏdF~Êá=Úãw°º–†?Þ¡_B”ν3VÍJ¤½=oa?…´ß½*Bf®Š”==þÅûX¿®ìßmcë=Mpò‹–³e½È›#†J=ÍÒF®ª=ÎuU(Rš1?¥V8<¥¨=Uosrµtˆ½RñÚª˜û®=e¿°»íÆ®=4Y¥——¿­¢Ýàö‘½üEûks u=ÿ0[Å¡vš½„ºm|&|=½ÿH½¾ePð.j–=<(#å}[=ˆn(¸•ν»RQq+L=ZFaðî½¾L¤"Á<ˆ=RšŽ§ôˆF½e’…%ãbk=]Ù¾åÖi=m!H5æÒ£¾è÷² Ç&4=7¯¤e32½Îôv§êçT=}¿Ãg|)^=¶ôºèCP¾çóLË×@½¯ÛP °=¸X+ÿàoB½‚gKù‚W,=¢u‚ÎOåd¾8ÄÞA˜Ü?=†(· =ùäÌø²-½E¦ ™,Ã=!Ú$)Å!> c“Ú=m4=nÖŒ"î0ú¼²A3=òÀ¸aE=.£fCyŠ#¾‚ÍL;Qø<–SÜvoh$½–ß<š»H=þ; >ž4=¸€¯>ö§¾à‚n|"È\½~âe=œõ›MRI½:!¹I%$X=»JC:¹÷¾Z©ž3iÜe=‘|·»v=);ý”½дJ÷xˆ=lb䬤r7¿º>KºóQ€½ÜãÆ"ÐÀ‹½?Á+ìïn¤=ò¾–ˆý¦=ópI›Oy?†6FùMÐâ=µafzÁ=è(‘=uè½DFû¦¿½-ÂÆÓŠâ¿ÿÛyÜizÝ= Dœq ›½sº¦‘Íëò=™JLƒ«ò§=å¥È/š‡¿G Á^[À=>¦A Øœ’=7MbA¶¹½= Õž‹XŒ½lTÉÈ Á¿–†žj$¥=ʉÆÉsqk½¦‰}üè’=V÷lÝ÷’„=û±Ž÷¼å>8§ß•H–t½ „÷ýO«B=Ø Ø`Þi½µ¸‹E4½°iëa—™«>ÆYÓ¹Æ_=0,†N½Ä³`aÆ@=ÎÊÑîY2=eQBòí¢d>l¼XGjÎ!½ÚÜâK<öÿ<®O¯[,(½ãàÎ “@=‹ß6žëãë>÷=Šö=B=„C Õ A="°Ž= \½?ÔØgó„=ï£zAä0?î»lP(ª½!Œ/—ý ûâÂMUx½ûHRô;Ã='¤ Š?ñ  BUš=¿:êw–bñ=™òž¨¾I0n(yù½Âì›c¥ò?ð¡w{1¡ã½T/v•.\½3ÑÈ‹ m|½‹9×è ¾½¶RŽ…by?GŠÂ${¶=jϲË‘½Ïjè.¡Ã·= ö©ðáÍ=ѱKN/?ôßkï|³½õ+(t=S\çY¼tU½ßa¬[Ï&z=m.ƒ¢îé>"´„gcF=ô^ñgž9½JÓë\¦?=±RÛ½IN=v뇯$¡> ó¦ëŽS=ÜŒzãmê<+-µ®Ü•½ìëÖdG+= „fZÅPR>ö$¯Ë¹, =ÙƒâØo¹¼–GVˆªé<¿a{ê„=ˆ®›A–7>C'çÎ< ?I0î0ì<©ŸnÀ™D½'ŸCH·ï¼KYý»6>Ùwi*uœ=¦Gç  Ÿ£>÷ûá Ÿ£¾>û½ ®‚¾Ðû¶­‚>[²LxŽËc=Ù¢ÖÌÓ»ý¾÷À{ÌÓ»ý>S¶›ÐŠ"™=Ê$lÿŸÖ]¿ük%ùŸÖ]?qQô_'gÄ=õþWÀ¿›-ÀÿWÀ?p^?ÃÔ=]Iww㉼?KV-w㉼¿ÍRÈ»P:æ½Û_â,Sf?Ì_åá,Sf¿ôˆ½6(v½9l°`./?êH-s./¿m'´óU=ÁHûc¶¾$˜ö©c¶>OÏl=ĽiÐA2aV„¾Uœª‹aV„>¨áMoú<ćÉÃA¾H}ßËÂA>[{8˜©¥ =Þ7ÝëÃú>$¹™kQ¿6—)ãîß>€ G›N×0½È02_ž(¿xSº¿‘Ç¿è iE­ÿ&?UP#Ðó+¿wµê² €=Jh“` 0?ù¿Ä×$¿AéF´E?³„`z2¿J¿ÉKö7B“i½Oòcë4Ø'?ƒ¼–ò»ûB? é Æ=e¿#ôI(u&E?ÀšÔ2[.Â=gDÃôì¯f¿ïCõ=[?až¾vÄ™€¿Òv¶ÿ m¿xÕß«@Ò½TH°4ØŒ¿Ê€·€ñb?⤪—‰¿?õ 2j?·¥RJ±â½YIõ<äQŠ¿'­‹Âµ›¿¾p³Â¥sÃ?3µ×Á¾‹Æ¿')YûmĽbA]šCœ¹?¯ƒ€T8¶¹¿¯‹©O0Ó?M’¾‚Þ¿ÀüQÌ8ðú½~•¿ty⢿(FÙfx.ˆ??"²¦¿ÜÛ^Ç“5?ýô ™¢³¿=+(ÓØ—m”?éÌ]¢]q¿,Ïݵú•?®|4.HFo?æÍ’.8{æ½>Ý‹®‡¿)Ù9æÆ?wû áÈ@¿"c‹^˜Â3?¦A§ÆŒU©½MCÉÙ^þi¿>ÉIvC"¿‰ÏŠnå0O?7=Ï&@?&^¤<ÇB¢=£¦)Ðy.¿׆W§ôé>Üf¾åõ^¿ ª?Óäeý>¢ƒLG#‚½©xI;ÇÀ?×4Ë3JŠä¾⋆j™?è)ðyKü?Æ Éšd=Ô-ϳð ¿ô•–.Èa”>gê¡KˆkϾ0bqcù$Ù>ÂøòË{Ó=½³m,—«Ç¾‘þÑÁïÕ˜>9ã2ÊÞš¾DiY@¤¾êx•lF½jÞ¶hœiÊ>¥‰âÏÚ‘~¾›€NÙl”ª>êmû ¶Øž>ì­,¶>õ<,Öißšº¦>Å Xðà—>$Œ—x‰ˆ¾››$ËXÜ>ÃCGp~ ½o5VFÈtm¾[U¯la>¿TÙ¯mùˆ¾!ðé>ûÇdÆÚ¢Œ×@ôûN¾Oñè<Ôw>JPBêYf>| ¶aDä¼¼^ÕÛy>ùˆÐ…:ná>†R ™z‹¿)Ýé¿èåYø½¾“1ØÛb%?Þ>ë Þ?«õ'ü:¿PBÌö)?€F:]Õn=,‰ËNkA¿OóïRÜ/N¿¹ù¶.™v?û˜]Ið;?Ÿ¯d”Óô›½ž¿ï<ÄÖf??B±TV@”¿ñ52Èš°½?Šõô²”´¶¿Ãb]óB{Ý=¤ž—Ú-‘°¿¢]æ.©Ù°?:wê¦ÜÖ¿4MnÉÜ`„¿H={’o±ñ=c—;—,Ñ?¥ì)h¥SY?îyy缋€¿A`¤°ofv¿2ó‚–æ½&'¿pwæp?µ=ŠàÐmú¾aÔ;ïÒ?f„¡B³ï2?ÝXéœu½å!æv{³¿H§ÂÝúÞ˜¾¦iÐ)¸æ>F®ü.‘ܾ3—;ÃTaS=ÚÁÈBïó>ï#zäÚm¾ ÝþåG ¾z`EçÃ>:íô<0=ø[ûÁ”Á»¾Z¸1ãÎc¾Þ¥ŠÐí”>èg"ÏW>X½²1•ô<ú^/‰­Š”>TFN±6âÒ¾7z®]þ>fÌœ6>ö¾§Ëï0€½*òû5¹ ¿ÊÜ™ŽS³?RB•{N#¿ßç"àé?šæ³$óqÀ½­†É:?;ÑSèBe¿i“ ÆÖ‰Œ?á61L] ¿ƒaN·Ü=CFÿy?®×Ì4ö(°?Ñš–”VÖ¿º2‘ÀÊÙ¿ð¡w{1¡ã½†åqì­Îö?\hì”âôq?ã´¼¿W–¿ýœ2½Ã’¿%ïÞœî=—%™2D§?l5¹é¡?N,{s;¿g ù¯eÜT¿y•LH™½î\8wm:?~dkúrôÂ>2tÆÞ dï¾\Í÷ÕkÔ>·Ú!®`=€®,^Â?Š‚á:Ç”¾ƒ' noü½>R‰ °¢È>e<Ø'ßú3=¡ïì7ÈȾ†¡ñ=8Z>ßCk+ã…¾[Œ‚%dyk¾*7M˜úô<.q0ýû”>KÙ–irÇ+¾îSæÄY>¦ lI±f>ä ŽƒäÚ<¬7=´£ØE¾$lèbPœL>*à¬Á@µv¾ØhZ”tV>º¨M¹RÐ<žÿ´.q>8nó[†é>Et_†é>ß7•0ø>LyÇ’0ø>ŒF\¯&¿}j/>‡£?.B¯o‡£?íne¢K·\¿3ïMI]?{¶MI]?×ÃÏ‚éMÁ¿|`:ª ¿bùè¹± ¿é™é8É?î“^иs?P¾vиs?RÈ;ÁAc?'õ˜6G)?{*$6G)?P9ìðµ§¿ÖŒ»«”‡?‰V¼”‡?ŽLRV-à¾ÿã䵇ª¾L^Õµ‡ª¾ÏÞÛ‰.—¾¢=Wm>4ÝÖ`m>9»œþ·Q>7kvÞpûe¾Ö¨÷Úpûe¾RT—%úâh><Û+ÑIas>¡Ø-`4‘“¾§ugšñN‘>(®ú÷C´<Ö–›bÊÒ®¾Ì¯oÉo¾‚˜à³ìp>Õ5vR9¡¾è=QÈ-Ƚ {J€-"°>þÚp¿µê–¾Q7£ÒSü«>zðù …iž{HWx"É!=G}ìã£õ¿>d´ººg–µ>àèšI¦¼Ñ¾MÀ§Ë^îÖ>âÆAâÈHG½:å˜ú%Þ¾]àœ²¼Ð>À_üÏÁ–쾯œpؼÖÎ>îI [}r=¥ qé ¿sjé¯àî>°ä”&º¿Ó Ø?£Ðvˆ7O½èÕÆêb{ô¾(ùÉHTšÉ¾$‘uØ¿w'‚¿¡ù–·Q=º¼aŠU¿A?Ñ‘ä~ݳC?³-ËÜÙ^¿FηsýÊE?ÃQ…nL’=¯-Z‹$¥ì˾Œ?½Nƒ"P¶ ¿*K­³ƒÏÐ>¥=_Úò¾*Ôºò¾L£ù–½·Yûù!ˆÏ>T»sx³>” ‚:Õ¾š;:ŒÆ3à¾ýdLé=-=­/¤TE)È>L¹òju¢¾Æ'$ÑÇÄ>Ò0±ßs¡¾g?vý+øø<î”A^tnþ{é³ašˆ¾“ïQ¨7P«>éôÖ‰Bo¾DŒ/;-\ã<w®€ƒ’´¾Ï(à¦Çx>!Œ/ÃÛ­¾Ð…|#è„“¾”Ö¢¼)e™j ½>f&ØÀÙy>¾rúÈfÆ’¾Æèë¶Ú­>hñü]$ú<6¨Çú¼¾, ”­®¥¾¦»ÍÞƒËÉ>ðšÌS\áÖ>Áyšóé^½ð 8ºœç>ÜN‹Œ¤¿¿TÝð¬¤Ë@?{X•MÌü0¿Ù°‰UH=«“6c7$¿É  X`¿P (çË.€?&DpèU§‚?}pÔV‹=‘x•7M=„?dN]Åc¿šªÜ¡¢hx?Ù±ÑH¸û?œ–rÕëï=x!?ƒ`‰?hKýSpu%¿K3Ž{ç J?oït¿ §,?PšÃ„Þ–=ÒÕEG,N¿€¥™d¼™ó>NƒM®Eó¿nYÊ=¿"J`js=‚0¿?,²?4TZû9‡Ä¾_5¨Ô3<ê>‹Õ8ÈÎ>¤“O‡|™B½DÀg«æä¾ö®;¶Ã™>+²iê`ÜÀ¾áyK#ùô´¾6¾M-Ÿ]½Z÷Á6[6¯>bU”ô­2¾3·Ë a\F>‚1cÂ9’>¾¸¯…ŠÛ¼Js(ÏA¼ª¾Áƒã~’ñz>>‰%Âu¾€4¯ŸÞ"Ž¾ç»¿³yL=­ãyœ Ä>q“yùÀ¾F;iÜxüç>Æ6“û½{¿Šõ±»±ó^=t\êâØò¾„˜[^ƒP0¿öÔÈ8‚R?_Ä…´‘0Q¿T/v•.\½\hì”âôq?‚°¶½õâ@¡‰¬7#޿ՠDzµ¿0AõPåҽͶʿ¸©¿ÂÎ^îQ0¿'ÿ ÿnR?åæÇʨêi?y¬ד=õL atRe¿ò×øKÁ¾ãUjë—ì>Ì"’êl¿ì¸Íww=8Hèƒç¿Ä;$òõ±z>Q›~÷“ ª¾­ˆ„Ö~ež2Ó“M½p¦H…êÕ¾®$\¸YL¾ ,¯£H©>blš”±¾d4g Y½°ø«ÔÃg¾Ÿ0ÞC,2>Þ9¨ÂÅb¾ä\¯b“+¾åÌš0áµÓ¼Ð׺giâX¾€®ÂAÉh¾ÍQêu~‘>K5›ˆ²²w>wüFäPÒ¼}ŠÊkÚ’¾›|Qß#!‘>¨ÄØ#!‘>ꊉ›°>ý~Ûˆ›°>z'„ã`£¾¼hƒäCŸ¾ÕL*DŸ¾1M<jD̾Ïé…¡”qê>ŒS¡j”qê>¯´àŒ¾‘9¿ÄÜ…3Lg ?3!;Lg ?ލ(úZŒ{¿)&}å»ëS¿¾ÃEã»ëS¿ÿˆjÜýèn¿i˜È&Э1?0Ÿ~Э1?[6ˆÙJ²?}k] ‰ÿ¾ÛùqÁ‰ÿ¾5ÇÙIš%¢>z¾pÖ«¸¾i=¨¸¾f‚•éà°>Ågy2º®ˆ¾jàA¤º®ˆ¾¾‚vþøSw¾l4ËG?©_>ñ‘ê¾>©_>°W.¢-\‰¾YM01†R¤¾åO ûˆÅ>ÈXkòV½¾`žüVuÐè¼½=‹o’Ý> þ¤> k¦ ¹¾³2³ø{Ó>1z*[-=1Vꤑ§Ý¾$Uæÿ£Í>P÷¦w;è¾ÁUü‰œú>pê .ÆûI½HõjÐ;ï¾Ù’oî%<ä¾’8±$So?áIr ¿‘ëÌcÖ p=Qps‰» ?Š'÷>§ºþ¾À´?ñ5ˆ?ÇáÓ¼¢óö¾¶¥)ðñð—½Ò"6Ñ­4?õÎwH•¬ ¿RZ<|¼ø6?縢«cÙ.¿iˆc¿|=*²ZL¼Ø>qb6ØÊ?oVývb‰?Žc¡)GQ?ºŸ¹‡T&u=wñ̦Öe¿swã|Ad¿‚ª2QI~?³Ú×K•Òh¿ˆù<8ݲ½.ûf×ï?³ŸM;-fq?®Çõœ¹l?†¬J¤ «¿"¼|¡ý+Ö=wTŽÄ]Ó’¿x 9,Ú~}¿¶40‡ Ê¿ç¥Q¤Y¯¿^N…6HÖÞ½?ñ«oý’¿:ð=uë»q?*DEW{¿ËO v“¿‰Û}ƨÑ=€™fÔù€¿ˆ`Ÿò`Cf¿j°0Š€]†?éÁ«E¼~ƒ?øKÏ…P¸=¤“Ç0|yo¿æ½q(×Ö)¿‚&R,wI?‘ä,äd?!Å\vô°=$pì²a¼M¿ÍaG¥¡?Wû°l;¿Ù {¬à?´xô'ãZ½ÌÀïH>? 4{ž2?²eɪ§w(¿š¯2êûkò¾®eÇçåˆj= st\33?:ýí‘÷¾“æ¨t$?‹C’x³?ûaHVSO=Ä"ýv=€ø¾¬YBïeÚ¾»UÝɺü>wVCyòƒ?ð}•ÓgšT½d<–Þwñ¾i@ãeɯÉ> ÿýZ”ì¾0‘ˆ#søÅ>ž¬›¼^;½M³¦'ë>ú%b gû°>Üäú œ½Ò¾Ü«‚;ÙC‘>û!Hx( ½ÿpaÛ³žÜ>OÚ0Ï–A¡¾Ë­ÿÁ>`µÿ£Á>p† 2YWû¼r@SݹP>~Îå› =´¾ T“{!Ù>EËö¾ Ã>~-±¿ c¶¼c\’Rê¾oÎÿ‡ä(¯¾k–·E©±Ì>ÖåÀ'.ؾάÜ*½ž‚h:Ö¹ì>øÿáÞoß>¢ƒ&Á¿ã´T…iyѾïoå;§†=Ù®¬Ö;뿪{º®%9?sÉD°Á,d¿=ðúT?{ò5*A=`’;`:N?cgÌžø|?OV(Jß™¿¼ 4]%K¥¿x…SðN_³½ [¸¸M¥¿<¯'ñªu?ψæ±^ J?³$Hao­¬¿ß·â¯¾SŽŒòl꯿#¸Ã£ƒM?[îH웊q¿¼lV‰ÎV¿•8MÍC¿½ÞÈ1qût?ÔŠuÁ[¿*#Ó¤_‹??R?¢®]y4?tf/#¦kœ½MfWûe5¿µš?V¯ì><”o®[.¿ÿ)ñÄö¾¹q¥bU•h=,ªv Ô ?©Ú8ðÁ¾úN1×ñOç>¿;zìMqÝ>P !‹"&9=Âb¯ÙWÐÖ¾øƒ4 ur> É•Õ3“¾00pf¡;¹¾ˆhk¸fÝ=ÅCX/pS×>æ¶ûëã ª¾÷–'ò„0¾>Ⱦ`4Dá>ú?Xe~t½ÇaÁi%×ð¾¼Ã+ò'ì>?½(/Hì¿ô¼ ??”Mcæ\†½_íw?4NF29lR?Ôœ£gŒt¿âS:Òy?3ÑÈ‹ m|½ã´¼¿W–¿¡‰¬7#Þ¿GmM†<Ì@^÷¶=ìÝ?vƒíþð=ì‡RòI•Ñ?ÂÌØ)„R?M«›ÎÆŽt¿Ѭ£¼¿AèyÈ¥¼½H:¡ò¢Œ?7ÎàÊsè>Õâÿ~S=¿ÔH±ÉX32?ôŽiÚ0X¡½~t*Ðñ‹7?b•ú¿t¾œëˆ%m“¾>Ͱ:(¡ná>¥âW¸t=Úï*{Ì?:™6¡¦p>3|—§¾¦¾F<ÿ§=Ù>wW]m }>=,´Mé>h>adb¬šW¾i^¯€o£ˆ>.@<¡?|§>lÚÒY›êü< f?5R‚>çóbDZ‘>0zéèt·¾ˆÆ¾î-¡¾‰áÄû›ú<Ò ñëÕ#º>Lõ¶²›½¾]伫²›½¾ˆ—Yt¦«½¾E†t¦«½¾ˆÌѸCÕ>P‚zêæŽÈ>óS„çŽÈ>b;qW½ ã>vÿ„&]Ê¿ÚÚè]ʿ좈",ì_?¤Ætõ¤™1¿±‚÷¥™1¿Õ®8¼e–?$”ù >g?´k‘ >g?ñ4}×%u?ÆöÜé¶qJ¿FfïÑ·qJ¿ß•ýQ?/¿àõQ3ÒÙ?ß(·[ÑÙ?FMœòŒ¶ã>bP)Ä$½>ÅðS•Á$½>ËrvDÂÒÔ¾V?²= š­>ŸÿÙÝ š­>ô8îÓŽOž>‹öB9¯Ù‚¾â³‚خق¾'kK6™±>N‰%‚ÍÐ> 4àºò¾3±­°Ä>ö!.é¨ ½"Ù²·Â»¿g”n AcݾÄH'ÓY‰þ>=xë:n/¿ÖM+é@=?>¥¬ù>î¦ îž¿ÅPaÃ":"?åÀ¡×w*¿-PE¨_8=s4½Ô?%£‰>ëOu½PYSeW°2¿³ÕðŠ¥”)? Ç=K¿ïqtIRÓ¿9­yq± ~=ûÌ‘¨‡ÍR¿t†.˜•A¿2U,Nÿb?Ð'&œb¿÷~0ÉA¥°½nï]+•uV?’~ñ¨#õ`¿è…½w•ƒ?Õ•aìW¿»`â”f•¾=´¹¯CÑÂi?sMqÅ«ñQ¿8¼ð€?íCÑ£Ü~¿ Á½ÇiÕ=™Â%äÖk?2 ~èQ߃?’øËÍ÷ܱ¿v/Lfß ?tp[ ÿé½Mèž´¿QiÍ_4Á?m˜ôÙ¿ª b›¹Ö¿äÁ˜ú°d)>߀ÓÍdÛ¿×™ÀMÕ‰¿ïžàPƒ;¨?ôW…ú“?Ð<¼·÷ó=¨–P¢"¤¿Šé À)k?›=·b0¿) üݨz¿Ä;#V8ѽU6$Ïo?\yŒNÍ*?(iþ<%‘F¿Ët@¨ )q¿—´l&Ä骽æ‰^ªÆh\?XƒÛ:Ãò>M?~#¨K8¿øjˆ·–•¿p0OÄí–=F÷éÉ`ñ¾ŽÛ‚¤m±¿•´úá­ž(?—a®ã`w ?2©(­+s½ò–cãèŒ-¿nQ“ÅÊú>žx²¡ž™¿jÉò»%¿Š'äÞ{b½8ÓÎpí ?É8Ѫ¾Ô>”EüGáëô¾ämÕºÚ¿QLb5ƒQ=9J¦66pò>‹Ó:LÀEƾ!†²_"ç>Vp<¾Ù¢¾òÖ1€Æò)½X†•‹<ç¾?Š%vvߨ¾ÆaïÉ>þ.ÂV×’>›Zò5j=Jyít.Ö¾¯„NNi™>½° X¸¾Ýs9çbº¾ŠMÕ¡Â>°W µÉtç¾Ð?%ØÕ€ç¾ÈÀ›d]­Î<Ù° oòh?Çéb˜Ræ>” ¿)E ¿D6K?g‚ã>ƒg­LIN=yóœóû¿gó°#¿5ÖÓ ÷??É™{r@¿c›ÐÀžìz½uÁ´ÍÓE0?󾩦÷òG?P;â×q¿oäVÀëZ?ûLå'¿B„½ý×ì2¹`¿Sp¥‹Ë„?t#ªx†Þ°¿ë—{þýû¶¿¨ÿ30Ä®­=€¹–dzŒ ¿q8&1Idª¿CV+ I&Ñ?bšk:-±Ê?žìdœ->e­›²Zv±¿bx (¡_b¿r„y81ˆ? è`>Zm?la‡ÈÉ1Ò=(<^¡o¿·ÖÿÕªs?J06¹ç9¿îÇŠçë?)¿a²º±…'•={¤\Ç´|žS¨³ãbg½ÓCSù☠¿BÀ4‰½>;Õíû=â¾È›3æ•Ù¾‡Ð7)-H,½f•mt²Ù>äNób]}®¾kV+,Õ>Pi«c²*;#7¿¯R½âä(½JÙî¾ã-ý×>´Y0í¿&o'5ê¿Sç­w©o=š_Ø—iâ>’+ùW®r¿…Ð-ñ–12?—M4w¿ˆ.KCƒó³=J0c’¿X°mââV?`¸G`+d€¿ §Î­·ˆ„¿‹9×è ¾½ýœ2½Ã’¿Õ Ç²µ¿^÷¶=ìÝ?9\ Cûƒò?Š!®ï°(¾\Q  ­Ö¿¼\×àún¿'Ô ç’?µ[#A•¿? VHi~’´=V¦$ ¿?*ÀLŒ¿EF¶?'??È3ëa‰¿S9K¼š=ü ‡„ñX¿ÉžbŨÁ¾G¬ñòo€è>ím/÷>ÈY“ú›„q½ W£Ê¿œÁ÷Á½­€>FŠ)Äã·Ÿ¾9ÂG@úؾæ¬Y½Z¸,½¶]»^JÀ>’ÂIäØE> º˜)Kcv¾Ohl$¾  ¾gÑîƒ{½5®FÞ¢²¾—Œ½°¢ü…¾ùB.Ë“ž¬>z3Õ´"Ù¡>{ïbå*·ú¼l~Uƒ ²¾2€4sˆË>Ζð+sˆË>v÷«^¤Ó>ì}]¤Ó>(äíqùÿ¾Œ-ŽâÎ>çØqâÎ>PqµàX%?¹VRd ¿#]kd ¿2Stjã¶ú>uØ(†^Z¿`fû†^Z¿j™±¸?HIU–¿ç”òT–¿!ÅCH¤GÇ¿O®­ýy2p¿ÊP͸y2p¿·Š24¤]j¿‰Ï8]Y¿KSîžZY¿éKÛúSø>ÆÍ i…¿ÍD4`…¿ë½/lã>ýXÁ×£0¾çꟅ¥0¾ï‘jl}{¾,‚/4{{m¾¿_,|{m¾ÃtÃÕ§¾·)ÜÀL½úßÊ?Wp=w',¯ðÿ>½Ð¡ Y½s>+óóÿö\}=ë?`i_X=¤[¨|7ñy½ýô˜WÌU€=Nºq`í¾cûÇr{eu½¢ó‚ªÁI{=óG‰¡yuž½,"½®¦=PѲC ޼>šãÞ š:‡½üDý‚oÚˆ½vÖŒ‹a|«=/uáC©X½Í¥–Áùƾµ!Ü8=,®=v¿wóS¦½Íá7éóÈ=×u”à.Øž=¶/Pß~s÷>|}IWYÑ=çÖ2ú_=¶=ö¿}ÛØ½ øÀØ=]³6¡m§$?­‘­¥Ùý«X$÷—XÓ=!³¿¬fõ½ÍtÕgš>=Ytè 9¿¯c\çc£Ý½•©û×±Ù½AŽAžnü=dsÈ£Ó=:!3ÈÉ\‚?1·Ð$o«ý=à>¸÷Q¾ b³“þ#>ƒ86æxüæ=Z YíCU°¿#$åÉÁ&>€Ý&¸¤>®Ë‘œ‡7¾EÐyøã4>7³Pþå?¯l³Ò!¾4*+c>µòéçñ]2¾Ûï¸7_ù= ‚6ò\¶š¿Æv{Rx<>µòs½@Ƚ°Ã8] ¬å= ü(Uÿ=xœ!; ž†?Ìs-…lVÔ=uÉßQöœÕ½¹,¥¥!û=- L¥Öäø=«¿°–’X¿y÷“§³ä½äÖ9‚ÄÅ=]Sråïàé½ÉÇ'ÑÇüÃ=ñ"ù„²1?*Ãæ=¾n¤†*¾¦=pèåÌ×äɽ°Ê`—…‹=Þñ¡_‹©¿ˆ»;§±Õ=€å Á ¯’½;cÊo,tµ=‹–tŽ3µ=(ŸWIÈ4½¾áÌ'q™S9={îônõç|½öu2ÎpI =óH>¡½z§=†æ ô½¾Ô,=ˆ”½÷kh{i=è1f?Gؽh¹#¶F…q=v85ˤ¾¬°)ÿ¿Š=M£¶÷´àR=ÞÆhÐ|u½Læ2‡vF=í§´FˆM¾¹GOÙMÚ~=:IiûB½-éuÂ:«d=µ_@}ÊYb=ÃC4bßñi¾o§g¸Û6=†ùÜöB½q{Q5ˆg=gäI¶d=sõ%ÈCM¾WÍ”…¶P½FÞ†¿Ôb½Úç›,Έ=Òp‚`¦^½ÞºZŽ‡Èª¾ÎBØ:’º=ÑÝZGœ‘=Œä>×|c·½Ð#ÙŠš¸=‰?Ñ7üõ¾!qôSòg¤½ÉXHS˜ß½½º@¤Àä=ƒø01ư²½Wa1¿ð7¿—Ø¡Ñ;°â=»l†[SRà=st>(½¾wòSä2’>NˆÃ§>9¿ *vñA>eEŸ29b¾$ÿ˞⿊èÆ"#>.L‰G¢Û=ž$´Èªˆ¾vô.^ìeä½×VÈyk§‡¿¨§‡îòî=7ÔÞÔý/º½§f°¥á=fT~0Õ=¨Î•š6¿•³®ÐùɽÓ%Axõ=ì iü'´½ß$¤/¨½èäµl´ä>89Mûª=£.½ˆõ¾b½™Ç£RÜ<‰=+·ŒYlv}=ÿ®çWì@«>òsäïlíq½?Û‡ÌGå(=Óôª›¯Q½£K B=Sãº!zD¡>œÖ›ƒam=ý‚¨'LÂV½wßÅþC½€=÷faôþ“=B¥4Áé>BTl2=J´ô¶ Ë=\ /£)ª½,‘ÉpÍx¤=T!pèÈV/?ºê»¦×¸=øèÂ_¥4¸½°þñèlà=ýWᣯ!è=¶RŽ…by?%ïÞœî=0AõPåÒ½vƒíþð=Š!®ï°(¾†ð+b¥ò?ø±ý·Üí+>*Nÿf[Þ½¼õüÙ^|>W+MÂÖ !>)¥:b?'è†Ã·¾dù¦¬º„½«júŠ =’æÚ Û:Ó=ª0(cÞ.?ÐÞ¥{ý@Õ½,|þè+¨^½uñåq}?Š=aY«rƒ£ = x ¤g7é>"c¡öóœ=#çWC«‰+=ziÐgNY½ŠÍoFœÚv=Ôø¯P¢>âÀ²jðÈ[=ö‹ìDʸ½òèkë#1=7AL6È[K=¬ì™K N`>U¼¥Àɾ=ùQ¢MD4=>”Vç?\½J†*U"¦=½)5ì÷„˜c>WÈë¤dÖ]=k€ÂÛ7«w>GXD>«w¾[7ÉB¾„Ð[€ëÈB>Ÿ¬ð¸y=UAÅnbÏ¡>ªôaŒcÏ¡¾a!þÚ‘#¤½àbãÙ =þ¾nÓ•(!=þ>¥Œý9è¾Ë=‹ËsѸ]¿ZP Ѹ]?U¥F£VL ¾thË•VÀ¿%i"Ì•VÀ?êà[¿7¾ÆMºÍˉ¼?DhµËˉ¼¿óå§ fÕä½EN¢Y^f? «Y^f¿û÷ À=Œ=å—æáìx?ý…íx¿rQQJÄa½ â,#µ¾„RÞ-#µ>q¦1´³D=¯q>¬®ƒ¾j¤l«®ƒ>Z0cù*4T=þg²ü)>›@Ê>6î·C.¤=ÝkRÉg€Ý¾Û&pd²¾¥l±ñ~À¾‘›G¼nžÅ¾Á’óß1½+T€ ä>>~ÍÔÉÕÀ¾jüR%”¾ÕþO-è¾ :¡°îS=Ð}G‘$õ>S¬×Nq¤ñ>£,îH¿¤Èð±!Œ?Q¶wÎfu=E6åÿ10¿ ±áʯõ?ÛÇÌÚ12¿KI$±ì•?žK½¿ZÚ™=†Çü^HI¿Îð;€]h/?î'ëVIÌU¿Ç~jc³J?EÅÒÁ=xÚ³œAÜF¿‚K!C0L¿—×Y]e?Z{ÒÐ+ÀE?yŽŒk£Ê˽øõöXës?qáÄïgoo?Â98yý/¿`+DÔˆ?Œz_‘¿'ƽœ'¬@X‰¿ºLã|«¿›ày¤«ˆÐ?öÒòÐÊ ‹¿S b3dã=S6N Ø?É—óš)´??ü–ê|öÊ¿±>ý–·ûÚ¿é=,¶¼,¾dŠ´”™½?YGUÑÐ.¿¾·x¥¬J?S „UoY¿4ö<¾èë¾ø£­}E‚·¿òøc¦Tak¿¥OI>Ç%”?Ø@¸MHc†?rÿO·ØÑ=-:šÅì@‡¿ù’q1¨I?S Š‹^l¿h9—PåÁi¿ê2"û{µ½½öª¡;FL?·»Wùù7¿Û†P"~]?ªQÌ»’¿Z²Ë'=®½>˜VoK[¿~éõIÿ¿sûù©[*¿dþ³+Ap(¿À÷Ä_^£Z=€]yz¸½¾”ì%FìIï>~«8°²Ç¿‡bë[I¿EXúJÞff=¹OUŸÿ>uìCòšÛ¾aJ` Ðÿ>j^å¸Oå¾Q©¹pžLI=¾Ì ¾Öeü¾ì‰ƒ[=ž~¢ì90Qè>5D¥²…ü¾¡Kúüã=˃û/'ñ¾åOd{˜^µ>r`Úۉ׾‘jd>t~Ô¾!u0åç=WWkÍ¿­¾`ŽŒN‚2¼>ÔN„MÍ¥á¾8KÖ- Á¾·µ·fà#ä¼jžàßp(ð>ƒ‚×VÎ}¥>Ö5Òê+™¾0=%O ç>—%©çõ/=£~XI"nワŠûšíá¾ï…yŸê?p Ÿv¬ ?6ON潜i³ŠW!?I_( ÀG¿ Y€ vt?kwxfÃm¿¨ ±…{Ë¢=… á\q¿ "ÿ7›aŸ¿ôê°¢¸Ä?»˜ü…^©’?dlOʲ½—Ô¼‰îC¸?¸¬·…eª?—½d®Ô¿°;(/Ü{ÿ5}@Ìýl¾3iƒµæñ¹?ÃÕ1ô‚¾[¿»Ø7„¤‚?]{ßíIOo?ÊzÇ%mÿͽ‘™®³3r¿Zº„µÅ§%?]&ÞynÒK¿zÌtóxB¿0²`ÂMµ=äÕéÒP£4?iQ[«ó¿4ñ±Þ˜'?¨ç¶8Ùü>’}7áy½§²Èò\¿f~f~ÈÔ>ô*‚0ü¾Ÿ ÷Ö ð¾æ(\^îP½7ù—¡†â>½Ï#Æj>¢"`·)® ¾¼DYÞ{Ì>_D'³^=ùî±|åÞ¾^è«Yz%§>ºÞOƒ•õË>BŒÇxE2à>£tÕ¯`š=2%ºÿ?wµÿ–˜¿º‘Ó5~Q7?y`:Ç· X¿±zŒIügýYá®^”¢%¿î½ÀÉo¿tšwe$»“?íÉÐ|8Ž¿GŠÂ${¶=—%™2D§?Ͷʿ¸©¿ì‡RòI•Ñ?\Q  ­Ö¿ø±ý·Üí+>ª÷raù?C}¨‰d?t6uX‹¿€XD¿M^ &nÁ=’ >œz?(ŒFŒFKò¾b{ÉÃ>?°:‰ÍP¿—Ú„á¹»=³[ëÞí$¿áLù#‰î¬>üq< ±é¾à· ¢î¿õVÁåFꇽ\b¿Ëæ¿nç"ž˜©£¾ü9çJy7Ñ>…[¬-õÆè¾ç½yª ”U½]¶•´$×¾0¡}[°hs>õ¸Úxôࣾ1d•q¾ ¿¾4²U  ½TI¼òvªŒ¾ØQþ¦Ê⦾ßSß.Ð>Òpò›V°®>Ä·á7Ù ½™ùWÛÌо”œ·&.÷Å>Ï"=".÷Å>iÔ­«Â>ÁGÔ­«Â>7–†@WmʾØÈ]É2Ü¾ÆøH›2ܾêvw ¶¿)?¼Ópó‰*>?Zø—ôùæ*¿Ò\–\S?Ž«Ö\S?læfÕŽÆ>Š£ ±ºÎ¾±¦mÕ±ºÎ¾ûx©ß¶¾ ˆØ^Ç…¦>&â#Ç…¦>Õp‰1ñƾ ±¤r³H¾oá¬`!j>Fô¬ÍÈÞb¾Hó‹â¯¡¼OêÛÆrdƒ>ƒQº­ H>™aÓ´ù\¾NvÏ#%Åx>Jh¯&p¶<Ë 5óCÀƒ¾œ»ðÿx>=Û÷zë–¾Açã&§¦>ÖØ·²í5ؼ9•ªßï^—¾#®Ù£ ¬€¾’*Þçg™>ãzo×e‰˜¾ká«ü5% =g·DÙ¦§>¸iÚ“Ö–¾±Zøãù«>'³’Â;Oª¾_º¡SÙž½ÜªØÆfCÇ>x½^ µ><Ë qµÚѾBmÉA|Ô>‘Œ§¼™Z=wÝüV4ß¾'Ü‹½ØŠÐ>O‰ªd€3ì¾káS[˜?—ïBàÞ°q½©‹àdÄô¾ÃvoKcøî>Bé [ÌÉ¿tãîLʸ¾ú@ä…’=Ùã¾.Í¿®»ƒ\—}Ⱦg Qæï¿A›¸¥›©?¿°NËÍò±½Õ °òùÞ0?¿gªt­´C?‘óGÜ^¿A®ßÜ\?&­1sÇ=°ž?&ÉU¿³’4p’ö^¿…N?ÑOîk?Æ‚³Y·4ˆ¿qúЋÀ ½Š»v2®ƒ¿‡ðžu ’ˆ?+pE²²<¿{¿Ü"  ? ±zæî´=êÌ@Ö†0—?öðÙ³1V¿5÷å!i?¨¹U§Òh¿Y˜ö¤³6Ë=>šÕÕl¿ÃD œbßD?§Ø«ä^e¿1gžo¿Ï¬0ò“#‚½wž°”„A’?¹ÉWwˆ= ?÷ŒuqtËZ½_1]Àœ?ô¾ôCÆæëÐ>˜(6¼W ó¾À ‚²ÅÏÄ>ªE?ý©!½c ™z,Nò>8¦ŸËp§´>AÄýbŒ¶Ö¾cׯjr©“>KC¤\½­Ã+"rá>9úà Wó¤¾I8ÎÜëÅ>äI)Fí—Ä>Ä R!…Âû¼QCðcy]T>´Q^2ŸT]¾Âg͹\‚>H¢s&Žh>KŠU—dž¼›§ºíž’¾.ïjhÙF¾¿Âþà]D^>àa—LÊx¾×÷Sí5yܼ}ÉVYz2‘>t‹J¥>Ó¦âÌlŸ¾Ù±Œ¶Ô´>yïïê›=ÊÌ Ä•Ñ³¾ü心¾¦¾kf›†pÊ>¼'“3Ñhé¾±D^7ÍC=BÏ(- ¾¾µL½ È¿û·w&ÏÒ@?è\fS9\.?oì/¯B•=/Y[MdU)?7hÿX`¿oðÞZŒ/€?ªHä®,N‰¿–µgÝó=Á¶Hcc©u¿Ê,bù€Åc¿ÑÕFæ;ix?ãYøÜA¡‘¿1®v鼬Æ=×윩닇¿¯‚x:q%¿‡«`J? ¹0„àJ?(˜9a†1°½ƒ›¿‘Å@¿¢ÖdÖ"«ó>™ð« í¿¾]5÷G¿E8m(ša=›Ä/¹Z¼?<$O‘uÁľß\×Å ê>‚Õ¶¨Oá>‰¼(XL­==l§úi±Ú¾ou2]!>ÝÂògÿB¾”oY€s9X¾uЧ5ôSÔ<ÏTÊi}>vÉcÆoF¾)°x—lˆh>i×Üß}Æ >)'Žï½âHSG—¾C³¯ˆM½y>IW¼·n¾qñçÉÁ¾Ýÿ‹}ƒO½GO((-¬>™®‘œ21Á¾„¶§Nè>e¬kˆ\?jϲË‘½l5¹é¡?ÂÎ^îQ0¿ÂÌØ)„R?¼\×àún¿*Nÿf[Þ½C}¨‰d?EŸ öâ@¹H2Þ¿>xË$%]³?').´j¸[=ýCx(°?ºë›ˆQ0¿š[nR?¦´Ã#öÜV?!6Þ,"°µ½±™02†o¿â†ŠDM‘Á¾Zöá7í>i>þÐ?OÕwâÌs=:Àá\¶V?‚_5×~>L+rÉл¬¾öIÈò‹2Ø>½æÑ:.+D=¢Ý.Á&­>±=TgS¾Ã‚ýºt½‡>a_dŸ X©>¢Ìùi²­ü•õs)·ƒ”>—?ÞÖ4¼¾t¯’i2¤¾âßÕtülƒ™›™íd¾þe™™íd¾€|[Hêd¾#U@]Hêd¾ÊȺ >ÖvVÏr>&?—‘VÏr>‡Õj$Ðí¢¾Û(8a8Ÿ¾½=¤7Ÿ¾¶|Eù[ç;ø"§Sê>—… e§Sê>Ï@ì 9¿HîÉòÀh ?-õØÁh ?¯É™ „Ž{¿›$ax­ìS¿¨æ[­ìS¿m˜én¿.ÑÝÌ{1?ñ ©X{1?óçaÍÒå?LóÂãQÚÿ¾Ü*ñFRÚÿ¾MBMMÕ¡>/¢ÎH£†¾3®ÀJF£†¾l¾!:þ²>2O|8Ä‹¾S T 8Ä‹¾Ë+Ýrü´>BËÆFئy>Ö 3Ü‚›¾‹us—*>> Dxhb¼¿¡À‘²¾‚Ù“ˆ}¾p6ú_–>Üh?7¶ª¾ÿÓIÛŽå¼Ë+5 RI²>ûvN,ð¨¾vÒº’›È>ÞiÌåmÂÖ¾Hû‘o =ý˜«‘>Å>†Mo)°²>i¹ÔÀóÝϾÑ}¦ nˆÄ>OæzŒ5¢;½¨äoÌMÙ¾Ù8^æŸÎÍ>ÃA Šè¾É³c·Þ?Ò>¯ÌìL²¥O=ñ9ׄï|ü¾Ò9¿ä¾Uä¾ ôW1…Ÿ?Ùšl8G¿3dr‹]½`/6ìÖ?U8<÷·zþ¾¾{±ÐJ?ð~“ÅÝ2¿ªõPá ˜=Vq<%V ? [†ÖÇÅ ¿Á†Ò‹h7?ÉCŽ)6ƒ?€ŽÎz˜¸½Û‰üïk’-? àmÔœ?"”f¤Ü_?XÓ1©Ã»a?pÑ_»÷Ö=ŠÔoÆ•^¿¦Y«ŽBd¿}ßûpS ~?F|±y¬}¿c5²Ó·é½òܹð’­w?^!ªä>fq?knf ïµl?õòn+£¢?™÷áM»½Û¡ùÖ¦?þÄÅXC{}¿Æ|  Ê¿Í2âqÅk£?±ûe$ã½'ïDØbª?&Cçõ’¼q?ˆô?¬{¿ÊÖ×Õz?S{™ïƒú½pÂŽúŽ?!†'ÕnDf¿ˆTÅ´º_†?úF–Ó=?gpqE›!Ì=jÔâ1Û…¿Ê ³Þ)¿Í™™†¦I?7'¾h.?Z͘µ>­½&¿—ãqXe¿Í%µut¡?X¹“Aµ;¿ŽbN!>¿Ç2ʳY‘‘½ý¾Û4´?ÛÑCã—`?Û•™µ(¿ºðF­»1¿àZB¡‚=û/m‹áP?›B¬m‹¯÷¾äZxt]?4QTËç¾ùk´!==“~€¾‘¿’ί#ܾ¯!ƒg´þ>H´i‘ÿñ¾‰8à­±;=‡Hý6É¿ È®°–ÌÌ> ҕܼí¾Q6AЉpì¾”Ýæ.ø!=ò âÏV;‘>‡[=O ‰>²Zé–¯¾|Ý4| û—¾ô’4+©•¼ºþάÈÀ>’|r°ˆ(>A ß4XÅ­ø¦>tΑ2›=Y¬Æ b5Á¾/&<Š ´¾ÆYOÚ fÔ>M™³vÕå¾›%óÒD½À²Á•ðyá>Þjß=æß>§jG— ¿˜‰éñ?P~m¸Xr½ Èc#Íuô¾¶%OÕ~.9?ŽÍo¿‚v}(¯??µrXaZE*?4T ‹ÿ„½F'€ä[:¿L™¶æì>¤/(c¾b¿ ?÷'Ög¿|òÄJYƒ>§{÷eÅ‹½ßs/$¥Èª¾k…vt~>ó¹?L·b¢¾ê 3ξäâ‘…ˆ@7= c¡(Á>`m.˜à@©¾Ù óCW¼>²rQ%éè>Ió¿}d@v=7åIÄè¾Çl,oì>¥oÊÜ !¿š–ù­ëL/¿Ïjè.¡Ã·=N,{s;¿'ÿ ÿnR?M«›ÎÆŽt¿'Ô ç’?¼õüÙ^|>t6uX‹¿¹H2Þ¿ªiFÌ@"0ÒÕÚ¿Ï(Pë|}½gnE‚-VÖ¿!_W}ƒR?Ã…fŽt¿Ù‡_ä_€¿ÚÏØO«Þ=ÄÕ/U0¸“?JÇ¡úwÒè>ú óƒõ‡¿‡Ø˜\@<¿¥¼) Kš½‹Ùáÿ¦"¿ˆT ?΄¾$ŸˆøÂ>Fné¿è¤© `‰k½yôÈ8ÑÁ>ƒº«•”½y>4ƒ3 ¦Ç¯¾ ‚PÐs¤Ñ¾¥ðbÂÁš$½k<žÛT÷µ¾S¨m‚¼¾$ sœ%ã>æ2£X8eÍ>[ 8V&G$½¹ÕP—]«å¾ qDÇ >’>;Ø;à >’>-NôŸþÎ’>ôRºŸþÎ’>1Ó¯¾‡/÷@@¾ S,A@¾ó—é8Õ>ž l&•Æ>âJ¹Ü%•Æ>3æ6Så>(Ü…±¯¿ ªrݯ¿±mš)‘ý_?]´ò-ê 1¿ù!ê 1¿(b˜š*h–?y} ›g?Îcd´šg?ðÇ>îu?(¢³œ5OJ¿ÛKg4OJ¿sØè¡sÊ/¿3ûcš§D?â¸!¨D?Ž2_ÚKãã>‰˜¥iÀ¤¸>5aõ(¿¤¸>5‹ ¸Û×¾îú0ϵŒ°>ÌcµŒ°>Z>0 /èܾž°Â²®M>+¢¸®7E±¾Í(ô­rÉ¡>Õ¸¤?²Ñ½¼òrp÷QOžœ}C© —¾Ü¸:³>~§p ìÁ¾B²XÏõѼÖ9G*±cÅ>AÊr©!Á¾%¶“!6á>ð1ÒNÞUí¾ |ÔZ¢=ài1å×¢Ú>d< jÍ>ï”FSöœê¾òöªÍ^~Ø>Ýg”k–ƒE½Ó¶»Â$ó¾Îµ: Uê>ø¢¼t¿£DÿLëvá>k_ä:7Q=E”S׿ªÉ䨿ƒ ·‚f<"?Ädjº÷"¿ÔF¿¯YÁ—½7£'4¨!?˜tàFù ¿¼Ÿ8™A?-:¾p°ëP¿ˆø7cyq =sc¤Göf:?Wè­°¿´ê÷8÷•??SÜBE)¿GšÃ.Ž3×½jÊàö?¨¡Ãî)ÀX?NLŽJß#w¿ÞESì]o?-~U±vå=Y4«³Åx¿üÖBÕJ¨j¿ÈÚ~ïò ˆ?˜‰=~à~|¿¶I%J7ä¾0ÞÁ‹iˆ?s5FnÕ?¨?Økº[/Ì¿W¬”°ÑÓ?‘°š Ó_>kÒ¨®[z¼¿¶yþ“¡}¾¿<±Å¢Õ?ä¶–xRòÉ¿\Ì2ózöò=.¥Â‰ýoÞ¿m‹“‚)r?¡­—ø¿R:{¾R¢·¿jLñ•¬nû½ Á¨ z£?{ËeìƒÀ`?onpBP0‹¿ë7Ð#7y¿¢µ®B­Š©=!jžï4A†?ì M-ŠnJ¿NGc›¹l?VÒ+„$¿ŸYy)°½9ço˜Âr¿òÂYñœH6?튪ò·ãY¿…b³É{ñX¿:žî|lã‘=—à–Cí9?—²{?¡é|ó?¿ÌÔ­µ þE¿Ä¨dzU’=(Çk[Dv-?DO¢Nˆá ¿Àg‹K/.?:VÛdÚ¿›‹æ&Ø•i=N냉´*¿~rŠv»ñ¾/Ûè—?c$oc$ã¾Ò&Í¡äB=;XÚ“¿ÂYZ–e‚á>SV"ŠØ¿¸i ¿j÷ý[œ>=vï WÓ¾C\|—D™>“5­ê„_¿¾ÍtÙˆEë¾å'žǃ¨< !‰óxÑ>*ùeÊ2Rž>Ñœ§…”À¾;Ù¶!ãêº>èžà¶|i=¢’-¹Ö¾³‰t?¡Ó¾²µY•pö>üÝG:;®¿Ž/æºYO½¼£‹'ØŸ÷>—AJ«…Ç?.»½Ã*¿­O Ë '?ÛÝjϹT=Êß¶z‚›¿%ei¸ß¥m˜£¿änÂAc ¿:çBÈêOÊ?Çöy¦?„Äâmt:õ½ñéÑ: ¸¿2…N;Ô;c?ù °‰¿ŠœJU!™t¿0úc¥oà=ÐcrÜz |?ŒS Y(¿ÀÅXˆrØN?P¼k|u+?{<ç½èu©½Kë‘©8G¿]&pãçS?G°ˆ~m•(¿hËòLØ¿Z¶ð9îx½9)ÒhÆV?sœ=(x¢i¾Z²M`ÁÝ>Ì ¸ík—Š>ë&û½o1ø[ñ»¾X˜^ž —>½ ޽¾ )s°Èá¾®(b–ks2=Ü€6§$Í>̹Ùž‚åò Âà> ªÇ;Ë÷>Êxµñ«‡=…†/rÈ¿á¿\;áÇ?¦Ùá&S;<¿ès–“:üD¿ ö©ðáÍ=g ù¯eÜT¿åæÇʨêi?Ѭ£¼¿µ[#A•¿?W+MÂÖ !>€XD¿>xË$%]³?"0ÒÕÚ¿°D„‡¶ô?»MyŸ$¾°µ³ÊÙ¿r‡D‡2Q¿À2P éÕy?úKvs†„¿Ï>Ä3Œè=8ûf‡;Ž¿p÷´šŠ?´›Òeé—/¿ØuÌ™ìÿD¿(¶tüµ½ü09íà?-ö$÷.—•¾IÚ$E.Hâ>8y<[ÞŽ¿žOš”fT~½£8ýÎ…ZÖ>Yå"³¡>£)²ô¦]ѾÊã8‡kë¾2ýÙç³S9½Ìj9ˆu¨º¾´ãH,¡Ò¾ØMÄ Ÿú>Ѐ”êçÜ>ˆýŽc=7½N–Wrk¾û¾µ‹»¦û±¢>ÂÞ¢û±¢>£i£F£>Ì^F£>H{|ÕN þéŒðk°û¬¾ü™°û¬¾|ªjë>¢zÄŠ›Ó>Áåò÷‰›Ó>Y½Ã;()á>v¸›-¿9^³-¿N®‰Âvt?ú׈èZê(¿) Œù_ê(¿wÓû÷·?^áËŠmä°?7SpŠmä°?H8†mˆÕ¿ âa6ø?\¿s.öQ÷?\¿¨È–  h?4ï%0dp;¿¦"¾dp;¿XŽò³¦‚(?¸Ã}6^û¾ÅnW|^û¾+e{»Cgݾæ (AíqÑ>Œ#ÝíqÑ>àâ»a°ò¾ Êͳ†Ð<_|T‰¼ó¼ Súû¼p¨Sâ&ê>Œë7ƒ±€ù<â$Ãꧺð¼¯ÎÁÔÙÜ=TxK•i½Ú¸ õ±[¾ôYèu ½õ88‡Oý¼¼SNû%=Àž°æ¯½ò7K/ s>µÍI|„î½ÇØ£r]=Ä…¨¯ç=½9…Ôt/½Ø9e¾ý“]aþ3½0NC“÷.=|/\‡˜U½‰±å©¨O½±]Èw-%¼>¶Î7À¨D½{L×yÿnB½—,.g^k=eTj:jd½Ž8ÊBêmžM¹h]ÖHO½¤qoèºÈq½1Eãt€X–=¦ß>¾½°§ü½¦p÷>©@Û¸A—T½!&þÔut½3«KñÚ=™Hmçž½ÐÍk$°$?ùÁ˜×Woœ=†ÚÍîäC¨½iãýÂ=âþ¡mnp×½­¤“Ûþ8¿§&…âVâ=i§z¦æÄË=Ñ[Ýq7$î½H;ŠÑlì=ª:;_‚?ø*÷­ìúÕ½r¸ø×_ ã½CÿOšÀ¾g²tò¬<ý=ÉãNÇW°¿)7vÚó=oq‡ÛÏÕÙ=þbté¸ñ=ÜE>Ò2ü=9âÄ’¹þå?囸½³—ô±9GÁ½™<÷Q³S>×ÀScûó½¦pï_TÄš¿ïòÁ& ù½O~cUãÖ=ó÷A™{ý½Û—’Í Š¶=—‹›¦†?pò9v«ký=9ÜkÕeIÀ==ô2Aåã½DZñxô¤= ºxå)0X¿xŽc&¨î=ÂûStE‹˜½ øwÒB©µ=?ü¬°Á=N)Â3ìÅ1?ïV¸ss¼Ÿ½;Èá t‹½Ã^?&ÓH¯=bÊ»¦æ ´=<><Øñ¿g€$ë’s½ó•/›9Øt=÷†¾ª ˜½7¶‡®ÙÉt=ݱmÆ¿þÀ¾º8¿ú‡&•=9ÐFBܳ\= Ü@#&€½x™2ŠsI=¦ñ:ý¬ø¼¾*ZßI„ˆ=ŸYõ¸ÈŒK½€ Cf,m=ü—[ÝDOk=S"aZ6„¤¾ÁÙ7 b6=ç¬ý´ aö¼â¡ó;³=é­¤ú`Ç<+¤¯>1ó=´ 0C %½‘žî©ºdüäYj»[5°½ÌM"¡,Zy?/h“èü=*ÁP†è=º©¬<9ö½:â«l9 ù=®x`åIžâ¿3có:ãã=»³›Ò#ͽ|ìEšwô==ž=Š\Ð=;)CK?Ÿ‡¿êcÑq²[˽¥O¯Ê£”=Mé”&¹½èô¦p¢ž½Õœ5Õ.P¿Æíøü¨=IF™ù’Çn½î”=õøw”=¸?&Ù%†‡=K?ú¤À-ä>çßf³¤T€½¿TëÆ8V»¼Ú$oŒÿpè<½mêNqF½åÛ–éK>ÍõŽ;ŽÁ=6B§ëovØŸ´k¦ÍŠ-½ÇBVÐö½uܦ‘u{A=<ÆÙšºÌÇp‡ÀY=hL{©N½%¬Ê¬w11=.¥žñ@М½Ñ±KN/?y•LH™½y¬ד=AèyÈ¥¼½ VHi~’´=)¥:b?M^ &nÁ=').´j¸[=Ï(Pë|}½»MyŸ$¾§“£°*¥ò?ˆÛ&ûó=ø 6êÓ£½Xü 2îÆ=víÙ·á=ßk”&NB?Ϊf(Nú¾¬d{’Ð*„½žŸm¥þ¬=vê«{¶þÃ=XýÖ÷¶š.?MS¸÷‰Òu½1qnÁÓ$½œ¬]žM#=kºNF\…=å›ëœÜûé>Ó9%½¶[½bÖ¬t§½öHôÆ<=øÜýû÷V=Æ<˜>a¥>0­XäU‰#=Äœ¦1==tï«1Pd½¬@´àcI½€ëMzA¦>Ê›Ôv‹÷e=DŒ yÁ6>á<Å6¾,å$ž÷ø½ßÿÙíj÷ø=ñãi¬¼=É<ô_gnÏv>GbÊmÏv¾«ERL½<ªœ¯íúŸ>¡£ºãîúŸ¾|;fœ_S=Tõ®iŒþ¾t݆ÉiŒþ>K÷éÀr²½[À À]¿Á Æ À]?íú6ˆ´彇 ‰wÔVÀ¿® zÔVÀ?Ä»Þ]€î½¡ÐåÛ‰¼?’‡wìÛ‰¼¿_Ôë‘'OؽQg‹`f?¢Æ‰‹`f¿«Àôâ‘’½~T­bì?Žbì¿T±K;=–ˆâ gg³¾–·áfg³>Eý 8 ]=&~ËR§¢>ÈÓ†(k žWÁuø›>(p¸…®Õ¼ú¤Œl8Ò¾eÓÛ{o¦°¾Öw ¤É¾Ñ>¿Iã–Õ¾:rFó› é<Œ—>£]ùÊ>Aå€â¿Ñ¾öÈÖÓ­Äó> u½íɃü¾R'»Žu-%=—dÕÌ×zÝ>z$mœà>\V`F,U¿µ{ËöC³>dÁÔLk^½›˜zÊ_2¿VQh8Í^ÿ>Üj¸Ú®!¿ëZÉbô¾fŸÂúqñw=«²l#jD)¿‹s}6Ùa ¿ÞÌŸÈ*ë,?רKÈL.¿ŠCQ/™†=o\8>f¡?érÄ…<%¿Î‹àH¨F?£=€ÍòJ¿‘*o½‡3—°"?ø;ò?C?×è-‡qže¿7ysÒËžD?ö¨£ØLÊ=¸ ûšÞÕf¿Fx!‘Ö<[?üÕÓž±€¿"¾I½•Xm¿/ÎÜÃÒĽë-%v茿’!§Aòb?{E®°˜‰¿ ¨èŽ2'j?Žm^òž®>E^Ÿñ”Š¿}Ž¿Ì·›¿àäÛ uÃ?È󓛯¿xåÌ!@¾ ‚ª›¹?ÏË$[ž´¹¿æ?" H.Ó? \Z¾„Þ¿_TöPã,ó½°§Np梿¨Á¦³ª2ˆ?¶i‚cñ¶¦¿UXzû}P2?Ëœ¬IÝÞ½}kßk”?pÑ#‡`q¿Ô”¡Tþ•?éCÅhÓBo?âÔÇj§ËɽVbQ3´‡¿ë-ñ§¾?ã5ÜaÓ@¿òÃîhå.4?]"è ð%s½¸Äq~j¿ÈDQô-k"¿ÏeØËÝjO?h§vúË#@?½HÉÕf°½„ßÔˆ7/¿ízÊÜðšé>¥'11¿&ŒûRÔ?íàÀä}=šhs}Ò?ÏGÀáiä¾g1R£:?1à®?‘¡oBäX½;OH®]} ¿>µ‡Gc£>‚@ZxÕ¾| YÙ>¸Ož³Ñá==ÔE ~%„޾¦jÕS¹0w¾s_÷K+À>ÝZ€nU¥}¾ÍwR¢w”+½åÞK rƒÒ>pU«¯2“>ED̸¾CIß3º¾‹'£CÞž<Yõ¥Ó>IB~Iº>¶ 5Íž;á¾ð”@x—l¶>âxÅ9)=Ü(¨ qå¾ µ8xº@æ¾Gñ,6¶f ?_z¹ M¿Ž.¥šØŒ`½p<81œø>C浪pª?4Ò퀛=¿^1(yI|á>Mô„…'D‹½ ƒÜ.r‡A¿K’fúÖN¿ÿ XxÑìv?Šq U¶8=?2D£õ´±½.jHRw°f?Hq'G”¿w<ò2˼½?Šoh>e¾¶¿¢Ñæ†Ú¾ü=•ì7 O–°¿HüGÆKذ?Yp ÚÖ¿U*/iP„¿¼ÈmZ:öö½|€ÜÍÑ?Pj€j2ZY?’Í'׈€¿œL•Ìbv¿‘P¬äÞá=\©—2áp?î‡å*RXú¾}H …Â?ÙÉâÚö 3?âõ “¥=:Zß³™¿Ðà™í®¾HžfZ:_í>¹â’­Ú2ؾÿÎÝ)X ½UCóøT¥ó>€P:Þ80€¾$*b~Üõ¦>\‚­ï­aš¾ ?9õ]©½”M3êÀ¾(Ä)ކ°>Œù3jOÎ×¾Í#…Àœz羪­ürÛIb=Xºèѵ5ž€\‚,ùÕ¾‰]¬ËœØ?#íÍʲ¿'©Q!i½Î?Ÿ`¿Ä°¶ãR?D:בʚ"¿Íl³Šo?ôßkï|³½î\8wm:?õL atRe¿H:¡ò¢Œ?V¦$ ¿'è†Ã·¾’ >œz?ýCx(°?gnE‚-VÖ¿°µ³ÊÙ¿ˆÛ&ûó=ýdc‹SÎö?Àéxh ôq? Ía¼ÝV–¿óq÷z’¿(˜7RÓ å=(¾6t?§?’QÍ‚À? ¨Üu¢;¿0¦¦Â–ÙT¿ ùËc?,¢=4µŒ…\Î9? ìÅu"GÃ>ª¸‚Õëð¾g:hÕ© Ú>¢±ÏÄ8i`½ó}æ»2|?l"ÇÔĈ¾xËÖHìi¹>i¡«FÔ#Á>#Z¹è»=¼q‘n¼¾,K„”PÉ•>G l1¨þ˜×.ü¬mº>9BmÏpõE àö„®š>ÿÍæ„®š>ÅŒL£9¥>”›¢9¥>Äpõ˜è¸Î¾'<–È\ ©>CggR\ ©>¢Î=ÏÀíý>ýc)Ñ/«Ü¾&2ãà/«Ü¾OÚ¯µÿ'¿±`6ûd?­Ú‰ûd?D ш]¿AriÆ]?ƒæÆ]?Ô,šu XÁ¿Ì´%м×>P3¼×>&ÃYÉ?}†Qþºs?˽ÂGºs?Ñ +ÞBc?ŒB$¸)?¦‹]°$¸)?œD mb*¿@ºS?j(aûÂ>-x >35z9¸óA¾4†½œ\œ6>Õ×ëm%°¼#39ÎÒY¾ÙvCÈÀ!¾Ìí:!m„:>ÇŸ²Ì9Q¾+8Ôòi”›¼æÓóÙ¿X>—l©¦O¾iœ¹F&bo>¬­ Ò‰N}¾î·Â<шcVj>öÍîbä?X>åã§/u¾wâs¤j>>Ok_‘Tã¼æ²X·ƒ¥€¾²_?5ex>úÿ*'O\—¾½{ª¯t>p¼Ããݾ=}σTu>¨¾.åMHPù€¾èÓ©…æ™>QØkúf2¢¾r¡ô\O5å<™/ö)Á¢>S}ïOüÞ–¾ r>ÜTÏó‚þÀ,gK9=ÍÌIXs»>=ÿ߇¶¿µ>û¨¯æÒ¾Ð6fËŠÖ>¥Du¤ÞB=Ò›»üÊݾwh.˜ëžÐ>¼X)=`ì¾2žD6rÎ>¼#3p¨,=h4r°Á ¿še¼N3ãî>"liOG¿¿ÏFØ?Í^§£‡•=Ä„O÷úô¾ÄÇÄÑNʾýƒLÓŒÀ¿*‘?¬¿õMó&uy½.Ÿä«8¿A?i™G´‰´C?#ÍcâEÛ^¿ÐdzÕ*ËE?ˆ˜Ê,ÄEC=#ëw¼È㽕 Âó¾jÌax/£ò¾à³Š™9a9=½FPEl¼>¿Õ¦”üé2>#‰ƒ7W¾ïh£z@¾µ4Ò¨¼ìKË‘— h>Ù—úM¦'>‡"ÕϼaH¾Ã«jœmP>›Hw”© ¢äîx®«Š¾’‡y{€Éø¼~ðA‰W‚>üØ&e¦3‚>_±ãÔãz ¾3cºÏ*Á¦>±Ÿüˆ½Z”-Ÿu÷¹¾ ’¬ Œ¦¾Eß CC Ë>dEýw®Ø>=ö äI(O½hºn¯æ>HkÙ´›Å¿Å:îõaÑ@?pà0³S1¿~û©^ ‹½ôGÒ;;7$¿„håY`¿“Ü””n/€?¦ôø¤‚?ß·±Å=Ξì =„?ÐÁ¦ÊÄc¿j¨uãúex?S(Dú?ô°JÚ—½Ç¥^G¼b‰?÷5:d\%¿«vÉì£ëI?á(€ã¤ß+?†-ö¹Þ·½¶VMi—ýM¿•Y‚)wÙó>ÀŒM*d¿þÉÕ:ÑE¿kém[¥ks½w?TAµ6 ?.¦ˆOÓ‡ô½" àHt>ÔÈIÁ2>""ë@¡¼—ÓÙo>¤S¾,{œm.+>‘»dÇòO¾¾=­Q¦r¾i2^㈊ð<·‰o„¸Ÿ_>c<(fF¾  Ç!éh>QAa›F¶‚>=­²ËÂû<Äd‹”º¢¾1×45žy>ÞÌà [m¾Î?Ðdç%p¾õ+(t=~dkúrôÂ>ò×øKÁ¾7ÎàÊsè>?*ÀLŒ¿dù¦¬º„½(ŒFŒFKò¾ºë›ˆQ0¿!_W}ƒR?r‡D‡2Q¿ø 6êÓ£½Àéxh ôq?Ëj@è÷â@|”_„Þ¿®BÚKy±µ¿«eÝ'Ló¥½Ò…kï÷¶©¿µ1¯Ä³O0¿î_5›mR?ËSš÷¸×i?jÁ€»½x_¥-å5e¿lø¾ÌV¶bþí>Sö,Þö«¿ßyhÜrh½÷>hWyï¿Ã/Fˆm]‚>ð¤¤k*‰²¾ZRe,ÌaÔ¾z×ÁPÏ5½ •:ˆO†¾»yò~S«À¾Ôå.‚|©æ>ŠÏSiÒ>î’¨¯3½§N… é¾ÁócË.$:>f%Ù¨.$:>#¶ìh;>-£ùëh;>PÀ¾ÞR¾ðÒ É>C¾†Ú¡è>C¾ë‚¹´dó€>+-Dt2q>„†­Üs2q>»v õº¶¢¾Ø€ê•3;¾Í[Ò[3;¾ ÉÍŸ3ξ0>ZEKê>Xˆó’EKê>_VtŸ¦9¿^byø™d ?úØ¿ù™d ?6#}J_‹{¿ú“8.ñS¿ô½E.ñS¿MO’ïÙn¿*¥å£†x1?D_-¡†x1?ŒÛªÀ¼?Yx¡v¿%w;áv¿«ëÆ}•^>ÊðìÀ—s¾uCÊ—s¾’rI¦lzá¾1:c³ÄP¾þy”fr>û2Tߨ­c¾ÑêîK¥í•§î eò T>ÚÆÓžp¾^&¼]Ó>¦*àvÌ<¡¹È~Û†¾I1]ã!€>œ)Âg] ¾T“Ú­>Š´núë¼Bc½t˜¾·94Jõ‰¾®õøY¨>.ÃF}C–¾5ó1(«±=mÅ:µ[±>2 EgU©¾øv®ò#É>ÆB½…3™¾ª%Ü8k/½4 ÁÝ'Ø>×02aö³>¿×,âcо/þ£»Ô>ëòŠr´Å<Ô»€þŽÑ¾ÎãÖ‰(áÍ>(A P©£è¾Ç¹Nº2-ù>4dáÃêg@½ ‰"‹¦.ë¾_v Êsä¾¢ d­5Ä?û mLO˜¿YŒH>0c½Ûî2l_x ?;‡H¶Ÿþ¾VÿUÏms?½~x @ö¾ÈùxEHed½s5 ¿4?ø'—0   ¿8+N´õ6?ϾdO×Ï.¿á ùLÝý¹½"ô•(â>…„×Úgý?žýqÕ>¶?à[AÙˆ"Q?¢ÇB £=¬Ã­\×e¿i:9†Cd¿skÞN ~?à"Ÿ¢´Òh¿äèB6=ÞÆ8àñ?Æ96–}dq?ËӡȰl?[ã@öSŽ«¿dõ÷!›û½áEƒš×’¿ö·íDp}¿#¥È©,Ê¿z[\Ǭ^¯¿%¤+-â½kŸÉ)“¿ÄuXp½q?϶»[#*{¿%]DÎb“¿.×uèvîÛ=¡µë`²/¿C8NHf¿  OÄg†?cA>Cs…ƒ?eÿ™*wÑ=#Z1èÔ†o¿RÖèv‹ü)¿²€l›WÇI?/.îh÷c? Ùƒ÷ ¥±½3­ý‘8M¿{Oyá·®?ÖuŽD;¿l4Ãíz?—Ü(J»H€½x77›Ì=?G(DSx?ýü ¹Ù*¿×m×q¯‡> VjlFg½®°$G¢À2?¨YôB]üù¾KBY_^?­èÍÛ.½?#¶ªßÆ`½ŸÇF>8ê¾{‚Âé©`¾Ó0VäDx„>ý®tÐ`o>þÃð%˜ÈPß¾Q]ú|¾é›L É{Ô¼• ¼ô•> É—‡¬©‡>r(UJ5Щ¾»ú™ÜŒc»>£\áÒ¨!%=:¨ÉÓxDZ¾þ`ô0eœ´¾3³‚"+Õ>oó9ŽÇ·Ñ¾´±u‘\àD=d'z¡h-ê>uÕöÐP*à>ú‡ym¿u"8C&ؾ„F !£‹w=1˾¸‹¿ÐÏ"&¢*9?íÔäÈZ2d¿÷/Ø>²‰T?™Ö|*Þï¶=Û=š=ÆN?Ë´»)]’|?7‹FºS♿ˆhغG¥¿q¯sN(¦ê½I àâM¥¿q ßt­©u?ðk9{J?°ÝÖB<©¬¿áK~žœž=pm$Ì믿4²?YM?4Ô:Cnq¿kPÇh³@V¿]^§ø9„Ý=èö:Õt?Îæ¬ <š¿IǺð@?¼þ7‹4?|+Tug’H×=J¾^>P–]¾õžÊ)šÐ<¼ÔÜ>B= A–J[¾ß.…ñÏ€>šù@b7¡>K£á¶Eè½xŽŠ¾…vµ»=‡~> 6ÌØ¦¢¾t㘞ü¢¾Ž—ôJ(½öØ*GKÐ>,°Nk7©¾eëøF¼>-ƒÈßXÝ>S\çY¼tU½2tÆÞ dï¾ãUjë—ì>Õâÿ~S=¿EF¶?'??«júŠ =b{ÉÃ>?š[nR?Ã…fŽt¿À2P éÕy?Xü 2îÆ= Ía¼ÝV–¿|”_„Þ¿Ùl¥{Ì@$ ¦ÐëÝ?&Ã㼡۷=¿‡Û”Ñ?£Ó×Ðð~R?Ý8{ ‡KT#¿ÁC Ó%]2?si@'’=@j•\ps7?÷ÊËß™—¾ë|wR†ƒÐ>ãÒè¿Ê÷>"Ÿ4j¶u]=ÝY¥Íg#Ö>—àgݲæ> ¼4«¿èGi{xú¾¯çC9tðZ=OŸk•EI?$¦—W g¾HëAO g¾$í”ò´h¾ÌV’ò´h¾™Gƒ5êu‚>ë§žH]Ùm>*ƒŸ„]Ùm>JnˬÁ¯¾còÝSô5š¾I™¾ô5š¾×z¸màÔ>ퟢ-Æ>¶õÎü-Æ>ç?TŒp±å>U`Œt©¿‚Îq­t©¿å-z`?¸”RÚr•1¿?b4Ür•1¿Ke×þd–?Íͳ €g?´F€g?’Dôt?t>ösúI¿?AÈ túI¿X¼»Ñ1¿%tX„ûª?xHüª? ‹Æ Rê>ûÌß³ƒ²>˺Î%·ƒ²>â7IJj!?]l ·ƒy>Òttþœ¾ɋƯr>ê6 ÇËL޼.È*$?ª¾ë¨ï׉WÍ'¸º¥>Ãnf ]¬¾Cþä+Ó<.¼=ðc¤>`®W6ß§¾¦ð,~&6Ê>øv£æ™kÓ¾.§gÀüô< ™ ú¶>βjä¶>W¼cXûç×¾þôy˜í >TL¼†+½>þÅA·1Û¾ üÞ¼ÉÔ>׺(ö¾Š¨É¸ûïÆ¾·¥QÝê¦C=øé_ø`¿L®”•o[â¾k”å¶Ûâ?iÆq°™¿PÛ£À)C½ µ]µO+ñ>\ÌŠT ¿ñçýVÉ"?⎋=”*¿m½ch€5=Ð<¬6~ ?žŽ—‹V0?Uš«-½0¿‡eMmOØê>Û€jytÔ‡½¬ö²¬»2¿õ(óN¶)?à Ùq8DK¿ýúÙúå¿‚» (.N…=å6ZÁRÄR¿q†Å\Ï A¿ïC‡{|c?‰§k¢b¿ÏÿŽAL,н¡ÅßR…^V?üçKø`¿&*ÖÝO˜ƒ?ʾ—ù‚¿Ññ*‡;̽7íßK²i?z¢Ã/ôÜQ¿—=!¼©€?Ÿš]ñÍÕ~¿ì«O¼Ù+â½óγ)®¿k?ÜJÙy[äƒ?€“3P¸ß±¿$¢‡Eà ?Ò¤ñ~|`ð=]ϳ ï´¿ÕHÄ™5Á?³Ú™ý Ù¿: '†d¸Ö¿'·ÀåÎð½]áÏ¿*Û¿xÿ–·Y܉¿QNâ}F¨?a&àŠÞ“?n­ß;Ôêê½@-Aïi¤¿OYòª;k?`tYeQ?¿' ÉJz¿éè-SLJè½­ D-/p?êb3Tmç)?$o«ƒ×IF¿_‰’\(q¿æ»þG µ=}Züð\—\?Ó€%C4÷>;ž~ŒeÂ9¿%03#:ë¿_(ÅÜ´Íš½ÞµÀ¬‘Dá>Û1<5 ¿+¢>õ^)?ê¤mbj?”û,y=+[ˆ”Ç+¿–u‹Çû>aÔaΡS¿ŽËg¡Jé¿ÚœzTâl=5{Ì+ë ?Ó*\±U³r>Ÿ«á~·@—¾¤­æ[’¾¼ï‹ûü¦<Ûkn ª1°>¯`õD >V‚°úÂí´¾¦˜\ U"’>CQÀÓÒö<½ˆWÄ\©½¾BÃÓ–l¾¾š—rô¿ã>Ê~ç,Iå¾q1Žú"±4½sx›³¶ÒÓ>5W?ó8è>öÃÌÓÎð¿Ë4cofÑ>\­2,<½HæpŽª¿ÝñN­1ã¿Ùoï‰:@?qü›|@¿3¥#ËÞS½Ï"óÝ/?⊚RÝH?~ˆyŠ q¿]°³LxÑZ? k¶AÐSǽ|;"k̶`¿¸*1ÍÄ?‡ÅC›Ø°¿&õÏ œø¶¿ÃÆ'zM½=E‚Pœ… ¿ÔVéÐgª¿ôy?)Ñ?I~ž\±Ê?›¸Åá[ˆô="¤^ J±¿ ùÊÀlXb¿€|“|–)ˆ?J´\^O¸l?˜éi¯Ðν¡»sHO¿'=Dè[?¸f߬ç9¿6\ÉúÅÚ(¿ñÒžR¿x½.r{w¡Ù;?q­SuuU¾ËkÄÿ>a}>ÊSáic¾èÏæ­™ ú¼Qîn­h›¾’ŽøaÙk„>ÈØžLa­¾ÐsOü—Á¾ŸŸz Á×/=Z¶âŠŸÕ_>p¤öj¤±¾Jb`É8Ù>‘—Ì^<Ù¾jJé–b#)=ÿÜM+Y½è¾~£ösGØ>XÆíJ¿X"ûÒ‰y¿ßa¬[Ï&z=\Í÷ÕkÔ>Ì"’êl¿ÔH±ÉX32?È3ëa‰¿’æÚ Û:Ó=°:‰ÍP¿¦´Ã#öÜV?Ù‡_ä_€¿úKvs†„¿víÙ·á=óq÷z’¿®BÚKy±µ¿$ ¦ÐëÝ?tz…ƒò?½Lcí6 ÷= Ýò%c­Ö¿€ÔˆÍùûn¿­ÈÇÑ“é’?‡ÁÁ±5«?Q±vÑÌÖ½7rßBK ¿ ¨€gß¿*A³??㙬µ˜¶¿ QßîÛ®d=T«K{ýW¿Ëê­:&î½¾ZFòý_å>§‹­¤çNà>`Uá^Yp½ f‡¾óÕ¾oðRuKà¾0×ÄïHr?X†=ë÷ý>œÑ?òxf½HÃû+ Ë¿~gDGz>ík»;Gz>/=?`Ç>¼Ñ `Ç>_†bx¦¾þKW˜Ý!p>ÁÞ.Ý!p>c`Ø6 Ò>bµCÍÐO¤¾© bÑO¤¾¸–EzÔl¿$ùåp”Õ>ÁÅd^p”Õ>U(UDj%?‹çTB§E ¿’î,¨E ¿GÑ!3‚ÿ>×h»uSZ¿$ÃDÓuSZ¿÷‘ ¯+ª¸?;V–¿Õg–䇉–¿¶|CkÏJÇ¿³„µ¬1Ip¿\«¬1Ip¿í†½íyRj¿úzái> ¿}BHÇ? ¿¹e ?Zû>;•TàB\¿£üèB\¿ÿÄN±êß¿TÏ%4dî¼ L¯Â =wd<fôï¼7}ÀÞàv½ëµƒù”!=;¸¹Ï§ø#?íÒ9.½-0&I‘*½æZSL=F ¿·6½ÌhúÊQ\¾á…MþyP=à¿ýpH½h8‹^–µj=ÚDbýV6=¹ëE3ò©r> M.M=t=ª•@‘V=u3Û -x½6#W.y=ÜSØœ™t¾Ì Œ™¨g½Ë „ŒWt=grXO7–½âC w¿3 =áú3~¼>à9ѽ½çö *oƒ½¹lìÌ÷f¤=ÍRH‡¡&p½Ýº€èBÕľ ¢=+§=Y¿W)Á¢½î bþ„yÄ=ŒÌJþÁ‚=¡4£·a÷>-ô“p~WÎ=B†Ãƒ±=êˆxLhÒ½Y5D7€qÒ=«;ƒpN÷$?丨½)À½õµ;̧Ð=Æo§–!󽩋غ1¼õ=Ú®²Q9¿iêÉœÔ ×½†§]*ۃν ûá#?ì==ÒçXvû«=…·ÅŸüv‚?¿O¯ñ7^õ=݇¸­|¯>EÜ›'dú>ðúP\Ñ_°¿ ™":è½{“¢ý±xò=Y {À®¾rí¹ä=š×æoæ?b^÷„Ë>”9!ãaÁ=ذú(潜N*è½ïnê,¼ïš¿³Öé6a·þ=ù»£ r¶½Öúo*2Aཕ“ÊÙôàØ=B:v†?µHS ¯dÁ½~D 4fš—½]ÄÄ»TÎ=÷faýw}Ë=ÆûP:^ŸX¿ZÙ\ÒÆ±½²Ëm¨‰=ý™5‚±½Ø[°LxIƒ=^éÛ½ó1?f ;•ñÌ¥=¹îE5r=è_<ÊO•½®£R¤q= Ì'!¿F6‹É*Ö =–zìf܃X½~$!ó ‚z=éšìVÒO}=îº'É>kÔYPQø¼œ3Û[½î¼~©*„Uï=ÏQVZ=ÕY8°ÛÇ=ÊàÕä ˜'½`³â©ÈR½Åéò|'=dhR|ð» ½x!ú%)ýó=&ÂSêª_2=”LY¹¶1=î….­V½{åTããEZ=7éjí6O¾ø9X¾„,I½;sAÎW^½»ïg¢þ¼ƒ=&KcYúU½¬Üí±K¨¾‡—³±¯Ž‡=à†þ>+‡ˆ=“ÛÕ’f¯½Üx¾öY²=©P¨r}tõ¾‚8·§s@ ½ŒÎ6£ãó¹½fe0‘°â=ƒÍ”¼$³½Ê³Ú×/Ð6¿4ÿmXflã=óÓ}7ñ=ü7½´Ì¾WΞA[6>ï߸mô~y?›Ñ8HÖ¾!/ßý÷Èà½9æàÕ:x>‘—mútsî=NKÁÙŽ›â¿ùkf¬¦ñ½¸#w¨²=ùK·†ð·=¦}M ­Ä=pTžË‡¿ŽºIȽª  3‡½À«ÙèH¯=±u¸þo˜=…ÆtÎv¿Ö‚‹’Yø’½]‚e%+¤Çù»ËâD½ÛUîvj^$=D:»gºL½°¶4;#ÕD=úÕ,åmÑ >†à“æë7a=-CÉ WlR½Ár¢$€y=½`Vq¼}‹=m.ƒ¢îé>·Ú!®`=ì¸Íww=ôŽiÚ0X¡½S9K¼š=ª0(cÞ.?—Ú„á¹»=!6Þ,"°µ½ÚÏØO«Þ=Ï>Ä3Œè=ßk”&NB?(˜7RÓ å=«eÝ'Ló¥½&Ã㼡۷=½Lcí6 ÷=¢€õX£ò?L,SªÞ|¾N½Ùï"b ½q¬H¨IÏ=SW‘W’Ù=7ÀPÇ}É~?S蟃ã=;ÄË\ƒ¸o½ÝóS©Ü’=ÊP: ‘¢=>3¹+.?èh¦µ¤½½üƒWÄô3½CDe“O ]=®:‚FÿÝq=¬"‰æhâ>GìŽ +½6J,`˜L=è¶õ\£s½ÄYîX‰7Y½£û §äÖ>PVX§ÅQr=Éž6Rwûë=×RþÉûë½jP™4P諒“TÄè¥= @6:›=I×/~šú5>nY’šú5¾Èë¹»/^G½3B]´‰mv>j¾•Q‰mv¾‹UËoœJr=Í® Î>ž>à»iÏ>ž¾Ì~uo¡½“NáEÿ¾ßÿC7Eÿ>j6 ¸=•ìr×å]¿ã—Îs×å]?ç+ÍQiú=Ï,“/YÀ¿Öß(YÀ?¬æ³äiɽ­Å¹0wˆ¼?ø÷0wˆ¼¿èžþ-̽h‚\“if?½rÀ`“if¿©?ç÷~½v©DD?9LÜ©DD¿×seV,.p= ˆ%æó6>ƒ’œ'Y-R¾tÝÃ5Kp>9$dçy¼të*"Ì"‚¾ÊL¯LtŸ(>²è#œjk¾€*OP¨d¾'ø†=nå¼/Î}á‰>~i«Š‚×o¾1mç<…>Ô&s½¡¾µ›ÍFÖ÷<Þ©'ÝÆž>»7ZÆŽt>dè½ ¨çi¾ní‘HX §>¤,æ¯#˜½¡Ý‘¯%£¾ŠÏ·kûù >*@'߯·¾g •è-À>( âÅ<=\°;ÿ°þÓ¾%v¥¾7Þ¥Øú”>–^}7K”þ½<Òú£4=}³Õö·ÄÙ>9 9•a,¿¾´«áT\±¾xSÃ^…zá¾ê®àE nZ=éµ¹C•òò>íëú㟪ñ>ì9íd¿,“)ל?UøóebŽ=‚Cøv¿WÙ×wÜâ?ĵÜ 2¿É°ÞDYÓ?®º)Ñ¯Š‰=¨ïÝÖDI¿½.}A·a/?DTí‘ÌU¿+Ȳ߅¦J?¥€ñ€à=†êŽXmG¿ 6™L¿¬0¿RÙpe? þe E?ìíà*oν¬"^ís?s»"qo?Ó—ÇO1¿¡r+-Ɉ?¡4§dy?ø=ZÚîˆ Y‰¿ßk߀z«¿–Ðå³Â†Ð?ÚîmñúŠ¿Yãò;9;¾7™ÃyØ?ôPIß&´?_G€SïÊ¿¥‘¶B¼ýÚ¿«¿S›t >¬Iûˆ½?ïÍ/h:¾/¿ï¬·[K?<—”,£ùX¿5O·g"ªá=Ö?pk‘·¿>oŽGzk¿ÖâÕ@8”?—èë!Âr†?ØB”Û'à=þh‡­ˆ‡¿yîΦØJ?` :«‡él¿÷¶b(j¿ŸtÀdPhÁ= ÇmñJ?nøšw8¿h3.°7^?ò²‹J×,!¿FÛÜ*-/¨=n®ÅöRY[¿§Ê¤8ûj¿w“Äbz??¹L]Pb¹¿×™ÑÌ*d=ó…ª(ZF¿SÈ¥å ?6&ÿYž.¿¢ÍÙîþO*¿~8 ~Í2Q=ž¢èŠù¿Œj¥÷e>Í*¶R‹¾0ƒÌƒJd¾Nwl§Èü“¼Û±Bí¿}˜>hÓ7'ÕrG¾²¸w˜[U{>GT+#=‡>Î5<»ZÑû1ª{«Î¦¾A3„J=ñ®¾ôؤ„T‰/½èo«CŒ´>…f€¬‰Åº¾[fôUå¿ã>µµ^ÿ¬~X½j@*ÔTë¾ Ôœ`D⾿E™5 {?~ý¤Êû+?¤—ñžfh½¨äaW|$!?’ ænúËG¿ça:߀t?m˜½Ñ‹Ìm¿ù - kÒ½˜—¸F^q¿Ü¯ù\Ÿ¿Aîþ¼+´Ä?f#Ù6z”’?s…7ƒaà>VêÏR?¸?Ðïàøkª?ÿ$^ß÷ Ô¿ÿ DQŸ|ÿ5uqE¾4_µÛWè¹?Ž”ì\¿U™3õçÛ‚?ç!j o?xò…•壞=]Ô׎7r¿Ûµ°8à‰&?(«‹M+M¿Œ˜Ë}0C¿ÄQÁvS§¨½Ísæ1?Qæ:J|Hê=÷T4T;½>¾²pšÂŒ-q>á”^¿¼ó¿<Þþû`bƒ¾n%î]«ñL>EX)eÑ]¾h6¼9ãX ¾WËï¹/'=ê€ÈRM˜>=•Ý2$=>2”"æ‘Ì‘¾ù©P·«7Ã>ýg5³¢u9=§b ÇBÕ¾rel¯D¤>àŽßÉKBÐ>Æ Mœ¨ã>"´„gcF=€®,^Â?8Hèƒç¿~t*Ðñ‹7?ü ‡„ñX¿ÐÞ¥{ý@Õ½³[ëÞí$¿±™02†o¿ÄÕ/U0¸“?8ûf‡;Ž¿Îªf(Nú¾(¾6t?§?Ò…kï÷¶©¿¿‡Û”Ñ? Ýò%c­Ö¿L,SªÞ|¾ƒ˜f)"ù?ˆ¡‡RÄ)d?†‹pH65‹¿®ª›HwU¿Ü5Þ`jlͽ+iùϘðy?¹o5õ‡ó¾N.4"a>?È…Br¿ÕÒÂ.‘;´½ þ3øù%¿íæ =,°>$¸P{›ï¾¼i6´ïö¿ »Î(7½J=å à þ¾>R£c¯,þ¾«M\¥#[%?+ Ðié/?f6ÀIÿT½tÛAžÛo&¿×|Bòßo>s¼6òßo>øÖè+l>‘Àç+l>IE¥¾ƒJx¾çQZzýƒ¾*Dpzýƒ¾O6oîÕ­>ìY]° V±>ðnŸ¡ V±>ª_!c#ËÆ¾‰BŸjóÛ¾h^%jó۾諎Œ¿Kyü€¥N!?¬Gë¥N!?Ñôí‹áÂu¿Ë¦”µ±CI?C ï±CI?n ¼«¦Á¿\°³ÉÛ¯¿²ê;ÒÉÛ¯¿»ÀãÍUß²?¢Ãš<žéj?ÝtUžéj?,0øô`¿ØkåX4>?±œ÷X4>?"ãM&ö,¿+­LN¦?º9C ¦?Þ‘¾@À¿ˆeË’›zö½cÙÙï>5T ! ¾7+V‹ïô®<ë-Ö Ê0>®º,kÛø=—Ç6Xm¾ê~o@žR'>ã¸gu¦y”¼ í6Eq/¾€±Ç…ÿ¡%>ªƒ#F¾:9xU”S>R"}.–¼0,ùÀ©b@¾™I¾¤:Š1¾´n+óá¸P>$˜ž_ =¾ÝÖ‰¼¬'¯‰¤m‡P¾Óa¾ ’p>ñ-* 6¾ü“TÆ>5ϼô<%F—>!뺾”Y>´ eýw¾o€œ´Ô|>÷sî¤éÓ<œ‰R›üv¾ˆè30y>‚v¥w|>˜¾¢RدE„¦>˜()ÿ•uä¼®ThÚ•¾:3½Ⱦþh Pt¨›>S¿Éâ —¾ÛðÍR?$ =¿åIM¨>wè>H˜¾¨Çö$¯>¹émcC©¾‹˜zËŽ½¥×:‚È>¾Brm¶>,tÛ »Ò¾k#V MÕ>ÿ¶LðpžH=ŒÆ€4‰ß¾I ~y4Ñ>µ°‡'Ñ¥í¾²1z?b½Eî§2½À ßäõ¾ƒ!Üpî>T°cUX¿øÜ B§¨¹¾¼´ì°½g=^-§{¿X0íÊÒ¾)ËT¿G­OÔœ?¿LYmŽïX“=×7dåi1?#÷ìò¶C?É4Á¥Ú^¿Nz`<Ãâ\?Òäâ-f)ª½?Ug¤¥½U¿CôÙö^¿ Jz²œùk?ò5¯}?ˆ¿¦-pøPÐ=µn·E¶£ƒ¿à§”V²Žˆ?žK½ã:¿7¿5Ý• ?åÿÞOrx ¾ìTFÔ3—?ð w'¤9V¿Ù‹âPf¬i?-@s\Ä i¿†,òÓs@¦=«¸~ýs]l¿}¾)ÔôD?Í€‚e¿ØPõ—kØ¿Ëx%Ñ¥=ÿ»PÛõOd?¾*Y8?4ÿðåÿÂ&¿ÿÌ|¼Í×>ã ‚ä ÞP½i×Å,×C@?.˜k‘Ïö¾Ór:¸‡J?Úò‘É‚X?ÙêŒù¶'=¯µQ%B&ã>S›Ô ¾ÐÄïf©À.>Øÿ²ér`>';šŽÄz¤Ó‘Æï˜#¾ö½¢îÌ}LäÆ1>0ÐXÃSœS¾wå$÷—a>5&%w×Ë<è~ë,mX¾I}Kü®ÝS¾5³j§›`s>ĹNÿcp¾&ä¸s$Õá<ƒ$쟨È>êvaMySƒ>ÓïÒæð¡¾Ö¹'-gµ>6Z´Š’=Óô|Ƨ³¾Á8áðT}¨¾Y’™î²Í>³O‹a¬„é¾êeˆ×ÿka=;¦ó2ü¹¾„.:7·´¿Ì^ ‡Å@?v»³Ìâ².?à¹ñ5`=PÜP®@)?™º@¶ \`¿/[?Œ2€?Š|‰½K‰¿lnDØ“º=ä?ØÐBˆu¿<ÔÁc¿•ƒÖÿ{Yx?:§J£‘¿†4÷Š€úñ½ý"+Òч¿!ËÁ1%%¿å¢ I?î–öáÉI?}½—:l̽¼po1Kà?¿Î+Þ!Ò_Ì=kÛ ðžð½„cƒÿ_¾0ìWÇîò<Ä´¨u}*>M7¤u´A¾Ÿa  F%>1$žÂ«H>Ž-êd™…¾¼P‰¶±ì6¾yCœÚMß+>ðb–H¹P¾Ï bFº¾µÊ¹Q#ØG¾'ékÈz k>ö£ôQ|  >ô^ñgž9½Š‚á:Ç”¾Ä;$òõ±z>b•ú¿t¾ÉžbŨÁ¾,|þè+¨^½áLù#‰î¬>↊DM‘Á¾JÇ¡úwÒè>p÷´šŠ?¬d{’Ð*„½’QÍ‚À?µ1¯Ä³O0¿£Ó×Ðð~R?€ÔˆÍùûn¿N½Ùï"b ½ˆ¡‡RÄ)d?^jIgúâ@àò1ÙñÞ¿ºóezi[³?¡]8CÒ|ä½>;OTê'°?ó ªT C0¿^*œ“bR?•ý 8bV?\9€í/Fœ=#Oý1o¿¿¿àI-ËÆ¾¬&rN­‚ó>"Müé£?\âìbŒÕ2½²”;¼é>c!ÚåAì>t±ÚFÅ¿æêKÉ+¿é)ÐWÏ&½å 54í?ׇÐã6¾ö‹‚6¾H œÏ2Z¾ÿžêy2Z¾¦’Á}M*>"m4nVÅ>94½‰VÅ>þ"ÞþyS¾r° iA¾Iá:biA¾œáŤä0>PÝsÓïÕp>†fûýïÕp>Ý!/gX£¾”f˜†k ¾—gsk ¾Ê}øÕm;÷# èJê>ì76èJê>¾¸ÍËв9¿¹ \#W ?}ZíC#W ?ü'g¦š{¿¸Ó¬T¿ì?iÔT¿¿´Hò»n¿lï¥Åë0?0–,‹Åë0?QExZÙÇ?S(¼uZx¿vWrZx¿ub$÷§ ?™#âÇÜ[&>.ð’øÄðH¾4;Dhµ8>KÁÇ+”¡¼U¹á¾_¾nxïÄKD*¾Û9X«F>zõúÂ@—W¾ŸþzLø”<¥¼0R±]>fž‰¼U¾Ë®á{¦^v>:ö™˜ã-ƒ¾äú£¥<‰Óý‡†n>¨ÞƒéÝa>[r*~¾t‹0ëh>c ˜Ù×ܼ²T/6.e‡¾)³Œ+Æ€>ä…›vC*¡¾¶šÜãÄT>ôº2©2»ü~k°„>ì­¾þr ¹½Ù• `§¥>FÒÎéù©¾X$–…±ÛÉ>~¾* /¨Ö¾¼ºë1"=?컿¶Ã>0÷MS櫳>þëà±]Ѿòç£!-Ã>§¼Dp©¯9½q!’ѱÚ¾¬?sTÝüÎ>mª,Ï×Õé¾T³Ùþ¿NÑ>T+ÙL=[ñY± ý¾PcÇOüä¾0?‰JkT?kÑA´­î¿®Æ´&´8r½˜¹Jç’ ?aEÊP†ÿ¾Ÿ½$/j?ɹ•¿E3¿“:bÃI=èÃÖ¦\Š ?Au×.gï ¿=€.h™6?@†Ž÷cµ?fƒI‰ŽN…½ÞO­œŽ,?WšÖllÙ?¹—Qe¦’?›!çL·a?ä‹ <¾½3z[ÜÇx_¿:¹˜ÇÐHd¿’23%R~?­‘˜K½}¿µwëVK€Ò=V¸1^i§w?'!¼ˆdq? ˜8V9jl?–*5ìØ¢?=ÿG €8¾±dÁÍ×ʦ?+± _}¿ ·óÊ¿#…Kk%”£?Î~s5у8>íìroHQª?‘ß…ñÃq?’Ó8·ÞY{¿ô×8§¤z?ºšP]8à½gp<Ô;PŽ?g8¯²Tf¿_Ÿü`•€†?mÄ z%ÖI“þ;6>%ykrc?[¾\«÷ÍpD¾g¼µÐê9ž< Î]Çêl>}\Ó Ö¾2>§\è §äU¾ÆƒCvQ>pᘊ<ª@õ:m¾¸HßH>Æb¾€TË—X†>^ÃA𑾠ï#‘YWø¼;¼JH‡>S&vÜB‰>·so§ô«¾}ÜNì2>γºäÌ[½²ˆRÀ¾Çš4Í}µ¾É2žSNÖ>öZÓÉEIæ¾à¢zÍúC½îyUÔJá>~Ü®¨pçà>g#Îæd¿² àëž? Î’ªë½×àצqö¾þžÕ™9?ã*ƒf¿#d¿rïu“AU¿k‡=»>Ñ·½‘§OL¿£OV|?ò̴홿‹@nú.«?† XÌè‘ã½û›¹¿Ž¾™?¤DÔÙ£u?܇ì&£YL?‡Šv&ŠÓ³?0|<‹[Ø>N¢t’NT ?uЃxôL?A,I+q¿6“wQ¥q¿`ÿÉ2ºÂÄ=d±Ê:[ug?sOË×ý½!çÆ%Q,">:l»ÜX2>xÖ¦ÀSW¨¼%À”͘X¾<5O½÷t1>µˆÝÿö.V¾ ÙÔK+w¾¹,Dß²kì<~} *±Ùb>Y-›O\¾ ƒÒx;u>Q篺VL¾]IÞ¢ï.=« ¤#dÏ¡¾±IoX3°>ÅdýÅu£¾¯EõN;JÓë\¦?=ƒ' noü½>Q›~÷“ ª¾œëˆ%m“¾>G¬ñòo€è>uñåq}?Š=üq< ±é¾Zöá7í>ú óƒõ‡¿´›Òeé—/¿žŸm¥þ¬= ¨Üu¢;¿î_5›mR?Ý8{vJL¹ÌUÖ¿zÏî“zjR?…ÐcúBwt¿7KÄþ¿æÙ¶¥Ó¾½‡ŸŽÿsu“?„¿bѸUð>ûüÒkVŒ¿¥²jpÛ?¿ò\§%L=F,cýOо4¢qÕÁ¿¨½@Ϻš7?­xBæ-Í+?ˆm'˜X==RXÅ®ƒ>¿ 3WÒ;>>Ñ0§Å;>>õ(êö.@>:ÕÆø.@>QÇ«£^ëX¾b@ .QM?¾±ÚŽQM?¾È” »‚>‡Óôž±Üi>c -±Üi>åèÖß°¾*þAZ–™¾q=²ŠZ–™¾©’c)cÕ> î–ÇÆ>á•-IÇÆ>l2"ÅÝwä>”,ð'®¿¹ý·'®¿ª®Šü¥`?Š£ Bi1¿w<ÎAi1¿6k’W–?áÆ¾Ÿ„g?'ù; „g?·Û« Ÿ­t? ûA·ÃH¿|Ú¶ÃH¿¶Bþ$S 5¿.nUâÿ+?’X,? ÉûZÝ1¿ô(5ó®I8>m¾=IÅZ¾ž©ÊëÌJ>w8Ð$½Ç«¼1¬î2¬p¾Ò{*?b&?¾|ÿ&wÇZ>¢i¸T#µ< ñs[½o>ÓÿOôáUh¾øÄ["‰>xh©[70•¾® ÓfÐ<–áýÔ‹>¨‰ßÓY6u>‚z&W3¦”¾+2Ùù Ã~>×&Vtmbò¼9ëq»›¾XöÕ*Vr”>ÿ¤*xè´¾Úr›¦…÷r>gb†à›=¸òëâûs¾EMŠýñס¾/hî`°%Á>9« Ã¾ MÞƒo½‰±C}Ây»>¶¢›~ܽÁ¾¤Ä·0ùá>4˹šÉWí¾Ä×ÅuÆ!=ñ¿xÇKbØ>}Ý?g/Î>©>kË=ÿ뾩'fI¨®Ö>C–pe»P½aß?asó¾UΦ˜ÿê>ðhÆÌ±< ¿D4„šMÅß>XHZeÎÑ\=v«à‚¼-¿ËÆ¥Ié÷¿’¦ýî˜"?žê^võH#¿F9Ó =‚’½[4á*­¯!?$¡±Se-!¿*ÀÃÝ-ÒA?bO‡Ð Q¿Ó‹X€½üŒ ^Íf:?ú$‹1Le¿BƒÏX:>?Èè|0¯(¿jk´ ý³½º’iÂð¶?+_}[ìX?½õxgYw¿§}ÒEo?×á§–³Ò½ÎOqODy¿¥Æ×wý§j¿G¯Õˆ?:Q5Ï;|¿Û-ˆ%±±=Q¾ûë?ˆ?ZB™5¨?Á.ÐPÊ Ì¿%*¦éßÈÓ?Pþ¿jÙð=¤MÁ¬R¼¿"™ÕAit¾¿ú*@˦ Õ?t£õ”Ê¿âŠå¡¾<>Ã4²SqÞ¿"²m)kWr?Fs*J*‘¿µpIòË·¿({97üÛ=äqØŽ£?KN¿>Bò`?ÖµãÃcx‹¿­©Š×³z¿@T–Ù|eç½ôeÚ|Ý®†?Q£$Ð L¿r‘[y_În?ÜÆÐ½Ìà8¿ïõdŠÇ'µ=EŠ ` àr¿ØF—éõþ9?¸~Íó¹\¿€¦:¸GÙY¿U+’ž‹‘=„òèFð(?Kà¿ï(F>r@VDk¾ó„LÊ¢‰U¾Ã hw”u<ÿ‚¡£:Y}>g¼ ¸ódF>]ÌÃÙ©íi¾9`…œc>Ùj›º¤Œ<Æ*‚Ú߀¾L3ÿ"Íæw¾üx9ÿŒuœ>Œ"",¥¾ÀõG§i½\΃æQÖ›>MS=ƒZ£>`׿Š*IƾeYWß!‚²>7†Ù…ë½ù¸‰Z0äÔ¾ü*Þ§ý`Ô¾ÉãÓB‘÷>ÿ{ô¿™€ÞQ½îß‹·\R÷>º¦Å/K?S²Îã?y+¿j°¹,þ'?|³=rèÖ¡½Î8±¿¢q0匠žfùt¸¿ dù ¢c?;ØÒkYŠ¿™`©ìX¥t¿ˆW 8îß=9»‰ÇýD{?=µK¦ÂѾ™0@~‰4>kàÎïöY_˜Hqļ.¯’Nh¾@%ißãC>7W³Âi¾O®tõ±ˆ¾§A\'þ<ÿÙkr>Û¯7 —yq¾eŠËüýé•>Æíƒž9}¾™µ*P?P=¯2n›í`³¾ãÁ§Ò—>žå’¾¾@Üyå5á¾±RÛ½IN=R‰ °¢È>­ˆ„Ö~ežͰ:(¡ná>ím/÷>aY«rƒ£ =à· ¢î¿i>þÐ?‡Ø˜\@<¿ØuÌ™ìÿD¿vê«{¶þÃ=0¦¦Â–ÙT¿ËSš÷¸×i?äxž¿‡ÁÁ±5«?SW‘W’Ù=®ª›HwU¿ºóezi[³?kÓ¥VÛŽÚ¿Ò¡øhy·ô?Míhºzq/><3¥õÍÙ¿b-ºð5¦Q¿pzZCì”z?™ ã¼ „¿UþTòÈ­½ÿ³¦ïMᎿ r_%O?¬+‹¡V0¿Æi=\uQH¿ÉáaAêž½â‡×‰åÐ;?O˜ÿÿw&¿ý/)ÑN?ÈõsC<7?ÏiŽ9‚½Õ·uƒ|N¿”Ã8ýíN> o.ýíN>вä1¤P>Bßx0¤P>; ÒðU¹j¾¶SùØÓQ¾Ãÿ†ÙÓQ¾¥Zî'•>Ë¿ Ú{>IþÚ{>Á…ÕÛÂMþôoÁ‡ïΨ¾XÔVçïΨ¾ßÏêCÞÝë>=¹d°Ò>h Ö°Ò>•êíØÞ>-J3z×ý¿vÏ ¦×ý¿‚¶ qt?IÂè¢)¿çj¸u¡)¿/Élíη?`;‚BVè°?¬¬èDVè°?8Û÷úø¿ŒÒ¡_¿­îhö¡_¿"%y=¸ i?Tj0kê:¿sl¼6ê:¿Ó¯’¡TH¿–žwcTÀ<â¤7#§sâ¼-ìmGÈ<”j" û©½´ÈÚBèô¼ˆíDFżN•sî÷åדZÖ4ÏE½ñüÁwñO&½GDÔýÑuG=”\±©àH½ž¾ë"v\¾öTΣÏ8=öñ—.ÇqD½tÈ8F f=Ñ0>ðî–p½m8W–ér>—FˆËS=l)­JæVR= ÃôE7s½Žn |êôG=m*¸¤X¾õ³$ž±v½E¸\]˜p= á&_6Б½BITŸYŽV½n ¼ÄÁJ¼>u»Ù¤.œ½x Soÿ\}½Ì5iâ„4ž==Ì8J ½¼jwXܾ7ÕÉné=£zAVß§›½ ¡òóM½=ÍRL'¨Æ½MgS2÷>ŒÞë„36®=•½Ñ«ÅP­=RKåÔF´Î½î¼,à˜à©=K©áv6ý%?îúbß~Ò½*#n6ÅË=ÜC¡¾®ç½ìûãÕ8ž=d#Ù –:¿Ž8fy4"ö½à̽åLzݽèå)Ísåý="³f»³¾¾=VÓÍ‚?µ©ÍqÂöò='Š È\¾!Ó¨H·ñ'>ƒÀÈÀ“1¾dÚÈç퀰¿{„b³d>¼Êd…Oú"¾àc<Ê3¾m›âLöíã½®·ç£Hæ?ò4÷ÄYî¾ÛŸò¬Sý=:$S)£û½\;º´âؾ°(!N¼£›¿Ä$77)Í>ᯖ6|Ò½!ÛsÓj¼è=r·Ki¤=ƹ8µè‡?xÎÈÇ=ný½³F€V—º½pœb¢ã`Ù=z÷ûÆ=m¬}ΗöX¿=’ ؽ¼Q Q\µ=æÑÙò(Ö½ˆx‚‹¥Ñ½XHï›=?Í‘^ü/ €½÷ã Ý{É<}¦5ËÜúî¼=vßs=WÚ¼pnM@êz†=|m²î‰›=Ͳë A¡Ð<çC›Âîô¼€•n@á<FW21Ê= =«¡Q3½€WT{À½ÈÑléño%=\ªê¼n+½XôrÝE­ñ=ý/ì¡Ò=[ …r ï+=Pat ¢ÙQ½«ù@=(=–³ UâO¾¹#žè=[X½^×ιÂaW½&ËjSé}=/Þª5‹k½xZOz¶¨¾‘ì­Ã"Šr=Ö8¬¸¥‚=׬øœ%¦½å¢Ä!l=i!ªõ¾Þ`™u­°½:\‘±½UÙWwEvÕ=›60ƒÕ½Är.¸6¿fËl4ÅáÌ=«Òª­¹Ó=]QA ÷½çÑÄ_h×=Úü|z?²Ð5l¾©ÏÔ$†¾WXˆÿU3>ËÏd%®Ž>d¾M!“â¿én DG85¾n?šñ™‡‰=~ÄÈ\¸,¸=^#žÆdÜ½Æ¥È +‡¿ë›=L(¥Ú=]›çÔ”¼‡KÁ®î+¼<%«ék b½bÙÚyO5½¦&Ѫé =?2¨O==G½ã«½jl`½v뇯$¡>e<Ø'ßú3=2Ó“M½¥âW¸t=ÈY“ú›„q½ x ¤g7é>õVÁåFꇽOÕwâÌs=¥¼) Kš½(¶tüµ½XýÖ÷¶š.? ùËc?,¢=jÁ€»½\ˆŸ•Æ´á=Q±vÑÌÖ½7ÀPÇ}É~?Ü5Þ`jlͽ¡]8CÒ|ä½r+êjù„ >Míhºzq/>–ÙÀý”Ÿò?¨ç‡s¢¸4>0WÚk‘R̽´ ! nñ=ôÈÔÅoô=ÿ¤ 묗}?›[¯_Þ¾m+´åu‡½Î§ ¼Xá¨=y3¤<¥¾=Œ³ /J?à&žBqñÁ½èãOeøS¡½2©W ¢2È=¥U£¹Å«= HãÏ%¿ú¼çmÓѽ$#q•–=*TäÛV–½WØó—æ.½L)¤«0=ÜR»¶läð¼ª×Ò¤Eí=ÅQ«Eí½ Înºü=$G¿T6>GøI¿T6¾Ó~ ‰kD½›$!=v>4©ÊH=v¾£öÖìkdo=•Ç1ÿ"Øš>/pjt"Øš¾§¹¶áßhŸ½gøÜÔ&p¾MNÚþ¬¦A>Ž«‚aÞ^ž<Òýà’mx}¾IMàÆ< X¾aWÚa«\y>¤ÒÇ?'1€¾sñZ…&¾²¼)ÈÂv>oˆo©'{¾)‚n¡‡ú>k<•:·ò¥¾pá/wg§ÐäÂZ ᶈ>úTÕÇ«¾:|,Y¨÷d>ûX ©†5½Íœ#>+®¾«Öak8¦>#’?MMÊȾãu6õOŸ¾È4M{ÍŠ=ÑÆ4‡OåѾBó=›™´¾^ãK°rÀÖ>gÊÅwI×¾¹2CM½$þ¸<ÀÁ>W ‰Ób Ò¾˜O´óêHô>K7ü¾(ƒü¾²ëuëð$=£Ÿ]Ô¾­Ù>j#b­«Ðà>2ÉêÈ=£¿DgGýð>ÐS¿{‹wU½*à%·)¿fšz~èRÿ>8‹ø§©!¿¤º¼€}õ¾ÃÙYânj=3¨ðþ •¹?%zfE½¹¿å™=:Ó?~f—€Þ¿8Œ¸UÅ@Õ½Ü Tü·¢¿'ð]t?ˆ?`÷4èϦ¿wï’»ÿH?ùª¢—‘ì=”–¢†gé“?}h¶6 ƒq¿‘y=Êj8–?“…ÖYp?õ¶ÿÉ$o#¸h¾e)&мd¾‰(«ª¥ôÎ-º>šb>#^1$hˆ¾J˜û4©a> \Ð;¸¾êMn,fy½?ÿÈÞ>̨´YÙ¼>cÜAõ;ã¾e]1º¥>•6Ò½Ö5\ûä¾éÙÌþfpæ¾Ñ•XUÔ° ?à`Øt‹<¿“#ˆÞÀN½ÔÌŠ`ö×÷>(ÖSØ9’?}nÙw’w=¿æLMD+á>g½À~ܨ½í5 pA¿° Ò|N¿Gãî¬Ôv?þö1#Jê;?àêÄx§½b`Óz¯f?ÞÞç|?/”¿ï]8$´•½?$95(¡¶¿ú(³·_æ½ᦺ]ˆ°¿OúŠ9…á°?œÛ %ËèÖ¿l×ùD¥„¿´uO/#0>p(‡` Ñ?hÑú+ÖX?žx ¯5€¿ äòËaŸu¿’¾IŠ &È=”¤ƒp?*5lWX(¾fÖjˆf+Q>¸½¡âŒI<¾eªÇ’4·¼dY›Jn¾wÜ>W>ЇԀ¾ú.o%¶“¾“À%£€ =›ºPšC¾³1ݘV®‚¾D¸<«>ˉ?²jÕ¨¾°e³òõ=ktyñ*»¾ž p2c™°>€ç§p ؾ&ñ®*Uóæ¾ ó¦ëŽS=¡ïì7ÈȾp¦H…êÕ¾Úï*{Ì? W£Ê¿"c¡öóœ=\b¿Ëæ¿:Àá\¶V?‹Ùáÿ¦"¿ü09íà?MS¸÷‰Òu½4µŒ…\Î9?x_¥-å5e¿zẊ?vŒ?7rßBK ¿S蟃ã=+iùϘðy?>;OTê'°?vJL¹ÌUÖ¿<3¥õÍÙ¿¨ç‡s¢¸4>… µäÍö?kRÒ˜þq?73zÈCo–¿„Ø)îú¢‘¿ ™¦­ØÓ½bÏÉ…§?”`È0°U?Ñá4ÉKƒ@¿zï`G9ÖT¿uAÄ£ô{ª=ˆõ&î¯O4?U–»d³õ>ýNr¡&¿žÔ`z¶W0?Vô2H‡¡=ñ£§îè>«œƒ¹¤!K>ޱd¯¤!K>Úrj&}S>˜Fl&}S>™šçšDy¾=­¦AM>ÒÌ#AM>¤l™{ޤ>M«q·,¾®É-¾eµ§ìScϾwÀ»F>C¯>¡åÑÝ=C¯>$%YkÅáý>ð&Ãé6ݾtÓPé6ݾZ0œ '¿…ûýÆ? ’5Æ?2‹Ç‹XM]¿®fFšþ&]?Œ%ôµþ&]?…0¡h=Á¿”Ö <ë¿ù–ž5뿃o4 É?×kŒùgt?nO“Xùgt?x…ð¸…Kc?FtsA,?xÈA,?~Ÿ^¹ýw"?u>‰~°Ð=‚¦·‰+ò½ÎP²Ñ*½â=lCÊ%§\ìdëFÿ½‰¶<¶bV >¶ ç¸,¾¯ÆQKÞEz¼ZÓBÔ>ˆÍ{Ð8Y >1F»Â÷)¾¼¸ô™š>ïgñ}„¼šÓº‘Œ0¾7°ù°"#(>¬(9òH¾’Wð0þð=åš•6†¿ < ‚«Ë3V¾÷衳3¾‚š×?NS>yõŸ²U¾1ŽùÌgŸ¼²iá…Ü+N>™¶­>ü2R¾}UCN«dr>²g!0‚å¾²¹Ô¥ÇÙE¥ í \>ód­…Zz¾¬iÛi>6–½H4ؼœç‰é‚¾wÀgê{>X ÿÆí2›¾ãrìƒ8Fr>´&8y›„÷—aîµ¥¾Fm–gN= €¼ÉL¤>Ï©œS œ¾©ÁçéA´>”2úÊȾ Ö3H~s½ÉÓö¿¾> îNQ¸>G’>ðµÔ¾ÈÌZäÖ>‰ÃºÝ6SM=¸gãŽãzà¾\•q€ÜÒ>7=Żϗð¾ÝŽngÌ>ed]}Ó¬h½|L&ß™’ ¿÷Kµ ºí>°ó8qÆÈ¿úÄ‹dÝå ?0ø{ôìzq=dAñ¶‡®ò¾àãínÞ¾eýðT¿ .éÃÂD¿M³ÖĹN—½W—+†ôA?Z¸³B¸C?‹Ú~N9Ó^¿ÔO}Õ‚E?QpõÙ=t½žb¿FùAa¿º7 9Õ^¿DÏ…d¾k?F „«—Š?}@n¹¡Á·½d LXH€?@ÖÔµ—~ˆ?8»½kœ+¿Y2(== ¿¼ëÄ’^Ë=­g4Þ4s–¿Ú¤Æ\(‘V¿¯­1¼Èj?Ïèõ1\¦p?ž”jt—½q¡>`?Á Nª÷E?ÞZ]í†Êe¿äî°)Dc¿ùcìÑ„‹=iÙŽI"L?ïÇ9x‡á=OA×&熾“ñ^¦¦ î½!ÐPó™–<°2Èónt>M—E†Ù=¸plý âý½˜7˜ ¹ø=ôÇøíù£¼†i¹ §(¾Ü ¿^A ¾_ÎkÞh/>Èl§62:¾FoNAµ¢¼ô6ÔcÐ/>{{½(‹ä3>é@ŠH2KW¾ò½Oß\dF>ÝuQ\)Á¼ËýÊU†df¾½ã)È´W¾×“èCQx>ÐU\^¿޾Qb­}ò¼ä%vv…ƒ>ž÷õvI†>kûS·¥¾×BomU§>¥<$¦’²;½~E3lS½¾»gb¾Ú§­¾ÿH­ 3Ò>ò@=ìz9Ó>¾WÍctä ½3’/ýè>¥xbX©}¿šlæ@?y9G¿«1¿[º„×€…=Mct‘CD%¿è¦¸wY`¿½&õ'‡*€?™3Iu‚?'Á°ÚÖ¥µ=ò²Ï¤A„? C¢Çc¿ò‰U[ix?"’!ÿ¼à?Ê|5ú§Ž¹=öÃt’›`‰?¾3Kk¤½æt@VKÍÈ=ÖFÁ+>ß=ÄøL=Îç]<Î_Duc¼¾u‚ÃLuÙ=;S@[¾krOY¤¥ ¾M«9óÆð'>Ò}®ø{k>â…pÖ‡9©<"±•ðJ¾+ÆÇL¿.>yÌ^Rp¼R¾¥ðU•ýs¾ÜŒzãmê<†¡ñ=8Z>®$\¸YL¾:™6¡¦p>œÁ÷Á½­€>#çWC«‰+=nç"ž˜©£¾‚_5×~>ˆT ?΄¾-ö$÷.—•¾1qnÁÓ$½ ìÅu"GÃ>lø¾n¤ÁAo{é> ¨€gß¿;ÄË\ƒ¸o½¹o5õ‡ó¾ó ªT C0¿zÏî“zjR?b-ºð5¦Q¿0WÚk‘R̽kRÒ˜þq?×/ ýã@=ì· Þ¿È,²„K­µ¿Ùe& nN™½¨îñ¥©¿«Ñgä[0¿º‹]ŠœR?gÎÁ”»g?¶iLC’G=±Ð¶Þ¦Ã`¿ _#uµœ!¿–E‹»!G?Š„ Ó±-?KlDFP=u!qBÍK¿­`WH¤•ç=ç„Ýþ¤•ç=®c!$Aíé=«î,ŠBíé=º/A§qP¾x.°šÉ潸.S®Ê潨Pp¸ñ+>2-&~O>µ¾&O>£¢X_ž”T¾­w\%SÅ@¾¯µÈ@SÅ@¾¼Âm†‚>‰¨–ˆàp>ð§F™ˆàp>])Æ«’¥¾#¶e¹®¾ò ÷®¾£á8é{…ʾXÕNE\ê>XGùlE\ê>•èýÀ9¿ºô ÿ$ ?O¼ù$ ?£e?ëmH{¿¥õ4¬2T¿¢ŠR 2T¿SMÞÌ¥gn¿+â"%0S-?Û´p10S-?Ü?ý`¸¿C¿¤u¤Ò<ÿ½Ê‰V !>4$’ÔP¾%E˜Ã°¼£šÅ¼| 6>TŒo²N>KÒ¯ÍðL ¾>©pÐÍ0>ÎrÅðòU§¼‚EÃ]ƒÑ3¾q\Œ‰ñQ.>k÷Õd)êO¾ž²£/ÐZ>á°Š/Lj²¼æk½´^D¾GN¼°9¾Lh1K5Y>Y‹ÁL– =¾çbàÒè¶<,4ޝ>2`>BA«÷aµW¾á…ªuÝÈx>e€ÞÇIÁù=2œÇ?­Ò¼3vmÖLo…>í ¾ŸŒ¯c>œ´Sšã€ƒ¾W%Y–Ã…>¤{LwîïÒ<€`'v4|¾;»aÈÙ%‚> ýõR©¢¾Ã ‘‹Ë3¯>•f%¬î¼_¿8¥³ñ–¾âsþ稙¾ *ø9ÇX¬>=ròY•¾¨çåØþˆ=}|ìÉ3³>¸ŒˆÜ1¬¾xÇSï¬>Ì>gGûÅ|•¾üÈô$½.2zolÚ>çQ뙵>·ß>Ó¾Z»Š÷‰×>ö²þ9ä½¥aéÖÒ¾“”Ñ{<Ñ>¬ÀHÇWí¾Ÿxq 2Þü>óãòÀB=!a±çgí¾ï‰^Ï„æ¾ÿxè?KßÛÏùù¿óÁª«øs½¨¤dv[?Pá^Ê¿CŸþk·3?®7•¼êô¾‰î „ü‘=cepÇ 6?Ü?M;ÂØ ¿¡ž(Óð„5?¨´8 Å+¿ØÃFK6÷”½*æè-'Ú¾V–¶Ñ?¿éħ%*û¾€ÛÀ jÑS?+ðç]l¬¸=-; ¢šDf¿ ž CXd¿'$í¬Þ~?Ñ ÿ콞h¿úSJ4jãÄ=qO×¢" ‚?½±÷´:q?ůuÙ/J÷žõ½ófº/å;”¿#‚²h$r?ÞÝ× ^}¿CóÎópð‘¿áÓ#܆ÚÁ=“¶ ¿«U„¿$A<ÿ¾2g¿ÉuŸÆÂH†?4‘n ôƒ?7É*f©½Õ¦-­o¿ í.üÆH¾î\@F!3>2E½Øód>åôæ¤E ¼VäM£GD¾UÂQÞ0Ú ¾jÃ0>'Œú‘G&¾TæMÊG»<¸9ÍŽDD>™R¿ª+;> r’`¾eì÷¥i>RÍÐvüÐLùšOs¾4;‹áíê<…½«+–>;žØ·ÚTŒ>ŸCä᯾ZXâs+¾>SÂ%»e=Yî û³²¾)!¾&з¾5Í­´9Ù>mÀÊlÿ@Ҿ̙TºI´ëâ>Ê ù¿ú0 oÁ·>*ÎþÐF=H=PÅ¿õZíEþÌ8?Üú[{óc¿Òƒ=ẅT?ô6ÉUÉ­½,æQÈÏO?®8 þ÷£|?r+‡5왿m ÜŒü¥¿Å´úKc­Þ½hWÀˆ¢^¥¿W3²’¶u?ŒÉ˜A€òI?!¡Ó _¬¿:¾\>4彿ù¯,ܯ¿¿÷¾é’¥Ô=\ÌÔ³ù½j\8²­ž ¾ÂnÚ‰Ò¦£¼\ý Š3ó0>/¦ëyä¾.5åC3?0>ð‡ý?ˆ'P>¡xÌ/Ñ|ȼe± ºæ7¾ÈQ`Áò2>¤ïnÑkX¾s݃Åt>ÏL㘒Cؼ%Vn”²Îx>§O(½^^¾=L}vƒ>ðÓ5ô­ß¡>+-µ®Ü•½ßCk+ã…¾ ,¯£H©>3|—§¾¦¾FŠ)Äã·Ÿ¾ziÐgNY½ü9çJy7Ñ>L+rÉл¬¾$ŸˆøÂ>IÚ$E.Hâ>œ¬]žM#=ª¸‚Õëð¾ÌV¶bþí> ‡KT#¿*A³??ÝóS©Ü’=N.4"a>?^*œ“bR?…ÐcúBwt¿pzZCì”z?´ ! nñ=73zÈCo–¿=ì· Þ¿èHD6Ï@ŒïÜ/SêÝ?VvX9IÈ=î-Ä}Ñ?RŠé“î*R?7‡óå>t¿¤‡ºXŒ¿<ˆÁMÔΕ½ÝÛî.†?h”ÀòWE?Ê"ì<úKk¿ï§©üpøS¿Å‚ú»S«’½¼z†1s?®ËI«ø¾«}¦‹«ø¾Œ."Y¾^–e"Y¾2Y2wFF1>ˆMd·<>\”v‘·<>Iƒ D˜Z¾>$å€èh:¾ »½îçh:¾™þñì:ñƒ> $ºki>lHþki>®¬pÅ*±¾Æ¯6ìÑ×™¾½hãÑ×™¾¤™Ø9×>qÚAVUÆ>ˆ1Å&VUÆ>[¯D¿Àß>á®™ÎüÌ¿”LìæüÌ¿RJñI(`?#û, Î0¿dh> Î0¿5ßù©–?²t¬ññýg?wR/Èñýg?רíâNœs?á@‰ C¿ªpj C¿•Ã=Vúg?¿׎´C#>jR`!ÆE¾Ÿô§Ÿ”ù!>3gwç±¼*Äú!eU¾ëó¥·Á~.¾™±ˆ‡GaO>ejå‚’U¾"x”H²<Œ´÷ÑQÝP>wkÛ#©]R¾ïýYÏZ&t>3HÉùó\~¾#=(=¼‹<„g“J¼b>‹U«˜ˆ`>‡5ӾݰÙ_ˆîJ>zì[o«Ö¼*317)l„¾ÄÈß:~>®¡bG– ¾s_Ì—¥Úp¾ƒs# ‡ï<ÅPgø\ਾhP²%‹¾=_î0f­>v«I¥Óq®¾ƒž:³4ï¼Þš µÓö™>D%¬’ƒ\¨¾pBW,ž×Ê>/ùö²YÓ¾T¾ þ ’üEuÆŒa¶>1…tEQAؾ‘](Hņ›>à̶›ç*½Ñ° ª$Û¾$9~ùÔ>Lǹö¾> S",Ǿ뒶`Jg<=ãLºï…T¿ ÒÐ{bVâ¾é'Ð?o¥bs‡¿sìÈ%û>d½h¦üFñ>â^U¾&¿ÛÕ n:²"?yrñùŽŠ*¿5Šì:ŒÅo½pö^ë ?.@Œ)2?úlœÝ߬0¿Åû‘tLð>Ê„‹Áç`½T[ù7²Ä2¿N…V“HÉ)?Â@¿ºLBK¿¦ž§©¿ï,ÛCt—‘½Š¬h+2úR¿ýv¢ï’A¿¤ñ N¶ŠâF¾w²bch=¾Ðóï{—ˆ•¼Ã'²B:]>ÞÈÄͰq7>õþûX^¾‰š*<é‹>>•|ÒËñ¼¨ð¯[¥ g¾È21”OÖe¾“]­‘Œ>pFŠ2ÐC¾4¦¼ÈSqã¼®?{:<á}>Â’tnü(’>“™|ûÊ·¾ŒÿEn#Ï‚>#ÿŸ©ù¼ÞÅÑÀ ¶¼¾œ„„>I¾¾ýrOÀQÝã>=,Û‹@0å¾+¶1_Xð*½~é=KmÓ>ÏWªÃlè>Xlö–Ÿ¬¿‡½Ç>½Ò>8‚Ñнƒ'¤oŸ¿99 ¶¿f¶êõæ@??° Mî?¿¶OQåz½Ÿó„E<'0?F-NÚÙG?q‘b7Ýp¿@ù2Jö±Z?•“²O!üž=±”1HWa¿Äî³ìòT„?¦>D°¿Yµõë9Ŷ¿ª­_`,Ú=}ð|(  ¿×Ù%Éû›ª¿ÃzvJUÑ?¡4(D)›Ê?ãcG¥hë=©œQÅt'²¿šC[xPVÿ½+„üÏ¥%>@=ßéÐ|Ὡv7&b±¼ðÒ”šËH¾"ZÃ]/>™µ®6V¾Ó‹¶@m¾¯âH÷ß<ÖΑµ ¶2>#NßSY¾^›&‚>˜¶ƒ]Öþ|¾€ï¬»¿è<ë\–ó@ù”¾5w„>¥d‘‘ò=­¾Z^ .h'Á¾ìëÖdG+=[Œ‚%dyk¾blš”±¾F<ÿ§=Ù>9ÂG@úؾŠÍoFœÚv=…[¬-õÆè¾öIÈò‹2Ø>Fné¿8y<[ÞŽ¿kºNF\…=g:hÕ© Ú>Sö,Þö«¿ÁC Ó%]2?㙬µ˜¶¿ÊP: ‘¢=È…Br¿•ý 8bV?7KÄþ¿™ ã¼ „¿ôÈÔÅoô=„Ø)îú¢‘¿È,²„K­µ¿ŒïÜ/SêÝ?ƒŠˆÊ|ò?8‘¤)wN¢=\ÊD°Ö¿; $mèn¿ñŸ[¼íâ’?Çõ60çš?bc –©=sé*@›¿Lõ̯!ÇZ¿P™‡d]‚?ÐÔ*ÒT‹¿pl‘‚‚=¸"2Nà‡¿$?ð,')>@{sÞ')> /„ ³R0>†­ü³R0>@?‚òèQ¾T!”\Ôæ>òøˆÃÑæ>‡mbB=Ë|>áœÖ{ØG¾Ä¤G|ØG¾µxŒ¤Èᦾa£êŒYw>5‰SŒYw>e.4Xš Ò>:H²X t£¾eƒñ t£¾ƒ¬·Üm¿Ù¯/vÓ>§yÀ°.vÓ>'ã–º<|%?rìÚ„' ¿¾x×J„' ¿oÕ®¾‹õ¾†c±Ë¶Z¿h®‹Ô˶Z¿èý. ð6¸?b2“¼‚:–¿Ê}³‚:–¿Ô¨–û’Ç¿ï3ËGZ"q¿] CZ"q¿u%EBCz¿.ë. ‡³I¼]uþv¼²Ø—lœ‚<¹qæ“%Q½±ôr¿ÅÊ»¼lÃî Û:ù1ôÕ¹<ŸÑ(Ýø¼¼¥fâÉö7=ÅÏÌy©µ<êÃ[ªù¸¼ù¬‰4ªûÚ<^õ8^dÂã¼nápbº‹½õîs¶½Ã"ÚJna=#fÏió¨=¶%Ad7s?½W¾éãBN=#ý¢W»]¾ íc4ŒAB½ N %9;=Òƒ:YÝ„]½•ôVB>%½Òôµ÷t>Ná(ÉÔf½q*ÌÆ-¤H½†û½#j=ÿH[Dk½TЙ—=¾e¿ÚÖÌ´Z=Ó¸œ…áe½¸ÙdѨ‡=f?SÕ‘½s÷Ú ½>‹²ë~,»t=‚Çx1ós=KÜf|Ì•½ô3#nÃg=«"a+Œ»¾è«È©_¦˜½cl:®½“=oýËÍBOµ½ ‹`îp½ •½r¦,ö>b—–Z‰À½ZÝlï²G¡½è3§˜AÂ=¹ $u?ݽbó(?0<àôí±=ƒÔ\ØÛ©Á½éqò‡8ã=QôQE”J轆WÝÜÇT>¿ô!ŠWºÎ=•œ"ž“Ä=®UwJ‰î½c¸°µqÅ=ôõ¨ñ?_?«Êxí½*X–Jœì½‹¹¥ªb ¾ÎÚ5ïlü½Ø­¼¦xذ¿Ó £¨ã³÷½ÓSޝm»=¢p¸!â>-WUSæ½€€û g'æ?á-×AV¾ÏD/´Ì½¹Ã#:êÂñ=ZÚAÐ Û½³ÞcâI›¿ ÊOu•bò½` ´Ê#·=*(üؽÙÝZkí½Ü½ß´¤žŽ?máç”Þ â=ÖòZ ~^¼à±ÞíÇov¼¢ØÂZïò£¼O4ÁægA>=Á¶å]ŸÀ­u«=C@Þ€±Þѽ_|[±Ij³=ôÝI>”6¿—,Èf½WÓ½x:Â[*äÞ½ÕÌ„©º¼>P8¦¾ï¼<]°{?ÒÒÇÄBëî=p„-ÇÃÚ=ltj9÷¾Ý éb$ø½Ø:d¯/vâ¿ÂãéÌ"ò=ÑÉŽåæñq<ÂÎ÷ÁV޼ŸÚ*^’Ô¯¼ Q'ä{½=§ª}ý<áƒ@«9TŒ*7M˜úô=æ¬Y½Z¸,½Ôø¯P¢>ç½yª ”U½½æÑ:.+D=褩 `‰k½žOš”fT~½å›ëœÜûé>¢±ÏÄ8i`½ßyhÜrh½si@'’= QßîÛ®d=>3¹+.?ÕÒÂ.‘;´½\9€í/Fœ=æÙ¶¥Ó¾½UþTòÈ­½ÿ¤ 묗}? ™¦­ØÓ½Ùe& nN™½VvX9IÈ=8‘¤)wN¢=áÒ†ŽŠò?®ÕáÍ[ô>¢!T\œŸ=å*Qœ?Ž»Ñ‡¥5½¨ˆêH+V?0}GšíÁ½]Ù³²•ÏV=m+ï:¨½—„òG í·=¿£ÚÓ´…¿öS_‘&-Ã=s¤cò¼7µA`àKòNÜŠA½Ñò;Åî°¼=>m½P©›=TЩ›½çÅŸjÑqç<¨´x¡ð=l¿*~ð½rdxYd̽¦˜0[lS7¾æ±`=±@;=Ökõ$v>þ—S$v¾…“¯÷èc½qdé$Ôg’>5xË Ôg’¾ÃGîšH‚•=ºé…Gù£¿’‘ÖFù£?ñÔé°½ˆ]Û½Vü_¿n«ö¾Vü_?®{…•7à½9û]¬žxÀ¿Ãž¯žxÀ?‘þR}ÂÒ=í\[Íþ0¼?õ\Íþ0¼¿Ò-[˜"’ƽÕÍ™h¡Jð=-ÊÉ»‚9¾(·\w_><µÜQOܪ<öÖÖÅ‹x2¾6M>@Ž(r%Ó–¾¢Á‡- ¾oNÒ¤¼zþ-§ï4>;šlST"¾‚Ýù°x@>óGÅZR¾(¹îD<«<}ÖàyF>*£ÇÂOo*>ÐÆ4¥B¾iÈqÍ!K>öEð>]Á¼¤fòçS¾Ž פ N>åloð4j¾ NZ[>4‰Âé›ÝÜ<¡µn¿%€¾‚]€{÷¢W¾[ê{-·ip>jruò$–x¾€Ê #ä¼¹ÝÌÇW>á%曆½y¾€!/Ö¡¾•>¹ë5‘A¨¾úŽ  ù<Ðó§·ž>䡸 !Œƒ>‹Ñ¢r€`˜¾^ü* å¥>-ˆa³½J0ÞNo­¾ ŸÑ웨>I­ÉuœÄ¾z û¯Íã»>0ô£â2=þe­6ðÙ¾~0a™[±¾œ’ÊÄLÂ>Úié̓Ѿ¤šg;fJ=ág£±R¸Û>DÇ:Õ=˾ó¹xæw¥Ö>Ø·˜l›ò¾Ô©|È]1=3›oÆwô>äîhÛéó>”Uÿÿ9%-Š&?y)¡Þ-}‰=ÇÁÁ8ž¿Ì¹ ^ÿ? ÐTâ²ø3¿Ž–™¢qÞ?ŠñtúdŒ™½`¹ª© KJ¿îe±™ -?<1눌`T¿gd4—]H?î@akÀ= ´é°Ç~E¿þÐúÑòM¿M4ûêî2g?ÏÛÚtÄ'?G/˜[§.ͽ)<²ÉUt?¾N•"Xo?­&9,¿`͉ò‡?Pˆ®¬¿>çÙ^ÅÉ@‰¿6èZ¼†]«¿ïE$òrÐ?$n¦“ˆÛˆ¿˜AàÜ«C¾Ô'ÖÆø×?Å÷ª´?ßur¼ôŒÊ¿‹ Ó•Û¿.KU £2ð½‘Üw$B½?ïNW:øþ4¿ê'—HæBR?ø ¹ÚI.V¿OŠ>ëþ‚Â=‘zUÂW'¸¿[‚Ofóm¿³ŸÑ7†–?&OêIÖ…?yeL_ù¸½ë-YÃÒŠ¿ü•ñƒ‹È>¸’2,8¾bõ—«Æ>¾e#/ d<ƒ{³£ªF>œôå½wUsËò¯.>œþ~íŪ¨¼à|—ãd;¾ôcÛ@ÿä¾Û ù·®ú>=PF˜k<^¾uT®P Ô¼éséJ±ý^>“°;þä¾I>VIØCjU¾„a¤@Ö:‚>4ì–§ð¼òÁ\Ûá^¾Ë ¹óÃÿg¾Ñߎ{õ׃¾oÂDÚ·¾»jPN T(½Ž°ò¶ð¶>6Yäøä·>¿²ií]Ó¾L]Å;åLã>°ìcy¸ìr½äz™îóñ¾» †Éé¾r)úâÆd?ˆ2é6`¾?òÃȘ÷Û€½+×~m¿á§1“æï§=eðÆÆYq¿ T«OŸ¿ùÛazWrÄ?sOàG‘?|ÔЦë=÷•(ã¸? Õƒ¼ª?>„·%JÔ¿\Î}>ƒÃ¿¬G}æÿ=Ø3혓¹?`,÷>°½ŒÐþÓ¹½Â`DÍ—;>ˈG;_8¸cyú‚¢%¾;ï½Ê›A>¶$"»!³^>ï›Ñ“™Fç<ÂkGð†Lz¾.®žœâåV>@ös?¥Kt¾Ì0²äQ(¢¾ö$¯Ë¹, =.q0ýû”>°ø«ÔÃg¾,´Mé>h>¶]»^JÀ>âÀ²jðÈ[=]¶•´$×¾¢Ý.Á&­>yôÈ8ÑÁ>£8ýÎ…ZÖ>Ó9%½¶[½ó}æ»2|?÷>hWyï¿@j•\ps7?T«K{ýW¿èh¦µ¤½ þ3øù%¿#Oý1o¿‡ŸŽÿsu“?ÿ³¦ïMᎿ›[¯_Þ¾bÏÉ…§?¨îñ¥©¿î-Ä}Ñ?\ÊD°Ö¿®ÕáÍ[ô>Îy–ªlù?²œ„Ö´e?ÞÕVŠì¿­D)Ý’ž¿Žê…ÖÔQ¢½%‡ùXgz?5U2±GN¿ÉHÄX§s?:ñ\£Šm?‰Ý‡¶Ù²=ûcYH¾ü}¿âò±,>²_…²,>v ”n{l>Æ¡°{l>Pë Þ¯*¾"–²f­§'¾ ÷6‹­§'¾Ç ò*ÃT>}ü£Íã[S>û‘¦ã[S>›2ø‘޾ƒ=Þ¿Ÿ¾ÿJ³ÐŸ¾ðü…2D²>O7ŠQ̯>¬—l.Q̯>ƒïîØbѾ¡¬!°Ù¾ëOëd!°Ù¾° 5u›¿AÞ û ?8Ur.û ?!±MV•u¿Ûƒ!-”I?:À¥-”I?§ºŽq¸À¿¾Æ4}â°¿%†â°¿‚ â-³?z ûàªo?JÜáªo?tøÉñ]¿»M ³<§½ÕX,¨iÊ=ñŸÿ0µ½Ê`AWsĆ<bxaÁ`ß=§.Í\­=_S8Ág˽kÙ=ÑØ=öZZ¿° †<;.Ÿë Û½Súu®¦lÖ=Û¾½”Àü÷½S;:ÿ’> œ?ÖS‰´<´ÒCÒ„ë½5£—€ä⽓yÒt%€>ÞØö>œà½¸ E9ƒ¼÷Ö^P >½¯d Cµ¾Õ̲ í">€×lEjà=Žós¹¯¨¼Óm]Ù42/>ÅxÓuëº >ög_Æ+’.¾Út Ž0>ìÅÝñpð§<Ȳ¼ÔK"¾[gø–M+>´¢&kÿîL¾Zxò*›ÙV>&su< X<Ù§ÜêÁ¤=¾LPJqA7¾¼( W>˜pYçŸY6¾ ?ˆôBÒ­<ía žL]>Íz`K U¾’|iõ9v>Ùó¿$$ô>€é.‡ ȼm=1PvÕ‚>€<÷† ta>"/ËZ/>¾(üu{.[ƒ>¬jÑ‘C”Ó< _ufEx¾PK¼F>´¿Á¡¾¦ë"sÇäœí<ƒw¯š®•¾xÙÉ—‰¾a·= š§>®àðÂÛ‘¾q™Hä+’¼#O–¨R{°>ËÛVt^hwÏ&XÀ>£_° Ú˜¾0EGçB=ßo·¿oXÐ>.ÚTòè"¾>ëŠeڱܾ`*3à/Þ>®›ìÒb‚2=æa÷›úß¾a–ݨÅõÖ> ÛWiö¾SºN£º ?Bá_`]O½3‘p“&ó¾¥F o‚é>µB¤.«¿=NÅ…Õ> ö0£‚=Öñì§ ¿$±êŽDBø¾Q´pyÀ:þ>âR(Ã=¿©æ™éä…=†÷ßMþZ8?$ØŽÜòNC?ˆj†+“•^¿_“/¤¿\?`sõ󸤽ƒÀÕÿñFR¿BÖñœQp`¿?ÆÆ Ào?/ÝÆ×bŠ¿kHb†u³=›7/€ãÜ¿/׿# ‡?â­áÏ¥Ar?=C5ÒrÓž?¬s¥M,ö½L‰±[;6™?[op’ÃÌ´½ŒŠ×j%nÙ=vªD6XÄ=°Ò:”葼֧o›’ë½,»íÞñµ½ÁQ÷,Û=9–”ƥ̽äÂÆIÌ$”¼ó2«òí=kSTzÁå=(Eèà` ¾_´ÄiF>` Eas“<Ð|‹(r¾ÐÂüˆ¾åDDÁ¼g5>GFÉàk¾ÃÈø«Ѽa‰YC’@>m„T£‡:>vÌYˆ×l`¾Y‡ïD$Uf>JJ©+–²Á<œ°+µÃ Z¾1€éˆ£a¾LU©Ý™„>•:ë@¦j¾^øy§’’ =Ä2ài"”>$½ªýªw>òðMÍé°²¾ŸÞ|>—f½>ÏàÑCké=¾•k ‘´¾ )lbݼ¾7XZE?ã>MWƒ2Õ-é¾^aülÝ! =æ’/(´>'Ø1þ9¿Ü“»Žü@?õ4Ê„­ 1?5_š£¨é;=[ªlAb+? ™¥r`¿ ª€I€?ÉA^Wñuˆ¿œo=yt½tC÷•B€s¿]ÀŽxDñ=ð‹ÿ¯²¤½=;Wâ­½G^ãîòŠƒ¼À¼ÿÀ5×=>öžì“§²½¦€0MÙ=e‚vö=Ä#ñàc¼ ÿœœ»Û½)”úZâÜ=‘[ ·o¾«Au}Oç=®×X§¤¼b÷¥›üò >ŽÏ=tC¾((ºKè(-> mÞH>ÙƒâØo¹¼KÙ–irÇ+¾Ÿ0ÞC,2>adb¬šW¾’ÂIäØE>ö‹ìDʸ½0¡}[°hs>±=TgS¾ƒº«•”½y>Yå"³¡>bÖ¬t§½l"ÇÔĈ¾Ã/Fˆm]‚>÷ÊËß™—¾Ëê­:&î½¾½üƒWÄô3½íæ =,°>¿¿àI-ËÆ¾„¿bѸUð> r_%O?m+´åu‡½”`È0°U?«Ñgä[0¿RŠé“î*R?; $mèn¿¢!T\œŸ=²œ„Ö´e?¿WRã@ˆ^ù½ Þ¿Öõн栲? ÄÃø=Äš³êÛ¯?vêªéÕ“=?ùDª™¸z¿2(7Ö­•¿E˜w7ßÛè=Ì­ï¶Ð¿]^}¨»½wXP|y¨»½àÎß( ½¿½jcg%½¿½‰F°¯Ø="¼vS•Ò>Æ]œÒ> ‰yEV¾¦“–In:4¾gÒn:4¾ FFm3ÿƒ>óÅ‚ Be>¯õÒµ Be>hÀgÑ®³¨¾Þe´#ç>ºÆ:)q:¿€~ñÝ ?fùÿlñÝ ?Ô’-.µy¿!Q?`äÚ_¿÷IÆ|äÚ_¿p½¬ÅRc?Pþ:øÝÍ×=³R÷• û½ñ¼wPÁå=®ÚÞƒÁ¼¡óEؾÏMtíèBÞ½ø‡¨ 9§ü=“ ’š€ ¾kݽ±;<RÝ¡ña >ã“î`'¾KþA—¡¤(>ïå×·ñ3¾Y4T“ÖS¼U§Ç1qõ>¥øP(z~>"Šg,4¾oûvŸ>æ”ÖýÉQ¯¼¿k`£Â8¾MŽ6Ü”D2>¨‹&%òS¾àW¨64¾ ¥rË!—¾=M«j[ë_>¤i<º7a¾&4ˆÓiüZbUÕ¤¸R>º:tZ k\¾¥šf¿!;~>öÓüଇ¾¡ùÍÕnÃEn„Vh>†(F“Ê∾{Ýèg¿²e>DÔíi¹Gà¼qµVÕ㎾ö<èµò!†>=±¥ÖI§¾‘æÂ³ÕX¾áWw‰3|ö< æ:޳¾Œ*U¾¢½’¾–E)§Å²>A|û`€Æ´¾ 6L̑ٽkR]‡D ©>‚w››*”±¾ï3²õ8Ò>—bw¦Ý¾¹lT#ð½+ÚkÅ>‹ÆU2¼>K_?X>ëÚ¾2̪à‡UÁ>¾7eBiŒ =ü3Íâ¾ÉX7`Ë×>^æQ·³Íõ¾páÿ(@Â>¤&ωÇP½Q½´zî¿âFËÎøí¾WªÕ{¦ã ?+‚ Ž­¿PÂú£X½Ù·’ ?T¿Ÿ#¿—‹©:^%?¦H+î)8¿t1_»!†u=‡1œÉð ?«s]H˜|¿R½T»ìw.?yŒŒG4 ?à’ÜŠr©½<†âƒa?Ü\êÀ ±/?ð¤3P|GG¿´â éY`?®I£í:ë­½=Ü›ï g¿¦©ŸNœLd¿ýþ:Í7¤~? r$%¦†~¿ò: c³¾=x ŠêÙt?FŒ»/s?¡)Wl€[a?×CçÆq¤?N”šÚɘ=5|˰p¥?. |ì¾a¿ÓŽŠpÚÍ¿ üd‹i9¤?µ(ZXÀ>ÙÕ>vý ?ÁO\)Îä=S] •Öq ¾•šóoï¯ô½¼5þY+¼<>}.Æà¸>¦ÄÛNàæ=ûý pKg ¾=mÿáü=áä9p+€¯ÎJv¯C¾e+éÁ+‡§¼ËV—C†ç4>{Šiâ B>éˆe ¬f¾¬ª·oD>v-¿ÂTŬ¼«hÁ·˜$q¾1»‰°Ql¾M$Д£‘>ƒ¥0v¹—¾Gþt²¥*ñ¼«[Š>«!A_iA”>„D²]X¸¾{”ñ^|œ>€ÿ†…ö:½òðFgê#ž1O²ô@DÁ¾ "@…lä>ûÉ(8óï¾ØÖ3Ë5½ƒ1ÏÕ“Ðã>&™|\Òdï>Á3_!|¿Øï„Ië?µ©V‹”(½å>οXׂ3¦7?¾¨ ób¿=Ê |ÉX¿Ê­00Al½ 5CÞ·N¿múÇ+M}?Í¿ )¦š¿ËwòÆ+ª?%Ü÷‡KÄ•½…ì§–?¨*þ7°½XÂÌbvÕ=´õ[-3Ý=‚—_nãç ¥ÿËílé ¾ùnÎ,44>Ë©¢Ô¾6/×t#Æ<ísÓ"!Q¾•×597>ÿæÐ^¾A¢¹{ty¾–GVˆªé<îSæÄY>Þ9¨ÂÅb¾i^¯€o£ˆ> º˜)Kcv¾òèkë#1=õ¸ÚxôࣾÂýºt½‡>4ƒ3 ¦Ç¯¾£)²ô¦]ѾöHôÆ<=xËÖHìi¹>ð¤¤k*‰²¾ë|wR†ƒÐ>ZFòý_å>CDe“O ]=$¸P{›ï¾¬&rN­‚ó>ûüÒkVŒ¿¬+‹¡V0¿Î§ ¼Xá¨=Ñá4ÉKƒ@¿º‹]ŠœR?7‡óå>t¿ñŸ[¼íâ’?å*Qœ?ŽÞÕVŠì¿ˆ^ù½ Þ¿Ì%%iÙ@VJÌUÐÙ¿ó,é;Àò¾¶TÕC)¹Õ¿·Q’¶X‚¿tžÿö„®?ê5¨3˜5º?›uB2›hý½Ú_zH%=®?ÃÍÑÖu±ë=#v©Øo±ë=;¦—®áï=Lü}²áï=Åòxb¿! ¾ù@4{˹à½|($¶Ì¹à½/†Å ÿ{3>¦ÆìÔ•Ï>ª·­”Ï>éDì*^¾ƒ¼„lpã0¾«ªÅpã0¾òy|ßÿ†>¢FòÛza>ù@Ÿza>ÎÚ@\tس¾ ]×:•’¾÷_“i•’¾®ãe#ñAÜ>zÝ4§Ÿ»>N')ǧŸ»>#± u GÜ> øãÙõ¿ñ ë?Ùõ¿¥ðÖКú`?×÷˜Ÿp1¿¢îiŸp1¿!9=¸’Г?y¢ÀÕ|?¬}³ÀÕ|?‚d*mzB¿0¤P ‘aô=`ÌM$ñ¾z ¦Ëý=}¶²ƒÍ5˜¼ö)~\V)¾´-mÆiü½Ò­¼hï'>‰È˜´?&¾üÙß놛(8jbœœ#¾¢µvê8E>É¿'š=©P¾ô©É“<†ŽÇ޲é5>ºZ)Ô[1>ŠßFÓüQ¾c¯îÿ¸&>Iˆ;®¼à¿_IkU¾òcŸ¢O>Qž+­&q¾¦.Üh8¾ß½ìM¾CÅ<ôâ¡MQ{¾j‰‡í»–[¾µê=*œ}>©£ËÍÞÐ~¾óë®d˶¼ïª -Fn>‡$V£'y¾ÙÖb 2›>¦Ö¦`€¤¾¤vª‘äFÔ<\+÷¿ˆ>Æ?¹TA†>;`¤$¢e§¾Î Å(A{>6Ôƒfdý¼T›x|«¾\¡‹€™0¤>F‡Î¿·Å¾Kí„E‹¾j´MŠ…;=Ãýqþ!Ѿ§ü‰ñ±¾åÍ"´Ò>ß*é¦ÃôÓ¾àZot.½‰]ÐmçzÄ>á®V_£Ð¾ Ä®XlÈñ>øn/Eóú¾S»ïö>½õ¯Úê( á>D%…IÝ> .qYõ¸ý¾%…´l6ÒÔ>¥в}=€CBW6¿ìnå;å°ù>F '}¿õzùÃɾðñÑ_™Þk½Á|"ñÙÑ$¿„ùÌEކ ¿ï—Ί†u.?èãÕ{N/¿Sð¾zIt½‰· Ä¡%?ocƒ\Í)¿ŸNÂwK?cúÁú[W¿öZf~äz=‡”üÓl>?:‡užh?Þ°ÛC 1¿”V0f¿ìYÛԓǽõ¶ñäE¿þöXÚI`?¬Ê ­A€¿å€‹Ì»j? –®èÖÙ¢=Åu Mƒ„¿‘\‡ü@†n¿ §Þ/Œ?iY|Ç;„¿.åB²X¤ª=¤mD© †?(,ÿPi¦?€ÈzÉ¿!Ó””“UÒ?Hqì|=oÚQ¸¿£ ¯Óo³»¿m9|ümÓ?ã¢K¿ö¨Ë¿TÕ–éë÷û½Á“;Åß¿pÀØÉ×ýü=%ø<ˆŸÅ!¾ñK¡Î¾‡•Þ|Ä–¦<Ùm5M4>1lök*Ë> ©Vœ+¾QÀ Ц)>™•õò%‡¼ª«†5­=9¾‰²ÛÕ‚5¾§qЬ[>a·óÂa a¾BD:ÈèúÁ¼ÆæW7öQ>´k “1a>ë­€ÓD †¾>¦ÀÂs²\>¹óèí4Ö¼mBÏ´¹ï¾Ö …7ö‹¾œ§à±>»äNtµ¾ù¬×Õeƒ½æ¡ð2?í¥>&Ê×» !¶>”»¥w ëÛ¾­Û@ =ÿ³>Ãs‘T½OÕ¡cé…ã¾²°<«ã¾Ÿ×ê‡?h)αV¿ÿtÅmhQ½§ÑhPa?©)ñ/Å?%޲8¿Ú¿¬+h'?¦U·q.Úk=q…±ãÀ3¿E±º-{õ/?8ñƒïîîa¿çd_x¿Õ %Q3½®qnº I¿ƒ8eç™?àÛÅÔpy¿¿›ý’Lã¯?·šÞµ°½Néiëá§¿¦ðé¡3Bνì)è<ô=pƒ²»&¾cv¸ÒÏA¾Zûµœ²<µdW}4>ú­¦·=*¾]:ibŽ)R>Q¡â‘D¾LGÿ$û·ÁV˜pRK«|¾|{b3d”¾¿a{ê„=¦ lI±f>ä\¯b“+¾.@<¡?|§>Ohl$¾  ¾7AL6È[K=1d•q¾ ¿¾a_dŸ X©> ‚PÐs¤Ñ¾Êã8‡kë¾øÜýû÷V=i¡«FÔ#Á>ZRe,ÌaÔ¾ãÒè¿Ê÷>§‹­¤çNà>®:‚FÿÝq=¼i6´ïö¿"Müé£?¥²jpÛ?¿Æi=\uQH¿y3¤<¥¾=zï`G9ÖT¿gÎÁ”»g?¤‡ºXŒ¿Çõ60çš?»Ñ‡¥5½­D)Ý’ž¿Öõн栲?VJÌUÐÙ¿¼ÜõV¡Ëô?,Ö?æBèé½bb´KË׿ê ýPhš£¿vKÏÓÌ?ýoX“h5‹?ÝÝÆ Nâ=º[\㢾¿ )ë6d>)åŸå6d>;T2í½$>7“e޾$>mSs r$¾f¯àk~ë½½ FÄ~ë½å´#©äP>ÍnhÛ¾:>’*“á¼:>,¬£Ù:y¾3˜ñ€„Á&¾,„•R‡Á&¾œ˜¼9¼£>Í€[øÅZ>BÁçÅZ>µÜ½[ÁоkÊ6x•¾Êy¯%–¾¬±·—Õ©ù>4Íø=8O¯>î3àe”›Ùi ¿$Ìk9Ï¿Îa–M9Ï¿mí¡¨¼¼t?Ž×ßV›G2¿ý…Z›G2¿W‰íN*̳?ûØLääh±?›šlãäh±?z2£n:¿{ÏŽçÚp_¼É°ù…Œa-£"½h'ÿÓ¹½xÿã£c“&=Z¬‡ÀŸ`'½>²+~f Z¾¦m¶ÑX=aV¶#ù"½Ml÷[E=ÁlÂaD™M½ˆ«{Žy>øF2.=.œ K3=UögÈÒ=U½ædýü‰=)lÎÅ“v¾Õ \CW½—oûdO=­v€jï€q½ƒ eË/H½øAfaV¸>‰Î‚ê&z½ÂWÍ®\½ÃÌiç±=e°~Àò€½K`Z¸¯™å>~]özBàf=â a‹h½/ziÆ&^¤=€æïû|嫽%¸³^¼¾/¯?ò'‘=wæe´Œ=0éžÛ¸½®Ò¹§»=½hJ¾ šï>?7òžß«²³½pa ¿›œ½ùOuyÞ½+.³¹hú¹=Èߤ¼ÆS¿[þÅÑ •=*3ÑD-ë–=ÕŒ²G‡½=TïåÓ²¶=»6s×4¬?d6Ìrü®–½]²\D õª=Îdp0$Û½zêÜPæ=Nés‡vµ¿·h!íн3Î,µ5ß³½nWêÑË™>ÎÚì Ÿ$û½t½ËQæ?, jõ½æ©+NF‘¼©¨æ‡’È·<|>Žýƒ<Ù@&zYËû<esÝÈOμô:¸¸ Œ”<+h´œaº¼ø×ØqŠ£œ<cicŠÔE=‹¿¬Ig‚ <¬i5Øì™¼kOèbrÁ<š›¥\š¶¼ší—¿v„=ܳŠàù˜<¸UþïC~¬<*œ~c#Ò¼73@×—<éÊ%3§=î@ã‚‚b⼺¸dýžÝà¼ñkØâi=¦‡•é #½ž¿1> ¦ ¾ÃØöðøø<ÝÜkV± =²íÞ‡2½Ì²Ò¸•ßë<}„F**]e¾B¡·Å6½«€¼¼Ö;½”Ñ”‡ªb=]£6d³]½èGÆ”&²¾oϬ9@…Q=ÿÎy âZ=80³•¶€½4_qcp½ñV Ìô¾ÝªCQë7‘½Ê¢wTUyp½SÛÄÇóù’=¹>3qá7‰ÑëÊ¿óà?ø ¥½±øS±Ê®”=l¾U±Ä½A"BµÈC³½¿h†”îŽ?ý¼‘îØ =hÖ‚jL<6&ë)l¼¸‚{Ã}¼§ê¾ëãb;½(­1M‡V°< (+ ß‘<Â*yÓ”Òµ¼žÂ¥Ø±9Ç<ÆÅwØébo½ŒdÊ[§ »¼_ÍŒ=§<3O ©¡É¼z Ã)V®Æ¼ ^®+°=ÃOHÄ²çØ¼“µhåÃk¡<Œ¼Úz^˼Áøi5:¨ð¼ˆ®›A–7>ä ŽƒäÚ<åÌš0áµÓ¼lÚÒY›êü4²U  ½¢Ìùi²­ü<¥ðbÂÁš$½2ýÙç³S9½Æ<˜>a¥>#Z¹è»=z×ÁPÏ5½"Ÿ4j¶u]=`Uá^Yp½¬"‰æhâ> »Î(7½\âìbŒÕ2½ò\§%L=ÉáaAêž½Œ³ /J?uAÄ£ô{ª=¶iLC’G=<ˆÁMÔΕ½bc –©=¨ˆêH+V?Žê…ÖÔQ¢½ ÄÃø=ó,é;Àò¾,Ö?æBèé½jìuøÊ&ò?p U¸;Û=)4X ì¢=4/-ß`Èʽœ$hJ!”Ë=•‚5Kúà¿0[Ë’8ô=èˆ[ƒs º<ŽênìK®Ç¼½w#…âÀ<À~Eë˼[Ò>rG…¸}‚ûÐI3¾PµeŒè"½ôùÿ’5â;>àÙ³Ï1â;¾`\œ_bÆD=ás~æÆg¾¶àÚÆgÂ>F÷d+†kˆ½¶-ðžd¿:ãqñžd?w¥8t‘©=Ù»Né!h¿<ý|é!h?t‚ˆÔÔ=ËUV§(Á¿MkV§(Á?û†&šç{†=q´Ü•_nÈ=`{Që½ê?Öv·=—kÀH<,Avz+÷½’ƶ9qÖ½møÐ‰ã~÷=SäëÞFyü½mŠï¡¼ù„<ñ(›êêñ=йud”÷½ß~,Êîí>³÷@Æ(Î"¾©T]w‰ÉмHm^’×I>–Çç¡f>Ú±›êK(¾}ˆ- Öí=Å`VŒO„¼tÓ¢¢+¾Üá¡vØS$>¹w¸®}F¾2†&UϾMê"Ôܼ:¿7‘–FP¾E¤þ Îh3¾ážjª3U>Š.ß6ÇÇU¾†6« –[µ¼‚…ǸÂA>Æ 0æQ¾—ÉÕ¤s>·2b'c{¾±Ü}‰Yé™<¿ÅõréZ>¨™…¶ÒÂ`>AE‹ø\[‚¾C}t/–3>ÇÏßÚ¼2Å+ž+„¾A{™T~>á×*Q[Ô ¾‰:ÞÆô@s¾µàxëâzå<Å]ˆd§¾>¹l5¾ˆðíW±>3ÎÀ°G0±¾É)»ÊüÓ½jÐõüœ>ƒ®å#«¾^ØÓž(MÎ>üa' £èÔ¾dÌeœ‰Ì½i®¾ã ³>ú1Îs‘º>¢\ˆþáhݾ¹ˆßʹu>Ïa6Ž£G =Úª(²Ÿøß¾O ·J%jÝ>úù±¤Í¿§Þ>´ ãľ^æ? w³K½Ž¯7 Æ¡¿d†]§?ä¾={ʉ#?¡áÀ]Ú¿ ÜLð0î_=äÀU|KËÐ>rg±ó¾X|¨2 ?:+È 'Ñ?~yÛí°ôl½“I]ãz¿'€¨ì7“1?+2´¹S¿pÕÍA@@?.gIx$~¹=¨ëÎ¥ÙåT¿LZŠ7ýìF?TWqêU…n¿}hÝ*F”e¿Ëh{ »ÝÃ=¡àx2©¨|¿9'š>Ê"p?ò×Γ¿˜„%Šh‡?ýÄÈ ïѽ§&|EÁ˜Œ¿€´Æi*¯’¿Ù÷? lŒ¼?¡äV¡4m½¿½swÔR|¶=Ý!ôÃ/´?ƒ¸Ú8ñ¼¿ÿxIEûNÔ?vóL"ÂÜ¿vfž5žñÒOÔ_?U4ä¬8±²=Öë?>ؽöÒ{¨iÍà½;µÕóÆ'†<¯pêó‚ö=ä—½¿j)á=Õ—ª®.P¾È “!7%ß=¡Vƒ%Äó€†~lzI®5¾õÄwP£¼!Uy> «#>=[P}¡;>~~ƒ< 5b¾hæÑŸ'>d)È¥øO“<±êDÿ›$d¾1$u˜€h¾ê<ª/>œDŒ2d¾/hå:À¸²¼†uù¢ª{>0†$䉗>b¾ÏJ„¿¾7ð,4‘Œ>ºÕEò#½oðÝ$†½¾³,Á)y¾¿¾o[¿YsZä>K÷‰•'@뾞—E$~3½BCn®­Ë>B£ÿé@ü>â‹ÿø$Í!¿2Înü·­>"+w¬ñfV=š=CFgH&¿û@°X¥?¿^_¡(¿ti?©AÕÔÞ^?ó/ñjÒýòØÝbíÄ[?Á°v%_”¿ã-„Yâ!½?ó×ösü£´¿6響ž“Ç=SÁÞ¶È1¨¿ë½ÕÐÍA¦½/*àS¤Ï= AŒ[îåǽ‘e=–a¼65£ˆ¶äâ½Ä YÃämÔ=ÞçgkFý½ýÍçGHR¾¾SÙ6(”<üÈ]•þêݽi„ž‹¾OHh‹YV)>ü¬)î”*¾–(“©x!±<ÔQ•ûµ6¾>Pà.>FZ s™V¾ïÉmˆ6Ze¾C'çÎ<¬7=´£ØE¾Ð׺giâX¾ f?5R‚>5®FÞ¢²¾U¼¥Àɾ=TI¼òvªŒ¾KqŒàu8>k<žÛT÷µ¾Ìj9ˆu¨º¾0­XäU‰#=¼q‘n¼¾ •:ˆO†¾ÝY¥Íg#Ö> f‡¾óÕ¾GìŽ +½J=å à þ¾²”;¼é>F,cýOоâ‡×‰åÐ;?à&žBqñÁ½ˆõ&î¯O4?±Ð¶Þ¦Ã`¿ÝÛî.†?sé*@›¿0}GšíÁ½%‡ùXgz?Äš³êÛ¯?¶TÕC)¹Õ¿bb´KË׿p U¸;Û= —Ð_Šö?†‡-»¢?«mäÓªÿÇ¿g©M%U=¿?\¦o6õ•ð=ÕE” }3Û?ÔÁŸ«¸½=è±"¡¬¸½=Õ]’¼;Ç=1ãï´;Ç=œOlËÐØô½Ëâ)37•È=KÞ,/•È=o•z°K°!>F•R—³ý½ûLdé—³ý½/ Š®ÈN¾˜Ònx%¤->ÊQ©ü$¤->#E"Æ8ùy>:¢“6ö^¾ŠT š6ö^¾ÉJM‘¡¾%är{ ш>zkc ш>ŽõkAm‰ß>d´IÐY}½¾JÙ5ûX}½¾¶;%Ëæõ¿•–¯ª¥h ?þ`í¥h ?Ù74áa¿%WƒÏ.`?çµÑ{Ï.`?4àgÁ[¼¿â{Ø+¢¿9?zK¡¿9?% !¡Í?p­GZsÝ=æzLü௾}7© rýä=¦0ŒSk=·¼H`gUH¾ Þlà´ä½ëݤ,ug>)#øá+¾DUiÏW›<¡"óV†>èv0Ím ¾ˆ‚[ŽÀ.>Ær78¾« ‘¶oWm<õ™ÀîîÇ>žzÿ|Ñ>-!±¦':¾Ž‹4‹YZ>1‰,ìªt¤¼Ó›Ÿ¿!?¾)åldL7>UçX³EüX¾Šô+è|!¾°bÐâËà´<âë£c¾¿/è/D¾í˜s¡ŽTe>.._LÏ‹f¾Žd¤‹Äð”è5V>¨µPJrb¾ëg®¿ùƒ>¥¬òN޾ÄbwëÙ+À<ÂÚíV€q>¦¸ŸÑãWp>™‚¾ ‰·ä¼ÐXö?W)”¾‚x †Ô>F<òœ°¾Ðéwæ¶èt¾ ]áù<Øl—Pæ#¹¾._ÈŠÇÊš¾O„úh¼>š3äxƽ¾³É —¬½ø€¨@Ú®>IŒÕs¾w¸¾¼pR;Ú>*©çU±ã¾¹Æwb¦%½·'é"ÅÈ>ÜÖ¯Œ~NÆ>i«aZ^,ç¾+åF¿0:¿>ft&;ë_"='13˜ë¾d ¢¡½ ä>È /ì¿}Án .À¾{qœpéV½—ÐL¿Âº’6Xþò¾Þ3ÝXh?²Èuç¿ ù’6+4+½%¯ßßȸ?©Ö{ö•¿U}R•Ó=2?Ùړͼ0;¿,–†ÜB½_7ðRŸë"?2´Zî!?¬Û0²ñïA¿ ú sAf#?‚ù§S Wƒ½[K68gF¿E GÓ;A?/¡…,GBa¿h~‚P÷L?'©§«-¤«=N­ñ-½yk¿õ!AGÏ4K¿ˆhÕ ¬g?„ÖqØ<k¿àZ*Œ˜ˆ=g¯ÜÆød?¬@ߪpËy¿»´º«E™?NLÄs|œ¿Š«î[L*F½bË5 ”?‹ ²)›í|?0@ìYä@h?€C£¶§¿4Š yδ¸=fÌs”ÒÁŸ¿™™b®?áä=17~Mpš ¾ÈJ+%Ò<ø½æ9˜N¶´(€ŠTô¢ï=eØÄg¾‹¨¿%W®þ=}‚…Xø^‹¼õø“í…B"¾ÎomÌȾsÁÍ•¦ÂC>7ŸÕ~WÆH¾ù´ L‘¡¼èÕø‚VÎ8>%;¸ßLI>Ö—3K>p¾,]±ýŠËD>Ýh.(¤6À¼È³MƒeØu¾«tR™¬t¾n„8wš>þ<î‰ÉŸ¾íY}}ð¼¥áZ5Å>.)3þÑ¡>BcZMÑž‘5Ÿ£FYŸ>oÞ‡6˜ >½ ÷rÚ̾•¹`I;˜Ì¾%ýdŽ“ ò>ê-7vo‘õ¾ÅÑ;i;½í–£¿æ>Ô5ÐRù>Hã÷÷Ñl¿l úf™mü>˜\ü­Ý_=éßÏwù:%¿XlÃ:À)¿êqi2?P?DàÚ>ŽN¿" ÀAÓT©½ú… ,ÈF?ó"€é>O?‹S—á'j¿B±…C?¡DÂëj©½š­Æ7‡¿?:Ñ™ùÞµ½û}õs<Ý=îR¨>Ô=Jðl9<öeÆá¼¾cÓ%zñç=Mó;|¾zSqº)¾r¬´éXN¨GwìŽ3%¾.ý*À„:>üÝì "ò-¾J) ìaç¡< 5ÔüR¾TY[ +´>>çó¨\ꀮÂAÉh¾çóbDZ‘>—Œ½°¢ü…¾ùQ¢MD4=ØQþ¦Ê⦾•õs)·ƒ”>S¨m‚¼¾´ãH,¡Ò¾Äœ¦1==,K„”PÉ•>»yò~S«À¾—àgݲæ>oðRuKà¾6J,`˜L=>R£c¯,þ¾c!ÚåAì>4¢qÕÁ¿O˜ÿÿw&¿èãOeøS¡½U–»d³õ> _#uµœ!¿h”ÀòWE?Lõ̯!ÇZ¿]Ù³²•ÏV=5U2±GN¿vêªéÕ“=?·Q’¶X‚¿ê ýPhš£¿)4X ì¢=†‡-»¢?$övÄ·Ú@"ÕÀ&¿þÜ¿GÔ4‡£°¿Ê‘k9lµ=´\…õÚ±¿áH ¬k÷ë=û]&fg÷ë=Ñçƒ û¬ð=_Wû ý¬ð=8ÀEЈ ¾‰øøv»Ó½"Ísç»Ó½bWÙñK7>š¼:«l$æ=—üs-k$æ=戟ţTb¾3u÷6Ûê¾0/œ ßê¾Ä DE@>DäÉ'Ðä4>æØ$Íä4>ŠÉrK÷{·¾‰NŸå&i¾~}wƒ&i¾¬é‹~•ã>«Ï»&I >Y+BI >³ëúüB_¿ä“VõÈ$ʾ/“.¶É$ʾՂ±Ó³3?Oä•_d#?“OÛ_d#?¯«oïÄÀs¿›€ãÝõT¿À/6âÝõT¿m=ѱ~Ÿ¿¢x)’\„¾ï{ükhC'>ÃÈ¥§.J¾ï76Ôȵ<û1€«Ã9>›Á˜Jq >çOnVaã+¾ïÍG@\6>¯áùãþ¬¼"zM(Ôš5¾,ZCŸÑ3>F¤#ØiU¾E& f:Ü`>°ã$t¸¼Z#húkF¾/$Èp=A¾Jòâ9 b> Œ‚7¾Ö©†ÊBšÊ<äêÝü2¨e>ˆ-‚t–`¾A£¬XÎ[>~u’ßYGG>I¦ÉW¢ËÕ¼†>ß©5k‹>m¨{©ûk>yLnÇ~¾ãÈ Lµ=>Y@Õ|Ä<ë} =ý~¾poyꚉ>u4XMd­«¾ ´kô&ã´>U_ú‰Ä÷è¼ç§òס˜¾!¯Â2º––¾0¦‚9»·>@ââyh±‹¾ŸÌÉTý =³ÍçÍê»>DýSùk£´¾Þ$Œ÷5Ö>Ͱ‚_›>¼Ù¶É"½‘>MÁxá>ƒOZ÷¨rÂ>gío•ÊBã¾é\¡~ä>uжÊ>= VÛ¿Õ¾Ò†s‡ïÚà>»%¿—‰$b÷= ?()çÊM=±$´&æð¾z7 tÛŒî¾2¯› ¦“?bâ»8Üæ¾ZS‡ól8K½3·»K´ó?.üRF—@ ¿_þg€æ-?ŒC¨—+â>|bpfí*€=&mmãÝ7?RŽêâÅ?‰Pî³":¿-|ÇþÜX˜°gi !>ïû0'"£¼×–Û0éD¾}ò_’)·¾»æïÅao;>iDYà%¾B7Ù/¦®<œ¦·Z‡I>*. p©8E>ÈgD1k¾„ƒ»«pµ”·¶$VÉ<ð}•˜Œca¾yÀõ¬eq¾,hnÊ3J–> Íõ·€Âm¾yÛè«4gæ<@Åóñ;\ž>¥;ý¶Rœ>Jp¾`:¾Î),—ÿÅ>ÜaêŽ8¼=ÛÀ¥7k7¶¾©JCäâWǾŠãâ­Ñ£í>îH_jŠÆ¾¡uðžMAe=z>Îk îó>朧VPó>5T6æ8?¿‚ûz •?.[¹(c=Oö?¿ü±¿HcZ Âè ¿ÓÊÒD?Š×¶réy$¿’Fû·³Y…½\“*gM?Í”ÅûöP?ÖUÓ–Su¿Üz]5Ët?C¿ËùÑ=µUªÔ½o¿5í½¼CÀk¿$#­ƒ?‡Œ5td B¿‹9HŸèÑ=Úwù€† ­?øm$x/'Þ=± ‡$"¾HøK†éƒÿ½vg&áÈo ¼ùÁHÛX¬1>Ö‰-·]«¾ Cä6>!î„É+R>žÇËÕüÌμä­1Ú~0¾µ¼}_q™:>$ËÝÒ ]b¾*/uáºS>—Ë“‹Ð¼WÕYXâz>ÈW¦|‹Ee¾õ>Á²R>Ëå¤ÈÖé¤>©ŸnÀ™D½*à¬Á@µv¾ÍQêu~‘>0zéèt·¾ùB.Ë“ž¬>>”Vç?\½ßSß.Ð>—?ÞÖ4¼¾$ sœ%ã>ØMÄ Ÿú>tï«1Pd½G l1¨þÔå.‚|©æ> ¼4«¿0×ÄïHr?è¶õ\£s½«M\¥#[%?t±ÚFÅ¿¨½@Ϻš7?ý/)ÑN?2©W ¢2È=ýNr¡&¿–E‹»!G?Ê"ì<úKk¿P™‡d]‚?m+ï:¨½ÉHÄX§s?ùDª™¸z¿tžÿö„®?vKÏÓÌ?4/-ß`Èʽ«mäÓªÿÇ¿"ÕÀ&¿þÜ¿49׌0@õ|R5[E×?Y³ó”$à½è'8ÈÖ?™P½üM#¾í“þVM#¾•8TK:྇| Û:ྦྷŠq”Ø»4>¡S*r‘ÿ=…å4vp‘ÿ=¦ÕÑãáP`¾/ÈKÛv&¾¦eÄðt&¾çtóø_ ‰>ž|‡Ã<>‰µh%ŠÃ<>§fh´¾ vž«Üi¾¨x‘©Üi¾sÁ%ªªUà>\D;Ë©œ>‰CMÌ©œ>ñdúj2 ¿4ê…Bª3Ѿ˯4·«3Ѿ”ªç‰¢6?–y-ëä7þ>&×rå7þ>ÞóÊ ŠúY¿õ]#Áü˜N¿Ê†Íü˜N¿"cUO»˜?Že„?löe„?¥­òÁ¦¿V~«ñ6é½Å JCZ >Tº_Öòºá½w‘óE º<8g½‡;>í÷ò‡@õ=™’4Ñ)¾³ùÑ=ðª>ŒãíÀÏE­< ¾MÂÉ6¾“¿;6>\@è4y:¾rÅÊ þC>ž½În¹ï¹¼sÍì"½C&¾ —º—&¾`*îéöG> C4_YÙ ¾ø‹tq“<[µ%Ö$K>öXi)ÖûC¾pL ’r!f>i Ø“üu8>.è-äµ¶¼Îf?öDAp>­9S¤•kR>[uæ÷³t¾ž©þû¬­t>=©r¾ï)°<𻣫Ô`¾ëÓ¸p>·v=ÐL’¾Cj?ùTâ™>˜K>._T¼÷)ž»oy¾ ÅÿÏ<Ó~¾kk)Ý >¶âÕ uàW¾y€BÍÉó<ÕÙb½Ÿ”¢>î)|ɧ¥›¾—ŽB…j°¾>…ßÄÕ‘>¦Ç&gü?½Ç÷`Æ>¨€é_8ª>‰ `䇸̾-ÀƒÑpSÍ>ïèQÇ|³/=„€Þ¥5·¾ÑX™¿p¿Ç>.OÜì1`ê¾cW(=ò>2y¶ød5=®|r5sâѾ`Z"âÁþÖ¾Cb³˜ë4ù> ùB:ð­¾ýœ&˜»iþ¼ú+Ñ×ã‡û>û9¥õ¾ï#rP? ¤×»Öé>=U´iO_=—  6S3 ? L{Í.w?oÖG˜–'¿§ƒZCÂ'?ŒŒ é3;=÷ئZ¿zǯR d$?Šýãn½F¿Pq8ÆgVN?$…Të.y=PçÛ]w.¿ =ã<¤á3¿Siˆ6ÏU?ä‹×àyHã¾QC?qÇYb=A v;mW?øÑöuwV¿UÀ†›üÌx?GÓº*_ž=?Ë…'õ{¢Å½c@¢ä—I~?sxÓcÀj?F/ÑÏˆ,¨F•‹?®7™ÿ †½6xÃÐúx¿˜$ ‡”??–Ðwµ¿M{Õù.Ÿ³?Ò¸¾Šƒg’=ø\§Á™¿Òügê‘¿H“4ˆݪ?ˆéÇJ§?‹rIõa¤½R–GÉù—¹?äþw+â½þ.ý¯k>¸+G]n>è…°©â¢¼ƒÚÏÖѾs¢ÞeŠV¾†`0E%>]ÌwÔÄw¾ú?-Šw#¦¼ME¾çÊ»->KŠïz].>눥AÉS¾s‹âqŽU>Ñ¥:’Ã\¼)rw ŒJC¾.“¨iY¾(ìä—À€>˜ L`¸E¾ãs°)¿Æ<×’Âní@ƒ>‡‘°§¢–…>̔˻|¬¾GAñk­>9A¡í'pé<ý§šÈ¥}™¾–qêC¬²¾ÿ¥ø® ¢Ø>ÕmÆkœ¾_†‚¹fëC=Þ_5Á1Û>tä» ²ìà>Ëy“„cU¿¦'Anêó?ôŸ8pNíG=vØÿˆó¾ "Ó¶Ÿ0¿â`•s5?0Å–*ùý¾]‘¸ëÿño½7[+³`5?7\V* @?ðæd¯ôÚd¿ vàÕ) g?½æÇ½çµ=ŒÎÐ[N¿ÝO ú~¿óæp$烤?-´š ½Òƒ¿üÏ‘ç!ñÃ=¾×†,—Û?MèÃàâ†Å=ÊãµPôî½ÿ«7|®×=ÈÆF6ÛÅr<é›ù >ûImÖ§ô½Š&‚ 4‹>v„Pl¼1>¢«ªfü.£<ˆ¼FöN›°=ƒv©¾ø >dážm„|H¾JñK§MqF>;¿Ñ^ð•¼5ÚÃä„Y>0¬>áºL¾‚ލRt>-‰ËÌ\¬…>'ŸCH·ï¼ØhZ”tV>K5›ˆ²²w>ˆÆ¾î-¡¾z3Õ´"Ù¡>J†*U"¦=½Òpò›V°®>t¯’i2¤¾æ2£X8eÍ>Ѐ”êçÜ>¬@´àcI½˜×.ü¬mº>ŠÏSiÒ>èGi{xú¾X†=ë÷ý>ÄYîX‰7Y½+ Ðié/?æêKÉ+¿­xBæ-Í+?ÈõsC<7?¥U£¹Å«=žÔ`z¶W0?Š„ Ó±-?ï§©üpøS¿ÐÔ*ÒT‹¿—„òG í·=:ñ\£Šm?2(7Ö­•¿ê5¨3˜5º?ýoX“h5‹?œ$hJ!”Ë=g©M%U=¿?GÔ4‡£°¿õ|R5[E×?5C²Xð?œ}~aÕa̽xš}5TÐ? ºÞ”šé½Ô¦Œä—é½–š)A,fñ½†)ª±,fñ½Âò€l‰>»­Èk‚â½ ™jÑn‚⽨dã÷kB¾.Ì"²8F>Qð.9F>÷üÙN2Æm>òaèUG¾{v~‹UG¾„fDŒ5N˜¾A.=‰F¥u>©É¢ùF¥u>Ž|û´1bÄ>°±}¤¾5„z{}¤¾ál¨†¼ñ¾€‹–K»Ô>Ù·“J»Ô>½‡d­ ô?Ë!ïðI¿FçÂÞðI¿hsä-.R¿þ{UšK¥Þq!½÷„‰Y—½A¿…àpP%=ýQ×föü%½°ý@cY¾ô¡6Öª½=7¶¦!½[§¦zC=òÃÑsòK½ ø{ñ~>§=KaKÀ,=öÆø_/Ù1=ÔEK³W±S½Ëª¥úŒp=ü4¨„_à€>8ò#EîsU½µ õgÞN=™ÔnkÄp½G;Y6C½|qøûÔ/»>òîÄ;iy½¼¤u¬6¶\½UdZÌ8å=Žnl €½Ü`Xîó>lC†|Ýg= ·ŽÊô½®îr„ËP¤=²…5¹ãª½ÖC³ ß¾{”ë´ÐG=ÏÇÑ%6ƒ=ä*~J> ¶½õîá±–Y½çxØÎ¤°G?ˆßÛ„`®½[Œ/BŒ†½9ίgóŽ\p_Hs?£=o½²‹ÃY¿·-=”_H|=Ä.Ò¯lc™=µl÷N,€=Úæù‚rÃ=Á¯ÅA”?ø„4z]ŽݚRpÀv½=Šrlèèlç½þÜch˜é=Ù“œf¿ü³¿¼‚kcÓ½ÚMôR‘ˆ„=sÞÁä¿ð=ë´¿7€ÉÛ=3êðhŸžØ?Z&ìÖ¢à=Ç,¦Ãyˆ¼kJa ×±<@‡Çb3¨¼(nët@|<»ŸÍ4± I=Dê0†ƒ¼Äk™Pмoì‚Þµ¯®<|¦ahr¶¼"Ë ô…=RjÓ‰‘<(y-‰Õ°<²ÎÇ*“XÖ¼4ܧ(˜Ò‰?Ç>¢Á=X–oè|P¼åžJj’D€<È¿è­[’¼þÚÚïe >½ô¼ólv¡º¨M¹RÐÄ·á7Ù ½âßÕtü<[ 8V&G$½ˆýŽc=7½€ëMzA¦>9BmÏpõ<î’¨¯3½¯çC9tðZ=œÑ?òxf½£û §äÖ>f6ÀIÿT½é)ÐWÏ&½ˆm'˜X=ÏiŽ9‚½ HãÏ%¿Vô2H‡¡=KlDFP=Å‚ú»S«’½pl‘‚‚=¿£ÚÓ´…¿‰Ý‡¶Ù²=E˜w7ßÛè=›uB2›hý½ÝÝÆ Nâ=•‚5Kúà¿\¦o6õ•ð=Ê‘k9lµ=Y³ó”$ཛྷ}~aÕa̽ö‡2’\ û?©4 Qêñ=ĉvLèô<¹Àš í˜õ¼ÈKØ.}ÛÀ<õ«ƒP…ɼy²•U†œ¼pyÍ$ûb=.í–Ðùb½àô À{H±ECÿ²½³ã¹®¡Ë¼ÉòÞ½‘8ø=6­dº‘8ø½tq ‡pô<®;+X”Í0>O¤¡”Í0¾\¬¡”!½)q{¾&Ri¾Èx*'Ri>¨{ j6²I=ÀVWЃѾ'OЃÑ> íȤPÓƒ½«**óá"¿GX¦*óá"?|»Þ‚ ó…=Ï ¶€!m¿Pþ‹¾€!m?b}9ÞiO´½G©iH¯¿®½(jH¯?Ê@¹‰u‰¬=©É˜a1>Ñ(—/#)¾ÙÌ ®ç >±úà ÙE¯¼D;¾ý¥«*ؾ[g²#zŸ/>nP|[8¾Çs¸©át¼Há® o6>²ŠÑE^c5¾½‰:–Ü0W>,{Rb¾“ÑŸødµ¼Úwm{érG>A·5ÏkÅB>•°†<Ûc¾}&¤[07>ÊL†‚ô»¼òÖ«×|g¾î꟯^a>€ý×q´ä‚¾}ÅtÁmL¾œ> Ç<ÖÎÿòÇ0‘¾¤Ëliñ×¼ho:\6`€>ö{Э䋾“Õ-ÛM®>Ôíõ¼š¶¾o×K>‘æ<Ï6gLËÓ™>ŠíßÖ˜>$®@'Pº¾#£I1@Š>íÞ|•½Ù×¹Œ¾¾DÞöÈÁš¶><‡®Va{ؾ±VßÃvÁ¡¾5ò§Õý"=ƒÁ ­ìâ¾8Æš^¤lľÅQ”·Œå>¥e‡æ¸æ¾t®œ3E©B½½ëxj7Ö>YïÙ¥t›â¾«Úb:i?#FÂÝÕ ¿Çöû¤rP½>^éܰñ>Ù¸Añ>të¦(пž5y¦Öä>žn„“zJ=0þóçó¿_@=^àr?–æ’=Õ0¿Íe@-Hð¾`Fði²€½„ü]ßš:¿Vàhöð=¿‚qJÄ?>?#ÙEØÜ@¿VÈÙM•ÖJ=,­¾Õ¸0?›Ý´3„:¿¬{æ³äÅ[?Zdζld¿Ø}Þ§$~½½ºþÿ!«J?°õâ¥,&L?³2¤¬IÅl¿j¯Å~K?(öbw9f=ACæLq¿;°F&7 k?¸ë•óGŒ¿v]v¡Ê3¿ZWã ŸÆÊ=ª¦˜vºÓ–¿ª9=s¿mÏþ?' B^‹ì”¿Á蓸Òxº=*³ÆY‘†?¶„£˜â/š¿ ó¯?¶¾·?ú2OYÊdÀ¿We›«´½Y±#Ç·?ÈB’l$À?Ä_-F¸îØ¿¼‹D#¿?ž§±.­½â>9\?ß¿< V[Ù >Ê …®tP2¾}‡šØ¾ "¾ ñ¿*¦Í‡<ïúQÅ6E>0(]Ó†[>_Øb ³÷>¾inŒÃ>&>¿rÈ ‘<µ#–{ _K¾œÈ›Í ŠG¾â))íRn>Xf01‹±r¾ÑÀŽ¥ohȼ¡ÕøGUwb>¢¹{es>Øt²W™¾#:B¯m>Ëð›%ßåã¼ñ%õ6} ¾r5!~ËÑŸ¾eC­êdvÄ> •k}ȾØq7mw!½ 㤷>að@sñrÊ>%ø*»^óð¾m‡ÚÆ>RíМóöe½gvª¤y×õ¾¢Ä/ÿZö¾|¸ý±?¹ñÿ7ˆ ¿´F9dÝÜd½»0*1R¾?‚EÉD &$?»`wílbI¿èÜZ`Ó%?$«ìÉ;‡=½=éÜ%P¿í÷¥•üR¿Ù쫉Éx?ºYÉMÊu¿ ÈÓÙ¥Ò½«×¸Ð@ýo?ìݬ÷o?Ä•Oj¿®SpŒm‘ˆ¿ûf8ñHrÙ½b 2Üh³¿¯CF\þ»à½¢‰Ó#>@ð_ÅÃ4ù=”¸øßá»…<éÉaz¯ð1¾²ÿ¦}5>¾ð^áiú8¾ƒ ˽¯üR¾åWk™ç¿<ºE×E©->fÈ&&Hó<¾7ªF'd>ôì¹§ciX¾O´€îx›Ù<uvéç{¾Ï¢?„Dg>Øl ¯1¾Ý ëKЦ¾Ùwi*uœ=žÿ´.q>}ŠÊkÚ’¾Ò ñëÕ#º>l~Uƒ ²¾WÈë¤dÖ]=™ùWÛÌоca« wm¿>¹ÕP—]«å¾N–Wrk¾û¾Ê›Ôv‹÷e=vÑ¥Ì:­¯>§N… é¾OŸk•EI?HÃû+ Ë¿PVX§ÅQr=tÛAžÛo&¿å 54í?=RXÅ®ƒ>¿Õ·uƒ|N¿ú¼çmÓѽñ£§îè>u!qBÍK¿¼z†1s?¸"2Nà‡¿öS_‘&-Ã=ûcYH¾ü}¿Ì­ï¶Ð¿Ú_zH%=®?º[\㢾¿0[Ë’8ô=ÕE” }3Û?´\…õÚ±¿è'8ÈÖ?xš}5TÐ?©4 Qêñ=8åF)býñ?Ð Û\±>$Á“%±>,Šùú>kÑxrû>˜KËù½ÿ5¾Ã(+¯ö½i]D".¯ö½1Ó$K›ga>ð¼7¬ó=ÿ?ƒ#¢ó=áOóæs‹¾€9]܇ >…W!Ň >ò_+¦Ãìµ>ý¯il¾};”˜m¾÷8 ¹Ñ ?2|91Ú˜>)1tKÚ˜>Í ùQ³7¿/dïKP¬>ù7_XGP¬>÷áUÌ-`?byÜÜû3L?m§ñû3L?YXI¢ý «¿ùI\ñu…?Å®+ðu…?Gî!à|¥?­c“ùyr»¿eï‰Í?Úo”g.пÞÁÀ“¨ÂÞ?þGÙ»q®É¿?1÷# $˜?l¢‰X%¹¿JZ™iš?`Œ¿ùE´¤¿Ônꮨ¹?Åa{-Ê‚M?Ñ gݺv¿ð÷¬ö£pa?Ÿ#gê©ü?ó¥I“Ž‚?}àþ}4¿hOøˆR `?´yâ·ìT?Ös9 Îb?¾á&öÐ_?ŒÉM'¿D‚GÃÜ¿M?6M”»ÞS?Ô¸U³Î&?¸ð{¡+3 ¿Ú–ðe>Ö?àé¾.5¿4žÆV´+?ÃØ^ªµ!?¡PùmË'0?Ñ'{Ègÿ>%<ñ@#¿¤OD§A?TkOŒâ¼â¾œ+ÌA(?ÆÜ„è¾fSˆX?*8°äi ?–,FE£Ó><€þ}H)é>`.°ÖU4Ô¾¾’ì/Lø>ø³$€o?I Sû\E¤¾€ö`¨ /Û¾щiŒ¿>•_²óê㾬1%aòÒ>2¨žÄu>¢T»^Kà>D‚‡®ª>³czézϾõñÖ¤>ø&‚Â*GZ¾Ð§Î##1Ö>¿´’>•¾·U/2[´º>ÐÅuBø¸>1•‚ïö&¾üµ6²zàŒ>—Axͱ¾îý¾/½¤>nüp#­>¬oujñ¾‡WkzŒ¾)‘r¢y"m>Ì»[Ñ3葾Ð2»×~>uZ!5/ö½ÿÛš¯yNŽ>lº,lªW>;Ô=µ> {¾¡Bõ{hO>É·#Zˆ=Û— ¦.„>ýŽV3ËC¾íøç:K-h>íÞM'o²f>L»ö”6"³½§Kbo 4>‚p.¾;0¾Ò娦ÈR>FQÙ®Z>%ìè#Ç´v=Ù”¥~O:¾­0ónHg>| ¨Ž¶@¾{4›- ,>}v@5f½µŸlL£<>¡u4BÊÐ>[NªMÀã+¾A••é0>C­Ôö›¥7=› χ3>±u5ø½~9ɰ{>¿B2x…>fÕ깂½µ³½úÇøý=Ó˜2%*i?Hp«×O7Á¿“¨p BE¶?…ƒâ ³¿Úr 㟶?5šA~žiQ?ŠF2Îd?œÖ‹ñE?·™C$;°¿ú§ 2ïŠ?k?ˆšÍ7@?údû}ŽÍh¿‘±¶MšI*?Q)¥‚@p¿e˜»I#ÍV?¦ò@¦_ ¿ Dæ}ôó4?}[ÙP Õ#?-)Q÷"¿`l˜R43ú¾1 Ÿƒiã>¹°¿?Lû ¿JH€G¶>Ä P‰ñʾVÿ00ý>Þ§®Åº¾ú–ûv}â>¨å”ÂðÒ>µÐÖ+aV>ÓB鉽¾;€¯e‘>“þɆèw¸¾ýpäëZÍo¾•›j³Å<>ÉŸRé«>“{vªÐog¾r\]Âgb>?$T²g>d·£¼žaü=i©~l®0p¾åËÌÇ—ä?>™ŠéUà9f¾ dºˆvÿ$¾i¿-îÌÛ±=*ïÑVZ>gà¶k¾ü‹žõH?>NÙ{˜eˆ0>è®øˆ[=ÎYEC2¾wÕ£sˆU¿/Û‚³ßàh?~*ø§¿²ò"ò©¿¿¿ÑëyóK¦²¿Læë´•? ´`HÔ?{}èPó:? kã¦Ö7_¿†DB¢üd?½@ˆ¡…õ>-ÚÓHl ¿Ô}yΈ-?!/›!¼þ¾O¥¹+–,+??·[Wyº¾0öÓ¢¼çæ>éD& d@ö>¦Gç  Ÿ£>8nó[†é>›|Qß#!‘>Lõ¶²›½¾2€4sˆË>k€ÂÛ7«w>”œ·&.÷Å>lƒ™›™íd¾ qDÇ >’>µ‹»¦û±¢>DŒ yÁ6>E àö„®š>ÁócË.$:>$¦—W g¾~gDGz>Éž6Rwûë=×|Bòßo>ׇÐã6¾ 3WÒ;>>”Ã8ýíN>$#q•–=«œƒ¹¤!K>­`WH¤•ç=®ËI«ø¾$?ð,')>s¤cò¼âò±,>]^}¨»½ÃÍÑÖu±ë= )ë6d>èˆ[ƒs º<ÔÁŸ«¸½=áH ¬k÷ë=™P½üM#¾ ºÞ”šé½Ä‰vLèô<Ð Û\±>ÜÒÄå²â?m’>›Æ »¿Råó”°:§¿ÔQ†Ò‰Â?!ã=¹Àë?2Rã|gû‚?NGé »Œ¿Ín; e4?§j¶FANK?<ͲúºèE¿%œ“µXö>(¤¾&Eò>­Ç²,¦¿ïúajОޒÐd†Ç>Tù®!g´>¥kw N˜> Æ>”@¿“¾!8¼{4”¾9b¦KMp¾-m)ÛÊh>È „žÙùi>ýð7æÁD>˜È|âB´@¾ÙHÙ\@¾ü'ؾè-t餥>CõyÂÄ>¾ÌâžûÑõ=pÐd:ÒÀñ½øÃºB½ñ½îƒŽp€Ó >vÝÿyr»¿ÊqA ‰Í? äg.п±×'–¨ÂÞ¿‚™»q®É¿9[Ñ $˜?æsò€X%¹¿ÅÂV™iš?R¡«öE´¤?ñ⮨¹? dZÿÉ‚M?:cǂݺv¿·”ðò£pa? ×Qê©ü¿hHÓ8“Ž‚?9hh þ}4¿È3M…R `?å¾Ì ·ìT?ÊÙ= Îb¿~ŠòÐ_?v•JˆÉM'¿-œê¼Ü¿M?©Â ºÞS?!Q"£Î&¿ìì•+3 ¿’ªO>Ö?Ñn@ܾ.5¿ìbF¿V´+?%¢¬µ!¿$;1bË'0?S^ØrÈgÿ>"[j<#¿JªU§A?K<ã“â¼â>]¨!ÌA(?*"üƒ辇òˆX?4jßi ?[41>E£Ó¾žDcH)é>-z_ÏU4Ô¾ÆÛÅ'Lø>Sr¦€o?ĪÞû\E¤>;Ò» /Û¾h*yiŒ¿>Cîk¨óêã¾X! aòÒ>–‘yu¾{KƱ^Kà>;3í|®ª>‰‚ånézϾ£ÍÖ¤>$¦0GZ>ýò#1Ö>x¾y5•¾,z‡'[´º>d8ø¸>ïs^¸ðö&>0±zàŒ>4€çqͱ¾f ­·/½¤>”‰Ùe#­>ãúÙ¯ò>vgÐ^zŒ¾;á̘y"m>8T:Ë3葾òr˳×~>§ äýX/ö=ðº£yNŽ>Œ±£$lªW>¥ÑM­> {¾8(uhO>îôW wˆ½‘‰Ÿ.„>d\ÿ2ËC¾ç)3K-h>€o²f>z9–á!³=Xwþo 4>–ƒ·;0¾jœ.¥¦ÈR>S5Ê Ù®Z>¦™†ýª¶v½q•Ê‚~O:¾ìw YHg>`L€žŽ¶@¾Þ‚ ,>ú¡óóf=Ù»éN£<>^€5nÊÐ>»™¨SÀã+¾ÄËêQé0>ç'ä _Ž7½aupÙ‡3><úÈ5ø½ö;œ {>Iz lx…>¯hd›¢º=^òQÙÉøý=Ïf*i?.ÛþÓO7Á¿õŸ”BE¶??÷ß ³?VŠŸ㟶?Jû⥞iQ?&DíÝ1Îd?Í vñE?Ú$F$;°?ºæÖ'2ïŠ?H‹«•Í7@?z›¿wŽÍh¿3çyšI*?ÚI&„@p?ƒm5?#ÍV?Rkš™_ ¿p¢Huôó4?ç$)E Õ#?]ÍR÷"?Ò?ö!43ú¾‡[$ziã>HÄë1Lû ¿^0aÎG¶>—{þ|ñÊ>E2ó/0ý>ñ7٤ź¾h›üôv}â>Ì{ÍŒÂðÒ>ïêš$aV¾ c×l鉽¾é㥨e‘>7¨¯}èw¸¾Ó­ZÄZÍo¾áJ%i¶Å<¾àx“Ré«>¹ˆ)¥Ðog¾Œ,½gb>ê§M²g>ž»Úï¿aü½›€‹e®0p¾®±¼»—ä?>$õ6Mà9f¾›mªOvÿ$¾TŽpprÛ±½€ÓZÆVZ>¬"êÖ¶k¾ª£ì–õH?>êï§eˆ0>‡dù[½Í×rŸC2¾p·û¦sˆU¿öS'½ßàh?O-ø§¿Rصõ©¿¿?©–$íK¦²¿E¸Öð´•?+ý3Ô?ÆP·ò:?OϪªÖ7_?;[¹ýàGl ¿Gºˆ-?3³¼”!¼þ>Í£YB–,+?>‚ Lyº¾¥p¡™¼çæ>T7Äöc@ö>÷ûá Ÿ£¾Et_†é>¨ÄØ#!‘>]伫²›½¾Î–ð+sˆË>GXD>«w¾Ï"=".÷Å>þe™™íd¾;Ø;à >’>ÂÞ¢û±¢>á<Å6¾ÿÍæ„®š>f%Ù¨.$:>HëAO g¾ík»;Gz>×RþÉûë½s¼6òßo>ö‹‚6¾Ñ0§Å;>> o.ýíN>*TäÛV–½Ž±d¯¤!K>ç„Ýþ¤•ç=«}¦‹«ø¾@{sÞ')>7µA`àKò<²_…²,>wXP|y¨»½#v©Øo±ë=)åŸå6d>ŽênìK®Ç¼è±"¡¬¸½=û]&fg÷ë=í“þVM#¾Ô¦Œä—é½¹Àš í˜õ¼$Á“%±>m’>›Æ »¿íÓ3è²â?ڰ߄҉Â?ÿ1–°:§¿¸jRµÀë?ØÂé »Œ¿>3ƒgû‚?ôë¡e4?ɘ2þºèE¿Ïd¿IANK?ac5 µXö>G_ï,¦¿ÝÊÉ&Eò>߸vО”ø!g´>" ÚÑd†Ç>|9ò N˜>c-¢ç{4”¾ÚD[@¿“¾‚ÆýKMp¾Å°îCÚùi>S)vÚÊh>øÀF æÁD>áZW•\@¾a,9C´@¾âOFؾ­e=ÓÁÄ>é^Ѥ¥>Yº)ÐûÑõ=þ.=^D½ñ½ïÞµÑÀñ½¢úpdÓ >­9 8È/˜?~âß¾/:¹¿$'ÖQqÀ¿ŒÖü§¬¿ø%û\¯Š?T¥!ÿ-‡?eÏ×j›¦©¿^V©FˆÀ0?~"OóBm¿ðÖ”Œ¯^¢?)“Ȥá¡H?À©’6Cp¿öɯüzY?ßÝ¡-‘?ým'Ép¨‚?›´xð“@¿x_y:Íãb?öÏ&‚c?@øâíÿ¦)¿adtÕj??É Øà` .¿–±Ôÿ†Q?5wšjóV?þx9ûÄfå>qÒ1J\6¿e {G§? 1é÷ç\@¿ÑeÛ¹®[&?f~› ß¾Êx±o1?Œ¥ÊWÓS&¿¶qeºžõ>Léyaž¬>C¨.ö×r0?•3‘”Að¾kº¬ÿ¯?ÒÍ1 „?ÞU;C¬Ž„¾T-+X5Ç©Ú+Ù¾¬ Cfê#ý>£[-Ï{÷?ò2+d>ÀÅßŦæ¾[™ºœZÅ>uïrB+ºé¾ p©}TÓ>Ùùž2,»'>š è)dæ>·i‹uˆ°>UÂ¨Š´Ó¾z(´ÏX >c€p«{‹>NG†‚}ŠÜ>X¢öõaœ¾våuì Á>‡P¾±À>‚SÚ)ÿ=ÌÖàÅÖÆ}>æYEÑ…¾e!µ(g(©>e½psÓI²>“ÞžÆTŒ=ØuŸÖÃj”¾SÉ|<¶Úr>߯ z»”–¾ÕceqOs€>ë¨ÛÓ‰¤¼=2ªÛ§˜À“>SHcÄY]>ò‚4Û¹€¾\aP xK>$‚ôœÝ<|½—˜ž=b@‰>¡n y!=I¾Y ú 3n>mE^a_Šl>T ù+q=ÍX÷¸Ø)>r…Ý…œ¥3¾¾Íüy ªV>ì:‰œÿt`>©ÅÁçB–@½Ùå"÷>ÙA¾- ì»…5!>§»ÿ¾"¦D¾@‡N^Rš/>ͱ›G§®=óPu$·A>1æ/M´Í >ýQk±’º0¾êÅIw# >¢ëâ5üö¼UbÂ¥U7>Ã0À'oý½ÞÌ&)O >–Á2°™¡>Ö_ÅW0Rª<ÝA¹ï:>ÿ=ê8o@4}±¿‚± (³Q¾?aMºé4Ñ?<ÚDj•Ià?qД¬¶pÑ?ÌìmLgq¿ÓyÚAûƒ•?„ß—d –?†'{¼Ñ÷i?×ù6fšv¿`³6Ø_®yrÆŒò¿b«{b=:?Ïû„îË-?%£»oÜ>…ð%1 >¿]`ÕjVŸé>, ò8]¼¿" ”y‡Ù¾7>:rˆp>` ôxo¸?ÙÞ ièÅÀ¾`&²,í ç>5"1×”„Ù>"%¢’W>¾[ü†¸Ë¾£—@‡Ñ=–>m¼³š¾¾Ã¹(¢h‰¾y¸O_W6¾·‚°­#³>Ш-Ê£m¾YϪ`]”>P6½³ï¦†>íÜ›»€»½ýf0T 6y¾q˜þÀòC>‹÷5Gjk¾> ZÍÅó5¾:˜Öwh½’ñÇÁa>ÿ+ü§¤¾‹PóKC>hb­§Ñ4>Ú8ÛºERé¼(õ[ Ã#¾fjÂK¯`¿ÆéZfqLy? 퀆ÿ¢?sžô²È²š?ɲ)·]¦¯¿£Ü˜ÍÅ&¿ Õ¸^EŸO?™ƒ•™[Ð`? w]«…-?³0/ui{,?š""h¨â>¬é ¡O¿*x˜î‚Ê#?ѽœí+Y£>ê·Ñ‹?VQ±P©8¸¾°cävÑæ>ÈP'U›²ö>>û½ ®‚¾ß7•0ø>ꊉ›°>ˆ—Yt¦«½¾v÷«^¤Ó>[7ÉB¾iÔ­«Â>€|[Hêd¾-NôŸþÎ’>£i£F£>,å$ž÷ø½ÅŒL£9¥>#¶ìh;>$í”ò´h¾/=?`Ç>jP™4P諒øÖè+l>H œÏ2Z¾õ(êö.@>вä1¤P>WØó—æ.½Úrj&}S>®c!$Aíé=Œ."Y¾ /„ ³R0>?MC 6:=v ”n{l>àÎß( ½¿½;¦—®áï=;T2í½$>½w#…âÀ<Õ]’¼;Ç=Ñçƒ û¬ð=•8TK:ྖš)A,fñ½ÈKØ.}ÛÀ<,Šùú>Råó”°:§¿Ú°ß„Ò‰Â?ÀÌÁoàœá?Ÿšmr¼Ä¿½”¿"#›a¿½‘t¢%c¿_ÔÖ28¿^÷[ ÒÌ¿”æ‘ Óô>.<ؘé?€ûg@»Âî¾RÀàÔç¾Ôm øÒþ(·’ã8¿>qŽÅ;; À>6!·ö›>_¥ýÁrU”¾Dœ (v”¾–ÉZ½q¾˜ˆ•Îj>ñ§î±j>Yâ–¹,®F>@»6XWÊA¾OÓÌ;ÐA¾#ƒª\ ¾á½V¿˜ä>ÇK] ã>è§š¤,ù=ˆkðÇ‹ó½iP¨ØÞ‹ó½·´5†>¶> †4È/˜?q!8¿/:¹¿TAQqÀ¿ÈÔü§¬?8{d¯Š?´Í|ÿ-‡?Ë›ôj›¦©¿6¾Øö‡À0?Æ*óBm?iU‹¯^¢?­êÞŸá¡H?`O56Cp¿#ž^²üzY?ÚâW-‘¿¡»lÇp¨‚?Ý_Ûvð“@¿Uº=9Íãb?\Bq&‚c?+‰Uêÿ¦)?ÓÌzÕj??ÖLÞ` .¿ri‘Òÿ†Q?˜Ï?˜jóV?êSwÿÄfå¾ôAa.J\6¿Í´‚G§?AÆÜöç\@¿ÿ…ÿ¹®[&?Çฟ ß>so1?†nVÓS&¿Í«yfºžõ>®[Baž¬¾’f0õ×r0?„n”Að¾(Q«ÿ¯?lÀ0 „?w[a­Ž„>©([DNˆØ>$ ¨Ú+Ù¾nä eê#ý>.–*Î{÷?’É÷§+d¾«H ÝŦæ¾L§q¹œZÅ>ˆZA+ºé¾¶z}TÓ>EóGµBº'¾Ð kç)dæ>(Ίuˆ°>›ëŠ´Ó¾öü´ÏX >íÉLý‹¾-\`}ŠÜ>{æôõaœ¾å Fuì Á>ܽ±À>Cƒ«þë)ÿ½„ ËÖÆ}>xåâXEÑ…¾ŒEî'g(©>‡ÍrÓI²>‡^ZË%LŒ½ÒÕÃj”¾Û"ú;¶Úr>²n?y»”–¾J±ˆpOs€>ºãc P¢¼½£Ù?§˜À“>cÃY]>­º43Û¹€¾ç± xK>ÿömpf=|=>cG=b@‰>¥6}!=I¾ÝT¬¢3n>aKôa_Šl>†ز 0q½ì™Ø)> YÁœ¥3¾”Kîv ªV>I œÿt`>¾tìnwˆ@=»ˆû>ÙA¾‡À…5!>„Œµº"¦D¾Ë=PRš/>r¦áG!¯½!iˆx$·A>½=´Í >©ß-¢’º0¾ý‘ Öv# >¾€³ë”÷<ú ¥U7>l˜Èr(oý½{Õ$WO > Èõ²™¡>©…° Fª< GB®9>ÿ=MýA4}±¿«æ ,³Q¾?ý–é4Ñ?\²j•Ià¿J ·¬¶pÑ?~ÛKgq¿• M@ûƒ•?*‹—d –?†ÎνÑ÷i¿½Yašv¿íÖ_®¿L ŸiVŸé>~98]¼¿¨r*y‡Ù¾¥¢¯sˆp¾•¨´wo¸?øÊãhèÅÀ¾óÂ+í ç>-ó÷Õ”„Ù>ÿRr¿·>>âu¢†¸Ë¾D¡:†Ñ=–>>©¸²š¾¾”´Œ$¢h‰¾ɱE6>t¢¯­#³>ªê½0Ê£m¾"Û©`]”>Z¨1³ï¦†>l€6ú9~»=0ycS 6y¾ì¹@ÅòC> 988Gjk¾cDÒÅó5¾Kãdk„h=ÈŸ¼ÈÁa>Ð5Ôñ§¤¾*üDC>!O[œ§Ñ4>ª4f€›-ê<»Ã¶Z Ã#¾G“…K¯`¿— lqLy?VH3€†ÿ¢?}È±È²š¿€ õ´]¦¯¿»9#˜ÍÅ&¿v*ô^EŸO?Øÿ!™[Ð`?]–¦…-¿8:¯ki{,?S×h¨â>ÜÉ÷ O¿y=Mí‚Ê#?!)–,Y£¾<ÖýЋ?ȹQQ©8¸¾up3wÑæ>¾’mU›²ö>Ðû¶­‚>LyÇ’0ø>ý~Ûˆ›°>E†t¦«½¾ì}]¤Ó>„Ð[€ëÈB>ÁGÔ­«Â>#U@]Hêd¾ôRºŸþÎ’>Ì^F£>ßÿÙíj÷ø=”›¢9¥>-£ùëh;>ÌV’ò´h¾¼Ñ `Ç>“TÄè¥=‘Àç+l>ÿžêy2Z¾:ÕÆø.@>Bßx0¤P>L)¤«0=˜Fl&}S>«î,ŠBíé=^–e"Y¾†­ü³R0>>NÜŠA½Æ¡°{l>jcg%½¿½Lü}²áï=7“e޾$>À~Eë˼1ãï´;Ç=_Wû ý¬ð=‡| Û:྆)ª±,fñ½õ«ƒP…ɼkÑxrû>ÔQ†Ò‰Â?ÿ1–°:§¿Ÿšmr¼Ä¿ƒhoàœá?ª~§"#›a¿æ•vÖ28¿ìÿs¢%c¿3ï ÒÌ¿šåŸ‡é?hÓ7[Óô>EJ6Ó<ú>IÙ–àÔç¾Öò*8»Âî¾?œ øÒþ†yì0; À>Üí_©ã8¿>á”O·ö›>(5r(v”¾Ð½\rU”¾2@ÅÉZ½q¾Ði4bž±j>¬-¶C”Îj>.žF¹,®F>kOÅ:ÐA¾Fžx£WÊA¾þÇ» ¾V»ƒb ã>¨)p,™ä>¡mO*¤,ù=6ô–ß‹ó½óå®vÇ‹ó½?Mÿ³>¶>º€v%'s?tZøe(0‹¿K÷uØ öa¿Z·é%™½Iñ™ï?“¿¡ãš¶úœ?qÌU¹8¹¿7?ñÞçd¾?rÓƒ‘Ô½$ÓçT0r‘?=î`síš?±cXº¿õËÚÖ#a¸?±G}Ù,Ä= ÿL«ð½?ŒDP$R‘?¿¢Õ XJ±¿)¥q_¹¢Ÿ¿B €/½Æ½á[ qè”?}êñ X{B?Vç!wNti¿Sü«°ï݉¿#ïëpH塽_-Éÿug?^¬Ypk)@¿Ÿ˜PÜ”Š\?«´³‡¢0E¿¼ã*T9ˆ=šS:7³c¿¼Ù ò± 0¿E½q,R?£,¸ÙÚò>~¥Ï _T½8m)>wV¿sì‡T¯ ?*R¤•™C¿ì@QßA¿é'dàCb½”åø¶Ý?5úÄ ‚e?’’`zy?#¿©:Z1cÅ-¿'ó/‚?ù1=ò ­fD3?/F8q”ï¾þi„kþï?­ã{=W@ò¾`A®â¨m½ƒ¸åx7®¿gÛžæôÔ¾{ú&wU÷>×,Mëm¾ë|éJ½Ë\Ú¦¿©à öÐ Ã>qQ ÷Èå¾H±G‡ý來KxyU*=x<={¼¾¬>$ó3`©>ED'¬¶v̾šn‚§tÕ¾ãƒ!T탽҃d/o“½>¨ÆzäÝt—¾EôÆÛòº>cIîÇÿ›¾ŸR¼Eî½`9Ä9ö¸¾Â,£Lª”¾Ï)‰½¬¡>œW†<¢G¾°³ÿöŠÒ¼xˆ¿CI¬¾±Q¾ m>ÙæI6K¹¾ËôSB›ý¾¹‚] 2Æ<æRŸÉN>H]4T>GãÌΉv¾_ï¥Üô€¾B݃TÂ<7÷*Т+f>N†3•˜wB¾Â@‘8¸be>g„q¼)H¾þÈá 7Cq¼éKumÍOc¾ økvr+¾=7fk$O>fÊØ¢—.¾mˆvnuŒ¼°A9°³V¾Ññ=íð>J׉`>>¾N,Žë ;¾¯Ϊ·…¡<9޲c#{ ¾]*i€A¿ÓÙ䍿c?n‹oc"X?³\9¡dl’=ð6÷Û ?´†ÔçŸÍµ¿ôjãVƒÉ?väñ_gß¿Ã;;þ ?˽)WAXvÏÏ¿}nm€·‚¿ou‚áhA¦?¬EQÕr?§ß …EνÿÜÖœ‘§¿uq TÔ:? ꣣¸Á`¿üÀñäݨU¿ÃŒÇSçÉi½VyæÞ"T?2Cß@¿°.³^»Á7?Gø ?…×áp³W=W¢Ù†åB2¿8Š06ç>­£n»º¿[Ü, K…¿Ö,µ {½P–‚ü>f0Ÿ×U»¾àRTâ>[Í…`À>ËŠß`xê¼%Ä~Å8Ú¾Tõe´‘>«Ã%JŸ–¶¾îe¡hth«¾žÆ1håÔ=}“ÇÏ£> }ʪ”pe¾’H`z‘Œ>H&Hßszf>ÇäI'ã¼ó—÷0„¾’;œÍˆ«;>——'J)Œb¾ŽåéVóîU¾»W oW€¤¼4®¢Ò©K>é¶RÈõ[l¿xûyh­l?ŨÛk®Ç¿›êØežÔæ=ÌGâM³?Èbq±Óz¿¯‹´Ž•?/‡Ç&83·?a´SO€Ò¤=_ÚAî²ÉÀ¿½¢b4Ì8¿È¹SRf _?®‘öŽo)¿Ä^•³ác½vÝZD¤t¿ <„!,Ⱦ;#X¤ú¯Û>ؼBHç`s>[²LxŽËc=ŒF\¯&¿z'„ã`£¾ˆÌѸCÕ>(äíqùÿ¾Ÿ¬ð¸y=7–†@WmʾÊȺ >1Ó¯¾H{|ÕN þñãi¬¼=É<Äpõ˜è¸Î¾PÀ¾ÞR¾™Gƒ5êu‚>_†bx¦¾ @6:›=IE¥¾ƒJx¾¦’Á}M*>QÇ«£^ëX¾; ÒðU¹j¾ÜR»¶lä𼙚çšDy¾º/A§qP¾2Y2wFF1>@?‚òèQ¾Ñò;Åî°¼Pë Þ¯*¾‰F°¯Ø=Åòxb¿! ¾mSs r$¾[Ò>rG…<œOlËÐØô½8ÀEЈ ¾§Šq”Ø»4>Âò€l‰>y²•U†œ¼˜KËù½ÿ5¾!ã=¹Àë?¸jRµÀë?½”¿"#›a¿ª~§"#›a¿/ _W¢!ß?ž¡Êú°?ÜÕÊú°?˜Ã’é°Š¿J¤†¯úO¿/ƒ8‘¯úO¿i5Kà”53¿ÖX­& ;Ï>³k ;Ï>/$œüY‚?Q›“ñá¾›`ó¤“ñá¾b—N×ÝC¹¾”ö(C¨é«>–ºÒ¦é«>±û!^›®—>%¥ŸkL-ƒ¾šeyK-ƒ¾»áð‚Õi¾o^XI”Y>KšçI”Y>éše%Bç>>? ¶°Ýt1¾“A&÷Ýt1¾Ž…ãã¾äK±òÑ >_¤ôÚÑ >N›ãÜö-¾õÊ'o–¸5?è»”«|f¿êûúæ0¿ ˜çXê…?%—»jšq?uî%þv?GW W”¿ÌmÞ‚ ‰?âZªËfû¯¿;nɱ¼–¿äÔ.©Cb»¿ý~êJÎ?ÐØË´Ñ?ÉDRýÞ?…–аÃ*Å? `‹¨“?К#ŽƒÃ³¿­4²RO‚µ¿X×ÔJl¥¿sÀPâ~?¿îýˆª?±?Šn7Y¿J.¬/ZQh¿ð:æ/l‚?Š5¦}h<¿Ï-¦Åè?‘¢¼F—z¿Èªï¸~×U¿CN¬ÄÂa?MZ¾"S?š†'F¦ 꾭çïÿ!?ÅöÍÙþp(¿¸[oša?Bÿ;Ð ¿>Fo6Qé¾¹OË‚Ætõ>£ó9/È‹÷>k—Ûão!?rkK¥Ú¿ç©9ÿ’©Â>êh=<|ñ¾/[¶Û¾Ÿµ¾š) ¸á¾fçx ‘ó¾]™£]N†›>þ%Ý¢ÒŒÄ>;ÄSΠbà¾@ÑŠÙê7Ô>T¼iÅ>^)Sþ2E¾v[Üʽ>1@ž¸|%Á¾õà€Rûø£¾rÒÁDH t> d¶«.@w¾Õ89%}Rg¾tÞk‘~>^k×~Èx>ÜOp"Œ²¾Î» eUÃb>¸TîÖh¾Ãû1œx¾¦Mì9[¾ 4¹»C¾±nNGEnA>¨õÙ®S>‘<¹Ø#Þ€¾ÖcÆåÉ"¾ËOXïÇÈh>R æ7¾3‰?»dc>³"gV·cb¾±}Ü‘¾ð@ZiF>¾r½P”+¾§Îôë3¾Ì‡º‡ý\!¾V/š8¸õ½ÎYÏYàR¾ªFᤇ>DäJ9¾ ÓÌ,1¾"×èZÍl=—qŽ®ö­.¾Õˆ"s&Ľd¦ˆ~,Ð>¦v­&¾ú º«L5´½-&¢\¢×=ÂçøA“•ê½ÉUyÅ>Ñì.¸Œ¾ÿ‚’Fv= üd^GÒ ¾%¤ËÕìÕ=m4#`¾á†tq‡ˆî½²4è†Ü£q½Ô¾ðÿÆaL¿ñÞ…ø9r?]Aä K¿d­û{%Tj¿Ì$ÈJAx¿÷%Dv²$“?·&")öδ¿k¢ ®‹zœ¿7¤ÄÝÜÉ¿½ãœeeµ¿ù¯»í¸f?Èv?¶|¿Ä_˜»We¿Eý˜™°¿|˜šKgûr?Ú•â%I$?¼0t‰ÌxR¿†¡ÆÅjû4¿´‡ìIp¿bŽcÂUJ/¿³€ûàRص>ø·ËÄÀê>}±Ü• ¿;¡N%Ô#¿"ðAA?‘Ç "nr¾EéÚ•‘¿¾¯nÙÆ¸è¼>â:Ã3§¶Í¾„<6y™Þ¾–Ù–þL" ¾~jmU‚’>5>•KE¨¾—–ÃB5D> ÷™®W >„ 6Aa>¢Æ½d¾+Q”×¢2\> ÐÙEÞ;>.^'ü|¾ Y £¾8m*?>¬Ò©ß;J¾-»«¡Åü=ÂC:ú°†sËìé=:mìŽØW¾ ]5*ú¾=X—Ì^×ß²=¥È¹m…美A»ž±.?Í!6%TyD¿R¼ýi! r¿ùäk“¼?)¦ØÉØrq?*+ZÔn¼T¿§, éi?κÀÊx±??F;ŠgÀ¿Ncå›C{C¿L±æ18 ?ÀApÁÑ0¿DBÓi[¿ÖÂsdÖ$^¿À:L©I?P¿(ùùê>ç‚¥F`D¿×_v v¿Ù¢ÖÌÓ»ý¾}j/>‡£?¼hƒäCŸ¾P‚zêæŽÈ>Œ-ŽâÎ>UAÅnbÏ¡>ØÈ]É2ܾÖvVÏr>‡/÷@@¾éŒðk°û¬¾ô_gnÏv>'<–È\ ©>ðÒ É>C¾ë§žH]Ùm>þKW˜Ý!p>I×/~šú5>çQZzýƒ¾"m4nVÅ>b@ .QM?¾¶SùØÓQ¾ª×Ò¤Eí==­¦AM>x.°šÉ潈Md·<>T!”\Ôæ>=>m½P©›="–²f­§'¾"¼.}ôI¶çü>Yð–o¿¤×(z•O¨¾°JN’¿·>ä¨,°S“¾Bü†D©p>›c_D&mo¾UV:r˵r¾!Ù1¦ðñH¾µÎ††µ@>…—T¥é9E>$Xe&4þ>#Ь„¾]Xz»þ¾¾¬H½ð¬¨í½Yœ´þî=ÝsÏ$ð=è¿BcÑtð½Yª}–¸5?º‘˜°«|f¿O§5 ç0¿»¢Xê…¿`ðp¬jšq?'ý\#þv?<Âv W”¿ õÙ‚ ‰?´ÅˆÏfû¯? %‘Ʊ¼–¿jS¥Cb»¿.öHêJÎ?ެ²ØË´Ñ?áñ}üÞ¿?»°Ã*Å?cÌŒ¨“?óð‹ƒÃ³¿ˆÁ¼TO‚µ¿y„ÕJl¥?Õ4äÆPâ~?L-ýˆª?8³±Ž7Y¿0£HZQh¿Û/Úæ/l‚¿¦(b8}h<¿Àtè?£fV»•z¿mè•À~×U¿Ñº«ÄÂa¿§h "S?Ž]¨ž¦ ê¾éPþ³ïÿ!?Ò8›Ìþp(¿'À0¡a¿î)»Ñ ¿ìs_36Qé¾fPƒõÅtõ>É?È‹÷>é‰Ûão!¿‡ž„¥Ú¿l’˜“©Â>l'(p<|ñ¾Ò éëÄŸµ¾¥þܵá> žX ‘ó¾GÊ›J†›>Œ„EáÔŒÄ>~Îë bà¾'D2ëê7Ô¾ÅwÞŠ¯Å>— ~ò4E¾;YÅòʽ>J ¸|%Á¾¼_T$ûø£>= õO+ t>Có,@w¾äÙŒRg¾¦ý؉~>¹ÊØŽÈx¾ßÎ"Œ²¾Ìƒ —VÃb>l¹gš×h¾³&¯9 œx¾/iƒD;[>‹ üb»C¾Ð#¯CnA>øKE°S><šÓÿ#Þ€¾š‰fÉ">y ŸÅÈh>׺öÇæ7¾8zî»dc>Ý$^·cb¾úíÉà‘>S›ksF>¾WÜ—+¾îñ’ë3¾òúW‘]!¾ësˆä?¸õ=bøÃYàR¾šáŸö¥‡> .2L9¾ õ`Î,1¾òÐV&ÅÏl½¤Å „õ­.¾èc &ĽŠ“.Ð>“ W\­&¾;¬ vP5´=ë'­=¢×=Ú‘ᔕê½b¦"èyÅ>É€ ¾ò÷,ßFv½\ŽQIÒ ¾|þð½ÖìÕ= ¡Új#`¾·'üŠˆî½–º(£q=“Ü‹”¾ VÅaL¿ 3†ø9r?-kïŽä K¿¸{µ‚%Tj?íÕ¢ðIAx¿ ëlx²$“?F¸¨+öδ¿¡òº­‹zœ¿¹ÓâÜÉ?åè ieµ¿š4î°í¸f?ßN÷>¶|¿pî¸We¿¼Z¿˜°?bW’=gûr?`6W &I$?pj¦£ÌxR¿ Ìkû4¿%IJp?s¾’]UJ/¿µ””pOص>Xæµ_ÇÀê> ÑŠÜ• ¿f0%Ô#?_ëĪœA?¸±hfr¾Ž¼’˜‘¿¾ ¼¯ ·è¼>Œ|Ôõ§¶Í>ñsv3™Þ¾þ´:/÷" ¾m!áV‚’>|0eKE¨¾Y/l>5D¾LZêõ­W >Ú'a>yZHÖ½d¾Æ?U[ 2\>³REÞ;¾wÝìê&ü|¾6´L£¾ˆ÷é”o*?>® t©;J¾[Uà¤Åü½Á!nRÃ=>où”ÄÏìé=OFÕÚW¾¢°b¼ù¾=ÇxrÔß²½W¸wã„ç¾ÔΜ±.?Bï&TyD¿sÚ‘n! r¿ø•“¼¿(A`ÉØrq?:ÃÊÖn¼T¿Ó%éi?ÂÔÌx±?Ð)ø:ŠgÀ?£ôD{C¿°„ã18 ?;yejÁÑ0¿° §^Ói[¿ªbÖ$^?ƒ}÷tL©I?¯pc:ùùê>‡[T`D¿'¤ñ v¿÷À{ÌÓ»ý>.B¯o‡£?ÕL*DŸ¾óS„çŽÈ>çØqâÎ>ªôaŒcÏ¡¾ÆøH›2ܾ&?—‘VÏr> S,A@¾ü™°û¬¾GbÊmÏv¾CggR\ ©>†Ú¡è>C¾*ƒŸ„]Ùm>ÁÞ.Ý!p>nY’šú5¾*Dpzýƒ¾94½‰VÅ>±ÚŽQM?¾Ãÿ†ÙÓQ¾ÅQ«Eí½ÒÌ#AM>¸.S®Êæ½\”v‘·<>òøˆÃÑæ>TЩ›½ ÷6‹­§'¾AÕ£\n±=|($¶Ì¹à½½ FÄ~ë½×I«)zZ½KÞ,/•È="Ísç»Ó½…å4vp‘ÿ= ™jÑn‚â½.í–Ðùb½i]D".¯ö½NGé »Œ¿>3ƒgû‚?_ÔÖ28¿ìÿs¢%c¿ÜÕÊú°?í)e‡*¥Á¿ "[ vdâ?M±…ÙíYy?ó0Æs²[‹¿f_æT{„?}0Ð" 7?ÝhÇ@LH¿Ñ/d&©ëI?Œ?_Aдà>3#'žo¿aæ9;¶çü>?2Í•O¨¾û. аS“¾áiúà’¿·>Õ«!D©p>î´:™Ëµr¾lÝL&mo¾}ý3ññH¾²±K©é9E>Ò]ÜÆ†µ@>[ÿ´^4þ>¡˜>ãþ¾¾˜©éø¬„¾×Ò.­¨í½®Q'Ü$ð={–þß´þî=’þ…Ðtð½ºPCÐä^ü¾ ‰Bõÿ¿³–(Í®w<¿öÌ%k =A?¿¬=^3¿YSBMFV?všN—¾u¿ƒB–hVx?s´ÆÚö =!C ñ7s¿Ú¨Wu?2¬ÄGÑn¿Úˆsí“?[;}i˦½¢”ÚH®b¿µ¸XŒSœ?Û+–bŒ¸¿øqC™%*ª¿?F\·Ó½šÉz'Äz»¿‹«Bš?ááµGw乿†È¦„ZØÁ¿D­kV÷ˆÉ=UN˜køp«¿X?Z(c‘?#%]X±¿z]„’°5€¿œ¯v«Õ=‡<+íO¢?K™™íøõB?–’Í£†j¿Y±ãÙ%%Y?±=·80k‘½¯ÃâÞY‹?­©ŒR@¿Îéÿ9™\?hEÔþ›d?4Òk/â`h=þO‰¿¿-¿ûùÍ×í0¿UªÀvR?R!n ¬cU? CÏ“s½¹“ Ù @¿®'Õ8!?g»þÖÿC¿á1[|¦)?UNÃÞ–˜=ñØv=•B?ÿºcûp§?nÎW§L#¿“e¢\]Å´¾ã±µ€iÿu=x¿m÷Ï0?’tæ˜ð¾‰àX>i;?!?’Œ?ÉïÐë„V½öíYÉ-Ö¾{ºhû$HÕ¾-äü÷ ©÷>Ã:Týè?ÆÁ…>iD=ö9ûDé¾tAö¾kÃ>$r%ƒ,æ¾@6=;,GÅ>ć?Ÿ*™1=¯uêĺÈä>ýÖÚ×qò©>o£Ýî̾*Í~”Óh>Ñ•ùÞ1=ƒeoXÂ×>rè_6Þð—¾>ÝÇ+|»>öÓÔ<¿Eº>æñ׫伭&¾—Oª¾`8Ó6€¾hX@ªû'¢>xsc‹Y«>U&ÿ›÷¼éKM&+’¾k?9œŽãm>-G˜eê>‘¾½®Ngz*s>梟³ŒÓ¼nÔA‰žP>É/í6åU>߸ýÄÅx¾Å®%’SG>dKÔ¢ˆ¨”¼tCi–‚>!½Ú’ûg>¸ž*•û™e>„Ýšðy=¬¼[@ÙèÅÏ4>ðlö·Ó’ý>‚“S³Õ¿l­tç_ÞH?£k&xm½ä¬,/l1P¿š"Q5 Cq¿h57Ž?¸–?Z]ÞÛé¿SSkW=T»½psйV¿@ˆSºµ¿²p&x¡|É?³=®sÙ?Ú<ê_¹½uÔaJ1Ø?ÓîÙ‰‚¿±TÐt¦å¦?µ¼mÿè[¥?I\>eн^V7ìA”¿£-:Æ);?NùÙÔÖ`¿*íÅÜõpH¿PRLLBb½á7ǽïv[?á𠜤˜¿€ ,Ñ'8?¾j”;”/?¸• öâ„¥=yꂟgÞ&¿ƒ=«bç>]ãfì¿.3Uš7í¾8¡›Œû¡ ½Va¤?[ÿÑRÔ»¾¢Êi]câ>Z{Ž;=yÖ>qßáBSA½ìÂya³Ð¾½¤–²´^‘>–bõ·¾‰’®¦“¾Æy&^O)=éÑÙ_°>Y”Ü.*f¾N  ÑèŸ>m3ïÆ)£>"B—` !ß<݆øH’Ðv¾ËÅZ&ŠÝ?\ðò8¿xwjª j¿ß\åÌåÀ­=zp3€±b¿añÜ‚P”n¿ A4+t?£˜áz(Ó¿ÈS½Íç³=W勬c+É?wÐ'ÔÏ`{¿Êr{·2–?}OÄ{¸?ݳ ]u×=%Ï(WíÀ¿¨û~äk9¿œah}Ä_?Æ”¹È¾6t?S¶›ÐŠ"™=íne¢K·\¿1M<jD̾b;qW½ ã>PqµàX%?a!þÚ‘#¤½êvw ¶¿‡Õj$Ðí¢¾ó—é8Õ>|ªjë>«ERL½¢Î=ÏÀíý>낹´dó€>JnˬÁ¯¾c`Ø6 Ò>Èë¹»/^G½O6oîÕ­>þ"ÞþyS¾È” »‚>¥Zî'•> Înºü=¤l™{ޤ>¨Pp¸ñ+>Iƒ D˜Z¾‡mbB=Ë|>çÅŸjÑqç<Ç ò*ÃT>øÝ¾/†Å ÿ{3>å´#©äP>Þ—”‹÷™bWÙñK7>¦ÕÑãáP`¾¨dã÷kB¾àô À{H±<1Ó$K›ga>Ín; e4?ôë¡e4?^÷[ ÒÌ¿3ï ÒÌ¿˜Ã’é°Š¿ÓëßÛíYy?M±…ÙíYy?ÄR_¢ÁÞ?:I×Ðì°?oMÐì°?¶Cá8+‹¿nHL…ûêN¿Ag†ŽûêN¿ta]ˆ44¿Pvó“âÂ>|ŽgpãÂ>ºP0.Ù³?HË%Oáᾨà—Náá¾Täé¹¾’ÊÄ?A}«>CêŸ?}«>Û'ƒ˜>a®UqKƒ¾ÈþÇqKƒ¾>R”ñ…Êj¾¶áúâcéZ>'—2déZ>Çö¬[w9D>-ÊŸL9Ñ3¾¿Þû8Ñ3¾%Ã=è%¦W>s¼hW8õ¾*2K#}!?Ûm•©5^?6PA»Ì³1?ÇbooÓG¿“˜KC¢ü¿`À£ä1?’Á\‚f >¿WcÏÛáZo¿ðÊùíH?œæn­¬5?NBG%sg¿›á.àqDn¿£E±Rð…?vÁ%Q?л֡ æv?tϾ2ßy•¿ôž¿­??›$Êð`°¿Ϩ!Œ-“¿î‹|78[»¿ŽÈa-óLÎ?,[_4g·Ï¿œe1N@Þ?.Ü7ªWÊ¿b(q-pY“?3Õ0“㳿¤å¾aM†•?î\ëB„¦¿»ÈqØå°´?t1°< V?¹š j®W¿C¤ilô W?ôÇ„/É‚?dT˜¦ðˆc?™(ûÁ²h!?æM3(¿¬´,ç:H¿,2ˆñXa?7ðÉѱéZ?1ôøøœÖ¾u÷ë³?螢}?F¥€Ü#?\еD'?vÁ¼7;𾻜ü 3Ú?¹eVÓr?D†»tçx!?Â4o¶_¿FÞª¬±°>¬¶¯hdç¾~žz,yÉò>º™h»x€à¾AßëÊCí¾ ,­ù¸°>¾aT{G‘¾¬ØÃàG<ľšæù‚Q¶Ô>ØO½¢.Œá>žö¾”â^¾À›l鸬>}_µôª¾gáv˜¤¾)­ÚzlQÄ>,Ã.0ÔIˆ¾þÀG×Pš>W¸æo(Ž­>46ä!œz>ÙzëáP­¾#®P‚¬9>$ž'¦"y¾.$!H—ñ>L,ŠHü®[¾0²&ýN¾­:`b&Y>ˆÀzV1l¾"÷5^¶ur¾ÔYµ–4!¾‘+€;øL‚>ßí «ì½y@‚\"ÐI>¼w:ÀS^R¾˜§¯Œ¸n¾3ÅCXáe>1"á̳(¾K½Ê PI:>ctˆË÷…N>öG=çÜö½×î’k}M¾k/¡O:å=†b9J#¾½yAhî/1>¦$™fL¿[=\ÍáÑ—3"¾fqˆJ^¼Ó=43FN¶Ï >Jc:~ÂÍ ¾åG®RãRº½"]ˆn:,>àê@X§?ÿßìcÈÌ2¿ã²"ž¿®²+¯Bò>QâCeE?—Gƒ”y'¿&™§)ŒQ?ÆxÖênF?¨¯Š3ïe¿1}*Ô N?²ñcÐ “?ÉàÄ—ï±´¿ŸX>Œàa¶?Æzt]{É¿Úã%2êb¿OJ˜úg?”„At£}¿ñ¥rõ7? ÌÞ‰Ó௿5xúZ? “Z6"?ýéýÊ Q¿ãëU:ï6?ˆº=·p¿ÊÎUˆÀ%?ýRQ@Q5Ð>’=c"Fͬ¾©“Y·þ”ú¾Ò62j¨J$¿!(¬]Â?ñ |¡¾r"KÜâŸ>Vq'tÆÛ>/×oç4ϾôàµxÄÑ׾ةuør>«AäS¬|¾ò5zè¢í¾¡ØÏègq+>L/'e˰>$lÉ¥²F¾îÌ÷¦öV>6®Ú\”Ü{>^ü" ‡:;>ÐË®³|{¾MÖ >Á¿-9‰¾÷×߯8]@¾fìx›R½ü=Š2{& R> µ)VS?ÿ¾!ÆÆÊr`?µ=#ô¿…£"šõîd?Á×pArŽ=?ù»ˆeîG1?–©ŸI¿*¦²¿_¿œpZȾ‡¼?èÎÖdt?†ôAè"T¿–§cg?æëÁ‡w–¿etü3R[À¿[r'êŽö¯¿c i^ ?)yrzLs1¿qóâ #ª(¿Ê$lÿŸÖ]¿3ïMI]?Ïé…¡”qê>vÿ„&]Ê¿¹VRd ¿àbãÙ =þ¾)¢zÄŠ›Ó><ªœ¯íúŸ>ýc)Ñ/«Ü¾+-Dt2q>còÝSô5š¾bµCÍÐO¤¾3B]´‰mv>ìY]° V±>r° iA¾‡Óôž±Üi>Ë¿ Ú{>$G¿T6>M«q·,¾2-&~O>>$å€èh:¾áœÖ{ØG¾¨´x¡ð=}ü£Íã[S>Çö§/ ‹Õ½¦ÆìÔ•Ï>ÍnhÛ¾:>KÝœÆô­=F•R—³ý½š¼:«l$æ=/ÈKÛv&¾.Ì"²8F>gˆv$Aÿ²=ð¼7¬ó=§j¶FANK?ɘ2þºèE¿”æ‘ Óô>šåŸ‡é?J¤†¯úO¿­QT{„?ó0Æs²[‹¿:I×Ðì°?þßë-Iâ?œ(:-}Á¿‰c'ìx?ÀŽ’$‡„?·¯;i=‹¿˵i7?.ª2@J?‹3Ý@‘H¿9bÕß>¹”T¹Öý>UâJÕù›¿ͪÝË5¦¾à?!Q‡·>¾-º;¿˜¾²bÍA«8k> w^¼j¾âìšq¾èu¾@ÆC¾w$u ¢ù<>r<¾^6ÍB>ŒÖó΄>³åßA§¾OuÑ@ð¾£¾ÔÁÝò=OÇ„£V8õ¾M¤Ò#}!?6¸¥§5^?òi*»Ì³1¿Í0É!ÔG¿þbõn¢ü¿ROÓÐä1?AÞª¸f >¿N½ùÚáZo?m¾ íH?s (4­¬5?îG…%sg¿‰ rDn¿³ñ*Sð…¿M^ŽÁ%Q?ø{:  æv?Yu^9ßy•¿ÜÕ¾­?¦BËð`°?܉$Œ-“¿v º58[»¿f©—&óLÎ?•»ù4g·Ï¿Þ·ðO@Þ¿Á 8ªWÊ¿;P)pY“?w 㳿_¡âaM†•?ãk0A„¦?TÓå°´?1»ºz V?è‡y!j®W¿ù®·ô W?6v*ƒ/É‚¿ƒÍ…~ðˆc?Z\3â²h!?u,ïå3(¿­Šmæ:H¿º×—ñXa¿sº,±éZ?-8TãöœÖ¾ÁçÇPë³?C]—Û }?ç˜Éfdç¾,~#yÉò>üÌ©Òx€à>žNwÍCí¾GËhŠú¸°>HÉ]>G‘¾š=‚XJ<ľ/Â(hQ¶Ô¾§Œnœ.Œá> æ²zâ^¾`¦¢å¸¬>ðqºôª¾ô@{:¤>èSñÙlQÄ>Â;—ÕIˆ¾PªOüÚPš>8Dñ'Ž­>eÂe œz¾|3Y^!P­¾¹´¿©p9>³ ·Á¡"y¾«Â3—ñ>,8 }û®[>²Œ«LO¾“áõ'Y>|@§ 1l¾ƒÌ¾'¸ur¾¿}rùü3!>µÀŠ:øL‚>yjuÌW«ì½‚#%ÐI>xÔÇ…W^R¾·Ó©ºn>«Ë“ÓXáe>· éγ(¾ÑbhÆTI:>–æþö…N>yƒÍËØö=®Šz}M¾ÛKÝùA:å=)·¢ÔF#¾\š5î/1>cPŽÚs¾[½J šËœ3"¾>ÓäÊm¼Ó=§RÐ¯Ï >䫯áÇÍ ¾>'ÎRº=ÙÑ8n:,>›ôÕ_§?ÑéãhÈÌ2¿$®yž¿MN¼¯Bò¾ôÍÈVeE?ˆ÷kX”y'¿Y°œø(ŒQ?F@‹nF? ÇèŽ3ïe?þmx‘ N?µž`Ð “?N”À’ï±´¿ySˆàa¶?Òa ^{É?KÑrø1êb¿ÈØBg?<«Xt£}¿›N¿±ò7?G^ ‹Óà¯?‘àüZ?úeuY6"?áë@N Q¿a´…:ï6?Fɉ·p?ÿ‚/n½%?Q„R5Ð>¢–.Sͬ¾ °öÿ”ú¾‚ N¨J$?Ó5]Â?Uå+©¡¾BÿìâŸ> ]šÆÛ>­Á4Ï>Aœ¶#ÅÑ×¾,K€iør>}|«¥]¬|¾ÄÌRo¤í¾³_™gq+¾g`Yce˰>„aìµF¾ÀWq­öV>7}›”Ü{>ǂɇ:;¾Ó2À´|{¾¢±ä“ >Fè—}‰¾¢ ××9]@¾•³õÒQ½ü½b~þÏ& R>|lS?ÿ¾Î}ìr`?¦1Õy#ô¿ß½[œõîd¿‹¡•/rŽ=?ó,ffîG1?˜ÖˆŸI¿ãŽ¿_¿qó7ɾ‡¼¿MQÖdt?/Ó@Vè"T¿Ô5ªcg?÷⼇w–¿h~^4R[À?ŒVèŽö¯¿€Òyi^ ?ï—»Ls1¿36ý\$ª(¿ük%ùŸÖ]?{¶MI]?ŒS¡j”qê>ÚÚè]Ê¿#]kd ¿nÓ•(!=þ> šM^i!?½=¤7Ÿ¾âJ¹Ü%•Æ>Áåò÷‰›Ó>¡£ºãîúŸ¾&2ãà/«Ü¾„†­Üs2q>I™¾ô5𾩠bÑO¤¾j¾•Q‰mv¾ðnŸ¡ V±>Iá:biA¾c -±Üi>IþÚ{>GøI¿T6¾®É-¾µ¾&O> »½îçh:¾Ä¤G|ØG¾l¿*~ð½û‘¦ã[S>˜ñú ‹Õ½ª·­”Ï>’*“á¼:>nŽƒªô­½ûLdé—³ý½—üs-k$æ=¦eÄðt&¾Qð.9F>Qv>ECÿ²½ÿ?ƒ#¢ó=<ͲúºèE¿Ïd¿IANK?.<ؘé?hÓ7[Óô>/ƒ8‘¯úO¿òÿFv²[‹¿f_æT{„?oMÐì°?œ(:-}Á¿îc#ì-Iâ?òR ìx?¸#É:i=‹¿n”Ø$‡„?ÞÅri7?æ9 F‘H¿´E+@J?uêe~Õß>¯áº¼ù›¿šK¤Öý>ÌFv2Ë5¦¾<ú ü;¿˜¾¶ªQ‡·>3¼º3ª8k>üdÊUq¾Sm3 ^¼j¾¾‘ü;@ÆC¾î£n,6ÍB>Ó{Z¡ù<>hÞ¨!„>“±Œð¾ñJü§¾œ‚ZÝò=¯§+‰Ïþ>LðCqV¬ ¿YU•Ü2ÿ>H­;¹ 何„ÂŽQO,¿r[0t9Y¿Û‡j=­?s댡$¿XÀ è“{x=ao!/ƒ?ÇB-ß‘ ¿9ŒÐóŸÃô¾6[@/¦9?j§ ßÚ"½^^{ç`ø.?¡x¶­ ·V?ɧ‡vv¿ÅÃ%¥Æc?¿ ¹n>ÙÄ=_Ùsà|¿Èœ¿‚qu?ù„ç¥ø«¿}quÛUÑq¿¡Å0þiˆˆ=á,|BÙ>“¿œŸ½3oVœ?ƒHoç •¸¿üèöf„®¢½=nñqÎV¿JÚYR!?ró èÅ D¿;Á,«íFB¿?•âfòƒ=²Þ–ÉŒÌ?øò66š£?ÚÞdßÎw#¿.9FýˆK.¿4Úv1E?r½'ÂNÚ?áDj†¯ð¾Î[\o+:?–,Â÷5&ò¾j¡‰*‚W½ÿ. ƒÄ¿> µ²OÕ¾ƒ³‹Ñ°÷>É©4e~Vˆ¾uegÊøP0½°ŽäÖ÷¿3ö¼êEwÃ>°MÐF;æ¾ù¦@Ðdå¾%'®²“³ =±+|s×°­>’u 4B:ª>°-{é#H;ïXÚÊÏêÕ¾ô¥´‹H#=m*lnðw½>Û6é6ˆ3˜¾-£Ëùà»>°1—M¯¾§Þ®'2{ý<úDB³çf¹¾,9É­3h¾T­ +V¥£>g¶\Õƒq¾¡ÁN?¨YÖ< L"Zͬ¾lÝ¢÷øžq>ëvDHlò’¾@#0‚ì(‘¾Åü†T„>Ñ<›þdvÊ]¾Pq3tàSã>¿o{cl ¿ï¦3å+ ¿Ä¹ìœËNë<ê±w3í ?Ñ4‹ Å©?W}Ȧáæ9¿^xIïèþ?©‰&.É€=i=ÔŒV|K¿@+†ÂW€q¿ÐÎkëÏ—?ksòúÊ{?]%Y]ɽݛN¼:ÂŽ?š† BQ¶µ¿áDóWðyÉ?_?œNŽEß¿r í³ZÈÁ½Û|ÛÏ¿Ðnî £‚¿S`Sɧ?]ÅD˜¦s?{TÛÓ½¡Æÿ¨£§¿@[~÷:?+Ó×¼`¿­ì´V¸U¿/·#ë§Õ½U'èš^ÆT?‚"ÆØ˜¿éDÜ"8?µ‘Ë^H2?^&¢•¼d½ŒwŒðÑ»2¿±®{Gùƒç>½² Ü¿±÷+•Úé¿`ý½Ïj=«D¥ñåü>XrO2𻾵óa-yâ>aMfÀ>÷w?Hk=8½P¹N¡°Ú¾1W¨ý’ª‘>[C.ƒ‹·¾¼·É„Ñ3¬¾À\nÛ" ½`#ˆ–¢>vP™¨³°>¡°gaYÚ>¿*˜J? £”ÊTI€½ocRs -¿ÌÌXÔM?¢ iM#ß1¿Ì~Ii?ÊŽ8ÌïȽ2ó9}ðb?[¿ÑGcÆn¿„[¸IY½t?Ä›`uNÇ¿QJ@ÉÐÙ=àrOŒ2à²?pÉco¬{¿(ai´Y–?ðw¥çè·?qQô_'gÄ=×ÃÏ‚éMÁ¿¯´àŒ¾‘9¿ì¢ˆ",ì_?2Stjã¶ú>¥Œý9è¾Ë=W•¢T®u¿¶|Eù[ç;3æ6Så>Y½Ã;()á>|;fœ_S=OÚ¯µÿ'¿»v õº¶¢¾×z¸màÔ>¸–EzÔl¿‹UËoœJr=ª_!c#ËÆ¾œáŤä0>åèÖß°¾Á…ÕÛÂMþÓ~ ‰kD½eµ§ìScϾ£¢X_ž”T¾™þñì:ñƒ>µxŒ¤ÈᦾrdxYd̽›2ø‘޾O­Föif->éDì*^¾,¬£Ù:y¾n+-ë]Ѽ/ Š®ÈN¾æˆŸÅ£Tb¾çtóø_ ‰>÷üÙN2Æm>³ã¹®¡Ë¼áOóæs‹¾%œ“µXö>ac5 µXö>EJ6Ó<ú>i5Kà”53¿‘:å" 7?}0Ð" 7?¶Cá8+‹¿‰c'ìx?òR ìx?´tŠ_X¸Þ?Û­z„ë°?L{„ë°?œ•ñëa‹¿AÖc†$…N¿Ûáà“$…N¿šÐ±{b>4¿Ç#Qé·>‘upÃùè·>ã²ä¹?d¶Îá¾''^µÎá¾N™ v]߸¾íå†ßð•«>®µAñ•«>‚`™˜>4£ð¡$I„¾ñ|3â$I„¾ƒþÅ¡ùp¾ÈLÒ5{^>[sn5{^>Å¿lVš‚¾;²ÊÖfë˾õxrâMÕé>#&I§[Sð¾6u>bšiª>ËÞ²@~?b!Y¿Ô>jYË"¹·á¾´ìëVKŠ?{˜ò›?#¿d£hTd¿ˆâìªê¾¦f~ZØ?S‡ÄÐkþü>äÀÿµ¯1?”ñ¨wÏ[¿ÚÅq´_¿yÍ‘‰7?›ç8£ù<¿xر2‘$p¿RæÎŸÑD?…ͰœÅT6?a²+M8Üg¿X&î8.Y1?(ÿ/Þ¿…?µ©\FO8n?Ý£åÞêv?îS§ƒ€„•¿bLYÝäk‰?h4ŽòT‚°¿ºnðÀs„•¿¹{IÚ2[»¿ õ£–NPÎ?õŠ ¼µÑ?m®é±õÞ?¢‘ §Å?îpèÊM“?Š§Ð ÷r³¿ìF†¤@µ¿¼÷9â:¦¿~笠üù|?m: јÿ>¹¶eXTW¿fN­ždÌe¿ÓÇõn¦ã‚?F@:v‹eñ¾~ü[ëCÆ?74ž¯P¬?‘ÖH£/€!?• kíô:¿6´sÊ‚½§>wÕ…¶ä¾w¥@!ã>ïÈëaà¾à[õ‹‹M÷¾áµ%ÿ²>i‘/¦Ck­¾|¼Áaô ݾìejH£çÔ>';TṲ́×>p&¾ƒ¾1R>g X?æ¥>XMPÞ ÌÀ¾nàäò¤¾²[zÝêp¿>±7šŸ=劾’ “ $ > ,Ð+Ñ›¤>lž…£F{>4åÔæ»ê²¾v÷¶ÆÓ€5¾ñuØèˈq¾›¥~¦†>Ø‘$õ[¾ÃÝ20¦•¾–ÉÉ)Õ'[>½§/0î‹p¾Ýñ­Áé{¾ 꼌…ø!¾v|e˜Ì>õEÄiîÃ÷=òãuF5E>­ª‘Íå^¾äÝÇgw¾C› ˆ[>[ú„‚{¾ Byše$¾"eA÷C>Hžâeüõ÷½ŸX¥ªY¾Ò›Yÿ¦â¾ü>Ž|úy?Ù‘ð°=ð>û5s=j¶Ô>i©<¿?»wd¸ä¾o¾®êž?ÁðÖ¼¿Ë§ãô&ç>ß Áµ?KI#þj&&¿§bú‡Î´P?kõQÛR¿Æ_O¸"d¿nÏüêÉY1¿6aßÛ “?…¬£¯·´¿ç\ç‰çx›¿S Ø%ëÈ¿õ²£ ßYµ¿ûÿȇ£.g?ê×7'©Ð}¿á¦0þ4D¿æðU™Rܯ¿$j¦ß Ét?ÙˆÔŸi¹!?awŸ:¾P¿ï÷KƒÄ0¿Š³ðÅp¿Ž5‰Nι2¿3—1¹Ã·Ò>êd£ ©ÊоpÎ¬Š¶k ¿ÚBFF¹o$¿†2ŸéS› ?S£ 3R¤¾5)1ªr˜°>uë]b Í>¬‡'òŠ­Ï¾Ø“@‰‰á¾ñ{› ªJv>£Ôí4* ‡¾v¡A «¾DÌbvÁÚ=+±J_Ûª>·ÛïúKF¾½%Z}áÔV>£òq>3XCë7:>Àº¡ñ¾Ãتöš¾;¹-âö–Ç>‰‘•@„™H ߯ü>]¸º©Ê ? 7ôüÕ ¿û?‘ØŽ“?V±0Û‰;¿kM¯šóâe?¢]†'²)?jìžÊ–1?µ?ЉCJ¿[sIp¿Ö¼hó:‰¼?j³pöäj?þd Z|üS¿?÷Tª:-g?òj†%¼ç°?õþWÀ¿|`:ª ¿ÄÜ…3Lg ?¤Ætõ¤™1¿uØ(†^Z¿‹ËsѸ]¿‚€2fDI?ø"§Sê>(Ü…±¯¿v¸›-¿Tõ®iŒþ¾±`6ûd?Ø€ê•3;¾íŸ¢-Æ>$ùåp”Õ>Í® Î>ž>‰BŸjóÛ¾PÝsÓïÕp>*þAZ–™¾ôoÁ‡ïΨ¾›$!=v>wÀ»F>C¯>­w\%SÅ@¾ $ºki>a£êŒYw>¦˜0ƒ=Þ¿Ÿ¾vS•Ò>ƒ¼„lpã0¾3˜ñ€„Á&¾@§³è˜Bõ=˜Ònx%¤->3u÷6Û꾞|‡Ã<>òaèUG¾ÉòÞ½‘8ø=€9]܇ >(¤¾&Eò>G_ï,¦¿€ûg@»Âî¾IÙ–àÔç¾ÖX­& ;Ï>[Ì&©ëI?ÝhÇ@LH¿nHL…ûêN¿ÀŽ’$‡„?¸#É:i=‹¿Û­z„ë°? Åѹ›Bâ?=°¡,¼qÁ¿ø”fœšÏx?íì|X„?ªMãâÕ:‹¿ï½½75W7?Îӣޯ+J?ŠGZ­¦H¿ ÍÔ–vÞ>.Vêi½þ>fg¨°¿T§ð…¿ˆ¥¾ãˆ ÿ( ·>MÖ)uš¾^ž…É£¯g>é÷µ(j¾BpþbZq¾×b(;¾TŸdI°€A>{HøË{E>= Ü×ÐOÂ=b:(³fë˾é+1µMÕé>¿ãv¦[Sð¾¢.Õ¬šiª¾)Üô @~?aPº¿Ô>ë•…ó¸·á¾»( GKŠ?ÁÑ¥ô›?#?][Td¿CÔw=«ê¾#j^¯ZØ?Ós^¡jþü>]a»¶¯1¿µ½ÉUÏ[¿µ¥¤e´_¿ÈŸ‘‰7?Õ—ÿ¢ù<¿YÐ2‘$p?fYŒÆŸÑD?‹ë¨ÅT6?›ÖöZ8Üg¿;ë«.Y1?ÝeR1Þ¿…¿Ï¸²i¡ ¼µÑ?Wª±õÞ¿ïÍ §Å?¨[“ËM“?•½« ÷r³¿û䧇¤@µ¿ &X<â:¦?çWú üù|?t8OÒ˜ÿ>òŠtxXTW¿¦‡l­dÌe¿#5"c>eñ¾ ÃBCÆ?øÄàO¬?PÌ*¨/€!¿ò_)Ûô:¿42Ç0‡½§>=°AX†¶ä¾’¶×!ã>/rˆIëaà>¤Ù°=‹M÷¾Zšã$ÿ²>´kJ9k­¾nÏúœô ݾI¿Íw£çÔ¾Ëé³Ë¤×>É™˜«1R>9}2ÿAæ¥>]‘câ ÌÀ¾'·hó¤>Úè  èp¿>š¼·›<劾PÔâû $ >µÐ Л¤>æ‡Ô>¢F{¾¤ÁÞݻ겾¹½h.È€5¾ Hþ&ψq¾ï¦†>Œáß”#õ[>(«bÌ/¦•¾ ö:ÙÓ'[>@ïw¬ì‹p¾`IwÁé{¾Ï3Ã1‰ø!>˜â3—Ì>Uã½eÐÃ÷==Ö™ÅJ5E>­-ÊÍå^¾—5ÆWew>õ‰ÿ{ˆ[>» ­®~{¾\݈¢e$¾¼5=õC>ý½wNþõ÷=ìaÁY¾ÏÙCÿ¦â¾É²œwúy?ƒ³Á¡=ð>€Gê'g!2¥Êоi^Œa¶k ¿®UiJ¹o$?ù§°–S› ?ÎÂtÓR¤¾:}žo˜°> ™|C Í>Æú!ðŠ­Ï>™BR‰‰á¾óJÕ‚¨Jv>üi%& ‡¾YB «¾]š½úÂÚ½8ǧ۪>­´º¥øKF¾ÍúÜÔV>hiEq>燽 7:¾ïËz¡ñ¾?0Iªöš¾)?¢ ÷–Ç>t éL„î¿5C<߯ü¾dåóº©Ê ?~ŠýÕ ¿àUÕŽ“?Aþ¼:Û‰;¿’ˆ›óâe¿…"š'²)?;šmÊ–1?õ†9Q‰CJ¿-§|ŒsIp¿Äfaó:‰¼¿Ã[köäj?$ìs|üS¿÷ÉWÄ:-g?þ¡ƒ%¼ç°?›-ÀÿWÀ?bùè¹± ¿3!;Lg ?±‚÷¥™1¿`fû†^Z¿ZP Ѹ]?iz×ÂeDI?—… e§Sê> ªrݯ¿9^³-¿t݆ÉiŒþ>­Ú‰ûd?Í[Ò[3;¾¶õÎü-Æ>ÁÅd^p”Õ>à»iÏ>ž¾h^%jóÛ¾†fûýïÕp>q=²ŠZ–™¾XÔVçïΨ¾4©ÊH=v¾¡åÑÝ=C¯>¯µÈ@SÅ@¾lHþki>5‰SŒYw>[lS7¾ÿJ³ÐŸ¾Æ]œÒ>«ªÅpã0¾,„•R‡Á&¾y ‰šBõ½ÊQ©ü$¤->0/œ ß꾉µh%ŠÃ<>{v~‹UG¾6­dº‘8ø½…W!Ň >­Ç²,¦¿ÝÊÉ&Eò>RÀàÔç¾Öò*8»Âî¾³k ;Ï>? )Ç@LH¿Ñ/d&©ëI?Ag†ŽûêN¿·¯;i=‹¿n”Ø$‡„?L{„ë°?=°¡,¼qÁ¿º—’¹›Bâ?Øé0žšÏx?cüãÕ:‹¿ÀÞ|X„?Úݦ–5W7?h4_c­¦H¿° ¶—Æ+J?иõ¸vÞ>$ ¤°¿ýý n½þ>W‚¬¿ˆ¥¾¼2Âötš¾ô‰ˆ) ·>o”ìT¤¯g>y\º-cZq¾[<"¶(j¾€›£-);¾ñÝq#Ì{E>³|:ް€A>ŠïÌÚNÂ=áÂÚsľ˜1äå>*›¯ó-ƾRï³öø=ïÊ¡ðæ•ô>)†Á¯~üÓ>"´ç=p¸ò¾\Õz^Ñø>$&QÃ![½«BFüŽõ¾+FV?ˆ¨Nm'!¿%u|fYÖ)?¶8'“Uo=˜W2¿¶Æ^¨Ù¦¿Ž d(j?Ê蔵 êÙ>ïXŒŒž<‘½X䲯  &?¸L7+V¤ ¿¼ª»|F+ƾœII¶Aë5¿<冽=Uœu"„3¿ÿíŽ[¢»V? ”q 9„v¿ížZ´SØw?¼ÉnÚ¼£½Ï¼GŽQs¿á‘Þê%{u?@ÞLÿõà´À”“?›ë‚$è¦=,dhÄÙa¿Y~!ŠýWœ?49€¨˜¸¿êÙr޺驿A‰‡º[eÑ=5,R廿óª~týsš?̾k„Ö¹¿ï+'y"ÌÁ¿ì7•;»Ó½b+sÒÊó«¿yr˜^c‘?^Ý3ÇKU±¿S¬5\}0€¿'âè6»>f-îç¡?—“1,›ÉB?l›ˆQâi¿Û)›„KY?%jeªÝ=Û¼ï€"‹?úÃgP"@@¿'½¾N\?swapd?É[‘£ðýéãe͵/¿IKäoEó0¿¼z¼ØîvR?NÊ<*UU?ÏÏ?&3§=Ù£½+@¿Ç ¡¥!?¸ÂâD¿"GTÝã?ç§TüǶ‹=¸¢0¥P’B?Eë%°?\ÁÇSB‡#¿y¹¡ý½é¯¾¨äž¨&.\=qMLÍ‹0?·gæc$ð¾®ò¯ƒJ?ÓDñ.‘“?ïXC4Å*=ì”Ó þÔ¾/"ø“Õ¾yã³¼oø>œ›?ÑjQ_ƒ0P½dJ.;vè¾üOÓ;°Ã>…gÏNÉ’æ¾£ê™v‘\Ç>¨ìh®&½²“ΡxÇä>â0j”(¬>˜Pó5±Ï¾@× sš> æ½è‘§Cù"×>ˆÝBŸrœ¾Ô q ò‹¾>å¿Ø\¼»>Fú!ƒ¸Hø¼"¨¨³„>ñO–R ´¾ àLüÚ>Àú¯NQ Û>äEYqDȼŠÄÑï¨Ïö¾ ‘œB¥Ð¾¦“P¯"að>6A²m<¸¾.#eÄ]½/\z½ Ì ?•‰µÞD"?‘q(t‹:¿rÚ"ô…SI?©©@¬½D2f,f•5¿üÜM»q¿Ÿ&&–$3—?màeÏ¿¡$’‹†Ž=®inO±V¿MŠLσµµ¿§û\Ü…zÉ?œªásÙ?¯«½v¸½=ׯB&Ø?Šo ¬‚¿4J¸§?ªy@Ï~¥?ñRɨY >Y(èu”¿ÛN}Uò:?àв©·`¿líMöȱH¿Úç«áz‘½²±”¼Òb[? b^Ÿ¿Êðˆl,,8?0ÃwÛ¢/?ÁQôžÜ²œ½´ß¢h æ&¿ÒÙFh£ç>ß™<I¿=׬šõqì¾Z…Œ’*â`=P¸nT™?„‚9 œt¼¾¼ûWDÔäâ>£Û[¥S¼Ö>“qHº¨f5=äðf°Î¾¾S¶sß®> u;-ˆÒ¾4 âç¸á>Þ\˜däV=úw])lÍ>¼0t™¥¤>0Ldâ>´í{Gžµ(?¸óŠª+œ=ýåx·.5¿3ÜïØ'?+?v*C0¿§T–¼¼Rj¿-M1Ù7·=ãËs}è`¿,¤ë]*ãn¿“­ô—¬ u?AÔôøÒ¿p^?ÃÔ=é™é8É?ލ(úZŒ{¿Õ®8¼e–?j™±¸?U¥F£VL ¾ÊsŸÁ¿Ï@ì 9¿±mš)‘ý_?N®‰Âvt?K÷éÀr²½D ш]¿ ÉÍŸ3ξç?TŒp±å>U(UDj%?Ì~uo¡½è«ŽŒ¿Ý!/gX£¾©’c)cÕ>ßÏêCÞÝë>£öÖìkdo=$%YkÅáý>¼Âm†‚>®¬pÅ*±¾e.4Xš Ò>æ±`=±@;=ðü…2D²> ‰yEV¾òy|ßÿ†>œ˜¼9¼£>@TüÈ‹3õ<#E"Æ8ùy>Ä DE@>§fh´¾„fDŒ5N˜¾tq ‡pô<ò_+¦Ãìµ>ïúajО߸vОÔm øÒþ?œ øÒþ/$œüY‚?‹³ºoдà>Œ?_Aдà>ta]ˆ44¿˵i7?ÞÅri7?œ•ñëa‹¿ø”fœšÏx?Øé0žšÏx?jGæ ´Þ?!÷‡ë°?Ïô³ˆë°?çî5¤'{‹¿²—µ#ÜeN¿ƒ+sÛeN¿õy9»»P4¿·¦9·ï´>žƒ¿Óï´>Ï%âGÌ?™.-ÓJ⾋\,Kâ¾û¢’yœ¦¹¾í[3·üj­>T” ýj­>Óï·‘Fž>ظ.¨‚>‡¾šuÒY‚>‡¾CSVZ¯­>£?šjÇ4£>²¯-ֱþŒ%ÁEi¿>tEq)P½˜¾RÀ¶Ž³Þ¾ wàðßnœ¾]T? ‚ƒ >áïÔ›†æÐ¾{7èýÐ7ξ£ûÄF~ŽÞ>kÅ®B¼ Ѿä»Ú‘Ãí>Ú32«w¿ i2º0¼§>P«Š};£ô> W¾àà>øgŸ$Mø¾ã5 Joû>bš¨ß·ÿ#¿gõÖã•¿¾¤\ Fºê¾ÇÆkð§ß?¥$Ã? 'I91?šq¥¹ ¿ü¹‹F¿]Ëâü7?ê•îî+!=¿9ê©CMp¿6Á¿ZD?Vúº¥E£6?xÃ h¿³êLUsâl¿£-W±…?Ð0\ŠÐãO?IŵŒév?:iJr*†•¿õç©Î ?áhFZ½Ž°¿š50Å(“¿«£…'3[»¿­Å•¾QÎ?(ÜçáÙ­Ï¿}!^›ŒÞ?ýtöYï[Ê¿¨ Œ^@I“?>I!.n³¿wªØ¿"•?åA<6/K¦¿æòO§4Ÿ´?1 ïu!Aþ>w"ÖPšpú¾'?j‹;•Fñ¾I({ø±1?åÞÖ`*.?hf‘²fŒ!?­/°˜Õ~¿*¼ aµê¥>ÝX1Ÿ†<ä¾Äu¥t·ò>ŠÈ5E~à¾85z¦ñ¾ênê3%³>R›¶¡®¾ Ç?8½qɾvr Õ>‚W1%è¤á>W ü$š˜R>ËçÒ`œ ¦>§tXj±¾ïèÒ´¤c¤¾;È%&›Ä>.‚µ¥Ò'¡©ˆž>X¿ÒýZS­>ìš)[É{>òÔ€Šî设@ årF¾@P ýv¾ø£ú¿>8uï\¾C×yˆ¾Àlý(¤.G>@ÆÕO»Q>п+Up.r¾Ü¸\/)é½çZWc>yW¦—Þ¶>͹)ƒ×Û¾œS²ð®Â¾ïÄ›9:“>× Í¾Î£ì>Ÿ¶fàÜ·S>£ÓöéÀ>o=³ÅÙÍ>ð¿@Å[4Ó>÷gŸRèì¾jÖ·iËç¾Ñò»ÎÍ?˜ëäØrà󾮘l ;ñ>Õ”&?ÐàÓÌ &¿ä¤Îòç±P?Zº¦y˜D?äÇc?¨”c¿„Œë¦ÒšP?)V “?s3Ê ä¸´¿nHô÷n¶?à R–÷ÞÈ¿9tF–îoe¿ö‘Úq3g?q7k\Ú}¿;‰xÅœŒ¿ Åüs¨Ø¯¿D(a?ËDçG™!?Ò·Þ)ʨP¿ þH;NT7?ãφô°Çp¿¾ï]Cš"?N7 &Ó>]U~”ä÷Ò¾Öó*BŸõü¾=“xØt$¿2V±¾X3?L6c‡× ¤¾¢^al¯>L¿)tç-Ü>;OM ÝϾ¯t)4Ù¾0YP‡’+r>ÁNQ8Þv¾üLuô¾-g|3¾P¼oÙ°>±_yT«e¾â¯¹ “ >¬É†pœ¤>ÜõäbÀ¾´¶ ”ÕMÖ¾r¬Ÿh œ‹¾†ÛWø¤"¼>y‚7uù)û¾ßðŠ”2?Oc~ˆ#›?%þ¼ ›ÿ¾?‰ÀXó?¯ê«Yãq¿“aÿ8f?Ë®µW<6>?ßE¥%Φ1?uÕÀ£eJ¿öR´È];\¿]Iww㉼?î“^иs?)&}å»ëS¿$”ù >g?HIU–¿thË•VÀ¿¶[ÿÑÙ¯¿HîÉòÀh ?]´ò-ê 1¿ú׈èZê(¿[À À]¿AriÆ]?0>ZEKê>U`Œt©¿‹çTB§E ¿“NáEÿ¾Kyü€¥N!?”f˜†k ¾ î–ÇÆ>=¹d°Ò>•Ç1ÿ"Øš>ð&Ãé6ݾ‰¨–ˆàp>Ư6ìÑ×™¾:H²X t£¾Ökõ$v>O7ŠQ̯>¦“–In:4¾¢FòÛza>Í€[øÅZ>ÿ¾ZdÐI3>:¢“6ö^¾DäÉ'Ðä4> vž«Üi¾A.=‰F¥u>®;+X”Í0>ý¯”ø!g´>(·’ã8¿>†yì0; À>Q›“ñá¾.}ôI¶çü>3#'žo¿Pvó“âÂ>.ª2@J?æ9 F‘H¿AÖc†$…N¿íì|X„?cüãÕ:‹¿!÷‡ë°?3Aâ?JåËŽúnÁ¿Ì3 óJÆx?h…ÇÇf„?æRWhÃ7‹¿*|éîbT7?#¶}¾4/J?J¿ÿUªH¿K¼‡v¸-Þ>@d%)þ>|ÀfŠ™·¿Œ¥ï’›¤¾ïÞßû¸>ƒ¢Ûx»;š¾ãùé†]>Þ& ÌrFo¾z)Sbžt¾ "êÛŠI&¾_Ä„Ç4£>¸;ó±Ã¾ ESi¿>¿}G0P½˜>Âï_ÓŽ³Þ¾EH:ànœ¾³ 7‚ƒ > y¶†æÐ¾` †äÐ7Î>ÈÐ]~ŽÞ>’ˆBZ¼ ѾèÍ ’Ãí>HQF«w¿àf†¶/¼§¾Ää6ˆ;£ô>Xžßp¾àà>^íÓ$Mø¾ãœØSoû>•¹Ö·ÿ#?=me÷ã•¿}@îFºê¾“éì§ß?S½ãZ?áàÍ791¿²0Bº ¿Ê™F¿»*™ñü7?ªp,!=¿™›ÁBMp?Sb,¿ZD?ŽL±‰E£6?»»‰µ˜ h¿É{Nfsâl¿4=-W±…¿8é¨ÐãO?ˆ?™·Œév?B°|t*†•¿GÉÐ ?a’6Z½Ž°?…W1Å(“¿Ý8-'3[»¿¤š®½QÎ?ãÄáÙ­Ï¿Í+7›ŒÞ¿åKœ[ï[Ê¿ö[@I“?‘¥.n³¿Cò±­"•?œG6/K¦?È@v©4Ÿ´?sÙÕAþ>:ã:^™TÓú¾'?Æ6TוFñ¾å c³1?¡œ"V*.?oÿ¤fŒ!¿ ú:Ö~¿] ]n±ê¥>K& Š…<侊K­t·ò>pH&'~à>¼!(¡§ñ¾r3f\4%³>ÕZDR”¡®¾14¿qɾ<xE Õ¾lÛ–>è¤á>_jõ®˜R>‰¿Í­™ ¦>=zk±¾œÚϤc¤>À—€’&›Ä>­ù\äÓgø?m‹ž>½_*ÒZS­>qÌ»\É{¾'®„Ýï设CúÈÏHF¾Ûžúÿýv¾»¡r˜ú¿>Î3(§ï\>pÕ×éÙyˆ¾¯{7I§.G>#y³ðüºQ> Jçq.r¾;ØÚ³&)é=7(Sn>• x¤Þ¶>ž2ð8ƒ×Û¾^2PÆð®Â¾¢ú 9:“¾4óÒΣì>ø.YÚå·S>-«™éÀ> ­ÒåÙÍ>ˆÕ½[4Ó¾6ðZ?Rè쾓§?iËç¾)sRÎÍ?´)ˆ&sàó¾“㵇 ;ñ¾’š$&?æ#î×Ì &¿XŽ(õç±P?¿…ùžy˜D?߆X9¨”c?öH¡ÒšP?àõÚU “?Šà 临¿;"ó÷n¶?C%–÷ÞÈ?;$’îoe¿P°q3g?[¿¶\Ú}¿Òr×¾•Œ¿²@Òi¨Ø¯?îûû#a?vÓÖG™!?ÁÌ&ʨP¿h´|NT7?¥ß\ó°Çp?á—FCš"?slb¬ &Ó>fOì÷Ò¾Zkĉ õü¾N{Øt$?MñõþX3? Z‚ÚØ ¤¾ª/ùl¯>‹û‡Çç-Ü>C™^ÝÏ>Y¤ÿ*4Ù¾Dš@-”+r>XŸi¹@Þv¾¨8´Ùô¾¨­Eth|3>ˆ\QpÙ°>˧®z«e¾§z#“ >"ŒÍ€pœ¤>ŽomðäbÀ>b¦]¤ÕMÖ¾tt௠œ‹¾Í z}¤"¼>2ÑÁ‚ù)û¾ Wpp2¿Zæ–‡#›?ùó ›ÿ¾³²oÒXó?Sð®ãq¿þãY^ÿ8f¿ÌV<6>?†¼ájΦ1? 9¤eJ¿ O¼];\¿KV-w㉼¿P¾vиs?¾ÃEã»ëS¿´k‘ >g?ç”òT–¿%i"Ì•VÀ?0 ÒÙ¯¿-õØÁh ?ù!ê 1¿) Œù_ê(¿Á Æ À]?ƒæÆ]?Xˆó’EKê>‚Îq­t©¿’î,¨E ¿ßÿC7Eÿ>¬Gë¥N!?—gsk ¾á•-IÇÆ>h Ö°Ò>/pjt"Øš¾tÓPé6ݾð§F™ˆàp>½hãÑ×™¾eƒñ t£¾þ—S$v¾¬—l.Q̯>gÒn:4¾ù@Ÿza>BÁçÅZ>¸}‚ûÐI3¾ŠT š6ö^¾æØ$Íä4>¨x‘©Üi¾©É¢ùF¥u>O¤¡”Í0¾L Ïpï@¾Tù®!g´>" ÚÑd†Ç>qŽÅ;; À>Üí_©ã8¿>›`ó¤“ñá¾Yð–o¿aæ9;¶çü>|ŽgpãÂ>‹3Ý@‘H¿´E+@J?Ûáà“$…N¿ªMãâÕ:‹¿ÀÞ|X„?Ïô³ˆë°?JåËŽúnÁ¿G°ìAâ?Ý– =KÆx?KgÃ7‹¿Â¿f„?^¢O5cT7?ÆPüUªH¿ûÃ4/J?¬z,û¸-Þ>ø¤º‹™·¿’_À)þ> å=Q›¤¾¦Ñ£{ç†]>çtS8bžt¾0¸°rFo¾NüV¤I&¾&…'g0[•>çpj“¬,¶¾)tž…í>¸i#V:ï<'‚õ@JÔž\¦Œ¸È¥¾ÀO÷åŬÄ>ÁUñÂ˾Ÿ+!jºˆ!½J:ë†9È>½ÚHœ¢åƾí'4I9ç>AÍòk“ò¾ƒÓf§tA=úžežÂÜ>Œ`á×(×>ÉãQY¨ªö¾úˆöºæß>¹–´Vó[½xˆó&ÑÏý¾>“ ñ?˜KŠàm?!¿æã°ìk‡ð>az“o°7‰=öº ,¿Ù¬ûD´¿Á¿ Eœ?F,ðvù$¿_9Sj°=$Ð÷7÷? Ð̽¼ ¿THãjU¤>¼QÅÜÈ9?q‚>âFmĽÓL©ú*Ë+?UxzܽV?¢áQ–ˆv¿£Žoó™ûc?OÐh}eï=9ŽKCÎ|¿ÞŸ¿˜}u?hNӜȿ~/é¹Ù­q¿RäŸt ¾á=,’ )“¿Bfõø&Xœ?ªõ@™¸¿ï¿BdåL¾?ýºA9âö)>ú’–m#ˆ?Ø9åâ÷qš?(O~-Ô¹¿>Ê:rY¹?t»gwÎÛá¼?Ê~Éc‘?ôcÏ$µU±¿=Årá± Ÿ¿«|㎠ú½-Æäƒ““?9=8=}ÏB?Pn© èi¿É¤¥Ô}¥Š¿¹>ýÅ$»=ëoʉ%Lh?îr¤ˆ8A@¿g²ÞC÷ ˜}Ým½°0߬ÍV¿ˆ'Ç91,!? Èâ$Æ%D¿ZÃ-$çTB¿È8o5o=p•;ÔL?“×ak˜ľ¢'¬fú+=% XÓ ¿+Òo9#þÆ>”¹ú­Œè¾q«—$’æ¾æiÛsý&=ÿ&ie¬¾ÞàµÔ_*>m‡åÅüʲ¾‹jž^0½¯¾ñ"ÞÉ?µ¼§,a?]zÊ>î´]Õ®±>£‘'‚־ƇY[áRÆ>ºж› ½óÃ@e]Ú¾Ø×éÒ¾:ÁXjeò>&½ðóM ¿Â9)Äz½F2{s^ñ>b'~û?~`.»¨~:¿«w¬AÚá?)øG¤.{½Wð%Q€€K¿›Ytsn’q¿xß*.;—?Õ'}œÌ{?t¨¡•på=è–*;¾Ž?)=¾+=µµ¿ÿôí~fzÉ?†Ô”¦µcŽ”ÝÏ¿Á¾ÿ£­‚¿ýºÏ¨B§?ª 4õºs?H90µT¸í=Bõ©–)®§¿ï×vâÔý:?FžóóçÀ`¿*Òy†µU¿à\Kjßv®=év£†¸¸T?ÉkÄP긿´9HU8?ë„Æ^Y?â„×è`З½S½¥R²2¿fÄý£Îè>ùZMúŽû¿œ¾­¿æØUìU[b½Ê4Ѥ*µú>¤µX}­o¾ãÓéÚxë’>éñ:•ÉI‡>¿Âð†øô=æ‰dDô ¶¾~&kã/€°>qŽºz0Ô¾þ¸R×¾èžûET¼p=7’W}xŸß¾·ô¬ìF÷¢>ðÕ~5Gã>жS²Ú@ù>Q)WË,½/ÅOƒŽ+¿¾ú¬5>»?I._'[/¿ßÅÎnÈšh?ÍRÈ»P:æ½RÈ;ÁAc?ÿˆjÜýèn¿ñ4}×%u?!ÅCH¤GÇ¿êà[¿7¾ÛÆ}Ù‹Ú²?¯É™ „Ž{¿(b˜š*h–?wÓû÷·?íú6ˆ´å½Ô,šu XÁ¿_VtŸ¦9¿å-z`?GÑ!3‚ÿ>j6 ¸=Ñôí‹áÂu¿Ê}øÕm;l2"ÅÝwä>•êíØÞ>§¹¶áßhŸ½Z0œ '¿])Æ«’¥¾¤™Ø9×>ƒ¬·Üm¿…“¯÷èc½ƒïîØbѾ FFm3ÿƒ>ÎÚ@\tس¾µÜ½[ÁоPµeŒè"½ÉJM‘¡¾ŠÉrK÷{·¾sÁ%ªªUà>Ž|û´1bÄ>\¬¡”!½X4—Nžá¾¥kw N˜>|9ò N˜>6!·ö›>á”O·ö›>b—N×ÝC¹¾¤×(z•O¨¾?2Í•O¨¾ºP0.Ù³?9bÕß>uêe~Õß>šÐ±{b>4¿ï½½75W7?Úݦ–5W7?çî5¤'{‹¿Ì3 óJÆx?Ý– =KÆx?–>ÂãB³Þ?%Û)«ê°? ž.«ê°?îÝ#&·|‹¿‚ÐZ{N¿« ×6{N¿ÞóJ¶ŽX4¿‘øœÏ¬º>Ä.­í¡¬º>™¢X ?Ht"Yéâ¾ìªžéâ¾j%a„xíÀ¾»Ó÷±>SøN±>ÆiŽÈÍ×¾æ}¹žiÂx¾ÇrD³Cš>8wm¦95’¾Hž™.[¾ŠŠ—º®ð²>È·ånLi|>ùX\·”¾ì”¯¼I«ª>?ÉáìǾXñ±]hߵ¨_À ¨>µïH>HǾ/&4dž×>éIšßIט¾ÛXžjF㞟ƀ 鯾6œàÈ>JJ çž;KÑ÷о}ŒŸž×>s_eCѾû+”Ú(Ôí>kLÎXڨܾѮ$U>ürW2æö?ñ·Nòèà>Ó¯(Q‡ø¾ú/¸ðk?«ye—aA$¿|‹5~* ¿”Ú¿ë¾0[õ?€¬Ï³ ð>(¤œÒ0?_Ìn…ÞÕ¿ü¯ÐI=¿­K ¨1{7?½ÙÚ«—<¿â1T³)Zp¿'óÎssD?¦¶gU±±6?ùu‹h¿ÈHàxËá0?uIE² «…?\š$Ðm?Ø/†éév?äéAM¿_ÍÀ… l‰?‚ÐXB‘°¿b˜ý F€•¿èU#ü+[»¿·ùR³°QÎ?RÛN_¼µÑ?ƒèøÄŽÞ?¸ÉÞ"ˆÅ?‰s¥©›H“?㎙m³¿þº!{L<µ¿ñ0XS~H¦¿—Ãå3Ø|?Ìù »Íõý>›âX¢"8W¿[et:¯e¿wø[B¼è‚?aéÁ3AB¿¼¼°ÿ"?ŒDðÆf +¿ •ŸüU0U¿j§ŒUBa?p/s•0ÁT?`Qa©i;\Ó?Û†?‹òeP(¿âp»…š?fU–º ãî>–`ºñ¾I°eõ ¿?– u¿Œ?äž}ʯ!?a±#­I>¿ÊM¼½¥d©>NÖWéNQ径;Mßùà>øµCqá¾21ÿjгö¾mýFO±>Š)4ƒÌhš¾@()v[³Ý¾È»Aâ]“Õ>âŸ<’ °Õ>¤}Ón3(b¾ÒÇüÛùg®> çˆbqZ¾¾®ŠJ­›¤¾ÅösXäP±>E3mGéÚs¾\ί²ÿ‡¾ú!ã%î6Ÿ>5’탲ˆ>õ OœÌ·¾ÿoedHŒ¾Fì-•Öj±>®,⾘>̤b±‰`G>(O‡³¾®Q§€¾ì;q„ ƒ >á.Pì¾ÞK ]®’>³<§cÀ>’ã€Ü·“>‰ 6ž>8¶™ø©2ç>ÍÈÅÆõÒ>7½GëOÐÙ¾µb^æç¾TA»Mý?N}£þ¿î=¥ðuFó>¯³b¼¨í ?Ù(à†&¿ÀÞAeË®P?Ðx1à&S¿œiPjdc¿Ê3RÁ‡0¿«×}æ “?m'@8ิ¿³æiydi›¿üÿÆhÛÈ¿ò;Â6_µ¿¯NæEL4g?̆(£•Ü}¿V—õËNB¿·ƒ-lªÖ¯¿;מÍiåt?§ÑH‹µ§!?×å}³P¿šÞ-$‘¢0¿»VÔÀp¿G«j¤Î2¿nú‹¤Ò>3„¤>]ʾŒÍs”O ¿”J’ka$¿âÊø‘> ?åõ éÌGž¾ydZAt¼€>ç·"Ý¡SÉ>˜Åš3üϾãþ1Œëúà¾Ô?º:BFP>ã5¹Fp¾;S&A{¾×ÿ ‡¾SÑÖüs ¬>jÉúÁ†¾Cñì¦gÖúÎ>ôø5¸¬j¹¾çJ’Çű¾Ø™ƒ0¾•ÒM8ô¾>Kõ~ü,¿ E†¤?Þè•8]?íÖϨvÿ¾xñÁsÂ?'³žèº„;¿Û_â,Sf?'õ˜6G)?i˜È&Э1?ÆöÜé¶qJ¿O®­ýy2p¿ÆMºÍˉ¼?§ jVj?›$ax­ìS¿y} ›g?^áËŠmä°?‡ ‰wÔVÀ¿Ì´%м×>^byø™d ?¸”RÚr•1¿×h»uSZ¿•ìr×å]¿Ë¦”µ±CI?÷# èJê>”,ð'®¿-J3z×ý¿gÙ¯/vÓ>qdé$Ôg’>¡¬!°Ù¾óÅ‚ Be> ]×:•’¾kÊ6x•¾ôùÿ’5â;>%är{ ш>‰NŸå&i¾\D;Ë©œ>°±}¤¾)q{¾&Ri¾Ój>il¾ Æ>”@¿“¾c-¢ç{4”¾_¥ýÁrU”¾(5r(v”¾”ö(C¨é«>°JN’¿·>û. аS“¾HË%Oáá¾¹”T¹Öý>¯áº¼ù›¿Ç#Qé·>Îӣޯ+J?h4_c­¦H¿²—µ#ÜeN¿h…ÇÇf„?KgÃ7‹¿%Û)«ê°?g û÷ë?â?a‡0òúlÁ¿ "ËXÄx?J‹7,‹„?R´g4‹¿ßC+¢I`7?–Ö¨¿…$J?üQÆEH¿ ¹Už©¸Ý>¤Ù¼œ«þ>CÏ&¶À¿+ev˜¡¾¡³3m¹>S9ä—+Ç”¾]6%[¸Më=f7àgÂx¾ÈˆîH±Cš>,ht”95’¾J ò˜.[>¸ fì­ð²>QÐCIi|>4H… ´”¾^Î̺G«ª>;õØãÿÇ>”fºÔgî³¾~7¾¾ ¨>º+q&XIט>"9ÔEãž߳ùp 鯾Î$þ™˜àÈ>+B¬瞆`è÷Ð>#ñÀ×>T«®BѾK]Cæ%Ôí>R3Ýܾۨì²r(¾jã%åö?…0úðèà>@œØN‡ø¾ì):ïk?ÿé˜aA$? * ¿}Uí¥Ä뾫SóÚ÷?$ºq‰£ ð>^"$œÒ0¿=Ò²ÝÕ¿T´ÞîH=¿ƒ¢°0{7?„pè«—<¿„ ‘±)Zp?iï!TssD?¤«E²±6?²€Çh¿=ò©ØÊá0?`ï± «…¿‘($Ðm?»t¦oéév?¥—ý¿„o€' l‰?ÇhUB‘°?kÐëE€•¿4Û7ë+[»¿\n¯¦°QÎ?4Ùg_¼µÑ?”ÁÉŽÞ¿ЄˆÅ?ཤ›H“?¸÷¶™m³¿?†xL<µ¿}²S~H¦?rùËØ|?.»UÑõý>|â§"8W¿ŸÃ:¯e¿et+A¼è‚¿½p3¸ŒAB¿Ì©sŒÿ"?àO:bf +¿ä?uüU0U¿= v˹ñ¾9èƒ ¿?]ºZ龌?ÕéEtʯ!¿ ‹ÍŒI>¿ùð§d©>ÐÄ›–OQå¾ø§ZÞùà>M”Û7qá>çÄ6гö¾1ûi£O±>¼}†çÀhš¾ðl[³Ý¾Q|KÍ]“Õ¾p:²ì °Õ>~yΚ9(b¾“Tûg®>Ñ+úrqZ¾¾"(­›¤>Ù#ïïâP±>I5Á¾çÚs¾9;µÿ‡¾*í —ì6Ÿ>;惲ˆ¾‘KÂMœÌ·¾F}ídHŒ¾"fÖj±>ЇåØà¾˜>å秉`G¾Y“ßSÂ¾ë •.O§€¾Ñ6/ƒ > ˆ´Oì¾kÌ–]®’¾½ÀÙcÀ>3®HÓ·“> ‰hž>«¨2ç>ˆPÆõÒ¾¨ØEÁNÐÙ¾ú¥\æç¾YKý?ýò¨þ¿!ü¦uFó¾ MÂg¦í ?ÎM›‡&¿ÉO¦ÛË®P? eùØà&S¿ùs¯Sjdc?ÅW¸À‡0¿ÒoÞtæ “?Šfs5:]ʾ,·Þ“O ¿Ù •ka$?Œð¾‘> ?j_ÄËGž¾—hf³a¼€>,í-#¡SÉ>Ùr3üÏ>÷²£gëúà¾Aað¥@FP>šçµlDp¾(¢7|¾1|£ ‡>A/USs ¬>B{³¿†¾@Ç0&s”ª>2í¹ÓùÎ>Cy`5¬j¹>Eêä6‚ű¾R-8Û:¾¡ky¾û¾>ï$àIü,¿wùÔ ¤¿í¡‘Ï7]?B±æ-¨vÿ¾s¿ËrÂ?Èh[»„;¿Ì_åá,Sf¿{*$6G)?0Ÿ~Э1?FfïÑ·qJ¿ÊP͸y2p¿DhµËˉ¼¿/0Vj?¨æ[­ìS¿Îcd´šg?7SpŠmä°?® zÔVÀ?P3¼×>úØ¿ù™d ??b4Ür•1¿$ÃDÓuSZ¿ã—Îs×å]?C ï±CI?ì76èJê>¹ý·'®¿vÏ ¦×ý¿u¼YÒ³W? ’5Æ?ò ÷®¾ˆ1Å&VUÆ>§yÀ°.vÓ>5xË Ôg’¾ëOëd!°Ù¾¯õÒµ Be>÷_“i•’¾Êy¯%–¾àÙ³Ï1â;¾zkc ш>~}wƒ&i¾‰CMÌ©œ>5„z{}¤¾Èx*'Ri>};”˜m¾!8¼{4”¾ÚD[@¿“¾Dœ (v”¾Ð½\rU”¾–ºÒ¦é«>ä¨,°S“¾áiúà’¿·>¨à—Náá¾UâJÕù›¿šK¤Öý>‘upÃùè·>ŠGZ­¦H¿° ¶—Æ+J?ƒ+sÛeN¿æRWhÃ7‹¿Â¿f„? ž.«ê°?a‡0òúlÁ¿ŠÔØ÷ë?â?–“/ÓXÄx?É€g4‹¿Q97,‹„?œ‚«²I`7?I?kÌEH¿,Š0Á…$J?ÆÂFª¸Ý> )9(¶À¿Udt°«þ>ê„®u˜¡¾Uèø¡+Ç”¾œ*J)3m¹>ë˜M4Gë=Oç‡Ðpg¾ ùK¥üЈ> ÆÎþq¾ÔŒ<û\¼¼äY)޲™>¬ªîµs>åV¥`2’¾k)Îý’†š>sá%Kļ¼xO눘¾Sœ‰è*˜>û i@¶¦¸¾ÛÕ¿¦Ã>Ià “]wè¼³óñ–G篾#p Ê©¾{À°ŸÉ>í{O +±¾nY·_z=Yˆ …SÐ>¦¹¢†!Ǿtf½kÊŒç>v<ò\ ·¾‰ü?‚ý£/½‰ÿÈ`xŸó>¨ øU×>$ÁÃêö¾?ÌÅ1ù>5Žj°BqW=¹— –Æòð¾ÅAùëÄ?m™I'·C!¿—;f½)?w"®L‚=˜íFš‹¿€Sfˆ!¿¿SvŪ•¹?1•ž—ñä>s ýB~‹=m(˜XŒÐ%?ði#j: ¿^EÔd XÁ>TŒ-g Ÿ5¿ñÖÇp½´|~qž3¿Æ?Ä'¡¿V?"ß­ê‹v¿tctRÓw? ƒ… Ó¹ê=¾µ~hÜ s¿`ðH-~u?„¯4¶ÀÉ¿bòè垌“?aÎUŒäÃ=ÖŒÝÞa¿¡è©±Vœ?fQÈ —¸¿»2 t¶å©¿Vùbhõ=–.‚ß\»¿Þ¯Toš?35Úñѹ¿†©ÈÌÁ¿!ÁÃNojã½âo·}çæ«¿?0L½d‘?|Ùã{W±¿‹Ì“t±(€¿®Î¯y8í½]‚ñ×ê¡?©½Œæ5éB?•ø×Ej¿«à.õGpY?Ê ó’=5òR'‹?m/Ð?F@¿ùƒŸVe\?±•ÐQ“d?¢íf¢Ùª½Ÿ;Ö(ïI,¿ì˜Âÿi'1¿6ÀdÞ¼R?3ÚS¾_wU?½…es(C¨½ Ð!7P1?¿«§ç¾U!?Óû¸¤@gD¿m˜ÅŠ?×Z§›0н“’ÅW‡–B?ܧ¶Âæ?|¥â9/J%¿©)£t}ì>@ë4?(US½1-Ö^7(0?&ŠQêìùò¾ìœNâ™?—Ðò»ë?”ºm´>|M½b;ÒŠÚ>«‚­= Bd¾³*h¨‰> §nTI>£êqöœ< «7¥ ¾Á“C%%…}¾¯š§Em{¡>±/fëÍŽ¾0; ÕDÆð¼›Ñbcê¯>ÿ˜ª{Ô²>î>ž£`²×¾pÜÚ¦¢Ô>†çãÚ­ö¹¨>Ë@î\½4Ró¥’ ?r‹ ?7]K»„:¿æEœÌÓoI?:æÄ[ —½ü¶·†à;5¿™`o “q¿CFQß?<—?÷ekÏ¿Kê´©¤Ï=$+«Ñ÷V¿ϧ†Öµµ¿[²÷ƒŸ|É?/LÅηsÙ?–b “l} >Ãý)S &Ø?Êl·|\«‚¿0iôÖ³§?ÃåK­íy¥?… C0`ñó=Ð"—âj”¿59—îè,;?aòl|ç`¿"`K H¿”Jc[:¶Ê=åYæÓì\[?°ñ·È ¿@„`ÅÃ×8?°yV0?M’ú‘ ”=ÅûB„%¿º—e–2C>.G9:ÐFh¾H™’o 4>Á<ùvç<}B‘-µŒ>íß&ØÚq¾0rð/!–>õÕ¦,`±>E‡ÒªQì¼ÇË÷Áƒ˜š¾:z43‰°>ïJ JÔ¾`×™óâ>e)£=/îM¨5§Å>¢ÝžD¢>|Ãë0œã>íÌQ(?ôˆ½6(v½P9ìðµ§¿[6ˆÙJ²?ß•ýQ?/¿·Š24¤]j¿óå§ fÕä½ à!‡Ã½`¿m˜én¿ðÇ>îu?H8†mˆÕ¿Ä»Þ]€î½&ÃYÉ?6#}J_‹{¿Ke×þd–?÷‘ ¯+ª¸?ç+ÍQiú=n ¼«¦Á¿¾¸ÍËв9¿ª®Šü¥`?‚¶ qt?“¢î*aÔÉ=2‹Ç‹XM]¿£á8é{…ʾ[¯D¿Àß>'ã–º<|%?ÃGîšH‚•=° 5u›¿hÀgÑ®³¨¾®ãe#ñAÜ>¬±·—Õ©ù>`\œ_bÆD=ŽõkAm‰ß>¬é‹~•ã>ñdúj2 ¿ál¨†¼ñ¾¨{ j6²I=÷8 ¹Ñ ?9b¦KMp¾‚ÆýKMp¾–ÉZ½q¾2@ÅÉZ½q¾±û!^›®—>Bü†D©p>Õ«!D©p>Täé¹¾ͪÝË5¦¾ÌFv2Ë5¦¾ã²ä¹? ÍÔ–vÞ>иõ¸vÞ>õy9»»P4¿*|éîbT7?^¢O5cT7?îÝ#&·|‹¿ "ËXÄx?–“/ÓXÄx?`à`Õé°Þ?½(té°?É¿4té°?kx5!ro‹¿n'o~ÆN¿¬xwe~ÆN¿´ÞCÅÂW4¿ó]•Ž«Æ>pÿ¸—«Æ>Hâ®6 ?måÎwöä¾å¼{†wöä¾Ý¬Ï&Ÿ?„O½É¢P>t,E×2r¾[Ú‰þ Ýe>Ó¾šE9;¾¬.¼–x܈¾xÞ¨R¾ °hí†k>)¡þP¿=¾` û‡àk9>:0îtˆ>›#?¹i‚¾<Ë¥Ú¼vŸ>wûÚ˜^»¬¾ïPl F[¾µ0ìS‰™>¢Q %*#Š>¥BÍžg ¨¾ ˜1NŽcš>#ìýÞV²=¾ŠN-[ª±¾S3Ü‘\¨>tìUµÇ¾!Þ»J§ò›>«ýíÓL×™¾ø$~Dkؾ†!ám4>°¾T¬ãçß§É>/öuÒ¾ÊÑBÕhaо^W–ˆRÑ>¯„¨ûTÿоl?8|Éí>Ïh¢gH>ÿ¾­‚ÅqS>v>ò¨ އò>ÿˆ«£Zá> »û¿ø¾ð(Ìc?ú>X…SLY$¿ã…¥"¿ª%Ôê¾÷fRûî?÷’pQk²?HùwxÉ0?äÅÉ*†ÿ¾Ñ(<)iG¿åß“¹ƒ7?ý1Ð4µ =¿Í:Q¶à\p¿¼ÃÈ®ND?…×6›6?¾ßžöh¿©0ÓÊÝl¿rŠå­…?(N²õO?D‘_sdêv?í?óšÞ†•¿9a “?YÒ}Ç莰¿K÷#Ý(“¿iÞíXèZ»¿Ðàþk¹QÎ?û ë®­­Ï¿< ú-Þ?`šæŠwZÊ¿*5~lJ“?ÓµSüp³¿E……’‹•?*ÏĹš:¦¿6=ýÂØ ´?ž˜—Çð&ÿ>8%¦äNW¿za¨W?ërçÉ:Û‚?ÎÒÖ c?‰ ÓÚ!?5Ÿ5*¿µÜàô¥H¿«ê|*èra?× Ž…ûìZ?š¨ŽÒŸ6Ó¾“Îeà?¸\ ºA ?> VØÇ?å´tzÚÝ&?¹aNfì$ð¾²Ûhp›?abyè£?LÍ™ã"?ÏWŽ)¿åˆ\"ë´>Qœn…@Lê¾"¢Ý.1’ñ>þ¦°—µ‰á¾h3Q´%㾟êøÞÆ&9¾¦5)ÚöÔ>uG3ja¹¾ ‡ÅÚ÷1Þ>¾VMë\æ>Í’BgZb>'Kqõ؈†¾ë¯eÕâÐo¾™?qÁËð=鸄o—>ã›Î×-HX>5:Ø6 z¾†/²U‹ú~>·ÛûF>ýx©®ä[–¾ý©¢Xï…‡¾º • )é>,†ŽŸ¸¾D€}ogΑ>\qî̳>צ˜•>Éã9`[”>ƒZâé dÀ>¼ëlDTôÒ>7¾0ØÍÖé¾M%8¨\è¾ñ°Þß<?¤y?4¢ò¾´d~ß½ó>o1ý|›?ÌØ¯c&¿9@¸â±P?ì“õÍ4‡D?½›®Œ5fc¿’'[À P?ÁѲ() “?=Ë¿žr¶´¿Ðéþ·¨m¶?ìšèsÝÈ¿~†£zQe¿ñÃXN°.g?ú‰Ä”Î}¿„pe|¡Çî¾ ’æ@ί¿W2?Áìçú!?akHîP¿ãà>7?m„p¿!i6_Ë$?a?ÔšáÊ>~ž‰}‰=É>ý?!öŸø¾wÏ9$¿CÞ‚Ç®…?«{Í>é$¾UO\Câ§G>—bÚƒwa>’yÿï†A¾£ô;íbƒ¾)ºªdY>¡MÿÑß³}¾,Yd|;À¡¾|g&uB…¾¿žä’>fÈþNE¥†¾šˆl•IÕª>ù-™Á~Q—¾+ø½_à ·¾Æ\[G8;>ܰ9Ö«¾S/Hïi¾>0 Eúûfù¾9l°`./?ÖŒ»«”‡?}k] ‰ÿ¾àõQ3ÒÙ?‰Ï8]Y¿EN¢Y^f?!mž‰*>?.ÑÝÌ{1?(¢³œ5OJ¿ âa6ø?\¿¡ÐåÛ‰¼?}†Qþºs?ú“8.ñS¿Íͳ €g?;V–¿Ï,“/YÀ¿\°³ÉÛ¯¿¹ \#W ?Š£ Bi1¿IÂè¢)¿µíw´l^¿®fFšþ&]?XÕNE\ê>á®™ÎüÌ¿rìÚ„' ¿ºé…Gù£¿AÞ û ?4Íø=8O¯>ás~æÆg¾d´IÐY}½¾«Ï»&I >4ê…Bª3Ѿ€‹–K»Ô>ÀVWЃѾ2|91Ú˜>-m)ÛÊh>ŰîCÚùi>˜ˆ•Îj>Ði4bž±j>%¥ŸkL-ƒ¾›c_D&mo¾î´:™Ëµr¾’ÊÄ?A}«>à?!Q‡·><ú ü;¿˜¾d¶Îá¾.Vêi½þ>$ ¤°¿·¦9·ï´>#¶}¾4/J?ÆPüUªH¿‚ÐZ{N¿J‹7,‹„?É€g4‹¿½(té°?ÕUn;`?â?Ô³Èh6lÁ¿?@_Èx?¬Ce>y„?"Ùó(‹¿i,b‚7?j‚%]!J?P^îósH¿ úÒÒ*Ü>Gð€UR¼ü>´G—:‚¶¿žbb÷A > È¢P>[ÑéÕ2r¾Êi o Ýe>áµ£9;>JôÒww܈¾“Ô¨ R¾Àù÷Òé†k>L],¾=¾ÓJ€ãàk9¾›”ý«sˆ>ï"†¼g‚¾÷y¶ºvŸ>í7ˆö\»¬¾{ ö‚F[>+5ÿØR‰™>¤ßóR(#Š>GÛ[´e ¨¾Ÿí(¶cš>kǦQ²=>Ö:© Zª±¾çö°Õ\¨>÷Y'vµÇ¾»¬3¨ò›>[¼êBM×™>2UóCkؾ’wÏ2>°¾lé«ܧÉ>¯’HsÒ¾B ÝÜhaÐ>¹§û¤RÑ>‘®R„Sÿоè/ yÉí>˜ž%F>ÿ¾Ø5\W>v¾¶á+[‡ò>LÈnYá>$®ìoø¿ø¾\B†×>ú>^­¬ZLY$?Ô®Bœ£"¿nîþ#Ôê¾ÆŠz¥þî?qù®Sk²?œ=K„xÉ0¿7 g†ÿ¾díÇgG¿éï82¸ƒ7?Ž*ßâ³ =¿"%8¹à\p?ò®{‰®ND?É C{7›6?•ŠM~÷h¿†ÑÉÝl¿äcP å­…¿ûá¼°õO?RÌ+Ydêv? Š€Þ†•¿=ÇÊ“?ë˜$Å莰?ãÜ”Ý(“¿wÄGèZ»¿-Ys¹QÎ?)+¦­­Ï¿²Žî-Þ¿ùRwZÊ¿9•…•lJ“?ß½p³¿8*¼’’‹•? ìÁš:¦?¢‚áØ ´?Ëmö¿'ÿ>c#ÀåNW¿®±]R¨W?GZÅ:Û‚¿¿þOÒ× c?†Ù)ŽÒÚ!?>nݲ2*¿¬Ñ¬jó¥H¿²R!èra¿Îœ–ûìZ?^¾=À¨6Ó¾ÑyTëgà?/f@0H ?¶ss\ØÇ¿- *áÙÝ&?Œm¢¢ë$ð¾X7ʶn›?kQM¥è£?êEö—ã"¿þÞÚ4(¿ÈÞà“&ë´>ÄÕBLê¾3Á‡71’ñ>÷¤©œµ‰á>î–ýû°%ã¾ëf¥ò(9¾<ûyWÜöÔ>5Ÿ8Óaa¹¾õ\0Ö÷1Þ¾¢äïVë\æ>Ù$CÊfZb>PàÏ_؈†¾'¶ÎHáÐo¾ùþÍfËð½cb£Ão—> òX+HX>}¡Î  z¾F¾ZŠú~>ë{/pžûF¾ã½›rã[–¾a¡ðì…‡¾–ï¹ö%é>þ⼸¾ mÓgΑ¾_x{̳>h3Ÿ† ˜•>Ùý;Š”>*9Ú dÀ>uÐ_OTôÒ¾¬1ÚÌÖ龺ùÀ¹Zè¾RÒ0jÝ<?k½ l/¢ò¾gÈ]ØÞ½ó¾+> |›?ûzY˜‘&¿ìâM—±P? M/v4‡D? ûb›5fc?(„FÁ P?à…&F) “?‹›ŸÊr¶´¿üxÔä¨m¶?»ÞÌósÝÈ?b˜}‚Qe¿pwYü¯.g?þžï“Î}¿t³µ~çÆî¾pÕPÏ@ί?;`Pã1?³©ï¢ú!?~&ŸªîP¿†¢ñ’=7?§Î焪p?Aæ‰Í$?ÕÌÀâ•áÊ> ’¢Ûž=É>[‹iôŸø¾eÅé3$?ŠØ…r®…?Í¿a:=é$¾áH•!à§G>úÀwÞƒwa>Èãï†A>²¬J˜ìbƒ¾ÛF(ñdY>¤>rݳ}¾N\³:À¡¾ÉÔ˜xuB…>®µèã’>îñåîC¥†¾Šå¦GÕª>G~E$|Q—¾+¡Ó`à ·>&E!F8;…mgô᫾ ®ð÷i¾>sä×*ûfù¾êH-s./¿‰V¼”‡?ÛùqÁ‰ÿ¾ß(·[ÑÙ?KSîžZY¿ «Y^f¿¼Ópó‰*>?ñ ©X{1?ÛKg4OJ¿s.öQ÷?\¿’‡wìÛ‰¼¿Ë½ÂGºs?ô½E.ñS¿´F€g?Õg–䇉–¿Öß(YÀ?²ê;ÒÉÛ¯¿}ZíC#W ?w<ÎAi1¿çj¸u¡)¿±(#m´l^?Œ%ôµþ&]?XGùlE\ê>”LìæüÌ¿¾x×J„' ¿’‘ÖFù£?8Ur.û ?ª$4ÙÕ³¾N')ǧŸ»>î3à¶àÚÆgÂ>JÙ5ûX}½¾Y+BI >˯4·«3Ѿٷ“J»Ô>'OЃÑ>)1tKÚ˜>È „žÙùi>S)vÚÊh>ñ§î±j>¬-¶C”Îj>šeyK-ƒ¾UV:r˵r¾lÝL&mo¾CêŸ?}«>¾-º;¿˜¾¶ªQ‡·>''^µÎá¾fg¨°¿ýý n½þ>žƒ¿Óï´>J¿ÿUªH¿ûÃ4/J?« ×6{N¿R´g4‹¿Q97,‹„?É¿4té°?Ô³Èh6lÁ¿ñºÏ0`?â?È!p&_Èx?SWÜ(‹¿$/y„?ákÂe‚7?Ì›QñòsH¿?³CT!J?—Á/Õ+Ü>cU˜9‚¶¿¸6º´|¼kA >ü 1Eê9>Öóó(©[¾e¬Þu [D>Õºù–†é£a¼TyÌm¾ùñççÎÚ‘¼‰3Òz-êl>C›|k¾{jg,Q Œ>:cýЛh–¾ôY -Â<¡>Cìbû>oc Ð=y>„&çŒv¨˜¾¨5S°É¨}>y®I Õú¼UŸ§âš ¾¢\*¨“˜>'Õð…Ú0¹¾%ñ u>@äýÔÖ&=ÏÁÉfľðSKFª¾Í‡Ù †Ê>šnãá̾ Œu‹]`½¢¶Ÿ.y¥Â>fáí0£@ǾZޏ€T¶ç>¼>mÉüvò¾Bû,ï:=¬è$¸èÖÚ>M_ßv¬u×> lvr÷¾}78`Ý>Àþͪn`D½!Âø ¥Øý¾V²·Ìw?,¨µ9äQ!¿Ô`†nð>²/tYn"x=ñ &f…,¿3ÍA‘ˆÙ¿>©ëu÷?ÇÀ­0§%¿B¤hÕµ”=Î[컚5?_žÑÄfC ¿Õ] KâÅ>€_ã¼M“9?ÔEʤD ½˜ÿ Y¬+?çîR‚ˆÆV?¡“”a’v¿\xÌpúc?b80Ø­y×=Ûc›øÚ|¿$¨ýè¦zu?ðËõØn¿¿ËNísºq¿ÈÄ©ôóÊ=ÔAí›3“¿>惡Rœ?&ö1­’¸¿ŒðåâjH¾?bY.h[¬=Då¼@Bˆ?&|‹gÖfš?U_¿Æ¹¿´§?éî¸??t~­*ã½äJIošõ¼?†—=5h‘?»_œ¥’]±¿Ùã^tú4Ÿ¿á ³s¬°Å½1"-|Å—“?8mGˆ°MC?:Têdhj¿ã‚?Ü걊¿Â|3.ãÉÍ=Áµ^Y h?ÛŒò°Ji@¿z¿Ô«Ò\?jÔ˜êÓG¿îTºƒ}´=WO’ˆÜc¿.1¨~2¿† ¯«‹ìS?CÖ{eÄ ¿³4T&܉= i´>¥V¿äÑÓ¢¼#?X¾<›3ïE¿@Â4³3ÿB¿V Îåµ5‹=u=2Þx ?zwzµ ';>ÕÁf†a¾£ˆ%Ž·(T¾¤W·J;¼{Qõ°ßòt>lewÝFO>REÉœr¾³É‹äë8b>\¶©UdA~¼»À_:º€¾ ýá#S€¾ Âq¦£>,0ÄZª¾š]ø}”½Sö0Ÿ>Ï9Ló³>Å"Á ؾ:ú[Ã>ºÎÜ«†$½º”¶RpHÙ¾{Πg0jÒ¾›‹MÉÍò>Åþ^ØáA ¿ùÓfÜ÷ΓV¹b.?j£d7™:¿&¿eS<\?¢+5ý·½²ÅÈf‹K¿³Õ9þô’q¿ZŽïq;—?¦‹*ã5Ñ{?!òí©é=[¾ó?_ÀŽ?©Ë1·µ¿8K?gþÉ? ¢EòDß¿×Ú›¾!à=›ñLÛÏ¿ðÈO‹³ ‚¿?w$œ§?üOá.s?;Ïj½4¾†hmÿ:ާ¿ƒf0pº;?òdV Ya¿ðCkR+V¿ÕÑ“ÃykÀ½˜i7îú{S?ø’ „”9ž&ý.>ƒ.…’Т¼giÔFa¾fàƒ ¯F>øítgªm¾uÑ’iw↾3 ¯Ä4åú<Á”™ >]>=Ÿ$„^æq¾ö @fU–>\uË Ù ã½Ð,ÏôH5=ìûO% ²¾kþtTž°>1øÖlÔ¾-Á§Áì×Ö¾m'´óU=ŽLRV-à¾5ÇÙIš%¢>FMœòŒ¶ã>éKÛúSø>û÷ À=Œ=Zø—ôùæ*¿óçaÍÒå?sØè¡sÊ/¿¨È–  h?_Ôë‘'OؽÑ +ÞBc?MO’ïÙn¿’Dôt?¶|CkÏJÇ¿¬æ³äiɽ»ÀãÍUß²?ü'g¦š{¿6k’W–?/Élíη?æ4¥¤‡Þ ¾…0¡h=Á¿•èýÀ9¿RJñI(`?oÕ®¾‹õ¾ñÔé°½!±MV•u¿KE™JJξ#± u GÜ>e”›Ùi ¿F÷d+†kˆ½¶;%Ëæõ¿³ëúüB_¿”ªç‰¢6?½‡d­ ô? íȤPÓƒ½Í ùQ³7¿ýð7æÁD>øÀF æÁD>Yâ–¹,®F>.žF¹,®F>»áð‚Õi¾!Ù1¦ðñH¾}ý3ññH¾Û'ƒ˜>²bÍA«8k>3¼º3ª8k>N™ v]߸¾T§ð…¿ˆ¥¾W‚¬¿ˆ¥¾Ï%âGÌ?K¼‡v¸-Þ>¬z,û¸-Þ>ÞóJ¶ŽX4¿ßC+¢I`7?œ‚«²I`7?kx5!ro‹¿?@_Èx?È!p&_Èx?m¦UÕ6¯Þ?“Åu‰•æ°?­¸‰•æ°?#—\ú4‹¿ñe³ÊÕO¿ô~‘ˆÊÕO¿H ~Uø’5¿ixoÒ£ìÙ>ÉÞýKŸìÙ>Y'Z|Å21¿€r¾ü&¾'îï•‘H>_d»E;¾ùmñAp¾½ý•3Ÿa`>(ÎÌÚ(>çm9yô§C¾…>›•èW>H²@BÁ‹û=•iç¹L¯^¾FCãWtU>,*.7é v¾Q‚?<#^ƒ>éó߯˾h-û Ôp¾Õæ¯Ç;a¾±°\Ÿ|€>økÞî@k¾ʸt¥V9>Ð: LXÚ†>±c,K€¾)ú½Ç ` >=¡EIŒd¾,ÐÖ`E[¾gžnfûœ®>ÂÌeþ7‹>N¹èö*©¾×áI ëáwE¾’MS«µ¹§¾ÞÞ÷¯Í¨>ý.‰×’1Ⱦäzo–°Ö>ˆx ÄÉš¾íâgþ´À^Õ-¶°¾b.¨®£Ê>ÒAe†Ä¾ÀÜÜûоPg¼ÿmP×>D ¶èhѾ…~c=Í¥î> Ž/Ä Ü¾ý:?ó€>s±€‰œ$?¾™]ká>í2x¦0™ù¾øq=‘°å?ë]9b$¿G¶ØE¿ÿyX3Pé¾L®^ùöF?]E€6eùô>²ŸQ¹Øæ0?ñŽŽÕŒ¿4ÊS濞 €/³¶7?lW¬Ú¢<¿µ‡‚[ÆVp¿ ™éóZ¢D?]þˆ¡<6?þ†™Ôg¿%,¸D!Ú0?œZÄæµ…?°zº+n?HI5Ôhìv?i$÷Z¦†•¿Y²ÖKm‰?Y ðè‚°¿ëN³"¿‚•¿7KWZ»¿XùåÐSÎ?¥Î¤³Ñ?ÈhsµÞ?`ÑYÅ?°ˆ=ÇÀP“?Í#è?y³¿ºhðÕ½Cµ¿/OE-¦¿Ð‘‚î§V}?nØpï/?³à²W¿Iðë¯Gtf¿+õ!é1¤‚?ú“/ †@¿2 Ï“'!?¶¨Ñl¸&¿éÚg£‰U¿ü(Zm>b?mì±^¾ T?sšÿº¿»à¾¸dmî?vq$Èž&¿,Ïý¿P–?o-1CÑ¿ª7âá¶á¾½½P€ÔÒu¾GzÅQ +ÿ>ÄâŸ; '?îgÌ}„L¿sm2R8¾lCB È]>–¤÷ÈLÞD>dЭïÐ…½Vb±o¾”JÐ@E°0¾Tþ£Q¸ÍR>%Ŭ•^R¾^ÅÏd&ð=l“Ä#Vm>.^ 9û9a>ÞŒc™Ùƒ¾8¦½òsé‘>Ó’,,ÂyE>%W¿‡¾¬‹ªÓÚˆ¾XÏG¶Š«>*¦Pª@X¤¾X0²~¥›‘>±1Ïդѽ>2"i øö—>8þ:à€>¸ S Àgç>ÀøÏbæäÒ>……WÅAÙ¾ ÙWo¤è¾S¤”ô?ÄÒÒ鎺¿}ä×õó>yÞ”8<™ ?˜¤¡â &¿¡.tÄ©P?¶”êèR¿šÓËŒc¿zÒÃ(·0¿E×úÄ“?a@É‚¯´¿“;ÂÓ{›¿óCÑj>åȿٞQØÊTµ¿Ý{,q9g?Ù„Ý#«}¿q]QŽ(P¿Êk½¾¯¿žôþ ‡t?ž[š%.#?óÎ2§ÊQ¿hˆMsU”2¿Zxd¤_p¿¾AÏ,1¿ÅsŽ/c[ü=#ºÊª­© ¾‰~-“Ä5¾ÄÍY((ñ½¶º‰¥}¨Y>ˆ oA‚1¾µäNÄY\U>ùɸH‘x>nú.KA¾”*È9Wáe¾íB#×Y>ªe­eX‘~¾ äC¿€l¾Ï6õá§„¾U¦×rNž¢>aæsÒœÁæáÏ€«>SîÓútŒÌ>ÁHûc¶¾ÿã䵇ª¾z¾pÖ«¸¾bP)Ä$½>ÆÍ i…¿å—æáìx?Ò\–\S?LóÂãQÚÿ¾3ûcš§D?4ï%0dp;¿Qg‹`f?ŒB$¸)?*¥å£†x1?t>ösúI¿³„µ¬1Ip¿­Å¹0wˆ¼?¢Ãš<žéj?¸Ó¬T¿áƾŸ„g?`;‚BVè°?Ìx·Ï^À¿”Ö <뿺ô ÿ$ ?#û, Î0¿†c±Ë¶Z¿ˆ]Û½Vü_¿Ûƒ!-”I?¶‘;N´#ç> øãÙõ¿$Ìk9Ï¿¶-ðžd¿•–¯ª¥h ?ä“VõÈ$ʾ–y-ëä7þ>Ë!ïðI¿«**óá"¿/dïKP¬>˜È|âB´@¾áZW•\@¾@»6XWÊA¾kOÅ:ÐA¾o^XI”Y>µÎ††µ@>²±K©é9E>a®UqKƒ¾ w^¼j¾üdÊUq¾íå†ßð•«>㈠ÿ( ·>¼2Âötš¾™.-ÓJâ¾@d%)þ>ø¤º‹™·¿‘øœÏ¬º>–Ö¨¿…$J?I?kÌEH¿n'o~ÆN¿¬Ce>y„?SWÜ(‹¿“Åu‰•æ°?Ø@<â?¥µÎÉ6gÁ¿7£'zÓx?›Ú#‚I„?u¬Á"¬ ‹¿™i%¼V28?>Œ¡ Ý[I?ò~x‡G¿ µxÇ4[Ð>¯¤IŠ&¾.H!8‘H>Ù\Ñl»E;¾0ïtƒþo¾=#z>öa`>mQ (>'Mõ§C¾3Ñq0éW>œ»=iÀ‹û½÷xÝHM¯^¾¹C§âtU>§ÀsÌé v¾QšM±#^ƒ>íý2ŒÊ>§fÝ[Ôp¾hò¹'È;a¾«U8ÛŸ|€>Ã2C@k¾ˆ¨kT¤V9¾ˆ<åXÚ†>G»Y‚,K€¾H‚C!` >/'ð·‹d¾êÒÝ…_E[>óê'üœ®>¾LsÌ8‹>€_oÝö*©¾7¶ef:‹­>!F åäwE>ó¶¹§¾a~5±°Í¨>ScQ “1ȾJ&‡—°Ö>çS0‚Éš>¨eMkgþõ6í†.¶°¾{;„—¯£Ê>xQÕe†Ä¾ÇœšûÐ>ºÈžÚnP×>,ÎTjéhѾFŠtÆÎ¥î>ÞâÅÄ Ü¾€hÏ]ø€¾%}š#$?v=ì<^ká>žß2™ù¾ÿ—ó:±å?Æð¯[9b$?A±1 E¿Ä£I%N龽õšõF?'¯kùô>$Ÿ·Øæ0¿¬êæCÖŒ¿‹ø ¿ýV\³¶7?£»%üÙ¢<¿káXÆVp?¾„Á[¢D?¦çÙº¡<6?Ò†Ð4™Ôg¿^NÓ,"Ú0?õ«~Áæµ…¿¨Ö‹$º+n? pÔhìv?-PZ¦†•¿ðã´Hm‰?„9«ïè‚°?&¿‚•¿P» ŽWZ»¿BÖÔSÎ?³i¢³Ñ?òrµÞ¿Fé–ÒYÅ?ö`*ÄÀP“?ÿE¿ñ?y³¿³pÁÓ½Cµ¿,5Æ1¦? G…ß§V}?¼R}cì/?'øƒ&²W¿:£²Gtf¿zÚNê1¤‚¿§ùŽq †@¿ºbˆ<'!?_Ýsïj¸&¿7üû·‰U¿3P g>b¿v"5¾ T?~SâÀ»à¾Ìï}®?À˜]]Èž&¿“ØPßP–¿|‰ÉZEÑ¿“ á¶á¾Ëwï½Óu¾&œ÷y +ÿ>&`; '¿ôBx‚„L¿È¥ŠR8¾å U° È]>s d@MÞD>ºÍ»?Ñ…=’Š&™±o¾… :ÛE°0¾{3¡¹ÍR>|Û“`•^R¾Þ$Nùe&ð½éÔVm>XÒû9a>(C'šÙƒ¾*‰µlté‘>VµB~ÀyE¾Â‘vW¿‡¾šÄ6¶ÔÚˆ¾õ¸š ·Š«>‚§ê@X¤¾†ç½R¥›‘¾$!2°¥Ñ½>è]Ê%ûö—>x£Jà€> ¨²¦Àgç>ˆiÃDæäÒ¾+¶­ìÅAÙ¾qèˆ^¤è¾:Vîô?÷¦Gº¿Eµ3,ó¾¸Fƒ–=™ ?‚®â &¿õq©P?(ñ†~èR¿;=¹ËŒc?Dÿ2H)·0¿Ï>Å“?VÝÉ‚¯´¿^YÄÓ{›¿u¹¬j>åÈ?•k`ØÊTµ¿O!×N9g?t9QÁ"«}¿Ð¼€(P¿„º¿d½¾¯?…2 ‡t?ß©´Ñ%.#?<_µB§ÊQ¿[GÊU”2¿ÎÏc¤_p?`™Kí ,1¿—óì¤c[ü=Ä{2®© ¾É¢ÆÄ5¾ ¾+)(ñ=C´"~¨Y>®¤‘¼‚1¾®ÉPkZ\U>ð~õ‘x>ŸÄ±-KA>ÁS5mWáe¾áBÎÎ×Y>ÛUÖhY‘~¾ìÌ+ºl¾È*çà§„>ãv`ÎNž¢>A([„ð‡¾K)õÎЀ«>¾3€zuŒÌ>$˜ö©c¶>L^Õµ‡ª¾i=¨¸¾ÅðS•Á$½>ÍD4`…¿ý…íx¿Ž«Ö\S?Ü*ñFRÚÿ¾Ã¢¸!¨D?¦"¾dp;¿¢Æ‰‹`f¿¦‹]°$¸)?D_-¡†x1??AÈ túI¿\«¬1Ip¿ø÷0wˆ¼¿ÝtUžéj?ì?iÔT¿'ù; „g?¬¬èDVè°?µï÷ Ï^À?ù–ž5ë¿O¼ù$ ?dh> Î0¿h®‹Ô˶Z¿n«ö¾Vü_?:À¥-”I?Þe´#ç>ñ ë?Ùõ¿Îa–M9Ï¿:ãqñžd?þ`í¥h ?/“.¶É$ʾ&×rå7þ>FçÂÞðI¿GX¦*óá"?ù7_XGP¬>ÙHÙ\@¾a,9C´@¾OÓÌ;ÐA¾Fžx£WÊA¾KšçI”Y>…—T¥é9E>Ò]ÜÆ†µ@>ÈþÇqKƒ¾âìšq¾Sm3 ^¼j¾®µAñ•«>MÖ)uš¾ô‰ˆ) ·>‹\,Kâ¾|ÀfŠ™·¿’_À)þ>Ä.­í¡¬º>üQÆEH¿,Š0Á…$J?¬xwe~ÆN¿"Ùó(‹¿$/y„?­¸‰•æ°?¥µÎÉ6gÁ¿¦Bo@<â?ÕµªzÓx?^.¨¬ ‹¿4 #‚I„?à*ÂV28?Ö[<}x‡G¿ÃÙ> Ý[I?ÏâçU3[Ð>Š-KÎà ¾³‹³É0>UEÀk”¾2w+6•õ‘øÊ¼ÃP>hßÄDœ6¾Uäï:¦A>sxþ³R<lo;bA¾ËÒù h?>;ß÷Öb`¾”È—yINj>x} ñ„û©¼áÉÓ¤‘€T¾&¿B‰Ÿ5M¾ÙoR“ù2m>QÈ\Q¾µŠC2>È<­ubr‡½r>„^“˜ÐUl¾‘Ãp‹ø‹>‘]xä 4¾*ÙËÞä¼,hÉZ®^˜>ÛÁœz>*cy–ò™¾€9ã·AÇœ>Â΃âíŒÝ<±o=¦v‘¾!ô¿¥ÜF™>³ë)Cº¾õŹî|Ã>²èSÅÈÕn±²ŸÄ­¾)/âßɪ¾²OñVÜÊ>Ø\5ÓT°¾;?7*c=?1íO¶Ð>ÐS>3äÅǾw4ˆHXQè>Â!­Žºp¾¬ÝôÀî0½Çµ@ï ô>Îîø‡à×>‚0Ô†Ž÷¾7tŸV](ú>£uö59P=bJpÒŒôð¾I{+Ÿ¯L?2ö´a"‡!¿i~FQÂ*?ÂöÅ™|ð`=0]‡šŸ¿ú+ü=C¿°”ï 0æ?;N„GÏä>Á¹[$)Q•=n¡ a&?öm+ep• ¿«#Íö×>dÖuúu5¿õgYÅ-•½ð&Õ_Á2¿©±:¨ÚV?‡d&31¤v¿O‘¸nzÿw?+Ž7?Ÿ1»=ûqŒ s¿®ÊÁ¾‡tu?ëÝÿ§;®¿¢#¬;»“?ÐVYΜšñ½žUÁ2¾b¿ÆÐyòCœ?àðøùø~¸¿ÁZ-ª¿ ²ï sá=$ge‘Du»¿£ÖÈÑOš?8‡‹;«¹¿DãX=gÕÁ¿&^â]›ó>ç®s¬òª¿ýÃÎÔÚs‘?Œ_åq±¿™+bx¿k»  Uº=ÕiT—¢?úŸ5§D?xÇ\X×k¿ï'2\?ø8uƽ^À¸ ‹?Öì1ª2=A¿£ÞCúY?|ù¹×3e?áhî¤q½×ú?&Ô#?G3 ôm¾eröOð6>ñî±·È(>Ü݈þ¢¼—o»HHK¾ÅûÉŽˆí!¾àAÖP=¨E>«&8Qk5¾€¬ú#Õ÷y¼™Ýxô9øS>´Ùº8R>+“UzNv¾Gik,Í|>²#bâÔ<+ʱjq¾µò¼ñ¾f– (¦®¤>yÚ f†¾ÂìÐ4ê<ü4'‘C«®>ż¡DQŒ³>÷¢ µÈ·Ø¾…d»ï+Õ>ç4- ÜE=•.;V—Ѿ.¼É.±ôÒ¾uø|n‡ó>ûƒb®ƒ±>Žèfïvr=7MÉ # ?"Ê uu?S1]Rù:¿]•Uû>~I?l™Þ!“=éwÉOx5¿Ö}Âb˜q¿Î¥YÑ/—?¬@ ¹Ð¿“¢èÚØ=û‡Ò±V¿œ.†m¤¼µ¿ªëã6‘É?ÙØ ÿ}qÙ?–!%>œ>’­bOe.Ø?óæ2¡Š‚¿ÄŒï9Èí¦?U^<*{-¥?N;p™=¦¯ ðèÓ¿Å$#Ajè=¨Wž¶Ÿ¾Ro°¶éú½«Ògü^ñ«<‰Æoqn‡6>âjùjøÏ¾J¥O eA>ºzËÌÕZ>š.­4ìáȼt¤ßG¹5¾þâ²a|G>Û-ì2Ço¾"½á"¢žd>¼&KgäͼëÇ•JU†>INvXåwr¾.šÖj<—>Êý+ êJ±>OÏl=ĽÏÞÛ‰.—¾f‚•éà°>ËrvDÂÒÔ¾ë½/lã>rQQJÄa½læfÕŽÆ>MBMMÕ¡>Ž2_ÚKãã>XŽò³¦‚(?«Àôâ‘’½œD mb*¿ŒÛªÀ¼?X¼»Ñ1¿í†½íyRj¿èžþ-̽,0øô`¿¿´Hò»n¿·Û« Ÿ­t?8Û÷úø¿Œ5Ï6áµ ¾ƒo4 É?£e?ëmH{¿5ßù©–?èý. ð6¸?®{…•7ཧºŽq¸À¿ºÆ:)q:¿¥ðÖКú`?mí¡¨¼¼t?w¥8t‘©=Ù74áa¿Õ‚±Ó³3?ÞóÊ ŠúY¿hsä-.R¿|»Þ‚ ó…=÷áUÌ-`?ü'ؾâOFؾ#ƒª\ ¾þÇ» ¾éše%Bç>>$Xe&4þ>[ÿ´^4þ>>R”ñ…Êj¾èu¾@ÆC¾¾‘ü;@ÆC¾‚`™˜>^ž…É£¯g>o”ìT¤¯g>û¢’yœ¦¹¾Œ¥ï’›¤¾ å=Q›¤¾™¢X ? ¹Už©¸Ý>ÆÂFª¸Ý>´ÞCÅÂW4¿i,b‚7?ákÂe‚7?#—\ú4‹¿7£'zÓx?ÕµªzÓx?;·÷ƒŸÞ?aþ+ýܰ?Â:þܰ?dWtO¿øJ3ÕÃåP¿{QíÂÃåP¿—Í7zS?H"˜v¥þ=ðÃqµˆF!¾³@˜yT!>mÑäMíl½ùÝ}9”¥6¾Ì`p)Þ»¾Kq.Wl>¶Pô·B0¾TßÓi.´²=®H'#ô±4> ý“µá-¾Š)³µÔ-O>‹êÂZ¾®öÆÌ¾½$à”†+E>p¸Ó`²G8>ùmÚ¬&ñW¾ê±'(@>wÕZý:ü=RÉ2bÚ½_¾…ŠË±æHW>î¤èOx¾YÚIêŽ">¤K˜²¾Ì@Kls…¾V ϸ>Çb¾sw -‚>¯IÍÎ?¼„¾«Íï5^Ò8>‡Zéâï|>TN}Öl¾øÓYP–¡>uLÝL:,®¾˜T-êJC[¾ ªXCЧ—>Ò%»Ø%>7 H;ÌN«¾?Ï"Õz§™>²HvŒhN¾ã, | ³¾Ð@ÃI©ª>Ìø"£'ʾ§Î 3¤™>ÁÖVÕÀ‚™¾·KÖDÚ¾q[ë±?²¾1Ø x¾µÍ>ñêCŸ?Ô¾î®@oÚо¯ßâœnÒ>ÎzZoÝÒ¾k&4o:Õð>³=a<3¿ºI`%œ>úpúÀ•ó>Kýœ¹‘Çâ>óJèOü¾TÑ?iÔ#û>ÖD5¾m$¿d$½Îr] ¿öè ùˆå¾ŠdüÌ4?EÛÁm„?Y+—ŠIR1?›’ÀúøÌ ¿ úå%¿ðE¼`ºA8?­}Ñöz8>¿M§í!šCp¿¥[¶hÉ¢D?¸9uZ5?Bk®T4g¿Iìq÷n¿&jØ…?§UTßkÐP?„§Dxòv?: Ú¥„•¿„øRö?h¼]üÔ`°¿ˆÔ8B-“¿þ]6¥W»¿T@U- SÎ?Y©‘ µÏ¿ê3þRIÞ?Eº‘§wHÊ¿\ð#}ôd“?16‰u•³¿~ÅÙ¡Wc•?ÛD³n¥¿p“…7Á´?wïÆáY²?ïç©’ZLZ¿[ìâôV?=!Î䯎‚?ÅC%Fÿe?þþLz{*?z~7çA"?×W3Œ‚YC¿Žx$cf??,Ew@ü^?D”j`_ñ>Iœýã´4¾XfÔ\ÅÀ¾çÌT-Öve½¬vÍŸE>\XZ¯§<>Nqà£éI,¾6÷j‘Æõ'> ^d+lнS‚7ß4D¾oF4V•û8¾d ±ØÕ]>Ó—VxŠi¾g[®Tî î=Õliw^>&N]M-c>|b}^†¾ïÚ±Àz¡t>Œ’^ †YE>ý"`±—ø•¾[‰­ÉN‹¾QùÆ<®>üëÓ„ñ“º¾iõ¥ËI˜‘>N€"Ñ)‡´>ûÌãKÌ¿ž>6ôØ,˜¾ÂTÆž=Á>ÃOØQªÒ>I•B"+!ì¾”9ðnê¾¥^l´ƒ; ?ÚœÉ0þ’÷¾zª*Xbð>ÄæÍYÛØ?@CñÃõ%¿îˆè@ލP?1UµLD?˜w5–Œ d¿Û{Ô †O?ö§ ûô’?Q½†µ–—´¿.P³JU¶?…hTDHÉ¿¹H2ìWÇa¿Ñt:IÒf?¤še dá|¿±3›Öu6?×ÄÛ¦>[¯¿l x ?ð£(ãûKÓ½Fàí?}L÷=ŒÊò`¹v>¥ ÷°¾†½îÔÃá/ü1¾€ìÍ6z>w¡{ϦX/¾7WÛÙ¬P¾ŠùG]‡´ò½äè˜æ#;>]wðWN2¾¼wü2W>^ðºð $,>0xKÞ FA¾àlBz¾% €ÔÉÄ[>BŠ–€¾Frb¿¡¾iÐA2aV„¾¢=Wm>Ågy2º®ˆ¾V?²= š­>ýXÁ×£0¾ â,#µ¾Š£ ±ºÎ¾/¢ÎH£†¾‰˜¥iÀ¤¸>¸Ã}6^û¾~T­bì?@ºS?Yx¡v¿%tX„ûª?úzái> ¿h‚\“if?ØkåX4>?lï¥Åë0? ûA·ÃH¿ŒÒ¡_¿ùKó£S‡¼?×kŒùgt?¥õ4¬2T¿²t¬ññýg?b2“¼‚:–¿9û]¬žxÀ¿¾Æ4}â°¿€~ñÝ ?×÷˜Ÿp1¿Ž×ßV›G2¿Ù»Né!h¿%WƒÏ.`?Oä•_d#?õ]#Áü˜N¿þ{U­e=ÓÁÄ>á½V¿˜ä>V»ƒb ã>? ¶°Ýt1¾#Ь„¾¡˜>ãþ¾¾¶áúâcéZ>w$u ¢ù<>î£n,6ÍB>4£ð¡$I„¾é÷µ(j¾y\º-cZq¾í[3·üj­>ïÞßû¸> )9(¶À¿ó]•Ž«Æ>j‚%]!J?Ì›QñòsH¿ñe³ÊÕO¿›Ú#‚I„?^.¨¬ ‹¿aþ+ýܰ?ÄtEïƒ6â?é>¹t:`Á¿,^ ×y?PaÎö`Oƒ?qæ°±àOŠ¿Q|»’I!?ºœ ›¥þ=•¨ÄA‰F!¾~ëT!>? ’)'’= 1Ó¤”¥6¾$heÞ»¾l\.éWl>OJ þB0¾iëÉ 6´²½ÕÛÊfô±4> 1ùµá-¾P!C&Õ-O>Í}–éêÂZ¾¥—\pÀ̾=VûpΆ+E>»&‹´²G8>Àj° 'ñW¾ÖW<Ë'(@>`«–B;ü½ë2œÍÚ½_¾#\çHW>t1DPx¾öR-ÓèŽ">J‹=µ>är¸°s…¾„vC?Çb¾³Oäî -‚>y`#@¼„¾É¿ù^Ò8¾ÃŽ'ð|>Ÿ»gÁÖl¾LíQP–¡>~g¸:,®¾î=™eKC[>i]yЧ—>K"=„Ø%>^'hÄÌN«¾Ã?Lâz§™>da©ÄŠhN>[jùW| ³¾{„´©ª> Ë™£'ʾ/I ¼2¤™>yÜðÁ‚™>Eõ£+DÚ¾!N?²¾kGO¿µÍ>yê´Ÿ?Ô¾lúPoÚÐ>W1^ËnÒ>ývY¼oÝÒ¾[RÓ:Õð>ƒh3¿%ñ;9'œ¾¸Òð®À•ó>‰ A’Çâ>9EÖ5éOü¾U„Ô#û>cȆ¾m$?–žns] ¿VW²öˆå¾‹¿Ó4?ÄÄm„?ø@—IR1¿µÉùSüÌ ¿NOÕæ%¿a—Á »A8?а{8>¿5+¯$šCp?.<^ŒÉ¢D?YÏ™žY5?r3T4g¿‰U`9øn¿åˆØmØ…¿¢¼pFlÐP?Ynr$xòv?é5¨3¥„•¿æJ/ö?™-ÿÔ`°? p9B-“¿G6ŒW»¿Û÷. SÎ?Ø µÏ¿Í´YIÞ¿ö€R©wHÊ¿k›¼sôd“?Ô:€u•³¿·mŸWc•?N ³n¥?ͽv,Á´? \µX²?xâúZLZ¿"jˤôV?vÓ诎‚¿P† Fÿe?š"ˆ|*?¢µ³—åA"?]f‚ÿ‚YC¿T({$cf¿–Ýu«@ü^?Ó§q_ñ>3 Sä´4¾zwåõÅÀ¾Ù™|ä€ve=°³.ŸE>Ü.!×§<>˜eìéI,¾ Çõ'>Ž f2mŠ=s.ß4D¾A/±Ó•û8¾¦…ËyÕ]>[A:ÑŠi¾ÃWÇeþ î½̸¼w^>Q^8ÂM-c>Ñ“õæ}^†¾ªìÒz¡t>O©Yî†YE¾x|;˜ø•¾™sœeÊN‹¾A_ï½=®>Ü\Ãüñ“º¾*¾çJ˜‘¾î¦í *‡´>ç Mοž>ûáF˜¾¼W…¶ž=Á>® :5RªÒ¾ý)úŒ+!ì¾Âat…ðnê¾ùZ·N„; ?’µŠòþ’÷¾*?^Xbð¾ú„{ÛØ?WyÝÂõ%¿:tïލP?h±ïQµLD?ŠÕô›Œ d?d;}€ †O?é0aûô’?£Àm¦–—´¿ü³‰BU¶?ñàFHÉ?'ÿ‘VXÇa¿ ¢??IÒf?Ç&(dá|¿wnbÖu6?Û“®>[¯?æ*Q x ?73í²ûKÓ½ÿáì8}L÷=ó~ç8»v>Ñ]¸ŒÒ†=3v¶\0ü1¾ƒÂ[a7z>þk_~§X/¾DòÎÚ¬P¾P›$Œ´ò=¤ÌÏTæ#;>ô_ eWN2¾·úÕb2W>2N‘;$,>ÈkwM FA>¡Ü§TlBz¾$º?ÊÄ[>Qd–€¾,VpI¿¡¾Uœª‹aV„>4ÝÖ`m>jàA¤º®ˆ¾ŸÿÙÝ š­>çꟅ¥0¾„RÞ-#µ>±¦mÕ±ºÎ¾3®ÀJF£†¾5aõ(¿¤¸>ÅnW|^û¾Žbì¿j(a?0–,‹Åë0?|Ú¶ÃH¿­îhö¡_¿“^÷ªS‡¼¿nO“Xùgt?¢ŠR 2T¿wR/Èñýg?Ê}³‚:–¿Ãž¯žxÀ?%†â°¿fùÿlñÝ ?¢îiŸp1¿ý…Z›G2¿<ý|é!h?çµÑ{Ï.`?“OÛ_d#?ʆÍü˜N¿m€JUé^Ѥ¥>ÇK] ã>¨)p,™ä>“A&÷Ýt1¾]Xz»þ¾¾˜©éø¬„¾'—2déZ>r<¾^6ÍB>Ó{Z¡ù<>ñ|3â$I„¾BpþbZq¾[<"¶(j¾T” ýj­>ƒ¢Ûx»;š¾+ßü¸>쪞éâ¾CÏ&¶À¿Udt°«þ>pÿ¸—«Æ>P^îósH¿?³CT!J?ô~‘ˆÊÕO¿u¬Á"¬ ‹¿4 #‚I„?Â:þܰ?é>¹t:`Á¿"M‚ðƒ6â?» 5×y?ª’LµàOŠ¿:é­ý`Oƒ?Ø`n’I!?i†DíÙÐè=   fk ¾T,þiZZò=ݹ)†ïq¼lÛ9¶ ̾hÅ7ìò½°7lú³æ>Íx£´Eˆ¾m*=U:>ü´L­JžD¾ÅŠKý–Ä«º@,²&>ï› "¨F¾V—Î&Q$>ë7Ò54”¼öoŸÐ… L¾âEü<âÔD>ðK{f¾ò8X¾è,P§º<±µœÌq¾—E$S¾O%L“s>ˆ°Ø:#u¾Ä Ǻ’ݼ:§6°g>œ#îÔ÷q¾ÒóKB!“>M­³qJ᜾|¾l¾NçÏ0‡ÝŠ¡m€>3Â︷ ¾ÑR‚¾†«{>êØ…x&ø¼ÑE ‚¤¾Gø-©Í*Ÿ>}œ×ëJÀ¾. !Xÿ>¾øS4J=Œ_]˜É¾ZrõC¤°¾¡–ß·]Ð>-uT¦dѾàÍ ÏHS+½O®¥n Å>‚éܦýS̾E^…aí>$ †ö¾Fh"Ì7½›|{ PÞ>’QðaeÖÛ>À‰Ú2áû¾d\÷­ƒyÝ>Ø ªË-R=佊ò¿ç”#Ÿ?"?ß™% é#¿¤¦Çgª¹ê>A…Âb |½ù&¹íV/¿:†’Ý¿{s+ÜÖ}#?®ÇtO$)¿ ì7e€=Ú:§‘(?vÆÜTÅ뿎 ‹‰{?§cÆd[D1?•„°ÒÕŸ½¡˜³Ö0?¥‰¤t¹W?±:?9…w¿%¶ìS¼ïc?¯#æÁ=4Âmêp$~¿€À–Äâºu?v2ȨZ¿âŒm߯r¿¼(\érÎ=©ACh|c”¿‡¦&4mò›?ýr/Ú⸿”¼¿©0ò½?£ëwŽÅ5½vÎ[š´‹?¾^Ûýàˆ˜?Ý3WÃ:±·¿ÄÊ´=Nùµ?ÖÀùÝ¢½ðu$K̾?èvŒ½#‚’?M߇Ã5-±¿›\¤\¢¿ÛõìÏŸaÓ=¥¹cÿÏ‘?XÄy8øî=h}å@Ú$¾&¿UË(ù¾e $•r¢ãGÌÄYÛû=¯ ;\m9!¾mhán >®¬=sЧ<3þ¯æ/E/¾¾žëš8Ä+¾­HñMjQ>àßðU¾#_=‡0¶¼ÜF1ÒúwH>Ï›ï¡)X>Á•ÕžU;~¾°Fnç[>Û»«…#dɼkÏ]HØ„¾Ü ÒA_—…¾¯7ewñ°ª>‚Ts4m°¾–ùgà±ü¼Sœšî¢>­¯w~Î'·>CP}ñуݾæ ¬ÚÃ>ô2)Y¬¿P½â²Ÿð,ß¾U¬„–ãò×¾[y[°±ú>ˆcQæ ¿®µ#4’Q½¤17Ïûó>x×ý!É©?L¹ëSÈ=¿»ôQ0„?¼0œ™“=¶#((0M¿ºBò/*Çq¿™ârr–q—?ŸµLßl{?ÌÉÏ1¬þϽ?*DStA?Â÷„hòȵ¿%íà\;µÉ?»K¼Ö~ß¿9R$ö¢x=]rÍÌ пÎÖyE Nýx²i‡é=ìÌíS ›Ö=ÇöÞ«½¼Â‚Bð ɾbø£I§›ô=dßV5Eœ¾ß²Is5¾FÔëLGµ< ÛMAÅ >5Hi5t„!¾)|ïwG>Qb…¦u<¾®~ éç½<§Ø=VG`¾çºØ?áM>³Šå(6t¾WmÌ×SŒ¾¨áMoú<9»œþ·Q>¾‚vþøSw¾ô8îÓŽOž>ï‘jl}{¾q¦1´³D=ûx©ß¶¾l¾!:þ²>5‹ ¸Û×¾+e{»CgݾT±K;=ó¨ö £eᾫëÆ}•^> ‹Æ Rê>¹e ?Zû>©?ç÷~½"ãM&ö,¿QExZÙÇ?¶Bþ$S 5¿"%y=¸ i?¢æ å‘0ä½x…ð¸…Kc?SMÞÌ¥gn¿×ØíâNœs?Ô¨–û’Ç¿‘þR}ÂÒ=‚ â-³?Ô’-.µy¿!9=¸’Г?W‰íN*̳?t‚ˆÔÔ=4àgÁ[¼¿¯«oïÄÀs¿"cUO»˜?a¾•°%™d¿b}9ÞiO´½YXI¢ý «¿¾ÌâžûÑõ=Yº)ÐûÑõ=è§š¤,ù=¡mO*¤,ù=Ž…ã㾬H½ð¬¨í½×Ò.­¨í½Çö¬[w9D>ŒÖó΄>hÞ¨!„>ƒþÅ¡ùp¾×b(;¾€›£-);¾Óï·‘Fž>ãùé†]>¦Ñ£{ç†]>j%a„xíÀ¾+ev˜¡¾ê„®u˜¡¾Hâ®6 ? úÒÒ*Ü>—Á/Õ+Ü>H ~Uø’5¿™i%¼V28?à*ÂV28?dWtO¿,^ ×y?» 5×y?p¢S'ÙsÞ?—¬FVCª°?aïqVCª°?D0|ÖæÌŽ¿¶$ðá•Ö½ õ¾ù=œŠ`e‹­ë½KƒØÕçÔ*=Zrem‹$>ˆ-J44×=nM›û–ó½T»5Z>˜A\ÜR`=»úÌ-ÿ¾Ï€:Êh+>Šð¤$H'¾¹7é©(Ý3>=W$;Ù:½¢Á_³¾œ…Ù\ú¾\›¡wÓì1>yÜÀP¾òT/°D³=+”6Ò8]7>ÿD‹^RN1¾d¶0MR>‚ÆÛê|ɽÅq¢Ù"¿½ÓCÓÃ3©_>fÖû;>»g$ñ¤[¾{w'¦òõ^>ý«]*„Êû=«Ëà”&T¾Xe%ûxZ>)íÁyæV{¾¦áÅø!Ô†>-*o#¾€ÿ6gáàp¾©yU×We¾;©qÄ–„>tWŽ^En¾lFÔêC7>A¯±Äj‹>WüýD僾Â}u"´ ¤>-oæÙ”¢e¾&ìõôªZ¾ÌÄVú‹²>KhŽÊI‰>±Ü6=œÜ®¾.+ÀKY²>)w÷Êc}W¾¹}„þx¬¾bQºç}®>ž‘°ä;\̺Õf¬Û>EvÛf¯—¾¡& 0ÿªÇ¾…Ši“ µ¾¤´V<Ñ>}NÅû¶´È¾aHõ  ѾŸ † Ý>ï XœšÅÕ¾NT àÇ’ó>;Ä%þcß¾Ça»^³>@6O?qWSA®å> ”ª5x¿¶Áü°)â?IÁÃÊê&$¿ vw$<÷¿vÖmÀVܾÃÁë?e#q&e?~¼Na 2?ŽJÕt–¿I%˜ ˜ï¿¾C}1ƒa8?Ž_-¯‰Í=¿Ù°Nœo¿<¸ ¸ûE?ßä™É¬3?Zžl ;f¿þ[݇c -?6]|Ҁ΅?Þ·NþÐOp?ã‡|åv?Žñ&.f•¿]xq“¸B‰?)ãõæï~¯¿Ä÷ñv²•¿tT°°H»¿ÐCIzÎ?Àj‰Â\˜Ñ?©©róâÓÝ?²íÎÉýÄ?6–Ö¯•”?„Yìtµ¿¬£[kƒ•´¿©.ü`P  ¿=uÚê w?´/o™Íê½;¹®-&X>˜²Æ~~õ=]RK£s%½ Ö >FÌ ¾²3E¦ß9á½1ÞÌW3>k^¬¬ä˜¾Ïdf_Ï[f½ƒßÌø>ˆ^ÉŒ³>A@0ͨ6¾„I•†‡B>ÙŒ $WA†½ðöžÎñ5¾+ä}®<¾K[Ú#¶a>äÍ¿ïJJ¾UhÊË„Kï=·œ6~ p> ›yߥ…e>C¿(^øˆ¾ˆ†Gˆ•>.ÀW ¨E>ùºUÕÑ‹¾>Ðï££Ž¾¸Ybª±>‹ÔÖ^1ì§¾Ó$ê–ïy‘>—ðÀ’bHÂ>Ò9œÒåF£>N}x/n©¾w¾*ß»Tì>ßÊ77kèÑ>GúAwN…ß¾ýÇî³xì¾ç掣z9 ?Œ°9M¿d éôã>Ê „³Ï?<iN&¿ßVXwDåP?÷Äk—àöP¿¼#º“oe¿œþ>Ã4¿‹*ˆ?9Ô’?¬f…Xgy´¿Í‹õŸáœ¿ì‰¬ RñÈ¿urðX¢µ¿eG›ÿ‹ðª=±ù¿­ KнjüE¹™Qé½d»x¿‡S=B FƒK> >kZ;–Áâ½<èïÀe>«M¾$)>/rÂ%KŸ“½]…oÙ¯Õ¾M&›âÞ >ؤK8«ä1¾CØ*xE­ñ½ÂÉpcˆQó½oß ‡ý]S>ð#_Û4¾€°Ê…^MZ>ú+§‰kâ{>ćÉÃA¾7kvÞpûe¾l4ËG?©_>‹öB9¯Ù‚¾,‚/4{{m¾¯q>¬®ƒ¾ ˆØ^Ç…¦>2O|8Ä‹¾îú0ϵŒ°>æ (AíqÑ>–ˆâ gg³¾¸DœÄâ̱¾ÊðìÀ—s¾ûÌß³ƒ²>;•TàB\¿v©DD?+­LN¦?S(¼uZx¿.nUâÿ+?Tj0kê:¿¢Y»ñ f?FtsA,?+â"%0S-?á@‰ C¿ï3ËGZ"q¿í\[Íþ0¼?z ûàªo?!Q?`äÚ_¿y¢ÀÕ|?ûØLääh±?ËUV§(Á¿â{Ø+¢¿9?›€ãÝõT¿Že„?ui´q€h¿G©iH¯¿ùI\ñu…?pÐd:ÒÀñ½þ.=^D½ñ½ˆkðÇ‹ó½6ô–ß‹ó½äK±òÑ >Yœ´þî=®Q'Ü$ð=-ÊŸL9Ñ3¾³åßA§¾“±Œð¾ÈLÒ5{^>TŸdI°€A>ñÝq#Ì{E>ظ.¨‚>‡¾Þ& ÌrFo¾çtS8bžt¾»Ó÷±>¡³3m¹>Uèø¡+Ç”¾måÎwöä¾Gð€UR¼ü>cU˜9‚¶¿ixoÒ£ìÙ>>Œ¡ Ý[I?Ö[<}x‡G¿øJ3ÕÃåP¿PaÎö`Oƒ?ª’LµàOŠ¿—¬FVCª°?u.]$Àá?€ÎOéžPÀ¿nû"ïz¿fñÌâ•Ö½qt1€¾ù=ÞQ‰'­ë½˜õ44×=j¼"Ýû–󽪌Ù$Z>µ½í"R`½îNÉ-ÿ¾L^Šh+>'#Z$H'¾=9~(Ý3>0&¹¯×:=Á­àɲ¾™²ú¾ ƒ)Óì1>¥ø4ÁP¾ÛJ¢ÿ5³½Y”Nƒ8]7>à ’RN1¾”¸HR>”ÿŽɽ?pmb½"¿=tA^3©_>>Ö6™û;>Úu¼z¤[¾ïå=+òõ^>8ãë€Êû½åN¯a&T¾;F›”xZ>{V' æV{¾¾ˆ¨!Ô†>y§Í n#>š—“;áàp¾!n¯üÖWe¾ÎÌ"³Ã–„>ª j^En¾™ÿÙéC7¾‚ Wj‹>ŠâVÉC僾"þúɳ ¤>#'-…•¢e¾r˜.3ôªZ>FQ#ú‹²>'¢°€I‰>§Oꟛܮ¾Î’³ùX²>‚êù$d}W>˜ýUÌýx¬¾‰5 d}®>¡_°ä;jhãif¬Û>jÜŽg¯—>™FôþªÇ¾èûä’ µ¾¦wn<Ñ>f…ܶ´È¾W‡# Ñ>]·Þã Ý>ñšÅÕ¾}Êz`Ç’ó>pf=dß¾@8Œº^³¾P䜦O?¤Õ íå>ªûªw¿éü)â?¦Õ²Êê&$?ª'ê;÷¿ØÁɃVܾ*t¥Ÿë?Ò R$e?Gâ>c 2¿HãéPt–¿ž~ä—ï¿vœ \‚a8?¸Ãr®‰Í=¿N+±Nœo?[¿ É·ûE?·Š4ž¬3?j„ ;f¿·Pdc -?Œ°æÒ€Î…¿Â2ûÐOp?`úQ|åv? ±q".f•¿ÇA’¸B‰?¶ê5çï~¯?Í$Åóv²•¿€Ž÷¯°H»¿ãU$zÎ?†”Â\˜Ñ?3QxóâÓݿşÉýÄ?I6¯•”?ê*DYìtµ¿/èlkƒ•´¿à&ý`P  ?ˇê w? Êš˜Íê½¹ë¿%X>Ðx~õ=wº4R‚%=ÊÏFÌ ¾Ê ãÞ9á½á¾fçV3>{*y䘾 ®ç\f=ñÃh;Ìø>5w={Œ³>MùÉf¨6¾¡'ˆÉ…‡B>ÜæÃgB†=ÐÚcYÎñ5¾;§"ì®<¾¢° ǵa>ñ#sÑîJJ¾â[‡—wKï½Éì‚û} p>w:¹l¥…e>4Ï€]øˆ¾Ÿbû.Gˆ•>ȯ ùž¨E¾2ÏËÔÑ‹¾þÁÒë¢£Ž¾«QÒæ©±>#§Œ:1ì§¾–L€îy‘¾«?pFbHÂ>èM­äF£>ÜÁ×cn©¾aÔ o»Tì>.kèѾæ¨uN…ß¾¶®¢f³xì¾ÁCaóy9 ?êþM¿ð˜üôã¾faäHÏ?MÌŸN&¿çsxžDåP?Á"­àöP¿¨í›oe?‹ö÷ÂÃ4¿ip*@9Ô’?uR^Ygy´¿~r5¢áœ¿p Ë RñÈ?{]X¢µ¿LÓ,ˆðª={iˆ Kн•û¢›Qé½ËÉÚi“ŽS½ºæK> >·}c¼Áâ½§£ëÀe>§|0¾$)>;ÃÂ3øž“=}«U¯Õ¾|N7ØáÞ >û(ªä1¾®üÞ¥F­ñ½&¿ƒ!…Qó=ãs´Qý]S>INÏ^Û4¾lèj^MZ>¡à>kâ{>H}ßËÂA>Ö¨÷Úpûe¾ñ‘ê¾>©_>Ⳃخق¾¿_,|{m¾j¤l«®ƒ>&â#Ç…¦>S T 8Ä‹¾ÌcµŒ°>Œ#ÝíqÑ>–·áfg³>¯Ö¶Õâ̱¾uCÊ—s¾ËºÎ%·ƒ²>£üèB\¿9LÜ©DD¿º9C ¦?vWrZx¿’X,?sl¼6ê:¿à¿ä·ñ f¿xÈA,?Û´p10S-?ªpj C¿] CZ"q¿õ\Íþ0¼¿JÜáªo?÷IÆ|äÚ_¿¬}³ÀÕ|?›šlãäh±?MkV§(Á?zK¡¿9?À/6âÝõT¿löe„?wL2¸q€h¿®½(jH¯?Å®+ðu…?øÃºB½ñ½ïÞµÑÀñ½iP¨ØÞ‹ó½óå®vÇ‹ó½_¤ôÚÑ >ÝsÏ$ð={–þß´þî=¿Þû8Ñ3¾OuÑ@ð¾ñJü§¾[sn5{^>{HøË{E>³|:ް€A>šuÒY‚>‡¾z)Sbžt¾0¸°rFo¾SøN±>S9ä—+Ç”¾œ*J)3m¹>å¼{†wöä¾´G—:‚¶¿¸6ºÉÞýKŸìÙ>ò~x‡G¿ÃÙ> Ý[I?{QíÂÃåP¿qæ°±àOŠ¿:é­ý`Oƒ?aïqVCª°?€ÎOéžPÀ¿GI.]$Àá?Uš8$ïz¿[ÝÅ̦þ=!*éi)!¾ó®æÐr·>ŠA8È}iq¼êH*ä8ƒ2¾²¹XKX¾Ù*Nèƒ(%>²6âP3w0¾þOêåÖ<ìÂ`°.>x±Y¡Iÿ,¾Ò»àNÿpO>*–Y@‰X¾A|%«‚üd<‡Æ<Ú>ë?>Ö6ëza9>"Ã<„ð×Z¾+Œy ¿ƒ/>ŠÕ€ø?T§¼''poñÃ_¾Î©úÅ’W>`DÑ‘y¾=î¡?:C¾n:™¦Ê[ªt­‡¾!Eƒ÷ªÈ¼ÆAÚÒöv>—=!ŠÔ‚¾‡,0cRv¤>:¿0MÚ®¾¥9Iz‰àá<ýŒã˜¡s‘>–my ¸>6Ï`u"·±¾_šŒJª>Ô!ƒT„½N“VL¹´¾þÇo2õt®>ÿ†…€Ð¾Æl6—Ú˜¾_[›tEu=}>#¬‰Ù¾2«æ§d»¾ÜtÂ%êÜ>„“x£}Þ¾þh¾’Ð8½Pð¸B¸Í>qñûŽôؾà#þsëú>y3²a’¿{iù·‹'F½lxH¦ç>ÍPéØ Ùæ>§ªéÙòú¿%ÓÖÜ>Gà‹  @=´ø§e$ ¿x±&0Ó ?2ÆQxG–&¿¸ìwUˆüç¾`âÊr½u½ÍÀ٠ˉ1¿±Ï9ZuG¿²ó"*4?¯K¿ÑNV5¿2i¾›U½Âù¾«’Á%?ò,` 2¿µ{’ÛS?MJhƒÞ[¿]ùÙÒ89Q½€qPaPB?3Á“±¡KB?õöüAÎb¿ ‘‹’-A??*88V‡Ð ½u¦·¥­bf¿û0O\^’`?¼Þå!ó¿…Öì-ê“/¿àtøÅ}jÕ=œb¡EYŠ¿öb fp¿<ˆ*/ö?¤áç¿ú—Ú=j†=[•ÔwÁÆ…?ì´X)祙¿ÏJ7zOš¹?Â-Xä fÀ¿LõÂ~ZÀ=§çÒ‘¬?¶‰ç ‘Ü•?ޱʮ¹¿)øÅè<¢?~æ>7¨=ª­p;û±»¿kLä•'Í>”:œ.F‚)¾ï\™¾Õ¨õ‚p¸>úßX>qŸl Æ4¾1Z¿äýs>Ü8ƒ$…J¡¼äíë4•B¾?ÿC€µ?¾PÛ„·êkd>AɾuMi¾ <ÞúϼÐR&¾`þX>}BüW½j>šÔ‰ô6оX éuNd>£‰Gu4ؼaf«3ÈC–¾\•$†'T•¾&à·o»>¨ÓLçü=À¾y ˜˜Í½’nåôÆÇ¯>i){#t²Á>öÄ¡ê°æ¾Ć ç@½>‹ï쉯]½X}ø*bí¾ áÞ°í¾Ìþ´‚ì? _.ïεi[½¥Öb?}?êb)?³?ÛùŸå?!@¿Šƒj /‘?w‡DXyŒ|=Ná¿/µE¿`„/'LK¿’d-hq?ÅWò½·/o¿æÚ`¤)ϽÈ*GÀîe?‹Ý±È“*t?oPrN˜¿†z‘æ„ra?™Ì³ÑQ“±½{‡³ð ¤¿Ó=ÆD\zÖ½›×u1þ=»™à‚îò=Ïê©ã&¶¶úÔ(¾ü‹ˆ­v>óAw5é0¾›ÞNjöI¾ê`áj»òÂ<„$ô& %>Ùç’3¾ñ«šîâ<[>0ð©HTP¾Èp?LÂÐ×a!Ü…¾ÿj£Ñ.ø¾[{8˜©¥ =RT—%úâh>°W.¢-\‰¾'kK6™±>ÃtÃÕ§¾Z0cù*4T=Õp‰1ñƾË+Ýrü´>Z>0 /èܾàâ»a°ò¾Eý 8 ]=æcË® °>’rI¦lzá¾â7IJj!?ÿÄN±êß¿×seV,.p=Þ‘¾@À¿ub$÷§ ? ÉûZÝ1¿Ó¯’¡TH¿¡H¡Z%À½~Ÿ^¹ýw"?Ü?ý`¸¿C¿•Ã=Vúg?u%EBCz¿Ò-[˜"’ƽtøÉñ]¿p½¬ÅRc?‚d*mzB¿z2£n:¿û†&šç{†=% !¡Í?m=ѱ~Ÿ¿¥­òÁ¦¿¢úpdÓ >·´5†>¶>?Mÿ³>¶>N›ãÜö-¾è¿BcÑtð½’þ…Ðtð½%Ã=è%¦W>£¾ÔÁÝò=œ‚ZÝò=Å¿lVš‚¾= Ü×ÐOÂ=ŠïÌÚNÂ=CSVZ¯­> "êÛŠI&¾NüV¤I&¾ÆiŽÈÍ×¾]6%[¸Më=ë˜M4Gë=ݬÏ&Ÿ?žbb÷A >´|¼kA >Y'Z|Å21¿ µxÇ4[Ð>ÏâçU3[Ð>—Í7zS?Q|»’I!?Ø`n’I!?D0|ÖæÌŽ¿nû"ïz¿Uš8$ïz¿s£»ûà?ergo-3.5/source/utilities/0000775000175000017500000000000012743400365012637 500000000000000ergo-3.5/source/utilities/matrix_utilities.cc0000664000175000017500000002760612743400307016474 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include #include "matrix_utilities.h" #include "output.h" mat::SizesAndBlocks prepareMatrixSizesAndBlocks(int n_basis_functions, int sparse_block_size, int factor1, int factor2, int factor3) { int bSizeVecTmp[5]; bSizeVecTmp[4] = 1; bSizeVecTmp[3] = sparse_block_size; bSizeVecTmp[2] = bSizeVecTmp[3] * factor1; bSizeVecTmp[1] = bSizeVecTmp[2] * factor2; bSizeVecTmp[0] = bSizeVecTmp[1] * factor3; std::vector blockSizeVector(bSizeVecTmp, bSizeVecTmp + 5); do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "creating matrix SizesAndBlocks using blockSizeVector:"); for(int i = 0; i < 5; i++) do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "blockSizeVector[%i] = %12i", i, blockSizeVector[i]); return mat::SizesAndBlocks(blockSizeVector, n_basis_functions); } /* ** Permutation help functions Note that the following functions are used to create the inverse permutation compared to the permutation used in the ergo main program. */ template struct CompareClass { RandomAccessIterator first; explicit CompareClass(RandomAccessIterator firstel) : first(firstel){} bool operator() (int i,int j) { return (*(first + i) < *(first + j));} }; template void sortCoord(std::vector const & xpos, std::vector const & ypos, std::vector const & zpos, TIndexIterator first, TIndexIterator last) throw(std::exception) { CompareClass::const_iterator> compareX(xpos.begin()); CompareClass::const_iterator> compareY(ypos.begin()); CompareClass::const_iterator> compareZ(zpos.begin()); Treal xmin = xpos[*std::min_element(first, last, compareX)]; Treal xmax = xpos[*std::max_element(first, last, compareX)]; Treal ymin = ypos[*std::min_element(first, last, compareY)]; Treal ymax = ypos[*std::max_element(first, last, compareY)]; Treal zmin = zpos[*std::min_element(first, last, compareZ)]; Treal zmax = zpos[*std::max_element(first, last, compareZ)]; Treal xrange = xmax - xmin; Treal yrange = ymax - ymin; Treal zrange = zmax - zmin; /* Sort in direction with largest range */ if (xrange>=yrange && xrange>=zrange) std::sort (first, last, compareX); else if (yrange>zrange) std::sort (first, last, compareY); else std::sort (first, last, compareZ); } template void permuteAndRecurse(std::vector const & xpos, std::vector const & ypos, std::vector const & zpos, std::vector & index, int const first, int const last, std::vector const & blockSizes, int bSizeIndex) { if (last - first > blockSizes[bSizeIndex]) { sortCoord(xpos, ypos, zpos, index.begin() + first, index.begin() + last); int sizeBox1 = 0; while (sizeBox1 < (last - first) / 2) sizeBox1 += blockSizes[bSizeIndex]; permuteAndRecurse(xpos, ypos, zpos, index, first, first + sizeBox1, blockSizes, bSizeIndex); permuteAndRecurse(xpos, ypos, zpos, index, first + sizeBox1, last, blockSizes, bSizeIndex); } else { ++bSizeIndex; if (bSizeIndex < (int)blockSizes.size()) { permuteAndRecurse(xpos, ypos, zpos, index, first, last, blockSizes, bSizeIndex); } } } template void getPermutation(std::vector const & xpos, std::vector const & ypos, std::vector const & zpos, std::vector & permutation, std::vector const & blockSizes) { permutation.resize(xpos.size()); for (unsigned int ind = 0; ind < permutation.size(); ++ind) { permutation[ind] = (int)ind; } permuteAndRecurse(xpos, ypos, zpos, permutation, 0, permutation.size(), blockSizes, 0); } /* ** End of permutation help functions*/ void getMatrixPermutation(const BasisInfoStruct& basisInfo, int sparse_block_size, int factor1, int factor2, int factor3, std::vector & permutation, std::vector & inversePermutation) { int n = basisInfo.noOfBasisFuncs; std::vector xlong(n); std::vector ylong(n); std::vector zlong(n); for(int i = 0; i < n; i++) { xlong[i] = basisInfo.basisFuncList[i].centerCoords[0]; ylong[i] = basisInfo.basisFuncList[i].centerCoords[1]; zlong[i] = basisInfo.basisFuncList[i].centerCoords[2]; } int bSizeVecTmp[5]; bSizeVecTmp[4] = 1; bSizeVecTmp[3] = sparse_block_size; bSizeVecTmp[2] = bSizeVecTmp[3] * factor1; bSizeVecTmp[1] = bSizeVecTmp[2] * factor2; bSizeVecTmp[0] = bSizeVecTmp[1] * factor3; std::vector blockSizeVector(bSizeVecTmp, bSizeVecTmp + 5); do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "creating matrix permutation using blockSizeVector:"); for(int i = 0; i < 5; i++) do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "blockSizeVector[%i] = %12i", i, blockSizeVector[i]); getPermutation(xlong, ylong, zlong, inversePermutation, blockSizeVector); permutation.resize(inversePermutation.size()); for (unsigned int ind = 0; ind < inversePermutation.size(); ++ind) permutation[inversePermutation[ind]] = ind; } void getMatrixPermutation(const BasisInfoStruct& basisInfo, int sparse_block_size, int factor1, int factor2, int factor3, std::vector & permutation) { std::vector inversePermutationDummy; getMatrixPermutation(basisInfo, sparse_block_size, factor1, factor2, factor3, permutation, inversePermutationDummy); } void getMatrixPermutationOnlyFactor2(const std::vector & xcoords, const std::vector & ycoords, const std::vector & zcoords, int sparse_block_size_lowest, int first_factor_in, // this factor may be different from 2, all other factors are always 2. std::vector & permutation, std::vector & inversePermutation) { int first_factor = first_factor_in; // If the given first_factor parameter is 1, then we proceed as if first_factor=2 anyway. This anyway gives us the permutation we want in that case. if(first_factor == 1) first_factor = 2; // Check how many levels are needed. int n = xcoords.size(); int nLevels = 2; int nTmp = n / sparse_block_size_lowest; bool first = true; while(nTmp > 1) { int currFactor = 2; if(first) { currFactor = first_factor; first = false; } nTmp /= currFactor; nLevels++; } int bSizeVecTmp[nLevels]; bSizeVecTmp[nLevels-1] = 1; bSizeVecTmp[nLevels-2] = sparse_block_size_lowest; if(nLevels >= 3) bSizeVecTmp[nLevels-3] = sparse_block_size_lowest * first_factor; for(int i = nLevels-4; i >= 0; i--) bSizeVecTmp[i] = bSizeVecTmp[i+1] * 2; std::vector blockSizeVector(bSizeVecTmp, bSizeVecTmp + nLevels); do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "creating matrix permutation using blockSizeVector (%2d levels):", nLevels); for(int i = 0; i < nLevels; i++) do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "blockSizeVector[%i] = %12i", i, blockSizeVector[i]); getPermutation(xcoords, ycoords, zcoords, inversePermutation, blockSizeVector); permutation.resize(inversePermutation.size()); for (unsigned int ind = 0; ind < inversePermutation.size(); ++ind) permutation[inversePermutation[ind]] = ind; } void getMatrixPermutationOnlyFactor2(const BasisInfoStruct& basisInfo, int sparse_block_size_lowest, int first_factor, // this factor may be different from 2, all other factors are always 2. std::vector & permutation, std::vector & inversePermutation) { int n = basisInfo.noOfBasisFuncs; std::vector xcoords(n); std::vector ycoords(n); std::vector zcoords(n); for(int i = 0; i < n; i++) { xcoords[i] = basisInfo.basisFuncList[i].centerCoords[0]; ycoords[i] = basisInfo.basisFuncList[i].centerCoords[1]; zcoords[i] = basisInfo.basisFuncList[i].centerCoords[2]; } getMatrixPermutationOnlyFactor2(xcoords, ycoords, zcoords, sparse_block_size_lowest, first_factor, permutation, inversePermutation); } void fill_matrix_with_random_numbers(int n, symmMatrix & M) { #if 1 M.random(); #else ergo_real* full = new ergo_real[n*n]; for(int i = 0; i < n; i++) for(int j = i; j < n; j++) { ergo_real a = rand() / (ergo_real)RAND_MAX; full[i*n+j] = a; full[j*n+i] = a; } M.assign_from_full(full, n, n); delete []full; #endif } static ergo_real rand_minus1_to_1() { ergo_real a = rand() / (ergo_real)RAND_MAX; // now a is between 0 and 1 a *= 2; // now a is between 0 and 2 a -= 1; // now a is between -1 and 1 return a; } void add_random_diag_perturbation(int n, symmMatrix & M, ergo_real eps) { std::vector randomVector(n); std::vector rowIndVector(n); std::vector colIndVector(n); for(int i = 0; i < n; i++) { rowIndVector[i] = i; colIndVector[i] = i; randomVector[i] = eps * rand_minus1_to_1(); } /* No permutation needed since this is a diagonal random element add. */ M.add_values(rowIndVector, colIndVector, randomVector); } /** This function is supposed to check if a matrix contains any strange numbers such as "inf" or "nan". * The function returns true is any strange numbers are found, and false if the matrix seems ok. */ bool check_if_matrix_contains_strange_elements(const symmMatrix & M, std::vector const & inversePermutationHML) { std::vector rowind; std::vector colind; std::vector values; M.get_all_values(rowind, colind, values, inversePermutationHML, inversePermutationHML); int nvalues = values.size(); for(int i = 0; i < nvalues; i++) { ergo_real x = values[i]; bool ok1 = false; if(x > -std::numeric_limits::max()) ok1 = true; bool ok2 = false; if(x < std::numeric_limits::max()) ok2 = true; if( ! (ok1 && ok2) ) return true; } return false; } void output_matrix(int n, const ergo_real* matrix, const char* matrixName) { int nn = n; printf("output_matrix for matrix '%s', n = %i:\n", matrixName, n); if(n > 15) { printf("output_matrix showing truncated matrix\n"); nn = 15; } for(int i = 0; i < nn; i++) { for(int j = 0; j < nn; j++) printf("%9.4f ", (double)matrix[i*n+j]); printf("\n"); } } ergo-3.5/source/utilities/density_projection.h0000664000175000017500000001146112743400307016642 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef DENSITY_PROJECTION #define DENSITY_PROJECTION #include "basisinfo.h" #include "matrix_typedefs.h" #include "GetDensFromFock.h" /** load_density_and_project_full loads one or two density matrices (depending on value of noOfDensityMatrices) from the file specified by densityFileName. @param densityFileName Name of file to load density matrices from @param noOfDensityMatrices Number of density matrices to load @param integralInfo static helper object for integral evaluation. @param basisInfo the basis set that the density is to be expanded into (if the original density was expressed with help of other basis set, an apriopriate projection will be performed). @param densityMatrixList must be already allocated and have proper dimension. @param do_purification determines whether an additional purification is to be run after the projection. @param noOfElectronsList is an one or two element array specyfying the number of total electrons (one element) or alpha and beta electrons (two elements). @param electronic_temperature Electronic temperature */ int load_density_and_project_full(const char *densityFileName, int noOfDensityMatrices, const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfo, ergo_real** densityMatrixList, int do_purification, const int* noOfElectronsList, ergo_real electronic_temperature); /** load_density_and_project_sparse loads one or two density matrices (depending on value of noOfDensityMatrices) from the file specified by densityFileName. The projection is done as follows: First, a matrix R is computed. R is the overlap matrix between the two basis sets. Then RT * P * R is computed, where P is the starting guess density matrix read from file. To get a final projected density one could then multiply by S_inv from both sides, but to prepare for purification the matrix S*D*S is needed, so we skip multiplication by S_inv since it will anyway be cancelled out. @param DensFromFock Instance of GetDensFromFock class contatining all data for computing the density matrix. @param densityFileName Name of file to load density matrices from @param noOfDensityMatrices Number of density matrices to load @param integralInfo static helper object for integral evaluation. @param basisInfo the basis set that the density is to be expanded into (if the original density was expressed with help of other basis set, an apriopriate projection will be performed). @param S_symm Overlap matrix @param densityMatrixList pointers to one or two empty matrices that will contain the result. Purification is always run after the projection. @param noOfElectronsList is an one or two element array specyfying the number of total electrons (one element) or alpha and beta electrons (two elements). @param matrix_size_block_info Information about HML matrix block sizes etc. @param matrixPermutationVec Permutation vector used when calling matrix lib. @param sparse_threshold Threshold used when truncating matrices. */ int load_density_and_project_sparse(GetDensFromFock &DensFromFock, const char *densityFileName, int noOfDensityMatrices, const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfo, symmMatrix & S_symm, symmMatrix** densityMatrixList, const int* noOfElectronsList, mat::SizesAndBlocks matrix_size_block_info, std::vector const & matrixPermutationVec, ergo_real sparse_threshold); #endif /* DENSITY_PROJECTION */ ergo-3.5/source/utilities/densitymanager.h0000664000175000017500000000451212743400307015740 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "basisinfo.h" /* get_no_of_primitives_for_density is a helper function for get_density. Call get_no_of_primitives_for_density to find out how long the result list needs to be. A negative return value indicates failure. */ int get_no_of_primitives_for_density(ergo_real cutoff, const ergo_real *dmat, const BasisInfoStruct & basisInfo); /* get_density creates the list resultRho using information from basisInfo and dmat, using given threshold. A negative return value indicates failure. */ int get_density(const BasisInfoStruct & basisInfo, const ergo_real* dmat, /* density matrix */ ergo_real cutoff, /* threshold */ int maxCountRho, /* maxcount for result list */ DistributionSpecStruct* resultRho); ergo_real integrate_density_in_box(int nPrims, DistributionSpecStruct* rho, ergo_real mid_x, ergo_real mid_y, ergo_real mid_z, ergo_real box_width); ergo_real integrate_density_in_box_2(int nPrims, DistributionSpecStruct* rho, ergo_real* minVect, ergo_real* maxVect, std::vector monomialIntsAdd = std::vector(3, 0)); ergo-3.5/source/utilities/density_projection.cc0000664000175000017500000004026612743400307017005 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* Projection of electron density from one basis set to another. */ #include #include #include #include "density_description_file.h" #include "density_projection.h" #include "densfromf_full.h" #include "integrals_general.h" #include "operator_matrix.h" #include "matrix_algebra.h" #include "memorymanag.h" #include "output.h" #include "utilities.h" #include "matrix_utilities.h" #if 0 static void printmatr(ergo_real* M, int n1, int n2, const char* s) { printf("matrix '%s':\n", s); int i, j; for(i = 0; i < n1; i++) { for(j = 0; j < n2; j++) printf("%8.3f ", M[i*n2+j]); printf("\n"); } } static void printmatr2(ergo_real* M, int n1, int n2, const char* s) { printf("matrix '%s':\n", s); int i, j; for(i = 0; i < n1; i++) { for(j = 0; j < n2; j++) printf("%8.3f ", M[j*n1+i]); printf("\n"); } } static void printmatrsparse(int n, int m, const normalMatrix & M_sparse, const char* s) { ergo_real* M = new ergo_real[n*m]; M_sparse.fullmatrix(M, n, m); printmatr2(M, n, m, s); delete M; } #endif int load_density_and_project_full(const char *densityFileName, int noOfDensityMatrices, const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfo, ergo_real** densityMatrixList, int do_purification, const int* noOfElectronsList, ergo_real electronic_temperature) { int n = basisInfo.noOfBasisFuncs; ergo_real* densityMatrixListForStartingGuess[2]; BasisInfoStruct* basisInfoStartingGuess = NULL; if(ddf_load_density(densityFileName, noOfDensityMatrices, *integralInfo, &basisInfoStartingGuess, densityMatrixListForStartingGuess) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in ddf_load_density"); return -1; } /* Projection part, could be a separate routine, too. */ // get matrix R : overlap of main basis and startingguess basis int n_sg = basisInfoStartingGuess->noOfBasisFuncs; ergo_real* R = ergo_new(n*n_sg, ergo_real); do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "calling compute_overlap_matrix for R"); if(compute_overlap_matrix(*basisInfoStartingGuess, basisInfo, R) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_overlap_matrix for matrix R"); return -1; } // get matrix S : main overlap matrix ergo_real* S = ergo_new(n*n, ergo_real); if(compute_overlap_matrix(basisInfo, basisInfo, S) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_overlap_matrix for matrix S"); return -1; } // get matrix Sinv : inverse of main overlap matrix // ergo_real* Sinv = ergo_new(n*n, ergo_real); do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error: get_inverse_of_posdef_symm_matrix not implemented."); return -1; /* if(get_inverse_of_posdef_symm_matrix(n, S, Sinv) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in get_inverse_of_posdef_symm_matrix"); return -1; } */ /* ELIAS NOTE 2011-09-15: Remainder of this routine removed since it could anyway not be used since get_inverse_of_posdef_symm_matrix was not implemented. */ } static int compute_R_matrix_sparse(const BasisInfoStruct & basisInfo_A, const BasisInfoStruct & basisInfo_B, normalMatrix & result_R, ergo_real sparse_threshold, std::vector const & matrixPermutationVec, std::vector const & matrixPermutationVec_sg) { int n_A = basisInfo_A.noOfBasisFuncs; int n_B = basisInfo_B.noOfBasisFuncs; std::vector nvaluesList(n_A); std::vector< std::vector > colindList(n_A); std::vector< std::vector > valuesList(n_A); if(compute_operator_matrix_sparse(basisInfo_A, basisInfo_B, 0, 0, 0, n_A, n_B, nvaluesList, colindList, valuesList) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_operator_matrix_sparse"); return -1; } // Now convert result to three vectors to prepare for HML storage. long nvalues = 0; for(int i = 0; i < n_A; i++) nvalues += nvaluesList[i]; // allocate vectors std::vector rowind(nvalues); std::vector colind(nvalues); std::vector values(nvalues); // populate vectors long count = 0; for(long i = 0; i < n_A; i++) { for(long j = 0; j < nvaluesList[i]; j++) { rowind[count] = i; colind[count] = colindList[i][j]; values[count] = valuesList[i][j]; count++; } // END FOR j } // END FOR i // Now the information is in rowind colind values. /* FIXME: there is confusion about the meaning of "rows" and "columns". Here it is reversed, otherwise it did not work. We should use the same convention for rows and columns everywhere. */ result_R.assign_from_sparse(colind, rowind, values, matrixPermutationVec_sg, matrixPermutationVec); result_R.eucl_thresh(sparse_threshold); // Write to file and read again to reduce memory fragmentation. result_R.writeToFile(); result_R.readFromFile(); return 0; } int load_density_and_project_sparse(GetDensFromFock &DensFromFock, const char *densityFileName, int noOfDensityMatrices, const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfo, symmMatrix & S_symm, symmMatrix** densityMatrixList, const int* noOfElectronsList, mat::SizesAndBlocks matrix_size_block_info, std::vector const & matrixPermutationVec, ergo_real sparse_threshold) { Util::TimeMeter timeMeter; BasisInfoStruct* basisInfoStartingGuess = NULL; long nvaluesList[2]; int* rowindList[2]; int* colindList[2]; ergo_real* valuesList[2]; // Call ddf_load_density_sparse. It will allocate rowindList, colindList, valuesList, // which we will have to delete afterwards. int noOfDensitiesRead = 0; if(ddf_load_density_sparse(densityFileName, *integralInfo, &basisInfoStartingGuess, &noOfDensitiesRead, rowindList, colindList, valuesList, nvaluesList) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in ddf_load_density_sparse"); return -1; } int n_sg = basisInfoStartingGuess->noOfBasisFuncs; // Get permutation object for starting guess basis set. int sparse_block_size = 20; int blockSizeFactor = 8; mat::SizesAndBlocks matrix_size_block_info_sg = prepareMatrixSizesAndBlocks(n_sg, sparse_block_size, blockSizeFactor, blockSizeFactor, blockSizeFactor); std::vector matrixPermutationVec_sg; getMatrixPermutation(*basisInfoStartingGuess, sparse_block_size, blockSizeFactor, blockSizeFactor, blockSizeFactor, matrixPermutationVec_sg); // Now we have one or two matrices in memory stored as vectors. Convert to symmMatrix form. symmMatrix dens_list_1_sparse[2]; int maxDensities = noOfDensityMatrices > noOfDensitiesRead ? noOfDensityMatrices : noOfDensitiesRead; for(int i = 0; i < maxDensities; i++) dens_list_1_sparse[i].resetSizesAndBlocks (matrix_size_block_info_sg, matrix_size_block_info_sg); for(int i = 0; i < noOfDensitiesRead; i++) { std::vector rowIndTmp(rowindList[i], rowindList[i] + nvaluesList[i]); std::vector colIndTmp(colindList[i], colindList[i] + nvaluesList[i]); std::vector valuesTmp(valuesList[i], valuesList[i] + nvaluesList[i]); dens_list_1_sparse[i].assign_from_sparse(rowIndTmp, colIndTmp, valuesTmp, matrixPermutationVec_sg, matrixPermutationVec_sg); dens_list_1_sparse[i].eucl_thresh(sparse_threshold); delete []rowindList[i]; delete []colindList[i]; delete []valuesList[i]; } /* Handle conversions between restricted and unrestricted. */ if(noOfDensitiesRead == 1 && noOfDensityMatrices == 2) { do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "converting restricted density into unrestricted"); dens_list_1_sparse[1] = dens_list_1_sparse[0]; } else if(noOfDensitiesRead == 2 && noOfDensityMatrices == 1) { do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "converting unrestricted density into restricted"); dens_list_1_sparse[0] += dens_list_1_sparse[1]; } // Reduce memory fragmentation by writing to file and reading in again. for(int i = 0; i < noOfDensityMatrices; i++) dens_list_1_sparse[i].writeToFile(); for(int i = 0; i < noOfDensityMatrices; i++) dens_list_1_sparse[i].readFromFile(); /* Projection part, could be a separate routine, too. */ // get matrix R : overlap of main basis and startingguess basis output_current_memory_usage(LOG_AREA_UNDEFINED, "Before getting compute_R_matrix_sparse"); normalMatrix R_sparse; R_sparse.resetSizesAndBlocks (matrix_size_block_info_sg, matrix_size_block_info); if(compute_R_matrix_sparse(basisInfo, *basisInfoStartingGuess, R_sparse, sparse_threshold, matrixPermutationVec, matrixPermutationVec_sg) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_R_matrix_sparse"); return -1; } output_current_memory_usage(LOG_AREA_UNDEFINED, "After compute_R_matrix_sparse"); // Now calculate RT * P * R for each density matrix // FIXME: implement BT * P * B in matrix library. B is normalMatrix, P is symmMatrix. Result is symm. for(int i = 0; i < noOfDensityMatrices; i++) { normalMatrix PR_sparse; PR_sparse.resetSizesAndBlocks (matrix_size_block_info_sg, matrix_size_block_info); do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "trying to create PR_sparse"); Util::TimeMeter timeMeterPR; PR_sparse = (ergo_real)1.0 * dens_list_1_sparse[i] * R_sparse; timeMeterPR.print(LOG_AREA_UNDEFINED, "PR_sparse = P * R multiplication"); PR_sparse.eucl_thresh(sparse_threshold); output_current_memory_usage(LOG_AREA_UNDEFINED, "After creating PR_sparse"); dens_list_1_sparse[i].clear(); normalMatrix RT; RT.resetSizesAndBlocks (matrix_size_block_info, matrix_size_block_info_sg); RT = transpose(R_sparse); normalMatrix RT_P_R; RT_P_R.resetSizesAndBlocks (matrix_size_block_info, matrix_size_block_info); RT_P_R = (ergo_real)1.0 * RT * PR_sparse; output_current_memory_usage(LOG_AREA_UNDEFINED, "After creating RT_P_R"); RT.clear(); PR_sparse.clear(); RT_P_R.eucl_thresh(sparse_threshold); *densityMatrixList[i] = RT_P_R; densityMatrixList[i]->eucl_thresh(sparse_threshold); } // Now we do not need R_sparse any more. R_sparse.clear(); // Projection done. Now do purification to force idempotency and correct trace. // densityMatrixList now contains RT * P * R for each density matrix. output_current_memory_usage(2, "While doing projection of starting guess (2)."); for(int i = 0; i < noOfDensityMatrices; i++) { symmMatrix SDS; SDS.resetSizesAndBlocks (matrix_size_block_info, matrix_size_block_info); SDS = *densityMatrixList[i]; SDS *= -1.0; output_current_memory_usage(LOG_AREA_UNDEFINED, "After creating matrix -SDS"); if(noOfElectronsList == NULL) return -1; symmMatrix F_ort_prev_dummy; F_ort_prev_dummy.resetSizesAndBlocks (matrix_size_block_info, matrix_size_block_info); int noOfOccupiedOrbs = noOfElectronsList[i]; if(noOfDensityMatrices == 1) noOfOccupiedOrbs /= 2; do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "calling get_dens_from_fock_general for SDS to force idempotency and correct trace of starting guess"); // The result of purification will be placed in densityMatrixList[i], but it is not used as input, // so we can clear it now to free up some memory. densityMatrixList[i]->clear(); densityMatrixList[i]->writeToFile(); F_ort_prev_dummy.writeToFile(); SDS.writeToFile(); DensFromFock.set_no_occupied_orbs(noOfOccupiedOrbs); // save old values int use_stochastic_orbitals = DensFromFock.get_use_stochastic_orbitals(); int do_sparsity_investigation = DensFromFock.get_do_sparsity_investigation(); int do_comparison_to_simple_purification = DensFromFock.get_do_comparison_to_simple_purification(); int do_puri_mmul_tests = DensFromFock.get_do_puri_mmul_tests(); int use_diag_on_error = DensFromFock.get_use_diag_on_error(); /* Needed for the old stopping criterion !!! The threshold for the eigenvalue error is multiplied by some value (usually making it lower). Used just for the initial guess density matrix, since we want eigenvalues be closer to 0 and 1. */ ergo_real puri_eig_acc_factor_for_guess = DensFromFock.get_puri_eig_acc_factor_for_guess(); ergo_real eigvalueErrorLimit_old = DensFromFock.get_eigvalueErrorLimit(); DensFromFock.set_eigvalueErrorLimit(eigvalueErrorLimit_old*puri_eig_acc_factor_for_guess); if(noOfDensityMatrices == 1) DensFromFock.set_generate_figures(0, ""); else { if(i == 0) DensFromFock.set_generate_figures(0, "_alpha"); else if (i == 1) DensFromFock.set_generate_figures(0, "_beta"); else DensFromFock.set_generate_figures(0, "_i"); // just in case } // unset parameters which we do not need here DensFromFock.unset_use_stochastic_orbitals(); DensFromFock.unset_do_sparsity_investigation(); DensFromFock.unset_do_comparison_to_simple_purification(); DensFromFock.unset_do_puri_mmul_tests(); DensFromFock.unset_use_diag_on_error(); DensFromFock.clean_eigs_intervals(); if(DensFromFock.get_dens_from_fock(SDS, *densityMatrixList[i], F_ort_prev_dummy) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in get_dens_from_fock."); return -1; } // return old values if( use_stochastic_orbitals == 1 ) DensFromFock.set_use_stochastic_orbitals(); if( do_sparsity_investigation == 1 ) DensFromFock.set_do_sparsity_investigation(); if( do_comparison_to_simple_purification == 1 ) DensFromFock.set_do_comparison_to_simple_purification(); if( do_puri_mmul_tests == 1 ) DensFromFock.set_do_puri_mmul_tests(); if( use_diag_on_error == 1 ) DensFromFock.set_use_diag_on_error(); DensFromFock.unset_generate_figures(); DensFromFock.set_eigvalueErrorLimit(eigvalueErrorLimit_old); // needed for the old stopping criterion output_current_memory_usage(LOG_AREA_UNDEFINED, "After get_dens_from_fock_general"); do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "get_dens_from_fock_general finished OK."); } // END FOR i delete basisInfoStartingGuess; timeMeter.print(LOG_AREA_UNDEFINED, "load_density_and_project_sparse"); return 0; } ergo-3.5/source/utilities/integral_matrix_wrappers.cc0000664000175000017500000006056712743400307020214 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include "integral_matrix_wrappers.h" #include "output.h" #include "basis_func_pair_list_1el.h" #include "integrals_1el_kinetic.h" #include "integrals_1el_potential.h" #include "operator_matrix.h" #include "basis_func_pair_list.h" #include "integrals_2el_boxed.h" #include "integrals_2el_coulomb.h" #include "integrals_2el_exchange.h" #include "integrals_2el_exchange_prep.h" #include "utilities.h" #include "memorymanag.h" static ergo_real get_max_charge(const Molecule& molecule) { ergo_real maxCharge = 0; for(int i = 0; i < molecule.getNoOfAtoms(); i++) { ergo_real currCharge = molecule.getAtom(i).charge; if(currCharge > maxCharge) maxCharge = currCharge; } return maxCharge; } int compute_V_sparse(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, const Molecule& molecule, ergo_real threshold, ergo_real boxSize, symmMatrix & V, std::vector const & permutationHML) { int n = basisInfo.noOfBasisFuncs; ergo_real maxCharge = get_max_charge(molecule); do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "compute_V_sparse, no of atoms = %5i, maxCharge = %6.2f", molecule.getNoOfAtoms(), (double)maxCharge); int noOfBasisFuncIndexPairs = get_basis_func_pair_list_1el(basisInfo, threshold, maxCharge, NULL, 2000000000); if(noOfBasisFuncIndexPairs <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in get_basis_func_pair_list_1el, noOfBasisFuncIndexPairs = %i", noOfBasisFuncIndexPairs); return -1; } std::vector basisFuncIndexPairList(noOfBasisFuncIndexPairs); std::vector V_list(noOfBasisFuncIndexPairs); noOfBasisFuncIndexPairs = get_basis_func_pair_list_1el(basisInfo, threshold, maxCharge, &basisFuncIndexPairList[0], noOfBasisFuncIndexPairs); if(noOfBasisFuncIndexPairs <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in get_basis_func_pair_list_1el, noOfBasisFuncIndexPairs = %i", noOfBasisFuncIndexPairs); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "noOfBasisFuncIndexPairs = %i ==> storing %6.2f %% of a full matrix", noOfBasisFuncIndexPairs, (double)100*noOfBasisFuncIndexPairs/((double)n*n)); if(compute_V_and_gradient_linear(basisInfo, integralInfo, molecule, threshold, boxSize, &basisFuncIndexPairList[0], &V_list[0], noOfBasisFuncIndexPairs, false, NULL, NULL) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_V_and_gradient_linear"); return -1; } // Now transfer result from V_list to V { std::vector rowind(noOfBasisFuncIndexPairs); std::vector colind(noOfBasisFuncIndexPairs); std::vector V_list_Tmp(&V_list[0], &V_list[noOfBasisFuncIndexPairs]); for(int i = 0; i < noOfBasisFuncIndexPairs; i++) { rowind[i] = basisFuncIndexPairList[i].index_1; colind[i] = basisFuncIndexPairList[i].index_2; } V.assign_from_sparse(rowind, colind, V_list_Tmp, permutationHML, permutationHML); } return 0; } int compute_gradient_of_nucl_and_trDV(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, const Molecule& molecule, ergo_real threshold, ergo_real boxSize, const symmMatrix & densityMatrix_sparse, std::vector const & permutationHML, ergo_real* result_gradient_list) { int n = basisInfo.noOfBasisFuncs; ergo_real maxCharge = get_max_charge(molecule); do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "compute_gradient_of_tr_D_V, no of atoms = %5i, maxCharge = %6.2f", molecule.getNoOfAtoms(), (double)maxCharge); int noOfBasisFuncIndexPairs = get_basis_func_pair_list_1el(basisInfo, threshold, maxCharge, NULL, 2000000000); if(noOfBasisFuncIndexPairs <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in get_basis_func_pair_list_1el, noOfBasisFuncIndexPairs = %i", noOfBasisFuncIndexPairs); return -1; } std::vector basisFuncIndexPairList(noOfBasisFuncIndexPairs); std::vector V_list(noOfBasisFuncIndexPairs); noOfBasisFuncIndexPairs = get_basis_func_pair_list_1el(basisInfo, threshold, maxCharge, &basisFuncIndexPairList[0], noOfBasisFuncIndexPairs); if(noOfBasisFuncIndexPairs <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in get_basis_func_pair_list_1el, noOfBasisFuncIndexPairs = %i", noOfBasisFuncIndexPairs); return -1; } // Get density matrix elements std::vector D_list(noOfBasisFuncIndexPairs); { std::vector rowind(noOfBasisFuncIndexPairs); std::vector colind(noOfBasisFuncIndexPairs); for(int i = 0; i < noOfBasisFuncIndexPairs; i++) { rowind[i] = basisFuncIndexPairList[i].index_1; colind[i] = basisFuncIndexPairList[i].index_2; } densityMatrix_sparse.get_values(rowind, colind, D_list, permutationHML, permutationHML); } do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "noOfBasisFuncIndexPairs = %i ==> storing %6.2f %% of a full matrix", noOfBasisFuncIndexPairs, (double)100*noOfBasisFuncIndexPairs/((double)n*n)); if(compute_V_and_gradient_linear(basisInfo, integralInfo, molecule, threshold, boxSize, &basisFuncIndexPairList[0], &V_list[0], noOfBasisFuncIndexPairs, true, &D_list[0], result_gradient_list) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_V_and_gradient_linear"); return -1; } return 0; } ergo_real get_electron_nuclear_attraction_energy(const IntegralInfo& integralInfo, const Molecule& molecule, const BasisInfoStruct& basisInfo, const symmMatrix & D, ergo_real threshold_integrals_1el, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML) { // Get V symmMatrix V; V.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); ergo_real boxSize = 10.0; if(compute_V_sparse(basisInfo, integralInfo, molecule, threshold_integrals_1el, boxSize, V, permutationHML) != 0) throw "error in compute_V_sparse"; return symmMatrix::trace_ab(D, V); } int compute_T_sparse(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, ergo_real threshold, symmMatrix & T, std::vector const & permutationHML) { int n = basisInfo.noOfBasisFuncs; std::vector nvaluesList(n); std::vector colindList(n); std::vector valuesList(n); if(compute_T_matrix_sparse(basisInfo, threshold, n, &nvaluesList[0], &colindList[0], &valuesList[0]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_T_matrix_sparse"); return -1; } // Now convert result to three vectors so prepare for HML storage. int nvalues = 0; for(int i = 0; i < n; i++) nvalues += nvaluesList[i]; // allocate vectors std::vector rowind(nvalues); std::vector colind(nvalues); std::vector values(nvalues); // populate vectors int count = 0; for(int i = 0; i < n; i++) { for(int j = 0; j < nvaluesList[i]; j++) { rowind[count] = i; colind[count] = colindList[i][j]; values[count] = valuesList[i][j]; count++; } // END FOR j } // END FOR i // Now the information is in rowind colind values. // free memory allocated by compute_operator_matrix_sparse. for(int i = 0; i < n; i++) { ergo_free(colindList[i]); ergo_free(valuesList[i]); } T.assign_from_sparse(rowind, colind, values, permutationHML, permutationHML); return 0; } static int check_diagonal_elements_of_overlap_matrix(int n, const symmMatrix & S_symm) { std::vector rowind(n); std::vector colind(n); std::vector values(n); for(int i = 0; i < n; i++) { rowind[i] = i; colind[i] = i; } S_symm.get_values(rowind, colind, values); ergo_real maxabsdiff = 0; for(int i = 0; i < n; i++) { ergo_real absdiff = std::fabs(values[i] - 1); if(absdiff > maxabsdiff) maxabsdiff = absdiff; } do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "diag elements of ovl matrix differ from 1 by at most %9.6g", (double)maxabsdiff); if(maxabsdiff > 1e-3) { do_output(LOG_CAT_WARNING, LOG_AREA_UNDEFINED, "WARNING: bad overlap matrix: diag elements of ovl matrix differ from 1 by more than safe limit."); do_output(LOG_CAT_WARNING, LOG_AREA_UNDEFINED, "WARNING: bad overlap matrix: diag elements of ovl matrix differ from 1 by more than safe limit."); do_output(LOG_CAT_WARNING, LOG_AREA_UNDEFINED, "WARNING: bad overlap matrix: diag elements of ovl matrix differ from 1 by more than safe limit."); do_output(LOG_CAT_WARNING, LOG_AREA_UNDEFINED, "WARNING: this means that basis functions are not completely normlized."); do_output(LOG_CAT_WARNING, LOG_AREA_UNDEFINED, "WARNING: this means that basis functions are not completely normlized."); do_output(LOG_CAT_WARNING, LOG_AREA_UNDEFINED, "WARNING: this means that basis functions are not completely normlized."); } return 0; } int compute_overlap_matrix_sparse(const BasisInfoStruct& basisInfo, symmMatrix & S_symm, std::vector const & permutationHML) { if(compute_operator_matrix_sparse_symm(basisInfo, 0, 0, 0, S_symm, permutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_operator_matrix_sparse_symm"); return -1; } // check diagonal elements of overlap matrix int n = basisInfo.noOfBasisFuncs; check_diagonal_elements_of_overlap_matrix(n, S_symm); return 0; } typedef int* int_ptr; typedef ergo_real* ergo_real_ptr; int compute_operator_matrix_sparse_symm(const BasisInfoStruct& basisInfo, int pow_x, int pow_y, int pow_z, symmMatrix & A_symm, std::vector const & permutationHML) { int n = basisInfo.noOfBasisFuncs; std::vector nvaluesList(n); std::vector< std::vector > colindList(n); std::vector< std::vector > valuesList(n); if(compute_operator_matrix_sparse(basisInfo, basisInfo, pow_x, pow_y, pow_z, n, n, nvaluesList, colindList, valuesList) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_operator_matrix_sparse"); return -1; } // Now convert result to three vectors so prepare for HML storage. int nvalues = 0; for(int i = 0; i < n; i++) nvalues += nvaluesList[i]; // allocate vectors std::vector rowind(nvalues); std::vector colind(nvalues); std::vector values(nvalues); // populate vectors int count = 0; for(int i = 0; i < n; i++) { for(int j = 0; j < nvaluesList[i]; j++) { rowind[count] = i; colind[count] = colindList[i][j]; values[count] = valuesList[i][j]; count++; } // END FOR j } // END FOR i normalMatrix A_norm(A_symm); A_norm.assign_from_sparse(rowind, colind, values, permutationHML, permutationHML); // Convert to symmetric form. A_symm = A_norm; A_norm.clear(); // Earlier, the matrix was truncated here but we changed this so it is truncated outside this routine. // Write to file and read again to reduce memory fragmentation. A_symm.writeToFile(); A_symm.readFromFile(); return 0; } int compute_J_by_boxes_sparse(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, const JK::Params& J_K_params, symmMatrix & J, const symmMatrix & densityMatrix_sparse, std::vector const & permutationHML) { Util::TimeMeter timeMeter; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "compute_J_by_boxes_sparse() start."); Util::TimeMeter timeMeterWriteAndReadAll; std::string sizesStr = mat::FileWritable::writeAndReadAll(); timeMeterWriteAndReadAll.print(LOG_AREA_DENSFROMF, "FileWritable::writeAndReadAll"); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, ((std::string)"writeAndReadAll: '" + sizesStr).c_str()); int n = basisInfo.noOfBasisFuncs; ergo_real maxDensityMatrixElement = densityMatrix_sparse.maxAbsValue(); do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "compute_J_by_boxes_sparse, maxDensityMatrixElement = %22.11f", (double)maxDensityMatrixElement); std::vector basisFuncIndexPairList; int noOfBasisFuncIndexPairs = get_basis_func_pair_list_2el(basisInfo, integralInfo, J_K_params.threshold_J, maxDensityMatrixElement, basisFuncIndexPairList); if(noOfBasisFuncIndexPairs <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in get_basis_func_pair_list, noOfBasisFuncIndexPairs = %i", noOfBasisFuncIndexPairs); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "compute_J_by_boxes_sparse: noOfBasisFuncIndexPairs = %i ==> storing %6.2f %% of a full matrix", noOfBasisFuncIndexPairs, (double)100*noOfBasisFuncIndexPairs/((double)n*n)); // Setup D_list std::vector D_list(noOfBasisFuncIndexPairs); { std::vector rowind(noOfBasisFuncIndexPairs); std::vector colind(noOfBasisFuncIndexPairs); for(int i = 0; i < noOfBasisFuncIndexPairs; i++) { rowind[i] = basisFuncIndexPairList[i].index_1; colind[i] = basisFuncIndexPairList[i].index_2; } densityMatrix_sparse.get_values(rowind, colind, D_list, permutationHML, permutationHML); } std::vector J_list(noOfBasisFuncIndexPairs); output_current_memory_usage(LOG_AREA_UNDEFINED, "Before calling compute_J_by_boxes_linear"); if(compute_J_by_boxes_linear(basisInfo, integralInfo, J_K_params, &basisFuncIndexPairList[0], noOfBasisFuncIndexPairs, &D_list[0], &J_list[0], noOfBasisFuncIndexPairs) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_J_by_boxes_linear"); return -1; } output_current_memory_usage(LOG_AREA_UNDEFINED, "After calling compute_J_by_boxes_linear"); // Now transfer result from J_list to J { std::vector rowind(noOfBasisFuncIndexPairs); std::vector colind(noOfBasisFuncIndexPairs); for(int i = 0; i < noOfBasisFuncIndexPairs; i++) { rowind[i] = basisFuncIndexPairList[i].index_1; colind[i] = basisFuncIndexPairList[i].index_2; } J.assign_from_sparse(rowind, colind, J_list, permutationHML, permutationHML); output_current_memory_usage(LOG_AREA_UNDEFINED, "After J.assign_from_sparse"); } timeMeter.print(LOG_AREA_UNDEFINED, "compute_J_by_boxes_sparse total"); return 0; } static int get_CSR_from_symmMatrix(int n, const symmMatrix & A, std::vector const & inversePermutationHML, csr_matrix_struct & CSR) { std::vector rowind; std::vector colind; std::vector values; A.get_all_values(rowind, colind, values, inversePermutationHML, inversePermutationHML); int nvalues = values.size(); // switch rows and columns if necessary for(int i = 0; i < nvalues; i++) { int row = rowind[i]; int col = colind[i]; if(row > col) { rowind[i] = col; colind[i] = row; } } if(ergo_CSR_create(&CSR, 1, n, nvalues, &rowind[0], &colind[0]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in ergo_CSR_create."); return -1; } for(int i = 0; i < nvalues; i++) { ergo_CSR_add_to_element(&CSR, rowind[i], colind[i], values[i]); } // check that CSR matrix is correct. for(int i = 0; i < nvalues; i++) { if(ergo_CSR_get_element(&CSR, rowind[i], colind[i]) != values[i]) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error checking CSR matrix."); return -1; } } return 0; } static int get_CSR_from_normalMatrix(int n, const normalMatrix & A, std::vector const & inversePermutationHML, csr_matrix_struct & CSR) { std::vector rowind; std::vector colind; std::vector values; A.get_all_values(rowind, colind, values, inversePermutationHML, inversePermutationHML); int nvalues = values.size(); if(ergo_CSR_create(&CSR, 0, n, nvalues, &rowind[0], &colind[0]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in ergo_CSR_create."); return -1; } for(int i = 0; i < nvalues; i++) { ergo_CSR_add_to_element(&CSR, rowind[i], colind[i], values[i]); } // check that CSR matrix is correct. for(int i = 0; i < nvalues; i++) { if(ergo_CSR_get_element(&CSR, rowind[i], colind[i]) != values[i]) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "Error in get_CSR_from_normalMatrix, error checking CSR matrix."); return -1; } } return 0; } /** Returns the exchange matrix multiplied by 0.5. * To get the correct value multiply K by 2. */ int compute_K_by_boxes_sparse(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, const JK::ExchWeights & CAM_params, const JK::Params& J_K_params, symmMatrix & K, symmMatrix & densityMatrix_sparse, std::vector const & permutationHML, std::vector const & inversePermutationHML) { Util::TimeMeter timeMeter; int n = basisInfo.noOfBasisFuncs; output_current_memory_usage(LOG_AREA_UNDEFINED, "Beginning of compute_K_by_boxes_sparse"); csr_matrix_struct dens_CSR; memset(&dens_CSR, 0, sizeof(csr_matrix_struct)); csr_matrix_struct K_CSR; memset(&K_CSR, 0, sizeof(csr_matrix_struct)); if(get_CSR_from_symmMatrix(n, densityMatrix_sparse, inversePermutationHML, dens_CSR) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in get_CSR_from_symmMatrix"); return -1; } // set up CSR K matrix for result // note that this call will allocate memory, we must call ergo_CSR_destroy later. if(create_CSR_for_K(basisInfo, integralInfo, J_K_params, &dens_CSR, &K_CSR, 1) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_K_by_boxes"); return -1; } densityMatrix_sparse.writeToFile(); output_current_memory_usage(LOG_AREA_UNDEFINED, "Before calling compute_K_by_boxes"); if(compute_K_by_boxes(basisInfo, integralInfo, CAM_params, J_K_params, NULL, &K_CSR, NULL, &dens_CSR, 1) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_K_by_boxes"); return -1; } output_current_memory_usage(LOG_AREA_UNDEFINED, "After calling compute_K_by_boxes"); // collect result // Convert K matrix from CSR to HML format. int nvalues = ergo_CSR_get_nvalues(&K_CSR); std::vector rowind(nvalues); std::vector colind(nvalues); std::vector values(nvalues); if(ergo_CSR_get_values(&K_CSR, &rowind[0], &colind[0], &values[0], nvalues) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in ergo_CSR_get_values."); return -1; } // now the information is in the vectors rowind colind values, we can free memory for K_CSR. ergo_CSR_destroy(&K_CSR); K.assign_from_sparse(rowind, colind, values, permutationHML, permutationHML); ergo_CSR_destroy(&dens_CSR); densityMatrix_sparse.readFromFile(); timeMeter.print(LOG_AREA_UNDEFINED, "compute_K_by_boxes_sparse total"); return 0; } #if 0 static void get_fullmatrix_from_normalMatrix(int n, const normalMatrix & A, std::vector const & inversePermutationHML, ergo_real* full) { std::vector rowind; std::vector colind; std::vector values; A.get_all_values(rowind, colind, values, inversePermutationHML, inversePermutationHML); int nvalues = values.size(); for(int i = 0; i < n*n; i++) full[i] = 0; for(int i = 0; i < nvalues; i++) { int p = rowind[i]; int q = colind[i]; full[p*n+q] = values[i]; } } #endif int compute_K_by_boxes_sparse_nosymm(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, const JK::ExchWeights & CAM_params, const JK::Params& J_K_params, normalMatrix & K, normalMatrix & densityMatrix_sparse, std::vector const & permutationHML, std::vector const & inversePermutationHML) { Util::TimeMeter timeMeter; int n = basisInfo.noOfBasisFuncs; output_current_memory_usage(LOG_AREA_UNDEFINED, "Beginning of compute_K_by_boxes_sparse"); csr_matrix_struct dens_CSR; memset(&dens_CSR, 0, sizeof(csr_matrix_struct)); csr_matrix_struct K_CSR; memset(&K_CSR, 0, sizeof(csr_matrix_struct)); csr_matrix_struct K_CSR_2; memset(&K_CSR, 0, sizeof(csr_matrix_struct)); if(get_CSR_from_normalMatrix(n, densityMatrix_sparse, inversePermutationHML, dens_CSR) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in get_CSR_from_normalMatrix"); return -1; } // set up CSR K matrix for result // note that this call will allocate memory, we must call ergo_CSR_destroy later. if(create_CSR_for_K(basisInfo, integralInfo, J_K_params, &dens_CSR, &K_CSR, 0) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_K_by_boxes"); return -1; } if(create_CSR_for_K(basisInfo, integralInfo, J_K_params, &dens_CSR, &K_CSR_2, 0) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_K_by_boxes"); return -1; } densityMatrix_sparse.writeToFile(); output_current_memory_usage(LOG_AREA_UNDEFINED, "Before calling compute_K_by_boxes"); if(compute_K_by_boxes(basisInfo, integralInfo, CAM_params, J_K_params, NULL, &K_CSR, NULL, &dens_CSR, 0) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in compute_K_by_boxes"); return -1; } output_current_memory_usage(LOG_AREA_UNDEFINED, "After calling compute_K_by_boxes"); // collect result // Convert K matrix from CSR to HML format. int nvalues = ergo_CSR_get_nvalues(&K_CSR); std::vector rowind(nvalues); std::vector colind(nvalues); std::vector values(nvalues); if(ergo_CSR_get_values(&K_CSR, &rowind[0], &colind[0], &values[0], nvalues) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_UNDEFINED, "error in ergo_CSR_get_values."); return -1; } // now the information is in the vectors rowind colind values, we can free memory for K_CSR. ergo_CSR_destroy(&K_CSR); K.assign_from_sparse(rowind, colind, values, permutationHML, permutationHML); ergo_CSR_destroy(&dens_CSR); densityMatrix_sparse.readFromFile(); timeMeter.print(LOG_AREA_UNDEFINED, "compute_K_by_boxes_sparse total"); return 0; } ergo-3.5/source/utilities/mat_acc_extrapolate.h0000664000175000017500000001061612743400307016727 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef ERGO_MAT_ACC_EXTRAPOLATE_HEADER #define ERGO_MAT_ACC_EXTRAPOLATE_HEADER #include #include "matrix_utilities.h" template class MatAccInvestigator { public: explicit MatAccInvestigator(mat::SizesAndBlocks const & matrix_size_block_info_); void Scan(const Tworker & worker, Treal firstParam, Treal stepFactor, int nSteps); void GetScanResult(Treal* threshList_, Treal* errorList_frob_, Treal* errorList_eucl_, Treal* errorList_maxe_, Treal* timeList_); private: mat::SizesAndBlocks matrix_size_block_info; int nScanSteps; Treal baseThresh; std::vector threshList; std::vector errorList_frob; // Frobenius norm std::vector errorList_eucl; // Euclidean norm std::vector errorList_maxe; // Max element norm std::vector timeList; }; template MatAccInvestigator::MatAccInvestigator(mat::SizesAndBlocks const & matrix_size_block_info_) : matrix_size_block_info(matrix_size_block_info_) {} template void MatAccInvestigator ::Scan(const Tworker & worker, Treal firstParam, Treal stepFactor, int nSteps) { nScanSteps = nSteps; baseThresh = firstParam; threshList.resize(nSteps); errorList_frob.resize(nSteps); errorList_eucl.resize(nSteps); errorList_maxe.resize(nSteps); timeList.resize(nSteps); // Prepare matrix objects symmMatrix accurateMatrix; accurateMatrix.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix otherMatrix; otherMatrix.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix errorMatrix; errorMatrix.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); // Compute "accurate" matrix worker.ComputeMatrix(firstParam, accurateMatrix); // Compute other matrices and compare them to "accurate" matrix Treal currParam = firstParam; for(int i = 0; i < nSteps; i++) { currParam *= stepFactor; time_t startTime, endTime; time(&startTime); worker.ComputeMatrix(currParam, otherMatrix); time(&endTime); timeList[i] = endTime - startTime; threshList[i] = currParam; // Compute error matrix errorMatrix = otherMatrix; errorMatrix += (ergo_real)(-1) * accurateMatrix; // Compute different norms of error matrix // Frobenius norm errorList_frob[i] = errorMatrix.frob(); // Euclidean norm Treal euclAcc = 1e-11; errorList_eucl[i] = errorMatrix.eucl(euclAcc); // Max element norm errorList_maxe[i] = compute_maxabs_sparse(errorMatrix); } } template void MatAccInvestigator ::GetScanResult(Treal* threshList_, Treal* errorList_frob_, Treal* errorList_eucl_, Treal* errorList_maxe_, Treal* timeList_) { for(int i = 0; i < nScanSteps; i++) { threshList_[i] = threshList[i]; errorList_frob_[i] = errorList_frob[i]; errorList_eucl_[i] = errorList_eucl[i]; errorList_maxe_[i] = errorList_maxe[i]; timeList_ [i] = timeList [i]; } } #endif ergo-3.5/source/utilities/simple_lanczos.h0000664000175000017500000001241212743400307015746 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef SIMPLE_LANCZOS_HEADER #define SIMPLE_LANCZOS_HEADER #include "realtype.h" #include #include namespace simple_lanczos { ergo_real simple_lanczos_get_vector_norm(int n, const ergo_real* v); void simple_lanczos_normalize_vector(int n, ergo_real* v); void simple_lanczos_get_eigs(int n, ergo_real* M, ergo_real & currEig_lo, ergo_real* bestVector_lo, ergo_real & currEig_hi, ergo_real* bestVector_hi, ergo_real* eigValListResult); template void do_lanczos_method(int n, const ergo_real* guessVector, ergo_real & resultEig_lo, ergo_real* resultVec_lo, ergo_real & resultEig_hi, ergo_real* resultVec_hi, const Tmatvecmul & matvecmul, int maxIterations_in, ergo_real shift, ergo_real extraEnergy) { if(n == 1) { // Special case for n=1, in this case we need only one "matrix-vector" (really scalar) multiplication to get all info we need. ergo_real tmpVec1[1]; tmpVec1[0] = 1; ergo_real tmpVec2[1]; tmpVec2[0] = 0; matvecmul.do_mat_vec_mul(n, tmpVec1, tmpVec2); ergo_real eigenValue = tmpVec2[0]; resultEig_lo = eigenValue; resultEig_hi = eigenValue; resultVec_lo[0] = 1; resultVec_hi[0] = 1; } typedef ergo_real* ergo_real_ptr; int maxIterations = maxIterations_in; if(maxIterations > n) maxIterations = n; ergo_real** q = new ergo_real_ptr[n+1]; q[0] = new ergo_real[n]; for(int i = 0; i < n; i++) q[0][i] = 0; q[1] = new ergo_real[n]; for(int i = 0; i < n; i++) q[1][i] = guessVector[i]; simple_lanczos_normalize_vector(n, q[1]); std::vector z(n); std::vector alpha(n+1); std::vector beta(n+1); beta[0] = 0; ergo_real currEig_lo = 0; ergo_real currEig_hi = 0; ergo_real curr_E_lo = 0; ergo_real curr_E_hi = 0; for(int j = 1; j <= maxIterations; j++) { // Do matrix-vector multiplication matvecmul.do_mat_vec_mul(n, q[j], &z[0]); // OK, matrix-vector multiplication done alpha[j] = 0; for(int i = 0; i < n; i++) alpha[j] += q[j][i] * z[i]; for(int i = 0; i < n; i++) z[i] = z[i] - alpha[j] * q[j][i] - beta[j-1] * q[j-1][i]; beta[j] = simple_lanczos_get_vector_norm(n, &z[0]); #if 0 ergo_real tmp[n][n]; for(int kk = 0; kk < n; kk++) { ergo_real vv[n]; ergo_real xx[n]; for(int mm = 0; mm < n; mm++) xx[mm] = 0; for(int mm = 0; mm < n; mm++) vv[mm] = 0; vv[kk] = 1; matvecmul.do_mat_vec_mul(n, vv, xx); for(int mm = 0; mm < n; mm++) tmp[kk][mm] = xx[mm]; } printf("MATRIX:\n"); for(int kk = 0; kk < n; kk++) { for(int mm = 0; mm < n; mm++) printf(" %12.6f", tmp[kk][mm]); printf("\n"); } #endif ergo_real* T = new ergo_real[j*j]; for(int i = 0; i < j*j; i++) T[i] = 0; for(int i = 0; i < j; i++) T[i*j+i] = alpha[i+1]; for(int i = 0; i < j-1; i++) { T[i*j+(i+1)] = beta[i+1]; T[(i+1)*j+i] = beta[i+1]; } ergo_real bestVector_lo[maxIterations+1]; ergo_real bestVector_hi[maxIterations+1]; simple_lanczos_get_eigs(j, T, currEig_lo, bestVector_lo, currEig_hi, bestVector_hi, NULL); // Set resultVec_lo for(int k = 0; k < n; k++) { ergo_real sum = 0; for(int i = 1; i <= j; i++) sum += bestVector_lo[i-1] * q[i][k]; resultVec_lo[k] = sum; } // Set resultVec_hi for(int k = 0; k < n; k++) { ergo_real sum = 0; for(int i = 1; i <= j; i++) sum += bestVector_hi[i-1] * q[i][k]; resultVec_hi[k] = sum; } curr_E_lo = currEig_lo + extraEnergy + shift; curr_E_hi = currEig_hi + extraEnergy + shift; if(beta[j] < 1e-11 && j > 1) break; if(j == maxIterations) break; q[j+1] = new ergo_real[n]; for(int i = 0; i < n; i++) q[j+1][i] = z[i] / beta[j]; } // end for j resultEig_lo = curr_E_lo; resultEig_hi = curr_E_hi; simple_lanczos_normalize_vector(n, resultVec_lo); simple_lanczos_normalize_vector(n, resultVec_hi); } } // end namespace simple_lanczos #endif ergo-3.5/source/utilities/simple_lanczos.cc0000664000175000017500000000547112743400307016113 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "../matrix/mat_gblas.h" #include "simple_lanczos.h" #include "output.h" #include #include namespace simple_lanczos { ergo_real simple_lanczos_get_vector_norm(int n, const ergo_real* v) { ergo_real sqSum = 0; for(int i = 0; i < n; i++) sqSum += v[i] * v[i]; return std::sqrt(sqSum); } void simple_lanczos_normalize_vector(int n, ergo_real* v) { ergo_real factor = 1.0 / simple_lanczos_get_vector_norm(n, v); for(int i = 0; i < n; i++) v[i] *= factor; } void simple_lanczos_get_eigs(int n, ergo_real* M, ergo_real & currEig_lo, ergo_real* bestVector_lo, ergo_real & currEig_hi, ergo_real* bestVector_hi, ergo_real* eigValListResult) { int lwork = 3*n*n; ergo_real* work = new ergo_real[lwork]; ergo_real* eigvalList = new ergo_real[n]; ergo_real* A = new ergo_real[n*n]; memcpy(A, M, n*n*sizeof(ergo_real)); int info = 0; mat::syev("V", "U", &n, A, &n, eigvalList, work, &lwork, &info); if(info != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_CI, "error in syev, info = %i", info); throw("error in syev"); } if(bestVector_lo) { for(int i = 0; i < n; i++) bestVector_lo[i] = A[0*n+i]; } if(bestVector_hi) { for(int i = 0; i < n; i++) bestVector_hi[i] = A[(n-1)*n+i]; } if(eigValListResult) { for(int i = 0; i < n; i++) eigValListResult[i] = eigvalList[i]; } currEig_lo = eigvalList[0]; currEig_hi = eigvalList[n-1]; delete [] work; delete [] eigvalList; delete [] A; } } // end namespace simple_lanczos ergo-3.5/source/utilities/density_description_file.cc0000664000175000017500000011647412743400307020160 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* An interface file for writing and reading density matrices from a file. */ #define _LARGEFILE_SOURCE 1 #include #include #include #include #include #include #include #include #include "density_description_file.h" #include "densfromf_full.h" #include "integrals_general.h" #include "matrix_algebra.h" #include "memorymanag.h" #include "output.h" #include "utilities.h" // Version number. // This is written as part of the header. // Should be changed if the implementation is changed in such a way // that old density files will no longer work. const int DENSITY_FILE_VERSION_NUMBER = 10002; // Matrix storage types #define MATRIX_STORAGE_TYPE_FULL 1 #define MATRIX_STORAGE_TYPE_TRIANGLE 2 #define MATRIX_STORAGE_TYPE_VECTORS 3 const ergo_real THRESHOLD_FOR_VECTOR_STORAGE = 1e-12; // File header. // We want this to contain an even number of integers, // to avoid compilers inserting padding. // We use double instead of size_t for sizes to ensure compatibility of density files. typedef struct { int densityFileVersion; int typeOfMatrixStorage; int noOfShells; int noOfBasisFuncs; int noOfDensityMatrices; int padding_int; double matrixSize_1; double matrixSize_2; double fileSizeInBytes; } densityFileHeaderStruct; /** stores the upper triangle of a square matrix in the specified memory block. @param p memory block @param n matrix dimension @param matrix square matrix */ static void ddf_store_triangular_matrix(char* p, int n, const ergo_real* matrix) { ergo_real* resultPtr = (ergo_real*)p; long count = 0; for(long i = 0; i < n; i++) for(long j = i; j < n; j++) { resultPtr[count] = matrix[i*n+j]; count++; } } /** stores the upper triangle of the matrix given by the matrix_description_struct in the specified memory block. @param p memory block @param n matrix dimension @param matrix matrix */ static void ddf_store_triangular_matrix_sparse(char* p, long n, matrix_description_struct* matrix) { ergo_real* resultPtr = (ergo_real*)p; long totCount = n*(n+1) / 2; memset(resultPtr, 0, totCount*sizeof(ergo_real)); for(long i = 0; i < matrix->nvalues; i++) { long row = matrix->rowind[i]; long col = matrix->colind[i]; ergo_real value = matrix->values[i]; // Make sure (row,col) refers to upper triangle. if(col < row) { long tmp = row; row = col; col = tmp; } long index = row*n+col-row*(row+1)/2; resultPtr[index] = value; } } static void ddf_get_triangular_matrix_from_storage(const char* p, long n, ergo_real* resultMatrix) { const ergo_real* sourcePtr = (ergo_real*)p; long count = 0; for(long i = 0; i < n; i++) for(long j = i; j < n; j++) { ergo_real a = sourcePtr[count]; resultMatrix[i*n+j] = a; resultMatrix[j*n+i] = a; count++; } } static void ddf_get_triangular_matrix_from_storage_sparse(const char* p, int n, int* rowind, int* colind, ergo_real* values) { const ergo_real* sourcePtr = (ergo_real*)p; long count = 0; for(long i = 0; i < n; i++) for(long j = i; j < n; j++) { ergo_real a = sourcePtr[count]; rowind[count] = i; colind[count] = j; values[count] = a; count++; } } static int ddf_get_nvalues_symm_matrix(int n, const ergo_real* matrix) { long nvalues = 0; for(long i = 0; i < n; i++) for(long j = i; j < n; j++) { if(std::fabs(matrix[i*n+j]) > THRESHOLD_FOR_VECTOR_STORAGE) nvalues++; } return nvalues; } static int ddf_store_matrix_as_vectors(char* p, int n, const ergo_real* matrix, size_t sizeInBytes) { long nvalues = ddf_get_nvalues_symm_matrix(n, matrix); if(sizeInBytes != nvalues*(sizeof(ergo_real)+2*sizeof(int))) return -1; int* rowind = (int*)p; int* colind = &rowind[nvalues]; ergo_real* values = (ergo_real*)(&rowind[2*nvalues]); long count = 0; for(long i = 0; i < n; i++) for(long j = i; j < n; j++) { if(std::fabs(matrix[i*n+j]) > THRESHOLD_FOR_VECTOR_STORAGE) { if(count >= nvalues) return -1; rowind[count] = i; colind[count] = j; values[count] = matrix[i*n+j]; count++; } } // END FOR i j return 0; } static int ddf_store_matrix_as_vectors_sparse(char* p, int n, matrix_description_struct* matrix, size_t sizeInBytes) { long nvalues = matrix->nvalues; if(sizeInBytes != nvalues*(sizeof(ergo_real)+2*sizeof(int))) return -1; int* rowind = (int*)p; int* colind = &rowind[nvalues]; ergo_real* values = (ergo_real*)(&rowind[2*nvalues]); for(long i = 0; i < nvalues; i++) { rowind[i] = matrix->rowind[i]; colind[i] = matrix->colind[i]; values[i] = matrix->values[i]; } return 0; } static int ddf_get_matrix_from_vector_storage(const char* p, size_t sizeInBytes, int n, ergo_real* resultMatrix) { int nBytesPerElement = sizeof(ergo_real)+2*sizeof(int); if(sizeInBytes % nBytesPerElement != 0) return -1; long nvalues = sizeInBytes / nBytesPerElement; int* rowind = (int*)p; int* colind = &rowind[nvalues]; ergo_real* values = (ergo_real*)(&rowind[2*nvalues]); memset(resultMatrix, 0, n*n*sizeof(ergo_real)); for(long i = 0; i < nvalues; i++) { long row = rowind[i]; long col = colind[i]; ergo_real value = values[i]; resultMatrix[row*n+col] = value; resultMatrix[col*n+row] = value; } return 0; } static int ddf_get_matrix_from_vector_storage_sparse(const char* p, size_t sizeInBytes, int n, int* rowind2, int* colind2, ergo_real* values2) { int nBytesPerElement = sizeof(ergo_real)+2*sizeof(int); if(sizeInBytes % nBytesPerElement != 0) return -1; long nvalues = sizeInBytes / nBytesPerElement; int* rowind = (int*)p; int* colind = &rowind[nvalues]; ergo_real* values = (ergo_real*)(&rowind[2*nvalues]); for(long i = 0; i < nvalues; i++) { rowind2[i] = rowind[i]; colind2[i] = colind[i]; values2[i] = values[i]; } return 0; } static size_t ddf_get_matrix_storage_size(int storageType, int n, const ergo_real* matrix) { size_t storageSize = 0; switch(storageType) { case MATRIX_STORAGE_TYPE_FULL: storageSize = n*n*sizeof(ergo_real); break; case MATRIX_STORAGE_TYPE_TRIANGLE: storageSize = (n * (n+1) / 2) * sizeof(ergo_real); break; case MATRIX_STORAGE_TYPE_VECTORS: storageSize = ddf_get_nvalues_symm_matrix(n, matrix) * (sizeof(ergo_real) + 2*sizeof(int)); break; default: do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_storage_size: unknown storage type %i", storageType); return 0; } return storageSize; } static size_t ddf_get_matrix_storage_size_sparse(int storageType, int n, matrix_description_struct* matrix) { size_t storageSize = 0; switch(storageType) { case MATRIX_STORAGE_TYPE_FULL: storageSize = n*n*sizeof(ergo_real); break; case MATRIX_STORAGE_TYPE_TRIANGLE: storageSize = (n * (n+1) / 2) * sizeof(ergo_real); break; case MATRIX_STORAGE_TYPE_VECTORS: storageSize = matrix->nvalues * (sizeof(ergo_real) + 2*sizeof(int)); break; default: do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_storage_size_sparse: unknown storage type %i", storageType); return 0; } return storageSize; } static int ddf_store_matrix(char* p, size_t sizeInBytes, int n, const ergo_real* matrix, int storageType) { size_t sizeNeeded = 0; switch(storageType) { case MATRIX_STORAGE_TYPE_FULL: sizeNeeded = n*n*sizeof(ergo_real); if(sizeNeeded != sizeInBytes) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_store_matrix: (sizeNeeded != sizeInBytes)"); return -1; } memcpy(p, matrix, sizeNeeded); break; case MATRIX_STORAGE_TYPE_TRIANGLE: sizeNeeded = (n * (n+1) / 2) * sizeof(ergo_real); if(sizeNeeded != sizeInBytes) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_store_matrix: (sizeNeeded != sizeInBytes)"); return -1; } ddf_store_triangular_matrix(p, n, matrix); break; case MATRIX_STORAGE_TYPE_VECTORS: if(ddf_store_matrix_as_vectors(p, n, matrix, sizeInBytes) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_store_matrix_as_vectors."); return -1; } break; default: do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_store_matrix: unknown storage type %i", storageType); return -1; } return 0; } static int ddf_store_matrix_sparse(char* p, size_t sizeInBytes, int n, matrix_description_struct* matrix, int storageType) { size_t sizeNeeded = 0; switch(storageType) { case MATRIX_STORAGE_TYPE_FULL: do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_store_matrix_sparse: MATRIX_STORAGE_TYPE_FULL not supported."); return -1; break; case MATRIX_STORAGE_TYPE_TRIANGLE: sizeNeeded = (n * (n+1) / 2) * sizeof(ergo_real); if(sizeNeeded != sizeInBytes) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_store_matrix: (sizeNeeded != sizeInBytes)"); return -1; } ddf_store_triangular_matrix_sparse(p, n, matrix); break; case MATRIX_STORAGE_TYPE_VECTORS: if(ddf_store_matrix_as_vectors_sparse(p, n, matrix, sizeInBytes) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_store_matrix_as_vectors."); return -1; } break; default: do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_store_matrix: unknown storage type %i", storageType); return -1; } return 0; } static int ddf_get_matrix_nvalues_from_storage(const char* p, size_t sizeInBytes, int n, long* result_nvalues, int storageType) { switch(storageType) { case MATRIX_STORAGE_TYPE_FULL: // In this case the needed nvalues is n*n *result_nvalues = n*n; break; case MATRIX_STORAGE_TYPE_TRIANGLE: *result_nvalues = (n * (n+1) / 2); break; case MATRIX_STORAGE_TYPE_VECTORS: { int nBytesPerElement = sizeof(ergo_real)+2*sizeof(int); if(sizeInBytes % nBytesPerElement != 0) return -1; *result_nvalues = sizeInBytes / nBytesPerElement; } break; default: do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_nvalues_from_storage: unknown storage type %i", storageType); return -1; } return 0; } static int ddf_get_matrix_from_storage(const char* p, size_t sizeInBytes, int n, ergo_real* resultMatrix, int storageType) { size_t sizeNeeded = 0; switch(storageType) { case MATRIX_STORAGE_TYPE_FULL: sizeNeeded = n*n*sizeof(ergo_real); if(sizeNeeded != sizeInBytes) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_from_storage: (sizeNeeded != sizeInBytes)"); return -1; } memcpy(resultMatrix, p, sizeNeeded); break; case MATRIX_STORAGE_TYPE_TRIANGLE: sizeNeeded = (n * (n+1) / 2) * sizeof(ergo_real); if(sizeNeeded != sizeInBytes) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_store_matrix: (sizeNeeded != sizeInBytes)"); return -1; } ddf_get_triangular_matrix_from_storage(p, n, resultMatrix); break; case MATRIX_STORAGE_TYPE_VECTORS: if(ddf_get_matrix_from_vector_storage(p, sizeInBytes, n, resultMatrix) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_from_vector_storage."); return -1; } break; default: do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_from_storage: unknown storage type %i", storageType); return -1; } return 0; } static int ddf_get_matrix_from_storage_sparse(const char* p, size_t sizeInBytes, int n, int* rowind, int* colind, ergo_real* values, int storageType) { size_t sizeNeeded = 0; switch(storageType) { case MATRIX_STORAGE_TYPE_FULL: { sizeNeeded = n*n*sizeof(ergo_real); if(sizeNeeded != sizeInBytes) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_from_storage: (sizeNeeded != sizeInBytes)"); return -1; } ergo_real* A = (ergo_real*)p; long count = 0; for(long i = 0; i < n; i++) for(long j = 0; j < n; j++) { rowind[count] = i; colind[count] = j; values[count] = A[i*n+j]; count++; } } break; case MATRIX_STORAGE_TYPE_TRIANGLE: sizeNeeded = (n * (n+1) / 2) * sizeof(ergo_real); if(sizeNeeded != sizeInBytes) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_store_matrix: (sizeNeeded != sizeInBytes)"); return -1; } ddf_get_triangular_matrix_from_storage_sparse(p, n, rowind, colind, values); break; case MATRIX_STORAGE_TYPE_VECTORS: if(ddf_get_matrix_from_vector_storage_sparse(p, sizeInBytes, n, rowind, colind, values) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_from_vector_storage."); return -1; } break; default: do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_from_storage: unknown storage type %i", storageType); return -1; } return 0; } int ddf_writeShellListAndDensityMatricesToFile(const BasisInfoStruct & basisInfo, int noOfDensityMatrices, ergo_real** densityMatrixList, const char* fileName) { int n = basisInfo.noOfBasisFuncs; int nShells = basisInfo.noOfShells; if(n <= 0 || nShells <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in writeShellListAndDensityMatricesToFile: " "(n <= 0 || nShells <= 0)"); return -1; } if(noOfDensityMatrices <= 0 || noOfDensityMatrices > 2) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in writeShellListAndDensityMatricesToFile: " "(noOfDensityMatrices <= 0 || noOfDensityMatrices > 2)"); return -1; } FILE* f = fopen(fileName, "wb"); if(f == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error opening file '%s' for writing", fileName); return -1; } // decide which storage format to use int matrixStorageType; if(n < 22000) { if(ddf_get_matrix_storage_size(MATRIX_STORAGE_TYPE_TRIANGLE, n, densityMatrixList[0]) < ddf_get_matrix_storage_size(MATRIX_STORAGE_TYPE_VECTORS, n, densityMatrixList[0])) { matrixStorageType = MATRIX_STORAGE_TYPE_TRIANGLE; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Choosing matrixStorageType = MATRIX_STORAGE_TYPE_TRIANGLE."); } else { matrixStorageType = MATRIX_STORAGE_TYPE_VECTORS; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Choosing matrixStorageType = MATRIX_STORAGE_TYPE_VECTORS."); } } else { // triangle storage not possible, use vector storage. matrixStorageType = MATRIX_STORAGE_TYPE_VECTORS; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Choosing matrixStorageType = MATRIX_STORAGE_TYPE_VECTORS."); } // Get sizes needed for matrix storage. size_t matrixStorageSizeList[2]; matrixStorageSizeList[0] = 0; matrixStorageSizeList[1] = 0; for(int i = 0; i < noOfDensityMatrices; i++) { size_t sizeInBytes = ddf_get_matrix_storage_size(matrixStorageType, n, densityMatrixList[i]); if(sizeInBytes == 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_storage_size"); return -1; } matrixStorageSizeList[i] = sizeInBytes; } size_t matrixStorageSizeTotal = 0; for(int i = 0; i < noOfDensityMatrices; i++) matrixStorageSizeTotal += matrixStorageSizeList[i]; // Compute file size size_t fileSize = sizeof(densityFileHeaderStruct) + nShells * sizeof(ShellSpecStruct) + matrixStorageSizeTotal; densityFileHeaderStruct fileHeader; // Create header fileHeader.densityFileVersion = DENSITY_FILE_VERSION_NUMBER; fileHeader.typeOfMatrixStorage = matrixStorageType; fileHeader.noOfShells = nShells; fileHeader.noOfBasisFuncs = n; fileHeader.noOfDensityMatrices = noOfDensityMatrices; fileHeader.padding_int = 0; /* Set padding_int also to make valgrind happy. */ fileHeader.matrixSize_1 = matrixStorageSizeList[0]; fileHeader.matrixSize_2 = matrixStorageSizeList[1]; fileHeader.fileSizeInBytes = fileSize; // prepare data to write char* buffer = (char*)ergo_malloc(fileSize); char* p = buffer; memcpy(p, &fileHeader, sizeof(densityFileHeaderStruct)); p += sizeof(densityFileHeaderStruct); memcpy(p, basisInfo.shellList, nShells * sizeof(ShellSpecStruct)); p += nShells * sizeof(ShellSpecStruct); for(int i = 0; i < noOfDensityMatrices; i++) { if(ddf_store_matrix(p, matrixStorageSizeList[i], n, densityMatrixList[i], matrixStorageType) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_store_matrix"); return -1; } p += matrixStorageSizeList[i]; } // END FOR i if(size_t(p - buffer) != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error: ((p - buffer) != fileSize)"); return -1; } // write to file size_t noOfBytesWritten = fwrite(buffer, 1, fileSize, f); fclose(f); if(noOfBytesWritten != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in fwrite, fileSize = %i, noOfBytesWritten = %i", fileSize, noOfBytesWritten); return -1; } ergo_free(buffer); // return 0 to indicate success return 0; } int ddf_writeShellListAndDensityMatricesToFile_sparse(const BasisInfoStruct & basisInfo, int noOfDensityMatrices, matrix_description_struct* densityMatrixList, const char* fileName) { int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "ddf_writeShellListAndDensityMatricesToFile_sparse, n = %6i, densityMatrixList[0].nvalues = %11i", n, densityMatrixList[0].nvalues); int nShells = basisInfo.noOfShells; if(n <= 0 || nShells <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in writeShellListAndDensityMatricesToFile: " "(n <= 0 || nShells <= 0)"); return -1; } if(noOfDensityMatrices <= 0 || noOfDensityMatrices > 2) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in writeShellListAndDensityMatricesToFile: " "(noOfDensityMatrices <= 0 || noOfDensityMatrices > 2)"); return -1; } /* We create a tmp file and rename it on success. This is useful when a file of identical name exists: this method guarantees that the created density file does not get corrupted when the process is interrupted mid-stream. */ std::string tmpFName(fileName); tmpFName += ".XXXXXX"; int tmpFD = mkstemp(&tmpFName[0]); FILE* f; if(tmpFD == -1 || (f = fdopen(tmpFD, "wb")) == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error opening temporary file '%s' for writing", tmpFName.c_str()); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "opened temporary file '%s' for writing", tmpFName.c_str()); // decide which storage format to use int matrixStorageType; if(n < 22000) { if(ddf_get_matrix_storage_size_sparse(MATRIX_STORAGE_TYPE_TRIANGLE, n, &densityMatrixList[0]) < ddf_get_matrix_storage_size_sparse(MATRIX_STORAGE_TYPE_VECTORS, n, &densityMatrixList[0])) { matrixStorageType = MATRIX_STORAGE_TYPE_TRIANGLE; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Choosing matrixStorageType = MATRIX_STORAGE_TYPE_TRIANGLE."); } else { matrixStorageType = MATRIX_STORAGE_TYPE_VECTORS; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Choosing matrixStorageType = MATRIX_STORAGE_TYPE_VECTORS."); } } else { // triangle storage not possible, use vector storage. matrixStorageType = MATRIX_STORAGE_TYPE_VECTORS; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Choosing matrixStorageType = MATRIX_STORAGE_TYPE_VECTORS."); } // Get sizes needed for matrix storage. size_t matrixStorageSizeList[2]; matrixStorageSizeList[0] = 0; matrixStorageSizeList[1] = 0; for(int i = 0; i < noOfDensityMatrices; i++) { size_t sizeInBytes = ddf_get_matrix_storage_size_sparse(matrixStorageType, n, &densityMatrixList[i]); if(sizeInBytes <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_storage_size_sparse"); return -1; } matrixStorageSizeList[i] = sizeInBytes; } size_t matrixStorageSizeTotal = 0; for(int i = 0; i < noOfDensityMatrices; i++) matrixStorageSizeTotal += matrixStorageSizeList[i]; // Compute file size size_t fileSize = sizeof(densityFileHeaderStruct) + nShells * sizeof(ShellSpecStruct) + matrixStorageSizeTotal; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "fileSize = %15.0f bytes = %10.3f MegaBytes", (double)fileSize, (double)fileSize / 1000000); densityFileHeaderStruct fileHeader; // Create header fileHeader.densityFileVersion = DENSITY_FILE_VERSION_NUMBER; fileHeader.typeOfMatrixStorage = matrixStorageType; fileHeader.noOfShells = nShells; fileHeader.noOfBasisFuncs = n; fileHeader.noOfDensityMatrices = noOfDensityMatrices; fileHeader.padding_int = 0; /* Set padding_int also to make valgrind happy. */ fileHeader.matrixSize_1 = matrixStorageSizeList[0]; fileHeader.matrixSize_2 = matrixStorageSizeList[1]; fileHeader.fileSizeInBytes = fileSize; // prepare data to write char* buffer = (char*)ergo_malloc(fileSize); char* p = buffer; memcpy(p, &fileHeader, sizeof(densityFileHeaderStruct)); p += sizeof(densityFileHeaderStruct); memcpy(p, basisInfo.shellList, nShells * sizeof(ShellSpecStruct)); p += nShells * sizeof(ShellSpecStruct); for(int i = 0; i < noOfDensityMatrices; i++) { if(ddf_store_matrix_sparse(p, matrixStorageSizeList[i], n, &densityMatrixList[i], matrixStorageType) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_store_matrix"); return -1; } p += matrixStorageSizeList[i]; } // END FOR i if(size_t(p - buffer) != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error: ((p - buffer) != fileSize)"); return -1; } // write to file size_t noOfBytesWritten = fwrite(buffer, 1, fileSize, f); if(fsync(fileno(f)) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in fsync on %s: %s", fileName, strerror(errno)); return -1; } if(fclose(f) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in fclose on %s: %s", fileName, strerror(errno)); return -1; } if(noOfBytesWritten != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in fwrite, fileSize = %i, noOfBytesWritten = %i", fileSize, noOfBytesWritten); return -1; } if(rename(tmpFName.c_str(), fileName) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error renaming %s to %s: %s\n", tmpFName.c_str(), fileName, strerror(errno)); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "renamed file '%s' to '%s'", tmpFName.c_str(), fileName); /** Data loss was observed with large files on AFS, we do extra verification to detect it early on... */ struct stat fileStats; if(stat(fileName, &fileStats) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Cannot stat saved file %s: %s\n", fileName, strerror(errno)); return -1; } if( size_t(fileStats.st_size) != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "File %s size got altered from %lu to %lu\n", fileName, (unsigned long)fileSize, (unsigned long)fileStats.st_size); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "ddf_writeShellListAndDensityMatricesToFile_sparse freeing buffer."); ergo_free(buffer); do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "ddf_writeShellListAndDensityMatricesToFile_sparse returning OK."); // return 0 to indicate success return 0; } static int ddf_load_density_getSizes(const char* fileName, int* result_noOfShells, int* result_noOfBasisFuncs, int* result_noOfDensitiesOnFile, long* result_noOfValuesList) { FILE* f = fopen(fileName, "rb"); if(f == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error opening file '%s'", fileName); return -1; } // check file size fseeko(f, 0L, SEEK_END); size_t fileSize = size_t(ftello(f)); if(fileSize < sizeof(densityFileHeaderStruct)) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_load_density_getSizes: (fileSize < sizeof(densityFileHeaderStruct)) %lu < %lu", (unsigned long)fileSize, (unsigned long)sizeof(densityFileHeaderStruct)); return -1; } fseeko(f, 0L, SEEK_SET); char* buffer = (char*)ergo_malloc(fileSize); if(fread(buffer, 1, fileSize, f) != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error reading file '%s'", fileName); return -1; } fclose(f); // OK, file contents are now in buffer. densityFileHeaderStruct* headerPtr = (densityFileHeaderStruct*)buffer; if(headerPtr->densityFileVersion != DENSITY_FILE_VERSION_NUMBER) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_load_density_getSizes: (headerPtr->densityFileVersion != DENSITY_FILE_VERSION_NUMBER)"); return -1; } if(headerPtr->fileSizeInBytes != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_load_density_getSizes: (headerPtr->fileSizeInBytes != fileSize) %lu %lu", (unsigned long)headerPtr->fileSizeInBytes, (unsigned long)fileSize); return -1; } int n = headerPtr->noOfBasisFuncs; int nShells = headerPtr->noOfShells; size_t fileSize_expected = sizeof(densityFileHeaderStruct) + nShells * sizeof(ShellSpecStruct) + (size_t)headerPtr->matrixSize_1 + (size_t)headerPtr->matrixSize_2; if(fileSize_expected != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_load_density_getSizes: (fileSize_expected != fileSize) %lu != %lu", (unsigned long)fileSize_expected, (unsigned long)fileSize); return -1; } *result_noOfShells = nShells; *result_noOfBasisFuncs = n; *result_noOfDensitiesOnFile = headerPtr->noOfDensityMatrices; if(result_noOfValuesList != NULL) { // Get result_noOfValuesList. char* p = buffer + sizeof(densityFileHeaderStruct); // skip shell list p += nShells*sizeof(ShellSpecStruct); // get nvalues for stored matrices size_t matrixSizeList[2]; matrixSizeList[0] = (size_t)headerPtr->matrixSize_1; matrixSizeList[1] = (size_t)headerPtr->matrixSize_2; for(int i = 0; i < headerPtr->noOfDensityMatrices; i++) { size_t currSize = matrixSizeList[i]; if(ddf_get_matrix_nvalues_from_storage(p, currSize, n, &result_noOfValuesList[i], headerPtr->typeOfMatrixStorage) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_nvalues_from_storage"); return -1; } p += currSize; } // END FOR i if(size_t(p - buffer) != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error: ((p - buffer) != fileSize)"); return -1; } } ergo_free(buffer); return 0; } /** ddf_read_shells_and_density_matrices() reads the basis set information and requested number of density matrices from a specified file. basisInfo needs to be allocated and zeroed in advance. densityMatrixList must be properly allocated as well. */ static int ddf_read_shells_and_density_matrices(BasisInfoStruct* basisInfo, int noOfDensityMatrices, ergo_real** densityMatrixList, const char* fileName) { FILE* f = fopen(fileName, "rb"); if(f == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error opening file '%s'", fileName); return -1; } // check file size fseeko(f, 0L, SEEK_END); size_t fileSize = size_t(ftello(f)); if(fileSize < sizeof(densityFileHeaderStruct)) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_read_shells_and_density_matrices: (fileSize < sizeof(densityFileHeaderStruct))"); return -1; } fseeko(f, 0L, SEEK_SET); char* buffer = (char*)ergo_malloc(fileSize); size_t readsz = fread(buffer, 1, fileSize, f); fclose(f); if(readsz != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error reading file '%s'", fileName); ergo_free(buffer); return -1; } // OK, file contents are now in buffer. densityFileHeaderStruct* headerPtr = (densityFileHeaderStruct*)buffer; if(headerPtr->densityFileVersion != DENSITY_FILE_VERSION_NUMBER) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_read_shells_and_density_matrices: (headerPtr->densityFileVersion != DENSITY_FILE_VERSION_NUMBER)"); return -1; } if(headerPtr->fileSizeInBytes != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_read_shells_and_density_matrices: (headerPtr->fileSizeInBytes != fileSize)"); return -1; } if(headerPtr->noOfDensityMatrices != noOfDensityMatrices) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_read_shells_and_density_matrices: (headerPtr->noOfDensityMatrices != noOfDensityMatrices)"); return -1; } int n = headerPtr->noOfBasisFuncs; int nShells = headerPtr->noOfShells; size_t fileSize_expected = sizeof(densityFileHeaderStruct) + nShells * sizeof(ShellSpecStruct) + (size_t)headerPtr->matrixSize_1 + (size_t)headerPtr->matrixSize_2; if(fileSize_expected != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_read_shells_and_density_matrices: (fileSize_expected != fileSize)"); return -1; } char* p = buffer + sizeof(densityFileHeaderStruct); // get shell list basisInfo->noOfShells = nShells; memcpy(basisInfo->shellList, p, nShells*sizeof(ShellSpecStruct)); p += nShells*sizeof(ShellSpecStruct); // get density matrices size_t matrixSizeList[2]; matrixSizeList[0] = (size_t)headerPtr->matrixSize_1; matrixSizeList[1] = (size_t)headerPtr->matrixSize_2; for(int i = 0; i < noOfDensityMatrices; i++) { long currSize = matrixSizeList[i]; if(ddf_get_matrix_from_storage(p, currSize, n, densityMatrixList[i], headerPtr->typeOfMatrixStorage) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_from_storage"); return -1; } p += currSize; } // END FOR i if(size_t(p - buffer) != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error: ((p - buffer) != fileSize)"); return -1; } ergo_free(buffer); return 0; } static int ddf_read_shells_and_density_matrices_sparse(BasisInfoStruct** basisInfo, int noOfDensityMatrices, int** rowindList, int** colindList, ergo_real** valuesList, const char* fileName) { FILE* f = fopen(fileName, "rb"); if(f == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error opening file '%s'", fileName); return -1; } // check file size fseeko(f, 0L, SEEK_END); size_t fileSize = size_t(ftello(f)); if(fileSize < sizeof(densityFileHeaderStruct)) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_read_shells_and_density_matrices: (fileSize < sizeof(densityFileHeaderStruct))"); return -1; } fseeko(f, 0L, SEEK_SET); char* buffer = (char*)ergo_malloc(fileSize); size_t readsz = fread(buffer, 1, fileSize, f); fclose(f); if(readsz != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error reading file '%s'", fileName); ergo_free(buffer); return -1; } // OK, file contents are now in buffer. densityFileHeaderStruct* headerPtr = (densityFileHeaderStruct*)buffer; if(headerPtr->densityFileVersion != DENSITY_FILE_VERSION_NUMBER) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_read_shells_and_density_matrices: (headerPtr->densityFileVersion != DENSITY_FILE_VERSION_NUMBER)"); return -1; } if(headerPtr->fileSizeInBytes != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_read_shells_and_density_matrices: (headerPtr->fileSizeInBytes != fileSize)"); return -1; } if(headerPtr->noOfDensityMatrices != noOfDensityMatrices) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_read_shells_and_density_matrices: (headerPtr->noOfDensityMatrices != noOfDensityMatrices)"); return -1; } int n = headerPtr->noOfBasisFuncs; int nShells = headerPtr->noOfShells; size_t fileSize_expected = sizeof(densityFileHeaderStruct) + nShells * sizeof(ShellSpecStruct) + (size_t)headerPtr->matrixSize_1 + (size_t)headerPtr->matrixSize_2; if(fileSize_expected != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_read_shells_and_density_matrices: (fileSize_expected != fileSize)"); return -1; } char* p = buffer + sizeof(densityFileHeaderStruct); // get shell list ShellSpecStruct* shellList = new ShellSpecStruct[nShells]; memcpy(shellList, p, nShells*sizeof(ShellSpecStruct)); // Now check if use_6_d_funcs was used for the basis set. int use_6_d_funcs = 0; for(int i = 0; i < nShells; i++) { if(shellList[i].noOfBasisFuncs == 6) use_6_d_funcs = 1; } // Now create basisInfo object. *basisInfo = new BasisInfoStruct(use_6_d_funcs); (*basisInfo)->noOfShells = nShells; (*basisInfo)->shellList = shellList; // Move pointer past shell list p += nShells*sizeof(ShellSpecStruct); // get density matrices size_t matrixSizeList[2]; matrixSizeList[0] = (size_t)headerPtr->matrixSize_1; matrixSizeList[1] = (size_t)headerPtr->matrixSize_2; for(int i = 0; i < noOfDensityMatrices; i++) { size_t currSize = matrixSizeList[i]; if(ddf_get_matrix_from_storage_sparse(p, currSize, n, rowindList[i], colindList[i], valuesList[i], headerPtr->typeOfMatrixStorage) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_get_matrix_from_storage_sparse"); return -1; } p += currSize; } // END FOR i if(size_t(p - buffer) != fileSize) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error: ((p - buffer) != fileSize)"); return -1; } ergo_free(buffer); return 0; } int ddf_load_density(const char *densityFileName, int noOfDensityMatrices, const IntegralInfo& integralInfo, BasisInfoStruct **basisInfo, ergo_real **densityMatrix) { do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "getting starting guess from file, noOfDensityMatrices = %i", noOfDensityMatrices); // get basisInfo and density matrix (or matrices) for starting guess // FIXME: here it is assumed that use_6_d_funcs was not used for the saved density. int use_6_d_funcs = 0; *basisInfo = new BasisInfoStruct(use_6_d_funcs); int noOfShells_sg = 0; int noOfBasisFuncs_sg = 0; int noOfDensitiesOnFile = 0; if(ddf_load_density_getSizes(densityFileName, &noOfShells_sg, &noOfBasisFuncs_sg, &noOfDensitiesOnFile, NULL) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_load_density_getSizes"); return -1; } if(noOfDensitiesOnFile != noOfDensityMatrices) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error: (headerPtr->noOfDensityMatrices != noOfDensityMatrices)"); return -1; } (*basisInfo)->shellList = new ShellSpecStruct[noOfShells_sg]; for(int i = 0; i < noOfDensityMatrices; i++) densityMatrix[i] = ergo_new(noOfBasisFuncs_sg*noOfBasisFuncs_sg,ergo_real); if(ddf_read_shells_and_density_matrices(*basisInfo, noOfDensityMatrices, densityMatrix, densityFileName) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_load_density"); return -1; } if((*basisInfo)->get_basis_funcs() != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in get_basis_funcs"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "get_basis_funcs for starting guess basis set returned OK," " number of basis funcs: %i", (*basisInfo)->noOfBasisFuncs); if((*basisInfo)->getSimplePrimitivesAll(integralInfo) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in getSimplePrimitivesAll"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "getSimplePrimitivesAll for starting guess basis set " "returned OK, n = %i", (*basisInfo)->noOfSimplePrimitives); return 0; } int ddf_load_density_sparse(const char *densityFileName, const IntegralInfo& integralInfo, BasisInfoStruct **basisInfo, int* noOfDensitiesRead, int** rowindList, int** colindList, ergo_real** valuesList, long* nvaluesList) { do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "ddf_load_density_sparse(\"%s\")", densityFileName); // get basisInfo and density matrix (or matrices) for starting guess // FIXME: here it is assumed that use_6_d_funcs was not used for the saved density. int use_6_d_funcs = 0; *basisInfo = new BasisInfoStruct(use_6_d_funcs); int noOfShells_sg = 0; int noOfBasisFuncs_sg = 0; if(ddf_load_density_getSizes(densityFileName, &noOfShells_sg, &noOfBasisFuncs_sg, noOfDensitiesRead, nvaluesList) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_load_density_getSizes"); return -1; } for(int i = 0; i < *noOfDensitiesRead; i++) { long nvalues = nvaluesList[i]; rowindList[i] = new int[nvalues]; colindList[i] = new int[nvalues]; valuesList[i] = new ergo_real[nvalues]; } if(ddf_read_shells_and_density_matrices_sparse(basisInfo, *noOfDensitiesRead, rowindList, colindList, valuesList, densityFileName) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in ddf_read_shells_and_density_matrices_sparse"); return -1; } if((*basisInfo)->get_basis_funcs() != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in get_basis_funcs"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "get_basis_funcs for starting guess basis set returned OK," " number of basis funcs: %i", (*basisInfo)->noOfBasisFuncs); if((*basisInfo)->getSimplePrimitivesAll(integralInfo) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in getSimplePrimitivesAll"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "getSimplePrimitivesAll for starting guess basis set " "returned OK, n = %i", (*basisInfo)->noOfSimplePrimitives); return 0; } ergo-3.5/source/utilities/matrix_utilities_gao.h0000664000175000017500000000300612743400307017150 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MATRIX_UTILITIES_GAO_HEADER #define MATRIX_UTILITIES_GAO_HEADER #include "matrix_typedefs.h" #include "basisinfo.h" void write_CSR_matrix(int n, const symmMatrix & A, const char* fileName, ergo_real threshold, std::vector const & inversePermutationHML); #endif ergo-3.5/source/utilities/matrix_utilities.h0000664000175000017500000004637612743400307016343 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MATRIX_UTILITIES_HEADER #define MATRIX_UTILITIES_HEADER #include "matrix_typedefs.h" #include "basisinfo.h" #if 0 /** prepare_matrix_permutation creates a perm object as required by further matrix manipulation routines. */ Perm* prepare_matrix_permutation(const BasisInfoStruct& basisInfo, int sparse_block_size, int factor1, int factor2, int factor3); #else mat::SizesAndBlocks prepareMatrixSizesAndBlocks(int n_basis_functions, int sparse_block_size, int factor1, int factor2, int factor3); void getMatrixPermutation(const BasisInfoStruct& basisInfo, int sparse_block_size, int factor1, int factor2, int factor3, std::vector & permutation); void getMatrixPermutation(const BasisInfoStruct& basisInfo, int sparse_block_size, int factor1, int factor2, int factor3, std::vector & permutation, std::vector & inversePermutation); void getMatrixPermutationOnlyFactor2(const std::vector & xcoords, const std::vector & ycoords, const std::vector & zcoords, int sparse_block_size_lowest, int first_factor, // this factor may be different from 2, all other factors are always 2. std::vector & permutation, std::vector & inversePermutation); void getMatrixPermutationOnlyFactor2(const BasisInfoStruct& basisInfo, int sparse_block_size_lowest, int first_factor, // this factor may be different from 2, all other factors are always 2. std::vector & permutation, std::vector & inversePermutation); #endif void fill_matrix_with_random_numbers(int n, symmMatrix & M); void add_random_diag_perturbation(int n, symmMatrix & M, ergo_real eps); bool check_if_matrix_contains_strange_elements(const symmMatrix & M, std::vector const & inversePermutationHML); void output_matrix(int n, const ergo_real* matrix, const char* matrixName); template ergo_real compute_maxabs_sparse(const Tmatrix & M) { return M.maxAbsValue(); } template struct matrix_utilities_CompareClass { RandomAccessIterator first; explicit matrix_utilities_CompareClass(RandomAccessIterator firstel) : first(firstel){} bool operator() (int i,int j) { return (*(first + i) < *(first + j));} }; template void get_all_nonzeros( Tmatrix const & A, std::vector const & inversePermutation, std::vector & rowind, std::vector & colind, std::vector & values) { rowind.resize(0); colind.resize(0); values.resize(0); size_t nvalues = 0; size_t nvalues_tmp = A.nvalues(); std::vector rowind_tmp; rowind_tmp.reserve(nvalues_tmp); std::vector colind_tmp; colind_tmp.reserve(nvalues_tmp); std::vector values_tmp; values_tmp.reserve(nvalues_tmp); A.get_all_values(rowind_tmp, colind_tmp, values_tmp, inversePermutation, inversePermutation); // Count the number of nonzeros for(size_t i = 0; i < nvalues_tmp; i++) { nvalues += ( values_tmp[i] != 0 ); } rowind.reserve(nvalues); colind.reserve(nvalues); values.reserve(nvalues); // Extract all nonzeros for(size_t i = 0; i < nvalues_tmp; i++) { if ( values_tmp[i] != 0 ) { rowind.push_back( rowind_tmp[i] ); colind.push_back( colind_tmp[i] ); values.push_back( values_tmp[i] ); } } } // end get_all_nonzeros(...) template void output_distance_vs_magnitude( BasisInfoStruct const & basisInfo, /**< Info about basis set. */ Tmatrix const & A, /**< The matrix. */ std::vector const & inversePermutation, /**< Permutation to be used when accessing matrix elements. */ std::string name, /**< File name. */ int resolution_r, /**< Resolution in r-direction, r is the distance between atoms. */ int resolution_m /**< Resolution m-direction, m is the magnitude of matrix elements. */ ) { std::string m_name = name + ".m"; std::ofstream os(m_name.c_str()); // Get xyz coords for all indices int n = basisInfo.noOfBasisFuncs; std::vector x(n); std::vector y(n); std::vector z(n); for(int i = 0; i < n; i++) { x[i] = basisInfo.basisFuncList[i].centerCoords[0]; y[i] = basisInfo.basisFuncList[i].centerCoords[1]; z[i] = basisInfo.basisFuncList[i].centerCoords[2]; } size_t number_of_stored_zeros = 0; ergo_real minAbsValue = 1e22; ergo_real maxAbsValue = 0; // Get all matrix elements size_t nvalues = 0; std::vector rowind; std::vector colind; std::vector values; { std::vector rowind_tmp; std::vector colind_tmp; std::vector values_tmp; get_all_nonzeros( A, inversePermutation, rowind_tmp, colind_tmp, values_tmp); bool matrixIsSymmetric = (A.obj_type_id() == "MatrixSymmetric"); if (matrixIsSymmetric) { // Also include lower triangle size_t nvalues_tmp = values_tmp.size(); rowind.reserve(nvalues_tmp*2); colind.reserve(nvalues_tmp*2); values.reserve(nvalues_tmp*2); for(size_t i = 0; i < nvalues_tmp; i++) { rowind.push_back( rowind_tmp[i] ); colind.push_back( colind_tmp[i] ); values.push_back( values_tmp[i] ); if ( rowind_tmp[i] != colind_tmp[i] ) { rowind.push_back( colind_tmp[i] ); colind.push_back( rowind_tmp[i] ); values.push_back( values_tmp[i] ); } } // end for } // end if else { rowind = rowind_tmp; colind = colind_tmp; values = values_tmp; } // end else nvalues = values.size(); // Take absolute value for(size_t i = 0; i < nvalues; i++) { ergo_real fabsVal = fabs( values[i] ); values[i] = fabsVal; minAbsValue = fabsVal < minAbsValue ? fabsVal : minAbsValue; maxAbsValue = fabsVal > maxAbsValue ? fabsVal : maxAbsValue; } } os << "%% Run for example like this: matlab -nosplash -nodesktop -r " << name << std::endl; os << "number_of_stored_zeros = " << number_of_stored_zeros << ";" << std::endl; os << "number_of_stored_nonzeros = " << nvalues << ";" << std::endl; // Get distances for all matrix elements std::vector distances(nvalues); for(size_t i = 0; i < nvalues; i++) { ergo_real diff_x = x[ rowind[i] ] - x[ colind[i] ]; ergo_real diff_y = y[ rowind[i] ] - y[ colind[i] ]; ergo_real diff_z = z[ rowind[i] ] - z[ colind[i] ]; distances[i] = std::sqrt( diff_x * diff_x + diff_y * diff_y + diff_z * diff_z ); } // Index vector std::vector index(nvalues); for ( size_t ind = 0; ind < index.size(); ++ind ) { index[ind] = ind; } // Sort based on distance matrix_utilities_CompareClass::const_iterator> compareDist( distances.begin() ); std::sort ( index.begin(), index.end(), compareDist ); // Min and max distances ergo_real minDistance = *std::min_element( distances.begin(), distances.end() ); ergo_real maxDistance = *std::max_element( distances.begin(), distances.end() ); // Size of box in r direction ergo_real rbox_length = (maxDistance - minDistance) / resolution_r; // Get max absolute value of A ergo_real maxMagLog10 = std::log10(maxAbsValue); ergo_real minMagLog10 = std::log10(minAbsValue) > -20 ? std::log10(minAbsValue) : -20; // Size of box in m direction ergo_real mbox_length = (maxMagLog10 - minMagLog10) / resolution_m; os << "A = [ " << std::endl; // Loop over r boxes size_t start_ind = 0; ergo_real r_low = minDistance; for ( int rbox = 0; rbox < resolution_r; rbox++ ) { ergo_real r_upp = r_low + rbox_length; // Find end index size_t end_ind = start_ind; while ( end_ind < nvalues && distances[index[end_ind]] < r_upp ) end_ind++; // Now we have the bounds for box in r-direction // Sort based on magnitude matrix_utilities_CompareClass::const_iterator> compareMagnitude( values.begin() ); std::sort ( index.begin() + start_ind, index.begin() + end_ind, compareMagnitude ); // Loop over m boxes ergo_real m_low = minMagLog10; size_t ind_m = start_ind; // Skip very small values while ( ind_m < end_ind && std::log10( values[index[ind_m]] ) < m_low ) ind_m++; size_t skipped_small = ind_m - start_ind; os << r_low << " " << r_upp << " " << 0 << " " << std::pow(10,m_low) << " " << skipped_small << std::endl; for ( int mbox = 0; mbox < resolution_m; mbox++ ) { ergo_real m_upp = m_low + mbox_length; size_t count = 0; while ( ind_m < end_ind && std::log10( values[index[ind_m]] ) < m_upp ) { ind_m++; count++; } // Now we have r_low r_upp m_low m_upp count // Write to stream os << r_low << " " << r_upp << " " << std::pow(10,m_low) << " " << std::pow(10,m_upp) << " " << count << std::endl; m_low = m_upp; } r_low = r_upp; start_ind = end_ind; } os << "];" << std::endl; os << "B=[];" << std::endl; os << "for ind = 1 : size(A,1)" << std::endl; os << " if (A(ind,3) ~= 0)" << std::endl; os << " B = [B; A(ind,:)];" << std::endl; os << " end" << std::endl; os << "end" << std::endl; os << "%col = jet(101);" << std::endl; os << "col = gray(101);col=col(end:-1:1,:);" << std::endl; os << "maxCount = max(B(:,5));" << std::endl; os << "ax = [0 30 1e-12 1e3]" << std::endl; os << "fighandle = figure;" << std::endl; os << "for ind = 1 : size(B,1)" << std::endl; os << " rmin = B(ind, 1); rmax = B(ind, 2);" << std::endl; os << " mmin = B(ind, 3); mmax = B(ind, 4);" << std::endl; os << " colind = round( 1+100 * B(ind,5) / maxCount);" << std::endl; os << " fill([rmin rmin rmax rmax rmin], [mmin mmax mmax mmin mmin], col(colind,:), 'EdgeColor', col(colind,:) )" << std::endl; os << " hold on" << std::endl; os << "end" << std::endl; os << "set(gca,'YScale','log')" << std::endl; os << "axis(ax)" << std::endl; os << "set(gca,'FontSize',16)" << std::endl; os << "xlabel('Distance')" << std::endl; os << "ylabel('Magnitude')" << std::endl; os << "print( fighandle, '-depsc2', '" << name << "')" << std::endl; os << "fighandle = figure;" << std::endl; os << "for ind = 1 : size(B,1)" << std::endl; os << " if (B(ind,5) ~= 0)" << std::endl; os << " rmin = B(ind, 1); rmax = B(ind, 2);" << std::endl; os << " mmin = B(ind, 3); mmax = B(ind, 4);" << std::endl; os << " msize = 3+1*ceil(20 * B(ind,5) / maxCount);" << std::endl; os << " plot((rmin+rmax)/2,(mmin+mmax)/2,'k.','MarkerSize',msize)" << std::endl; os << " hold on" << std::endl; os << " end" << std::endl; os << "end" << std::endl; os << "set(gca,'YScale','log')" << std::endl; os << "axis(ax)" << std::endl; os << "set(gca,'FontSize',16)" << std::endl; os << "xlabel('Distance')" << std::endl; os << "ylabel('Magnitude')" << std::endl; os << "print( fighandle, '-depsc2', '" << name << "_dots')" << std::endl; os << "exit(0);" << std::endl; os.close(); } // end output_distance_vs_magnitude(...) template void output_magnitude_histogram( Tmatrix const & A, /**< The matrix. */ std::string name, /**< File name. */ int resolution_m /**< Resolution m-direction, m is the magnitude of matrix elements. */ ) { std::string m_name = name + ".m"; std::ofstream os(m_name.c_str()); size_t number_of_stored_zeros = 0; ergo_real minAbsValue = 1e22; ergo_real maxAbsValue = 0; // Get all matrix elements size_t nvalues = 0; std::vector rowind; std::vector colind; std::vector values; { // Get all nonzeros rowind.resize(0); colind.resize(0); values.resize(0); size_t nvalues_tmp = A.nvalues(); std::vector rowind_tmp; rowind_tmp.reserve(nvalues_tmp); std::vector colind_tmp; colind_tmp.reserve(nvalues_tmp); std::vector values_tmp; values_tmp.reserve(nvalues_tmp); A.get_all_values(rowind_tmp, colind_tmp, values_tmp); // Count the number of nonzeros for(size_t i = 0; i < nvalues_tmp; i++) { nvalues += ( values_tmp[i] != 0 ); } bool matrixIsSymmetric = (A.obj_type_id() == "MatrixSymmetric"); if (matrixIsSymmetric) { // Also include lower triangle rowind.reserve(nvalues*2); colind.reserve(nvalues*2); values.reserve(nvalues*2); // Extract all nonzeros for(size_t i = 0; i < nvalues_tmp; i++) { if ( values_tmp[i] != 0 ) { rowind.push_back( rowind_tmp[i] ); colind.push_back( colind_tmp[i] ); values.push_back( values_tmp[i] ); if ( rowind_tmp[i] != colind_tmp[i] ) { rowind.push_back( colind_tmp[i] ); colind.push_back( rowind_tmp[i] ); values.push_back( values_tmp[i] ); } } } nvalues = values.size(); } // end if else { rowind.reserve(nvalues); colind.reserve(nvalues); values.reserve(nvalues); // Extract all nonzeros for(size_t i = 0; i < nvalues_tmp; i++) { if ( values_tmp[i] != 0 ) { rowind.push_back( rowind_tmp[i] ); colind.push_back( colind_tmp[i] ); values.push_back( values_tmp[i] ); } } assert( nvalues == values.size() ); } // end else // Take absolute value for(size_t i = 0; i < nvalues; i++) { ergo_real fabsVal = fabs( values[i] ); values[i] = fabsVal; minAbsValue = fabsVal < minAbsValue ? fabsVal : minAbsValue; maxAbsValue = fabsVal > maxAbsValue ? fabsVal : maxAbsValue; } } os << "%% Run for example like this: matlab -nosplash -nodesktop -r " << name << std::endl; os << "number_of_stored_zeros = " << number_of_stored_zeros << ";" << std::endl; os << "number_of_stored_nonzeros = " << nvalues << ";" << std::endl; // Index vector std::vector index(nvalues); for ( size_t ind = 0; ind < index.size(); ++ind ) { index[ind] = ind; } // Get min and max absolute value of A ergo_real maxMagLog10 = std::log10(maxAbsValue); ergo_real minMagLog10 = std::log10(minAbsValue) > -20 ? std::log10(minAbsValue) : -20; // Size of box in m direction ergo_real mbox_length = (maxMagLog10 - minMagLog10) / resolution_m; os << "A = [ " << std::endl; // Sort based on magnitude matrix_utilities_CompareClass::const_iterator> compareMagnitude( values.begin() ); std::sort ( index.begin(), index.end(), compareMagnitude ); // Loop over m boxes ergo_real m_low = minMagLog10; size_t ind_m = 0; // Skip very small values while ( ind_m < nvalues && std::log10( values[index[ind_m]] ) < m_low ) ind_m++; size_t skipped_small = ind_m; os << 0 << " " << std::pow(10,m_low) << " " << skipped_small << std::endl; for ( int mbox = 0; mbox < resolution_m; mbox++ ) { ergo_real m_upp = m_low + mbox_length; size_t count = 0; while ( ind_m < nvalues && std::log10( values[index[ind_m]] ) < m_upp ) { ind_m++; count++; } // Now we have m_low m_upp count // Write to stream os << std::pow(10,m_low) << " " << std::pow(10,m_upp) << " " << count << std::endl; m_low = m_upp; } os << "];" << std::endl; os.close(); } // end output_magnitude_histogram template void write_matrix_in_matrix_market_format( Tmatrix const & A, std::vector const & inversePermutation, std::string filename, std::string identifier, std::string method_and_basis) { // Get all matrix elements size_t nvalues = 0; std::vector rowind; std::vector colind; std::vector values; get_all_nonzeros( A, inversePermutation, rowind, colind, values); nvalues = values.size(); // Now we have all matrix elements // Open file stream std::string mtx_filename = filename + ".mtx"; std::ofstream os(mtx_filename.c_str()); time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); std::string matrix_market_matrix_type = "general"; bool matrixIsSymmetric = (A.obj_type_id() == "MatrixSymmetric"); if (matrixIsSymmetric) matrix_market_matrix_type = "symmetric"; os << "%%MatrixMarket matrix coordinate real " << matrix_market_matrix_type << std::endl << "%===============================================================================" << std::endl << "% Generated by the Ergo quantum chemistry program version " << VERSION << " (www.ergoscf.org)" << std::endl << "% Date : " << asctime (timeinfo) // newline added by asctime << "% ID-string : " << identifier << std::endl << "% Method : " << method_and_basis << std::endl << "%" << std::endl << "% MatrixMarket file format:" << std::endl << "% +-----------------" << std::endl << "% | % comments" << std::endl << "% | nrows ncols nentries" << std::endl << "% | i_1 j_1 A(i_1,j_1)" << std::endl << "% | i_2 j_2 A(i_2,j_2)" << std::endl << "% | ..." << std::endl << "% | i_nentries j_nentries A(i_nentries,j_nentries) " << std::endl << "% +----------------" << std::endl << "% Note that indices are 1-based, i.e. A(1,1) is the first element." << std::endl << "%" << std::endl << "%===============================================================================" << std::endl; os << A.get_nrows() << " " << A.get_ncols() << " " << nvalues << std::endl; if (matrixIsSymmetric) for(size_t i = 0; i < nvalues; i++) { // Output lower triangle if ( rowind[i] < colind[i] ) os << colind[i]+1 << " " << rowind[i]+1 << " " << std::setprecision(10) << values[i] << std::endl; else os << rowind[i]+1 << " " << colind[i]+1 << " " << std::setprecision(10) << values[i] << std::endl; } else for(size_t i = 0; i < nvalues; i++) { os << rowind[i]+1 << " " << colind[i]+1 << " " << std::setprecision(10) << values[i] << std::endl; } os.close(); } // end write_matrix_in_matrix_market_format(...) #endif ergo-3.5/source/utilities/dipole_moment.h0000664000175000017500000000332212743400307015557 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "matrix_typedefs.h" #include "basisinfo.h" void get_dipole_moment(const symmMatrix & densityMatrix, const BasisInfoStruct & basisInfo, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, const Molecule& molecule, int logArea, const char* label); void get_dipole_moment_fullmat(int n, const ergo_real* densityMatrix, const BasisInfoStruct & basisInfo, const Molecule& molecule, int logArea, const char* label); ergo-3.5/source/utilities/matrix_utilities_gao.cc0000664000175000017500000001215212743400307017310 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include "matrix_utilities.h" #include "output.h" typedef struct { int row; int col; ergo_real value; } CSR_element_struct; static int csr_compare_index_pairs_for_qsort(const void* p1, const void* p2) { CSR_element_struct* pair_1 = (CSR_element_struct*)p1; CSR_element_struct* pair_2 = (CSR_element_struct*)p2; if(pair_1->row > pair_2->row) return 1; if(pair_1->row < pair_2->row) return -1; if(pair_1->col > pair_2->col) return 1; if(pair_1->col < pair_2->col) return -1; return 0; } void write_CSR_matrix(int n, const symmMatrix & M, const char* fileName, ergo_real threshold, std::vector const & inversePermutationHML) { // get general matrix normalMatrix MM(M); // Get all nonzero elements std::vector rowind; std::vector colind; std::vector values; MM.get_all_values(rowind, colind, values, inversePermutationHML, inversePermutationHML); int nvalues = values.size(); do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "write_CSR_matrix, threshold = %7.3g, nvalues = %9i", (double)threshold, nvalues); std::vector list(nvalues); int i; int count = 0; for(i = 0; i < nvalues; i++) { if(std::fabs(values[i]) > threshold) { list[count].row = rowind[i]; list[count].col = colind[i]; list[count].value = values[i]; count++; } } // Now all info we need is stored in list // Sort list by rows and columns qsort(&list[0], count, sizeof(CSR_element_struct), csr_compare_index_pairs_for_qsort); int nnz_per_row_vector[n]; i = 0; int row; for(row = 0; row < n; row++) { int nnz_curr_row = 0; while(i < count) { if(list[i].row == row) { nnz_curr_row++; i++; } else break; } // END WHILE nnz_per_row_vector[row] = nnz_curr_row; } if(i != count) throw "Error in write_CSR_matrix: (i != count)"; colind.assign(count, 0); rowind.assign(count, 0); values.assign(count, 0); for(i = 0; i < count; i++) { colind[i] = list[i].col; rowind[i] = list[i].row; values[i] = list[i].value; } FILE* f_bin = fopen(fileName, "wb"); if(f_bin == NULL) throw "error in write_CSR_matrix: (f_bin == NULL)"; char fileNameTXT[888]; sprintf(fileNameTXT, "%s.txt", fileName); FILE* f_txt = fopen(fileNameTXT, "wt"); if(f_txt == NULL) throw "error in write_CSR_matrix: (f_txt == NULL)"; // Write matrix dimension n if(fwrite(&n, sizeof(int), 1, f_bin) != 1) throw "error in write_CSR_matrix, in fwrite."; fprintf(f_txt, "matrix dimension: %6i\n", n); // Write number of nonzeros if(fwrite(&count, sizeof(int), 1, f_bin) != 1) throw "error in write_CSR_matrix, in fwrite."; fprintf(f_txt, "number of nonzero elements: %9i\n", count); // Write nnz_per_row_vector if(fwrite(nnz_per_row_vector, sizeof(int), n, f_bin) != unsigned(n)) throw "error in write_CSR_matrix, in fwrite."; fprintf(f_txt, "number of nonzeros in each row:\n"); for(i = 0; i < n; i++) fprintf(f_txt, "%6i\n", nnz_per_row_vector[i]); // Write column index vector if(fwrite(&colind[0], sizeof(int), count, f_bin) != unsigned(count)) throw "error in write_CSR_matrix, in fwrite."; fprintf(f_txt, "column index vector:\n"); for(i = 0; i < count; i++) fprintf(f_txt, "%6i\n", colind[i]); // Write element value vector if(fwrite(&values[0], sizeof(ergo_real), count, f_bin) != unsigned(count)) throw "error in write_CSR_matrix, in fwrite."; fprintf(f_txt, "element values vector:\n"); for(i = 0; i < count; i++) fprintf(f_txt, "%15.8f\n", (double)values[i]); fprintf(f_txt, "End of CSR text file.\n"); fclose(f_bin); fclose(f_txt); do_output(LOG_CAT_INFO, LOG_AREA_UNDEFINED, "write_CSR_matrix, file '%s' written OK, count = %i", fileName, count); } ergo-3.5/source/utilities/filematrix.h0000664000175000017500000000735612743400307015103 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef FILE_MATRIX_HEADER #define FILE_MATRIX_HEADER #include "matrix_typedefs.h" #include "realtype.h" #include #include "Failure.h" template class FileMatrix { public: FileMatrix(); ~FileMatrix(); TMatrixType M; void AssignFileName(const char* fileName); void ReadFromFile(); void WriteToFile(); private: char* FileName; }; template FileMatrix::FileMatrix() { FileName = NULL; } template FileMatrix::~FileMatrix() { if(FileName != NULL) { // Remove file if it exists unlink(FileName); // free memory used for file name string. delete FileName; FileName = NULL; } } template void FileMatrix::AssignFileName(const char* fileName) { if(fileName != NULL) { FileName = new char[strlen(fileName)+1]; strcpy(FileName, fileName); } else throw "Error in FileMatrix::AssignFileName: fileName == NULL"; } template void FileMatrix::WriteToFile() { if(FileName != NULL) { int noOfBytes = 0; M.write_to_buffer_count(noOfBytes); Treal* buffer = (ergo_real*)new char[noOfBytes]; M.write_to_buffer(buffer, noOfBytes); FILE* f = fopen(FileName, "wb"); if(f == NULL) throw "error in FileMatrix::WriteToFile, in fopen"; if(fwrite(buffer, sizeof(char), noOfBytes, f) != (unsigned int)noOfBytes) throw "error in FileMatrix::WriteToFile, in fwrite"; fclose(f); delete buffer; // Free memory used by matrix. M.clear(); } } template void FileMatrix::ReadFromFile() { if(FileName != NULL) { // open file FILE* f = fopen(FileName, "rb"); if(f == NULL) throw "error in FileMatrix::ReadFromFile, in fopen"; // get file size fseek(f, 0L, SEEK_END); int fileSize = ftell(f); fseek(f, 0L, SEEK_SET); if(fileSize <= 0) throw "error in FileMatrix::ReadFromFile, (fileSize <= 0)"; // allocate buffer char* buffer = new char[fileSize]; // read file if(fread(buffer, sizeof(char), fileSize, f) != (unsigned int)fileSize) throw "error in FileMatrix::ReadFromFile, in fread"; // close file fclose(f); // Create matrix M.read_from_buffer(buffer, fileSize); delete buffer; } } #endif ergo-3.5/source/utilities/Makefile.in0000664000175000017500000004324512743400353014631 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/utilities ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libutilities_a_AR = $(AR) $(ARFLAGS) libutilities_a_LIBADD = am_libutilities_a_OBJECTS = integral_matrix_wrappers.$(OBJEXT) \ matrix_utilities.$(OBJEXT) matrix_utilities_gao.$(OBJEXT) \ simple_lanczos.$(OBJEXT) density_description_file.$(OBJEXT) \ density_projection.$(OBJEXT) densitymanager.$(OBJEXT) \ dipole_moment.$(OBJEXT) libutilities_a_OBJECTS = $(am_libutilities_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libutilities_a_SOURCES) DIST_SOURCES = $(libutilities_a_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libutilities.a libutilities_a_SOURCES = \ integral_matrix_wrappers.cc \ integral_matrix_wrappers.h \ matrix_utilities.cc \ matrix_utilities.h \ matrix_utilities_gao.cc \ matrix_utilities_gao.h \ mat_acc_extrapolate.h \ simple_lanczos.cc \ simple_lanczos.h \ density_description_file.cc \ density_description_file.h \ density_projection.cc \ density_projection.h \ densitymanager.cc \ densitymanager.h \ dipole_moment.cc \ dipole_moment.h \ filematrix.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/densfromf \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack all: all-am .SUFFIXES: .SUFFIXES: .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/utilities/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/utilities/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libutilities.a: $(libutilities_a_OBJECTS) $(libutilities_a_DEPENDENCIES) $(EXTRA_libutilities_a_DEPENDENCIES) $(AM_V_at)-rm -f libutilities.a $(AM_V_AR)$(libutilities_a_AR) libutilities.a $(libutilities_a_OBJECTS) $(libutilities_a_LIBADD) $(AM_V_at)$(RANLIB) libutilities.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/density_description_file.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/density_projection.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/densitymanager.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dipole_moment.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integral_matrix_wrappers.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matrix_utilities.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matrix_utilities_gao.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_lanczos.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/utilities/dipole_moment.cc0000664000175000017500000001032112743400307015712 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "dipole_moment.h" #include "integral_matrix_wrappers.h" #include "output.h" #include "matrix_utilities.h" static ergo_real compute_dipole_moment_onecoord(const symmMatrix & densityMatrix, const BasisInfoStruct & basisInfo, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, const Molecule& molecule, int coordIdx) { int ix = 0; int iy = 0; int iz = 0; switch(coordIdx) { case 0: ix = 1; break; case 1: iy = 1; break; case 2: iz = 1; break; default: throw "Error in compute_dipole_moment_onecoord."; } symmMatrix opMatrix; opMatrix.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); if(compute_operator_matrix_sparse_symm(basisInfo, ix, iy, iz, opMatrix, permutationHML) != 0) throw "Error in compute_operator_matrix_sparse_symm"; ergo_real density_contrib = symmMatrix::trace_ab(densityMatrix, opMatrix); // Now compute contribution from nuclei. ergo_real nuclear_contrib = 0; for(int i = 0; i < molecule.getNoOfAtoms(); i++) nuclear_contrib += molecule.getAtom(i).charge * molecule.getAtom(i).coords[coordIdx]; ergo_real dipole_moment_oneCoord = nuclear_contrib - density_contrib; return dipole_moment_oneCoord; } void get_dipole_moment(const symmMatrix & densityMatrix, const BasisInfoStruct & basisInfo, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, const Molecule& molecule, int logArea, const char* label) { ergo_real dipole_moment_x = compute_dipole_moment_onecoord(densityMatrix, basisInfo, matrix_size_block_info, permutationHML, molecule, 0); ergo_real dipole_moment_y = compute_dipole_moment_onecoord(densityMatrix, basisInfo, matrix_size_block_info, permutationHML, molecule, 1); ergo_real dipole_moment_z = compute_dipole_moment_onecoord(densityMatrix, basisInfo, matrix_size_block_info, permutationHML, molecule, 2); do_output(LOG_CAT_INFO, logArea, "%s: dipole_moment_x [atomic units] = %16.8f", label, (double)dipole_moment_x); do_output(LOG_CAT_INFO, logArea, "%s: dipole_moment_y [atomic units] = %16.8f", label, (double)dipole_moment_y); do_output(LOG_CAT_INFO, logArea, "%s: dipole_moment_z [atomic units] = %16.8f", label, (double)dipole_moment_z); } void get_dipole_moment_fullmat(int n, const ergo_real* densityMatrix, const BasisInfoStruct & basisInfo, const Molecule& molecule, int logArea, const char* label) { mat::SizesAndBlocks size_block_info; std::vector permutationHML(n); size_block_info = prepareMatrixSizesAndBlocks(basisInfo.noOfBasisFuncs, 1000, 10, 10, 10); for(int i = 0; i < n; i++) permutationHML[i] = i; symmMatrix D; D.resetSizesAndBlocks(size_block_info, size_block_info); std::vector vec(n*n); for(int i = 0; i < n*n; i++) vec[i] = densityMatrix[i]; D.assignFromFull(vec, permutationHML, permutationHML); return get_dipole_moment(D, basisInfo, size_block_info, permutationHML, molecule, logArea, label); } ergo-3.5/source/utilities/Makefile.am0000664000175000017500000000153412743400275014616 00000000000000noinst_LIBRARIES = libutilities.a libutilities_a_SOURCES = \ integral_matrix_wrappers.cc \ integral_matrix_wrappers.h \ matrix_utilities.cc \ matrix_utilities.h \ matrix_utilities_gao.cc \ matrix_utilities_gao.h \ mat_acc_extrapolate.h \ simple_lanczos.cc \ simple_lanczos.h \ density_description_file.cc \ density_description_file.h \ density_projection.cc \ density_projection.h \ densitymanager.cc \ densitymanager.h \ dipole_moment.cc \ dipole_moment.h \ filematrix.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/densfromf \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack ergo-3.5/source/utilities/density_description_file.h0000664000175000017500000000552012743400307020007 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef DENSITY_DESC_FILE #define DENSITY_DESC_FILE 1 #include "basisinfo.h" int ddf_writeShellListAndDensityMatricesToFile(const BasisInfoStruct & basisInfo, int noOfDensityMatrices, ergo_real** densityMatrixList, const char* fileName); typedef struct { long nvalues; int* rowind; int* colind; ergo_real* values; } matrix_description_struct; /** Writes basisInfo and sparse matrices in a format that can be later read by ddf_load_density. */ int ddf_writeShellListAndDensityMatricesToFile_sparse(const BasisInfoStruct & basisInfo, int noOfDensityMatrices, matrix_description_struct* densityMatrixList, const char* fileName); /** Function opens fileName, fills in basisInfo (which has to be allocated and nullified), allocates densityMatrixList and reads density matrix or at most two matrices and puts it/them in densityMatrixList. */ int ddf_load_density(const char *densityFileName, int noOfDensityMatrices, const IntegralInfo& integralInfo, BasisInfoStruct **basisInfo, ergo_real **densityMatrixList); /** Function opens fileName, fills in basisInfo (which has to be allocated and nullified), allocates densityMatrixList and reads density matrix or at most two matrices and puts it/them in densityMatrixList. */ int ddf_load_density_sparse(const char *densityFileName, const IntegralInfo& integralInfo, BasisInfoStruct **basisInfo, int *noOfDensitiesRead, int** rowindList, int** colindList, ergo_real** valuesList, long* nvaluesList); #endif /* DENSITY_DESC_FILE */ ergo-3.5/source/utilities/densitymanager.cc0000664000175000017500000003325512743400307016104 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include "memorymanag.h" #include "output.h" #include "densitymanager.h" #include "pi.h" #include "integrals_general.h" #include "template_blas_common.h" #define EXPONENT_DIFF_LIMIT 1e-22 #define DISTR_CENTER_DIST_LIMIT 1e-22 static ergo_real compute_1d_gaussian_integral_recursive(ergo_real a, ergo_real b, int n, ergo_real alpha) { ergo_real result, sqrtalpha, term1, term2; ergo_real aToPowerNminus1, bToPowerNminus1; if(n == 0) { sqrtalpha = std::sqrt(alpha); result = std::sqrt(pi/(4*alpha)) * (template_blas_erf(sqrtalpha*b) - template_blas_erf(sqrtalpha*a)); return result; } if(n == 1) { result = -(1 / (2*alpha)) * (std::exp(-alpha*b*b) - std::exp(-alpha*a*a)); return result; } if(n < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in 1dintegral: n < 0"); exit(0); } /* now we know that n >= 2 */ term1 = (n - 1) * compute_1d_gaussian_integral_recursive(a, b, n-2, alpha); aToPowerNminus1 = std::pow(a, n-1); bToPowerNminus1 = std::pow(b, n-1); term2 = bToPowerNminus1 * std::exp(-alpha*b*b) - aToPowerNminus1 * std::exp(-alpha*a*a); result = (term1 - term2) / (2 * alpha); /* return 0; */ return result; } /* END compute_1d_gaussian_integral_recursive */ static ergo_real compute_integral_over_box(DistributionSpecStruct* distr, ergo_real* minVect, ergo_real* maxVect, std::vector monomialIntsAdd = std::vector(3, 0)) { ergo_real result, a, b, alpha; int i, n; result = distr->coeff; alpha = distr->exponent; for(i = 0; i < 3; i++) // run over the coordinates { n = distr->monomialInts[i] + monomialIntsAdd[i]; a = minVect[i] - distr->centerCoords[i]; b = maxVect[i] - distr->centerCoords[i]; result *= compute_1d_gaussian_integral_recursive(a, b, n, alpha); } /* END FOR i */ return result; } /* END compute_integral_over_box */ ergo_real integrate_density_in_box(int nPrims, DistributionSpecStruct* rho, ergo_real mid_x, ergo_real mid_y, ergo_real mid_z, ergo_real box_width) { ergo_real minVect[3]; ergo_real maxVect[3]; minVect[0] = mid_x - 0.5 * box_width; maxVect[0] = mid_x + 0.5 * box_width; minVect[1] = mid_y - 0.5 * box_width; maxVect[1] = mid_y + 0.5 * box_width; minVect[2] = mid_z - 0.5 * box_width; maxVect[2] = mid_z + 0.5 * box_width; ergo_real sum = 0; int i; for(i = 0; i < nPrims; i++) sum += compute_integral_over_box(&rho[i], minVect, maxVect); return sum; } ergo_real integrate_density_in_box_2(int nPrims, DistributionSpecStruct* rho, ergo_real* minVect, ergo_real* maxVect, std::vector monomialIntsAdd) { ergo_real sum = 0; int i; for(i = 0; i < nPrims; i++) sum += compute_integral_over_box(&rho[i], minVect, maxVect, monomialIntsAdd); return sum; } int get_no_of_primitives_for_density(ergo_real cutoff, const ergo_real *dmat, const BasisInfoStruct & basisInfo) { #define MAX_DISTR_IN_TEMP_LIST 888 int i, j; int symmetryFactor; int nBasisFuncs, nn; nBasisFuncs = basisInfo.noOfBasisFuncs; nn = 0; for(i = 0; i < nBasisFuncs; i++) { for(j = 0; j < nBasisFuncs; j++) { DistributionSpecStruct tempList[MAX_DISTR_IN_TEMP_LIST]; int nPrimitives, k; /* the matrix M is symmetric: include diagonal terms once, */ /* and include upper off-diagonal terms multiplied by 2 */ if(i == j) symmetryFactor = 1; else symmetryFactor = 2; if(i > j) continue; nPrimitives = get_product_simple_primitives(basisInfo, i, basisInfo, j, tempList, MAX_DISTR_IN_TEMP_LIST, 0); if(nPrimitives <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in get_product_simple_primitives"); return -1; } for(k = 0; k < nPrimitives; k++) { DistributionSpecStruct* currDistr = &tempList[k]; ergo_real Mij = dmat[i*nBasisFuncs+j]; ergo_real newCoeff = currDistr->coeff * Mij * symmetryFactor; if(std::fabs(newCoeff) > cutoff) nn++; } } } return nn; } static int do_merge_sort_distrs(int n, DistributionSpecStruct* list, DistributionSpecStruct* workList) { /* merge sort: */ /* first sort the first half, */ /* then sort the second half, */ /* then merge results to form final sorted list. */ int n1, n2, nn, decision, i1, i2, i; DistributionSpecStruct* d1; DistributionSpecStruct* d2; if(n == 0) return 0; if(n < 1) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "(n < 1)"); return -1; } if(n == 1) return 0; n1 = n / 2; n2 = n - n1; /* sort first half */ if(do_merge_sort_distrs(n1, list, workList) != 0) return -1; /* sort second half */ if(do_merge_sort_distrs(n2, &list[n1], workList) != 0) return -1; /* merge results */ nn = 0; i1 = 0; i2 = 0; while(nn < n) { if((i1 < n1) && (i2 < n2)) { /* compare */ d1 = &list[i1]; d2 = &list[n1+i2]; decision = 0; for(i = 0; i < 3; i++) { if(decision == 0) { if(d1->monomialInts[i] != d2->monomialInts[i]) { if(d1->monomialInts[i] > d2->monomialInts[i]) decision = 1; else decision = 2; } } /* END IF (decision == 0) */ } /* END FOR i */ if(decision == 0) { /* check exponents */ if(d1->exponent > d2->exponent) decision = 1; else decision = 2; } } else { if(i1 == n1) decision = 2; else decision = 1; } if(decision <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "(decision <= 0)"); return -1; } if(decision == 1) { memcpy(&workList[nn], &list[i1], sizeof(DistributionSpecStruct)); i1++; } else { memcpy(&workList[nn], &list[n1+i2], sizeof(DistributionSpecStruct)); i2++; } nn++; } /* END WHILE (nn < n) */ if(i1 != n1) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "(i1 != n1)"); return -1; } if(i2 != n2) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "(i2 != n2)"); return -1; } if(nn != n) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "(nn != n)"); return -1; } memcpy(list, workList, n * sizeof(DistributionSpecStruct)); return 0; } /* END do_merge_sort_distrs */ int get_density(const BasisInfoStruct & basisInfo, const ergo_real* dmat, ergo_real cutoff, int maxCountRho, DistributionSpecStruct* resultRho) { #define MAX_DISTR_IN_TEMP_LIST 888 int i, j, k, kk; DistributionSpecStruct* workList; DistributionSpecStruct* rhoSaved; ergo_real absvalue; ergo_real absdiff; ergo_real sqrtValue; int sameYesNo, firstIndex, count, withinLimit, resultCount; ergo_real coeffSum; int* markList; int symmetryFactor; int nBasisFuncs, nn, nNeededForRho; DistributionSpecStruct* rho; nNeededForRho = maxCountRho; /* allocate rho */ //rho = (DistributionSpecStruct*)ergo_malloc(nNeededForRho * sizeof(DistributionSpecStruct)); rho = resultRho; nBasisFuncs = basisInfo.noOfBasisFuncs; nn = 0; for(i = 0; i < nBasisFuncs; i++) { for(j = 0; j < nBasisFuncs; j++) { DistributionSpecStruct tempList[MAX_DISTR_IN_TEMP_LIST]; int nPrimitives, k; /* the matrix M is symmetric: include diagonal terms once, */ /* and include upper off-diagonal terms multiplied by 2 */ if(i == j) symmetryFactor = 1; else symmetryFactor = 2; if(i > j) continue; nPrimitives = get_product_simple_primitives(basisInfo, i, basisInfo, j, tempList, MAX_DISTR_IN_TEMP_LIST, 0); if(nPrimitives <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in get_product_simple_primitives"); return -1; } for(k = 0; k < nPrimitives; k++) { DistributionSpecStruct* currDistr = &tempList[k]; ergo_real Mij = dmat[i*nBasisFuncs+j]; ergo_real newCoeff = currDistr->coeff * Mij * symmetryFactor; if(std::fabs(newCoeff) > cutoff) { /* add to final list */ if(nn > nNeededForRho) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error: (nn > nNeededForRho)"); return -1; } memcpy(&rho[nn], currDistr, sizeof(DistributionSpecStruct)); rho[nn].coeff = newCoeff; nn++; } } } } /* Now all distributions are stored in the list 'rho'. */ /* The number of entries in the list is nn. */ /* It could happen that all entries are not unique. */ /* We want to join distributions that have the same center */ /* and the same exponent. */ /* To do this, start with sorting the list by nx, ny, nz, exponent. */ workList = (DistributionSpecStruct*)ergo_malloc(nn * sizeof(DistributionSpecStruct)); rhoSaved = (DistributionSpecStruct*)ergo_malloc(nn * sizeof(DistributionSpecStruct)); memcpy(rhoSaved, rho, nn * sizeof(DistributionSpecStruct)); if(do_merge_sort_distrs(nn, rho, workList) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in do_merge_sort_distrs"); return -1; } /* check that list is sorted */ for(i = 0; i < (nn-1); i++) { if(rho[i].exponent < rho[i+1].exponent) { sameYesNo = 1; for(j = 0; j < 3; j++) { if(rho[i].monomialInts[j] != rho[i+1].monomialInts[j]) sameYesNo = 0; } /* END FOR j */ if(sameYesNo == 1) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error: distr list NOT properly sorted"); return -1; } } } /* END FOR i */ markList = (int*)ergo_malloc(nn * sizeof(int)); for(i = 0; i < nn; i++) markList[i] = 0; /* now go through sorted list, joining distributions where possible */ i = 0; count = 0; firstIndex = 0; while(i < nn) { /* check if this entry has the same nx ny nz as current 'firstIndex' */ sameYesNo = 1; for(j = 0; j < 3; j++) { if(rho[i].monomialInts[j] != rho[firstIndex].monomialInts[j]) sameYesNo = 0; } /* END FOR j */ /* check exponent */ absdiff = std::fabs(rho[i].exponent - rho[firstIndex].exponent); if(absdiff > EXPONENT_DIFF_LIMIT) sameYesNo = 0; if(sameYesNo == 0) { for(j = firstIndex; j < i; j++) { if(markList[j] == 0) { markList[j] = 1; /* join distrs that have centers within */ /* DISTR_CENTER_DIST_LIMIT of this one */ coeffSum = rho[j].coeff; for(k = j+1; k < i; k++) { withinLimit = 1; for(kk = 0; kk < 3; kk++) { absdiff = std::fabs(rho[j].centerCoords[kk] - rho[k].centerCoords[kk]); if(absdiff > DISTR_CENTER_DIST_LIMIT) withinLimit = 0; } /* END FOR kk */ if(withinLimit == 1) { coeffSum += rho[k].coeff; markList[k] = 1; } } /* END FOR k */ memcpy(&workList[count], &rho[j], sizeof(DistributionSpecStruct)); workList[count].coeff = coeffSum; count++; } /* END IF (markList[j] == 0) */ } /* END FOR j */ firstIndex = i; } else { } i++; } /* END WHILE (i < nn) */ /* take care of last part */ for(j = firstIndex; j < nn; j++) { if(markList[j] == 0) { markList[j] = 1; /* join distrs that have centers within */ /* DISTR_CENTER_DIST_LIMIT of this one */ coeffSum = rho[j].coeff; for(k = j+1; k < nn; k++) { withinLimit = 1; for(kk = 0; kk < 3; kk++) { absdiff = std::fabs(rho[j].centerCoords[kk] - rho[k].centerCoords[kk]); if(absdiff > DISTR_CENTER_DIST_LIMIT) withinLimit = 0; } /* END FOR kk */ if(withinLimit == 1) { coeffSum += rho[k].coeff; markList[k] = 1; } } /* END FOR k */ memcpy(&workList[count], &rho[j], sizeof(DistributionSpecStruct)); workList[count].coeff = coeffSum; count++; } /* END IF (markList[j] == 0) */ } /* END FOR j */ for(j = 0; j < nn; j++) { if(markList[j] != 1) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error: (markList[%i] != 1)", j); return -1; } } /* END FOR j */ /* now move results back to list 'rho', */ /* skipping those that have too small coeff */ resultCount = 0; for(i = 0; i < count; i++) { sqrtValue = std::sqrt(pi / workList[i].exponent); absvalue = workList[i].coeff * sqrtValue * sqrtValue * sqrtValue; if(absvalue < 0) absvalue *= -1; if(absvalue > cutoff) { memcpy(&rho[resultCount], &workList[i], sizeof(DistributionSpecStruct)); resultCount++; } } /* END FOR i */ ergo_free(workList); ergo_free(markList); ergo_free(rhoSaved); return resultCount; } ergo-3.5/source/utilities/integral_matrix_wrappers.h0000664000175000017500000000736212743400307020050 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRAL_MATRIX_WRAPPERS_HEADER #define INTEGRAL_MATRIX_WRAPPERS_HEADER #include "basisinfo.h" #include "matrix_typedefs.h" #include "integrals_2el.h" int compute_V_sparse(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, const Molecule& molecule, ergo_real threshold, ergo_real boxSize, symmMatrix & V, std::vector const & permutationHML); int compute_gradient_of_nucl_and_trDV(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, const Molecule& molecule, ergo_real threshold, ergo_real boxSize, const symmMatrix & densityMatrix_sparse, std::vector const & permutationHML, ergo_real* result_gradient_list); ergo_real get_electron_nuclear_attraction_energy(const IntegralInfo& integralInfo, const Molecule& molecule, const BasisInfoStruct& basisInfo, const symmMatrix & D, ergo_real threshold_integrals_1el, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML); int compute_T_sparse(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, ergo_real threshold, symmMatrix & T, std::vector const & permutationHML); int compute_overlap_matrix_sparse(const BasisInfoStruct& basisInfo, symmMatrix & S_symm, std::vector const & permutationHML); int compute_operator_matrix_sparse_symm(const BasisInfoStruct& basisInfo, int pow_x, int pow_y, int pow_z, symmMatrix & A_symm, std::vector const & permutationHML); int compute_J_by_boxes_sparse(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, const JK::Params& J_K_params, symmMatrix & J, const symmMatrix & densityMatrix_sparse, std::vector const & permutationHML); int compute_K_by_boxes_sparse(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, const JK::ExchWeights & CAM_params, const JK::Params& J_K_params, symmMatrix & K, symmMatrix & densityMatrix_sparse, std::vector const & permutationHML, std::vector const & inversePermutationHML); int compute_K_by_boxes_sparse_nosymm(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, const JK::ExchWeights & CAM_params, const JK::Params& J_K_params, normalMatrix & K, normalMatrix & densityMatrix_sparse, std::vector const & permutationHML, std::vector const & inversePermutationHML); #endif ergo-3.5/source/slr.h0000664000175000017500000003447112743400307011522 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #if !defined(SLR_HEADER) #define SLR_HEADER /* Copyright(c) Pawel Salek 2006. */ #include #include "realtype.h" namespace LR { class VarVector; /** template based proxy object that uses bool-valued policies to perform the assignments. */ template class VarVectorProxyOp { public: const VarVector& vec; ergo_real scalar; explicit VarVectorProxyOp(const VarVector& a, ergo_real s=1.0) : vec(a), scalar(s) {} }; /** Vector of variables parametrising the solution to the linear response equations. It provides some handy operations for compact notation. */ class VarVector { ergo_real *v; /**< vector coefficients */ public: char *fName; /**< Present in secondary storage (i.e. disk) under * given file name. */ int nvar; /**< nvar := nocc*nvirt. Vector length is 2*nvar */ unsigned onDisk:1; /**< valid representation on disk */ unsigned inMemory:1; /**< valid representation in memory */ VarVector(const VarVector& a) : fName(NULL), nvar(a.nvar), onDisk(0), inMemory(1) { if(nvar) { v = new ergo_real[nvar*2]; memcpy(v, a.v, 2*nvar*sizeof(ergo_real)); } else v = NULL; } VarVector() : v(NULL), fName(NULL), nvar(0), onDisk(0), inMemory(1) {} /** Creates a vector from a full matrix. */ VarVector(int nbast, int nocc, const ergo_real *full_mat) : v(NULL), fName(NULL), nvar(0), onDisk(0), inMemory(1) { setFromFull(nbast, nocc, full_mat); } ~VarVector() { if(v) delete v; if(fName) { unlink(fName); delete fName; } } ergo_real* x() const { return v; } /**< return the X part of the vector. */ ergo_real* y() const { return v + nvar; } /**< returns the Y part. */ void symorth(void); void setSize(int n) { /**< sets the size. Reallocates if needed. */ if(nvar != n) { if(v) delete v; v = new ergo_real[2*n]; nvar = n; onDisk = 0; } } int size() const { return nvar; } void print(const char *comment = NULL) { if(comment) puts(comment); for(int i=0; i& proxy) { if (&proxy.vec == this) throw "VarVector self-assignment not-implemented"; if(nvar != proxy.vec.nvar) { if(v) delete v; nvar = proxy.vec.nvar; v = new ergo_real[2*nvar]; } for(int i=0; i<2*nvar; i++) v[i] = proxy.scalar*proxy.vec[i]; onDisk = 0; return *this; } VarVector& operator=(const VarVectorProxyOp& proxy) { if (&proxy.vec == this) throw "VarVector self-assignment not-implemented"; if(nvar != proxy.vec.nvar) { if(v) delete v; nvar = proxy.vec.nvar; v = new ergo_real[2*nvar]; } for(int i=0; i& b); friend ergo_real operator*(const VarVector &a, const VarVectorProxyOp& b); }; /** E2Evaluator interface provides a way to perform a linear transformation of supplied transition density matrix @param dmat. The result is returned in @param fmat. */ class E2Evaluator { public: virtual bool transform(const ergo_real *dmat, ergo_real *fmat) = 0; virtual ~E2Evaluator() {} }; /* ################################################################### */ /** a collection of vectors, usually handled at once. */ class VarVectorCollection { VarVector *vecs; unsigned *ages; unsigned currentAge; int nVecs; int nAllocated; bool diskMode; public: explicit VarVectorCollection(int nSize=0) : vecs(NULL), ages(NULL), currentAge(0), nVecs(0), nAllocated(0), diskMode(false) { if(nSize) setSize(nSize); } ~VarVectorCollection(); void setSize(int sz); VarVector& operator[](int i); int size() const { return nVecs; } bool getDiskMode() const { return diskMode; } void setDiskMode(bool x) { diskMode = x; } /** Make sure there is space for one vector. */ void release(); /** Release all vectors from the memory, saving if necessary. */ void releaseAll(); static const char *tmpdir; }; /* ################################################################### */ /** Abstract interface to a one electron operator. */ class OneElOperator { public: virtual void getOper(ergo_real *result) = 0; virtual ~OneElOperator() {} }; /** a class implementing dynamic resized two dimensional arrays. */ class SmallMatrix { ergo_real *mat; int nsize; protected: struct RowProxy { ergo_real *toprow; explicit RowProxy(ergo_real *r) : toprow(r) {} ergo_real& operator[](int j) const { //printf(" returning row %i -> %p\n", j, toprow + j); return toprow[j]; } }; public: explicit SmallMatrix(int sz) : mat(new ergo_real[sz*sz]), nsize(sz) {} ~SmallMatrix() { delete [] mat; } const RowProxy operator[](int i) { //printf("Returning column %i -> %p\n", i, mat + i*nsize); return RowProxy(mat + i*nsize); } void expand(int newSize); }; /* ################################################################### */ /** Linear Response iterative solver using a variant of the Davidson method. */ class LRSolver { public: LRSolver(int nbast, int nocc, const ergo_real *fock_matrix, const ergo_real *s); virtual ~LRSolver() {/* FIXME: delete esub etc */ if(cmo) delete cmo; if(fdiag) delete fdiag; delete [] xSub; } /** Computes the residual vector. The residual vector is created by solving the problem in the subspace and then using the solution coefficients to form the approximate solution vector. This trial vector is then substituted to the equation and the residual is defined as the difference between the transformed trial vector and the expected solution. */ virtual bool getResidual(VarVectorCollection& residualv) = 0; /** Computes the initial vector the subspace is to be seeded with. Allocates @param vecs and returns the number of vectors. */ virtual int getInitialGuess(VarVectorCollection& vecs) = 0; /** returns the preconditioning shift. Proper preconditioning is vital for the quick convergence. */ virtual ergo_real getPreconditionerShift(int i) const = 0; /** expands above the default limit */ virtual void increaseSubspaceLimit(int newSize); /** Solves the problem defined by the subclass. */ bool solve(E2Evaluator& e, bool diskMode = false); void computeExactE2Diag(E2Evaluator& e2); ergo_real convThreshold; /**< iterative method convergence threshold */ int maxSubspaceSize; /**< current subspace size limit. */ protected: static const int MVEC = 200; /**< default limit for subspace size */ VarVector e2diag; /**< approximation to the diagonal of E2 operator */ int subspaceSize; /**< current subspace size */ SmallMatrix eSub; /**< E[2] matrix projected onto subspace */ SmallMatrix sSub; /**< S[2] matrix projected onto subspace */ ergo_real *xSub; /**< solution vector projected onto subspace */ /** Computes a vector built of base vectors with specified vectors. r := Av - f*Sv */ void getAvMinusFreqSv(ergo_real f, ergo_real *weights, VarVector& r); /** Projects vector @param full on the reduced subspace, returns the result in @param w which is a preallocated vector of projection coefficients (weights) with size equal at least to the subspace size. */ void projectOnSubspace(const VarVector& full, ergo_real *w)/* const*/; /** Build full fector from the reduced form */ void buildVector(const ergo_real *w, VarVector& full) /* const */; /** Transform square operator to the vector form */ void operToVec(OneElOperator& oper, VarVector& res) const; /** setE2diag is called by the constructor to fill in the approximation of the E[2] operator diagonal. It returns E_LUMO-E_HOMO which is useful for other things. */ ergo_real setE2diag(int nbast, int nocc, const ergo_real *fock_matrix, const ergo_real *s); int nbast; /**< number of basis functions */ int nocc; /**< number of occupied orbitals */ VarVectorCollection vects; /**< base vectors */ virtual void addToSpace(VarVectorCollection& vecs, E2Evaluator& e2); void mo2ao(int nbast, const ergo_real *mo, ergo_real *ao) const; void ao2mo(int nbast, const ergo_real *ao, ergo_real *mo) const; private: /** vects and Avects members store the trial vectors and their transformed versions. Only every second vector is stored, the paired vectors are recovered with help of swapXY() function. */ VarVectorCollection Avects; /**< transformed base vectors */ ergo_real *fdiag; /**< the eigenvalues of the Fock matrix. Used by load_F_MO. */ ergo_real *cmo; /**< the MO coefficients. */ void load_F_MO(ergo_real *fmat) const; bool lintrans(E2Evaluator& e2, const VarVector& v, VarVector& Av) const; }; /* ################################################################### */ /** Iterative Set Of Linear Equations solver, extending the generic LRSolver. */ class SetOfEqSolver : public LRSolver { ergo_real frequency; /**< frequency for which the SOE is to be solved. */ VarVector rhs; /**< RHS of the SOE */ public: /** Creates the set-of-equations solver. The KS and overlap matrix may be deleted immediately after the object creation. */ SetOfEqSolver(int nbast, int nocc, const ergo_real *fock_matrix, const ergo_real *s, ergo_real freq) : LRSolver(nbast, nocc, fock_matrix, s), frequency(freq), rhsSub(new ergo_real[MVEC]) {}; void setRHS(OneElOperator& op); /**< initializes the rhs field */ virtual ~SetOfEqSolver() { delete [] rhsSub; } virtual ergo_real getPreconditionerShift(int) const { return frequency; } virtual int getInitialGuess(VarVectorCollection& vecs); virtual bool getResidual(VarVectorCollection& residualv); /** expands above the default limit */ virtual void increaseSubspaceLimit(int newSize); ergo_real getPolarisability(OneElOperator& oper) /* const */; protected: ergo_real *rhsSub; /**< RHS vector projected onto subspace */ virtual void addToSpace(VarVectorCollection& vecs, E2Evaluator& e2); ergo_real multiplyXtimesVec(const VarVector& rhs) /* const */; ergo_real xTimesRHS; }; /* ################################################################### */ /** Iterative Eigenvalue solver, extending the generic LRSolver. */ class EigenSolver : public LRSolver { ergo_real *ritzVals; /**< recent ritz values in the subspace. */ ergo_real *transMoms2; /**< most recent SQUARED transition moments. */ int nStates; /**< number of excited states to compute */ int nConverged; /**< number of already converged eigenvalues */ ergo_real *last_ev; /**< most recent eigenvectors in the reduced space */ public: EigenSolver(int nbast, int nocc, const ergo_real *fock_matrix, const ergo_real *overlap, int n) : LRSolver(nbast, nocc, NULL, NULL), ritzVals(new ergo_real[MVEC]), transMoms2(new ergo_real[MVEC]), nStates(n), nConverged(0), last_ev(NULL) { ritzVals[0] = setE2diag(nbast, nocc, fock_matrix, overlap); for(int i=1; i. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include "integrals_2el_exchange_prep.h" #include "utilities.h" #include "integrals_2el_utils.h" typedef struct { int i; ergo_real max_CS_factor; } neighbor_basisfunc_struct; static int find_int_in_sorted_list(const int* list, int listLength, int i) { if(listLength == 0) return 0; /* ELIAS NOTE 2014-03-27: chaning datatype from "int" to "unsigned int" for the lo, hi, mid variables here gave a considerable performance inprovement. Apparently the computation of mid is more efficient for unsigned int. */ unsigned int lo = 0; unsigned int hi = listLength-1; while(lo < hi-1) { unsigned int mid = (lo + hi) / 2; if(list[mid] > i) hi = mid; else lo = mid; } // END WHILE if(list[lo] == i) return 1; if(list[hi] == i) return 1; return 0; } static int find_int_in_list(const int* list, int listLength, int i) { for(int k = 0; k < listLength; k++) { if(list[k] == i) return 1; } return 0; } static void do_sort_int_list(int* list, int n) { for(int i = 0; i < n; i++) for(int j = 0; j < n-i-1; j++) { if(list[j+1] < list[j]) { int temp = list[j]; list[j] = list[j+1]; list[j+1] = temp; } } // END FOR i j } static int find_doubles_in_sorted_list(const int* list, int n) { for(int i = 0; i < n-1; i++) { if(list[i] == list[i+1]) return 1; } return 0; } static int merge_lists(const int* list_1, int list_1_len, const int* list_2, int list_2_len, int* resultList) { int i1 = 0; int i2 = 0; int p = 0; while(i1 < list_1_len && i2 < list_2_len) { if(list_1[i1] < list_2[i2]) { resultList[p] = list_1[i1]; i1++; } else { resultList[p] = list_2[i2]; i2++; } p++; } while(i1 < list_1_len) { resultList[p] = list_1[i1]; i1++; p++; } while(i2 < list_2_len) { resultList[p] = list_2[i2]; i2++; p++; } return 0; } static int identify_needed_elements_part(ergo_real threshold, const csr_matrix_struct* dens_CSR, const int noOfNeighborsList[], const neighbor_basisfunc_struct* neighborList, const int maxNoOfNeighbors, int ** longList, int *longListCounterList, int myIndex, int noOfParts) { const int n = dens_CSR->n; int shortListCounterList[n]; memset(shortListCounterList, 0, n*sizeof(int)); /* ELIAS NOTE 2014-03-27: the "short list length" value chosen here has considerable impact on performance. Increasing it from 20 to 100 made the identify_needed_elements_part call 10% faster. This effect could be machine-dependent, of course. */ const int sll = 100; // sll = "short list length" std::vector shortList(n*sll); // shortList is n lists of sll elements each. // now go through all nonzero dmat elements. for(int i = 0; i < n; i++) { if(i % noOfParts != myIndex) continue; for(int j = 0; j < n; j++) { ergo_real absDmatElement = std::fabs(ergo_CSR_get_element(dens_CSR, i, j)); if(absDmatElement == 0) continue; // OK, we have a non-zero density matrix element. // index pair (i,j) for(int ii = 0; ii < noOfNeighborsList[i]; ii++) { const neighbor_basisfunc_struct* currNeighbor_i = &neighborList[i*maxNoOfNeighbors+ii]; int index_i = currNeighbor_i->i; ergo_real max_CS_factor_i = currNeighbor_i->max_CS_factor; for(int jj = 0; jj < noOfNeighborsList[j]; jj++) { const neighbor_basisfunc_struct* currNeighbor_j = &neighborList[j*maxNoOfNeighbors+jj]; int index_j = currNeighbor_j->i; if(index_j < index_i) continue; ergo_real max_CS_factor_j = currNeighbor_j->max_CS_factor; ergo_real maxContrib = absDmatElement * max_CS_factor_i * max_CS_factor_j; if(maxContrib < threshold) break; // OK, this index pair must be included. // Check if this index pair is already in long list or in short list. int foundInLongList = find_int_in_sorted_list(longList[index_i], longListCounterList[index_i], index_j); if(foundInLongList) continue; int foundInShortList = find_int_in_list(&shortList[index_i*sll], shortListCounterList[index_i], index_j); if(foundInShortList) continue; // not found, this is a new index pair, must be added. // check if shortList is full. if(shortListCounterList[index_i] == sll) { // allocate new long list int* newLongList = new int[longListCounterList[index_i]+sll]; // Merge short list with long list. do_sort_int_list(&shortList[sll*index_i], sll); if(find_doubles_in_sorted_list(longList[index_i], longListCounterList[index_i]) || find_doubles_in_sorted_list(&shortList[sll*index_i], sll) ) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error: doubles found before merge! (1) or (2)."); delete [] newLongList; /* Added this to satisfy cppcheck. */ return -1; } merge_lists(longList[index_i], longListCounterList[index_i], &shortList[sll*index_i], sll, newLongList); if(find_doubles_in_sorted_list(newLongList, longListCounterList[index_i] + sll)) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error: doubles found after merge!"); return -1; } if(longList[index_i]) delete [] longList[index_i]; longList[index_i] = newLongList; longListCounterList[index_i] += sll; shortListCounterList[index_i] = 0; } // END IF short list full // OK, now we know the short list is not full, so we can safely add the new column index. shortList[sll*index_i+shortListCounterList[index_i]] = index_j; shortListCounterList[index_i]++; } // END FOR jj } // END FOR ii } // end for j } // end for i // Now merge contents of short list to long list for each row. for(int i = 0; i < n; i++) { // allocate new long list int* newLongList = new int[longListCounterList[i]+shortListCounterList[i]]; // Merge short list with long list. do_sort_int_list(&shortList[sll*i], shortListCounterList[i]); merge_lists(longList[i], longListCounterList[i], &shortList[sll*i], shortListCounterList[i], newLongList); if(longList[i]) delete [] longList[i]; longList[i] = newLongList; longListCounterList[i] += shortListCounterList[i]; shortListCounterList[i] = 0; } return 0; } typedef int* intPtr; struct listsStruct { int** longList; int* longListCounterList; int n_saved; listsStruct() : longList(0), longListCounterList(0), n_saved(0) { } ~listsStruct() { for(int i = 0; i < n_saved; i++) { if(longList[i]) delete [] longList[i]; } delete [] longList; delete [] longListCounterList; } void init(int n) { longList = new intPtr[n]; longListCounterList = new int[n]; memset(longList, 0, n*sizeof(int*)); memset(longListCounterList, 0, n*sizeof(int)); n_saved= n; } }; struct identify_needed_elements_thread_struct { pthread_t thread; int thread_ID; int nThreads; ergo_real threshold; const csr_matrix_struct* dens_CSR; const int* noOfNeighborsList; const neighbor_basisfunc_struct* neighborList; int maxNoOfNeighbors; int ** longList; int *longListCounterList; int resultCode; identify_needed_elements_thread_struct(const csr_matrix_struct* dens_CSR_, const int* noOfNeighborsList_, const neighbor_basisfunc_struct* neighborList_) : dens_CSR(dens_CSR_), noOfNeighborsList(noOfNeighborsList_), neighborList(neighborList_), resultCode(-1) { } }; static void* identify_needed_elements_thread_func(void* arg) { identify_needed_elements_thread_struct* params = (identify_needed_elements_thread_struct*)arg; params->resultCode = identify_needed_elements_part(params->threshold, params->dens_CSR, params->noOfNeighborsList, params->neighborList, params->maxNoOfNeighbors, params->longList, params->longListCounterList, params->thread_ID, params->nThreads); return NULL; } /** Tries to predict which elements of K will be needed. Use two different lists, a "long list" and a "short list" for each row of K. The "long list" is always sorted so that we can quickly check if a column index is already present. */ static int identify_needed_elements(ergo_real threshold, const csr_matrix_struct* dens_CSR, const int noOfNeighborsList[], const neighbor_basisfunc_struct* neighborList, int maxNoOfNeighbors, int ** longList, int *longListCounterList, int nThreads) { if(nThreads == 1) { // Single-thread case. return identify_needed_elements_part(threshold, dens_CSR, noOfNeighborsList, neighborList, maxNoOfNeighbors, longList, longListCounterList, 0, 1); } // Multi-thread case. const int n = dens_CSR->n; std::vector listList(nThreads); for(int i = 0; i < nThreads; i++) listList[i].init(n); identify_needed_elements_thread_struct* threadParamsList[nThreads]; // Set common parameters for all threads for(int i = 0; i < nThreads; i++) { threadParamsList[i] = new identify_needed_elements_thread_struct(dens_CSR, noOfNeighborsList, neighborList); threadParamsList[i]->threshold = threshold; threadParamsList[i]->maxNoOfNeighbors = maxNoOfNeighbors; threadParamsList[i]->longList = listList[i].longList; threadParamsList[i]->longListCounterList = listList[i].longListCounterList; threadParamsList[i]->thread_ID = i; threadParamsList[i]->nThreads = nThreads; } // END FOR i /* start threads */ for(int i = 0; i < nThreads; i++) { if(pthread_create(&threadParamsList[i]->thread, NULL, identify_needed_elements_thread_func, threadParamsList[i]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in pthread_create for thread %i", i); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "waiting for already created threads.."); for(int j = 0; j < i; j++) { if(pthread_join(threadParamsList[j]->thread, NULL) != 0) do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in pthread_join for thread %i", j); } /* END FOR j */ do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "all threads finished, returning error code"); return -1; } } /* END FOR i */ do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "%i threads started OK.", nThreads); /* wait for threads to finish */ for(int i = 0; i < nThreads; i++) { if(pthread_join(threadParamsList[i]->thread, NULL) != 0) do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in pthread_join for thread %i", i); } /* END FOR i */ /* now all threads have finished, check for errors */ for(int i = 0; i < nThreads; i++) { if(threadParamsList[i]->resultCode != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in identify_needed_elements_thread_func." " for thread %i", i); return -1; } } /* END FOR i */ // Now merge contents of lists to long list for each row. for(int i = 0; i < n; i++) { for(int ti = 0; ti < nThreads; ti++) { int count = longListCounterList[i] + listList[ti].longListCounterList[i]; int* newLongList = new int[count]; merge_lists(longList[i], longListCounterList[i], listList[ti].longList[i], listList[ti].longListCounterList[i], newLongList); // Now newLongList probably contains duplicates. Count unique entries. int nUnique = 0; if(count > 0) nUnique++; for(int k = 0; k < count-1; k++) { if(newLongList[k] > newLongList[k+1]) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in identify_needed_elements: list not sorted."); delete [] newLongList; /* Added this to satisfy cppcheck. */ return -1; } if(newLongList[k] < newLongList[k+1]) nUnique++; } if(longList[i]) delete [] longList[i]; longList[i] = new int[nUnique]; longListCounterList[i] = nUnique; if(count > 0) longList[i][0] = newLongList[0]; int nUnique2 = 0; if(count > 0) nUnique2++; for(int k = 0; k < count-1; k++) { if(newLongList[k] < newLongList[k+1]) longList[i][nUnique2++] = newLongList[k+1]; } delete [] newLongList; } } // Cleanup for(int i = 0; i < nThreads; i++) delete threadParamsList[i]; return 0; } struct distr_idxs_and_factor_struct { int i1; int i2; ergo_real limitingFactor; }; static int compare_distr_idxs_and_factor_structs(const void* p1in, const void* p2in) { const distr_idxs_and_factor_struct* p1 = (const distr_idxs_and_factor_struct*)p1in; const distr_idxs_and_factor_struct* p2 = (const distr_idxs_and_factor_struct*)p2in; if(p1->i1 > p2->i1) return 1; if(p1->i1 < p2->i1) return -1; if(p1->i2 > p2->i2) return 1; if(p1->i2 < p2->i2) return -1; if(p1->limitingFactor < p2->limitingFactor) return 1; if(p1->limitingFactor > p2->limitingFactor) return -1; return 0; } int create_CSR_for_K(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::Params& J_K_params, csr_matrix_struct* dens_CSR, csr_matrix_struct* K_CSR, int symmetryFlag) { Util::TimeMeter timeMeterTot; Util::TimeMeter timeMeterDistrs; int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "entering create_CSR_for_K, no of basis funcs = %5i, threshold_K = %7.3g", n, (double)J_K_params.threshold_K); output_current_memory_usage(LOG_AREA_INTEGRALS, "beginning of create_CSR_for_K"); // compute list of distributions, with max_CS_factor for each distr. ergo_real maxDensityMatrixElement = ergo_CSR_get_max_abs_element(dens_CSR); // get largest limiting factor ergo_real maxLimitingFactor = 0; if(get_list_of_labeled_distrs_maxLimitingFactor(basisInfo, integralInfo, J_K_params.threshold_K, &maxLimitingFactor, maxDensityMatrixElement) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_list_of_labeled_distrs_maxLimitingFactor"); return -1; } // Get number of distributions int distrCount = get_list_of_labeled_distrs(basisInfo, integralInfo, J_K_params.threshold_K, NULL, 0, maxLimitingFactor, NULL, maxDensityMatrixElement); if(distrCount < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_CSR_for_K: (distrCount < 0)"); return -1; } std::vector distrList(distrCount); // create list of product primitives, with labels int distrCountTemp = get_list_of_labeled_distrs(basisInfo, integralInfo, J_K_params.threshold_K, &distrList[0], distrCount, maxLimitingFactor, NULL, maxDensityMatrixElement); if(distrCountTemp != distrCount) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_CSR_for_K:(distrCountTemp != distrCount)"); return -1; } output_current_memory_usage(LOG_AREA_INTEGRALS, "after allocating list of primitive distributions"); // Create simple list of distrs, where each entry in the list only // holds the two indexes and the limitingFactor. std::vector distrListSimple(distrCount*2); int distrCount2 = 0; for(int i = 0; i < distrCount; i++) { DistributionSpecStructLabeled* curr = &distrList[i]; distrListSimple[distrCount2].i1 = curr->basisFuncIndex_1; distrListSimple[distrCount2].i2 = curr->basisFuncIndex_2; distrListSimple[distrCount2].limitingFactor = curr->limitingFactor; distrCount2++; if(curr->basisFuncIndex_1 != curr->basisFuncIndex_2) { distrListSimple[distrCount2].i1 = curr->basisFuncIndex_2; distrListSimple[distrCount2].i2 = curr->basisFuncIndex_1; distrListSimple[distrCount2].limitingFactor = curr->limitingFactor; distrCount2++; } } // Sort list according to indexes and factor. qsort(&distrListSimple[0], distrCount2, sizeof(distr_idxs_and_factor_struct), compare_distr_idxs_and_factor_structs); // Check that list of distrs is properly sorted. for(int i = 0; i < distrCount2-1; i++) { // compare this distr with next one. distr_idxs_and_factor_struct* curr = &distrListSimple[i]; distr_idxs_and_factor_struct* next = &distrListSimple[i+1]; if(next->i1 < curr->i1) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_CSR_for_K: distr list not sorted."); return -1; } if(next->i1 == curr->i1) { if(next->i2 < curr->i2) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_CSR_for_K: distr list not sorted."); return -1; } if(next->i2 == curr->i2) { if(next->limitingFactor > curr->limitingFactor) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_CSR_for_K: distr list not sorted."); return -1; } } } } timeMeterDistrs.print(LOG_AREA_INTEGRALS, "create_CSR_for_K getting list of distrs"); // Now use sorted list to get number of neighbors for each basis function. int noOfNeighborsList[n]; for(int i = 0; i < n; i++) noOfNeighborsList[i] = 0; int iWhile = 0; int basisFuncIndex = -1; while(iWhile < distrCount2) { distr_idxs_and_factor_struct* curr = &distrListSimple[iWhile]; // Now find last entry for this i1 value. int ii = iWhile; while(ii < distrCount2) { distr_idxs_and_factor_struct* curr2 = &distrListSimple[ii]; if(curr2->i1 != curr->i1) break; ii++; } int noOfDistrsCurrIdx = ii - iWhile; int noOfNeighbors = 1; for(int k = 0; k < noOfDistrsCurrIdx-1; k++) { if(distrListSimple[iWhile+k].i2 != distrListSimple[iWhile+k+1].i2) noOfNeighbors++; } noOfNeighborsList[curr->i1] = noOfNeighbors; iWhile += noOfDistrsCurrIdx; } int maxNoOfNeighbors = 0; for(int i = 0; i < n; i++) { if(noOfNeighborsList[i] > maxNoOfNeighbors) maxNoOfNeighbors = noOfNeighborsList[i]; } Util::TimeMeter timeMeterNeighbors; // Create list of neighbor basis funcs, with max_CS_factor for each. std::vector neighborList(n*maxNoOfNeighbors); for(int i = 0; i < n*maxNoOfNeighbors; i++) { neighborList[i].i = -1; neighborList[i].max_CS_factor = 0; } iWhile = 0; basisFuncIndex = -1; while(iWhile < distrCount2) { // now i should point to start of a new basis func basisFuncIndex = distrListSimple[iWhile].i1; int noOfNeighbors = 0; // get all neighbors of this basis func. while(iWhile < distrCount2 && distrListSimple[iWhile].i1 == basisFuncIndex) { // now i should point to a new neighbor basis func. int neighborIndex = distrListSimple[iWhile].i2; neighbor_basisfunc_struct* currNeighbor = &neighborList[basisFuncIndex*maxNoOfNeighbors+noOfNeighbors]; currNeighbor->i = neighborIndex; ergo_real max_CS_factor = 0; while(iWhile < distrCount2 && distrListSimple[iWhile].i1 == basisFuncIndex && distrListSimple[iWhile].i2 == neighborIndex) { ergo_real CS_factor = distrListSimple[iWhile].limitingFactor; if(CS_factor > max_CS_factor) max_CS_factor = CS_factor; iWhile++; } currNeighbor->max_CS_factor = max_CS_factor; noOfNeighbors++; } if(noOfNeighbors != noOfNeighborsList[basisFuncIndex]) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_CSR_for_K: noOfNeighbors mismatch."); return -1; } } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "list of neighbors complete."); timeMeterNeighbors.print(LOG_AREA_INTEGRALS, "create_CSR_for_K getting list of neighbors"); // Sort each list of neighbors by max_CS_factor, so we can skip out of loops earlier. Util::TimeMeter timeMeterSortNeighbors; for(int i = 0; i < n; i++) { neighbor_basisfunc_struct* currList = &neighborList[i*maxNoOfNeighbors]; int count = noOfNeighborsList[i]; // Bubble sort for(int ii = 0; ii < count-1; ii++) for(int jj = 0; jj < count-1-ii; jj++) { if(currList[jj].max_CS_factor < currList[jj+1].max_CS_factor) { // switch neighbor_basisfunc_struct temp = currList[jj]; currList[jj] = currList[jj+1]; currList[jj+1] = temp; } } // check that list is really sorted for(int ii = 0; ii < count-1; ii++) { if(currList[ii].max_CS_factor < currList[ii+1].max_CS_factor) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "ERROR: neighbor list not sorted!"); return -1; } } } // END FOR i sort each list of neighbors timeMeterSortNeighbors.print(LOG_AREA_INTEGRALS, "create_CSR_for_K sort each list of neighbors"); Util::TimeMeter timeMeterIdentifyNeededElements; int* longList[n]; int longListCounterList[n]; memset(longList, 0, n*sizeof(int*)); memset(longListCounterList, 0, n*sizeof(int)); if(identify_needed_elements(J_K_params.threshold_K, dens_CSR, noOfNeighborsList, &neighborList[0], maxNoOfNeighbors, longList, longListCounterList, J_K_params.noOfThreads_K) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in identify_needed_elements."); return -1; } timeMeterIdentifyNeededElements.print(LOG_AREA_INTEGRALS, "identify_needed_elements()"); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "computing nnz.."); // compute nnz; int nnz = 0; for(int i = 0; i < n; i++) nnz += longListCounterList[i]; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "create_CSR_for_K: predicted nnz = %12i, <-> %6.2f%% of a full matrix", nnz, ((double)nnz*100) / ((double)n*n)); Util::TimeMeter timeMeterLastPart; std::vector rowind(nnz); std::vector colind(nnz); int count = 0; for(int i = 0; i < n; i++) { for(int j = 0; j < longListCounterList[i]; j++) { rowind[count] = i; colind[count] = longList[i][j]; count++; } } // Now all info we need is in the vectors rowind and colind. // Free all other memory. distrList.clear(); neighborList.clear(); for(int i = 0; i < n; i++) { if(longList[i]) { delete [] longList[i]; longList[i] = NULL; } } // Now use the vectors rowind and colind to create CSR structure. if(symmetryFlag == 1) { // Symmetric case. if(ergo_CSR_create(K_CSR, 1, n, nnz, &rowind[0], &colind[0]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in ergo_CSR_create for density matrix."); return -1; } } else { // Non-symmetric case. std::vector rowind2(nnz*2); std::vector colind2(nnz*2); int count = 0; for(int i = 0; i < nnz; i++) { int row = rowind[i]; int col = colind[i]; rowind2[count] = row; colind2[count] = col; count++; if(row != col) { rowind2[count] = col; colind2[count] = row; count++; } } int nnz2 = count; if(ergo_CSR_create(K_CSR, 0, n, nnz2, &rowind2[0], &colind2[0]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in ergo_CSR_create for density matrix."); return -1; } } timeMeterLastPart.print(LOG_AREA_INTEGRALS, "create_CSR_for_K last part"); timeMeterTot.print(LOG_AREA_INTEGRALS, "create_CSR_for_K total"); return 0; } ergo-3.5/source/integrals/exponent_list.h0000664000175000017500000000330012743400307015570 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef EXPONENT_LIST_HEADER #define EXPONENT_LIST_HEADER #include "realtype.h" #include "basisinfo.h" const int MAX_NO_OF_UNIQUE_EXPONENTS = 222; const ergo_real CONST_EXPONENT_DIFF_TOLERANCE = 0.0001; typedef struct { ergo_real exponent; ergo_real maxAbsCoeff; } unique_exponent_struct; class ExponentList { public: int noOfExponents; unique_exponent_struct list[MAX_NO_OF_UNIQUE_EXPONENTS]; int get_list_of_available_exponents(const BasisInfoStruct & basisInfo); }; #endif ergo-3.5/source/integrals/operator_matrix.h0000664000175000017500000000375112743400307016126 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef OPERATOR_MATRIX_HEADER #define OPERATOR_MATRIX_HEADER #include "integral_info.h" #include "basisinfo.h" int compute_overlap_matrix(const BasisInfoStruct & basisInfoA, const BasisInfoStruct & basisInfoB, ergo_real* result); int compute_operator_matrix_full(const BasisInfoStruct & basisInfoA, const BasisInfoStruct & basisInfoB, int pow_x, int pow_y, int pow_z, ergo_real* result); int compute_operator_matrix_sparse(const BasisInfoStruct & basisInfoA, const BasisInfoStruct & basisInfoB, int pow_x, int pow_y, int pow_z, int n_A, int n_B, std::vector & nvaluesList, std::vector< std::vector > & colindList, std::vector< std::vector > & valuesList); #endif ergo-3.5/source/integrals/basis_func_extent.h0000664000175000017500000000313412743400307016405 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef BASIS_FUNC_EXTENT_HEADER #define BASIS_FUNC_EXTENT_HEADER #include "realtype.h" #include "integral_info.h" #include "basisinfo.h" int compute_extent_for_all_basis_funcs_2el(const IntegralInfo & integralInfo, const BasisInfoStruct & basisInfo, ergo_real* basisFuncExtentList, ergo_real threshold, ergo_real maxAbsDensMatElement); #endif ergo-3.5/source/integrals/basis_func_pair_list_1el.h0000664000175000017500000000321712743400307017627 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef BASIS_FUNC_PAIR_LIST_1EL_HEADER #define BASIS_FUNC_PAIR_LIST_1EL_HEADER #include "realtype.h" #include "basisinfo.h" typedef struct { int index_1; int index_2; } basis_func_index_pair_struct_1el; int get_basis_func_pair_list_1el(const BasisInfoStruct & basisInfo, ergo_real threshold, ergo_real maxCharge, basis_func_index_pair_struct_1el* result_basisFuncPairList, int resultMaxCount); #endif ergo-3.5/source/integrals/multipole.h0000664000175000017500000000634412743400307014722 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MULTIPOLE_HEADER #define MULTIPOLE_HEADER #include "realtype.h" #include "integral_info.h" #include "basisinfo.h" #define MAX_MULTIPOLE_DEGREE 15 #define MAX_NO_OF_MOMENTS_PER_MULTIPOLE ((MAX_MULTIPOLE_DEGREE+1)*(MAX_MULTIPOLE_DEGREE+1)) #define MAX_MULTIPOLE_DEGREE_BASIC BASIS_FUNC_POLY_MAX_DEGREE #define MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC ((MAX_MULTIPOLE_DEGREE_BASIC+1)*(MAX_MULTIPOLE_DEGREE_BASIC+1)) typedef struct { ergo_real centerCoords[3]; int degree; int noOfMoments; ergo_real momentList[MAX_NO_OF_MOMENTS_PER_MULTIPOLE]; ergo_real maxAbsMomentList[MAX_MULTIPOLE_DEGREE+1]; ergo_real euclideanNormList[MAX_MULTIPOLE_DEGREE+1]; } multipole_struct_large; typedef struct { ergo_real centerCoords[3]; int degree; int noOfMoments; ergo_real momentList[MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC]; } multipole_struct_small; int init_multipole_code(); int compute_multipole_moments(const IntegralInfo& integralInfo, const DistributionSpecStruct* distr, multipole_struct_small* result); class MMTranslator { static const int MMDP1 = MAX_MULTIPOLE_DEGREE+1; ergo_real *buffer_W_cc; ergo_real *buffer_W_cs; ergo_real *buffer_W_sc; ergo_real *buffer_W_ss; public: MMTranslator(); ~MMTranslator(); int getTranslationMatrix(ergo_real dx, ergo_real dy, ergo_real dz, int l_1, int l_2, ergo_real* result_W) const; }; class MMInteractor { static const int MMDP1 = MAX_MULTIPOLE_DEGREE+1; ergo_real *buffer_T_cc; ergo_real *buffer_T_cs; ergo_real *buffer_T_sc; ergo_real *buffer_T_ss; public: MMInteractor(); ~MMInteractor(); int getInteractionMatrix(ergo_real dx, ergo_real dy, ergo_real dz, int l_1, int l_2, ergo_real* result_T); }; int setup_multipole_maxAbsMomentList(multipole_struct_large* multipole); #endif ergo-3.5/source/integrals/integrals_hermite.h0000664000175000017500000000325512743400307016413 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_HERMITE_HEADER #define INTEGRALS_HERMITE_HEADER #include "realtype.h" #include "integral_info.h" int get_related_integrals_hermite(const IntegralInfo & integralInfo, const JK::ExchWeights & paramsCAM, int n1max, int noOfMonomials_1, int n2max, int noOfMonomials_2, ergo_real dx0, ergo_real dx1, ergo_real dx2, ergo_real alpha0, ergo_real resultPreFactor, ergo_real* primitiveIntegralList); #endif ergo-3.5/source/integrals/operator_matrix.cc0000664000175000017500000002767612743400307016300 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include #include #include #include #include "pi.h" #include "output.h" #include "utilities.h" #include "boysfunction.h" #include "integral_info.h" #include "integrals_general.h" #include "box_system.h" #include "operator_matrix.h" /** @file operator_matrix.cc Functions for computing the matrix of a dipole/quadrupole/etc operator. Full and sparse versions. */ static const ergo_real MATRIX_ELEMENT_THRESHOLD_VALUE = 1e-12; int compute_operator_matrix_full(const BasisInfoStruct & basisInfoA, const BasisInfoStruct & basisInfoB, int pow_x, int pow_y, int pow_z, ergo_real* result) { int n_A = basisInfoA.noOfBasisFuncs; int n_B = basisInfoB.noOfBasisFuncs; std::vector nvaluesList(n_A); std::vector< std::vector > colindList(n_A); std::vector< std::vector > valuesList(n_A); if(compute_operator_matrix_sparse(basisInfoA, basisInfoB, pow_x, pow_y, pow_z, n_A, n_B, nvaluesList, colindList, valuesList) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_operator_matrix_sparse"); return -1; } // Now populate full result matrix memset(result, 0, n_A*n_B*sizeof(ergo_real)); for(int i = 0; i < n_A; i++) { int count = nvaluesList[i]; const std::vector & colind = colindList[i]; const std::vector & values = valuesList[i]; for(int j = 0; j < count; j++) result[i*n_B+colind[j]] = values[j]; } // END FOR i return 0; } /** computes the matrix of a dipole/quadrupole/etc operator. The columns and rows enumerate @param basisInfoA and @param basisInfoB respectively. The operator is in the form: X = (x^pow_x*y^pow_y*z^pow_z). The resulting matrix (possibly rectangular) is returned in nvaluesList, colindList, valuesList. Overlap matrix is associated with triple (0,0,0), X component of the dipole moment with (1,0,0), etc. The parameters @param pow_x @param pow_y @param pow_z determine the operator. The parameters @param n_A @param n_B give the number of basis functions in each of the two basis sets. The result is stored using the lists @param nvaluesList @param colindList @param valuesList each having length n_A. */ int compute_operator_matrix_sparse(const BasisInfoStruct & basisInfoA, const BasisInfoStruct & basisInfoB, int pow_x, int pow_y, int pow_z, int n_A, int n_B, std::vector & nvaluesList, // length n_A std::vector< std::vector > & colindList, // length n_A, each element will be allocated std::vector< std::vector > & valuesList // length n_A, each element will be allocated ) { int internal_error = 0; int nBastA = basisInfoA.noOfBasisFuncs; int nBastB = basisInfoB.noOfBasisFuncs; if(n_A != nBastA || n_B != nBastB) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_operator_matrix_sparse: (n_A != nBastA || n_B != nBastB)"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_operator_matrix_sparse, nBastA = %6i, nBastB = %6i, pows (x y z) = (%i %i %i)", nBastA, nBastB, pow_x, pow_y, pow_z); Util::TimeMeter timeMeter; // To reduce scaling we want some kind of "extent" for each basis function. // Start by getting largest simple integral for each of the two basis sets. ergo_real A_A = get_largest_simple_integral(basisInfoA); ergo_real A_B = get_largest_simple_integral(basisInfoB); std::vector basisFuncExtentList_A(nBastA); std::vector basisFuncExtentList_B(nBastB); get_basis_func_extent_list(basisInfoA, &basisFuncExtentList_A[0], MATRIX_ELEMENT_THRESHOLD_VALUE / A_A); get_basis_func_extent_list(basisInfoB, &basisFuncExtentList_B[0], MATRIX_ELEMENT_THRESHOLD_VALUE / A_B); ergo_real maxExtentB = 0; for(int i = 0; i < nBastB; i++) { ergo_real currExtent = basisFuncExtentList_B[i]; if(currExtent > maxExtentB) maxExtentB = currExtent; } // Create box system for basisInfoB. std::vector itemList(nBastB); for(int i = 0; i < nBastB; i++) { for(int j = 0; j < 3; j++) itemList[i].centerCoords[j] = basisInfoB.basisFuncList[i].centerCoords[j]; itemList[i].originalIndex = i; } ergo_real toplevelBoxSize = 7.0; BoxSystem boxSystem; if(boxSystem.create_box_system(&itemList[0], nBastB, toplevelBoxSize) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_operator_matrix_sparse: error creating box system."); return -1; } static const int maxDistrsInTempList = 40000; static const int maxDistrsInTempList2 = 400; int operatorMonomialInts[3]; operatorMonomialInts[0] = pow_x; operatorMonomialInts[1] = pow_y; operatorMonomialInts[2] = pow_z; #ifdef _OPENMP #pragma omp parallel #endif { // Allocate vector for results for one row. std::vector rowValueList(nBastB); std::vector tempList(maxDistrsInTempList); std::vector orgIndexList(nBastB); #ifdef _OPENMP #pragma omp for #endif for(int i = 0; i < nBastA; i++) { int count = 0; // Now, instead of looping over all nBastB basis functions, we use box system to find relevant ones. ergo_real maxDistance = basisFuncExtentList_A[i] + maxExtentB; ergo_real coords[3]; for(int coordNo = 0; coordNo < 3; coordNo++) coords[coordNo] = basisInfoA.basisFuncList[i].centerCoords[coordNo]; int nRelevant = boxSystem.get_items_near_point(&itemList[0], coords, maxDistance, &orgIndexList[0]); for(int jRelevant = 0; jRelevant < nRelevant; jRelevant++) { int j = orgIndexList[jRelevant]; // Compute distance between basis function centers ergo_real dx = basisInfoA.basisFuncList[i].centerCoords[0] - basisInfoB.basisFuncList[j].centerCoords[0]; ergo_real dy = basisInfoA.basisFuncList[i].centerCoords[1] - basisInfoB.basisFuncList[j].centerCoords[1]; ergo_real dz = basisInfoA.basisFuncList[i].centerCoords[2] - basisInfoB.basisFuncList[j].centerCoords[2]; ergo_real distance = std::sqrt(dx*dx + dy*dy + dz*dz); // We can skip if distance is greater than sum of extents. if(distance > basisFuncExtentList_A[i] + basisFuncExtentList_B[j]) { rowValueList[jRelevant] = 0.0; continue; } int nPrimitives = get_product_simple_primitives(basisInfoA, i, basisInfoB, j, &tempList[0], maxDistrsInTempList, 0); if(nPrimitives <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_primitives\n"); internal_error++; goto internal_error_occured; } ergo_real sum = 0; for(int k = 0; k < nPrimitives; k++) { DistributionSpecStruct* currDistr = &tempList[k]; // now we need to multiply the current distribution by the operator monomial // the result will be a list of new distributions DistributionSpecStruct tempList2[maxDistrsInTempList2]; // first put the distribution as the only entry in tempList2 // then loop over operator monomial, each time creating a new list in tempList3 // and move list back to tempList2 each time memcpy(&tempList2[0], currDistr, sizeof(DistributionSpecStruct)); int tempList2_count = 1; for(int coordNo = 0; coordNo < 3; coordNo++) { for(int ii = 0; ii < operatorMonomialInts[coordNo]; ii++) { DistributionSpecStruct tempList3[maxDistrsInTempList2]; int tempList3_count = 0; // now go through tempList2, and for each entry create two new entries in tempList3 for(int jj = 0; jj < tempList2_count; jj++) { // multiply this distribution by a single coordinate, x y or z according to coordNo // this gives two new distributions // the first one is the same as the original one multiplied by a constant memcpy(&tempList3[tempList3_count], &tempList2[jj], sizeof(DistributionSpecStruct)); tempList3[tempList3_count].coeff *= tempList3[tempList3_count].centerCoords[coordNo]; tempList3_count++; if(tempList3_count >= maxDistrsInTempList2) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_operator_matrix: (tempList3_count >= maxDistrsInTempList2)"); internal_error++; goto internal_error_occured; } // the second one is the same as the original one with increased pow of current coordinate memcpy(&tempList3[tempList3_count], &tempList2[jj], sizeof(DistributionSpecStruct)); tempList3[tempList3_count].monomialInts[coordNo]++; tempList3_count++; if(tempList3_count >= maxDistrsInTempList2) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_operator_matrix: (tempList3_count >= maxDistrsInTempList2)"); internal_error++; goto internal_error_occured; } } // END FOR jj // now tempList3 is complete. copy it back to tempList2 memcpy(tempList2, tempList3, tempList3_count * sizeof(DistributionSpecStruct)); tempList2_count = tempList3_count; } // END FOR ii } // END FOR coordNo // now tempList2 contains all the final distributions for(int ii = 0; ii < tempList2_count; ii++) sum += compute_integral_of_simple_prim(&tempList2[ii]); } /* END FOR k */ rowValueList[jRelevant] = sum; if(std::fabs(sum) > MATRIX_ELEMENT_THRESHOLD_VALUE) count++; } /* END FOR jRelevant */ // OK, this row done. nvaluesList[i] = count; // Now allocate result vectors for this row. colindList[i].resize(count); valuesList[i].resize(count); count = 0; for(int jRelevant = 0; jRelevant < nRelevant; jRelevant++) { int j = orgIndexList[jRelevant]; ergo_real absVal = std::fabs(rowValueList[jRelevant]); if(absVal > MATRIX_ELEMENT_THRESHOLD_VALUE) { if(count >= nvaluesList[i]) { internal_error++; goto internal_error_occured; } colindList[i][count] = j; valuesList[i][count] = rowValueList[jRelevant]; count++; } } internal_error_occured:; } /* END FOR i */ } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_operator_matrix_sparse finished."); timeMeter.print(LOG_AREA_INTEGRALS, "compute_operator_matrix_sparse"); return -internal_error; } int compute_overlap_matrix(const BasisInfoStruct & basisInfoA, const BasisInfoStruct & basisInfoB, ergo_real* result) { return compute_operator_matrix_full(basisInfoA, basisInfoB, 0, 0, 0, result); } ergo-3.5/source/integrals/simple_sparse_mat.h0000664000175000017500000000313212743400307016407 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef SIMPLE_SPARSE_MAT_HEADER #define SIMPLE_SPARSE_MAT_HEADER #include "realtype.h" typedef struct { int i; int j; int same_i_count; ergo_real value; } i_j_val_struct; int spmat_multiply_matrices(const i_j_val_struct* A, int nnzA, const i_j_val_struct* B, int nnzB, i_j_val_struct* C, int M, int N); int spmat_sort_elements(i_j_val_struct* A, int nnzA); #endif ergo-3.5/source/integrals/densityfitting.h0000664000175000017500000000470512743400307015753 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef DENSITYFITTING_HEADER #define DENSITYFITTING_HEADER #include #include "basisinfo.h" #include "integrals_2el.h" typedef struct { ergo_real *ptr; FILE *f; unsigned using_file:1; } DensfitData; DensfitData* densfit_init(const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfoDensFit); void densfit_destroy(DensfitData *p); int densfit_compute_alpha_beta_matrix_inverse(const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfoDensFit, ergo_real* result_U_inverse); int densfit_compute_gamma(const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfoMain, const BasisInfoStruct & basisInfoDensFit, ergo_real* densityMatrix, ergo_real* result_gamma, ergo_real threshold); int densfit_compute_c_vector(const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfoDensFit, DensfitData* U_inverse, ergo_real* gamma, ergo_real* result_c_vector); int densfit_compute_J(const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfoMain, const BasisInfoStruct & basisInfoDensFit, ergo_real* c_vector, ergo_real* result_J, ergo_real threshold); #endif /* DENSITYFITTING_HEADER */ ergo-3.5/source/integrals/basis_func_pair_list.cc0000664000175000017500000002102512743400307017221 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include "basis_func_pair_list.h" #include "basis_func_extent.h" #include "output.h" #include "integrals_general.h" #include "pi.h" #include "integrals_2el_single.h" #include "memorymanag.h" #include "integrals_2el_repeating.h" #include "utilities.h" #include "box_system.h" static int get_maxLimitingFactor(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const ergo_real* basisFuncExtentList, ergo_real* result_maxLimitingFactor, const BoxSystem & boxSystem, const box_item_struct* itemList) { IntegratorWithMemory integrator(&integralInfo); int n = basisInfo.noOfBasisFuncs; ergo_real maxExtent = 0; for(int i = 0; i < n; i++) { ergo_real currExtent = basisFuncExtentList[i]; if(currExtent > maxExtent) maxExtent = currExtent; } std::vector orgIndexList(n); ergo_real maxLimitingFactor = 0; for(int i = 0; i < n; i++) { // Now, instead of looping again over all n basis functions, we use box system to find relevant ones. ergo_real maxDistance = basisFuncExtentList[i] + maxExtent; ergo_real coords[3]; for(int coordNo = 0; coordNo < 3; coordNo++) coords[coordNo] = basisInfo.basisFuncList[i].centerCoords[coordNo]; int nRelevant = boxSystem.get_items_near_point(itemList, coords, maxDistance, &orgIndexList[0]); for(int jRelevant = 0; jRelevant < nRelevant; jRelevant++) { int j = orgIndexList[jRelevant]; if(j < i) continue; // Now we are concerned with basis functions i and j. // If they are far enough apart, we can skip this pair. ergo_real dx = basisInfo.basisFuncList[i].centerCoords[0] - basisInfo.basisFuncList[j].centerCoords[0]; ergo_real dy = basisInfo.basisFuncList[i].centerCoords[1] - basisInfo.basisFuncList[j].centerCoords[1]; ergo_real dz = basisInfo.basisFuncList[i].centerCoords[2] - basisInfo.basisFuncList[j].centerCoords[2]; ergo_real distance = std::sqrt(dx*dx + dy*dy + dz*dz); if(distance > basisFuncExtentList[i] + basisFuncExtentList[j]) continue; // There may be some overlap between these two basis functions. // Compute product explicitly. const int maxCountProduct = POLY_PRODUCT_MAX_DISTRS; DistributionSpecStruct psi_list[maxCountProduct]; /* form product of basisfuncs i and j, store product in psi_list */ int n_psi = get_product_simple_primitives(basisInfo, i, basisInfo, j, psi_list, maxCountProduct, 0); if(n_psi < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_primitives"); return -1; } for(int k = 0; k < n_psi; k++) { ergo_real limitingFactor = std::sqrt(integrator.do_2e_integral(&psi_list[k])); if(limitingFactor > maxLimitingFactor) maxLimitingFactor = limitingFactor; } // END FOR k } // END FOR j } // END FOR i *result_maxLimitingFactor = maxLimitingFactor; return 0; } int get_basis_func_pair_list_2el(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real threshold, ergo_real maxDensityMatrixElement, std::vector & resultList) { IntegratorWithMemory integrator(&integralInfo); int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "get_basis_func_pair_list, n = %6i", n); Util::TimeMeter timeMeter; // compute extent for all basis functions std::vector basisFuncExtentList(n); if(compute_extent_for_all_basis_funcs_2el(integralInfo, basisInfo, &basisFuncExtentList[0], threshold, maxDensityMatrixElement) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_extent_for_all_basis_funcs_2el"); return -1; } ergo_real maxExtent = 0; for(int i = 0; i < n; i++) { ergo_real currExtent = basisFuncExtentList[i]; if(currExtent > maxExtent) maxExtent = currExtent; } // Create box system for basisInfo. std::vector itemList(n); for(int i = 0; i < n; i++) { for(int j = 0; j < 3; j++) itemList[i].centerCoords[j] = basisInfo.basisFuncList[i].centerCoords[j]; itemList[i].originalIndex = i; } ergo_real toplevelBoxSize = 7.0; BoxSystem boxSystem; if(boxSystem.create_box_system(&itemList[0], n, toplevelBoxSize) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system."); return -1; } ergo_real maxLimitingFactor = 0; if(get_maxLimitingFactor(basisInfo, integralInfo, &basisFuncExtentList[0], &maxLimitingFactor, boxSystem, &itemList[0]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_maxLimitingFactor"); return -1; } std::vector orgIndexList(n); unsigned int count = 0; for(int i = 0; i < n; i++) { // Now, instead of looping again over all n basis functions, we use box system to find relevant ones. ergo_real maxDistance = basisFuncExtentList[i] + maxExtent; ergo_real coords[3]; for(int coordNo = 0; coordNo < 3; coordNo++) coords[coordNo] = basisInfo.basisFuncList[i].centerCoords[coordNo]; int nRelevant = boxSystem.get_items_near_point(&itemList[0], coords, maxDistance, &orgIndexList[0]); for(int jRelevant = 0; jRelevant < nRelevant; jRelevant++) { int j = orgIndexList[jRelevant]; if(j < i) continue; // Now we are concerned with basis functions i and j. // If they are far enough apart, we can skip this pair. ergo_real dx = basisInfo.basisFuncList[i].centerCoords[0] - basisInfo.basisFuncList[j].centerCoords[0]; ergo_real dy = basisInfo.basisFuncList[i].centerCoords[1] - basisInfo.basisFuncList[j].centerCoords[1]; ergo_real dz = basisInfo.basisFuncList[i].centerCoords[2] - basisInfo.basisFuncList[j].centerCoords[2]; ergo_real distance = std::sqrt(dx*dx + dy*dy + dz*dz); if(distance > basisFuncExtentList[i] + basisFuncExtentList[j]) continue; // There may be some overlap between these two basis functions. // However, the extent check is rather rough. // To check more carefully, compute product explicitly. int currProductLargeEnough = 0; const int maxCountProduct = POLY_PRODUCT_MAX_DISTRS; DistributionSpecStruct psi_list[maxCountProduct]; /* form product of basisfuncs i and j, store product in psi_list */ int n_psi = get_product_simple_primitives(basisInfo, i, basisInfo, j, psi_list, maxCountProduct, 0); if(n_psi < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_primitives"); return -1; } for(int k = 0; k < n_psi; k++) { ergo_real limitingFactor = std::sqrt(integrator.do_2e_integral(&psi_list[k])); if(limitingFactor*maxLimitingFactor*maxDensityMatrixElement > threshold) { // This product distr is large enough. currProductLargeEnough = 1; break; } // END IF above threshold } // END FOR k if(currProductLargeEnough == 1) { // Include this pair in the list // First expand list if needed. if(count >= resultList.size()) { int newSize = (count+1000) * 1.1; resultList.resize(newSize); } resultList[count].index_1 = i; resultList[count].index_2 = j; count++; } // END IF include this pair in the list } // END FOR jRelevant } // END FOR i timeMeter.print(LOG_AREA_INTEGRALS, "get_basis_func_pair_list_2el"); return count; } ergo-3.5/source/integrals/boysfunction.h0000664000175000017500000000424712743400307015432 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef BOYSFUNCTION_HEADER #define BOYSFUNCTION_HEADER #include "realtype.h" #include "polydegree.h" /* We need Boys functions up to a degree 4 times the highest degree of basis functions. */ #define BOYS_N_MAX (BASIS_FUNC_POLY_MAX_DEGREE*4+1) #define BOYS_TAB_DEGREE 12 #define BOYS_X_MAX 160.0 #define BOYS_NO_OF_INTERVALS 200 typedef struct { ergo_real midx; ergo_real A[BOYS_TAB_DEGREE]; } BoysFuncIntervalStruct; class BoysFunctionManager { private: BoysFuncIntervalStruct Boys_list[BOYS_N_MAX][BOYS_NO_OF_INTERVALS]; int Boys_init_flag; ergo_real BoysFunction_pretabulated(int n, ergo_real x) const; public: BoysFunctionManager() : Boys_init_flag(0) { } void init(); ergo_real BoysFunction(int n, ergo_real x) const; // Stuff needed for Chunks&Tasks usage void write_to_buffer ( char * dataBuffer, size_t const bufferSize ) const; size_t get_size() const; void assign_from_buffer ( char const * dataBuffer, size_t const bufferSize); }; #endif ergo-3.5/source/integrals/integrals_2el_exchange.h0000664000175000017500000000325112743400307017276 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_2EL_EXCHANGE_HEADER #define INTEGRALS_2EL_EXCHANGE_HEADER #include "basisinfo.h" #include "integrals_2el.h" #include "csr_matrix.h" int compute_K_by_boxes(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params_in, const JK::Params& J_K_params, ergo_real* K, csr_matrix_struct* K_CSR, const ergo_real* dens, csr_matrix_struct* densCSR, int symmetryFlag); #endif ergo-3.5/source/integrals/integrals_2el_boxed.cc0000664000175000017500000005054212743400307016760 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include "integrals_2el_boxed.h" #include "integrals_2el_utils.h" #include "organize_distrs.h" #include "pi.h" #include "utilities.h" static const int HUGE_INTEGER_NUMBER = 2000000000; typedef struct { int a, b, c, d; int poly_ab_index; int poly_cd_index; int idx1; int idx2; ergo_real densValue; } abcd_struct; #define set_abcd_list_item_macro(i,A,B,C,D,v,i1,i2) \ list[i].a = A; list[i].b = B; list[i].c = C; list[i].d = D; list[i].densValue = v; list[i].idx1 = i1; list[i].idx2 = i2; static int get_JK_contribs_from_2_interacting_boxes(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, int maxNoOfMonomials, ergo_real* J, ergo_real* K, const ergo_real* dens, const minimal_distr_struct* minimalDistrList_1, int noOfGroups_1, const distr_group_struct* groupList_1, const minimal_distr_struct* minimalDistrList_2, int noOfGroups_2, const distr_group_struct* groupList_2, const cluster_struct* clusterList_1, int nClusters_1, const cluster_struct* clusterList_2, int nClusters_2, const chunk_struct* chunkList_1, int nChunks_1, const chunk_struct* chunkList_2, int nChunks_2, const basis_func_pair_struct* basisFuncPairList_1, const basis_func_pair_struct* basisFuncPairList_2, int interactionWithSelf, ergo_real threshold, JK_contribs_buffer_struct* bufferStructPtr) { int n = basisInfo.noOfBasisFuncs; const JK::ExchWeights CAM_params_not_used; const ergo_real twoTimesPiToPow5half = 2 * pitopow52;// = 2 * pow(pi, 2.5); ergo_real* summedIntegralList = bufferStructPtr->summedIntegralList; ergo_real* primitiveIntegralList = bufferStructPtr->primitiveIntegralList; ergo_real* primitiveIntegralList_work = bufferStructPtr->primitiveIntegralList_work; for(int chunk_i = 0; chunk_i < nChunks_1; chunk_i++) { int chunk_j_start = 0; if(interactionWithSelf == 1) chunk_j_start = chunk_i; for(int chunk_j = chunk_j_start; chunk_j < nChunks_2; chunk_j++) { int noOfBasisFuncPairs_1 = chunkList_1[chunk_i].noOfBasisFuncPairs; int noOfBasisFuncPairs_2 = chunkList_2[chunk_j].noOfBasisFuncPairs; // set integral list to zero memset(summedIntegralList, 0, noOfBasisFuncPairs_1*noOfBasisFuncPairs_2*sizeof(ergo_real)); // get largest dmat element ergo_real maxabsdmatelement = 0; for(int i = 0; i < noOfBasisFuncPairs_1; i++) for(int j = 0; j < noOfBasisFuncPairs_2; j++) { int a = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+i].index_1; int b = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+i].index_2; int c = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+j].index_1; int d = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+j].index_2; ergo_real absval; if(J != NULL) { absval = std::fabs(dens[a*n+b]); if(absval > maxabsdmatelement) maxabsdmatelement = absval; absval = std::fabs(dens[c*n+d]); if(absval > maxabsdmatelement) maxabsdmatelement = absval; } if(K != NULL) { absval = std::fabs(dens[a*n+c]); if(absval > maxabsdmatelement) maxabsdmatelement = absval; absval = std::fabs(dens[a*n+d]); if(absval > maxabsdmatelement) maxabsdmatelement = absval; absval = std::fabs(dens[b*n+c]); if(absval > maxabsdmatelement) maxabsdmatelement = absval; absval = std::fabs(dens[b*n+d]); if(absval > maxabsdmatelement) maxabsdmatelement = absval; } } // END FOR i j get largest dmat element int cluster_i_start = chunkList_1[chunk_i].clusterStartIndex; int clusterCount1 = chunkList_1[chunk_i].noOfClusters; for(int cluster_i = cluster_i_start; cluster_i < cluster_i_start + clusterCount1; cluster_i++) { int cluster_j_start = chunkList_2[chunk_j].clusterStartIndex; int clusterCount2 = chunkList_2[chunk_j].noOfClusters; int cluterIndexEnd2 = cluster_j_start + clusterCount2; if(interactionWithSelf == 1 && chunk_i == chunk_j) cluster_j_start = cluster_i; for(int cluster_j = cluster_j_start; cluster_j < cluterIndexEnd2; cluster_j++) { // check if we can skip this combination of clusters if(clusterList_1[cluster_i].maxLimitingFactorForCluster * clusterList_2[cluster_j].maxLimitingFactorForCluster * maxabsdmatelement < threshold) continue; int group_i_start = clusterList_1[cluster_i].groupStartIndex; int group_i_end = group_i_start + clusterList_1[cluster_i].noOfGroups; int group_j_start = clusterList_2[cluster_j].groupStartIndex; int group_j_end = group_j_start + clusterList_2[cluster_j].noOfGroups; int n1max = clusterList_1[cluster_i].nmax; int n2max = clusterList_2[cluster_j].nmax; // Now we can precompute things that depend only on exponents ergo_real alpha_1 = groupList_1[group_i_start].exponent; ergo_real alpha_2 = groupList_2[group_j_start].exponent; ergo_real alphasum = alpha_1 + alpha_2; ergo_real alphaproduct = alpha_1 * alpha_2; ergo_real alpha_0 = alphaproduct / alphasum; ergo_real resultPreFactor = twoTimesPiToPow5half / (alphaproduct*std::sqrt(alphasum)); for(int group_i = group_i_start; group_i < group_i_end; group_i++) { if(interactionWithSelf == 1 && chunk_i == chunk_j && cluster_i == cluster_j) group_j_start = group_i; for(int group_j = group_j_start; group_j < group_j_end; group_j++) { if(K == NULL) { // Only J is considered; we can use maxAbsDmatElementGroup ergo_real maxabs_1 = groupList_1[group_i].maxAbsDmatElementGroup; ergo_real maxabs_2 = groupList_2[group_j].maxAbsDmatElementGroup; if((groupList_1[group_i].maxLimitingFactorGroup * groupList_2[group_j].maxLimitingFactorGroup * maxabs_1 < threshold) && (groupList_1[group_i].maxLimitingFactorGroup * groupList_2[group_j].maxLimitingFactorGroup * maxabs_2 < threshold)) continue; } else { if(groupList_1[group_i].maxLimitingFactorGroup * groupList_2[group_j].maxLimitingFactorGroup * maxabsdmatelement < threshold) continue; } // now we can do all integrals needed for this pair of groups ergo_real dx = groupList_2[group_j].centerCoords[0] - groupList_1[group_i].centerCoords[0]; ergo_real dy = groupList_2[group_j].centerCoords[1] - groupList_1[group_i].centerCoords[1]; ergo_real dz = groupList_2[group_j].centerCoords[2] - groupList_1[group_i].centerCoords[2]; // now we have dx dy dz alpha0 alpha1 n1max n2max. Get all integrals for this case. int noOfMonomials_1 = integralInfo.monomial_info.no_of_monomials_list[n1max]; int noOfMonomials_2 = integralInfo.monomial_info.no_of_monomials_list[n2max]; if(get_related_integrals_h(integralInfo, CAM_params_not_used, n1max, noOfMonomials_1, n2max, noOfMonomials_2, dx, dy, dz, alpha_1, alpha_2, alpha_0, primitiveIntegralList, primitiveIntegralList_work, resultPreFactor ) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_related_integrals"); return -1; } int i_start = groupList_1[group_i].startIndex; int i_end = i_start + groupList_1[group_i].distrCount; for(int i = i_start; i < i_end; i++) { int idx_1 = minimalDistrList_1[i].basisFuncPairIndex; int monomialIndex_1 = minimalDistrList_1[i].monomialIndex; int j_start = groupList_2[group_j].startIndex; int j_end = j_start + groupList_2[group_j].distrCount; if(interactionWithSelf == 1 && group_j == group_i && chunk_i == chunk_j && cluster_i == cluster_j) { // take care of case i = j separately ergo_real integralValue = primitiveIntegralList[monomialIndex_1*noOfMonomials_2+monomialIndex_1]; ergo_real integralValueCurr = minimalDistrList_1[i].coeff * minimalDistrList_1[i].coeff * integralValue; integralValueCurr *= 0.5; summedIntegralList[idx_1*noOfBasisFuncPairs_2 + idx_1] += integralValueCurr; j_start = i+1; } for(int j = j_start; j < j_end; j++) { int idx_2 = minimalDistrList_2[j].basisFuncPairIndex; int monomialIndex_2 = minimalDistrList_2[j].monomialIndex; ergo_real integralValue = primitiveIntegralList[monomialIndex_1*noOfMonomials_2+monomialIndex_2]; ergo_real integralValueCurr = minimalDistrList_1[i].coeff * minimalDistrList_2[j].coeff * integralValue; summedIntegralList[idx_1*noOfBasisFuncPairs_2 + idx_2] += integralValueCurr; } // END FOR j } // END FOR i } // END FOR group_j } // END FOR group_i } // END FOR cluster_j } // END FOR cluster_i for(int idx_1 = 0; idx_1 < noOfBasisFuncPairs_1; idx_1++) for(int idx_2 = 0; idx_2 < noOfBasisFuncPairs_2; idx_2++) { int a = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+idx_1].index_1; int b = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+idx_1].index_2; int c = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+idx_2].index_1; int d = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+idx_2].index_2; ergo_real integralValueCurr = summedIntegralList[idx_1*noOfBasisFuncPairs_2 + idx_2]; if(a == c && b == d) integralValueCurr *= 2; if(std::fabs(integralValueCurr)*maxabsdmatelement < threshold) continue; if(a != b && c != d && a != c && a != d && b != c && b != d) { if(J != NULL) { J[a*n+b] += 2 * dens[c*n+d] * integralValueCurr; J[c*n+d] += 2 * dens[a*n+b] * integralValueCurr; } if(K != NULL) { if(d >= a) K[a*n+d] += -0.5 * dens[b*n+c] * integralValueCurr; else K[d*n+a] += -0.5 * dens[b*n+c] * integralValueCurr; if(c >= a) K[a*n+c] += -0.5 * dens[b*n+d] * integralValueCurr; else K[c*n+a] += -0.5 * dens[b*n+d] * integralValueCurr; if(c >= b) K[b*n+c] += -0.5 * dens[a*n+d] * integralValueCurr; else K[c*n+b] += -0.5 * dens[a*n+d] * integralValueCurr; if(d >= b) K[b*n+d] += -0.5 * dens[c*n+a] * integralValueCurr; else K[d*n+b] += -0.5 * dens[c*n+a] * integralValueCurr; } } else { abcd_struct list[8]; /* determine unique configurations */ set_abcd_list_item_macro(0, a, b, c, d, 0, 0, 0); set_abcd_list_item_macro(1, a, b, d, c, 0, 0, 0); set_abcd_list_item_macro(2, b, a, c, d, 0, 0, 0); set_abcd_list_item_macro(3, b, a, d, c, 0, 0, 0); set_abcd_list_item_macro(4, c, d, a, b, 0, 0, 0); set_abcd_list_item_macro(5, d, c, a, b, 0, 0, 0); set_abcd_list_item_macro(6, c, d, b, a, 0, 0, 0); set_abcd_list_item_macro(7, d, c, b, a, 0, 0, 0); int ccc = 0; for(int ii = 0; ii < 8; ii++) { abcd_struct* abcd = &list[ii]; int aa, bb, cc, dd; /* check if this is a new unique configuration */ int unique = 1; for(int jj = 0; jj < ii; jj++) { if(abcd->a == list[jj].a && abcd->b == list[jj].b && abcd->c == list[jj].c && abcd->d == list[jj].d) unique = 0; } if(unique == 0) continue; /* now we know that this configuration is unique. */ aa = abcd->a; bb = abcd->b; cc = abcd->c; dd = abcd->d; ccc++; /* add contribution to coulomb matrix */ if(bb >= aa && J != NULL) J[aa*n+bb] += dens[cc*n+dd] * integralValueCurr; if(dd >= aa && K != NULL) K[aa*n+dd] += -0.5 * dens[bb*n+cc] * integralValueCurr; } /* END FOR ii go through 8 configurations */ } } // END FOR idx_1 idx_2 } // END FOR chunk_j } // END FOR chunk_i return 0; } typedef struct { int id; ergo_real x[3]; } point_3d_struct; int compute_JK_single_box(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real* J, ergo_real* K, const ergo_real* dens, ergo_real threshold) { Util::TimeMeter timeMeterTot; Util::TimeMeter timeMeterDistrList; int n = basisInfo.noOfBasisFuncs; ergo_real maxDensityMatrixElement = get_max_abs_vector_element(n*n, dens); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "entering compute_JK_single_box, no of basis funcs = %5i, threshold = %7.3g", n, (double)threshold); // Require that threshold value is positive. if(threshold <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_JK_single_box: (threshold <= 0)"); return -1; } // get largest limiting factor Util::TimeMeter timeMeterTmp1; ergo_real maxLimitingFactor = 0; if(get_list_of_labeled_distrs_maxLimitingFactor(basisInfo, integralInfo, threshold, &maxLimitingFactor, maxDensityMatrixElement) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_list_of_labeled_distrs_maxLimitingFactor"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "get_list_of_labeled_distrs_maxLimitingFactor done, maxLimitingFactor = %22.11f", (double)maxLimitingFactor); timeMeterTmp1.print(LOG_AREA_INTEGRALS, "get_list_of_labeled_distrs_maxLimitingFactor"); // Get number of distributions Util::TimeMeter timeMeterTmp2; int distrCount = get_list_of_labeled_distrs(basisInfo, integralInfo, threshold, NULL, 0, maxLimitingFactor, dens, maxDensityMatrixElement); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "getting distrCount done, distrCount = %12i", distrCount); timeMeterTmp2.print(LOG_AREA_INTEGRALS, "get_list_of_labeled_distrs for getting distrCount"); if(distrCount == 0) { do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_JK_single_box: (distrCount == 0), skipping."); memset(J, 0, n*n*sizeof(ergo_real)); memset(K, 0, n*n*sizeof(ergo_real)); return 0; } if(distrCount <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_JK_single_box: (distrCount <= 0)"); return -1; } std::vector distrList(distrCount); // create list of product primitives, with labels Util::TimeMeter timeMeterTmp3; int distrCountTemp = get_list_of_labeled_distrs(basisInfo, integralInfo, threshold, &distrList[0], distrCount, maxLimitingFactor, dens, maxDensityMatrixElement); if(distrCountTemp != distrCount) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_JK_single_box:(distrCountTemp != distrCount)"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "get_list_of_labeled_distrs done, distrCount = %12i", distrCount); timeMeterTmp3.print(LOG_AREA_INTEGRALS, "get_list_of_labeled_distrs"); // compute extent for all distrs Util::TimeMeter timeMeterComputeExtentForAllDistrs; compute_extent_for_list_of_distributions(distrCount, &distrList[0], threshold, maxLimitingFactor, maxDensityMatrixElement); timeMeterComputeExtentForAllDistrs.print(LOG_AREA_INTEGRALS, "Compute extent for all distrs"); // get maximum number of monomials int maxNoOfMonomials = 0; for(int i = 0; i < distrCount; i++) { int degree = 0; for(int j = 0; j < 3; j++) degree += distrList[i].distr.monomialInts[j]; int noOfMonomials = integralInfo.monomial_info.no_of_monomials_list[degree]; if(noOfMonomials > maxNoOfMonomials) maxNoOfMonomials = noOfMonomials; } // END FOR ABcount do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "distrCount = %i", distrCount); std::vector distrList2(distrCount); int jcounter = 0; for(int i = 0; i < distrCount; i++) { distrList2[jcounter] = distrList[i]; jcounter++; } distrCount = jcounter; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "distrCount = %i (after removing negligible products)", distrCount); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "Creating list of distributions done, distrCount = %9i", distrCount); timeMeterDistrList.print(LOG_AREA_INTEGRALS, "Creating list of distributions"); #define NUMBER_OF_PARTS 1 int n_list[NUMBER_OF_PARTS]; distr_list_description_struct distr_list_description_list[NUMBER_OF_PARTS]; for(int i = 0; i < NUMBER_OF_PARTS; i++) n_list[i] = 0; for(int i = 0; i < distrCount; i++) n_list[i % NUMBER_OF_PARTS]++; ergo_real centerCoords[3]; memset(centerCoords, 0, 3*sizeof(ergo_real)); int currIndex = 0; for(int i = 0; i < NUMBER_OF_PARTS; i++) { if(organize_distributions(integralInfo, &distrList2[currIndex], n_list[i], &distr_list_description_list[i].org, centerCoords, HUGE_INTEGER_NUMBER) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in organize_distributions"); return -1; } currIndex += n_list[i]; } // Set J to zero memset(J, 0, n*n*sizeof(ergo_real)); // Set K to zero memset(K, 0, n*n*sizeof(ergo_real)); // Allocate buffers needed by integral code JK_contribs_buffer_struct bufferStruct; allocate_buffers_needed_by_integral_code(integralInfo, maxNoOfMonomials, 0, &bufferStruct); for(int i = 0; i < NUMBER_OF_PARTS; i++) for(int j = i; j < NUMBER_OF_PARTS; j++) { int self = 0; if(i == j) self = 1; Util::TimeMeter timeMeterJKcontribs; if(get_JK_contribs_from_2_interacting_boxes(basisInfo, integralInfo, maxNoOfMonomials, J, K, dens, &distr_list_description_list[i].org.minimalDistrList[0], distr_list_description_list[i].org.groupCount, &distr_list_description_list[i].org.groupList[0], &distr_list_description_list[j].org.minimalDistrList[0], distr_list_description_list[j].org.groupCount, &distr_list_description_list[j].org.groupList[0], &distr_list_description_list[i].org.clusterList[0], distr_list_description_list[i].org.clusterCount, &distr_list_description_list[j].org.clusterList[0], distr_list_description_list[j].org.clusterCount, &distr_list_description_list[i].org.chunkList[0], distr_list_description_list[i].org.chunkCount, &distr_list_description_list[j].org.chunkList[0], distr_list_description_list[j].org.chunkCount, &distr_list_description_list[i].org.basisFuncPairList[0], &distr_list_description_list[j].org.basisFuncPairList[0], self, threshold, &bufferStruct) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_JK_contribs_from_2_interacting_boxes"); return -1; } timeMeterJKcontribs.print(LOG_AREA_INTEGRALS, "get_JK_contribs_from_2_interacting_boxes for both J and K together"); } // END FOR i j // Fill the other triangle of K for(int i = 0; i < n; i++) for(int j = 0; j < i; j++) K[i*n+j] = K[j*n+i]; // Fill the other triangle of J for(int i = 0; i < n; i++) for(int j = 0; j < i; j++) J[i*n+j] = J[j*n+i]; free_buffers_needed_by_integral_code(&bufferStruct); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_JK_single_box ending OK."); timeMeterTot.print(LOG_AREA_INTEGRALS, "compute_JK_single_box"); return 0; } ergo-3.5/source/integrals/integrals_2el_single.cc0000664000175000017500000001006712743400307017136 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include #include #include #include "integrals_2el_single.h" #include "pi.h" #include "boysfunction.h" #include "integrals_hermite.h" static ergo_real do_2e_integral_using_symb_info_h(const JK::ExchWeights & CAM_params, const DistributionSpecStruct* psi1, const DistributionSpecStruct* psi2, const IntegralInfo & integralInfo) { const ergo_real twoTimesPiToPow5half = 2 * std::pow(pi, 2.5); ergo_real alpha1 = psi1->exponent; ergo_real alpha2 = psi2->exponent; ergo_real alphasum = alpha1 + alpha2; ergo_real alphaproduct = alpha1 * alpha2; ergo_real alpha0 = alphaproduct / alphasum; int n1 = 0; int n2 = 0; for(int i = 0; i < 3; i++) { n1 += psi1->monomialInts[i]; n2 += psi2->monomialInts[i]; } int n1x = psi1->monomialInts[0]; int n1y = psi1->monomialInts[1]; int n1z = psi1->monomialInts[2]; int n2x = psi2->monomialInts[0]; int n2y = psi2->monomialInts[1]; int n2z = psi2->monomialInts[2]; int noOfMonomials_1 = integralInfo.monomial_info.no_of_monomials_list[n1]; int noOfMonomials_2 = integralInfo.monomial_info.no_of_monomials_list[n2]; ergo_real dx0 = psi2->centerCoords[0] - psi1->centerCoords[0]; ergo_real dx1 = psi2->centerCoords[1] - psi1->centerCoords[1]; ergo_real dx2 = psi2->centerCoords[2] - psi1->centerCoords[2]; ergo_real resultPreFactor = twoTimesPiToPow5half / (alphaproduct*std::sqrt(alphasum)); ergo_real primitiveIntegralList_h[noOfMonomials_1*noOfMonomials_2]; ergo_real primitiveIntegralList_tmp[noOfMonomials_1*noOfMonomials_2]; ergo_real primitiveIntegralList[noOfMonomials_1*noOfMonomials_2]; get_related_integrals_hermite(integralInfo, CAM_params, n1, noOfMonomials_1, n2, noOfMonomials_2, dx0, dx1, dx2, alpha0, resultPreFactor, primitiveIntegralList_h); integralInfo.multiply_by_hermite_conversion_matrix_from_right(n1, n2, 1.0/alpha1, primitiveIntegralList_h, primitiveIntegralList_tmp); integralInfo.multiply_by_hermite_conversion_matrix_from_left(n1, n2, 1.0/alpha2, primitiveIntegralList_tmp, primitiveIntegralList); int monomialIndex1 = integralInfo.monomial_info.monomial_index_list[n1x][n1y][n1z]; int monomialIndex2 = integralInfo.monomial_info.monomial_index_list[n2x][n2y][n2z]; ergo_real result = psi1->coeff * psi2->coeff * primitiveIntegralList[monomialIndex1*noOfMonomials_2+monomialIndex2]; return result; } ergo_real do_2e_integral_using_symb_info(const JK::ExchWeights & CAM_params, const DistributionSpecStruct* psi1, const DistributionSpecStruct* psi2, const IntegralInfo & integralInfo) { return do_2e_integral_using_symb_info_h(CAM_params, psi1, psi2, integralInfo); } ergo-3.5/source/integrals/integrals_general.h0000664000175000017500000000502012743400307016363 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_GENERAL_HEADER #define INTEGRALS_GENERAL_HEADER #include "integral_info.h" #include "basisinfo.h" #ifndef BASIS_FUNC_POLY_MAX_DEGREE #error The constant BASIS_FUNC_POLY_MAX_DEGREE must be defined. #endif #if BASIS_FUNC_POLY_MAX_DEGREE<6 const int POLY_PRODUCT_MAX_DISTRS = 10000; #else const int POLY_PRODUCT_MAX_DISTRS = 20000; #endif typedef struct{ ergo_real a0; ergo_real a1; } polydeg1struct; int get_product_simple_prims(const DistributionSpecStruct& primA, const DistributionSpecStruct& primB, DistributionSpecStruct resultList[], int maxCount, ergo_real threshold); int get_product_simple_primitives(const BasisInfoStruct & basisInfoA, int iA, const BasisInfoStruct & basisInfoB, int iB, DistributionSpecStruct resultList[], int maxCount, ergo_real threshold); ergo_real compute_integral_of_simple_prim(DistributionSpecStruct* distr); int multiply_polynomials(ergo_real result[], polydeg1struct* polydeg1, int dim, ergo_real a[]); ergo_real get_largest_simple_integral(const BasisInfoStruct & basisInfo); ergo_real get_max_basis_func_abs_value(const BasisInfoStruct & basisInfo); int get_basis_func_extent_list(const BasisInfoStruct & basisInfo, ergo_real* basisFuncExtentList, ergo_real maxAbsValue); #endif ergo-3.5/source/integrals/integrals_1el_single.h0000664000175000017500000000376212743400307017003 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_1EL_SINGLE_HEADER #define INTEGRALS_1EL_SINGLE_HEADER #include "basisinfo.h" ergo_real do_1e_repulsion_integral_using_symb_info(DistributionSpecStruct* psi, ergo_real pointCharge, const ergo_real* pointChargeCoords, const IntegralInfo & integralInfo); std::vector do_1e_repulsion_integral_derivatives_using_symb_info(const DistributionSpecStruct* psi, ergo_real pointCharge, const ergo_real* pointChargeCoords, const IntegralInfo & integralInfo); ergo_real do_1e_repulsion_integral_list_using_symb_info(DistributionSpecStruct* psi, const ergo_real* pointChargeList, const ergo_real* pointChargeCoordsList, int noOfPointCharges, const IntegralInfo & integralInfo); #endif ergo-3.5/source/integrals/organize_distrs.h0000664000175000017500000000765312743400307016122 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef ORGANIZE_DISTRS_HEADER #define ORGANIZE_DISTRS_HEADER #include "output.h" #include "multipole.h" #include "simple_sparse_mat.h" #include typedef struct { int startIndex; int distrCount; int nmax; ergo_real centerCoords[3]; ergo_real exponent; ergo_real maxSizeGroup; ergo_real maxExtentGroup; ergo_real maxLimitingFactorGroup; ergo_real maxAbsDmatElementGroup; multipole_struct_small* multipolePtr; ergo_real multipoleEuclideanNormList[MAX_MULTIPOLE_DEGREE_BASIC+1]; } distr_group_struct; typedef struct { int basisFuncPairIndex; int monomialIndex; ergo_real coeff; } minimal_distr_struct; typedef struct { int nmax; ergo_real exponent; int groupStartIndex; int noOfGroups; ergo_real maxLimitingFactorForCluster; ergo_real multipoleEuclideanNormList[MAX_MULTIPOLE_DEGREE_BASIC+1]; } cluster_struct; typedef struct { int index_1; int index_2; int index_1_mod; int index_2_mod; int index_inbox_1; int index_inbox_2; int pairIndex; ergo_real dmatElement; } basis_func_pair_struct; #ifndef BASIS_FUNC_POLY_MAX_DEGREE #error The constant BASIS_FUNC_POLY_MAX_DEGREE must be defined. #endif #if BASIS_FUNC_POLY_MAX_DEGREE<6 #define MAX_NO_OF_BASIS_FUNC_PAIRS_PER_CHUNK 1000 #else #define MAX_NO_OF_BASIS_FUNC_PAIRS_PER_CHUNK 10000 #endif typedef struct { int clusterStartIndex; int noOfClusters; int noOfBasisFuncPairs; int basisFuncPairListIndex; int basisFuncForChunksIndex; int basisFuncForChunkCount; int global_debug_id; } chunk_struct; struct distr_org_struct { std::vector minimalDistrList; std::vector groupList; std::vector clusterList; std::vector chunkList; std::vector basisFuncPairList; std::vector basisFuncListForChunks; std::vector basisFuncListForChunks_map; std::vector basisFuncList; std::vector spMatElementList; std::vector spMatCountList; std::vector spMatIdxList; int minimalDistrCount; int groupCount; int clusterCount; int chunkCount; int basisFuncPairCount; int basisFuncForChunksCount; int basisFuncListCount; ergo_real maxExtent; ergo_real maxDistanceOutsideBox; distr_org_struct(): minimalDistrCount(0), groupCount(0), clusterCount(0), chunkCount(0), basisFuncPairCount(0), basisFuncForChunksCount(0), basisFuncListCount(0), maxExtent(0), maxDistanceOutsideBox(0) {} }; int organize_distributions(const IntegralInfo & integralInfo, DistributionSpecStructLabeled* distrList_in, int distrCount, distr_org_struct* result, const ergo_real* boxCenterCoords, ergo_real boxWidth); #endif ergo-3.5/source/integrals/densityfitting.cc0000664000175000017500000007504012743400307016111 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* ergo - linearly scaling DFT program. Copyright(c)2005 by .... */ #include #include #include #include #include #include "densityfitting.h" #include "output.h" #include "memorymanag.h" #include "integrals_2el_single.h" #include "solve_lin_eq_syst.h" #include "utilities.h" #include "integrals_general.h" #include "integrals_2el.h" #include "pi.h" #include "boysfunction.h" #include "mat_gblas.h" #if 0 static void print_distr(DistributionSpecStruct* psi, const char* s) { printf("print_distr for '%s':\n", s); printf("centerCoords: %22.11f %22.11f %22.11f\n", (double)psi->centerCoords[0], (double)psi->centerCoords[1], (double)psi->centerCoords[2]); } #endif static ergo_real do_2center_integral(const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfo, int alpha, int beta) { int i, j; ergo_real sum, currIntegral; const JK::ExchWeights CAM_params_not_used; const BasisFuncStruct* basisFuncAlpha = &basisInfo.basisFuncList[alpha]; const BasisFuncStruct* basisFuncBeta = &basisInfo.basisFuncList[beta]; sum = 0; for(i = 0; i < basisFuncAlpha->noOfSimplePrimitives; i++) { DistributionSpecStruct* prim_psi1 = &basisInfo.simplePrimitiveList[basisFuncAlpha->simplePrimitiveIndex + i]; for(j = 0; j < basisFuncBeta->noOfSimplePrimitives; j++) { DistributionSpecStruct* prim_psi2 = &basisInfo.simplePrimitiveList[basisFuncBeta->simplePrimitiveIndex + j]; currIntegral = do_2e_integral_using_symb_info(CAM_params_not_used, prim_psi1, prim_psi2, *integralInfo); sum += currIntegral; } /* END FOR j */ } /* END FOR i */ return sum; } #if 0 static ergo_real do_3center_integral(const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfoMain, const BasisInfoStruct & basisInfoDensFit, int alpha, int a, int b) { int i, j; ergo_real sum, currIntegral; const int maxCount = 1000; DistributionSpecStruct list_psi1[maxCount]; /* form product of basisfuncs mu and nu, store product in psi1 */ int n_psi1 = get_product_simple_primitives(basisInfoMain, a, basisInfoMain, b, list_psi1, maxCount, 0); if(n_psi1 <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_primitives\n"); exit(0); return 0; } BasisFuncStruct* basisFuncAlpha = &basisInfoDensFit.basisFuncList[alpha]; const JK::ExchWeights CAM_params_not_used; sum = 0; for(i = 0; i < n_psi1; i++) { DistributionSpecStruct* prim_psi1 = &list_psi1[i]; for(j = 0; j < basisFuncAlpha->noOfSimplePrimitives; j++) { DistributionSpecStruct* prim_psi2 = &basisInfoDensFit.simplePrimitiveList[basisFuncAlpha->simplePrimitiveIndex + j]; //printf("before calling do_2e_integral_using_symb_info:\n"); //print_distr(prim_psi1, "prim_psi1"); //print_distr(prim_psi2, "prim_psi2"); currIntegral = do_2e_integral_using_symb_info(CAM_params_not_used, prim_psi1, prim_psi2, integralInfo); sum += currIntegral; } /* END FOR j */ } /* END FOR i */ return sum; } #endif #define MAX_NO_OF_INTEGRALS_PER_SHELL_COMB 1000 #define MAX_NO_OF_EXPPAIRS_PER_SHELL_COMB 200 #define MAX_NO_OF_XYZ_XYZ_ENTRIES 4000 #define MAX_NO_OF_ITERMLIST_ENTRIES 10000 #if 0 static void create_subpolys_abc(const IntegralInfo* integralInfo, ShellSpecStruct* shellA, ShellSpecStruct* shellB, ShellSpecStruct* shellC, shell_pair_struct* shellPairAB, int nABmax, int nCmax, int Nmax, ergo_real* a0amg_comb_value_list_all, ergo_real* alpha0ValueList) { ergo_real exponentList_ab[888]; int count_ab, count_cd; int i1, i2, k; int count; int expabidx, expcdidx; ergo_real alpha1, alpha2, alphasum, alphaproduct, alpha0, alpham, g, resultPreFactor; ergo_real factor, oneoveralpham, alpha0inv; ergo_real gtopowj[2*MAX_N1_N2_P1]; int noOfNeeded_a0amgcombs; ergo_real alphaminvtopowp[2*MAX_N1_N2_P1]; ergo_real alpha0topow_shifted[2*MAX_N1_N2_P1]; a0amg_comb_struct* a0amg_comb_list; const ergo_real twoTimesPiToPow5half = 2 * std::pow(pi, 2.5); int pow_alpha0_min = integralInfo->n1_n2_case_info_list[nABmax][nCmax].pow_alpha0_min; int pow_alpha0_max = integralInfo->n1_n2_case_info_list[nABmax][nCmax].pow_alpha0_max; int pow_alpha0_count = pow_alpha0_max - pow_alpha0_min + 1; count = 0; for(i1 = 0; i1 < shellA->noOfContr; i1++) for(i2 = 0; i2 < shellB->noOfContr; i2++) { exponentList_ab[count] = shellA->exponentList[i1] + shellB->exponentList[i2]; count++; } count_ab = count; count_cd = shellC->noOfContr; noOfNeeded_a0amgcombs = integralInfo->n1_n2_case_info_list[nABmax][nCmax].noOfNeeded_a0amgcombs; a0amg_comb_list = integralInfo->n1_n2_case_info_list[nABmax][nCmax].a0amg_comb_list; for(expabidx = 0; expabidx < count_ab; expabidx++) for(expcdidx = 0; expcdidx < count_cd; expcdidx++) { ergo_real* a0amg_comb_value_list = &a0amg_comb_value_list_all[expabidx*MAX_NO_OF_A0AMG_COMBINATIONS*MAX_NO_OF_CONTR_GAUSSIANS+expcdidx*MAX_NO_OF_A0AMG_COMBINATIONS]; alpha1 = exponentList_ab[expabidx]; alpha2 = shellC->exponentList[expcdidx]; #if 0 get_a0amg_comb_value_list_and_alpha0(integralInfo, alpha1, alpha2, nABmax, nCDmax, a0amg_comb_value_list, &alpha0ValueList[expabidx*prep->maxNoOfExponentPairs+expcdidx]); #else alphasum = alpha1 + alpha2; alphaproduct = alpha1 * alpha2; alpha0 = alphaproduct / alphasum; alpha0ValueList[expabidx*MAX_NO_OF_CONTR_GAUSSIANS+expcdidx] = alpha0; alpham = 0.5 * alphasum; g = (alpha2 - alpha1) / alphasum; resultPreFactor = twoTimesPiToPow5half / (alphaproduct*sqrt(alphasum)); gtopowj[0] = 1; gtopowj[1] = g; oneoveralpham = 1.0 / alpham; factor = 1; for(k = 0; k <= Nmax/2; k++) { alphaminvtopowp[k] = factor; factor *= oneoveralpham; } alpha0inv = 1.0 / alpha0; factor = 1; for(k = 0; k < -pow_alpha0_min; k++) factor *= alpha0inv; for(k = 0; k < pow_alpha0_count; k++) { alpha0topow_shifted[k] = factor; factor *= alpha0; } for(k = 0; k < noOfNeeded_a0amgcombs; k++) { ergo_real factor = 1; factor *= gtopowj [ a0amg_comb_list[k].pow_g]; factor *= alphaminvtopowp[-a0amg_comb_list[k].pow_am]; factor *= alpha0topow_shifted[-pow_alpha0_min+a0amg_comb_list[k].pow_a0]; a0amg_comb_value_list[k] = factor * resultPreFactor; } // END FOR k #endif } /* END FOR expabidx expcdidx */ } #endif typedef struct { int a; int b; int alpha; } abalpha_struct; static int compute_gamma_or_J_shelldriven(const BasisInfoStruct & basisInfoMain, const BasisInfoStruct & basisInfoDensFit, const IntegralInfo* integralInfo, ergo_real* gamma, ergo_real* J, ergo_real* dens, ergo_real* c_vector, ergo_real threshold) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: compute_gamma_or_J_shelldriven used old integral code, needs to be rewritten. Right now not implemented."); return -1; #if 0 int n = basisInfoMain->noOfBasisFuncs; int nDensFit = basisInfoDensFit.noOfBasisFuncs; int A, B, C; /* A B C are indeces of shells */ int ABcount; int noOfMonomialsAB; int noOfExponentPairs_ab; ergo_real integralValueList[MAX_NO_OF_INTEGRALS_PER_SHELL_COMB]; abalpha_struct integralList[MAX_NO_OF_INTEGRALS_PER_SHELL_COMB]; int shell_ID_A; int shell_ID_B; int shell_ID_C; int shell_ID_A_prev; int shell_ID_B_prev; int shell_ID_C_prev; ix1_ix2_case_struct* ix1_ix2_case_AB; ShellSpecStruct* shellA; ShellSpecStruct* shellB; ShellSpecStruct* shellC; ergo_real* xyz_xyz_list_direct_ab_all; ergo_real* a0amg_comb_value_list_all; ergo_real* alpha0ValueList; itermliststruct* itermlist_ab; itermlist_value_list_struct* itermlist_ab_value_list_all_2; ergo_real* primitiveIntegralValueList = ergo_new(2000000,ergo_real); ergo_real* work_subpolyValueList3 = ergo_new(2000000,ergo_real); ergo_real* work_dxdydzhValueList = ergo_new(2000000,ergo_real); simplified_W_poly_term_struct* work_common_termlist_for_W_list_localized = ergo_new(2000000,simplified_W_poly_term_struct); simplified_W_poly_struct* work_W_list_localized = ergo_new(2000000,simplified_W_poly_struct); dxdydzh_term_struct* work_dxdydzh_term_list_localized = ergo_new(2000000,dxdydzh_term_struct); char gamma_or_J_string[88]; if(gamma != NULL) { if(J != NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: both gamma and J givem"); return -1; } if(dens == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: (dens == NULL) when computing gamma"); return -1; } strcpy(gamma_or_J_string, "gamma"); } else { if(J == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: neither gamma nor J given"); return -1; } if(c_vector == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: (c_vector == NULL) when computing J"); return -1; } strcpy(gamma_or_J_string, "J"); } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_gamma_or_J_shelldriven, computing %s, " "threshold = %4.1g", gamma_or_J_string, (double)threshold); if(J != NULL) memset(J, 0, n*n*sizeof(ergo_real)); if(gamma != NULL) memset(gamma, 0, nDensFit*sizeof(ergo_real)); // allocate memory a0amg_comb_value_list_all = ergo_new(MAX_NO_OF_A0AMG_COMBINATIONS*prep->maxNoOfExponentPairs* MAX_NO_OF_CONTR_GAUSSIANS, ergo_real); alpha0ValueList = ergo_new(prep->maxNoOfExponentPairs*MAX_NO_OF_CONTR_GAUSSIANS, ergo_real); xyz_xyz_list_direct_ab_all = ergo_new(MAX_NO_OF_EXPPAIRS_PER_SHELL_COMB*MAX_NO_OF_XYZ_XYZ_ENTRIES, ergo_real); itermlist_ab_value_list_all_2 = ergo_new(MAX_NO_OF_EXPPAIRS_PER_SHELL_COMB,itermlist_value_list_struct); shell_ID_A_prev = -1; shell_ID_B_prev = -1; shell_ID_C_prev = -1; for(ABcount = 0; ABcount < prep->noOfShellPairs; ABcount++) { shell_pair_struct* shellPairAB = &prep->shellPairList[ABcount]; A = shellPairAB->shell_idx_1; B = shellPairAB->shell_idx_2; shellA = &basisInfoMain->shellList[A]; shellB = &basisInfoMain->shellList[B]; shell_ID_A = shellA->shell_ID; shell_ID_B = shellB->shell_ID; int nABmax = shellA->shellType + shellB->shellType; nABmax = shellA->shellType + shellB->shellType; noOfMonomialsAB = integralInfo->monomial_info.no_of_monomials_list[nABmax]; noOfExponentPairs_ab = shellPairAB->noOfExponentPairs; ix1_ix2_case_AB = &integralInfo->ix1_ix2_list[shellA->shellType][shellB->shellType]; compute_iterm_value_list(prep, shellA->shellType, shellB->shellType, noOfExponentPairs_ab, shellPairAB, xyz_xyz_list_direct_ab_all, ix1_ix2_case_AB, itermlist_ab_value_list_all_2); ergo_real screeningValue = 1; if(gamma != NULL) { // we are computing gamma. Find largest absolute density matrix element for this AB shellpair. int a, b; ergo_real maxabs = 0; for(a = 0; a < shellA->noOfBasisFuncs; a++) for(b = 0; b < shellB->noOfBasisFuncs; b++) { int a2 = shellA->startIndexInMatrix + a; int b2 = shellB->startIndexInMatrix + b; ergo_real currElementAbs = std::fabs(dens[a2*n+b2]); if(currElementAbs > maxabs) maxabs = currElementAbs; } // END FOR a b screeningValue = maxabs; } int noOfExponentPairs_ab = shellPairAB->noOfExponentPairs; for(C = 0; C < basisInfoDensFit.noOfShells; C++) { shellC = &basisInfoDensFit.shellList[C]; shell_ID_C = shellC->shell_ID; #if 1 if(shell_ID_A != shell_ID_A_prev || shell_ID_B != shell_ID_B_prev || shell_ID_C != shell_ID_C_prev) { setup_localized_dxdydzh_and_W_lists(integralInfo, nABmax, shellC->shellType, work_common_termlist_for_W_list_localized, work_W_list_localized, work_dxdydzh_term_list_localized); int Nmax = nABmax + shellC->shellType; create_subpolys_abc(integralInfo, prep, shellA, shellB, shellC, shellPairAB, nABmax, shellC->shellType, Nmax, a0amg_comb_value_list_all, alpha0ValueList); //create_subpolys(integralInfo, prep, // shellA, shellB, shellC, shellD, shellPairAB, shellPairCD, nABmax, nCDmax, Nmax, a0amg_comb_value_list_all, alpha0ValueList); } /* END IF compute sub-polys */ #endif #if 1 shell_ID_A_prev = shell_ID_A; shell_ID_B_prev = shell_ID_B; shell_ID_C_prev = shell_ID_C; #endif if(J != NULL) { // we are computing J. Find largest absolute c_vector element for this C shell. int c; ergo_real maxabs = 0; for(c = 0; c < shellC->noOfBasisFuncs; c++) { int alpha = shellC->startIndexInMatrix + c; ergo_real currElementAbs = std::fabs(c_vector[alpha]); if(currElementAbs > maxabs) maxabs = currElementAbs; } // END FOR c screeningValue = maxabs; } //printf("C = %i, shellC->noOfContr (direct) = %i\n", C, shellC->noOfContr); // set up integralList int a, b, c; int noOfIntegrals = 0; for(a = 0; a < shellA->noOfBasisFuncs; a++) for(b = 0; b < shellB->noOfBasisFuncs; b++) for(c = 0; c < shellC->noOfBasisFuncs; c++) { integralList[noOfIntegrals].a = a; integralList[noOfIntegrals].b = b; integralList[noOfIntegrals].alpha = c; integralValueList[noOfIntegrals] = 0; noOfIntegrals++; if(noOfIntegrals >= MAX_NO_OF_INTEGRALS_PER_SHELL_COMB) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: (noOfIntegrals >= MAX_NO_OF_INTEGRALS_PER_SHELL_COMB)"); return -1; } } // END FOR a b c int noOfMonomials_C = integralInfo->monomial_info.no_of_monomials_list[shellC->shellType]; int expabidx; for(expabidx = 0; expabidx < noOfExponentPairs_ab; expabidx++) { exponent_pair_struct * currExpPair_ab; currExpPair_ab = &prep->exponentPairList[shellPairAB->exponentPairIndex+expabidx]; #if 1 if(currExpPair_ab->sizeOfProduct * screeningValue < threshold) break; #endif int productOrgIdx_ab = currExpPair_ab->productOrgIdx; ergo_real coeff_ab = currExpPair_ab->coeff_12; ergo_real* centerCoords_ab = currExpPair_ab->centerCoords_12; ergo_real* centerCoords_C = shellC->centerCoords; int primC; for(primC = 0; primC < shellC->noOfContr; primC++) { ergo_real sizeOfPrimitive_C = shellC->sizeList[primC]; if(sizeOfPrimitive_C * currExpPair_ab->sizeOfProduct * screeningValue < threshold) continue; ergo_real coeff_C = shellC->coeffList[primC]; // compute all primitive integrals needed for this case #if 0 ergo_real exponent_C = shellC->exponentList[primC]; ergo_real alpha0 = alpha0ValueList[productOrgIdx_ab*prep->maxNoOfExponentPairs+primC]; ergo_real* a0amg_comb_value_list = &a0amg_comb_value_list_all[productOrgIdx_ab*MAX_NO_OF_A0AMG_COMBINATIONS*prep->maxNoOfExponentPairs+primC*MAX_NO_OF_A0AMG_COMBINATIONS]; get_primitive_integral_values( integralInfo, centerCoords_ab, centerCoords_C, currExpPair_ab->exponent_12, exponent_C, nABmax, shellC->shellType, primitiveIntegralValueList, work_subpolyValueList3, work_dxdydzhValueList, work_common_termlist_for_W_list_localized, work_W_list_localized, a0amg_comb_value_list, work_dxdydzh_term_list_localized, alpha0 ); #else ergo_real alpha0 = alpha0ValueList[productOrgIdx_ab*MAX_NO_OF_CONTR_GAUSSIANS+primC]; ergo_real* a0amg_comb_value_list = &a0amg_comb_value_list_all[productOrgIdx_ab*MAX_NO_OF_A0AMG_COMBINATIONS*MAX_NO_OF_CONTR_GAUSSIANS+primC*MAX_NO_OF_A0AMG_COMBINATIONS]; int n1 = nABmax; int n2 = shellC->shellType; ergo_real* centerCoords_1 = centerCoords_ab; ergo_real* centerCoords_2 = centerCoords_C; ergo_real deltaxtopow_list[3][2*MAX_N1_N2_P1]; ergo_real dx0, dx1, dx2, R_12_squared, factor0, factor1, factor2, arg; ergo_real BoysFunctionList[2*MAX_N1_N2_P1]; int iloop, i, k; int nNeeded = integralInfo->n1_n2_case_info_list[n1][n2].noOfSubpolysNeeded; int Nmax = n1 + n2; int noOfdxdydzh_needed = integralInfo->n1_n2_case_info_list[n1][n2].count_dxdydzh; ergo_real factor; int noOfMonomialsAB = integralInfo->monomial_info.no_of_monomials_list[n1]; int noOfMonomialsCD = integralInfo->monomial_info.no_of_monomials_list[n2]; subpoly_struct* subpolyList = integralInfo->n1_n2_case_info_list[n1][n2].subpolyList; for(iloop = 0; iloop < nNeeded; iloop++) { /* compute this subPoly */ subpoly_struct* subPoly = &subpolyList[iloop]; ergo_real subPolySum = 0; int kk; for(kk = 0; kk < subPoly->noOfTerms; kk++) subPolySum += subPoly->termList[kk].coeff * a0amg_comb_value_list[subPoly->termList[kk].a0amg_comb_index]; work_subpolyValueList3[iloop] = subPolySum; } /* END FOR iloop */ dx0 = centerCoords_2[0] - centerCoords_1[0]; dx1 = centerCoords_2[1] - centerCoords_1[1]; dx2 = centerCoords_2[2] - centerCoords_1[2]; R_12_squared = dx0*dx0 + dx1*dx1 + dx2*dx2; factor0 = dx0; factor1 = dx1; factor2 = dx2; deltaxtopow_list[0][0] = 1; deltaxtopow_list[0][1] = dx0; deltaxtopow_list[1][0] = 1; deltaxtopow_list[1][1] = dx1; deltaxtopow_list[2][0] = 1; deltaxtopow_list[2][1] = dx2; for(k = 2; k <= Nmax; k++) { factor0 *= dx0; factor1 *= dx1; factor2 *= dx2; deltaxtopow_list[0][k] = factor0; deltaxtopow_list[1][k] = factor1; deltaxtopow_list[2][k] = factor2; } /* Compute all Boys function values needed */ /* Use downward recursion to get Boys function values */ arg = alpha0 * R_12_squared; BoysFunctionList[Nmax] = BoysFunction(Nmax, arg); for(i = Nmax-1; i >= 0; i--) BoysFunctionList[i] = (2*arg*BoysFunctionList[i+1] + std::exp(-arg)) / (2*i+1); /* prepare list of all dxdydzh values needed for this case */ for(iloop = 0; iloop < noOfdxdydzh_needed; iloop++) { dxdydzh_term_struct* term; /* compute this combination of dx dy dz h */ term = &work_dxdydzh_term_list_localized[iloop]; factor = deltaxtopow_list[0][term->pows[0]] * deltaxtopow_list[1][term->pows[1]] * deltaxtopow_list[2][term->pows[2]] * BoysFunctionList [term->pows[3]]; work_dxdydzhValueList[iloop] = factor; } /* END FOR i */ prep_products_of_Ix6_polys(noOfMonomialsAB, noOfMonomialsCD, integralInfo->W_list_3, work_subpolyValueList3, work_dxdydzhValueList, work_W_list_localized, primitiveIntegralValueList); #endif int integralNo; for(integralNo = 0; integralNo < noOfIntegrals; integralNo++) { ergo_real sum = 0; int a2 = shellA->startIndexInMatrix + integralList[integralNo].a; int b2 = shellB->startIndexInMatrix + integralList[integralNo].b; int c2 = shellC->startIndexInMatrix + integralList[integralNo].alpha; int basfuncpolyidA = basisInfoMain->basisFuncPolyIDStructList[a2].id; int basfuncpolyidB = basisInfoMain->basisFuncPolyIDStructList[b2].id; int basfuncpolyidC = basisInfoDensFit.basisFuncPolyIDStructList[c2].id; int n_ab = prep->itermlist_list[basfuncpolyidA][basfuncpolyidB].n; itermlist_ab = prep->itermlist_list[basfuncpolyidA][basfuncpolyidB].itermlist; basis_func_poly_struct* poly_C = &integralInfo->basis_func_poly_list[basfuncpolyidC]; int basfuncidsAB = basfuncpolyidA*MAX_NO_OF_BASIS_FUNC_POLYS+basfuncpolyidB; ergo_real* itermlist_ab_val_list = itermlist_ab_value_list_all_2[expabidx].valueList[basfuncidsAB]; int mab; for(mab = 0; mab < n_ab; mab++) { int monomialID_ab = itermlist_ab[mab].monomialIndex; int mc; for(mc = 0; mc < poly_C->noOfTerms; mc++) { int monomialID_C = poly_C->termList[mc].monomialID; sum += coeff_ab * coeff_C * itermlist_ab_val_list[mab] * poly_C->termList[mc].coeff * primitiveIntegralValueList[monomialID_ab*noOfMonomials_C + monomialID_C]; } // END FOR mc } // END FOR mab integralValueList[integralNo] += sum; } // END FOR integralNo } // END FOR primC } /* END FOR exp ab */ // integrals computed. now add to gamma or J. if(gamma != NULL) { int integralNo; for(integralNo = 0; integralNo < noOfIntegrals; integralNo++) { int a2 = shellA->startIndexInMatrix + integralList[integralNo].a; int b2 = shellB->startIndexInMatrix + integralList[integralNo].b; int c2 = shellC->startIndexInMatrix + integralList[integralNo].alpha; if(A == B) //if(a2 == b2) gamma[c2] += integralValueList[integralNo] * dens[a2*n+b2]; else gamma[c2] += 2 * integralValueList[integralNo] * dens[a2*n+b2]; } // END FOR integralNo } // END IF add to gamma if(J != NULL) { int integralNo; for(integralNo = 0; integralNo < noOfIntegrals; integralNo++) { int a2 = shellA->startIndexInMatrix + integralList[integralNo].a; int b2 = shellB->startIndexInMatrix + integralList[integralNo].b; int c2 = shellC->startIndexInMatrix + integralList[integralNo].alpha; if(A == B) { J[a2*n+b2] += integralValueList[integralNo] * c_vector[c2]; } else { J[a2*n+b2] += integralValueList[integralNo] * c_vector[c2]; J[b2*n+a2] += integralValueList[integralNo] * c_vector[c2]; } } // END FOR integralNo } // END IF add to J } /* END FOR C */ } /* END FOR ABcount */ ergo_free(primitiveIntegralValueList); ergo_free(work_subpolyValueList3); ergo_free(work_dxdydzhValueList); ergo_free(work_common_termlist_for_W_list_localized); ergo_free(work_W_list_localized); ergo_free(work_dxdydzh_term_list_localized); ergo_free(a0amg_comb_value_list_all); ergo_free(alpha0ValueList); ergo_free(xyz_xyz_list_direct_ab_all); ergo_free(itermlist_ab_value_list_all_2); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_gamma_or_J_shelldriven ending OK."); return 0; #endif } int densfit_compute_gamma(const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfoMain, const BasisInfoStruct & basisInfoDensFit, ergo_real* densityMatrix, ergo_real* result_gamma, ergo_real threshold) { Util::TimeMeter timeMeter; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "entering densfit_compute_gamma, %i aux. b.f.s", basisInfoDensFit.noOfBasisFuncs); if(basisInfoDensFit.noOfBasisFuncs <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in densfit_compute_gamma: (basisInfoDensFit.noOfBasisFuncs <= 0)"); return -1; } #if 0 int n = basisInfoMain->noOfBasisFuncs; // construct vector gamma, one element at a time int alpha; for(alpha = 0; alpha < basisInfoDensFit.noOfBasisFuncs; alpha++) { ergo_real sum = 0; int a, b; for(a = 0; a < n; a++) for(b = 0; b < n; b++) { ergo_real integral = do_3center_integral(integralInfo, basisInfoMain, basisInfoDensFit, alpha, a, b); //printf("integral = %22.11f\n", integral); sum += integral * densityMatrix[a*n+b]; } // END FOR a b result_gamma[alpha] = sum; } // END FOR alpha #if 0 printf("gamma (simple):\n"); int ii; for(ii = 0; ii < basisInfoDensFit.noOfBasisFuncs; ii++) printf("%22.11f\n", result_gamma[ii]); exit(0); #endif #else if(compute_gamma_or_J_shelldriven(basisInfoMain, basisInfoDensFit, integralInfo, result_gamma, NULL, densityMatrix, NULL, threshold) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_gamma_or_J_shelldriven when computing gamma"); return -1; } #endif do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "densfit_compute_gamma ending OK."); timeMeter.print(LOG_AREA_INTEGRALS, "densfit_compute_gamma"); return 0; } int densfit_compute_alpha_beta_matrix_inverse(const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfoDensFit, ergo_real* result_U_inverse) { Util::TimeMeter timeMeter; int alpha, beta; int n = basisInfoDensFit.noOfBasisFuncs; // construct one triangle of matrix ( alpha | beta ) for(alpha = 0; alpha < n; alpha++) for(beta = 0; beta <= alpha; beta++) { result_U_inverse[alpha*n+beta] = do_2center_integral(integralInfo, basisInfoDensFit, alpha, beta); } // END FOR alpha beta // fill the other triangle for(alpha = 0; alpha < n; alpha++) for(beta = alpha+1; beta < n; beta++) { result_U_inverse[alpha*n+beta] = result_U_inverse[beta*n+alpha]; } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "Matrix (alpha|beta) computed, inverting..."); // char uplo = 'U'; int info = -1; template_lapack_potf2("U", &n, result_U_inverse, &n, &info); if( info != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "%s: error in potf2, info=%d", __FUNCTION__, info); return -1; } // set other triangle to zero for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { if(i < j) result_U_inverse[i*n+j] = 0; } // Get Uinv // char diag = 'N'; template_lapack_trtri("U", "N", &n, result_U_inverse, &n, &info); if(info != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in trtri"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "densfit_compute_alpha_beta_matrix_inverse ending OK."); timeMeter.print(LOG_AREA_INTEGRALS, "densfit_compute_alpha_beta_matrix_inverse"); return 0; } /* AlphaBetaMemSzLimit: largest dimension of the (alpha|beta) array * that is kept in RAM. */ //static const size_t ALPHA_BETA_MEM_SZ_LIMIT = 0x8000; static const size_t ALPHA_BETA_MEM_SZ_LIMIT = 40000; DensfitData* densfit_init(const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfoDensFit) { int alpha, beta; int n = basisInfoDensFit.noOfBasisFuncs; ergo_real *U = ergo_new(n*n, ergo_real); DensfitData *d = ergo_new(1, DensfitData); // construct one triangle of matrix ( alpha | beta ) for(alpha = 0; alpha < n; alpha++) for(beta = 0; beta <= alpha; beta++) U[alpha*n+beta] = do_2center_integral(integralInfo, basisInfoDensFit, alpha, beta); /* 2GB limit on storing stuff in memory */ d->using_file = n*sizeof(ergo_real)> ALPHA_BETA_MEM_SZ_LIMIT; if(d->using_file) { char fname[256]; snprintf(fname, sizeof(fname), "/scratch/alphabeta.%d", getpid()); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "(alpha|beta) too large - using a temp file"); d->f = fopen(fname, "w+b"); if(!d->f) goto err; unlink(fname); /* in case of crashes... */ for(alpha = 0; alpha < n; alpha++) if(fwrite(U + alpha*n, sizeof(ergo_real), alpha+1, d->f) != (size_t)alpha+1) goto err; ergo_free(U); } else d->ptr = U; return d; err: ergo_free(U); ergo_free(d); return NULL; } void densfit_destroy(DensfitData *d) { if(d->using_file) fclose(d->f); else ergo_free(d->ptr); ergo_free(d); } /* compute C vector by direct linear equation solving */ int densfit_compute_c_vector(const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfoDensFit, DensfitData* df_data, ergo_real* gamma, ergo_real* result_c_vector) { // static int ONEI = 1; int alpha; int n = basisInfoDensFit.noOfBasisFuncs, info; ergo_real *U = ergo_new(n*n, ergo_real); memcpy(result_c_vector, gamma, n*sizeof(ergo_real)); if(df_data->using_file) { rewind(df_data->f); for(alpha = 0; alpha < n; alpha++) { info = fread(U + alpha*n, sizeof(ergo_real), alpha+1, df_data->f); if( info != alpha+1) { do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "densfit_compute_c_vector_lr: IO failed, Expected %d read %d", alpha+1, info); return -1; } } } else memcpy(U, df_data->ptr, n*n*sizeof(ergo_real)); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in densfit_compute_c_vector: posv not implemented."); return -1; //info=dposv_wrapper('U', n, 1, U, n, result_c_vector, n); ergo_free(U); if( info != 0) { do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "densfit_compute_c_vector_lr failed (info=%d)", info); return -1; } else { do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "densfit_compute_c_vector_lr ending OK."); return 0; } } int densfit_compute_J(const IntegralInfo* integralInfo, const BasisInfoStruct & basisInfoMain, const BasisInfoStruct & basisInfoDensFit, ergo_real* c_vector, ergo_real* result_J, ergo_real threshold) { Util::TimeMeter timeMeter; #if 0 int a, b, n, alpha; n = basisInfoMain->noOfBasisFuncs; for(a = 0; a < n; a++) for(b = 0; b < n; b++) { ergo_real sum = 0; for(alpha = 0; alpha < basisInfoDensFit.noOfBasisFuncs; alpha++) { sum += do_3center_integral(integralInfo, basisInfoMain, basisInfoDensFit, alpha, a, b) * c_vector[alpha]; } // END FOR alpha result_J[a*n+b] = sum; } // END FOR a b #else if(compute_gamma_or_J_shelldriven(basisInfoMain, basisInfoDensFit, integralInfo, NULL, result_J, NULL, c_vector, threshold) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_gamma_or_J_shelldriven when computing J"); return -1; } #endif do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "densfit_compute_J ending OK."); timeMeter.print(LOG_AREA_INTEGRALS, "densfit_compute_J"); return 0; } ergo-3.5/source/integrals/hermite_conversion_prep.h0000664000175000017500000001011012743400307017622 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef HERMITE_CONVERSION_PREP_HEADER #define HERMITE_CONVERSION_PREP_HEADER #include #include "realtype.h" #include "polydegree.h" #include "monomial_info.h" #include "simple_sparse_mat.h" struct hermite_conversion_contrib_struct { int destIndex; int sourceIndex; int a_power; int dummy; ergo_real coeff; }; typedef hermite_conversion_contrib_struct * hermite_conversion_contrib_struct_ptr; struct hermite_conversion_element_struct { int idx_j; int idx_k; int a_power; int dummy; ergo_real coeff; }; typedef hermite_conversion_element_struct * hermite_conversion_element_struct_ptr; const int HERMITE_CONVERSION_MAX_N = BASIS_FUNC_POLY_MAX_DEGREE*2; class hermite_conversion_info_struct { private: hermite_conversion_contrib_struct_ptr list_right[HERMITE_CONVERSION_MAX_N+1][HERMITE_CONVERSION_MAX_N+1]; hermite_conversion_contrib_struct_ptr list_left [HERMITE_CONVERSION_MAX_N+1][HERMITE_CONVERSION_MAX_N+1]; int counters_right[HERMITE_CONVERSION_MAX_N+1][HERMITE_CONVERSION_MAX_N+1]; int counters_left [HERMITE_CONVERSION_MAX_N+1][HERMITE_CONVERSION_MAX_N+1]; // Simple lists used to represent conversion matrices hermite_conversion_element_struct_ptr list_right_simple[HERMITE_CONVERSION_MAX_N+1]; hermite_conversion_element_struct_ptr list_left_simple [HERMITE_CONVERSION_MAX_N+1]; int counters_right_simple[HERMITE_CONVERSION_MAX_N+1]; int counters_left_simple [HERMITE_CONVERSION_MAX_N+1]; void clear_lists(); public: void init(const monomial_info_struct & monomial_info); hermite_conversion_info_struct(); ~hermite_conversion_info_struct(); int multiply_by_hermite_conversion_matrix_from_right(const monomial_info_struct & monomial_info, int n1max, int n2max, ergo_real a, ergo_real* A, ergo_real* result) const; int multiply_by_hermite_conversion_matrix_from_left(const monomial_info_struct & monomial_info, int n1max, int n2max, ergo_real a, ergo_real* A, ergo_real* result) const; int get_hermite_conversion_matrix_right(const monomial_info_struct & monomial_info, int nmax, ergo_real a, ergo_real* result) const; int get_hermite_conversion_matrix_left(const monomial_info_struct & monomial_info, int nmax, ergo_real a, ergo_real* result) const; int get_hermite_conversion_matrix_right_sparse(const monomial_info_struct & monomial_info, int nmax, ergo_real a, i_j_val_struct* result) const; // Stuff needed for Chunks&Tasks usage hermite_conversion_info_struct(const hermite_conversion_info_struct & other); void write_to_buffer ( char * dataBuffer, size_t const bufferSize ) const; size_t get_size() const; void assign_from_buffer ( char const * dataBuffer, size_t const bufferSize); }; #endif ergo-3.5/source/integrals/monomial_info.cc0000664000175000017500000001201212743400307015661 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "monomial_info.h" #include #include #include void monomial_info_struct::init() { // first get count int count = 0; for(int n1 = 0; n1 <= MONOMIAL_N_MAX; n1++) { for(int n1x = 0; n1x <= n1; n1x++) for(int n1y = 0; n1y <= n1; n1y++) for(int n1z = 0; n1z <= n1; n1z++) { if(n1x+n1y+n1z != n1) continue; count++; } /* END FOR n1x n1y n1z */ } /* END FOR n1 */ noOfMonomialsTot = count; monomial_list = new monomial_struct[noOfMonomialsTot]; count = 0; for(int n1 = 0; n1 <= MONOMIAL_N_MAX; n1++) { for(int n1x = 0; n1x <= n1; n1x++) for(int n1y = 0; n1y <= n1; n1y++) for(int n1z = 0; n1z <= n1; n1z++) { if(n1x+n1y+n1z != n1) continue; assert(count < noOfMonomialsTot); monomial_list[count].ix = n1x; monomial_list[count].iy = n1y; monomial_list[count].iz = n1z; monomial_index_list[n1x][n1y][n1z] = count; count++; } /* END FOR n1x n1y n1z */ no_of_monomials_list[n1] = count; } /* END FOR n1 */ assert(count == noOfMonomialsTot); } monomial_info_struct::monomial_info_struct() : noOfMonomialsTot(0), monomial_list(0) { for(int n1 = 0; n1 <= MONOMIAL_N_MAX; n1++) no_of_monomials_list[n1] = 0; for(int n1x = 0; n1x <= MONOMIAL_N_MAX; n1x++) for(int n1y = 0; n1y <= MONOMIAL_N_MAX; n1y++) for(int n1z = 0; n1z <= MONOMIAL_N_MAX; n1z++) monomial_index_list[n1x][n1y][n1z] = -1; } monomial_info_struct::~monomial_info_struct() { delete []monomial_list; } /** Function needed for Chunks&Tasks usage. */ monomial_info_struct::monomial_info_struct(const monomial_info_struct & other) : noOfMonomialsTot(other.noOfMonomialsTot) { monomial_list = new monomial_struct[noOfMonomialsTot]; memcpy(monomial_list, other.monomial_list, noOfMonomialsTot*sizeof(monomial_struct)); memcpy(no_of_monomials_list, other.no_of_monomials_list, sizeof(no_of_monomials_list)); memcpy(monomial_index_list, other.monomial_index_list, sizeof(monomial_index_list)); } /** Function needed for Chunks&Tasks usage. */ void monomial_info_struct::write_to_buffer ( char * dataBuffer, size_t const bufferSize ) const { char* p = dataBuffer; if(bufferSize < get_size()) throw std::runtime_error("Error: bufferSize too small."); // noOfMonomialsTot memcpy(p, &noOfMonomialsTot, sizeof(int)); p += sizeof(int); // monomial_list memcpy(p, monomial_list, noOfMonomialsTot*sizeof(monomial_struct)); p += noOfMonomialsTot*sizeof(monomial_struct); // no_of_monomials_list memcpy(p, no_of_monomials_list, sizeof(no_of_monomials_list)); p += sizeof(no_of_monomials_list); // monomial_index_list memcpy(p, monomial_index_list, sizeof(monomial_index_list)); p += sizeof(monomial_index_list); // DONE! } /** Function needed for Chunks&Tasks usage. */ size_t monomial_info_struct::get_size() const { return sizeof(int) + noOfMonomialsTot*sizeof(monomial_struct) + sizeof(no_of_monomials_list) + sizeof(monomial_index_list); } /** Function needed for Chunks&Tasks usage. */ void monomial_info_struct::assign_from_buffer ( char const * dataBuffer, size_t const bufferSize) { const char* p = dataBuffer; // noOfMonomialsTot memcpy(&noOfMonomialsTot, p, sizeof(int)); p += sizeof(int); // monomial_list monomial_list = new monomial_struct[noOfMonomialsTot]; memcpy(monomial_list, p, noOfMonomialsTot*sizeof(monomial_struct)); p += noOfMonomialsTot*sizeof(monomial_struct); // no_of_monomials_list memcpy(no_of_monomials_list, p, sizeof(no_of_monomials_list)); p += sizeof(no_of_monomials_list); // monomial_index_list memcpy(monomial_index_list, p, sizeof(monomial_index_list)); p += sizeof(monomial_index_list); // DONE! if(static_cast(p-dataBuffer) > bufferSize) throw std::runtime_error("Error: (p > bufferSize)."); } ergo-3.5/source/integrals/integrals_1el_single.cc0000664000175000017500000001457012743400307017140 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include #include #include #include "integrals_1el_single.h" #include "pi.h" #include "boysfunction.h" #include "integrals_hermite.h" static ergo_real do_1e_repulsion_integral_using_symb_info_h(DistributionSpecStruct* psi, ergo_real pointCharge, const ergo_real* pointChargeCoords, const IntegralInfo & integralInfo) { // Let the distr be 1 and the pointcharge 2 ergo_real alpha1 = psi->exponent; // alpha2 is ~ infinity ergo_real alpha0 = alpha1; // alpham is ~ infinity // g is 1 (not needed) int n1 = 0; int n2 = 0; for(int i = 0; i < 3; i++) n1 += psi->monomialInts[i]; int n1x = psi->monomialInts[0]; int n1y = psi->monomialInts[1]; int n1z = psi->monomialInts[2]; int noOfMonomials_1 = integralInfo.monomial_info.no_of_monomials_list[n1]; int noOfMonomials_2 = integralInfo.monomial_info.no_of_monomials_list[n2]; ergo_real dx0 = pointChargeCoords[0] - psi->centerCoords[0]; ergo_real dx1 = pointChargeCoords[1] - psi->centerCoords[1]; ergo_real dx2 = pointChargeCoords[2] - psi->centerCoords[2]; ergo_real resultPreFactor = 2 * pi / alpha1; ergo_real primitiveIntegralList_h[noOfMonomials_1*noOfMonomials_2]; ergo_real primitiveIntegralList_2[noOfMonomials_1*noOfMonomials_2]; const JK::ExchWeights CAM_params_not_used; get_related_integrals_hermite(integralInfo, CAM_params_not_used, n1, noOfMonomials_1, n2, noOfMonomials_2, dx0, dx1, dx2, alpha0, resultPreFactor, primitiveIntegralList_h); integralInfo.multiply_by_hermite_conversion_matrix_from_right(n1, n2, 1.0/alpha1, primitiveIntegralList_h, primitiveIntegralList_2); int monomialIndex = integralInfo.monomial_info.monomial_index_list[n1x][n1y][n1z]; ergo_real result = psi->coeff * pointCharge * primitiveIntegralList_2[monomialIndex]; return result; } /* This routine is supposed to compute derivatives of integrals w.r.t. changes in the pointCharge coordinates. */ std::vector do_1e_repulsion_integral_derivatives_using_symb_info(const DistributionSpecStruct* psi, ergo_real pointCharge, const ergo_real* pointChargeCoords, const IntegralInfo & integralInfo) { // Let the distr be 1 and the pointcharge 2 ergo_real alpha1 = psi->exponent; // alpha2 is ~ infinity ergo_real alpha0 = alpha1; // alpham is ~ infinity // g is 1 (not needed) int n1 = 0; int n2 = 1; for(int i = 0; i < 3; i++) n1 += psi->monomialInts[i]; int n1x = psi->monomialInts[0]; int n1y = psi->monomialInts[1]; int n1z = psi->monomialInts[2]; int noOfMonomials_1 = integralInfo.monomial_info.no_of_monomials_list[n1]; int noOfMonomials_2 = integralInfo.monomial_info.no_of_monomials_list[n2]; ergo_real dx0 = pointChargeCoords[0] - psi->centerCoords[0]; ergo_real dx1 = pointChargeCoords[1] - psi->centerCoords[1]; ergo_real dx2 = pointChargeCoords[2] - psi->centerCoords[2]; ergo_real resultPreFactor = 2 * pi / alpha1; ergo_real primitiveIntegralList_h[noOfMonomials_1*noOfMonomials_2]; const JK::ExchWeights CAM_params_not_used; get_related_integrals_hermite(integralInfo, CAM_params_not_used, n1, noOfMonomials_1, n2, noOfMonomials_2, dx0, dx1, dx2, alpha0, resultPreFactor, primitiveIntegralList_h); int n1b = n1; int n2b = 0; ergo_real primitiveIntegralList_h_components[3][noOfMonomials_1]; int monomialIndex_x = integralInfo.monomial_info.monomial_index_list[1][0][0]; int monomialIndex_y = integralInfo.monomial_info.monomial_index_list[0][1][0]; int monomialIndex_z = integralInfo.monomial_info.monomial_index_list[0][0][1]; for(int i = 0; i < noOfMonomials_1; i++) { primitiveIntegralList_h_components[0][i] = primitiveIntegralList_h[i*noOfMonomials_2+monomialIndex_x]; primitiveIntegralList_h_components[1][i] = primitiveIntegralList_h[i*noOfMonomials_2+monomialIndex_y]; primitiveIntegralList_h_components[2][i] = primitiveIntegralList_h[i*noOfMonomials_2+monomialIndex_z]; } ergo_real primitiveIntegralList_2_components[3][noOfMonomials_1]; for(int i = 0; i < 3; i++) integralInfo.multiply_by_hermite_conversion_matrix_from_right(n1b, n2b, 1.0/alpha1, primitiveIntegralList_h_components[i], primitiveIntegralList_2_components[i]); int monomialIndex = integralInfo.monomial_info.monomial_index_list[n1x][n1y][n1z]; ergo_real result_x = psi->coeff * pointCharge * primitiveIntegralList_2_components[0][monomialIndex]; ergo_real result_y = psi->coeff * pointCharge * primitiveIntegralList_2_components[1][monomialIndex]; ergo_real result_z = psi->coeff * pointCharge * primitiveIntegralList_2_components[2][monomialIndex]; std::vector v(3); v[0] = result_x; v[1] = result_y; v[2] = result_z; return v; } ergo_real do_1e_repulsion_integral_using_symb_info(DistributionSpecStruct* psi, ergo_real pointCharge, const ergo_real* pointChargeCoords, const IntegralInfo & integralInfo) { return do_1e_repulsion_integral_using_symb_info_h(psi, pointCharge, pointChargeCoords, integralInfo); } ergo-3.5/source/integrals/basis_func_pair_list.h0000664000175000017500000000331212743400307017062 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef BASIS_FUNC_PAIR_LIST_HEADER #define BASIS_FUNC_PAIR_LIST_HEADER #include #include "realtype.h" #include "integral_info.h" #include "basisinfo.h" typedef struct { int index_1; int index_2; } basis_func_index_pair_struct; int get_basis_func_pair_list_2el(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real threshold, ergo_real maxDensityMatrixElement, std::vector & resultList); #endif ergo-3.5/source/integrals/integrals_2el_boxed.h0000664000175000017500000000317412743400307016621 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_2EL_BOXED_HEADER #define INTEGRALS_2EL_BOXED_HEADER #include "integral_info.h" #include "basisinfo.h" #include "integrals_2el.h" #include "basis_func_pair_list.h" #include "csr_matrix.h" int compute_JK_single_box(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real* J, ergo_real* K, const ergo_real* dens, ergo_real threshold); #endif ergo-3.5/source/integrals/organize_distrs.cc0000664000175000017500000011746112743400307016257 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include "organize_distrs.h" #include "pi.h" #include static void do_sort_int_list(int* list, int n) { for(int i = 0; i < n; i++) for(int j = 0; j < n-i-1; j++) { if(list[j+1] < list[j]) { int temp = list[j]; list[j] = list[j+1]; list[j+1] = temp; } } // END FOR i j } static void get_conversion_matrix_for_group( const IntegralInfo & integralInfo, const distr_group_struct & group, int n1max, const minimal_distr_struct* minimalDistrList_1, int noOfBasisFuncPairs_1, const i_j_val_struct* convMat1_sp, int convMat1_nnz, i_j_val_struct* BB1_x_Ai1_x_convMat1_sp_result, // result int & BB1_x_Ai1_x_convMat1_nnz_result) // result { int noOfMonomials_1 = integralInfo.monomial_info.no_of_monomials_list[n1max]; int distrCount_i = group.distrCount; i_j_val_struct Ai1_sp[distrCount_i]; for(int i = 0; i < distrCount_i; i++) { int monomialIndex = minimalDistrList_1[group.startIndex+i].monomialIndex; ergo_real value = minimalDistrList_1[group.startIndex+i].coeff; Ai1_sp[i].i = i; Ai1_sp[i].j = monomialIndex; Ai1_sp[i].value = value; } i_j_val_struct BB1_sp[distrCount_i]; for(int kk = 0; kk < distrCount_i; kk++) { int idx = minimalDistrList_1[kk+group.startIndex].basisFuncPairIndex; BB1_sp[kk].i = idx; BB1_sp[kk].j = kk; BB1_sp[kk].value = 1; } // Multiply Ai1 by convMat1. Dimensions: (distrCount_i*noOfMonomials_1) x (noOfMonomials_1*noOfMonomials_1) i_j_val_struct* Ai1_x_convMat1_sp = new i_j_val_struct[distrCount_i*noOfMonomials_1]; int Ai1_x_convMat1_nnz = spmat_multiply_matrices(Ai1_sp, distrCount_i, convMat1_sp, convMat1_nnz, Ai1_x_convMat1_sp, distrCount_i, noOfMonomials_1); // Multiply BB1 by Ai1_x_convMat1. Dimensions: (noOfBasisFuncPairs_1*distrCount_i) x (distrCount_i*noOfMonomials_1) BB1_x_Ai1_x_convMat1_nnz_result = spmat_multiply_matrices(BB1_sp, distrCount_i, Ai1_x_convMat1_sp, Ai1_x_convMat1_nnz, BB1_x_Ai1_x_convMat1_sp_result, noOfBasisFuncPairs_1, noOfMonomials_1); delete [] Ai1_x_convMat1_sp; } int organize_distributions(const IntegralInfo & integralInfo, DistributionSpecStructLabeled* distrList_in, int distrCount, distr_org_struct* result, const ergo_real* boxCenterCoords, ergo_real boxWidth) { std::vector distrList(distrCount); // sort list of distributions by center, type and exponent // first group the ones that have same center and same exponent. std::vector groupCountList(distrCount); std::vector groupIndexList(distrCount); // start by bucket sort based on "best" coordinate. const ergo_real HUGE_NUMBER = 888888888; ergo_real xminList[3]; ergo_real xmaxList[3]; ergo_real xdiffList[3]; for(int kk = 0; kk < 3; kk++) { xminList[kk] = HUGE_NUMBER; xmaxList[kk] = -HUGE_NUMBER; } for(int i = 0; i < distrCount; i++) { for(int kk = 0; kk < 3; kk++) { ergo_real x = distrList_in[i].distr.centerCoords[kk]; if(x < xminList[kk]) xminList[kk] = x; if(x > xmaxList[kk]) xmaxList[kk] = x; } } // END FOR i int bestCoordIndex = 0; for(int kk = 0; kk < 3; kk++) { xdiffList[kk] = xmaxList[kk] - xminList[kk]; if(xdiffList[kk] > xdiffList[bestCoordIndex]) bestCoordIndex = kk; } #define NO_OF_SORT_BUCKETS 30 ergo_real splitterList[NO_OF_SORT_BUCKETS-1]; for(int i = 0; i < NO_OF_SORT_BUCKETS-1; i++) splitterList[i] = xminList[bestCoordIndex] + ((ergo_real)i + 1) * xdiffList[bestCoordIndex] / NO_OF_SORT_BUCKETS; int* bucketList[NO_OF_SORT_BUCKETS]; int bucketCounterList[NO_OF_SORT_BUCKETS]; for(int i = 0; i < NO_OF_SORT_BUCKETS; i++) { bucketList[i] = new int[distrCount]; bucketCounterList[i] = 0; } for(int i = 0; i < distrCount; i++) { int bucketIndex = -1; for(int j = 0; j < NO_OF_SORT_BUCKETS-1; j++) { if(distrList_in[i].distr.centerCoords[bestCoordIndex] < splitterList[j]) { bucketIndex = j; break; } } if(bucketIndex == -1) bucketIndex = NO_OF_SORT_BUCKETS-1; bucketList[bucketIndex][bucketCounterList[bucketIndex]] = i; bucketCounterList[bucketIndex]++; } // END FOR i int destCount = 0; int groupCount = 0; // create groups for one bucket at a time for(int bucketIndex = 0; bucketIndex < NO_OF_SORT_BUCKETS; bucketIndex++) { int nLeft = bucketCounterList[bucketIndex]; while(nLeft > 0) { int i = 0; int remainingIndex = 0; int destCountSaved = destCount; distrList[destCount] = distrList_in[bucketList[bucketIndex][i]]; destCount++; // now find all that belong to same group for(int k = i+1; k < nLeft; k++) { ergo_real dx, dy, dz; dx = distrList_in[bucketList[bucketIndex][k]].distr.centerCoords[0] - distrList[destCountSaved].distr.centerCoords[0]; dy = distrList_in[bucketList[bucketIndex][k]].distr.centerCoords[1] - distrList[destCountSaved].distr.centerCoords[1]; dz = distrList_in[bucketList[bucketIndex][k]].distr.centerCoords[2] - distrList[destCountSaved].distr.centerCoords[2]; ergo_real r2 = dx*dx + dy*dy + dz*dz; ergo_real absExponentDiff = distrList_in[bucketList[bucketIndex][k]].distr.exponent - distrList[destCountSaved].distr.exponent; if(absExponentDiff < 0) absExponentDiff *= -1; if(absExponentDiff < 1e-11 && r2 < 1e-10) { // OK, close enough, we regard this as being same center and same exponent. // add to distrList, and remove from distrList_in. distrList[destCount] = distrList_in[bucketList[bucketIndex][k]]; destCount++; } else { // no, different center or exponent if(remainingIndex != k) bucketList[bucketIndex][remainingIndex] = bucketList[bucketIndex][k]; remainingIndex++; } } // END FOR k find all that belong to same group int noOfDistrsInGroup = destCount - destCountSaved; nLeft -= noOfDistrsInGroup; groupCountList[groupCount] = noOfDistrsInGroup; groupCount++; if(remainingIndex == 0) break; } // END WHILE group the ones that have same center and same exponent. } // END FOR bucketIndex for(int i = 0; i < NO_OF_SORT_BUCKETS; i++) { delete [] bucketList[i]; bucketList[i] = NULL; } // set groupIndexList int currGroupIndex = 0; for(int i = 0; i < groupCount; i++) { groupIndexList[i] = currGroupIndex; currGroupIndex += groupCountList[i]; } // Set groupID for(int i = 0; i < groupCount; i++) { DistributionSpecStructLabeled* groupPtr = &distrList[groupIndexList[i]]; int currCount = groupCountList[i]; for(int j = 0; j < currCount; j++) groupPtr[j].groupID = i + 1; } // END FOR i // Within each group, sort by monomialInts and basisFuncIndeces for(int i = 0; i < groupCount; i++) { DistributionSpecStructLabeled* groupPtr = &distrList[groupIndexList[i]]; int currCount = groupCountList[i]; for(int k = 0; k < currCount; k++) for(int m = 0; m < currCount - 1 - k; m++) { int doSwitch = 0; if(doSwitch == 0 && groupPtr[m].distr.monomialInts[0] > groupPtr[m+1].distr.monomialInts[0]) doSwitch = 1; else doSwitch = -1; if(doSwitch == 0 && groupPtr[m].distr.monomialInts[1] > groupPtr[m+1].distr.monomialInts[1]) doSwitch = 1; else doSwitch = -1; if(doSwitch == 0 && groupPtr[m].distr.monomialInts[2] > groupPtr[m+1].distr.monomialInts[2]) doSwitch = 1; else doSwitch = -1; if(doSwitch == 0 && groupPtr[m].basisFuncIndex_1 > groupPtr[m+1].basisFuncIndex_1) doSwitch = 1; else doSwitch = -1; if(doSwitch == 0 && groupPtr[m].basisFuncIndex_2 > groupPtr[m+1].basisFuncIndex_2) doSwitch = 1; else doSwitch = -1; if(doSwitch == 1) { // switch DistributionSpecStructLabeled temp; temp = groupPtr[m]; groupPtr[m] = groupPtr[m+1]; groupPtr[m+1] = temp; } } // END FOR k m } // END FOR i result->groupList.resize(groupCount); distr_group_struct* groupList = &result->groupList[0]; for(int i = 0; i < groupCount; i++) { groupList[i].distrCount = groupCountList[i]; groupList[i].startIndex = groupIndexList[i]; // get nmax int nmax = 0; for(int ii = groupIndexList[i]; ii < groupIndexList[i] + groupCountList[i]; ii++) { int sum = 0; for(int kk = 0; kk < 3; kk++) sum += distrList[ii].distr.monomialInts[kk]; if(sum > nmax) nmax = sum; } groupList[i].nmax = nmax; // get centerCoords and exponent for(int ii = 0; ii < 3; ii++) groupList[i].centerCoords[ii] = distrList[groupIndexList[i]].distr.centerCoords[ii]; groupList[i].exponent = distrList[groupIndexList[i]].distr.exponent; // get maxSize, maxLimitingFactor, maxExtent for this group. ergo_real maxSize = 0; ergo_real maxLimitingFactor = 0; ergo_real maxExtent = 0; for(int ii = groupIndexList[i]; ii < groupIndexList[i] + groupCountList[i]; ii++) { ergo_real size = std::fabs(std::pow((ergo_real)pi/distrList[ii].distr.exponent, (ergo_real)1.5) * distrList[ii].distr.coeff); if(size > maxSize) maxSize = size; ergo_real limitingFactor = distrList[ii].limitingFactor; if(limitingFactor > maxLimitingFactor) maxLimitingFactor = limitingFactor; ergo_real extent = distrList[ii].distr.extent; if(extent > maxExtent) maxExtent = extent; } groupList[i].maxSizeGroup = maxSize; groupList[i].maxLimitingFactorGroup = maxLimitingFactor; groupList[i].maxExtentGroup = maxExtent; // Get maxAbsDmatElementGroup ergo_real maxabs = 0; for(int ii = groupIndexList[i]; ii < groupIndexList[i] + groupCountList[i]; ii++) { ergo_real absval = std::fabs(distrList[ii].dmatElement); if(absval > maxabs) maxabs = absval; } groupList[i].maxAbsDmatElementGroup = maxabs; } // END FOR i #define MAX_NO_OF_GROUPS_PER_CLUSTER 10 // create clusters and chunks. // move groups into new list, one cluster at a time. int chunkCount = 0; int clusterCount = 0; int basisFuncPairCount = 0; std::vector groupList2(groupCount); std::vector clusterList(groupCount); std::vector chunkList(groupCount); std::vector basisFuncPairList(distrCount); int noOfGroupsInNewList = 0; int noOfGroupsLeftInOldList = groupCount; while(noOfGroupsInNewList < groupCount) { // the group that is first now will define the beginning of a new cluster, and a new chunk. chunk_struct newChunk; memset(&newChunk, 0, sizeof(chunk_struct)); clusterList[clusterCount].groupStartIndex = noOfGroupsInNewList; newChunk.clusterStartIndex = clusterCount; newChunk.basisFuncPairListIndex = basisFuncPairCount; // add basisFuncPairs for first group to newChunk for(int i = groupList[0].startIndex; i < groupList[0].startIndex + groupList[0].distrCount; i++) { int alreadyInList = 0; for(int kk = 0; kk < newChunk.noOfBasisFuncPairs; kk++) { if(distrList[i].basisFuncIndex_1 == basisFuncPairList[newChunk.basisFuncPairListIndex+kk].index_1 && distrList[i].basisFuncIndex_2 == basisFuncPairList[newChunk.basisFuncPairListIndex+kk].index_2) { alreadyInList = 1; break; } } // END FOR kk if(alreadyInList == 0) { basisFuncPairList[newChunk.basisFuncPairListIndex+newChunk.noOfBasisFuncPairs].index_1 = distrList[i].basisFuncIndex_1; basisFuncPairList[newChunk.basisFuncPairListIndex+newChunk.noOfBasisFuncPairs].index_2 = distrList[i].basisFuncIndex_2; basisFuncPairList[newChunk.basisFuncPairListIndex+newChunk.noOfBasisFuncPairs].pairIndex = distrList[i].pairIndex; basisFuncPairList[newChunk.basisFuncPairListIndex+newChunk.noOfBasisFuncPairs].dmatElement = distrList[i].dmatElement; newChunk.noOfBasisFuncPairs++; basisFuncPairCount++; if(newChunk.noOfBasisFuncPairs >= MAX_NO_OF_BASIS_FUNC_PAIRS_PER_CHUNK) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: (newChunk.noOfBasisFuncPairs >= MAX_NO_OF_BASIS_FUNC_PAIRS_PER_CHUNK)"); return -1; } } } // END FOR i add basisFuncPairs for first group to newChunk int noOfClustersInCurrChunk = 1; int oldListIndex = 0; memcpy(&groupList2[noOfGroupsInNewList], &groupList[0], sizeof(distr_group_struct)); noOfGroupsInNewList++; int noOfGroupsInCurrCluster = 1; // now find other groups with same exponent and same nmax ergo_real exponent = groupList[0].exponent; int nmax = groupList[0].nmax; for(int i = 1; i < noOfGroupsLeftInOldList; i++) { ergo_real absexponentDiff = std::fabs(exponent - groupList[i].exponent); if(absexponentDiff < 1e-11 && groupList[i].nmax == nmax && noOfGroupsInCurrCluster < MAX_NO_OF_GROUPS_PER_CLUSTER) { // same exponent and nmax found, add this group to cluster memcpy(&groupList2[noOfGroupsInNewList], &groupList[i], sizeof(distr_group_struct)); noOfGroupsInNewList++; noOfGroupsInCurrCluster++; // add basisFuncPairs for group to newChunk for(int ii = groupList[i].startIndex; ii < groupList[i].startIndex + groupList[i].distrCount; ii++) { int alreadyInList = 0; for(int kk = 0; kk < newChunk.noOfBasisFuncPairs; kk++) { if(distrList[ii].basisFuncIndex_1 == basisFuncPairList[newChunk.basisFuncPairListIndex+kk].index_1 && distrList[ii].basisFuncIndex_2 == basisFuncPairList[newChunk.basisFuncPairListIndex+kk].index_2) { alreadyInList = 1; break; } } if(alreadyInList == 0) { basisFuncPairList[newChunk.basisFuncPairListIndex+newChunk.noOfBasisFuncPairs].index_1 = distrList[ii].basisFuncIndex_1; basisFuncPairList[newChunk.basisFuncPairListIndex+newChunk.noOfBasisFuncPairs].index_2 = distrList[ii].basisFuncIndex_2; basisFuncPairList[newChunk.basisFuncPairListIndex+newChunk.noOfBasisFuncPairs].pairIndex = distrList[ii].pairIndex; basisFuncPairList[newChunk.basisFuncPairListIndex+newChunk.noOfBasisFuncPairs].dmatElement = distrList[ii].dmatElement; newChunk.noOfBasisFuncPairs++; basisFuncPairCount++; if(newChunk.noOfBasisFuncPairs >= MAX_NO_OF_BASIS_FUNC_PAIRS_PER_CHUNK) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: (newChunk.noOfBasisFuncPairs >= MAX_NO_OF_BASIS_FUNC_PAIRS_PER_CHUNK)"); return -1; } } } } else { memcpy(&groupList[oldListIndex], &groupList[i], sizeof(distr_group_struct)); oldListIndex++; } } // END FOR i noOfGroupsLeftInOldList -= noOfGroupsInCurrCluster; clusterList[clusterCount].noOfGroups = noOfGroupsInCurrCluster; clusterCount++; // the cluster just created is the first one in a new chunk. // if possible, we want to add more clusters for that chunk. int definingClusterStartGrIndex = clusterList[clusterCount-1].groupStartIndex; int definingClusterGrCount = clusterList[clusterCount-1].noOfGroups; // look for other clusters to put in the same chunk. noOfGroupsInCurrCluster = 0; while(noOfGroupsInNewList < groupCount)// && noOfGroupsInCurrCluster < MAX_NO_OF_GROUPS_PER_CLUSTER) { // look for a group that has the right basis funcs. int foundIndex = -1; for(int i = 0; i < noOfGroupsLeftInOldList; i++) { // we demand that all basisfuncpairs must be present in the chunk (defined by first cluster) int allPresentSoFar = 1; for(int ii = 0; ii < groupList[i].distrCount; ii++) { // check if this distr is present in the chunk int bfidx1 = distrList[groupList[i].startIndex+ii].basisFuncIndex_1; int bfidx2 = distrList[groupList[i].startIndex+ii].basisFuncIndex_2; int found = 0; for(int gr = definingClusterStartGrIndex; gr < definingClusterStartGrIndex + definingClusterGrCount; gr++) { int idistr; for(idistr = 0; idistr < groupList2[gr].distrCount; idistr++) { if(distrList[groupList2[gr].startIndex+idistr].basisFuncIndex_1 == bfidx1 && distrList[groupList2[gr].startIndex+idistr].basisFuncIndex_2 == bfidx2) { found = 1; break; } } if(found == 1) break; } if(found == 0) { allPresentSoFar = 0; break; } } // END FOR ii if(allPresentSoFar == 1) { // OK, use this group foundIndex = i; break; } } // END FOR i look for a group that has the right basis funcs. if(foundIndex == -1) break; // OK, we have a group with accepted basis funcs. // This group will be the first in a new cluster. clusterList[clusterCount].groupStartIndex = noOfGroupsInNewList; int oldListIndex = 0; memcpy(&groupList2[noOfGroupsInNewList], &groupList[foundIndex], sizeof(distr_group_struct)); noOfGroupsInNewList++; noOfGroupsInCurrCluster = 1; // add basisFuncPairs for group to newChunk for(int ii = groupList[foundIndex].startIndex; ii < groupList[foundIndex].startIndex + groupList[foundIndex].distrCount; ii++) { int alreadyInList = 0; for(int kk = 0; kk < newChunk.noOfBasisFuncPairs; kk++) { if(distrList[ii].basisFuncIndex_1 == basisFuncPairList[newChunk.basisFuncPairListIndex+kk].index_1 && distrList[ii].basisFuncIndex_2 == basisFuncPairList[newChunk.basisFuncPairListIndex+kk].index_2) { alreadyInList = 1; break; } } if(alreadyInList == 0) { basisFuncPairList[newChunk.basisFuncPairListIndex+newChunk.noOfBasisFuncPairs].index_1 = distrList[ii].basisFuncIndex_1; basisFuncPairList[newChunk.basisFuncPairListIndex+newChunk.noOfBasisFuncPairs].index_2 = distrList[ii].basisFuncIndex_2; basisFuncPairList[newChunk.basisFuncPairListIndex+newChunk.noOfBasisFuncPairs].pairIndex = distrList[ii].pairIndex; basisFuncPairList[newChunk.basisFuncPairListIndex+newChunk.noOfBasisFuncPairs].dmatElement = distrList[ii].dmatElement; newChunk.noOfBasisFuncPairs++; basisFuncPairCount++; if(newChunk.noOfBasisFuncPairs >= MAX_NO_OF_BASIS_FUNC_PAIRS_PER_CHUNK) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: (newChunk.noOfBasisFuncPairs >= MAX_NO_OF_BASIS_FUNC_PAIRS_PER_CHUNK)"); return -1; } } } ergo_real exponent = groupList[foundIndex].exponent; int nmax = groupList[foundIndex].nmax; // we have copied the entry at foundIndex to new list, all after that must be moved one step. for(int i = foundIndex+1; i < noOfGroupsLeftInOldList; i++) memcpy(&groupList[i-1], &groupList[i], sizeof(distr_group_struct)); noOfGroupsLeftInOldList--; int noOfGroupsInCurrCluster = 1; // now find other groups with same exponent and same nmax and accepted basis funcs oldListIndex = 0; for(int i = 0; i < noOfGroupsLeftInOldList; i++) { int addToCluster = 0; ergo_real absexponentDiff = std::fabs(exponent - groupList[i].exponent); if(absexponentDiff < 1e-11 && groupList[i].nmax == nmax && noOfGroupsInCurrCluster < MAX_NO_OF_GROUPS_PER_CLUSTER) { // same exponent and nmax found, now check basis funcs int allPresentSoFar = 1; for(int ii = 0; ii < groupList[i].distrCount; ii++) { // check if this distr is present in the chunk int bfidx1 = distrList[groupList[i].startIndex+ii].basisFuncIndex_1; int bfidx2 = distrList[groupList[i].startIndex+ii].basisFuncIndex_2; int found = 0; for(int gr = definingClusterStartGrIndex; gr < definingClusterStartGrIndex + definingClusterGrCount; gr++) { for(int idistr = 0; idistr < groupList2[gr].distrCount; idistr++) { if(distrList[groupList2[gr].startIndex+idistr].basisFuncIndex_1 == bfidx1 && distrList[groupList2[gr].startIndex+idistr].basisFuncIndex_2 == bfidx2) { found = 1; break; } } if(found == 1) break; } if(found == 0) { allPresentSoFar = 0; break; } } // END FOR ii if(allPresentSoFar == 1) addToCluster = 1; } if(addToCluster == 1) { // same exponent and nmax found and accepted funcs, add this group to cluster memcpy(&groupList2[noOfGroupsInNewList], &groupList[i], sizeof(distr_group_struct)); noOfGroupsInNewList++; noOfGroupsInCurrCluster++; } else { if(i != oldListIndex) memcpy(&groupList[oldListIndex], &groupList[i], sizeof(distr_group_struct)); oldListIndex++; } } // END FOR i noOfGroupsLeftInOldList -= noOfGroupsInCurrCluster-1; clusterList[clusterCount].noOfGroups = noOfGroupsInCurrCluster; clusterCount++; noOfClustersInCurrChunk++; } // END WHILE look for other clusters to put in the same chunk newChunk.noOfClusters = noOfClustersInCurrChunk; chunkList[chunkCount] = newChunk; chunkCount++; } // END WHILE create clusters // check all chunks for(int i = 0; i < chunkCount; i++) { for(int j = 0; j < chunkList[i].noOfBasisFuncPairs; j++) { for(int k = 0; k < chunkList[i].noOfBasisFuncPairs; k++) { if(j != k && basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_1 == basisFuncPairList[chunkList[i].basisFuncPairListIndex+k].index_1 && basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_2 == basisFuncPairList[chunkList[i].basisFuncPairListIndex+k].index_2) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: basisFuncPairs not unique in chunk"); return -1; } } } } memcpy(&groupList[0], &groupList2[0], groupCount*sizeof(distr_group_struct)); // OK, clusters and chunks done. // set nmax and exponent for all clusters for(int i = 0; i < clusterCount; i++) { int groupStartIndex = clusterList[i].groupStartIndex; int nGroups = clusterList[i].noOfGroups; int nmax = 0; ergo_real exponent = groupList[groupStartIndex].exponent; for(int j = groupStartIndex; j < groupStartIndex + nGroups; j++) { if(groupList[j].nmax > nmax) nmax = groupList[j].nmax; ergo_real exponentdiff = std::fabs(groupList[j].exponent - exponent); if(exponentdiff > 1e-11) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: different exponents found in same cluster"); return -1; } } // END FOR j clusterList[i].nmax = nmax; clusterList[i].exponent = exponent; } // END FOR i set nmax for all clusters // Sort clusters according to chunks std::vector tempClusterList(clusterCount); int count = 0; for(int i = 0; i < chunkCount; i++) { int savedCount = count; for(int j = chunkList[i].clusterStartIndex; j < chunkList[i].clusterStartIndex + chunkList[i].noOfClusters; j++) { tempClusterList[count] = clusterList[j]; count++; } // END FOR j chunkList[i].clusterStartIndex = savedCount; } // END FOR i memcpy(&clusterList[0], &tempClusterList[0], clusterCount*sizeof(cluster_struct)); tempClusterList.clear(); // Sort groups according to clusters, and set maxLimitingFactorForCluster std::vector tempGroupList(groupCount); count = 0; for(int i = 0; i < clusterCount; i++) { ergo_real maxLimitingFactorForCluster = 0; int savedCount = count; for(int j = clusterList[i].groupStartIndex; j < clusterList[i].groupStartIndex + clusterList[i].noOfGroups; j++) { ergo_real maxLimitingFactor = groupList[j].maxLimitingFactorGroup; if(maxLimitingFactor > maxLimitingFactorForCluster) maxLimitingFactorForCluster = maxLimitingFactor; tempGroupList[count] = groupList[j]; count++; } // END FOR j clusterList[i].groupStartIndex = savedCount; clusterList[i].maxLimitingFactorForCluster = maxLimitingFactorForCluster; } // END FOR i memcpy(&groupList[0], &tempGroupList[0], groupCount*sizeof(distr_group_struct)); tempGroupList.clear(); // Sort distrs according to groups std::vector tempDistrList(distrCount); //output_current_memory_usage("organize_distributions after allocating tempDistrList"); count = 0; for(int i = 0; i < groupCount; i++) { int savedCount = count; for(int j = groupList[i].startIndex; j < groupList[i].startIndex + groupList[i].distrCount; j++) { tempDistrList[count] = distrList[j]; count++; } // END FOR j groupList[i].startIndex = savedCount; } // END FOR i memcpy(&distrList[0], &tempDistrList[0], distrCount*sizeof(DistributionSpecStructLabeled)); tempDistrList.clear(); result->minimalDistrList.resize(distrCount); minimal_distr_struct* minimalDistrList = &result->minimalDistrList[0]; for(int i = 0; i < distrCount; i++) { minimalDistrList[i].coeff = distrList[i].distr.coeff; minimalDistrList[i].monomialIndex = integralInfo.monomial_info.monomial_index_list [(int)distrList[i].distr.monomialInts[0]] [(int)distrList[i].distr.monomialInts[1]] [(int)distrList[i].distr.monomialInts[2]]; } // get maxExtent ergo_real maxExtent = 0; for(int i = 0; i < distrCount; i++) { if(distrList[i].distr.extent > maxExtent) maxExtent = distrList[i].distr.extent; } result->maxExtent = maxExtent; // get maxDistanceOutsideBox ergo_real maxDistanceOutsideBox = 0; for(int i = 0; i < distrCount; i++) { // get minWallDist : minimum wall distance ergo_real minWallDist = boxWidth; int coordIndex; for(coordIndex = 0; coordIndex< 3; coordIndex++) { // get wall distance for this coordinate ergo_real dx = distrList[i].distr.centerCoords[coordIndex] - boxCenterCoords[coordIndex]; ergo_real wallDist = boxWidth / 2 - std::fabs(dx); if(wallDist < minWallDist) minWallDist = wallDist; } // END FOR coordIndex if(minWallDist < -0.00001) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: (minWallDist < -0.00001)"); return -1; } ergo_real distanceOutsideBox = distrList[i].distr.extent - minWallDist; if(distanceOutsideBox > maxDistanceOutsideBox) maxDistanceOutsideBox = distanceOutsideBox; } result->maxDistanceOutsideBox = maxDistanceOutsideBox; for(int i = 0; i < chunkCount; i++) for(int j = chunkList[i].clusterStartIndex; j < chunkList[i].clusterStartIndex + chunkList[i].noOfClusters; j++) { int k_start = clusterList[j].groupStartIndex; int k_end = k_start + clusterList[j].noOfGroups; for(int k = k_start; k < k_end; k++) { int m_start = groupList[k].startIndex; int m_end = m_start + groupList[k].distrCount; for(int m = m_start; m < m_end; m++) { int foundIndex = -1; for(int kk = 0; kk < chunkList[i].noOfBasisFuncPairs; kk++) { if(basisFuncPairList[chunkList[i].basisFuncPairListIndex+kk].index_1 == distrList[m].basisFuncIndex_1 && basisFuncPairList[chunkList[i].basisFuncPairListIndex+kk].index_2 == distrList[m].basisFuncIndex_2) { foundIndex = kk; break; } } // END FOR kk if(foundIndex < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error setting basisFuncPairIndex"); return -1; } minimalDistrList[m].basisFuncPairIndex = foundIndex; } } } // within each group, sort minimalDistrList by monomialIndex and basisFuncPairIndex, // join distrs that differ only in coefficient. for(int i = 0; i < groupCount; i++) { minimal_distr_struct* p = & minimalDistrList[groupList[i].startIndex]; int count = groupList[i].distrCount; for(int j = 0; j < count; j++) for(int k = 0; k < count - 1 - j; k++) { int doSwitch = 0; if(p[k].monomialIndex > p[k+1].monomialIndex) doSwitch = 1; if(p[k].monomialIndex == p[k+1].monomialIndex) { if(p[k].basisFuncPairIndex > p[k+1].basisFuncPairIndex) doSwitch = 1; } if(doSwitch == 1) { minimal_distr_struct temp; temp = p[k]; p[k] = p[k+1]; p[k+1] = temp; } } // END FOR j k // OK, list sorted. // We want to join together any entries that differ only in coefficient. int j = 0; int ii = 0; while(ii < count) { ergo_real coeffSum = p[ii].coeff; int k = ii + 1; while(k < count) { if(p[k].monomialIndex != p[ii].monomialIndex || p[k].basisFuncPairIndex != p[ii].basisFuncPairIndex) break; coeffSum += p[k].coeff; k++; } p[j] = p[ii]; p[j].coeff = coeffSum; j++; int nResult = k - ii; ii += nResult; } groupList[i].distrCount = j; } // END FOR i // Now go through groups again to move the distrs together now that the groups are smaller. count = 0; for(int i = 0; i < groupCount; i++) { int oldStartIndex = groupList[i].startIndex; groupList[i].startIndex = count; int distrCount = groupList[i].distrCount; for(int j = 0; j < distrCount; j++) { minimalDistrList[count] = minimalDistrList[oldStartIndex+j]; count++; } } // END FOR i // check that no group contains repeating distrs for(int i = 0; i < groupCount; i++) { minimal_distr_struct* p = & minimalDistrList[groupList[i].startIndex]; int distrCount = groupList[i].distrCount; for(int j = 0; j < distrCount; j++) for(int k = j+1; k < distrCount; k++) { if(p[k].monomialIndex == p[j].monomialIndex && p[k].basisFuncPairIndex == p[j].basisFuncPairIndex) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: identical distrs found in same group."); return -1; } } } int basisFuncForChunksCount = 0; // Now get list of basis func indeces occurring in each chunk, store in basisFuncListForChunks. std::vector basisFuncListForChunks(2*distrCount); for(int i = 0; i < chunkCount; i++) { int count = 0; for(int j = 0; j < chunkList[i].noOfBasisFuncPairs; j++) { int i1 = basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_1; int i2 = basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_2; // Check if i1 and i2 are already present. int i1_found = 0; int i2_found = 0; for(int k = 0; k < count; k++) { if(basisFuncListForChunks[basisFuncForChunksCount+k] == i1) i1_found = 1; if(basisFuncListForChunks[basisFuncForChunksCount+k] == i2) i2_found = 1; } // END FOR k if(i1_found == 0) { basisFuncListForChunks[basisFuncForChunksCount+count] = i1; count++; } if(i2_found == 0 && i1 != i2) { basisFuncListForChunks[basisFuncForChunksCount+count] = i2; count++; } } // END FOR j // sort list for this chunk do_sort_int_list(&basisFuncListForChunks[basisFuncForChunksCount], count); // now "rename" index_1 and index_2 using basisFuncListForChunks. for(int j = 0; j < chunkList[i].noOfBasisFuncPairs; j++) { int i1 = basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_1; int i2 = basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_2; // find positions of i1 and i2.. int i1_index = -1; int i2_index = -1; for(int k = 0; k < count; k++) { if(basisFuncListForChunks[basisFuncForChunksCount+k] == i1) i1_index = k; if(basisFuncListForChunks[basisFuncForChunksCount+k] == i2) i2_index = k; } // END FOR k if(i1_index < 0 || i2_index < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: error 1!!!"); return -1; } basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_1_mod = i1_index; basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_2_mod = i2_index; } // END FOR j chunkList[i].basisFuncForChunksIndex = basisFuncForChunksCount; chunkList[i].basisFuncForChunkCount = count; basisFuncForChunksCount += count; } // END FOR i // Check result for(int i = 0; i < chunkCount; i++) { for(int j = 0; j < chunkList[i].noOfBasisFuncPairs; j++) { int i1 = basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_1; int i2 = basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_2; // Check if i1 and i2 are present. int i1_found = 0; int i2_found = 0; for(int k = 0; k < chunkList[i].basisFuncForChunkCount; k++) { if(basisFuncListForChunks[chunkList[i].basisFuncForChunksIndex+k] == i1) i1_found = 1; if(basisFuncListForChunks[chunkList[i].basisFuncForChunksIndex+k] == i2) i2_found = 1; } // END FOR k if(i1_found == 0 || i2_found == 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: error !!"); return -1; } } // END FOR j } // END FOR i int basisFuncListCount = 0; // Now get list of basis func indices occurring, store in basisFuncList. // Use basisFuncListForChunks to do this. std::vector basisFuncList(basisFuncForChunksCount); memcpy(&basisFuncList[0], &basisFuncListForChunks[0], basisFuncForChunksCount*sizeof(int)); std::sort(&basisFuncList[0], &basisFuncList[basisFuncForChunksCount]); int prevIndex = -1; int i = 0; while(i < basisFuncForChunksCount) { // now i points to a new basis func index. // check that sort order is OK. if(basisFuncList[i] < prevIndex) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error 11! i = %i, basisFuncList[i] = %i, prevIndex = %i", i, basisFuncList[i], prevIndex); return -1; } basisFuncList[basisFuncListCount] = basisFuncList[i]; basisFuncListCount++; prevIndex = basisFuncList[i]; do i++; while(i < basisFuncForChunksCount && basisFuncList[i] == prevIndex); } // Now go through chunks again to "rename" indices according to basisFuncList. for(int i = 0; i < chunkCount; i++) { for(int j = 0; j < chunkList[i].noOfBasisFuncPairs; j++) { int i1 = basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_1; int i2 = basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_2; // find positions of i1 and i2.. int i1_index = -1; int i2_index = -1; for(int k = 0; k < basisFuncListCount; k++) { if(basisFuncList[k] == i1) i1_index = k; if(basisFuncList[k] == i2) i2_index = k; } // END FOR k if(i1_index < 0 || i2_index < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error 3!!!"); return -1; } basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_inbox_1 = i1_index; basisFuncPairList[chunkList[i].basisFuncPairListIndex+j].index_inbox_2 = i2_index; } // END FOR j } // END FOR i // take care of basisFuncListForChunks_map result->basisFuncListForChunks_map.resize(basisFuncForChunksCount); for(int i = 0; i < basisFuncForChunksCount; i++) { for(int k = 0; k < basisFuncListCount; k++) { if(basisFuncListForChunks[i] == basisFuncList[k]) result->basisFuncListForChunks_map[i] = k; } } // take care of integral conversion matrices int noOfBasisFuncPairs_max = 0; for(int i = 0; i < chunkCount; i++) { int noOfBasisFuncPairs = chunkList[i].noOfBasisFuncPairs; if(noOfBasisFuncPairs > noOfBasisFuncPairs_max) noOfBasisFuncPairs_max = noOfBasisFuncPairs; } int noOfMonomials_max = 0; for(int i = 0; i < chunkCount; i++) for(int j = chunkList[i].clusterStartIndex; j < chunkList[i].clusterStartIndex + chunkList[i].noOfClusters; j++) { int noOfMonomials = integralInfo.monomial_info.no_of_monomials_list[clusterList[j].nmax]; if(noOfMonomials > noOfMonomials_max) noOfMonomials_max = noOfMonomials; } // We do not know the final size of the spMatElementList yet. We give it some size to start with, and then increase the size when needed. std::vector spMatElementList(5*noOfBasisFuncPairs_max*noOfMonomials_max); int spMatElementListCount = 0; result->spMatCountList.resize(groupCount); result->spMatIdxList.resize(groupCount); for(int i = 0; i < chunkCount; i++) for(int j = chunkList[i].clusterStartIndex; j < chunkList[i].clusterStartIndex + chunkList[i].noOfClusters; j++) { // Now we are dealing with cluster j int noOfBasisFuncPairs = chunkList[i].noOfBasisFuncPairs; int nmax = clusterList[j].nmax; int noOfMonomials = integralInfo.monomial_info.no_of_monomials_list[nmax]; int group_k_start = clusterList[j].groupStartIndex; int group_k_end = group_k_start + clusterList[j].noOfGroups; // Get conversion matrices ergo_real alpha = groupList[group_k_start].exponent; i_j_val_struct convMat_sp[noOfMonomials*noOfMonomials]; int convMat_nnz = integralInfo.get_hermite_conversion_matrix_right_sparse(nmax, 1.0/alpha, convMat_sp); for(int group_k = group_k_start; group_k < group_k_end; group_k++) { i_j_val_struct BB1_x_Ai1_x_convMat1_sp[noOfBasisFuncPairs*noOfMonomials]; int BB1_x_Ai1_x_convMat1_nnz = 0; get_conversion_matrix_for_group(integralInfo, groupList[group_k], nmax, minimalDistrList, noOfBasisFuncPairs, convMat_sp, convMat_nnz, BB1_x_Ai1_x_convMat1_sp, // result BB1_x_Ai1_x_convMat1_nnz); // result spmat_sort_elements(BB1_x_Ai1_x_convMat1_sp, BB1_x_Ai1_x_convMat1_nnz); // Check if the size of spMatElementList needs to be extended. while((int)(spMatElementList.size()) < spMatElementListCount + BB1_x_Ai1_x_convMat1_nnz) spMatElementList.resize(2*spMatElementList.size()); memcpy(&spMatElementList[spMatElementListCount], BB1_x_Ai1_x_convMat1_sp, BB1_x_Ai1_x_convMat1_nnz*sizeof(i_j_val_struct)); result->spMatCountList[group_k] = BB1_x_Ai1_x_convMat1_nnz; result->spMatIdxList[group_k] = spMatElementListCount; spMatElementListCount += BB1_x_Ai1_x_convMat1_nnz; if(spMatElementListCount > groupCount*noOfBasisFuncPairs_max*noOfMonomials_max) return -1; } } result->spMatElementList.resize(spMatElementListCount); memcpy(&result->spMatElementList[0], &spMatElementList[0], spMatElementListCount*sizeof(i_j_val_struct)); result->clusterList.resize(clusterCount); memcpy(&result->clusterList[0], &clusterList[0], clusterCount*sizeof(cluster_struct)); result->chunkList.resize(chunkCount); memcpy(&result->chunkList[0], &chunkList[0], chunkCount*sizeof(chunk_struct)); result->basisFuncPairList.resize(basisFuncPairCount); memcpy(&result->basisFuncPairList[0], &basisFuncPairList[0], basisFuncPairCount*sizeof(basis_func_pair_struct)); result->basisFuncListForChunks.resize(basisFuncForChunksCount); memcpy(&result->basisFuncListForChunks[0], &basisFuncListForChunks[0], basisFuncForChunksCount*sizeof(int)); result->basisFuncList.resize(basisFuncListCount); memcpy(&result->basisFuncList[0], &basisFuncList[0], basisFuncListCount*sizeof(int)); result->chunkCount = chunkCount; result->clusterCount = clusterCount; result->minimalDistrCount = distrCount; result->groupCount = groupCount; result->basisFuncPairCount = basisFuncPairCount; result->basisFuncForChunksCount = basisFuncForChunksCount; result->basisFuncListCount = basisFuncListCount; memcpy(&distrList_in[0], &distrList[0], distrCount*sizeof(DistributionSpecStructLabeled)); return 0; } // END organize_distributions ergo-3.5/source/integrals/basis_func_extent_1el.cc0000664000175000017500000000652512743400307017313 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include "basis_func_extent_1el.h" #include "output.h" #include "pi.h" #include "exponent_list.h" int compute_extent_for_all_basis_funcs_1el(const BasisInfoStruct & basisInfo, ergo_real* basisFuncExtentList, ergo_real maxCharge, ergo_real threshold) { // Create discretized list of exponents with maxAbsCoeff for each unique exponent. ExponentList exponentList; if(exponentList.get_list_of_available_exponents(basisInfo) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_list_of_available_exponents"); return -1; } int n = basisInfo.noOfBasisFuncs; for(int i = 0; i < n; i++) { BasisFuncStruct* basisFunc = &basisInfo.basisFuncList[i]; ergo_real largestExtentSoFar = 0; // go through all primitives for this basis function. int nPrims = basisFunc->noOfSimplePrimitives; int start = basisFunc->simplePrimitiveIndex; for(int j = 0; j < nPrims; j++) { DistributionSpecStruct* prim = &basisInfo.simplePrimitiveList[start + j]; ergo_real currExponent = prim->exponent; ergo_real currAbsCoeff = std::fabs(prim->coeff); ergo_real a = currExponent; ergo_real c_a = currAbsCoeff; // now go through all available exponents for(int ii = 0; ii < exponentList.noOfExponents; ii++) { ergo_real b = exponentList.list[ii].exponent; ergo_real c_b = exponentList.list[ii].maxAbsCoeff; if(c_b > 0) { // This extent definition was derived from the estimate of the largest possible contribution to V given by (2 * pi * coeff / exponent). ergo_real R2 = -1 * ((a+b)/(a*b)) * std::log(threshold*(a+b)/(2*pi*c_a*c_b*maxCharge)); if(R2 < 0) continue; ergo_real R = std::sqrt(R2); if(R > largestExtentSoFar) largestExtentSoFar = R; } } // END FOR ii } // END FOR j if( largestExtentSoFar <= 0 ) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_extent_for_all_basis_funcs_1el: (largestExtentSoFar <= 0)"); return -1; } basisFuncExtentList[i] = largestExtentSoFar; } // END FOR i return 0; } ergo-3.5/source/integrals/integrals_1el_kinetic.h0000664000175000017500000000340012743400307017135 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_1EL_KINETIC #define INTEGRALS_1EL_KINETIC #include "basisinfo.h" ergo_real simplePrimTintegral(const DistributionSpecStruct& prim1, const DistributionSpecStruct& prim2, int coord, ergo_real threshold); int compute_T_matrix_sparse(const BasisInfoStruct& basisInfo, ergo_real threshold, int n, int* nvaluesList, int** colindList, ergo_real** valuesList); int compute_T_matrix_full(const BasisInfoStruct& basisInfo, ergo_real threshold, ergo_real* result); #endif ergo-3.5/source/integrals/basis_func_extent.cc0000664000175000017500000001117712743400307016551 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include "basis_func_extent.h" #include "output.h" #include "integrals_general.h" #include "pi.h" #include "integrals_2el_single.h" #include "exponent_list.h" static ergo_real get_M(const IntegralInfo & integralInfo, const BasisInfoStruct & basisInfo) { const JK::ExchWeights CAM_params_not_used; int n = basisInfo.noOfBasisFuncs; ergo_real M = 0; for(int i = 0; i < n; i++) { BasisFuncStruct* basisFunc = &basisInfo.basisFuncList[i]; // go through all primitives for this basis function. int nPrims = basisFunc->noOfSimplePrimitives; int start = basisFunc->simplePrimitiveIndex; int j; for(j = 0; j < nPrims; j++) { DistributionSpecStruct* prim = &basisInfo.simplePrimitiveList[start + j]; ergo_real currValue = do_2e_integral_using_symb_info(CAM_params_not_used, prim, prim, integralInfo); if(currValue > M) M = currValue; } // END FOR j } // END FOR i return M; } static int compute_extent_for_all_basis_funcs_core(const BasisInfoStruct & basisInfo, ergo_real* basisFuncExtentList, ergo_real threshold, ExponentList exponentList, ergo_real M, ergo_real maxAbsDensMatElement) { ergo_real twotopow1o4 = std::pow(2, 0.25); ergo_real pitopow5o4 = std::pow(pi, 1.25); int n = basisInfo.noOfBasisFuncs; for(int i = 0; i < n; i++) { BasisFuncStruct* basisFunc = &basisInfo.basisFuncList[i]; ergo_real largestExtentSoFar = 0; // go through all primitives for this basis function. int nPrims = basisFunc->noOfSimplePrimitives; int start = basisFunc->simplePrimitiveIndex; for(int j = 0; j < nPrims; j++) { DistributionSpecStruct* prim = &basisInfo.simplePrimitiveList[start + j]; ergo_real currExponent = prim->exponent; ergo_real currAbsCoeff = std::fabs(prim->coeff); ergo_real a = currExponent; ergo_real c_a = currAbsCoeff; // now go through all available exponents for(int ii = 0; ii < exponentList.noOfExponents; ii++) { ergo_real b = exponentList.list[ii].exponent; ergo_real c_b = exponentList.list[ii].maxAbsCoeff; if(c_b > 0) { ergo_real A = M * twotopow1o4 * pitopow5o4 * c_a * c_b * std::pow(a+b, (ergo_real)-1.25); ergo_real R = std::sqrt( ((a + b) / (a * b)) * std::log(maxAbsDensMatElement * A / threshold)); if(R > largestExtentSoFar) largestExtentSoFar = R; } } // END FOR ii } // END FOR j basisFuncExtentList[i] = largestExtentSoFar; } // END FOR i return 0; } int compute_extent_for_all_basis_funcs_2el(const IntegralInfo & integralInfo, const BasisInfoStruct & basisInfo, ergo_real* basisFuncExtentList, ergo_real threshold, ergo_real maxAbsDensMatElement) { // Compute M = max sqrt[ (cc|cc) ] ergo_real M = get_M(integralInfo, basisInfo); // Create discretized list of exponents with maxAbsCoeff for each unique exponent. ExponentList exponentList; if(exponentList.get_list_of_available_exponents(basisInfo) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_list_of_available_exponents"); return -1; } // Compute extent of each basis func by taking worst case of all available exponents. return compute_extent_for_all_basis_funcs_core(basisInfo, basisFuncExtentList, threshold, exponentList, M, maxAbsDensMatElement); } ergo-3.5/source/integrals/integrals_1el.h0000664000175000017500000000301612743400307015432 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_1EL_HEADER #define INTEGRALS_1EL_HEADER #include "basisinfo.h" int compute_h_core_matrix_full(const IntegralInfo& integralInfo, const BasisInfoStruct& basisInfo, int nAtoms, const Atom* atomList, ergo_real* result, ergo_real threshold); #endif ergo-3.5/source/integrals/integrals_2el_util_funcs.cc0000664000175000017500000004101412743400307020024 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "integrals_2el_util_funcs.h" /* ELIAS NOTE 2014-05-29: The do_summedIntegralList_contribs_std routine defined in this file is responsible for a large part of the computational effort for both J and K matrix construction. Therefore, this routine would be a good candidate for further optimization attempts. */ /* This is the simple implementation, without unrolling. It turned out that this could be optimized significantly by unrolling the outer loop. */ /* ELIAS NOTE 2014-07-13: Commented out this unused routine to silence compiler warning. static void do_summedIntegralList_contribs_std_simple(const i_j_val_struct* conv_mat_1_sp, int conv_mat_1_sp_nnz, const i_j_val_struct* conv_mat_2_sp, int conv_mat_2_sp_nnz, int noOfMonomials_1, int noOfMonomials_2, const ergo_real* primitiveIntegralList, int noOfBasisFuncPairs_1, int noOfBasisFuncPairs_2, ergo_real* summedIntegralList) { for(int idx_i = 0; idx_i < conv_mat_1_sp_nnz; idx_i++) { int idx_1 = conv_mat_1_sp[idx_i].i; int ii = conv_mat_1_sp[idx_i].j; ergo_real value_i = conv_mat_1_sp[idx_i].value; const ergo_real* primitiveIntegralListPtr = &primitiveIntegralList[ii*noOfMonomials_2]; ergo_real* summedIntegralListPtr = &summedIntegralList[idx_1*noOfBasisFuncPairs_2]; int idx_j = 0; while(idx_j < conv_mat_2_sp_nnz) { int nn = conv_mat_2_sp[idx_j].same_i_count; ergo_real sum = 0; for(int kk = 0; kk < nn; kk++) { int jj = conv_mat_2_sp[idx_j+kk].j; sum += primitiveIntegralListPtr[jj] * conv_mat_2_sp[idx_j+kk].value; } int idx_2 = conv_mat_2_sp[idx_j].i; summedIntegralListPtr[idx_2] += sum * value_i; idx_j += nn; } } } */ void do_summedIntegralList_contribs_std(const i_j_val_struct* conv_mat_1_sp, int conv_mat_1_sp_nnz, const i_j_val_struct* conv_mat_2_sp, int conv_mat_2_sp_nnz, int noOfMonomials_1, int noOfMonomials_2, const ergo_real* primitiveIntegralList, int noOfBasisFuncPairs_1, int noOfBasisFuncPairs_2, ergo_real* summedIntegralList) { int idx_i = 0; while(idx_i < conv_mat_1_sp_nnz) { if(idx_i == conv_mat_1_sp_nnz-1) { // Only one left; treat in the old way int idx_1 = conv_mat_1_sp[idx_i].i; int ii = conv_mat_1_sp[idx_i].j; ergo_real value_i = conv_mat_1_sp[idx_i].value; const ergo_real* primitiveIntegralListPtr = &primitiveIntegralList[ii*noOfMonomials_2]; ergo_real* summedIntegralListPtr = &summedIntegralList[idx_1*noOfBasisFuncPairs_2]; int idx_j = 0; while(idx_j < conv_mat_2_sp_nnz) { int nn = conv_mat_2_sp[idx_j].same_i_count; ergo_real sum = 0; for(int kk = 0; kk < nn; kk++) { int jj = conv_mat_2_sp[idx_j+kk].j; sum += primitiveIntegralListPtr[jj] * conv_mat_2_sp[idx_j+kk].value; } int idx_2 = conv_mat_2_sp[idx_j].i; summedIntegralListPtr[idx_2] += sum * value_i; idx_j += nn; } idx_i++; } else if(idx_i == conv_mat_1_sp_nnz-2) { // Unroll by 2 int idx_1_A = conv_mat_1_sp[idx_i].i; int ii_A = conv_mat_1_sp[idx_i].j; ergo_real value_i_A = conv_mat_1_sp[idx_i].value; const ergo_real* primitiveIntegralListPtr_A = &primitiveIntegralList[ii_A*noOfMonomials_2]; ergo_real* summedIntegralListPtr_A = &summedIntegralList[idx_1_A*noOfBasisFuncPairs_2]; int idx_1_B = conv_mat_1_sp[idx_i+1].i; int ii_B = conv_mat_1_sp[idx_i+1].j; ergo_real value_i_B = conv_mat_1_sp[idx_i+1].value; const ergo_real* primitiveIntegralListPtr_B = &primitiveIntegralList[ii_B*noOfMonomials_2]; ergo_real* summedIntegralListPtr_B = &summedIntegralList[idx_1_B*noOfBasisFuncPairs_2]; int idx_j = 0; while(idx_j < conv_mat_2_sp_nnz) { int nn = conv_mat_2_sp[idx_j].same_i_count; ergo_real sum_A = 0; ergo_real sum_B = 0; for(int kk = 0; kk < nn; kk++) { int jj = conv_mat_2_sp[idx_j+kk].j; sum_A += primitiveIntegralListPtr_A[jj] * conv_mat_2_sp[idx_j+kk].value; sum_B += primitiveIntegralListPtr_B[jj] * conv_mat_2_sp[idx_j+kk].value; } int idx_2 = conv_mat_2_sp[idx_j].i; summedIntegralListPtr_A[idx_2] += sum_A * value_i_A; summedIntegralListPtr_B[idx_2] += sum_B * value_i_B; idx_j += nn; } idx_i += 2; } else if(idx_i == conv_mat_1_sp_nnz-3) { // Unroll by 3 int idx_1_A = conv_mat_1_sp[idx_i].i; int ii_A = conv_mat_1_sp[idx_i].j; ergo_real value_i_A = conv_mat_1_sp[idx_i].value; const ergo_real* primitiveIntegralListPtr_A = &primitiveIntegralList[ii_A*noOfMonomials_2]; ergo_real* summedIntegralListPtr_A = &summedIntegralList[idx_1_A*noOfBasisFuncPairs_2]; int idx_1_B = conv_mat_1_sp[idx_i+1].i; int ii_B = conv_mat_1_sp[idx_i+1].j; ergo_real value_i_B = conv_mat_1_sp[idx_i+1].value; const ergo_real* primitiveIntegralListPtr_B = &primitiveIntegralList[ii_B*noOfMonomials_2]; ergo_real* summedIntegralListPtr_B = &summedIntegralList[idx_1_B*noOfBasisFuncPairs_2]; int idx_1_C = conv_mat_1_sp[idx_i+2].i; int ii_C = conv_mat_1_sp[idx_i+2].j; ergo_real value_i_C = conv_mat_1_sp[idx_i+2].value; const ergo_real* primitiveIntegralListPtr_C = &primitiveIntegralList[ii_C*noOfMonomials_2]; ergo_real* summedIntegralListPtr_C = &summedIntegralList[idx_1_C*noOfBasisFuncPairs_2]; int idx_j = 0; while(idx_j < conv_mat_2_sp_nnz) { int nn = conv_mat_2_sp[idx_j].same_i_count; ergo_real sum_A = 0; ergo_real sum_B = 0; ergo_real sum_C = 0; for(int kk = 0; kk < nn; kk++) { int jj = conv_mat_2_sp[idx_j+kk].j; sum_A += primitiveIntegralListPtr_A[jj] * conv_mat_2_sp[idx_j+kk].value; sum_B += primitiveIntegralListPtr_B[jj] * conv_mat_2_sp[idx_j+kk].value; sum_C += primitiveIntegralListPtr_C[jj] * conv_mat_2_sp[idx_j+kk].value; } int idx_2 = conv_mat_2_sp[idx_j].i; summedIntegralListPtr_A[idx_2] += sum_A * value_i_A; summedIntegralListPtr_B[idx_2] += sum_B * value_i_B; summedIntegralListPtr_C[idx_2] += sum_C * value_i_C; idx_j += nn; } idx_i += 3; } else if(idx_i == conv_mat_1_sp_nnz-4) { // Unroll by 4 int idx_1_A = conv_mat_1_sp[idx_i].i; int ii_A = conv_mat_1_sp[idx_i].j; ergo_real value_i_A = conv_mat_1_sp[idx_i].value; const ergo_real* primitiveIntegralListPtr_A = &primitiveIntegralList[ii_A*noOfMonomials_2]; ergo_real* summedIntegralListPtr_A = &summedIntegralList[idx_1_A*noOfBasisFuncPairs_2]; int idx_1_B = conv_mat_1_sp[idx_i+1].i; int ii_B = conv_mat_1_sp[idx_i+1].j; ergo_real value_i_B = conv_mat_1_sp[idx_i+1].value; const ergo_real* primitiveIntegralListPtr_B = &primitiveIntegralList[ii_B*noOfMonomials_2]; ergo_real* summedIntegralListPtr_B = &summedIntegralList[idx_1_B*noOfBasisFuncPairs_2]; int idx_1_C = conv_mat_1_sp[idx_i+2].i; int ii_C = conv_mat_1_sp[idx_i+2].j; ergo_real value_i_C = conv_mat_1_sp[idx_i+2].value; const ergo_real* primitiveIntegralListPtr_C = &primitiveIntegralList[ii_C*noOfMonomials_2]; ergo_real* summedIntegralListPtr_C = &summedIntegralList[idx_1_C*noOfBasisFuncPairs_2]; int idx_1_D = conv_mat_1_sp[idx_i+3].i; int ii_D = conv_mat_1_sp[idx_i+3].j; ergo_real value_i_D = conv_mat_1_sp[idx_i+3].value; const ergo_real* primitiveIntegralListPtr_D = &primitiveIntegralList[ii_D*noOfMonomials_2]; ergo_real* summedIntegralListPtr_D = &summedIntegralList[idx_1_D*noOfBasisFuncPairs_2]; int idx_j = 0; while(idx_j < conv_mat_2_sp_nnz) { int nn = conv_mat_2_sp[idx_j].same_i_count; ergo_real sum_A = 0; ergo_real sum_B = 0; ergo_real sum_C = 0; ergo_real sum_D = 0; for(int kk = 0; kk < nn; kk++) { int jj = conv_mat_2_sp[idx_j+kk].j; sum_A += primitiveIntegralListPtr_A[jj] * conv_mat_2_sp[idx_j+kk].value; sum_B += primitiveIntegralListPtr_B[jj] * conv_mat_2_sp[idx_j+kk].value; sum_C += primitiveIntegralListPtr_C[jj] * conv_mat_2_sp[idx_j+kk].value; sum_D += primitiveIntegralListPtr_D[jj] * conv_mat_2_sp[idx_j+kk].value; } int idx_2 = conv_mat_2_sp[idx_j].i; summedIntegralListPtr_A[idx_2] += sum_A * value_i_A; summedIntegralListPtr_B[idx_2] += sum_B * value_i_B; summedIntegralListPtr_C[idx_2] += sum_C * value_i_C; summedIntegralListPtr_D[idx_2] += sum_D * value_i_D; idx_j += nn; } idx_i += 4; } else if(idx_i == conv_mat_1_sp_nnz-5) { // Unroll by 5 int idx_1_A = conv_mat_1_sp[idx_i].i; int ii_A = conv_mat_1_sp[idx_i].j; ergo_real value_i_A = conv_mat_1_sp[idx_i].value; const ergo_real* primitiveIntegralListPtr_A = &primitiveIntegralList[ii_A*noOfMonomials_2]; ergo_real* summedIntegralListPtr_A = &summedIntegralList[idx_1_A*noOfBasisFuncPairs_2]; int idx_1_B = conv_mat_1_sp[idx_i+1].i; int ii_B = conv_mat_1_sp[idx_i+1].j; ergo_real value_i_B = conv_mat_1_sp[idx_i+1].value; const ergo_real* primitiveIntegralListPtr_B = &primitiveIntegralList[ii_B*noOfMonomials_2]; ergo_real* summedIntegralListPtr_B = &summedIntegralList[idx_1_B*noOfBasisFuncPairs_2]; int idx_1_C = conv_mat_1_sp[idx_i+2].i; int ii_C = conv_mat_1_sp[idx_i+2].j; ergo_real value_i_C = conv_mat_1_sp[idx_i+2].value; const ergo_real* primitiveIntegralListPtr_C = &primitiveIntegralList[ii_C*noOfMonomials_2]; ergo_real* summedIntegralListPtr_C = &summedIntegralList[idx_1_C*noOfBasisFuncPairs_2]; int idx_1_D = conv_mat_1_sp[idx_i+3].i; int ii_D = conv_mat_1_sp[idx_i+3].j; ergo_real value_i_D = conv_mat_1_sp[idx_i+3].value; const ergo_real* primitiveIntegralListPtr_D = &primitiveIntegralList[ii_D*noOfMonomials_2]; ergo_real* summedIntegralListPtr_D = &summedIntegralList[idx_1_D*noOfBasisFuncPairs_2]; int idx_1_E = conv_mat_1_sp[idx_i+4].i; int ii_E = conv_mat_1_sp[idx_i+4].j; ergo_real value_i_E = conv_mat_1_sp[idx_i+4].value; const ergo_real* primitiveIntegralListPtr_E = &primitiveIntegralList[ii_E*noOfMonomials_2]; ergo_real* summedIntegralListPtr_E = &summedIntegralList[idx_1_E*noOfBasisFuncPairs_2]; int idx_j = 0; while(idx_j < conv_mat_2_sp_nnz) { int nn = conv_mat_2_sp[idx_j].same_i_count; ergo_real sum_A = 0; ergo_real sum_B = 0; ergo_real sum_C = 0; ergo_real sum_D = 0; ergo_real sum_E = 0; for(int kk = 0; kk < nn; kk++) { int jj = conv_mat_2_sp[idx_j+kk].j; sum_A += primitiveIntegralListPtr_A[jj] * conv_mat_2_sp[idx_j+kk].value; sum_B += primitiveIntegralListPtr_B[jj] * conv_mat_2_sp[idx_j+kk].value; sum_C += primitiveIntegralListPtr_C[jj] * conv_mat_2_sp[idx_j+kk].value; sum_D += primitiveIntegralListPtr_D[jj] * conv_mat_2_sp[idx_j+kk].value; sum_E += primitiveIntegralListPtr_E[jj] * conv_mat_2_sp[idx_j+kk].value; } int idx_2 = conv_mat_2_sp[idx_j].i; summedIntegralListPtr_A[idx_2] += sum_A * value_i_A; summedIntegralListPtr_B[idx_2] += sum_B * value_i_B; summedIntegralListPtr_C[idx_2] += sum_C * value_i_C; summedIntegralListPtr_D[idx_2] += sum_D * value_i_D; summedIntegralListPtr_E[idx_2] += sum_E * value_i_E; idx_j += nn; } idx_i += 5; } else { // Unroll by 6 int idx_1_A = conv_mat_1_sp[idx_i].i; int ii_A = conv_mat_1_sp[idx_i].j; ergo_real value_i_A = conv_mat_1_sp[idx_i].value; const ergo_real* primitiveIntegralListPtr_A = &primitiveIntegralList[ii_A*noOfMonomials_2]; ergo_real* summedIntegralListPtr_A = &summedIntegralList[idx_1_A*noOfBasisFuncPairs_2]; int idx_1_B = conv_mat_1_sp[idx_i+1].i; int ii_B = conv_mat_1_sp[idx_i+1].j; ergo_real value_i_B = conv_mat_1_sp[idx_i+1].value; const ergo_real* primitiveIntegralListPtr_B = &primitiveIntegralList[ii_B*noOfMonomials_2]; ergo_real* summedIntegralListPtr_B = &summedIntegralList[idx_1_B*noOfBasisFuncPairs_2]; int idx_1_C = conv_mat_1_sp[idx_i+2].i; int ii_C = conv_mat_1_sp[idx_i+2].j; ergo_real value_i_C = conv_mat_1_sp[idx_i+2].value; const ergo_real* primitiveIntegralListPtr_C = &primitiveIntegralList[ii_C*noOfMonomials_2]; ergo_real* summedIntegralListPtr_C = &summedIntegralList[idx_1_C*noOfBasisFuncPairs_2]; int idx_1_D = conv_mat_1_sp[idx_i+3].i; int ii_D = conv_mat_1_sp[idx_i+3].j; ergo_real value_i_D = conv_mat_1_sp[idx_i+3].value; const ergo_real* primitiveIntegralListPtr_D = &primitiveIntegralList[ii_D*noOfMonomials_2]; ergo_real* summedIntegralListPtr_D = &summedIntegralList[idx_1_D*noOfBasisFuncPairs_2]; int idx_1_E = conv_mat_1_sp[idx_i+4].i; int ii_E = conv_mat_1_sp[idx_i+4].j; ergo_real value_i_E = conv_mat_1_sp[idx_i+4].value; const ergo_real* primitiveIntegralListPtr_E = &primitiveIntegralList[ii_E*noOfMonomials_2]; ergo_real* summedIntegralListPtr_E = &summedIntegralList[idx_1_E*noOfBasisFuncPairs_2]; int idx_1_F = conv_mat_1_sp[idx_i+5].i; int ii_F = conv_mat_1_sp[idx_i+5].j; ergo_real value_i_F = conv_mat_1_sp[idx_i+5].value; const ergo_real* primitiveIntegralListPtr_F = &primitiveIntegralList[ii_F*noOfMonomials_2]; ergo_real* summedIntegralListPtr_F = &summedIntegralList[idx_1_F*noOfBasisFuncPairs_2]; int idx_j = 0; while(idx_j < conv_mat_2_sp_nnz) { int nn = conv_mat_2_sp[idx_j].same_i_count; ergo_real sum_A = 0; ergo_real sum_B = 0; ergo_real sum_C = 0; ergo_real sum_D = 0; ergo_real sum_E = 0; ergo_real sum_F = 0; for(int kk = 0; kk < nn; kk++) { int jj = conv_mat_2_sp[idx_j+kk].j; sum_A += primitiveIntegralListPtr_A[jj] * conv_mat_2_sp[idx_j+kk].value; sum_B += primitiveIntegralListPtr_B[jj] * conv_mat_2_sp[idx_j+kk].value; sum_C += primitiveIntegralListPtr_C[jj] * conv_mat_2_sp[idx_j+kk].value; sum_D += primitiveIntegralListPtr_D[jj] * conv_mat_2_sp[idx_j+kk].value; sum_E += primitiveIntegralListPtr_E[jj] * conv_mat_2_sp[idx_j+kk].value; sum_F += primitiveIntegralListPtr_F[jj] * conv_mat_2_sp[idx_j+kk].value; } int idx_2 = conv_mat_2_sp[idx_j].i; summedIntegralListPtr_A[idx_2] += sum_A * value_i_A; summedIntegralListPtr_B[idx_2] += sum_B * value_i_B; summedIntegralListPtr_C[idx_2] += sum_C * value_i_C; summedIntegralListPtr_D[idx_2] += sum_D * value_i_D; summedIntegralListPtr_E[idx_2] += sum_E * value_i_E; summedIntegralListPtr_F[idx_2] += sum_F * value_i_F; idx_j += nn; } idx_i += 6; } } } void do_summedIntegralList_contribs_self(const i_j_val_struct* conv_mat_1_sp, int conv_mat_1_sp_nnz, const i_j_val_struct* conv_mat_2_sp, int conv_mat_2_sp_nnz, int noOfMonomials_1, int noOfMonomials_2, const ergo_real* primitiveIntegralList, int noOfBasisFuncPairs_1, int noOfBasisFuncPairs_2, ergo_real* summedIntegralList) { // Special interactionWithSelf case for(int idx_i = 0; idx_i < conv_mat_1_sp_nnz; idx_i++) { int idx_1 = conv_mat_1_sp[idx_i].i; int ii = conv_mat_1_sp[idx_i].j; ergo_real value_i = conv_mat_1_sp[idx_i].value; const ergo_real* primitiveIntegralListPtr = &primitiveIntegralList[ii*noOfMonomials_2]; ergo_real* summedIntegralListPtr = &summedIntegralList[idx_1*noOfBasisFuncPairs_2]; int idx_j = 0; while(idx_j < conv_mat_2_sp_nnz) { int nn = conv_mat_2_sp[idx_j].same_i_count; ergo_real sum = 0; for(int kk = 0; kk < nn; kk++) { int jj = conv_mat_2_sp[idx_j+kk].j; sum += primitiveIntegralListPtr[jj] * conv_mat_2_sp[idx_j+kk].value; } int idx_2 = conv_mat_2_sp[idx_j].i; if(idx_1 == idx_2) summedIntegralListPtr[idx_2] += sum * value_i * 0.5; else if(idx_1 > idx_2) summedIntegralListPtr[idx_2] += sum * value_i; idx_j += nn; } } } ergo-3.5/source/integrals/integrals_2el_coulomb.h0000664000175000017500000000407612743400307017162 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_2EL_COULOMB_HEADER #define INTEGRALS_2EL_COULOMB_HEADER #include "basisinfo.h" #include "integrals_2el.h" #include "basis_func_pair_list.h" int compute_J_by_boxes(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::Params& J_K_params, ergo_real* J, const ergo_real* dens); int compute_J_by_boxes_nosymm(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::Params& J_K_params, ergo_real* J, const ergo_real* dens); int compute_J_by_boxes_linear(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::Params& J_K_params, const basis_func_index_pair_struct* basisFuncIndexPairList, int basisFuncIndexPairCount, const ergo_real* D_list, ergo_real* result_J_list, int noOfBasisFuncIndexPairs); #endif ergo-3.5/source/integrals/matrix_norm.cc0000664000175000017500000001240512743400307015400 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include "matrix_norm.h" #include "memorymanag.h" #include "output.h" #include "../matrix/mat_gblas.h" /* declaration of dsyev taken from netlib */ //extern "C" int dsyev_(char *jobz, char *uplo, int *n, double *a, // int *lda, double *w, double *work, int *lwork, // int *info); static ergo_real get_largest_eigenvalue(int n, const ergo_real* M) { int lwork = 3*n*n; ergo_real* work = (ergo_real*)ergo_malloc(lwork*sizeof(ergo_real)); ergo_real* eigvalList = (ergo_real*)ergo_malloc(n*sizeof(ergo_real)); ergo_real* A = (ergo_real*)ergo_malloc(n*n*sizeof(ergo_real)); memcpy(A, M, n*n*sizeof(ergo_real)); int info = -1; #if 0 dsyev_("N", "U", &n, A, &n, eigvalList, work, &lwork, &info); #else // inline static void syev(const char *jobz, const char *uplo, const int *n, // T *a, const int *lda, T *w, T *work, // const int *lwork, int *info) { mat::syev("N", "U", &n, A, &n, eigvalList, work, &lwork, &info); #endif if(info != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_largest_eigenvalue, in syev, info = %i", info); exit(0); } ergo_real largestEigenvalue = eigvalList[n-1]; ergo_free(work); ergo_free(eigvalList); ergo_free(A); return largestEigenvalue; } #if 0 static ergo_real get_vector_norm(int n, const ergo_real* v) { int i; ergo_real sum = 0; for(i = 0; i < n; i++) sum += v[i]*v[i]; return std::sqrt(sum); } #endif #if 0 static ergo_real get_norm_by_random_testing(int m, int n, const ergo_real* A) { ergo_real* x = (ergo_real*)ergo_malloc(n*sizeof(ergo_real)); ergo_real* Ax = (ergo_real*)ergo_malloc(m*sizeof(ergo_real)); ergo_real largestSoFar = 0; int ii; for(ii = 0; ii < 55555; ii++) { int i, j; // Get random x for(j = 0; j < n; j++) x[j] = rand(); for(i = 0; i < m; i++) { ergo_real sum = 0; for(j = 0; j < n; j++) sum += A[j*m+i] * x[j]; Ax[i] = sum; } ergo_real currValue = get_vector_norm(m, Ax) / get_vector_norm(n, x); if(currValue > largestSoFar) largestSoFar = currValue; } ergo_free(x); ergo_free(Ax); return largestSoFar; } #endif ergo_real get_euclidean_norm(int m, int n, const ergo_real* A) { #if 1 if(n > m) { // Create transpose ergo_real* AT = (ergo_real*)ergo_malloc(n*m*sizeof(ergo_real)); int i, j; for(i = 0; i < n; i++) for(j = 0; j < m; j++) AT[j*n+i] = A[i*m+j]; // Compute norm of AT, which is the same as norm of A ergo_real normOfTranspose = get_euclidean_norm(n, m, AT); ergo_free(AT); return normOfTranspose; } #endif // Create matrix AT*A ( n * n matrix ) ergo_real* ATA = (ergo_real*)ergo_malloc(n*n*sizeof(ergo_real)); int i, j, k; for(i = 0; i < n; i++) for(j = 0; j < n; j++) { ergo_real sum = 0; for(k = 0; k < m; k++) sum += A[i*m+k]*A[j*m+k]; ATA[i*n+j] = sum; } // Get largest abs eigenvalue of ATA ergo_real largestEigenvalue = get_largest_eigenvalue(n, ATA); // The Euclidean norm is given by // the square root of the largest abs eigenvalue of ATA ergo_real euclideanNorm = std::sqrt(largestEigenvalue); ergo_free(ATA); //ergo_real testNorm = get_norm_by_random_testing(m, n, A); //printf("euclideanNorm = %44.11f\n", euclideanNorm); //printf("testNorm = %44.11f\n", testNorm); //printf("testNorm / euclideanNorm = %22.11f\n", testNorm / euclideanNorm); return euclideanNorm; } ergo_real get_maximum_norm(int m, int n, const ergo_real* A) { int i, j; ergo_real largestSum = 0; for(i = 0; i < m; i++) { ergo_real sum = 0; for(j = 0; j < n; j++) sum += std::fabs(A[j*m+i]); if(sum > largestSum) largestSum = sum; } ergo_real maximumNorm = largestSum; //ergo_real testNorm = get_norm_by_random_testing(m, n, A); //printf("maximumNorm = %55.11f\n", maximumNorm); //printf("testNorm = %55.11f\n", testNorm); //printf("testNorm / maximumNorm = %22.11f\n", testNorm / maximumNorm); return maximumNorm; } ergo-3.5/source/integrals/integrals_hermite.cc0000664000175000017500000007340012743400307016550 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file integrals_hermite.cc \brief Code for computation of Coulomb integrals of Hermite Gaussians, using the the McMurchie-Davidson scheme as described in the book "Molecular electronic-structure theory" by Trygve Helgaker, Poul Jorgensen, and Jeppe Olsen. @author: Elias Rudberg responsible. */ #include "integrals_hermite.h" #include "boysfunction.h" #include #include /* ELIAS NOTE 2014-07-12: The variables R1000 R1001 etc in this file were renamed to R_val_1000 etc to avoid R3000/R4000 identifiers, since those identifiers apparently cannot be used on Mips/Mips64 architectures. The variables were renamed using the standalone utility program standalone/rename_Rxxxx_in_code.cc. */ int get_related_integrals_hermite(const IntegralInfo & integralInfo, const JK::ExchWeights & paramsCAM, int n1max, int noOfMonomials_1, int n2max, int noOfMonomials_2, ergo_real dx0, ergo_real dx1, ergo_real dx2, ergo_real alpha0, ergo_real resultPreFactor, ergo_real* primitiveIntegralList) { int Nmax = n1max + n2max; ergo_real R_12_squared = dx0*dx0 + dx1*dx1 + dx2*dx2; ergo_real BoysList[Nmax+1]; /* Get Boys function values and store them in BoysList. NOTE: If CAM params are used, the values in BoysList are not simply Boys function values but are modified according to the CAM params. */ if(paramsCAM.computeRangeSeparatedExchange) { ergo_real BoysFunctionList_std[Nmax+1]; ergo_real BoysFunctionList_mod[Nmax+1]; ergo_real mu = paramsCAM.mu; ergo_real v1_squared = mu * mu / (mu * mu + alpha0); ergo_real v1 = std::sqrt(v1_squared); /* Prepare BoysFunctionList_std */ /* Use downward recursion to get Boys function values */ ergo_real arg1 = alpha0 * R_12_squared; ergo_real expMinusArg1 = std::exp(-arg1); BoysFunctionList_std[Nmax] = integralInfo.BoysFunction(Nmax, arg1); for(int i = Nmax-1; i >= 0; i--) BoysFunctionList_std[i] = (2*arg1*BoysFunctionList_std[i+1] + expMinusArg1) / (2*i+1); /* Prepare BoysFunctionList_mod */ /* Use downward recursion to get Boys function values */ ergo_real arg2 = alpha0 * R_12_squared * v1_squared; ergo_real expMinusArg2 = std::exp(-arg2); BoysFunctionList_mod[Nmax] = integralInfo.BoysFunction(Nmax, arg2); for(int i = Nmax-1; i >= 0; i--) BoysFunctionList_mod[i] = (2*arg2*BoysFunctionList_mod[i+1] + expMinusArg2) / (2*i+1); // rescale for(int i = 0; i <= Nmax; i++) BoysFunctionList_mod[i] *= v1 * std::pow(v1_squared, i); /* TODO: avoid using pow() here! */ // add BoysFunctionList_std and BoysFunctionList_mod using weights given by cam_param_alpha and cam_param_beta for(int i = 0; i <= Nmax; i++) BoysList[i] = paramsCAM.alpha * BoysFunctionList_std[i] + paramsCAM.beta * BoysFunctionList_mod[i]; } else { /* Compute all Boys function values needed */ /* Use downward recursion to get Boys function values */ ergo_real arg = alpha0 * R_12_squared; BoysList[Nmax] = integralInfo.BoysFunction(Nmax, arg); if(Nmax > 0) { ergo_real expMinusArg = std::exp(-arg); for(int i = Nmax-1; i >= 0; i--) BoysList[i] = (2*arg*BoysList[i+1] + expMinusArg) / (2*i+1); } } #if 1 if(n1max == 0) { if(n2max == 0) { primitiveIntegralList[0] = resultPreFactor * BoysList[0]; return 0; } // END IF (n2max == 0) if(n2max == 1) { ergo_real R_val_0000 = BoysList[0] * resultPreFactor; ergo_real R_val_1000 = -2*alpha0*BoysList[1] * resultPreFactor; ergo_real R_val_0100 = dx0 * R_val_1000; ergo_real R_val_0010 = dx1 * R_val_1000; ergo_real R_val_0001 = dx2 * R_val_1000; primitiveIntegralList[0] = R_val_0000; primitiveIntegralList[1] = R_val_0001; primitiveIntegralList[2] = R_val_0010; primitiveIntegralList[3] = R_val_0100; return 0; } // END IF (n2max == 1) if(n2max == 2) { ergo_real R_val_0000 = BoysList[0] * resultPreFactor; ergo_real R_val_1000 = -2*alpha0*BoysList[1] * resultPreFactor; ergo_real R_val_2000 = 4*alpha0*alpha0*BoysList[2] * resultPreFactor; ergo_real R_val_1100 = dx0 * R_val_2000; ergo_real R_val_1010 = dx1 * R_val_2000; ergo_real R_val_1001 = dx2 * R_val_2000; ergo_real R_val_0100 = dx0 * R_val_1000; ergo_real R_val_0010 = dx1 * R_val_1000; ergo_real R_val_0001 = dx2 * R_val_1000; ergo_real R_val_0200 = R_val_1000 + dx0 * R_val_1100; ergo_real R_val_0020 = R_val_1000 + dx1 * R_val_1010; ergo_real R_val_0002 = R_val_1000 + dx2 * R_val_1001; ergo_real R_val_0110 = dx0 * R_val_1010; ergo_real R_val_0101 = dx0 * R_val_1001; ergo_real R_val_0011 = dx1 * R_val_1001; primitiveIntegralList[0] = R_val_0000; primitiveIntegralList[1] = R_val_0001; primitiveIntegralList[2] = R_val_0010; primitiveIntegralList[3] = R_val_0100; primitiveIntegralList[4] = R_val_0002; primitiveIntegralList[5] = R_val_0011; primitiveIntegralList[6] = R_val_0020; primitiveIntegralList[7] = R_val_0101; primitiveIntegralList[8] = R_val_0110; primitiveIntegralList[9] = R_val_0200; return 0; } // END IF (n2max == 1) } if(n1max == 1) { if(n2max == 0) { ergo_real R_val_0000 = BoysList[0] * resultPreFactor; ergo_real R_val_1000 = -2*alpha0*BoysList[1] * resultPreFactor; ergo_real R_val_0100 = dx0 * R_val_1000; ergo_real R_val_0010 = dx1 * R_val_1000; ergo_real R_val_0001 = dx2 * R_val_1000; primitiveIntegralList[0] = R_val_0000; primitiveIntegralList[1] = -R_val_0001; primitiveIntegralList[2] = -R_val_0010; primitiveIntegralList[3] = -R_val_0100; return 0; } // END IF (n2max == 0) if(n2max == 1) { ergo_real R_val_0000 = BoysList[0] * resultPreFactor; ergo_real R_val_1000 = -2*alpha0*BoysList[1] * resultPreFactor; ergo_real R_val_2000 = 4*alpha0*alpha0*BoysList[2] * resultPreFactor; ergo_real R_val_1100 = dx0 * R_val_2000; ergo_real R_val_1010 = dx1 * R_val_2000; ergo_real R_val_1001 = dx2 * R_val_2000; ergo_real R_val_0100 = dx0 * R_val_1000; ergo_real R_val_0010 = dx1 * R_val_1000; ergo_real R_val_0001 = dx2 * R_val_1000; ergo_real R_val_0200 = R_val_1000 + dx0 * R_val_1100; ergo_real R_val_0020 = R_val_1000 + dx1 * R_val_1010; ergo_real R_val_0002 = R_val_1000 + dx2 * R_val_1001; ergo_real R_val_0110 = dx0 * R_val_1010; ergo_real R_val_0101 = dx0 * R_val_1001; ergo_real R_val_0011 = dx1 * R_val_1001; // i1 = 0 (000) primitiveIntegralList[ 0] = R_val_0000; // i2 000 primitiveIntegralList[ 1] = R_val_0001; // i2 001 primitiveIntegralList[ 2] = R_val_0010; // i2 010 primitiveIntegralList[ 3] = R_val_0100; // i2 100 // i1 = 1 (001) primitiveIntegralList[ 4] = -R_val_0001; // i2 000 primitiveIntegralList[ 5] = -R_val_0002; // i2 001 primitiveIntegralList[ 6] = -R_val_0011; // i2 010 primitiveIntegralList[ 7] = -R_val_0101; // i2 100 // i1 = 2 (010) primitiveIntegralList[ 8] = -R_val_0010; // i2 000 primitiveIntegralList[ 9] = -R_val_0011; // i2 001 primitiveIntegralList[10] = -R_val_0020; // i2 010 primitiveIntegralList[11] = -R_val_0110; // i2 100 // i1 = 3 (100) primitiveIntegralList[12] = -R_val_0100; // i2 000 primitiveIntegralList[13] = -R_val_0101; // i2 001 primitiveIntegralList[14] = -R_val_0110; // i2 010 primitiveIntegralList[15] = -R_val_0200; // i2 100 return 0; } // END IF (n2max == 1) if(n2max == 2) { ergo_real R_val_0000 = BoysList[0] * resultPreFactor; ergo_real R_val_1000 = -2*alpha0*BoysList[1] * resultPreFactor; ergo_real R_val_2000 = 4*alpha0*alpha0*BoysList[2] * resultPreFactor; ergo_real R_val_3000 = -8*alpha0*alpha0*alpha0*BoysList[3] * resultPreFactor; ergo_real R_val_2100 = dx0 * R_val_3000; ergo_real R_val_2010 = dx1 * R_val_3000; ergo_real R_val_2001 = dx2 * R_val_3000; ergo_real R_val_1100 = dx0 * R_val_2000; ergo_real R_val_1010 = dx1 * R_val_2000; ergo_real R_val_1001 = dx2 * R_val_2000; ergo_real R_val_1200 = R_val_2000 + dx0 * R_val_2100; ergo_real R_val_1020 = R_val_2000 + dx1 * R_val_2010; ergo_real R_val_1002 = R_val_2000 + dx2 * R_val_2001; ergo_real R_val_1110 = dx0 * R_val_2010; ergo_real R_val_1101 = dx0 * R_val_2001; ergo_real R_val_1011 = dx1 * R_val_2001; ergo_real R_val_0100 = dx0 * R_val_1000; ergo_real R_val_0010 = dx1 * R_val_1000; ergo_real R_val_0001 = dx2 * R_val_1000; ergo_real R_val_0200 = R_val_1000 + dx0 * R_val_1100; ergo_real R_val_0020 = R_val_1000 + dx1 * R_val_1010; ergo_real R_val_0002 = R_val_1000 + dx2 * R_val_1001; ergo_real R_val_0110 = dx0 * R_val_1010; ergo_real R_val_0101 = dx0 * R_val_1001; ergo_real R_val_0011 = dx1 * R_val_1001; ergo_real R_val_0111 = dx0 * R_val_1011; ergo_real R_val_0300 = 2 * R_val_1100 + dx0 * R_val_1200; ergo_real R_val_0030 = 2 * R_val_1010 + dx1 * R_val_1020; ergo_real R_val_0003 = 2 * R_val_1001 + dx2 * R_val_1002; ergo_real R_val_0210 = R_val_1010 + dx0 * R_val_1110; ergo_real R_val_0201 = R_val_1001 + dx0 * R_val_1101; ergo_real R_val_0120 = R_val_1100 + dx1 * R_val_1110; ergo_real R_val_0021 = R_val_1001 + dx1 * R_val_1011; ergo_real R_val_0102 = R_val_1100 + dx2 * R_val_1101; ergo_real R_val_0012 = R_val_1010 + dx2 * R_val_1011; // i1 = 0 (000) primitiveIntegralList[ 0] = R_val_0000; // i2 000 primitiveIntegralList[ 1] = R_val_0001; // i2 001 primitiveIntegralList[ 2] = R_val_0010; // i2 010 primitiveIntegralList[ 3] = R_val_0100; // i2 100 primitiveIntegralList[ 4] = R_val_0002; // i2 002 primitiveIntegralList[ 5] = R_val_0011; // i2 011 primitiveIntegralList[ 6] = R_val_0020; // i2 020 primitiveIntegralList[ 7] = R_val_0101; // i2 101 primitiveIntegralList[ 8] = R_val_0110; // i2 110 primitiveIntegralList[ 9] = R_val_0200; // i2 200 // i1 = 1 (001) primitiveIntegralList[10] = -R_val_0001; // i2 000 primitiveIntegralList[11] = -R_val_0002; // i2 001 primitiveIntegralList[12] = -R_val_0011; // i2 010 primitiveIntegralList[13] = -R_val_0101; // i2 100 primitiveIntegralList[14] = -R_val_0003; // i2 002 primitiveIntegralList[15] = -R_val_0012; // i2 011 primitiveIntegralList[16] = -R_val_0021; // i2 020 primitiveIntegralList[17] = -R_val_0102; // i2 101 primitiveIntegralList[18] = -R_val_0111; // i2 110 primitiveIntegralList[19] = -R_val_0201; // i2 200 // i1 = 2 (010) primitiveIntegralList[20] = -R_val_0010; // i2 000 primitiveIntegralList[21] = -R_val_0011; // i2 001 primitiveIntegralList[22] = -R_val_0020; // i2 010 primitiveIntegralList[23] = -R_val_0110; // i2 100 primitiveIntegralList[24] = -R_val_0012; // i2 002 primitiveIntegralList[25] = -R_val_0021; // i2 011 primitiveIntegralList[26] = -R_val_0030; // i2 020 primitiveIntegralList[27] = -R_val_0111; // i2 101 primitiveIntegralList[28] = -R_val_0120; // i2 110 primitiveIntegralList[29] = -R_val_0210; // i2 200 // i1 = 3 (100) primitiveIntegralList[30] = -R_val_0100; // i2 000 primitiveIntegralList[31] = -R_val_0101; // i2 001 primitiveIntegralList[32] = -R_val_0110; // i2 010 primitiveIntegralList[33] = -R_val_0200; // i2 100 primitiveIntegralList[34] = -R_val_0102; // i2 002 primitiveIntegralList[35] = -R_val_0111; // i2 011 primitiveIntegralList[36] = -R_val_0120; // i2 020 primitiveIntegralList[37] = -R_val_0201; // i2 101 primitiveIntegralList[38] = -R_val_0210; // i2 110 primitiveIntegralList[39] = -R_val_0300; // i2 200 return 0; } // END IF (n2max == 2) } if(n1max == 2) { if(n2max == 0) { ergo_real R_val_0000 = BoysList[0] * resultPreFactor; ergo_real R_val_1000 = -2*alpha0*BoysList[1] * resultPreFactor; ergo_real R_val_2000 = 4*alpha0*alpha0*BoysList[2] * resultPreFactor; ergo_real R_val_1100 = dx0 * R_val_2000; ergo_real R_val_1010 = dx1 * R_val_2000; ergo_real R_val_1001 = dx2 * R_val_2000; ergo_real R_val_0100 = dx0 * R_val_1000; ergo_real R_val_0010 = dx1 * R_val_1000; ergo_real R_val_0001 = dx2 * R_val_1000; ergo_real R_val_0200 = R_val_1000 + dx0 * R_val_1100; ergo_real R_val_0020 = R_val_1000 + dx1 * R_val_1010; ergo_real R_val_0002 = R_val_1000 + dx2 * R_val_1001; ergo_real R_val_0110 = dx0 * R_val_1010; ergo_real R_val_0101 = dx0 * R_val_1001; ergo_real R_val_0011 = dx1 * R_val_1001; // i1 = 0 (000) primitiveIntegralList[0] = R_val_0000; // i1 = 1 (001) primitiveIntegralList[1] = -R_val_0001; // i1 = 2 (010) primitiveIntegralList[2] = -R_val_0010; // i1 = 3 (100) primitiveIntegralList[3] = -R_val_0100; // i1 = 4 (002) primitiveIntegralList[4] = R_val_0002; // i1 = 5 (011) primitiveIntegralList[5] = R_val_0011; // i1 = 6 (020) primitiveIntegralList[6] = R_val_0020; // i1 = 7 (101) primitiveIntegralList[7] = R_val_0101; // i1 = 8 (110) primitiveIntegralList[8] = R_val_0110; // i1 = 9 (200) primitiveIntegralList[9] = R_val_0200; return 0; } // END IF (n2max == 0) if(n2max == 1) { ergo_real R_val_0000 = BoysList[0] * resultPreFactor; ergo_real R_val_1000 = -2*alpha0*BoysList[1] * resultPreFactor; ergo_real R_val_2000 = 4*alpha0*alpha0*BoysList[2] * resultPreFactor; ergo_real R_val_3000 = -8*alpha0*alpha0*alpha0*BoysList[3] * resultPreFactor; ergo_real R_val_2100 = dx0 * R_val_3000; ergo_real R_val_2010 = dx1 * R_val_3000; ergo_real R_val_2001 = dx2 * R_val_3000; ergo_real R_val_1100 = dx0 * R_val_2000; ergo_real R_val_1010 = dx1 * R_val_2000; ergo_real R_val_1001 = dx2 * R_val_2000; ergo_real R_val_1200 = R_val_2000 + dx0 * R_val_2100; ergo_real R_val_1020 = R_val_2000 + dx1 * R_val_2010; ergo_real R_val_1002 = R_val_2000 + dx2 * R_val_2001; ergo_real R_val_1110 = dx0 * R_val_2010; ergo_real R_val_1101 = dx0 * R_val_2001; ergo_real R_val_1011 = dx1 * R_val_2001; ergo_real R_val_0100 = dx0 * R_val_1000; ergo_real R_val_0010 = dx1 * R_val_1000; ergo_real R_val_0001 = dx2 * R_val_1000; ergo_real R_val_0200 = R_val_1000 + dx0 * R_val_1100; ergo_real R_val_0020 = R_val_1000 + dx1 * R_val_1010; ergo_real R_val_0002 = R_val_1000 + dx2 * R_val_1001; ergo_real R_val_0110 = dx0 * R_val_1010; ergo_real R_val_0101 = dx0 * R_val_1001; ergo_real R_val_0011 = dx1 * R_val_1001; ergo_real R_val_0111 = dx0 * R_val_1011; ergo_real R_val_0300 = 2 * R_val_1100 + dx0 * R_val_1200; ergo_real R_val_0030 = 2 * R_val_1010 + dx1 * R_val_1020; ergo_real R_val_0003 = 2 * R_val_1001 + dx2 * R_val_1002; ergo_real R_val_0210 = R_val_1010 + dx0 * R_val_1110; ergo_real R_val_0201 = R_val_1001 + dx0 * R_val_1101; ergo_real R_val_0120 = R_val_1100 + dx1 * R_val_1110; ergo_real R_val_0021 = R_val_1001 + dx1 * R_val_1011; ergo_real R_val_0102 = R_val_1100 + dx2 * R_val_1101; ergo_real R_val_0012 = R_val_1010 + dx2 * R_val_1011; // i1 = 0 (000) primitiveIntegralList[ 0] = R_val_0000; // i2 000 primitiveIntegralList[ 1] = R_val_0001; // i2 001 primitiveIntegralList[ 2] = R_val_0010; // i2 010 primitiveIntegralList[ 3] = R_val_0100; // i2 100 // i1 = 1 (001) primitiveIntegralList[ 4] = -R_val_0001; // i2 000 primitiveIntegralList[ 5] = -R_val_0002; // i2 001 primitiveIntegralList[ 6] = -R_val_0011; // i2 010 primitiveIntegralList[ 7] = -R_val_0101; // i2 100 // i1 = 2 (010) primitiveIntegralList[ 8] = -R_val_0010; // i2 000 primitiveIntegralList[ 9] = -R_val_0011; // i2 001 primitiveIntegralList[10] = -R_val_0020; // i2 010 primitiveIntegralList[11] = -R_val_0110; // i2 100 // i1 = 3 (100) primitiveIntegralList[12] = -R_val_0100; // i2 000 primitiveIntegralList[13] = -R_val_0101; // i2 001 primitiveIntegralList[14] = -R_val_0110; // i2 010 primitiveIntegralList[15] = -R_val_0200; // i2 100 // i1 = 4 (002) primitiveIntegralList[16] = R_val_0002; // i2 000 primitiveIntegralList[17] = R_val_0003; // i2 001 primitiveIntegralList[18] = R_val_0012; // i2 010 primitiveIntegralList[19] = R_val_0102; // i2 100 // i1 = 5 (011) primitiveIntegralList[20] = R_val_0011; // i2 000 primitiveIntegralList[21] = R_val_0012; // i2 001 primitiveIntegralList[22] = R_val_0021; // i2 010 primitiveIntegralList[23] = R_val_0111; // i2 100 // i1 = 6 (020) primitiveIntegralList[24] = R_val_0020; // i2 000 primitiveIntegralList[25] = R_val_0021; // i2 001 primitiveIntegralList[26] = R_val_0030; // i2 010 primitiveIntegralList[27] = R_val_0120; // i2 100 // i1 = 7 (101) primitiveIntegralList[28] = R_val_0101; // i2 000 primitiveIntegralList[29] = R_val_0102; // i2 001 primitiveIntegralList[30] = R_val_0111; // i2 010 primitiveIntegralList[31] = R_val_0201; // i2 100 // i1 = 8 (110) primitiveIntegralList[32] = R_val_0110; // i2 000 primitiveIntegralList[33] = R_val_0111; // i2 001 primitiveIntegralList[34] = R_val_0120; // i2 010 primitiveIntegralList[35] = R_val_0210; // i2 100 // i1 = 9 (200) primitiveIntegralList[36] = R_val_0200; // i2 000 primitiveIntegralList[37] = R_val_0201; // i2 001 primitiveIntegralList[38] = R_val_0210; // i2 010 primitiveIntegralList[39] = R_val_0300; // i2 100 return 0; } // END IF (n2max == 0) if(n2max == 2) { ergo_real R_val_0000 = BoysList[0] * resultPreFactor; ergo_real R_val_1000 = -2*alpha0*BoysList[1] * resultPreFactor; ergo_real R_val_2000 = 4*alpha0*alpha0*BoysList[2] * resultPreFactor; ergo_real R_val_3000 = -8*alpha0*alpha0*alpha0*BoysList[3] * resultPreFactor; ergo_real R_val_4000 = 16*alpha0*alpha0*alpha0*alpha0*BoysList[4] * resultPreFactor; ergo_real R_val_3100 = dx0 * R_val_4000; ergo_real R_val_3010 = dx1 * R_val_4000; ergo_real R_val_3001 = dx2 * R_val_4000; ergo_real R_val_2100 = dx0 * R_val_3000; ergo_real R_val_2010 = dx1 * R_val_3000; ergo_real R_val_2001 = dx2 * R_val_3000; ergo_real R_val_2200 = R_val_3000 + dx0 * R_val_3100; ergo_real R_val_2020 = R_val_3000 + dx1 * R_val_3010; ergo_real R_val_2002 = R_val_3000 + dx2 * R_val_3001; ergo_real R_val_2110 = dx0 * R_val_3010; ergo_real R_val_2101 = dx0 * R_val_3001; ergo_real R_val_2011 = dx1 * R_val_3001; ergo_real R_val_1100 = dx0 * R_val_2000; ergo_real R_val_1010 = dx1 * R_val_2000; ergo_real R_val_1001 = dx2 * R_val_2000; ergo_real R_val_1200 = R_val_2000 + dx0 * R_val_2100; ergo_real R_val_1020 = R_val_2000 + dx1 * R_val_2010; ergo_real R_val_1002 = R_val_2000 + dx2 * R_val_2001; ergo_real R_val_1110 = dx0 * R_val_2010; ergo_real R_val_1101 = dx0 * R_val_2001; ergo_real R_val_1011 = dx1 * R_val_2001; ergo_real R_val_1111 = dx0 * R_val_2011; ergo_real R_val_1300 = 2 * R_val_2100 + dx0 * R_val_2200; ergo_real R_val_1030 = 2 * R_val_2010 + dx1 * R_val_2020; ergo_real R_val_1003 = 2 * R_val_2001 + dx2 * R_val_2002; ergo_real R_val_1210 = R_val_2010 + dx0 * R_val_2110; ergo_real R_val_1201 = R_val_2001 + dx0 * R_val_2101; ergo_real R_val_1120 = R_val_2100 + dx1 * R_val_2110; ergo_real R_val_1021 = R_val_2001 + dx1 * R_val_2011; ergo_real R_val_1102 = R_val_2100 + dx2 * R_val_2101; ergo_real R_val_1012 = R_val_2010 + dx2 * R_val_2011; ergo_real R_val_0100 = dx0 * R_val_1000; ergo_real R_val_0010 = dx1 * R_val_1000; ergo_real R_val_0001 = dx2 * R_val_1000; ergo_real R_val_0200 = R_val_1000 + dx0 * R_val_1100; ergo_real R_val_0020 = R_val_1000 + dx1 * R_val_1010; ergo_real R_val_0002 = R_val_1000 + dx2 * R_val_1001; ergo_real R_val_0110 = dx0 * R_val_1010; ergo_real R_val_0101 = dx0 * R_val_1001; ergo_real R_val_0011 = dx1 * R_val_1001; ergo_real R_val_0111 = dx0 * R_val_1011; ergo_real R_val_0300 = 2 * R_val_1100 + dx0 * R_val_1200; ergo_real R_val_0030 = 2 * R_val_1010 + dx1 * R_val_1020; ergo_real R_val_0003 = 2 * R_val_1001 + dx2 * R_val_1002; ergo_real R_val_0210 = R_val_1010 + dx0 * R_val_1110; ergo_real R_val_0201 = R_val_1001 + dx0 * R_val_1101; ergo_real R_val_0120 = R_val_1100 + dx1 * R_val_1110; ergo_real R_val_0021 = R_val_1001 + dx1 * R_val_1011; ergo_real R_val_0102 = R_val_1100 + dx2 * R_val_1101; ergo_real R_val_0012 = R_val_1010 + dx2 * R_val_1011; ergo_real R_val_0400 = 3 * R_val_1200 + dx0 * R_val_1300; ergo_real R_val_0040 = 3 * R_val_1020 + dx1 * R_val_1030; ergo_real R_val_0004 = 3 * R_val_1002 + dx2 * R_val_1003; ergo_real R_val_0310 = 2 * R_val_1110 + dx0 * R_val_1210; ergo_real R_val_0301 = 2 * R_val_1101 + dx0 * R_val_1201; ergo_real R_val_0130 = 2 * R_val_1110 + dx1 * R_val_1120; ergo_real R_val_0031 = 2 * R_val_1011 + dx1 * R_val_1021; ergo_real R_val_0103 = 2 * R_val_1101 + dx2 * R_val_1102; ergo_real R_val_0013 = 2 * R_val_1011 + dx2 * R_val_1012; ergo_real R_val_0220 = R_val_1020 + dx0 * R_val_1120; ergo_real R_val_0202 = R_val_1002 + dx0 * R_val_1102; ergo_real R_val_0022 = R_val_1002 + dx1 * R_val_1012; ergo_real R_val_0211 = R_val_1011 + dx0 * R_val_1111; ergo_real R_val_0121 = R_val_1101 + dx1 * R_val_1111; ergo_real R_val_0112 = R_val_1110 + dx2 * R_val_1111; // i1 = 0 (000) primitiveIntegralList[ 0] = R_val_0000; // i2 000 primitiveIntegralList[ 1] = R_val_0001; // i2 001 primitiveIntegralList[ 2] = R_val_0010; // i2 010 primitiveIntegralList[ 3] = R_val_0100; // i2 100 primitiveIntegralList[ 4] = R_val_0002; // i2 002 primitiveIntegralList[ 5] = R_val_0011; // i2 011 primitiveIntegralList[ 6] = R_val_0020; // i2 020 primitiveIntegralList[ 7] = R_val_0101; // i2 101 primitiveIntegralList[ 8] = R_val_0110; // i2 110 primitiveIntegralList[ 9] = R_val_0200; // i2 200 // i1 = 1 (001) primitiveIntegralList[10] = -R_val_0001; // i2 000 primitiveIntegralList[11] = -R_val_0002; // i2 001 primitiveIntegralList[12] = -R_val_0011; // i2 010 primitiveIntegralList[13] = -R_val_0101; // i2 100 primitiveIntegralList[14] = -R_val_0003; // i2 002 primitiveIntegralList[15] = -R_val_0012; // i2 011 primitiveIntegralList[16] = -R_val_0021; // i2 020 primitiveIntegralList[17] = -R_val_0102; // i2 101 primitiveIntegralList[18] = -R_val_0111; // i2 110 primitiveIntegralList[19] = -R_val_0201; // i2 200 // i1 = 2 (010) primitiveIntegralList[20] = -R_val_0010; // i2 000 primitiveIntegralList[21] = -R_val_0011; // i2 001 primitiveIntegralList[22] = -R_val_0020; // i2 010 primitiveIntegralList[23] = -R_val_0110; // i2 100 primitiveIntegralList[24] = -R_val_0012; // i2 002 primitiveIntegralList[25] = -R_val_0021; // i2 011 primitiveIntegralList[26] = -R_val_0030; // i2 020 primitiveIntegralList[27] = -R_val_0111; // i2 101 primitiveIntegralList[28] = -R_val_0120; // i2 110 primitiveIntegralList[29] = -R_val_0210; // i2 200 // i1 = 3 (100) primitiveIntegralList[30] = -R_val_0100; // i2 000 primitiveIntegralList[31] = -R_val_0101; // i2 001 primitiveIntegralList[32] = -R_val_0110; // i2 010 primitiveIntegralList[33] = -R_val_0200; // i2 100 primitiveIntegralList[34] = -R_val_0102; // i2 002 primitiveIntegralList[35] = -R_val_0111; // i2 011 primitiveIntegralList[36] = -R_val_0120; // i2 020 primitiveIntegralList[37] = -R_val_0201; // i2 101 primitiveIntegralList[38] = -R_val_0210; // i2 110 primitiveIntegralList[39] = -R_val_0300; // i2 200 // i1 = 4 (002) primitiveIntegralList[40] = R_val_0002; // i2 000 primitiveIntegralList[41] = R_val_0003; // i2 001 primitiveIntegralList[42] = R_val_0012; // i2 010 primitiveIntegralList[43] = R_val_0102; // i2 100 primitiveIntegralList[44] = R_val_0004; // i2 002 primitiveIntegralList[45] = R_val_0013; // i2 011 primitiveIntegralList[46] = R_val_0022; // i2 020 primitiveIntegralList[47] = R_val_0103; // i2 101 primitiveIntegralList[48] = R_val_0112; // i2 110 primitiveIntegralList[49] = R_val_0202; // i2 200 // i1 = 5 (011) primitiveIntegralList[50] = R_val_0011; // i2 000 primitiveIntegralList[51] = R_val_0012; // i2 001 primitiveIntegralList[52] = R_val_0021; // i2 010 primitiveIntegralList[53] = R_val_0111; // i2 100 primitiveIntegralList[54] = R_val_0013; // i2 002 primitiveIntegralList[55] = R_val_0022; // i2 011 primitiveIntegralList[56] = R_val_0031; // i2 020 primitiveIntegralList[57] = R_val_0112; // i2 101 primitiveIntegralList[58] = R_val_0121; // i2 110 primitiveIntegralList[59] = R_val_0211; // i2 200 // i1 = 6 (020) primitiveIntegralList[60] = R_val_0020; // i2 000 primitiveIntegralList[61] = R_val_0021; // i2 001 primitiveIntegralList[62] = R_val_0030; // i2 010 primitiveIntegralList[63] = R_val_0120; // i2 100 primitiveIntegralList[64] = R_val_0022; // i2 002 primitiveIntegralList[65] = R_val_0031; // i2 011 primitiveIntegralList[66] = R_val_0040; // i2 020 primitiveIntegralList[67] = R_val_0121; // i2 101 primitiveIntegralList[68] = R_val_0130; // i2 110 primitiveIntegralList[69] = R_val_0220; // i2 200 // i1 = 7 (101) primitiveIntegralList[70] = R_val_0101; // i2 000 primitiveIntegralList[71] = R_val_0102; // i2 001 primitiveIntegralList[72] = R_val_0111; // i2 010 primitiveIntegralList[73] = R_val_0201; // i2 100 primitiveIntegralList[74] = R_val_0103; // i2 002 primitiveIntegralList[75] = R_val_0112; // i2 011 primitiveIntegralList[76] = R_val_0121; // i2 020 primitiveIntegralList[77] = R_val_0202; // i2 101 primitiveIntegralList[78] = R_val_0211; // i2 110 primitiveIntegralList[79] = R_val_0301; // i2 200 // i1 = 8 (110) primitiveIntegralList[80] = R_val_0110; // i2 000 primitiveIntegralList[81] = R_val_0111; // i2 001 primitiveIntegralList[82] = R_val_0120; // i2 010 primitiveIntegralList[83] = R_val_0210; // i2 100 primitiveIntegralList[84] = R_val_0112; // i2 002 primitiveIntegralList[85] = R_val_0121; // i2 011 primitiveIntegralList[86] = R_val_0130; // i2 020 primitiveIntegralList[87] = R_val_0211; // i2 101 primitiveIntegralList[88] = R_val_0220; // i2 110 primitiveIntegralList[89] = R_val_0310; // i2 200 // i1 = 9 (200) primitiveIntegralList[90] = R_val_0200; // i2 000 primitiveIntegralList[91] = R_val_0201; // i2 001 primitiveIntegralList[92] = R_val_0210; // i2 010 primitiveIntegralList[93] = R_val_0300; // i2 100 primitiveIntegralList[94] = R_val_0202; // i2 002 primitiveIntegralList[95] = R_val_0211; // i2 011 primitiveIntegralList[96] = R_val_0220; // i2 020 primitiveIntegralList[97] = R_val_0301; // i2 101 primitiveIntegralList[98] = R_val_0310; // i2 110 primitiveIntegralList[99] = R_val_0400; // i2 200 return 0; } } #endif ergo_real R[Nmax+1][Nmax+1][Nmax+1][Nmax+1]; int n; ergo_real factor = 1; for(n = 0; n <= Nmax; n++) { R[n][0][0][0] = factor * BoysList[n]; factor *= -2*alpha0; } int minus1topowList[Nmax+1]; int ifactor = 1; for(n = 0; n <= Nmax; n++) { minus1topowList[n] = ifactor; ifactor *= -1; } // Use recurrences to get remaining R values for(n = Nmax - 1; n >= 0; n--) { int nn = Nmax - n; int noOfMonomials = integralInfo.monomial_info.no_of_monomials_list[nn]; int i; for(i = 1; i < noOfMonomials; i++) { int ix = integralInfo.monomial_info.monomial_list[i].ix; int iy = integralInfo.monomial_info.monomial_list[i].iy; int iz = integralInfo.monomial_info.monomial_list[i].iz; if(ix > 0) { ergo_real Rval = dx0 * R[n+1][ix-1][iy][iz]; if(ix > 1) Rval += (ix - 1) * R[n+1][ix-2][iy][iz]; R[n][ix][iy][iz] = Rval; } else if(iy > 0) { ergo_real Rval = dx1 * R[n+1][ix][iy-1][iz]; if(iy > 1) Rval += (iy - 1) * R[n+1][ix][iy-2][iz]; R[n][ix][iy][iz] = Rval; } else if(iz > 0) { ergo_real Rval = dx2 * R[n+1][ix][iy][iz-1]; if(iz > 1) Rval += (iz - 1) * R[n+1][ix][iy][iz-2]; R[n][ix][iy][iz] = Rval; } } // END FOR i } // END FOR n int i1, i2; for(i1 = 0; i1 < noOfMonomials_1; i1++) { int ix1 = integralInfo.monomial_info.monomial_list[i1].ix; int iy1 = integralInfo.monomial_info.monomial_list[i1].iy; int iz1 = integralInfo.monomial_info.monomial_list[i1].iz; int n1 = ix1+iy1+iz1; ergo_real prefactor = minus1topowList[n1] * resultPreFactor; for(i2 = 0; i2 < noOfMonomials_2; i2++) { int ix2 = integralInfo.monomial_info.monomial_list[i2].ix; int iy2 = integralInfo.monomial_info.monomial_list[i2].iy; int iz2 = integralInfo.monomial_info.monomial_list[i2].iz; primitiveIntegralList[i1*noOfMonomials_2+i2] = prefactor * R[0][ix1+ix2][iy1+iy2][iz1+iz2]; } // END FOR i2 } return 0; } ergo-3.5/source/integrals/integrals_2el_explicit.h0000664000175000017500000000433012743400307017334 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_2EL_EXPLICIT_HEADER #define INTEGRALS_2EL_EXPLICIT_HEADER #include "basisinfo.h" ergo_real do_2e_integral(int mu, int nu, int la, int si, const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo); ergo_real do_2e_integral_general(int mu, int nu, int la, int si, const BasisInfoStruct & basisInfo_mu, const BasisInfoStruct & basisInfo_nu, const BasisInfoStruct & basisInfo_la, const BasisInfoStruct & basisInfo_si, const IntegralInfo & integralInfo); int compute_2e_matrix_list_explicit(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real** resultList, ergo_real** densList, int noOfMatrices, ergo_real threshold); int compute_2e_matrix_simple(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real hf_weight, ergo_real* result, const ergo_real* dens); #endif /* INTEGRALS_2EL_EXPLICIT_HEADER */ ergo-3.5/source/integrals/integrals_2el_repeating.h0000664000175000017500000000345512743400307017500 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_2EL_REPEATING #define INTEGRALS_2EL_REPEATING #include "basisinfo.h" class IntegratorCase { public: IntegratorCase(int Nmax_in, int noOfMonomials, ergo_real exponent_in, const ergo_real* newList); ~IntegratorCase(); int Nmax; ergo_real exponent; ergo_real* list; }; class IntegratorWithMemory { public: explicit IntegratorWithMemory(const IntegralInfo* b); ~IntegratorWithMemory(); ergo_real do_2e_integral(const DistributionSpecStruct* psi); private: const IntegralInfo* integralInfo; int noOfCases; IntegratorCase** caseList; }; #endif ergo-3.5/source/integrals/integrals_2el_util_funcs.h0000664000175000017500000000366512743400307017700 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "simple_sparse_mat.h" void do_summedIntegralList_contribs_std(const i_j_val_struct* conv_mat_1_sp, int conv_mat_1_sp_nnz, const i_j_val_struct* conv_mat_2_sp, int conv_mat_2_sp_nnz, int noOfMonomials_1, int noOfMonomials_2, const ergo_real* primitiveIntegralList, int noOfBasisFuncPairs_1, int noOfBasisFuncPairs_2, ergo_real* summedIntegralList); void do_summedIntegralList_contribs_self(const i_j_val_struct* conv_mat_1_sp, int conv_mat_1_sp_nnz, const i_j_val_struct* conv_mat_2_sp, int conv_mat_2_sp_nnz, int noOfMonomials_1, int noOfMonomials_2, const ergo_real* primitiveIntegralList, int noOfBasisFuncPairs_1, int noOfBasisFuncPairs_2, ergo_real* summedIntegralList); ergo-3.5/source/integrals/integrals_1el_potential.cc0000664000175000017500000013744612743400307017666 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* Written by Elias Rudberg. First version was written in 2006 or even earlier, at KTH. Then the code has been updated many times after that. */ /* ELIAS NOTE 2014-05-31: gradient computation has been added now. The code for computing the gradient uses that the nuclear coordinates enter the coputation of the V matrix in two ways: (1) Directly in integrals of the type (ij|A) where ij is a basis function pair and A is an atom index. In this case we can get the derivatives directly using get_related_integrals_hermite(). (2) Via the multipole tree. For this kind of contribution we can compute the derivatives indirectly, by first computing derivatives of th emultipole moments w.r.t. nuclear coordinates, and derivatives of the energy w.r.t. the multipole moments. Then, we multiply those values to get the final derivatives of the energy w.r.t. nuclear coordinates. I.e., we compute the derivative df/dx using the chain rule, df/dx = (df/dy)*(dy/dx). */ #include #include #include #include #include #include #include #include #include #ifdef _OPENMP #include #endif #include "integrals_1el.h" #include "integrals_1el_potential.h" #include "memorymanag.h" #include "pi.h" #include "output.h" #include "utilities.h" #include "boysfunction.h" #include "integral_info.h" #include "integrals_general.h" #include "box_system.h" #include "multipole.h" #include "integrals_2el_single.h" #include "integrals_1el_single.h" #include "integrals_hermite.h" #include "matrix_norm.h" #include "mm_limit_table.h" typedef struct { box_struct_basic basicBox; ergo_real centerOfChargeCoords[3]; multipole_struct_large multipole; ergo_real* multipole_moment_derivatives; // If needed, list of derivatives of multipole moments w.r.t. atom coordinates for all atoms in this box. ergo_real* derivatives_wrt_multipole_moments; // If needed, list of derivatives of the energy w.r.t. the multipole moments for this box. } atom_box_struct; static ergo_real get_distance_3d(const ergo_real* x, const ergo_real* y) { ergo_real sum = 0; for(int k = 0; k < 3; k++) { ergo_real dx = x[k] - y[k]; sum += dx * dx; } return std::sqrt(sum); } static void get_multipole_contribs_for_atom(multipole_struct_large & boxMultipole, ergo_real* multipolePointCoords, const Atom & currAtom, const MMTranslator & translator) { multipole_struct_small multipoleCurrAtom; memset(&multipoleCurrAtom, 0, sizeof(multipole_struct_small)); multipoleCurrAtom.degree = 0; multipoleCurrAtom.noOfMoments = 1; multipoleCurrAtom.momentList[0] = currAtom.charge; ergo_real dx = currAtom.coords[0] - multipolePointCoords[0]; ergo_real dy = currAtom.coords[1] - multipolePointCoords[1]; ergo_real dz = currAtom.coords[2] - multipolePointCoords[2]; ergo_real W[MAX_NO_OF_MOMENTS_PER_MULTIPOLE*MAX_NO_OF_MOMENTS_PER_MULTIPOLE]; translator.getTranslationMatrix(dx, dy, dz, MAX_MULTIPOLE_DEGREE, 0, W); multipole_struct_large translatedMultipole; for(int A = 0; A < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; A++) { ergo_real sum = 0; for(int B = 0; B < 1; B++) sum += W[A*1+B] * multipoleCurrAtom.momentList[B]; translatedMultipole.momentList[A] = sum; } // END FOR A for(int kk = 0; kk < 3; kk++) translatedMultipole.centerCoords[kk] = multipolePointCoords[kk]; translatedMultipole.degree = MAX_MULTIPOLE_DEGREE; translatedMultipole.noOfMoments = MAX_NO_OF_MOMENTS_PER_MULTIPOLE; // add translated multipole to box multipole for(int A = 0; A < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; A++) boxMultipole.momentList[A] += translatedMultipole.momentList[A]; } static void init_multipole_struct_large(multipole_struct_large & boxMultipole, const ergo_real* multipolePointCoords) { memset(&boxMultipole, 0, sizeof(multipole_struct_large)); for(int kk = 0; kk < 3; kk++) boxMultipole.centerCoords[kk] = multipolePointCoords[kk]; boxMultipole.degree = MAX_MULTIPOLE_DEGREE; boxMultipole.noOfMoments = MAX_NO_OF_MOMENTS_PER_MULTIPOLE; } static int create_nuclei_mm_tree(int nAtoms, const Atom* atomList, ergo_real boxSize, BoxSystem & boxSystem, atom_box_struct** return_boxList, // allocated by this routine, must be freed by caller. int *return_numberOfLevels, Atom **return_atomListReordered, // allocated by this routine, must be freed by caller. int* return_atomPermutation, // list of int, length=nAtoms, saying how atoms have been reordered in return_atomListReordered. bool compute_gradient_also ) { // Create box system based on atoms box_item_struct* itemList = new box_item_struct[nAtoms]; for(int i = 0; i < nAtoms; i++) { for(int j = 0; j < 3; j++) itemList[i].centerCoords[j] = atomList[i].coords[j]; itemList[i].originalIndex = i; } // END FOR i const ergo_real maxToplevelBoxSize = boxSize; if(boxSystem.create_box_system(itemList, nAtoms, maxToplevelBoxSize) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system"); return -1; } // Now the itemList has been reordered. Store the ordering info in the return_atomPermutation list. for(int i = 0; i < nAtoms; i++) return_atomPermutation[i] = itemList[i].originalIndex; int numberOfLevels = boxSystem.noOfLevels; atom_box_struct* boxList = new atom_box_struct[boxSystem.totNoOfBoxes]; for(int i = 0; i < boxSystem.totNoOfBoxes; i++) boxList[i].basicBox = boxSystem.boxList[i]; // create new list of atoms, where they are ordered box by box at the level of smallest boxes. Atom* atomList2 = new Atom[nAtoms]; for(int i = 0; i < nAtoms; i++) atomList2[i] = atomList[itemList[i].originalIndex]; delete [] itemList; itemList = NULL; // Find center-of-charge for each box at top level atom_box_struct* boxListTopLevel = &boxList[boxSystem.levelList[numberOfLevels-1].startIndexInBoxList]; int noOfBoxesTopLevel = boxSystem.levelList[numberOfLevels-1].noOfBoxes; for(int i = 0; i < noOfBoxesTopLevel; i++) { atom_box_struct* currBox = &boxListTopLevel[i]; // Find center-of-charge for this box. ergo_real cocSumList[3]; for(int k = 0; k < 3; k++) cocSumList[k] = 0; ergo_real chargeSum = 0; Atom* atomListCurrBox = &atomList2[currBox->basicBox.firstItemIndex]; int noOfAtomsCurrBox = currBox->basicBox.noOfItems; int nPositiveCharges = 0; int nNegativeCharges = 0; for(int j = 0; j < noOfAtomsCurrBox; j++) { Atom* currAtom = &atomListCurrBox[j]; chargeSum += currAtom->charge; if(currAtom->charge > 0) nPositiveCharges++; if(currAtom->charge < 0) nNegativeCharges++; for(int k = 0; k < 3; k++) cocSumList[k] += currAtom->coords[k] * currAtom->charge; } // END FOR j Find center-of-charge for this box. // We only want to use averaging if all charges are of the same // sign, otherwise it may happen that they cancel out and then // the "average" has no meaning. if(nPositiveCharges == noOfAtomsCurrBox || nNegativeCharges == noOfAtomsCurrBox) { // OK, all charges are of the same sign. for(int k = 0; k < 3; k++) currBox->centerOfChargeCoords[k] = cocSumList[k] / chargeSum; } else { // All charges are not of the same sign. In this case we just use the center of the box as centerOfChargeCoords. for(int k = 0; k < 3; k++) currBox->centerOfChargeCoords[k] = currBox->basicBox.centerCoords[k]; } if(compute_gradient_also) { // Always use center point in this case, to simplify computation of derivatives. // FIXME: CHECK IF THIS IS REALLY NEEDED, MAYBE IT WAS REALLY BUGS IN OTHER PLACES THAT CAUSED THE PROBLEMS? for(int k = 0; k < 3; k++) currBox->centerOfChargeCoords[k] = currBox->basicBox.centerCoords[k]; } } // END FOR i Find center-of-charge for each box at top level // Create multipole for each box at top level (smallest boxes) MMTranslator translator; for(int i = 0; i < noOfBoxesTopLevel; i++) { atom_box_struct* currBox = &boxListTopLevel[i]; ergo_real* multipolePointCoords = currBox->centerOfChargeCoords; int noOfAtomsCurrBox = currBox->basicBox.noOfItems; if(compute_gradient_also) { currBox->multipole_moment_derivatives = new ergo_real[noOfAtomsCurrBox*MAX_NO_OF_MOMENTS_PER_MULTIPOLE*3]; currBox->derivatives_wrt_multipole_moments = new ergo_real[MAX_NO_OF_MOMENTS_PER_MULTIPOLE]; memset(currBox->derivatives_wrt_multipole_moments, 0, MAX_NO_OF_MOMENTS_PER_MULTIPOLE*sizeof(ergo_real)); } multipole_struct_large boxMultipole; init_multipole_struct_large(boxMultipole, multipolePointCoords); Atom* atomListCurrBox = &atomList2[currBox->basicBox.firstItemIndex]; // Go through all atoms in this box for(int j = 0; j < noOfAtomsCurrBox; j++) { const Atom & currAtom = atomListCurrBox[j]; // take multipole for this atom, and translate it to center-of-charge point // the "multipole" for this atom is of course only a monopole. get_multipole_contribs_for_atom(boxMultipole, multipolePointCoords, currAtom, translator); if(compute_gradient_also) { for(int coordIdx = 0; coordIdx < 3; coordIdx++) { multipole_struct_large boxMultipoleTmp1; init_multipole_struct_large(boxMultipoleTmp1, multipolePointCoords); multipole_struct_large boxMultipoleTmp2; init_multipole_struct_large(boxMultipoleTmp2, multipolePointCoords); const ergo_real eps = 1e-5; Atom atomTmp1 = currAtom; atomTmp1.coords[coordIdx] += eps; Atom atomTmp2 = currAtom; atomTmp2.coords[coordIdx] -= eps; get_multipole_contribs_for_atom(boxMultipoleTmp1, multipolePointCoords, atomTmp1, translator); get_multipole_contribs_for_atom(boxMultipoleTmp2, multipolePointCoords, atomTmp2, translator); for(int ii = 0; ii < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; ii++) { ergo_real m1 = boxMultipoleTmp1.momentList[ii]; ergo_real m2 = boxMultipoleTmp2.momentList[ii]; ergo_real value = (m1 - m2) / (2*eps); currBox->multipole_moment_derivatives[j*MAX_NO_OF_MOMENTS_PER_MULTIPOLE*3 + MAX_NO_OF_MOMENTS_PER_MULTIPOLE*coordIdx + ii] = value; } } } } // END FOR j Go through all atoms in this box currBox->multipole = boxMultipole; } // END FOR i Create multipole for each box at top level (smallest boxes) // OK, multipoles created for top level. // Now go through the other levels, joining multipoles from child boxes to a single multipole in parent box for(int levelNumber = numberOfLevels-2; levelNumber >= 0; levelNumber--) { int noOfBoxesCurrLevel = boxSystem.levelList[levelNumber].noOfBoxes; atom_box_struct* boxListCurrLevel = &boxList[boxSystem.levelList[levelNumber].startIndexInBoxList]; for(int boxIndex = 0; boxIndex < noOfBoxesCurrLevel; boxIndex++) { atom_box_struct* currBox = &boxListCurrLevel[boxIndex]; int noOfChildren = currBox->basicBox.noOfChildBoxes; if(noOfChildren == 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "ERROR: (noOfChildren == 0)"); return -1; } multipole_struct_large* newMultipole = &currBox->multipole; memset(newMultipole, 0, sizeof(multipole_struct_large)); // get average position of child multipoles ergo_real avgPosList[3]; int kk; for(kk = 0; kk < 3; kk++) avgPosList[kk] = 0; int childIndex; for(childIndex = 0; childIndex < noOfChildren; childIndex++) { int childIndexInBoxList = currBox->basicBox.firstChildBoxIndex + childIndex; atom_box_struct* childBox = &boxList[childIndexInBoxList]; for(kk = 0; kk < 3; kk++) avgPosList[kk] += childBox->multipole.centerCoords[kk]; } // END FOR childIndex for(kk = 0; kk < 3; kk++) newMultipole->centerCoords[kk] = avgPosList[kk] / noOfChildren; if(compute_gradient_also) { // Always use center point in this case, to simplify computation of derivatives. // FIXME: CHECK IF THIS IS REALLY NEEDED, MAYBE IT WAS REALLY BUGS IN OTHER PLACES THAT CAUSED THE PROBLEMS? for(kk = 0; kk < 3; kk++) newMultipole->centerCoords[kk] = currBox->basicBox.centerCoords[kk]; } newMultipole->degree = MAX_MULTIPOLE_DEGREE; newMultipole->noOfMoments = MAX_NO_OF_MOMENTS_PER_MULTIPOLE; // Now translate child multipoles and add to parent multipole for(childIndex = 0; childIndex < noOfChildren; childIndex++) { int childIndexInBoxList = currBox->basicBox.firstChildBoxIndex + childIndex; atom_box_struct* childBox = &boxList[childIndexInBoxList]; multipole_struct_large* childMultipole = &childBox->multipole; ergo_real dx = childMultipole->centerCoords[0] - newMultipole->centerCoords[0]; ergo_real dy = childMultipole->centerCoords[1] - newMultipole->centerCoords[1]; ergo_real dz = childMultipole->centerCoords[2] - newMultipole->centerCoords[2]; ergo_real W[MAX_NO_OF_MOMENTS_PER_MULTIPOLE*MAX_NO_OF_MOMENTS_PER_MULTIPOLE]; translator.getTranslationMatrix(dx, dy, dz, MAX_MULTIPOLE_DEGREE, MAX_MULTIPOLE_DEGREE, W); multipole_struct_large translatedMultipole; int A, B; for(A = 0; A < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; A++) { ergo_real sum = 0; for(B = 0; B < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; B++) sum += W[A*MAX_NO_OF_MOMENTS_PER_MULTIPOLE+B] * childMultipole->momentList[B]; translatedMultipole.momentList[A] = sum; } // END FOR A for(kk = 0; kk < 3; kk++) translatedMultipole.centerCoords[kk] = newMultipole->centerCoords[kk]; translatedMultipole.degree = MAX_MULTIPOLE_DEGREE; translatedMultipole.noOfMoments = MAX_NO_OF_MOMENTS_PER_MULTIPOLE; // add translated multipole to parent multipole for(A = 0; A < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; A++) newMultipole->momentList[A] += translatedMultipole.momentList[A]; } // END FOR childIndex if(compute_gradient_also) { // Get multipole for large box by going through all atoms instead of translating child multipoles ergo_real* multipolePointCoords = newMultipole->centerCoords; multipole_struct_large boxMultipole; init_multipole_struct_large(boxMultipole, multipolePointCoords); Atom* atomListCurrBox = &atomList2[currBox->basicBox.firstItemIndex]; int noOfAtomsCurrBox = currBox->basicBox.noOfItems; currBox->multipole_moment_derivatives = new ergo_real[noOfAtomsCurrBox*MAX_NO_OF_MOMENTS_PER_MULTIPOLE*3]; currBox->derivatives_wrt_multipole_moments = new ergo_real[MAX_NO_OF_MOMENTS_PER_MULTIPOLE]; memset(currBox->derivatives_wrt_multipole_moments, 0, MAX_NO_OF_MOMENTS_PER_MULTIPOLE*sizeof(ergo_real)); // Go through all atoms in this box for(int j = 0; j < noOfAtomsCurrBox; j++) { const Atom & currAtom = atomListCurrBox[j]; // take multipole for this atom, and translate it to center-of-charge point // the "multipole" for this atom is of course only a monopole. get_multipole_contribs_for_atom(boxMultipole, multipolePointCoords, currAtom, translator); for(int coordIdx = 0; coordIdx < 3; coordIdx++) { multipole_struct_large boxMultipoleTmp1; init_multipole_struct_large(boxMultipoleTmp1, multipolePointCoords); multipole_struct_large boxMultipoleTmp2; init_multipole_struct_large(boxMultipoleTmp2, multipolePointCoords); const ergo_real eps = 1e-5; Atom atomTmp1 = currAtom; atomTmp1.coords[coordIdx] += eps; Atom atomTmp2 = currAtom; atomTmp2.coords[coordIdx] -= eps; get_multipole_contribs_for_atom(boxMultipoleTmp1, multipolePointCoords, atomTmp1, translator); get_multipole_contribs_for_atom(boxMultipoleTmp2, multipolePointCoords, atomTmp2, translator); for(int ii = 0; ii < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; ii++) { ergo_real m1 = boxMultipoleTmp1.momentList[ii]; ergo_real m2 = boxMultipoleTmp2.momentList[ii]; ergo_real value = (m1 - m2) / (2*eps); currBox->multipole_moment_derivatives[j*MAX_NO_OF_MOMENTS_PER_MULTIPOLE*3 + MAX_NO_OF_MOMENTS_PER_MULTIPOLE*coordIdx + ii] = value; } } } // END FOR j Go through all atoms in this box } } // END FOR boxIndex } // END FOR levelNumber // Prepare info needed later to determine needed multipole degree for(int levelNumber = 0; levelNumber < numberOfLevels; levelNumber++) { int noOfBoxesCurrLevel = boxSystem.levelList[levelNumber].noOfBoxes; atom_box_struct* boxListCurrLevel = &boxList[boxSystem.levelList[levelNumber].startIndexInBoxList]; for(int boxIndex = 0; boxIndex < noOfBoxesCurrLevel; boxIndex++) { atom_box_struct* currBox = &boxListCurrLevel[boxIndex]; setup_multipole_maxAbsMomentList(&currBox->multipole); } } *return_boxList = boxList; *return_numberOfLevels = numberOfLevels; *return_atomListReordered = atomList2; return 0; } typedef struct { DistributionSpecStruct distr; int pairIdx; } DistributionSpecStructWithPairIdx; /** Take care of interaction between list of distrs and box. */ static int do_interaction_recursive(const IntegralInfo & integralInfo, ergo_real* V_list, int noOfBasisFuncIndexPairs, const basis_func_index_pair_struct_1el* basisFuncIndexPairList, const DistributionSpecStructWithPairIdx* list, int nDistrs, const multipole_struct_small* multipoleList, const ergo_real* maxMomentVectorNormForDistrsList, int maxNoOfMomentsForDistrs, int maxDegreeForDistrs, ergo_real distrExtent, const Atom *atomListReordered, const int* atomPermutation, // list of int, length=nAtoms, saying how atoms have been reordered in return_atomListReordered. ergo_real threshold, const atom_box_struct* boxList, MMInteractor & interactor, int boxIndex, int currLevel, int numberOfLevels, bool compute_gradient_also, const ergo_real* D_list, // used in compute_gradient_also case, NULL otherwise ergo_real* result_gradient_list // used in compute_gradient_also case, NULL otherwise ) { const atom_box_struct* currBox = &boxList[boxIndex]; const multipole_struct_large* boxMultipole = &currBox->multipole; // check if current box is far enough away so that we can use multipole description. ergo_real distance = get_distance_3d(list[0].distr.centerCoords, currBox->basicBox.centerCoords); ergo_real boxRadius = currBox->basicBox.width * 0.5 * std::sqrt((ergo_real)3); ergo_real requiredDistance = boxRadius + distrExtent; // Note that the distance to the box multipole is different, since // it is not necessarily placed at the box center. ergo_real multipoleDistance = get_distance_3d(list[0].distr.centerCoords, boxMultipole->centerCoords); int degreeNeeded = mm_limits_get_minimum_multipole_degree_needed(multipoleDistance, boxMultipole, maxDegreeForDistrs, maxMomentVectorNormForDistrsList, threshold); if(degreeNeeded < 0) return -1; degreeNeeded+=2; // We need a couple of extra degrees to handle gradient computation. FIXME: IS THIS REALL NEEDED? WHY? MAYBE IT WAS BUGS IN OTHER PLACES THAT CAUSED THE PROBLEMS? bool multipoleDegreeIsSafe = false; // Demand at least two degrees margin compared to // MAX_MULTIPOLE_DEGREE, otherwise this may fail due to alternating // odd/even degrees where only one of them are significant. This has // happened in some test cases. if(degreeNeeded <= MAX_MULTIPOLE_DEGREE-2) multipoleDegreeIsSafe = true; if(distance > requiredDistance && multipoleDegreeIsSafe) { // OK, use multipole description of atom charges. int boxNeededNoOfMoments = (degreeNeeded+1)*(degreeNeeded+1); // create interaction matrix ergo_real T[boxNeededNoOfMoments * maxNoOfMomentsForDistrs]; ergo_real dx = boxMultipole->centerCoords[0] - list[0].distr.centerCoords[0]; ergo_real dy = boxMultipole->centerCoords[1] - list[0].distr.centerCoords[1]; ergo_real dz = boxMultipole->centerCoords[2] - list[0].distr.centerCoords[2]; interactor.getInteractionMatrix(dx, dy, dz, maxDegreeForDistrs, degreeNeeded, T); ergo_real tempVector[MAX_NO_OF_MOMENTS_PER_MULTIPOLE]; for(int A = 0; A < maxNoOfMomentsForDistrs; A++) { ergo_real sum = 0; for(int B = 0; B < boxNeededNoOfMoments; B++) { ergo_real momB = boxMultipole->momentList[B]; ergo_real Telement = T[A*boxNeededNoOfMoments+B]; sum += momB * Telement; } tempVector[A] = sum; } for(int i = 0; i < nDistrs; i++) { ergo_real sum = 0; for(int A = 0; A < multipoleList[i].noOfMoments; A++) sum += tempVector[A] * multipoleList[i].momentList[A]; V_list[list[i].pairIdx] += -1 * sum; } if(compute_gradient_also) { // we need to compute the derivatives of the energy with respect to the multipole moments. // To reduce number of critical sections when OpenMP threading is used, use temporary derivatives_wrt_multipole_moments list first, and then update the real one. ergo_real derivatives_wrt_multipole_moments_tmp[MAX_NO_OF_MOMENTS_PER_MULTIPOLE]; memset(derivatives_wrt_multipole_moments_tmp, 0, MAX_NO_OF_MOMENTS_PER_MULTIPOLE*sizeof(ergo_real)); for(int i = 0; i < nDistrs; i++) { ergo_real tempVector2[boxNeededNoOfMoments]; for(int B = 0; B < boxNeededNoOfMoments; B++) { ergo_real sum = 0; for(int A = 0; A < multipoleList[i].noOfMoments; A++) { ergo_real Telement = T[A*boxNeededNoOfMoments+B]; ergo_real mom = multipoleList[i].momentList[A]; sum += mom * Telement; } tempVector2[B] = sum; } // end for B int pairIdx = list[i].pairIdx; ergo_real extraFactor = 1.0; if(basisFuncIndexPairList[pairIdx].index_1 != basisFuncIndexPairList[pairIdx].index_2) extraFactor = 2.0; ergo_real densityMatrixElement = D_list[list[i].pairIdx]; for(int B = 0; B < boxNeededNoOfMoments; B++) derivatives_wrt_multipole_moments_tmp[B] += -1 * extraFactor * densityMatrixElement * tempVector2[B]; } // end for i (loop over distrs) #ifdef _OPENMP #pragma omp critical #endif { for(int B = 0; B < boxNeededNoOfMoments; B++) currBox->derivatives_wrt_multipole_moments[B] += derivatives_wrt_multipole_moments_tmp[B]; } } // end if compute_gradient_also return 0; } // No, multipole description could not be used in this case. if(currLevel == numberOfLevels-1) { // We are at top level, must compute explicit interactions int Nmax = 0; for(int i = 0; i < nDistrs; i++) { const DistributionSpecStruct* distr = &list[i].distr; int N = distr->monomialInts[0] + distr->monomialInts[1] + distr->monomialInts[2]; if(N > Nmax) Nmax = N; } const JK::ExchWeights CAM_params_not_used; const Atom* currAtomList = &atomListReordered[currBox->basicBox.firstItemIndex]; int noOfAtomsCurrBox = currBox->basicBox.noOfItems; for(int ia = 0; ia < noOfAtomsCurrBox; ia++) { const Atom* currAtom = &currAtomList[ia]; const DistributionSpecStruct* distr1 = &list[0].distr; int noOfMonomials_1 = integralInfo.monomial_info.no_of_monomials_list[Nmax]; int noOfMonomials_2 = integralInfo.monomial_info.no_of_monomials_list[0]; ergo_real primitiveIntegralList_h[noOfMonomials_1*noOfMonomials_2]; ergo_real primitiveIntegralList_2[noOfMonomials_1*noOfMonomials_2]; // Let the distr be 1 and the pointcharge 2 ergo_real alpha1 = distr1->exponent; ergo_real alpha0 = alpha1; int n1 = Nmax; int n2 = 0; ergo_real dx0 = currAtom->coords[0] - distr1->centerCoords[0]; ergo_real dx1 = currAtom->coords[1] - distr1->centerCoords[1]; ergo_real dx2 = currAtom->coords[2] - distr1->centerCoords[2]; ergo_real resultPreFactor = 2 * pi / alpha1; get_related_integrals_hermite(integralInfo, CAM_params_not_used, n1, noOfMonomials_1, n2, noOfMonomials_2, dx0, dx1, dx2, alpha0, resultPreFactor, primitiveIntegralList_h); integralInfo.multiply_by_hermite_conversion_matrix_from_right(n1, n2, 1.0/alpha1, primitiveIntegralList_h, primitiveIntegralList_2); for(int id = 0; id < nDistrs; id++) { const DistributionSpecStruct* distr = &list[id].distr; int n1x = distr->monomialInts[0]; int n1y = distr->monomialInts[1]; int n1z = distr->monomialInts[2]; int monomialIndex = integralInfo.monomial_info.monomial_index_list[n1x][n1y][n1z]; ergo_real integralValue = currAtom->charge * distr->coeff * primitiveIntegralList_2[monomialIndex]; V_list[list[id].pairIdx] += -1 * integralValue; } } // END FOR ia if(compute_gradient_also) { for(int ia = 0; ia < noOfAtomsCurrBox; ia++) { const Atom* currAtom = &currAtomList[ia]; const DistributionSpecStruct* distr1 = &list[0].distr; int n1 = Nmax; int n2 = 1; int noOfMonomials_1 = integralInfo.monomial_info.no_of_monomials_list[n1]; int noOfMonomials_2 = integralInfo.monomial_info.no_of_monomials_list[n2]; ergo_real primitiveIntegralList_h[noOfMonomials_1*noOfMonomials_2]; // Let the distr be 1 and the pointcharge 2 ergo_real alpha1 = distr1->exponent; ergo_real alpha0 = alpha1; ergo_real dx0 = currAtom->coords[0] - distr1->centerCoords[0]; ergo_real dx1 = currAtom->coords[1] - distr1->centerCoords[1]; ergo_real dx2 = currAtom->coords[2] - distr1->centerCoords[2]; ergo_real resultPreFactor = 2 * pi / alpha1; get_related_integrals_hermite(integralInfo, CAM_params_not_used, n1, noOfMonomials_1, n2, noOfMonomials_2, dx0, dx1, dx2, alpha0, resultPreFactor, primitiveIntegralList_h); for(int id = 0; id < nDistrs; id++) { const DistributionSpecStruct* distr = &list[id].distr; int n1b = n1; int n2b = 0; ergo_real primitiveIntegralList_h_components[3][noOfMonomials_1]; int monomialIndex_x = integralInfo.monomial_info.monomial_index_list[1][0][0]; int monomialIndex_y = integralInfo.monomial_info.monomial_index_list[0][1][0]; int monomialIndex_z = integralInfo.monomial_info.monomial_index_list[0][0][1]; for(int i = 0; i < noOfMonomials_1; i++) { primitiveIntegralList_h_components[0][i] = primitiveIntegralList_h[i*noOfMonomials_2+monomialIndex_x]; primitiveIntegralList_h_components[1][i] = primitiveIntegralList_h[i*noOfMonomials_2+monomialIndex_y]; primitiveIntegralList_h_components[2][i] = primitiveIntegralList_h[i*noOfMonomials_2+monomialIndex_z]; } ergo_real primitiveIntegralList_2_components[3][noOfMonomials_1]; for(int i = 0; i < 3; i++) integralInfo.multiply_by_hermite_conversion_matrix_from_right(n1b, n2b, 1.0/alpha1, primitiveIntegralList_h_components[i], primitiveIntegralList_2_components[i]); int n1x = distr->monomialInts[0]; int n1y = distr->monomialInts[1]; int n1z = distr->monomialInts[2]; int monomialIndex = integralInfo.monomial_info.monomial_index_list[n1x][n1y][n1z]; ergo_real value_x = currAtom->charge * distr->coeff * primitiveIntegralList_2_components[0][monomialIndex]; ergo_real value_y = currAtom->charge * distr->coeff * primitiveIntegralList_2_components[1][monomialIndex]; ergo_real value_z = currAtom->charge * distr->coeff * primitiveIntegralList_2_components[2][monomialIndex]; int pairIdx = list[id].pairIdx; ergo_real extraFactor = 1.0; if(basisFuncIndexPairList[pairIdx].index_1 != basisFuncIndexPairList[pairIdx].index_2) extraFactor = 2.0; ergo_real densityMatrixElement = D_list[list[id].pairIdx]; int atomIndex = atomPermutation[currBox->basicBox.firstItemIndex + ia]; #ifdef _OPENMP #pragma omp critical #endif { result_gradient_list[atomIndex*3+0] += -1 * value_x * densityMatrixElement * extraFactor; result_gradient_list[atomIndex*3+1] += -1 * value_y * densityMatrixElement * extraFactor; result_gradient_list[atomIndex*3+2] += -1 * value_z * densityMatrixElement * extraFactor; } } } } return 0; } // Go to next level int noOfChildren = currBox->basicBox.noOfChildBoxes; for(int i = 0; i < noOfChildren; i++) { int childBoxIndex = currBox->basicBox.firstChildBoxIndex + i; if(do_interaction_recursive(integralInfo, V_list, noOfBasisFuncIndexPairs, basisFuncIndexPairList, list, nDistrs, multipoleList, maxMomentVectorNormForDistrsList, maxNoOfMomentsForDistrs, maxDegreeForDistrs, distrExtent, atomListReordered, atomPermutation, threshold, boxList, interactor, childBoxIndex, currLevel + 1, numberOfLevels, compute_gradient_also, D_list, result_gradient_list) != 0) return -1; } // END FOR i return 0; } static int get_list_of_distrs_for_V(const BasisInfoStruct& basisInfo, const basis_func_index_pair_struct_1el* basisFuncIndexPairList, int noOfBasisFuncIndexPairs, ergo_real threshold, ergo_real maxCharge, DistributionSpecStructWithPairIdx* resultList, int maxCountResult) { int distrCount = 0; for(int kk = 0; kk < noOfBasisFuncIndexPairs; kk++) { int i = basisFuncIndexPairList[kk].index_1; int j = basisFuncIndexPairList[kk].index_2; const int maxCountProduct = POLY_PRODUCT_MAX_DISTRS; DistributionSpecStruct psi_list[maxCountProduct]; /* form product of basisfuncs i and j, store product in psi_list */ int n_psi = get_product_simple_primitives(basisInfo, i, basisInfo, j, psi_list, maxCountProduct, 0); if(n_psi < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_primitives"); return -1; } for(int k = 0; k < n_psi; k++) { // now take care of psi_list[k] // Here, we estimate the largest possible contribution to V from this distr as (maxCharge * 2 * pi * coeff / exponent). DistributionSpecStruct* prim = &psi_list[k]; ergo_real maxContrib = std::fabs(maxCharge * 2 * pi * prim->coeff / prim->exponent); if(maxContrib > threshold) { if(maxCountResult > 0 && distrCount >= maxCountResult) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_list_of_distrs_for_V: (maxCountResult > 0 && distrCount >= maxCountResult)."); return -1; } if(resultList != NULL) { resultList[distrCount].distr = *prim; resultList[distrCount].pairIdx = kk; } distrCount++; } // END IF above threshold } // END FOR k } // END FOR kk return distrCount; } static int compare_distrs(const void* p1, const void* p2) { DistributionSpecStructWithPairIdx* d1 = (DistributionSpecStructWithPairIdx*)p1; DistributionSpecStructWithPairIdx* d2 = (DistributionSpecStructWithPairIdx*)p2; /* FIXME: Not nice to have these two hardcoded values here. */ const ergo_real tolernance_dist = 1e-10; const ergo_real tolernance_exponent = 1e-11; ergo_real dx = d1->distr.centerCoords[0] - d2->distr.centerCoords[0]; if(dx > tolernance_dist) return 1; if(dx < -tolernance_dist) return -1; ergo_real dy = d1->distr.centerCoords[1] - d2->distr.centerCoords[1]; if(dy > tolernance_dist) return 1; if(dy < -tolernance_dist) return -1; ergo_real dz = d1->distr.centerCoords[2] - d2->distr.centerCoords[2]; if(dz > tolernance_dist) return 1; if(dz < -tolernance_dist) return -1; ergo_real de = d1->distr.exponent - d2->distr.exponent; if(de > tolernance_exponent) return 1; if(de < -tolernance_exponent) return -1; return 0; } static int sort_distr_list(DistributionSpecStructWithPairIdx* list, int n) { qsort(list, n, sizeof(DistributionSpecStructWithPairIdx), compare_distrs); return 0; } typedef struct { int startIndex; int count; } group_struct; static ergo_real getSafeMaxDistance(const BasisInfoStruct& basisInfo, const Molecule& molecule) { ergo_real minCoords[3]; ergo_real maxCoords[3]; for(int k = 0; k < 3; k++) { minCoords[k] = basisInfo.basisFuncList[0].centerCoords[k]; maxCoords[k] = basisInfo.basisFuncList[0].centerCoords[k]; } for(int i = 0; i < basisInfo.noOfBasisFuncs; i++) { for(int k = 0; k < 3; k++) { ergo_real x = basisInfo.basisFuncList[i].centerCoords[k]; if(x < minCoords[k]) minCoords[k] = x; if(x > maxCoords[k]) maxCoords[k] = x; } } for(int i = 0; i < molecule.getNoOfAtoms(); i++) { for(int k = 0; k < 3; k++) { ergo_real x = molecule.getAtom(i).coords[k]; if(x < minCoords[k]) minCoords[k] = x; if(x > maxCoords[k]) maxCoords[k] = x; } } ergo_real sum = 0; for(int k = 0; k < 3; k++) { ergo_real dx = maxCoords[k] - minCoords[k]; sum += dx*dx; } ergo_real maxDistance = std::sqrt(sum); return maxDistance; } int compute_V_and_gradient_linear(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, const Molecule& molecule, ergo_real threshold, ergo_real boxSize, const basis_func_index_pair_struct_1el* basisFuncIndexPairList, ergo_real* V_list, int noOfBasisFuncIndexPairs, bool compute_gradient_also, const ergo_real* D_list, // List of corresponding density matrix elemets; used for compute_gradient_also case, NULL otherwise ergo_real* gradient_list // list of result gradient values; used for compute_gradient_also case, NULL otherwise ) { int errorCount = 0; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_V_and_gradient_linear start, compute_gradient_also = %d.", compute_gradient_also); Util::TimeMeter timeMeterTotal; Util::TimeMeter timeMeterInitPart; // Get maxCharge ergo_real maxCharge = 0; for(int i = 0; i < molecule.getNoOfAtoms(); i++) { ergo_real currCharge = molecule.getAtom(i).charge; if(currCharge > maxCharge) maxCharge = currCharge; } // Create list of distributions int nDistrs = get_list_of_distrs_for_V(basisInfo, basisFuncIndexPairList, noOfBasisFuncIndexPairs, threshold, maxCharge, NULL, 0); if(nDistrs <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_V_and_gradient_linear: (nDistrs <= 0)."); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_V_and_gradient_linear nDistrs = %9i", nDistrs); std::vector list(nDistrs); if(get_list_of_distrs_for_V(basisInfo, basisFuncIndexPairList, noOfBasisFuncIndexPairs, threshold, maxCharge, &list[0], nDistrs) != nDistrs) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_V_and_gradient_linear, in get_list_of_distrs_for_V."); return -1; } // Sort list of distrs by x, y, z, exponent. // The point of this is to group together distrs that have same center and same exponent. sort_distr_list(&list[0], nDistrs); // identify groups of distrs that have same center and same exponent. // Allocate according to worst case, each distr being a separate group. std::vector groupList(nDistrs); int ind = 0; int currGroupInd = 0; int groupCount = 0; int maxNDistrsPerGroup = 0; while(ind < nDistrs) { ind++; if(ind < nDistrs) { if(compare_distrs(&list[ind], &list[currGroupInd]) == 0) continue; } // define new group groupList[groupCount].startIndex = currGroupInd; groupList[groupCount].count = ind - currGroupInd; if (groupList[groupCount].count > maxNDistrsPerGroup) maxNDistrsPerGroup = groupList[groupCount].count; groupCount++; // start next group currGroupInd = ind; } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_V_and_gradient_linear groupCount = %9i", groupCount); init_multipole_code(); // Get maxDistance taking into account both molecule and basis set, // to cover cases where basis functions are placed on other places than on the atoms. ergo_real maxDistance = getSafeMaxDistance(basisInfo, molecule); // Add small margin to handle cases where maxDistance=0 maxDistance += 0.1; // Add some more margin that can be needed when multipoles end up somewhat further away when placed at box centers. maxDistance += 5.0; mm_limits_init(maxDistance); // Note that boxList and atomListReordered are allocated by create_nuclei_mm_tree, // we must remember to free them in the end. BoxSystem boxSystem; std::vector atomPermutation(molecule.getNoOfAtoms()); atom_box_struct* boxList = NULL; Atom *atomListReordered = NULL; int numberOfLevels = -1; if(create_nuclei_mm_tree(molecule.getNoOfAtoms(), molecule.getAtomListPtr(), boxSize, boxSystem, &boxList, &numberOfLevels, &atomListReordered, &atomPermutation[0], compute_gradient_also) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "create_nuclei_mm_tree failed"); return -1; } timeMeterInitPart.print(LOG_AREA_INTEGRALS, "compute_V_and_gradient_linear init part (including create_nuclei_mm_tree)"); Util::TimeMeter timeMeterMainPart; const JK::ExchWeights CAM_params_not_used; #ifdef _OPENMP #pragma omp parallel #endif { MMInteractor interactor; ergo_real *private_V_list = V_list; ergo_real* private_gradient_list = gradient_list; multipole_struct_small* multipoleList = new multipole_struct_small[maxNDistrsPerGroup]; #ifdef _OPENMP if (omp_get_thread_num() != 0) { private_V_list = new ergo_real[noOfBasisFuncIndexPairs]; if(compute_gradient_also) private_gradient_list = new ergo_real[3*molecule.getNoOfAtoms()]; } #endif memset(private_V_list, 0, noOfBasisFuncIndexPairs*sizeof(ergo_real)); if(compute_gradient_also) memset(private_gradient_list, 0, 3*molecule.getNoOfAtoms()*sizeof(ergo_real)); #ifdef _OPENMP #pragma omp for #endif for(int groupIndex = 0; groupIndex < groupCount; groupIndex++) { DistributionSpecStructWithPairIdx* currList = &list[groupList[groupIndex].startIndex]; int nDistrsCurrGroup = groupList[groupIndex].count; // Create multipoles for distrs in this group. memset(multipoleList, 0, nDistrsCurrGroup*sizeof(multipole_struct_small)); for(int i = 0; i < nDistrsCurrGroup; i++) { compute_multipole_moments(integralInfo, &currList[i].distr, &multipoleList[i]); } int maxNoOfMoments = 0; int maxDegree = 0; ergo_real maxMomentVectorNormForDistrsList[MAX_MULTIPOLE_DEGREE_BASIC+1]; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) maxMomentVectorNormForDistrsList[l] = 0; for(int i = 0; i < nDistrsCurrGroup; i++) { if(multipoleList[i].noOfMoments > maxNoOfMoments) maxNoOfMoments = multipoleList[i].noOfMoments; if(multipoleList[i].degree > maxDegree) maxDegree = multipoleList[i].degree; const multipole_struct_small* distrMultipole = &multipoleList[i]; for(int l = 0; l <= distrMultipole->degree; l++) { int startIndex = l*l; int endIndex = (l+1)*(l+1); ergo_real sum = 0; for(int A = startIndex; A < endIndex; A++) sum += distrMultipole->momentList[A]*distrMultipole->momentList[A]; ergo_real subNorm = std::sqrt(sum); if(subNorm > maxMomentVectorNormForDistrsList[l]) maxMomentVectorNormForDistrsList[l] = subNorm; } } // Here we use an extent such that beyond the extent the abs // value of any distr is smaller than threshold/maxCharge. ergo_real maxabscoeff = 0; for(int i = 0; i < nDistrsCurrGroup; i++) { ergo_real abscoeff = std::fabs(currList[i].distr.exponent); if(abscoeff > maxabscoeff) maxabscoeff = abscoeff; } ergo_real exponent = currList[0].distr.exponent; // all exponents in group are equal anyway. ergo_real R2 = -1 * (1/exponent) * std::log(threshold/(maxabscoeff*maxCharge)); if(R2 < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_V_and_gradient_linear, (R2 < 0) when computing extent."); #ifdef _OPENMP #pragma omp atomic #endif errorCount++; continue; } ergo_real extent = std::sqrt(R2); // Take care of interaction of this group with MM tree if(do_interaction_recursive(integralInfo, private_V_list, noOfBasisFuncIndexPairs, basisFuncIndexPairList, currList, nDistrsCurrGroup, multipoleList, maxMomentVectorNormForDistrsList, maxNoOfMoments, maxDegree, extent, atomListReordered, &atomPermutation[0], threshold, boxList, interactor, 0, 0, numberOfLevels, compute_gradient_also, D_list, private_gradient_list) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in do_interaction_recursive"); #ifdef _OPENMP #pragma omp atomic #endif errorCount++; continue; } } #ifdef _OPENMP if(omp_get_thread_num() != 0) { /* collect data from different threads. */ #pragma omp critical { for(int i=0; ibasicBox.noOfItems; // Go through all atoms in this box for(int j = 0; j < noOfAtomsCurrBox; j++) { int atomIndex = atomPermutation[currBox->basicBox.firstItemIndex + j]; for(int coordIdx = 0; coordIdx < 3; coordIdx++) { for(int k = 0; k < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; k++) { ergo_real multipole_moment_derivative = currBox->multipole_moment_derivatives[j*MAX_NO_OF_MOMENTS_PER_MULTIPOLE*3 + MAX_NO_OF_MOMENTS_PER_MULTIPOLE*coordIdx + k]; ergo_real derivative_wrt_multipole_moment = currBox->derivatives_wrt_multipole_moments[k]; ergo_real gradient_contrib = multipole_moment_derivative * derivative_wrt_multipole_moment; gradient_list[atomIndex*3+coordIdx] += gradient_contrib; } // end for k } // end for coordIdx } // end for j } // end for boxIdx timeMeterGradientMultipolePart.print(LOG_AREA_INTEGRALS, "compute_V_and_gradient_linear gradient multipole contributions part"); // Update gradient with nuclear-nuclear energy contribution Util::TimeMeter timeMeterNuclearRepulsionEnergyGradientContrib; molecule.getNuclearRepulsionEnergyGradientContrib(gradient_list); timeMeterNuclearRepulsionEnergyGradientContrib.print(LOG_AREA_INTEGRALS, "compute_V_and_gradient_linear getNuclearRepulsionEnergyGradientContrib"); // Cleanup: delete buffers that were allocated during creation of multipole tree for(int boxIdx = 0; boxIdx < boxSystem.totNoOfBoxes; boxIdx++) { atom_box_struct* currBox = &boxList[boxIdx]; delete [] currBox->multipole_moment_derivatives; currBox->multipole_moment_derivatives = NULL; delete [] currBox->derivatives_wrt_multipole_moments; currBox->derivatives_wrt_multipole_moments = NULL; } } // end if compute_gradient_also delete [] boxList; delete [] atomListReordered; timeMeterTotal.print(LOG_AREA_INTEGRALS, "compute_V_and_gradient_linear total"); return -errorCount; } static ergo_real simplePrimVintegralSingle(DistributionSpecStruct* prim, const Atom* atom, const IntegralInfo & integralInfo) { ergo_real result2 = do_1e_repulsion_integral_using_symb_info(prim, atom->charge, atom->coords, integralInfo); return result2; } ergo_real simplePrimVintegral_list(DistributionSpecStruct* list, int nPrims, const Atom* atom, ergo_real threshold, const IntegralInfo & integralInfo) { int k; ergo_real sum; sum = 0; for(k = 0; k < nPrims; k++) { DistributionSpecStruct* currDistr = &list[k]; sum += simplePrimVintegralSingle(currDistr, atom, integralInfo); } /* END FOR k */ return sum; } int compute_V_matrix_full(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, int nAtoms, const Atom* atomList, ergo_real threshold, ergo_real* result) { int mu, nu, A, j, k, nbast; nbast = basisInfo.noOfBasisFuncs; for(mu = 0; mu < nbast; mu++) { BasisFuncStruct* basisFunc_mu = &basisInfo.basisFuncList[mu]; int n_mu = basisFunc_mu->noOfSimplePrimitives; int start_prim_mu = basisFunc_mu->simplePrimitiveIndex; DistributionSpecStruct* list_mu = &basisInfo.simplePrimitiveList[start_prim_mu]; for(nu = 0; nu <= mu; nu++) { BasisFuncStruct* basisFunc_nu = &basisInfo.basisFuncList[nu]; int n_nu = basisFunc_nu->noOfSimplePrimitives; int start_prim_nu = basisFunc_nu->simplePrimitiveIndex; DistributionSpecStruct* list_nu = &basisInfo.simplePrimitiveList[start_prim_nu]; /* compute matrix element [mu,nu] */ ergo_real sum = 0; for(j = 0; j < n_mu; j++) { DistributionSpecStruct & prim_mu_j = list_mu[j]; for(k = 0; k < n_nu; k++) { DistributionSpecStruct & prim_nu_k = list_nu[k]; const int maxDistrsInTempList = 888; DistributionSpecStruct tempList[maxDistrsInTempList]; int nNewPrims = get_product_simple_prims(prim_mu_j, prim_nu_k, tempList, maxDistrsInTempList, threshold); if(nNewPrims < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_prims"); exit(0); } /* now loop over atoms */ for(A = 0; A < nAtoms; A++) { sum += simplePrimVintegral_list(tempList, nNewPrims, &atomList[A], threshold, integralInfo); } /* END FOR A */ } /* END FOR k */ } /* END FOR j */ result[mu*nbast+nu] = -1 * sum; } /* END FOR nu */ } /* END FOR mu */ // copy values to the other triangle for(mu = 0; mu < nbast; mu++) for(nu = mu+1; nu < nbast; nu++) result[mu*nbast+nu] = result[nu*nbast+mu]; return 0; } ergo-3.5/source/integrals/integrals_2el_single.h0000664000175000017500000000272412743400307017001 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "basisinfo.h" #include "integrals_hermite.h" ergo_real do_2e_integral_using_symb_info(const JK::ExchWeights & CAM_params, const DistributionSpecStruct* psi1, const DistributionSpecStruct* psi2, const IntegralInfo & integralInfo); ergo-3.5/source/integrals/integrals_2el_layer.cc0000664000175000017500000002710712743400307016774 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include "integrals_2el_layer.h" #include "integrals_2el.h" #include "integrals_2el_boxed.h" #include "integrals_2el_coulomb.h" #include "integrals_2el_exchange.h" #include "utilities.h" #include "output.h" #include "memorymanag.h" #include "densityfitting.h" static ergo_real* difdenSavedDensityMatrix = NULL; static ergo_real* difdenSavedResultFockMatrix = NULL; static int difdensCount = 0; int compute_2e_matrix_list_difden(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, ergo_real** resultList, ergo_real** densList, int noOfMatrices, const JK::Params& J_K_params) { if(noOfMatrices != 1) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_2e_matrix_list_difden: (noOfMatrices != 1) not implemented!"); return -1; } ergo_real* dens = densList[0]; int n = basisInfo.noOfBasisFuncs; if(difdensCount == 10) { do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "restarting differential density procedure"); ergo_free(difdenSavedDensityMatrix); difdenSavedDensityMatrix = NULL; ergo_free(difdenSavedResultFockMatrix); difdenSavedResultFockMatrix = NULL; difdensCount = 0; } if(difdenSavedDensityMatrix == NULL) { // first time if(compute_2e_matrix_list(basisInfo, integralInfo, CAM_params, resultList, densList, noOfMatrices, J_K_params) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_2e_matrix_list in compute_2e_matrix_list_difden"); return -1; } difdenSavedDensityMatrix = (ergo_real*)ergo_malloc(n*n*sizeof(ergo_real)); difdenSavedResultFockMatrix = (ergo_real*)ergo_malloc(n*n*sizeof(ergo_real)); memcpy(difdenSavedDensityMatrix, densList[0], n*n*sizeof(ergo_real)); memcpy(difdenSavedResultFockMatrix, resultList[0], n*n*sizeof(ergo_real)); return 0; } // compute difference between current density matrix and saved density matrix ergo_real* densDiff = (ergo_real*)ergo_malloc(n*n*sizeof(ergo_real)); int i; for(i = 0; i < n*n; i++) densDiff[i] = dens[i] - difdenSavedDensityMatrix[i]; // get max abs diff ergo_real maxabsdiff = 0; for(i = 0; i < n*n; i++) { ergo_real currAbs = std::fabs(densDiff[i]); if(currAbs > maxabsdiff) maxabsdiff = currAbs; } if(maxabsdiff > 0.1) { do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "maxabsdiff = %22.11f, too large, not using differential density this time", (double)maxabsdiff); if(compute_2e_matrix_list(basisInfo, integralInfo, CAM_params, resultList, densList, noOfMatrices, J_K_params) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_2e_matrix_list in compute_2e_matrix_list_difden"); return -1; } memcpy(difdenSavedDensityMatrix, densList[0], n*n*sizeof(ergo_real)); memcpy(difdenSavedResultFockMatrix, resultList[0], n*n*sizeof(ergo_real)); ergo_free(densDiff); return 0; } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "using differential density, maxabsdiff = %22.11f", (double)maxabsdiff); // rescale densDiff ergo_real scaleFactor = maxabsdiff; for(i = 0; i < n*n; i++) densDiff[i] /= scaleFactor; // Create temporary J_K_params with modified thresholds. JK::Params J_K_params_mod = J_K_params; J_K_params_mod.threshold_J = J_K_params.threshold_J / maxabsdiff; J_K_params_mod.threshold_K = J_K_params.threshold_K / maxabsdiff; if(J_K_params_mod.threshold_J > 1e-5) J_K_params_mod.threshold_J = 1e-5; if(J_K_params_mod.threshold_K > 1e-5) J_K_params_mod.threshold_K = 1e-5; // Compute Fock matrix from densDiff if(compute_2e_matrix_list(basisInfo, integralInfo, CAM_params, resultList, &densDiff, noOfMatrices, J_K_params_mod) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_2e_matrix_list in compute_2e_matrix_list_difden"); return -1; } // add saved result for(i = 0; i < n*n; i++) resultList[0][i] = resultList[0][i] * scaleFactor + difdenSavedResultFockMatrix[i]; memcpy(difdenSavedDensityMatrix, densList[0], n*n*sizeof(ergo_real)); memcpy(difdenSavedResultFockMatrix, resultList[0], n*n*sizeof(ergo_real)); difdensCount++; ergo_free(densDiff); return 0; } int compute_2e_matrix_list(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, ergo_real** resultList, ergo_real** densList, int noOfMatrices, const JK::Params& J_K_params) { const int maxNoOfMatrices = 100; int i, j; ergo_real* Jlist[maxNoOfMatrices]; int nbast = basisInfo.noOfBasisFuncs; if(noOfMatrices > maxNoOfMatrices) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_2e_matrix_list: (noOfMatrices > maxNoOfMatrices)\n"); return -1; } for(i = 0; i < noOfMatrices; i++) Jlist[i] = (ergo_real*)ergo_malloc(nbast*nbast*sizeof(ergo_real)); // Use smallest of threshold_J and threshold_K in case of common J/K computation. ergo_real threshold_JK = J_K_params.threshold_J; if(J_K_params.threshold_K < threshold_JK) threshold_JK = J_K_params.threshold_K; if(noOfMatrices > 1) { if(CAM_params.computeRangeSeparatedExchange) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error : compute_JK_single_box cannot be used when CAM params are used." "To avoid this problem, set FMM flag."); return -1; } if(compute_JK_single_box(basisInfo, integralInfo, Jlist[0], resultList[0], densList[0], threshold_JK) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_JK_single_box"); return -1; } if(compute_JK_single_box(basisInfo, integralInfo, Jlist[1], resultList[1], densList[1], threshold_JK) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_JK_single_box"); return -1; } } else { if(J_K_params.use_fmm == 1) { // FMM for J if(compute_J_by_boxes(basisInfo, integralInfo, J_K_params, Jlist[0], densList[0]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_J_by_boxes"); return -1; } // exchange // first set result buffer to zero memset(resultList[0], 0, nbast*nbast*sizeof(ergo_real)); if(compute_K_by_boxes(basisInfo, integralInfo, CAM_params, J_K_params, resultList[0], NULL, densList[0], NULL, 1) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_K_by_boxes"); return -1; } } else { // "single box" if(CAM_params.computeRangeSeparatedExchange) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error : compute_JK_single_box cannot be used when CAM params are used." "To avoid this problem, set FMM flag."); return -1; } if(compute_JK_single_box(basisInfo, integralInfo, Jlist[0], resultList[0], densList[0], threshold_JK) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_JK_single_box"); return -1; } } // Now the matrix K is stored in resultList[0]. // Multiply it by exch_weight. int n = basisInfo.noOfBasisFuncs; for(i = 0; i < n*n; i++) resultList[0][i] *= CAM_params.alpha; } if(noOfMatrices == 1) { // output Tr(DJ) ergo_real sum = 0; int i, k; for(i = 0; i < nbast; i++) for(k = 0; k < nbast; k++) sum += densList[0][i*nbast+k] * Jlist[0][k*nbast+i]; ergo_real TraceOfDJ = sum; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "Tr(DJ) = %22.11f", (double)TraceOfDJ); } // Add J and K to form final result. for(j = 0; j < noOfMatrices; j++) for(i = 0; i < nbast*nbast; i++) resultList[j][i] += Jlist[j][i]; for(j = 0; j < noOfMatrices; j++) ergo_free(Jlist[j]); return 0; } int compute_2e_matrix_exchange(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, ergo_real* K, ergo_real* dens, ergo_real threshold) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error : compute_2e_matrix_exchange not implemented.\n"); return -1; } int compute_2e_matrices_exchange(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, int noOfMatrices, ergo_real** K_list, ergo_real** D_list, ergo_real threshold) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error : compute_2e_matrices_exchange not implemented.\n"); return -1; } int compute_2e_matrix_coulomb(const BasisInfoStruct & basisInfo, const BasisInfoStruct & basisInfoDensFit, const IntegralInfo & integralInfo, ergo_real* J, ergo_real* dens, const JK::Params& J_K_params, DensfitData* df_data) { if(J_K_params.use_densfit_for_J == 1) { ergo_real* gamma = ergo_new(basisInfoDensFit.noOfBasisFuncs,ergo_real); if(densfit_compute_gamma(&integralInfo, basisInfo, basisInfoDensFit, dens, gamma, J_K_params.threshold_J) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in densfit_compute_gamma"); return -1; } ergo_real* c_vector = ergo_new(basisInfoDensFit.noOfBasisFuncs, ergo_real); if(densfit_compute_c_vector(&integralInfo, basisInfoDensFit, df_data, gamma, c_vector) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in densfit_compute_c_vector"); return -1; } if(densfit_compute_J(&integralInfo, basisInfo, basisInfoDensFit, c_vector, J, J_K_params.threshold_J) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in densfit_compute_J"); return -1; } ergo_free(gamma); ergo_free(c_vector); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "J matrix construction using density fitting complete."); } else { // FMM do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "calling compute_J_by_boxes"); if(compute_J_by_boxes(basisInfo, integralInfo, J_K_params, J, dens) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_J_by_boxes"); return -1; } } return 0; } ergo-3.5/source/integrals/integrals_1el_potential.h0000664000175000017500000000451112743400307017512 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_1EL_POTENTIAL #define INTEGRALS_1EL_POTENTIAL #include "basisinfo.h" #include "basis_func_pair_list_1el.h" ergo_real simplePrimVintegral_list(DistributionSpecStruct* list, int nPrims, const Atom* atom, ergo_real threshold, const IntegralInfo & integralInfo); int compute_V_matrix_full(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, int nAtoms, const Atom* atomList, ergo_real threshold, ergo_real* result); int compute_V_and_gradient_linear(const BasisInfoStruct& basisInfo, const IntegralInfo& integralInfo, const Molecule& molecule, ergo_real threshold, ergo_real boxSize, const basis_func_index_pair_struct_1el* basisFuncIndexPairList, ergo_real* V_list, int noOfBasisFuncIndexPairs, bool compute_gradient_also, const ergo_real* D_list, // List of corresponding density matrix elemets; used for compute_gradient_also case, NULL otherwise ergo_real* result_gradient_list // list of result gradient values; used for compute_gradient_also case, NULL otherwise ); #endif ergo-3.5/source/integrals/integrals_2el_exchange_prep.h0000664000175000017500000000311612743400307020324 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_2EL_EXCHANGE_PREP_HEADER #define INTEGRALS_2EL_EXCHANGE_PREP_HEADER #include "basisinfo.h" #include "integrals_2el.h" #include "csr_matrix.h" int create_CSR_for_K(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::Params& J_K_params, csr_matrix_struct* dens_CSR, csr_matrix_struct* K_CSR, int symmetryFlag); #endif ergo-3.5/source/integrals/integrals_1el.cc0000664000175000017500000000577312743400307015604 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* Written by Elias Rudberg */ #include #include #include #include #include #include #include #include #include "integrals_1el.h" #include "integrals_1el_kinetic.h" #include "integrals_1el_potential.h" #include "memorymanag.h" #include "pi.h" #include "output.h" #include "utilities.h" #include "integral_info.h" int compute_h_core_matrix_full(const IntegralInfo& integralInfo, const BasisInfoStruct& basisInfo, int nAtoms, const Atom* atomList, ergo_real* result, ergo_real threshold) { Util::TimeMeter timeMeterTot; int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "entering compute_h_core_matrix_full, nAtoms = %i, n = %i, threshold = %g", nAtoms, n, (double)threshold); /* compute T */ std::vector T(n*n); for(int i = 0 ; i < n*n; i++) T[i] = 0; Util::TimeMeter timeMeterT; if(compute_T_matrix_full(basisInfo, threshold, &T[0]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_T_matrix\n"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_T_matrix ending OK."); timeMeterT.print(LOG_AREA_INTEGRALS, "compute_T_matrix_full"); /* compute V */ std::vector V(n*n); for(int i = 0 ; i < n*n; i++) V[i] = 0; if(compute_V_matrix_full(basisInfo, integralInfo, nAtoms, atomList, threshold, &V[0]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_V_matrix\n"); return -1; } for(int i = 0 ; i < n*n; i++) result[i] = T[i] + V[i]; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_h_core_matrix_full ending OK."); timeMeterTot.print(LOG_AREA_INTEGRALS, "compute_h_core_matrix_full"); return 0; } ergo-3.5/source/integrals/hermite_conversion_explicit.cc0000664000175000017500000002244212743400307020646 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include "hermite_conversion_symb.h" #include "output.h" int get_hermite_conversion_matrix(const monomial_info_struct* monomial_info, int nmax, int inverseFlag, ergo_real exponent, ergo_real* result) { int noOfMonomials = monomial_info->no_of_monomials_list[nmax]; symb_matrix_element result_symb[noOfMonomials*noOfMonomials]; get_hermite_conversion_matrix_symb(monomial_info, nmax, inverseFlag, result_symb); for(int i = 0; i < noOfMonomials*noOfMonomials; i++) { ergo_real factor = std::pow(exponent, result_symb[i].ia); result[i] = result_symb[i].coeff * factor; } return 0; } #if 0 typedef struct { int ix; ergo_real coeff; } poly_1d_term_struct; #define MAX_NO_OF_1D_TERMS 888 typedef struct { int noOfTerms; poly_1d_term_struct termList[MAX_NO_OF_1D_TERMS]; } poly_1d_struct; typedef struct { int monomialInts[3]; ergo_real coeff; } poly_3d_term_struct; #define MAX_NO_OF_3D_TERMS 888 typedef struct { int noOfTerms; poly_3d_term_struct termList[MAX_NO_OF_3D_TERMS]; } poly_3d_struct; static int get_1d_hermite_poly(poly_1d_struct* result, int n, ergo_real a) { switch(n) { case 0: result->noOfTerms = 1; result->termList[0].ix = 0; result->termList[0].coeff = 1; break; case 1: result->noOfTerms = 1; result->termList[0].ix = 1; result->termList[0].coeff = 2 * a; break; default: { // Create polys for n-1 and n-2 poly_1d_struct poly_n_m_1; poly_1d_struct poly_n_m_2; get_1d_hermite_poly(&poly_n_m_1, n - 1, a); get_1d_hermite_poly(&poly_n_m_2, n - 2, a); if(poly_n_m_1.noOfTerms + poly_n_m_2.noOfTerms >= MAX_NO_OF_1D_TERMS) { printf("error: (poly_n_m_1.noOfTerms + poly_n_m_2.noOfTerms >= MAX_NO_OF_1D_TERMS)\n"); exit(0); } // Now the result is 2*a*x*poly_n_m_1 - (n-1)*2*a*poly_n_m_2 int i; for(i = 0; i < poly_n_m_1.noOfTerms; i++) { result->termList[i] = poly_n_m_1.termList[i]; result->termList[i].ix++; result->termList[i].coeff *= 2 * a; } int nn = poly_n_m_1.noOfTerms; for(i = 0; i < poly_n_m_2.noOfTerms; i++) { result->termList[nn+i] = poly_n_m_2.termList[i]; result->termList[nn+i].coeff *= -2 * (n-1) * a; } result->noOfTerms = poly_n_m_1.noOfTerms + poly_n_m_2.noOfTerms; } } return 0; } static int get_1d_hermite_poly_inv(poly_1d_struct* result, int n, ergo_real a) { switch(n) { case 0: result->noOfTerms = 1; result->termList[0].ix = 0; result->termList[0].coeff = 1; break; case 1: result->noOfTerms = 1; result->termList[0].ix = 1; result->termList[0].coeff = 0.5 * a; break; default: { // Create polys for n-1 and n-2 poly_1d_struct poly_n_m_1; poly_1d_struct poly_n_m_2; get_1d_hermite_poly_inv(&poly_n_m_1, n - 1, a); get_1d_hermite_poly_inv(&poly_n_m_2, n - 2, a); if(poly_n_m_1.noOfTerms + poly_n_m_2.noOfTerms >= MAX_NO_OF_1D_TERMS) { printf("error: (poly_n_m_1.noOfTerms + poly_n_m_2.noOfTerms >= MAX_NO_OF_1D_TERMS)\n"); exit(0); } // Now the result is 0.5*a*x*poly_n_m_1 + (n-1)*a*0.5*poly_n_m_2 int i; for(i = 0; i < poly_n_m_1.noOfTerms; i++) { result->termList[i] = poly_n_m_1.termList[i]; result->termList[i].ix++; result->termList[i].coeff *= 0.5 * a; } int nn = poly_n_m_1.noOfTerms; for(i = 0; i < poly_n_m_2.noOfTerms; i++) { result->termList[nn+i] = poly_n_m_2.termList[i]; result->termList[nn+i].coeff *= (n-1) * 0.5 * a; } result->noOfTerms = poly_n_m_1.noOfTerms + poly_n_m_2.noOfTerms; } } return 0; } static int create_3d_poly_from_1d_poly(poly_3d_struct* poly_3d, poly_1d_struct* poly_1d, int coordIndex) { memset(poly_3d, 0, sizeof(poly_3d_struct)); int i; for(i = 0; i < poly_1d->noOfTerms; i++) { poly_3d->termList[i].coeff = poly_1d->termList[i].coeff; poly_3d->termList[i].monomialInts[coordIndex] = poly_1d->termList[i].ix; } poly_3d->noOfTerms = poly_1d->noOfTerms; return 0; } static int compute_product_of_3d_polys(poly_3d_struct* result, poly_3d_struct* poly_1, poly_3d_struct* poly_2) { int termCount = 0; int termidx_1, termidx_2; for(termidx_1 = 0; termidx_1 < poly_1->noOfTerms; termidx_1++) for(termidx_2 = 0; termidx_2 < poly_2->noOfTerms; termidx_2++) { poly_3d_term_struct* term_1 = &poly_1->termList[termidx_1]; poly_3d_term_struct* term_2 = &poly_2->termList[termidx_2]; // Create product term poly_3d_term_struct newTerm; newTerm.coeff = term_1->coeff * term_2->coeff; int k; for(k = 0; k < 3; k++) newTerm.monomialInts[k] = term_1->monomialInts[k] + term_2->monomialInts[k]; result->termList[termCount] = newTerm; termCount++; if(termCount >= MAX_NO_OF_3D_TERMS) { printf("ERROR: (termCount >= MAX_NO_OF_3D_TERMS)\n"); exit(0); } } // END FOR termidx_1 termidx_2 result->noOfTerms = termCount; return 0; } static int get_hermite_conversion_matrix(const IntegralInfo* integralInfo, int nmax, int inverseFlag, ergo_real exponent, ergo_real* result) { int noOfMonomials = integralInfo->monomial_info.no_of_monomials_list[nmax]; memset(result, 0, noOfMonomials*noOfMonomials*sizeof(ergo_real)); #if 1 symb_matrix_element result_symb[noOfMonomials*noOfMonomials]; get_hermite_conversion_matrix_symb(&integralInfo->monomial_info, nmax, inverseFlag, result_symb); for(int i = 0; i < noOfMonomials*noOfMonomials; i++) { ergo_real factor = std::pow(exponent, result_symb[i].ia); result[i] = result_symb[i].coeff * factor; } return 0; #endif int monomialIndex; for(monomialIndex = 0; monomialIndex < noOfMonomials; monomialIndex++) { // get monomialInts int ix = integralInfo->monomial_info.monomial_list[monomialIndex].ix; int iy = integralInfo->monomial_info.monomial_list[monomialIndex].iy; int iz = integralInfo->monomial_info.monomial_list[monomialIndex].iz; //printf("monomialIndex = %5i, ix, iy, iz = %2i %2i %2i\n", monomialIndex, ix, iy, iz); // Get x y z 1-d Hermite polynomials poly_1d_struct hermitePoly_1d_x; poly_1d_struct hermitePoly_1d_y; poly_1d_struct hermitePoly_1d_z; if(inverseFlag == 1) { get_1d_hermite_poly_inv(&hermitePoly_1d_x, ix, 1.0/exponent); get_1d_hermite_poly_inv(&hermitePoly_1d_y, iy, 1.0/exponent); get_1d_hermite_poly_inv(&hermitePoly_1d_z, iz, 1.0/exponent); } else { get_1d_hermite_poly(&hermitePoly_1d_x, ix, exponent); get_1d_hermite_poly(&hermitePoly_1d_y, iy, exponent); get_1d_hermite_poly(&hermitePoly_1d_z, iz, exponent); } // Store x y z Hermite polys as 3-d polys poly_3d_struct hermitePoly_3d_x; poly_3d_struct hermitePoly_3d_y; poly_3d_struct hermitePoly_3d_z; create_3d_poly_from_1d_poly(&hermitePoly_3d_x, &hermitePoly_1d_x, 0); create_3d_poly_from_1d_poly(&hermitePoly_3d_y, &hermitePoly_1d_y, 1); create_3d_poly_from_1d_poly(&hermitePoly_3d_z, &hermitePoly_1d_z, 2); // Compute product poly_3d_struct hermitePoly_3d_xy; poly_3d_struct hermitePoly_3d_xyz; compute_product_of_3d_polys(&hermitePoly_3d_xy, &hermitePoly_3d_x, &hermitePoly_3d_y); compute_product_of_3d_polys(&hermitePoly_3d_xyz, &hermitePoly_3d_xy, &hermitePoly_3d_z); // Go through result product poly, for each term get monomialIndex and add // coeff to final result at position given by monomialIndex. int i; for(i = 0; i < hermitePoly_3d_xyz.noOfTerms; i++) { poly_3d_term_struct* currTerm = &hermitePoly_3d_xyz.termList[i]; // Get monomialIndex2 int ix = currTerm->monomialInts[0]; int iy = currTerm->monomialInts[1]; int iz = currTerm->monomialInts[2]; int monomialIndex2 = integralInfo->monomial_info.monomial_index_list[ix][iy][iz]; //printf("currTerm->coeff = %22.11f\n", currTerm->coeff); result[monomialIndex * noOfMonomials + monomialIndex2] += currTerm->coeff; } // END FOR i } // END FOR monomialIndex return 0; } #endif ergo-3.5/source/integrals/simple_sparse_mat.cc0000664000175000017500000000737712743400307016564 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "simple_sparse_mat.h" #include #include #include static int compare_i_j_val_structs(const void* p1, const void* p2) { i_j_val_struct* struct_1 = (i_j_val_struct*)p1; i_j_val_struct* struct_2 = (i_j_val_struct*)p2; const int returnValue1 = -1; const int returnValue2 = 1; if(struct_1->i < struct_2->i) return returnValue1; if(struct_1->i > struct_2->i) return returnValue2; if(struct_1->j < struct_2->j) return returnValue1; if(struct_1->j > struct_2->j) return returnValue2; return 0; } int spmat_sort_elements(i_j_val_struct* A, int nnzA) { qsort(A, nnzA, sizeof(i_j_val_struct), compare_i_j_val_structs); // Verify sort for(int k = 0; k < nnzA-1; k++) { if(A[k+1].i < A[k].i) throw std::runtime_error("ERROR in spmat_sort_elements: list not properly sorted."); } for(int k = 0; k < nnzA; k++) { // Check how many elements have the same i-value int kk = k; while(kk < nnzA) { if(A[kk].i != A[k].i) break; kk++; } // Now kk is the index of the first element found that does not have the same i-value (or kk==nnzA) A[k].same_i_count = kk - k; } return 0; } int spmat_multiply_matrices(const i_j_val_struct* A, int nnzA, const i_j_val_struct* B, int nnzB, i_j_val_struct* C, int M, int N) { i_j_val_struct* Cbuf = new i_j_val_struct[M*N]; int counters[M]; for(int i = 0; i < M; i++) counters[i] = 0; for(int idxA = 0; idxA < nnzA; idxA++) for(int idxB = 0; idxB < nnzB; idxB++) { if(A[idxA].j != B[idxB].i) continue; int i = A[idxA].i; int j = B[idxB].j; // OK, we have a contribution to C_i_j ergo_real contribValue = A[idxA].value * B[idxB].value; if(i < 0 || i >= M || j < 0 || j >= N) throw std::runtime_error("ERROR in multiply_matrices_sp: i, j out of bounds."); // Check if there is already an entry for this index pair. bool found = false; for(int k = 0; k < counters[i]; k++) { i_j_val_struct & p = Cbuf[i*N+k]; if(p.i == i && p.j == j) { p.value += contribValue; found = true; break; } } if(found == false) { if(counters[i] >= N) throw std::runtime_error("ERROR in multiply_matrices_sp: (counters[i] >= N)"); i_j_val_struct & p = Cbuf[i*N+counters[i]]; counters[i]++; p.i = i; p.j = j; p.same_i_count = 1; p.value = contribValue; } } // Now create final result in C int count = 0; for(int i = 0; i < M; i++) for(int k = 0; k < counters[i]; k++) { C[count] = Cbuf[i*N+k]; count++; } delete [] Cbuf; return count; } ergo-3.5/source/integrals/box_system.h0000664000175000017500000000447412743400307015106 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef BOX_SYSTEM_HEADER #define BOX_SYSTEM_HEADER #include "realtype.h" typedef struct { ergo_real centerCoords[3]; int originalIndex; } box_item_struct; typedef struct { ergo_real centerCoords[3]; ergo_real width; int noOfItems; int firstItemIndex; int noOfChildBoxes; int firstChildBoxIndex; } box_struct_basic; typedef struct { int noOfBoxes; int startIndexInBoxList; } box_level_struct; #define MAX_NO_OF_BOX_LEVELS 30 class BoxSystem { public: int totNoOfBoxes; int noOfLevels; box_level_struct levelList[MAX_NO_OF_BOX_LEVELS]; box_struct_basic* boxList; BoxSystem(); ~BoxSystem(); int create_box_system(box_item_struct* itemList, int noOfItems, ergo_real toplevelBoxSize); int get_items_near_point(const box_item_struct* itemList, const ergo_real* coords, ergo_real distance, int* resultOrgIndexList) const; private: int get_items_near_point_recursive(const box_item_struct* itemList, const ergo_real* coords, ergo_real distance, int* resultOrgIndexList, int level, int boxIndex) const; }; #endif ergo-3.5/source/integrals/Makefile.in0000664000175000017500000005366612743400352014615 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/integrals ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libintegrals_a_AR = $(AR) $(ARFLAGS) libintegrals_a_LIBADD = am_libintegrals_a_OBJECTS = basis_func_extent.$(OBJEXT) \ basis_func_extent_1el.$(OBJEXT) basis_func_pair_list.$(OBJEXT) \ basis_func_pair_list_1el.$(OBJEXT) box_system.$(OBJEXT) \ boysfunction.$(OBJEXT) densityfitting.$(OBJEXT) \ exponent_list.$(OBJEXT) hermite_conversion_explicit.$(OBJEXT) \ hermite_conversion_prep.$(OBJEXT) \ hermite_conversion_symb.$(OBJEXT) integral_info.$(OBJEXT) \ integrals_1el.$(OBJEXT) integrals_1el_kinetic.$(OBJEXT) \ integrals_1el_potential.$(OBJEXT) \ integrals_1el_single.$(OBJEXT) integrals_2el_boxed.$(OBJEXT) \ integrals_2el_coulomb.$(OBJEXT) \ integrals_2el_exchange.$(OBJEXT) \ integrals_2el_exchange_prep.$(OBJEXT) \ integrals_2el_explicit.$(OBJEXT) integrals_2el_layer.$(OBJEXT) \ integrals_2el_repeating.$(OBJEXT) \ integrals_2el_single.$(OBJEXT) \ integrals_2el_util_funcs.$(OBJEXT) \ integrals_2el_utils.$(OBJEXT) integrals_general.$(OBJEXT) \ integrals_hermite.$(OBJEXT) matrix_norm.$(OBJEXT) \ mm_limit_table.$(OBJEXT) monomial_info.$(OBJEXT) \ multipole.$(OBJEXT) operator_matrix.$(OBJEXT) \ organize_distrs.$(OBJEXT) simple_sparse_mat.$(OBJEXT) libintegrals_a_OBJECTS = $(am_libintegrals_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libintegrals_a_SOURCES) DIST_SOURCES = $(libintegrals_a_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libintegrals.a libintegrals_a_SOURCES = \ basis_func_extent.cc \ basis_func_extent.h \ basis_func_extent_1el.cc \ basis_func_extent_1el.h \ basis_func_pair_list.cc \ basis_func_pair_list.h \ basis_func_pair_list_1el.cc \ basis_func_pair_list_1el.h \ box_system.cc \ box_system.h \ boysfunction.cc \ boysfunction.h \ densityfitting.cc \ densityfitting.h \ exponent_list.cc \ exponent_list.h \ hermite_conversion_explicit.cc \ hermite_conversion_explicit.h \ hermite_conversion_prep.cc \ hermite_conversion_prep.h \ hermite_conversion_symb.cc \ hermite_conversion_symb.h \ integral_info.cc \ integral_info.h \ integrals_1el.cc \ integrals_1el.h \ integrals_1el_kinetic.cc\ integrals_1el_kinetic.h \ integrals_1el_potential.cc \ integrals_1el_potential.h \ integrals_1el_single.cc \ integrals_1el_single.h \ integrals_2el.h \ integrals_2el_boxed.cc \ integrals_2el_boxed.h \ integrals_2el_coulomb.cc \ integrals_2el_coulomb.h \ integrals_2el_exchange.cc \ integrals_2el_exchange.h \ integrals_2el_exchange_prep.cc \ integrals_2el_exchange_prep.h \ integrals_2el_explicit.cc \ integrals_2el_explicit.h \ integrals_2el_layer.cc \ integrals_2el_layer.h \ integrals_2el_repeating.cc \ integrals_2el_repeating.h \ integrals_2el_single.cc \ integrals_2el_single.h \ integrals_2el_util_funcs.cc \ integrals_2el_util_funcs.h \ integrals_2el_utils.cc \ integrals_2el_utils.h \ integrals_general.cc \ integrals_general.h \ integrals_hermite.cc \ integrals_hermite.h \ matrix_norm.cc \ matrix_norm.h \ mm_limit_table.cc \ mm_limit_table.h \ monomial_info.cc \ monomial_info.h \ multipole.cc \ multipole.h \ operator_matrix.cc \ operator_matrix.h \ organize_distrs.cc \ organize_distrs.h \ simple_sparse_mat.cc \ simple_sparse_mat.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack all: all-am .SUFFIXES: .SUFFIXES: .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/integrals/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/integrals/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libintegrals.a: $(libintegrals_a_OBJECTS) $(libintegrals_a_DEPENDENCIES) $(EXTRA_libintegrals_a_DEPENDENCIES) $(AM_V_at)-rm -f libintegrals.a $(AM_V_AR)$(libintegrals_a_AR) libintegrals.a $(libintegrals_a_OBJECTS) $(libintegrals_a_LIBADD) $(AM_V_at)$(RANLIB) libintegrals.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basis_func_extent.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basis_func_extent_1el.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basis_func_pair_list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basis_func_pair_list_1el.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/box_system.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/boysfunction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/densityfitting.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exponent_list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hermite_conversion_explicit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hermite_conversion_prep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hermite_conversion_symb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integral_info.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_1el.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_1el_kinetic.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_1el_potential.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_1el_single.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_2el_boxed.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_2el_coulomb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_2el_exchange.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_2el_exchange_prep.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_2el_explicit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_2el_layer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_2el_repeating.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_2el_single.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_2el_util_funcs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_2el_utils.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_general.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrals_hermite.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matrix_norm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm_limit_table.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/monomial_info.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multipole.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operator_matrix.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/organize_distrs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_sparse_mat.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/integrals/Makefile.am0000664000175000017500000000416312743400275014574 00000000000000noinst_LIBRARIES = libintegrals.a libintegrals_a_SOURCES = \ basis_func_extent.cc \ basis_func_extent.h \ basis_func_extent_1el.cc \ basis_func_extent_1el.h \ basis_func_pair_list.cc \ basis_func_pair_list.h \ basis_func_pair_list_1el.cc \ basis_func_pair_list_1el.h \ box_system.cc \ box_system.h \ boysfunction.cc \ boysfunction.h \ densityfitting.cc \ densityfitting.h \ exponent_list.cc \ exponent_list.h \ hermite_conversion_explicit.cc \ hermite_conversion_explicit.h \ hermite_conversion_prep.cc \ hermite_conversion_prep.h \ hermite_conversion_symb.cc \ hermite_conversion_symb.h \ integral_info.cc \ integral_info.h \ integrals_1el.cc \ integrals_1el.h \ integrals_1el_kinetic.cc\ integrals_1el_kinetic.h \ integrals_1el_potential.cc \ integrals_1el_potential.h \ integrals_1el_single.cc \ integrals_1el_single.h \ integrals_2el.h \ integrals_2el_boxed.cc \ integrals_2el_boxed.h \ integrals_2el_coulomb.cc \ integrals_2el_coulomb.h \ integrals_2el_exchange.cc \ integrals_2el_exchange.h \ integrals_2el_exchange_prep.cc \ integrals_2el_exchange_prep.h \ integrals_2el_explicit.cc \ integrals_2el_explicit.h \ integrals_2el_layer.cc \ integrals_2el_layer.h \ integrals_2el_repeating.cc \ integrals_2el_repeating.h \ integrals_2el_single.cc \ integrals_2el_single.h \ integrals_2el_util_funcs.cc \ integrals_2el_util_funcs.h \ integrals_2el_utils.cc \ integrals_2el_utils.h \ integrals_general.cc \ integrals_general.h \ integrals_hermite.cc \ integrals_hermite.h \ matrix_norm.cc \ matrix_norm.h \ mm_limit_table.cc \ mm_limit_table.h \ monomial_info.cc \ monomial_info.h \ multipole.cc \ multipole.h \ operator_matrix.cc \ operator_matrix.h \ organize_distrs.cc \ organize_distrs.h \ simple_sparse_mat.cc \ simple_sparse_mat.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack ergo-3.5/source/integrals/integral_info.h0000664000175000017500000001122412743400307015521 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef BASISINFO_BASIC_HEADER #define BASISINFO_BASIC_HEADER #include "realtype.h" #include "monomial_info.h" #include "hermite_conversion_prep.h" #include "boysfunction.h" #ifndef BASIS_FUNC_POLY_MAX_DEGREE #error The constant BASIS_FUNC_POLY_MAX_DEGREE must be defined. #endif #if BASIS_FUNC_POLY_MAX_DEGREE<6 #define MAX_NO_OF_TERMS_IN_BASIS_FUNC_POLY 12 #define MAX_NO_OF_POLY_12_TERMS 180 #define MAX_NO_OF_BASIS_FUNC_POLYS 50 #else #define MAX_NO_OF_TERMS_IN_BASIS_FUNC_POLY 16 #define MAX_NO_OF_POLY_12_TERMS 360 #define MAX_NO_OF_BASIS_FUNC_POLYS 100 #endif typedef struct { ergo_real coeff; char monomialInts[4]; /* nx, ny, nz */ int monomialID; } basis_func_term_struct; typedef struct { int noOfTerms; basis_func_term_struct termList[MAX_NO_OF_TERMS_IN_BASIS_FUNC_POLY]; ergo_real scaledSolidHarmonicPrefactor; } basis_func_poly_struct; typedef struct { int id_1; int id_2; ergo_real coeff; } poly_12_term_struct; typedef struct { int noOfTerms; poly_12_term_struct termList[MAX_NO_OF_POLY_12_TERMS]; } poly_12_struct; /** Contains coefficients needed for quick integral evaluation. This object is quite large and should always be allocated with new. Placing it on stack is a bad idea. */ class IntegralInfo { private: BoysFunctionManager boysFunctionManager; hermite_conversion_info_struct hermite_conversion_info; bool initialized; IntegralInfo(); // This is to make it forbidden to create it without argument. public: basis_func_poly_struct basis_func_poly_list[MAX_NO_OF_BASIS_FUNC_POLYS]; int no_of_basis_func_polys; monomial_info_struct monomial_info; void init(); ergo_real BoysFunction(int n, ergo_real x) const; int multiply_by_hermite_conversion_matrix_from_right(int n1max, int n2max, ergo_real a, ergo_real* A, ergo_real* result) const; int multiply_by_hermite_conversion_matrix_from_left(int n1max, int n2max, ergo_real a, ergo_real* A, ergo_real* result) const; int get_hermite_conversion_matrix_right(int nmax, ergo_real a, ergo_real* result) const; int get_hermite_conversion_matrix_left(int nmax, ergo_real a, ergo_real* result) const; int get_hermite_conversion_matrix_right_sparse(int nmax, ergo_real a, i_j_val_struct* result) const; IntegralInfo(bool initialize); ~IntegralInfo(); // Stuff needed for Chunks&Tasks usage IntegralInfo(const IntegralInfo & ii); void write_to_buffer ( char * dataBuffer, size_t const bufferSize ) const; size_t get_size() const; void assign_from_buffer ( char const * dataBuffer, size_t const bufferSize); }; namespace JK { /* Struct ExchWeights holds parameters for CAM-style range-separated HF exchange. We use the following short-long range split (alpha+beta*erf(mu*r))*HF_exchange. */ struct ExchWeights { ergo_real alpha; ergo_real beta; ergo_real mu; int computeRangeSeparatedExchange; /**< shortcut for |beta| != 0 */ ExchWeights() : alpha(0), beta(0), mu(0), computeRangeSeparatedExchange(0) {} }; }; int get_poly_info_from_shell_type(int* polyid_start, int* poly_count, int shellType); int get_no_of_basis_func_polys_used_from_no_of_shell_types(int no_of_shell_types); int get_shell_type_from_basis_func_poly_id(int basfuncpolyid); #endif ergo-3.5/source/integrals/integrals_2el_utils.h0000664000175000017500000001054312743400307016656 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_2EL_UTILS_HEADER #define INTEGRALS_2EL_UTILS_HEADER #include "organize_distrs.h" #include "box_system.h" struct distr_list_description_struct { distr_org_struct org; ergo_real totCharge; ergo_real multipolePoint[3]; multipole_struct_large multipole; ergo_real maxMomentVectorNormForDistrsList[MAX_MULTIPOLE_DEGREE_BASIC+1]; distr_list_description_struct(); }; #define MAX_NO_OF_BRANCHES 10 typedef struct { int basisFuncGroupIndex; ergo_real max_CS_factor; ergo_real maxMomentVectorNormList[MAX_MULTIPOLE_DEGREE_BASIC+1]; int maxMultipoleDegree; } basis_func_group_info_for_box; struct box_struct { box_struct_basic basicBox; distr_list_description_struct distrListForK; distr_list_description_struct branchList[MAX_NO_OF_BRANCHES]; ergo_real multipolePoint[3]; int branchIndexList[MAX_NO_OF_BRANCHES]; int branchCountList[MAX_NO_OF_BRANCHES]; int noOfBasisFuncs; int noOfRelevantBasisFuncGroups; basis_func_group_info_for_box* basisFuncGroupInfoList; ergo_real largestCSfactor; // Largest Cauchy-Schwartz factor in box ergo_real multipoleEuclideanNormList[MAX_MULTIPOLE_DEGREE_BASIC+1]; box_struct(); }; typedef struct { ergo_real* summedIntegralList; ergo_real* primitiveIntegralList; ergo_real* primitiveIntegralList_work; ergo_real* partial_dmat_1; ergo_real* partial_dmat_2; // used in non-symmetric case ergo_real* partial_K_1; ergo_real* partial_K_2; // used in non-symmetric case } JK_contribs_buffer_struct; ergo_real get_max_abs_vector_element(int n, const ergo_real* vector); void allocate_buffers_needed_by_integral_code(const IntegralInfo & integralInfo, int maxNoOfMonomials, int basisFuncListCount_max, JK_contribs_buffer_struct* bufferStruct); void free_buffers_needed_by_integral_code(JK_contribs_buffer_struct* bufferStruct); int get_related_integrals_h(const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, int n1max, int noOfMonomials_1, int n2max, int noOfMonomials_2, ergo_real dx0, ergo_real dx1, ergo_real dx2, ergo_real alpha1, ergo_real alpha2, ergo_real alpha0, ergo_real* primitiveIntegralList, ergo_real* primitiveIntegralList_work, ergo_real resultPreFactor); void compute_extent_for_list_of_distributions(int n, DistributionSpecStructLabeled* distrList, ergo_real threshold, ergo_real maxLimitingFactor, ergo_real maxabsDmatelement); int get_list_of_labeled_distrs_maxLimitingFactor(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real threshold, ergo_real* resultMaxLimitingFactor, ergo_real maxDensityMatrixElement); int get_list_of_labeled_distrs(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real threshold, DistributionSpecStructLabeled* resultList, int maxCountDistrs, ergo_real maxLimitingFactor, const ergo_real* dens, ergo_real maxDensityMatrixElement); int create_box_system_and_reorder_distrs(int distrCount, DistributionSpecStructLabeled* distrList, ergo_real toplevelBoxSize, BoxSystem & boxSystem); #endif ergo-3.5/source/integrals/integrals_general.cc0000664000175000017500000002734412743400307016536 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* Written by Elias Rudberg, KTH, Stockholm */ #include #include #include #include #include #include #include #include "memorymanag.h" #include "pi.h" #include "output.h" #include "utilities.h" #include "boysfunction.h" #include "integral_info.h" #include "integrals_general.h" #define K_MAX_DIM 44 int multiply_polynomials(ergo_real result[], polydeg1struct* polydeg1, int dim, ergo_real a[]) { int i; ergo_real p1[K_MAX_DIM + 1]; ergo_real p2[K_MAX_DIM + 1]; if(dim >= (K_MAX_DIM-1)) return -1; for(i = 0; i <= dim; i++) p1[i] = a[i]*polydeg1->a0; p1[dim+1] = 0; p2[0] = 0; for(i = 0; i <= dim; i++) p2[i+1] = a[i]*polydeg1->a1; for(i = 0; i <= (dim+1); i++) result[i] = p1[i] + p2[i]; return 0; } /* END multiply_polynomials */ /* get_product_simple_prims This function calculates the product of two simple primitives. The result is a list of simple primitives. */ int get_product_simple_prims(const DistributionSpecStruct& primA_in, const DistributionSpecStruct& primB_in, DistributionSpecStruct resultList[], int maxCount, ergo_real threshold) { // Use a coordinate system with primA at the origin. // This solves the problem with extreme positions of the primitives. DistributionSpecStruct primA_mod = primA_in; DistributionSpecStruct primB_mod = primB_in; int kk; for(kk = 0; kk < 3; kk++) { primA_mod.centerCoords[kk] -= primA_in.centerCoords[kk]; primB_mod.centerCoords[kk] -= primA_in.centerCoords[kk]; } DistributionSpecStruct* primA = &primA_mod; DistributionSpecStruct* primB = &primB_mod; ergo_real CxCyCz, AiAj, alphaNew; ergo_real newCenter[3]; ergo_real poly0[K_MAX_DIM]; ergo_real poly1[K_MAX_DIM]; ergo_real poly2[K_MAX_DIM]; ergo_real tempPoly[K_MAX_DIM]; ergo_real tempPoly2[K_MAX_DIM]; ergo_real tempPoly3[K_MAX_DIM]; int tempPolyDegree, tempPoly2Degree; int poly0degree, poly1degree, poly2degree, l, m, nn; polydeg1struct polyDeg1; ergo_real* poly; int* degreePtr; /* use the Gaussian product rule */ ergo_real sum = 0; int k; for(k = 0; k < 3; k++) { ergo_real temp = primA->centerCoords[k] - primB->centerCoords[k]; sum += temp * temp; } /* END FOR k */ CxCyCz = std::exp(-primA->exponent * primB->exponent * sum / (primA->exponent + primB->exponent)); // FIXME: do this screening properly! if(std::fabs(CxCyCz) < threshold) return 0; AiAj = primA->coeff * primB->coeff; alphaNew = primA->exponent + primB->exponent; for(k = 0; k < 3; k++) { newCenter[k] = (primA->exponent * primA->centerCoords[k] + primB->exponent * primB->centerCoords[k]) / (primA->exponent + primB->exponent); } /* END FOR k */ /* do product of polynomials */ /* one coordinate at a time */ for(k = 0; k < 3; k++) { switch(k) { case 0: poly = poly0; degreePtr = &poly0degree; break; case 1: poly = poly1; degreePtr = &poly1degree; break; case 2: poly = poly2; degreePtr = &poly2degree; break; default: return -1; } /* END SWITCH k */ tempPoly[0] = 1; tempPolyDegree = 0; for(m = 0; m < primA->monomialInts[k]; m++) { polyDeg1.a0 = -primA->centerCoords[k]; polyDeg1.a1 = 1; if(multiply_polynomials(tempPoly2, &polyDeg1, tempPolyDegree, tempPoly) != 0) return -1; tempPolyDegree++; memcpy(tempPoly, tempPoly2, (tempPolyDegree+1)*sizeof(ergo_real)); } /* END FOR m */ for(m = 0; m < primB->monomialInts[k]; m++) { polyDeg1.a0 = -primB->centerCoords[k]; polyDeg1.a1 = 1; if(multiply_polynomials(tempPoly2, &polyDeg1, tempPolyDegree, tempPoly) != 0) return -1; tempPolyDegree++; memcpy(tempPoly, tempPoly2, (tempPolyDegree+1)*sizeof(ergo_real)); } /* END FOR m */ /* now do variable change */ for(m = 0; m < K_MAX_DIM; m++) poly[m] = 0; tempPoly2Degree = 0; for(m = 0; m <= tempPolyDegree; m++) { tempPoly2[0] = tempPoly[m]; tempPoly2Degree = 0; for(l = 0; l < m; l++) { polyDeg1.a0 = newCenter[k]; polyDeg1.a1 = 1; if(multiply_polynomials(tempPoly3, &polyDeg1, tempPoly2Degree, tempPoly2) != 0) return -1; tempPoly2Degree++; memcpy(tempPoly2, tempPoly3, (tempPoly2Degree+1)*sizeof(ergo_real)); } /* END FOR l */ for(l = 0; l <= tempPoly2Degree; l++) { poly[l] += tempPoly2[l]; } /* END FOR l */ } /* END FOR m */ *degreePtr = tempPoly2Degree; } /* END FOR k */ nn = 0; for(k = 0; k <= poly0degree; k++) { int l; for(l = 0; l <= poly1degree; l++) { int m; for(m = 0; m <= poly2degree; m++) { ergo_real newCoeff = AiAj * CxCyCz * poly0[k] * poly1[l] * poly2[m]; ergo_real sqrtValue = std::sqrt(pi / alphaNew); ergo_real absvalue = newCoeff * sqrtValue * sqrtValue * sqrtValue; if(absvalue < 0) absvalue *= -1; /* add one function to final list */ resultList[nn].coeff = newCoeff; resultList[nn].exponent = alphaNew; memcpy(resultList[nn].centerCoords, newCenter, 3 * sizeof(ergo_real)); resultList[nn].monomialInts[0] = k; resultList[nn].monomialInts[1] = l; resultList[nn].monomialInts[2] = m; // Translate this term of result back to original coordinate system for(kk = 0; kk < 3; kk++) resultList[nn].centerCoords[kk] += primA_in.centerCoords[kk]; nn++; if(nn >= maxCount) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_prims: " "maxCount exceeded"); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "nn = %i, maxCount = %i", nn, maxCount); return -1; } } /* END FOR m */ } /* END FOR l */ } /* END FOR k */ return nn; } int get_product_simple_primitives(const BasisInfoStruct & basisInfoA, int iA, const BasisInfoStruct & basisInfoB, int iB, DistributionSpecStruct resultList[], int maxCount, ergo_real threshold) { BasisFuncStruct* basisFuncA = &basisInfoA.basisFuncList[iA]; int nPrimsA = basisFuncA->noOfSimplePrimitives; int Astart = basisFuncA->simplePrimitiveIndex; BasisFuncStruct* basisFuncB = &basisInfoB.basisFuncList[iB]; int nPrimsB = basisFuncB->noOfSimplePrimitives; int Bstart = basisFuncB->simplePrimitiveIndex; int n = 0; int i; if((nPrimsA <= 0) || (nPrimsB <= 0)) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_primitives: " "((nPrimsA <= 0) || (nPrimsB <= 0))\n"); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "nPrimsA = %i, nPrimsB = %i\n", nPrimsA, nPrimsB); return -1; } for(i = 0; i < nPrimsA; i++) { const DistributionSpecStruct& primA = basisInfoA.simplePrimitiveList[Astart + i]; int j; for(j = 0; j < nPrimsB; j++) { const DistributionSpecStruct& primB = basisInfoB.simplePrimitiveList[Bstart + j]; int nNewPrims = get_product_simple_prims(primA, primB, &resultList[n], maxCount - n, threshold); if(nNewPrims < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_prims"); return -1; } n += nNewPrims; } } return n; } ergo_real compute_integral_of_simple_prim(DistributionSpecStruct* distr) { ergo_real result, alpha; int i, n; if( ((distr->monomialInts[0]| distr->monomialInts[1]| distr->monomialInts[2]) & 1) == 1) /* odd integrals disappear */ return 0; alpha = distr->exponent; result = distr->coeff * std::pow((ergo_real)pi/alpha, (ergo_real)1.5); ergo_real twoA = 2*alpha; for(i = 0; i < 3; i++) { n = distr->monomialInts[i]; for(int j=0; jnoOfSimplePrimitives; int start = basisFunc->simplePrimitiveIndex; int j; for(j = 0; j < nPrims; j++) { DistributionSpecStruct* prim = &basisInfo.simplePrimitiveList[start + j]; DistributionSpecStruct distr; distr = *prim; // Set monomialInts to zero to simplify things distr.monomialInts[0] = 0; distr.monomialInts[1] = 0; distr.monomialInts[2] = 0; ergo_real a = compute_integral_of_simple_prim(&distr); if(a > A) A = a; } // END FOR j } // END FOR i return A; } /** Computes an estimate for the largest absolute value that any basis function takes. Useful as "worst case" when you want to find out the largest contribution to the density that a basis function can be part of. */ ergo_real get_max_basis_func_abs_value(const BasisInfoStruct & basisInfo) { int n = basisInfo.noOfBasisFuncs; ergo_real maxValue = 0; for(int i = 0; i < n; i++) { BasisFuncStruct* basisFunc = &basisInfo.basisFuncList[i]; int nPrims = basisFunc->noOfSimplePrimitives; int start = basisFunc->simplePrimitiveIndex; for(int j = 0; j < nPrims; j++) { DistributionSpecStruct* prim = &basisInfo.simplePrimitiveList[start + j]; ergo_real valueAtCenter = std::fabs(prim->coeff); // exp(0) = 1 if(valueAtCenter > maxValue) maxValue = valueAtCenter; } // END FOR j } // END FOR i return maxValue; } /** Computes an "extent" for each basis function in the basis set. The "extent" is such that the value of the function is smaller than maxAbsValue at distances beyond the "extent". */ int get_basis_func_extent_list(const BasisInfoStruct & basisInfo, ergo_real* basisFuncExtentList, ergo_real maxAbsValue) { int n = basisInfo.noOfBasisFuncs; for(int i = 0; i < n; i++) { BasisFuncStruct* basisFunc = &basisInfo.basisFuncList[i]; int nPrims = basisFunc->noOfSimplePrimitives; int start = basisFunc->simplePrimitiveIndex; ergo_real maxExtent = 0; for(int j = 0; j < nPrims; j++) { DistributionSpecStruct* prim = &basisInfo.simplePrimitiveList[start + j]; ergo_real currExtent = std::sqrt((1.0 / prim->exponent) * std::log(std::fabs(prim->coeff) / maxAbsValue)); if(currExtent > maxExtent) maxExtent = currExtent; } // END FOR j basisFuncExtentList[i] = maxExtent; } // END FOR i return 0; } ergo-3.5/source/integrals/monomial_info.h0000664000175000017500000000417212743400307015533 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MONOMIAL_INFO_HEADER #define MONOMIAL_INFO_HEADER #include #include "polydegree.h" /* We need a monomial degree that is 4 times the highest basisfunction polynomial degree, to handle two-electron integrals. */ const int MONOMIAL_N_MAX = BASIS_FUNC_POLY_MAX_DEGREE*4; typedef struct { int ix; int iy; int iz; } monomial_struct; struct monomial_info_struct { int noOfMonomialsTot; monomial_struct* monomial_list; int no_of_monomials_list[MONOMIAL_N_MAX+1]; int monomial_index_list[MONOMIAL_N_MAX+1][MONOMIAL_N_MAX+1][MONOMIAL_N_MAX+1]; void init(); monomial_info_struct(); ~monomial_info_struct(); // Stuff needed for Chunks&Tasks usage monomial_info_struct(const monomial_info_struct & other); void write_to_buffer ( char * dataBuffer, size_t const bufferSize ) const; size_t get_size() const; void assign_from_buffer ( char const * dataBuffer, size_t const bufferSize); }; #endif ergo-3.5/source/integrals/multipole.cc0000664000175000017500000003541112743400307015055 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file multipole.cc \brief Code for computing multipole moments, and multipole interaction and translation matrices. @author: Elias Rudberg responsible. */ #include #include #include #include #include "multipole.h" #include "output.h" #include "integrals_general.h" typedef struct { int l; int m; } l_m_struct; static int global_initialized_flag = 0; static ergo_real global_lm_factor_list[MAX_MULTIPOLE_DEGREE+1][MAX_MULTIPOLE_DEGREE+1]; static l_m_struct global_l_m_list[MAX_NO_OF_MOMENTS_PER_MULTIPOLE]; static ergo_real slow_factorial(int n) { if(n == 0) return 1; return n * slow_factorial(n-1); } static ergo_real get_lm_factor_slow(int l, int m) { return 1.0 / std::sqrt(slow_factorial(l-m)*slow_factorial(l+m)); } static ergo_real get_lm_factor(int l, int m) { if(m >= 0) return global_lm_factor_list[l][m]; else return global_lm_factor_list[l][-m]; } static void get_l_m_from_index(int index, int* result_l, int* result_m) { int l = 0; int count = 0; while(count < index) { l++; count += 2 * l + 1; } int m = l + index - count; *result_l = l; *result_m = m; } int init_multipole_code() { if(global_initialized_flag) return 0; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE; l++) for(int m = 0; m <= l; m++) global_lm_factor_list[l][m] = get_lm_factor_slow(l, m); global_initialized_flag = 1; // initialize global_l_m_list for(int A = 0; A < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; A++) get_l_m_from_index(A, &global_l_m_list[A].l, &global_l_m_list[A].m); return 0; } int compute_multipole_moments(const IntegralInfo& integralInfo, const DistributionSpecStruct* distr, multipole_struct_small* result) { int l = 0; int funcCountCurr_l = 0; int distrDegree = 0; for(int k = 0; k < 3; k++) distrDegree += distr->monomialInts[k]; result->noOfMoments = 0; memset(result, 0, sizeof(multipole_struct_small)); for(int i = 0; i < MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC; i++) { // get polynomial for scaled solid harmonic function if(i >= integralInfo.no_of_basis_func_polys) throw "Error in compute_multipole_moments: (i >= integralInfo.no_of_basis_func_polys)."; const basis_func_poly_struct* curr = &integralInfo.basis_func_poly_list[i]; // do one term at a time ergo_real sum = 0; int savedDegree = -1; for(int j = 0; j < curr->noOfTerms; j++) { DistributionSpecStruct prim = *distr; int termDegree = 0; for(int k = 0; k < 3; k++) { prim.monomialInts[k] += curr->termList[j].monomialInts[k]; termDegree += curr->termList[j].monomialInts[k]; } // check degree if(j > 0) { if(termDegree != savedDegree) throw "Error in compute_multipole_moments: (termDegree != savedDegree)."; } savedDegree = termDegree; prim.coeff *= curr->termList[j].coeff; sum += compute_integral_of_simple_prim(&prim); } // END FOR j if(savedDegree <= distrDegree) { result->noOfMoments++; result->momentList[i] = curr->scaledSolidHarmonicPrefactor * sum; } else { // now the computed moment should be zero if(std::fabs(sum) > 1e-3) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: computed moment not zero when (savedDegree > distrDegree)"); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "computed moment : %22.11f", (double)sum); exit(0); } result->momentList[i] = 0; } funcCountCurr_l++; if(funcCountCurr_l == 2*l+1) { l++; funcCountCurr_l = 0; } } // END FOR i if(distrDegree > MAX_MULTIPOLE_DEGREE_BASIC) { // This should not happen, really, but for testing purposes it is nice to be able to set // MAX_MULTIPOLE_DEGREE_BASIC to be lower than needed to describe product distributions correctly. // The accuracy will then be bad, but the program should still work. result->degree = MAX_MULTIPOLE_DEGREE_BASIC; } else result->degree = distrDegree; for(int k = 0; k < 3; k++) result->centerCoords[k] = distr->centerCoords[k]; return 0; } MMTranslator::MMTranslator() { buffer_W_cc = new ergo_real[MMDP1*MMDP1*MMDP1*MMDP1]; buffer_W_cs = new ergo_real[MMDP1*MMDP1*MMDP1*MMDP1]; buffer_W_sc = new ergo_real[MMDP1*MMDP1*MMDP1*MMDP1]; buffer_W_ss = new ergo_real[MMDP1*MMDP1*MMDP1*MMDP1]; if(global_initialized_flag == 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_translation_matrix: (global_initialized_flag == 0)"); exit(0); } } MMTranslator::~MMTranslator() { delete []buffer_W_cc; delete []buffer_W_cs; delete []buffer_W_sc; delete []buffer_W_ss; } int MMTranslator::getTranslationMatrix(ergo_real dx, ergo_real dy, ergo_real dz, int l_1, int l_2, ergo_real* result_W) const { ergo_real r2 = dx*dx + dy*dy + dz*dz; // generate values of all needed "scaled regular solid harmonics" int largest_l_needed = MAX_MULTIPOLE_DEGREE; int noOf_l_values = largest_l_needed + 1; int L = noOf_l_values; ergo_real R_c[L][L]; ergo_real R_s[L][L]; R_c[0][0] = 1; R_s[0][0] = 0; // generate all R_c and R_s with l = m for(int l = 0; l < L-1; l++) { R_c[l+1][l+1] = -(dx * R_c[l][l] - dy * R_s[l][l]) / (2*l+2); R_s[l+1][l+1] = -(dy * R_c[l][l] + dx * R_s[l][l]) / (2*l+2); } // generate all R_c and R_s with l > m for(int l = 0; l < L-1; l++) { for(int m = 0; m <= l; m++) { ergo_real R_c_lmin1m = 0; ergo_real R_s_lmin1m = 0; if(l > 0 && m < l) { R_c_lmin1m = R_c[l-1][m]; R_s_lmin1m = R_s[l-1][m]; } R_c[l+1][m] = ((2*l+1)*dz*R_c[l][m] - r2*R_c_lmin1m) / ((l + m + 1) * (l - m + 1)); R_s[l+1][m] = ((2*l+1)*dz*R_s[l][m] - r2*R_s_lmin1m) / ((l + m + 1) * (l - m + 1)); } } ergo_real m1topowlist[MAX_MULTIPOLE_DEGREE+1]; m1topowlist[0] = 1; for(int k = 1; k <= MAX_MULTIPOLE_DEGREE; k++) m1topowlist[k] = m1topowlist[k-1] * -1; ergo_real onehalftopowlist[2]; onehalftopowlist[0] = 1.0; onehalftopowlist[1] = 0.5; // Use R_c and R_s values to generate translation matrix ergo_real (*W_cc)[MMDP1][MMDP1][MMDP1] = (ergo_real(*)[MMDP1][MMDP1][MMDP1])buffer_W_cc; ergo_real (*W_cs)[MMDP1][MMDP1][MMDP1] = (ergo_real(*)[MMDP1][MMDP1][MMDP1])buffer_W_cs; ergo_real (*W_sc)[MMDP1][MMDP1][MMDP1] = (ergo_real(*)[MMDP1][MMDP1][MMDP1])buffer_W_sc; ergo_real (*W_ss)[MMDP1][MMDP1][MMDP1] = (ergo_real(*)[MMDP1][MMDP1][MMDP1])buffer_W_ss; for(int l = 0; l <= l_1; l++) for(int j = 0; j <= l_2; j++) for(int m = 0; m <= l; m++) for(int k = 0; k <= j; k++) { ergo_real R_c_lmjmmk = 0; ergo_real R_s_lmjmmk = 0; ergo_real R_c_lmjmpk = 0; ergo_real R_s_lmjmpk = 0; int lmj = l - j; int mmk = m - k; int mpk = m + k; if(lmj >= 0) { if(mmk >= -lmj && mmk <= lmj) { if(mmk >= 0) { R_c_lmjmmk = R_c[lmj][mmk]; R_s_lmjmmk = R_s[lmj][mmk]; } else { R_c_lmjmmk = m1topowlist[-mmk] * R_c[lmj][-mmk]; R_s_lmjmmk = -m1topowlist[-mmk] * R_s[lmj][-mmk]; } } if(mpk >= -lmj && mpk <= lmj) { if(mpk >= 0) { R_c_lmjmpk = R_c[lmj][mpk]; R_s_lmjmpk = R_s[lmj][mpk]; } else { R_c_lmjmpk = m1topowlist[-mpk] * R_c[lmj][-mpk]; R_s_lmjmpk = -m1topowlist[-mpk] * R_s[lmj][-mpk]; } } } int dk0 = 0; if(k == 0) dk0 = 1; W_cc[l][m][j][k] = onehalftopowlist[dk0] * ( R_c_lmjmmk + m1topowlist[k] * R_c_lmjmpk); W_cs[l][m][j][k] = (-R_s_lmjmmk + m1topowlist[k] * R_s_lmjmpk); W_sc[l][m][j][k] = onehalftopowlist[dk0] * ( R_s_lmjmmk + m1topowlist[k] * R_s_lmjmpk); W_ss[l][m][j][k] = ( R_c_lmjmmk - m1topowlist[k] * R_c_lmjmpk); } // END FOR l j m k int noOfMoments_1 = (l_1+1)*(l_1+1); int noOfMoments_2 = (l_2+1)*(l_2+1); for(int A = 0; A < noOfMoments_1; A++) for(int B = 0; B < noOfMoments_2; B++) { int l = global_l_m_list[A].l; int m = global_l_m_list[A].m; int j = global_l_m_list[B].l; int k = global_l_m_list[B].m; result_W[A*noOfMoments_2+B] = 0; if(m >= 0 && k >= 0) result_W[A*noOfMoments_2+B] = W_cc[l][m][j][k]; if(m >= 0 && k < 0) result_W[A*noOfMoments_2+B] = W_cs[l][m][j][-k]; if(m < 0 && k >= 0) result_W[A*noOfMoments_2+B] = W_sc[l][-m][j][k]; if(m < 0 && k < 0) result_W[A*noOfMoments_2+B] = W_ss[l][-m][j][-k]; result_W[A*noOfMoments_2+B] *= get_lm_factor(j, k) / get_lm_factor(l, m); } return 0; } MMInteractor::MMInteractor() { buffer_T_cc = new ergo_real[MMDP1*MMDP1*MMDP1*MMDP1]; buffer_T_cs = new ergo_real[MMDP1*MMDP1*MMDP1*MMDP1]; buffer_T_sc = new ergo_real[MMDP1*MMDP1*MMDP1*MMDP1]; buffer_T_ss = new ergo_real[MMDP1*MMDP1*MMDP1*MMDP1]; if(global_initialized_flag == 0) throw "Error in MMInteractor::MMInteractor: (global_initialized_flag == 0)."; } MMInteractor::~MMInteractor() { delete [] buffer_T_cc; delete [] buffer_T_cs; delete [] buffer_T_sc; delete [] buffer_T_ss; } int MMInteractor::getInteractionMatrix(ergo_real dx, ergo_real dy, ergo_real dz, int l_1, int l_2, ergo_real* result_T) { ergo_real r2 = dx*dx + dy*dy + dz*dz; ergo_real oneOverR2 = (ergo_real)1 / r2; ergo_real oneOverR = std::sqrt(oneOverR2); // generate values of all needed "scaled irregular solid harmonics" //int largest_l_needed = distrMultipole->degree + otherMultipole->degree; int largest_l_needed = (2*MAX_MULTIPOLE_DEGREE); int noOf_l_values = largest_l_needed + 1; int L = noOf_l_values; ergo_real I_c[L][L]; ergo_real I_s[L][L]; I_c[0][0] = oneOverR; I_s[0][0] = 0; int LL = l_1 + l_2; // generate all I_c and I_s with l = m for(int l = 0; l < LL; l++) { I_c[l+1][l+1] = -(2*l + 1) * oneOverR2 * (dx * I_c[l][l] - dy * I_s[l][l]); I_s[l+1][l+1] = -(2*l + 1) * oneOverR2 * (dy * I_c[l][l] + dx * I_s[l][l]); } // generate all I_c and I_s with l > m for(int l = 0; l < LL; l++) { for(int m = 0; m <= l; m++) { ergo_real I_c_lmin1m = 0; ergo_real I_s_lmin1m = 0; if(l > 0 && m < l) { I_c_lmin1m = I_c[l-1][m]; I_s_lmin1m = I_s[l-1][m]; } I_c[l+1][m] = oneOverR2 * ((2*l+1)*dz*I_c[l][m] - (l*l - m*m)*I_c_lmin1m); I_s[l+1][m] = oneOverR2 * ((2*l+1)*dz*I_s[l][m] - (l*l - m*m)*I_s_lmin1m); } } ergo_real m1topowlist[MAX_MULTIPOLE_DEGREE+1]; m1topowlist[0] = 1; for(int k = 1; k <= MAX_MULTIPOLE_DEGREE; k++) m1topowlist[k] = m1topowlist[k-1] * -1; ergo_real onehalftopowlist[3]; onehalftopowlist[0] = 1.0; onehalftopowlist[1] = 0.5; onehalftopowlist[2] = 0.25; // Use I_c and I_s values to generate Interaction matrix const int MMDP1 = MAX_MULTIPOLE_DEGREE+1; ergo_real (*T_cc)[MMDP1][MMDP1][MMDP1] = (ergo_real(*)[MMDP1][MMDP1][MMDP1])buffer_T_cc; ergo_real (*T_cs)[MMDP1][MMDP1][MMDP1] = (ergo_real(*)[MMDP1][MMDP1][MMDP1])buffer_T_cs; ergo_real (*T_sc)[MMDP1][MMDP1][MMDP1] = (ergo_real(*)[MMDP1][MMDP1][MMDP1])buffer_T_sc; ergo_real (*T_ss)[MMDP1][MMDP1][MMDP1] = (ergo_real(*)[MMDP1][MMDP1][MMDP1])buffer_T_ss; for(int l = 0; l <= l_1; l++) for(int j = 0; j <= l_2; j++) for(int m = 0; m <= l; m++) for(int k = 0; k <= j; k++) { ergo_real I_c_lpjmmk; ergo_real I_s_lpjmmk; if(m >= k) { I_c_lpjmmk = I_c[l+j][m-k]; I_s_lpjmmk = I_s[l+j][m-k]; } else { I_c_lpjmmk = m1topowlist[k-m] * I_c[l+j][k-m]; I_s_lpjmmk = -m1topowlist[k-m] * I_s[l+j][k-m]; } int dm0 = 0; int dk0 = 0; if(m == 0) dm0 = 1; if(k == 0) dk0 = 1; ergo_real commonPreFactor = m1topowlist[j] * onehalftopowlist[dm0 + dk0] * 2; ergo_real m1topowk = m1topowlist[k]; ergo_real I_c_lpjmpk = I_c[l+j][m+k]; ergo_real I_s_lpjmpk = I_s[l+j][m+k]; T_cc[l][m][j][k] = commonPreFactor * ( I_c_lpjmpk + m1topowk * I_c_lpjmmk); T_cs[l][m][j][k] = commonPreFactor * ( I_s_lpjmpk - m1topowk * I_s_lpjmmk); T_sc[l][m][j][k] = commonPreFactor * ( I_s_lpjmpk + m1topowk * I_s_lpjmmk); T_ss[l][m][j][k] = commonPreFactor * (-I_c_lpjmpk + m1topowk * I_c_lpjmmk); } // END FOR l j m k int noOfMoments_1 = (l_1+1)*(l_1+1); int noOfMoments_2 = (l_2+1)*(l_2+1); for(int A = 0; A < noOfMoments_1; A++) for(int B = 0; B < noOfMoments_2; B++) { int l = global_l_m_list[A].l; int m = global_l_m_list[A].m; int j = global_l_m_list[B].l; int k = global_l_m_list[B].m; result_T[A*noOfMoments_2+B] = 0; if(m >= 0 && k >= 0) result_T[A*noOfMoments_2+B] = T_cc[l][m][j][k]; if(m >= 0 && k < 0) result_T[A*noOfMoments_2+B] = T_cs[l][m][j][-k]; if(m < 0 && k >= 0) result_T[A*noOfMoments_2+B] = T_sc[l][-m][j][k]; if(m < 0 && k < 0) result_T[A*noOfMoments_2+B] = T_ss[l][-m][j][-k]; result_T[A*noOfMoments_2+B] *= get_lm_factor(l, m) * get_lm_factor(j, k); } return 0; } int setup_multipole_maxAbsMomentList(multipole_struct_large* multipole) { ergo_real largestAbsMomentSoFar = 0; for(int degree = MAX_MULTIPOLE_DEGREE; degree >= 0; degree--) { int startIndex = degree*degree; int endIndex = (degree+1)*(degree+1); ergo_real sumOfSquares = 0; for(int i = startIndex; i < endIndex; i++) { ergo_real absMoment = std::fabs(multipole->momentList[i]); if(absMoment > largestAbsMomentSoFar) largestAbsMomentSoFar = absMoment; sumOfSquares += absMoment * absMoment; } multipole->maxAbsMomentList[degree] = largestAbsMomentSoFar; multipole->euclideanNormList[degree] = std::sqrt(sumOfSquares); } // END FOR degree return 0; } ergo-3.5/source/integrals/integrals_2el_layer.h0000664000175000017500000000525312743400307016634 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_2EL_LAYER_HEADER #define INTEGRALS_2EL_LAYER_HEADER #include "integral_info.h" #include "basisinfo.h" #include "integrals_2el.h" #include "densityfitting.h" int compute_2e_matrix_list(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, ergo_real** resultList, ergo_real** densList, int noOfMatrices, const JK::Params& J_K_params); int compute_2e_matrix_list_difden(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, ergo_real** resultList, ergo_real** densList, int noOfMatrices, const JK::Params& J_K_params); int compute_2e_matrix_exchange(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, ergo_real* K, ergo_real* dens, ergo_real threshold); int compute_2e_matrices_exchange(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, int noOfMatrices, ergo_real** K_list, ergo_real** D_list, ergo_real threshold); int compute_2e_matrix_coulomb(const BasisInfoStruct & basisInfo, const BasisInfoStruct & basisInfoDensFit, const IntegralInfo & integralInfo, ergo_real* J, ergo_real* dens, const JK::Params& J_K_params, DensfitData* U_inverse); #endif ergo-3.5/source/integrals/hermite_conversion_prep.cc0000664000175000017500000003532012743400307017772 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "hermite_conversion_prep.h" #include #include #include #include #include "hermite_conversion_symb.h" #include "monomial_info.h" #include "utilities.h" #if BASIS_FUNC_POLY_MAX_DEGREE<6 const int MAX_NO_OF_CONTRIBS = 1000000; #else const int MAX_NO_OF_CONTRIBS = 10000000; #endif void hermite_conversion_info_struct::init(const monomial_info_struct & monomial_info) { Util::TimeMeter timeMeter; const int nmax = HERMITE_CONVERSION_MAX_N; // Allocate work memory buffers. std::vector currlist(MAX_NO_OF_CONTRIBS); std::vector currlist_elements(MAX_NO_OF_CONTRIBS); const int nMonMax = monomial_info.no_of_monomials_list[nmax]; std::vector list(nMonMax*nMonMax); const int invFlag = 1; // Get list_right for(int n1 = 0; n1 <= nmax; n1++) { get_hermite_conversion_matrix_symb(&monomial_info, n1, invFlag, &list[0]); for(int n2 = 0; n2 <= nmax; n2++) { int count = 0; int nMon1 = monomial_info.no_of_monomials_list[n1]; int nMon2 = monomial_info.no_of_monomials_list[n2]; for(int j = 0; j < nMon1; j++) { for(int k = 0; k < nMon1; k++) { int idx = j*nMon1+k; if(std::fabs(list[idx].coeff) > 1e-5) { for(int i = 0; i < nMon2; i++) { assert(count < MAX_NO_OF_CONTRIBS); currlist[count].destIndex = j*nMon2+i; currlist[count].sourceIndex = k*nMon2+i; currlist[count].a_power = list[idx].ia; currlist[count].coeff = list[idx].coeff; count++; } } } } list_right[n1][n2] = new hermite_conversion_contrib_struct[count]; memcpy(list_right[n1][n2], &currlist[0], count*sizeof(hermite_conversion_contrib_struct)); counters_right[n1][n2] = count; } } // Get list_left for(int n2 = 0; n2 <= nmax; n2++) { get_hermite_conversion_matrix_symb(&monomial_info, n2, invFlag, &list[0]); for(int n1 = 0; n1 <= nmax; n1++) { int count = 0; int nMon1 = monomial_info.no_of_monomials_list[n1]; int nMon2 = monomial_info.no_of_monomials_list[n2]; for(int i = 0; i < nMon2; i++) { for(int k = 0; k < nMon2; k++) { int idx = i*nMon2+k; if(std::fabs(list[idx].coeff) > 1e-5) { for(int j = 0; j < nMon1; j++) { assert(count < MAX_NO_OF_CONTRIBS); currlist[count].destIndex = j*nMon2+i; currlist[count].sourceIndex = j*nMon2+k; currlist[count].a_power = list[idx].ia; currlist[count].coeff = list[idx].coeff; count++; } } } } list_left[n1][n2] = new hermite_conversion_contrib_struct[count]; memcpy(list_left[n1][n2], &currlist[0], count*sizeof(hermite_conversion_contrib_struct)); counters_left[n1][n2] = count; } } // Get list_right_simple for(int n1 = 0; n1 <= nmax; n1++) { get_hermite_conversion_matrix_symb(&monomial_info, n1, invFlag, &list[0]); int nMon1 = monomial_info.no_of_monomials_list[n1]; int count = 0; for(int j = 0; j < nMon1; j++) { for(int k = 0; k < nMon1; k++) { int idx = j*nMon1+k; if(std::fabs(list[idx].coeff) > 1e-5) { assert(count < MAX_NO_OF_CONTRIBS); currlist_elements[count].idx_j = j; currlist_elements[count].idx_k = k; currlist_elements[count].a_power = list[idx].ia; currlist_elements[count].dummy = 0; currlist_elements[count].coeff = list[idx].coeff; count++; } } } list_right_simple[n1] = new hermite_conversion_element_struct[count]; memcpy(list_right_simple[n1], &currlist_elements[0], count*sizeof(hermite_conversion_element_struct)); counters_right_simple[n1] = count; } // Get list_left_simple for(int n1 = 0; n1 <= nmax; n1++) { get_hermite_conversion_matrix_symb(&monomial_info, n1, invFlag, &list[0]); int nMon1 = monomial_info.no_of_monomials_list[n1]; int count = 0; for(int j = 0; j < nMon1; j++) { for(int k = 0; k < nMon1; k++) { int idx = k*nMon1+j; // reverse meaning of j k here compared to "right" case if(std::fabs(list[idx].coeff) > 1e-5) { assert(count < MAX_NO_OF_CONTRIBS); currlist_elements[count].idx_j = j; currlist_elements[count].idx_k = k; currlist_elements[count].a_power = list[idx].ia; currlist_elements[count].dummy = 0; currlist_elements[count].coeff = list[idx].coeff; count++; } } } list_left_simple[n1] = new hermite_conversion_element_struct[count]; memcpy(list_left_simple[n1], &currlist_elements[0], count*sizeof(hermite_conversion_element_struct)); counters_left_simple[n1] = count; } timeMeter.print(LOG_AREA_INTEGRALS, "hermite_conversion_info_struct constructor"); } // end hermite_conversion_info_struct constructor void hermite_conversion_info_struct::clear_lists() { const int nmax = HERMITE_CONVERSION_MAX_N; for(int n1 = 0; n1 <= nmax; n1++) for(int n2 = 0; n2 <= nmax; n2++) { list_right[n1][n2] = NULL; list_left [n1][n2] = NULL; counters_right[n1][n2] = 0; counters_left[n1][n2] = 0; } for(int n1 = 0; n1 <= nmax; n1++) { list_right_simple[n1] = NULL; list_left_simple [n1] = NULL; counters_right_simple[n1] = 0; counters_left_simple[n1] = 0; } } hermite_conversion_info_struct::hermite_conversion_info_struct() { clear_lists(); } hermite_conversion_info_struct::~hermite_conversion_info_struct() { const int nmax = HERMITE_CONVERSION_MAX_N; for(int n1 = 0; n1 <= nmax; n1++) for(int n2 = 0; n2 <= nmax; n2++) { delete []list_right[n1][n2]; delete []list_left [n1][n2]; } for(int n1 = 0; n1 <= nmax; n1++) { delete [] list_right_simple[n1]; delete [] list_left_simple [n1]; } } int hermite_conversion_info_struct::multiply_by_hermite_conversion_matrix_from_right(const monomial_info_struct & monomial_info, int n1max, int n2max, ergo_real a, ergo_real* A, ergo_real* result) const { int noOfContribs = counters_right[n1max][n2max]; hermite_conversion_contrib_struct* list = list_right[n1max][n2max]; int nMon1 = monomial_info.no_of_monomials_list[n1max]; int nMon2 = monomial_info.no_of_monomials_list[n2max]; int Ntot = n1max + n2max; ergo_real apowlist[Ntot+1]; apowlist[0] = 1; for(int i = 1; i <= Ntot; i++) apowlist[i] = apowlist[i-1] * a; for(int i = 0; i < nMon1*nMon2; i++) result[i] = 0; for(int i = 0; i < noOfContribs; i++) result[list[i].destIndex] += A[list[i].sourceIndex] * list[i].coeff * apowlist[-list[i].a_power]; return 0; } int hermite_conversion_info_struct::multiply_by_hermite_conversion_matrix_from_left(const monomial_info_struct & monomial_info, int n1max, int n2max, ergo_real a, ergo_real* A, ergo_real* result) const { int noOfContribs = counters_left[n1max][n2max]; hermite_conversion_contrib_struct* list = list_left[n1max][n2max]; int nMon1 = monomial_info.no_of_monomials_list[n1max]; int nMon2 = monomial_info.no_of_monomials_list[n2max]; int Ntot = n1max + n2max; ergo_real apowlist[Ntot+1]; apowlist[0] = 1; for(int i = 1; i <= Ntot; i++) apowlist[i] = apowlist[i-1] * a; for(int i = 0; i < nMon1*nMon2; i++) result[i] = 0; for(int i = 0; i < noOfContribs; i++) result[list[i].destIndex] += A[list[i].sourceIndex] * list[i].coeff * apowlist[-list[i].a_power]; return 0; } int hermite_conversion_info_struct::get_hermite_conversion_matrix_right(const monomial_info_struct & monomial_info, int nmax, ergo_real a, ergo_real* result) const { int noOfContribs = counters_right_simple[nmax]; hermite_conversion_element_struct* list = list_right_simple[nmax]; int nMon1 = monomial_info.no_of_monomials_list[nmax]; int Ntot = 2 * nmax; ergo_real apowlist[Ntot+1]; apowlist[0] = 1; for(int i = 1; i <= Ntot; i++) apowlist[i] = apowlist[i-1] * a; for(int i = 0; i < nMon1*nMon1; i++) result[i] = 0; for(int i = 0; i < noOfContribs; i++) { int j = list[i].idx_j; int k = list[i].idx_k; result[j*nMon1+k] = list[i].coeff * apowlist[-list[i].a_power]; } return 0; } int hermite_conversion_info_struct::get_hermite_conversion_matrix_right_sparse(const monomial_info_struct & monomial_info, int nmax, ergo_real a, i_j_val_struct* result) const { int noOfContribs = counters_right_simple[nmax]; hermite_conversion_element_struct* list = list_right_simple[nmax]; int Ntot = 2 * nmax; ergo_real apowlist[Ntot+1]; apowlist[0] = 1; for(int i = 1; i <= Ntot; i++) apowlist[i] = apowlist[i-1] * a; int count = 0; for(int i = 0; i < noOfContribs; i++) { int j = list[i].idx_j; int k = list[i].idx_k; result[count].i = j; result[count].j = k; result[count].same_i_count = 1; result[count].value = list[i].coeff * apowlist[-list[i].a_power]; count++; } return count; } int hermite_conversion_info_struct::get_hermite_conversion_matrix_left(const monomial_info_struct & monomial_info, int nmax, ergo_real a, ergo_real* result) const { int noOfContribs = counters_left_simple[nmax]; hermite_conversion_element_struct* list = list_left_simple[nmax]; int nMon1 = monomial_info.no_of_monomials_list[nmax]; int Ntot = 2 * nmax; ergo_real apowlist[Ntot+1]; apowlist[0] = 1; for(int i = 1; i <= Ntot; i++) apowlist[i] = apowlist[i-1] * a; for(int i = 0; i < nMon1*nMon1; i++) result[i] = 0; for(int i = 0; i < noOfContribs; i++) { int j = list[i].idx_j; int k = list[i].idx_k; result[j*nMon1+k] = list[i].coeff * apowlist[-list[i].a_power]; } return 0; } /** Function needed for Chunks&Tasks usage. */ hermite_conversion_info_struct::hermite_conversion_info_struct(const hermite_conversion_info_struct & other) { // ELIAS NOTE 2015-06-17: we start by calling clear_lists to make sure there are no pointers to garbage etc. // There was a segfault problem when object was deleted because the list_left_simple pointer was not allocated and not null, // calling clear_lists() here should avoid that, although there is probably still something wrong, list_left_simple etc should probably be set. clear_lists(); memcpy(counters_right, other.counters_right, sizeof(counters_right)); memcpy(counters_left, other.counters_left, sizeof(counters_left)); const int nmax = HERMITE_CONVERSION_MAX_N; for(int n1 = 0; n1 <= nmax; n1++) for(int n2 = 0; n2 <= nmax; n2++) { list_right[n1][n2] = new hermite_conversion_contrib_struct[counters_right[n1][n2]]; memcpy(list_right[n1][n2], other.list_right[n1][n2], counters_right[n1][n2]*sizeof(hermite_conversion_contrib_struct)); list_left[n1][n2] = new hermite_conversion_contrib_struct[counters_left[n1][n2]]; memcpy(list_left[n1][n2], other.list_left[n1][n2], counters_left[n1][n2]*sizeof(hermite_conversion_contrib_struct)); } } /** Function needed for Chunks&Tasks usage. */ void hermite_conversion_info_struct::write_to_buffer ( char * dataBuffer, size_t const bufferSize ) const { char* p = dataBuffer; if(bufferSize < get_size()) throw std::runtime_error("Error: bufferSize too small."); // counters_right memcpy(p, counters_right, sizeof(counters_right)); p += sizeof(counters_right); // counters_left memcpy(p, counters_left, sizeof(counters_left)); p += sizeof(counters_left); // list_right and list_left const int nmax = HERMITE_CONVERSION_MAX_N; for(int n1 = 0; n1 <= nmax; n1++) for(int n2 = 0; n2 <= nmax; n2++) { memcpy(p, list_right[n1][n2], counters_right[n1][n2]*sizeof(hermite_conversion_contrib_struct)); p += counters_right [n1][n2]*sizeof(hermite_conversion_contrib_struct); memcpy(p, list_left [n1][n2], counters_left [n1][n2]*sizeof(hermite_conversion_contrib_struct)); p += counters_left [n1][n2]*sizeof(hermite_conversion_contrib_struct); } } /** Function needed for Chunks&Tasks usage. */ size_t hermite_conversion_info_struct::get_size() const { size_t size = 0; const int nmax = HERMITE_CONVERSION_MAX_N; for(int n1 = 0; n1 <= nmax; n1++) for(int n2 = 0; n2 <= nmax; n2++) { size += counters_right[n1][n2]*sizeof(hermite_conversion_contrib_struct); size += counters_left [n1][n2]*sizeof(hermite_conversion_contrib_struct); } return size + sizeof(counters_right) + sizeof(counters_left); } /** Function needed for Chunks&Tasks usage. */ void hermite_conversion_info_struct::assign_from_buffer ( char const * dataBuffer, size_t const bufferSize) { const char* p = dataBuffer; // counters_right memcpy(counters_right, p, sizeof(counters_right)); p += sizeof(counters_right); // counters_left memcpy(counters_left, p, sizeof(counters_left)); p += sizeof(counters_left); // list_right and list_left const int nmax = HERMITE_CONVERSION_MAX_N; for(int n1 = 0; n1 <= nmax; n1++) for(int n2 = 0; n2 <= nmax; n2++) { list_right[n1][n2] = new hermite_conversion_contrib_struct[counters_right[n1][n2]]; memcpy(list_right[n1][n2], p, counters_right[n1][n2]*sizeof(hermite_conversion_contrib_struct)); p += counters_right [n1][n2]*sizeof(hermite_conversion_contrib_struct); list_left[n1][n2] = new hermite_conversion_contrib_struct[counters_left[n1][n2]]; memcpy(list_left[n1][n2], p, counters_left[n1][n2]*sizeof(hermite_conversion_contrib_struct)); p += counters_left [n1][n2]*sizeof(hermite_conversion_contrib_struct); } // DONE! if(static_cast(p-dataBuffer) > bufferSize) throw std::runtime_error("Error: (p > bufferSize)."); } ergo-3.5/source/integrals/hermite_conversion_symb.cc0000664000175000017500000002103012743400307017767 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include "hermite_conversion_symb.h" typedef struct { int ix; // power of x int ia; // power of a ergo_real coeff; } poly_1d_term_struct_symb; #define MAX_NO_OF_1D_TERMS 888 typedef struct { int noOfTerms; poly_1d_term_struct_symb termList[MAX_NO_OF_1D_TERMS]; } poly_1d_struct_symb; typedef struct { int monomialInts[3]; int ia; // power of a ergo_real coeff; } poly_3d_term_struct_symb; #define MAX_NO_OF_3D_TERMS 888 typedef struct { int noOfTerms; poly_3d_term_struct_symb termList[MAX_NO_OF_3D_TERMS]; } poly_3d_struct_symb; static int get_1d_hermite_poly_symb(poly_1d_struct_symb* result, int n) { switch(n) { case 0: result->noOfTerms = 1; result->termList[0].ix = 0; result->termList[0].ia = 0; result->termList[0].coeff = 1; break; case 1: result->noOfTerms = 1; result->termList[0].ix = 1; result->termList[0].ia = 1; result->termList[0].coeff = 2; break; default: { // Create polys for n-1 and n-2 poly_1d_struct_symb poly_n_m_1; poly_1d_struct_symb poly_n_m_2; get_1d_hermite_poly_symb(&poly_n_m_1, n - 1); get_1d_hermite_poly_symb(&poly_n_m_2, n - 2); assert(poly_n_m_1.noOfTerms + poly_n_m_2.noOfTerms < MAX_NO_OF_1D_TERMS); // Now the result is 2*a*x*poly_n_m_1 - (n-1)*2*a*poly_n_m_2 for(int i = 0; i < poly_n_m_1.noOfTerms; i++) { result->termList[i] = poly_n_m_1.termList[i]; result->termList[i].ix++; result->termList[i].ia++; result->termList[i].coeff *= 2; } int nn = poly_n_m_1.noOfTerms; for(int i = 0; i < poly_n_m_2.noOfTerms; i++) { result->termList[nn+i] = poly_n_m_2.termList[i]; result->termList[nn+i].ia++; result->termList[nn+i].coeff *= -2 * (n-1); } result->noOfTerms = poly_n_m_1.noOfTerms + poly_n_m_2.noOfTerms; } } return 0; } static int get_1d_hermite_poly_inv_symb(poly_1d_struct_symb* result, int n) { switch(n) { case 0: result->noOfTerms = 1; result->termList[0].ix = 0; result->termList[0].ia = 0; result->termList[0].coeff = 1; break; case 1: result->noOfTerms = 1; result->termList[0].ix = 1; result->termList[0].ia = -1; result->termList[0].coeff = 0.5; break; default: { // Create polys for n-1 and n-2 poly_1d_struct_symb poly_n_m_1; poly_1d_struct_symb poly_n_m_2; get_1d_hermite_poly_inv_symb(&poly_n_m_1, n - 1); get_1d_hermite_poly_inv_symb(&poly_n_m_2, n - 2); assert(poly_n_m_1.noOfTerms + poly_n_m_2.noOfTerms < MAX_NO_OF_1D_TERMS); // Now the result is 0.5*(1/a)*x*poly_n_m_1 + (n-1)*(1/a)*0.5*poly_n_m_2 for(int i = 0; i < poly_n_m_1.noOfTerms; i++) { result->termList[i] = poly_n_m_1.termList[i]; result->termList[i].ix++; result->termList[i].ia--; result->termList[i].coeff *= 0.5; } int nn = poly_n_m_1.noOfTerms; for(int i = 0; i < poly_n_m_2.noOfTerms; i++) { result->termList[nn+i] = poly_n_m_2.termList[i]; result->termList[nn+i].ia--; result->termList[nn+i].coeff *= (n-1) * 0.5; } result->noOfTerms = poly_n_m_1.noOfTerms + poly_n_m_2.noOfTerms; } } return 0; } static int create_3d_poly_from_1d_poly_symb(poly_3d_struct_symb* poly_3d, poly_1d_struct_symb* poly_1d, int coordIndex) { memset(poly_3d, 0, sizeof(poly_3d_struct_symb)); for(int i = 0; i < poly_1d->noOfTerms; i++) { poly_3d->termList[i].coeff = poly_1d->termList[i].coeff; poly_3d->termList[i].monomialInts[coordIndex] = poly_1d->termList[i].ix; poly_3d->termList[i].ia = poly_1d->termList[i].ia; } poly_3d->noOfTerms = poly_1d->noOfTerms; return 0; } static int compute_product_of_3d_polys_symb(poly_3d_struct_symb* result, poly_3d_struct_symb* poly_1, poly_3d_struct_symb* poly_2) { int termCount = 0; int termidx_1, termidx_2; for(termidx_1 = 0; termidx_1 < poly_1->noOfTerms; termidx_1++) for(termidx_2 = 0; termidx_2 < poly_2->noOfTerms; termidx_2++) { poly_3d_term_struct_symb* term_1 = &poly_1->termList[termidx_1]; poly_3d_term_struct_symb* term_2 = &poly_2->termList[termidx_2]; // Create product term poly_3d_term_struct_symb newTerm; newTerm.coeff = term_1->coeff * term_2->coeff; for(int k = 0; k < 3; k++) newTerm.monomialInts[k] = term_1->monomialInts[k] + term_2->monomialInts[k]; newTerm.ia = term_1->ia + term_2->ia; result->termList[termCount] = newTerm; termCount++; assert(termCount < MAX_NO_OF_3D_TERMS); } // END FOR termidx_1 termidx_2 result->noOfTerms = termCount; return 0; } int get_hermite_conversion_matrix_symb(const monomial_info_struct* monomial_info, int nmax, int inverseFlag, symb_matrix_element* result) { int noOfMonomials = monomial_info->no_of_monomials_list[nmax]; memset(result, 0, noOfMonomials*noOfMonomials*sizeof(symb_matrix_element)); int monomialIndex; for(monomialIndex = 0; monomialIndex < noOfMonomials; monomialIndex++) { // get monomialInts int ix = monomial_info->monomial_list[monomialIndex].ix; int iy = monomial_info->monomial_list[monomialIndex].iy; int iz = monomial_info->monomial_list[monomialIndex].iz; // Get x y z 1-d Hermite polynomials poly_1d_struct_symb hermitePoly_1d_x; poly_1d_struct_symb hermitePoly_1d_y; poly_1d_struct_symb hermitePoly_1d_z; if(inverseFlag == 1) { get_1d_hermite_poly_inv_symb(&hermitePoly_1d_x, ix); get_1d_hermite_poly_inv_symb(&hermitePoly_1d_y, iy); get_1d_hermite_poly_inv_symb(&hermitePoly_1d_z, iz); } else { get_1d_hermite_poly_symb(&hermitePoly_1d_x, ix); get_1d_hermite_poly_symb(&hermitePoly_1d_y, iy); get_1d_hermite_poly_symb(&hermitePoly_1d_z, iz); } // Store x y z Hermite polys as 3-d polys poly_3d_struct_symb hermitePoly_3d_x; poly_3d_struct_symb hermitePoly_3d_y; poly_3d_struct_symb hermitePoly_3d_z; create_3d_poly_from_1d_poly_symb(&hermitePoly_3d_x, &hermitePoly_1d_x, 0); create_3d_poly_from_1d_poly_symb(&hermitePoly_3d_y, &hermitePoly_1d_y, 1); create_3d_poly_from_1d_poly_symb(&hermitePoly_3d_z, &hermitePoly_1d_z, 2); // Compute product poly_3d_struct_symb hermitePoly_3d_xy; poly_3d_struct_symb hermitePoly_3d_xyz; compute_product_of_3d_polys_symb(&hermitePoly_3d_xy, &hermitePoly_3d_x, &hermitePoly_3d_y); compute_product_of_3d_polys_symb(&hermitePoly_3d_xyz, &hermitePoly_3d_xy, &hermitePoly_3d_z); // Go through result product poly, for each term get monomialIndex and add // coeff to final result at position given by monomialIndex. for(int i = 0; i < hermitePoly_3d_xyz.noOfTerms; i++) { poly_3d_term_struct_symb* currTerm = &hermitePoly_3d_xyz.termList[i]; // Get monomialIndex2 int ix = currTerm->monomialInts[0]; int iy = currTerm->monomialInts[1]; int iz = currTerm->monomialInts[2]; int monomialIndex2 = monomial_info->monomial_index_list[ix][iy][iz]; result[monomialIndex * noOfMonomials + monomialIndex2].coeff += currTerm->coeff; if(result[monomialIndex * noOfMonomials + monomialIndex2].ia != 0) assert(result[monomialIndex * noOfMonomials + monomialIndex2].ia == currTerm->ia); result[monomialIndex * noOfMonomials + monomialIndex2].ia = currTerm->ia; } // END FOR i } // END FOR monomialIndex return 0; } ergo-3.5/source/integrals/hermite_conversion_symb.h0000664000175000017500000000313312743400307017635 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef HERMITE_CONVERSION_SYMB_HEADER #define HERMITE_CONVERSION_SYMB_HEADER #include "integral_info.h" #include "realtype.h" typedef struct { int ia; // power of a ergo_real coeff; } symb_matrix_element; int get_hermite_conversion_matrix_symb(const monomial_info_struct* monomial_info, int nmax, int inverseFlag, symb_matrix_element* result); #endif ergo-3.5/source/integrals/mm_limit_table.cc0000664000175000017500000002401012743400307016012 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include "mm_limit_table.h" #include "matrix_norm.h" #include "template_blas_basicmath.h" const ergo_real HUGE_REAL_NUMBER = template_blas_sqrt(std::numeric_limits::max()) / 100; const int NO_OF_STEPS_PER_RANGE = 5; const ergo_real INITIAL_STEP = 0.5; const ergo_real RANGE_STEP_DIFF_FACTOR = 0.15; const int NO_OF_RANGES = 40; typedef struct { ergo_real x[MAX_MULTIPOLE_DEGREE+1][MAX_MULTIPOLE_DEGREE_BASIC+1]; } interaction_matrix_limit_struct; typedef struct { ergo_real startDistance; ergo_real maxDistance; ergo_real step; std::vector list; } interaction_matrix_limit_range_struct; class MMLimitTable { const interaction_matrix_limit_struct & get_x_from_distance(ergo_real distance) const; public: MMLimitTable(); ~MMLimitTable(); void init(ergo_real maxDistance); ergo_real get_max_abs_mm_contrib(int degree1, const ergo_real* maxMomentVectorNormList1, int degree2, const ergo_real* maxMomentVectorNormList2, ergo_real distance) const; int get_minimum_multipole_degree_needed(ergo_real distance, const multipole_struct_large* boxMultipole, int maxDegreeForDistrs, const ergo_real* maxMomentVectorNormForDistrsList, ergo_real threshold) const; int noOfRangesUsed; interaction_matrix_limit_range_struct rangeList[NO_OF_RANGES]; }; static MMLimitTable global_mmLimitTable; MMLimitTable::MMLimitTable() { noOfRangesUsed = 0; } MMLimitTable::~MMLimitTable() { } void MMLimitTable::init(ergo_real maxDistance_input) { ergo_real maxDistance = maxDistance_input + 0.1; // ELIAS NOTE 2013-11-29: add small value here to avoid problems at exactly the maxDistance_input distance. init_multipole_code(); ergo_real r = 0; ergo_real currStep = INITIAL_STEP; int rangeCount = 0; const int NO_OF_SAMPLE_POINTS = 7; ergo_real dxlist[NO_OF_SAMPLE_POINTS][3]; dxlist[0][0] = 1; dxlist[0][1] = 0; dxlist[0][2] = 0; dxlist[1][0] = 0; dxlist[1][1] = 1; dxlist[1][2] = 0; dxlist[2][0] = 0; dxlist[2][1] = 0; dxlist[2][2] = 1; dxlist[3][0] = 1; dxlist[3][1] = 1; dxlist[3][2] = 0; dxlist[4][0] = 1; dxlist[4][1] = 0; dxlist[4][2] = 1; dxlist[5][0] = 0; dxlist[5][1] = 1; dxlist[5][2] = 1; dxlist[6][0] = 1; dxlist[6][1] = 1; dxlist[6][2] = 1; MMInteractor interactor; while(r < maxDistance) { interaction_matrix_limit_range_struct & range = rangeList[rangeCount]; range.startDistance = r; range.step = currStep; range.list.resize(NO_OF_STEPS_PER_RANGE); for(int i = 0; i < NO_OF_STEPS_PER_RANGE; i++) { r = range.startDistance + i*range.step; range.maxDistance = r + range.step; for(int l_large = 0; l_large <= MAX_MULTIPOLE_DEGREE; l_large++) for(int l_small = 0; l_small <= MAX_MULTIPOLE_DEGREE_BASIC; l_small++) range.list[i].x[l_large][l_small] = 0; for(int randloop = 0; randloop < NO_OF_SAMPLE_POINTS; randloop++) { ergo_real dx = dxlist[randloop][0]; ergo_real dy = dxlist[randloop][1]; ergo_real dz = dxlist[randloop][2]; ergo_real norm = std::sqrt(dx*dx+dy*dy+dz*dz); dx *= r / norm; dy *= r / norm; dz *= r / norm; ergo_real T[MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC*MAX_NO_OF_MOMENTS_PER_MULTIPOLE]; if(r > 0) { interactor.getInteractionMatrix(dx, dy, dz, MAX_MULTIPOLE_DEGREE_BASIC, MAX_MULTIPOLE_DEGREE, T); } else { // For r=0 use huge values for all elements in T. for(int k = 0; k < MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC*MAX_NO_OF_MOMENTS_PER_MULTIPOLE; k++) T[k] = HUGE_REAL_NUMBER; } // Compute norms for submatrices of T for(int l_large = 0; l_large <= MAX_MULTIPOLE_DEGREE; l_large++) { int startIndex_large = l_large*l_large; int endIndex_large = (l_large+1)*(l_large+1); int n_large = endIndex_large - startIndex_large; for(int l_small = 0; l_small <= MAX_MULTIPOLE_DEGREE_BASIC; l_small++) { int startIndex_small = l_small*l_small; int endIndex_small = (l_small+1)*(l_small+1); int n_small = endIndex_small - startIndex_small; ergo_real T_sub[n_small*n_large]; for(int ii = 0; ii < n_large; ii++) for(int jj = 0; jj < n_small; jj++) T_sub[ii*n_small+jj] = T[(startIndex_small+jj)*MAX_NO_OF_MOMENTS_PER_MULTIPOLE+startIndex_large+ii]; ergo_real matrixNorm = get_euclidean_norm(n_large, n_small, T_sub); if(matrixNorm > range.list[i].x[l_large][l_small]) range.list[i].x[l_large][l_small] = matrixNorm; } // END FOR l_small } // END FOR l_large } // END FOR randloop } // END FOR i currStep = r * RANGE_STEP_DIFF_FACTOR; rangeCount++; if(rangeCount >= NO_OF_RANGES) throw "error in MMLimitTable::Init: (rangeCount >= NO_OF_RANGES)"; } // END WHILE noOfRangesUsed = rangeCount; } const interaction_matrix_limit_struct & MMLimitTable::get_x_from_distance(ergo_real distance) const { int rangeIndex = 0; while(rangeList[rangeIndex].maxDistance <= distance) // ELIAS NOTE 2013-11-29: changed from "<" to "<=" here to fix problem found by Anastasia, for case when (distanceLeft / range.step) divides evenly. { rangeIndex++; if(rangeIndex >= noOfRangesUsed) throw "error in MMLimitTable::get_x_from_distance: (rangeIndex >= noOfRangesUsed)"; } const interaction_matrix_limit_range_struct & range = rangeList[rangeIndex]; ergo_real distanceLeft = distance - range.startDistance; int i = (int)(distanceLeft / range.step); if(i < 0 || i >= NO_OF_STEPS_PER_RANGE) { if(i < 0) throw "error in MMLimitTable::get_x_from_distance: i <= 0"; throw "error in MMLimitTable::get_x_from_distance: i >= NO_OF_STEPS_PER_RANGE"; } const interaction_matrix_limit_struct & x = range.list[i]; return x; } ergo_real MMLimitTable::get_max_abs_mm_contrib(int degree1, const ergo_real* maxMomentVectorNormList1, int degree2, const ergo_real* maxMomentVectorNormList2, ergo_real distance) const { ergo_real maxAbsContributionFromMultipole = 0; // Get worst-case interaction matrix limits const interaction_matrix_limit_struct & x = get_x_from_distance(distance); for(int l_large = degree1; l_large >= 0; l_large--) { ergo_real contribThisDegree = 0; for(int l_small = 0; l_small <= degree2; l_small++) { contribThisDegree += maxMomentVectorNormList1[l_small] * maxMomentVectorNormList2[l_large] * x.x[l_large][l_small]; } // END FOR l_small maxAbsContributionFromMultipole += contribThisDegree; } // END FOR l_large return maxAbsContributionFromMultipole; } int MMLimitTable::get_minimum_multipole_degree_needed(ergo_real distance, const multipole_struct_large* boxMultipole, int maxDegreeForDistrs, const ergo_real* maxMomentVectorNormForDistrsList, ergo_real threshold) const { // Get worst-case interaction matrix limits const interaction_matrix_limit_struct & x = get_x_from_distance(distance); ergo_real maxAbsContribution = 0; int degreeNeeded = boxMultipole->degree; for(int l_large = boxMultipole->degree; l_large >= 0; l_large--) { degreeNeeded = l_large; ergo_real contribThisDegree = 0; for(int l_small = 0; l_small <= maxDegreeForDistrs; l_small++) { contribThisDegree += maxMomentVectorNormForDistrsList[l_small] * boxMultipole->euclideanNormList[l_large] * x.x[l_large][l_small]; } // END FOR l_small maxAbsContribution += contribThisDegree; if(maxAbsContribution > threshold) break; } // END FOR l_large return degreeNeeded; } void mm_limits_init(ergo_real maxDistance) { if(global_mmLimitTable.noOfRangesUsed > 0) { // We have initialized before, we can skip doing it again unless distance is too large. if(global_mmLimitTable.rangeList[global_mmLimitTable.noOfRangesUsed-1].maxDistance >= maxDistance) return; } global_mmLimitTable.init(maxDistance); } ergo_real mm_limits_get_max_abs_mm_contrib(int degree1, const ergo_real* maxMomentVectorNormList1, int degree2, const ergo_real* maxMomentVectorNormList2, ergo_real distance) { return global_mmLimitTable.get_max_abs_mm_contrib(degree1, maxMomentVectorNormList1, degree2, maxMomentVectorNormList2, distance); } int mm_limits_get_minimum_multipole_degree_needed(ergo_real distance, const multipole_struct_large* boxMultipole, int maxDegreeForDistrs, const ergo_real* maxMomentVectorNormForDistrsList, ergo_real threshold) { return global_mmLimitTable.get_minimum_multipole_degree_needed(distance, boxMultipole, maxDegreeForDistrs, maxMomentVectorNormForDistrsList, threshold); } ergo-3.5/source/integrals/mm_limit_table.h0000664000175000017500000000350112743400307015656 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MM_LIMIT_TABLE_HEADER #define MM_LIMIT_TABLE_HEADER #include "realtype.h" #include "multipole.h" void mm_limits_init(ergo_real maxDistance); ergo_real mm_limits_get_max_abs_mm_contrib(int degree1, const ergo_real* maxMomentVectorNormList1, int degree2, const ergo_real* maxMomentVectorNormList2, ergo_real distance); int mm_limits_get_minimum_multipole_degree_needed(ergo_real distance, const multipole_struct_large* boxMultipole, int maxDegreeForDistrs, const ergo_real* maxMomentVectorNormForDistrsList, ergo_real threshold); #endif ergo-3.5/source/integrals/hermite_conversion_explicit.h0000664000175000017500000000301312743400307020501 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef HERMITE_CONVERSION_EXPLICIT_HEADER #define HERMITE_CONVERSION_EXPLICIT_HEADER #include "realtype.h" #include "monomial_info.h" int get_hermite_conversion_matrix(const monomial_info_struct* monomial_info, int nmax, int inverseFlag, ergo_real exponent, ergo_real* result); #endif ergo-3.5/source/integrals/integral_info.cc0000664000175000017500000003137412743400307015667 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file integral_info.cc defines IntegralInfo object. IntegralInfo object provides the coefficients needed for integral evaluation. @author: Elias Rudberg responsible. */ #include #include #include #include #include #include #include #include "integral_info.h" #include "boysfunction.h" #include "output.h" #include "memorymanag.h" #define NBIN 28 static int BinCoeffs[NBIN*NBIN]; static void setup_bin_coeffs() { for(int i = 0; i < NBIN; i++) { BinCoeffs[i*NBIN+0] = 1; BinCoeffs[i*NBIN+i] = 1; for(int j = 1; j < i; j++) { BinCoeffs[i*NBIN+j] = BinCoeffs[(i-1)*NBIN+j-1] + BinCoeffs[(i-1)*NBIN+j]; } } } static int getBinCoeff(int i, int j) { if(i >= NBIN || j >= NBIN) throw "Error in integral_info getBinCoeff: (i >= NBIN || j >= NBIN)."; return BinCoeffs[i*NBIN+j]; } /* Earlier, the factorial() routine here had return type int, but that gave problems with integer overflow. */ static ergo_real factorial(int n) { if(n == 0) return 1; return n * factorial(n-1); } static int get_real_solid_harmonic_poly(int l, int m, basis_func_poly_struct* result) { setup_bin_coeffs(); ergo_real denominator; if(m == 0) denominator = 2; else denominator = 1; ergo_real NSlm = ((ergo_real)1 / (std::pow((ergo_real)2, abs(m))*factorial(l))) * std::sqrt(2*factorial(l+abs(m))*factorial(l-abs(m)) / denominator); const int MAX_DEGREE = 10; ergo_real terms[MAX_DEGREE][MAX_DEGREE][MAX_DEGREE]; memset(terms, 0, sizeof(terms)); for(int t = 0; t <= (l-abs(m))/2; t++) for(int u = 0; u <= t; u++) { ergo_real vm; int n; // n is the number of terms in the innermost sum if(m >= 0) { // m >= 0 ==> vm = 0 vm = 0; n = abs(m) / 2 + 1; } else { // m < 0 ==> vm = 0.5 vm = 0.5; n = (abs(m) - 1) / 2 + 1; } for(int v_index = 0; v_index < n; v_index++) { ergo_real v = v_index + vm; int twov = (int)(2 * v); int ix = (int)(2*t + abs(m) - 2 * (u + v)); int iy = (int)(2*(u+v)); int iz = (int)(l - 2*t - abs(m)); if(ix+iy+iz != l) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_real_solid_harmonic_poly: ix iy iz = %i %i %i", ix, iy, iz); return -1; } if(ix >= MAX_DEGREE || iy >= MAX_DEGREE || iz >= MAX_DEGREE) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_real_solid_harmonic_poly: " "(ix >= MAX_DEGREE || iy >= MAX_DEGREE || iz >= MAX_DEGREE), ix iy iz = %i %i %i", ix, iy, iz); return -1; } if(ix < 0 || iy < 0 || iz < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: (ix < 0 || iy < 0 || iz < 0)"); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "ix iy iz = %i %i %i", ix, iy, iz); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "t = %i, m = %i, u = %i, v = %f", t, m, u, (double)v); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "n = %i, v_index = %i", n, v_index); return -1; } int power_t_plus_v_minus_vm = (int)(t + v - vm); ergo_real Clmtuv = std::pow((ergo_real)-1, power_t_plus_v_minus_vm) * std::pow((ergo_real)0.25, t) * getBinCoeff(l, t) * getBinCoeff(l-t, abs(m)+t) * getBinCoeff(t, u) * getBinCoeff(abs(m), twov); terms[ix][iy][iz] += NSlm * Clmtuv; } // END FOR v_index } // END FOR t u int termCount = 0; for(int ix = 0; ix < MAX_DEGREE; ix++) for(int iy = 0; iy < MAX_DEGREE; iy++) for(int iz = 0; iz < MAX_DEGREE; iz++) { if(terms[ix][iy][iz] != 0) { result->termList[termCount].monomialInts[0] = ix; result->termList[termCount].monomialInts[1] = iy; result->termList[termCount].monomialInts[2] = iz; result->termList[termCount].coeff = terms[ix][iy][iz]; termCount++; if(termCount >= MAX_NO_OF_TERMS_IN_BASIS_FUNC_POLY) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_real_solid_harmonic_poly: (termCount >= MAX_NO_OF_TERMS_IN_BASIS_FUNC_POLY)"); return -1; } } } // END FOR ix iy iz result->noOfTerms = termCount; return 0; } int setup_basis_func_polys(IntegralInfo* b) { basis_func_poly_struct* curr = NULL; int count = 0; const int MAX_L_QUANTUM_NUMBER = BASIS_FUNC_POLY_MAX_DEGREE; ergo_real scaleFactorList[MAX_L_QUANTUM_NUMBER+1]; scaleFactorList[0] = 1; scaleFactorList[1] = 1; scaleFactorList[2] = std::sqrt(3.0); scaleFactorList[3] = std::sqrt(15.0); // Set all other factors to same value. FIXME: find out if/how/why this matters. for(int ii = 4; ii <= MAX_L_QUANTUM_NUMBER; ii++) scaleFactorList[ii] = std::sqrt(15.0); for(int l = 0; l <= MAX_L_QUANTUM_NUMBER; l++) { for(int m = -l; m <= l; m++) { curr = &b->basis_func_poly_list[count]; if(get_real_solid_harmonic_poly(l, m, curr) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_real_solid_harmonic_poly"); return -1; } // Now curr contains the Solid Harmonic polynamial as given in table 6.3 in the book by Helgaker at al. // compute scaledSolidHarmonicPrefactor if(m == 0) curr->scaledSolidHarmonicPrefactor = 1; else curr->scaledSolidHarmonicPrefactor = std::pow((ergo_real)-1, m) / std::sqrt((ergo_real)2); // use scalefactor for(int i = 0; i < curr->noOfTerms; i++) curr->termList[i].coeff /= scaleFactorList[l]; // update curr->scaledSolidHarmonicPrefactor to compensate for that each term has been divided by scaleFactor curr->scaledSolidHarmonicPrefactor *= scaleFactorList[l]; count++; if(count >= MAX_NO_OF_BASIS_FUNC_POLYS) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in setup_basis_func_polys: (count >= MAX_NO_OF_BASIS_FUNC_POLYS)"); return -1; } } // END FOR m } // END FOR l /* set monomialID for each term */ for(int j = 0; j < count; j++) { curr = &b->basis_func_poly_list[j]; for(int i = 0; i < curr->noOfTerms; i++) { basis_func_term_struct* currTerm = &curr->termList[i]; int i0 = currTerm->monomialInts[0]; int i1 = currTerm->monomialInts[1]; int i2 = currTerm->monomialInts[2]; currTerm->monomialID = b->monomial_info.monomial_index_list[i0][i1][i2]; } } b->no_of_basis_func_polys = count; return 0; } ergo_real IntegralInfo::BoysFunction(int n, ergo_real x) const { if(!initialized) throw std::runtime_error("Error in IntegralInfo::BoysFunction: not initialized."); return boysFunctionManager.BoysFunction(n, x); } int IntegralInfo::multiply_by_hermite_conversion_matrix_from_right(int n1max, int n2max, ergo_real a, ergo_real* A, ergo_real* result) const { return hermite_conversion_info.multiply_by_hermite_conversion_matrix_from_right(monomial_info, n1max, n2max, a, A, result); } int IntegralInfo::multiply_by_hermite_conversion_matrix_from_left(int n1max, int n2max, ergo_real a, ergo_real* A, ergo_real* result) const { return hermite_conversion_info.multiply_by_hermite_conversion_matrix_from_left(monomial_info, n1max, n2max, a, A, result); } int IntegralInfo::get_hermite_conversion_matrix_right(int nmax, ergo_real a, ergo_real* result) const { return hermite_conversion_info.get_hermite_conversion_matrix_right(monomial_info, nmax, a, result); } int IntegralInfo::get_hermite_conversion_matrix_left(int nmax, ergo_real a, ergo_real* result) const { return hermite_conversion_info.get_hermite_conversion_matrix_left(monomial_info, nmax, a, result); } int IntegralInfo::get_hermite_conversion_matrix_right_sparse(int nmax, ergo_real a, i_j_val_struct* result) const { return hermite_conversion_info.get_hermite_conversion_matrix_right_sparse(monomial_info, nmax, a, result); } void IntegralInfo::init() { if(initialized) return; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "IntegralInfo::init() calling boysFunctionManager.init()."); boysFunctionManager.init(); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "IntegralInfo::init() calling monomial_info.init()."); monomial_info.init(); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "IntegralInfo::init() calling hermite_conversion_info.init()."); hermite_conversion_info.init(monomial_info); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "IntegralInfo::init() calling setup_basis_func_polys"); if(setup_basis_func_polys(this) != 0) throw std::runtime_error("Error in IntegralInfo::init(), in setup_basis_func_polys().."); initialized = true; } IntegralInfo::IntegralInfo(bool initialize) : initialized(false) { if(initialize) init(); } IntegralInfo::~IntegralInfo() { /* Nothing is dynamically allocated, nothing needs to be released. */ } /** Function needed for Chunks&Tasks usage. */ IntegralInfo::IntegralInfo(const IntegralInfo & ii) : boysFunctionManager(ii.boysFunctionManager), hermite_conversion_info(ii.hermite_conversion_info), initialized(ii.initialized), no_of_basis_func_polys(ii.no_of_basis_func_polys), monomial_info(ii.monomial_info) { memcpy(basis_func_poly_list, ii.basis_func_poly_list, sizeof(basis_func_poly_list)); } /** Function needed for Chunks&Tasks usage. */ void IntegralInfo::write_to_buffer ( char * dataBuffer, size_t const bufferSize ) const { if(!initialized) throw std::runtime_error("Error: IntegralInfo::write_to_buffer called when not initialized."); char* p = dataBuffer; if(bufferSize < get_size()) throw std::runtime_error("Error: bufferSize too small."); // boysFunctionManager boysFunctionManager.write_to_buffer(p, bufferSize - (p - dataBuffer)); p += boysFunctionManager.get_size(); // hermite_conversion_info hermite_conversion_info.write_to_buffer(p, bufferSize - (p - dataBuffer)); p += hermite_conversion_info.get_size(); // initialized memcpy(p, &initialized, sizeof(bool)); p += sizeof(bool); // basis_func_poly_list memcpy(p, basis_func_poly_list, MAX_NO_OF_BASIS_FUNC_POLYS*sizeof(basis_func_poly_struct)); p += MAX_NO_OF_BASIS_FUNC_POLYS*sizeof(basis_func_poly_struct); // no_of_basis_func_polys memcpy(p, &no_of_basis_func_polys, sizeof(int)); p += sizeof(int); // monomial_info monomial_info.write_to_buffer(p, bufferSize - (p - dataBuffer)); p += monomial_info.get_size(); // DONE! } /** Function needed for Chunks&Tasks usage. */ size_t IntegralInfo::get_size() const { return boysFunctionManager.get_size() + hermite_conversion_info.get_size() + sizeof(bool) + MAX_NO_OF_BASIS_FUNC_POLYS*sizeof(basis_func_poly_struct) + sizeof(int) + monomial_info.get_size(); } /** Function needed for Chunks&Tasks usage. */ void IntegralInfo::assign_from_buffer ( char const * dataBuffer, size_t const bufferSize) { const char* p = dataBuffer; // boysFunctionManager boysFunctionManager.assign_from_buffer(p, bufferSize - (p - dataBuffer)); p += boysFunctionManager.get_size(); // hermite_conversion_info hermite_conversion_info.assign_from_buffer(p, bufferSize - (p - dataBuffer)); p += hermite_conversion_info.get_size(); // initialized memcpy(&initialized, p, sizeof(bool)); p += sizeof(bool); // basis_func_poly_list memcpy(basis_func_poly_list, p, MAX_NO_OF_BASIS_FUNC_POLYS*sizeof(basis_func_poly_struct)); p += MAX_NO_OF_BASIS_FUNC_POLYS*sizeof(basis_func_poly_struct); // no_of_basis_func_polys memcpy(&no_of_basis_func_polys, p, sizeof(int)); p += sizeof(int); // monomial_info monomial_info.assign_from_buffer(p, bufferSize - (p - dataBuffer)); p += monomial_info.get_size(); // DONE! if(static_cast(p-dataBuffer) > bufferSize) throw std::runtime_error("Error: (p > bufferSize)."); } ergo-3.5/source/integrals/integrals_2el_explicit.cc0000664000175000017500000002164412743400307017501 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* Written by Elias Rudberg, KTH, Stockholm */ #include #include #include #include #include #include #include #include "integrals_2el_explicit.h" #include "memorymanag.h" #include "pi.h" #include "output.h" #include "utilities.h" #include "boysfunction.h" #include "integral_info.h" #include "integrals_general.h" #include "integrals_2el_single.h" typedef struct { int a, b, c, d; int poly_ab_index; int poly_cd_index; } abcd_struct; #define set_abcd_list_item_macro(i,A,B,C,D) \ list[i].a = A; list[i].b = B; list[i].c = C; list[i].d = D; static int globalCount = 0; ergo_real do_2e_integral(int mu, int nu, int la, int si, const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo) { return do_2e_integral_general(mu, nu, la, si, basisInfo, basisInfo, basisInfo, basisInfo, integralInfo); } ergo_real do_2e_integral_general(int mu, int nu, int la, int si, const BasisInfoStruct & basisInfo_mu, const BasisInfoStruct & basisInfo_nu, const BasisInfoStruct & basisInfo_la, const BasisInfoStruct & basisInfo_si, const IntegralInfo & integralInfo) { int n_psi2, i, j; ergo_real sum, currIntegral; const int maxCount = 1000; DistributionSpecStruct list_psi1[maxCount]; DistributionSpecStruct list_psi2[maxCount]; /* form product of basisfuncs mu and nu, store product in psi1 */ int n_psi1 = get_product_simple_primitives(basisInfo_mu, mu, basisInfo_nu, nu, list_psi1, maxCount, 0); if(n_psi1 <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_primitives\n"); exit(0); return 0; } /* form product of basisfuncs la and si, store product in psi2 */ n_psi2 = get_product_simple_primitives(basisInfo_la, la, basisInfo_si, si, list_psi2, maxCount, 0); if(n_psi2 <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_primitives\n"); exit(0); return 0; } const JK::ExchWeights CAM_params_not_used; sum = 0; for(i = 0; i < n_psi1; i++) { DistributionSpecStruct* prim_psi1 = &list_psi1[i]; for(j = 0; j < n_psi2; j++) { DistributionSpecStruct* prim_psi2 = &list_psi2[j]; globalCount++; currIntegral = do_2e_integral_using_symb_info(CAM_params_not_used, prim_psi1, prim_psi2, integralInfo); sum += currIntegral; } /* END FOR j */ } /* END FOR i */ return sum; } /** compute_2e_matrix_simple computes the 2el matrix in the simplest possible way. It assumes that the matrix is computed for closed shell. The weight of the HF exchange is controlled by @param hf_weight which is equal 1 for ordinary Hartree-Fock calculation. No assumption are made regarding symmetry of the density matrix @param dens . The computed two-electron part of the Fock matrix is returned in @param result . @param basisInfo info about the used basis set. @param integralInfo info needed for evaluation of integrals of Gaussian functions. */ int compute_2e_matrix_simple(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real hf_weight, ergo_real* result, const ergo_real* dens) { int mu, nu, sigma, lambda; int nbast = basisInfo.noOfBasisFuncs; ergo_real munusila, mulasinu, sum; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "entering compute_2e_matrix HF_WEIGHT=%f", (double)hf_weight); for(mu = 0; mu < nbast; mu++) { for(nu = 0; nu < nbast; nu++) { sum = 0; for(lambda = 0; lambda < nbast; lambda++) { for(sigma = 0; sigma < nbast; sigma++) { munusila = do_2e_integral(mu, nu, sigma, lambda, basisInfo, integralInfo); mulasinu = do_2e_integral(mu, lambda, sigma, nu, basisInfo, integralInfo); sum += dens[lambda*nbast+sigma] * (munusila - 0.5 * hf_weight * mulasinu); } /* END FOR sigma */ } /* END FOR lambda */ result[mu*nbast+nu] = sum; } /* END FOR nu */ } /* END FOR mu */ do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_2e_matrix ending OK\n"); return 0; } static int compute_J_and_K_integraldriven(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real* J, ergo_real* K, ergo_real* dens) { int n, nBytes, i, j, count, a, b, c, d; Util::TimeMeter timeMeter; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "entering compute_J_and_K_integraldriven"); n = basisInfo.noOfBasisFuncs; nBytes = n * n * sizeof(ergo_real); memset(J, 0, nBytes); memset(K, 0, nBytes); count = 0; a = 0; b = 0; c = 0; d = 0; while(d < n) { abcd_struct list[8]; /* compute integral */ ergo_real integralValue = do_2e_integral(a, b, c, d, basisInfo, integralInfo); count++; /* determine unique configurations */ set_abcd_list_item_macro(0, a, b, c, d); set_abcd_list_item_macro(1, a, b, d, c); set_abcd_list_item_macro(2, b, a, c, d); set_abcd_list_item_macro(3, b, a, d, c); set_abcd_list_item_macro(4, c, d, a, b); set_abcd_list_item_macro(5, d, c, a, b); set_abcd_list_item_macro(6, c, d, b, a); set_abcd_list_item_macro(7, d, c, b, a); for(i = 0; i < 8; i++) { abcd_struct* abcd = &list[i]; int aa, bb, cc, dd; /* check if this is a new unique configuration */ int unique = 1; for(j = 0; j < i; j++) { if(abcd->a == list[j].a && abcd->b == list[j].b && abcd->c == list[j].c && abcd->d == list[j].d) unique = 0; } if(unique == 0) continue; /* now we know that this configuration is unique. */ aa = abcd->a; bb = abcd->b; cc = abcd->c; dd = abcd->d; #if 1 /* add contribution to coulomb matrix */ J[aa*n+bb] += dens[cc*n+dd] * integralValue; /* add contribution to exchange matrix */ K[aa*n+dd] += -0.5 * dens[bb*n+cc] * integralValue; #endif } /* END FOR i go through 8 configurations */ /* now get numbers for next unique integral */ d++; if(d < n) continue; /* d has hit the roof */ c++; if(c < n) { d = c; continue; } /* c has hit roof */ b++; if(b < n) { c = a; d = b; continue; } /* b has hit roof */ a++; if(a < n) { b = a; c = a; d = a; continue; } /* a has hit roof. This means that we are done. */ break; } /* END WHILE more unique integrals */ do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_J_and_K_integraldriven ending OK"); timeMeter.print(LOG_AREA_INTEGRALS, "compute_J_and_K_integraldriven"); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "number of unique integrals computed: %i", count); return 0; } int compute_2e_matrix_list_explicit(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real** resultList, ergo_real** densList, int noOfMatrices, ergo_real threshold) { ergo_real* J; int n, i, j; if(noOfMatrices != 1) do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_2e_matrix_list_explicit: (noOfMatrices != 1), will take some time"); n = basisInfo.noOfBasisFuncs; J = (ergo_real*)ergo_malloc(n*n*sizeof(ergo_real)); for(j = 0; j < noOfMatrices; j++) { if(compute_J_and_K_integraldriven(basisInfo, integralInfo, J, resultList[j], densList[j]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_J_and_K_integraldriven"); return -1; } for(i = 0; i < n*n; i++) { resultList[j][i] += J[i]; } // END FOR i } // END FOR j ergo_free(J); return 0; } ergo-3.5/source/integrals/basis_func_extent_1el.h0000664000175000017500000000302012743400307017140 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef BASIS_FUNC_EXTENT_1EL_HEADER #define BASIS_FUNC_EXTENT_1EL_HEADER #include "realtype.h" #include "basisinfo.h" int compute_extent_for_all_basis_funcs_1el(const BasisInfoStruct & basisInfo, ergo_real* basisFuncExtentList, ergo_real maxCharge, ergo_real threshold); #endif ergo-3.5/source/integrals/integrals_2el_exchange.cc0000664000175000017500000023172212743400307017442 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include "integrals_2el_exchange.h" #include "integrals_2el_utils.h" #include "integrals_hermite.h" #include "mm_limit_table.h" #include "pi.h" #include "pthread.h" #include "utilities.h" #include "matrix_algebra.h" #include "integrals_2el_util_funcs.h" static const int HUGE_INTEGER_NUMBER = 2000000000; typedef struct { int boxIndex_1; int boxIndex_2; int useMultipole; ergo_real distance; } job_list_entry_K_struct; static inline int ergo_csr_find_index_inline(const csr_matrix_struct* csr, int row, int col) { int n = csr->rowList[row].noOfElementsInRow; int baseIndex = csr->rowList[row].firstElementIndex; int* colList = &csr->columnIndexList[baseIndex]; int lo = 0; int hi = n-1; while(lo < hi - 1) { int mid = (lo + hi) / 2; if(colList[mid] < col) lo = mid; else hi = mid; } if(colList[lo] == col) return baseIndex + lo; if(colList[hi] == col) return baseIndex + hi; // Not found return -1; } static inline ergo_real ergo_CSR_get_element_inline(const csr_matrix_struct* csr, int row, int col) { int row2 = row; int col2 = col; if(csr->symmetryFlag) { if(row > col) { row2 = col; col2 = row; } } int i = ergo_csr_find_index_inline(csr, row2, col2); if(i < 0) return 0; return csr->elementList[i]; } typedef struct { int a, b, c, d; int poly_ab_index; int poly_cd_index; int idx1; int idx2; ergo_real densValue; } abcd_struct; #define set_abcd_list_item_macro(i,A,B,C,D,v,i1,i2) \ list[i].a = A; list[i].b = B; list[i].c = C; list[i].d = D; list[i].densValue = v; list[i].idx1 = i1; list[i].idx2 = i2; pthread_mutex_t K_CSR_shared_access_mutex = PTHREAD_MUTEX_INITIALIZER; static int get_K_contribs_from_2_interacting_boxes(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, int maxNoOfMonomials, ergo_real* K, csr_matrix_struct* K_CSR_shared, const ergo_real* dens, const csr_matrix_struct* dens_CSR, int symmetryFlag, const distr_org_struct & distr_org_struct_1, const distr_org_struct & distr_org_struct_2, int interactionWithSelf, ergo_real threshold, JK_contribs_buffer_struct* bufferStructPtr, int use_multipole_screening_for_clusters, ergo_real boxDistance) { int n = basisInfo.noOfBasisFuncs; const ergo_real twoTimesPiToPow5half = 2 * pitopow52;// = 2 * pow(pi, 2.5); ergo_real* summedIntegralList = bufferStructPtr->summedIntegralList; ergo_real* primitiveIntegralList = bufferStructPtr->primitiveIntegralList; int nChunks_1 = distr_org_struct_1.chunkCount; int nChunks_2 = distr_org_struct_2.chunkCount; const chunk_struct* chunkList_1 = &distr_org_struct_1.chunkList[0]; const chunk_struct* chunkList_2 = &distr_org_struct_2.chunkList[0]; const cluster_struct* clusterList_1 = &distr_org_struct_1.clusterList[0]; const cluster_struct* clusterList_2 = &distr_org_struct_2.clusterList[0]; const distr_group_struct* groupList_1 = &distr_org_struct_1.groupList[0]; const distr_group_struct* groupList_2 = &distr_org_struct_2.groupList[0]; const basis_func_pair_struct* basisFuncPairList_1 = &distr_org_struct_1.basisFuncPairList[0]; const basis_func_pair_struct* basisFuncPairList_2 = &distr_org_struct_2.basisFuncPairList[0]; const int* basisFuncListForChunks_1 = &distr_org_struct_1.basisFuncListForChunks[0]; const int* basisFuncListForChunks_map_1 = &distr_org_struct_1.basisFuncListForChunks_map[0]; const int* basisFuncListForChunks_2 = &distr_org_struct_2.basisFuncListForChunks[0]; const int* basisFuncListForChunks_map_2 = &distr_org_struct_2.basisFuncListForChunks_map[0]; const int* basisFuncList_1 = &distr_org_struct_1.basisFuncList[0]; int basisFuncList_1_count = distr_org_struct_1.basisFuncListCount; const int* basisFuncList_2 = &distr_org_struct_2.basisFuncList[0]; int basisFuncList_2_count = distr_org_struct_2.basisFuncListCount; const i_j_val_struct* spMatElementList_1 = &distr_org_struct_1.spMatElementList[0]; const int* spMatCountList_1 = &distr_org_struct_1.spMatCountList[0]; const int* spMatIdxList_1 = &distr_org_struct_1.spMatIdxList[0]; const i_j_val_struct* spMatElementList_2 = &distr_org_struct_2.spMatElementList[0]; const int* spMatCountList_2 = &distr_org_struct_2.spMatCountList[0]; const int* spMatIdxList_2 = &distr_org_struct_2.spMatIdxList[0]; // Set up "partial box-box density matrix" int nnn1 = basisFuncList_1_count; int nnn2 = basisFuncList_2_count; ergo_real* partial_dmat_1 = bufferStructPtr->partial_dmat_1; ergo_real* partial_dmat_2 = bufferStructPtr->partial_dmat_2; ergo_real maxabsdmatelement_boxbox = 0; for(int i1 = 0; i1 < nnn1; i1++) for(int i2 = 0; i2 < nnn2; i2++) { int a = basisFuncList_1[i1]; int b = basisFuncList_2[i2]; if(dens) partial_dmat_1[i1*nnn2+i2] = dens[a*n+b]; else partial_dmat_1[i1*nnn2+i2] = ergo_CSR_get_element_inline(dens_CSR, a, b); ergo_real absval = std::fabs(partial_dmat_1[i1*nnn2+i2]); if(absval > maxabsdmatelement_boxbox) maxabsdmatelement_boxbox = absval; } if(symmetryFlag == 0) { for(int i1 = 0; i1 < nnn1; i1++) for(int i2 = 0; i2 < nnn2; i2++) { int a = basisFuncList_1[i1]; int b = basisFuncList_2[i2]; if(dens) partial_dmat_2[i1*nnn2+i2] = dens[b*n+a]; else partial_dmat_2[i1*nnn2+i2] = ergo_CSR_get_element_inline(dens_CSR, b, a); ergo_real absval = std::fabs(partial_dmat_2[i1*nnn2+i2]); if(absval > maxabsdmatelement_boxbox) maxabsdmatelement_boxbox = absval; } } ergo_real* partial_K_1 = bufferStructPtr->partial_K_1; ergo_real* partial_K_2 = bufferStructPtr->partial_K_2; for(int i1 = 0; i1 < nnn1; i1++) for(int i2 = 0; i2 < nnn2; i2++) { partial_K_1[i1*nnn2+i2] = 0; if(symmetryFlag == 0) partial_K_2[i1*nnn2+i2] = 0; } for(int chunk_i = 0; chunk_i < nChunks_1; chunk_i++) { int chunk_j_start = 0; if(interactionWithSelf == 1) chunk_j_start = chunk_i; for(int chunk_j = chunk_j_start; chunk_j < nChunks_2; chunk_j++) { int noOfBasisFuncPairs_1 = chunkList_1[chunk_i].noOfBasisFuncPairs; int noOfBasisFuncPairs_2 = chunkList_2[chunk_j].noOfBasisFuncPairs; // set integral list to zero memset(summedIntegralList, 0, noOfBasisFuncPairs_1*noOfBasisFuncPairs_2*sizeof(ergo_real)); // Set up "local density matrix" for this pair of chunks. int nn1 = chunkList_1[chunk_i].basisFuncForChunkCount; int nn2 = chunkList_2[chunk_j].basisFuncForChunkCount; ergo_real local_dmat_1[nn1][nn2]; ergo_real local_dmat_2[nn1][nn2]; ergo_real maxabsdmatelement = 0; for(int i1 = 0; i1 < nn1; i1++) for(int i2 = 0; i2 < nn2; i2++) { int a = basisFuncListForChunks_1[chunkList_1[chunk_i].basisFuncForChunksIndex+i1]; int b = basisFuncListForChunks_2[chunkList_2[chunk_j].basisFuncForChunksIndex+i2]; int a2 = basisFuncListForChunks_map_1[chunkList_1[chunk_i].basisFuncForChunksIndex+i1]; int b2 = basisFuncListForChunks_map_2[chunkList_2[chunk_j].basisFuncForChunksIndex+i2]; if(dens) { local_dmat_1[i1][i2] = dens[a*n+b]; if(symmetryFlag == 0) local_dmat_2[i1][i2] = dens[b*n+a]; } else { local_dmat_1[i1][i2] = partial_dmat_1[a2*nnn2+b2]; if(symmetryFlag == 0) local_dmat_2[i1][i2] = partial_dmat_2[a2*nnn2+b2]; } ergo_real absval = std::fabs(local_dmat_1[i1][i2]); if(absval > maxabsdmatelement) maxabsdmatelement = absval; if(symmetryFlag == 0) { ergo_real absval = std::fabs(local_dmat_2[i1][i2]); if(absval > maxabsdmatelement) maxabsdmatelement = absval; } } int cluster_i_start = chunkList_1[chunk_i].clusterStartIndex; int clusterCount1 = chunkList_1[chunk_i].noOfClusters; for(int cluster_i = cluster_i_start; cluster_i < cluster_i_start + clusterCount1; cluster_i++) { int cluster_j_start = chunkList_2[chunk_j].clusterStartIndex; int clusterCount2 = chunkList_2[chunk_j].noOfClusters; int cluterIndexEnd2 = cluster_j_start + clusterCount2; if(interactionWithSelf == 1 && chunk_i == chunk_j) cluster_j_start = cluster_i; for(int cluster_j = cluster_j_start; cluster_j < cluterIndexEnd2; cluster_j++) { // check if we can skip this combination of clusters if(clusterList_1[cluster_i].maxLimitingFactorForCluster * clusterList_2[cluster_j].maxLimitingFactorForCluster * maxabsdmatelement < threshold) continue; if(use_multipole_screening_for_clusters == 1) { // Try multipole screening int maxDegree = 2; ergo_real maxAbsContributionFromMultipole = mm_limits_get_max_abs_mm_contrib(maxDegree, clusterList_1[cluster_i].multipoleEuclideanNormList, maxDegree, clusterList_2[cluster_j].multipoleEuclideanNormList, boxDistance); if(maxAbsContributionFromMultipole * maxabsdmatelement < threshold) continue; } // END IF try multipole screening int group_i_start = clusterList_1[cluster_i].groupStartIndex; int group_i_end = group_i_start + clusterList_1[cluster_i].noOfGroups; int group_j_start = clusterList_2[cluster_j].groupStartIndex; int group_j_end = group_j_start + clusterList_2[cluster_j].noOfGroups; int n1max = clusterList_1[cluster_i].nmax; int n2max = clusterList_2[cluster_j].nmax; int noOfMonomials_1 = integralInfo.monomial_info.no_of_monomials_list[n1max]; int noOfMonomials_2 = integralInfo.monomial_info.no_of_monomials_list[n2max]; // Now we can precompute things that depend only on exponents ergo_real alpha_1 = groupList_1[group_i_start].exponent; ergo_real alpha_2 = groupList_2[group_j_start].exponent; ergo_real alphasum = alpha_1 + alpha_2; ergo_real alphaproduct = alpha_1 * alpha_2; ergo_real alpha_0 = alphaproduct / alphasum; ergo_real resultPreFactor = twoTimesPiToPow5half / (alphaproduct*std::sqrt(alphasum)); for(int group_i = group_i_start; group_i < group_i_end; group_i++) { if(interactionWithSelf == 1 && chunk_i == chunk_j && cluster_i == cluster_j) group_j_start = group_i; for(int group_j = group_j_start; group_j < group_j_end; group_j++) { // Try Cauchy-Schwartz screening if(groupList_1[group_i].maxLimitingFactorGroup * groupList_2[group_j].maxLimitingFactorGroup * maxabsdmatelement < threshold) continue; ergo_real dx = groupList_2[group_j].centerCoords[0] - groupList_1[group_i].centerCoords[0]; ergo_real dy = groupList_2[group_j].centerCoords[1] - groupList_1[group_i].centerCoords[1]; ergo_real dz = groupList_2[group_j].centerCoords[2] - groupList_1[group_i].centerCoords[2]; // Check if multipole screening can be used ergo_real distance = std::sqrt(dx*dx+dy*dy+dz*dz); if(distance > groupList_1[group_i].maxExtentGroup + groupList_2[group_j].maxExtentGroup) { // Try multipole screening int maxDegree = 2; ergo_real maxAbsContributionFromMultipole = mm_limits_get_max_abs_mm_contrib(maxDegree, groupList_1[group_i].multipoleEuclideanNormList, maxDegree, groupList_2[group_j].multipoleEuclideanNormList, distance); if(maxAbsContributionFromMultipole * maxabsdmatelement < threshold) continue; } // END IF try multipole screening // now we can do all integrals needed for this pair of groups // now we have dx dy dz alpha0 alpha1 n1max n2max. Get all integrals for this case. get_related_integrals_hermite(integralInfo, CAM_params, n1max, noOfMonomials_1, n2max, noOfMonomials_2, dx, dy, dz, alpha_0, resultPreFactor, primitiveIntegralList); if(interactionWithSelf == 1 && group_j == group_i && chunk_i == chunk_j && cluster_i == cluster_j) { do_summedIntegralList_contribs_self(&spMatElementList_1[spMatIdxList_1[group_i]], spMatCountList_1[group_i], &spMatElementList_2[spMatIdxList_2[group_j]], spMatCountList_2[group_j], noOfMonomials_1, noOfMonomials_2, primitiveIntegralList, noOfBasisFuncPairs_1, noOfBasisFuncPairs_2, summedIntegralList); } else { do_summedIntegralList_contribs_std(&spMatElementList_1[spMatIdxList_1[group_i]], spMatCountList_1[group_i], &spMatElementList_2[spMatIdxList_2[group_j]], spMatCountList_2[group_j], noOfMonomials_1, noOfMonomials_2, primitiveIntegralList, noOfBasisFuncPairs_1, noOfBasisFuncPairs_2, summedIntegralList); } } // END FOR group_j } // END FOR group_i } // END FOR cluster_j } // END FOR cluster_i for(int idx_1 = 0; idx_1 < noOfBasisFuncPairs_1; idx_1++) for(int idx_2 = 0; idx_2 < noOfBasisFuncPairs_2; idx_2++) { int a = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+idx_1].index_1; int b = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+idx_1].index_2; int c = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+idx_2].index_1; int d = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+idx_2].index_2; ergo_real integralValueCurr = summedIntegralList[idx_1*noOfBasisFuncPairs_2 + idx_2]; int a_mod = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+idx_1].index_1_mod; int b_mod = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+idx_1].index_2_mod; int c_mod = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+idx_2].index_1_mod; int d_mod = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+idx_2].index_2_mod; int a_mod2 = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+idx_1].index_inbox_1; int b_mod2 = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+idx_1].index_inbox_2; int c_mod2 = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+idx_2].index_inbox_1; int d_mod2 = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+idx_2].index_inbox_2; if(a == c && b == d) integralValueCurr *= 2; if(std::fabs(integralValueCurr)*maxabsdmatelement < threshold) continue; ergo_real dens_ac = local_dmat_1[a_mod][c_mod]; ergo_real dens_ad = local_dmat_1[a_mod][d_mod]; ergo_real dens_bc = local_dmat_1[b_mod][c_mod]; ergo_real dens_bd = local_dmat_1[b_mod][d_mod]; ergo_real dens_ca = dens_ac; ergo_real dens_da = dens_ad; ergo_real dens_cb = dens_bc; ergo_real dens_db = dens_bd; if(symmetryFlag == 0) { dens_ca = local_dmat_2[a_mod][c_mod]; dens_da = local_dmat_2[a_mod][d_mod]; dens_cb = local_dmat_2[b_mod][c_mod]; dens_db = local_dmat_2[b_mod][d_mod]; } if(symmetryFlag && !K) { if(a != b && c != d && a != c && a != d && b != c && b != d) { partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr; partial_K_1[a_mod2*nnn2+c_mod2] += -0.5 * dens_bd * integralValueCurr; partial_K_1[b_mod2*nnn2+c_mod2] += -0.5 * dens_ad * integralValueCurr; partial_K_1[b_mod2*nnn2+d_mod2] += -0.5 * dens_ac * integralValueCurr; } else if(a == b && c != d && a != c && a != d && b != c && b != d) { // OK partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr; partial_K_1[b_mod2*nnn2+c_mod2] += -0.5 * dens_ad * integralValueCurr; } else if(a != b && c == d && a != c && a != d && b != c && b != d) { // OK partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr; partial_K_1[b_mod2*nnn2+c_mod2] += -0.5 * dens_ad * integralValueCurr; } else if(a != b && c != d && a == c && a != d && b != c && b != d) { // OK partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr; partial_K_1[a_mod2*nnn2+c_mod2] += -0.5 * dens_bd * integralValueCurr * 2.0; partial_K_1[b_mod2*nnn2+c_mod2] += -0.5 * dens_ad * integralValueCurr; partial_K_1[b_mod2*nnn2+d_mod2] += -0.5 * dens_ac * integralValueCurr; } else if(a != b && c != d && a != c && a == d && b != c && b != d) { // OK partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr * 2.0; partial_K_1[a_mod2*nnn2+c_mod2] += -0.5 * dens_bd * integralValueCurr; partial_K_1[b_mod2*nnn2+c_mod2] += -0.5 * dens_ad * integralValueCurr; partial_K_1[b_mod2*nnn2+d_mod2] += -0.5 * dens_ac * integralValueCurr; } else if(a != b && c != d && a != c && a != d && b == c && b != d) { // OK partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr; partial_K_1[a_mod2*nnn2+c_mod2] += -0.5 * dens_bd * integralValueCurr; partial_K_1[b_mod2*nnn2+c_mod2] += -0.5 * dens_ad * integralValueCurr * 2.0; partial_K_1[b_mod2*nnn2+d_mod2] += -0.5 * dens_ac * integralValueCurr; } else if(a != b && c != d && a != c && a != d && b != c && b == d) { // OK partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr; partial_K_1[a_mod2*nnn2+c_mod2] += -0.5 * dens_bd * integralValueCurr; partial_K_1[b_mod2*nnn2+c_mod2] += -0.5 * dens_ad * integralValueCurr; partial_K_1[b_mod2*nnn2+d_mod2] += -0.5 * dens_ac * integralValueCurr * 2.0; } else if(a != b && c != d && a == c && b == d) { // OK partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr; partial_K_1[a_mod2*nnn2+c_mod2] += -0.5 * dens_bd * integralValueCurr; partial_K_1[b_mod2*nnn2+d_mod2] += -0.5 * dens_ac * integralValueCurr; } else if(a == b && c == d && a != c && a != d && b != c && b != d) { // OK partial_K_1[a_mod2*nnn2+c_mod2] += -0.5 * dens_bd * integralValueCurr; } else if(a == b && c == d && a == c && a == d && b == c && b == d) { // OK partial_K_1[a_mod2*nnn2+c_mod2] += -0.5 * dens_bd * integralValueCurr; } else if(a == b && c != d && a == c && a != d) { // OK partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr; partial_K_1[a_mod2*nnn2+c_mod2] += -0.5 * dens_bd * integralValueCurr*2.0; } else if(a == b && c != d && a != c && a == d) { // OK partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr*2.0; partial_K_1[a_mod2*nnn2+c_mod2] += -0.5 * dens_bd * integralValueCurr; } else if(a != b && c == d && a == c && b != d) { // OK partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr*2.0; partial_K_1[b_mod2*nnn2+d_mod2] += -0.5 * dens_ac * integralValueCurr; } else if(a != b && c == d && b == c && a != d) { // OK partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr; partial_K_1[b_mod2*nnn2+d_mod2] += -0.5 * dens_ac * integralValueCurr*2.0; } else { return -1; } } else if(a != b && c != d && a != c && a != d && b != c && b != d) { if(symmetryFlag) { partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr; partial_K_1[a_mod2*nnn2+c_mod2] += -0.5 * dens_bd * integralValueCurr; partial_K_1[b_mod2*nnn2+c_mod2] += -0.5 * dens_ad * integralValueCurr; partial_K_1[b_mod2*nnn2+d_mod2] += -0.5 * dens_ac * integralValueCurr; if(K) { if(d >= a) K[a*n+d] += -0.5 * dens_bc * integralValueCurr; else K[d*n+a] += -0.5 * dens_bc * integralValueCurr; if(c >= a) K[a*n+c] += -0.5 * dens_bd * integralValueCurr; else K[c*n+a] += -0.5 * dens_bd * integralValueCurr; if(c >= b) K[b*n+c] += -0.5 * dens_ad * integralValueCurr; else K[c*n+b] += -0.5 * dens_ad * integralValueCurr; if(d >= b) K[b*n+d] += -0.5 * dens_ac * integralValueCurr; else K[d*n+b] += -0.5 * dens_ac * integralValueCurr; } } else { partial_K_1[a_mod2*nnn2+d_mod2] += -0.5 * dens_bc * integralValueCurr; partial_K_1[a_mod2*nnn2+c_mod2] += -0.5 * dens_bd * integralValueCurr; partial_K_1[b_mod2*nnn2+c_mod2] += -0.5 * dens_ad * integralValueCurr; partial_K_1[b_mod2*nnn2+d_mod2] += -0.5 * dens_ac * integralValueCurr; partial_K_2[a_mod2*nnn2+d_mod2] += -0.5 * dens_cb * integralValueCurr; partial_K_2[a_mod2*nnn2+c_mod2] += -0.5 * dens_db * integralValueCurr; partial_K_2[b_mod2*nnn2+c_mod2] += -0.5 * dens_da * integralValueCurr; partial_K_2[b_mod2*nnn2+d_mod2] += -0.5 * dens_ca * integralValueCurr; if(K) { K[a*n+d] += -0.5 * dens[b*n+c] * integralValueCurr; K[a*n+c] += -0.5 * dens[b*n+d] * integralValueCurr; K[b*n+d] += -0.5 * dens[a*n+c] * integralValueCurr; K[b*n+c] += -0.5 * dens[a*n+d] * integralValueCurr; K[c*n+b] += -0.5 * dens[d*n+a] * integralValueCurr; K[d*n+b] += -0.5 * dens[c*n+a] * integralValueCurr; K[c*n+a] += -0.5 * dens[d*n+b] * integralValueCurr; K[d*n+a] += -0.5 * dens[c*n+b] * integralValueCurr; } } } else { abcd_struct list[8]; /* determine unique configurations */ set_abcd_list_item_macro(0, a, b, c, d, dens_bc, a_mod2, d_mod2); set_abcd_list_item_macro(1, a, b, d, c, dens_bd, a_mod2, c_mod2); set_abcd_list_item_macro(2, b, a, c, d, dens_ac, b_mod2, d_mod2); set_abcd_list_item_macro(3, b, a, d, c, dens_ad, b_mod2, c_mod2); set_abcd_list_item_macro(4, c, d, a, b, dens_da, b_mod2, c_mod2); set_abcd_list_item_macro(5, d, c, a, b, dens_ca, b_mod2, d_mod2); set_abcd_list_item_macro(6, c, d, b, a, dens_db, a_mod2, c_mod2); set_abcd_list_item_macro(7, d, c, b, a, dens_cb, a_mod2, d_mod2); int ccc = 0; for(int ii = 0; ii < 8; ii++) { abcd_struct* abcd = &list[ii]; int aa, bb, cc, dd; /* check if this is a new unique configuration */ int unique = 1; for(int jj = 0; jj < ii; jj++) { if(abcd->a == list[jj].a && abcd->b == list[jj].b && abcd->c == list[jj].c && abcd->d == list[jj].d) unique = 0; } if(unique == 0) continue; /* now we know that this configuration is unique. */ aa = abcd->a; bb = abcd->b; cc = abcd->c; dd = abcd->d; ccc++; if(symmetryFlag) { if(dd >= aa) { partial_K_1[abcd->idx1*nnn2+abcd->idx2] += -0.5 * abcd->densValue * integralValueCurr; if(K) K[aa*n+dd] += -0.5 * abcd->densValue * integralValueCurr; } } else { if(ii <= 3) partial_K_1[abcd->idx1*nnn2+abcd->idx2] += -0.5 * abcd->densValue * integralValueCurr; else partial_K_2[abcd->idx1*nnn2+abcd->idx2] += -0.5 * abcd->densValue * integralValueCurr; if(K) K[aa*n+dd] += -0.5 * dens[bb*n+cc] * integralValueCurr; } } /* END FOR ii go through 8 configurations */ } } // END FOR idx_1 idx_2 } // END FOR chunk_j } // END FOR chunk_i if(K_CSR_shared) { if(K_CSR_shared->n) { pthread_mutex_lock(&K_CSR_shared_access_mutex); // Now move results from partial_K to K. for(int i1 = 0; i1 < nnn1; i1++) for(int i2 = 0; i2 < nnn2; i2++) { int a = basisFuncList_1[i1]; int b = basisFuncList_2[i2]; ergo_CSR_add_to_element(K_CSR_shared, a, b, partial_K_1[i1*nnn2+i2]); if(symmetryFlag == 0) { ergo_CSR_add_to_element(K_CSR_shared, b, a, partial_K_2[i1*nnn2+i2]); } } pthread_mutex_unlock(&K_CSR_shared_access_mutex); } } return 0; } static int create_joblist_exchange_for_two_boxes_recursive(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, int maxNoOfMonomials, ergo_real threshold, const box_struct* boxList, int numberOfLevels, const csr_matrix_struct* dmatLimitMatrixCSRList, const int* basisFuncGroupCounterList, int currLevel, int boxIndex_1, int boxIndex_2, job_list_entry_K_struct* jobList_K, int maxNoOfJobs ) { // Check if this pair of boxes can be skipped. int noOfRelevantBasisFuncGroups_1 = boxList[boxIndex_1].noOfRelevantBasisFuncGroups; int noOfRelevantBasisFuncGroups_2 = boxList[boxIndex_2].noOfRelevantBasisFuncGroups; const csr_matrix_struct* dmatLimitMatrixCSR = &dmatLimitMatrixCSRList[currLevel]; // start by computing the minimum distance between the boxes. // We assume that both boxes have the same width. ergo_real dxList[3]; for(int coordIndex = 0; coordIndex< 3; coordIndex++) { ergo_real x1 = boxList[boxIndex_1].basicBox.centerCoords[coordIndex]; ergo_real x2 = boxList[boxIndex_2].basicBox.centerCoords[coordIndex]; ergo_real dx = std::fabs(x1 - x2); ergo_real width = boxList[boxIndex_1].basicBox.width; if(dx > width) dxList[coordIndex] = dx - width; else dxList[coordIndex] = 0; } ergo_real sumOfSquares = 0; for(int coordIndex = 0; coordIndex< 3; coordIndex++) sumOfSquares += dxList[coordIndex] * dxList[coordIndex]; ergo_real distance = std::sqrt(sumOfSquares); ergo_real maxDistanceOutsideBox_1 = boxList[boxIndex_1].distrListForK.org.maxDistanceOutsideBox; ergo_real maxDistanceOutsideBox_2 = boxList[boxIndex_2].distrListForK.org.maxDistanceOutsideBox; int useMultipole = 0; if(boxIndex_1 != boxIndex_2 && distance > maxDistanceOutsideBox_1 + maxDistanceOutsideBox_2) useMultipole = 1; ergo_real maxValue_CauschySchwartz = 0; ergo_real maxValue_multipole = 0; for(int i = 0; i < noOfRelevantBasisFuncGroups_1; i++) for(int j = 0; j < noOfRelevantBasisFuncGroups_2; j++) { ergo_real size_1 = boxList[boxIndex_1].basisFuncGroupInfoList[i].max_CS_factor; int index_1 = boxList[boxIndex_1].basisFuncGroupInfoList[i].basisFuncGroupIndex; ergo_real size_2 = boxList[boxIndex_2].basisFuncGroupInfoList[j].max_CS_factor; int index_2 = boxList[boxIndex_2].basisFuncGroupInfoList[j].basisFuncGroupIndex; if(index_1 < 0 || index_2 < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_joblist_exchange_for_two_boxes_recursive: (index_1 < 0 || index_2 < 0)"); return -1; } ergo_real maxDensElement = ergo_CSR_get_element(dmatLimitMatrixCSR, index_1, index_2); ergo_real currMax = size_1 * size_2 * maxDensElement; if(currMax > maxValue_CauschySchwartz) maxValue_CauschySchwartz = currMax; if(useMultipole == 1) { int degreeNeeded_1 = boxList[boxIndex_1].basisFuncGroupInfoList[i].maxMultipoleDegree; int degreeNeeded_2 = boxList[boxIndex_2].basisFuncGroupInfoList[j].maxMultipoleDegree; ergo_real maxAbsContributionFromMultipole = mm_limits_get_max_abs_mm_contrib(degreeNeeded_1, boxList[boxIndex_1].basisFuncGroupInfoList[i].maxMomentVectorNormList, degreeNeeded_2, boxList[boxIndex_2].basisFuncGroupInfoList[j].maxMomentVectorNormList, distance); ergo_real currMaxFromMultipole = maxAbsContributionFromMultipole * maxDensElement; if(currMaxFromMultipole > maxValue_multipole) maxValue_multipole = currMaxFromMultipole; } // END IF useMultipole } // END FOR i j if(useMultipole == 1 && maxValue_multipole < threshold) return 0; if(maxValue_CauschySchwartz < threshold) return 0; if(currLevel == numberOfLevels-1) { // We are at the level of smallest boxes. Add job to job list. if(maxNoOfJobs <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_joblist_exchange_for_two_boxes_recursive: (maxNoOfJobs <= 0)"); return -1; } if(jobList_K != NULL) { jobList_K[0].boxIndex_1 = boxIndex_1; jobList_K[0].boxIndex_2 = boxIndex_2; jobList_K[0].useMultipole = useMultipole; jobList_K[0].distance = distance; } return 1; } // Go to next level. Do interaction between all pairs of children of the two boxes. int noOfChildren_1 = boxList[boxIndex_1].basicBox.noOfChildBoxes; int noOfChildren_2 = boxList[boxIndex_2].basicBox.noOfChildBoxes; int jobCount = 0; for(int i = 0; i < noOfChildren_1; i++) { int start_j = 0; if(boxIndex_1 == boxIndex_2) start_j = i; for(int j = start_j; j < noOfChildren_2; j++) { int childIndex_1 = boxList[boxIndex_1].basicBox.firstChildBoxIndex + i; int childIndex_2 = boxList[boxIndex_2].basicBox.firstChildBoxIndex + j; job_list_entry_K_struct* jobList_K_mod = NULL; if(jobList_K != NULL) jobList_K_mod = &jobList_K[jobCount]; int noOfJobs = create_joblist_exchange_for_two_boxes_recursive(basisInfo, integralInfo, maxNoOfMonomials, threshold, boxList, numberOfLevels, dmatLimitMatrixCSRList, basisFuncGroupCounterList, currLevel + 1, childIndex_1, childIndex_2, jobList_K_mod, maxNoOfJobs - jobCount ); if(noOfJobs < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_joblist_exchange_for_two_boxes_recursive for child boxes"); return -1; } jobCount += noOfJobs; } // END FOR j } // END FOR i return jobCount; } struct K_joblist_thread_struct { pthread_t thread; const BasisInfoStruct & basisInfo; const IntegralInfo* integralInfo; const JK::ExchWeights & CAM_params; ergo_real* K; csr_matrix_struct* K_CSR_shared; const ergo_real* dens; const csr_matrix_struct* densCSR; int maxNoOfMonomials; int basisFuncListCount_max; ergo_real threshold; const box_struct* boxList; const job_list_entry_K_struct* jobList_K; int noOfJobs_K_total; int thread_ID; int noOfThreads; int resultCode; int symmetryFlag; K_joblist_thread_struct(const BasisInfoStruct & basisInfoIn, const JK::ExchWeights & CAM_paramsIn) : basisInfo(basisInfoIn), CAM_params(CAM_paramsIn) { } }; static void* execute_joblist_K_thread_func(void* arg) { K_joblist_thread_struct* params = (K_joblist_thread_struct*)arg; try { const box_struct* boxList = params->boxList; ergo_real* K = params->K; int threadID = params->thread_ID; int noOfThreads = params->noOfThreads; JK_contribs_buffer_struct bufferStruct; allocate_buffers_needed_by_integral_code(*params->integralInfo, params->maxNoOfMonomials, params->basisFuncListCount_max, &bufferStruct); for(int jobIndex = 0; jobIndex < params->noOfJobs_K_total; jobIndex++) { if(jobIndex % noOfThreads != threadID) continue; int self = 0; int boxIndex_1 = params->jobList_K[jobIndex].boxIndex_1; int boxIndex_2 = params->jobList_K[jobIndex].boxIndex_2; if(boxIndex_1 == boxIndex_2) self = 1; if(get_K_contribs_from_2_interacting_boxes(params->basisInfo, *params->integralInfo, params->CAM_params, params->maxNoOfMonomials, K, params->K_CSR_shared, params->dens, params->densCSR, params->symmetryFlag, boxList[boxIndex_1].distrListForK.org, boxList[boxIndex_2].distrListForK.org, self, params->threshold, &bufferStruct, params->jobList_K[jobIndex].useMultipole, params->jobList_K[jobIndex].distance ) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_K_contribs_from_2_interacting_boxes"); params->resultCode = -1; return NULL; } } // END FOR jobIndex if(params->symmetryFlag && K) { // Fill the other triangle of K int n = params->basisInfo.noOfBasisFuncs; for(int i = 0; i < n; i++) for(int j = 0; j < i; j++) K[i*n+j] = K[j*n+i]; } free_buffers_needed_by_integral_code(&bufferStruct); params->resultCode = 0; } catch(char const* e) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "============================================================="); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "char* exception caught in execute_joblist_K_thread_func: '%s'", e); do_output_time(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Time of exception: "); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "============================================================="); params->resultCode = -1; } catch (std::exception & e) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "============================================================="); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "std::exception caught in execute_joblist_K_thread_func: '%s'", e.what()); do_output_time(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Time of exception: "); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "============================================================="); } return NULL; } static int execute_joblist_K_threaded(int noOfThreads, const ergo_real* dens, csr_matrix_struct* densCSR, const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, int maxNoOfMonomials, int basisFuncListCount_max, const box_struct* boxList, const job_list_entry_K_struct* jobList_K, int noOfJobs_K, ergo_real threshold, ergo_real* K, csr_matrix_struct* K_CSR, int symmetryFlag ) { do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "execute_joblist_K_threaded, noOfThreads = %2i, basisFuncListCount_max = %5i", noOfThreads, basisFuncListCount_max); if((!dens && K) || (dens && !K)) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in execute_joblist_K_threaded: CSR used for one of D, K but not for the other!?!."); return -1; } K_joblist_thread_struct* threadParamsList[noOfThreads]; // Set common parameters for all threads for(int i = 0; i < noOfThreads; i++) { threadParamsList[i] = new K_joblist_thread_struct(basisInfo, CAM_params); threadParamsList[i]->dens = dens; threadParamsList[i]->densCSR = densCSR; threadParamsList[i]->integralInfo = &integralInfo; threadParamsList[i]->maxNoOfMonomials = maxNoOfMonomials; threadParamsList[i]->basisFuncListCount_max = basisFuncListCount_max; threadParamsList[i]->boxList = boxList; threadParamsList[i]->jobList_K = jobList_K; threadParamsList[i]->noOfJobs_K_total = noOfJobs_K; threadParamsList[i]->noOfThreads = noOfThreads; threadParamsList[i]->resultCode = -1; // initialize to error code threadParamsList[i]->threshold = threshold; threadParamsList[i]->symmetryFlag = symmetryFlag; threadParamsList[i]->K = NULL; // will be set later if needed threadParamsList[i]->K_CSR_shared = K_CSR; } // END FOR i // Set result K pointer for thread 0 // For the full matrix case, thread 0 uses the original K pointer. threadParamsList[0]->K = K; // Set result K pointer for other threads int n = basisInfo.noOfBasisFuncs; for(int i = 1; i < noOfThreads; i++) { if(K) { threadParamsList[i]->K = new ergo_real[n*n]; memset(threadParamsList[i]->K, 0, n*n*sizeof(ergo_real)); } else { // CSR case; do nothing. In this case all threads share the // same K_CSR pointer, coordinating access using a mutex. } } output_current_memory_usage(LOG_AREA_INTEGRALS, "after allocating memory for threads."); // Set ID number for all threads for(int i = 0; i < noOfThreads; i++) threadParamsList[i]->thread_ID = i; /* start threads */ for(int i = 0; i < noOfThreads; i++) { if(pthread_create(&threadParamsList[i]->thread, NULL, execute_joblist_K_thread_func, threadParamsList[i]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in pthread_create for thread %i", i); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "waiting for already created threads.."); for(int j = 0; j < i; j++) { if(pthread_join(threadParamsList[j]->thread, NULL) != 0) do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in pthread_join for thread %i", j); } /* END FOR j */ do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "all threads finished, returning error code"); return -1; } } /* END FOR i */ do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "%i threads started OK.", noOfThreads); time_t workStartTime; time(&workStartTime); /* wait for threads to finish */ for(int i = 0; i < noOfThreads; i++) { if(pthread_join(threadParamsList[i]->thread, NULL) != 0) do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in pthread_join for thread %i", i); } /* END FOR i */ time_t workEndTime; time(&workEndTime); int secondsTaken = workEndTime - workStartTime; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "all %i threads have finished, took %8i wall s.", noOfThreads, secondsTaken); /* now all threads have finished, check for errors */ for(int i = 0; i < noOfThreads; i++) { if(threadParamsList[i]->resultCode != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in execute_joblist_K_thread_func" " for thread %i", i); return -1; } } /* END FOR i */ // add contributions from other threads for(int i = 1; i < noOfThreads; i++) { if(K) { for(int j = 0; j < n*n; j++) K[j] += threadParamsList[i]->K[j]; } else { // CSR case. Do nothing here since all threads have already // placed their results in the same shared K_CSR matrix. } } // Free extra K buffers used by threads. // Note that this loop must start with 1, not 0. for(int i = 1; i < noOfThreads; i++) { if(K) { delete [] threadParamsList[i]->K; } else { // CSR case. Do nothing here. } } for(int i = 0; i < noOfThreads; i++) delete threadParamsList[i]; return 0; } static int execute_joblist_K_serial(const ergo_real* dens, csr_matrix_struct* densCSR, const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, int maxNoOfMonomials, int basisFuncListCount_max, const box_struct* boxList, const job_list_entry_K_struct* jobList_K, int noOfJobs_K, ergo_real threshold, ergo_real* K, csr_matrix_struct* K_CSR, int symmetryFlag) { JK_contribs_buffer_struct bufferStruct; allocate_buffers_needed_by_integral_code(integralInfo, maxNoOfMonomials, basisFuncListCount_max, &bufferStruct); for(int jobIndex = 0; jobIndex < noOfJobs_K; jobIndex++) { int self = 0; int boxIndex_1 = jobList_K[jobIndex].boxIndex_1; int boxIndex_2 = jobList_K[jobIndex].boxIndex_2; if(boxIndex_1 == boxIndex_2) self = 1; if(get_K_contribs_from_2_interacting_boxes(basisInfo, integralInfo, CAM_params, maxNoOfMonomials, K, K_CSR, dens, densCSR, symmetryFlag, boxList[boxIndex_1].distrListForK.org, boxList[boxIndex_2].distrListForK.org, self, threshold, &bufferStruct, jobList_K[jobIndex].useMultipole, jobList_K[jobIndex].distance ) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_K_contribs_from_2_interacting_boxes"); return -1; } } // END FOR jobIndex if(symmetryFlag && K) { // Fill the other triangle of K int n = basisInfo.noOfBasisFuncs; for(int i = 0; i < n; i++) for(int j = 0; j < i; j++) K[i*n+j] = K[j*n+i]; } free_buffers_needed_by_integral_code(&bufferStruct); return 0; } typedef struct { int i1; int i2; } basisFuncGroupPairStruct; static int compare_basisFuncGroupPairs(const void* p1, const void* p2) { basisFuncGroupPairStruct* pair_1 = (basisFuncGroupPairStruct*)p1; basisFuncGroupPairStruct* pair_2 = (basisFuncGroupPairStruct*)p2; if(pair_1->i1 > pair_2->i1) return 1; if(pair_1->i1 < pair_2->i1) return -1; if(pair_1->i2 > pair_2->i2) return 1; if(pair_1->i2 < pair_2->i2) return -1; return 0; } static int get_basisFuncGroupInfoList_size(int distrCountTot, const DistributionSpecStructLabeled* distrList, int numberOfLevels, const int* levelStartIndexList, const int* levelCounterList, const box_struct* boxList, int** basisFuncGroupList) { int basisFuncGroupInfoList_count = 0; std::vector pairList(2*distrCountTot); for(int levelNumber = 0; levelNumber < numberOfLevels; levelNumber++) { int pairCount = 0; for(int i = levelStartIndexList[levelNumber]; i < levelStartIndexList[levelNumber] + levelCounterList[levelNumber]; i++) { // go through all distrs of this box, and update basisFuncGroupInfoList accordingly. int distrStartIndex = boxList[i].basicBox.firstItemIndex; int distrCountCurrBox = boxList[i].basicBox.noOfItems; for(int j = distrStartIndex; j < distrStartIndex + distrCountCurrBox; j++) { const DistributionSpecStructLabeled & currDistr = distrList[j]; int basisFuncGroup_1 = basisFuncGroupList[levelNumber][currDistr.basisFuncIndex_1]; int basisFuncGroup_2 = basisFuncGroupList[levelNumber][currDistr.basisFuncIndex_2]; pairList[pairCount].i1 = i; pairList[pairCount].i2 = basisFuncGroup_1; pairCount++; pairList[pairCount].i1 = i; pairList[pairCount].i2 = basisFuncGroup_2; pairCount++; } // END FOR j } // END FOR i // sort pairList qsort(&pairList[0], pairCount, sizeof(basisFuncGroupPairStruct), compare_basisFuncGroupPairs); int nn = 0; int i = 0; while(i < pairCount) { // now i should point to a new i1 int i1 = pairList[i].i1; int j = i; while(j < pairCount && pairList[j].i1 == i1) { nn++; int i2 = pairList[j].i2; // now skip until another i2 is found. while(j < pairCount && pairList[j].i1 == i1 && pairList[j].i2 == i2) j++; } i = j; } basisFuncGroupInfoList_count += nn; } // END FOR levelNumber return basisFuncGroupInfoList_count; } typedef struct { int i1; int i2; ergo_real x; } dmatElementStruct; static int compare_dmatElements(const void* p1, const void* p2) { dmatElementStruct* e1 = (dmatElementStruct*)p1; dmatElementStruct* e2 = (dmatElementStruct*)p2; if(e1->i1 > e2->i1) return 1; if(e1->i1 < e2->i1) return -1; if(e1->i2 > e2->i2) return 1; if(e1->i2 < e2->i2) return -1; return 0; } static int create_reduced_vector(int nvalues, const std::vector & dmatElementList, std::vector & resultVector) { resultVector.resize(nvalues); int i = 0; int nvalues2 = 0; int curr_i1 = dmatElementList[0].i1; int curr_i2 = dmatElementList[0].i2; ergo_real curr_maxAbs = std::fabs(dmatElementList[0].x); while(i < nvalues) { i++; int closeCurr = 0; if(i == nvalues) closeCurr = 1; else { // now we know it is safe to access element i int i1 = dmatElementList[i].i1; int i2 = dmatElementList[i].i2; if(i1 != curr_i1 || i2 != curr_i2) closeCurr = 1; else { // now we know this i is just a continuation of the current batch ergo_real absx = std::fabs(dmatElementList[i].x); if(absx > curr_maxAbs) curr_maxAbs = absx; } } if(closeCurr) { resultVector[nvalues2].i1 = curr_i1; resultVector[nvalues2].i2 = curr_i2; resultVector[nvalues2].x = curr_maxAbs; nvalues2++; if(i < nvalues) { // Now we know it is safe to access element i. Start new batch. curr_i1 = dmatElementList[i].i1; curr_i2 = dmatElementList[i].i2; curr_maxAbs = std::fabs(dmatElementList[i].x); } } } resultVector.resize(nvalues2); return nvalues2; } /* End create_reduced_vector */ static int getDmatLimitMatrixCSRList(csr_matrix_struct* dmatLimitMatrixCSRList, int numberOfLevels, const csr_matrix_struct* densCSR, const int* const* basisFuncGroupList, const int* basisFuncGroupCounterList) { do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "getDmatLimitMatrixCSRList start."); memset(dmatLimitMatrixCSRList, 0, numberOfLevels*sizeof(csr_matrix_struct)); for(int levelNumber = 0; levelNumber < numberOfLevels; levelNumber++) { // Populate dmatElementList with info for this level, one row at a time. int nn = basisFuncGroupCounterList[levelNumber]; std::vector< std::vector > dmatElementListList(densCSR->n); for(int dmatrow = 0; dmatrow < densCSR->n; dmatrow++) { int nValuesCurrRow = ergo_CSR_get_nvalues_singlerow(densCSR, dmatrow); if(nValuesCurrRow == 0) continue; std::vector colind(nValuesCurrRow); std::vector values(nValuesCurrRow); if(ergo_CSR_get_values_singlerow(densCSR, dmatrow, &colind[0], &values[0], nValuesCurrRow) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in ergo_CSR_get_values_singlerow."); return -1; } std::vector dmatElementList(nValuesCurrRow); for(int i = 0; i < nValuesCurrRow; i++) { int grrow = basisFuncGroupList[levelNumber][dmatrow]; int grcol = basisFuncGroupList[levelNumber][colind[i]]; if(grrow < grcol) { dmatElementList[i].i1 = grrow; dmatElementList[i].i2 = grcol; } else { dmatElementList[i].i1 = grcol; dmatElementList[i].i2 = grrow; } dmatElementList[i].x = values[i]; } // sort list to gather equal i1 i2 pairs together qsort(&dmatElementList[0], nValuesCurrRow, sizeof(dmatElementStruct), compare_dmatElements); // Create reduced vector. std::vector reducedVector; int nReduced = create_reduced_vector(nValuesCurrRow, dmatElementList, reducedVector); // Store result for this row in dmatElementListList. dmatElementListList[dmatrow].resize(nReduced); for(int i = 0; i < nReduced; i++) dmatElementListList[dmatrow][i] = reducedVector[i]; } // OK, all rows done. Now create a single long list of all rows. int nTot = 0; for(int row = 0; row < densCSR->n; row++) nTot += dmatElementListList[row].size(); std::vector dmatElementList(nTot); int count = 0; for(int row = 0; row < densCSR->n; row++) for(int i = 0; i < (int)dmatElementListList[row].size(); i++) dmatElementList[count++] = dmatElementListList[row][i]; if(count != nTot) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in getDmatLimitMatrixCSRList: (count != nTot)."); return -1; } // OK, single long list created. // sort list to gather equal i1 i2 pairs together qsort(&dmatElementList[0], nTot, sizeof(dmatElementStruct), compare_dmatElements); // Create reduced vector. std::vector reducedVector; int nReduced = create_reduced_vector(nTot, dmatElementList, reducedVector); // Create CSR matrix for this level. std::vector rowind2(nReduced); std::vector colind2(nReduced); std::vector values2(nReduced); for(int i = 0; i < nReduced; i++) { rowind2[i] = reducedVector[i].i1; colind2[i] = reducedVector[i].i2; values2[i] = reducedVector[i].x; } // Create CSR csr_matrix_struct* currCSR = &dmatLimitMatrixCSRList[levelNumber]; if(ergo_CSR_create(currCSR, 1, nn, nReduced, &rowind2[0], &colind2[0]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in ergo_CSR_create for dmatLimitMatrixCSRList."); return -1; } for(int i = 0; i < nReduced; i++) { ergo_CSR_add_to_element(currCSR, rowind2[i], colind2[i], values2[i]); } } return 0; } /* NOTE: This function adds its result to K. This means that if only K is wanted, it must be set to zero before calling this function. */ int compute_K_by_boxes(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params_in, const JK::Params& J_K_params, ergo_real* K, csr_matrix_struct* K_CSR, const ergo_real* dens, csr_matrix_struct* densCSR, int symmetryFlag) { Util::TimeMeter timeMeterTot; Util::TimeMeter timeMeterIntMatLimits; ergo_real maxDistance = getSafeMaxDistance(basisInfo); mm_limits_init(maxDistance); timeMeterIntMatLimits.print(LOG_AREA_INTEGRALS, "mm_limits_init"); int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "entering compute_K_by_boxes, no of basis funcs = %5i, threshold_K = %7.3g, exchange_box_size = %6.2f", n, (double)J_K_params.threshold_K, (double)J_K_params.exchange_box_size); output_current_memory_usage(LOG_AREA_INTEGRALS, "beginning of compute_K_by_boxes"); const JK::ExchWeights CAM_params(CAM_params_in); Util::TimeMeter timeMeterDistrList; ergo_real maxDensityMatrixElement; if(dens) maxDensityMatrixElement = get_max_abs_vector_element(n*n, dens); else maxDensityMatrixElement = ergo_CSR_get_max_abs_element(densCSR); // get largest limiting factor ergo_real maxLimitingFactor = 0; if(get_list_of_labeled_distrs_maxLimitingFactor(basisInfo, integralInfo, J_K_params.threshold_K, &maxLimitingFactor, maxDensityMatrixElement) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_list_of_labeled_distrs_maxLimitingFactor"); return -1; } // Get number of distributions int distrCountTot = get_list_of_labeled_distrs(basisInfo, integralInfo, J_K_params.threshold_K, NULL, 0, maxLimitingFactor, NULL, maxDensityMatrixElement); if(distrCountTot == 0) { do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_K_by_boxes: (distrCountTot == 0), skipping."); return 0; } if(distrCountTot <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_K_by_boxes: (distrCountTot <= 0)"); return -1; } std::vector distrList(distrCountTot); // create list of product primitives, with labels int distrCountTemp = get_list_of_labeled_distrs(basisInfo, integralInfo, J_K_params.threshold_K, &distrList[0], distrCountTot, maxLimitingFactor, NULL, maxDensityMatrixElement); if(distrCountTemp != distrCountTot) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_K_by_boxes:(distrCountTemp != distrCountTot)"); return -1; } output_current_memory_usage(LOG_AREA_INTEGRALS, "after allocating list of primitive distributions"); // compute extent for all distrs Util::TimeMeter timeMeterComputeExtentForAllDistrs; compute_extent_for_list_of_distributions(distrCountTot, &distrList[0], J_K_params.threshold_K, maxLimitingFactor, maxDensityMatrixElement); timeMeterComputeExtentForAllDistrs.print(LOG_AREA_INTEGRALS, "Compute extent for all distrs"); // get maximum number of monomials int maxNoOfMonomials = 0; for(int i = 0; i < distrCountTot; i++) { int degree = 0; for(int j = 0; j < 3; j++) degree += distrList[i].distr.monomialInts[j]; int noOfMonomials = integralInfo.monomial_info.no_of_monomials_list[degree]; if(noOfMonomials > maxNoOfMonomials) maxNoOfMonomials = noOfMonomials; } // END FOR ABcount do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "Creating list of distributions done, distrCountTot = %9i", distrCountTot); timeMeterDistrList.print(LOG_AREA_INTEGRALS, "Creating list of distributions"); // // This is where we start to worry about the box system // Util::TimeMeter timeMeterBoxes; BoxSystem boxSystem; if(create_box_system_and_reorder_distrs(distrCountTot, &distrList[0], J_K_params.exchange_box_size, boxSystem) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system_and_reorder_distrs"); return -1; } // Create new list of boxes (more advanced boxes this time) std::vector boxList(boxSystem.totNoOfBoxes); // TODO: need to clear contents of boxList here? for(int i = 0; i < boxSystem.totNoOfBoxes; i++) boxList[i].basicBox = boxSystem.boxList[i]; int numberOfLevels = boxSystem.noOfLevels; int levelCounterList[numberOfLevels]; int levelStartIndexList[numberOfLevels]; for(int i = 0; i < numberOfLevels; i++) { levelCounterList[i] = boxSystem.levelList[i].noOfBoxes; levelStartIndexList[i] = boxSystem.levelList[i].startIndexInBoxList; } // Set up basisFuncGroups for all levels // Create another box system, this time with basis functions as items std::vector itemListBasisFuncs(n); for(int i = 0; i < n; i++) { for(int j = 0; j < 3; j++) itemListBasisFuncs[i].centerCoords[j] = basisInfo.basisFuncList[i].centerCoords[j]; itemListBasisFuncs[i].originalIndex = i; } // END FOR i const ergo_real maxToplevelBoxSizeBasisFuncs = J_K_params.exchange_box_size; BoxSystem boxSystemBasisFuncs; if(boxSystemBasisFuncs.create_box_system(&itemListBasisFuncs[0], n, maxToplevelBoxSizeBasisFuncs * 0.5) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system"); return -1; } output_current_memory_usage(LOG_AREA_INTEGRALS, "after creating second box system"); if(boxSystemBasisFuncs.noOfLevels < boxSystem.noOfLevels) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: (boxSystemBasisFuncs.noOfLevels < boxSystem.noOfLevels)"); return -1; } int noOfLevelsBasisFuncs = boxSystemBasisFuncs.noOfLevels; int noOfLevelsDiff = noOfLevelsBasisFuncs - numberOfLevels; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "noOfLevelsBasisFuncs = %i, noOfLevelsDiff = %i", noOfLevelsBasisFuncs, noOfLevelsDiff); int* basisFuncGroupList[numberOfLevels]; int basisFuncGroupCounterList[numberOfLevels]; for(int i = 0; i < numberOfLevels; i++) basisFuncGroupList[i] = new int[n]; output_current_memory_usage(LOG_AREA_INTEGRALS, "after allocating basisFuncGroupList"); int maxNoOfBasisFuncGroupsPerLevel = 0; for(int levelNumber = 0; levelNumber < numberOfLevels; levelNumber++) { // Set up basisFuncGroup list for this level. int noOfBoxesCurrLevel = boxSystemBasisFuncs.levelList[levelNumber+noOfLevelsDiff].noOfBoxes; int startIndex = boxSystemBasisFuncs.levelList[levelNumber+noOfLevelsDiff].startIndexInBoxList; for(int i = startIndex; i < startIndex + noOfBoxesCurrLevel; i++) { // assign basis funcs of this box to basisFuncGroup i int firstItemIndex = boxSystemBasisFuncs.boxList[i].firstItemIndex; for(int j = firstItemIndex; j < firstItemIndex + boxSystemBasisFuncs.boxList[i].noOfItems; j++) { int basisFuncIndex = itemListBasisFuncs[j].originalIndex; basisFuncGroupList[levelNumber][basisFuncIndex] = i - startIndex; } // END FOR j } // END FOR i basisFuncGroupCounterList[levelNumber] = noOfBoxesCurrLevel; if(noOfBoxesCurrLevel > maxNoOfBasisFuncGroupsPerLevel) maxNoOfBasisFuncGroupsPerLevel = noOfBoxesCurrLevel; } // END FOR levelNumber // OK, basisFuncGroups done. // OK, boxes created. timeMeterBoxes.print(LOG_AREA_INTEGRALS, "Creating boxes etc"); Util::TimeMeter timeMeterGetMultipoleNormVectors; // Create list of multipole norm vectors, for later use. std::vector multipoleNormVectorList((MAX_MULTIPOLE_DEGREE_BASIC+1)*distrCountTot); output_current_memory_usage(LOG_AREA_INTEGRALS, "after allocating multipoleNormVectorList"); std::vector multipoleDegreeList(distrCountTot); for(int j = 0; j < distrCountTot; j++) { DistributionSpecStructLabeled* currDistr = &distrList[j]; ergo_real* multipoleNormVectorList_curr = &multipoleNormVectorList[j*(MAX_MULTIPOLE_DEGREE_BASIC+1)]; multipole_struct_small multipole; if(compute_multipole_moments(integralInfo, &currDistr->distr, &multipole) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_multipole_moments"); return -1; } multipoleDegreeList[j] = multipole.degree; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) multipoleNormVectorList_curr[l] = 0; for(int l = 0; l <= multipole.degree; l++) { int startIndex = l*l; int endIndex = (l+1)*(l+1); ergo_real sum = 0; for(int A = startIndex; A < endIndex; A++) sum += multipole.momentList[A]*multipole.momentList[A]; ergo_real subNorm = std::sqrt(sum); multipoleNormVectorList_curr[l] = subNorm; } } // END FOR j timeMeterGetMultipoleNormVectors.print(LOG_AREA_INTEGRALS, "getting multipoleNormVectorList"); // For each box at each level, store information about the largest size distr associated with each basisFuncGroup. Util::TimeMeter timeMeterGetLimitsAllLevels; // Predict size of basisFuncGroupInfoList int basisFuncGroupInfoList_count_predicted = get_basisFuncGroupInfoList_size(distrCountTot, &distrList[0], numberOfLevels, levelStartIndexList, levelCounterList, &boxList[0], basisFuncGroupList); if(basisFuncGroupInfoList_count_predicted <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_basisFuncGroupInfoList_size"); return -1; } std::vector basisFuncGroupInfoList(basisFuncGroupInfoList_count_predicted); for(int i = 0; i < basisFuncGroupInfoList_count_predicted; i++) { // TODO: OK to set to -1 here? It should be OK...? basisFuncGroupInfoList[i].basisFuncGroupIndex = -1; basisFuncGroupInfoList[i].max_CS_factor = 0; basisFuncGroupInfoList[i].maxMultipoleDegree = -1; memset(basisFuncGroupInfoList[i].maxMomentVectorNormList, 0, (MAX_MULTIPOLE_DEGREE_BASIC+1)*sizeof(ergo_real)); } output_current_memory_usage(LOG_AREA_INTEGRALS, "after allocating basisFuncGroupInfoList"); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "starting loop to setup basisFuncGroupInfoList, with added index checks."); int basisFuncGroupInfoListTotCount = 0; for(int levelNumber = 0; levelNumber < numberOfLevels; levelNumber++) { // Set up basisFuncGroupInfoList for each box at level. for(int boxIndex = levelStartIndexList[levelNumber]; boxIndex < levelStartIndexList[levelNumber] + levelCounterList[levelNumber]; boxIndex++) { if(boxIndex < 0 || boxIndex >= boxSystem.totNoOfBoxes) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error doing basisFuncGroupInfoList: (boxIndex < 0 || boxIndex >= boxSystem.totNoOfBoxes)"); return -1; } box_struct & currBox = boxList[boxIndex]; // Set basisFuncGroupInfoList pointer for this box to point // to current position in previously allocated list. currBox.basisFuncGroupInfoList = &basisFuncGroupInfoList[basisFuncGroupInfoListTotCount]; // Define maxCount for this box, so we can check that we do // not try to access anything outside what is allocated. int maxCount = basisFuncGroupInfoList_count_predicted - basisFuncGroupInfoListTotCount; // go through all distrs of this box, and update basisFuncGroupInfoList accordingly. int count = 0; int distrStartIndex = currBox.basicBox.firstItemIndex; int distrCountCurrBox = currBox.basicBox.noOfItems; for(int j = distrStartIndex; j < distrStartIndex + distrCountCurrBox; j++) { if(j < 0 || j >= distrCountTot) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error doing basisFuncGroupInfoList: (j < 0 || j >= distrCountTot)"); return -1; } const DistributionSpecStructLabeled & currDistr = distrList[j]; const ergo_real* multipoleNormVectorList_curr = &multipoleNormVectorList[j*(MAX_MULTIPOLE_DEGREE_BASIC+1)]; int multipoleDegree_curr = multipoleDegreeList[j]; int basisFuncGroup_1 = basisFuncGroupList[levelNumber][currDistr.basisFuncIndex_1]; int basisFuncGroup_2 = basisFuncGroupList[levelNumber][currDistr.basisFuncIndex_2]; ergo_real CS_factor = currDistr.limitingFactor; // check if basisFuncGroup_1 and/or basisFuncGroup_2 is already present int foundIndex_1 = -1; int foundIndex_2 = -1; if(count > maxCount) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error doing basisFuncGroupInfoList: (count > maxCount)"); return -1; } for(int k = 0; k < count; k++) { if(currBox.basisFuncGroupInfoList[k].basisFuncGroupIndex == basisFuncGroup_1) foundIndex_1 = k; if(currBox.basisFuncGroupInfoList[k].basisFuncGroupIndex == basisFuncGroup_2) foundIndex_2 = k; } if(foundIndex_1 >= 0) { // check if max_CS_factor needs updating if(CS_factor > currBox.basisFuncGroupInfoList[foundIndex_1].max_CS_factor) currBox.basisFuncGroupInfoList[foundIndex_1].max_CS_factor = CS_factor; // modfy maxMomentVectorNormList if needed. if(multipoleDegree_curr > currBox.basisFuncGroupInfoList[foundIndex_1].maxMultipoleDegree) currBox.basisFuncGroupInfoList[foundIndex_1].maxMultipoleDegree = multipoleDegree_curr; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) { if(multipoleNormVectorList_curr[l] > currBox.basisFuncGroupInfoList[foundIndex_1].maxMomentVectorNormList[l]) currBox.basisFuncGroupInfoList[foundIndex_1].maxMomentVectorNormList[l] = multipoleNormVectorList_curr[l]; } } else { // add new entry for basisFuncGroup_1 if(count >= maxCount) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error doing basisFuncGroupInfoList: (count >= maxCount)"); return -1; } currBox.basisFuncGroupInfoList[count].basisFuncGroupIndex = basisFuncGroup_1; currBox.basisFuncGroupInfoList[count].max_CS_factor = CS_factor; currBox.basisFuncGroupInfoList[count].maxMultipoleDegree = multipoleDegree_curr; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) currBox.basisFuncGroupInfoList[count].maxMomentVectorNormList[l] = multipoleNormVectorList_curr[l]; count++; } if(basisFuncGroup_2 != basisFuncGroup_1) { if(foundIndex_2 >= 0) { // check if maxSize needs updating if(CS_factor > currBox.basisFuncGroupInfoList[foundIndex_2].max_CS_factor) currBox.basisFuncGroupInfoList[foundIndex_2].max_CS_factor = CS_factor; // modfy maxMomentVectorNormList if needed. if(multipoleDegree_curr > currBox.basisFuncGroupInfoList[foundIndex_2].maxMultipoleDegree) currBox.basisFuncGroupInfoList[foundIndex_2].maxMultipoleDegree = multipoleDegree_curr; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) { if(multipoleNormVectorList_curr[l] > currBox.basisFuncGroupInfoList[foundIndex_2].maxMomentVectorNormList[l]) currBox.basisFuncGroupInfoList[foundIndex_2].maxMomentVectorNormList[l] = multipoleNormVectorList_curr[l]; } } else { // add new entry for basisFuncGroup_2 if(count >= maxCount) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error doing basisFuncGroupInfoList: (count >= maxCount)"); return -1; } currBox.basisFuncGroupInfoList[count].basisFuncGroupIndex = basisFuncGroup_2; currBox.basisFuncGroupInfoList[count].max_CS_factor = CS_factor; currBox.basisFuncGroupInfoList[count].maxMultipoleDegree = multipoleDegree_curr; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) currBox.basisFuncGroupInfoList[count].maxMomentVectorNormList[l] = multipoleNormVectorList_curr[l]; count++; } } // OK, distr j done } // END FOR j // we are done for this box currBox.noOfRelevantBasisFuncGroups = count; basisFuncGroupInfoListTotCount += count; } // END FOR boxIndex } // END FOR levelNumber if(basisFuncGroupInfoListTotCount != basisFuncGroupInfoList_count_predicted) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: (basisFuncGroupInfoListTotCount != basisFuncGroupInfoList_count_predicted)"); return -1; } // OK, basisFuncGroup info done for all boxes. timeMeterGetLimitsAllLevels.print(LOG_AREA_INTEGRALS, "GetLimitsAllLevels"); int noOfBoxesTopLevel = levelCounterList[numberOfLevels-1]; box_struct* boxListTopLevel = &boxList[levelStartIndexList[numberOfLevels-1]]; int basisFuncListCount_max = 0; // Now call organize_distributions for each top-level box Util::TimeMeter timeMeterKorg; for(int i = 0; i < noOfBoxesTopLevel; i++) { DistributionSpecStructLabeled* distrListCurrBox = &distrList[boxListTopLevel[i].basicBox.firstItemIndex]; int distrCountCurrBox = boxListTopLevel[i].basicBox.noOfItems; if(organize_distributions(integralInfo, distrListCurrBox, distrCountCurrBox, &boxListTopLevel[i].distrListForK.org, boxListTopLevel[i].basicBox.centerCoords, boxListTopLevel[i].basicBox.width) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in organize_distributions for box %i", i); return -1; } if(boxListTopLevel[i].distrListForK.org.basisFuncListCount > basisFuncListCount_max) basisFuncListCount_max = boxListTopLevel[i].distrListForK.org.basisFuncListCount; } // END FOR i timeMeterKorg.print(LOG_AREA_INTEGRALS, "K organize_distributions for all boxes"); // Now go through the other levels, getting info for parent boxes for(int levelNumber = numberOfLevels-2; levelNumber >= 0; levelNumber--) { int noOfBoxesCurrLevel = levelCounterList[levelNumber]; box_struct* boxListCurrLevel = &boxList[levelStartIndexList[levelNumber]]; for(int boxIndex = 0; boxIndex < noOfBoxesCurrLevel; boxIndex++) { box_struct* currBox = &boxListCurrLevel[boxIndex]; int noOfChildren = currBox->basicBox.noOfChildBoxes; if(noOfChildren == 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "ERROR: (noOfChildren == 0)"); return -1; } // We want to get maxDistanceOutsideBox for parent box (use largest value found among the children). ergo_real maxDistanceOutsideBox = 0; for(int childIndex = 0; childIndex < noOfChildren; childIndex++) { int childIndexInBoxList = currBox->basicBox.firstChildBoxIndex + childIndex; box_struct* childBox = &boxList[childIndexInBoxList]; if(childBox->distrListForK.org.maxDistanceOutsideBox > maxDistanceOutsideBox) maxDistanceOutsideBox = childBox->distrListForK.org.maxDistanceOutsideBox; } // END FOR childIndex currBox->distrListForK.org.maxDistanceOutsideBox = maxDistanceOutsideBox; } // END FOR boxIndex } // END FOR levelNumber // Generate multipole limits for each group, and for each box. //// Also get maxExtentGroup for each group. Util::TimeMeter timeMeterGetMultipoleLimits; for(int i = 0; i < noOfBoxesTopLevel; i++) { const chunk_struct* chunkList = &boxListTopLevel[i].distrListForK.org.chunkList[0]; cluster_struct* clusterList = &boxListTopLevel[i].distrListForK.org.clusterList[0]; distr_group_struct* groupList = &boxListTopLevel[i].distrListForK.org.groupList[0]; const minimal_distr_struct* minimalDistrList = &boxListTopLevel[i].distrListForK.org.minimalDistrList[0]; int chunkCount = boxListTopLevel[i].distrListForK.org.chunkCount; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) boxListTopLevel[i].multipoleEuclideanNormList[l] = 0; boxListTopLevel[i].largestCSfactor = 0; for(int chunkIndex = 0; chunkIndex < chunkCount; chunkIndex++) { int clusterCount = chunkList[chunkIndex].noOfClusters; int cluster_start = chunkList[chunkIndex].clusterStartIndex; for(int clusterIndex = cluster_start; clusterIndex < cluster_start + clusterCount; clusterIndex++) { int group_start = clusterList[clusterIndex].groupStartIndex; int group_end = group_start + clusterList[clusterIndex].noOfGroups; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) clusterList[clusterIndex].multipoleEuclideanNormList[l] = 0; for(int groupIndex = group_start; groupIndex < group_end; groupIndex++) { distr_group_struct* currGroup = &groupList[groupIndex]; ergo_real maxMomentVectorNormForDistrsList[MAX_MULTIPOLE_DEGREE_BASIC+1]; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) maxMomentVectorNormForDistrsList[l] = 0; int distr_start = currGroup->startIndex; int distr_end = distr_start + currGroup->distrCount; for(int distrIndex = distr_start; distrIndex < distr_end; distrIndex++) { int monomialIndex = minimalDistrList[distrIndex].monomialIndex; ergo_real coeff = minimalDistrList[distrIndex].coeff; // get monomialInts from monomialIndex DistributionSpecStruct distr; distr.monomialInts[0] = integralInfo.monomial_info.monomial_list[monomialIndex].ix; distr.monomialInts[1] = integralInfo.monomial_info.monomial_list[monomialIndex].iy; distr.monomialInts[2] = integralInfo.monomial_info.monomial_list[monomialIndex].iz; distr.coeff = coeff; distr.exponent = currGroup->exponent; distr.centerCoords[0] = currGroup->centerCoords[0]; distr.centerCoords[1] = currGroup->centerCoords[1]; distr.centerCoords[2] = currGroup->centerCoords[2]; multipole_struct_small multipole; if(compute_multipole_moments(integralInfo, &distr, &multipole) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_multipole_moments"); return -1; } // modfy maxMomentVectorNormForDistrsList if needed. for(int l = 0; l <= multipole.degree; l++) { int startIndex = l*l; int endIndex = (l+1)*(l+1); ergo_real sum = 0; for(int A = startIndex; A < endIndex; A++) sum += multipole.momentList[A]*multipole.momentList[A]; ergo_real subNorm = std::sqrt(sum); if(subNorm > maxMomentVectorNormForDistrsList[l]) maxMomentVectorNormForDistrsList[l] = subNorm; } } // END FOR distrIndex for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) currGroup->multipoleEuclideanNormList[l] = maxMomentVectorNormForDistrsList[l]; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) { if(currGroup->multipoleEuclideanNormList[l] > clusterList[clusterIndex].multipoleEuclideanNormList[l]) clusterList[clusterIndex].multipoleEuclideanNormList[l] = currGroup->multipoleEuclideanNormList[l]; } for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) { if(maxMomentVectorNormForDistrsList[l] > boxListTopLevel[i].multipoleEuclideanNormList[l]) boxListTopLevel[i].multipoleEuclideanNormList[l] = maxMomentVectorNormForDistrsList[l]; } if(currGroup->maxLimitingFactorGroup > boxListTopLevel[i].largestCSfactor) boxListTopLevel[i].largestCSfactor = currGroup->maxLimitingFactorGroup; } // END FOR groupIndex } // END FOR clusterIndex } // END FOR chunkIndex } // END FOR i timeMeterGetMultipoleLimits.print(LOG_AREA_INTEGRALS, "Generate multipole limits for each group and for each box"); // OK, basisFuncGroup info done for all boxes. Util::TimeMeter timeMeterGetDensityMatrixLimitMatrixList; // prepare densityMatrixLimit matrix for each level. csr_matrix_struct dmatLimitMatrixCSRList[numberOfLevels]; if(dens) { ergo_real* densityMatrixLimitMatrixList[numberOfLevels]; for(int levelNumber = 0; levelNumber < numberOfLevels; levelNumber++) { int nn = basisFuncGroupCounterList[levelNumber]; densityMatrixLimitMatrixList[levelNumber] = new ergo_real[nn*nn]; memset(densityMatrixLimitMatrixList[levelNumber], 0, nn*nn*sizeof(ergo_real)); } for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { ergo_real currabs; if(dens) currabs = std::fabs(dens[i*n+j]); else currabs = std::fabs(ergo_CSR_get_element(densCSR, i, j)); for(int levelNumber = 0; levelNumber < numberOfLevels; levelNumber++) { int nn = basisFuncGroupCounterList[levelNumber]; int gr_i = basisFuncGroupList[levelNumber][i]; int gr_j = basisFuncGroupList[levelNumber][j]; if(currabs > densityMatrixLimitMatrixList[levelNumber][gr_i*nn+gr_j]) densityMatrixLimitMatrixList[levelNumber][gr_i*nn+gr_j] = currabs; } } // Convert from full to CSR form for(int levelNumber = 0; levelNumber < numberOfLevels; levelNumber++) { // Create full CSR structure without symmetry int nn = basisFuncGroupCounterList[levelNumber]; int nvalues = nn*nn; std::vector rowind(nvalues); std::vector colind(nvalues); for(int i = 0; i < nn; i++) for(int j = 0; j < nn; j++) { rowind[i*nn+j] = i; colind[i*nn+j] = j; } csr_matrix_struct* currCSR = &dmatLimitMatrixCSRList[levelNumber]; if(ergo_CSR_create(currCSR, 0, nn, nvalues, &rowind[0], &colind[0]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in ergo_CSR_create for dmatLimitMatrixCSRList."); return -1; } for(int i = 0; i < nn; i++) for(int j = 0; j < nn; j++) ergo_CSR_add_to_element(currCSR, i, j, densityMatrixLimitMatrixList[levelNumber][i*nn+j]); } for(int levelNumber = 0; levelNumber < numberOfLevels; levelNumber++) delete [] densityMatrixLimitMatrixList[levelNumber]; } else { output_current_memory_usage(LOG_AREA_INTEGRALS, "before calling getDmatLimitMatrixCSRList"); if(getDmatLimitMatrixCSRList(dmatLimitMatrixCSRList, numberOfLevels, densCSR, basisFuncGroupList, basisFuncGroupCounterList) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in getDmatLimitMatrixCSRList."); return -1; } } // OK, densityMatrixLimitMatrixList done. timeMeterGetDensityMatrixLimitMatrixList.print(LOG_AREA_INTEGRALS, "getting densityMatrixLimitMatrixList"); output_current_memory_usage(LOG_AREA_INTEGRALS, "after doing densityMatrixLimitMatrixList"); // Crete job-list for K Util::TimeMeter timeMeterKjoblist; // compute number of jobs before allocating list. int noOfJobs_K_firstCount = create_joblist_exchange_for_two_boxes_recursive(basisInfo, integralInfo, maxNoOfMonomials, J_K_params.threshold_K, &boxList[0], numberOfLevels, dmatLimitMatrixCSRList, basisFuncGroupCounterList, 0, 0, 0, NULL, HUGE_INTEGER_NUMBER ); if(noOfJobs_K_firstCount < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_joblist_exchange_for_two_boxes_recursive"); return -1; } std::vector jobList_K(noOfJobs_K_firstCount); output_current_memory_usage(LOG_AREA_INTEGRALS, "after allocating jobList_K"); int noOfJobs_K = create_joblist_exchange_for_two_boxes_recursive(basisInfo, integralInfo, maxNoOfMonomials, J_K_params.threshold_K, &boxList[0], numberOfLevels, dmatLimitMatrixCSRList, basisFuncGroupCounterList, 0, 0, 0, &jobList_K[0], noOfJobs_K_firstCount ); if(noOfJobs_K < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_joblist_exchange_for_two_boxes_recursive"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "job list for K created, %8i jobs", noOfJobs_K); timeMeterKjoblist.print(LOG_AREA_INTEGRALS, "creating job list for K"); // Execute job-list for K Util::TimeMeter timeMeterK; int noOfThreads = J_K_params.noOfThreads_K; if(noOfThreads <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: (noOfThreads <= 0)"); return -1; } if(noOfThreads == 1) { // no threading requested if(execute_joblist_K_serial(dens, densCSR, basisInfo, integralInfo, CAM_params, maxNoOfMonomials, basisFuncListCount_max, &boxList[0], &jobList_K[0], noOfJobs_K, J_K_params.threshold_K, K, K_CSR, symmetryFlag) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in execute_joblist_K_serial"); return -1; } } else { if(execute_joblist_K_threaded(noOfThreads, dens, densCSR, basisInfo, integralInfo, CAM_params, maxNoOfMonomials, basisFuncListCount_max, &boxList[0], &jobList_K[0], noOfJobs_K, J_K_params.threshold_K, K, K_CSR, symmetryFlag) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in execute_joblist_K_threaded"); return -1; } } timeMeterK.print(LOG_AREA_INTEGRALS, "Executing job list for K"); for(int i = 0; i < numberOfLevels; i++) delete [] basisFuncGroupList[i]; for(int levelNumber = 0; levelNumber < numberOfLevels; levelNumber++) ergo_CSR_destroy(&dmatLimitMatrixCSRList[levelNumber]); output_current_memory_usage(LOG_AREA_INTEGRALS, "after freeing stuff at end of compute_K_by_boxes"); timeMeterTot.print(LOG_AREA_INTEGRALS, "compute_K_by_boxes"); return 0; } ergo-3.5/source/integrals/basis_func_pair_list_1el.cc0000664000175000017500000001352412743400307017767 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include "basis_func_pair_list_1el.h" #include "basis_func_extent_1el.h" #include "output.h" #include "pi.h" #include "box_system.h" #include "utilities.h" #include "integrals_general.h" int get_basis_func_pair_list_1el(const BasisInfoStruct & basisInfo, ergo_real threshold, ergo_real maxCharge, basis_func_index_pair_struct_1el* result_basisFuncPairList, int resultMaxCount) { int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "get_basis_func_pair_list_1el, n = %6i", n); Util::TimeMeter timeMeter; // compute extent for all basis functions ergo_real* basisFuncExtentList = new ergo_real[n]; if(compute_extent_for_all_basis_funcs_1el(basisInfo, basisFuncExtentList, maxCharge, threshold) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_extent_for_all_basis_funcs_1el"); return -1; } ergo_real maxExtent = 0; for(int i = 0; i < n; i++) { ergo_real currExtent = basisFuncExtentList[i]; if(currExtent > maxExtent) maxExtent = currExtent; } // Create box system for basisInfo. box_item_struct* itemList = new box_item_struct[n]; for(int i = 0; i < n; i++) { for(int j = 0; j < 3; j++) itemList[i].centerCoords[j] = basisInfo.basisFuncList[i].centerCoords[j]; itemList[i].originalIndex = i; } ergo_real toplevelBoxSize = 7.0; BoxSystem boxSystem; if(boxSystem.create_box_system(itemList, n, toplevelBoxSize) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system."); return -1; } int* orgIndexList = new int [n]; int count = 0; for(int i = 0; i < n; i++) { // Now, instead of looping again over all n basis functions, we use box system to find relevant ones. ergo_real maxDistance = basisFuncExtentList[i] + maxExtent; ergo_real coords[3]; for(int coordNo = 0; coordNo < 3; coordNo++) coords[coordNo] = basisInfo.basisFuncList[i].centerCoords[coordNo]; int nRelevant = boxSystem.get_items_near_point(itemList, coords, maxDistance, orgIndexList); for(int jRelevant = 0; jRelevant < nRelevant; jRelevant++) { int j = orgIndexList[jRelevant]; if(j < i) continue; // Now we are concerned with basis functions i and j. // If they are far enough apart, we can skip this pair. ergo_real dx = basisInfo.basisFuncList[i].centerCoords[0] - basisInfo.basisFuncList[j].centerCoords[0]; ergo_real dy = basisInfo.basisFuncList[i].centerCoords[1] - basisInfo.basisFuncList[j].centerCoords[1]; ergo_real dz = basisInfo.basisFuncList[i].centerCoords[2] - basisInfo.basisFuncList[j].centerCoords[2]; ergo_real distance = std::sqrt(dx*dx + dy*dy + dz*dz); if(distance > basisFuncExtentList[i] + basisFuncExtentList[j]) continue; // There may be some overlap between these two basis functions. // However, the extent check is rather rough. // To check more carefully, compute product explicitly. int currProductLargeEnough = 0; const int maxCountProduct = POLY_PRODUCT_MAX_DISTRS; DistributionSpecStruct psi_list[maxCountProduct]; /* form product of basisfuncs i and j, store product in psi_list */ int n_psi = get_product_simple_primitives(basisInfo, i, basisInfo, j, psi_list, maxCountProduct, 0); if(n_psi < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_primitives"); return -1; } for(int k = 0; k < n_psi; k++) { // Check if this distr can give contribution larger than threshold. ergo_real estimatedMaxContrib = std::fabs(2 * pi * maxCharge * psi_list[k].coeff / psi_list[k].exponent); if(estimatedMaxContrib > threshold) { // This product distr is large enough. currProductLargeEnough = 1; break; } // END IF above threshold } // END FOR k if(currProductLargeEnough == 1) { // Include this pair in the list if(result_basisFuncPairList != NULL) { if(count >= resultMaxCount) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_basis_func_pair_list: (count >= resultMaxCount)"); return -1; } result_basisFuncPairList[count].index_1 = i; result_basisFuncPairList[count].index_2 = j; } count++; } // END IF include this pair in the list } // END FOR jRelevant } // END FOR i delete [] basisFuncExtentList; delete [] itemList; delete [] orgIndexList; timeMeter.print(LOG_AREA_INTEGRALS, "get_basis_func_pair_list_1el"); return count; } ergo-3.5/source/integrals/box_system.cc0000664000175000017500000003474012743400307015243 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include "box_system.h" #include "output.h" #include "memorymanag.h" #include "utilities.h" /** @file box_system.cc The idea is that you have a list of items at different points in space, and you want a hierarchical system of boxes containing those items. You give a list of items, and the function create_box_system will create a system of boxes for you. */ BoxSystem::BoxSystem() { boxList = NULL; } BoxSystem::~BoxSystem() { if(boxList) delete [] boxList; } /** Creates the box system. @param itemList list of items to create the box structure for. @param noOfItems their number. @param toplevelBoxSize */ int BoxSystem::create_box_system(box_item_struct* itemList, int noOfItems, ergo_real toplevelBoxSize) { // Allocate resultBoxList with just one item to begin with, // It will be expanded later as needed. int maxNoOfBoxes = 1; boxList = new box_struct_basic[maxNoOfBoxes]; // create "mother box" containing all distrs. int currBoxIndex = 0; if(currBoxIndex >= maxNoOfBoxes) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system: (currBoxIndex >= maxNoOfBoxes)"); return -1; } box_struct_basic* motherBox = &boxList[currBoxIndex]; currBoxIndex++; // first get dimensions of box const ergo_real HUGE_NUMBER = 888888888; ergo_real xminList[3]; ergo_real xmaxList[3]; ergo_real xdiffList[3]; for(int kk = 0; kk < 3; kk++) { xminList[kk] = HUGE_NUMBER; xmaxList[kk] = -HUGE_NUMBER; } for(int i = 0; i < noOfItems; i++) { for(int kk = 0; kk < 3; kk++) { ergo_real x = itemList[i].centerCoords[kk]; if(x < xminList[kk]) xminList[kk] = x; if(x > xmaxList[kk]) xmaxList[kk] = x; } } // END FOR i int bestCoordIndex = 0; for(int kk = 0; kk < 3; kk++) { xdiffList[kk] = xmaxList[kk] - xminList[kk]; if(xdiffList[kk] > xdiffList[bestCoordIndex]) bestCoordIndex = kk; } for(int kk = 0; kk < 3; kk++) { if(xdiffList[kk] < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system: (xdiffList[kk] < 0)."); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system: kk = %d, xdiffList[kk] = %9.4g < 0.\n", kk, xdiffList[kk]); return -1; } } ergo_real largestDiff = xdiffList[bestCoordIndex]; // compute number of levels and size of mother box int numberOfLevels = 1; ergo_real width = toplevelBoxSize; while(width < largestDiff) { width *= 2; numberOfLevels++; } if(numberOfLevels >= MAX_NO_OF_BOX_LEVELS) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system: (numberOfLevels >= MAX_NO_OF_BOX_LEVELS)"); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system: numberOfLevels = %d, MAX_NO_OF_BOX_LEVELS = %d.", numberOfLevels, (int)MAX_NO_OF_BOX_LEVELS); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system: toplevelBoxSize = %7.3g, largestDiff = %7.3g.", (double)toplevelBoxSize, (double)largestDiff); return -1; } motherBox->width = width; // Set center of mother box. for(int kk = 0; kk < 3; kk++) motherBox->centerCoords[kk] = xminList[kk] + motherBox->width / 2; motherBox->firstItemIndex = 0; motherBox->noOfItems = noOfItems; // OK, mother box done. // Now create boxes on other levels, one level at a time. this->levelList[0].noOfBoxes = 1; this->levelList[0].startIndexInBoxList = 0; int* itemIndexBucketList[2][2][2]; for(int ix = 0; ix < 2; ix++) for(int iy = 0; iy < 2; iy++) for(int iz = 0; iz < 2; iz++) itemIndexBucketList[ix][iy][iz] = new int[noOfItems]; int itemCounterList[2][2][2]; // Allocate temporary itemList for use when reordering items. std::vector itemListTemp(noOfItems); for(int levelNumber = 1; levelNumber < numberOfLevels; levelNumber++) { levelList[levelNumber].startIndexInBoxList = currBoxIndex; int currLevelNoOfBoxes_1 = 0; // go through boxes of previous level, and create new boxes at this level if needed. // We go through boxes of previous level twice, the first time to check how many // new boxes must be allocated. int startIndex = levelList[levelNumber-1].startIndexInBoxList; for(int i = startIndex; i < startIndex + levelList[levelNumber-1].noOfBoxes; i++) { // now resultBoxList[i] is the box whose children we are creating. boxList[i].firstChildBoxIndex = currBoxIndex; int noOfChildren = 0; if(boxList[i].noOfItems == 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "ERROR: (boxList[i].noOfItems == 0)"); return -1; } // create 2*2*2 = 8 new boxes for(int ix = 0; ix < 2; ix++) for(int iy = 0; iy < 2; iy++) for(int iz = 0; iz < 2; iz++) { itemCounterList[ix][iy][iz] = 0; } // END FOR ix iy iz // now go through the points of the parent box to decide which of the 8 children each point belongs to. for(int j = boxList[i].firstItemIndex; j < boxList[i].firstItemIndex + boxList[i].noOfItems; j++) { int ix = 0; int iy = 0; int iz = 0; if(itemList[j].centerCoords[0] > boxList[i].centerCoords[0]) ix = 1; if(itemList[j].centerCoords[1] > boxList[i].centerCoords[1]) iy = 1; if(itemList[j].centerCoords[2] > boxList[i].centerCoords[2]) iz = 1; itemCounterList[ix][iy][iz]++; } // END FOR j // OK, all items counted, counters updated to indicate how many items // belong to each of the 8 candidate child boxes. // Now count new boxes. for(int ix = 0; ix < 2; ix++) for(int iy = 0; iy < 2; iy++) for(int iz = 0; iz < 2; iz++) { if(itemCounterList[ix][iy][iz] > 0) { currLevelNoOfBoxes_1++; noOfChildren++; } // END IF (itemCounterList[ix][iy][iz] > 0) } // END FOR ix iy iz } // END FOR i // OK, now we know how many new boxes are needed. int maxNoOfBoxesNew = maxNoOfBoxes + currLevelNoOfBoxes_1; box_struct_basic* boxListNew = new box_struct_basic[maxNoOfBoxesNew]; // copy previous contents of resultBoxList memcpy(boxListNew, boxList, maxNoOfBoxes*sizeof(box_struct_basic)); // free old list, and set pointer to new list instead. delete [] boxList; boxList = boxListNew; maxNoOfBoxes = maxNoOfBoxesNew; // Now go through level again, this time creating new boxes and reordering items. int currLevelNoOfBoxes_2 = 0; for(int i = startIndex; i < startIndex + levelList[levelNumber-1].noOfBoxes; i++) { // now resultBoxList[i] is the box whose children we are creating. boxList[i].firstChildBoxIndex = currBoxIndex; int noOfChildren = 0; if(boxList[i].noOfItems == 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "ERROR: (resultBoxList[i].noOfItems == 0)"); return -1; } // create 2*2*2 = 8 new boxes box_struct_basic tempBoxList[2][2][2]; for(int ix = 0; ix < 2; ix++) for(int iy = 0; iy < 2; iy++) for(int iz = 0; iz < 2; iz++) { ergo_real newWidth = boxList[i].width / 2; ergo_real x = boxList[i].centerCoords[0] + (ix*2-1)*0.5*newWidth; ergo_real y = boxList[i].centerCoords[1] + (iy*2-1)*0.5*newWidth; ergo_real z = boxList[i].centerCoords[2] + (iz*2-1)*0.5*newWidth; tempBoxList[ix][iy][iz].centerCoords[0] = x; tempBoxList[ix][iy][iz].centerCoords[1] = y; tempBoxList[ix][iy][iz].centerCoords[2] = z; tempBoxList[ix][iy][iz].width = newWidth; itemCounterList[ix][iy][iz] = 0; } // END FOR ix iy iz // now go through the points of the parent box to decide which of the 8 children each point belongs to. for(int j = boxList[i].firstItemIndex; j < boxList[i].firstItemIndex + boxList[i].noOfItems; j++) { int ix = 0; int iy = 0; int iz = 0; if(itemList[j].centerCoords[0] > boxList[i].centerCoords[0]) ix = 1; if(itemList[j].centerCoords[1] > boxList[i].centerCoords[1]) iy = 1; if(itemList[j].centerCoords[2] > boxList[i].centerCoords[2]) iz = 1; itemIndexBucketList[ix][iy][iz][itemCounterList[ix][iy][iz]] = j; itemCounterList[ix][iy][iz]++; } // END FOR j // OK, all items copied to itemBucketList. // Now add new boxes, and order the items accordingly. int currStartIndex = boxList[i].firstItemIndex; for(int ix = 0; ix < 2; ix++) for(int iy = 0; iy < 2; iy++) for(int iz = 0; iz < 2; iz++) { if(itemCounterList[ix][iy][iz] > 0) { if(currBoxIndex >= maxNoOfBoxes) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system: (currBoxIndex >= maxNoOfBoxes)"); return -1; } boxList[currBoxIndex] = tempBoxList[ix][iy][iz]; boxList[currBoxIndex].firstItemIndex = currStartIndex; boxList[currBoxIndex].noOfItems = itemCounterList[ix][iy][iz]; for(int k = 0; k < itemCounterList[ix][iy][iz]; k++) itemListTemp[currStartIndex+k] = itemList[itemIndexBucketList[ix][iy][iz][k]]; currStartIndex += itemCounterList[ix][iy][iz]; currBoxIndex++; currLevelNoOfBoxes_2++; noOfChildren++; } // END IF (itemCounterList[ix][iy][iz] > 0) } // END FOR ix iy iz boxList[i].noOfChildBoxes = noOfChildren; } // END FOR i if(currLevelNoOfBoxes_2 != currLevelNoOfBoxes_1) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system: (currLevelNoOfBoxes_2 != currLevelNoOfBoxes_1)"); return -1; } levelList[levelNumber].noOfBoxes = currLevelNoOfBoxes_2; memcpy(itemList, &itemListTemp[0], noOfItems*sizeof(box_item_struct)); } // END FOR levelNumber // OK, boxes created. totNoOfBoxes = currBoxIndex; noOfLevels = numberOfLevels; for(int ix = 0; ix < 2; ix++) for(int iy = 0; iy < 2; iy++) for(int iz = 0; iz < 2; iz++) delete [] itemIndexBucketList[ix][iy][iz]; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "create_box_system end OK, toplevelBoxSize: %5.1f, #levels: %2i, #boxes at top level: %6i", (double)toplevelBoxSize, numberOfLevels, levelList[noOfLevels-1].noOfBoxes); return 0; } static ergo_real get_min_distance_from_point_to_box(const ergo_real* boxCenterCoords, ergo_real halfwidth, const ergo_real* point) { ergo_real dxList[3]; for(int k = 0; k < 3; k++) { ergo_real dx = std::fabs(boxCenterCoords[k] - point[k]); if(dx > halfwidth) dxList[k] = dx - halfwidth; else dxList[k] = 0; } ergo_real sum = 0; for(int k = 0; k < 3; k++) sum += dxList[k] * dxList[k]; return std::sqrt(sum); } int BoxSystem::get_items_near_point_recursive(const box_item_struct* itemList, const ergo_real* coords, ergo_real distance, int* resultOrgIndexList, int level, int boxIndex) const { const box_struct_basic* box = &boxList[boxIndex]; // Check if this entire box is so far away that it can be skipped. ergo_real min_distance_from_point_to_box = get_min_distance_from_point_to_box(box->centerCoords, box->width/2, coords); if(min_distance_from_point_to_box > distance) return 0; // No, we could not skip. Take care of box contents. if(level == noOfLevels-1) { // We are at top level. // Go through all points in box and add the relevant ones to result list. int count = 0; for(int i = 0; i < box->noOfItems; i++) { const box_item_struct* currItem = &itemList[box->firstItemIndex+i]; ergo_real sum = 0; for(int coordNo = 0; coordNo < 3; coordNo++) { ergo_real d = coords[coordNo] - currItem->centerCoords[coordNo]; sum += d*d; } ergo_real currDist = std::sqrt(sum); if(currDist < distance) { // Add to result. resultOrgIndexList[count] = currItem->originalIndex; count++; } } // END FOR i return count; } // Not top level. Go to next level. int count = 0; for(int i = 0; i < box->noOfChildBoxes; i++) { int childBoxIndex = box->firstChildBoxIndex + i; int nNew = get_items_near_point_recursive(itemList, coords, distance, &resultOrgIndexList[count], level+1, childBoxIndex); count += nNew; } return count; } static int compare_ints(const void* p1, const void* p2) { int i1 = *((int*)p1); int i2 = *((int*)p2); if(i1 > i2) return 1; if(i1 < i2) return -1; return 0; } /** Goes through existning box system to find all items within specified distance from given reference point. @param itemList the list of items for which the box system was created. @param coords list of 3 coordinates for reference point. @param distance the distance to find items within. @param resultOrgIndexList preallocated list of resulting org indexes. */ int BoxSystem::get_items_near_point(const box_item_struct* itemList, const ergo_real* coords, ergo_real distance, int* resultOrgIndexList) const { if(!boxList) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in BoxSystem::get_items_near_point: (!boxList). Must create box system first!"); return -1; } int noOfItems = get_items_near_point_recursive(itemList, coords, distance, resultOrgIndexList, 0, levelList[0].startIndexInBoxList); // sort resultOrgIndexList qsort(resultOrgIndexList, noOfItems, sizeof(int), compare_ints); return noOfItems; } ergo-3.5/source/integrals/matrix_norm.h0000664000175000017500000000264612743400307015250 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef MATRIX_NORM_HEADER #define MATRIX_NORM_HEADER #include "realtype.h" ergo_real get_euclidean_norm(int m, int n, const ergo_real* A); ergo_real get_maximum_norm(int m, int n, const ergo_real* A); #endif ergo-3.5/source/integrals/boysfunction.cc0000664000175000017500000001652412743400307015571 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include "boysfunction.h" #include "pi.h" #include "output.h" #include "utilities.h" static double semiFactorial(int n) { switch(n) { case -1: return 1; case 0: return 1; case 1: return 1; case 2: return 2; case 3: return 3; case 4: return 4*2; case 5: return 5*3; case 6: return 6*4*2; case 7: return 7*5*3; case 8: return 8*6*4*2; case 9: return 9*7*5*3; case 10: return 10*8*6*4*2; case 11: return 11*9*7*5*3; case 12: return 12*10*8*6*4*2; case 13: return 13*11*9*7*5*3; case 14: return 14*12*10*8*6*4*2; case 15: return 15*13*11*9*7*5*3; case 16: return 16*14*12*10*8*6*4*2; case 17: return 17*15*13*11*9*7*5*3; case 18: return 18*16*14*12*10*8*6*4*2; case 19: return 19*(double)17*15*13*11*9*7*5*3; case 20: return 20*(double)18*16*14*12*10*8*6*4*2; case 21: return 21*19*(double)17*15*13*11*9*7*5*3; case 22: return 22*20*(double)18*16*14*12*10*8*6*4*2; case 23: return 23*21*19*(double)17*15*13*11*9*7*5*3; case 24: return 24*22*20*(double)18*16*14*12*10*8*6*4*2; case 25: return 25*23*21*19*(double)17*15*13*11*9*7*5*3; case 26: return 26*24*22*20*(double)18*16*14*12*10*8*6*4*2; case 27: return 27*25*23*21*19*(double)17*15*13*11*9*7*5*3; case 28: return 28*26*24*22*20*(double)18*16*14*12*10*8*6*4*2; default: do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: semiFactorial not implemented for n > 28"); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "n = %i", n); throw std::runtime_error("Error in boysfunction semiFactorial, case not implemented (n too large)."); } } #if 0 static ergo_real BoysFunction_raw(int n, ergo_real x) { const int N = 400; int i; ergo_real h = (ergo_real)0.5 / N; ergo_real sum = 0; for(i = 0; i < N; i++) { ergo_real t = (ergo_real)i / N + h; sum += 2 * h * std::exp(-x*t*t) * std::pow(t, 2*n); } return sum; } #endif static ergo_real BoysFunction_raw_simpson(int n, ergo_real x) { const int N = 100; ergo_real h = (ergo_real)0.5 / N; ergo_real sum = 0; for(int k = 0; k <= 2*N; k++) { ergo_real tk = (ergo_real)k / (2*N); // Compute f(tk) = exp(-x*tk*tk) * pow(tk, 2*n) ergo_real foftk = std::exp(-x*tk*tk); if(n != 0) { if(k != 0) foftk *= std::pow(tk, 2*n); else foftk = 0; } // OK, foftk done, now add to sum. if(k == 0 || k == 2*N) { sum += foftk; continue; } if(k % 2 == 1) { sum += 4 * foftk; continue; } sum += 2 * foftk; } return (h/3) * sum; } void BoysFunctionManager::init(void) { if(Boys_init_flag == 1) return; Util::TimeMeter timeMeter; ergo_real halfstep, kfactorial, BoysFuncRawResult, Ak, midx; halfstep = (ergo_real)BOYS_X_MAX / BOYS_NO_OF_INTERVALS * 0.5; for(int n = 0; n < BOYS_N_MAX; n++) { for(int j = 0; j < BOYS_NO_OF_INTERVALS; j++) { midx = (ergo_real)BOYS_X_MAX * j / BOYS_NO_OF_INTERVALS + halfstep; Boys_list[n][j].midx = midx; kfactorial = 1; int minusOneToPowk = 1; for(int k = 0; k < BOYS_TAB_DEGREE; k++) { BoysFuncRawResult = BoysFunction_raw_simpson(n+k, midx); Ak = minusOneToPowk * BoysFuncRawResult / kfactorial; Boys_list[n][j].A[k] = Ak; kfactorial *= k+1; minusOneToPowk *= -1; } /* END FOR k */ } /* END FOR j */ } /* END FOR n */ Boys_init_flag = 1; timeMeter.print(LOG_AREA_INTEGRALS, "BoysFunctionManager::init"); } ergo_real BoysFunctionManager::BoysFunction_pretabulated(int n, ergo_real x) const { const BoysFuncIntervalStruct* interval; ergo_real intervalWidth, count, sum, deltax, deltaxtopowk; int intervalIndex, k; if(Boys_init_flag != 1) throw std::runtime_error("Error in BoysFunctionManager::BoysFunction_pretabulated: (Boys_init_flag != 1)."); if(x < 0) throw std::runtime_error("Error in BoysFunctionManager::BoysFunction_pretabulated: (x < 0)."); if(n >= BOYS_N_MAX) throw std::runtime_error("Error in BoysFunctionManager::BoysFunction_pretabulated: (n >= BOYS_N_MAX)."); if(x >= BOYS_X_MAX) { /* use "large x formula" */ return (semiFactorial(2*n-1) / std::pow((ergo_real)2, n+1)) * std::sqrt(pi / std::pow(x, 2*n+1)); } /* choose which interval to use */ intervalWidth = (ergo_real)BOYS_X_MAX / BOYS_NO_OF_INTERVALS; count = x / intervalWidth; intervalIndex = (int)std::floor(count); if((intervalIndex < 0) || (intervalIndex >= BOYS_NO_OF_INTERVALS)) throw std::runtime_error("Error in BoysFunctionManager::BoysFunction_pretabulated: bad intervalIndex."); interval = &Boys_list[n][intervalIndex]; sum = 0; deltax = x - interval->midx; deltaxtopowk = 1; for(k = 0; k < BOYS_TAB_DEGREE; k++) { ergo_real Ak = interval->A[k]; sum += Ak * deltaxtopowk; deltaxtopowk *= deltax; } return sum; } ergo_real BoysFunctionManager::BoysFunction(int n, ergo_real x) const { return BoysFunction_pretabulated(n, x); } /** Function needed for Chunks&Tasks usage. */ void BoysFunctionManager::write_to_buffer ( char * dataBuffer, size_t const bufferSize ) const { char* p = dataBuffer; if(bufferSize < get_size()) throw std::runtime_error("Error: bufferSize too small."); // Boys_list memcpy(p, Boys_list, sizeof(Boys_list)); p += sizeof(Boys_list); // Boys_init_flag memcpy(p, &Boys_init_flag, sizeof(int)); p += sizeof(int); // DONE! } /** Function needed for Chunks&Tasks usage. */ size_t BoysFunctionManager::get_size() const { return sizeof(Boys_list) + sizeof(int); } /** Function needed for Chunks&Tasks usage. */ void BoysFunctionManager::assign_from_buffer ( char const * dataBuffer, size_t const bufferSize) { const char* p = dataBuffer; // Boys_list memcpy(Boys_list, p, sizeof(Boys_list)); p += sizeof(Boys_list); // Boys_init_flag memcpy(&Boys_init_flag, p, sizeof(int)); p += sizeof(int); // DONE! if(static_cast(p-dataBuffer) > bufferSize) throw std::runtime_error("Error: (p > bufferSize)."); } ergo-3.5/source/integrals/integrals_2el.h0000664000175000017500000000565012743400307015441 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef INTEGRALS_2EL_HEADER #define INTEGRALS_2EL_HEADER #include "basisinfo.h" namespace JK { struct Params { int use_naive_fockmatrix_construction; ergo_real threshold_J; ergo_real threshold_K; ergo_real multipole_threshold_factor; int use_densfit_for_J; int use_differential_density; int use_fmm; ergo_real fmm_box_size; int fmm_no_of_branches; ergo_real fmm_branch_splitter_extent_1; ergo_real fmm_branch_splitter_extent_2; ergo_real fmm_branch_splitter_extent_3; ergo_real fmm_branch_splitter_extent_4; ergo_real fmm_branch_splitter_extent_5; ergo_real exchange_box_size; int noOfThreads_J; int noOfThreads_K; Params() : use_naive_fockmatrix_construction(0), threshold_J(1e-12), threshold_K(1e-12), multipole_threshold_factor(1), use_densfit_for_J(0), use_differential_density(0), use_fmm(1), fmm_box_size(5.0), fmm_no_of_branches(0), fmm_branch_splitter_extent_1(0), fmm_branch_splitter_extent_2(0), fmm_branch_splitter_extent_3(0), fmm_branch_splitter_extent_4(0), fmm_branch_splitter_extent_5(0), exchange_box_size(5.0), noOfThreads_J(1), noOfThreads_K(1) {} }; } #if 0 typedef struct { int shell_idx_1; int shell_idx_2; int noOfExponentPairs; int exponentPairIndex; } shell_pair_struct; typedef struct { int idx_1; int idx_2; int productOrgIdx; ergo_real exponent_1; ergo_real exponent_2; ergo_real coeff_1; ergo_real coeff_2; ergo_real coeff_12, exponent_12; ergo_real sizeOfProduct; ergo_real centerCoords_1[3]; ergo_real centerCoords_2[3]; ergo_real centerCoords_12[3]; int n1max; int n2max; } exponent_pair_struct; #endif #endif ergo-3.5/source/integrals/exponent_list.cc0000664000175000017500000000553012743400307015735 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "exponent_list.h" #include "output.h" int ExponentList::get_list_of_available_exponents(const BasisInfoStruct & basisInfo) { int n = basisInfo.noOfBasisFuncs; int count = 0; for(int i = 0; i < n; i++) { BasisFuncStruct* basisFunc = &basisInfo.basisFuncList[i]; // go through all primitives for this basis function. int nPrims = basisFunc->noOfSimplePrimitives; int start = basisFunc->simplePrimitiveIndex; for(int j = 0; j < nPrims; j++) { DistributionSpecStruct* prim = &basisInfo.simplePrimitiveList[start + j]; ergo_real currExponent = prim->exponent; ergo_real currAbsCoeff = std::fabs(prim->coeff); // now go through list to check if we already have this exponent. int foundIndex = -1; for(int k = 0; k < count; k++) { ergo_real absDiff = std::fabs(list[k].exponent - currExponent); if(absDiff < CONST_EXPONENT_DIFF_TOLERANCE) { foundIndex = k; break; } // END IF found } // END FOR k if(foundIndex >= 0) { // OK, we already have this exponent in list. // Update maxAbsCoeff if needed. if(currAbsCoeff > list[foundIndex].maxAbsCoeff) list[foundIndex].maxAbsCoeff = currAbsCoeff; } else { // Add new exponent to list. if(count >= MAX_NO_OF_UNIQUE_EXPONENTS) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_list_of_available_exponents: (count >= MAX_NO_OF_UNIQUE_EXPONENTS)"); return -1; } list[count].exponent = currExponent; list[count].maxAbsCoeff = currAbsCoeff; count++; } } // END FOR j } // END FOR i noOfExponents = count; return 0; } ergo-3.5/source/integrals/integrals_2el_repeating.cc0000664000175000017500000001360712743400307017636 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include #include #include #include #include "pi.h" #include "integrals_hermite.h" #include "integrals_2el_repeating.h" #include "realtype.h" IntegratorCase::IntegratorCase(int Nmax_in, int noOfMonomials, ergo_real exponent_in, const ergo_real* newList) { list = new ergo_real[noOfMonomials]; Nmax = Nmax_in; exponent = exponent_in; for(int i = 0; i < noOfMonomials; i++) list[i] = newList[i]; } IntegratorCase::~IntegratorCase() { delete []list; } typedef IntegratorCase* IntegratorCasePtr; const int MAX_NO_OF_CASES = 44444; IntegratorWithMemory::IntegratorWithMemory(const IntegralInfo* b) { integralInfo = b; noOfCases = 0; caseList = new IntegratorCasePtr[MAX_NO_OF_CASES]; } IntegratorWithMemory::~IntegratorWithMemory() { for(int i = 0; i < noOfCases; i++) delete caseList[i]; delete []caseList; } ergo_real IntegratorWithMemory::do_2e_integral(const DistributionSpecStruct* psi) { const ergo_real twoTimesPiToPow5half = 2 * pitopow52; int Ntot; ergo_real alpha1 = psi->exponent; ergo_real alpha2 = psi->exponent; ergo_real alphasum = alpha1 + alpha2; ergo_real alphaproduct = alpha1 * alpha2; ergo_real alpha0 = alphaproduct / alphasum; int n1 = 0; int n2 = 0; for(int i = 0; i < 3; i++) { n1 += psi->monomialInts[i]; n2 += psi->monomialInts[i]; } int nx = psi->monomialInts[0]; int ny = psi->monomialInts[1]; int nz = psi->monomialInts[2]; Ntot = n1 + n2; int Nmax = Ntot; int noOfMonomials = integralInfo->monomial_info.no_of_monomials_list[n1]; ergo_real dx0 = 0; ergo_real dx1 = 0; ergo_real dx2 = 0; ergo_real resultPreFactor = twoTimesPiToPow5half / (alphaproduct*std::sqrt(alphasum)); int monomialIndex = integralInfo->monomial_info.monomial_index_list[nx][ny][nz]; // Check if this type of integral is already known // That is, have we already calculated integrals for this Nmax (or higher Nmax) and for this exponent? int foundIndex = -1; if(noOfCases > 0) { int lo = 0; int hi = noOfCases - 1; while(lo < hi-1) { int mid = (lo + hi) / 2; if(caseList[mid]->exponent < alpha0) lo = mid; else hi = mid; } // END WHILE ergo_real exponentDiff1 = std::fabs(caseList[lo]->exponent - alpha0); if(exponentDiff1 < 1e-11) foundIndex = lo; ergo_real exponentDiff2 = std::fabs(caseList[hi]->exponent - alpha0); if(exponentDiff2 < 1e-11) foundIndex = hi; } if(foundIndex >= 0) { if(caseList[foundIndex]->Nmax >= Nmax) { // OK, found it! return resultPreFactor * psi->coeff * psi->coeff * caseList[foundIndex]->list[monomialIndex]; } } // No, not found. Create new case. ergo_real primitiveIntegralList_h[noOfMonomials*noOfMonomials]; ergo_real primitiveIntegralList_tmp[noOfMonomials*noOfMonomials]; ergo_real primitiveIntegralList[noOfMonomials*noOfMonomials]; const JK::ExchWeights CAM_params_not_used; get_related_integrals_hermite(*integralInfo, CAM_params_not_used, n1, noOfMonomials, n2, noOfMonomials, dx0, dx1, dx2, alpha0, 1.0, primitiveIntegralList_h); integralInfo->multiply_by_hermite_conversion_matrix_from_right(n1, n2, 1.0/alpha1, primitiveIntegralList_h, primitiveIntegralList_tmp); integralInfo->multiply_by_hermite_conversion_matrix_from_left(n1, n2, 1.0/alpha2, primitiveIntegralList_tmp, primitiveIntegralList); ergo_real newList[noOfMonomials]; for(int i = 0; i < noOfMonomials; i++) newList[i] = primitiveIntegralList[i*noOfMonomials+i]; assert(noOfCases < MAX_NO_OF_CASES); IntegratorCase* newCase = new IntegratorCase(Nmax, noOfMonomials, alpha0, newList); // Check if this exponent is already present in list. If so, replace it with this new higher Nmax. if(foundIndex >= 0) { delete caseList[foundIndex]; caseList[foundIndex] = newCase; } else { // Insert new entry at proper place in list. // First skip all entries with too small exponent. int nSkipped = 0; for(int i = 0; i < noOfCases; i++) { if(caseList[i]->exponent < alpha0) nSkipped++; else break; } // END FOR i int newIndex = nSkipped; // Now move all remaining entries one step down in list. for(int i = noOfCases-1; i >= nSkipped; i--) caseList[i+1] = caseList[i]; // Now add new entry. caseList[newIndex] = newCase; noOfCases++; } // We have now modified the list so that the needed case is present. Call this function again. return do_2e_integral(psi); } ergo-3.5/source/integrals/integrals_2el_coulomb.cc0000664000175000017500000027364312743400307017330 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include "integrals_2el_coulomb.h" #include "integrals_2el_utils.h" #include "mm_limit_table.h" #include "basis_func_pair_list.h" #include "integrals_2el_repeating.h" #include "integrals_hermite.h" #include "integrals_general.h" #include "utilities.h" #include "pi.h" #include "integrals_2el_util_funcs.h" static const int HUGE_INTEGER_NUMBER = 2000000000; typedef struct { int boxIndex_1; int boxIndex_2; int branchIndex_1; int branchIndex_2; } job_list_standard_entry_J_struct; typedef struct { int boxIndex; int multipoleBoxIndex; short int branchIndex; short int multipoleBranchIndex; } job_list_multipole_entry_J_struct; static int get_J_contribs_from_2_interacting_boxes(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, int maxNoOfMonomials, ergo_real* result_J_list, const distr_org_struct & distr_org_struct_1, const distr_org_struct & distr_org_struct_2, int interactionWithSelf, ergo_real threshold, JK_contribs_buffer_struct* bufferStructPtr) { const JK::ExchWeights CAM_params_not_used; const ergo_real twoTimesPiToPow5half = 2 * pitopow52; ergo_real* summedIntegralList = bufferStructPtr->summedIntegralList; ergo_real* primitiveIntegralList = bufferStructPtr->primitiveIntegralList; const distr_group_struct* groupList_1 = &distr_org_struct_1.groupList[0]; const distr_group_struct* groupList_2 = &distr_org_struct_2.groupList[0]; const cluster_struct* clusterList_1 = &distr_org_struct_1.clusterList[0]; const cluster_struct* clusterList_2 = &distr_org_struct_2.clusterList[0]; const chunk_struct* chunkList_1 = &distr_org_struct_1.chunkList[0]; int nChunks_1 = distr_org_struct_1.chunkCount; const chunk_struct* chunkList_2 = &distr_org_struct_2.chunkList[0]; int nChunks_2 = distr_org_struct_2.chunkCount; const basis_func_pair_struct* basisFuncPairList_1 = &distr_org_struct_1.basisFuncPairList[0]; const basis_func_pair_struct* basisFuncPairList_2 = &distr_org_struct_2.basisFuncPairList[0]; const i_j_val_struct* spMatElementList_1 = &distr_org_struct_1.spMatElementList[0]; const int* spMatCountList_1 = &distr_org_struct_1.spMatCountList[0]; const int* spMatIdxList_1 = &distr_org_struct_1.spMatIdxList[0]; const i_j_val_struct* spMatElementList_2 = &distr_org_struct_2.spMatElementList[0]; const int* spMatCountList_2 = &distr_org_struct_2.spMatCountList[0]; const int* spMatIdxList_2 = &distr_org_struct_2.spMatIdxList[0]; for(int chunk_i = 0; chunk_i < nChunks_1; chunk_i++) { int chunk_j_start = 0; if(interactionWithSelf == 1) chunk_j_start = chunk_i; for(int chunk_j = chunk_j_start; chunk_j < nChunks_2; chunk_j++) { int noOfBasisFuncPairs_1 = chunkList_1[chunk_i].noOfBasisFuncPairs; int noOfBasisFuncPairs_2 = chunkList_2[chunk_j].noOfBasisFuncPairs; // set integral list to zero memset(summedIntegralList, 0, noOfBasisFuncPairs_1*noOfBasisFuncPairs_2*sizeof(ergo_real)); // get largest dmat element ergo_real maxabsdmatelement = 0; for(int i = 0; i < noOfBasisFuncPairs_1; i++) for(int j = 0; j < noOfBasisFuncPairs_2; j++) { ergo_real D_ab = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+i].dmatElement; ergo_real D_cd = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+j].dmatElement; ergo_real absval; absval = std::fabs(D_ab); if(absval > maxabsdmatelement) maxabsdmatelement = absval; absval = std::fabs(D_cd); if(absval > maxabsdmatelement) maxabsdmatelement = absval; } // END FOR i j get largest dmat element int cluster_i_start = chunkList_1[chunk_i].clusterStartIndex; int clusterCount1 = chunkList_1[chunk_i].noOfClusters; for(int cluster_i = cluster_i_start; cluster_i < cluster_i_start + clusterCount1; cluster_i++) { int cluster_j_start = chunkList_2[chunk_j].clusterStartIndex; int clusterCount2 = chunkList_2[chunk_j].noOfClusters; int cluterIndexEnd2 = cluster_j_start + clusterCount2; if(interactionWithSelf == 1 && chunk_i == chunk_j) cluster_j_start = cluster_i; for(int cluster_j = cluster_j_start; cluster_j < cluterIndexEnd2; cluster_j++) { // check if we can skip this combination of clusters if(clusterList_1[cluster_i].maxLimitingFactorForCluster * clusterList_2[cluster_j].maxLimitingFactorForCluster * maxabsdmatelement < threshold) continue; int group_i_start = clusterList_1[cluster_i].groupStartIndex; int group_i_end = group_i_start + clusterList_1[cluster_i].noOfGroups; int group_j_start = clusterList_2[cluster_j].groupStartIndex; int group_j_end = group_j_start + clusterList_2[cluster_j].noOfGroups; int n1max = clusterList_1[cluster_i].nmax; int n2max = clusterList_2[cluster_j].nmax; // Now we can precompute things that depend only on exponents ergo_real alpha_1 = groupList_1[group_i_start].exponent; ergo_real alpha_2 = groupList_2[group_j_start].exponent; ergo_real alphasum = alpha_1 + alpha_2; ergo_real alphaproduct = alpha_1 * alpha_2; ergo_real alpha_0 = alphaproduct / alphasum; ergo_real resultPreFactor = twoTimesPiToPow5half / (alphaproduct*std::sqrt(alphasum)); for(int group_i = group_i_start; group_i < group_i_end; group_i++) { if(interactionWithSelf == 1 && chunk_i == chunk_j && cluster_i == cluster_j) group_j_start = group_i; for(int group_j = group_j_start; group_j < group_j_end; group_j++) { // Only J is considered; we can use maxAbsDmatElementGroup ergo_real maxabs_1 = groupList_1[group_i].maxAbsDmatElementGroup; ergo_real maxabs_2 = groupList_2[group_j].maxAbsDmatElementGroup; if((groupList_1[group_i].maxLimitingFactorGroup * groupList_2[group_j].maxLimitingFactorGroup * maxabs_1 < threshold) && (groupList_1[group_i].maxLimitingFactorGroup * groupList_2[group_j].maxLimitingFactorGroup * maxabs_2 < threshold)) continue; // now we can do all integrals needed for this pair of groups ergo_real dx = groupList_2[group_j].centerCoords[0] - groupList_1[group_i].centerCoords[0]; ergo_real dy = groupList_2[group_j].centerCoords[1] - groupList_1[group_i].centerCoords[1]; ergo_real dz = groupList_2[group_j].centerCoords[2] - groupList_1[group_i].centerCoords[2]; // now we have dx dy dz alpha0 alpha1 n1max n2max. Get all integrals for this case. int noOfMonomials_1 = integralInfo.monomial_info.no_of_monomials_list[n1max]; int noOfMonomials_2 = integralInfo.monomial_info.no_of_monomials_list[n2max]; get_related_integrals_hermite(integralInfo, CAM_params_not_used, n1max, noOfMonomials_1, n2max, noOfMonomials_2, dx, dy, dz, alpha_0, resultPreFactor, primitiveIntegralList); if(interactionWithSelf == 1 && group_j == group_i && chunk_i == chunk_j && cluster_i == cluster_j) { do_summedIntegralList_contribs_self(&spMatElementList_1[spMatIdxList_1[group_i]], spMatCountList_1[group_i], &spMatElementList_2[spMatIdxList_2[group_j]], spMatCountList_2[group_j], noOfMonomials_1, noOfMonomials_2, primitiveIntegralList, noOfBasisFuncPairs_1, noOfBasisFuncPairs_2, summedIntegralList); } else { do_summedIntegralList_contribs_std(&spMatElementList_1[spMatIdxList_1[group_i]], spMatCountList_1[group_i], &spMatElementList_2[spMatIdxList_2[group_j]], spMatCountList_2[group_j], noOfMonomials_1, noOfMonomials_2, primitiveIntegralList, noOfBasisFuncPairs_1, noOfBasisFuncPairs_2, summedIntegralList); } } // END FOR group_j } // END FOR group_i } // END FOR cluster_j } // END FOR cluster_i for(int idx_1 = 0; idx_1 < noOfBasisFuncPairs_1; idx_1++) for(int idx_2 = 0; idx_2 < noOfBasisFuncPairs_2; idx_2++) { int a = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+idx_1].index_1; int b = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+idx_1].index_2; int c = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+idx_2].index_1; int d = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+idx_2].index_2; ergo_real integralValueCurr = summedIntegralList[idx_1*noOfBasisFuncPairs_2 + idx_2]; ergo_real D_ab = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+idx_1].dmatElement; ergo_real D_cd = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+idx_2].dmatElement; int J_list_index_ab = basisFuncPairList_1[chunkList_1[chunk_i].basisFuncPairListIndex+idx_1].pairIndex; int J_list_index_cd = basisFuncPairList_2[chunkList_2[chunk_j].basisFuncPairListIndex+idx_2].pairIndex; if(J_list_index_ab == J_list_index_cd) integralValueCurr *= 2; if(std::fabs(integralValueCurr)*maxabsdmatelement < threshold) continue; if(a != b && c != d && (a != c || b != d)) { result_J_list[J_list_index_ab] += 2 * D_cd * integralValueCurr; result_J_list[J_list_index_cd] += 2 * D_ab * integralValueCurr; } else if(a != b && c != d && a == c && b == d) { result_J_list[J_list_index_ab] += 2 * D_cd * integralValueCurr; } else if(a == b && c != d) { result_J_list[J_list_index_ab] += 2 * D_cd * integralValueCurr; result_J_list[J_list_index_cd] += 1 * D_ab * integralValueCurr; } else if(a != b && c == d) { result_J_list[J_list_index_ab] += 1 * D_cd * integralValueCurr; result_J_list[J_list_index_cd] += 2 * D_ab * integralValueCurr; } else if(a == b && c == d && a != c) { result_J_list[J_list_index_ab] += D_cd * integralValueCurr; result_J_list[J_list_index_cd] += D_ab * integralValueCurr; } else if(a == b && c == d && a == c) { result_J_list[J_list_index_ab] += D_cd * integralValueCurr; } else { return -1; // This should never happen } } // END FOR idx_1 idx_2 } // END FOR chunk_j } // END FOR chunk_i return 0; } static int do_multipole_interaction_between_2_boxes_branches(const distr_list_description_struct* distrDescription_1, const multipole_struct_large* branchMultipole, const multipole_struct_small* multipoleList_1, ergo_real* result_J_list, ergo_real threshold, int* largest_L_used_so_far, MMInteractor & interactor ) { const chunk_struct* chunkList_1 = &distrDescription_1->org.chunkList[0]; const cluster_struct* clusterList_1 = &distrDescription_1->org.clusterList[0]; const distr_group_struct* groupList_1 = &distrDescription_1->org.groupList[0]; const minimal_distr_struct* minimalDistrList_1 = &distrDescription_1->org.minimalDistrList[0]; int chunkCount_1 = distrDescription_1->org.chunkCount; const basis_func_pair_struct* basisFuncPairList = &distrDescription_1->org.basisFuncPairList[0]; int distrCountTot = 0; for(int chunkIndex_1 = 0; chunkIndex_1 < chunkCount_1; chunkIndex_1++) { int clusterCount_1 = chunkList_1[chunkIndex_1].noOfClusters; int cluster_start_1 = chunkList_1[chunkIndex_1].clusterStartIndex; for(int clusterIndex_1 = cluster_start_1; clusterIndex_1 < cluster_start_1 + clusterCount_1; clusterIndex_1++) { int group_start_1 = clusterList_1[clusterIndex_1].groupStartIndex; int group_end_1 = group_start_1 + clusterList_1[clusterIndex_1].noOfGroups; for(int groupIndex_1 = group_start_1; groupIndex_1 < group_end_1; groupIndex_1++) { const distr_group_struct* currGroup_1 = &groupList_1[groupIndex_1]; ergo_real dx = branchMultipole->centerCoords[0] - currGroup_1->centerCoords[0]; ergo_real dy = branchMultipole->centerCoords[1] - currGroup_1->centerCoords[1]; ergo_real dz = branchMultipole->centerCoords[2] - currGroup_1->centerCoords[2]; ergo_real r = std::sqrt(dx*dx + dy*dy + dz*dz); // loop over distrs of 1 (and at the same time over multipoles for those distrs) // in order to find largest norm for each subvector. int distr_start = currGroup_1->startIndex; int distr_end = distr_start + currGroup_1->distrCount; ergo_real maxMomentVectorNormForDistrsList[MAX_MULTIPOLE_DEGREE_BASIC+1]; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) maxMomentVectorNormForDistrsList[l] = 0; int maxDegreeForDistrs = 0; for(int distrIndex = distr_start; distrIndex < distr_end; distrIndex++) { const multipole_struct_small* distrMultipole = &multipoleList_1[distrCountTot + distrIndex - distr_start]; if(distrMultipole->degree > maxDegreeForDistrs) maxDegreeForDistrs = distrMultipole->degree; for(int l = 0; l <= distrMultipole->degree; l++) { int startIndex = l*l; int endIndex = (l+1)*(l+1); ergo_real sum = 0; for(int A = startIndex; A < endIndex; A++) sum += distrMultipole->momentList[A]*distrMultipole->momentList[A]; ergo_real subNorm = std::sqrt(sum); if(subNorm > maxMomentVectorNormForDistrsList[l]) maxMomentVectorNormForDistrsList[l] = subNorm; } } // check which degree is needed int degreeNeeded = mm_limits_get_minimum_multipole_degree_needed(r, branchMultipole, maxDegreeForDistrs, maxMomentVectorNormForDistrsList, threshold); if(degreeNeeded < 0) return -1; if(largest_L_used_so_far != NULL) { if(degreeNeeded > *largest_L_used_so_far) *largest_L_used_so_far = degreeNeeded; } int branchNoOfMoments = (degreeNeeded+1)*(degreeNeeded+1); // create interaction matrix ergo_real T[currGroup_1->multipolePtr->noOfMoments * branchNoOfMoments]; interactor.getInteractionMatrix(dx, dy, dz, currGroup_1->multipolePtr->degree, degreeNeeded, T); ergo_real tempVector[MAX_NO_OF_MOMENTS_PER_MULTIPOLE]; for(int A = 0; A < currGroup_1->multipolePtr->noOfMoments; A++) { ergo_real sum = 0; for(int B = 0; B < branchNoOfMoments; B++) sum += branchMultipole->momentList[B] * T[A*branchNoOfMoments+B]; tempVector[A] = sum; } // loop over distrs of 1 (and at the same time over multipoles for those distrs) for(int distrIndex = distr_start; distrIndex < distr_end; distrIndex++) { const multipole_struct_small* distrMultipole = &multipoleList_1[distrCountTot]; distrCountTot++; ergo_real sum = 0; for(int A = 0; A < distrMultipole->noOfMoments; A++) sum += tempVector[A] * distrMultipole->momentList[A]; int basisFuncPairIndex = minimalDistrList_1[distrIndex].basisFuncPairIndex; int pairIndex = basisFuncPairList[chunkList_1[chunkIndex_1].basisFuncPairListIndex+basisFuncPairIndex].pairIndex; result_J_list[pairIndex] += sum; } // END FOR distrIndex } } } return 0; } static int add_multipole_jobs_for_2_boxes_branches_recursive(int multipoleBoxIndex, int multipoleBranchIndex, int n, const box_struct* boxList, int boxIndex, int branchIndex, int numberOfLevels, int currLevel, job_list_multipole_entry_J_struct* jobList_multipole, int maxNoOfJobs_multipole ) { if(currLevel == numberOfLevels - 1) { if(maxNoOfJobs_multipole <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in add_multipole_jobs_for_2_boxes_branches_recursive: (maxNoOfJobs_multipole <= 0)"); return -1; } if(jobList_multipole != NULL) { jobList_multipole[0].boxIndex = boxIndex; jobList_multipole[0].branchIndex = branchIndex; jobList_multipole[0].multipoleBoxIndex = multipoleBoxIndex; jobList_multipole[0].multipoleBranchIndex = multipoleBranchIndex; } return 1; } // go through children int noOfChildren = boxList[boxIndex].basicBox.noOfChildBoxes; int noOfNewJobs = 0; for(int i = 0; i < noOfChildren; i++) { int childIndex = boxList[boxIndex].basicBox.firstChildBoxIndex + i; job_list_multipole_entry_J_struct* jobListPtr = NULL; if(jobList_multipole != NULL) jobListPtr = &jobList_multipole[noOfNewJobs]; int nJobs = add_multipole_jobs_for_2_boxes_branches_recursive(multipoleBoxIndex, multipoleBranchIndex, n, boxList, childIndex, branchIndex, numberOfLevels, currLevel + 1, jobListPtr, maxNoOfJobs_multipole - noOfNewJobs ); if(nJobs < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in add_multipole_jobs_for_2_boxes_branches_recursive"); return -1; } noOfNewJobs += nJobs; } return noOfNewJobs; } static ergo_real get_min_distance_from_point_to_box(const ergo_real* boxCenterCoords, ergo_real halfwidth, const ergo_real* point) { ergo_real dxList[3]; for(int k = 0; k < 3; k++) { ergo_real dx = std::fabs(boxCenterCoords[k] - point[k]); if(dx > halfwidth) dxList[k] = dx - halfwidth; else dxList[k] = 0; } ergo_real sum = 0; for(int k = 0; k < 3; k++) sum += dxList[k] * dxList[k]; return std::sqrt(sum); } static int get_joblists_J_for_two_boxes_recursive(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, int maxNoOfMonomials, ergo_real threshold, const box_struct* boxList, int numberOfLevels, int currLevel, int boxIndex_1, int boxIndex_2, int branchIndex_1, int branchIndex_2, job_list_standard_entry_J_struct* jobList_standard, int maxNoOfJobs_standard, int* noOfNewJobs_standard, job_list_multipole_entry_J_struct* jobList_multipole, int maxNoOfJobs_multipole, int* noOfNewJobs_multipole ) { // check if multipoles can be used. // start by computing the minimum distance between the boxes. // We assume that both boxes have the same width. ergo_real dxList[3]; for(int coordIndex = 0; coordIndex< 3; coordIndex++) { ergo_real x1 = boxList[boxIndex_1].basicBox.centerCoords[coordIndex]; ergo_real x2 = boxList[boxIndex_2].basicBox.centerCoords[coordIndex]; ergo_real dx = std::fabs(x1 - x2); ergo_real width = boxList[boxIndex_1].basicBox.width; if(dx > width) dxList[coordIndex] = dx - width; else dxList[coordIndex] = 0; } ergo_real sumOfSquares = 0; for(int coordIndex = 0; coordIndex< 3; coordIndex++) sumOfSquares += dxList[coordIndex] * dxList[coordIndex]; ergo_real distance = std::sqrt(sumOfSquares); ergo_real maxDistanceOutsideBox_1 = boxList[boxIndex_1].branchList[branchIndex_1].org.maxDistanceOutsideBox; ergo_real maxDistanceOutsideBox_2 = boxList[boxIndex_2].branchList[branchIndex_2].org.maxDistanceOutsideBox; int n = basisInfo.noOfBasisFuncs; int useMultipoleDescription = 0; if(boxIndex_1 != boxIndex_2 && distance >= maxDistanceOutsideBox_1 + maxDistanceOutsideBox_2) { // The distance is OK. // We also want to check that the multipole degree needed is not too high. // For that we need max norms of subvectors for distrs of both branches. // First the case with distrs of 1 interacting with multipole of 2 ergo_real r_1 = get_min_distance_from_point_to_box(boxList[boxIndex_1].basicBox.centerCoords, boxList[boxIndex_1].basicBox.width / 2, boxList[boxIndex_2].branchList[branchIndex_2].multipole.centerCoords); int degreeNeeded_1 = mm_limits_get_minimum_multipole_degree_needed(r_1, &boxList[boxIndex_2].branchList[branchIndex_2].multipole, MAX_MULTIPOLE_DEGREE_BASIC, boxList[boxIndex_1].branchList[branchIndex_1].maxMomentVectorNormForDistrsList, threshold); if(degreeNeeded_1 < 0) return -1; // Now the case with distrs of 2 interacting with multipole of 1 ergo_real r_2 = get_min_distance_from_point_to_box(boxList[boxIndex_2].basicBox.centerCoords, boxList[boxIndex_2].basicBox.width / 2, boxList[boxIndex_1].branchList[branchIndex_1].multipole.centerCoords); int degreeNeeded_2 = mm_limits_get_minimum_multipole_degree_needed(r_2, &boxList[boxIndex_1].branchList[branchIndex_1].multipole, MAX_MULTIPOLE_DEGREE_BASIC, boxList[boxIndex_2].branchList[branchIndex_2].maxMomentVectorNormForDistrsList, threshold); if(degreeNeeded_2 < 0) return -1; // TODO: check if this is really safe. In the V-matrix case it // turned out we needed two degrees margin compared to // MAX_MULTIPOLE_DEGREE, because in some cases the box multipole // is alternating between odd/even large/small // elements. Probably that can happen here too, and then we // could get large errors from that? if(degreeNeeded_1 < MAX_MULTIPOLE_DEGREE && degreeNeeded_2 < MAX_MULTIPOLE_DEGREE) useMultipoleDescription = 1; } if(useMultipoleDescription == 1) { // Use multipole description int noOfNewJobs_1 = add_multipole_jobs_for_2_boxes_branches_recursive(boxIndex_2, branchIndex_2, n, boxList, boxIndex_1, branchIndex_1, numberOfLevels, currLevel, jobList_multipole, maxNoOfJobs_multipole ); job_list_multipole_entry_J_struct* secondPtr = NULL; if(jobList_multipole != NULL) secondPtr = &jobList_multipole[noOfNewJobs_1]; int noOfNewJobs_2 = add_multipole_jobs_for_2_boxes_branches_recursive(boxIndex_1, branchIndex_1, n, boxList, boxIndex_2, branchIndex_2, numberOfLevels, currLevel, secondPtr, maxNoOfJobs_multipole - noOfNewJobs_1 ); if(noOfNewJobs_1 < 0 || noOfNewJobs_2 < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in add_multipole_jobs_for_2_boxes_branches_recursive"); return -1; } *noOfNewJobs_standard = 0; *noOfNewJobs_multipole = noOfNewJobs_1 + noOfNewJobs_2; return 0; } // Multipoles could not be used. We must either go to the next level or compute integrals explicitly. if(currLevel == numberOfLevels-1) { // We are at the level of smallest boxes. Add standard job to job list. if(boxIndex_1 == boxIndex_2 && branchIndex_1 > branchIndex_2) { *noOfNewJobs_standard = 0; *noOfNewJobs_multipole = 0; return 0; } if(maxNoOfJobs_standard <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_joblists_J_for_two_boxes_recursive: (maxNoOfJobs_standard <= 0)"); return -1; } if(jobList_standard != NULL) { jobList_standard[0].boxIndex_1 = boxIndex_1; jobList_standard[0].branchIndex_1 = branchIndex_1; jobList_standard[0].boxIndex_2 = boxIndex_2; jobList_standard[0].branchIndex_2 = branchIndex_2; } *noOfNewJobs_standard = 1; *noOfNewJobs_multipole = 0; return 0; } // Go to next level. Do interaction between all pairs of children of the two boxes. int noOfChildren_1 = boxList[boxIndex_1].basicBox.noOfChildBoxes; int noOfChildren_2 = boxList[boxIndex_2].basicBox.noOfChildBoxes; if(noOfChildren_1 <= 0 || noOfChildren_2 <= 0) exit(0); int noOfNewJobs_standard_count = 0; int noOfNewJobs_multipole_count = 0; for(int i = 0; i < noOfChildren_1; i++) { int start_j = 0; if(boxIndex_1 == boxIndex_2) start_j = i; for(int j = start_j; j < noOfChildren_2; j++) { int childIndex_1 = boxList[boxIndex_1].basicBox.firstChildBoxIndex + i; int childIndex_2 = boxList[boxIndex_2].basicBox.firstChildBoxIndex + j; int nJobs_standard = 0; int nJobs_multipole = 0; job_list_multipole_entry_J_struct* jobList_multipole_mod = NULL; if(jobList_multipole != NULL) jobList_multipole_mod = &jobList_multipole[noOfNewJobs_multipole_count]; job_list_standard_entry_J_struct* jobList_standard_mod = NULL; if(jobList_standard != NULL) jobList_standard_mod = &jobList_standard[noOfNewJobs_standard_count]; if(get_joblists_J_for_two_boxes_recursive(basisInfo, integralInfo, maxNoOfMonomials, threshold, boxList, numberOfLevels, currLevel + 1, childIndex_1, childIndex_2, branchIndex_1, branchIndex_2, jobList_standard_mod, maxNoOfJobs_standard - noOfNewJobs_standard_count, &nJobs_standard, jobList_multipole_mod, maxNoOfJobs_multipole - noOfNewJobs_multipole_count, &nJobs_multipole ) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_joblists_J_for_two_boxes_recursive for child boxes"); return -1; } noOfNewJobs_standard_count += nJobs_standard; noOfNewJobs_multipole_count += nJobs_multipole; } // END FOR j } // END FOR i *noOfNewJobs_standard = noOfNewJobs_standard_count; *noOfNewJobs_multipole = noOfNewJobs_multipole_count; return 0; } static int get_list_of_labeled_distrs_maxLimitingFactor_linear(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real threshold, const basis_func_index_pair_struct* basisFuncIndexPairList, int basisFuncIndexPairCount, ergo_real* resultMaxLimitingFactor) { IntegratorWithMemory integrator(&integralInfo); ergo_real maxLimitingFactor = 0; for(int kk = 0; kk < basisFuncIndexPairCount; kk++) { int i = basisFuncIndexPairList[kk].index_1; int j = basisFuncIndexPairList[kk].index_2; const int maxCountProduct = POLY_PRODUCT_MAX_DISTRS; DistributionSpecStruct psi_list[maxCountProduct]; /* form product of basisfuncs i and j, store product in psi_list */ int n_psi = get_product_simple_primitives(basisInfo, i, basisInfo, j, psi_list, maxCountProduct, 0); if(n_psi < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_primitives"); return -1; } for(int k = 0; k < n_psi; k++) { ergo_real limitingFactor = std::sqrt(integrator.do_2e_integral(&psi_list[k])); if(limitingFactor > maxLimitingFactor) maxLimitingFactor = limitingFactor; } // END FOR k } // END FOR kk *resultMaxLimitingFactor = maxLimitingFactor; return 0; } static int get_list_of_labeled_distrs_linear(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real threshold, DistributionSpecStructLabeled* resultList, int maxCountDistrs, ergo_real maxLimitingFactor, const basis_func_index_pair_struct* basisFuncIndexPairList, int basisFuncIndexPairCount, const ergo_real* D_list) { ergo_real maxDensityMatrixElement = get_max_abs_vector_element(basisFuncIndexPairCount, D_list); IntegratorWithMemory integrator(&integralInfo); // create list of product primitives, with labels int distrCount = 0; for(int kk = 0; kk < basisFuncIndexPairCount; kk++) { int i = basisFuncIndexPairList[kk].index_1; int j = basisFuncIndexPairList[kk].index_2; ergo_real dmatElement = D_list[kk]; const int maxCountProduct = POLY_PRODUCT_MAX_DISTRS; DistributionSpecStruct psi_list[maxCountProduct]; /* form product of basisfuncs i and j, store product in psi_list */ int n_psi = get_product_simple_primitives(basisInfo, i, basisInfo, j, psi_list, maxCountProduct, 0); if(n_psi < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_primitives"); return -1; } for(int k = 0; k < n_psi; k++) { ergo_real limitingFactor = std::sqrt(integrator.do_2e_integral(&psi_list[k])); if(limitingFactor*maxLimitingFactor*maxDensityMatrixElement > threshold) { if(maxCountDistrs > 0 && distrCount >= maxCountDistrs) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_list_of_labeled_distrs: (maxCountDistrs > 0 && distrCount >= maxCountDistrs)"); return -1; } if(resultList != NULL) { resultList[distrCount].distr = psi_list[k]; resultList[distrCount].basisFuncIndex_1 = i; resultList[distrCount].basisFuncIndex_2 = j; resultList[distrCount].pairIndex = kk; resultList[distrCount].limitingFactor = limitingFactor; resultList[distrCount].dmatElement = dmatElement; } distrCount++; } // END IF above threshold } // END FOR k } // END FOR kk return distrCount; } static int compare_multipole_jobs(const void* p1, const void* p2) { job_list_multipole_entry_J_struct* job_1 = (job_list_multipole_entry_J_struct*)p1; job_list_multipole_entry_J_struct* job_2 = (job_list_multipole_entry_J_struct*)p2; if(job_1->boxIndex > job_2->boxIndex) return 1; if(job_1->boxIndex < job_2->boxIndex) return -1; // now we know that boxIndex is the same for both if(job_1->branchIndex > job_2->branchIndex) return 1; if(job_1->branchIndex < job_2->branchIndex) return -1; // now we know that boxIndex and branchIndex are the same for both if(job_1->multipoleBoxIndex > job_2->multipoleBoxIndex) return 1; if(job_1->multipoleBoxIndex < job_2->multipoleBoxIndex) return -1; // now we know that boxIndex and branchIndex and multipoleBoxIndex are the same for both // we do not care about the order of different multipoleBranchIndex return 0; } static void get_largest_and_smallest_extent_for_list_of_distributions(int n, const DistributionSpecStructLabeled* distrList, ergo_real* result_extent_min, ergo_real* result_extent_max) { ergo_real extent_min = distrList[0].distr.extent; ergo_real extent_max = distrList[0].distr.extent; for(int i = 0; i < n; i++) { ergo_real extent = distrList[i].distr.extent; if(extent > extent_max) extent_max = extent; if(extent < extent_min) extent_min = extent; } *result_extent_min = extent_min; *result_extent_max = extent_max; } static int get_max_no_of_monomials_for_list_of_distributions(int n, const DistributionSpecStructLabeled* distrList, const IntegralInfo & integralInfo) { int maxNoOfMonomials = 0; for(int i = 0; i < n; i++) { int degree = 0; for(int j = 0; j < 3; j++) degree += distrList[i].distr.monomialInts[j]; int noOfMonomials = integralInfo.monomial_info.no_of_monomials_list[degree]; if(noOfMonomials > maxNoOfMonomials) maxNoOfMonomials = noOfMonomials; } // END FOR ABcount return maxNoOfMonomials; } static int get_branch_splitter_info(ergo_real* branchSplitterList, int maxNoOfBranches, const JK::Params& J_K_params, ergo_real toplevelBoxSize, ergo_real extent_max) { int noOfBranches = 0; if(J_K_params.fmm_no_of_branches > 0) { // Use branches as specified in input parameters noOfBranches = J_K_params.fmm_no_of_branches; if(noOfBranches >= maxNoOfBranches) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_branch_splitter_info: (noOfBranches >= maxNoOfBranches)"); return -1; } for(int i = 0; i < noOfBranches-1; i++) { ergo_real splitterValue = 0; switch(i) { case 0: splitterValue = J_K_params.fmm_branch_splitter_extent_1; break; case 1: splitterValue = J_K_params.fmm_branch_splitter_extent_2; break; case 2: splitterValue = J_K_params.fmm_branch_splitter_extent_3; break; case 3: splitterValue = J_K_params.fmm_branch_splitter_extent_4; break; case 4: splitterValue = J_K_params.fmm_branch_splitter_extent_5; break; default: do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_branch_splitter_info: default reached."); return -1; } branchSplitterList[i] = splitterValue; } } else { // Use default branch settings based on box size and extent_max ergo_real splitterValue = toplevelBoxSize / 2; noOfBranches = 2; while(splitterValue < extent_max) { noOfBranches++; splitterValue *= 2; } // Now we know how many branches we need. Create splitter list. int count = 0; splitterValue = 0; branchSplitterList[noOfBranches-2-count] = splitterValue; count++; splitterValue = toplevelBoxSize / 2; for(count = 1; count < noOfBranches-1; count++) { branchSplitterList[noOfBranches-2-count] = splitterValue; splitterValue *= 2; } } return noOfBranches; } static int create_branches(int noOfBranches, const ergo_real* branchSplitterList, int distrCount, DistributionSpecStructLabeled* distrListOrdered, int noOfBoxesTopLevel, box_struct* boxListTopLevel ) { // Start by finding out largest number of distrs per box. int maxNoOfDistrsPerBox = 0; for(int i = 0; i < noOfBoxesTopLevel; i++) { int distrCountCurrBox = boxListTopLevel[i].basicBox.noOfItems; if(distrCountCurrBox > maxNoOfDistrsPerBox) maxNoOfDistrsPerBox = distrCountCurrBox; } std::vector branchBucketIndexList[MAX_NO_OF_BRANCHES]; int branchBucketCountList[MAX_NO_OF_BRANCHES]; for(int i = 0; i < noOfBranches; i++) branchBucketIndexList[i].resize(maxNoOfDistrsPerBox); std::vector distrListTemp(maxNoOfDistrsPerBox); output_current_memory_usage(LOG_AREA_INTEGRALS, "after allocating distrListTemp"); for(int i = 0; i < noOfBoxesTopLevel; i++) { DistributionSpecStructLabeled* distrListCurrBox = &distrListOrdered[boxListTopLevel[i].basicBox.firstItemIndex]; int distrCountCurrBox = boxListTopLevel[i].basicBox.noOfItems; memcpy(&distrListTemp[0], distrListCurrBox, distrCountCurrBox*sizeof(DistributionSpecStructLabeled)); DistributionSpecStructLabeled* distrListCurrBox2 = &distrListTemp[0]; for(int branchIndex = 0; branchIndex < noOfBranches; branchIndex++) branchBucketCountList[branchIndex] = 0; for(int j = 0; j < distrCountCurrBox; j++) { int branchIndex; // declare here because value is used after loop after break. for(branchIndex = noOfBranches-1; branchIndex > 0; branchIndex--) { ergo_real extent = distrListCurrBox[j].distr.extent; ergo_real width = boxListTopLevel[i].basicBox.width; // get minWallDist : minimum wall distance ergo_real minWallDist = width; for(int coordIndex = 0; coordIndex< 3; coordIndex++) { // get wall distance for this coordinate ergo_real dx = distrListCurrBox[j].distr.centerCoords[coordIndex] - boxListTopLevel[i].basicBox.centerCoords[coordIndex]; ergo_real wallDist = width - std::fabs(dx); if(wallDist < minWallDist) minWallDist = wallDist; } // END FOR coordIndex if(minWallDist < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: (minWallDist < 0)"); return -1; } if((extent - minWallDist) < branchSplitterList[branchIndex-1]) break; } branchBucketIndexList[branchIndex][branchBucketCountList[branchIndex]] = j; branchBucketCountList[branchIndex]++; } // END FOR j int newCount = 0; for(int branchIndex = 0; branchIndex < noOfBranches; branchIndex++) { boxListTopLevel[i].branchIndexList[branchIndex] = boxListTopLevel[i].basicBox.firstItemIndex + newCount; boxListTopLevel[i].branchCountList[branchIndex] = branchBucketCountList[branchIndex]; for(int k = 0; k < branchBucketCountList[branchIndex]; k++) { distrListCurrBox[newCount] = distrListCurrBox2[branchBucketIndexList[branchIndex][k]]; newCount++; } } // END FOR branchIndex } // END FOR i divide distrs into branches according to extent. return 0; } static int execute_joblist_J_std_serial(int noOfJobs_J_standard, const job_list_standard_entry_J_struct* jobList_J_standard, const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, int maxNoOfMonomials, ergo_real* result_J_list, const box_struct* boxList, ergo_real threshold) { Util::TimeMeter timeMeter; JK_contribs_buffer_struct bufferStruct; allocate_buffers_needed_by_integral_code(integralInfo, maxNoOfMonomials, 0, &bufferStruct); for(int jobIndex = 0; jobIndex < noOfJobs_J_standard; jobIndex++) { int boxIndex_1 = jobList_J_standard[jobIndex].boxIndex_1; int boxIndex_2 = jobList_J_standard[jobIndex].boxIndex_2; int branchIndex_1 = jobList_J_standard[jobIndex].branchIndex_1; int branchIndex_2 = jobList_J_standard[jobIndex].branchIndex_2; int self = 0; if(boxIndex_1 == boxIndex_2 && branchIndex_1 == branchIndex_2) self = 1; if(get_J_contribs_from_2_interacting_boxes(basisInfo, integralInfo, maxNoOfMonomials, result_J_list, boxList[boxIndex_1].branchList[branchIndex_1].org, boxList[boxIndex_2].branchList[branchIndex_2].org, self, threshold, &bufferStruct) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_J_contribs_from_2_interacting_boxes"); return -1; } } // END FOR jobIndex free_buffers_needed_by_integral_code(&bufferStruct); timeMeter.print(LOG_AREA_INTEGRALS, "execute_joblist_J_std_serial"); return 0; } struct J_std_joblist_thread_struct { pthread_t thread; const BasisInfoStruct & basisInfo; const IntegralInfo* integralInfo; ergo_real* result_J_list; int maxNoOfMonomials; ergo_real threshold; const box_struct* boxList; const job_list_standard_entry_J_struct* jobList_J_standard; int noOfJobs_J_standard; int thread_ID; int noOfThreads; int resultCode; explicit J_std_joblist_thread_struct(const BasisInfoStruct & basisInfoIn) : basisInfo(basisInfoIn) { } }; static void* execute_joblist_J_std_thread_func(void* arg) { J_std_joblist_thread_struct* params = (J_std_joblist_thread_struct*)arg; JK_contribs_buffer_struct bufferStruct; allocate_buffers_needed_by_integral_code(*params->integralInfo, params->maxNoOfMonomials, 0, &bufferStruct); const box_struct* boxList = params->boxList; for(int jobIndex = 0; jobIndex < params->noOfJobs_J_standard; jobIndex++) { if(jobIndex % params->noOfThreads != params->thread_ID) continue; int boxIndex_1 = params->jobList_J_standard[jobIndex].boxIndex_1; int boxIndex_2 = params->jobList_J_standard[jobIndex].boxIndex_2; int branchIndex_1 = params->jobList_J_standard[jobIndex].branchIndex_1; int branchIndex_2 = params->jobList_J_standard[jobIndex].branchIndex_2; int self = 0; if(boxIndex_1 == boxIndex_2 && branchIndex_1 == branchIndex_2) self = 1; if(get_J_contribs_from_2_interacting_boxes(params->basisInfo, *params->integralInfo, params->maxNoOfMonomials, params->result_J_list, boxList[boxIndex_1].branchList[branchIndex_1].org, boxList[boxIndex_2].branchList[branchIndex_2].org, self, params->threshold, &bufferStruct) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_J_contribs_from_2_interacting_boxes"); params->resultCode = -1; return NULL; } } // END FOR jobIndex free_buffers_needed_by_integral_code(&bufferStruct); params->resultCode = 0; return NULL; } static int execute_joblist_J_std_threaded(int noOfThreads, int noOfJobs_J_standard, const job_list_standard_entry_J_struct* jobList_J_standard, const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, int maxNoOfMonomials, ergo_real* result_J_list, int noOfBasisFuncIndexPairs, const box_struct* boxList, ergo_real threshold) { Util::TimeMeter timeMeter; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "execute_joblist_J_std_threaded, noOfThreads = %2i", noOfThreads); J_std_joblist_thread_struct* threadParamsList[noOfThreads]; // Set common parameters for all threads for(int i = 0; i < noOfThreads; i++) { threadParamsList[i] = new J_std_joblist_thread_struct(basisInfo); //threadParamsList[i].basisInfo = basisInfo; threadParamsList[i]->integralInfo = &integralInfo; threadParamsList[i]->maxNoOfMonomials = maxNoOfMonomials; threadParamsList[i]->boxList = boxList; threadParamsList[i]->jobList_J_standard = jobList_J_standard; threadParamsList[i]->noOfJobs_J_standard = noOfJobs_J_standard; threadParamsList[i]->noOfThreads = noOfThreads; threadParamsList[i]->resultCode = -1; // initialize to error code threadParamsList[i]->threshold = threshold; } // END FOR i // Set result pointer for thread 0 // Thread 0 uses the original result_J_list pointer. threadParamsList[0]->result_J_list = result_J_list; // Set result_J_list pointer for other threads for(int i = 1; i < noOfThreads; i++) { threadParamsList[i]->result_J_list = new ergo_real[noOfBasisFuncIndexPairs]; memset(threadParamsList[i]->result_J_list, 0, noOfBasisFuncIndexPairs * sizeof(ergo_real)); } output_current_memory_usage(LOG_AREA_INTEGRALS, "after allocating memory for threads."); // Set ID number for all threads for(int i = 0; i < noOfThreads; i++) threadParamsList[i]->thread_ID = i; /* start threads */ for(int i = 0; i < noOfThreads; i++) { if(pthread_create(&threadParamsList[i]->thread, NULL, execute_joblist_J_std_thread_func, threadParamsList[i]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in pthread_create for thread %i", i); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "waiting for already created threads.."); for(int j = 0; j < i; j++) { if(pthread_join(threadParamsList[j]->thread, NULL) != 0) do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in pthread_join for thread %i", j); } /* END FOR j */ do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "all threads finished, returning error code"); return -1; } } /* END FOR i */ do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "%i threads started OK.", noOfThreads); /* wait for threads to finish */ for(int i = 0; i < noOfThreads; i++) { if(pthread_join(threadParamsList[i]->thread, NULL) != 0) do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in pthread_join for thread %i", i); } /* END FOR i */ do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "all %i threads have finished.", noOfThreads); /* now all threads have finished, check for errors */ for(int i = 0; i < noOfThreads; i++) { if(threadParamsList[i]->resultCode != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in execute_joblist_J_std_thread_func" " for thread %i", i); return -1; } } /* END FOR i */ // add contributions from other threads for(int i = 1; i < noOfThreads; i++) { for(int j = 0; j < noOfBasisFuncIndexPairs; j++) result_J_list[j] += threadParamsList[i]->result_J_list[j]; } // Free extra result_J_list buffers used by threads. // Note that this loop must start with 1, not 0. for(int i = 1; i < noOfThreads; i++) delete [] threadParamsList[i]->result_J_list; for(int i = 0; i < noOfThreads; i++) delete threadParamsList[i]; timeMeter.print(LOG_AREA_INTEGRALS, "execute_joblist_J_std_threaded"); return 0; } static int sort_list_of_multipole_jobs_fixed_boxIndex(job_list_multipole_entry_J_struct* jobList, int n) { // Start by bucket-sort by branchIndex. const int maxNoOfBranches = 10; job_list_multipole_entry_J_struct* bucketList[maxNoOfBranches]; // Get number of branches int branchIndex_min = maxNoOfBranches; int branchIndex_max = 0; for(int i = 0; i < n; i++) { int currBranchIndex = jobList[i].branchIndex; if(currBranchIndex > branchIndex_max) branchIndex_max = currBranchIndex; if(currBranchIndex < branchIndex_min) branchIndex_min = currBranchIndex; } assert(branchIndex_min >= 0); assert(branchIndex_max < maxNoOfBranches); int noOfBranches = branchIndex_max + 1; for(int i = 0; i < noOfBranches; i++) bucketList[i] = new job_list_multipole_entry_J_struct[n]; int counterList[maxNoOfBranches]; for(int i = 0; i < maxNoOfBranches; i++) counterList[i] = 0; for(int i = 0; i < n; i++) { int currBranchIndex = jobList[i].branchIndex; assert(currBranchIndex < noOfBranches); int count = counterList[currBranchIndex]; bucketList[currBranchIndex][count] = jobList[i]; counterList[currBranchIndex]++; } // OK, bucket-sort done. Now sort contents of each bucket. int count = 0; for(int i = 0; i < maxNoOfBranches; i++) { int currCount = counterList[i]; if(currCount == 0) continue; qsort(bucketList[i], currCount, sizeof(job_list_multipole_entry_J_struct), compare_multipole_jobs); // check qsort result for(int j = 0; j < currCount-1; j++) { job_list_multipole_entry_J_struct* curr = &bucketList[i][j]; job_list_multipole_entry_J_struct* next = &bucketList[i][j+1]; if(compare_multipole_jobs(curr, next) > 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: qsort result not sorted."); return -1; } } // Copy result memcpy(&jobList[count], bucketList[i], currCount * sizeof(job_list_multipole_entry_J_struct)); count += currCount; } for(int i = 0; i < noOfBranches; i++) delete [] bucketList[i]; return 0; } static int sort_list_of_multipole_jobs(job_list_multipole_entry_J_struct* jobList, int n) { if(n == 0) return 0; Util::TimeMeter timeMeterInit; // Start by bucket-sort by boxIndex. // Go through list once to find max boxIndex. int boxIndex_max = jobList[0].boxIndex; for(int i = 0; i < n; i++) { int currBoxIndex = jobList[i].boxIndex; if(currBoxIndex > boxIndex_max) boxIndex_max = currBoxIndex; } // Go through list once more to find maxNoOfJobsWithSameBoxIndex int noOfBoxIndexes = boxIndex_max + 1; std::vector counterList1(noOfBoxIndexes); for(int i = 0; i < noOfBoxIndexes; i++) counterList1[i] = 0; for(int i = 0; i < n; i++) { int currBoxIndex = jobList[i].boxIndex; counterList1[currBoxIndex]++; } int maxNoOfJobsWithSameBoxIndex = 0; for(int i = 0; i < noOfBoxIndexes; i++) { if(counterList1[i] > maxNoOfJobsWithSameBoxIndex) maxNoOfJobsWithSameBoxIndex = counterList1[i]; } timeMeterInit.print(LOG_AREA_INTEGRALS, "sort_list_of_multipole_jobs init part"); //std::vector bucketList(noOfBoxIndexes*maxNoOfJobsWithSameBoxIndex); std::vector< std::vector > bucketList(noOfBoxIndexes); for(int i = 0; i < noOfBoxIndexes; i++) bucketList[i].resize(counterList1[i]); std::vector counterList2(noOfBoxIndexes); for(int i = 0; i < noOfBoxIndexes; i++) counterList2[i] = 0; for(int i = 0; i < n; i++) { int currBoxIndex = jobList[i].boxIndex; if(counterList2[currBoxIndex] >= counterList1[currBoxIndex]) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in sort_list_of_multipole_jobs: (counterList2[currBoxIndex] >= counterList1[currBoxIndex])"); return -1; } bucketList[currBoxIndex][counterList2[currBoxIndex]] = jobList[i]; counterList2[currBoxIndex]++; } // OK, bucket-sort done. Now sort contents of each bucket. int count = 0; for(int i = 0; i < noOfBoxIndexes; i++) { int currCount = counterList2[i]; if(sort_list_of_multipole_jobs_fixed_boxIndex(&bucketList[i][0], currCount) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in sort_list_of_multipole_jobs_fixed_boxIndex"); return -1; } // Copy result memcpy(&jobList[count], &bucketList[i][0], currCount * sizeof(job_list_multipole_entry_J_struct)); count += currCount; } // check that list is sorted for(int i = 0; i < n-1; i++) { if(jobList[i].boxIndex > jobList[i+1].boxIndex) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: list not sorted!"); return -1; } if(jobList[i].boxIndex == jobList[i+1].boxIndex) { if(jobList[i].branchIndex > jobList[i+1].branchIndex) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: list not sorted!"); return -1; } if(jobList[i].branchIndex == jobList[i+1].branchIndex) { if(jobList[i].multipoleBoxIndex > jobList[i+1].multipoleBoxIndex) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: list not sorted!"); return -1; } } } } timeMeterInit.print(LOG_AREA_INTEGRALS, "sort_list_of_multipole_jobs complete"); return 0; } /** executes given jobList using FMM. @param jobIndexLo the first jobindex for which this thread is responsible. @param jobIndexHi the last jobindex for which this thread is responsible is jobIndexHi-1. @param integralInfo info needed for evaluation of integrals of Gaussian functions. @param basisInfo info about the used basis set. @param J_K_params includes various parameters for J and K matrix construction. @param jobList_J_multipole list of multipole-jobs. @param boxList list of boxes. @param maxnoOfMinimalDistrsPerBoxBranch needed to determine size of work buffer. @param result_J_list the list of matrix elements to be updated. @param largest_L_used largest L-value used (output). */ static int execute_joblist_J_fmm_shared(int jobIndexLo, int jobIndexHi, const IntegralInfo& integralInfo, const BasisInfoStruct & basisInfo, const JK::Params& J_K_params, const job_list_multipole_entry_J_struct* jobList_J_multipole, const box_struct *boxList, int maxnoOfMinimalDistrsPerBoxBranch, ergo_real* result_J_list, int* largest_L_used) { // Execute multipole job list for J int boxIndexSaved = -1; int branchIndexSaved = -1; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "execute_joblist_J_fmm_shared: Allocating multipoleList_4, maxnoOfMinimalDistrsPerBoxBranch = %9i", maxnoOfMinimalDistrsPerBoxBranch); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "execute_joblist_J_fmm_shared: jobIndexLo = %12d, jobIndexHi = %12d", jobIndexLo, jobIndexHi); std::vector multipoleList_4(maxnoOfMinimalDistrsPerBoxBranch); output_current_memory_usage(LOG_AREA_INTEGRALS, "after allocating multipoleList_4"); MMInteractor interactor; int jobIndex = jobIndexLo; while(jobIndexstartIndex; int distr_end = distr_start + currGroup->distrCount; for(int distrIndex = distr_start; distrIndex < distr_end; distrIndex++) { int monomialIndex = minimalDistrList[distrIndex].monomialIndex; ergo_real coeff = minimalDistrList[distrIndex].coeff; // get monomialInts from monomialIndex DistributionSpecStruct distr; distr.monomialInts[0] = integralInfo.monomial_info.monomial_list[monomialIndex].ix; distr.monomialInts[1] = integralInfo.monomial_info.monomial_list[monomialIndex].iy; distr.monomialInts[2] = integralInfo.monomial_info.monomial_list[monomialIndex].iz; distr.coeff = coeff; distr.exponent = currGroup->exponent; distr.centerCoords[0] = currGroup->centerCoords[0]; distr.centerCoords[1] = currGroup->centerCoords[1]; distr.centerCoords[2] = currGroup->centerCoords[2]; multipole_struct_small multipole; if(compute_multipole_moments(integralInfo, &distr, &multipole) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_multipole_moments"); return -1; } multipoleList_4[count_temp] = multipole; count_temp++; } // END FOR distrIndex } // END FOR groupIndex } // END FOR clusterIndex } // END FOR chunkIndex // save these boxIndex and branchIndex values, so that we do not need to recompute multipoles until we reach the next box/branch boxIndexSaved = boxIndex; branchIndexSaved = branchIndex; } // END IF need to create new list of multipoles // OK, now we have nJobs, which is at least 1 int first_multipoleBranchIndex = jobList_J_multipole[jobIndex].multipoleBranchIndex; multipole_struct_large multipoleSum = boxList[multipoleBoxIndex].branchList[first_multipoleBranchIndex].multipole; memset(multipoleSum.momentList, 0, MAX_NO_OF_MOMENTS_PER_MULTIPOLE*sizeof(ergo_real)); for(int jobNo = 0; jobNo < nJobs; jobNo++) { int multipoleBranchIndex = jobList_J_multipole[jobIndex+jobNo].multipoleBranchIndex; const multipole_struct_large* branchMultipole = &boxList[multipoleBoxIndex].branchList[multipoleBranchIndex].multipole; for(int mm = 0; mm < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; mm++) multipoleSum.momentList[mm] += branchMultipole->momentList[mm]; } // END FOR jobNo setup_multipole_maxAbsMomentList(&multipoleSum); do_multipole_interaction_between_2_boxes_branches(&boxList[boxIndex].branchList[branchIndex], &multipoleSum, &multipoleList_4[0], result_J_list, J_K_params.threshold_J * J_K_params.multipole_threshold_factor, largest_L_used, interactor ); jobIndex = jobIndex2; } // END WHILE (jobIndex < jobIndexHi) do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "execute_joblist_J_fmm_shared: done!"); return 0; } static int execute_joblist_J_fmm_serial(const IntegralInfo& integralInfo, const BasisInfoStruct & basisInfo, const JK::Params& J_K_params, int noOfJobs_J_multipole, const job_list_multipole_entry_J_struct* jobList_J_multipole, const box_struct *boxList, int maxnoOfMinimalDistrsPerBoxBranch, ergo_real* result_J_list) { Util::TimeMeter timeMeterJmul; int largest_L_used = 0; int rc = execute_joblist_J_fmm_shared(0, noOfJobs_J_multipole, integralInfo, basisInfo, J_K_params, jobList_J_multipole, boxList, maxnoOfMinimalDistrsPerBoxBranch, result_J_list, &largest_L_used); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "multipole job list for J executed, largest L used: %2i", largest_L_used); timeMeterJmul.print(LOG_AREA_INTEGRALS, "Executing multipole job list for J"); return rc; } struct JFMMWorkerData { const IntegralInfo* integralInfo; const BasisInfoStruct* basisInfo; const JK::Params* J_K_params; const job_list_multipole_entry_J_struct* jobList_J_multipole; const box_struct *boxList; ergo_real* result_J_list; pthread_t threadID; int jobIndexLo, jobIndexHi; int maxnoOfMinimalDistrsPerBoxBranch; int result; int largest_L_used; }; static void* execute_J_fmm_worker(void *arg) { JFMMWorkerData *data = static_cast(arg); data->result = execute_joblist_J_fmm_shared(data->jobIndexLo, data->jobIndexHi, *data->integralInfo, *data->basisInfo, *data->J_K_params, data->jobList_J_multipole, data->boxList, data->maxnoOfMinimalDistrsPerBoxBranch, data->result_J_list, &data->largest_L_used); return NULL; } /** Compute the FMM part of the Coulomb matrix using threads. 0th thread reuses result_J_list, all the other threads need to have temporary memory allocated. */ static int execute_joblist_J_fmm_thread(int noOfThreads, int noOfBasisFuncIndexPairs, const IntegralInfo& integralInfo, const BasisInfoStruct & basisInfo, const JK::Params& J_K_params, int noOfJobs_J_multipole, const job_list_multipole_entry_J_struct* jobList_J_multipole, const box_struct *boxList, int maxnoOfMinimalDistrsPerBoxBranch, ergo_real* result_J_list) { std::vector threadData(noOfThreads); int lastJob = 0; Util::TimeMeter timeMeterJmul; int th; // declare here because value used after loop after break. for(th = 0; th < noOfThreads; th++) { threadData[th].integralInfo = &integralInfo; threadData[th].basisInfo = &basisInfo; threadData[th].J_K_params = &J_K_params; threadData[th].jobList_J_multipole = jobList_J_multipole; threadData[th].boxList = boxList; threadData[th].maxnoOfMinimalDistrsPerBoxBranch = maxnoOfMinimalDistrsPerBoxBranch; threadData[th].jobIndexLo = lastJob; /* Now we want to compute jobIndexHi as (((th+1)*noOfJobs_J_multipole)/noOfThreads) but we need to be careful to avoid integer overflow if noOfJobs_J_multipole is large. */ size_t noOfJobs_J_multipole_as_size_t = noOfJobs_J_multipole; threadData[th].jobIndexHi = lastJob = ((th+1)*noOfJobs_J_multipole_as_size_t)/noOfThreads; threadData[th].largest_L_used = 0; if(th) { threadData[th].result_J_list = new ergo_real[noOfBasisFuncIndexPairs]; if( threadData[th].result_J_list == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error allocating data for thread %i", th); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "waiting for already created threads.."); th++; /* Correct the wait loop upper index. */ break; } memset(threadData[th].result_J_list, 0, noOfBasisFuncIndexPairs*sizeof(ergo_real)); } else { threadData[th].result_J_list = result_J_list; } if(pthread_create(&threadData[th].threadID, NULL, execute_J_fmm_worker, &threadData[th]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in pthread_create for thread %i", th); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "waiting for already created threads.."); th++; /* Correct the wait loop upper index. */ break; } } int myResult = 0, largest_L_used = 0; for(int i = 0; i < th; i++) { if(pthread_join(threadData[i].threadID, NULL) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "Error in pthread_join for thread %i", i); myResult++; } myResult += threadData[i].result; if(i == 0) { threadData[i].result_J_list = NULL; } else { for(int idx=0; idx largest_L_used) largest_L_used = threadData[i].largest_L_used; } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "multipole job list for J executed, largest L used: %2i", largest_L_used); timeMeterJmul.print(LOG_AREA_INTEGRALS, "Executing multipole job list for J"); return myResult; } /** Computes the Coulomb interaction. @param basisInfo @param integralInfo @param J_K_params the evaluation parameters, thresholds and all. @param basisFuncIndexPairList @param basisFuncIndexPairCount the length of basisFuncIndexPairList. @param D_list basisFuncIndexPairCount elements, with indices matching basisFuncIndexPairList. @param result_J_list preallocated list that will contain the results. @param noOfBasisFuncIndexPairs the length of result_J_list. happens to be always equal to basisFuncIndexPairCount */ int compute_J_by_boxes_linear(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::Params& J_K_params, const basis_func_index_pair_struct* basisFuncIndexPairList, int basisFuncIndexPairCount, const ergo_real* D_list, ergo_real* result_J_list, int noOfBasisFuncIndexPairs) { Util::TimeMeter timeMeterTot; int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "entering compute_J_by_boxes_linear, no of basis funcs = %5i, threshold_J = %7.3g", n, (double)J_K_params.threshold_J); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "use_fmm = %i, fmm_box_size = %6.2f", J_K_params.use_fmm, (double)J_K_params.fmm_box_size); output_current_memory_usage(LOG_AREA_INTEGRALS, "beginning of compute_J_by_boxes_linear"); init_multipole_code(); Util::TimeMeter timeMeterDistrList; // get largest limiting factor ergo_real maxLimitingFactor = 0; if(get_list_of_labeled_distrs_maxLimitingFactor_linear(basisInfo, integralInfo, J_K_params.threshold_J, basisFuncIndexPairList, basisFuncIndexPairCount, &maxLimitingFactor) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_list_of_labeled_distrs_maxLimitingFactor_linear"); return -1; } // Get number of distributions int distrCount = get_list_of_labeled_distrs_linear(basisInfo, integralInfo, J_K_params.threshold_J, NULL, 0, maxLimitingFactor, basisFuncIndexPairList, basisFuncIndexPairCount, D_list); if(distrCount <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_J_by_boxes_linear: (distrCount <= 0)"); return -1; } std::vector distrList(distrCount); // create list of product primitives, with labels int distrCountTemp = get_list_of_labeled_distrs_linear(basisInfo, integralInfo, J_K_params.threshold_J, &distrList[0], distrCount, maxLimitingFactor, basisFuncIndexPairList, basisFuncIndexPairCount, D_list); if(distrCountTemp != distrCount) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_J_by_boxes_linear: (distrCountTemp != distrCount)"); return -1; } output_current_memory_usage(LOG_AREA_INTEGRALS, "after allocating list of primitive distributions"); ergo_real maxDensityMatrixElement = get_max_abs_vector_element(basisFuncIndexPairCount, D_list); // compute extent for all distrs Util::TimeMeter timeMeterComputeExtentForAllDistrs; compute_extent_for_list_of_distributions(distrCount, &distrList[0], J_K_params.threshold_J, maxLimitingFactor, maxDensityMatrixElement); timeMeterComputeExtentForAllDistrs.print(LOG_AREA_INTEGRALS, "Compute extent for all distrs"); // get largest and smallest extent ergo_real extent_min, extent_max; get_largest_and_smallest_extent_for_list_of_distributions(distrCount, &distrList[0], &extent_min, &extent_max); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "extent_min = %8.3f, extent_max = %8.3f", (double)extent_min, (double)extent_max); // get maximum number of monomials int maxNoOfMonomials = get_max_no_of_monomials_for_list_of_distributions(distrCount, &distrList[0], integralInfo); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "Creating list of distributions etc done, distrCount = %9i", distrCount); timeMeterDistrList.print(LOG_AREA_INTEGRALS, "Creating list of distributions etc"); // // This is where we start to worry about the box system // Util::TimeMeter timeMeterBoxes; BoxSystem boxSystem; const ergo_real toplevelBoxSize = J_K_params.fmm_box_size; if(create_box_system_and_reorder_distrs(distrCount, &distrList[0], toplevelBoxSize, boxSystem) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system_and_reorder_distrs"); return -1; } // Now we have the box system. // Create new list of boxes (more advanced boxes this time) std::vector boxList(boxSystem.totNoOfBoxes); for(int i = 0; i < boxSystem.totNoOfBoxes; i++) boxList[i].basicBox = boxSystem.boxList[i]; int numberOfLevels = boxSystem.noOfLevels; int levelCounterList[numberOfLevels]; int levelStartIndexList[numberOfLevels]; for(int i = 0; i < numberOfLevels; i++) { levelCounterList[i] = boxSystem.levelList[i].noOfBoxes; levelStartIndexList[i] = boxSystem.levelList[i].startIndexInBoxList; } // OK, boxes created. timeMeterBoxes.print(LOG_AREA_INTEGRALS, "Creating boxes"); int noOfBoxesTopLevel = levelCounterList[numberOfLevels-1]; box_struct* boxListTopLevel = &boxList[levelStartIndexList[numberOfLevels-1]]; // within each box, divide distrs into branches according to how far they penetrate outside the box. ergo_real branchSplitterList[MAX_NO_OF_BRANCHES]; int noOfBranches = get_branch_splitter_info(branchSplitterList, MAX_NO_OF_BRANCHES, J_K_params, toplevelBoxSize, extent_max); if(noOfBranches <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_branch_splitter_info"); return -1; } char s[888]; s[0] = '\0'; for(int i = 0; i < noOfBranches-1; i++) { char ss[888]; sprintf(ss, " %5.2f", (double)branchSplitterList[i]); strcat(s, ss); } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "noOfBranches = %i, splitters: %s", noOfBranches, s); if(create_branches(noOfBranches, branchSplitterList, distrCount, &distrList[0], noOfBoxesTopLevel, boxListTopLevel) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_branches"); return -1; } Util::TimeMeter timeMeterJorg; int groupCount = 0; int maxnoOfMinimalDistrsPerBoxBranch = 0; for(int i = 0; i < noOfBoxesTopLevel; i++) { for(int branchIndex = 0; branchIndex < noOfBranches; branchIndex++) { DistributionSpecStructLabeled* distrListCurrBox = &distrList[boxListTopLevel[i].branchIndexList[branchIndex]]; int distrCountCurrBox = boxListTopLevel[i].branchCountList[branchIndex]; if(organize_distributions(integralInfo, distrListCurrBox, distrCountCurrBox, &boxListTopLevel[i].branchList[branchIndex].org, boxListTopLevel[i].basicBox.centerCoords, boxListTopLevel[i].basicBox.width) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in organize_distributions for box %i branch %i", i, branchIndex); return -1; } groupCount += boxListTopLevel[i].branchList[branchIndex].org.groupCount; if(boxListTopLevel[i].branchList[branchIndex].org.minimalDistrCount > maxnoOfMinimalDistrsPerBoxBranch) maxnoOfMinimalDistrsPerBoxBranch = boxListTopLevel[i].branchList[branchIndex].org.minimalDistrCount; } // END FOR branchIndex } // END FOR i do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "J org done, groupCount = %8i", groupCount); timeMeterJorg.print(LOG_AREA_INTEGRALS, "J org"); // Generate multipole for each group, and find center-of-charge for each branch Util::TimeMeter timeMeterGenerateGr; std::vector multipoleListForGroups(groupCount); output_current_memory_usage(LOG_AREA_INTEGRALS, "after allocating multipoleListForGroups"); int count = 0; ergo_real totChargeWholeSystem = 0; for(int i = 0; i < noOfBoxesTopLevel; i++) { ergo_real centerOfChargeList[3]; ergo_real averagePosList[3]; for(int kk = 0; kk < 3; kk++) { centerOfChargeList[kk] = 0; averagePosList[kk] = 0; } int avgPosCounter = 0; for(int branchIndex = 0; branchIndex < noOfBranches; branchIndex++) { ergo_real chargeSum = 0; const chunk_struct* chunkList = &boxListTopLevel[i].branchList[branchIndex].org.chunkList[0]; const cluster_struct* clusterList = &boxListTopLevel[i].branchList[branchIndex].org.clusterList[0]; distr_group_struct* groupList = &boxListTopLevel[i].branchList[branchIndex].org.groupList[0]; const minimal_distr_struct* minimalDistrList = &boxListTopLevel[i].branchList[branchIndex].org.minimalDistrList[0]; int chunkCount = boxListTopLevel[i].branchList[branchIndex].org.chunkCount; const basis_func_pair_struct* basisFuncPairList = &boxListTopLevel[i].branchList[branchIndex].org.basisFuncPairList[0]; ergo_real* maxMomentVectorNormForDistrsList = boxListTopLevel[i].branchList[branchIndex].maxMomentVectorNormForDistrsList; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) maxMomentVectorNormForDistrsList[l] = 0; for(int chunkIndex = 0; chunkIndex < chunkCount; chunkIndex++) { int clusterCount = chunkList[chunkIndex].noOfClusters; int cluster_start = chunkList[chunkIndex].clusterStartIndex; for(int clusterIndex = cluster_start; clusterIndex < cluster_start + clusterCount; clusterIndex++) { int group_start = clusterList[clusterIndex].groupStartIndex; int group_end = group_start + clusterList[clusterIndex].noOfGroups; for(int groupIndex = group_start; groupIndex < group_end; groupIndex++) { distr_group_struct* currGroup = &groupList[groupIndex]; // Now create a single multipole description of the density of this group. multipole_struct_small* multipoleCurrGroup = &multipoleListForGroups[count]; currGroup->multipolePtr = multipoleCurrGroup; multipoleCurrGroup->degree = -1; multipoleCurrGroup->noOfMoments = 0; multipoleCurrGroup->centerCoords[0] = currGroup->centerCoords[0]; multipoleCurrGroup->centerCoords[1] = currGroup->centerCoords[1]; multipoleCurrGroup->centerCoords[2] = currGroup->centerCoords[2]; memset(multipoleCurrGroup->momentList, 0, MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC*sizeof(ergo_real)); count++; int distr_start = currGroup->startIndex; int distr_end = distr_start + currGroup->distrCount; for(int distrIndex = distr_start; distrIndex < distr_end; distrIndex++) { int basisFuncPairIndex = minimalDistrList[distrIndex].basisFuncPairIndex; int monomialIndex = minimalDistrList[distrIndex].monomialIndex; ergo_real coeff = minimalDistrList[distrIndex].coeff; // get monomialInts from monomialIndex DistributionSpecStruct distr; distr.monomialInts[0] = integralInfo.monomial_info.monomial_list[monomialIndex].ix; distr.monomialInts[1] = integralInfo.monomial_info.monomial_list[monomialIndex].iy; distr.monomialInts[2] = integralInfo.monomial_info.monomial_list[monomialIndex].iz; distr.coeff = coeff; distr.exponent = currGroup->exponent; distr.centerCoords[0] = currGroup->centerCoords[0]; distr.centerCoords[1] = currGroup->centerCoords[1]; distr.centerCoords[2] = currGroup->centerCoords[2]; multipole_struct_small multipole; if(compute_multipole_moments(integralInfo, &distr, &multipole) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_multipole_moments"); return -1; } // add this multipole to multipole for group. int a = basisFuncPairList[chunkList[chunkIndex].basisFuncPairListIndex+basisFuncPairIndex].index_1; int b = basisFuncPairList[chunkList[chunkIndex].basisFuncPairListIndex+basisFuncPairIndex].index_2; ergo_real factor = basisFuncPairList[chunkList[chunkIndex].basisFuncPairListIndex+basisFuncPairIndex].dmatElement; if(a != b) factor *= 2; for(int l = 0; l <= multipole.degree; l++) { int startIndex = l*l; int endIndex = (l+1)*(l+1); ergo_real sum = 0; for(int A = startIndex; A < endIndex; A++) sum += multipole.momentList[A]*multipole.momentList[A]; ergo_real subNorm = std::sqrt(sum); if(subNorm > maxMomentVectorNormForDistrsList[l]) maxMomentVectorNormForDistrsList[l] = subNorm; } for(int kk = 0; kk < multipole.noOfMoments; kk++) multipoleCurrGroup->momentList[kk] += factor * multipole.momentList[kk]; if(multipole.degree > multipoleCurrGroup->degree) multipoleCurrGroup->degree = multipole.degree; if(multipole.noOfMoments > multipoleCurrGroup->noOfMoments) multipoleCurrGroup->noOfMoments = multipole.noOfMoments; } // END FOR distrIndex // OK, multipoleCurrGroup is complete. chargeSum += multipoleCurrGroup->momentList[0]; for(int kk = 0; kk < 3; kk++) { centerOfChargeList[kk] += multipoleCurrGroup->centerCoords[kk] * multipoleCurrGroup->momentList[0]; averagePosList[kk] += multipoleCurrGroup->centerCoords[kk]; } avgPosCounter++; } // END FOR groupIndex } // END FOR clusterIndex } // END FOR chunkIndex totChargeWholeSystem += chargeSum; boxListTopLevel[i].branchList[branchIndex].totCharge = chargeSum; } // END FOR branchIndex // use average position instead of center-of-charge, // because center-of-charge is ill-defined when some charges are negative. if(avgPosCounter == 0) { for(int kk = 0; kk < 3; kk++) boxListTopLevel[i].multipolePoint[kk] = boxListTopLevel[i].basicBox.centerCoords[kk]; } else { for(int kk = 0; kk < 3; kk++) boxListTopLevel[i].multipolePoint[kk] = averagePosList[kk] / avgPosCounter; } // check that "multipolePoint" is not too far from box center. ergo_real sumofsquares = 0; for(int kk = 0; kk < 3; kk++) { ergo_real dx = boxListTopLevel[i].multipolePoint[kk] - boxListTopLevel[i].basicBox.centerCoords[kk]; sumofsquares += dx*dx; } ergo_real distFromCenter = std::sqrt(sumofsquares); if(distFromCenter > boxListTopLevel[i].basicBox.width) { printf("error: (distFromCenter > boxListTopLevel[i].width)\n"); printf("distFromCenter = %22.11f\n", (double)distFromCenter); printf("boxListTopLevel[i].basicBox.width = %22.11f\n", (double)boxListTopLevel[i].basicBox.width); printf("avgPosCounter = %i\n", avgPosCounter); exit(0); return -1; } // Now we have set boxListTopLevel[i].multipolePoint // Copy it to each branch for(int branchIndex = 0; branchIndex < noOfBranches; branchIndex++) { for(int kk = 0; kk < 3; kk++) boxListTopLevel[i].branchList[branchIndex].multipolePoint[kk] = boxListTopLevel[i].multipolePoint[kk]; } } // END FOR i timeMeterGenerateGr.print(LOG_AREA_INTEGRALS, "Generate group multipoles"); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "totChargeWholeSystem = %22.11f", (double)totChargeWholeSystem); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "Generating multipole for each branch at top level, MAX_MULTIPOLE_DEGREE = %2i", (int)MAX_MULTIPOLE_DEGREE); // Generate multipole for each branch at top level (smallest boxes) Util::TimeMeter timeMeterTranslate1; MMTranslator translator; for(int i = 0; i < noOfBoxesTopLevel; i++) { for(int branchIndex = 0; branchIndex < noOfBranches; branchIndex++) { ergo_real* multipolePointCoords = boxListTopLevel[i].branchList[branchIndex].multipolePoint; multipole_struct_large branchMultipole; for(int A = 0; A < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; A++) branchMultipole.momentList[A] = 0; for(int kk = 0; kk < 3; kk++) branchMultipole.centerCoords[kk] = multipolePointCoords[kk]; branchMultipole.degree = MAX_MULTIPOLE_DEGREE; branchMultipole.noOfMoments = MAX_NO_OF_MOMENTS_PER_MULTIPOLE; const chunk_struct* chunkList = &boxListTopLevel[i].branchList[branchIndex].org.chunkList[0]; const cluster_struct* clusterList = &boxListTopLevel[i].branchList[branchIndex].org.clusterList[0]; const distr_group_struct* groupList = &boxListTopLevel[i].branchList[branchIndex].org.groupList[0]; int chunkCount = boxListTopLevel[i].branchList[branchIndex].org.chunkCount; for(int chunkIndex = 0; chunkIndex < chunkCount; chunkIndex++) { int clusterCount = chunkList[chunkIndex].noOfClusters; int cluster_start = chunkList[chunkIndex].clusterStartIndex; for(int clusterIndex = cluster_start; clusterIndex < cluster_start + clusterCount; clusterIndex++) { int group_start = clusterList[clusterIndex].groupStartIndex; int group_end = group_start + clusterList[clusterIndex].noOfGroups; for(int groupIndex = group_start; groupIndex < group_end; groupIndex++) { const distr_group_struct* currGroup = &groupList[groupIndex]; // take multipole for this group, and translate it to center-of-charge point ergo_real dx = currGroup->multipolePtr->centerCoords[0] - multipolePointCoords[0]; ergo_real dy = currGroup->multipolePtr->centerCoords[1] - multipolePointCoords[1]; ergo_real dz = currGroup->multipolePtr->centerCoords[2] - multipolePointCoords[2]; ergo_real W[MAX_NO_OF_MOMENTS_PER_MULTIPOLE*MAX_NO_OF_MOMENTS_PER_MULTIPOLE]; translator.getTranslationMatrix (dx, dy, dz, MAX_MULTIPOLE_DEGREE, currGroup->multipolePtr->degree, W); multipole_struct_large translatedMultipole; for(int A = 0; A < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; A++) { ergo_real sum = 0; for(int B = 0; B < currGroup->multipolePtr->noOfMoments; B++) sum += W[A*currGroup->multipolePtr->noOfMoments+B] * currGroup->multipolePtr->momentList[B]; translatedMultipole.momentList[A] = sum; } // END FOR A for(int kk = 0; kk < 3; kk++) translatedMultipole.centerCoords[kk] = multipolePointCoords[kk]; translatedMultipole.degree = MAX_MULTIPOLE_DEGREE; translatedMultipole.noOfMoments = MAX_NO_OF_MOMENTS_PER_MULTIPOLE; // add translated multipole to branch multipole for(int A = 0; A < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; A++) branchMultipole.momentList[A] += translatedMultipole.momentList[A]; } // END FOR groupIndex } // END FOR clusterIndex } // END FOR chunkIndex setup_multipole_maxAbsMomentList(&branchMultipole); boxListTopLevel[i].branchList[branchIndex].multipole = branchMultipole; } // END FOR branchIndex } // END FOR i timeMeterTranslate1.print(LOG_AREA_INTEGRALS, "Translate multipoles (step 1)"); // OK, multipoles created for top level. // Now go through the other levels, joining multipoles from child boxes to a single multipole (one per branch) in parent box Util::TimeMeter timeMeterTranslate2; for(int levelNumber = numberOfLevels-2; levelNumber >= 0; levelNumber--) { int noOfBoxesCurrLevel = levelCounterList[levelNumber]; box_struct* boxListCurrLevel = &boxList[levelStartIndexList[levelNumber]]; for(int boxIndex = 0; boxIndex < noOfBoxesCurrLevel; boxIndex++) { box_struct* currBox = &boxListCurrLevel[boxIndex]; int noOfChildren = currBox->basicBox.noOfChildBoxes; if(noOfChildren == 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "ERROR: (noOfChildren == 0)"); return -1; } for(int branchIndex = 0; branchIndex < noOfBranches; branchIndex++) { multipole_struct_large* newMultipole = &currBox->branchList[branchIndex].multipole; for(int A = 0; A < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; A++) newMultipole->momentList[A] = 0; // get average position of child multipoles ergo_real avgPosList[3]; for(int kk = 0; kk < 3; kk++) avgPosList[kk] = 0; ergo_real* maxMomentVectorNormForDistrsList = currBox->branchList[branchIndex].maxMomentVectorNormForDistrsList; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) maxMomentVectorNormForDistrsList[l] = 0; for(int childIndex = 0; childIndex < noOfChildren; childIndex++) { int childIndexInBoxList = currBox->basicBox.firstChildBoxIndex + childIndex; box_struct* childBox = &boxList[childIndexInBoxList]; for(int kk = 0; kk < 3; kk++) avgPosList[kk] += childBox->branchList[branchIndex].multipole.centerCoords[kk]; } // END FOR childIndex for(int kk = 0; kk < 3; kk++) newMultipole->centerCoords[kk] = avgPosList[kk] / noOfChildren; newMultipole->degree = MAX_MULTIPOLE_DEGREE; newMultipole->noOfMoments = MAX_NO_OF_MOMENTS_PER_MULTIPOLE; // We also want to get maxExtent and maxDistanceOutsideBox for parent box (use largest values found among the children). ergo_real maxExtent = 0; ergo_real maxDistanceOutsideBox = 0; // Now translate child multipoles and add to parent multipole for(int childIndex = 0; childIndex < noOfChildren; childIndex++) { int childIndexInBoxList = currBox->basicBox.firstChildBoxIndex + childIndex; box_struct* childBox = &boxList[childIndexInBoxList]; multipole_struct_large* childMultipole = &childBox->branchList[branchIndex].multipole; if(childBox->branchList[branchIndex].org.maxExtent > maxExtent) maxExtent = childBox->branchList[branchIndex].org.maxExtent; if(childBox->branchList[branchIndex].org.maxDistanceOutsideBox > maxDistanceOutsideBox) maxDistanceOutsideBox = childBox->branchList[branchIndex].org.maxDistanceOutsideBox; ergo_real dx = childMultipole->centerCoords[0] - newMultipole->centerCoords[0]; ergo_real dy = childMultipole->centerCoords[1] - newMultipole->centerCoords[1]; ergo_real dz = childMultipole->centerCoords[2] - newMultipole->centerCoords[2]; ergo_real W[MAX_NO_OF_MOMENTS_PER_MULTIPOLE*MAX_NO_OF_MOMENTS_PER_MULTIPOLE]; translator.getTranslationMatrix(dx, dy, dz, MAX_MULTIPOLE_DEGREE, MAX_MULTIPOLE_DEGREE, W); multipole_struct_large translatedMultipole; for(int A = 0; A < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; A++) { ergo_real sum = 0; for(int B = 0; B < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; B++) sum += W[A*MAX_NO_OF_MOMENTS_PER_MULTIPOLE+B] * childMultipole->momentList[B]; translatedMultipole.momentList[A] = sum; } // END FOR A for(int kk = 0; kk < 3; kk++) translatedMultipole.centerCoords[kk] = newMultipole->centerCoords[kk]; translatedMultipole.degree = MAX_MULTIPOLE_DEGREE; translatedMultipole.noOfMoments = MAX_NO_OF_MOMENTS_PER_MULTIPOLE; // add translated multipole to parent multipole for(int A = 0; A < MAX_NO_OF_MOMENTS_PER_MULTIPOLE; A++) newMultipole->momentList[A] += translatedMultipole.momentList[A]; for(int l = 0; l <= MAX_MULTIPOLE_DEGREE_BASIC; l++) { ergo_real childValue = childBox->branchList[branchIndex].maxMomentVectorNormForDistrsList[l]; if(childValue > maxMomentVectorNormForDistrsList[l]) maxMomentVectorNormForDistrsList[l] = childValue; } } // END FOR childIndex setup_multipole_maxAbsMomentList(newMultipole); currBox->branchList[branchIndex].org.maxExtent = maxExtent; currBox->branchList[branchIndex].org.maxDistanceOutsideBox = maxDistanceOutsideBox; } // END FOR branchIndex } // END FOR boxIndex } // END FOR levelNumber timeMeterTranslate2.print(LOG_AREA_INTEGRALS, "Translate multipoles (step 2)"); // Set J to zero memset(result_J_list, 0, basisFuncIndexPairCount*sizeof(ergo_real)); // set up list of upper limits for interaction matrix elements Util::TimeMeter timeMeterIntMatLimits; ergo_real maxDistance = getSafeMaxDistance(basisInfo); mm_limits_init(maxDistance); timeMeterIntMatLimits.print(LOG_AREA_INTEGRALS, "mm_limits_init"); // Create job lists for J Util::TimeMeter timeMeterJjoblist; int noOfJobs_J_standard_firstCount = 0; int noOfJobs_J_multipole_firstCount = 0; for(int branch_i = 0; branch_i < noOfBranches; branch_i++) { for(int branch_j = 0; branch_j < noOfBranches; branch_j++) { int noOfNewJobs_standard = 0; int noOfNewJobs_multipole = 0; if(get_joblists_J_for_two_boxes_recursive(basisInfo, integralInfo, maxNoOfMonomials, J_K_params.threshold_J, &boxList[0], numberOfLevels, 0, 0, 0, branch_i, branch_j, NULL, HUGE_INTEGER_NUMBER, &noOfNewJobs_standard, NULL, HUGE_INTEGER_NUMBER, &noOfNewJobs_multipole ) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_joblists_J_for_two_boxes_recursive"); return -1; } noOfJobs_J_standard_firstCount += noOfNewJobs_standard; noOfJobs_J_multipole_firstCount += noOfNewJobs_multipole; } } std::vector jobList_J_standard(noOfJobs_J_standard_firstCount); std::vector jobList_J_multipole(noOfJobs_J_multipole_firstCount); output_current_memory_usage(LOG_AREA_INTEGRALS, "after allocating jobLists for J"); int noOfJobs_J_standard = 0; int noOfJobs_J_multipole = 0; for(int branch_i = 0; branch_i < noOfBranches; branch_i++) { for(int branch_j = 0; branch_j < noOfBranches; branch_j++) { int noOfNewJobs_standard = 0; int noOfNewJobs_multipole = 0; if(get_joblists_J_for_two_boxes_recursive(basisInfo, integralInfo, maxNoOfMonomials, J_K_params.threshold_J, &boxList[0], numberOfLevels, 0, 0, 0, branch_i, branch_j, &jobList_J_standard[noOfJobs_J_standard], noOfJobs_J_standard_firstCount - noOfJobs_J_standard, &noOfNewJobs_standard, &jobList_J_multipole[noOfJobs_J_multipole], noOfJobs_J_multipole_firstCount - noOfJobs_J_multipole, &noOfNewJobs_multipole ) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_joblists_J_for_two_boxes_recursive"); return -1; } noOfJobs_J_standard += noOfNewJobs_standard; noOfJobs_J_multipole += noOfNewJobs_multipole; } } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "job lists for J created OK, noOfJobs_J_standard = %8i, noOfJobs_J_multipole = %8i", noOfJobs_J_standard, noOfJobs_J_multipole); timeMeterJjoblist.print(LOG_AREA_INTEGRALS, "Creating job lists for J"); // Execute standard job list for J int noOfThreads = J_K_params.noOfThreads_J; if(noOfThreads <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_J_by_boxes_linear: (noOfThreads <= 0)"); return -1; } if(noOfThreads == 1) { if(execute_joblist_J_std_serial(noOfJobs_J_standard, &jobList_J_standard[0], basisInfo, integralInfo, maxNoOfMonomials, result_J_list, &boxList[0], J_K_params.threshold_J) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in execute_joblist_J_std_serial"); return -1; } } else { if(execute_joblist_J_std_threaded(noOfThreads, noOfJobs_J_standard, &jobList_J_standard[0], basisInfo, integralInfo, maxNoOfMonomials, result_J_list, noOfBasisFuncIndexPairs, &boxList[0], J_K_params.threshold_J) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in execute_joblist_J_std_threaded"); return -1; } } // sort multipole job list by boxindex and branchindex. Util::TimeMeter timeMeterJmulSort; if(sort_list_of_multipole_jobs(&jobList_J_multipole[0], noOfJobs_J_multipole) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in sort_list_of_multipole_jobs"); return -1; } timeMeterJmulSort.print(LOG_AREA_INTEGRALS, "sort_list_of_multipole_jobs"); /* Execute multipole list */ if(noOfThreads == 1) { if( execute_joblist_J_fmm_serial(integralInfo, basisInfo, J_K_params, noOfJobs_J_multipole, &jobList_J_multipole[0], &boxList[0], maxnoOfMinimalDistrsPerBoxBranch, result_J_list) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in execute_joblist_J_fmm_serial"); return -1; } } else { if( execute_joblist_J_fmm_thread(noOfThreads, noOfBasisFuncIndexPairs, integralInfo, basisInfo, J_K_params, noOfJobs_J_multipole, &jobList_J_multipole[0], &boxList[0], maxnoOfMinimalDistrsPerBoxBranch, result_J_list) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in execute_joblist_J_fmm_thread"); return -1; } } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "compute_J_by_boxes_linear ending OK."); timeMeterTot.print(LOG_AREA_INTEGRALS, "compute_J_by_boxes_linear"); return 0; } int compute_J_by_boxes(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::Params& J_K_params, ergo_real* J, const ergo_real* dens) { int n = basisInfo.noOfBasisFuncs; ergo_real maxDensityMatrixElement = get_max_abs_vector_element(n*n, dens); std::vector basisFuncIndexPairList; int noOfBasisFuncIndexPairs = get_basis_func_pair_list_2el(basisInfo, integralInfo, J_K_params.threshold_J, maxDensityMatrixElement, basisFuncIndexPairList); if(noOfBasisFuncIndexPairs <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_basis_func_pair_list"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "noOfBasisFuncIndexPairs = %i ==> storing %6.2f %% of a full matrix", noOfBasisFuncIndexPairs, (double)100*noOfBasisFuncIndexPairs/((double)n*n)); std::vector D_list(noOfBasisFuncIndexPairs); std::vector J_list(noOfBasisFuncIndexPairs); // Setup D_list for(int i = 0; i < noOfBasisFuncIndexPairs; i++) { int a = basisFuncIndexPairList[i].index_1; int b = basisFuncIndexPairList[i].index_2; D_list[i] = dens[a*n+b]; } if(compute_J_by_boxes_linear(basisInfo, integralInfo, J_K_params, &basisFuncIndexPairList[0], noOfBasisFuncIndexPairs, &D_list[0], &J_list[0], noOfBasisFuncIndexPairs) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_J_by_boxes_linear"); return -1; } // Now transfer result from J_list to J // First set all of J to zero (otherwise there may be something in the non-relevant part of the matrix) for(int i = 0; i < n*n; i++) J[i] = 0; for(int i = 0; i < noOfBasisFuncIndexPairs; i++) { int a = basisFuncIndexPairList[i].index_1; int b = basisFuncIndexPairList[i].index_2; J[a*n+b] = J_list[i]; J[b*n+a] = J_list[i]; } return 0; } /* compute_J_by_boxes_nosymm does the same as compute_J_by_boxes, but without assuming the density matrix to be symmetric. */ int compute_J_by_boxes_nosymm(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, const JK::Params& J_K_params, ergo_real* J, const ergo_real* dens) { int n = basisInfo.noOfBasisFuncs; // Create symmetrized density matrix P_ab = 0.5*(D_ab + D_ba) std::vector P(n*n); for(int a = 0; a < n; a++) for(int b = 0; b < n; b++) P[a*n+b] = 0.5 * ( dens[a*n+b] + dens[b*n+a] ); int rc = compute_J_by_boxes(basisInfo, integralInfo, J_K_params, J, &P[0]); return rc; } ergo-3.5/source/integrals/integrals_2el_utils.cc0000664000175000017500000004056312743400307017021 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include "integrals_2el_utils.h" #include "integrals_hermite.h" #include "template_blas_common.h" #include "basis_func_extent.h" #include "integrals_2el_repeating.h" #include "integrals_general.h" ergo_real get_max_abs_vector_element(int n, const ergo_real* vector) { ergo_real maxabs = 0; for(int i = 0; i < n; i++) { ergo_real absval = std::fabs(vector[i]); if(absval > maxabs) maxabs = absval; } return maxabs; } distr_list_description_struct::distr_list_description_struct(): totCharge(0) { memset(multipolePoint, 0, 3*sizeof(ergo_real)); multipole.degree = -1; multipole.noOfMoments = 0; memset(multipole.momentList, 0, MAX_NO_OF_MOMENTS_PER_MULTIPOLE*sizeof(ergo_real)); memset(maxMomentVectorNormForDistrsList, 0, (MAX_MULTIPOLE_DEGREE_BASIC+1)*sizeof(ergo_real)); } box_struct::box_struct() : noOfBasisFuncs(0), noOfRelevantBasisFuncGroups(0), basisFuncGroupInfoList(NULL), largestCSfactor(0) { memset(multipolePoint, 0, 3*sizeof(ergo_real)); memset(branchIndexList, 0, MAX_NO_OF_BRANCHES*sizeof(int)); memset(branchCountList, 0, MAX_NO_OF_BRANCHES*sizeof(int)); memset(multipoleEuclideanNormList, 0, (MAX_MULTIPOLE_DEGREE_BASIC+1)*sizeof(ergo_real)); } void allocate_buffers_needed_by_integral_code(const IntegralInfo & integralInfo, int maxNoOfMonomials, int basisFuncListCount_max, JK_contribs_buffer_struct* bufferStruct) { bufferStruct->summedIntegralList = new ergo_real[MAX_NO_OF_BASIS_FUNC_PAIRS_PER_CHUNK*MAX_NO_OF_BASIS_FUNC_PAIRS_PER_CHUNK]; bufferStruct->primitiveIntegralList = new ergo_real[maxNoOfMonomials*maxNoOfMonomials]; bufferStruct->primitiveIntegralList_work = new ergo_real[maxNoOfMonomials*maxNoOfMonomials]; if(basisFuncListCount_max > 0) { bufferStruct->partial_dmat_1 = new ergo_real[basisFuncListCount_max*basisFuncListCount_max]; bufferStruct->partial_K_1 = new ergo_real[basisFuncListCount_max*basisFuncListCount_max]; // FIXME: only allocate _2 buffers if nonsymm case. bufferStruct->partial_dmat_2 = new ergo_real[basisFuncListCount_max*basisFuncListCount_max]; bufferStruct->partial_K_2 = new ergo_real[basisFuncListCount_max*basisFuncListCount_max]; } else { bufferStruct->partial_dmat_1 = NULL; bufferStruct->partial_K_1 = NULL; bufferStruct->partial_dmat_2 = NULL; bufferStruct->partial_K_2 = NULL; } } void free_buffers_needed_by_integral_code(JK_contribs_buffer_struct* bufferStruct) { delete [] bufferStruct->summedIntegralList; delete [] bufferStruct->primitiveIntegralList; delete [] bufferStruct->primitiveIntegralList_work; if(bufferStruct->partial_dmat_1) delete [] bufferStruct->partial_dmat_1; if(bufferStruct->partial_K_1) delete [] bufferStruct->partial_K_1; if(bufferStruct->partial_dmat_2) delete [] bufferStruct->partial_dmat_2; if(bufferStruct->partial_K_2) delete [] bufferStruct->partial_K_2; bufferStruct->summedIntegralList = NULL; bufferStruct->primitiveIntegralList = NULL; bufferStruct->primitiveIntegralList_work = NULL; bufferStruct->partial_dmat_1 = NULL; bufferStruct->partial_K_1 = NULL; bufferStruct->partial_dmat_2 = NULL; bufferStruct->partial_K_2 = NULL; } int get_related_integrals_h( const IntegralInfo & integralInfo, const JK::ExchWeights & CAM_params, int n1max, int noOfMonomials_1, int n2max, int noOfMonomials_2, ergo_real dx0, ergo_real dx1, ergo_real dx2, ergo_real alpha1, ergo_real alpha2, ergo_real alpha0, ergo_real* primitiveIntegralList, ergo_real* primitiveIntegralList_work, ergo_real resultPreFactor ) { get_related_integrals_hermite(integralInfo, CAM_params, n1max, noOfMonomials_1, n2max, noOfMonomials_2, dx0, dx1, dx2, alpha0, resultPreFactor, primitiveIntegralList); integralInfo.multiply_by_hermite_conversion_matrix_from_right(n1max, n2max, 1.0/alpha1, primitiveIntegralList, primitiveIntegralList_work); integralInfo.multiply_by_hermite_conversion_matrix_from_left(n1max, n2max, 1.0/alpha2, primitiveIntegralList_work, primitiveIntegralList); return 0; } static ergo_real erfc_inverse(ergo_real x, ergo_real requested_accuracy) { ergo_real y_min = 0.0; ergo_real y_max = 10.0; if(template_blas_erfc(y_max) > x) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in erfc_inverse: (erfc(y_max) > x)"); exit(0); } int count = 0; ergo_real y = 0; while(y_max - y_min > requested_accuracy) { y = (y_min + y_max) / 2; if(template_blas_erfc(y) > x) y_min = y; else y_max = y; count++; if(count > 222) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in erfc_inverse: too many iterations."); exit(0); } } // END WHILE requested accuracy not reached return y; } void compute_extent_for_list_of_distributions(int n, DistributionSpecStructLabeled* distrList, ergo_real threshold, ergo_real maxLimitingFactor, ergo_real maxabsDmatelement) { ergo_real requested_erfcinv_accuracy = 0.001; for(int i = 0; i < n; i++) { ergo_real erfc_inverse_value = erfc_inverse(threshold / (distrList[i].limitingFactor * maxLimitingFactor * maxabsDmatelement), requested_erfcinv_accuracy); distrList[i].distr.extent = erfc_inverse_value / std::sqrt(distrList[i].distr.exponent); } } int get_list_of_labeled_distrs_maxLimitingFactor(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real threshold, ergo_real* resultMaxLimitingFactor, ergo_real maxDensityMatrixElement) { int n = basisInfo.noOfBasisFuncs; std::vector basisFuncExtentList(n); if(compute_extent_for_all_basis_funcs_2el(integralInfo, basisInfo, &basisFuncExtentList[0], threshold, maxDensityMatrixElement) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_extent_for_all_basis_funcs"); return -1; } ergo_real maxExtent = 0; for(int i = 0; i < n; i++) { ergo_real currExtent = basisFuncExtentList[i]; if(currExtent > maxExtent) maxExtent = currExtent; } std::vector orgIndexList(n); // Create box system for basisInfo. std::vector itemList(n); for(int i = 0; i < n; i++) { for(int j = 0; j < 3; j++) itemList[i].centerCoords[j] = basisInfo.basisFuncList[i].centerCoords[j]; itemList[i].originalIndex = i; } ergo_real toplevelBoxSize = 7.0; BoxSystem boxSystem; if(boxSystem.create_box_system(&itemList[0], n, toplevelBoxSize) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system."); return -1; } IntegratorWithMemory integrator(&integralInfo); ergo_real maxLimitingFactor = 0; for(int i = 0; i < n; i++) { // Now, instead of looping again over all n basis functions, we use box system to find relevant ones. ergo_real maxDistance = basisFuncExtentList[i] + maxExtent; ergo_real coords[3]; for(int coordNo = 0; coordNo < 3; coordNo++) coords[coordNo] = basisInfo.basisFuncList[i].centerCoords[coordNo]; int nRelevant = boxSystem.get_items_near_point(&itemList[0], coords, maxDistance, &orgIndexList[0]); for(int jRelevant = 0; jRelevant < nRelevant; jRelevant++) { int j = orgIndexList[jRelevant]; if(j < i) continue; // Now we are concerned with basis functions i and j. // If they are far enough apart, we can skip this pair. ergo_real dx = basisInfo.basisFuncList[i].centerCoords[0] - basisInfo.basisFuncList[j].centerCoords[0]; ergo_real dy = basisInfo.basisFuncList[i].centerCoords[1] - basisInfo.basisFuncList[j].centerCoords[1]; ergo_real dz = basisInfo.basisFuncList[i].centerCoords[2] - basisInfo.basisFuncList[j].centerCoords[2]; ergo_real distance = std::sqrt(dx*dx + dy*dy + dz*dz); if(distance > basisFuncExtentList[i] + basisFuncExtentList[j]) continue; const int maxCountProduct = 10000; DistributionSpecStruct psi_list[maxCountProduct]; /* form product of basisfuncs i and j, store product in psi_list */ int n_psi = get_product_simple_primitives(basisInfo, i, basisInfo, j, psi_list, maxCountProduct, 0); if(n_psi < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_primitives"); return -1; } for(int k = 0; k < n_psi; k++) { ergo_real limitingFactor = std::sqrt(integrator.do_2e_integral(&psi_list[k])); if(limitingFactor > maxLimitingFactor) maxLimitingFactor = limitingFactor; } // END FOR k } // END FOR j } // END FOR i *resultMaxLimitingFactor = maxLimitingFactor; return 0; } int get_list_of_labeled_distrs(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo, ergo_real threshold, DistributionSpecStructLabeled* resultList, int maxCountDistrs, ergo_real maxLimitingFactor, const ergo_real* dens, ergo_real maxDensityMatrixElement) { int n = basisInfo.noOfBasisFuncs; // compute extent for all basis functions std::vector basisFuncExtentList(n); if(compute_extent_for_all_basis_funcs_2el(integralInfo, basisInfo, &basisFuncExtentList[0], threshold, maxDensityMatrixElement) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_extent_for_all_basis_funcs"); return -1; } ergo_real maxExtent = 0; for(int i = 0; i < n; i++) { ergo_real currExtent = basisFuncExtentList[i]; if(currExtent > maxExtent) maxExtent = currExtent; } std::vector orgIndexList(n); // Create box system for basisInfo. std::vector itemList(n); for(int i = 0; i < n; i++) { for(int j = 0; j < 3; j++) itemList[i].centerCoords[j] = basisInfo.basisFuncList[i].centerCoords[j]; itemList[i].originalIndex = i; } ergo_real toplevelBoxSize = 7.0; BoxSystem boxSystem; if(boxSystem.create_box_system(&itemList[0], n, toplevelBoxSize) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system."); return -1; } IntegratorWithMemory integrator(&integralInfo); // create list of product primitives, with labels int distrCount = 0; for(int i = 0; i < n; i++) { // Now, instead of looping again over all n basis functions, we use box system to find relevant ones. ergo_real maxDistance = basisFuncExtentList[i] + maxExtent; ergo_real coords[3]; for(int coordNo = 0; coordNo < 3; coordNo++) coords[coordNo] = basisInfo.basisFuncList[i].centerCoords[coordNo]; int nRelevant = boxSystem.get_items_near_point(&itemList[0], coords, maxDistance, &orgIndexList[0]); for(int jRelevant = 0; jRelevant < nRelevant; jRelevant++) { int j = orgIndexList[jRelevant]; if(j < i) continue; // Now we are concerned with basis functions i and j. // If they are far enough apart, we can skip this pair. ergo_real dx = basisInfo.basisFuncList[i].centerCoords[0] - basisInfo.basisFuncList[j].centerCoords[0]; ergo_real dy = basisInfo.basisFuncList[i].centerCoords[1] - basisInfo.basisFuncList[j].centerCoords[1]; ergo_real dz = basisInfo.basisFuncList[i].centerCoords[2] - basisInfo.basisFuncList[j].centerCoords[2]; ergo_real distance = std::sqrt(dx*dx + dy*dy + dz*dz); if(distance > basisFuncExtentList[i] + basisFuncExtentList[j]) continue; // Set dmatElement if dens given, otherwise just set it to zero. ergo_real dmatElement = 0; if(dens != NULL) dmatElement = dens[i*n+j]; const int maxCountProduct = 10000; DistributionSpecStruct psi_list[maxCountProduct]; /* form product of basisfuncs i and j, store product in psi_list */ int n_psi = get_product_simple_primitives(basisInfo, i, basisInfo, j, psi_list, maxCountProduct, 0); if(n_psi < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_primitives"); return -1; } for(int k = 0; k < n_psi; k++) { ergo_real limitingFactor = std::sqrt(integrator.do_2e_integral(&psi_list[k])); if(limitingFactor*maxLimitingFactor*maxDensityMatrixElement > threshold) { if(maxCountDistrs > 0 && distrCount >= maxCountDistrs) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_list_of_labeled_distrs: (maxCountDistrs > 0 && distrCount >= maxCountDistrs)"); return -1; } if(resultList != NULL) { resultList[distrCount].distr = psi_list[k]; resultList[distrCount].basisFuncIndex_1 = i; resultList[distrCount].basisFuncIndex_2 = j; resultList[distrCount].pairIndex = -1; // not used resultList[distrCount].limitingFactor = limitingFactor; resultList[distrCount].dmatElement = dmatElement; } distrCount++; } // END IF above threshold } // END FOR k } // END FOR j } // END FOR i return distrCount; } static void create_item_list_from_list_of_distributions(int n, const DistributionSpecStructLabeled* distrList, box_item_struct* itemList) { for(int i = 0; i < n; i++) { for(int j = 0; j < 3; j++) itemList[i].centerCoords[j] = distrList[i].distr.centerCoords[j]; itemList[i].originalIndex = i; } // END FOR i } int create_box_system_and_reorder_distrs(int distrCount, DistributionSpecStructLabeled* distrList, ergo_real toplevelBoxSize, BoxSystem & boxSystem) { std::vector itemList(distrCount); create_item_list_from_list_of_distributions(distrCount, &distrList[0], &itemList[0]); if(boxSystem.create_box_system(&itemList[0], distrCount, toplevelBoxSize) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in create_box_system"); return -1; } // reorder list of labeled distrs, where they are ordered box by box // at the level of smallest boxes. Since the distr struct is rather // big we want to do this reordering without using a whole new // vector of structs. Instead we use two vectors of int, one // containing the current location of each distr and the other // containing the contents of each entry. std::vector locations(distrCount); for(int i = 0; i < distrCount; i++) locations[i] = i; std::vector contents(distrCount); for(int i = 0; i < distrCount; i++) contents[i] = i; for(int i = 0; i < distrCount; i++) { // Now we want to copy the correct entry into position i. We also // need to copy the entry that was occupying this spot to // somewhere else, and update the locations and contents vectors // accordingly. int otherIdx = locations[itemList[i].originalIndex]; // Switch place of distr structs. DistributionSpecStructLabeled temp = distrList[otherIdx]; distrList[otherIdx] = distrList[i]; distrList[i] = temp; // Update locations and contents vectors. int orgIdxToMove = contents[i]; contents[i] = itemList[i].originalIndex; locations[itemList[i].originalIndex] = i; contents[otherIdx] = orgIdxToMove; locations[orgIdxToMove] = otherIdx; } return 0; } ergo-3.5/source/integrals/integrals_1el_kinetic.cc0000664000175000017500000002225312743400307017302 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* Written by Elias Rudberg, KTH, Stockholm */ #include #include #include #include #include #include #include #include "integrals_1el_kinetic.h" #include "memorymanag.h" #include "pi.h" #include "output.h" #include "utilities.h" #include "boysfunction.h" #include "integral_info.h" #include "integrals_general.h" #include "box_system.h" #include "multipole.h" #include "integrals_2el_single.h" #include "integrals_1el_single.h" /* FIXME do not use this hard-coded value! */ static const ergo_real MATRIX_ELEMENT_THRESHOLD_VALUE = 1e-12; static void do_derivative_of_simple_prim(const DistributionSpecStruct& prim, DistributionSpecStruct* resultList, int coord) { /* first term */ if(prim.monomialInts[coord] > 0) { memcpy(&resultList[0], &prim, sizeof(DistributionSpecStruct)); resultList[0].coeff *= prim.monomialInts[coord]; resultList[0].monomialInts[coord] -= 1; } else { /* first term is zero */ resultList[0].coeff = 0; } /* second term */ memcpy(&resultList[1], &prim, sizeof(DistributionSpecStruct)); resultList[1].coeff *= -2*prim.exponent; resultList[1].monomialInts[coord] += 1; } /** Computes the contribution to kinetic energy integral along the cartesian coordinate coord between two distributions prim1 and prim2. Note that this function is *not* strict wrt the effectiveThreshold parameter, the approximation is only proportional to its value but it can exceed it. */ ergo_real simplePrimTintegral(const DistributionSpecStruct& prim1, const DistributionSpecStruct& prim2, int coord, ergo_real threshold) { const int maxDistrsInTempList = 888; DistributionSpecStruct tempList[maxDistrsInTempList]; int i, k, nNewPrims; ergo_real sum; DistributionSpecStruct list1[2]; DistributionSpecStruct list2[4]; do_derivative_of_simple_prim(prim2, list1, coord); if(list1[0].coeff != 0) { do_derivative_of_simple_prim(list1[0], &list2[0], coord); } else { list2[0].coeff = 0; list2[1].coeff = 0; } if(list1[1].coeff != 0) { do_derivative_of_simple_prim(list1[1], &list2[2], coord); } else { list2[2].coeff = 0; list2[3].coeff = 0; } /* now the resulting 4 terms are stored in list2 */ sum = 0; for(i = 0; i < 4; i++) { if(list2[i].coeff == 0) continue; nNewPrims = get_product_simple_prims(prim1, list2[i], tempList, maxDistrsInTempList, threshold); if(nNewPrims < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_product_simple_prims"); return -1; } for(k = 0; k < nNewPrims; k++) { DistributionSpecStruct* currDistr = &tempList[k]; sum += compute_integral_of_simple_prim(currDistr); } /* END FOR k */ } return sum; } int compute_T_matrix_sparse(const BasisInfoStruct& basisInfo, ergo_real threshold, int n, int* nvaluesList, int** colindList, ergo_real** valuesList) { int mu, nbast; int internal_error = 0; nbast = basisInfo.noOfBasisFuncs; if(n != nbast) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_T_matrix_sparse: (n != nbast)"); return -1; } // To reduce scaling we want some kind of "extent" for each basis function. // Start by getting largest simple integral for each of the two basis sets. ergo_real A = get_largest_simple_integral(basisInfo); ergo_real* basisFuncExtentList = ergo_new(nbast, ergo_real); get_basis_func_extent_list(basisInfo, basisFuncExtentList, MATRIX_ELEMENT_THRESHOLD_VALUE / A); #ifdef _OPENMP #pragma omp parallel #endif { // Allocate vector for results for one row. ergo_real* rowValueList = ergo_new(n, ergo_real); #ifdef _OPENMP #pragma omp for schedule(guided) #endif for(mu = 0; mu < nbast; mu++) { int count = 0; BasisFuncStruct* basisFunc_mu = &basisInfo.basisFuncList[mu]; int n_mu = basisFunc_mu->noOfSimplePrimitives; int start_prim_mu = basisFunc_mu->simplePrimitiveIndex; DistributionSpecStruct* list_mu = &basisInfo.simplePrimitiveList[start_prim_mu]; for(int nu = 0; nu <= mu; nu++) { // Compute distance between basis function centers ergo_real dx = basisInfo.basisFuncList[mu].centerCoords[0] - basisInfo.basisFuncList[nu].centerCoords[0]; ergo_real dy = basisInfo.basisFuncList[mu].centerCoords[1] - basisInfo.basisFuncList[nu].centerCoords[1]; ergo_real dz = basisInfo.basisFuncList[mu].centerCoords[2] - basisInfo.basisFuncList[nu].centerCoords[2]; ergo_real distance = std::sqrt(dx*dx + dy*dy + dz*dz); // We can skip if distance is greater than sum of extents. if(distance > basisFuncExtentList[mu] + basisFuncExtentList[nu]) { rowValueList[nu] = 0; continue; } BasisFuncStruct* basisFunc_nu = &basisInfo.basisFuncList[nu]; int n_nu = basisFunc_nu->noOfSimplePrimitives; int start_prim_nu = basisFunc_nu->simplePrimitiveIndex; DistributionSpecStruct* list_nu = &basisInfo.simplePrimitiveList[start_prim_nu]; /* compute matrix element [mu,nu] */ ergo_real sum = 0; int i, j, k; for(j = 0; j < n_mu; j++) { const DistributionSpecStruct& prim_mu_j = list_mu[j]; for(k = 0; k < n_nu; k++) { const DistributionSpecStruct& prim_nu_k = list_nu[k]; ergo_real effectiveThreshold = 2.0*threshold/(n_mu*n_nu*3); /* now loop over coordinates */ for(i = 0; i < 3; i++) { /* Note that this function is not strict wrt the effectiveThreshold parameter, the approximation is only proportional to its value but it can exceed it. */ sum += simplePrimTintegral(prim_mu_j, prim_nu_k, i, effectiveThreshold); } /* END FOR i */ } /* END FOR k */ } /* END FOR j */ rowValueList[nu] = -0.5 * sum; if(std::fabs(rowValueList[nu]) > MATRIX_ELEMENT_THRESHOLD_VALUE) count++; } /* END FOR nu */ // OK, this row done. // Now go through results to check which elements need to be saved. nvaluesList[mu] = count; // Now allocate result vectors for this row. colindList[mu] = ergo_new(count, int); valuesList[mu] = ergo_new(count, ergo_real); count = 0; for(int j = 0; j <= mu; j++) { ergo_real absVal = std::fabs(rowValueList[j]); if(absVal > MATRIX_ELEMENT_THRESHOLD_VALUE) { if(count >= nvaluesList[mu]) { internal_error++; /* This should never happen. */ break; } colindList[mu][count] = j; valuesList[mu][count] = rowValueList[j]; count++; } } } /* END FOR mu */ ergo_free(rowValueList); } ergo_free(basisFuncExtentList); return internal_error ? -1 : 0; } int compute_T_matrix_full(const BasisInfoStruct& basisInfo, ergo_real threshold, ergo_real* result) { int n = basisInfo.noOfBasisFuncs; int* nvaluesList = ergo_new(n, int); int** colindList = ergo_new(n, int*); ergo_real** valuesList = ergo_new(n, ergo_real*); if(compute_T_matrix_sparse(basisInfo, threshold, n, nvaluesList, colindList, valuesList) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in compute_T_matrix_sparse"); return -1; } // Now populate full result matrix memset(result, 0, n*n*sizeof(ergo_real)); int i; for(i = 0; i < n; i++) { int count = nvaluesList[i]; int* colind = colindList[i]; ergo_real* values = valuesList[i]; int j; for(j = 0; j < count; j++) { int row = i; int col = colind[j]; ergo_real value = values[j]; result[row*n+col] = value; result[col*n+row] = value; } } // END FOR i // Remember to free memory allocated inside compute_T_matrix_sparse. for(i = 0; i < n; i++) { ergo_free(colindList[i]); ergo_free(valuesList[i]); } ergo_free(nvaluesList); ergo_free(colindList); ergo_free(valuesList); return 0; } ergo-3.5/source/scf/0000775000175000017500000000000012743400366011400 500000000000000ergo-3.5/source/scf/SCF_unrestricted.cc0000664000175000017500000016400712743400307015040 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include "SCF_unrestricted.h" #include "output.h" #include "scf_utils.h" #include "utilities.h" #include "diis_unrestricted.h" #include "density_projection.h" #include "densfromf_full.h" #include "density_description_file.h" #include "densitymanager.h" #include "matrix_utilities.h" #include "units.h" #include "atom_labels.h" #include "dipole_moment.h" SCF_unrestricted::SCF_unrestricted(const Molecule& molecule_, const Molecule& extraCharges_, const BasisInfoStruct & basisInfo_, const BasisInfoStruct & basisInfoDensFit_, const IntegralInfo& integralInfo_, const char* guessDmatFileName_, const JK::Params& J_K_params_, const Dft::GridParams& gridParams_, const SCF::Options& scfopts, const SCF::MatOptions& matOpts, ergo_real threshold_integrals_1el_input, int alpha_beta_diff_input) : SCF_general(molecule_, extraCharges_, basisInfo_, basisInfoDensFit_, integralInfo_, guessDmatFileName_, J_K_params_, gridParams_, scfopts, matOpts, threshold_integrals_1el_input), alpha_beta_diff(alpha_beta_diff_input) { DIIS = new DIISManagerUnrestricted; if(determine_number_of_electrons_unrestricted(noOfElectrons, alpha_beta_diff, &noOfElectrons_alpha, &noOfElectrons_beta) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in determine_number_of_electrons_unrestricted"); throw "error in determine_number_of_electrons_unrestricted"; } DensFromFock.do_unrestricted_calculations(); // set factor = 1 } SCF_unrestricted::~SCF_unrestricted() { delete ((DIISManagerUnrestricted*)DIIS); } void SCF_unrestricted::get_Fock_matrices(symmMatrix & FockMatrix_a, symmMatrix & FockMatrix_b) { FockMatrix_alpha.readFromFile(); FockMatrix_a = FockMatrix_alpha; FockMatrix_alpha.writeToFile(); FockMatrix_beta.readFromFile(); FockMatrix_b = FockMatrix_beta; FockMatrix_beta.writeToFile(); } void SCF_unrestricted::get_no_of_electrons(int & noOfElectrons_a, int & noOfElectrons_b) { noOfElectrons_a = noOfElectrons_alpha; noOfElectrons_b = noOfElectrons_beta; } void SCF_unrestricted::initialize_matrices() { densityMatrix_alpha.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); densityMatrix_beta.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); FockMatrix_alpha.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); FockMatrix_beta.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); Fprev_alpha.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); Fprev_beta.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); // Dprev_alpha.resetSizesAndBlocks(matOpts.size_block_info, // matOpts.size_block_info); // Dprev_beta.resetSizesAndBlocks(matOpts.size_block_info, // matOpts.size_block_info); F_ort_prev_alpha.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); F_ort_prev_beta.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); bestFockMatrixSoFar_alpha.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); bestFockMatrixSoFar_beta.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); bestFockMatrixSoFar2_alpha.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); bestFockMatrixSoFar2_beta.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); ErrorMatrix_alpha.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); ErrorMatrix_beta.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); G_alpha.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); G_beta.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); } void SCF_unrestricted::check_params() { } void SCF_unrestricted::get_starting_guess_density() { // set up starting guess int n = basisInfo.noOfBasisFuncs; if(guessDmatFileName != NULL) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "getting starting guess density from file '%s'", guessDmatFileName); int noOfDensityMatrices = 2; symmMatrix* matrixList[2]; matrixList[0] = &densityMatrix_alpha; matrixList[1] = &densityMatrix_beta; int noOfElectronsList[2]; noOfElectronsList[0] = noOfElectrons_alpha + scfopts.starting_guess_spin_diff; noOfElectronsList[1] = noOfElectrons_beta - scfopts.starting_guess_spin_diff; if(load_density_and_project_sparse(DensFromFock, guessDmatFileName, noOfDensityMatrices, &integralInfo, basisInfo, S_symm, matrixList, noOfElectronsList, matOpts.size_block_info, matOpts.permutationHML, matOpts.sparse_threshold) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in load_density_and_project_sparse"); throw "error in load_density_and_project_sparse"; } } else { if(scfopts.use_simple_starting_guess == 1) { if(get_simple_starting_guess_sparse(n, noOfElectrons_alpha, densityMatrix_alpha) != 0) throw "error in get_simple_starting_guess_sparse"; densityMatrix_alpha.writeToFile(); if(get_simple_starting_guess_sparse(n, noOfElectrons_beta, densityMatrix_beta) != 0) throw "error in get_simple_starting_guess_sparse"; densityMatrix_beta.writeToFile(); } else if(scfopts.use_diag_guess_from_file == 1) { if(get_diag_matrix_from_file(n, densityMatrix_alpha, "diagdens_alpha.txt",matOpts.permutationHML) != 0) throw "error in get_diag_matrix_from_file"; if(get_diag_matrix_from_file(n, densityMatrix_beta , "diagdens_beta.txt",matOpts.permutationHML) != 0) throw "error in get_diag_matrix_from_file"; } else { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "calling get_dens_from_fock for alpha and beta to diagonalize H_core for starting guesses, n = %i, matOpts.sparse_threshold = %g", n, (double)matOpts.sparse_threshold); // save flags int use_stochastic_orbitals = DensFromFock.get_use_stochastic_orbitals(); DensFromFock.unset_use_stochastic_orbitals(); int use_diag_on_error = DensFromFock.get_use_diag_on_error(); if(DensFromFock.get_use_diag_on_error_guess() == 1) DensFromFock.set_use_diag_on_error(); // ALPHA symmMatrix F_ort_prev_dummy_alpha; F_ort_prev_dummy_alpha.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); F_ort_prev_dummy_alpha.writeToFile(); densityMatrix_alpha.writeToFile(); DensFromFock.set_no_occupied_orbs(noOfElectrons_alpha); DensFromFock.clean_eigs_intervals(); DensFromFock.set_generate_figures(0, "_alpha"); if(DensFromFock.get_dens_from_fock(H_core_Matrix, densityMatrix_alpha, F_ort_prev_dummy_alpha) != 0) { throw "SCF_unrestricted::get_starting_guess_density: Error in get_dens_from_fock for alpha."; } // BETA symmMatrix F_ort_prev_dummy_beta; F_ort_prev_dummy_beta.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); F_ort_prev_dummy_beta.writeToFile(); densityMatrix_beta.writeToFile(); DensFromFock.set_no_occupied_orbs(noOfElectrons_beta); DensFromFock.clean_eigs_intervals(); DensFromFock.set_generate_figures(0, "_beta"); if(DensFromFock.get_dens_from_fock(H_core_Matrix, densityMatrix_beta, F_ort_prev_dummy_beta) != 0) { throw "SCF_unrestricted::get_starting_guess_density: Error in get_dens_from_fock for beta."; } // return values of flags if( use_stochastic_orbitals == 1 ) DensFromFock.set_use_stochastic_orbitals(); if( use_diag_on_error != 1 ) DensFromFock.unset_use_diag_on_error(); } // END ELSE use H_core to get starting guesses } // END ELSE no dmat given densityMatrix_alpha.readFromFile(); densityMatrix_beta.readFromFile(); output_sparsity_symm(n, densityMatrix_alpha, "starting guess density matrix (alpha)"); output_sparsity_symm(n, densityMatrix_beta , "starting guess density matrix (beta )"); densityMatrix_alpha.writeToFile(); densityMatrix_beta.writeToFile(); } void SCF_unrestricted::add_random_disturbance_to_starting_guess() { if(scfopts.sg_disturb_specific_elements > SCF::DISTURB_ELEMENT_MAX_COUNT) throw "Error in SCF_unrestricted::add_random_disturbance_to_starting_guess: (scfopts.sg_disturb_specific_elements > SCF::DISTURB_ELEMENT_MAX_COUNT)"; int n = basisInfo.noOfBasisFuncs; densityMatrix_alpha.readFromFile(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_unrestricted::add_random_disturbance_to_starting_guess, scfopts.starting_guess_disturbance = %7.3f", scfopts.starting_guess_disturbance); add_disturbance_to_matrix(n, densityMatrix_alpha, scfopts.starting_guess_disturbance, scfopts.sg_disturb_specific_elements, scfopts.disturbedElementIndexVector, matOpts.permutationHML); densityMatrix_alpha.writeToFile(); densityMatrix_beta.readFromFile(); add_disturbance_to_matrix(n, densityMatrix_beta , -1 * scfopts.starting_guess_disturbance, scfopts.sg_disturb_specific_elements, scfopts.disturbedElementIndexVector, matOpts.permutationHML); densityMatrix_beta.writeToFile(); } void SCF_unrestricted::initialize_homo_lumo_limits() { intervalType hugeInterval(-1e22, 1e22); homoInterval_F_ort_prev_alpha = hugeInterval; lumoInterval_F_ort_prev_alpha = hugeInterval; homoInterval_F_ort_prev_beta = hugeInterval; lumoInterval_F_ort_prev_beta = hugeInterval; homoInterval_Fprev_alpha = hugeInterval; lumoInterval_Fprev_alpha = hugeInterval; homoInterval_Fprev_beta = hugeInterval; lumoInterval_Fprev_beta = hugeInterval; } void SCF_unrestricted::write_matrices_to_file() { FockMatrix_alpha.writeToFile(); FockMatrix_beta.writeToFile(); Fprev_alpha.writeToFile(); Fprev_beta.writeToFile(); Dprev_alpha.writeToFile(); Dprev_beta.writeToFile(); bestFockMatrixSoFar_alpha.writeToFile(); bestFockMatrixSoFar_beta.writeToFile(); bestFockMatrixSoFar2_alpha.writeToFile(); bestFockMatrixSoFar2_beta.writeToFile(); F_ort_prev_alpha.writeToFile(); F_ort_prev_beta.writeToFile(); } template static void printMat(const T& m, const char *msg, int nbast) { #if 0 ergo_real* m_full = new ergo_real[nbast*nbast]; m.fullmatrix(m_full, nbast, nbast); puts(msg); for(int row=0; rowAddIterationToList(FockMatrix_alpha, FockMatrix_beta, ErrorMatrix_alpha, ErrorMatrix_beta) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in DIIS AddIterationToList"); throw "error in DIIS AddIterationToList"; } FockMatrix_alpha.writeToFile(); FockMatrix_beta.writeToFile(); } void SCF_unrestricted::update_best_fock_so_far() { // ALPHA Fprev_alpha.readFromFile(); bestFockMatrixSoFar_alpha.readFromFile(); bestFockMatrixSoFar_alpha = Fprev_alpha; Fprev_alpha.writeToFile(); bestFockMatrixSoFar_alpha.writeToFile(); FockMatrix_alpha.readFromFile(); bestFockMatrixSoFar2_alpha.readFromFile(); bestFockMatrixSoFar2_alpha = FockMatrix_alpha; FockMatrix_alpha.writeToFile(); bestFockMatrixSoFar2_alpha.writeToFile(); // BETA Fprev_beta.readFromFile(); bestFockMatrixSoFar_beta.readFromFile(); bestFockMatrixSoFar_beta = Fprev_beta; Fprev_beta.writeToFile(); bestFockMatrixSoFar_beta.writeToFile(); FockMatrix_beta.readFromFile(); bestFockMatrixSoFar2_beta.readFromFile(); bestFockMatrixSoFar2_beta = FockMatrix_beta; FockMatrix_beta.writeToFile(); bestFockMatrixSoFar2_beta.writeToFile(); } void SCF_unrestricted::combine_old_fock_matrices(ergo_real stepLength) { // ALPHA bestFockMatrixSoFar_alpha.readFromFile(); bestFockMatrixSoFar2_alpha.readFromFile(); FockMatrix_alpha.readFromFile(); FockMatrix_alpha = 0; FockMatrix_alpha += stepLength * bestFockMatrixSoFar2_alpha; FockMatrix_alpha += (1 - stepLength) * bestFockMatrixSoFar_alpha; FockMatrix_alpha.writeToFile(); bestFockMatrixSoFar_alpha.writeToFile(); bestFockMatrixSoFar2_alpha.writeToFile(); // BETA bestFockMatrixSoFar_beta.readFromFile(); bestFockMatrixSoFar2_beta.readFromFile(); FockMatrix_beta.readFromFile(); FockMatrix_beta = 0; FockMatrix_beta += stepLength * bestFockMatrixSoFar2_beta; FockMatrix_beta += (1 - stepLength) * bestFockMatrixSoFar_beta; FockMatrix_beta.writeToFile(); bestFockMatrixSoFar_beta.writeToFile(); bestFockMatrixSoFar2_beta.writeToFile(); } void SCF_unrestricted::use_diis_to_get_new_fock_matrix() { symmMatrix newFsymm_alpha; symmMatrix newFsymm_beta; if(((DIISManagerUnrestricted*)DIIS)->GetCombinedFockMatrices(newFsymm_alpha, newFsymm_beta) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in DIIS GetCombinedFockMatrices"); throw "error in DIIS GetCombinedFockMatrices"; } // ALPHA FockMatrix_alpha.readFromFile(); FockMatrix_alpha = newFsymm_alpha; FockMatrix_alpha.frob_thresh(matOpts.sparse_threshold); FockMatrix_alpha.writeToFile(); // BETA FockMatrix_beta.readFromFile(); FockMatrix_beta = newFsymm_beta; FockMatrix_beta.frob_thresh(matOpts.sparse_threshold); FockMatrix_beta.writeToFile(); } void SCF_unrestricted::clear_diis_list() { ((DIISManagerUnrestricted*)DIIS)->ClearList(); } void SCF_unrestricted::clear_error_matrices() { ErrorMatrix_alpha.clear(); ErrorMatrix_beta.clear(); } void SCF_unrestricted::save_current_fock_as_fprev() { // ALPHA FockMatrix_alpha.readFromFile(); Fprev_alpha.readFromFile(); Fprev_alpha = FockMatrix_alpha; FockMatrix_alpha.writeToFile(); Fprev_alpha.writeToFile(); // BETA FockMatrix_beta.readFromFile(); Fprev_beta.readFromFile(); Fprev_beta = FockMatrix_beta; FockMatrix_beta.writeToFile(); Fprev_beta.writeToFile(); } void SCF_unrestricted::get_new_density_matrix() { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_unrestricted::get_new_density_matrix, noOfElectrons_alpha noOfElectrons_beta = %5i %5i", noOfElectrons_alpha, noOfElectrons_beta); // ALPHA DensFromFock.set_no_occupied_orbs( noOfElectrons_alpha); DensFromFock.set_eigs_F_ort_prev(homoInterval_F_ort_prev_alpha, lumoInterval_F_ort_prev_alpha); DensFromFock.set_eigs2_F_ort_prev(homo2Interval_F_ort_prev_alpha, lumo2Interval_F_ort_prev_alpha); DensFromFock.set_generate_figures(SCF_step, "_alpha"); // if eigenvectors are needed, set params int use_init_guess = 0; if(scfopts.use_prev_vector_as_initial_guess == 1 && scfopts.min_number_of_iterations <= SCF_step && SCF_step > 1 && !eigVecLUMO_alpha.is_empty() && !eigVecHOMO_alpha.is_empty()) // ensure that we computed vectors in previous cycle use_init_guess = 1; // if we use new purification if(SCF_step > 1 && DensFromFock.get_use_purification() == 1 && DensFromFock.get_output_homo_and_lumo_eigenvectors() == 1) { DensFromFock.compute_eigenvectors(scfopts.eigenvectors_method, scfopts.eigenvectors_iterative_method, scfopts.number_of_eigenpairs, scfopts.eigensolver_accuracy, scfopts.eigensolver_maxiter, use_init_guess, scfopts.try_eigv_on_next_iteration_if_fail); // if we need more eigenpairs, initialize pointers in the DensFromFock class if(scfopts.number_of_eigenpairs == 2) DensFromFock.set_second_eigenvectors_pointers(&eigVecLUMO2_alpha, &eigVecHOMO2_alpha); } if(DensFromFock.get_dens_from_fock(FockMatrix_alpha, densityMatrix_alpha, F_ort_prev_alpha, &eigVecLUMO_alpha, &eigVecHOMO_alpha) != 0) { throw "SCF_unrestricted::get_new_density_matrix: Error in get_dens_from_fock for alpha"; } DensFromFock.get_eigs_F_ort_prev(homoInterval_F_ort_prev_alpha, lumoInterval_F_ort_prev_alpha); DensFromFock.get_eigs2_F_ort_prev(homo2Interval_F_ort_prev_alpha, lumo2Interval_F_ort_prev_alpha); DensFromFock.get_eigs_Fprev(homoInterval_Fprev_alpha, lumoInterval_Fprev_alpha); DensFromFock.unset_generate_figures(); ergo_real electronicEntropyTerm_alpha = DensFromFock.get_result_entropy_term(); // BETA DensFromFock.set_no_occupied_orbs( noOfElectrons_beta); DensFromFock.set_eigs_F_ort_prev(homoInterval_F_ort_prev_beta, lumoInterval_F_ort_prev_beta); DensFromFock.set_eigs2_F_ort_prev(homo2Interval_F_ort_prev_beta, lumo2Interval_F_ort_prev_beta); DensFromFock.set_generate_figures(SCF_step, "_beta"); // if eigenvectors are needed, set params use_init_guess = 0; if(scfopts.use_prev_vector_as_initial_guess == 1 && scfopts.min_number_of_iterations <= SCF_step && SCF_step > 1 && !eigVecLUMO_beta.is_empty() && !eigVecHOMO_beta.is_empty()) // ensure that we computed vectors in previous cycle use_init_guess = 1; // if we use new purification if(SCF_step > 1 && DensFromFock.get_use_purification() == 1 && DensFromFock.get_output_homo_and_lumo_eigenvectors() == 1) { DensFromFock.compute_eigenvectors(scfopts.eigenvectors_method, scfopts.eigenvectors_iterative_method, scfopts.number_of_eigenpairs, scfopts.eigensolver_accuracy, scfopts.eigensolver_maxiter, use_init_guess, scfopts.try_eigv_on_next_iteration_if_fail); // if we need more eigenpairs, initialize pointers in the DensFromFock class if(scfopts.number_of_eigenpairs == 2) DensFromFock.set_second_eigenvectors_pointers(&eigVecLUMO2_beta, &eigVecHOMO2_beta); } if(DensFromFock.get_dens_from_fock(FockMatrix_beta, densityMatrix_beta, F_ort_prev_beta, &eigVecLUMO_beta, &eigVecHOMO_beta) != 0) { throw "SCF_unrestricted::get_new_density_matrix: Error in get_dens_from_fock for beta"; } DensFromFock.get_eigs_F_ort_prev(homoInterval_F_ort_prev_beta, lumoInterval_F_ort_prev_beta); DensFromFock.get_eigs2_F_ort_prev(homo2Interval_F_ort_prev_beta, lumo2Interval_F_ort_prev_beta); DensFromFock.get_eigs_Fprev(homoInterval_Fprev_beta, lumoInterval_Fprev_beta); DensFromFock.unset_generate_figures(); ergo_real electronicEntropyTerm_beta = DensFromFock.get_result_entropy_term(); electronicEntropyTerm = electronicEntropyTerm_alpha + electronicEntropyTerm_beta; // Report trace(DS) and spin info. S_symm.readFromFile(); densityMatrix_alpha.readFromFile(); densityMatrix_beta.readFromFile(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Tr( D_alpha * S ) = %22.11f", (double)symmMatrix::trace_ab(densityMatrix_alpha, S_symm)); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Tr( D_beta * S ) = %22.11f", (double)symmMatrix::trace_ab(densityMatrix_beta , S_symm)); symmMatrix spinDensityMatrix(densityMatrix_alpha); spinDensityMatrix += (ergo_real)(-1.0) * densityMatrix_beta; densityMatrix_alpha.writeToFile(); densityMatrix_beta.writeToFile(); S_symm.writeToFile(); normalMatrix spinDensityMatrix_normal(spinDensityMatrix); spinDensityMatrix.clear(); ergo_real maxabs = compute_maxabs_sparse(spinDensityMatrix_normal); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "maxabs element in spin density matrix : %22.11f", (double)maxabs); ergo_real S2_exact, S2; get_S2(S2_exact, S2); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "_exact = %7.3f, = %22.11f", (double)S2_exact, (double)S2); } void SCF_unrestricted::write_density_to_file() { matrix_description_struct matrixList[2]; // ALPHA densityMatrix_alpha.readFromFile(); int nvalues_alpha = densityMatrix_alpha.nvalues(); std::vector rowind_alpha; rowind_alpha.reserve(nvalues_alpha); std::vector colind_alpha; colind_alpha.reserve(nvalues_alpha); std::vector values_alpha; values_alpha.reserve(nvalues_alpha); densityMatrix_alpha.get_all_values(rowind_alpha, colind_alpha, values_alpha, matOpts.inversePermutationHML, matOpts.inversePermutationHML); densityMatrix_alpha.writeToFile(); matrixList[0].nvalues = nvalues_alpha; matrixList[0].rowind = &rowind_alpha[0]; matrixList[0].colind = &colind_alpha[0]; matrixList[0].values = &values_alpha[0]; // BETA densityMatrix_beta.readFromFile(); int nvalues_beta = densityMatrix_beta.nvalues(); std::vector rowind_beta; rowind_beta.reserve(nvalues_beta); std::vector colind_beta; colind_beta.reserve(nvalues_beta); std::vector values_beta; values_beta.reserve(nvalues_beta); densityMatrix_beta.get_all_values(rowind_beta, colind_beta, values_beta, matOpts.inversePermutationHML, matOpts.inversePermutationHML); densityMatrix_beta.writeToFile(); matrixList[1].nvalues = nvalues_beta; matrixList[1].rowind = &rowind_beta[0]; matrixList[1].colind = &colind_beta[0]; matrixList[1].values = &values_beta[0]; if(ddf_writeShellListAndDensityMatricesToFile_sparse(basisInfo, 2, matrixList, "density.bin") != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in ddf_writeShellListAndDensityMatricesToFile_sparse"); throw "error in ddf_writeShellListAndDensityMatricesToFile_sparse"; } } void SCF_unrestricted::save_final_potential() { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error: save_final_potential not implemented for unrestricted case."); throw "error: save_final_potential not implemented for unrestricted case."; } void SCF_unrestricted::output_density_images_orbital(generalVector &eigVec, const std::string &filename_id){} void SCF_unrestricted::output_density_images() { Util::TimeMeter timeMeter; int n = basisInfo.noOfBasisFuncs; ergo_real* densityMatrixFull_tot = new ergo_real[n*n]; ergo_real* densityMatrixFull_spin = new ergo_real[n*n]; // Get full matrix versions of density matrices { std::vector densityMatrixFull_a(n*n); std::vector densityMatrixFull_b(n*n); densityMatrix_alpha.readFromFile(); densityMatrix_alpha.fullMatrix(densityMatrixFull_a, matOpts.inversePermutationHML, matOpts.inversePermutationHML); densityMatrix_alpha.writeToFile(); densityMatrix_beta.readFromFile(); densityMatrix_beta.fullMatrix(densityMatrixFull_b, matOpts.inversePermutationHML, matOpts.inversePermutationHML); densityMatrix_beta.writeToFile(); for(int i = 0; i < n*n; i++) { densityMatrixFull_tot [i] = densityMatrixFull_a[i] + densityMatrixFull_b[i]; densityMatrixFull_spin[i] = densityMatrixFull_a[i] - densityMatrixFull_b[i]; } } do_density_images(basisInfo, molecule, densityMatrixFull_tot, densityMatrixFull_spin, scfopts.output_density_images_boxwidth); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_unrestricted::output_density_images finished OK."); timeMeter.print(LOG_AREA_SCF, "SCF_unrestricted::output_density_images"); } void SCF_unrestricted::prepare_stochastic_orbitals() { throw "Error: SCF_unrestricted::prepare_stochastic_orbitals() not implemented."; } void SCF_unrestricted::do_spin_flip(int atomCount) { int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_unrestricted::do_spin_flip, n = %6i", n); ergo_real* densityMatrixFull_tot = new ergo_real[n*n]; ergo_real* densityMatrixFull_spin = new ergo_real[n*n]; // Get full matrix versions of density matrices std::vector densityMatrixFull_a(n*n); std::vector densityMatrixFull_b(n*n); densityMatrix_alpha.readFromFile(); densityMatrix_beta.readFromFile(); S_symm.readFromFile(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Before spinflip: Tr( D_alpha * S ) = %22.11f", (double)symmMatrix::trace_ab(densityMatrix_alpha, S_symm)); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Before spinflip: Tr( D_beta * S ) = %22.11f", (double)symmMatrix::trace_ab(densityMatrix_beta , S_symm)); densityMatrix_alpha.fullMatrix(densityMatrixFull_a, matOpts.inversePermutationHML, matOpts.inversePermutationHML); densityMatrix_beta.fullMatrix(densityMatrixFull_b, matOpts.inversePermutationHML, matOpts.inversePermutationHML); for(int i = 0; i < n*n; i++) { densityMatrixFull_tot [i] = densityMatrixFull_a[i] + densityMatrixFull_b[i]; densityMatrixFull_spin[i] = densityMatrixFull_a[i] - densityMatrixFull_b[i]; } // Now modify spin density matrix for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) { // get atom index for basis funcs i and j int atomIndex_i = -1; int atomIndex_j = -1; for(int k = 0; k < molecule.getNoOfAtoms(); k++) { int iok = 1; int jok = 1; for(int coord = 0; coord < 3; coord++) { if(std::fabs(molecule.getAtom(k).coords[coord] - basisInfo.basisFuncList[i].centerCoords[coord]) > 1e-5) iok = 0; if(std::fabs(molecule.getAtom(k).coords[coord] - basisInfo.basisFuncList[j].centerCoords[coord]) > 1e-5) jok = 0; } if(iok == 1) atomIndex_i = k; if(jok == 1) atomIndex_j = k; } // END FOR k // Change spin density matrix element if both basis functions belong to a spin-flip atom. if(atomIndex_i < atomCount && atomIndex_j < atomCount) densityMatrixFull_spin[i*n+j] *= -1; } // END FOR i j // Now the spin density matrix has been modified. Recreate new alpha- and beta- density matrices. for(int i = 0; i < n*n; i++) { densityMatrixFull_a[i] = 0.5 * (densityMatrixFull_tot[i] + densityMatrixFull_spin[i]); densityMatrixFull_b[i] = 0.5 * (densityMatrixFull_tot[i] - densityMatrixFull_spin[i]); } densityMatrix_alpha.assignFromFull(densityMatrixFull_a, matOpts.permutationHML, matOpts.permutationHML); densityMatrix_beta.assignFromFull(densityMatrixFull_b, matOpts.permutationHML, matOpts.permutationHML); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "After spinflip: Tr( D_alpha * S ) = %22.11f", (double)symmMatrix::trace_ab(densityMatrix_alpha, S_symm)); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "After spinflip: Tr( D_beta * S ) = %22.11f", (double)symmMatrix::trace_ab(densityMatrix_beta , S_symm)); densityMatrix_alpha.writeToFile(); densityMatrix_beta.writeToFile(); S_symm.writeToFile(); delete [] densityMatrixFull_tot; delete [] densityMatrixFull_spin; } void SCF_unrestricted::output_csr_matrices_for_gao() { throw "error: SCF_unrestricted::output_csr_matrices_for_gao not implemented."; } void SCF_unrestricted::write_diag_dens_to_file() { int n = basisInfo.noOfBasisFuncs; densityMatrix_alpha.readFromFile(); write_diag_elements_to_file(n, densityMatrix_alpha, "diagdens_alpha.txt", matOpts.permutationHML); densityMatrix_alpha.writeToFile(); densityMatrix_beta.readFromFile(); write_diag_elements_to_file(n, densityMatrix_beta , "diagdens_beta.txt", matOpts.permutationHML); densityMatrix_beta.writeToFile(); } void SCF_unrestricted::save_full_matrices_for_matlab() { throw "error: SCF_unrestricted::save_full_matrices_for_matlab not implemented."; } void SCF_unrestricted::report_final_results() { ergo_real S2_exact, S2; get_S2(S2_exact, S2); do_output(LOG_CAT_RESULTS, LOG_AREA_SCF, "FINAL = %22.11f", (double)S2); } void SCF_unrestricted::get_S2(ergo_real & S2_exact, ergo_real & S2) { // FIXME: the stuff should work also if N_alpha < N_beta. if(noOfElectrons_alpha >= noOfElectrons_beta) { // Compute S_symm.readFromFile(); densityMatrix_alpha.readFromFile(); densityMatrix_beta.readFromFile(); normalMatrix B_alpha; B_alpha.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); B_alpha = (ergo_real)1.0 * densityMatrix_alpha * S_symm; normalMatrix B_beta; B_beta.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); B_beta = (ergo_real)1.0 * densityMatrix_beta * S_symm; ergo_real x = normalMatrix::trace_ab(B_alpha, B_beta); S2_exact = ( (ergo_real)(noOfElectrons_alpha - noOfElectrons_beta) / 2) * ( ( (ergo_real)(noOfElectrons_alpha - noOfElectrons_beta) / 2) + 1); S2 = S2_exact + noOfElectrons_beta - x; densityMatrix_alpha.writeToFile(); densityMatrix_beta.writeToFile(); S_symm.writeToFile(); } else { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "Error: computation not impl for na < nb"); S2_exact = 0; S2 = 0; } } void SCF_unrestricted::save_density_as_prevdens() { // alpha densityMatrix_alpha.readFromFile(); Dprev_alpha.readFromFile(); Dprev_alpha = densityMatrix_alpha; densityMatrix_alpha.writeToFile(); Dprev_alpha.writeToFile(); // beta densityMatrix_beta.readFromFile(); Dprev_beta.readFromFile(); Dprev_beta = densityMatrix_beta; densityMatrix_beta.writeToFile(); Dprev_beta.writeToFile(); } void SCF_unrestricted::report_density_difference() { // alpha densityMatrix_alpha.readFromFile(); Dprev_alpha.readFromFile(); symmMatrix diff_alpha(densityMatrix_alpha); diff_alpha += (ergo_real)-1.0 * Dprev_alpha; ergo_real diff_eucl_alpha = GetEuclideanNormOfMatrix(diff_alpha); densityMatrix_alpha.writeToFile(); Dprev_alpha.writeToFile(); // beta densityMatrix_beta.readFromFile(); Dprev_beta.readFromFile(); symmMatrix diff_beta(densityMatrix_beta); diff_beta += (ergo_real)-1.0 * Dprev_beta; ergo_real diff_eucl_beta = GetEuclideanNormOfMatrix(diff_beta); densityMatrix_beta.writeToFile(); Dprev_beta.writeToFile(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_unrestricted::report_density_difference, diff_eucl_alpha = %22.11f", (double)diff_eucl_alpha); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_unrestricted::report_density_difference, diff_eucl_beta = %22.11f", (double)diff_eucl_beta ); } void SCF_unrestricted::compute_dipole_moment() { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_unrestricted::compute_dipole_moment"); densityMatrix_alpha.readFromFile(); densityMatrix_beta.readFromFile(); symmMatrix densityMatrix_tot(densityMatrix_alpha); densityMatrix_tot += (ergo_real)1.0 * densityMatrix_beta; get_dipole_moment(densityMatrix_tot, basisInfo, matOpts.size_block_info, matOpts.permutationHML, molecule, LOG_AREA_SCF, "SCF"); densityMatrix_alpha.writeToFile(); densityMatrix_beta.writeToFile(); } void SCF_unrestricted::do_mulliken_pop_stuff() { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_unrestricted::do_mulliken_pop_stuff"); densityMatrix_alpha.readFromFile(); densityMatrix_beta.readFromFile(); S_symm.readFromFile(); symmMatrix densityMatrix_tot(densityMatrix_alpha); densityMatrix_tot += (ergo_real)1.0 * densityMatrix_beta; do_mulliken_atomic_charges(densityMatrix_tot, S_symm, basisInfo, matOpts.size_block_info, matOpts.permutationHML, matOpts.inversePermutationHML, molecule); densityMatrix_tot.clear(); /* This is to reduce memory usage. */ symmMatrix spinDensityMatrix(densityMatrix_alpha); spinDensityMatrix += (ergo_real)-1.0 * densityMatrix_beta; do_mulliken_spin_densities(spinDensityMatrix, S_symm, basisInfo, matOpts.size_block_info, matOpts.permutationHML, matOpts.inversePermutationHML, molecule); densityMatrix_alpha.writeToFile(); densityMatrix_beta.writeToFile(); S_symm.writeToFile(); } void SCF_unrestricted::create_mtx_files_F(int const scfIter) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Creating mtx files for Fock matrices"); { // alpha std::stringstream ss_fileName; ss_fileName << "F_matrix_alpha_" << scfIter; std::stringstream ss_id; ss_id << scfopts.calculation_identifier << " - effective Hamiltonian matrix (alpha), SCF cycle " << scfIter; FockMatrix_alpha.readFromFile(); write_matrix_in_matrix_market_format( FockMatrix_alpha, matOpts.inversePermutationHML, ss_fileName.str(), ss_id.str(), scfopts.method_and_basis_set ); FockMatrix_alpha.writeToFile(); } { // beta std::stringstream ss_fileName; ss_fileName << "F_matrix_beta_" << scfIter; std::stringstream ss_id; ss_id << scfopts.calculation_identifier << " - effective Hamiltonian matrix (beta), SCF cycle " << scfIter; FockMatrix_beta.readFromFile(); write_matrix_in_matrix_market_format( FockMatrix_beta, matOpts.inversePermutationHML, ss_fileName.str(), ss_id.str(), scfopts.method_and_basis_set ); FockMatrix_beta.writeToFile(); } } void SCF_unrestricted::create_mtx_files_D(int const scfIter) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Creating mtx files for density matrices"); { // alpha std::stringstream ss_fileName; ss_fileName << "D_matrix_alpha_" << scfIter; std::stringstream ss_id; ss_id << scfopts.calculation_identifier << " - density matrix (alpha), SCF cycle " << scfIter; densityMatrix_alpha.readFromFile(); write_matrix_in_matrix_market_format( densityMatrix_alpha, matOpts.inversePermutationHML, ss_fileName.str(), ss_id.str(), scfopts.method_and_basis_set ); densityMatrix_alpha.writeToFile(); } { // beta std::stringstream ss_fileName; ss_fileName << "D_matrix_beta_" << scfIter; std::stringstream ss_id; ss_id << scfopts.calculation_identifier << " - density matrix (beta), SCF cycle " << scfIter; densityMatrix_beta.readFromFile(); write_matrix_in_matrix_market_format( densityMatrix_beta, matOpts.inversePermutationHML, ss_fileName.str(), ss_id.str(), scfopts.method_and_basis_set ); densityMatrix_beta.writeToFile(); } } // void SCF_unrestricted::create_homo_eigvec_file() const // { // // ALPHA // if (eigVecHOMO_alpha.is_empty()) { // do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "Failed to output HOMO (alpha) eigenvector to file. No HOMO (alpha) eigenvector stored."); // } // else{ // do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Storing HOMO (alpha) eigenvector to file homo_coefficient_vec_alpha.txt."); // int n = basisInfo.noOfBasisFuncs; // std::vector homo_vec_perm(n); // eigVecHOMO_alpha.fullvector(homo_vec_perm); // // now we have the permuted vector // std::vector homo_vec(n); // for (int ind = 0; ind < n; ind++) // homo_vec[ind] = homo_vec_perm[matOpts.inversePermutationHML[ind]]; // char ffname[888]; // sprintf(ffname, "homo_coefficient_vec_alpha.txt"); // std::ofstream ff(ffname); // for (int ind = 0; ind < n; ind++) // ff << homo_vec[ind] << std::endl; // ff.close(); // } // // BETA // if (eigVecHOMO_beta.is_empty()) { // do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "Failed to output HOMO (beta) eigenvector to file. No HOMO (beta) eigenvector stored."); // } // else{ // do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Storing HOMO (beta) eigenvector to file homo_coefficient_vec_beta.txt."); // int n = basisInfo.noOfBasisFuncs; // std::vector homo_vec_perm(n); // eigVecHOMO_beta.fullvector(homo_vec_perm); // // now we have the permuted vector // std::vector homo_vec(n); // for (int ind = 0; ind < n; ind++) // homo_vec[ind] = homo_vec_perm[matOpts.inversePermutationHML[ind]]; // char ffname[888]; // sprintf(ffname, "homo_coefficient_vec_beta.txt"); // std::ofstream ff(ffname); // for (int ind = 0; ind < n; ind++) // ff << homo_vec[ind] << std::endl; // ff.close(); // } // } // void SCF_unrestricted::create_lumo_eigvec_file() const // { // if (eigVecLUMO_alpha.is_empty()) { // do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "Failed to output LUMO (alpha) eigenvector to file. No LUMO (alpha) eigenvector stored."); // } // else{ // do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Storing LUMO (alpha) eigenvector to file lumo_coefficient_vec_alpha.txt."); // int n = basisInfo.noOfBasisFuncs; // std::vector lumo_vec_perm(n); // eigVecLUMO_alpha.fullvector(lumo_vec_perm); // // now we have the permuted vector // std::vector lumo_vec(n); // for (int ind = 0; ind < n; ind++) // lumo_vec[ind] = lumo_vec_perm[matOpts.inversePermutationHML[ind]]; // char ffname[888]; // sprintf(ffname, "lumo_coefficient_vec_alpha.txt"); // std::ofstream ff(ffname); // for (int ind = 0; ind < n; ind++) // ff << lumo_vec[ind] << std::endl; // ff.close(); // } // if (eigVecLUMO_beta.is_empty()) { // do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "Failed to output LUMO (beta) eigenvector to file. No LUMO (beta) eigenvector stored."); // } // else{ // do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Storing LUMO (beta) eigenvector to file lumo_coefficient_vec_beta.txt."); // int n = basisInfo.noOfBasisFuncs; // std::vector lumo_vec_perm(n); // eigVecLUMO_beta.fullvector(lumo_vec_perm); // // now we have the permuted vector // std::vector lumo_vec(n); // for (int ind = 0; ind < n; ind++) // lumo_vec[ind] = lumo_vec_perm[matOpts.inversePermutationHML[ind]]; // char ffname[888]; // sprintf(ffname, "lumo_coefficient_vec_beta.txt"); // std::ofstream ff(ffname); // for (int ind = 0; ind < n; ind++) // ff << lumo_vec[ind] << std::endl; // ff.close(); // } // } void SCF_unrestricted::create_eigenvectors_files() const { create_eigvec_file(eigVecHOMO_alpha, eigVecHOMO_beta, "HOMO", "homo_coefficient_vec"); create_eigvec_file(eigVecLUMO_alpha, eigVecLUMO_beta, "LUMO", "lumo_coefficient_vec"); create_eigvec_file(eigVecHOMO2_alpha, eigVecHOMO2_beta, "HOMO2", "homo2_coefficient_vec"); create_eigvec_file(eigVecLUMO2_alpha, eigVecLUMO2_beta, "LUMO2", "lumo2_coefficient_vec"); } void SCF_unrestricted::create_eigvec_file(const generalVector &eigVec_alpha, const generalVector &eigVec_beta, const char *vector_name, const char *filename_id) const { if (eigVec_alpha.is_empty()) { do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "Failed to output %s (alpha) eigenvector to file. " "No %s (alpha) eigenvector stored.", vector_name, vector_name); } else{ do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Storing %s (alpha) eigenvector to file " "%s.", vector_name, filename_id); int n = basisInfo.noOfBasisFuncs; std::vector vec_perm(n); eigVec_alpha.fullvector(vec_perm); // now we have the permuted vector std::vector vec(n); for (int ind = 0; ind < n; ind++) vec[ind] = vec_perm[matOpts.inversePermutationHML[ind]]; char ffname[888]; sprintf(ffname, "%s_alpha.txt", filename_id); std::ofstream ff(ffname); for (int ind = 0; ind < n; ind++) ff << vec[ind] << std::endl; ff.close(); } if (eigVec_beta.is_empty()) { do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "Failed to output %s (beta) eigenvector to file. " "No %s (beta) eigenvector stored.", vector_name, vector_name); } else{ do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Storing %s (beta) eigenvector to file " "%s.", vector_name, filename_id); int n = basisInfo.noOfBasisFuncs; std::vector vec_perm(n); eigVec_beta.fullvector(vec_perm); // now we have the permuted vector std::vector vec(n); for (int ind = 0; ind < n; ind++) vec[ind] = vec_perm[matOpts.inversePermutationHML[ind]]; char ffname[888]; sprintf(ffname, "%s_beta.txt", filename_id); std::ofstream ff(ffname); for (int ind = 0; ind < n; ind++) ff << vec[ind] << std::endl; ff.close(); } } static void output_orbital_coeffs_in_gabedit_order(const BasisInfoStruct & basisInfo, std::vector const & shellIdxList, std::ofstream & ff, std::vector const & orbital_vec) { int count = 0; for(int i = 0; i < basisInfo.noOfShells; i++) { int k = shellIdxList[i]; int startIdx = basisInfo.shellList[k].startIndexInMatrix; switch(basisInfo.shellList[k].shellType) { case 0: // s-type shell ff << count+1 << " " << orbital_vec[startIdx] << std::endl; count++; break; case 1: // p-type shell ff << count+1 << " " << orbital_vec[startIdx+2] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+0] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+1] << std::endl; count++; break; case 2: // d-type shell ff << count+1 << " " << orbital_vec[startIdx+2] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+3] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+1] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+4] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+0] << std::endl; count++; break; case 3: // f-type shell ff << count+1 << " " << orbital_vec[startIdx+3] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+4] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+2] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+5] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+1] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+6] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+0] << std::endl; count++; break; case 4: // g-type shell ff << count+1 << " " << orbital_vec[startIdx+4] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+5] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+3] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+6] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+2] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+7] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+1] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+8] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+0] << std::endl; count++; break; default: throw "error in output_orbital_coeffs_in_gabedit_order: shell types beyond g not implemented!"; } } if(count != basisInfo.noOfBasisFuncs) throw "error in output_orbital_coeffs_in_gabedit_order: (count != basisInfo.noOfBasisFuncs)"; } void SCF_unrestricted::create_gabedit_file() const { if (eigVecHOMO_alpha.is_empty() || eigVecLUMO_alpha.is_empty() || eigVecHOMO_beta.is_empty() || eigVecLUMO_beta.is_empty()) { do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "Failed to output HOMO/LUMO eigenvectors to gabedit file; no HOMO/LUMO info available."); return; } if(basisInfo.use_6_d_funcs == 1) { do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "Failed to output HOMO/LUMO eigenvectors to gabedit file; not implemented for use_6_d_funcs case."); return; } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Creating Gabedit file with HOMO/LUMO eigenvector info."); int n = basisInfo.noOfBasisFuncs; // ALPHA // Get HOMO // now we have the permuted vector std::vector homo_vec_alpha(n); { std::vector homo_vec_perm(n); eigVecHOMO_alpha.fullvector(homo_vec_perm); for (int ind = 0; ind < n; ind++) homo_vec_alpha[ind] = homo_vec_perm[matOpts.permutationHML[ind]]; //homo_vec_alpha[ind] = homo_vec_perm[matOpts.inversePermutationHML[ind]]; } // Get LUMO // now we have the permuted vector std::vector lumo_vec_alpha(n); { std::vector lumo_vec_perm(n); eigVecLUMO_alpha.fullvector(lumo_vec_perm); for (int ind = 0; ind < n; ind++) lumo_vec_alpha[ind] = lumo_vec_perm[matOpts.permutationHML[ind]]; //lumo_vec_alpha[ind] = lumo_vec_perm[matOpts.inversePermutationHML[ind]]; } // BETA // Get HOMO // now we have the permuted vector std::vector homo_vec_beta(n); { std::vector homo_vec_perm(n); eigVecHOMO_beta.fullvector(homo_vec_perm); for (int ind = 0; ind < n; ind++) homo_vec_beta[ind] = homo_vec_perm[matOpts.permutationHML[ind]]; //homo_vec_beta[ind] = homo_vec_perm[matOpts.inversePermutationHML[ind]]; } // Get LUMO // now we have the permuted vector std::vector lumo_vec_beta(n); { std::vector lumo_vec_perm(n); eigVecLUMO_beta.fullvector(lumo_vec_perm); for (int ind = 0; ind < n; ind++) lumo_vec_beta[ind] = lumo_vec_perm[matOpts.permutationHML[ind]]; //lumo_vec_beta[ind] = lumo_vec_perm[matOpts.inversePermutationHML[ind]]; } // Create Gabedit file. const char fileName [] = "gabeditfile.gab"; std::ofstream ff(fileName); /* FIXME: check if we should use "Cart" or "Sphe" here. That is, should we use use_6_d_funcs? */ int use_6_d_funcs = 0; ff << "[Gabedit Format] Sphe" << std::endl; ff << "[Atoms] Angs" << std::endl; for(int i = 0; i < molecule.getNoOfAtoms(); i++) { char atomLabelString[4]; get_atom_label_from_charge_int(molecule.getAtom(i).charge, atomLabelString, 4); ff << atomLabelString << " " << i+1 << " " << molecule.getAtom(i).charge << " " << molecule.getAtom(i).coords[0] / UNIT_one_Angstrom << " " << molecule.getAtom(i).coords[1] / UNIT_one_Angstrom << " " << molecule.getAtom(i).coords[2] / UNIT_one_Angstrom << std::endl; } std::vector shellIdxList(basisInfo.noOfShells); int shellIdxCounter = 0; SquareFuncIntegrator sfi; ff << "[Basis]" << std::endl; for(int i = 0; i < molecule.getNoOfAtoms(); i++) { ff << i+1 << " 0" << std::endl; // Now output info about shells for this atom. for(int k = 0; k < basisInfo.noOfShells; k++) { // Check if this shell belongs to the current atom. ergo_real absdx = std::abs(basisInfo.shellList[k].centerCoords[0] - molecule.getAtom(i).coords[0]); ergo_real absdy = std::abs(basisInfo.shellList[k].centerCoords[1] - molecule.getAtom(i).coords[1]); ergo_real absdz = std::abs(basisInfo.shellList[k].centerCoords[2] - molecule.getAtom(i).coords[2]); ergo_real distlimit = 0.01; if(absdx > distlimit || absdy > distlimit || absdz > distlimit) continue; // OK, now we know this shell is at least very near the current atom. shellIdxList[shellIdxCounter] = k; shellIdxCounter++; char shellChar = 'x'; int shellType = basisInfo.shellList[k].shellType; switch(shellType) { case 0: shellChar = 's'; break; case 1: shellChar = 'p'; break; case 2: shellChar = 'd'; break; case 3: shellChar = 'f'; break; case 4: shellChar = 'g'; break; default: throw "SCF_restricted::create_gabedit_file error: shell types beyond g not implemented!"; } ff << shellChar << " " << basisInfo.shellList[k].noOfContr << " 1.00" << std::endl; for(int contridx = 0; contridx < basisInfo.shellList[k].noOfContr; contridx++) { ergo_real exponent = basisInfo.shellList[k].exponentList[contridx]; ergo_real shellFactor = sfi.getShellFactor(integralInfo, exponent, shellType, use_6_d_funcs); ergo_real coeff = basisInfo.shellList[k].coeffList[contridx] / shellFactor; ff << exponent << " " << coeff << std::endl; } } // Blank line before shells for next atom. ff << std::endl; } if(shellIdxCounter != basisInfo.noOfShells) throw "Error: (shellIdxCounter != basisInfo.noOfShells)"; // MO section. ff << "[MO]" << std::endl; // ALPHA // HOMO ff << "Spin=Alpha" << std::endl; ff << "Occup= 1.000000" << std::endl; output_orbital_coeffs_in_gabedit_order(basisInfo, shellIdxList, ff, homo_vec_alpha); // LUMO ff << "Spin=Alpha" << std::endl; ff << "Occup= 0.000000" << std::endl; output_orbital_coeffs_in_gabedit_order(basisInfo, shellIdxList, ff, lumo_vec_alpha); // BETA // HOMO ff << "Spin=Beta" << std::endl; ff << "Occup= 1.000000" << std::endl; output_orbital_coeffs_in_gabedit_order(basisInfo, shellIdxList, ff, homo_vec_beta); // LUMO ff << "Spin=Beta" << std::endl; ff << "Occup= 0.000000" << std::endl; output_orbital_coeffs_in_gabedit_order(basisInfo, shellIdxList, ff, lumo_vec_beta); // Blank line before end of file. ff << std::endl; // Close file. ff.close(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Gabedit file '%s' with HOMO/LUMO eigenvector info created OK.", fileName); } void SCF_unrestricted::create_gabedit_file_2() const { throw "Error: SCF_unrestricted::create_gabedit_file_2() not implemented"; } void SCF_unrestricted::update_subspace_diff() { throw "Error: SCF_unrestricted::update_subspace_diff() not implemented"; } void SCF_unrestricted::disturb_fock_matrix(ergo_real subspaceError) { throw "SCF_unrestricted::disturb_fock_matrix() not implemented"; } void SCF_unrestricted::disturb_dens_matrix(ergo_real subspaceError) { throw "SCF_unrestricted::disturb_dens_matrix() not implemented"; } void SCF_unrestricted::disturb_dens_matrix_exact(ergo_real subspaceError) { throw "SCF_unrestricted::disturb_dens_matrix_exact() not implemented"; } void SCF_unrestricted::compute_gradient_fixeddens() { throw "SCF_unrestricted::compute_gradient_fixeddens() not implemented"; } ergo-3.5/source/scf/diis_restricted.h0000664000175000017500000000305512743400307014647 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef DIIS_RESTRICTED_HEADER #define DIIS_RESTRICTED_HEADER #include "diis_general.h" class DIISManagerRestricted : public DIISManager { public: DIISManagerRestricted(); ~DIISManagerRestricted(); int AddIterationToList(symmMatrix & F, normalMatrix & E); int ClearList(); int GetCombinedFockMatrix(symmMatrix & result); }; #endif ergo-3.5/source/scf/SCF_statistics.cc0000664000175000017500000001150412743400307014510 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include "SCF_statistics.h" SCF_timer::SCF_timer() : stopped_already(false) { startTimeWall = Util::TimeMeter::get_wall_seconds(); Util::TimeMeter::get_current_cpu_times(startTimeCPU_usr, startTimeCPU_sys); } void SCF_timer::stop() { if (stopped_already) throw std::runtime_error("Attempt to stop timer already stopped."); elapsedTimeWall = Util::TimeMeter::get_wall_seconds() - startTimeWall; double stopTimeCPU_sys, stopTimeCPU_usr; Util::TimeMeter::get_current_cpu_times(stopTimeCPU_usr, stopTimeCPU_sys); elapsedTimeCPU_sys = stopTimeCPU_sys - startTimeCPU_sys; elapsedTimeCPU_usr = stopTimeCPU_usr - startTimeCPU_usr; stopped_already = true; } void SCF_statistics::start_timer(std::string identifier) { timers[identifier] = SCF_timer(); } void SCF_statistics::stop_timer(std::string identifier) { if ( timers.find(identifier) == timers.end() ) throw std::runtime_error("Attempt to stop timer not in timer map."); timers[identifier].stop(); } void SCF_statistics::add_value(std::string identifier, double value) { if ( values.find(identifier) != values.end() ) throw std::runtime_error("Attempt to add value already in value map."); values[identifier] = value; } void SCF_statistics::add_values( ValueMap & values_to_add) { ValueMap::const_iterator it; for ( it=values_to_add.begin() ; it != values_to_add.end(); it++ ) values[it->first] = it->second; } void SCF_statistics::output_mfile(std::string name) { std::string m_name = name + ".m"; std::ofstream os(m_name.c_str()); // First output the names of all variables as one big comment os << "%% SCF_statistics, list of all variables " << std::endl; { os << "%% Timers: " << std::endl; TimerMap::const_iterator it; for ( it=timers.begin() ; it != timers.end(); it++ ) { std::string s = (*it).first; std::string s_wall = s + "_walltime"; std::string s_cpu_sys = s + "_cpu_sys"; std::string s_cpu_usr = s + "_cpu_usr"; os << "% " << s_wall << std::endl; os << "% " << s_cpu_sys << std::endl; os << "% " << s_cpu_usr << std::endl; } } { os << "%% Other values: " << std::endl; ValueMap::const_iterator it; for ( it=values.begin() ; it != values.end(); it++ ) { std::string s = (*it).first; os << "% " << s << std::endl; } } os << "%" << std::endl << std::endl; // Now output the values os << "%% SCF_statistics timers " << std::endl; { TimerMap::const_iterator it; for ( it=timers.begin() ; it != timers.end(); it++ ) { std::string s = (*it).first; std::string s_wall = s + "_walltime"; std::string s_cpu_sys = s + "_cpu_sys"; std::string s_cpu_usr = s + "_cpu_usr"; double time_cpu_sys = (*it).second.elapsedTimeCPU_sys; double time_cpu_usr = (*it).second.elapsedTimeCPU_usr; double time_wall = (*it).second.elapsedTimeWall; output_value( os, s_wall , time_wall ); output_value( os, s_cpu_sys, time_cpu_sys ); output_value( os, s_cpu_usr, time_cpu_usr ); } } os << "%% SCF_statistics other values " << std::endl; { ValueMap::const_iterator it; for ( it=values.begin() ; it != values.end(); it++ ) { std::string s = (*it).first; double value = (*it).second; output_value( os, s, value ); } } } void SCF_statistics::output_value( std::ofstream & os, std::string id, double value ) { os << "if ( ~exist( '" << id << "' ) )" << std::endl; os << " " << id << " = [];" << std::endl; os << "end" << std::endl; os << id << " = [" << id << " " << value << "];" << std::endl; } ergo-3.5/source/scf/diis_general.cc0000664000175000017500000000616012743400307014252 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include "diis_general.h" #include "utilities.h" #include "output.h" #include "memorymanag.h" DIISManager::DIISManager() { MaxNoOfIters = 0; IterCount = 0; B = NULL; for(int i = 0; i < 2; i++) { F_list[i] = NULL; E_list[i] = NULL; } } DIISManager::~DIISManager() { for(int i = 0; i < 2; i++) { if(F_list[i]) delete []F_list[i]; if(E_list[i]) delete []E_list[i]; } if(B) delete []B; } int DIISManager::GetNoOfIters() { return IterCount; } typedef symmMatrix* symmMatrixPtr; typedef normalMatrix* normalMatrixPtr; int DIISManager::Initialize(int noOfIters) { if(noOfIters <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in DIISManager::Initialize: noOfIters = %i", noOfIters); return -1; } MaxNoOfIters = noOfIters; if(noOfIters <= 0) return -1; B = new ergo_real[(MaxNoOfIters+1)*(MaxNoOfIters+1)]; // Initially, B is a 1*1 matrix, whose only matrix element should be zero. B[0] = 0; // Set up lists of matrix pointers for(int i = 0; i < 2; i++) { F_list[i] = new symmMatrixPtr[noOfIters]; E_list[i] = new normalMatrixPtr[noOfIters]; int j; for(j = 0; j < noOfIters; j++) { F_list[i][j] = NULL; E_list[i][j] = NULL; } } return 0; } ergo_real DIISManager::DoScalarProductOfErrorMatrices(const normalMatrix & E1, const normalMatrix & E2) { return normalMatrix::trace_ab(E1, E2); } int DIISManager::RemoveOldestIteration() { int dimB = IterCount + 1; int dimBnew = IterCount; ergo_real* Bnew = new ergo_real[dimBnew*dimBnew]; int i, j; for(i = 0; i < dimBnew; i++) for(j = 0; j < dimBnew; j++) { if(i == 0 || j == 0) Bnew[i*dimBnew+j] = B[i*dimB+j]; else Bnew[i*dimBnew+j] = B[(i+1)*dimB+(j+1)]; } memcpy(B, Bnew, dimBnew*dimBnew*sizeof(ergo_real)); delete [] Bnew; IterCount--; return 0; /* success */ } ergo-3.5/source/scf/diis_general.h0000664000175000017500000000336412743400307014117 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef DIIS_GENERAL_HEADER #define DIIS_GENERAL_HEADER #include "matrix_typedefs.h" #include "realtype.h" class DIISManager { public: int Initialize(int noOfIters); int GetNoOfIters(); private: protected: DIISManager(); virtual ~DIISManager(); ergo_real DoScalarProductOfErrorMatrices(const normalMatrix & E1, const normalMatrix & E2); symmMatrix** F_list[2]; normalMatrix** E_list[2]; int RemoveOldestIteration(); int MaxNoOfIters; int MatrixDimension; int IterCount; ergo_real* B; }; #endif ergo-3.5/source/scf/diis_restricted.cc0000664000175000017500000001220712743400307015004 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include "diis_restricted.h" #include "output.h" #include "solve_lin_eq_syst.h" #include "utilities.h" DIISManagerRestricted::DIISManagerRestricted() : DIISManager() { } DIISManagerRestricted::~DIISManagerRestricted() { ClearList(); } int DIISManagerRestricted::AddIterationToList(symmMatrix & F, normalMatrix & E) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "entering DIISManagerRestricted::AddIterationToList, IterCount = %2i", IterCount); Util::TimeMeter timeMeter; if(IterCount > MaxNoOfIters) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error:(IterCount > MaxNoOfIters)"); return -1; } // check if the list is full if(IterCount == MaxNoOfIters) { // remove oldest iteration delete F_list[0][0]; F_list[0][0] = NULL; delete E_list[0][0]; E_list[0][0] = NULL; int i; for(i = 0; i < IterCount-1; i++) { F_list[0][i] = F_list[0][i+1]; F_list[0][i+1] = NULL; E_list[0][i] = E_list[0][i+1]; E_list[0][i+1] = NULL; } RemoveOldestIteration(); /* note that this changes the value of IterCount */ } F_list[0][IterCount] = new symmMatrix(F); F_list[0][IterCount]->writeToFile(); E_list[0][IterCount] = new normalMatrix(E); E_list[0][IterCount]->writeToFile(); // Create new B matrix int dimB = IterCount + 1; int dimBnew = IterCount + 2; ergo_real* Bnew = new ergo_real[dimBnew*dimBnew]; memset(Bnew, 0, dimBnew*dimBnew*sizeof(ergo_real)); int i, j; for(i = 0; i < dimB; i++) for(j = 0; j < dimB; j++) Bnew[i*dimBnew+j] = B[i*dimB+j]; // Set two matrix elements to -1 Bnew[0*dimBnew+dimBnew-1] = -1; Bnew[(dimBnew-1)*dimBnew+0] = -1; // Now it remains to complete B with scalar products of error matrices for(i = 0; i < IterCount; i++) { // compute dot product of error matrix i and E E_list[0][i]->readFromFile(); ergo_real scalarProd = DoScalarProductOfErrorMatrices(E, *E_list[0][i]); E_list[0][i]->writeToFile(); Bnew[(dimBnew-1)*dimBnew+(1+i)] = scalarProd; Bnew[(1+i)*dimBnew+(dimBnew-1)] = scalarProd; } // Do scalar product of the new E with itself Bnew[(dimBnew-1)*dimBnew+(dimBnew-1)] = DoScalarProductOfErrorMatrices(E, E); // Copy Bnew to B memcpy(B, Bnew, dimBnew*dimBnew*sizeof(ergo_real)); delete [] Bnew; IterCount++; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "DIISManagerRestricted::AddIterationToList ending OK."); timeMeter.print(LOG_AREA_SCF, "DIISManagerRestricted::AddIterationToList"); return 0; } int DIISManagerRestricted::ClearList() { int i; for(i = 0; i < IterCount; i++) { delete F_list[0][i]; F_list[0][i] = NULL; delete E_list[0][i]; E_list[0][i] = NULL; } IterCount = 0; return 0; } int DIISManagerRestricted::GetCombinedFockMatrix(symmMatrix & result) { if(IterCount <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in DIISManagerRestricted::GetCombinedFockMatrix: (IterCount <= 0)"); return -1; } int dimB = IterCount + 1; ergo_real* RHS = new ergo_real[dimB]; ergo_real* cVector = new ergo_real[dimB]; // Construct vector RHS RHS[0] = -1; int i; for(i = 0; i < IterCount; i++) RHS[i+1] = 0; // Solve equation system B*x = HL if(solve_linear_equation_system(dimB, B, RHS, cVector) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in solve_linear_equation_system"); return -1; } #if 0 printf("cVector:\n"); for(i = 0; i < dimB; i++) printf("%22.11f\n", (double)cVector[i]); #endif // Create linear combination of Fock matrices using coefficients from cVector. F_list[0][0]->readFromFile(); result = *F_list[0][0]; F_list[0][0]->writeToFile(); result *= cVector[1]; for(i = 1; i < IterCount; i++) { F_list[0][i]->readFromFile(); result += cVector[1+i] * (*F_list[0][i]); F_list[0][i]->writeToFile(); } // END FOR i delete [] RHS; delete [] cVector; return 0; } ergo-3.5/source/scf/scf.cc0000664000175000017500000000672712743400307012411 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include "scf.h" #include "basisinfo.h" #include "molecule.h" #include "output.h" #include "utilities.h" #include "matrix_utilities.h" #include "AllocatorManager.h" void SCF::MatOptions::prepare(const BasisInfoStruct& basisInfo) { int bufferSize = sparse_matrix_block_size * sparse_matrix_block_size; mat::AllocatorManager::instance().init(bufferSize, no_of_buffers_per_allocator); size_block_info = prepareMatrixSizesAndBlocks(basisInfo.noOfBasisFuncs, sparse_matrix_block_size, sparse_matrix_block_factor_1, sparse_matrix_block_factor_2, sparse_matrix_block_factor_3); getMatrixPermutation(basisInfo, sparse_matrix_block_size, sparse_matrix_block_factor_1, sparse_matrix_block_factor_2, sparse_matrix_block_factor_3, permutationHML, inversePermutationHML); static const char *matOptionsInvalidInput = "MatOptions: invalid number of OpenMP threads"; /* Set number of threads to use in matrix library. */ #ifdef _OPENMP if (threads < 1) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Error: Number of threads for matrix library less than one."); throw matOptionsInvalidInput; } if (parallelLevel < 1) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Error: Parallel level for matrix library less than one."); throw matOptionsInvalidInput; } mat::Params::setNProcs((unsigned int)threads); mat::Params::setMatrixParallelLevel((unsigned int)parallelLevel); do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "OpenMP used in matrix library. Number of threads set to %i.", mat::Params::getNProcs()); do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "OpenMP used in matrix library. Parallel level set to %i.", mat::Params::getMatrixParallelLevel()); #else if (threads != 1) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Error: Number of threads for matrix library is set to %i. " "Only one thread can be used when openmp is not used.", threads); throw matOptionsInvalidInput; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "OpenMP not used in matrix library. Number of threads set to 1."); #endif } ergo-3.5/source/scf/SCF_restricted.h0000664000175000017500000001200412743400307014324 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef SCF_RESTRICTED_HEADER #define SCF_RESTRICTED_HEADER #include "SCF_general.h" #include "GetDensFromFock.h" class SCF_restricted : public SCF_general { public: // Constructor SCF_restricted(const Molecule& molecule_, const Molecule& extraCharges_, const BasisInfoStruct & basisInfo_, const BasisInfoStruct & basisInfoDensFit_, const IntegralInfo& integralInfo_, const char* guessDmatFileNamePtr, const JK::Params& J_K_paramsPtr, const Dft::GridParams& gridParams_, const SCF::Options& scfopts, const SCF::MatOptions& matOpts, ergo_real threshold_integrals_1el_input); // Destructor ~SCF_restricted(); void get_Fock_matrix(symmMatrix & FockMatrix_); void get_density_matrix(symmMatrix & densityMatrix_); private: void initialize_matrices(); void check_params(); void get_starting_guess_density(); void initialize_homo_lumo_limits(); void write_matrices_to_file(); void get_2e_part_and_energy(); void output_sparsity_S_F_D(SCF_statistics & stats); void calculate_energy(); void get_FDSminusSDF(); void get_error_measure(); void add_to_DIIS_list(); void update_best_fock_so_far(); void combine_old_fock_matrices(ergo_real stepLength); void use_diis_to_get_new_fock_matrix(); void clear_diis_list(); void clear_error_matrices(); void save_current_fock_as_fprev(); void get_new_density_matrix(); void write_density_to_file(); void save_final_potential(); void add_random_disturbance_to_starting_guess(); void output_density_images(); void prepare_stochastic_orbitals(); void output_csr_matrices_for_gao(); void write_diag_dens_to_file(); void report_final_results(); void save_density_as_prevdens(); void update_subspace_diff(); void disturb_fock_matrix(ergo_real subspaceError); void disturb_dens_matrix(ergo_real subspaceError); void do_spin_flip(int atomCount); void disturb_dens_matrix_exact(ergo_real subspaceError); void save_full_matrices_for_matlab(); void report_density_difference(); void create_mtx_files_F(int const scfIter); void create_mtx_files_D(int const scfIter); void create_homo_eigvec_file() const; void create_lumo_eigvec_file() const; void create_eigenvectors_files() const; void create_eigvec_file(const generalVector &eigVec, const char *vector_name, const char *filename_id) const; void create_gabedit_file() const; void compute_dipole_moment(); void do_mulliken_pop_stuff(); void compute_gradient_fixeddens(); void get_non_ort_err_mat_normalized_in_ort_basis(symmMatrix & randomMatrix, int transform_with_S_also); void transform_with_S(symmMatrix & A); void transform_with_invChol(symmMatrix & A); void disturb_dens_matrix_exact_try(const symmMatrix & randomMatrix, const symmMatrix & orgDensMatrix, ergo_real disturbanceFactor, ergo_real & resultSinTheta, symmMatrix & resultDensMatrix); symmMatrix densityMatrix; symmMatrix densityMatrix_core; symmMatrix twoel_matrix_core; symmMatrix FockMatrix; symmMatrix Fprev; symmMatrix Dprev; symmMatrix F_ort_prev; // Used by purification symmMatrix D_ort_prev; // Used for computing eigenvectors symmMatrix bestFockMatrixSoFar; symmMatrix bestFockMatrixSoFar2; normalMatrix ErrorMatrix; // The following three matrices are only used when doing sparsity investigation, otherwise they are empty symmMatrix J_matrix; symmMatrix K_matrix; symmMatrix Fxc_matrix; generalVector eigVecLUMO; generalVector eigVecHOMO; generalVector eigVecLUMO2; generalVector eigVecHOMO2; intervalType homoInterval_F_ort_prev; intervalType lumoInterval_F_ort_prev; intervalType homo2Interval_F_ort_prev; intervalType lumo2Interval_F_ort_prev; intervalType homoInterval_Fprev; intervalType lumoInterval_Fprev; std::vector< std::vector > stochastic_orbitals; }; #endif ergo-3.5/source/scf/diis_unrestricted.cc0000664000175000017500000001464012743400307015352 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include "diis_unrestricted.h" #include "output.h" #include "solve_lin_eq_syst.h" #include "utilities.h" DIISManagerUnrestricted::DIISManagerUnrestricted() : DIISManager() { } DIISManagerUnrestricted::~DIISManagerUnrestricted() { ClearList(); } int DIISManagerUnrestricted::AddIterationToList(symmMatrix & F_alpha, symmMatrix & F_beta, normalMatrix & E_alpha, normalMatrix & E_beta) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "entering DIISManagerUnrestricted::AddIterationToList, IterCount = %2i", IterCount); Util::TimeMeter timeMeter; if(IterCount > MaxNoOfIters) throw std::runtime_error("Error in DIISManagerUnrestricted::AddIterationToList: (IterCount > MaxNoOfIters)."); // check if the list is full if(IterCount == MaxNoOfIters) { // remove oldest iteration delete F_list[0][0]; F_list[0][0] = NULL; delete E_list[0][0]; E_list[0][0] = NULL; delete F_list[1][0]; F_list[1][0] = NULL; delete E_list[1][0]; E_list[1][0] = NULL; for(int i = 0; i < IterCount-1; i++) { F_list[0][i] = F_list[0][i+1]; F_list[0][i+1] = NULL; E_list[0][i] = E_list[0][i+1]; E_list[0][i+1] = NULL; F_list[1][i] = F_list[1][i+1]; F_list[1][i+1] = NULL; E_list[1][i] = E_list[1][i+1]; E_list[1][i+1] = NULL; } RemoveOldestIteration(); /* note that this changes the value of IterCount */ } F_list[0][IterCount] = new symmMatrix(F_alpha); F_list[0][IterCount]->writeToFile(); E_list[0][IterCount] = new normalMatrix(E_alpha); E_list[0][IterCount]->writeToFile(); F_list[1][IterCount] = new symmMatrix(F_beta); F_list[1][IterCount]->writeToFile(); E_list[1][IterCount] = new normalMatrix(E_beta); E_list[1][IterCount]->writeToFile(); // Create new B matrix int dimB = IterCount + 1; int dimBnew = IterCount + 2; ergo_real* Bnew = new ergo_real[dimBnew*dimBnew]; memset(Bnew, 0, dimBnew*dimBnew*sizeof(ergo_real)); for(int i = 0; i < dimB; i++) for(int j = 0; j < dimB; j++) Bnew[i*dimBnew+j] = B[i*dimB+j]; // Set two matrix elements to -1 Bnew[0*dimBnew+dimBnew-1] = -1; Bnew[(dimBnew-1)*dimBnew+0] = -1; // Now it remains to complete B with scalar products of error matrices for(int i = 0; i < IterCount; i++) { // compute dot product of error matrix i and E // alpha E_list[0][i]->readFromFile(); ergo_real scalarProd_alpha = DoScalarProductOfErrorMatrices(E_alpha, *E_list[0][i]); E_list[0][i]->writeToFile(); // beta E_list[1][i]->readFromFile(); ergo_real scalarProd_beta = DoScalarProductOfErrorMatrices(E_beta, *E_list[1][i]); E_list[1][i]->writeToFile(); ergo_real scalarProd = scalarProd_alpha + scalarProd_beta; Bnew[(dimBnew-1)*dimBnew+(1+i)] = scalarProd; Bnew[(1+i)*dimBnew+(dimBnew-1)] = scalarProd; } // Do scalar products of the new E's with themselves ergo_real scalarProd_alpha = DoScalarProductOfErrorMatrices(E_alpha, E_alpha); ergo_real scalarProd_beta = DoScalarProductOfErrorMatrices(E_beta , E_beta ); Bnew[(dimBnew-1)*dimBnew+(dimBnew-1)] = scalarProd_alpha + scalarProd_beta; // Copy Bnew to B memcpy(B, Bnew, dimBnew*dimBnew*sizeof(ergo_real)); delete []Bnew; IterCount++; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "DIISManagerUnrestricted::AddIterationToList ending OK."); timeMeter.print(LOG_AREA_SCF, "DIISManagerUnrestricted::AddIterationToList"); return 0; } int DIISManagerUnrestricted::ClearList() { int i; for(i = 0; i < IterCount; i++) { delete F_list[0][i]; F_list[0][i] = NULL; delete E_list[0][i]; E_list[0][i] = NULL; delete F_list[1][i]; F_list[1][i] = NULL; delete E_list[1][i]; E_list[1][i] = NULL; } IterCount = 0; return 0; } int DIISManagerUnrestricted::GetCombinedFockMatrices(symmMatrix & result_alpha, symmMatrix & result_beta) { if(IterCount <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in DIISManagerUnrestricted::GetCombinedFockMatrices: (IterCount <= 0)"); return -1; } int dimB = IterCount + 1; ergo_real* RHS = new ergo_real[dimB]; ergo_real* cVector = new ergo_real[dimB]; // Construct vector RHS RHS[0] = -1; for(int i = 0; i < IterCount; i++) RHS[i+1] = 0; // Solve equation system B*x = HL if(solve_linear_equation_system(dimB, B, RHS, cVector) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in solve_linear_equation_system"); return -1; } // Create linear combination of Fock matrices using coefficients from cVector. // alpha F_list[0][0]->readFromFile(); result_alpha = *F_list[0][0]; F_list[0][0]->writeToFile(); result_alpha *= cVector[1]; // beta F_list[1][0]->readFromFile(); result_beta = *F_list[1][0]; F_list[1][0]->writeToFile(); result_beta *= cVector[1]; for(int i = 1; i < IterCount; i++) { // alpha F_list[0][i]->readFromFile(); result_alpha += cVector[1+i] * (*F_list[0][i]); F_list[0][i]->writeToFile(); //beta F_list[1][i]->readFromFile(); result_beta += cVector[1+i] * (*F_list[1][i]); F_list[1][i]->writeToFile(); } // END FOR i delete []RHS; delete []cVector; return 0; } ergo-3.5/source/scf/diis_unrestricted.h0000664000175000017500000000325012743400307015207 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef DIIS_UNRESTRICTED_HEADER #define DIIS_UNRESTRICTED_HEADER #include "diis_general.h" class DIISManagerUnrestricted : public DIISManager { public: DIISManagerUnrestricted(); ~DIISManagerUnrestricted(); int AddIterationToList(symmMatrix & F_alpha, symmMatrix & F_beta, normalMatrix & E_alpha, normalMatrix & E_beta); int ClearList(); int GetCombinedFockMatrices(symmMatrix & result_alpha, symmMatrix & result_beta); }; #endif ergo-3.5/source/scf/SCF_general.h0000664000175000017500000001354612743400307013605 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef SCF_GENERAL_HEADER #define SCF_GENERAL_HEADER #include "molecule.h" #include "basisinfo.h" #include "integrals_2el.h" #include "grid_stream.h" #include "scf.h" #include "densityfitting.h" #include "diis_general.h" #include "SCF_statistics.h" #include "GetDensFromFock.h" class SCF_general { public: // SCF convergence routine void do_SCF_iterations(); void get_overlap_matrix(symmMatrix & S); void get_invCholFactor_matrix(triangMatrix & invCholFactor_); void get_H_core_matrix(symmMatrix & H_core); void get_energy(ergo_real & E, ergo_real & E_nuclear); protected: // Constructor SCF_general(const Molecule& molecule_, const Molecule& extraCharges_, const BasisInfoStruct & basisInfo_, const BasisInfoStruct & basisInfoDensFit_, const IntegralInfo & integralInfo_, const char* guessDmatFileName_, const JK::Params& J_K_params_, const Dft::GridParams& gridParams_, const SCF::Options& scfopts, const SCF::MatOptions& matOpts, ergo_real threshold_integrals_1el_input); // Destructor virtual ~SCF_general(); const Molecule& molecule; const Molecule& extraCharges; const BasisInfoStruct & basisInfo; const BasisInfoStruct & basisInfoDensFit; const IntegralInfo& integralInfo; const char* guessDmatFileName; const JK::Params& J_K_params; const Dft::GridParams& gridParams; const SCF::Options& scfopts; const SCF::MatOptions& matOpts; ergo_real threshold_integrals_1el; DensfitData* densfit_data; //integral_prep_struct* integralPrep; JK::ExchWeights CAM_params; // range-separated exchange parameters // number of SCF cycle int SCF_step; // nuclearEnergy is nuclear repulsion energy plus contribution from external electric field. ergo_real nuclearEnergy; ergo_real energy_2el; ergo_real energy; ergo_real energy_2el_core; // only used when "core density matrix" is used ergo_real energy_2el_valence; // only used when "core density matrix" is used ergo_real energy_of_valence; // only used when "core density matrix" is used ergo_real energy_reference; // only used when "core density matrix" is used ergo_real electronicEntropyTerm; ergo_real errorMeasure; ergo_real curr_subspace_diff; symmMatrix S_symm; triangMatrix invCholFactor; ergo_real invCholFactor_euclnorm; symmMatrix H_core_Matrix; DIISManager* DIIS; // Must be initialized by restricted/unrestricted derived class. int noOfElectrons; SCF_statistics* curr_cycle_stats; GetDensFromFock DensFromFock; ergo_real GetEuclideanNormOfMatrix(const symmMatrix & A); virtual void initialize_matrices() = 0; virtual void check_params() = 0; virtual void get_starting_guess_density() = 0; virtual void initialize_homo_lumo_limits() = 0; virtual void write_matrices_to_file() = 0; virtual void get_2e_part_and_energy() = 0; virtual void output_sparsity_S_F_D(SCF_statistics & stats) = 0; virtual void calculate_energy() = 0; virtual void get_FDSminusSDF() = 0; virtual void get_error_measure() = 0; virtual void add_to_DIIS_list() = 0; virtual void update_best_fock_so_far() = 0; virtual void combine_old_fock_matrices(ergo_real stepLength) = 0; virtual void use_diis_to_get_new_fock_matrix() = 0; virtual void clear_diis_list() = 0; virtual void clear_error_matrices() = 0; virtual void save_current_fock_as_fprev() = 0; virtual void get_new_density_matrix() = 0; virtual void write_density_to_file() = 0; virtual void save_final_potential() = 0; virtual void add_random_disturbance_to_starting_guess() = 0; virtual void output_density_images() = 0; virtual void prepare_stochastic_orbitals() = 0; virtual void output_csr_matrices_for_gao() = 0; virtual void write_diag_dens_to_file() = 0; virtual void report_final_results() = 0; virtual void save_density_as_prevdens() = 0; virtual void update_subspace_diff() = 0; virtual void disturb_fock_matrix(ergo_real subspaceError) = 0; virtual void disturb_dens_matrix(ergo_real subspaceError) = 0; virtual void do_spin_flip(int atomCount) = 0; virtual void disturb_dens_matrix_exact(ergo_real subspaceError) = 0; virtual void save_full_matrices_for_matlab() = 0; virtual void report_density_difference() = 0; virtual void create_mtx_files_F(int const scfIter) = 0; virtual void create_mtx_files_D(int const scfIter) = 0; /* virtual void create_homo_eigvec_file() const = 0; */ /* virtual void create_lumo_eigvec_file() const = 0; */ virtual void create_eigenvectors_files() const = 0; virtual void create_gabedit_file() const = 0; virtual void compute_dipole_moment() = 0; virtual void do_mulliken_pop_stuff() = 0; virtual void compute_gradient_fixeddens() = 0; }; #endif ergo-3.5/source/scf/SCF_unrestricted.h0000664000175000017500000001310712743400307014674 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef SCF_UNRESTRICTED_HEADER #define SCF_UNRESTRICTED_HEADER #include "SCF_general.h" class SCF_unrestricted : public SCF_general { public: // Constructor SCF_unrestricted(const Molecule& molecule_, const Molecule& extraCharges_, const BasisInfoStruct & basisInfo_, const BasisInfoStruct & basisInfoDensFit_, const IntegralInfo & integralInfo_, const char* guessDmatFileName_, const JK::Params& J_K_params_, const Dft::GridParams& gridParams_, const SCF::Options& scfopts, const SCF::MatOptions& matOpts, ergo_real threshold_integrals_1el_input, int alpha_beta_diff_input); // Destructor ~SCF_unrestricted(); void get_Fock_matrices(symmMatrix & FockMatrix_a, symmMatrix & FockMatrix_b); void get_no_of_electrons(int & noOfElectrons_a, int & noOfElectrons_b); private: void initialize_matrices(); void check_params(); void get_starting_guess_density(); void initialize_homo_lumo_limits(); void write_matrices_to_file(); void get_2e_part_and_energy(); void output_sparsity_S_F_D(SCF_statistics & stats); void calculate_energy(); void get_FDSminusSDF(); void get_error_measure(); void add_to_DIIS_list(); void update_best_fock_so_far(); void combine_old_fock_matrices(ergo_real stepLength); void use_diis_to_get_new_fock_matrix(); void clear_diis_list(); void clear_error_matrices(); void save_current_fock_as_fprev(); void get_new_density_matrix(); void write_density_to_file(); void save_final_potential(); void add_random_disturbance_to_starting_guess(); void output_density_images(); void output_density_images_orbital(generalVector &eigVec, const std::string &filename_id); void prepare_stochastic_orbitals(); void output_csr_matrices_for_gao(); void write_diag_dens_to_file(); void report_final_results(); void save_density_as_prevdens(); void update_subspace_diff(); void disturb_fock_matrix(ergo_real subspaceError); void disturb_dens_matrix(ergo_real subspaceError); void do_spin_flip(int atomCount); void disturb_dens_matrix_exact(ergo_real subspaceError); void save_full_matrices_for_matlab(); void report_density_difference(); void create_mtx_files_F(int const scfIter); void create_mtx_files_D(int const scfIter); /* void create_homo_eigvec_file() const; */ /* void create_lumo_eigvec_file() const; */ void create_eigenvectors_files() const; void create_eigvec_file(const generalVector &eigVec_alpha, const generalVector &eigVec_beta, const char *vector_name, const char *filename_id) const; void create_gabedit_file() const; void create_gabedit_file_2() const; void compute_dipole_moment(); void do_mulliken_pop_stuff(); void compute_gradient_fixeddens(); void get_S2(ergo_real & S2_exact, ergo_real & S2); symmMatrix densityMatrix_alpha; symmMatrix densityMatrix_beta; symmMatrix FockMatrix_alpha; symmMatrix FockMatrix_beta; symmMatrix Fprev_alpha; symmMatrix Fprev_beta; symmMatrix Dprev_alpha; symmMatrix Dprev_beta; symmMatrix F_ort_prev_alpha; // Used by purification symmMatrix F_ort_prev_beta; // Used by purification symmMatrix D_ort_prev_alpha; // Used for computing eigenvectors symmMatrix D_ort_prev_beta; // Used for computing eigenvectors symmMatrix bestFockMatrixSoFar_alpha; symmMatrix bestFockMatrixSoFar_beta; symmMatrix bestFockMatrixSoFar2_alpha; symmMatrix bestFockMatrixSoFar2_beta; normalMatrix ErrorMatrix_alpha; normalMatrix ErrorMatrix_beta; symmMatrix G_alpha; symmMatrix G_beta; // HOMO/LUMO info intervalType homoInterval_F_ort_prev_alpha; intervalType lumoInterval_F_ort_prev_alpha; intervalType homoInterval_F_ort_prev_beta; intervalType lumoInterval_F_ort_prev_beta; intervalType homo2Interval_F_ort_prev_alpha; intervalType lumo2Interval_F_ort_prev_alpha; intervalType homo2Interval_F_ort_prev_beta; intervalType lumo2Interval_F_ort_prev_beta; intervalType homoInterval_Fprev_alpha; intervalType lumoInterval_Fprev_alpha; intervalType homoInterval_Fprev_beta; intervalType lumoInterval_Fprev_beta; int alpha_beta_diff; int noOfElectrons_alpha; int noOfElectrons_beta; generalVector eigVecLUMO_alpha; generalVector eigVecHOMO_alpha; generalVector eigVecLUMO_beta; generalVector eigVecHOMO_beta; generalVector eigVecLUMO2_alpha; generalVector eigVecHOMO2_alpha; generalVector eigVecLUMO2_beta; generalVector eigVecHOMO2_beta; }; #endif ergo-3.5/source/scf/Makefile.in0000664000175000017500000004306212743400353013366 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/scf ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libscf_a_AR = $(AR) $(ARFLAGS) libscf_a_LIBADD = am_libscf_a_OBJECTS = diis_general.$(OBJEXT) diis_restricted.$(OBJEXT) \ diis_unrestricted.$(OBJEXT) scf_utils.$(OBJEXT) \ SCF_general.$(OBJEXT) SCF_restricted.$(OBJEXT) \ SCF_unrestricted.$(OBJEXT) SCF_statistics.$(OBJEXT) \ scf.$(OBJEXT) libscf_a_OBJECTS = $(am_libscf_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libscf_a_SOURCES) DIST_SOURCES = $(libscf_a_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libscf.a libscf_a_SOURCES = \ diis_general.cc \ diis_general.h \ diis_restricted.cc \ diis_restricted.h \ diis_unrestricted.cc \ diis_unrestricted.h \ scf_utils.cc \ scf_utils.h \ SCF_general.cc \ SCF_general.h \ SCF_restricted.cc \ SCF_restricted.h \ SCF_unrestricted.cc \ SCF_unrestricted.h \ SCF_statistics.h \ SCF_statistics.cc \ scf.cc \ scf.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/dft \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix_wrapper \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack \ -I$(top_srcdir)/source/densfromf \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/integrals all: all-am .SUFFIXES: .SUFFIXES: .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/scf/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/scf/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libscf.a: $(libscf_a_OBJECTS) $(libscf_a_DEPENDENCIES) $(EXTRA_libscf_a_DEPENDENCIES) $(AM_V_at)-rm -f libscf.a $(AM_V_AR)$(libscf_a_AR) libscf.a $(libscf_a_OBJECTS) $(libscf_a_LIBADD) $(AM_V_at)$(RANLIB) libscf.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SCF_general.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SCF_restricted.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SCF_statistics.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SCF_unrestricted.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diis_general.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diis_restricted.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diis_unrestricted.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scf_utils.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/scf/Makefile.am0000664000175000017500000000152612743400275013357 00000000000000noinst_LIBRARIES = libscf.a libscf_a_SOURCES = \ diis_general.cc \ diis_general.h \ diis_restricted.cc \ diis_restricted.h \ diis_unrestricted.cc \ diis_unrestricted.h \ scf_utils.cc \ scf_utils.h \ SCF_general.cc \ SCF_general.h \ SCF_restricted.cc \ SCF_restricted.h \ SCF_unrestricted.cc \ SCF_unrestricted.h \ SCF_statistics.h \ SCF_statistics.cc \ scf.cc \ scf.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/dft \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix_wrapper \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack \ -I$(top_srcdir)/source/densfromf \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/integrals ergo-3.5/source/scf/SCF_restricted.cc0000664000175000017500000021534712743400307014501 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include "SCF_restricted.h" #include "output.h" #include "scf_utils.h" #include "utilities.h" #include "diis_restricted.h" #include "density_projection.h" #include "density_description_file.h" #include "matrix_utilities.h" #include "matrix_utilities_gao.h" #include "machine_epsilon.h" #include "units.h" #include "atom_labels.h" #include "integral_matrix_wrappers.h" #include "dipole_moment.h" SCF_restricted::SCF_restricted(const Molecule& molecule_, const Molecule& extraCharges_, const BasisInfoStruct & basisInfo_, const BasisInfoStruct & basisInfoDensFit_, const IntegralInfo& integralInfo_, const char* guessDmatFileNamePtr, const JK::Params& J_K_paramsPtr, const Dft::GridParams& gridParams_, const SCF::Options& scfopts, const SCF::MatOptions& matOpts_, ergo_real threshold_integrals_1el_input) : SCF_general(molecule_, extraCharges_, basisInfo_, basisInfoDensFit_, integralInfo_, guessDmatFileNamePtr, J_K_paramsPtr, gridParams_, scfopts, matOpts_, threshold_integrals_1el_input) { DIIS = new DIISManagerRestricted; DensFromFock.do_restricted_calculations(); // set factor = 2 DensFromFock.set_no_occupied_orbs( noOfElectrons/2 ); } SCF_restricted::~SCF_restricted() { delete ((DIISManagerRestricted*)DIIS); } void SCF_restricted::get_Fock_matrix(symmMatrix & FockMatrix_) { FockMatrix.readFromFile(); FockMatrix_ = FockMatrix; FockMatrix.writeToFile(); } void SCF_restricted::get_density_matrix(symmMatrix & densityMatrix_) { densityMatrix.readFromFile(); densityMatrix_ = densityMatrix; densityMatrix.writeToFile(); } void SCF_restricted::initialize_matrices() { densityMatrix.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); densityMatrix_core.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); twoel_matrix_core.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); FockMatrix.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); Fprev.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); Dprev.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); F_ort_prev.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); // D_ort_prev.resetSizesAndBlocks(matOpts.size_block_info, // matOpts.size_block_info); bestFockMatrixSoFar.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); bestFockMatrixSoFar2.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); ErrorMatrix.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); } void SCF_restricted::check_params() { if(noOfElectrons%2 != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error: odd number of electrons in restricted calculation"); throw "error: odd number of electrons in restricted calculation"; } } void SCF_restricted::get_starting_guess_density() { // set up starting guess int n = basisInfo.noOfBasisFuncs; if(guessDmatFileName != NULL) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "getting starting guess density from file '%s'", guessDmatFileName); int noOfDensityMatrices = 1; symmMatrix* matrixList[2]; matrixList[0] = &densityMatrix; if(load_density_and_project_sparse(DensFromFock, guessDmatFileName, noOfDensityMatrices, &integralInfo, basisInfo, S_symm, matrixList, &noOfElectrons, matOpts.size_block_info, matOpts.permutationHML, matOpts.sparse_threshold) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in load_density_and_project_sparse"); throw "error in load_density_and_project_sparse"; } } else { if(scfopts.use_simple_starting_guess == 1) { if(get_simple_starting_guess_sparse(n, noOfElectrons, densityMatrix) != 0) throw "error in get_simple_starting_guess_sparse"; densityMatrix.writeToFile(); } else if(scfopts.use_diag_guess_from_file == 1) { if(get_diag_matrix_from_file(n, densityMatrix, "diagdens.txt", matOpts.permutationHML) != 0) throw "error in get_diag_matrix_from_file"; densityMatrix.writeToFile(); } else { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "calling get_dens_from_fock to diagonalize H_core for starting guess, n = %i, sparse_threshold = %g", n, (double)matOpts.sparse_threshold); symmMatrix F_ort_prev_dummy; F_ort_prev_dummy.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); F_ort_prev_dummy.writeToFile(); densityMatrix.writeToFile(); DensFromFock.clean_eigs_intervals(); int use_diag_on_error = DensFromFock.get_use_diag_on_error(); if(DensFromFock.get_use_diag_on_error_guess() == 1) DensFromFock.set_use_diag_on_error(); if(DensFromFock.get_dens_from_fock(H_core_Matrix, densityMatrix, F_ort_prev_dummy) != 0) { throw "SCF_restricted::get_starting_guess_density: Error in get_dens_from_fock_general"; } if( use_diag_on_error != 1 ) DensFromFock.unset_use_diag_on_error(); } // END ELSE use H_core } // END ELSE no dmat given densityMatrix.readFromFile(); output_sparsity_symm(n, densityMatrix, "starting guess density matrix"); densityMatrix.writeToFile(); densityMatrix_core.writeToFile(); // densityMatrix_core (if used) also needs to be written to file } void SCF_restricted::add_random_disturbance_to_starting_guess() { if(scfopts.sg_disturb_specific_elements > SCF::DISTURB_ELEMENT_MAX_COUNT) throw "Error in SCF_restricted::add_random_disturbance_to_starting_guess: (scfopts.sg_disturb_specific_elements > SCF::DISTURB_ELEMENT_MAX_COUNT)"; int n = basisInfo.noOfBasisFuncs; densityMatrix.readFromFile(); add_disturbance_to_matrix(n, densityMatrix, scfopts.starting_guess_disturbance, scfopts.sg_disturb_specific_elements, scfopts.disturbedElementIndexVector, matOpts.permutationHML); densityMatrix.writeToFile(); } void SCF_restricted::initialize_homo_lumo_limits() { intervalType hugeInterval(-1e22, 1e22); homoInterval_F_ort_prev = hugeInterval; lumoInterval_F_ort_prev = hugeInterval; homo2Interval_F_ort_prev = hugeInterval; lumo2Interval_F_ort_prev = hugeInterval; homoInterval_Fprev = hugeInterval; lumoInterval_Fprev = hugeInterval; } void SCF_restricted::write_matrices_to_file() { FockMatrix.writeToFile(); Fprev.writeToFile(); Dprev.writeToFile(); bestFockMatrixSoFar.writeToFile(); bestFockMatrixSoFar2.writeToFile(); F_ort_prev.writeToFile(); } static void output_diff_norm_values(symmMatrix const & F1, symmMatrix const & F2, ergo_real acc, const char* name) { ergo_real E_norm_frob = symmMatrix::frob_diff(F1, F2); Util::TimeMeter timeMeterMixedDiff; ergo_real E_norm_mixed = symmMatrix::mixed_diff(F1, F2, acc); timeMeterMixedDiff.print(LOG_AREA_DENSFROMF, "symmMatrix::mixed_diff"); Util::TimeMeter timeMeterEuclDiff; ergo_real E_norm_eucl = symmMatrix::eucl_diff(F1, F2, acc); timeMeterEuclDiff.print (LOG_AREA_DENSFROMF, "symmMatrix::eucl_diff "); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Nor of error matrix for '%s':", name); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "frob : %22.15f", (double)E_norm_frob); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "mixed: %22.15f", (double)E_norm_mixed); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "eucl: %22.15f", (double)E_norm_eucl); } void SCF_restricted::get_2e_part_and_energy() { densityMatrix.readFromFile(); densityMatrix_core.readFromFile(); bool scan_do_invcholfactor_transf = (bool)scfopts.scan_do_invcholfactor_transf; if(scfopts.do_acc_scan_J) do_acc_scan_J(densityMatrix, integralInfo, basisInfo, invCholFactor, scan_do_invcholfactor_transf, J_K_params, matOpts.size_block_info, matOpts.permutationHML, scfopts.scan_no_of_steps, scfopts.scan_start_thresh, scfopts.scan_step_factor); if(scfopts.do_acc_scan_K) do_acc_scan_K(densityMatrix, integralInfo, basisInfo, invCholFactor, scan_do_invcholfactor_transf, CAM_params, J_K_params, matOpts.size_block_info, matOpts.permutationHML, matOpts.inversePermutationHML, scfopts.scan_no_of_steps, scfopts.scan_start_thresh, scfopts.scan_step_factor); if(scfopts.do_acc_scan_Vxc) do_acc_scan_Vxc(densityMatrix, integralInfo, basisInfo, molecule, gridParams, noOfElectrons, invCholFactor, scan_do_invcholfactor_transf, matOpts.size_block_info, matOpts.permutationHML, matOpts.inversePermutationHML, scfopts.scan_no_of_steps, scfopts.scan_start_thresh, scfopts.scan_step_factor); symmMatrix G; G.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); if(get_2e_matrix_and_energy_sparse(basisInfo, basisInfoDensFit, molecule, integralInfo, G, densityMatrix, J_K_params, CAM_params, gridParams, scfopts.use_dft, &energy_2el, noOfElectrons, densfit_data, matOpts.size_block_info, matOpts.permutationHML, matOpts.inversePermutationHML, scfopts.do_sparsity_investigation, J_matrix, K_matrix, Fxc_matrix, *curr_cycle_stats) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in get_2e_matrix_and_energy_sparse"); throw "error in get_2e_matrix_and_energy_sparse"; } if(scfopts.compute_core_density == 1) { // Get energy_2el_valence and H_matrix_core, but only if densityMatrix_core is nonzero (it is zero the first time, then we just skip). if(densityMatrix_core.frob() != 0) { // Get energy_2el_valence { symmMatrix densityMatrix_valence(densityMatrix); densityMatrix_valence += (ergo_real)-1 * densityMatrix_core; symmMatrix G_valence; G_valence.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); symmMatrix J_matrix_valence; symmMatrix K_matrix_valence; symmMatrix Fxc_matrix_valence; SCF_statistics curr_cycle_stats_dummy; int no_of_valence_electrons = noOfElectrons - scfopts.no_of_core_electrons; if(get_2e_matrix_and_energy_sparse(basisInfo, basisInfoDensFit, molecule, integralInfo, G_valence, densityMatrix_valence, J_K_params, CAM_params, gridParams, scfopts.use_dft, &energy_2el_valence, no_of_valence_electrons, densfit_data, matOpts.size_block_info, matOpts.permutationHML, matOpts.inversePermutationHML, scfopts.do_sparsity_investigation, J_matrix_valence, K_matrix_valence, Fxc_matrix_valence, curr_cycle_stats_dummy) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "Error in get_2e_matrix_and_energy_sparse for densityMatrix_valence."); throw "Error in get_2e_matrix_and_energy_sparse for densityMatrix_valence."; } } // Compute J_matrix_core { symmMatrix J_matrix_core; symmMatrix K_matrix_core; symmMatrix Fxc_matrix_core; SCF_statistics curr_cycle_stats_dummy; energy_2el_core = 0; if(get_2e_matrix_and_energy_sparse(basisInfo, basisInfoDensFit, molecule, integralInfo, twoel_matrix_core, densityMatrix_core, J_K_params, CAM_params, gridParams, scfopts.use_dft, &energy_2el_core, scfopts.no_of_core_electrons, densfit_data, matOpts.size_block_info, matOpts.permutationHML, matOpts.inversePermutationHML, scfopts.do_sparsity_investigation, J_matrix_core, K_matrix_core, Fxc_matrix_core, curr_cycle_stats_dummy) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "Error in get_2e_matrix_and_energy_sparse for densityMatrix_core."); throw "Error in get_2e_matrix_and_energy_sparse for densityMatrix_core."; } } } } densityMatrix.writeToFile(); densityMatrix_core.writeToFile(); // Check that G matrix is free from "inf", "nan" etc. if(check_if_matrix_contains_strange_elements(G, matOpts.inversePermutationHML)) throw std::runtime_error("error in SCF_restricted::get_2e_part_and_energy(): G matrix contains inf or nan."); // calculate Fock matrix F = H_core + G H_core_Matrix.readFromFile(); FockMatrix.readFromFile(); FockMatrix = H_core_Matrix + G; H_core_Matrix.writeToFile(); G.clear(); // Save a copy of FockMatrix before truncation if verification requested. symmMatrix FockMatrixBeforeTruncation; if(scfopts.do_f_thresh_verification == 1) FockMatrixBeforeTruncation = FockMatrix; if ( scfopts.do_sparsity_investigation == 1 ) // Create m-file for dist vs mag output_distance_vs_magnitude( basisInfo, FockMatrix, matOpts.inversePermutationHML, "dist_vs_mag_F_S", scfopts.sparsity_plots_resolution_r, scfopts.sparsity_plots_resolution_m); // Do truncation of FockMatrix taking into account gap of Fprev and norm of Z. ergo_real gapOfFprevMin = lumoInterval_Fprev.low() - homoInterval_Fprev.upp(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "About to truncate FockMatrix, gap of Fprev >= %22.11f", (double)gapOfFprevMin); { // Compare FockMatrix to Fprev to check how far eigenvalues can have moved. Fprev.readFromFile(); ergo_real maxEigValMovement_frob = symmMatrix::frob_diff(FockMatrix, Fprev); ergo_real acc = std::sqrt(get_machine_epsilon()); Util::TimeMeter timeMeterMixedDiff; ergo_real maxEigValMovement_mixed = symmMatrix::mixed_diff(FockMatrix, Fprev, acc) + acc; timeMeterMixedDiff.print(LOG_AREA_SCF, "symmMatrix::mixed_diff for F vs Fprev maxEigValMovement_mixed"); Util::TimeMeter timeMeterEuclDiff; ergo_real maxEigValMovement_eucl = symmMatrix::eucl_diff(FockMatrix, Fprev, acc) + acc; timeMeterEuclDiff.print(LOG_AREA_SCF, "symmMatrix::eucl_diff for F vs Fprev maxEigValMovement_eucl "); Fprev.writeToFile(); // Increase HOMO/LUMO intervals so that they for sure contain the HOMO and LUMO eigenvalues of F_ort intervalType homoInterval = homoInterval_Fprev; intervalType lumoInterval = lumoInterval_Fprev; homoInterval.increase(maxEigValMovement_eucl); lumoInterval.increase(maxEigValMovement_eucl); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "maxEigValMovement_frob = %22.11f", (double)maxEigValMovement_frob); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "maxEigValMovement_mixed = %22.11f", (double)maxEigValMovement_mixed); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "maxEigValMovement_eucl = %22.11f", (double)maxEigValMovement_eucl); // Now we have homoInterval and lumoInterval valid for FockMatrix. ergo_real gapMin = lumoInterval.low() - homoInterval.upp(); ergo_real gapMax = lumoInterval.upp() - homoInterval.low(); ergo_real threshold_1; // Choose subspace error as for purification. ergo_real subspaceThr_1 = 0.1 * scfopts.purification_subspace_err_limit; // We consider the gap to be accurately known if the uncertainty is at most 10 % if ( gapMin > 0 && (gapMax - gapMin) / gapMin < 0.1 ) // Gap is accurately known: we use gapMin threshold_1 = subspaceThr_1 * gapMin / (1+subspaceThr_1); else // Gap is not accurately known. To avoid choosing a very tight // threshold value due to a small lower bound for the gap, we // use the largest of 'gap_expected_lower_bound' and calculated // 'gapMin': threshold_1 = gapMin > scfopts.gap_expected_lower_bound ? subspaceThr_1 * gapMin / (1+subspaceThr_1) : subspaceThr_1 * scfopts.gap_expected_lower_bound / (1+subspaceThr_1); /* Truncate matrix taking into account that we are in 'non-orthogonal basis', passing invCholFactor to thresh */ invCholFactor.readFromFile(); Util::TimeMeter timeMeterEuclThresh; int n = basisInfo.noOfBasisFuncs; double nnzF_S_before_trunc_pc = (double)FockMatrix.nnz() * 100 / ((double)n*n); ergo_real truncError_1 = FockMatrix.eucl_thresh( threshold_1, &invCholFactor ); double nnzF_S_after_trunc_pc = (double)FockMatrix.nnz() * 100 / ((double)n*n); invCholFactor.writeToFile(); timeMeterEuclThresh.print(LOG_AREA_SCF, "FockMatrix.eucl_thresh() (with Z)"); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Truncated FockMatrix (eucl with Z), selected threshold = %10.6g, returned error = %10.6g, nnz before = %3.4f %%, nnz after = %3.4f %%", threshold_1, truncError_1, nnzF_S_before_trunc_pc, nnzF_S_after_trunc_pc); this->curr_cycle_stats->add_value("investigation_nnz_percentage_F_S", nnzF_S_after_trunc_pc); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Computing Euclidean norm of FockMatrix..."); Util::TimeMeter timeMeterEuclF; ergo_real FockMatrix_euclnorm = FockMatrix.eucl( std::sqrt(std::numeric_limits::epsilon()) ); timeMeterEuclF.print(LOG_AREA_SCF, "FockMatrix.eucl()"); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Euclidean norm of FockMatrix = %22.11f", (double)FockMatrix_euclnorm); if ( scfopts.do_sparsity_investigation == 1 ) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_sparsity_investigation requested, testing truncation of H_core, J, K, and F_xc "); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "and outputting m-files for dist vs magnitude figs for H_core, J, K, and F_xc."); invCholFactor.readFromFile(); if ( !H_core_Matrix.is_empty() ) { symmMatrix H_core_copy(H_core_Matrix); H_core_copy.readFromFile(); // Create m-file for dist vs mag output_distance_vs_magnitude( basisInfo, H_core_copy, matOpts.inversePermutationHML, "dist_vs_mag_Hcore", scfopts.sparsity_plots_resolution_r, scfopts.sparsity_plots_resolution_m); // M-file ready, continue with truncation test double nnz_before_trunc_pc = (double)H_core_copy.nnz() * 100 / ((double)n*n); ergo_real truncError = H_core_copy.eucl_thresh( threshold_1, &invCholFactor ); double nnz_after_trunc_pc = (double)H_core_copy.nnz() * 100 / ((double)n*n); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Truncated H_core (eucl with Z), selected threshold = %10.6g, returned error = %10.6g, nnz before = %3.4f %%, nnz after = %3.4f %%", threshold_1, truncError, nnz_before_trunc_pc, nnz_after_trunc_pc); this->curr_cycle_stats->add_value("investigation_nnz_percentage_H_core", nnz_after_trunc_pc); } // end if H_core ... else { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "No H_core matrix stored, skipping H_core truncation test."); } if ( !J_matrix.is_empty() ) { // Create m-file for dist vs mag output_distance_vs_magnitude( basisInfo, J_matrix, matOpts.inversePermutationHML, "dist_vs_mag_J", scfopts.sparsity_plots_resolution_r, scfopts.sparsity_plots_resolution_m); // M-file ready, continue with truncation test double nnz_before_trunc_pc = (double)J_matrix.nnz() * 100 / ((double)n*n); ergo_real truncError = J_matrix.eucl_thresh( threshold_1, &invCholFactor ); double nnz_after_trunc_pc = (double)J_matrix.nnz() * 100 / ((double)n*n); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Truncated J (eucl with Z), selected threshold = %10.6g, returned error = %10.6g, nnz before = %3.4f %%, nnz after = %3.4f %%", threshold_1, truncError, nnz_before_trunc_pc, nnz_after_trunc_pc); this->curr_cycle_stats->add_value("investigation_nnz_percentage_J", nnz_after_trunc_pc); } // end if J ... else { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "No J matrix stored, skipping J truncation test."); } if ( !K_matrix.is_empty() ) { // Create m-file for dist vs mag output_distance_vs_magnitude( basisInfo, K_matrix, matOpts.inversePermutationHML, "dist_vs_mag_K", scfopts.sparsity_plots_resolution_r, scfopts.sparsity_plots_resolution_m); // M-file ready, continue with truncation test double nnz_before_trunc_pc = (double)K_matrix.nnz() * 100 / ((double)n*n); ergo_real truncError = K_matrix.eucl_thresh( threshold_1, &invCholFactor ); double nnz_after_trunc_pc = (double)K_matrix.nnz() * 100 / ((double)n*n); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Truncated K (eucl with Z), selected threshold = %10.6g, returned error = %10.6g, nnz before = %3.4f %%, nnz after = %3.4f %%", threshold_1, truncError, nnz_before_trunc_pc, nnz_after_trunc_pc); this->curr_cycle_stats->add_value("investigation_nnz_percentage_K", nnz_after_trunc_pc); } // end if K ... else { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "No K matrix stored, skipping K truncation test."); } if ( !Fxc_matrix.is_empty() ) { // Create m-file for dist vs mag output_distance_vs_magnitude( basisInfo, Fxc_matrix, matOpts.inversePermutationHML, "dist_vs_mag_Fxc", scfopts.sparsity_plots_resolution_r, scfopts.sparsity_plots_resolution_m); // M-file ready, continue with truncation test double nnz_before_trunc_pc = (double)Fxc_matrix.nnz() * 100 / ((double)n*n); ergo_real truncError = Fxc_matrix.eucl_thresh( threshold_1, &invCholFactor ); double nnz_after_trunc_pc = (double)Fxc_matrix.nnz() * 100 / ((double)n*n); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Truncated Fxc (eucl with Z), selected threshold = %10.6g, returned error = %10.6g, nnz before = %3.4f %%, nnz after = %3.4f %%", threshold_1, truncError, nnz_before_trunc_pc, nnz_after_trunc_pc); this->curr_cycle_stats->add_value("investigation_nnz_percentage_Fxc", nnz_after_trunc_pc); } // end if Fxc ... else { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "No Fxc matrix stored, skipping Fxc truncation test."); } invCholFactor.writeToFile(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_sparsity_investigation, testing truncation of H_core, J, K, and F_xc finished."); } // end if ( scfopts.do_sparsity_investigation == 1 ) } // FockMatrix.frob_thresh(matOpts.sparse_threshold); if(scfopts.do_f_thresh_verification == 1) { Util::TimeMeter timeMeterThreshVerification; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_f_thresh_verification requested, computing error matrices..."); symmMatrix F1(FockMatrixBeforeTruncation); symmMatrix F2(FockMatrix); ergo_real acc = std::sqrt(get_machine_epsilon()); // First get norm of error matrix in non-orthogonal basis. output_diff_norm_values(F1, F2, acc, "F in in non-orthogonal basis"); // Now get norm of error matrix in non-orthogonal basis. do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_f_thresh_verification requested, doing Z multiplications..."); invCholFactor.readFromFile(); Util::TimeMeter timeMeterZFZ1; F1 = transpose(invCholFactor) * F1 * invCholFactor; timeMeterZFZ1.print(LOG_AREA_DENSFROMF, "transpose(invCholFactor) * F1 * invCholFactor"); Util::TimeMeter timeMeterZFZ2; F2 = transpose(invCholFactor) * F2 * invCholFactor; timeMeterZFZ2.print(LOG_AREA_DENSFROMF, "transpose(invCholFactor) * F2 * invCholFactor"); invCholFactor.writeToFile(); // Now we have the matrix in orthogonal basis, before and after truncation. output_diff_norm_values(F1, F2, acc, "F in in orthogonal basis"); timeMeterThreshVerification.print(LOG_AREA_SCF, "do_f_thresh_verification stuff"); } FockMatrix.writeToFile(); } void SCF_restricted::output_sparsity_S_F_D(SCF_statistics & stats) { int n = basisInfo.noOfBasisFuncs; S_symm.readFromFile(); output_sparsity_symm(n, S_symm, "S"); stats.add_value("nnz_S", S_symm.nnz()); S_symm.writeToFile(); FockMatrix.readFromFile(); output_sparsity_symm(n, FockMatrix, "F"); stats.add_value("nnz_F", FockMatrix.nnz()); FockMatrix.writeToFile(); densityMatrix.readFromFile(); output_sparsity_symm(n, densityMatrix, "D"); stats.add_value("nnz_D", densityMatrix.nnz()); densityMatrix.writeToFile(); } void SCF_restricted::calculate_energy() { // calculate energy H_core_Matrix.readFromFile(); densityMatrix.readFromFile(); energy = symmMatrix::trace_ab(densityMatrix, H_core_Matrix) + energy_2el; if(scfopts.compute_core_density == 1) { densityMatrix_core.readFromFile(); symmMatrix densityMatrix_valence(densityMatrix); densityMatrix_valence += (ergo_real)-1 * densityMatrix_core; energy_of_valence = symmMatrix::trace_ab(densityMatrix_valence, H_core_Matrix) + symmMatrix::trace_ab(densityMatrix_valence, twoel_matrix_core) + energy_2el_valence; energy_reference = symmMatrix::trace_ab(densityMatrix_core, H_core_Matrix) + energy_2el_core + nuclearEnergy; densityMatrix_core.writeToFile(); } densityMatrix.writeToFile(); H_core_Matrix.writeToFile(); energy += nuclearEnergy; } void SCF_restricted::get_FDSminusSDF() { int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "calling compute_FDSminusSDF_sparse, n = %i", n); densityMatrix.readFromFile(); S_symm.readFromFile(); FockMatrix.readFromFile(); compute_FDSminusSDF_sparse(n, FockMatrix, densityMatrix, S_symm, ErrorMatrix, matOpts.sparse_threshold); S_symm.writeToFile(); FockMatrix.writeToFile(); densityMatrix.writeToFile(); // write to file and read back again to reduce memory fragmentation. ErrorMatrix.writeToFile(); ErrorMatrix.readFromFile(); output_sparsity(n, ErrorMatrix, "FDS-SDF"); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_restricted::get_FDSminusSDF finished."); } void SCF_restricted::get_error_measure() { ergo_real error_maxabs = compute_maxabs_sparse(ErrorMatrix); ergo_real error_frob = ErrorMatrix.frob(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "maxabs FDS-SDF is %8.3g", (double)error_maxabs); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "frob FDS-SDF is %8.3g", (double)error_frob); errorMeasure = error_maxabs; } void SCF_restricted::add_to_DIIS_list() { FockMatrix.readFromFile(); if(((DIISManagerRestricted*)DIIS)->AddIterationToList(FockMatrix, ErrorMatrix) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in DIIS AddIterationToList"); throw "error in DIIS AddIterationToList"; } FockMatrix.writeToFile(); } void SCF_restricted::update_best_fock_so_far() { Fprev.readFromFile(); bestFockMatrixSoFar.readFromFile(); bestFockMatrixSoFar = Fprev; Fprev.writeToFile(); bestFockMatrixSoFar.writeToFile(); FockMatrix.readFromFile(); bestFockMatrixSoFar2.readFromFile(); bestFockMatrixSoFar2 = FockMatrix; FockMatrix.writeToFile(); bestFockMatrixSoFar2.writeToFile(); } void SCF_restricted::combine_old_fock_matrices(ergo_real stepLength) { bestFockMatrixSoFar.readFromFile(); bestFockMatrixSoFar2.readFromFile(); FockMatrix.readFromFile(); FockMatrix = 0; FockMatrix += stepLength * bestFockMatrixSoFar2; FockMatrix += (1 - stepLength) * bestFockMatrixSoFar; FockMatrix.writeToFile(); bestFockMatrixSoFar.writeToFile(); bestFockMatrixSoFar2.writeToFile(); } void SCF_restricted::use_diis_to_get_new_fock_matrix() { symmMatrix newFsymm; if(((DIISManagerRestricted*)DIIS)->GetCombinedFockMatrix(newFsymm) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in DIIS.GetCombinedFockMatrix"); throw "error in DIIS.GetCombinedFockMatrix"; } FockMatrix.readFromFile(); FockMatrix = newFsymm; FockMatrix.writeToFile(); } void SCF_restricted::clear_diis_list() { ((DIISManagerRestricted*)DIIS)->ClearList(); } void SCF_restricted::clear_error_matrices() { ErrorMatrix.clear(); } void SCF_restricted::save_current_fock_as_fprev() { // save current Fock matrix as Fprev FockMatrix.readFromFile(); Fprev.readFromFile(); Fprev = FockMatrix; FockMatrix.writeToFile(); Fprev.writeToFile(); } void SCF_restricted::get_new_density_matrix() { int n = basisInfo.noOfBasisFuncs; if ( scfopts.do_sparsity_investigation_reppuri == 1 ) { if(scfopts.shift_using_prev_density_matrix != 0) throw "SCF_restricted::get_new_density_matrix: error: do_sparsity_investigation_reppuri cannot be combined with shift_using_prev_density_matrix."; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_sparsity_investigation_reppuri, running purification three times using different norms."); mat::normType ntype[3] = {mat::frobNorm, mat::mixedNorm, mat::euclNorm}; std::map puri_stats; for (int i = 0; i<3; i++) { // Copy input parameters that will be overwritten by purification symmMatrix F_ort_prev_copy(F_ort_prev); intervalType homoInterval_F_ort_prev_copy(homoInterval_F_ort_prev); intervalType lumoInterval_F_ort_prev_copy(lumoInterval_F_ort_prev); DensFromFock.clean_puri_stats(); DensFromFock.set_stats_prefix( "investigation_"+mat::getNormTypeString(ntype[i])+"_"); DensFromFock.set_eigs_F_ort_prev( homoInterval_F_ort_prev_copy, lumoInterval_F_ort_prev_copy); DensFromFock.set_truncationNormPurification(ntype[i]); if(DensFromFock.get_dens_from_fock(FockMatrix, densityMatrix, F_ort_prev_copy) != 0) { throw "SCF_restricted::get_new_density_matrix: Error in get_dens_from_fock"; } } // end for // Create m-file for dist vs mag densityMatrix.readFromFile(); output_distance_vs_magnitude( basisInfo, densityMatrix, matOpts.inversePermutationHML, "dist_vs_mag_D_S", scfopts.sparsity_plots_resolution_r, scfopts.sparsity_plots_resolution_m); densityMatrix.writeToFile(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_sparsity_investigation for purification finished, continuing as usual."); DensFromFock.get_puri_stats(puri_stats); this->curr_cycle_stats->add_values(puri_stats); DensFromFock.set_stats_prefix(""); } // end if investigation // As input to the density matrix construction routine, the default // is to use FockMatrix. However, if shift_using_prev_density_matrix // we use a modified matrix instead. symmMatrix* F_effective = &FockMatrix; symmMatrix F_modified; if(scfopts.shift_using_prev_density_matrix != 0) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Using shift_using_prev_density_matrix, shifting by %9.5f a.u. = %9.5f eV", (double)scfopts.shift_using_prev_density_matrix, (double)scfopts.shift_using_prev_density_matrix / UNIT_one_eV); F_modified = FockMatrix; F_modified.readFromFile(); // Get matrix SDS symmMatrix SDS(densityMatrix); SDS.readFromFile(); transform_with_S(SDS); // Use factor 0.5 since this is restricted case. F_modified += (ergo_real)-0.5 * scfopts.shift_using_prev_density_matrix * SDS; F_modified.writeToFile(); F_effective = &F_modified; } DensFromFock.set_eigs_F_ort_prev(homoInterval_F_ort_prev, lumoInterval_F_ort_prev); DensFromFock.set_eigs2_F_ort_prev(homo2Interval_F_ort_prev, lumo2Interval_F_ort_prev); DensFromFock.clean_puri_stats(); DensFromFock.set_generate_figures(SCF_step); // if eigenvectors are needed, set params int use_init_guess = 0; if(scfopts.use_prev_vector_as_initial_guess == 1 && scfopts.min_number_of_iterations <= SCF_step && SCF_step > 1 && !eigVecLUMO.is_empty() && !eigVecHOMO.is_empty()) // ensure that we computed vectors in previous cycle use_init_guess = 1; // if we use new purification if(SCF_step > 1 && DensFromFock.get_use_purification() == 1 && DensFromFock.get_output_homo_and_lumo_eigenvectors() == 1) { DensFromFock.compute_eigenvectors(scfopts.eigenvectors_method, scfopts.eigenvectors_iterative_method, scfopts.number_of_eigenpairs, scfopts.eigensolver_accuracy, scfopts.eigensolver_maxiter, use_init_guess, scfopts.try_eigv_on_next_iteration_if_fail); // if we need more eigenpairs, initialize pointers in the DensFromFock class if(scfopts.number_of_eigenpairs == 2) DensFromFock.set_second_eigenvectors_pointers(&eigVecLUMO2, &eigVecHOMO2); } if(scfopts.create_checkpoints == 1) { Util::TimeMeter timeMeter; DensFromFock.create_checkpoint(*F_effective, // should normally be same as Fprev now F_ort_prev, &eigVecLUMO, &eigVecHOMO, scfopts.checkpoint_IDstr); timeMeter.print(LOG_AREA_SCF, "in SCF_restricted DensFromFock::create_checkpoint took"); } if(DensFromFock.get_dens_from_fock(*F_effective, // should normally be same as Fprev now densityMatrix, F_ort_prev, &eigVecLUMO, &eigVecHOMO) != 0) { throw "SCF_restricted::get_new_density_matrix: Error in get_dens_from_fock"; } DensFromFock.get_eigs_F_ort_prev(homoInterval_F_ort_prev, lumoInterval_F_ort_prev); DensFromFock.get_eigs2_F_ort_prev(homo2Interval_F_ort_prev, lumo2Interval_F_ort_prev); DensFromFock.get_eigs_Fprev(homoInterval_Fprev, lumoInterval_Fprev); std::map puri_stats; DensFromFock.get_puri_stats(puri_stats); this->curr_cycle_stats->add_values(puri_stats); DensFromFock.unset_generate_figures(); electronicEntropyTerm = DensFromFock.get_result_entropy_term(); if(scfopts.compute_core_density == 1) { DensFromFock.clean_eigs_intervals(); if(DensFromFock.get_dens_from_fock(*F_effective, densityMatrix_core, F_ort_prev) != 0) { throw "SCF_restricted::get_new_density_matrix: Error in get_dens_from_fock for core density matrix."; } } // Report sparsity of D and trace(DS) S_symm.readFromFile(); densityMatrix.readFromFile(); output_sparsity_symm(n, densityMatrix, "new density matrix"); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Tr( D * S ) = %22.11f", (double)symmMatrix::trace_ab(densityMatrix, S_symm)); densityMatrix.writeToFile(); S_symm.writeToFile(); } static int write_matrix_to_file(symmMatrix & M, const std::vector & inversePermutationHML, const BasisInfoStruct & basisInfo, const char* fileName) { M.readFromFile(); matrix_description_struct matrixList[2]; int nvalues = M.nvalues(); std::vector rowind; rowind.reserve(nvalues); std::vector colind; colind.reserve(nvalues); std::vector values; values.reserve(nvalues); M.get_all_values(rowind, colind, values, inversePermutationHML, inversePermutationHML); M.writeToFile(); matrixList[0].nvalues = nvalues; matrixList[0].rowind = &rowind[0]; matrixList[0].colind = &colind[0]; matrixList[0].values = &values[0]; if(ddf_writeShellListAndDensityMatricesToFile_sparse(basisInfo, 1, matrixList, fileName) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "Error in ddf_writeShellListAndDensityMatricesToFile_sparse."); return -1; } return 0; } void SCF_restricted::write_density_to_file() { if(write_matrix_to_file(densityMatrix, matOpts.inversePermutationHML, basisInfo, "density.bin") != 0) throw "error in SCF_restricted::write_density_to_file(): write_matrix_to_file failed for densityMatrix."; if(scfopts.compute_core_density == 1) { if(write_matrix_to_file(densityMatrix_core, matOpts.inversePermutationHML, basisInfo, "density_core.bin") != 0) throw "error in SCF_restricted::write_density_to_file(): write_matrix_to_file failed for densityMatrix_core."; } } void SCF_restricted::save_final_potential() { if(save_symmetric_matrix(FockMatrix, basisInfo, "potential.bin", matOpts.inversePermutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in ddf_writeShellListAndDensityMatricesToFile"); throw "error in ddf_writeShellListAndDensityMatricesToFile"; } } void SCF_restricted::save_full_matrices_for_matlab() { int n = basisInfo.noOfBasisFuncs; FockMatrix.readFromFile(); write_full_matrix(n, FockMatrix, "matrix_F", matOpts.inversePermutationHML); FockMatrix.writeToFile(); S_symm.readFromFile(); write_full_matrix(n, S_symm, "matrix_S", matOpts.inversePermutationHML); S_symm.writeToFile(); densityMatrix.readFromFile(); write_full_matrix(n, densityMatrix, "matrix_D", matOpts.inversePermutationHML); densityMatrix.writeToFile(); } void SCF_restricted::output_density_images() { Util::TimeMeter timeMeter; int n = basisInfo.noOfBasisFuncs; ergo_real* densityMatrixFull_tot = new ergo_real[n*n]; ergo_real* densityMatrixFull_spin = new ergo_real[n*n]; // Get full matrix version of density matrix, and empty spin density matrix. { std::vector densityMatrixFull(n*n); densityMatrix.readFromFile(); densityMatrix.fullMatrix(densityMatrixFull, matOpts.inversePermutationHML, matOpts.inversePermutationHML); densityMatrix.writeToFile(); for(int i = 0; i < n*n; i++) { densityMatrixFull_tot [i] = densityMatrixFull[i]; densityMatrixFull_spin[i] = 0; } } do_density_images(basisInfo, molecule, densityMatrixFull_tot, densityMatrixFull_spin, scfopts.output_density_images_boxwidth); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_restricted::output_density_images finished OK."); timeMeter.print(LOG_AREA_SCF, "SCF_restricted::output_density_images"); } static ergo_real rand_minus1_to_1(int rand_param) { if(rand_param == 0) { // ELIAS NOTE 2013-11-14: this is the old bad implementation that gives a slightly "unfair" distribution in the [-1,1] interval. ergo_real randomNumber = (ergo_real)rand() / RAND_MAX; // Now randomNumber is between 0 and 1 randomNumber *= 2; // Now randomNumber is between 0 and 2 randomNumber -= 1; // Now randomNumber is between -1 and 1 return randomNumber; } else if(rand_param == 1) { ergo_real h = (ergo_real)1.0 / ((ergo_real)RAND_MAX+1); ergo_real randomNumber = (ergo_real)rand() / ((ergo_real)RAND_MAX+1); // Now randomNumber is between 0 and 1-h, and the spacing between possible values is h. randomNumber *= 2; // Now randomNumber is between 0 and 2-2*h, and the spacing between possible values is 2*h. randomNumber -= 1; // Now randomNumber is between -1 and 1-2*h, and the spacing between possible values is 2*h. randomNumber += h; // Now randomNumber is between -1+h and 1-h, and the spacing between possible values is 2*h. return randomNumber; } else if(rand_param == 2) { ergo_real randomNumber_a = ((ergo_real)RAND_MAX+1)*(ergo_real)rand() + (ergo_real)rand(); ergo_real randomNumber_a_max = ((ergo_real)RAND_MAX+1)*((ergo_real)RAND_MAX+1) - 1; // Now randomNumber_a is between 0 and randomNumber_a_max, with spacing 1 between possible values. ergo_real h = (ergo_real)1.0 / (randomNumber_a_max+1); ergo_real randomNumber = randomNumber_a / (randomNumber_a_max+1); // Now randomNumber is between 0 and 1-h, and the spacing between possible values is h. randomNumber *= 2; // Now randomNumber is between 0 and 2-2*h, and the spacing between possible values is 2*h. randomNumber -= 1; // Now randomNumber is between -1 and 1-2*h, and the spacing between possible values is 2*h. randomNumber += h; // Now randomNumber is between -1+h and 1-h, and the spacing between possible values is 2*h. return randomNumber; } else throw "Error in rand_minus1_to_1: unsupported rand_param value."; } static ergo_real get_random_vector_with_norm_leq_one_recursive(std::vector & v, int n, int rand_param) { if(n == 1) { v.resize(1); v[0] = rand_minus1_to_1(rand_param); ergo_real norm = std::sqrt(v[0]*v[0]); return norm; } while(1) { // Consider two parts. int n1 = n - n/2; int n2 = n - n1; std::vector v1; std::vector v2; ergo_real norm1 = get_random_vector_with_norm_leq_one_recursive(v1, n1, rand_param); ergo_real norm2 = get_random_vector_with_norm_leq_one_recursive(v2, n2, rand_param); ergo_real norm = std::sqrt(norm1*norm1+norm2*norm2); if(norm <= 1) { v.resize(n); for(int i = 0; i < n1; i++) v[i] = v1[i]; for(int i = 0; i < n2; i++) v[n1+i] = v2[i]; // Done! return norm; } } } static void get_normalized_random_vector_2(std::vector & v, int n, int rand_param) { ergo_real norm = get_random_vector_with_norm_leq_one_recursive(v, n, rand_param); for(int i = 0; i < n; i++) v[i] /= norm; } // ELIAS NOTE 2013-11-13: this routine seems wrong, does not seem to give a "fair" distribution of vectors. static void get_normalized_random_vector_recursive(std::vector & v, int n, int rand_param) { if(n == 1) { v.resize(1); if(rand() % 2 == 0) v[0] = 1; else v[0] = -1; return; } // Consider two parts. int n1 = n - n/2; int n2 = n - n1; std::vector v1; std::vector v2; get_normalized_random_vector_recursive(v1, n1, rand_param); get_normalized_random_vector_recursive(v2, n2, rand_param); ergo_real x1 = 0; ergo_real x2 = 0; while(1) { x1 = rand_minus1_to_1(rand_param); x2 = rand_minus1_to_1(rand_param); if(x1*x1+x2*x2 <= 1) break; } // OK, now we have x1 and x2 selected randomly in a "fair" way. ergo_real norm = std::sqrt(x1*x1+x2*x2); x1 /= norm; x2 /= norm; // OK, now the coordinate pair (x1,x2) points in a random direction in the 2D space. v.resize(n); for(int i = 0; i < n1; i++) v[i] = x1 * v1[i]; for(int i = 0; i < n2; i++) v[n1+i] = x2 * v2[i]; // Done! } /* ELIAS NOTE 2014-07-13: Commented out this unused routine to silence compiler warning. static void get_normalized_random_vector_naive(std::vector & v, int n, int rand_param) { v.resize(n); ergo_real sqSum = 0; while(1) { sqSum = 0; for(int k = 0; k < n; k++) { ergo_real x = rand_minus1_to_1(rand_param); v[k] = x; sqSum += x*x; } if(sqSum <= 1) break; } // end while // Normalize vector ergo_real norm = std::sqrt(sqSum); for(int k = 0; k < n; k++) v[k] /= norm; } */ /* ELIAS NOTE 2014-07-13: Commented out this unused routine to silence compiler warning. static void do_random_vector_tests(int rand_param) { int N = 200000; int n = 3; ergo_real limit = 0.95; ergo_real probability_naive_min = 1; ergo_real probability_naive_max = 0; ergo_real probability_recursive_min = 1; ergo_real probability_recursive_max = 0; ergo_real probability_new_min = 1; ergo_real probability_new_max = 0; for(int outerLoop = 0; outerLoop < 20; outerLoop++) { int first_component_larger_than_limit_count_naive = 0; int first_component_larger_than_limit_count_recursive = 0; int first_component_larger_than_limit_count_new = 0; for(int i = 0; i < N; i++) { std::vector v_naive; get_normalized_random_vector_naive(v_naive, n, rand_param); if(v_naive[0] > limit) first_component_larger_than_limit_count_naive++; std::vector v_recursive; get_normalized_random_vector_recursive(v_recursive, n, rand_param); if(v_recursive[0] > limit) first_component_larger_than_limit_count_recursive++; std::vector v_new; get_normalized_random_vector_2(v_new, n, rand_param); if(v_new[0] > limit) first_component_larger_than_limit_count_new++; } ergo_real probability_naive = (ergo_real)first_component_larger_than_limit_count_naive / N; ergo_real probability_recursive = (ergo_real)first_component_larger_than_limit_count_recursive / N; ergo_real probability_new = (ergo_real)first_component_larger_than_limit_count_new / N; if(probability_naive > probability_naive_max) probability_naive_max = probability_naive; if(probability_naive < probability_naive_min) probability_naive_min = probability_naive; if(probability_recursive > probability_recursive_max) probability_recursive_max = probability_recursive; if(probability_recursive < probability_recursive_min) probability_recursive_min = probability_recursive; if(probability_new > probability_new_max) probability_new_max = probability_new; if(probability_new < probability_new_min) probability_new_min = probability_new; } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_random_vector_tests(), probability_naive min max = %12.6f %12.6f.", probability_naive_min, probability_naive_max ); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_random_vector_tests(), probability_recursive min max = %12.6f %12.6f.", probability_recursive_min, probability_recursive_max); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_random_vector_tests(), probability_new min max = %12.6f %12.6f.", probability_new_min, probability_new_max ); } */ void SCF_restricted::prepare_stochastic_orbitals() { // do_random_vector_tests(); Util::TimeMeter timeMeter; int n = basisInfo.noOfBasisFuncs; int nOrbs = scfopts.stochastic_orbs_no_of_vectors; stochastic_orbitals.resize(nOrbs); if(scfopts.stochastic_orbs_use_unit_vectors == 1) { // In this case we simply set the "stochastic orbitals" to unit vectors, and continue in a round-robin way if nOrbs>n. for(int i = 0; i < nOrbs; i++) { stochastic_orbitals[i].resize(n); for(int k = 0; k < n; k++) stochastic_orbitals[i][k] = 0; stochastic_orbitals[i][i%n] = 1; } } else { for(int i = 0; i < nOrbs; i++) { #if 1 get_normalized_random_vector_2(stochastic_orbitals[i], n, scfopts.stochastic_orbs_rand_param); #else get_normalized_random_vector_naive(stochastic_orbitals[i], n); #endif } } DensFromFock.set_stochastic_orbitals_params(stochastic_orbitals); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_restricted::prepare_stochastic_orbitals finished OK."); timeMeter.print(LOG_AREA_SCF, "SCF_restricted::prepare_stochastic_orbitals"); } void SCF_restricted::output_csr_matrices_for_gao() { int n = basisInfo.noOfBasisFuncs; FockMatrix.readFromFile(); write_CSR_matrix(n, FockMatrix, "CSR_Fock_matrix.bin", 1e-5, matOpts.inversePermutationHML); FockMatrix.writeToFile(); S_symm.readFromFile(); write_CSR_matrix(n, S_symm, "CSR_overlap_matrix.bin", 1e-5, matOpts.inversePermutationHML); S_symm.writeToFile(); } void SCF_restricted::write_diag_dens_to_file() { int n = basisInfo.noOfBasisFuncs; densityMatrix.readFromFile(); write_diag_elements_to_file(n, densityMatrix, "diagdens.txt", matOpts.permutationHML); densityMatrix.writeToFile(); } void SCF_restricted::report_final_results() { } void SCF_restricted::do_spin_flip(int atomCount) { throw "error: SCF_restricted::do_spin_flip does not make sense, should not have been called."; } void SCF_restricted::save_density_as_prevdens() { densityMatrix.readFromFile(); Dprev.readFromFile(); Dprev = densityMatrix; densityMatrix.writeToFile(); Dprev.writeToFile(); } void SCF_restricted::report_density_difference() { if(scfopts.do_report_density_diff == 0) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_restricted::report_density_difference() skipping: (scfopts.do_report_density_diff == 0)."); return; } Util::TimeMeter tm; densityMatrix.readFromFile(); Dprev.readFromFile(); symmMatrix diff(densityMatrix); diff += (ergo_real)-1.0 * Dprev; ergo_real diff_eucl = GetEuclideanNormOfMatrix(diff); densityMatrix.writeToFile(); Dprev.writeToFile(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_restricted::report_density_difference, diff_eucl = %22.11f", (double)diff_eucl); tm.print(LOG_AREA_SCF, "SCF_restricted::report_density_difference"); } void SCF_restricted::compute_dipole_moment() { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_restricted::compute_dipole_moment"); densityMatrix.readFromFile(); get_dipole_moment(densityMatrix, basisInfo, matOpts.size_block_info, matOpts.permutationHML, molecule, LOG_AREA_SCF, "SCF"); densityMatrix.writeToFile(); } void SCF_restricted::do_mulliken_pop_stuff() { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_restricted::do_mulliken_pop_stuff"); densityMatrix.readFromFile(); S_symm.readFromFile(); do_mulliken_atomic_charges(densityMatrix, S_symm, basisInfo, matOpts.size_block_info, matOpts.permutationHML, matOpts.inversePermutationHML, molecule); densityMatrix.writeToFile(); S_symm.writeToFile(); } void SCF_restricted::create_mtx_files_F(int const scfIter) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Creating mtx file for Fock matrix"); std::stringstream ss_fileName; ss_fileName << "F_matrix_" << scfIter; std::stringstream ss_id; ss_id << scfopts.calculation_identifier << " - effective Hamiltonian matrix, SCF cycle " << scfIter; FockMatrix.readFromFile(); write_matrix_in_matrix_market_format( FockMatrix, matOpts.inversePermutationHML, ss_fileName.str(), ss_id.str(), scfopts.method_and_basis_set ); FockMatrix.writeToFile(); } void SCF_restricted::create_mtx_files_D(int const scfIter) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Creating mtx file for density matrix"); std::stringstream ss_fileName; ss_fileName << "D_matrix_" << scfIter; std::stringstream ss_id; ss_id << scfopts.calculation_identifier << " - density matrix, SCF cycle " << scfIter; densityMatrix.readFromFile(); write_matrix_in_matrix_market_format( densityMatrix, matOpts.inversePermutationHML, ss_fileName.str(), ss_id.str(), scfopts.method_and_basis_set ); densityMatrix.writeToFile(); } void SCF_restricted::create_eigenvectors_files() const { create_eigvec_file(eigVecHOMO, "HOMO", "homo_coefficient_vec"); create_eigvec_file(eigVecLUMO, "LUMO", "lumo_coefficient_vec"); } void SCF_restricted::create_eigvec_file(const generalVector &eigVec, const char *vector_name, const char *filename_id) const { if (eigVec.is_empty()) { do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "Failed to output %s to file. No %s eigenvector stored.", vector_name, vector_name); return; } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Storing %s eigenvector to file %s.", vector_name, filename_id); int n = basisInfo.noOfBasisFuncs; std::vector vec_perm(n); eigVec.fullvector(vec_perm); // now we have the permuted vector std::vector vec(n); for (int ind = 0; ind < n; ind++) vec[ind] = vec_perm[matOpts.inversePermutationHML[ind]]; char ffname[888]; sprintf(ffname, "%s.txt", filename_id); std::ofstream ff(ffname); for (int ind = 0; ind < n; ind++) ff << vec[ind] << std::endl; ff.close(); } static void output_orbital_coeffs_in_gabedit_order(const BasisInfoStruct & basisInfo, std::vector const & shellIdxList, std::ofstream & ff, std::vector const & orbital_vec) { int count = 0; for(int i = 0; i < basisInfo.noOfShells; i++) { int k = shellIdxList[i]; int startIdx = basisInfo.shellList[k].startIndexInMatrix; switch(basisInfo.shellList[k].shellType) { case 0: // s-type shell ff << count+1 << " " << orbital_vec[startIdx] << std::endl; count++; break; case 1: // p-type shell ff << count+1 << " " << orbital_vec[startIdx+2] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+0] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+1] << std::endl; count++; break; case 2: // d-type shell ff << count+1 << " " << orbital_vec[startIdx+2] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+3] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+1] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+4] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+0] << std::endl; count++; break; case 3: // f-type shell ff << count+1 << " " << orbital_vec[startIdx+3] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+4] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+2] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+5] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+1] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+6] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+0] << std::endl; count++; break; case 4: // g-type shell ff << count+1 << " " << orbital_vec[startIdx+4] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+5] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+3] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+6] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+2] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+7] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+1] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+8] << std::endl; count++; ff << count+1 << " " << orbital_vec[startIdx+0] << std::endl; count++; break; default: throw "error in output_orbital_coeffs_in_gabedit_order: shell types beyond g not implemented!"; } } if(count != basisInfo.noOfBasisFuncs) throw "error in output_orbital_coeffs_in_gabedit_order: (count != basisInfo.noOfBasisFuncs)"; } void SCF_restricted::create_gabedit_file() const { if (eigVecHOMO.is_empty() || eigVecLUMO.is_empty()) { do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "Failed to output HOMO/LUMO eigenvectors to gabedit file; no HOMO/LUMO info available."); return; } if(basisInfo.use_6_d_funcs == 1) { do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "Failed to output HOMO/LUMO eigenvectors to gabedit file; not implemented for use_6_d_funcs case."); return; } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Creating Gabedit file with HOMO/LUMO eigenvector info."); int n = basisInfo.noOfBasisFuncs; // Get HOMO std::vector homo_vec_perm(n); eigVecHOMO.fullvector(homo_vec_perm); // now we have the permuted vector std::vector homo_vec(n); for (int ind = 0; ind < n; ind++) homo_vec[ind] = homo_vec_perm[matOpts.permutationHML[ind]]; //homo_vec[ind] = homo_vec_perm[matOpts.inversePermutationHML[ind]]; // Get LUMO std::vector lumo_vec_perm(n); eigVecLUMO.fullvector(lumo_vec_perm); // now we have the permuted vector std::vector lumo_vec(n); for (int ind = 0; ind < n; ind++) lumo_vec[ind] = lumo_vec_perm[matOpts.permutationHML[ind]]; //lumo_vec[ind] = lumo_vec_perm[matOpts.inversePermutationHML[ind]]; // Create Gabedit file. const char fileName [] = "gabeditfile.gab"; std::ofstream ff(fileName); /* FIXME: check if we should use "Cart" or "Sphe" here. That is, should we use use_6_d_funcs? */ int use_6_d_funcs = 0; ff << "[Gabedit Format] Sphe" << std::endl; ff << "[Atoms] Angs" << std::endl; for(int i = 0; i < molecule.getNoOfAtoms(); i++) { char atomLabelString[4]; get_atom_label_from_charge_int(molecule.getAtom(i).charge, atomLabelString, 4); ff << atomLabelString << " " << i+1 << " " << molecule.getAtom(i).charge << " " << molecule.getAtom(i).coords[0] / UNIT_one_Angstrom << " " << molecule.getAtom(i).coords[1] / UNIT_one_Angstrom << " " << molecule.getAtom(i).coords[2] / UNIT_one_Angstrom << std::endl; } std::vector shellIdxList(basisInfo.noOfShells); int shellIdxCounter = 0; SquareFuncIntegrator sfi; ff << "[Basis]" << std::endl; for(int i = 0; i < molecule.getNoOfAtoms(); i++) { ff << i+1 << " 0" << std::endl; // Now output info about shells for this atom. for(int k = 0; k < basisInfo.noOfShells; k++) { // Check if this shell belongs to the current atom. ergo_real absdx = std::abs(basisInfo.shellList[k].centerCoords[0] - molecule.getAtom(i).coords[0]); ergo_real absdy = std::abs(basisInfo.shellList[k].centerCoords[1] - molecule.getAtom(i).coords[1]); ergo_real absdz = std::abs(basisInfo.shellList[k].centerCoords[2] - molecule.getAtom(i).coords[2]); ergo_real distlimit = 0.01; if(absdx > distlimit || absdy > distlimit || absdz > distlimit) continue; // OK, now we know this shell is at least very near the current atom. shellIdxList[shellIdxCounter] = k; shellIdxCounter++; char shellChar = 'x'; int shellType = basisInfo.shellList[k].shellType; switch(shellType) { case 0: shellChar = 's'; break; case 1: shellChar = 'p'; break; case 2: shellChar = 'd'; break; case 3: shellChar = 'f'; break; case 4: shellChar = 'g'; break; default: throw "SCF_restricted::create_gabedit_file error: shell types beyond g not implemented!"; } ff << shellChar << " " << basisInfo.shellList[k].noOfContr << " 1.00" << std::endl; for(int contridx = 0; contridx < basisInfo.shellList[k].noOfContr; contridx++) { ergo_real exponent = basisInfo.shellList[k].exponentList[contridx]; ergo_real shellFactor = sfi.getShellFactor(integralInfo, exponent, shellType, use_6_d_funcs); ergo_real coeff = basisInfo.shellList[k].coeffList[contridx] / shellFactor; ff << exponent << " " << coeff << std::endl; } } // Blank line before shells for next atom. ff << std::endl; } if(shellIdxCounter != basisInfo.noOfShells) throw "Error: (shellIdxCounter != basisInfo.noOfShells)"; // MO section. ff << "[MO]" << std::endl; // HOMO ff << "Spin=Alpha" << std::endl; ff << "Occup= 2.000000" << std::endl; output_orbital_coeffs_in_gabedit_order(basisInfo, shellIdxList, ff, homo_vec); // LUMO ff << "Spin=Alpha" << std::endl; ff << "Occup= 0.000000" << std::endl; output_orbital_coeffs_in_gabedit_order(basisInfo, shellIdxList, ff, lumo_vec); // Blank line before end of file. ff << std::endl; // Close file. ff.close(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Gabedit file '%s' with HOMO/LUMO eigenvector info created OK.", fileName); } void SCF_restricted::update_subspace_diff() { densityMatrix.readFromFile(); Dprev.readFromFile(); ergo_real acc = std::sqrt(get_machine_epsilon()); symmMatrix diff(densityMatrix); diff += (ergo_real)-1.0 * Dprev; transform_with_S(diff); transform_with_invChol(diff); // Compensate for factor 2 (restricted case) diff *= (ergo_real)0.5; ergo_real diff_eucl = diff.eucl(acc); densityMatrix.writeToFile(); Dprev.writeToFile(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_restricted::update_subspace_diff, diff_eucl = %22.11f", (double)diff_eucl); curr_subspace_diff = diff_eucl; } struct RandomNumber { ergo_real accumulate(ergo_real& a, int const dummy1, int const dummy2) { a = rand() / (ergo_real)RAND_MAX; return 0; } }; /** Transform matrix A to S*A*S */ void SCF_restricted::transform_with_S(symmMatrix & A) { S_symm.readFromFile(); normalMatrix S_norm(S_symm); normalMatrix A_norm(A); normalMatrix SA(S_symm); SA = (ergo_real)1.0 * S_norm * A_norm; normalMatrix SAS(S_symm); SAS = (ergo_real)1.0 * SA * S_norm; A = SAS; S_symm.writeToFile(); } /** Transform matrix A to invCholT*A*invChol */ void SCF_restricted::transform_with_invChol(symmMatrix & A) { invCholFactor.readFromFile(); A = transpose(invCholFactor) * A * invCholFactor; invCholFactor.writeToFile(); } void SCF_restricted::get_non_ort_err_mat_normalized_in_ort_basis(symmMatrix & randomMatrix, int transform_with_S_also) { symmMatrix randomMatrix1; randomMatrix1.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); symmMatrix randomMatrix2; randomMatrix2.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); randomMatrix1.random(); randomMatrix2.random(); randomMatrix = 0; randomMatrix += (ergo_real) 1.0 * randomMatrix1; randomMatrix += (ergo_real)-1.0 * randomMatrix2; symmMatrix randomMatrix_ort(randomMatrix); if(transform_with_S_also) transform_with_S(randomMatrix_ort); transform_with_invChol(randomMatrix_ort); ergo_real acc = std::sqrt(get_machine_epsilon()); ergo_real randomMatrix_Norm = randomMatrix.eucl(acc); ergo_real randomMatrix_ort_Norm = randomMatrix_ort.eucl(acc); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "norms of randomMatrix and randomMatrix_ort : %22.11f %22.11f", (double)randomMatrix_Norm, (double)randomMatrix_ort_Norm); // Normalize randomMatrix so that randomMatrix_ort would have norm 1. randomMatrix *= (ergo_real)(1.0 / randomMatrix_ort_Norm); ergo_real randomMatrixNormAfterNormalization = randomMatrix.eucl(acc); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "randomMatrixNormAfterNormalization = %22.11f", (double)randomMatrixNormAfterNormalization); }; void SCF_restricted::disturb_dens_matrix(ergo_real subspaceError) { ergo_real gap = 2; ergo_real desiredErrorNorm = gap * subspaceError / (1 + subspaceError); symmMatrix randomMatrix; randomMatrix.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); get_non_ort_err_mat_normalized_in_ort_basis(randomMatrix, 1); densityMatrix.readFromFile(); densityMatrix += desiredErrorNorm * randomMatrix; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Disturbed density matrix with desiredErrorNorm = %22.11f (gap = %8.3f)", (double)desiredErrorNorm, (double)gap); densityMatrix.writeToFile(); } void SCF_restricted::disturb_dens_matrix_exact_try(const symmMatrix & randomMatrix, const symmMatrix & orgDensMatrix, ergo_real disturbanceFactor, ergo_real & resultSinTheta, symmMatrix & resultDensMatrix) { symmMatrix D(orgDensMatrix); D += (ergo_real)1.0 * disturbanceFactor * randomMatrix; symmMatrix SDS_symm(D); transform_with_S(SDS_symm); SDS_symm *= (ergo_real)-1.0; symmMatrix F_ort_prev_dummy; F_ort_prev_dummy.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); F_ort_prev_dummy.writeToFile(); resultDensMatrix.writeToFile(); SDS_symm.writeToFile(); int use_diag = DensFromFock.get_use_diagonalization(); int use_diag_on_error = DensFromFock.get_use_diag_on_error(); DensFromFock.unset_use_diagonalization(); DensFromFock.unset_use_diag_on_error(); DensFromFock.clean_eigs_intervals(); if(DensFromFock.get_dens_from_fock(SDS_symm, resultDensMatrix, F_ort_prev_dummy) != 0) { throw "SCF_restricted::disturb_dens_matrix_exact_try: Error in get_dens_from_fock"; } if( use_diag == 1 ) DensFromFock.set_use_diagonalization(); if( use_diag_on_error == 1 ) DensFromFock.set_use_diag_on_error(); // OK, now we have computed D_Pure which is the purified version of SDS_symm. // But D_Pure is not in orthogonal basis. resultDensMatrix.readFromFile(); symmMatrix diff(resultDensMatrix); diff += (ergo_real)-1.0 * orgDensMatrix; transform_with_S(diff); transform_with_invChol(diff); // Compensate for factor 2 (restricted case) diff *= (ergo_real)0.5; ergo_real acc = std::sqrt(get_machine_epsilon()); resultSinTheta = diff.eucl(acc); } void SCF_restricted::disturb_dens_matrix_exact(ergo_real subspaceError) { //ergo_real gap = 2; //ergo_real desiredErrorNorm = gap * subspaceError / (1 + subspaceError); symmMatrix randomMatrix; randomMatrix.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); get_non_ort_err_mat_normalized_in_ort_basis(randomMatrix, 1); symmMatrix newDensMatrix; newDensMatrix.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); densityMatrix.readFromFile(); ergo_real currSinTheta; ergo_real disturbanceFactor_min = 0; ergo_real disturbanceFactor_max = 5; int iterCount = 0; do { iterCount++; if(iterCount > 44) throw "error in SCF_restricted::disturb_dens_matrix_exact, iterCount esceeded limit."; ergo_real disturbanceFactor = 0.5 * (disturbanceFactor_min + disturbanceFactor_max); disturb_dens_matrix_exact_try(randomMatrix, densityMatrix, disturbanceFactor, currSinTheta, newDensMatrix); if(currSinTheta < subspaceError) disturbanceFactor_min = disturbanceFactor; else disturbanceFactor_max = disturbanceFactor; } while(std::fabs(currSinTheta - subspaceError) > 0.001*subspaceError); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_restricted::disturb_dens_matrix_exact done, iterCount = %2i", iterCount); densityMatrix = newDensMatrix; densityMatrix.writeToFile(); } void SCF_restricted::disturb_fock_matrix(ergo_real subspaceError) { symmMatrix F_ort_prev_dummy; F_ort_prev_dummy.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); F_ort_prev_dummy.writeToFile(); symmMatrix densityMatrix_dummy; densityMatrix_dummy.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); densityMatrix_dummy.writeToFile(); int use_diag = DensFromFock.get_use_diagonalization(); int use_diag_on_error = DensFromFock.get_use_diag_on_error(); DensFromFock.unset_use_diagonalization(); DensFromFock.unset_use_diag_on_error(); DensFromFock.clean_eigs_intervals(); if(DensFromFock.get_dens_from_fock(FockMatrix, densityMatrix_dummy, F_ort_prev_dummy) != 0) { throw "SCF_restricted::disturb_fock_matrix: Error in get_dens_from_fock"; } if( use_diag == 1 ) DensFromFock.set_use_diagonalization(); if( use_diag_on_error == 1 ) DensFromFock.set_use_diag_on_error(); intervalType homoInterval_tmp2; intervalType lumoInterval_tmp2; DensFromFock.get_eigs_F_ort_prev(homoInterval_tmp2, lumoInterval_tmp2); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_restricted::disturb_fock_matrix, interval sizes: %22.11f %22.11f", (double)(homoInterval_tmp2.upp() - homoInterval_tmp2.low()), (double)(lumoInterval_tmp2.upp() - lumoInterval_tmp2.low())); ergo_real gap = lumoInterval_tmp2.low() - homoInterval_tmp2.upp(); ergo_real desiredErrorNorm = gap * subspaceError / (1 + subspaceError); symmMatrix randomMatrix; randomMatrix.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); get_non_ort_err_mat_normalized_in_ort_basis(randomMatrix, 0); FockMatrix.readFromFile(); FockMatrix += desiredErrorNorm * randomMatrix; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Disturbed Fock matrix with desiredErrorNorm = %22.11f (gap = %8.3f)", (double)desiredErrorNorm, (double)gap); FockMatrix.writeToFile(); } static ergo_real get_nucl_energy_for_given_mol_and_dens(const IntegralInfo& integralInfo, const Molecule& molecule, const BasisInfoStruct& basisInfo, const symmMatrix & D, ergo_real threshold_integrals_1el, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML) { ergo_real nuclearRepulsionEnergy = molecule.getNuclearRepulsionEnergy(); ergo_real elecNuclEnergy = get_electron_nuclear_attraction_energy(integralInfo, molecule, basisInfo, D, threshold_integrals_1el, matrix_size_block_info, permutationHML); return nuclearRepulsionEnergy + elecNuclEnergy; } /* Compute gradient of energy with respect to nuclear positions, for fixed electron density. */ void SCF_restricted::compute_gradient_fixeddens() { // Since we here regard the electron density as fixed, there are // only two terms in the energy which give nonzero contributions: // the nuclear-electron interaction term, and the nuclear-nuclear // interaction term. densityMatrix.readFromFile(); int nAtoms = molecule.getNoOfAtoms(); std::vector gradient(nAtoms*3); get_gradient_for_given_mol_and_dens(integralInfo, molecule, basisInfo, densityMatrix, threshold_integrals_1el, matOpts.size_block_info, matOpts.permutationHML, &gradient[0]); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Gradient of energy with respect to nuclear positions, for fixed electron density:"); for(int i = 0; i < nAtoms; i++) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Atom %6d: %22.11f %22.11f %22.11f", i, (double)gradient[i*3+0], (double)gradient[i*3+1], (double)gradient[i*3+2]); } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "(End of gradient)"); if(scfopts.verify_gradient_fixeddens == 1) { std::vector gradient_for_verification(nAtoms*3); for(int i = 0; i < nAtoms; i++) { for(int coordIdx = 0; coordIdx < 3; coordIdx++) { const ergo_real h = 1e-3; Molecule moleculeTmp = molecule; Atom atomTmp = molecule.getAtom(i); atomTmp.coords[coordIdx] += h; moleculeTmp.replaceAtom(i, atomTmp); ergo_real E1 = get_nucl_energy_for_given_mol_and_dens(integralInfo, moleculeTmp, basisInfo, densityMatrix, threshold_integrals_1el, matOpts.size_block_info, matOpts.permutationHML); moleculeTmp = molecule; atomTmp = molecule.getAtom(i); atomTmp.coords[coordIdx] -= h; moleculeTmp.replaceAtom(i, atomTmp); ergo_real E2 = get_nucl_energy_for_given_mol_and_dens(integralInfo, moleculeTmp, basisInfo, densityMatrix, threshold_integrals_1el, matOpts.size_block_info, matOpts.permutationHML); ergo_real gradientComponent = (E1 - E2) / (2 * h); gradient_for_verification[i*3+coordIdx] = gradientComponent; } // END FOR coordIdx } // END FOR i do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Gradient of energy with respect to nuclear positions, for fixed electron density (for verification, computed using finite differences):"); for(int i = 0; i < nAtoms; i++) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Atom %6d: %22.11f %22.11f %22.11f", i, (double)gradient_for_verification[i*3+0], (double)gradient_for_verification[i*3+1], (double)gradient_for_verification[i*3+2]); } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "(End of gradient)"); ergo_real maxAbsDiff = -1; int atomIdx_saved = -1; int coordIdx_saved = -1; for(int atomIdx = 0; atomIdx < nAtoms; atomIdx++) for(int coordIdx = 0; coordIdx < 3; coordIdx++) { ergo_real absdiff = std::fabs(gradient[atomIdx*3+coordIdx] - gradient_for_verification[atomIdx*3+coordIdx]); if(absdiff > maxAbsDiff) { maxAbsDiff = absdiff; atomIdx_saved = atomIdx; coordIdx_saved = coordIdx; } } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "maxAbsDiff %22.11f = %9.4g, for atomIdx %d and coordIdx %d", maxAbsDiff, maxAbsDiff, atomIdx_saved, coordIdx_saved); } densityMatrix.writeToFile(); } ergo-3.5/source/scf/scf_utils.cc0000664000175000017500000026310112743400307013620 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file scf_utils.cc Various utilities used by SCF code. For example, interface routines converting between HML matrix format used in main SCF code and elementwise format used by integral code. @author: Elias Rudberg responsible. */ #include #include #include "scf_utils.h" #include "output.h" #include "integrals_1el.h" #include "memorymanag.h" #include "operator_matrix.h" #include "integrals_1el_kinetic.h" #include "integrals_1el_potential.h" #include "utilities.h" #include "integrals_2el_explicit.h" #include "basis_func_pair_list.h" #include "integrals_2el_boxed.h" #include "integrals_2el_explicit.h" #include "integrals_2el_layer.h" #include "density_description_file.h" #include "mat_acc_extrapolate.h" #include "basis_func_pair_list_1el.h" #include "integral_matrix_wrappers.h" #include "units.h" #include "densitymanager.h" /* Flag for skipping DFT stuff, used in QD precision tests. */ //#define SKIP_DFT_FLAG #ifndef SKIP_DFT_FLAG #include "dft_common.h" #include "xc_matrix.h" #include "xc_matrix_sparse.h" #endif template static void do_scan_and_report(Tinvestigator investigator, Tworker worker, const char* scanName, int nSteps, ergo_real startThresh, ergo_real stepFactor) { investigator.Scan(worker, startThresh, stepFactor, nSteps); ergo_real threshList[nSteps]; ergo_real errorList_frob[nSteps]; ergo_real errorList_eucl[nSteps]; ergo_real errorList_maxe[nSteps]; ergo_real timeList[nSteps]; investigator.GetScanResult(threshList, errorList_frob, errorList_eucl, errorList_maxe, timeList); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Accuracy scan result for '%s':", scanName); do_output(LOG_CAT_INFO, LOG_AREA_SCF, " thresh frob eucl maxe time"); for(int i = 0; i < nSteps; i++) do_output(LOG_CAT_INFO, LOG_AREA_SCF, "%15.6g %15.6g %15.6g %15.6g %15.6g", (double)threshList[i], (double)errorList_frob[i], (double)errorList_eucl[i], (double)errorList_maxe[i], (double)timeList[i]); } class Jworker { public: Jworker(const symmMatrix & D_, const IntegralInfo & integralInfo_, const BasisInfoStruct & basisInfo_, const triangMatrix & invCholFactor_, bool doInvCholFactorTransformation_, const JK::Params & J_K_params_, std::vector const & permutationHML_) : D(D_), integralInfo(integralInfo_), basisInfo(basisInfo_), invCholFactor(invCholFactor_), doInvCholFactorTransformation(doInvCholFactorTransformation_), permutationHML(permutationHML_) { J_K_params = J_K_params_; } void ComputeMatrix(ergo_real param, symmMatrix & result) const; private: const symmMatrix & D; const IntegralInfo & integralInfo; const BasisInfoStruct & basisInfo; const triangMatrix & invCholFactor; bool doInvCholFactorTransformation; JK::Params J_K_params; std::vector const & permutationHML; }; void Jworker::ComputeMatrix(ergo_real param, symmMatrix & result) const { JK::Params J_K_params_tmp = J_K_params; J_K_params_tmp.threshold_J = param; if(compute_J_by_boxes_sparse(basisInfo, integralInfo, J_K_params_tmp, result, D, permutationHML) != 0) throw "Jworker::ComputeMatrix: error in compute_J_by_boxes_sparse"; if(doInvCholFactorTransformation) result = transpose(invCholFactor) * result * invCholFactor; } void do_acc_scan_J(const symmMatrix & D, const IntegralInfo & integralInfo, const BasisInfoStruct & basisInfo, triangMatrix & invCholFactor, bool doInvCholFactorTransformation, const JK::Params & J_K_params, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, int nSteps, ergo_real startThresh, ergo_real stepFactor) { invCholFactor.readFromFile(); Jworker worker(D, integralInfo, basisInfo, invCholFactor, doInvCholFactorTransformation, J_K_params, permutationHML); MatAccInvestigator investigator(matrix_size_block_info); do_scan_and_report(investigator, worker, "J", nSteps, startThresh, stepFactor); invCholFactor.writeToFile(); } class Kworker { public: Kworker(symmMatrix & D_, const IntegralInfo & integralInfo_, const BasisInfoStruct & basisInfo_, const triangMatrix & invCholFactor_, bool doInvCholFactorTransformation_, const JK::ExchWeights & CAM_params_, const JK::Params & J_K_params_, std::vector const & permutationHML_, std::vector const & inversePermutationHML_) : D(D_), integralInfo(integralInfo_), basisInfo(basisInfo_), invCholFactor(invCholFactor_), doInvCholFactorTransformation(doInvCholFactorTransformation_), CAM_params(CAM_params_), permutationHML(permutationHML_), inversePermutationHML(inversePermutationHML_) { J_K_params = J_K_params_; } void ComputeMatrix(ergo_real param, symmMatrix & result) const; private: symmMatrix & D; const IntegralInfo & integralInfo; const BasisInfoStruct & basisInfo; const triangMatrix & invCholFactor; bool doInvCholFactorTransformation; const JK::ExchWeights & CAM_params; JK::Params J_K_params; std::vector const & permutationHML; std::vector const & inversePermutationHML; }; void Kworker::ComputeMatrix(ergo_real param, symmMatrix & result) const { JK::Params J_K_params_tmp = J_K_params; J_K_params_tmp.threshold_K = param; if(compute_K_by_boxes_sparse(basisInfo, integralInfo, CAM_params, J_K_params_tmp, result, D, permutationHML, inversePermutationHML) != 0) throw "Kworker::ComputeMatrix: error in compute_K_by_boxes_sparse"; if(doInvCholFactorTransformation) result = transpose(invCholFactor) * result * invCholFactor; } void do_acc_scan_K(symmMatrix & D, const IntegralInfo & integralInfo, const BasisInfoStruct & basisInfo, triangMatrix & invCholFactor, bool doInvCholFactorTransformation, const JK::ExchWeights & CAM_params, const JK::Params & J_K_params, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, int nSteps, ergo_real startThresh, ergo_real stepFactor) { invCholFactor.readFromFile(); Kworker worker(D, integralInfo, basisInfo, invCholFactor, doInvCholFactorTransformation, CAM_params, J_K_params, permutationHML, inversePermutationHML); MatAccInvestigator investigator(matrix_size_block_info); do_scan_and_report(investigator, worker, "K", nSteps, startThresh, stepFactor); invCholFactor.writeToFile(); } class Vxc_worker { public: Vxc_worker(symmMatrix & D_, const IntegralInfo & integralInfo_, const BasisInfoStruct & basisInfo_, const Molecule & molecule_, const Dft::GridParams & gridParams_, int noOfElectrons_, const triangMatrix & invCholFactor_, bool doInvCholFactorTransformation_, mat::SizesAndBlocks const & matrix_size_block_info_, std::vector const & permutationHML_, std::vector const & inversePermutationHML_) : D(D_), integralInfo(integralInfo_), basisInfo(basisInfo_), molecule(molecule_), gridParams(gridParams_), noOfElectrons(noOfElectrons_), invCholFactor(invCholFactor_), doInvCholFactorTransformation(doInvCholFactorTransformation_), matrix_size_block_info(matrix_size_block_info_), permutationHML(permutationHML_), inversePermutationHML(inversePermutationHML_) { } void ComputeMatrix(ergo_real param, symmMatrix & result) const; private: symmMatrix & D; const IntegralInfo & integralInfo; const BasisInfoStruct & basisInfo; const Molecule & molecule; const Dft::GridParams & gridParams; int noOfElectrons; const triangMatrix & invCholFactor; bool doInvCholFactorTransformation; mat::SizesAndBlocks const & matrix_size_block_info; std::vector const & permutationHML; std::vector const & inversePermutationHML; }; void Vxc_worker::ComputeMatrix(ergo_real param, symmMatrix & result) const { Dft::GridParams gridParams_tmp = gridParams; gridParams_tmp.hicuParams.maxError = param; result.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); /* Remove grid files to make sure new grid is generated. */ grid_free_files(); ergo_real dftEnergy = 0; Dft::getXC_mt(basisInfo, integralInfo, molecule, gridParams_tmp, noOfElectrons, D, result, &dftEnergy, permutationHML); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Vxc_worker::ComputeMatrix dftEnergy = %25.15f", (double)dftEnergy); if(doInvCholFactorTransformation) result = transpose(invCholFactor) * result * invCholFactor; } void do_acc_scan_Vxc(symmMatrix & D, const IntegralInfo & integralInfo, const BasisInfoStruct & basisInfo, const Molecule & molecule, const Dft::GridParams & gridParams, int noOfElectrons, triangMatrix & invCholFactor, bool doInvCholFactorTransformation, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, int nSteps, ergo_real startThresh, ergo_real stepFactor) { invCholFactor.readFromFile(); Vxc_worker worker(D, integralInfo, basisInfo, molecule, gridParams, noOfElectrons, invCholFactor, doInvCholFactorTransformation, matrix_size_block_info, permutationHML, inversePermutationHML); MatAccInvestigator investigator(matrix_size_block_info); do_scan_and_report(investigator, worker, "Vxc", nSteps, startThresh, stepFactor); invCholFactor.writeToFile(); } template void output_sparsity_template(int n, const Tmatrix & M, const char* matrixName, const char* matrixTypeName) { /* Use double to avoid integer overflow. */ double nnz_as_double = M.nnz(); ergo_real percent = 100 * nnz_as_double / ((double)n*n); ergo_real memUsage = (double)M.memory_usage() / 1000000000; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Matrix '%s' (%s): n = %6i, nnz = %12.0f <-> %6.2f %%, mem usage %7.4f G", matrixName, matrixTypeName, n, nnz_as_double, (double)percent, (double)memUsage); } void output_sparsity(int n, const normalMatrix & M, const char* matrixName) { output_sparsity_template(n, M, matrixName, "normal"); } void output_sparsity_symm(int n, const symmMatrix & M, const char* matrixName) { output_sparsity_template(n, M, matrixName, " symm "); } void output_sparsity_triang(int n, const triangMatrix & M, const char* matrixName) { output_sparsity_template(n, M, matrixName, "triang"); } static ergo_real get_trace(int n, const ergo_real* P, const ergo_real* H_core) { ergo_real sum = 0; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) sum += P[i*n+j] * H_core[i*n+j]; return sum; } static int add_square_matrices(int n, const ergo_real* A, const ergo_real* B, ergo_real* C) { int n2 = n*n; for(int i = 0; i < n2; i++) C[i] = A[i] + B[i]; return 0; } #if 0 static int assign_from_full_via_vectors_symm(int n, ergo_real* full, symmMatrix & result, std::vector const & permutationHML) { // Count nonzero elements const ergo_real threshold = 1e-14; int nvalues = 0; for(int i = 0; i < n; i++) for(int j = i; j < n; j++) { if(std::fabs(full[i*n+j]) > threshold) nvalues++; } // allocate vectors std::vector rowind(nvalues); std::vector colind(nvalues); std::vector values(nvalues); // populate vectors int count = 0; for(int i = 0; i < n; i++) for(int j = i; j < n; j++) { if(std::fabs(full[i*n+j]) > threshold) { if(count >= nvalues) return -1; rowind[count] = i; colind[count] = j; values[count] = full[i*n+j]; count++; } } result.assign_from_sparse(rowind, colind, values, permutationHML, permutationHML); return 0; } #endif int compute_h_core_matrix_simple_dense(const IntegralInfo& integralInfo, const Molecule& molecule, const BasisInfoStruct& basisInfo, symmMatrix & H_core_Matrix_sparse, ergo_real threshold_integrals_1el, int noOfThreadsForV, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML) { int n = basisInfo.noOfBasisFuncs; std::vector A(n*n); if(compute_h_core_matrix_full(integralInfo, basisInfo, molecule.getNoOfAtoms(), molecule.getAtomListPtr(), &A[0], threshold_integrals_1el) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_h_core_matrix_full"); return -1; } int nvalues = n * (n + 1) / 2; std::vector rowind(nvalues); std::vector colind(nvalues); std::vector values(nvalues); // populate vectors int count = 0; for(int i = 0; i < n; i++) { for(int j = i; j < n; j++) { rowind[count] = i; colind[count] = j; values[count] = A[i*n+j]; count++; } } H_core_Matrix_sparse.assign_from_sparse(rowind, colind, values, permutationHML, permutationHML); return 0; } int compute_h_core_matrix_sparse(const IntegralInfo& integralInfo, const Molecule& molecule, const Molecule& extraCharges, ergo_real electric_field_x, ergo_real electric_field_y, ergo_real electric_field_z, const BasisInfoStruct& basisInfo, symmMatrix & H_core_Matrix_sparse, ergo_real threshold_integrals_1el, int noOfThreadsForV, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, int const create_dipole_mtx, std::vector const * const inversePermutationHML, std::string const * const calculation_identifier, std::string const * const method_and_basis_set) { int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "entering compute_h_core_matrix_sparse, nAtoms = %i, n = %i, threshold = %g", molecule.getNoOfAtoms(), n, (double)threshold_integrals_1el); Util::TimeMeter timeMeterTot; // Get T Util::TimeMeter timeMeterT; symmMatrix T(H_core_Matrix_sparse); T.clear(); if(compute_T_sparse(basisInfo, integralInfo, threshold_integrals_1el, T, permutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_T_sparse"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "compute_T_sparse returned OK."); timeMeterT.print(LOG_AREA_SCF, "compute_T_sparse"); // Get V Util::TimeMeter timeMeterV; symmMatrix V; V.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); ergo_real boxSize = 10.0; if(compute_V_sparse(basisInfo, integralInfo, molecule, threshold_integrals_1el, boxSize, V, permutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_V_sparse"); return -1; } timeMeterV.print(LOG_AREA_SCF, "Computation of V"); H_core_Matrix_sparse = T + V; T.clear(); V.clear(); // No truncation of T or V was done so far... and not now! // Write to file and read again to reduce memory fragmentation. H_core_Matrix_sparse.writeToFile(); H_core_Matrix_sparse.readFromFile(); if(create_dipole_mtx == 1) { // Output dipole matrices in mtx format if ( calculation_identifier == 0 ) throw "calculation_identifier == 0 when create_dipole_mtx == 1"; if ( method_and_basis_set == 0 ) throw "method_and_basis_set == 0 when create_dipole_mtx == 1"; if ( inversePermutationHML == 0 ) throw "inversePermutationHML == 0 when create_dipole_mtx == 1"; { // dipole matrix X std::stringstream id_ss; id_ss << *calculation_identifier << " - dipole matrix X"; symmMatrix fieldMatrix(H_core_Matrix_sparse); fieldMatrix.clear(); if(compute_operator_matrix_sparse_symm(basisInfo, 1, 0, 0, fieldMatrix, permutationHML) != 0) return -1; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Creating mtx file for dipole matrix X"); write_matrix_in_matrix_market_format( fieldMatrix, *inversePermutationHML, "dipole_matrix_x", id_ss.str(), *method_and_basis_set ); } { // dipole matrix Y std::stringstream id_ss; id_ss << *calculation_identifier << " - dipole matrix Y"; symmMatrix fieldMatrix(H_core_Matrix_sparse); fieldMatrix.clear(); if(compute_operator_matrix_sparse_symm(basisInfo, 0, 1, 0, fieldMatrix, permutationHML) != 0) return -1; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Creating mtx file for dipole matrix Y"); write_matrix_in_matrix_market_format( fieldMatrix, *inversePermutationHML, "dipole_matrix_y", id_ss.str(), *method_and_basis_set ); } { // dipole matrix Z std::stringstream id_ss; id_ss << *calculation_identifier << " - dipole matrix Z"; symmMatrix fieldMatrix(H_core_Matrix_sparse); fieldMatrix.clear(); if(compute_operator_matrix_sparse_symm(basisInfo, 0, 0, 1, fieldMatrix, permutationHML) != 0) return -1; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Creating mtx file for dipole matrix Z"); write_matrix_in_matrix_market_format( fieldMatrix, *inversePermutationHML, "dipole_matrix_z", id_ss.str(), *method_and_basis_set ); } } // end if(create_dipole_mtx == 1) // Add contributions from electric field, if any if(electric_field_x != 0) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "electric_field_x = %22.11f", (double)electric_field_x); symmMatrix fieldMatrix(H_core_Matrix_sparse); fieldMatrix.clear(); if(compute_operator_matrix_sparse_symm(basisInfo, 1, 0, 0, fieldMatrix, permutationHML) != 0) return -1; H_core_Matrix_sparse += (ergo_real)(-1.0) * electric_field_x * fieldMatrix; } if(electric_field_y != 0) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "electric_field_y = %22.11f", (double)electric_field_y); symmMatrix fieldMatrix(H_core_Matrix_sparse); fieldMatrix.clear(); if(compute_operator_matrix_sparse_symm(basisInfo, 0, 1, 0, fieldMatrix, permutationHML) != 0) return -1; H_core_Matrix_sparse += (ergo_real)(-1.0) * electric_field_y * fieldMatrix; } if(electric_field_z != 0) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "electric_field_z = %22.11f", (double)electric_field_z); symmMatrix fieldMatrix(H_core_Matrix_sparse); fieldMatrix.clear(); if(compute_operator_matrix_sparse_symm(basisInfo, 0, 0, 1, fieldMatrix, permutationHML) != 0) return -1; H_core_Matrix_sparse += (ergo_real)(-1.0) * electric_field_z * fieldMatrix; } // Add contribution from extra charges, if any. if(extraCharges.getNoOfAtoms() > 0) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Using 'extra charges', extraCharges.noOfAtoms = %d", extraCharges.getNoOfAtoms()); ergo_real sumCharge = 0; ergo_real maxCharge = extraCharges.getAtom(0).charge; ergo_real minCharge = extraCharges.getAtom(0).charge; for(int i = 0; i < extraCharges.getNoOfAtoms(); i++) { ergo_real currCharge = extraCharges.getAtom(i).charge; sumCharge += currCharge; if(currCharge > maxCharge) maxCharge = currCharge; if(currCharge < minCharge) minCharge = currCharge; } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Using 'extra charges', sum = %8.4f, min = %8.4f, max = %8.4f", (double)sumCharge, (double)minCharge, (double)maxCharge); ergo_real minDist = std::numeric_limits::max(); ergo_real minDistCharge1 = 0; ergo_real minDistCharge2 = 0; for(int i = 0; i < extraCharges.getNoOfAtoms(); i++) for(int j = 0; j < molecule.getNoOfAtoms(); j++) { ergo_real dx = extraCharges.getAtom(i).coords[0] - molecule.getAtom(j).coords[0]; ergo_real dy = extraCharges.getAtom(i).coords[1] - molecule.getAtom(j).coords[1]; ergo_real dz = extraCharges.getAtom(i).coords[2] - molecule.getAtom(j).coords[2]; ergo_real dist = std::sqrt(dx*dx+dy*dy+dz*dz); if(dist < minDist) { minDist = dist; minDistCharge1 = molecule.getAtom(j).charge; minDistCharge2 = extraCharges.getAtom(i).charge; } } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Min dist between any 'extra charge' atom and any atom in main molecule: %9.5f a.u. = %9.5f Angstrom", (ergo_real)minDist, (ergo_real)(minDist/UNIT_one_Angstrom)); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Charges for min dist: %9.5f (main) and %9.5f (extra)", (double)minDistCharge1, (double)minDistCharge2); Util::TimeMeter timeMeter_V_extra; symmMatrix V_extra; V_extra.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); ergo_real boxSize = 10.0; if(compute_V_sparse(basisInfo, integralInfo, extraCharges, threshold_integrals_1el, boxSize, V_extra, permutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_V_sparse"); return -1; } timeMeter_V_extra.print(LOG_AREA_SCF, "Computation of V_extra"); H_core_Matrix_sparse += (ergo_real)(1.0) * V_extra; } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "compute_h_core_matrix_sparse ending OK."); timeMeterTot.print(LOG_AREA_SCF, "compute_h_core_matrix_sparse"); return 0; } int get_gradient_for_given_mol_and_dens(const IntegralInfo& integralInfo, const Molecule& molecule, const BasisInfoStruct& basisInfo, const symmMatrix & D, ergo_real threshold_integrals_1el, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, ergo_real* result_gradient_list) { ergo_real boxSize = 1.0; if(compute_gradient_of_nucl_and_trDV(basisInfo, integralInfo, molecule, threshold_integrals_1el, boxSize, D, permutationHML, result_gradient_list) != 0) { throw "Error in compute_gradient_of_tr_D_V"; } return 0; } /** Saves specified symmetic matrix to a file of specified name. @param A the matrix to save. The matrix must be saved to a backing store already. @param basisInfo the basis set description. @param fileName The file that will contain the matrix. It will be overwritten without further questions. @param inversePermutationHML permutation information needed when using hierarchic matrices. */ int save_symmetric_matrix(symmMatrix& A, const BasisInfoStruct & basisInfo, const char *fileName, std::vector const & inversePermutationHML) { int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "save_symmetric_matrix allocating full n*n matrix."); ergo_real* potentialMatrixFull = new ergo_real[n*n]; normalMatrix* tmpMat; A.readFromFile(); tmpMat = new normalMatrix(A); A.writeToFile(); std::vector fullTmp(n*n); tmpMat->fullMatrix(fullTmp, inversePermutationHML, inversePermutationHML); std::copy (fullTmp.begin(), fullTmp.end(), potentialMatrixFull); delete tmpMat; int ret = ddf_writeShellListAndDensityMatricesToFile(basisInfo, 1, &potentialMatrixFull, fileName); delete [] potentialMatrixFull; return ret; } int add_disturbance_to_matrix(int n, symmMatrix & A, ergo_real disturbance, int specificElementCount, const int* elementIndexVector, std::vector const & permutationHML) { // Create diagonal matrix with random numbers. std::vector diagonalValues(n); std::vector rowind(n); std::vector colind(n); for(int i = 0; i < n; i++) diagonalValues[i] = 0; if(specificElementCount == 0) { // use random numbers for(int i = 0; i < n; i++) { double randomNumber = (double)rand() / RAND_MAX; // Now randomNumber is between 0 and 1 randomNumber *= 2; // Now randomNumber is between 0 and 2 randomNumber -= 1; // Now randomNumber is between -1 and 1 diagonalValues[i] = randomNumber * disturbance; } } else { // use list of specific elements for(int i = 0; i < specificElementCount; i++) { int idx = elementIndexVector[i]; if(idx >= 0 && idx < n) diagonalValues[idx] = disturbance; } } for(int i = 0; i < n; i++) { rowind[i] = i; colind[i] = i; } symmMatrix B(A); B.clear(); B.assign_from_sparse(rowind, colind, diagonalValues, permutationHML, permutationHML); A += (ergo_real)1.0 * B; return 0; } int get_simple_starting_guess_sparse(int n, int noOfElectrons, symmMatrix & densityMatrix) { std::vector diagonalValues(n); std::vector rowind(n); std::vector colind(n); for(int i = 0; i < n; i++) diagonalValues[i] = (ergo_real)noOfElectrons / n; for(int i = 0; i < n; i++) { rowind[i] = i; colind[i] = i; } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "get_simple_starting_guess_sparse: calling densityMatrix.assign_from_sparse."); densityMatrix.assign_from_sparse(rowind, colind, diagonalValues); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "get_simple_starting_guess_sparse: densityMatrix.assign_from_sparse returned."); return 0; } int get_diag_matrix_from_file(int n, symmMatrix & M, const char* fileName, std::vector const & permutationHML) { std::vector diagonalValues(n); std::vector rowind(n); std::vector colind(n); // First read values from file. FILE* f = fopen(fileName, "rt"); if(f == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error opening file '%s'", fileName); return -1; } const int BUFSIZE = 888888; std::vector buf(BUFSIZE); memset(&buf[0], 0, BUFSIZE * sizeof(char)); int nBytes = (int)fread(&buf[0], sizeof(char), BUFSIZE, f); fclose(f); if(nBytes <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error reading file '%s'", fileName); return -1; } if(nBytes >= (BUFSIZE-1000)) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in get_diag_matrix_from_file: input file too large"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "get_diag_matrix_from_file: File '%s' read OK, nBytes = %i", fileName, nBytes); int i = 0; char* p = &buf[0]; while(*p != '\0') { // Now we expect p to point to the beginning of a new line if(i >= n) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in get_diag_matrix_from_file: too many lines in file."); return -1; } // Skip blanks while(*p == ' ' || *p == '\t') p++; diagonalValues[i] = atof(p); i++; // Skip rest of line while(*p != '\n' && *p != '\0') p++; p++; } // END WHILE for(i = 0; i < n; i++) { rowind[i] = i; colind[i] = i; } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "get_diag_matrix_from_file: calling densityMatrix.assign_from_sparse."); M.assign_from_sparse(rowind, colind, diagonalValues, permutationHML, permutationHML); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "get_diag_matrix_from_file: densityMatrix.assign_from_sparse returned."); return 0; } int write_diag_elements_to_file(int n, const symmMatrix & M, const char* fileName, std::vector const & permutationHML) { do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "write_diag_elements_to_file, n = %i", n); FILE* f = fopen(fileName, "wt"); if(f == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error opening file '%s'.", fileName); return -1; } std::vector rowind(n); std::vector colind(n); std::vector values(n); for(int i = 0; i < n; i++) { rowind[i] = i; colind[i] = i; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "write_diag_elements_to_file, calling M.get_values."); M.get_values(rowind, colind, values, permutationHML, permutationHML); do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "write_diag_elements_to_file, after M.get_values."); for(int i = 0; i < n; i++) fprintf(f, "%12.6f\n", (double)values[i]); fclose(f); return 0; } int write_full_matrix(int n, const symmMatrix & M, const char* fileName, std::vector const & inversePermutationHML) { std::vector buf(n*n); M.fullMatrix(buf, inversePermutationHML, inversePermutationHML); FILE* f = fopen(fileName, "wb"); if(f == NULL) throw "error in write_full_matrix, in fopen."; size_t noOfItemsWritten = fwrite(&buf[0], sizeof(ergo_real), n*n, f); fclose(f); if(noOfItemsWritten != (size_t)n*n) throw "error in write_full_matrix, in fwrite."; return 0; } int write_basis_func_coord_file(const BasisInfoStruct & basisInfo) { FILE* f = fopen("basis_func_coords.m", "wt"); if(f == NULL) throw "write_basis_func_coord_file, in fopen."; int n = basisInfo.noOfBasisFuncs; fprintf(f, "basis_func_coords = [\n"); for(int i = 0; i < n; i++) fprintf(f, "%15.9f %15.9f %15.9f\n", (double)basisInfo.basisFuncList[i].centerCoords[0], (double)basisInfo.basisFuncList[i].centerCoords[1], (double)basisInfo.basisFuncList[i].centerCoords[2]); fprintf(f, "];\n"); fclose(f); return 0; } int write_2el_integral_m_file(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo) { int n = basisInfo.noOfBasisFuncs; FILE* f = fopen("setup_twoel_integrals.m", "wt"); if(f == NULL) throw "write_2el_integral_m_file, in fopen."; fprintf(f, "twoel_integrals = zeros(%2d, %2d, %2d, %2d);\n", n, n, n, n); for(int a = 0; a < n; a++) for(int b = 0; b < n; b++) for(int c = 0; c < n; c++) for(int d = 0; d < n; d++) { ergo_real integralValue = do_2e_integral(a, b, c, d, basisInfo, integralInfo); fprintf(f, "twoel_integrals(%2d, %2d, %2d, %2d) = %15.11f;\n", a+1, b+1, c+1, d+1, (double)integralValue); } fclose(f); return 0; } static int get_2e_matrix_and_energy_simple_HF_sparse(const BasisInfoStruct& basisInfo, const Molecule& molecule, const IntegralInfo& integralInfo, const JK::ExchWeights & CAM_params, symmMatrix & twoelMatrix_sparse, symmMatrix & densityMatrix_sparse, const JK::Params& J_K_params, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, ergo_real* energy_2el, int get_J_K_matrices, symmMatrix & J_matrix, symmMatrix & K_matrix) { symmMatrix J; J.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix K; K.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); // FMM for J if(compute_J_by_boxes_sparse(basisInfo, integralInfo, J_K_params, J, densityMatrix_sparse, permutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_J_by_boxes_sparse"); return -1; } // exchange matrix K if(compute_K_by_boxes_sparse(basisInfo, integralInfo, CAM_params, J_K_params, K, densityMatrix_sparse, permutationHML, inversePermutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_K_by_boxes_sparse"); return -1; } twoelMatrix_sparse = J + K; if ( get_J_K_matrices == 1 ) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Saving J and K matrices as requested."); J_matrix = J; K_matrix = K; } *energy_2el = 0.5 * symmMatrix::trace_ab(densityMatrix_sparse, twoelMatrix_sparse); return 0; } static int get_2e_matrices_and_energy_simple_HF_sparse_unrestricted(const BasisInfoStruct& basisInfo, const Molecule& molecule, const IntegralInfo& integralInfo, symmMatrix & twoelMatrix_sparse_alpha, symmMatrix & twoelMatrix_sparse_beta, symmMatrix & densityMatrix_sparse_alpha, symmMatrix & densityMatrix_sparse_beta, const JK::Params& J_K_params, const JK::ExchWeights & CAM_params, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, ergo_real* energy_2el) { symmMatrix J; J.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix K_alpha; K_alpha.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); symmMatrix K_beta; K_beta.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); // Compute total density matrix symmMatrix D_tot(densityMatrix_sparse_alpha); D_tot += densityMatrix_sparse_beta; // FMM for J if(compute_J_by_boxes_sparse(basisInfo, integralInfo, J_K_params, J, D_tot, permutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_J_by_boxes_sparse"); return -1; } D_tot.clear(); // exchange matrices if(compute_K_by_boxes_sparse(basisInfo, integralInfo, CAM_params, J_K_params, K_alpha, densityMatrix_sparse_alpha, permutationHML, inversePermutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_K_by_boxes_sparse"); return -1; } if(compute_K_by_boxes_sparse(basisInfo, integralInfo, CAM_params, J_K_params, K_beta, densityMatrix_sparse_beta, permutationHML, inversePermutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_K_by_boxes_sparse"); return -1; } K_alpha *= 2; K_beta *= 2; twoelMatrix_sparse_alpha = J + K_alpha; twoelMatrix_sparse_beta = J + K_beta; *energy_2el = 0; *energy_2el += 0.5 * symmMatrix::trace_ab(densityMatrix_sparse_alpha, twoelMatrix_sparse_alpha); *energy_2el += 0.5 * symmMatrix::trace_ab(densityMatrix_sparse_beta , twoelMatrix_sparse_beta ); return 0; } /** Routine for computing the two-electron part of the Fock/KS matrix, in sparse form. This routine is only used when FMM is enabled. This routine does not do density fitting, obviously. */ static int get_2e_matrix_and_energy_simple_sparse(const BasisInfoStruct& basisInfo, const Molecule& molecule, const IntegralInfo& integralInfo, symmMatrix & twoelMatrix_sparse, symmMatrix & densityMatrix_sparse, // should be in memory when this routine is called const JK::Params& J_K_params, const JK::ExchWeights & CAM_params, const Dft::GridParams& gridParams, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, ergo_real* energy_2el, int do_xc, int noOfElectrons, int get_J_K_Fxc_matrices, symmMatrix & J_matrix, symmMatrix & K_matrix, symmMatrix & Fxc_matrix, SCF_statistics & stats) { { // FMM for J symmMatrix J; J.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); stats.start_timer("compute_J_by_boxes_sparse"); if(compute_J_by_boxes_sparse(basisInfo, integralInfo, J_K_params, J, densityMatrix_sparse, permutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_J_by_boxes_sparse"); return -1; } stats.stop_timer("compute_J_by_boxes_sparse"); twoelMatrix_sparse = J; if ( get_J_K_Fxc_matrices == 1 ) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Saving J matrix as requested."); J_matrix = J; } } if(CAM_params.alpha != 0.0 || CAM_params.computeRangeSeparatedExchange) { // exchange matrix K symmMatrix K; K.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); stats.start_timer("compute_K_by_boxes_sparse"); if(compute_K_by_boxes_sparse(basisInfo, integralInfo, CAM_params, J_K_params, K, densityMatrix_sparse, permutationHML, inversePermutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_K_by_boxes_sparse"); return -1; } stats.stop_timer("compute_K_by_boxes_sparse"); if(!CAM_params.computeRangeSeparatedExchange) { twoelMatrix_sparse += CAM_params.alpha * K; if ( get_J_K_Fxc_matrices == 1 ) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Saving K matrix as requested."); K_matrix = CAM_params.alpha * K; } } else { twoelMatrix_sparse += K; if ( get_J_K_Fxc_matrices == 1 ) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Saving K matrix as requested."); K_matrix = K; } } } *energy_2el = 0.5 * symmMatrix::trace_ab(densityMatrix_sparse, twoelMatrix_sparse); if(do_xc) { ergo_real dftEnergy; symmMatrix F_xc; // construct matrix Fxc and xc_energy output_current_memory_usage(LOG_AREA_SCF, "before dft_get_xc_mt"); if(do_xc == 1) { int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "get_2e_matrix_and_energy_simple_sparse (do_xc == 1) allocating full n*n matrix."); ergo_real* densityMatrix_full = new ergo_real[n*n]; { std::vector fullTmp(n*n); densityMatrix_sparse.fullMatrix(fullTmp, inversePermutationHML, inversePermutationHML); std::copy (fullTmp.begin(), fullTmp.end(), densityMatrix_full); } std::vector F_xc_full(n*n, 0); // dft_get_xc_mt is the call to the basic DFT code do_output(LOG_CAT_INFO, LOG_AREA_SCF, "calling dft_get_xc_mt, n = %i, noOfElectrons = %i", n, noOfElectrons); dft_get_xc_mt(noOfElectrons, densityMatrix_full, &basisInfo, &molecule, gridParams, &F_xc_full[0], &dftEnergy); output_current_memory_usage(LOG_AREA_SCF, "after dft_get_xc_mt"); delete []densityMatrix_full; F_xc.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); F_xc.assignFromFull(F_xc_full, permutationHML, permutationHML); } else { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "calling sparse Dft::getXC, noOfElectrons = %i", noOfElectrons); F_xc.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); /* FIXME: what does the comment below mean?? */ /* Threaded version gathers data in a thread-unsafe way. */ stats.start_timer("getXC_mt"); Dft::getXC_mt(basisInfo, integralInfo, molecule, gridParams, noOfElectrons, densityMatrix_sparse, F_xc, &dftEnergy, permutationHML); stats.stop_timer("getXC_mt"); output_current_memory_usage(LOG_AREA_SCF, "after dft_get_xc_mt"); } twoelMatrix_sparse += F_xc; if ( get_J_K_Fxc_matrices == 1 ) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Saving Fxc matrix as requested."); Fxc_matrix = F_xc; } *energy_2el += dftEnergy; } return 0; } static int get_2e_matrices_and_energy_simple_sparse_unrestricted(const BasisInfoStruct& basisInfo, const Molecule& molecule, const IntegralInfo& integralInfo, const JK::ExchWeights & CAM_params, symmMatrix & twoelMatrix_sparse_alpha, symmMatrix & twoelMatrix_sparse_beta, symmMatrix & densityMatrix_sparse_alpha, symmMatrix & densityMatrix_sparse_beta, const JK::Params& J_K_params, const Dft::GridParams& gridParams, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, ergo_real* energy_2el, int do_xc, int noOfElectrons) { symmMatrix J; J.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); // Compute total density matrix symmMatrix D_tot(densityMatrix_sparse_alpha); D_tot += densityMatrix_sparse_beta; // FMM for J if(compute_J_by_boxes_sparse(basisInfo, integralInfo, J_K_params, J, D_tot, permutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_J_by_boxes_sparse"); return -1; } twoelMatrix_sparse_alpha = J; twoelMatrix_sparse_beta = J; J.clear(); if(CAM_params.alpha != 0 || CAM_params.computeRangeSeparatedExchange) { D_tot *= ergo_real(0.5); symmMatrix D_spin(ergo_real(0.5)*densityMatrix_sparse_alpha); D_spin -= ergo_real(0.5)*densityMatrix_sparse_beta; /* Multiply by alpha only if no range-separated exchange is computed. It CAM params are used the hf weight has already been accounted for. */ ergo_real real_hf_weight = (CAM_params.computeRangeSeparatedExchange == 0) ? CAM_params.alpha * 2.0 : 2.0; symmMatrix K_tot, K_spin; K_tot.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); K_spin.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); // exchange matrices if(compute_K_by_boxes_sparse(basisInfo, integralInfo, CAM_params, J_K_params, K_tot, D_tot, permutationHML, inversePermutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_K_by_boxes_sparse"); return -1; } twoelMatrix_sparse_alpha += real_hf_weight * K_tot; twoelMatrix_sparse_beta += real_hf_weight * K_tot; K_tot.clear(); if(compute_K_by_boxes_sparse(basisInfo, integralInfo, CAM_params, J_K_params, K_spin, D_spin, permutationHML, inversePermutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_K_by_boxes_sparse"); return -1; } twoelMatrix_sparse_alpha += real_hf_weight * K_spin; twoelMatrix_sparse_beta -= real_hf_weight * K_spin; } D_tot.clear(); *energy_2el = 0; *energy_2el += 0.5 * symmMatrix::trace_ab(densityMatrix_sparse_alpha, twoelMatrix_sparse_alpha); *energy_2el += 0.5 * symmMatrix::trace_ab(densityMatrix_sparse_beta , twoelMatrix_sparse_beta ); if(do_xc == 1) { ergo_real dftEnergy; int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "get_2e_matrices_and_energy_simple_sparse_unrestricted allocating full n*n matrices."); std::vector xcMatrix_full_alpha(n*n,0); std::vector xcMatrix_full_beta (n*n,0); std::vector densityMatrix_full_alpha(n*n); std::vector densityMatrix_full_beta (n*n); densityMatrix_sparse_alpha.fullMatrix(densityMatrix_full_alpha, inversePermutationHML, inversePermutationHML); densityMatrix_sparse_beta .fullMatrix(densityMatrix_full_beta, inversePermutationHML, inversePermutationHML); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "calling dft_get_uxc_mt, n = %i", n); #ifndef SKIP_DFT_FLAG dft_get_uxc_mt(noOfElectrons, &densityMatrix_full_alpha[0], &densityMatrix_full_beta[0], &basisInfo, &molecule, gridParams, &xcMatrix_full_alpha[0], &xcMatrix_full_beta[0], &dftEnergy); #endif densityMatrix_full_alpha.reserve(0); densityMatrix_full_beta.reserve(0); *energy_2el += dftEnergy; output_current_memory_usage(LOG_AREA_SCF, "after dft_get_uxc_mt"); symmMatrix tmp; tmp.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); tmp.assignFromFull(xcMatrix_full_alpha, permutationHML, permutationHML); twoelMatrix_sparse_alpha += tmp; tmp.assignFromFull(xcMatrix_full_beta, permutationHML, permutationHML); twoelMatrix_sparse_beta += tmp; } else { ergo_real dftEnergy = 0; symmMatrix FA_xc, FB_xc; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "calling sparse Dft::getUXC, noOfElectrons = %i", noOfElectrons); FA_xc.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); FB_xc.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); /* FIXME: what does the comment below mean?? */ /* Threaded version gathers data in a thread-unsafe way. */ Dft::getUXC_seq(basisInfo, integralInfo, molecule, gridParams, noOfElectrons, densityMatrix_sparse_alpha, densityMatrix_sparse_beta, FA_xc, FB_xc, &dftEnergy, permutationHML); output_current_memory_usage(LOG_AREA_SCF, "after dft_get_xc_mt"); twoelMatrix_sparse_alpha += FA_xc; twoelMatrix_sparse_beta += FB_xc; *energy_2el += dftEnergy; } return 0; } /** General routine for computing the two-electron part of the Fock/KS matrix. Both input and output matrices are in sparse form, but full matrix form may be used in intermediate steps. If FMM is not used, or if CAM is used, or if density fitting is used, full matrix format is applied. @param basisInfo the used basis set. @param basisInfoDensFit the auxiliary basis set (may be NULL). @param molecule position of atoms (used for eg. XC grid). @param integralInfo - the integral evaluation object. @param twoelMatrix_sparse - the evaluation result. @param densityMatrix_sparse - the density for which 2e matrix is to be evaluated. @param J_K_params the settings of the integral evaluation. @param do_xc whether xc contribution to 2e matrix and energy are to be added. 1 means that the traditional full matrix code should be called, 2 means that the sparse variant is to be used. @param energy_2el 2el energy contribution @param noOfElectrons number of electrons... @param CAM_params a structure containing parameters needed when functionals like CAMB3LYP are used. @param gridParams a structure containing parameters for the grid. @param df_data parameters related to density fitting. @param matrix_size_block_info block sizes etc for hierarchic matrix library. @param get_J_K_Fxc_matrices flag saying if matrices should be saved for statistics/testing purposes. If that feature is active, matrices are saved in parameters @param J_matrix @param K_matrix @param Fxc_matrix . @param stats a structure holding SCF statistics. @param permutationHML - the permutation of basis functions, needed for transformation between the dense and sparse formats. @param inversePermutationHML - the inverse permutation of basis functions, needed for transformation between the dense and sparse formats. */ int get_2e_matrix_and_energy_sparse(const BasisInfoStruct & basisInfo, const BasisInfoStruct & basisInfoDensFit, const Molecule& molecule, const IntegralInfo& integralInfo, symmMatrix & twoelMatrix_sparse, symmMatrix & densityMatrix_sparse, const JK::Params& J_K_params, const JK::ExchWeights & CAM_params, const Dft::GridParams& gridParams, int do_xc, ergo_real* energy_2el, int noOfElectrons, DensfitData* df_data, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, int get_J_K_Fxc_matrices, symmMatrix & J_matrix, symmMatrix & K_matrix, symmMatrix & Fxc_matrix, SCF_statistics & stats) { if(J_K_params.use_naive_fockmatrix_construction == 1) { int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "get_2e_matrix_and_energy_sparse naive impl allocating full n*n matrices."); ergo_real* twoelMatrixG = new ergo_real[n*n]; ergo_real* densityMatrixFull = new ergo_real[n*n]; { std::vector fullTmp(n*n); densityMatrix_sparse.fullMatrix(fullTmp, inversePermutationHML, inversePermutationHML); std::copy (fullTmp.begin(), fullTmp.end(), densityMatrixFull); } // Use smallest of threshold_J and threshold_K. ergo_real threshold_JK = J_K_params.threshold_J; if(J_K_params.threshold_K < threshold_JK) threshold_JK = J_K_params.threshold_K; if(compute_2e_matrix_list_explicit(basisInfo, integralInfo, &twoelMatrixG, &densityMatrixFull, 1, threshold_JK) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_2e_matrix_list_explicit"); return -1; } *energy_2el = get_trace(n, densityMatrixFull, twoelMatrixG)*0.5; { std::vector fullTmp(twoelMatrixG, twoelMatrixG + n*n); twoelMatrix_sparse.assignFromFull(fullTmp, permutationHML, permutationHML); } delete []twoelMatrixG; delete []densityMatrixFull; return 0; } if(J_K_params.use_densfit_for_J == 0 && do_xc == 0 && J_K_params.use_fmm == 1) { // Simple Hartree-Fock case, with FMM. // In this case we use a special function to get away with less memory usage. if(get_2e_matrix_and_energy_simple_HF_sparse(basisInfo, molecule, integralInfo, CAM_params, twoelMatrix_sparse, densityMatrix_sparse, J_K_params, matrix_size_block_info, permutationHML, inversePermutationHML, energy_2el, get_J_K_Fxc_matrices, J_matrix, K_matrix) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in get_2e_matrix_and_energy_simple_HF_sparse"); return -1; } return 0; } if(J_K_params.use_densfit_for_J == 0 && (J_K_params.use_fmm == 1 || CAM_params.computeRangeSeparatedExchange) ) { // Simple case, with FMM. if(get_2e_matrix_and_energy_simple_sparse(basisInfo, molecule, integralInfo, twoelMatrix_sparse, densityMatrix_sparse, J_K_params, CAM_params, gridParams, matrix_size_block_info, permutationHML, inversePermutationHML, energy_2el, do_xc, noOfElectrons, get_J_K_Fxc_matrices, J_matrix, K_matrix, Fxc_matrix, stats) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in get_2e_matrix_and_energy_simple_sparse"); return -1; } return 0; } int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "get_2e_matrix_and_energy_sparse allocating full n*n matrices."); ergo_real* twoelMatrix_full = new ergo_real[n*n]; ergo_real* densityMatrix_full = new ergo_real[n*n]; { std::vector fullTmp(n*n); densityMatrix_sparse.fullMatrix(fullTmp, inversePermutationHML, inversePermutationHML); std::copy (fullTmp.begin(), fullTmp.end(), densityMatrix_full); } if( (CAM_params.alpha != ergo_real(0.0) || CAM_params.computeRangeSeparatedExchange) && J_K_params.use_densfit_for_J == 0) { // get both J and K at the same time if(J_K_params.use_differential_density == 1) { if(compute_2e_matrix_list_difden(basisInfo, integralInfo, CAM_params, &twoelMatrix_full, &densityMatrix_full, 1, J_K_params) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_2e_matrix_list"); return -1; } } else { if(compute_2e_matrix_list(basisInfo, integralInfo, CAM_params, &twoelMatrix_full, &densityMatrix_full, 1, J_K_params) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_2e_matrix_list"); return -1; } } } else { // Get J if(compute_2e_matrix_coulomb(basisInfo, basisInfoDensFit, integralInfo, twoelMatrix_full, densityMatrix_full, J_K_params, df_data) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_2e_matrix_coulomb"); return -1; } if(CAM_params.alpha != ergo_real(0.0) || CAM_params.computeRangeSeparatedExchange) { ergo_real* K = new ergo_real[n*n]; // Get K if(compute_2e_matrix_exchange(basisInfo, integralInfo, CAM_params, K, densityMatrix_full, J_K_params.threshold_K) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_2e_matrix_exchange"); return -1; } add_square_matrices(n, twoelMatrix_full, K, twoelMatrix_full); delete []K; } } // END ELSE *energy_2el = get_trace(n, densityMatrix_full, twoelMatrix_full)*0.5; if(do_xc) { ergo_real dftEnergy; // construct matrix Fxc and xc_energy do_output(LOG_CAT_INFO, LOG_AREA_SCF, "calling dft_get_xc_mt, n = %i, noOfElectrons = %i", n, noOfElectrons); output_current_memory_usage(LOG_AREA_SCF, "before dft_get_xc_mt"); // call dft_get_xc_mt. The resulting F_xc matrix is added to the existing twoelMatrix. #ifndef SKIP_DFT_FLAG dft_get_xc_mt(noOfElectrons, densityMatrix_full, &basisInfo, &molecule, gridParams, twoelMatrix_full, &dftEnergy); #endif output_current_memory_usage(LOG_AREA_SCF, "after dft_get_xc_mt"); *energy_2el += dftEnergy; } { std::vector fullTmp(twoelMatrix_full, twoelMatrix_full + n*n); twoelMatrix_sparse.assignFromFull(fullTmp, permutationHML, permutationHML); } delete [] twoelMatrix_full; delete [] densityMatrix_full; return 0; } int get_2e_matrices_and_energy_sparse_unrestricted(const BasisInfoStruct & basisInfo, const BasisInfoStruct & basisInfoDensFit, const Molecule& molecule, const IntegralInfo& integralInfo, const JK::ExchWeights & CAM_params, symmMatrix & twoelMatrix_sparse_alpha, symmMatrix & twoelMatrix_sparse_beta, symmMatrix & densityMatrix_sparse_alpha, symmMatrix & densityMatrix_sparse_beta, const JK::Params& J_K_params, const Dft::GridParams& gridParams, int do_xc, ergo_real* energy_2el, int noOfElectrons, DensfitData* df_data, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML) { if(J_K_params.use_naive_fockmatrix_construction == 1) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error: use_naive_fockmatrix_construction not implemented for unrestricted case."); return -1; } if(J_K_params.use_densfit_for_J == 0 && do_xc == 0 && J_K_params.use_fmm == 1) { // Simple Hartree-Fock case, with FMM. // In this case we use a special function to get away with less memory usage. if(get_2e_matrices_and_energy_simple_HF_sparse_unrestricted(basisInfo, molecule, integralInfo, twoelMatrix_sparse_alpha, twoelMatrix_sparse_beta, densityMatrix_sparse_alpha, densityMatrix_sparse_beta, J_K_params, CAM_params, matrix_size_block_info, permutationHML, inversePermutationHML, energy_2el) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in get_2e_matrices_and_energy_simple_HF_sparse_unrestricted"); return -1; } return 0; } if(J_K_params.use_densfit_for_J == 0 && (J_K_params.use_fmm == 1 || CAM_params.computeRangeSeparatedExchange)) { // Simple case, with FMM. if(get_2e_matrices_and_energy_simple_sparse_unrestricted(basisInfo, molecule, integralInfo, CAM_params, twoelMatrix_sparse_alpha, twoelMatrix_sparse_beta, densityMatrix_sparse_alpha, densityMatrix_sparse_beta, J_K_params, gridParams, matrix_size_block_info, permutationHML, inversePermutationHML, energy_2el, do_xc, noOfElectrons) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in get_2e_matrices_and_energy_simple_sparse_unrestricted"); return -1; } return 0; } int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "get_2e_matrices_and_energy_sparse_unrestricted allocating full n*n matrices."); std::vector twoelMatrix_full_alpha(n*n); std::vector twoelMatrix_full_beta(n*n); std::vector densityMatrix_full_alpha(n*n); std::vector densityMatrix_full_beta(n*n); { std::vector fullTmp(n*n); densityMatrix_sparse_alpha.fullMatrix(fullTmp, inversePermutationHML, inversePermutationHML); std::copy (fullTmp.begin(), fullTmp.end(), densityMatrix_full_alpha.begin()); densityMatrix_sparse_beta.fullMatrix(fullTmp, inversePermutationHML, inversePermutationHML); std::copy (fullTmp.begin(), fullTmp.end(), densityMatrix_full_beta.begin()); } if(J_K_params.use_densfit_for_J == 0) { // get both J and K at the same time if(J_K_params.use_differential_density == 1) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error: use_differential_density not impl for unrestricted case."); return -1; } else { if(CAM_params.computeRangeSeparatedExchange) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in get_2e_matrices_and_energy_simple_sparse_unrestricted: " "cannot use compute_JK_single_box when CAM params are used."); return -1; } // Get both J and K at once ergo_real* J_list[2]; ergo_real* K_list[2]; J_list[0] = new ergo_real[n*n]; J_list[1] = new ergo_real[n*n]; K_list[0] = new ergo_real[n*n]; K_list[1] = new ergo_real[n*n]; ergo_real* D_list[2]; D_list[0] = &densityMatrix_full_alpha[0]; D_list[1] = &densityMatrix_full_beta[0]; // Use smallest of threshold_J and threshold_K. ergo_real threshold_JK = J_K_params.threshold_J; if(J_K_params.threshold_K < threshold_JK) threshold_JK = J_K_params.threshold_K; if(compute_JK_single_box(basisInfo, integralInfo, J_list[0], K_list[0], D_list[0], threshold_JK) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_JK_single_box"); return -1; } if(compute_JK_single_box(basisInfo, integralInfo, J_list[1], K_list[1], D_list[1], threshold_JK) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_JK_single_box"); return -1; } ergo_real hf_weight = CAM_params.alpha; for(int i = 0; i < n*n; i++) { twoelMatrix_full_alpha[i] = J_list[0][i] + J_list[1][i] + 2 * K_list[0][i] * hf_weight; twoelMatrix_full_beta [i] = J_list[0][i] + J_list[1][i] + 2 * K_list[1][i] * hf_weight; } delete [] J_list[0]; delete [] J_list[1]; delete [] K_list[0]; delete [] K_list[1]; } } else { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error: case not implemented."); return -1; } // END ELSE *energy_2el = 0; *energy_2el += 0.5 * get_trace(n, &densityMatrix_full_alpha[0], &twoelMatrix_full_alpha[0]); *energy_2el += 0.5 * get_trace(n, &densityMatrix_full_beta[0], &twoelMatrix_full_beta[0] ); if(do_xc) { ergo_real dftEnergy = 0; std::vector xcMatrix_full_alpha(n*n); std::vector xcMatrix_full_beta(n*n); memset(&xcMatrix_full_alpha[0], 0, n*n*sizeof(ergo_real)); memset(&xcMatrix_full_beta[0] , 0, n*n*sizeof(ergo_real)); /* construct xc matrices and xc_energy. */ do_output(LOG_CAT_INFO, LOG_AREA_SCF, "calling dft_get_uxc, n = %i", n); #ifndef SKIP_DFT_FLAG dft_get_uxc_mt(noOfElectrons, &densityMatrix_full_alpha[0], &densityMatrix_full_beta[0], &basisInfo, &molecule, gridParams, &xcMatrix_full_alpha[0], &xcMatrix_full_beta[0], &dftEnergy); #endif *energy_2el += dftEnergy; output_current_memory_usage(LOG_AREA_SCF, "after dft_get_uxc_mt"); for(int i = 0; i < n*n; i++) { twoelMatrix_full_alpha[i] += xcMatrix_full_alpha[i]; twoelMatrix_full_beta [i] += xcMatrix_full_beta [i]; } } twoelMatrix_sparse_alpha.assignFromFull(twoelMatrix_full_alpha, permutationHML, permutationHML); twoelMatrix_sparse_beta.assignFromFull(twoelMatrix_full_beta, permutationHML, permutationHML); return 0; } /** Computes G_c and G_o. G_c is defined as J_a + J_b + K_a + K_b. G_o is defined as J_a + J_b + K_a. */ int get_2e_matrices_and_energy_restricted_open(const BasisInfoStruct & basisInfo, const BasisInfoStruct & basisInfoDensFit, const Molecule& molecule, const IntegralInfo& integralInfo, const JK::ExchWeights & CAM_params, symmMatrix & twoelMatrix_Fc, symmMatrix & twoelMatrix_Fo, symmMatrix & densityMatrix_sparse_alpha, symmMatrix & densityMatrix_sparse_beta, const JK::Params& J_K_params, const Dft::GridParams& gridParams, int do_xc, ergo_real* energy_2el, int noOfElectrons, DensfitData* df_data, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML) { if(J_K_params.use_naive_fockmatrix_construction) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error: use_naive_fockmatrix_construction not implemented for unrestricted case."); return -1; } if(J_K_params.use_densfit_for_J) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error: density fitting not implemented for restricted-open shell case."); return -1; } symmMatrix J_tot, K_alpha, K_beta; J_tot.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); K_alpha.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); K_beta.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); // Compute total density matrix symmMatrix D_tot(densityMatrix_sparse_alpha); D_tot += densityMatrix_sparse_beta; // FMM for J if(compute_J_by_boxes_sparse(basisInfo, integralInfo, J_K_params, J_tot, D_tot, permutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_J_by_boxes_sparse"); return -1; } D_tot.clear(); if(CAM_params.alpha != ergo_real(0) || CAM_params.computeRangeSeparatedExchange ) { // exchange matrices if(compute_K_by_boxes_sparse(basisInfo, integralInfo, CAM_params, J_K_params, K_alpha, densityMatrix_sparse_alpha, permutationHML, inversePermutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_K_by_boxes_sparse"); return -1; } if(compute_K_by_boxes_sparse(basisInfo, integralInfo, CAM_params, J_K_params, K_beta, densityMatrix_sparse_beta, permutationHML, inversePermutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_K_by_boxes_sparse"); return -1; } ergo_real hf_weight = CAM_params.computeRangeSeparatedExchange ? 1.0 : CAM_params.alpha; K_alpha *= hf_weight*2.0; K_beta *= hf_weight*2.0; } *energy_2el = 0; *energy_2el += 0.5 * symmMatrix::trace_ab(densityMatrix_sparse_alpha, J_tot); *energy_2el += 0.5 * symmMatrix::trace_ab(densityMatrix_sparse_alpha, K_alpha); *energy_2el += 0.5 * symmMatrix::trace_ab(densityMatrix_sparse_beta, J_tot); *energy_2el += 0.5 * symmMatrix::trace_ab(densityMatrix_sparse_beta, K_beta); twoelMatrix_Fc = J_tot; twoelMatrix_Fc += ergo_real(0.5)*K_alpha; twoelMatrix_Fc += ergo_real(0.5)*K_beta; twoelMatrix_Fo = J_tot; twoelMatrix_Fo += K_alpha; J_tot.clear(); K_alpha.clear(); K_beta.clear(); if(do_xc) { int n = basisInfo.noOfBasisFuncs; ergo_real dftEnergy = 0; std::vector density_full_alpha(n*n); std::vector density_full_beta(n*n); densityMatrix_sparse_alpha.fullMatrix(density_full_alpha, inversePermutationHML, inversePermutationHML); densityMatrix_sparse_beta.fullMatrix(density_full_beta, inversePermutationHML, inversePermutationHML); std::vector xcMatrix_full_alpha(n*n,0); std::vector xcMatrix_full_beta (n*n,0); /* construct xc matrices and xc_energy. */ do_output(LOG_CAT_INFO, LOG_AREA_SCF, "calling dft_get_uxc, n = %i", n); #ifndef SKIP_DFT_FLAG dft_get_uxc_mt(noOfElectrons, &density_full_alpha[0], &density_full_beta[0], &basisInfo, &molecule, gridParams, &xcMatrix_full_alpha[0], &xcMatrix_full_beta[0], &dftEnergy); #endif *energy_2el += dftEnergy; output_current_memory_usage(LOG_AREA_SCF, "after dft_get_uxc_mt"); symmMatrix xcSparse_alpha, xcSparse_beta; xcSparse_alpha.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); xcSparse_beta.resetSizesAndBlocks(matrix_size_block_info, matrix_size_block_info); xcSparse_alpha.assignFromFull(xcMatrix_full_alpha, permutationHML, permutationHML); xcSparse_beta.assignFromFull(xcMatrix_full_beta, permutationHML, permutationHML); twoelMatrix_Fc += ergo_real(0.5)*xcSparse_alpha; twoelMatrix_Fc += ergo_real(0.5)*xcSparse_beta; twoelMatrix_Fo += xcSparse_alpha; } return 0; } int compute_FDSminusSDF_sparse(int n, symmMatrix & F_symm, symmMatrix & D_symm, symmMatrix & S_symm, normalMatrix & result, ergo_real sparse_threshold) { // FIXME: we should be able to do this without so many temporary objects. // We should probably use something like FDS-SDF = FDS - (FDS)^T // FIXME: Implement eucl_thresh() for general matrices. Util::TimeMeter timeMeter; do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, "compute_FDSminusSDF_sparse() start."); Util::TimeMeter timeMeterWriteAndReadAll; std::string sizesStr = mat::FileWritable::writeAndReadAll(); timeMeterWriteAndReadAll.print(LOG_AREA_DENSFROMF, "FileWritable::writeAndReadAll"); do_output(LOG_CAT_INFO, LOG_AREA_DENSFROMF, ((std::string)"writeAndReadAll: '" + sizesStr).c_str()); normalMatrix S(S_symm); normalMatrix FD; normalMatrix DF; S_symm.writeToFile(); S.writeToFile(); output_current_memory_usage(LOG_AREA_SCF, "compute_FDSminusSDF_sparse before computing FD (symm-symm multiply)"); Util::TimeMeter timeMeterFD; mat::SingletonForTimings::instance().reset(); FD = (ergo_real)1.0 * F_symm * D_symm; #ifdef MAT_USE_ALLOC_TIMER do_output(LOG_CAT_INFO, LOG_AREA_SCF, "compute_FDSminusSDF_sparse, F*D mult mat alloc time: %15.5f seconds", mat::SingletonForTimings::instance().getAccumulatedTime()); #endif timeMeterFD.print(LOG_AREA_SCF, "compute_FDSminusSDF_sparse, F*D mult"); output_current_memory_usage(LOG_AREA_SCF, "compute_FDSminusSDF_sparse after computing FD"); output_sparsity(n, FD, "FD before eucl truncation"); FD.eucl_thresh(sparse_threshold); output_sparsity(n, FD, "FD after eucl truncation"); F_symm.writeToFile(); D_symm.writeToFile(); S.readFromFile(); result = (ergo_real)1.0 * FD * S; // result now contains FDS output_current_memory_usage(LOG_AREA_SCF, "compute_FDSminusSDF_sparse " "after computing FDS"); output_sparsity(n, result, "FDS before eucl truncation"); result.eucl_thresh(sparse_threshold); output_sparsity(n, result, "FDS after eucl truncation"); // We no longer need FD, set it to zero and free memory FD.clear(); S.writeToFile(); result.writeToFile(); // Read D before F to reduce problems with memory fragmentation; // we assume D is more dense than F. D_symm.readFromFile(); F_symm.readFromFile(); output_current_memory_usage(LOG_AREA_SCF, "compute_FDSminusSDF_sparse before " "computing DF (symm-symm multiply)"); DF = (ergo_real)1.0 * D_symm * F_symm; output_current_memory_usage(LOG_AREA_SCF, "compute_FDSminusSDF_sparse after computing DF"); DF.eucl_thresh(sparse_threshold); F_symm.writeToFile(); D_symm.writeToFile(); result.readFromFile(); S.readFromFile(); result = (ergo_real)1.0 * S * DF + ((ergo_real)(-1.0) * result); output_current_memory_usage(LOG_AREA_SCF, "compute_FDSminusSDF_sparse after " "computing result"); S.clear(); FD.clear(); DF.clear(); result.eucl_thresh(sparse_threshold); // read input matrices back from file D_symm.readFromFile(); F_symm.readFromFile(); S_symm.readFromFile(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "compute_FDSminusSDF_sparse ending OK."); timeMeter.print(LOG_AREA_SCF, "compute_FDSminusSDF_sparse"); return 0; } int determine_number_of_electrons_unrestricted(int noOfElectrons, int alpha_beta_diff, int* noOfElectrons_alpha, int* noOfElectrons_beta) { *noOfElectrons_alpha = (noOfElectrons + alpha_beta_diff) / 2; *noOfElectrons_beta = noOfElectrons - *noOfElectrons_alpha; int sum = *noOfElectrons_alpha + *noOfElectrons_beta; if(sum != noOfElectrons) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error: n_alpha + n_beta != N"); return -1; } int diff = *noOfElectrons_alpha - *noOfElectrons_beta; if(diff != alpha_beta_diff) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error: n_alpha - n_beta != alpha_beta_diff"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "noOfElectrons_alpha noOfElectrons_beta = %i %i", *noOfElectrons_alpha, *noOfElectrons_beta); return 0; } static void get_mulliken_charges(const symmMatrix & densityMatrix, const symmMatrix & S_symm, const BasisInfoStruct & basisInfo, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, const Molecule& molecule, std::vector & resultVector) { int nAtoms = molecule.getNoOfAtoms(); resultVector.resize(nAtoms); for(int i = 0; i < nAtoms; i++) resultVector[i] = 0; // Create mapping between basis functions and atoms. int n = basisInfo.noOfBasisFuncs; std::vector atomMapping(n); for(int i = 0; i < n; i++) { // Check if this basis function is near any atom. int foundAtomIndex = -1; for(int k = 0; k < nAtoms; k++) { ergo_real dx = molecule.getAtom(k).coords[0] - basisInfo.basisFuncList[i].centerCoords[0]; ergo_real dy = molecule.getAtom(k).coords[1] - basisInfo.basisFuncList[i].centerCoords[1]; ergo_real dz = molecule.getAtom(k).coords[2] - basisInfo.basisFuncList[i].centerCoords[2]; ergo_real distance = std::sqrt(dx*dx + dy*dy + dz*dz); if(distance < 1e-4) foundAtomIndex = k; } if(foundAtomIndex < 0) throw "Error in get_mulliken_charges: all basis functions are not centered on atoms."; atomMapping[i] = foundAtomIndex; } normalMatrix D(densityMatrix); normalMatrix S(S_symm); // Now get all elements of the matrix D. std::vector rowind; std::vector colind; std::vector values_D; D.get_all_values(rowind, colind, values_D, inversePermutationHML, inversePermutationHML); int nvalues = values_D.size(); // Now get corresponding elements of S. std::vector values_S(nvalues); for(int i = 0; i < nvalues; i++) values_S[i] = 0; S.get_values(rowind, colind, values_S, permutationHML, //inversePermutationHML, permutationHML);//inversePermutationHML); // Now go through all elements of D and S and make the corresponding contributions to the result vector. for(int i = 0; i < nvalues; i++) { int row = rowind[i]; int col = colind[i]; int atomIndex1 = atomMapping[row]; int atomIndex2 = atomMapping[col]; resultVector[atomIndex1] += 0.5 * values_D[i] * values_S[i]; resultVector[atomIndex2] += 0.5 * values_D[i] * values_S[i]; } } void do_mulliken_atomic_charges(const symmMatrix & densityMatrix, const symmMatrix & S_symm, const BasisInfoStruct & basisInfo, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, const Molecule& molecule) { // Compute Mulliken atomic charges. // First get vector with summed electron charge for all atoms. std::vector electronChargeSums; get_mulliken_charges(densityMatrix, S_symm, basisInfo, matrix_size_block_info, permutationHML, inversePermutationHML, molecule, electronChargeSums); int nAtoms = molecule.getNoOfAtoms(); ergo_real chargeSum = 0; for(int i = 0; i < nAtoms; i++) chargeSum += electronChargeSums[i]; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Sum of Mulliken charges (electrons): %15.7f", (double)chargeSum); std::vector atomicCharges(nAtoms); for(int i = 0; i < nAtoms; i++) atomicCharges[i] = molecule.getAtom(i).charge - electronChargeSums[i]; for(int i = 0; i < nAtoms; i++) do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Mulliken charge of atom %d = %15.7f", i, (double)atomicCharges[i]); chargeSum = 0; for(int i = 0; i < nAtoms; i++) chargeSum += atomicCharges[i]; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Sum of Mulliken atomic charges: %15.7f", (double)chargeSum); } void do_mulliken_spin_densities(const symmMatrix & spinDensityMatrix, const symmMatrix & S_symm, const BasisInfoStruct & basisInfo, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, const Molecule& molecule) { std::vector mullikenCharges; get_mulliken_charges(spinDensityMatrix, S_symm, basisInfo, matrix_size_block_info, permutationHML, inversePermutationHML, molecule, mullikenCharges); int nAtoms = molecule.getNoOfAtoms(); for(int i = 0; i < nAtoms; i++) do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Mulliken spin density of atom %d = %15.7f", i, (double)mullikenCharges[i]); ergo_real chargeSum = 0; for(int i = 0; i < nAtoms; i++) chargeSum += mullikenCharges[i]; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Sum of Mulliken atomic spin densities: %15.7f", (double)chargeSum); } static int write_gcube_file_header(FILE* f, const char* firstLine, const Molecule& m, double originX, double originY, double originZ, int NX, double incrX, int NY, double incrY, int NZ, double incrZ) { fprintf(f, "%s\n\n", firstLine); fprintf(f, "%d %9.5f %9.5f %9.5f\n", m.getNoOfAtoms(), originX, originY, originZ); fprintf(f, "%d %9.5f 0.0 0.0\n", NX, incrX); fprintf(f, "%d 0.0 %9.5f 0.0\n", NY, incrY); fprintf(f, "%d 0.0 0.0 %9.5f\n", NZ, incrZ); for(int i = 0; i < m.getNoOfAtoms(); i++) fprintf(f, "%d 0.0 %9.5f %9.5f %9.5f\n", (int)m.getAtom(i).charge, (double)m.getAtom(i).coords[0], (double)m.getAtom(i).coords[1], (double)m.getAtom(i).coords[2]); return 0; } void get_exp_value_pos_operator(const BasisInfoStruct & basisInfo, const Molecule& molecule, const ergo_real* densityMatrixFull, std::vector &mean, std::vector &std) { int nPrims1 = 0; int nPrims2 = 0; DistributionSpecStruct* rho1 = NULL; ergo_real cutoff = 1e-7; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "get_exp_value_pos_operator, calling get_density() with cutoff = %8.4g.", cutoff); nPrims1 = get_no_of_primitives_for_density(cutoff, densityMatrixFull, basisInfo); rho1 = new DistributionSpecStruct[nPrims1]; Util::TimeMeter timeMeterGetDens; int n1 = get_density(basisInfo, densityMatrixFull, cutoff, nPrims1, rho1); if(n1 < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "aborting get_exp_value_pos_operator(): (n1 < 0)"); throw "aborting get_exp_value_pos_operator(): (n1 < 0)"; } nPrims1 = n1; timeMeterGetDens.print(LOG_AREA_SCF, "get_density() calls"); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "get_exp_value_pos_operator, after get_density() calls: nPrims1 = %d, nPrims2 = %d.", nPrims1, nPrims2); // get bounds for the integral ergo_real minlist[3]; ergo_real maxlist[3]; int coordno; for(coordno = 0; coordno < 3; coordno++) { minlist[coordno] = std::numeric_limits::max(); maxlist[coordno] = std::numeric_limits::min(); } for(int i = 0; i < molecule.getNoOfAtoms(); i++) { for(coordno = 0; coordno < 3; coordno++) { ergo_real curr = molecule.getAtom(i).coords[coordno]; if(curr < minlist[coordno]) minlist[coordno] = curr; if(curr > maxlist[coordno]) maxlist[coordno] = curr; } } // OK, now we have min max coords for molecule. // Add some margin. ergo_real margin, length; for(coordno = 0; coordno < 3; coordno++) { length = maxlist[coordno] - minlist[coordno]; margin = (length+1)*10; // sizes of molecule minlist[coordno] -= margin; maxlist[coordno] += margin; } Util::TimeMeter timeMeterGetInt; mean.clear(); mean.resize(3); std.clear(); std.resize(3); std::vector monomialIntsAdd; ergo_real tmp; for(coordno = 0; coordno < 3; coordno++) { monomialIntsAdd.clear(); monomialIntsAdd.resize(3); monomialIntsAdd[coordno] = 1; mean[coordno] = integrate_density_in_box_2(nPrims1, rho1, minlist, maxlist, monomialIntsAdd); monomialIntsAdd[coordno] = 2; // get mean value of x^2 tmp = integrate_density_in_box_2(nPrims1, rho1, minlist, maxlist, monomialIntsAdd); std[coordno] = std::sqrt(tmp - mean[coordno]*mean[coordno]); } timeMeterGetInt.print(LOG_AREA_SCF, "integrate_density_in_box_2() calls"); } void do_density_images(const BasisInfoStruct & basisInfo, const Molecule& molecule, const ergo_real* densityMatrixFull_tot, const ergo_real* densityMatrixFull_spin, double output_density_images_boxwidth, const std::string &filename_id) { int nPrims1 = 0; int nPrims2 = 0; DistributionSpecStruct* rho1 = NULL; DistributionSpecStruct* rho2 = NULL; ergo_real cutoff = 1e-7;//1e-7; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_density_images, calling get_density() with cutoff = %8.4g.", cutoff); nPrims1 = get_no_of_primitives_for_density(cutoff, densityMatrixFull_tot , basisInfo); nPrims2 = get_no_of_primitives_for_density(cutoff, densityMatrixFull_spin, basisInfo); rho1 = new DistributionSpecStruct[nPrims1]; rho2 = new DistributionSpecStruct[nPrims2]; Util::TimeMeter timeMeterGetDens; int n1 = get_density(basisInfo, densityMatrixFull_tot, cutoff, nPrims1, rho1); int n2 = get_density(basisInfo, densityMatrixFull_spin, cutoff, nPrims2, rho2); if(n1 < 0 || n2 < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "aborting do_density_images(): (n1 < 0 || n2 < 0)"); throw "aborting do_density_images(): (n1 < 0 || n2 < 0)"; } nPrims1 = n1; nPrims2 = n2; timeMeterGetDens.print(LOG_AREA_SCF, "get_density() calls"); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_density_images, after get_density() calls: nPrims1 = %d, nPrims2 = %d.", nPrims1, nPrims2); // get min max coords for molecule ergo_real minlist[3]; ergo_real maxlist[3]; int coordno; for(coordno = 0; coordno < 3; coordno++) { minlist[coordno] = std::numeric_limits::max(); maxlist[coordno] = std::numeric_limits::min(); } for(int i = 0; i < molecule.getNoOfAtoms(); i++) { for(coordno = 0; coordno < 3; coordno++) { ergo_real curr = molecule.getAtom(i).coords[coordno]; if(curr < minlist[coordno]) minlist[coordno] = curr; if(curr > maxlist[coordno]) maxlist[coordno] = curr; } } // OK, now we have min max coords for molecule. // Add some margin. ergo_real margin = 4.4; for(coordno = 0; coordno < 3; coordno++) { minlist[coordno] -= margin; maxlist[coordno] += margin; } ergo_real boxWidthApprox = output_density_images_boxwidth; //0.3; int Nx = (int)((maxlist[0] - minlist[0]) / boxWidthApprox); int Ny = (int)((maxlist[1] - minlist[1]) / boxWidthApprox); int Nz = (int)((maxlist[2] - minlist[2]) / boxWidthApprox); // Make sure Nx Ny Nz are odd numbers (this seems to be required for the electrostatic potential computation feature in Gabedit). if(Nx % 2 == 0) Nx++; if(Ny % 2 == 0) Ny++; if(Nz % 2 == 0) Nz++; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_density_images: Nx Ny Nz = %5i %5i %5i", Nx, Ny, Nz); ergo_real boxWidth_x = (maxlist[0] - minlist[0]) / Nx; ergo_real boxWidth_y = (maxlist[1] - minlist[1]) / Ny; ergo_real boxWidth_z = (maxlist[2] - minlist[2]) / Nz; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_density_images, preparing to write Gabedit gcube files."); // Create Gabedit "gcube" density files. std::ostringstream name_f1, name_f2; name_f1 << "density" << filename_id << ".gcube"; name_f2 << "spindensity" << filename_id << ".gcube"; FILE* f1 = fopen(name_f1.str().c_str(), "wt"); FILE* f2 = fopen(name_f2.str().c_str(), "wt"); if(f1 == NULL || f2 == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "aborting do_density_images: (f1 == NULL || f2 == NULL)"); throw "aborting do_density_images: (f1 == NULL || f2 == NULL)"; } double originX = minlist[0]; double originY = minlist[1]; double originZ = minlist[2]; double dx = (maxlist[0] - minlist[0]) / Nx; double dy = (maxlist[1] - minlist[1]) / Ny; double dz = (maxlist[2] - minlist[2]) / Nz; // Shift origin coordinates by half of the box width in each direction (it seems Gabedit is interpreting the values in that way). originX += 0.5 * dx; originY += 0.5 * dy; originZ += 0.5 * dz; write_gcube_file_header(f1, "Density file in gcube format, generated by the Ergo program.", molecule, originX, originY, originZ, Nx, dx, Ny, dy, Nz, dz); write_gcube_file_header(f2, "Spin density file in gcube format, generated by the Ergo program.", molecule, originX, originY, originZ, Nx, dx, Ny, dy, Nz, dz); // Now compute density values in all needed boxes. do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_density_images, computing density values needed for Gabedit gcube files."); Util::TimeMeter timeMeterGetDensValues; std::vector< std::vector< std::vector > > vector_dens(Nx); std::vector< std::vector< std::vector > > vector_spin(Nx); #ifdef _OPENMP #pragma omp parallel for #endif for(int ix = 0; ix < Nx; ix++) { vector_dens[ix].resize(Ny); vector_spin[ix].resize(Ny); for(int iy = 0; iy < Ny; iy++) { vector_dens[ix][iy].resize(Nz); vector_spin[ix][iy].resize(Nz); for(int iz = 0; iz < Nz; iz++) { ergo_real minVect[3]; ergo_real maxVect[3]; minVect[0] = minlist[0] + ix * (maxlist[0] - minlist[0]) / Nx; maxVect[0] = minVect[0] + boxWidth_x; minVect[1] = minlist[1] + iy * (maxlist[1] - minlist[1]) / Ny; maxVect[1] = minVect[1] + boxWidth_y; minVect[2] = minlist[2] + iz * (maxlist[2] - minlist[2]) / Nz; maxVect[2] = minVect[2] + boxWidth_z; ergo_real dens = integrate_density_in_box_2(nPrims1, rho1, minVect, maxVect); ergo_real spin = integrate_density_in_box_2(nPrims2, rho2, minVect, maxVect); vector_dens[ix][iy][iz] = dens; vector_spin[ix][iy][iz] = spin; } // END FOR iz } // END FOR iy } // END FOR ix timeMeterGetDensValues.print(LOG_AREA_SCF, "getting density values"); // Now write to files. Util::TimeMeter timeMeterWriteFiles; ergo_real sum_dens = 0; ergo_real sum_spin = 0; for(int ix = 0; ix < Nx; ix++) for(int iy = 0; iy < Ny; iy++) { int count = 0; for(int iz = 0; iz < Nz; iz++) { ergo_real dens = vector_dens[ix][iy][iz]; ergo_real spin = vector_spin[ix][iy][iz]; sum_dens += dens; sum_spin += spin; ergo_real volume = dx*dy*dz; fprintf(f1, " %9.5f", (double)(dens / volume)); fprintf(f2, " %9.5f", (double)(spin / volume)); count++; if(count % 6 == 0) { fprintf(f1, "\n"); fprintf(f2, "\n"); } } if(count % 6 != 0) { fprintf(f1, "\n"); fprintf(f2, "\n"); } } timeMeterWriteFiles.print(LOG_AREA_SCF, "writing to gcube files"); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "sum_dens = %9.5f, sum_spin = %9.5f", sum_dens, sum_spin); fclose(f1); fclose(f2); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "do_density_images done, Gabedit gcube files written."); } void get_hf_weight_and_cam_params(int use_dft, ergo_real* exch_param_alpha, ergo_real* exch_param_beta, ergo_real* exch_param_mu) { if(use_dft) { #ifndef SKIP_DFT_FLAG int use_cam_params = fun_get_cam_param(exch_param_alpha, exch_param_beta, exch_param_mu); if(!use_cam_params) { *exch_param_alpha = fun_get_hf_weight(); *exch_param_beta = 0.0; } #else throw "ERROR in get_hf_weight_and_cam_params: SKIP_DFT_FLAG given and use_dft set."; #endif } else { *exch_param_alpha = 1.0; *exch_param_beta = 0; *exch_param_mu = 0; } } void create_mtx_files_with_different_orderings(const symmMatrix & A, const std::string & calculation_identifier, const std::string & method_and_basis_set, const std::vector & inversePermutationHML, const BasisInfoStruct & basisInfo) { // Original ordering std::stringstream ss_id_1; ss_id_1 << calculation_identifier << " - matrix (original ordering)"; write_matrix_in_matrix_market_format( A, inversePermutationHML, "S_matrix_original", ss_id_1.str(), method_and_basis_set ); // HML ordering int n = basisInfo.noOfBasisFuncs; std::vector permutationNone(n); for(int i = 0; i < n; i++) permutationNone[i] = i; std::stringstream ss_id_2; ss_id_2 << calculation_identifier << " - matrix (HML ordering)"; write_matrix_in_matrix_market_format( A, permutationNone, "S_matrix_HML", ss_id_2.str(), method_and_basis_set ); // Factor2 ordering std::vector permutationFactor2, inversePermutationFactor2; std::vector xcoords(n); std::vector ycoords(n); std::vector zcoords(n); for(int i = 0; i < n; i++) { xcoords[i] = basisInfo.basisFuncList[i].centerCoords.v[0]; ycoords[i] = basisInfo.basisFuncList[i].centerCoords.v[1]; zcoords[i] = basisInfo.basisFuncList[i].centerCoords.v[2]; } getMatrixPermutationOnlyFactor2(xcoords, ycoords, zcoords, 1, 1, permutationFactor2, inversePermutationFactor2); std::vector perm(n); for(int i = 0; i < n; i++) perm[i] = permutationFactor2[ inversePermutationHML[i] ]; std::stringstream ss_id_3; ss_id_3 << calculation_identifier << " - matrix (Factor2 ordering)"; write_matrix_in_matrix_market_format( A, perm, "S_matrix_Factor2", ss_id_3.str(), method_and_basis_set ); // Random ordering std::vector permRandom(n); std::vector taken(n); for(int i = 0; i < n; i++) taken[i] = false; for(int i = 0; i < n; i++) { int randNumber = rand() % (n-i); int idx = randNumber; for(int k = 0; k < n; k++) { if(taken[k] && k <= idx) idx++; } assert(idx >= 0); assert(idx < n); assert(taken[idx] == false); assert(idx >= 0 && idx < n && taken[idx] == false); taken[idx] = true; permRandom[i] = idx; } for(int i = 0; i < n; i++) assert(taken[i] == true); std::stringstream ss_id_4; ss_id_4 << calculation_identifier << " - matrix (random ordering)"; write_matrix_in_matrix_market_format( A, permRandom, "S_matrix_random", ss_id_4.str(), method_and_basis_set ); } ergo-3.5/source/scf/SCF_statistics.h0000664000175000017500000000406612743400307014357 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef SCF_STATISTICS_HEADER #define SCF_STATISTICS_HEADER #include #include "utilities.h" struct SCF_timer { SCF_timer(); void stop(); double elapsedTimeCPU_sys; double elapsedTimeCPU_usr; double elapsedTimeWall; private: double startTimeCPU_sys; double startTimeCPU_usr; double startTimeWall; bool stopped_already; }; class SCF_statistics { typedef std::map TimerMap; typedef std::map ValueMap; public: void start_timer(std::string identifier); void stop_timer(std::string identifier); void add_value(std::string identifier, double value); void add_values( ValueMap & values_to_add); void output_mfile(std::string name); protected: TimerMap timers; ValueMap values; private: void output_value( std::ofstream & os, std::string id, double value); }; #endif ergo-3.5/source/scf/scf_utils.h0000664000175000017500000002406312743400307013464 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef SCF_UTILS_HEADER #define SCF_UTILS_HEADER #include "molecule.h" #include "basisinfo.h" #include "integrals_2el.h" #include "matrix_typedefs.h" #include "densityfitting.h" #include "grid_stream.h" #include "SCF_statistics.h" void output_sparsity(int n, const normalMatrix & M, const char* matrixName); void output_sparsity_symm(int n, const symmMatrix & M, const char* matrixName); void output_sparsity_triang(int n, const triangMatrix & M, const char* matrixName); int compute_h_core_matrix_sparse(const IntegralInfo& integralInfo, const Molecule& molecule, const Molecule& extraCharges, ergo_real electric_field_x, ergo_real electric_field_y, ergo_real electric_field_z, const BasisInfoStruct& basisInfo, symmMatrix & H_core_Matrix_sparse, ergo_real threshold_integrals_1el, int noOfThreadsForV, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, int const create_dipole_mtx = 0, std::vector const * const inversePermutationHML = 0, std::string const * const calculation_identifier = 0, std::string const * const method_and_basis_set = 0); int compute_h_core_matrix_simple_dense(const IntegralInfo& integralInfo, const Molecule& molecule, const BasisInfoStruct& basisInfo, symmMatrix & H_core_Matrix_sparse, ergo_real threshold_integrals_1el, int noOfThreadsForV, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML); int get_gradient_for_given_mol_and_dens(const IntegralInfo& integralInfo, const Molecule& molecule, const BasisInfoStruct& basisInfo, const symmMatrix & D, ergo_real threshold_integrals_1el, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, ergo_real* result_gradient_list); int save_symmetric_matrix(symmMatrix& A, const BasisInfoStruct & basisInfo, const char *name, std::vector const & inversePermutationHML); int add_disturbance_to_matrix(int n, symmMatrix & A, ergo_real disturbance, int specificElementCount, const int* elementIndexVector, std::vector const & permutationHML); int get_simple_starting_guess_sparse(int n, int noOfElectrons, symmMatrix & densityMatrix); int write_diag_elements_to_file(int n, const symmMatrix & M, const char* fileName, std::vector const & permutationHML); int get_diag_matrix_from_file(int n, symmMatrix & M, const char* fileName, std::vector const & permutationHML); int write_full_matrix(int n, const symmMatrix & M, const char* fileName, std::vector const & inversePermutationHML); int write_basis_func_coord_file(const BasisInfoStruct & basisInfo); int write_2el_integral_m_file(const BasisInfoStruct & basisInfo, const IntegralInfo & integralInfo); int get_2e_matrix_and_energy_sparse(const BasisInfoStruct & basisInfo, const BasisInfoStruct & basisInfoDensFit, const Molecule& molecule, const IntegralInfo& integralInfo, symmMatrix & twoelMatrix_sparse, symmMatrix & densityMatrix_sparse, const JK::Params& J_K_params, const JK::ExchWeights & CAM_params, const Dft::GridParams& gridParams, int do_xc, ergo_real* energy_2el, int noOfElectrons, DensfitData* df_data, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, int get_J_K_Fxc_matrices, symmMatrix & J_matrix, symmMatrix & K_matrix, symmMatrix & Fxc_matrix, SCF_statistics & stats); int get_2e_matrices_and_energy_sparse_unrestricted(const BasisInfoStruct & basisInfo, const BasisInfoStruct & basisInfoDensFit, const Molecule& molecule, const IntegralInfo& integralInfo, const JK::ExchWeights & CAM_params, symmMatrix & twoelMatrix_sparse_alpha, symmMatrix & twoelMatrix_sparse_beta, symmMatrix & densityMatrix_sparse_alpha, symmMatrix & densityMatrix_sparse_beta, const JK::Params& J_K_params, const Dft::GridParams& gridParams, int do_xc, ergo_real* energy_2el, int noOfElectrons, DensfitData* df_data, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML); int get_2e_matrices_and_energy_restricted_open(const BasisInfoStruct & basisInfo, const BasisInfoStruct & basisInfoDensFit, const Molecule& molecule, const IntegralInfo& integralInfo, const JK::ExchWeights & CAM_params, symmMatrix & twoelMatrix_Fc, symmMatrix & twoelMatrix_Fo, symmMatrix & densityMatrix_sparse_alpha, symmMatrix & densityMatrix_sparse_beta, const JK::Params& J_K_params, const Dft::GridParams& gridParams, int do_xc, ergo_real* energy_2el, int noOfElectrons, DensfitData* df_data, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML); int compute_FDSminusSDF_sparse(int n, symmMatrix & F_symm, symmMatrix & D_symm, symmMatrix & S_symm, normalMatrix & result, ergo_real sparse_threshold); int determine_number_of_electrons_unrestricted(int noOfElectrons, int alpha_beta_diff, int* noOfElectrons_alpha, int* noOfElectrons_beta); void get_hf_weight_and_cam_params(int use_dft, ergo_real* exch_param_alpha, ergo_real* exch_param_beta, ergo_real* exch_param_mu); int determine_number_of_electrons_unrestricted(int noOfElectrons, int alpha_beta_diff, int* noOfElectrons_alpha, int* noOfElectrons_beta); void do_mulliken_atomic_charges(const symmMatrix & densityMatrix, const symmMatrix & S_symm, const BasisInfoStruct & basisInfo, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, const Molecule& molecule); void do_mulliken_spin_densities(const symmMatrix & spinDensityMatrix, const symmMatrix & S_symm, const BasisInfoStruct & basisInfo, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, const Molecule& molecule); void get_exp_value_pos_operator(const BasisInfoStruct & basisInfo, const Molecule& molecule, const ergo_real* densityMatrixFull, std::vector &mean, std::vector &std); void do_density_images(const BasisInfoStruct & basisInfo, const Molecule& molecule, const ergo_real* densityMatrixFull_tot, const ergo_real* densityMatrixFull_spin, double output_density_images_boxwidth, const std::string &filename_id = ""); void do_acc_scan_J(const symmMatrix & D, const IntegralInfo & integralInfo, const BasisInfoStruct & basisInfo, triangMatrix & invCholFactor, bool doInvCholFactorTransformation, const JK::Params & J_K_params, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, int nSteps, ergo_real startThresh, ergo_real stepFactor); void do_acc_scan_K(symmMatrix & D, const IntegralInfo & integralInfo, const BasisInfoStruct & basisInfo, triangMatrix & invCholFactor, bool doInvCholFactorTransformation, const JK::ExchWeights & CAM_params, const JK::Params & J_K_params, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, int nSteps, ergo_real startThresh, ergo_real stepFactor); void do_acc_scan_Vxc(symmMatrix & D, const IntegralInfo & integralInfo, const BasisInfoStruct & basisInfo, const Molecule & molecule, const Dft::GridParams & gridParams, int noOfElectrons, triangMatrix & invCholFactor, bool doInvCholFactorTransformation, mat::SizesAndBlocks const & matrix_size_block_info, std::vector const & permutationHML, std::vector const & inversePermutationHML, int nSteps, ergo_real startThresh, ergo_real stepFactor); void create_mtx_files_with_different_orderings(const symmMatrix & A, const std::string & calculation_identifier, const std::string & method_and_basis_set, const std::vector & inversePermutationHML, const BasisInfoStruct & basisInfo); #endif ergo-3.5/source/scf/SCF_general.cc0000664000175000017500000011063112743400307013734 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include "SCF_general.h" #include "output.h" #include "scf_utils.h" #include "matrix_utilities.h" #include "utilities.h" #include "integral_matrix_wrappers.h" #include "machine_epsilon.h" #include "units.h" #include "SCF_statistics.h" #include "AllocatorManager.h" SCF_general::SCF_general(const Molecule& molecule_, const Molecule& extraCharges_, const BasisInfoStruct & basisInfo_, const BasisInfoStruct & basisInfoDensFit_, const IntegralInfo & integralInfo_, const char* guessDmatFileName_, const JK::Params& J_K_params_, const Dft::GridParams& gridParams_, const SCF::Options& scfoptsPtr, const SCF::MatOptions& matOpts_, ergo_real threshold_integrals_1el_input) : molecule(molecule_), extraCharges(extraCharges_), basisInfo(basisInfo_), basisInfoDensFit(basisInfoDensFit_), integralInfo(integralInfo_), guessDmatFileName(guessDmatFileName_), // FIXME: copy this object properly J_K_params(J_K_params_), gridParams(gridParams_), scfopts(scfoptsPtr), matOpts(matOpts_), threshold_integrals_1el(threshold_integrals_1el_input), densfit_data(NULL), DIIS(NULL), curr_cycle_stats(NULL) { int n = basisInfo.noOfBasisFuncs; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_general constructor, number of basis functions: %i", n); output_current_memory_usage(LOG_AREA_SCF, "beginning of SCF_general constructor"); // Report info about host name, process ID etc. do_output(LOG_CAT_INFO, LOG_AREA_SCF, "************** Some general info here **********************"); do_output_time(LOG_CAT_INFO, LOG_AREA_SCF, "VERSION: " VERSION " time : "); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "machine_epsilon = %9.3g", (double)get_machine_epsilon()); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "sizeof(ergo_real) = %i", sizeof(ergo_real)); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "sizeof(size_t) = %i", sizeof(size_t)); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "sizeof(int) = %i", sizeof(int)); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "sizeof(long) = %i", sizeof(long)); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "sizeof(char*) = %i", sizeof(char*)); host_name_struct hostName; get_host_name(&hostName); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Host name: '%s'", hostName.s); working_directory_struct workingDirectory; get_working_directory(&workingDirectory); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Working directory: '%s'", workingDirectory.s); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Process ID (PID): %10i", getpid()); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "************************************************************"); ergo_real minDist, maxDist; molecule.getExtremeInternuclearDistances(minDist, maxDist); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Min internuclear distance: %12.5f a.u. = %12.5f Angstrom", (double)minDist, (double)(minDist/UNIT_one_Angstrom)); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Max internuclear distance: %12.5f a.u. = %12.5f Angstrom", (double)maxDist, (double)(maxDist/UNIT_one_Angstrom)); S_symm.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); if(compute_overlap_matrix_sparse(basisInfo, S_symm, matOpts.permutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_overlap_matrix_sparse"); throw "error in compute_overlap_matrix_sparse"; } if ( scfopts.do_sparsity_investigation == 1 ) { output_distance_vs_magnitude( basisInfo, S_symm, matOpts.inversePermutationHML, "dist_vs_mag_S", scfopts.sparsity_plots_resolution_r, scfopts.sparsity_plots_resolution_m); } output_sparsity_symm(n, S_symm, "S_symm before trunc"); output_current_memory_usage(LOG_AREA_SCF, "after getting overlap matrix"); { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "truncating S using threshold value %6.2g", (double)scfopts.sparse_threshold_for_S); double nnz_before_trunc_pc = (double)S_symm.nnz() * 100 / ((double)n*n); ergo_real truncError = S_symm.eucl_thresh(scfopts.sparse_threshold_for_S); double nnz_after_trunc_pc = (double)S_symm.nnz() * 100 / ((double)n*n); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Truncated S (eucl), selected threshold = %10.6g, returned error = %10.6g, nnz before = %3.4f %%, nnz after = %3.4f %%", scfopts.sparse_threshold_for_S, (double)truncError, nnz_before_trunc_pc, nnz_after_trunc_pc); } if ( scfopts.create_mtx_file_S == 1 ) { // Write overlap matrix in matrix market format std::stringstream ss_id; ss_id << scfopts.calculation_identifier << " - overlap matrix"; write_matrix_in_matrix_market_format( S_symm, matOpts.inversePermutationHML, "S_matrix", ss_id.str(), scfopts.method_and_basis_set ); } if( scfopts.create_mtx_files_S_and_quit == 1 ) { // Write overlap matrix in matrix market format using different basis function orderings, and then quit. create_mtx_files_with_different_orderings(S_symm, scfopts.calculation_identifier, scfopts.method_and_basis_set, matOpts.inversePermutationHML, basisInfo); throw "Breaking because create_mtx_files_S_and_quit was set."; } if ( scfopts.create_basis_func_coord_file == 1 ) { write_basis_func_coord_file(basisInfo); } if ( scfopts.create_2el_integral_m_file == 1 ) write_2el_integral_m_file(basisInfo, integralInfo); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Computing Euclidean norm of overlap matrix (just for fun)..."); Util::TimeMeter timeMeterEuclS; ergo_real S_symm_euclnorm = S_symm.eucl( std::sqrt(std::numeric_limits::epsilon()) ); timeMeterEuclS.print(LOG_AREA_SCF, "S_symm.eucl()"); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Euclidean norm of overlap matrix = %22.11f", (double)S_symm_euclnorm); invCholFactor.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Calling invCholFactor.inch with matOpts.threshold_inch = %g", (double)matOpts.threshold_inch); Util::TimeMeter timeMeterInch; invCholFactor.inch(S_symm, matOpts.threshold_inch, mat::right); timeMeterInch.print(LOG_AREA_SCF, "invCholFactor.inch"); if ( scfopts.do_sparsity_investigation == 1 ) { output_magnitude_histogram( invCholFactor, "mag_histogram_invChol", scfopts.sparsity_plots_resolution_m); } output_sparsity_triang(n, invCholFactor, "invCholFactor before truncation"); { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "truncating Z using threshold value %6.2g", (double)scfopts.sparse_threshold_for_Z); double nnz_before_trunc_pc = (double)invCholFactor.nnz() * 100 / ((double)n*n); ergo_real truncError = invCholFactor.eucl_thresh(scfopts.sparse_threshold_for_Z); double nnz_after_trunc_pc = (double)invCholFactor.nnz() * 100 / ((double)n*n); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Truncated Z (eucl), selected threshold = %10.6g, returned error = %10.6g, nnz before = %3.4f %%, nnz after = %3.4f %%", scfopts.sparse_threshold_for_Z, (double)truncError, nnz_before_trunc_pc, nnz_after_trunc_pc); } output_sparsity_triang(n, invCholFactor, "invCholFactor after truncation"); { ergo_real invCholFactor_frobnorm = invCholFactor.frob(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Frobenius norm of invCholFactor after truncation = %22.11f", (double)invCholFactor_frobnorm); Util::TimeMeter timeMeterEucl; invCholFactor_euclnorm = invCholFactor.eucl( std::sqrt(std::numeric_limits::epsilon()) ); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Euclidean norm of invCholFactor after truncation = %22.11f", (double)invCholFactor_euclnorm); timeMeterEucl.print(LOG_AREA_SCF, "invCholFactor.eucl()"); } output_current_memory_usage(LOG_AREA_SCF, "after getting invCholFactor"); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "testing invCholFactor by computing ZT*S*Z"); { Util::TimeMeter timeMeterZZTS; normalMatrix noOver(S_symm); normalMatrix inchcopy(invCholFactor); normalMatrix tmpSZ, ID; normalMatrix the_real_identity; tmpSZ.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); ID.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); the_real_identity.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); tmpSZ = noOver * inchcopy; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Truncating tmp matrix S*Z using eucl_thresh() with threshold value %6.3g", (double)matOpts.sparse_threshold); tmpSZ.eucl_thresh(matOpts.sparse_threshold); ID = transpose(inchcopy) * tmpSZ; the_real_identity = 1; ergo_real frobenius_error = normalMatrix::frob_diff(ID, the_real_identity); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "frobenius_error for ZT*S*Z is %10g", (double)frobenius_error); timeMeterZZTS.print(LOG_AREA_SCF, "testing invCholFactor by computing ZT*S*Z"); } S_symm.writeToFile(); if(scfopts.write_overlap_matrix) { if(save_symmetric_matrix(S_symm, basisInfo, "overlap.bin", matOpts.inversePermutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in ddf_writeShellListAndDensityMatricesToFile"); throw "error in ddf_writeShellListAndDensityMatricesToFile"; } } invCholFactor.writeToFile(); output_current_memory_usage(LOG_AREA_SCF, "after writing invCholFactor and S_symm to file"); H_core_Matrix.resetSizesAndBlocks(matOpts.size_block_info, matOpts.size_block_info); if(scfopts.skip_H_core == 1) { do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "NOTE: skip_H_core parameter set, will skip construction of H_core matrix!"); do_output(LOG_CAT_WARNING, LOG_AREA_SCF, "NOTE: skip_H_core parameter set, results will be bogus!"); } else { if(scfopts.use_simple_dense_H_core == 1) { if(extraCharges.getNoOfAtoms() != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error: (extraCharges.noOfAtoms != 0) not implemented for use_simple_dense_H_core case."); throw "error: (extraCharges.noOfAtoms != 0) not implemented for use_simple_dense_H_core case."; } if(scfopts.electric_field.v[0] != 0 || scfopts.electric_field.v[1] != 0 || scfopts.electric_field.v[2] != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error: electric field != 0 not implemented for use_simple_dense_H_core case."); throw "error: electric field != 0 not implemented for use_simple_dense_H_core case."; } if(compute_h_core_matrix_simple_dense(integralInfo, molecule, basisInfo, H_core_Matrix, threshold_integrals_1el, scfopts.no_of_threads_for_V, matOpts.size_block_info, matOpts.permutationHML) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_h_core_matrix_simple_dense"); throw "error in compute_h_core_matrix_simple_dense"; } } else { if(compute_h_core_matrix_sparse(integralInfo, molecule, extraCharges, scfopts.electric_field.v[0], scfopts.electric_field.v[1], scfopts.electric_field.v[2], basisInfo, H_core_Matrix, threshold_integrals_1el, scfopts.no_of_threads_for_V, matOpts.size_block_info, matOpts.permutationHML, scfopts.create_mtx_files_dipole, &matOpts.inversePermutationHML, &scfopts.calculation_identifier, &scfopts.method_and_basis_set) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in compute_h_core_matrix_sparse"); throw "error in compute_h_core_matrix_sparse"; } } } output_sparsity_symm(n, H_core_Matrix, "H_core_Matrix before trunc"); { ergo_real subspaceThr = 0.001 * scfopts.purification_subspace_err_limit; ergo_real threshold_Hcore = subspaceThr * scfopts.gap_expected_lower_bound / (1+subspaceThr); double nnz_before_trunc_pc = (double)H_core_Matrix.nnz() * 100 / ((double)n*n); invCholFactor.readFromFile(); ergo_real truncError = H_core_Matrix.eucl_thresh( threshold_Hcore, &invCholFactor ); invCholFactor.writeToFile(); double nnz_after_trunc_pc = (double)H_core_Matrix.nnz() * 100 / ((double)n*n); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Truncated H_core_Matrix (eucl with Z), selected threshold = %10.6g, returned error = %10.6g, " "nnz before = %3.4f %%, nnz after = %3.4f %%", threshold_Hcore, truncError, nnz_before_trunc_pc, nnz_after_trunc_pc); } output_sparsity_symm(n, H_core_Matrix, "H_core_Matrix after trunc"); output_current_memory_usage(LOG_AREA_SCF, "after getting H_core_Matrix"); if ( scfopts.create_mtx_file_H_core == 1 ) { // Write H_core matrix in matrix market format std::stringstream ss_id; ss_id << scfopts.calculation_identifier << " - H_core matrix"; write_matrix_in_matrix_market_format( H_core_Matrix, matOpts.inversePermutationHML, "H_core_matrix", ss_id.str(), scfopts.method_and_basis_set ); } H_core_Matrix.writeToFile(); output_current_memory_usage(LOG_AREA_SCF, "after writing H_core_Matrix to file"); if(J_K_params.use_densfit_for_J == 1) { densfit_data = densfit_init(&integralInfo, basisInfoDensFit); if (densfit_data == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "error in densfit_init"); throw "error in densfit_init"; } } noOfElectrons = molecule.getNumberOfElectrons(); get_hf_weight_and_cam_params(scfopts.use_dft, &CAM_params.alpha, &CAM_params.beta, &CAM_params.mu); CAM_params.computeRangeSeparatedExchange = CAM_params.beta != ergo_real(0.0); energy_2el = 0; energy = 0; energy_2el_core = 0; // only used when "core density matrix" is used energy_2el_valence = 0; // only used when "core density matrix" is used energy_of_valence = 0; // only used when "core density matrix" is used energy_reference = 0; // only used when "core density matrix" is used electronicEntropyTerm = 0; /* Set parameters in the GetDensFromFock class. All parameters must be set up, otherwise you will get exception. */ // common parameters DensFromFock.set_general_params(n, matOpts.size_block_info); #ifdef USE_CHUNKS_AND_TASKS DensFromFock.set_cht_matrix_params(scfopts.cht_leavesSizeMax, scfopts.cht_blocksize); #endif DensFromFock.set_truncationNormPurification(scfopts.purification_truncation_norm); DensFromFock.set_stopCriterionNormPurification(scfopts.purification_stop_crit_norm); DensFromFock.set_invCholFactor(invCholFactor, invCholFactor_euclnorm); DensFromFock.set_gap_expected_lower_bound(scfopts.gap_expected_lower_bound); DensFromFock.set_sparsity_plots_resolution_m(scfopts.sparsity_plots_resolution_m); DensFromFock.set_purification_maxmul(scfopts.purification_maxmul); int set = 1; if( scfopts.do_sparsity_investigation == set) DensFromFock.set_do_sparsity_investigation(); else DensFromFock.unset_do_sparsity_investigation(); if( scfopts.do_comparison_to_simple_purification == set ) DensFromFock.set_do_comparison_to_simple_purification(); else DensFromFock.unset_do_comparison_to_simple_purification(); if( scfopts.do_puri_mmul_tests == set ) DensFromFock.set_do_puri_mmul_tests(); else DensFromFock.unset_do_puri_mmul_tests(); if( scfopts.purification_create_m_files == set ) DensFromFock.set_purification_create_m_files(); else DensFromFock.unset_purification_create_m_files(); if( scfopts.output_homo_and_lumo_eigenvectors == set ) DensFromFock.set_output_homo_and_lumo_eigenvectors(); else DensFromFock.unset_output_homo_and_lumo_eigenvectors(); /* do not plot figures from the purification by default set flag before calling function for purification unset after calling function for purification otherwise, it will be output from all its calls */ DensFromFock.unset_generate_figures(); if( scfopts.purification_ignore_failure == set ) DensFromFock.set_purification_ignore_failure(); else DensFromFock.unset_purification_ignore_failure(); if( scfopts.purification_use_rand_perturbation_for_alleigsint == set ) DensFromFock.set_purification_use_rand_perturbation_for_alleigsint(); else DensFromFock.unset_purification_use_rand_perturbation_for_alleigsint(); // purification or something else? if(scfopts.use_stochastic_orbs != set && scfopts.use_diagonalization != set) // then use purification DensFromFock.set_use_purification(); else DensFromFock.unset_use_purification(); // purification settings if(DensFromFock.get_use_purification() == set) { DensFromFock.set_purification_limits(scfopts.purification_subspace_err_limit, scfopts.purification_eigvalue_err_limit, scfopts.puri_eig_acc_factor_for_guess); if(scfopts.purification_with_acceleration == set) DensFromFock.set_use_acceleration(); else DensFromFock.unset_use_acceleration(); if(scfopts.use_new_stopping_criterion == set) DensFromFock.set_use_new_stopping_criterion(); else DensFromFock.unset_use_new_stopping_criterion(); } if(scfopts.use_diag_on_error == set) DensFromFock.set_use_diag_on_error(); else DensFromFock.unset_use_diag_on_error(); if(scfopts.use_diag_on_error_guess == set) DensFromFock.set_use_diag_on_error_guess(); else DensFromFock.unset_use_diag_on_error_guess(); // diagonalization settings if(scfopts.use_diagonalization == set) DensFromFock.set_use_diagonalization(); else DensFromFock.unset_use_diagonalization(); // may be needed if scfopts.use_diag_on_error is set DensFromFock.set_diagonalization_params(scfopts.electronic_temperature, S_symm); if(scfopts.use_diagonalization == set && scfopts.store_all_eigenvalues_to_file == set) DensFromFock.set_store_all_eigenvalues_to_file(); else DensFromFock.unset_store_all_eigenvalues_to_file(); // stochastic orbitals settings if(scfopts.use_stochastic_orbs == set) DensFromFock.set_use_stochastic_orbitals(); else DensFromFock.unset_use_stochastic_orbitals(); } SCF_general::~SCF_general() { delete curr_cycle_stats; } ergo_real SCF_general::GetEuclideanNormOfMatrix(const symmMatrix & A) { ergo_real acc = std::sqrt(std::numeric_limits::epsilon()); return A.eucl(acc); } void SCF_general::get_overlap_matrix(symmMatrix & S) { S_symm.readFromFile(); S = S_symm; S_symm.writeToFile(); } void SCF_general::get_invCholFactor_matrix(triangMatrix & invCholFactor_) { invCholFactor.readFromFile(); invCholFactor_ = invCholFactor; invCholFactor.writeToFile(); } void SCF_general::get_H_core_matrix(symmMatrix & H_core) { H_core_Matrix.readFromFile(); H_core = H_core_Matrix; H_core_Matrix.writeToFile(); } void SCF_general::get_energy(ergo_real & E, ergo_real & E_nuclear) { E = energy; E_nuclear = nuclearEnergy; } void SCF_general::do_SCF_iterations() { Util::TimeMeter timeMeterTot; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_general::do_SCF_iterations"); // Initialize DIIS if(DIIS == NULL) throw "ERROR: (DIIS == NULL)"; if(DIIS->Initialize(scfopts.max_no_of_diis_matrices) != 0) throw "Error in DIIS->Initialize"; ergo_real nuclearRepulsionEnergyTmp = molecule.getNuclearRepulsionEnergy(); ergo_real nuclearElectricFieldEnergyTmp = molecule.getNuclearElectricFieldEnergy(scfopts.electric_field); nuclearEnergy = nuclearRepulsionEnergyTmp + nuclearElectricFieldEnergyTmp; initialize_matrices(); if(J_K_params.threshold_J <= 0 || J_K_params.threshold_K <= 0) throw "Error in SCF_general::do_SCF_iterations: (J_K_params.threshold_J <= 0 || J_K_params.threshold_K <= 0)."; // Check that parameters are reasonable, even number of electrons for restricted etc. check_params(); // set up starting guess get_starting_guess_density(); if(scfopts.spin_flip_atom_count > 0) do_spin_flip(scfopts.spin_flip_atom_count); if(scfopts.starting_guess_disturbance > 0) add_random_disturbance_to_starting_guess(); if(scfopts.write_guess_density_only == 1) { write_density_to_file(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "throwing exception after write_density_to_file."); throw "exiting after scfopts.write_guess_density_only"; } if(scfopts.output_density_images_only == 1) { output_density_images(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "throwing exception after output_density_images."); throw "exiting after scfopts.output_density_images_only"; } if(scfopts.use_stochastic_orbs == 1) prepare_stochastic_orbitals(); // Use at least two iterations if disimple_starting_guess used. int min_number_of_iterations = scfopts.min_number_of_iterations; if(scfopts.use_simple_starting_guess && min_number_of_iterations < 2) min_number_of_iterations = 2; ergo_real stepLength = scfopts.step_length_start; ergo_real best_energy_so_far = 0; int step = 0; SCF_step = 0; int noOfFailuresInARow = 0; int restartCount = 0; int noOfImprovementsInARow = 0; int diisUsedInLastIteration = 0; curr_subspace_diff = 0; initialize_homo_lumo_limits(); // The different Fockmatrix objects are empty at this point, // But we write them to file because they are supposed to be on file // in the beginning of each SCF cycle. write_matrices_to_file(); output_current_memory_usage(LOG_AREA_SCF, "before main SCF loop"); Util::TimeMeter timeMeterScfMainLoop; // main SCF loop while(1) { curr_cycle_stats = new SCF_statistics; curr_cycle_stats->start_timer("scf_cycle_time"); curr_cycle_stats->add_value("no_of_basis_func", basisInfo.noOfBasisFuncs); curr_cycle_stats->add_value("sparse_matrix_block_size", matOpts.sparse_matrix_block_size); step++; SCF_step++; curr_cycle_stats->add_value("scf_cycle", step); char infoString[888]; sprintf(infoString, "Beginning of SCF cycle %i: ", step); do_output_time(LOG_CAT_INFO, LOG_AREA_SCF, infoString); output_current_memory_usage(LOG_AREA_SCF, infoString); Util::TimeMeter timeMeterStep; save_density_as_prevdens(); get_2e_part_and_energy(); //if(scfopts.use_artificial_subspace_disturbances == 1) //disturb_fock_matrix(curr_subspace_diff * scfopts.subspace_factor_fock); // Now we have created Fock matrix (or matrices), and written to file. Memory usage should be the same as before. output_current_memory_usage(LOG_AREA_SCF, "After get_2e_part_and_energy"); output_sparsity_S_F_D(*curr_cycle_stats); double virtMem = 0, resMem = 0, virtPeakMem = 0; get_memory_usage_by_procfile(&virtMem, &resMem, &virtPeakMem); curr_cycle_stats->add_value("peak_virt_mem_usage_GB", virtPeakMem); calculate_energy(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "nuclearEnergy, energy_2el, energy = %f, %f, %f", (double)nuclearEnergy, (double)energy_2el, (double)energy); // ELIAS NOTE 2014-01-01: FIXME: consider adding another output message here showing the "electronic energy" so that the difference between "electronic energy" and "total energy" becomes more clear. if( step > 2) do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Energy %3i = %22.11f ( diff %22.15f )", step, (double)energy, (double)(energy-best_energy_so_far)); else do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Energy %3i = %22.11f", step, (double)energy); if(scfopts.compute_core_density == 1 && step > 1) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Valence-only energy %3i = %22.11f", step, (double)energy_of_valence); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Reference energy %3i = %22.11f", step, (double)energy_reference); } output_current_memory_usage(LOG_AREA_SCF, "After computing energy"); curr_cycle_stats->start_timer("get_FDSminusSDF"); Util::TimeMeter timeMeterFDSminusSDF; get_FDSminusSDF(); timeMeterFDSminusSDF.print(LOG_AREA_SCF, "get_FDSminusSDF"); output_current_memory_usage(LOG_AREA_SCF, "After computing FDS-SDF"); curr_cycle_stats->stop_timer("get_FDSminusSDF"); Util::TimeMeter timeMeterGerErrorMeasure; get_error_measure(); timeMeterGerErrorMeasure.print(LOG_AREA_SCF, "get_error_measure"); output_current_memory_usage(LOG_AREA_SCF, "After computing error measure"); // Check if converged if(scfopts.use_artificial_subspace_disturbances == 1 && step > 1 && curr_subspace_diff < 1e-6) { do_output(LOG_CAT_RESULTS, LOG_AREA_SCF, "CONVERGED due to curr_subspace_diff after %3i iterations.", step); do_output(LOG_CAT_RESULTS, LOG_AREA_SCF, "FINAL ENERGY: %22.11f", (double)energy); report_final_results(); break; } if(errorMeasure < scfopts.convergence_threshold && step >= min_number_of_iterations) { // Write Fock matrix in matrix market format in the last SCF cycle if ( scfopts.create_mtx_files_F == 1 ) create_mtx_files_F( step ); do_output(LOG_CAT_RESULTS, LOG_AREA_SCF, "CONVERGED after %3i iterations.", step); do_output(LOG_CAT_RESULTS, LOG_AREA_SCF, "FINAL ENERGY: %22.11f", (double)energy); report_final_results(); break; } // Check if max number of iterations reached if(scfopts.max_number_of_iterations > 0 && step >= scfopts.max_number_of_iterations) { // Write Fock matrix in matrix market format in the last SCF cycle if ( scfopts.create_mtx_files_F == 1 ) create_mtx_files_F( step ); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Maximum number of SCF iterations reached. Breaking SCF procedure."); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Gave up after %i iterations.", step); break; } if(step == 1) { // first time add_to_DIIS_list(); } else { // not first time if((energy < best_energy_so_far) && (step > noOfImprovementsInARow+3) && (noOfImprovementsInARow < scfopts.no_of_impr_req_for_diis || errorMeasure > scfopts.error_maxabs_for_diis) && !(diisUsedInLastIteration == 1 && noOfImprovementsInARow > 1) && !(scfopts.use_diis_always == 1)) { noOfImprovementsInARow++; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "the energy got better, " "but we do not dare to try DIIS yet, noOfImprovementsInARow = %i", noOfImprovementsInARow); best_energy_so_far = energy; noOfFailuresInARow = 0; update_best_fock_so_far(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "mixing best Fock matrix so far with next one, stepLength = %10.6f", (double)stepLength); combine_old_fock_matrices(stepLength); diisUsedInLastIteration = 0; stepLength *= 1.1; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "increased steplength by factor 1.1, stepLength = %10.6f", (double)stepLength); } else if(step <= scfopts.no_of_careful_first_scf_steps) { // "careful" option chosen: in this case we do not use // DIIS for the early steps. Can be useful when the // starting guess is very bad. do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Not considering DIIS now because 'careful' option " "chosen, no_of_careful_first_scf_steps = %2d", scfopts.no_of_careful_first_scf_steps); /* Elias note 2010-05-12: added || step == 2 in this if statement condition to handle the case when no_of_careful_first_scf_steps is used and the energy increased in step 2, which heppened for the Umeda protein molecule. */ if(energy < best_energy_so_far || step == 2) { best_energy_so_far = energy; update_best_fock_so_far(); stepLength *= 1.1; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "increased steplength by factor 1.1, stepLength = %10.6f", (double)stepLength); } else { // Energy got worse. noOfImprovementsInARow = 0; noOfFailuresInARow++; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "restarting DIIS because energy did not improve."); clear_diis_list(); ergo_real newStepLength = stepLength * 0.5; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "changing stepLength from %10.6f to %10.6f", (double)stepLength, (double)newStepLength); stepLength = newStepLength; } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "mixing best Fock matrix so far with next one, stepLength = %10.6f", (double)stepLength); combine_old_fock_matrices(stepLength); diisUsedInLastIteration = 0; } else if(step == 2 || energy < best_energy_so_far || scfopts.use_diis_always == 1) { if(step > 2 && energy < best_energy_so_far) noOfImprovementsInARow++; // energy got better noOfFailuresInARow = 0; best_energy_so_far = energy; update_best_fock_so_far(); diisUsedInLastIteration = 1; add_to_DIIS_list(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "using DIIS to get combined Fock matrix, " "number of iters used for DIIS: %2i", DIIS->GetNoOfIters()); use_diis_to_get_new_fock_matrix(); } else { // energy got worse if(scfopts.break_on_energy_increase == 1) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Energy increased. Breaking SCF."); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Stopped SCF after %i iterations.", step); break; } if(stepLength < scfopts.step_length_giveup) { if(restartCount > scfopts.max_restart_count) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "The energy does not seem to get any lower. We give up!"); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Gave up after %i iterations.", step); break; } restartCount++; stepLength = scfopts.step_length_start; noOfFailuresInARow = 0; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "reset stepLength to %10.6f, restartCount = %i", (double)scfopts.step_length_start, restartCount); } noOfImprovementsInARow = 0; noOfFailuresInARow++; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "restarting DIIS because energy did not improve."); clear_diis_list(); if(diisUsedInLastIteration == 0) { ergo_real newStepLength = stepLength * 0.5; do_output(LOG_CAT_INFO, LOG_AREA_SCF, "changing stepLength from %10.6f to %10.6f", (double)stepLength, (double)newStepLength); stepLength = newStepLength; } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "mixing best Fock matrix so far with next one, stepLength = %10.6f", (double)stepLength); combine_old_fock_matrices(stepLength); diisUsedInLastIteration = 0; } } output_current_memory_usage(LOG_AREA_SCF, "After creating lin comb F"); // Free memory used by Err_sparse Util::TimeMeter timeMeterClearErrorMatrices; clear_error_matrices(); timeMeterClearErrorMatrices.print(LOG_AREA_SCF, "clear_error_matrices"); output_current_memory_usage(LOG_AREA_SCF, "After clear_error_matrices"); // FIXME: Compare F and Fprev here to get info about gap of // F? Such info will be needed as input to get_dens_from_fock? Util::TimeMeter timeMeterSaveFockAsFprev; save_current_fock_as_fprev(); timeMeterSaveFockAsFprev.print(LOG_AREA_SCF, "save_current_fock_as_fprev"); curr_cycle_stats->start_timer("get_new_density_matrix"); Util::TimeMeter timeMeterGetNewDensityMatrix; get_new_density_matrix(); timeMeterGetNewDensityMatrix.print(LOG_AREA_SCF, "get_new_density_matrix"); curr_cycle_stats->stop_timer("get_new_density_matrix"); // At this point a new density matrix has just been computed, so the electronic entropy term has also been computed in the nonzero-temperature case. if(scfopts.electronic_temperature > 0) { do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Electronic temperature: %22.11f a.u. = %22.2f Kelvin", (double)scfopts.electronic_temperature, (double)scfopts.electronic_temperature/UNIT_one_Kelvin); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "Electronic entropy term: %22.11f, energy with entropy term included: %22.11f", (double)electronicEntropyTerm, (double)(energy + electronicEntropyTerm)); } if(step > 1) report_density_difference(); if(scfopts.use_artificial_subspace_disturbances == 1 && step > 2) disturb_dens_matrix_exact(curr_subspace_diff * scfopts.subspace_factor_dens); //disturb_dens_matrix(curr_subspace_diff * scfopts.subspace_factor_dens); if(scfopts.use_artificial_subspace_disturbances == 1) update_subspace_diff(); if(scfopts.output_density_at_every_step == 1) { Util::TimeMeter timeMeterWriteDensityToFile; output_current_memory_usage(LOG_AREA_SCF, "before write_density_to_file()"); write_density_to_file(); output_current_memory_usage(LOG_AREA_SCF, "after write_density_to_file()"); timeMeterWriteDensityToFile.print(LOG_AREA_SCF, "write_density_to_file"); } if ( scfopts.create_mtx_files_F == 1 ) // Write Fock matrix in matrix market format create_mtx_files_F( step ); if ( scfopts.create_mtx_files_D == 1 ) // Write Fock matrix in matrix market format create_mtx_files_D( step ); if ( scfopts.output_homo_and_lumo_eigenvectors ) { // Write homo and lumo eigenvectors to file create_eigenvectors_files(); create_gabedit_file(); } do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF cycle %3i finished.", step); char tempString[88]; sprintf(tempString, "SCF cycle %3i", step); timeMeterStep.print(LOG_AREA_SCF, tempString); curr_cycle_stats->stop_timer("scf_cycle_time"); std::stringstream ss; ss << "scf_cycle_" << step; if(scfopts.output_statistics_mfiles) curr_cycle_stats->output_mfile( ss.str() ); delete curr_cycle_stats; curr_cycle_stats = NULL; // since curr_cycle_stats is deleted in destructor, we need to set to null here to avoid double-delete if we exit loop in some unusual way. } // END WHILE main SCF loop timeMeterScfMainLoop.print(LOG_AREA_SCF, "Main SCF loop"); output_current_memory_usage(LOG_AREA_SCF, "after main SCF loop"); std::string allocStatsStr = mat::AllocatorManager::instance().getStatistics(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "After main SCF loop: %s", allocStatsStr.c_str()); if(scfopts.output_density_at_every_step == 1 && step == 1) { Util::TimeMeter timeMeterWriteDensityToFile; output_current_memory_usage(LOG_AREA_SCF, "before write_density_to_file()"); write_density_to_file(); output_current_memory_usage(LOG_AREA_SCF, "after write_density_to_file()"); timeMeterWriteDensityToFile.print(LOG_AREA_SCF, "write_density_to_file"); } compute_dipole_moment(); if(scfopts.output_mulliken_pop == 1) do_mulliken_pop_stuff(); if(scfopts.compute_gradient_fixeddens == 1) compute_gradient_fixeddens(); if(scfopts.save_full_matrices_for_matlab == 1) save_full_matrices_for_matlab(); if(scfopts.save_final_potential == 1) save_final_potential(); if(scfopts.output_density_images == 1) output_density_images(); if(scfopts.write_diag_dens_to_file == 1) write_diag_dens_to_file(); if(scfopts.output_csr_matrices_for_gao == 1) output_csr_matrices_for_gao(); do_output(LOG_CAT_INFO, LOG_AREA_SCF, "SCF_general::do_SCF_iterations finished."); timeMeterTot.print(LOG_AREA_SCF, "SCF_general::do_SCF_iterations"); } ergo-3.5/source/scf/scf.h0000664000175000017500000002461612743400307012250 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef SCFHEADER #define SCFHEADER #include #include "molecule.h" #include "basisinfo.h" #include "integrals_2el.h" #include "matrix_typedefs.h" namespace SCF { static const int DISTURB_ELEMENT_MAX_COUNT = 60; struct Options { std::string calculation_identifier; std::string method_and_basis_set; Vector3D electric_field; ergo_real electronic_temperature; ergo_real sparse_threshold_for_S; ergo_real sparse_threshold_for_Z; ergo_real convergence_threshold; ergo_real step_length_giveup; ergo_real step_length_start; ergo_real puri_eig_acc_factor_for_guess; ergo_real purification_conv_limit; int create_checkpoints; std::string checkpoint_IDstr; ergo_real purification_eigvalue_err_limit; ergo_real purification_subspace_err_limit; int purification_with_acceleration; int use_new_stopping_criterion; ergo_real gap_expected_lower_bound; mat::normType purification_truncation_norm; mat::normType purification_stop_crit_norm; int cht_leavesSizeMax; int cht_blocksize; ergo_real subspace_factor_fock; ergo_real subspace_factor_dens; int use_artificial_subspace_disturbances; int no_of_threads_for_V; int purification_maxmul; int purification_create_m_files; int purification_ignore_failure; int purification_use_rand_perturbation_for_alleigsint; int use_dft; int use_simple_starting_guess; int use_diag_guess_from_file; int write_diag_dens_to_file; ergo_real starting_guess_disturbance; int sg_disturb_specific_elements; int disturbedElementIndexVector[DISTURB_ELEMENT_MAX_COUNT]; ergo_real shift_using_prev_density_matrix; int skip_H_core; int use_simple_dense_H_core; int break_on_energy_increase; int force_restricted; /**< use a restricted determinant for open shell. */ int force_unrestricted; /**< use an unrestricted det. for closed shell. */ int spin_flip_atom_count; int starting_guess_spin_diff; int max_no_of_diis_matrices; int max_restart_count; int no_of_impr_req_for_diis; int use_diis_always; int do_f_thresh_verification; int do_comparison_to_simple_purification; int do_puri_mmul_tests; int output_statistics_mfiles; int do_sparsity_investigation; int do_sparsity_investigation_reppuri; int sparsity_plots_resolution_r; int sparsity_plots_resolution_m; int no_of_careful_first_scf_steps; int do_report_density_diff; ergo_real error_maxabs_for_diis; int min_number_of_iterations; int max_number_of_iterations; int number_of_eigenpairs; int output_density_at_every_step; int output_csr_matrices_for_gao; int output_density_images; int output_density_images_only; int write_guess_density_only; int compute_core_density; int no_of_core_electrons; ergo_real output_density_images_boxwidth; int image_view_axis; int save_final_potential; int use_diagonalization; int use_diag_on_error; int use_diag_on_error_guess; int store_all_eigenvalues_to_file; int try_eigv_on_next_iteration_if_fail; int write_overlap_matrix; int save_full_matrices_for_matlab; int analyze_result_after_scf; int do_acc_scan_J; int do_acc_scan_K; int do_acc_scan_Vxc; int scan_do_invcholfactor_transf; int scan_no_of_steps; ergo_real scan_start_thresh; ergo_real scan_step_factor; int create_mtx_file_S; int create_mtx_file_H_core; int create_mtx_files_F; int create_mtx_files_D; int create_mtx_files_dipole; int create_mtx_files_S_and_quit; int create_2el_integral_m_file; int create_basis_func_coord_file; int use_prev_vector_as_initial_guess; int output_homo_and_lumo_eigenvectors; std::string eigenvectors_method; std::string eigenvectors_iterative_method; ergo_real eigensolver_accuracy; int eigensolver_maxiter; int output_mulliken_pop; int compute_gradient_fixeddens; int verify_gradient_fixeddens; int use_stochastic_orbs; int stochastic_orbs_no_of_vectors; int stochastic_orbs_use_unit_vectors; int stochastic_orbs_rand_param; /** Initializes all the fields to sane values. */ Options() : calculation_identifier("N/A"), method_and_basis_set("N/A"), electric_field(0,0,0), electronic_temperature(0), sparse_threshold_for_S(1e-9), sparse_threshold_for_Z(1e-8), convergence_threshold(2e-7), step_length_giveup(0.00005), step_length_start(0.4), puri_eig_acc_factor_for_guess(1e-2), purification_conv_limit(0.1), create_checkpoints(0), checkpoint_IDstr(""), purification_eigvalue_err_limit(1e-8), purification_subspace_err_limit(1e-6), purification_with_acceleration(0), use_new_stopping_criterion(1), gap_expected_lower_bound(0.05), purification_truncation_norm(mat::mixedNorm), purification_stop_crit_norm(mat::mixedNorm), cht_leavesSizeMax(1024), cht_blocksize(64), subspace_factor_fock(0.1), subspace_factor_dens(0.1), use_artificial_subspace_disturbances(0), no_of_threads_for_V(1), purification_maxmul(100), purification_create_m_files(0), purification_ignore_failure(0), purification_use_rand_perturbation_for_alleigsint(0), use_dft(0), use_simple_starting_guess(0), use_diag_guess_from_file(0), write_diag_dens_to_file(0), starting_guess_disturbance(0.0), sg_disturb_specific_elements(0), shift_using_prev_density_matrix(0.0), skip_H_core(0), use_simple_dense_H_core(0), break_on_energy_increase(0), force_restricted(0), force_unrestricted(0), spin_flip_atom_count(0), starting_guess_spin_diff(0), max_no_of_diis_matrices(10), max_restart_count(2), no_of_impr_req_for_diis(4), use_diis_always(0), do_f_thresh_verification(0), do_comparison_to_simple_purification(0), do_puri_mmul_tests(0), output_statistics_mfiles(0), do_sparsity_investigation(0), do_sparsity_investigation_reppuri(0), sparsity_plots_resolution_r(100), sparsity_plots_resolution_m(100), no_of_careful_first_scf_steps(0), do_report_density_diff(1), error_maxabs_for_diis(0.5), min_number_of_iterations(), max_number_of_iterations(), number_of_eigenpairs(1), output_density_at_every_step(1), output_csr_matrices_for_gao(0), output_density_images(0), output_density_images_only(0), write_guess_density_only(0), compute_core_density(0), no_of_core_electrons(0), output_density_images_boxwidth(0.5), image_view_axis(), save_final_potential(0), use_diagonalization(0), use_diag_on_error(1), use_diag_on_error_guess(1), store_all_eigenvalues_to_file(0), try_eigv_on_next_iteration_if_fail(0), write_overlap_matrix(0), save_full_matrices_for_matlab(0), analyze_result_after_scf(0), do_acc_scan_J(0), do_acc_scan_K(0), do_acc_scan_Vxc(0), scan_do_invcholfactor_transf(1), scan_no_of_steps(16), scan_start_thresh(1e-9), scan_step_factor(sqrt((ergo_real)10)), create_mtx_file_S(0), create_mtx_file_H_core(0), create_mtx_files_F(0), create_mtx_files_D(0), create_mtx_files_dipole(0), create_mtx_files_S_and_quit(0), create_2el_integral_m_file(0), create_basis_func_coord_file(0), use_prev_vector_as_initial_guess(0), output_homo_and_lumo_eigenvectors(0), eigenvectors_method("square"), eigenvectors_iterative_method("lanczos"), eigensolver_accuracy(1e-12), eigensolver_maxiter(200), output_mulliken_pop(0), compute_gradient_fixeddens(0), verify_gradient_fixeddens(0), use_stochastic_orbs(0), stochastic_orbs_no_of_vectors(100), stochastic_orbs_use_unit_vectors(0), stochastic_orbs_rand_param(1) { memset(disturbedElementIndexVector, 0, sizeof(disturbedElementIndexVector)); } }; /** An object respresenting the configuration of the matrix library. All the thresholds and relevant parameters are collected in one object for the purposes of the input processing. */ struct MatOptions { mat::SizesAndBlocks size_block_info; std::vector permutationHML; std::vector inversePermutationHML; ergo_real sparse_threshold; /**< threshold value for sparse matrix truncation. */ ergo_real threshold_inch; /**< Truncation threshold in INCH function. */ int sparse_matrix_block_size; int sparse_matrix_block_factor_3; int sparse_matrix_block_factor_2; int sparse_matrix_block_factor_1; int threads; int parallelLevel; int no_of_buffers_per_allocator; MatOptions() : sparse_threshold(1e-8), threshold_inch(0), sparse_matrix_block_size(32), sparse_matrix_block_factor_3(8), sparse_matrix_block_factor_2(8), sparse_matrix_block_factor_1(32), threads(1), parallelLevel(1), /* FIXME: there should be a param to set no_of_buffers_per_allocator, for large calculations it needs to be larger, e.g. 10 x larger seems to give much better performance of matrix operations for large cases. This is also connected to blocksize, maybe the best solution would be to have a param determining the number of MegaBytes per allocator or something like that. */ no_of_buffers_per_allocator(20000) {}; ~MatOptions() { } /** after the parameters are called, this routine is to be called to figure out the basis set permutation. */ void prepare(const BasisInfoStruct& basisInfo); }; struct OutputOptions { OutputOptions() {} }; } /* end of SCF name space */ #endif ergo-3.5/source/license.h0000664000175000017500000000542712743400307012343 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #define ERGO_LICENSE_TEXT_BRIEF "\n Ergo, version 3.5. See .\n Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek,\n and Anastasia Kruchinina. Distribution without copyright owners'\n explicit consent prohibited. This program comes with ABSOLUTELY NO\n WARRANTY; for details type `warranty'.\n" #define ERGO_LICENSE_TEXT_LONG "\n Ergo, version 3.5, a program for linear scaling electronic structure\n calculations.\n Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek,\n and Anastasia Kruchinina.\n \n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n \n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n \n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n \n Primary academic reference:\n Kohn−Sham Density Functional Theory Electronic Structure Calculations \n with Linearly Scaling Computational Time and Memory Usage,\n Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek,\n J. Chem. Theory Comput. 7, 340 (2011),\n \n \n For further information about Ergo, see .\n" ergo-3.5/source/ergo_input_processor.c0000664000175000017500000015771212743400365015177 00000000000000/* A Bison parser, made by GNU Bison 3.0.4. */ /* Bison implementation for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 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 GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "3.0.4" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 0 /* Push parsers. */ #define YYPUSH 0 /* Pull parsers. */ #define YYPULL 1 /* Copy the first part of user declarations. */ #line 1 "ergo_input_processor.y" /* yacc.c:339 */ /** @file ergo_input_processor.c Parses the input. Uses bison code generator to generate the parses. */ #include #include #include #include "ergo_scripted.h" #define YYERROR_VERBOSE int yylex(void); int yyerror(const char *s); static const char *last_token = NULL; #line 83 "ergo_input_processor.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus # define YY_NULLPTR nullptr # else # define YY_NULLPTR 0 # endif # endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 0 #endif /* In a future release of Bison, this section will be replaced by #include "y.tab.h". */ #ifndef YY_YY_ERGO_INPUT_PROCESSOR_H_INCLUDED # define YY_YY_ERGO_INPUT_PROCESSOR_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { NUMBER = 258, DOT = 259, SYMBOL = 260, EQUAL = 261, STRING = 262, EOFTAG = 263, GETEXC = 264, GETPOL = 265, K_ALL = 266, HELP = 267, MOLTAG = 268, GHOSTTAG = 269, MOLDAL = 270, QUIT = 271, RUNTAG = 272, SYSTEM = 273, GHOST = 274, ANGSTROM = 275, PRECISION = 276, RANGE = 277, WARRANTY = 278, SET_NTHREADS = 279, PLUS = 280, MINUS = 281, TIMES = 282, DIVIDE = 283, POWER = 284, LEFT_PARENTHESIS = 285, RIGHT_PARENTHESIS = 286, EOL = 287, NEG = 288 }; #endif /* Tokens. */ #define NUMBER 258 #define DOT 259 #define SYMBOL 260 #define EQUAL 261 #define STRING 262 #define EOFTAG 263 #define GETEXC 264 #define GETPOL 265 #define K_ALL 266 #define HELP 267 #define MOLTAG 268 #define GHOSTTAG 269 #define MOLDAL 270 #define QUIT 271 #define RUNTAG 272 #define SYSTEM 273 #define GHOST 274 #define ANGSTROM 275 #define PRECISION 276 #define RANGE 277 #define WARRANTY 278 #define SET_NTHREADS 279 #define PLUS 280 #define MINUS 281 #define TIMES 282 #define DIVIDE 283 #define POWER 284 #define LEFT_PARENTHESIS 285 #define RIGHT_PARENTHESIS 286 #define EOL 287 #define NEG 288 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { #line 18 "ergo_input_processor.y" /* yacc.c:355 */ double num; /* for returning numbers */ char str[256]; /* for returning strings */ struct variable *var; /* for returning lvalues */ #line 195 "ergo_input_processor.c" /* yacc.c:355 */ }; typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif extern YYSTYPE yylval; int yyparse (void); #endif /* !YY_YY_ERGO_INPUT_PROCESSOR_H_INCLUDED */ /* Copy the second part of user declarations. */ #line 212 "ergo_input_processor.c" /* yacc.c:358 */ #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #else typedef signed char yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ # define YY_(Msgid) Msgid # endif #endif #ifndef YY_ATTRIBUTE # if (defined __GNUC__ \ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C # define YY_ATTRIBUTE(Spec) __attribute__(Spec) # else # define YY_ATTRIBUTE(Spec) /* empty */ # endif #endif #ifndef YY_ATTRIBUTE_PURE # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) #endif #ifndef YY_ATTRIBUTE_UNUSED # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif #if !defined _Noreturn \ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) # if defined _MSC_VER && 1200 <= _MSC_VER # define _Noreturn __declspec (noreturn) # else # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) #else # define YYUSE(E) /* empty */ #endif #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else # define YY_INITIAL_VALUE(Value) Value #endif #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif #ifndef YY_INITIAL_VALUE # define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's 'empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) # define YYCOPY_NEEDED 1 /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif #if defined YYCOPY_NEEDED && YYCOPY_NEEDED /* Copy COUNT objects from SRC to DST. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(Dst, Src, Count) \ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) # else # define YYCOPY(Dst, Src, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (Dst)[yyi] = (Src)[yyi]; \ } \ while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 35 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 106 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 34 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 9 /* YYNRULES -- Number of rules. */ #define YYNRULES 43 /* YYNSTATES -- Number of states. */ #define YYNSTATES 92 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 288 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex, without out-of-bounds checking. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint8 yyrline[] = { 0, 43, 43, 44, 45, 48, 50, 51, 52, 56, 57, 61, 64, 70, 71, 72, 73, 74, 75, 76, 77, 79, 81, 83, 85, 87, 89, 90, 92, 94, 96, 97, 101, 108, 109, 113, 117, 118, 119, 120, 121, 122, 123, 124 }; #endif #if YYDEBUG || YYERROR_VERBOSE || 0 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "NUMBER", "DOT", "SYMBOL", "EQUAL", "STRING", "EOFTAG", "GETEXC", "GETPOL", "K_ALL", "HELP", "MOLTAG", "GHOSTTAG", "MOLDAL", "QUIT", "RUNTAG", "SYSTEM", "GHOST", "ANGSTROM", "PRECISION", "RANGE", "WARRANTY", "SET_NTHREADS", "PLUS", "MINUS", "TIMES", "DIVIDE", "POWER", "LEFT_PARENTHESIS", "RIGHT_PARENTHESIS", "EOL", "NEG", "$accept", "Input", "Line", "Assignment", "Lvalue", "Command", "Molinput", "Molline", "Expression", YY_NULLPTR }; #endif # ifdef YYPRINT /* YYTOKNUM[NUM] -- (External) token number corresponding to the (internal) symbol number NUM (which must be that of a token). */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288 }; # endif #define YYPACT_NINF -39 #define yypact_value_is_default(Yystate) \ (!!((Yystate) == (-39))) #define YYTABLE_NINF -6 #define yytable_value_is_error(Yytable_value) \ 0 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int8 yypact[] = { 9, -39, -39, 4, 5, 2, -19, -17, 35, -39, 22, 46, -39, 1, -39, 51, 73, 48, -39, 55, -39, 79, -5, 80, 53, 0, 54, 0, -39, 76, -39, -39, 81, 85, 36, -39, 9, 84, 37, -39, 87, 88, 0, 89, -39, -39, 0, 0, -39, -39, 90, 91, -39, 63, 25, 25, 21, -39, -39, -39, 50, -39, -39, -39, 92, -39, -39, 93, 95, -39, 70, 43, 25, 25, 25, 25, 25, -39, 97, 94, 99, -39, 29, 29, 70, 70, 70, 71, -39, 98, -39, -39 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. Performed when YYTABLE does not specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { 0, 8, 11, 0, 0, 17, 0, 0, 0, 30, 0, 0, 19, 0, 26, 0, 0, 3, 6, 0, 7, 0, 0, 18, 0, 0, 0, 0, 20, 0, 22, 25, 0, 0, 0, 1, 0, 0, 0, 27, 0, 0, 0, 0, 33, 13, 0, 0, 15, 21, 0, 0, 36, 0, 0, 0, 0, 4, 12, 10, 9, 28, 29, 14, 0, 34, 16, 0, 0, 24, 41, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 43, 37, 38, 39, 40, 42, 0, 31, 0, 35, 32 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { -39, 68, -39, -39, 101, -39, 18, -39, -38 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { -1, 16, 17, 18, 19, 20, 45, 46, 56 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int8 yytable[] = { 60, 24, 40, 26, 32, 43, 41, 2, 44, -2, 1, 21, 22, 25, 2, 27, 70, 71, 3, 4, 33, 5, 6, 7, 8, 9, 10, 11, 52, 30, 12, 13, 14, 15, 82, 83, 84, 85, 86, 52, 52, -5, 28, 53, 59, 48, 72, 73, 74, 75, 76, 54, 77, 31, 29, 55, 74, 75, 76, 37, 63, 38, 54, 54, 65, 66, 55, 55, 72, 73, 74, 75, 76, 35, 81, 72, 73, 74, 75, 76, 36, 34, 39, 49, 37, 42, 47, 50, 51, 58, 61, 62, 64, 67, 69, 78, 79, 68, 80, 76, 87, 88, 89, 90, 57, 91, 23 }; static const yytype_uint8 yycheck[] = { 38, 20, 7, 20, 3, 5, 11, 5, 8, 0, 1, 7, 7, 32, 5, 32, 54, 55, 9, 10, 19, 12, 13, 14, 15, 16, 17, 18, 3, 7, 21, 22, 23, 24, 72, 73, 74, 75, 76, 3, 3, 32, 7, 7, 7, 27, 25, 26, 27, 28, 29, 26, 31, 7, 19, 30, 27, 28, 29, 4, 42, 6, 26, 26, 46, 47, 30, 30, 25, 26, 27, 28, 29, 0, 31, 25, 26, 27, 28, 29, 32, 30, 3, 7, 4, 32, 32, 6, 3, 5, 3, 3, 3, 3, 31, 3, 3, 6, 3, 29, 3, 7, 3, 32, 36, 7, 5 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 1, 5, 9, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24, 35, 36, 37, 38, 39, 7, 7, 38, 20, 32, 20, 32, 7, 19, 7, 7, 3, 19, 30, 0, 32, 4, 6, 3, 7, 11, 32, 5, 8, 40, 41, 32, 40, 7, 6, 3, 3, 7, 26, 30, 42, 35, 5, 7, 42, 3, 3, 40, 3, 40, 40, 3, 6, 31, 42, 42, 25, 26, 27, 28, 29, 31, 3, 3, 3, 31, 42, 42, 42, 42, 42, 3, 7, 3, 32, 7 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { 0, 34, 35, 35, 35, 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 40, 41, 42, 42, 42, 42, 42, 42, 42, 42 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 0, 1, 3, 0, 1, 1, 1, 3, 3, 1, 3, 3, 4, 3, 4, 1, 2, 1, 2, 3, 2, 4, 4, 2, 1, 3, 4, 4, 1, 6, 7, 1, 2, 5, 1, 3, 3, 3, 3, 2, 3, 3 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY) \ { \ yychar = (Token); \ yylval = (Value); \ YYPOPSTACK (yylen); \ yystate = *yyssp; \ goto yybackup; \ } \ else \ { \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (0) /* Error token number */ #define YYTERROR 1 #define YYERRCODE 256 /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) /* This macro is provided for backward compatibility. */ #ifndef YY_LOCATION_PRINT # define YY_LOCATION_PRINT(File, Loc) ((void) 0) #endif # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*----------------------------------------. | Print this symbol's value on YYOUTPUT. | `----------------------------------------*/ static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) { FILE *yyo = yyoutput; YYUSE (yyo); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) { YYFPRINTF (yyoutput, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) { int yybot = *yybottom; YYFPRINTF (stderr, " %d", yybot); } YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) { unsigned long int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], &(yyvsp[(yyi + 1) - (yynrhs)]) ); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyssp, yyvsp, Rule); \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ static YYSIZE_T yystrlen (const char *yystr) { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ static char * yystpcpy (char *yydest, const char *yysrc) { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message about the unexpected token YYTOKEN for the state stack whose top is YYSSP. Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is not large enough to hold the message. In that case, also set *YYMSG_ALLOC to the required number of bytes. Return 2 if the required number of bytes is too large to store. */ static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) { YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); YYSIZE_T yysize = yysize0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ const char *yyformat = YY_NULLPTR; /* Arguments of yyformat. */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per "expected"). */ int yycount = 0; /* There are many possibilities here to consider: - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected tokens because there are none. - The only way there can be no lookahead present (in yychar) is if this state is a consistent state with a default action. Thus, detecting the absence of a lookahead is sufficient to determine that there is no unexpected or expected token to report. In that case, just report a simple "syntax error". - Don't assume there isn't a lookahead just because this state is a consistent state with a default action. There might have been a previous inconsistent state, consistent state with a non-default action, or user semantic action that manipulated yychar. - Of course, the expected token list depends on states to have correct lookahead information, and it depends on the parser not to perform extra reductions after fetching a lookahead from the scanner and before detecting a syntax error. Thus, state merging (from LALR or IELR) and default reductions corrupt the expected token list. However, the list is correct for canonical LR with one exception: it will still contain any token that will not be accepted due to an error action in a later state. */ if (yytoken != YYEMPTY) { int yyn = yypact[*yyssp]; yyarg[yycount++] = yytname[yytoken]; if (!yypact_value_is_default (yyn)) { /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. In other words, skip the first -YYN actions for this state because they are default actions. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yyx; for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR && !yytable_value_is_error (yytable[yyx + yyn])) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; break; } yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } } } } switch (yycount) { # define YYCASE_(N, S) \ case N: \ yyformat = S; \ break YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); # undef YYCASE_ } { YYSIZE_T yysize1 = yysize + yystrlen (yyformat); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } if (*yymsg_alloc < yysize) { *yymsg_alloc = 2 * yysize; if (! (yysize <= *yymsg_alloc && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; return 1; } /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ { char *yyp = *yymsg; int yyi = 0; while ((*yyp = *yyformat) != '\0') if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyformat += 2; } else { yyp++; yyformat++; } } return 0; } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) { YYUSE (yyvaluep); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YYUSE (yytype); YY_IGNORE_MAYBE_UNINITIALIZED_END } /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ int yynerrs; /*----------. | yyparse. | `----------*/ int yyparse (void) { int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: 'yyss': related to states. 'yyvs': related to semantic values. Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs; YYSTYPE *yyvsp; YYSIZE_T yystacksize; int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ int yytoken = 0; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; yyssp = yyss = yyssa; yyvsp = yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yypact_value_is_default (yyn)) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = yylex (); } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yytable_value_is_error (yyn)) goto yyerrlab; yyn = -yyn; goto yyreduce; } /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; yystate = yyn; YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 8: #line 52 "ergo_input_processor.y" /* yacc.c:1646 */ { if(!ergo_scanner_reading_stdin) { yyerror("Aborted."); YYABORT; } } #line 1347 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 9: #line 56 "ergo_input_processor.y" /* yacc.c:1646 */ { es_assign_num((yyvsp[-2].var), (yyvsp[0].num));} #line 1353 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 10: #line 57 "ergo_input_processor.y" /* yacc.c:1646 */ { es_assign_str((yyvsp[-2].var), (yyvsp[0].str));} #line 1359 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 11: #line 61 "ergo_input_processor.y" /* yacc.c:1646 */ { (yyval.var)=es_find_var(NULL, (yyvsp[0].str)); if(!(yyval.var)) { last_token = (yyvsp[0].str); yyerror("Unknown variable");YYERROR; }} #line 1367 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 12: #line 64 "ergo_input_processor.y" /* yacc.c:1646 */ { (yyval.var)=es_find_var((yyvsp[-2].var), (yyvsp[0].str)); if(!(yyval.var)) { last_token = (yyvsp[0].str); yyerror("Unknown variable");YYERROR;}} #line 1375 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 13: #line 70 "ergo_input_processor.y" /* yacc.c:1646 */ { es_mol_commit(); } #line 1381 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 14: #line 71 "ergo_input_processor.y" /* yacc.c:1646 */ { es_mol_commit(); } #line 1387 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 15: #line 72 "ergo_input_processor.y" /* yacc.c:1646 */ { es_mol_commit(); } #line 1393 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 16: #line 73 "ergo_input_processor.y" /* yacc.c:1646 */ { es_mol_commit(); } #line 1399 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 17: #line 74 "ergo_input_processor.y" /* yacc.c:1646 */ { es_print_help(); } #line 1405 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 18: #line 75 "ergo_input_processor.y" /* yacc.c:1646 */ { es_print_help_var((yyvsp[0].var)); } #line 1411 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 19: #line 76 "ergo_input_processor.y" /* yacc.c:1646 */ { es_print_precision(); } #line 1417 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 20: #line 77 "ergo_input_processor.y" /* yacc.c:1646 */ { if(es_mol_read_molecule((yyvsp[0].str),MOL_MAIN)) { yyerror("Reading MOLECULE failed"); YYERROR;} } #line 1424 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 21: #line 79 "ergo_input_processor.y" /* yacc.c:1646 */ { if(es_mol_read_molecule((yyvsp[0].str), MOL_GHOST)) { yyerror("Reading GHOST MOLECULE failed"); YYERROR;} } #line 1431 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 22: #line 81 "ergo_input_processor.y" /* yacc.c:1646 */ { if(es_run((yyvsp[0].str), 0)) { yyerror("RUN failed"); YYERROR;} } #line 1438 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 23: #line 83 "ergo_input_processor.y" /* yacc.c:1646 */ { if(es_set_nthreads((yyvsp[-1].num))) { yyerror("setNThreads failed"); YYERROR;} } #line 1445 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 24: #line 85 "ergo_input_processor.y" /* yacc.c:1646 */ { if(es_set_nthreads_string((yyvsp[-1].str))) { yyerror("setNThreads failed"); YYERROR;} } #line 1452 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 25: #line 87 "ergo_input_processor.y" /* yacc.c:1646 */ { puts((yyvsp[0].str)); if(system((yyvsp[0].str)) != 0) {yyerror("system() failed"); YYERROR;} } #line 1459 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 26: #line 89 "ergo_input_processor.y" /* yacc.c:1646 */ { es_warranty(); } #line 1465 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 27: #line 90 "ergo_input_processor.y" /* yacc.c:1646 */ { if(es_getexc((yyvsp[-1].str), (yyvsp[0].num))) { yyerror("get_excited_state failed"); YYERROR;} } #line 1472 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 28: #line 92 "ergo_input_processor.y" /* yacc.c:1646 */ { if(es_get_polarisability((yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].num))) { yyerror("get_polarisability failed"); YYERROR;} } #line 1479 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 29: #line 94 "ergo_input_processor.y" /* yacc.c:1646 */ { if(es_get_polarisability((yyvsp[-2].str), NULL,(yyvsp[0].num))) { yyerror("get_polarisability failed"); YYERROR;} } #line 1486 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 30: #line 96 "ergo_input_processor.y" /* yacc.c:1646 */ { YYACCEPT; } #line 1492 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 31: #line 97 "ergo_input_processor.y" /* yacc.c:1646 */ { if(!es_assign_range(MOL_MAIN,(yyvsp[-4].num), (yyvsp[-2].num), (yyvsp[-1].num), (yyvsp[0].str))) { yyerror("Invalid main basis set range");YYERROR;} } #line 1501 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 32: #line 101 "ergo_input_processor.y" /* yacc.c:1646 */ { if(!es_assign_range(MOL_GHOST,(yyvsp[-4].num), (yyvsp[-2].num), (yyvsp[-1].num), (yyvsp[0].str))) { yyerror("Invalid ghost basis set range");YYERROR;} } #line 1510 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 35: #line 113 "ergo_input_processor.y" /* yacc.c:1646 */ { es_add_atom((yyvsp[-4].str), (yyvsp[-3].num), (yyvsp[-2].num), (yyvsp[-1].num)); } #line 1516 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 36: #line 117 "ergo_input_processor.y" /* yacc.c:1646 */ { (yyval.num)=(yyvsp[0].num); } #line 1522 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 37: #line 118 "ergo_input_processor.y" /* yacc.c:1646 */ { (yyval.num)=(yyvsp[-2].num)+(yyvsp[0].num); } #line 1528 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 38: #line 119 "ergo_input_processor.y" /* yacc.c:1646 */ { (yyval.num)=(yyvsp[-2].num)-(yyvsp[0].num); } #line 1534 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 39: #line 120 "ergo_input_processor.y" /* yacc.c:1646 */ { (yyval.num)=(yyvsp[-2].num)*(yyvsp[0].num); } #line 1540 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 40: #line 121 "ergo_input_processor.y" /* yacc.c:1646 */ { (yyval.num)=(yyvsp[-2].num)/(yyvsp[0].num); } #line 1546 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 41: #line 122 "ergo_input_processor.y" /* yacc.c:1646 */ { (yyval.num)=-(yyvsp[0].num); } #line 1552 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 42: #line 123 "ergo_input_processor.y" /* yacc.c:1646 */ { (yyval.num)=pow((yyvsp[-2].num),(yyvsp[0].num)); } #line 1558 "ergo_input_processor.c" /* yacc.c:1646 */ break; case 43: #line 124 "ergo_input_processor.y" /* yacc.c:1646 */ { (yyval.num)=(yyvsp[-1].num); } #line 1564 "ergo_input_processor.c" /* yacc.c:1646 */ break; #line 1568 "ergo_input_processor.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires that yytoken be updated with the new translation. We take the approach of translating immediately before every use of yytoken. One alternative is translating here after every semantic action, but that translation would be missed if the semantic action invokes YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an incorrect destructor might then be invoked immediately. In the case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*--------------------------------------. | yyerrlab -- here on detecting error. | `--------------------------------------*/ yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); #else # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ yyssp, yytoken) { char const *yymsgp = YY_("syntax error"); int yysyntax_error_status; yysyntax_error_status = YYSYNTAX_ERROR; if (yysyntax_error_status == 0) yymsgp = yymsg; else if (yysyntax_error_status == 1) { if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); if (!yymsg) { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; yysyntax_error_status = 2; } else { yysyntax_error_status = YYSYNTAX_ERROR; yymsgp = yymsg; } } yyerror (yymsgp); if (yysyntax_error_status == 2) goto yyexhaustedlab; } # undef YYSYNTAX_ERROR #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval); yychar = YYEMPTY; } } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = YYTRANSLATE (yychar); yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval); } /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif return yyresult; } #line 127 "ergo_input_processor.y" /* yacc.c:1906 */ YYSTYPE yylval; int ergo_scanner_lineno = 1; int ergo_scanner_reading_stdin = 0; int yyerror(const char *s) { if (last_token) { printf("line %d: %s at '%s'\n",ergo_scanner_lineno, s, last_token); last_token = NULL; } else { printf("line %d: %s\n",ergo_scanner_lineno, s); } return !ergo_scanner_reading_stdin; } #ifdef SCANNER_TEST int main(void) { yyparse(); } #endif ergo-3.5/source/Makefile.in0000664000175000017500000007336012743400352012616 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : bin_PROGRAMS = ergo$(EXEEXT) noinst_PROGRAMS = fermi_contact$(EXEEXT) bin2m$(EXEEXT) subdir = source ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) am_bin2m_OBJECTS = bin2m.$(OBJEXT) bin2m_OBJECTS = $(am_bin2m_OBJECTS) bin2m_DEPENDENCIES = $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a am_ergo_OBJECTS = ergo_input_processor.$(OBJEXT) \ ergo_input_parser.$(OBJEXT) ergo_scripted.$(OBJEXT) \ slr.$(OBJEXT) ergo_OBJECTS = $(am_ergo_OBJECTS) ergo_DEPENDENCIES = $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/ci/libci.a \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/electron_dynamics/libelectron_dynamics.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a am_fermi_contact_OBJECTS = fermi_contact.$(OBJEXT) fermi_contact_OBJECTS = $(am_fermi_contact_OBJECTS) fermi_contact_DEPENDENCIES = $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS) AM_V_LEX = $(am__v_LEX_@AM_V@) am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@) am__v_LEX_0 = @echo " LEX " $@; am__v_LEX_1 = YLWRAP = $(top_srcdir)/ylwrap am__yacc_c2h = sed -e s/cc$$/hh/ -e s/cpp$$/hpp/ -e s/cxx$$/hxx/ \ -e s/c++$$/h++/ -e s/c$$/h/ YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) AM_V_YACC = $(am__v_YACC_@AM_V@) am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) am__v_YACC_0 = @echo " YACC " $@; am__v_YACC_1 = SOURCES = $(bin2m_SOURCES) $(ergo_SOURCES) $(fermi_contact_SOURCES) DIST_SOURCES = $(bin2m_SOURCES) $(ergo_SOURCES) \ $(fermi_contact_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/depcomp $(top_srcdir)/ylwrap ergo_input_parser.c \ ergo_input_processor.c ergo_input_processor.h DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = \ basisset \ ci \ utilities \ utilities_basic \ matrix \ matrix_wrapper \ densfromf \ dft \ electron_dynamics \ integrals \ scf \ . \ tddft \ test AM_CPPFLAGS = \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/dft \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/electron_dynamics \ -I$(top_srcdir)/source/scf \ -I$(top_srcdir)/source/ci \ -I$(top_srcdir)/source/densfromf \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack EXTRA_DIST = \ $(top_srcdir)/source/standalone/standalone_density_file_conversion_program.c \ $(top_srcdir)/source/standalone/standalone_density_file_conversion_program_2.c # ergo section BUILT_SOURCES = ergo_input_processor.h AM_YFLAGS = -d ergo_SOURCES = \ ergo_input_processor.y \ ergo_input_parser.l \ ergo_scripted.cc \ ergo_scripted.h \ license.h \ matrix_typedefs.h \ slr.cc \ slr.h ergo_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/ci/libci.a \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/electron_dynamics/libelectron_dynamics.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a bin2m_SOURCES = bin2m.cc bin2m_LDADD = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a fermi_contact_SOURCES = \ fermi_contact.cc fermi_contact_LDADD = \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: .SUFFIXES: .c .cc .l .o .obj .y $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): config.h: stamp-h1 @test -f $@ || rm -f stamp-h1 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status source/config.h $(srcdir)/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) bin2m$(EXEEXT): $(bin2m_OBJECTS) $(bin2m_DEPENDENCIES) $(EXTRA_bin2m_DEPENDENCIES) @rm -f bin2m$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(bin2m_OBJECTS) $(bin2m_LDADD) $(LIBS) ergo_input_processor.h: ergo_input_processor.c @if test ! -f $@; then rm -f ergo_input_processor.c; else :; fi @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) ergo_input_processor.c; else :; fi ergo$(EXEEXT): $(ergo_OBJECTS) $(ergo_DEPENDENCIES) $(EXTRA_ergo_DEPENDENCIES) @rm -f ergo$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(ergo_OBJECTS) $(ergo_LDADD) $(LIBS) fermi_contact$(EXEEXT): $(fermi_contact_OBJECTS) $(fermi_contact_DEPENDENCIES) $(EXTRA_fermi_contact_DEPENDENCIES) @rm -f fermi_contact$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(fermi_contact_OBJECTS) $(fermi_contact_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bin2m.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ergo_input_parser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ergo_input_processor.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ergo_scripted.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fermi_contact.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slr.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .l.c: $(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) .y.c: $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile $(PROGRAMS) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -rm -f ergo_input_parser.c -rm -f ergo_input_processor.c -rm -f ergo_input_processor.h -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: $(am__recursive_targets) all check install install-am \ install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-binPROGRAMS clean-generic \ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-hdr \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-binPROGRAMS install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-binPROGRAMS .PRECIOUS: Makefile #ergo_input_parser.o : ergo_input_parser.c ergo_input_processor.h # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/Makefile.am0000664000175000017500000000557412743400307012607 00000000000000SUBDIRS = \ basisset \ ci \ utilities \ utilities_basic \ matrix \ matrix_wrapper \ densfromf \ dft \ electron_dynamics \ integrals \ scf \ . \ tddft \ test bin_PROGRAMS = ergo noinst_PROGRAMS = fermi_contact bin2m AM_CPPFLAGS = \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/dft \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/electron_dynamics \ -I$(top_srcdir)/source/scf \ -I$(top_srcdir)/source/ci \ -I$(top_srcdir)/source/densfromf \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack EXTRA_DIST = \ $(top_srcdir)/source/standalone/standalone_density_file_conversion_program.c \ $(top_srcdir)/source/standalone/standalone_density_file_conversion_program_2.c # ergo section BUILT_SOURCES = ergo_input_processor.h AM_YFLAGS = -d ergo_SOURCES = \ ergo_input_processor.y \ ergo_input_parser.l \ ergo_scripted.cc \ ergo_scripted.h \ license.h \ matrix_typedefs.h \ slr.cc \ slr.h ergo_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/ci/libci.a \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/electron_dynamics/libelectron_dynamics.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a bin2m_SOURCES = bin2m.cc bin2m_LDADD = \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a fermi_contact_SOURCES = \ fermi_contact.cc fermi_contact_LDADD = \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a #ergo_input_parser.o : ergo_input_parser.c ergo_input_processor.h ergo-3.5/source/ergo_input_processor.h0000664000175000017500000000672612743400365015202 00000000000000/* A Bison parser, made by GNU Bison 3.0.4. */ /* Bison interface for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 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 GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ #ifndef YY_YY_ERGO_INPUT_PROCESSOR_H_INCLUDED # define YY_YY_ERGO_INPUT_PROCESSOR_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { NUMBER = 258, DOT = 259, SYMBOL = 260, EQUAL = 261, STRING = 262, EOFTAG = 263, GETEXC = 264, GETPOL = 265, K_ALL = 266, HELP = 267, MOLTAG = 268, GHOSTTAG = 269, MOLDAL = 270, QUIT = 271, RUNTAG = 272, SYSTEM = 273, GHOST = 274, ANGSTROM = 275, PRECISION = 276, RANGE = 277, WARRANTY = 278, SET_NTHREADS = 279, PLUS = 280, MINUS = 281, TIMES = 282, DIVIDE = 283, POWER = 284, LEFT_PARENTHESIS = 285, RIGHT_PARENTHESIS = 286, EOL = 287, NEG = 288 }; #endif /* Tokens. */ #define NUMBER 258 #define DOT 259 #define SYMBOL 260 #define EQUAL 261 #define STRING 262 #define EOFTAG 263 #define GETEXC 264 #define GETPOL 265 #define K_ALL 266 #define HELP 267 #define MOLTAG 268 #define GHOSTTAG 269 #define MOLDAL 270 #define QUIT 271 #define RUNTAG 272 #define SYSTEM 273 #define GHOST 274 #define ANGSTROM 275 #define PRECISION 276 #define RANGE 277 #define WARRANTY 278 #define SET_NTHREADS 279 #define PLUS 280 #define MINUS 281 #define TIMES 282 #define DIVIDE 283 #define POWER 284 #define LEFT_PARENTHESIS 285 #define RIGHT_PARENTHESIS 286 #define EOL 287 #define NEG 288 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { #line 18 "ergo_input_processor.y" /* yacc.c:1909 */ double num; /* for returning numbers */ char str[256]; /* for returning strings */ struct variable *var; /* for returning lvalues */ #line 126 "ergo_input_processor.h" /* yacc.c:1909 */ }; typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif extern YYSTYPE yylval; int yyparse (void); #endif /* !YY_YY_ERGO_INPUT_PROCESSOR_H_INCLUDED */ ergo-3.5/source/ergo_scripted.cc0000664000175000017500000025406612743400307013715 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file ergo_scripted.cc \brief The main program for the ergo project. It enables scripting and more complex input forms. @author: Pawel Salek responsible. But feel free to modify the file if you are humbly convinced your ideas are correct. */ /* Copyright(c) Pawel Salek 2006. */ #include #include #include #include #include #include #include #include #include #include #include #include #ifdef _OPENMP #include #endif #ifdef USE_CHUNKS_AND_TASKS #include "chunks_and_tasks.h" #endif #include "atom_labels.h" #include "density_description_file.h" #include "ergo_scripted.h" #include "grid_reader.h" #include "dft_common.h" #include "lin_trans.h" #include "integrals_2el.h" #include "integrals_2el_explicit.h" #include "integrals_2el_boxed.h" #include "integrals_2el_exchange.h" #include "integrals_2el_coulomb.h" #include "integrals_general.h" #include "operator_matrix.h" #include "memorymanag.h" #include "molecule.h" #include "output.h" #include "scf.h" #include "scf_utils.h" #include "slr.h" #include "matrix_utilities.h" #include "SCF_restricted.h" #include "SCF_unrestricted.h" #include "units.h" #include "ci.h" #include "license.h" #include "xyz_file_parser.h" #include "electron_dynamics.h" #include "tdhf_dynamics.h" // ELIAS NOTE 2014-07-14: define SKIP_UNOFFICIAL_INPUT_PARAMS for "official" releases of the code, so that some testing/debugging parameters are skipped. #define SKIP_UNOFFICIAL_INPUT_PARAMS static void variable_free(struct variable* v); /** An object representing the state of the input processor. A way to * initialize state and to cleanly shut it down and release memory * is provided. */ class Ergo { public: static const int NO_OF_BASIS_SET_RANGES = 3; struct variable* var_list; struct variable* J_K_params; struct variable* lr_params; struct variable* ed_params; struct variable* mat_params; struct variable* scf_params; struct variable* XC_params; struct variable* output_params; Molecule molecule; Molecule ghostMolecule; Molecule extraChargesMolecule; ergo_real moleculeUnit; /**< the distance unit for inline molecule input. */ enum MolType readingMoleculeClass; /**< tells which inline molecule we are reading now: main or ghost. */ JK::Params jkOptions; SCF::Options scfOptions; SCF::MatOptions matOptions; ED::Params edOptions; /* Electron dynamics (ED) options. */ void registerInputVariables(); char *Basis; /**< name of the current basis set. */ char *GhostBasis; /**< name of the ghost basis set. */ BasissetNameRange basissetRangeList[NO_OF_BASIS_SET_RANGES]; BasissetNameRange basissetRangeListGhost[NO_OF_BASIS_SET_RANGES]; Ergo() : Basis(NULL), GhostBasis(NULL) { memset(basissetRangeList, 0, NO_OF_BASIS_SET_RANGES * sizeof(BasissetNameRange)); memset(basissetRangeListGhost, 0, NO_OF_BASIS_SET_RANGES * sizeof(BasissetNameRange)); } ~Ergo() { if(Basis) ergo_free(Basis); if(GhostBasis) ergo_free(GhostBasis); variable_free(var_list); /* This one owns the data. Other ones are * just helpers... */ } }; static Ergo ergo; /** Molecule stores geometry of the current molecule. */ static IntegralInfo* ergoIntegralInfo = NULL; static BasisInfoStruct* Basis_info = NULL; /* End of static variable block. */ /** Macro for compact expression of recognized keywords. We make some effort to convert all the floating-point default values to double type so that they can be passed through the stack without problem. The only potential problem is a potential loss of precision if sizeof(ergo_real) > sizeof(double) but this we can hopefully live with for input variables, can we? */ #define KW(kl,vname, type, defval, desc) \ kl = variable_new_ ##type(kl, (#vname), (desc), (type), (defval)) #define variable_new_VAR_STRING variable_new #define variable_new_VAR_FLOAT(kl,n,h,t,v) variable_new(kl,n,h,t,double(v)) #define variable_new_VAR_INT variable_new #define variable_new_VAR_LIST variable_new /** creates new variable item. Such variable can be later assigned values etc. @param tail is a tail of the variable list, allowing easy variable list creation. @param name is the variable name. @param description is a string with a few sentences describing what the variable is for. @param type is the variable type (string, int, or float). */ static struct variable* variable_new(struct variable* tail, const char *name, const char *description, enum VarType type, ...) { struct variable * v = ergo_new(1, struct variable); va_list ap; va_start(ap, type); v->next = tail; v->name = name; v->description = description; v->type = type; switch(type) { case VAR_STRING: v->v.str = strdup(va_arg(ap, char *)); break; case VAR_FLOAT: v->v.num = va_arg(ap, double); break; case VAR_INT: v->v.vint = va_arg(ap, int); break; case VAR_LIST: v->v.list = va_arg(ap, struct variable*); break; default: do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "unknown variable type %d\n", type); } va_end(ap); return v; } /** release variable data structure and its children. */ static void variable_free(struct variable* v) { switch(v->type) { case VAR_STRING: free(v->v.str); break; case VAR_FLOAT: break; case VAR_INT: break; case VAR_LIST: variable_free(v->v.list); break; default: do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "unknown variable type %d\n", v->type); } if(v->next) variable_free(v->next); ergo_free(v); } /** es_assign_num assigns given numerical value to the variable. */ void es_assign_num(struct variable *v, double val) { do_output(LOG_CAT_INFO, LOG_AREA_MAIN, " %s := %g\n", v->name, val); switch(v->type) { case VAR_FLOAT: v->v.num = val; break; case VAR_INT: v->v.vint = (int)val; break; default: do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Assignment of numerical value to nonnumerical " "variable %s ignored.\n", v->name); } } /** es_assign_str assigns given string to the variable. It additionally clears some local variables if a value is assigned to one of the "special" variables like "output_basis or "basis". */ void es_assign_str(struct variable *v, const char *str) { do_output(LOG_CAT_INFO, LOG_AREA_MAIN, " %s := %s\n", v->name, str); if(v->v.str) free(v->v.str); v->v.str = strdup(str); /* FIXME: move the following code to a modify callback. */ if( Basis_info && (strcmp(v->name, "output_basis") == 0 || strcmp(v->name, "basis") == 0 || strcmp(v->name, "ghost_basis") == 0) ) { delete Basis_info; Basis_info = NULL; } if(strcmp(v->name, "basis") == 0) { if(ergo.Basis) free(ergo.Basis); ergo.Basis = strdup(str); do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Basis really set to %s\n", ergo.Basis); } else if(strcmp(v->name, "ghost_basis") == 0) { if(ergo.GhostBasis) free(ergo.GhostBasis); ergo.GhostBasis = strdup(str); do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Ghost basis really set to %s\n", ergo.GhostBasis); } } /** Defines a range of atoms that will be assigned a specific basis set. The range can be reset by specifying a empty count. @param mt chooses main or the ghost molecule. @param rangeNo choose the range to be assigned (1 to 3). @param start the start index. @param cnt the count of atoms in the range. @param name the name of the basis set file. */ int es_assign_range(MolType mt, int rangeNo, int start, int cnt, const char *name) { if(rangeNo <1 || rangeNo > Ergo::NO_OF_BASIS_SET_RANGES) return false; BasissetNameRange *bnrs; switch(mt) { case MOL_MAIN: bnrs = ergo.basissetRangeList; break; case MOL_GHOST: bnrs = ergo.basissetRangeListGhost; break; default: return false; } --rangeNo; printf("Assigning range %s %d [%d:%d] = %s\n", mt == MOL_MAIN ? "MAIN" : "GHOST", rangeNo, start, start+cnt-1, name); bnrs[rangeNo].startAtomIndex = start; bnrs[rangeNo].count = cnt; if (bnrs[rangeNo].basisSetFileName) free(bnrs[rangeNo].basisSetFileName); if(name && *name) bnrs[rangeNo].basisSetFileName = strdup(name); else bnrs[rangeNo].basisSetFileName = NULL; return true; } /** finds the variable struct by @param name starting in the specified root. @param root must be of type VAR_LIST. */ struct variable* es_find_var(struct variable *root, const char *name) { struct variable *res; if(root) { if(root->type == VAR_LIST) res = root->v.list; else res = root; } else res = ergo.var_list; const char* dot_pos = strchr(name, '.'); size_t l = dot_pos ? dot_pos-name : strlen(name); while(res && (strncmp(res->name, name, l) || l != strlen(res->name)) ) { res = res->next; } if(!res) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Variable %s not found.\n", name); } if(res && dot_pos) { return (res->type == VAR_LIST) ? es_find_var(res->v.list, dot_pos+1) : NULL; } else return res; } static inline int var_get_int_template(struct variable *root, const char *name) { struct variable *v = es_find_var(root, name); if(v && v->type == VAR_INT) return v->v.vint; else { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Undefined integer variable %s\n", name); return -12345; } } static inline double var_get_real_template(struct variable *root, const char *name) { struct variable *v = es_find_var(root, name); if (v && v->type == VAR_FLOAT) return v->v.num; else { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Undefined real variable: %s\n", name); return -123456.0; } } static inline const char* var_get_string(struct variable *root, const char *name) { struct variable *v = es_find_var(root, name); return (v && v->type == VAR_STRING) ? v->v.str : ""; } #define var_get_int(n) var_get_int_template(NULL, (n)) #define var_get_intJK(n) var_get_int_template(ergo.J_K_params, (n)) #define var_get_intLR(n) var_get_int_template(ergo.lr_params, (n)) #define var_get_intED(n) var_get_int_template(ergo.ed_params, (n)) #define var_get_intMA(n) var_get_int_template(ergo.mat_params, (n)) #define var_get_intOU(n) var_get_int_template(ergo.output_params, (n)) #define var_get_intSCF(n) var_get_int_template(ergo.scf_params, (n)) #define var_get_intXC(n) var_get_int_template(ergo.XC_params, (n)) #define var_get_real(n) var_get_real_template(NULL, (n)) #define var_get_realJK(n) var_get_real_template(ergo.J_K_params, (n)) #define var_get_realLR(n) var_get_real_template(ergo.lr_params, (n)) #define var_get_realED(n) var_get_real_template(ergo.ed_params, (n)) #define var_get_realMA(n) var_get_real_template(ergo.mat_params, (n)) #define var_get_realOU(n) var_get_real_template(ergo.output_params, (n)) #define var_get_realSCF(n) var_get_real_template(ergo.scf_params, (n)) #define var_get_realXC(n) var_get_real_template(ergo.XC_params, (n)) #define var_get_stringLR(n) var_get_string(ergo.lr_params, (n)) #define var_get_stringED(n) var_get_string(ergo.ed_params, (n)) #define var_get_stringSCF(n) var_get_string(ergo.scf_params, (n)) #define var_get_stringOU(n) var_get_string(ergo.output_params, (n)) #define var_get_stringXC(n) var_get_string(ergo.XC_params, (n)) static void var_print_tree(struct variable *tree, FILE *f, int indent) { for(;tree; tree = tree->next) { for(int i=0; itype) { case VAR_STRING: fprintf(f, "STRING: %s = \"%s\"\n", tree->name, tree->v.str ? tree->v.str : "(empty)"); break; case VAR_FLOAT: fprintf(f, "FLOAT : %s = %g\n", tree->name, tree->v.num); break; case VAR_INT: fprintf(f, "INT : %s = %d\n", tree->name, tree->v.vint); break; case VAR_LIST: fprintf(f, "LIST : %s\n", tree->name); var_print_tree(tree->v.list, f, indent+3); } } } /** starts processing the inline molecule input. Call to this routine should be followed by calls to es_add_atom and es_mol_commit. @param moleculeClass selects the main molecule (MOL_MAIN) or the ghost molecule (MOL_GHOST). */ void es_mol_begin(enum MolType moleculeClass) { ergo.moleculeUnit = 1; ergo.readingMoleculeClass = moleculeClass; switch(moleculeClass) { case MOL_MAIN: ergo.molecule.clear(); break; case MOL_GHOST: ergo.ghostMolecule.clear(); break; default: assert(0); } if(Basis_info) { delete Basis_info; Basis_info = NULL; } } /** adds single atom at given coordinates and given name. The charge is specified currently by the name of the element. */ void es_add_atom(const char *name, double x, double y, double z) { Molecule *m; switch(ergo.readingMoleculeClass) { case MOL_MAIN: m = &ergo.molecule; break; case MOL_GHOST: m = &ergo.ghostMolecule; break; default: assert(0); } ergo_real charge = get_charge_int_from_atom_label(name); m->addAtom(charge, x*ergo.moleculeUnit, y*ergo.moleculeUnit, z*ergo.moleculeUnit); do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "%s (charge=%3.1f) %f %f %f", name, (double)charge, (double)(x*ergo.moleculeUnit), (double)(y*ergo.moleculeUnit), (double)(z*ergo.moleculeUnit)); } /** Finish the inline definition of the molecule. */ void es_mol_commit(void) { printf("Inline %s molecule with %d atoms.\n", ergo.readingMoleculeClass == MOL_GHOST ? "ghost" : "main", ergo.readingMoleculeClass == MOL_GHOST ? ergo.ghostMolecule.getNoOfAtoms() : ergo.molecule.getNoOfAtoms()); } /** Selects the units for the inline molecule format to be Angtroms, as opposed to default atomic units. */ void es_mol_unit_angstrom(void) { ergo.moleculeUnit = UNIT_one_Angstrom; } /** reads molecule data in the MOLECULE.INP (Dalton) or XYZ format. @param fname contains the file name to be opened and read. @param moleculeClass determines whether it is the main molecule (MOL_MAIN) or the ghost molecule (MOL_GHOST) to be read. */ int es_mol_read_molecule(const char *fname, enum MolType moleculeClass) { char *basissetfile = NULL; Molecule *m; char **basisFileName; switch(moleculeClass) { case MOL_MAIN: m = &ergo.molecule; basisFileName = &ergo.Basis; break; case MOL_GHOST: m = &ergo.ghostMolecule; basisFileName = &ergo.GhostBasis; break; default: assert(0); } int res = m->setFromMoleculeFile(fname, 0, /* we are guessing the net charge here */ &basissetfile); if(basissetfile) { if(!*basisFileName) { *basisFileName = basissetfile; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Setting the Basis from the MOLECULE file to %s\n", *basisFileName); } else { ergo_free(basissetfile); } } if(Basis_info) { delete Basis_info; Basis_info = NULL; } return res; } int es_set_nthreads(int nThreads) { const char *thread_counters[] = { "J_K.threads_J", "J_K.threads_K", "mat.threads", "scf.no_of_threads_for_V" }; for(unsigned i=0; i 0) ) { if(doDetect) { FILE *f = fopen("/proc/cpuinfo", "rt"); if(f) { char line[256]; defThreads = 0; while(fgets(line, sizeof(line), f)) if(strncmp(line, "processor", 9) == 0) defThreads++; fclose(f); /* Protect against case when /proc/cpuinfo exits but contains garbage. Unlikely but possible. */ if(defThreads == 0) defThreads = 1; } } } es_set_nthreads(defThreads); return 0; } else return -1; } static void jkparams_set_from_vars(JK::Params& jkp) { memset(&jkp, 0, sizeof(jkp)); jkp.threshold_J = var_get_realJK("threshold_2el_J"); jkp.threshold_K = var_get_realJK("threshold_2el_K"); jkp.multipole_threshold_factor = var_get_realJK("multipole_threshold_factor"); #ifndef SKIP_UNOFFICIAL_INPUT_PARAMS jkp.use_densfit_for_J = var_get_intJK("use_densfit_for_J"); jkp.use_differential_density = var_get_intJK("use_differential_density"); #endif jkp.use_fmm = var_get_intJK("use_fmm"); jkp.fmm_box_size = var_get_realJK("fmm_box_size"); jkp.fmm_no_of_branches = var_get_intJK("fmm_no_of_branches"); jkp.fmm_branch_splitter_extent_1 = var_get_realJK("fmm_branch_splitter_extent_1"); jkp.fmm_branch_splitter_extent_2 = var_get_realJK("fmm_branch_splitter_extent_2"); jkp.fmm_branch_splitter_extent_3 = var_get_realJK("fmm_branch_splitter_extent_3"); jkp.fmm_branch_splitter_extent_4 = var_get_realJK("fmm_branch_splitter_extent_4"); jkp.fmm_branch_splitter_extent_5 = var_get_realJK("fmm_branch_splitter_extent_5"); jkp.exchange_box_size = var_get_realJK("exchange_box_size"); jkp.noOfThreads_J = var_get_intJK("threads_J"); jkp.noOfThreads_K = var_get_intJK("threads_K"); } void es_print_help() { var_print_tree(ergo.var_list, stdout, 0); printf("\nAvailable commands:\n" "help\n" "molecule [ghost] \"FILENAME\"\n" "molecule_inline [Angstrom]\n" "ghost_inline [Angstrom]\n" "range NUM = START COUNT \"BASIS-SET\"\n" "run \"METHOD\", METHOD=HF or a DFT functional\n" "system \"CMD\"\n" "warranty\n" "quit\n" "get_excited_state \"METHOD\" NO_OF_STATES\n" "get_polarisability \"METHOD\" \"[XYZ]\" FREQUENCY\n" "get_polarisability \"METHOD\" all FREQUENCY\n" "set_nthreads(N) where N is a number\n" "set_nthreads(\"env\") uses OMP_NUM_THREADS to set the thread count\n" "set_nthreads(\"detect\") uses OMP_NUM_THREADS, or hardware info.\n"); } void es_print_help_var(const struct variable *var) { printf("%s: %s\n", var->name, var->description); } /** Print precision that was selected for building the program. */ void es_print_precision() { #ifdef PRECISION_SINGLE const char *precision = "single"; #elif defined(PRECISION_LONG_DOUBLE) const char *precision = "long_double"; #else const char *precision = "double"; #endif puts(precision); } static int es_rmdir_with_content(const char *dirname) { DIR * dir = opendir(dirname); struct dirent *dp; if(!dir) return -1; std::list filesToRemove; while ( (dp=readdir(dir)) ) { filesToRemove.push_front(dp->d_name); } closedir(dir); for(std::list::const_iterator i=filesToRemove.begin(); i != filesToRemove.end(); ++i) { std::string fname(dirname); fname.append(1, '/'); fname.append(*i); if (unlink(fname.c_str()) != 0) return -1; } return rmdir(dirname); } /** called when an actual calculation is to be commenced. @param mode is the first specified keyword. Some calculation types - like response ones - require the Fock matrix. @param save_pot tells whether saving it is required: The save_final_potential configuration parameter will be overriden if save_pot is true. */ int es_run(const char *mode, int save_pot) { do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "running %s\n", mode); if(!ergoIntegralInfo) ergoIntegralInfo = new IntegralInfo(true); if(var_get_int("enable_memory_usage_output")) enable_memory_usage_output(); if(var_get_int("rand_seed")) { int seed = var_get_int("rand_seed"); do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "es_run: calling srand() with seed %9d.", seed); srand(seed); } if (ergo.molecule.getNumberOfElectrons() <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "es_run: no electrons found. Number of atoms: %d", ergo.molecule.getNoOfAtoms()); return -1; } if(!Basis_info) { int output_basis = var_get_int("output_basis"); int use_6_d_funcs = var_get_int("use_6_d_functions"); Basis_info = new BasisInfoStruct(use_6_d_funcs); const int do_basis_normalization = 1; const int skip_sort_shells = 0; if(ergo.Basis != NULL) { // We skip adding basis functions here if the special basis set string "none" is given. if(strcmp(ergo.Basis, "none") != 0) { if(Basis_info->addBasisfuncsForMolecule(ergo.molecule, ergo.Basis, Ergo::NO_OF_BASIS_SET_RANGES, ergo.basissetRangeList, *ergoIntegralInfo, output_basis, do_basis_normalization, skip_sort_shells) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in basisInfo->add_basisfuncs_for_molecule " "for main basis set, Basis='%s'", ergo.Basis); return -1; } } } if(ergo.ghostMolecule.getNoOfAtoms() > 0 && Basis_info->addBasisfuncsForMolecule(ergo.ghostMolecule, ergo.GhostBasis, Ergo::NO_OF_BASIS_SET_RANGES, ergo.basissetRangeListGhost, *ergoIntegralInfo, output_basis, do_basis_normalization, skip_sort_shells) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in basisInfo->add_basisfuncs_for_molecule " "for ghost basis set, Basis='%s'", ergo.GhostBasis); return -1; } } /* else reuse basis info since none of the geometry, Basis * has changed. */ if(Basis_info->noOfBasisFuncs<1) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Cannot proceed: No basis functions defined."); return -1; } SCF::Options& scf = ergo.scfOptions; scf.calculation_identifier = var_get_stringSCF("calculation_identifier"); scf.method_and_basis_set = std::string(mode) + "/" + std::string(ergo.Basis); scf.electric_field.v[0] = var_get_realSCF("electric_field_x"); scf.electric_field.v[1] = var_get_realSCF("electric_field_y"); scf.electric_field.v[2] = var_get_realSCF("electric_field_z"); scf.sparse_threshold_for_S = var_get_realSCF("sparse_threshold_for_S"); scf.sparse_threshold_for_Z = var_get_realSCF("sparse_threshold_for_Z"); scf.convergence_threshold = var_get_realSCF("convergence_threshold"); scf.step_length_start = var_get_realSCF("step_length_start"); scf.step_length_giveup = var_get_realSCF("step_length_giveup"); scf.error_maxabs_for_diis = var_get_realSCF("error_maxabs_for_diis"); scf.starting_guess_disturbance = var_get_realSCF("starting_guess_disturbance"); scf.purification_subspace_err_limit = var_get_realSCF("purification_subspace_err_limit"); scf.purification_eigvalue_err_limit = var_get_realSCF("purification_eigvalue_err_limit"); scf.purification_with_acceleration = var_get_intSCF("purification_with_acceleration"); scf.use_new_stopping_criterion = var_get_intSCF("use_new_stopping_criterion"); scf.puri_eig_acc_factor_for_guess = var_get_realSCF("puri_eig_acc_factor_for_guess"); scf.gap_expected_lower_bound = var_get_realSCF("gap_expected_lower_bound"); scf.shift_using_prev_density_matrix = var_get_realSCF("shift_using_prev_density_matrix"); scf.electronic_temperature = var_get_realSCF("electronic_temperature"); scf.purification_truncation_norm = mat::getNormType( var_get_stringSCF("purification_truncation_norm") ); scf.purification_stop_crit_norm = mat::getNormType( var_get_stringSCF("purification_stop_crit_norm") ); scf.break_on_energy_increase = var_get_intSCF("break_on_energy_increase"); scf.create_basis_func_coord_file = var_get_intSCF("create_basis_func_coord_file"); scf.output_homo_and_lumo_eigenvectors = var_get_intSCF("output_homo_and_lumo_eigenvectors"); scf.eigensolver_accuracy = var_get_realSCF("eigensolver_accuracy"); scf.eigensolver_maxiter = var_get_intSCF("eigensolver_maxiter"); scf.create_mtx_file_S = var_get_intSCF("create_mtx_file_S"); scf.create_mtx_file_H_core = var_get_intSCF("create_mtx_file_H_core"); scf.create_mtx_files_F = var_get_intSCF("create_mtx_files_F"); scf.create_mtx_files_D = var_get_intSCF("create_mtx_files_D"); scf.create_mtx_files_dipole = var_get_intSCF("create_mtx_files_dipole"); scf.create_mtx_files_S_and_quit = var_get_intSCF("create_mtx_files_S_and_quit"); scf.create_2el_integral_m_file = var_get_intSCF("create_2el_integral_m_file"); scf.force_restricted = var_get_intSCF("force_restricted"); scf.force_unrestricted = var_get_intSCF("force_unrestricted"); scf.max_no_of_diis_matrices = var_get_intSCF("max_no_of_diis_matrices"); scf.max_restart_count = var_get_intSCF("max_restart_count"); scf.min_number_of_iterations = var_get_intSCF("min_number_of_iterations"); scf.max_number_of_iterations = var_get_intSCF("max_number_of_iterations"); scf.no_of_careful_first_scf_steps = var_get_intSCF("no_of_careful_first_scf_steps"); scf.do_report_density_diff = var_get_intSCF("do_report_density_diff"); scf.no_of_impr_req_for_diis = var_get_intSCF("no_of_impr_req_for_diis"); scf.no_of_threads_for_V = var_get_intSCF("no_of_threads_for_V"); scf.output_density_at_every_step = var_get_intSCF("output_density_at_every_step"); scf.save_final_potential = var_get_intSCF("save_final_potential") || save_pot; scf.use_diagonalization = var_get_intSCF("use_diagonalization"); scf.use_diag_on_error = var_get_intSCF("use_diag_on_error"); scf.use_diag_on_error_guess = var_get_intSCF("use_diag_on_error_guess"); scf.store_all_eigenvalues_to_file = var_get_intSCF("store_all_eigenvalues_to_file"); scf.output_mulliken_pop = var_get_intSCF("output_mulliken_pop"); scf.output_density_images = var_get_intSCF("output_density_images"); scf.output_density_images_only = var_get_intSCF("output_density_images_only"); scf.output_density_images_boxwidth = var_get_realSCF("output_density_images_boxwidth"); scf.compute_gradient_fixeddens = var_get_intSCF("compute_gradient_fixeddens"); scf.verify_gradient_fixeddens = var_get_intSCF("verify_gradient_fixeddens"); #ifndef SKIP_UNOFFICIAL_INPUT_PARAMS scf.do_f_thresh_verification = var_get_intSCF("do_f_thresh_verification"); scf.do_comparison_to_simple_purification = var_get_intSCF("do_comparison_to_simple_purification"); scf.do_puri_mmul_tests = var_get_intSCF("do_puri_mmul_tests"); scf.output_statistics_mfiles = var_get_intSCF("output_statistics_mfiles"); scf.do_sparsity_investigation = var_get_intSCF("do_sparsity_investigation"); scf.do_sparsity_investigation_reppuri = var_get_intSCF("do_sparsity_investigation_reppuri"); scf.sparsity_plots_resolution_r = var_get_intSCF("sparsity_plots_resolution_r"); scf.sparsity_plots_resolution_m = var_get_intSCF("sparsity_plots_resolution_m"); scf.do_acc_scan_J = var_get_intSCF("do_acc_scan_J"); scf.do_acc_scan_K = var_get_intSCF("do_acc_scan_K"); scf.do_acc_scan_Vxc = var_get_intSCF("do_acc_scan_Vxc"); scf.scan_no_of_steps = var_get_intSCF("scan_no_of_steps"); scf.scan_start_thresh = var_get_realSCF("scan_start_thresh"); scf.scan_step_factor = var_get_realSCF("scan_step_factor"); scf.write_guess_density_only = var_get_intSCF("write_guess_density_only"); scf.compute_core_density = var_get_intSCF("compute_core_density"); scf.no_of_core_electrons = var_get_intSCF("no_of_core_electrons"); scf.skip_H_core = var_get_intSCF("skip_H_core"); scf.purification_create_m_files = var_get_intSCF("purification_create_m_files"); scf.create_checkpoints = var_get_intSCF("create_checkpoints"); scf.checkpoint_IDstr = var_get_stringSCF("checkpoint_IDstr"); scf.eigenvectors_method = var_get_stringSCF("eigenvectors_method"); scf.eigenvectors_iterative_method = var_get_stringSCF("eigenvectors_iterative_method"); scf.purification_use_rand_perturbation_for_alleigsint = var_get_intSCF("purification_use_rand_perturbation_for_alleigsint"); scf.use_stochastic_orbs = var_get_intSCF("use_stochastic_orbs"); scf.stochastic_orbs_no_of_vectors = var_get_intSCF("stochastic_orbs_no_of_vectors"); scf.stochastic_orbs_use_unit_vectors = var_get_intSCF("stochastic_orbs_use_unit_vectors"); scf.stochastic_orbs_rand_param = var_get_intSCF("stochastic_orbs_rand_param"); #endif scf.write_overlap_matrix = var_get_intSCF("write_overlap_matrix"); scf.use_simple_dense_H_core = var_get_intSCF("use_simple_dense_H_core"); scf.use_diis_always = var_get_intSCF("use_diis_always"); scf.use_simple_starting_guess = var_get_int("use_simple_starting_guess"); scf.use_dft = mode && strcmp(mode, "HF") != 0 ? (var_get_intXC("sparse_mode") ? 2 : 1) : 0; jkparams_set_from_vars(ergo.jkOptions); ED::Params& ed = ergo.edOptions; ed.max_time = var_get_realED("max_time"); ed.timestep = var_get_realED("timestep"); ed.dc_pulse_strength = var_get_realED("dc_pulse_strength"); ed.dc_pulse_time = var_get_realED("dc_pulse_time"); ed.ac_pulse_max = var_get_realED("ac_pulse_max"); ed.ac_pulse_omega = var_get_realED("ac_pulse_omega"); ed.field_type = var_get_stringED("field_type"); ergo.molecule.setNetCharge(var_get_int("charge")); int alpha_beta_diff = var_get_int("spin_polarization"); if( (ergo.molecule.getNumberOfElectrons()-alpha_beta_diff)%2) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Incompatible values for charge and spin_polarization" " settings."); return -1; } SCF::OutputOptions outputOptions; ergo.matOptions.threshold_inch = var_get_realMA("threshold_inch"); ergo.matOptions.sparse_threshold = var_get_realMA("sparse_threshold"); ergo.matOptions.sparse_matrix_block_size = var_get_intMA("sparse_matrix_block_size"); ergo.matOptions.sparse_matrix_block_factor_1 = var_get_intMA("sparse_matrix_block_factor_1"); ergo.matOptions.sparse_matrix_block_factor_2 = var_get_intMA("sparse_matrix_block_factor_2"); ergo.matOptions.sparse_matrix_block_factor_3 = var_get_intMA("sparse_matrix_block_factor_3"); ergo.matOptions.threads = var_get_intMA("threads"); ergo.matOptions.parallelLevel = var_get_intMA("parallelLevel"); ergo.matOptions.no_of_buffers_per_allocator = var_get_intMA("no_of_buffers_per_allocator"); ergo.matOptions.prepare(*Basis_info); const char *tmpdir = var_get_string(NULL, "tmpdir"); std::string subdir(tmpdir); if(var_get_intMA("write_to_file")) { subdir.append("/ergo_"); char buf[20]; snprintf(buf, sizeof(buf), "%i", getpid()); subdir.append(buf); const char *matrixDir = subdir.c_str(); if(mkdir(matrixDir, 0777) != 0 && errno != EEXIST) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Cannot create tmp directory %s: %s", matrixDir, strerror(errno)); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Using directory '%s' for matrix storage.", matrixDir); static bool initializedMatLib = false; if(!initializedMatLib) { mat::FileWritable::setPath(matrixDir); mat::FileWritable::activate(); initializedMatLib = true; } } if(scf.use_dft) { if(dft_setfunc(mode) == 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in dft_setfunc"); return -1; } dftreport_(); } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Calling grid_set_tmpdir with tmpdir = '%s'", tmpdir); grid_set_tmpdir(tmpdir); Dft::GridParams gss(var_get_realXC("radint"), var_get_intXC("angmin"), var_get_intXC("angint"), var_get_realXC("box_size"), var_get_intXC("force_cubic_boxes"), var_get_realXC("hicu_max_error"), var_get_realXC("hicu_box_size"), var_get_realXC("hicu_start_box_size_debug"), var_get_intXC("hicu_use_error_per_volume"), var_get_intXC("hicu_do_double_checking"), var_get_intXC("hicu_compare_to_refined"), var_get_intXC("hicu_use_energy_criterion"), var_get_intXC("hicu_use_energy_criterion_only"), var_get_intXC("hicu_do_variation_checking")); const char *gridType = var_get_stringXC("type"); if (strcasecmp(gridType, "HICU") == 0) { gss.gridType = Dft::GridParams::TYPE_HICU; } else if (strcasecmp(gridType, "GC2") == 0) { gss.radialGridScheme = Dft::GridParams::GC2; } else if (strcasecmp(gridType, "Turbo") == 0) { gss.radialGridScheme = Dft::GridParams::TURBO; } else if (strcasecmp(gridType, "LMG") == 0) { gss.radialGridScheme = Dft::GridParams::LMG; } else { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Unknown radial grid type '%s'", gridType); return -1; } /* end of permutation initialization */ const char *initial_density_fname = var_get_string(NULL, "initial_density"); if(initial_density_fname && !*initial_density_fname) initial_density_fname = NULL; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Running %s%s", mode, initial_density_fname ? " (restarted)" : ""); ergo_real threshold_integrals_1el = var_get_realJK("threshold_1el"); /* Set charges in extraChargesMolecule according to parameters "extra_charges_mol_charge_h", "extra_charges_mol_charge_o" etc. */ ergo_real extra_charges_atom_charge_h = var_get_real("extra_charges_atom_charge_h"); ergo_real extra_charges_atom_charge_o = var_get_real("extra_charges_atom_charge_o"); for(int i = 0; i < ergo.extraChargesMolecule.getNoOfAtoms(); i++) { Atom atom = ergo.extraChargesMolecule.getAtom(i); if(atom.charge == 1) atom.charge = extra_charges_atom_charge_h; else if(atom.charge == 8) atom.charge = extra_charges_atom_charge_o; else { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Error processing extraChargesMolecule: only O and H atoms are supported. Found atom with charge %5.2f", atom.charge); return -1; } ergo.extraChargesMolecule.replaceAtom(i, atom); } BasisInfoStruct basisInfoDensFit(0); /* FIXME */ int noOfElectrons = ergo.molecule.getNumberOfElectrons(); try { if (noOfElectrons % 2 == 1 || scf.force_unrestricted || alpha_beta_diff != 0) { // unrestricted SCF SCF_unrestricted SCF(ergo.molecule, ergo.extraChargesMolecule, *Basis_info, basisInfoDensFit, /* FIXME */ *ergoIntegralInfo, initial_density_fname, ergo.jkOptions, gss, scf, ergo.matOptions, threshold_integrals_1el, alpha_beta_diff); SCF.do_SCF_iterations(); // Optionally use results to perform CI calculation. int do_ci_after_scf = var_get_int("do_ci_after_scf"); if(do_ci_after_scf == 1) { // Do CI do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Preparing full matrices needed by CI routine.."); // Get stuff from SCF object. symmMatrix S_matrix; SCF.get_overlap_matrix(S_matrix); symmMatrix H_core; SCF.get_H_core_matrix(H_core); symmMatrix FockMatrix_a; symmMatrix FockMatrix_b; SCF.get_Fock_matrices(FockMatrix_a, FockMatrix_b); int noOfElectrons_a, noOfElectrons_b; SCF.get_no_of_electrons(noOfElectrons_a, noOfElectrons_b); ergo_real energy; ergo_real nuclearEnergy; SCF.get_energy(energy, nuclearEnergy); // Create full matrices needed by CI routine. int n = Basis_info->noOfBasisFuncs; std::vector S(n*n); std::vector F_a(n*n); std::vector F_b(n*n); std::vector H_1(n*n); S_matrix.fullMatrix(S, ergo.matOptions.inversePermutationHML, ergo.matOptions.inversePermutationHML); H_core.fullMatrix(H_1, ergo.matOptions.inversePermutationHML, ergo.matOptions.inversePermutationHML); FockMatrix_a.fullMatrix(F_a, ergo.matOptions.inversePermutationHML, ergo.matOptions.inversePermutationHML); FockMatrix_b.fullMatrix(F_b, ergo.matOptions.inversePermutationHML, ergo.matOptions.inversePermutationHML); // Use default CI options CI::Options ci_options; // Call CI routine. if(do_CI(*Basis_info, *ergoIntegralInfo, ci_options, ergo.molecule, &S[0], &H_1[0], &F_a[0], &F_b[0], noOfElectrons_a, noOfElectrons_b, nuclearEnergy, energy ) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_SCF, "Error in do_CI."); throw "error in DO_CI"; } do_output(LOG_CAT_RESULTS, LOG_AREA_SCF, "CI routine finished OK."); } } else { // restricted SCF SCF_restricted SCF(ergo.molecule, ergo.extraChargesMolecule, *Basis_info, basisInfoDensFit, /* FIXME */ *ergoIntegralInfo, initial_density_fname, ergo.jkOptions, gss, scf, ergo.matOptions, threshold_integrals_1el); SCF.do_SCF_iterations(); // Optionally do electron dynamics calculation. */ int do_electron_dynamics_after_scf = var_get_int("do_electron_dynamics_after_scf"); if(do_electron_dynamics_after_scf == 1) { // Get stuff from SCF object. symmMatrix S_matrix; SCF.get_overlap_matrix(S_matrix); symmMatrix H_core; SCF.get_H_core_matrix(H_core); symmMatrix FockMatrix; SCF.get_Fock_matrix(FockMatrix); triangMatrix invCholFactor; SCF.get_invCholFactor_matrix(invCholFactor); symmMatrix densityMatrix; SCF.get_density_matrix(densityMatrix); JK::ExchWeights CAM_params; get_hf_weight_and_cam_params(scf.use_dft, &CAM_params.alpha, &CAM_params.beta, &CAM_params.mu); CAM_params.computeRangeSeparatedExchange = CAM_params.beta != ergo_real(0.0); do_tdhf_dynamics(*Basis_info, *ergoIntegralInfo, ergo.molecule, ergo.extraChargesMolecule, ergo.matOptions, CAM_params, ergo.jkOptions, FockMatrix, densityMatrix, S_matrix, invCholFactor, ed); } } } catch (const std::bad_alloc & e) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "\n" "=============================================================\n" "std::bad_alloc caught in es_run: '%s'", e.what()); do_output_time(LOG_CAT_ERROR, LOG_AREA_MAIN, "Time of exception: "); } catch (const std::ios_base::failure & e) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "\n" "=============================================================\n" "std::ios_base::failure caught in es_run: '%s'\n" "Out of disk space?", e.what()); do_output_time(LOG_CAT_ERROR, LOG_AREA_MAIN, "Time of exception: "); } catch (const std::exception& e) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Exception (std::exception) caught in es_run: '%s'\n", e.what()); fprintf(stderr, "Exception (std::exception) caught in es_run: '%s'\n", e.what()); } catch (const char* s) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Exception (char*) caught in es_run: '%s'\n", s); fprintf(stderr, "Exception (char*) caught in es_run: '%s'\n", s); } grid_free_files(); if(var_get_intMA("write_to_file")) es_rmdir_with_content(subdir.c_str()); return 0; } #if 0 static void printmat(int n, const ergo_real *m, const char *name) { printf("Printing matrix %s\n", name); for(int i=0; inoOfBasisFuncs; get_hf_weight_and_cam_params(use_xc, &CAM_params.alpha, &CAM_params.beta, &CAM_params.mu); CAM_params.computeRangeSeparatedExchange = CAM_params.beta != ergo_real(0.0); //printmat(bi->noOfBasisFuncs, dmat, "transition density"); memset(fmat, 0, nbast*nbast*sizeof(ergo_real)); bool res = false; #if 1 jkparams_set_from_vars(ergo.jkOptions); do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "calling compute_J_by_boxes_nosymm"); if(compute_J_by_boxes_nosymm(*bi, *ergoIntegralInfo, ergo.jkOptions, fmat, dmat) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in compute_J_by_boxes_nosymm"); return false; } if(CAM_params.alpha != 0.0 || CAM_params.computeRangeSeparatedExchange) { do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "calling compute_K_by_boxes"); int n = bi->noOfBasisFuncs; ergo_real* K = new ergo_real[n*n]; memset(K, 0, n*n*sizeof(ergo_real)); int symmetryFlag = 0; if(compute_K_by_boxes(*bi, *ergoIntegralInfo, CAM_params, ergo.jkOptions, K, NULL, dmat, NULL, symmetryFlag) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in compute_K_by_boxes"); return false; } int i; ergo_real CAMhf_weight = CAM_params.computeRangeSeparatedExchange ? 1.0 : CAM_params.alpha; for(i = 0; i < n*n; i++) fmat[i] += CAMhf_weight * K[i]; delete []K; } res = true; #else do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "ergo_scripted.cc: calling compute_2e_matrix_simple\n"); res = compute_2e_matrix_simple(bi, ergoIntegralInfo, hf_weight, fmat, dmat) == 0; #endif if(res && use_xc) { ergo_real *dens_matrix = NULL; BasisInfoStruct *basis_read = NULL; Dft::GridParams gss(var_get_realXC("radint"), var_get_intXC("angmin"), var_get_intXC("angint"), var_get_realXC("box_size"), var_get_intXC("force_cubic_boxes"), var_get_realXC("hicu_max_error"), var_get_realXC("hicu_box_size"), var_get_realXC("hicu_start_box_size_debug"), var_get_intXC("hicu_use_error_per_volume"), var_get_intXC("hicu_do_double_checking"), var_get_intXC("hicu_compare_to_refined"), var_get_intXC("hicu_use_energy_criterion"), var_get_intXC("hicu_use_energy_criterion_only"), var_get_intXC("hicu_do_variation_checking")); if(ddf_load_density("density.bin", 1, *ergoIntegralInfo, &basis_read, &dens_matrix)) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Cannot load last Fock matrix from potential.bin"); return false; } dft_lin_resp_mt(*basis_read, *mol, gss, dens_matrix, dmat, fmat); ergo_free(dens_matrix); delete basis_read; } return res; } }; class ErgoOperator : public LR::OneElOperator { int px, py, pz; public: ErgoOperator(int pow_x, int pow_y, int pow_z) : px(pow_x), py(pow_y), pz(pow_z){} void setDipoleOp(int pow_x, int pow_y, int pow_z) { px = pow_x; py = pow_y; pz = pow_z; } virtual void getOper(ergo_real *res) { compute_operator_matrix_full(*Basis_info, *Basis_info, px, py, pz, res); } }; /** Computes the specified number of excited states. @param no_exc specifies number of the excited states to be computed, @param mode specifies the calculation type (HF, LDA, etc). */ int es_getexc(const char *mode, int no_exc) { if (no_exc<=0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Number of excited states must be larger than 0\n"); return 1; } if(es_run(mode, 1) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "es_run failed"); return 2; } int nocc = ergo.molecule.getNumberOfElectrons(); if(nocc%2 != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "I work only for the closed shell.\n"); return 3; } nocc /= 2; int nbast = Basis_info->noOfBasisFuncs; /** FIXME: consider passing callback functions instead of entire matrices. The callback functions fill in specified blocks of data with overlap matrix and the Fock matrix. Current solution keeps these two potentially huge data blocks allocated all the time in memory. */ ergo_real *fock_matrix = NULL; BasisInfoStruct *basis_read = NULL; if(ddf_load_density("potential.bin", 1, *ergoIntegralInfo, &basis_read, &fock_matrix)) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Cannot load last Fock matrix from potential.bin"); return -1; } //printmat(Basis_info->noOfBasisFuncs, fock_matrix, "FOCK"); ergo_real *overlap_matrix = new ergo_real[nbast*nbast]; if(compute_overlap_matrix(*Basis_info, *basis_read, overlap_matrix) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in compute_overlap_matrix"); ergo_free(fock_matrix); return -2; } try { const char *tmpdir = var_get_string(NULL, "tmpdir"); ErgoE2Evaluator e2(basis_read, &ergo.molecule, mode); LR::EigenSolver solver(nbast, nocc, fock_matrix, overlap_matrix, no_exc); solver.convThreshold = var_get_realLR("convergence_threshold"); solver.increaseSubspaceLimit(var_get_intLR("max_iterations")*2); if(!solver.solve(e2, tmpdir && *tmpdir ) ) { printf("Not converged!\n"); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Not converged\n"); } ErgoOperator dx(1,0,0); ErgoOperator dy(0,1,0); ErgoOperator dz(0,0,1); solver.computeMoments(dx, dy, dz); for(int i=0; i> at freq %15.9f: %15.10g\n", opLs[i], opName, (double)freq, (double)polarisability); do_output(LOG_CAT_RESULTS, LOG_AREA_MAIN, "Response << %c | %c >> at freq %15.9f: %15.10g", opLs[i], opName, (double)freq, (double)polarisability); } } /** Computes a dynamical polarizability for an operator specified by the @param opName and frequency @param freq - please check what does the literature say about computing multiple operators and/or frequencies at the same time. Consider using enumerated constants for operators instead of arbitrary strings to enforce parameter checking. It can be too early in this place for that - the operator names should be checked down the execution pipeline. @param mode is the type of Hamiltonian (HF, or the xc functional). @param freq tells the frequency. */ int es_get_polarisability(const char *mode, const char *opName, double freq) { int nocc = ergo.molecule.getNumberOfElectrons(); if(nocc%2 != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "es_get_polarisability works only for a closed shell.\n"); return 3; } nocc /= 2; if(opName && strlen(opName) != 1 && !getOperatorParams(opName[0]) ) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "polarisability: opname is a 1-character string eg. \"Z\"."); return 4; } if(es_run(mode, 1) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "es_run failed"); return 2; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "Polarisability calculation with FreQ: %g", freq); int nbast = Basis_info->noOfBasisFuncs; ergo_real *fockMatrix = NULL; BasisInfoStruct *basis_read = NULL; if(ddf_load_density("potential.bin", 1, *ergoIntegralInfo, &basis_read, &fockMatrix)) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Cannot load last Fock matrix from potential.bin"); return -1; } //printmat(Basis_info->noOfBasisFuncs, fock_matrix, "FOCK"); std::vector overlapMatrix(nbast*nbast); if(compute_overlap_matrix(*Basis_info, *basis_read, &overlapMatrix[0]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "error in compute_overlap_matrix"); ergo_free(fockMatrix); return -2; } try { const char *tmpdir = var_get_string(NULL, "tmpdir"); ErgoE2Evaluator e2(basis_read, &ergo.molecule, mode); LR::SetOfEqSolver solver(nbast, nocc, fockMatrix, &overlapMatrix[0], freq); overlapMatrix.clear(); delete fockMatrix; fockMatrix = NULL; solver.convThreshold = var_get_realLR("convergence_threshold"); solver.increaseSubspaceLimit(var_get_intLR("max_iterations")*2); if(opName) { for(int i=0; opName[i]; i++) solveForRHS(solver, e2, opName[i], tmpdir, freq); } else { for(const char *r="XYZ"; *r; r++) solveForRHS(solver, e2, *r, tmpdir, freq); } } catch(const char*s) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "SetOfEqSolver encountered error: %s\n", s); } if(fockMatrix) ergo_free(fockMatrix); delete basis_read; return 0; /* success */ } /** initializes the input module by registering all the recognized variables, their types and default values. If configuration objects exist for some part of calculations, we make effort to take the default values they provide. */ void Ergo::registerInputVariables() { int defThreads; const char *env = getenv("OMP_NUM_THREADS"); const char *tmpdir = getenv("TMPDIR"); if ( !(env && (defThreads=atoi(env)) > 0) ) { defThreads = 1; } if( !tmpdir ) { tmpdir = "/tmp"; } int defThreadsOMP; #ifdef _OPENMP defThreadsOMP = defThreads; #else defThreadsOMP = 1; #endif #define KL ergo.J_K_params #define KWJK(n,type,d) KW(ergo.J_K_params,n,type,jkOptions.n,(d)) KWJK(use_fmm, VAR_INT,"Use multipole method for Coulomb matrix construction. This also enables linear scaling HF-exchange matrix construction."); #ifndef SKIP_UNOFFICIAL_INPUT_PARAMS KWJK(use_differential_density, VAR_INT,"Use \"differential density\" procedure to try to speed up Fock matrix construction."); KWJK(use_densfit_for_J, VAR_INT,"Use \"density fitting\" for Coulomb matrix construction."); #endif KW(KL,threshold_2el_J, VAR_FLOAT,jkOptions.threshold_J,"Threshold value for Coulomb matrix construction."); KW(KL,threshold_2el_K, VAR_FLOAT,jkOptions.threshold_K,"Threshold value for HF exchange matrix construction."); KW(KL,threshold_1el, VAR_FLOAT, 1e-12,"Threshold value for one-electron (core) Hamiltonian matrix construction."); KW(KL,threads_K, VAR_INT, defThreads,"Number of threads to use in Coulomb matrix construction."); KW(KL,threads_J, VAR_INT, defThreads,"Number of threads to use in HF exchange matrix construction."); KWJK(multipole_threshold_factor, VAR_FLOAT,"Factor to apply to threshold value in multipole part (far field) of Coulomb matrix construction."); KWJK(fmm_no_of_branches, VAR_INT,"Number of branches to use in Coulomb matrix construction. If 0, default branch settings are used based on box size and max extent."); KWJK(fmm_branch_splitter_extent_5, VAR_FLOAT,"Extent splitter value 5 for branch division in Coulomb matrix construction."); KWJK(fmm_branch_splitter_extent_4, VAR_FLOAT,"Extent splitter value 4 for branch division in Coulomb matrix construction."); KWJK(fmm_branch_splitter_extent_3, VAR_FLOAT,"Extent splitter value 3 for branch division in Coulomb matrix construction."); KWJK(fmm_branch_splitter_extent_2, VAR_FLOAT,"Extent splitter value 2 for branch division in Coulomb matrix construction."); KWJK(fmm_branch_splitter_extent_1, VAR_FLOAT,"Extent splitter value 1 for branch division in Coulomb matrix construction."); KWJK(fmm_box_size, VAR_FLOAT,"Smallest box size to use in Coulomb matrix construction."); KWJK(exchange_box_size, VAR_FLOAT,"Smallest box size to use in HF exchange matrix construction."); #undef KL #define KL ergo.XC_params KW(KL,type, VAR_STRING, "Turbo","Type of the radial quadrature, one of Turbo, LMG and HICU."); KW(KL,sparse_mode, VAR_INT, 1,"Enable sparse mode for DFT exchange-correlation matrix computation."); KW(KL,radint, VAR_FLOAT, 5e-9,"Accuracy of the radial integration for atomic grids"); KW(KL,force_cubic_boxes, VAR_INT, 0,"Forces cubic boxes in grid generation as opposed to rectangular cuboid"); KW(KL,box_size, VAR_FLOAT, 5.0,"Upper limit on grid box size"); KW(KL,angmin, VAR_INT, 6,"Minimal order of pruned angular atomic grids"); KW(KL,angint, VAR_INT, 29,"Default order of angular atomic grids"); KW(KL,hicu_max_error, VAR_FLOAT, 1e-7,"Threshold value (max error per box) for Hierarchical Cubature (HiCu) DFT grid generation."); KW(KL,hicu_box_size, VAR_FLOAT, 1.5,"Box size for Hierarchical Cubature (HiCu) DFT grid generation."); KW(KL,hicu_start_box_size_debug, VAR_FLOAT, 0.0,"Debug box size param for Hierarchical Cubature (HiCu) DFT grid generation."); KW(KL,hicu_use_error_per_volume, VAR_INT, 0,"Use \"error-per-volume\" measure in Hierarchical Cubature (HiCu) DFT grid generation."); KW(KL,hicu_do_double_checking, VAR_INT, 1,"Do \"double-checking\" of errors in Hierarchical Cubature (HiCu) DFT grid generation."); KW(KL,hicu_compare_to_refined, VAR_INT, 0,"Compare to refined grid in Hierarchical Cubature (HiCu) DFT grid generation."); KW(KL,hicu_use_energy_criterion, VAR_INT, 0,"Use energy criterion in Hierarchical Cubature (HiCu) DFT grid generation."); KW(KL,hicu_use_energy_criterion_only, VAR_INT, 0,"Use only energy criterion in Hierarchical Cubature (HiCu) DFT grid generation."); KW(KL,hicu_do_variation_checking, VAR_INT, 0,"Do variation checking in Hierarchical Cubature (HiCu) DFT grid generation."); #undef KL #define KL ergo.output_params #undef KL #define KL ergo.mat_params #define KWMAT(n,type,d) KW(ergo.mat_params,n,type,matOptions.n,d) KW(KL,write_to_file, VAR_INT, 0,"Write unused matrices to disk to save memory."); KWMAT(threshold_inch, VAR_FLOAT,"Threshold value for removal of small matrix elements within the inverse Cholesky (inch) computation."); KW(KL,threads, VAR_INT, defThreadsOMP,"Number of threads to use in matrix library."); KWMAT(sparse_threshold, VAR_FLOAT,"Threshold for sparse matrix truncation (removal of small matrix elements)."); KWMAT(sparse_matrix_block_factor_3, VAR_INT,"Block size factor determining block size at fourth lowest level."); KWMAT(sparse_matrix_block_factor_2, VAR_INT,"Block size factor determining block size at third lowest level."); KWMAT(sparse_matrix_block_factor_1, VAR_INT,"Block size factor determining block size at second lowest level: sparse_matrix_block_size * sparse_matrix_block_factor_1."); KWMAT(sparse_matrix_block_size, VAR_INT,"Lowest level submatrix block size."); KWMAT(parallelLevel, VAR_INT,"Level in matrix hierarchy for parallelization."); KWMAT(no_of_buffers_per_allocator, VAR_INT,"Number of buffers per allocator to use in matrix memory allocation manager. A large value means that large chunks of memory will be allocated at a time."); #undef KWMAT #undef KL #define KL ergo.lr_params KW(KL,max_iterations, VAR_INT, 10 ,"Maximum number of iterations for linear response calculations."); KW(KL,convergence_threshold, VAR_FLOAT, 9e-4 ,"Convergence threshold for linear response calculations."); #undef KL #define KL ergo.ed_params #define KWED(n,type,d) KW(ergo.ed_params,n,type,edOptions.n,d) KW(ergo.ed_params,field_type, VAR_STRING, "none", "Field type to use in electron dynamics simulation: \"none\", \"dc-pulse\", \"ac-pulse\"."); KWED(max_time, VAR_FLOAT, "How long time to run electron dynamics. Unit: a.u."); KWED(timestep, VAR_FLOAT, "Timestep to use in electron dynamics. Unit: a.u."); KWED(dc_pulse_strength, VAR_FLOAT, "Strength of DC pulse to use in electron dynamics. Unit: a.u."); KWED(dc_pulse_time, VAR_FLOAT, "Duration of DC pulse to use in electron dynamics. Unit: a.u."); KWED(ac_pulse_max, VAR_FLOAT, "Maximum field strength E_max for AC pulse to use in electron dynamics. Unit: a.u."); KWED(ac_pulse_omega, VAR_FLOAT, "Frequency omega for AC pulse to use in electron dynamics. Unit: a.u."); #undef KWED #undef KL #define KL ergo.scf_params #define KWSCF(n,type,d) KW(ergo.scf_params,n,type,scfOptions.n,d) #ifndef SKIP_UNOFFICIAL_INPUT_PARAMS KWSCF(do_f_thresh_verification, VAR_INT,"When truncating Fock matrix, verify that the error matrix norm is below the requested threshold."); KWSCF(do_comparison_to_simple_purification, VAR_INT,"In each density matrix construction, do a comparison to a simple purification scheme."); KWSCF(do_puri_mmul_tests, VAR_INT,"In each density matrix construction, do some extra purification test runs comparing different matrix-matrix multiplication and truncation approaches."); KWSCF(output_statistics_mfiles, VAR_INT,"Output m-file with statistics (timings etc) each SCF iteration."); KWSCF(do_sparsity_investigation, VAR_INT,"Create distance-vs-magnitude plot files."); KWSCF(do_sparsity_investigation_reppuri, VAR_INT,"Perform purification 3 times using different norms, and create corresponding distance-vs-magnitude plot files."); KWSCF(sparsity_plots_resolution_r, VAR_INT,"Distance resolution parameter for sparsity plots."); KWSCF(sparsity_plots_resolution_m, VAR_INT,"Magnitude resolution parameter for sparsity plots."); KWSCF(use_stochastic_orbs, VAR_INT,"Use stochastic orbitals as in the Stochastic DFT paper [PRL 111, 106402 (2013)]."); KWSCF(stochastic_orbs_no_of_vectors, VAR_INT,"Number of stochastic orbitals to use, if use_stochastic_orbs is turned on."); KWSCF(stochastic_orbs_use_unit_vectors, VAR_INT,"If use_stochastic_orbs is turned on, use unit vectors instead of random vectors."); KWSCF(stochastic_orbs_rand_param, VAR_INT,"If use_stochastic_orbs is turned on, this value affects the way random numbers are generated. Setting this parameter to 2 means that a more elaborate, hopefully better, method is used to generate random numbers."); KWSCF(write_guess_density_only, VAR_INT,"Only generate starting guess density, write it to file and exit."); KWSCF(compute_core_density, VAR_INT,"Each time the density matrix is computed, also compute a 'core density matrix' using only the core electrons."); KWSCF(no_of_core_electrons, VAR_INT,"If compute_core_density is set, use this number of core electrons when coputing the 'core density matrix'."); KWSCF(skip_H_core, VAR_INT,"Skip computation of 1-electron (core) Hamiltonian matrix. This gives bogus results, only useful if looking at results of initialization part or first cycle where H_core does not matter yet."); KWSCF(do_acc_scan_J, VAR_INT,"Perform \"accuracy scan\" for Coulomb matrix."); KWSCF(do_acc_scan_K, VAR_INT,"Perform \"accuracy scan\" for HF exchange matrix."); KWSCF(do_acc_scan_Vxc, VAR_INT,"Perform \"accuracy scan\" for DFT exchange-correlation matrix."); KWSCF(scan_no_of_steps, VAR_INT,"Number of steps to use in \"accuracy scans\" of J, K, Vxc matrices."); KWSCF(scan_start_thresh, VAR_FLOAT,"Scan start threshold value to use for \"accuracy scans\" of J, K, Vxc matrices."); KWSCF(scan_step_factor, VAR_FLOAT,"Step factor to use for \"accuracy scans\" of J, K, Vxc matrices."); KWSCF(purification_create_m_files, VAR_INT,"Create m files with information about purification."), KWSCF(purification_use_rand_perturbation_for_alleigsint, VAR_INT,"Use random perturbation to attempt getting easier Lanczos convergence when determining min/max eigenvalues of Fock matrix before purification."), KW(ergo.scf_params, checkpoint_IDstr, VAR_STRING, "", "ID for file with saved state (parameters in the GetDensFromFock class) before recursive expansion on every SCF cycle."); KWSCF(create_checkpoints, VAR_INT,"Save state (parameters in the GetDensFromFock class) before recursive expansion on every SCF cycle."); KW(ergo.scf_params, eigenvectors_method, VAR_STRING, "square", "Method for computation of HOMO and LUMO molecular orbital coefficients. Value: square or projection"); KW(ergo.scf_params, eigenvectors_iterative_method, VAR_STRING, "lanczos", "Iterative method for computation of HOMO and LUMO molecular orbital coefficients. Value: power or lanczos"); #endif KWSCF(use_simple_dense_H_core, VAR_INT,"Use simple dense matrix computation of 1-electron (core) Hamiltonian matrix."); KWSCF(use_diis_always, VAR_INT,"Always use DIIS even if the energy goes up."); KWSCF(write_overlap_matrix, VAR_INT,"Write overlap matrix to file."); KWSCF(use_diagonalization, VAR_INT,"Use diagonalization instead of purification."); KWSCF(use_diag_on_error, VAR_INT,"Use diagonalization if purification fails."); KWSCF(use_diag_on_error_guess, VAR_INT,"Use diagonalization if purification fails during starting guess projection."); KWSCF(store_all_eigenvalues_to_file, VAR_INT,"Store eigenvalues of the Hamiltonian matrix when using diagonalization (use_diagonalization flag must be 1)."); KWSCF(output_mulliken_pop, VAR_INT,"Output Mulliken population analysis stuff (atomic charges and atomic spin densities) after SCF finished."); KWSCF(output_density_images, VAR_INT,"Output density image files (including Gabedit gcube density files) after SCF finished."); KWSCF(output_density_images_only, VAR_INT,"Output density image files (including Gabedit gcube density files) directly, without any SCF procedure, using the given starting guess density."); KWSCF(output_density_images_boxwidth, VAR_FLOAT, "Box width to use for density image files (including Gabedit gcube density files)."); KWSCF(compute_gradient_fixeddens, VAR_INT,"Compute gradient of energy with respect to nuclear positions for fixed electron density (Hellmann-Feynman forces)."); KWSCF(verify_gradient_fixeddens, VAR_INT,"Verify gradient of energy with respect to nuclear positions (Hellmann-Feynman forces), using finite differences. Used only when compute_gradient_fixeddens is set."); KWSCF(step_length_start, VAR_FLOAT,"Start value of SCF step length parameter."); KWSCF(step_length_giveup, VAR_FLOAT,"When step length in SCF procedure becomes smaller than this value, give up."); KWSCF(starting_guess_disturbance, VAR_FLOAT,"Magnitude of random disturbance to apply to starting guess density matrix."); KWSCF(save_final_potential, VAR_INT,"Save final Fock/Kohn-Sham matrix to file after SCF finished."); KWSCF(output_density_at_every_step, VAR_INT,"Write current density matrix to file in each iteration."); KW(KL,no_of_threads_for_V, VAR_INT, defThreads,"Number of threads to use in V (1el electron-nuclear interaction) matrix construction."); KWSCF(no_of_impr_req_for_diis, VAR_INT,"Number of consecutive energy improvements required before attempting to use DIIS."); KWSCF(min_number_of_iterations, VAR_INT,"Minimum number of SCF iterations."); KWSCF(max_restart_count, VAR_INT,"Max number of times to attempt to restart SCF procedure when it appears stuck."); KWSCF(max_number_of_iterations, VAR_INT,"Maximum number of SCF iterations."); KWSCF(no_of_careful_first_scf_steps,VAR_INT,"Number of \"careful\" steps in beginning of SCF procedure. May be useful if starting guess is very bad."); KWSCF(do_report_density_diff, VAR_INT,"In each SCF cycle, output norm of difference between current and previous density matrix."); KWSCF(max_no_of_diis_matrices, VAR_INT,"Max number of DIIS matrices to use. Lower value may be useful to reduce disk/memory usage."); KWSCF(force_unrestricted, VAR_INT,"Use unrestricted SCF even if numbers of alpha- and beta-electrons are equal."); KWSCF(force_restricted, VAR_INT,"\"force_restricted\" parameter used for restricted open-shell calculations."); KWSCF(error_maxabs_for_diis, VAR_FLOAT,"Do not use DIIS if error measure is larger than this value."); KWSCF(purification_subspace_err_limit, VAR_FLOAT,"Requested accuracy in the occupied invariant subspace of the density matrix resulting from purification as measured by the sinus of the largest canonical angle between the exact and approximate subspaces."); KWSCF(purification_eigvalue_err_limit, VAR_FLOAT,"Requested accuracy in eigenvalues of the density matrix resulting from purification."); KWSCF(purification_with_acceleration, VAR_INT,"Use acceleration when doing purification."); KWSCF(use_new_stopping_criterion, VAR_INT,"Use new parameterless stopping criterion."); KWSCF(puri_eig_acc_factor_for_guess, VAR_FLOAT,"When doing purification of starting guess density, use the normal eigvalue_err_limit multiplied by this factor."); KWSCF(gap_expected_lower_bound, VAR_FLOAT,"Expected lower bound of HOMO-LUMO gap, used in early SCF iterations when accurate gap info is not yet available."); KWSCF(shift_using_prev_density_matrix, VAR_FLOAT, "As input to density matrix construction, Fock/KS matrix modified by subtracting previous density matrix times this factor. This is a way to artificially increase the HOMO-LUMO gap. A.k.a. level shifting."); KWSCF(electronic_temperature, VAR_FLOAT,"Electronic temperature for Fermi-Dirac smearing in density matrix construction. Unit: a.u."); KW(ergo.scf_params,purification_truncation_norm, VAR_STRING, "mixed","Matrix norm to be used for truncation of small matrix elements in purification, one of frob, mixed, and eucl."); KW(ergo.scf_params,purification_stop_crit_norm, VAR_STRING, "mixed","Matrix norm to be used for the estimation of the convergence order in purification, one of frob, mixed, and eucl."); KW(ergo.scf_params,electric_field_z,VAR_FLOAT, scfOptions.electric_field[2],"External electric field, z component."); KW(ergo.scf_params,electric_field_y,VAR_FLOAT, scfOptions.electric_field[1],"External electric field, y component."); KW(ergo.scf_params,electric_field_x,VAR_FLOAT, scfOptions.electric_field[0],"External electric field, x component."); KWSCF(sparse_threshold_for_S, VAR_FLOAT,"Threshold value for truncation of overlap matrix S."); KWSCF(sparse_threshold_for_Z, VAR_FLOAT,"Threshold value for truncation of inverse Cholesky factor Z."); KWSCF(convergence_threshold, VAR_FLOAT,"Convergence threshold for SCF procedure; terminate SCF procedure when FDS-SDF error measure is below threshold."); KWSCF(break_on_energy_increase, VAR_INT,"Break SCF procedure if energy increases."); KWSCF(create_basis_func_coord_file, VAR_INT,"Write text file with coordinates of basis functions."); KWSCF(output_homo_and_lumo_eigenvectors, VAR_INT,"Output HOMO and LUMO molecular orbital coefficients."); KWSCF(eigensolver_accuracy, VAR_FLOAT, "The accuracy for the eigenvalue problem solver."); KWSCF(eigensolver_maxiter, VAR_INT, "The maximum number of iterations for the eigenvalue problem solver."); KWSCF(create_mtx_file_S, VAR_INT,"Write overlap matrix to file in matrix market format (mtx)."); KWSCF(create_mtx_file_H_core, VAR_INT,"Write core Hamiltonian matrix to file in matrix market format (mtx)."); KWSCF(create_mtx_files_F, VAR_INT,"Write effective Hamiltonian matrices to file in matrix market format (mtx)."); KWSCF(create_mtx_files_D, VAR_INT,"Write density matrices to file in matrix market format (mtx)."); KWSCF(create_mtx_files_dipole, VAR_INT,"Write dipole matrices to file in matrix market format (mtx)."); KWSCF(create_mtx_files_S_and_quit, VAR_INT,"Write overlap matrix to file in matrix market format (mtx) using different basis function orderings, and then quit."); KW(ergo.scf_params,calculation_identifier, VAR_STRING, "N/A","String to identify the calculation, used for example in mtx-files."); KWSCF(create_2el_integral_m_file, VAR_INT,"Create m-file with rank-4 tensor containing the values of all 2-electron integrals. Very large; O(N^4); only use for small cases."); #undef KWSCF #undef KL #define KL ergo.var_list KW(KL,use_simple_starting_guess, VAR_INT, 1 ,"Use simple diagonal matrix starting guess."); KW(KL,tmpdir, VAR_STRING, tmpdir,"Directory for temporary files, usually something like \"/scratch\" or \"/tmp\"."); KW(KL,spin_polarization, VAR_INT, 0,"Spin polarization: difference between number of alpha- and beta-spin electrons; 0 for closed shell case."); KW(KL,output_basis, VAR_INT, 0 ,"Write information about basis set to output file."); KW(KL,initial_density, VAR_STRING, "","Filename of binary file from which starting guess density should be read."); KW(KL,ghost_basis, VAR_STRING, "" ,"Basis set to use for \"ghost molecule\"."); KW(KL,enable_memory_usage_output, VAR_INT, 0,"Write information about memory usage to output file."); KW(KL,do_ci_after_scf, VAR_INT, 0,"Perform a CI (configuration interaction) calculation after the SCF calculation."); KW(KL,do_electron_dynamics_after_scf, VAR_INT, 0,"Perform electron dynamics (e.g. TDHF) calculation after the SCF calculation."); KW(KL,use_6_d_functions, VAR_INT, 0,"If set to 1, use 6 basis functions in d-type shells instead of the usual 5 functions."); KW(KL,rand_seed, VAR_INT, 0,"Random seed initializing sequence of random numbers."); KW(KL,charge, VAR_INT, 0,"Net charge of molecule; this number (together with the nuclei) determines the number of electrons in the system."); KW(KL,extra_charges_atom_charge_o, VAR_FLOAT, -0.82, "Charge assigned to oxygen atoms in 'extra charges' molecule. The value -0.82 corresponds to the SPC model charge."); KW(KL,extra_charges_atom_charge_h, VAR_FLOAT, 0.41, "Charge assigned to hydrogen atoms in 'extra charges' molecule. The value 0.41 corresponds to the SPC model charge."); KW(KL,basis, VAR_STRING, "" ,"Basis set file name."); KW(KL,scf, VAR_LIST, ergo.scf_params,"List of input variables related to SCF procedure."); // ELIAS NOTE 2011-02-22: the "output" variable list is now empty, // and then it causes seg fault if included, so I commented it out. //KW(KL,output, VAR_LIST, ergo.output_params,"List of input variables related to output."); KW(KL,mat, VAR_LIST, ergo.mat_params,"List of input variables related to hierarchic matrix library."); KW(KL,lr, VAR_LIST, ergo.lr_params,"List of input variables related to linear response calculations."); KW(KL,ed, VAR_LIST, ergo.ed_params,"List of input variables related to electron dynamics calculations."); KW(KL,XC, VAR_LIST, ergo.XC_params,"List of input variables related to the computation of the DFT exchange-correlation contribution."); KW(KL,J_K, VAR_LIST, ergo.J_K_params,"List of input variables related to the computation of Coulomb and HF exchange matrices."); #undef KL } static void benchmark_mm() { static const int SZ = 2000; static const double ALPHA=1.0, BETA=0.0; struct tms t1, t2; times(&t1); std::vector a(SZ*SZ); std::vector b(SZ*SZ); std::vector c(SZ*SZ); for(int i=SZ*SZ-1; i>=0; i--) { a[i] = 2-i; b[i] = i;} mat::gemm("N","N", &SZ, &SZ, &SZ, &ALPHA, &a[0], &SZ, &b[0], &SZ, &BETA, &c[0], &SZ); times(&t2); printf("MM time: %6.3f s\nReference values:\nPhenom 2.4GHz/GOTO: 1.9s\n" "Phenom 2.4GHz/generic: 23.6s\n", double(t2.tms_utime-t1.tms_utime)/sysconf(_SC_CLK_TCK)); } extern "C" int yyparse(void); extern "C" void* yy_scan_string(const char *str); extern "C" void* yy_create_buffer(FILE *f, int sz); extern "C" void yy_switch_to_buffer(void *); extern "C" void yy_delete_buffer(void *); extern FILE *yyin; /**< file used by the lex-generated parser.*/ static void ergo_parse_file(FILE *inputFile) { void *buffer = yy_create_buffer(inputFile, 256); yy_switch_to_buffer(buffer); ergo_scanner_reading_stdin = isatty(fileno(inputFile)); yyparse(); yy_delete_buffer(buffer); } static void ergo_parse_string(const char *str) { void *buffer = yy_scan_string(str); yy_switch_to_buffer(buffer); yyparse(); yy_delete_buffer(buffer); } void es_warranty(void) { puts(ERGO_LICENSE_TEXT_LONG "\n\n"); } struct filename_or_string_struct { std::string filename; std::string str; }; int main(int argc, char *argv[]) { int numThreads_CHT = 1, numWorkers_CHT = 1; size_t cache_size = 0; try { enable_output(); do_output(LOG_CAT_INFO, LOG_AREA_MAIN, ERGO_LICENSE_TEXT_LONG); FILE *inp_file = NULL; ergo.registerInputVariables(); es_set_nthreads_string("detect"); dft_init(); do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "ERGO version %s\n", VERSION); // Below we go through the input arguments and create a list of filename_or_string_struct that we will process later. std::list filename_or_string_list; for(int i = 1; i < argc; i++) { if(strcmp(argv[i], "-w") == 0) { if(i+1> cache_size; do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "(ChT) cache size: %s\n", argv[i+1]); printf("(ChT) cache size: %s\n", argv[i+1]); } else { fprintf(stderr, "option -cs encountered without argument\n"); return 1; } i++; } else if(strcmp(argv[i], "-e") == 0) { if(i+1::iterator it = filename_or_string_list.begin(); while(it != filename_or_string_list.end()) { if(it->str.length() != 0) { // Process input line do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "parsing string: %s\n", it->str.c_str()); ergo_parse_string(it->str.c_str()); executed_something = true; } else { assert(it->filename.length() != 0); // Process input file inp_file = fopen(it->filename.c_str(), "rt"); if (!inp_file) { fprintf(stderr, "Could not open '%s' for reading input.\n", it->filename.c_str()); return 1; } do_output(LOG_CAT_INFO, LOG_AREA_MAIN, "reading input from file %s\n", it->filename.c_str()); ergo_parse_file(inp_file); fclose(inp_file); executed_something = true; } it++; } if(!executed_something) { if(isatty(fileno(stdin))) { printf(ERGO_LICENSE_TEXT_BRIEF "\n\n"); printf("ERGO is ready!\n> "); } ergo_parse_file(stdin); } #ifdef USE_CHUNKS_AND_TASKS cht::stop(); #endif if(ergoIntegralInfo) delete ergoIntegralInfo; if(Basis_info) delete Basis_info; } catch (mat::AcceptableMaxIter & e) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, ""); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "============================================================="); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "mat::AcceptableMaxIter caught in ergo main: '%s'", e.what()); do_output_time(LOG_CAT_ERROR, LOG_AREA_MAIN, "Time of exception: "); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "============================================================="); } catch (mat::Failure & e) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, ""); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "============================================================="); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "mat::Failure caught in ergo main: '%s'", e.what()); do_output_time(LOG_CAT_ERROR, LOG_AREA_MAIN, "Time of exception: "); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "============================================================="); } catch (char const * e) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, ""); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "============================================================="); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "char* exception caught in ergo main: '%s'", e); do_output_time(LOG_CAT_ERROR, LOG_AREA_MAIN, "Time of exception: "); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "============================================================="); } catch (std::bad_alloc & e) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, ""); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "============================================================="); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "std::bad_alloc caught in ergo main: '%s'", e.what()); do_output_time(LOG_CAT_ERROR, LOG_AREA_MAIN, "Time of exception: "); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "============================================================="); } catch (std::ios_base::failure & e) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, ""); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "============================================================="); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "std::ios_base::failure caught in ergo main: '%s'", e.what()); do_output_time(LOG_CAT_ERROR, LOG_AREA_MAIN, "Time of exception: "); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "Out of disk space?"); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "============================================================="); } catch (std::exception & e) { do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, ""); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "============================================================="); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "std::exception caught in ergo main: '%s'", e.what()); do_output_time(LOG_CAT_ERROR, LOG_AREA_MAIN, "Time of exception: "); do_output(LOG_CAT_ERROR, LOG_AREA_MAIN, "============================================================="); } return 0; } /* =================================================================== Replacement routines for some of the ERGO code. */ ergo-3.5/source/dft/0000775000175000017500000000000012743400366011402 500000000000000ergo-3.5/source/dft/lin_trans.h0000664000175000017500000000350012743400307013455 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #if !defined(_LIN_TRANS_H_) #define _LIN_TRANS_H_ 1 #ifdef __cplusplus #define EXTERN_C extern "C" #else #define EXTERN_C #endif EXTERN_C real dft_lin_respao(const BasisInfoStruct& bis, const Molecule& mol, const Dft::GridParams& gss, const real *dens, const real *vec, real* trans_vec, int nThreads); EXTERN_C real dft_lin_resp_mt(const BasisInfoStruct& bis, const Molecule& mol, const Dft::GridParams& gss, const real *dens, const real *vec, real* trans_vec); #endif ergo-3.5/source/dft/rho-mat.h0000664000175000017500000000560212743400307013040 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef RHOMAT_HEADER #define RHOMAT_HEADER 1 #include "grid_matrix.h" /** @file rho-mat.h Density and gradient evaluation interface. */ void getrho_blocked_lda(int nbast, const real * dmat, const real * gao, const int* nblocks, const int (*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho); inline void getrho_blocked_lda(int nbast, const Dft::FullMatrix& m, const real * gao, const int* nblocks, const int (*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho) { getrho_blocked_lda(nbast, m.mat, gao, nblocks, iblocks, ldaib, tmp, nvclen, rho); } void getrho_blocked_gga(int nbast, const real * dmat, const real * gao, const int* nblocks, const int (*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho, real (*grad)[3]); inline void getrho_blocked_gga(int nbast, const Dft::FullMatrix& dmat, const real * gao, const int* nblocks, const int (*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho, real (*grad)[3]) { getrho_blocked_gga(nbast, dmat.mat, gao, nblocks, iblocks, ldaib, tmp, nvclen, rho, grad); } void getexp_blocked_lda(int nbast, const real * dmat, const real * gao, const int* nblocks, const int (*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho); void getexp_blocked_gga(int nbast, const real * dmat, const real * gao, const int* nblocks, const int (*iblocks)[2], int ldaib, real *tmp, int nvclen, real (*rgrad)[4]); #endif ergo-3.5/source/dft/fun-pw86x.c0000664000175000017500000000741412743400307013251 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file fun-pw86x.c The PW86 exchange functional and its derivative. Contributed by Olav Fossgaard, olav@chem.uit.no, May 2002 Reference: Phys. Rev. B 33. 8800 (1986) */ #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int pw86x_isgga(void) { return 1; } static int pw86x_read(const char* conf_line); static real pw86x_energy(const FunDensProp* dp); static void pw86x_first (FunFirstFuncDrv *ds, real factor, const FunDensProp*dp); Functional PW86xFunctional = { "PW86x", /* name */ pw86x_isgga, /* gga-corrected */ pw86x_read, NULL, pw86x_energy, pw86x_first, NULL, NULL }; /* IMPLEMENTATION PART */ static int pw86x_read(const char* conf_line) { fun_set_hf_weight(0); return 1; } static real pw86x_energy(const FunDensProp* dp) { /* Use density functional form. In case of spin polarization, this function will have to be called twice with arguments rho=2rhoa and rho=2rhob, respectively. The total energy is then half the sum of the returned values. */ const real a = 1.0; const real b = 1.296; const real c = 14.0; const real d = 0.20; /* Closed shell (See eq. (25) in reference) */ real rho = dp->rhoa+dp->rhob, grad = dp->grada+dp->gradb; const real Ax = -POW(3.0/M_PI,1.0/3.0)*3.0/4.0; const real kf = POW(3.0*POW(M_PI,2.0)*rho,1.0/3.0); real s = grad/(2.0*kf*rho); real F = POW(a+b*POW(s,2.0)+c*POW(s,4.0)+d*POW(s,6.0),1.0/15.0); return Ax*POW(rho,4.0/3.0)*F; } static void pw86x_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { /* The energy expression is the integral int(Ax*rho**(4/3)*F). We first calculate d(F)/d(rho) and d(F)/d(grad_rho) and differentiate the product in the last step. */ const real a = 1.0; const real b = 1.296; const real c = 14.0; const real d = 0.20; /* Closed shell (See eq. (25) in reference) */ real rho = dp->rhoa+dp->rhob, grad = dp->grada+dp->gradb; const real Ax= -POW(3.0/M_PI,1.0/3.0)*3.0/4.0; const real kf= POW(3.0*M_PI*M_PI*rho,1.0/3.0); real s = grad/(2.0*kf*rho); real F = POW(a+b*POW(s,2.0)+c*POW(s,4.0)+d*POW(s,6.0),1.0/15.0); real F1 = 1.0/15.0*POW(a+b*POW(s,2.0)+c*POW(s,4.0)+d*POW(s,6.0),-14.0/15.0) *(2.0*b*s+4.0*c*POW(s,3.0)+6.0*d*POW(s,5.0)); /* dF/ds */ real s1 = -4.0*s/(3.0*rho); /* ds/d(rho) */ real s2 = 1.0/(2.0*kf*rho); /* d(s)/d(grad) */ real G1 = F1*s1; /* dF/d(rho) */ real G2 = F1*s2; /* dF/d(grad) */ ds->df1000 += Ax*((4.0/3.0)*POW(rho,1.0/3.0)*F + POW(rho,4.0/3.0)*G1 )*factor; ds->df0010 += Ax*POW(rho,4.0/3.0)*G2*factor; } ergo-3.5/source/dft/fun-gga.c0000664000175000017500000004223512743400307013013 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file fun-gga.c Implementation of a functional being a linear combination of other functionals. (c) Pawel Salek, pawsa@theochem.kth.se, sep 2001 */ #include //#include #include #include #include /* Needed for strncasecmp() */ #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int lda_read(const char* conf_line); static real lda_energy(const FunDensProp* dp); static void lda_first(FunFirstFuncDrv *ds, real fac, const FunDensProp* dp); static void lda_second(FunSecondFuncDrv *ds, real fac, const FunDensProp* dp); static void lda_third(FunThirdFuncDrv *ds, real fac, const FunDensProp* dp); static void lda_fourth(FunFourthFuncDrv *ds, real fac, const FunDensProp* dp); static int ldagauss_read(const char* conf_line); static int blyp_read(const char* conf_line); static int b3lyp_read(const char* conf_line); static int b3lypgauss_read(const char* conf_line); static int b3pw91_read(const char* conf_line); static int bhandh_read(const char* conf_line); static int bhandhlyp_read(const char* conf_line); static int bp86_read(const char* conf_line); static int bpw91_read(const char* conf_line); static int b3p86_read(const char* conf_line); static int b3p86g_read(const char* conf_line); static int kt1_read(const char* conf_line); static int kt2_read(const char* conf_line); static int kt3_read(const char* conf_line); static int olyp_read(const char* conf_line); static int pbe_read(const char* conf_line); static int pbe0_read(const char* conf_line); static int gga_isgga(void); static int xalpha_read(const char* conf_line); static int combine_read(const char* conf_line); static void gga_report(void); static real gga_energy(const FunDensProp* dp); static void gga_first(FunFirstFuncDrv *ds, real fac, const FunDensProp* dp); static void gga_second(FunSecondFuncDrv *ds, real fac, const FunDensProp* dp); static void gga_third(FunThirdFuncDrv *ds, real fac, const FunDensProp* dp); static void gga_fourth(FunFourthFuncDrv *ds, real fac, const FunDensProp* dp); #define LDA_FUNCTIONAL(name,read) { (name), \ fun_false, (read), NULL, lda_energy, lda_first, lda_second, \ lda_third, lda_fourth } #define GGA_FUNCTIONAL(name,read) { (name), \ gga_isgga, (read), gga_report, gga_energy, gga_first, gga_second, \ gga_third, gga_fourth } Functional XAlphaFunctional = GGA_FUNCTIONAL("XAlpha", xalpha_read); Functional LDAFunctional = LDA_FUNCTIONAL("LDA", lda_read); /* SVWN5 aliases LDA */ Functional SVWN5Functional = LDA_FUNCTIONAL("SVWN5", lda_read); Functional SVWN3Functional = GGA_FUNCTIONAL("SVWN3", ldagauss_read); Functional B3LYPFunctional = GGA_FUNCTIONAL("B3LYP", b3lyp_read); Functional B3LYPGaussFunctional = GGA_FUNCTIONAL("B3LYP-G", b3lypgauss_read); Functional B3P86Functional = GGA_FUNCTIONAL("B3P86", b3p86_read); Functional B3P86GFunctional = GGA_FUNCTIONAL("B3P86-G", b3p86g_read); Functional B3PW91Functional = GGA_FUNCTIONAL("B3PW91", b3pw91_read); Functional BHandHFunctional = GGA_FUNCTIONAL("BHandH", bhandh_read); Functional BHandHLYPFunctional = GGA_FUNCTIONAL("BHandHLYP", bhandhlyp_read); Functional BLYPFunctional = GGA_FUNCTIONAL("BLYP", blyp_read); Functional BP86Functional = GGA_FUNCTIONAL("BP86", bp86_read); Functional BPW91Functional = GGA_FUNCTIONAL("BPW91", bpw91_read); Functional CombineFunctional =GGA_FUNCTIONAL("Combine", combine_read); Functional GGAKeyFunctional = GGA_FUNCTIONAL("GGAKey", combine_read); Functional KT1Functional = GGA_FUNCTIONAL("KT1", kt1_read); Functional KT2Functional = GGA_FUNCTIONAL("KT2", kt2_read); Functional KT3Functional = GGA_FUNCTIONAL("KT3", kt3_read); Functional OLYPFunctional = GGA_FUNCTIONAL("OLYP" , olyp_read); Functional PBE0Functional = GGA_FUNCTIONAL("PBE0", pbe0_read); Functional PBEFunctional = GGA_FUNCTIONAL("PBE", pbe_read); /* MIXED FUNCTIONALS */ typedef struct FuncList_ FuncList; struct FuncList_ { Functional* func; real weight; FuncList* next; }; FuncList* gga_fun_list = NULL; static int gga_isgga(void) { int res = 0; FuncList* lst; for(lst=gga_fun_list; lst && !res; lst=lst->next) res |= lst->func->is_gga(); return res; } static FuncList* add_functional(FuncList* lst, Functional* f, float weight) { FuncList* n = (FuncList*)malloc(sizeof(FuncList)); n->func = f; n->weight = weight; n->next = lst; return n; } static void free_functionals(FuncList **lst) { FuncList *item = *lst; while (item) { FuncList *n = item->next; free(item); item = n; } *lst = NULL; } static int xalpha_read(const char* conf_line) { float weight; int res = (sscanf(conf_line, "%g", &weight)==1); free_functionals(&gga_fun_list); if(res) gga_fun_list = add_functional(gga_fun_list, &SlaterFunctional, 1.5*weight); fun_set_hf_weight(0); return res; } static int lda_read(const char* conf_line) { fun_set_hf_weight(0); return 1; } static real lda_energy(const FunDensProp* dp) { return SlaterFunctional.func(dp) + VWNFunctional.func(dp); } static void lda_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { SlaterFunctional.first(ds, factor, dp); VWNFunctional .first(ds, factor, dp); } static void lda_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { SlaterFunctional.second(ds, factor, dp); VWN5Functional .second(ds, factor, dp); } static void lda_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { SlaterFunctional.third(ds, factor, dp); VWN5Functional .third(ds, factor, dp); } static void lda_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dp) { SlaterFunctional.fourth(ds, factor, dp); VWN5Functional .fourth(ds, factor, dp); } static int ldagauss_read(const char* conf_line) { free_functionals(&gga_fun_list); gga_fun_list = add_functional(NULL, &SlaterFunctional, 1.0); gga_fun_list = add_functional(gga_fun_list, &VWN3Functional, 1.0); fun_set_hf_weight(0); return 1; } static int blyp_read(const char* conf_line) { free_functionals(&gga_fun_list); gga_fun_list = add_functional(NULL, &SlaterFunctional, 1.0); gga_fun_list = add_functional(gga_fun_list, &BeckeFunctional, 1.0); gga_fun_list = add_functional(gga_fun_list, &LYPFunctional, 1.0); fun_set_hf_weight(0); return 1; } static int b3lyp_read(const char* conf_line) { static const real lypw = 0.81, dirw = 0.8; free_functionals(&gga_fun_list); gga_fun_list = add_functional(NULL, &SlaterFunctional, dirw); gga_fun_list = add_functional(gga_fun_list, &BeckeFunctional, 0.72); gga_fun_list = add_functional(gga_fun_list, &LYPFunctional, lypw); gga_fun_list = add_functional(gga_fun_list, &VWNFunctional, 1-lypw); fun_set_hf_weight(1-dirw); return 1; } static int b3lypgauss_read(const char* conf_line) { static const real lypw = 0.81, dirw = 0.8; free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &SlaterFunctional, dirw); gga_fun_list = add_functional(gga_fun_list, &BeckeFunctional, 0.72); gga_fun_list = add_functional(gga_fun_list, &LYPFunctional, lypw); gga_fun_list = add_functional(gga_fun_list, &VWN3IFunctional, 1-lypw); fun_set_hf_weight(1-dirw); return 1; } static int b3pw91_read(const char* conf_line) { #if 0 return combine_read("hf=0.2 slater=0.8 becke=0.72 vwn=0.19 pw91c=0.81"); #else static const real corw = 0.81, dirw = 0.8; free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &SlaterFunctional, dirw); gga_fun_list = add_functional(gga_fun_list, &BeckeFunctional, 0.72); gga_fun_list = add_functional(gga_fun_list, &VWNFunctional, 1-corw); gga_fun_list = add_functional(gga_fun_list, &Pw91cFunctional, corw); fun_set_hf_weight(1-dirw); return 1; #endif } static int bhandh_read(const char* conf_line) { free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &SlaterFunctional, 0.5); gga_fun_list = add_functional(gga_fun_list, &LYPFunctional, 1.0); fun_set_hf_weight(0.5); return 1; } static int bhandhlyp_read(const char* conf_line) { free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &SlaterFunctional, 0.5); gga_fun_list = add_functional(gga_fun_list, &BeckeFunctional, 0.5); gga_fun_list = add_functional(gga_fun_list, &LYPFunctional, 1.0); fun_set_hf_weight(0.5); return 1; } static int bp86_read(const char* conf_line) { free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &SlaterFunctional, 1.0); gga_fun_list = add_functional(gga_fun_list, &BeckeFunctional, 1.0); gga_fun_list = add_functional(gga_fun_list, &P86cFunctional, 1.0); gga_fun_list = add_functional(gga_fun_list, &PZ81Functional, 1.0); fun_set_hf_weight(0); return 1; } static int b3p86_read(const char* conf_line) { static const real lypw = 0.81, dirw = 0.8; free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &SlaterFunctional, dirw); gga_fun_list = add_functional(gga_fun_list, &BeckeFunctional, 0.72); gga_fun_list = add_functional(gga_fun_list, &P86cFunctional, lypw); gga_fun_list = add_functional(gga_fun_list, &VWNFunctional, 1); fun_set_hf_weight(1-dirw); return 1; } static int b3p86g_read(const char* conf_line) { static const real lypw = 0.81, dirw = 0.8; free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &SlaterFunctional, dirw); gga_fun_list = add_functional(gga_fun_list, &BeckeFunctional, 0.72); gga_fun_list = add_functional(gga_fun_list, &P86cFunctional, lypw); gga_fun_list = add_functional(gga_fun_list, &VWN3Functional, 1); fun_set_hf_weight(1-dirw); return 1; } static int bpw91_read(const char* conf_line) { free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &SlaterFunctional, 1); gga_fun_list = add_functional(gga_fun_list, &BeckeFunctional, 1); gga_fun_list = add_functional(gga_fun_list, &Pw91cFunctional, 1); fun_set_hf_weight(0); return 1; } static int kt1_read(const char* conf_line) { static const real ktgam = -0.006; free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &SlaterFunctional, 1.0); gga_fun_list = add_functional(gga_fun_list, &KTFunctional, ktgam); gga_fun_list = add_functional(gga_fun_list, &VWNFunctional, 1.0); fun_set_hf_weight(0); return 1; } static int kt2_read(const char* conf_line) { static const real dirw = 1.07173, vwnw = 0.576727; static const real ktgam = -0.006; free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &SlaterFunctional, dirw); gga_fun_list = add_functional(gga_fun_list, &KTFunctional, ktgam); gga_fun_list = add_functional(gga_fun_list, &VWNFunctional, vwnw); fun_set_hf_weight(0); return 1; } static int kt3_read(const char* conf_line) { static const real dirw = 1.092, lypw = 0.864409, optw = -0.925452; static const real ktgam = -0.004; free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &SlaterFunctional, dirw); gga_fun_list = add_functional(gga_fun_list, &KTFunctional, ktgam); gga_fun_list = add_functional(gga_fun_list, &LYPFunctional, lypw); gga_fun_list = add_functional(gga_fun_list, &OPTXFunctional, optw); fun_set_hf_weight(0); return 1; } static int olyp_read(const char* conf_line) { static const real optkw = -1.43169, dirw = 1.05151; free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &SlaterFunctional, dirw); gga_fun_list = add_functional(gga_fun_list, &OPTXFunctional, optkw); gga_fun_list = add_functional(gga_fun_list, &LYPFunctional, 1.0); fun_set_hf_weight(0); return 1; } static int pbe_read(const char* conf_line) { free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &PbecFunctional, 1.0); gga_fun_list = add_functional(gga_fun_list, &PbexFunctional, 1.0); fun_set_hf_weight(0); return 1; } static int pbe0_read(const char* conf_line) { free_functionals(&gga_fun_list); gga_fun_list = add_functional(gga_fun_list, &PbecFunctional, 1.0); gga_fun_list = add_functional(gga_fun_list, &PbexFunctional, 0.75); fun_set_hf_weight(0.25); return 1; } /* combine_read: read general GGA input: */ static int combine_read(const char* conf_line) { int res = 1, i; float f; const char* str = conf_line; fun_set_hf_weight(0); free_functionals(&gga_fun_list); while(*str) { while(*str && isspace((int)*str)) str++; /* skip whitespace */ if(*str =='\0') break; /* line ended by whitespace */ if(strncasecmp("HF=", str, 3)==0) { if(sscanf(str+3,"%g", &f) != 1) { fun_printf("Combine: HF not followed by the weight: ", conf_line); res = 0; } else fun_set_hf_weight(f); } else { for(i=0; available_functionals[i]; i++) { int len = strlen(available_functionals[i]->name); if(strncasecmp(available_functionals[i]->name, str, len)==0 && str[len] == '=') { if(sscanf(str+len+1,"%g", &f) != 1) { fun_printf("GGAKey: keyword '%s' not followed by " "weight: %s", available_functionals[i]->name, conf_line); res = 0; } else { gga_fun_list = add_functional(gga_fun_list, available_functionals[i], f); break; /* weight properly read, break the 'for' loop */ } } } if(available_functionals[i] == NULL) { fun_printf("Combine: functional '%s' not recognised: ", str); res = 0; } } while(*str && !isspace((int)*str)) str++; /* skip nonws */ } return res; } static void gga_report(void) { FuncList* lst; fun_printf("Weighted mixed functional:"); if(fun_get_hf_weight()>0) fun_printf("%25s: %10.5f", "HF exchange", (double)fun_get_hf_weight()); for(lst=gga_fun_list; lst; lst=lst->next) fun_printf("%25s: %10.5f", lst->func->name, (double)lst->weight); } static real gga_energy(const FunDensProp* dp) { real res = 0; FuncList* lst; for(lst=gga_fun_list; lst; lst=lst->next) { real contr = lst->weight*lst->func->func(dp); /* fun_printf("[%g,%g,w=%g] %s contributes with %g", dp->rhoa, dp->grada, lst->weight, lst->func->name, contr); */ res += contr; } return res; } static void gga_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { FuncList* lst; for(lst=gga_fun_list; lst; lst=lst->next) { lst->func->first(ds, factor*lst->weight, dp); /* fun_printf("[%g,%g,w=%g] %s f: %g deriv (%g,%g)", dp->rhoa, dp->grada, lst->weight, lst->func->name, factor, ds->df1000-df10, ds->df0010-df01); */ } } static void gga_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { FuncList* lst; for(lst=gga_fun_list; lst; lst=lst->next) lst->func->second(ds, factor*lst->weight, dp); } static void gga_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { FuncList* lst; for(lst=gga_fun_list; lst; lst=lst->next) lst->func->third(ds, factor*lst->weight, dp); } static void gga_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dp) { FuncList* lst; for(lst=gga_fun_list; lst; lst=lst->next) lst->func->fourth(ds, factor*lst->weight, dp); } ergo-3.5/source/dft/lebedev_laikov.cc0000664000175000017500000034420512743400307014607 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file lebedev_laikov.cc Evaluate angular grid of requested order. Based on V.I. Lebedev, and D.N. Laikov "A quadrature formula for the sphere of the 131st algebraic order of accuracy" Doklady Mathematics, Vol. 59, No. 3, 1999, pp. 477-481. */ #include #include "lebedev_laikov.h" /* ** ll_npoint ** ** lvalue : grid complete through this value of angular momentum ** quantum number l. ** ** return value : number of points in sought Lebedev-Laikov grid. ** */ int ll_npoint(int lvalue) { int fraction, tmp_lvalue; tmp_lvalue = lvalue; if (lvalue <3) { return 6; } else if (lvalue <= 31) { /* grids complete through l = 2m+1 */ tmp_lvalue -= 1; fraction = tmp_lvalue%2; tmp_lvalue /= 2; if (fraction) tmp_lvalue++; /* round up */ switch (tmp_lvalue) { case 0: return 6; case 1: return 6; case 2: return 14; case 3: return 26; case 4: return 38; case 5: return 50; case 6: return 74; case 7: return 86; case 8: return 110; case 9: return 146; case 10: return 170; case 11: return 194; case 12: return 230; case 13: return 266; case 14: return 302; case 15: return 350; } } else if (lvalue <= 131) { /* grids complete through l = 6m+5 */ tmp_lvalue -= 5; fraction = tmp_lvalue%6; tmp_lvalue /= 6; if (fraction) tmp_lvalue++; /* round up */ switch (tmp_lvalue) { case 5: return 434; case 6: return 590; case 7: return 770; case 8: return 974; case 9: return 1202; case 10: return 1454; case 11: return 1730; case 12: return 2030; case 13: return 2354; case 14: return 2702; case 15: return 3074; case 16: return 3470; case 17: return 3890; case 18: return 4334; case 19: return 4802; case 20: return 5294; case 21: return 5810; } } /* printf(" Lebedev_Laikov_npoint: lvalue > 131. " "No grids of this type available.\n"); */ return 0; } int ll_order(int npoint) { struct { int order, npoints; } map[] = { { 3, 6 }, { 5, 14 }, { 7, 26 }, { 9, 38 }, { 11, 50 }, { 13, 74 }, { 15, 86 }, { 17, 110 }, { 19, 146 }, { 21, 170 }, { 23, 194 }, { 25, 230 }, { 27, 266 }, { 29, 302 }, { 31, 350 }, { 35, 434 }, { 41, 590 }, { 47, 770 }, { 53, 974 }, { 59,1202 }, { 65,1454 }, { 71,1730 }, { 77,2030 }, { 83,2354 }, { 89,2702 }, { 95,3074 }, { 101,3470 }, { 107,3890 }, { 113,4334 }, { 119,4802 }, { 125,5294 }, { 130,5810 }, }; unsigned i; for(i=0; i< sizeof(map)/sizeof(map[0]); i++) { if( npoint <= map[i].npoints) return map[i].order; } return map[sizeof(map)/sizeof(map[0])-1].order; } static int ll_Oh (int n, real a, real b, real v, real *x, real *y, real *z, real *w) { real c; switch (n) { case 1: a = 1.0; x[0] = a; y[0] = 0.0; z[0] = 0.0; w[0] = v; x[1] = -a; y[1] = 0.0; z[1] = 0.0; w[1] = v; x[2] = 0.0; y[2] = a; z[2] = 0.0; w[2] = v; x[3] = 0.0; y[3] = -a; z[3] = 0.0; w[3] = v; x[4] = 0.0; y[4] = 0.0; z[4] = a; w[4] = v; x[5] = 0.0; y[5] = 0.0; z[5] = -a; w[5] = v; return 6; case 2: a = 1.0/std::sqrt(static_cast(2.0)); x[ 0] = 0.0; y[ 0] = a; z[ 0] = a; w[ 0] = v; x[ 1] = 0.0; y[ 1] = a; z[ 1] = -a; w[ 1] = v; x[ 2] = 0.0; y[ 2] = -a; z[ 2] = a; w[ 2] = v; x[ 3] = 0.0; y[ 3] = -a; z[ 3] = -a; w[ 3] = v; x[ 4] = a; y[ 4] = 0.0; z[ 4] = a; w[ 4] = v; x[ 5] = a; y[ 5] = 0.0; z[ 5] = -a; w[ 5] = v; x[ 6] = -a; y[ 6] = 0.0; z[ 6] = a; w[ 6] = v; x[ 7] = -a; y[ 7] = 0.0; z[ 7] = -a; w[ 7] = v; x[ 8] = a; y[ 8] = a; z[ 8] = 0.0; w[ 8] = v; x[ 9] = a; y[ 9] = -a; z[ 9] = 0.0; w[ 9] = v; x[10] = -a; y[10] = a; z[10] = 0.0; w[10] = v; x[11] = -a; y[11] = -a; z[11] = 0.0; w[11] = v; return 12; case 3: a = 1.0/std::sqrt(static_cast(3.0)); x[0] = a; y[0] = a; z[0] = a; w[0] = v; x[1] = a; y[1] = a; z[1] = -a; w[1] = v; x[2] = a; y[2] = -a; z[2] = a; w[2] = v; x[3] = a; y[3] = -a; z[3] = -a; w[3] = v; x[4] = -a; y[4] = a; z[4] = a; w[4] = v; x[5] = -a; y[5] = a; z[5] = -a; w[5] = v; x[6] = -a; y[6] = -a; z[6] = a; w[6] = v; x[7] = -a; y[7] = -a; z[7] = -a; w[7] = v; return 8; case 4: b = std::sqrt(1.0 - 2.0*a*a); x[ 0] = a; y[ 0] = a; z[ 0] = b; w[ 0] = v; x[ 1] = a; y[ 1] = a; z[ 1] = -b; w[ 1] = v; x[ 2] = a; y[ 2] = -a; z[ 2] = b; w[ 2] = v; x[ 3] = a; y[ 3] = -a; z[ 3] = -b; w[ 3] = v; x[ 4] = -a; y[ 4] = a; z[ 4] = b; w[ 4] = v; x[ 5] = -a; y[ 5] = a; z[ 5] = -b; w[ 5] = v; x[ 6] = -a; y[ 6] = -a; z[ 6] = b; w[ 6] = v; x[ 7] = -a; y[ 7] = -a; z[ 7] = -b; w[ 7] = v; x[ 8] = a; y[ 8] = b; z[ 8] = a; w[ 8] = v; x[ 9] = a; y[ 9] = -b; z[ 9] = a; w[ 9] = v; x[10] = a; y[10] = b; z[10] = -a; w[10] = v; x[11] = a; y[11] = -b; z[11] = -a; w[11] = v; x[12] = -a; y[12] = b; z[12] = a; w[12] = v; x[13] = -a; y[13] = -b; z[13] = a; w[13] = v; x[14] = -a; y[14] = b; z[14] = -a; w[14] = v; x[15] = -a; y[15] = -b; z[15] = -a; w[15] = v; x[16] = b; y[16] = a; z[16] = a; w[16] = v; x[17] = -b; y[17] = a; z[17] = a; w[17] = v; x[18] = b; y[18] = a; z[18] = -a; w[18] = v; x[19] = -b; y[19] = a; z[19] = -a; w[19] = v; x[20] = b; y[20] = -a; z[20] = a; w[20] = v; x[21] = -b; y[21] = -a; z[21] = a; w[21] = v; x[22] = b; y[22] = -a; z[22] = -a; w[22] = v; x[23] = -b; y[23] = -a; z[23] = -a; w[23] = v; return 24; case 5: b = std::sqrt(1.0 - a*a); x[ 0] = a; y[ 0] = b; z[ 0] = 0.0; w[ 0] = v; x[ 1] = a; y[ 1] = -b; z[ 1] = 0.0; w[ 1] = v; x[ 2] = -a; y[ 2] = b; z[ 2] = 0.0; w[ 2] = v; x[ 3] = -a; y[ 3] = -b; z[ 3] = 0.0; w[ 3] = v; x[ 4] = b; y[ 4] = a; z[ 4] = 0.0; w[ 4] = v; x[ 5] = b; y[ 5] = -a; z[ 5] = 0.0; w[ 5] = v; x[ 6] = -b; y[ 6] = a; z[ 6] = 0.0; w[ 6] = v; x[ 7] = -b; y[ 7] = -a; z[ 7] = 0.0; w[ 7] = v; x[ 8] = a; y[ 8] = 0.0; z[ 8] = b; w[ 8] = v; x[ 9] = a; y[ 9] = 0.0; z[ 9] = -b; w[ 9] = v; x[10] = -a; y[10] = 0.0; z[10] = b; w[10] = v; x[11] = -a; y[11] = 0.0; z[11] = -b; w[11] = v; x[12] = b; y[12] = 0.0; z[12] = a; w[12] = v; x[13] = b; y[13] = 0.0; z[13] = -a; w[13] = v; x[14] = -b; y[14] = 0.0; z[14] = a; w[14] = v; x[15] = -b; y[15] = 0.0; z[15] = -a; w[15] = v; x[16] = 0.0; y[16] = a; z[16] = b; w[16] = v; x[17] = 0.0; y[17] = a; z[17] = -b; w[17] = v; x[18] = 0.0; y[18] = -a; z[18] = b; w[18] = v; x[19] = 0.0; y[19] = -a; z[19] = -b; w[19] = v; x[20] = 0.0; y[20] = b; z[20] = a; w[20] = v; x[21] = 0.0; y[21] = b; z[21] = -a; w[21] = v; x[22] = 0.0; y[22] = -b; z[22] = a; w[22] = v; x[23] = 0.0; y[23] = -b; z[23] = -a; w[23] = v; return 24; case 6: c = std::sqrt(1.0 - a*a - b*b); x[ 0] = a; y[ 0] = b; z[ 0] = c; w[ 0] = v; x[ 1] = a; y[ 1] = b; z[ 1] = -c; w[ 1] = v; x[ 2] = a; y[ 2] = -b; z[ 2] = c; w[ 2] = v; x[ 3] = a; y[ 3] = -b; z[ 3] = -c; w[ 3] = v; x[ 4] = -a; y[ 4] = b; z[ 4] = c; w[ 4] = v; x[ 5] = -a; y[ 5] = b; z[ 5] = -c; w[ 5] = v; x[ 6] = -a; y[ 6] = -b; z[ 6] = c; w[ 6] = v; x[ 7] = -a; y[ 7] = -b; z[ 7] = -c; w[ 7] = v; x[ 8] = a; y[ 8] = c; z[ 8] = b; w[ 8] = v; x[ 9] = a; y[ 9] = c; z[ 9] = -b; w[ 9] = v; x[10] = a; y[10] = -c; z[10] = b; w[10] = v; x[11] = a; y[11] = -c; z[11] = -b; w[11] = v; x[12] = -a; y[12] = c; z[12] = b; w[12] = v; x[13] = -a; y[13] = c; z[13] = -b; w[13] = v; x[14] = -a; y[14] = -c; z[14] = b; w[14] = v; x[15] = -a; y[15] = -c; z[15] = -b; w[15] = v; x[16] = b; y[16] = a; z[16] = c; w[16] = v; x[17] = b; y[17] = a; z[17] = -c; w[17] = v; x[18] = b; y[18] = -a; z[18] = c; w[18] = v; x[19] = b; y[19] = -a; z[19] = -c; w[19] = v; x[20] = -b; y[20] = a; z[20] = c; w[20] = v; x[21] = -b; y[21] = a; z[21] = -c; w[21] = v; x[22] = -b; y[22] = -a; z[22] = c; w[22] = v; x[23] = -b; y[23] = -a; z[23] = -c; w[23] = v; x[24] = b; y[24] = c; z[24] = a; w[24] = v; x[25] = b; y[25] = c; z[25] = -a; w[25] = v; x[26] = b; y[26] = -c; z[26] = a; w[26] = v; x[27] = b; y[27] = -c; z[27] = -a; w[27] = v; x[28] = -b; y[28] = c; z[28] = a; w[28] = v; x[29] = -b; y[29] = c; z[29] = -a; w[29] = v; x[30] = -b; y[30] = -c; z[30] = a; w[30] = v; x[31] = -b; y[31] = -c; z[31] = -a; w[31] = v; x[32] = c; y[32] = a; z[32] = b; w[32] = v; x[33] = c; y[33] = a; z[33] = -b; w[33] = v; x[34] = c; y[34] = -a; z[34] = b; w[34] = v; x[35] = c; y[35] = -a; z[35] = -b; w[35] = v; x[36] = -c; y[36] = a; z[36] = b; w[36] = v; x[37] = -c; y[37] = a; z[37] = -b; w[37] = v; x[38] = -c; y[38] = -a; z[38] = b; w[38] = v; x[39] = -c; y[39] = -a; z[39] = -b; w[39] = v; x[40] = c; y[40] = b; z[40] = a; w[40] = v; x[41] = c; y[41] = b; z[41] = -a; w[41] = v; x[42] = c; y[42] = -b; z[42] = a; w[42] = v; x[43] = c; y[43] = -b; z[43] = -a; w[43] = v; x[44] = -c; y[44] = b; z[44] = a; w[44] = v; x[45] = -c; y[45] = b; z[45] = -a; w[45] = v; x[46] = -c; y[46] = -b; z[46] = a; w[46] = v; x[47] = -c; y[47] = -b; z[47] = -a; w[47] = v; return 48; } return 0; } int ll_sphere(int N, real *X, real *Y, real *Z, real *W) { #define A n+=ll_Oh( #define B ,X+n,Y+n,Z+n,W+n); int n; n = 0; switch (N) { case 6: A 1, 0.0 , 0.0 , 0.1666666666666667e+0 B break; case 14: A 1, 0.0 , 0.0 , 0.6666666666666667e-1 B A 3, 0.0 , 0.0 , 0.7500000000000000e-1 B break; case 26: A 1, 0.0 , 0.0 , 0.4761904761904762e-1 B A 2, 0.0 , 0.0 , 0.3809523809523810e-1 B A 3, 0.0 , 0.0 , 0.3214285714285714e-1 B break; case 38: A 1, 0.0 , 0.0 , 0.9523809523809524e-2 B A 3, 0.0 , 0.0 , 0.3214285714285714e-1 B A 5, 0.4597008433809831e+0, 0.0 , 0.2857142857142857e-1 B break; case 50: A 1, 0.0 , 0.0 , 0.1269841269841270e-1 B A 2, 0.0 , 0.0 , 0.2257495590828924e-1 B A 3, 0.0 , 0.0 , 0.2109375000000000e-1 B A 4, 0.3015113445777636e+0, 0.0 , 0.2017333553791887e-1 B break; case 74: A 1, 0.0 , 0.0 , 0.5130671797338464e-3 B A 2, 0.0 , 0.0 , 0.1660406956574204e-1 B A 3, 0.0 , 0.0 ,-0.2958603896103896e-1 B A 4, 0.4803844614152614e+0, 0.0 , 0.2657620708215946e-1 B A 5, 0.3207726489807764e+0, 0.0 , 0.1652217099371571e-1 B break; case 86: A 1, 0.0 , 0.0 , 0.1154401154401154e-1 B A 3, 0.0 , 0.0 , 0.1194390908585628e-1 B A 4, 0.3696028464541502e+0, 0.0 , 0.1111055571060340e-1 B A 4, 0.6943540066026664e+0, 0.0 , 0.1187650129453714e-1 B A 5, 0.3742430390903412e+0, 0.0 , 0.1181230374690448e-1 B break; case 110: A 1, 0.0 , 0.0 , 0.3828270494937162e-2 B A 3, 0.0 , 0.0 , 0.9793737512487512e-2 B A 4, 0.1851156353447362e+0, 0.0 , 0.8211737283191111e-2 B A 4, 0.6904210483822922e+0, 0.0 , 0.9942814891178103e-2 B A 4, 0.3956894730559419e+0, 0.0 , 0.9595471336070963e-2 B A 5, 0.4783690288121502e+0, 0.0 , 0.9694996361663028e-2 B break; case 146: A 1, 0.0 , 0.0 , 0.5996313688621381e-3 B A 2, 0.0 , 0.0 , 0.7372999718620756e-2 B A 3, 0.0 , 0.0 , 0.7210515360144488e-2 B A 4, 0.6764410400114264e+0, 0.0 , 0.7116355493117555e-2 B A 4, 0.4174961227965453e+0, 0.0 , 0.6753829486314477e-2 B A 4, 0.1574676672039082e+0, 0.0 , 0.7574394159054034e-2 B A 6, 0.1403553811713183e+0, 0.4493328323269557e+0, 0.6991087353303262e-2 B break; case 170: A 1, 0.0 , 0.0 , 0.5544842902037365e-2 B A 2, 0.0 , 0.0 , 0.6071332770670752e-2 B A 3, 0.0 , 0.0 , 0.6383674773515093e-2 B A 4, 0.2551252621114134e+0, 0.0 , 0.5183387587747790e-2 B A 4, 0.6743601460362766e+0, 0.0 , 0.6317929009813725e-2 B A 4, 0.4318910696719410e+0, 0.0 , 0.6201670006589077e-2 B A 5, 0.2613931360335988e+0, 0.0 , 0.5477143385137348e-2 B A 6, 0.4990453161796037e+0, 0.1446630744325115e+0, 0.5968383987681156e-2 B break; case 194: A 1, 0.0 , 0.0 , 0.1782340447244611e-2 B A 2, 0.0 , 0.0 , 0.5716905949977102e-2 B A 3, 0.0 , 0.0 , 0.5573383178848738e-2 B A 4, 0.6712973442695226e+0, 0.0 , 0.5608704082587997e-2 B A 4, 0.2892465627575439e+0, 0.0 , 0.5158237711805383e-2 B A 4, 0.4446933178717437e+0, 0.0 , 0.5518771467273614e-2 B A 4, 0.1299335447650067e+0, 0.0 , 0.4106777028169394e-2 B A 5, 0.3457702197611283e+0, 0.0 , 0.5051846064614808e-2 B A 6, 0.1590417105383530e+0, 0.8360360154824589e+0, 0.5530248916233094e-2 B break; case 230: A 1, 0.0 , 0.0 ,-0.5522639919727325e-1 B A 3, 0.0 , 0.0 , 0.4450274607445226e-2 B A 4, 0.4492044687397611e+0, 0.0 , 0.4496841067921404e-2 B A 4, 0.2520419490210201e+0, 0.0 , 0.5049153450478750e-2 B A 4, 0.6981906658447242e+0, 0.0 , 0.3976408018051883e-2 B A 4, 0.6587405243460960e+0, 0.0 , 0.4401400650381014e-2 B A 4, 0.4038544050097660e-1, 0.0 , 0.1724544350544401e-1 B A 5, 0.5823842309715585e+0, 0.0 , 0.4231083095357343e-2 B A 5, 0.3545877390518688e+0, 0.0 , 0.5198069864064399e-2 B A 6, 0.2272181808998187e+0, 0.4864661535886647e+0, 0.4695720972568883e-2 B break; case 266: A 1, 0.0 , 0.0 ,-0.1313769127326952e-2 B A 2, 0.0 , 0.0 ,-0.2522728704859336e-2 B A 3, 0.0 , 0.0 , 0.4186853881700583e-2 B A 4, 0.7039373391585475e+0, 0.0 , 0.5315167977810885e-2 B A 4, 0.1012526248572414e+0, 0.0 , 0.4047142377086219e-2 B A 4, 0.4647448726420539e+0, 0.0 , 0.4112482394406990e-2 B A 4, 0.3277420654971629e+0, 0.0 , 0.3595584899758782e-2 B A 4, 0.6620338663699974e+0, 0.0 , 0.4256131351428158e-2 B A 5, 0.8506508083520399e+0, 0.0 , 0.4229582700647240e-2 B A 6, 0.3233484542692899e+0, 0.1153112011009701e+0, 0.4080914225780505e-2 B A 6, 0.2314790158712601e+0, 0.5244939240922365e+0, 0.4071467593830964e-2 B break; case 302: A 1, 0.0 , 0.0 , 0.8545911725128148e-3 B A 3, 0.0 , 0.0 , 0.3599119285025571e-2 B A 4, 0.3515640345570105e+0, 0.0 , 0.3449788424305883e-2 B A 4, 0.6566329410219612e+0, 0.0 , 0.3604822601419882e-2 B A 4, 0.4729054132581005e+0, 0.0 , 0.3576729661743367e-2 B A 4, 0.9618308522614784e-1, 0.0 , 0.2352101413689164e-2 B A 4, 0.2219645236294178e+0, 0.0 , 0.3108953122413675e-2 B A 4, 0.7011766416089545e+0, 0.0 , 0.3650045807677255e-2 B A 5, 0.2644152887060663e+0, 0.0 , 0.2982344963171804e-2 B A 5, 0.5718955891878961e+0, 0.0 , 0.3600820932216460e-2 B A 6, 0.2510034751770465e+0, 0.8000727494073952e+0, 0.3571540554273387e-2 B A 6, 0.1233548532583327e+0, 0.4127724083168531e+0, 0.3392312205006170e-2 B break; case 350: A 1, 0.0 , 0.0 , 0.3006796749453936e-2 B A 3, 0.0 , 0.0 , 0.3050627745650771e-2 B A 4, 0.7068965463912316e+0, 0.0 , 0.1621104600288991e-2 B A 4, 0.4794682625712025e+0, 0.0 , 0.3005701484901752e-2 B A 4, 0.1927533154878019e+0, 0.0 , 0.2990992529653774e-2 B A 4, 0.6930357961327123e+0, 0.0 , 0.2982170644107595e-2 B A 4, 0.3608302115520091e+0, 0.0 , 0.2721564237310992e-2 B A 4, 0.6498486161496169e+0, 0.0 , 0.3033513795811141e-2 B A 5, 0.1932945013230339e+0, 0.0 , 0.3007949555218533e-2 B A 5, 0.3800494919899303e+0, 0.0 , 0.2881964603055307e-2 B A 6, 0.2899558825499574e+0, 0.7934537856582316e+0, 0.2958357626535696e-2 B A 6, 0.9684121455103957e-1, 0.8280801506686862e+0, 0.3036020026407088e-2 B A 6, 0.1833434647041659e+0, 0.9074658265305127e+0, 0.2832187403926303e-2 B break; case 434: A 1, 0.0 , 0.0 , 0.5265897968224436e-3 B A 2, 0.0 , 0.0 , 0.2548219972002607e-2 B A 3, 0.0 , 0.0 , 0.2512317418927307e-2 B A 4, 0.6909346307509111e+0, 0.0 , 0.2530403801186355e-2 B A 4, 0.1774836054609158e+0, 0.0 , 0.2014279020918528e-2 B A 4, 0.4914342637784746e+0, 0.0 , 0.2501725168402936e-2 B A 4, 0.6456664707424256e+0, 0.0 , 0.2513267174597564e-2 B A 4, 0.2861289010307638e+0, 0.0 , 0.2302694782227416e-2 B A 4, 0.7568084367178018e-1, 0.0 , 0.1462495621594614e-2 B A 4, 0.3927259763368002e+0, 0.0 , 0.2445373437312980e-2 B A 5, 0.8818132877794288e+0, 0.0 , 0.2417442375638981e-2 B A 5, 0.9776428111182649e+0, 0.0 , 0.1910951282179532e-2 B A 6, 0.2054823696403044e+0, 0.8689460322872412e+0, 0.2416930044324775e-2 B A 6, 0.5905157048925271e+0, 0.7999278543857286e+0, 0.2512236854563495e-2 B A 6, 0.5550152361076807e+0, 0.7717462626915901e+0, 0.2496644054553086e-2 B A 6, 0.9371809858553722e+0, 0.3344363145343455e+0, 0.2236607760437849e-2 B break; case 590: A 1, 0.0 , 0.0 , 0.3095121295306187e-3 B A 3, 0.0 , 0.0 , 0.1852379698597489e-2 B A 4, 0.7040954938227469e+0, 0.0 , 0.1871790639277744e-2 B A 4, 0.6807744066455243e+0, 0.0 , 0.1858812585438317e-2 B A 4, 0.6372546939258752e+0, 0.0 , 0.1852028828296213e-2 B A 4, 0.5044419707800358e+0, 0.0 , 0.1846715956151242e-2 B A 4, 0.4215761784010967e+0, 0.0 , 0.1818471778162769e-2 B A 4, 0.3317920736472123e+0, 0.0 , 0.1749564657281154e-2 B A 4, 0.2384736701421887e+0, 0.0 , 0.1617210647254411e-2 B A 4, 0.1459036449157763e+0, 0.0 , 0.1384737234851692e-2 B A 4, 0.6095034115507196e-1, 0.0 , 0.9764331165051050e-3 B A 5, 0.6116843442009876e+0, 0.0 , 0.1857161196774078e-2 B A 5, 0.3964755348199858e+0, 0.0 , 0.1705153996395864e-2 B A 5, 0.1724782009907724e+0, 0.0 , 0.1300321685886048e-2 B A 6, 0.5610263808622060e+0, 0.3518280927733519e+0, 0.1842866472905286e-2 B A 6, 0.4742392842551980e+0, 0.2634716655937950e+0, 0.1802658934377451e-2 B A 6, 0.5984126497885380e+0, 0.1816640840360209e+0, 0.1849830560443660e-2 B A 6, 0.3791035407695563e+0, 0.1720795225656878e+0, 0.1713904507106709e-2 B A 6, 0.2778673190586244e+0, 0.8213021581932511e-1, 0.1555213603396808e-2 B A 6, 0.5033564271075117e+0, 0.8999205842074875e-1, 0.1802239128008525e-2 B break; case 770: A 1, 0.0 , 0.0 , 0.2192942088181184e-3 B A 2, 0.0 , 0.0 , 0.1436433617319080e-2 B A 3, 0.0 , 0.0 , 0.1421940344335877e-2 B A 4, 0.5087204410502360e-1, 0.0 , 0.6798123511050502e-3 B A 4, 0.1228198790178831e+0, 0.0 , 0.9913184235294912e-3 B A 4, 0.2026890814408786e+0, 0.0 , 0.1180207833238949e-2 B A 4, 0.2847745156464294e+0, 0.0 , 0.1296599602080921e-2 B A 4, 0.3656719078978026e+0, 0.0 , 0.1365871427428316e-2 B A 4, 0.4428264886713469e+0, 0.0 , 0.1402988604775325e-2 B A 4, 0.5140619627249735e+0, 0.0 , 0.1418645563595609e-2 B A 4, 0.6306401219166803e+0, 0.0 , 0.1421376741851662e-2 B A 4, 0.6716883332022612e+0, 0.0 , 0.1423996475490962e-2 B A 4, 0.6979792685336881e+0, 0.0 , 0.1431554042178567e-2 B A 5, 0.1446865674195309e+0, 0.0 , 0.9254401499865368e-3 B A 5, 0.3390263475411216e+0, 0.0 , 0.1250239995053509e-2 B A 5, 0.5335804651263506e+0, 0.0 , 0.1394365843329230e-2 B A 6, 0.6944024393349413e-1, 0.2355187894242326e+0, 0.1127089094671749e-2 B A 6, 0.2269004109529460e+0, 0.4102182474045730e+0, 0.1345753760910670e-2 B A 6, 0.8025574607775339e-1, 0.6214302417481605e+0, 0.1424957283316783e-2 B A 6, 0.1467999527896572e+0, 0.3245284345717394e+0, 0.1261523341237750e-2 B A 6, 0.1571507769824727e+0, 0.5224482189696630e+0, 0.1392547106052696e-2 B A 6, 0.2365702993157246e+0, 0.6017546634089558e+0, 0.1418761677877656e-2 B A 6, 0.7714815866765732e-1, 0.4346575516141163e+0, 0.1338366684479554e-2 B A 6, 0.3062936666210730e+0, 0.4908826589037616e+0, 0.1393700862676131e-2 B A 6, 0.3822477379524787e+0, 0.5648768149099500e+0, 0.1415914757466932e-2 B break; case 974: A 1, 0.0 , 0.0 , 0.1438294190527431e-3 B A 3, 0.0 , 0.0 , 0.1125772288287004e-2 B A 4, 0.4292963545341347e-1, 0.0 , 0.4948029341949241e-3 B A 4, 0.1051426854086404e+0, 0.0 , 0.7357990109125470e-3 B A 4, 0.1750024867623087e+0, 0.0 , 0.8889132771304384e-3 B A 4, 0.2477653379650257e+0, 0.0 , 0.9888347838921435e-3 B A 4, 0.3206567123955957e+0, 0.0 , 0.1053299681709471e-2 B A 4, 0.3916520749849983e+0, 0.0 , 0.1092778807014578e-2 B A 4, 0.4590825874187624e+0, 0.0 , 0.1114389394063227e-2 B A 4, 0.5214563888415861e+0, 0.0 , 0.1123724788051555e-2 B A 4, 0.6253170244654199e+0, 0.0 , 0.1125239325243814e-2 B A 4, 0.6637926744523170e+0, 0.0 , 0.1126153271815905e-2 B A 4, 0.6910410398498301e+0, 0.0 , 0.1130286931123841e-2 B A 4, 0.7052907007457760e+0, 0.0 , 0.1134986534363955e-2 B A 5, 0.1236686762657990e+0, 0.0 , 0.6823367927109931e-3 B A 5, 0.2940777114468387e+0, 0.0 , 0.9454158160447096e-3 B A 5, 0.4697753849207649e+0, 0.0 , 0.1074429975385679e-2 B A 5, 0.6334563241139567e+0, 0.0 , 0.1129300086569132e-2 B A 6, 0.5974048614181342e-1, 0.2029128752777523e+0, 0.8436884500901954e-3 B A 6, 0.1375760408473636e+0, 0.4602621942484054e+0, 0.1075255720448885e-2 B A 6, 0.3391016526336286e+0, 0.5030673999662036e+0, 0.1108577236864462e-2 B A 6, 0.1271675191439820e+0, 0.2817606422442134e+0, 0.9566475323783357e-3 B A 6, 0.2693120740413512e+0, 0.4331561291720157e+0, 0.1080663250717391e-2 B A 6, 0.1419786452601918e+0, 0.6256167358580814e+0, 0.1126797131196295e-2 B A 6, 0.6709284600738255e-1, 0.3798395216859157e+0, 0.1022568715358061e-2 B A 6, 0.7057738183256172e-1, 0.5517505421423520e+0, 0.1108960267713108e-2 B A 6, 0.2783888477882155e+0, 0.6029619156159187e+0, 0.1122790653435766e-2 B A 6, 0.1979578938917407e+0, 0.3589606329589096e+0, 0.1032401847117460e-2 B A 6, 0.2087307061103274e+0, 0.5348666438135476e+0, 0.1107249382283854e-2 B A 6, 0.4055122137872836e+0, 0.5674997546074373e+0, 0.1121780048519972e-2 B break; case 1202: A 1, 0.0 , 0.0 , 0.1105189233267572e-3 B A 2, 0.0 , 0.0 , 0.9205232738090741e-3 B A 3, 0.0 , 0.0 , 0.9133159786443561e-3 B A 4, 0.3712636449657089e-1, 0.0 , 0.3690421898017899e-3 B A 4, 0.9140060412262223e-1, 0.0 , 0.5603990928680660e-3 B A 4, 0.1531077852469906e+0, 0.0 , 0.6865297629282609e-3 B A 4, 0.2180928891660612e+0, 0.0 , 0.7720338551145630e-3 B A 4, 0.2839874532200175e+0, 0.0 , 0.8301545958894795e-3 B A 4, 0.3491177600963764e+0, 0.0 , 0.8686692550179628e-3 B A 4, 0.4121431461444309e+0, 0.0 , 0.8927076285846890e-3 B A 4, 0.4718993627149127e+0, 0.0 , 0.9060820238568219e-3 B A 4, 0.5273145452842337e+0, 0.0 , 0.9119777254940867e-3 B A 4, 0.6209475332444019e+0, 0.0 , 0.9128720138604181e-3 B A 4, 0.6569722711857291e+0, 0.0 , 0.9130714935691735e-3 B A 4, 0.6841788309070143e+0, 0.0 , 0.9152873784554116e-3 B A 4, 0.7012604330123631e+0, 0.0 , 0.9187436274321654e-3 B A 5, 0.1072382215478166e+0, 0.0 , 0.5176977312965694e-3 B A 5, 0.2582068959496968e+0, 0.0 , 0.7331143682101417e-3 B A 5, 0.4172752955306717e+0, 0.0 , 0.8463232836379928e-3 B A 5, 0.5700366911792503e+0, 0.0 , 0.9031122694253992e-3 B A 6, 0.9827986018263947e+0, 0.1771774022615325e+0, 0.6485778453163257e-3 B A 6, 0.9624249230326228e+0, 0.2475716463426288e+0, 0.7435030910982369e-3 B A 6, 0.9402007994128811e+0, 0.3354616289066489e+0, 0.7998527891839054e-3 B A 6, 0.9320822040143202e+0, 0.3173615246611977e+0, 0.8101731497468018e-3 B A 6, 0.9043674199393299e+0, 0.4090268427085357e+0, 0.8483389574594331e-3 B A 6, 0.8912407560074747e+0, 0.3854291150669224e+0, 0.8556299257311812e-3 B A 6, 0.8676435628462708e+0, 0.4932221184851285e+0, 0.8803208679738260e-3 B A 6, 0.8581979986041619e+0, 0.4785320675922435e+0, 0.8811048182425720e-3 B A 6, 0.8396753624049856e+0, 0.4507422593157064e+0, 0.8850282341265444e-3 B A 6, 0.8165288564022188e+0, 0.5632123020762100e+0, 0.9021342299040653e-3 B A 6, 0.8015469370783529e+0, 0.5434303569693900e+0, 0.9010091677105086e-3 B A 6, 0.7773563069070351e+0, 0.5123518486419871e+0, 0.9022692938426915e-3 B A 6, 0.7661621213900394e+0, 0.6394279634749102e+0, 0.9158016174693465e-3 B A 6, 0.7553584143533510e+0, 0.6269805509024392e+0, 0.9131578003189435e-3 B A 6, 0.7344305757559503e+0, 0.6031161693096310e+0, 0.9107813579482705e-3 B A 6, 0.7043837184021765e+0, 0.5693702498468441e+0, 0.9105760258970126e-3 B break; case 1454: A 1, 0.0 , 0.0 , 0.7777160743261247e-4 B A 3, 0.0 , 0.0 , 0.7557646413004701e-3 B A 4, 0.3229290663413854e-1, 0.0 , 0.2841633806090617e-3 B A 4, 0.8036733271462222e-1, 0.0 , 0.4374419127053555e-3 B A 4, 0.1354289960531653e+0, 0.0 , 0.5417174740872172e-3 B A 4, 0.1938963861114426e+0, 0.0 , 0.6148000891358593e-3 B A 4, 0.2537343715011275e+0, 0.0 , 0.6664394485800705e-3 B A 4, 0.3135251434752570e+0, 0.0 , 0.7025039356923220e-3 B A 4, 0.3721558339375338e+0, 0.0 , 0.7268511789249627e-3 B A 4, 0.4286809575195696e+0, 0.0 , 0.7422637534208629e-3 B A 4, 0.4822510128282994e+0, 0.0 , 0.7509545035841214e-3 B A 4, 0.5320679333566263e+0, 0.0 , 0.7548535057718401e-3 B A 4, 0.6172998195394274e+0, 0.0 , 0.7554088969774001e-3 B A 4, 0.6510679849127481e+0, 0.0 , 0.7553147174442808e-3 B A 4, 0.6777315251687360e+0, 0.0 , 0.7564767653292297e-3 B A 4, 0.6963109410648741e+0, 0.0 , 0.7587991808518730e-3 B A 4, 0.7058935009831749e+0, 0.0 , 0.7608261832033027e-3 B A 5, 0.9955546194091857e+0, 0.0 , 0.4021680447874916e-3 B A 5, 0.9734115901794209e+0, 0.0 , 0.5804871793945964e-3 B A 5, 0.9275693732388626e+0, 0.0 , 0.6792151955945159e-3 B A 5, 0.8568022422795103e+0, 0.0 , 0.7336741211286294e-3 B A 5, 0.7623495553719372e+0, 0.0 , 0.7581866300989608e-3 B A 6, 0.5707522908892223e+0, 0.4387028039889501e+0, 0.7538257859800743e-3 B A 6, 0.5196463388403083e+0, 0.3858908414762617e+0, 0.7483517247053123e-3 B A 6, 0.4646337531215351e+0, 0.3301937372343854e+0, 0.7371763661112059e-3 B A 6, 0.4063901697557691e+0, 0.2725423573563777e+0, 0.7183448895756934e-3 B A 6, 0.3456329466643087e+0, 0.2139510237495250e+0, 0.6895815529822191e-3 B A 6, 0.2831395121050332e+0, 0.1555922309786647e+0, 0.6480105801792886e-3 B A 6, 0.2197682022925330e+0, 0.9892878979686097e-1, 0.5897558896594636e-3 B A 6, 0.1564696098650355e+0, 0.4598642910675510e-1, 0.5095708849247346e-3 B A 6, 0.6027356673721295e+0, 0.3376625140173426e+0, 0.7536906428909755e-3 B A 6, 0.5496032320255096e+0, 0.2822301309727988e+0, 0.7472505965575118e-3 B A 6, 0.4921707755234567e+0, 0.2248632342592540e+0, 0.7343017132279698e-3 B A 6, 0.4309422998598483e+0, 0.1666224723456479e+0, 0.7130871582177445e-3 B A 6, 0.3664108182313672e+0, 0.1086964901822169e+0, 0.6817022032112776e-3 B A 6, 0.2990189057758436e+0, 0.5251989784120085e-1, 0.6380941145604121e-3 B A 6, 0.6268724013144998e+0, 0.2297523657550023e+0, 0.7550381377920310e-3 B A 6, 0.5707324144834607e+0, 0.1723080607093800e+0, 0.7478646640144802e-3 B A 6, 0.5096360901960365e+0, 0.1140238465390513e+0, 0.7335918720601220e-3 B A 6, 0.4438729938312456e+0, 0.5611522095882537e-1, 0.7110120527658118e-3 B A 6, 0.6419978471082389e+0, 0.1164174423140873e+0, 0.7571363978689501e-3 B A 6, 0.5817218061802611e+0, 0.5797589531445219e-1, 0.7489908329079234e-3 B break; case 1730: A 1, 0.0 , 0.0 , 0.6309049437420976e-4 B A 2, 0.0 , 0.0 , 0.6398287705571748e-3 B A 3, 0.0 , 0.0 , 0.6357185073530720e-3 B A 4, 0.2860923126194662e-1, 0.0 , 0.2221207162188168e-3 B A 4, 0.7142556767711522e-1, 0.0 , 0.3475784022286848e-3 B A 4, 0.1209199540995559e+0, 0.0 , 0.4350742443589804e-3 B A 4, 0.1738673106594379e+0, 0.0 , 0.4978569136522127e-3 B A 4, 0.2284645438467734e+0, 0.0 , 0.5435036221998053e-3 B A 4, 0.2834807671701512e+0, 0.0 , 0.5765913388219542e-3 B A 4, 0.3379680145467339e+0, 0.0 , 0.6001200359226003e-3 B A 4, 0.3911355454819537e+0, 0.0 , 0.6162178172717512e-3 B A 4, 0.4422860353001403e+0, 0.0 , 0.6265218152438485e-3 B A 4, 0.4907781568726057e+0, 0.0 , 0.6323987160974212e-3 B A 4, 0.5360006153211468e+0, 0.0 , 0.6350767851540569e-3 B A 4, 0.6142105973596603e+0, 0.0 , 0.6354362775297107e-3 B A 4, 0.6459300387977504e+0, 0.0 , 0.6352302462706235e-3 B A 4, 0.6718056125089225e+0, 0.0 , 0.6358117881417972e-3 B A 4, 0.6910888533186254e+0, 0.0 , 0.6373101590310117e-3 B A 4, 0.7030467416823252e+0, 0.0 , 0.6390428961368665e-3 B A 5, 0.8354951166354646e-1, 0.0 , 0.3186913449946576e-3 B A 5, 0.2050143009099486e+0, 0.0 , 0.4678028558591711e-3 B A 5, 0.3370208290706637e+0, 0.0 , 0.5538829697598626e-3 B A 5, 0.4689051484233963e+0, 0.0 , 0.6044475907190476e-3 B A 5, 0.5939400424557334e+0, 0.0 , 0.6313575103509012e-3 B A 6, 0.1394983311832261e+0, 0.4097581162050343e-1, 0.4078626431855630e-3 B A 6, 0.1967999180485014e+0, 0.8851987391293348e-1, 0.4759933057812725e-3 B A 6, 0.2546183732548967e+0, 0.1397680182969819e+0, 0.5268151186413440e-3 B A 6, 0.3121281074713875e+0, 0.1929452542226526e+0, 0.5643048560507316e-3 B A 6, 0.3685981078502492e+0, 0.2467898337061562e+0, 0.5914501076613073e-3 B A 6, 0.4233760321547856e+0, 0.3003104124785409e+0, 0.6104561257874195e-3 B A 6, 0.4758671236059246e+0, 0.3526684328175033e+0, 0.6230252860707806e-3 B A 6, 0.5255178579796463e+0, 0.4031134861145713e+0, 0.6305618761760796e-3 B A 6, 0.5718025633734589e+0, 0.4509426448342351e+0, 0.6343092767597889e-3 B A 6, 0.2686927772723415e+0, 0.4711322502423248e-1, 0.5176268945737826e-3 B A 6, 0.3306006819904809e+0, 0.9784487303942695e-1, 0.5564840313313692e-3 B A 6, 0.3904906850594983e+0, 0.1505395810025273e+0, 0.5856426671038980e-3 B A 6, 0.4479957951904390e+0, 0.2039728156296050e+0, 0.6066386925777091e-3 B A 6, 0.5027076848919780e+0, 0.2571529941121107e+0, 0.6208824962234458e-3 B A 6, 0.5542087392260217e+0, 0.3092191375815670e+0, 0.6296314297822907e-3 B A 6, 0.6020850887375187e+0, 0.3593807506130276e+0, 0.6340423756791859e-3 B A 6, 0.4019851409179594e+0, 0.5063389934378671e-1, 0.5829627677107342e-3 B A 6, 0.4635614567449800e+0, 0.1032422269160612e+0, 0.6048693376081110e-3 B A 6, 0.5215860931591575e+0, 0.1566322094006254e+0, 0.6202362317732461e-3 B A 6, 0.5758202499099271e+0, 0.2098082827491099e+0, 0.6299005328403779e-3 B A 6, 0.6259893683876795e+0, 0.2618824114553391e+0, 0.6347722390609353e-3 B A 6, 0.5313795124811891e+0, 0.5263245019338556e-1, 0.6203778981238834e-3 B A 6, 0.5893317955931995e+0, 0.1061059730982005e+0, 0.6308414671239979e-3 B A 6, 0.6426246321215801e+0, 0.1594171564034221e+0, 0.6362706466959498e-3 B A 6, 0.6511904367376113e+0, 0.5354789536565540e-1, 0.6375414170333233e-3 B break; case 2030: A 1, 0.0 , 0.0 , 0.4656031899197431e-4 B A 3, 0.0 , 0.0 , 0.5421549195295507e-3 B A 4, 0.2540835336814348e-1, 0.0 , 0.1778522133346553e-3 B A 4, 0.6399322800504915e-1, 0.0 , 0.2811325405682796e-3 B A 4, 0.1088269469804125e+0, 0.0 , 0.3548896312631459e-3 B A 4, 0.1570670798818287e+0, 0.0 , 0.4090310897173364e-3 B A 4, 0.2071163932282514e+0, 0.0 , 0.4493286134169965e-3 B A 4, 0.2578914044450844e+0, 0.0 , 0.4793728447962723e-3 B A 4, 0.3085687558169623e+0, 0.0 , 0.5015415319164265e-3 B A 4, 0.3584719706267024e+0, 0.0 , 0.5175127372677937e-3 B A 4, 0.4070135594428709e+0, 0.0 , 0.5285522262081019e-3 B A 4, 0.4536618626222638e+0, 0.0 , 0.5356832703713962e-3 B A 4, 0.4979195686463577e+0, 0.0 , 0.5397914736175170e-3 B A 4, 0.5393075111126999e+0, 0.0 , 0.5416899441599930e-3 B A 4, 0.6115617676843916e+0, 0.0 , 0.5419308476889938e-3 B A 4, 0.6414308435160159e+0, 0.0 , 0.5416936902030596e-3 B A 4, 0.6664099412721607e+0, 0.0 , 0.5419544338703164e-3 B A 4, 0.6859161771214913e+0, 0.0 , 0.5428983656630975e-3 B A 4, 0.6993625593503890e+0, 0.0 , 0.5442286500098193e-3 B A 4, 0.7062393387719380e+0, 0.0 , 0.5452250345057301e-3 B A 5, 0.7479028168349763e-1, 0.0 , 0.2568002497728530e-3 B A 5, 0.1848951153969366e+0, 0.0 , 0.3827211700292145e-3 B A 5, 0.3059529066581305e+0, 0.0 , 0.4579491561917824e-3 B A 5, 0.4285556101021362e+0, 0.0 , 0.5042003969083574e-3 B A 5, 0.5468758653496526e+0, 0.0 , 0.5312708889976025e-3 B A 5, 0.6565821978343439e+0, 0.0 , 0.5438401790747117e-3 B A 6, 0.1253901572367117e+0, 0.3681917226439641e-1, 0.3316041873197344e-3 B A 6, 0.1775721510383941e+0, 0.7982487607213301e-1, 0.3899113567153771e-3 B A 6, 0.2305693358216114e+0, 0.1264640966592335e+0, 0.4343343327201309e-3 B A 6, 0.2836502845992063e+0, 0.1751585683418957e+0, 0.4679415262318919e-3 B A 6, 0.3361794746232590e+0, 0.2247995907632670e+0, 0.4930847981631031e-3 B A 6, 0.3875979172264824e+0, 0.2745299257422246e+0, 0.5115031867540091e-3 B A 6, 0.4374019316999074e+0, 0.3236373482441118e+0, 0.5245217148457367e-3 B A 6, 0.4851275843340022e+0, 0.3714967859436741e+0, 0.5332041499895321e-3 B A 6, 0.5303391803806868e+0, 0.4175353646321745e+0, 0.5384583126021542e-3 B A 6, 0.5726197380596287e+0, 0.4612084406355461e+0, 0.5411067210798852e-3 B A 6, 0.2431520732564863e+0, 0.4258040133043952e-1, 0.4259797391468714e-3 B A 6, 0.3002096800895869e+0, 0.8869424306722721e-1, 0.4604931368460021e-3 B A 6, 0.3558554457457432e+0, 0.1368811706510655e+0, 0.4871814878255202e-3 B A 6, 0.4097782537048887e+0, 0.1860739985015033e+0, 0.5072242910074885e-3 B A 6, 0.4616337666067458e+0, 0.2354235077395853e+0, 0.5217069845235350e-3 B A 6, 0.5110707008417874e+0, 0.2842074921347011e+0, 0.5315785966280310e-3 B A 6, 0.5577415286163795e+0, 0.3317784414984102e+0, 0.5376833708758905e-3 B A 6, 0.6013060431366950e+0, 0.3775299002040700e+0, 0.5408032092069521e-3 B A 6, 0.3661596767261781e+0, 0.4599367887164592e-1, 0.4842744917904866e-3 B A 6, 0.4237633153506581e+0, 0.9404893773654421e-1, 0.5048926076188130e-3 B A 6, 0.4786328454658452e+0, 0.1431377109091971e+0, 0.5202607980478373e-3 B A 6, 0.5305702076789774e+0, 0.1924186388843570e+0, 0.5309932388325743e-3 B A 6, 0.5793436224231788e+0, 0.2411590944775190e+0, 0.5377419770895208e-3 B A 6, 0.6247069017094747e+0, 0.2886871491583605e+0, 0.5411696331677717e-3 B A 6, 0.4874315552535204e+0, 0.4804978774953206e-1, 0.5197996293282420e-3 B A 6, 0.5427337322059053e+0, 0.9716857199366665e-1, 0.5311120836622945e-3 B A 6, 0.5943493747246700e+0, 0.1465205839795055e+0, 0.5384309319956951e-3 B A 6, 0.6421314033564943e+0, 0.1953579449803574e+0, 0.5421859504051886e-3 B A 6, 0.6020628374713980e+0, 0.4916375015738108e-1, 0.5390948355046314e-3 B A 6, 0.6529222529856881e+0, 0.9861621540127005e-1, 0.5433312705027845e-3 B break; case 2354: A 1, 0.0 , 0.0 , 0.3922616270665292e-4 B A 2, 0.0 , 0.0 , 0.4703831750854424e-3 B A 3, 0.0 , 0.0 , 0.4678202801282136e-3 B A 4, 0.2290024646530589e-1, 0.0 , 0.1437832228979900e-3 B A 4, 0.5779086652271284e-1, 0.0 , 0.2303572493577644e-3 B A 4, 0.9863103576375984e-1, 0.0 , 0.2933110752447454e-3 B A 4, 0.1428155792982185e+0, 0.0 , 0.3402905998359838e-3 B A 4, 0.1888978116601463e+0, 0.0 , 0.3759138466870372e-3 B A 4, 0.2359091682970210e+0, 0.0 , 0.4030638447899798e-3 B A 4, 0.2831228833706171e+0, 0.0 , 0.4236591432242211e-3 B A 4, 0.3299495857966693e+0, 0.0 , 0.4390522656946746e-3 B A 4, 0.3758840802660796e+0, 0.0 , 0.4502523466626247e-3 B A 4, 0.4204751831009480e+0, 0.0 , 0.4580577727783541e-3 B A 4, 0.4633068518751051e+0, 0.0 , 0.4631391616615899e-3 B A 4, 0.5039849474507313e+0, 0.0 , 0.4660928953698676e-3 B A 4, 0.5421265793440747e+0, 0.0 , 0.4674751807936953e-3 B A 4, 0.6092660230557310e+0, 0.0 , 0.4676414903932920e-3 B A 4, 0.6374654204984869e+0, 0.0 , 0.4674086492347870e-3 B A 4, 0.6615136472609892e+0, 0.0 , 0.4674928539483207e-3 B A 4, 0.6809487285958127e+0, 0.0 , 0.4680748979686447e-3 B A 4, 0.6952980021665196e+0, 0.0 , 0.4690449806389040e-3 B A 4, 0.7041245497695400e+0, 0.0 , 0.4699877075860818e-3 B A 5, 0.6744033088306065e-1, 0.0 , 0.2099942281069176e-3 B A 5, 0.1678684485334166e+0, 0.0 , 0.3172269150712804e-3 B A 5, 0.2793559049539613e+0, 0.0 , 0.3832051358546523e-3 B A 5, 0.3935264218057639e+0, 0.0 , 0.4252193818146985e-3 B A 5, 0.5052629268232558e+0, 0.0 , 0.4513807963755000e-3 B A 5, 0.6107905315437531e+0, 0.0 , 0.4657797469114178e-3 B A 6, 0.1135081039843524e+0, 0.3331954884662588e-1, 0.2733362800522836e-3 B A 6, 0.1612866626099378e+0, 0.7247167465436538e-1, 0.3235485368463559e-3 B A 6, 0.2100786550168205e+0, 0.1151539110849745e+0, 0.3624908726013453e-3 B A 6, 0.2592282009459942e+0, 0.1599491097143677e+0, 0.3925540070712828e-3 B A 6, 0.3081740561320203e+0, 0.2058699956028027e+0, 0.4156129781116235e-3 B A 6, 0.3564289781578164e+0, 0.2521624953502911e+0, 0.4330644984623263e-3 B A 6, 0.4035587288240703e+0, 0.2982090785797674e+0, 0.4459677725921312e-3 B A 6, 0.4491671196373903e+0, 0.3434762087235733e+0, 0.4551593004456795e-3 B A 6, 0.4928854782917489e+0, 0.3874831357203437e+0, 0.4613341462749918e-3 B A 6, 0.5343646791958988e+0, 0.4297814821746926e+0, 0.4651019618269806e-3 B A 6, 0.5732683216530990e+0, 0.4699402260943537e+0, 0.4670249536100625e-3 B A 6, 0.2214131583218986e+0, 0.3873602040643895e-1, 0.3549555576441708e-3 B A 6, 0.2741796504750071e+0, 0.8089496256902013e-1, 0.3856108245249010e-3 B A 6, 0.3259797439149485e+0, 0.1251732177620872e+0, 0.4098622845756882e-3 B A 6, 0.3765441148826891e+0, 0.1706260286403185e+0, 0.4286328604268950e-3 B A 6, 0.4255773574530558e+0, 0.2165115147300408e+0, 0.4427802198993945e-3 B A 6, 0.4727795117058430e+0, 0.2622089812225259e+0, 0.4530473511488561e-3 B A 6, 0.5178546895819012e+0, 0.3071721431296201e+0, 0.4600805475703138e-3 B A 6, 0.5605141192097460e+0, 0.3508998998801138e+0, 0.4644599059958017e-3 B A 6, 0.6004763319352512e+0, 0.3929160876166931e+0, 0.4667274455712508e-3 B A 6, 0.3352842634946949e+0, 0.4202563457288019e-1, 0.4069360518020356e-3 B A 6, 0.3891971629814670e+0, 0.8614309758870850e-1, 0.4260442819919195e-3 B A 6, 0.4409875565542281e+0, 0.1314500879380001e+0, 0.4408678508029063e-3 B A 6, 0.4904893058592484e+0, 0.1772189657383859e+0, 0.4518748115548597e-3 B A 6, 0.5375056138769549e+0, 0.2228277110050294e+0, 0.4595564875375116e-3 B A 6, 0.5818255708669969e+0, 0.2677179935014386e+0, 0.4643988774315846e-3 B A 6, 0.6232334858144959e+0, 0.3113675035544165e+0, 0.4668827491646946e-3 B A 6, 0.4489485354492058e+0, 0.4409162378368174e-1, 0.4400541823741973e-3 B A 6, 0.5015136875933150e+0, 0.8939009917748489e-1, 0.4514512890193797e-3 B A 6, 0.5511300550512623e+0, 0.1351806029383365e+0, 0.4596198627347549e-3 B A 6, 0.5976720409858000e+0, 0.1808370355053196e+0, 0.4648659016801781e-3 B A 6, 0.6409956378989354e+0, 0.2257852192301602e+0, 0.4675502017157673e-3 B A 6, 0.5581222330827514e+0, 0.4532173421637160e-1, 0.4598494476455523e-3 B A 6, 0.6074705984161695e+0, 0.9117488031840314e-1, 0.4654916955152048e-3 B A 6, 0.6532272537379033e+0, 0.1369294213140155e+0, 0.4684709779505137e-3 B A 6, 0.6594761494500487e+0, 0.4589901487275583e-1, 0.4691445539106986e-3 B break; case 2702: A 1, 0.0 , 0.0 , 0.2998675149888161e-4 B A 3, 0.0 , 0.0 , 0.4077860529495355e-3 B A 4, 0.2065562538818703e-1, 0.0 , 0.1185349192520667e-3 B A 4, 0.5250918173022379e-1, 0.0 , 0.1913408643425751e-3 B A 4, 0.8993480082038376e-1, 0.0 , 0.2452886577209897e-3 B A 4, 0.1306023924436019e+0, 0.0 , 0.2862408183288702e-3 B A 4, 0.1732060388531418e+0, 0.0 , 0.3178032258257357e-3 B A 4, 0.2168727084820249e+0, 0.0 , 0.3422945667633690e-3 B A 4, 0.2609528309173586e+0, 0.0 , 0.3612790520235922e-3 B A 4, 0.3049252927938952e+0, 0.0 , 0.3758638229818521e-3 B A 4, 0.3483484138084404e+0, 0.0 , 0.3868711798859953e-3 B A 4, 0.3908321549106406e+0, 0.0 , 0.3949429933189938e-3 B A 4, 0.4320210071894814e+0, 0.0 , 0.4006068107541156e-3 B A 4, 0.4715824795890053e+0, 0.0 , 0.4043192149672723e-3 B A 4, 0.5091984794078453e+0, 0.0 , 0.4064947495808078e-3 B A 4, 0.5445580145650803e+0, 0.0 , 0.4075245619813152e-3 B A 4, 0.6072575796841768e+0, 0.0 , 0.4076423540893566e-3 B A 4, 0.6339484505755803e+0, 0.0 , 0.4074280862251555e-3 B A 4, 0.6570718257486958e+0, 0.0 , 0.4074163756012244e-3 B A 4, 0.6762557330090709e+0, 0.0 , 0.4077647795071246e-3 B A 4, 0.6911161696923790e+0, 0.0 , 0.4084517552782530e-3 B A 4, 0.7012841911659961e+0, 0.0 , 0.4092468459224052e-3 B A 4, 0.7064559272410020e+0, 0.0 , 0.4097872687240906e-3 B A 5, 0.6123554989894765e-1, 0.0 , 0.1738986811745028e-3 B A 5, 0.1533070348312393e+0, 0.0 , 0.2659616045280191e-3 B A 5, 0.2563902605244206e+0, 0.0 , 0.3240596008171533e-3 B A 5, 0.3629346991663361e+0, 0.0 , 0.3621195964432943e-3 B A 5, 0.4683949968987538e+0, 0.0 , 0.3868838330760539e-3 B A 5, 0.5694479240657952e+0, 0.0 , 0.4018911532693111e-3 B A 5, 0.6634465430993955e+0, 0.0 , 0.4089929432983252e-3 B A 6, 0.1033958573552305e+0, 0.3034544009063584e-1, 0.2279907527706409e-3 B A 6, 0.1473521412414395e+0, 0.6618803044247135e-1, 0.2715205490578897e-3 B A 6, 0.1924552158705967e+0, 0.1054431128987715e+0, 0.3057917896703976e-3 B A 6, 0.2381094362890328e+0, 0.1468263551238858e+0, 0.3326913052452555e-3 B A 6, 0.2838121707936760e+0, 0.1894486108187886e+0, 0.3537334711890037e-3 B A 6, 0.3291323133373415e+0, 0.2326374238761579e+0, 0.3700567500783129e-3 B A 6, 0.3736896978741460e+0, 0.2758485808485768e+0, 0.3825245372589122e-3 B A 6, 0.4171406040760013e+0, 0.3186179331996921e+0, 0.3918125171518296e-3 B A 6, 0.4591677985256915e+0, 0.3605329796303794e+0, 0.3984720419937579e-3 B A 6, 0.4994733831718418e+0, 0.4012147253586509e+0, 0.4029746003338211e-3 B A 6, 0.5377731830445096e+0, 0.4403050025570692e+0, 0.4057428632156627e-3 B A 6, 0.5737917830001331e+0, 0.4774565904277483e+0, 0.4071719274114857e-3 B A 6, 0.2027323586271389e+0, 0.3544122504976147e-1, 0.2990236950664119e-3 B A 6, 0.2516942375187273e+0, 0.7418304388646328e-1, 0.3262951734212878e-3 B A 6, 0.3000227995257181e+0, 0.1150502745727186e+0, 0.3482634608242413e-3 B A 6, 0.3474806691046342e+0, 0.1571963371209364e+0, 0.3656596681700892e-3 B A 6, 0.3938103180359209e+0, 0.1999631877247100e+0, 0.3791740467794218e-3 B A 6, 0.4387519590455703e+0, 0.2428073457846535e+0, 0.3894034450156905e-3 B A 6, 0.4820503960077787e+0, 0.2852575132906155e+0, 0.3968600245508371e-3 B A 6, 0.5234573778475101e+0, 0.3268884208674639e+0, 0.4019931351420050e-3 B A 6, 0.5627318647235282e+0, 0.3673033321675939e+0, 0.4052108801278599e-3 B A 6, 0.5996390607156954e+0, 0.4061211551830290e+0, 0.4068978613940934e-3 B A 6, 0.3084780753791947e+0, 0.3860125523100059e-1, 0.3454275351319704e-3 B A 6, 0.3589988275920223e+0, 0.7928938987104867e-1, 0.3629963537007920e-3 B A 6, 0.4078628415881973e+0, 0.1212614643030087e+0, 0.3770187233889873e-3 B A 6, 0.4549287258889735e+0, 0.1638770827382693e+0, 0.3878608613694378e-3 B A 6, 0.5000278512957279e+0, 0.2065965798260176e+0, 0.3959065270221274e-3 B A 6, 0.5429785044928199e+0, 0.2489436378852235e+0, 0.4015286975463570e-3 B A 6, 0.5835939850491711e+0, 0.2904811368946891e+0, 0.4050866785614717e-3 B A 6, 0.6216870353444856e+0, 0.3307941957666609e+0, 0.4069320185051913e-3 B A 6, 0.4151104662709091e+0, 0.4064829146052554e-1, 0.3760120964062763e-3 B A 6, 0.4649804275009218e+0, 0.8258424547294755e-1, 0.3870969564418064e-3 B A 6, 0.5124695757009662e+0, 0.1251841962027289e+0, 0.3955287790534055e-3 B A 6, 0.5574711100606224e+0, 0.1679107505976331e+0, 0.4015361911302668e-3 B A 6, 0.5998597333287227e+0, 0.2102805057358715e+0, 0.4053836986719548e-3 B A 6, 0.6395007148516600e+0, 0.2518418087774107e+0, 0.4073578673299117e-3 B A 6, 0.5188456224746252e+0, 0.4194321676077518e-1, 0.3954628379231406e-3 B A 6, 0.5664190707942778e+0, 0.8457661551921499e-1, 0.4017645508847530e-3 B A 6, 0.6110464353283153e+0, 0.1273652932519396e+0, 0.4059030348651293e-3 B A 6, 0.6526430302051563e+0, 0.1698173239076354e+0, 0.4080565809484880e-3 B A 6, 0.6167551880377548e+0, 0.4266398851548864e-1, 0.4063018753664651e-3 B A 6, 0.6607195418355383e+0, 0.8551925814238349e-1, 0.4087191292799671e-3 B break; case 3074: A 1, 0.0 , 0.0 , 0.2599095953754734e-4 B A 2, 0.0 , 0.0 , 0.3603134089687541e-3 B A 3, 0.0 , 0.0 , 0.3586067974412447e-3 B A 4, 0.1886108518723392e-1, 0.0 , 0.9831528474385880e-4 B A 4, 0.4800217244625303e-1, 0.0 , 0.1605023107954450e-3 B A 4, 0.8244922058397242e-1, 0.0 , 0.2072200131464099e-3 B A 4, 0.1200408362484023e+0, 0.0 , 0.2431297618814187e-3 B A 4, 0.1595773530809965e+0, 0.0 , 0.2711819064496707e-3 B A 4, 0.2002635973434064e+0, 0.0 , 0.2932762038321116e-3 B A 4, 0.2415127590139982e+0, 0.0 , 0.3107032514197368e-3 B A 4, 0.2828584158458477e+0, 0.0 , 0.3243808058921213e-3 B A 4, 0.3239091015338138e+0, 0.0 , 0.3349899091374030e-3 B A 4, 0.3643225097962194e+0, 0.0 , 0.3430580688505218e-3 B A 4, 0.4037897083691802e+0, 0.0 , 0.3490124109290343e-3 B A 4, 0.4420247515194127e+0, 0.0 , 0.3532148948561955e-3 B A 4, 0.4787572538464938e+0, 0.0 , 0.3559862669062833e-3 B A 4, 0.5137265251275234e+0, 0.0 , 0.3576224317551411e-3 B A 4, 0.5466764056654611e+0, 0.0 , 0.3584050533086076e-3 B A 4, 0.6054859420813535e+0, 0.0 , 0.3584903581373224e-3 B A 4, 0.6308106701764562e+0, 0.0 , 0.3582991879040586e-3 B A 4, 0.6530369230179584e+0, 0.0 , 0.3582371187963125e-3 B A 4, 0.6718609524611158e+0, 0.0 , 0.3584353631122350e-3 B A 4, 0.6869676499894013e+0, 0.0 , 0.3589120166517785e-3 B A 4, 0.6980467077240748e+0, 0.0 , 0.3595445704531601e-3 B A 4, 0.7048241721250522e+0, 0.0 , 0.3600943557111074e-3 B A 5, 0.5591105222058232e-1, 0.0 , 0.1456447096742039e-3 B A 5, 0.1407384078513916e+0, 0.0 , 0.2252370188283782e-3 B A 5, 0.2364035438976309e+0, 0.0 , 0.2766135443474897e-3 B A 5, 0.3360602737818170e+0, 0.0 , 0.3110729491500851e-3 B A 5, 0.4356292630054665e+0, 0.0 , 0.3342506712303391e-3 B A 5, 0.5321569415256174e+0, 0.0 , 0.3491981834026860e-3 B A 5, 0.6232956305040554e+0, 0.0 , 0.3576003604348932e-3 B A 6, 0.9469870086838469e-1, 0.2778748387309470e-1, 0.1921921305788564e-3 B A 6, 0.1353170300568141e+0, 0.6076569878628364e-1, 0.2301458216495632e-3 B A 6, 0.1771679481726077e+0, 0.9703072762711040e-1, 0.2604248549522893e-3 B A 6, 0.2197066664231751e+0, 0.1354112458524762e+0, 0.2845275425870697e-3 B A 6, 0.2624783557374927e+0, 0.1750996479744100e+0, 0.3036870897974840e-3 B A 6, 0.3050969521214442e+0, 0.2154896907449802e+0, 0.3188414832298066e-3 B A 6, 0.3472252637196021e+0, 0.2560954625740152e+0, 0.3307046414722089e-3 B A 6, 0.3885610219026360e+0, 0.2965070050624096e+0, 0.3398330969031360e-3 B A 6, 0.4288273776062765e+0, 0.3363641488734497e+0, 0.3466757899705373e-3 B A 6, 0.4677662471302948e+0, 0.3753400029836788e+0, 0.3516095923230054e-3 B A 6, 0.5051333589553359e+0, 0.4131297522144286e+0, 0.3549645184048486e-3 B A 6, 0.5406942145810492e+0, 0.4494423776081795e+0, 0.3570415969441392e-3 B A 6, 0.5742204122576457e+0, 0.4839938958841502e+0, 0.3581251798496118e-3 B A 6, 0.1865407027225188e+0, 0.3259144851070796e-1, 0.2543491329913348e-3 B A 6, 0.2321186453689432e+0, 0.6835679505297343e-1, 0.2786711051330776e-3 B A 6, 0.2773159142523882e+0, 0.1062284864451989e+0, 0.2985552361083679e-3 B A 6, 0.3219200192237254e+0, 0.1454404409323047e+0, 0.3145867929154039e-3 B A 6, 0.3657032593944029e+0, 0.1854018282582510e+0, 0.3273290662067609e-3 B A 6, 0.4084376778363622e+0, 0.2256297412014750e+0, 0.3372705511943501e-3 B A 6, 0.4499004945751427e+0, 0.2657104425000896e+0, 0.3448274437851510e-3 B A 6, 0.4898758141326335e+0, 0.3052755487631557e+0, 0.3503592783048583e-3 B A 6, 0.5281547442266309e+0, 0.3439863920645423e+0, 0.3541854792663162e-3 B A 6, 0.5645346989813992e+0, 0.3815229456121914e+0, 0.3565995517909428e-3 B A 6, 0.5988181252159848e+0, 0.4175752420966734e+0, 0.3578802078302898e-3 B A 6, 0.2850425424471603e+0, 0.3562149509862536e-1, 0.2958644592860982e-3 B A 6, 0.3324619433027876e+0, 0.7330318886871096e-1, 0.3119548129116835e-3 B A 6, 0.3785848333076282e+0, 0.1123226296008472e+0, 0.3250745225005984e-3 B A 6, 0.4232891028562115e+0, 0.1521084193337708e+0, 0.3355153415935208e-3 B A 6, 0.4664287050829722e+0, 0.1921844459223610e+0, 0.3435847568549328e-3 B A 6, 0.5078458493735726e+0, 0.2321360989678303e+0, 0.3495786831622488e-3 B A 6, 0.5473779816204180e+0, 0.2715886486360520e+0, 0.3537767805534621e-3 B A 6, 0.5848617133811376e+0, 0.3101924707571355e+0, 0.3564459815421428e-3 B A 6, 0.6201348281584888e+0, 0.3476121052890973e+0, 0.3578464061225468e-3 B A 6, 0.3852191185387871e+0, 0.3763224880035108e-1, 0.3239748762836212e-3 B A 6, 0.4325025061073423e+0, 0.7659581935637135e-1, 0.3345491784174287e-3 B A 6, 0.4778486229734490e+0, 0.1163381306083900e+0, 0.3429126177301782e-3 B A 6, 0.5211663693009000e+0, 0.1563890598752899e+0, 0.3492420343097421e-3 B A 6, 0.5623469504853703e+0, 0.1963320810149200e+0, 0.3537399050235257e-3 B A 6, 0.6012718188659246e+0, 0.2357847407258738e+0, 0.3566209152659172e-3 B A 6, 0.6378179206390117e+0, 0.2743846121244060e+0, 0.3581084321919782e-3 B A 6, 0.4836936460214534e+0, 0.3895902610739024e-1, 0.3426522117591512e-3 B A 6, 0.5293792562683797e+0, 0.7871246819312640e-1, 0.3491848770121379e-3 B A 6, 0.5726281253100033e+0, 0.1187963808202981e+0, 0.3539318235231476e-3 B A 6, 0.6133658776169068e+0, 0.1587914708061787e+0, 0.3570231438458694e-3 B A 6, 0.6515085491865307e+0, 0.1983058575227646e+0, 0.3586207335051714e-3 B A 6, 0.5778692716064976e+0, 0.3977209689791542e-1, 0.3541196205164025e-3 B A 6, 0.6207904288086192e+0, 0.7990157592981152e-1, 0.3574296911573953e-3 B A 6, 0.6608688171046802e+0, 0.1199671308754309e+0, 0.3591993279818963e-3 B A 6, 0.6656263089489130e+0, 0.4015955957805969e-1, 0.3595855034661997e-3 B break; case 3470: A 1, 0.0 , 0.0 , 0.2040382730826330e-4 B A 3, 0.0 , 0.0 , 0.3178149703889544e-3 B A 4, 0.1721420832906233e-1, 0.0 , 0.8288115128076110e-4 B A 4, 0.4408875374981770e-1, 0.0 , 0.1360883192522954e-3 B A 4, 0.7594680813878681e-1, 0.0 , 0.1766854454542662e-3 B A 4, 0.1108335359204799e+0, 0.0 , 0.2083153161230153e-3 B A 4, 0.1476517054388567e+0, 0.0 , 0.2333279544657158e-3 B A 4, 0.1856731870860615e+0, 0.0 , 0.2532809539930247e-3 B A 4, 0.2243634099428821e+0, 0.0 , 0.2692472184211158e-3 B A 4, 0.2633006881662727e+0, 0.0 , 0.2819949946811885e-3 B A 4, 0.3021340904916283e+0, 0.0 , 0.2920953593973030e-3 B A 4, 0.3405594048030089e+0, 0.0 , 0.2999889782948352e-3 B A 4, 0.3783044434007372e+0, 0.0 , 0.3060292120496902e-3 B A 4, 0.4151194767407910e+0, 0.0 , 0.3105109167522192e-3 B A 4, 0.4507705766443257e+0, 0.0 , 0.3136902387550312e-3 B A 4, 0.4850346056573187e+0, 0.0 , 0.3157984652454632e-3 B A 4, 0.5176950817792470e+0, 0.0 , 0.3170516518425422e-3 B A 4, 0.5485384240820989e+0, 0.0 , 0.3176568425633755e-3 B A 4, 0.6039117238943308e+0, 0.0 , 0.3177198411207062e-3 B A 4, 0.6279956655573113e+0, 0.0 , 0.3175519492394733e-3 B A 4, 0.6493636169568952e+0, 0.0 , 0.3174654952634756e-3 B A 4, 0.6677644117704504e+0, 0.0 , 0.3175676415467654e-3 B A 4, 0.6829368572115624e+0, 0.0 , 0.3178923417835410e-3 B A 4, 0.6946195818184121e+0, 0.0 , 0.3183788287531909e-3 B A 4, 0.7025711542057026e+0, 0.0 , 0.3188755151918807e-3 B A 4, 0.7066004767140119e+0, 0.0 , 0.3191916889313849e-3 B A 5, 0.5132537689946062e-1, 0.0 , 0.1231779611744508e-3 B A 5, 0.1297994661331225e+0, 0.0 , 0.1924661373839880e-3 B A 5, 0.2188852049401307e+0, 0.0 , 0.2380881867403424e-3 B A 5, 0.3123174824903457e+0, 0.0 , 0.2693100663037885e-3 B A 5, 0.4064037620738195e+0, 0.0 , 0.2908673382834366e-3 B A 5, 0.4984958396944782e+0, 0.0 , 0.3053914619381535e-3 B A 5, 0.5864975046021365e+0, 0.0 , 0.3143916684147777e-3 B A 5, 0.6686711634580175e+0, 0.0 , 0.3187042244055363e-3 B A 6, 0.8715738780835950e-1, 0.2557175233367578e-1, 0.1635219535869790e-3 B A 6, 0.1248383123134007e+0, 0.5604823383376681e-1, 0.1968109917696070e-3 B A 6, 0.1638062693383378e+0, 0.8968568601900765e-1, 0.2236754342249974e-3 B A 6, 0.2035586203373176e+0, 0.1254086651976279e+0, 0.2453186687017181e-3 B A 6, 0.2436798975293774e+0, 0.1624780150162012e+0, 0.2627551791580541e-3 B A 6, 0.2838207507773806e+0, 0.2003422342683208e+0, 0.2767654860152220e-3 B A 6, 0.3236787502217692e+0, 0.2385628026255263e+0, 0.2879467027765895e-3 B A 6, 0.3629849554840691e+0, 0.2767731148783578e+0, 0.2967639918918702e-3 B A 6, 0.4014948081992087e+0, 0.3146542308245309e+0, 0.3035900684660351e-3 B A 6, 0.4389818379260225e+0, 0.3519196415895088e+0, 0.3087338237298308e-3 B A 6, 0.4752331143674377e+0, 0.3883050984023654e+0, 0.3124608838860167e-3 B A 6, 0.5100457318374018e+0, 0.4235613423908649e+0, 0.3150084294226743e-3 B A 6, 0.5432238388954868e+0, 0.4574484717196220e+0, 0.3165958398598402e-3 B A 6, 0.5745758685072442e+0, 0.4897311639255524e+0, 0.3174320440957372e-3 B A 6, 0.1723981437592809e+0, 0.3010630597881105e-1, 0.2182188909812599e-3 B A 6, 0.2149553257844597e+0, 0.6326031554204694e-1, 0.2399727933921445e-3 B A 6, 0.2573256081247422e+0, 0.9848566980258631e-1, 0.2579796133514652e-3 B A 6, 0.2993163751238106e+0, 0.1350835952384266e+0, 0.2727114052623535e-3 B A 6, 0.3407238005148000e+0, 0.1725184055442181e+0, 0.2846327656281355e-3 B A 6, 0.3813454978483264e+0, 0.2103559279730725e+0, 0.2941491102051334e-3 B A 6, 0.4209848104423343e+0, 0.2482278774554860e+0, 0.3016049492136107e-3 B A 6, 0.4594519699996300e+0, 0.2858099509982883e+0, 0.3072949726175648e-3 B A 6, 0.4965640166185930e+0, 0.3228075659915428e+0, 0.3114768142886460e-3 B A 6, 0.5321441655571562e+0, 0.3589459907204151e+0, 0.3143823673666223e-3 B A 6, 0.5660208438582166e+0, 0.3939630088864310e+0, 0.3162269764661535e-3 B A 6, 0.5980264315964364e+0, 0.4276029922949089e+0, 0.3172164663759821e-3 B A 6, 0.2644215852350733e+0, 0.3300939429072552e-1, 0.2554575398967435e-3 B A 6, 0.3090113743443063e+0, 0.6803887650078501e-1, 0.2701704069135677e-3 B A 6, 0.3525871079197808e+0, 0.1044326136206709e+0, 0.2823693413468940e-3 B A 6, 0.3950418005354029e+0, 0.1416751597517679e+0, 0.2922898463214289e-3 B A 6, 0.4362475663430163e+0, 0.1793408610504821e+0, 0.3001829062162428e-3 B A 6, 0.4760661812145854e+0, 0.2170630750175722e+0, 0.3062890864542953e-3 B A 6, 0.5143551042512103e+0, 0.2545145157815807e+0, 0.3108328279264746e-3 B A 6, 0.5509709026935597e+0, 0.2913940101706601e+0, 0.3140243146201245e-3 B A 6, 0.5857711030329428e+0, 0.3274169910910705e+0, 0.3160638030977130e-3 B A 6, 0.6186149917404392e+0, 0.3623081329317265e+0, 0.3171462882206275e-3 B A 6, 0.3586894569557064e+0, 0.3497354386450040e-1, 0.2812388416031796e-3 B A 6, 0.4035266610019441e+0, 0.7129736739757095e-1, 0.2912137500288045e-3 B A 6, 0.4467775312332510e+0, 0.1084758620193165e+0, 0.2993241256502206e-3 B A 6, 0.4883638346608543e+0, 0.1460915689241772e+0, 0.3057101738983822e-3 B A 6, 0.5281908348434601e+0, 0.1837790832369980e+0, 0.3105319326251432e-3 B A 6, 0.5661542687149311e+0, 0.2212075390874021e+0, 0.3139565514428167e-3 B A 6, 0.6021450102031452e+0, 0.2580682841160985e+0, 0.3161543006806366e-3 B A 6, 0.6360520783610050e+0, 0.2940656362094121e+0, 0.3172985960613294e-3 B A 6, 0.4521611065087196e+0, 0.3631055365867002e-1, 0.2989400336901431e-3 B A 6, 0.4959365651560963e+0, 0.7348318468484350e-1, 0.3054555883947677e-3 B A 6, 0.5376815804038283e+0, 0.1111087643812648e+0, 0.3104764960807702e-3 B A 6, 0.5773314480243768e+0, 0.1488226085145408e+0, 0.3141015825977616e-3 B A 6, 0.6148113245575056e+0, 0.1862892274135151e+0, 0.3164520621159896e-3 B A 6, 0.6500407462842380e+0, 0.2231909701714456e+0, 0.3176652305912204e-3 B A 6, 0.5425151448707213e+0, 0.3718201306118944e-1, 0.3105097161023939e-3 B A 6, 0.5841860556907931e+0, 0.7483616335067346e-1, 0.3143014117890550e-3 B A 6, 0.6234632186851500e+0, 0.1125990834266120e+0, 0.3168172866287200e-3 B A 6, 0.6602934551848843e+0, 0.1501303813157619e+0, 0.3181401865570968e-3 B A 6, 0.6278573968375105e+0, 0.3767559930245720e-1, 0.3170663659156037e-3 B A 6, 0.6665611711264577e+0, 0.7548443301360158e-1, 0.3185447944625510e-3 B break; case 3890: A 1, 0.0 , 0.0 , 0.1807395252196920e-4 B A 2, 0.0 , 0.0 , 0.2848008782238827e-3 B A 3, 0.0 , 0.0 , 0.2836065837530581e-3 B A 4, 0.1587876419858352e-1, 0.0 , 0.7013149266673816e-4 B A 4, 0.4069193593751206e-1, 0.0 , 0.1162798021956766e-3 B A 4, 0.7025888115257997e-1, 0.0 , 0.1518728583972105e-3 B A 4, 0.1027495450028704e+0, 0.0 , 0.1798796108216934e-3 B A 4, 0.1371457730893426e+0, 0.0 , 0.2022593385972785e-3 B A 4, 0.1727758532671953e+0, 0.0 , 0.2203093105575464e-3 B A 4, 0.2091492038929037e+0, 0.0 , 0.2349294234299855e-3 B A 4, 0.2458813281751915e+0, 0.0 , 0.2467682058747003e-3 B A 4, 0.2826545859450066e+0, 0.0 , 0.2563092683572224e-3 B A 4, 0.3191957291799622e+0, 0.0 , 0.2639253896763318e-3 B A 4, 0.3552621469299578e+0, 0.0 , 0.2699137479265108e-3 B A 4, 0.3906329503406230e+0, 0.0 , 0.2745196420166739e-3 B A 4, 0.4251028614093031e+0, 0.0 , 0.2779529197397593e-3 B A 4, 0.4584777520111870e+0, 0.0 , 0.2803996086684265e-3 B A 4, 0.4905711358710193e+0, 0.0 , 0.2820302356715842e-3 B A 4, 0.5212011669847385e+0, 0.0 , 0.2830056747491068e-3 B A 4, 0.5501878488737995e+0, 0.0 , 0.2834808950776839e-3 B A 4, 0.6025037877479342e+0, 0.0 , 0.2835282339078929e-3 B A 4, 0.6254572689549016e+0, 0.0 , 0.2833819267065800e-3 B A 4, 0.6460107179528248e+0, 0.0 , 0.2832858336906784e-3 B A 4, 0.6639541138154251e+0, 0.0 , 0.2833268235451244e-3 B A 4, 0.6790688515667495e+0, 0.0 , 0.2835432677029253e-3 B A 4, 0.6911338580371512e+0, 0.0 , 0.2839091722743049e-3 B A 4, 0.6999385956126490e+0, 0.0 , 0.2843308178875841e-3 B A 4, 0.7053037748656896e+0, 0.0 , 0.2846703550533846e-3 B A 5, 0.4732224387180115e-1, 0.0 , 0.1051193406971900e-3 B A 5, 0.1202100529326803e+0, 0.0 , 0.1657871838796974e-3 B A 5, 0.2034304820664855e+0, 0.0 , 0.2064648113714232e-3 B A 5, 0.2912285643573002e+0, 0.0 , 0.2347942745819741e-3 B A 5, 0.3802361792726768e+0, 0.0 , 0.2547775326597726e-3 B A 5, 0.4680598511056146e+0, 0.0 , 0.2686876684847025e-3 B A 5, 0.5528151052155599e+0, 0.0 , 0.2778665755515867e-3 B A 5, 0.6329386307803041e+0, 0.0 , 0.2830996616782929e-3 B A 6, 0.8056516651369069e-1, 0.2363454684003124e-1, 0.1403063340168372e-3 B A 6, 0.1156476077139389e+0, 0.5191291632545936e-1, 0.1696504125939477e-3 B A 6, 0.1520473382760421e+0, 0.8322715736994519e-1, 0.1935787242745390e-3 B A 6, 0.1892986699745931e+0, 0.1165855667993712e+0, 0.2130614510521968e-3 B A 6, 0.2270194446777792e+0, 0.1513077167409504e+0, 0.2289381265931048e-3 B A 6, 0.2648908185093273e+0, 0.1868882025807859e+0, 0.2418630292816186e-3 B A 6, 0.3026389259574136e+0, 0.2229277629776224e+0, 0.2523400495631193e-3 B A 6, 0.3400220296151384e+0, 0.2590951840746235e+0, 0.2607623973449605e-3 B A 6, 0.3768217953335510e+0, 0.2951047291750847e+0, 0.2674441032689209e-3 B A 6, 0.4128372900921884e+0, 0.3307019714169930e+0, 0.2726432360343356e-3 B A 6, 0.4478807131815630e+0, 0.3656544101087634e+0, 0.2765787685924545e-3 B A 6, 0.4817742034089257e+0, 0.3997448951939695e+0, 0.2794428690642224e-3 B A 6, 0.5143472814653344e+0, 0.4327667110812024e+0, 0.2814099002062895e-3 B A 6, 0.5454346213905650e+0, 0.4645196123532293e+0, 0.2826429531578994e-3 B A 6, 0.5748739313170252e+0, 0.4948063555703345e+0, 0.2832983542550884e-3 B A 6, 0.1599598738286342e+0, 0.2792357590048985e-1, 0.1886695565284976e-3 B A 6, 0.1998097412500951e+0, 0.5877141038139065e-1, 0.2081867882748234e-3 B A 6, 0.2396228952566202e+0, 0.9164573914691377e-1, 0.2245148680600796e-3 B A 6, 0.2792228341097746e+0, 0.1259049641962687e+0, 0.2380370491511872e-3 B A 6, 0.3184251107546741e+0, 0.1610594823400863e+0, 0.2491398041852455e-3 B A 6, 0.3570481164426244e+0, 0.1967151653460898e+0, 0.2581632405881230e-3 B A 6, 0.3949164710492144e+0, 0.2325404606175168e+0, 0.2653965506227417e-3 B A 6, 0.4318617293970503e+0, 0.2682461141151439e+0, 0.2710857216747087e-3 B A 6, 0.4677221009931678e+0, 0.3035720116011973e+0, 0.2754434093903659e-3 B A 6, 0.5023417939270955e+0, 0.3382781859197439e+0, 0.2786579932519380e-3 B A 6, 0.5355701836636128e+0, 0.3721383065625942e+0, 0.2809011080679474e-3 B A 6, 0.5672608451328771e+0, 0.4049346360466055e+0, 0.2823336184560987e-3 B A 6, 0.5972704202540162e+0, 0.4364538098633802e+0, 0.2831101175806309e-3 B A 6, 0.2461687022333596e+0, 0.3070423166833368e-1, 0.2221679970354546e-3 B A 6, 0.2881774566286831e+0, 0.6338034669281885e-1, 0.2356185734270703e-3 B A 6, 0.3293963604116978e+0, 0.9742862487067941e-1, 0.2469228344805590e-3 B A 6, 0.3697303822241377e+0, 0.1323799532282290e+0, 0.2562726348642046e-3 B A 6, 0.4090663023135127e+0, 0.1678497018129336e+0, 0.2638756726753028e-3 B A 6, 0.4472819355411712e+0, 0.2035095105326114e+0, 0.2699311157390862e-3 B A 6, 0.4842513377231437e+0, 0.2390692566672091e+0, 0.2746233268403837e-3 B A 6, 0.5198477629962928e+0, 0.2742649818076149e+0, 0.2781225674454771e-3 B A 6, 0.5539453011883145e+0, 0.3088503806580094e+0, 0.2805881254045684e-3 B A 6, 0.5864196762401251e+0, 0.3425904245906614e+0, 0.2821719877004913e-3 B A 6, 0.6171484466668390e+0, 0.3752562294789468e+0, 0.2830222502333124e-3 B A 6, 0.3350337830565727e+0, 0.3261589934634747e-1, 0.2457995956744870e-3 B A 6, 0.3775773224758284e+0, 0.6658438928081572e-1, 0.2551474407503706e-3 B A 6, 0.4188155229848973e+0, 0.1014565797157954e+0, 0.2629065335195311e-3 B A 6, 0.4586805892009344e+0, 0.1368573320843822e+0, 0.2691900449925075e-3 B A 6, 0.4970895714224235e+0, 0.1724614851951608e+0, 0.2741275485754276e-3 B A 6, 0.5339505133960747e+0, 0.2079779381416412e+0, 0.2778530970122595e-3 B A 6, 0.5691665792531440e+0, 0.2431385788322288e+0, 0.2805010567646741e-3 B A 6, 0.6026387682680377e+0, 0.2776901883049853e+0, 0.2822055834031040e-3 B A 6, 0.6342676150163307e+0, 0.3113881356386632e+0, 0.2831016901243473e-3 B A 6, 0.4237951119537067e+0, 0.3394877848664351e-1, 0.2624474901131803e-3 B A 6, 0.4656918683234929e+0, 0.6880219556291447e-1, 0.2688034163039377e-3 B A 6, 0.5058857069185980e+0, 0.1041946859721635e+0, 0.2738932751287636e-3 B A 6, 0.5443204666713996e+0, 0.1398039738736393e+0, 0.2777944791242523e-3 B A 6, 0.5809298813759742e+0, 0.1753373381196155e+0, 0.2806011661660987e-3 B A 6, 0.6156416039447128e+0, 0.2105215793514010e+0, 0.2824181456597460e-3 B A 6, 0.6483801351066604e+0, 0.2450953312157051e+0, 0.2833585216577828e-3 B A 6, 0.5103616577251688e+0, 0.3485560643800719e-1, 0.2738165236962878e-3 B A 6, 0.5506738792580681e+0, 0.7026308631512033e-1, 0.2778365208203180e-3 B A 6, 0.5889573040995292e+0, 0.1059035061296403e+0, 0.2807852940418966e-3 B A 6, 0.6251641589516930e+0, 0.1414823925236026e+0, 0.2827245949674705e-3 B A 6, 0.6592414921570178e+0, 0.1767207908214530e+0, 0.2837342344829828e-3 B A 6, 0.5930314017533384e+0, 0.3542189339561672e-1, 0.2809233907610981e-3 B A 6, 0.6309812253390175e+0, 0.7109574040369549e-1, 0.2829930809742694e-3 B A 6, 0.6666296011353230e+0, 0.1067259792282730e+0, 0.2841097874111479e-3 B A 6, 0.6703715271049922e+0, 0.3569455268820809e-1, 0.2843455206008783e-3 B break; case 4334: A 1, 0.0 , 0.0 , 0.1449063022537883e-4 B A 3, 0.0 , 0.0 , 0.2546377329828424e-3 B A 4, 0.1462896151831013e-1, 0.0 , 0.6018432961087496e-4 B A 4, 0.3769840812493139e-1, 0.0 , 0.1002286583263673e-3 B A 4, 0.6524701904096891e-1, 0.0 , 0.1315222931028093e-3 B A 4, 0.9560543416134648e-1, 0.0 , 0.1564213746876724e-3 B A 4, 0.1278335898929198e+0, 0.0 , 0.1765118841507736e-3 B A 4, 0.1613096104466031e+0, 0.0 , 0.1928737099311080e-3 B A 4, 0.1955806225745371e+0, 0.0 , 0.2062658534263270e-3 B A 4, 0.2302935218498028e+0, 0.0 , 0.2172395445953787e-3 B A 4, 0.2651584344113027e+0, 0.0 , 0.2262076188876047e-3 B A 4, 0.2999276825183209e+0, 0.0 , 0.2334885699462397e-3 B A 4, 0.3343828669718798e+0, 0.0 , 0.2393355273179203e-3 B A 4, 0.3683265013750518e+0, 0.0 , 0.2439559200468863e-3 B A 4, 0.4015763206518108e+0, 0.0 , 0.2475251866060002e-3 B A 4, 0.4339612026399770e+0, 0.0 , 0.2501965558158773e-3 B A 4, 0.4653180651114582e+0, 0.0 , 0.2521081407925925e-3 B A 4, 0.4954893331080803e+0, 0.0 , 0.2533881002388081e-3 B A 4, 0.5243207068924930e+0, 0.0 , 0.2541582900848261e-3 B A 4, 0.5516590479041704e+0, 0.0 , 0.2545365737525860e-3 B A 4, 0.6012371927804176e+0, 0.0 , 0.2545726993066799e-3 B A 4, 0.6231574466449819e+0, 0.0 , 0.2544456197465555e-3 B A 4, 0.6429416514181271e+0, 0.0 , 0.2543481596881064e-3 B A 4, 0.6604124272943595e+0, 0.0 , 0.2543506451429194e-3 B A 4, 0.6753851470408250e+0, 0.0 , 0.2544905675493763e-3 B A 4, 0.6876717970626160e+0, 0.0 , 0.2547611407344429e-3 B A 4, 0.6970895061319234e+0, 0.0 , 0.2551060375448869e-3 B A 4, 0.7034746912553310e+0, 0.0 , 0.2554291933816039e-3 B A 4, 0.7067017217542295e+0, 0.0 , 0.2556255710686343e-3 B A 5, 0.4382223501131123e-1, 0.0 , 0.9041339695118195e-4 B A 5, 0.1117474077400006e+0, 0.0 , 0.1438426330079022e-3 B A 5, 0.1897153252911440e+0, 0.0 , 0.1802523089820518e-3 B A 5, 0.2724023009910331e+0, 0.0 , 0.2060052290565496e-3 B A 5, 0.3567163308709902e+0, 0.0 , 0.2245002248967466e-3 B A 5, 0.4404784483028087e+0, 0.0 , 0.2377059847731150e-3 B A 5, 0.5219833154161411e+0, 0.0 , 0.2468118955882525e-3 B A 5, 0.5998179868977553e+0, 0.0 , 0.2525410872966528e-3 B A 5, 0.6727803154548222e+0, 0.0 , 0.2553101409933397e-3 B A 6, 0.7476563943166086e-1, 0.2193168509461185e-1, 0.1212879733668632e-3 B A 6, 0.1075341482001416e+0, 0.4826419281533887e-1, 0.1472872881270931e-3 B A 6, 0.1416344885203259e+0, 0.7751191883575742e-1, 0.1686846601010828e-3 B A 6, 0.1766325315388586e+0, 0.1087558139247680e+0, 0.1862698414660208e-3 B A 6, 0.2121744174481514e+0, 0.1413661374253096e+0, 0.2007430956991861e-3 B A 6, 0.2479669443408145e+0, 0.1748768214258880e+0, 0.2126568125394796e-3 B A 6, 0.2837600452294113e+0, 0.2089216406612073e+0, 0.2224394603372113e-3 B A 6, 0.3193344933193984e+0, 0.2431987685545972e+0, 0.2304264522673135e-3 B A 6, 0.3544935442438745e+0, 0.2774497054377770e+0, 0.2368854288424087e-3 B A 6, 0.3890571932288154e+0, 0.3114460356156915e+0, 0.2420352089461772e-3 B A 6, 0.4228581214259090e+0, 0.3449806851913012e+0, 0.2460597113081295e-3 B A 6, 0.4557387211304052e+0, 0.3778618641248256e+0, 0.2491181912257687e-3 B A 6, 0.4875487950541643e+0, 0.4099086391698978e+0, 0.2513528194205857e-3 B A 6, 0.5181436529962997e+0, 0.4409474925853973e+0, 0.2528943096693220e-3 B A 6, 0.5473824095600661e+0, 0.4708094517711291e+0, 0.2538660368488136e-3 B A 6, 0.5751263398976174e+0, 0.4993275140354637e+0, 0.2543868648299022e-3 B A 6, 0.1489515746840028e+0, 0.2599381993267017e-1, 0.1642595537825183e-3 B A 6, 0.1863656444351767e+0, 0.5479286532462190e-1, 0.1818246659849308e-3 B A 6, 0.2238602880356348e+0, 0.8556763251425254e-1, 0.1966565649492420e-3 B A 6, 0.2612723375728160e+0, 0.1177257802267011e+0, 0.2090677905657991e-3 B A 6, 0.2984332990206190e+0, 0.1508168456192700e+0, 0.2193820409510504e-3 B A 6, 0.3351786584663333e+0, 0.1844801892177727e+0, 0.2278870827661928e-3 B A 6, 0.3713505522209120e+0, 0.2184145236087598e+0, 0.2348283192282090e-3 B A 6, 0.4067981098954663e+0, 0.2523590641486229e+0, 0.2404139755581477e-3 B A 6, 0.4413769993687534e+0, 0.2860812976901373e+0, 0.2448227407760734e-3 B A 6, 0.4749487182516394e+0, 0.3193686757808996e+0, 0.2482110455592573e-3 B A 6, 0.5073798105075426e+0, 0.3520226949547602e+0, 0.2507192397774103e-3 B A 6, 0.5385410448878654e+0, 0.3838544395667890e+0, 0.2524765968534880e-3 B A 6, 0.5683065353670530e+0, 0.4146810037640963e+0, 0.2536052388539425e-3 B A 6, 0.5965527620663510e+0, 0.4443224094681121e+0, 0.2542230588033068e-3 B A 6, 0.2299227700856157e+0, 0.2865757664057584e-1, 0.1944817013047896e-3 B A 6, 0.2695752998553267e+0, 0.5923421684485993e-1, 0.2067862362746635e-3 B A 6, 0.3086178716611389e+0, 0.9117817776057715e-1, 0.2172440734649114e-3 B A 6, 0.3469649871659077e+0, 0.1240593814082605e+0, 0.2260125991723423e-3 B A 6, 0.3845153566319655e+0, 0.1575272058259175e+0, 0.2332655008689523e-3 B A 6, 0.4211600033403215e+0, 0.1912845163525413e+0, 0.2391699681532458e-3 B A 6, 0.4567867834329882e+0, 0.2250710177858171e+0, 0.2438801528273928e-3 B A 6, 0.4912829319232061e+0, 0.2586521303440910e+0, 0.2475370504260665e-3 B A 6, 0.5245364793303812e+0, 0.2918112242865407e+0, 0.2502707235640574e-3 B A 6, 0.5564369788915756e+0, 0.3243439239067890e+0, 0.2522031701054241e-3 B A 6, 0.5868757697775287e+0, 0.3560536787835351e+0, 0.2534511269978784e-3 B A 6, 0.6157458853519617e+0, 0.3867480821242581e+0, 0.2541284914955151e-3 B A 6, 0.3138461110672113e+0, 0.3051374637507278e-1, 0.2161509250688394e-3 B A 6, 0.3542495872050569e+0, 0.6237111233730755e-1, 0.2248778513437852e-3 B A 6, 0.3935751553120181e+0, 0.9516223952401907e-1, 0.2322388803404617e-3 B A 6, 0.4317634668111147e+0, 0.1285467341508517e+0, 0.2383265471001355e-3 B A 6, 0.4687413842250821e+0, 0.1622318931656033e+0, 0.2432476675019525e-3 B A 6, 0.5044274237060283e+0, 0.1959581153836453e+0, 0.2471122223750674e-3 B A 6, 0.5387354077925727e+0, 0.2294888081183837e+0, 0.2500291752486870e-3 B A 6, 0.5715768898356105e+0, 0.2626031152713945e+0, 0.2521055942764682e-3 B A 6, 0.6028627200136111e+0, 0.2950904075286713e+0, 0.2534472785575503e-3 B A 6, 0.6325039812653463e+0, 0.3267458451113286e+0, 0.2541599713080121e-3 B A 6, 0.3981986708423407e+0, 0.3183291458749821e-1, 0.2317380975862936e-3 B A 6, 0.4382791182133300e+0, 0.6459548193880908e-1, 0.2378550733719775e-3 B A 6, 0.4769233057218166e+0, 0.9795757037087952e-1, 0.2428884456739118e-3 B A 6, 0.5140823911194238e+0, 0.1316307235126655e+0, 0.2469002655757292e-3 B A 6, 0.5496977833862983e+0, 0.1653556486358704e+0, 0.2499657574265851e-3 B A 6, 0.5837047306512727e+0, 0.1988931724126510e+0, 0.2521676168486082e-3 B A 6, 0.6160349566926879e+0, 0.2320174581438950e+0, 0.2535935662645334e-3 B A 6, 0.6466185353209440e+0, 0.2645106562168662e+0, 0.2543356743363214e-3 B A 6, 0.4810835158795404e+0, 0.3275917807743992e-1, 0.2427353285201535e-3 B A 6, 0.5199925041324341e+0, 0.6612546183967181e-1, 0.2468258039744386e-3 B A 6, 0.5571717692207494e+0, 0.9981498331474143e-1, 0.2500060956440310e-3 B A 6, 0.5925789250836378e+0, 0.1335687001410374e+0, 0.2523238365420979e-3 B A 6, 0.6261658523859670e+0, 0.1671444402896463e+0, 0.2538399260252846e-3 B A 6, 0.6578811126669331e+0, 0.2003106382156076e+0, 0.2546255927268069e-3 B A 6, 0.5609624612998100e+0, 0.3337500940231335e-1, 0.2500583360048449e-3 B A 6, 0.5979959659984670e+0, 0.6708750335901803e-1, 0.2524777638260203e-3 B A 6, 0.6330523711054002e+0, 0.1008792126424850e+0, 0.2540951193860656e-3 B A 6, 0.6660960998103972e+0, 0.1345050343171794e+0, 0.2549524085027472e-3 B A 6, 0.6365384364585819e+0, 0.3372799460737052e-1, 0.2542569507009158e-3 B A 6, 0.6710994302899275e+0, 0.6755249309678028e-1, 0.2552114127580376e-3 B break; case 4802: A 1, 0.0 , 0.0 , 0.9687521879420705e-4 B A 2, 0.0 , 0.0 , 0.2307897895367918e-3 B A 3, 0.0 , 0.0 , 0.2297310852498558e-3 B A 4, 0.2335728608887064e-1, 0.0 , 0.7386265944001919e-4 B A 4, 0.4352987836550653e-1, 0.0 , 0.8257977698542210e-4 B A 4, 0.6439200521088801e-1, 0.0 , 0.9706044762057630e-4 B A 4, 0.9003943631993181e-1, 0.0 , 0.1302393847117003e-3 B A 4, 0.1196706615548473e+0, 0.0 , 0.1541957004600968e-3 B A 4, 0.1511715412838134e+0, 0.0 , 0.1704459770092199e-3 B A 4, 0.1835982828503801e+0, 0.0 , 0.1827374890942906e-3 B A 4, 0.2165081259155405e+0, 0.0 , 0.1926360817436107e-3 B A 4, 0.2496208720417563e+0, 0.0 , 0.2008010239494833e-3 B A 4, 0.2827200673567900e+0, 0.0 , 0.2075635983209175e-3 B A 4, 0.3156190823994346e+0, 0.0 , 0.2131306638690909e-3 B A 4, 0.3481476793749115e+0, 0.0 , 0.2176562329937335e-3 B A 4, 0.3801466086947226e+0, 0.0 , 0.2212682262991018e-3 B A 4, 0.4114652119634011e+0, 0.0 , 0.2240799515668565e-3 B A 4, 0.4419598786519751e+0, 0.0 , 0.2261959816187525e-3 B A 4, 0.4714925949329543e+0, 0.0 , 0.2277156368808855e-3 B A 4, 0.4999293972879466e+0, 0.0 , 0.2287351772128336e-3 B A 4, 0.5271387221431248e+0, 0.0 , 0.2293490814084085e-3 B A 4, 0.5529896780837761e+0, 0.0 , 0.2296505312376273e-3 B A 4, 0.6000856099481712e+0, 0.0 , 0.2296793832318756e-3 B A 4, 0.6210562192785175e+0, 0.0 , 0.2295785443842974e-3 B A 4, 0.6401165879934240e+0, 0.0 , 0.2295017931529102e-3 B A 4, 0.6571144029244334e+0, 0.0 , 0.2295059638184868e-3 B A 4, 0.6718910821718863e+0, 0.0 , 0.2296232343237362e-3 B A 4, 0.6842845591099010e+0, 0.0 , 0.2298530178740771e-3 B A 4, 0.6941353476269816e+0, 0.0 , 0.2301579790280501e-3 B A 4, 0.7012965242212991e+0, 0.0 , 0.2304690404996513e-3 B A 4, 0.7056471428242644e+0, 0.0 , 0.2307027995907102e-3 B A 5, 0.4595557643585895e-1, 0.0 , 0.9312274696671092e-4 B A 5, 0.1049316742435023e+0, 0.0 , 0.1199919385876926e-3 B A 5, 0.1773548879549274e+0, 0.0 , 0.1598039138877690e-3 B A 5, 0.2559071411236127e+0, 0.0 , 0.1822253763574900e-3 B A 5, 0.3358156837985898e+0, 0.0 , 0.1988579593655040e-3 B A 5, 0.4155835743763893e+0, 0.0 , 0.2112620102533307e-3 B A 5, 0.4937894296167472e+0, 0.0 , 0.2201594887699007e-3 B A 5, 0.5691569694793316e+0, 0.0 , 0.2261622590895036e-3 B A 5, 0.6405840854894251e+0, 0.0 , 0.2296458453435705e-3 B A 6, 0.7345133894143348e-1, 0.2177844081486067e-1, 0.1006006990267000e-3 B A 6, 0.1009859834044931e+0, 0.4590362185775188e-1, 0.1227676689635876e-3 B A 6, 0.1324289619748758e+0, 0.7255063095690877e-1, 0.1467864280270117e-3 B A 6, 0.1654272109607127e+0, 0.1017825451960684e+0, 0.1644178912101232e-3 B A 6, 0.1990767186776461e+0, 0.1325652320980364e+0, 0.1777664890718961e-3 B A 6, 0.2330125945523278e+0, 0.1642765374496765e+0, 0.1884825664516690e-3 B A 6, 0.2670080611108287e+0, 0.1965360374337889e+0, 0.1973269246453848e-3 B A 6, 0.3008753376294316e+0, 0.2290726770542238e+0, 0.2046767775855328e-3 B A 6, 0.3344475596167860e+0, 0.2616645495370823e+0, 0.2107600125918040e-3 B A 6, 0.3675709724070786e+0, 0.2941150728843141e+0, 0.2157416362266829e-3 B A 6, 0.4001000887587812e+0, 0.3262440400919066e+0, 0.2197557816920721e-3 B A 6, 0.4318956350436028e+0, 0.3578835350611916e+0, 0.2229192611835437e-3 B A 6, 0.4628239056795531e+0, 0.3888751854043678e+0, 0.2253385110212775e-3 B A 6, 0.4927563229773636e+0, 0.4190678003222840e+0, 0.2271137107548774e-3 B A 6, 0.5215687136707969e+0, 0.4483151836883852e+0, 0.2283414092917525e-3 B A 6, 0.5491402346984905e+0, 0.4764740676087880e+0, 0.2291161673130077e-3 B A 6, 0.5753520160126075e+0, 0.5034021310998277e+0, 0.2295313908576598e-3 B A 6, 0.1388326356417754e+0, 0.2435436510372806e-1, 0.1438204721359031e-3 B A 6, 0.1743686900537244e+0, 0.5118897057342652e-1, 0.1607738025495257e-3 B A 6, 0.2099737037950268e+0, 0.8014695048539634e-1, 0.1741483853528379e-3 B A 6, 0.2454492590908548e+0, 0.1105117874155699e+0, 0.1851918467519151e-3 B A 6, 0.2807219257864278e+0, 0.1417950531570966e+0, 0.1944628638070613e-3 B A 6, 0.3156842271975842e+0, 0.1736604945719597e+0, 0.2022495446275152e-3 B A 6, 0.3502090945177752e+0, 0.2058466324693981e+0, 0.2087462382438514e-3 B A 6, 0.3841684849519686e+0, 0.2381284261195919e+0, 0.2141074754818308e-3 B A 6, 0.4174372367906016e+0, 0.2703031270422569e+0, 0.2184640913748162e-3 B A 6, 0.4498926465011892e+0, 0.3021845683091309e+0, 0.2219309165220329e-3 B A 6, 0.4814146229807701e+0, 0.3335993355165720e+0, 0.2246123118340624e-3 B A 6, 0.5118863625734701e+0, 0.3643833735518232e+0, 0.2266062766915125e-3 B A 6, 0.5411947455119144e+0, 0.3943789541958179e+0, 0.2280072952230796e-3 B A 6, 0.5692301500357246e+0, 0.4234320144403542e+0, 0.2289082025202583e-3 B A 6, 0.5958857204139576e+0, 0.4513897947419260e+0, 0.2294012695120025e-3 B A 6, 0.2156270284785766e+0, 0.2681225755444491e-1, 0.1722434488736947e-3 B A 6, 0.2532385054909710e+0, 0.5557495747805614e-1, 0.1830237421455091e-3 B A 6, 0.2902564617771537e+0, 0.8569368062950249e-1, 0.1923855349997633e-3 B A 6, 0.3266979823143256e+0, 0.1167367450324135e+0, 0.2004067861936271e-3 B A 6, 0.3625039627493614e+0, 0.1483861994003304e+0, 0.2071817297354263e-3 B A 6, 0.3975838937548699e+0, 0.1803821503011405e+0, 0.2128250834102103e-3 B A 6, 0.4318396099009774e+0, 0.2124962965666424e+0, 0.2174513719440102e-3 B A 6, 0.4651706555732742e+0, 0.2445221837805913e+0, 0.2211661839150214e-3 B A 6, 0.4974752649620969e+0, 0.2762701224322987e+0, 0.2240665257813102e-3 B A 6, 0.5286517579627517e+0, 0.3075627775211328e+0, 0.2262439516632620e-3 B A 6, 0.5586001195731895e+0, 0.3382311089826877e+0, 0.2277874557231869e-3 B A 6, 0.5872229902021319e+0, 0.3681108834741399e+0, 0.2287854314454994e-3 B A 6, 0.6144258616235123e+0, 0.3970397446872839e+0, 0.2293268499615575e-3 B A 6, 0.2951676508064861e+0, 0.2867499538750441e-1, 0.1912628201529828e-3 B A 6, 0.3335085485472725e+0, 0.5867879341903510e-1, 0.1992499672238701e-3 B A 6, 0.3709561760636381e+0, 0.8961099205022284e-1, 0.2061275533454027e-3 B A 6, 0.4074722861667498e+0, 0.1211627927626297e+0, 0.2119318215968572e-3 B A 6, 0.4429923648839117e+0, 0.1530748903554898e+0, 0.2167416581882652e-3 B A 6, 0.4774428052721736e+0, 0.1851176436721877e+0, 0.2206430730516600e-3 B A 6, 0.5107446539535904e+0, 0.2170829107658179e+0, 0.2237186938699523e-3 B A 6, 0.5428151370542935e+0, 0.2487786689026271e+0, 0.2260480075032884e-3 B A 6, 0.5735699292556964e+0, 0.2800239952795016e+0, 0.2277098884558542e-3 B A 6, 0.6029253794562866e+0, 0.3106445702878119e+0, 0.2287845715109671e-3 B A 6, 0.6307998987073145e+0, 0.3404689500841194e+0, 0.2293547268236294e-3 B A 6, 0.3752652273692719e+0, 0.2997145098184479e-1, 0.2056073839852528e-3 B A 6, 0.4135383879344028e+0, 0.6086725898678011e-1, 0.2114235865831876e-3 B A 6, 0.4506113885153907e+0, 0.9238849548435643e-1, 0.2163175629770551e-3 B A 6, 0.4864401554606072e+0, 0.1242786603851851e+0, 0.2203392158111650e-3 B A 6, 0.5209708076611709e+0, 0.1563086731483386e+0, 0.2235473176847839e-3 B A 6, 0.5541422135830122e+0, 0.1882696509388506e+0, 0.2260024141501235e-3 B A 6, 0.5858880915113817e+0, 0.2199672979126059e+0, 0.2277675929329182e-3 B A 6, 0.6161399390603444e+0, 0.2512165482924867e+0, 0.2289102112284834e-3 B A 6, 0.6448296482255090e+0, 0.2818368701871888e+0, 0.2295027954625118e-3 B A 6, 0.4544796274917948e+0, 0.3088970405060312e-1, 0.2161281589879992e-3 B A 6, 0.4919389072146628e+0, 0.6240947677636835e-1, 0.2201980477395102e-3 B A 6, 0.5279313026985183e+0, 0.9430706144280313e-1, 0.2234952066593166e-3 B A 6, 0.5624169925571135e+0, 0.1263547818770374e+0, 0.2260540098520838e-3 B A 6, 0.5953484627093287e+0, 0.1583430788822594e+0, 0.2279157981899988e-3 B A 6, 0.6266730715339185e+0, 0.1900748462555988e+0, 0.2291296918565571e-3 B A 6, 0.6563363204278871e+0, 0.2213599519592567e+0, 0.2297533752536649e-3 B A 6, 0.5314574716585696e+0, 0.3152508811515374e-1, 0.2234927356465995e-3 B A 6, 0.5674614932298185e+0, 0.6343865291465561e-1, 0.2261288012985219e-3 B A 6, 0.6017706004970264e+0, 0.9551503504223951e-1, 0.2280818160923688e-3 B A 6, 0.6343471270264178e+0, 0.1275440099801196e+0, 0.2293773295180159e-3 B A 6, 0.6651494599127802e+0, 0.1593252037671960e+0, 0.2300528767338634e-3 B A 6, 0.6050184986005704e+0, 0.3192538338496105e-1, 0.2281893855065666e-3 B A 6, 0.6390163550880400e+0, 0.6402824353962306e-1, 0.2295720444840727e-3 B A 6, 0.6711199107088448e+0, 0.9609805077002909e-1, 0.2303227649026753e-3 B A 6, 0.6741354429572275e+0, 0.3211853196273233e-1, 0.2304831913227114e-3 B break; case 5294: A 1, 0.0 , 0.0 , 0.9080510764308163e-4 B A 3, 0.0 , 0.0 , 0.2084824361987793e-3 B A 4, 0.2303261686261450e-1, 0.0 , 0.5011105657239616e-4 B A 4, 0.3757208620162394e-1, 0.0 , 0.5942520409683854e-4 B A 4, 0.5821912033821852e-1, 0.0 , 0.9564394826109721e-4 B A 4, 0.8403127529194872e-1, 0.0 , 0.1185530657126338e-3 B A 4, 0.1122927798060578e+0, 0.0 , 0.1364510114230331e-3 B A 4, 0.1420125319192987e+0, 0.0 , 0.1505828825605415e-3 B A 4, 0.1726396437341978e+0, 0.0 , 0.1619298749867023e-3 B A 4, 0.2038170058115696e+0, 0.0 , 0.1712450504267789e-3 B A 4, 0.2352849892876508e+0, 0.0 , 0.1789891098164999e-3 B A 4, 0.2668363354312461e+0, 0.0 , 0.1854474955629795e-3 B A 4, 0.2982941279900452e+0, 0.0 , 0.1908148636673661e-3 B A 4, 0.3295002922087076e+0, 0.0 , 0.1952377405281833e-3 B A 4, 0.3603094918363593e+0, 0.0 , 0.1988349254282232e-3 B A 4, 0.3905857895173920e+0, 0.0 , 0.2017079807160050e-3 B A 4, 0.4202005758160837e+0, 0.0 , 0.2039473082709094e-3 B A 4, 0.4490310061597227e+0, 0.0 , 0.2056360279288953e-3 B A 4, 0.4769586160311491e+0, 0.0 , 0.2068525823066865e-3 B A 4, 0.5038679887049750e+0, 0.0 , 0.2076724877534488e-3 B A 4, 0.5296454286519961e+0, 0.0 , 0.2081694278237885e-3 B A 4, 0.5541776207164850e+0, 0.0 , 0.2084157631219326e-3 B A 4, 0.5990467321921213e+0, 0.0 , 0.2084381531128593e-3 B A 4, 0.6191467096294587e+0, 0.0 , 0.2083476277129307e-3 B A 4, 0.6375251212901849e+0, 0.0 , 0.2082686194459732e-3 B A 4, 0.6540514381131168e+0, 0.0 , 0.2082475686112415e-3 B A 4, 0.6685899064391510e+0, 0.0 , 0.2083139860289915e-3 B A 4, 0.6810013009681648e+0, 0.0 , 0.2084745561831237e-3 B A 4, 0.6911469578730340e+0, 0.0 , 0.2087091313375890e-3 B A 4, 0.6988956915141736e+0, 0.0 , 0.2089718413297697e-3 B A 4, 0.7041335794868720e+0, 0.0 , 0.2092003303479793e-3 B A 4, 0.7067754398018567e+0, 0.0 , 0.2093336148263241e-3 B A 5, 0.3840368707853623e-1, 0.0 , 0.7591708117365267e-4 B A 5, 0.9835485954117399e-1, 0.0 , 0.1083383968169186e-3 B A 5, 0.1665774947612998e+0, 0.0 , 0.1403019395292510e-3 B A 5, 0.2405702335362910e+0, 0.0 , 0.1615970179286436e-3 B A 5, 0.3165270770189046e+0, 0.0 , 0.1771144187504911e-3 B A 5, 0.3927386145645443e+0, 0.0 , 0.1887760022988168e-3 B A 5, 0.4678825918374656e+0, 0.0 , 0.1973474670768214e-3 B A 5, 0.5408022024266935e+0, 0.0 , 0.2033787661234659e-3 B A 5, 0.6104967445752438e+0, 0.0 , 0.2072343626517331e-3 B A 5, 0.6760910702685738e+0, 0.0 , 0.2091177834226918e-3 B A 6, 0.6655644120217392e-1, 0.1936508874588424e-1, 0.9316684484675566e-4 B A 6, 0.9446246161270182e-1, 0.4252442002115869e-1, 0.1116193688682976e-3 B A 6, 0.1242651925452509e+0, 0.6806529315354374e-1, 0.1298623551559414e-3 B A 6, 0.1553438064846751e+0, 0.9560957491205369e-1, 0.1450236832456426e-3 B A 6, 0.1871137110542670e+0, 0.1245931657452888e+0, 0.1572719958149914e-3 B A 6, 0.2192612628836257e+0, 0.1545385828778978e+0, 0.1673234785867195e-3 B A 6, 0.2515682807206955e+0, 0.1851004249723368e+0, 0.1756860118725188e-3 B A 6, 0.2838535866287290e+0, 0.2160182608272384e+0, 0.1826776290439367e-3 B A 6, 0.3159578817528521e+0, 0.2470799012277111e+0, 0.1885116347992865e-3 B A 6, 0.3477370882791392e+0, 0.2781014208986402e+0, 0.1933457860170574e-3 B A 6, 0.3790576960890540e+0, 0.3089172523515731e+0, 0.1973060671902064e-3 B A 6, 0.4097938317810200e+0, 0.3393750055472244e+0, 0.2004987099616311e-3 B A 6, 0.4398256572859637e+0, 0.3693322470987730e+0, 0.2030170909281499e-3 B A 6, 0.4690384114718480e+0, 0.3986541005609877e+0, 0.2049461460119080e-3 B A 6, 0.4973216048301053e+0, 0.4272112491408562e+0, 0.2063653565200186e-3 B A 6, 0.5245681526132446e+0, 0.4548781735309936e+0, 0.2073507927381027e-3 B A 6, 0.5506733911803888e+0, 0.4815315355023251e+0, 0.2079764593256122e-3 B A 6, 0.5755339829522475e+0, 0.5070486445801855e+0, 0.2083150534968778e-3 B A 6, 0.1305472386056362e+0, 0.2284970375722366e-1, 0.1262715121590664e-3 B A 6, 0.1637327908216477e+0, 0.4812254338288384e-1, 0.1414386128545972e-3 B A 6, 0.1972734634149637e+0, 0.7531734457511935e-1, 0.1538740401313898e-3 B A 6, 0.2308694653110130e+0, 0.1039043639882017e+0, 0.1642434942331432e-3 B A 6, 0.2643899218338160e+0, 0.1334526587117626e+0, 0.1729790609237496e-3 B A 6, 0.2977171599622171e+0, 0.1636414868936382e+0, 0.1803505190260828e-3 B A 6, 0.3307293903032310e+0, 0.1942195406166568e+0, 0.1865475350079657e-3 B A 6, 0.3633069198219073e+0, 0.2249752879943753e+0, 0.1917182669679069e-3 B A 6, 0.3953346955922727e+0, 0.2557218821820032e+0, 0.1959851709034382e-3 B A 6, 0.4267018394184914e+0, 0.2862897925213193e+0, 0.1994529548117882e-3 B A 6, 0.4573009622571704e+0, 0.3165224536636518e+0, 0.2022138911146548e-3 B A 6, 0.4870279559856109e+0, 0.3462730221636496e+0, 0.2043518024208592e-3 B A 6, 0.5157819581450322e+0, 0.3754016870282835e+0, 0.2059450313018110e-3 B A 6, 0.5434651666465393e+0, 0.4037733784993613e+0, 0.2070685715318472e-3 B A 6, 0.5699823887764627e+0, 0.4312557784139123e+0, 0.2077955310694373e-3 B A 6, 0.5952403350947741e+0, 0.4577175367122110e+0, 0.2081980387824712e-3 B A 6, 0.2025152599210369e+0, 0.2520253617719557e-1, 0.1521318610377956e-3 B A 6, 0.2381066653274425e+0, 0.5223254506119000e-1, 0.1622772720185755e-3 B A 6, 0.2732823383651612e+0, 0.8060669688588620e-1, 0.1710498139420709e-3 B A 6, 0.3080137692611118e+0, 0.1099335754081255e+0, 0.1785911149448736e-3 B A 6, 0.3422405614587601e+0, 0.1399120955959857e+0, 0.1850125313687736e-3 B A 6, 0.3758808773890420e+0, 0.1702977801651705e+0, 0.1904229703933298e-3 B A 6, 0.4088458383438932e+0, 0.2008799256601680e+0, 0.1949259956121987e-3 B A 6, 0.4410450550841152e+0, 0.2314703052180836e+0, 0.1986161545363960e-3 B A 6, 0.4723879420561312e+0, 0.2618972111375892e+0, 0.2015790585641370e-3 B A 6, 0.5027843561874343e+0, 0.2920013195600270e+0, 0.2038934198707418e-3 B A 6, 0.5321453674452458e+0, 0.3216322555190551e+0, 0.2056334060538251e-3 B A 6, 0.5603839113834030e+0, 0.3506456615934198e+0, 0.2068705959462289e-3 B A 6, 0.5874150706875146e+0, 0.3789007181306267e+0, 0.2076753906106002e-3 B A 6, 0.6131559381660038e+0, 0.4062580170572782e+0, 0.2081179391734803e-3 B A 6, 0.2778497016394506e+0, 0.2696271276876226e-1, 0.1700345216228943e-3 B A 6, 0.3143733562261912e+0, 0.5523469316960465e-1, 0.1774906779990410e-3 B A 6, 0.3501485810261827e+0, 0.8445193201626464e-1, 0.1839659377002642e-3 B A 6, 0.3851430322303653e+0, 0.1143263119336083e+0, 0.1894987462975169e-3 B A 6, 0.4193013979470415e+0, 0.1446177898344475e+0, 0.1941548809452595e-3 B A 6, 0.4525585960458567e+0, 0.1751165438438091e+0, 0.1980078427252384e-3 B A 6, 0.4848447779622947e+0, 0.2056338306745660e+0, 0.2011296284744488e-3 B A 6, 0.5160871208276894e+0, 0.2359965487229226e+0, 0.2035888456966776e-3 B A 6, 0.5462112185696926e+0, 0.2660430223139146e+0, 0.2054516325352142e-3 B A 6, 0.5751425068101757e+0, 0.2956193664498032e+0, 0.2067831033092635e-3 B A 6, 0.6028073872853596e+0, 0.3245763905312779e+0, 0.2076485320284876e-3 B A 6, 0.6291338275278409e+0, 0.3527670026206972e+0, 0.2081141439525255e-3 B A 6, 0.3541797528439391e+0, 0.2823853479435550e-1, 0.1834383015469222e-3 B A 6, 0.3908234972074657e+0, 0.5741296374713106e-1, 0.1889540591777677e-3 B A 6, 0.4264408450107590e+0, 0.8724646633650199e-1, 0.1936677023597375e-3 B A 6, 0.4609949666553286e+0, 0.1175034422915616e+0, 0.1976176495066504e-3 B A 6, 0.4944389496536006e+0, 0.1479755652628428e+0, 0.2008536004560983e-3 B A 6, 0.5267194884346086e+0, 0.1784740659484352e+0, 0.2034280351712291e-3 B A 6, 0.5577787810220990e+0, 0.2088245700431244e+0, 0.2053944466027758e-3 B A 6, 0.5875563763536670e+0, 0.2388628136570763e+0, 0.2068077642882360e-3 B A 6, 0.6159910016391269e+0, 0.2684308928769185e+0, 0.2077250949661599e-3 B A 6, 0.6430219602956268e+0, 0.2973740761960252e+0, 0.2082062440705320e-3 B A 6, 0.4300647036213646e+0, 0.2916399920493977e-1, 0.1934374486546626e-3 B A 6, 0.4661486308935531e+0, 0.5898803024755659e-1, 0.1974107010484300e-3 B A 6, 0.5009658555287261e+0, 0.8924162698525409e-1, 0.2007129290388658e-3 B A 6, 0.5344824270447704e+0, 0.1197185199637321e+0, 0.2033736947471293e-3 B A 6, 0.5666575997416371e+0, 0.1502300756161382e+0, 0.2054287125902493e-3 B A 6, 0.5974457471404752e+0, 0.1806004191913564e+0, 0.2069184936818894e-3 B A 6, 0.6267984444116886e+0, 0.2106621764786252e+0, 0.2078883689808782e-3 B A 6, 0.6546664713575417e+0, 0.2402526932671914e+0, 0.2083886366116359e-3 B A 6, 0.5042711004437253e+0, 0.2982529203607657e-1, 0.2006593275470817e-3 B A 6, 0.5392127456774380e+0, 0.6008728062339922e-1, 0.2033728426135397e-3 B A 6, 0.5726819437668618e+0, 0.9058227674571398e-1, 0.2055008781377608e-3 B A 6, 0.6046469254207278e+0, 0.1211219235803400e+0, 0.2070651783518502e-3 B A 6, 0.6350716157434952e+0, 0.1515286404791580e+0, 0.2080953335094320e-3 B A 6, 0.6639177679185454e+0, 0.1816314681255552e+0, 0.2086284998988521e-3 B A 6, 0.5757276040972253e+0, 0.3026991752575440e-1, 0.2055549387644668e-3 B A 6, 0.6090265823139755e+0, 0.6078402297870770e-1, 0.2071871850267654e-3 B A 6, 0.6406735344387661e+0, 0.9135459984176636e-1, 0.2082856600431965e-3 B A 6, 0.6706397927793709e+0, 0.1218024155966590e+0, 0.2088705858819358e-3 B A 6, 0.6435019674426665e+0, 0.3052608357660639e-1, 0.2083995867536322e-3 B A 6, 0.6747218676375681e+0, 0.6112185773983089e-1, 0.2090509712889637e-3 B break; case 5810: A 1, 0.0 , 0.0 , 0.9735347946175486e-5 B A 2, 0.0 , 0.0 , 0.1907581241803167e-3 B A 3, 0.0 , 0.0 , 0.1901059546737578e-3 B A 4, 0.1182361662400277e-1, 0.0 , 0.3926424538919212e-4 B A 4, 0.3062145009138958e-1, 0.0 , 0.6667905467294382e-4 B A 4, 0.5329794036834243e-1, 0.0 , 0.8868891315019135e-4 B A 4, 0.7848165532862220e-1, 0.0 , 0.1066306000958872e-3 B A 4, 0.1054038157636201e+0, 0.0 , 0.1214506743336128e-3 B A 4, 0.1335577797766211e+0, 0.0 , 0.1338054681640871e-3 B A 4, 0.1625769955502252e+0, 0.0 , 0.1441677023628504e-3 B A 4, 0.1921787193412792e+0, 0.0 , 0.1528880200826557e-3 B A 4, 0.2221340534690548e+0, 0.0 , 0.1602330623773609e-3 B A 4, 0.2522504912791132e+0, 0.0 , 0.1664102653445244e-3 B A 4, 0.2823610860679697e+0, 0.0 , 0.1715845854011323e-3 B A 4, 0.3123173966267560e+0, 0.0 , 0.1758901000133069e-3 B A 4, 0.3419847036953789e+0, 0.0 , 0.1794382485256736e-3 B A 4, 0.3712386456999758e+0, 0.0 , 0.1823238106757407e-3 B A 4, 0.3999627649876828e+0, 0.0 , 0.1846293252959976e-3 B A 4, 0.4280466458648093e+0, 0.0 , 0.1864284079323098e-3 B A 4, 0.4553844360185711e+0, 0.0 , 0.1877882694626914e-3 B A 4, 0.4818736094437834e+0, 0.0 , 0.1887716321852025e-3 B A 4, 0.5074138709260629e+0, 0.0 , 0.1894381638175673e-3 B A 4, 0.5319061304570707e+0, 0.0 , 0.1898454899533629e-3 B A 4, 0.5552514978677286e+0, 0.0 , 0.1900497929577815e-3 B A 4, 0.5981009025246183e+0, 0.0 , 0.1900671501924092e-3 B A 4, 0.6173990192228116e+0, 0.0 , 0.1899837555533510e-3 B A 4, 0.6351365239411131e+0, 0.0 , 0.1899014113156229e-3 B A 4, 0.6512010228227200e+0, 0.0 , 0.1898581257705106e-3 B A 4, 0.6654758363948120e+0, 0.0 , 0.1898804756095753e-3 B A 4, 0.6778410414853370e+0, 0.0 , 0.1899793610426402e-3 B A 4, 0.6881760887484110e+0, 0.0 , 0.1901464554844117e-3 B A 4, 0.6963645267094598e+0, 0.0 , 0.1903533246259542e-3 B A 4, 0.7023010617153579e+0, 0.0 , 0.1905556158463228e-3 B A 4, 0.7059004636628753e+0, 0.0 , 0.1907037155663528e-3 B A 5, 0.3552470312472575e-1, 0.0 , 0.5992997844249967e-4 B A 5, 0.9151176620841283e-1, 0.0 , 0.9749059382456978e-4 B A 5, 0.1566197930068980e+0, 0.0 , 0.1241680804599158e-3 B A 5, 0.2265467599271907e+0, 0.0 , 0.1437626154299360e-3 B A 5, 0.2988242318581361e+0, 0.0 , 0.1584200054793902e-3 B A 5, 0.3717482419703886e+0, 0.0 , 0.1694436550982744e-3 B A 5, 0.4440094491758889e+0, 0.0 , 0.1776617014018108e-3 B A 5, 0.5145337096756642e+0, 0.0 , 0.1836132434440077e-3 B A 5, 0.5824053672860230e+0, 0.0 , 0.1876494727075983e-3 B A 5, 0.6468283961043370e+0, 0.0 , 0.1899906535336482e-3 B A 6, 0.6095964259104373e-1, 0.1787828275342931e-1, 0.8143252820767350e-4 B A 6, 0.8811962270959388e-1, 0.3953888740792096e-1, 0.9998859890887728e-4 B A 6, 0.1165936722428831e+0, 0.6378121797722990e-1, 0.1156199403068359e-3 B A 6, 0.1460232857031785e+0, 0.8985890813745037e-1, 0.1287632092635513e-3 B A 6, 0.1761197110181755e+0, 0.1172606510576162e+0, 0.1398378643365139e-3 B A 6, 0.2066471190463718e+0, 0.1456102876970995e+0, 0.1491876468417391e-3 B A 6, 0.2374076026328152e+0, 0.1746153823011775e+0, 0.1570855679175456e-3 B A 6, 0.2682305474337051e+0, 0.2040383070295584e+0, 0.1637483948103775e-3 B A 6, 0.2989653312142369e+0, 0.2336788634003698e+0, 0.1693500566632843e-3 B A 6, 0.3294762752772209e+0, 0.2633632752654219e+0, 0.1740322769393633e-3 B A 6, 0.3596390887276086e+0, 0.2929369098051601e+0, 0.1779126637278296e-3 B A 6, 0.3893383046398812e+0, 0.3222592785275512e+0, 0.1810908108835412e-3 B A 6, 0.4184653789358347e+0, 0.3512004791195743e+0, 0.1836529132600190e-3 B A 6, 0.4469172319076166e+0, 0.3796385677684537e+0, 0.1856752841777379e-3 B A 6, 0.4745950813276976e+0, 0.4074575378263879e+0, 0.1872270566606832e-3 B A 6, 0.5014034601410262e+0, 0.4345456906027828e+0, 0.1883722645591307e-3 B A 6, 0.5272493404551239e+0, 0.4607942515205134e+0, 0.1891714324525297e-3 B A 6, 0.5520413051846366e+0, 0.4860961284181720e+0, 0.1896827480450146e-3 B A 6, 0.5756887237503077e+0, 0.5103447395342790e+0, 0.1899628417059528e-3 B A 6, 0.1225039430588352e+0, 0.2136455922655793e-1, 0.1123301829001669e-3 B A 6, 0.1539113217321372e+0, 0.4520926166137188e-1, 0.1253698826711277e-3 B A 6, 0.1856213098637712e+0, 0.7086468177864818e-1, 0.1366266117678531e-3 B A 6, 0.2174998728035131e+0, 0.9785239488772918e-1, 0.1462736856106918e-3 B A 6, 0.2494128336938330e+0, 0.1258106396267210e+0, 0.1545076466685412e-3 B A 6, 0.2812321562143480e+0, 0.1544529125047001e+0, 0.1615096280814007e-3 B A 6, 0.3128372276456111e+0, 0.1835433512202753e+0, 0.1674366639741759e-3 B A 6, 0.3441145160177973e+0, 0.2128813258619585e+0, 0.1724225002437900e-3 B A 6, 0.3749567714853510e+0, 0.2422913734880829e+0, 0.1765810822987288e-3 B A 6, 0.4052621732015610e+0, 0.2716163748391453e+0, 0.1800104126010751e-3 B A 6, 0.4349335453522385e+0, 0.3007127671240280e+0, 0.1827960437331284e-3 B A 6, 0.4638776641524965e+0, 0.3294470677216479e+0, 0.1850140300716308e-3 B A 6, 0.4920046410462687e+0, 0.3576932543699155e+0, 0.1867333507394938e-3 B A 6, 0.5192273554861704e+0, 0.3853307059757764e+0, 0.1880178688638289e-3 B A 6, 0.5454609081136522e+0, 0.4122425044452694e+0, 0.1889278925654758e-3 B A 6, 0.5706220661424140e+0, 0.4383139587781027e+0, 0.1895213832507346e-3 B A 6, 0.5946286755181518e+0, 0.4634312536300553e+0, 0.1898548277397420e-3 B A 6, 0.1905370790924295e+0, 0.2371311537781979e-1, 0.1349105935937341e-3 B A 6, 0.2242518717748009e+0, 0.4917878059254806e-1, 0.1444060068369326e-3 B A 6, 0.2577190808025936e+0, 0.7595498960495142e-1, 0.1526797390930008e-3 B A 6, 0.2908724534927187e+0, 0.1036991083191100e+0, 0.1598208771406474e-3 B A 6, 0.3236354020056219e+0, 0.1321348584450234e+0, 0.1659354368615331e-3 B A 6, 0.3559267359304543e+0, 0.1610316571314789e+0, 0.1711279910946440e-3 B A 6, 0.3876637123676956e+0, 0.1901912080395707e+0, 0.1754952725601440e-3 B A 6, 0.4187636705218842e+0, 0.2194384950137950e+0, 0.1791247850802529e-3 B A 6, 0.4491449019883107e+0, 0.2486155334763858e+0, 0.1820954300877716e-3 B A 6, 0.4787270932425445e+0, 0.2775768931812335e+0, 0.1844788524548449e-3 B A 6, 0.5074315153055574e+0, 0.3061863786591120e+0, 0.1863409481706220e-3 B A 6, 0.5351810507738336e+0, 0.3343144718152556e+0, 0.1877433008795068e-3 B A 6, 0.5619001025975381e+0, 0.3618362729028427e+0, 0.1887444543705232e-3 B A 6, 0.5875144035268046e+0, 0.3886297583620408e+0, 0.1894009829375006e-3 B A 6, 0.6119507308734495e+0, 0.4145742277792031e+0, 0.1897683345035198e-3 B A 6, 0.2619733870119463e+0, 0.2540047186389353e-1, 0.1517327037467653e-3 B A 6, 0.2968149743237949e+0, 0.5208107018543989e-1, 0.1587740557483543e-3 B A 6, 0.3310451504860488e+0, 0.7971828470885599e-1, 0.1649093382274097e-3 B A 6, 0.3646215567376676e+0, 0.1080465999177927e+0, 0.1701915216193265e-3 B A 6, 0.3974916785279360e+0, 0.1368413849366629e+0, 0.1746847753144065e-3 B A 6, 0.4295967403772029e+0, 0.1659073184763559e+0, 0.1784555512007570e-3 B A 6, 0.4608742854473447e+0, 0.1950703730454614e+0, 0.1815687562112174e-3 B A 6, 0.4912598858949903e+0, 0.2241721144376724e+0, 0.1840864370663302e-3 B A 6, 0.5206882758945558e+0, 0.2530655255406489e+0, 0.1860676785390006e-3 B A 6, 0.5490940914019819e+0, 0.2816118409731066e+0, 0.1875690583743703e-3 B A 6, 0.5764123302025542e+0, 0.3096780504593238e+0, 0.1886453236347225e-3 B A 6, 0.6025786004213506e+0, 0.3371348366394987e+0, 0.1893501123329645e-3 B A 6, 0.6275291964794956e+0, 0.3638547827694396e+0, 0.1897366184519868e-3 B A 6, 0.3348189479861771e+0, 0.2664841935537443e-1, 0.1643908815152736e-3 B A 6, 0.3699515545855295e+0, 0.5424000066843495e-1, 0.1696300350907768e-3 B A 6, 0.4042003071474669e+0, 0.8251992715430854e-1, 0.1741553103844483e-3 B A 6, 0.4375320100182624e+0, 0.1112695182483710e+0, 0.1780015282386092e-3 B A 6, 0.4699054490335947e+0, 0.1402964116467816e+0, 0.1812116787077125e-3 B A 6, 0.5012739879431952e+0, 0.1694275117584291e+0, 0.1838323158085421e-3 B A 6, 0.5315874883754966e+0, 0.1985038235312689e+0, 0.1859113119837737e-3 B A 6, 0.5607937109622117e+0, 0.2273765660020893e+0, 0.1874969220221698e-3 B A 6, 0.5888393223495521e+0, 0.2559041492849764e+0, 0.1886375612681076e-3 B A 6, 0.6156705979160163e+0, 0.2839497251976899e+0, 0.1893819575809276e-3 B A 6, 0.6412338809078123e+0, 0.3113791060500690e+0, 0.1897794748256767e-3 B A 6, 0.4076051259257167e+0, 0.2757792290858463e-1, 0.1738963926584846e-3 B A 6, 0.4423788125791520e+0, 0.5584136834984293e-1, 0.1777442359873466e-3 B A 6, 0.4760480917328258e+0, 0.8457772087727143e-1, 0.1810010815068719e-3 B A 6, 0.5085838725946297e+0, 0.1135975846359248e+0, 0.1836920318248129e-3 B A 6, 0.5399513637391218e+0, 0.1427286904765053e+0, 0.1858489473214328e-3 B A 6, 0.5701118433636380e+0, 0.1718112740057635e+0, 0.1875079342496592e-3 B A 6, 0.5990240530606021e+0, 0.2006944855985351e+0, 0.1887080239102310e-3 B A 6, 0.6266452685139695e+0, 0.2292335090598907e+0, 0.1894905752176822e-3 B A 6, 0.6529320971415942e+0, 0.2572871512353714e+0, 0.1898991061200695e-3 B A 6, 0.4791583834610126e+0, 0.2826094197735932e-1, 0.1809065016458791e-3 B A 6, 0.5130373952796940e+0, 0.5699871359683649e-1, 0.1836297121596799e-3 B A 6, 0.5456252429628476e+0, 0.8602712528554394e-1, 0.1858426916241869e-3 B A 6, 0.5768956329682385e+0, 0.1151748137221281e+0, 0.1875654101134641e-3 B A 6, 0.6068186944699046e+0, 0.1442811654136362e+0, 0.1888240751833503e-3 B A 6, 0.6353622248024907e+0, 0.1731930321657680e+0, 0.1896497383866979e-3 B A 6, 0.6624927035731797e+0, 0.2017619958756061e+0, 0.1900775530219121e-3 B A 6, 0.5484933508028488e+0, 0.2874219755907391e-1, 0.1858525041478814e-3 B A 6, 0.5810207682142106e+0, 0.5778312123713695e-1, 0.1876248690077947e-3 B A 6, 0.6120955197181352e+0, 0.8695262371439526e-1, 0.1889404439064607e-3 B A 6, 0.6416944284294319e+0, 0.1160893767057166e+0, 0.1898168539265290e-3 B A 6, 0.6697926391731260e+0, 0.1450378826743251e+0, 0.1902779940661772e-3 B A 6, 0.6147594390585488e+0, 0.2904957622341456e-1, 0.1890125641731815e-3 B A 6, 0.6455390026356783e+0, 0.5823809152617197e-1, 0.1899434637795751e-3 B A 6, 0.6747258588365477e+0, 0.8740384899884715e-1, 0.1904520856831751e-3 B A 6, 0.6772135750395347e+0, 0.2919946135808105e-1, 0.1905534498734563e-3 B break; } return n; } #undef A #undef B #if 0 #if !defined(M_PI) #define M_PI 3.14159265358979323846 #endif #define NMAX 65 #define MMAX ((NMAX*2+3)*(NMAX*2+3)/3) static void getangle(real x, real y, real z, real &a, real &b) { real ang_x, fact; b=acos(z); fact=std::sqrt(x*x+y*y); if(fact > 0) ang_x = ::acos(x/fact); else ang_x = ::acos(x); if(y < 0) ang_x = -ang_x; a=ang_x; a *= 180.0/M_PI; b *= 180.0/M_PI; } int main () { int i, j, k, m, M, N; static int NW[NMAX+1] = { 0, 6, 14, 26, 38, 50, 74, 86, 110, 146, 170, 194, 230, 266, 302, 350, 386, 434, 482, 530, 590, 650, 698, 770, 830, 890, 974,1046,1118,1202, 1274,1358,1454,1538,1622,1730,1814,1910,2030,2126,2222,2354,2450,2558,2702, 2810,2930,3074,3182,3314,3470,3590,3722,3890,4010,4154,4334,4466,4610,4802, 4934,5090,5294,5438,5606,5810 }; static int LMAXW[NMAX+1] = { 0, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53,55,57,59, 61,63,65,67,69,71,73,75,77,79,81,83,85,87,89, 91,93,95,97,99,101,103,105,107,109,111,113,115,117,119, 121,123,125,127,129,131 }; static real x[MMAX], y[MMAX], z[MMAX], w[MMAX], alpha[MMAX],beta[MMAX]; static real xn[MMAX*(NMAX+1)], yn[MMAX*(NMAX+1)], zn[MMAX*(NMAX+1)]; static real s[NMAX+2]; real S, S0, r, rmax; for (N = 1; N <= NMAX; N++) { M = NW[N]; if (Lebedev_Laikov_sphere (M, x, y, z, w) == 0) continue; s[0] = 1.0; for (k = 1; k <= N+1; k++) { s[k] = (2.0*k-1.0)*s[k-1]; } for (m = 0; m < M; m++) { xn[m*(N+1)] = 1.0; yn[m*(N+1)] = 1.0; zn[m*(N+1)] = 1.0; for (k = 1; k <= N; k++) { xn[k+m*(N+1)] = xn[k-1+m*(N+1)]*x[m]*x[m]; yn[k+m*(N+1)] = yn[k-1+m*(N+1)]*y[m]*y[m]; zn[k+m*(N+1)] = zn[k-1+m*(N+1)]*z[m]*z[m]; } } rmax = 0.0; for (i = 0; i <= N; i++) { for (j = 0; j <= N-i; j++) { k = N-i-j; for (S = 0.0, m = 0; m < M; m++) { S += w[m]*xn[i+m*(N+1)]*yn[j+m*(N+1)]*zn[k+m*(N+1)]; } S0 = s[i]*s[j]*s[k]/s[1+i+j+k]; r = fabs ((S-S0)/S0); if (r > rmax) rmax = r; #if 0 printf (" %2d %2d %2d %20.15lf %20.15lf\n", i, j, k, S0, r); #endif } } printf (" M = %4d, LMAXW = %4d, rmax = %8.1e\n", M, LMAXW[N], rmax); for (m = 0; m < M; m++) { getangle(x[m],y[m],z[m],alpha[m], beta[m]); /*printf (" %2d %20.15lf %20.15lf %20.15lf %20.15lf\n", (m+1), x[m], y[m], z[m], w[m] ); printf (" %2d %20.15lf %20.15lf %20.15lf\n", (m+1), alpha[m], beta[m], w[m] ); */ printf ("%20.15lf %20.15lf %20.15lf\n", alpha[m], beta[m], w[m] ); } } return 0; } #endif ergo-3.5/source/dft/grid_reader.h0000664000175000017500000000471612743400307013745 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* -*-mode:c; c-style:bsd; c-basic-offset:4;indent-tabs-mode:nil; -*- */ /** @file grid_reader.h Grid Generator interface. Functions for opening grid file, reading chunks from it, and closing the file, are provided. */ #if !defined(_GRID_READER_H_) #define _GRID_READER_H_ 1 #include "sparse_pattern.h" #include "grid_stream.h" #include "grid_interface.h" #include "grid_params.h" #include "grid_matrix.h" struct DftGridReader; Dft::Matrix* createGridMatrix(const Dft::FullMatrix& mat); Dft::Matrix* createGridMatrix(const Dft::SparseMatrix& mat); DftGridReader* grid_open_full(const class GridGenMolInfo *mol_info, const Dft::GridParams& gss, Dft::SparsePattern *pattern, const Dft::Matrix* dmat, const BasisInfoStruct& bis); bool grid_is_ready(); int grid_getchunk_blocked(DftGridReader* grid_handle, int maxlen, int *nblocks, int *shlblocks, real (*coor)[3], real *weight); #define grid_getchunk_plain(r,m,coor,w) \ (grid_getchunk_blocked((r),(m),NULL,NULL,(coor),(w))) void grid_close(DftGridReader *rawgrid); void grid_free_files(); void grid_set_tmpdir(const char *tmpdir); #endif /* !defined(_GRID_READER_H_) */ ergo-3.5/source/dft/grid_reader.cc0000664000175000017500000002647612743400307014112 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include #include #include "dft_common.h" #include "grid_reader.h" #include "grid_stream.h" #include "grid_hicu.h" #include "grid_matrix.h" class FullMatrixWrapper : public Dft::Matrix { const Dft::FullMatrix& matrix; public: explicit FullMatrixWrapper(const Dft::FullMatrix& m) : matrix(m) {} virtual ergo_real at(int row, int col) const { return matrix.mat[row + col*matrix.nbast]; } virtual bool isSparse() const { return false; } virtual const Dft::SparseMatrix* asSparse() const { throw std::runtime_error("Cannot converse full to sparse"); } virtual const ergo_real* asFull() const { return matrix.mat; } }; class SparseMatrixWrapper : public Dft::Matrix { const Dft::SparseMatrix& matrix; public: explicit SparseMatrixWrapper(const Dft::SparseMatrix& m) : matrix(m) {} virtual ergo_real at(int row, int col) const { return matrix.at(row, col); } virtual bool isSparse() const { return true; } virtual const Dft::SparseMatrix* asSparse() const { return & matrix; } virtual const ergo_real* asFull() const { throw std::runtime_error("cannot convert sparse to full"); } }; Dft::Matrix* createGridMatrix(const Dft::FullMatrix& mat) { return new FullMatrixWrapper(mat); } Dft::Matrix* createGridMatrix(const Dft::SparseMatrix& mat) { return new SparseMatrixWrapper(mat); } /* =================================================================== GENERAL GRID MANIPULATION ROUTINES. =================================================================== */ /* grid_get_fname, grid_set_tmpdir: helper routines for creating * unique grid file name and setting the temporary directory used for * storing the grid file. */ std::string grid_tmpdir; static char* grid_get_fname(const char *base, int filenum) { char *res; if(grid_tmpdir.empty()) { char *tmpdir = getenv("TMPDIR"); if(tmpdir) grid_tmpdir = tmpdir; else grid_tmpdir = "."; } res = (char*)malloc(strlen(base) + grid_tmpdir.length() + 15); sprintf(res, "%s/%s.%06u.%05d", grid_tmpdir.c_str(), base, (unsigned)getpid(), filenum); return res; } void grid_set_tmpdir(const char *tmpdir) { grid_tmpdir = tmpdir ? tmpdir : "."; } #define GRID_BASE_NAME "ERGO-grid" #define GRID_PATT_NAME "ERGO-patt" /* shared grid file */ static FILE *grid_file = NULL; static int grid_file_open_count = 0; static char *grid_file_name = NULL; static char *patt_file_name = NULL; static pthread_mutex_t grid_mutex = PTHREAD_MUTEX_INITIALIZER; static pthread_mutex_t grdone_mutex = PTHREAD_MUTEX_INITIALIZER; /** Frees all the cached data if any. */ void grid_free_files() { if(grid_file_name) { unlink(grid_file_name); free(grid_file_name); grid_file_name = NULL; } if(patt_file_name) { unlink(patt_file_name); free(patt_file_name); patt_file_name = NULL; } } static int grid_atexit_registered = 0; static void grid_atexit(void) { grid_free_files(); } bool grid_is_ready() { if (grid_file_name) return true; return false; } struct DftGridReader { FILE *f; }; static const int MY_MPI_NUM = 0; /* no MPI for now. */ static void grid_open_stream(const class GridGenMolInfo& molInfo, const Dft::GridParams& gss, Dft::SparsePattern *pattern, DftGridReader *reader) { pthread_mutex_lock(&grdone_mutex); if (!grid_file_name) { grid_file_name = grid_get_fname(GRID_BASE_NAME, MY_MPI_NUM); ErgoGridStream *egStream = grid_stream_new(gss, molInfo); if(pattern) grid_stream_set_sparse_pattern(egStream, pattern); grid_stream_generate(egStream, grid_file_name, dft_get_num_threads()); grid_stream_free(egStream); if(pattern) { patt_file_name = grid_get_fname(GRID_PATT_NAME, MY_MPI_NUM); FILE *f; if( (f = fopen(patt_file_name, "wb")) == NULL) throw "Cannot open pattern file for writing"; pattern->save(f); if(fclose(f) != 0) throw "Cannot close the sparse pattern file"; } } /* Grid generated if needed, setup time now! */ if(pattern) { FILE *f; if(!patt_file_name) throw "Dft::SparsePattern requested but unavailable."; if( (f = fopen(patt_file_name, "rb")) == NULL) throw "Cannot open pattern file for reading"; pattern->load(f); if(fclose(f) != 0) throw "Cannot close the sparse pattern file"; } if(!grid_file) grid_file = fopen(grid_file_name, "rb"); grid_file_open_count++; pthread_mutex_unlock(&grdone_mutex); reader->f= grid_file; if(grid_file == NULL) { perror("grid_open_standard: DFT quadrature grid file " GRID_BASE_NAME " not found"); free(reader); abort(); } } static void grid_open_cartesian(const BasisInfoStruct& bis, const Dft::GridParams& gss, const Dft::Matrix* dmat, Dft::SparsePattern *pattern, DftGridReader *reader) { pthread_mutex_lock(&grdone_mutex); if (!grid_file_name) { grid_file_name = grid_get_fname(GRID_BASE_NAME, MY_MPI_NUM); hicu_grid_generate(grid_file_name, bis, gss.hicuParams.maxError, gss.hicuParams.box_size, gss.hicuParams.start_box_size_debug, gss.hicuParams.use_error_per_volume, gss.hicuParams.do_double_checking, gss.hicuParams.compare_to_refined, gss.hicuParams.use_energy_criterion, gss.hicuParams.use_energy_criterion_only, gss.hicuParams.do_variation_checking, dmat, pattern, dft_get_num_threads(), false); if(pattern) { patt_file_name = grid_get_fname(GRID_PATT_NAME, MY_MPI_NUM); FILE *f; if( (f = fopen(patt_file_name, "wb")) == NULL) throw "Cannot open pattern file for writing"; pattern->save(f); if(fclose(f) != 0) throw "Cannot close the sparse pattern file"; } } /* Grid generated if needed, setup time now! */ if(pattern) { FILE *f; if(!patt_file_name) throw "Dft::SparsePattern requested but unavailable."; if( (f = fopen(patt_file_name, "rb")) == NULL) throw "Cannot open pattern file for reading"; pattern->load(f); if(fclose(f) != 0) throw "Cannot close the sparse pattern file"; } if(!grid_file) grid_file = fopen(grid_file_name, "rb"); grid_file_open_count++; pthread_mutex_unlock(&grdone_mutex); reader->f= grid_file; if(grid_file == NULL) { perror("grid_open_cartesian: DFT quadrature grid file " GRID_BASE_NAME " not found"); free(reader); abort(); } } /** Returns a handle to a grid file. Sets the sparse pattern if passed. Observe that sparse pattern must be passed the first time to get generated. Otherwise, subsequent calls will not be able to set it. */ DftGridReader* grid_open_full(const class GridGenMolInfo *mol_info, const Dft::GridParams& gss, Dft::SparsePattern *pattern, const Dft::Matrix* dmat, const BasisInfoStruct& bis) { DftGridReader *res = dal_new(1,DftGridReader); if(!grid_atexit_registered) { atexit(grid_atexit); grid_atexit_registered = 1; } switch(gss.gridType) { case Dft::GridParams::TYPE_STANDARD: grid_open_stream(*mol_info, gss, pattern, res); return res; case Dft::GridParams::TYPE_HICU: grid_open_cartesian(bis, gss, dmat, pattern, res); return res; default: perror("Error in grid_open: unknown grid type\n"); free(res); abort(); } /* END SWITCH */ } /** grid_getchunk_blocked() reads grid data also with screening information if only nblocks and shlblocks are provided. @param rawgrid shared grid handle. @param maxlen the upper limit on the grid point chunk length. @param nBlocks will contain number of active b.f. blocks. May be NULL if uninteresting. @param shlBlocks pointer to the shell block range. @param coor array with grid point coordinates. @param weight array with grid point weights. @return number of read grid points. -1 on end-of-file. */ int grid_getchunk_blocked(DftGridReader* rawgrid, int maxlen, int *nBlocks, int *shlBlocks, real (*coor)[3], real *weight) { int points = 0, rc, bl_cnt; FILE *f; pthread_mutex_lock(&grid_mutex); f = rawgrid->f; if(fread(&points, sizeof(int), 1, f) <1) { points = -1; /* end of file */ goto unlock_and_quit; } if(points>maxlen) { fprintf(stderr, "grid_getchunk: too long vector length in file: %d > %d\n" "Calculation will stop.\n", points, maxlen); throw "grid_getchunk: too long vector length in file."; points = -1; /* stop this! */ goto unlock_and_quit; } if(fread(&bl_cnt, sizeof(unsigned), 1, f) <1) { puts("OCNT reading error."); points = -1; goto unlock_and_quit; } if(nBlocks) *nBlocks = bl_cnt; if(shlBlocks) { rc = fread(shlBlocks, sizeof(int), bl_cnt*2, f); } else { int buf, cnt; rc = 0; for(cnt=0; cnt. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #if !defined(_XC_MATRIX_SPARSE_H_) #define _XC_MATRIX_SPARSE_H_ 1 #define BEGIN_NAMESPACE(x) namespace x { #define END_NAMESPACE(x) } /* x */ #include "basisinfo.h" #include "matrix_typedefs.h" #include "realtype.h" typedef ergo_real real; BEGIN_NAMESPACE(Dft) real getXC_seq(const BasisInfoStruct& bis, const IntegralInfo& integralInfo, const Molecule& mol, const Dft::GridParams& gss, int nelectrons, const symmMatrix& dmat, symmMatrix& ksm, real* edfty, std::vector const & permutationHML); real getXC_mt(const BasisInfoStruct& bis, const IntegralInfo& integralInfo, const Molecule& mol, const Dft::GridParams& gss, int nElectrons, const symmMatrix& dens, symmMatrix& xcm, real* xcEnergy, std::vector const & permutationHML); real getUXC_seq(const BasisInfoStruct& bis, const IntegralInfo& integralInfo, const Molecule& mol, const Dft::GridParams& gss, int nElectrons, const symmMatrix& densA, const symmMatrix& densB, symmMatrix& xcA, symmMatrix& xcB, real* xcEnergy, std::vector const & permutationHML); real getUXC_mt(const BasisInfoStruct& bis, const IntegralInfo& integralInfo, const Molecule& mol, const Dft::GridParams& gss, int nElectrons, const symmMatrix& densA, const symmMatrix& densB, symmMatrix& xcA, symmMatrix& xcB, real* xcEnergy, std::vector const & permutationHML); END_NAMESPACE(Dft) #endif /* _XC_MATRIX_SPARSE_H_ */ ergo-3.5/source/dft/fun-lyp.c0000664000175000017500000017065412743400307013070 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file fun-lyp.c Implementation of LYP functional and its derivatives. (c) Pawel Salek, pawsa@theochem.kth.se, oct 2001 Z. Rinkevicius modification for open-shell, general 5 variables formalism. */ #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int lyp_isgga(void) { return 1; } static int lyp_read(const char* conf_line); static real lyp_energy(const FunDensProp* dp); static void lyp_first(FunFirstFuncDrv *ds, real fac, const FunDensProp* dp); static void lyp_second(FunSecondFuncDrv *ds, real fac, const FunDensProp* dp); static void lyp_third(FunThirdFuncDrv *ds, real fac, const FunDensProp* dp); static void lyp_fourth(FunFourthFuncDrv *ds, real fac, const FunDensProp* dp); Functional LYPFunctional = { "LYP", /* name */ lyp_isgga, /* gga-corrected */ lyp_read, /* no extra input expected, just set the common block */ NULL, /* reporter */ lyp_energy, lyp_first, lyp_second, lyp_third, lyp_fourth }; /* IMPLEMENTATION PART */ static int lyp_read(const char* conf_line) { fun_set_hf_weight(0.0); return 1; } /** The LYP formulas are based on Miehlich et al. article (CPL 157, p. 200, 1989). The implementation works also for unrestricted case (which is more important than you think). */ static real lyp_energy(const FunDensProp* dp) { const real A = 0.04918, B = 0.132, C = 0.2533, D = 0.349; const real CF = 0.3*POW(3*M_PI*M_PI,2.0/3.0); real rho, rhom13, denom, omega, delta, ret, ngrad2, ngrada2, ngradb2; real rho2, t1, t2, t3, t4, t5, t6; real rhoa = dp->rhoa; real rhob = dp->rhob; real grada = dp->grada; real gradb = dp->gradb; rho = rhoa+rhob; rho2 = rho*rho; ngrada2 = grada*grada; ngradb2 = gradb*gradb; ngrad2 = ngrada2+ngradb2+2*dp->gradab; rhom13 = POW(rho,-1.0/3.0); denom = 1+D*rhom13; omega = EXP(-C*rhom13)/denom*POW(rho,-11.0/3.0); delta = rhom13*(C + D/denom); t1 = POW(2.0,11.0/3.0)*CF*(POW(rhoa,8.0/3.0) +POW(rhob,8.0/3.0)); t2 = (47.0 - 7.0*delta)*ngrad2/18.0; t3 = -(2.5 -delta/18.0)*(ngrada2+ngradb2); t4 = (11.0-delta)/9.0*(rhoa*ngrada2 + rhob*ngradb2)/rho; t5 = -2.0/3.0*rho2*ngrad2; t6 = ((2.0/3.0*rho2-rhoa*rhoa)*ngradb2 + (2.0/3.0*rho2-rhob*rhob)*ngrada2); ret = -A*(4*rhoa*rhob/(denom*rho) +B*omega*(rhoa*rhob*(t1+t2+t3+t4)+t5+t6)); return ret; } /* lyp_first: the derivatives of LYP functional wrt alpha density and gradient, suitable for unrestricted calculations. lyprho : dF/drhoa lypgrad: dF/dngrada See Doc/dft/functionals.tex for details. */ static void lyp_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { const real A = 0.04918, B = 0.132, C = 0.2533, D = 0.349; const real CF = 0.3*POW(3*M_PI*M_PI,2.0/3.0); real rho, expcr, grad, om, dl, f1, f2, rho2, rhoa2, rhob2; real rho13, drho3_2, drho13, grad2, grada2, gradb2, om_1, dl_1; real f0_1000, f1_1000, f1_0010, f2_1000, f2_0010, sA, sA10; real f0_0100, f1_0100, f1_0001, f2_0100, f2_0001, sA01; real f1_00001, f2_00001; real rhoa = dp->rhoa; real rhob = dp->rhob; real grada = dp->grada; real gradb = dp->gradb; rho = rhoa + rhob; rho2 = rho*rho; rhoa2 = rhoa*rhoa; rhob2 = rhob*rhob; grad = grada+gradb; rho13 = POW(rho,1.0/3.0); drho13 = D+rho13; drho3_2= drho13*drho13; expcr = EXP(-C/rho13); grada2 = grada*grada; gradb2 = gradb*gradb; grad2 = grada2+gradb2+2*dp->gradab; sA = (rhoa*grada2+rhob*gradb2)/rho; sA10 = (grada-gradb)*grad*rhob/rho2; sA01 = (gradb-grada)*grad*rhoa/rho2; om = expcr*POW(rho,-11.0/3.0)/(1.0+D/rho13); om_1 = (-11*rho*rho13+rho*(C-10*D)+rho/rho13*C*D)/ (3*POW(rho,16.0/3.0)*drho3_2)*expcr; dl = C/rho13 + D/(rho13*(1+D/rho13)); dl_1 = (-C*drho3_2-D*rho/rho13)/(3*rho*rho13*drho3_2); f0_1000 = 4*rhob*(D*rhoa+3*rhob*drho13)*rho13 /(3*rho*rho*drho3_2); f0_0100 = 4*rhoa*(D*rhob+3*rhoa*drho13)*rho13 /(3*rho*rho*drho3_2); f1 = POW(2.0, 11.0/3.0)*CF*(POW(rhoa,8.0/3.0)+POW(rhob,8.0/3.0)) + (47-7*dl)*grad2/18.0 +(dl-45)*(grada2+gradb2)/18.0 + (11-dl)*sA/9.0; f1_1000 = POW(2.0,11.0/3.0)*CF*8.0/3.0*POW(rhoa,5.0/3.0) + (grada2+gradb2-7*grad2-2*sA)*dl_1/18.0 + (11-dl)*sA10/9.0; f1_0100 = POW(2.0,11.0/3.0)*CF*8.0/3.0*POW(rhob,5.0/3.0) + (grada2+gradb2-7*grad2-2*sA)*dl_1/18.0 + (11-dl)*sA01/9.0; f1_0010 = (47-7*dl)*grada/9.0 + (dl-45+(22-2*dl)*rhoa/rho)*grada/9.0; f1_0001 = (47-7*dl)*gradb/9.0 + (dl-45+(22-2*dl)*rhob/rho)*gradb/9.0; f2 = -2.0/3.0*rho2*grad2 +(2.0/3.0*rho2-rhoa2)*gradb2+(2.0/3.0*rho2-rhob2)*grada2; f2_1000 = -8.0/3.0*rho*dp->gradab - 2*rhoa*gradb2; f2_0100 = -8.0/3.0*rho*dp->gradab - 2*rhob*grada2; f2_0010 = -2.0*rhob2*grada; f2_0001 = -2.0*rhoa2*gradb; f1_00001 = (47-7*dl)/9.0; f2_00001 = -4.0/3.0*rho2; /* the final section: begin */ ds->df1000 += factor*(-A*f0_1000-A*B*om_1*(rhoa*rhob*f1+f2) -A*B*om*(rhob*f1+rhoa*rhob*f1_1000+f2_1000)); ds->df0100 += factor*(-A*f0_0100-A*B*om_1*(rhoa*rhob*f1+f2) -A*B*om*(rhoa*f1+rhoa*rhob*f1_0100+f2_0100)); ds->df0010 += factor*(-A*B*om*(rhoa*rhob*f1_0010+f2_0010)); ds->df0001 += factor*(-A*B*om*(rhoa*rhob*f1_0001+f2_0001)); ds->df00001+= factor*(-A*B*om*(rhoa*rhob*f1_00001+f2_00001)); } /* lyp_second: second order derivatives of LYP functional with respect to alpha density and gradient. */ static void lyp_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { const real A = 0.04918, B = 0.132, C = 0.2533, D = 0.349; const real CF = 0.3*POW(3*M_PI*M_PI,2.0/3.0); real rho, expcr, grad, om, dl, f1, f2, rho2, rhoa2, rhob2, rhoab, de, de1; real rho13, drho3_2, drho13, grad2, grada2, gradb2, om_1, dl_1, dl_2; real omx, omx1, omx2, om_2, drho3_3; real sA, sA1000, sA0100, sA2000, sA0200, sA1100; real f0_1000, f1_1000, f1_0010, f2_1000, f2_0010; real f0_0100, f1_0100, f1_0001, f2_0100, f2_0001; real f1_2000, f1_0200, f1_0020, f1_0002; real f2_2000, f2_0200, f2_0020, f2_0002; real f1_1100, f1_1010, f1_1001, f1_0101, f1_0110, f1_10001, f1_01001; real f2_1100, f2_1010, f2_1001, f2_0101, f2_0110, f2_10001, f2_01001; real f1_00001, f2_00001; real f0_2000, f0_0200, f0_1100; real rff, rff_1000, rff_0100; real rff_2000, rff_0200, rff_0010, rff_0001, rff_00001; real rff_1100, rff_1010, rff_0101, rff_10001, rff_01001; real rhoa = dp->rhoa; real rhob = dp->rhob; real grada = dp->grada; real gradb = dp->gradb; rho = rhoa + rhob; rho2 = rho*rho; rhoa2 = rhoa*rhoa; rhob2 = rhob*rhob; rhoab = rhoa*rhob; grad = grada+gradb; rho13 = POW(rho,1.0/3.0); drho13 = D+rho13; drho3_2= drho13*drho13; drho3_3= drho13*drho3_2; expcr = EXP(-C/rho13); de = C/(3*rho*rho13); de1 = -4.0*C/(9*rho2*rho13); grada2 = grada*grada; gradb2 = gradb*gradb; grad2 = grada2+gradb2+2*dp->gradab; /* s derivatives */ sA = (rhoa*grada2+rhob*gradb2)/rho; sA1000 = (grada-gradb)*grad*rhob/rho2; sA0100 = (gradb-grada)*grad*rhoa/rho2; sA2000 = -2*sA1000/rho; sA0200 = -2*sA0100/rho; sA1100 = (rhoa-rhob)*(grada-gradb)*grad/(rho2*rho); /* omega derivatives */ omx = POW(rho,-11.0/3.0)/(1.0+D/rho13); omx1 = (-11*rho13-10*D)/(3*rho2*rho2*rho13*drho3_2); omx2 = 2*(77*rho/rho13+141*D*rho13+65*D*D)/ (9*POW(rho, 16.0/3.0)*drho3_3); om = expcr*omx; om_1 = expcr*(omx1 + omx*de); om_2 = expcr*(omx2 + 2*omx1*de + omx*(de1+de*de)); /* delta derivatives */ dl = C/rho13 + D/(rho13*(1+D/rho13)); dl_1 = (-C*drho3_2-D*rho/rho13)/(3*rho*rho13*drho3_2); dl_2 = (4*rho*(C+D) + 2*D*(6*rho13*C*D +2*C*D*D + rho/rho13*(6*C+D)))/ (9*rho2*rho13*drho3_3); /* f0 derivatives */ f0_1000 = 4*rhob*(D*rhoa+3*rhob*drho13)*rho13 /(3*rho*rho*drho3_2); f0_0100 = 4*rhoa*(D*rhob+3*rhoa*drho13)*rho13 /(3*rho*rho*drho3_2); f0_2000 = -8*rhob*(rhoa*D*(D+2*rho13)+3*rhob*drho13*(2*D+3*rho13))/ (9*rho2*rho/rho13*drho3_2*drho13); f0_0200 = -8*rhoa*(rhob*D*(D+2*rho13)+3*rhoa*drho13*(2*D+3*rho13))/ (9*rho2*rho/rho13*drho3_2*drho13); f0_1100 = 4*(18*rhoa*rhob*rho/rho13 + rho13*(3*rhoa2+32*rhoab+3*rhob2)*D + (3*rhoa2+16*rhoab+3*rhob2)*D*D)/(9*rho2*rho/rho13*drho3_3); /* f1 derivatives */ f1 = POW(2.0, 11.0/3.0)*CF*(POW(rhoa,8.0/3.0)+POW(rhob,8.0/3.0)) + (47-7*dl)*grad2/18.0 +(dl-45)*(grada2+gradb2)/18.0 + (11-dl)*sA/9.0; f1_1000 = POW(2.0,11.0/3.0)*CF*8.0/3.0*POW(rhoa,5.0/3.0) + (grada2+gradb2-7*grad2-2*sA)*dl_1/18.0 + (11-dl)*sA1000/9.0; f1_0100 = POW(2.0,11.0/3.0)*CF*8.0/3.0*POW(rhob,5.0/3.0) + (grada2+gradb2-7*grad2-2*sA)*dl_1/18.0 + (11-dl)*sA0100/9.0; f1_0010 = (47-7*dl)*grada/9.0 + (dl-45+(22-2*dl)*rhoa/rho)*grada/9.0; f1_0001 = (47-7*dl)*gradb/9.0 + (dl-45+(22-2*dl)*rhob/rho)*gradb/9.0; f1_00001 = (47-7*dl)/9.0; f1_2000 = POW(2.0,11.0/3.0)*CF*40.0/9.0*POW(rhoa,2.0/3.0) - 2*sA1000*dl_1/9.0 + (grada2+gradb2-7*grad2-2*sA)*dl_2/18.0 + (11-dl)*sA2000/9.0; f1_0200 = POW(2.0,11.0/3.0)*CF*40.0/9.0*POW(rhob,2.0/3.0) - 2*sA0100*dl_1/9.0 + (grada2+gradb2-7*grad2-2*sA)*dl_2/18.0 + (11-dl)*sA0200/9.0; f1_0020 = (47-7*dl)/9.0+(dl-45+(22-2*dl)*rhoa/rho)/9.0; f1_0002 = (47-7*dl)/9.0+(dl-45+(22-2*dl)*rhob/rho)/9.0; f1_1100 = -2*sA0100*dl_1/18.0+(grada2+gradb2-7*grad2-2*sA)*dl_2/18.0 -dl_1*sA1000/9.0+(11-dl)*sA1100/9.0; f1_1010 = (grada*(1-2*rhoa/rho)-7.0*grada)*dl_1/9.0 + (11-dl)*rhob/rho2*grada/4.5; f1_0101 = (gradb*(1-2*rhob/rho)-7.0*gradb)*dl_1/9.0 + (11-dl)*rhoa/rho2*gradb/4.5; f1_1001 = (gradb*(1-2*rhob/rho)-7.0*gradb)*dl_1/9.0 - (11-dl)*rhob/rho2*gradb/4.5; f1_0110 = (grada*(1-2*rhoa/rho)-7.0*grada)*dl_1/9.0 - (11-dl)*rhoa/rho2*grada/4.5; f1_10001 = -7.0*dl_1/9.0; f1_01001 = -7.0*dl_1/9.0; /* f2 derivatives */ f2 = -2.0/3.0*rho2*grad2 +(2.0/3.0*rho2-rhoa2)*gradb2+(2.0/3.0*rho2-rhob2)*grada2; f2_1000 = -8.0/3.0*rho*dp->gradab - 2.0*rhoa*gradb2; f2_0100 = -8.0/3.0*rho*dp->gradab - 2.0*rhob*grada2; f2_0010 = -2.0*rhob2*grada; f2_0001 = -2.0*rhoa2*gradb; f2_00001 = -4.0/3.0*rho2; f2_2000 = -8.0/3.0*dp->gradab - 2.0*gradb2; f2_0200 = -8.0/3.0*dp->gradab - 2.0*grada2; f2_0020 = -2.0*rhob2; f2_0002 = -2.0*rhoa2; f2_1100 = -8.0/3.0*dp->gradab; f2_1010 = 0.0; f2_0101 = 0.0; f2_1001 = -4.0*rhoa*gradb; f2_0110 = -4.0*rhob*grada; f2_10001 = -8.0/3.0*rho; f2_01001 = -8.0/3.0*rho; /* derivatives sums */ rff = rhoa*rhob*f1+f2; rff_1000 = rhob*f1+rhoa*rhob*f1_1000+f2_1000; rff_0100 = rhoa*f1+rhoa*rhob*f1_0100+f2_0100; rff_2000 = 2*rhob*f1_1000+rhoa*rhob*f1_2000+f2_2000; rff_0200 = 2*rhoa*f1_0100+rhoa*rhob*f1_0200+f2_0200; rff_1100 = f1+rhob*f1_0100+rhoa*f1_1000+rhoa*rhob*f1_1100+f2_1100; rff_0010 = rhoa*rhob*f1_0010+f2_0010; rff_0001 = rhoa*rhob*f1_0001+f2_0001; rff_1010 = rhob*f1_0010+rhoa*rhob*f1_1010+f2_1010; rff_0101 = rhoa*f1_0001+rhoa*rhob*f1_0101+f2_0101; /* derivatives sum with respect grada*gradb */ rff_00001 = rhoa*rhob*f1_00001+f2_00001; rff_10001 = rhob*f1_00001+rhoa*rhob*f1_10001+f2_10001; rff_01001 = rhoa*f1_00001+rhoa*rhob*f1_01001+f2_01001; /* the final section: first derivatives */ ds->df1000 += factor*(-A*f0_1000-A*B*om_1*(rhoa*rhob*f1+f2) -A*B*om*(rhob*f1+rhoa*rhob*f1_1000+f2_1000)); ds->df0100 += factor*(-A*f0_0100-A*B*om_1*(rhoa*rhob*f1+f2) -A*B*om*(rhoa*f1+rhoa*rhob*f1_0100+f2_0100)); ds->df0010 += factor*(-A*B*om*(rhoa*rhob*f1_0010+f2_0010)); ds->df0001 += factor*(-A*B*om*(rhoa*rhob*f1_0001+f2_0001)); ds->df00001 += factor*(-A*B*om*(rhoa*rhob*f1_00001+f2_00001)); /* the final section: second derivatives */ ds->df2000 += factor*(-A*f0_2000 -A*B*(om_2*rff+2*om_1*rff_1000+om*rff_2000)); ds->df0200 += factor*(-A*f0_0200 -A*B*(om_2*rff+2*om_1*rff_0100+om*rff_0200)); ds->df0020 += factor*(-A*B*om*(rhoa*rhob*f1_0020+f2_0020)); ds->df0002 += factor*(-A*B*om*(rhoa*rhob*f1_0002+f2_0002)); /* the mixed derivatives */ ds->df1100 += factor*(-A*f0_1100-A*B*(om_2*rff+om_1*rff_0100+ om_1*rff_1000 + om*rff_1100)); ds->df1010 += factor*(-A*B*(om_1*rff_0010+om*rff_1010)); ds->df1001 += factor*(-A*B*(om_1*(rhoa*rhob*f1_0001+f2_0001) + om*(rhob*f1_0001+rhoa*rhob*f1_1001+f2_1001))); ds->df0101 += factor*(-A*B*(om_1*rff_0001+om*rff_0101)); ds->df0110 += factor*(-A*B*(om_1*(rhoa*rhob*f1_0010+f2_0010) + om*(rhoa*f1_0010+rhoa*rhob*f1_0110+f2_0110))); ds->df10001 += factor*(-A*B*(om_1*rff_00001+om*rff_10001)); ds->df01001 += factor*(-A*B*(om_1*rff_00001+om*rff_01001)); } static void lyp_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { const real A = 0.04918, B = 0.132, C = 0.2533, D = 0.349; const real CF = 0.3*POW(3*M_PI*M_PI,2.0/3.0); real rho, expcr, grad, om, dl, f1, f2, rho2, rhoa2, rhob2, rhoab; real de, de1, de2; real rho13, drho3_2, drho13, grad2, grada2, gradb2, om_1, dl_1, dl_2, dl_3; real omx, omx1, omx2,omx3, om_2,om_3, drho3_3; real sA, sA1000, sA0100, sA2000, sA0200, sA1100, sA3000, sA0300, sA2100; real sA1200; real f0_1000, f1_1000, f1_0010, f2_1000, f2_0010; real f0_0100, f1_0100, f1_0001, f2_0100, f2_0001; real f1_2000, f1_0200, f1_0020, f1_0002; real f2_2000, f2_0200, f2_0020, f2_0002; real f1_1100, f1_1010, f1_1001, f1_0101, f1_0110, f1_10001, f1_01001; real f2_1100, f2_1010, f2_1001, f2_0101, f2_0110, f2_10001, f2_01001; real f1_00001, f2_00001; real f0_2000, f0_0200, f0_1100, f0_3000, f0_0300, f0_2100, f0_1200; real f1_3000, f1_0300, f1_2100, f1_1200; real f1_2010, f1_2001, f1_0201, f1_0210, f1_1020, f1_0102,f1_1002, f1_0120; real f1_1110, f1_1101, f1_20001, f1_02001, f1_11001; real f2_2001, f2_0210, f2_1002, f2_0120, f2_20001, f2_02001, f2_11001; real rff, rff_1000, rff_0100; real rff_2000, rff_0200, rff_0010, rff_0001, rff_00001; real rff_1100, rff_1010, rff_0101, rff_10001,rff_01001, rff_20001, rff_02001; real rff_3000, rff_0300, rff_2100, rff_1200, rff_1110, rff_1101, rff_11001; real rff_2010, rff_2001, rff_1001, rff_0201, rff_0210, rff_0110; real rhoa = dp->rhoa; real rhob = dp->rhob; real grada = dp->grada; real gradb = dp->gradb; rho = rhoa + rhob; rho2 = rho*rho; rhoa2 = rhoa*rhoa; rhob2 = rhob*rhob; rhoab = rhoa*rhob; grad = grada+gradb; rho13 = POW(rho,1.0/3.0); drho13 = D+rho13; drho3_2= drho13*drho13; drho3_3= drho13*drho3_2; expcr = EXP(-C/rho13); de = C/(3*rho*rho13); de1 = -4.0*C/(9*rho2*rho13); de2 = -de1*7.0/(3*rho); grada2 = grada*grada; gradb2 = gradb*gradb; grad2 = grada2+gradb2+2*dp->gradab; /* s derivatives */ sA = (rhoa*grada2+rhob*gradb2)/rho; sA1000 = (grada-gradb)*grad*rhob/rho2; sA0100 = (gradb-grada)*grad*rhoa/rho2; sA2000 = -2*sA1000/rho; sA0200 = -2*sA0100/rho; sA1100 = (rhoa-rhob)*(grada-gradb)*grad/(rho2*rho); sA2100 = -2*sA1100/rho+2*sA1000/rho2; sA1200 = -2*sA1100/rho+2*sA0100/rho2; sA3000 = -3*sA2000/rho; sA0300 = -3*sA0200/rho; /* omega derivatives */ omx = POW(rho,-11.0/3.0)/(1.0+D/rho13); omx1 = (-11*rho13-10*D)/(3*rho2*rho2*rho13*drho3_2); omx2 = 2*(77*rho/rho13+141*D*rho13+65*D*D)/ (9*POW(rho, 16.0/3.0)*drho3_3); omx3 = -2*(1309*rho+3616*rho/rho13*D+3350*rho13*D*D+1040*D*D*D)/ (27*POW(rho,19.0/3.0)*(drho3_2*drho3_2)); om = expcr*omx; om_1 = expcr*(omx1 + omx*de); om_2 = expcr*(omx2 + 2*omx1*de + omx*(de1+de*de)); om_3 = expcr*(omx3+3*omx2*de+3*omx1*(de1+de*de) +omx*(de2 + 3*de1*de+ de*de*de)); /* delta derivatives */ dl = C/rho13 + D/(rho13*(1+D/rho13)); dl_1 = (-C*drho3_2-D*rho/rho13)/(3*rho*rho13*drho3_2); dl_2 = (4*rho*(C+D) + 2*D*(6*rho13*C*D +2*C*D*D + rho/rho13*(6*C+D)))/ (9*rho2*rho13*drho3_3); dl_3 = (-2*rho/rho13*D*D*(84*C+5*D)-4*D*(rho*(28*C+8*D)+7*C*D*D*D) -28*rho13*(4*C*D*D*D+rho*(C+D)))/ (27*rho2*rho*rho13*drho3_2*drho3_2); /* f0 derivatives */ f0_1000 = 4*rhob*(D*rhoa+3*rhob*drho13)*rho13 /(3*rho*rho*drho3_2); f0_0100 = 4*rhoa*(D*rhob+3*rhoa*drho13)*rho13 /(3*rho*rho*drho3_2); f0_2000 = -8*rhob*(rhoa*D*(D+2*rho13)+3*rhob*drho13*(2*D+3*rho13))/ (9*rho2*rho/rho13*drho3_2*drho13); f0_0200 = -8*rhoa*(rhob*D*(D+2*rho13)+3*rhoa*drho13*(2*D+3*rho13))/ (9*rho2*rho/rho13*drho3_2*drho13); f0_1100 = 4*(18*rhoa*rhob*rho/rho13 + rho13*(3*rhoa2+32*rhoab+3*rhob2)*D + (3*rhoa2+16*rhoab+3*rhob2)*D*D)/(9*rho2*rho/rho13*drho3_3); f0_3000 = 8*rhob*(81*rhoa*rhob+81*rhob2+2*rho/rho13*(7*rhoa+99*rhob)*D +2*rho13*(8*rhoa+81*rhob)*D*D+(5*rhoa+45*rhob)*D*D*D)/ (27*POW(rho,11.0/3.0)*drho3_2*drho3_2); f0_0300 = 8*rhoa*(81*rhob*rhoa+81*rhoa2+2*rho/rho13*(7*rhob+99*rhoa)*D +2*rho13*(8*rhob+81*rhoa)*D*D+(5*rhob+45*rhoa)*D*D*D)/ (27*POW(rho,11.0/3.0)*drho3_2*drho3_2); f0_2100 = 8*(-54*rhoa2*rhob-27*rhoa*rhob2+27*rhob2*rhob -2*rho/rho13*(3*rhoa2+65*rhoab-30*rhob2)*D -rho13*(9*rhoa2+110*rhoab-45*rhob2)*D*D +(12*rhob2-3*rhoa2-31*rhoab)*D*D*D)/ (27*rho2*rho2/rho13*drho3_3*drho13); f0_1200 = 8*(-54*rhob2*rhoa-27*rhob*rhoa2+27*rhoa2*rhoa -2*rho/rho13*(3*rhob2+65*rhoab-30*rhoa2)*D -rho13*(9*rhob2+110*rhoab-45*rhoa2)*D*D +(12*rhoa2-3*rhob2-31*rhoab)*D*D*D)/ (27*rho2*rho2/rho13*drho3_3*drho13); /* f1 derivatives */ f1 = POW(2.0, 11.0/3.0)*CF*(POW(rhoa,8.0/3.0)+POW(rhob,8.0/3.0)) + (47-7*dl)*grad2/18.0 +(dl-45)*(grada2+gradb2)/18.0 + (11-dl)*sA/9.0; f1_1000 = POW(2.0,11.0/3.0)*CF*8.0/3.0*POW(rhoa,5.0/3.0) + (grada2+gradb2-7*grad2-2*sA)*dl_1/18.0 + (11-dl)*sA1000/9.0; f1_0100 = POW(2.0,11.0/3.0)*CF*8.0/3.0*POW(rhob,5.0/3.0) + (grada2+gradb2-7*grad2-2*sA)*dl_1/18.0 + (11-dl)*sA0100/9.0; f1_0010 = (47-7*dl)*grada/9.0 + (dl-45+(22-2*dl)*rhoa/rho)*grada/9.0; f1_0001 = (47-7*dl)*gradb/9.0 + (dl-45+(22-2*dl)*rhob/rho)*gradb/9.0; f1_00001 = (47-7*dl)/9.0; f1_2000 = POW(2.0,11.0/3.0)*CF*40.0/9.0*POW(rhoa,2.0/3.0) - 2*sA1000*dl_1/9.0 + (grada2+gradb2-7*grad2-2*sA)*dl_2/18.0 + (11-dl)*sA2000/9.0; f1_0200 = POW(2.0,11.0/3.0)*CF*40.0/9.0*POW(rhob,2.0/3.0) - 2*sA0100*dl_1/9.0 + (grada2+gradb2-7*grad2-2*sA)*dl_2/18.0 + (11-dl)*sA0200/9.0; f1_0020 = (47-7*dl)/9.0+(dl-45+(22-2*dl)*rhoa/rho)/9.0; f1_0002 = (47-7*dl)/9.0+(dl-45+(22-2*dl)*rhob/rho)/9.0; f1_1100 = -sA0100*dl_1/9.0+(grada2+gradb2-7*grad2-2*sA)*dl_2/18.0 -dl_1*sA1000/9.0+(11-dl)*sA1100/9.0; f1_1010 = (grada*(1-2*rhoa/rho)-7.0*grada)*dl_1/9.0 + (11-dl)*rhob/rho2*grada/4.5; f1_0101 = (gradb*(1-2*rhob/rho)-7.0*gradb)*dl_1/9.0 + (11-dl)*rhoa/rho2*gradb/4.5; f1_1001 = (gradb*(1-2*rhob/rho)-7.0*gradb)*dl_1/9.0 - (11-dl)*rhob/rho2*gradb/4.5; f1_0110 = (grada*(1-2*rhoa/rho)-7.0*grada)*dl_1/9.0 - (11-dl)*rhoa/rho2*grada/4.5; f1_10001 = -7.0*dl_1/9.0; f1_01001 = -7.0*dl_1/9.0; f1_3000 = POW(2.0,11.0/3.0)*CF*80.0/27.0*POW(rhoa,-1.0/3.0) - 2*sA2000*dl_1/9.0 - 2*sA1000*dl_2/9.0 + (grada2+gradb2-7*grad2-2*sA)*dl_3/18.0 - sA1000*dl_2/9.0 -dl_1*sA2000/9.0 + (11-dl)*sA3000/9.0 ; f1_0300 = POW(2.0,11.0/3.0)*CF*80.0/27.0*POW(rhob,-1.0/3.0) - 2*sA0200*dl_1/9.0 - 2*sA0100*dl_2/9.0 + (grada2+gradb2-7*grad2-2*sA)*dl_3/18.0 - sA0100*dl_2/9.0 -dl_1*sA0200/9.0 + (11-dl)*sA0300/9.0 ; f1_2100 = - 2*(sA1100*dl_1+sA1000*dl_2)/9.0 + (grada2+gradb2-7*grad2-2*sA)*dl_3/18.0-sA0100*dl_2/9.0 + (11-dl)*sA2100/9.0-dl_1*sA2000/9.0; f1_1200 = - 2*(sA1100*dl_1+sA0100*dl_2)/9.0 + (grada2+gradb2-7*grad2-2*sA)*dl_3/18.0-sA1000*dl_2/9.0 + (11-dl)*sA1200/9.0-dl_1*sA0200/9.0; f1_2010 = (grada-7.0*grada)*dl_2/9.0 +(-dl_1*rhob/rho2-2*(11-dl)*rhob/(rho2*rho) -dl_2*rhoa/rho-dl_1*rhob/rho2)*grada/4.5; f1_0201 = (gradb-7.0*gradb)*dl_2/9.0 +(-dl_1*rhoa/rho2-2*(11-dl)*rhoa/(rho2*rho) -dl_2*rhob/rho-dl_1*rhoa/rho2)*gradb/4.5; f1_2001 = 2*gradb*rhob/rho2*dl_1/4.5 + (gradb-7.0*gradb-2.0*gradb*rhob/rho)*dl_2/9.0 + (11-dl)*2.0*gradb*rhob/(4.5*rho2*rho); f1_0210 = 2*grada*rhoa/rho2*dl_1/4.5 + (grada-7.0*grada-2.0*grada*rhoa/rho)*dl_2/9.0 + (11-dl)*2.0*grada*rhoa/(4.5*rho2*rho); f1_1020 = ((1-2*rhoa/rho)-7.0)*dl_1/9.0 + (11-dl)*rhob/rho2/4.5; f1_0102 = ((1-2*rhob/rho)-7.0)*dl_1/9.0 + (11-dl)*rhoa/rho2/4.5; f1_0120 = ((1-2*rhoa/rho)-7.0)*dl_1/9.0 - (11-dl)*rhoa/rho2/4.5; f1_1002 = ((1-2*rhob/rho)-7.0)*dl_1/9.0 - (11-dl)*rhob/rho2/4.5; f1_1110= (2*grada*(rhoa-rhob)*(11-dl+rho*dl_1)- rho2*(2*(4*rhoa+3*rhob)*grada)*dl_2)/(9*rho2*rho); f1_1101= (2*gradb*(rhob-rhoa)*(11-dl+rho*dl_1)- rho2*(2*(4*rhob+3*rhoa)*gradb)*dl_2)/(9*rho2*rho); f1_20001 = -7.0*dl_2/9.0; f1_02001 = -7.0*dl_2/9.0; f1_11001 = -7.0*dl_2/9.0; /* f2 derivatives */ f2 = -2.0/3.0*rho2*grad2 +(2.0/3.0*rho2-rhoa2)*gradb2+(2.0/3.0*rho2-rhob2)*grada2; f2_1000 = -8.0/3.0*rho*dp->gradab - 2.0*rhoa*gradb2; f2_0100 = -8.0/3.0*rho*dp->gradab - 2.0*rhob*grada2; f2_0010 = -2.0*rhob2*grada; f2_0001 = -2.0*rhoa2*gradb; f2_00001 = -4.0/3.0*rho2; f2_2000 = -8.0/3.0*dp->gradab - 2.0*gradb2; f2_0200 = -8.0/3.0*dp->gradab - 2.0*grada2; f2_0020 = -2.0*rhob2; f2_0002 = -2.0*rhoa2; f2_1100 = -8.0/3.0*dp->gradab; f2_1010 = 0.0; f2_0101 = 0.0; f2_1001 = -4.0*rhoa*gradb; f2_0110 = -4.0*rhob*grada; f2_10001 = -8.0/3.0*rho; f2_01001 = -8.0/3.0*rho; f2_2001 = -4.0*gradb; f2_0210 = -4.0*grada; f2_0120 = -4.0*rhob; f2_1002 = -4.0*rhoa; f2_20001 = -8.0/3.0; f2_02001 = -8.0/3.0; f2_11001 = -8.0/3.0; /* derivatives sums */ rff = rhoa*rhob*f1+f2; rff_1000 = rhob*f1+rhoa*rhob*f1_1000+f2_1000; rff_0100 = rhoa*f1+rhoa*rhob*f1_0100+f2_0100; rff_2000 = 2*rhob*f1_1000+rhoa*rhob*f1_2000+f2_2000; rff_0200 = 2*rhoa*f1_0100+rhoa*rhob*f1_0200+f2_0200; rff_1100 = f1+rhob*f1_0100+rhoa*f1_1000+rhoa*rhob*f1_1100+f2_1100; rff_0010 = rhoa*rhob*f1_0010+f2_0010; rff_0001 = rhoa*rhob*f1_0001+f2_0001; rff_1010 = rhob*f1_0010+rhoa*rhob*f1_1010+f2_1010; rff_0101 = rhoa*f1_0001+rhoa*rhob*f1_0101+f2_0101; /* derivatives sum with respect grada*gradb */ rff_00001 = rhoa*rhob*f1_00001+f2_00001; rff_10001 = rhob*f1_00001+rhoa*rhob*f1_10001+f2_10001; rff_01001 = rhoa*f1_00001+rhoa*rhob*f1_01001+f2_01001; rff_20001 = 2*rhob*f1_10001+rhoab*f1_20001+f2_20001; rff_02001 = 2*rhoa*f1_01001+rhoab*f1_02001+f2_02001; rff_11001 = f1_00001+rhob*f1_01001+rhoa*f1_10001+rhoab*f1_11001+f2_11001; /* THIRD DERIVATIVES */ rff_3000 = 2*rhob*f1_2000+rhob*(f1_2000+rhoa*f1_3000); rff_0300 = 2*rhoa*f1_0200+rhoa*(f1_0200+rhob*f1_0300); rff_2100 = 2*(f1_1000+rhob*f1_1100)+rhoa*f1_2000+rhoa*rhob*f1_2100; rff_1200 = 2*(f1_0100+rhoa*f1_1100)+rhob*f1_0200+rhoa*rhob*f1_1200; rff_2010 = 2*rhob*f1_1010+rhoab*f1_2010; rff_1001 = rhob*f1_0001+rhoab*f1_1001+f2_1001; rff_2001 = 2*rhob*f1_1001+rhoab*f1_2001+f2_2001; rff_0201 = 2*rhoa*f1_0101+rhoab*f1_0201; rff_0110 = rhoa*f1_0010+rhoab*f1_0110+f2_0110; rff_0210 = 2*rhoa*f1_0110+rhoab*f1_0210+f2_0210; rff_1110 = f1_0010+rhob*f1_0110+rhoa*f1_1010+rhoab*f1_1110; rff_1101 = f1_0001+rhob*f1_0101+rhoa*f1_1001+rhoab*f1_1101; /* the final section: first derivatives */ ds->df1000 += factor*(-A*f0_1000-A*B*om_1*(rhoa*rhob*f1+f2) -A*B*om*(rhob*f1+rhoa*rhob*f1_1000+f2_1000)); ds->df0100 += factor*(-A*f0_0100-A*B*om_1*(rhoa*rhob*f1+f2) -A*B*om*(rhoa*f1+rhoa*rhob*f1_0100+f2_0100)); ds->df0010 += factor*(-A*B*om*(rhoa*rhob*f1_0010+f2_0010)); ds->df0001 += factor*(-A*B*om*(rhoa*rhob*f1_0001+f2_0001)); ds->df00001 += factor*(-A*B*om*(rhoa*rhob*f1_00001+f2_00001)); /* the final section: second derivatives */ ds->df2000 += factor*(-A*f0_2000 -A*B*(om_2*rff+2*om_1*rff_1000+om*rff_2000)); ds->df0200 += factor*(-A*f0_0200 -A*B*(om_2*rff+2*om_1*rff_0100+om*rff_0200)); ds->df0020 += factor*(-A*B*om*(rhoa*rhob*f1_0020+f2_0020)); ds->df0002 += factor*(-A*B*om*(rhoa*rhob*f1_0002+f2_0002)); /* the mixed derivatives */ ds->df1100 += factor*(-A*f0_1100-A*B*(om_2*rff+om_1*rff_0100+ om_1*rff_1000 + om*rff_1100)); ds->df1010 += factor*(-A*B*(om_1*rff_0010+om*rff_1010)); ds->df1001 += factor*(-A*B*(om_1*(rhoa*rhob*f1_0001+f2_0001) + om*(rhob*f1_0001+rhoa*rhob*f1_1001+f2_1001))); ds->df0101 += factor*(-A*B*(om_1*rff_0001+om*rff_0101)); ds->df0110 += factor*(-A*B*(om_1*(rhoa*rhob*f1_0010+f2_0010) + om*(rhoa*f1_0010+rhoa*rhob*f1_0110+f2_0110))); ds->df10001 += factor*(-A*B*(om_1*rff_00001+om*rff_10001)); ds->df01001 += factor*(-A*B*(om_1*rff_00001+om*rff_01001)); /* third order derivative: density only dependent */ ds->df3000 += factor*(-A*f0_3000 -A*B*(om_3*rff+3*om_2*rff_1000 + 3*om_1*rff_2000+om*rff_3000)); ds->df0300 += factor*(-A*f0_0300 -A*B*(om_3*rff+3*om_2*rff_0100 + 3*om_1*rff_0200+om*rff_0300)); ds->df2100 += factor*(-A*f0_2100 -A*B*(om_3*rff+om_2*(2*rff_1000+rff_0100)+ om_1*(rff_2000+2*rff_1100)+om*rff_2100)); ds->df1200 += factor*(-A*f0_1200 -A*B*(om_3*rff+om_2*(2*rff_0100+rff_1000)+ om_1*(rff_0200+2*rff_1100)+om*rff_1200)); /* third order derivative: mixed */ ds->df2010 += factor*(-A*B*(om_2*rff_0010+2*om_1*rff_1010+om*rff_2010)); ds->df2001 += factor*(-A*B*(om_2*rff_0001+2*om_1*rff_1001+om*rff_2001)); ds->df0201 += factor*(-A*B*(om_2*rff_0001+2*om_1*rff_0101+om*rff_0201)); ds->df0210 += factor*(-A*B*(om_2*rff_0010+2*om_1*rff_0110+om*rff_0210)); ds->df1020 += factor*(-A*B*(om_1*(rhoa*rhob*f1_0020+f2_0020)+ om*rhob*(f1_0020+rhoa*f1_1020))); ds->df0102 += factor*(-A*B*(om_1*(rhoa*rhob*f1_0002+f2_0002)+ om*rhoa*(f1_0002+rhob*f1_0102))); ds->df1002 += factor*(-A*B*(om_1*(rhoab*f1_0002+f2_0002)+ om*(rhob*f1_0002+rhoab*f1_1002+f2_1002))); ds->df0120 += factor*(-A*B*(om_1*(rhoab*f1_0020+f2_0020)+ om*(rhoa*f1_0020+rhoab*f1_0120+f2_0120))); ds->df1110 += factor*(-A*B*(om_2*rff_0010+om_1*rff_0110+om_1*rff_1010 + om*rff_1110)); ds->df1101 += factor*(-A*B*(om_2*rff_0001+om_1*rff_0101+om_1*rff_1001 + om*rff_1101)); ds->df20001 += factor*(-A*B*(om_2*rff_00001+2*om_1*rff_10001+om*rff_20001)); ds->df02001 += factor*(-A*B*(om_2*rff_00001+2*om_1*rff_01001+om*rff_02001)); ds->df11001 += factor*(-A*B*(om_2*rff_00001+om_1*rff_01001+om_1*rff_10001 + om*rff_11001)); } static void lyp_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dp) { real ComDenom, ComDenom_p2, ComDenom_p3, ComDenom_p4, ComDenom_p5; real Delta, Delta_01, Delta_02, Delta_03, Delta_04, Delta_10; real Delta_11, Delta_12, Delta_13, Delta_20, Delta_21, Delta_22; real Delta_30, Delta_31, Delta_40, EXPC; real F0_04, F0_13, F0_22, F0_31, F0_40; real F1, F1_00001, F1_00010, F1_00020, F1_00100, F1_00200; real F1_01000, F1_01001, F1_01010, F1_01020, F1_01100, F1_01200; real F1_02000, F1_02001, F1_02010, F1_02020, F1_02100, F1_02200; real F1_03000, F1_03001, F1_03010, F1_03100, F1_04000, F1_10000; real F1_10001, F1_10010, F1_10020, F1_10100, F1_10200, F1_11000; real F1_11001, F1_11010, F1_11020, F1_11100, F1_11200, F1_12000; real F1_12001, F1_12010, F1_12100, F1_13000, F1_20000, F1_20001; real F1_20010, F1_20020, F1_20100, F1_20200, F1_21000, F1_21001; real F1_21010, F1_21100, F1_22000, F1_30000, F1_30001, F1_30010; real F1_30100, F1_31000, F1_40000, F1term; real F2, F2_00001, F2_00010, F2_00020, F2_00100, F2_00200; real F2_01000, F2_01001, F2_01100, F2_01200, F2_02000, F2_02001; real F2_02100, F2_02200, F2_10000, F2_10001, F2_10010, F2_10020; real F2_11000, F2_11001, F2_20000, F2_20001, F2_20010, F2_20020; real S, S_0001, S_0002, S_0010, S_0020, S_0100; real S_0101, S_0102, S_0110, S_0120, S_0200, S_0201; real S_0202, S_0210, S_0220, S_0300, S_0301, S_0310; real S_0400, S_1000, S_1001, S_1002, S_1010, S_1020; real S_1100, S_1101, S_1102, S_1110, S_1120, S_1200; real S_1201, S_1210, S_1300, S_2000, S_2001, S_2002; real S_2010, S_2020, S_2100, S_2101, S_2110, S_2200; real S_3000, S_3001, S_3010, S_3100, S_4000, W; real W_01, W_02, W_03, W_04, W_10, W_11; real W_12, W_13, W_20, W_21, W_22, W_30; real W_31, W_40, gmix, groa; real groa_p2, grob, grob_p2, roa, roa_p1f3, roa_p2; real roa_p2f3, roa_p3, roa_p5f3, roa_p8f3; real roa_pm1f3, roa_pm4f3, roa_rob, roa_rob_p10f3; real roa_rob_p13f3, roa_rob_p14f3, roa_rob_p1f3, roa_rob_p2; real roa_rob_p20f3, roa_rob_p22f3, roa_rob_p26f3, roa_rob_p2f3; real roa_rob_p3, roa_rob_p4, roa_rob_p4f3, roa_rob_p5; real roa_rob_p5f3, roa_rob_p6, roa_rob_p7, roa_rob_p7f3, roa_rob_p8; real roa_rob_pm1, roa_rob_pm1f3, rob, rob_p1f3; real rob_p2, rob_p2f3, rob_p3, rob_p5f3; real rob_p8f3, rob_pm1f3, rob_pm4f3; /* constants */ const real a=0.04918; const real b=0.132; const real c=0.2533; const real d=0.3490; const real Cf=(3.0/10.0)*POW((3.0*M_PI*M_PI),(2.0/3.0)); const real Cx=POW(2.0,(11.0/3.0))*Cf; /* Powers of constants */ const real d_p2=d*d; const real d_p3=d_p2*d; const real d_p4=d_p3*d; const real d_p5=d_p4*d; const real c_p2=c*c; const real c_p3=c_p2*c; const real c_p4=c_p3*c; /* Setting up lower order derivatives */ FunThirdFuncDrv ds_third; drv3_clear(&ds_third); LYPFunctional.third(&ds_third, factor, dp); /* first derivatives */ ds->df1000 += ds_third.df1000; ds->df0100 += ds_third.df0100; ds->df0010 += ds_third.df0010; ds->df0001 += ds_third.df0001; ds->df00001 += ds_third.df00001; /* second derivatives */ ds->df2000 += ds_third.df2000; ds->df0200 += ds_third.df0200; ds->df0020 += ds_third.df0020; ds->df0002 += ds_third.df0002; /* the mixed derivatives */ ds->df1100 += ds_third.df1100; ds->df1010 += ds_third.df1010; ds->df1001 += ds_third.df1001; ds->df0101 += ds_third.df0101; ds->df0110 += ds_third.df0110; ds->df10001 += ds_third.df10001; ds->df01001 += ds_third.df01001; /* third order derivative: density only dependent */ ds->df3000 += ds_third.df3000; ds->df0300 += ds_third.df0300; ds->df2100 += ds_third.df2100; ds->df1200 += ds_third.df1200; /* third order derivative: mixed */ ds->df2010 += ds_third.df2010; ds->df2001 += ds_third.df2001; ds->df0201 += ds_third.df0201; ds->df0210 += ds_third.df0210; ds->df1020 += ds_third.df1020; ds->df0102 += ds_third.df0102; ds->df1002 += ds_third.df1002; ds->df0120 += ds_third.df0120; ds->df1110 += ds_third.df1110; ds->df1101 += ds_third.df1101; ds->df20001 += ds_third.df20001; ds->df02001 += ds_third.df02001; ds->df11001 += ds_third.df11001; /* Setting up roa, rob, groa, grob */ roa=dp->rhoa; rob=dp->rhob; groa=dp->grada; grob=dp->gradb; gmix=dp->gradab; /* Powers of roa, rob */ roa_p2=roa*roa; roa_p3=roa_p2*roa; roa_p1f3=POW(roa,(1.0/3.0)); roa_p2f3=roa_p1f3*roa_p1f3; roa_p5f3=roa*roa_p2f3; roa_p8f3=roa_p2*roa_p2f3; roa_pm1f3=1.0/roa_p1f3; roa_pm4f3=(1.0/roa)*roa_pm1f3; rob_p2=rob*rob; rob_p3=rob_p2*rob; rob_p1f3=POW(rob,(1.0/3.0)); rob_p2f3=rob_p1f3*rob_p1f3; rob_p5f3=rob*rob_p2f3; rob_p8f3=rob_p2*rob_p2f3; rob_pm1f3=1.0/rob_p1f3; rob_pm4f3=(1.0/rob)*rob_pm1f3; /* Powers of groa, grob, groa+grob */ groa_p2=groa*groa; grob_p2=grob*grob; /* Powers of roa_rob */ roa_rob=(roa+rob); roa_rob_pm1=1.0/roa_rob; roa_rob_p2=roa_rob*roa_rob; roa_rob_p3=roa_rob_p2*roa_rob; roa_rob_p4=roa_rob_p2*roa_rob_p2; roa_rob_p5=roa_rob_p4*roa_rob; roa_rob_p6=roa_rob_p4*roa_rob_p2; roa_rob_p7=roa_rob_p6*roa_rob; roa_rob_p8=roa_rob_p4*roa_rob_p4; roa_rob_p1f3=POW(roa_rob,(1.0/3.0)); roa_rob_p2f3=roa_rob_p1f3*roa_rob_p1f3; roa_rob_p4f3=roa_rob*roa_rob_p1f3; roa_rob_p5f3=roa_rob_p4f3*roa_rob_p1f3; roa_rob_p7f3=roa_rob_p2*roa_rob_p1f3; roa_rob_p10f3=roa_rob_p3*roa_rob_p1f3; roa_rob_p13f3=roa_rob_p4*roa_rob_p1f3; roa_rob_p14f3=roa_rob_p4*roa_rob_p2f3; roa_rob_p20f3=roa_rob_p6*roa_rob_p2f3; roa_rob_p22f3=roa_rob_p7*roa_rob_p1f3; roa_rob_p26f3=roa_rob_p8*roa_rob_p2f3; roa_rob_pm1f3=1.0/roa_rob_p1f3; /* Powers of Common Denominator ComDenom */ ComDenom=(d + roa_rob_p1f3); ComDenom_p2=ComDenom*ComDenom; ComDenom_p3=ComDenom_p2*ComDenom; ComDenom_p4=ComDenom_p2*ComDenom_p2; ComDenom_p5=ComDenom_p4*ComDenom; EXPC=EXP(-c*roa_rob_pm1f3); /* %F0_4=-(320.0/81.0)*d_p4*roa*rob*roa_rob_pm14f3*ComDenom_pm5 - % (1120.0/81.0)*d*roa_p2*rob*roa_rob_pm14f3*ComDenom_pm5 - % (1280.0/27.0)*d_p4*rob_p2*roa_rob_pm14f3*ComDenom_pm5 - % (26560.0/81.0)*d*roa*rob_p2*roa_rob_pm14f3*ComDenom_pm5 - % (8480.0/27.0)*d*rob_p3*roa_rob_pm14f3*ComDenom_pm5 - % (1376.0/81.0)*d_p3*roa*rob*roa_rob_pm13f3*ComDenom_pm5 - % (1984.0/9.0)*d_p3*rob_p2*roa_rob_pm13f3*ComDenom_pm5 - % (96.0)*roa*rob_p2*roa_rob_pm13f3*ComDenom_pm5 - % (96.0)*rob_p3*roa_rob_pm13f3*ComDenom_pm5 - % (2080.0/81.0)*d_p2*roa*rob*roa_rob_pm4*ComDenom_pm5 - % (3520.0/9.0)*d_p2*rob_p2*roa_rob_pm4*ComDenom_pm5 %F0_4=-(32.0*rob*(243.0*rob*roa_rob_p4f3 + 10.0*d_p4*(roa+12.0*rob) + % 5.0*d_p2*roa_rob_p2f3*(13.0*roa + 198.0*rob) + % d_p3*roa_rob_p1f3*(43.0*roa + 558.0*rob) + % 5.0*d*(7.0*roa_p2 + 166.0*roa*rob + 159.0*rob_p2))) * % (1.0/81.0)*roa_rob_pm14f3*ComDenom_pm5 */ F0_40=((-(((32.0*rob*((243.0*rob*roa_rob_p4f3+10.0*d_p4*((roa+12.0*rob))+5.0*d_p2*roa_rob_p2f3*((13.0*roa+198.0*rob))+d_p3*roa_rob_p1f3*((43.0*roa+558.0*rob))+5.0*d*((7.0*roa_p2+166.0*roa*rob+159.0*rob_p2))))))/((81.0*roa_rob_p14f3*ComDenom_p5))))); F0_31=(((8.0*((d_p3*roa_rob_p1f3*((63.0*roa_p2+1070.0*roa*rob-1053.0*rob_p2))+10.0*d_p2*roa_rob_p2f3*((9.0*roa_p2+190.0*roa*rob-189.0*rob_p2))+5.0*d_p4*((3.0*roa_p2+46.0*roa*rob-45.0*rob_p2))+486.0*rob*roa_rob_p1f3*((roa_p2-rob_p2))+2.0*d*((21.0*roa_p3+788.0*roa_p2*rob-7.0*roa*rob_p2-774.0*rob_p3))))))/((81.0*roa_rob_p14f3*ComDenom_p5))); F0_22=((-(((16.0*((10.0*d_p4*((3.0*roa_p2-16.0*roa*rob+3.0*rob_p2))+10.0*d_p2*roa_rob_p2f3*((27.0*roa_p2-131.0*roa*rob+27.0*rob_p2))+2.0*d_p3*roa_rob_p1f3*((72.0*roa_p2-371.0*roa*rob+72.0*rob_p2))+81.0*roa_rob_p1f3*((roa_p3-3.0*roa_p2*rob-3.0*roa*rob_p2+rob_p3))+d*((237.0*roa_p3-809.0*roa_p2*rob-809.0*roa*rob_p2+237.0*rob_p3))))))/((81.0*roa_rob_p14f3*ComDenom_p5))))); F0_13=((-(((8.0*((d_p3*roa_rob_p1f3*((1053.0*roa_p2-1070.0*roa*rob-63.0*rob_p2))+10.0*d_p2*roa_rob_p2f3*((189.0*roa_p2-190.0*roa*rob-9.0*rob_p2))+5.0*d_p4*((45.0*roa_p2-46.0*roa*rob-3.0*rob_p2))+486.0*roa*roa_rob_p1f3*((roa_p2-rob_p2))+2.0*d*((774.0*roa_p3+7.0*roa_p2*rob-788.0*roa*rob_p2-21.0*rob_p3))))))/((81.0*roa_rob_p14f3*ComDenom_p5))))); F0_04=((-(((32.0*roa*((243.0*roa*roa_rob_p4f3+10.0*d_p4*((12.0*roa+rob))+5.0*d_p2*roa_rob_p2f3*((198.0*roa+13.0*rob))+d_p3*roa_rob_p1f3*((558.0*roa+43.0*rob))+5.0*d*((159.0*roa_p2+166.0*roa*rob+7.0*rob_p2))))))/((81.0*roa_rob_p14f3*ComDenom_p5))))); /* %W_4=(((EXPC*((c_p4*((d_p4+4.0*d_p3*roa_rob_p1f3+6.0*d_p2*roa_rob_p2f3+4.0*d*roa_rob+roa_rob_p4f3))*-8.0*c*roa_rob*((1605.0*d_p4+6730.0*d_p3*roa_rob_p1f3+10602.0*d_p2*roa_rob_p2f3+7437.0*d*roa_rob+1960.0*roa_rob_p4f3))*-4.0*c_p3*((16.0*d_p4*roa_rob_p1f3+65.0*d_p3*roa_rob_p2f3+99.0*d_p2*roa_rob+67.0*d*roa_rob_p4f3+17.0*roa_rob_p5f3))+8.0*roa_rob*((4940.0*d_p4*roa_rob_p1f3+21055.0*d_p3*roa_rob_p2f3+33793.0*d_p2*roa_rob+24220.0*d*roa_rob_p4f3+6545.0*roa_rob_p5f3))+4.0*c_p2*((355.0*d_p4*roa_rob_p2f3+1465.0*d_p3*roa_rob+2268.0*d_p2*roa_rob_p4f3+1561.0*d*roa_rob_p5f3+403.0*roa_rob_p2))))))/((81.0*roa_rob_p26f3*ComDenom_p5))) */ W_40=(((EXPC*((c_p4*((d_p4+4.0*d_p3*roa_rob_p1f3+6.0*d_p2*roa_rob_p2f3+ 4.0*d*roa_rob+roa_rob_p4f3))-8.0*c*roa_rob*((1605.0*d_p4+6730.0*d_p3*roa_rob_p1f3+ 10602.0*d_p2*roa_rob_p2f3+7437.0*d*roa_rob+1960.0*roa_rob_p4f3))- 4.0*c_p3*((16.0*d_p4*roa_rob_p1f3+65.0*d_p3*roa_rob_p2f3+99.0*d_p2*roa_rob+ 67.0*d*roa_rob_p4f3+17.0*roa_rob_p5f3))+8.0*roa_rob*((4940.0*d_p4*roa_rob_p1f3+ 21055.0*d_p3*roa_rob_p2f3+33793.0*d_p2*roa_rob+ 24220.0*d*roa_rob_p4f3+6545.0*roa_rob_p5f3))+ 4.0*c_p2*((355.0*d_p4*roa_rob_p2f3+1465.0*d_p3*roa_rob+ 2268.0*d_p2*roa_rob_p4f3+1561.0*d*roa_rob_p5f3+403.0*roa_rob_p2))))))/((81.0*roa_rob_p26f3*ComDenom_p5))); W_30=(((EXPC*((c_p3*((d_p3+roa+rob+3.0*d_p2*roa_rob_p1f3+3.0*d*roa_rob_p2f3))-2.0*roa_rob*((1040.0*d_p3+3350.0*d_p2*roa_rob_p1f3+3616.0*d*roa_rob_p2f3+1309.0*roa_rob))-3.0*c_p2*((14.0*d_p3*roa_rob_p1f3+43.0*d_p2*roa_rob_p2f3+44.0*d*roa_rob+15.0*roa_rob_p4f3))+2.0*c*((269.0*d_p3*roa_rob_p2f3+846.0*d_p2*roa_rob+888.0*d*roa_rob_p4f3+311.0*roa_rob_p5f3))))))/((27.0*roa_rob_p22f3*ComDenom_p4))); W_20=(((EXPC*(((-2.0)*c*roa_rob*((12.0*d_p2+25.0*d*roa_rob_p1f3+13.0*roa_rob_p2f3))+c_p2*((d_p2*roa_rob_p2f3+2.0*d*roa_rob+roa_rob_p4f3))+2.0*((77.0*roa_p2+rob*((77.0*rob+65.0*d_p2*roa_rob_p1f3+141.0*d*roa_rob_p2f3))+roa*((154.0*rob+65.0*d_p2*roa_rob_p1f3+141.0*d*roa_rob_p2f3))))))))/((9.0*roa_rob_p20f3*ComDenom_p3))); W_10=((EXPC*(((-10.0)*d*roa_rob_p1f3-11.0*roa_rob_p2f3+c*ComDenom)))/(3.0*roa_rob_p14f3*ComDenom_p2)); /* It looks like W mixed derivatives are same as not mixed ones %W_31=(((EXPC*((c_p4*((d_p4+4.0*d_p3*roa_rob_p1f3+6.0*d_p2*roa_rob_p2f3+4.0*d*roa_rob+roa_rob_p4f3))-8.0*c*roa_rob*((1605.0*d_p4+6730.0*d_p3*roa_rob_p1f3+10602.0*d_p2*roa_rob_p2f3+7437.0*d*roa_rob+1960.0*roa_rob_p4f3))-4.0*c_p3*((16.0*d_p4*roa_rob_p1f3+65.0*d_p3*roa_rob_p2f3+99.0*d_p2*roa_rob+67.0*d*roa_rob_p4f3+17.0*roa_rob_p5f3))+8.0*roa_rob*((4940.0*d_p4*roa_rob_p1f3+21055.0*d_p3*roa_rob_p2f3+33793.0*d_p2*roa_rob+24220.0*d*roa_rob_p4f3+6545.0*roa_rob_p5f3))+4.0*c_p2*((355.0*d_p4*roa_rob_p2f3+1465.0*d_p3*roa_rob+2268.0*d_p2*roa_rob_p4f3+1561.0*d*roa_rob_p5f3+403.0*roa_rob_p2))))))/((81.0*roa_rob_p26f3*ComDenom_p5))) %W_21=(((EXPC*((c_p3*((d_p3+roa+rob+3.0*d_p2*roa_rob_p1f3+3.0*d*roa_rob_p2f3))-2.0*roa_rob*((1040.0*d_p3+3350.0*d_p2*roa_rob_p1f3+3616.0*d*roa_rob_p2f3+1309.0*roa_rob))-3.0*c_p2*((14.0*d_p3*roa_rob_p1f3+43.0*d_p2*roa_rob_p2f3+44.0*d*roa_rob+15.0*roa_rob_p4f3))+2.0*c*((269.0*d_p3*roa_rob_p2f3+846.0*d_p2*roa_rob+888.0*d*roa_rob_p4f3+311.0*roa_rob_p5f3))))))/((27.0*roa_rob_p22f3*ComDenom_p4))) */ W_31=W_40; W_21=W_30; W_11=W_20; W_22=W_40; W_04=W_40; W_13=W_40; W_12=W_30; W_03=W_30; W_02=W_20; W_01=W_10; W=EXPC/(roa_rob_p10f3*ComDenom); Delta_40=(((8.0*((35.0*c*((d_p5+5.0*d_p4*roa_rob_p1f3+10.0*d_p3*roa_rob_p2f3+10.0*d_p2*roa_rob+5.0*d*roa_rob_p4f3+roa_rob_p5f3))+d*((10.0*d_p3*roa_rob_p2f3+43.0*d_p2*roa_rob+65.0*d*roa_rob_p4f3+35.0*roa_rob_p5f3))))))/((81.0*roa_rob_p13f3*ComDenom_p5))); Delta_30=((-(((2.0*((14.0*c*((d_p4+4.0*d_p3*roa_rob_p1f3+6.0*d_p2*roa_rob_p2f3+4.0*d*roa_rob+roa_rob_p4f3))+d*((5.0*d_p2*roa_rob_p2f3+16.0*d*roa_rob+14.0*roa_rob_p4f3))))))/((27.0*roa_rob_p10f3*ComDenom_p4))))); Delta_20=((2.0*((d*((2.0*roa+2.0*rob+d*roa_rob_p2f3))+2.0*c*((d_p3+roa+rob+3.0*d_p2*roa_rob_p1f3+3.0*d*roa_rob_p2f3)))))/(9.0*roa_rob_p7f3*ComDenom_p3)); Delta_10=(((-d)*roa_rob_p2f3-c*ComDenom_p2)/(3.0*roa_rob_p4f3*ComDenom_p2)); /* Same hold for Delta, mixed derivatives are equal to total derivatie order */ Delta_31=Delta_40; Delta_21=Delta_30; Delta_11=Delta_20; Delta_22=Delta_40; Delta_12=Delta_30; Delta_13=Delta_40; Delta_04=Delta_40; Delta_03=Delta_30; Delta_02=Delta_20; Delta_01=Delta_10; Delta=c*roa_rob_pm1f3 + d*roa_rob_pm1f3*(1.0/(1.0+d*roa_rob_pm1f3)); /* S auxaliary function and derivatives */ S=(roa*groa_p2*roa_rob_pm1) + (rob*grob_p2*roa_rob_pm1); S_4000=24.0*(grob_p2-groa_p2)*rob/roa_rob_p5; S_3000=6.0*(groa_p2-grob_p2)*rob/roa_rob_p4; S_2000=2.0*(grob_p2-groa_p2)*rob/roa_rob_p3; S_1000=(groa_p2-grob_p2)*rob/roa_rob_p2; S_0400=24.0*(groa_p2-grob_p2)*roa/roa_rob_p5; S_0300=6.0*(grob_p2-groa_p2)*roa/roa_rob_p4; S_0200=2.0*(groa_p2-grob_p2)*roa/roa_rob_p3; S_0100=(grob_p2-groa_p2)*roa/roa_rob_p2; S_3100=6.0*(groa_p2-grob_p2)*(roa-3.0*rob)/roa_rob_p5; S_2100=-2.0*(groa_p2-grob_p2)*(roa-2.0*rob)/roa_rob_p4; S_1100=(groa_p2-grob_p2)*(roa-rob)/roa_rob_p3; S_1200=-2.0*(groa_p2-grob_p2)*(2.0*roa-rob)/roa_rob_p4; S_2200=12.0*(groa_p2-grob_p2)*(roa-rob)/roa_rob_p5; S_1300=6.0*(groa_p2-grob_p2)*(3.0*roa-rob)/roa_rob_p5; S_0010=2.0*groa*roa/roa_rob; S_0001=2.0*grob*rob/roa_rob; S_1010=2.0*groa*rob/roa_rob_p2; S_0110=-2.0*groa*roa/roa_rob_p2; S_0101=2.0*grob*roa/roa_rob_p2; S_1001=-2.0*grob*rob/roa_rob_p2; S_2010=-4.0*groa*rob/roa_rob_p3; S_2001=4.0*grob*rob/roa_rob_p3; S_0210=4.0*groa*roa/roa_rob_p3; S_3010=12.0*groa*rob/roa_rob_p4; S_3001=-12.0*grob*rob/roa_rob_p4; S_1110=2.0*groa*(roa-rob)/roa_rob_p3; S_1101=2.0*grob*(rob-roa)/roa_rob_p3; S_2110=-4.0*groa*(roa-2.0*rob)/roa_rob_p4; S_2101=4.0*grob*(roa-2.0*rob)/roa_rob_p4; S_0020=2.0*roa/roa_rob; S_0002=2.0*rob/roa_rob; S_1020=2.0*rob/roa_rob_p2; S_1002=-2.0*rob/roa_rob_p2; S_2020=-4.0*rob/roa_rob_p3; S_2002=4.0*rob/roa_rob_p3; S_1210=4.0*groa*(rob-2.0*roa)/roa_rob_p4; S_0201=-4.0*grob*roa/roa_rob_p3; S_1201=grob*(8.0*roa-4.0*rob)/roa_rob_p4; S_1120=2.0*(roa-rob)/roa_rob_p3; S_0120=-2.0*roa/roa_rob_p2; S_0102=-S_0120; S_1102=-S_1120; S_0310=-12.0*groa*roa/roa_rob_p4; S_0301=12.0*grob*roa/roa_rob_p4; S_0220=4.0*roa/roa_rob_p3; S_0202=-S_0220; /* Often used term in F1 derivatives */ F1term=(7.0*gmix + 3.0*(groa_p2 + grob_p2) + S); /* F1 auxaliary function and its derivatives */ F1=Cx*(roa_p8f3 + rob_p8f3) + (1.0/18.0)*(groa_p2 + 2.0*gmix + grob_p2)*(47.0-7.0*Delta) - (1.0/18.0)*(groa_p2+grob_p2)*(45.0-Delta) - (1.0/9.0)*(Delta-11.0)*S; F1_40000=(1.0/81.0)*(-80.0*Cx*roa_pm4f3 - 9.0*(7.0*gmix + 3.0*(groa_p2 + grob_p2) + S)*Delta_40 - 36.0*Delta_30*S_1000 - 54.0*Delta_20*S_2000 -36.0*Delta_10*S_3000 + 99.0*S_4000 - 9.0*Delta*S_4000); F1_30000=(1.0/27.0)*(80.0*Cx*roa_pm1f3 -3.0*Delta_30*(7.0*gmix + 3.0*(groa_p2 + grob_p2) + S) - 9.0*Delta_20*S_1000 -9.0*Delta_10*S_2000 + 33.0*S_3000 -3.0*Delta*S_3000); F1_20000=(1.0/9.0)*(40.0*Cx*roa_p2f3 - Delta_20*(7.0*gmix + 3.0*(groa_p2 + grob_p2) + S) - 2.0*Delta_10*S_1000 + 11.0*S_2000 - Delta*S_2000); F1_10000=(1.0/9.0)*(24.0*Cx*roa_p5f3 - Delta_10*(7.0*gmix + 3.0*(groa_p2 + grob_p2) + S) - (-11.0 + Delta)*S_1000); F1_31000=(1.0/9.0)*(-Delta_31*F1term - Delta_30*S_0100 - 3.0*Delta_21*S_1000 - 3.0*Delta_20*S_1100 -3.0*Delta_11*S_2000 - 3.0*Delta_10*S_2100 - Delta_01*S_3000 + 11.0*S_3100 - Delta*S_3100); F1_21000=(1.0/9.0)*(-Delta_21*F1term - Delta_20*S_0100 - 2.0*Delta_11*S_1000 - 2.0*Delta_10*S_1100 - Delta_01*S_2000 + 11.0*S_2100 - Delta*S_2100); F1_11000=(1.0/9.0)*(-Delta_11*F1term - Delta_10*S_0100 - Delta_01*S_1000 + 11.0*S_1100 - Delta*S_1100); F1_01000=(1.0/9.0)*(24.0*Cx*rob_p5f3 - Delta_01*F1term - (-11.0 + Delta)*S_0100); F1_02000=(1.0/9.0)*(40.0*Cx*rob_p2f3 - Delta_02*F1term - 2.0*Delta_01*S_0100 + 11.0*S_0200 - Delta*S_0200); F1_12000=(1.0/9.0)*(-Delta_12*F1term -2.0*Delta_11*S_0100 - Delta_10*S_0200 - Delta_02*S_1000 - 2.0*Delta_01*S_1100 + 11.0*S_1200 - Delta*S_1200); F1_22000=(1.0/9.0)*(-Delta_22*F1term - 2.0*Delta_21*S_0100 - Delta_20*S_0200 - 2.0*Delta_12*S_1000 - 4.0*Delta_11*S_1100 - 2.0*Delta_10*S_1200 - Delta_02*S_2000 - 2.0*Delta_01*S_2100 + 11.0*S_2200 - Delta*S_2200); F1_03000=(1.0/27.0)*(80.0*Cx*rob_pm1f3 -3.0*Delta_03*(7.0*gmix + 3.0*(groa_p2 + grob_p2) + S) - 9.0*Delta_02*S_0100 -9.0*Delta_01*S_0200 + 33.0*S_0300 -3.0*Delta*S_0300); F1_13000=(1.0/9.0)*(-Delta_13*F1term - Delta_03*S_1000 - 3.0*Delta_12*S_0100 - 3.0*Delta_02*S_1100 -3.0*Delta_11*S_0200 - 3.0*Delta_01*S_1200 - Delta_10*S_0300 + 11.0*S_1300 - Delta*S_1300); F1_04000=(1.0/81.0)*(-80.0*Cx*rob_pm4f3 - 9.0*F1term*Delta_04 - 36.0*Delta_03*S_0100 - 54.0*Delta_02*S_0200 -36.0*Delta_01*S_0300 + 99.0*S_0400 - 9.0*Delta*S_0400); F1_00100=(1.0/9.0)*(2.0*groa + 11.0*S_0010 - Delta*(6.0*groa+S_0010)); F1_00010=(1.0/9.0)*(2.0*grob + 11.0*S_0001 - Delta*(6.0*grob+S_0001)); F1_10100=(1.0/9.0)*(-Delta_10*(6.0*groa + S_0010) - (-11.0 + Delta)*S_1010 ); F1_01100=(1.0/9.0)*(-Delta_01*(6.0*groa + S_0010) - (-11.0 + Delta)*S_0110 ); F1_01010=(1.0/9.0)*(-Delta_01*(6.0*grob + S_0001) - (-11.0 + Delta)*S_0101 ); F1_10010=(1.0/9.0)*(-Delta_10*(6.0*grob + S_0001) - (-11.0 + Delta)*S_1001 ); F1_01001=-(7.0/9.0)*Delta_01; F1_20100=(1.0/9.0)*(-Delta_20*(6.0*groa + S_0010) - 2.0*Delta_10*S_1010 - (-11.0 + Delta)*S_2010 ); F1_20010=(1.0/9.0)*(-Delta_20*(6.0*grob + S_0001) - 2.0*Delta_10*S_1001 - (-11.0 + Delta)*S_2001 ); F1_02100=(1.0/9.0)*(-Delta_02*(6.0*groa + S_0010) - 2.0*Delta_01*S_0110 - (-11.0 + Delta)*S_0210 ); F1_02010=(1.0/9.0)*(-Delta_02*(6.0*grob + S_0001) - 2.0*Delta_01*S_0101 - (-11.0 + Delta)*S_0201 ); F1_30100=(1.0/9.0)*(-Delta_30*(6.0*groa + S_0010) - 3.0*Delta_20*S_1010 - 3.0*Delta_10*S_2010 - (-11.0 + Delta)*S_3010); F1_30010=(1.0/9.0)*(-Delta_30*(6.0*grob + S_0001) - 3.0*Delta_20*S_1001 - 3.0*Delta_10*S_2001 - (-11.0 + Delta)*S_3001); F1_03100=(1.0/9.0)*(-Delta_03*(6.0*groa + S_0010) - 3.0*Delta_02*S_0110 - 3.0*Delta_01*S_0210 - (-11.0 + Delta)*S_0310); F1_03010=(1.0/9.0)*(-Delta_03*(6.0*grob + S_0001) - 3.0*Delta_02*S_0101 - 3.0*Delta_01*S_0201 - (-11.0 + Delta)*S_0301); F1_30001=-(7.0/9.0)*Delta_30; F1_20001=-(7.0/9.0)*Delta_20; F1_10001=-(7.0/9.0)*Delta_10; F1_00001=(1.0/9.0)*(47.0-7.0*Delta); F1_11100=(1.0/9.0)*(-Delta_11*(6.0*groa + S_0010) - Delta_10*S_0110 - Delta_01*S_1010 - (-11.0 + Delta)*S_1110); F1_11010=(1.0/9.0)*(-Delta_11*(6.0*grob + S_0001) - Delta_10*S_0101 - Delta_01*S_1001 - (-11.0 + Delta)*S_1101); F1_21100=(1.0/9.0)*(-Delta_21*(6.0*groa + S_0010) - Delta_20*S_0110 - 2.0*Delta_11*S_1010 - 2.0*Delta_10*S_1110 - Delta_01*S_2010 + + 11.0*S_2110 - Delta*S_2110); F1_21010=(1.0/9.0)*(-Delta_21*(6.0*grob + S_0001) - Delta_20*S_0101 - 2.0*Delta_11*S_1001 - 2.0*Delta_10*S_1101 - Delta_01*S_2001 + + 11.0*S_2101 - Delta*S_2101); F1_11001=-(7.0/9.0)*Delta_11; F1_21001=-(7.0/9.0)*Delta_21; F1_00200=(1.0/9.0)*(2.0 + 11.0*S_0020 -Delta*(6.0 + S_0020)); F1_00020=(1.0/9.0)*(2.0 + 11.0*S_0002 -Delta*(6.0 + S_0002)); F1_10200=(1.0/9.0)*(-Delta_10*(6.0+S_0020) - S_1020*(-11.0 + Delta)); F1_10020=(1.0/9.0)*(-Delta_10*(6.0+S_0002) - S_1002*(-11.0 + Delta)); F1_20200=(1.0/9.0)*(-Delta_20*(6.0+S_0020) - 2.0*Delta_10*S_1020 - S_2020*(-11.0 + Delta)); F1_20020=(1.0/9.0)*(-Delta_20*(6.0+S_0002) - 2.0*Delta_10*S_1002 - S_2002*(-11.0 + Delta)); F1_02200=(1.0/9.0)*(-Delta_02*(6.0+S_0020) - 2.0*Delta_01*S_0120 - S_0220*(-11.0 + Delta)); F1_02020=(1.0/9.0)*(-Delta_02*(6.0+S_0002) - 2.0*Delta_01*S_0102 - S_0202*(-11.0 + Delta)); F1_12100=(1.0/9.0)*(-Delta_12*(6.0*groa + S_0010) - 2.0*Delta_11*S_0110 - Delta_10*S_0210 - Delta_02*S_1010 -2.0*Delta_01*S_1110 + 11.0*S_1210 - Delta*S_1210); F1_12010=(1.0/9.0)*(-Delta_12*(6.0*grob + S_0001) - 2.0*Delta_11*S_0101 - Delta_10*S_0201 - Delta_02*S_1001 -2.0*Delta_01*S_1101 + 11.0*S_1201 - Delta*S_1201); F1_02001=-(7.0/9.0)*Delta_02; F1_12001=-(7.0/9.0)*Delta_12; F1_01200=(1.0/9.0)*(-Delta_01*(6.0+S_0020) - (-11.0 + Delta)*S_0120); F1_01020=(1.0/9.0)*(-Delta_01*(6.0+S_0002) - (-11.0 + Delta)*S_0102); F1_11200=(1.0/9.0)*(-Delta_11*(6.0+ S_0020) - Delta_10*S_0120 - Delta_01*S_1020 - (-11.0 + Delta)*S_1120); F1_11020=(1.0/9.0)*(-Delta_11*(6.0+ S_0002) - Delta_10*S_0102 - Delta_01*S_1002 - (-11.0 + Delta)*S_1102); F1_03001=-(7.0/9.0)*Delta_03; /* F2 Function and derivatives */ F2=-grob_p2*roa_p2 - groa_p2*rob_p2 - (4.0/3.0)*roa_rob_p2*gmix; F2_20000=-(8.0/3.0)*gmix - 2.0*grob_p2; F2_10000=-2.0*grob_p2*roa - (8.0/3.0)*gmix*roa_rob; F2_01000=-2.0*groa_p2*rob - (8.0/3.0)*gmix*roa_rob; F2_11000=-(8.0/3.0)*gmix; F2_02000=-(8.0/3.0)*gmix - 2.0*groa_p2; F2_00100=-2.0*groa*rob_p2; F2_01100=-4.0*groa*rob; F2_00001=-(4.0/3.0)*roa_rob_p2; F2_01200=-4.0*rob; F2_10020=-4.0*roa; F2_20020=-4.0; F2_00010=-2.0*grob*roa_p2; F2_00001=-(4.0/3.0)*roa_rob_p2; F2_10001=-(8.0/3.0)*roa_rob; F2_20001=-(8.0/3.0); F2_10010=-4.0*grob*roa; F2_00020=-2.0*roa_p2; F2_00200=-2.0*rob_p2; F2_02100=-4.0*groa; F2_01001=-(8.0/3.0)*roa_rob; F2_02001=-(8.0/3.0); F2_11001=-(8.0/3.0); F2_10010=-4.0*grob*roa; F2_20010=-4.0*grob; F2_11001=-(8.0/3.0); F2_01200=-4.0*rob; F2_02200=-4.0; /*Derivatives */ ds->df4000 += factor* ( -a*F0_40 - a*b*W_40*(roa*rob*F1 + F2) - 4.0*a*b*W_30*(rob*F1 + roa*rob*F1_10000 + F2_10000) - 6.0*a*b*W_20*(2.0*rob*F1_10000 + roa*rob*F1_20000 + F2_20000) - 4.0*a*b*W_10*(3.0*rob*F1_20000 + roa*rob*F1_30000) - a*b*W*(4.0*rob*F1_30000 + roa*rob*F1_40000) ); ds->df3100 += factor* ( -a*F0_31 - a*b*W_31*(roa*rob*F1 + F2) - a*b*W_30*(roa*F1 + roa*rob*F1_01000 + F2_01000) - 3.0*a*b*W_21*(rob*F1 + roa*rob*F1_10000 + F2_10000) - 3.0*a*b*W_20*(F1 + rob*F1_01000 + roa*F1_10000 + roa*rob*F1_11000 + F2_11000) - 3.0*a*b*W_11*(2.0*rob*F1_10000 + roa*rob*F1_20000 + F2_20000) - 3.0*a*b*W_10*(2.0*F1_10000 + 2.0*rob*F1_11000 + roa*F1_20000 + roa*rob*F1_21000) - a*b*W_01*(3.0*rob*F1_20000 + roa*rob*F1_30000 ) - a*b*W*(3.0*F1_20000 + 3.0*rob*F1_21000 + roa*F1_30000 + roa*rob*F1_31000 ) ); ds->df2200 += factor* ( -a*F0_22 - a*b*W_22*(roa*rob*F1 + F2) - 2.0*a*b*W_21*(roa*F1 + roa*rob*F1_01000 + F2_01000) - a*b*W_20*(2.0*roa*F1_01000 + roa*rob*F1_02000 + F2_02000) - 2.0*a*b*W_12*(rob*F1 + roa*rob*F1_10000 + F2_10000) - 4.0*a*b*W_11*(F1 + rob*F1_01000 + roa*F1_10000 + roa*rob*F1_11000 + F2_11000) - 2.0*a*b*W_10*(2.0*F1_01000 + rob*F1_02000 + 2.0*roa*F1_11000 + roa*rob*F1_12000 ) - a*b*W_02*(2.0*rob*F1_10000 + roa*rob*F1_20000 + F2_20000) - 2.0*a*b*W_01*(2.0*F1_10000 + 2.0*rob*F1_11000 + roa*F1_20000 + roa*rob*F1_21000 ) - a*b*W*(4.0*F1_11000 + 2.0*rob*F1_12000 + 2.0*roa*F1_21000 + roa*rob*F1_22000) ); ds->df1300 += factor* ( -a*F0_13 - a*b*W_13*(roa*rob*F1 + F2) - 3.0*a*b*W_12*(roa*F1 + roa*rob*F1_01000 + F2_01000) - 3.0*a*b*W_11*(2.0*roa*F1_01000 + roa*rob*F1_02000 + F2_02000) - a*b*W_10*(3.0*roa*F1_02000 + roa*rob*F1_03000 ) - a*b*W_03*(rob*F1 + roa*rob*F1_10000 + F2_10000) - 3.0*a*b*W_02*(F1 + rob*F1_01000 + roa*F1_10000 + roa*rob*F1_11000 + F2_11000) - 3.0*a*b*W_01*(2.0*F1_01000 + rob*F1_02000 + 2.0*roa*F1_11000 + roa*rob*F1_12000 ) - a*b*W*(3.0*F1_02000 + rob*F1_03000 + 3.0*roa*F1_12000 + roa*rob*F1_13000 ) ); ds->df0400 += factor* ( -a*F0_04 - a*b*W_04*(roa*rob*F1 + F2) - 4.0*a*b*W_03*(roa*F1 + roa*rob*F1_01000 + F2_01000) - 6.0*a*b*W_02*(2.0*roa*F1_01000 + roa*rob*F1_02000 + F2_02000) - 4.0*a*b*W_01*(3.0*roa*F1_02000 + roa*rob*F1_03000 ) - a*b*W*(4.0*roa*F1_03000 + roa*rob*F1_04000) ); ds->df3010 += factor* ( -a*b*W_30*(roa*rob*F1_00100 + F2_00100) - 3.0*a*b*W_20*(rob*F1_00100 + roa*rob*F1_10100 ) - 3.0*a*b*W_10*(2.0*rob*F1_10100 + roa*rob*F1_20100) - a*b*W*(3.0*rob*F1_20100 + roa*rob*F1_30100) ); ds->df3001 += factor* ( -a*b*W_30*(roa*rob*F1_00010 + F2_00010) - 3.0*a*b*W_20*(rob*F1_00010 + roa*rob*F1_10010 + F2_10010) - 3.0*a*b*W_10*(2.0*rob*F1_10010 + roa*rob*F1_20010 + F2_20010) - a*b*W*(3.0*rob*F1_20010 + roa*rob*F1_30010) ); ds->df30001 += factor* ( -a*b*W_30*(roa*rob*F1_00001 + F2_00001) - 3.0*a*b*W_20*(rob*F1_00001 + roa*rob*F1_10001 + F2_10001) - 3.0*a*b*W_10*(2.0*rob*F1_10001 + roa*rob*F1_20001 + F2_20001) - a*b*W*(3.0*rob*F1_20001 + roa*rob*F1_30001) ); ds->df2110 += factor* ( -a*b*W_21*(roa*rob*F1_00100 + F2_00100) - a*b*W_20*(roa*F1_00100 + roa*rob*F1_01100 + F2_01100) - 2.0*a*b*W_11*(rob*F1_00100 + roa*rob*F1_10100 ) - 2.0*a*b*W_10*(F1_00100 + rob*F1_01100 + roa*F1_10100 + roa*rob*F1_11100) - a*b*W_01*(2.0*rob*F1_10100 + roa*rob*F1_20100) - a*b*W*(2.0*F1_10100 + 2.0*rob*F1_11100 + roa*F1_20100 + roa*rob*F1_21100) ); ds->df2101 += factor* ( -a*b*W_21*(roa*rob*F1_00010 + F2_00010) - a*b*W_20*(roa*F1_00010 + roa*rob*F1_01010 ) - 2.0*a*b*W_11*(rob*F1_00010 + roa*rob*F1_10010 + F2_10010) - 2.0*a*b*W_10*(F1_00010 + rob*F1_01010 + roa*F1_10010 + roa*rob*F1_11010 ) - a*b*W_01*(2.0*rob*F1_10010 + roa*rob*F1_20010 + F2_20010) - a*b*W*(2.0*F1_10010 + 2.0*rob*F1_11010 + roa*F1_20010 + roa*rob*F1_21010) ); ds->df21001 += factor* ( -a*b*W_21*(roa*rob*F1_00001 + F2_00001) - a*b*W_20*(roa*F1_00001 + roa*rob*F1_01001 + F2_01001) - 2.0*a*b*W_11*(rob*F1_00001 + roa*rob*F1_10001 + F2_10001) - 2.0*a*b*W_10*(F1_00001 + rob*F1_01001 + roa*F1_10001 + roa*rob*F1_11001 + F2_11001) - a*b*W_01*(2.0*rob*F1_10001 + roa*rob*F1_20001 + F2_20001) - a*b*W*(2.0*F1_10001 + 2.0*rob*F1_11001 + roa*F1_20001 + roa*rob*F1_21001 ) ); ds->df2020 += factor* ( -a*b*W_20*(roa*rob*F1_00200 + F2_00200) - 2.0*a*b*W_10*(rob*F1_00200 + roa*rob*F1_10200 ) - a*b*W*(2.0*rob*F1_10200 + roa*rob*F1_20200 ) ); ds->df2002 += factor* ( -a*b*W_20*(roa*rob*F1_00020 + F2_00020) - 2.0*a*b*W_10*(rob*F1_00020 + roa*rob*F1_10020 + F2_10020 ) - a*b*W*(2.0*rob*F1_10020 + roa*rob*F1_20020 + F2_20020) ); ds->df1210 += factor* ( -a*b*W_12*(roa*rob*F1_00100 + F2_00100) - 2.0*a*b*W_11*(roa*F1_00100 + roa*rob*F1_01100 + F2_01100) - a*b*W_10*(2.0*roa*F1_01100 + roa*rob*F1_02100 + F2_02100) - a*b*W_02*(rob*F1_00100 + roa*rob*F1_10100 ) - 2.0*a*b*W_01*(F1_00100 + rob*F1_01100 + roa*F1_10100 + roa*rob*F1_11100 ) - a*b*W*(2.0*F1_01100 + rob*F1_02100 + 2.0*roa*F1_11100 + roa*rob*F1_12100 ) ); ds->df1201 += factor* ( -a*b*W_12*(roa*rob*F1_00010 + F2_00010) - 2.0*a*b*W_11*(roa*F1_00010 + roa*rob*F1_01010 ) - a*b*W_10*(2.0*roa*F1_01010 + roa*rob*F1_02010 ) - a*b*W_02*(rob*F1_00010 + roa*rob*F1_10010 + F2_10010) - 2.0*a*b*W_01*(F1_00010 + rob*F1_01010 + roa*F1_10010 + roa*rob*F1_11010 ) - a*b*W*(2.0*F1_01010 + rob*F1_02010 + 2.0*roa*F1_11010 + roa*rob*F1_12010 ) ); ds->df12001 += factor* ( -a*b*W_12*(roa*rob*F1_00001 + F2_00001) - 2.0*a*b*W_11*(roa*F1_00001 + roa*rob*F1_01001 + F2_01001) - a*b*W_10*(2.0*roa*F1_01001 + roa*rob*F1_02001 + F2_02001) - a*b*W_02*(rob*F1_00001 + roa*rob*F1_10001 + F2_01001) - 2.0*a*b*W_01*(F1_00001 + rob*F1_01001 + roa*F1_10001 + roa*rob*F1_11001 + F2_11001) - a*b*W*(2.0*F1_01001 + rob*F1_02001 + 2.0*roa*F1_11001 + roa*rob*F1_12001 ) ); ds->df1120 += factor* ( -a*b*W_11*(roa*rob*F1_00200 + F2_00200) - a*b*W_10*(roa*F1_00200 + roa*rob*F1_01200 + F2_01200 ) - a*b*W_01*(rob*F1_00200 + roa*rob*F1_10200 ) - a*b*W*(F1_00200 + rob*F1_01200 + roa*F1_10200 + roa*rob*F1_11200) ); ds->df1102 += factor* ( -a*b*W_11*(roa*rob*F1_00020 + F2_00020) - a*b*W_10*(roa*F1_00020 + roa*rob*F1_01020 ) - a*b*W_01*(rob*F1_00020 + roa*rob*F1_10020 + F2_10020 ) - a*b*W*(F1_00020 + rob*F1_01020 + roa*F1_10020 + roa*rob*F1_11020) ); ds->df0310 += factor* ( -a*b*W_03*(roa*rob*F1_00100 + F2_00100) - 3.0*a*b*W_02*(roa*F1_00100 + roa*rob*F1_01100 + F2_01100) - 3.0*a*b*W_01*(2.0*roa*F1_01100 + roa*rob*F1_02100 + F2_02100 ) - a*b*W*(3.0*roa*F1_02100 + roa*rob*F1_03100 ) ); ds->df0301 += factor* ( -a*b*W_03*(roa*rob*F1_00010 + F2_00010) - 3.0*a*b*W_02*(roa*F1_00010 + roa*rob*F1_01010 ) - 3.0*a*b*W_01*(2.0*roa*F1_01010 + roa*rob*F1_02010) - a*b*W*(3.0*roa*F1_02010 + roa*rob*F1_03010) ); ds->df03001 += factor* ( -a*b*W_03*(roa*rob*F1_00001 + F2_00001) - 3.0*a*b*W_02*(roa*F1_00001 + roa*rob*F1_01001 + F2_01001) - 3.0*a*b*W_01*(2.0*roa*F1_01001 + roa*rob*F1_02001 + F2_02001) - a*b*W*(3.0*roa*F1_02001 + roa*rob*F1_03001) ); ds->df0220 += factor* ( -a*b*W_02*(roa*rob*F1_00200 + F2_00200) - 2.0*a*b*W_01*(roa*F1_00200 + roa*rob*F1_01200 + F2_01200 ) - a*b*W*(2.0*roa*F1_01200 + roa*rob*F1_02200 + F2_02200 ) ); ds->df0202 += factor* ( -a*b*W_02*(roa*rob*F1_00020 + F2_00020) - 2.0*a*b*W_01*(roa*F1_00020 + roa*rob*F1_01020 ) - a*b*W*(2.0*roa*F1_01020 + roa*rob*F1_02020 ) ); } ergo-3.5/source/dft/aos.h0000664000175000017500000000507412743400307012256 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #if !defined(_AOS_H_) #define _AOS_H_ /** @file aos.h Blocked version of orbtial evaluation routines. */ #include "realtype.h" #include "basisinfo.h" /** Limit for the number of grid point batch length. Should not be too * short because the loop overhead will grow too large, nor too long * because we run out of cache then. */ #define DFT_MAX_BLLEN 192 /** Computes values of basis functions at specified points in space. Only b.fs specified by iblcks[nblcnt] are computed. @param nvclen number of points to consider. IT must be smaller than DFT_MAX_BLLEN. @param gao matrix of computed b.f, values. Dimension is in C convention: [nderivatives][nvclen], where nderivatives is 1 for nder==0, 4 for nder==1. @param coor point coordinates. @param nblcnt so many continous blocks of basis functions will be computed. @param iblcks start and end indices of the b.fs shells. Computed shells are [iblcks[0], iblcks[1]). @param nder whether orbital derivatives are to be computed as well. Allowed values are 0 (no derivatives) and 1 (values and first order derivatives). @param bis structure describing the basis functions to be evaluated. */ void dft_get_orbs(int nvclen, ergo_real *gao, const ergo_real (*coor)[3], int nblcnt, int (*iblcks)[2], int nder, const BasisInfoStruct& bis); #endif /* _AOS_H_ */ ergo-3.5/source/dft/lin_trans.cc0000664000175000017500000003122412743400307013617 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* -*-mode:c; c-basic-offset:4; -*- */ /** @file lin_trans.cc Blocked DFT Linear Response contribution evaluator. */ #include "config.h" #include #include #include #include #include #include #include static pthread_mutex_t dft_prop_mutex = PTHREAD_MUTEX_INITIALIZER; #include "aos.h" #include "dft_common.h" #include "functionals.h" #include "integrator.h" #include "output.h" #include "grid_matrix.h" #include "rho-mat.h" #include "utilities.h" /* restrict hints should not be necessary... */ #if !defined(restrict) #define restrict #endif inline int min(int a, int b) { return aatv; real * restrict excmat = data->res; real (* restrict vt) = data->vt; /* [bllen][4] */ int ibl, i, jbl, j, k, isym, ivec; int nbast = data->nbast; int n2basx = nbast*nbast; FunDensProp dp = { 0 }; for(ivec=0; ivecvecs_in_batch; ivec++) { /* compute vector of transformed densities vt */ getexp_blocked_lda(nbast, data->kappa + ivec*n2basx, grid->atv, grid->bas_bl_cnt, grid->basblocks, grid->shl_bl_cnt, tmp, bllen, vt); for(i=blstart; iweight[grid->curr_point+i]; dp.rhoa = dp.rhob = 0.5*grid->r.rho[i]; dftpot1_(&vxc, &weight, &dp, &data->trplet); vt[i] = vxc.fRR*vt[i]*2; } for(isym=0; isymnsym; isym++) { const real *vPot = vt; int (*restrict iblocks)[2] = BASBLOCK(grid,isym); int ibl_cnt = grid->bas_bl_cnt[isym]; for(ibl=0; iblksymop-1][isym]-1; */ int (*restrict jblocks)[2] = BASBLOCK(grid,jsym); int jbl_cnt = grid->bas_bl_cnt[jsym]; real *restrict tmpi = &tmp[i*bllen]; if (isymnbast; int n2basx = nbast*nbast; real (* restrict vt3)[4] = (real(*)[4])data->vt; /* [bllen][4] */ real * restrict aos = grid->atv; real * restrict aox = grid->atv+bllen*nbast; real * restrict aoy = grid->atv+bllen*nbast*2; real * restrict aoz = grid->atv+bllen*nbast*3; real * restrict excmat = data->res; FunDensProp dp = { 0 }; for(ivec=0; ivecvecs_in_batch; ivec++) { /* compute vector of transformed densities and dens. gradients vt3 */ getexp_blocked_gga(nbast, data->kappa + ivec*n2basx, grid->atv, grid->bas_bl_cnt, grid->basblocks, grid->shl_bl_cnt, tmp, bllen, vt3); for(i=blstart; iweight[grid->curr_point+i]; real ngrad = std::sqrt(grid->g.grad[i][0]*grid->g.grad[i][0]+ grid->g.grad[i][1]*grid->g.grad[i][1]+ grid->g.grad[i][2]*grid->g.grad[i][2]); real brg, brz, b0 = vt3[i][0]; if(ngrad<1e-15|| grid->r.rho[i]<1e-15) { vt3[i][0] = vt3[i][1] = vt3[i][2] = vt3[i][3] = 0; continue; } brg = (vt3[i][1]*grid->g.grad[i][0] + vt3[i][2]*grid->g.grad[i][1] + vt3[i][3]*grid->g.grad[i][2]); brz = brg/ngrad; dp. rhoa = dp. rhob = 0.5*grid->r.rho[i]; dp.grada = dp.gradb = 0.5*ngrad; dp.gradab = dp.grada*dp.gradb; dftpot1_(&vxc, &weight, &dp, &data->trplet); facr = vxc.fRZ*b0 + (vxc.fZZ-vxc.fZ/ngrad)*brz + vxc.fZG*brg; facr = facr/ngrad + (vxc.fRG*b0+vxc.fZG*brz +vxc.fGG*brg); facg = vxc.fZ/ngrad + vxc.fG; vt3[i][0] = vxc.fRR*b0 + vxc.fRZ*brz+ vxc.fRG*brg; vt3[i][1] = (grid->g.grad[i][0]*facr + facg*vt3[i][1])*2; vt3[i][2] = (grid->g.grad[i][1]*facr + facg*vt3[i][2])*2; vt3[i][3] = (grid->g.grad[i][2]*facr + facg*vt3[i][3])*2; } for(isym=0; isymnsym; isym++) { int (*restrict iblocks)[2] = BASBLOCK(grid,isym); int ibl_cnt = grid->bas_bl_cnt[isym]; for(ibl=0; iblksymop-1][isym]-1; */ int (*restrict jblocks)[2] = BASBLOCK(grid,jsym); int jbl_cnt = grid->bas_bl_cnt[jsym]; for(k=blstart; kis_gga() ? lin_resp_cb_b_gga : lin_resp_cb_b_lda), &lr_data); pthread_mutex_lock(&dft_prop_mutex); for(jvec=0; jvecelectrons = dft_lin_respao(*ld->bis, *ld->mol, *ld->gss, ld->density, ld->inputVec, ld->transformedVec, ld->nThreads); } catch(const char *s) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "dft_lin_resp_worker thread caught an exception '%s'", s); return (void*)&LINRESP_ERROR; } catch(const std::bad_alloc & e) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "dft_lin_resp_worker thread caught an exception '%s'", e.what()); return (void*)&LINRESP_ERROR; } catch(...) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "dft_lin_resp_worker thread caught unexpected exception."); return (void*)&LINRESP_ERROR; } return NULL; } EXTERN_C real dft_lin_resp_mt(const BasisInfoStruct& bis, const Molecule& mol, const Dft::GridParams& gss, const real *dens, const real *vec, real* trans_vec) { int i, threads; real electrons = 0; Util::TimeMeter tm; threads = dft_get_num_threads(); std::vector data(threads); std::vector pids(threads); for(i=0; i= 0) { pthread_join(pids[i], NULL); electrons += data[i].electrons; } if(threads>1) { int nElectrons = mol.getNumberOfElectrons(); do_output(LOG_CAT_INFO, LOG_AREA_LR, "LR-DFT*%d finished. Electrons: %f(%9.3g) (mt)", 1, (double)electrons, (double)((electrons-nElectrons)/nElectrons)); tm.print(LOG_AREA_DFT, __func__); } return electrons; } ergo-3.5/source/dft/grid_hicu.h0000664000175000017500000000414412743400307013426 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef _GRID_HICU_H_ #define _GRID_HICU_H_ 1 #include "grid_matrix.h" #include "sparse_matrix.h" int hicu_grid_generate(const char* grid_file_name, const BasisInfoStruct& bis, ergo_real maxError, ergo_real boxSize, ergo_real startBoxSizeDebug, int use_error_per_volume, int do_double_checking, int compare_to_refined, int use_energy_criterion, int use_energy_criterion_only, int do_variation_checking, const Dft::Matrix* dmat, Dft::SparsePattern* pattern, int nThreads, bool generateSparsePatternOnly); void grid_generate_sparse_pattern(const BasisInfoStruct& bis, ergo_real maxError, ergo_real boxSize, ergo_real startBoxSizeDebug, Dft::SparsePattern& pattern); #endif /* _GRID_HICU_H_ */ ergo-3.5/source/dft/sparse_matrix.h0000664000175000017500000001227412743400307014355 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #if !defined(_SPARSE_MATRIX_H_) #define _SPARSE_MATRIX_H_ 1 /** @file sparse_matrix.h Declares a sparse matrix optimized for the XC code. The object provides methods for fast preallocation of the matrix elements, and some matrix elements iterators as needed for the numerical matrix element integration schemes. */ #include #include #include #include "realtype.h" #include "matrix_typedefs.h" #include "basisinfo.h" #include "sparse_pattern.h" #if !defined(BEGIN_NAMESPACE) #define BEGIN_NAMESPACE(x) namespace x { #define END_NAMESPACE(x) } /* x */ #endif BEGIN_NAMESPACE(Dft) /** Sparse matrix structure optimized for XC data access pattern. */ class SparseMatrix { class Exception : public std::exception { const char *msg; public: explicit Exception(const char *msg_) : msg(msg_) {} virtual const char *what() const throw() { return msg; } }; const SparsePattern& pattern; ergo_real **columns; int **offsets; /**< for accelerated at() and add() methods. */ int **his; /**< for accelerated at() and add() methods. */ int *cnt; /**< for accelerated at() and add() methods. */ int n; /** Fills in offsets and his based on pattern. */ void createOffsets(const SparsePattern& pattern); public: /** Constructs a square matrix and preallocate according to the specified pattern. */ explicit SparseMatrix(const SparsePattern& pattern_); SparseMatrix(const SparsePattern& pattern_, const symmMatrix& m, const int *aoMap, std::vector const & permutationHML); ~SparseMatrix() { for(int i=0; i const & permutationHML) const; /** Adds given value to an element in given row and column. Checking against intervals.end() is *terribly* expensive!!! Luckily, we do not have to do it.*/ void add(int row, int col, ergo_real val) { ergo_real *columnData = columns[col]; const int *hi = his[col]; int idx; for(idx = 0; idx < cnt[col] && row >hi[idx]; ++idx); //int idx = std::upper_bound(hi, hi+cnt[col], row)-hi; if(idx >= cnt[col]) throw Exception("SparseMatrix::add called with incorrect args"); int offset = offsets[col][idx]; /* Add it... */ //assert(row-offset>=0); //assert(row-offsethi[idx]; ++idx); if(idx >= cnt[col]) throw Exception("SparseMatrix::at called with incorrect args"); //int idx = std::upper_bound(hi, hi+cnt[col], row)-hi; int offset = offsets[col][idx]; /* return it... */ //assert(row-offset>=0); //assert(row-offset. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file fun-becke.c implementation of Becke(88) functional and its derivatives. or exactly: Becke GGA correction to the functional. (total Becke(88) energy is E_LDA+E_BCK). (c) Pawel Salek, pawsa@theochem.kth.se, aug 2001 Z. Rinkevicius adapted for open shell systems: energy, first derivatives. NOTE: this file may seem unnecessarily complex but the structure does pay off when implementing multiple functionals depending on different parameters. */ #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int becke_isgga(void) { return 1; } static int becke_read(const char* conf_line); static real becke_energy(const FunDensProp* dens_prop); static void becke_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dens_prop); static void becke_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dens_prop); static void becke_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dens_prop); static void becke_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dens_prop); Functional BeckeFunctional = { "Becke", /* name */ becke_isgga, /* gga-corrected */ becke_read, /* set bloody common blocks */ NULL, /* reporter */ becke_energy, becke_first, becke_second, becke_third, becke_fourth }; /* IMPLEMENTATION PART */ static int becke_read(const char* conf_line) { fun_set_hf_weight(0.0); return 1; } /* becke_energy: note that in reality E_BCK = E_BCK,alpha + E_BCK,beta i.e the is linear in alpha and beta densities. Becke threshold is needed to avoid numerical problems on 0/0 divisions. The problems are small but it is better to be on the safe side. */ static const real BECKE_THRESHOLD = 1e-14; static const real BETA = 0.0042; static real becke_energy(const FunDensProp* dp) { real ea,eb; if (dp->rhobgradb*POW(dp->rhob,-4.0/3.0); real rb = POW(dp->rhob,4.0/3.0); real denomb = 1.0 +6.0*xb*BETA*ASINH(xb); eb = rb*xb*xb/denomb; } if (dp->rhoagrada*POW(dp->rhoa,-4.0/3.0); real ra = POW(dp->rhoa,4.0/3.0); real denoma = 1.0 +6.0*BETA*xa*ASINH(xa); ea = ra*xa*xa/denoma; } return -BETA*(ea+eb); } static void becke_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { real alpha, aa2, asha, sq1aa2; real alphb, ab2, ashb, sq1ab2; real denoma, denoma2; real denomb, denomb2; real alphaa10, alphaa01; real alphab10, alphab01; real ffa, ff1a; real ffb, ff1b; if (dp->rhoa >BECKE_THRESHOLD) { alpha = dp->grada*POW(dp->rhoa,-4.0/3.0); aa2 = alpha*alpha; asha = ASINH(alpha); alphaa10 = -4.0/3.0*alpha/dp->rhoa; /* dalpha/drhoa */ alphaa01 = POW(dp->rhoa,-4.0/3.0); /* dalpha/dgrho */ sq1aa2 = SQRT(1 + aa2); denoma= 1 + 6*alpha*BETA*asha; denoma2 = denoma*denoma; ffa = -alpha*BETA/(1+6*alpha*BETA*asha); ff1a = BETA*(6*aa2*BETA - sq1aa2)/(sq1aa2*denoma2); ds->df1000 += factor*dp->grada* ff1a *alphaa10; ds->df0010 += factor*(ffa + dp->grada*ff1a*alphaa01); } if (dp->rhob >BECKE_THRESHOLD) { alphb = dp->gradb*POW(dp->rhob,-4.0/3.0); ab2 = alphb*alphb; ashb = ASINH(alphb); alphab10 = -4.0/3.0*alphb/dp->rhob; alphab01 = POW(dp->rhob,-4.0/3.0); sq1ab2 = SQRT(1 + ab2); denomb= 1 + 6*alphb*BETA*ashb; denomb2 = denomb*denomb; ffb = -alphb*BETA/(1+6*alphb*BETA*ashb); ff1b = BETA*(6*ab2*BETA - sq1ab2)/(sq1ab2*denomb2); ds->df0100 += factor*dp->gradb* ff1b *alphab10; ds->df0001 += factor*(ffb + dp->gradb*ff1b*alphab01); } } static void becke_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { const real BETA2 = BETA*BETA; real alpha, a2, a3, a4, asha, sq1a2; real denom, denom2, denom3; real alpha10, alpha20, alpha01, alpha11, alpha10_2; real ff, ff1, ff2; if (dp->rhoa >BECKE_THRESHOLD) { alpha = dp->grada*POW(dp->rhoa,-4.0/3.0); a2 = alpha*alpha; a3 = alpha*a2; a4 = alpha*a3; asha = ASINH(alpha); alpha10 = -4.0/3.0*alpha/dp->rhoa; /* dalpha/drhoa */ alpha20 = -7.0/3.0*alpha10/dp->rhoa; /* d²alpha/drhoa² */ alpha01 = POW(dp->rhoa,-4.0/3.0); /* dalpha/dgrho */ alpha11 = -4.0/3.0*alpha01/dp->rhoa; /* d²alpha/(drho dgrho) */ alpha10_2 = alpha10*alpha10; sq1a2 = SQRT(1 + a2); denom= 1 + 6*alpha*BETA*asha; denom2 = denom*denom; denom3 = denom2*denom; ff = -alpha*BETA/(1+6*alpha*BETA*asha); ff1 = BETA*(6*a2*BETA - sq1a2)/(sq1a2*denom2); ff2 = (6*BETA2*(4*alpha + a3*(3 - 12*sq1a2*BETA) + 2*(POW(1 + a2,1.5) - 3*a4*BETA)*asha))/ (POW(1 + a2,1.5)*denom3); ds->df1000 += factor*dp->grada* ff1 *alpha10; ds->df0010 += factor*(ff + dp->grada*ff1*alpha01); ds->df1010 += factor*(ff1*alpha10 + dp->grada*(ff2*alpha10*alpha01+ff1*alpha11)); ds->df2000 += factor*dp->grada*(ff2* alpha10_2 + ff1 * alpha20); ds->df0020 += factor*(2*ff1*alpha01 + dp->grada*(ff2*alpha01*alpha01)); } /* note: reuse of variables for beta part, maybe a bit .. */ if (dp->rhob >BECKE_THRESHOLD) { alpha = dp->gradb*POW(dp->rhob,-4.0/3.0); a2 = alpha*alpha; a3 = alpha*a2; a4 = alpha*a3; asha = ASINH(alpha); alpha10 = -4.0/3.0*alpha/dp->rhob; alpha20 = -7.0/3.0*alpha10/dp->rhob; alpha01 = POW(dp->rhob,-4.0/3.0); alpha11 = -4.0/3.0*alpha01/dp->rhob; alpha10_2 = alpha10*alpha10; sq1a2 = SQRT(1 + a2); denom= 1 + 6*alpha*BETA*asha; denom2 = denom*denom; denom3 = denom2*denom; ff = -alpha*BETA/(1+6*alpha*BETA*asha); ff1 = BETA*(6*a2*BETA - sq1a2)/(sq1a2*denom2); ff2 = (6*BETA2*(4*alpha + a3*(3 - 12*sq1a2*BETA) + 2*(POW(1 + a2,1.5) - 3*a4*BETA)*asha))/ (POW(1 + a2,1.5)*denom3); ds->df0100 += factor*dp->gradb* ff1 *alpha10; ds->df0001 += factor*(ff + dp->gradb*ff1*alpha01); ds->df0101 += factor*(ff1*alpha10 + dp->gradb*(ff2*alpha10*alpha01+ff1*alpha11)); ds->df0200 += factor*dp->gradb*(ff2* alpha10_2 + ff1 * alpha20); ds->df0002 += factor*(2*ff1*alpha01 + dp->gradb*(ff2*alpha01*alpha01)); } } /* becke_third: Becke functional derivatives. Input: rho, rhogrd. Output: df1000 - d/drho F df1010 - d/dgrd F df2000 - d^2/drho^2 F df1010 - d^2/drho d/dgrd F df0020 - d^2/dgrd^2 F df3000 - d^3/drho^3 F NOTES: Instead of passing 6+ numbers, a pointer to a structure ggaSecDrv could be passed instead. The numbers are closely related to each other. The Becke functional is expressed as a function of grho and alpha: F_B = grho*f The functional derivatives are expressed through the partial derivatives. For example (g==grho): df/drho = g df/dalpha * dalpha/drho d²f/drho² = g(d²f/dalpha² * (dalpha/drho)² + df/dalpha * d²alpha/drho²) d³f/drho³ = g(d³f/dalpha³ * (dalpha/drho)³ + 3d²f/dalpha²*(dalpha/drho)*d²alpha/drho² + df/dalpha * d³alpha/drho³) The derivatives with respect to grho==g are: df/dgrho = f + g df/dalpha * dalpha/dgrho d²f/dgrho²= 2*df/dalpha*dalpha/dg + g(d²f/dalpha²(dalpha/dg)²) NOTE that d²alpha/dg² = 0, and some terms are missing above. d³f/dgrho³= 3*d²f/dalpha²*(dalpha/dg)² (+0) + (+0)+ g(d³f/dalpha³(dalpha/dg)³ (+0)) NOTE: it adds to ds, not sets it. This routine has unrestricted interface but works only for restricted case. */ static void becke_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { const real BETA2 = BETA*BETA; real alpha, a2, a3, a4, a5, asha, asha2, sq1a2; real denom, denom2, denom3, denom4; real alpha10, alpha20, alpha30, alpha01, alpha11, alpha21, alpha10_2; real ff, ff1, ff2, ff3; if (dp->rhoa > BECKE_THRESHOLD) { alpha = dp->grada*POW(dp->rhoa,-4.0/3.0); a2 = alpha*alpha; a3 = alpha*a2; a4 = alpha*a3; a5 = alpha*a4; asha = ASINH(alpha); asha2= asha*asha; alpha10 = -4.0/3.0*alpha/dp->rhoa; /* dalpha/drhoa */ alpha20 = -7.0/3.0*alpha10/dp->rhoa; /* d²alpha/drhoa² */ alpha30 = -10./3.0*alpha20/dp->rhoa; /* d³alpha/drho³ */ alpha01 = POW(dp->rhoa,-4.0/3.0); /* dalpha/dgrho */ alpha11 = -4.0/3.0*alpha01/dp->rhoa; /* d²alpha/(drho dgrho) */ alpha21 = alpha20/dp->grada; /* d³alpha/(drho² dgrho) */ alpha10_2 = alpha10*alpha10; sq1a2 = SQRT(1 + a2); denom= 1 + 6*alpha*BETA*asha; denom2 = denom*denom; denom3 = denom2*denom; denom4 = denom3*denom; ff = -alpha*BETA/(1+6*alpha*BETA*asha); ff1 = BETA*(6*a2*BETA - sq1a2)/(sq1a2*denom2); ff2 = (6*BETA2*(4*alpha + a3*(3 - 12*sq1a2*BETA) + 2*(POW(1 + a2,1.5) - 3*a4*BETA)*asha))/ (POW(1 + a2,1.5)*denom3); ff3 = (6*BETA2*(6 + 5*a2 + 2*a4 - 12*alpha*(6 + 16*a2 + 7*a4)*BETA*asha + 36*sq1a2*BETA*(-a2*(3 + 2*a2) + 6*a5*BETA*asha - POW(1 + a2,2.0)*asha2) + 36*a4*BETA2*(6*(1 + a2) + (-1 + 2*a2)*asha2)))/ (POW(1 + a2,2.5)*denom4); ds->df1000 += factor*dp->grada* ff1 *alpha10; ds->df0010 += factor*(ff + dp->grada*ff1*alpha01); ds->df1010 += factor*(ff1*alpha10 + dp->grada*(ff2*alpha10*alpha01+ff1*alpha11)); ds->df2000 += factor*dp->grada*(ff2* alpha10_2 + ff1 * alpha20); ds->df0020 += factor*(2*ff1*alpha01 + dp->grada*(ff2*alpha01*alpha01)); ds->df2010 += factor*(ff2*alpha10_2 + ff1 * alpha20 + dp->grada*(ff3*alpha10_2*alpha01 + 2*ff2*alpha11*alpha10 + ff2*alpha20*alpha01 + ff1*alpha21)); ds->df1020 += factor*(2*ff2*alpha10*alpha01 + 2*ff1*alpha11 + dp->grada*(ff3*alpha01*alpha01*alpha10 + 2*ff2*alpha11*alpha01)); ds->df3000 += factor*dp->grada*(ff3 * alpha10_2*alpha10 + 3*ff2*alpha10*alpha20 + ff1*alpha30); ds->df0030 += factor*(3*ff2*alpha01*alpha01 + dp->grada*ff3*POW(alpha01,3.0)); } if (dp->rhob > BECKE_THRESHOLD) { alpha = dp->gradb*POW(dp->rhob,-4.0/3.0); a2 = alpha*alpha; a3 = alpha*a2; a4 = alpha*a3; a5 = alpha*a4; asha = ASINH(alpha); asha2= asha*asha; alpha10 = -4.0/3.0*alpha/dp->rhob; /* dalpha/drhoa */ alpha20 = -7.0/3.0*alpha10/dp->rhob; /* d²alpha/drhoa² */ alpha30 = -10./3.0*alpha20/dp->rhob; /* d³alpha/drho³ */ alpha01 = POW(dp->rhob,-4.0/3.0); /* dalpha/dgrho */ alpha11 = -4.0/3.0*alpha01/dp->rhob; /* d²alpha/(drho dgrho) */ alpha21 = alpha20/dp->gradb; /* d³alpha/(drho² dgrho) */ alpha10_2 = alpha10*alpha10; sq1a2 = SQRT(1 + a2); denom= 1 + 6*alpha*BETA*asha; denom2 = denom*denom; denom3 = denom2*denom; denom4 = denom3*denom; ff = -alpha*BETA/(1+6*alpha*BETA*asha); ff1 = BETA*(6*a2*BETA - sq1a2)/(sq1a2*denom2); ff2 = (6*BETA2*(4*alpha + a3*(3 - 12*sq1a2*BETA) + 2*(POW(1 + a2,1.5) - 3*a4*BETA)*asha))/ (POW(1 + a2,1.5)*denom3); ff3 = (6*BETA2*(6 + 5*a2 + 2*a4 - 12*alpha*(6 + 16*a2 + 7*a4)*BETA*asha + 36*sq1a2*BETA*(-a2*(3 + 2*a2) + 6*a5*BETA*asha - POW(1 + a2,2.0)*asha2) + 36*a4*BETA2*(6*(1 + a2) + (-1 + 2*a2)*asha2)))/ (POW(1 + a2,2.5)*denom4); ds->df0100 += factor*dp->gradb* ff1 *alpha10; ds->df0001 += factor*(ff + dp->gradb*ff1*alpha01); ds->df0101 += factor*(ff1*alpha10 + dp->gradb*(ff2*alpha10*alpha01+ff1*alpha11)); ds->df0200 += factor*dp->gradb*(ff2* alpha10_2 + ff1 * alpha20); ds->df0002 += factor*(2*ff1*alpha01 + dp->gradb*(ff2*alpha01*alpha01)); ds->df0201 += factor*(ff2*alpha10_2 + ff1 * alpha20 + dp->gradb*(ff3*alpha10_2*alpha01 + 2*ff2*alpha11*alpha10 + ff2*alpha20*alpha01 + ff1*alpha21)); ds->df0102 += factor*(2*ff2*alpha10*alpha01 + 2*ff1*alpha11 + dp->gradb*(ff3*alpha01*alpha01*alpha10 + 2*ff2*alpha11*alpha01)); ds->df0300 += factor*dp->gradb*(ff3 * alpha10_2*alpha10 + 3*ff2*alpha10*alpha20 + ff1*alpha30); ds->df0003 += factor*(3*ff2*alpha01*alpha01 + dp->gradb*ff3*POW(alpha01,3.0)); } } /* Different paritioning has been used for Fourth Derivatives Becke functional of the form Becke=-Beta*F where F(rho,grad)=rho^(4/3) * X^2 / ( 1 + 6*Beta*X*ArcSinh(X) ) F(rho, grad) has been partitoned in following manner: F(rho, grad) = Nom(rho, grad)*Denom(rho, grad) Nom(rho, grad) = grad^2 / rho^(4/3) Denom(rho, grad) = 1/(1 + 6*Beta*XARX(rho, grad)) XARX(rho, grad) = X(rho, grad)*ArcSinh(X(rho, grad)) X(rho, grad) = grad/rho^(4/3) ************************************************************* NAME : Variable name NAMEXY : X-th partial derivative with respect to rho Y-th partial derivative with respect to grad of Variable (function) NAME NAME_pX : Xth power of NAME (NAME^X) NAME_pmX : NAME^(-X) NAME_pmXfY : NAME^(-X/Y) INAME : 1/NAME ************************************************************* (c)2002 by B. Jansik */ static void becke_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dp) { real ASINH_X, B, BXARX; real BXARX_pm2, BXARX_pm3, BXARX_pm4, BXARX_pm5; real B_p2, B_p3, B_p4; real DENX, DENX_pm1f2, DENX_pm3f2, DENX_pm5f2, DENX_pm7f2; real Denom, Denom01, Denom02, Denom03, Denom04, Denom10; real Denom11, Denom12, Denom13, Denom20, Denom21, Denom22; real Denom30, Denom31, Denom40, IDENX; real Nom, Nom01, Nom02, Nom10, Nom11, Nom12, Nom20, Nom21, Nom22; real Nom30, Nom31, Nom40; real X, X01, X01_p2, X01_p3, X01_p4; real X10, X10_p2, X10_p3, X10_p4; real X11, X11_p2, X20, X20_p2; real X21, X30, X31, X40, XARX01, XARX01_p2, XARX01_p3, XARX01_p4; real XARX02, XARX02_p2, XARX03, XARX04, XARX10; real XARX10_p2, XARX10_p3, XARX10_p4, XARX11, XARX11_p2, XARX12; real XARX13, XARX20, XARX20_p2, XARX21, XARX22, XARX30, XARX31, XARX40; real X_p2, X_p3, X_p4, gro, gro_p2; real iro, ro, ro_pm10f3, ro_pm13f3, ro_pm16f3, ro_pm4f3, ro_pm7f3; real out; FunThirdFuncDrv ds_third; /* Setting up lower order derivatives * BeckeFunctional.third calculate third and also lower order derivatives */ drv3_clear(&ds_third); BeckeFunctional.third(&ds_third, factor, dp); ds->df1000 += ds_third.df1000; ds->df0010 += ds_third.df0010; ds->df2000 += ds_third.df2000; ds->df0020 += ds_third.df0020; ds->df2010 += ds_third.df2010; ds->df1020 += ds_third.df1020; ds->df3000 += ds_third.df3000; ds->df0030 += ds_third.df0030; ds->df0100 += ds_third.df0100; ds->df0001 += ds_third.df0001; ds->df0200 += ds_third.df0200; ds->df0002 += ds_third.df0002; ds->df0201 += ds_third.df0201; ds->df0102 += ds_third.df0102; ds->df0300 += ds_third.df0300; ds->df0003 += ds_third.df0003; ds->df1010 += ds_third.df1010; ds->df0101 += ds_third.df0101; /* Powers of Beta */ B=BETA; B_p2=B*B; B_p3=B_p2*B; B_p4=B_p3*B; if (dp->rhoa > BECKE_THRESHOLD) { ro=dp->rhoa; gro=dp->grada; /* Powers of ro, gro */ iro=1.0/ro; ro_pm4f3=POW(ro,(-4.0/3.0)); /* ro_pm4f3=1.0/cbrt(ro*ro*ro*ro); */ ro_pm7f3=iro*ro_pm4f3; ro_pm10f3=iro*ro_pm7f3; ro_pm13f3=iro*ro_pm10f3; ro_pm16f3=iro*ro_pm13f3; gro_p2=gro*gro; /* End of Powers of ro, gro */ /* X and derivatives */ X=gro*(ro_pm4f3); X01=(ro_pm4f3); X10=-(4.0/3.0)*gro*ro_pm7f3; X20=(28.0/9.0)*gro*ro_pm10f3; X30=-(280.0/27.0)*gro*ro_pm13f3; X40=(3640.0/81.0)*gro*ro_pm16f3; X11=-(4.0/3.0)*ro_pm7f3; X21=(28.0/9.0)*ro_pm10f3; X31=-(280.0/27.0)*ro_pm13f3; /* X deriv. powers */ X_p2=X*X; X_p3=X_p2*X; X_p4=X_p3*X; X01_p2=X01*X01; X01_p3=X01_p2*X01; X01_p4=X01_p3*X01; X10_p2=X10*X10; X10_p3=X10_p2*X10; X10_p4=X10_p3*X10; X20_p2=X20*X20; X11_p2=X11*X11; /* End of X deriv powers */ /* End of X derivatives */ DENX=1.0+X_p2; IDENX=1.0/DENX; DENX_pm1f2=1.0/SQRT(DENX); DENX_pm3f2=IDENX*(DENX_pm1f2); DENX_pm5f2=IDENX*(DENX_pm3f2); DENX_pm7f2=IDENX*(DENX_pm5f2); ASINH_X=ASINH(X); BXARX=1.0+(6.0*B*X*ASINH_X); Denom=1.0/BXARX; BXARX_pm2=Denom*Denom; BXARX_pm3=BXARX_pm2*Denom; BXARX_pm4=BXARX_pm3*Denom; BXARX_pm5=BXARX_pm4*Denom; /* XARX derivatives */ XARX01=ASINH_X*X01 + X*X01*DENX_pm1f2; XARX02=-X_p2*X01_p2*DENX_pm3f2 + 2.0*(X01_p2)* DENX_pm1f2; XARX03=3.0*(X_p3)*(X01_p3)* DENX_pm5f2 - 4.0*X*(X01_p3)* DENX_pm3f2; XARX04=-15.0*(X_p4)*(X01_p4) * DENX_pm7f2 + 21.0*(X_p2)*(X01_p4)* DENX_pm5f2 - 4.0*(X01_p4) * DENX_pm3f2; XARX10=ASINH_X*X10 + X*X10*DENX_pm1f2; XARX20=-X_p2*X10_p2*DENX_pm3f2 + 2.0*(X10_p2)* DENX_pm1f2 + ASINH_X*X20 + X*X20*DENX_pm1f2; XARX30=3.0*(X_p3)*(X10_p3)* DENX_pm5f2 - 4.0*X*(X10_p3)* DENX_pm3f2 - 3.0*X_p2*X10*X20 * DENX_pm3f2 + 6.0*X10*X20*DENX_pm1f2 + ASINH_X*X30 + X*X30* DENX_pm1f2; XARX40=-15.0*(X_p4)*(X10_p4) * DENX_pm7f2 + 21.0*(X_p2)*(X10_p4)* DENX_pm5f2 - 4.0*(X10_p4) * DENX_pm3f2 + 18.0*X_p3*X10_p2*X20*DENX_pm5f2 - 24.0*X*X10_p2*X20*DENX_pm3f2 - 3.0*X_p2*X20_p2*DENX_pm3f2 + 6.0*X20_p2*DENX_pm1f2 - 4.0*X_p2*X10*X30*DENX_pm3f2 + 8.0*X10*X30*DENX_pm1f2 + ASINH_X*X40 + X*X40*DENX_pm1f2; XARX11=-X_p2*X01*X10*DENX_pm3f2 + 2.0*X01*X10*DENX_pm1f2 + ASINH_X*X11 + X*X11*DENX_pm1f2; XARX21=3.0*X_p3*X01*X10_p2*DENX_pm5f2 - 4.0*X*X01*X10_p2*DENX_pm3f2 - 2.0*X_p2*X10*X11*DENX_pm3f2 + 4.0*X10*X11*DENX_pm1f2 - X_p2*X01*X20*DENX_pm3f2 + 2.0*X01*X20*DENX_pm1f2 + ASINH_X*X21 + X*X21*DENX_pm1f2; XARX31=-15.0*X_p4*X01*X10_p3*DENX_pm7f2 + 21.0*X_p2*X01*X10_p3*DENX_pm5f2 - 4.0*X01*X10_p3*DENX_pm3f2 + 9.0*X_p3*X10_p2*X11*DENX_pm5f2 - 12.0*X*X10_p2*X11*DENX_pm3f2 + 9.0*X_p3*X01*X10*X20*DENX_pm5f2 - 12.0*X*X01*X10*X20*DENX_pm3f2 - 3.0*X_p2*X11*X20*DENX_pm3f2 + 6.0*X11*X20*DENX_pm1f2 - 3.0*X_p2*X10*X21*DENX_pm3f2 + 6.0*X10*X21*DENX_pm1f2 - X_p2*X01*X30*DENX_pm3f2 + 2.0*X01*X30*DENX_pm1f2 + ASINH_X*X31 + X*X31*DENX_pm1f2; XARX12=3.0*X_p3*X01_p2*X10*DENX_pm5f2 - 4.0*X*X01_p2*X10*DENX_pm3f2 - 2.0*X_p2*X01*X11*DENX_pm3f2 + 4.0*X01*X11*DENX_pm1f2; XARX22=-15.0*X_p4*X01_p2*X10_p2*DENX_pm7f2 + 21.0*X_p2*X01_p2*X10_p2*DENX_pm5f2 - 4.0*X01_p2*X10_p2*DENX_pm3f2 + 12.0*X_p3*X01*X10*X11*DENX_pm5f2 - 16.0*X*X01*X10*X11*DENX_pm3f2 - 2.0*X_p2*X11_p2*DENX_pm3f2 + 4.0*X11_p2*DENX_pm1f2 + 3.0*X_p3*X01_p2*X20*DENX_pm5f2 - 4.0*X*X01_p2*X20*DENX_pm3f2 - 2.0*X_p2*X01*X21*DENX_pm3f2 + 4.0*X01*X21*DENX_pm1f2; XARX13=-15.0*X_p4*X01_p3*X10*DENX_pm7f2 + 21.0*X_p2*X01_p3*X10*DENX_pm5f2 - 4.0*X01_p3*X10*DENX_pm3f2 + 9.0*X_p3*X01_p2*X11*DENX_pm5f2 - 12.0*X*X01_p2*X11*DENX_pm3f2; /* Xarx der powers */ XARX10_p2=XARX10*XARX10; XARX10_p3=XARX10_p2*XARX10; XARX10_p4=XARX10_p3*XARX10; XARX20_p2=XARX20*XARX20; XARX01_p2=XARX01*XARX01; XARX01_p3=XARX01_p2*XARX01; XARX01_p4=XARX01_p3*XARX01; XARX02_p2=XARX02*XARX02; XARX11_p2=XARX11*XARX11; /* End of Xarx der powers */ /* End of XARX derivatives */ /* Nom derivatives */ Nom=(gro_p2)*(ro_pm4f3); Nom01=2.0*gro*(ro_pm4f3); Nom02=2.0*(ro_pm4f3); Nom10=-(4.0/3.0)*gro_p2*ro_pm7f3; Nom20=(28.0/9.0)*gro_p2*ro_pm10f3; Nom30=-(280.0/27.0)*gro_p2*ro_pm13f3; Nom40=(3640.0/81.0)*gro_p2*ro_pm16f3; Nom11=-(8.0/3.0)*gro*ro_pm7f3; Nom21=(56.0/9.0)*gro*ro_pm10f3; Nom31=-(560.0/27.0)*gro*ro_pm13f3; Nom12=-(8.0/3.0)*ro_pm7f3; Nom22=(56.0/9.0)*ro_pm10f3; /* End of Nom derivatives */ /* Denom derivatives */ Denom01=-6.0*B*XARX01*BXARX_pm2; Denom02=72.0*B_p2*XARX01_p2*BXARX_pm3 - 6.0*B*XARX02*BXARX_pm2; Denom03=-1296.0*B_p3*XARX01_p3*BXARX_pm4 + 216.0*B_p2*XARX01*XARX02*BXARX_pm3 - 6.0*B*XARX03*BXARX_pm2; Denom04=31104.0*B_p4*XARX01_p4*BXARX_pm5 - 7776.0*B_p3*XARX01_p2*XARX02*BXARX_pm4 + 216.0*B_p2*XARX02_p2*BXARX_pm3 + 288.0*B_p2*XARX01*XARX03*BXARX_pm3 - 6.0*B*XARX04*BXARX_pm2; Denom10=-6.0*B*XARX10*BXARX_pm2; Denom20=72.0*B_p2*XARX10_p2*BXARX_pm3 - 6.0*B*XARX20*BXARX_pm2; Denom30=-1296.0*B_p3*XARX10_p3*BXARX_pm4 + 216.0*B_p2*XARX10*XARX20*BXARX_pm3 - 6.0*B*XARX30*BXARX_pm2; Denom40=31104.0*B_p4*XARX10_p4*BXARX_pm5 - 7776.0*B_p3*XARX10_p2*XARX20*BXARX_pm4 + 216.0*B_p2*XARX20_p2*BXARX_pm3 + 288.0*B_p2*XARX10*XARX30*BXARX_pm3 - 6.0*B*XARX40*BXARX_pm2; Denom11=72.0*B_p2*XARX01*XARX10*BXARX_pm3 - 6.0*B*XARX11*BXARX_pm2; Denom21=-1296.0*B_p3*XARX01*XARX10_p2*BXARX_pm4 + 144.0*B_p2*XARX10*XARX11*BXARX_pm3 + 72.0*B_p2*XARX01*XARX20*BXARX_pm3 - 6.0*B*XARX21*BXARX_pm2; Denom31=31104.0*B_p4*XARX01*XARX10_p3*BXARX_pm5 - 3888.0*B_p3*XARX10_p2*XARX11*BXARX_pm4 - 3888.0*B_p3*XARX01*XARX10*XARX20*BXARX_pm4 + 216.0*B_p2*XARX11*XARX20*BXARX_pm3 + 216.0*B_p2*XARX10*XARX21*BXARX_pm3 + 72.0*B_p2*XARX01*XARX30*BXARX_pm3 - 6.0*B*XARX31*BXARX_pm2; Denom12=-1296.0*B_p3*XARX01_p2*XARX10*BXARX_pm4 + 144.0*B_p2*XARX01*XARX11*BXARX_pm3 + 72.0*B_p2*XARX02*XARX10*BXARX_pm3 - 6.0*B*XARX12*BXARX_pm2; Denom22=31104.0*B_p4*XARX01_p2*XARX10_p2*BXARX_pm5 - 1296.0*B_p3*XARX02*XARX10_p2*BXARX_pm4 - 5184.0*B_p3*XARX01*XARX10*XARX11*BXARX_pm4 + 144.0*B_p2*XARX11_p2*BXARX_pm3 + 144.0*B_p2*XARX10*XARX12*BXARX_pm3 - 1296.0*B_p3*XARX01_p2*XARX20*BXARX_pm4 + 72.0*B_p2*XARX02*XARX20*BXARX_pm3 + 144.0*B_p2*XARX01*XARX21*BXARX_pm3 - 6.0*B*XARX22*BXARX_pm2; Denom13=31104.0*B_p4*XARX01_p3*XARX10*BXARX_pm5 - 3888.0*B_p3*XARX01*XARX02*XARX10*BXARX_pm4 + 72.0*B_p2*XARX03*XARX10*BXARX_pm3 - 3888.0*B_p3*XARX01_p2*XARX11*BXARX_pm4 + 216.0*B_p2*XARX02*XARX11*BXARX_pm3 + 216.0*B_p2*XARX01*XARX12*BXARX_pm3 - 6.0*B*XARX13*BXARX_pm2; /* End of Denom derivatives */ /* d4/ dro4 */ out = (6.0*Denom20*Nom20)+(4.0*Nom10*Denom30)+(4.0*Denom10*Nom30) + (Nom*Denom40) + (Denom*Nom40); ds->df4000 += -B*out*factor; /* d4/ dro3 dgro */ out = 3.0*Nom11*Denom20 + 3.0*Denom11*Nom20 + 3.0*Nom10*Denom21 + 3.0*Denom10*Nom21 + Nom01*Denom30 + Denom01*Nom30 + Nom*Denom31 + Denom*Nom31; ds->df3010 += -B*out*factor; /* d4 / dro2 dgro2 */ out = 4.0*Denom11*Nom11 + 2.0*Nom10*Denom12 + 2.0*Denom10*Nom12 + Nom02*Denom20 + Denom02*Nom20 + 2.0*Nom01*Denom21 + 2.0*Denom01*Nom21 + Nom*Denom22 + Denom*Nom22; ds->df2020 += -B*out*factor; /* d4 / dro dgro3 */ out = Denom03*Nom10 + 3.0*Nom02*Denom11 + 3.0*Denom02*Nom11 + 3*Nom01*Denom12 + 3.0*Denom01*Nom12 + Nom*Denom13; ds->df1030 += -B*out*factor; /* d4 / dgro4 */ out = (6.0*Denom02*Nom02)+(4.0*Nom01*Denom03)+(Nom*Denom04); ds->df0040 += -B*out*factor; } /* endif */ if (dp->rhob > BECKE_THRESHOLD) { ro=dp->rhob; gro=dp->gradb; /* Powers of ro, gro */ iro=1.0/ro; ro_pm4f3=POW(ro,(-4.0/3.0)); /* ro_pm4f3=1.0/cbrt(ro*ro*ro*ro); */ ro_pm7f3=iro*ro_pm4f3; ro_pm10f3=iro*ro_pm7f3; ro_pm13f3=iro*ro_pm10f3; ro_pm16f3=iro*ro_pm13f3; gro_p2=gro*gro; /* End of Powers of ro, gro */ /* X and derivatives */ X=gro*(ro_pm4f3); X01=(ro_pm4f3); X10=-(4.0/3.0)*gro*ro_pm7f3; X20=(28.0/9.0)*gro*ro_pm10f3; X30=-(280.0/27.0)*gro*ro_pm13f3; X40=(3640.0/81.0)*gro*ro_pm16f3; X11=-(4.0/3.0)*ro_pm7f3; X21=(28.0/9.0)*ro_pm10f3; X31=-(280.0/27.0)*ro_pm13f3; /* X deriv. powers */ X_p2=X*X; X_p3=X_p2*X; X_p4=X_p3*X; X01_p2=X01*X01; X01_p3=X01_p2*X01; X01_p4=X01_p3*X01; X10_p2=X10*X10; X10_p3=X10_p2*X10; X10_p4=X10_p3*X10; X20_p2=X20*X20; X11_p2=X11*X11; /* End of X deriv powers */ /* End of X derivatives */ DENX=1.0+X_p2; IDENX=1.0/DENX; DENX_pm1f2=1.0/SQRT(DENX); DENX_pm3f2=IDENX*(DENX_pm1f2); DENX_pm5f2=IDENX*(DENX_pm3f2); DENX_pm7f2=IDENX*(DENX_pm5f2); ASINH_X=ASINH(X); BXARX=1.0+(6.0*B*X*ASINH_X); Denom=1.0/BXARX; BXARX_pm2=Denom*Denom; BXARX_pm3=BXARX_pm2*Denom; BXARX_pm4=BXARX_pm3*Denom; BXARX_pm5=BXARX_pm4*Denom; /* XARX derivatives */ XARX01=ASINH_X*X01 + X*X01*DENX_pm1f2; XARX02=-X_p2*X01_p2*DENX_pm3f2 + 2.0*(X01_p2)* DENX_pm1f2; XARX03=3.0*(X_p3)*(X01_p3)* DENX_pm5f2 - 4.0*X*(X01_p3)* DENX_pm3f2; XARX04=-15.0*(X_p4)*(X01_p4) * DENX_pm7f2 + 21.0*(X_p2)*(X01_p4)* DENX_pm5f2 - 4.0*(X01_p4) * DENX_pm3f2; XARX10=ASINH_X*X10 + X*X10*DENX_pm1f2; XARX20=-X_p2*X10_p2*DENX_pm3f2 + 2.0*(X10_p2)* DENX_pm1f2 + ASINH_X*X20 + X*X20*DENX_pm1f2; XARX30=3.0*(X_p3)*(X10_p3)* DENX_pm5f2 - 4.0*X*(X10_p3)* DENX_pm3f2 - 3.0*X_p2*X10*X20 * DENX_pm3f2 + 6.0*X10*X20*DENX_pm1f2 + ASINH_X*X30 + X*X30* DENX_pm1f2; XARX40=-15.0*(X_p4)*(X10_p4) * DENX_pm7f2 + 21.0*(X_p2)*(X10_p4)* DENX_pm5f2 - 4.0*(X10_p4) * DENX_pm3f2 + 18.0*X_p3*X10_p2*X20*DENX_pm5f2 - 24.0*X*X10_p2*X20*DENX_pm3f2 - 3.0*X_p2*X20_p2*DENX_pm3f2 + 6.0*X20_p2*DENX_pm1f2 - 4.0*X_p2*X10*X30*DENX_pm3f2 + 8.0*X10*X30*DENX_pm1f2 + ASINH_X*X40 + X*X40*DENX_pm1f2; XARX11=-X_p2*X01*X10*DENX_pm3f2 + 2.0*X01*X10*DENX_pm1f2 + ASINH_X*X11 + X*X11*DENX_pm1f2; XARX21=3.0*X_p3*X01*X10_p2*DENX_pm5f2 - 4.0*X*X01*X10_p2*DENX_pm3f2 - 2.0*X_p2*X10*X11*DENX_pm3f2 + 4.0*X10*X11*DENX_pm1f2 - X_p2*X01*X20*DENX_pm3f2 + 2.0*X01*X20*DENX_pm1f2 + ASINH_X*X21 + X*X21*DENX_pm1f2; XARX31=-15.0*X_p4*X01*X10_p3*DENX_pm7f2 + 21.0*X_p2*X01*X10_p3*DENX_pm5f2 - 4.0*X01*X10_p3*DENX_pm3f2 + 9.0*X_p3*X10_p2*X11*DENX_pm5f2 - 12.0*X*X10_p2*X11*DENX_pm3f2 + 9.0*X_p3*X01*X10*X20*DENX_pm5f2 - 12.0*X*X01*X10*X20*DENX_pm3f2 - 3.0*X_p2*X11*X20*DENX_pm3f2 + 6.0*X11*X20*DENX_pm1f2 - 3.0*X_p2*X10*X21*DENX_pm3f2 + 6.0*X10*X21*DENX_pm1f2 - X_p2*X01*X30*DENX_pm3f2 + 2.0*X01*X30*DENX_pm1f2 + ASINH_X*X31 + X*X31*DENX_pm1f2; XARX12=3.0*X_p3*X01_p2*X10*DENX_pm5f2 - 4.0*X*X01_p2*X10*DENX_pm3f2 - 2.0*X_p2*X01*X11*DENX_pm3f2 + 4.0*X01*X11*DENX_pm1f2; XARX22=-15.0*X_p4*X01_p2*X10_p2*DENX_pm7f2 + 21.0*X_p2*X01_p2*X10_p2*DENX_pm5f2 - 4.0*X01_p2*X10_p2*DENX_pm3f2 + 12.0*X_p3*X01*X10*X11*DENX_pm5f2 - 16.0*X*X01*X10*X11*DENX_pm3f2 - 2.0*X_p2*X11_p2*DENX_pm3f2 + 4.0*X11_p2*DENX_pm1f2 + 3.0*X_p3*X01_p2*X20*DENX_pm5f2 - 4.0*X*X01_p2*X20*DENX_pm3f2 - 2.0*X_p2*X01*X21*DENX_pm3f2 + 4.0*X01*X21*DENX_pm1f2; XARX13=-15.0*X_p4*X01_p3*X10*DENX_pm7f2 + 21.0*X_p2*X01_p3*X10*DENX_pm5f2 - 4.0*X01_p3*X10*DENX_pm3f2 + 9.0*X_p3*X01_p2*X11*DENX_pm5f2 - 12.0*X*X01_p2*X11*DENX_pm3f2; /* Xarx der powers */ XARX10_p2=XARX10*XARX10; XARX10_p3=XARX10_p2*XARX10; XARX10_p4=XARX10_p3*XARX10; XARX20_p2=XARX20*XARX20; XARX01_p2=XARX01*XARX01; XARX01_p3=XARX01_p2*XARX01; XARX01_p4=XARX01_p3*XARX01; XARX02_p2=XARX02*XARX02; XARX11_p2=XARX11*XARX11; /* End of Xarx der powers */ /* End of XARX derivatives */ /* Nom derivatives */ Nom=(gro_p2)*(ro_pm4f3); Nom01=2.0*gro*(ro_pm4f3); Nom02=2.0*(ro_pm4f3); Nom10=-(4.0/3.0)*gro_p2*ro_pm7f3; Nom20=(28.0/9.0)*gro_p2*ro_pm10f3; Nom30=-(280.0/27.0)*gro_p2*ro_pm13f3; Nom40=(3640.0/81.0)*gro_p2*ro_pm16f3; Nom11=-(8.0/3.0)*gro*ro_pm7f3; Nom21=(56.0/9.0)*gro*ro_pm10f3; Nom31=-(560.0/27.0)*gro*ro_pm13f3; Nom12=-(8.0/3.0)*ro_pm7f3; Nom22=(56.0/9.0)*ro_pm10f3; /* End of Nom derivatives */ /* Denom derivatives */ Denom01=-6.0*B*XARX01*BXARX_pm2; Denom02=72.0*B_p2*XARX01_p2*BXARX_pm3 - 6.0*B*XARX02*BXARX_pm2; Denom03=-1296.0*B_p3*XARX01_p3*BXARX_pm4 + 216.0*B_p2*XARX01*XARX02*BXARX_pm3 - 6.0*B*XARX03*BXARX_pm2; Denom04=31104.0*B_p4*XARX01_p4*BXARX_pm5 - 7776.0*B_p3*XARX01_p2*XARX02*BXARX_pm4 + 216.0*B_p2*XARX02_p2*BXARX_pm3 + 288.0*B_p2*XARX01*XARX03*BXARX_pm3 - 6.0*B*XARX04*BXARX_pm2; Denom10=-6.0*B*XARX10*BXARX_pm2; Denom20=72.0*B_p2*XARX10_p2*BXARX_pm3 - 6.0*B*XARX20*BXARX_pm2; Denom30=-1296.0*B_p3*XARX10_p3*BXARX_pm4 + 216.0*B_p2*XARX10*XARX20*BXARX_pm3 - 6.0*B*XARX30*BXARX_pm2; Denom40=31104.0*B_p4*XARX10_p4*BXARX_pm5 - 7776.0*B_p3*XARX10_p2*XARX20*BXARX_pm4 + 216.0*B_p2*XARX20_p2*BXARX_pm3 + 288.0*B_p2*XARX10*XARX30*BXARX_pm3 - 6.0*B*XARX40*BXARX_pm2; Denom11=72.0*B_p2*XARX01*XARX10*BXARX_pm3 - 6.0*B*XARX11*BXARX_pm2; Denom21=-1296.0*B_p3*XARX01*XARX10_p2*BXARX_pm4 + 144.0*B_p2*XARX10*XARX11*BXARX_pm3 + 72.0*B_p2*XARX01*XARX20*BXARX_pm3 - 6.0*B*XARX21*BXARX_pm2; Denom31=31104.0*B_p4*XARX01*XARX10_p3*BXARX_pm5 - 3888.0*B_p3*XARX10_p2*XARX11*BXARX_pm4 - 3888.0*B_p3*XARX01*XARX10*XARX20*BXARX_pm4 + 216.0*B_p2*XARX11*XARX20*BXARX_pm3 + 216.0*B_p2*XARX10*XARX21*BXARX_pm3 + 72.0*B_p2*XARX01*XARX30*BXARX_pm3 - 6.0*B*XARX31*BXARX_pm2; Denom12=-1296.0*B_p3*XARX01_p2*XARX10*BXARX_pm4 + 144.0*B_p2*XARX01*XARX11*BXARX_pm3 + 72.0*B_p2*XARX02*XARX10*BXARX_pm3 - 6.0*B*XARX12*BXARX_pm2; Denom22=31104.0*B_p4*XARX01_p2*XARX10_p2*BXARX_pm5 - 1296.0*B_p3*XARX02*XARX10_p2*BXARX_pm4 - 5184.0*B_p3*XARX01*XARX10*XARX11*BXARX_pm4 + 144.0*B_p2*XARX11_p2*BXARX_pm3 + 144.0*B_p2*XARX10*XARX12*BXARX_pm3 - 1296.0*B_p3*XARX01_p2*XARX20*BXARX_pm4 + 72.0*B_p2*XARX02*XARX20*BXARX_pm3 + 144.0*B_p2*XARX01*XARX21*BXARX_pm3 - 6.0*B*XARX22*BXARX_pm2; Denom13=31104.0*B_p4*XARX01_p3*XARX10*BXARX_pm5 - 3888.0*B_p3*XARX01*XARX02*XARX10*BXARX_pm4 + 72.0*B_p2*XARX03*XARX10*BXARX_pm3 - 3888.0*B_p3*XARX01_p2*XARX11*BXARX_pm4 + 216.0*B_p2*XARX02*XARX11*BXARX_pm3 + 216.0*B_p2*XARX01*XARX12*BXARX_pm3 - 6.0*B*XARX13*BXARX_pm2; /* End of Denom derivatives */ /* d4/ dro4 */ out=(6.0*Denom20*Nom20)+(4.0*Nom10*Denom30)+(4.0*Denom10*Nom30) + (Nom*Denom40) + (Denom*Nom40); ds->df0400 += -B*out*factor; /* d4/ dro3 dgro */ out=3.0*Nom11*Denom20 + 3.0*Denom11*Nom20 + 3.0*Nom10*Denom21 + 3.0*Denom10*Nom21 + Nom01*Denom30 + Denom01*Nom30 + Nom*Denom31 + Denom*Nom31; ds->df0301 += -B*out*factor; /* d4 / dro2 dgro2 */ out= 4.0*Denom11*Nom11 + 2.0*Nom10*Denom12 + 2.0*Denom10*Nom12 + Nom02*Denom20 + Denom02*Nom20 + 2.0*Nom01*Denom21 + 2.0*Denom01*Nom21 + Nom*Denom22 + Denom*Nom22; ds->df0202 += -B*out*factor; /* d4 / dro dgro3 */ out=Denom03*Nom10 + 3.0*Nom02*Denom11 + 3.0*Denom02*Nom11 + 3.0*Nom01*Denom12 + 3.0*Denom01*Nom12 + Nom*Denom13; ds->df0103 += -B*out*factor; /* d4 / dgro4 */ out=(6.0*Denom02*Nom02)+(4.0*Nom01*Denom03)+(Nom*Denom04); ds->df0004 += -B*out*factor; } /* endif */ } ergo-3.5/source/dft/functionals.c0000664000175000017500000001163112743400307014010 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file functionals.c General functional selection and input processing. (c) Pawel Salek, pawsa@theochem.kth.se, 2001-08-02 */ #include #include #include #include #include #define __CVERSION__ #include "functionals.h" Functional* available_functionals[] = { /* generic functionals */ &BeckeFunctional, &KTFunctional, &LB94Functional, &LYPFunctional, &OPTXFunctional, &P86cFunctional, &PW86xFunctional, &Pw91xFunctional, &Pw91cFunctional, &PW92cFunctional, &PZ81Functional, &PbecFunctional, &PbexFunctional, &SlaterFunctional, &VWN3Functional, &VWN5Functional, &VWNIFunctional, &VWN3IFunctional, &VWNFunctional, &XAlphaFunctional, /* mixed functionals */ &B3LYPFunctional, &B3LYPGaussFunctional, &B3P86Functional, &B3P86GFunctional, &B3PW91Functional, &BHandHFunctional, &BHandHLYPFunctional, &BLYPFunctional, &BP86Functional, &BPW91Functional, &Camb3lypFunctional, &CamFunctional, &CombineFunctional, &GGAKeyFunctional, &HseFunctional, &KT1Functional, &KT2Functional, &KT3Functional, &LDAFunctional, &OLYPFunctional, &PBE0Functional, &PBEFunctional, &SVWN3Functional, &SVWN5Functional, NULL }; static int my_printf(const char *fmt, ...) { int i;va_list ap; va_start(ap, fmt); i= vprintf(fmt, ap); va_end(ap); puts(""); return i; } static void set_hf_weight(real w) {} static real get_hf_weight(void) {return 0;} static void set_cam_param(real w, real b) {} Functional* selected_func = &LDAFunctional; int (*fun_printf)(const char *fmt, ...) = my_printf; void (*fun_set_hf_weight)(real w) = set_hf_weight; real (*fun_get_hf_weight)(void) = get_hf_weight; void (*fun_set_cam_param)(real w, real b) = set_cam_param; /* =================================================================== */ enum FunError fun_select_by_name(const char *conf_string) { int ok, i; char func_name[40]; sscanf(conf_string,"%39s", func_name); for(i=0; available_functionals[i]; i++) if(strcasecmp(available_functionals[i]->name, func_name)==0) { selected_func = available_functionals[i]; ok = selected_func->read ? selected_func->read(conf_string+strlen(func_name)) : 1; return ok ? FUN_OK : FUN_CONF_ERROR; } return FUN_UNKNOWN; } void drv1_clear(FunFirstFuncDrv* gga) { memset(gga, 0, sizeof(*gga)); } void drv2_clear(FunSecondFuncDrv* gga) { memset(gga, 0, sizeof(*gga)); } void drv3_clear(FunThirdFuncDrv* gga) { memset(gga, 0, sizeof(*gga)); } void drv4_clear(FunFourthFuncDrv* gga) { memset(gga, 0, sizeof(*gga)); } int fun_true(void) { return 1; } int fun_false(void) { return 0; } /* =================================================================== */ /* fortran (and not only) functional stub routines */ /* =================================================================== */ /** dftreport: report the selected functional and its configuration. */ void dftreport_(void) { fun_printf(" This is a DFT calculation of type: %s", selected_func->name); if(selected_func->report) selected_func->report(); } void dftlistfuncs_(void) { int i; fun_printf("\nAvailable functionals:"); for(i=0; available_functionals[i]; i++) fun_printf(available_functionals[i]->name); } /* declare both known fortran name-mangled variants */ int dft_isgga_(void) { return selected_func->is_gga(); } int dft_isgga__(void) { return selected_func->is_gga(); } ergo-3.5/source/dft/rho-mat.cc0000664000175000017500000003312112743400307013173 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file rho-mat.cc Functions for density and gradient evaluation. The density can be evaluated at entire batches of grid points. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include "realtype.h" typedef ergo_real real; #include "mat_gblas.h" #include "rho-mat.h" #if !defined(restrict) #define restrict #endif /** helper function for zeroing only used blocks of orbitals. Selected values for the first index are looped over, and all allowed values of the second index. @param tmp the matrix[nbast][nvclen] @param nblocks pointer to an integer containing number of nonzero orbital blocks. @param iblocks a set of nblocks integer pairs [a,b) defining the range of first index to be zeroed. @param ldaib not used @param nvclen batch length - and the second dimension of tmp. */ static void zeroorbs(real *tmp, const int *nblocks, const int (*iblocks)[2], int ldaib, int nvclen) { /* DIMENSION TMP(NVCLEN,NBAST),NBLOCKS(NSYM),IBLOCKS(2,LDAIB,NSYM) */ int ibl, idx, k; for(ibl=0; ibl for a symmetric matrix and given set of precomputed orbital values gao. Sparsity of gao as determined with help of nblocks and iblocks is used to reduce the computational effort. @param dmat full square symmetric matrix @param nbast size of dmat @param gao orbital matrix[nbast][nvclen]. Set values are determied by nblocks and iblocks, other values shall not be accessed. @param nblocks number of nonzero row blocks in gao @param iblocks ranges [a,b) of nonzero blocks in gao. @param ldaib not used @param tmp temporary matrix [nbast][nvclen] @param nvclen batch length - number of columns in gao. @param rho the vector[nvclen] where the computed expectation values will be stored. */ void getrho_blocked_lda(int nbast, const real * dmat, const real * restrict gao, const int* nblocks, const int (*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho) { /* DIMENSION DMAT(NBAST,NBAST), GAO(NVCLEN,NBAST,*) DIMENSION NBLOCKS(NSYM), IBLOCKS(2,LDAIB,NSYM), RHO(NVCLEN) DIMENSION TMP(NVCLEN,NBAST) */ int ibl, idx, jbl, k; /* dzero(TMP,NVCLEN*NBAST) */ zeroorbs(tmp, nblocks, iblocks, ldaib, nvclen); /* only first symmetry */ #if USE_BLAS_IN_XC for(ibl=0; ibl idx ? idx : iblocks[jbl][1]; for(jdx=iblocks[jbl][0]; jdx and its derivatives for a symmetric matrix and given set of precomputed orbital values and their cartesian derivatives gao. Sparsity of gao as determined with help of nblocks and iblocks is used to reduce the computational effort. @param dmat full square symmetric matrix @param nbast size of dmat @param gao orbital matrix[4][nbast][nvclen]. First block [0][][] contains orbital values. Subsequent blocks - orbital derivatives wrt x,y, and z coordinates. Set values are determied by nblocks and iblocks, other values shall not be accessed. @param nblocks number of nonzero row blocks in gao @param iblocks ranges [a,b) of nonzero blocks in gao. @param ldaib not used @param tmp temporary matrix [nbast][nvclen] @param nvclen batch length - number of columns in gao. @param rho the vector[nvclen] where the computed expectation values will be stored. @param grad a vector of triples where the computed gradient values will be stored. */ void getrho_blocked_gga(int nbast, const real * dmat, const real * restrict gao, const int* nblocks, const int (*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho, real (*grad)[3]) { /* DIMENSION DMAT(NBAST,NBAST), GAO(NVCLEN,NBAST,*) DIMENSION NBLOCKS(NSYM), IBLOCKS(2,LDAIB,NSYM), RHO(NVCLEN) DIMENSION TMP(NVCLEN,NBAST) */ int ibl, idx, jbl, k; /* dzero(TMP,NVCLEN*NBAST) */ zeroorbs(tmp, nblocks, iblocks, ldaib, nvclen); /* only first symmetry */ #if USE_BLAS_IN_XC == 1 for(ibl=0; ibl for a nonsymmetric matrix and given set of precomputed orbital values gao. Sparsity of gao as determined with help of nblocks and iblocks is used to reduce the computational effort. @param dmat full square symmetric matrix @param nbast size of dmat @param gao orbital matrix[nbast][nvclen]. Set values are determied by nblocks and iblocks, other values shall not be accessed. @param nblocks number of nonzero row blocks in gao @param iblocks ranges [a,b) of nonzero blocks in gao. @param ldaib not used @param tmp temporary matrix [nbast][nvclen] @param nvclen batch length - number of columns in gao. @param rho the vector[nvclen] where the computed expectation values will be stored. */ void getexp_blocked_lda(int nbast, const real * dmat, const real * gao, const int* nblocks, const int (*iblocks)[2], int ldaib, real *tmp, int nvclen, real *rho) { /* DIMENSION DMAT(NBAST,NBAST), GAO(NVCLEN,NBAST,*) DIMENSION NBLOCKS(NSYM), IBLOCKS(2,LDAIB,NSYM), RHO(NVCLEN) DIMENSION TMP(NVCLEN,NBAST) */ int ibl, idx, jbl, jdx, k; real d; /* dzero(TMP,NVCLEN*NBAST) */ zeroorbs(tmp, nblocks, iblocks, ldaib, nvclen); /* only first symmetry */ for(ibl=0; ibl and its derivatives for a nonsymmetric matrix and given set of precomputed orbital values and their cartesian derivatives gao. Sparsity of gao as determined with help of nblocks and iblocks is used to reduce the computational effort. @param dmat full square symmetric matrix @param nbast size of dmat @param gao orbital matrix[4][nbast][nvclen]. First block [0][][] contains orbital values. Subsequent blocks - orbital derivatives wrt x,y, and z coordinates. Set values are determied by nblocks and iblocks, other values shall not be accessed. @param nblocks number of nonzero row blocks in gao @param iblocks ranges [a,b) of nonzero blocks in gao. @param ldaib not used @param tmp temporary matrix [nbast][nvclen] @param nvclen batch length - number of columns in gao. @param rgrad a vector of quartets where the computed expectation values and gradient values will be stored. */ void getexp_blocked_gga(int nbast, const real * dmat, const real * gao, const int* nblocks, const int (*iblocks)[2], int ldaib, real *tmp, int nvclen, real (*rgrad)[4]) { /* DIMENSION DMAT(NBAST,NBAST), GAO(NVCLEN,NBAST,*) DIMENSION NBLOCKS(NSYM), IBLOCKS(2,LDAIB,NSYM), RHO(NVCLEN) DIMENSION TMP(NVCLEN,NBAST) */ int ibl, idx, jbl, jdx, k; real d; /* dzero(TMP,NVCLEN*NBAST) */ zeroorbs(tmp, nblocks, iblocks, ldaib, nvclen); /* only first symmetry */ for(ibl=0; ibl. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file xc_matrix_sparse.cc The sparse XC matrix evaluator. (c) Pawel Salek, pawsa@theochem.kth.se. 2002.04.05 This module evaluates DFT contribution KS matrix. */ #define WITH_PTHREAD 1 #if defined(WITH_PTHREAD) #include static pthread_mutex_t dft_prop_mutex = PTHREAD_MUTEX_INITIALIZER; static pthread_mutex_t dft_hicu_grid_init_mutex = PTHREAD_MUTEX_INITIALIZER; #endif #include "aos.h" #include "integrator.h" #include "sparse_matrix.h" #include "xc_matrix_sparse.h" #include "dft_common.h" #include "grid_reader.h" #include "output.h" #include "utilities.h" #include "xc_evaluators.h" /* FIXME: remove this dependency */ #include "grid_hicu.h" /* restrict hints should not be necessary... */ #if !defined(restrict) #define restrict #endif BEGIN_NAMESPACE(Dft) class XCEvaluator { protected: const BasisInfoStruct& bisOrig; const IntegralInfo& integralInfo; const Molecule& mol; const Dft::GridParams& gss; std::vector const & permutationHML; int* aoMap; BasisInfoStruct* bisPermuted; Dft::SparsePattern* pattern; public: XCEvaluator(const BasisInfoStruct& bisOrig_, const IntegralInfo& integralInfo_, const Molecule& mol_, const Dft::GridParams& gss_, std::vector const & permutationHML_, const symmMatrix& dens); ~XCEvaluator(); }; XCEvaluator::XCEvaluator(const BasisInfoStruct& bisOrig_, const IntegralInfo& integralInfo_, const Molecule& mol_, const Dft::GridParams& gss_, std::vector const & permutationHML_, const symmMatrix& dens) : bisOrig(bisOrig_), integralInfo(integralInfo_), mol(mol_), gss(gss_), permutationHML(permutationHML_), aoMap(new int[bisOrig.noOfBasisFuncs]) { /* We need to create our own permutation of shells. The permutation used in the matrix library permutes basis functions even in the middle of the basis function shell, breaking in this way simple mapping between shells and basis function blocks. We therefore generate here own permutation of shells. This is used to create own BasisInfoStruct used throughout. The final conversion from own format to the "Common Matrix Format" is done at the final assignment phase: the basis function indices are permuted with the inverse transformation. */ int *shellMap = new int[bisOrig.noOfShells]; Dft::setupShellMap(bisOrig, shellMap, aoMap); bisPermuted = bisOrig.permuteShells(shellMap, integralInfo); delete []shellMap; /* Force grid creation so that the sparse pattern is available... Maybe it is getSparsePattern's problem. */ ErgoMolInfo molInfo(*bisPermuted, mol); pattern = new SparsePattern(*bisPermuted); /* When using HiCu grid generation we need a sparse density matrix. In order to create a sparse density matrix we need a SparsePattern. However, this is only needed when grid file does not exist, and only for the HiCu case. */ SparseMatrix* dMatForGridGen = NULL; /* Use mutex lock here to make sure only one thread does this (there is anyway threading inside the HiCu code). */ pthread_mutex_lock(&dft_hicu_grid_init_mutex); if(!grid_is_ready() && gss.gridType == Dft::GridParams::TYPE_HICU) { Dft::SparsePattern patternTmp(*bisPermuted); /* Generate sparse pattern. */ grid_generate_sparse_pattern(*bisPermuted, gss.hicuParams.maxError, gss.hicuParams.box_size, gss.hicuParams.start_box_size_debug, patternTmp); /* Create dMat already here so it can be used by HiCu grid generator! */ dMatForGridGen = new SparseMatrix(patternTmp, dens, aoMap, permutationHML); } else { // We do not really need a sparse density matrix in this case; we just create a dummy. Dft::SparsePattern patternTmp(*bisPermuted); dMatForGridGen = new SparseMatrix(patternTmp); } pthread_mutex_unlock(&dft_hicu_grid_init_mutex); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "getXC calling grid_open_full()."); Dft::Matrix *mat = createGridMatrix(*dMatForGridGen); DftGridReader* rawgrid = grid_open_full(&molInfo, gss, pattern, mat, *bisPermuted); delete mat; delete dMatForGridGen; grid_close(rawgrid); } XCEvaluator::~XCEvaluator() { delete bisPermuted; delete pattern; delete []aoMap; } class XCEvaluatorRestricted : public XCEvaluator { SparseMatrix *densityMatrix; public: XCEvaluatorRestricted(const BasisInfoStruct& bisOrig_, const IntegralInfo& integralInfo_, const Molecule& mol_, const Dft::GridParams& gss_, std::vector const & permutationHML_, const symmMatrix& density) : XCEvaluator(bisOrig_, integralInfo_, mol_, gss_, permutationHML_, density), densityMatrix(NULL) { densityMatrix = new SparseMatrix(*pattern, density, aoMap, permutationHML); } ~XCEvaluatorRestricted() { delete densityMatrix; } real getXC(int nElectrons, symmMatrix& xcm, real* xcEnergy, int nThreads) const; }; /** Computes Fock matrix xcm corresponding to given density matrix dmat. fast version - uses memory bandwidth-efficient algorithm. */ real XCEvaluatorRestricted::getXC(int nElectrons, symmMatrix& xcm, real* xcEnergy, int nThreads) const { real electrons; Util::TimeMeter tm; *xcEnergy = 0; sync_threads(false, nThreads); SparseMatrix excmat(*pattern); KsData ds(&excmat, DFT_MAX_BLLEN); void (*cblda)(DftIntegratorBl* grid, real * restrict tmp, int bllen, int blstart, int blend, KsData* data) = xcCallbackLdaR >; void (*cbgga)(DftIntegratorBl* grid, real * restrict tmp, int bllen, int blstart, int blend, KsData* data) = xcCallbackGgaR >; electrons = integrate(1, &densityMatrix, *bisPermuted, mol, gss, nThreads, (DftBlockCallback) (selected_func->is_gga() ? cbgga : cblda), &ds); pthread_mutex_lock(&dft_prop_mutex); *xcEnergy +=ds.energy; excmat.addSymmetrizedTo(xcm, aoMap, permutationHML); pthread_mutex_unlock(&dft_prop_mutex); if(nThreads<=1) { do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Electrons: %11.7f %7.1g: xc energy %f (serial)", (double)electrons, (double)((electrons-nElectrons)/nElectrons), (double)ds.energy); tm.print(LOG_AREA_DFT, __func__); } return electrons; } struct XcData { const XCEvaluatorRestricted* xcEvaluator; int nElectrons; symmMatrix* xcm; real xcEnergy; real el; int nThreads; }; static void* xcWorker(void *data) { static const int XCWORKER_ERROR =0; struct XcData *d = (XcData*)data; try { d->el = d->xcEvaluator->getXC(d->nElectrons, *d->xcm, &d->xcEnergy, d->nThreads); } catch(const char *s) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "xcWorker thread caught an exception '%s'", s); return (void*)&XCWORKER_ERROR; } catch(const std::bad_alloc & e) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "xcWorker thread caught an exception '%s'", e.what()); return (void*)&XCWORKER_ERROR; } catch(const std::runtime_error & e) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "xcWorker thread caught an exception '%s'", e.what()); return (void*)&XCWORKER_ERROR; } catch(...) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "xcWorker thread caught unexpected exception."); return (void*)&XCWORKER_ERROR; } return NULL; } real getXC_mt(const BasisInfoStruct& bis, const IntegralInfo& integralInfo, const Molecule& mol, const Dft::GridParams& gss, int nElectrons, const symmMatrix& dens, symmMatrix& xcm, real* xcEnergy, std::vector const & permutationHML) { int i; real electrons; Util::TimeMeter tm; int nThreads = dft_get_num_threads(); std::vector data(nThreads); std::vector pids(nThreads); XCEvaluatorRestricted xcEvaluator(bis, integralInfo, mol, gss, permutationHML, dens); if(nThreads == 1) { /* Do not create any threads at all to avoid stack allocation. */ *xcEnergy = 0.0; electrons = xcEvaluator.getXC(nElectrons, xcm, xcEnergy, 1); } else { for(i=0; i= 0) { pthread_join(pids[i], NULL); *xcEnergy += data[i].xcEnergy; electrons += data[i].el; } } if(nThreads>1) { do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Electrons: %11.7f %7.1g: KS Energy %f (mt)", (double)electrons, (double)((electrons-nElectrons)/nElectrons), (double)*xcEnergy); tm.print(LOG_AREA_DFT, __func__); } return electrons; } real getXC_seq(const BasisInfoStruct& bis, const IntegralInfo& integralInfo, const Molecule& mol, const Dft::GridParams& gss, int nElectrons, const symmMatrix& dens, symmMatrix& xcm, real* xcEnergy, std::vector const & permutationHML) { XCEvaluatorRestricted xcEvr(bis, integralInfo, mol, gss, permutationHML, dens); printf("%p\n", &xcEvr); return xcEvr.getXC(nElectrons, xcm, xcEnergy, 1); } /* =================================================================== */ /* Unrestricted sparse code. */ class XCEvaluatorUnrestricted : public XCEvaluator { SparseMatrix *dMat[2]; public: XCEvaluatorUnrestricted(const BasisInfoStruct& bisOrig_, const IntegralInfo& integralInfo_, const Molecule& mol_, const Dft::GridParams& gss_, std::vector const & permutationHML_, const symmMatrix& densA, const symmMatrix& densB) : XCEvaluator(bisOrig_, integralInfo_, mol_, gss_, permutationHML_, densA) { dMat[0] = new SparseMatrix(*pattern, densA, aoMap, permutationHML); dMat[1] = new SparseMatrix(*pattern, densB, aoMap, permutationHML); } ~XCEvaluatorUnrestricted() { delete dMat[0]; delete dMat[1]; } real getXC(int nElectrons, symmMatrix& xcA, symmMatrix& xcB, real* xcEnergy, int nThreads) const; }; real XCEvaluatorUnrestricted::getXC(int nElectrons, symmMatrix& xca, symmMatrix& xcb, real* xcEnergy, int nThreads) const { real electrons; Util::TimeMeter tm; bool isGGA = selected_func->is_gga(); *xcEnergy = 0.0; sync_threads(false, nThreads); SparseMatrix mata(*pattern), matb(*pattern); struct UksData ds(&mata, &matb, DFT_MAX_BLLEN); void (*cblda)(DftIntegratorBl* grid, real * restrict tmp, int bllen, int blstart, int blend, UksData* data) = xcCallbackLdaU >; void (*cbgga)(DftIntegratorBl* grid, real * restrict tmp, int bllen, int blstart, int blend, UksData* data) = xcCallbackGgaU >; electrons = integrate(2, dMat, *bisPermuted, mol, gss, nThreads, DftBlockCallback(isGGA ? cbgga : cblda), &ds); pthread_mutex_lock(&dft_prop_mutex); *xcEnergy +=ds.energy; pthread_mutex_unlock(&dft_prop_mutex); mata.addSymmetrizedTo(xca, aoMap, permutationHML); matb.addSymmetrizedTo(xcb, aoMap, permutationHML); pthread_mutex_unlock(&dft_prop_mutex); if(nThreads <= 1) { do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Electrons: %11.7f %7.1g: U-xc energy %f (serial)", (double)electrons, (double)((electrons-nElectrons)/nElectrons), (double)ds.energy); tm.print(LOG_AREA_DFT, __func__); } return electrons; } /* multithreaded interface TBW... */ real getUXC_seq(const BasisInfoStruct& bis, const IntegralInfo& integralInfo, const Molecule& mol, const Dft::GridParams& gss, int nElectrons, const symmMatrix& densA, const symmMatrix& densB, symmMatrix& xcA, symmMatrix& xcB, real* xcEnergy, std::vector const & permutationHML) { XCEvaluatorUnrestricted xcEvaluator(bis, integralInfo, mol, gss, permutationHML, densA, densB); return xcEvaluator.getXC(nElectrons, xcA, xcB, xcEnergy, 1); } END_NAMESPACE(Dft) ergo-3.5/source/dft/fun-tester.cc0000664000175000017500000006233012743400307013724 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file fun-tester.cc Program for testing functional routines in the DFT module. (c) Pawel Salek, pawsa@theochem.kth.se, 2001-10-15 The test build can be done by: g77 -O fun-tester.c -o fun-tester -L. -ldft -lm or cc -O fun-tester.c -o fun-tester -L. -ldft -lm -lg2c NOTES: this file is short but in a separate file to reduce the number of dependences and be able to easily compile the code for the TEST_BUILD. */ #define _POSIX_SOURCE 1 #define __CVERSION__ #include #include #include #include #include #include #include "dft_common.h" #include "functionals.h" #if !defined __inline__ /* inline some stuff whenever possible */ #define __inline__ #endif typedef void (*DaltonEnFunc)(real* res, const real* rho, const real* rho13, const real*grad); void edrc_(real* drc, const real* rho, const real* rho13, const real* rhogrd); void evwn_(real* vwn, const real* rho, const real* rho13, const real* rhogrd); void ebck_(real* bck, const real* rho, const real* rho13, const real* rhogrd); void elyp_(real* lyp, const real* rho, const real* rho13, const real* rhogrd); void dftpot1(SecondDrv *ds, const real *w, const real* rho, const real* grad, const int* triplet); void condft_(void); static __inline__ void test_var(real comp, real refer, const char* fun, const char* drv, int* counter) { if(std::fabs(comp-refer)>2e-7+5e-5*(std::fabs(comp)+std::fabs(refer))) { if(*counter<95) printf("%s %s: fin.diff: %12g found: %12g, diff=%g\n", fun, drv, (double)refer, (double)comp, (double)std::fabs(comp-refer)); ++*counter; }/* else printf("Test '%s:%s' passed (expected: %g found: %g).\n", fun,drv, refer, comp); */ } const int GRID_STEP = 1; /* test_first: test first order derivatives of given functional. Note that really the restricted case is only tested... */ static int test_first(const char* fun_name, EnergyFunc func, FirstOrderFun first_func) { int i, j, k, failed = 0; real drho, dgra, resp, resm, num; FunFirstFuncDrv gga; for(i=1; i<=40; i+=GRID_STEP) { for(j=1; j<=40; j+=GRID_STEP) { for(k=-19; k<=19; k+=GRID_STEP) { real rho = i/40.0; real ngrad = j/40.0; real gracos= k/20.0; FunDensProp dt, dp = { (real)0.5*rho,(real)0.2*rho, (real)0.2*ngrad,(real)0.2*ngrad }; dp.gradab = dp.grada*dp.gradb*gracos; /* TEST df1000 */ drho = rho*1e-4; dt = dp; dt.rhoa -= drho; resm = func(&dt); dt = dp; dt.rhoa += drho; resp = func(&dt); drv1_clear(&gga); first_func(&gga, 1, &dp); num = (resp-resm)/(2*drho); test_var(gga.df1000,num, fun_name, "df1000", &failed); /* TEST df0010 */ dgra = ngrad*1e-7; dt = dp; dt.grada -= dgra; resm = func(&dt); dt = dp; dt.grada += dgra; resp = func(&dt); num = (resp-resm)/(2*dgra); test_var(gga.df0010,num, fun_name, "df0010", &failed); /* TEST df00001 */ if(std::fabs(gracos)<1e-5) continue; dgra = gracos*1e-7; dt = dp; dt.gradab -= dgra; resm = func(&dt); dt = dp; dt.gradab += dgra; resp = func(&dt); num = (resp-resm)/(2*dgra); test_var(gga.df00001,num, fun_name, "df00001", &failed); } } } if(failed==0) printf("%-5s (first order derivatives): OK\n", fun_name); return failed; } /* test_second: test second order derivatives of given functional. It is assumed that the first order derivatives are OK. */ #define COMP_DER(c,delta,eps,field, fun, ord) \ eps = c*delta; \ drv##ord##_clear(&m); dt = dp; dt.field -= eps; fun ## _fun(&m, 1, &dt); \ drv##ord##_clear(&p); dt = dp; dt.field += eps; fun ## _fun(&p, 1, &dt) #define T2(der,derdif,eps,label) \ num = (p.derdif-m.derdif)/(2*eps);\ test_var(d.der, num, fname, label ":" #der, &fail) static int test_second(const char* fname, FirstOrderFun first_fun, SecondOrderFun second_fun) { int i, j, k, fail = 0; real drho, dgra, num; FunFirstFuncDrv m, p; FunSecondFuncDrv d; for(i=1; i<=40; i+=GRID_STEP) { for(j=1; j<=40; j+=GRID_STEP) { for(k=-19; k<=19; k+=GRID_STEP) { real rho = i/40.0; real ngrad = j/40.0; real gracos= k/20.0; FunDensProp dt, dp = {(real)0.5*rho, (real)0.2*rho, (real)0.5*ngrad, (real)0.3*ngrad}; dp.gradab = dp.grada*dp.gradb*gracos; drv2_clear(&d); second_fun(&d, 1, &dp); drv1_clear(&m); first_fun(&m, 1, &dp); test_var(d.df1000, m.df1000, fname, "df1000X", &fail); test_var(d.df0010, m.df0010, fname, "df0010X", &fail); test_var(d.df00001,m.df00001,fname, "df00001X", &fail); test_var(d.df0100, m.df0100, fname, "df0100X", &fail); test_var(d.df0001, m.df0001, fname, "df0001X", &fail); test_var(d.df00001,m.df00001,fname, "df00001X", &fail); /* TEST df2000, df1010, df1001 and df10001 */ COMP_DER(rho,1e-5,drho,rhoa, first,1); T2(df2000, df1000, drho, "A"); T2(df1010, df0010, drho, "A"); T2(df1001, df0001, drho, "A"); T2(df10001, df00001, drho, "A"); /* TEST df0200, df0101, df0110 and df01001 */ COMP_DER(rho,1e-7,drho,rhob, first,1); T2(df0200, df0100, drho, "A"); T2(df0110, df0010, drho, "A"); T2(df0101, df0001, drho, "A"); T2(df01001, df00001, drho, "A"); T2(df1100, df1000, drho, "A"); /* TEST df1010, df0110, df0020 */ COMP_DER(ngrad,1e-5,dgra, grada, first,1); T2(df1010, df1000, dgra, "B"); T2(df0020, df0010, dgra, "B"); T2(df0110, df0100, dgra, "B"); /* TEST df1001, df0101, df0002 */ COMP_DER(ngrad,1e-5,dgra, gradb, first,1); T2(df1001, df1000, dgra, "B"); T2(df0101, df0100, dgra, "B"); T2(df0002, df0001, dgra, "B"); T2(df00011, df00001, dgra, "B"); } } } if(fail==0) printf("%-5s (second order derivatives): OK\n", fname); return fail; } /* test_third: test third order derivatives of given functional. It is assumed that the second order derivatives are OK. */ static int test_third(const char* fname, SecondOrderFun second_fun, ThirdOrderFun third_fun) { int i, j, k, fail = 0; real eps, num; FunSecondFuncDrv m, p; FunThirdFuncDrv d; for(i=1; i<=40; i+=GRID_STEP) { for(j=1; j<=40; j+=GRID_STEP) { for(k=-19; k<=19; k+=GRID_STEP) { real rho = i/40.0; real ngrad = j/40.0; real gracos= k/20.0; FunDensProp dt, dp = {(real)0.5*rho, (real)0.3*rho, (real)0.5*ngrad, (real)1*ngrad}; dp.gradab = dp.grada*dp.gradb*gracos; drv3_clear(&d); third_fun(&d, 1, &dp); drv2_clear(&m); second_fun(&m, 1, &dp); test_var(d.df1000, m.df1000, fname, "df1000X", &fail); test_var(d.df0100, m.df0100, fname, "df0100X", &fail); test_var(d.df0010, m.df0010, fname, "df0010X", &fail); test_var(d.df0001, m.df0001, fname, "df0001X", &fail); test_var(d.df00001,m.df00001, fname, "df00001X", &fail); test_var(d.df2000, m.df2000, fname, "df2000X", &fail); test_var(d.df1100, m.df1100, fname, "df1100X", &fail); test_var(d.df1010, m.df1010, fname, "df1010X", &fail); test_var(d.df1001, m.df1001, fname, "df1001X", &fail); test_var(d.df10001,m.df10001, fname, "df10001X", &fail); test_var(d.df0200, m.df0200, fname, "df0200X", &fail); test_var(d.df0110, m.df0110, fname, "df0110X", &fail); test_var(d.df0101, m.df0101, fname, "df0101X", &fail); test_var(d.df01001,m.df01001, fname, "df01001X", &fail); test_var(d.df0020, m.df0020, fname, "df0020X", &fail); test_var(d.df0011, m.df0011, fname, "df0011X", &fail); test_var(d.df00101,m.df00101, fname, "df00101X", &fail); test_var(d.df0002, m.df0002, fname, "df0002X", &fail); test_var(d.df00011,m.df00011, fname, "df00011X", &fail); test_var(d.df00002,m.df00002, fname, "df00002X", &fail); /* drhoa: test */ COMP_DER(rho,1e-7,eps,rhoa, second,2); T2(df3000, df2000, eps, "A"); T2(df2100, df1100, eps, "A"); T2(df2010, df1010, eps, "A"); T2(df2001, df1001, eps, "A"); T2(df1200, df0200, eps, "A"); T2(df1110, df0110, eps, "A"); T2(df1101, df0101, eps, "A"); T2(df11001, df01001, eps, "A"); T2(df1020, df0020, eps, "A"); T2(df1011, df0011, eps, "A"); T2(df1002, df0002, eps, "A"); /*drhob: test */ COMP_DER(rho,1e-7,eps,rhob, second,2); T2(df0300, df0200, eps, "A"); T2(df0201, df0101, eps, "A"); T2(df0210, df0110, eps, "A"); T2(df0102, df0002, eps, "A"); T2(df0120, df0020, eps, "A"); T2(df1200, df1100, eps, "A"); T2(df0111, df0011, eps, "A"); T2(df1101, df1001, eps, "A"); T2(df1110, df1010, eps, "A"); T2(df02001, df01001, eps, "A"); T2(df11001, df10001, eps, "A"); /* dgrada: test */ COMP_DER(ngrad,1e-7,eps,grada, second,2); T2(df2010, df2000, eps, "A"); T2(df0030, df0020, eps, "A"); T2(df0021, df0011, eps, "A"); /* dgradb: test */ COMP_DER(ngrad,1e-7,eps,gradb, second,2); T2(df2001, df2000, eps, "A"); T2(df0003, df0002, eps, "A"); T2(df0012, df0011, eps, "A"); } } } if(fail==0) printf("%-5s (third order derivatives): OK\n", fname); return fail; } /* test_fourth: test fourth order derivatives of given functional. It is assumed that the second order derivatives are OK. */ static int test_fourth(const char* fname, ThirdOrderFun third_fun, FourthOrderFun fourth_fun) { int i, j, k, fail = 0; real eps, num; FunThirdFuncDrv m, p; FunFourthFuncDrv d; for(i=1; i<=40; i+=GRID_STEP) { for(j=1; j<=40; j+=GRID_STEP) { for(k=-19; k<=19; k+=GRID_STEP) { real rho = i/40.0; real ngrad = j/40.0; real gracos= k/20.0; FunDensProp dt, dp = {(real)0.5*rho, (real)0.3*rho, (real)0.5*ngrad, (real)1*ngrad}; dp.gradab = dp.grada*dp.gradb*gracos; drv4_clear(&d); fourth_fun(&d, 1, &dp); drv3_clear(&m); third_fun(&m, 1, &dp); test_var(d.df1000, m.df1000, fname, "df1000X", &fail); test_var(d.df0100, m.df0100, fname, "df0100X", &fail); test_var(d.df0010, m.df0010, fname, "df0010X", &fail); test_var(d.df0001, m.df0001, fname, "df0001X", &fail); test_var(d.df00001, m.df00001, fname, "df00001X", &fail); test_var(d.df2000, m.df2000, fname, "df2000X", &fail); test_var(d.df1100, m.df1100, fname, "df1100X", &fail); test_var(d.df1010, m.df1010, fname, "df1010X", &fail); test_var(d.df1001, m.df1001, fname, "df1001X", &fail); test_var(d.df10001, m.df10001, fname, "df10001X", &fail); test_var(d.df0200, m.df0200, fname, "df0200X", &fail); test_var(d.df0110, m.df0110, fname, "df0110X", &fail); test_var(d.df0101, m.df0101, fname, "df0101X", &fail); test_var(d.df01001, m.df01001, fname, "df01001X", &fail); test_var(d.df0020, m.df0020, fname, "df0020X", &fail); test_var(d.df0011, m.df0011, fname, "df0011X", &fail); test_var(d.df00101, m.df00101, fname, "df00101X", &fail); test_var(d.df0002, m.df0002, fname, "df0002X", &fail); test_var(d.df00011, m.df00011, fname, "df00011X", &fail); test_var(d.df00002, m.df00002, fname, "df00002X", &fail); test_var(d.df3000, m.df3000, fname, "df3000X", &fail); test_var(d.df2100, m.df2100, fname, "df2100X", &fail); test_var(d.df2010, m.df2010, fname, "df2010X", &fail); test_var(d.df2001, m.df2001, fname, "df2001X", &fail); test_var(d.df20001, m.df20001, fname, "df20001X", &fail); test_var(d.df1200, m.df1200, fname, "df1200X", &fail); test_var(d.df1110, m.df1110, fname, "df1110X", &fail); test_var(d.df1101, m.df1101, fname, "df1101X", &fail); test_var(d.df11001, m.df11001, fname, "df11001X", &fail); test_var(d.df1020, m.df1020, fname, "df1020X", &fail); test_var(d.df1011, m.df1011, fname, "df1011X", &fail); test_var(d.df10101, m.df10101, fname, "df10101X", &fail); test_var(d.df1002, m.df1002, fname, "df1002X", &fail); test_var(d.df10011, m.df10011, fname, "df10011X", &fail); test_var(d.df10002, m.df10002, fname, "df10002X", &fail); test_var(d.df0300, m.df0300, fname, "df0300X", &fail); test_var(d.df0210, m.df0210, fname, "df0210X", &fail); test_var(d.df0201, m.df0201, fname, "df0201X", &fail); test_var(d.df02001, m.df02001, fname, "df02001X", &fail); test_var(d.df0120, m.df0120, fname, "df0120X", &fail); test_var(d.df0111, m.df0111, fname, "df0111X", &fail); test_var(d.df01101, m.df01101, fname, "df01101X", &fail); test_var(d.df0102, m.df0102, fname, "df0102X", &fail); test_var(d.df01011, m.df01011, fname, "df01011X", &fail); test_var(d.df01002, m.df01002, fname, "df01002X", &fail); test_var(d.df0030, m.df0030, fname, "df0030X", &fail); test_var(d.df0021, m.df0021, fname, "df0021X", &fail); test_var(d.df00201, m.df00201, fname, "df00201X", &fail); test_var(d.df0012, m.df0012, fname, "df0012X", &fail); test_var(d.df00111, m.df00111, fname, "df00111X", &fail); test_var(d.df00102, m.df00102, fname, "df00102X", &fail); test_var(d.df0003, m.df0003, fname, "df0003X", &fail); test_var(d.df00021, m.df00021, fname, "df00021X", &fail); test_var(d.df00012, m.df00012, fname, "df00012X", &fail); test_var(d.df00003, m.df00003, fname, "df00003X", &fail); /* drhoa: test */ COMP_DER(rho,1e-6,eps,rhoa, third,3); T2(df4000, df3000, eps, "A"); T2(df3100, df2100, eps, "A"); T2(df3010, df2010, eps, "A"); T2(df3001, df2001, eps, "A"); T2(df30001, df20001,eps, "A"); T2(df2200, df1200, eps, "A"); T2(df2110, df1110, eps, "A"); T2(df2101, df1101, eps, "A"); T2(df21001, df11001,eps, "A"); T2(df2020, df1020, eps, "A"); T2(df2011, df1011, eps, "A"); T2(df20101, df10101,eps, "A"); T2(df2002, df1002, eps, "A"); T2(df20011, df10011,eps, "A"); T2(df20002, df10002,eps, "A"); T2(df1300, df0300, eps, "A"); T2(df1210, df0210, eps, "A"); T2(df1201, df0201, eps, "A"); T2(df12001, df02001,eps, "A"); T2(df1120, df0120, eps, "A"); T2(df1111, df0111, eps, "A"); T2(df11101, df01101,eps, "A"); T2(df1102, df0102, eps, "A"); T2(df11011, df01011,eps, "A"); T2(df11002, df01002,eps, "A"); T2(df1030, df0030, eps, "A"); T2(df1021, df0021, eps, "A"); T2(df10201, df00201,eps, "A"); T2(df1012, df0012, eps, "A"); T2(df10111, df00111,eps, "A"); T2(df10102, df00102,eps, "A"); T2(df1003, df0003, eps, "A"); T2(df10021, df00021,eps, "A"); T2(df10012, df00012,eps, "A"); T2(df10003, df00003,eps, "A"); /*drhob: test */ COMP_DER(rho,1e-7,eps,rhob, third,3); T2(df3100, df3000, eps, "B"); T2(df2200, df2100, eps, "B"); T2(df2110, df2010, eps, "B"); T2(df2101, df2001, eps, "B"); T2(df21001, df20001,eps, "B"); T2(df1300, df1200, eps, "B"); T2(df1210, df1110, eps, "B"); T2(df1201, df1101, eps, "B"); T2(df12001, df11001,eps, "B"); T2(df1120, df1020, eps, "B"); T2(df1111, df1011, eps, "B"); T2(df11101, df10101,eps, "B"); T2(df1102, df1002, eps, "B"); T2(df11011, df10011,eps, "B"); T2(df11002, df10002,eps, "B"); T2(df0400, df0300, eps, "B"); T2(df0310, df0210, eps, "B"); T2(df0301, df0201, eps, "B"); T2(df03001, df02001,eps, "B"); T2(df0220, df0120, eps, "B"); T2(df0211, df0111, eps, "B"); T2(df02101, df01101,eps, "B"); T2(df0202, df0102, eps, "B"); T2(df02011, df01011,eps, "B"); T2(df02002, df01002,eps, "B"); T2(df0130, df0030, eps, "B"); T2(df0121, df0021, eps, "B"); T2(df01201, df00201,eps, "B"); T2(df0112, df0012, eps, "B"); T2(df01111, df00111,eps, "B"); T2(df01102, df00102,eps, "B"); T2(df0103, df0003, eps, "B"); T2(df01021, df00021,eps, "B"); T2(df01012, df00012,eps, "B"); T2(df01003, df00003,eps, "B"); /* dgrada: test */ COMP_DER(ngrad,1e-7,eps,grada, third,3); T2(df3010, df3000, eps, "C"); T2(df2110, df2100, eps, "C"); T2(df2020, df2010, eps, "C"); T2(df2011, df2001, eps, "C"); T2(df20101, df20001,eps, "C"); T2(df20011, df20001,eps, "C"); T2(df1210, df1200, eps, "C"); T2(df1120, df1110, eps, "C"); T2(df1111, df1101, eps, "C"); T2(df11101, df11001,eps, "C"); T2(df1030, df1020, eps, "C"); T2(df1021, df1011, eps, "C"); T2(df10201, df10101,eps, "C"); T2(df1012, df1002, eps, "C"); T2(df10111, df10011,eps, "C"); T2(df10102, df10002,eps, "C"); T2(df1003, df1002, eps, "C"); T2(df0310, df0300, eps, "C"); T2(df0220, df0210, eps, "C"); T2(df0211, df0201, eps, "C"); T2(df02101, df02001,eps, "C"); T2(df0130, df0120, eps, "C"); T2(df0121, df0111, eps, "C"); T2(df01201, df01101,eps, "C"); T2(df0112, df0102, eps, "C"); T2(df01111, df01011,eps, "C"); T2(df01102, df01002,eps, "C"); T2(df0040, df0030, eps, "C"); T2(df0031, df0021, eps, "C"); T2(df00301, df00201,eps, "C"); T2(df0022, df0012, eps, "C"); T2(df00211, df00111,eps, "C"); T2(df00202, df00102,eps, "C"); T2(df0013, df0003, eps, "C"); T2(df00121, df00021,eps, "C"); T2(df00112, df00012,eps, "C"); T2(df00103, df00003,eps, "C"); /* dgradb: test */ COMP_DER(ngrad,1e-7,eps,gradb, third,3); T2(df3001, df3000, eps, "C"); T2(df2101, df2100, eps, "C"); T2(df2011, df2010, eps, "C"); T2(df2002, df2001, eps, "C"); T2(df20011, df20001,eps, "C"); T2(df1201, df1200, eps, "C"); T2(df1111, df1110, eps, "C"); T2(df1102, df1101, eps, "C"); T2(df11011, df11001,eps, "C"); T2(df1021, df1020, eps, "C"); T2(df1012, df1011, eps, "C"); T2(df10111, df10101,eps, "C"); T2(df1003, df1002, eps, "C"); T2(df10021, df10011,eps, "C"); T2(df10012, df10002,eps, "C"); T2(df0301, df0300, eps, "C"); T2(df0211, df0210, eps, "C"); T2(df0202, df0201, eps, "C"); T2(df02011, df02001,eps, "C"); T2(df0121, df0120, eps, "C"); T2(df0112, df0111, eps, "C"); T2(df01111, df01101,eps, "C"); T2(df0103, df0102, eps, "C"); T2(df01021, df01011,eps, "C"); T2(df01012, df01002,eps, "C"); T2(df0031, df0030, eps, "C"); T2(df0022, df0021, eps, "C"); T2(df00211, df00201,eps, "C"); T2(df0013, df0012, eps, "C"); T2(df00121, df00101,eps, "C"); T2(df00112, df00102,eps, "C"); T2(df0004, df0003, eps, "C"); T2(df00031, df00021,eps, "C"); T2(df00022, df00012,eps, "C"); T2(df00013, df00003,eps, "C"); } } } if(fail==0) printf("%-5s (fourth order derivatives): OK\n", fname); return fail; } static int test_derivatives(Functional* f, int *orders, DaltonEnFunc dal_fun) { int res = 0; /* if(dal_fun) res = test_energy(f->name, f->func, dal_fun); */ if(!res && (!orders || orders[0]) ) res = test_first(f->name, f->func, f->first); if(!res && (!orders || orders[1]) ) res = test_second(f->name, f->first, f->second); if(!res && (!orders || orders[2]) ) res = test_third(f->name, f->second, f->third); if(!res && (!orders || orders[3]) ) res = test_fourth(f->name, f->third, f->fourth); return res; } /* main: this is the main test program. */ int main(int argc, char* argv[]) { int res = 0, i, length, argidx, funcsel = 0; static int funco[] = { 0, 0, 0, 0 }; char* arg; Functional* func; if(argc<=1) { fprintf(stderr, "Functional derivative tester:\n" "usage: fun-tester [-n] \n" "-n - test only selected order of derivatives\n" "example: fun-tester GGAKey becke=1 lyp=1\n"); return 1; } for(argidx=1; argidxname)==0) break; if(available_functionals[i]==NULL) { fprintf(stderr, "Functional '%s' not found.\n\n" "Available functionals:\n", argv[1]); for(i=0; available_functionals[i]; i++) fprintf(stderr, " %s\n", available_functionals[i]->name); return 2; } func = available_functionals[i]; argidx++; for(length=1, i=argidx; iargidx+1) strcpy(arg, argv[argidx]); else *arg = '\0'; for(i=argidx; iread(arg)) { fprintf(stderr, "Reading configuration for %s from '%s' failed.\n", argv[1], arg); free(arg); return 3; } free(arg); if(func->report) func->report(); res += test_derivatives(func, funcsel ? funco: NULL, NULL); if(res>0) printf("%i tests failed.\n", res); else printf("OK\n"); return res; } ergo-3.5/source/dft/xc_matrix.cc0000664000175000017500000004600112743400307013623 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file xc_matrix.cc The XC matrix evaluator. (c) Pawel Salek, pawsa@theochem.kth.se. 2002.04.05 This module evaluates DFT contribution KS matrix. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include #include #define WITH_PTHREAD 1 #if defined(WITH_PTHREAD) #include static pthread_mutex_t dft_prop_mutex = PTHREAD_MUTEX_INITIALIZER; #endif #define __CVERSION__ #include "aos.h" #include "integrator.h" #include "functionals.h" #include "dft_common.h" #include "mat_gblas.h" #include "output.h" #include "utilities.h" #include "matrix_utilities.h" #include "grid_matrix.h" #include "xc_evaluators.h" /* restrict hints should not be necessary... */ #if !defined(restrict) #define restrict #endif const static int KOHNSH_DEBUG = 0; const static int DFTLR_DEBUG = 0; const static int DFTMAG_DEBUG = 0; void lrao2mo_(const real* cmo, const int *ksymop, const real*res, real* fmat, real* work, int*lw); #if defined(VAR_MPI) #include #define MASTER_NO 0 #endif #if 0 && defined(VAR_MPI) #include #define MASTER_NO 0 /* dft_kohn_sham_slave: this is a slave driver. It's task is to allocate memory needed by the main property evaluator (dft_kohn_sham in this case) and call it. */ void dft_kohn_sham_slave(real* work, int* lwork, const int* iprint) { real* dmat = malloc(inforb_.n2basx*sizeof(real)); real* ksm = calloc(inforb_.n2basx,sizeof(real)); int iprfck = 0; dft_kohn_sham_(dmat, ksm, work, lwork, &iprfck); free(dmat); free(ksm); } static __inline__ void dft_kohn_sham_sync_slaves(real* dmat) { MPI_Bcast(dmat, inforb_.n2basx,MPI_DOUBLE, MASTER_NO, MPI_COMM_WORLD); } static __inline__ void dft_kohn_sham_collect_info(real*ksm, real* energy, real* work) { real tmp = *energy; dcopy_(&inforb_.n2basx, ksm,&ONEI, work, &ONEI); MPI_Reduce(work, ksm, inforb_.n2basx, MPI_DOUBLE, MPI_SUM, MASTER_NO, MPI_COMM_WORLD); MPI_Reduce(&tmp, energy, 1, MPI_DOUBLE, MPI_SUM, MASTER_NO, MPI_COMM_WORLD); } #else /* VAR_MPI */ #define dft_kohn_sham_sync_slaves(dmat) #define dft_kohn_sham_collect_info(myksm, ksm, energy) #endif /* VAR_MPI */ /* =================================================================== */ /* BLOCKED PROPERTY EVALUATORS */ /* =================================================================== */ struct XCDistributorLdaBlas { static void distribute(DftIntegratorBl *grid, int bllen, int blstart, int blend, real * restrict tmp, const real *restrict dR, Dft::FullMatrix& excmat); }; void XCDistributorLdaBlas::distribute(DftIntegratorBl *grid, int bllen, int blstart, int blend, real * restrict tmp, const real *restrict dR, Dft::FullMatrix& mat) { int isym, jbl, j, ibl, k; const real * const aos = grid->atv; real * restrict excmat = mat.mat; for(isym=0; isymnsym; isym++) { int (*restrict blocks)[2] = BASBLOCK(grid,isym); int bl_cnt = grid->bas_bl_cnt[isym]; for(jbl=0; jblnbast+blocks[ibl][0], &grid->nbast); } /* This will double-count diagonal elements, need to correct for it later. Or maybe not? */ int cRows = blocks[jbl][1]-blocks[jbl][0]; int cCols = blocks[jbl][1]-blocks[jbl][0]; mat::gemm("T","N", &cRows, &cCols, &bllen, &QUARTER, aos+blocks[jbl][0]*bllen, &bllen, tmp+blocks[jbl][0]*bllen, &bllen, &ONER, excmat+blocks[jbl][0]*grid->nbast+blocks[jbl][0], &grid->nbast); } } } struct XCDistributorGgaBlas { static void distribute(DftIntegratorBl *grid, int bllen, int blstart, int blend, real * restrict tmp, const real *dR, const real *dZ, Dft::FullMatrix& mat); }; void XCDistributorGgaBlas::distribute(DftIntegratorBl *grid, int bllen, int blstart, int blend, real * restrict tmp, const real * dR, const real * dZ, Dft::FullMatrix& mat) { int isym, jbl, j, ibl, k; const real * restrict aox = grid->atv+bllen*grid->nbast; const real * restrict aoy = grid->atv+bllen*grid->nbast*2; const real * restrict aoz = grid->atv+bllen*grid->nbast*3; const real * restrict aos = grid->atv; real * restrict excmat = mat.mat; for(isym=0; isymnsym; isym++) { int (*restrict blocks)[2] = BASBLOCK(grid,isym); int nblocks = grid->bas_bl_cnt[isym]; for(jbl=0; jblg.rad.a[k][0]+ aoy[k+j*bllen]*grid->g.rad.a[k][1]+ aoz[k+j*bllen]*grid->g.rad.a[k][2]); } for(jbl=0; jblnbast+blocks[ibl][0], &grid->nbast); } } } } /* =================================================================== */ /* blocked density and KS evaluation */ /* =================================================================== */ #if 0 static void printmat(int n, const ergo_real *m, const char *name) { int i, j; printf("Printing matrix %s\n", name); for(i=0; iis_gga(); Dft::FullMatrix res(nbast); Dft::FullMatrix density(dmat, nbast); KsData ds(&res, DFT_MAX_BLLEN); const Dft::FullMatrix *densPtr = &density; nbast2 = nbast*nbast; #if USE_BLAS_IN_XC == 1 void (*cblda)(DftIntegratorBl* grid, real * restrict tmp, int bllen, int blstart, int blend, KsData* data) = &xcCallbackLdaR; void (*cbgga)(DftIntegratorBl* grid, real * restrict tmp, int bllen, int blstart, int blend, KsData* data) = &xcCallbackGgaR; #else void (*cblda)(DftIntegratorBl* grid, real * restrict tmp, int bllen, int blstart, int blend, KsData* data) = &xcCallbackLdaR >; void (*cbgga)(DftIntegratorBl* grid, real * restrict tmp, int bllen, int blstart, int blend, KsData* data) = &xcCallbackGgaR >; #endif electrons = Dft::integrate(1, &densPtr, bis, mol, gss, nThreads, (DftBlockCallback) (isGGA ? cbgga : cblda), &ds); for(i=0; iel = dft_get_xc(d->nElectrons, d->dmat, *d->bis, *d->mol, *d->gss, d->xc, &d->edfty, d->nThreads); } catch(const char *s) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "dft_get_xc_worker thread caught an exception '%s'", s); return (void*)&XCWORKER_ERROR; } catch(const std::bad_alloc & e) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "dft_get_xc_worker thread caught an exception '%s'", e.what()); return (void*)&XCWORKER_ERROR; } catch(const std::runtime_error & e) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "dft_get_xc_worker thread caught an exception '%s'", e.what()); return (void*)&XCWORKER_ERROR; } catch(...) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "dft_get_xc_worker thread caught unexpected exception."); return (void*)&XCWORKER_ERROR; } return NULL; } /** Computes the XC interaction matrix for given density matrix @param dmat . @returns the integrated number of electrons. @param nElectrons number of electrons. @param bis a structure describing the used basis set. @param mol a structure describing the molecule. @param gss a structure describing the grid settings. @param xc resulting XC matrix. @param edfty resulting XC energy. */ EXTERN_C real dft_get_xc_mt(int nElectrons, const real* dmat, const BasisInfoStruct& bis, const Molecule& mol, const Dft::GridParams& gss, real *xc, real* edfty) { int i, threads; real electrons; Util::TimeMeter tm; threads = dft_get_num_threads(); std::vector data(threads); std::vector pids(threads); if(threads == 1) { /* Do not create any threads at all to avoid stack allocation. */ *edfty = 0.0; electrons = dft_get_xc(nElectrons, dmat, bis, mol, gss, xc, edfty, 1); } else { for(i=0; i= 0) { pthread_join(pids[i], NULL); *edfty += data[i].edfty; electrons += data[i].el; } int nElectrons = mol.getNumberOfElectrons(); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Electrons: %11.7f %7.1g: xc energy %f (mt)", (double)electrons, (double)((electrons-nElectrons)/nElectrons), (double)*edfty); tm.print(LOG_AREA_DFT, __func__); } return electrons; } /* =================================================================== Blocked, unrestricted code =================================================================== */ struct uks_data { Dft::FullMatrix *exca, *excb; real* dRa, *dRb; real* dZa, *dZb, *dZab; real energy; }; EXTERN_C real dft_get_uxc(int nElectrons, const real* dmata, const real *dmatb, const BasisInfoStruct& bis, const Molecule& mol, const Dft::GridParams& gss, real* xca, real *xcb, real* edfty, int nThreads) { int nbast = bis.noOfBasisFuncs; int nbast2, i, j, imat; real electrons; const Dft::FullMatrix *dmat[2]; Util::TimeMeter tm; bool isGGA = selected_func->is_gga(); Dft::FullMatrix mata(nbast), matb(nbast); Dft::FullMatrix densa(dmata, nbast); Dft::FullMatrix densb(dmatb, nbast); dmat[0] = &densa; dmat[1] = &densb; nbast2 = nbast*nbast; UksData ds(&mata, &matb, DFT_MAX_BLLEN); void (*cblda)(DftIntegratorBl* grid, real * restrict tmp, int bllen, int blstart, int blend, UksData* data) #if USE_BLAS_IN_XC == 1 = xcCallbackLdaU; #else = xcCallbackLdaU >; #endif void (*cbgga)(DftIntegratorBl* grid, real * restrict tmp, int bllen, int blstart, int blend, UksData* data) = xcCallbackGgaU >; electrons = Dft::integrate(2, dmat, bis, mol, gss, nThreads, (DftBlockCallback) (isGGA ? cbgga : cblda), &ds); for(imat=0; imat<2; imat++) { real * e = imat ? mata.mat : matb.mat; for(i=0; iel = dft_get_uxc(d->nElectrons, d->dmata, d->dmatb, *d->bis, *d->mol, *d->gss, d->xca, d->xcb, &d->edfty, d->nThreads); return NULL; } EXTERN_C real dft_get_uxc_mt(int nElectrons, const real* dmata, const real *dmatb, const BasisInfoStruct& bis, const Molecule& mol, const Dft::GridParams& gss, real* xca, real *xcb, real* edfty) { int i, threads; real electrons = 0; Util::TimeMeter tm; threads = dft_get_num_threads(); std::vector data(threads); std::vector pids(threads); *edfty = 0.0; if(threads == 1) { /* Do not create any threads at all to avoid stack allocation. */ electrons = dft_get_uxc(nElectrons, dmata, dmatb, bis, mol, gss, xca, xcb, edfty, threads); } else { for(i=0; i= 0) { pthread_join(pids[i], NULL); *edfty += data[i].edfty; electrons += data[i].el; } int nElectrons = mol.getNumberOfElectrons(); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Electrons: %11.7f %7.1g: u-xc energy %f (mt)", (double)electrons, (double)((electrons-nElectrons)/nElectrons), (double)*edfty); tm.print(LOG_AREA_DFT, __func__); } return electrons; } ergo-3.5/source/dft/sparse_pattern.cc0000664000175000017500000003516212743400307014665 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "output.h" #include "dft_common.h" #include "sparse_pattern.h" BEGIN_NAMESPACE(Dft) /** Add interval { i: lo <= i < hi } to the list. The list is specific to given column. */ void SparsePattern::Column::addInterval(int lo, int hi) { if(list.empty()) { list.push_back(SparsePattern::Interval(lo, hi)); return; } /* There are four cases: The interval is disjoint to its neighbours: insert it; It can overlap with it precessor: extend the precessor; it can overlap with successor only: extend the successor. It can also overlap with many intervals: extend the first one and keep removing following until a disjoint or the end of list is found. */ for(SparsePattern::IntervalList::iterator i = list.begin(); i != list.end(); ++i) { if(hi < i->lo) { list.insert(i,SparsePattern::Interval(lo, hi)); return; } if(lo <= i->hi) { /* Here we go, first one in the chain localized! */ if(lo < i->lo) i->lo = lo; if(hi<= i->hi) /* Nothing left to do. */ return; /* Now, we have to only figure out where it ends... */ do { SparsePattern::IntervalList::iterator j = i; ++j; if(j == list.end() || /* There is no next one, or... */ hi < j->lo) { /* It's too far up. */ i->hi = hi; return; } /* OK, it needs to be joined... */ if(hi <= j->hi) { i->hi = j->hi; /* here, the story ends... */ list.erase(j); return; } /* hi apparently goes higher... */ list.erase(j); } while(true); return; } } /* We reached the end of list and still no hit, time to append stuff. */ list.push_back(SparsePattern::Interval(lo, hi)); } void SparsePattern::Column::addIntervals(int nIntervals, int (*intervals)[2]) { int currentInterval = 0; SparsePattern::IntervalList::iterator i = list.begin(); /* There are four cases: The interval is disjoint to its neighbours: insert it; It can overlap with it precessor: extend the precessor; it can overlap with successor only: extend the successor. It can also overlap with many intervals: extend the first one and keep removing following until a disjoint or the end of list is found. */ // printf("Begin, nIntervals = %d current pattern length %d\n", nIntervals, list.size()); while(i != list.end() && currentIntervallo) { i = list.insert(i,SparsePattern::Interval(lo, hi)); ++currentInterval; continue; } if(lo <= i->hi) { /* Here we go, first one in the chain localized! */ if(lo < i->lo) i->lo = lo; if(hi<= i->hi) { /* Nothing left to do for this one. */ ++currentInterval; continue; } /* Now, we have to only figure out where it ends... */ do { SparsePattern::IntervalList::iterator j = i; ++j; if(j == list.end() || /* There is no next one, or... */ hi < j->lo) { /* It's too far up. */ i->hi = hi; ++currentInterval; break; } /* OK, it needs to be joined... */ if(hi <= j->hi) { i->hi = j->hi; /* here, the story ends... */ list.erase(j); ++currentInterval; break; } /* hi apparently goes higher... */ list.erase(j); } while(true); continue; } ++i; } /* We reached the end of list and still no hit, time to append the remaining stuff. */ while(currentIntervalmaxWidth) maxWidth = width; } #if 0 printf("Read sparse pattern has %d elemts. Width max %d, avg. %4d Size: %f G\n", sumSize, maxWidth, int(sumSize/float(bis.noOfBasisFuncs)), sumSize*double(sizeof(ergo_real)/(1024.0*1024.0*1024.0))); #endif } /** Save itself to the specified stream. */ void SparsePattern::save(FILE *f) const { int sumSize = 0, maxWidth=0; for(int i=0; imaxWidth) maxWidth = width; } #if 0 printf("Saved sparse pattern has %d elemts. Width max %d, avg. %4d Size: %f G\n", sumSize, maxWidth, int(sumSize/float(bis.noOfBasisFuncs)), sumSize*double(sizeof(ergo_real)/(1024.0*1024.0*1024.0))); #endif do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Sparse pattern has %d elemts. Width max %d, avg. %4d Size: %f G", sumSize, maxWidth, int(sumSize/float(bis.noOfBasisFuncs)), (double)(sumSize*double(sizeof(ergo_real)/(1024.0*1024.0*1024.0)))); if(fwrite(&bis.noOfBasisFuncs, sizeof(int), 1, f) != 1) throw "Cannot save sparsity pattern"; for(int col=0; collo, l.rbegin()->hi); Interval i(0, bis.noOfBasisFuncs); if(fwrite( &i, sizeof(Interval), 1, f) != 1) throw "Save interval"; #endif } } int SparsePattern::sizeTotal() const { int sumSize = 0; for(int i=0; i result; /* prepare lists of neighbours */ std::vector shellNeighbours; for(int iShell=0; iShell processedShells; result.push_back(icore); processedShells.insert(icore); assert(result.size() >0); int perhapsAvailableShellNo=0; for(int element=1; element > unprocessedNeighbours; for(std::list::iterator i= neighbours.begin(); i != neighbours.end(); i++) { if( processedShells.find(*i) == processedShells.end()) { ergo_real r = std::sqrt(sqDist(bis.shellList[iShell].centerCoords, bis.shellList[*i].centerCoords)); unprocessedNeighbours.push_back( std::pair(r,*i) ); } } #if 0 printf("\nShell %d has %d neighbours, %d unprocessed. Total processed: %d\n", iShell, neighbours.size(), unprocessedNeighbours.size(), processedShells.size()); #endif /* Sort wrt the shell radius */ unprocessedNeighbours.sort(); for(std::list< std::pair >::iterator i = unprocessedNeighbours.begin(); i != unprocessedNeighbours.end(); i++) { result.push_back(i->second); processedShells.insert(i->second); } /* Make sure we did not hit a disjoint element here... */ if(result.size()<=(unsigned)element) { for(;perhapsAvailableShellNo& inputList, std::vector& result, int depth) { static const ergo_real BOX_SIZE = 1.5; if(inputList.empty()) return; int dividingDim = box.getMaxDim(); ergo_real dividingSize = box.hi[dividingDim]-box.lo[dividingDim]; int n = inputList.size(); if(n<=2 || dividingSize < BOX_SIZE) { for(std::vector::const_iterator i= inputList.begin(); i != inputList.end(); ++i) { result.push_back(*i); } return; } std::vector lessThanList, greaterList; lessThanList.reserve(n); greaterList.reserve(n); ergo_real dividingValue = 0.5*(box.hi[dividingDim]+box.lo[dividingDim]); for(std::vector::const_iterator i= inputList.begin(); i != inputList.end(); ++i) { int shellIdx = *i; if(shells[shellIdx].centerCoords[dividingDim] < dividingValue) lessThanList.push_back(shellIdx); else greaterList.push_back(shellIdx); } ++depth; Box bb(box); bb.hi[dividingDim] = dividingValue; clusterShells(shells, bb, lessThanList, result, depth); bb.lo[dividingDim] = dividingValue; bb.hi[dividingDim] = box.hi[dividingDim]; clusterShells(shells, bb, greaterList, result, depth); } void setupShellMap(const BasisInfoStruct& bis, int *shellMap, int *aoMap) { /* this uses a tree based clustering... */ Box box; unsigned i; for(i=0; i<3; i++) { box.lo[i] = box.hi[i] = bis.shellList[0].centerCoords[i]; } std::vector inputList(bis.noOfShells); for(int shell=0; shell< bis.noOfShells; shell++) { inputList[shell] = shell; /* modify box here */ for(i=0; i<3; i++) { ergo_real c = bis.shellList[shell].centerCoords[i]; if(c < box.lo[i]) box.lo[i] = c; else if(c > box.hi[i]) box.hi[i] = c; } } std::vector result; result.reserve(bis.noOfShells); clusterShells(bis.shellList, box, inputList, result, true); assert(result.size() == (unsigned)bis.noOfShells); std::copy(result.begin(), result.end(), shellMap); prepareAOMap(bis, shellMap, aoMap); } #endif END_NAMESPACE(Dft); ergo-3.5/source/dft/xc_matrix.h0000664000175000017500000000353412743400307013471 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file xc_matrix.h contains the interface of xc_matrix.cc */ #if !defined(_XC_MATRIX_H_) #define _XC_MATRIX_H_ 1 #include "grid_reader.h" EXTERN_C real dft_get_xc_mt(int nElectrons, const real* dmat, const BasisInfoStruct *bis, const Molecule *mol, const Dft::GridParams& gss, real* ksm, real* edfty); EXTERN_C real dft_get_uxc_mt(int nElectrons, const real* dmata, const real *dmatb, const BasisInfoStruct *bis, const Molecule *mol, const Dft::GridParams& gss, real* xca, real *xcb, real* edfty); #endif /* _XC_MATRIX_H_ */ ergo-3.5/source/dft/xc_evaluators.h0000664000175000017500000003453712743400307014361 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file xc_evaluators.h defines LDA and GGA evaluators that work both for dense and sparse matrices. */ /** structure describing the data needed by distributors. This is the restricted-orbital formalism, cross alpha-beta terms are not needed. */ template struct KsData { Matrix *excmat; real* dR; real* dZ; real energy; KsData(Matrix *m_, size_t s) : excmat(m_), dR(new real[s]), dZ(new real[s]), energy(0) {} ~KsData() { delete []dR; delete []dZ; } }; /** distributes a LDA-type xc potential over the XC-matrix elements, with optimization for a closed shell case. Matrix is a type that provides an operation add(row, col, val). */ template struct XCDistributorLda { static void distribute(DftIntegratorBl *grid, int bllen, int blstart, int blend, real * restrict tmp, real *restrict dR, Matrix& excmat) { static const int isym = 0; int jbl, j, ibl, i, k; real * restrict aos = grid->atv; int (*restrict blocks)[2] = BASBLOCK(grid,isym); int bl_cnt = grid->bas_bl_cnt[isym]; for(jbl=0; jblexcmat by adding LDA-type contributions from a given set of bllen grid points as saved in grid. */ template void xcCallbackLdaR(DftIntegratorBl *grid, real * restrict tmp, int bllen, int blstart, int blend, KsData* data) { FirstDrv drvs; int k; real * restrict dR = data->dR; FunDensProp dp = { 0 }; assert(grid->ntypso >0); for(k=blstart; kweight[grid->curr_point+k]; dp.rhoa = dp. rhob = 0.5*grid->r.rho[k]; data->energy += selected_func->func(&dp)*weight; dftpot0_(&drvs, &weight, &dp); dR[k] = 2*drvs.fR; } LDADistributor::distribute(grid, bllen, blstart, blend, tmp, dR, *data->excmat); } /** distributes a GGA-type xc potential over the XC-matrix elements. Matrix is a type provides an operation add(row, col, val). */ template struct XCDistributorGga { static void distribute(DftIntegratorBl *grid, int bllen, int blstart, int blend, real * restrict tmp, const real *dR, const real *dZ, Matrix& excmat) { static const int isym = 0; int jbl, j, ibl, i, k; const real * aox = grid->atv+bllen*grid->nbast; const real * aoy = grid->atv+bllen*grid->nbast*2; const real * aoz = grid->atv+bllen*grid->nbast*3; const real * aos = grid->atv; const int (*blocks)[2] = BASBLOCK(grid,isym); int nblocks = grid->bas_bl_cnt[isym]; for(jbl=0; jblg.rad.a[k][0]+ aoy[k+j*bllen]*grid->g.rad.a[k][1]+ aoz[k+j*bllen]*grid->g.rad.a[k][2])); } for(jbl=0; jblexcmat by adding GGA-type contributions from a given set of bllen grid points as saved in grid. */ template void xcCallbackGgaR(DftIntegratorBl* grid, real * restrict tmp, int bllen, int blstart, int blend, KsData* data) { FirstDrv drvs; int k; real * restrict dR = data->dR; real * restrict dZ = data->dZ; FunDensProp dp = { 0 }; assert(grid->ntypso >0); for(k=blstart; kweight[grid->curr_point+k]; dp.grada = 0.5*std::sqrt(grid->g.grad[k][0]*grid->g.grad[k][0]+ grid->g.grad[k][1]*grid->g.grad[k][1]+ grid->g.grad[k][2]*grid->g.grad[k][2]); dp. rhoa = dp.rhob = 0.5*grid->r.rho[k]; dp.gradb = dp.grada; dp.gradab = dp.grada*dp.gradb; if(dp.rhoa>1e-14) { if(dp.grada<1e-35) dp.grada = 1e-35; data->energy += selected_func->func(&dp)*weight; dftpot0_(&drvs, &weight, &dp); dR[k] = 0.5*drvs.fR; dZ[k] = 0.5*drvs.fZ/dp.grada; }else { dR[k] = dZ[k] = 0; } } GGADistributor::distribute(grid, bllen, blstart, blend, tmp, dR, dZ, *data->excmat); } /* =================================================================== */ /* Unrestricted evaluators. */ template struct UksData { Matrix *exca, *excb; real* dRa, *dRb; real* dZa, *dZb, *dZab; real energy; UksData(Matrix * a_, Matrix * b_, size_t s) : exca(a_), excb(b_), dRa(new real[s]), dRb(new real[s]), dZa(new real[s]), dZb(new real[s]), dZab(new real[s]), energy(0.0) {} ~UksData() { delete []dRa; delete []dRb; delete []dZa; delete []dZb; delete []dZab; } }; template struct XCDistributorGgaU { static void distribute(DftIntegratorBl *grid, int bllen, int blstart, int blend, real * restrict tmp, const real * dR, const real *dZ1, const real (*grad1)[3], const real *dZ2, const real (*grad2)[3], Matrix& excmat); }; template void XCDistributorGgaU::distribute(DftIntegratorBl *grid, int bllen, int blstart, int blend, real * restrict tmp, const real * dR, const real *dZ1, const real (*grad1)[3], const real *dZ2, const real (*grad2)[3], Matrix& excmat) { int isym, jbl, j, ibl, i, k; real * restrict aox = grid->atv+bllen*grid->nbast; real * restrict aoy = grid->atv+bllen*grid->nbast*2; real * restrict aoz = grid->atv+bllen*grid->nbast*3; real * restrict aos = grid->atv; for(isym=0; isymnsym; isym++) { int (*restrict blocks)[2] = BASBLOCK(grid,isym); int nblocks = grid->bas_bl_cnt[isym]; for(jbl=0; jblexcmat by adding LDA-type xc contributions, for a general unrestricted case. Matrix is a type that provides an operation add(row, col, val). */ template void xcCallbackLdaU(DftIntegratorBl *grid, real * restrict tmp, int bllen, int blstart, int blend, UksData* d) { FunFirstFuncDrv drvs; FunDensProp dp = { 0 }; int k; assert(grid->ntypso >0); for(k=blstart; kweight[grid->curr_point+k]; dp.rhoa = grid->r.ho.a[k]; dp.rhob = grid->r.ho.b[k]; d->energy += selected_func->func(&dp)*weight; drv1_clear(&drvs); selected_func->first(&drvs, weight, &dp); d->dRa[k] = 2*drvs.df1000; d->dRb[k] = 2*drvs.df0100; } LDADistributor::distribute(grid, bllen, blstart, blend, tmp, d->dRa, *d->exca); LDADistributor::distribute(grid, bllen, blstart, blend, tmp, d->dRb, *d->excb); } /** modifes data->excmat by adding GGA-type xc contributions, for a general unrestricted case. Matrix is a type that provides an operation add(row, col, val). */ template static void xcCallbackGgaU(DftIntegratorBl* grid, real * restrict tmp, int bllen, int blstart, int blend, UksData* d) { FunFirstFuncDrv drvs; int k; FunDensProp dp = { 0 }; assert(grid->ntypso >0); for(k=blstart; kweight[grid->curr_point+k]; dp.rhoa = grid->r.ho.a[k]; dp.rhob = grid->r.ho.b[k]; dp.grada = std::sqrt(grid->g.rad.a[k][0]*grid->g.rad.a[k][0]+ grid->g.rad.a[k][1]*grid->g.rad.a[k][1]+ grid->g.rad.a[k][2]*grid->g.rad.a[k][2]); dp.gradb = std::sqrt(grid->g.rad.b[k][0]*grid->g.rad.b[k][0]+ grid->g.rad.b[k][1]*grid->g.rad.b[k][1]+ grid->g.rad.b[k][2]*grid->g.rad.b[k][2]); dp.gradab = grid->g.rad.a[k][0]*grid->g.rad.b[k][0]+ grid->g.rad.a[k][1]*grid->g.rad.b[k][1]+ grid->g.rad.a[k][2]*grid->g.rad.b[k][2]; if(dp.rhoa+dp.rhob>1e-17) { if(dp.gradaenergy += selected_func->func(&dp)*weight; drv1_clear(&drvs); selected_func->first(&drvs, weight, &dp); d->dRa[k] = drvs.df1000*0.5; d->dRb[k] = drvs.df0100*0.5; d->dZa[k] = drvs.df0010/dp.grada; d->dZb[k] = drvs.df0001/dp.gradb; d->dZab[k] = drvs.df00001; } else { d->dRa[k] = d->dRb[k] = d->dZa[k] = d->dZb[k] = d->dZab[k] = 0; } } GGADistributor::distribute(grid, bllen, blstart, blend, tmp, d->dRa, d->dZa, grid->g.rad.a, d->dZab, grid->g.rad.b, *d->exca); GGADistributor::distribute(grid, bllen, blstart, blend, tmp, d->dRb, d->dZb, grid->g.rad.b, d->dZab, grid->g.rad.a, *d->excb); } ergo-3.5/source/dft/fun-lb94.c0000664000175000017500000001264012743400307013024 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file fun-lb94.c LB94 implementation. Implementation of Exchange-correlation potential with correct asymptotic behavior by R. van Leeuwen and E. J. Baerends: [ van Leeuwen and EJ Baerends, Phys Rev A 49, 2421 (1994)] See also comments in Gisbergen et al, JCP 105(8) 3142. (c) P. Salek, oct 2003 - the working implementation. */ #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int lb94_isgga(void) { return 1; } static int lb94_read(const char* conf_line); static real lb94_energy(const FunDensProp* dens_prop); static void lb94_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dens_prop); static void lb94_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dens_prop); static void lb94_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dens_prop); #ifdef FOURTH_ORDER_DERIVATIVES static void lb94_fourth(FourthFuncDrv *ds, real factor, const FunDensProp* dens_prop); #endif Functional LB94Functional = {"LB94", /* name */ lb94_isgga, /* gga-corrected */ lb94_read, /* set common blocks */ NULL, /* reporter */ lb94_energy, lb94_first, lb94_second, lb94_third #ifdef FOURTH_ORDER_DERIVATIVES ,lb94_fourth, #endif }; /* IMPLEMENTATION PART */ static int lb94_read(const char* conf_line) { fun_set_hf_weight(0.0); return 1; } static const real BETA = 0.05; static real lb94_energy(const FunDensProp* dp) { return SlaterFunctional.func(dp)+VWNFunctional.func(dp); } static void lb94_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { real rho = dp->rhoa + dp->rhob; real rho13 = POW(rho, 1.0/3.0); real grad = dp->grada + dp->gradb; real rho43=rho*rho13; real scaled_grad, sg2, vx; scaled_grad = grad/(rho43>1e-13 ? rho43 : 1e-13); sg2 = scaled_grad*scaled_grad; vx = -BETA*rho13*sg2/ (1+3*BETA*scaled_grad*ASINH(scaled_grad)); ds->df1000 += vx*factor; ds->df0100 += vx*factor; SlaterFunctional.first(ds, factor, dp); VWNFunctional.first(ds, factor, dp); } static void lb94_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { /* according to the authors, it is equivalent to ALDA for LR and higher. * See comments in Gisbergen et al, JCP 105(8) 3142. */ #if 0 real x1 = POW(dp->gradb,2.0)+2.0*dp->gradab+POW(dp->grada,2.0), x2 = dp->rhob+dp->rhoa, x3 = 1/POW(x2,2.333333333333334), x4 = sqrt(x1), x5 = 1/POW(x2,1.333333333333333), x6 = asinh(x4*x5), x7 = 0.15*x4*x5*x6+1.0, x8 = 1/x7, x9 = -0.05*x1*x3*x8, x10 = 1/POW(x2,2.666666666666667), x11 = 1/sqrt(x1*x10+1.0), x12 = 1/POW(x7,2.0), x13 = 0.11666666666667*x1*x8/POW(x2,3.333333333333334) +0.05*x1*x12*x3*(-0.2*x4*x3*x6-0.2*x1*x11/POW(x2,3.666666666666667)), x14 = 1/x4, x15 = 0.05*x1*x3*(0.15*dp->grada*x14*x5*x6+0.15*dp->grada*x10*x11)*x12 -0.1*dp->grada*x3*x8, x16 = 0.05*x1*x3*(0.15*dp->gradb*x14*x5*x6+0.15*dp->gradb*x10*x11)*x12 -0.1*dp->gradb*x3*x8; ds->df1000 += x9*factor; ds->df0100 += x9*factor; ds->df2000 += x13*factor; ds->df0200 += x13*factor; ds->df1100 += x13*factor; ds->df1010 += x15*factor; ds->df1001 += x16*factor; ds->df10001 += (0.05*x1*x3*(0.15*x14*x5*x6+0.15*x10*x11)*x12-0.1*x3*x8) *factor; ds->df0110 += x15*factor; ds->df0101 += x16*factor; #endif SlaterFunctional.second(ds, factor, dp); VWNFunctional.second(ds, factor, dp); } static void lb94_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { SlaterFunctional.third(ds, factor, dp); VWNFunctional.third(ds, factor, dp); } #ifdef FOURTH_ORDER_DERIVATIVES static void lb94_fourth(FourthFuncDrv *ds, real factor, const FunDensProp* dp) { SlaterFunctional.fourth(ds, factor, dp); VWNFunctional.fourth(ds, factor, dp); } #endif ergo-3.5/source/dft/dft_common.cc0000664000175000017500000010576112743400307013763 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file dft_common.cc Common DFT routines. Mostly functional mixing. (c) Pawel Salek, pawsa@theochem.kth.se, 2001-08-02 NOTES: Adding new functionals: a. use fun-slater.c as template. b. add 'extern Functional MyFunctional;' to functionals.h c. add '&MyFunctional' to available_functionals below. d. have a beer. Or some crackers, if you prefer. */ #include #include #include #include #include #include #include #include #include #define __CVERSION__ #include "dft_common.h" #include "functionals.h" #include "grid_atomic.h" #include "output.h" /* C-wide constants */ int ZEROI = 0, ONEI = 1, THREEI = 3, FOURI = 4; real ZEROR = 0.0, ONER = 1.0, TWOR = 2.0, FOURR = 4.0; void* dal_malloc_(size_t sz, const char *place, unsigned line) { void* res = malloc(sz); if(!res) { fprintf(stderr, "dal_malloc(sz=%lu bytes) at %s (line %u) failed.\n", (unsigned long)sz, place, line); exit(1); } return res; } #if 0 static const ergo_real GET_BLOCKS_FUDGE_FACTOR = 0.5*std::sqrt(3.0); static const ergo_real SET_SHELL_RADII_ORBITAL_THR = 2e-12; #else static const ergo_real GET_BLOCKS_FUDGE_FACTOR = 1.0; static const ergo_real SET_SHELL_RADII_ORBITAL_THR = 1e-11; #endif /** Returns the shortest distance of the border of the box to the specified point in space. */ real Box::getDistanceTo(const real* v) const { /* Identify the contact point and compute the distance to it... Observe how nicely the code handles the case of the point inside the box! */ Vector3D contactPoint; for(int i=0; i<3; i++) { if(v[i] <= lo[i]) { contactPoint[i] = lo[i]; } else if(v[i] >= hi[i]) { contactPoint[i] = hi[i]; } else contactPoint[i] = v[i]; } real dist= contactPoint.dist(v); return dist; } /** Return the index of the largest Cartesian dimension: 0 for x, 1 for y and 2 for z. */ int Box::getMaxDim() const { int maxDim = 0; real d = hi[0]-lo[0]; for(int j=1; j<3; j++) { real x = hi[j] - lo[j]; if(x>d) { d = x; maxDim = j; } } return maxDim; } #include "barrier.h" /** creates or destroys a barrier for nThreads. @param release tells whether we are to destroy the barrier (true) or just sync (false). @param nThreads informs the code how many threads are supposed to block on the barrier. */ int sync_threads(bool release, int nThreads) { static pthread_mutex_t barrierInitMutex = PTHREAD_MUTEX_INITIALIZER; static ergo_barrier_t barrier; static bool barrierInitialized = false; if (pthread_mutex_lock(&barrierInitMutex) != 0) return -1; if(release) { if(barrierInitialized) { ergo_barrier_destroy(&barrier); barrierInitialized = false; } if (pthread_mutex_unlock(&barrierInitMutex) != 0) return -1; } else { int rc = 0; if (!barrierInitialized) { rc = ergo_barrier_init (&barrier, NULL, nThreads); barrierInitialized = true; } if (pthread_mutex_unlock(&barrierInitMutex) != 0) return -1; if(rc) return -1; int ret = ergo_barrier_wait(&barrier); if ((ret != 0) && (ret != PTHREAD_BARRIER_SERIAL_THREAD)) { fprintf (stderr, "Error when waiting for barrier\n"); return -1; } } return 0; } /* =================================================================== */ /* dftinput: read DFT functional from given line. The calling convention assumes Sun-style passing parameters. ATLAS linear algebra package http://www.netlib.org/atlas/ or http://math-atlas.sourceforge.net/ contains an elaborate discuttion of character type variable passing conventions, in particular little bit below http://math-atlas.sourceforge.net/errata.html#RH7.0 */ //static char* DftConfString = NULL; static real dft_hf_weight = 0.0; static void dft_set_hf_weight(real w) { dft_hf_weight = w; } static real dft_get_hf_weight(void) { return dft_hf_weight; } int (*fort_print)(const char* format, ...) = printf; static int ergo_fort_print(const char *format, ...) { int res; va_list v; va_start(v, format); res = do_voutput(LOG_CAT_INFO, LOG_AREA_DFT, format, v); va_end(v); return res; } EXTERN_C void dft_init(void) { fort_print = ergo_fort_print; fun_printf = ergo_fort_print; } static int dft_thread_count = -1; EXTERN_C int dft_get_num_threads(void) { if(dft_thread_count<0) { /* initialization needed */ char *env = getenv("OMP_NUM_THREADS"); if(env) { dft_thread_count=atoi(env); } else { /* try opening the /proc/cpuinfo file */ FILE *f = fopen("/proc/cpuinfo", "rt"); if(f) { char line[256]; dft_thread_count = 0; while(fgets(line, sizeof(line), f)) if(strncmp(line, "processor", 9) == 0) dft_thread_count++; fclose(f); } } if(dft_thread_count<=0) dft_thread_count = 1; fort_print("Default number of threads: %d\n", dft_thread_count); } return dft_thread_count; } EXTERN_C void dft_set_num_threads(int nThreads) { dft_thread_count = nThreads; } #if defined(_OLD_FORTRAN_COMPATIBLE_CODE_) int FSYM(dftsetfunc)(const char* line, int * inperr, int len) { int i, off; #if 0 fun_printf = fort_print; fun_set_hf_weight = dal_set_hf_weight; fun_get_hf_weight = dal_get_hf_weight; fun_set_cam_param = dal_set_cam_param; #else fun_set_hf_weight = dft_set_hf_weight; fun_get_hf_weight = dft_get_hf_weight; #endif for(i=len-1; i>=0 && isspace((int)line[i]); i--) ; if(DftConfString) free(DftConfString); i++; for(off=0; line[off] && isspace((int)line[off]); off++) ; DftConfString = (char*)malloc(i+1-off); strncpy(DftConfString, line+off, i-off); DftConfString[i-off] = '\0'; switch(fun_select_by_name(DftConfString)) { case FUN_OK: return 1; /* SUCCESS! */ case FUN_UNKNOWN: fun_printf("Unknown functional '%s'. Aborting.\n", DftConfString); dftlistfuncs_(); break; case FUN_CONF_ERROR: fun_printf("Functional configuration '%s' is not understood. " "Aborting.\n", DftConfString); break; } (*inperr)++; return 0; /* failed to find */ } #endif /* _OLD_FORTRAN_COMPATIBLE_CODE_ */ /* dft_setfunc: returns 1 on success and 0 on failure (unknown functional, etc.) */ int dft_setfunc(const char *line) { #if 0 fun_printf = fort_print; fun_set_hf_weight = dal_set_hf_weight; fun_get_hf_weight = dal_get_hf_weight; fun_set_cam_param = dal_set_cam_param; #else fun_set_hf_weight = dft_set_hf_weight; fun_get_hf_weight = dft_get_hf_weight; #endif switch(fun_select_by_name(line)) { case FUN_OK: return 1; /* SUCCESS! */ case FUN_UNKNOWN: fun_printf("Unknown functional '%s'. Aborting.\n", line); dftlistfuncs_(); break; case FUN_CONF_ERROR: fun_printf("Functional configuration '%s' is not understood. " "Aborting.\n", line); break; } return 0; /* failed to find */ } /** Return atom data. */ void ErgoMolInfo::getAtom(int icent, int *cnt, real (*coor)[3], int *charge, int *mult) const { *cnt = 1; /* one atom in the batch */ coor[0][0] = molecule.getAtom(icent).coords[0]; coor[0][1] = molecule.getAtom(icent).coords[1]; coor[0][2] = molecule.getAtom(icent).coords[2]; *charge = int( molecule.getAtom(icent).charge ); *mult = 1; /* no atom is multiplied by a symmetry factor */ } void ErgoMolInfo::setShellRadii(real *rshell) const { static const real facl[] = { 1.0, 1.33, 1.6, 1.83, 2.03, 2.22, 2.39, 2.55, 2.70, 2.84 }; real thlog = std::log(SET_SHELL_RADII_ORBITAL_THR); int ishela, iprim; for(ishela=0; ishela 0) { real r2 = (std::log(absCoeff)-thlog)/ currShell.exponentList[iprim]; if(rshell[ishela] ownShells; /**& activeShells, const Box& bb); ~ShellTree() { if(smaller) delete smaller; if(larger) delete larger; } void init(const BasisInfoStruct& bis_, const real *rShells_, const std::list& activeShells, const Box& bb); void getOverlappingWith(const real *center, real cellsz, std::map& res) const; }; struct Ball { ergo_real rad; ergo_real center[3]; ergo_real radius() const { return rad; } Ball() {} Ball(const ergo_real (&c)[3], ergo_real r) : rad(r) { center[0] = c[0]; center[1] = c[1]; center[2] = c[2]; } }; /** root node constructor. It does some initalization work and passes on the ball to the leave constructors. */ ShellTree::ShellTree(const BasisInfoStruct& bis_, const real *rShells) : shells(bis_.shellList), smaller(NULL), larger(NULL), maxRadius(0.0) { Box box; std::vector shellBalls(bis_.noOfShells); for(int i=0; i shells; for(int i=bis_.noOfShells-1; i>=0; i--) shells.push_front(i); init(bis_, rShells, shells, box); } /** Constructs the ShellTree. */ ShellTree::ShellTree(const BasisInfoStruct& bis_, const real *rShells, const std::list& activeShells, const Box& bb) : shells(bis_.shellList), smaller(NULL), larger(NULL), maxRadius(0.0) { init(bis_, rShells, activeShells, bb); } void ShellTree::init(const BasisInfoStruct& bis_, const real *rShells, const std::list& activeShells, const Box& bb) { /* When you go down with box size to this value, stop recursion, there is too little to win. */ static const ergo_real MIN_BOX_SIZE = 1.0; #if defined(DEBUG) printf("Puts %d shells in box (%f,%f,%f)-(%f,%f,%f)\n", activeShells.size(), bb.lo[0], bb.lo[1], bb.lo[2], bb.hi[0], bb.hi[1], bb.hi[2]); for(std::list::const_iterator i= activeShells.begin(); i != activeShells.end(); ++i) printf("%d ", *i); puts(""); #endif dividingDimension = bb.getMaxDim(); dividingValue = 0.5*(bb.hi[dividingDimension]+bb.lo[dividingDimension]); std::list lessThanList, greaterList; assert(!activeShells.empty()); if(activeShells.size() == 1 || bb.hi[dividingDimension]-bb.lo[dividingDimension] < MIN_BOX_SIZE) { for(std::list::const_iterator i = activeShells.begin(); i != activeShells.end(); ++i) { ownShells[*i] = rShells[*i]; if(rShells[*i]>maxRadius) maxRadius = rShells[*i]; } return; } /* Proceed with the recursion... */ for(std::list::const_iterator i = activeShells.begin(); i != activeShells.end(); ++i) { int shell = *i; /* Do the job here! */ if(shells[shell].centerCoords[dividingDimension]>dividingValue) greaterList.push_back(shell); else lessThanList.push_back(shell); } maxRadius = 0; if(!lessThanList.empty()) { Box box = bb; box.hi[dividingDimension] = dividingValue; smaller = new ShellTree(bis_, rShells, lessThanList, box); if(smaller->maxRadius > maxRadius) maxRadius = smaller->maxRadius; } if(!greaterList.empty()) { Box box = bb; box.lo[dividingDimension] = dividingValue; larger = new ShellTree(bis_, rShells, greaterList, box); if(larger->maxRadius > maxRadius) maxRadius = larger->maxRadius; } } /** Coomputes distance between two points, they do not need to be of the Vector3D type. In a way, we lose here some error checking. Perhaps it should be avoided. */ static inline ergo_real distance(const ergo_real *a, const ergo_real *b) { ergo_real r2 = 0; for(int i=0; i<3; i++) { ergo_real d = a[i]-b[i]; r2 += d*d; } return std::sqrt(r2); } void ShellTree::getOverlappingWith(const real *center, real cellsz, std::map& res) const { #if defined(DEBUG) static const char XYZ[] = "XYZ"; printf("Checking whether the box at %f %f %f (%f) is close to %c %f\n", center[0], center[1], center[2], cellsz, XYZ[dividingDimension], dividingValue); #endif if(smaller && center[dividingDimension]-cellsz < dividingValue +smaller->maxRadius) smaller->getOverlappingWith(center, cellsz, res); if(larger && center[dividingDimension]+cellsz > dividingValue - larger->maxRadius) larger->getOverlappingWith(center, cellsz, res); /* "This" node contains at least one shell overlapping with given node. We can however tighten up the selection using specified shell radii. */ for(std::map::const_iterator i= ownShells.begin(); i != ownShells.end(); ++i) { int shell = i->first; ergo_real r = i->second; ergo_real dist = distance(shells[shell].centerCoords, center); #if defined(DEBUG) printf("Shell %d dist %f radius: %f + %f = %f\n", shell, dist, r, cellsz, r + cellsz); #endif if(dist <= r + cellsz) res[shell] = shell; } } /** Ther standard constructor. */ ErgoMolInfo::ErgoMolInfo(const BasisInfoStruct& bis_, const Molecule& mol) : GridGenMolInfo(mol.getNoOfAtoms(),bis_.noOfBasisFuncs, bis_.noOfShells), bis(bis_), molecule(mol), shellTree(NULL) { ergo_real *rShell = new ergo_real[bis.noOfShells]; setShellRadii(rShell); shellTree = new ShellTree(bis_, rShell); delete []rShell; } ErgoMolInfo::~ErgoMolInfo() { if(shellTree) delete shellTree; } /** same as ergo_get_shlblocks, except it should scale NlogN. rshell is not used - we store this information in the tree. */ void ErgoMolInfo::getBlocks(const real *center, real cellsz, const real *rshell, int *nblcnt, int (*iblcks)[2]) const { std::map activeShellList; /* The factor 0.5*std::sqrt(3.0) does not fit here but is present for compatibility with the old code. */ shellTree->getOverlappingWith(center, cellsz *GET_BLOCKS_FUDGE_FACTOR, activeShellList); /* sort list and create the packed structure nblcnt, iblcks */ /* Not needed for maps... activeShellList.sort(); */ *nblcnt = -1; int iprev = -2; #if defined(DEBUG) printf("Following shell blocks were found to be active around\n" "%f %f %f of radius %f:\n", center[0], center[1], center[2], cellsz); #endif for(std::map::const_iterator i = activeShellList.begin(); i != activeShellList.end(); ++i) { #if defined(DEBUG) printf("%d (%d)\n", i->first, i->second); #endif if (i->first != iprev+1) /* if noncontinous */ iblcks[++(*nblcnt)][0] = i->first; iprev = i->first; iblcks[*nblcnt][1] = i->first+1; } (*nblcnt)++; #if defined(DEBUG) int (*refBlocks)[2] = new int[noOfShells][2]; int cnt; getBlocks1(center, cellsz, rshell, &cnt, refBlocks); if(*nblcnt != cnt) { printf("Compressed:\n"); for(int i=0; i<*nblcnt; i++) printf("%d:%d\n", iblcks[i][0], iblcks[i][1]); printf("Correct ones, compressed:\n"); for(int i=0; i lda) lda = l; } ++lda; *maxl = lda; *bascnt = (int*)calloc( lda*noOfAtoms, sizeof(int)); la = *aa = (real (*)[2])calloc(2*lda*noOfAtoms, sizeof(real)); /* init min exponents to largest possible exponent */ for(icent=0; icent la[idx][1]) la[idx][1] = an; } } } /** transform shell block indices to orbital block indices. IORIDX contains preprocessed information about where given shell begins and ends in given symmetry. */ void ergoShellsToOrbs(const int *nshlbl, const int (*shlblock)[2], int *norbbl, int (*orbblock)[2], const BasisInfoStruct& bis) /* INTEGER SHLBLOCK(2,NSHLBL), ORBBLOCK(2,NSHLBL,NSYM) INTEGER IORIDX(2,KMAX,NSYM), NORBBL(NSYM) */ { int ishbl; norbbl[0] = 0; for(ishbl=0; ishbl< *nshlbl; ishbl++) { const ShellSpecStruct& shellLo = bis.shellList[shlblock[ishbl][0]]; const ShellSpecStruct& shellHi = bis.shellList[shlblock[ishbl][1]-1]; orbblock[norbbl[0]][0] = shellLo.startIndexInMatrix; orbblock[norbbl[0]][1] = shellHi.startIndexInMatrix+ shellHi.noOfBasisFuncs; #if 0 printf("shell [%d %d] to orb [%d %d]\n", shlblock[ishbl][0], shlblock[ishbl][1]-1, orbblock[norbbl[0]][0], orbblock[norbbl[0]][1]); #endif norbbl[0]++; } } /* =================================================================== */ /* transformations of functional derivatives from from unrestricted * ones to closed shell case. */ real dftene_(const real *rho, const real *grad) { FunDensProp dp; dp.rhoa = dp.rhob = *rho *0.5; dp.grada = dp.gradb = *grad *0.5; dp.gradab = dp.grada*dp.gradb; return selected_func->func(&dp); } void dftptf0_(real *rho, real *grad, real *wght, real *vx) { FunFirstFuncDrv drvs; FunDensProp dp; dp.rhoa = dp.rhob = *rho *0.5; dp.grada = dp.gradb = *grad*0.5; if(dp.rhoa<1e-13) dp.rhoa = dp.rhob = 1e-13; if(dp.grada<1e-13) dp.grada = dp.gradb = 1e-13; dp.gradab = dp.grada*dp.gradb; drv1_clear(&drvs); selected_func->first(&drvs, *wght, &dp); vx[0] = drvs.df1000; vx[1] = drvs.df0010 + 0.5*drvs.df00001* (*grad); } void dftpot0_(FirstDrv *ds, const real* weight, const FunDensProp* dp) { FunFirstFuncDrv drvs; drv1_clear(&drvs); selected_func->first(&drvs, *weight, dp); ds->fR = drvs.df1000; ds->fZ = drvs.df0010 + 0.5*drvs.df00001* (dp->grada+dp->gradb); } void dftpot1_(SecondDrv *ds, const real* w, const FunDensProp* dp, const int* triplet) { FunSecondFuncDrv drvs; drv2_clear(&drvs); if(dp->rhoa + dp->rhob>1e-14) selected_func->second(&drvs, *w, dp); if (*triplet) { /* triplet */ ds->fZ = drvs.df0010; ds->fG = -0.5*drvs.df00001; ds->fRR = 0.5*(drvs.df2000 - drvs.df1100); ds->fRZ = 0.5*(drvs.df1010 - drvs.df1001); ds->fRG = 0.0; ds->fZZ = 0.5*(drvs.df0020 - drvs.df0011); ds->fZG = 0.0; ds->fGG = 0.0; } else { /* singlet */ ds->fR = 0.5*(drvs.df1000 + drvs.df0100); ds->fZ = drvs.df0010; ds->fRR = 0.5*(drvs.df2000 + drvs.df1100); ds->fRZ = 0.5*(drvs.df1010 + drvs.df1001); ds->fZZ = 0.5*(drvs.df0020 + drvs.df0011); ds->fRG = 0.5*drvs.df10001; ds->fZG = 0.5*drvs.df00101; ds->fGG = 0.25*drvs.df00002; ds->fG = 0.5*drvs.df00001; } } #if defined(_OLD_FORTRAN_COMPATIBLE_CODE_) /* dftpot2_: computes third order derivatives of selected functional with respect to rho and zeta=|\nabla\rho| */ void dftpot2_(ThirdDrv *ds, real factor, const FunDensProp* dp, int isgga, int triplet) { FunThirdFuncDrv drvs; drv3_clear(&drvs); selected_func->third(&drvs, factor, dp); /* transform to density from density_alpha derivatives below */ /* This could be a separate function. */ /* we treat singlet here */ ds->fR = (drvs.df1000); ds->fRR[0] = (drvs.df2000 + drvs.df1100); ds->fRR[1] = (drvs.df2000 - drvs.df1100); ds->fRRR[0] = (drvs.df3000 + 3*drvs.df2100); ds->fRRR[1] = (drvs.df3000 - drvs.df2100); if(isgga) { /* FORMULAE seem ok but were never really tested */ real grada = dp->grada; real grada2= grada*grada; real grada3= grada2*grada; /* transform to closed shell, second time. Oh, I love this mess. */ ds->fZ = drvs.df0010/(2*grada); ds->fG = drvs.df00001; ds->fZZ[0] = (drvs.df0020 + drvs.df0011)/(4*grada2) -drvs.df0010/(4*grada3); ds->fZZ[1] = (drvs.df0020 - drvs.df0011)/(4*grada2) -drvs.df0010/(4*grada3); ds->fRZ[0] = (drvs.df1010 + drvs.df1001)/(2*grada); ds->fRZ[1] = (drvs.df1010 - drvs.df1001)/(2*grada); ds->fRG[0] = 2*drvs.df10001; ds->fRG[1] = 0.0; ds->fRRZ[0][0] = (drvs.df2010+drvs.df2001+2*drvs.df1110)/(2*grada); ds->fRRZ[0][1] = (drvs.df2010+drvs.df2001-2*drvs.df1110)/(2*grada); ds->fRRZ[1][0] = (drvs.df2010-drvs.df2001)/(2*grada); ds->fRRZ[1][1] = ds->fRRZ[1][0]; ds->fRRG[0] = drvs.df20001+drvs.df11001; ds->fRRG[1] = drvs.df20001-drvs.df11001; ds->fRRGX[0][0] = 2*(drvs.df20001+drvs.df11001); ds->fRRGX[1][1] = 2*(drvs.df20001-drvs.df11001); ds->fRRGX[1][0] = ds->fRRGX[0][1] = 0; ds->fRZZ[0][0] = (drvs.df1020+drvs.df0120+2*drvs.df1011)/(4*grada2) - (drvs.df1010+drvs.df1001)/(4*grada3); ds->fRZZ[0][1] = (drvs.df1020+drvs.df0120-2*drvs.df1011)/(4*grada2) - (drvs.df1010+drvs.df1001)/(4*grada3); ds->fRZZ[1][0] = (drvs.df1020-drvs.df0120)/(4*grada2) - (drvs.df1010-drvs.df1001)/(4*grada3); ds->fRZZ[1][1] = ds->fRZZ[1][0]; ds->fZZZ[0] = ((drvs.df0030 + 3*drvs.df0021)/grada3 -3*(drvs.df0020 + drvs.df0011)/(grada2*grada2) +3*drvs.df0010/(grada3*grada2))/8.0; ds->fZZZ[1] = ((drvs.df0030 - drvs.df0021)/grada3 -(3*drvs.df0020 - drvs.df0011)/(grada2*grada2) +3*drvs.df0010/(grada3*grada2))/8.0; } else { ds->fZ = ds->fZZ[0] = ds->fZZ[1] = ds->fRZ[0] = ds->fRZ[1] = 0; ds->fRRZ[0][0] = ds->fRRZ[0][1] = ds->fRRZ[1][0] = 0; ds->fRRZ[1][1] = ds->fRZZ[0][0] = ds->fRZZ[0][1] = 0; ds->fRZZ[1][0] = ds->fRZZ[1][1] = ds->fZZZ[0] = ds->fZZZ[1] = 0; ds->fG = ds->fRG[0] = ds->fRG[1]= ds->fRRG[0] = ds->fRRG[1] = 0; ds->fRRGX[0][0] = ds->fRRGX[1][0] = ds->fRRGX[0][1] = ds->fRRGX[1][1] = 0; } } void dftpot3ab_(FourthDrv *ds, real *factor, const FunDensProp* dp, int *isgga) { FunFourthFuncDrv drvs; /* Initialize drvs */ drv4_clear(&drvs); selected_func->fourth(&drvs, *factor, dp); /* Transform derivatives (drvs -> ds) */ ds->fR = 0.5*(drvs.df1000 + drvs.df0100); ds->fRR = 0.25*(drvs.df2000 + 2.0*drvs.df1100 + drvs.df0200); ds->fRRR = 0.125*(drvs.df3000 + 3.0*drvs.df2100 + 3.0*drvs.df1200 + drvs.df0300); ds->fRRRR = 0.0625*(drvs.df4000 + 4.0*drvs.df3100 + 6.0*drvs.df2200 + 4.0*drvs.df1300 + drvs.df0400); if (*isgga) { real igroa, igrob; real igroa_p2, igrob_p2; real igroa_p3, igrob_p3; real igroa_p4, igrob_p4; real igroa_p5, igrob_p5; real igroa_p6, igrob_p6; real igroa_p7, igrob_p7; /* 1/groa, 1/grob and its powers */ igroa = 1.0/(dp->grada); igrob = 1.0/(dp->gradb); igroa_p2=igroa*igroa; igroa_p3=igroa_p2*igroa; igroa_p4=igroa_p3*igroa; igroa_p5=igroa_p4*igroa; igroa_p6=igroa_p5*igroa; igroa_p7=igroa_p6*igroa; igrob_p2=igrob*igrob; igrob_p3=igrob_p2*igrob; igrob_p4=igrob_p3*igrob; igrob_p5=igrob_p4*igrob; igrob_p6=igrob_p5*igrob; igrob_p7=igrob_p6*igrob; /* 1st order */ ds->fZ = 0.125*(igroa*drvs.df0010+2.0*drvs.df00001+igrob*drvs.df0001); /* 2nd order */ ds->fRZ = 0.0625*(2*drvs.df01001 + 2*drvs.df10001 + drvs.df0110*igroa +drvs.df1010*igroa + drvs.df0101*igrob + drvs.df1001*igrob); ds->fZZ = 0.015625*(4*drvs.df00002 + 4*drvs.df00101*igroa + drvs.df0020*igroa_p2 - drvs.df0010*igroa_p3 + 4*drvs.df00011*igrob + 2*drvs.df0011*igroa*igrob + drvs.df0002*igrob_p2 - drvs.df0001*igrob_p3); /* 3rd order */ ds->fRRZ = 0.03125*(2*drvs.df02001 + 4*drvs.df11001 + 2*drvs.df20001 + drvs.df0210*igroa + 2*drvs.df1110*igroa + drvs.df2010*igroa + drvs.df0201*igrob + 2*drvs.df1101*igrob + drvs.df2001*igrob); ds->fRZZ = 0.0078125*(4*drvs.df01002 + 4*drvs.df10002 + 4*drvs.df01101*igroa + 4*drvs.df10101*igroa + drvs.df0120*igroa_p2 + drvs.df1020*igroa_p2 - drvs.df0110*igroa_p3 - drvs.df1010*igroa_p3 + 4*drvs.df01011*igrob + 4*drvs.df10011*igrob + 2*drvs.df0111*igroa*igrob + 2*drvs.df1011*igroa*igrob + drvs.df0102*igrob_p2 + drvs.df1002*igrob_p2 - drvs.df0101*igrob_p3 - drvs.df1001*igrob_p3); ds->fZZZ = 0.001953125*(8*drvs.df00003 + 12*drvs.df00102*igroa + 6*drvs.df00201*igroa_p2 - 6*drvs.df00101*igroa_p3 + drvs.df0030*igroa_p3 - 3*drvs.df0020*igroa_p4 + 3*drvs.df0010*igroa_p5 + 12*drvs.df00012*igrob + 12*drvs.df00111*igroa*igrob +3*drvs.df0021*igroa_p2*igrob- 3*drvs.df0011*igroa_p3*igrob + 6*drvs.df00021*igrob_p2 + 3*drvs.df0012*igroa*igrob_p2 - 6*drvs.df00011*igrob_p3 + drvs.df0003*igrob_p3 - 3*drvs.df0011*igroa*igrob_p3 - 3*drvs.df0002*igrob_p4 + 3*drvs.df0001*igrob_p5); /* 4th order */ ds->fRRRZ = 0.015625*(2*drvs.df03001 + 6*drvs.df12001 + 6*drvs.df21001 + 2*drvs.df30001 + drvs.df0310*igroa + 3*drvs.df1210*igroa + 3*drvs.df2110*igroa + drvs.df3010*igroa + drvs.df0301*igrob + 3*drvs.df1201*igrob + 3*drvs.df2101*igrob + drvs.df3001*igrob); ds->fRRZZ = 0.00390625*(4*drvs.df02002 + 8*drvs.df11002 + 4*drvs.df20002 + 4*drvs.df02101*igroa + 8*drvs.df11101*igroa + 4*drvs.df20101*igroa + drvs.df0220*igroa_p2 + 2*drvs.df1120*igroa_p2 + drvs.df2020*igroa_p2 - drvs.df0210*igroa_p3 - 2*drvs.df1110*igroa_p3 - drvs.df2010*igroa_p3 + 4*drvs.df02011*igrob + 8*drvs.df11011*igrob + 4*drvs.df20011*igrob + 2*drvs.df0211*igroa*igrob + 4*drvs.df1111*igroa*igrob + 2*drvs.df2011*igroa*igrob + drvs.df0202*igrob_p2 + 2*drvs.df1102*igrob_p2 + drvs.df2002*igrob_p2 - drvs.df0201*igrob_p3 - 2*drvs.df1101*igrob_p3 - drvs.df2001*igrob_p3); ds->fRZZZ = 0.0009765625*(8*drvs.df01003 + 8*drvs.df10003 + 12*drvs.df01102*igroa + 12*drvs.df10102*igroa + 6*drvs.df01201*igroa_p2 + 6*drvs.df10201*igroa_p2 - 6*drvs.df01101*igroa_p3 + drvs.df0130*igroa_p3 - 6*drvs.df10101*igroa_p3 + drvs.df1030*igroa_p3 - 3*drvs.df0120*igroa_p4 - 3*drvs.df1020*igroa_p4 + 3*drvs.df0110*igroa_p5 + 3*drvs.df1010*igroa_p5 + 12*drvs.df01012*igrob + 12*drvs.df10012*igrob + 12*drvs.df01111*igroa*igrob + 12*drvs.df10111*igroa*igrob +3*drvs.df0121*igroa_p2*igrob+ 3*drvs.df1021*igroa_p2*igrob - 3*drvs.df0111*igroa_p3*igrob-3*drvs.df1011*igroa_p3*igrob+ 6*drvs.df01021*igrob_p2 + 6*drvs.df10021*igrob_p2 + 3*drvs.df0112*igroa*igrob_p2 + 3*drvs.df1012*igroa*igrob_p2 - 6*drvs.df01011*igrob_p3 + drvs.df0103*igrob_p3 - 6*drvs.df10011*igrob_p3 + drvs.df1003*igrob_p3 - 3*drvs.df0111*igroa*igrob_p3-3*drvs.df1011*igroa*igrob_p3- 3*drvs.df0102*igrob_p4 - 3*drvs.df1002*igrob_p4 + 3*drvs.df0101*igrob_p5 + 3*drvs.df1001*igrob_p5); ds->fZZZZ = (1.0/4096.0)*(16*drvs.df00004 + 32*drvs.df00103*igroa + 24*drvs.df00202*igroa_p2 - 24*drvs.df00102*igroa_p3 + 8*drvs.df00301*igroa_p3 - 24*drvs.df00201*igroa_p4 + drvs.df0040*igroa_p4 + 24*drvs.df00101*igroa_p5 - 6*drvs.df0030*igroa_p5 + 15*drvs.df0020*igroa_p6 - 15*drvs.df0010*igroa_p7 + 32*drvs.df00013*igrob + 48*drvs.df00112*igroa*igrob + 24*drvs.df00211*igroa_p2*igrob - 24*drvs.df00111*igroa_p3*igrob + 4*drvs.df0031*igroa_p3*igrob - 12*drvs.df0021*igroa_p4*igrob + 12*drvs.df0011*igroa_p5*igrob + 24*drvs.df00022*igrob_p2 + 24*drvs.df00121*igroa*igrob_p2+ 6*drvs.df0022*igroa_p2*igrob_p2 - 6*drvs.df0012*igroa_p3*igrob_p2 - 24*drvs.df00012*igrob_p3 + 8*drvs.df00031*igrob_p3 - 24*drvs.df00111*igroa*igrob_p3 + 4*drvs.df0013*igroa*igrob_p3 - 6*drvs.df0021*igroa_p2*igrob_p3 + 6*drvs.df0011*igroa_p3*igrob_p3 - 24*drvs.df00021*igrob_p4 + drvs.df0004*igrob_p4 - 12*drvs.df0012*igroa*igrob_p4 + 24*drvs.df00011*igrob_p5 - 6*drvs.df0003*igrob_p5 + 12*drvs.df0011*igroa*igrob_p5 + 15*drvs.df0002*igrob_p6 - 15*drvs.df0001*igrob_p7); } } #if 0 void daxpy_(const int* cnt, const real* alpha, const real* v1, const int* stride1, real* v2, const int* stride2) { int i; real a = *alpha; for(i= *cnt - 1; i>=0; i--) v2[i * *stride2] += a*v1[i* *stride1]; } #endif void dzero_(real* arr, const int* len) { int i; for(i= *len -1; i>=0; i--) arr[i] = 0; } #endif /* _OLD_FORTRAN_COMPATIBLE_CODE_ */ ergo-3.5/source/dft/cubature_rules.cc0000664000175000017500000003211512743400307014652 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include "cubature_rules.h" int use_cubature_rule(int maxlen, real (*coor)[3], real *weight, BoxStruct* box, int ruleNumber) { real volume, diff0, diff1, diff2; real c0, c1, c2, a, b; real currCoords[3]; int Ngrid, currIndex; int i, j, k, ii; real a0, a1, a2; volume = 1; for(i = 0; i < NO_OF_DIMENSIONS; i++) volume *= (box->max[i] - box->min[i]); switch(ruleNumber) { case 1: /* single point in center of box */ Ngrid = 1; if(Ngrid >= maxlen) throw std::runtime_error("error in use_cubature_rule: (Ngrid >= maxlen)"); for(i = 0; i < NO_OF_DIMENSIONS; i++) coor[0][i] = (box->max[i] + box->min[i]) / 2; weight[0] = volume; break; case 2: /* eight points towards corners of box */ Ngrid = 8; if(Ngrid >= maxlen) throw std::runtime_error("error in use_cubature_rule: (Ngrid >= maxlen)"); for(i = 0; i < Ngrid; i++) weight[i] = volume / 8; diff0 = box->max[0] - box->min[0]; diff1 = box->max[1] - box->min[1]; diff2 = box->max[2] - box->min[2]; currIndex = 0; for(i = 0; i < 2; i++) { currCoords[0] = box->min[0] + 0.25*diff0 + 0.5*diff0*i; for(j = 0; j < 2; j++) { currCoords[1] = box->min[1] + 0.25*diff1 + 0.5*diff1*i; for(k = 0; k < 2; k++) { currCoords[2] = box->min[2] + 0.25*diff2 + 0.5*diff2*i; for(ii = 0; ii < 3; ii++) { coor[currIndex][ii] = currCoords[ii]; } /* END FOR ii */ currIndex++; } /* END FOR k */ } /* END FOR j */ } /* END FOR i */ break; case 3: /* 14 point, degree 5 rule (Stroud 1971) */ Ngrid = 14; if(Ngrid >= maxlen) throw std::runtime_error("error in use_cubature_rule: (Ngrid >= maxlen)"); for(i = 0; i < 6; i++) weight[i] = volume * 0.88642659279778393 / 8; for(i = 6; i < 14; i++) weight[i] = volume * 0.33518005540166204 / 8; diff0 = box->max[0] - box->min[0]; diff1 = box->max[1] - box->min[1]; diff2 = box->max[2] - box->min[2]; c0 = (box->max[0] + box->min[0]) / 2; c1 = (box->max[1] + box->min[1]) / 2; c2 = (box->max[2] + box->min[2]) / 2; a = 0.79582242575422146 * 0.5; b = 0.75878691063932814 * 0.5; #define MACRO_3VECT(v,x,y,z) v[0]=x; v[1]=y; v[2]=z; MACRO_3VECT(coor[0], c0-a*diff0, c1, c2 ); MACRO_3VECT(coor[1], c0+a*diff0, c1, c2 ); MACRO_3VECT(coor[2], c0 , c1-a*diff1, c2 ); MACRO_3VECT(coor[3], c0 , c1+a*diff1, c2 ); MACRO_3VECT(coor[4], c0 , c1 , c2-a*diff2); MACRO_3VECT(coor[5], c0 , c1 , c2+a*diff2); MACRO_3VECT(coor[ 6], c0-b*diff0, c1-b*diff1, c2-b*diff2); MACRO_3VECT(coor[ 7], c0-b*diff0, c1-b*diff1, c2+b*diff2); MACRO_3VECT(coor[ 8], c0-b*diff0, c1+b*diff1, c2-b*diff2); MACRO_3VECT(coor[ 9], c0-b*diff0, c1+b*diff1, c2+b*diff2); MACRO_3VECT(coor[10], c0+b*diff0, c1-b*diff1, c2-b*diff2); MACRO_3VECT(coor[11], c0+b*diff0, c1-b*diff1, c2+b*diff2); MACRO_3VECT(coor[12], c0+b*diff0, c1+b*diff1, c2-b*diff2); MACRO_3VECT(coor[13], c0+b*diff0, c1+b*diff1, c2+b*diff2); break; case 4: /* 25 point, degree 5 rule (Stroud 1971) */ Ngrid = 25; if(Ngrid >= maxlen) throw std::runtime_error("error in use_cubature_rule: (Ngrid >= maxlen)"); weight[0] = volume * 1.6842105263157894 / 8; for(i = 1; i < 25; i++) weight[i] = volume * 0.26315789473684210 / 8; diff0 = box->max[0] - box->min[0]; diff1 = box->max[1] - box->min[1]; diff2 = box->max[2] - box->min[2]; c0 = (box->max[0] + box->min[0]) / 2; c1 = (box->max[1] + box->min[1]) / 2; c2 = (box->max[2] + box->min[2]) / 2; a = 0.47800981191507060 * 0.5; b = 0.89982215247931316 * 0.5; MACRO_3VECT(coor[0], c0, c1, c2); ii = 1; a0 = a; a1 = a; a2 = b; MACRO_3VECT(coor[ii], c0-a0*diff0, c1-a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1-a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1+a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1+a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1-a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1-a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1+a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1+a1*diff1, c2+a2*diff2); ii++; a0 = a; a1 = b; a2 = a; MACRO_3VECT(coor[ii], c0-a0*diff0, c1-a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1-a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1+a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1+a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1-a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1-a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1+a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1+a1*diff1, c2+a2*diff2); ii++; a0 = b; a1 = a; a2 = a; MACRO_3VECT(coor[ii], c0-a0*diff0, c1-a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1-a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1+a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1+a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1-a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1-a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1+a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1+a1*diff1, c2+a2*diff2); ii++; break; case 5: /* 27 point, degree 7 rule (Stroud 1971) */ Ngrid = 27; if(Ngrid >= maxlen) throw std::runtime_error("error in use_cubature_rule: (Ngrid >= maxlen)"); weight[0] = volume * 0.78807348274421057 / 8; for(i = 1; i < 7; i++) weight[i] = volume * 0.49936900230772032 / 8; for(i = 7; i < 19; i++) weight[i] = volume * 0.032303742334037395 / 8; for(i = 19; i < 27; i++) weight[i] = volume * 0.47850844942512734 / 8; diff0 = box->max[0] - box->min[0]; diff1 = box->max[1] - box->min[1]; diff2 = box->max[2] - box->min[2]; c0 = (box->max[0] + box->min[0]) / 2; c1 = (box->max[1] + box->min[1]) / 2; c2 = (box->max[2] + box->min[2]) / 2; MACRO_3VECT(coor[0], c0, c1, c2); a = 0.84841801147225245 * 0.5; ii = 1; MACRO_3VECT(coor[ii], c0-a*diff0, c1 , c2 ); ii++; MACRO_3VECT(coor[ii], c0+a*diff0, c1 , c2 ); ii++; MACRO_3VECT(coor[ii], c0 , c1-a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0 , c1+a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0 , c1 , c2-a*diff2); ii++; MACRO_3VECT(coor[ii], c0 , c1 , c2+a*diff2); ii++; a = 1.1064128986267175 * 0.5; MACRO_3VECT(coor[ii], c0-a*diff0, c1-a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0-a*diff0, c1+a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0+a*diff0, c1-a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0+a*diff0, c1+a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0-a*diff0, c1 , c2-a*diff2); ii++; MACRO_3VECT(coor[ii], c0-a*diff0, c1 , c2+a*diff2); ii++; MACRO_3VECT(coor[ii], c0+a*diff0, c1 , c2-a*diff2); ii++; MACRO_3VECT(coor[ii], c0+a*diff0, c1 , c2+a*diff2); ii++; MACRO_3VECT(coor[ii], c0 , c1-a*diff1, c2-a*diff2); ii++; MACRO_3VECT(coor[ii], c0 , c1-a*diff1, c2+a*diff2); ii++; MACRO_3VECT(coor[ii], c0 , c1+a*diff1, c2-a*diff2); ii++; MACRO_3VECT(coor[ii], c0 , c1+a*diff1, c2+a*diff2); ii++; a0 = a1 = a2 = 0.65281647210169120 * 0.5; MACRO_3VECT(coor[ii], c0-a0*diff0, c1-a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1-a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1+a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1+a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1-a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1-a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1+a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1+a1*diff1, c2+a2*diff2); ii++; break; case 6: /* 32 point, degree 7 rule (Beckers 1992) */ Ngrid = 32; if(Ngrid >= maxlen) throw std::runtime_error("error in use_cubature_rule: (Ngrid >= maxlen)"); for(i = 0; i < 6; i++) weight[i] = volume * 0.14098806933910446 / 8; for(i = 6; i < 12; i++) weight[i] = volume * 0.53332245896607639 / 8; for(i = 12; i < 24; i++) weight[i] = volume * 0.049451452995044458 / 8; for(i = 24; i < 32; i++) weight[i] = volume * 0.42008992427854766 / 8; diff0 = box->max[0] - box->min[0]; diff1 = box->max[1] - box->min[1]; diff2 = box->max[2] - box->min[2]; c0 = (box->max[0] + box->min[0]) / 2; c1 = (box->max[1] + box->min[1]) / 2; c2 = (box->max[2] + box->min[2]) / 2; ii = 0; a = 1.0 * 0.5; MACRO_3VECT(coor[ii], c0-a*diff0, c1 , c2 ); ii++; MACRO_3VECT(coor[ii], c0+a*diff0, c1 , c2 ); ii++; MACRO_3VECT(coor[ii], c0 , c1-a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0 , c1+a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0 , c1 , c2-a*diff2); ii++; MACRO_3VECT(coor[ii], c0 , c1 , c2+a*diff2); ii++; a = 0.66289786904352112 * 0.5; MACRO_3VECT(coor[ii], c0-a*diff0, c1 , c2 ); ii++; MACRO_3VECT(coor[ii], c0+a*diff0, c1 , c2 ); ii++; MACRO_3VECT(coor[ii], c0 , c1-a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0 , c1+a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0 , c1 , c2-a*diff2); ii++; MACRO_3VECT(coor[ii], c0 , c1 , c2+a*diff2); ii++; a = 1.0306143700994171 * 0.5; MACRO_3VECT(coor[ii], c0-a*diff0, c1-a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0-a*diff0, c1+a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0+a*diff0, c1-a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0+a*diff0, c1+a*diff1, c2 ); ii++; MACRO_3VECT(coor[ii], c0-a*diff0, c1 , c2-a*diff2); ii++; MACRO_3VECT(coor[ii], c0-a*diff0, c1 , c2+a*diff2); ii++; MACRO_3VECT(coor[ii], c0+a*diff0, c1 , c2-a*diff2); ii++; MACRO_3VECT(coor[ii], c0+a*diff0, c1 , c2+a*diff2); ii++; MACRO_3VECT(coor[ii], c0 , c1-a*diff1, c2-a*diff2); ii++; MACRO_3VECT(coor[ii], c0 , c1-a*diff1, c2+a*diff2); ii++; MACRO_3VECT(coor[ii], c0 , c1+a*diff1, c2-a*diff2); ii++; MACRO_3VECT(coor[ii], c0 , c1+a*diff1, c2+a*diff2); ii++; a0 = a1 = a2 = 0.66713797405746656 * 0.5; MACRO_3VECT(coor[ii], c0-a0*diff0, c1-a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1-a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1+a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0-a0*diff0, c1+a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1-a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1-a1*diff1, c2+a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1+a1*diff1, c2-a2*diff2); ii++; MACRO_3VECT(coor[ii], c0+a0*diff0, c1+a1*diff1, c2+a2*diff2); ii++; break; default: throw std::runtime_error("error: unknown cubature rule."); } /* END SWITCH */ /* real testSum = 0; for(i = 0; i < Ngrid; i++) testSum += weight[i]; printf("testSum = %22.11f\n", testSum); printf("volume = %22.11f\n\n", volume); */ return Ngrid; } /* END use_cubature_rule */ ergo-3.5/source/dft/grid_hicu.cc0000664000175000017500000030445312743400307013572 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* The multi-scale cartesian cubature grid generator. The original * implementation described in M. Challacombe, JCP 113(22), * p.10037. This one is modified wrt to the paper. * * Elias Rudberg, 2004-04 * * Modified by Elias in Feb-Apr 2010. */ #define __CVERSION__ #include #include #include #include #include #include #include #include #include "grid_hicu.h" #include "basisinfo.h" #include "integrals_general.h" #include "cubature_rules.h" #include "utilities.h" #include "pi.h" #include "box_system.h" #include "integrator.h" #include "functionals.h" #include "aos.h" #include "dft_common.h" #include "rho-mat.h" #include "units.h" static const int CUBATURE_RULE = 3; static const int CUBATURE_RULE_2 = 6; const real COORD_DIFF_FOR_SAMEPOINT_CRITERION = 1.0e-11; // FIXME! hard-coded constant here. const real DISTR_PRODUCT_THRESHOLD = 1e-12; // FIXME! hard-coded constant here. const real DENSITY_ACCURACY_COMPARISON_FACTOR = 10.0; // FIXME! hard-coded constant here. const real RELATIVE_DENSITY_VARIATION_LIMIT = 0.5; // FIXME! hard-coded constant here. /* Cutoff value used to decide which gaussian products should be ignored. A product with a lower coefficient than this will be thrown away. */ const real DISTR_COEFF_CUTOFF_VALUE = 1e-12; // FIXME! hard-coded constant here. /* FIXME: Descibe the meaning of this constant. */ const real TARGET_RHO_ERROR_FACTOR = 1e-4; /* flag for test integration. If turned on, the grid file is reopened after it has been created, and the density is integrated using the newly created grid. Just to check that it gives the same result as reported by the grid generation and by the dft integrator. */ //static int global_doTestIntegration = 0; /* Output level. 0 means minimum output, 1 means little output, 2 means a lot of output. */ //static int global_outputLevel = 1; /* Threshold value for distributions. A gaussian is ignored in areas where its value is below this threshold. A low value is computationally expensive. */ //static real global_targetRhoError = 1.0e-11; /* Main threshold error value for grid generation. The difference of analytical and numerical integrals is forced below this value. This is the most important parameter, and probably the only one that a typical user should worry about. */ //static real global_maxerror = 1.0e-7; pthread_mutex_t global_main_hicu_mutex = PTHREAD_MUTEX_INITIALIZER; #define USE_EXP_STD #define USE_ERF_STD #define DO_EXTRA_ERROR_CHECKING #define FILE_BATCH_N 1000000 #define MAX_NO_OF_POINTS_PER_BATCH 100 #define MAX_NO_OF_SHLBLOCKS 44444 #define EXPONENT_DIFF_LIMIT 1e-22 #define DISTR_CENTER_DIST_LIMIT 1e-22 #define N_BATCH_JOBS 22 #define MAX_NO_OF_POINTS_PER_WRITE 50000 #define HICU_SPARSE_MATRIX_ACCESS_ROUTINE at //#define HICU_SPARSE_MATRIX_ACCESS_ROUTINE at_safe const int HICU_GRID_PLOT_RESOLUTION = 50; /*//////////////////////////////////////////////////////////////////////// */ /*///////////////// typedef section //////////////////////////////////// */ /*//////////////////////////////////////////////////////////////////////// */ typedef struct { ShellSpecStruct s; real extent; } ShellSpecStructWithExtent; typedef struct { int noOfShells; ShellSpecStructWithExtent* shellList; int nbast; const Dft::Matrix* dmat; BasisFuncStruct* basisFuncList; int noOfDistributions; DistributionSpecStruct* distrList; } DensitySpecStruct; struct rhoTreeNode_{ BoxStruct box; struct rhoTreeNode_* child1; /* NULL for leaf node */ struct rhoTreeNode_* child2; /* NULL for leaf node */ int distrIndex; /* -1 for non-leaf node */ }; typedef struct rhoTreeNode_ rhoTreeNode; struct GridGenerationParamsStruct { real maxerrorPerBox; real targetRhoError; bool doDoubleChecking; bool compareToRefined; bool useEnergyCriterion; bool useEnergyCriterionOnly; bool useErrorPerVolume; bool doVariationChecking; GridGenerationParamsStruct() : maxerrorPerBox(0), /* Must be set later. */ targetRhoError(0), /* Must be set later. */ doDoubleChecking(false), compareToRefined(false), useEnergyCriterion(false), useEnergyCriterionOnly(false), useErrorPerVolume(false), doVariationChecking(false) { /* Constructor body. Do nothing here. */ } }; struct compute_grid_for_box_params_struct { const BasisInfoStruct& bis; DensitySpecStruct density; int noOfNonzeroBasisFuncs; int* nonZeroBasisFuncIndexList; int noOfNonzeroShells; int* nonZeroShellsIndexList; std::vector localFullDensityMatrix; GridGenerationParamsStruct gridGenerationParams; int nShlblocks; int (*listShlblocks_otherformat)[2]; DftIntegratorBl* dftIntegrator; real* dmagao; explicit compute_grid_for_box_params_struct(const BasisInfoStruct& bis_) : bis(bis_) { } }; typedef std::vector< std::vector< std::vector > > tripleVectorOfInt; struct ComputeGridResultValuesStruct { real totalIntegralResultNumerical; real totalIntegralResultAnalytical; real totalIntegralResultEnergy; real estimatedIntegralErrorEnergy; real estimatedIntegralErrorDensity; ComputeGridResultValuesStruct() : totalIntegralResultNumerical(0), totalIntegralResultAnalytical(0), totalIntegralResultEnergy(0), estimatedIntegralErrorEnergy(0), estimatedIntegralErrorDensity(0) { /* Constructor. Do nothing here. */ } }; struct compute_grid_thread_func_struct { const BasisInfoStruct& bis; DensitySpecStruct* density; rhoTreeNode* rhoTreeRootNode; rhoTreeNode* rhoTreeRootNodeShells; GridGenerationParamsStruct gridGenerationParams; FILE* gridFile; BoxStruct* startBox; int Nx; int Ny; int Nz; int maxNoOfRelevantDistrsPerBox; pthread_mutex_t* fileMutex; pthread_mutex_t* jobMutex; pthread_t thread; int* currJobNumber; int noOfPoints; /* OUTPUT */ int noOfWrittenBatches; /* OUTPUT */ ComputeGridResultValuesStruct resultValues; /* OUTPUT */ int threadNo; int resultCode; bool generateSparsePatternOnly; Dft::SparsePattern* sparsePattern; tripleVectorOfInt* counterArrForPlot; explicit compute_grid_thread_func_struct(const BasisInfoStruct& bis_) : bis(bis_) { } }; /*//////////////////////////////////////////////////////////////////////// */ /*///////////////// end of typedef section ///////////////////////////// */ /*//////////////////////////////////////////////////////////////////////// */ /* Solid harmonics based on the table 6.3 of Molecular * Electronic-Structure Theory by Helgaker, Jørgensen and Olsen. */ #define solid_harmonic_s_0(x, y, z, x2, y2, z2, r2) 1 /* Elias note: changed order here from 0 1 2 to 2 0 1 which seemed to help. */ #define solid_harmonic_p_2(x, y, z, x2, y2, z2, r2) x #define solid_harmonic_p_0(x, y, z, x2, y2, z2, r2) y #define solid_harmonic_p_1(x, y, z, x2, y2, z2, r2) z #define solid_harmonic_d_0(x, y, z, x2, y2, z2, r2) (x * y) #define solid_harmonic_d_1(x, y, z, x2, y2, z2, r2) (y * z) #define solid_harmonic_d_2(x, y, z, x2, y2, z2, r2) ((2 * z2 - x2 - y2) / (2 * std::sqrt((ergo_real)3))) #define solid_harmonic_d_3(x, y, z, x2, y2, z2, r2) (x * z) #define solid_harmonic_d_4(x, y, z, x2, y2, z2, r2) (0.5 * (x2 - y2)) #define solid_harmonic_f_0(x, y, z, x2, y2, z2, r2) ((0.5 * std::sqrt(2.5) * (3 * x2 - y2) * y) / std::sqrt((ergo_real)15)) #define solid_harmonic_f_1(x, y, z, x2, y2, z2, r2) (x * y * z) #define solid_harmonic_f_2(x, y, z, x2, y2, z2, r2) (0.5 * std::sqrt((ergo_real)1.5) * (5 * z2 - r2) * y / std::sqrt((ergo_real)15)) #define solid_harmonic_f_3(x, y, z, x2, y2, z2, r2) (0.5 * (5 * z2 - 3 * r2) * z / std::sqrt((ergo_real)15)) #define solid_harmonic_f_4(x, y, z, x2, y2, z2, r2) (0.5 * std::sqrt((ergo_real)1.5) * (5 * z2 - r2) * x / std::sqrt((ergo_real)15)) #define solid_harmonic_f_5(x, y, z, x2, y2, z2, r2) (0.5 * (x2 - y2) * z) #define solid_harmonic_f_6(x, y, z, x2, y2, z2, r2) (0.5 * std::sqrt((ergo_real)2.5) * (x2 - 3 * y2) * x / std::sqrt((ergo_real)15)) static void print_box(BoxStruct* box) { do_output(LOG_CAT_INFO, LOG_AREA_DFT, "print_box:"); for(int i = 0; i < NO_OF_DIMENSIONS; i++) { do_output(LOG_CAT_INFO, LOG_AREA_DFT, "min = %.11f max = %.11f", (double)box->min[i], (double)box->max[i]); } /* END FOR i */ } static void get_distribution_box(BoxStruct* box, DistributionSpecStruct* distr, real targetRhoError) { real targetError = targetRhoError; real arg = distr->coeff / targetError; if(arg < 0) arg *= -1; if(arg < 1e-30) throw std::runtime_error("error in get_distribution_box: (arg < 1e-30)."); real r1 = std::log(arg); if(r1 < 0) r1 *= -1; real extent = std::sqrt(r1 / distr->exponent); for(int i = 0; i < NO_OF_DIMENSIONS; i++) { box->min[i] = distr->centerCoords[i] - extent; box->max[i] = distr->centerCoords[i] + extent; } /* END FOR i */ } /* END get_distribution_box */ static void get_shell_box(BoxStruct* box, ShellSpecStructWithExtent* shell) { for(int i = 0; i < NO_OF_DIMENSIONS; i++) { box->min[i] = shell->s.centerCoords[i] - shell->extent; box->max[i] = shell->s.centerCoords[i] + shell->extent; } /* END FOR i */ } /* END get_shell_box */ #if 0 static real compute_density_at_point_simple(int n, DensitySpecStruct* density, const BasisInfoStruct & basisInfo, ergo_real x, ergo_real y, ergo_real z) { const Dft::Matrix* dmat = density->dmat; // first evaluate each basis function at the given point const int MAX_NO_OF_BASIS_FUNCS = 8888; if(n > MAX_NO_OF_BASIS_FUNCS) throw std::runtime_error("error: (n > MAX_NO_OF_BASIS_FUNCS)"); ergo_real basisFuncValues[MAX_NO_OF_BASIS_FUNCS]; for(int i = 0; i < n; i++) { ergo_real dx = x - basisInfo.basisFuncList[i].centerCoords[0]; ergo_real dy = y - basisInfo.basisFuncList[i].centerCoords[1]; ergo_real dz = z - basisInfo.basisFuncList[i].centerCoords[2]; ergo_real r2 = dx*dx + dy*dy + dz*dz; int nPrims = basisInfo.basisFuncList[i].noOfSimplePrimitives; int primIndex = basisInfo.basisFuncList[i].simplePrimitiveIndex; ergo_real sum = 0; for(int j = 0; j < nPrims; j++) { DistributionSpecStruct* currPrim = &basisInfo.simplePrimitiveList[primIndex + j]; ergo_real factor = 1; for(int k = 0; k < currPrim->monomialInts[0]; k++) factor *= dx; for(int k = 0; k < currPrim->monomialInts[1]; k++) factor *= dy; for(int k = 0; k < currPrim->monomialInts[2]; k++) factor *= dz; sum += currPrim->coeff * factor * std::exp(-currPrim->exponent*r2); } // END FOR j basisFuncValues[i] = sum; } // END FOR i ergo_real sum = 0; // diagonal part for(int i = 0; i < n; i++) sum += dmat->at(i, i) * basisFuncValues[i] * basisFuncValues[i]; // non-diagonal part for(int i = 0; i < n; i++) for(int j = i+1; j < n; j++) sum += 2 * dmat->at(i, j) * basisFuncValues[i] * basisFuncValues[j]; return sum; } #endif static real compute_value_at_point( DensitySpecStruct* density, int noOfNonzeroShells, int* nonZeroShellsIndexList, int noOfNonzeroBasFuncs, int* nonZeroBasFuncsIndexList, const real* localFullDensityMatrix, real (*coor)[3], real* workList) { ShellSpecStruct* currShell; int i, j, count; real expFactor, result, currivalue; real xdiff, ydiff, zdiff; real x0, y0, z0; real x2, y2, z2, r2; int nbast; nbast = density->nbast; // const Dft::Matrix* dmat = density->dmat; if(noOfNonzeroBasFuncs > nbast) throw std::runtime_error("error in compute_value_at_point: " "(noOfNonzeroBasFuncs > nbast)."); /* compute values of contracted distributions at given point */ count = 0; for(i = 0; i < noOfNonzeroShells; i++) { currShell = &density->shellList[nonZeroShellsIndexList[i]].s; x0 = currShell->centerCoords[0]; y0 = currShell->centerCoords[1]; z0 = currShell->centerCoords[2]; xdiff = coor[0][0] - x0; ydiff = coor[0][1] - y0; zdiff = coor[0][2] - z0; x2 = xdiff * xdiff; y2 = ydiff * ydiff; z2 = zdiff * zdiff; r2 = x2 + y2 + z2; /* compute expFactor (this is the same procedure for all shell types) */ expFactor = 0; for(j = 0; j < currShell->noOfContr; j++) expFactor += currShell->coeffList[j] * std::exp(-currShell->exponentList[j] * r2); /* OK, expFactor computed */ /* now there will be a different number of entries */ /* depending on shell type */ switch(currShell->shellType) { case 0: /* 's' type shell, 1 function */ workList[count] = expFactor * solid_harmonic_s_0(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; break; case 1: /* 'p' type shell, 3 functions */ workList[count] = expFactor * solid_harmonic_p_0(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; workList[count] = expFactor * solid_harmonic_p_1(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; workList[count] = expFactor * solid_harmonic_p_2(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; break; case 2: /* 'd' type shell, 5 functions */ workList[count] = expFactor * solid_harmonic_d_0(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; workList[count] = expFactor * solid_harmonic_d_1(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; workList[count] = expFactor * solid_harmonic_d_2(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; workList[count] = expFactor * solid_harmonic_d_3(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; workList[count] = expFactor * solid_harmonic_d_4(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; break; case 3: /* 'f' type shell, 7 functions */ workList[count] = expFactor * solid_harmonic_f_0(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; workList[count] = expFactor * solid_harmonic_f_1(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; workList[count] = expFactor * solid_harmonic_f_2(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; workList[count] = expFactor * solid_harmonic_f_3(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; workList[count] = expFactor * solid_harmonic_f_4(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; workList[count] = expFactor * solid_harmonic_f_5(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; workList[count] = expFactor * solid_harmonic_f_6(xdiff, ydiff, zdiff, x2, y2, z2, r2); count++; break; default: throw std::runtime_error("error in compute_value_at_point: " "only spdf type shells implemented"); } /* END SWITCH shellType */ } /* END FOR i (for each shell) */ if(count > nbast) throw std::runtime_error("error in compute_value_at_point: (count > nbast)."); /* now use density matrix to obtain final result */ result = 0; /* Diagonal part. */ for(i = 0; i < noOfNonzeroBasFuncs; i++) result += localFullDensityMatrix[i*noOfNonzeroBasFuncs+i] * workList[i] * workList[i]; /* Off-diagonal part. */ for(i = 0; i < noOfNonzeroBasFuncs; i++) { currivalue = workList[i]; for(j = i+1; j < noOfNonzeroBasFuncs; j++) result += 2 * localFullDensityMatrix[i*noOfNonzeroBasFuncs+j] * currivalue * workList[j]; } /* END FOR i */ return result; } /* END compute_value_at_point */ static real compute_integral_from_points(const BasisInfoStruct& bis, DensitySpecStruct* density, int noOfNonzeroShells, int* nonZeroShellsIndexList, int noOfNonzeroBasFuncs, int* nonZeroBasFuncsIndexList, const real* localFullDensityMatrix, int nPoints, real (*coor)[3], real* weight, real* workList, real & minValue, real & maxValue, real & maxAbsValue) { real sum = 0; for(int i = 0; i < nPoints; i++) { real value = compute_value_at_point(density, noOfNonzeroShells, nonZeroShellsIndexList, noOfNonzeroBasFuncs, nonZeroBasFuncsIndexList, localFullDensityMatrix, &coor[i], workList); if(i == 0) { minValue = maxValue = value; maxAbsValue = std::fabs(value); } if(value < minValue) minValue = value; if(value > maxValue) maxValue = value; if(std::fabs(value) > maxAbsValue) maxAbsValue = std::fabs(value); #if 0 if(i == 0) { // Verify value by computing in a differrent way. real value2 = compute_density_at_point_simple(bis.noOfBasisFuncs, density, bis, coor[i][0], coor[i][1], coor[i][2]); real tol = 1e-11; if(std::fabs(value - value2) > tol) throw "Error in compute_integral_from_points: (std::fabs(value - value2) > tol)."; } #endif sum += value * weight[i]; } /* END FOR i */ return sum; } /* END compute_integral_from_points */ #if 0 static float hicuErf(float a) { return erff(a); } static double hicuErf(double a) { return erf(a); } static long double hicuErf(long double a) { return erfl(a); } #endif template Treal hicuErf(Treal a) { throw "Error: hicuErf default implementation does not exist."; } template<> float hicuErf(float a) { return erff(a); } template<> double hicuErf(double a) { return erf(a); } // Need to check HAVE_ERFL here, otherwise cannot compile in Cygwin. #ifdef HAVE_ERFL template<> long double hicuErf(long double a) { return erfl(a); } #endif static real to_power(real x, int n) { real result = 1; for(int i = 0; i < n; i++) result *= x; return result; } static real compute_1d_gaussian_integral_recursive(real a, real b, int n, real alpha) { real result, sqrtalpha, term1, term2; real aToPowerNminus1, bToPowerNminus1; if(n == 0) { sqrtalpha = std::sqrt(alpha); result = std::sqrt(pi/(4*alpha)) * (hicuErf(sqrtalpha*b)-hicuErf(sqrtalpha*a)); return result; } if(n == 1) { result = -(1 / (2*alpha)) * (std::exp(-alpha*b*b) - std::exp(-alpha*a*a)); return result; } if(n < 0) throw std::runtime_error("error in 1dintegral: n < 0"); /* now we know that n >= 2 */ term1 = (n - 1) * compute_1d_gaussian_integral_recursive(a, b, n-2, alpha); aToPowerNminus1 = to_power(a, n-1); bToPowerNminus1 = to_power(b, n-1); term2 = bToPowerNminus1 * std::exp(-alpha*b*b) - aToPowerNminus1 * std::exp(-alpha*a*a); result = (term1 - term2) / (2 * alpha); /* return 0; */ return result; } /* END compute_1d_gaussian_integral_recursive */ static real compute_1d_gaussian_integral(real a, real b, int n, real alpha) { real result, sqrtalpha, term1, term2; // return compute_1d_gaussian_integral_recursive(a, b, n, alpha); result = 0; switch(n) { case 0: sqrtalpha = std::sqrt(alpha); result = std::sqrt(pi/(4*alpha)) * (hicuErf(sqrtalpha*b)-hicuErf(sqrtalpha*a)); break; case 1: result = -(1 / (2*alpha)) * (std::exp(-alpha*b*b) - std::exp(-alpha*a*a)); break; case 2: sqrtalpha = std::sqrt(alpha); term1 = std::sqrt(pi/(16*alpha*alpha*alpha)) * (hicuErf(sqrtalpha*b) - hicuErf(sqrtalpha*a)); term2 = -(1 / (2 * alpha)) * (b*std::exp(-alpha*b*b) - a*std::exp(-alpha*a*a)); result = term1 + term2; break; case 3: result = -(1 / (2*alpha*alpha)) * ((1+alpha*b*b)*std::exp(-alpha*b*b) - (1+alpha*a*a)*std::exp(-alpha*a*a)); break; default: return compute_1d_gaussian_integral_recursive(a, b, n, alpha); break; } /* END SWITCH n */ return result; } /* END compute_1d_gaussian_integral */ static real compute_integral_over_box(DistributionSpecStruct* distr, BoxStruct* box) { real result, a, b, alpha; int i, n; result = distr->coeff; alpha = distr->exponent; for(i = 0; i < NO_OF_DIMENSIONS; i++) { n = distr->monomialInts[i]; a = box->min[i] - distr->centerCoords[i]; b = box->max[i] - distr->centerCoords[i]; result *= compute_1d_gaussian_integral(a, b, n, alpha); } /* END FOR i */ return result; } /* END compute_integral_over_box */ static int get_rhotree_indexes_for_box(int* resultList, int resultListMaxCount, const rhoTreeNode* node, const BoxStruct* inputBoxPtr) { #define MAX_DEPTH 888 int n, i, overlap, currDepth; const rhoTreeNode* nodeList[MAX_DEPTH]; int statusList[MAX_DEPTH]; const rhoTreeNode* currNode; BoxStruct box; const BoxStruct* currBox; memcpy(&box, inputBoxPtr, sizeof(BoxStruct)); n = 0; currDepth = 0; nodeList[0] = node; statusList[0] = 0; while(currDepth >= 0) { if(statusList[currDepth] == 2) currDepth--; else { currNode = nodeList[currDepth]; currBox = &currNode->box; /* check for box overlap */ overlap = 1; for(i = 0; i < NO_OF_DIMENSIONS; i++) { if(currBox->min[i] > box.max[i]) overlap = 0; if(currBox->max[i] < box.min[i]) overlap = 0; } /* END FOR i */ if(overlap == 0) currDepth--; else { if(statusList[currDepth] == 0) { if(currNode->distrIndex >= 0) { if(resultList) { assert(n < resultListMaxCount); resultList[n] = currNode->distrIndex; } n++; currDepth--; } else { statusList[currDepth] = 1; currDepth++; statusList[currDepth] = 0; nodeList[currDepth] = currNode->child1; } } /* END IF status 0 */ else { /* status is 1 */ statusList[currDepth] = 2; currDepth++; statusList[currDepth] = 0; nodeList[currDepth] = currNode->child2; } /* END ELSE status 1 */ } } } /* END WHILE (currDepth >= 0) */ return n; } /* END get_rhotree_indexes_for_box */ static void callbackGga(DftIntegratorBl* grid, int bllen, real & energy) { FunDensProp dp = { 0 }; assert(grid->ntypso >0); for(int k = 0; k < bllen; k++) { real weight = grid->weight[grid->curr_point+k]; dp.grada = 0.5*std::sqrt(grid->g.grad[k][0]*grid->g.grad[k][0]+ grid->g.grad[k][1]*grid->g.grad[k][1]+ grid->g.grad[k][2]*grid->g.grad[k][2]); dp. rhoa = dp.rhob = 0.5*grid->r.rho[k]; dp.gradb = dp.grada; dp.gradab = dp.grada*dp.gradb; if(dp.rhoa>1e-14) { if(dp.grada<1e-35) dp.grada = 1e-35; energy += selected_func->func(&dp)*weight; } } } static void callbackLda(DftIntegratorBl *grid, int bllen, real & energy) { FunDensProp dp = { 0 }; assert(grid->ntypso >0); for(int k = 0; k < bllen; k++) { real weight = grid->weight[grid->curr_point+k]; dp.rhoa = dp. rhob = 0.5*grid->r.rho[k]; energy += selected_func->func(&dp)*weight; } } static void integrate_density_and_energy(const BasisInfoStruct& bis, DensitySpecStruct* density, DftIntegratorBl* integrator, real & electrons, real & energy, int noOfGridPoints, real (*coor)[3], real *weight, real* dmagao) { // Initialize integrator. for(int kk = 0; kk < noOfGridPoints; kk++) { for(int mm = 0; mm < 3; mm++) integrator->coor[kk][mm] = coor[kk][mm]; integrator->weight[kk] = weight[kk]; } int ipnt = 0; integrator->curr_point = ipnt; int len = noOfGridPoints; int nder = integrator->dogga ? 1 : 0; dft_get_orbs(len, integrator->atv, (real(*)[3]) &integrator->coor[ipnt][0], integrator->shl_bl_cnt, (int(*)[2]) &integrator->shlblocks[0][0], nder, bis); // const real** dmatFullPtr = NULL; int nbast = bis.noOfBasisFuncs; const Dft::Matrix *dens = density->dmat; if (dens->isSparse()) { if(integrator->dogga) getrho_blocked_gga(nbast, *dens->asSparse(), integrator->atv, integrator->bas_bl_cnt, integrator->basblocks, integrator->shl_bl_cnt, &dmagao[0], len, integrator->r.rho, integrator->g.rad.a); else getrho_blocked_lda(nbast, *dens->asSparse(), integrator->atv, integrator->bas_bl_cnt, integrator->basblocks, integrator->shl_bl_cnt, &dmagao[0], len, integrator->r.rho); } else { if(integrator->dogga) getrho_blocked_gga(nbast, dens->asFull(), integrator->atv, integrator->bas_bl_cnt, integrator->basblocks, integrator->shl_bl_cnt, &dmagao[0], len, integrator->r.rho, integrator->g.rad.a); else getrho_blocked_lda(nbast, dens->asFull(), integrator->atv, integrator->bas_bl_cnt, integrator->basblocks, integrator->shl_bl_cnt, &dmagao[0], len, integrator->r.rho); } for(int j=0; jweight[ipnt+j]*integrator->r.rho[j]; real energyTmp = 0; if(selected_func->is_gga()) callbackGga(integrator, len, energyTmp); else callbackLda(integrator, len, energyTmp); energy = energyTmp; } static int compute_grid_for_box(compute_grid_for_box_params_struct* params, int maxlen, real (*coor)[3], real *weight, BoxStruct* box, real analyticalIntegralValue, real* workList, ComputeGridResultValuesStruct & resultValues, bool resolutionIsOk) { #define MAX_NO_OF_TEST_POINTS 1000 int Ngrid; BoxStruct box1; BoxStruct box2; int bestcoord, nPoints1, nPoints2; real dist, maxdist, halfway; real IexactAbs; real analyticalIntegralBox1, analyticalIntegralBox2; real minDensityValue = 0; real maxDensityValue = 0; real maxDensityAbsValue = 0; int splitBox = 1; int noOfGridPoints = 0; bool resolutionIsOkForNextLevel = resolutionIsOk; // Compute box volume. ergo_real boxVolume = 1; for(int i = 0; i < NO_OF_DIMENSIONS; i++) boxVolume *= (box->max[i] - box->min[i]); ergo_real absErrorLimit = params->gridGenerationParams.maxerrorPerBox; if(params->gridGenerationParams.useErrorPerVolume) { // Modify absErrorLimit accordingly. absErrorLimit *= boxVolume; } real Iapprox = 0; // To be computed below. real Iexact = analyticalIntegralValue; real xcEnergy = 0; // To be computed below. real xcEnergyApproxError = 0; // To be computed below. real densityApproxError = 0; // To be computed below. if(params->gridGenerationParams.compareToRefined) { /* Create several different grids for comparison: first a rough grid where the cubature rule is only applied once for the whole box, then refined grids where the cubature rule is applied in (level)^3 sub-boxes. */ const int NLEVELSMAX = 4; real integralResultList_density[NLEVELSMAX]; /* We choose the number of levels depending on how close we are to the point when the density integral is itself already below threshold. */ int noOfLevels = 3; int resultLevelIndex = 0; if(Iexact < absErrorLimit) noOfLevels = 1; else if(Iexact < absErrorLimit*10 && noOfLevels > 2) noOfLevels = 2; else if(Iexact < absErrorLimit*100 && noOfLevels > 3) noOfLevels = 3; if(resolutionIsOk && noOfLevels > 2) noOfLevels = 2; real integralResultList_energy [NLEVELSMAX]; for(int levelIdx = 0; levelIdx < noOfLevels; levelIdx++) { real tmpCoor[MAX_NO_OF_TEST_POINTS][3]; real tmpWeight[MAX_NO_OF_TEST_POINTS]; int nBoxesPerDim = levelIdx+1; integralResultList_density[levelIdx] = 0; integralResultList_energy [levelIdx] = 0; int count = 0; for(int ix = 0; ix < nBoxesPerDim; ix++) for(int iy = 0; iy < nBoxesPerDim; iy++) for(int iz = 0; iz < nBoxesPerDim; iz++) { BoxStruct boxTmp; boxTmp.min[0] = box->min[0] + (ix+0) * (box->max[0] - box->min[0]) / nBoxesPerDim; boxTmp.max[0] = box->min[0] + (ix+1) * (box->max[0] - box->min[0]) / nBoxesPerDim; boxTmp.min[1] = box->min[1] + (iy+0) * (box->max[1] - box->min[1]) / nBoxesPerDim; boxTmp.max[1] = box->min[1] + (iy+1) * (box->max[1] - box->min[1]) / nBoxesPerDim; boxTmp.min[2] = box->min[2] + (iz+0) * (box->max[2] - box->min[2]) / nBoxesPerDim; boxTmp.max[2] = box->min[2] + (iz+1) * (box->max[2] - box->min[2]) / nBoxesPerDim; int nTmp = use_cubature_rule(MAX_NO_OF_TEST_POINTS-count, &tmpCoor[count], &tmpWeight[count], &boxTmp, CUBATURE_RULE); if(nTmp <= 0) throw std::runtime_error("error in use_cubature_rule."); real electronsTmp = 0; real energyTmp = 0; integrate_density_and_energy(params->bis, ¶ms->density, params->dftIntegrator, electronsTmp, energyTmp, nTmp, &tmpCoor[count], &tmpWeight[count], params->dmagao); integralResultList_density[levelIdx] += electronsTmp; integralResultList_energy [levelIdx] += energyTmp; count += nTmp; } if(levelIdx == resultLevelIndex) { if(count > maxlen) throw std::runtime_error("error in compute_grid_for_box: (count > maxlen)."); for(int i = 0; i < count; i++) { for(int k = 0; k < 3; k++) coor[i][k] = tmpCoor[i][k]; weight[i] = tmpWeight[i]; } noOfGridPoints = count; Iapprox = integralResultList_density[levelIdx]; xcEnergy = integralResultList_energy[levelIdx]; } } // Compute errors in density integrals by comparing to analytical value. real integralErrors_density[NLEVELSMAX]; for(int levelIdx = 0; levelIdx < noOfLevels; levelIdx++) integralErrors_density[levelIdx] = std::fabs(integralResultList_density[levelIdx] - analyticalIntegralValue); // Compute errors in energy integrals by comparing to most accurate value. real integralErrors_energy[NLEVELSMAX]; for(int levelIdx = 0; levelIdx < NLEVELSMAX; levelIdx++) integralErrors_energy[levelIdx] = 0; for(int levelIdx = 0; levelIdx < noOfLevels-1; levelIdx++) { integralErrors_energy[levelIdx] = std::fabs(integralResultList_energy[levelIdx] - integralResultList_energy[noOfLevels-1]); // printf("integralErrors_energy[levelIdx] = %33.22f\n", integralErrors_energy[levelIdx]); } // Compute improvement factors; real improvementFactorList_density[NLEVELSMAX-1]; for(int levelIdx = 0; levelIdx < NLEVELSMAX-1; levelIdx++) improvementFactorList_density[levelIdx] = 0; for(int levelIdx = 0; levelIdx < noOfLevels-1; levelIdx++) improvementFactorList_density[levelIdx] = integralErrors_density[levelIdx] / integralErrors_density[levelIdx+1]; real improvementFactorList_energy [NLEVELSMAX-2]; for(int levelIdx = 0; levelIdx < NLEVELSMAX-2; levelIdx++) improvementFactorList_energy[levelIdx] = 0; for(int levelIdx = 0; levelIdx < noOfLevels-2; levelIdx++) improvementFactorList_energy[levelIdx] = integralErrors_energy[levelIdx] / integralErrors_energy[levelIdx+1]; ergo_real expectedErrorFromDensityEvaluations = noOfGridPoints * params->gridGenerationParams.targetRhoError * boxVolume; #if 0 printf("resolutionIsOk = %d\n", (int)resolutionIsOk); printf("Improvement factors, density: "); for(int levelIdx = 0; levelIdx < noOfLevels-1; levelIdx++) printf("%6.2f ", improvementFactorList_density[levelIdx]); printf(" energy: "); for(int levelIdx = 0; levelIdx < noOfLevels-2; levelIdx++) printf("%6.2f ", improvementFactorList_energy[levelIdx]); printf("\n"); printf("integralErrors_density[resultLevelIndex] = %33.22f\n", integralErrors_density[resultLevelIndex]); printf("expectedErrorFromDensityEvaluations = %33.22f\n", expectedErrorFromDensityEvaluations); printf("integralErrors_energy[resultLevelIndex] = %33.22f\n", integralErrors_energy[resultLevelIndex]); printf("absErrorLimit = %33.22f\n", absErrorLimit); printf("Iexact = %33.22f\n", Iexact); #endif ergo_real expectedImprovementFactors[5]; expectedImprovementFactors[0] = 64.00; expectedImprovementFactors[1] = 11.39; expectedImprovementFactors[2] = 5.62; expectedImprovementFactors[3] = 3.81; expectedImprovementFactors[4] = 2.99; if(noOfLevels > 5) throw std::runtime_error("Error: (noOfLevels > 5)."); densityApproxError = integralErrors_density[resultLevelIndex]; xcEnergyApproxError = integralErrors_energy[resultLevelIndex]; // TODO: use some clever splitBox criterion here. splitBox = 0; if(params->gridGenerationParams.useEnergyCriterionOnly == false) { if(densityApproxError > absErrorLimit) splitBox = 1; } if(params->gridGenerationParams.useEnergyCriterion) { if(xcEnergyApproxError > absErrorLimit) splitBox = 1; } if(!resolutionIsOk) { // Also check that all improvement factors are reasonably near expected values. resolutionIsOkForNextLevel = true; if(params->gridGenerationParams.useEnergyCriterionOnly == false) { for(int levelIdx = 0; levelIdx < noOfLevels-1; levelIdx++) { if(improvementFactorList_density[levelIdx] < expectedImprovementFactors[levelIdx]*0.5) resolutionIsOkForNextLevel = false; } } if(params->gridGenerationParams.useEnergyCriterion) { for(int levelIdx = 0; levelIdx < noOfLevels-2; levelIdx++) { if(improvementFactorList_energy[levelIdx] < expectedImprovementFactors[levelIdx]*0.5) resolutionIsOkForNextLevel = false; } } if(!resolutionIsOkForNextLevel) splitBox = 1; } if(params->gridGenerationParams.useEnergyCriterionOnly == false) { /* If the integral value is itself below the error limit, we are happy. This happens for example if the integral is completely zero, then it makes no sense to compare different cubature rules. */ if(Iexact < absErrorLimit) splitBox = 0; /* If the expected error from the numerical evaluation of the density is comparable to the integral error, there is no point in dividing box further. */ if(integralErrors_density[resultLevelIndex] < expectedErrorFromDensityEvaluations*2) splitBox = 0; } /* If the computed errors on all levels are well below the threshold, we are happy. */ bool allErrorsWellBelowThreshold = true; if(params->gridGenerationParams.useEnergyCriterionOnly == false) { for(int levelIdx = 0; levelIdx < noOfLevels; levelIdx++) { if(integralErrors_density[levelIdx] > absErrorLimit/100) allErrorsWellBelowThreshold = false; } } if(params->gridGenerationParams.useEnergyCriterion) { for(int levelIdx = 0; levelIdx < noOfLevels-1; levelIdx++) { if(integralErrors_energy[levelIdx] > absErrorLimit/100) allErrorsWellBelowThreshold = false; } } if(allErrorsWellBelowThreshold) splitBox = 0; // printf("splitBox = %d\n\n", splitBox); } else { // old version /* Define Ngrid points inside box, with corresponding weights */ /* this is where the 'cubature rule' is used */ Ngrid = use_cubature_rule(maxlen, coor, weight, box, CUBATURE_RULE); if(Ngrid <= 0) throw std::runtime_error("error in use_cubature_rule."); noOfGridPoints = Ngrid; Iapprox = compute_integral_from_points(params->bis, ¶ms->density, params->noOfNonzeroShells, params->nonZeroShellsIndexList, params->noOfNonzeroBasisFuncs, params->nonZeroBasisFuncIndexList, ¶ms->localFullDensityMatrix[0], Ngrid, &coor[0], weight, workList, minDensityValue, maxDensityValue, maxDensityAbsValue); IexactAbs = Iexact; if(IexactAbs < 0) IexactAbs *= -1; /* compute absolute error */ densityApproxError = std::fabs(Iexact - Iapprox); /* check if error is too large */ splitBox = 1; #if 0 /* It may happen that the box is now so small that the absErrorLimit is so small that it approaches the accuracy with which we can compute the density (targetRhoError). In that case there is no point in using such a small absErrorLimit; we then set it to a value we can handle. */ if(absErrorLimit < params->targetRhoError*DENSITY_ACCURACY_COMPARISON_FACTOR) absErrorLimit = params->targetRhoError*DENSITY_ACCURACY_COMPARISON_FACTOR; #endif /* If the integral value is itself below the error limit, we are happy. This happens for example if the integral is completely zero, then it makes no sense to compare different cubature rules. */ if(Iexact < absErrorLimit) splitBox = 0; if((splitBox == 1) && (densityApproxError < absErrorLimit)) { if(params->gridGenerationParams.doDoubleChecking) { /* it seems that the error is small enough. */ /* however, this could be a coincidence. */ /* to check, compare with denser grid */ real testCoor[MAX_NO_OF_TEST_POINTS][3]; real testWeight[MAX_NO_OF_TEST_POINTS]; real testIapprox; int Ngrid2; Ngrid2 = use_cubature_rule(MAX_NO_OF_TEST_POINTS, testCoor, testWeight, box, CUBATURE_RULE_2); if(Ngrid2 <= 0) throw std::runtime_error("error in use_cubature_rule"); real minValueDummy = 0, maxValueDummy = 0, maxAbsValueDummy = 0; testIapprox = compute_integral_from_points(params->bis, ¶ms->density, params->noOfNonzeroShells, params->nonZeroShellsIndexList, params->noOfNonzeroBasisFuncs, params->nonZeroBasisFuncIndexList, ¶ms->localFullDensityMatrix[0], Ngrid2, &testCoor[0], testWeight, workList, minValueDummy, maxValueDummy, maxAbsValueDummy); real testAbsError = std::fabs(Iexact - testIapprox); /* We demand that the denser grid should also work. */ if(testAbsError < absErrorLimit) splitBox = 0; } else splitBox = 0; } if(splitBox == 0 && Iexact > absErrorLimit*2 && params->gridGenerationParams.doVariationChecking) { /* Check that variation of density is not too large. */ real diff = maxDensityValue - minDensityValue; real relativeVariation = diff / maxDensityAbsValue; if(relativeVariation > RELATIVE_DENSITY_VARIATION_LIMIT) splitBox = 1; } } // end else old version if(splitBox == 1) { /* error too large, split box into box1 and box2 */ /* first determine in which coordinate direction to do the split */ maxdist = 0; bestcoord = -1; for(int i = 0; i < NO_OF_DIMENSIONS; i++) { dist = box->max[i] - box->min[i]; if(dist > maxdist) { maxdist = dist; bestcoord = i; } } /* END FOR i */ if(bestcoord < 0) throw std::runtime_error("error in compute_grid_for_box: (bestcoord < 0)."); /* now create new boxes box1 and box2 */ for(int i = 0; i < NO_OF_DIMENSIONS; i++) { if(i == bestcoord) { /* direction of split */ halfway = (box->max[i] + box->min[i]) / 2; box1.min[i] = box->min[i]; box1.max[i] = halfway; box2.min[i] = halfway; box2.max[i] = box->max[i]; } else { /* other direction, simply copy bounds */ box1.min[i] = box->min[i]; box1.max[i] = box->max[i]; box2.min[i] = box->min[i]; box2.max[i] = box->max[i]; } } /* END FOR i */ /* now boxes box1 and box2 are now created */ analyticalIntegralBox1 = 0; for(int i = 0; i < params->density.noOfDistributions; i++) analyticalIntegralBox1 += compute_integral_over_box(¶ms->density.distrList[i], &box1); #if 1 analyticalIntegralBox2 = analyticalIntegralValue - analyticalIntegralBox1; #else analyticalIntegralBox2 = 0; for(i = 0; i < params->density.noOfDistributions; i++) analyticalIntegralBox2 += compute_integral_over_box(¶ms->density.distrList[i], &box2); #endif /* create grid points for box1 */ nPoints1 = compute_grid_for_box(params, maxlen, coor, weight, &box1, analyticalIntegralBox1, workList, resultValues, resolutionIsOkForNextLevel); if(nPoints1 < 0) throw std::runtime_error("error in compute_grid_for_box: (nPoints1 < 0)."); /* create grid points for box2 */ nPoints2 = compute_grid_for_box(params, maxlen-nPoints1, &coor[nPoints1], &weight[nPoints1], &box2, analyticalIntegralBox2, workList, resultValues, resolutionIsOkForNextLevel); if(nPoints2 < 0) throw std::runtime_error("error in compute_grid_for_box: (nPoints2 < 0)."); noOfGridPoints = nPoints1 + nPoints2; } /* END IF error too large */ else { /* error acceptable, */ /* the computed grid points for this box are good enough. */ /* do nothing more, just return the number of points */ resultValues.totalIntegralResultNumerical += Iapprox; resultValues.totalIntegralResultAnalytical += analyticalIntegralValue; resultValues.totalIntegralResultEnergy += xcEnergy; resultValues.estimatedIntegralErrorEnergy += xcEnergyApproxError; resultValues.estimatedIntegralErrorDensity += densityApproxError; } return noOfGridPoints; } /* END compute_grid_for_box */ static rhoTreeNode* BuildRhoTreeBranch(int noOfDistributionsTot, DistributionSpecStruct* rho_alt_1, ShellSpecStructWithExtent* rho_alt_2, int distrIndexListN, int* distrIndexList, real targetRhoError) { int n1, n2, bestCoord; real currCoord, currDiff, maxDiff, extent1, extent2, testCoord; int tempInt; if(distrIndexListN < 1) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error in BuildRhoTreeBranch: (distrIndexListN < 1), " "distrIndexListN = %i", distrIndexListN); return NULL; } rhoTreeNode* newNode = new rhoTreeNode; /* compute bounding box for this node */ if(rho_alt_1 != NULL) get_distribution_box(&newNode->box, &rho_alt_1[distrIndexList[0]], targetRhoError); else get_shell_box(&newNode->box, &rho_alt_2[distrIndexList[0]]); BoxStruct tempBox; for(int i = 1; i < distrIndexListN; i++) { if(rho_alt_1 != NULL) get_distribution_box(&tempBox, &rho_alt_1[distrIndexList[i]], targetRhoError); else get_shell_box(&tempBox, &rho_alt_2[distrIndexList[i]]); for(int j = 0; j < NO_OF_DIMENSIONS; j++) { if(tempBox.min[j] < newNode->box.min[j]) newNode->box.min[j] = tempBox.min[j]; if(tempBox.max[j] > newNode->box.max[j]) newNode->box.max[j] = tempBox.max[j]; } /* END FOR j */ } /* END FOR i */ /* check if only one distr */ if(distrIndexListN == 1) { /* OK, this becomes a leaf node */ newNode->child1 = NULL; newNode->child2 = NULL; newNode->distrIndex = distrIndexList[0]; return newNode; } /* There is more than one distribution */ /* Get box that encloses all distributions */ for(int i = 0; i < NO_OF_DIMENSIONS; i++) { if(rho_alt_1 != NULL) { tempBox.min[i] = rho_alt_1[distrIndexList[0]].centerCoords[i]; tempBox.max[i] = rho_alt_1[distrIndexList[0]].centerCoords[i]; } else { tempBox.min[i] = rho_alt_2[distrIndexList[0]].s.centerCoords[i]; tempBox.max[i] = rho_alt_2[distrIndexList[0]].s.centerCoords[i]; } } /* END FOR i */ for(int i = 1; i < distrIndexListN; i++) { for(int j = 0; j < NO_OF_DIMENSIONS; j++) { if(rho_alt_1 != NULL) currCoord = rho_alt_1[distrIndexList[i]].centerCoords[j]; else currCoord = rho_alt_2[distrIndexList[i]].s.centerCoords[j]; if(tempBox.min[j] > currCoord) tempBox.min[j] = currCoord; if(tempBox.max[j] < currCoord) tempBox.max[j] = currCoord; } /* END FOR j */ } /* END FOR i */ /* check if all distrs are at the same point */ bestCoord = -1; maxDiff = 0; for(int i = 0; i < NO_OF_DIMENSIONS; i++) { currDiff = tempBox.max[i] - tempBox.min[i]; if(currDiff > maxDiff) { bestCoord = i; maxDiff = currDiff; } } /* END FOR i */ bool samePoint = false; if(bestCoord < 0) samePoint = true; else { if(maxDiff > COORD_DIFF_FOR_SAMEPOINT_CRITERION) { samePoint = false; } else samePoint = true; } if(samePoint) { /* all distrs are at the same point */ /* sort by extent */ /* bubble sort (this could be optimized) */ for(int i = 0; i < (distrIndexListN-1); i++) { for(int j = 0; j < (distrIndexListN-1-i); j++) { if(rho_alt_1 != NULL) { extent1 = rho_alt_1[distrIndexList[j]].extent; extent2 = rho_alt_1[distrIndexList[j+1]].extent; } else { extent1 = rho_alt_2[distrIndexList[j]].extent; extent2 = rho_alt_2[distrIndexList[j+1]].extent; } if(extent1 > extent2) { /* do switch */ tempInt = distrIndexList[j]; distrIndexList[j] = distrIndexList[j+1]; distrIndexList[j+1] = tempInt; } /* END IF SWITCH */ } /* END FOR j bubble sort */ } /* END FOR i bubble sort */ /* check sort */ for(int i = 0; i < (distrIndexListN-1); i++) { if(rho_alt_1 != NULL) { extent1 = rho_alt_1[distrIndexList[i]].extent; extent2 = rho_alt_1[distrIndexList[i+1]].extent; } else { extent1 = rho_alt_2[distrIndexList[i]].extent; extent2 = rho_alt_2[distrIndexList[i+1]].extent; } if(extent1 > extent2) throw std::runtime_error("error in BuildRhoTreeBranch: list not sorted."); } /* END FOR i check sort */ /* create 2 new boxes: small extent and large extent */ n1 = distrIndexListN / 2; n2 = distrIndexListN - n1; } else { /* all distrs are NOT at the same point */ /* Compute limit as midpoint between min and max for bestCoord, try to avoid rounding errors. */ real tmpDiff = tempBox.max[bestCoord] - tempBox.min[bestCoord]; real limit = tempBox.min[bestCoord] + tmpDiff / 2; std::vector tempList(distrIndexListN); n1 = 0; n2 = 0; for(int i = 0; i < distrIndexListN; i++) { if(rho_alt_1 != NULL) testCoord = rho_alt_1[distrIndexList[i]].centerCoords[bestCoord]; else testCoord = rho_alt_2[distrIndexList[i]].s.centerCoords[bestCoord]; if(testCoord > limit) { tempList[n1] = distrIndexList[i]; n1++; } else { tempList[distrIndexListN-1-n2] = distrIndexList[i]; n2++; } } /* END FOR i */ if((n1 == 0) || (n2 == 0)) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error in BuildRhoTreeBranch (after split): " "n1 = %i, n2 = %i\n", n1, n2); do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "maxDiff = %33.22f = %6.3g", (double)maxDiff, (double)maxDiff); do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "distrIndexListN = %d", distrIndexListN); return NULL; } memcpy(distrIndexList, &tempList[0], distrIndexListN * sizeof(int)); } if((n1 == 0) || (n2 == 0)) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error in BuildRhoTreeBranch: n1 = %i, n2 = %i\n", n1, n2); return NULL; } rhoTreeNode* child1 = BuildRhoTreeBranch(noOfDistributionsTot, rho_alt_1, rho_alt_2, n1, distrIndexList, targetRhoError); if(child1 == NULL) return NULL; rhoTreeNode* child2 = BuildRhoTreeBranch(noOfDistributionsTot, rho_alt_1, rho_alt_2, n2, distrIndexList + n1, targetRhoError); if(child2 == NULL) return NULL; newNode->child1 = child1; newNode->child2 = child2; newNode->distrIndex = -1; return newNode; } /* END */ static rhoTreeNode* BuildRhoTree(int noOfDistributions, DistributionSpecStruct* rho_alt_1, ShellSpecStructWithExtent* rho_alt_2, real targetRhoError) { rhoTreeNode* rootNode; int i; real targetError, arg, r1; DistributionSpecStruct* distr; if(rho_alt_1 != NULL) { /* compute extent for each distribution in list */ for(i = 0; i < noOfDistributions; i++) { distr = &rho_alt_1[i]; targetError = distr->coeff / 1e20; arg = distr->coeff / targetError; r1 = std::log(arg); if(r1 < 0) r1 *= -1; distr->extent = std::sqrt(r1 / distr->exponent); } /* END FOR i */ } /* set up initial index list: all distributions included */ std::vector distrIndexList(noOfDistributions); for(i = 0; i < noOfDistributions; i++) distrIndexList[i] = i; rootNode = BuildRhoTreeBranch(noOfDistributions, rho_alt_1, rho_alt_2, noOfDistributions, &distrIndexList[0], targetRhoError); if(rootNode == NULL) throw std::runtime_error("error in BuildRhoTreeBranch."); return rootNode; } /* END BuildRhoTree */ static void free_rho_tree_memory(rhoTreeNode* rootNode) { rhoTreeNode* child1; rhoTreeNode* child2; child1 = rootNode->child1; child2 = rootNode->child2; if(child1 != NULL) free_rho_tree_memory(child1); if(child2 != NULL) free_rho_tree_memory(child2); delete rootNode; } /* END free_rho_tree_memory */ static int round_real(real x) { int x1, x2; real err1, err2; x1 = (int)x; x2 = x1 + 1; err1 = x - (real)x1; err2 = (real)x2 - x; if(err1 <= err2) return x1; else return x2; } static void getSubBox(const BoxStruct & startBox, BoxStruct & subBox, int Nx, int Ny, int Nz, int ix, int iy, int iz) { subBox.min[0] = startBox.min[0] + (real)(ix + 0) * (startBox.max[0] - startBox.min[0]) / Nx; subBox.max[0] = startBox.min[0] + (real)(ix + 1) * (startBox.max[0] - startBox.min[0]) / Nx; subBox.min[1] = startBox.min[1] + (real)(iy + 0) * (startBox.max[1] - startBox.min[1]) / Ny; subBox.max[1] = startBox.min[1] + (real)(iy + 1) * (startBox.max[1] - startBox.min[1]) / Ny; subBox.min[2] = startBox.min[2] + (real)(iz + 0) * (startBox.max[2] - startBox.min[2]) / Nz; subBox.max[2] = startBox.min[2] + (real)(iz + 1) * (startBox.max[2] - startBox.min[2]) / Nz; } typedef real coor3DPtr[3]; static void* compute_grid_thread_func(void* arg) { try { int maxNoOfPoints; int noOfShells; int noOfNonzeroBasisFuncs; int currShellNo, prevShellNo, tempInt; int writeResultsToFile; int noOfWrittenBatches, noOfGridPoints; BoxStruct startBox; BoxStruct subBox; DensitySpecStruct* density; compute_grid_thread_func_struct* inputParams; rhoTreeNode* rhoTreeRootNode; rhoTreeNode* rhoTreeRootNodeShells; int m, ii, jj; int nFunctions, count, nPoints, nblocks, blockStarted; int startShellNo, NthisWrite; FILE* gridFile; int jobCount, assignedJobNumber; ShellSpecStruct* currShell; /* get hold of input params */ inputParams = (compute_grid_thread_func_struct*)arg; inputParams->resultCode = -1; // set to zero on success. density = inputParams->density; memcpy(&startBox, inputParams->startBox, sizeof(BoxStruct)); rhoTreeRootNode = inputParams->rhoTreeRootNode; rhoTreeRootNodeShells = inputParams->rhoTreeRootNodeShells; noOfShells = density->noOfShells; int Nx = inputParams->Nx; int Ny = inputParams->Ny; int Nz = inputParams->Nz; gridFile = inputParams->gridFile; bool generateSparsePatternOnly = inputParams->generateSparsePatternOnly; Dft::SparsePattern* sparsePattern = inputParams->sparsePattern; compute_grid_for_box_params_struct paramsStruct(inputParams->bis); std::vector dmagao(density->nbast*DFT_MAX_BLLEN); paramsStruct.dmagao = &dmagao[0]; writeResultsToFile = 1; do_output(LOG_CAT_INFO, LOG_AREA_DFT, "thread %i entering compute_grid_thread_func..", inputParams->threadNo); /* allocate memory */ maxNoOfPoints = FILE_BATCH_N; real (*coor)[3] = new real[maxNoOfPoints][3]; std::vector weight(maxNoOfPoints); std::vector coorx(maxNoOfPoints); std::vector coory(maxNoOfPoints); std::vector coorz(maxNoOfPoints); std::vector nonZeroShellIndexList(noOfShells); std::vector nonZeroBasisFuncIndexList(density->nbast); std::vector workList(density->nbast * MAX_NO_OF_POINTS_PER_BATCH); std::vector rhoForSubBox(inputParams->maxNoOfRelevantDistrsPerBox); std::vector tempList(inputParams->maxNoOfRelevantDistrsPerBox); std::vector listShlblocks(MAX_NO_OF_SHLBLOCKS * 2); int (*listShlblocks_otherformat)[2]; listShlblocks_otherformat = new int[MAX_NO_OF_SHLBLOCKS][2]; /* get initial assignedJobNumber */ pthread_mutex_lock(inputParams->jobMutex); assignedJobNumber = *inputParams->currJobNumber; *inputParams->currJobNumber += N_BATCH_JOBS; pthread_mutex_unlock(inputParams->jobMutex); jobCount = 0; noOfWrittenBatches = 0; ComputeGridResultValuesStruct resultValues; noOfGridPoints = 0; for(int i = 0; i < Nx; i++) { for(int j = 0; j < Ny; j++) { for(int k = 0; k < Nz; k++) { jobCount++; if(jobCount >= (assignedJobNumber + N_BATCH_JOBS)) { /* get new assignedJobNumber */ pthread_mutex_lock(inputParams->jobMutex); assignedJobNumber = *inputParams->currJobNumber; *inputParams->currJobNumber += N_BATCH_JOBS; pthread_mutex_unlock(inputParams->jobMutex); } if(jobCount < assignedJobNumber) continue; if(assignedJobNumber > (Nx*Ny*Nz)) continue; /* determine current sub-box */ getSubBox(startBox, subBox, Nx, Ny, Nz, i, j, k); /* get list of non-zero shells for current sub-box */ int noOfNonzeroShells = get_rhotree_indexes_for_box(&nonZeroShellIndexList[0], nonZeroShellIndexList.size(), &rhoTreeRootNodeShells[0], &subBox); if(noOfNonzeroShells < 0) throw std::runtime_error("error in get_distrs_for_box"); if(noOfNonzeroShells == 0) continue; /* sort list of non-zero shells (bubble sort, could be optimized) */ for(int kk = 0; kk < (noOfNonzeroShells - 1); kk++) { for(jj = 0; jj < (noOfNonzeroShells - 1 - kk); jj++) { if(nonZeroShellIndexList[jj] > nonZeroShellIndexList[jj+1]) { tempInt = nonZeroShellIndexList[jj]; nonZeroShellIndexList[jj] = nonZeroShellIndexList[jj+1]; nonZeroShellIndexList[jj+1] = tempInt; } } /* END FOR jj */ } /* END FOR kk */ /* translate list of nonzero shells to list of */ /* nonzero contracted distributions */ noOfNonzeroBasisFuncs = 0; for(int kk = 0; kk < noOfNonzeroShells; kk++) { currShell = &density->shellList[nonZeroShellIndexList[kk]].s; nFunctions = 1 + 2 * currShell->shellType; for(ii = 0; ii < nFunctions; ii++) { nonZeroBasisFuncIndexList[noOfNonzeroBasisFuncs] = currShell->startIndexInMatrix + ii; noOfNonzeroBasisFuncs++; } /* END FOR ii */ } /* END FOR kk */ if(noOfNonzeroBasisFuncs > density->nbast) throw std::runtime_error("error: (noOfNonzeroBasisFuncs > nbast)"); /* make block-list of non-zero shells to write to file */ nblocks = 0; blockStarted = 0; startShellNo = -1; prevShellNo = -1; for(int kk = 0; kk < noOfNonzeroShells; kk++) { currShellNo = nonZeroShellIndexList[kk]; if(blockStarted == 0) { blockStarted = 1; startShellNo = currShellNo; } else { if(currShellNo != (prevShellNo + 1)) { /* register previous block */ listShlblocks[nblocks*2] = startShellNo; // + 1 here?? listShlblocks[nblocks*2+1] = prevShellNo+1; // + 1 here?? nblocks++; startShellNo = currShellNo; } } prevShellNo = currShellNo; } /* END FOR kk */ if(blockStarted == 1) { /* register previous block */ listShlblocks[nblocks*2] = startShellNo; // + 1 here?? listShlblocks[nblocks*2+1] = prevShellNo+1; // + 1 here?? nblocks++; } for(int kk = 0; kk < nblocks; kk++) { listShlblocks_otherformat[kk][0] = listShlblocks[kk*2+0]; listShlblocks_otherformat[kk][1] = listShlblocks[kk*2+1]; } nPoints = 0; if(!generateSparsePatternOnly) { /* get list of relevant distributions for sub-box */ count = get_rhotree_indexes_for_box(&tempList[0], tempList.size(), rhoTreeRootNode, &subBox); if(count < 0) throw std::runtime_error("error in get_distrs_for_box"); if(count == 0) continue; assert(count <= inputParams->maxNoOfRelevantDistrsPerBox); for(m = 0; m < count; m++) memcpy(&rhoForSubBox[m], &density->distrList[tempList[m]], sizeof(DistributionSpecStruct)); real Iexact = 0; for(int kk = 0; kk < count; kk++) Iexact += compute_integral_over_box(&rhoForSubBox[kk], &subBox); /* create grid for sub-box */ memcpy(¶msStruct.density, density, sizeof(DensitySpecStruct)); paramsStruct.density.noOfDistributions = count; paramsStruct.density.distrList = &rhoForSubBox[0]; paramsStruct.gridGenerationParams = inputParams->gridGenerationParams; paramsStruct.nonZeroBasisFuncIndexList = &nonZeroBasisFuncIndexList[0]; paramsStruct.noOfNonzeroBasisFuncs = noOfNonzeroBasisFuncs; paramsStruct.nonZeroShellsIndexList = &nonZeroShellIndexList[0]; paramsStruct.noOfNonzeroShells = noOfNonzeroShells; paramsStruct.nShlblocks = nblocks; paramsStruct.listShlblocks_otherformat = listShlblocks_otherformat; /* Create DFT integrator. */ int ndmat = 1; paramsStruct.dftIntegrator = dft_integrator_bl_new(selected_func, ndmat, DFT_MAX_BLLEN, false, inputParams->bis); paramsStruct.dftIntegrator->shl_bl_cnt = nblocks; for(int kk = 0; kk < nblocks; kk++) for(int mm = 0; mm < 2; mm++) paramsStruct.dftIntegrator->shlblocks[kk][mm] = listShlblocks_otherformat[kk][mm]; ergoShellsToOrbs(¶msStruct.dftIntegrator->shl_bl_cnt, paramsStruct.dftIntegrator->shlblocks, paramsStruct.dftIntegrator->bas_bl_cnt, paramsStruct.dftIntegrator->basblocks, inputParams->bis); /* Setup local full density matrix for current box. */ int nnzbf = noOfNonzeroBasisFuncs; paramsStruct.localFullDensityMatrix.resize(nnzbf*nnzbf); for(int kk = 0; kk < nnzbf; kk++) { int kkIndex = nonZeroBasisFuncIndexList[kk]; for(int mm = 0; mm < nnzbf; mm++) { int mmIndex = nonZeroBasisFuncIndexList[mm]; real dmatElement; dmatElement = paramsStruct.density.dmat->at(kkIndex, mmIndex); paramsStruct.localFullDensityMatrix[kk*nnzbf+mm] = dmatElement; } } nPoints = compute_grid_for_box(¶msStruct, maxNoOfPoints, &coor[0], &weight[0], &subBox, Iexact, &workList[0], resultValues, false); if(nPoints < 0) throw std::runtime_error("error in compute_grid_for_box"); dft_integrator_bl_free(paramsStruct.dftIntegrator); if(nPoints == 0) continue; noOfGridPoints += nPoints; } // end if (!generateSparsePatternOnly) if(writeResultsToFile == 1) { /* set up separate x, y, z vectors for writing to file */ if(nPoints > maxNoOfPoints) throw std::runtime_error("error in HiCu compute_grid_thread_func: (nPoints > maxNoOfPoints)."); for(int kk = 0; kk < nPoints; kk++) { coorx[kk] = coor[kk][0]; coory[kk] = coor[kk][1]; coorz[kk] = coor[kk][2]; } /* write grid points to file */ int nPointsLeft = nPoints; pthread_mutex_lock(inputParams->fileMutex); while(nPointsLeft > 0) { if(nPointsLeft <= MAX_NO_OF_POINTS_PER_WRITE) NthisWrite = nPointsLeft; else NthisWrite = MAX_NO_OF_POINTS_PER_WRITE; fwrite(&NthisWrite, sizeof(int), 1, gridFile); fwrite(&nblocks, sizeof(int), 1, gridFile); fwrite(&listShlblocks[0], sizeof(int), 2*nblocks, gridFile); fwrite(&(coor[nPoints-nPointsLeft][0]), sizeof(real), 3*NthisWrite, gridFile); fwrite(&weight[nPoints-nPointsLeft], sizeof(real), NthisWrite, gridFile); nPointsLeft -= NthisWrite; noOfWrittenBatches++; } /* END WHILE points left */ /* Update counters for plot. Note that this is also protected by "fileMutex" being locked. */ tripleVectorOfInt* counterArrForPlot = inputParams->counterArrForPlot; for(int kk = 0; kk < nPoints; kk++) { int idxList[3]; for(int coordIdx = 0; coordIdx < 3; coordIdx++) { int idx = (int)(HICU_GRID_PLOT_RESOLUTION * ((coor[kk][coordIdx] - startBox.min[coordIdx]) / (startBox.max[coordIdx] - startBox.min[coordIdx]))); if(idx < 0 || idx >= HICU_GRID_PLOT_RESOLUTION) throw std::runtime_error("error in HiCu compute_grid_thread_func: trouble getting indexes for plot counters."); idxList[coordIdx] = idx; } int ix = idxList[0]; int iy = idxList[1]; int iz = idxList[2]; (*counterArrForPlot)[ix][iy][iz] ++; } pthread_mutex_unlock(inputParams->fileMutex); } /* end if writeResultsToFile */ /* Add to sparsePattern if needed. */ if(sparsePattern) { pthread_mutex_lock(inputParams->fileMutex); sparsePattern->add(nblocks, listShlblocks_otherformat); pthread_mutex_unlock(inputParams->fileMutex); } } /* END FOR k */ } /* END FOR j */ } /* END FOR i */ do_output(LOG_CAT_INFO, LOG_AREA_DFT, "thread %i loops done, freeing memory..", inputParams->threadNo); /* free memory */ delete [] listShlblocks_otherformat; delete [] coor; do_output(LOG_CAT_INFO, LOG_AREA_DFT, "thread %i mem freed OK, setting result params..", inputParams->threadNo); /* report results through input structure */ inputParams->noOfPoints = noOfGridPoints; inputParams->noOfWrittenBatches = noOfWrittenBatches; inputParams->resultValues = resultValues; do_output(LOG_CAT_INFO, LOG_AREA_DFT, "thread %i exiting compute_grid_thread_func", inputParams->threadNo); inputParams->resultCode = 0; // set to zero to indicate success. } catch ( std::exception & e ) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "HiCu Error: Exception caught in compute_grid_thread_func."); do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "what(): %s", e.what()); return NULL; } catch (...) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "HiCu Error: Exception caught in compute_grid_thread_func."); return NULL; } return NULL; } /* END compute_grid_thread_func */ static int compute_grid( const BasisInfoStruct& bis, DensitySpecStruct* density, const GridGenerationParamsStruct & gridGenerationParams, real boxdist, real startBoxSizeDebug, const char* gridFileName, int noOfThreads, bool generateSparsePatternOnly, Dft::SparsePattern* sparsePattern ) { BoxStruct startBox; BoxStruct tempBox; rhoTreeNode* rhoTreeRootNode; rhoTreeNode* rhoTreeRootNodeShells; real Iexact, absRelError; int Nxyz[3]; /* Nx Ny Nz */ int IexactInteger; int noOfDistributions; int currJobNumber, noOfShells; do_output(LOG_CAT_INFO, LOG_AREA_DFT, "entering compute_grid.."); noOfShells = density->noOfShells; if(noOfShells <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error in compute_grid: (noOfShells <= 0)."); return -1; } noOfDistributions = density->noOfDistributions; if(noOfDistributions < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error in compute_grid: (noOfDistributions < 0)."); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Entering compute_grid, noOfDistributions = %i, " "maxerrorPerBox = %9.3g, targetRhoError = %9.3g", noOfDistributions, (double)gridGenerationParams.maxerrorPerBox, (double)gridGenerationParams.targetRhoError); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "nbast = %i", density->nbast); /* set up starting box */ get_shell_box(&startBox, &density->shellList[0]); for(int i = 1; i < noOfShells; i++) { get_shell_box(&tempBox, &density->shellList[i]); for(int j = 0; j < NO_OF_DIMENSIONS; j++) { if(tempBox.min[j] < startBox.min[j]) startBox.min[j] = tempBox.min[j]; if(tempBox.max[j] > startBox.max[j]) startBox.max[j] = tempBox.max[j]; } /* END FOR j */ } /* END FOR i */ if(startBoxSizeDebug > 0) { for(int j = 0; j < NO_OF_DIMENSIONS; j++) { startBox.min[j] = 100*UNIT_one_Angstrom - startBoxSizeDebug; startBox.max[j] = 100*UNIT_one_Angstrom + startBoxSizeDebug; } } if(!generateSparsePatternOnly) { do_output(LOG_CAT_INFO, LOG_AREA_DFT, "compute_grid starting box:"); print_box(&startBox); } Iexact = 0; if(!generateSparsePatternOnly) { for(int i = 0; i < noOfDistributions; i++) Iexact += compute_integral_over_box(&density->distrList[i], &startBox); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Analytical integral over starting box: %.22f", (double)Iexact); IexactInteger = round_real(Iexact); absRelError = std::fabs((double)IexactInteger - Iexact) / (double)IexactInteger; do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Assuming that the correct value is %i, " "the relative error is %9.3g", IexactInteger, (double)absRelError); } rhoTreeRootNode = NULL; if(!generateSparsePatternOnly) { Util::TimeMeter tmRhoTree; rhoTreeRootNode = BuildRhoTree(noOfDistributions, density->distrList, NULL, gridGenerationParams.targetRhoError); if(rhoTreeRootNode == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "error in BuildRhoTree\n"); return -1; } tmRhoTree.print(LOG_AREA_DFT, "BuildRhoTree for distrs"); } Util::TimeMeter tmRhoTreeForShells; rhoTreeRootNodeShells = BuildRhoTree(noOfShells, NULL, density->shellList, gridGenerationParams.targetRhoError); if(rhoTreeRootNodeShells == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "error in BuildRhoTree."); return -1; } tmRhoTreeForShells.print(LOG_AREA_DFT, "BuildRhoTree for shells"); /* compute Nx Ny Nz */ for(int i = 0; i < 3; i++) Nxyz[i] = 1 + (int)((startBox.max[i] - startBox.min[i]) / boxdist); int Nx = Nxyz[0]; int Ny = Nxyz[1]; int Nz = Nxyz[2]; do_output(LOG_CAT_INFO, LOG_AREA_DFT, "boxdist = %f, Nx = %i, Ny = %i, Nz = %i, Ntot = %i", (double)boxdist, Nx, Ny, Nz, Nx*Ny*Nz); /* Now go through all boxes to find the largest number of relevant distributions for any single box, since this number is needed to allocate work space later. */ int maxNoOfRelevantDistrsPerBox = 0; if(!generateSparsePatternOnly) { for(int i = 0; i < Nx; i++) for(int j = 0; j < Ny; j++) for(int k = 0; k < Nz; k++) { BoxStruct subBox; getSubBox(startBox, subBox, Nx, Ny, Nz, i, j, k); int count = get_rhotree_indexes_for_box(NULL, 0, rhoTreeRootNode, &subBox); if(count > maxNoOfRelevantDistrsPerBox) maxNoOfRelevantDistrsPerBox = count; } do_output(LOG_CAT_INFO, LOG_AREA_DFT, "maxNoOfRelevantDistrsPerBox = %9d", maxNoOfRelevantDistrsPerBox); } FILE* gridFile = NULL; if(!generateSparsePatternOnly) { /* create grid file */ gridFile = fopen(gridFileName, "wb"); if(gridFile == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "error opening grid file '%s' for writing", gridFileName); return -1; } } std::vector< std::vector< std::vector > > counterArrForPlot(HICU_GRID_PLOT_RESOLUTION); for(int i = 0; i < HICU_GRID_PLOT_RESOLUTION; i++) { counterArrForPlot[i].resize(HICU_GRID_PLOT_RESOLUTION); for(int j = 0; j < HICU_GRID_PLOT_RESOLUTION; j++) { counterArrForPlot[i][j].resize(HICU_GRID_PLOT_RESOLUTION); for(int k = 0; k < HICU_GRID_PLOT_RESOLUTION; k++) counterArrForPlot[i][j][k] = 0; } } /* up to this point there is no parallellization */ /* this is where we start to think about threading */ pthread_mutex_t fileMutex = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_t jobMutex = PTHREAD_MUTEX_INITIALIZER; std::vector threadParamsList(noOfThreads); for(int i = 0; i < noOfThreads; i++) threadParamsList[i] = new compute_grid_thread_func_struct(bis); currJobNumber = 1; for(int i = 0; i < noOfThreads; i++) { threadParamsList[i]->density = density; threadParamsList[i]->rhoTreeRootNode = rhoTreeRootNode; threadParamsList[i]->rhoTreeRootNodeShells = rhoTreeRootNodeShells; threadParamsList[i]->gridGenerationParams = gridGenerationParams; threadParamsList[i]->gridFile = gridFile; threadParamsList[i]->startBox = &startBox; threadParamsList[i]->Nx = Nx; threadParamsList[i]->Ny = Ny; threadParamsList[i]->Nz = Nz; threadParamsList[i]->maxNoOfRelevantDistrsPerBox = maxNoOfRelevantDistrsPerBox; threadParamsList[i]->fileMutex = &fileMutex; threadParamsList[i]->jobMutex = &jobMutex; threadParamsList[i]->currJobNumber = &currJobNumber; threadParamsList[i]->noOfPoints = -1; threadParamsList[i]->noOfWrittenBatches = 0; threadParamsList[i]->generateSparsePatternOnly = generateSparsePatternOnly; threadParamsList[i]->sparsePattern = sparsePattern; threadParamsList[i]->counterArrForPlot = &counterArrForPlot; threadParamsList[i]->threadNo = i; } /* END FOR i */ if(noOfThreads == 1) { do_output(LOG_CAT_INFO, LOG_AREA_DFT, "compute_grid: (noOfThreads == 1), no threads created."); compute_grid_thread_func(threadParamsList[0]); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Single call to compute_grid_thread_func done."); } else { do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Starting %i threads.", noOfThreads); /* start threads */ for(int i = 0; i < noOfThreads; i++) { if(pthread_create(&threadParamsList[i]->thread, NULL, compute_grid_thread_func, threadParamsList[i]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error in pthread_create for thread %i", i); do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "waiting for already created threads.."); for(int j = 0; j < i; j++) { if(pthread_join(threadParamsList[j]->thread, NULL) != 0) do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error in pthread_join for thread %i", j); } /* END FOR j */ do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "all threads finished, returning error code"); return -1; } } /* END FOR i */ do_output(LOG_CAT_INFO, LOG_AREA_DFT, "%i threads started OK.", noOfThreads); /* wait for threads to finish */ for(int i = 0; i < noOfThreads; i++) { if(pthread_join(threadParamsList[i]->thread, NULL) != 0) do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error in pthread_join for thread %i", i); } /* END FOR i */ do_output(LOG_CAT_INFO, LOG_AREA_DFT, "all %i threads have finished:", noOfThreads); for(int i = 0; i < noOfThreads; i++) do_output(LOG_CAT_INFO, LOG_AREA_DFT, "thread %2i noOfWrittenBatches = %6i", i, threadParamsList[i]->noOfWrittenBatches); } // end if using threads /* now all threads have finished, check for errors */ for(int i = 0; i < noOfThreads; i++) { if(threadParamsList[i]->noOfPoints < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "error in compute_grid_thread_func" " for thread %i\n", i); return -1; } } /* END FOR i */ int noOfGridPoints = 0; int noOfWrittenBatches = 0; real totalIntegralResultNumerical = 0; real totalIntegralResultAnalytical = 0; real totalIntegralResultEnergy = 0; real estimatedIntegralErrorDensity = 0; real estimatedIntegralErrorEnergy = 0; for(int i = 0; i < noOfThreads; i++) { noOfGridPoints += threadParamsList[i]->noOfPoints; noOfWrittenBatches += threadParamsList[i]->noOfWrittenBatches; totalIntegralResultNumerical += threadParamsList[i]->resultValues.totalIntegralResultNumerical; totalIntegralResultAnalytical += threadParamsList[i]->resultValues.totalIntegralResultAnalytical; totalIntegralResultEnergy += threadParamsList[i]->resultValues.totalIntegralResultEnergy; estimatedIntegralErrorDensity += threadParamsList[i]->resultValues.estimatedIntegralErrorDensity; estimatedIntegralErrorEnergy += threadParamsList[i]->resultValues.estimatedIntegralErrorEnergy; } /* END FOR i */ if(gridFile) fclose(gridFile); if(!generateSparsePatternOnly) { do_output(LOG_CAT_INFO, LOG_AREA_DFT, "noOfWrittenBatches = %i", noOfWrittenBatches); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "compute_grid ending OK, noOfGridPoints = %i", noOfGridPoints); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "compute_grid maxerrorPerBox param = %25.15f = %9.4g", (double)gridGenerationParams.maxerrorPerBox, (double)gridGenerationParams.maxerrorPerBox); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "compute_grid totalIntegralResultAnalytical = %25.15f", (double)totalIntegralResultAnalytical); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "compute_grid totalIntegralResultNumerical = %25.15f", (double)totalIntegralResultNumerical); ergo_real absDiff = std::fabs(totalIntegralResultAnalytical - totalIntegralResultNumerical); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "compute_grid numer/analy integral abs diff = %25.15f = %9.4g", (double)absDiff, (double)absDiff); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "compute_grid totalIntegralResultEnergy = %25.15f", (double)totalIntegralResultEnergy); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "compute_grid estimatedIntegralErrorDensity = %25.15f = %9.4g", (double)estimatedIntegralErrorDensity, (double)estimatedIntegralErrorDensity); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "compute_grid estimatedIntegralErrorEnergy = %25.15f = %9.4g", (double)estimatedIntegralErrorEnergy, (double)estimatedIntegralErrorEnergy); #if 0 // Create m-file for plot. FILE* mfile = fopen("grid_plot_file_3d.m", "wt"); fprintf(mfile, "M = [\n"); for(int i = 0; i < HICU_GRID_PLOT_RESOLUTION; i++) for(int j = 0; j < HICU_GRID_PLOT_RESOLUTION; j++) for(int k = 0; k < HICU_GRID_PLOT_RESOLUTION; k++) { double x = startBox.min[0] + (double)i * (startBox.max[0] - startBox.min[0]) / HICU_GRID_PLOT_RESOLUTION; double y = startBox.min[1] + (double)j * (startBox.max[1] - startBox.min[1]) / HICU_GRID_PLOT_RESOLUTION; double z = startBox.min[2] + (double)k * (startBox.max[2] - startBox.min[2]) / HICU_GRID_PLOT_RESOLUTION; fprintf(mfile, "%15.5f %15.5f %15.5f %9d\n", x, y, z, counterArrForPlot[i][j][k]); } fprintf(mfile, "];\n"); fclose(mfile); mfile = fopen("grid_plot_file_2d_z.m", "wt"); fprintf(mfile, "M = [\n"); for(int i = 0; i < HICU_GRID_PLOT_RESOLUTION; i++) { for(int j = 0; j < HICU_GRID_PLOT_RESOLUTION; j++) { int count = 0; for(int k = 0; k < HICU_GRID_PLOT_RESOLUTION; k++) count += counterArrForPlot[i][j][k]; fprintf(mfile, " %9d", count); } fprintf(mfile, "\n"); } fprintf(mfile, "];\n"); fclose(mfile); #endif } if(!generateSparsePatternOnly) free_rho_tree_memory(rhoTreeRootNode); free_rho_tree_memory(rhoTreeRootNodeShells); for(int i = 0; i < noOfThreads; i++) delete threadParamsList[i]; return noOfGridPoints; } /* END compute_grid */ static int do_merge_sort_distrs(int n, DistributionSpecStruct* list, DistributionSpecStruct* workList) { /* merge sort: */ /* first sort the first half, */ /* then sort the second half, */ /* then merge results to form final sorted list. */ int n1, n2, nn, decision, i1, i2, i; DistributionSpecStruct* d1; DistributionSpecStruct* d2; if(n < 1) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error in do_merge_sort_distrs: (n < 1)."); return -1; } if(n == 1) return 0; n1 = n / 2; n2 = n - n1; /* sort first half */ if(do_merge_sort_distrs(n1, list, workList) != 0) return -1; /* sort second half */ if(do_merge_sort_distrs(n2, &list[n1], workList) != 0) return -1; /* merge results */ nn = 0; i1 = 0; i2 = 0; while(nn < n) { if((i1 < n1) && (i2 < n2)) { /* compare */ d1 = &list[i1]; d2 = &list[n1+i2]; decision = 0; for(i = 0; i < 3; i++) { if(decision == 0) { if(d1->monomialInts[i] != d2->monomialInts[i]) { if(d1->monomialInts[i] > d2->monomialInts[i]) decision = 1; else decision = 2; } } /* END IF (decision == 0) */ } /* END FOR i */ if(decision == 0) { /* check exponents */ if(d1->exponent > d2->exponent) decision = 1; else decision = 2; } } else { if(i1 == n1) decision = 2; else decision = 1; } if(decision <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error in do_merge_sort_distrs: (decision <= 0)."); return -1; } if(decision == 1) { memcpy(&workList[nn], &list[i1], sizeof(DistributionSpecStruct)); i1++; } else { memcpy(&workList[nn], &list[n1+i2], sizeof(DistributionSpecStruct)); i2++; } nn++; } /* END WHILE (nn < n) */ if(i1 != n1) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error in do_merge_sort_distrs: (i1 != n1)."); return -1; } if(i2 != n2) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error in do_merge_sort_distrs: (i2 != n2)."); return -1; } if(nn != n) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error in do_merge_sort_distrs: (nn != n)."); return -1; } memcpy(list, workList, n * sizeof(DistributionSpecStruct)); return 0; } /* END do_merge_sort_distrs */ static int compute_extent_for_shells(ShellSpecStructWithExtent* shellList, const BasisInfoStruct& bis, real targetRhoError) { /* We do this using existing function for getting the extent of all basis functions. */ std::vector basisFuncExtentList(bis.noOfBasisFuncs); ergo_real maxAbsDensityMatrixElement = 1.0; /* FIXME: use correct value here. */ real maxAbsValue = targetRhoError / (get_max_basis_func_abs_value(bis) * maxAbsDensityMatrixElement); get_basis_func_extent_list(bis, &basisFuncExtentList[0], maxAbsValue); for(int i = 0; i < bis.noOfShells; i++) { ShellSpecStructWithExtent* currShell = &shellList[i]; real largestExtent = 0; int startIdx = currShell->s.startIndexInMatrix; for(int j = 0; j < currShell->s.noOfBasisFuncs; j++) { ergo_real currBasisFuncExtent = basisFuncExtentList[startIdx+j]; if(currBasisFuncExtent > largestExtent) largestExtent = currBasisFuncExtent; } currShell->extent = largestExtent; } return 0; } static int get_product_distrs(const BasisInfoStruct& bis, const Dft::Matrix& dmat, real targetRhoError, DistributionSpecStruct* rho, /* may be NULL. */ int maxCount /* only used if rho != NULL. */ ) { Util::TimeMeter tm; const int MAX_DISTRS_IN_TEMP_LIST = 4444; int nBasisFuncs = bis.noOfBasisFuncs; std::vector basisFuncExtentList(nBasisFuncs); ergo_real maxAbsDensityMatrixElement = 1.0; /* FIXME: use correct value here. */ real maxAbsValue = targetRhoError / (get_max_basis_func_abs_value(bis) * maxAbsDensityMatrixElement); get_basis_func_extent_list(bis, &basisFuncExtentList[0], maxAbsValue); ergo_real maxExtent = 0; for(int i = 0; i < nBasisFuncs; i++) { ergo_real currExtent = basisFuncExtentList[i]; if(currExtent > maxExtent) maxExtent = currExtent; } // Create box system. std::vector itemList(nBasisFuncs); for(int i = 0; i < nBasisFuncs; i++) { for(int j = 0; j < 3; j++) itemList[i].centerCoords[j] = bis.basisFuncList[i].centerCoords[j]; itemList[i].originalIndex = i; } ergo_real toplevelBoxSize = 7.0; BoxSystem boxSystem; if(boxSystem.create_box_system(&itemList[0], nBasisFuncs, toplevelBoxSize) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "error in get_product_distrs: error creating box system."); return -1; } std::vector orgIndexList(nBasisFuncs); int nn = 0; for(int i = 0; i < nBasisFuncs; i++) { // Now, instead of looping again over all nBasisFuncs basis // functions, we use box system to find relevant ones. ergo_real maxDistance = basisFuncExtentList[i] + maxExtent; ergo_real coords[3]; for(int coordNo = 0; coordNo < 3; coordNo++) coords[coordNo] = bis.basisFuncList[i].centerCoords[coordNo]; int nRelevant = boxSystem.get_items_near_point(&itemList[0], coords, maxDistance, &orgIndexList[0]); for(int jRelevant = 0; jRelevant < nRelevant; jRelevant++) { int j = orgIndexList[jRelevant]; DistributionSpecStruct tempList[MAX_DISTRS_IN_TEMP_LIST]; int nPrimitives; /* the matrix M is symmetric: include diagonal terms once, */ /* and include upper off-diagonal terms multiplied by 2 */ int symmetryFactor; if(i == j) symmetryFactor = 1; else symmetryFactor = 2; if(i > j) continue; nPrimitives = get_product_simple_primitives(bis, i, bis, j, tempList, MAX_DISTRS_IN_TEMP_LIST, DISTR_PRODUCT_THRESHOLD); if(nPrimitives < 0) throw std::runtime_error("error in get_product_simple_primitives"); for(int k = 0; k < nPrimitives; k++) { DistributionSpecStruct* currDistr = &tempList[k]; real Mij; Mij = dmat.at(i, j); real newCoeff = currDistr->coeff * Mij * symmetryFactor; if(std::fabs(newCoeff) > DISTR_COEFF_CUTOFF_VALUE) { /* add to final list */ if(rho) { if(nn >= maxCount) throw std::runtime_error("error: (nn >= maxCount)"); memcpy(&rho[nn], currDistr, sizeof(DistributionSpecStruct)); rho[nn].coeff = newCoeff; } nn++; } } } } tm.print(LOG_AREA_DFT, "get_product_distrs"); return nn; } static void get_shell_list_with_extents(const BasisInfoStruct& bis, int maxCountShellList, ShellSpecStructWithExtent* shellList, real targetRhoError) { if(maxCountShellList < bis.noOfShells) throw std::runtime_error("Error: (maxCountShellList < bis.noOfShells)"); for(int i = 0; i < bis.noOfShells; i++) { shellList[i].s = bis.shellList[i]; shellList[i].extent = 0; // to be computed later. } if(compute_extent_for_shells(shellList, bis, targetRhoError) != 0) throw std::runtime_error("Error in compute_extent_for_shells."); } static int get_density(const BasisInfoStruct& bis, DistributionSpecStruct* rho, int maxCountRho, real targetRhoError, int nbast, const Dft::Matrix& dmat, BasisFuncStruct* basisFuncList) { Util::TimeMeter tm; Util::TimeMeter tmFirstPart; do_output(LOG_CAT_INFO, LOG_AREA_DFT, "entering function get_density, targetRhoError = %22.15f", (double)targetRhoError); int nn = get_product_distrs(bis, dmat, targetRhoError, rho, maxCountRho); if(nn != maxCountRho) throw std::runtime_error("Error in get_density: (nn != maxCountRho)."); memcpy(basisFuncList, bis.basisFuncList, bis.noOfBasisFuncs * sizeof(BasisFuncStruct)); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "loop ended OK; list 'rho' created, nn = %i", nn); /* Now all distributions are stored in the list 'rho'. */ /* The number of entries in the list is nn. */ /* It could happen that all entries are not unique. */ /* We want to join distributions that have the same center */ /* and the same exponent. */ /* To do this, start with sorting the list by nx, ny, nz, exponent. */ std::vector workList(nn); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "calling do_merge_sort_distrs, nn = %i", nn); if(do_merge_sort_distrs(nn, &rho[0], &workList[0]) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "error in do_merge_sort_distrs"); return -1; } do_output(LOG_CAT_INFO, LOG_AREA_DFT, "do_merge_sort_distrs returned OK"); /* check that list is sorted */ for(int i = 0; i < (nn-1); i++) { if(rho[i].exponent < rho[i+1].exponent) { int sameYesNo = 1; for(int j = 0; j < 3; j++) { if(rho[i].monomialInts[j] != rho[i+1].monomialInts[j]) sameYesNo = 0; } /* END FOR j */ if(sameYesNo == 1) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "error: distr list NOT properly sorted."); return -1; } } } /* END FOR i */ do_output(LOG_CAT_INFO, LOG_AREA_DFT, "sort checked OK"); tmFirstPart.print(LOG_AREA_DFT, "get_density first part"); std::vector markList(nn); for(int i = 0; i < nn; i++) markList[i] = 0; /* Create box system to help finding distrs that have centers that are close to eachother in space. */ std::vector itemList(nn); for(int i = 0; i < nn; i++) { for(int j = 0; j < 3; j++) itemList[i].centerCoords[j] = rho[i].centerCoords[j]; itemList[i].originalIndex = i; } real toplevelBoxSize = 4.0; BoxSystem boxSystem; if(boxSystem.create_box_system(&itemList[0], nn, toplevelBoxSize) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "error in get_product_distrs: error creating box system."); return -1; } std::vector orgIndexList(nn); /* now go through sorted list, joining distributions where possible */ int icurr = 0; int count = 0; int firstIndex = 0; while(icurr < nn) { /* check if this entry has the same nx ny nz as current 'firstIndex' */ int sameYesNo = 1; for(int j = 0; j < 3; j++) { if(rho[icurr].monomialInts[j] != rho[firstIndex].monomialInts[j]) sameYesNo = 0; } /* END FOR j */ /* check exponent */ real absdiff = std::fabs(rho[icurr].exponent - rho[firstIndex].exponent); if(absdiff > EXPONENT_DIFF_LIMIT) sameYesNo = 0; if(sameYesNo == 0) { /* Now take care of all distrs from firstIndex to icurr-1. We know that all of them have identical monomialInts and exponents. */ for(int j = firstIndex; j < icurr; j++) { if(markList[j] == 0) { markList[j] = 1; /* join distrs that have centers within */ /* DISTR_CENTER_DIST_LIMIT of this one */ ergo_real maxDistance = DISTR_CENTER_DIST_LIMIT; ergo_real coords[3]; for(int coordNo = 0; coordNo < 3; coordNo++) coords[coordNo] = rho[j].centerCoords[coordNo]; int nRelevant = boxSystem.get_items_near_point(&itemList[0], coords, maxDistance, &orgIndexList[0]); real coeffSum = rho[j].coeff; for(int jRelevant = 0; jRelevant < nRelevant; jRelevant++) { if(orgIndexList[jRelevant] >= j+1 && orgIndexList[jRelevant] < icurr) { int k = orgIndexList[jRelevant]; // for(int k = j+1; k < icurr; k++) { int withinLimit = 1; for(int kk = 0; kk < 3; kk++) { real absdiff = std::fabs(rho[j].centerCoords[kk] - rho[k].centerCoords[kk]); if(absdiff > DISTR_CENTER_DIST_LIMIT) withinLimit = 0; } /* END FOR kk */ if(withinLimit == 1) { coeffSum += rho[k].coeff; markList[k] = 1; } } /* end if index within range. */ } /* end for jRelevant */ memcpy(&workList[count], &rho[j], sizeof(DistributionSpecStruct)); workList[count].coeff = coeffSum; count++; } /* END IF (markList[j] == 0) */ } /* END FOR j */ firstIndex = icurr; } /* end if (sameYesNo == 0) */ else { /* Do nothing here. */ } icurr++; } /* END WHILE (icurr < nn) */ /* take care of last part */ for(int j = firstIndex; j < nn; j++) { if(markList[j] == 0) { markList[j] = 1; /* join distrs that have centers within */ /* DISTR_CENTER_DIST_LIMIT of this one */ real coeffSum = rho[j].coeff; for(int k = j+1; k < nn; k++) { int withinLimit = 1; for(int kk = 0; kk < 3; kk++) { real absdiff = std::fabs(rho[j].centerCoords[kk] - rho[k].centerCoords[kk]); if(absdiff > DISTR_CENTER_DIST_LIMIT) withinLimit = 0; } /* END FOR kk */ if(withinLimit == 1) { coeffSum += rho[k].coeff; markList[k] = 1; } } /* END FOR k */ memcpy(&workList[count], &rho[j], sizeof(DistributionSpecStruct)); workList[count].coeff = coeffSum; count++; } /* END IF (markList[j] == 0) */ } /* END FOR j */ for(int j = 0; j < nn; j++) { if(markList[j] != 1) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Error: (markList[%i] != 1).", j); return -1; } } /* END FOR j */ /* now move results back to list 'rho', */ /* skipping those that have too small coeff */ int resultCount = 0; for(int i = 0; i < count; i++) { real sqrtValue = std::sqrt(pi / workList[i].exponent); real absvalue = workList[i].coeff * sqrtValue * sqrtValue * sqrtValue; if(absvalue < 0) absvalue *= -1; if(absvalue > DISTR_COEFF_CUTOFF_VALUE) { memcpy(&rho[resultCount], &workList[i], sizeof(DistributionSpecStruct)); resultCount++; } } /* END FOR i */ do_output(LOG_CAT_INFO, LOG_AREA_DFT, "nn = %9i", nn); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "count = %9i", count); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "resultCount = %9i", resultCount); tm.print(LOG_AREA_DFT, "get_density"); return resultCount; } /* end get_density */ int hicu_grid_generate(const char* grid_file_name, const BasisInfoStruct& bis, ergo_real maxError, ergo_real boxSize, ergo_real startBoxSizeDebug, int use_error_per_volume, int do_double_checking, int compare_to_refined, int use_energy_criterion, int use_energy_criterion_only, int do_variation_checking, const Dft::Matrix* dmat, Dft::SparsePattern* sparsePattern, int nThreads, bool generateSparsePatternOnly) { /* Use mutex lock to be sure only one thread at a time executes this call. */ pthread_mutex_lock(&global_main_hicu_mutex); output_current_memory_usage(LOG_AREA_DFT, "hicu_grid_generate start"); Util::TimeMeter tm; DensitySpecStruct density; int nGridPoints = -1; do_output(LOG_CAT_INFO, LOG_AREA_DFT, "hicu_grid_generate checking what kind of density matrix is given."); int nbast = bis.noOfBasisFuncs; if(dmat->isSparse()) do_output(LOG_CAT_INFO, LOG_AREA_DFT, "hicu_grid_generate using sparse dmat."); else { /* check dmat */ real maxabs = 0; for(int i = 0; i < nbast; i++) { for(int j = 0; j < nbast; j++) { real temp = std::fabs(dmat->at(i,j)); if(temp > maxabs) maxabs = temp; } } do_output(LOG_CAT_INFO, LOG_AREA_DFT, "hicu_grid_generate checking dmat: maxabs = %22.15f", (double)maxabs); } int noOfShells = bis.noOfShells; ergo_real targetRhoError = maxError * TARGET_RHO_ERROR_FACTOR; std::vector shellList(noOfShells); get_shell_list_with_extents(bis, noOfShells, &shellList[0], targetRhoError); output_current_memory_usage(LOG_AREA_DFT, "hicu_grid_generate after getting shellList"); std::vector basisFuncList(nbast); output_current_memory_usage(LOG_AREA_DFT, "hicu_grid_generate after allocating basisFuncList"); /* Call get_product_distrs here to get number of distrs to allocate. */ int noOfDistributions1 = 0; if(!generateSparsePatternOnly) { noOfDistributions1 = get_product_distrs(bis, *dmat, targetRhoError, NULL, 0); if(noOfDistributions1 <= 0) throw std::runtime_error("Error in hicu_grid_generate: (noOfDistributions1 <= 0)."); } std::vector rho(noOfDistributions1); output_current_memory_usage(LOG_AREA_DFT, "hicu_grid_generate after allocating rho"); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Calling get_density()."); int noOfDistributions = get_density(bis, &rho[0], noOfDistributions1, targetRhoError, nbast, *dmat, &basisFuncList[0]); if(noOfDistributions < 0 || noOfDistributions > noOfDistributions1) throw std::runtime_error("error in get_density! " "(noOfDistributions < 0 || noOfDistributions > noOfDistributions1)."); output_current_memory_usage(LOG_AREA_DFT, "hicu_grid_generate after get_density"); density.noOfShells = noOfShells; density.shellList = &shellList[0]; density.nbast = nbast; density.dmat = dmat; density.basisFuncList = &basisFuncList[0]; density.noOfDistributions = noOfDistributions; density.distrList = &rho[0]; GridGenerationParamsStruct gridGenerationParams; gridGenerationParams.maxerrorPerBox = maxError; gridGenerationParams.targetRhoError = targetRhoError; gridGenerationParams.doDoubleChecking = do_double_checking; gridGenerationParams.compareToRefined = compare_to_refined; gridGenerationParams.useEnergyCriterion = use_energy_criterion; gridGenerationParams.useEnergyCriterionOnly = use_energy_criterion_only; gridGenerationParams.useErrorPerVolume = use_error_per_volume; gridGenerationParams.doVariationChecking = do_variation_checking; /* get grid */ nGridPoints = compute_grid(bis, &density, gridGenerationParams, boxSize, startBoxSizeDebug, grid_file_name, nThreads, generateSparsePatternOnly, sparsePattern); if(nGridPoints < 0) throw std::runtime_error("Error in compute_grid."); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "HiCu grid generated OK, nGridPoints = %9d", nGridPoints); output_current_memory_usage(LOG_AREA_DFT, "hicu_grid_generate end"); tm.print(LOG_AREA_DFT, __func__); pthread_mutex_unlock(&global_main_hicu_mutex); return nGridPoints; } void grid_generate_sparse_pattern(const BasisInfoStruct& bis, ergo_real maxError, ergo_real boxSize, ergo_real startBoxSizeDebug, Dft::SparsePattern& sparsePattern) { /* Use mutex lock to be sure only one thread at a time executes this call. */ pthread_mutex_lock(&global_main_hicu_mutex); output_current_memory_usage(LOG_AREA_DFT, "grid_generate_sparse_pattern start"); Util::TimeMeter tm; DensitySpecStruct density; int nbast = bis.noOfBasisFuncs; int noOfShells = bis.noOfShells; ergo_real targetRhoError = maxError * TARGET_RHO_ERROR_FACTOR; std::vector shellList(noOfShells); get_shell_list_with_extents(bis, noOfShells, &shellList[0], targetRhoError); density.noOfShells = noOfShells; density.shellList = &shellList[0]; density.nbast = nbast; density.dmat = NULL; density.basisFuncList = NULL; density.noOfDistributions = 0; density.distrList = NULL; GridGenerationParamsStruct gridGenerationParams; gridGenerationParams.maxerrorPerBox = maxError; gridGenerationParams.targetRhoError = targetRhoError; /* get grid */ int nGridPoints = compute_grid(bis, &density, gridGenerationParams, boxSize, startBoxSizeDebug, NULL, 1, true, &sparsePattern); if(nGridPoints < 0) throw std::runtime_error("Error in compute_grid."); output_current_memory_usage(LOG_AREA_DFT, "grid_generate_sparse_pattern end"); tm.print(LOG_AREA_DFT, __func__); pthread_mutex_unlock(&global_main_hicu_mutex); } ergo-3.5/source/dft/sparse_pattern.h0000664000175000017500000001104212743400307014516 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #if !defined(_DFT_SPARSE_PATTERN_H_) #define _DFT_SPARSE_PATTERN_H_ 1 #if !defined(BEGIN_NAMESPACE) #define BEGIN_NAMESPACE(x) namespace x { #define END_NAMESPACE(x) } /* x */ #endif #include #include #include "basisinfo.h" BEGIN_NAMESPACE(Dft) /** A way to store sparse matrix patterns */ class SparsePattern { public: /** ranges are upper-exclusive: involve i: lo <= i < hi. */ struct Interval { int lo, hi; Interval(int l_, int h_) : lo(l_), hi(h_){} }; typedef std::vector IntervalList; struct Column { IntervalList list; void addInterval(int lo, int hi); void addIntervals(int nIntervals, int (*intervals)[2]); struct Iterator { IntervalList::const_iterator current, end; int pos; Iterator(const IntervalList::const_iterator& beg, const IntervalList::const_iterator& end_, int p) : current(beg), end(end_), pos(p) {} Iterator& operator++() { ++pos; #if 0 if(pos == current->hi) printf("Iterator increased to %d current limit %d last? %s %s\n", pos, current->hi, & *current == & *end ? "YES" : "NO", current == end ? "YES" : "NO"); #endif if(pos >= current->hi) { ++current; if(current != end) pos = current->lo; else pos = 0; } return *this; } bool operator!=(const Iterator& other) const { bool res = !(& *current == & *other.current && pos == other.pos); #if 0 printf("Iterator::operator!=() compares %p with %p, returns %s \n", & *current, & *other.current, res ? "TRUE" : "FALSE"); #endif return res; } int operator*() const { //printf("Iterator::operator*() returns %d\n", pos); return pos; } const Interval* operator->() const { return &(*current); } }; Iterator begin() const { IntervalList::const_iterator a = list.begin(); IntervalList::const_iterator b = list.end(); return Iterator(a, b, a != list.end() ? a->lo : 0); } Iterator end() const { return Iterator(list.end(),list.end(),0); } int size() const { int result = 0; for(IntervalList::const_iterator i = list.begin(); i != list.end(); ++i) result += i->hi- i->lo; return result; } }; private: const BasisInfoStruct& bis; Column *ranges; public: explicit SparsePattern(const BasisInfoStruct& bis_) : bis(bis_), ranges(new Column[bis_.noOfBasisFuncs]) { } ~SparsePattern() { delete []ranges; } /** marks specified ranges as used. */ void add(int nRanges, const int (*range)[2]); void save(FILE *f) const; void load(FILE *f); const Column& operator[](int column) const { return ranges[column]; } /** returns the number of stored elements for specified column. */ int getColumnSize(int col) const { return ranges[col].size(); } /** Returns the dimension of the pattern. Auxiliary function. */ int size() const { return bis.noOfBasisFuncs; } /** returns the total number of nonzero elements. */ int sizeTotal() const; }; void setupShellMap(const BasisInfoStruct& bis, int *shellMap, int *aoMap); END_NAMESPACE(Dft) #endif /* _DFT_SPARSE_PATTERN_H_ */ ergo-3.5/source/dft/fun-kt.c0000664000175000017500000003006612743400307012672 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file fun-kt.c Implementation of KT functional and its derivatives. Or exactly: KT GGA correction to the functional for KT1,KT2 total functional energy is E_LDA+E_KT). Reference: Keal, Tozer, J. Chem. Phys., 119, 3015 (2003). GAMMA is included in the KTx definition in fun-gga.c implemented by Dave Wilson (davidwi@kjemi.uio.no) NOTE: this file may seem unnecessarily complex but the structure does pay off when implementing multiple functionals depending on different parameters. */ #define FOURTH_ORDER_DERIVATIVES #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int kt_isgga(void) { return 1; } static int kt_read(const char* conf_line); static real kt_energy(const FunDensProp* dens_prop); static void kt_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dens_prop); static void kt_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dens_prop); static void kt_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dens_prop); #ifdef FOURTH_ORDER_DERIVATIVES static void kt_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dens_prop); #endif Functional KTFunctional = { "KT", /* name */ kt_isgga, /* gga-corrected */ kt_read, /* set bloody common blocks */ NULL, /* reporter */ kt_energy, kt_first, kt_second, kt_third #ifdef FOURTH_ORDER_DERIVATIVES ,kt_fourth #endif }; /* IMPLEMENTATION PART */ static int kt_read(const char* conf_line) { fun_set_hf_weight(0.0); return 1; } /* kt_energy: note that in reality E_KT = E_KT,alpha + E_KT,beta i.e the energy is linear in alpha and beta densities. KT threshold is needed to avoid numerical problems on 0/0 divisions. The problems are small but it is better to be on the safe side. */ static const real KT_THRESHOLD = 1e-14; static const real DELTA = 0.1; static real kt_energy(const FunDensProp* dp) { real ea,eb; if (dp->rhobgradb; real rb = POW(dp->rhob,4.0/3.0); real denomb = rb + DELTA; eb = xb*xb/denomb; } if (dp->rhoagrada; real ra = POW(dp->rhoa,4.0/3.0); real denoma = ra + DELTA; ea = xa*xa/denoma; } return (ea+eb); } static void kt_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { real xa, ra43, ra13; real xb, rb43, rb13; real denoma, denoma2; real denomb, denomb2; real faZ, faR; real fbZ, fbR; if (dp->rhoa >KT_THRESHOLD) { xa = dp->grada; ra43 = POW(dp->rhoa,4.0/3.0); ra13 = POW(dp->rhoa,1.0/3.0); denoma = ra43 + DELTA; denoma2= denoma*denoma; faR = -4.0/3.0*xa*xa*ra13/denoma2; faZ = 2.0*xa/denoma; ds->df1000 += factor*faR; ds->df0010 += factor*faZ; } if (dp->rhob >KT_THRESHOLD) { xb = dp->gradb; rb43 = POW(dp->rhob,4.0/3.0); rb13 = POW(dp->rhob,1.0/3.0); denomb = rb43 + DELTA; denomb2= denomb*denomb; fbR = -4.0/3.0*xb*xb*rb13/denomb2; fbZ = 2.0*xb/denomb; ds->df0100 += factor*fbR; ds->df0001 += factor*fbZ; } } static void kt_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { real xa, ra43, ra13, ram2; real xb, rb43, rb13, rbm2; real denoma, denoma2, t1a; real denomb, denomb2, t1b; real faR, faZ, faRZ, faZZ, faRR; real fbR, fbZ, fbRZ, fbZZ, fbRR; if (dp->rhoa >KT_THRESHOLD) { xa = dp->grada; ra43 = POW(dp->rhoa,4.0/3.0); ra13 = POW(dp->rhoa,1.0/3.0); ram2 = POW(dp->rhoa,-2.0/3.0); denoma = ra43 + DELTA; denoma2= denoma*denoma; faR = -(4.0/3.0)*xa*xa*ra13/denoma2; faZ = 2.0*xa/denoma; t1a = 4.0/9.0*xa*xa/denoma2; faRR = -ram2 + 8.0*ra13*ra13/denoma; faRZ = -8.0/3.0*xa*ra13/denoma2; faZZ = 2.0/denoma; ds->df1000 += factor*faR; ds->df0010 += factor*faZ; ds->df1010 += factor*faRZ; ds->df2000 += factor*faRR*t1a; ds->df0020 += factor*faZZ; } if (dp->rhob >KT_THRESHOLD) { xb = dp->gradb; rb43 = POW(dp->rhob,4.0/3.0); rb13 = POW(dp->rhob,1.0/3.0); rbm2 = POW(dp->rhob,-2.0/3.0); denomb = rb43 + DELTA; denomb2= denomb*denomb; fbR = -4.0/3.0*xb*xb*rb13/denomb2; fbZ = 2.0*xb/denomb; t1b = 4.0/9.0*xb*xb/denomb2; fbRR = -rbm2 + 8.0*rb13*rb13/denomb; fbRZ = -8.0/3.0*xb*rb13/denomb2; fbZZ = 2.0/denomb; ds->df0100 += factor*fbR; ds->df0001 += factor*fbZ; ds->df0101 += factor*fbRZ; ds->df0200 += factor*fbRR*t1b; ds->df0002 += factor*fbZZ; } } static void kt_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { real ra, xa, ra43, ra13, ram1, ram2; real rb, xb, rb43, rb13, rbm1, rbm2; real xad2, t1a, t2a; real xbd2, t1b, t2b; real denoma, denoma2; real denomb, denomb2; real faR, faZ, faRR, faZZ, faRZ; real fbR, fbZ, fbRR, fbZZ, fbRZ; real faRRR, faRRZ, faRZZ, faZZZ; real fbRRR, fbRRZ, fbRZZ, fbZZZ; if (dp->rhoa >KT_THRESHOLD) { xa = dp->grada; ra = dp->rhoa; ra13 = POW(dp->rhoa,1.0/3.0); ra43 = ra13*ra; ram2 = ra13/ra; ram1 = ram2*ra13; denoma = ra43 + DELTA; denoma2= denoma*denoma; xad2 = xa/denoma2; t1a = 8.0/9.0*xad2*xa*ram1; t2a = 1.0 - 8.0*ra43/denoma; faR = -4.0/3.0*xad2*xa*ra13; faZ = 2.0*xa/denoma; faRR = -4.0/9.0*xad2*xa*ram2; faRZ = -8.0/3.0*xad2*ra13; faZZ = 2.0/denoma; faZZZ = 0.0; faRZZ = -8.0/3.0*ra13/denoma2; faRRZ = -8.0/9.0*xad2*ram2; faRZZ = -8.0/3.0*ra13/denoma2; faRRR = 1.0/(3.0*ra43) + 4.0/denoma - 16.0*ra43/denoma2; ds->df1000 += factor*faR; ds->df0010 += factor*faZ; ds->df1010 += factor*faRZ; ds->df2000 += factor*faRR*t2a; ds->df0020 += factor*faZZ; ds->df3000 += factor*faRRR*t1a; ds->df0030 += factor*faZZZ; ds->df2010 += factor*faRRZ*t2a; ds->df1020 += factor*faRZZ; } if (dp->rhob >KT_THRESHOLD) { xb = dp->gradb; rb = dp->rhob; rb13 = POW(dp->rhob,1.0/3.0); rb43 = rb13*rb; rbm2 = rb13/rb; rbm1 = rbm2*rb13; denomb = rb43 + DELTA; denomb2= denomb*denomb; xbd2 = xb/denomb2; t1b = 8.0/9.0*xbd2*xb*rbm1; t2b = 1.0 - 8.0*rb43/denomb; fbR = -4.0/3.0*xbd2*xb*rb13; fbZ = 2.0*xb/denomb; fbRR = -4.0/9.0*xbd2*xb*rbm2; fbRZ = -8.0/3.0*xbd2*rb13; fbZZ = 2.0/denomb; fbZZZ = 0.0; fbRRZ = -8.0/9.0*xbd2*rbm2; fbRZZ = -8.0/3.0*rb13/denomb2; fbRRR = 1.0/(3.0*rb43) + 4.0/denomb - 16.0*rb43/denomb2; ds->df0100 += factor*fbR; ds->df0001 += factor*fbZ; ds->df0101 += factor*fbRZ; ds->df0200 += factor*fbRR*t2b; ds->df0002 += factor*fbZZ; ds->df0300 += factor*fbRRR*t1b; ds->df0003 += factor*fbZZZ; ds->df0201 += factor*fbRRZ*t2b; ds->df0102 += factor*fbRZZ; } } #ifdef FOURTH_ORDER_DERIVATIVES static void kt_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dp) { real ra, xa, ra43, ra13, ra23, ram1, ram2; real rb, xb, rb43, rb13, rb23, rbm1, rbm2; real xad2, xa2d2, t1a, t2a, t3a; real xbd2, xb2d2, t1b, t2b, t3b; real denoma, denoma2, denoma3; real denomb, denomb2, denomb3; real faR, faZ, faRR, faZZ, faRZ; real fbR, fbZ, fbRR, fbZZ, fbRZ; real faRRR, faRRZ, faRZZ, faZZZ; real fbRRR, fbRRZ, fbRZZ, fbZZZ; real faRRRR, faRRRZ, faRRZZ, faRZZZ, faZZZZ; real fbRRRR, fbRRRZ, fbRRZZ, fbRZZZ, fbZZZZ; if (dp->rhoa >KT_THRESHOLD) { xa = dp->grada; ra = dp->rhoa; ra13 = POW(dp->rhoa,1.0/3.0); ra43 = ra13*ra; ra23 = ra13*ra13; ram2 = ra13/ra; ram1 = ram2*ra13; denoma = ra43 + DELTA; denoma2= denoma*denoma; denoma3= denoma2*denoma; xad2 = xa/denoma2; xa2d2 = xa*xa/denoma2; t1a = 1.0/(3.0*ra43) + 4.0/denoma - 16.0*ra43/denoma2; t2a = 1.0 - 8.0*ra43/denoma; t3a = -8.0/27.0*xa2d2*ram1; faR = -4.0/3.0*xad2*xa*ra13; faZ = 2.0*xa/denoma; faRR = -4.0/9.0*xad2*xa*ram2; faRZ = -8.0/3.0*xad2*ra13; faZZ = 2.0/denoma; faZZZ = 0.0; faRZZ = -8.0/3.0*ra13/denoma2; faRRZ = -8.0/9.0*xad2*ram2; faRZZ = -8.0/3.0*ra13/denoma2; faRRR = 8.0/9.0*xad2*xa*ram1; faZZZZ = 0.0; faRZZZ = 0.0; faRRZZ = -8.0/(9.0*ra23*denoma2); faRRRZ = 16.0/9.0*xad2*ram1; faRRRR = 5.0/(3.0*ra*ra43) + 20.0/(3.0*ra*denoma) + 96.0*ra13/denoma2 - 256.0*ra*ra23/denoma3; ds->df1000 += factor*faR; ds->df0010 += factor*faZ; ds->df1010 += factor*faRZ; ds->df2000 += factor*faRR*t2a; ds->df0020 += factor*faZZ; ds->df3000 += factor*faRRR*t1a; ds->df0030 += factor*faZZZ; ds->df2010 += factor*faRRZ*t2a; ds->df1020 += factor*faRZZ; ds->df4000 += factor*faRRRR*t3a; ds->df0040 += factor*faZZZZ; ds->df3010 += factor*faRRRZ*t1a; ds->df1030 += factor*faRZZZ; ds->df2020 += factor*faRRZZ*t2a; } if (dp->rhob >KT_THRESHOLD) { xb = dp->gradb; rb = dp->rhob; rb13 = POW(dp->rhob,1.0/3.0); rb43 = rb13*rb; rb23 = rb13*rb13; rbm2 = rb13/rb; rbm1 = rbm2*rb13; denomb = rb43 + DELTA; denomb2= denomb*denomb; denomb3= denomb2*denomb; xbd2 = xb/denomb2; xb2d2 = xb*xb/denomb2; t1b = 1.0/(3.0*rb43) + 4.0/denomb - 16.0*rb43/denomb2; t2b = 1.0 - 8.0*rb43/denomb; t3b = -8.0/27.0*xb2d2/rb13; fbR = -4.0/3.0*xbd2*xb*rb13; fbZ = 2.0*xb/denomb; fbRR = -4.0/9.0*xbd2*xb*rbm2; fbRZ = -8.0/3.0*xbd2*rb13; fbZZ = 2.0/denomb; fbZZZ = 0.0; fbRRZ = -8.0/9.0*xbd2*rbm2; fbRZZ = -8.0/3.0*rb13/denomb2; fbRRR = 8.0/9.0*xbd2*xb*rbm1; fbZZZZ = 0.0; fbRZZZ = 0.0; fbRRZZ = -8.0/(9.0*rb23*denomb2); fbRRRZ = 16.0/9.0*xbd2*rbm1; fbRRRR = +5.0/(3.0*rb*rb43) + 20.0/(3.0*rb*denomb) + 96.0*rb13/denomb2 - 256.0*rb*rb23/denomb3; ds->df0100 += factor*fbR; ds->df0001 += factor*fbZ; ds->df0101 += factor*fbRZ; ds->df0200 += factor*fbRR*t2b; ds->df0002 += factor*fbZZ; ds->df0300 += factor*fbRRR*t1b; ds->df0003 += factor*fbZZZ; ds->df0201 += factor*fbRRZ*t2b; ds->df0102 += factor*fbRZZ; ds->df0400 += factor*fbRRRR*t3b; ds->df0004 += factor*fbZZZZ; ds->df0301 += factor*fbRRRZ*t1b; ds->df0103 += factor*fbRZZZ; ds->df0202 += factor*fbRRZZ*t2b; } } #endif ergo-3.5/source/dft/grid_atomic.h0000664000175000017500000000563412743400307013757 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file grid_atomic.h Implements shared parts of the grid generation code. Examples include radial grids and code for determining active shells in given space. */ #if !defined(_GRID_ATOMIC_H_) #define _GRID_ATOMIC_H_ 1 #include "realtype.h" #include "matrix_typedefs.h" #include "basisinfo.h" #include "grid_interface.h" typedef ergo_real real; typedef ergo_long_real long_real; extern const real BraggRadii[]; extern const unsigned BraggSize; /** RadialScheme describes the radial grid. */ struct RadialScheme { const char *name; int gridSize; explicit RadialScheme(const char *n) : name(n), gridSize(0) {} inline int size() const { return gridSize; } virtual void init(int myNumber, int charge, real threshold) = 0; virtual void generate(real *r, real *w) = 0; virtual ~RadialScheme() {} }; struct RadialSchemeGC2 : public RadialScheme { void *quadData; RadialSchemeGC2(): RadialScheme("Gauss-Chebychev scheme of second kind") {} virtual void init(int myNumber, int charge, real threshold); virtual void generate(real *r, real *w); }; struct RadialSchemeTurbo : public RadialScheme { real zeta; RadialSchemeTurbo(): RadialScheme("Chebychev T2 scheme/M4 mapping (Turbo)") {} virtual void init(int myNumber, int charge, real threshold); virtual void generate(real *r, real *w); }; struct RadialSchemeLMG : public RadialScheme { explicit RadialSchemeLMG(const GridGenMolInfo& ggmi_); virtual void init(int myNumber, int charge, real threshold); virtual void generate(real *r, real *w); virtual ~RadialSchemeLMG(); private: const GridGenMolInfo& ggmi; int *nucorb; real (*aa)[2]; int maxL; /* grid params */ real rl, grdc, h, eph; }; #endif /* _GRID_ATOMIC_H_ */ ergo-3.5/source/dft/grid_stream.cc0000664000175000017500000010202512743400307014124 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file grid_stream.cc @brief This is a streaming version of the linearly-scaling grid generator. The grid is generated on the fly, without the in-memory sort phase. The disk format is shared with the ordinary grid. The separation of the ordinary grid data (coordinates, weights) from the auxiliary data (lists of active orbitals) is taken into account so that grid can be used for integration in the auxiliary basis. */ #include #include #include #include #include #include #include #include #include "dft_common.h" #include "grid_stream.h" #include "grid_atomic.h" #include "lebedev_laikov.h" #include "molecule.h" #include "output.h" #include "realtype.h" #include "utilities.h" /* FIXME: remove this dependency */ #include "sparse_matrix.h" //#define BEGIN_NAMESPACE(x) namespace x { // #define END_NAMESPACE(x) } /* x */ typedef ergo_real real; /* NAMESPACE NAMESPACE NAMESPACE NAMESPACE NAMESPACE NAMESPACE NAMESPACE */ BEGIN_NAMESPACE(Grid) /** Ignore all grid points that partitioning scales down by more than WEIGHT_THRESHOLD */ static const real WEIGHT_THRESHOLD = 1e-15; /** A grid describing a radial grid for an atom with a specific charge. */ class RadialGrid { public: real *rad; /**< Array of radial grid points */ real *weights; /**< Array of the weights associated with the grid points */ int *nAngular; /**< array of sizes of corresponding angular grids. */ int noOfRadPoints; RadialGrid(int charge_, RadialScheme* rs, int angMin, int angMax); int getCharge() const { return charge; } real getRadius() const { return rad[noOfRadPoints-1]; } unsigned getPointCount() const { unsigned s = 0; for(int j=0; j10) { if(charge<=18) maxAng += 5; else if(charge<=36) maxAng += 10; else maxAng += 15; } int currentAng = maxAng; int maxAngular = ll_npoint(maxAng); for (int i=0; igridSize; rad = new real[noOfRadPoints]; weights = new real[noOfRadPoints]; nAngular = new int[noOfRadPoints]; rs->generate(rad, weights); setAngularFixed(angMin, angMax); } class AtomicGrid { const RadialGrid* rGrid; public: Vector3D center; const RadialGrid& getRadialGrid() const { return *rGrid; } /** Returns "radius" of an atomic grid. It stretches really bit longer than the last grid point. */ real radius() const { return rGrid->getRadius(); } int charge() const { return rGrid->getCharge(); } unsigned getPointCount() const { return rGrid->getPointCount(); } AtomicGrid(const AtomicGrid& a) : rGrid(a.rGrid), center(a.center) {} AtomicGrid(const real c[3], const RadialGrid* rg) : rGrid(rg), center(c[0], c[1], c[2]) { } AtomicGrid(const Atom& atom, const RadialGrid* rg) : rGrid(rg), center(atom.coords[0],atom.coords[1],atom.coords[2]) { } }; /** "Block" partitioning is the only one implemented now... We rename it here to Box partitioner to avoid name space conflicts. */ class BoxPartitioner { const real (*coor)[3]; real *rj; long_real *p_kg; long_real *vec; real *invAtomDistances; /**< a triangular array */ real *atomFactors; /**< a triangular array */ static const int HARDNESS = 11; real xpasc[HARDNESS], apasc; unsigned maxPointCnt; unsigned maxAtomPointCnt; unsigned maxRelevantAtoms; int LDA; /* leading dimension of rj and p_kg */ void prepare(const std::vector& atoms, unsigned noOfRelevantAtoms, const unsigned *relevantAtoms, unsigned pointCnt, const real (*gridPoints)[3]); /** return distance between given pair of relevant atoms. Arguments i and j specify the number of the atoms on the list of relevant atoms. */ real getInvDistanceBetweenAtoms(int i, int j) const { return i>j ? invAtomDistances[(i*(i-1))/2 + j] : invAtomDistances[(j*(j-1))/2 +i]; } real getFactor(int i, int j) const { return i>j ? atomFactors[(i*(i-1))/2 + j] : atomFactors[(j*(j-1))/2 +i]; } public: BoxPartitioner(); ~BoxPartitioner(); unsigned process(unsigned atomNumber, const std::vector& atomGrids, int noOfRelevantAtoms, const unsigned *relevantAtoms, unsigned batchLength, real (*coor)[3], real *w); }; /** Initializez the BoxPartitioner object. */ BoxPartitioner::BoxPartitioner() : coor(NULL), rj(NULL), p_kg(NULL), vec(NULL), invAtomDistances(NULL), atomFactors(NULL), maxPointCnt(0), maxAtomPointCnt(0), maxRelevantAtoms(0) { int h; real facult[HARDNESS], isign = -1; facult[0] = 1; for(h=1; h=0; h--) { isign = -isign; xpasc[h] = isign*facult[HARDNESS-1]/ ((2*h+1)*facult[h]*facult[HARDNESS-1-h]); } xpasc[0] = 1; apasc = 0; for(h=0; h& atoms, unsigned noOfRelevantAtoms, const unsigned *relevantAtoms, unsigned pointCnt, const real (*gridPoints)[3]) { unsigned ptno; coor = gridPoints; LDA = pointCnt; /* FIXME: optimize reallocation strategies to avoid increases by 1? */ if (noOfRelevantAtoms*pointCnt > maxAtomPointCnt) { maxAtomPointCnt = noOfRelevantAtoms*pointCnt; if (rj) delete []rj; if (p_kg) delete []p_kg; rj = new real[noOfRelevantAtoms*pointCnt]; p_kg = new long_real[noOfRelevantAtoms*pointCnt]; } if (pointCnt > maxPointCnt) { maxPointCnt = pointCnt; if (vec) delete []vec; vec = new long_real[pointCnt]; } if (noOfRelevantAtoms > maxRelevantAtoms) { maxRelevantAtoms = noOfRelevantAtoms; if(invAtomDistances) { delete []invAtomDistances; delete []atomFactors; } invAtomDistances = new real[(noOfRelevantAtoms*(noOfRelevantAtoms-1))/2]; atomFactors = new real[(noOfRelevantAtoms*(noOfRelevantAtoms-1))/2]; } memset(vec, 0, pointCnt*sizeof(vec[0])); for(unsigned i=0; i=(signed)BraggSize ? BraggSize-1 : atoms[atno].charge())]; for(unsigned j=0; j=(signed)BraggSize ? BraggSize-1 : atoms[atno2].charge())]; real chi = std::sqrt(iradius/jradius); real temp = (chi-1)/(chi+1); temp = temp/(temp*temp-1); if(temp>0.5) temp = 0.5; else if(temp<-0.5) temp = -0.5; atomFactors[(i*(i-1))/2 + j] = temp; invAtomDistances[(i*(i-1))/2 + j] = 1.0/d; } real *rji = rj + i*LDA; long_real *p_kgi = p_kg + i*LDA; for(ptno=0; ptno& atomGrids, int noOfRelevantAtoms, const unsigned *relevantAtoms, unsigned batchLength, real (*coor)[3], real *w) { int i, j; unsigned ptno; prepare(atomGrids, noOfRelevantAtoms, relevantAtoms, batchLength, coor); for(i=1; i1)) printf("Too large mu: %g by %g ptno: %i\n", mu, 1-std::fabs(mu), ptno); #endif if(mu>1.0) mu = 1.0; else if(mu<-1.0) mu = -1.0; mu += bFac*(1-mu*mu); mu2 = mu*mu; g_mu = 0; for(int h=0; h0.5) fac = 0.5; else if(fac<-0.5) fac = -0.5; p_kgI[ptno] *= 0.5-fac; p_kgJ[ptno] *= 0.5+fac; } } } /* compute weight normalization factors */ for(i=0; i=WEIGHT_THRESHOLD) { w[dest] = w[src]*fac; coor[dest][0] = coor[src][0]; coor[dest][1] = coor[src][1]; coor[dest][2] = coor[src][2]; dest++; } } return dest; } /** A class that is able to quickly determine the active shells that overlap with given box in space. */ class ActiveBfShells { const GridGenMolInfo& ggmi; real *rShell2; public: explicit ActiveBfShells(const GridGenMolInfo& ggmi_) : ggmi(ggmi_), rShell2(new real[ggmi_.noOfShells]) { ggmi.setShellRadii(rShell2); } int getMaxShells() const { return ggmi.noOfShells; } ~ActiveBfShells() { delete []rShell2; } void setForBox(const Box& b, int *nBlocks, int (*shlBlocks)[2]) const; /**< the start and stop+1 indexes. */ static int getNoOfShells(int nBlocks, int (*shlBlocks)[2]) { int sum = 0; for(int block=0; block atomTypes; std::vector atoms; ActiveBfShells& activeShells; RadialScheme* radialScheme; real radialThreshold; int angularMin, angularMax; /* unsigned long contributionsToCompute; nPoints*nShells*nShells */ unsigned savedPoints; unsigned expectedPoints; int noOfThreads; }; pthread_mutex_t Stream::fileSaveMutex = PTHREAD_MUTEX_INITIALIZER; const AtomicGrid& Stream::getAtomicGrid(unsigned i) const { return atoms[i]; } inline unsigned Stream::noOfAtoms() const { return atoms.size(); } void Stream::addAtom(const real coor[3], int charge, int atomNo) { std::vector::iterator i; for(i= atomTypes.begin(); i != atomTypes.end(); ++i) if( (*i)->getCharge() == charge) break; if(i == atomTypes.end()) { radialScheme->init(atomNo, charge, radialThreshold); RadialGrid *rg = new RadialGrid( charge, radialScheme, angularMin, angularMax); atomTypes.push_back(rg); atoms.push_back(AtomicGrid(coor, rg)); do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Grid for charge %d: %d radial points, %d total, r=%f", charge, rg->noOfRadPoints, rg->getPointCount(), (double)rg->getRadius()); #if 0 printf("Added atom type with charge %f and radius %g, %u points\n", charge, rg->getRadius(), rg->getPointCount()); #endif } else { atoms.push_back(AtomicGrid(coor, *i)); } AtomicGrid &ag = atoms.back(); unsigned nPoints = ag.getPointCount(); expectedPoints += nPoints; } /** Saves a batch of grid points to given file. */ unsigned Stream::saveBatch(unsigned batchLength, real (*coor)[3], real *weight, unsigned nBlocks, int (*shlBlocks)[2], FILE *f) const { pthread_mutex_lock(&fileSaveMutex); if(fwrite(&batchLength, sizeof(batchLength), 1, f)!=1 || fwrite(&nBlocks, sizeof(nBlocks), 1, f) != 1 || fwrite(shlBlocks, sizeof(int), nBlocks*2, f) != nBlocks*2 || fwrite(coor, sizeof(real), 3*batchLength, f) != 3*batchLength || fwrite(weight, sizeof(real), batchLength, f) != batchLength) throw "Cannot save grid point batch on file"; /*unsigned nShells = activeShells.getNoOfShells(); contributionsToCompute += batchLength*nShells*nShells; */ if(sparsePattern) sparsePattern->add(nBlocks, shlBlocks); pthread_mutex_unlock(&fileSaveMutex); return batchLength; } /** Method saves all grid points associated with specified atom, located in the specified box. It will also save the associated auxiliary information (usually a list of active orbitals) - this is why we pass an atom list. FIXME: this probably needs to be thought through: what factor decides the atom radius, really? Is it max(auxiliaryRadius, gridRadius)? */ unsigned Stream::saveAtomGridInBox(unsigned iAtom, const Box& box, BoxPartitioner& partitioner, unsigned cnt, const unsigned relevantAtoms[], int (*shlBlocks)[2], FILE *stream) const { /* MAX_BATCH_LENGTH Must be larger than the densest angular grid. */ /* Elias note 2016-07-08: The MAX_BATCH_LENGTH value here was decreased from 8192 to 4096 because the 8192 was apparently too large when running on a Mac, it seemed like the threads ran out of stack space then. */ /* FIXME: there does not seem to be proper checking if the MAX_BATCH_LENGTH value is too small, it just gives wrong results without detecting the error. */ static const unsigned MAX_BATCH_LENGTH = 4096; const AtomicGrid& atom = atoms[relevantAtoms[iAtom]]; real dist = box.getDistanceTo(atom.center.v); const RadialGrid& rGrid = atom.getRadialGrid(); assert(rGrid.noOfRadPoints>0); assert(rGrid.rad[rGrid.noOfRadPoints-1]>rGrid.rad[0]); real coor[MAX_BATCH_LENGTH][3]; real weight[MAX_BATCH_LENGTH]; real angX[MAX_BATCH_LENGTH], angY[MAX_BATCH_LENGTH], angZ[MAX_BATCH_LENGTH]; real angW[MAX_BATCH_LENGTH]; unsigned usedPoints = 0; int nBlocks; unsigned savedPoints = 0; #if 0 /* amazingly enough, these memsets quieten valgrind warnings with long double calculations. */ memset(coor, 0, sizeof(real)*3*MAX_BATCH_LENGTH); memset(weight, 0, sizeof(real)*MAX_BATCH_LENGTH); #endif activeShells.setForBox(box, &nBlocks, shlBlocks); if(nBlocks == 0) { #if 0 printf("Got zero AO blocks for box (%f,%f,%f)-(%f,%f,%f).\n", box.lo[0], box.lo[1], box.lo[2], box.hi[0], box.hi[1], box.hi[2]); #endif return 0; } for (int i=0; i (signed)MAX_BATCH_LENGTH) throw "MAX_BATCH_LENGTH too small!"; /* Add points to the batch here... */ real radius = rGrid.rad[i]; real rWeight = rGrid.weights[i]*4.0*M_PI; ll_sphere(nAngPoints, angX, angY, angZ, angW); #if 0 printf("B %2i: r %8.2f W: %8.2g Ang: %d| %g %g %g\n", i, radius, rWeight, nAngPoints, angX[0], angY[0], angZ[0]); #endif for(int pnt=0; pnt 1 &&*/ maxSize > boxSize) { bool res = true; std::vector localIndices; localIndices.reserve(atomCount); real splitPos = box.lo[maxDim] + 0.5*maxSize; Box newBox = box; newBox.hi[maxDim] = splitPos; for(unsigned i=0; i %i absolute does not overlap\n", i, atomIndices[i]); continue; } /* Save all the grid points of this atoms in the given box, does the partitioning as well. */ ssc.savedPoints += saveAtomGridInBox(i, box, ssc.partitioner, atomCount, atomIndices, ssc.shlBlocks, ssc.stream); } #if 0 printf("BOX (%f,%f,%f)-(%f,%f,%f) contains %u grid points\n", box.lo[0], box.lo[1], box.lo[2], box.hi[0], box.hi[1], box.hi[2], savedPoints - c); #endif } return true; } struct ThreadInfo { pthread_t tid; const Stream* stream; FILE *f; const Box* box; unsigned atomCnt; const unsigned *atoms; unsigned myRank; unsigned savedPoints; bool res; }; void* Stream::saveThread(void *data) { static const int SAVEGRID_ERROR = 0; ThreadInfo *ti = (ThreadInfo*)data; try { BoxPartitioner partitioner; StreamSaveContext ssc(ti->f,partitioner, ti->stream->activeShells.getMaxShells(), ti->myRank); ti->res = ti->stream->saveAtomsRecursively(ssc, *ti->box, ti->atomCnt, ti->atoms, 0); ti->savedPoints = ssc.savedPoints; } catch(const char *s) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Stream::saveThread: xcWorker thread caught an exception '%s'", s); return (void*)&SAVEGRID_ERROR; } catch(const std::bad_alloc & e) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Stream::saveThread: xcWorker thread caught an exception '%s'", e.what()); return (void*)&SAVEGRID_ERROR; } catch(const std::runtime_error & e) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Stream::saveThread: xcWorker thread caught an exception '%s'", e.what()); return (void*)&SAVEGRID_ERROR; } catch(...) { do_output(LOG_CAT_ERROR, LOG_AREA_DFT, "Stream::saveThread: xcWorker thread caught unexpected exception."); return (void*)&SAVEGRID_ERROR; } return NULL; } /** Generates the grid and saves it to the file with given name. @return Number of saved grid points. */ bool Stream::saveToFile(const char *fname, int noOfThreads) { bool res; FILE *f = fopen(fname, "wb"); if (!f) return false; unsigned n = noOfAtoms(); unsigned *atomIndices = new unsigned[n]; for(unsigned i=0; inoOfThreads = noOfThreads; if(noOfThreads<=1) { BoxPartitioner p; StreamSaveContext ssc(f, p, activeShells.getMaxShells(), 0); res = saveAtomsRecursively(ssc, box, n, atomIndices, 0); savedPoints = ssc.savedPoints; } else { std::vector threads(noOfThreads); for(int i=0; i::iterator i= atomTypes.begin(); i != atomTypes.end(); ++i) { delete *i; } /* It can happen with GC2 radial grid that some of the grid points are ignored because no AO function reaches there. */ if (savedPoints != expectedPoints) { do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Grid pruned from %d to %d grid points.", expectedPoints, savedPoints); /* throw "Grid generator lost some points"; */ } } END_NAMESPACE(Grid) /* NAMESPACE NAMESPACE NAMESPACE NAMESPACE NAMESPACE NAMESPACE NAMESPACE */ /** Ergo-specific GridStream implementation. */ class ErgoGridStream : public Grid::Stream { Grid::ActiveBfShells ergoShells; public: const Dft::GridParams& gsSettings; ErgoGridStream(const Dft::GridParams& gss, const GridGenMolInfo& molInfo, RadialScheme *rs); }; ErgoGridStream::ErgoGridStream(const Dft::GridParams& gss, const GridGenMolInfo& molInfo, RadialScheme *rs) : Stream(ergoShells, rs, gss.radint, gss.angmin, gss.angmax, gss.boxSize, gss.cubicBoxes), ergoShells(molInfo), gsSettings(gss) { for(int i=0; isparsePattern = pattern; } /** Generate grid for given molecule. @param stream The grid object. @param fname The file name the grid is to be saved to. @param noOfThreads the number of threads that are supposed to be created and used for the grid generation. */ unsigned grid_stream_generate(ErgoGridStream *stream, const char *fname, int noOfThreads) { unsigned res; Util::TimeMeter tm; if(noOfThreads<1) noOfThreads = 1; try { const Dft::GridParams& gss = stream->gsSettings; const char *gridType; switch(gss.radialGridScheme) { case Dft::GridParams::GC2: gridType = "GC2"; break; case Dft::GridParams::LMG: gridType = "LMG"; break; case Dft::GridParams::TURBO: gridType = "Turbo"; break; default: gridType = "Invalid"; break; } do_output(LOG_CAT_INFO, LOG_AREA_DFT, "Generating %s grid Radint = %g AngInt: [ %d %d ]", gridType, (double)gss.radint, gss.angmin, gss.angmax); stream->saveToFile(fname, noOfThreads); res = stream->getPointCount(); } catch(const char *s) { printf("Error generating the grid: %s\n", s); fprintf(stderr, "Error generating the grid: %s\n", s); abort(); } tm.print(LOG_AREA_DFT, __func__); return res; } void grid_stream_free(ErgoGridStream *stream) { delete stream; } ergo-3.5/source/dft/fun-pw91c.c0000664000175000017500000016733112743400307013225 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file fun-pw91c.c PW91C implementation. Automatically generated code implementing pw91c functional and its derivatives. Generated by func-codegen.pl being a part of a "Automatic code generation framework for analytical functional derivative evaluation", Pawel Salek, 2004 This functional is connected by making following changes: 1. add "extern Functional pw91cFunctional;" to 'functionals.h' 2. add "&pw91cFunctional," to 'functionals.c' 3. add "fun-pw91c}.c" to 'Makefile.am', 'Makefile.in' or 'Makefile'. This functional has been generated from following input: ------ cut here ------- PW92C parameters c:1.709921; T:[0.031091,0.015545,0.016887]; U:[0.21370,0.20548,0.11125]; V:[7.5957,14.1189,10.357]; W:[3.5876,6.1977,3.6231]; X:[1.6382,3.3662,0.88026]; Y:[0.49294,0.62517,0.49671]; P:[1,1,1]; PW92C helper functions r(a,b):=(3/(4*%PI*(a+b)))^(1/3); zet(a,b):=(a-b)/(a+b); omega(z):=((1+z)^(4/3)+(1-z)^(4/3)-2)/(2^(4/3)-2); en(r,t,u,v,w,x,y,p):=-2*t*(1+u*r)*log(1+1/(2*t*(v*sqrt(r)+w*r+x*r^(3/2)+y*r^(p+1)))); eps(a,b):=en(r(a,b),T[1],U[1],V[1],W[1],X[1],Y[1],P[1]); pw91c parameters iota:0.09; nu:16/%PI*(3*%PI^2)^(1/3); kappa:0.004235; lamda:nu*kappa; Z:-0.001667; Xi:23.266; Phi:0.007389; Lamda:8.723; Upsilon:0.472; pw91c functions (closed shell!) theta(r):=10^(-3)*(2.568+Xi*r+Phi*r^2)/(1+Lamda*r+Upsilon*r^2+10*Phi*r^3); phi(r):=theta(r)-Z; sigma(ga,gb,gab):=ga*ga+gb*gb+2*gab; d(a,b,ga,gb,gab):=sqrt(sigma(ga,gb,gab))/4/(3/%PI)^(1/6)/(a+b)^(7/6); A(a,b):=2*iota/lamda*(1/(exp(-2*iota*eps(a,b)/lamda^2)-1)); L(d,a,b):=lamda^2/(2*iota)*log((1+2*(iota*(d^2+A(a,b)*d^4))/(lamda*(1+A(a,b)*d^2+(A(a,b))^2*d^4)))); J(d,a,b):=nu*(phi(r(a,b))-kappa-3*Z/7)*d^2*exp(-100*4/(3*%PI^5*(a+b))^(1/3)*d^2); H(d,a,b):=L(d,a,b)+J(d,a,b); kernel K(rhoa,grada,rhob,gradb,gradab):=(rhoa+rhob)*(eps(rhoa,rhob)+H(d(rhoa,rhob,grada,gradb,gradab),rhoa,rhob)); ------ cut here ------- */ #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int pw91c_isgga(void) { return 1; } /* FIXME: detect! */ static int pw91c_read(const char *conf_line); static real pw91c_energy(const FunDensProp *dp); static void pw91c_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp); static void pw91c_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp); static void pw91c_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp); Functional Pw91cFunctional = { "PW91c", /* name */ pw91c_isgga, /* gga-corrected */ pw91c_read, NULL, pw91c_energy, pw91c_first, pw91c_second, pw91c_third }; /* IMPLEMENTATION PART */ static int pw91c_read(const char *conf_line) { fun_set_hf_weight(0); return 1; } static real pw91c_energy(const FunDensProp *dp) { real res; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22; t1 = rhob+rhoa; t2 = POW(gradb,2.0)+2.0*gradab+POW(grada,2.0); t3 = 1/POW(t1,2.333333333333334); t4 = POW(3.0,0.66666666666667); t5 = 1/POW(4.0,0.66666666666667); t6 = POW(3.141592653589793,0.66666666666667); t7 = 1/t6; t8 = 1/POW(t1,0.66666666666667); t9 = POW(3.0,0.33333333333333); t10 = 1/POW(4.0,0.33333333333333); t11 = POW(3.141592653589793,0.33333333333333); t12 = 1/t11; t13 = 1/POW(t1,0.33333333333333); t14 = 1/t4; t15 = POW(3.141592653589793,1.333333333333333); t16 = 0.2137*t9*t10*t12*t13+1.0; t17 = LOG(16.0818243221511/(0.49294*t4*t5*t7*t8+3.5876* t9*t10*t12*t13+7.5957*POW(3.0,0.16666666666667)/(POW(2.0,0.33333333333333)* POW(3.141592653589793,0.16666666666667)*POW(t1,0.16666666666667))+ 0.80042863499936/SQRT(t1))+1.0); t18 = 1/t9; t19 = POW(t2,2.0); t20 = 1/POW(t1,4.666666666666667); t21 = POW(2.718281828459045,2.437756914117331*t14*t6* t16*t17)-1.0; t22 = 1/t21; /* code */ res = t1*(t2*t3*(0.001*(23.266*t9*t10*t12*t13+0.007389* t4*t5*t7*t8+2.568)/(0.472*t4*t5*t7*t8+8.723000000000001*t9* t10*t12*t13+0.01763993811759/t1+1.0)-0.00185357142857)/POW(2.718281828459045, 25.0*t14*t2/(POW(t1,2.666666666666667)*t15))+0.02550787555556* LOG(2.656434474616293*t11*t18*(0.0625*t11*t18*t2*t3+0.01086645186224* t19*t20*t22)/(0.16602715466352*t14*t6*t2*t3*t22+0.00918833869522* t15*t18*t19*t20/POW(t21,2.0)+1.0)+1.0)*t4*t7-0.062182*t16* t17); return res; } static void pw91c_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp) { real dfdra, dfdrb, dfdga, dfdgb, dfdgab; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43, t44, t45, t46, t47, t48, t49, t50; real t51, t52, t53, t54, t55; t1 = POW(gradb,2.0)+2.0*gradab+POW(grada,2.0); t2 = rhob+rhoa; t3 = 1/POW(t2,2.333333333333334); t4 = 0.31830988618379; t5 = POW(3.0,0.66666666666667); t6 = 1/POW(4.0,0.66666666666667); t7 = POW(3.141592653589793,0.66666666666667); t8 = 1/t7; t9 = 1/POW(t2,0.66666666666667); t10 = POW(3.0,0.33333333333333); t11 = 1/POW(4.0,0.33333333333333); t12 = POW(3.141592653589793,0.33333333333333); t13 = 1/t12; t14 = 1/POW(t2,0.33333333333333); t15 = 0.472*t5*t6*t8*t9+0.0554175*t4/t2+8.723000000000001* t10*t11*t13*t14+1.0; t16 = 1/t15; t17 = 23.266*t10*t11*t13*t14+0.007389*t5*t6*t8*t9+2.568; t18 = 0.001* t16*t17-0.00185357142857; t19 = 1/t5; t20 = POW(3.141592653589793,1.333333333333333); t21 = 1/t20; t22 = 1/POW(2.718281828459045,25.0*t1*t19*t21/POW(t2, 2.666666666666667)); t23 = 0.2137*t10*t11*t13*t14+1.0; t24 = 1.732050807568877; t25 = 0.56418958354776; t26 = SQRT(t2); t27 = 1/POW(2.0,0.33333333333333); t28 = POW(3.0,0.16666666666667); t29 = 1/POW(3.141592653589793,0.16666666666667); t30 = 0.49294*t5*t6*t8*t9+7.5957*t27*t28*t29/POW(t2,0.16666666666667)+ 0.8191*t24*t25/t26+3.5876*t10*t11*t13*t14; t31 = 16.0818243221511/t30+1.0; t32 = LOG(t31); t33 = 1/POW(t2,1.666666666666667); t34 = 1/POW(t2,1.333333333333333); t35 = -1.195866666666667*t10*t11*t13*t34-0.32862666666667* t5*t6*t8*t33-1.26595*t27*t28*t29/POW(t2,1.166666666666667)- 0.40955*t24*t25/POW(t26,3.0); t36 = 1/POW(t30,2.0); t37 = 1/t31; t38 = POW(t1,2.0); t39 = 1/POW(t2,3.333333333333334); t40 = 1/t10; t41 = 1/POW(t2,4.666666666666667); t42 = POW(2.718281828459045,2.437756914117331*t19*t7* t23*t32); t43 = t42-1.0; t44 = 1/t43; t45 = 0.01086645186224*t38*t41*t44+0.0625*t1*t12*t3*t40; t46 = 1/ POW(t43,2.0); t47 = 0.00918833869522*t40*t20*t38*t41*t46+0.16602715466352* t19*t7*t1*t3*t44+1.0; t48 = 1/t47; t49 = 2.656434474616293*t40*t12*t45*t48+1.0; t50 = 1/t49; t51 = 1/POW(t2,5.666666666666667); t52 = -0.17364955084896*t40*t11*t12*t34*t32-39.20357843294411* t19*t7*t35*t23*t36*t37; t53 = 1/POW(t47,2.0); t54 = t2*(0.02550787555556*t5*t50*(2.656434474616293* t12*t40*t48*(-0.01086645186224*t38*t41*t42*t46*t52-0.05071010869043* t38*t44*t51-0.14583333333333*t1*t12*t39*t40)-2.656434474616293* t12*t40*t45*(-0.01837667739044*t20*t38*t40*t41*t42*t52/POW(t43, 3.0)-0.04287891391103*t40*t20*t38*t51*t46-0.38739669421488* t19*t7*t1*t39*t44-0.16602715466352*t19*t7*t1*t3*t52*t46*t42)* t53)*t8+t1*t22*t3*(0.001*t16*(-7.755333333333333*t10*t11*t13* t34-0.004926*t5*t6*t8*t33)-0.001*t17*(-0.0554175*t4/POW(t2, 2.0)-2.907666666666667*t10*t11*t13*t34-0.31466666666667*t5* t6*t8*t33)/POW(t15,2.0))-2.333333333333334*t1*t18*t22*t39+ 66.66666666666667*t18*t19*t21*t22*t38/POW(t2,6.0)+1.0*t35* t23*t36*t37+0.00442943113333*t10*t11*t13*t34*t32)+0.02550787555556* t5*t8*LOG(t49)-0.062182*t23*t32+t1*t3*t18*t22; t55 = 1/POW(t2,5.0); /* code */ dfdra = t54; dfdrb = t54; dfdga = t2*(0.02550787555556*t5*t50*t8*(2.656434474616293* t12*t40*t48*(0.04346580744894*t1*t41*t44*grada+0.125*t12*t3* t40*grada)-2.656434474616293*t40*t12*t45*(0.33205430932704* t19*t7*grada*t3*t44+0.03675335478089*t40*t20*grada*t1*t41* t46)*t53)-50.0*t1*t18*t19*t21*t22*t55*grada+2.0*t18*t22*t3* grada); dfdgb = t2*(0.02550787555556*t5*t50*t8*(2.656434474616293* t12*t40*t48*(0.04346580744894*t1*t41*t44*gradb+0.125*t12*t3* t40*gradb)-2.656434474616293*t40*t12*t45*(0.33205430932704* t19*t7*gradb*t3*t44+0.03675335478089*t40*t20*gradb*t1*t41* t46)*t53)-50.0*t1*t18*t19*t21*t22*t55*gradb+2.0*t18*t22*t3* gradb); dfdgab = t2*(0.02550787555556*t5*t50*(2.656434474616293* t12*t40*(0.04346580744894*t1*t41*t44+0.125*t12*t3*t40)*t48- 2.656434474616293*t40*t12*t45*(0.33205430932704*t19*t7*t3* t44+0.03675335478089*t40*t20*t1*t41*t46)*t53)*t8-50.0*t1*t18* t19*t21*t22*t55+2.0*t18*t22*t3); /* Final assignment */ ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df0010 += factor*dfdga; ds->df0001 += factor*dfdgb; ds->df00001+= factor*dfdgab; } static void pw91c_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp) { real dfdra, dfdrb, dfdga, dfdgb, dfdgab; real d2fdrara, d2fdrarb, d2fdraga, d2fdragb, d2fdrbrb, d2fdraab, d2fdgaga, d2fdgbgb, d2fdrbga, d2fdrbgb, d2fdrbgab, d2fdgagb, d2fdgagab, d2fdgbgab, d2fdgabgab; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43, t44, t45, t46, t47, t48, t49, t50; real t51, t52, t53, t54, t55, t56, t57, t58; real t59, t60, t61, t62, t63, t64, t65, t66; real t67, t68, t69, t70, t71, t72, t73, t74; real t75, t76, t77, t78, t79, t80, t81, t82; real t83, t84, t85, t86, t87, t88, t89, t90; real t91, t92, t93, t94, t95, t96, t97, t98; real t99, t100, t101, t102, t103, t104, t105; real t106, t107, t108, t109; t1 = POW(grada,2.0); t2 = POW(gradb,2.0); t3 = 2.0*gradab+t2+t1; t4 = rhob+rhoa; t5 = 1/POW(t4,2.333333333333334); t6 = 0.31830988618379; t7 = POW(3.0,0.66666666666667); t8 = 1/POW(4.0,0.66666666666667); t9 = POW(3.141592653589793,0.66666666666667); t10 = 1/t9; t11 = 1/POW(t4,0.66666666666667); t12 = POW(3.0,0.33333333333333); t13 = 1/POW(4.0,0.33333333333333); t14 = POW(3.141592653589793,0.33333333333333); t15 = 1/t14; t16 = 1/POW(t4,0.33333333333333); t17 = 0.0554175*t6/t4+8.723000000000001*t12*t13*t15*t16+ 0.472*t7*t8*t10*t11+1.0; t18 = 1/t17; t19 = 23.266*t12*t13*t15*t16+0.007389*t7*t8*t10*t11+2.568; t20 = 0.001* t18*t19-0.00185357142857; t21 = 1/t7; t22 = POW(3.141592653589793,1.333333333333333); t23 = 1/t22; t24 = 1/POW(t4,2.666666666666667); t25 = 1/POW(2.718281828459045,25.0*t21*t23*t24*t3); t26 = 0.2137* t12*t13*t15*t16+1.0; t27 = 1.732050807568877; t28 = 0.56418958354776; t29 = SQRT(t4); t30 = 1/POW(2.0,0.33333333333333); t31 = POW(3.0,0.16666666666667); t32 = 1/POW(3.141592653589793,0.16666666666667); t33 = 7.5957*t30*t31*t32/POW(t4,0.16666666666667)+0.8191* t27*t28/t29+3.5876*t12*t13*t15*t16+0.49294*t7*t8*t10*t11; t34 = 16.0818243221511/ t33+1.0; t35 = LOG(t34); t36 = 1/POW(t4,1.666666666666667); t37 = 1/POW(t4,1.333333333333333); t38 = -1.26595*t30*t31*t32/POW(t4,1.166666666666667)- 1.195866666666667*t12*t13*t15*t37-0.32862666666667*t7*t8*t10* t36-0.40955*t27*t28/POW(t29,3.0); t39 = 1/POW(t33,2.0); t40 = 1/t34; t41 = -7.755333333333333*t12*t13*t15*t37-0.004926*t7* t8*t10*t36; t42 = -0.0554175*t6/POW(t4,2.0)-2.907666666666667*t12* t13*t15*t37-0.31466666666667*t7*t8*t10*t36; t43 = 1/POW(t17,2.0); t44 = 0.001*t18*t41-0.001*t19*t42*t43; t45 = POW(t3,2.0); t46 = 1/POW(t4,6.0); t47 = 1/POW(t4,3.333333333333334); t48 = 1/t12; t49 = 1/POW(t4,4.666666666666667); t50 = POW(2.718281828459045,2.437756914117331*t21*t9* t26*t35); t51 = t50-1.0; t52 = 1/t51; t53 = 0.01086645186224*t45*t49*t52+0.0625*t14*t3*t48* t5; t54 = 1/POW(t51,2.0); t55 = 0.00918833869522*t48*t22*t45*t49*t54+0.16602715466352* t21*t9*t3*t5*t52+1.0; t56 = 1/t55; t57 = 2.656434474616293*t48*t14*t53*t56+1.0; t58 = 1/t57; t59 = 1/POW(t4,5.666666666666667); t60 = -0.17364955084896*t48*t13*t14*t37*t35-39.20357843294411* t21*t9*t38*t26*t39*t40; t61 = -0.01086645186224*t45*t49*t50*t54*t60-0.05071010869043* t45*t52*t59-0.14583333333333*t14*t3*t47*t48; t62 = 1/POW(t55,2.0); t63 = 1/POW(t51,3.0); t64 = -0.16602715466352*t21*t9*t3*t5*t60*t54*t50-0.01837667739044* t48*t22*t45*t49*t60*t63*t50-0.38739669421488*t21*t9*t3*t47* t52-0.04287891391103*t48*t22*t45*t59*t54; t65 = 2.656434474616293*t48*t14*t56*t61-2.656434474616293* t48*t14*t53*t62*t64; t66 = t4*(0.02550787555556*t7*t10*t58*t65-2.333333333333334* t20*t25*t3*t47+66.66666666666667*t20*t21*t23*t25*t45*t46+1.0* t38*t26*t39*t40+0.00442943113333*t12*t13*t15*t37*t35+t3*t5* t44*t25)+0.02550787555556*t7*t10*LOG(t57)-0.062182*t26*t35+ t3*t5*t20*t25; t67 = 1/POW(t4,5.0); t68 = -50.0*t20*t21*t23*t25*t3*t67*grada; t69 = 2.0*t20*t25*t5*grada; t70 = 0.33205430932704*t21*t9*grada*t5*t52+0.03675335478089* t48*t22*grada*t3*t49*t54; t71 = 0.04346580744894*t3*t49*t52*grada+0.125*t14*t48* t5*grada; t72 = 2.656434474616293*t48*t14*t71*t56-2.656434474616293* t48*t14*t53*t70*t62; t73 = 0.02550787555556*t7*t10*t72*t58; t74 = -50.0*t20*t21*t23*t25*t3*t67*gradb; t75 = 2.0*t20*t25*t5*gradb; t76 = 0.33205430932704*t21*t9*gradb*t5*t52+0.03675335478089* t48*t22*gradb*t3*t49*t54; t77 = 0.04346580744894*t3*t49*t52*gradb+0.125*t14*t48* t5*gradb; t78 = 2.656434474616293*t48*t14*t77*t56-2.656434474616293* t48*t14*t53*t76*t62; t79 = 0.02550787555556*t7*t10*t78*t58; t80 = -50.0*t20*t21*t23*t25*t3*t67; t81 = 2.0*t20*t25*t5; t82 = 0.03675335478089*t48*t22*t3*t49*t54; t83 = 0.33205430932704*t21*t9*t5*t52; t84 = t83+t82; t85 = 0.125*t14*t48*t5; t86 = 0.04346580744894*t3*t49*t52; t87 = t86+t85; t88 = 2.656434474616293*t48*t14*t87*t56-2.656434474616293* t48*t14*t53*t84*t62; t89 = 0.02550787555556*t7*t10*t88*t58; t90 = POW(t38,2.0); t91 = 1/POW(t33,4.0); t92 = 1/POW(t34,2.0); t93 = 1/POW(t33,3.0); t94 = 1.594488888888889*t12*t13*t15*t5+1.476941666666667* t30*t31*t32/POW(t4,2.166666666666667)+0.614325*t27*t28/POW(t29, 5.0)+0.54771111111111*t7*t8*t10*t24; t95 = 1/POW(3.141592653589793,2.666666666666667); t96 = 1/POW(t4,4.333333333333333); t97 = 1/POW(t57,2.0); t98 = 1/POW(t55,3.0); t99 = 1/POW(t4,6.666666666666667); t100 = 0.23153273446528*t48*t13*t14*t5*t35-39.20357843294411* t21*t9*t94*t26*t39*t40+5.58520314074677*t48*t13*t14*t37*t38* t39*t40+78.40715686588821*t21*t9*t90*t26*t93*t40-630.4650611582789* t21*t9*t90*t26*t91*t92; t101 = POW(t60,2.0); t102 = POW(2.718281828459045,4.875513828234661*t21*t9* t26*t35); t103 = t4*(0.02550787555556*t10*t58*t7*(2.656434474616293* t14*t48*t56*(0.28735728257913*t45*t52*t99+0.48611111111111* t14*t3*t48*t96+0.02173290372447*t101*t102*t45*t49*t63+0.10142021738087* t45*t50*t54*t59*t60-0.01086645186224*t101*t45*t49*t50*t54- 0.01086645186224*t100*t45*t49*t50*t54)+5.312868949232586*t14* t48*t53*POW(t64,2.0)*t98-5.312868949232586*t48*t14*t62*t61* t64-2.656434474616293*t14*t48*t53*(0.24298051216252*t48*t22* t45*t99*t54+1.291322314049587*t21*t9*t3*t96*t52+0.05513003217133* t101*t102*t22*t45*t48*t49/POW(t51,4.0)+0.17151565564413*t48* t22*t45*t59*t60*t63*t50-0.01837667739044*t48*t22*t45*t49*t101* t63*t50-0.01837667739044*t48*t22*t45*t49*t100*t63*t50+0.77479338842975* t21*t9*t3*t47*t60*t54*t50-0.16602715466352*t21*t9*t3*t5*t101* t54*t50-0.16602715466352*t21*t9*t3*t5*t100*t54*t50+0.33205430932704* t21*t9*t3*t5*t101*t63*t102)*t62)-0.02550787555556*t10*POW(t65, 2.0)*t7*t97+7.777777777777778*t20*t25*t3*t96+1481.481481481482* t20*t25*POW(t3,3.0)*t48*t95/POW(t4,9.666666666666666)+16.0818243221511* t90*t26*t91*t92+t25*t3*t5*(-0.001*t19*t43*(0.110835*t6/POW(t4, 3.0)+3.876888888888889*t12*t13*t15*t5+0.52444444444444*t7* t8*t10*t24)+0.001*t18*(10.34044444444444*t12*t13*t15*t5+0.00821* t7*t8*t10*t24)-0.002*t41*t42*t43+0.002*t19*POW(t42,2.0)/POW(t17, 3.0))-4.666666666666667*t25*t3*t44*t47+133.3333333333333*t21* t23*t25*t44*t45*t46-555.5555555555555*t20*t21*t23*t25*t45/ POW(t4,7.0)-2.0*t90*t26*t93*t40-0.14246666666667*t12*t13*t15* t37*t38*t39*t40+1.0*t94*t26*t39*t40-0.00590590817778*t12*t13* t15*t5*t35)+0.05101575111111*t7*t10*t58*t65+2.0*t25*t3*t44* t5-4.666666666666667*t20*t25*t3*t47+133.3333333333333*t20* t21*t23*t25*t45*t46+2.0*t38*t26*t39*t40+0.00885886226667*t12* t13*t15*t37*t35; t104 = 1/POW(t4,8.666666666666666); t105 = t4*(0.02550787555556*t10*t58*t7*(2.656434474616293* t14*t48*t56*(-0.04346580744894*t3*t49*t50*t54*t60*grada-0.20284043476174* t3*t52*t59*grada-0.29166666666667*t14*t47*t48*grada)+5.312868949232586* t48*t14*t53*t70*t98*t64-2.656434474616293*t48*t14*t71*t62* t64-2.656434474616293*t48*t14*t70*t62*t61-2.656434474616293* t48*t14*t53*t62*(-0.33205430932704*t21*t9*grada*t5*t60*t54* t50-0.07350670956177*t48*t22*grada*t3*t49*t60*t63*t50-0.77479338842975* t21*t9*grada*t47*t52-0.17151565564413*t48*t22*grada*t3*t59* t54))-1111.111111111111*t104*t20*t25*t45*t48*t95*grada-50.0* t21*t23*t25*t3*t44*t67*grada+2.0*t25*t44*t5*grada-4.666666666666667* t20*t25*t47*grada+383.3333333333333*t20*t21*t23*t25*t3*t46* grada-0.02550787555556*t7*t10*t72*t97*t65)+t73+t69+t68; t106 = t4*(0.02550787555556*t10*t58*t7*(2.656434474616293* t14*t48*t56*(-0.04346580744894*t3*t49*t50*t54*t60*gradb-0.20284043476174* t3*t52*t59*gradb-0.29166666666667*t14*t47*t48*gradb)+5.312868949232586* t48*t14*t53*t76*t98*t64-2.656434474616293*t48*t14*t77*t62* t64-2.656434474616293*t48*t14*t76*t62*t61-2.656434474616293* t48*t14*t53*t62*(-0.33205430932704*t21*t9*gradb*t5*t60*t54* t50-0.07350670956177*t48*t22*gradb*t3*t49*t60*t63*t50-0.77479338842975* t21*t9*gradb*t47*t52-0.17151565564413*t48*t22*gradb*t3*t59* t54))-1111.111111111111*t104*t20*t25*t45*t48*t95*gradb-50.0* t21*t23*t25*t3*t44*t67*gradb+2.0*t25*t44*t5*gradb-4.666666666666667* t20*t25*t47*gradb+383.3333333333333*t20*t21*t23*t25*t3*t46* gradb-0.02550787555556*t7*t10*t78*t97*t65)+t79+t75+t74; t107 = t4*(-1111.111111111111*t104*t20*t25*t45*t48*t95+ 0.02550787555556*t10*t58*(5.312868949232586*t48*t14*t53*t84* t98*t64-2.656434474616293*t48*t14*t87*t62*t64-2.656434474616293* t48*t14*t84*t62*t61+2.656434474616293*t14*t48*t56*(-0.04346580744894* t3*t49*t50*t54*t60-0.20284043476174*t3*t52*t59-0.29166666666667* t14*t47*t48)-2.656434474616293*t48*t14*t53*t62*(-0.33205430932704* t21*t9*t5*t60*t54*t50-0.07350670956177*t48*t22*t3*t49*t60* t63*t50-0.77479338842975*t21*t9*t47*t52-0.17151565564413*t48* t22*t3*t59*t54))*t7-50.0*t21*t23*t25*t3*t44*t67-0.02550787555556* t7*t10*t88*t97*t65+2.0*t25*t44*t5-4.666666666666667*t20*t25* t47+383.3333333333333*t20*t21*t23*t25*t3*t46)+t89+t81+t80; t108 = 1/ POW(t4,7.666666666666667); t109 = POW(3.141592653589793,1.666666666666667); /* code */ dfdra = t66; dfdrb = t66; dfdga = t4*(t73+t69+t68); dfdgb = t4*(t79+t75+t74); dfdgab = t4*(t89+t81+t80); d2fdrara = t103; d2fdrarb = t103; d2fdraga = t105; d2fdragb = t106; d2fdrbrb = t103; d2fdraab = t107; d2fdgaga = t4*(0.02550787555556*t10*t58*t7*(5.312868949232586* t14*t48*t53*POW(t70,2.0)*t98+2.656434474616293*t14*t48*t56* (t86+t85+0.08693161489789*t1*t49*t52)-2.656434474616293*t48* t14*t53*(t83+t82+0.07350670956177*t48*t22*t1*t49*t54)*t62- 5.312868949232586*t48*t14*t71*t70*t62)-0.02550787555556*t10* t7*POW(t72,2.0)*t97+833.3333333333334*t1*t108*t20*t25*t3*t48* t95+t81+t80-200.0*t1*t20*t21*t23*t25*t67); d2fdgbgb = t4*(0.02550787555556*t10*t58*t7*(5.312868949232586* t14*t48*t53*POW(t76,2.0)*t98+2.656434474616293*t14*t48*t56* (t86+t85+0.08693161489789*t2*t49*t52)-2.656434474616293*t48* t14*t53*(t83+t82+0.07350670956177*t48*t22*t2*t49*t54)*t62- 5.312868949232586*t48*t14*t77*t76*t62)-0.02550787555556*t10* t7*POW(t78,2.0)*t97+833.3333333333334*t108*t2*t20*t25*t3*t48* t95+t81+t80-200.0*t2*t20*t21*t23*t25*t67); d2fdrbga = t105; d2fdrbgb = t106; d2fdgagb = t4*(833.3333333333334*t108*t20*t25*t3*t48* t95*grada*gradb-200.0*t20*t21*t23*t25*t67*grada*gradb-0.02550787555556* t7*t10*t72*t78*t97+0.02550787555556*t7*t10*t58*(0.07350670956177* t48*t22*grada*gradb*t49*t56*t52-0.19526575739549*t21*t109* grada*gradb*t49*t53*t62*t54-2.656434474616293*t48*t14*t71* t76*t62-2.656434474616293*t48*t14*t77*t70*t62+5.312868949232586* t48*t14*t53*t70*t76*t98)); d2fdrbgab = t107; d2fdgagab = t4*(833.3333333333334*t108*t20*t25*t3*t48* t95*grada-200.0*t20*t21*t23*t25*t67*grada-0.02550787555556* t7*t10*t88*t72*t97+0.02550787555556*t7*t10*t58*(0.07350670956177* t48*t22*grada*t49*t56*t52-0.19526575739549*t21*t109*grada* t49*t53*t62*t54-2.656434474616293*t48*t14*t87*t70*t62-2.656434474616293* t48*t14*t71*t84*t62+5.312868949232586*t48*t14*t53*t84*t70* t98)); d2fdgbgab = t4*(833.3333333333334*t108*t20*t25*t3*t48* t95*gradb-200.0*t20*t21*t23*t25*t67*gradb-0.02550787555556* t7*t10*t88*t78*t97+0.02550787555556*t7*t10*t58*(0.07350670956177* t48*t22*gradb*t49*t56*t52-0.19526575739549*t21*t109*gradb* t49*t53*t62*t54-2.656434474616293*t48*t14*t87*t76*t62-2.656434474616293* t48*t14*t77*t84*t62+5.312868949232586*t48*t14*t53*t84*t76* t98)); d2fdgabgab = t4*(0.02550787555556*t10*t58*t7*(5.312868949232586* t14*t48*t53*POW(t84,2.0)*t98-5.312868949232586*t48*t14*t87* t84*t62-0.19526575739549*t21*t109*t49*t53*t62*t54+0.07350670956177* t48*t22*t49*t56*t52)-0.02550787555556*t10*t7*POW(t88,2.0)* t97+833.3333333333334*t108*t20*t25*t3*t48*t95-200.0*t20*t21* t23*t25*t67); ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df0010 += factor*dfdga; ds->df0001 += factor*dfdgb; ds->df00001+= factor*dfdgab; ds->df2000 += factor*d2fdrara; ds->df1100 += factor*d2fdrarb; ds->df1010 += factor*d2fdraga; ds->df1001 += factor*d2fdragb; ds->df10001+= factor*d2fdraab; ds->df0200 += factor*d2fdrbrb; ds->df0110 += factor*d2fdrbga; ds->df0101 += factor*d2fdrbgb; ds->df01001+= factor*d2fdrbgab; ds->df0020 += factor*d2fdgaga; ds->df0011 += factor*d2fdgagb; ds->df00101+= factor*d2fdgagab; ds->df0002 += factor*d2fdgbgb; ds->df00011+= factor*d2fdgbgab; ds->df00002+= factor*d2fdgabgab; } static void pw91c_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp) { real dfdra, dfdrb, dfdga, dfdgb, dfdgab; real d2fdrara, d2fdrarb, d2fdraga, d2fdragb, d2fdrbrb, d2fdraab, d2fdrbab, d2fdgaga, d2fdgbgb, d2fdrbga, d2fdrbgb, d2fdgagb; real d3fdrararb, d3fdraraga, d3fdraragb, d3fdrbrbab, d3fdraraab, d3fdrarbrb, d3fdrarbga, d3fdrarbgb, d3fdrarbab, d3fdragaga, d3fdragbgb, d3fdrarara, d3fdrbrbrb, d3fdrbrbga, d3fdrbrbgb, d3fdrbgaga, d3fdrbgbgb, d3fdgagaga, d3fdragagb, d3fdrbgagb, d3fdgagagb, d3fdgagbgb, d3fdgbgbgb; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43, t44, t45, t46, t47, t48, t49, t50; real t51, t52, t53, t54, t55, t56, t57, t58; real t59, t60, t61, t62, t63, t64, t65, t66; real t67, t68, t69, t70, t71, t72, t73, t74; real t75, t76, t77, t78, t79, t80, t81, t82; real t83, t84, t85, t86, t87, t88, t89, t90; real t91, t92, t93, t94, t95, t96, t97, t98; real t99, t100, t101, t102, t103, t104, t105; real t106, t107, t108, t109, t110, t111, t112; real t113, t114, t115, t116, t117, t118, t119; real t120, t121, t122, t123, t124, t125, t126; real t127, t128, t129, t130, t131, t132, t133; real t134, t135, t136, t137, t138, t139, t140; real t141, t142, t143, t144, t145, t146, t147; real t148, t149, t150, t151, t152, t153, t154; real t155, t156, t157, t158, t159, t160, t161; real t162, t163, t164, t165, t166, t167, t168; real t169, t170, t171, t172, t173, t174, t175; real t176, t177, t178, t179, t180, t181, t182; real t183, t184, t185, t186, t187, t188, t189; real t190, t191, t192, t193, t194, t195, t196; real t197, t198, t199, t200, t201; t1 = POW(grada,2.0); t2 = POW(gradb,2.0); t3 = 2.0*gradab+t2+t1; t4 = rhob+rhoa; t5 = 1/POW(t4,2.333333333333334); t6 = 0.31830988618379; t7 = POW(3.0,0.66666666666667); t8 = 1/POW(4.0,0.66666666666667); t9 = POW(3.141592653589793,0.66666666666667); t10 = 1/t9; t11 = 1/POW(t4,0.66666666666667); t12 = POW(3.0,0.33333333333333); t13 = 1/POW(4.0,0.33333333333333); t14 = POW(3.141592653589793,0.33333333333333); t15 = 1/t14; t16 = 1/POW(t4,0.33333333333333); t17 = 0.0554175*t6/t4+8.723000000000001*t12*t13*t15*t16+ 0.472*t7*t8*t10*t11+1.0; t18 = 1/t17; t19 = 23.266*t12*t13*t15*t16+0.007389*t7*t8*t10*t11+2.568; t20 = 0.001* t18*t19-0.00185357142857; t21 = 1/t7; t22 = POW(3.141592653589793,1.333333333333333); t23 = 1/t22; t24 = 1/POW(t4,2.666666666666667); t25 = 1/POW(2.718281828459045,25.0*t21*t23*t24*t3); t26 = 0.2137* t12*t13*t15*t16+1.0; t27 = 1.732050807568877; t28 = 0.56418958354776; t29 = SQRT(t4); t30 = 1/POW(2.0,0.33333333333333); t31 = POW(3.0,0.16666666666667); t32 = 1/POW(3.141592653589793,0.16666666666667); t33 = 7.5957*t30*t31*t32/POW(t4,0.16666666666667)+0.8191* t27*t28/t29+3.5876*t12*t13*t15*t16+0.49294*t7*t8*t10*t11; t34 = 16.0818243221511/ t33+1.0; t35 = LOG(t34); t36 = 1/POW(t4,1.666666666666667); t37 = 1/POW(t4,1.333333333333333); t38 = -1.26595*t30*t31*t32/POW(t4,1.166666666666667)- 1.195866666666667*t12*t13*t15*t37-0.32862666666667*t7*t8*t10* t36-0.40955*t27*t28/POW(t29,3.0); t39 = 1/POW(t33,2.0); t40 = 1/t34; t41 = -7.755333333333333*t12*t13*t15*t37-0.004926*t7* t8*t10*t36; t42 = -0.0554175*t6/POW(t4,2.0)-2.907666666666667*t12* t13*t15*t37-0.31466666666667*t7*t8*t10*t36; t43 = 1/POW(t17,2.0); t44 = 0.001*t18*t41-0.001*t19*t42*t43; t45 = POW(t3,2.0); t46 = 1/POW(t4,6.0); t47 = 1/POW(t4,3.333333333333334); t48 = 1/t12; t49 = 1/POW(t4,4.666666666666667); t50 = POW(2.718281828459045,2.437756914117331*t21*t9* t26*t35); t51 = t50-1.0; t52 = 1/t51; t53 = 0.01086645186224*t45*t49*t52+0.0625*t14*t3*t48* t5; t54 = 1/POW(t51,2.0); t55 = 0.00918833869522*t48*t22*t45*t49*t54+0.16602715466352* t21*t9*t3*t5*t52+1.0; t56 = 1/t55; t57 = 2.656434474616293*t48*t14*t53*t56+1.0; t58 = 1/t57; t59 = 1/POW(t4,5.666666666666667); t60 = -0.17364955084896*t48*t13*t14*t37*t35-39.20357843294411* t21*t9*t38*t26*t39*t40; t61 = -0.01086645186224*t45*t49*t50*t54*t60-0.05071010869043* t45*t52*t59-0.14583333333333*t14*t3*t47*t48; t62 = 1/POW(t55,2.0); t63 = 1/POW(t51,3.0); t64 = -0.16602715466352*t21*t9*t3*t5*t60*t54*t50-0.01837667739044* t48*t22*t45*t49*t60*t63*t50-0.38739669421488*t21*t9*t3*t47* t52-0.04287891391103*t48*t22*t45*t59*t54; t65 = 2.656434474616293*t48*t14*t56*t61-2.656434474616293* t48*t14*t53*t62*t64; t66 = t4*(0.02550787555556*t7*t10*t58*t65-2.333333333333334* t20*t25*t3*t47+66.66666666666667*t20*t21*t23*t25*t45*t46+1.0* t38*t26*t39*t40+0.00442943113333*t12*t13*t15*t37*t35+t3*t5* t44*t25)+0.02550787555556*t7*t10*LOG(t57)-0.062182*t26*t35+ t3*t5*t20*t25; t67 = 1/POW(t4,5.0); t68 = -50.0*t20*t21*t23*t25*t3*t67*grada; t69 = 2.0*t20*t25*t5*grada; t70 = 0.33205430932704*t21*t9*grada*t5*t52+0.03675335478089* t48*t22*grada*t3*t49*t54; t71 = 0.04346580744894*t3*t49*t52*grada+0.125*t14*t48* t5*grada; t72 = 2.656434474616293*t48*t14*t71*t56-2.656434474616293* t48*t14*t53*t70*t62; t73 = 0.02550787555556*t7*t10*t72*t58; t74 = -50.0*t20*t21*t23*t25*t3*t67*gradb; t75 = 2.0*t20*t25*t5*gradb; t76 = 0.33205430932704*t21*t9*gradb*t5*t52+0.03675335478089* t48*t22*gradb*t3*t49*t54; t77 = 0.04346580744894*t3*t49*t52*gradb+0.125*t14*t48* t5*gradb; t78 = 2.656434474616293*t48*t14*t77*t56-2.656434474616293* t48*t14*t53*t76*t62; t79 = 0.02550787555556*t7*t10*t78*t58; t80 = -50.0*t20*t21*t23*t25*t3*t67; t81 = 2.0*t20*t25*t5; t82 = 0.03675335478089*t48*t22*t3*t49*t54; t83 = 0.33205430932704*t21*t9*t5*t52; t84 = t83+t82; t85 = 0.125*t14*t48*t5; t86 = 0.04346580744894*t3*t49*t52; t87 = t86+t85; t88 = 2.656434474616293*t48*t14*t87*t56-2.656434474616293* t48*t14*t53*t84*t62; t89 = 0.02550787555556*t7*t10*t88*t58; t90 = POW(t38,2.0); t91 = 1/POW(t33,4.0); t92 = 1/POW(t34,2.0); t93 = 1/POW(t33,3.0); t94 = 1.594488888888889*t12*t13*t15*t5+1.476941666666667* t30*t31*t32/POW(t4,2.166666666666667)+0.614325*t27*t28/POW(t29, 5.0)+0.54771111111111*t7*t8*t10*t24; t95 = 10.34044444444444*t12*t13*t15*t5+0.00821*t7*t8* t10*t24; t96 = POW(t42,2.0); t97 = 1/POW(t17,3.0); t98 = 0.110835*t6/POW(t4,3.0)+3.876888888888889*t12*t13* t15*t5+0.52444444444444*t7*t8*t10*t24; t99 = -0.001*t19*t43*t98+0.002*t19*t96*t97+0.001*t18* t95-0.002*t41*t42*t43; t100 = 1/POW(3.141592653589793,2.666666666666667); t101 = POW(t3,3.0); t102 = 1/POW(t4,9.666666666666666); t103 = 1/POW(t4,7.0); t104 = 1/POW(t4,4.333333333333333); t105 = 1/POW(t57,2.0); t106 = POW(t65,2.0); t107 = 1/POW(t55,3.0); t108 = POW(t64,2.0); t109 = 1/POW(t4,6.666666666666667); t110 = 0.23153273446528*t48*t13*t14*t5*t35-39.20357843294411* t21*t9*t94*t26*t39*t40+5.58520314074677*t48*t13*t14*t37*t38* t39*t40+78.40715686588821*t21*t9*t90*t26*t93*t40-630.4650611582789* t21*t9*t90*t26*t91*t92; t111 = POW(t60,2.0); t112 = POW(2.718281828459045,4.875513828234661*t21*t9* t26*t35); t113 = 0.02173290372447*t111*t112*t45*t49*t63+0.10142021738087* t45*t50*t54*t59*t60-0.01086645186224*t111*t45*t49*t50*t54- 0.01086645186224*t110*t45*t49*t50*t54+0.28735728257913*t109* t45*t52+0.48611111111111*t104*t14*t3*t48; t114 = 1/POW(t51,4.0); t115 = 0.33205430932704*t21*t9*t3*t5*t111*t63*t112+0.05513003217133* t48*t22*t45*t49*t111*t114*t112-0.16602715466352*t21*t9*t3* t5*t111*t54*t50+0.77479338842975*t21*t9*t3*t47*t60*t54*t50- 0.16602715466352*t21*t9*t3*t5*t110*t54*t50-0.01837667739044* t48*t22*t45*t49*t111*t63*t50+0.17151565564413*t48*t22*t45* t59*t60*t63*t50-0.01837667739044*t48*t22*t45*t49*t110*t63* t50+1.291322314049587*t21*t9*t3*t104*t52+0.24298051216252* t48*t22*t45*t109*t54; t116 = -2.656434474616293*t48*t14*t53*t62*t115+2.656434474616293* t48*t14*t56*t113+5.312868949232586*t48*t14*t53*t107*t108-5.312868949232586* t48*t14*t62*t61*t64; t117 = t4*(16.0818243221511*t90*t26*t91*t92+1481.481481481482* t100*t101*t102*t20*t25*t48-4.666666666666667*t25*t3*t44*t47+ 133.3333333333333*t21*t23*t25*t44*t45*t46-555.5555555555555* t103*t20*t21*t23*t25*t45-2.0*t90*t26*t93*t40-0.14246666666667* t12*t13*t15*t37*t38*t39*t40+1.0*t94*t26*t39*t40-0.00590590817778* t12*t13*t15*t5*t35+7.777777777777778*t104*t20*t25*t3+t3*t5* t99*t25+0.02550787555556*t7*t10*t58*t116-0.02550787555556* t7*t10*t105*t106)+0.05101575111111*t7*t10*t58*t65+2.0*t25* t3*t44*t5-4.666666666666667*t20*t25*t3*t47+133.3333333333333* t20*t21*t23*t25*t45*t46+2.0*t38*t26*t39*t40+0.00885886226667* t12*t13*t15*t37*t35; t118 = 1/POW(t4,8.666666666666666); t119 = -0.04346580744894*t3*t49*t50*t54*t60*grada-0.20284043476174* t3*t52*t59*grada-0.29166666666667*t14*t47*t48*grada; t120 = -0.33205430932704*t21*t9*grada*t5*t60*t54*t50- 0.07350670956177*t48*t22*grada*t3*t49*t60*t63*t50-0.77479338842975* t21*t9*grada*t47*t52-0.17151565564413*t48*t22*grada*t3*t59* t54; t121 = -2.656434474616293*t48*t14*t71*t62*t64+5.312868949232586* t48*t14*t53*t70*t107*t64-2.656434474616293*t48*t14*t53*t62* t120-2.656434474616293*t48*t14*t70*t62*t61+2.656434474616293* t48*t14*t56*t119; t122 = t4*(-50.0*t21*t23*t25*t3*t44*t67*grada+2.0*t25* t44*t5*grada-1111.111111111111*t100*t118*t20*t25*t45*t48*grada- 4.666666666666667*t20*t25*t47*grada+383.3333333333333*t20* t21*t23*t25*t3*t46*grada-0.02550787555556*t7*t10*t72*t105* t65+0.02550787555556*t7*t10*t58*t121)+t73+t69+t68; t123 = -0.04346580744894*t3*t49*t50*t54*t60*gradb-0.20284043476174* t3*t52*t59*gradb-0.29166666666667*t14*t47*t48*gradb; t124 = -0.33205430932704*t21*t9*gradb*t5*t60*t54*t50- 0.07350670956177*t48*t22*gradb*t3*t49*t60*t63*t50-0.77479338842975* t21*t9*gradb*t47*t52-0.17151565564413*t48*t22*gradb*t3*t59* t54; t125 = -2.656434474616293*t48*t14*t77*t62*t64+5.312868949232586* t48*t14*t53*t76*t107*t64-2.656434474616293*t48*t14*t53*t62* t124-2.656434474616293*t48*t14*t76*t62*t61+2.656434474616293* t48*t14*t56*t123; t126 = t4*(-50.0*t21*t23*t25*t3*t44*t67*gradb+2.0*t25* t44*t5*gradb-1111.111111111111*t100*t118*t20*t25*t45*t48*gradb- 4.666666666666667*t20*t25*t47*gradb+383.3333333333333*t20* t21*t23*t25*t3*t46*gradb-0.02550787555556*t7*t10*t78*t105* t65+0.02550787555556*t7*t10*t58*t125)+t79+t75+t74; t127 = -50.0*t21*t23*t25*t3*t44*t67; t128 = 2.0*t25*t44*t5; t129 = -1111.111111111111*t100*t118*t20*t25*t45*t48; t130 = 383.3333333333333* t20*t21*t23*t25*t3*t46; t131 = -4.666666666666667*t20*t25*t47; t132 = -0.29166666666667*t14*t47*t48; t133 = -0.20284043476174*t3*t52*t59; t134 = -0.04346580744894*t3*t49*t50*t54*t60; t135 = t134+t133+t132; t136 = -0.17151565564413*t48*t22*t3*t59*t54; t137 = -0.77479338842975*t21*t9*t47*t52; t138 = -0.07350670956177*t48*t22*t3*t49*t60*t63*t50; t139 = - 0.33205430932704*t21*t9*t5*t60*t54*t50; t140 = t139+t138+t137+t136; t141 = -2.656434474616293*t48*t14*t87*t62*t64+5.312868949232586* t48*t14*t53*t84*t107*t64-2.656434474616293*t48*t14*t53*t62* t140-2.656434474616293*t48*t14*t84*t62*t61+2.656434474616293* t48*t14*t56*t135; t142 = t4*(-0.02550787555556*t7*t10*t88*t105*t65+0.02550787555556* t7*t10*t58*t141+t131+t130+t129+t128+t127)+t89+t81+t80; t143 = 1/POW(t4,7.666666666666667); t144 = 833.3333333333334*t1*t100*t143*t20*t25*t3*t48; t145 = - 200.0*t1*t20*t21*t23*t25*t67; t146 = POW(t72,2.0); t147 = -0.02550787555556*t7*t10*t146*t105; t148 = POW(t70,2.0); t149 = t83+t82+0.07350670956177*t48*t22*t1*t49*t54; t150 = t86+ t85+0.08693161489789*t1*t49*t52; t151 = 2.656434474616293*t48*t14*t150*t56-5.312868949232586* t48*t14*t71*t70*t62-2.656434474616293*t48*t14*t53*t149*t62+ 5.312868949232586*t48*t14*t53*t148*t107; t152 = 0.02550787555556*t7*t10*t151*t58; t153 = 833.3333333333334*t100*t143*t2*t20*t25*t3*t48; t154 = - 200.0*t2*t20*t21*t23*t25*t67; t155 = POW(t78,2.0); t156 = -0.02550787555556*t7*t10*t155*t105; t157 = POW(t76,2.0); t158 = t83+t82+0.07350670956177*t48*t22*t2*t49*t54; t159 = t86+ t85+0.08693161489789*t2*t49*t52; t160 = 2.656434474616293*t48*t14*t159*t56-5.312868949232586* t48*t14*t77*t76*t62-2.656434474616293*t48*t14*t53*t158*t62+ 5.312868949232586*t48*t14*t53*t157*t107; t161 = 0.02550787555556*t7*t10*t160*t58; t162 = 833.3333333333334*t100*t143*t20*t25*t3*t48*grada* gradb; t163 = -200.0*t20*t21*t23*t25*t67*grada*gradb; t164 = -0.02550787555556*t7*t10*t72*t78*t105; t165 = POW(3.141592653589793,1.666666666666667); t166 = 0.07350670956177*t48*t22*grada*gradb*t49*t56*t52- 0.19526575739549*t21*t165*grada*gradb*t49*t53*t62*t54-2.656434474616293* t48*t14*t71*t76*t62-2.656434474616293*t48*t14*t77*t70*t62+ 5.312868949232586*t48*t14*t53*t70*t76*t107; t167 = 0.02550787555556*t7*t10*t58*t166; t168 = 833.3333333333334*t100*t143*t20*t25*t3*t48*grada; t169 = - 200.0*t20*t21*t23*t25*t67*grada; t170 = -0.19526575739549*t21*t165*grada*t49*t53*t62*t54; t171 = 0.07350670956177* t48*t22*grada*t49*t56*t52; t172 = 833.3333333333334*t100*t143*t20*t25*t3*t48*gradb; t173 = - 200.0*t20*t21*t23*t25*t67*gradb; t174 = -0.19526575739549*t21*t165*gradb*t49*t53*t62*t54; t175 = 0.07350670956177* t48*t22*gradb*t49*t56*t52; t176 = POW(t38,3.0); t177 = 1/POW(t33,6.0); t178 = 1/POW(t34,3.0); t179 = 1/POW(t33,5.0); t180 = 1/POW(t4,3.666666666666667); t181 = -3.720474074074074*t12*t13*t15*t47-3.200040277777777* t30*t31*t32/POW(t4,3.166666666666667)-1.5358125*t27*t28/POW(t29, 7.0)-1.460562962962963*t7*t8*t10*t180; t182 = 1/POW(3.141592653589793,4.0); t183 = 1/POW(t4,5.333333333333333); t184 = 1/POW(t57,3.0); t185 = 1/POW(t55,4.0); t186 = -0.54024304708565*t48*t13*t14*t47*t35-39.20357843294411* t21*t9*t181*t26*t39*t40-11.17040628149354*t48*t13*t14*t5*t38* t39*t40+8.377804711120154*t48*t13*t14*t37*t94*t39*t40+235.2214705976646* t21*t9*t94*t38*t26*t93*t40-16.75560942224031*t48*t13*t14*t37* t90*t93*t40-235.2214705976646*t21*t9*t176*t26*t91*t40-1891.395183474837* t21*t9*t94*t38*t26*t91*t92+134.7303835695242*t48*t13*t14*t37* t90*t91*t92+3782.790366949674*t21*t9*t176*t26*t179*t92-20278.05670960339* t21*t9*t176*t26*t177*t178; t187 = POW(t60,3.0); t188 = -0.34729910169792*t48*t13*t14*t37*t35-78.40715686588821* t21*t9*t38*t26*t39*t40; t189 = POW(2.718281828459045,7.313270742351992*t21*t9* t26*t35); t190 = t4*(-7.0*t25*t3*t47*t99+200.0*t21*t23*t25*t45* t46*t99+t25*t3*t5*(0.006*t19*t42*t97*t98-0.003*t41*t43*t98+ 0.006*t41*t96*t97-0.003*t42*t43*t95-0.001*t19*t43*(-0.332505* t6/POW(t4,4.0)-9.046074074074074*t12*t13*t15*t47-1.398518518518519* t7*t8*t10*t180)+0.001*t18*(-24.1277037037037*t12*t13*t15*t47- 0.02189333333333*t7*t8*t10*t180)-0.006*t19*POW(t42,3.0)/POW(t17, 4.0))-3.43668585764369*t12*t13*t15*t37*t90*t91*t92+48.2454729664533* t94*t38*t26*t91*t92-96.4909459329066*t176*t26*t179*t92+0.05101575111111* t10*t184*POW(t65,3.0)*t7+0.02550787555556*t10*t58*(-15.93860684769776* t14*t185*t48*t53*POW(t64,3.0)+2.656434474616293*t14*t48*t56* (0.06519871117342*t110*t112*t45*t49*t60*t63-0.30426065214261* t111*t112*t45*t59*t63+0.02173290372447*t111*t112*t188*t45* t49*t63+0.02173290372447*t112*t187*t45*t49*t63-0.03259935558671* t110*t45*t49*t50*t54*t60-0.86207184773739*t109*t45*t50*t54* t60+0.1521303260713*t111*t45*t50*t54*t59+0.1521303260713*t110* t45*t50*t54*t59-0.01086645186224*t187*t45*t49*t50*t54-0.01086645186224* t186*t45*t49*t50*t54-1.91571521719419*t143*t45*t52-0.06519871117342* t114*t187*t189*t45*t49-2.106481481481481*t14*t183*t3*t48)- 2.656434474616293*t14*t48*t53*(-1.619870081083455*t48*t22* t45*t143*t54-5.59573002754821*t21*t9*t3*t183*t52-0.22052012868531* t187*t189*t22*t45*t48*t49/POW(t51,5.0)-0.05513003217133*t48* t22*t45*t49*t110*t60*t63*t50-1.457883072975109*t48*t22*t45* t109*t60*t63*t50-0.01837667739044*t48*t22*t45*t49*t187*t63* t50-0.01837667739044*t48*t22*t45*t49*t186*t63*t50+0.2572734834662* t48*t22*t45*t59*t111*t63*t50+0.2572734834662*t48*t22*t45*t59* t110*t63*t50-0.49808146399055*t21*t9*t3*t5*t110*t60*t54*t50- 3.873966942148761*t21*t9*t3*t104*t60*t54*t50-0.16602715466352* t21*t9*t3*t5*t187*t54*t50-0.16602715466352*t21*t9*t3*t5*t186* t54*t50+1.162190082644628*t21*t9*t3*t47*t111*t54*t50+1.162190082644628* t21*t9*t3*t47*t110*t54*t50-0.99616292798111*t21*t9*t3*t5*t187* t114*t189+0.99616292798111*t21*t9*t3*t5*t110*t60*t63*t112+ 0.33205430932704*t21*t9*t3*t5*t187*t63*t112-2.324380165289256* t21*t9*t3*t47*t111*t63*t112+0.33205430932704*t21*t9*t3*t5* t188*t111*t63*t112+0.16539009651398*t48*t22*t45*t49*t110*t60* t114*t112+0.05513003217133*t48*t22*t45*t49*t187*t114*t112- 0.77182045039859*t48*t22*t45*t59*t111*t114*t112+0.05513003217133* t48*t22*t45*t49*t188*t111*t114*t112)*t62+15.93860684769776* t48*t14*t53*t107*t64*t115-7.969303423848879*t48*t14*t62*t61* t115-7.969303423848879*t48*t14*t62*t64*t113+15.93860684769776* t48*t14*t107*t61*t108)*t7+4444.444444444444*t100*t101*t102* t25*t44*t48-26666.66666666667*t100*t101*t20*t25*t48/POW(t4, 10.66666666666667)-1666.666666666667*t103*t21*t23*t25*t44* t45+4407.407407407408*t20*t21*t23*t25*t45/POW(t4,8.0)+23.33333333333333* t104*t25*t3*t44+0.4274*t12*t13*t15*t37*t90*t93*t40-5.999999999999999* t94*t38*t26*t93*t40+5.999999999999999*t176*t26*t91*t40-0.2137* t12*t13*t15*t37*t94*t39*t40+0.28493333333333*t12*t13*t15*t5* t38*t39*t40+1.0*t181*t26*t39*t40+32921.81069958848*t182*t20* t25*POW(t3,4.0)/POW(t4,13.33333333333333)+0.01378045241481* t12*t13*t15*t47*t35-33.7037037037037*t183*t20*t25*t3+517.2501470570614* t176*t26*t177*t178-0.07652362666667*t7*t10*t105*t65*t116)+ 3.0*t25*t3*t5*t99+48.2454729664533*t90*t26*t91*t92+4444.444444444444* t100*t101*t102*t20*t25*t48-14.0*t25*t3*t44*t47+400.0*t21*t23* t25*t44*t45*t46-1666.666666666667*t103*t20*t21*t23*t25*t45- 5.999999999999999*t90*t26*t93*t40-0.4274*t12*t13*t15*t37*t38* t39*t40+3.0*t94*t26*t39*t40-0.01771772453333*t12*t13*t15*t5* t35+23.33333333333333*t104*t20*t25*t3+0.07652362666667*t7* t10*t58*t116-0.07652362666667*t7*t10*t105*t106; t191 = 1/POW(t4,12.33333333333333); t192 = t4*(0.02550787555556*t10*t58*t7*(2.656434474616293* t14*t48*t56*(0.08693161489789*t111*t112*t3*t49*t63*grada+0.40568086952348* t3*t50*t54*t59*t60*grada-0.04346580744894*t111*t3*t49*t50* t54*grada-0.04346580744894*t110*t3*t49*t50*t54*grada+1.149429130316514* t109*t3*t52*grada+0.97222222222222*t104*t14*t48*grada)+10.62573789846517* t48*t14*t70*t107*t61*t64+10.62573789846517*t48*t14*t53*t107* t120*t64-5.312868949232586*t48*t14*t62*t119*t64-5.312868949232586* t48*t14*t62*t61*t120-2.656434474616293*t48*t14*t71*t62*t115+ 5.312868949232586*t48*t14*t53*t70*t107*t115-2.656434474616293* t48*t14*t70*t62*t113-2.656434474616293*t48*t14*t53*t62*(0.66410861865407* t21*t9*grada*t5*t111*t63*t112+0.22052012868531*t48*t22*grada* t3*t49*t111*t114*t112-0.33205430932704*t21*t9*grada*t5*t111* t54*t50+1.549586776859504*t21*t9*grada*t47*t60*t54*t50-0.33205430932704* t21*t9*grada*t5*t110*t54*t50-0.07350670956177*t48*t22*grada* t3*t49*t111*t63*t50+0.68606262257652*t48*t22*grada*t3*t59* t60*t63*t50-0.07350670956177*t48*t22*grada*t3*t49*t110*t63* t50+2.582644628099174*t21*t9*grada*t104*t52+0.97192204865007* t48*t22*grada*t3*t109*t54)-15.93860684769776*t48*t14*t53*t70* t185*t108+5.312868949232586*t48*t14*t71*t107*t108)-50.0*t21* t23*t25*t3*t67*t99*grada+2.0*t25*t5*t99*grada-2222.222222222222* t100*t118*t25*t44*t45*t48*grada+18148.14814814815*t100*t102* t20*t25*t45*t48*grada-9.333333333333334*t25*t44*t47*grada+ 766.6666666666666*t21*t23*t25*t3*t44*t46*grada-2611.111111111111* t103*t20*t21*t23*t25*t3*grada-24691.35802469136*t101*t182* t191*t20*t25*grada+15.55555555555556*t104*t20*t25*grada-0.05101575111111* t7*t10*t105*t121*t65-0.02550787555556*t7*t10*t72*t105*t116+ 0.05101575111111*t7*t10*t72*t184*t106)-100.0*t21*t23*t25*t3* t44*t67*grada+4.0*t25*t44*t5*grada-2222.222222222222*t100* t118*t20*t25*t45*t48*grada-9.333333333333334*t20*t25*t47*grada+ 766.6666666666666*t20*t21*t23*t25*t3*t46*grada-0.05101575111111* t7*t10*t72*t105*t65+0.05101575111111*t7*t10*t58*t121; t193 = t4*(0.02550787555556*t10*t58*t7*(2.656434474616293* t14*t48*t56*(0.08693161489789*t111*t112*t3*t49*t63*gradb+0.40568086952348* t3*t50*t54*t59*t60*gradb-0.04346580744894*t111*t3*t49*t50* t54*gradb-0.04346580744894*t110*t3*t49*t50*t54*gradb+1.149429130316514* t109*t3*t52*gradb+0.97222222222222*t104*t14*t48*gradb)+10.62573789846517* t48*t14*t76*t107*t61*t64+10.62573789846517*t48*t14*t53*t107* t124*t64-5.312868949232586*t48*t14*t62*t123*t64-5.312868949232586* t48*t14*t62*t61*t124-2.656434474616293*t48*t14*t77*t62*t115+ 5.312868949232586*t48*t14*t53*t76*t107*t115-2.656434474616293* t48*t14*t76*t62*t113-2.656434474616293*t48*t14*t53*t62*(0.66410861865407* t21*t9*gradb*t5*t111*t63*t112+0.22052012868531*t48*t22*gradb* t3*t49*t111*t114*t112-0.33205430932704*t21*t9*gradb*t5*t111* t54*t50+1.549586776859504*t21*t9*gradb*t47*t60*t54*t50-0.33205430932704* t21*t9*gradb*t5*t110*t54*t50-0.07350670956177*t48*t22*gradb* t3*t49*t111*t63*t50+0.68606262257652*t48*t22*gradb*t3*t59* t60*t63*t50-0.07350670956177*t48*t22*gradb*t3*t49*t110*t63* t50+2.582644628099174*t21*t9*gradb*t104*t52+0.97192204865007* t48*t22*gradb*t3*t109*t54)-15.93860684769776*t48*t14*t53*t76* t185*t108+5.312868949232586*t48*t14*t77*t107*t108)-50.0*t21* t23*t25*t3*t67*t99*gradb+2.0*t25*t5*t99*gradb-2222.222222222222* t100*t118*t25*t44*t45*t48*gradb+18148.14814814815*t100*t102* t20*t25*t45*t48*gradb-9.333333333333334*t25*t44*t47*gradb+ 766.6666666666666*t21*t23*t25*t3*t44*t46*gradb-2611.111111111111* t103*t20*t21*t23*t25*t3*gradb-24691.35802469136*t101*t182* t191*t20*t25*gradb+15.55555555555556*t104*t20*t25*gradb-0.05101575111111* t7*t10*t105*t125*t65-0.02550787555556*t7*t10*t78*t105*t116+ 0.05101575111111*t7*t10*t78*t184*t106)-100.0*t21*t23*t25*t3* t44*t67*gradb+4.0*t25*t44*t5*gradb-2222.222222222222*t100* t118*t20*t25*t45*t48*gradb-9.333333333333334*t20*t25*t47*gradb+ 766.6666666666666*t20*t21*t23*t25*t3*t46*gradb-0.05101575111111* t7*t10*t78*t105*t65+0.05101575111111*t7*t10*t58*t125; t194 = t4*(-50.0*t21*t23*t25*t3*t67*t99+2.0*t25*t5*t99+ 0.02550787555556*t10*t58*(10.62573789846517*t48*t14*t84*t107* t61*t64+10.62573789846517*t48*t14*t53*t107*t140*t64-5.312868949232586* t48*t14*t62*t135*t64+2.656434474616293*t14*t48*t56*(0.08693161489789* t111*t112*t3*t49*t63+0.40568086952348*t3*t50*t54*t59*t60-0.04346580744894* t111*t3*t49*t50*t54-0.04346580744894*t110*t3*t49*t50*t54+1.149429130316514* t109*t3*t52+0.97222222222222*t104*t14*t48)-5.312868949232586* t48*t14*t62*t61*t140-2.656434474616293*t48*t14*t87*t62*t115+ 5.312868949232586*t48*t14*t53*t84*t107*t115-2.656434474616293* t48*t14*t84*t62*t113-2.656434474616293*t48*t14*t53*t62*(0.66410861865407* t21*t9*t5*t111*t63*t112+0.22052012868531*t48*t22*t3*t49*t111* t114*t112-0.33205430932704*t21*t9*t5*t111*t54*t50+1.549586776859504* t21*t9*t47*t60*t54*t50-0.33205430932704*t21*t9*t5*t110*t54* t50-0.07350670956177*t48*t22*t3*t49*t111*t63*t50+0.68606262257652* t48*t22*t3*t59*t60*t63*t50-0.07350670956177*t48*t22*t3*t49* t110*t63*t50+2.582644628099174*t21*t9*t104*t52+0.97192204865007* t48*t22*t3*t109*t54)-15.93860684769776*t48*t14*t53*t84*t185* t108+5.312868949232586*t48*t14*t87*t107*t108)*t7-0.05101575111111* t7*t10*t105*t141*t65-2222.222222222222*t100*t118*t25*t44*t45* t48+18148.14814814815*t100*t102*t20*t25*t45*t48-9.333333333333334* t25*t44*t47+766.6666666666666*t21*t23*t25*t3*t44*t46-2611.111111111111* t103*t20*t21*t23*t25*t3-24691.35802469136*t101*t182*t191*t20* t25+15.55555555555556*t104*t20*t25-0.02550787555556*t7*t10* t88*t105*t116+0.05101575111111*t7*t10*t88*t184*t106)-100.0* t21*t23*t25*t3*t44*t67-0.05101575111111*t7*t10*t88*t105*t65+ 4.0*t25*t44*t5-2222.222222222222*t100*t118*t20*t25*t45*t48- 9.333333333333334*t20*t25*t47+766.6666666666666*t20*t21*t23* t25*t3*t46+0.05101575111111*t7*t10*t58*t141; t195 = 1/POW(t4,11.33333333333333); t196 = t81+t80+t4*(0.02550787555556*t10*t58*(-2.656434474616293* t48*t14*t150*t62*t64-15.93860684769776*t48*t14*t53*t148*t185* t64+10.62573789846517*t48*t14*t71*t70*t107*t64+5.312868949232586* t48*t14*t53*t149*t107*t64-2.656434474616293*t48*t14*t149*t62* t61+5.312868949232586*t48*t14*t148*t107*t61+2.656434474616293* t14*t48*t56*(-0.08693161489789*t1*t49*t50*t54*t60-0.40568086952348* t1*t52*t59+t134+t133+t132)-2.656434474616293*t48*t14*t53*t62* (t139+t138-0.14701341912354*t48*t22*t1*t49*t60*t63*t50+t137+ t136-0.34303131128826*t48*t22*t1*t59*t54)-5.312868949232586* t48*t14*t71*t62*t120+10.62573789846517*t48*t14*t53*t70*t107* t120-5.312868949232586*t48*t14*t70*t62*t119)*t7-200.0*t1*t21* t23*t25*t44*t67+0.05101575111111*t7*t10*t146*t184*t65-0.02550787555556* t7*t10*t151*t105*t65+833.3333333333334*t1*t100*t143*t25*t3* t44*t48-10833.33333333333*t1*t100*t118*t20*t25*t3*t48+1000.0* t1*t20*t21*t23*t25*t46+18518.51851851852*t1*t182*t195*t20* t25*t45+t131+t130+t129+t128+t127-0.05101575111111*t7*t10*t72* t105*t121)+t152+t147+t145+t144; t197 = t4*(0.02550787555556*t10*t58*t7*(2.656434474616293* t14*t48*t56*(-0.08693161489789*t49*t50*t54*t60*grada*gradb- 0.40568086952348*t52*t59*grada*gradb)+0.39053151479099*t21* t165*grada*gradb*t49*t53*t107*t54*t64-0.07350670956177*t48* t22*grada*gradb*t49*t62*t52*t64-15.93860684769776*t48*t14* t53*t70*t76*t185*t64+5.312868949232586*t48*t14*t71*t76*t107* t64+5.312868949232586*t48*t14*t77*t70*t107*t64-0.19526575739549* t21*t165*grada*gradb*t49*t62*t54*t61+5.312868949232586*t48* t14*t70*t76*t107*t61-2.656434474616293*t48*t14*t53*t62*(-0.14701341912354* t48*t22*grada*gradb*t49*t60*t63*t50-0.34303131128826*t48*t22* grada*gradb*t59*t54)-2.656434474616293*t48*t14*t71*t62*t124+ 5.312868949232586*t48*t14*t53*t70*t107*t124-2.656434474616293* t48*t14*t70*t62*t123-2.656434474616293*t48*t14*t77*t62*t120+ 5.312868949232586*t48*t14*t53*t76*t107*t120-2.656434474616293* t48*t14*t76*t62*t119)-200.0*t21*t23*t25*t44*t67*grada*gradb+ 833.3333333333334*t100*t143*t25*t3*t44*t48*grada*gradb-10833.33333333333* t100*t118*t20*t25*t3*t48*grada*gradb+1000.0*t20*t21*t23*t25* t46*grada*gradb+18518.51851851852*t182*t195*t20*t25*t45*grada* gradb+0.05101575111111*t7*t10*t72*t78*t184*t65-0.02550787555556* t7*t10*t105*t166*t65-0.02550787555556*t7*t10*t72*t105*t125- 0.02550787555556*t7*t10*t78*t105*t121)+t167+t164+t163+t162; t198 = t81+ t80+t4*(0.02550787555556*t10*t58*(-2.656434474616293*t48*t14* t159*t62*t64-15.93860684769776*t48*t14*t53*t157*t185*t64+10.62573789846517* t48*t14*t77*t76*t107*t64+5.312868949232586*t48*t14*t53*t158* t107*t64-2.656434474616293*t48*t14*t158*t62*t61+5.312868949232586* t48*t14*t157*t107*t61+2.656434474616293*t14*t48*t56*(-0.08693161489789* t2*t49*t50*t54*t60-0.40568086952348*t2*t52*t59+t134+t133+t132)- 2.656434474616293*t48*t14*t53*t62*(t139+t138-0.14701341912354* t48*t22*t2*t49*t60*t63*t50+t137+t136-0.34303131128826*t48* t22*t2*t59*t54)-5.312868949232586*t48*t14*t77*t62*t124+10.62573789846517* t48*t14*t53*t76*t107*t124-5.312868949232586*t48*t14*t76*t62* t123)*t7-200.0*t2*t21*t23*t25*t44*t67+0.05101575111111*t7* t10*t155*t184*t65-0.02550787555556*t7*t10*t160*t105*t65+833.3333333333334* t100*t143*t2*t25*t3*t44*t48-10833.33333333333*t100*t118*t2* t20*t25*t3*t48+1000.0*t2*t20*t21*t23*t25*t46+18518.51851851852* t182*t195*t2*t20*t25*t45+t131+t130+t129+t128+t127-0.05101575111111* t7*t10*t78*t105*t125)+t161+t156+t154+t153; t199 = POW(grada,3.0); t200 = 1/POW(t4,10.33333333333333); t201 = POW(gradb,3.0); /* code */ dfdra = t66; dfdrb = t66; dfdga = t4*(t73+t69+t68); dfdgb = t4*(t79+t75+t74); dfdgab = t4*(t89+t81+t80); d2fdrara = t117; d2fdrarb = t117; d2fdraga = t122; d2fdragb = t126; d2fdrbrb = t117; d2fdraab = t142; d2fdrbab = t142; d2fdgaga = t4*(t152+t147+t81+t80+t145+t144); d2fdgbgb = t4*(t161+t156+t81+t80+t154+t153); d2fdrbga = t122; d2fdrbgb = t126; d2fdgagb = t4*(t167+t164+t163+t162); d3fdrararb = t190; d3fdraraga = t192; d3fdraragb = t193; d3fdrbrbab = t194; d3fdraraab = t194; d3fdrarbrb = t190; d3fdrarbga = t192; d3fdrarbgb = t193; d3fdrarbab = t194; d3fdragaga = t196; d3fdragagb = t197; d3fdrbgagb = t197; d3fdragbgb = t198; d3fdrarara = t190; d3fdrbrbrb = t190; d3fdrbrbga = t192; d3fdrbrbgb = t193; d3fdrbgaga = t196; d3fdrbgbgb = t198; d3fdgagaga = t4*(-600.0*t20*t21*t23*t25*t67*grada+2500.0* t100*t143*t20*t25*t3*t48*grada+0.05101575111111*t10*t184*t7* POW(t72,3.0)+0.02550787555556*t10*t58*t7*(-15.93860684769776* t14*t185*t48*t53*POW(t70,3.0)-7.969303423848879*t48*t14*t150* t70*t62-7.969303423848879*t48*t14*t71*t149*t62-0.58579727218648* t21*t165*grada*t49*t53*t62*t54+0.22052012868531*t48*t22*grada* t49*t56*t52+15.93860684769776*t48*t14*t53*t149*t70*t107+15.93860684769776* t48*t14*t71*t148*t107)+5000.0*t100*t143*t199*t20*t25*t48-13888.88888888889* t182*t199*t20*t200*t25*t3-0.07652362666667*t7*t10*t151*t72* t105); d3fdgagagb = t4*(5000.0*t1*t100*t143*t20*t25*t48*gradb- 13888.88888888889*t1*t182*t20*t200*t25*t3*gradb+0.05101575111111* t7*t10*t146*t78*t184+0.02550787555556*t7*t10*t58*(t175-0.14701341912354* t48*t22*grada*gradb*t49*t70*t62*t52+t174-0.39053151479099* t21*t165*grada*gradb*t49*t71*t62*t54+0.78106302958197*t21* t165*grada*gradb*t49*t53*t70*t107*t54-2.656434474616293*t48* t14*t150*t76*t62-2.656434474616293*t48*t14*t77*t149*t62+10.62573789846517* t48*t14*t71*t70*t76*t107+5.312868949232586*t48*t14*t53*t149* t76*t107+5.312868949232586*t48*t14*t77*t148*t107-15.93860684769776* t48*t14*t53*t148*t76*t185)+t173+t172-0.05101575111111*t7*t10* t72*t105*t166-0.02550787555556*t7*t10*t151*t78*t105); d3fdgagbgb = t4*(5000.0*t100*t143*t2*t20*t25*t48*grada- 13888.88888888889*t182*t2*t20*t200*t25*t3*grada+0.05101575111111* t7*t10*t72*t155*t184+0.02550787555556*t7*t10*t58*(t171-0.14701341912354* t48*t22*grada*gradb*t49*t76*t62*t52+t170-0.39053151479099* t21*t165*grada*gradb*t49*t77*t62*t54+0.78106302958197*t21* t165*grada*gradb*t49*t53*t76*t107*t54-2.656434474616293*t48* t14*t159*t70*t62-2.656434474616293*t48*t14*t71*t158*t62+5.312868949232586* t48*t14*t71*t157*t107+10.62573789846517*t48*t14*t77*t70*t76* t107+5.312868949232586*t48*t14*t53*t158*t70*t107-15.93860684769776* t48*t14*t53*t70*t157*t185)+t169+t168-0.05101575111111*t7*t10* t78*t105*t166-0.02550787555556*t7*t10*t160*t72*t105); d3fdgbgbgb = t4*(-600.0*t20*t21*t23*t25*t67*gradb+2500.0* t100*t143*t20*t25*t3*t48*gradb+0.05101575111111*t10*t184*t7* POW(t78,3.0)+0.02550787555556*t10*t58*t7*(-15.93860684769776* t14*t185*t48*t53*POW(t76,3.0)-7.969303423848879*t48*t14*t159* t76*t62-7.969303423848879*t48*t14*t77*t158*t62-0.58579727218648* t21*t165*gradb*t49*t53*t62*t54+0.22052012868531*t48*t22*gradb* t49*t56*t52+15.93860684769776*t48*t14*t53*t158*t76*t107+15.93860684769776* t48*t14*t77*t157*t107)+5000.0*t100*t143*t20*t201*t25*t48-13888.88888888889* t182*t20*t200*t201*t25*t3-0.07652362666667*t7*t10*t160*t78* t105); ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df0010 += factor*dfdga; ds->df0001 += factor*dfdgb; ds->df00001+= factor*dfdgab; ds->df2000 += factor*d2fdrara; ds->df1100 += factor*d2fdrarb; ds->df1010 += factor*d2fdraga; ds->df1001 += factor*d2fdragb; ds->df0200 += factor*d2fdrbrb; ds->df10001+= factor*d2fdraab; ds->df01001+= factor*d2fdrbab; ds->df0020 += factor*d2fdgaga; ds->df0011 += factor*d2fdgagb; ds->df0002 += factor*d2fdgbgb; ds->df0110 += factor*d2fdrbga; ds->df0101 += factor*d2fdrbgb; ds->df2010 += factor*d3fdraraga; ds->df2001 += factor*d3fdraragb; ds->df1101 += factor*d3fdrarbgb; ds->df11001 += factor*d3fdrarbab; ds->df1020 += factor*d3fdragaga; ds->df1011 += factor*d3fdragagb; ds->df0111 += factor*d3fdrbgagb; ds->df1002 += factor*d3fdragbgb; ds->df3000 += factor*d3fdrarara; ds->df2100 += factor*d3fdrararb; ds->df20001 += factor*d3fdraraab; ds->df02001 += factor*d3fdrbrbab; ds->df1200 += factor*d3fdrarbrb; ds->df1110 += factor*d3fdrarbga; ds->df0300 += factor*d3fdrbrbrb; ds->df0210 += factor*d3fdrbrbga; ds->df0201 += factor*d3fdrbrbgb; ds->df0120 += factor*d3fdrbgaga; ds->df0102 += factor*d3fdrbgbgb; ds->df0030 += factor*d3fdgagaga; ds->df0021 += factor*d3fdgagagb; ds->df0012 += factor*d3fdgagbgb; ds->df0003 += factor*d3fdgbgbgb; } ergo-3.5/source/dft/fun-pw91x.c0000664000175000017500000007323012743400307013244 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /* fun-pw91x.c: Automatically generated code implementing PW91X functional and its derivatives. It is generated by func-codegen.pl being a part of a "Automatic code generation framework for analytical functional derivative evaluation", Pawel Salek, 2005 This functional is connected by making following changes: 1. add "extern Functional pw91xFunctional;" to 'functionals.h' 2. add "&pw91xFunctional," to 'functionals.c' 3. add "fun-pw91x.c" to 'Makefile.am', 'Makefile.in' or 'Makefile'. This functional has been generated from following input: ------ cut here ------- This is exchange PW91x functional of J.P. Perdew, in Proceedings of the 21st Annual International Symposium on the Electronic Structure of Solids, edited by P. Ziesche and H. Eschrig (akademie Verlag, Berlin 1991). Cx: -3/4*(6/%PI)^(1/3); alpha: -3/2*(3/(4*%PI))^(1/3); b: 0.0042; c: 1.6455; d: 4; bet: 5*((36*%PI)^(-5/3)); x(r,g) := g*r^(-4/3); F0(x):=b*x^2-(b-bet)*x^2*exp(-c*x^2)-10^(-6)*x^d; F1(x):=1+6*b*x*asinh(x)-(10^(-6)*x^d)/(alpha); F91(x) := alpha - F0(x)/F1(x); Fb88(x) := alpha - b*x^2/(1 + 6*b*x*asinh(x)); Fd(x) := alpha; Ex(r,g) := r^(4/3)*F91( x(r,g) ); K(rhoa,grada,rhob,gradb,gradab):= Ex(rhoa,grada) +Ex(rhob,gradb); ------ cut here ------- */ #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int pw91x_isgga(void) { return 1; } /* FIXME: detect! */ static int pw91x_read(const char *conf_line); static real pw91x_energy(const FunDensProp* dp); static void pw91x_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp); static void pw91x_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp); static void pw91x_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp); static void pw91x_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dp); Functional Pw91xFunctional = { "PW91X", /* name */ pw91x_isgga, /* gga-corrected */ pw91x_read, NULL, pw91x_energy, pw91x_first, pw91x_second, pw91x_third, pw91x_fourth }; /* IMPLEMENTATION PART */ static int pw91x_read(const char *conf_line) { fun_set_hf_weight(0); return 1; } static real pw91x_energy(const FunDensProp *dp) { real res; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; t1 = POW(rhoa,1.333333333333333); t2 = POW(3.0,.3333333333333333); t3 = POW(4.0,.3333333333333333); t4 = POW(M_PI,.3333333333333333); t5 = -1.5*t2/(t3*t4); t6 = 1/t2; t7 = POW(grada,4.0); t8 = 1/POW(rhoa,5.333333333333333); t9 = 1/t1; t10 = POW(grada,2.0); t11 = 1/POW(rhoa,2.666666666666667); t12 = 0.0042-.1388888888888889/(POW(36.0,.6666666666666666)* POW(M_PI,1.666666666666667)); t13 = POW(rhob,1.333333333333333); t14 = POW(gradb,4.0); t15 = 1/POW(rhob,5.333333333333333); t16 = 1/t13; t17 = POW(gradb,2.0); t18 = 1/POW(rhob,2.666666666666667); /* code */ res = t1*(t5-1.0*(-9.999999999999999e-7*t7*t8-1.0*t10* t11*t12/POW(2.718281828459045,1.6455*t10*t11)+0.0042*t10*t11)/ (0.0252*grada*ASINH(grada*t9)*t9+6.666666666666666e-7*t3*t4* t6*t7*t8+1.0))+t13*(t5-1.0*(-1.0*t12*t17*t18/POW(2.718281828459045, 1.6455*t17*t18)+0.0042*t17*t18-9.999999999999999e-7*t14*t15)/ (6.666666666666666e-7*t14*t15*t3*t4*t6+0.0252*gradb*ASINH(gradb* t16)*t16+1.0)); /* ELIAS NOTE 2016-07-14: for single precsion, the returned res value here can be nan or inf; similar problems seem to exist for several other functionals also. So, this can only be expected to work when at least double precision is used. The xcmat_nan_inf_test.cc test was changed so that some functionals are skipped in the single-precision case. */ return res; } static void pw91x_first_helper(real rhoa, real grada, real *res) { real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21; t1 = POW(rhoa,1.333333333333333); t2 = POW(3.0,.3333333333333333); t3 = POW(4.0,.3333333333333333); t4 = POW(M_PI,.3333333333333333); t5 = POW(grada,4.0); t6 = 1/POW(rhoa,5.333333333333333); t7 = 1/t1; t8 = ASINH(grada*t7); t9 = 0.0252*grada*t8*t7+6.666666666666666e-7*t3*t4*t5* t6/t2+1.0; t10 = 1/t9; t11 = 1/POW(rhoa,6.333333333333333); t12 = POW(grada,2.0); t13 = 1/POW(rhoa,3.666666666666667); t14 = 0.0042-.1388888888888889/(POW(36.0,.6666666666666666)* POW(M_PI,1.666666666666667)); t15 = 1/POW(rhoa,2.666666666666667); t16 = 1/POW(2.718281828459045,1.6455*t12*t15); t17 = 1.9999999999999998e-6/POW(3.0,1.333333333333333); t18 = 1/ SQRT(t12*t15+1.0); t19 = 1/POW(t9,2.0); t20 = -9.999999999999999e-7*t5*t6-1.0*t12*t14*t15*t16+ 0.0042*t12*t15; t21 = POW(grada,3.0); /* code */ res[0] = t1*(t19*t20*(-0.0336*t8*grada/POW(rhoa,2.333333333333333)- 5.333333333333333*t11*t17*t3*t4*t5-0.0336*t12*t18*t13)-1.0* t10*(5.333333333333333e-6*t11*t5+2.666666666666667*t12*t13* t14*t16-4.388*t14*t5*t11*t16-0.0112*t12*t13))+1.333333333333333* (-1.5*t2/(t3*t4)-1.0*t10*t20)*POW(rhoa,.3333333333333333); res[1] = t1*(t19*t20*(0.0252*t8*t7+4.0*t17*t21*t3*t4* t6+0.0252*grada*t18*t15)-1.0*t10*(-2.0*t14*t15*t16*grada-3.9999999999999997e-6* t21*t6+3.291*t14*t21*t6*t16+0.0084*grada*t15)); } static void pw91x_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp) { real res[2]; pw91x_first_helper(dp->rhoa, dp->grada, res); /* Final assignment */ ds->df1000 += factor*res[0]; ds->df0010 += factor*res[1]; if(FABS(dp->rhoa-dp->rhob)>1e-13 || FABS(dp->grada-dp->gradb)>1e-13) pw91x_first_helper(dp->rhob, dp->gradb, res); ds->df0100 += factor*res[0]; ds->df0001 += factor*res[1]; } static void pw91x_second_helper(real rhoa, real grada, real *res) { real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36; t1 = POW(rhoa,1.333333333333333); t2 = POW(3.0,.3333333333333333); t3 = POW(4.0,.3333333333333333); t4 = POW(M_PI,.3333333333333333); t5 = POW(grada,4.0); t6 = 1/POW(rhoa,5.333333333333333); t7 = 1/t1; t8 = ASINH(grada*t7); t9 = 0.0252*grada*t8*t7+6.666666666666666e-7*t3*t4*t5* t6/t2+1.0; t10 = 1/t9; t11 = 1/POW(rhoa,6.333333333333333); t12 = POW(grada,2.0); t13 = 1/POW(rhoa,3.666666666666667); t14 = 0.0042-.1388888888888889/(POW(36.0,.6666666666666666)* POW(M_PI,1.666666666666667)); t15 = 1/POW(rhoa,2.666666666666667); t16 = 1/POW(2.718281828459045,1.6455*t12*t15); t17 = 5.333333333333333e-6*t11*t5+2.666666666666667*t12* t13*t14*t16-4.388*t14*t5*t11*t16-0.0112*t12*t13; t18 = 1/POW(3.0,1.333333333333333); t19 = 1.9999999999999998e-6*t18; t20 = SQRT(t12*t15+1.0); t21 = 1/t20; t22 = 1/POW(rhoa,2.333333333333333); t23 = -5.333333333333333*t11*t19*t3*t4*t5-0.0336*grada* t8*t22-0.0336*t12*t21*t13; t24 = 1/POW(t9,2.0); t25 = -9.999999999999999e-7*t5*t6-1.0*t12*t14*t15*t16+ 0.0042*t12*t15; t26 = t23*t24*t25-1.0*t10*t17; t27 = POW(rhoa,.3333333333333333); t28 = -1.5*t2/(t3*t4)-1.0*t10*t25; t29 = POW(grada,3.0); t30 = -2.0*t14*t15*t16*grada-3.9999999999999997e-6*t29* t6+3.291*t14*t29*t6*t16+0.0084*grada*t15; t31 = 0.0252*t8*t7+4.0*t19*t29*t3*t4*t6+0.0252*grada* t21*t15; t32 = t31*t24*t25-1.0*t10*t30; t33 = 1/POW(rhoa,7.333333333333333); t34 = 1/POW(rhoa,4.666666666666667); t35 = 1/POW(t9,3.0); t36 = 1/POW(t20,3.0); /* code */ res[0] = 1.333333333333333*t27*t28+t1*t26; res[1] = t1*t32; res[2] = t1*(-1.0*t10*(-19.254544*t14*t16*POW(grada,6.0)/ POW(rhoa,10.0)-3.377777777777778e-5*t33*t5-9.777777777777779* t12*t14*t16*t34+.04106666666666666*t12*t34+39.492*t14*t5*t33* t16)+t24*t25*(0.0784*t8*grada/POW(rhoa,3.333333333333333)+ 6.755555555555556e-5*t18*t3*t33*t4*t5+0.168*t12*t21*t34-.04479999999999999* t5*t36*t33)-2.0*POW(t23,2.0)*t25*t35+2.0*t17*t23*t24)+.4444444444444444* t28/POW(rhoa,.6666666666666666)+2.666666666666667*t26*t27; res[3] = t1*(-1.0*t10*(14.440908*t14*t16*POW(grada,5.0)/ POW(rhoa,9.0)+5.333333333333333*t13*t14*t16*grada+2.1333333333333332e-5* t11*t29-26.328*t14*t29*t11*t16-0.0224*grada*t13)+t24*t25*(- 4.2666666666666664e-5*t11*t18*t29*t3*t4-0.0336*t8*t22-0.1008* grada*t21*t13+0.0336*t29*t36*t11)-2.0*t23*t25*t31*t35+t23* t24*t30+t31*t24*t17)+1.333333333333333*t27*t32; res[4] = t1*(-1.0*t10*(-10.830681*t14*t16*t5/POW(rhoa, 8.0)-1.2e-5*t12*t6+16.455*t14*t12*t6*t16-2.0*t14*t15*t16+0.0084* t15)+t24*t25*(6.e-6*POW(4.0,1.333333333333333)*t12*t18*t4* t6-0.0252*t12*t36*t6+0.0504*t21*t15)-2.0*t25*POW(t31,2.0)* t35+2.0*t24*t30*t31); } static void pw91x_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { real res[5]; pw91x_second_helper(dp->rhoa, dp->grada, res); ds->df1000 += factor*res[0]; ds->df0010 += factor*res[1]; ds->df2000 += factor*res[2]; ds->df1010 += factor*res[3]; ds->df0020 += factor*res[4]; if(FABS(dp->rhoa-dp->rhob)>1e-13 || FABS(dp->grada-dp->gradb)>1e-13) pw91x_second_helper(dp->rhob, dp->gradb, res); ds->df0100 += factor*res[0]; ds->df0001 += factor*res[1]; ds->df0200 += factor*res[2]; ds->df0101 += factor*res[3]; ds->df0002 += factor*res[4]; } static void pw91x_third_helper(real rhoa, real grada, real *res) { real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43, t44, t45, t46, t47, t48, t49, t50; real t51, t52, t53, t54, t55, t56, t57, t58; real t59, t60; t1 = POW(rhoa,1.333333333333333); t2 = POW(3.0,.3333333333333333); t3 = POW(4.0,.3333333333333333); t4 = POW(M_PI,.3333333333333333); t5 = POW(grada,4.0); t6 = 1/POW(rhoa,5.333333333333333); t7 = 1/t1; t8 = ASINH(grada*t7); t9 = 0.0252*grada*t8*t7+6.666666666666666e-7*t3*t4*t5* t6/t2+1.0; t10 = 1/t9; t11 = 1/POW(rhoa,6.333333333333333); t12 = POW(grada,2.0); t13 = 1/POW(rhoa,3.666666666666667); t14 = 0.0042-.1388888888888889/(POW(36.0,.6666666666666666)* POW(M_PI,1.666666666666667)); t15 = 1/POW(rhoa,2.666666666666667); t16 = 1/POW(2.718281828459045,1.6455*t12*t15); t17 = 5.333333333333333e-6*t11*t5+2.666666666666667*t12* t13*t14*t16-4.388*t14*t5*t11*t16-0.0112*t12*t13; t18 = 1/POW(3.0,1.333333333333333); t19 = 1.9999999999999998e-6*t18; t20 = SQRT(t12*t15+1.0); t21 = 1/t20; t22 = 1/POW(rhoa,2.333333333333333); t23 = -5.333333333333333*t11*t19*t3*t4*t5-0.0336*grada* t8*t22-0.0336*t12*t21*t13; t24 = 1/POW(t9,2.0); t25 = -9.999999999999999e-7*t5*t6-1.0*t12*t14*t15*t16+ 0.0042*t12*t15; t26 = t23*t24*t25-1.0*t10*t17; t27 = POW(rhoa,.3333333333333333); t28 = -1.5*t2/(t3*t4)-1.0*t10*t25; t29 = POW(grada,3.0); t30 = -2.0*t14*t15*t16*grada-3.9999999999999997e-6*t29* t6+3.291*t14*t29*t6*t16+0.0084*grada*t15; t31 = 0.0252*t8*t7+4.0*t19*t29*t3*t4*t6+0.0252*grada* t21*t15; t32 = t31*t24*t25-1.0*t10*t30; t33 = 1/POW(rhoa,7.333333333333333); t34 = 1/POW(rhoa,4.666666666666667); t35 = POW(grada,6.0); t36 = 1/POW(rhoa,10.0); t37 = -3.377777777777778e-5*t33*t5-9.777777777777779* t12*t14*t16*t34+.04106666666666666*t12*t34-19.254544*t14*t35* t36*t16+39.492*t14*t5*t33*t16; t38 = POW(t23,2.0); t39 = 1/POW(t9,3.0); t40 = 1/POW(t20,3.0); t41 = 1/POW(rhoa,3.333333333333333); t42 = 6.755555555555556e-5*t18*t3*t33*t4*t5+0.0784*grada* t8*t41+0.168*t12*t21*t34-.04479999999999999*t5*t40*t33; t43 = -2.0*t25*t38*t39-1.0*t10*t37+t42*t24*t25+2.0*t17* t23*t24; t44 = 1/POW(rhoa,.6666666666666666); t45 = POW(grada,5.0); t46 = 1/POW(rhoa,9.0); t47 = 5.333333333333333*t13*t14*t16*grada+2.1333333333333332e-5* t11*t29+14.440908*t14*t45*t46*t16-26.328*t14*t29*t11*t16-0.0224* grada*t13; t48 = -4.2666666666666664e-5*t11*t18*t29*t3*t4-0.0336* t8*t22-0.1008*grada*t21*t13+0.0336*t29*t40*t11; t49 = -1.0*t10*t47-2.0*t23*t25*t31*t39+t23*t24*t30+t48* t24*t25+t31*t24*t17; t50 = 1/POW(rhoa,8.0); t51 = -1.2e-5*t12*t6+16.455*t14*t12*t6*t16-10.830681* t14*t5*t50*t16-2.0*t14*t15*t16+0.0084*t15; t52 = POW(t31,2.0); t53 = POW(4.0,1.333333333333333); t54 = 6.e-6*t12*t18*t4*t53*t6-0.0252*t12*t40*t6+0.0504* t21*t15; t55 = -2.0*t25*t39*t52-1.0*t10*t51+2.0*t24*t30*t31+t54* t24*t25; t56 = 1/POW(rhoa,8.333333333333334); t57 = 1/POW(rhoa,5.666666666666667); t58 = 1/POW(rhoa,11.0); t59 = 1/POW(t9,4.0); t60 = 1/POW(t20,5.0); /* code */ res[0] = 1.333333333333333*t27*t28+t1*t26; res[1] = t1*t32; res[2] = .4444444444444444*t28*t44+t1*t43+2.666666666666667* t26*t27; res[3] = t1*t49+1.333333333333333*t27*t32; res[4] = t1*t55; res[5] = t1*(-1.0*t10*(-84.488939072*t14*t16*POW(grada, 8.0)/POW(rhoa,13.66666666666667)+45.62962962962963*t12*t14* t16*t57-.1916444444444444*t12*t57+2.477037037037037e-4*t5* t56+365.836336*t14*t35*t58*t16-332.5128888888888*t14*t5*t56* t16)+t24*t25*(-.2613333333333334*t8*grada/POW(rhoa,4.333333333333333)- 0.1792*t35*t60*t58-.8885333333333333*t12*t21*t57-4.954074074074074e-4* t18*t3*t4*t5*t56+.5525333333333333*t5*t40*t56)+6.0*POW(t23, 3.0)*t25*t59-6.0*t23*t25*t39*t42+3.0*t17*t24*t42-6.0*t17*t38* t39+3.0*t23*t24*t37)-.2962962962962963*t28/POW(rhoa,1.666666666666667)+ 1.333333333333333*t26*t44+4.0*t27*t43; res[6] = t1*(-1.0*t10*(63.366704304*t14*t16*POW(grada, 7.0)/POW(rhoa,12.66666666666667)-19.55555555555556*t14*t16* t34*grada+.08213333333333332*grada*t34-1.3511111111111113e-4* t29*t33-245.495436*t14*t45*t36*t16+190.1466666666666*t14*t29* t33*t16)+6.0*t25*t31*t38*t59-4.0*t23*t25*t39*t48+2.0*t17*t24* t48+2.0*t23*t24*t47-2.0*t25*t31*t39*t42+t24*t25*(0.0784*t8* t41+2.702222222222222e-4*t18*t29*t3*t33*t4+0.1344*t45*t60* t36+0.4144*grada*t21*t34-0.3472*t29*t40*t33)-2.0*t30*t38*t39- 4.0*t17*t23*t31*t39+t31*t24*t37+t42*t24*t30)+2.666666666666667* t27*t49+.4444444444444444*t32*t44; res[7] = t1*(-1.0*t10*(-47.525028228*t14*t16*t35/POW(rhoa, 11.66666666666667)+158.849988*t14*t5*t46*t16+5.333333333333333* t13*t14*t16-96.536*t14*t12*t11*t16-0.0224*t13+6.399999999999999e-5* t11*t12)+6.0*t23*t25*t52*t59-2.0*t23*t25*t39*t54-2.0*t17*t39* t52+t23*t24*t51-4.0*t25*t31*t39*t48+2.0*t24*t30*t48+2.0*t24* t31*t47+t24*t25*(-0.1008*t5*t60*t46-1.2799999999999997e-4* t11*t12*t18*t3*t4-0.1344*t21*t13+0.2016*t12*t40*t11)-4.0*t23* t30*t31*t39+t54*t24*t17)+1.333333333333333*t27*t55; res[8] = t1*(-1.0*t10*(35.643771171*t14*t16*t45/POW(rhoa, 10.66666666666667)-2.4e-5*t6*grada+39.492*t14*grada*t6*t16- 97.47612899999999*t14*t29*t50*t16)+t24*t25*(1.2e-5*t18*t4* t53*t6*grada-0.1008*grada*t40*t6+0.0756*t29*t60*t50)+6.0*t25* POW(t31,3.0)*t59-6.0*t25*t31*t39*t54+3.0*t24*t30*t54-6.0*t30* t39*t52+3.0*t24*t31*t51); } static void pw91x_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { real res[9]; pw91x_third_helper(dp->rhoa, dp->grada, res); ds->df1000 += factor*res[0]; ds->df0010 += factor*res[1]; ds->df2000 += factor*res[2]; ds->df1010 += factor*res[3]; ds->df0020 += factor*res[4]; ds->df3000 += factor*res[5]; ds->df2010 += factor*res[6]; ds->df1020 += factor*res[7]; ds->df0030 += factor*res[8]; if(FABS(dp->rhoa-dp->rhob)>1e-13 || FABS(dp->grada-dp->gradb)>1e-13) pw91x_third_helper(dp->rhob, dp->gradb, res); ds->df0100 += factor*res[0]; ds->df0001 += factor*res[1]; ds->df0200 += factor*res[2]; ds->df0101 += factor*res[3]; ds->df0002 += factor*res[4]; ds->df0300 += factor*res[5]; ds->df0201 += factor*res[6]; ds->df0102 += factor*res[7]; ds->df0003 += factor*res[8]; } static void pw91x_fourth_helper(real rhoa, real grada, real *res) { real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43, t44, t45, t46, t47, t48, t49, t50; real t51, t52, t53, t54, t55, t56, t57, t58; real t59, t60, t61, t62, t63, t64, t65, t66; real t67, t68, t69, t70, t71, t72, t73, t74; real t75, t76, t77, t78, t79, t80, t81, t82; real t83, t84, t85, t86, t87, t88; t1 = POW(rhoa,1.333333333333333); t2 = POW(3.0,.3333333333333333); t3 = POW(4.0,.3333333333333333); t4 = POW(M_PI,.3333333333333333); t5 = POW(grada,4.0); t6 = 1/POW(rhoa,5.333333333333333); t7 = 1/t1; t8 = ASINH(grada*t7); t9 = 0.0252*grada*t8*t7+6.666666666666666e-7*t3*t4*t5* t6/t2+1.0; t10 = 1/t9; t11 = 1/POW(rhoa,6.333333333333333); t12 = POW(grada,2.0); t13 = 1/POW(rhoa,3.666666666666667); t14 = 0.0042-.1388888888888889/(POW(36.0,.6666666666666666)* POW(M_PI,1.666666666666667)); t15 = 1/POW(rhoa,2.666666666666667); t16 = 1/POW(2.718281828459045,1.6455*t12*t15); t17 = 5.333333333333333e-6*t11*t5+2.666666666666667*t12* t13*t14*t16-4.388*t14*t5*t11*t16-0.0112*t12*t13; t18 = 1/POW(3.0,1.333333333333333); t19 = 1.9999999999999998e-6*t18; t20 = SQRT(t12*t15+1.0); t21 = 1/t20; t22 = 1/POW(rhoa,2.333333333333333); t23 = -5.333333333333333*t11*t19*t3*t4*t5-0.0336*grada* t8*t22-0.0336*t12*t21*t13; t24 = 1/POW(t9,2.0); t25 = -9.999999999999999e-7*t5*t6-1.0*t12*t14*t15*t16+ 0.0042*t12*t15; t26 = t23*t24*t25-1.0*t10*t17; t27 = POW(rhoa,.3333333333333333); t28 = -1.5*t2/(t3*t4)-1.0*t10*t25; t29 = POW(grada,3.0); t30 = -2.0*t14*t15*t16*grada-3.9999999999999997e-6*t29* t6+3.291*t14*t29*t6*t16+0.0084*grada*t15; t31 = 0.0252*t8*t7+4.0*t19*t29*t3*t4*t6+0.0252*grada* t21*t15; t32 = t31*t24*t25-1.0*t10*t30; t33 = 1/POW(rhoa,7.333333333333333); t34 = 1/POW(rhoa,4.666666666666667); t35 = POW(grada,6.0); t36 = 1/POW(rhoa,10.0); t37 = -3.377777777777778e-5*t33*t5-9.777777777777779* t12*t14*t16*t34+.04106666666666666*t12*t34-19.254544*t14*t35* t36*t16+39.492*t14*t5*t33*t16; t38 = POW(t23,2.0); t39 = 1/POW(t9,3.0); t40 = 1/POW(t20,3.0); t41 = 1/POW(rhoa,3.333333333333333); t42 = 6.755555555555556e-5*t18*t3*t33*t4*t5+0.0784*grada* t8*t41+0.168*t12*t21*t34-.04479999999999999*t5*t40*t33; t43 = -2.0*t25*t38*t39-1.0*t10*t37+t42*t24*t25+2.0*t17* t23*t24; t44 = 1/POW(rhoa,.6666666666666666); t45 = POW(grada,5.0); t46 = 1/POW(rhoa,9.0); t47 = 5.333333333333333*t13*t14*t16*grada+2.1333333333333332e-5* t11*t29+14.440908*t14*t45*t46*t16-26.328*t14*t29*t11*t16-0.0224* grada*t13; t48 = -4.2666666666666664e-5*t11*t18*t29*t3*t4-0.0336* t8*t22-0.1008*grada*t21*t13+0.0336*t29*t40*t11; t49 = -1.0*t10*t47-2.0*t23*t25*t31*t39+t23*t24*t30+t48* t24*t25+t31*t24*t17; t50 = 1/POW(rhoa,8.0); t51 = -1.2e-5*t12*t6+16.455*t14*t12*t6*t16-10.830681* t14*t5*t50*t16-2.0*t14*t15*t16+0.0084*t15; t52 = POW(t31,2.0); t53 = POW(4.0,1.333333333333333); t54 = 6.e-6*t12*t18*t4*t53*t6-0.0252*t12*t40*t6+0.0504* t21*t15; t55 = -2.0*t25*t39*t52-1.0*t10*t51+2.0*t24*t30*t31+t54* t24*t25; t56 = 1/POW(rhoa,8.333333333333334); t57 = 1/POW(rhoa,5.666666666666667); t58 = POW(grada,8.0); t59 = 1/POW(rhoa,13.66666666666667); t60 = 1/POW(rhoa,11.0); t61 = 45.62962962962963*t12*t14*t16*t57-.1916444444444444* t12*t57+2.477037037037037e-4*t5*t56+365.836336*t14*t35*t60* t16-84.488939072*t14*t58*t59*t16-332.5128888888888*t14*t5* t56*t16; t62 = POW(t23,3.0); t63 = 1/POW(t9,4.0); t64 = 1/POW(t20,5.0); t65 = 1/POW(rhoa,4.333333333333333); t66 = -.2613333333333334*grada*t8*t65-0.1792*t35*t64* t60-.8885333333333333*t12*t21*t57-4.954074074074074e-4*t18* t3*t4*t5*t56+.5525333333333333*t5*t40*t56; t67 = 6.0*t25*t62*t63-1.0*t10*t61-6.0*t23*t25*t39*t42+ 3.0*t17*t24*t42-6.0*t17*t38*t39+3.0*t23*t24*t37+t66*t24*t25; t68 = 1/ POW(rhoa,1.666666666666667); t69 = POW(grada,7.0); t70 = 1/POW(rhoa,12.66666666666667); t71 = -19.55555555555556*t14*t16*t34*grada+.08213333333333332* grada*t34-1.3511111111111113e-4*t29*t33+63.366704304*t14*t69* t70*t16-245.495436*t14*t45*t36*t16+190.1466666666666*t14*t29* t33*t16; t72 = 0.0784*t8*t41+2.702222222222222e-4*t18*t29*t3*t33* t4+0.1344*t45*t64*t36+0.4144*grada*t21*t34-0.3472*t29*t40* t33; t73 = -1.0*t10*t71+6.0*t25*t31*t38*t63-4.0*t23*t25*t39* t48+2.0*t17*t24*t48+2.0*t23*t24*t47-2.0*t25*t31*t39*t42-2.0* t30*t38*t39-4.0*t17*t23*t31*t39+t31*t24*t37+t42*t24*t30+t72* t24*t25; t74 = 1/POW(rhoa,11.66666666666667); t75 = -47.525028228*t14*t35*t74*t16+158.849988*t14*t5* t46*t16+5.333333333333333*t13*t14*t16-96.536*t14*t12*t11*t16- 0.0224*t13+6.399999999999999e-5*t11*t12; t76 = -0.1008*t5*t64*t46-1.2799999999999997e-4*t11*t12* t18*t3*t4-0.1344*t21*t13+0.2016*t12*t40*t11; t77 = -1.0*t10*t75+6.0*t23*t25*t52*t63-2.0*t23*t25*t39* t54-2.0*t17*t39*t52+t23*t24*t51-4.0*t25*t31*t39*t48+2.0*t24* t30*t48+2.0*t24*t31*t47-4.0*t23*t30*t31*t39+t76*t24*t25+t54* t24*t17; t78 = 1/POW(rhoa,10.66666666666667); t79 = -2.4e-5*t6*grada+35.643771171*t14*t45*t78*t16+39.492* t14*grada*t6*t16-97.47612899999999*t14*t29*t50*t16; t80 = POW(t31,3.0); t81 = 1.2e-5*t18*t4*t53*t6*grada-0.1008*grada*t40*t6+ 0.0756*t29*t64*t50; t82 = 6.0*t25*t63*t80-1.0*t10*t79-6.0*t25*t31*t39*t54+ 3.0*t24*t30*t54-6.0*t30*t39*t52+3.0*t24*t31*t51+t81*t24*t25; t83 = 1/ POW(rhoa,9.333333333333334); t84 = 1/POW(rhoa,6.666666666666667); t85 = 1/POW(rhoa,14.66666666666667); t86 = 1/POW(rhoa,12.0); t87 = 1/POW(t9,5.0); t88 = 1/POW(t20,7.0); /* code */ res[0] = 1.333333333333333*t27*t28+t1*t26; res[1] = t1*t32; res[2] = .4444444444444444*t28*t44+t1*t43+2.666666666666667* t26*t27; res[3] = t1*t49+1.333333333333333*t27*t32; res[4] = t1*t55; res[5] = -.2962962962962963*t28*t68+t1*t67+1.333333333333333* t26*t44+4.0*t27*t43; res[6] = t1*t73+2.666666666666667*t27*t49+.4444444444444444* t32*t44; res[7] = t1*t77+1.333333333333333*t27*t55; res[8] = t1*t82; res[9] = t1*(-1.0*t10*(-370.737464647936*t14*t16*POW(grada, 10.0)/POW(rhoa,17.33333333333333)-258.5679012345679*t12*t14* t16*t84+1.085985185185185*t12*t84-.002064197530864197*t5*t83- 5483.266252444444*t14*t35*t86*t16+2759.972009685333*t14*t58* t85*t16+2971.163555555555*t14*t5*t83*t16)-24.0*POW(t23,4.0)* t25*t87+t24*t25*(4.181333333333333*t35*t64*t86-1.194666666666667* t58*t88*t85+5.383466666666667*t12*t21*t84+.004128395061728395* t18*t3*t4*t5*t83-5.789155555555556*t5*t40*t83+1.132444444444445* grada*t8*t6)-8.0*t23*t25*t39*t66+4.0*t17*t24*t66+24.0*t17* t62*t63+36.0*t25*t38*t42*t63+4.0*t23*t24*t61-6.0*t25*t39*POW(t42, 2.0)-24.0*t17*t23*t39*t42+6.0*t24*t37*t42-12.0*t37*t38*t39)- 1.185185185185185*t26*t68+5.333333333333333*t27*t67+2.666666666666667* t43*t44+.4938271604938271*t15*t28; res[10] = t1*(-1.0*t10*(278.053098485952*t14*t16*POW(grada, 9.0)/POW(rhoa,16.33333333333333)+91.25925925925925*t14*t16* t57*grada-.3832888888888888*grada*t57+9.908148148148148e-4* t29*t56+3289.317933333333*t14*t45*t60*t16-1879.878894352*t14* t69*t59*t16-1480.218666666666*t14*t29*t56*t16)-24.0*t25*t31* t62*t87-6.0*t23*t25*t39*t72+3.0*t17*t24*t72+3.0*t23*t24*t71- 2.0*t25*t31*t39*t66+t24*t25*(-.2613333333333334*t8*t65-2.7328* t45*t64*t60+.8959999999999999*t69*t88*t59-2.0384*grada*t21* t57+3.098666666666666*t29*t40*t56-0.00198162962962963*t18* t29*t3*t4*t56)+6.0*t30*t62*t63+18.0*t25*t38*t48*t63+18.0*t23* t25*t31*t42*t63+18.0*t17*t31*t38*t63+t31*t24*t61-6.0*t25*t39* t42*t48-12.0*t17*t23*t39*t48+3.0*t24*t37*t48+3.0*t24*t42*t47- 6.0*t38*t39*t47-6.0*t17*t31*t39*t42-6.0*t23*t30*t39*t42-6.0* t23*t31*t37*t39+t66*t24*t30)+4.0*t27*t73-.2962962962962963* t32*t68+1.333333333333333*t44*t49; res[11] = t1*(-1.0*t10*(-208.539823864464*t14*t16*t58/ POW(rhoa,15.33333333333333)-19.55555555555556*t14*t16*t34+ .08213333333333332*t34-4.053333333333333e-4*t12*t33+1251.492410004* t14*t35*t70*t16-1853.24986*t14*t5*t36*t16+634.7973333333333* t14*t12*t33*t16)-24.0*t25*t38*t52*t87-4.0*t23*t25*t39*t76+ 2.0*t17*t24*t76+2.0*t23*t24*t75-4.0*t25*t31*t39*t72+2.0*t24* t30*t72+2.0*t24*t31*t71+t24*t25*(-.6719999999999998*t35*t88* t70+8.106666666666666e-4*t12*t18*t3*t33*t4+1.7136*t5*t64*t36+ 0.4928*t21*t34-1.456*t12*t40*t33)+6.0*t25*t38*t54*t63+6.0* t25*t42*t52*t63+12.0*t17*t23*t52*t63+24.0*t23*t25*t31*t48* t63+12.0*t30*t31*t38*t63-2.0*t25*t39*t42*t54-4.0*t17*t23*t39* t54-2.0*t37*t39*t52-2.0*t38*t39*t51+t42*t24*t51-4.0*t25*t39* POW(t48,2.0)+4.0*t24*t47*t48-8.0*t17*t31*t39*t48-8.0*t23*t30* t39*t48-8.0*t23*t31*t39*t47-4.0*t30*t31*t39*t42+t54*t24*t37)+ 2.666666666666667*t27*t77+.4444444444444444*t44*t55; res[12] = t1*(-1.0*t10*(156.404867898348*t14*t16*t69/ POW(rhoa,14.33333333333333)+1.2799999999999997e-4*t11*grada- 807.9254798759999*t14*t45*t74*t16+953.099928*t14*t29*t46*t16- 210.624*t14*grada*t11*t16)+t24*t25*(-2.56e-4*t11*t18*t3*t4* grada+0.504*t45*t88*t74-1.008*t29*t64*t46+0.5376*grada*t40* t11)-24.0*t23*t25*t80*t87-2.0*t23*t25*t39*t81+6.0*t17*t63* t80+t23*t24*t79-6.0*t25*t31*t39*t76+3.0*t24*t30*t76+3.0*t24* t31*t75+18.0*t23*t25*t31*t54*t63+18.0*t25*t48*t52*t63+18.0* t23*t30*t52*t63-6.0*t25*t39*t48*t54+3.0*t24*t47*t54-6.0*t17* t31*t39*t54-6.0*t23*t30*t39*t54-6.0*t39*t47*t52+3.0*t24*t48* t51-6.0*t23*t31*t39*t51-12.0*t30*t31*t39*t48+t81*t24*t17)+ 1.333333333333333*t27*t82; res[13] = t1*(-1.0*t10*(-117.303650923761*t14*t16*t35/ POW(rhoa,13.33333333333333)-2.4e-5*t6+499.0127963939999*t14* t5*t78*t16+39.492*t14*t6*t16-422.3965589999999*t14*t12*t50* t16)-24.0*t25*POW(t31,4.0)*t87-8.0*t25*t31*t39*t81+4.0*t24* t30*t81+24.0*t30*t63*t80+4.0*t24*t31*t79+t24*t25*(-0.378*t5* t88*t78+1.2e-5*t18*t4*t53*t6-0.1008*t40*t6+0.5292*t12*t64* t50)+36.0*t25*t52*t54*t63-6.0*t25*t39*POW(t54,2.0)+6.0*t24* t51*t54-24.0*t30*t31*t39*t54-12.0*t39*t51*t52); } static void pw91x_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dp) { real res[14]; pw91x_fourth_helper(dp->rhoa, dp->grada, res); ds->df1000 += factor*res[0]; ds->df0010 += factor*res[1]; ds->df2000 += factor*res[2]; ds->df1010 += factor*res[3]; ds->df0020 += factor*res[4]; ds->df3000 += factor*res[5]; ds->df2010 += factor*res[6]; ds->df1020 += factor*res[7]; ds->df0030 += factor*res[8]; ds->df4000 += factor*res[9]; ds->df3010 += factor*res[10]; ds->df2020 += factor*res[11]; ds->df1030 += factor*res[12]; ds->df0040 += factor*res[13]; if(FABS(dp->rhoa-dp->rhob)>1e-13 || FABS(dp->grada-dp->gradb)>1e-13) pw91x_fourth_helper(dp->rhob, dp->gradb, res); ds->df0100 += factor*res[0]; ds->df0001 += factor*res[1]; ds->df0200 += factor*res[2]; ds->df0101 += factor*res[3]; ds->df0002 += factor*res[4]; ds->df0300 += factor*res[5]; ds->df0201 += factor*res[6]; ds->df0102 += factor*res[7]; ds->df0003 += factor*res[8]; ds->df0400 += factor*res[9]; ds->df0301 += factor*res[10]; ds->df0202 += factor*res[11]; ds->df0103 += factor*res[12]; ds->df0004 += factor*res[13]; } ergo-3.5/source/dft/dft.h0000664000175000017500000000761212743400307012251 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file dft.h Definitions exported by the DFT module. Specific to full matrices, containing traces of Fortran influence and really deprecated... (c) Pawel Salek, pawsa@theochem.kth.se, feb 2002 */ #ifndef _GENERAL_H_ #define _GENERAL_H_ #include #ifdef __cplusplus #define EXTERN_C extern "C" #else #define EXTERN_C #endif #if defined(__cplusplus) #define RESTRICT #else /* We really do want to take advantage of the restrict keyword... */ #define RESTRICT restrict #endif #if !defined(__CVERSION) #define __CVERSION__ #endif #include "functionals.h" #include "basisinfo.h" #include "molecule.h" #include "grid_reader.h" /* Match Fortran name mangling. If the Fortran compiler does not * mangle names, define NO_UNDERSCORE in CFLAGS. g77 and compaq fort * (cryptically referred to with HAVE_GCPP below) for linux-alpha both * insert a second underscore if routine name contains at least one * underscore /hjaaj Oct04 */ #ifdef NO_UNDERSCORE #define FSYM(a) a #define FSYM2(a) a #else #define FSYM(a) a ## _ #if defined(VAR_G77) || defined(HAVE_GCPP) #define FSYM2(a) a ## __ #else #define FSYM2(a) a ## _ #endif #endif #if defined(VAR_PGF77) #define __FUNCTION__ "PGI_does_not_define__FUNCTION__" #endif #if defined(SYS_SUN) #define __FUNCTION__ "SUNs CC compiler_does_not_define__FUNCTION__" #endif #if defined(SYS_IRIX) #define __FUNCTION__ "SGIs CC compiler_does_not_define__FUNCTION__" #endif #if defined(SYS_DEC) #define __FUNCTION__ "DEC CC compiler does not define __FUNCTION__" #endif #define ELEMENTS(arr) (sizeof(arr)/sizeof(arr[0])) EXTERN_C void dftpot0_(FirstDrv *ds, const real* weight, const FunDensProp* dp); EXTERN_C void dftpot1_(SecondDrv *ds, const real* w, const FunDensProp* dp, const int* triplet); EXTERN_C int dft_setfunc(const char *line); EXTERN_C void grid_set_tmpdir(const char *tmpdir); EXTERN_C real dft_get_xc(int nElectrons, const real* dmat, const BasisInfoStruct *bis, const Molecule *mol, const Dft::GridParams& gss, real* ksm, real* edfty, int nThreads); EXTERN_C real dft_get_uxc(int nElectrons, const real* dmata, const real *dmatb, const BasisInfoStruct *bis, const Molecule *mol, const Dft::GridParams& gss, real* xca, real *xcb, real* edfty, int nThreads); /* Property evaluators */ typedef void (*DFTPropEvalMaster)(void); typedef void (*DFTPropEvalSlave)(real* work, int* lwork, const int* iprint); extern int (*fort_print)(const char* format, ...); #if !defined __inline__ /* inline some stuff whenever possible */ #define __inline__ #endif #endif ergo-3.5/source/dft/Makefile.in0000664000175000017500000005221012743400352013362 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/dft ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libdft_a_AR = $(AR) $(ARFLAGS) libdft_a_LIBADD = am_libdft_a_OBJECTS = aos.$(OBJEXT) cubature_rules.$(OBJEXT) \ dft_common.$(OBJEXT) fun-becke.$(OBJEXT) fun-cam.$(OBJEXT) \ fun-gga.$(OBJEXT) fun-kt.$(OBJEXT) fun-lb94.$(OBJEXT) \ fun-lyp.$(OBJEXT) fun-optx.$(OBJEXT) fun-p86c.$(OBJEXT) \ fun-pbec.$(OBJEXT) fun-pbex.$(OBJEXT) fun-pw86x.$(OBJEXT) \ fun-pw91c.$(OBJEXT) fun-pw91x.$(OBJEXT) fun-pw92c.$(OBJEXT) \ fun-pz81.$(OBJEXT) fun-slater.$(OBJEXT) fun-tester.$(OBJEXT) \ fun-vwn.$(OBJEXT) functionals.$(OBJEXT) grid_atomic.$(OBJEXT) \ grid_hicu.$(OBJEXT) grid_reader.$(OBJEXT) \ grid_stream.$(OBJEXT) integrator.$(OBJEXT) \ lebedev_laikov.$(OBJEXT) lin_trans.$(OBJEXT) rho-mat.$(OBJEXT) \ sparse_matrix.$(OBJEXT) sparse_pattern.$(OBJEXT) \ xc_matrix.$(OBJEXT) xc_matrix_sparse.$(OBJEXT) libdft_a_OBJECTS = $(am_libdft_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(libdft_a_SOURCES) DIST_SOURCES = $(libdft_a_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libdft.a libdft_a_SOURCES = \ aos.cc \ aos.h \ cubature_rules.cc \ cubature_rules.h \ dft.h \ dft_common.cc \ dft_common.h \ fun-becke.c \ fun-cam.c \ fun-gga.c \ fun-kt.c \ fun-lb94.c \ fun-lyp.c \ fun-optx.c \ fun-p86c.c \ fun-pbec.c \ fun-pbex.c \ fun-pw86x.c \ fun-pw91c.c \ fun-pw91x.c \ fun-pw92c.c \ fun-pz81.c \ fun-slater.c \ fun-tester.cc \ fun-vwn.c \ functionals.c \ functionals.h \ grid_atomic.cc \ grid_atomic.h \ grid_hicu.cc \ grid_hicu.h \ grid_interface.h\ grid_matrix.h \ grid_params.h \ grid_reader.cc \ grid_reader.h \ grid_stream.cc \ grid_stream.h \ integrator.cc \ integrator.h \ lebedev_laikov.cc\ lebedev_laikov.h\ lin_trans.cc \ lin_trans.h \ rho-mat.cc \ rho-mat.h \ sparse_matrix.cc \ sparse_matrix.h \ sparse_pattern.cc \ sparse_pattern.h \ xc_evaluators.h \ xc_matrix.cc \ xc_matrix.h \ xc_matrix_sparse.cc \ xc_matrix_sparse.h # use matrix for gblas... AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack all: all-am .SUFFIXES: .SUFFIXES: .c .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/dft/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/dft/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libdft.a: $(libdft_a_OBJECTS) $(libdft_a_DEPENDENCIES) $(EXTRA_libdft_a_DEPENDENCIES) $(AM_V_at)-rm -f libdft.a $(AM_V_AR)$(libdft_a_AR) libdft.a $(libdft_a_OBJECTS) $(libdft_a_LIBADD) $(AM_V_at)$(RANLIB) libdft.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aos.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cubature_rules.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dft_common.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-becke.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-cam.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-gga.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-kt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-lb94.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-lyp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-optx.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-p86c.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-pbec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-pbex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-pw86x.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-pw91c.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-pw91x.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-pw92c.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-pz81.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-slater.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-tester.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fun-vwn.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/functionals.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grid_atomic.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grid_hicu.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grid_reader.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grid_stream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/integrator.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lebedev_laikov.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lin_trans.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rho-mat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sparse_matrix.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sparse_pattern.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xc_matrix.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xc_matrix_sparse.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/dft/grid_matrix.h0000664000175000017500000000462212743400307014003 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #if !defined(_GRID_MATRIX_H_) #define _GRID_MATRIX_H_ 1 #include "sparse_matrix.h" namespace Dft { /** Generic matrix interface. It is not optimized for speed. */ class Matrix { public: virtual ergo_real at(int row, int col) const = 0; virtual bool isSparse() const = 0; virtual const SparseMatrix* asSparse() const = 0; virtual const ergo_real* asFull() const = 0; virtual ~Matrix() {} }; class FullMatrix { public: ergo_real* mat; int nbast; bool owned; explicit FullMatrix(int nbast_) : mat(new ergo_real[nbast_*nbast_]), nbast(nbast_), owned(true) { for(int i= nbast*nbast-1; i >=0; --i) mat[i] = 0.0; } FullMatrix(ergo_real *m, int nbast_) : mat(m), nbast(nbast_), owned(false) { } /** ugly-hack constructor. Remove it! */ FullMatrix(const ergo_real *m, int nbast_) : mat( (ergo_real*)(m)), nbast(nbast_), owned(false) { } ~FullMatrix() { if (owned && mat) delete []mat; } void add(int row, int col, ergo_real val) { mat[row + col*nbast] += val; } ergo_real at(int row, int col) const { return mat[row + col*nbast]; } }; }; #endif /* _GRID_MATRIX_H_ */ ergo-3.5/source/dft/aos.cc0000664000175000017500000001746412743400307012422 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file aos.cc Blocked version of orbtial evaluation routines. Written by Pawel Salek. =================================================================== RETURNS: GSO: evaluated orbitals for a batch of grid points. GSO(:,:,1) contains orbital values. GSO(:,:,2:4) contains first geom. derivatives. - if requested. GSO(:,:,5:10) contains second derivatives - if requested. */ #include #include #include #include #include "aos.h" /* get_bf_vals: get column(s) corresponding to just values of one shell at set of grid points. */ static void get_bf_vals(int nvclen, ergo_real *gao, const ergo_real (*pa)[3], const ergo_real *pa2, const BasisInfoStruct& bis, const ShellSpecStruct& currShell) { /* DIMENSION GAO(NVCLEN,KCKTA) DIMENSION PA(3,NVCLEN), PA2(NVCLEN) DIMENSION CSP(KHKTA,KCKTA) DIMENSION GA(NVCLEN),CINT(NVCLEN) */ int i, j, k, nTerms, m; ergo_real sum, factor; ergo_real ga[DFT_MAX_BLLEN]; memset(ga, 0, nvclen*sizeof(ergo_real)); /* loop over primitives for selected shell to get the radial part */ for(i=0; icoeff; for(m = 0; m < currTerm->monomialInts[0]; m++) factor *= pa[k][0]; for(m = 0; m < currTerm->monomialInts[1]; m++) factor *= pa[k][1]; for(m = 0; m < currTerm->monomialInts[2]; m++) factor *= pa[k][2]; sum += factor; } // END FOR j gao[k+nvclen*i] = sum * ga[k]; } // END FOR k } // END FOR i } } static void get_bf_vals_derivs(int nvclen, ergo_real *gao, const ergo_real (*pa)[3], const ergo_real *pa2, const BasisInfoStruct& bis, const ShellSpecStruct& currShell) { /* DIMENSION GAO(NVCLEN,KCKTA) DIMENSION PA(3,NVCLEN), PA2(NVCLEN) DIMENSION CSP(KHKTA,KCKTA) DIMENSION GA(NVCLEN),CINT(NVCLEN) */ int i, j, k, nTerms, m, nbast=bis.noOfBasisFuncs; ergo_real ga[DFT_MAX_BLLEN], gu[DFT_MAX_BLLEN]; memset(ga, 0, nvclen*sizeof(ergo_real)); memset(gu, 0, nvclen*sizeof(ergo_real)); /* loop over primitives for selected shell to get the radial part */ for(i=0; imonomialInts[0]; int iy = currTerm->monomialInts[1]; int iz = currTerm->monomialInts[2]; factor = currTerm->coeff; for(m = ix-2; m >=0; m--) factor *= x; for(m = iy-2; m >=0; m--) factor *= y; for(m = iz-2; m >=0; m--) factor *= z; tx = currTerm->monomialInts[0]>0 ? x : 1; ty = currTerm->monomialInts[1]>0 ? y : 1; tz = currTerm->monomialInts[2]>0 ? z : 1; fr += factor*tx*ty*tz; fx += factor*ix*ty*tz; fy += factor*iy*tx*tz; fz += factor*iz*tx*ty; } // END FOR j gao[k+nvclen*i] = fr * ga[k]; /* value */ gao[k+nvclen*(i+nbast)] = fx * ga[k] + fr*gu[k]*x; /* d/dx */ gao[k+nvclen*(i+nbast*2)] = fy * ga[k] + fr*gu[k]*y; /* d/dy */ gao[k+nvclen*(i+nbast*3)] = fz * ga[k] + fr*gu[k]*z; /* d/dz */ } // END FOR k } // END FOR i } } void dft_get_orbs(int nvclen, ergo_real *gao, const ergo_real (*coor)[3], int nblcnt, int (*iblcks)[2], int nder, const BasisInfoStruct& bis) { /* DIMENSION GAO(NVCLEN,NBAST,NTYPSO),WORK(LWORK) DIMENSION COOR(3,NVCLEN) DIMENSION IBLCKS(2,NBLCNT) C PA2 contains distance from the basis function center to respective c grid point. DIMENSION PA(3,NVCLEN), PA2(NVCLEN) */ int ibl, ishela, i; ergo_real pa[DFT_MAX_BLLEN][3], pa2[DFT_MAX_BLLEN]; void (*eval)(int nvclen, ergo_real *gao, const ergo_real (*pa)[3], const ergo_real *pa2, const BasisInfoStruct& bis, const ShellSpecStruct& currShell); switch(nder) { case 0: eval = get_bf_vals; break; /* orbital values only */ case 1: eval = get_bf_vals_derivs; break; default: abort(); /* not reached */ } for(ibl=0; ibl. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file fun-slater.c Implementation of Slater functional and its derivatives . (c), Pawel Salek, pawsa@theochem.kth.se, aug 2001 Z. Rinkevicius adapted for open shell systems: energy, first derivatives. NOTE: this file may seem unnecessarily complex but the structure really pays off when implementing multiple functionals depending on different parameters. */ #include #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int slater_isgga(void) { return 0; } static int slater_read(const char* conf_line); static real slater_energy(const FunDensProp* dp); static void slater_first(FunFirstFuncDrv *ds, real fac, const FunDensProp*); static void slater_second(FunSecondFuncDrv *ds, real fac, const FunDensProp*); static void slater_third(FunThirdFuncDrv *ds, real fac, const FunDensProp*); static void slater_fourth(FunFourthFuncDrv *ds, real fac, const FunDensProp*); Functional SlaterFunctional = { "Slater", /* name */ slater_isgga, /* gga-corrected */ slater_read, NULL, slater_energy, slater_first, slater_second, slater_third, slater_fourth }; /* IMPLEMENTATION PART */ static int slater_read(const char* conf_line) { fun_set_hf_weight(0); return 1; } /* SLATER_THRESHOLD Only to avoid numerical problems due to raising 0 * to a fractional power. */ static const real SLATER_THRESHOLD = 1e-20; static real slater_energy(const FunDensProp* dp) { real ea = 0.0, eb = 0.0; const real PREF= -3.0/4.0*POW(6/M_PI, 1.0/3.0); if (dp->rhoa >SLATER_THRESHOLD) { real powValue = POW(dp->rhoa,4.0/3.0); /* ELIAS NOTE 2011-05-03: When using long double precision it seems like the function POW (powl) sometimes gives extremely wrong results. For example: dp->rhoa = 2.058e-20 POW(dp->rhoa,4.0/3.0) = 0.3969 That example occurred when running the test_dft_hicu test case on a Intel Core i5 CPU, with gcc version 4.5.1. The if statement below was added to expose such powl() problems. */ /* ELIAS NOTE 2011-06-02: This error is probably caused by a bug in the glibc powl() implementation, see bug report at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49031 and http://sourceware.org/bugzilla/show_bug.cgi?id=12775 */ if(dp->rhoa < 1e-5 && powValue > 1e-5) { printf("Error in slater_energy: POW gives crazy result. " "This error is probably caused by a bug in the glibc " "powl() implementation, see bug report at " "http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49031 " "and http://sourceware.org/bugzilla/show_bug.cgi?id=12775\n"); printf("dp->rhoa = %9.4g\n", (double)dp->rhoa); printf("POW(dp->rhoa,4.0/3.0) = %9.4g\n", (double)powValue); exit(-1); } ea= PREF*powValue; } if (dp->rhob >SLATER_THRESHOLD) eb= PREF*POW(dp->rhob,4.0/3.0); return ea+eb; } static void slater_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { if (dp->rhoa>SLATER_THRESHOLD) ds->df1000 += -POW(6.0/M_PI*dp->rhoa, 1.0/3.0)*factor; if (dp->rhob>SLATER_THRESHOLD) ds->df0100 += -POW(6.0/M_PI*dp->rhob, 1.0/3.0)*factor; } static void slater_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { const real PREF = POW(6.0/M_PI, 1.0/3.0); if (dp->rhoa>SLATER_THRESHOLD) { ds->df1000 += -PREF*POW(dp->rhoa, 1.0/3.0)*factor; ds->df2000 += -PREF*POW(dp->rhoa, -2.0/3.0)/3*factor; } if (dp->rhob>SLATER_THRESHOLD) { ds->df0100 += -PREF*POW(dp->rhob, 1.0/3.0)*factor; ds->df0200 += -PREF*POW(dp->rhob, -2.0/3.0)/3*factor; } } /* slater_third: Slater functional derivatives. */ static void slater_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { const real PREF = POW(6.0/M_PI, 1.0/3.0); if (dp->rhoa>SLATER_THRESHOLD) { ds->df1000 += -PREF*POW(dp->rhoa, 1.0/3.0)*factor; ds->df2000 += -PREF*POW(dp->rhoa, -2.0/3.0)/3*factor; ds->df3000 += PREF*POW(dp->rhoa, -5.0/3.0)*2.0/9.0*factor; } if (dp->rhob>SLATER_THRESHOLD) { ds->df0100 += -PREF*POW(dp->rhob, 1.0/3.0)*factor; ds->df0200 += -PREF*POW(dp->rhob, -2.0/3.0)/3*factor; ds->df0300 += PREF*POW(dp->rhob, -5.0/3.0)*2.0/9.0*factor; } } /* slater_fourth: Dirac functional fourth derivatives. by B. Jansik */ static void slater_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp *dp) { const real PREF = (-3.0/4.0)*POW(6.0/M_PI, 1.0/3.0);/* Dirac G prefactor */ const real DPREF = 40.0/81.0; /* Prefactor from 4th derivative */ const real JPREF = DPREF*PREF*factor; /* Joined prefactor */ const real ROEXP = -8.0/3.0; /* Exponent on density (from 4th deriv.) */ FunThirdFuncDrv ds_third; /* set up lower order derivatives */ /* dirac_third contain third and also lower order derivatives */ drv3_clear(&ds_third); slater_third(&ds_third, factor, dp); ds->df1000 += ds_third.df1000; ds->df2000 += ds_third.df2000; ds->df3000 += ds_third.df3000; ds->df0100 += ds_third.df0100; ds->df0200 += ds_third.df0200; ds->df0300 += ds_third.df0300; if (dp->rhoa > SLATER_THRESHOLD) ds->df4000 += JPREF*POW(dp->rhoa, ROEXP); if (dp->rhob > SLATER_THRESHOLD) ds->df0400 += JPREF*POW(dp->rhob, ROEXP); } ergo-3.5/source/dft/fun-pz81.c0000664000175000017500000007202012743400307013052 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file fun-pz81.c Partially automatically generated PZ81 functional. Reference: J.P. Perdew and A. Zunger, Phys. Rev. B, 23, 5048 (1981). Implemented and tested by: Pawel Salek. */ #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int pz81_read(const char* conf_line); static real pz81_energy(const FunDensProp* dp); static void pz81_first (FunFirstFuncDrv *ds, real factor, const FunDensProp* dp); static void pz81_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp); static void pz81_third (FunThirdFuncDrv *ds, real factor, const FunDensProp* dp); Functional PZ81Functional = { "PZ81", fun_false, pz81_read, NULL, pz81_energy, pz81_first, pz81_second, pz81_third }; /* IMPLEMENTATION PART */ /* the constants, as defined in the article */ static const real Au = 0.0311, Bu = -0.048; static const real Ap = 0.01555, Bp = -0.0269; /* These follow table XII, Ceperley-Alder parameters used */ /* correct values */ static const real gu = -0.1423, b1u = 1.0529, b2u = 0.3334, Cu = 0.0020, Du = -0.0116; static const real gp = -0.0843, b1p = 1.3981, b2p = 0.2611, Cp = 0.0007, Dp = -0.0048; static int pz81_read(const char* conf_line) { fun_set_hf_weight(0); return 1; } /* ******************************************************************* */ /* Low density (rs>=1) part */ /* ******************************************************************* */ static real pz81a_energy(const FunDensProp* dp) { real t[7],zk; real rhoa = dp->rhoa; real rhob = dp->rhob; t[1] = rhob+rhoa; t[2] = 1/POW(t[1],0.33333333333333); t[3] = 1/POW(t[1],0.16666666666667); t[4] = 1/(0.78762331789974*b1u*t[3]+0.6203504908994*b2u*t[2]+1.0); t[5] = rhoa-1.0*rhob; t[6] = 1/t[1]; zk = t[1]*((POW(t[5]*t[6]+1.0,1.333333333333333)+POW(1.0-1.0*t[5]*t[6],1.333333333333333)-2.0)*(gp/(0.78762331789974*b1p*t[3]+0.6203504908994*b2p*t[2]+1.0)-1.0*t[4]*gu)/(2.0*POW(2.0,0.33333333333333)-2.0)+gu*t[4]); return zk; } static void pz81a_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { real t[28]; real dfdra, dfdrb; real rhoa = dp->rhoa; real rhob = dp->rhob; t[1] = rhob+rhoa; t[2] = 1/POW(t[1],0.33333333333333); t[3] = 1/POW(t[1],0.16666666666667); t[4] = 0.78762331789974*b1u*t[3]+0.6203504908994*b2u*t[2]+1.0; t[5] = 1/t[4]; t[6] = gu*t[5]; t[7] = 1/(2.0*POW(2.0,0.33333333333333)-2.0); t[8] = rhoa-1.0*rhob; t[9] = 1/t[1]; t[10] = 1.0-1.0*t[8]*t[9]; t[11] = t[8]*t[9]+1.0; t[12] = POW(t[11],1.333333333333333)+POW(t[10],1.333333333333333)-2.0; t[13] = 0.78762331789974*b1p*t[3]+0.6203504908994*b2p*t[2]+1.0; t[14] = gp/t[13]-1.0*t[5]*gu; t[15] = t[7]*t[12]*t[14]; t[16] = 1/POW(t[1],1.333333333333333); t[17] = 1/POW(t[1],1.166666666666667); t[18] = -0.13127055298329*b1u*t[17]-0.20678349696647*b2u*t[16]; t[19] = 1/POW(t[4],2.0); t[20] = -1.0*t[18]*t[19]*gu; t[21] = t[12]*t[7]*(gu*t[18]*t[19]-1.0*(-0.13127055298329*b1p*t[17]-0.20678349696647*b2p*t[16])*gp/POW(t[13],2.0)); t[22] = 1/POW(t[1],2.0); t[23] = t[8]*t[22]; t[24] = -1.0*t[9]; t[25] = POW(t[10],0.33333333333333); t[26] = -1.0*t[22]*t[8]; t[27] = POW(t[11],0.33333333333333); dfdra = t[1]*(t[14]*t[7]*(1.333333333333333*t[27]*(t[9]+t[26])+1.333333333333333*(t[24]+t[23])*t[25])+t[21]+t[20])+t[6]+t[15]; dfdrb = t[1]*(t[14]*t[7]*(1.333333333333333*t[25]*(t[9]+t[23])+1.333333333333333*(t[24]+t[26])*t[27])+t[21]+t[20])+t[6]+t[15]; ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; } static void pz81a_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { real t[56]; real dfdra, dfdrb; real d2fdrara, d2fdrarb, d2fdrbrb; real rhoa = dp->rhoa; real rhob = dp->rhob; t[1] = rhob+rhoa; t[2] = 1/POW(t[1],0.33333333333333); t[3] = 1/POW(t[1],0.16666666666667); t[4] = 0.78762331789974*b1u*t[3]+0.6203504908994*b2u*t[2]+1.0; t[5] = 1/t[4]; t[6] = gu*t[5]; t[7] = 1/(2.0*POW(2.0,0.33333333333333)-2.0); t[8] = rhoa-1.0*rhob; t[9] = 1/t[1]; t[10] = 1.0-1.0*t[8]*t[9]; t[11] = t[8]*t[9]+1.0; t[12] = POW(t[11],1.333333333333333)+POW(t[10],1.333333333333333)-2.0; t[13] = 0.78762331789974*b1p*t[3]+0.6203504908994*b2p*t[2]+1.0; t[14] = gp/t[13]-1.0*t[5]*gu; t[15] = t[7]*t[12]*t[14]; t[16] = 1/POW(t[1],1.333333333333333); t[17] = 1/POW(t[1],1.166666666666667); t[18] = -0.13127055298329*b1u*t[17]-0.20678349696647*b2u*t[16]; t[19] = 1/POW(t[4],2.0); t[20] = -1.0*t[18]*t[19]*gu; t[21] = -0.13127055298329*b1p*t[17]-0.20678349696647*b2p*t[16]; t[22] = 1/POW(t[13],2.0); t[23] = gu*t[18]*t[19]-1.0*t[21]*t[22]*gp; t[24] = t[7]*t[12]*t[23]; t[25] = 1/POW(t[1],2.0); t[26] = t[8]*t[25]; t[27] = -1.0*t[9]; t[28] = t[27]+t[26]; t[29] = POW(t[10],0.33333333333333); t[30] = -1.0*t[25]*t[8]; t[31] = t[9]+t[30]; t[32] = POW(t[11],0.33333333333333); t[33] = 1.333333333333333*t[31]*t[32]+1.333333333333333*t[28]*t[29]; t[34] = t[7]*t[33]*t[14]; t[35] = t[9]+t[26]; t[36] = t[27]+t[30]; t[37] = 1.333333333333333*t[32]*t[36]+1.333333333333333*t[29]*t[35]; t[38] = t[7]*t[37]*t[14]; t[39] = -2.0*t[18]*t[19]*gu; t[40] = 2.0*t[12]*t[23]*t[7]; t[41] = POW(t[18],2.0); t[42] = 1/POW(t[4],3.0); t[43] = 2.0*t[41]*t[42]*gu; t[44] = 1/POW(t[1],2.333333333333334); t[45] = 1/POW(t[1],2.166666666666667); t[46] = 0.15314897848051*b1u*t[45]+0.27571132928862*b2u*t[44]; t[47] = -1.0*t[19]*t[46]*gu; t[48] = t[12]*t[7]*(-2.0*t[41]*t[42]*gu-1.0*t[22]*(0.15314897848051*b1p*t[45]+0.27571132928862*b2p*t[44])*gp+2.0*POW(t[21],2.0)*gp/POW(t[13],3.0)+gu*t[46]*t[19]); t[49] = 1/POW(t[10],0.66666666666667); t[50] = 1/POW(t[1],3.0); t[51] = -2.0*t[50]*t[8]; t[52] = 2.0*t[25]; t[53] = 1/POW(t[11],0.66666666666667); t[54] = 2.0*t[50]*t[8]; t[55] = -2.0*t[25]; dfdra = t[1]*(t[34]+t[24]+t[20])+t[15]+t[6]; dfdrb = t[1]*(t[38]+t[24]+t[20])+t[15]+t[6]; d2fdrara = t[1]*(t[14]*(1.333333333333333*t[32]*(t[55]+t[54])+0.44444444444444*POW(t[31],2.0)*t[53]+1.333333333333333*t[29]*(t[52]+t[51])+0.44444444444444*POW(t[28],2.0)*t[49])*t[7]+2.0*t[23]*t[33]*t[7]+t[48]+t[47]+t[43])+2.0*t[14]*t[33]*t[7]+t[40]+t[39]; d2fdrarb = t[1]*(t[14]*t[7]*(2.666666666666667*t[32]*t[50]*t[8]-2.666666666666667*t[29]*t[50]*t[8]+0.44444444444444*t[31]*t[36]*t[53]+0.44444444444444*t[28]*t[35]*t[49])+t[48]+t[47]+t[43]+t[7]*t[37]*t[23]+t[7]*t[33]*t[23])+t[40]+t[39]+t[38]+t[34]; d2fdrbrb = t[1]*(t[14]*(1.333333333333333*t[29]*(t[55]+t[51])+0.44444444444444*POW(t[36],2.0)*t[53]+1.333333333333333*t[32]*(t[52]+t[54])+0.44444444444444*POW(t[35],2.0)*t[49])*t[7]+2.0*t[23]*t[37]*t[7]+t[48]+t[47]+t[43])+2.0*t[14]*t[37]*t[7]+t[40]+t[39]; ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df2000 += factor*d2fdrara; ds->df1100 += factor*d2fdrarb; ds->df0200 += factor*d2fdrbrb; } static void pz81a_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { real t[95]; real dfdra, dfdrb; real d2fdrara, d2fdrarb, d2fdrbrb; real d3fdrarara, d3fdrararb, d3fdrarbrb, d3fdrbrbrb; real rhoa = dp->rhoa; real rhob = dp->rhob; t[1] = rhob+rhoa; t[2] = 1/POW(t[1],0.33333333333333); t[3] = 1/POW(t[1],0.16666666666667); t[4] = 0.78762331789974*b1u*t[3]+0.6203504908994*b2u*t[2]+1.0; t[5] = 1/t[4]; t[6] = gu*t[5]; t[7] = 1/(2.0*POW(2.0,0.33333333333333)-2.0); t[8] = rhoa-1.0*rhob; t[9] = 1/t[1]; t[10] = 1.0-1.0*t[8]*t[9]; t[11] = t[8]*t[9]+1.0; t[12] = POW(t[11],1.333333333333333)+POW(t[10],1.333333333333333)-2.0; t[13] = 0.78762331789974*b1p*t[3]+0.6203504908994*b2p*t[2]+1.0; t[14] = gp/t[13]-1.0*t[5]*gu; t[15] = t[7]*t[12]*t[14]; t[16] = 1/POW(t[1],1.333333333333333); t[17] = 1/POW(t[1],1.166666666666667); t[18] = -0.13127055298329*b1u*t[17]-0.20678349696647*b2u*t[16]; t[19] = 1/POW(t[4],2.0); t[20] = -1.0*t[18]*t[19]*gu; t[21] = -0.13127055298329*b1p*t[17]-0.20678349696647*b2p*t[16]; t[22] = 1/POW(t[13],2.0); t[23] = gu*t[18]*t[19]-1.0*t[21]*t[22]*gp; t[24] = t[7]*t[12]*t[23]; t[25] = 1/POW(t[1],2.0); t[26] = t[8]*t[25]; t[27] = -1.0*t[9]; t[28] = t[27]+t[26]; t[29] = POW(t[10],0.33333333333333); t[30] = -1.0*t[25]*t[8]; t[31] = t[9]+t[30]; t[32] = POW(t[11],0.33333333333333); t[33] = 1.333333333333333*t[31]*t[32]+1.333333333333333*t[28]*t[29]; t[34] = t[7]*t[33]*t[14]; t[35] = t[9]+t[26]; t[36] = t[27]+t[30]; t[37] = 1.333333333333333*t[32]*t[36]+1.333333333333333*t[29]*t[35]; t[38] = t[7]*t[37]*t[14]; t[39] = -2.0*t[18]*t[19]*gu; t[40] = 2.0*t[12]*t[23]*t[7]; t[41] = POW(t[18],2.0); t[42] = 1/POW(t[4],3.0); t[43] = 2.0*t[41]*t[42]*gu; t[44] = 1/POW(t[1],2.333333333333334); t[45] = 1/POW(t[1],2.166666666666667); t[46] = 0.15314897848051*b1u*t[45]+0.27571132928862*b2u*t[44]; t[47] = -1.0*t[19]*t[46]*gu; t[48] = 1/POW(t[13],3.0); t[49] = 0.15314897848051*b1p*t[45]+0.27571132928862*b2p*t[44]; t[50] = -2.0*t[41]*t[42]*gu-1.0*t[22]*t[49]*gp+2.0*POW(t[21],2.0)*t[48]*gp+gu*t[46]*t[19]; t[51] = t[7]*t[12]*t[50]; t[52] = 2.0*t[23]*t[33]*t[7]; t[53] = POW(t[28],2.0); t[54] = 1/POW(t[10],0.66666666666667); t[55] = 1/POW(t[1],3.0); t[56] = -2.0*t[55]*t[8]; t[57] = 2.0*t[25]; t[58] = t[57]+t[56]; t[59] = POW(t[31],2.0); t[60] = 1/POW(t[11],0.66666666666667); t[61] = 2.0*t[55]*t[8]; t[62] = -2.0*t[25]; t[63] = t[62]+t[61]; t[64] = 1.333333333333333*t[32]*t[63]+0.44444444444444*t[59]*t[60]+1.333333333333333*t[29]*t[58]+0.44444444444444*t[53]*t[54]; t[65] = t[7]*t[64]*t[14]; t[66] = 2.666666666666667*t[32]*t[55]*t[8]-2.666666666666667*t[29]*t[55]*t[8]+0.44444444444444*t[31]*t[36]*t[60]+0.44444444444444*t[28]*t[35]*t[54]; t[67] = 2.0*t[23]*t[37]*t[7]; t[68] = POW(t[35],2.0); t[69] = t[62]+t[56]; t[70] = POW(t[36],2.0); t[71] = t[57]+t[61]; t[72] = 1.333333333333333*t[32]*t[71]+0.44444444444444*t[60]*t[70]+1.333333333333333*t[29]*t[69]+0.44444444444444*t[54]*t[68]; t[73] = t[7]*t[72]*t[14]; t[74] = 6.0*t[41]*t[42]*gu; t[75] = -3.0*t[19]*t[46]*gu; t[76] = 3.0*t[12]*t[50]*t[7]; t[77] = 2.0*t[14]*t[66]*t[7]; t[78] = POW(t[18],3.0); t[79] = 1/POW(t[4],4.0); t[80] = -6.0*t[78]*t[79]*gu; t[81] = 6.0*t[18]*t[42]*t[46]*gu; t[82] = 1/POW(t[1],3.333333333333334); t[83] = 1/POW(t[1],3.166666666666667); t[84] = -0.33182278670776*b1u*t[83]-0.64332643500679*b2u*t[82]; t[85] = -1.0*t[19]*t[84]*gu; t[86] = t[12]*t[7]*(6.0*t[78]*t[79]*gu-6.0*t[18]*t[42]*t[46]*gu-1.0*t[22]*(-0.33182278670776*b1p*t[83]-0.64332643500679*b2p*t[82])*gp+6.0*t[21]*t[48]*t[49]*gp-6.0*POW(t[21],3.0)*gp/POW(t[13],4.0)+gu*t[84]*t[19]); t[87] = 2.0*t[23]*t[66]*t[7]; t[88] = 1/POW(t[10],1.666666666666667); t[89] = 1/POW(t[1],4.0); t[90] = 6.0*t[8]*t[89]; t[91] = 1/POW(t[11],1.666666666666667); t[92] = -6.0*t[8]*t[89]; t[93] = -6.0*t[55]; t[94] = 6.0*t[55]; dfdra = t[1]*(t[34]+t[24]+t[20])+t[15]+t[6]; dfdrb = t[1]*(t[38]+t[24]+t[20])+t[15]+t[6]; d2fdrara = 2.0*t[14]*t[33]*t[7]+t[1]*(t[65]+t[52]+t[51]+t[47]+t[43])+t[40]+t[39]; d2fdrarb = t[1]*(t[7]*t[66]*t[14]+t[7]*t[33]*t[23]+t[7]*t[37]*t[23]+t[51]+t[47]+t[43])+t[34]+t[38]+t[40]+t[39]; d2fdrbrb = t[1]*(t[73]+t[67]+t[51]+t[47]+t[43])+2.0*t[14]*t[37]*t[7]+t[40]+t[39]; d3fdrararb = t[1]*(t[14]*t[7]*(1.333333333333333*t[32]*(t[92]+2.0*t[55])-0.2962962962963*t[36]*t[59]*t[91]+1.333333333333333*t[29]*(t[90]-2.0*t[55])-0.2962962962963*t[35]*t[53]*t[88]+1.777777777777778*t[31]*t[55]*t[60]*t[8]-1.777777777777778*t[28]*t[54]*t[55]*t[8]+0.44444444444444*t[36]*t[60]*t[63]+0.44444444444444*t[35]*t[54]*t[58])+t[87]+t[86]+t[85]+t[81]+t[80]+2.0*t[33]*t[50]*t[7]+t[7]*t[37]*t[50]+t[7]*t[64]*t[23])+t[77]+t[76]+t[75]+t[74]+4.0*t[23]*t[33]*t[7]+t[67]+t[65]; d3fdrarbrb = t[1]*(t[14]*t[7]*(-0.2962962962963*t[31]*t[70]*t[91]-8.0*t[32]*t[8]*t[89]+8.0*t[29]*t[8]*t[89]-0.2962962962963*t[28]*t[68]*t[88]+1.777777777777778*t[36]*t[55]*t[60]*t[8]-1.777777777777778*t[35]*t[54]*t[55]*t[8]+0.44444444444444*t[31]*t[60]*t[71]+0.44444444444444*t[28]*t[54]*t[69]-2.666666666666667*t[32]*t[55]+2.666666666666667*t[29]*t[55])+t[87]+t[86]+t[85]+t[81]+t[80]+2.0*t[37]*t[50]*t[7]+t[7]*t[33]*t[50]+t[7]*t[72]*t[23])+t[77]+t[76]+t[75]+t[74]+t[73]+4.0*t[23]*t[37]*t[7]+t[52]; d3fdrarara = t[1]*(t[14]*t[7]*(1.333333333333333*t[32]*(t[94]+t[92])+1.333333333333333*t[29]*(t[93]+t[90])-0.2962962962963*POW(t[31],3.0)*t[91]-0.2962962962963*POW(t[28],3.0)*t[88]+1.333333333333333*t[31]*t[60]*t[63]+1.333333333333333*t[28]*t[54]*t[58])+t[86]+t[85]+t[81]+t[80]+3.0*t[23]*t[64]*t[7]+3.0*t[33]*t[50]*t[7])+t[76]+t[75]+t[74]+3.0*t[14]*t[64]*t[7]+6.0*t[23]*t[33]*t[7]; d3fdrbrbrb = t[1]*(t[14]*t[7]*(1.333333333333333*t[29]*(t[94]+t[90])+1.333333333333333*t[32]*(t[93]+t[92])-0.2962962962963*POW(t[36],3.0)*t[91]-0.2962962962963*POW(t[35],3.0)*t[88]+1.333333333333333*t[36]*t[60]*t[71]+1.333333333333333*t[35]*t[54]*t[69])+t[86]+t[85]+t[81]+t[80]+3.0*t[23]*t[7]*t[72]+3.0*t[37]*t[50]*t[7])+t[76]+t[75]+t[74]+3.0*t[14]*t[7]*t[72]+6.0*t[23]*t[37]*t[7]; ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df2000 += factor*d2fdrara; ds->df1100 += factor*d2fdrarb; ds->df0200 += factor*d2fdrbrb; ds->df3000 += factor*d3fdrarara; ds->df2100 += factor*d3fdrararb; ds->df1200 += factor*d3fdrarbrb; ds->df0300 += factor*d3fdrbrbrb; } /* ******************************************************************* */ /* High density (rs<1) part */ /* ******************************************************************* */ static real pz81b_energy(const FunDensProp* dp) { real t[6],zk; real rhoa = dp->rhoa; real rhob = dp->rhob; t[1] = rhob+rhoa; t[2] = 1/POW(t[1],0.33333333333333); t[3] = LOG(0.6203504908994*t[2]); t[4] = rhoa-1.0*rhob; t[5] = 1/t[1]; zk = t[1]*(Bu+(POW(t[4]*t[5]+1.0,1.333333333333333)+POW(1.0-1.0*t[4]*t[5],1.333333333333333)-2.0)*(-1.0*Bu+Bp-1.0*t[3]*Au+Ap*t[3]-0.6203504908994*Cu*t[2]*t[3]+0.6203504908994*Cp*t[2]*t[3]-0.6203504908994*Du*t[2]+0.6203504908994*Dp*t[2])/(2.0*POW(2.0,0.33333333333333)-2.0)+Au*t[3]+0.6203504908994*Cu*t[2]*t[3]+0.6203504908994*Du*t[2]); return zk; } static void pz81b_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { real t[27]; real dfdra, dfdrb; real rhoa = dp->rhoa; real rhob = dp->rhob; t[1] = rhob+rhoa; t[2] = 1/POW(t[1],0.33333333333333); t[3] = 0.6203504908994*Du*t[2]; t[4] = LOG(0.6203504908994*t[2]); t[5] = Au*t[4]; t[6] = 0.6203504908994*Cu*t[2]*t[4]; t[7] = 1/(2.0*POW(2.0,0.33333333333333)-2.0); t[8] = rhoa-1.0*rhob; t[9] = 1/t[1]; t[10] = 1.0-1.0*t[8]*t[9]; t[11] = t[8]*t[9]+1.0; t[12] = POW(t[11],1.333333333333333)+POW(t[10],1.333333333333333)-2.0; t[13] = -1.0*Bu+Bp-1.0*t[4]*Au+Ap*t[4]-0.6203504908994*Cu*t[2]*t[4]+0.6203504908994*Cp*t[2]*t[4]-0.6203504908994*Du*t[2]+0.6203504908994*Dp*t[2]; t[14] = t[7]*t[12]*t[13]; t[15] = 1/POW(t[1],1.333333333333333); t[16] = -0.20678349696647*Cu*t[15]; t[17] = -0.20678349696647*Du*t[15]; t[18] = -0.33333333333333*Au*t[9]; t[19] = -0.20678349696647*Cu*t[15]*t[4]; t[20] = t[7]*t[12]*(0.20678349696647*Cu*t[15]*t[4]-0.20678349696647*Cp*t[15]*t[4]+0.33333333333333*Au*t[9]-0.33333333333333*Ap*t[9]+0.20678349696647*Du*t[15]-0.20678349696647*Dp*t[15]+0.20678349696647*Cu*t[15]-0.20678349696647*Cp*t[15]); t[21] = 1/POW(t[1],2.0); t[22] = t[8]*t[21]; t[23] = -1.0*t[9]; t[24] = POW(t[10],0.33333333333333); t[25] = -1.0*t[21]*t[8]; t[26] = POW(t[11],0.33333333333333); dfdra = Bu+t[1]*(t[13]*t[7]*(1.333333333333333*t[26]*(t[9]+t[25])+1.333333333333333*(t[23]+t[22])*t[24])+t[20]+t[19]+t[18]+t[17]+t[16])+t[6]+t[5]+t[3]+t[14]; dfdrb = Bu+t[1]*(t[13]*t[7]*(1.333333333333333*t[24]*(t[9]+t[22])+1.333333333333333*(t[23]+t[25])*t[26])+t[20]+t[19]+t[18]+t[17]+t[16])+t[6]+t[5]+t[3]+t[14]; ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; } static void pz81b_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { real t[54]; real dfdra, dfdrb; real d2fdrara, d2fdrarb, d2fdrbrb; real rhoa = dp->rhoa; real rhob = dp->rhob; t[1] = rhob+rhoa; t[2] = 1/POW(t[1],0.33333333333333); t[3] = 0.6203504908994*Du*t[2]; t[4] = LOG(0.6203504908994*t[2]); t[5] = Au*t[4]; t[6] = 0.6203504908994*Cu*t[2]*t[4]; t[7] = 1/(2.0*POW(2.0,0.33333333333333)-2.0); t[8] = rhoa-1.0*rhob; t[9] = 1/t[1]; t[10] = 1.0-1.0*t[8]*t[9]; t[11] = t[8]*t[9]+1.0; t[12] = POW(t[11],1.333333333333333)+POW(t[10],1.333333333333333)-2.0; t[13] = -1.0*Bu+Bp-1.0*t[4]*Au+Ap*t[4]-0.6203504908994*Cu*t[2]*t[4]+0.6203504908994*Cp*t[2]*t[4]-0.6203504908994*Du*t[2]+0.6203504908994*Dp*t[2]; t[14] = t[7]*t[12]*t[13]; t[15] = 1/POW(t[1],1.333333333333333); t[16] = -0.20678349696647*Cu*t[15]; t[17] = -0.20678349696647*Du*t[15]; t[18] = -0.33333333333333*Au*t[9]; t[19] = -0.20678349696647*Cu*t[15]*t[4]; t[20] = 0.20678349696647*Cu*t[15]*t[4]-0.20678349696647*Cp*t[15]*t[4]+0.33333333333333*Au*t[9]-0.33333333333333*Ap*t[9]+0.20678349696647*Du*t[15]-0.20678349696647*Dp*t[15]+0.20678349696647*Cu*t[15]-0.20678349696647*Cp*t[15]; t[21] = t[7]*t[12]*t[20]; t[22] = 1/POW(t[1],2.0); t[23] = t[8]*t[22]; t[24] = -1.0*t[9]; t[25] = t[24]+t[23]; t[26] = POW(t[10],0.33333333333333); t[27] = -1.0*t[22]*t[8]; t[28] = t[9]+t[27]; t[29] = POW(t[11],0.33333333333333); t[30] = 1.333333333333333*t[28]*t[29]+1.333333333333333*t[25]*t[26]; t[31] = t[7]*t[30]*t[13]; t[32] = t[9]+t[23]; t[33] = t[24]+t[27]; t[34] = 1.333333333333333*t[29]*t[33]+1.333333333333333*t[26]*t[32]; t[35] = t[7]*t[34]*t[13]; t[36] = -0.41356699393293*Cu*t[15]; t[37] = -0.41356699393293*Du*t[15]; t[38] = -0.66666666666667*Au*t[9]; t[39] = -0.41356699393293*Cu*t[15]*t[4]; t[40] = 2.0*t[12]*t[20]*t[7]; t[41] = 1/POW(t[1],2.333333333333334); t[42] = 0.34463916161078*Cu*t[41]; t[43] = 0.27571132928862*Du*t[41]; t[44] = 0.33333333333333*Au*t[22]; t[45] = 0.27571132928862*Cu*t[41]*t[4]; t[46] = t[7]*t[12]*(-0.27571132928862*Cu*t[41]*t[4]+0.27571132928862*Cp*t[41]*t[4]-0.33333333333333*Au*t[22]+0.33333333333333*Ap*t[22]-0.27571132928862*Du*t[41]+0.27571132928862*Dp*t[41]-0.34463916161078*Cu*t[41]+0.34463916161078*Cp*t[41]); t[47] = 1/POW(t[10],0.66666666666667); t[48] = 1/POW(t[1],3.0); t[49] = -2.0*t[48]*t[8]; t[50] = 2.0*t[22]; t[51] = 1/POW(t[11],0.66666666666667); t[52] = 2.0*t[48]*t[8]; t[53] = -2.0*t[22]; dfdra = t[1]*(t[31]+t[21]+t[19]+t[18]+t[17]+t[16])+t[14]+t[6]+t[5]+t[3]+Bu; dfdrb = t[1]*(t[35]+t[21]+t[19]+t[18]+t[17]+t[16])+t[14]+t[6]+t[5]+t[3]+Bu; d2fdrara =t[1]*(t[13]*(1.333333333333333*t[29]*(t[53]+t[52])+0.44444444444444*POW(t[28],2.0)*t[51]+1.333333333333333*t[26]*(t[50]+t[49])+0.44444444444444*POW(t[25],2.0)*t[47])*t[7]+2.0*t[20]*t[30]*t[7]+t[46]+t[45]+t[44]+t[43]+t[42])+2.0*t[13]*t[30]*t[7]+t[40]+t[39]+t[38]+t[37]+t[36]; d2fdrarb = t[1]*(t[13]*t[7]*(2.666666666666667*t[29]*t[48]*t[8]-2.666666666666667*t[26]*t[48]*t[8]+0.44444444444444*t[28]*t[33]*t[51]+0.44444444444444*t[25]*t[32]*t[47])+t[46]+t[45]+t[44]+t[43]+t[42]+t[7]*t[34]*t[20]+t[7]*t[30]*t[20])+t[40]+t[39]+t[38]+t[37]+t[36]+t[35]+t[31]; d2fdrbrb =t[1]*(t[13]*(1.333333333333333*t[26]*(t[53]+t[49])+0.44444444444444*POW(t[33],2.0)*t[51]+1.333333333333333*t[29]*(t[50]+t[52])+0.44444444444444*POW(t[32],2.0)*t[47])*t[7]+2.0*t[20]*t[34]*t[7]+t[46]+t[45]+t[44]+t[43]+t[42])+2.0*t[13]*t[34]*t[7]+t[40]+t[39]+t[38]+t[37]+t[36]; ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df2000 += factor*d2fdrara; ds->df1100 += factor*d2fdrarb; ds->df0200 += factor*d2fdrbrb; } static void pz81b_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { real t[90]; real dfdra, dfdrb; real d2fdrara, d2fdrarb, d2fdrbrb; real d3fdrarara, d3fdrararb, d3fdrarbrb, d3fdrbrbrb; real rhoa = dp->rhoa; real rhob = dp->rhob; t[1] = rhob+rhoa; t[2] = 1/POW(t[1],0.33333333333333); t[3] = 0.6203504908994*Du*t[2]; t[4] = LOG(0.6203504908994*t[2]); t[5] = Au*t[4]; t[6] = 0.6203504908994*Cu*t[2]*t[4]; t[7] = 1/(2.0*POW(2.0,0.33333333333333)-2.0); t[8] = rhoa-1.0*rhob; t[9] = 1/t[1]; t[10] = 1.0-1.0*t[8]*t[9]; t[11] = t[8]*t[9]+1.0; t[12] = POW(t[11],1.333333333333333)+POW(t[10],1.333333333333333)-2.0; t[13] = -1.0*Bu+Bp-1.0*t[4]*Au+Ap*t[4]-0.6203504908994*Cu*t[2]*t[4]+0.6203504908994*Cp*t[2]*t[4]-0.6203504908994*Du*t[2]+0.6203504908994*Dp*t[2]; t[14] = t[7]*t[12]*t[13]; t[15] = 1/POW(t[1],1.333333333333333); t[16] = -0.20678349696647*Cu*t[15]; t[17] = -0.20678349696647*Du*t[15]; t[18] = -0.33333333333333*Au*t[9]; t[19] = -0.20678349696647*Cu*t[15]*t[4]; t[20] = 0.20678349696647*Cu*t[15]*t[4]-0.20678349696647*Cp*t[15]*t[4]+0.33333333333333*Au*t[9]-0.33333333333333*Ap*t[9]+0.20678349696647*Du*t[15]-0.20678349696647*Dp*t[15]+0.20678349696647*Cu*t[15]-0.20678349696647*Cp*t[15]; t[21] = t[7]*t[12]*t[20]; t[22] = 1/POW(t[1],2.0); t[23] = t[8]*t[22]; t[24] = -1.0*t[9]; t[25] = t[24]+t[23]; t[26] = POW(t[10],0.33333333333333); t[27] = -1.0*t[22]*t[8]; t[28] = t[9]+t[27]; t[29] = POW(t[11],0.33333333333333); t[30] = 1.333333333333333*t[28]*t[29]+1.333333333333333*t[25]*t[26]; t[31] = t[7]*t[30]*t[13]; t[32] = t[9]+t[23]; t[33] = t[24]+t[27]; t[34] = 1.333333333333333*t[29]*t[33]+1.333333333333333*t[26]*t[32]; t[35] = t[7]*t[34]*t[13]; t[36] = -0.41356699393293*Cu*t[15]; t[37] = -0.41356699393293*Du*t[15]; t[38] = -0.66666666666667*Au*t[9]; t[39] = -0.41356699393293*Cu*t[15]*t[4]; t[40] = 2.0*t[12]*t[20]*t[7]; t[41] = 1/POW(t[1],2.333333333333334); t[42] = 0.34463916161078*Cu*t[41]; t[43] = 0.27571132928862*Du*t[41]; t[44] = 0.33333333333333*Au*t[22]; t[45] = 0.27571132928862*Cu*t[41]*t[4]; t[46] = -0.27571132928862*Cu*t[41]*t[4]+0.27571132928862*Cp*t[41]*t[4]-0.33333333333333*Au*t[22]+0.33333333333333*Ap*t[22]-0.27571132928862*Du*t[41]+0.27571132928862*Dp*t[41]-0.34463916161078*Cu*t[41]+0.34463916161078*Cp*t[41]; t[47] = t[7]*t[12]*t[46]; t[48] = 2.0*t[20]*t[30]*t[7]; t[49] = POW(t[25],2.0); t[50] = 1/POW(t[10],0.66666666666667); t[51] = 1/POW(t[1],3.0); t[52] = -2.0*t[51]*t[8]; t[53] = 2.0*t[22]; t[54] = t[53]+t[52]; t[55] = POW(t[28],2.0); t[56] = 1/POW(t[11],0.66666666666667); t[57] = 2.0*t[51]*t[8]; t[58] = -2.0*t[22]; t[59] = t[58]+t[57]; t[60] = 1.333333333333333*t[29]*t[59]+0.44444444444444*t[55]*t[56]+1.333333333333333*t[26]*t[54]+0.44444444444444*t[49]*t[50]; t[61] = t[7]*t[60]*t[13]; t[62] = 2.666666666666667*t[29]*t[51]*t[8]-2.666666666666667*t[26]*t[51]*t[8]+0.44444444444444*t[28]*t[33]*t[56]+0.44444444444444*t[25]*t[32]*t[50]; t[63] = 2.0*t[20]*t[34]*t[7]; t[64] = POW(t[32],2.0); t[65] = t[58]+t[52]; t[66] = POW(t[33],2.0); t[67] = t[53]+t[57]; t[68] = 1.333333333333333*t[29]*t[67]+0.44444444444444*t[56]*t[66]+1.333333333333333*t[26]*t[65]+0.44444444444444*t[50]*t[64]; t[69] = t[7]*t[68]*t[13]; t[70] = 1.033917484832333*Cu*t[41]; t[71] = 0.82713398786587*Du*t[41]; t[72] = Au*t[22]; t[73] = 0.82713398786587*Cu*t[41]*t[4]; t[74] = 3.0*t[12]*t[46]*t[7]; t[75] = 2.0*t[13]*t[62]*t[7]; t[76] = 1/POW(t[1],3.333333333333334); t[77] = -0.89606182018802*Cu*t[76]; t[78] = -0.64332643500679*Du*t[76]; t[79] = -0.66666666666667*Au*t[51]; t[80] = -0.64332643500679*Cu*t[76]*t[4]; t[81] = t[7]*t[12]*(0.64332643500679*Cu*t[76]*t[4]-0.64332643500679*Cp*t[76]*t[4]+0.66666666666667*Au*t[51]-0.66666666666667*Ap*t[51]+0.64332643500679*Du*t[76]-0.64332643500679*Dp*t[76]+0.89606182018802*Cu*t[76]-0.89606182018802*Cp*t[76]); t[82] = 2.0*t[20]*t[62]*t[7]; t[83] = 1/POW(t[10],1.666666666666667); t[84] = 1/POW(t[1],4.0); t[85] = 6.0*t[8]*t[84]; t[86] = 1/POW(t[11],1.666666666666667); t[87] = -6.0*t[8]*t[84]; t[88] = -6.0*t[51]; t[89] = 6.0*t[51]; dfdra = t[1]*(t[31]+t[21]+t[19]+t[18]+t[17]+t[16])+t[14]+t[6]+t[5]+t[3]+Bu; dfdrb = t[1]*(t[35]+t[21]+t[19]+t[18]+t[17]+t[16])+t[14]+t[6]+t[5]+t[3]+Bu; d2fdrara = 2.0*t[13]*t[30]*t[7]+t[1]*(t[61]+t[48]+t[47]+t[45]+t[44]+t[43]+t[42])+t[40]+t[39]+t[38]+t[37]+t[36]; d2fdrarb = t[1]*(t[7]*t[62]*t[13]+t[7]*t[30]*t[20]+t[7]*t[34]*t[20]+t[47]+t[45]+t[44]+t[43]+t[42])+t[31]+t[35]+t[40]+t[39]+t[38]+t[37]+t[36]; d2fdrbrb = 2.0*t[13]*t[34]*t[7]+t[1]*(t[69]+t[63]+t[47]+t[45]+t[44]+t[43]+t[42])+t[40]+t[39]+t[38]+t[37]+t[36]; d3fdrararb = t[1]*(t[13]*t[7]*(1.333333333333333*t[29]*(t[87]+2.0*t[51])-0.2962962962963*t[33]*t[55]*t[86]+1.333333333333333*t[26]*(t[85]-2.0*t[51])-0.2962962962963*t[32]*t[49]*t[83]+1.777777777777778*t[28]*t[51]*t[56]*t[8]-1.777777777777778*t[25]*t[50]*t[51]*t[8]+0.44444444444444*t[33]*t[56]*t[59]+0.44444444444444*t[32]*t[50]*t[54])+t[82]+t[81]+t[80]+t[79]+t[78]+t[77]+2.0*t[30]*t[46]*t[7]+t[7]*t[34]*t[46]+t[7]*t[60]*t[20])+t[75]+t[74]+t[73]+t[72]+t[71]+t[70]+4.0*t[20]*t[30]*t[7]+t[63]+t[61]; d3fdrarbrb = t[1]*(t[13]*t[7]*(-0.2962962962963*t[28]*t[66]*t[86]-8.0*t[29]*t[8]*t[84]+8.0*t[26]*t[8]*t[84]-0.2962962962963*t[25]*t[64]*t[83]+1.777777777777778*t[33]*t[51]*t[56]*t[8]-1.777777777777778*t[32]*t[50]*t[51]*t[8]+0.44444444444444*t[28]*t[56]*t[67]+0.44444444444444*t[25]*t[50]*t[65]-2.666666666666667*t[29]*t[51]+2.666666666666667*t[26]*t[51])+t[82]+t[81]+t[80]+t[79]+t[78]+t[77]+2.0*t[34]*t[46]*t[7]+t[7]*t[30]*t[46]+t[7]*t[68]*t[20])+t[75]+t[74]+t[73]+t[72]+t[71]+t[70]+4.0*t[20]*t[34]*t[7]+t[69]+t[48]; d3fdrarara = t[1]*(t[13]*t[7]*(1.333333333333333*t[29]*(t[89]+t[87])+1.333333333333333*t[26]*(t[88]+t[85])-0.2962962962963*POW(t[28],3.0)*t[86]-0.2962962962963*POW(t[25],3.0)*t[83]+1.333333333333333*t[28]*t[56]*t[59]+1.333333333333333*t[25]*t[50]*t[54])+t[81]+t[80]+t[79]+t[78]+t[77]+3.0*t[20]*t[60]*t[7]+3.0*t[30]*t[46]*t[7])+t[74]+t[73]+t[72]+t[71]+t[70]+3.0*t[13]*t[60]*t[7]+6.0*t[20]*t[30]*t[7]; d3fdrbrbrb = t[1]*(t[13]*t[7]*(1.333333333333333*t[26]*(t[89]+t[85])+1.333333333333333*t[29]*(t[88]+t[87])-0.2962962962963*POW(t[33],3.0)*t[86]-0.2962962962963*POW(t[32],3.0)*t[83]+1.333333333333333*t[33]*t[56]*t[67]+1.333333333333333*t[32]*t[50]*t[65])+t[81]+t[80]+t[79]+t[78]+t[77]+3.0*t[20]*t[68]*t[7]+3.0*t[34]*t[46]*t[7])+t[74]+t[73]+t[72]+t[71]+t[70]+3.0*t[13]*t[68]*t[7]+6.0*t[20]*t[34]*t[7]; ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df2000 += factor*d2fdrara; ds->df1100 += factor*d2fdrarb; ds->df0200 += factor*d2fdrbrb; ds->df3000 += factor*d3fdrarara; ds->df2100 += factor*d3fdrararb; ds->df1200 += factor*d3fdrarbrb; ds->df0300 += factor*d3fdrbrbrb; } /* ******************************************************************* */ /* Dispatch part */ /* ******************************************************************* */ static real pz81_energy(const FunDensProp* dp) { real rs3 = 3/(4*M_PI*(dp->rhoa+dp->rhob)); if(rs3>=1) return pz81a_energy(dp); else return pz81b_energy(dp); } static void pz81_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { real rs3 = 3/(4*M_PI*(dp->rhoa+dp->rhob)); if(rs3>=1) pz81a_first(ds, factor, dp); else pz81b_first(ds, factor, dp); } static void pz81_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { real rs3 = 3/(4*M_PI*(dp->rhoa+dp->rhob)); if(rs3>=1) pz81a_second(ds, factor, dp); else pz81b_second(ds, factor, dp); } static void pz81_third (FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { real rs3 = 3/(4*M_PI*(dp->rhoa+dp->rhob)); if(rs3>=1) pz81a_third(ds, factor, dp); else pz81b_third(ds, factor, dp); } ergo-3.5/source/dft/fun-p86c.c0000664000175000017500000014752612743400307013046 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file fun-p86c.c P86c implementation. Automatically generated code implementing p86c functional and its derivatives. Generated by func-codegen.pl being a part of a "Automatic code generation framework for analytical functional derivative evaluation", Pawel Salek, 2004 This functional is connected by making following changes: 1. add "extern Functional p86cFunctional;" to 'functionals.h' 2. add "&p86cFunctional," to 'functionals.c' 3. add "fun-p86c}.c" to 'Makefile.am', 'Makefile.in' or 'Makefile'. This functional has been generated from following input: ------ cut here ------- c0: 1.667e-3; cn1: 2.568e-3; cn2: 2.3266e-2; cn3: 7.389e-6; cd1: 1.0; cd2: 8.723; cd3: 0.472; cd4: 1.0e4*cn3; cinf: c0+cn1/cd1; phi1: (9.0*%PI)^(1/6); phi2: 0.11; rho: rhoa + rhob; grad: sqrt(grada*grada + gradb*gradb + 2*gradab); zeta: (rhoa-rhob)/(rhoa+rhob); dzet: 2^(1/3)*sqrt(((1+zeta)/2)^(5/3) + ((1-zeta)/2)^(5/3)); rs: (3/(4*%PI*rho))^(1/3); crho: c0 + (cn1+cn2*rs+cn3*rs^2)/(1+cd2*rs+cd3*(rs^2)+cd4*(rs^3)); phi: phi1*phi2*(cinf/crho)*grad*(rho^(-7.0/6.0)); K(rhoa,rhob,grada,gradb,gradab):=exp(-phi)*crho*(grad^2)*(rho^(-4.0/3.0))/dzet; ------ cut here ------- */ #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int p86c_isgga(void) { return 1; } /* FIXME: detect! */ static int p86c_read(const char *conf_line); static real p86c_energy(const FunDensProp *dp); static void p86c_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp); static void p86c_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp); static void p86c_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp); Functional P86cFunctional = { "P86c", /* name */ p86c_isgga, /* gga-corrected */ p86c_read, NULL, p86c_energy, p86c_first, p86c_second, p86c_third }; /* IMPLEMENTATION PART */ static int p86c_read(const char *conf_line) { fun_set_hf_weight(0); return 1; } static real p86c_energy(const FunDensProp *dp) { real res; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14; t1 = POW(gradb,2.0)+2.0*gradab+POW(grada,2.0); t2 = rhob+rhoa; t3 = 1/POW(2.0,0.66666666666667); t4 = rhoa-1.0*rhob; t5 = 1/t2; t6 = POW(3.0,0.66666666666667); t7 = 1/POW(4.0,0.66666666666667); t8 = 1/POW(3.141592653589793,0.66666666666667); t9 = 1/POW(t2,0.66666666666667); t10 = POW(3.0,0.33333333333333); t11 = 1/POW(4.0,0.33333333333333); t12 = 1/POW(3.141592653589793,0.33333333333333); t13 = 1/POW(t2,0.33333333333333); t14 = (0.023266*t10*t11*t12*t13+7.389E-6*t6*t7*t8*t9+ 0.002568)/(0.472*t6*t7*t8*t9+0.01763993811759*t5+8.723000000000001* t10*t11*t12*t13+1.0)+0.001667; /* code */ res = t1*t14/(POW(2.0,0.33333333333333)*POW(2.718281828459045, 6.718719623277062E-4*POW(3.141592653589793,0.16666666666667)* SQRT(t1)/(t14*POW(t2,1.166666666666667)))*POW(t2,1.333333333333333)* SQRT(0.5*t3*POW(t4*t5+1.0,1.666666666666667)+0.5*t3*POW(1.0- 1.0*t4*t5,1.666666666666667))); return res; } static void p86c_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp) { real dfdra, dfdrb, dfdga, dfdgb, dfdgab; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43; t1 = 1/POW(2.0,0.33333333333333); t2 = POW(gradb,2.0)+2.0*gradab+POW(grada,2.0); t3 = rhob+rhoa; t4 = 1/POW(t3,1.333333333333333); t5 = 1/POW(2.0,0.66666666666667); t6 = rhoa-1.0*rhob; t7 = 1/t3; t8 = 1.0-1.0*t6*t7; t9 = t6*t7+1.0; t10 = SQRT(0.5*t5*POW(t9,1.666666666666667)+0.5*t5*POW(t8, 1.666666666666667)); t11 = 1/t10; t12 = 0.31830988618379; t13 = 1/POW(t3,2.0); t14 = POW(3.0,0.66666666666667); t15 = 1/POW(4.0,0.66666666666667); t16 = 1/POW(3.141592653589793,0.66666666666667); t17 = 1/POW(t3,1.666666666666667); t18 = POW(3.0,0.33333333333333); t19 = 1/POW(4.0,0.33333333333333); t20 = 1/POW(3.141592653589793,0.33333333333333); t21 = 1/POW(t3,1.333333333333333); t22 = 1/POW(t3,0.66666666666667); t23 = 1/POW(t3,0.33333333333333); t24 = 0.023266*t18*t19*t20*t23+7.389E-6*t14*t15*t16*t22+ 0.002568; t25 = 0.0554175*t12*t7+8.723000000000001*t18*t19*t20* t23+0.472*t14*t15*t16*t22+1.0; t26 = 1/t25; t27 = (-0.00775533333333*t18*t19*t20*t21-4.926E-6*t14* t15*t16*t17)*t26-1.0*(-2.907666666666667*t18*t19*t20*t21-0.31466666666667* t14*t15*t16*t17-0.0554175*t12*t13)*t24/POW(t25,2.0); t28 = POW(3.141592653589793,0.16666666666667); t29 = SQRT(t2); t30 = 1/POW(t3,1.166666666666667); t31 = t24*t26+0.001667; t32 = 1/t31; t33 = 1/POW(2.718281828459045,6.718719623277062E-4*t28* t29*t30*t32); t34 = t1*t2*t4*t11*t27*t33; t35 = t6*t13; t36 = -1.0*t7; t37 = POW(t8,0.66666666666667); t38 = -1.0*t13*t6; t39 = POW(t9,0.66666666666667); t40 = 1/POW(t10,3.0); t41 = -1.333333333333333*t1*t11*t2*t31*t33/POW(t3,2.333333333333333); t42 = t1* t11*t2*t31*(7.838506227156574E-4*t28*t29*t32/POW(t3,2.166666666666667)+ 6.718719623277062E-4*t27*t28*t29*t30/POW(t31,2.0))*t33*t4; t43 = 1/ POW(t3,2.5); /* code */ dfdra = -0.5*t1*t2*t31*t33*t4*t40*(0.83333333333333*t39* t5*(t7+t38)+0.83333333333333*(t36+t35)*t37*t5)+t42+t41+t34; dfdrb = - 0.5*t1*t2*t31*t33*t4*t40*(0.83333333333333*t37*t5*(t7+t35)+ 0.83333333333333*(t36+t38)*t39*t5)+t42+t41+t34; dfdga = 2.0*t1*t11*t31*t33*t4*grada-6.718719623277062E-4* t1*t28*grada*t29*t43*t11*t33; dfdgb = 2.0*t1*t11*t31*t33*t4*gradb-6.718719623277062E-4* t1*t28*gradb*t29*t43*t11*t33; dfdgab = 2.0*t1*t11*t31*t33*t4-6.718719623277062E-4*t1* t28*t29*t43*t11*t33; /* Final assignment */ ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df0010 += factor*dfdga; ds->df0001 += factor*dfdgb; ds->df00001+= factor*dfdgab; } static void p86c_second(FunSecondFuncDrv *ds, real factor, const FunDensProp *dp) { real dfdra, dfdrb, dfdga, dfdgb, dfdgab; real d2fdrara, d2fdrarb, d2fdraga, d2fdragb, d2fdrbrb, d2fdraab, d2fdgaga, d2fdgbgb, d2fdrbga, d2fdrbgb, d2fdrbgab, d2fdgagb, d2fdgagab, d2fdgbgab, d2fdgabgab; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43, t44, t45, t46, t47, t48, t49, t50; real t51, t52, t53, t54, t55, t56, t57, t58; real t59, t60, t61, t62, t63, t64, t65, t66; real t67, t68, t69, t70, t71, t72, t73, t74; real t75, t76, t77, t78, t79, t80, t81, t82; real t83, t84, t85, t86, t87, t88, t89, t90; real t91, t92, t93, t94, t95, t96, t97, t98; real t99, t100, t101, t102, t103, t104, t105; t1 = 1/POW(2.0,0.33333333333333); t2 = POW(grada,2.0); t3 = POW(gradb,2.0); t4 = 2.0*gradab+t3+t2; t5 = rhob+rhoa; t6 = 1/POW(t5,1.333333333333333); t7 = 1/POW(2.0,0.66666666666667); t8 = rhoa-1.0*rhob; t9 = 1/t5; t10 = 1.0-1.0*t8*t9; t11 = t8*t9+1.0; t12 = SQRT(0.5*POW(t11,1.666666666666667)*t7+0.5*POW(t10, 1.666666666666667)*t7); t13 = 1/t12; t14 = 0.31830988618379; t15 = 1/POW(t5,2.0); t16 = POW(3.0,0.66666666666667); t17 = 1/POW(4.0,0.66666666666667); t18 = 1/POW(3.141592653589793,0.66666666666667); t19 = 1/POW(t5,1.666666666666667); t20 = POW(3.0,0.33333333333333); t21 = 1/POW(4.0,0.33333333333333); t22 = POW(3.141592653589793,0.33333333333333); t23 = 1/t22; t24 = 1/POW(t5,1.333333333333333); t25 = -2.907666666666667*t20*t21*t23*t24-0.31466666666667* t16*t17*t18*t19-0.0554175*t14*t15; t26 = 1/POW(t5,0.66666666666667); t27 = 1/POW(t5,0.33333333333333); t28 = 0.023266*t20*t21*t23*t27+7.389E-6*t16*t17*t18*t26+ 0.002568; t29 = 0.0554175*t14*t9+8.723000000000001*t20*t21*t23* t27+0.472*t16*t17*t18*t26+1.0; t30 = 1/POW(t29,2.0); t31 = -0.00775533333333*t20*t21*t23*t24-4.926E-6*t16* t17*t18*t19; t32 = 1/t29; t33 = t31*t32-1.0*t25*t28*t30; t34 = POW(3.141592653589793,0.16666666666667); t35 = SQRT(t4); t36 = 1/POW(t5,1.166666666666667); t37 = t28*t32+0.001667; t38 = 1/t37; t39 = 1/POW(2.718281828459045,6.718719623277062E-4*t34* t35*t36*t38); t40 = t1*t4*t6*t13*t33*t39; t41 = t8*t15; t42 = -1.0*t9; t43 = t42+t41; t44 = POW(t10,0.66666666666667); t45 = -1.0*t15*t8; t46 = t9+t45; t47 = POW(t11,0.66666666666667); t48 = 0.83333333333333*t46*t47*t7+0.83333333333333*t43* t44*t7; t49 = 1/POW(t12,3.0); t50 = 1/POW(t5,2.333333333333333); t51 = -1.333333333333333*t1*t4*t50*t13*t37*t39; t52 = 1/POW(t37,2.0); t53 = 1/POW(t5,2.166666666666667); t54 = 7.838506227156574E-4*t34*t35*t53*t38+6.718719623277062E-4* t34*t35*t36*t33*t52; t55 = t1*t4*t6*t13*t37*t54*t39; t56 = t9+t41; t57 = t42+t45; t58 = 0.83333333333333*t47*t57*t7+0.83333333333333*t44* t56*t7; t59 = 1/POW(t5,2.5); t60 = -6.718719623277062E-4*t1*t34*t35*t59*t13*t39; t61 = 2.0* t1*t13*t37*t39*t6; t62 = 1/POW(t5,3.0); t63 = 1/POW(t5,2.666666666666667); t64 = 1/POW(t5,2.333333333333334); t65 = -1.0*t28*t30*(3.876888888888889*t20*t21*t23*t64+ 0.52444444444444*t16*t17*t18*t63+0.110835*t14*t62)+(0.01034044444444* t20*t21*t23*t64+8.210000000000001E-6*t16*t17*t18*t63)*t32- 2.0*t25*t30*t31+2.0*POW(t25,2.0)*t28/POW(t29,3.0); t66 = t1*t4*t6*t13*t65*t39; t67 = -2.666666666666667*t1*t4*t50*t13*t33*t39; t68 = 1/POW(t12,5.0); t69 = 1/POW(t10,0.33333333333333); t70 = -2.0*t62*t8; t71 = 2.0*t15; t72 = 1/POW(t11,0.33333333333333); t73 = 2.0*t62*t8; t74 = -2.0*t15; t75 = 3.111111111111111*t1*t13*t37*t39*t4/POW(t5,3.333333333333333); t76 = t1* t13*t37*t39*t4*(6.718719623277062E-4*t34*t35*t36*t65*t52-0.00156770124543* t34*t35*t53*t33*t52-0.00169834301588*t34*t35*t38/POW(t5,3.166666666666667)- 0.00134374392466*POW(t33,2.0)*t34*t35*t36/POW(t37,3.0))*t6; t77 = 2.0* t1*t13*t33*t39*t4*t54*t6; t78 = -2.666666666666667*t1*t4*t50*t13*t37*t54*t39; t79 = t1* t13*t37*t39*t4*POW(t54,2.0)*t6; t80 = 1/POW(t5,3.5); t81 = 8.958292831036083E-4*t1*t34*grada*t35*t80*t13*t39; t82 = 2.0* t1*t13*t33*t39*t6*grada; t83 = -6.718719623277062E-4*t1*t34*grada*t35*t59*t13* t33*t38*t39; t84 = -2.666666666666667*t1*grada*t50*t13*t37*t39; t85 = 1/t35; t86 = t1*t4*t6*t13*t37*(7.838506227156574E-4*t34*grada* t85*t53*t38+6.718719623277062E-4*t34*grada*t85*t36*t33*t52)* t39; t87 = -6.718719623277062E-4*t1*t34*grada*t35*t59*t13* t54*t39; t88 = 2.0*t1*t13*t37*t39*t54*t6*grada; t89 = 8.958292831036083E-4*t1*t34*gradb*t35*t80*t13*t39; t90 = 2.0* t1*t13*t33*t39*t6*gradb; t91 = -6.718719623277062E-4*t1*t34*gradb*t35*t59*t13* t33*t38*t39; t92 = -2.666666666666667*t1*gradb*t50*t13*t37*t39; t93 = t1*t4*t6*t13*t37*(7.838506227156574E-4*t34*gradb* t85*t53*t38+6.718719623277062E-4*t34*gradb*t85*t36*t33*t52)* t39; t94 = -6.718719623277062E-4*t1*t34*gradb*t35*t59*t13* t54*t39; t95 = 2.0*t1*t13*t37*t39*t54*t6*gradb; t96 = 8.958292831036083E-4*t1*t34*t35*t80*t13*t39; t97 = 2.0*t1*t13*t33*t39*t6; t98 = -6.718719623277062E-4*t1*t34*t35*t59*t13*t33*t38* t39; t99 = -2.666666666666667*t1*t50*t13*t37*t39; t100 = t1*t4*t6*t13*t37*(7.838506227156574E-4*t34*t85* t53*t38+6.718719623277062E-4*t34*t85*t36*t33*t52)*t39; t101 = -6.718719623277062E-4*t1*t34*t35*t59*t13*t54*t39; t102 = 2.0* t1*t13*t37*t39*t54*t6; t103 = t99+t98+t97+t96-1.0*t1*t37*t39*t48*t49*t6+3.359359811638531E-4* t1*t34*t35*t59*t48*t49*t39+t102+t101+t100; t104 = t99+t98+t97+t96-1.0*t1*t37*t39*t49*t58*t6+3.359359811638531E-4* t1*t34*t35*t59*t58*t49*t39+t102+t101+t100; t105 = 1/POW(t5,3.666666666666667); /* code */ dfdra = -0.5*t1*t37*t39*t4*t48*t49*t6+t55+t51+t40; dfdrb = -0.5*t1*t37*t39*t4*t49*t58*t6+t55+t51+t40; dfdga = 2.0*t1*t13*t37*t39*t6*grada-6.718719623277062E-4* t1*t34*grada*t35*t59*t13*t39; dfdgb = 2.0*t1*t13*t37*t39*t6*gradb-6.718719623277062E-4* t1*t34*gradb*t35*t59*t13*t39; dfdgab = t61+t60; d2fdrara = t79+t78+t77+t76+t75-0.5*t1*t37*t39*t4*t49* t6*(0.83333333333333*t47*t7*(t74+t73)+0.55555555555556*POW(t46, 2.0)*t7*t72+0.83333333333333*t44*t7*(t71+t70)+0.55555555555556* POW(t43,2.0)*t69*t7)+0.75*t1*t37*t39*t4*POW(t48,2.0)*t6*t68+ t67+t66-1.0*t1*t37*t39*t4*t48*t49*t54*t6-1.0*t1*t33*t39*t4* t48*t49*t6+1.333333333333333*t1*t4*t50*t48*t49*t37*t39; d2fdrarb = -0.5*t1*t37*t39*t4*t49*t6*(1.666666666666667* t47*t62*t7*t8-1.666666666666667*t44*t62*t7*t8+0.55555555555556* t46*t57*t7*t72+0.55555555555556*t43*t56*t69*t7)+t79+t78+t77+ t76+t75+0.75*t1*t37*t39*t4*t48*t58*t6*t68+t67+t66-0.5*t1*t37* t39*t4*t49*t54*t58*t6-0.5*t1*t33*t39*t4*t49*t58*t6-0.5*t1* t37*t39*t4*t48*t49*t54*t6-0.5*t1*t33*t39*t4*t48*t49*t6+0.66666666666667* t1*t4*t50*t58*t49*t37*t39+0.66666666666667*t1*t4*t50*t48*t49* t37*t39; d2fdraga = -1.0*t1*t37*t39*t48*t49*t6*grada+t88+t87+t86+ t84+t83+t82+t81+3.359359811638531E-4*t1*t34*grada*t35*t59* t48*t49*t39; d2fdragb = -1.0*t1*t37*t39*t48*t49*t6*gradb+t95+t94+t93+ t92+t91+t90+t89+3.359359811638531E-4*t1*t34*gradb*t35*t59* t48*t49*t39; d2fdrbrb = t79+t78+t77+t76+t75-0.5*t1*t37*t39*t4*t49* t6*(0.83333333333333*t44*t7*(t74+t70)+0.55555555555556*POW(t57, 2.0)*t7*t72+0.83333333333333*t47*t7*(t71+t73)+0.55555555555556* POW(t56,2.0)*t69*t7)+0.75*t1*t37*t39*t4*POW(t58,2.0)*t6*t68+ t67+t66-1.0*t1*t37*t39*t4*t49*t54*t58*t6-1.0*t1*t33*t39*t4* t49*t58*t6+1.333333333333333*t1*t4*t50*t58*t49*t37*t39; d2fdraab = t103; d2fdgaga = t61+4.514119337620827E-7*t1*t22*t2*t105*t13* t38*t39+t60-0.00201561588698*t1*t34*t2*t85*t59*t13*t39; d2fdgbgb = t61+4.514119337620827E-7*t1*t22*t3*t105*t13* t38*t39+t60-0.00201561588698*t1*t34*t3*t85*t59*t13*t39; d2fdrbga = -1.0*t1*t37*t39*t49*t58*t6*grada+t88+t87+t86+ t84+t83+t82+t81+3.359359811638531E-4*t1*t34*grada*t35*t59* t58*t49*t39; d2fdrbgb = -1.0*t1*t37*t39*t49*t58*t6*gradb+t95+t94+t93+ t92+t91+t90+t89+3.359359811638531E-4*t1*t34*gradb*t35*t59* t58*t49*t39; d2fdgagb = 4.514119337620827E-7*t1*t22*grada*gradb*t105* t13*t38*t39-0.00201561588698*t1*t34*grada*gradb*t85*t59*t13* t39; d2fdrbgab = t104; d2fdgagab = 4.514119337620827E-7*t1*t22*grada*t105*t13* t38*t39-0.00201561588698*t1*t34*grada*t85*t59*t13*t39; d2fdgbgab = 4.514119337620827E-7*t1*t22*gradb*t105*t13* t38*t39-0.00201561588698*t1*t34*gradb*t85*t59*t13*t39; d2fdgabgab = 4.514119337620827E-7*t1*t22*t105*t13*t38* t39-0.00201561588698*t1*t34*t85*t59*t13*t39; ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df0010 += factor*dfdga; ds->df0001 += factor*dfdgb; ds->df00001+= factor*dfdgab; ds->df2000 += factor*d2fdrara; ds->df1100 += factor*d2fdrarb; ds->df1010 += factor*d2fdraga; ds->df1001 += factor*d2fdragb; ds->df10001+= factor*d2fdraab; ds->df0200 += factor*d2fdrbrb; ds->df0110 += factor*d2fdrbga; ds->df0101 += factor*d2fdrbgb; ds->df01001+= factor*d2fdrbgab; ds->df0020 += factor*d2fdgaga; ds->df0011 += factor*d2fdgagb; ds->df00101+= factor*d2fdgagab; ds->df0002 += factor*d2fdgbgb; ds->df00011+= factor*d2fdgbgab; ds->df00002+= factor*d2fdgabgab; } static void p86c_third(FunThirdFuncDrv *ds, real factor, const FunDensProp *dp) { real dfdra, dfdrb, dfdga, dfdgb, dfdgab; real d2fdrara, d2fdrarb, d2fdraga, d2fdragb, d2fdrbrb, d2fdraab, d2fdrbab, d2fdgaga, d2fdgbgb, d2fdrbga, d2fdrbgb, d2fdgagb; real d3fdrararb, d3fdraraga, d3fdraragb, d3fdrbrbab, d3fdraraab, d3fdrarbrb, d3fdrarbga, d3fdrarbgb, d3fdrarbab, d3fdragaga, d3fdragbgb, d3fdrarara, d3fdrbrbrb, d3fdrbrbga, d3fdrbrbgb, d3fdrbgaga, d3fdrbgbgb, d3fdgagaga, d3fdragagb, d3fdrbgagb, d3fdgagagb, d3fdgagbgb, d3fdgbgbgb; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43, t44, t45, t46, t47, t48, t49, t50; real t51, t52, t53, t54, t55, t56, t57, t58; real t59, t60, t61, t62, t63, t64, t65, t66; real t67, t68, t69, t70, t71, t72, t73, t74; real t75, t76, t77, t78, t79, t80, t81, t82; real t83, t84, t85, t86, t87, t88, t89, t90; real t91, t92, t93, t94, t95, t96, t97, t98; real t99, t100, t101, t102, t103, t104, t105; real t106, t107, t108, t109, t110, t111, t112; real t113, t114, t115, t116, t117, t118, t119; real t120, t121, t122, t123, t124, t125, t126; real t127, t128, t129, t130, t131, t132, t133; real t134, t135, t136, t137, t138, t139, t140; real t141, t142, t143, t144, t145, t146, t147; real t148, t149, t150, t151, t152, t153, t154; real t155, t156, t157, t158, t159, t160, t161; real t162, t163, t164, t165, t166, t167, t168; real t169, t170, t171, t172, t173, t174, t175; real t176, t177, t178, t179, t180, t181, t182; real t183, t184, t185, t186, t187, t188, t189; real t190, t191, t192, t193, t194, t195, t196; real t197, t198, t199, t200, t201, t202, t203; real t204, t205, t206, t207, t208, t209, t210; real t211, t212, t213, t214, t215, t216, t217; real t218, t219, t220, t221, t222, t223, t224; real t225, t226, t227, t228, t229, t230, t231; real t232, t233, t234, t235, t236, t237, t238; real t239, t240, t241, t242, t243, t244, t245; real t246, t247, t248, t249, t250, t251, t252; real t253, t254, t255, t256, t257, t258, t259; real t260, t261, t262, t263, t264; t1 = 1/POW(2.0,0.33333333333333); t2 = POW(grada,2.0); t3 = POW(gradb,2.0); t4 = 2.0*gradab+t3+t2; t5 = rhob+rhoa; t6 = 1/POW(t5,1.333333333333333); t7 = 1/POW(2.0,0.66666666666667); t8 = rhoa-1.0*rhob; t9 = 1/t5; t10 = 1.0-1.0*t8*t9; t11 = t8*t9+1.0; t12 = SQRT(0.5*POW(t11,1.666666666666667)*t7+0.5*POW(t10, 1.666666666666667)*t7); t13 = 1/t12; t14 = 0.31830988618379; t15 = 1/POW(t5,2.0); t16 = POW(3.0,0.66666666666667); t17 = 1/POW(4.0,0.66666666666667); t18 = 1/POW(3.141592653589793,0.66666666666667); t19 = 1/POW(t5,1.666666666666667); t20 = POW(3.0,0.33333333333333); t21 = 1/POW(4.0,0.33333333333333); t22 = POW(3.141592653589793,0.33333333333333); t23 = 1/t22; t24 = 1/POW(t5,1.333333333333333); t25 = -2.907666666666667*t20*t21*t23*t24-0.31466666666667* t16*t17*t18*t19-0.0554175*t14*t15; t26 = 1/POW(t5,0.66666666666667); t27 = 1/POW(t5,0.33333333333333); t28 = 0.023266*t20*t21*t23*t27+7.389E-6*t16*t17*t18*t26+ 0.002568; t29 = 0.0554175*t14*t9+8.723000000000001*t20*t21*t23* t27+0.472*t16*t17*t18*t26+1.0; t30 = 1/POW(t29,2.0); t31 = -0.00775533333333*t20*t21*t23*t24-4.926E-6*t16* t17*t18*t19; t32 = 1/t29; t33 = t31*t32-1.0*t25*t28*t30; t34 = POW(3.141592653589793,0.16666666666667); t35 = SQRT(t4); t36 = 1/POW(t5,1.166666666666667); t37 = t28*t32+0.001667; t38 = 1/t37; t39 = 1/POW(2.718281828459045,6.718719623277062E-4*t34* t35*t36*t38); t40 = t1*t4*t6*t13*t33*t39; t41 = t8*t15; t42 = -1.0*t9; t43 = t42+t41; t44 = POW(t10,0.66666666666667); t45 = -1.0*t15*t8; t46 = t9+t45; t47 = POW(t11,0.66666666666667); t48 = 0.83333333333333*t46*t47*t7+0.83333333333333*t43* t44*t7; t49 = 1/POW(t12,3.0); t50 = 1/POW(t5,2.333333333333333); t51 = -1.333333333333333*t1*t4*t50*t13*t37*t39; t52 = 1/POW(t37,2.0); t53 = 1/POW(t5,2.166666666666667); t54 = 7.838506227156574E-4*t34*t35*t53*t38+6.718719623277062E-4* t34*t35*t36*t33*t52; t55 = t1*t4*t6*t13*t37*t54*t39; t56 = t9+t41; t57 = t42+t45; t58 = 0.83333333333333*t47*t57*t7+0.83333333333333*t44* t56*t7; t59 = 1/POW(t5,2.5); t60 = -6.718719623277062E-4*t1*t34*t35*t59*t13*t39; t61 = 2.0* t1*t13*t37*t39*t6; t62 = POW(t25,2.0); t63 = 1/POW(t29,3.0); t64 = 1/POW(t5,3.0); t65 = 1/POW(t5,2.666666666666667); t66 = 1/POW(t5,2.333333333333334); t67 = 3.876888888888889*t20*t21*t23*t66+0.52444444444444* t16*t17*t18*t65+0.110835*t14*t64; t68 = 0.01034044444444*t20*t21*t23*t66+8.210000000000001E-6* t16*t17*t18*t65; t69 = -1.0*t28*t30*t67+2.0*t28*t62*t63+t68*t32-2.0*t25* t30*t31; t70 = t1*t4*t6*t13*t69*t39; t71 = -2.666666666666667*t1*t4*t50*t13*t33*t39; t72 = POW(t48,2.0); t73 = 1/POW(t12,5.0); t74 = POW(t43,2.0); t75 = 1/POW(t10,0.33333333333333); t76 = -2.0*t64*t8; t77 = 2.0*t15; t78 = t77+t76; t79 = POW(t46,2.0); t80 = 1/POW(t11,0.33333333333333); t81 = 2.0*t64*t8; t82 = -2.0*t15; t83 = t82+t81; t84 = 0.83333333333333*t47*t7*t83+0.55555555555556*t7* t79*t80+0.83333333333333*t44*t7*t78+0.55555555555556*t7*t74* t75; t85 = 1/POW(t5,3.333333333333333); t86 = 3.111111111111111*t1*t4*t85*t13*t37*t39; t87 = POW(t33,2.0); t88 = 1/POW(t37,3.0); t89 = 1/POW(t5,3.166666666666667); t90 = -0.00169834301588*t34*t35*t89*t38-0.00156770124543* t34*t35*t53*t33*t52+6.718719623277062E-4*t34*t35*t36*t69*t52- 0.00134374392466*t34*t35*t36*t87*t88; t91 = t1*t4*t6*t13*t37*t90*t39; t92 = 2.0*t1*t13*t33*t39*t4*t54*t6; t93 = -2.666666666666667*t1*t4*t50*t13*t37*t54*t39; t94 = POW(t54, 2.0); t95 = t1*t4*t6*t13*t37*t94*t39; t96 = 0.55555555555556*t46*t57*t7*t80+1.666666666666667* t47*t64*t7*t8-1.666666666666667*t44*t64*t7*t8+0.55555555555556* t43*t56*t7*t75; t97 = 1/POW(t5,3.5); t98 = 8.958292831036083E-4*t1*t34*grada*t35*t97*t13*t39; t99 = 2.0* t1*t13*t33*t39*t6*grada; t100 = -6.718719623277062E-4*t1*t34*grada*t35*t59*t13* t33*t38*t39; t101 = -2.666666666666667*t1*grada*t50*t13*t37*t39; t102 = 1/ t35; t103 = 7.838506227156574E-4*t34*grada*t102*t53*t38+6.718719623277062E-4* t34*grada*t102*t36*t33*t52; t104 = t1*t4*t6*t13*t37*t103*t39; t105 = -6.718719623277062E-4*t1*t34*grada*t35*t59*t13* t54*t39; t106 = 2.0*t1*t13*t37*t39*t54*t6*grada; t107 = 8.958292831036083E-4*t1*t34*gradb*t35*t97*t13* t39; t108 = 2.0*t1*t13*t33*t39*t6*gradb; t109 = -6.718719623277062E-4*t1*t34*gradb*t35*t59*t13* t33*t38*t39; t110 = -2.666666666666667*t1*gradb*t50*t13*t37*t39; t111 = 7.838506227156574E-4*t34*gradb*t102*t53*t38+6.718719623277062E-4* t34*gradb*t102*t36*t33*t52; t112 = t1*t4*t6*t13*t37*t111*t39; t113 = -6.718719623277062E-4*t1*t34*gradb*t35*t59*t13* t54*t39; t114 = 2.0*t1*t13*t37*t39*t54*t6*gradb; t115 = POW(t58,2.0); t116 = POW(t56,2.0); t117 = t82+t76; t118 = POW(t57,2.0); t119 = t77+t81; t120 = 0.55555555555556*t118*t7*t80+0.55555555555556* t116*t7*t75+0.83333333333333*t119*t47*t7+0.83333333333333* t117*t44*t7; t121 = 3.359359811638531E-4*t1*t34*t35*t59*t48*t49*t39; t122 = 8.958292831036083E-4*t1*t34*t35*t97*t13*t39; t123 = 2.0* t1*t13*t33*t39*t6; t124 = -6.718719623277062E-4*t1*t34*t35*t59*t13*t33*t38* t39; t125 = -1.0*t1*t37*t39*t48*t49*t6; t126 = -2.666666666666667*t1*t50*t13*t37*t39; t127 = 6.718719623277062E-4*t34*t102*t36*t33*t52; t128 = 7.838506227156574E-4*t34*t102*t53*t38; t129 = t128+t127; t130 = t1*t4*t6*t13*t37*t129*t39; t131 = -6.718719623277062E-4*t1*t34*t35*t59*t13*t54*t39; t132 = 2.0* t1*t13*t37*t39*t54*t6; t133 = t132+t131+t130+t126+t125+t124+t123+t122+t121; t134 = 3.359359811638531E-4*t1*t34*t35*t59*t58*t49*t39; t135 = - 1.0*t1*t37*t39*t49*t58*t6; t136 = t132+t131+t130+t126+t135+t124+t123+t122+t134; t137 = 1/ POW(t5,3.666666666666667); t138 = -0.00201561588698*t1*t34*grada*t102*t59*t13*t39; t139 = 4.514119337620827E-7*t1*t22*grada*t137*t13*t38* t39; t140 = -0.00201561588698*t1*t34*gradb*t102*t59*t13*t39; t141 = 4.514119337620827E-7*t1*t22*gradb*t137*t13*t38* t39; t142 = 1/POW(t5,4.0); t143 = 1/POW(t5,3.666666666666667); t144 = 1/POW(t5,3.333333333333334); t145 = -3.0*t25*t30*t68+6.0*t25*t28*t63*t67-3.0*t30*t31* t67+6.0*t31*t62*t63+(-0.0241277037037*t20*t21*t23*t144-2.189333333333334E-5* t16*t17*t18*t143)*t32-1.0*(-9.046074074074074*t20*t21*t23* t144-1.398518518518519*t16*t17*t18*t143-0.332505*t14*t142)* t28*t30-6.0*POW(t25,3.0)*t28/POW(t29,4.0); t146 = t1*t4*t6*t13*t145*t39; t147 = -4.0*t1*t4*t50*t13*t69*t39; t148 = 1.5*t1*t33*t39*t4*t48*t58*t6*t73; t149 = -1.0*t1*t33*t39*t4*t49*t6*t96; t150 = 9.333333333333332*t1*t4*t85*t13*t33*t39; t151 = 1/POW(t12,7.0); t152 = -2.0*t1*t4*t50*t58*t48*t73*t37*t39; t153 = 1.333333333333333*t1*t4*t50*t96*t49*t37*t39; t154 = 1/ POW(t10,1.333333333333333); t155 = 6.0*t142*t8; t156 = 1/POW(t11,1.333333333333333); t157 = -6.0*t142*t8; t158 = -10.37037037037037*t1*t13*t37*t39*t4/POW(t5,4.333333333333333); t159 = t1* t13*t37*t39*t4*t6*(0.00470310373629*t34*t35*t53*t87*t88-0.00403123177397* t34*t35*t36*t69*t33*t88-0.00235155186815*t34*t35*t53*t69*t52+ 0.00509502904765*t34*t35*t89*t33*t52+6.718719623277062E-4* t34*t35*t36*t145*t52+0.00537808621697*t34*t35*t38/POW(t5,4.166666666666667)+ 0.00403123177397*POW(t33,3.0)*t34*t35*t36/POW(t37,4.0)); t160 = 3.0* t1*t13*t33*t39*t4*t6*t90; t161 = -4.0*t1*t4*t50*t13*t37*t90*t39; t162 = 3.0*t1*t13*t39*t4*t54*t6*t69; t163 = -8.0*t1*t4*t50*t13*t33*t54*t39; t164 = 1.5*t1*t37*t39*t4*t48*t54*t58*t6*t73; t165 = -1.0*t1*t37*t39*t4*t49*t54*t6*t96; t166 = 9.333333333333332*t1*t4*t85*t13*t37*t54*t39; t167 = 3.0* t1*t13*t37*t39*t4*t54*t6*t90; t168 = 3.0*t1*t13*t33*t39*t4*t6*t94; t169 = -4.0*t1*t4*t50*t13*t37*t94*t39; t170 = t1*t13*t37*t39*t4*POW(t54,3.0)*t6; t171 = 1/POW(t5,4.5); t172 = -0.00209026832724*t1*t34*grada*t35*t171*t13*t39; t173 = 2.0* t1*t13*t39*t6*t69*grada; t174 = -5.333333333333333*t1*grada*t50*t13*t33*t39; t175 = - 6.718719623277062E-4*t1*t34*grada*t35*t59*t13*t69*t38*t39; t176 = 0.00179165856621* t1*t34*grada*t35*t97*t13*t33*t38*t39; t177 = 6.222222222222221*t1*grada*t85*t13*t37*t39; t178 = t1*t4*t6*t13*t37*(-0.00169834301588*t34*grada* t102*t89*t38-0.00156770124543*t34*grada*t102*t53*t33*t52+6.718719623277062E-4* t34*grada*t102*t36*t69*t52-0.00134374392466*t34*grada*t102* t36*t87*t88)*t39; t179 = -6.718719623277062E-4*t1*t34*grada*t35*t59*t13* t90*t39; t180 = 2.0*t1*t13*t37*t39*t6*t90*grada; t181 = 2.0*t1*t103*t13*t33*t39*t4*t6; t182 = -2.666666666666667*t1*t4*t50*t13*t37*t103*t39; t183 = 0.00179165856621* t1*t34*grada*t35*t97*t13*t54*t39; t184 = 4.0*t1*t13*t33*t39*t54*t6*grada; t185 = -0.00134374392466*t1*t34*grada*t35*t59*t13*t33* t38*t54*t39; t186 = -5.333333333333333*t1*grada*t50*t13*t37*t54*t39; t187 = 2.0* t1*t103*t13*t37*t39*t4*t54*t6; t188 = -6.718719623277062E-4*t1*t34*grada*t35*t59*t13* t94*t39; t189 = 2.0*t1*t13*t37*t39*t6*t94*grada; t190 = -0.00209026832724*t1*t34*gradb*t35*t171*t13*t39; t191 = 2.0* t1*t13*t39*t6*t69*gradb; t192 = -5.333333333333333*t1*gradb*t50*t13*t33*t39; t193 = - 6.718719623277062E-4*t1*t34*gradb*t35*t59*t13*t69*t38*t39; t194 = 0.00179165856621* t1*t34*gradb*t35*t97*t13*t33*t38*t39; t195 = 6.222222222222221*t1*gradb*t85*t13*t37*t39; t196 = t1*t4*t6*t13*t37*(-0.00169834301588*t34*gradb* t102*t89*t38-0.00156770124543*t34*gradb*t102*t53*t33*t52+6.718719623277062E-4* t34*gradb*t102*t36*t69*t52-0.00134374392466*t34*gradb*t102* t36*t87*t88)*t39; t197 = -6.718719623277062E-4*t1*t34*gradb*t35*t59*t13* t90*t39; t198 = 2.0*t1*t13*t37*t39*t6*t90*gradb; t199 = 2.0*t1*t111*t13*t33*t39*t4*t6; t200 = -2.666666666666667*t1*t4*t50*t13*t37*t111*t39; t201 = 0.00179165856621* t1*t34*gradb*t35*t97*t13*t54*t39; t202 = 4.0*t1*t13*t33*t39*t54*t6*gradb; t203 = -0.00134374392466*t1*t34*gradb*t35*t59*t13*t33* t38*t54*t39; t204 = -5.333333333333333*t1*gradb*t50*t13*t37*t54*t39; t205 = 2.0* t1*t111*t13*t37*t39*t4*t54*t6; t206 = -6.718719623277062E-4*t1*t34*gradb*t35*t59*t13* t94*t39; t207 = 2.0*t1*t13*t37*t39*t6*t94*gradb; t208 = -0.00209026832724*t1*t34*t35*t171*t13*t39; t209 = 2.0*t1*t13*t39*t6*t69; t210 = -5.333333333333333*t1*t50*t13*t33*t39; t211 = -6.718719623277062E-4*t1*t34*t35*t59*t13*t69*t38* t39; t212 = 0.00179165856621*t1*t34*t35*t97*t13*t33*t38*t39; t213 = 6.222222222222221* t1*t85*t13*t37*t39; t214 = t1*t4*t6*t13*t37*(-0.00169834301588*t34*t102*t89* t38-0.00156770124543*t34*t102*t53*t33*t52+6.718719623277062E-4* t34*t102*t36*t69*t52-0.00134374392466*t34*t102*t36*t87*t88)* t39; t215 = -6.718719623277062E-4*t1*t34*t35*t59*t13*t90*t39; t216 = 2.0* t1*t13*t37*t39*t6*t90; t217 = 2.0*t1*t129*t13*t33*t39*t4*t6; t218 = -2.666666666666667*t1*t4*t50*t13*t37*t129*t39; t219 = 0.00179165856621* t1*t34*t35*t97*t13*t54*t39; t220 = 4.0*t1*t13*t33*t39*t54*t6; t221 = -0.00134374392466*t1*t34*t35*t59*t13*t33*t38*t54* t39; t222 = -5.333333333333333*t1*t50*t13*t37*t54*t39; t223 = 2.0*t1*t129*t13*t37*t39*t4*t54*t6; t224 = -6.718719623277062E-4*t1*t34*t35*t59*t13*t94*t39; t225 = 2.0* t1*t13*t37*t39*t6*t94; t226 = 0.00268748784931*t1*t34*t2*t102*t97*t13*t39; t227 = 4.514119337620827E-7*t1*t22*t2*t137*t13*t33*t52* t39; t228 = 1/POW(t5,4.666666666666667); t229 = -6.018825783494436E-7*t1*t22*t2*t228*t13*t38*t39; t230 = - 0.00201561588698*t1*t34*t2*t102*t59*t13*t33*t38*t39; t231 = 1/POW(t35,3.0); t232 = t1*t4*t6*t13*t37*(t128-7.838506227156574E-4*t34* t2*t231*t53*t38+t127-6.718719623277062E-4*t34*t2*t231*t36* t33*t52)*t39; t233 = -0.00134374392466*t1*t34*grada*t35*t59*t13*t103* t39; t234 = 4.0*t1*t103*t13*t37*t39*t6*grada; t235 = -0.00201561588698*t1*t34*t2*t102*t59*t13*t54*t39; t236 = 4.514119337620827E-7*t1*t22*t2*t137*t13*t38*t54* t39; t237 = 0.00268748784931*t1*t34*grada*gradb*t102*t97*t13* t39; t238 = 4.514119337620827E-7*t1*t22*grada*gradb*t137*t13* t33*t52*t39; t239 = -6.018825783494436E-7*t1*t22*grada*gradb*t228* t13*t38*t39; t240 = -0.00201561588698*t1*t34*grada*gradb*t102*t59* t13*t33*t38*t39; t241 = t1*t4*t6*t13*t37*(-7.838506227156574E-4*t34*grada* gradb*t231*t53*t38-6.718719623277062E-4*t34*grada*gradb*t231* t36*t33*t52)*t39; t242 = -6.718719623277062E-4*t1*t34*gradb*t35*t59*t13* t103*t39; t243 = 2.0*t1*t103*t13*t37*t39*t6*gradb; t244 = -6.718719623277062E-4*t1*t34*grada*t35*t59*t13* t111*t39; t245 = 2.0*t1*t111*t13*t37*t39*t6*grada; t246 = -0.00201561588698*t1*t34*grada*gradb*t102*t59* t13*t54*t39; t247 = 4.514119337620827E-7*t1*t22*grada*gradb*t137*t13* t38*t54*t39; t248 = 0.00268748784931*t1*t34*t3*t102*t97*t13*t39; t249 = 4.514119337620827E-7*t1*t22*t3*t137*t13*t33*t52* t39; t250 = -6.018825783494436E-7*t1*t22*t3*t228*t13*t38*t39; t251 = - 0.00201561588698*t1*t34*t3*t102*t59*t13*t33*t38*t39; t252 = t1*t4*t6*t13*t37*(t128-7.838506227156574E-4*t34* t3*t231*t53*t38+t127-6.718719623277062E-4*t34*t3*t231*t36* t33*t52)*t39; t253 = -0.00134374392466*t1*t34*gradb*t35*t59*t13*t111* t39; t254 = 4.0*t1*t111*t13*t37*t39*t6*gradb; t255 = -0.00201561588698*t1*t34*t3*t102*t59*t13*t54*t39; t256 = 4.514119337620827E-7*t1*t22*t3*t137*t13*t38*t54* t39; t257 = -6.0*t64; t258 = 6.0*t64; t259 = t132+t236+t131+t235+t234+t233+t232+t126+t135+t124+ t230+t229-2.257059668810414E-7*t1*t22*t2*t137*t58*t49*t38* t39+t227+t123+t122+t226+t134+0.00100780794349*t1*t34*t2*t102* t59*t58*t49*t39; t260 = POW(grada,3.0); t261 = 1.772453850905516; t262 = 1/POW(t5,4.833333333333334); t263 = 1/t4; t264 = POW(gradb,3.0); /* code */ dfdra = -0.5*t1*t37*t39*t4*t48*t49*t6+t55+t51+t40; dfdrb = -0.5*t1*t37*t39*t4*t49*t58*t6+t55+t51+t40; dfdga = 2.0*t1*t13*t37*t39*t6*grada-6.718719623277062E-4* t1*t34*grada*t35*t59*t13*t39; dfdgb = 2.0*t1*t13*t37*t39*t6*gradb-6.718719623277062E-4* t1*t34*gradb*t35*t59*t13*t39; dfdgab = t61+t60; d2fdrara = t95+t93+t92+t91+t86-0.5*t1*t37*t39*t4*t49* t6*t84+0.75*t1*t37*t39*t4*t6*t72*t73+t71+t70-1.0*t1*t37*t39* t4*t48*t49*t54*t6-1.0*t1*t33*t39*t4*t48*t49*t6+1.333333333333333* t1*t4*t50*t48*t49*t37*t39; d2fdrarb = -0.5*t1*t37*t39*t4*t49*t6*t96+t95+t93+t92+ t91+t86+0.75*t1*t37*t39*t4*t48*t58*t6*t73+t71+t70-0.5*t1*t37* t39*t4*t49*t54*t58*t6-0.5*t1*t33*t39*t4*t49*t58*t6-0.5*t1* t37*t39*t4*t48*t49*t54*t6-0.5*t1*t33*t39*t4*t48*t49*t6+0.66666666666667* t1*t4*t50*t58*t49*t37*t39+0.66666666666667*t1*t4*t50*t48*t49* t37*t39; d2fdraga = -1.0*t1*t37*t39*t48*t49*t6*grada+t99+t98+3.359359811638531E-4* t1*t34*grada*t35*t59*t48*t49*t39+t106+t105+t104+t101+t100; d2fdragb = - 1.0*t1*t37*t39*t48*t49*t6*gradb+3.359359811638531E-4*t1*t34* gradb*t35*t59*t48*t49*t39+t114+t113+t112+t110+t109+t108+t107; d2fdrbrb = t95+ t93+t92+t91+t86+0.75*t1*t115*t37*t39*t4*t6*t73+t71+t70-1.0* t1*t37*t39*t4*t49*t54*t58*t6-1.0*t1*t33*t39*t4*t49*t58*t6- 0.5*t1*t120*t37*t39*t4*t49*t6+1.333333333333333*t1*t4*t50* t58*t49*t37*t39; d2fdraab = t133; d2fdrbab = t136; d2fdgaga = t61+4.514119337620827E-7*t1*t22*t2*t137*t13* t38*t39+t60-0.00201561588698*t1*t34*t2*t102*t59*t13*t39; d2fdgbgb = t61+ 4.514119337620827E-7*t1*t22*t3*t137*t13*t38*t39+t60-0.00201561588698* t1*t34*t3*t102*t59*t13*t39; d2fdrbga = -1.0*t1*t37*t39*t49*t58*t6*grada+t99+t98+3.359359811638531E-4* t1*t34*grada*t35*t59*t58*t49*t39+t106+t105+t104+t101+t100; d2fdrbgb = - 1.0*t1*t37*t39*t49*t58*t6*gradb+3.359359811638531E-4*t1*t34* gradb*t35*t59*t58*t49*t39+t114+t113+t112+t110+t109+t108+t107; d2fdgagb = 4.514119337620827E-7*t1*t22*grada*gradb*t137* t13*t38*t39-0.00201561588698*t1*t34*grada*gradb*t102*t59*t13* t39; d3fdrararb = 1.5*t1*t37*t39*t4*t48*t6*t73*t96-0.5*t1* t37*t39*t4*t49*t58*t6*t94-1.0*t1*t37*t39*t4*t48*t49*t6*t94- 0.5*t1*t37*t39*t4*t49*t58*t6*t90-1.0*t1*t37*t39*t4*t48*t49* t6*t90+0.75*t1*t37*t39*t4*t58*t6*t73*t84-0.5*t1*t37*t39*t4* t49*t54*t6*t84-0.5*t1*t33*t39*t4*t49*t6*t84-0.5*t1*t37*t39* t4*t49*t6*(0.55555555555556*t57*t7*t80*t83+2.222222222222222* t46*t64*t7*t8*t80-2.222222222222222*t43*t64*t7*t75*t8-0.18518518518519* t156*t57*t7*t79+0.55555555555556*t56*t7*t75*t78-0.18518518518519* t154*t56*t7*t74+0.83333333333333*t47*(2.0*t64+t157)*t7+0.83333333333333* t44*(t155-2.0*t64)*t7)+0.75*t1*t37*t39*t4*t54*t6*t72*t73+0.75* t1*t33*t39*t4*t6*t72*t73-1.875*t1*t151*t37*t39*t4*t58*t6*t72- 0.5*t1*t39*t4*t49*t58*t6*t69-1.0*t1*t39*t4*t48*t49*t6*t69- 1.0*t1*t33*t39*t4*t49*t54*t58*t6-2.0*t1*t33*t39*t4*t48*t49* t54*t6+1.333333333333333*t1*t4*t50*t58*t49*t37*t54*t39+2.666666666666667* t1*t4*t50*t48*t49*t37*t54*t39-1.0*t1*t4*t50*t72*t73*t37*t39+ 0.66666666666667*t1*t4*t50*t84*t49*t37*t39-1.555555555555555* t1*t4*t85*t58*t49*t37*t39-3.111111111111111*t1*t4*t85*t48* t49*t37*t39+1.333333333333333*t1*t4*t50*t58*t49*t33*t39+2.666666666666667* t1*t4*t50*t48*t49*t33*t39+t170+t169+t168+t167+t166+t165+t164+ t163+t162+t161+t160+t159+t158+t153+t152+t150+t149+t148+t147+ t146; d3fdraraga = -1.0*t1*t37*t39*t49*t6*t84*grada+1.5*t1* t37*t39*t6*t72*t73*grada-2.0*t1*t37*t39*t48*t49*t54*t6*grada- 2.0*t1*t33*t39*t48*t49*t6*grada-1.0*t1*t103*t37*t39*t4*t48* t49*t6-5.039039717457796E-4*t1*t34*grada*t35*t59*t72*t73*t39+ 6.718719623277062E-4*t1*t34*grada*t35*t59*t48*t49*t54*t39+ 3.359359811638531E-4*t1*t34*grada*t35*t59*t84*t49*t39-8.958292831036083E-4* t1*t34*grada*t35*t97*t48*t49*t39+6.718719623277062E-4*t1*t34* grada*t35*t59*t48*t49*t33*t38*t39+2.666666666666667*t1*grada* t50*t48*t49*t37*t39+t189+t188+t187+t186+t185+t184+t183+t182+ t181+t180+t179+t178+t177+t176+t175+t174+t173+t172; d3fdraragb = -1.0*t1*t37*t39*t49*t6*t84*gradb+1.5*t1* t37*t39*t6*t72*t73*gradb-2.0*t1*t37*t39*t48*t49*t54*t6*gradb- 2.0*t1*t33*t39*t48*t49*t6*gradb-1.0*t1*t111*t37*t39*t4*t48* t49*t6-5.039039717457796E-4*t1*t34*gradb*t35*t59*t72*t73*t39+ 6.718719623277062E-4*t1*t34*gradb*t35*t59*t48*t49*t54*t39+ 3.359359811638531E-4*t1*t34*gradb*t35*t59*t84*t49*t39-8.958292831036083E-4* t1*t34*gradb*t35*t97*t48*t49*t39+6.718719623277062E-4*t1*t34* gradb*t35*t59*t48*t49*t33*t38*t39+2.666666666666667*t1*gradb* t50*t48*t49*t37*t39+t207+t206+t205+t204+t203+t202+t201+t200+ t199+t198+t197+t196+t195+t194+t193+t192+t191+t190; d3fdrbrbab = 1.5*t1*t115*t37*t39*t6*t73-2.0*t1*t37*t39* t49*t54*t58*t6-1.0*t1*t129*t37*t39*t4*t49*t58*t6-2.0*t1*t33* t39*t49*t58*t6-1.0*t1*t120*t37*t39*t49*t6-5.039039717457796E-4* t1*t34*t35*t59*t115*t73*t39+6.718719623277062E-4*t1*t34*t35* t59*t58*t49*t54*t39-8.958292831036083E-4*t1*t34*t35*t97*t58* t49*t39+3.359359811638531E-4*t1*t34*t35*t59*t120*t49*t39+6.718719623277062E-4* t1*t34*t35*t59*t58*t49*t33*t38*t39+2.666666666666667*t1*t50* t58*t49*t37*t39+t225+t224+t223+t222+t221+t220+t219+t218+t217+ t216+t215+t214+t213+t212+t211+t210+t209+t208; d3fdraraab = -1.0*t1*t37*t39*t49*t6*t84+1.5*t1*t37*t39* t6*t72*t73-2.0*t1*t37*t39*t48*t49*t54*t6-1.0*t1*t129*t37*t39* t4*t48*t49*t6-2.0*t1*t33*t39*t48*t49*t6-5.039039717457796E-4* t1*t34*t35*t59*t72*t73*t39+6.718719623277062E-4*t1*t34*t35* t59*t48*t49*t54*t39+3.359359811638531E-4*t1*t34*t35*t59*t84* t49*t39-8.958292831036083E-4*t1*t34*t35*t97*t48*t49*t39+6.718719623277062E-4* t1*t34*t35*t59*t48*t49*t33*t38*t39+2.666666666666667*t1*t50* t48*t49*t37*t39+t225+t224+t223+t222+t221+t220+t219+t218+t217+ t216+t215+t214+t213+t212+t211+t210+t209+t208; d3fdrarbrb = 1.5*t1*t37*t39*t4*t58*t6*t73*t96-1.0*t1* t37*t39*t4*t49*t58*t6*t94-0.5*t1*t37*t39*t4*t48*t49*t6*t94- 1.0*t1*t37*t39*t4*t49*t58*t6*t90-0.5*t1*t37*t39*t4*t48*t49* t6*t90-0.5*t1*t37*t39*t4*t49*t6*(2.222222222222222*t57*t64* t7*t8*t80+0.55555555555556*t119*t46*t7*t80-2.222222222222222* t56*t64*t7*t75*t8-5.0*t142*t47*t7*t8+5.0*t142*t44*t7*t8+0.55555555555556* t117*t43*t7*t75-1.666666666666667*t47*t64*t7+1.666666666666667* t44*t64*t7-0.18518518518519*t118*t156*t46*t7-0.18518518518519* t116*t154*t43*t7)+0.75*t1*t115*t37*t39*t4*t54*t6*t73+0.75* t1*t120*t37*t39*t4*t48*t6*t73+0.75*t1*t115*t33*t39*t4*t6*t73- 1.0*t1*t39*t4*t49*t58*t6*t69-0.5*t1*t39*t4*t48*t49*t6*t69- 2.0*t1*t33*t39*t4*t49*t54*t58*t6-1.0*t1*t33*t39*t4*t48*t49* t54*t6-0.5*t1*t120*t37*t39*t4*t49*t54*t6-0.5*t1*t120*t33*t39* t4*t49*t6-1.875*t1*t115*t151*t37*t39*t4*t48*t6+2.666666666666667* t1*t4*t50*t58*t49*t37*t54*t39+1.333333333333333*t1*t4*t50* t48*t49*t37*t54*t39-1.0*t1*t4*t50*t115*t73*t37*t39-3.111111111111111* t1*t4*t85*t58*t49*t37*t39-1.555555555555555*t1*t4*t85*t48* t49*t37*t39+0.66666666666667*t1*t4*t50*t120*t49*t37*t39+2.666666666666667* t1*t4*t50*t58*t49*t33*t39+1.333333333333333*t1*t4*t50*t48* t49*t33*t39+t170+t169+t168+t167+t166+t165+t164+t163+t162+t161+ t160+t159+t158+t153+t152+t150+t149+t148+t147+t146; d3fdrarbga = -1.0*t1*t37*t39*t49*t6*t96*grada+1.5*t1* t37*t39*t48*t58*t6*t73*grada-1.0*t1*t37*t39*t49*t54*t58*t6* grada-1.0*t1*t33*t39*t49*t58*t6*grada-1.0*t1*t37*t39*t48*t49* t54*t6*grada-1.0*t1*t33*t39*t48*t49*t6*grada-0.5*t1*t103*t37* t39*t4*t49*t58*t6-0.5*t1*t103*t37*t39*t4*t48*t49*t6-5.039039717457796E-4* t1*t34*grada*t35*t59*t58*t48*t73*t39+3.359359811638531E-4* t1*t34*grada*t35*t59*t58*t49*t54*t39+3.359359811638531E-4* t1*t34*grada*t35*t59*t48*t49*t54*t39+3.359359811638531E-4* t1*t34*grada*t35*t59*t96*t49*t39-4.479146415518041E-4*t1*t34* grada*t35*t97*t58*t49*t39-4.479146415518041E-4*t1*t34*grada* t35*t97*t48*t49*t39+3.359359811638531E-4*t1*t34*grada*t35* t59*t58*t49*t33*t38*t39+3.359359811638531E-4*t1*t34*grada* t35*t59*t48*t49*t33*t38*t39+1.333333333333333*t1*grada*t50* t58*t49*t37*t39+1.333333333333333*t1*grada*t50*t48*t49*t37* t39+t189+t188+t187+t186+t185+t184+t183+t182+t181+t180+t179+ t178+t177+t176+t175+t174+t173+t172; d3fdrarbgb = -1.0*t1*t37*t39*t49*t6*t96*gradb+1.5*t1* t37*t39*t48*t58*t6*t73*gradb-1.0*t1*t37*t39*t49*t54*t58*t6* gradb-1.0*t1*t33*t39*t49*t58*t6*gradb-1.0*t1*t37*t39*t48*t49* t54*t6*gradb-1.0*t1*t33*t39*t48*t49*t6*gradb-0.5*t1*t111*t37* t39*t4*t49*t58*t6-0.5*t1*t111*t37*t39*t4*t48*t49*t6-5.039039717457796E-4* t1*t34*gradb*t35*t59*t58*t48*t73*t39+3.359359811638531E-4* t1*t34*gradb*t35*t59*t58*t49*t54*t39+3.359359811638531E-4* t1*t34*gradb*t35*t59*t48*t49*t54*t39+3.359359811638531E-4* t1*t34*gradb*t35*t59*t96*t49*t39-4.479146415518041E-4*t1*t34* gradb*t35*t97*t58*t49*t39-4.479146415518041E-4*t1*t34*gradb* t35*t97*t48*t49*t39+3.359359811638531E-4*t1*t34*gradb*t35* t59*t58*t49*t33*t38*t39+3.359359811638531E-4*t1*t34*gradb* t35*t59*t48*t49*t33*t38*t39+1.333333333333333*t1*gradb*t50* t58*t49*t37*t39+1.333333333333333*t1*gradb*t50*t48*t49*t37* t39+t207+t206+t205+t204+t203+t202+t201+t200+t199+t198+t197+ t196+t195+t194+t193+t192+t191+t190; d3fdrarbab = -1.0*t1*t37*t39*t49*t6*t96+1.5*t1*t37*t39* t48*t58*t6*t73-1.0*t1*t37*t39*t49*t54*t58*t6-0.5*t1*t129*t37* t39*t4*t49*t58*t6-1.0*t1*t33*t39*t49*t58*t6-1.0*t1*t37*t39* t48*t49*t54*t6-0.5*t1*t129*t37*t39*t4*t48*t49*t6-1.0*t1*t33* t39*t48*t49*t6-5.039039717457796E-4*t1*t34*t35*t59*t58*t48* t73*t39+3.359359811638531E-4*t1*t34*t35*t59*t58*t49*t54*t39+ 3.359359811638531E-4*t1*t34*t35*t59*t48*t49*t54*t39+3.359359811638531E-4* t1*t34*t35*t59*t96*t49*t39-4.479146415518041E-4*t1*t34*t35* t97*t58*t49*t39-4.479146415518041E-4*t1*t34*t35*t97*t48*t49* t39+3.359359811638531E-4*t1*t34*t35*t59*t58*t49*t33*t38*t39+ 3.359359811638531E-4*t1*t34*t35*t59*t48*t49*t33*t38*t39+1.333333333333333* t1*t50*t58*t49*t37*t39+1.333333333333333*t1*t50*t48*t49*t37* t39+t225+t224+t223+t222+t221+t220+t219+t218+t217+t216+t215+ t214+t213+t212+t211+t210+t209+t208; d3fdragaga = t132+t236+t131+t235+t234+t233+t232+t126+ t125+t124+t230+t229-2.257059668810414E-7*t1*t22*t2*t137*t48* t49*t38*t39+t227+t123+t122+t226+t121+0.00100780794349*t1*t34* t2*t102*t59*t48*t49*t39; d3fdragagb = t247+t246+t245+t244+t243+t242+t241+t240+ t239-2.257059668810414E-7*t1*t22*grada*gradb*t137*t48*t49* t38*t39+t238+t237+0.00100780794349*t1*t34*grada*gradb*t102* t59*t48*t49*t39; d3fdrbgagb = t247+t246+t245+t244+t243+t242+t241+t240+ t239-2.257059668810414E-7*t1*t22*grada*gradb*t137*t58*t49* t38*t39+t238+t237+0.00100780794349*t1*t34*grada*gradb*t102* t59*t58*t49*t39; d3fdragbgb = t132+t256+t131+t255+t254+t253+t252+t126+ t125+t124+t251+t250-2.257059668810414E-7*t1*t22*t3*t137*t48* t49*t38*t39+t249+t123+t122+t248+t121+0.00100780794349*t1*t34* t3*t102*t59*t48*t49*t39; d3fdrarara = -1.5*t1*t37*t39*t4*t48*t49*t6*t94-1.5*t1* t37*t39*t4*t48*t49*t6*t90+2.25*t1*t37*t39*t4*t48*t6*t73*t84- 1.5*t1*t37*t39*t4*t49*t54*t6*t84-1.5*t1*t33*t39*t4*t49*t6* t84-0.5*t1*t37*t39*t4*t49*t6*(1.666666666666667*t46*t7*t80* t83+1.666666666666667*t43*t7*t75*t78+0.83333333333333*(t258+ t157)*t47*t7-0.18518518518519*t156*POW(t46,3.0)*t7+0.83333333333333* (t257+t155)*t44*t7-0.18518518518519*t154*POW(t43,3.0)*t7)+ 2.25*t1*t37*t39*t4*t54*t6*t72*t73+2.25*t1*t33*t39*t4*t6*t72* t73-1.5*t1*t39*t4*t48*t49*t6*t69-3.0*t1*t33*t39*t4*t48*t49* t54*t6-1.875*t1*t151*t37*t39*t4*POW(t48,3.0)*t6+4.0*t1*t4* t50*t48*t49*t37*t54*t39-3.0*t1*t4*t50*t72*t73*t37*t39+2.0* t1*t4*t50*t84*t49*t37*t39-4.666666666666666*t1*t4*t85*t48* t49*t37*t39+4.0*t1*t4*t50*t48*t49*t33*t39+t170+t169+t168+t167+ t166+t163+t162+t161+t160+t159+t158+t150+t147+t146; d3fdrbrbrb = -1.5*t1*t37*t39*t4*t49*t58*t6*t94-1.5*t1* t37*t39*t4*t49*t58*t6*t90-0.5*t1*t37*t39*t4*t49*t6*(1.666666666666667* t119*t57*t7*t80+1.666666666666667*t117*t56*t7*t75-0.18518518518519* t156*POW(t57,3.0)*t7-0.18518518518519*t154*POW(t56,3.0)*t7+ 0.83333333333333*(t257+t157)*t47*t7+0.83333333333333*(t258+ t155)*t44*t7)+2.25*t1*t120*t37*t39*t4*t58*t6*t73+2.25*t1*t115* t37*t39*t4*t54*t6*t73+2.25*t1*t115*t33*t39*t4*t6*t73-1.5*t1* t39*t4*t49*t58*t6*t69-1.875*t1*t151*t37*t39*t4*POW(t58,3.0)* t6-3.0*t1*t33*t39*t4*t49*t54*t58*t6-1.5*t1*t120*t37*t39*t4* t49*t54*t6-1.5*t1*t120*t33*t39*t4*t49*t6+4.0*t1*t4*t50*t58* t49*t37*t54*t39-3.0*t1*t4*t50*t115*t73*t37*t39-4.666666666666666* t1*t4*t85*t58*t49*t37*t39+2.0*t1*t4*t50*t120*t49*t37*t39+4.0* t1*t4*t50*t58*t49*t33*t39+t170+t169+t168+t167+t166+t163+t162+ t161+t160+t159+t158+t150+t147+t146; d3fdrbrbga = 1.5*t1*t115*t37*t39*t6*t73*grada-2.0*t1* t37*t39*t49*t54*t58*t6*grada-2.0*t1*t33*t39*t49*t58*t6*grada- 1.0*t1*t120*t37*t39*t49*t6*grada-1.0*t1*t103*t37*t39*t4*t49* t58*t6-5.039039717457796E-4*t1*t34*grada*t35*t59*t115*t73* t39+6.718719623277062E-4*t1*t34*grada*t35*t59*t58*t49*t54* t39-8.958292831036083E-4*t1*t34*grada*t35*t97*t58*t49*t39+ 3.359359811638531E-4*t1*t34*grada*t35*t59*t120*t49*t39+6.718719623277062E-4* t1*t34*grada*t35*t59*t58*t49*t33*t38*t39+2.666666666666667* t1*grada*t50*t58*t49*t37*t39+t189+t188+t187+t186+t185+t184+ t183+t182+t181+t180+t179+t178+t177+t176+t175+t174+t173+t172; d3fdrbrbgb = 1.5* t1*t115*t37*t39*t6*t73*gradb-2.0*t1*t37*t39*t49*t54*t58*t6* gradb-2.0*t1*t33*t39*t49*t58*t6*gradb-1.0*t1*t120*t37*t39* t49*t6*gradb-1.0*t1*t111*t37*t39*t4*t49*t58*t6-5.039039717457796E-4* t1*t34*gradb*t35*t59*t115*t73*t39+6.718719623277062E-4*t1* t34*gradb*t35*t59*t58*t49*t54*t39-8.958292831036083E-4*t1* t34*gradb*t35*t97*t58*t49*t39+3.359359811638531E-4*t1*t34* gradb*t35*t59*t120*t49*t39+6.718719623277062E-4*t1*t34*gradb* t35*t59*t58*t49*t33*t38*t39+2.666666666666667*t1*gradb*t50* t58*t49*t37*t39+t207+t206+t205+t204+t203+t202+t201+t200+t199+ t198+t197+t196+t195+t194+t193+t192+t191+t190; d3fdrbgaga = t259; d3fdrbgbgb = t132+t256+t131+t255+t254+t253+t252+t126+ t135+t124+t251+t250-2.257059668810414E-7*t1*t22*t3*t137*t58* t49*t38*t39+t249+t123+t122+t248+t134+0.00100780794349*t1*t34* t3*t102*t59*t58*t49*t39; d3fdgagaga = 1.354235801286248E-6*t1*t22*t260*t263*t137* t13*t38*t39+1.354235801286248E-6*t1*t22*grada*t137*t13*t38* t39-3.03291021754875E-10*t1*t261*t260*t102*t262*t13*t52*t39- 0.00604684766095*t1*t34*grada*t102*t59*t13*t39+0.00201561588698* t1*t34*t260*t231*t59*t13*t39; d3fdgagagb = 1.354235801286248E-6*t1*t22*t2*gradb*t263* t137*t13*t38*t39+t141-3.03291021754875E-10*t1*t261*t2*gradb* t102*t262*t13*t52*t39+t140+0.00201561588698*t1*t34*t2*gradb* t231*t59*t13*t39; d3fdgagbgb = 1.354235801286248E-6*t1*t22*grada*t3*t263* t137*t13*t38*t39+t139-3.03291021754875E-10*t1*t261*grada*t3* t102*t262*t13*t52*t39+t138+0.00201561588698*t1*t34*grada*t3* t231*t59*t13*t39; d3fdgbgbgb = 1.354235801286248E-6*t1*t22*t264*t263*t137* t13*t38*t39+1.354235801286248E-6*t1*t22*gradb*t137*t13*t38* t39-3.03291021754875E-10*t1*t261*t264*t102*t262*t13*t52*t39- 0.00604684766095*t1*t34*gradb*t102*t59*t13*t39+0.00201561588698* t1*t34*t264*t231*t59*t13*t39; ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df0010 += factor*dfdga; ds->df0001 += factor*dfdgb; ds->df00001+= factor*dfdgab; ds->df2000 += factor*d2fdrara; ds->df1100 += factor*d2fdrarb; ds->df1010 += factor*d2fdraga; ds->df1001 += factor*d2fdragb; ds->df0200 += factor*d2fdrbrb; ds->df10001+= factor*d2fdraab; ds->df01001+= factor*d2fdrbab; ds->df0020 += factor*d2fdgaga; ds->df0011 += factor*d2fdgagb; ds->df0002 += factor*d2fdgbgb; ds->df0110 += factor*d2fdrbga; ds->df0101 += factor*d2fdrbgb; ds->df2010 += factor*d3fdraraga; ds->df2001 += factor*d3fdraragb; ds->df1101 += factor*d3fdrarbgb; ds->df11001 += factor*d3fdrarbab; ds->df1020 += factor*d3fdragaga; ds->df1011 += factor*d3fdragagb; ds->df0111 += factor*d3fdrbgagb; ds->df1002 += factor*d3fdragbgb; ds->df3000 += factor*d3fdrarara; ds->df2100 += factor*d3fdrararb; ds->df20001 += factor*d3fdraraab; ds->df02001 += factor*d3fdrbrbab; ds->df1200 += factor*d3fdrarbrb; ds->df1110 += factor*d3fdrarbga; ds->df0300 += factor*d3fdrbrbrb; ds->df0210 += factor*d3fdrbrbga; ds->df0201 += factor*d3fdrbrbgb; ds->df0120 += factor*d3fdrbgaga; ds->df0102 += factor*d3fdrbgbgb; ds->df0030 += factor*d3fdgagaga; ds->df0021 += factor*d3fdgagagb; ds->df0012 += factor*d3fdgagbgb; ds->df0003 += factor*d3fdgbgbgb; } ergo-3.5/source/dft/fun-cam.c0000664000175000017500000013657212743400307013025 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file fun-cam.c General CAM functional. Often called a range-separated exchange method. Pawel Salek, 2004.06, Himmelbjerg - initial implementation. */ #include #include #include #include #include /* Needed for strncasecmp() */ #include #include #define __CVERSION__ #include "functionals.h" #define ELEMENTS(arr) (sizeof(arr)/sizeof(arr[0])) /* RGFirstDrv, RGSecondDrv and RGThirdDrv hold derivatives of a function * with respect to density R (R) and density gradient (G). * Field dfAB contains d^A/dR^a d^B/dG^B f. */ typedef struct { real df10, df01; } RGFirstDrv; typedef struct { real df10, df01, df20, df11, df02; } RGSecondDrv; typedef struct { real df10, df01, df20, df11, df02; real df30, df21, df12, df03; } RGThirdDrv; typedef struct { real df10, df01, df20, df11, df02; real df30, df21, df12, df03; real df40, df31, df22, df13, df04; } RGFourthDrv; /* INTERFACE PART */ #define THR 1e-40 static int camb3lyp_read(const char *conf_line); static void camb3lyp_report(void); static int cam_isgga(void) { return 1; } static int cam_read(const char *conf_line); static void cam_report(void); static real cam_energy(const FunDensProp* dp); static void cam_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp); static void cam_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp); static void cam_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp); static void cam_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dp); static int hse_read(const char *conf_line); Functional Camb3lypFunctional = { "Camb3lyp", /* name */ cam_isgga, /* gga-corrected */ camb3lyp_read, camb3lyp_report, cam_energy, cam_first, cam_second, cam_third, cam_fourth }; Functional CamFunctional = { "Cam", /* name */ cam_isgga, /* gga-corrected */ cam_read, cam_report, cam_energy, cam_first, cam_second, cam_third, cam_fourth }; Functional HseFunctional = { "HSE", /* name */ cam_isgga, /* gga-corrected */ hse_read, cam_report, cam_energy, cam_first, cam_second, cam_third, cam_fourth }; /* IMPLEMENTATION PART */ struct FunctionalList { Functional *func; ergo_real weight; struct FunctionalList *next; }; /** The module uses program-wide configuration. It uses following range separation of the HF exchange: HF_RS_Exch = (alpha + beta*erf(mu*r))*HF_exchange This means that the DFT exchange becomes: 1 - HF_RS_Exch */ static struct FunctionalList *exchangeFunctionals = NULL; static struct FunctionalList *correlationFunctionals = NULL; static real camAlpha = 0.0; static real camBeta = 0.0; static real camMu = 0.0; static struct FunctionalList* newFunc(Functional *f, real weight, struct FunctionalList *next) { struct FunctionalList *t = (struct FunctionalList*) malloc(sizeof(struct FunctionalList)); t->func = f; t->weight = weight; t->next = next; return t; } static void cam_free_config(void) { struct FunctionalList *fi, *t; for(fi=exchangeFunctionals; fi; fi = t) { t = fi->next; free(fi); } for(fi=correlationFunctionals; fi; fi = t) { t = fi->next; free(fi); } exchangeFunctionals = NULL; correlationFunctionals = NULL; } /* CAM-B3LYP part. */ static int parse_table(const char *func, const char *str, int cnt, const char *keywords[], double *weights) { int res=1; while(*str) { int i; while(*str && isspace((int)*str)) str++; /* skip whitespace */ if(*str =='\0') break; /* line ended by whitespace */ for(i=0; iname); if(strncasecmp(available_functionals[i]->name, str, len)==0 && str[len] == '=') { double weightTmp; if(sscanf(str+len+1,"%lf", &weightTmp) != 1) { fun_printf("CAM: %s not followed by a weight.", available_functionals[i]->name); return 0; } weight = weightTmp; *funcList = newFunc(available_functionals[i], weight, *funcList); break; } } if(!available_functionals[i]) { fun_printf("CAM: unknown functional: '%s'", str); return 0; } } while(*str && !isspace((int)*str)) str++; /* skip nonws */ } return 1; } static void cam_report(void) { struct FunctionalList *l; fun_printf("CAM functional with alpha=%5.3g beta=%5.3g mu=%5.3g", camAlpha, camBeta, camMu); fun_printf(" and exchange functionals and weights:"); for(l=exchangeFunctionals; l; l = l->next) fun_printf("%20s : %lg", l->func->name, l->weight); fun_printf(" and correlation functionals and weights:"); for(l=correlationFunctionals; l; l = l->next) fun_printf("%20s : %lg", l->func->name, l->weight); } static int hse_read(const char *conf_line) { /* HSE functional is defined as in J. Heyd, G.E. Scuseria and M. Ernzerhof, J. Chem. Phys. 118 (2003), p. 8207. The implementation is not fully tested and there is no regression test. H atom with 6-311++G(3df,3pd) basis set gives -0.50368291542. With HSE's erratum [J. Chem. Phys. 124 219906 (2006)]: -0.51377005236 With HSE's erratum and mu_HF:= mu_PBE/sqrt(2): -0.51020009241 */ return cam_read("p:alpha=0.25 p:beta=-0.25 p:mu=0.1890 c:pbec=1 x:pbex=1"); } /* =================================================================== * compute a and its derivatives. * =================================================================== */ /* consider usign M_2_SQRTPI defined as 2/sqrt(pi) */ #define SQRT_PI 1.77245385090552 static real fun_a(real rho, real ex) { real a = camMu*SQRT(-2.0*ex)/(6.0*SQRT_PI*rho); return a; } static void fun_a_first(real rho, real a, real ex, RGFirstDrv *fun1, RGFirstDrv *res) { memset(res, 0, sizeof(RGFirstDrv)); if(FABS(a)df10 = (fun1->df10/(2*ex)-1.0/rho)*a; res->df01 = fun1->df01/(2*ex)*a; } static void fun_a_second(real rho, real a, real ex, RGSecondDrv *f2, RGSecondDrv *res) { real f10, f20, f01; memset(res, 0, sizeof(RGSecondDrv)); if(FABS(a)df10/(2*ex)-1.0/rho; f20 = f2->df20/(2*ex) - f2->df10*f2->df10/(2*ex*ex) +1/(rho*rho); f01 = f2->df01/(2*ex); res->df10 = a*f10; res->df01 = a*f01; res->df20 = a*(f10*f10 + f20); res->df11 = a*(f10*f01 + f2->df11/(2*ex) - f2->df10*f2->df01/(2*ex*ex)); res->df02 = a*(f2->df02/(2*ex)-f2->df01*f2->df01/(4*ex*ex)); } static void fun_a_third(real rho, real a, real ex, RGThirdDrv *f3, RGThirdDrv *res) { real f10, f01, f20, f11, f02, f30, f21, f12, f03; memset(res, 0, sizeof(RGThirdDrv)); if(FABS(a)<1e-15 || FABS(ex)<1e-15) return; f10 = f3->df10/(2*ex)-1.0/rho; f01 = f3->df01/(2*ex); f20 = f3->df20/(2*ex) - f3->df10*f3->df10/(2*ex*ex) +1/(rho*rho); f11 = f3->df11/(2*ex) - f3->df10*f3->df01/(2*ex*ex); f02 = f3->df02/(2*ex) - f3->df01*f3->df01/(2*ex*ex); f30 = f3->df30/(2*ex) - 1.5*f3->df10*f3->df20/(ex*ex) + f3->df10*f3->df10*f3->df10/(ex*ex*ex) - 2/(rho*rho*rho); f21 = f3->df21/(2*ex) - f3->df20*f3->df01/(2*ex*ex) - 2*f3->df10*f3->df11/(2*ex*ex) + f3->df10*f3->df10*f3->df01/(ex*ex*ex); f12 = f3->df12/(2*ex) - 2*f3->df11*f3->df01/(2*ex*ex) - f3->df10*f3->df02/(2*ex*ex) + f3->df10*f3->df01*f3->df01/(ex*ex*ex); f03 = f3->df03/(2*ex) - 1.5*f3->df02*f3->df01/(ex*ex) + f3->df01*f3->df01*f3->df01/(ex*ex*ex); res->df10 = a*f10; res->df01 = a*f01; res->df20 = a*(f10*f10 + f20); res->df11 = a*(f10*f01 + f11); res->df02 = a*(f01*f01 + f02); /* terms will partially cancel out - think how to simplify them */ res->df30 = a*(f10*f10*f10 + 3*f10*f20 + f30); res->df21 = a*(f10*f10*f01 + f20*f01 + 2*f10*f11 + f21); res->df12 = a*(f10*f01*f01 + 2*f11*f01 + f10*f02 + f12); res->df03 = a*(f01*f01*f01 + 3*f01*f02 + f03); } /* optimized with help of maxima */ static void fun_a_fourth(real rho, real a, real ex, RGFourthDrv *f4, RGFourthDrv *res) { real f10, f01, f20, f11, f02, f30, f21, f12, f03, f40, f31, f22, f13, f04; memset(res, 0, sizeof(RGFourthDrv)); if(FABS(a)<1e-15 || FABS(ex)<1e-15) return; f10 = f4->df10/(2*ex)-1.0/rho; f01 = f4->df01/(2*ex); f20 = f4->df20/(2*ex) - f4->df10*f4->df10/(2*ex*ex) +1/(rho*rho); f11 = f4->df11/(2*ex) - f4->df10*f4->df01/(2*ex*ex); f02 = f4->df02/(2*ex) - f4->df01*f4->df01/(2*ex*ex); f30 = f4->df30/(2*ex) - 1.5*f4->df10*f4->df20/(ex*ex) + f4->df10*f4->df10*f4->df10/(ex*ex*ex) - 2/(rho*rho*rho); f21 = f4->df21/(2*ex) - f4->df20*f4->df01/(2*ex*ex) - 2*f4->df10*f4->df11/(2*ex*ex) + f4->df10*f4->df10*f4->df01/(ex*ex*ex); f12 = f4->df12/(2*ex) - f4->df11*f4->df01/(ex*ex) - f4->df10*f4->df02/(2*ex*ex) + f4->df10*f4->df01*f4->df01/(ex*ex*ex); f03 = f4->df03/(2*ex) - 1.5*f4->df02*f4->df01/(ex*ex) + f4->df01*f4->df01*f4->df01/(ex*ex*ex); f40 = f4->df40/(2*ex) - f4->df10*f4->df30/(2*ex*ex) - 1.5*f4->df20*f4->df20/(ex*ex) - 1.5*f4->df10*f4->df30/(ex*ex) + 3.0*f4->df10*f4->df10*f4->df30/(ex*ex*ex) + 3.0*f4->df20*f4->df10*f4->df10/(ex*ex*ex) - 3.0*f4->df10*f4->df10*f4->df10*f4->df10/(ex*ex*ex*ex) + 6.0/(rho*rho*rho*rho); f40 = f4->df40/(2*ex) - f4->df10*f4->df30/(2*ex*ex) - 1.5*f4->df20*f4->df20/(ex*ex) - 1.5*f4->df10*f4->df30/(ex*ex) + 3.0*f4->df10*f4->df10*f4->df20/(ex*ex*ex) + 3.0*f4->df20*f4->df10*f4->df10/(ex*ex*ex) - 3.0*f4->df10*f4->df10*f4->df10*f4->df10/(ex*ex*ex*ex) + 6.0/(rho*rho*rho*rho); f31 = f4->df31/(2*ex) - f4->df10*f4->df21/(2*ex*ex) - f4->df30 * f4->df01/(2*ex*ex) - f4->df20 * f4->df11/(2*ex*ex) + f4->df20 * f4->df01 * f4->df10/(ex*ex*ex) - 2*f4->df20 * f4->df11/(2*ex*ex) - 2*f4->df10 * f4->df21/(2*ex*ex) + 2*f4->df10 * f4->df10 * f4->df11/(ex*ex*ex) + 2*f4->df20 * f4->df10 * f4->df01/(ex*ex*ex) + f4->df10 * f4->df10 * f4->df11/(ex*ex*ex) - 3*f4->df10 * f4->df10 * f4->df10 * f4->df01/(ex*ex*ex*ex); f22 = f4->df22/(2*ex) - f4->df10*f4->df12/(2*ex*ex) - f4->df21*f4->df01/(ex*ex) - f4->df11*f4->df11/(ex*ex) + 2*f4->df10*f4->df11*f4->df01/(ex*ex*ex) - f4->df20*f4->df02/(2*ex*ex) - f4->df10*f4->df12/(2*ex*ex) + f4->df10*f4->df10*f4->df02/(ex*ex*ex) + f4->df20*f4->df01*f4->df01/(ex*ex*ex) + 2*f4->df10*f4->df01*f4->df11/(ex*ex*ex) - 3*f4->df10*f4->df10*f4->df01*f4->df01/(ex*ex*ex*ex); f13 = f4->df13/(2*ex) - f4->df10*f4->df03/(2*ex*ex) - 1.5*f4->df12*f4->df01/(ex*ex) - 1.5*f4->df02*f4->df11/(ex*ex) + 3.0*f4->df10*f4->df02*f4->df01/(ex*ex*ex) + 3*f4->df01*f4->df01*f4->df11/(ex*ex*ex) - 3*f4->df10*f4->df01*f4->df01*f4->df01/(ex*ex*ex*ex); f04 = f4->df04/(2*ex) - f4->df01*f4->df03/(2*ex*ex) - 1.5*f4->df03*f4->df01/(ex*ex) - 1.5*f4->df02*f4->df02/(ex*ex) + 3.0*f4->df01*f4->df01*f4->df02/(ex*ex*ex) + 3*f4->df01*f4->df01*f4->df02/(ex*ex*ex) - 3*f4->df01*f4->df01*f4->df01*f4->df01/(ex*ex*ex*ex); res->df10 = a*f10; res->df01 = a*f01; res->df20 = a*(f10*f10 + f20); res->df11 = a*(f10*f01 + f11); res->df02 = a*(f01*f01 + f02); /* See above.... */ res->df30 = a*(f10*f10*f10 + 3*f10*f20 + f30); res->df21 = a*(f10*f10*f01 + f20*f01 + 2*f10*f11 + f21); res->df12 = a*(f10*f01*f01 + 2*f11*f01 + f10*f02 + f12); res->df03 = a*(f01*f01*f01 + 3*f01*f02 + f03); res->df40 = a*(f10*f10*f10*f10 + 6*f10*f10*f20 + 3*f20*f20 + 4*f10*f30 + f40); res->df31 = a*(f10*f10*f10*f01 + 3*f10*f01*f20 + 3*f10*f10*f11 + 3*f20*f11 + 3*f10*f21 + f30*f01 + f31); res->df22 = a*(f10*f10*f01*f01 + f10*f10*f02 + f01*f01*f20 + f20*f02 + 4*f10*f01*f11 + 2*f11*f11 + 2*f10*f12 + 2*f01*f21 + f22); res->df13 = a*(f10*f01*f01*f01 + 3*f10*f01*f02 + 3*f01*f01*f11 + 3*f02*f11 + 3*f01*f12 + f10*f03 + f13); res->df04 = a*(f01*f01*f01*f01 + 6*f01*f01*f02 + 3*f02*f02 + 4*f01*f03 + f04); } /* =================================================================== * The expansion of the B-factor and its first derivative for small * values of a. * =================================================================== */ static real cam_b_energy_small(real a) { real res; a = 2*a; /* the expension derived for different a; correct for this. */ res = 1-4.0/3.0*SQRT_PI*a + 2 * a*a - 2.0/3.0*a*a*a*a; return 1-res; } static real cam_b_first_small(real a) { real res; a = 2*a; /* the expension derived for different a; correct for this. */ res = 4.0/3.0*(-SQRT_PI + 3 * a +(2*EXP(-1/(a*a)) - 2.0)*a*a*a); return 2*res; } /* =================================================================== * The expansion of the B factor and its first derivative for large * values of a. * =================================================================== */ #define MAX_LARGE_COEFS 5 static const real large_coefs[] = { 9, 60, 420, 3240, 27720 }; static real cam_b_energy_large(real a) { real res, ac, a2; int i; a = 2*a; /* the expension derived for different a; correct for this. */ a2 = a*a; res = 0; for(i=0, ac = a2; i=5) { static const real large_coefs[] = { 6, -48, 640, -11520 }; return evaluate_series(ELEMENTS(large_coefs), large_coefs, t1)/ (t1*t1); } t2 = 1/t1; t3 = EXP(-0.25*t2); t4 = POW(a,-3.0); t5 = t3-1.0; t6 = -t2*t3; t7 = -t3/a+0.5*t4*t3-4*a*t5; return -(8*a*(2*a*(t3/(4*POW(a,6.0))-2*t3*POW(a,-4.0)+t6-4*t5) -t3/(2*POW(a,5.0))+4*t7+2*t4*t3)/3.0 +16*(2.0*a*t7+2.0*(t3-2*t1*t5-1.5)+t6)/3.0); } static real cam_b_third_medium(real a) { real t1, t2, t3, t4, t5, t6, t7, t8; if(FABS(a)=5) { static const real large_coefs[] = { -1.5, 8, -80, 1152 }; real a2 = a*a; return evaluate_series(ELEMENTS(large_coefs), large_coefs, a2)/ (a2*a2*a); } t1 = POW(a,-2.0); t2 = EXP(-0.25*t1); t3 = POW(a,-6.0); t4 = POW(a,-4.0); t5 = POW(a,-5.0); t6 = t2-1; t7 = -t1*t2-2*t4*t2+t3*t2/4-4*t6; t8 = POW(a,-3.0); return -8* (a*(2*a*(t2/(8*POW(a,9.0))-5*t2/(2*POW(a,7.0))+15*t5*t2/2) -t2/(4*POW(a,8.0))+6*t7-6*t4*t2+7*t3*t2/2)/3 +(4*(-t2/a+t8*t2/2-4*a*t6)+2*a*t7+2*t8*t2-t5*t2/2)); } static real cam_b_fourth_medium(real a) { real t1, t2, t3, t4, t5, t6, t7, t8, t9, res; if(a < 0.05) return -256; if(a>=5) { static const real large_coefs[] = { 0.3, -8.0/7.0, 80.0/9.0, -1152.0/11.0 }; real a2 = a*a; return evaluate_series(ELEMENTS(large_coefs), large_coefs, a2)/ (a2*a2*a2); } t1 = POW(a,-2.0); t2 = EXP(-0.25*t1); #if 0 t3 = POW(a,-9.0); t4 = POW(a,-7.0); t5 = POW(a,-5.0); t6 = POW(a,-8.0); t7 = POW(a,-6.0); t8 = 15*t5*t2/2-5*t4*t2/2+t3*t2/8; t9 = POW(a,-4.0); return -8*a*(2.0*a*(t2/(16*POW(a,12.0))-19.0*t2/(8.0*POW(a,10.0)) -75*t7*t2/2+85*t6*t2*0.25)-t2/(8*POW(a,11.0)) +8*t8+24*t5*t2-24*t4*t2+15*0.25*t3*t2)/3.0 -32*(6*(-t1*t2-2*t9*t2+0.25*t7*t2-4.0*(t2-1))+2*a*t8-6*t9*t2 +7*t7*t2/2-t6*t2/4)/3; #else t3 = POW(a, -8.0); t4 = POW(a, -6.0); t5 = POW(a, -9.0); t6 = POW(a, -7.0); t7 = POW(a, -5.0); t8 = 7.5*t7*t2 - 2.5*t6*t2 + 0.125*t5*t2; t9 = POW(a, -4.0); res = -10.66666666666667* (-3.385137501286538*t9*t2*SQRT_PI +1.974663542417147*t4*t2*SQRT_PI -0.14104739588694*t3*t2*SQRT_PI +6.0*(-t1*t2-2.0*t9*t2+0.25*t4*t2 -4.0*(t2-1.0))+2.0*a*t8) -2.666666666666667*a* (13.54055000514615*t7*t2*SQRT_PI -13.54055000514615*t6*t2*SQRT_PI +2.115710938304086*t5*t2*SQRT_PI -0.07052369794347*t2*SQRT_PI*POW(a,-11.0)+8.0*t8 +2.0*a*(-37.5*t4*t2+21.25*t3*t2-2.375*t2*POW(a,-10.0) +0.0625*t2*POW(a,-12.0))); return res; #endif } #define FAC M_SQRT2 #define EVALUATOR(a,type) \ ((a<0.14) ? cam_b_ ## type ## _small(a) : \ ((a<4.25) ? cam_b_ ## type ## _medium(a) : \ cam_b_ ## type ## _large(a))) static real cam_energy_sigma(real rho, real ex) { real a = fun_a(rho, ex); real bfactor = EVALUATOR(a, energy); return ex*bfactor; } /* Exchange energy should be always negative. Some functionals like PBE are exteremely numerically sensitive and contributions that should given exactly 0 do no. In general we should implement such functionals more carefully. For now, we just stop if we detect a suspicious case. */ static const real ENERGY_THR = 1e-13; static real cam_energy(const FunDensProp *dp) { real res, ea, eb, ex; FunDensProp dsigma; struct FunctionalList *f; dsigma.rhoa = dsigma.rhob = dp->rhoa; dsigma.grada = dsigma.gradb = dp->grada; dsigma.gradab = dsigma.grada*dsigma.gradb; for(ex = 0.0, f=exchangeFunctionals; f; f = f->next) ex += 0.5 * f->func->func(&dsigma) * f->weight; if(ex>0) { assert(ex < ENERGY_THR); return 0.0; } ea = ex*(1-camAlpha) - camBeta * cam_energy_sigma(dp->rhoa, ex); if(FABS(dp->rhoa-dp->rhob)>THR || FABS(dp->grada-dp->gradb)>THR) { dsigma.rhoa = dsigma.rhob = dp->rhob; dsigma.grada = dsigma.gradb = dp->gradb; dsigma.gradab = dsigma.grada*dsigma.gradb; for(ex = 0.0, f=exchangeFunctionals; f; f = f->next) ex += 0.5 * f->func->func(&dsigma) * f->weight; if(ex>0) { assert(ex < ENERGY_THR); return 0.0; } eb = ex*(1-camAlpha) - camBeta * cam_energy_sigma(dp->rhob, ex); } else eb = ea; res = ea + eb; for(f=correlationFunctionals; f; f = f->next) res += f->func->func(dp) * f->weight; return res; } static void cam_first_sigma(real rho, real ex, RGFirstDrv *ds, RGFirstDrv *res) { real a = fun_a(rho, ex); real bfactor = -camBeta*EVALUATOR(a, energy); real bfactor_first = camBeta*EVALUATOR(a, first); RGFirstDrv ader; fun_a_first(rho, a, ex, ds, &ader); res->df10 = ds->df10*bfactor + ex*bfactor_first*ader.df10; res->df01 = ds->df01*bfactor + ex*bfactor_first*ader.df01; } static void cam_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp) { RGFirstDrv res, dfun; FunDensProp dsigma; real ex, weight_lr = 1-camAlpha; FunFirstFuncDrv fun1; struct FunctionalList *f; dsigma.rhoa = dsigma.rhob = dp->rhoa; dsigma.grada = dsigma.gradb = dp->grada; dsigma.gradab = dsigma.grada*dsigma.gradb; memset(&fun1, 0, sizeof(fun1)); for(ex = 0.0, f=exchangeFunctionals; f; f = f->next) { ex += 0.5 * f->func->func(&dsigma) * f->weight; f->func->first(&fun1, f->weight, dp); } if(ex>0) { assert(ex < ENERGY_THR); return; } dfun.df10 = fun1.df1000; dfun.df01 = fun1.df0010; cam_first_sigma(dp->rhoa, ex, &dfun, &res); ds->df1000 += factor*(weight_lr*dfun.df10 + res.df10); ds->df0010 += factor*(weight_lr*dfun.df01 + res.df01); if(dp->rhob>10e-13) { if(FABS(dp->rhoa-dp->rhob)>THR || FABS(dp->grada-dp->gradb)>THR) { dsigma.rhoa = dsigma.rhob = dp->rhob; dsigma.grada = dsigma.gradb = dp->gradb; dsigma.gradab = dsigma.grada*dsigma.gradb; for(ex = 0.0, f=exchangeFunctionals; f; f = f->next) ex += 0.5 * f->func->func(&dsigma) * f->weight; dfun.df10 = fun1.df0100; dfun.df01 = fun1.df0001; if(ex>0) { assert(ex < ENERGY_THR); return; } cam_first_sigma(dp->rhob, ex, &dfun, &res); } ds->df0100 += factor*(weight_lr*dfun.df10 + res.df10); ds->df0001 += factor*(weight_lr*dfun.df01 + res.df01); } for(f=correlationFunctionals; f; f = f->next) f->func->first(ds, f->weight * factor, dp); } static void cam_second_sigma(real rho, real ex, RGSecondDrv *f2, RGSecondDrv *res) { real bfactor, b_first, b_second; RGSecondDrv ader; real a; if(rho<1e-13) { res->df10 = res->df01 = 0; res->df20 = res->df11 = res->df02 = 0; return; } a = fun_a(rho, ex); bfactor = -camBeta*EVALUATOR(a, energy); b_first = camBeta*EVALUATOR(a, first); b_second = camBeta*cam_b_second_medium(a); fun_a_second(rho, a, ex, f2, &ader); res->df10 = f2->df10*bfactor + ex*b_first*ader.df10; res->df01 = f2->df01*bfactor + ex*b_first*ader.df01; res->df20 = f2->df20*bfactor + 2*f2->df10*b_first*ader.df10 + ex*b_second*ader.df10*ader.df10 + ex*b_first*ader.df20; res->df11 = f2->df11*bfactor + f2->df10*b_first*ader.df01 + f2->df01*b_first*ader.df10 + ex*b_second*ader.df10*ader.df01 + ex*b_first*ader.df11; res->df02 = f2->df02*bfactor + 2*f2->df01*b_first*ader.df01 + ex*b_second*ader.df01*ader.df01 + ex*b_first*ader.df02; } static void cam_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { FunSecondFuncDrv f2; RGSecondDrv res, dfun; FunDensProp dsigma; real ex, weight_lr = 1-camAlpha; struct FunctionalList *f; dsigma.rhoa = dsigma.rhob = dp->rhoa; dsigma.grada = dsigma.gradb = dp->grada; dsigma.gradab = dsigma.grada*dsigma.gradb; memset(&f2, 0, sizeof(f2)); for(ex = 0.0, f=exchangeFunctionals; f; f = f->next) { ex += 0.5 * f->func->func(&dsigma) * f->weight; f->func->second(&f2, f->weight, dp); } if(ex>0) { assert(ex < ENERGY_THR); return; } dfun.df10 = f2.df1000; dfun.df20 = f2.df2000; dfun.df01 = f2.df0010; dfun.df02 = f2.df0020; dfun.df11 = f2.df1010; cam_second_sigma(dp->rhoa, ex, &dfun, &res); ds->df1000 += factor*(weight_lr*dfun.df10 + res.df10); ds->df0010 += factor*(weight_lr*dfun.df01 + res.df01); ds->df2000 += factor*(weight_lr*dfun.df20 + res.df20); ds->df1010 += factor*(weight_lr*dfun.df11 + res.df11); ds->df0020 += factor*(weight_lr*dfun.df02 + res.df02); if(FABS(dp->rhoa-dp->rhob)>THR || FABS(dp->grada-dp->gradb)>THR) { dsigma.rhoa = dsigma.rhob = dp->rhob; dsigma.grada = dsigma.gradb = dp->gradb; dsigma.gradab = dsigma.grada*dsigma.gradb; for(ex = 0.0, f=exchangeFunctionals; f; f = f->next) ex += 0.5 * f->func->func(&dsigma) * f->weight; if(ex>0) { assert(ex < ENERGY_THR); return; } dfun.df10 = f2.df0100; dfun.df20 = f2.df0200; dfun.df01 = f2.df0001; dfun.df02 = f2.df0002; dfun.df11 = f2.df0101; cam_second_sigma(dp->rhob, ex, &dfun, &res); } ds->df0100 += factor*(weight_lr*dfun.df10 + res.df10); ds->df0001 += factor*(weight_lr*dfun.df01 + res.df01); ds->df0200 += factor*(weight_lr*dfun.df20 + res.df20); ds->df0101 += factor*(weight_lr*dfun.df11 + res.df11); ds->df0002 += factor*(weight_lr*dfun.df02 + res.df02); for(f=correlationFunctionals; f; f = f->next) f->func->second(ds, f->weight * factor, dp); } /* =================================================================== Third order derivatives specific code. =================================================================== */ static void cam_third_sigma(real rho, real ex, RGThirdDrv *f3, RGThirdDrv *res) { real bfactor, b_first, b_second, b_third, a; RGThirdDrv ader; a = fun_a(rho, ex); bfactor = -camBeta*EVALUATOR(a, energy); b_first = camBeta*EVALUATOR(a, first); b_second = camBeta*cam_b_second_medium(a); b_third = camBeta*cam_b_third_medium(a); fun_a_third(rho, a, ex, f3, &ader); res->df10 = f3->df10*bfactor + ex*b_first*ader.df10; res->df01 = f3->df01*bfactor + ex*b_first*ader.df01; res->df20 = f3->df20*bfactor + 2*f3->df10*b_first*ader.df10 + ex*b_second*ader.df10*ader.df10 + ex*b_first*ader.df20; res->df11 = f3->df11*bfactor + f3->df10*b_first*ader.df01 + f3->df01*b_first*ader.df10 + ex*b_second*ader.df10*ader.df01 + ex*b_first*ader.df11; res->df02 = f3->df02*bfactor + 2*f3->df01*b_first*ader.df01 + ex*b_second*ader.df01*ader.df01 + ex*b_first*ader.df02; res->df30 = f3->df30*bfactor + 3*f3->df20*b_first*ader.df10 + 3*f3->df10*b_second*ader.df10*ader.df10 + 3*f3->df10*b_first *ader.df20 + 3*ex*b_second*ader.df10*ader.df20 + ex*b_third*ader.df10*ader.df10*ader.df10 + ex*b_first*ader.df30; res->df21 = f3->df21*bfactor + ex*b_first*ader.df21 + ex*b_third*ader.df10*ader.df10*ader.df01 + b_first*(f3->df20*ader.df01 + f3->df01*ader.df20 + 2*f3->df11*ader.df10 + 2*f3->df10*ader.df11) + b_second*(ex*ader.df20*ader.df01 + f3->df01*ader.df10*ader.df10 + 2*ex*ader.df10*ader.df11 + 2*f3->df10*ader.df10*ader.df01); res->df12 = f3->df12*bfactor + ex*b_first*ader.df12 + ex*b_third*ader.df10*ader.df01*ader.df01 + b_first*(f3->df02*ader.df10 + f3->df10*ader.df02 + 2*f3->df11*ader.df01 + 2*f3->df01*ader.df11) + b_second*(ex*ader.df10*ader.df02 + f3->df10*ader.df01*ader.df01 + 2*ex*ader.df01*ader.df11 + 2*f3->df01*ader.df10*ader.df01); res->df03 = f3->df03*bfactor + 3*f3->df02*b_first*ader.df01 + 3*f3->df01*b_second*ader.df01*ader.df01 + 3*f3->df01*b_first *ader.df02 + 3*ex*b_second*ader.df01*ader.df02 + ex*b_third*ader.df01*ader.df01*ader.df01 + ex*b_first*ader.df03; } static void cam_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { FunThirdFuncDrv f3; RGThirdDrv res, dfun; FunDensProp dsigma; real ex, weight_lr = 1-camAlpha; struct FunctionalList *f; dsigma.rhoa = dsigma.rhob = dp->rhoa; dsigma.grada = dsigma.gradb = dp->grada; dsigma.gradab = dsigma.grada*dsigma.gradb; memset(&f3, 0, sizeof(f3)); for(ex = 0.0, f=exchangeFunctionals; f; f = f->next) { ex += 0.5 * f->func->func(&dsigma) * f->weight; f->func->third(&f3, f->weight, dp); } if(ex>0) { assert(ex < ENERGY_THR); return; } dfun.df10 = f3.df1000; dfun.df20 = f3.df2000; dfun.df30 = f3.df3000; dfun.df01 = f3.df0010; dfun.df02 = f3.df0020; dfun.df03 = f3.df0030; dfun.df11 = f3.df1010; dfun.df21 = f3.df2010; dfun.df12 = f3.df1020; cam_third_sigma(dp->rhoa, ex, &dfun, &res); ds->df1000 += factor*(weight_lr*dfun.df10 + res.df10); ds->df0010 += factor*(weight_lr*dfun.df01 + res.df01); ds->df2000 += factor*(weight_lr*dfun.df20 + res.df20); ds->df1010 += factor*(weight_lr*dfun.df11 + res.df11); ds->df0020 += factor*(weight_lr*dfun.df02 + res.df02); ds->df3000 += factor*(weight_lr*dfun.df30 + res.df30); ds->df2010 += factor*(weight_lr*dfun.df21 + res.df21); ds->df1020 += factor*(weight_lr*dfun.df12 + res.df12); ds->df0030 += factor*(weight_lr*dfun.df03 + res.df03); if(FABS(dp->rhoa-dp->rhob)>THR || FABS(dp->grada-dp->gradb)>THR) { dsigma.rhoa = dsigma.rhob = dp->rhob; dsigma.grada = dsigma.gradb = dp->gradb; dsigma.gradab = dsigma.grada*dsigma.gradb; for(ex = 0.0, f=exchangeFunctionals; f; f = f->next) ex += 0.5 * f->func->func(&dsigma) * f->weight; if(ex>0) { assert(ex < ENERGY_THR); return; } dfun.df10 = f3.df0100; dfun.df20 = f3.df0200; dfun.df30 = f3.df0300; dfun.df01 = f3.df0001; dfun.df02 = f3.df0002; dfun.df03 = f3.df0003; dfun.df11 = f3.df0101; dfun.df21 = f3.df0201; dfun.df12 = f3.df0102; cam_third_sigma(dp->rhob, ex, &dfun, &res); } ds->df0100 += factor*(weight_lr*dfun.df10 + res.df10); ds->df0001 += factor*(weight_lr*dfun.df01 + res.df01); ds->df0200 += factor*(weight_lr*dfun.df20 + res.df20); ds->df0101 += factor*(weight_lr*dfun.df11 + res.df11); ds->df0002 += factor*(weight_lr*dfun.df02 + res.df02); ds->df0300 += factor*(weight_lr*dfun.df30 + res.df30); ds->df0201 += factor*(weight_lr*dfun.df21 + res.df21); ds->df0102 += factor*(weight_lr*dfun.df12 + res.df12); ds->df0003 += factor*(weight_lr*dfun.df03 + res.df03); for(f=correlationFunctionals; f; f = f->next) f->func->third(ds, f->weight * factor, dp); } /* =================================================================== Fourth order derivatives specific code. Following maxima code used to generate the expressions: load("pdiff"); display2d: false;f(r,g):=e(r,g)*b(a(r,g)); optimize([diff(f(r,g),r),diff(f(r,g),g), diff(f(r,g),r,2),diff(f(r,g),r,1,g,1),diff(f(r,g),g,2), diff(f(r,g),r,3), diff(f(r,g),r,2,g,1),diff(f(r,g),r,1,g,2), diff(f(r,g),g,3), diff(f(r,g),r,4), diff(f(r,g),r,3,g,1),diff(f(r,g),r,2,g,2), diff(f(r,g),r,1,g,3),diff(f(r,g),g,4)]); =================================================================== */ static void cam_fourth_sigma(real rho, real ex, RGFourthDrv *f4, RGFourthDrv *res) { real bfactor, b_first, b_second, b_third, b_fourth, a_; real a10_2, a01_2, a10_3, a01_3, a10_4, a20_2; RGFourthDrv a; a_ = fun_a(rho, ex); bfactor = -camBeta*EVALUATOR(a_, energy); b_first = camBeta*EVALUATOR(a_, first); b_second = camBeta*cam_b_second_medium(a_); b_third = camBeta*cam_b_third_medium(a_); b_fourth = camBeta*cam_b_fourth_medium(a_); fun_a_fourth(rho, a_, ex, f4, &a); a10_2 = a.df10*a.df10; a01_2 = a.df01*a.df01; a10_3 = a10_2*a.df10; a01_3 = a01_2*a.df01; a10_4 = a10_3*a.df10; a20_2 = a.df20*a.df20; res->df10 = a.df10*ex*b_first+f4->df10*bfactor; res->df01 = a.df01*ex*b_first+f4->df01*bfactor; res->df20 = a10_2*ex*b_second+2*a.df10*f4->df10*b_first +a.df20*ex*b_first+f4->df20*bfactor; res->df11 = a.df01*a.df10*ex*b_second+a.df01*f4->df10*b_first +a.df10*f4->df01*b_first+a.df11*ex*b_first+f4->df11*bfactor; res->df02 = a01_2*ex*b_second+2*a.df01*f4->df01*b_first +a.df02*ex*b_first+f4->df02*bfactor; res->df30 = a10_3*ex*b_third+3*a10_2*f4->df10*b_second +3*a.df10*a.df20*ex*b_second+3*a.df10*f4->df20*b_first +3*a.df20*f4->df10*b_first+a.df30*ex*b_first+f4->df30*bfactor; res->df21 = a.df01*a10_2*ex*b_third+2*a.df01*a.df10*f4->df10*b_second +a10_2*f4->df01*b_second+a.df01*a.df20*ex*b_second +2*a.df10*a.df11*ex*b_second+a.df01*f4->df20*b_first +2*a.df10*f4->df11*b_first+2*a.df11*f4->df10*b_first +a.df20*f4->df01*b_first+a.df21*ex*b_first+f4->df21*bfactor; res->df12 = a01_2*a.df10*ex*b_third+a01_2*f4->df10*b_second +2*a.df01*a.df10*f4->df01*b_second+2*a.df01*a.df11*ex*b_second +a.df02*a.df10*ex*b_second+2*a.df01*f4->df11*b_first +a.df02*f4->df10*b_first+a.df10*f4->df02*b_first +2*a.df11*f4->df01*b_first+a.df12*ex*b_first+f4->df12*bfactor; res->df03 = a01_3*ex*b_third+3*a01_2*f4->df01*b_second +3*a.df01*a.df02*ex*b_second+3*a.df01*f4->df02*b_first +3*a.df02*f4->df01*b_first+a.df03*ex*b_first+f4->df03*bfactor; res->df40 = a10_4*ex*b_fourth+4*a10_3*f4->df10*b_third +6*a10_2*a.df20*ex*b_third+6*a10_2*f4->df20*b_second +12*a.df10*a.df20*f4->df10*b_second+4*a.df10*a.df30*ex*b_second +3*a20_2*ex*b_second+4*a.df10*f4->df30*b_first +6*a.df20*f4->df20*b_first+4*a.df30*f4->df10*b_first +a.df40*ex*b_first+f4->df40*bfactor; res->df31 = a.df01*a10_3*ex*b_fourth+3*a.df01*a10_2*f4->df10*b_third +a10_3*f4->df01*b_third+3*a.df01*a.df10*a.df20*ex*b_third +3*a10_2*a.df11*ex*b_third+3*a.df01*a.df10*f4->df20*b_second +3*a10_2*f4->df11*b_second+3*a.df01*a.df20*f4->df10*b_second +6*a.df10*a.df11*f4->df10*b_second+3*a.df10*a.df20*f4->df01*b_second +a.df01*a.df30*ex*b_second+3*a.df10*a.df21*ex*b_second +3*a.df11*a.df20*ex*b_second+a.df01*f4->df30*b_first +3*a.df10*f4->df21*b_first+3*a.df11*f4->df20*b_first +3*a.df20*f4->df11*b_first+3*a.df21*f4->df10*b_first +a.df30*f4->df01*b_first+a.df31*ex*b_first+f4->df31*bfactor; res->df22 = a01_2*a10_2*ex*b_fourth+2*a01_2*a.df10*f4->df10*b_third +2*a.df01*a10_2*f4->df01*b_third+a01_2*a.df20*ex*b_third +4*a.df01*a.df10*a.df11*ex*b_third+a.df02*a10_2*ex*b_third +a01_2*f4->df20*b_second+4*a.df01*a.df10*f4->df11*b_second +4*a.df01*a.df11*f4->df10*b_second+2*a.df02*a.df10*f4->df10*b_second +a10_2*f4->df02*b_second+2*a.df01*a.df20*f4->df01*b_second +4*a.df10*a.df11*f4->df01*b_second+2*a.df01*a.df21*ex*b_second +a.df02*a.df20*ex*b_second+2*a.df10*a.df12*ex*b_second +2*a.df11*a.df11*ex*b_second+2*a.df01*f4->df21*b_first +a.df02*f4->df20*b_first+2*a.df10*f4->df12*b_first +4*a.df11*f4->df11*b_first+2*a.df12*f4->df10*b_first +a.df20*f4->df02*b_first+2*a.df21*f4->df01*b_first+a.df22*ex*b_first +f4->df22*bfactor; res->df13 = a01_3*a.df10*ex*b_fourth+a01_3*f4->df10*b_third +3*a01_2*a.df10*f4->df01*b_third+3*a01_2*a.df11*ex*b_third +3*a.df01*a.df02*a.df10*ex*b_third+3*a01_2*f4->df11*b_second +3*a.df01*a.df02*f4->df10*b_second+3*a.df01*a.df10*f4->df02*b_second +6*a.df01*a.df11*f4->df01*b_second+3*a.df02*a.df10*f4->df01*b_second +3*a.df01*a.df12*ex*b_second+3*a.df02*a.df11*ex*b_second +a.df03*a.df10*ex*b_second+3*a.df01*f4->df12*b_first +3*a.df02*f4->df11*b_first+a.df03*f4->df10*b_first +a.df10*f4->df03*b_first+3*a.df11*f4->df02*b_first +3*a.df12*f4->df01*b_first+a.df13*ex*b_first+f4->df13*bfactor; res->df04 = a01_3*a.df01*ex*b_fourth+4*a01_3*f4->df01*b_third +6*a01_2*a.df02*ex*b_third+6*a01_2*f4->df02*b_second +12*a.df01*a.df02*f4->df01*b_second+4*a.df01*a.df03*ex*b_second +3*a.df02*a.df02*ex*b_second+4*a.df01*f4->df03*b_first +6*a.df02*f4->df02*b_first+4*a.df03*f4->df01*b_first +a.df04*ex*b_first+f4->df04*bfactor; } static void cam_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dp) { FunFourthFuncDrv f4; RGFourthDrv res, dfun; FunDensProp dsigma; real ex, weight_lr = 1-camAlpha; struct FunctionalList *f; dsigma.rhoa = dsigma.rhob = dp->rhoa; dsigma.grada = dsigma.gradb = dp->grada; dsigma.gradab = dsigma.grada*dsigma.gradb; memset(&f4, 0, sizeof(f4)); for(ex = 0.0, f=exchangeFunctionals; f; f = f->next) { ex += 0.5 * f->func->func(&dsigma) * f->weight; f->func->fourth(&f4, f->weight, dp); } if(ex>0) { assert(ex < ENERGY_THR); return; } dfun.df10 = f4.df1000; dfun.df20 = f4.df2000; dfun.df30 = f4.df3000; dfun.df01 = f4.df0010; dfun.df02 = f4.df0020; dfun.df03 = f4.df0030; dfun.df11 = f4.df1010; dfun.df21 = f4.df2010; dfun.df12 = f4.df1020; dfun.df40 = f4.df4000; dfun.df31 = f4.df3010; dfun.df22 = f4.df2020; dfun.df13 = f4.df1030; dfun.df04 = f4.df0040; cam_fourth_sigma(dp->rhoa, ex, &dfun, &res); ds->df1000 += factor*(weight_lr*dfun.df10 + res.df10); ds->df0010 += factor*(weight_lr*dfun.df01 + res.df01); ds->df2000 += factor*(weight_lr*dfun.df20 + res.df20); ds->df1010 += factor*(weight_lr*dfun.df11 + res.df11); ds->df0020 += factor*(weight_lr*dfun.df02 + res.df02); ds->df3000 += factor*(weight_lr*dfun.df30 + res.df30); ds->df2010 += factor*(weight_lr*dfun.df21 + res.df21); ds->df1020 += factor*(weight_lr*dfun.df12 + res.df12); ds->df0030 += factor*(weight_lr*dfun.df03 + res.df03); ds->df4000 += factor*(weight_lr*dfun.df40 + res.df40); ds->df3010 += factor*(weight_lr*dfun.df31 + res.df31); ds->df2020 += factor*(weight_lr*dfun.df22 + res.df22); ds->df1030 += factor*(weight_lr*dfun.df13 + res.df13); ds->df0040 += factor*(weight_lr*dfun.df04 + res.df04); if(FABS(dp->rhoa-dp->rhob)>THR || FABS(dp->grada-dp->gradb)>THR) { dsigma.rhoa = dsigma.rhob = dp->rhob; dsigma.grada = dsigma.gradb = dp->gradb; dsigma.gradab = dsigma.grada*dsigma.gradb; for(ex = 0.0, f=exchangeFunctionals; f; f = f->next) ex += 0.5 * f->func->func(&dsigma) * f->weight; if(ex>0) { assert(ex < ENERGY_THR); return; } dfun.df10 = f4.df0100; dfun.df20 = f4.df0200; dfun.df30 = f4.df0300; dfun.df01 = f4.df0001; dfun.df02 = f4.df0002; dfun.df03 = f4.df0003; dfun.df11 = f4.df0101; dfun.df21 = f4.df0201; dfun.df12 = f4.df0102; dfun.df40 = f4.df0400; dfun.df31 = f4.df0301; dfun.df22 = f4.df0202; dfun.df13 = f4.df0103; dfun.df04 = f4.df0004; cam_fourth_sigma(dp->rhob, ex, &dfun, &res); } ds->df0100 += factor*(weight_lr*dfun.df10 + res.df10); ds->df0001 += factor*(weight_lr*dfun.df01 + res.df01); ds->df0200 += factor*(weight_lr*dfun.df20 + res.df20); ds->df0101 += factor*(weight_lr*dfun.df11 + res.df11); ds->df0002 += factor*(weight_lr*dfun.df02 + res.df02); ds->df0300 += factor*(weight_lr*dfun.df30 + res.df30); ds->df0201 += factor*(weight_lr*dfun.df21 + res.df21); ds->df0102 += factor*(weight_lr*dfun.df12 + res.df12); ds->df0003 += factor*(weight_lr*dfun.df03 + res.df03); ds->df0400 += factor*(weight_lr*dfun.df40 + res.df40); ds->df0301 += factor*(weight_lr*dfun.df31 + res.df31); ds->df0202 += factor*(weight_lr*dfun.df22 + res.df22); ds->df0103 += factor*(weight_lr*dfun.df13 + res.df13); ds->df0004 += factor*(weight_lr*dfun.df04 + res.df04); for(f=correlationFunctionals; f; f = f->next) f->func->fourth(ds, f->weight * factor, dp); } int fun_get_cam_param(real *alpha, real *beta, real *mu) { if(selected_func == &CamFunctional || selected_func == &Camb3lypFunctional || selected_func == &HseFunctional) { *alpha = camAlpha; *beta = camBeta; /* Yes, HSE functional is inconsistently defined! */ *mu = selected_func == &HseFunctional ? camMu/M_SQRT2 : camMu; return 1; } else { *alpha = 0; *beta = 0; *mu = 0; return 0; } } /* =================================================================== TEST CODE =================================================================== */ #ifdef TEST #include #include int main(int argc, char *argv[]) { FunDensProp dp; RGFirstDrv fa; real a, bfactor, bfactor_first, bfactor_second; if(argc<4) { printf("rhoa grada mu\n"); return 1;} dp.rhoa = dp.rhob = atof(argv[1]); dp.grada = dp.gradb = atof(argv[2]); CamMuFactor = atof(argv[3]); CamAlpha = 0.19; CamBeta = 0.46; printf("mu=%f: energy(%g,%g) = %g\n", CamMuFactor, dp.rhoa*2, dp.grada*2, cam_energy(&dp)); fun_a_first(1,1,&fa); printf("fun a derivatives: %g %g\n", fa.df10, fa.df01); for(a=0.1; a<10; a += 0.1) { bfactor_first = cam_b_second_medium(a*FAC);/* EVALUATOR(a, second); */ real b1 = EVALUATOR((a+1e-6), first); real b2 = EVALUATOR((a-1e-6), first); printf("%20.15g %20.15g %20.15g %20.15g\n", a, bfactor, bfactor_first*FAC, (b1-b2)/2e-6); } return 1; } void dftsethf_(real* s) {} void dftsetcam_(real* s, real *b) {} void fun_printf(const char *fmt, ...){} #endif ergo-3.5/source/dft/cubature_rules.h0000664000175000017500000000324612743400307014517 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef DFT_CUBATURE_RULES_HEADER #define DFT_CUBATURE_RULES_HEADER #include "realtype.h" typedef ergo_real real; const int NO_OF_DIMENSIONS = 3; /* Must be 3, really. */ struct BoxStruct_{ real min[NO_OF_DIMENSIONS]; /* xmin, ymin, zmin */ real max[NO_OF_DIMENSIONS]; /* xmax, ymax, zmax */ }; typedef struct BoxStruct_ BoxStruct; int use_cubature_rule(int maxlen, real (*coor)[3], real *weight, BoxStruct* box, int ruleNumber); #endif ergo-3.5/source/dft/lebedev_laikov.h0000664000175000017500000000520512743400307014443 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #if !defined(_LEBEDEV_LAIKOV_H_) #define _LEBEDEV_LAIKOV_H_ 1 /** @file lebedev_laikov.h Headers of lebedev_laikov.c. Based on V.I. Lebedev, and D.N. Laikov "A quadrature formula for the sphere of the 131st algebraic order of accuracy" Doklady Mathematics, Vol. 59, No. 3, 1999, pp. 477-481. */ #include "realtype.h" typedef ergo_real real; #if defined(__cplusplus) extern "C" { #endif /** ** ll_npoint returns number of angular grid points for given L-angular ** polynomial integration accuracy. ** ** @param lvalue : grid complete through this value of angular momentum ** quantum number l. ** ** @return value : number of points in sought Lebedev-Laikov grid. ** */ int ll_npoint(int lvalue); /** ll_order returns order of the smallest angular grid that has at least that many grid points as specified. */ int ll_order(int npoint); /** ll_sphere fills in arrays X, Y, Z and W with the cartesian coordinates and weights of the grid points. @param N one of the possible values returned by ll_npoint(). @param X x cartesian coordinates of the grid points. @param Y y cartesian coordinates of the grid points. @param Z z cartesian coordinates of the grid points. @param W associated weights. @return number of actually generated points (0 for unknown value of N). */ int ll_sphere(int N, real *X, real *Y, real *Z, real *W); #if defined(__cplusplus) } #endif #endif /* _LEBEDEV_LAIKOV_H_ */ ergo-3.5/source/dft/fun-vwn.c0000664000175000017500000011104112743400307013057 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* -*-mode:c; c-style:bsd; c-basic-offset:4;indent-tabs-mode:nil; -*- */ /** @file fun-vwn.c implementation of VWN functional and its derivatives. (c), Pawel Salek, pawsa@theochem.kth.se, sep 2001, nov 2002 */ #include #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int vwn_isgga(void) { return 0; } static int vwn_read(const char* conf_line); static real vwn3_energy(const FunDensProp* dp); static void vwn3_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp); static void vwn3_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp); static void vwn3_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp); static real vwn_energy(const FunDensProp* dp); static void vwn_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp); static void vwn_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp); static void vwn_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp); static void vwn_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dp); static real vwni_energy(const FunDensProp* dp); static void vwni_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp); static void vwni_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp); static void vwni_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp); static real vwn3i_energy(const FunDensProp* dp); static void vwn3i_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp); static void vwn3i_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp); static void vwn3i_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp); /* VWN3 is a Gaussian version of the VWN functional based on suboptimal * set of parameters */ Functional VWN3Functional = { "VWN3", /* name */ vwn_isgga, /* gga-corrected */ vwn_read, /* no extra input expected, just set the common block */ NULL, vwn3_energy, vwn3_first, vwn3_second, vwn3_third }; Functional VWN5Functional = { "VWN5", /* name */ vwn_isgga, /* gga-corrected */ vwn_read, /* no extra input expected, just set the common block */ NULL, vwn_energy, vwn_first, vwn_second, vwn_third, vwn_fourth }; /* VWN is used for backward compatibility only */ Functional VWNFunctional = { "VWN", /* name */ vwn_isgga, /* gga-corrected */ vwn_read, /* no extra input expected, just set the common block */ NULL, vwn_energy, vwn_first, vwn_second, vwn_third, vwn_fourth }; /* VWNIFunctional is a variant of VWN5 functional with another spin polarization dependence: F(r,zeta) = (E_p + f(zeta)*(E_f - E_p))*rho */ Functional VWNIFunctional = { "VWNI", /* name */ vwn_isgga, /* gga-corrected */ vwn_read, /* no extra input expected, just set the common block */ NULL, vwni_energy, vwni_first, vwni_second, vwni_third }; /* VWN3IFunctional is a variant of VWN3 functional with another spin polarization dependence: F(r,zeta) = (E_p + f(zeta)*(E_f - E_p))*rho */ Functional VWN3IFunctional = { "VWN3I", /* name */ vwn_isgga, /* gga-corrected */ vwn_read, /* no extra input expected, just set the common block */ NULL, vwn3i_energy, vwn3i_first, vwn3i_second, vwn3i_third }; /* IMPLEMENTATION PART */ #define VWN_ZERO 1e-35 static int vwn_read(const char* conf_line) { fun_set_hf_weight(0); return 1; } /* vwn_params contains two sets of parameters for paramagnetic and ferromagnetic cases. See Table 5 in VWN paper. */ static const struct vwn_params { real X0, A, B, C; } vwn_paramagnetic = { -0.1049800, 0.0621814, 3.72744, 12.9352 }, vwn_ferromagnetic = { -0.3250000, 0.0310907, 7.06042, 18.0578 }, vwn_interp = { -0.0047584,-0.0337737, 1.13107, 13.0045 }, vwn3_paramagnetic = { -0.4092860, 0.0621814, 13.0720, 42.7198 }, vwn3_ferromagnetic= { -0.7432940, 0.0310907, 20.1231, 101.578 }; static const real SPINPOLF = 1.92366105093154; /* 1/(2(2^(1/3)-1)) */ static const real THREEFTHRD2 = 0.584822305543806;/* hm? 4.5/(4*SPINPOLF) */ static const real FOURTHREE = 1.333333333333333; /* vwn_en_pot: returns "order" numbers in enpot array enpot[0]: energy of given type p E = rho F - THIS IS AN EXCEPTION! DO NOT BLAME IT ON ME. enpot[1]: E'=enpot[0] + rho*F' enpot[2]: E'' enpot[3]: E''' */ static void vwn_en_pot(real* enpot, real rho, int order, const struct vwn_params* p) { const real AI = p->A, BI = p->B, CI = p->C, X0I = p->X0; const real Q = SQRT(4*CI - BI*BI), XF0I = X0I*X0I + BI*X0I + CI, YF0I = Q/(BI + 2*X0I), DCRS = POW(3.0/(4*M_PI),1.0/6.0), B = X0I/XF0I, C = XF0I*YF0I, ACON = B*BI - 1.0, BCON = 2*ACON + 2.0, CCON = 2*BI*(1.0/Q - X0I/C); real rho13 = POW(rho,1.0/3.0); real x = DCRS/SQRT(rho13); real xrho = -DCRS*POW(rho,-7.0/6.0)/6.0; real xxrho = +DCRS*POW(rho,-13.0/6.0)*7.0/36.0; real xf = x*x + BI*x+CI; real xfx = 2*x + BI; real yf = Q/xfx; real e1, ex1, exx1, exxx1; real xf_p2, xf_p3, xf_p4, xfx_p2, xfx_p4; real xrho_p2, xrho_p3, xrho_p4, xxrho_p2, xxxrho, xxxxrho; real Q_p2, exxxx1; real x_p4; e1 = 2*LOG(x) + ACON*LOG(xf) - BCON*LOG(x - X0I) + CCON*ATAN(yf); enpot[0] = 0.5*AI*e1; if(order<1) return; ex1 = 2.0/x + ACON*xfx/xf - BCON/(x - X0I) - CCON*(2*yf/xfx)/(1.0 + yf*yf); enpot[1] = 0.5*AI*(e1 + rho*ex1*xrho); if(order<2) return; exx1= -2.0/(x*x) + ACON*(2.0/xf - xfx*xfx/(xf*xf)) + BCON/((x - X0I)*(x - X0I)) + CCON*8*Q*xfx/((Q*Q + xfx*xfx)*(Q*Q + xfx*xfx)); enpot[2] = 0.5*AI*xrho*(2*ex1 + rho*exx1*xrho - ex1*7.0/6.0); if(order<3) return; exxx1= 4.0/(x*x*x) + ACON*(2.0*xfx/(xf*xf))*(xfx*xfx/xf-3.0) - BCON*2.0/POW(x - X0I,3.0) + CCON*16.0*Q*(Q*Q-3.0*xfx*xfx)/POW(Q*Q + xfx*xfx,3.0); enpot[3] = 0.5*AI*xxrho*(2*ex1 + rho*exx1*xrho - 7.0/6.0*ex1) + 0.5*AI*xrho*(2*exx1*xrho +exx1*xrho + rho*(exxx1*xrho*xrho+exx1*xxrho) -7.0/6.0*exx1*xrho); if(order<4) return; x_p4 = POW(x,4.0); xf_p2 = xf*xf; xf_p3 = xf_p2*xf; xf_p4 = xf_p2*xf_p2; xfx_p2 = xfx*xfx; xfx_p4 = xfx_p2*xfx_p2; xrho_p2 = xrho*xrho; xrho_p3 = xrho_p2*xrho; xrho_p4 = xrho_p2*xrho_p2; xxrho_p2 = xxrho*xxrho; xxxrho = (-91.0/216.0)*DCRS/POW(rho,19.0/6.0); xxxxrho = (1729.0/1296.0)*DCRS/POW(rho,25.0/6.0); Q_p2 = Q*Q; exxxx1 = 6*((-2*ACON)/xf_p2 + (4*xfx_p2*ACON)/xf_p3 - (xfx_p4*ACON)/xf_p4 + (64*xfx*CCON*(xfx - Q)*Q*(xfx + Q))/ POW((xfx_p2 + Q_p2),4.0) - 2/x_p4 + BCON/POW((x - X0I),4.0)); enpot[4] = 0.5*AI*(4*exxx1*xrho_p3 + exxxx1*rho*xrho_p4 + 6*exxx1*rho*xrho_p2*xxrho + 3*exx1*rho*xxrho_p2 + 4*exx1*xrho*(3*xxrho + rho*xxxrho) + ex1*(4*xxxrho + rho*xxxxrho)); /* for fourth derivatives we need also first derivative of enpot[0] with respect to rho. It is stored in enpot[5] (what a mess!) */ enpot[5] = 0.5*AI*ex1*xrho; } static real par_energy(const FunDensProp* dp, const struct vwn_params* para, const struct vwn_params* ferro) { real ep_p[2], ep_f[2], ep_i[2], zeta, zeta4, f_zeta, delta; real rhoa = dp->rhoa, rhob = dp->rhob, rho; if(rhoarhoa-dp->rhob)rhoa-dp->rhob)/rho; zeta4 = POW(zeta,4.0); f_zeta = SPINPOLF*(POW(1+zeta,FOURTHREE)+POW(1-zeta,FOURTHREE)-2.0); delta = f_zeta*((ep_f[0]-ep_p[0])*zeta4 + ep_i[0]*(1-zeta4)*THREEFTHRD2); return (ep_p[0]+ delta)*rho; } static void par_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp, const struct vwn_params* para, const struct vwn_params* ferro) { real zeta, zeta3,zeta4, f_zeta, f_zet1, e_f,acp, dacp, vcfp, g_f; real delta, ep_p[2], ep_f[2], ep_i[2]; real rhoa = dp->rhoa, rhob = dp->rhob, rho; if(rhoadf1000 += ep_p[1]*factor; ds->df0100 += ep_p[1]*factor; if(FABS(dp->rhoa-dp->rhob)rhoa-dp->rhob)/rho; zeta3 = POW(zeta,3.0); zeta4 = zeta3*zeta; f_zeta = SPINPOLF*(POW(1+zeta,FOURTHREE)+POW(1-zeta,FOURTHREE)-2.0); f_zet1 = SPINPOLF*4.0/3.0*(POW(1+zeta,1.0/3.0)-POW(1-zeta,1.0/3.0)); vwn_en_pot(ep_f, rho, 1, ferro); e_f = ep_f[0] - ep_p[0]; g_f = ep_f[1] - ep_p[1]; vwn_en_pot(ep_i, rho, 1, &vwn_interp); acp = ep_i[0]*THREEFTHRD2; dacp = ep_i[1]*THREEFTHRD2; vcfp = f_zeta*(g_f*zeta4 + dacp*(1-zeta4)); delta= (f_zet1*(e_f*zeta4 + acp*(1-zeta4)) + 4*f_zeta*(e_f - acp)*zeta3); /* the final section: begin */ ds->df1000 += (vcfp + delta*(1-zeta))*factor; ds->df0100 += (vcfp - delta*(1+zeta))*factor; /* the final section: end */ } /* vwn_second: CAUTION: may raise zeros to a negative power! */ static void par_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp, const struct vwn_params* para, const struct vwn_params* ferro) { real zeta, zeta2, zeta3,zeta4, f_zeta, f_zet1, f_zet2, vcfp; real delta, ep_p[3], ep_f[3], ep_i[3]; real vcfp1, ef0, ef1, ef2, ei0, ei1, ei2, bterm, cterm, dterm; real spA, spB; real rhoa = dp->rhoa, rhob = dp->rhob, rho = dp->rhoa + dp->rhob; real rho2 = rho*rho; real dAA, dAB, dBB; vwn_en_pot(ep_p, rho, 2, para); ds->df1000 += ep_p[1]*factor; ds->df0100 += ep_p[1]*factor; ds->df2000 += ep_p[2]*factor; ds->df0200 += ep_p[2]*factor; ds->df1100 += ep_p[2]*factor; /* if(0&&dp->rhoa==dp->rhob) return; */ /* contribution from spin-polarized case; second order */ zeta = (dp->rhoa-dp->rhob)/rho; zeta2 = zeta*zeta; zeta3 = zeta2*zeta; zeta4 = zeta3*zeta; f_zeta = SPINPOLF*(POW(1+zeta,FOURTHREE)+POW(1-zeta,FOURTHREE)-2.0); f_zet1 = SPINPOLF*4.0/3.0*(POW(1+zeta,1.0/3.0)-POW(1-zeta,1.0/3.0)); /* CAUTION: may raise 0 to negative power! */ f_zet2 = SPINPOLF*4.0/9.0*(POW(1+zeta,-2.0/3.0)+POW(1-zeta,-2.0/3.0)); vwn_en_pot(ep_f, rho, 2, ferro); ef0 = ep_f[0] - ep_p[0]; ef1 = ep_f[1] - ep_p[1]; ef2 = ep_f[2] - ep_p[2]; vwn_en_pot(ep_i, rho, 2, &vwn_interp); ei0 = ep_i[0]*THREEFTHRD2; ei1 = ep_i[1]*THREEFTHRD2; ei2 = ep_i[2]*THREEFTHRD2; bterm = ef1*zeta4 + ei1*(1-zeta4); vcfp = f_zeta*bterm; delta = (f_zet1*(ef0*zeta4 + ei0*(1-zeta4)) + 4*f_zeta*(ef0 - ei0)*zeta3); spA = 2*rhob/rho2; /* = 2(1-zeta)/rho */ spB =-2*rhoa/rho2; /* = -2(1+zeta)/rho */ /* contribution from spin-polarized case; second order */ /* spin independent part of vcfp */ vcfp1 = f_zeta*(ef2*zeta4 + ei2*(1-zeta4)); /* spin dependent part of vcfp */ cterm = 4*f_zeta*(ef1-ei1)*zeta3 + bterm*f_zet1 - delta; /* spin dependent part of delta */ dterm = (f_zet2*(ef0*zeta4+ei0*(1-zeta4)) +8*f_zet1*(ef0-ei0)*zeta3 +12*f_zeta*(ef0-ei0)*zeta2)*rho; dAA = dterm*spA*spA; dAB = dterm*spA*spB; dBB = dterm*spB*spB; /* the final section: begin */ ds->df1000 += (vcfp + delta*(1-zeta))*factor; ds->df0100 += (vcfp - delta*(1+zeta))*factor; ds->df2000 += (vcfp1+ cterm*(spA+spA) + dAA)*factor; ds->df1100 += (vcfp1+ cterm*(spA+spB) + dAB)*factor; ds->df0200 += (vcfp1+ cterm*(spB+spB) + dBB)*factor; /* the final section: end */ } /* third not tested for open-shell! */ static void par_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp, const struct vwn_params* para, const struct vwn_params* ferro) { real zeta, zeta2, zeta3,zeta4, f_zeta, f_zet1, f_zet2, f_zet3, vcfp; real delta, ep_p[4], ep_f[4], ep_i[4]; real vcfp1, vcfp2, ef0, ef1, ef2, ef3, ei0, ei1, ei2, ei3; real bterm, cterm, dterm, eterm, ctrm1, ctrm2, dtrm1, dtrm2; real ef2bi, ei2bi; real spA, spB, spAA, spAB, spBB; real rhoa = dp->rhoa, rhob = dp->rhob, rho, rho2, rho3; if(rhoadf1000 += ep_p[1]*factor; ds->df0100 += ep_p[1]*factor; ds->df2000 += ep_p[2]*factor; ds->df0200 += ep_p[2]*factor; ds->df1100 += ep_p[2]*factor; ds->df3000 += ep_p[3]*factor; ds->df2100 += ep_p[3]*factor; ds->df1200 += ep_p[3]*factor; ds->df0300 += ep_p[3]*factor; /* if(0&&dp->rhoa==dp->rhob) return; */ /* contribution from spin-polarized case; second order */ zeta = (dp->rhoa-dp->rhob)/rho; zeta2 = zeta*zeta; zeta3 = zeta2*zeta; zeta4 = zeta3*zeta; f_zeta = SPINPOLF* (POW(1+zeta,FOURTHREE)+POW(1-zeta,FOURTHREE)-2.0); f_zet1 = SPINPOLF*4.0/3.0 *(POW(1+zeta, 1.0/3.0)-POW(1-zeta, 1.0/3.0)); f_zet2 = SPINPOLF*4.0/9.0 *(POW(1+zeta,-2.0/3.0)+POW(1-zeta,-2.0/3.0)); f_zet3 =-SPINPOLF*8.0/27.0*(POW(1+zeta,-5.0/3.0)-POW(1-zeta,-5.0/3.0)); vwn_en_pot(ep_f, rho, 3, ferro); ef0 = ep_f[0] - ep_p[0]; ef1 = ep_f[1] - ep_p[1]; ef2 = ep_f[2] - ep_p[2]; ef3 = ep_f[3] - ep_p[3]; vwn_en_pot(ep_i, rho, 3,&vwn_interp); ei0 = ep_i[0]*THREEFTHRD2; ei1 = ep_i[1]*THREEFTHRD2; ei2 = ep_i[2]*THREEFTHRD2; ei3 = ep_i[3]*THREEFTHRD2; bterm = ef1*zeta4 + ei1*(1-zeta4); vcfp = f_zeta*bterm; delta = (f_zet1*(ef0*zeta4 + ei0*(1-zeta4)) + 4*f_zeta*(ef0 - ei0)*zeta3); spA = 2*rhob/rho2; /* = 2(1-zeta)/rho */ spB =-2*rhoa/rho2; /* = -2(1+zeta)/rho */ spAA = -4*rhob/rho3; spAB = 2*(rho-2*rhob)/rho3; spBB = 4*rhoa/rho3; /* contribution from spin-polarized case; second order */ /* spin independent part of vcfp */ vcfp1 = f_zeta*(ef2*zeta4 + ei2*(1-zeta4)); /* spin dependent part of vcfp */ cterm = 4*f_zeta*(ef1-ei1)*zeta3 + bterm*f_zet1 - delta; /* spin dependent part of delta */ dterm = (f_zet2*(ef0*zeta4+ei0*(1-zeta4)) +8*f_zet1*(ef0-ei0)*zeta3 +12*f_zeta*(ef0-ei0)*zeta2)*rho; /* third order terms */ vcfp2 = f_zeta*(ef3*zeta4+ei3*(1-zeta4)); eterm = f_zet1*(ef2*zeta4 + ei2*(1-zeta4)) + f_zeta*(ef2-ei2)*4*zeta3; ef2bi = ef2-(ef1-ef0)/rho; ei2bi = ei2-(ei1-ei0)/rho; ctrm1 = 4*f_zeta*(ef2bi-ei2bi)*zeta3 +f_zet1*(ef2bi*zeta4+ei2bi*(1-zeta4)); ctrm2 = (ef1-ei1-ef0+ei0)*(8*f_zet1*zeta3+12*f_zeta*zeta2) +f_zet2*(bterm-(ef0*zeta4 + ei0*(1-zeta4))); dtrm1 = f_zet2*((ef1-ef0)*zeta4+(ei1-ei0)*(1-zeta4)) +(8*f_zet1*zeta3+12*f_zeta*zeta2)*(ef1-ei1-ef0+ei0) +dterm/rho; dtrm2 = ((12*f_zet2*zeta3 + 36*f_zet1*zeta2 + 24*f_zeta*zeta)*(ef0-ei0)+ f_zet3*(ef0*zeta4+ei0*(1-zeta4)))*rho; /* the final section: begin */ ds->df1000 += (vcfp + delta*(1-zeta))*factor; ds->df0100 += (vcfp - delta*(1+zeta))*factor; ds->df2000 += (vcfp1+ cterm*(spA+spA) + dterm*spA*spA)*factor; ds->df1100 += (vcfp1+ cterm*(spA+spB) + dterm*spA*spB)*factor; ds->df0200 += (vcfp1+ cterm*(spB+spB) + dterm*spB*spB)*factor; ds->df3000 += (vcfp2+ eterm*spA + ctrm1*(spA+spA)+ ctrm2*spA*(spA+spA) + cterm*(spAA+spAA) + dtrm1*(spA*spA)+ dtrm2*spA*spA*spA + dterm*(2*spAA*spA) )*factor; ds->df2100 += (vcfp2+ eterm*spB + ctrm1*(spA+spA)+ ctrm2*spB*(spA+spA) + cterm*(spAB+spAB) + dtrm1*(spA*spA)+ dtrm2*spA*spA*spB + dterm*(2*spAB*spA) )*factor; ds->df1200 += (vcfp2+ eterm*spA + ctrm1*(spB+spB)+ ctrm2*spA*(spB+spB) + cterm*(spAB+spAB) + dtrm1*(spB*spB)+ dtrm2*spB*spB*spA + dterm*(2*spAB*spB) )*factor; ds->df0300 += (vcfp2+ eterm*spB + ctrm1*(spB+spB)+ ctrm2*spB*(spB+spB) + cterm*(spBB+spBB) + dtrm1*(spB*spB)+ dtrm2*spB*spB*spB + dterm*(2*spBB*spB) )*factor; /* the final section: end */ } /* The dispatch part of the functional implementation */ static real vwn3_energy(const FunDensProp* dp) { return par_energy(dp, &vwn3_paramagnetic, &vwn3_ferromagnetic); } static void vwn3_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { par_first(ds, factor, dp, &vwn3_paramagnetic, &vwn3_ferromagnetic); } static void vwn3_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { par_second(ds, factor, dp, &vwn3_paramagnetic, &vwn3_ferromagnetic); } static void vwn3_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { par_third(ds, factor, dp, &vwn3_paramagnetic, &vwn3_ferromagnetic); } static real vwn_energy(const FunDensProp* dp) { return par_energy(dp, &vwn_paramagnetic, &vwn_ferromagnetic); } static void vwn_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { par_first(ds, factor, dp, &vwn_paramagnetic, &vwn_ferromagnetic); } static void vwn_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { par_second(ds, factor, dp, &vwn_paramagnetic, &vwn_ferromagnetic); } static void vwn_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { par_third(ds, factor, dp, &vwn_paramagnetic, &vwn_ferromagnetic); } static void vwn_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dp) { real zeta, zeta2, zeta3,zeta4, f_zeta, f_zet1, f_zet2, f_zet3, vcfp; real delta, ep_p[6], ep_f[6], ep_i[6], d_ef0, d_ei0; real vcfp1, vcfp2, ef0, ef1, ef2, ef3, ei0, ei1, ei2, ei3; real bterm, cterm, dterm, eterm, ctrm1, ctrm2, dtrm1, dtrm2; real ef2bi, ei2bi; real spA, spB, spAA, spAB, spBB; real rhoa = dp->rhoa, rhob = dp->rhob, rho = dp->rhoa + dp->rhob; real rho2 = rho*rho; real rho3 = rho2*rho; real rho4 = rho2*rho2; real f_zet4; real ef4, ei4; real spAAA, spBBB, spAAB, spABB; real d_ef2bi, d_ei2bi, d_bterm_indep, d_bterm_dep, d_delta_indep, d_delta_dep, d_vcfp2_indep, d_vcfp2_dep, d_eterm_indep, d_eterm_dep, d_ctrm1_indep, d_ctrm1_dep, d_ctrm2_indep, d_ctrm2_dep, d_cterm_indep, d_cterm_dep, d_dterm_indep, d_dterm_dep, d_dtrm1_indep, d_dtrm1_dep, d_dtrm2_indep, d_dtrm2_dep; vwn_en_pot(ep_p, rho, 4, &vwn_paramagnetic); ds->df1000 += ep_p[1]*factor; ds->df0100 += ep_p[1]*factor; ds->df2000 += ep_p[2]*factor; ds->df0200 += ep_p[2]*factor; ds->df1100 += ep_p[2]*factor; ds->df3000 += ep_p[3]*factor; ds->df2100 += ep_p[3]*factor; ds->df1200 += ep_p[3]*factor; ds->df0300 += ep_p[3]*factor; ds->df4000 += ep_p[4]*factor; ds->df3100 += ep_p[4]*factor; ds->df2200 += ep_p[4]*factor; ds->df1300 += ep_p[4]*factor; ds->df0400 += ep_p[4]*factor; /* if(dp->rhoa==dp->rhob) return; */ /* contribution from spin-polarized case; second order */ zeta = (dp->rhoa-dp->rhob)/rho; zeta2 = zeta*zeta; zeta3 = zeta2*zeta; zeta4 = zeta3*zeta; f_zeta = SPINPOLF* (POW(1+zeta,FOURTHREE)+POW(1-zeta,FOURTHREE)-2.0); f_zet1 = SPINPOLF*4.0/3.0 *(POW(1+zeta, 1.0/3.0)-POW(1-zeta, 1.0/3.0)); f_zet2 = SPINPOLF*4.0/9.0 *(POW(1+zeta,-2.0/3.0)+POW(1-zeta,-2.0/3.0)); f_zet3 =-SPINPOLF*8.0/27.0*(POW(1+zeta,-5.0/3.0)-POW(1-zeta,-5.0/3.0)); f_zet4 = SPINPOLF*(40.0/81.0)*(POW(1-zeta,-8.0/3.0)+POW(1+zeta,-8.0/3.0)); vwn_en_pot(ep_f, rho, 4,&vwn_ferromagnetic); ef0 = ep_f[0] - ep_p[0]; ef1 = ep_f[1] - ep_p[1]; ef2 = ep_f[2] - ep_p[2]; ef3 = ep_f[3] - ep_p[3]; ef4 = ep_f[4] - ep_p[4]; d_ef0 = ep_f[5] - ep_p[5]; vwn_en_pot(ep_i, rho, 4,&vwn_interp); ei0 = ep_i[0]*THREEFTHRD2; ei1 = ep_i[1]*THREEFTHRD2; ei2 = ep_i[2]*THREEFTHRD2; ei3 = ep_i[3]*THREEFTHRD2; ei4 = ep_i[4]*THREEFTHRD2; d_ei0 = ep_i[5]*THREEFTHRD2; bterm = ef1*zeta4 + ei1*(1-zeta4); vcfp = f_zeta*bterm; delta = (f_zet1*(ef0*zeta4 + ei0*(1-zeta4)) + 4*f_zeta*(ef0 - ei0)*zeta3); spA = 2*rhob/rho2; /* = 2(1-zeta)/rho */ spB =-2*rhoa/rho2; /* = -2(1+zeta)/rho */ spAA = -4*rhob/rho3; spAB = 2*(rho-2*rhob)/rho3; spBB = 4*rhoa/rho3; spAAA = 12*rhob/rho4; spAAB = -4*(rhoa - 2* rhob)/rho4; spABB = (-8*rhoa + 4*rhob)/rho4; spBBB = -12*rhoa/rho4; /* contribution from spin-polarized case; second order */ /* spin independent part of vcfp */ vcfp1 = f_zeta*(ef2*zeta4 + ei2*(1-zeta4)); /* spin dependent part of vcfp */ cterm = 4*f_zeta*(ef1-ei1)*zeta3 + bterm*f_zet1 - delta; /* spin dependent part of delta */ dterm = (f_zet2*(ef0*zeta4+ei0*(1-zeta4)) +8*f_zet1*(ef0-ei0)*zeta3 +12*f_zeta*(ef0-ei0)*zeta2)*rho; /* third order terms */ vcfp2 = f_zeta*(ef3*zeta4+ei3*(1-zeta4)); eterm = f_zet1*(ef2*zeta4 + ei2*(1-zeta4)) + f_zeta*(ef2-ei2)*4*zeta3; ef2bi = ef2-(ef1-ef0)/rho; ei2bi = ei2-(ei1-ei0)/rho; ctrm1 = 4*f_zeta*(ef2bi-ei2bi)*zeta3 +f_zet1*(ef2bi*zeta4+ei2bi*(1-zeta4)); ctrm2 = (ef1-ei1-ef0+ei0)*(8*f_zet1*zeta3+12*f_zeta*zeta2) +f_zet2*(bterm-(ef0*zeta4 + ei0*(1-zeta4))); dtrm1 = f_zet2*((ef1-ef0)*zeta4+(ei1-ei0)*(1-zeta4)) +(8*f_zet1*zeta3+12*f_zeta*zeta2)*(ef1-ei1-ef0+ei0) +dterm/rho; dtrm2 = ((12*f_zet2*zeta3 + 36*f_zet1*zeta2 + 24*f_zeta*zeta)*(ef0-ei0)+ f_zet3*(ef0*zeta4+ei0*(1-zeta4)))*rho; /* the final section: begin */ ds->df1000 += (vcfp + delta*(1-zeta))*factor; ds->df0100 += (vcfp - delta*(1+zeta))*factor; ds->df2000 += (vcfp1+ cterm*(spA+spA) + dterm*spA*spA)*factor; ds->df1100 += (vcfp1+ cterm*(spA+spB) + dterm*spA*spB)*factor; ds->df0200 += (vcfp1+ cterm*(spB+spB) + dterm*spB*spB)*factor; ds->df3000 += (vcfp2+ eterm*spA + ctrm1*(spA+spA)+ ctrm2*spA*(spA+spA) + cterm*(spAA+spAA) + dtrm1*(spA*spA)+ dtrm2*spA*spA*spA + dterm*(2*spAA*spA) )*factor; ds->df2100 += (vcfp2+ eterm*spB + ctrm1*(spA+spA)+ ctrm2*spB*(spA+spA) + cterm*(spAB+spAB) + dtrm1*(spA*spA)+ dtrm2*spA*spA*spB + dterm*(2*spAB*spA) )*factor; ds->df1200 += (vcfp2+ eterm*spA + ctrm1*(spB+spB)+ ctrm2*spA*(spB+spB) + cterm*(spAB+spAB) + dtrm1*(spB*spB)+ dtrm2*spB*spB*spA + dterm*(2*spAB*spB) )*factor; ds->df0300 += (vcfp2+ eterm*spB + ctrm1*(spB+spB)+ ctrm2*spB*(spB+spB) + cterm*(spBB+spBB) + dtrm1*(spB*spB)+ dtrm2*spB*spB*spB + dterm*(2*spBB*spB) )*factor; d_ef2bi = ef3 + (-ef0 + ef1)/rho2 - (-d_ef0 + ef2)/rho; d_ei2bi = ei3 + (-ei0 + ei1)/rho2 - (-d_ei0 + ei2)/rho; d_bterm_indep = ei2*(1 - zeta4) + ef2*zeta4; d_bterm_dep = (4*ef1*zeta3 - 4*ei1*zeta3); d_delta_indep = 4*(d_ef0 - d_ei0)*f_zeta*zeta3 + d_ei0*f_zet1*(1 - zeta4) + d_ef0*f_zet1*zeta4; d_delta_dep = (12*(ef0 - ei0)*f_zeta*zeta2 + 4*ef0*f_zet1*zeta3 + 4*(ef0 - ei0)*f_zet1*zeta3 - 4*ei0*f_zet1*zeta3 + f_zet2*(ei0*(1 - zeta4) + ef0*zeta4)); d_vcfp2_indep = ei4*f_zeta*(1 - zeta4) + ef4*f_zeta*zeta4; d_vcfp2_dep = (4*ef3*f_zeta*zeta3 - 4*ei3*f_zeta*zeta3 + f_zet1*(ei3*(1 - zeta4) + ef3*zeta4)); d_eterm_indep = 4*(ef3 - ei3)*f_zeta*zeta3 + ei3*f_zet1*(1 - zeta4) + ef3*f_zet1*zeta4; d_eterm_dep = (12*(ef2 - ei2)*f_zeta*zeta2 + 4*ef2*f_zet1*zeta3 + 4*(ef2 - ei2)*f_zet1*zeta3 - 4*ei2*f_zet1*zeta3 + f_zet2*(ei2*(1 - zeta4) + ef2*zeta4)); d_ctrm1_indep = 4*(d_ef2bi - d_ei2bi)*f_zeta*zeta3 + d_ei2bi*f_zet1*(1 - zeta4) + d_ef2bi*f_zet1*zeta4; d_ctrm1_dep = (12*(ef2bi - ei2bi)*f_zeta*zeta2 + 4*ef2bi*f_zet1*zeta3 + 4*(ef2bi - ei2bi)*f_zet1*zeta3 - 4*ei2bi*f_zet1*zeta3 + f_zet2*(ei2bi*(1 - zeta4) + ef2bi*zeta4)); d_ctrm2_indep = d_bterm_indep*f_zet2 + (-d_ef0 + d_ei0 + ef2 - ei2)* (12*f_zeta*zeta2 + 8*f_zet1*zeta3) + d_ei0*f_zet2*(-1 + zeta4) - d_ef0*f_zet2*zeta4; d_ctrm2_dep = d_bterm_dep*f_zet2 + (4*(-ef0 + ei0)*f_zet2*zeta3 - 4*(ef0 - ef1 - ei0 + ei1)*(6*f_zeta*zeta + 9*f_zet1*zeta2 + 2*f_zet2*zeta3) + f_zet3*(bterm + ei0*(-1 + zeta4) - ef0*zeta4)); d_cterm_indep = -d_delta_indep + d_bterm_indep*f_zet1 + 4*(ef2 - ei2)*f_zeta*zeta3; d_cterm_dep = -d_delta_dep + d_bterm_dep*f_zet1 + (bterm*f_zet2 + 12*(ef1 - ei1)*f_zeta* zeta2 + 4*(ef1 - ei1)*f_zet1*zeta3); d_dterm_indep = 12*(ef0 - ei0)*f_zeta*zeta2 + 12*d_ef0*f_zeta*rho* zeta2 + 8*(ef0 - ei0)*f_zet1*zeta3 + 8*d_ef0*f_zet1*rho*zeta3 + d_ef0*f_zet2*rho*zeta4 + f_zet2*(ei0 + ef0*zeta4 - ei0*zeta4) + d_ei0*rho*(f_zet2 - 12*f_zeta*zeta2 - 8*f_zet1*zeta3 - f_zet2*zeta4); d_dterm_dep = (24*ef0*f_zeta*rho*zeta + 36*ef0*f_zet1*rho*zeta2 + 12*ef0*f_zet2*rho*zeta3 - ei0*rho*(12*(2*f_zeta*zeta + 3*f_zet1*zeta2 + f_zet2*zeta3) + f_zet3*(-1 + zeta4)) + ef0*f_zet3*rho*zeta4); d_dtrm1_indep = -(d_ei0*f_zet2) + ei2*f_zet2 + (-d_ef0 + d_ei0 + ef2 - ei2)*(12*f_zeta*zeta2 + 8*f_zet1*zeta3) - d_ef0*f_zet2*zeta4 + (d_ei0 + ef2 - ei2)*f_zet2*zeta4 - dterm/rho2 + d_dterm_indep/rho; d_dtrm1_dep = (4*(-ef0 + ef1 + ei0 - ei1)*f_zet2*zeta3 - 4*(ef0 - ef1 - ei0 + ei1)*(6*f_zeta*zeta + 9*f_zet1*zeta2 + 2*f_zet2*zeta3) + f_zet3*(ei1 + ei0*(-1 + zeta4) - (ef0 - ef1 + ei1)*zeta4)) + d_dterm_dep/rho; d_dtrm2_indep = d_ei0*f_zet3*rho + 12*(ef0 - ei0)* (2*f_zeta*zeta + 3*f_zet1*zeta2 + f_zet2*zeta3) + 12*(d_ef0 - d_ei0)*rho*(2*f_zeta*zeta + 3*f_zet1*zeta2 + f_zet2*zeta3) + d_ef0*f_zet3*rho*zeta4 - d_ei0*f_zet3*rho*zeta4 + f_zet3*(ei0 + ef0*zeta4 - ei0*zeta4); d_dtrm2_dep = (4*(ef0 - ei0)*f_zet3*rho*zeta3 + 12*(ef0 - ei0)*rho*(2*f_zeta + 8*f_zet1*zeta + 6*f_zet2*zeta2 + f_zet3*zeta3) + f_zet4*rho*(ei0 + ef0*zeta4 - ei0*zeta4)); ds->df4000 += ( d_vcfp2_indep + 2*d_ctrm1_indep*spA + d_eterm_indep*spA + d_vcfp2_dep*spA + 2*d_ctrm1_dep*spA*spA + 2*d_ctrm2_indep*spA*spA + d_dtrm1_indep*spA*spA + d_eterm_dep*spA*spA + 2*d_ctrm2_dep*spA*spA*spA + d_dtrm1_dep*spA*spA*spA + d_dtrm2_indep*spA*spA*spA + d_dtrm2_dep*spA*spA*spA*spA + 2*d_cterm_indep*spAA + 2*d_cterm_dep*spA*spAA + 2*d_dterm_indep*spA*spAA + 2*d_dterm_dep*spA*spA*spAA + 2*spAAA*cterm + 2*spAA*ctrm1 + 4*spA*spAA*ctrm2 + 2*spAA*spAA*dterm + 2*spA*spAAA*dterm + 2*spA*spAA*dtrm1 + 3*spA*spA*spAA*dtrm2 + spAA*eterm )*factor; ds->df3100 += ( d_vcfp2_indep + 2*d_ctrm1_indep*spA + d_eterm_indep*spA + 2*d_ctrm2_indep*spA*spA + d_dtrm1_indep*spA*spA + d_dtrm2_indep*spA*spA*spA + 2*d_cterm_indep*spAA + 2*d_dterm_indep*spA*spAA + d_vcfp2_dep*spB + 2*d_ctrm1_dep*spA*spB + d_eterm_dep*spA*spB + 2*d_ctrm2_dep*spA*spA*spB + d_dtrm1_dep*spA*spA*spB + d_dtrm2_dep*spA*spA*spA*spB + 2*d_cterm_dep*spAA*spB + 2*d_dterm_dep*spA*spAA*spB + 2*spAAB*cterm + 2*spAB*ctrm1 + 4*spA*spAB*ctrm2 + 2*spA*spAAB*dterm + 2*spAA*spAB*dterm + 2*spA*spAB*dtrm1 + 3*spA*spA*spAB*dtrm2 + spAB*eterm )*factor; ds->df2200 += (d_vcfp2_indep + 2*d_ctrm1_indep*spA + d_dtrm1_indep*spA*spA + 2*d_cterm_indep*spAB + 2*d_dterm_indep*spA*spAB + d_eterm_indep*spB + d_vcfp2_dep*spB + 2*d_ctrm1_dep*spA*spB + 2*d_ctrm2_indep*spA*spB + d_dtrm1_dep*spA*spA*spB + d_dtrm2_indep*spA*spA*spB + 2*d_cterm_dep*spAB*spB + 2*d_dterm_dep*spA*spAB*spB + d_eterm_dep*spB*spB + 2*d_ctrm2_dep*spA*spB*spB + d_dtrm2_dep*spA*spA*spB*spB + 2*spABB*cterm + 2*spAB*ctrm1 + 2*spAB*spB*ctrm2 + 2*spA*spBB*ctrm2 + 2*spAB*spAB*dterm + 2*spA*spABB*dterm + 2*spA*spAB*dtrm1 + 2*spA*spAB*spB*dtrm2 + spA*spA*spBB*dtrm2 + spBB*eterm )*factor; ds->df1300 += ( d_vcfp2_indep + 2*d_ctrm1_indep*spB + d_eterm_indep*spB + 2*d_ctrm2_indep*spB*spB + d_dtrm1_indep*spB*spB + d_dtrm2_indep*spB*spB*spB + 2*d_cterm_indep*spBB + 2*d_dterm_indep*spB*spBB + d_vcfp2_dep*spA + 2*d_ctrm1_dep*spB*spA + d_eterm_dep*spB*spA + 2*d_ctrm2_dep*spB*spB*spA + d_dtrm1_dep*spB*spB*spA + d_dtrm2_dep*spB*spB*spB*spA + 2*d_cterm_dep*spBB*spA + 2*d_dterm_dep*spB*spBB*spA + 2*spABB*cterm + 2*spAB*ctrm1 + 4*spB*spAB*ctrm2 + 2*spB*spABB*dterm + 2*spBB*spAB*dterm + 2*spB*spAB*dtrm1 + 3*spB*spB*spAB*dtrm2 + spAB*eterm )*factor; ds->df0400 += ( d_vcfp2_indep + 2*d_ctrm1_indep*spB + d_eterm_indep*spB + d_vcfp2_dep*spB + 2*d_ctrm1_dep*spB*spB + 2*d_ctrm2_indep*spB*spB + d_dtrm1_indep*spB*spB + d_eterm_dep*spB*spB + 2*d_ctrm2_dep*spB*spB*spB + d_dtrm1_dep*spB*spB*spB + d_dtrm2_indep*spB*spB*spB + d_dtrm2_dep*spB*spB*spB*spB + 2*d_cterm_indep*spBB + 2*d_cterm_dep*spB*spBB + 2*d_dterm_indep*spB*spBB + 2*d_dterm_dep*spB*spB*spBB + 2*spBBB*cterm + 2*spBB*ctrm1 + 4*spB*spBB*ctrm2 + 2*spBB*spBB*dterm + 2*spB*spBBB*dterm + 2*spB*spBB*dtrm1 + 3*spB*spB*spBB*dtrm2 + spBB*eterm )*factor; /* the final section: end */ } /* Other spin interpolation scheme */ static real spni_energy(const FunDensProp* dp, const struct vwn_params* para, const struct vwn_params* ferro) { real ep_p[2], ep_f[2], ep_i[2], zeta, f_zeta, delta; real rhoa = dp->rhoa, rhob = dp->rhob, rho; if(rhoarhoa - dp->rhob)rhoa-dp->rhob)/rho; f_zeta = SPINPOLF*(POW(1+zeta,FOURTHREE)+POW(1-zeta,FOURTHREE)-2.0); delta = f_zeta*(ep_f[0]-ep_p[0]); return (ep_p[0]+ delta)*rho; } static void spni_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp, const struct vwn_params* para, const struct vwn_params* ferro) { real zeta, f_zeta, f_zet1, vcfp; real delta, ep_p[2], ep_f[2]; real rhoa = dp->rhoa, rhob = dp->rhob, rho; if(rhoadf1000 += ep_p[1]*factor; ds->df0100 += ep_p[1]*factor; /* if(dp->rhoa==dp->rhob) return; */ /* contribution from spin-polarized case; first order */ zeta = (dp->rhoa-dp->rhob)/rho; f_zeta = SPINPOLF*(POW(1+zeta,FOURTHREE)+POW(1-zeta,FOURTHREE)-2.0); f_zet1 = SPINPOLF*4.0/3.0*(POW(1+zeta,1.0/3.0)-POW(1-zeta,1.0/3.0)); vwn_en_pot(ep_f, rho, 1, ferro); vcfp = f_zeta*(ep_f[1] - ep_p[1]); delta= f_zet1*(ep_f[0] - ep_p[0]); /* the final section: begin */ ds->df1000 += (vcfp + delta*(1-zeta))*factor; ds->df0100 += (vcfp - delta*(1+zeta))*factor; /* the final section: end */ } static void spni_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp, const struct vwn_params* para, const struct vwn_params* ferro) { real zeta, f_zeta, f_zet1, f_zet2, vcfp; real delta, ep_p[3], ep_f[3]; real rhoa = dp->rhoa, rhob = dp->rhob, rho = dp->rhoa + dp->rhob; real rho2 = rho*rho; real vcf2, fac2, vap2, ef0, ef1, ef2; real zA, zB, zAAr, zABr, zBBr; vwn_en_pot(ep_p, rho, 2, para); ds->df1000 += ep_p[1]*factor; ds->df0100 += ep_p[1]*factor; ds->df2000 += ep_p[2]*factor; ds->df1100 += ep_p[2]*factor; ds->df0200 += ep_p[2]*factor; /* if( fabs(rhoa - rhob)df1000 += (vcfp + delta*rho*zA)*factor; ds->df0100 += (vcfp - delta*(1+zeta))*factor; ds->df2000 += (vcf2 + vap2*(zA+zA) + fac2*zA*zA + delta*zAAr)*factor; ds->df1100 += (vcf2 + vap2*(zA+zB) +fac2*zA*zB + delta*zABr)*factor; ds->df0200 += (vcf2 + vap2*(zB+zB) + fac2*zB*zB + delta*zBBr)*factor; /* the final section: end */ } static real vwni_energy(const FunDensProp* dp) { return spni_energy(dp, &vwn_paramagnetic, &vwn_ferromagnetic); } static void vwni_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { spni_first(ds, factor, dp, &vwn_paramagnetic, &vwn_ferromagnetic); } static void vwni_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { spni_second(ds, factor, dp, &vwn_paramagnetic, &vwn_ferromagnetic); } static void vwni_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { fun_printf("vwni_third not implemented."); exit(1); } static real vwn3i_energy(const FunDensProp* dp) { return spni_energy(dp, &vwn3_paramagnetic, &vwn3_ferromagnetic); } static void vwn3i_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { spni_first(ds, factor, dp, &vwn3_paramagnetic, &vwn3_ferromagnetic); } static void vwn3i_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { spni_second(ds, factor, dp, &vwn3_paramagnetic, &vwn3_ferromagnetic); } static void vwn3i_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { fun_printf("vwni_third not implemented."); exit(1); } ergo-3.5/source/dft/grid_params.h0000664000175000017500000000626212743400307013764 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #if !defined(_GRID_PARAMS_H_) #define _GRID_PARAMS_H_ 1 #include "grid_atomic.h" namespace Dft { /** A structure describing the HiCu grid settings. */ struct HiCuGridParams { ergo_real maxError; ergo_real box_size; ergo_real start_box_size_debug; int use_error_per_volume; int do_double_checking; int compare_to_refined; int use_energy_criterion; int use_energy_criterion_only; int do_variation_checking; }; /** A structure describing the grid settings. */ struct GridParams { /** All the dimensions of the smallest box must be below this threshold. The time goes quickly up as a function of box size. Tweak it with an uttermost caution. */ ergo_real boxSize; ergo_real radint; int angmin; int angmax; typedef enum { GC2, LMG, TURBO } RadialScheme; typedef enum { TYPE_STANDARD, TYPE_HICU } GridType; RadialScheme radialGridScheme; GridType gridType; bool cubicBoxes; /**< whether cubic grid boxes should be enforced. Not needed apart from testing. */ /* The following are HiCu grid parameters. */ HiCuGridParams hicuParams; explicit GridParams(ergo_real r_ = 1e-9, int a1 = 6, int a2 = 30, ergo_real bs = 5.0, bool cubic = false, ergo_real hicume = 1e-7, ergo_real hicubs = 1.5, ergo_real hicusbsd = 0, int hicuerrpervol = 0, int hicudodoublecheck = 1, int hicuctr = 0, int hicuuec = 0,int hicuueco = 0, int hicudovarcheck = 0) : boxSize(bs), radint(r_), angmin(a1), angmax(a2), radialGridScheme(LMG), gridType(TYPE_STANDARD), cubicBoxes(cubic) { hicuParams.maxError = hicume; hicuParams.box_size = hicubs; hicuParams.start_box_size_debug = hicusbsd; hicuParams.use_error_per_volume = hicuerrpervol; hicuParams.do_double_checking = hicudodoublecheck; hicuParams.compare_to_refined = hicuctr; hicuParams.use_energy_criterion = hicuuec; hicuParams.use_energy_criterion_only = hicuueco; hicuParams.do_variation_checking = hicudovarcheck; } }; } #endif /* _GRID_PARAMS_H_ */ ergo-3.5/source/dft/grid_atomic.cc0000664000175000017500000003004012743400307014102 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file grid_atomic.cc Implements radial grid generators. */ #include #include #include #include "grid_atomic.h" /** vector of atoms' Bragg radii. It is indexed by atomic number. */ const real BraggRadii[] = { /* dummy */ 0.75, /* H He* */ 0.35, 0.35, /* Li Be B C N O F Ne* */ 1.45, 1.05, 0.85, 0.70, 0.65, 0.60, 0.50, 0.45, /*Na Mg Al Si P S Cl Ar* */ 1.80, 1.50, 1.25, 1.10, 1.00, 1.00, 1.00, 1.00, /* K Ca Sc Ti V Cr Mn Fe Co */ 2.20, 1.80, 1.60, 1.40, 1.35, 1.40, 1.40, 1.40, 1.35, /* Ni Cu Zn Ga Ge As Se Br Kr* */ 1.35, 1.35, 1.35, 1.30, 1.25, 1.15, 1.15, 1.15, 1.10, /* Rb Sr Y Zr Nb Mo Tc Ru Rh */ 2.35, 2.00, 1.80, 1.55, 1.45, 1.45, 1.35, 1.30, 1.35, /* Pd Ag Cd In Sn Sb Te I Xe* */ 1.40, 1.60, 1.55, 1.55, 1.45, 1.45, 1.40, 1.40, 1.40, /* Cs Ba La */ 2.60, 2.15, 1.95, /* Ce Pr Nd Pm Sm Eu Gd */ 1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 1.80, /* Tb Dy Ho Er Tm Yb Lu */ 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, /* Hf Ta W Re Os Ir Pt Au Hg */ 1.55, 1.45, 1.35, 1.30, 1.30, 1.35, 1.35, 1.35, 1.50, /* Tl Pb* Bi Po At* Rn* */ 1.90, 1.75, 1.60, 1.90, 1.50, 1.50, /* Fr* Ra Ac */ 2.15, 2.15, 1.95, /* rad(U): 1.75 --> 1.37D0 */ /*Th Pa U Np Pu Am Cm* */ 1.80, 1.80, 1.37, 1.75, 1.75, 1.75, 1.75, /* Bk* Cf* Es* Fm* Md* No* Lw* */ 1.75, 1.75, 1.75, 1.75, 1.75, 1.75, 1.75 }; /** Number of defined elements in BraggRadii array */ const unsigned BraggSize = sizeof(BraggRadii)/sizeof(BraggRadii[0]); /* =================================================================== * RADIAL QUADRATURES * the quadratore has to fill in grid->pnt with number of points * and set grid->rad. * =================================================================== */ /** Initializes RadialSchemeGC2 grid generator. Determinates number * of radial points to be used for Gauss-Chebyshev quadrature of * second kind needed to integrate atom of specified Z number to * specified threshold thrl. */ void RadialSchemeGC2::init(int myNumber, int Z, real thrl) { static const int MIN_RAD_PT = 20; int ta, ri; if(Z<=2) ta=0; else if(Z<=10) ta=1; else if(Z<=18) ta=2; else if(Z<=36) ta=3; else if(Z<=54) ta=4; else if(Z<=86) ta=5; else ta=6; thrl = 1e-1*std::sqrt(thrl); /* Fudge factor. */ ri = int( -5.0*(3*std::log10(thrl)-ta+8) ); gridSize = ri>MIN_RAD_PT ? ri : MIN_RAD_PT; } /** Generates grid point positions and weights using Gauss-Chebyshev quadrature of second kind. The rad and wght arrays are filled in. */ void RadialSchemeGC2::generate(real *rad, real *wght) { /* constants */ static const real pi_2 = 2.0/M_PI; static const real sfac = 2.0/3.0; const real rfac = 1.0/std::log(static_cast(2.0)); real n_one, n_pi, wfac; /* variables */ real x = 0.0, angl = 0.0, w = 0.0; int i; n_one = gridSize+1.0; n_pi = M_PI/n_one; wfac = 16.0/(3*n_one); /* radial points */ for (i=0; i(2.0/(1.0-x)) ); w = wfac*sinangl2*sinangl2; wght[gridSize-i-1] = w*rfac/(1.0-x)*r*r; rad[gridSize-i-1] = r; /* transformation factor accumulated in weight */ } } /** This quadrature follows [JCP 102, 346 (1995)]. That is T2 quadrature with M4 mapping of r. */ void RadialSchemeTurbo::init(int myNumber, int Z, real thrl) { static const real zetas[] = {/* H */ 0.8, /* He */ 0.9, /* Li */ 1.8, /* Be */ 1.4, /* B */ 1.3, /* C */ 1.1, /* N */ 0.9, /* O */ 0.9, /* F */ 0.9, /* Ne */ 0.9, /* Na */ 1.4, /* Mg */ 1.3, /* Al */ 1.3, /* Si */ 1.2, /* P */ 1.1, /* S */ 1.0, /* Cl */ 1.0, /* Ar */ 1.0, /* K */ 1.5, /* Ca */ 1.4, /* Sc */ 1.3, /* Ti */ 1.2, /* V */ 1.2, /* Cr */ 1.2, /* Mn */ 1.2, /* Fe */ 1.2, /* Co */ 1.2, /* Ni */ 1.1, /* Cu */ 1.1, /* Zn */ 1.1, /* Ga */ 1.1, /* Ge */ 1.0, /* As */ 0.9, /* Se */ 0.9, /* Br */ 0.9, /* Kr */ 0.9 }; int ta, accuracy_correction, z_correction; if(Z<=2) ta=0; else if(Z<=10) ta=1; else if(Z<=18) ta=2; else if(Z<=36) ta=3; else if(Z<=54) ta=4; else if(Z<=86) ta=5; else ta=6; /* thrl = 1e-5 maps to 0, 1e-13 -> 25, following Table III */ accuracy_correction = int( (-std::log10(thrl)-5.0)*3.0 ); if(accuracy_correction<0) accuracy_correction = 0; z_correction = ta*5; static const int MIN_RAD_PT = 20; gridSize = MIN_RAD_PT + accuracy_correction + z_correction; zeta = Z >=1 && Z <= int(sizeof(zetas)/sizeof(zetas[0])) ? zetas[Z-1] : 0.9; } /** Actual generation of the radial quadrature. */ void RadialSchemeTurbo::generate(real *rad, real *wght) { const real piOverN = M_PI/gridSize; static const real a = 1.0; const real rfac = zeta/M_LN2; /* radial points */ for (int i=0; i4 ? 4 : l; rdlog = std::log(rd); //res = polval(3,CF(1,LM),RDLOG); res = cf[lm][0]; x = rdlog; for(i=1; i<4; i++) { res += cf[lm][i]*x; x *= rdlog; } htlog = std::log(res); // Newton-Raphson search for(it = 0; it<20; it++) { long_real u0, u1, f0, f1, dx; long_real pih = M_PI/res; long_real pihl = pih; long_real piex = M_PI*pih*0.5; for(i = 0; i 0) { real htmp = diserr(l, thrl); if(htmpah) ah = lAA[l][1]; //printf("ah=%g %g\n", ah, aa[l][1]); } eph = std::exp(h); ah *= 2; rl = (1.9+std::log(thrl))/3.0 - 0.5*std::log(ah); rl = std::exp(rl); //printf("* Inner grid point: %10.5g ah=%f\n", rl, ah); //... Outer point rh = 0.0; for(l=0; l0) { real rhtmp = outerr(2*lAA[l][0], l, thrl); if(rh. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file functionals.h Functional library interface. The variables, structures and functions related to computation of functional and their derivatives. (c) Pawel Salek, pawsa@theochem.kth.se. 2001.07.13 NOTE1: the derivatives are computed with respect to the density, and SQUARE of the density gradient. This is a choice. It stems from the fact that the factors involved in the derivative vector distribution depend on the square of the density gradient. NOTE2: C version is included once per file, Fortran version - multiple times. */ #ifndef _FUNCTIONALS_H_ #define _FUNCTIONALS_H_ #include "realtype.h" #ifdef __cplusplus #define EXTERN_C extern "C" #else #define EXTERN_C #endif typedef ergo_real real; #if defined(FUNC_PRECISION) && FUNC_PRECISION == 1 #define ASINH asinhf #define ATAN atanf #define ERF erff #define EXP expf #define FABS fabsf #define LOG logf #define POW powf #define SQRT sqrtf #elif defined(FUNC_PRECISION) && FUNC_PRECISION == 2 #define ASINH asinh #define ATAN atan #define ERF erf #define EXP exp #define FABS fabs #define LOG log #define POW pow #define SQRT sqrt #else #define ASINH asinhl #define ATAN atanl #define ERF erfl #define EXP expl #define FABS fabsl #define LOG logl #define POW powl #define SQRT sqrtl #endif /* FirstDrv: matrix of first order derivatives with respect to two * parameters: density rho and SQUARE of the gradient of density grho. * zeta_i = |\nabla\rho_i|² * mu = |\nabla\rho_\alpha||\nabla\rho_\beta| */ typedef struct { real df1000; /* d/drho F */ real df0100; real df0010; /* d/zeta F */ real df0001; real df00001; } FunFirstFuncDrv; /* SecondFuncDrv: this structure is used by functional derivative * evaluation procedures. Do not include "triplet" transformation. */ typedef struct { real df1000; /* d/drho_alpha F */ real df0100; /* d/drho_beta F */ real df0010; /* d/|zeta_alpha| F */ real df0001; /* d/|zeta_beta| F */ real df00001; real df2000; /* d/drho_alpha^2 F */ real df1100; /* d/(drho_alpha drho_beta) F */ real df1010; /* d/drho_alpha d/dzeta_alpha F */ real df1001; /* d/drho_alpha d/dzeta_beta F */ real df10001; real df0200; /* d/drho_beta^2 F */ real df0110; /* d/drho_beta d/dzeta_alpha F */ real df0101; /* d/drho_beta d/dzeta_beta F */ real df01001; real df0020; /* d/dzeta_alpha^2 F */ real df0011; /* d2/dzeta_a zeta_b F */ real df00101; real df0002; /* d/dzeta_beta^2 F */ real df00011; real df00002; } FunSecondFuncDrv; /* ThirdFuncDrv: matrix of third derivatives with respect to five parameters: density rho_alpha and SQUARE of the density gradient zeta. and mu. */ typedef struct { real df1000; /* d/drho F */ real df0100; real df0010; /* d/|zeta| F */ real df0001; real df00001; real df2000; /* d/drho_alpha^2 F */ real df1100; /* d/(drho_alpha drho_beta) F */ real df1010; /* d/drho_alpha d/dzeta_alpha F */ real df1001; /* d/drho_alpha d/dzeta_beta F */ real df10001; real df0200; /* d/drho_beta^2 F */ real df0110; /* d/drho_beta d/dzeta_alpha F */ real df0101; /* d/drho_beta d/dzeta_beta F */ real df01001; real df0020; /* d/dzeta_alpha^2 F */ real df0011; /* d2/dzeta_a zeta_b F */ real df00101; real df0002; /* d/dzeta_beta^2 F */ real df00011; real df00002; real df3000; real df2100; real df2010; real df2001; real df20001; real df1200; real df1110; real df1101; real df11001; real df1020; real df1011; real df10101; real df1002; real df10011; real df10002; real df0300; real df0210; real df0201; real df02001; real df0120; real df0111; real df01101; real df0102; real df01011; real df01002; real df0030; real df0021; real df00201; real df0012; real df00111; real df00102; real df0003; real df00021; real df00012; real df00003; } FunThirdFuncDrv; typedef struct { /* First order derivatives with respect to all 5 variables */ real df1000; real df0100; real df0010; real df0001; real df00001; /* Second order mixed derivatives with respect to all 5 variables */ real df2000; real df1100; real df1010; real df1001; real df10001; real df0200; real df0110; real df0101; real df01001; real df0020; real df0011; real df00101; real df0002; real df00011; real df00002; /* Third order mixed derivatives with respect to all 5 variables */ real df3000; real df2100; real df2010; real df2001; real df20001; real df1200; real df1110; real df1101; real df11001; real df1020; real df1011; real df10101; real df1002; real df10011; real df10002; real df0300; real df0210; real df0201; real df02001; real df0120; real df0111; real df01101; real df0102; real df01011; real df01002; real df0030; real df0021; real df00201; real df0012; real df00111; real df00102; real df0003; real df00021; real df00012; real df00003; /* Fourth order mixed derivatives with respect to all 5 variables */ real df4000; real df3100; real df3010; real df3001; real df30001; real df2200; real df2110; real df2101; real df21001; real df2020; real df2011; real df20101; real df2002; real df20011; real df20002; real df1300; real df1210; real df1201; real df12001; real df1120; real df1111; real df11101; real df1102; real df11011; real df11002; real df1030; real df1021; real df10201; real df1012; real df10111; real df10102; real df1003; real df10021; real df10012; real df10003; real df0400; real df0310; real df0301; real df03001; real df0220; real df0211; real df02101; real df0202; real df02011; real df02002; real df0130; real df0121; real df01201; real df0112; real df01111; real df01102; real df0103; real df01021; real df01012; real df01003; real df0040; real df0031; real df00301; real df0022; real df00211; real df00202; real df0013; real df00121; real df00112; real df00103; real df0004; real df00031; real df00022; real df00013; real df00004; } FunFourthFuncDrv; typedef struct Functional_ Functional; enum FunError { FUN_OK, FUN_UNKNOWN, FUN_CONF_ERROR }; EXTERN_C enum FunError fun_select_by_name(const char *conf_string); extern Functional *selected_func; extern int (*fun_printf)(const char *fmt, ...); extern void (*fun_set_hf_weight)(real w); extern real (*fun_get_hf_weight)(void); extern void (*fun_set_cam_param)(real w, real b); int dft_get_cam_param(real *alpha, real *beta, real *mu); /* FunDensProp structure contains properties of the density that are needed for functional evaluation and possibly other purposes. */ typedef struct FunDensProp_ { real rhoa, rhob; real grada, gradb; /* norms of the density gradient, not squares */ real gradab; /* scalar product of grada and gradb */ /* real current[3] or something may come in the future :-) */ } FunDensProp; /* EnergyFunc: the function returning the energy for given densities and gradients. Note that some functionals(like LYP) depend explicitely on separately alpha and beta densities */ typedef int (*IsGGAFunc)(void); typedef int (*ReadInputFunc)(const char* conf_string); typedef void (*ReportFunc)(void); typedef real (*EnergyFunc)(const FunDensProp* dens_prop); typedef void (*FirstOrderFun)(FunFirstFuncDrv *ds, real factor, const FunDensProp* dns_prp); typedef void (*SecondOrderFun)(FunSecondFuncDrv *ds, real factor, const FunDensProp* dens_prop); typedef void (*ThirdOrderFun)(FunThirdFuncDrv *ds, real factor, const FunDensProp* dens_prop); typedef void (*FourthOrderFun)(FunFourthFuncDrv *ds, real factor, const FunDensProp *dens_prop); struct Functional_ { const char* name; /* descriptive functional name (usually 5 characters) */ IsGGAFunc is_gga; ReadInputFunc read; ReportFunc report; /* Only unrestricted implementations are needed. A benchmark for * a CO molecule with 28 basis function reveals a 4% time difference. * This difference will only decrease for larger systems. */ EnergyFunc func; FirstOrderFun first; SecondOrderFun second; ThirdOrderFun third; FourthOrderFun fourth; }; EXTERN_C void drv1_clear(FunFirstFuncDrv* gga); /* set all components to 0 */ EXTERN_C void drv2_clear(FunSecondFuncDrv* gga); /* set all components to 0 */ EXTERN_C void drv3_clear(FunThirdFuncDrv* gga); /* set all components to 0 */ EXTERN_C void drv4_clear(FunFourthFuncDrv* gga); /* set all components to 0 */ /* The list of functionals */ /* sorted list of generic functionals */ extern Functional BeckeFunctional; extern Functional KTFunctional; extern Functional LB94Functional; extern Functional LYPFunctional; extern Functional OPTXFunctional; extern Functional P86cFunctional; extern Functional PW86xFunctional; extern Functional Pw91xFunctional; extern Functional Pw91cFunctional; extern Functional PW92cFunctional; extern Functional PZ81Functional; extern Functional PbecFunctional; extern Functional PbexFunctional; extern Functional SlaterFunctional; extern Functional VWN3Functional; extern Functional VWN5Functional; extern Functional VWNIFunctional; extern Functional VWN3IFunctional; extern Functional VWNFunctional; extern Functional XAlphaFunctional; /* sorted list of mixed functionals */ extern Functional B3LYPFunctional; extern Functional B3LYPGaussFunctional; extern Functional B3P86Functional; extern Functional B3P86GFunctional; extern Functional B3PW91Functional; extern Functional BHandHFunctional; extern Functional BHandHLYPFunctional; extern Functional BLYPFunctional; extern Functional BP86Functional; extern Functional BPW91Functional; extern Functional Camb3lypFunctional; extern Functional CamFunctional; extern Functional CombineFunctional; extern Functional GGAKeyFunctional; extern Functional HseFunctional; extern Functional KT1Functional; extern Functional KT2Functional; extern Functional KT3Functional; extern Functional LDAFunctional; extern Functional OLYPFunctional; extern Functional PBE0Functional; extern Functional PBEFunctional; extern Functional SVWN3Functional; extern Functional SVWN5Functional; /* the list of the functionals */ extern Functional* available_functionals[]; extern int fun_true(void); extern int fun_false(void); /* fortran (and not only) functional stub routines */ EXTERN_C void dftlistfuncs_(void); int dft_isgga_(void); int dft_isgga__(void); EXTERN_C void dftreport_(void); EXTERN_C int fun_get_cam_param(real *alpha, real *beta, real *mu); #endif /* _FUNCTIONALS_H_ */ ergo-3.5/source/dft/integrator.h0000664000175000017500000001074412743400307013652 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file integrator.h The DFT integrator interface. Pawel Salek. */ #ifndef _INTEGRATOR_H_ #define _INTEGRATOR_H_ #include "basisinfo.h" #include "matrix_typedefs.h" #include "grid_stream.h" #include "functionals.h" typedef ergo_real real; typedef ergo_long_real long_real; /* =================================================================== */ /* BLOCKED INTEGRATORS */ /* =================================================================== */ typedef struct DftIntegratorBl_ { /* private to integrator */ real (*coor)[3]; real* weight; real* atv; /* the orbital values and their derivatives at given * grid point. The vector is indexed by dftinf_.kso1, etc * the dimensioning is (C syntax) [ntypso][nbast][bllen]. */ real dfthri; /* threshold on orbital values */ int nsym, shl_bl_cnt, bas_bl_cnt[8]; int (*shlblocks)[2]; /* shell blocks */ int (*basblocks)[2]; /* basis function blocks */ #define BASBLOCK(grid,isym) ((grid)->basblocks + (isym)*(grid)->shl_bl_cnt) int ntypso; /* how many different vectors are computed for each * (point,orbital) pair. i.e whether only orbital values * are computed (1), orbital values and first derivatives * (4), etc. */ int london_off; /* offset of the "london" orbital derivatives */ /* 1 - only values; 4 - values + (x,y,z) derivatives, etc */ int ndmat; /* 1 for closed shell, 2 for open shell */ int nbast; /* number of basis functions */ /* for closed shell, only rho is set. For open shell, only rhoa and rhob * is set. */ union { real *rho; /* total density vector; used in closed shell code. */ struct { /* used in open-shell code. */ real *a, *b; }ho; }r; union { real (*grad)[3]; /*total density gradient; used in closed shell code.*/ struct { real (*a)[3], (*b)[3]; }rad; }g; /* public, read only */ real tgrad[3];/* alpha, also used in closed-shell code */ int curr_point; /* index of the current point */ real curr_weight; /* the weight at current grid point */ int dogga, needlap, needgb; } DftIntegratorBl; /* dft_integrate_ao_bl: numerical integration in atomic orbitals, blocked scheme. */ typedef void (*DftBlockCallback)(DftIntegratorBl* grid, real *tmp, int bllen, int blstart, int blend, void* cb_data); DftIntegratorBl* dft_integrator_bl_new(Functional* f, int ndmat, int bllen, int needlondon, const BasisInfoStruct& bis); void dft_integrator_bl_free(DftIntegratorBl *res); class Molecule; namespace Dft { class FullMatrix; class SparseMatrix; real integrate(int ndmat, const FullMatrix * const*dmat, const BasisInfoStruct& bis, const Molecule& mol, const Dft::GridParams& gss, int nThreads, DftBlockCallback cb, void *cb_data); real integrate(int nDmat, const SparseMatrix * const *dmat, const BasisInfoStruct& bis, const Molecule& mol, const Dft::GridParams& gss, int nThreads, DftBlockCallback cb, void *cb_data); } #endif /* _INTEGRATOR_H_ */ ergo-3.5/source/dft/grid_stream.h0000664000175000017500000000345512743400307013775 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file grid_stream.h @brief Streaming grid generator. */ #if !defined(_GRID_STREAM_H_) #define _GRID_STREAM_H_ 1 #include "sparse_matrix.h" #include "grid_params.h" class ErgoGridStream; ErgoGridStream *grid_stream_new(const struct Dft::GridParams& ggs, const GridGenMolInfo& molInfo); void grid_stream_set_sparse_pattern(ErgoGridStream *stream, Dft::SparsePattern *pattern); unsigned grid_stream_generate(ErgoGridStream *stream, const char *fname, int noOfThreads); void grid_stream_free(ErgoGridStream *stream); #endif /* _GRID_STREAM_H_ */ ergo-3.5/source/dft/fun-optx.c0000664000175000017500000002171012743400307013242 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file fun-optx.c Implementation of OPTX exchange functional and its derivatives. #### this is just the gradient corrected term for KT3 functional#### Reference: N.C. Handy and A.J. Cohen, Mol. Phys., 99, 403 (2001). Keal, Tozer, in press (2004). implemented by Dave Wilson (davidwi@kjemi.uio.no) NOTE: this file may seem unnecessarily complex but the structure does pay off when implementing multiple functionals depending on different parameters. */ #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int optx_isgga(void) { return 1; } static int optx_read(const char* conf_line); static real optx_energy(const FunDensProp* dens_prop); static void optx_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dens_prop); static void optx_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dens_prop); static void optx_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dens_prop); Functional OPTXFunctional = { "OPTX", /* name */ optx_isgga, /* gga-corrected */ optx_read, /* set bloody common blocks */ NULL, /* reporter */ optx_energy, optx_first, optx_second, optx_third }; /* IMPLEMENTATION PART */ static int optx_read(const char* conf_line) { fun_set_hf_weight(0.0); return 1; } /* optx_energy: note that in reality E_OPTX = E_OPTX,alpha + E_OPTX,beta i.e the energy is linear in alpha and beta densities. OPTX threshold is needed to avoid numerical problems on 0/0 divisions. The problems are small but it is better to be on the safe side. */ static const real OPTX_THRESHOLD = 1e-14; static const real GAMMA = 0.006; static real optx_energy(const FunDensProp* dp) { real ea,eb; if (dp->rhobrhob,4.0/3.0); real grb = dp->gradb; real xb = grb/rb43; real gxb2 = GAMMA*xb*xb; real ub = gxb2/(1.0 + gxb2); eb = rb43*ub*ub; } if (dp->rhoarhoa,4.0/3.0); real xa = (dp->grada)/ra43; real gxa2 = GAMMA*xa*xa; real ua = gxa2/(1.0 + gxa2); ea = ra43*ua*ua; } return (ea+eb); } static void optx_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp) { real gra, xa, ra43, ra13, ua, ua2, gxa2; real grb, xb, rb43, rb13, ub, ub2, gxb2; real faR, faZ; real fbR, fbZ; if (dp->rhoa >OPTX_THRESHOLD) { gra = dp->grada; ra43 = POW(dp->rhoa,4.0/3.0); ra13 = POW(dp->rhoa,1.0/3.0); xa = gra/ra43; gxa2 = GAMMA*xa*xa; ua = gxa2/(1.0 + gxa2); ua2 = ua*ua; faZ = 4.0*ua2*(1.0 - ua)/xa; faR = 4.0*ua2*ra13*(4.0/3.0*ua - 1.0); ds->df1000 += factor*faR; ds->df0010 += factor*faZ; } if (dp->rhob >OPTX_THRESHOLD) { grb = dp->gradb; rb43 = POW(dp->rhob,4.0/3.0); rb13 = POW(dp->rhob,1.0/3.0); xb = grb/rb43; gxb2 = GAMMA*xb*xb; ub = gxb2/(1.0 + gxb2); ub2 = ub*ub; fbZ = 4.0*ub2*(1.0 - ub)/xb; fbR = 4.0*ub2*rb13*(4.0/3.0*ub - 1.0); ds->df0100 += factor*fbR; ds->df0001 += factor*fbZ; } } static void optx_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { real ra, xa, ra43, ra13, ua, ua2, gxa2; real rb, xb, rb43, rb13, ub, ub2, gxb2; real faR, faZ, faZZ, faRZ, faRR; real fbR, fbZ, fbZZ, fbRZ, fbRR; real faca, fac2a, facb, fac2b; if (dp->rhoa >OPTX_THRESHOLD) { ra = dp->rhoa; ra43 = POW(dp->rhoa,4.0/3.0); ra13 = POW(dp->rhoa,1.0/3.0); xa = (dp->grada)/ra43; gxa2 = GAMMA*xa*xa; ua = gxa2/(1.0 + gxa2); ua2 = ua*ua; faZ = 4.0*ua2*(1.0 - ua)/xa; faR = 4.0/3.0*ra13*ua2*(4.0*ua - 3.0); faca = (1.0 - 2.0*ua)*(1.0 - ua); faZZ = 12.0*ua2/(xa*xa*ra43); faRZ = -16.0*ua2/(xa*ra); fac2a = 4.0*ua2*ra13/(3.0*ra); faRR = 4.0/3.0*ua - 1.0 + 16.0*faca; ds->df1000 += factor*faR; ds->df0010 += factor*faZ; ds->df2000 += factor*faRR*fac2a; ds->df0020 += factor*faZZ*faca; ds->df1010 += factor*faRZ*faca; } if (dp->rhob >OPTX_THRESHOLD) { rb = dp->rhob; rb43 = POW(dp->rhob,4.0/3.0); rb13 = POW(dp->rhob,1.0/3.0); xb = (dp->gradb)/rb43; gxb2 = GAMMA*xb*xb; ub = gxb2/(1.0 + gxb2); ub2 = ub*ub; fbZ = 4.0*ub2*(1.0 - ub)/xb; fbR = 4.0/3.0*rb13*ub2*(4.0*ub - 3.0); facb = (1.0 - 2.0*ub)*(1.0 - ub); fbZZ = 12.0*ub2/(xb*xb*rb43); fbRZ = -16.0*ub2/(xb*rb); fac2b = 4.0*ub2*rb13/(3.0*rb); fbRR = 4.0/3.0*ub - 1.0 + 16.0*facb; ds->df0100 += factor*fbR; ds->df0001 += factor*fbZ; ds->df0200 += factor*fbRR*fac2b; ds->df0002 += factor*fbZZ*facb; ds->df0101 += factor*fbRZ*facb; } } static void optx_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { real ra, xa, xa2, ra43, ra13, ua, ua2, gxa2; real rb, xb, xb2, rb43, rb13, ub, ub2, gxb2; real faR, faZ, faZZ, faRZ, faRR; real fbR, fbZ, fbZZ, fbRZ, fbRR; real faRRR, faRRZ, faRZZ, faZZZ; real fbRRR, fbRRZ, fbRZZ, fbZZZ; real faca, fac2a, t3a, t4a, t5a; real facb, fac2b, t3b, t4b, t5b; if (dp->rhoa >OPTX_THRESHOLD) { ra = dp->rhoa; ra43 = POW(dp->rhoa,4.0/3.0); ra13 = POW(dp->rhoa,1.0/3.0); xa = (dp->grada)/ra43; xa2 = xa*xa; gxa2 = GAMMA*xa2; ua = gxa2/(1.0 + gxa2); ua2 = ua*ua; faZ = 4.0*ua2*(1.0 - ua)/xa; faR = 4.0/3.0*ra13*ua2*(4.0*ua - 3.0); faca = (1.0 - 2.0*ua)*(1.0 - ua); faZZ = 12.0*ua2/(xa*xa*ra43); faRZ = -16.0*ua2/(xa*ra); fac2a = 4.0*ua2*ra13/(3.0*ra); faRR = 4.0/3.0*ua - 1.0 + 16.0*faca; t3a = 4.0*ua2*(1.0 - ua)/(xa2*ra43); t4a = 16.0*ua2*(1.0 - ua)/(3.0*xa*ra*ra); t5a = -8.0*ua2*ra13/(9.0*ra*ra); faZZZ = 6.0/(xa*ra43)*(8.0*ua2 - 7.0*ua + 1.0); faRZZ = -(4.0/ra)*(4.0*ua - 3.0)*(4.0*ua - 1.0); faRRZ = 64.0*ua2 - 70.0*ua + 15.0; faRRR = 4.0*(1.0-ua)*(128.0*ua2-140.0*ua+30.0) + 32.0*ua2 - 140.0/3.0*ua + 15; ds->df1000 += factor*faR; ds->df0010 += factor*faZ; ds->df2000 += factor*faRR*fac2a; ds->df0020 += factor*faZZ*faca; ds->df1010 += factor*faRZ*faca; ds->df0030 += factor*faZZZ*t3a; ds->df1020 += factor*faRZZ*t3a; ds->df2010 += factor*faRRZ*t4a; ds->df3000 += factor*faRRR*t5a; } if (dp->rhob >OPTX_THRESHOLD) { rb = dp->rhob; rb43 = POW(dp->rhob,4.0/3.0); rb13 = POW(dp->rhob,1.0/3.0); xb = (dp->gradb)/rb43; xb2 = xb*xb; gxb2 = GAMMA*xb2; ub = gxb2/(1.0 + gxb2); ub2 = ub*ub; fbZ = 4.0*ub2*(1.0 - ub)/xb; fbR = 4.0/3.0*rb13*ub2*(4.0*ub - 3.0); facb = (1.0 - 2.0*ub)*(1.0 - ub); fbZZ = 12.0*ub2/(xb*xb*rb43); fbRZ = -16.0*ub2/(xb*rb); fac2b = 4.0*ub2*rb13/(3.0*rb); fbRR = 4.0/3.0*ub - 1.0 + 16.0*facb; t3b = 4.0*ub2*(1.0 - ub)/(xb2*rb43); t4b = 16.0*ub2*(1.0 - ub)/(3.0*xb*rb*rb); t5b = -8.0*ub2*rb13/(9.0*rb*rb); fbZZZ = 6.0/(xb*rb43)*(8.0*ub2 - 7.0*ub + 1.0); fbRZZ = -(4.0/rb)*(4.0*ub - 3.0)*(4.0*ub - 1.0); fbRRZ = 64.0*ub2 - 70.0*ub + 15.0; fbRRR = 4.0*(1.0-ub)*(128.0*ub2-140.0*ub+30.0) + 32.0*ub2 - 140.0/3.0*ub + 15; ds->df0100 += factor*fbR; ds->df0001 += factor*fbZ; ds->df0200 += factor*fbRR*fac2b; ds->df0002 += factor*fbZZ*facb; ds->df0101 += factor*fbRZ*facb; ds->df0003 += factor*fbZZZ*t3b; ds->df0102 += factor*fbRZZ*t3b; ds->df0201 += factor*fbRRZ*t4b; ds->df0300 += factor*fbRRR*t5b; } } ergo-3.5/source/dft/grid_interface.h0000664000175000017500000000477712743400307014452 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* -*-mode:c; c-style:bsd; c-basic-offset:4;indent-tabs-mode:nil; -*- */ /** @file grid_interface.h Grid Generator interface. */ #if !defined(_GRID_INTERFACE_H_) #define _GRID_INTERFACE_H_ 1 #include "realtype.h" typedef ergo_real real; /** GridGenMolInfo is an abstract class providing information about * the molecule so that the grid generator can fetch atom positions * and charges, and shell extents. We prefer to provide virtual * functions than just store data in order to reduce storage and need * no destructor. This abstract interface also allows to share the * code between different programs. */ class GridGenMolInfo { public: int noOfAtoms; int noOfBasisFuncs; int noOfShells; GridGenMolInfo(int a, int b, int s) : noOfAtoms(a), noOfBasisFuncs(b), noOfShells(s) {} virtual void getAtom(int icent, int *cnt, real (*coor)[3], int *charge, int *mult) const = 0; virtual void setShellRadii(real *shellRadii) const = 0; virtual void getBlocks(const real *center, real cellsz, const real *rshell, int *nblcnt, int (*iblcks)[2]) const = 0; virtual void getExps(int *maxl, int **nucbas, real (**aa)[2]) const = 0; virtual ~GridGenMolInfo() {}; }; #endif /* _GRID_INTERFACE_H_ */ ergo-3.5/source/dft/fun-pbex.c0000664000175000017500000002120112743400307013201 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file fun-pbex.c PBEx implementation. Automatically generated code implementing pbex functional and its derivatives. Generated by func-codegen.pl being a part of a "Automatic code generation framework for analytical functional derivative evaluation", Pawel Salek, 2004 This functional has been generated from following input: ------ cut here ------- pi:3.14159265358979312; xa:sqrt(grada*grada)/rhoa^(4/3); xb:sqrt(gradb*gradb)/rhob^(4/3); parameters for pbex R:0.804; d:0.066725; mu:d*pi^2/3; Sa:xa/(2*(6*pi^2)^(1/3)); Sb:xb/(2*(6*pi^2)^(1/3)); functions for pbex F(S):=1+R-R/(1+mu*S^2/R); Ea(n):=-3/(4*pi)*(3*pi^2)^(1/3)*n^(4/3)*F(Sa); Eb(n):=-3/(4*pi)*(3*pi^2)^(1/3)*n^(4/3)*F(Sb); kernel K(rhoa,grada,rhob,gradb,gradab):=0.5*(Ea(2*rhoa)+Eb(2*rhob)); ------ cut here ------- */ #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int pbex_isgga(void) { return 1; } /* FIXME: detect! */ static int pbex_read(const char *conf_line); static real pbex_energy(const FunDensProp* dp); static void pbex_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp); static void pbex_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp); static void pbex_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp); Functional PbexFunctional = { "Pbex", /* name */ pbex_isgga, /* gga-corrected */ pbex_read, NULL, pbex_energy, pbex_first, pbex_second, pbex_third }; /* IMPLEMENTATION PART */ static int pbex_read(const char *conf_line) { fun_set_hf_weight(0); return 1; } static real pbex_energy(const FunDensProp *dp) { real res; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb; real t1; t1 = POW(2.0,0.33333333333333); /* code */ res = 0.5*(-1.477117532764045*t1*POW(rhob,1.333333333333333)* (1.804-0.804/(0.00449279948023*POW(gradb,2.0)/POW(rhob,2.666666666666667)+ 1.0))-1.477117532764045*t1*POW(rhoa,1.333333333333333)*(1.804- 0.804/(0.00449279948023*POW(grada,2.0)/POW(rhoa,2.666666666666667)+ 1.0))); return res; } static void pbex_first_helper(real rhoa, real grada, real *res) { real t1, t2, t3, t4; t1 = POW(2.0,0.33333333333333); t2 = POW(grada,2.0); t3 = 0.00449279948023*t2/POW(rhoa,2.666666666666667)+ 1.0; t4 = 1/POW(t3,2.0); /* code */ res[0] = 0.5*(0.0142284263421*t1*t2*t4/POW(rhoa,2.333333333333334)- 1.969490043685393*t1*(1.804-0.804/t3)*POW(rhoa,0.33333333333333)); res[1] = - 0.00533565987829*t1*t4*grada/POW(rhoa,1.333333333333333); } static void pbex_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp) { real res[2]; pbex_first_helper(dp->rhoa, dp->grada, res); /* Final assignment */ ds->df1000 += factor*res[0]; ds->df0010 += factor*res[1]; if(FABS(dp->rhoa-dp->rhob)>1e-13 || FABS(dp->grada-dp->gradb)>1e-13) pbex_first_helper(dp->rhob, dp->gradb, res); ds->df0100 += factor*res[0]; ds->df0001 += factor*res[1]; } static void pbex_second_helper(real rhoa, real grada, real *res) { real t1, t2, t3, t4, t5, t6, t7, t8; t1 = POW(2.0,0.33333333333333); t2 = POW(grada,2.0); t3 = 0.00449279948023*t2/POW(rhoa,2.666666666666667)+ 1.0; t4 = 1/POW(t3,2.0); t5 = 1/POW(rhoa,2.333333333333334); t6 = 1.804-0.804/t3; t7 = 1/POW(rhoa,1.333333333333333); t8 = 1/POW(t3,3.0); /* code */ res[0] = 0.5*(0.0142284263421*t1*t2*t4*t5-1.969490043685393* t1*t6*POW(rhoa,0.33333333333333)); res[1] = -0.00533565987829*t1*grada*t4*t7; res[2] = 0.5*(3.409358211962494E-4*t1*t8*POW(grada,4.0)/ POW(rhoa,6.0)-0.0142284263421*t1*t2*t4/POW(rhoa,3.333333333333334)- 0.65649668122846*t1*t6/POW(rhoa,0.66666666666667)); res[3] = 0.5*(0.0142284263421*t1*grada*t4*t5-2.557018658971871E-4* t1*t8*POW(grada,3.0)/POW(rhoa,5.0)); res[4] = 9.588819971144516E-5*t1*t2*t8/POW(rhoa,4.0)- 0.00533565987829*t1*t4*t7; } static void pbex_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { real res[5]; pbex_second_helper(dp->rhoa, dp->grada, res); ds->df1000 += factor*res[0]; ds->df0010 += factor*res[1]; ds->df2000 += factor*res[2]; ds->df1010 += factor*res[3]; ds->df0020 += factor*res[4]; if(FABS(dp->rhoa-dp->rhob)>1e-13 || FABS(dp->grada-dp->gradb)>1e-13) pbex_second_helper(dp->rhob, dp->gradb, res); ds->df0100 += factor*res[0]; ds->df0001 += factor*res[1]; ds->df0200 += factor*res[2]; ds->df0101 += factor*res[3]; ds->df0002 += factor*res[4]; } static void pbex_third_helper(real rhoa, real grada, real *res) { real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15; t1 = POW(2.0,0.33333333333333); t2 = POW(grada,2.0); t3 = 0.00449279948023*t2/POW(rhoa,2.666666666666667)+ 1.0; t4 = 1/POW(t3,2.0); t5 = 1/POW(rhoa,2.333333333333334); t6 = 1.804-0.804/t3; t7 = 1/POW(rhoa,1.333333333333333); t8 = POW(grada,4.0); t9 = 1/POW(t3,3.0); t10 = 1/POW(rhoa,6.0); t11 = 1/POW(rhoa,3.333333333333334); t12 = POW(grada,3.0); t13 = 1/POW(rhoa,5.0); t14 = 1/POW(rhoa,4.0); t15 = 1/POW(t3,4.0); /* code */ res[0] = 0.5*(0.0142284263421*t1*t2*t4*t5-1.969490043685393* t1*t6*POW(rhoa,0.33333333333333)); res[1] = -0.00533565987829*t1*grada*t4*t7; res[2] = 0.5*(-0.65649668122846*t1*t6/POW(rhoa,0.66666666666667)- 0.0142284263421*t1*t2*t4*t11+3.409358211962494E-4*t1*t8*t9* t10); res[3] = 0.5*(0.0142284263421*t1*grada*t4*t5-2.557018658971871E-4* t1*t12*t9*t13); res[4] = 9.588819971144516E-5*t1*t2*t9*t14-0.00533565987829* t1*t4*t7; res[5] = 0.5*(-9.190537681576017E-6*t1*t15*POW(grada, 5.0)/POW(rhoa,8.666666666666666)-0.0331996614649*t1*grada* t4*t11+0.00161944515068*t1*t12*t9*t10); res[6] = 0.5*(6.892903261182013E-6*t1*t15*t8/POW(rhoa, 7.666666666666667)+0.0142284263421*t1*t4*t5-0.00102280746359* t1*t2*t9*t13); res[7] = 0.5*(1.225405024210135E-5*t1*t15*POW(grada,6.0)/ POW(rhoa,9.666666666666666)-0.00238655074837*t1*t8*t9/POW(rhoa, 7.0)+0.05375183284794*t1*t2*t4/POW(rhoa,4.333333333333333)+ 0.43766445415231*t1*t6/POW(rhoa,1.666666666666667)); res[8] = 2.876645991343355E-4*t1*grada*t9*t14-2.584838722943255E-6* t1*t12*t15/POW(rhoa,6.666666666666667); } static void pbex_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { real res[9]; pbex_third_helper(dp->rhoa, dp->grada, res); ds->df1000 += factor*res[0]; ds->df0010 += factor*res[1]; ds->df2000 += factor*res[2]; ds->df1010 += factor*res[3]; ds->df0020 += factor*res[4]; ds->df2010 += factor*res[5]; ds->df1020 += factor*res[6]; ds->df3000 += factor*res[7]; ds->df0030 += factor*res[8]; if(FABS(dp->rhoa-dp->rhob)>1e-13 || FABS(dp->grada-dp->gradb)>1e-13) pbex_third_helper(dp->rhob, dp->gradb, res); ds->df0100 += factor*res[0]; ds->df0001 += factor*res[1]; ds->df0200 += factor*res[2]; ds->df0101 += factor*res[3]; ds->df0002 += factor*res[4]; ds->df0201 += factor*res[5]; ds->df0102 += factor*res[6]; ds->df0300 += factor*res[7]; ds->df0003 += factor*res[8]; } ergo-3.5/source/dft/sparse_matrix.cc0000664000175000017500000002630612743400307014514 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file sparse_matrix.cc The implementation of sparse matrix optimized for XC integration. Notes: the atom reordering issues are not discussed. Some preliminary experiments suggest that reordering may give 20% speedup. The permutation speedup remain to be thoroughly tested. */ #include #include #include #include #include #include #include "output.h" #include "dft_common.h" #include "sparse_matrix.h" BEGIN_NAMESPACE(Dft) /** computes a squared distance between two points. */ static inline ergo_real sqDist(const ergo_real a[], const ergo_real b[]) { ergo_real res = 0; for(int i=0; i<3; i++) { ergo_real d = a[i]-b[i]; res += d*d; } return res; } class NeighbourList { const ShellSpecStruct* shellInfo; std::list neighbours; ergo_real extent; /**< an approximation for the shell extent. */ public: NeighbourList(const ShellSpecStruct* sis, ergo_real thr) : shellInfo(sis), extent(0) { /* We should really check what is left out, an additional term that is very relevant for functions with low exponent is skipped. */ for(int i=0; inoOfContr; i++) { ergo_real rad = std::sqrt(-std::log(thr/std::fabs(sis->coeffList[i])) /sis->exponentList[i]); if (rad>extent) extent = rad; } } void setOverlappingWith(const std::vector& list) { for(unsigned i=0; i < list.size(); ++i) { const ShellSpecStruct& otherShell = *list[i].shellInfo; ergo_real sqDistance = sqDist(shellInfo->centerCoords, otherShell.centerCoords); ergo_real minDist = list[i].extent + extent; //printf("Comparing to shell # %i - %f away\n", i, sqrt(sqDistance)); if(sqDistance::iterator begin() { return neighbours.begin(); } std::list::iterator end() { return neighbours.end(); } size_t size() const { return neighbours.size(); } }; #if 0 static int findExtremeShell(int noOfShells, const ShellSpecStruct* shellList) { static const ergo_real origin[] = { 0.0, 0.0, 0.0 }; ergo_real rMax = sqDist(shellList[0].centerCoords, origin); int iMax = 0; for(int i=1; irMax) { rMax = r; iMax = i; } } /* printf("Extreme Shell: %i\n", iMax); */ return iMax; } #endif typedef ergo_real *ErgoRealPtr; SparseMatrix::SparseMatrix(const SparsePattern& pattern_) : pattern(pattern_), columns(new ErgoRealPtr[pattern_.size()]), n(pattern_.size()) { for(int col=0; col const & permutationHML) : pattern(pattern_), columns(new ErgoRealPtr[pattern_.size()]), n(pattern_.size()) { std::vector rowI(n), colI(n); for(int col=0; col columnsTmp; sMat.get_values(rowI, colI, columnsTmp, permutationHML, permutationHML); /* FIXME: avoid slow copy somehow */ std::copy(columnsTmp.begin(), columnsTmp.end(),columns[col]); #if 0 printf("get_values() for column %d returned:\n", col); for(int row=0; rowlo - last; off[idx] = offset; hi[idx] = last = i->hi; ++idx; } cnt[col] = numberOfIntervals; } } #if 1 void SparseMatrix::print(const char *title) const { puts(title); for(int row=0; row const & permutationHML) const { const unsigned BUF_SIZE = 10*n; std::vector rowI(BUF_SIZE), colI(BUF_SIZE); std::vector buf(BUF_SIZE); colI.clear(); rowI.clear(); buf.clear(); for(int col=0; col col ? col : iblocks[rowBl][1]; for(row=iblocks[rowBl][0]; row. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file integrator.cc The DFT integrator. (c) Pawel Salek, pawsa@theochem.kth.se. 2001.07.13 The WRKMEM memory block is not used since it should be deprecated. It might be therefore useful to enable memory overcommiting. On linux-2.4.x it can be done with echo 1 > /proc/sys/vm/overcommit_memory or a sysctl call. We use it only to pass it to other Fortran routines we call. OPTIMIZATIONS: ordinary calculation uses approximately only 4% total CPU time in this code. Most likely, the optimizations should be sought somewhere else. The simple optimization path is though to use block structure of kappa matrices to reduce time by 2 for larger matrices. integrator.cc provides dft_integrator() routine. It is passed some standard parameters and a table of callbacks and associated closures (callback data). The callback gets the grid data for current point as well as its own closure. The grid file is assumed to be available on call to dft_integrator(). Otherwise, it is a black-box implementation. */ #include #include #include #include #include #include #include #define __CVERSION__ #include "aos.h" #include "integrator.h" #include "functionals.h" #include "output.h" #include "rho-mat.h" #include "sparse_matrix.h" #include "grid_reader.h" #include "dft_common.h" /* blocksz_t is a variable that matches the one used by the * fortran runtime library to store the block size. This type * is compilator dependent but is usually int or long int. */ #if defined(__gnu_linux__) /* gnu compilers use this */ typedef long blocksz_t; #else /* safe default for all the other compilers */ typedef int blocksz_t; #endif #define max(a,b) ((a)>(b)? (a):(b)) /** the DFT grid buffer length. grid_getchunk_blocked() will never try to read buffers longer than this. */ #define GRID_BUFF_SZ 100000 /* =================================================================== */ /* BLOCKED INTEGRATORS */ /* =================================================================== */ /* Blocked integrator(s) have altered the block structure to enhance * data locality and increase length of internal loops. This should * increase performance even for small molecules and reach linear * scaling for large ones by enabling vector-like optimization and * enhancing data locality. */ /* dft_grid_blocked_new: initialize grid data. ndmat - number of density matrices handled at the same time needed for temporary array. bllen - grid point batch length. */ DftIntegratorBl* dft_integrator_bl_new(Functional* f, int ndmat, int bllen, int needlondon, const BasisInfoStruct& bis) { int kmax, nbast; DftIntegratorBl* grid = new DftIntegratorBl; grid->coor = (real (*)[3])calloc(3*GRID_BUFF_SZ, sizeof(real)); grid->weight = (real*)calloc(GRID_BUFF_SZ, sizeof(real)); grid->dogga = f->is_gga(); grid->dfthri = 1e-13; grid->needlap= 0; grid->needgb = needlondon; grid->nsym = 1; grid->ndmat = ndmat; grid->nbast = nbast = bis.noOfBasisFuncs; kmax = bis.noOfShells; #ifdef DALTON geodrv = grid->dogga ? 1 : 0; setupsos_(&geodrv, &grid->needgb, &grid->ntypso, &grid->london_off); grid->london_off--; /* convert from fortran offset type */ #else grid->ntypso = grid->dogga ? 4 : 1; #endif grid->atv = (real*)calloc(bllen*nbast*grid->ntypso, sizeof(real)); grid->shlblocks = (int (*)[2])dal_malloc(2*kmax*sizeof(int)); grid->basblocks = (int (*)[2])dal_malloc(2*kmax*8*sizeof(int)); /* Allocate memory for rho, taking advantage of the union. */ grid->r.rho = dal_new(ndmat*bllen,real); grid->g.grad = (real (*)[3])dal_malloc(ndmat*3*bllen*sizeof(real)); /* and set some aliases in case somebody needed them for open-shell. * * Observe that rho aliases with rhoa. */ if(ndmat == 2) { grid->r.ho.b = grid->r.ho.a + bllen; grid->g.rad.b = grid->g.rad.a + bllen; } return grid; } void dft_integrator_bl_free(DftIntegratorBl *res) { free(res->coor); free(res->weight); free(res->atv); free(res->r.rho); free(res->g.grad); free(res->shlblocks); free(res->basblocks); delete res; } /* grid_blocked_getval: evaluates a block of bllen orbitals */ void blgetsos_(int *nvclen, real GSO[], real COOR[], int *NBLCNT, int IBLCKS[], real WORK[], int *LWORK, int *NBAST, int *DOLND, int *DOGGA, real *DFTHRI, const int*IPRINT); static void output_memory_usage(bool& a) { static pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_lock(&m); if(!a){ output_current_memory_usage(LOG_AREA_DFT, "XC integration loop"); a = true; } pthread_mutex_unlock(&m); } template static real dft_integrate(int ndmat, const DensityType* const * dmat, const BasisInfoStruct& bis, const Molecule& mol, const Dft::GridParams& gss, int nThreads, DftBlockCallback cb, void *cb_data) { int npoints, blocksz; int nbast = bis.noOfBasisFuncs; real electrons; /* alpha electrons only most of the time */ DftIntegratorBl* grid; real *dmagao; DftGridReader* rawgrid; int nder; static bool firstThreadFlag; firstThreadFlag = false; ErgoMolInfo mol_info(bis, mol); dmagao = dal_new(nbast*DFT_MAX_BLLEN,real); grid = dft_integrator_bl_new(selected_func, ndmat, DFT_MAX_BLLEN, false, bis); /* start integration */ electrons = 0.0; nder = grid->dogga ? 1 : 0; Dft::Matrix *mat = createGridMatrix(*dmat[0]); rawgrid = grid_open_full(&mol_info, gss, NULL, mat, bis); delete mat; if(sync_threads(false, nThreads) != 0) throw "Error syncing threads"; output_memory_usage(firstThreadFlag); npoints = 0; while( (blocksz=grid_getchunk_blocked(rawgrid, GRID_BUFF_SZ, &grid->shl_bl_cnt, &grid->shlblocks[0][0], &grid->coor[0], grid->weight)) >=0) { int ipnt; ergoShellsToOrbs(&grid->shl_bl_cnt, grid->shlblocks, grid->bas_bl_cnt, grid->basblocks, bis); for(ipnt=0; ipntcurr_point = ipnt; dft_get_orbs(len, grid->atv, (real(*)[3]) &grid->coor[ipnt][0], grid->shl_bl_cnt, (int(*)[2]) &grid->shlblocks[0][0], nder, bis); for(i=0; idogga) getrho_blocked_gga(nbast, *dmat[i], grid->atv, grid->bas_bl_cnt, grid->basblocks, grid->shl_bl_cnt, dmagao, len, grid->r.rho+roff, grid->g.rad.a+roff); else getrho_blocked_lda(nbast, *dmat[i], grid->atv, grid->bas_bl_cnt, grid->basblocks, grid->shl_bl_cnt, dmagao, len, grid->r.rho+roff); for(j=0; jweight[ipnt+j]*grid->r.rho[j+roff]; } lo = 0; hi = len; npoints += len; /* Consider skipping low-density points at the beginning and the end of the batch by modifying lo and hi. */ if(lo. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef _DFT_COMMON_H_ #define _DFT_COMMON_H_ #include #include #ifdef __cplusplus #define EXTERN_C extern "C" #else #define EXTERN_C #endif #include "realtype.h" #include "basisinfo.h" #include "matrix_typedefs.h" #include "functionals.h" #include "grid_atomic.h" /** A vector of first order derivatives with respect to two * parameters: density rho and SQUARE of the gradient of density grho. * zeta_i = |nabla rho_i|^2 */ typedef struct { real fR; /* d/drho F */ real fZ; /* d/zeta F */ } FirstDrv; /* SecondDrv: matrix of second order functional derivatives with * respect to two parameters: density rho and SQUARE of the * density gradient zeta. The derivatives are computed for alpha-alpha * or beta-beta spin-orbital block (i.e. include triplet flag). */ typedef struct { real fR; /* d/drho F */ real fZ; /* d/dzeta F */ real fRR; /* d/drho^2 F */ real fRZ; /* d/(drho dzeta) F */ real fZZ; /* d/dzeta^2 F */ /* additional derivatives required by */ /* general linear response scheme */ real fRG; /* d/(drho dgamma) F */ real fZG; /* d/(dzeta dgamma) F */ real fGG; /* d/dgamma^2 F */ real fG; /* d/dgamma F */ } SecondDrv; EXTERN_C void dftpot0_(FirstDrv *ds, const real* weight, const FunDensProp* dp); EXTERN_C void dftpot1_(SecondDrv *ds, const real* w, const FunDensProp* dp, const int* triplet); EXTERN_C void dft_init(void); EXTERN_C int dft_setfunc(const char *line); class ShellTree; /** Ergo specific implementation of molecule-grid interface. */ class ErgoMolInfo : public GridGenMolInfo { const BasisInfoStruct& bis; const Molecule& molecule; public: ErgoMolInfo(const BasisInfoStruct& bis_, const Molecule& mol); virtual ~ErgoMolInfo(); virtual void getAtom(int icent, int *cnt, real (*coor)[3], int *charge, int *mult) const; virtual void setShellRadii(real *shellRadii) const; virtual void getBlocks(const real *center, real cellsz, const real *rshell, int *nblcnt, int (*iblcks)[2]) const; void getBlocks1(const real *center, real cellsz, const real *rshell, int *nblcnt, int (*iblcks)[2]) const; virtual void getExps(int *maxl, int **nucbas, real (**aa)[2]) const; ShellTree *shellTree; }; EXTERN_C void ergoShellsToOrbs(const int *nshlbl, const int (*shlblock)[2], int *norbbl, int (*orbblock)[2], const BasisInfoStruct& bis); EXTERN_C int dft_get_num_threads(); EXTERN_C void dft_set_num_threads(int nThreads); EXTERN_C void dft_init(void); #define dal_new(sz,tp) (tp*)dal_malloc_((sz)*sizeof(tp),__FUNCTION__, __LINE__) void* dal_malloc_(size_t sz, const char *func, unsigned line); /* dal_malloc: usage discouraged */ #define dal_malloc(sz) dal_malloc_((sz),__FUNCTION__, __LINE__) /* useful constants for BLAS interfacing */ extern int ZEROI, ONEI, THREEI, FOURI; extern real ZEROR, ONER, TWOR, FOURR; /** Class Box provides an ability to determine box containing all Objects. The class Object must provide field center[] and method radius(). */ class Box { public: real getDistanceTo(const real* v) const; int getMaxDim() const; real size(int dim) const { return hi[dim]-lo[dim]; } bool overlapsWith(const real *center, real radius) const { real d = getDistanceTo(center); return d < radius; } /** Determines whether given point is inside the box. In order to avoid double counting, the points that are overlap with the lower limits are included but those that overlap with the higher limit are excluded. */ bool contains(const real *p) const { #if 0 printf("B:(%8.2f %8.2f %8.2f)-(%8.2f %8.2f %8.2f): %8.2f %8.2f %8.2f ", lo[0], lo[1], lo[2], hi[0], hi[1], hi[2], p[0], p[1], p[2]); #endif for(int i=0; i<3; i++) if(p[i]= hi[i]) { //puts("F"); return false; } //puts("T"); return true; } real lo[3]; real hi[3]; }; template void getBoundingBox(Box& box, Iterator start, Iterator end) { static const ergo_real OFF = 0.1; if(start == end) throw "BoundingBox called for empty set"; real r = start->radius() + OFF; for(int i=0; i<3; i++) { box.lo[i] = start->center[i]-r; box.hi[i] = start->center[i]+r; } for(++start; start != end; ++start) { real r = start->radius() + OFF; for(int i=0; i<3; i++) { real l = start->center[i]-r; if (lcenter[i]+r; if (h>box.hi[i]) box.hi[i] = h; } } } int sync_threads(bool release, int nThreads); #endif /* _DFT_COMMON_H_ */ ergo-3.5/source/dft/fun-pbec.c0000664000175000017500000014363212743400307013171 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file fun-pbec.c PBEc implementation. Automatically generated code implementing PBEC functional and its derivatives. It is generated by func-codegen.pl being a part of a "Automatic code generation framework for analytical functional derivative evaluation", Pawel Salek, 2005 This functional is connected by making following changes: 1. add "extern Functional pbecFunctional;" to 'functionals.h' 2. add "&pbecFunctional," to 'functionals.c' 3. add "fun-pbec.c" to 'Makefile.am', 'Makefile.in' or 'Makefile'. This functional has been generated from following input: ------ cut here ------- parameter fuer PW92C c:1.709921; T:[0.031091,0.015545,0.016887]; U:[0.21370,0.20548,0.11125]; V:[7.5957,14.1189,10.357]; W:[3.5876,6.1977,3.6231]; X:[1.6382,3.3662,0.88026]; Y:[0.49294,0.62517,0.49671]; P:[1,1,1]; funktionen fuer PW92C r(a,b):=(3/(4*%PI*(a+b)))^(1/3); zet(a,b):=(a-b)/(a+b); omega(z):=((1+z)^(4/3)+(1-z)^(4/3)-2)/(2^(4/3)-2); en(r,t,u,v,w,x,y,p):=-2*t*(1+u*r) *log(1+1/(2*t*(v*sqrt(r)+w*r+x*r^(3/2)+y*r^(p+1)))); eps(a,b) := en(r(a,b),T[1],U[1],V[1],W[1],X[1],Y[1],P[1]) - en(r(a,b),T[3],U[3],V[3],W[3],X[3],Y[3],P[3]) *omega(zet(a,b))*(1-(zet(a,b))^4)/c + (en(r(a,b),T[2],U[2],V[2],W[2],X[2],Y[2],P[2]) -en(r(a,b),T[1],U[1],V[1],W[1],X[1],Y[1],P[1])) *omega(zet(a,b))*(zet(a,b))^4; parameter fuer pbec iota:0.0716; nu:16/%PI*(3*%PI^2)^(1/3); kappa:0.004235; lamda:nu*kappa; Z:-0.001667; Xi:23.266; Phi:0.007389; Lamda:8.723; Upsilon:0.472; funktionen fuer pbec u(a,b) := ((1+zet(a,b))^(2/3)+(1-zet(a,b)^(2/3)))/2; u(a,b) := 0.5*((2*a)^(2/3)+(2*b)^(2/3))/(a+b)^(2/3); theta(r):= 10^(-3)*(2.568+Xi*r+Phi*r^2) /(1+Lamda*r+Upsilon*r^2+10*Phi*r^3); phi(r) := theta(r)-Z; sigma(ga,gb,gab) := ga*ga+gb*gb+2*gab; d(a,b,ga,gb,gab) := sqrt(sigma(ga,gb,gab)) /(4*u(a,b)*(3/%PI)^(1/6)*(a+b)^(7/6)); A(a,b) := 2*iota/(lamda*(exp(-2*iota*eps(a,b)/(lamda^2*(u(a,b))^3))-1)); L(d,a,b) := (u(a,b))^3*lamda^2/(2*iota) *log((1+2*(iota*(d^2+A(a,b)*d^4)) /(lamda*(1+A(a,b)*d^2+(A(a,b))^2*d^4)))); kernel K(rhoa,grada,rhob,gradb,gradab):= (rhoa+rhob)*(eps(rhoa,rhob)+ L(d(rhoa,rhob,grada,gradb,gradab),rhoa,rhob)); ------ cut here ------- */ #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int pbec_isgga(void) { return 1; } /* FIXME: detect! */ static int pbec_read(const char *conf_line); static real pbec_energy(const FunDensProp* dp); static void pbec_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp); static void pbec_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp); Functional PbecFunctional = { "PBEC", /* name */ pbec_isgga, /* gga-corrected */ pbec_read, NULL, pbec_energy, pbec_first, pbec_second /*, pbec_third, pbec_fourth */ }; /* IMPLEMENTATION PART */ static int pbec_read(const char *conf_line) { fun_set_hf_weight(0); return 1; } static real pbec_energy(const FunDensProp *dp) { real res; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43; t1 = rhob+rhoa; t2 = POW(3.0,.3333333333333333); t3 = 1/POW(4.0,.3333333333333333); t4 = POW(3.141592653589793,.3333333333333333); t5 = 1/t4; t6 = 1/POW(t1,.3333333333333333); t7 = 0.2137*t2*t3*t5*t6+1.0; t8 = POW(3.0,.6666666666666666); t9 = 1/POW(4.0,.6666666666666666); t10 = POW(3.141592653589793,.6666666666666666); t11 = 1/t10; t12 = 1/POW(t1,.6666666666666666); t13 = 1.732050807568877; t14 = .5641895835477563; t15 = 1/SQRT(t1); t16 = POW(2.0,.3333333333333333); t17 = 1/t16; t18 = POW(3.0,.1666666666666667); t19 = 1/POW(3.141592653589793,.1666666666666667); t20 = 1/POW(t1,.1666666666666667); t21 = LOG(16.0818243221511/(7.5957*t17*t18*t19*t20+3.5876* t2*t3*t5*t6+0.8191*t13*t14*t15+0.49294*t8*t9*t11*t12)+1.0); t22 = - 0.062182*t7*t21; t23 = 1/(2.0*t16-2.0); t24 = rhoa-1.0*rhob; t25 = POW(t24,4.0); t26 = 1/POW(t1,4.0); t27 = 1/t1; t28 = POW(t24*t27+1.0,1.333333333333333)+POW(1.0-1.0* t24*t27,1.333333333333333)-2.0; t29 = .0197517897025652*LOG(29.60857464321668/(10.357* t17*t18*t19*t20+3.6231*t2*t3*t5*t6+0.44013*t13*t14*t15+0.49671* t8*t9*t11*t12)+1.0)*t23*(1.0-1.0*t25*t26)*t28*(0.11125*t2* t3*t5*t6+1.0); t30 = t23*t25*t26*t28*(0.062182*t7*t21-0.03109*LOG(32.1646831778707/ (14.1189*t17*t18*t19*t20+6.1977*t2*t3*t5*t6+1.6831*t13*t14* t15+0.62517*t8*t9*t11*t12)+1.0)*(0.20548*t2*t3*t5*t6+1.0)); t31 = POW(2.0, .6666666666666666); t32 = t31*POW(rhob,.6666666666666666)+t31*POW(rhoa,.6666666666666666); t33 = POW(t32, 3.0); t34 = POW(t1,2.0); t35 = 1/t34; t36 = 1/t2; t37 = POW(gradb,2.0)+2.0*gradab+POW(grada,2.0); t38 = 1/POW(t32,2.0); t39 = POW(t37,2.0); t40 = 1/POW(t32,4.0); t41 = 1/t8; t42 = 1/POW(2.718281828459045,249.5089969598932*t10*(t30+ t29+t22)*t34*t41/t33)-1.0; t43 = 1/t42; /* code */ res = t1*(.0040078715083799*t11*t33*t35*LOG(2.113341204250295* t36*t4*(.1383178583708611*t35*t39*t40*t43+0.25*t36*t4*t37* t38*t27)/(.5283353010625738*t41*t10*t37*t38*t27*t43+.0930460634496268* POW(3.141592653589793,1.333333333333333)*t35*t36*t39*t40/POW(t42, 2.0)+1.0)+1.0)*t8+t30+t29+t22); return res; } static void pbec_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp) { real dfdra, dfdrb, dfdga, dfdgb, dfdgab; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43, t44, t45, t46, t47, t48, t49, t50; real t51, t52, t53, t54, t55, t56, t57, t58; real t59, t60, t61, t62, t63, t64, t65, t66; real t67, t68, t69, t70, t71, t72, t73, t74; real t75, t76, t77, t78, t79, t80, t81, t82; real t83, t84, t85, t86, t87, t88, t89, t90; real t91, t92, t93, t94, t95, t96, t97, t98; real t99, t100, t101, t102, t103, t104, t105; real t106, t107, t108, t109, t110, t111, t112; real t113, t114, t115, t116; t1 = POW(3.0,.3333333333333333); t2 = 1/POW(4.0,.3333333333333333); t3 = POW(3.141592653589793,.3333333333333333); t4 = 1/t3; t5 = rhob+rhoa; t6 = 1/POW(t5,.3333333333333333); t7 = 0.2137*t1*t2*t4*t6+1.0; t8 = POW(3.0,.6666666666666666); t9 = 1/POW(4.0,.6666666666666666); t10 = POW(3.141592653589793,.6666666666666666); t11 = 1/t10; t12 = 1/POW(t5,.6666666666666666); t13 = 1.732050807568877; t14 = .5641895835477563; t15 = SQRT(t5); t16 = 1/t15; t17 = POW(2.0,.3333333333333333); t18 = 1/t17; t19 = POW(3.0,.1666666666666667); t20 = 1/POW(3.141592653589793,.1666666666666667); t21 = 1/POW(t5,.1666666666666667); t22 = 7.5957*t18*t19*t20*t21+3.5876*t1*t2*t4*t6+0.8191* t13*t14*t16+0.49294*t8*t9*t11*t12; t23 = 16.0818243221511/t22+1.0; t24 = LOG(t23); t25 = -0.062182*t7*t24; t26 = 1/(2.0*t17-2.0); t27 = rhoa-1.0*rhob; t28 = POW(t27,4.0); t29 = 1/POW(t5,4.0); t30 = 1.0-1.0*t28*t29; t31 = 0.11125*t1*t2*t4*t6+1.0; t32 = 1/t5; t33 = 1.0-1.0*t27*t32; t34 = t27*t32+1.0; t35 = POW(t34,1.333333333333333)+POW(t33,1.333333333333333)- 2.0; t36 = 10.357*t18*t19*t20*t21+3.6231*t1*t2*t4*t6+0.44013* t13*t14*t16+0.49671*t8*t9*t11*t12; t37 = 29.60857464321668/t36+1.0; t38 = LOG(t37); t39 = .0197517897025652*t26*t30*t31*t35*t38; t40 = 0.20548*t1*t2*t4*t6+1.0; t41 = 14.1189*t18*t19*t20*t21+6.1977*t1*t2*t4*t6+1.6831* t13*t14*t16+0.62517*t8*t9*t11*t12; t42 = 32.1646831778707/t41+1.0; t43 = LOG(t42); t44 = 0.062182*t7*t24-0.03109*t40*t43; t45 = t26*t28*t29*t35*t44; t46 = POW(2.0,.6666666666666666); t47 = t46*POW(rhob,.6666666666666666)+t46*POW(rhoa,.6666666666666666); t48 = POW(t47, 3.0); t49 = POW(t5,2.0); t50 = 1/t49; t51 = 1/t1; t52 = POW(gradb,2.0)+2.0*gradab+POW(grada,2.0); t53 = POW(t47,2.0); t54 = 1/t53; t55 = POW(t52,2.0); t56 = 1/POW(t47,4.0); t57 = 1/t8; t58 = 1/t48; t59 = t45+t39+t25; t60 = 1/POW(2.718281828459045,249.5089969598932*t57*t10* t58*t49*t59); t61 = t60-1.0; t62 = 1/t61; t63 = .1383178583708611*t50*t55*t56*t62+0.25*t51*t3*t52* t54*t32; t64 = POW(3.141592653589793,1.333333333333333); t65 = 1/POW(t61,2.0); t66 = .0930460634496268*t51*t64*t55*t56*t50*t65+.5283353010625738* t57*t10*t52*t54*t32*t62+1.0; t67 = 1/t66; t68 = 2.113341204250295*t51*t3*t63*t67+1.0; t69 = LOG(t68); t70 = .0040078715083799*t8*t11*t48*t50*t69; t71 = 1/POW(t5,1.666666666666667); t72 = 1/POW(t15,3.0); t73 = 1/POW(t5,1.333333333333333); t74 = 1/POW(t5,1.166666666666667); t75 = -1.26595*t18*t19*t20*t74-1.195866666666667*t1*t2* t4*t73-0.40955*t13*t14*t72-.3286266666666666*t8*t9*t11*t71; t76 = 1/ POW(t22,2.0); t77 = 1/t23; t78 = .9999999999999999*t75*t7*t76*t77; t79 = -.5848223397455204*t26*t30*t31*t35*(-1.726166666666666* t18*t19*t20*t74-1.2077*t1*t2*t4*t73-0.220065*t13*t14*t72-0.33114* t8*t9*t11*t71)/(POW(t36,2.0)*t37); t80 = .0044294311333333*t1*t2*t4*t73*t24; t81 = t27*t50; t82 = -1.0*t32; t83 = POW(t33,.3333333333333333); t84 = -1.0*t27*t50; t85 = POW(t34,.3333333333333333); t86 = 1.333333333333333*(t32+t84)*t85+1.333333333333333* (t82+t81)*t83; t87 = .0197517897025652*t26*t30*t31*t86*t38; t88 = -7.324622014701263e-4*t26*t1*t2*t4*t73*t30*t35* t38; t89 = 1/POW(t5,5.0); t90 = 4.0*t28*t89; t91 = POW(t27,3.0); t92 = .0197517897025652*t26*t31*t35*t38*(t90-4.0*t29* t91); t93 = t26*t28*t29*t35*(-.9999999999999999*t75*t7*t76* t77+t40*(-2.35315*t18*t19*t20*t74-2.0659*t1*t2*t4*t73-0.84155* t13*t14*t72-0.41678*t8*t9*t11*t71)/(POW(t41,2.0)*t42)+.0021294577333333* t1*t2*t4*t73*t43-.0044294311333333*t1*t2*t4*t73*t24); t94 = t26*t28*t29*t86*t44; t95 = -4.0*t26*t28*t35*t44*t89; t96 = 4.0*t26*t29*t35*t44*t91; t97 = 1/t68; t98 = -0.25*t51*t3*t52*t54*t50; t99 = 1/POW(rhoa,.3333333333333333); t100 = 1/POW(t5,3.0); t101 = -.2766357167417222*t100*t55*t56*t62; t102 = 1/POW(t47,5.0); t103 = -499.0179939197864*t57*t10*t58*t5*t59; t104 = 499.0179939197864*t46*t57*t10*t99*t56*t49*t59+ t103-249.5089969598932*t57*t10*t58*t49*(t96+t95+t94+t93+t92+ t88+t87+t80+t79+t78); t105 = 1/POW(t66,2.0); t106 = -.1860921268992536*t51*t64*t55*t56*t100*t65; t107 = - .5283353010625738*t57*t10*t52*t54*t50*t62; t108 = 1/POW(t61,3.0); t109 = -.0080157430167598*t8*t11*t48*t100*t69; t110 = 1.333333333333333*(t82+t84)*t85+1.333333333333333* (t32+t81)*t83; t111 = .0197517897025652*t26*t30*t31*t110*t38; t112 = .0197517897025652*t26*t31*t35*t38*(4.0*t29*t91+ t90); t113 = t26*t28*t29*t110*t44; t114 = -4.0*t26*t29*t35*t44*t91; t115 = 1/POW(rhob,.3333333333333333); t116 = 499.0179939197864*t46*t57*t10*t56*t115*t49*t59+ t103-249.5089969598932*t57*t10*t58*t49*(t114+t95+t113+t93+ t112+t88+t111+t80+t79+t78); /* code */ dfdra = t5*(.0040078715083799*t11*t48*t50*t8*t97*(2.113341204250295* t3*t51*t67*(-.3688476223222962*t102*t46*t50*t55*t62*t99+t98- .1383178583708611*t104*t50*t55*t56*t60*t65-.3333333333333333* t46*t51*t3*t52*t99*t58*t32+t101)-2.113341204250295*t51*t3* t63*t105*(-.5283353010625738*t57*t10*t52*t54*t32*t104*t65* t60-.1860921268992536*t51*t64*t55*t56*t50*t104*t108*t60-.7044470680834316* t46*t57*t10*t52*t99*t58*t32*t62+t107-.2481228358656715*t46* t51*t64*t55*t99*t102*t50*t65+t106))+t96+t95+t94+t93+t92+t88+ t87+t80+t79+t78+.0080157430167598*t46*t8*t11*t99*t53*t50*t69+ t109)+t70+t45+t39+t25; dfdrb = t5*(.0040078715083799*t11*t48*t50*t8*t97*(2.113341204250295* t3*t51*t67*(t98-.1383178583708611*t116*t50*t55*t56*t60*t65- .3688476223222962*t102*t115*t46*t50*t55*t62-.3333333333333333* t46*t51*t3*t52*t58*t115*t32+t101)-2.113341204250295*t51*t3* t63*t105*(-.5283353010625738*t57*t10*t52*t54*t32*t116*t65* t60-.1860921268992536*t51*t64*t55*t56*t50*t116*t108*t60-.7044470680834316* t46*t57*t10*t52*t58*t115*t32*t62+t107-.2481228358656715*t46* t51*t64*t55*t102*t115*t50*t65+t106))+t95+t93+t88+t80+t79+t78+ .0080157430167598*t46*t8*t11*t53*t115*t50*t69+t114+t113+t112+ t111+t109)+t70+t45+t39+t25; dfdga = .0040078715083799*t11*t32*t48*t8*t97*(2.113341204250295* t3*t51*t67*(.5532714334834444*t50*t52*t56*t62*grada+0.5*t51* t3*grada*t54*t32)-2.113341204250295*t51*t3*t63*(1.056670602125148* t57*t10*grada*t54*t32*t62+.3721842537985072*t51*t64*grada* t52*t56*t50*t65)*t105); dfdgb = .0040078715083799*t11*t32*t48*t8*t97*(2.113341204250295* t3*t51*t67*(.5532714334834444*t50*t52*t56*t62*gradb+0.5*t51* t3*gradb*t54*t32)-2.113341204250295*t51*t3*t63*(1.056670602125148* t57*t10*gradb*t54*t32*t62+.3721842537985072*t51*t64*gradb* t52*t56*t50*t65)*t105); dfdgab = .0040078715083799*t11*t32*t48*(2.113341204250295* t3*t51*(.5532714334834444*t50*t52*t56*t62+0.5*t51*t3*t54*t32)* t67-2.113341204250295*t51*t3*t63*(1.056670602125148*t57*t10* t54*t32*t62+.3721842537985072*t51*t64*t52*t56*t50*t65)*t105)* t8*t97; ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df0010 += factor*dfdga; ds->df0001 += factor*dfdgb; ds->df00001+= factor*dfdgab; } static void pbec_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { real dfdra, dfdrb, dfdga, dfdgb, dfdgab; real d2fdrara, d2fdrarb, d2fdraga, d2fdragb, d2fdraab, d2fdrbrb, d2fdrbga, d2fdrbgb, d2fdrbgab, d2fdgaga, d2fdgagb, d2fdgagab, d2fdgbgb, d2fdgbgab, d2fdgabgab; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43, t44, t45, t46, t47, t48, t49, t50; real t51, t52, t53, t54, t55, t56, t57, t58; real t59, t60, t61, t62, t63, t64, t65, t66; real t67, t68, t69, t70, t71, t72, t73, t74; real t75, t76, t77, t78, t79, t80, t81, t82; real t83, t84, t85, t86, t87, t88, t89, t90; real t91, t92, t93, t94, t95, t96, t97, t98; real t99, t100, t101, t102, t103, t104, t105; real t106, t107, t108, t109, t110, t111, t112; real t113, t114, t115, t116, t117, t118, t119; real t120, t121, t122, t123, t124, t125, t126; real t127, t128, t129, t130, t131, t132, t133; real t134, t135, t136, t137, t138, t139, t140; real t141, t142, t143, t144, t145, t146, t147; real t148, t149, t150, t151, t152, t153, t154; real t155, t156, t157, t158, t159, t160, t161; real t162, t163, t164, t165, t166, t167, t168; real t169, t170, t171, t172, t173, t174, t175; real t176, t177, t178, t179, t180, t181, t182; real t183, t184, t185, t186, t187, t188, t189; real t190, t191, t192, t193, t194, t195, t196; real t197, t198, t199, t200, t201, t202, t203; real t204, t205, t206, t207, t208, t209, t210; real t211, t212, t213, t214, t215, t216, t217; real t218, t219, t220, t221, t222, t223, t224; real t225, t226, t227, t228, t229, t230, t231; real t232, t233, t234, t235, t236, t237, t238; real t239, t240, t241, t242, t243, t244, t245; real t246, t247, t248, t249, t250, t251, t252; real t253, t254, t255, t256, t257, t258, t259; real t260, t261, t262, t263, t264, t265, t266; real t267, t268, t269, t270, t271, t272, t273; real t274, t275, t276, t277, t278, t279, t280; real t281, t282, t283, t284, t285, t286, t287; real t288; t1 = POW(3.0,.3333333333333333); t2 = 1/POW(4.0,.3333333333333333); t3 = POW(3.141592653589793,.3333333333333333); t4 = 1/t3; t5 = rhob+rhoa; t6 = 1/POW(t5,.3333333333333333); t7 = 0.2137*t1*t2*t4*t6+1.0; t8 = POW(3.0,.6666666666666666); t9 = 1/POW(4.0,.6666666666666666); t10 = POW(3.141592653589793,.6666666666666666); t11 = 1/t10; t12 = 1/POW(t5,.6666666666666666); t13 = 1.732050807568877; t14 = .5641895835477563; t15 = SQRT(t5); t16 = 1/t15; t17 = POW(2.0,.3333333333333333); t18 = 1/t17; t19 = POW(3.0,.1666666666666667); t20 = 1/POW(3.141592653589793,.1666666666666667); t21 = 1/POW(t5,.1666666666666667); t22 = 7.5957*t18*t19*t20*t21+3.5876*t1*t2*t4*t6+0.8191* t13*t14*t16+0.49294*t8*t9*t11*t12; t23 = 16.0818243221511/t22+1.0; t24 = LOG(t23); t25 = -0.062182*t7*t24; t26 = 1/(2.0*t17-2.0); t27 = rhoa-1.0*rhob; t28 = POW(t27,4.0); t29 = 1/POW(t5,4.0); t30 = 1.0-1.0*t28*t29; t31 = 0.11125*t1*t2*t4*t6+1.0; t32 = 1/t5; t33 = 1.0-1.0*t27*t32; t34 = t27*t32+1.0; t35 = POW(t34,1.333333333333333)+POW(t33,1.333333333333333)- 2.0; t36 = 10.357*t18*t19*t20*t21+3.6231*t1*t2*t4*t6+0.44013* t13*t14*t16+0.49671*t8*t9*t11*t12; t37 = 29.60857464321668/t36+1.0; t38 = LOG(t37); t39 = .0197517897025652*t26*t30*t31*t35*t38; t40 = 0.20548*t1*t2*t4*t6+1.0; t41 = 14.1189*t18*t19*t20*t21+6.1977*t1*t2*t4*t6+1.6831* t13*t14*t16+0.62517*t8*t9*t11*t12; t42 = 32.1646831778707/t41+1.0; t43 = LOG(t42); t44 = 0.062182*t7*t24-0.03109*t40*t43; t45 = t26*t28*t29*t35*t44; t46 = POW(2.0,.6666666666666666); t47 = POW(rhoa,.6666666666666666); t48 = POW(rhob,.6666666666666666); t49 = t46*t48+t46*t47; t50 = POW(t49,3.0); t51 = POW(t5,2.0); t52 = 1/t51; t53 = 1/t1; t54 = POW(grada,2.0); t55 = POW(gradb,2.0); t56 = 2.0*gradab+t55+t54; t57 = POW(t49,2.0); t58 = 1/t57; t59 = POW(t56,2.0); t60 = 1/POW(t49,4.0); t61 = 1/t8; t62 = 1/t50; t63 = t45+t39+t25; t64 = 1/POW(2.718281828459045,249.5089969598932*t61*t10* t62*t51*t63); t65 = t64-1.0; t66 = 1/t65; t67 = .1383178583708611*t52*t59*t60*t66+0.25*t53*t3*t56* t58*t32; t68 = POW(3.141592653589793,1.333333333333333); t69 = 1/POW(t65,2.0); t70 = .0930460634496268*t53*t68*t59*t60*t52*t69+.5283353010625738* t61*t10*t56*t58*t32*t66+1.0; t71 = 1/t70; t72 = 2.113341204250295*t53*t3*t67*t71+1.0; t73 = LOG(t72); t74 = .0040078715083799*t8*t11*t50*t52*t73; t75 = 1/POW(t5,1.666666666666667); t76 = 1/POW(t15,3.0); t77 = 1/POW(t5,1.333333333333333); t78 = 1/POW(t5,1.166666666666667); t79 = -1.26595*t18*t19*t20*t78-1.195866666666667*t1*t2* t4*t77-0.40955*t13*t14*t76-.3286266666666666*t8*t9*t11*t75; t80 = 1/ POW(t22,2.0); t81 = 1/t23; t82 = .9999999999999999*t79*t7*t80*t81; t83 = -1.726166666666666*t18*t19*t20*t78-1.2077*t1*t2* t4*t77-0.220065*t13*t14*t76-0.33114*t8*t9*t11*t75; t84 = 1/POW(t36,2.0); t85 = 1/t37; t86 = -.5848223397455204*t26*t30*t83*t31*t84*t35*t85; t87 = .0044294311333333* t1*t2*t4*t77*t24; t88 = t27*t52; t89 = -1.0*t32; t90 = t89+t88; t91 = POW(t33,.3333333333333333); t92 = -1.0*t27*t52; t93 = t32+t92; t94 = POW(t34,.3333333333333333); t95 = 1.333333333333333*t93*t94+1.333333333333333*t90* t91; t96 = .0197517897025652*t26*t30*t31*t95*t38; t97 = -7.324622014701263e-4*t26*t1*t2*t4*t77*t30*t35* t38; t98 = 1/POW(t5,5.0); t99 = 4.0*t28*t98; t100 = POW(t27,3.0); t101 = t99-4.0*t100*t29; t102 = .0197517897025652*t26*t101*t31*t35*t38; t103 = -2.35315*t18*t19*t20*t78-2.0659*t1*t2*t4*t77-0.84155* t13*t14*t76-0.41678*t8*t9*t11*t75; t104 = 1/POW(t41,2.0); t105 = 1/t42; t106 = .0021294577333333*t1*t2*t4*t77*t43-.0044294311333333* t1*t2*t4*t77*t24+t103*t40*t104*t105-.9999999999999999*t79* t7*t80*t81; t107 = t26*t28*t29*t35*t106; t108 = t26*t28*t29*t95*t44; t109 = -4.0*t26*t28*t35*t44*t98; t110 = 4.0*t100*t26*t29*t35*t44; t111 = 1/t72; t112 = -0.25*t53*t3*t56*t58*t52; t113 = 1/POW(rhoa,.3333333333333333); t114 = 1/POW(t5,3.0); t115 = -.2766357167417222*t114*t59*t60*t66; t116 = 1/POW(t49,5.0); t117 = t110+t109+t108+t107+t102+t97+t96+t87+t86+t82; t118 = - 499.0179939197864*t61*t10*t62*t5*t63; t119 = 499.0179939197864*t46*t61*t10*t113*t60*t51*t63+ t118-249.5089969598932*t61*t10*t62*t51*t117; t120 = -.1383178583708611*t119*t52*t59*t60*t64*t69-.3688476223222962* t113*t116*t46*t52*t59*t66-.3333333333333333*t46*t53*t3*t56* t113*t62*t32+t115+t112; t121 = 1/POW(t70,2.0); t122 = -.1860921268992536*t53*t68*t59*t60*t114*t69; t123 = - .5283353010625738*t61*t10*t56*t58*t52*t66; t124 = 1/POW(t65,3.0); t125 = -.5283353010625738*t61*t10*t56*t58*t32*t119*t69* t64-.1860921268992536*t53*t68*t59*t60*t52*t119*t124*t64-.7044470680834316* t46*t61*t10*t56*t113*t62*t32*t66+t123-.2481228358656715*t46* t53*t68*t59*t113*t116*t52*t69+t122; t126 = 2.113341204250295*t53*t3*t71*t120-2.113341204250295* t53*t3*t67*t121*t125; t127 = .0040078715083799*t8*t11*t50*t52*t111*t126; t128 = -.0080157430167598*t8*t11*t50*t114*t73; t129 = .0080157430167598*t46*t8*t11*t113*t57*t52*t73; t130 = t32+ t88; t131 = t89+t92; t132 = 1.333333333333333*t131*t94+1.333333333333333*t130* t91; t133 = .0197517897025652*t26*t30*t31*t132*t38; t134 = t99+4.0*t100*t29; t135 = .0197517897025652*t26*t134*t31*t35*t38; t136 = t26*t28*t29*t132*t44; t137 = -4.0*t100*t26*t29*t35*t44; t138 = 1/POW(rhob,.3333333333333333); t139 = t137+t109+t136+t107+t135+t97+t133+t87+t86+t82; t140 = 499.0179939197864* t46*t61*t10*t60*t138*t51*t63+t118-249.5089969598932*t61*t10* t62*t51*t139; t141 = -.1383178583708611*t140*t52*t59*t60*t64*t69-.3688476223222962* t116*t138*t46*t52*t59*t66-.3333333333333333*t46*t53*t3*t56* t62*t138*t32+t115+t112; t142 = -.5283353010625738*t61*t10*t56*t58*t32*t140*t69* t64-.1860921268992536*t53*t68*t59*t60*t52*t140*t124*t64-.7044470680834316* t46*t61*t10*t56*t62*t138*t32*t66+t123-.2481228358656715*t46* t53*t68*t59*t116*t138*t52*t69+t122; t143 = 2.113341204250295*t53*t3*t71*t141-2.113341204250295* t53*t3*t67*t121*t142; t144 = .0040078715083799*t8*t11*t50*t52*t111*t143; t145 = .0080157430167598*t46*t8*t11*t57*t138*t52*t73; t146 = 1.056670602125148* t61*t10*grada*t58*t32*t66+.3721842537985072*t53*t68*grada* t56*t60*t52*t69; t147 = .5532714334834444*t52*t56*t60*t66*grada+0.5*t53* t3*grada*t58*t32; t148 = 2.113341204250295*t53*t3*t147*t71-2.113341204250295* t53*t3*t67*t146*t121; t149 = 1.056670602125148*t61*t10*gradb*t58*t32*t66+.3721842537985072* t53*t68*gradb*t56*t60*t52*t69; t150 = .5532714334834444*t52*t56*t60*t66*gradb+0.5*t53* t3*gradb*t58*t32; t151 = 2.113341204250295*t53*t3*t150*t71-2.113341204250295* t53*t3*t67*t149*t121; t152 = .3721842537985072*t53*t68*t56*t60*t52*t69; t153 = 1.056670602125148*t61*t10*t58*t32*t66; t154 = t153+t152; t155 = 0.5*t53*t3*t58*t32; t156 = .5532714334834444*t52*t56*t60*t66; t157 = t156+t155; t158 = 2.113341204250295*t53*t3*t157*t71-2.113341204250295* t53*t3*t67*t154*t121; t159 = 2.0*t79*t7*t80*t81; t160 = -1.169644679491041*t26*t30*t83*t31*t84*t35*t85; t161 = .0088588622666667* t1*t2*t4*t77*t24; t162 = -.0014649244029403*t26*t1*t2*t4*t77*t30*t35*t38; t163 = 2.0* t106*t26*t28*t29*t35; t164 = -8.0*t26*t28*t35*t44*t98; t165 = -.0160314860335196*t8*t11*t50*t114*t73; t166 = POW(t79,2.0); t167 = 1/POW(t22,4.0); t168 = 1/POW(t23,2.0); t169 = 16.0818243221511*t166*t7*t167*t168; t170 = 1/POW(t22,3.0); t171 = -2.0*t166*t7*t170*t81; t172 = -.1424666666666666*t1*t2*t4*t77*t79*t80*t81; t173 = 1/ POW(t5,2.666666666666667); t174 = 1/POW(t15,5.0); t175 = 1/POW(t5,2.333333333333333); t176 = 1/POW(t5,2.166666666666667); t177 = 1.476941666666667*t18*t19*t20*t176+1.594488888888889* t1*t2*t4*t175+0.614325*t13*t14*t174+0.547711111111111*t8*t9* t11*t173; t178 = .9999999999999999*t177*t7*t80*t81; t179 = POW(t83,2.0); t180 = -17.31575589937587*t179*t26*t30*t31*t35/(POW(t36, 4.0)*POW(t37,2.0)); t181 = -1.169644679491041*t26*t30*t83*t31*t84*t95*t85; t182 = 1.169644679491041* t179*t26*t30*t31*t35*t85/POW(t36,3.0); t183 = .0433743235311261*t26*t1*t2*t4*t77*t30*t83*t84* t35*t85; t184 = -.5848223397455204*t26*t30*(2.013861111111111* t18*t19*t20*t176+1.610266666666667*t1*t2*t4*t175+0.3300975* t13*t14*t174+.5519000000000001*t8*t9*t11*t173)*t31*t84*t35* t85; t185 = -1.169644679491041*t26*t101*t83*t31*t84*t35*t85; t186 = - .0059059081777778*t1*t2*t4*t175*t24; t187 = 1/POW(t33,.6666666666666666); t188 = -2.0*t114*t27; t189 = 2.0*t52; t190 = 1/POW(t34,.6666666666666666); t191 = 2.0*t114*t27; t192 = -2.0*t52; t193 = 1.333333333333333*(t192+t191)*t94+.4444444444444444* t190*POW(t93,2.0)+1.333333333333333*(t189+t188)*t91+.4444444444444444* t187*POW(t90,2.0); t194 = .0197517897025652*t26*t30*t31*t193*t38; t195 = -.0014649244029403*t26*t1*t2*t4*t77*t30*t95*t38; t196 = .0395035794051304* t26*t101*t31*t95*t38; t197 = -.0014649244029403*t26*t1*t2*t4*t77*t101*t35*t38; t198 = 9.766162686268349e-4*t26*t1*t2*t4*t175*t30*t35* t38; t199 = 1/POW(t5,6.0); t200 = -20.0*t199*t28; t201 = POW(t27,2.0); t202 = -12.0*t201*t29; t203 = .0197517897025652*t26*t31*t35*t38*(32.0*t100*t98+ t202+t200); t204 = POW(t103,2.0); t205 = t26*t28*t29*t35*(.1424666666666666*t1*t2*t4*t77* t79*t80*t81-.9999999999999999*t177*t7*t80*t81+2.0*t166*t7* t170*t81-.0028392769777778*t1*t2*t4*t175*t43+32.1646831778707* t204*t40/(POW(t41,4.0)*POW(t42,2.0))-2.0*t105*t204*t40/POW(t41, 3.0)+.0059059081777778*t1*t2*t4*t175*t24-16.0818243221511* t166*t7*t167*t168+(2.745341666666667*t18*t19*t20*t176+2.754533333333333* t1*t2*t4*t175+1.262325*t13*t14*t174+.6946333333333333*t8*t9* t11*t173)*t40*t104*t105-.1369866666666666*t1*t2*t4*t77*t103* t104*t105); t206 = 2.0*t106*t26*t28*t29*t95; t207 = -8.0*t106*t26*t28*t35*t98; t208 = 8.0*t100*t106*t26*t29*t35; t209 = t26*t28*t29*t193*t44; t210 = -8.0*t26*t28*t44*t95*t98; t211 = 8.0*t100*t26*t29*t44*t95; t212 = 20.0*t199*t26*t28*t35*t44; t213 = -32.0*t100*t26*t35*t44*t98; t214 = 12.0*t201*t26*t29*t35*t44; t215 = 1/POW(t72,2.0); t216 = 1/POW(t70,3.0); t217 = 0.5*t53*t3*t56*t58*t114; t218 = 1/t47; t219 = 1/POW(rhoa,1.333333333333333); t220 = POW(t119,2.0); t221 = 1/POW(2.718281828459045,499.0179939197864*t61* t10*t62*t51*t63); t222 = .8299071502251667*t29*t59*t60*t66; t223 = 1/POW(t49,6.0); t224 = -499.0179939197864*t61*t10*t62*t63; t225 = -166.3393313065955*t46*t61*t10*t219*t60*t51*t63- 2661.429300905527*t17*t61*t10*t218*t116*t51*t63+1996.071975679145* t46*t61*t10*t113*t60*t5*t63+t224+998.0359878395727*t46*t61* t10*t113*t60*t51*t117-998.0359878395727*t61*t10*t62*t5*t117- 249.5089969598932*t61*t10*t62*t51*(t214+t213+t212+t211+t210+ t209+t208+t207+t206+t205+t203+t198+t197+t196+t195+t194+t186+ t185+t184+t183+t182+t181+t180+t178+t172+t171+t169); t226 = 1/POW(t65,4.0); t227 = .5582763806977609*t53*t68*t59*t60*t29*t69; t228 = 1.056670602125148*t61*t10*t56*t58*t114*t66; t229 = .0240472290502793*t8*t11*t50*t29*t73; t230 = -.5848223397455204*t26*t30*t83*t31*t84*t132*t85; t231 = - .5848223397455204*t26*t30*t83*t31*t84*t95*t85; t232 = -.5848223397455204*t26*t101*t83*t31*t84*t35*t85; t233 = - .5848223397455204*t26*t134*t83*t31*t84*t35*t85; t234 = 2.666666666666667*t114*t27*t94+.4444444444444444* t131*t190*t93-2.666666666666667*t114*t27*t91+.4444444444444444* t130*t187*t90; t235 = .0197517897025652*t26*t30*t31*t234*t38; t236 = -7.324622014701263e-4*t26*t1*t2*t4*t77*t30*t132* t38; t237 = .0197517897025652*t26*t101*t31*t132*t38; t238 = -7.324622014701263e-4*t26*t1*t2*t4*t77*t30*t95* t38; t239 = .0197517897025652*t26*t134*t31*t95*t38; t240 = -7.324622014701263e-4*t26*t1*t2*t4*t77*t101*t35* t38; t241 = -7.324622014701263e-4*t26*t1*t2*t4*t77*t134*t35* t38; t242 = .0197517897025652*t26*(12.0*t201*t29+t200)*t31* t35*t38; t243 = t26*t28*t29*t132*t106; t244 = t26*t28*t29*t95*t106; t245 = t26*t28*t29*t234*t44; t246 = -4.0*t132*t26*t28*t44*t98; t247 = 4.0*t100*t132*t26*t29*t44; t248 = -4.0*t26*t28*t44*t95*t98; t249 = -4.0*t100*t26*t29*t44*t95; t250 = -12.0*t201*t26*t29*t35*t44; t251 = -2661.429300905527*t17*t61*t10*t113*t116*t138* t51*t63+998.0359878395727*t46*t61*t10*t60*t138*t5*t63+998.0359878395727* t46*t61*t10*t113*t60*t5*t63+t224+499.0179939197864*t46*t61* t10*t60*t138*t51*t117-499.0179939197864*t61*t10*t62*t5*t117+ 499.0179939197864*t46*t61*t10*t113*t60*t51*t139-499.0179939197864* t61*t10*t62*t5*t139-249.5089969598932*t61*t10*t62*t51*(t250+ t212+t249+t248+t247+t246+t245+t207+t244+t243+t205+t242+t198+ t241+t240+t239+t238+t237+t236+t235+t186+t233+t232+t184+t183+ t182+t231+t230+t180+t178+t172+t171+t169); t252 = .0040078715083799*t8*t11*t50*t52*t148*t111; t253 = -.0080157430167598*t8*t11*t50*t114*t148*t111; t254 = - 0.5*t53*t3*grada*t58*t52; t255 = -1.106542866966889*t114*t56*t60*t66*grada; t256 = -.7443685075970145*t53*t68*grada*t56*t60*t114* t69; t257 = -1.056670602125148*t61*t10*grada*t58*t52*t66; t258 = .0040078715083799* t8*t11*t50*t52*t151*t111; t259 = -.0080157430167598*t8*t11*t50*t114*t151*t111; t260 = - 0.5*t53*t3*gradb*t58*t52; t261 = -1.106542866966889*t114*t56*t60*t66*gradb; t262 = -.7443685075970145*t53*t68*gradb*t56*t60*t114* t69; t263 = -1.056670602125148*t61*t10*gradb*t58*t52*t66; t264 = .0040078715083799* t8*t11*t50*t52*t158*t111; t265 = -.0080157430167598*t8*t11*t50*t114*t158*t111; t266 = - 0.5*t53*t3*t58*t52; t267 = -1.106542866966889*t114*t56*t60*t66; t268 = -.7443685075970145*t53*t68*t56*t60*t114*t69; t269 = - 1.056670602125148*t61*t10*t58*t52*t66; t270 = -1.169644679491041*t26*t30*t83*t31*t84*t132*t85; t271 = - 1.169644679491041*t26*t134*t83*t31*t84*t35*t85; t272 = 1.333333333333333*(t189+t191)*t94+1.333333333333333* (t192+t188)*t91+.4444444444444444*POW(t131,2.0)*t190+.4444444444444444* POW(t130,2.0)*t187; t273 = .0197517897025652*t26*t30*t31*t272*t38; t274 = -.0014649244029403*t26*t1*t2*t4*t77*t30*t132*t38; t275 = .0395035794051304* t26*t134*t31*t132*t38; t276 = -.0014649244029403*t26*t1*t2*t4*t77*t134*t35*t38; t277 = .0197517897025652* t26*t31*t35*t38*(-32.0*t100*t98+t202+t200); t278 = 2.0*t106*t132*t26*t28*t29; t279 = -8.0*t100*t106*t26*t29*t35; t280 = t26*t28*t29*t272*t44; t281 = -8.0*t132*t26*t28*t44*t98; t282 = -8.0*t100*t132*t26*t29*t44; t283 = 32.0*t100*t26*t35*t44*t98; t284 = 1/POW(rhob,1.333333333333333); t285 = 1/t48; t286 = POW(t140,2.0); t287 = -2661.429300905527*t17*t61*t10*t116*t285*t51*t63- 166.3393313065955*t46*t61*t10*t60*t284*t51*t63+1996.071975679145* t46*t61*t10*t60*t138*t5*t63+t224+998.0359878395727*t46*t61* t10*t60*t138*t51*t139-998.0359878395727*t61*t10*t62*t5*t139- 249.5089969598932*t61*t10*t62*t51*(t214+t283+t212+t282+t281+ t280+t279+t207+t278+t205+t277+t198+t276+t275+t274+t273+t186+ t271+t184+t183+t182+t270+t180+t178+t172+t171+t169); t288 = POW(3.141592653589793,1.666666666666667); /* code */ dfdra = t5*(t129+t128+t127+t110+t109+t108+t107+t102+t97+ t96+t87+t86+t82)+t74+t45+t39+t25; dfdrb = t5*(t145+t128+t144+t137+t109+t136+t107+t135+t97+ t133+t87+t86+t82)+t74+t45+t39+t25; dfdga = .0040078715083799*t8*t11*t50*t32*t148*t111; dfdgb = .0040078715083799* t8*t11*t50*t32*t151*t111; dfdgab = .0040078715083799*t8*t11*t50*t32*t158*t111; d2fdrara = 2.0* t26*t28*t29*t44*t95+t5*(.0040078715083799*t11*t111*t50*t52* (2.113341204250295*t3*t53*(-.1383178583708611*t225*t52*t59* t60*t64*t69-.1383178583708611*t220*t52*t59*t60*t64*t69+.5532714334834444* t114*t119*t59*t60*t64*t69+.7376952446445925*t113*t116*t119* t46*t52*t59*t64*t69+.1229492074407654*t116*t219*t46*t52*t59* t66+2.458984148815308*t17*t218*t223*t52*t59*t66+1.475390489289185* t113*t114*t116*t46*t59*t66+.2766357167417222*t124*t220*t221* t52*t59*t60+.6666666666666666*t46*t53*t3*t56*t113*t62*t52+ .1111111111111111*t46*t53*t3*t56*t219*t62*t32+1.333333333333333* t17*t53*t3*t56*t218*t60*t32+t222+t217)*t71+4.22668240850059* POW(t125,2.0)*t216*t3*t53*t67-2.113341204250295*t53*t3*t67* t121*(-.5283353010625738*t61*t10*t56*t58*t32*t220*t69*t64+ 1.408894136166863*t46*t61*t10*t56*t113*t62*t32*t119*t69*t64+ 1.056670602125148*t61*t10*t56*t58*t52*t119*t69*t64-.5283353010625738* t61*t10*t56*t58*t32*t225*t69*t64-.1860921268992536*t53*t68* t59*t60*t52*t220*t124*t64+.9924913434626859*t46*t53*t68*t59* t113*t116*t52*t119*t124*t64+.7443685075970145*t53*t68*t59* t60*t114*t119*t124*t64-.1860921268992536*t53*t68*t59*t60*t52* t225*t124*t64+.2348156893611439*t46*t61*t10*t56*t219*t62*t32* t66+2.817788272333726*t17*t61*t10*t56*t218*t60*t32*t66+1.408894136166863* t46*t61*t10*t56*t113*t62*t52*t66+t228+.0827076119552238*t46* t53*t68*t59*t219*t116*t52*t69+1.654152239104477*t17*t53*t68* t59*t218*t223*t52*t69+.9924913434626859*t46*t53*t68*t59*t113* t116*t114*t69+t227+1.056670602125148*t61*t10*t56*t58*t32*t220* t221*t124+.5582763806977609*t53*t68*t59*t60*t52*t220*t221* t226)-4.22668240850059*t53*t3*t121*t120*t125)*t8-.0040078715083799* t11*POW(t126,2.0)*t215*t50*t52*t8-.0026719143389199*t46*t8* t11*t219*t57*t52*t73+.0213753147113594*t17*t8*t11*t218*t49* t52*t73-.0320629720670391*t46*t8*t11*t113*t57*t114*t73+t229+ t214+t213+t212+t211+t210+t209+t208+t207+t206+t205+t203+t198+ t197+t196+t195+t194+t186+t185+t184+t183+t182+t181+t180+t178+ t172+t171+t169+.0160314860335196*t46*t8*t11*t113*t57*t52*t111* t126-.0160314860335196*t8*t11*t50*t114*t111*t126)+.0160314860335196* t46*t8*t11*t113*t57*t52*t73+8.0*t100*t26*t29*t35*t44+.0395035794051304* t26*t30*t31*t95*t38+.0395035794051304*t26*t101*t31*t35*t38+ t165+t164+t163+t162+t161+t160+t159+.0080157430167598*t8*t11* t50*t52*t111*t126; d2fdrarb = t96+t5*(.0040078715083799*t11*t111*t50*t52* (2.113341204250295*t3*t53*(-.1383178583708611*t251*t52*t59* t60*t64*t69-.1383178583708611*t119*t140*t52*t59*t60*t64*t69+ .2766357167417222*t114*t140*t59*t60*t64*t69+.2766357167417222* t114*t119*t59*t60*t64*t69+.3688476223222962*t113*t116*t140* t46*t52*t59*t64*t69+.3688476223222962*t116*t119*t138*t46*t52* t59*t64*t69+2.458984148815308*t113*t138*t17*t223*t52*t59*t66+ .7376952446445925*t114*t116*t138*t46*t59*t66+.7376952446445925* t113*t114*t116*t46*t59*t66+.2766357167417222*t119*t124*t140* t221*t52*t59*t60+.3333333333333333*t46*t53*t3*t56*t113*t62* t52+.3333333333333333*t46*t53*t3*t56*t62*t138*t52+1.333333333333333* t17*t53*t3*t56*t113*t60*t138*t32+t222+t217)*t71-2.113341204250295* t53*t3*t67*t121*(-.5283353010625738*t61*t10*t56*t58*t32*t119* t140*t69*t64+.7044470680834316*t46*t61*t10*t56*t113*t62*t32* t140*t69*t64+.5283353010625738*t61*t10*t56*t58*t52*t140*t69* t64-.5283353010625738*t61*t10*t56*t58*t32*t251*t69*t64+.7044470680834316* t46*t61*t10*t56*t62*t138*t32*t119*t69*t64+.5283353010625738* t61*t10*t56*t58*t52*t119*t69*t64-.1860921268992536*t53*t68* t59*t60*t52*t119*t140*t124*t64+.4962456717313429*t46*t53*t68* t59*t113*t116*t52*t140*t124*t64+.3721842537985072*t53*t68* t59*t60*t114*t140*t124*t64-.1860921268992536*t53*t68*t59*t60* t52*t251*t124*t64+.4962456717313429*t46*t53*t68*t59*t116*t138* t52*t119*t124*t64+.3721842537985072*t53*t68*t59*t60*t114*t119* t124*t64+2.817788272333726*t17*t61*t10*t56*t113*t60*t138*t32* t66+.7044470680834316*t46*t61*t10*t56*t62*t138*t52*t66+.7044470680834316* t46*t61*t10*t56*t113*t62*t52*t66+t228+1.654152239104477*t17* t53*t68*t59*t113*t223*t138*t52*t69+.4962456717313429*t46*t53* t68*t59*t116*t138*t114*t69+.4962456717313429*t46*t53*t68*t59* t113*t116*t114*t69+t227+1.056670602125148*t61*t10*t56*t58* t32*t119*t140*t221*t124+.5582763806977609*t53*t68*t59*t60* t52*t119*t140*t221*t226)+4.22668240850059*t53*t3*t67*t216* t125*t142-2.113341204250295*t53*t3*t121*t120*t142-2.113341204250295* t53*t3*t121*t125*t141)*t8+.0213753147113594*t17*t8*t11*t113* t49*t138*t52*t73-.0160314860335196*t46*t8*t11*t113*t57*t114* t73-.0160314860335196*t46*t8*t11*t57*t138*t114*t73+t250+t249+ t248+t247+t246+t245+t244+t243+t242+t241+t240+t239+t238+t237+ t236+t235+t233+t232+t231+t230+t229+t212+t207+t205+t198+t186+ t184+t183+t182+t180+t178+t172+t171+t169-.0040078715083799* t8*t11*t50*t52*t215*t126*t143+.0080157430167598*t46*t8*t11* t113*t57*t52*t111*t143-.0080157430167598*t8*t11*t50*t114*t111* t143+.0080157430167598*t46*t8*t11*t57*t138*t52*t111*t126-.0080157430167598* t8*t11*t50*t114*t111*t126)+t165+t164+t163+t162+t161+t160+t159+ t145+t144+t136+t135+t133+t129+t127+t108+t102; d2fdraga = t5*(.0040078715083799*t11*t111*t50*t52*t8* (2.113341204250295*t3*t53*t71*(-.5532714334834444*t119*t52* t56*t60*t64*t69*grada-1.475390489289185*t113*t116*t46*t52* t56*t66*grada-.6666666666666666*t46*t53*t3*grada*t113*t62* t32+t255+t254)-2.113341204250295*t53*t3*t67*t121*(-1.056670602125148* t61*t10*grada*t58*t32*t119*t69*t64-.7443685075970145*t53*t68* grada*t56*t60*t52*t119*t124*t64-1.408894136166863*t46*t61* t10*grada*t113*t62*t32*t66+t257-.9924913434626859*t46*t53* t68*grada*t56*t113*t116*t52*t69+t256)+4.22668240850059*t53* t3*t67*t146*t216*t125-2.113341204250295*t53*t3*t147*t121*t125- 2.113341204250295*t53*t3*t146*t121*t120)+t253-.0040078715083799* t8*t11*t50*t52*t148*t215*t126+.0080157430167598*t46*t8*t11* t113*t57*t52*t148*t111)+t252; d2fdragb = t5*(.0040078715083799*t11*t111*t50*t52*t8* (2.113341204250295*t3*t53*t71*(-.5532714334834444*t119*t52* t56*t60*t64*t69*gradb-1.475390489289185*t113*t116*t46*t52* t56*t66*gradb-.6666666666666666*t46*t53*t3*gradb*t113*t62* t32+t261+t260)-2.113341204250295*t53*t3*t67*t121*(-1.056670602125148* t61*t10*gradb*t58*t32*t119*t69*t64-.7443685075970145*t53*t68* gradb*t56*t60*t52*t119*t124*t64-1.408894136166863*t46*t61* t10*gradb*t113*t62*t32*t66+t263-.9924913434626859*t46*t53* t68*gradb*t56*t113*t116*t52*t69+t262)+4.22668240850059*t53* t3*t67*t149*t216*t125-2.113341204250295*t53*t3*t150*t121*t125- 2.113341204250295*t53*t3*t149*t121*t120)+t259-.0040078715083799* t8*t11*t50*t52*t151*t215*t126+.0080157430167598*t46*t8*t11* t113*t57*t52*t151*t111)+t258; d2fdraab = t5*(.0040078715083799*t11*t111*t50*t52*(2.113341204250295* t3*t53*(-.5532714334834444*t119*t52*t56*t60*t64*t69-1.475390489289185* t113*t116*t46*t52*t56*t66-.6666666666666666*t46*t53*t3*t113* t62*t32+t267+t266)*t71-2.113341204250295*t53*t3*t67*t121*(- 1.056670602125148*t61*t10*t58*t32*t119*t69*t64-.7443685075970145* t53*t68*t56*t60*t52*t119*t124*t64-1.408894136166863*t46*t61* t10*t113*t62*t32*t66+t269-.9924913434626859*t46*t53*t68*t56* t113*t116*t52*t69+t268)+4.22668240850059*t53*t3*t67*t154*t216* t125-2.113341204250295*t53*t3*t157*t121*t125-2.113341204250295* t53*t3*t154*t121*t120)*t8+t265-.0040078715083799*t8*t11*t50* t52*t158*t215*t126+.0080157430167598*t46*t8*t11*t113*t57*t52* t158*t111)+t264; d2fdrbrb = t5*(.0040078715083799*t11*t111*t50*t52*(2.113341204250295* t3*t53*(-.1383178583708611*t287*t52*t59*t60*t64*t69-.1383178583708611* t286*t52*t59*t60*t64*t69+.5532714334834444*t114*t140*t59*t60* t64*t69+.7376952446445925*t116*t138*t140*t46*t52*t59*t64*t69+ .1229492074407654*t116*t284*t46*t52*t59*t66+2.458984148815308* t17*t223*t285*t52*t59*t66+1.475390489289185*t114*t116*t138* t46*t59*t66+.2766357167417222*t124*t221*t286*t52*t59*t60+.6666666666666666* t46*t53*t3*t56*t62*t138*t52+1.333333333333333*t17*t53*t3*t56* t60*t285*t32+.1111111111111111*t46*t53*t3*t56*t62*t284*t32+ t222+t217)*t71+4.22668240850059*POW(t142,2.0)*t216*t3*t53* t67-2.113341204250295*t53*t3*t67*t121*(-.5283353010625738* t61*t10*t56*t58*t32*t286*t69*t64+1.408894136166863*t46*t61* t10*t56*t62*t138*t32*t140*t69*t64+1.056670602125148*t61*t10* t56*t58*t52*t140*t69*t64-.5283353010625738*t61*t10*t56*t58* t32*t287*t69*t64-.1860921268992536*t53*t68*t59*t60*t52*t286* t124*t64+.9924913434626859*t46*t53*t68*t59*t116*t138*t52*t140* t124*t64+.7443685075970145*t53*t68*t59*t60*t114*t140*t124* t64-.1860921268992536*t53*t68*t59*t60*t52*t287*t124*t64+2.817788272333726* t17*t61*t10*t56*t60*t285*t32*t66+.2348156893611439*t46*t61* t10*t56*t62*t284*t32*t66+1.408894136166863*t46*t61*t10*t56* t62*t138*t52*t66+t228+1.654152239104477*t17*t53*t68*t59*t223* t285*t52*t69+.0827076119552238*t46*t53*t68*t59*t116*t284*t52* t69+.9924913434626859*t46*t53*t68*t59*t116*t138*t114*t69+t227+ 1.056670602125148*t61*t10*t56*t58*t32*t286*t221*t124+.5582763806977609* t53*t68*t59*t60*t52*t286*t221*t226)-4.22668240850059*t53*t3* t121*t141*t142)*t8-.0040078715083799*t11*POW(t143,2.0)*t215* t50*t52*t8+.0213753147113594*t17*t8*t11*t49*t285*t52*t73-.0026719143389199* t46*t8*t11*t57*t284*t52*t73-.0320629720670391*t46*t8*t11*t57* t138*t114*t73+t283+t282+t281+t280+t279+t278+t277+t276+t275+ t274+t273+t271+t270+t229+t214+t212+t207+t205+t198+t186+t184+ t183+t182+t180+t178+t172+t171+t169+.0160314860335196*t46*t8* t11*t57*t138*t52*t111*t143-.0160314860335196*t8*t11*t50*t114* t111*t143)+.0160314860335196*t46*t8*t11*t57*t138*t52*t73-8.0* t100*t26*t29*t35*t44+2.0*t132*t26*t28*t29*t44+.0395035794051304* t26*t134*t31*t35*t38+.0395035794051304*t26*t30*t31*t132*t38+ t165+t164+t163+t162+t161+t160+t159+.0080157430167598*t8*t11* t50*t52*t111*t143; d2fdrbga = t5*(.0040078715083799*t11*t111*t50*t52*t8* (2.113341204250295*t3*t53*t71*(-.5532714334834444*t140*t52* t56*t60*t64*t69*grada-1.475390489289185*t116*t138*t46*t52* t56*t66*grada-.6666666666666666*t46*t53*t3*grada*t62*t138* t32+t255+t254)-2.113341204250295*t53*t3*t67*t121*(-1.056670602125148* t61*t10*grada*t58*t32*t140*t69*t64-.7443685075970145*t53*t68* grada*t56*t60*t52*t140*t124*t64-1.408894136166863*t46*t61* t10*grada*t62*t138*t32*t66+t257-.9924913434626859*t46*t53* t68*grada*t56*t116*t138*t52*t69+t256)+4.22668240850059*t53* t3*t67*t146*t216*t142-2.113341204250295*t53*t3*t147*t121*t142- 2.113341204250295*t53*t3*t146*t121*t141)+t253-.0040078715083799* t8*t11*t50*t52*t148*t215*t143+.0080157430167598*t46*t8*t11* t57*t138*t52*t148*t111)+t252; d2fdrbgb = t5*(.0040078715083799*t11*t111*t50*t52*t8* (2.113341204250295*t3*t53*t71*(-.5532714334834444*t140*t52* t56*t60*t64*t69*gradb-1.475390489289185*t116*t138*t46*t52* t56*t66*gradb-.6666666666666666*t46*t53*t3*gradb*t62*t138* t32+t261+t260)-2.113341204250295*t53*t3*t67*t121*(-1.056670602125148* t61*t10*gradb*t58*t32*t140*t69*t64-.7443685075970145*t53*t68* gradb*t56*t60*t52*t140*t124*t64-1.408894136166863*t46*t61* t10*gradb*t62*t138*t32*t66+t263-.9924913434626859*t46*t53* t68*gradb*t56*t116*t138*t52*t69+t262)+4.22668240850059*t53* t3*t67*t149*t216*t142-2.113341204250295*t53*t3*t150*t121*t142- 2.113341204250295*t53*t3*t149*t121*t141)+t259-.0040078715083799* t8*t11*t50*t52*t151*t215*t143+.0080157430167598*t46*t8*t11* t57*t138*t52*t151*t111)+t258; d2fdrbgab = t5*(.0040078715083799*t11*t111*t50*t52*(2.113341204250295* t3*t53*(-.5532714334834444*t140*t52*t56*t60*t64*t69-1.475390489289185* t116*t138*t46*t52*t56*t66-.6666666666666666*t46*t53*t3*t62* t138*t32+t267+t266)*t71-2.113341204250295*t53*t3*t67*t121* (-1.056670602125148*t61*t10*t58*t32*t140*t69*t64-.7443685075970145* t53*t68*t56*t60*t52*t140*t124*t64-1.408894136166863*t46*t61* t10*t62*t138*t32*t66+t269-.9924913434626859*t46*t53*t68*t56* t116*t138*t52*t69+t268)+4.22668240850059*t53*t3*t67*t154*t216* t142-2.113341204250295*t53*t3*t157*t121*t142-2.113341204250295* t53*t3*t154*t121*t141)*t8+t265-.0040078715083799*t8*t11*t50* t52*t158*t215*t143+.0080157430167598*t46*t8*t11*t57*t138*t52* t158*t111)+t264; d2fdgaga = .0040078715083799*t11*t111*t32*t50*(2.113341204250295* t3*t53*(1.106542866966889*t52*t54*t60*t66+t156+t155)*t71+4.22668240850059* POW(t146,2.0)*t216*t3*t53*t67-2.113341204250295*t53*t3*t67* (t153+t152+.7443685075970145*t53*t68*t54*t60*t52*t69)*t121- 4.22668240850059*t53*t3*t147*t146*t121)*t8-.0040078715083799* t11*POW(t148,2.0)*t215*t32*t50*t8; d2fdgagb = .0040078715083799*t8*t11*t50*t32*t111*(.7443685075970145* t53*t68*grada*gradb*t60*t52*t71*t66-1.573104638251069*t61* t288*grada*gradb*t60*t52*t67*t121*t69-2.113341204250295*t53* t3*t147*t149*t121-2.113341204250295*t53*t3*t150*t146*t121+ 4.22668240850059*t53*t3*t67*t146*t149*t216)-.0040078715083799* t8*t11*t50*t32*t148*t151*t215; d2fdgagab = .0040078715083799*t8*t11*t50*t32*t111*(.7443685075970145* t53*t68*grada*t60*t52*t71*t66-1.573104638251069*t61*t288*grada* t60*t52*t67*t121*t69-2.113341204250295*t53*t3*t157*t146*t121- 2.113341204250295*t53*t3*t147*t154*t121+4.22668240850059*t53* t3*t67*t154*t146*t216)-.0040078715083799*t8*t11*t50*t32*t158* t148*t215; d2fdgbgb = .0040078715083799*t11*t111*t32*t50*(2.113341204250295* t3*t53*(1.106542866966889*t52*t55*t60*t66+t156+t155)*t71+4.22668240850059* POW(t149,2.0)*t216*t3*t53*t67-2.113341204250295*t53*t3*t67* (t153+t152+.7443685075970145*t53*t68*t55*t60*t52*t69)*t121- 4.22668240850059*t53*t3*t150*t149*t121)*t8-.0040078715083799* t11*POW(t151,2.0)*t215*t32*t50*t8; d2fdgbgab = .0040078715083799*t8*t11*t50*t32*t111*(.7443685075970145* t53*t68*gradb*t60*t52*t71*t66-1.573104638251069*t61*t288*gradb* t60*t52*t67*t121*t69-2.113341204250295*t53*t3*t157*t149*t121- 2.113341204250295*t53*t3*t150*t154*t121+4.22668240850059*t53* t3*t67*t154*t149*t216)-.0040078715083799*t8*t11*t50*t32*t158* t151*t215; d2fdgabgab = .0040078715083799*t11*t111*t32*t50*(-1.573104638251069* t61*t288*t60*t52*t67*t121*t69+4.22668240850059*POW(t154,2.0)* t216*t3*t53*t67+.7443685075970145*t53*t68*t60*t52*t71*t66- 4.22668240850059*t53*t3*t157*t154*t121)*t8-.0040078715083799* t11*POW(t158,2.0)*t215*t32*t50*t8; ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df0010 += factor*dfdga; ds->df0001 += factor*dfdgb; ds->df00001+= factor*dfdgab; ds->df2000 += factor*d2fdrara; ds->df1100 += factor*d2fdrarb; ds->df1010 += factor*d2fdraga; ds->df1001 += factor*d2fdragb; ds->df10001+= factor*d2fdraab; ds->df0200 += factor*d2fdrbrb; ds->df0110 += factor*d2fdrbga; ds->df0101 += factor*d2fdrbgb; ds->df01001+= factor*d2fdrbgab; ds->df0020 += factor*d2fdgaga; ds->df0011 += factor*d2fdgagb; ds->df00101+= factor*d2fdgagab; ds->df0002 += factor*d2fdgbgb; ds->df00011+= factor*d2fdgbgab; ds->df00002+= factor*d2fdgabgab; } ergo-3.5/source/dft/fun-pw92c.c0000664000175000017500000067347412743400307013240 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /*-*-mode: C; c-indentation-style: "bsd"; c-basic-offset: 4; -*-*/ /** @file fun-pw92c.c PW92C functional implementation. Automatically generated code implementing PW92C functional and its derivatives. It is generated by func-codegen.pl being a part of a "Automatic code generation framework for analytical functional derivative evaluation", Pawel Salek, 2005 This functional is connected by making following changes: 1. add "extern Functional pw92cFunctional;" to 'functionals.h' 2. add "&pw92cFunctional," to 'functionals.c' 3. add "fun-pw92c.c" to 'Makefile.am', 'Makefile.in' or 'Makefile'. This functional has been generated from following input: ------ cut here ------- rho: rhoa + rhob; grad: sqrt(grada*grada + gradb*gradb + 2*gradab); zeta: (rhoa-rhob)/(rhoa+rhob); kf : (3*%PI*%PI*rho)^(1/3); g: ((1+zeta)^(2/3) + (1-zeta)^(2/3))/2; ks: (4*kf/%PI)^(1/2); t: grad/(2*g*ks*rho); nu:(16/%PI)*(3*%PI^2)^(1/3); _a:23.266; _b:7.389e-3; _c:8.723; _d:0.472; rs: (3/(4*%PI*rho))^(1/3); Cxc:0.001*(2.568+_a*rs+_b*rs^2)/(1+_c*rs+_d*rs^2+10*_b*rs^3); Cx:-0.001667; Cc0:0.004235; Ccr:Cxc-Cx; alpha:0.09; beta:nu*Cc0; p: 1.00; A_0 : 0.031091; a1_0: 0.21370; b1_0: 7.5957; b2_0: 3.5876; b3_0: 1.6382; b4_0: 0.49294; A_1 : 0.015545; a1_1: 0.20548; b1_1: 14.1189; b2_1: 6.1977; b3_1: 3.3662; b4_1: 0.62517; A_a : 0.016887; a1_a: 0.11125; b1_a: 10.357; b2_a: 3.6231; b3_a: 0.88026; b4_a: 0.49671; G_0: -2*A_0*(1+a1_0*rs)*log(1+(1/(2*A_0*(b1_0*rs^(1/2)+b2_0*rs+b3_0*rs^(3/2)+b4_0*rs^(p+1))))); G_1: -2*A_1*(1+a1_1*rs)*log(1+(1/(2*A_1*(b1_1*rs^(1/2)+b2_1*rs+b3_1*rs^(3/2)+b4_1*rs^(p+1))))); G_a: -2*A_a*(1+a1_a*rs)*log(1+(1/(2*A_a*(b1_a*rs^(1/2)+b2_a*rs+b3_a*rs^(3/2)+b4_a*rs^(p+1))))); fz: ((1+zeta)^(4/3)+(1-zeta)^(4/3)-2)/(2^(4/3)-2); f20:1.709921; ec:G_0 - G_a*(fz/f20)*(1-zeta^4) + (G_1-G_0)*fz*zeta^4; A:(2*alpha/beta)/(exp(-2*alpha*ec/(g^3*beta^2))-1); H0: g^3*beta^2/(2*alpha)*log(1+(2*alpha/beta)*( (t^2+A*t^4)/(1+A*t^2+A^2*t^4) )); H1: nu*(Ccr-Cc0-3*Cx/7)*g^3*t^2*exp(-100*g^4*(ks^2/kf^2)*t^2); K(rhoa,grada,rhob,gradb,gradab):=rho*(H0+H1); ------ cut here ------- */ #include #include #define __CVERSION__ #include "functionals.h" /* INTERFACE PART */ static int pw92c_isgga(void) { return 1; } /* FIXME: detect! */ static int pw92c_read(const char *conf_line); static real pw92c_energy(const FunDensProp* dp); static void pw92c_first(FunFirstFuncDrv *ds, real factor, const FunDensProp* dp); static void pw92c_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp); static void pw92c_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp); #ifdef FOURTH_ORDER_DERIVATIVES static void pw92c_fourth(FunFourthFuncDrv *ds, real factor, const FunDensProp* dp); #endif Functional PW92cFunctional = { "PW92c", /* name */ pw92c_isgga, /* gga-corrected */ pw92c_read, NULL, pw92c_energy, pw92c_first, pw92c_second, pw92c_third #ifdef FOURTH_ORDER_DERIVATIVES ,pw92c_fourth #endif }; /* IMPLEMENTATION PART */ static int pw92c_read(const char *conf_line) { fun_set_hf_weight(0); return 1; } static real pw92c_energy(const FunDensProp *dp) { real res; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43, t44; t1 = rhob+rhoa; t2 = POW(gradb,2.0)+2.0*gradab+POW(grada,2.0); t3 = 1/POW(t1,2.333333333333333); t4 = rhoa-1.0*rhob; t5 = 1/t1; t6 = 1.0-1.0*t4*t5; t7 = t4*t5+1.0; t8 = POW(t7,0.666666666666667)+POW(t6,0.666666666666667); t9 = POW(3.0, 0.666666666666667); t10 = 1/POW(4.0,0.666666666666667); t11 = POW(3.141592653589793,0.666666666666667); t12 = 1/t11; t13 = 1/POW(t1,0.666666666666667); t14 = POW(3.0,0.333333333333333); t15 = 1/POW(4.0,0.333333333333333); t16 = POW(3.141592653589793,0.333333333333333); t17 = 1/t16; t18 = 1/POW(t1,0.333333333333333); t19 = 1/t9; t20 = POW(3.141592653589793,1.333333333333333); t21 = POW(t8,2.0); t22 = POW(t8,3.0); t23 = 1/t14; t24 = 1/t21; t25 = POW(t2,2.0); t26 = 1/POW(t1,4.666666666666667); t27 = 1/POW(t8,4.0); t28 = 0.2137*t14*t15*t17*t18+1.0; t29 = 1/POW(t1,0.666666666666667); t30 = 1.732050807568877; t31 = 0.564189583547756; t32 = 1/SQRT(t1); t33 = POW(2.0,0.333333333333333); t34 = 1/t33; t35 = POW(3.0,0.166666666666667); t36 = 1/POW(3.141592653589793,0.166666666666667); t37 = 1/POW(t1,0.166666666666667); t38 = LOG(16.0818243221511/(7.5957*t34*t35*t36*t37+3.5876* t14*t15*t17*t18+0.8191*t30*t31*t32+0.189700432574756*t29)+ 1.0); t39 = 1/(2.0*t33-2.0); t40 = POW(t4,4.0); t41 = 1/POW(t1,4.0); t42 = POW(t7,1.333333333333333)+POW(t6,1.333333333333333)- 2.0; t43 = 1/POW(2.718281828459045,313.6286274635529*t11*t19* (0.019751789702565*(0.11125*t14*t15*t17*t18+1.0)*LOG(29.60857464321668/ (10.357*t34*t35*t36*t37+3.6231*t14*t15*t17*t18+0.44013*t30* t31*t32+0.191151259512734*t29)+1.0)*t39*(1.0-1.0*t40*t41)* t42+(0.062182*t28*t38-0.03109*(0.20548*t14*t15*t17*t18+1.0)* LOG(32.1646831778707/(14.1189*t34*t35*t36*t37+6.1977*t14*t15* t17*t18+1.6831*t30*t31*t32+0.240587129128819*t29)+1.0))*t39* t40*t41*t42-0.062182*t28*t38)/t22)-1.0; t44 = 1/t43; /* code */ res = t1*(0.003188484444444*t12*t22*LOG(2.656434474616293* t16*t23*(0.173863229795775*t25*t26*t27*t44+0.25*t16*t2*t23* t24*t3)/(0.664108618654073*t19*t11*t2*t3*t24*t44+0.14701341912354* t20*t23*t25*t26*t27/POW(t43,2.0)+1.0)+1.0)*t9+0.5*t2*t3*(0.001* (23.266*t14*t15*t17*t18+0.007389*t9*t10*t12*t13+2.568)/(0.01763993811759* t5+8.723*t14*t15*t17*t18+0.472*t9*t10*t12*t13+1.0)-0.001853571428571)* t8/POW(2.718281828459045,6.25*t19*t2*t21/(POW(t1,2.666666666666667)* t20))); return res; } static void pw92c_first(FunFirstFuncDrv *ds, real factor, const FunDensProp *dp) { real dfdra, dfdrb, dfdga, dfdgb, dfdgab; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43, t44, t45, t46, t47, t48, t49, t50; real t51, t52, t53, t54, t55, t56, t57, t58; real t59, t60, t61, t62, t63, t64, t65, t66; real t67, t68, t69, t70, t71, t72, t73, t74; real t75, t76, t77, t78, t79, t80, t81, t82; real t83, t84, t85, t86, t87, t88, t89, t90; real t91, t92, t93, t94, t95, t96, t97, t98; real t99, t100, t101, t102, t103, t104, t105; real t106, t107, t108, t109, t110, t111, t112; real t113, t114, t115, t116, t117, t118, t119; real t120, t121, t122, t123, t124; t1 = POW(gradb,2.0)+2.0*gradab+POW(grada,2.0); t2 = rhob+rhoa; t3 = 1/POW(t2,2.333333333333333); t4 = rhoa-1.0*rhob; t5 = 1/t2; t6 = 1.0-1.0*t4*t5; t7 = t4*t5+1.0; t8 = POW(t7,0.666666666666667)+POW(t6,0.666666666666667); t9 = 0.318309886183791; t10 = POW(3.0, 0.666666666666667); t11 = 1/POW(4.0,0.666666666666667); t12 = POW(3.141592653589793,0.666666666666667); t13 = 1/t12; t14 = 1/POW(t2,0.666666666666667); t15 = POW(3.0,0.333333333333333); t16 = 1/POW(4.0,0.333333333333333); t17 = POW(3.141592653589793,0.333333333333333); t18 = 1/t17; t19 = 1/POW(t2,0.333333333333333); t20 = 0.0554175*t9*t5+8.723*t15*t16*t18*t19+0.472*t10* t11*t13*t14+1.0; t21 = 1/t20; t22 = 23.266*t15*t16*t18*t19+0.007389*t10*t11*t13*t14+ 2.568; t23 = 0.001*t21*t22-0.001853571428571; t24 = 1/t10; t25 = POW(3.141592653589793,1.333333333333333); t26 = 1/t25; t27 = 1/POW(t2,2.666666666666667); t28 = POW(t8,2.0); t29 = 1/POW(2.718281828459045,6.25*t1*t24*t26*t27*t28); t30 = 0.5* t1*t23*t29*t3*t8; t31 = POW(t8,3.0); t32 = 1/t15; t33 = 1/t28; t34 = POW(t1,2.0); t35 = 1/POW(t2,4.666666666666667); t36 = 1/POW(t8,4.0); t37 = 1/t31; t38 = 0.2137*t15*t16*t18*t19+1.0; t39 = 1/POW(t2,0.666666666666667); t40 = 1.732050807568877; t41 = 0.564189583547756; t42 = SQRT(t2); t43 = 1/t42; t44 = POW(2.0,0.333333333333333); t45 = 1/t44; t46 = POW(3.0,0.166666666666667); t47 = 1/POW(3.141592653589793,0.166666666666667); t48 = 1/POW(t2,0.166666666666667); t49 = 7.5957*t45*t46*t47*t48+3.5876*t15*t16*t18*t19+0.8191* t40*t41*t43+0.189700432574756*t39; t50 = 16.0818243221511/t49+1.0; t51 = LOG(t50); t52 = 1/(2.0*t44-2.0); t53 = POW(t4,4.0); t54 = 1/POW(t2,4.0); t55 = 1.0-1.0*t53*t54; t56 = 0.11125*t15*t16*t18*t19+1.0; t57 = POW(t7,1.333333333333333)+POW(t6,1.333333333333333)- 2.0; t58 = 10.357*t45*t46*t47*t48+3.6231*t15*t16*t18*t19+0.44013* t40*t41*t43+0.191151259512734*t39; t59 = 29.60857464321668/t58+1.0; t60 = LOG(t59); t61 = 0.20548*t15*t16*t18*t19+1.0; t62 = 14.1189*t45*t46*t47*t48+6.1977*t15*t16*t18*t19+ 1.6831*t40*t41*t43+0.240587129128819*t39; t63 = 32.1646831778707/t62+1.0; t64 = LOG(t63); t65 = 0.062182*t38*t51-0.03109*t61*t64; t66 = t52*t53*t54*t57*t65+0.019751789702565*t52*t55*t56* t57*t60-0.062182*t38*t51; t67 = 1/POW(2.718281828459045,313.6286274635529*t24*t12* t37*t66); t68 = t67-1.0; t69 = 1/t68; t70 = 0.173863229795775*t34*t35*t36*t69+0.25*t1*t17*t3* t32*t33; t71 = 1/POW(t68,2.0); t72 = 0.14701341912354*t32*t25*t34*t35*t36*t71+0.664108618654073* t24*t12*t1*t3*t33*t69+1.0; t73 = 1/t72; t74 = 2.656434474616293*t32*t17*t70*t73+1.0; t75 = LOG(t74); t76 = 0.003188484444444*t10*t13*t31*t75; t77 = 1/POW(t2,1.666666666666667); t78 = 1/POW(t2,1.333333333333333); t79 = 1/POW(t2,2.0); t80 = 0.5*t1*t29*t3*(0.001*(-7.755333333333333*t15*t16* t18*t78-0.004926*t10*t11*t13*t77)*t21-0.001*t22*(-2.907666666666667* t15*t16*t18*t78-0.314666666666667*t10*t11*t13*t77-0.0554175* t9*t79)/POW(t20,2.0))*t8; t81 = t4*t79; t82 = -1.0*t5; t83 = t82+t81; t84 = POW(t6,0.333333333333333); t85 = 1/t84; t86 = -1.0*t4*t79; t87 = t5+t86; t88 = POW(t7,0.333333333333333); t89 = 1/t88; t90 = 0.666666666666667*t87*t89+0.666666666666667*t83* t85; t91 = 1/POW(t2,3.333333333333333); t92 = -1.166666666666667*t1*t23*t29*t8*t91; t93 = 16.66666666666667*t1*t24*t26*t28/POW(t2,3.666666666666667); t94 = 1/ t74; t95 = -0.583333333333333*t1*t17*t32*t33*t91; t96 = 1/POW(t8,5.0); t97 = 1/POW(t2,5.666666666666667); t98 = -0.811361739046951*t34*t36*t69*t97; t99 = 1/POW(t2,1.666666666666667); t100 = 1/POW(t42,3.0); t101 = 1/POW(t2,1.166666666666667); t102 = -1.26595*t45*t46*t47*t101-1.195866666666667*t15* t16*t18*t78-0.40955*t40*t41*t100-0.126466955049837*t99; t103 = 1/POW(t49,2.0); t104 = 1/t50; t105 = 1.0*t102*t38*t103*t104; t106 = -0.58482233974552*(-1.726166666666666*t45*t46* t47*t101-1.2077*t15*t16*t18*t78-0.220065*t40*t41*t100-0.127434173008489* t99)*t52*t55*t56*t57/(POW(t58,2.0)*t59); t107 = 0.004429431133333*t15*t16*t18*t78*t51; t108 = 1.333333333333333*t87*t88+1.333333333333333*t83* t84; t109 = -7.324622014701263E-4*t52*t15*t16*t18*t78*t55* t57*t60; t110 = 1/POW(t2,5.0); t111 = 4.0*t110*t53; t112 = POW(t4,3.0); t113 = t52*t53*t54*t57*(0.002129457733333*t15*t16*t18* t78*t64+(-2.35315*t45*t46*t47*t101-2.0659*t15*t16*t18*t78- 0.84155*t40*t41*t100-0.160391419419213*t99)*t61/(POW(t62,2.0)* t63)-0.004429431133333*t15*t16*t18*t78*t51-1.0*t102*t38*t103* t104); t114 = -4.0*t110*t52*t53*t57*t65; t115 = 940.8858823906587*t24*t12*t90*t36*t66-313.6286274635529* t12*t24*t37*(4.0*t112*t52*t54*t57*t65+t52*t53*t54*t108*t65+ 0.019751789702565*t52*(t111-4.0*t112*t54)*t56*t57*t60+0.019751789702565* t52*t55*t56*t108*t60+t114+t113+t109+t107+t106+t105); t116 = 1/POW(t72,2.0); t117 = -0.686062622576522*t32*t25*t34*t97*t36*t71; t118 = -1.549586776859504*t24*t12*t1*t91*t33*t69; t119 = 1/POW(t68,3.0); t120 = t5+t81; t121 = t82+t86; t122 = 0.666666666666667*t121*t89+0.666666666666667*t120* t85; t123 = 1.333333333333333*t121*t88+1.333333333333333*t120* t84; t124 = 940.8858823906587*t24*t12*t122*t36*t66-313.6286274635529* t12*t24*t37*(-4.0*t112*t52*t54*t57*t65+t52*t53*t54*t123*t65+ 0.019751789702565*t52*(4.0*t112*t54+t111)*t56*t57*t60+0.019751789702565* t52*t55*t56*t123*t60+t114+t113+t109+t107+t106+t105); /* code */ dfdra = t2*(0.003188484444444*t10*t13*t31*t94*(2.656434474616293* t17*t32*t73*(t98-0.695452919183101*t34*t35*t69*t90*t96+t95- 0.5*t1*t17*t3*t32*t37*t90-0.173863229795775*t115*t34*t35*t36* t67*t71)-2.656434474616293*t32*t17*t70*t116*(-0.664108618654073* t24*t12*t1*t3*t33*t115*t71*t67-0.294026838247081*t32*t25*t34* t35*t36*t115*t119*t67+t118-1.328217237308146*t24*t12*t1*t3* t90*t37*t69+t117-0.588053676494162*t32*t25*t34*t35*t90*t96* t71))+0.5*t1*t23*t29*t3*t8*(t93-12.5*t1*t24*t26*t27*t8*t90)+ t92+0.5*t1*t23*t29*t3*t90+t80+0.009565453333333*t10*t13*t90* t28*t75)+t76+t30; dfdrb = t2*(0.003188484444444*t10*t13*t31*t94*(2.656434474616293* t17*t32*t73*(t98-0.695452919183101*t122*t34*t35*t69*t96+t95- 0.173863229795775*t124*t34*t35*t36*t67*t71-0.5*t1*t122*t17* t3*t32*t37)-2.656434474616293*t32*t17*t70*t116*(-0.664108618654073* t24*t12*t1*t3*t33*t124*t71*t67-0.294026838247081*t32*t25*t34* t35*t36*t124*t119*t67+t118-1.328217237308146*t24*t12*t1*t3* t122*t37*t69+t117-0.588053676494162*t32*t25*t34*t35*t122*t96* t71))+0.5*t1*t23*t29*t3*t8*(t93-12.5*t1*t122*t24*t26*t27*t8)+ t92+t80+0.009565453333333*t10*t13*t122*t28*t75+0.5*t1*t122* t23*t29*t3)+t76+t30; dfdga = t2*(0.003188484444444*t10*t13*t31*t94*(2.656434474616293* t17*t32*t73*(0.695452919183101*t1*t35*t36*t69*grada+0.5*t17* t3*t32*t33*grada)-2.656434474616293*t32*t17*t70*(1.328217237308146* t24*t12*grada*t3*t33*t69+0.588053676494162*t32*t25*grada*t1* t35*t36*t71)*t116)-6.25*t1*t110*t23*t24*t26*t29*t31*grada+ grada*t3*t8*t23*t29); dfdgb = t2*(0.003188484444444*t10*t13*t31*t94*(2.656434474616293* t17*t32*t73*(0.695452919183101*t1*t35*t36*t69*gradb+0.5*t17* t3*t32*t33*gradb)-2.656434474616293*t32*t17*t70*(1.328217237308146* t24*t12*gradb*t3*t33*t69+0.588053676494162*t32*t25*gradb*t1* t35*t36*t71)*t116)-6.25*t1*t110*t23*t24*t26*t29*t31*gradb+ gradb*t3*t8*t23*t29); dfdgab = t2*(0.003188484444444*t10*t13*t31*(2.656434474616293* t17*t32*(0.695452919183101*t1*t35*t36*t69+0.5*t17*t3*t32*t33)* t73-2.656434474616293*t32*t17*t70*(1.328217237308146*t24*t12* t3*t33*t69+0.588053676494162*t32*t25*t1*t35*t36*t71)*t116)* t94-6.25*t1*t110*t23*t24*t26*t29*t31+t3*t8*t23*t29); ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df0010 += factor*dfdga; ds->df0001 += factor*dfdgb; ds->df00001+= factor*dfdgab; } static void pw92c_second(FunSecondFuncDrv *ds, real factor, const FunDensProp* dp) { real dfdra, dfdrb, dfdga, dfdgb, dfdgab; real d2fdrara, d2fdrarb, d2fdraga, d2fdragb, d2fdraab, d2fdrbrb, d2fdrbga, d2fdrbgb, d2fdrbgab, d2fdgaga, d2fdgagb, d2fdgagab, d2fdgbgb, d2fdgbgab, d2fdgabgab; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43, t44, t45, t46, t47, t48, t49, t50; real t51, t52, t53, t54, t55, t56, t57, t58; real t59, t60, t61, t62, t63, t64, t65, t66; real t67, t68, t69, t70, t71, t72, t73, t74; real t75, t76, t77, t78, t79, t80, t81, t82; real t83, t84, t85, t86, t87, t88, t89, t90; real t91, t92, t93, t94, t95, t96, t97, t98; real t99, t100, t101, t102, t103, t104, t105; real t106, t107, t108, t109, t110, t111, t112; real t113, t114, t115, t116, t117, t118, t119; real t120, t121, t122, t123, t124, t125, t126; real t127, t128, t129, t130, t131, t132, t133; real t134, t135, t136, t137, t138, t139, t140; real t141, t142, t143, t144, t145, t146, t147; real t148, t149, t150, t151, t152, t153, t154; real t155, t156, t157, t158, t159, t160, t161; real t162, t163, t164, t165, t166, t167, t168; real t169, t170, t171, t172, t173, t174, t175; real t176, t177, t178, t179, t180, t181, t182; real t183, t184, t185, t186, t187, t188, t189; real t190, t191, t192, t193, t194, t195, t196; real t197, t198, t199, t200, t201, t202, t203; real t204, t205, t206, t207, t208, t209, t210; real t211, t212, t213, t214, t215, t216, t217; real t218, t219, t220, t221, t222, t223, t224; real t225, t226, t227, t228, t229, t230, t231; real t232, t233, t234, t235, t236, t237, t238; real t239, t240, t241, t242, t243, t244, t245; real t246, t247, t248, t249, t250, t251, t252; real t253, t254, t255, t256, t257, t258, t259; real t260, t261, t262, t263, t264, t265, t266; real t267, t268, t269, t270, t271, t272, t273; real t274, t275, t276, t277, t278, t279, t280; real t281, t282, t283, t284, t285, t286, t287; real t288, t289, t290; t1 = POW(grada,2.0); t2 = POW(gradb,2.0); t3 = 2.0*gradab+t2+t1; t4 = rhob+rhoa; t5 = 1/POW(t4,2.333333333333333); t6 = rhoa-1.0*rhob; t7 = 1/t4; t8 = 1.0-1.0*t6*t7; t9 = POW(t8,0.666666666666667); t10 = t6*t7+1.0; t11 = POW(t10,0.666666666666667); t12 = t11+t9; t13 = 0.318309886183791; t14 = POW(3.0,0.666666666666667); t15 = 1/POW(4.0,0.666666666666667); t16 = POW(3.141592653589793,0.666666666666667); t17 = 1/t16; t18 = 1/POW(t4,0.666666666666667); t19 = POW(3.0,0.333333333333333); t20 = 1/POW(4.0,0.333333333333333); t21 = POW(3.141592653589793,0.333333333333333); t22 = 1/t21; t23 = 1/POW(t4,0.333333333333333); t24 = 0.0554175*t13*t7+8.723*t19*t20*t22*t23+0.472*t14* t15*t17*t18+1.0; t25 = 1/t24; t26 = 23.266*t19*t20*t22*t23+0.007389*t14*t15*t17*t18+ 2.568; t27 = 0.001*t25*t26-0.001853571428571; t28 = 1/t14; t29 = POW(3.141592653589793,1.333333333333333); t30 = 1/t29; t31 = 1/POW(t4,2.666666666666667); t32 = POW(t12,2.0); t33 = 1/POW(2.718281828459045,6.25*t28*t3*t30*t31*t32); t34 = 0.5* t12*t27*t3*t33*t5; t35 = POW(t12,3.0); t36 = 1/t19; t37 = 1/t32; t38 = POW(t3,2.0); t39 = 1/POW(t4,4.666666666666667); t40 = 1/POW(t12,4.0); t41 = 1/t35; t42 = 0.2137*t19*t20*t22*t23+1.0; t43 = 1/POW(t4,0.666666666666667); t44 = 1.732050807568877; t45 = 0.564189583547756; t46 = SQRT(t4); t47 = 1/t46; t48 = POW(2.0,0.333333333333333); t49 = 1/t48; t50 = POW(3.0,0.166666666666667); t51 = 1/POW(3.141592653589793,0.166666666666667); t52 = 1/POW(t4,0.166666666666667); t53 = 7.5957*t49*t50*t51*t52+3.5876*t19*t20*t22*t23+0.8191* t44*t45*t47+0.189700432574756*t43; t54 = 16.0818243221511/t53+1.0; t55 = LOG(t54); t56 = 1/(2.0*t48-2.0); t57 = POW(t6,4.0); t58 = 1/POW(t4,4.0); t59 = 1.0-1.0*t57*t58; t60 = 0.11125*t19*t20*t22*t23+1.0; t61 = POW(t8,1.333333333333333); t62 = POW(t10,1.333333333333333); t63 = t62+t61-2.0; t64 = 10.357*t49*t50*t51*t52+3.6231*t19*t20*t22*t23+0.44013* t44*t45*t47+0.191151259512734*t43; t65 = 29.60857464321668/t64+1.0; t66 = LOG(t65); t67 = 0.20548*t19*t20*t22*t23+1.0; t68 = 14.1189*t49*t50*t51*t52+6.1977*t19*t20*t22*t23+ 1.6831*t44*t45*t47+0.240587129128819*t43; t69 = 32.1646831778707/t68+1.0; t70 = LOG(t69); t71 = 0.062182*t42*t55-0.03109*t67*t70; t72 = t56*t57*t58*t63*t71+0.019751789702565*t56*t59*t60* t63*t66-0.062182*t42*t55; t73 = 1/POW(2.718281828459045,313.6286274635529*t28*t16* t41*t72); t74 = t73-1.0; t75 = 1/t74; t76 = 0.173863229795775*t38*t39*t40*t75+0.25*t21*t3*t36* t37*t5; t77 = 1/POW(t74,2.0); t78 = 0.14701341912354*t36*t29*t38*t39*t40*t77+0.664108618654073* t28*t16*t3*t5*t37*t75+1.0; t79 = 1/t78; t80 = 2.656434474616293*t36*t21*t76*t79+1.0; t81 = LOG(t80); t82 = 0.003188484444444*t14*t17*t35*t81; t83 = 1/POW(t4,1.666666666666667); t84 = 1/POW(t4,1.333333333333333); t85 = -7.755333333333333*t19*t20*t22*t84-0.004926*t14* t15*t17*t83; t86 = 1/POW(t4,2.0); t87 = -2.907666666666667*t19*t20*t22*t84-0.314666666666667* t14*t15*t17*t83-0.0554175*t13*t86; t88 = 1/POW(t24,2.0); t89 = 0.001*t85*t25-0.001*t87*t88*t26; t90 = 0.5*t12*t3*t33*t5*t89; t91 = t6*t86; t92 = -1.0*t7; t93 = t92+t91; t94 = POW(t8,0.333333333333333); t95 = 1/t94; t96 = -1.0*t6*t86; t97 = t7+t96; t98 = POW(t10,0.333333333333333); t99 = 1/t98; t100 = 0.666666666666667*t97*t99+0.666666666666667*t93* t95; t101 = 0.5*t100*t27*t3*t33*t5; t102 = 1/POW(t4,3.333333333333333); t103 = -1.166666666666667*t102*t12*t27*t3*t33; t104 = 1/POW(t4,3.666666666666667); t105 = 16.66666666666667*t104*t28*t3*t30*t32; t106 = t105-12.5*t100*t12*t28*t3*t30*t31; t107 = 0.5*t106*t12*t27*t3*t33*t5; t108 = 1/t80; t109 = -0.583333333333333*t102*t21*t3*t36*t37; t110 = POW(t12,5.0); t111 = 1/t110; t112 = 1/POW(t4,5.666666666666667); t113 = -0.811361739046951*t112*t38*t40*t75; t114 = 1/POW(t4,1.666666666666667); t115 = 1/POW(t46,3.0); t116 = 1/POW(t4,1.166666666666667); t117 = -1.26595*t49*t50*t51*t116-1.195866666666667*t19* t20*t22*t84-0.40955*t44*t45*t115-0.126466955049837*t114; t118 = 1/ POW(t53,2.0); t119 = 1/t54; t120 = 1.0*t117*t42*t118*t119; t121 = -1.726166666666666*t49*t50*t51*t116-1.2077*t19* t20*t22*t84-0.220065*t44*t45*t115-0.127434173008489*t114; t122 = 1/ POW(t64,2.0); t123 = 1/t65; t124 = -0.58482233974552*t56*t59*t121*t60*t122*t63*t123; t125 = 0.004429431133333* t19*t20*t22*t84*t55; t126 = 1.333333333333333*t97*t98+1.333333333333333*t93* t94; t127 = -7.324622014701263E-4*t56*t19*t20*t22*t84*t59* t63*t66; t128 = 1/POW(t4,5.0); t129 = 4.0*t128*t57; t130 = POW(t6,3.0); t131 = t129-4.0*t130*t58; t132 = -2.35315*t49*t50*t51*t116-2.0659*t19*t20*t22*t84- 0.84155*t44*t45*t115-0.160391419419213*t114; t133 = 1/POW(t68,2.0); t134 = 1/t69; t135 = 0.002129457733333*t19*t20*t22*t84*t70-0.004429431133333* t19*t20*t22*t84*t55+t132*t67*t133*t134-1.0*t117*t42*t118*t119; t136 = t56* t57*t58*t63*t135; t137 = -4.0*t128*t56*t57*t63*t71; t138 = 4.0*t130*t56*t58*t63*t71+t56*t57*t58*t126*t71+ 0.019751789702565*t56*t131*t60*t63*t66+0.019751789702565*t56* t59*t60*t126*t66+t137+t136+t127+t125+t124+t120; t139 = 940.8858823906587*t28*t16*t100*t40*t72-313.6286274635529* t28*t16*t41*t138; t140 = -0.173863229795775*t139*t38*t39*t40*t73*t77-0.695452919183101* t100*t111*t38*t39*t75-0.5*t100*t21*t3*t36*t41*t5+t113+t109; t141 = 1/ POW(t78,2.0); t142 = -0.686062622576522*t36*t29*t38*t112*t40*t77; t143 = - 1.549586776859504*t28*t16*t3*t102*t37*t75; t144 = 1/POW(t74,3.0); t145 = -0.664108618654073*t28*t16*t3*t5*t37*t139*t77* t73-0.294026838247081*t36*t29*t38*t39*t40*t139*t144*t73+t143- 1.328217237308146*t28*t16*t3*t5*t100*t41*t75+t142-0.588053676494162* t36*t29*t38*t39*t100*t111*t77; t146 = 2.656434474616293*t36*t21*t79*t140-2.656434474616293* t36*t21*t76*t141*t145; t147 = 0.003188484444444*t14*t17*t35*t108*t146; t148 = 0.009565453333333*t14*t17*t100*t32*t81; t149 = t7+t91; t150 = t92+t96; t151 = 0.666666666666667*t150*t99+0.666666666666667*t149* t95; t152 = 0.5*t151*t27*t3*t33*t5; t153 = t105-12.5*t12*t151*t28*t3*t30*t31; t154 = 0.5*t12*t153*t27*t3*t33*t5; t155 = 1.333333333333333*t150*t98+1.333333333333333*t149* t94; t156 = 4.0*t130*t58+t129; t157 = -4.0*t130*t56*t58*t63*t71+t56*t57*t58*t155*t71+ 0.019751789702565*t56*t156*t60*t63*t66+0.019751789702565*t56* t59*t60*t155*t66+t137+t136+t127+t125+t124+t120; t158 = 940.8858823906587*t28*t16*t151*t40*t72-313.6286274635529* t28*t16*t41*t157; t159 = -0.173863229795775*t158*t38*t39*t40*t73*t77-0.695452919183101* t111*t151*t38*t39*t75-0.5*t151*t21*t3*t36*t41*t5+t113+t109; t160 = - 0.664108618654073*t28*t16*t3*t5*t37*t158*t77*t73-0.294026838247081* t36*t29*t38*t39*t40*t158*t144*t73+t143-1.328217237308146*t28* t16*t3*t5*t151*t41*t75+t142-0.588053676494162*t36*t29*t38* t39*t151*t111*t77; t161 = 2.656434474616293*t36*t21*t79*t159-2.656434474616293* t36*t21*t76*t141*t160; t162 = 0.003188484444444*t14*t17*t35*t108*t161; t163 = 0.009565453333333*t14*t17*t151*t32*t81; t164 = grada*t5*t12*t27*t33; t165 = -6.25*t128*t27*t28*t3*t30*t33*t35*grada; t166 = 1.328217237308146*t28*t16*grada*t5*t37*t75+0.588053676494162* t36*t29*grada*t3*t39*t40*t77; t167 = 0.695452919183101*t3*t39*t40*t75*grada+0.5*t21* t36*t37*t5*grada; t168 = 2.656434474616293*t36*t21*t167*t79-2.656434474616293* t36*t21*t76*t166*t141; t169 = 0.003188484444444*t14*t17*t35*t168*t108; t170 = gradb*t5*t12*t27*t33; t171 = -6.25*t128*t27*t28*t3*t30*t33*t35*gradb; t172 = 1.328217237308146*t28*t16*gradb*t5*t37*t75+0.588053676494162* t36*t29*gradb*t3*t39*t40*t77; t173 = 0.695452919183101*t3*t39*t40*t75*gradb+0.5*t21* t36*t37*t5*gradb; t174 = 2.656434474616293*t36*t21*t173*t79-2.656434474616293* t36*t21*t76*t172*t141; t175 = 0.003188484444444*t14*t17*t35*t174*t108; t176 = t5*t12*t27*t33; t177 = -6.25*t128*t27*t28*t3*t30*t33*t35; t178 = 0.588053676494162*t36*t29*t3*t39*t40*t77; t179 = 1.328217237308146*t28*t16*t5*t37*t75; t180 = t179+t178; t181 = 0.5*t21*t36*t37*t5; t182 = 0.695452919183101*t3*t39*t40*t75; t183 = t182+t181; t184 = 2.656434474616293*t36*t21*t183*t79-2.656434474616293* t36*t21*t76*t180*t141; t185 = 0.003188484444444*t14*t17*t35*t184*t108; t186 = t3*t5*t12*t89*t33; t187 = -2.333333333333333*t102*t12*t27*t3*t33; t188 = 1/POW(t4,3.0); t189 = 0.5*t12*t3*t33*t5*(-0.002*t85*t87*t88+0.002*t26* POW(t87,2.0)/POW(t24,3.0)-0.001*(3.876888888888889*t19*t20* t22*t5+0.524444444444444*t14*t15*t17*t31+0.110835*t13*t188)* t88*t26+0.001*(10.34044444444444*t19*t20*t22*t5+0.00821*t14* t15*t17*t31)*t25); t190 = -2.333333333333333*t102*t12*t3*t33*t89; t191 = POW(t93,2.0); t192 = 1/t61; t193 = -2.0*t188*t6; t194 = 2.0*t86; t195 = t194+t193; t196 = POW(t97,2.0); t197 = 1/t62; t198 = 2.0*t188*t6; t199 = -2.0*t86; t200 = t199+t198; t201 = 0.666666666666667*t200*t99+0.666666666666667*t195* t95-0.222222222222222*t196*t197-0.222222222222222*t191*t192; t202 = 1/ POW(t4,4.333333333333333); t203 = 3.888888888888889*t12*t202*t27*t3*t33; t204 = POW(t100,2.0); t205 = -61.11111111111111*t28*t3*t30*t32*t39; t206 = 1/POW(t80,2.0); t207 = 1/POW(t78,3.0); t208 = 1.944444444444444*t202*t21*t3*t36*t37; t209 = POW(t139,2.0); t210 = 1/POW(2.718281828459045,627.2572549271058*t28* t16*t41*t72); t211 = 1/POW(t12,6.0); t212 = 1/POW(t4,6.666666666666667); t213 = 4.597716521266054*t212*t38*t40*t75; t214 = POW(t117,2.0); t215 = 1/POW(t53,4.0); t216 = 1/POW(t54,2.0); t217 = 16.0818243221511*t214*t42*t215*t216; t218 = 1/POW(t53,3.0); t219 = -2.0*t214*t42*t218*t119; t220 = -0.142466666666667*t19*t20*t22*t84*t117*t118*t119; t221 = 1/ POW(t4,2.666666666666667); t222 = 1/POW(t46,5.0); t223 = 1/POW(t4,2.166666666666667); t224 = 1.476941666666667*t49*t50*t51*t223+1.594488888888889* t19*t20*t22*t5+0.614325*t44*t45*t222+0.210778258416395*t221; t225 = 1.0* t224*t42*t118*t119; t226 = POW(t121,2.0); t227 = -17.31575589937587*t226*t56*t59*t60*t63/(POW(t64, 4.0)*POW(t65,2.0)); t228 = 1.169644679491041*t123*t226*t56*t59*t60*t63/POW(t64, 3.0); t229 = 0.043374323531126*t56*t19*t20*t22*t84*t59*t121* t122*t63*t123; t230 = -0.58482233974552*t56*t59*(2.013861111111111*t49* t50*t51*t223+1.610266666666667*t19*t20*t22*t5+0.3300975*t44* t45*t222+0.212390288347482*t221)*t60*t122*t63*t123; t231 = -0.005905908177778*t19*t20*t22*t5*t55; t232 = 1/t9; t233 = 1/t11; t234 = 1.333333333333333*t200*t98+1.333333333333333*t195* t94+0.444444444444444*t196*t233+0.444444444444444*t191*t232; t235 = 9.76616268626835E-4*t56*t19*t20*t22*t5*t59*t63* t66; t236 = 1/POW(t4,6.0); t237 = -20.0*t236*t57; t238 = POW(t6,2.0); t239 = -12.0*t238*t58; t240 = POW(t132,2.0); t241 = t56*t57*t58*t63*(-0.002839276977778*t19*t20*t22* t5*t70+32.1646831778707*t240*t67/(POW(t68,4.0)*POW(t69,2.0))- 2.0*t134*t240*t67/POW(t68,3.0)+0.005905908177778*t19*t20*t22* t5*t55-16.0818243221511*t214*t42*t215*t216+(2.745341666666667* t49*t50*t51*t223+2.754533333333333*t19*t20*t22*t5+1.262325* t44*t45*t222+0.267319032365355*t221)*t67*t133*t134-0.136986666666667* t19*t20*t22*t84*t132*t133*t134+2.0*t214*t42*t218*t119-1.0* t224*t42*t118*t119+0.142466666666667*t19*t20*t22*t84*t117* t118*t119); t242 = -8.0*t128*t135*t56*t57*t63; t243 = 20.0*t236*t56*t57*t63*t71; t244 = 12.0*t238*t56*t58*t63*t71; t245 = 940.8858823906587*t28*t16*t201*t40*t72-3763.543529562635* t28*t16*t204*t111*t72-313.6286274635529*t16*t28*t41*(-32.0* t128*t130*t56*t63*t71+8.0*t126*t130*t56*t58*t71-8.0*t126*t128* t56*t57*t71+t56*t57*t58*t234*t71+0.019751789702565*(t239+t237+ 32.0*t128*t130)*t56*t60*t63*t66-0.00146492440294*t56*t19*t20* t22*t84*t131*t63*t66+0.019751789702565*t56*t59*t60*t234*t66+ 0.03950357940513*t56*t131*t60*t126*t66-0.00146492440294*t56* t19*t20*t22*t84*t59*t126*t66+8.0*t130*t135*t56*t58*t63+2.0* t126*t135*t56*t57*t58+t244+t243+t242+t241+t235+t231+t230+t229+ t228+t227+t225+t220+t219+t217-1.169644679491041*t56*t131*t121* t60*t122*t63*t123-1.169644679491041*t56*t59*t121*t60*t122* t126*t123)+1881.771764781317*t28*t16*t100*t40*t138; t246 = 1/POW(t74,4.0); t247 = 3.887688194600291*t36*t29*t38*t212*t40*t77; t248 = 5.165289256198347*t28*t16*t3*t202*t37*t75; t249 = 1.333333333333333*t188*t6*t99-0.222222222222222* t150*t197*t97-1.333333333333333*t188*t6*t95-0.222222222222222* t149*t192*t93; t250 = 2.666666666666667*t188*t6*t98+0.444444444444444* t150*t233*t97-2.666666666666667*t188*t6*t94+0.444444444444444* t149*t232*t93; t251 = 940.8858823906587*t28*t16*t249*t40*t72-3763.543529562635* t28*t16*t151*t100*t111*t72-313.6286274635529*t16*t28*t41*(- 12.0*t238*t56*t58*t63*t71+4.0*t130*t155*t56*t58*t71-4.0*t126* t130*t56*t58*t71-4.0*t128*t155*t56*t57*t71-4.0*t126*t128*t56* t57*t71+t56*t57*t58*t250*t71+0.019751789702565*t56*(12.0*t238* t58+t237)*t60*t63*t66-7.324622014701263E-4*t56*t19*t20*t22* t84*t156*t63*t66-7.324622014701263E-4*t56*t19*t20*t22*t84* t131*t63*t66+0.019751789702565*t56*t59*t60*t250*t66+0.019751789702565* t56*t131*t60*t155*t66-7.324622014701263E-4*t56*t19*t20*t22* t84*t59*t155*t66+0.019751789702565*t56*t156*t60*t126*t66-7.324622014701263E-4* t56*t19*t20*t22*t84*t59*t126*t66+t243+t242+t241+t235+t231+ t230+t229+t228+t227+t225+t220+t219+t217+t56*t57*t58*t155*t135+ t56*t57*t58*t126*t135-0.58482233974552*t56*t156*t121*t60*t122* t63*t123-0.58482233974552*t56*t131*t121*t60*t122*t63*t123- 0.58482233974552*t56*t59*t121*t60*t122*t155*t123-0.58482233974552* t56*t59*t121*t60*t122*t126*t123)+940.8858823906587*t28*t16* t100*t40*t157+940.8858823906587*t28*t16*t151*t40*t138; t252 = grada*t5*t12*t89*t33; t253 = -6.25*t128*t28*t3*t30*t33*t35*t89*grada; t254 = -2.333333333333333*t102*t12*t27*t33*grada; t255 = 14.58333333333333*t236*t27*t28*t3*t30*t33*t35* grada; t256 = 33.33333333333334*t104*t28*t30*t32*grada; t257 = -1.166666666666667*t102*t21*t36*t37*grada; t258 = -3.245446956187803*t112*t3*t40*t75*grada; t259 = -2.744250490306088*t36*t29*grada*t3*t112*t40*t77; t260 = - 3.099173553719008*t28*t16*grada*t102*t37*t75; t261 = gradb*t5*t12*t89*t33; t262 = -6.25*t128*t28*t3*t30*t33*t35*t89*gradb; t263 = -2.333333333333333*t102*t12*t27*t33*gradb; t264 = 14.58333333333333*t236*t27*t28*t3*t30*t33*t35* gradb; t265 = 33.33333333333334*t104*t28*t30*t32*gradb; t266 = -1.166666666666667*t102*t21*t36*t37*gradb; t267 = -3.245446956187803*t112*t3*t40*t75*gradb; t268 = -2.744250490306088*t36*t29*gradb*t3*t112*t40*t77; t269 = - 3.099173553719008*t28*t16*gradb*t102*t37*t75; t270 = t5*t12*t89*t33; t271 = -6.25*t128*t28*t3*t30*t33*t35*t89; t272 = -2.333333333333333*t102*t12*t27*t33; t273 = 14.58333333333333*t236*t27*t28*t3*t30*t33*t35; t274 = 33.33333333333334* t104*t28*t30*t32; t275 = -1.166666666666667*t102*t21*t36*t37; t276 = -3.245446956187803*t112*t3*t40*t75; t277 = -2.744250490306088*t36*t29*t3*t112*t40*t77; t278 = -3.099173553719008*t28*t16*t102*t37*t75; t279 = POW(t149,2.0); t280 = t199+t193; t281 = POW(t150,2.0); t282 = t194+t198; t283 = 0.666666666666667*t282*t99+0.666666666666667*t280* t95-0.222222222222222*t197*t281-0.222222222222222*t192*t279; t284 = POW(t151, 2.0); t285 = POW(t158,2.0); t286 = 1.333333333333333*t282*t98+1.333333333333333*t280* t94+0.444444444444444*t233*t281+0.444444444444444*t232*t279; t287 = 940.8858823906587* t28*t16*t283*t40*t72-3763.543529562635*t28*t16*t284*t111*t72- 313.6286274635529*t16*t28*t41*(32.0*t128*t130*t56*t63*t71- 8.0*t130*t155*t56*t58*t71-8.0*t128*t155*t56*t57*t71+t56*t57* t58*t286*t71+0.019751789702565*(t239+t237-32.0*t128*t130)* t56*t60*t63*t66-0.00146492440294*t56*t19*t20*t22*t84*t156* t63*t66+0.019751789702565*t56*t59*t60*t286*t66+0.03950357940513* t56*t156*t60*t155*t66-0.00146492440294*t56*t19*t20*t22*t84* t59*t155*t66-8.0*t130*t135*t56*t58*t63+2.0*t135*t155*t56*t57* t58+t244+t243+t242+t241+t235+t231+t230+t229+t228+t227+t225+ t220+t219+t217-1.169644679491041*t56*t156*t121*t60*t122*t63* t123-1.169644679491041*t56*t59*t121*t60*t122*t155*t123)+1881.771764781317* t28*t16*t151*t40*t157; t288 = 1/POW(3.141592653589793,2.666666666666667); t289 = 1/POW(t4,7.666666666666667); t290 = POW(3.141592653589793,1.666666666666667); /* code */ dfdra = t4*(t148+t147+t107+t103+t101+t90)+t82+t34; dfdrb = t4*(t163+t162+t154+t103+t152+t90)+t82+t34; dfdga = t4*(t169+t165+t164); dfdgb = t4*(t175+t171+t170); dfdgab = t4*(t185+t177+t176); d2fdrara = t4*(0.009565453333333*t14*t17*t201*t32*t81+ 0.019130906666667*t14*t17*t204*t12*t81+0.003188484444444*t108* t14*t17*t35*(2.656434474616293*t21*t36*(-0.173863229795775* t245*t38*t39*t40*t73*t77-0.173863229795775*t209*t38*t39*t40* t73*t77+1.622723478093901*t112*t139*t38*t40*t73*t77+1.390905838366201* t100*t111*t139*t38*t39*t73*t77+3.477264595915503*t204*t211* t38*t39*t75-0.695452919183101*t111*t201*t38*t39*t75+6.490893912375606* t100*t111*t112*t38*t75-0.5*t201*t21*t3*t36*t41*t5+1.5*t204* t21*t3*t36*t40*t5+2.333333333333333*t100*t102*t21*t3*t36*t41+ 0.34772645959155*t144*t209*t210*t38*t39*t40+t213+t208)*t79+ 5.312868949232586*POW(t145,2.0)*t207*t21*t36*t76-2.656434474616293* t36*t21*t76*t141*(-0.664108618654073*t28*t16*t3*t5*t37*t209* t77*t73+3.099173553719008*t28*t16*t3*t102*t37*t139*t77*t73+ 2.656434474616293*t28*t16*t3*t5*t100*t41*t139*t77*t73-0.664108618654073* t28*t16*t3*t5*t37*t245*t77*t73-0.294026838247081*t36*t29*t38* t39*t40*t209*t144*t73+2.744250490306088*t36*t29*t38*t112*t40* t139*t144*t73+2.352214705976647*t36*t29*t38*t39*t100*t111* t139*t144*t73-0.294026838247081*t36*t29*t38*t39*t40*t245*t144* t73+t248+6.198347107438017*t28*t16*t3*t102*t100*t41*t75-1.328217237308146* t28*t16*t3*t5*t201*t41*t75+3.98465171192444*t28*t16*t3*t5* t204*t40*t75+t247+5.488500980612176*t36*t29*t38*t112*t100* t111*t77-0.588053676494162*t36*t29*t38*t39*t201*t111*t77+2.940268382470808* t36*t29*t38*t39*t204*t211*t77+1.328217237308146*t28*t16*t3* t5*t37*t209*t210*t144+0.882080514741242*t36*t29*t38*t39*t40* t209*t210*t246)-5.312868949232586*t36*t21*t141*t140*t145)+ 0.5*t12*t27*t3*(-12.5*t204*t28*t3*t30*t31-12.5*t12*t201*t28* t3*t30*t31+66.66666666666667*t100*t104*t12*t28*t3*t30+t205)* t33*t5+0.5*t201*t27*t3*t33*t5+0.5*POW(t106,2.0)*t12*t27*t3* t33*t5-0.003188484444444*t14*POW(t146,2.0)*t17*t206*t35+t3* t5*t100*t89*t33-2.333333333333333*t102*t106*t12*t27*t3*t33- 2.333333333333333*t100*t102*t27*t3*t33+t3*t5*t12*t89*t106* t33+t3*t5*t100*t27*t106*t33+t203+t190+t189+0.019130906666667* t14*t17*t100*t32*t108*t146)+0.019130906666667*t14*t17*t100* t32*t81+t3*t5*t100*t27*t33+t3*t5*t12*t27*t106*t33+t187+t186+ 0.006376968888889*t14*t17*t35*t108*t146; d2fdrarb = t4*(0.5*t12*t153*t3*t33*t5*t89+0.5*t151*t3* t33*t5*t89+0.5*t106*t12*t3*t33*t5*t89+0.5*t100*t3*t33*t5*t89+ 0.009565453333333*t14*t17*t249*t32*t81+0.019130906666667*t14* t17*t151*t100*t12*t81+0.003188484444444*t108*t14*t17*t35*(2.656434474616293* t21*t36*(-0.173863229795775*t251*t38*t39*t40*t73*t77-0.173863229795775* t139*t158*t38*t39*t40*t73*t77+0.811361739046951*t112*t158* t38*t40*t73*t77+0.811361739046951*t112*t139*t38*t40*t73*t77+ 0.695452919183101*t100*t111*t158*t38*t39*t73*t77+0.695452919183101* t111*t139*t151*t38*t39*t73*t77-0.695452919183101*t111*t249* t38*t39*t75+3.477264595915503*t100*t151*t211*t38*t39*t75+3.245446956187803* t111*t112*t151*t38*t75+3.245446956187803*t100*t111*t112*t38* t75-0.5*t21*t249*t3*t36*t41*t5+1.5*t100*t151*t21*t3*t36*t40* t5+1.166666666666667*t102*t151*t21*t3*t36*t41+1.166666666666667* t100*t102*t21*t3*t36*t41+0.34772645959155*t139*t144*t158*t210* t38*t39*t40+t213+t208)*t79-2.656434474616293*t36*t21*t76*t141* (-0.664108618654073*t28*t16*t3*t5*t37*t158*t139*t77*t73+1.549586776859504* t28*t16*t3*t102*t37*t139*t77*t73+1.328217237308146*t28*t16* t3*t5*t151*t41*t139*t77*t73+1.549586776859504*t28*t16*t3*t102* t37*t158*t77*t73+1.328217237308146*t28*t16*t3*t5*t100*t41* t158*t77*t73-0.664108618654073*t28*t16*t3*t5*t37*t251*t77* t73-0.294026838247081*t36*t29*t38*t39*t40*t158*t139*t144*t73+ 1.372125245153044*t36*t29*t38*t112*t40*t139*t144*t73+1.176107352988323* t36*t29*t38*t39*t151*t111*t139*t144*t73+1.372125245153044* t36*t29*t38*t112*t40*t158*t144*t73+1.176107352988323*t36*t29* t38*t39*t100*t111*t158*t144*t73-0.294026838247081*t36*t29* t38*t39*t40*t251*t144*t73+t248+3.099173553719008*t28*t16*t3* t102*t100*t41*t75+3.099173553719008*t28*t16*t3*t102*t151*t41* t75-1.328217237308146*t28*t16*t3*t5*t249*t41*t75+3.98465171192444* t28*t16*t3*t5*t151*t100*t40*t75+t247+2.744250490306088*t36* t29*t38*t112*t100*t111*t77+2.744250490306088*t36*t29*t38*t112* t151*t111*t77-0.588053676494162*t36*t29*t38*t39*t249*t111* t77+2.940268382470808*t36*t29*t38*t39*t151*t100*t211*t77+1.328217237308146* t28*t16*t3*t5*t37*t158*t139*t210*t144+0.882080514741242*t36* t29*t38*t39*t40*t158*t139*t210*t246)+5.312868949232586*t36* t21*t76*t207*t160*t145-2.656434474616293*t36*t21*t141*t159* t145-2.656434474616293*t36*t21*t141*t160*t140)+0.5*t12*t27* t3*(-12.5*t12*t249*t28*t3*t30*t31-12.5*t100*t151*t28*t3*t30* t31+33.33333333333334*t104*t12*t151*t28*t3*t30+33.33333333333334* t100*t104*t12*t28*t3*t30+t205)*t33*t5+0.5*t249*t27*t3*t33* t5+0.5*t106*t12*t153*t27*t3*t33*t5+0.5*t100*t153*t27*t3*t33* t5+0.5*t106*t151*t27*t3*t33*t5-1.166666666666667*t102*t12* t153*t27*t3*t33-1.166666666666667*t102*t151*t27*t3*t33-1.166666666666667* t102*t106*t12*t27*t3*t33-1.166666666666667*t100*t102*t27*t3* t33+t203+t190+t189+0.009565453333333*t14*t17*t100*t32*t108* t161-0.003188484444444*t14*t17*t35*t206*t161*t146+0.009565453333333* t14*t17*t151*t32*t108*t146)+t187+t186+t163+t162+t154+t152+ t148+t147+t107+t101; d2fdraga = t4*(0.003188484444444*t108*t14*t17*t35*(2.656434474616293* t21*t36*t79*(-0.695452919183101*t139*t3*t39*t40*t73*t77*grada- 2.781811676732402*t100*t111*t3*t39*t75*grada-1.0*t100*t21* t36*t41*t5*grada+t258+t257)-2.656434474616293*t36*t21*t76* t141*(-1.328217237308146*t28*t16*grada*t5*t37*t139*t77*t73- 1.176107352988323*t36*t29*grada*t3*t39*t40*t139*t144*t73+t260- 2.656434474616293*t28*t16*grada*t5*t100*t41*t75+t259-2.352214705976647* t36*t29*grada*t3*t39*t100*t111*t77)+5.312868949232586*t36* t21*t76*t166*t207*t145-2.656434474616293*t36*t21*t167*t141* t145-2.656434474616293*t36*t21*t166*t141*t140)+0.5*t12*t27* t3*t33*t5*(t256-25.0*t100*t12*t28*t30*t31*grada)-6.25*t106* t128*t27*t28*t3*t30*t33*t35*grada-6.25*t100*t128*t27*t28*t3* t30*t32*t33*grada+grada*t5*t100*t27*t33+grada*t5*t12*t27*t106* t33+t255+t254+t253+t252-0.003188484444444*t14*t17*t35*t168* t206*t146+0.009565453333333*t14*t17*t100*t32*t168*t108)+t169+ t165+t164; d2fdragb = t4*(0.003188484444444*t108*t14*t17*t35*(2.656434474616293* t21*t36*t79*(-0.695452919183101*t139*t3*t39*t40*t73*t77*gradb- 2.781811676732402*t100*t111*t3*t39*t75*gradb-1.0*t100*t21* t36*t41*t5*gradb+t267+t266)-2.656434474616293*t36*t21*t76* t141*(-1.328217237308146*t28*t16*gradb*t5*t37*t139*t77*t73- 1.176107352988323*t36*t29*gradb*t3*t39*t40*t139*t144*t73+t269- 2.656434474616293*t28*t16*gradb*t5*t100*t41*t75+t268-2.352214705976647* t36*t29*gradb*t3*t39*t100*t111*t77)+5.312868949232586*t36* t21*t76*t172*t207*t145-2.656434474616293*t36*t21*t173*t141* t145-2.656434474616293*t36*t21*t172*t141*t140)+0.5*t12*t27* t3*t33*t5*(t265-25.0*t100*t12*t28*t30*t31*gradb)-6.25*t106* t128*t27*t28*t3*t30*t33*t35*gradb-6.25*t100*t128*t27*t28*t3* t30*t32*t33*gradb+gradb*t5*t100*t27*t33+gradb*t5*t12*t27*t106* t33+t264+t263+t262+t261-0.003188484444444*t14*t17*t35*t174* t206*t146+0.009565453333333*t14*t17*t100*t32*t174*t108)+t175+ t171+t170; d2fdraab = t4*(0.003188484444444*t108*t14*t17*t35*(2.656434474616293* t21*t36*(-0.695452919183101*t139*t3*t39*t40*t73*t77-2.781811676732402* t100*t111*t3*t39*t75-1.0*t100*t21*t36*t41*t5+t276+t275)*t79- 2.656434474616293*t36*t21*t76*t141*(-1.328217237308146*t28* t16*t5*t37*t139*t77*t73-1.176107352988323*t36*t29*t3*t39*t40* t139*t144*t73+t278-2.656434474616293*t28*t16*t5*t100*t41*t75+ t277-2.352214705976647*t36*t29*t3*t39*t100*t111*t77)+5.312868949232586* t36*t21*t76*t180*t207*t145-2.656434474616293*t36*t21*t183* t141*t145-2.656434474616293*t36*t21*t180*t141*t140)+0.5*t12* t27*t3*(t274-25.0*t100*t12*t28*t30*t31)*t33*t5-6.25*t106*t128* t27*t28*t3*t30*t33*t35-6.25*t100*t128*t27*t28*t3*t30*t32*t33+ t5*t100*t27*t33+t5*t12*t27*t106*t33+t273+t272+t271+t270-0.003188484444444* t14*t17*t35*t184*t206*t146+0.009565453333333*t14*t17*t100* t32*t184*t108)+t185+t177+t176; d2fdrbrb = t4*(0.009565453333333*t14*t17*t283*t32*t81+ 0.019130906666667*t14*t17*t284*t12*t81+0.003188484444444*t108* t14*t17*t35*(2.656434474616293*t21*t36*(-0.173863229795775* t287*t38*t39*t40*t73*t77-0.173863229795775*t285*t38*t39*t40* t73*t77+1.622723478093901*t112*t158*t38*t40*t73*t77+1.390905838366201* t111*t151*t158*t38*t39*t73*t77+3.477264595915503*t211*t284* t38*t39*t75-0.695452919183101*t111*t283*t38*t39*t75+6.490893912375606* t111*t112*t151*t38*t75-0.5*t21*t283*t3*t36*t41*t5+1.5*t21* t284*t3*t36*t40*t5+2.333333333333333*t102*t151*t21*t3*t36* t41+0.34772645959155*t144*t210*t285*t38*t39*t40+t213+t208)* t79+5.312868949232586*POW(t160,2.0)*t207*t21*t36*t76-2.656434474616293* t36*t21*t76*t141*(-0.664108618654073*t28*t16*t3*t5*t37*t285* t77*t73+3.099173553719008*t28*t16*t3*t102*t37*t158*t77*t73+ 2.656434474616293*t28*t16*t3*t5*t151*t41*t158*t77*t73-0.664108618654073* t28*t16*t3*t5*t37*t287*t77*t73-0.294026838247081*t36*t29*t38* t39*t40*t285*t144*t73+2.744250490306088*t36*t29*t38*t112*t40* t158*t144*t73+2.352214705976647*t36*t29*t38*t39*t151*t111* t158*t144*t73-0.294026838247081*t36*t29*t38*t39*t40*t287*t144* t73+t248+6.198347107438017*t28*t16*t3*t102*t151*t41*t75-1.328217237308146* t28*t16*t3*t5*t283*t41*t75+3.98465171192444*t28*t16*t3*t5* t284*t40*t75+t247+5.488500980612176*t36*t29*t38*t112*t151* t111*t77-0.588053676494162*t36*t29*t38*t39*t283*t111*t77+2.940268382470808* t36*t29*t38*t39*t284*t211*t77+1.328217237308146*t28*t16*t3* t5*t37*t285*t210*t144+0.882080514741242*t36*t29*t38*t39*t40* t285*t210*t246)-5.312868949232586*t36*t21*t141*t159*t160)+ 0.5*t12*t27*t3*(-12.5*t28*t284*t3*t30*t31-12.5*t12*t28*t283* t3*t30*t31+66.66666666666667*t104*t12*t151*t28*t3*t30+t205)* t33*t5+0.5*t27*t283*t3*t33*t5+0.5*t12*POW(t153,2.0)*t27*t3* t33*t5-0.003188484444444*t14*POW(t161,2.0)*t17*t206*t35+t3* t5*t151*t89*t33-2.333333333333333*t102*t12*t153*t27*t3*t33- 2.333333333333333*t102*t151*t27*t3*t33+t3*t5*t12*t89*t153* t33+t3*t5*t151*t27*t153*t33+t203+t190+t189+0.019130906666667* t14*t17*t151*t32*t108*t161)+0.019130906666667*t14*t17*t151* t32*t81+t3*t5*t151*t27*t33+t3*t5*t12*t27*t153*t33+t187+t186+ 0.006376968888889*t14*t17*t35*t108*t161; d2fdrbga = t4*(0.003188484444444*t108*t14*t17*t35*(2.656434474616293* t21*t36*t79*(-0.695452919183101*t158*t3*t39*t40*t73*t77*grada- 2.781811676732402*t111*t151*t3*t39*t75*grada-1.0*t151*t21* t36*t41*t5*grada+t258+t257)-2.656434474616293*t36*t21*t76* t141*(-1.328217237308146*t28*t16*grada*t5*t37*t158*t77*t73- 1.176107352988323*t36*t29*grada*t3*t39*t40*t158*t144*t73+t260- 2.656434474616293*t28*t16*grada*t5*t151*t41*t75+t259-2.352214705976647* t36*t29*grada*t3*t39*t151*t111*t77)+5.312868949232586*t36* t21*t76*t166*t207*t160-2.656434474616293*t36*t21*t167*t141* t160-2.656434474616293*t36*t21*t166*t141*t159)+0.5*t12*t27* t3*t33*t5*(t256-25.0*t12*t151*t28*t30*t31*grada)-6.25*t128* t153*t27*t28*t3*t30*t33*t35*grada-6.25*t128*t151*t27*t28*t3* t30*t32*t33*grada+grada*t5*t151*t27*t33+grada*t5*t12*t27*t153* t33+t255+t254+t253+t252-0.003188484444444*t14*t17*t35*t168* t206*t161+0.009565453333333*t14*t17*t151*t32*t168*t108)+t169+ t165+t164; d2fdrbgb = t4*(0.003188484444444*t108*t14*t17*t35*(2.656434474616293* t21*t36*t79*(-0.695452919183101*t158*t3*t39*t40*t73*t77*gradb- 2.781811676732402*t111*t151*t3*t39*t75*gradb-1.0*t151*t21* t36*t41*t5*gradb+t267+t266)-2.656434474616293*t36*t21*t76* t141*(-1.328217237308146*t28*t16*gradb*t5*t37*t158*t77*t73- 1.176107352988323*t36*t29*gradb*t3*t39*t40*t158*t144*t73+t269- 2.656434474616293*t28*t16*gradb*t5*t151*t41*t75+t268-2.352214705976647* t36*t29*gradb*t3*t39*t151*t111*t77)+5.312868949232586*t36* t21*t76*t172*t207*t160-2.656434474616293*t36*t21*t173*t141* t160-2.656434474616293*t36*t21*t172*t141*t159)+0.5*t12*t27* t3*t33*t5*(t265-25.0*t12*t151*t28*t30*t31*gradb)-6.25*t128* t153*t27*t28*t3*t30*t33*t35*gradb-6.25*t128*t151*t27*t28*t3* t30*t32*t33*gradb+gradb*t5*t151*t27*t33+gradb*t5*t12*t27*t153* t33+t264+t263+t262+t261-0.003188484444444*t14*t17*t35*t174* t206*t161+0.009565453333333*t14*t17*t151*t32*t174*t108)+t175+ t171+t170; d2fdrbgab = t4*(0.003188484444444*t108*t14*t17*t35*(2.656434474616293* t21*t36*(-0.695452919183101*t158*t3*t39*t40*t73*t77-2.781811676732402* t111*t151*t3*t39*t75-1.0*t151*t21*t36*t41*t5+t276+t275)*t79- 2.656434474616293*t36*t21*t76*t141*(-1.328217237308146*t28* t16*t5*t37*t158*t77*t73-1.176107352988323*t36*t29*t3*t39*t40* t158*t144*t73+t278-2.656434474616293*t28*t16*t5*t151*t41*t75+ t277-2.352214705976647*t36*t29*t3*t39*t151*t111*t77)+5.312868949232586* t36*t21*t76*t180*t207*t160-2.656434474616293*t36*t21*t183* t141*t160-2.656434474616293*t36*t21*t180*t141*t159)+0.5*t12* t27*t3*(t274-25.0*t12*t151*t28*t30*t31)*t33*t5-6.25*t128*t153* t27*t28*t3*t30*t33*t35-6.25*t128*t151*t27*t28*t3*t30*t32*t33+ t5*t151*t27*t33+t5*t12*t27*t153*t33+t273+t272+t271+t270-0.003188484444444* t14*t17*t35*t184*t206*t161+0.009565453333333*t14*t17*t151* t32*t184*t108)+t185+t177+t176; d2fdgaga = t4*(0.003188484444444*t108*t14*t17*t35*(2.656434474616293* t21*t36*(1.390905838366201*t1*t39*t40*t75+t182+t181)*t79+5.312868949232586* POW(t166,2.0)*t207*t21*t36*t76-2.656434474616293*t36*t21*t76* (t179+t178+1.176107352988323*t36*t29*t1*t39*t40*t77)*t141- 5.312868949232586*t36*t21*t167*t166*t141)+26.04166666666667* t1*t110*t27*t288*t289*t3*t33*t36-25.0*t1*t128*t27*t28*t30* t33*t35-0.003188484444444*t14*POW(t168,2.0)*t17*t206*t35+t177+ t176); d2fdgagb = t4*(26.04166666666667*t110*t27*t288*t289*t3* t33*t36*grada*gradb-25.0*t128*t27*t28*t30*t33*t35*grada*gradb+ 0.003188484444444*t14*t17*t35*t108*(1.176107352988323*t36* t29*grada*gradb*t39*t40*t79*t75-3.124252118327895*t28*t290* grada*gradb*t39*t40*t76*t141*t77-2.656434474616293*t36*t21* t167*t172*t141-2.656434474616293*t36*t21*t173*t166*t141+5.312868949232586* t36*t21*t76*t166*t172*t207)-0.003188484444444*t14*t17*t35* t168*t174*t206); d2fdgagab = t4*(26.04166666666667*t110*t27*t288*t289* t3*t33*t36*grada-25.0*t128*t27*t28*t30*t33*t35*grada+0.003188484444444* t14*t17*t35*t108*(1.176107352988323*t36*t29*grada*t39*t40* t79*t75-3.124252118327895*t28*t290*grada*t39*t40*t76*t141* t77-2.656434474616293*t36*t21*t183*t166*t141-2.656434474616293* t36*t21*t167*t180*t141+5.312868949232586*t36*t21*t76*t180* t166*t207)-0.003188484444444*t14*t17*t35*t184*t168*t206); d2fdgbgb = t4* (0.003188484444444*t108*t14*t17*t35*(2.656434474616293*t21* t36*(1.390905838366201*t2*t39*t40*t75+t182+t181)*t79+5.312868949232586* POW(t172,2.0)*t207*t21*t36*t76-2.656434474616293*t36*t21*t76* (t179+t178+1.176107352988323*t36*t29*t2*t39*t40*t77)*t141- 5.312868949232586*t36*t21*t173*t172*t141)+26.04166666666667* t110*t2*t27*t288*t289*t3*t33*t36-25.0*t128*t2*t27*t28*t30* t33*t35-0.003188484444444*t14*t17*POW(t174,2.0)*t206*t35+t177+ t176); d2fdgbgab = t4*(26.04166666666667*t110*t27*t288*t289* t3*t33*t36*gradb-25.0*t128*t27*t28*t30*t33*t35*gradb+0.003188484444444* t14*t17*t35*t108*(1.176107352988323*t36*t29*gradb*t39*t40* t79*t75-3.124252118327895*t28*t290*gradb*t39*t40*t76*t141* t77-2.656434474616293*t36*t21*t183*t172*t141-2.656434474616293* t36*t21*t173*t180*t141+5.312868949232586*t36*t21*t76*t180* t172*t207)-0.003188484444444*t14*t17*t35*t184*t174*t206); d2fdgabgab = t4* (0.003188484444444*t108*t14*t17*t35*(-3.124252118327895*t28* t290*t39*t40*t76*t141*t77+5.312868949232586*POW(t180,2.0)* t207*t21*t36*t76+1.176107352988323*t36*t29*t39*t40*t79*t75- 5.312868949232586*t36*t21*t183*t180*t141)+26.04166666666667* t110*t27*t288*t289*t3*t33*t36-25.0*t128*t27*t28*t30*t33*t35- 0.003188484444444*t14*t17*POW(t184,2.0)*t206*t35); ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df0010 += factor*dfdga; ds->df0001 += factor*dfdgb; ds->df00001+= factor*dfdgab; ds->df2000 += factor*d2fdrara; ds->df1100 += factor*d2fdrarb; ds->df1010 += factor*d2fdraga; ds->df1001 += factor*d2fdragb; ds->df10001+= factor*d2fdraab; ds->df0200 += factor*d2fdrbrb; ds->df0110 += factor*d2fdrbga; ds->df0101 += factor*d2fdrbgb; ds->df01001+= factor*d2fdrbgab; ds->df0020 += factor*d2fdgaga; ds->df0011 += factor*d2fdgagb; ds->df00101+= factor*d2fdgagab; ds->df0002 += factor*d2fdgbgb; ds->df00011+= factor*d2fdgbgab; ds->df00002+= factor*d2fdgabgab; } static void pw92c_third(FunThirdFuncDrv *ds, real factor, const FunDensProp* dp) { real dfdra, dfdrb, dfdga, dfdgb, dfdgab; real d2fdrara, d2fdrarb, d2fdraga, d2fdragb, d2fdraab, d2fdrbrb, d2fdrbga, d2fdrbgb, d2fdrbgab, d2fdgaga, d2fdgagb, d2fdgagab, d2fdgbgb, d2fdgbgab, d2fdgabgab; real d3fdrarara, d3fdrararb, d3fdraraga, d3fdraragb, d3fdraraab, d3fdrarbrb, d3fdrarbga, d3fdrarbgb, d3fdrarbab, d3fdragaga, d3fdragagb, d3fdragaab, d3fdragbgb, d3fdragbab, d3fdraabab, d3fdrbrbrb, d3fdrbrbga, d3fdrbrbgb, d3fdrbrbab, d3fdrbgaga, d3fdrbgagb, d3fdrbgaab, d3fdrbgbgb, d3fdrbgbab, d3fdrbabab, d3fdgagaga, d3fdgagagb, d3fdgagaab, d3fdgagbgb, d3fdgagbab, d3fdgaabab, d3fdgbgbgb, d3fdgbgbab, d3fdgbabab, d3fdababab; real rhoa = dp->rhoa, rhob = dp->rhob; real grada = dp->grada, gradb = dp->gradb, gradab = dp->gradab; real t1, t2, t3, t4, t5, t6, t7, t8, t9, t10; real t11, t12, t13, t14, t15, t16, t17, t18; real t19, t20, t21, t22, t23, t24, t25, t26; real t27, t28, t29, t30, t31, t32, t33, t34; real t35, t36, t37, t38, t39, t40, t41, t42; real t43, t44, t45, t46, t47, t48, t49, t50; real t51, t52, t53, t54, t55, t56, t57, t58; real t59, t60, t61, t62, t63, t64, t65, t66; real t67, t68, t69, t70, t71, t72, t73, t74; real t75, t76, t77, t78, t79, t80, t81, t82; real t83, t84, t85, t86, t87, t88, t89, t90; real t91, t92, t93, t94, t95, t96, t97, t98; real t99, t100, t101, t102, t103, t104, t105; real t106, t107, t108, t109, t110, t111, t112; real t113, t114, t115, t116, t117, t118, t119; real t120, t121, t122, t123, t124, t125, t126; real t127, t128, t129, t130, t131, t132, t133; real t134, t135, t136, t137, t138, t139, t140; real t141, t142, t143, t144, t145, t146, t147; real t148, t149, t150, t151, t152, t153, t154; real t155, t156, t157, t158, t159, t160, t161; real t162, t163, t164, t165, t166, t167, t168; real t169, t170, t171, t172, t173, t174, t175; real t176, t177, t178, t179, t180, t181, t182; real t183, t184, t185, t186, t187, t188, t189; real t190, t191, t192, t193, t194, t195, t196; real t197, t198, t199, t200, t201, t202, t203; real t204, t205, t206, t207, t208, t209, t210; real t211, t212, t213, t214, t215, t216, t217; real t218, t219, t220, t221, t222, t223, t224; real t225, t226, t227, t228, t229, t230, t231; real t232, t233, t234, t235, t236, t237, t238; real t239, t240, t241, t242, t243, t244, t245; real t246, t247, t248, t249, t250, t251, t252; real t253, t254, t255, t256, t257, t258, t259; real t260, t261, t262, t263, t264, t265, t266; real t267, t268, t269, t270, t271, t272, t273; real t274, t275, t276, t277, t278, t279, t280; real t281, t282, t283, t284, t285, t286, t287; real t288, t289, t290, t291, t292, t293, t294; real t295, t296, t297, t298, t299, t300, t301; real t302, t303, t304, t305, t306, t307, t308; real t309, t310, t311, t312, t313, t314, t315; real t316, t317, t318, t319, t320, t321, t322; real t323, t324, t325, t326, t327, t328, t329; real t330, t331, t332, t333, t334, t335, t336; real t337, t338, t339, t340, t341, t342, t343; real t344, t345, t346, t347, t348, t349, t350; real t351, t352, t353, t354, t355, t356, t357; real t358, t359, t360, t361, t362, t363, t364; real t365, t366, t367, t368, t369, t370, t371; real t372, t373, t374, t375, t376, t377, t378; real t379, t380, t381, t382, t383, t384, t385; real t386, t387, t388, t389, t390, t391, t392; real t393, t394, t395, t396, t397, t398, t399; real t400, t401, t402, t403, t404, t405, t406; real t407, t408, t409, t410, t411, t412, t413; real t414, t415, t416, t417, t418, t419, t420; real t421, t422, t423, t424, t425, t426, t427; real t428, t429, t430, t431, t432, t433, t434; real t435, t436, t437, t438, t439, t440, t441; real t442, t443, t444, t445, t446, t447, t448; real t449, t450, t451, t452, t453, t454, t455; real t456, t457, t458, t459, t460, t461, t462; real t463, t464, t465, t466, t467, t468, t469; real t470, t471, t472, t473, t474, t475, t476; real t477, t478, t479, t480, t481, t482, t483; real t484, t485, t486, t487, t488, t489, t490; real t491, t492, t493, t494, t495, t496, t497; real t498, t499, t500, t501, t502, t503, t504; real t505, t506, t507, t508, t509, t510, t511; real t512, t513, t514, t515, t516, t517, t518; real t519, t520, t521, t522, t523, t524, t525; real t526, t527, t528, t529, t530, t531, t532; real t533, t534, t535, t536, t537, t538, t539; real t540, t541, t542, t543, t544, t545, t546; real t547, t548, t549, t550, t551, t552, t553; real t554, t555, t556, t557, t558, t559, t560; real t561, t562, t563, t564, t565, t566, t567; real t568, t569, t570, t571, t572, t573, t574; real t575, t576, t577, t578, t579, t580, t581; real t582, t583, t584, t585, t586, t587, t588; real t589, t590, t591, t592, t593, t594, t595; real t596, t597, t598, t599, t600, t601, t602; real t603, t604, t605, t606, t607, t608, t609; real t610, t611, t612, t613, t614, t615, t616; real t617, t618, t619, t620, t621, t622, t623; real t624, t625, t626, t627, t628, t629, t630; real t631, t632, t633, t634, t635, t636, t637; real t638, t639, t640, t641, t642, t643, t644; real t645, t646, t647, t648, t649, t650, t651; real t652, t653, t654, t655, t656, t657, t658; real t659, t660, t661, t662, t663, t664, t665; real t666, t667, t668, t669, t670, t671, t672; real t673, t674, t675, t676, t677, t678, t679; real t680, t681, t682, t683, t684, t685, t686; real t687, t688, t689, t690, t691, t692, t693; real t694, t695, t696, t697, t698, t699, t700; real t701, t702, t703, t704, t705, t706, t707; real t708, t709, t710, t711, t712, t713, t714; real t715, t716, t717, t718, t719, t720, t721; real t722, t723, t724, t725, t726, t727, t728; real t729, t730, t731; t1 = POW(grada,2.0); t2 = POW(gradb,2.0); t3 = 2.0*gradab+t2+t1; t4 = rhob+rhoa; t5 = 1/POW(t4,2.333333333333333); t6 = rhoa-1.0*rhob; t7 = 1/t4; t8 = 1.0-1.0*t6*t7; t9 = POW(t8,0.666666666666667); t10 = t6*t7+1.0; t11 = POW(t10,0.666666666666667); t12 = t11+t9; t13 = 0.318309886183791; t14 = POW(3.0,0.666666666666667); t15 = 1/POW(4.0,0.666666666666667); t16 = POW(3.141592653589793,0.666666666666667); t17 = 1/t16; t18 = 1/POW(t4,0.666666666666667); t19 = POW(3.0,0.333333333333333); t20 = 1/POW(4.0,0.333333333333333); t21 = POW(3.141592653589793,0.333333333333333); t22 = 1/t21; t23 = 1/POW(t4,0.333333333333333); t24 = 0.0554175*t13*t7+8.723*t19*t20*t22*t23+0.472*t14* t15*t17*t18+1.0; t25 = 1/t24; t26 = 23.266*t19*t20*t22*t23+0.007389*t14*t15*t17*t18+ 2.568; t27 = 0.001*t25*t26-0.001853571428571; t28 = 1/t14; t29 = POW(3.141592653589793,1.333333333333333); t30 = 1/t29; t31 = 1/POW(t4,2.666666666666667); t32 = POW(t12,2.0); t33 = 1/POW(2.718281828459045,6.25*t28*t3*t30*t31*t32); t34 = 0.5* t12*t27*t3*t33*t5; t35 = POW(t12,3.0); t36 = 1/t19; t37 = 1/t32; t38 = POW(t3,2.0); t39 = 1/POW(t4,4.666666666666667); t40 = POW(t12,4.0); t41 = 1/t40; t42 = 1/t35; t43 = 0.2137*t19*t20*t22*t23+1.0; t44 = 1/POW(t4,0.666666666666667); t45 = 1.732050807568877; t46 = 0.564189583547756; t47 = SQRT(t4); t48 = 1/t47; t49 = POW(2.0,0.333333333333333); t50 = 1/t49; t51 = POW(3.0,0.166666666666667); t52 = 1/POW(3.141592653589793,0.166666666666667); t53 = 1/POW(t4,0.166666666666667); t54 = 7.5957*t50*t51*t52*t53+3.5876*t19*t20*t22*t23+0.8191* t45*t46*t48+0.189700432574756*t44; t55 = 16.0818243221511/t54+1.0; t56 = LOG(t55); t57 = 1/(2.0*t49-2.0); t58 = POW(t6,4.0); t59 = 1/POW(t4,4.0); t60 = 1.0-1.0*t58*t59; t61 = 0.11125*t19*t20*t22*t23+1.0; t62 = POW(t8,1.333333333333333); t63 = POW(t10,1.333333333333333); t64 = t63+t62-2.0; t65 = 10.357*t50*t51*t52*t53+3.6231*t19*t20*t22*t23+0.44013* t45*t46*t48+0.191151259512734*t44; t66 = 29.60857464321668/t65+1.0; t67 = LOG(t66); t68 = 0.20548*t19*t20*t22*t23+1.0; t69 = 14.1189*t50*t51*t52*t53+6.1977*t19*t20*t22*t23+ 1.6831*t45*t46*t48+0.240587129128819*t44; t70 = 32.1646831778707/t69+1.0; t71 = LOG(t70); t72 = 0.062182*t43*t56-0.03109*t68*t71; t73 = t57*t58*t59*t64*t72+0.019751789702565*t57*t60*t61* t64*t67-0.062182*t43*t56; t74 = 1/POW(2.718281828459045,313.6286274635529*t28*t16* t42*t73); t75 = t74-1.0; t76 = 1/t75; t77 = 0.173863229795775*t38*t39*t41*t76+0.25*t21*t3*t36* t37*t5; t78 = 1/POW(t75,2.0); t79 = 0.14701341912354*t36*t29*t38*t39*t41*t78+0.664108618654073* t28*t16*t3*t5*t37*t76+1.0; t80 = 1/t79; t81 = 2.656434474616293*t36*t21*t77*t80+1.0; t82 = LOG(t81); t83 = 0.003188484444444*t14*t17*t35*t82; t84 = 1/POW(t4,1.666666666666667); t85 = 1/POW(t4,1.333333333333333); t86 = -7.755333333333333*t19*t20*t22*t85-0.004926*t14* t15*t17*t84; t87 = 1/POW(t4,2.0); t88 = -2.907666666666667*t19*t20*t22*t85-0.314666666666667* t14*t15*t17*t84-0.0554175*t13*t87; t89 = 1/POW(t24,2.0); t90 = 0.001*t86*t25-0.001*t88*t89*t26; t91 = 0.5*t12*t3*t33*t5*t90; t92 = t6*t87; t93 = -1.0*t7; t94 = t93+t92; t95 = POW(t8,0.333333333333333); t96 = 1/t95; t97 = -1.0*t6*t87; t98 = t7+t97; t99 = POW(t10,0.333333333333333); t100 = 1/t99; t101 = 0.666666666666667*t100*t98+0.666666666666667*t94* t96; t102 = 0.5*t101*t27*t3*t33*t5; t103 = 1/POW(t4,3.333333333333333); t104 = -1.166666666666667*t103*t12*t27*t3*t33; t105 = 1/POW(t4,3.666666666666667); t106 = 16.66666666666667*t105*t28*t3*t30*t32; t107 = t106-12.5*t101*t12*t28*t3*t30*t31; t108 = 0.5*t107*t12*t27*t3*t33*t5; t109 = 1/t81; t110 = -0.583333333333333*t103*t21*t3*t36*t37; t111 = POW(t12,5.0); t112 = 1/t111; t113 = 1/POW(t4,5.666666666666667); t114 = -0.811361739046951*t113*t38*t41*t76; t115 = 1/POW(t4,1.666666666666667); t116 = 1/POW(t47,3.0); t117 = 1/POW(t4,1.166666666666667); t118 = -1.26595*t50*t51*t52*t117-1.195866666666667*t19* t20*t22*t85-0.40955*t45*t46*t116-0.126466955049837*t115; t119 = 1/ POW(t54,2.0); t120 = 1/t55; t121 = 1.0*t118*t43*t119*t120; t122 = -1.726166666666666*t50*t51*t52*t117-1.2077*t19* t20*t22*t85-0.220065*t45*t46*t116-0.127434173008489*t115; t123 = 1/ POW(t65,2.0); t124 = 1/t66; t125 = -0.58482233974552*t57*t60*t122*t61*t123*t64*t124; t126 = 0.004429431133333* t19*t20*t22*t85*t56; t127 = 1.333333333333333*t98*t99+1.333333333333333*t94* t95; t128 = -7.324622014701263E-4*t57*t19*t20*t22*t85*t60* t64*t67; t129 = 1/POW(t4,5.0); t130 = 4.0*t129*t58; t131 = POW(t6,3.0); t132 = t130-4.0*t131*t59; t133 = -2.35315*t50*t51*t52*t117-2.0659*t19*t20*t22*t85- 0.84155*t45*t46*t116-0.160391419419213*t115; t134 = 1/POW(t69,2.0); t135 = 1/t70; t136 = 0.002129457733333*t19*t20*t22*t85*t71-0.004429431133333* t19*t20*t22*t85*t56+t133*t68*t134*t135-1.0*t118*t43*t119*t120; t137 = t57* t58*t59*t64*t136; t138 = -4.0*t129*t57*t58*t64*t72; t139 = 4.0*t131*t57*t59*t64*t72+t57*t58*t59*t127*t72+ 0.019751789702565*t57*t132*t61*t64*t67+0.019751789702565*t57* t60*t61*t127*t67+t138+t137+t128+t126+t125+t121; t140 = 940.8858823906587*t28*t16*t101*t41*t73-313.6286274635529* t28*t16*t42*t139; t141 = -0.173863229795775*t140*t38*t39*t41*t74*t78-0.695452919183101* t101*t112*t38*t39*t76-0.5*t101*t21*t3*t36*t42*t5+t114+t110; t142 = 1/ POW(t79,2.0); t143 = -0.686062622576522*t36*t29*t38*t113*t41*t78; t144 = - 1.549586776859504*t28*t16*t3*t103*t37*t76; t145 = 1/POW(t75,3.0); t146 = -0.664108618654073*t28*t16*t3*t5*t37*t140*t78* t74-0.294026838247081*t36*t29*t38*t39*t41*t140*t145*t74+t144- 1.328217237308146*t28*t16*t3*t5*t101*t42*t76+t143-0.588053676494162* t36*t29*t38*t39*t101*t112*t78; t147 = 2.656434474616293*t36*t21*t80*t141-2.656434474616293* t36*t21*t77*t142*t146; t148 = 0.003188484444444*t14*t17*t35*t109*t147; t149 = 0.009565453333333*t14*t17*t101*t32*t82; t150 = t7+t92; t151 = t93+t97; t152 = 0.666666666666667*t150*t96+0.666666666666667*t100* t151; t153 = 0.5*t152*t27*t3*t33*t5; t154 = t106-12.5*t12*t152*t28*t3*t30*t31; t155 = 0.5*t12*t154*t27*t3*t33*t5; t156 = 1.333333333333333*t151*t99+1.333333333333333*t150* t95; t157 = 4.0*t131*t59+t130; t158 = -4.0*t131*t57*t59*t64*t72+t57*t58*t59*t156*t72+ 0.019751789702565*t57*t157*t61*t64*t67+0.019751789702565*t57* t60*t61*t156*t67+t138+t137+t128+t126+t125+t121; t159 = 940.8858823906587*t28*t16*t152*t41*t73-313.6286274635529* t28*t16*t42*t158; t160 = -0.173863229795775*t159*t38*t39*t41*t74*t78-0.695452919183101* t112*t152*t38*t39*t76-0.5*t152*t21*t3*t36*t42*t5+t114+t110; t161 = - 0.664108618654073*t28*t16*t3*t5*t37*t159*t78*t74-0.294026838247081* t36*t29*t38*t39*t41*t159*t145*t74+t144-1.328217237308146*t28* t16*t3*t5*t152*t42*t76+t143-0.588053676494162*t36*t29*t38* t39*t152*t112*t78; t162 = 2.656434474616293*t36*t21*t80*t160-2.656434474616293* t36*t21*t77*t142*t161; t163 = 0.003188484444444*t14*t17*t35*t109*t162; t164 = 0.009565453333333*t14*t17*t152*t32*t82; t165 = grada*t5*t12*t27*t33; t166 = -6.25*t129*t27*t28*t3*t30*t33*t35*grada; t167 = 1.328217237308146*t28*t16*grada*t5*t37*t76+0.588053676494162* t36*t29*grada*t3*t39*t41*t78; t168 = 0.695452919183101*t3*t39*t41*t76*grada+0.5*t21* t36*t37*t5*grada; t169 = 2.656434474616293*t36*t21*t168*t80-2.656434474616293* t36*t21*t77*t167*t142; t170 = 0.003188484444444*t14*t17*t35*t169*t109; t171 = gradb*t5*t12*t27*t33; t172 = -6.25*t129*t27*t28*t3*t30*t33*t35*gradb; t173 = 1.328217237308146*t28*t16*gradb*t5*t37*t76+0.588053676494162* t36*t29*gradb*t3*t39*t41*t78; t174 = 0.695452919183101*t3*t39*t41*t76*gradb+0.5*t21* t36*t37*t5*gradb; t175 = 2.656434474616293*t36*t21*t174*t80-2.656434474616293* t36*t21*t77*t173*t142; t176 = 0.003188484444444*t14*t17*t35*t175*t109; t177 = t5*t12*t27*t33; t178 = -6.25*t129*t27*t28*t3*t30*t33*t35; t179 = 0.588053676494162*t36*t29*t3*t39*t41*t78; t180 = 1.328217237308146*t28*t16*t5*t37*t76; t181 = t180+t179; t182 = 0.5*t21*t36*t37*t5; t183 = 0.695452919183101*t3*t39*t41*t76; t184 = t183+t182; t185 = 2.656434474616293*t36*t21*t184*t80-2.656434474616293* t36*t21*t77*t181*t142; t186 = 0.003188484444444*t14*t17*t35*t185*t109; t187 = t3*t5*t12*t90*t33; t188 = -2.333333333333333*t103*t12*t27*t3*t33; t189 = 10.34044444444444*t19*t20*t22*t5+0.00821*t14*t15* t17*t31; t190 = POW(t88,2.0); t191 = 1/POW(t24,3.0); t192 = 1/POW(t4,3.0); t193 = 3.876888888888889*t19*t20*t22*t5+0.524444444444444* t14*t15*t17*t31+0.110835*t13*t192; t194 = -0.001*t193*t89*t26+0.002*t190*t191*t26+0.001* t189*t25-0.002*t86*t88*t89; t195 = 0.5*t12*t194*t3*t33*t5; t196 = t3*t5*t101*t90*t33; t197 = -2.333333333333333*t103*t12*t3*t33*t90; t198 = POW(t94,2.0); t199 = 1/t62; t200 = -2.0*t192*t6; t201 = 2.0*t87; t202 = t201+t200; t203 = POW(t98,2.0); t204 = 1/t63; t205 = 2.0*t192*t6; t206 = -2.0*t87; t207 = t206+t205; t208 = 0.666666666666667*t202*t96+0.666666666666667*t100* t207-0.222222222222222*t203*t204-0.222222222222222*t198*t199; t209 = 0.5* t208*t27*t3*t33*t5; t210 = -2.333333333333333*t101*t103*t27*t3*t33; t211 = 1/POW(t4,4.333333333333333); t212 = 3.888888888888889*t12*t211*t27*t3*t33; t213 = POW(t101,2.0); t214 = -61.11111111111111*t28*t3*t30*t32*t39; t215 = -12.5*t213*t28*t3*t30*t31-12.5*t12*t208*t28*t3* t30*t31+66.66666666666667*t101*t105*t12*t28*t3*t30+t214; t216 = 0.5* t12*t215*t27*t3*t33*t5; t217 = t3*t5*t12*t90*t107*t33; t218 = t3*t5*t101*t27*t107*t33; t219 = -2.333333333333333*t103*t107*t12*t27*t3*t33; t220 = POW(t107, 2.0); t221 = 0.5*t12*t220*t27*t3*t33*t5; t222 = 0.019130906666667*t14*t17*t101*t32*t109*t147; t223 = 1/ POW(t81,2.0); t224 = POW(t147,2.0); t225 = -0.003188484444444*t14*t17*t35*t223*t224; t226 = 1/POW(t79,3.0); t227 = POW(t146,2.0); t228 = 1.944444444444444*t21*t211*t3*t36*t37; t229 = POW(t140,2.0); t230 = 1/POW(2.718281828459045,627.2572549271058*t28* t16*t42*t73); t231 = 1/POW(t12,6.0); t232 = 1/POW(t4,6.666666666666667); t233 = 4.597716521266054*t232*t38*t41*t76; t234 = POW(t118,2.0); t235 = 1/POW(t54,4.0); t236 = 1/POW(t55,2.0); t237 = 16.0818243221511*t234*t43*t235*t236; t238 = 1/POW(t54,3.0); t239 = -2.0*t234*t43*t238*t120; t240 = -0.142466666666667*t19*t20*t22*t85*t118*t119*t120; t241 = 1/ POW(t4,2.666666666666667); t242 = 1/POW(t47,5.0); t243 = 1/POW(t4,2.166666666666667); t244 = 1.476941666666667*t50*t51*t52*t243+1.594488888888889* t19*t20*t22*t5+0.614325*t45*t46*t242+0.210778258416395*t241; t245 = 1.0* t244*t43*t119*t120; t246 = POW(t122,2.0); t247 = 1/POW(t65,4.0); t248 = 1/POW(t66,2.0); t249 = -17.31575589937587*t57*t60*t246*t61*t247*t64*t248; t250 = 1/ POW(t65,3.0); t251 = 1.169644679491041*t57*t60*t246*t61*t250*t64*t124; t252 = 0.043374323531126* t57*t19*t20*t22*t85*t60*t122*t123*t64*t124; t253 = 2.013861111111111*t50*t51*t52*t243+1.610266666666667* t19*t20*t22*t5+0.3300975*t45*t46*t242+0.212390288347482*t241; t254 = - 0.58482233974552*t57*t60*t253*t61*t123*t64*t124; t255 = -0.005905908177778*t19*t20*t22*t5*t56; t256 = 1/t9; t257 = 1/t11; t258 = 1.333333333333333*t207*t99+1.333333333333333*t202* t95+0.444444444444444*t203*t257+0.444444444444444*t198*t256; t259 = 9.76616268626835E-4*t57*t19*t20*t22*t5*t60*t64* t67; t260 = 1/POW(t4,6.0); t261 = -20.0*t260*t58; t262 = POW(t6,2.0); t263 = -12.0*t262*t59; t264 = t263+t261+32.0*t129*t131; t265 = POW(t133,2.0); t266 = 1/POW(t69,4.0); t267 = 1/POW(t70,2.0); t268 = 1/POW(t69,3.0); t269 = 2.745341666666667*t50*t51*t52*t243+2.754533333333333* t19*t20*t22*t5+1.262325*t45*t46*t242+0.267319032365355*t241; t270 = - 0.002839276977778*t19*t20*t22*t5*t71-2.0*t135*t265*t268*t68+ 0.005905908177778*t19*t20*t22*t5*t56+32.1646831778707*t265* t68*t266*t267-16.0818243221511*t234*t43*t235*t236+t269*t68* t134*t135-0.136986666666667*t19*t20*t22*t85*t133*t134*t135+ 2.0*t234*t43*t238*t120-1.0*t244*t43*t119*t120+0.142466666666667* t19*t20*t22*t85*t118*t119*t120; t271 = t57*t58*t59*t64*t270; t272 = -8.0*t129*t136*t57*t58*t64; t273 = 20.0*t260*t57*t58*t64*t72; t274 = 12.0*t262*t57*t59*t64*t72; t275 = -32.0*t129*t131*t57*t64*t72+8.0*t127*t131*t57* t59*t72-8.0*t127*t129*t57*t58*t72+t57*t58*t59*t258*t72+0.019751789702565* t57*t264*t61*t64*t67-0.00146492440294*t57*t19*t20*t22*t85* t132*t64*t67+0.019751789702565*t57*t60*t61*t258*t67+0.03950357940513* t57*t132*t61*t127*t67-0.00146492440294*t57*t19*t20*t22*t85* t60*t127*t67+8.0*t131*t136*t57*t59*t64+2.0*t127*t136*t57*t58* t59+t274+t273+t272+t271+t259+t255+t254+t252+t251+t249+t245+ t240+t239+t237-1.169644679491041*t57*t132*t122*t61*t123*t64* t124-1.169644679491041*t57*t60*t122*t61*t123*t127*t124; t276 = 940.8858823906587*t28*t16*t208*t41*t73-3763.543529562635* t28*t16*t213*t112*t73+1881.771764781317*t28*t16*t101*t41*t139- 313.6286274635529*t28*t16*t42*t275; t277 = -0.173863229795775*t276*t38*t39*t41*t74*t78-0.173863229795775* t229*t38*t39*t41*t74*t78+1.622723478093901*t113*t140*t38*t41* t74*t78+1.390905838366201*t101*t112*t140*t38*t39*t74*t78+3.477264595915503* t213*t231*t38*t39*t76-0.695452919183101*t112*t208*t38*t39* t76+6.490893912375606*t101*t112*t113*t38*t76-0.5*t208*t21* t3*t36*t42*t5+1.5*t21*t213*t3*t36*t41*t5+2.333333333333333* t101*t103*t21*t3*t36*t42+0.34772645959155*t145*t229*t230*t38* t39*t41+t233+t228; t278 = 1/POW(t75,4.0); t279 = 3.887688194600291*t36*t29*t38*t232*t41*t78; t280 = 5.165289256198347*t28*t16*t3*t211*t37*t76; t281 = -0.664108618654073*t28*t16*t3*t5*t37*t229*t78* t74+3.099173553719008*t28*t16*t3*t103*t37*t140*t78*t74+2.656434474616293* t28*t16*t3*t5*t101*t42*t140*t78*t74-0.664108618654073*t28* t16*t3*t5*t37*t276*t78*t74-0.294026838247081*t36*t29*t38*t39* t41*t229*t145*t74+2.744250490306088*t36*t29*t38*t113*t41*t140* t145*t74+2.352214705976647*t36*t29*t38*t39*t101*t112*t140* t145*t74-0.294026838247081*t36*t29*t38*t39*t41*t276*t145*t74+ t280+6.198347107438017*t28*t16*t3*t103*t101*t42*t76-1.328217237308146* t28*t16*t3*t5*t208*t42*t76+3.98465171192444*t28*t16*t3*t5* t213*t41*t76+t279+5.488500980612176*t36*t29*t38*t113*t101* t112*t78-0.588053676494162*t36*t29*t38*t39*t208*t112*t78+2.940268382470808* t36*t29*t38*t39*t213*t231*t78+1.328217237308146*t28*t16*t3* t5*t37*t229*t230*t145+0.882080514741242*t36*t29*t38*t39*t41* t229*t230*t278; t282 = -2.656434474616293*t36*t21*t77*t142*t281+2.656434474616293* t36*t21*t80*t277+5.312868949232586*t36*t21*t77*t226*t227-5.312868949232586* t36*t21*t142*t141*t146; t283 = 0.003188484444444*t14*t17*t35*t109*t282; t284 = 0.019130906666667*t14*t17*t213*t12*t82; t285 = 0.009565453333333*t14*t17*t208*t32*t82; t286 = -0.222222222222222*t151*t204*t98-1.333333333333333* t192*t6*t96-0.222222222222222*t150*t199*t94+1.333333333333333* t100*t192*t6; t287 = -12.5*t12*t28*t286*t3*t30*t31-12.5*t101*t152*t28* t3*t30*t31+33.33333333333334*t105*t12*t152*t28*t3*t30+33.33333333333334* t101*t105*t12*t28*t3*t30+t214; t288 = 2.666666666666667*t192*t6*t99+0.444444444444444* t151*t257*t98-2.666666666666667*t192*t6*t95+0.444444444444444* t150*t256*t94; t289 = 12.0*t262*t59+t261; t290 = -12.0*t262*t57*t59*t64*t72+4.0*t131*t156*t57*t59* t72-4.0*t127*t131*t57*t59*t72-4.0*t129*t156*t57*t58*t72-4.0* t127*t129*t57*t58*t72+t57*t58*t59*t288*t72+0.019751789702565* t57*t289*t61*t64*t67-7.324622014701263E-4*t57*t19*t20*t22* t85*t157*t64*t67-7.324622014701263E-4*t57*t19*t20*t22*t85* t132*t64*t67+0.019751789702565*t57*t60*t61*t288*t67+0.019751789702565* t57*t132*t61*t156*t67-7.324622014701263E-4*t57*t19*t20*t22* t85*t60*t156*t67+0.019751789702565*t57*t157*t61*t127*t67-7.324622014701263E-4* t57*t19*t20*t22*t85*t60*t127*t67+t273+t272+t271+t259+t255+ t254+t252+t251+t249+t245+t240+t239+t237+t57*t58*t59*t156*t136+ t57*t58*t59*t127*t136-0.58482233974552*t57*t157*t122*t61*t123* t64*t124-0.58482233974552*t57*t132*t122*t61*t123*t64*t124- 0.58482233974552*t57*t60*t122*t61*t123*t156*t124-0.58482233974552* t57*t60*t122*t61*t123*t127*t124; t291 = 940.8858823906587*t28*t16*t286*t41*t73-3763.543529562635* t28*t16*t152*t101*t112*t73+940.8858823906587*t28*t16*t152* t41*t139+940.8858823906587*t28*t16*t101*t41*t158-313.6286274635529* t28*t16*t42*t290; t292 = -0.173863229795775*t291*t38*t39*t41*t74*t78-0.173863229795775* t140*t159*t38*t39*t41*t74*t78+0.811361739046951*t113*t159* t38*t41*t74*t78+0.811361739046951*t113*t140*t38*t41*t74*t78+ 0.695452919183101*t101*t112*t159*t38*t39*t74*t78+0.695452919183101* t112*t140*t152*t38*t39*t74*t78-0.695452919183101*t112*t286* t38*t39*t76+3.477264595915503*t101*t152*t231*t38*t39*t76+3.245446956187803* t112*t113*t152*t38*t76+3.245446956187803*t101*t112*t113*t38* t76-0.5*t21*t286*t3*t36*t42*t5+1.5*t101*t152*t21*t3*t36*t41* t5+1.166666666666667*t103*t152*t21*t3*t36*t42+1.166666666666667* t101*t103*t21*t3*t36*t42+0.34772645959155*t140*t145*t159*t230* t38*t39*t41+t233+t228; t293 = -0.664108618654073*t28*t16*t3*t5*t37*t159*t140* t78*t74+1.549586776859504*t28*t16*t3*t103*t37*t140*t78*t74+ 1.328217237308146*t28*t16*t3*t5*t152*t42*t140*t78*t74+1.549586776859504* t28*t16*t3*t103*t37*t159*t78*t74+1.328217237308146*t28*t16* t3*t5*t101*t42*t159*t78*t74-0.664108618654073*t28*t16*t3*t5* t37*t291*t78*t74-0.294026838247081*t36*t29*t38*t39*t41*t159* t140*t145*t74+1.372125245153044*t36*t29*t38*t113*t41*t140* t145*t74+1.176107352988323*t36*t29*t38*t39*t152*t112*t140* t145*t74+1.372125245153044*t36*t29*t38*t113*t41*t159*t145* t74+1.176107352988323*t36*t29*t38*t39*t101*t112*t159*t145* t74-0.294026838247081*t36*t29*t38*t39*t41*t291*t145*t74+t280+ 3.099173553719008*t28*t16*t3*t103*t101*t42*t76+3.099173553719008* t28*t16*t3*t103*t152*t42*t76-1.328217237308146*t28*t16*t3* t5*t286*t42*t76+3.98465171192444*t28*t16*t3*t5*t152*t101*t41* t76+t279+2.744250490306088*t36*t29*t38*t113*t101*t112*t78+ 2.744250490306088*t36*t29*t38*t113*t152*t112*t78-0.588053676494162* t36*t29*t38*t39*t286*t112*t78+2.940268382470808*t36*t29*t38* t39*t152*t101*t231*t78+1.328217237308146*t28*t16*t3*t5*t37* t159*t140*t230*t145+0.882080514741242*t36*t29*t38*t39*t41* t159*t140*t230*t278; t294 = -2.656434474616293*t36*t21*t77*t142*t293+2.656434474616293* t36*t21*t80*t292+5.312868949232586*t36*t21*t77*t226*t161*t146- 2.656434474616293*t36*t21*t142*t160*t146-2.656434474616293* t36*t21*t142*t161*t141; t295 = grada*t5*t12*t90*t33; t296 = -6.25*t129*t28*t3*t30*t33*t35*t90*grada; t297 = grada*t5*t101*t27*t33; t298 = -2.333333333333333*t103*t12*t27*t33*grada; t299 = -6.25*t101*t129*t27*t28*t3*t30*t32*t33*grada; t300 = 14.58333333333333* t260*t27*t28*t3*t30*t33*t35*grada; t301 = 33.33333333333334*t105*t28*t30*t32*grada; t302 = t301-25.0*t101*t12*t28*t30*t31*grada; t303 = 0.5*t12*t27*t3*t302*t33*t5; t304 = grada*t5*t12*t27*t107*t33; t305 = -6.25*t107*t129*t27*t28*t3*t30*t33*t35*grada; t306 = 0.009565453333333* t14*t17*t101*t32*t169*t109; t307 = -1.166666666666667*t103*t21*t36*t37*grada; t308 = -3.245446956187803*t113*t3*t41*t76*grada; t309 = -0.695452919183101*t140*t3*t39*t41*t74*t78*grada- 2.781811676732402*t101*t112*t3*t39*t76*grada-1.0*t101*t21* t36*t42*t5*grada+t308+t307; t310 = -2.744250490306088*t36*t29*grada*t3*t113*t41*t78; t311 = - 3.099173553719008*t28*t16*grada*t103*t37*t76; t312 = -1.328217237308146*t28*t16*grada*t5*t37*t140*t78* t74-1.176107352988323*t36*t29*grada*t3*t39*t41*t140*t145*t74+ t311-2.656434474616293*t28*t16*grada*t5*t101*t42*t76+t310- 2.352214705976647*t36*t29*grada*t3*t39*t101*t112*t78; t313 = -2.656434474616293*t36*t21*t168*t142*t146+5.312868949232586* t36*t21*t77*t167*t226*t146-2.656434474616293*t36*t21*t77*t142* t312-2.656434474616293*t36*t21*t167*t142*t141+2.656434474616293* t36*t21*t80*t309; t314 = 0.003188484444444*t14*t17*t35*t109*t313; t315 = -0.003188484444444*t14*t17*t35*t169*t223*t147; t316 = gradb* t5*t12*t90*t33; t317 = -6.25*t129*t28*t3*t30*t33*t35*t90*gradb; t318 = gradb*t5*t101*t27*t33; t319 = -2.333333333333333*t103*t12*t27*t33*gradb; t320 = -6.25*t101*t129*t27*t28*t3*t30*t32*t33*gradb; t321 = 14.58333333333333* t260*t27*t28*t3*t30*t33*t35*gradb; t322 = 33.33333333333334*t105*t28*t30*t32*gradb; t323 = t322-25.0*t101*t12*t28*t30*t31*gradb; t324 = 0.5*t12*t27*t3*t323*t33*t5; t325 = gradb*t5*t12*t27*t107*t33; t326 = -6.25*t107*t129*t27*t28*t3*t30*t33*t35*gradb; t327 = 0.009565453333333* t14*t17*t101*t32*t175*t109; t328 = -1.166666666666667*t103*t21*t36*t37*gradb; t329 = -3.245446956187803*t113*t3*t41*t76*gradb; t330 = -0.695452919183101*t140*t3*t39*t41*t74*t78*gradb- 2.781811676732402*t101*t112*t3*t39*t76*gradb-1.0*t101*t21* t36*t42*t5*gradb+t329+t328; t331 = -2.744250490306088*t36*t29*gradb*t3*t113*t41*t78; t332 = - 3.099173553719008*t28*t16*gradb*t103*t37*t76; t333 = -1.328217237308146*t28*t16*gradb*t5*t37*t140*t78* t74-1.176107352988323*t36*t29*gradb*t3*t39*t41*t140*t145*t74+ t332-2.656434474616293*t28*t16*gradb*t5*t101*t42*t76+t331- 2.352214705976647*t36*t29*gradb*t3*t39*t101*t112*t78; t334 = -2.656434474616293*t36*t21*t174*t142*t146+5.312868949232586* t36*t21*t77*t173*t226*t146-2.656434474616293*t36*t21*t77*t142* t333-2.656434474616293*t36*t21*t173*t142*t141+2.656434474616293* t36*t21*t80*t330; t335 = 0.003188484444444*t14*t17*t35*t109*t334; t336 = -0.003188484444444*t14*t17*t35*t175*t223*t147; t337 = t5* t12*t90*t33; t338 = -6.25*t129*t28*t3*t30*t33*t35*t90; t339 = t5*t101*t27*t33; t340 = -2.333333333333333*t103*t12*t27*t33; t341 = -6.25*t101*t129*t27*t28*t3*t30*t32*t33; t342 = 14.58333333333333*t260*t27*t28*t3*t30*t33*t35; t343 = 33.33333333333334* t105*t28*t30*t32; t344 = t343-25.0*t101*t12*t28*t30*t31; t345 = 0.5*t12*t27*t3*t33*t344*t5; t346 = t5*t12*t27*t107*t33; t347 = -6.25*t107*t129*t27*t28*t3*t30*t33*t35; t348 = 0.009565453333333*t14*t17*t101*t32*t185*t109; t349 = - 1.0*t101*t21*t36*t42*t5; t350 = -1.166666666666667*t103*t21*t36*t37; t351 = -2.781811676732402*t101*t112*t3*t39*t76; t352 = -3.245446956187803*t113*t3*t41*t76; t353 = -0.695452919183101*t140*t3*t39*t41*t74*t78; t354 = t353+t352+t351+t350+t349; t355 = -2.352214705976647*t36*t29*t3*t39*t101*t112*t78; t356 = - 2.744250490306088*t36*t29*t3*t113*t41*t78; t357 = -2.656434474616293*t28*t16*t5*t101*t42*t76; t358 = -3.099173553719008*t28*t16*t103*t37*t76; t359 = -1.176107352988323*t36*t29*t3*t39*t41*t140*t145* t74; t360 = -1.328217237308146*t28*t16*t5*t37*t140*t78*t74; t361 = t360+ t359+t358+t357+t356+t355; t362 = -2.656434474616293*t36*t21*t184*t142*t146+5.312868949232586* t36*t21*t77*t181*t226*t146-2.656434474616293*t36*t21*t77*t142* t361-2.656434474616293*t36*t21*t181*t142*t141+2.656434474616293* t36*t21*t80*t354; t363 = 0.003188484444444*t14*t17*t35*t109*t362; t364 = -0.003188484444444*t14*t17*t35*t185*t223*t147; t365 = t3* t5*t152*t90*t33; t366 = POW(t150,2.0); t367 = t206+t200; t368 = POW(t151,2.0); t369 = t201+t205; t370 = 0.666666666666667*t367*t96+0.666666666666667*t100* t369-0.222222222222222*t204*t368-0.222222222222222*t199*t366; t371 = 0.5* t27*t3*t33*t370*t5; t372 = -2.333333333333333*t103*t152*t27*t3*t33; t373 = POW(t152,2.0); t374 = -12.5*t28*t3*t30*t31*t373-12.5*t12*t28*t3*t30* t31*t370+66.66666666666667*t105*t12*t152*t28*t3*t30+t214; t375 = 0.5* t12*t27*t3*t33*t374*t5; t376 = t3*t5*t12*t90*t154*t33; t377 = t3*t5*t152*t27*t154*t33; t378 = -2.333333333333333*t103*t12*t154*t27*t3*t33; t379 = POW(t154, 2.0); t380 = 0.5*t12*t27*t3*t33*t379*t5; t381 = 0.019130906666667*t14*t17*t152*t32*t109*t162; t382 = POW(t162, 2.0); t383 = -0.003188484444444*t14*t17*t35*t223*t382; t384 = POW(t161,2.0); t385 = POW(t159,2.0); t386 = 1.333333333333333*t369*t99+1.333333333333333*t367* t95+0.444444444444444*t257*t368+0.444444444444444*t256*t366; t387 = t263+ t261-32.0*t129*t131; t388 = 32.0*t129*t131*t57*t64*t72-8.0*t131*t156*t57*t59* t72-8.0*t129*t156*t57*t58*t72+t57*t58*t59*t386*t72+0.019751789702565* t57*t387*t61*t64*t67-0.00146492440294*t57*t19*t20*t22*t85* t157*t64*t67+0.019751789702565*t57*t60*t61*t386*t67+0.03950357940513* t57*t157*t61*t156*t67-0.00146492440294*t57*t19*t20*t22*t85* t60*t156*t67-8.0*t131*t136*t57*t59*t64+2.0*t136*t156*t57*t58* t59+t274+t273+t272+t271+t259+t255+t254+t252+t251+t249+t245+ t240+t239+t237-1.169644679491041*t57*t157*t122*t61*t123*t64* t124-1.169644679491041*t57*t60*t122*t61*t123*t156*t124; t389 = 940.8858823906587*t28*t16*t370*t41*t73-3763.543529562635* t28*t16*t373*t112*t73+1881.771764781317*t28*t16*t152*t41*t158- 313.6286274635529*t28*t16*t42*t388; t390 = -0.173863229795775*t38*t389*t39*t41*t74*t78-0.173863229795775* t38*t385*t39*t41*t74*t78+1.622723478093901*t113*t159*t38*t41* t74*t78+1.390905838366201*t112*t152*t159*t38*t39*t74*t78+3.477264595915503* t231*t373*t38*t39*t76-0.695452919183101*t112*t370*t38*t39* t76+6.490893912375606*t112*t113*t152*t38*t76-0.5*t21*t3*t36* t370*t42*t5+1.5*t21*t3*t36*t373*t41*t5+2.333333333333333*t103* t152*t21*t3*t36*t42+0.34772645959155*t145*t230*t38*t385*t39* t41+t233+t228; t391 = -0.664108618654073*t28*t16*t3*t5*t37*t385*t78* t74+3.099173553719008*t28*t16*t3*t103*t37*t159*t78*t74+2.656434474616293* t28*t16*t3*t5*t152*t42*t159*t78*t74-0.664108618654073*t28* t16*t3*t5*t37*t389*t78*t74-0.294026838247081*t36*t29*t38*t39* t41*t385*t145*t74+2.744250490306088*t36*t29*t38*t113*t41*t159* t145*t74+2.352214705976647*t36*t29*t38*t39*t152*t112*t159* t145*t74-0.294026838247081*t36*t29*t38*t39*t41*t389*t145*t74+ t280+6.198347107438017*t28*t16*t3*t103*t152*t42*t76-1.328217237308146* t28*t16*t3*t5*t370*t42*t76+3.98465171192444*t28*t16*t3*t5* t373*t41*t76+t279+5.488500980612176*t36*t29*t38*t113*t152* t112*t78-0.588053676494162*t36*t29*t38*t39*t370*t112*t78+2.940268382470808* t36*t29*t38*t39*t373*t231*t78+1.328217237308146*t28*t16*t3* t5*t37*t385*t230*t145+0.882080514741242*t36*t29*t38*t39*t41* t385*t230*t278; t392 = -2.656434474616293*t36*t21*t77*t142*t391+2.656434474616293* t36*t21*t80*t390+5.312868949232586*t36*t21*t77*t226*t384-5.312868949232586* t36*t21*t142*t160*t161; t393 = 0.003188484444444*t14*t17*t35*t109*t392; t394 = 0.019130906666667*t14*t17*t373*t12*t82; t395 = 0.009565453333333*t14*t17*t370*t32*t82; t396 = grada*t5*t152*t27*t33; t397 = -6.25*t129*t152*t27*t28*t3*t30*t32*t33*grada; t398 = t301- 25.0*t12*t152*t28*t30*t31*grada; t399 = 0.5*t12*t27*t3*t33*t398*t5; t400 = grada*t5*t12*t27*t154*t33; t401 = -6.25*t129*t154*t27*t28*t3*t30*t33*t35*grada; t402 = 0.009565453333333* t14*t17*t152*t32*t169*t109; t403 = -0.695452919183101*t159*t3*t39*t41*t74*t78*grada- 2.781811676732402*t112*t152*t3*t39*t76*grada-1.0*t152*t21* t36*t42*t5*grada+t308+t307; t404 = -1.328217237308146*t28*t16*grada*t5*t37*t159*t78* t74-1.176107352988323*t36*t29*grada*t3*t39*t41*t159*t145*t74+ t311-2.656434474616293*t28*t16*grada*t5*t152*t42*t76+t310- 2.352214705976647*t36*t29*grada*t3*t39*t152*t112*t78; t405 = -2.656434474616293*t36*t21*t168*t142*t161+5.312868949232586* t36*t21*t77*t167*t226*t161-2.656434474616293*t36*t21*t77*t142* t404-2.656434474616293*t36*t21*t167*t142*t160+2.656434474616293* t36*t21*t80*t403; t406 = 0.003188484444444*t14*t17*t35*t109*t405; t407 = -0.003188484444444*t14*t17*t35*t169*t223*t162; t408 = gradb* t5*t152*t27*t33; t409 = -6.25*t129*t152*t27*t28*t3*t30*t32*t33*gradb; t410 = t322- 25.0*t12*t152*t28*t30*t31*gradb; t411 = 0.5*t12*t27*t3*t33*t410*t5; t412 = gradb*t5*t12*t27*t154*t33; t413 = -6.25*t129*t154*t27*t28*t3*t30*t33*t35*gradb; t414 = 0.009565453333333* t14*t17*t152*t32*t175*t109; t415 = -0.695452919183101*t159*t3*t39*t41*t74*t78*gradb- 2.781811676732402*t112*t152*t3*t39*t76*gradb-1.0*t152*t21* t36*t42*t5*gradb+t329+t328; t416 = -1.328217237308146*t28*t16*gradb*t5*t37*t159*t78* t74-1.176107352988323*t36*t29*gradb*t3*t39*t41*t159*t145*t74+ t332-2.656434474616293*t28*t16*gradb*t5*t152*t42*t76+t331- 2.352214705976647*t36*t29*gradb*t3*t39*t152*t112*t78; t417 = -2.656434474616293*t36*t21*t174*t142*t161+5.312868949232586* t36*t21*t77*t173*t226*t161-2.656434474616293*t36*t21*t77*t142* t416-2.656434474616293*t36*t21*t173*t142*t160+2.656434474616293* t36*t21*t80*t415; t418 = 0.003188484444444*t14*t17*t35*t109*t417; t419 = -0.003188484444444*t14*t17*t35*t175*t223*t162; t420 = t5* t152*t27*t33; t421 = -6.25*t129*t152*t27*t28*t3*t30*t32*t33; t422 = t343-25.0*t12*t152*t28*t30*t31; t423 = 0.5*t12*t27*t3*t33*t422*t5; t424 = t5*t12*t27*t154*t33; t425 = -6.25*t129*t154*t27*t28*t3*t30*t33*t35; t426 = 0.009565453333333*t14*t17*t152*t32*t185*t109; t427 = - 1.0*t152*t21*t36*t42*t5; t428 = -2.781811676732402*t112*t152*t3*t39*t76; t429 = -0.695452919183101*t159*t3*t39*t41*t74*t78; t430 = t429+t352+t428+t350+t427; t431 = -2.352214705976647*t36*t29*t3*t39*t152*t112*t78; t432 = - 2.656434474616293*t28*t16*t5*t152*t42*t76; t433 = -1.176107352988323*t36*t29*t3*t39*t41*t159*t145* t74; t434 = -1.328217237308146*t28*t16*t5*t37*t159*t78*t74; t435 = t434+ t433+t358+t432+t356+t431; t436 = -2.656434474616293*t36*t21*t184*t142*t161+5.312868949232586* t36*t21*t77*t181*t226*t161-2.656434474616293*t36*t21*t77*t142* t435-2.656434474616293*t36*t21*t181*t142*t160+2.656434474616293* t36*t21*t80*t430; t437 = 0.003188484444444*t14*t17*t35*t109*t436; t438 = -0.003188484444444*t14*t17*t35*t185*t223*t162; t439 = - 25.0*t1*t129*t27*t28*t30*t33*t35; t440 = 1/POW(3.141592653589793,2.666666666666667); t441 = 1/POW(t4,7.666666666666667); t442 = 26.04166666666667*t1*t111*t27*t3*t33*t36*t440* t441; t443 = POW(t169,2.0); t444 = -0.003188484444444*t14*t17*t35*t443*t223; t445 = POW(t167,2.0); t446 = t180+t179+1.176107352988323*t36*t29*t1*t39*t41* t78; t447 = 1.390905838366201*t1*t39*t41*t76+t183+t182; t448 = 2.656434474616293*t36*t21*t447*t80-5.312868949232586* t36*t21*t168*t167*t142-2.656434474616293*t36*t21*t77*t446* t142+5.312868949232586*t36*t21*t77*t445*t226; t449 = 0.003188484444444*t14*t17*t35*t448*t109; t450 = -25.0*t129*t27*t28*t30*t33*t35*grada*gradb; t451 = 26.04166666666667*t111*t27*t3*t33*t36*t440*t441* grada*gradb; t452 = -0.003188484444444*t14*t17*t35*t169*t175*t223; t453 = POW(3.141592653589793, 1.666666666666667); t454 = 1.176107352988323*t36*t29*grada*gradb*t39*t41* t80*t76-3.124252118327895*t28*t453*grada*gradb*t39*t41*t77* t142*t78-2.656434474616293*t36*t21*t168*t173*t142-2.656434474616293* t36*t21*t174*t167*t142+5.312868949232586*t36*t21*t77*t167* t173*t226; t455 = 0.003188484444444*t14*t17*t35*t109*t454; t456 = -25.0*t129*t27*t28*t30*t33*t35*grada; t457 = 26.04166666666667*t111*t27*t3*t33*t36*t440*t441* grada; t458 = -0.003188484444444*t14*t17*t35*t185*t169*t223; t459 = - 3.124252118327895*t28*t453*grada*t39*t41*t77*t142*t78; t460 = 1.176107352988323*t36*t29*grada*t39*t41*t80*t76; t461 = t460+ t459-2.656434474616293*t36*t21*t184*t167*t142-2.656434474616293* t36*t21*t168*t181*t142+5.312868949232586*t36*t21*t77*t181* t167*t226; t462 = 0.003188484444444*t14*t17*t35*t109*t461; t463 = -25.0*t129*t2*t27*t28*t30*t33*t35; t464 = 26.04166666666667*t111*t2*t27*t3*t33*t36*t440* t441; t465 = POW(t175,2.0); t466 = -0.003188484444444*t14*t17*t35*t465*t223; t467 = POW(t173,2.0); t468 = t180+t179+1.176107352988323*t36*t29*t2*t39*t41* t78; t469 = 1.390905838366201*t2*t39*t41*t76+t183+t182; t470 = 2.656434474616293*t36*t21*t469*t80-5.312868949232586* t36*t21*t174*t173*t142-2.656434474616293*t36*t21*t77*t468* t142+5.312868949232586*t36*t21*t77*t467*t226; t471 = 0.003188484444444*t14*t17*t35*t470*t109; t472 = -25.0*t129*t27*t28*t30*t33*t35*gradb; t473 = 26.04166666666667*t111*t27*t3*t33*t36*t440*t441* gradb; t474 = -0.003188484444444*t14*t17*t35*t185*t175*t223; t475 = - 3.124252118327895*t28*t453*gradb*t39*t41*t77*t142*t78; t476 = 1.176107352988323*t36*t29*gradb*t39*t41*t80*t76; t477 = t476+ t475-2.656434474616293*t36*t21*t184*t173*t142-2.656434474616293* t36*t21*t174*t181*t142+5.312868949232586*t36*t21*t77*t181* t173*t226; t478 = 0.003188484444444*t14*t17*t35*t109*t477; t479 = -25.0*t129*t27*t28*t30*t33*t35; t480 = 26.04166666666667*t111*t27*t3*t33*t36*t440*t441; t481 = POW(t185, 2.0); t482 = -0.003188484444444*t14*t17*t35*t481*t223; t483 = POW(t181,2.0); t484 = -3.124252118327895*t28*t453*t39*t41*t77*t142*t78; t485 = 1.176107352988323* t36*t29*t39*t41*t80*t76; t486 = t485+t484-5.312868949232586*t36*t21*t184*t181* t142+5.312868949232586*t36*t21*t77*t483*t226; t487 = 0.003188484444444*t14*t17*t35*t109*t486; t488 = 1.5*t12*t194*t3*t33*t5; t489 = -7.0*t103*t12*t3*t33*t90; t490 = 11.66666666666667*t12*t211*t27*t3*t33; t491 = 0.5*t12*t3*t33*t5*(-0.003*t189*t88*t89-0.003*t193* t86*t89-0.006*t26*POW(t88,3.0)/POW(t24,4.0)-0.001*(-9.046074074074074* t19*t20*t22*t103-1.398518518518518*t14*t15*t17*t105-0.332505* t13*t59)*t89*t26+0.006*t193*t88*t191*t26+0.001*(-24.1277037037037* t19*t20*t22*t103-0.021893333333333*t14*t15*t17*t105)*t25+0.006* t86*t190*t191); t492 = -3.5*t103*t12*t194*t3*t33; t493 = 11.66666666666667*t12*t211*t3*t33*t90; t494 = POW(t94,3.0); t495 = 1/POW(t8,2.333333333333333); t496 = 6.0*t59*t6; t497 = -6.0*t192; t498 = t497+t496; t499 = POW(t98,3.0); t500 = 1/POW(t10,2.333333333333333); t501 = -6.0*t59*t6; t502 = 6.0*t192; t503 = t502+t501; t504 = -0.666666666666667*t204*t207*t98+0.666666666666667* t498*t96-0.666666666666667*t199*t202*t94+0.666666666666667* t100*t503+0.296296296296296*t499*t500+0.296296296296296*t494* t495; t505 = 1/POW(t4,5.333333333333333); t506 = -16.85185185185185*t12*t27*t3*t33*t505; t507 = 285.1851851851852*t113*t28*t3*t30*t32; t508 = 1/POW(t81,3.0); t509 = 1/POW(t79,4.0); t510 = POW(t101,3.0); t511 = -8.425925925925926*t21*t3*t36*t37*t505; t512 = POW(t140,3.0); t513 = 1/POW(2.718281828459045,940.8858823906587*t28* t16*t42*t73); t514 = 1881.771764781317*t28*t16*t101*t41*t73-627.2572549271058* t28*t16*t42*t139; t515 = POW(t12,7.0); t516 = 1/t515; t517 = -30.65144347510703*t38*t41*t441*t76; t518 = POW(t118,3.0); t519 = 1/POW(t54,6.0); t520 = 1/POW(t55,3.0); t521 = 517.2501470570614*t518*t43*t519*t520; t522 = 1/POW(t54,5.0); t523 = -96.4909459329066*t518*t43*t522*t236; t524 = -3.43668585764369*t19*t20*t22*t85*t234*t235*t236; t525 = 48.2454729664533* t244*t118*t43*t235*t236; t526 = 6.0*t518*t43*t235*t120; t527 = 0.4274*t19*t20*t22*t85*t234*t238*t120; t528 = -6.0*t244*t118*t43*t238*t120; t529 = -0.2137*t19*t20*t22*t85*t244*t119*t120; t530 = 0.284933333333333*t19*t20*t22*t5*t118*t119*t120; t531 = 1/ POW(t4,3.666666666666667); t532 = 1/POW(t47,7.0); t533 = 1/POW(t4,3.166666666666667); t534 = -3.200040277777777*t50*t51*t52*t533-3.720474074074074* t19*t20*t22*t103-1.5358125*t45*t46*t532-0.562075355777054* t531; t535 = 1.0*t534*t43*t119*t120; t536 = POW(t122,3.0); t537 = -1025.38970210078*t536*t57*t60*t61*t64/(POW(t65, 6.0)*POW(t66,3.0)); t538 = 103.8945353962552*t248*t536*t57*t60*t61*t64/POW(t65, 5.0); t539 = 1.926377843805565*t57*t19*t20*t22*t85*t60*t246* t247*t64*t248; t540 = -51.9472676981276*t57*t60*t253*t122*t61*t247*t64* t248; t541 = -3.508934038473122*t57*t60*t536*t61*t247*t64*t124; t542 = - 0.130122970593378*t57*t19*t20*t22*t85*t60*t246*t250*t64*t124; t543 = 3.508934038473122* t57*t60*t253*t122*t61*t250*t64*t124; t544 = 0.065061485296689*t57*t19*t20*t22*t85*t60*t253* t123*t64*t124; t545 = -0.086748647062252*t57*t19*t20*t22*t5*t60*t122* t123*t64*t124; t546 = -0.58482233974552*t57*t60*(-4.36336574074074*t50* t51*t52*t533-3.757288888888889*t19*t20*t22*t103-0.82524375* t45*t46*t532-0.566374102259952*t531)*t61*t123*t64*t124; t547 = 0.013780452414815*t19*t20*t22*t103*t56; t548 = 1/POW(t8,1.666666666666667); t549 = 1/POW(t10,1.666666666666667); t550 = 1.333333333333333*t503*t99+1.333333333333333*t207* t257*t98+1.333333333333333*t498*t95+1.333333333333333*t202* t256*t94-0.296296296296296*t499*t549-0.296296296296296*t494* t548; t551 = -0.002278771293463*t57*t19*t20*t22*t103*t60*t64* t67; t552 = 1/POW(t4,7.0); t553 = 120.0*t552*t58; t554 = 144.0*t129*t262; t555 = -24.0*t59*t6; t556 = POW(t133,3.0); t557 = t57*t58*t59*t64*(0.006624979614815*t19*t20*t22* t103*t71+2069.133687865597*t556*t68/(POW(t69,6.0)*POW(t70, 3.0))-192.9880990672242*t267*t556*t68/POW(t69,5.0)+6.0*t135* t266*t556*t68-6.0*t133*t135*t268*t269*t68-0.013780452414815* t19*t20*t22*t103*t56-517.2501470570614*t518*t43*t519*t520+ 96.4940495336121*t269*t133*t68*t266*t267-6.60919909938887* t19*t20*t22*t85*t265*t266*t267+96.4909459329066*t518*t43*t522* t236-48.2454729664533*t244*t118*t43*t235*t236+3.43668585764369* t19*t20*t22*t85*t234*t235*t236+0.41096*t19*t20*t22*t85*t265* t268*t135+(-5.948240277777777*t50*t51*t52*t533-6.427244444444445* t19*t20*t22*t103-3.1558125*t45*t46*t532-0.712850752974279* t531)*t68*t134*t135-0.20548*t19*t20*t22*t85*t269*t134*t135+ 0.273973333333333*t19*t20*t22*t5*t133*t134*t135+6.0*t244*t118* t43*t238*t120-0.4274*t19*t20*t22*t85*t234*t238*t120-6.0*t518* t43*t235*t120-1.0*t534*t43*t119*t120+0.2137*t19*t20*t22*t85* t244*t119*t120-0.284933333333333*t19*t20*t22*t5*t118*t119* t120); t558 = -12.0*t129*t270*t57*t58*t64; t559 = 60.0*t136*t260*t57*t58*t64; t560 = 36.0*t136*t262*t57*t59*t64; t561 = -120.0*t552*t57*t58*t64*t72; t562 = -144.0*t129*t262*t57*t64*t72; t563 = 24.0*t57*t59*t6*t64*t72; t564 = 940.8858823906587*t28*t16*t504*t41*t73+18817.71764781317* t28*t16*t510*t231*t73-11290.6305886879*t28*t16*t208*t101*t112* t73-313.6286274635529*t16*t28*t42*(240.0*t131*t260*t57*t64* t72+36.0*t127*t262*t57*t59*t72+12.0*t131*t258*t57*t59*t72+ 60.0*t127*t260*t57*t58*t72-12.0*t129*t258*t57*t58*t72-96.0* t127*t129*t131*t57*t72+t57*t58*t59*t550*t72+0.019751789702565* (t555+t554+t553-240.0*t131*t260)*t57*t61*t64*t67-0.00219738660441* t57*t19*t20*t22*t85*t264*t64*t67+0.002929848805881*t57*t19* t20*t22*t5*t132*t64*t67+0.019751789702565*t57*t60*t61*t550* t67+0.059255369107696*t57*t132*t61*t258*t67-0.00219738660441* t57*t19*t20*t22*t85*t60*t258*t67+0.059255369107696*t57*t264* t61*t127*t67+0.002929848805881*t57*t19*t20*t22*t5*t60*t127* t67-0.004394773208821*t57*t19*t20*t22*t85*t132*t127*t67+12.0* t131*t270*t57*t59*t64-96.0*t129*t131*t136*t57*t64+3.0*t127* t270*t57*t58*t59+3.0*t136*t258*t57*t58*t59+24.0*t127*t131* t136*t57*t59-24.0*t127*t129*t136*t57*t58+t563+t562+t561+t560+ t559+t558+t557+t551+t547+t546+t545+t544+t543+t542+t541+t540+ t539+t538+t537+t535+t530+t529+t528+t527+t526+t525+t524+t523+ t521-51.9472676981276*t57*t132*t246*t61*t247*t64*t248-51.9472676981276* t57*t60*t246*t61*t247*t127*t248+3.508934038473122*t57*t132* t246*t61*t250*t64*t124-1.754467019236561*t57*t132*t253*t61* t123*t64*t124-1.754467019236561*t57*t264*t122*t61*t123*t64* t124+0.130122970593378*t57*t19*t20*t22*t85*t132*t122*t123* t64*t124-1.754467019236561*t57*t60*t122*t61*t123*t258*t124+ 3.508934038473122*t57*t60*t246*t61*t250*t127*t124-1.754467019236561* t57*t60*t253*t61*t123*t127*t124-3.508934038473122*t57*t132* t122*t61*t123*t127*t124+0.130122970593378*t57*t19*t20*t22* t85*t60*t122*t123*t127*t124)+2822.657647171976*t28*t16*t101* t41*t275+2822.657647171976*t28*t16*t208*t41*t139-11290.6305886879* t28*t16*t213*t112*t139; t565 = 1/POW(t75,5.0); t566 = -25.91792129733528*t36*t29*t38*t441*t41*t78; t567 = - 22.38292011019284*t28*t16*t3*t505*t37*t76; t568 = t3*t5*t286*t27*t33; t569 = t3*t5*t12*t27*t287*t33; t570 = t3*t5*t101*t27*t154*t33; t571 = t3*t5*t152*t27*t107*t33; t572 = t3*t5*t12*t27*t154*t107*t33; t573 = 0.019130906666667*t14*t17*t101*t32*t109*t162; t574 = 0.019130906666667* t14*t17*t152*t32*t109*t147; t575 = -0.006376968888889*t14*t17*t35*t223*t162*t147; t576 = 0.006376968888889* t14*t17*t35*t109*t294; t577 = 0.038261813333333*t14*t17*t152*t101*t12*t82; t578 = 0.019130906666667* t14*t17*t286*t32*t82; t579 = t3*t5*t286*t90*t33; t580 = -2.333333333333333*t103*t27*t286*t3*t33; t581 = t496-2.0*t192; t582 = t501+2.0*t192; t583 = -0.888888888888889*t192*t204*t6*t98+0.666666666666667* t581*t96+0.888888888888889*t192*t199*t6*t94+0.666666666666667* t100*t582+0.296296296296296*t151*t203*t500+0.296296296296296* t150*t198*t495-0.222222222222222*t151*t204*t207-0.222222222222222* t150*t199*t202; t584 = 66.66666666666667*t101*t105*t152*t28*t3*t30; t585 = 66.66666666666667* t105*t12*t28*t286*t3*t30; t586 = t3*t5*t12*t90*t287*t33; t587 = -2.333333333333333*t103*t12*t27*t287*t3*t33; t588 = t3* t5*t101*t90*t154*t33; t589 = -2.333333333333333*t101*t103*t154*t27*t3*t33; t590 = t3* t5*t152*t90*t107*t33; t591 = -2.333333333333333*t103*t107*t152*t27*t3*t33; t592 = t3* t5*t12*t90*t154*t107*t33; t593 = -2.333333333333333*t103*t107*t12*t154*t27*t3*t33; t594 = - 7.0*t101*t103*t152*t21*t3*t36*t41; t595 = 2.333333333333333*t103*t21*t286*t3*t36*t42; t596 = -3.245446956187803*t113*t140*t145*t159*t230*t38* t41; t597 = 1881.771764781317*t28*t16*t152*t41*t73-627.2572549271058* t28*t16*t42*t158; t598 = -32.45446956187803*t101*t113*t152*t231*t38*t76; t599 = 6.490893912375606* t112*t113*t286*t38*t76; t600 = 1.622723478093901*t113*t291*t38*t41*t74*t78; t601 = - 1.169644679491041*t57*t60*t122*t61*t123*t288*t124; t602 = -1.169644679491041*t57*t132*t122*t61*t123*t156* t124; t603 = -1.169644679491041*t57*t157*t122*t61*t123*t127* t124; t604 = -1.169644679491041*t57*t289*t122*t61*t123*t64* t124; t605 = -0.00146492440294*t57*t19*t20*t22*t85*t60*t288* t67; t606 = 1.333333333333333*t582*t99+1.777777777777778*t192* t257*t6*t98+1.333333333333333*t581*t95-1.777777777777778*t192* t256*t6*t94-0.296296296296296*t151*t203*t549-0.296296296296296* t150*t198*t548+0.444444444444444*t151*t207*t257+0.444444444444444* t150*t202*t256; t607 = -0.00146492440294*t57*t19*t20*t22*t85*t132*t156* t67; t608 = -0.00146492440294*t57*t19*t20*t22*t85*t157*t127* t67; t609 = -0.00146492440294*t57*t19*t20*t22*t85*t289*t64* t67; t610 = -48.0*t129*t262; t611 = 24.0*t59*t6; t612 = 2.0*t136*t288*t57*t58*t59; t613 = -12.0*t136*t262*t57*t59*t64; t614 = -8.0*t129*t288*t57*t58*t72; t615 = 48.0*t129*t262*t57*t64*t72; t616 = -24.0*t57*t59*t6*t64*t72; t617 = 940.8858823906587*t28*t16*t583*t41*t73+18817.71764781317* t28*t16*t152*t213*t231*t73-3763.543529562635*t28*t16*t208* t152*t112*t73-7527.08705912527*t28*t16*t286*t101*t112*t73- 313.6286274635529*t16*t28*t42*(80.0*t131*t260*t57*t64*t72+ t57*t58*t59*t606*t72+8.0*t131*t288*t57*t59*t72+12.0*t156*t262* t57*t59*t72-24.0*t127*t262*t57*t59*t72-4.0*t131*t258*t57*t59* t72+20.0*t156*t260*t57*t58*t72+40.0*t127*t260*t57*t58*t72- 4.0*t129*t258*t57*t58*t72-32.0*t129*t131*t156*t57*t72+0.019751789702565* t57*t61*(t611+t610+t553-80.0*t131*t260)*t64*t67-7.324622014701263E-4* t57*t19*t20*t22*t85*t264*t64*t67+9.76616268626835E-4*t57*t19* t20*t22*t5*t157*t64*t67+0.001953232537254*t57*t19*t20*t22* t5*t132*t64*t67+0.019751789702565*t57*t60*t61*t606*t67+0.03950357940513* t57*t132*t61*t288*t67+0.019751789702565*t57*t157*t61*t258* t67-7.324622014701263E-4*t57*t19*t20*t22*t85*t60*t258*t67+ 0.019751789702565*t57*t264*t61*t156*t67+9.76616268626835E-4* t57*t19*t20*t22*t5*t60*t156*t67+0.03950357940513*t57*t289* t61*t127*t67+0.001953232537254*t57*t19*t20*t22*t5*t60*t127* t67-0.00146492440294*t57*t19*t20*t22*t85*t132*t127*t67+4.0* t131*t270*t57*t59*t64-32.0*t129*t131*t136*t57*t64+t616+t615+ t614+t613+t612+t609+t608+t607+t605+t604+t603+t602+t601+2.0* t127*t270*t57*t58*t59+8.0*t131*t136*t156*t57*t59-8.0*t129* t136*t156*t57*t58-16.0*t127*t129*t136*t57*t58+t561+t559+t558+ t557+t551+t547+t546+t545+t544+t543+t542+t541+t540+t539+t538+ t537+t535+t530+t529+t528+t527+t526+t525+t524+t523+t521+t57* t58*t59*t156*t270-17.31575589937587*t57*t157*t246*t61*t247* t64*t248-34.63151179875173*t57*t132*t246*t61*t247*t64*t248- 17.31575589937587*t57*t60*t246*t61*t247*t156*t248-34.63151179875173* t57*t60*t246*t61*t247*t127*t248+t57*t58*t59*t258*t136+1.169644679491041* t57*t157*t246*t61*t250*t64*t124+2.339289358982082*t57*t132* t246*t61*t250*t64*t124-0.58482233974552*t57*t157*t253*t61* t123*t64*t124-1.169644679491041*t57*t132*t253*t61*t123*t64* t124-0.58482233974552*t57*t264*t122*t61*t123*t64*t124+0.043374323531126* t57*t19*t20*t22*t85*t157*t122*t123*t64*t124+0.086748647062252* t57*t19*t20*t22*t85*t132*t122*t123*t64*t124-0.58482233974552* t57*t60*t122*t61*t123*t258*t124+1.169644679491041*t57*t60* t246*t61*t250*t156*t124-0.58482233974552*t57*t60*t253*t61* t123*t156*t124+0.043374323531126*t57*t19*t20*t22*t85*t60*t122* t123*t156*t124+2.339289358982082*t57*t60*t246*t61*t250*t127* t124-1.169644679491041*t57*t60*t253*t61*t123*t127*t124-1.169644679491041* t57*t132*t122*t61*t123*t127*t124+0.086748647062252*t57*t19* t20*t22*t85*t60*t122*t123*t127*t124)+1881.771764781317*t28* t16*t101*t41*t290+940.8858823906587*t28*t16*t152*t41*t275+ 940.8858823906587*t28*t16*t208*t41*t158-3763.543529562635* t28*t16*t213*t112*t158+1881.771764781317*t28*t16*t286*t41* t139-7527.08705912527*t28*t16*t152*t101*t112*t139; t618 = -6.490893912375606*t101*t112*t113*t159*t38*t74* t78; t619 = -6.490893912375606*t112*t113*t140*t152*t38*t74* t78; t620 = 1.622723478093901*t113*t140*t159*t38*t41*t74*t78; t621 = - 8.232751470918263*t36*t29*t38*t113*t41*t159*t140*t230*t278; t622 = - 6.198347107438017*t28*t16*t3*t103*t37*t159*t140*t230*t145; t623 = - 27.44250490306088*t36*t29*t38*t113*t152*t101*t231*t78; t624 = 5.488500980612176*t36*t29*t38*t113*t286*t112*t78; t625 = 6.198347107438017* t28*t16*t3*t103*t286*t42*t76; t626 = 2.744250490306088*t36*t29*t38*t113*t41*t291*t145* t74; t627 = -10.97700196122435*t36*t29*t38*t113*t101*t112* t159*t145*t74; t628 = -10.97700196122435*t36*t29*t38*t113*t152*t112* t140*t145*t74; t629 = 2.744250490306088*t36*t29*t38*t113*t41*t159*t140* t145*t74; t630 = 3.099173553719008*t28*t16*t3*t103*t37*t291*t78* t74; t631 = -6.198347107438017*t28*t16*t3*t103*t101*t42*t159* t78*t74; t632 = -6.198347107438017*t28*t16*t3*t103*t152*t42*t140* t78*t74; t633 = 3.099173553719008*t28*t16*t3*t103*t37*t159*t140* t78*t74; t634 = 2.0*t12*t33*t5*t90*grada; t635 = -12.5*t129*t28*t3*t30*t33*t35*t90*grada; t636 = -4.666666666666667*t103*t12*t27*t33*grada; t637 = 29.16666666666667*t260*t27*t28*t3*t30*t33*t35* grada; t638 = grada*t5*t12*t194*t33; t639 = -6.25*t129*t194*t28*t3*t30*t33*t35*grada; t640 = -4.666666666666667*t103*t12*t33*t90*grada; t641 = 29.16666666666667*t260*t28*t3*t30*t33*t35*t90* grada; t642 = 7.777777777777778*t12*t211*t27*t33*grada; t643 = -48.61111111111111*t27*t28*t3*t30*t33*t35*t552* grada; t644 = -122.2222222222222*t28*t30*t32*t39*grada; t645 = 3.888888888888889*t21*t211*t36*t37*grada; t646 = 18.39086608506422*t232*t3*t41*t76*grada; t647 = 15.55075277840116*t36*t29*grada*t3*t232*t41*t78; t648 = 10.3305785123967* t28*t16*grada*t211*t37*t76; t649 = 2.0*t12*t33*t5*t90*gradb; t650 = -12.5*t129*t28*t3*t30*t33*t35*t90*gradb; t651 = -4.666666666666667*t103*t12*t27*t33*gradb; t652 = 29.16666666666667*t260*t27*t28*t3*t30*t33*t35* gradb; t653 = gradb*t5*t12*t194*t33; t654 = -6.25*t129*t194*t28*t3*t30*t33*t35*gradb; t655 = -4.666666666666667*t103*t12*t33*t90*gradb; t656 = 29.16666666666667*t260*t28*t3*t30*t33*t35*t90* gradb; t657 = 7.777777777777778*t12*t211*t27*t33*gradb; t658 = -48.61111111111111*t27*t28*t3*t30*t33*t35*t552* gradb; t659 = -122.2222222222222*t28*t30*t32*t39*gradb; t660 = 3.888888888888889*t21*t211*t36*t37*gradb; t661 = 18.39086608506422*t232*t3*t41*t76*gradb; t662 = 15.55075277840116*t36*t29*gradb*t3*t232*t41*t78; t663 = 10.3305785123967* t28*t16*gradb*t211*t37*t76; t664 = 2.0*t12*t33*t5*t90; t665 = -12.5*t129*t28*t3*t30*t33*t35*t90; t666 = -4.666666666666667*t103*t12*t27*t33; t667 = 29.16666666666667*t260*t27*t28*t3*t30*t33*t35; t668 = t5* t12*t194*t33; t669 = -6.25*t129*t194*t28*t3*t30*t33*t35; t670 = -4.666666666666667*t103*t12*t33*t90; t671 = 29.16666666666667*t260*t28*t3*t30*t33*t35*t90; t672 = 7.777777777777778* t12*t211*t27*t33; t673 = -48.61111111111111*t27*t28*t3*t30*t33*t35*t552; t674 = - 122.2222222222222*t28*t30*t32*t39; t675 = 3.888888888888889*t21*t211*t36*t37; t676 = 18.39086608506422*t232*t3*t41*t76; t677 = 15.55075277840116*t36*t29*t3*t232*t41*t78; t678 = 10.3305785123967*t28*t16*t211*t37*t76; t679 = 0.296296296296296*t368*t500*t98-0.222222222222222* t204*t369*t98+4.0*t59*t6*t96+1.333333333333333*t192*t96+0.296296296296296* t366*t495*t94-0.222222222222222*t199*t367*t94-4.0*t100*t59* t6-0.888888888888889*t151*t192*t204*t6+0.888888888888889*t150* t192*t199*t6-1.333333333333333*t100*t192; t680 = -8.0*t59*t6*t99-2.666666666666667*t192*t99-0.296296296296296* t368*t549*t98+0.444444444444444*t257*t369*t98+8.0*t59*t6*t95+ 2.666666666666667*t192*t95-0.296296296296296*t366*t548*t94+ 0.444444444444444*t256*t367*t94+1.777777777777778*t151*t192* t257*t6-1.777777777777778*t150*t192*t256*t6; t681 = 940.8858823906587*t28*t16*t679*t41*t73+18817.71764781317* t28*t16*t373*t101*t231*t73-7527.08705912527*t28*t16*t286*t152* t112*t73-3763.543529562635*t28*t16*t370*t101*t112*t73-313.6286274635529* t16*t28*t42*(t57*t58*t59*t680*t72-80.0*t131*t260*t57*t64*t72+ 4.0*t131*t386*t57*t59*t72-8.0*t131*t288*t57*t59*t72-24.0*t156* t262*t57*t59*t72+12.0*t127*t262*t57*t59*t72-4.0*t129*t386* t57*t58*t72+40.0*t156*t260*t57*t58*t72+20.0*t127*t260*t57* t58*t72+32.0*t127*t129*t131*t57*t72+0.019751789702565*t57* t60*t61*t680*t67+0.019751789702565*t57*t61*(t610+t555+t553+ 80.0*t131*t260)*t64*t67-7.324622014701263E-4*t57*t19*t20*t22* t85*t387*t64*t67+0.001953232537254*t57*t19*t20*t22*t5*t157* t64*t67+9.76616268626835E-4*t57*t19*t20*t22*t5*t132*t64*t67+ 0.019751789702565*t57*t132*t61*t386*t67-7.324622014701263E-4* t57*t19*t20*t22*t85*t60*t386*t67+0.03950357940513*t57*t157* t61*t288*t67+0.03950357940513*t57*t289*t61*t156*t67+0.001953232537254* t57*t19*t20*t22*t5*t60*t156*t67-0.00146492440294*t57*t19*t20* t22*t85*t157*t156*t67+0.019751789702565*t57*t387*t61*t127* t67+9.76616268626835E-4*t57*t19*t20*t22*t5*t60*t127*t67-4.0* t131*t270*t57*t59*t64+32.0*t129*t131*t136*t57*t64+t615+t614+ t613+t612+t609+t608+t607+t605+t604+t603+t602+t601+2.0*t156* t270*t57*t58*t59-8.0*t127*t131*t136*t57*t59-16.0*t129*t136* t156*t57*t58-8.0*t127*t129*t136*t57*t58+t563+t561+t559+t558+ t557+t551+t547+t546+t545+t544+t543+t542+t541+t540+t539+t538+ t537+t535+t530+t529+t528+t527+t526+t525+t524+t523+t521+t57* t58*t59*t127*t270-34.63151179875173*t57*t157*t246*t61*t247* t64*t248-17.31575589937587*t57*t132*t246*t61*t247*t64*t248- 34.63151179875173*t57*t60*t246*t61*t247*t156*t248-17.31575589937587* t57*t60*t246*t61*t247*t127*t248+t57*t58*t59*t386*t136+2.339289358982082* t57*t157*t246*t61*t250*t64*t124+1.169644679491041*t57*t132* t246*t61*t250*t64*t124-1.169644679491041*t57*t157*t253*t61* t123*t64*t124-0.58482233974552*t57*t132*t253*t61*t123*t64* t124-0.58482233974552*t57*t387*t122*t61*t123*t64*t124+0.086748647062252* t57*t19*t20*t22*t85*t157*t122*t123*t64*t124+0.043374323531126* t57*t19*t20*t22*t85*t132*t122*t123*t64*t124-0.58482233974552* t57*t60*t122*t61*t123*t386*t124+2.339289358982082*t57*t60* t246*t61*t250*t156*t124-1.169644679491041*t57*t60*t253*t61* t123*t156*t124-1.169644679491041*t57*t157*t122*t61*t123*t156* t124+0.086748647062252*t57*t19*t20*t22*t85*t60*t122*t123*t156* t124+1.169644679491041*t57*t60*t246*t61*t250*t127*t124-0.58482233974552* t57*t60*t253*t61*t123*t127*t124+0.043374323531126*t57*t19* t20*t22*t85*t60*t122*t123*t127*t124)+940.8858823906587*t28* t16*t101*t41*t388+1881.771764781317*t28*t16*t152*t41*t290+ 1881.771764781317*t28*t16*t286*t41*t158-7527.08705912527*t28* t16*t152*t101*t112*t158+940.8858823906587*t28*t16*t370*t41* t139-3763.543529562635*t28*t16*t373*t112*t139; t682 = -25.0*t1*t129*t28*t30*t33*t35*t90; t683 = 26.04166666666667*t1*t111*t3*t33*t36*t440*t441* t90; t684 = 58.33333333333334*t1*t260*t27*t28*t30*t33*t35; t685 = 1/ POW(t4,8.666666666666666); t686 = -60.76388888888889*t1*t111*t27*t3*t33*t36*t440* t685; t687 = -6.490893912375606*t1*t113*t41*t76; t688 = -5.488500980612176*t36*t29*t1*t113*t41*t78; t689 = -25.0*t129*t28*t30*t33*t35*t90*grada*gradb; t690 = 26.04166666666667*t111*t3*t33*t36*t440*t441*t90* grada*gradb; t691 = 58.33333333333334*t260*t27*t28*t30*t33*t35*grada* gradb; t692 = -60.76388888888889*t111*t27*t3*t33*t36*t440*t685* grada*gradb; t693 = -5.488500980612176*t36*t29*grada*gradb*t113*t41* t78; t694 = -6.490893912375606*t113*t41*t76*grada*gradb; t695 = - 25.0*t129*t28*t30*t33*t35*t90*grada; t696 = 26.04166666666667*t111*t3*t33*t36*t440*t441*t90* grada; t697 = 58.33333333333334*t260*t27*t28*t30*t33*t35*grada; t698 = - 60.76388888888889*t111*t27*t3*t33*t36*t440*t685*grada; t699 = -5.488500980612176*t36*t29*grada*t113*t41*t78; t700 = - 6.490893912375606*t113*t41*t76*grada; t701 = -25.0*t129*t2*t28*t30*t33*t35*t90; t702 = 26.04166666666667*t111*t2*t3*t33*t36*t440*t441* t90; t703 = 58.33333333333334*t2*t260*t27*t28*t30*t33*t35; t704 = - 60.76388888888889*t111*t2*t27*t3*t33*t36*t440*t685; t705 = -6.490893912375606*t113*t2*t41*t76; t706 = -5.488500980612176*t36*t29*t2*t113*t41*t78; t707 = -25.0*t129*t28*t30*t33*t35*t90*gradb; t708 = 26.04166666666667*t111*t3*t33*t36*t440*t441*t90* gradb; t709 = 58.33333333333334*t260*t27*t28*t30*t33*t35*gradb; t710 = - 60.76388888888889*t111*t27*t3*t33*t36*t440*t685*gradb; t711 = -5.488500980612176*t36*t29*gradb*t113*t41*t78; t712 = - 6.490893912375606*t113*t41*t76*gradb; t713 = -25.0*t129*t28*t30*t33*t35*t90; t714 = 26.04166666666667*t111*t3*t33*t36*t440*t441*t90; t715 = 58.33333333333334* t260*t27*t28*t30*t33*t35; t716 = -60.76388888888889*t111*t27*t3*t33*t36*t440*t685; t717 = - 5.488500980612176*t36*t29*t113*t41*t78; t718 = -6.490893912375606*t113*t41*t76; t719 = POW(t150,3.0); t720 = t502+t496; t721 = POW(t151,3.0); t722 = t497+t501; t723 = 0.666666666666667*t720*t96+0.666666666666667*t100* t722+0.296296296296296*t500*t721+0.296296296296296*t495*t719- 0.666666666666667*t151*t204*t369-0.666666666666667*t150*t199* t367; t724 = POW(t152,3.0); t725 = POW(t159,3.0); t726 = 1.333333333333333*t722*t99+1.333333333333333*t720* t95-0.296296296296296*t549*t721-0.296296296296296*t548*t719+ 1.333333333333333*t151*t257*t369+1.333333333333333*t150*t256* t367; t727 = 940.8858823906587*t28*t16*t723*t41*t73+18817.71764781317* t28*t16*t724*t231*t73-11290.6305886879*t28*t16*t370*t152*t112* t73-313.6286274635529*t16*t28*t42*(t57*t58*t59*t726*t72-240.0* t131*t260*t57*t64*t72-12.0*t131*t386*t57*t59*t72+36.0*t156* t262*t57*t59*t72-12.0*t129*t386*t57*t58*t72+60.0*t156*t260* t57*t58*t72+96.0*t129*t131*t156*t57*t72+0.019751789702565* t57*t60*t61*t726*t67+0.019751789702565*t57*t61*(t611+t554+ t553+240.0*t131*t260)*t64*t67-0.00219738660441*t57*t19*t20* t22*t85*t387*t64*t67+0.002929848805881*t57*t19*t20*t22*t5* t157*t64*t67+0.059255369107696*t57*t157*t61*t386*t67-0.00219738660441* t57*t19*t20*t22*t85*t60*t386*t67+0.059255369107696*t57*t387* t61*t156*t67+0.002929848805881*t57*t19*t20*t22*t5*t60*t156* t67-0.004394773208821*t57*t19*t20*t22*t85*t157*t156*t67-12.0* t131*t270*t57*t59*t64+96.0*t129*t131*t136*t57*t64+t616+3.0* t136*t386*t57*t58*t59+3.0*t156*t270*t57*t58*t59-24.0*t131* t136*t156*t57*t59-24.0*t129*t136*t156*t57*t58+t562+t561+t560+ t559+t558+t557+t551+t547+t546+t545+t544+t543+t542+t541+t540+ t539+t538+t537+t535+t530+t529+t528+t527+t526+t525+t524+t523+ t521-51.9472676981276*t57*t157*t246*t61*t247*t64*t248-51.9472676981276* t57*t60*t246*t61*t247*t156*t248+3.508934038473122*t57*t157* t246*t61*t250*t64*t124-1.754467019236561*t57*t157*t253*t61* t123*t64*t124-1.754467019236561*t57*t387*t122*t61*t123*t64* t124+0.130122970593378*t57*t19*t20*t22*t85*t157*t122*t123* t64*t124-1.754467019236561*t57*t60*t122*t61*t123*t386*t124+ 3.508934038473122*t57*t60*t246*t61*t250*t156*t124-1.754467019236561* t57*t60*t253*t61*t123*t156*t124-3.508934038473122*t57*t157* t122*t61*t123*t156*t124+0.130122970593378*t57*t19*t20*t22* t85*t60*t122*t123*t156*t124)+2822.657647171976*t28*t16*t152* t41*t388+2822.657647171976*t28*t16*t370*t41*t158-11290.6305886879* t28*t16*t373*t112*t158; t728 = POW(grada,3.0); t729 = 1/POW(3.141592653589793,4.0); t730 = 1/POW(t4,10.33333333333333); t731 = POW(gradb,3.0); /* code */ dfdra = t4*(t149+t148+t108+t104+t102+t91)+t83+t34; dfdrb = t4*(t164+t163+t155+t104+t153+t91)+t83+t34; dfdga = t4*(t170+t166+t165); dfdgb = t4*(t176+t172+t171); dfdgab = t4*(t186+t178+t177); d2fdrara = t4*(t285+t284+t283+t225+t222+t221+t219+t218+ t217+t216+t212+t210+t209+t197+t196+t195)+0.019130906666667* t14*t17*t101*t32*t82+0.006376968888889*t14*t17*t35*t109*t147+ t3*t5*t12*t27*t107*t33+t188+t3*t5*t101*t27*t33+t187; d2fdrarb = t4*(0.5*t12*t154*t3*t33*t5*t90+0.5*t152*t3* t33*t5*t90+0.5*t107*t12*t3*t33*t5*t90+0.5*t101*t3*t33*t5*t90+ 0.009565453333333*t14*t17*t286*t32*t82+0.019130906666667*t14* t17*t152*t101*t12*t82+0.5*t12*t27*t287*t3*t33*t5+0.5*t27*t286* t3*t33*t5+0.5*t107*t12*t154*t27*t3*t33*t5+0.5*t101*t154*t27* t3*t33*t5+0.5*t107*t152*t27*t3*t33*t5-1.166666666666667*t103* t12*t154*t27*t3*t33-1.166666666666667*t103*t152*t27*t3*t33- 1.166666666666667*t103*t107*t12*t27*t3*t33-1.166666666666667* t101*t103*t27*t3*t33+0.003188484444444*t14*t17*t35*t109*t294+ t212+t197+t195+0.009565453333333*t14*t17*t101*t32*t109*t162- 0.003188484444444*t14*t17*t35*t223*t162*t147+0.009565453333333* t14*t17*t152*t32*t109*t147)+t188+t187+t164+t163+t155+t153+ t149+t148+t108+t102; d2fdraga = t4*(t315+t314+t306+t305+t304+t303+t300+t299+ t298+t297+t296+t295)+t170+t166+t165; d2fdragb = t4*(t336+t335+t327+t326+t325+t324+t321+t320+ t319+t318+t317+t316)+t176+t172+t171; d2fdraab = t4*(t364+t363+t348+t347+t346+t345+t342+t341+ t340+t339+t338+t337)+t186+t178+t177; d2fdrbrb = t4*(t395+t394+t393+t383+t381+t380+t378+t377+ t376+t375+t212+t372+t371+t197+t365+t195)+0.019130906666667* t14*t17*t152*t32*t82+0.006376968888889*t14*t17*t35*t109*t162+ t3*t5*t12*t27*t154*t33+t188+t3*t5*t152*t27*t33+t187; d2fdrbga = t4*(t407+t406+t402+t401+t400+t399+t300+t397+ t298+t396+t296+t295)+t170+t166+t165; d2fdrbgb = t4*(t419+t418+t414+t413+t412+t411+t321+t409+ t319+t408+t317+t316)+t176+t172+t171; d2fdrbgab = t4*(t438+t437+t426+t425+t424+t423+t342+t421+ t340+t420+t338+t337)+t186+t178+t177; d2fdgaga = t4*(t449+t444+t442+t178+t439+t177); d2fdgagb = t4*(t455+t452+t451+t450); d2fdgagab = t4*(t462+t458+t457+t456); d2fdgbgb = t4*(t471+t466+t464+t178+t463+t177); d2fdgbgab = t4*(t478+t474+t473+t472); d2fdgabgab = t4*(t487+t482+t480+t479); d3fdrarara = t4*(1.5*t12*t220*t3*t33*t5*t90+1.5*t12*t215* t3*t33*t5*t90+1.5*t208*t3*t33*t5*t90+3.0*t101*t107*t3*t33* t5*t90-7.0*t103*t107*t12*t3*t33*t90-7.0*t101*t103*t3*t33*t90+ 0.019130906666667*t14*t17*t510*t82+0.009565453333333*t14*t17* t504*t32*t82+0.05739272*t14*t17*t208*t101*t12*t82+0.003188484444444* t109*t14*t17*t35*(2.656434474616293*t21*t36*(-0.173863229795775* t38*t39*t41*t564*t74*t78-0.173863229795775*t38*t39*t41*t512* t74*t78-0.521589689387325*t140*t276*t38*t39*t41*t74*t78+2.434085217140852* t113*t276*t38*t41*t74*t78-13.79314956379817*t140*t232*t38* t41*t74*t78+2.434085217140852*t113*t229*t38*t41*t74*t78+2.086358757549302* t101*t112*t276*t38*t39*t74*t78-10.43179378774651*t140*t213* t231*t38*t39*t74*t78+2.086358757549302*t101*t112*t229*t38* t39*t74*t78+2.086358757549302*t112*t140*t208*t38*t39*t74*t78- 19.47268173712682*t101*t112*t113*t140*t38*t74*t78-20.86358757549302* t38*t39*t510*t516*t76-0.695452919183101*t112*t38*t39*t504* t76+10.43179378774651*t101*t208*t231*t38*t39*t76-55.17259825519266* t101*t112*t232*t38*t76-48.68170434281704*t113*t213*t231*t38* t76+9.73634086856341*t112*t113*t208*t38*t76+t517+0.34772645959155* t145*t229*t230*t38*t39*t41*t514-1.043179378774651*t278*t38* t39*t41*t512*t513+0.34772645959155*t145*t230*t38*t39*t41*t512+ t511-6.0*t112*t21*t3*t36*t5*t510-0.5*t21*t3*t36*t42*t5*t504+ 4.5*t101*t208*t21*t3*t36*t41*t5-11.66666666666667*t101*t21* t211*t3*t36*t42+3.5*t103*t208*t21*t3*t36*t42+1.043179378774651* t140*t145*t230*t276*t38*t39*t41-4.868170434281705*t113*t145* t229*t230*t38*t41-10.5*t103*t21*t213*t3*t36*t41-4.172717515098603* t101*t112*t145*t229*t230*t38*t39)*t80-15.93860684769776*POW(t146, 3.0)*t21*t36*t509*t77-2.656434474616293*t36*t21*t77*t142*(- 0.664108618654073*t28*t16*t3*t5*t37*t512*t78*t74+4.648760330578512* t28*t16*t3*t103*t37*t229*t78*t74+3.98465171192444*t28*t16* t3*t5*t101*t42*t229*t78*t74-1.99232585596222*t28*t16*t3*t5* t37*t276*t140*t78*t74-15.49586776859504*t28*t16*t3*t211*t37* t140*t78*t74-18.59504132231405*t28*t16*t3*t103*t101*t42*t140* t78*t74+3.98465171192444*t28*t16*t3*t5*t208*t42*t140*t78*t74- 11.95395513577332*t28*t16*t3*t5*t213*t41*t140*t78*t74+4.648760330578512* t28*t16*t3*t103*t37*t276*t78*t74+3.98465171192444*t28*t16* t3*t5*t101*t42*t276*t78*t74-0.664108618654073*t28*t16*t3*t5* t37*t564*t78*t74-0.294026838247081*t36*t29*t38*t39*t41*t512* t145*t74+4.116375735459131*t36*t29*t38*t113*t41*t229*t145* t74+3.52832205896497*t36*t29*t38*t39*t101*t112*t229*t145*t74- 0.882080514741242*t36*t29*t38*t39*t41*t276*t140*t145*t74-23.32612916760175* t36*t29*t38*t232*t41*t140*t145*t74-32.93100588367305*t36*t29* t38*t113*t101*t112*t140*t145*t74+3.52832205896497*t36*t29* t38*t39*t208*t112*t140*t145*t74-17.64161029482485*t36*t29* t38*t39*t213*t231*t140*t145*t74+4.116375735459131*t36*t29* t38*t113*t41*t276*t145*t74+3.52832205896497*t36*t29*t38*t39* t101*t112*t276*t145*t74-0.294026838247081*t36*t29*t38*t39* t41*t564*t145*t74+t567-30.99173553719008*t28*t16*t3*t211*t101* t42*t76+9.297520661157025*t28*t16*t3*t103*t208*t42*t76-1.328217237308146* t28*t16*t3*t5*t504*t42*t76-27.89256198347108*t28*t16*t3*t103* t213*t41*t76+11.95395513577332*t28*t16*t3*t5*t208*t101*t41* t76-15.93860684769776*t28*t16*t3*t5*t510*t112*t76+t566-46.6522583352035* t36*t29*t38*t232*t101*t112*t78+8.232751470918263*t36*t29*t38* t113*t208*t112*t78-0.588053676494162*t36*t29*t38*t39*t504* t112*t78-41.16375735459132*t36*t29*t38*t113*t213*t231*t78+ 8.820805147412424*t36*t29*t38*t39*t208*t101*t231*t78-17.64161029482485* t36*t29*t38*t39*t510*t516*t78+1.328217237308146*t28*t16*t3* t5*t37*t229*t514*t230*t145+1.328217237308146*t28*t16*t3*t5* t37*t512*t230*t145-9.297520661157025*t28*t16*t3*t103*t37*t229* t230*t145-7.969303423848879*t28*t16*t3*t5*t101*t42*t229*t230* t145+3.98465171192444*t28*t16*t3*t5*t37*t276*t140*t230*t145+ 0.882080514741242*t36*t29*t38*t39*t41*t229*t514*t230*t278+ 0.882080514741242*t36*t29*t38*t39*t41*t512*t230*t278-12.34912720637739* t36*t29*t38*t113*t41*t229*t230*t278-10.58496617689491*t36* t29*t38*t39*t101*t112*t229*t230*t278+2.646241544223727*t36* t29*t38*t39*t41*t276*t140*t230*t278-3.98465171192444*t28*t16* t3*t5*t37*t512*t513*t278-3.52832205896497*t36*t29*t38*t39* t41*t512*t513*t565)+15.93860684769776*t36*t21*t77*t226*t146* t281-7.969303423848879*t36*t21*t142*t141*t281-7.969303423848879* t36*t21*t142*t146*t277+15.93860684769776*t36*t21*t226*t141* t227)+0.006376968888889*t14*POW(t147,3.0)*t17*t35*t508+0.5* t12*t27*t3*t33*t5*(t507-12.5*t12*t28*t3*t30*t31*t504-366.6666666666667* t101*t12*t28*t3*t30*t39-37.5*t101*t208*t28*t3*t30*t31+100.0* t105*t213*t28*t3*t30+100.0*t105*t12*t208*t28*t3*t30)+t506+ 0.5*t27*t3*t33*t5*t504+1.5*t101*t220*t27*t3*t33*t5+1.5*t107* t12*t215*t27*t3*t33*t5+1.5*t101*t215*t27*t3*t33*t5+1.5*t107* t208*t27*t3*t33*t5+0.5*POW(t107,3.0)*t12*t27*t3*t33*t5+1.5* t107*t12*t194*t3*t33*t5+1.5*t101*t194*t3*t33*t5+t493+t492+ t491-3.5*t103*t12*t220*t27*t3*t33-3.5*t103*t12*t215*t27*t3* t33+11.66666666666667*t107*t12*t211*t27*t3*t33+11.66666666666667* t101*t211*t27*t3*t33-3.5*t103*t208*t27*t3*t33-7.0*t101*t103* t107*t27*t3*t33-0.009565453333333*t14*t17*t35*t223*t147*t282+ 0.02869636*t14*t17*t101*t32*t109*t282-0.02869636*t14*t17*t101* t32*t223*t224+0.02869636*t14*t17*t208*t32*t109*t147+0.05739272* t14*t17*t213*t12*t109*t147)+3.0*t107*t12*t3*t33*t5*t90+3.0* t101*t3*t33*t5*t90+0.02869636*t14*t17*t208*t32*t82+0.05739272* t14*t17*t213*t12*t82+1.5*t12*t220*t27*t3*t33*t5+1.5*t12*t215* t27*t3*t33*t5+1.5*t208*t27*t3*t33*t5+3.0*t101*t107*t27*t3* t33*t5+t490+t489+t488-7.0*t103*t107*t12*t27*t3*t33-7.0*t101* t103*t27*t3*t33+0.009565453333333*t14*t17*t35*t109*t282-0.009565453333333* t14*t17*t35*t223*t224+0.05739272*t14*t17*t101*t32*t109*t147; d3fdrararb = t4* (0.5*t12*t220*t3*t33*t5*t90+0.5*t12*t215*t3*t33*t5*t90+0.5* t208*t3*t33*t5*t90-2.333333333333333*t103*t12*t154*t3*t33* t90-2.333333333333333*t103*t152*t3*t33*t90-4.666666666666667* t103*t107*t12*t3*t33*t90-4.666666666666667*t101*t103*t3*t33* t90+0.009565453333333*t14*t17*t583*t32*t82+0.019130906666667* t14*t17*t152*t213*t82+0.019130906666667*t14*t17*t208*t152* t12*t82+0.038261813333333*t14*t17*t286*t101*t12*t82+0.003188484444444* t109*t14*t17*t35*(2.656434474616293*t21*t36*(-0.173863229795775* t38*t39*t41*t617*t74*t78-0.34772645959155*t140*t291*t38*t39* t41*t74*t78-0.173863229795775*t159*t276*t38*t39*t41*t74*t78- 0.173863229795775*t159*t229*t38*t39*t41*t74*t78+0.811361739046951* t113*t276*t38*t41*t74*t78-4.597716521266054*t159*t232*t38* t41*t74*t78-9.195433042532109*t140*t232*t38*t41*t74*t78+0.811361739046951* t113*t229*t38*t41*t74*t78+1.390905838366201*t101*t112*t291* t38*t39*t74*t78+1.390905838366201*t112*t140*t286*t38*t39*t74* t78+0.695452919183101*t112*t152*t276*t38*t39*t74*t78-3.477264595915503* t159*t213*t231*t38*t39*t74*t78-6.954529191831006*t101*t140* t152*t231*t38*t39*t74*t78+0.695452919183101*t112*t152*t229* t38*t39*t74*t78+0.695452919183101*t112*t159*t208*t38*t39*t74* t78+1.390905838366201*t101*t112*t140*t159*t38*t39*t74*t78- 6.490893912375606*t101*t112*t113*t140*t38*t74*t78-0.695452919183101* t112*t38*t39*t583*t76-20.86358757549302*t152*t213*t38*t39* t516*t76+6.954529191831006*t101*t231*t286*t38*t39*t76+3.477264595915503* t152*t208*t231*t38*t39*t76-18.39086608506422*t112*t152*t232* t38*t76-36.78173217012844*t101*t112*t232*t38*t76-16.22723478093901* t113*t213*t231*t38*t76+3.245446956187803*t112*t113*t208*t38* t76+t620+t619+t618+t600+t599+t598+0.34772645959155*t145*t229* t230*t38*t39*t41*t597+t596+t595+t594-0.5*t21*t3*t36*t42*t5* t583+t517-1.043179378774651*t159*t229*t278*t38*t39*t41*t513+ t511+3.0*t101*t21*t286*t3*t36*t41*t5+1.5*t152*t208*t21*t3* t36*t41*t5-6.0*t112*t152*t21*t213*t3*t36*t5-3.888888888888889* t152*t21*t211*t3*t36*t42-7.777777777777778*t101*t21*t211*t3* t36*t42+1.166666666666667*t103*t208*t21*t3*t36*t42+0.695452919183101* t140*t145*t230*t291*t38*t39*t41+0.34772645959155*t145*t159* t230*t276*t38*t39*t41+0.34772645959155*t145*t159*t229*t230* t38*t39*t41-1.622723478093901*t113*t145*t229*t230*t38*t41- 3.5*t103*t21*t213*t3*t36*t41-1.390905838366201*t112*t145*t152* t229*t230*t38*t39-2.781811676732402*t101*t112*t140*t145*t159* t230*t38*t39)*t80-2.656434474616293*t36*t21*t77*t142*(-0.664108618654073* t28*t16*t3*t5*t37*t159*t229*t78*t74+1.549586776859504*t28* t16*t3*t103*t37*t229*t78*t74+1.328217237308146*t28*t16*t3* t5*t152*t42*t229*t78*t74+t633+2.656434474616293*t28*t16*t3* t5*t101*t42*t159*t140*t78*t74-1.328217237308146*t28*t16*t3* t5*t37*t291*t140*t78*t74-10.3305785123967*t28*t16*t3*t211* t37*t140*t78*t74-6.198347107438017*t28*t16*t3*t103*t101*t42* t140*t78*t74+t632+2.656434474616293*t28*t16*t3*t5*t286*t42* t140*t78*t74-7.969303423848879*t28*t16*t3*t5*t152*t101*t41* t140*t78*t74-0.664108618654073*t28*t16*t3*t5*t37*t276*t159* t78*t74-5.165289256198347*t28*t16*t3*t211*t37*t159*t78*t74+ t631+1.328217237308146*t28*t16*t3*t5*t208*t42*t159*t78*t74- 3.98465171192444*t28*t16*t3*t5*t213*t41*t159*t78*t74+1.549586776859504* t28*t16*t3*t103*t37*t276*t78*t74+1.328217237308146*t28*t16* t3*t5*t152*t42*t276*t78*t74-0.664108618654073*t28*t16*t3*t5* t37*t617*t78*t74+t630+2.656434474616293*t28*t16*t3*t5*t101* t42*t291*t78*t74-0.294026838247081*t36*t29*t38*t39*t41*t159* t229*t145*t74+1.372125245153044*t36*t29*t38*t113*t41*t229* t145*t74+1.176107352988323*t36*t29*t38*t39*t152*t112*t229* t145*t74+t629+2.352214705976647*t36*t29*t38*t39*t101*t112* t159*t140*t145*t74-0.588053676494162*t36*t29*t38*t39*t41*t291* t140*t145*t74-15.55075277840116*t36*t29*t38*t232*t41*t140* t145*t74-10.97700196122435*t36*t29*t38*t113*t101*t112*t140* t145*t74+t628+2.352214705976647*t36*t29*t38*t39*t286*t112* t140*t145*t74-11.76107352988323*t36*t29*t38*t39*t152*t101* t231*t140*t145*t74-0.294026838247081*t36*t29*t38*t39*t41*t276* t159*t145*t74-7.775376389200582*t36*t29*t38*t232*t41*t159* t145*t74+t627+1.176107352988323*t36*t29*t38*t39*t208*t112* t159*t145*t74-5.880536764941616*t36*t29*t38*t39*t213*t231* t159*t145*t74+1.372125245153044*t36*t29*t38*t113*t41*t276* t145*t74+1.176107352988323*t36*t29*t38*t39*t152*t112*t276* t145*t74-0.294026838247081*t36*t29*t38*t39*t41*t617*t145*t74+ t626+2.352214705976647*t36*t29*t38*t39*t101*t112*t291*t145* t74+t567-20.66115702479339*t28*t16*t3*t211*t101*t42*t76-10.3305785123967* t28*t16*t3*t211*t152*t42*t76+3.099173553719008*t28*t16*t3* t103*t208*t42*t76-1.328217237308146*t28*t16*t3*t5*t583*t42* t76+t625-9.297520661157026*t28*t16*t3*t103*t213*t41*t76-18.59504132231405* t28*t16*t3*t103*t152*t101*t41*t76+7.969303423848879*t28*t16* t3*t5*t286*t101*t41*t76+3.98465171192444*t28*t16*t3*t5*t208* t152*t41*t76-15.93860684769776*t28*t16*t3*t5*t152*t213*t112* t76+t566-31.10150555680233*t36*t29*t38*t232*t101*t112*t78- 15.55075277840116*t36*t29*t38*t232*t152*t112*t78+2.744250490306088* t36*t29*t38*t113*t208*t112*t78-0.588053676494162*t36*t29*t38* t39*t583*t112*t78+t624-13.72125245153044*t36*t29*t38*t113* t213*t231*t78+t623+5.880536764941616*t36*t29*t38*t39*t286* t101*t231*t78+2.940268382470808*t36*t29*t38*t39*t208*t152* t231*t78-17.64161029482485*t36*t29*t38*t39*t152*t213*t516* t78+1.328217237308146*t28*t16*t3*t5*t37*t597*t229*t230*t145+ 1.328217237308146*t28*t16*t3*t5*t37*t159*t229*t230*t145-3.099173553719008* t28*t16*t3*t103*t37*t229*t230*t145-2.656434474616293*t28*t16* t3*t5*t152*t42*t229*t230*t145+t622-5.312868949232586*t28*t16* t3*t5*t101*t42*t159*t140*t230*t145+2.656434474616293*t28*t16* t3*t5*t37*t291*t140*t230*t145+1.328217237308146*t28*t16*t3* t5*t37*t276*t159*t230*t145+0.882080514741242*t36*t29*t38*t39* t41*t597*t229*t230*t278+0.882080514741242*t36*t29*t38*t39* t41*t159*t229*t230*t278-4.116375735459131*t36*t29*t38*t113* t41*t229*t230*t278-3.52832205896497*t36*t29*t38*t39*t152*t112* t229*t230*t278+t621-7.05664411792994*t36*t29*t38*t39*t101* t112*t159*t140*t230*t278+1.764161029482485*t36*t29*t38*t39* t41*t291*t140*t230*t278+0.882080514741242*t36*t29*t38*t39* t41*t276*t159*t230*t278-3.98465171192444*t28*t16*t3*t5*t37* t159*t229*t513*t278-3.52832205896497*t36*t29*t38*t39*t41*t159* t229*t513*t565)+10.62573789846517*t36*t21*t77*t226*t146*t293- 5.312868949232586*t36*t21*t142*t141*t293-5.312868949232586* t36*t21*t142*t146*t292+5.312868949232586*t36*t21*t77*t226* t161*t281-2.656434474616293*t36*t21*t142*t160*t281-2.656434474616293* t36*t21*t142*t161*t277-15.93860684769776*t36*t21*t77*t509* t161*t227+5.312868949232586*t36*t21*t226*t160*t227+10.62573789846517* t36*t21*t226*t161*t141*t146)+t593+t592+t591+t590+t589+t588+ t587+t586+0.5*t12*t27*t3*t33*t5*(t585+t584-12.5*t12*t28*t3* t30*t31*t583+t507-122.2222222222222*t12*t152*t28*t3*t30*t39- 244.4444444444445*t101*t12*t28*t3*t30*t39-25.0*t101*t28*t286* t3*t30*t31-12.5*t152*t208*t28*t3*t30*t31+33.33333333333334* t105*t213*t28*t3*t30+33.33333333333334*t105*t12*t208*t28*t3* t30)+0.5*t27*t3*t33*t5*t583+t580+t579+t506+0.5*t12*t154*t220* t27*t3*t33*t5+0.5*t152*t220*t27*t3*t33*t5+0.5*t12*t154*t215* t27*t3*t33*t5+0.5*t152*t215*t27*t3*t33*t5+0.5*t154*t208*t27* t3*t33*t5+0.5*t12*t154*t194*t3*t33*t5+0.5*t152*t194*t3*t33* t5+t493+t492+t491-1.166666666666667*t103*t12*t220*t27*t3*t33- 1.166666666666667*t103*t12*t215*t27*t3*t33+3.888888888888889* t12*t154*t211*t27*t3*t33+3.888888888888889*t152*t211*t27*t3* t33+7.777777777777778*t107*t12*t211*t27*t3*t33+7.777777777777778* t101*t211*t27*t3*t33-1.166666666666667*t103*t208*t27*t3*t33- 2.333333333333333*t101*t103*t107*t27*t3*t33+t3*t5*t101*t27* t287*t33+t3*t5*t101*t194*t33+t3*t5*t101*t90*t107*t33+t3*t5* t12*t27*t287*t107*t33+t3*t5*t286*t27*t107*t33+t3*t5*t12*t194* t107*t33+t3*t5*t101*t27*t154*t107*t33-0.006376968888889*t14* t17*t35*t223*t147*t294+0.019130906666667*t14*t17*t101*t32* t109*t294-0.003188484444444*t14*t17*t35*t223*t162*t282+0.009565453333333* t14*t17*t152*t32*t109*t282-0.009565453333333*t14*t17*t152* t32*t223*t224+0.006376968888889*t14*t17*t35*t508*t162*t224+ 0.009565453333333*t14*t17*t208*t32*t109*t162+0.019130906666667* t14*t17*t213*t12*t109*t162-0.019130906666667*t14*t17*t101* t32*t223*t162*t147+0.019130906666667*t14*t17*t286*t32*t109* t147+0.038261813333333*t14*t17*t152*t101*t12*t109*t147)+2.0* t107*t12*t3*t33*t5*t90+2.0*t101*t3*t33*t5*t90+t578+t577+t576+ t575+t574+t573+t572+t571+t570+t569+t568+t490+t489+t488+t378+ t376+t372+t365-4.666666666666667*t103*t107*t12*t27*t3*t33- 4.666666666666667*t101*t103*t27*t3*t33+t285+t284+t283+t225+ t222+t221+t218+t216+t209; d3fdraraga = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*t80*(-0.695452919183101*t276*t3*t39*t41*t74*t78*grada- 0.695452919183101*t229*t3*t39*t41*t74*t78*grada+6.490893912375606* t113*t140*t3*t41*t74*t78*grada+5.563623353464805*t101*t112* t140*t3*t39*t74*t78*grada+13.90905838366201*t213*t231*t3*t39* t76*grada-2.781811676732402*t112*t208*t3*t39*t76*grada+25.96357564950242* t101*t112*t113*t3*t76*grada-1.0*t208*t21*t36*t42*t5*grada+ 3.0*t21*t213*t36*t41*t5*grada+4.666666666666667*t101*t103* t21*t36*t42*grada+1.390905838366201*t145*t229*t230*t3*t39* t41*grada+t646+t645)-2.656434474616293*t36*t21*t77*t142*(- 1.328217237308146*t28*t16*grada*t5*t37*t229*t78*t74+6.198347107438017* t28*t16*grada*t103*t37*t140*t78*t74+5.312868949232586*t28* t16*grada*t5*t101*t42*t140*t78*t74-1.328217237308146*t28*t16* grada*t5*t37*t276*t78*t74-1.176107352988323*t36*t29*grada* t3*t39*t41*t229*t145*t74+10.97700196122435*t36*t29*grada*t3* t113*t41*t140*t145*t74+9.408858823906586*t36*t29*grada*t3* t39*t101*t112*t140*t145*t74-1.176107352988323*t36*t29*grada* t3*t39*t41*t276*t145*t74+t648+12.39669421487603*t28*t16*grada* t103*t101*t42*t76-2.656434474616293*t28*t16*grada*t5*t208* t42*t76+7.969303423848879*t28*t16*grada*t5*t213*t41*t76+t647+ 21.9540039224487*t36*t29*grada*t3*t113*t101*t112*t78-2.352214705976647* t36*t29*grada*t3*t39*t208*t112*t78+11.76107352988323*t36*t29* grada*t3*t39*t213*t231*t78+2.656434474616293*t28*t16*grada* t5*t37*t229*t230*t145+3.52832205896497*t36*t29*grada*t3*t39* t41*t229*t230*t278)-5.312868949232586*t36*t21*t142*t141*t312+ 5.312868949232586*t36*t21*t77*t167*t226*t281-2.656434474616293* t36*t21*t168*t142*t281-2.656434474616293*t36*t21*t167*t142* t277-15.93860684769776*t36*t21*t77*t167*t509*t227+5.312868949232586* t36*t21*t168*t226*t227+10.62573789846517*t36*t21*t77*t226* t312*t146-5.312868949232586*t36*t21*t142*t309*t146+10.62573789846517* t36*t21*t167*t226*t141*t146)+0.5*t12*t27*t3*t33*t5*(-25.0* t213*t28*t30*t31*grada-25.0*t12*t208*t28*t30*t31*grada+133.3333333333333* t101*t105*t12*t28*t30*grada+t644)+2.0*t107*t12*t33*t5*t90* grada+2.0*t101*t33*t5*t90*grada-12.5*t107*t129*t28*t3*t30* t33*t35*t90*grada-12.5*t101*t129*t28*t3*t30*t32*t33*t90*grada+ 2.0*t101*t107*t27*t33*t5*grada+29.16666666666667*t107*t260* t27*t28*t3*t30*t33*t35*grada-6.25*t129*t220*t27*t28*t3*t30* t33*t35*grada-6.25*t129*t215*t27*t28*t3*t30*t33*t35*grada+ 29.16666666666667*t101*t260*t27*t28*t3*t30*t32*t33*grada-6.25* t129*t208*t27*t28*t3*t30*t32*t33*grada-12.5*t101*t107*t129* t27*t28*t3*t30*t32*t33*grada-4.666666666666667*t103*t107*t12* t27*t33*grada-4.666666666666667*t101*t103*t27*t33*grada+t643+ t642+t641+t640+t639+t638+t3*t5*t12*t90*t302*t33-2.333333333333333* t103*t12*t27*t3*t302*t33+t3*t5*t101*t27*t302*t33+grada*t5* t208*t27*t33+grada*t5*t12*t27*t220*t33+grada*t5*t12*t27*t215* t33+t3*t5*t12*t27*t302*t107*t33+0.019130906666667*t14*t17* t101*t32*t109*t313-0.003188484444444*t14*t17*t35*t169*t223* t282+0.006376968888889*t14*t17*t35*t169*t508*t224-0.006376968888889* t14*t17*t35*t223*t313*t147-0.019130906666667*t14*t17*t101* t32*t169*t223*t147+0.009565453333333*t14*t17*t208*t32*t169* t109+0.019130906666667*t14*t17*t213*t12*t169*t109)+2.0*t107* t12*t27*t33*t5*grada+2.0*t101*t27*t33*t5*grada-12.5*t107*t129* t27*t28*t3*t30*t33*t35*grada-12.5*t101*t129*t27*t28*t3*t30* t32*t33*grada+t637+t636+t635+t634+t3*t5*t12*t27*t302*t33+0.006376968888889* t14*t17*t35*t109*t313-0.006376968888889*t14*t17*t35*t169*t223* t147+0.019130906666667*t14*t17*t101*t32*t169*t109; d3fdraragb = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*t80*(-0.695452919183101*t276*t3*t39*t41*t74*t78*gradb- 0.695452919183101*t229*t3*t39*t41*t74*t78*gradb+6.490893912375606* t113*t140*t3*t41*t74*t78*gradb+5.563623353464805*t101*t112* t140*t3*t39*t74*t78*gradb+13.90905838366201*t213*t231*t3*t39* t76*gradb-2.781811676732402*t112*t208*t3*t39*t76*gradb+25.96357564950242* t101*t112*t113*t3*t76*gradb-1.0*t208*t21*t36*t42*t5*gradb+ 3.0*t21*t213*t36*t41*t5*gradb+4.666666666666667*t101*t103* t21*t36*t42*gradb+1.390905838366201*t145*t229*t230*t3*t39* t41*gradb+t661+t660)-2.656434474616293*t36*t21*t77*t142*(- 1.328217237308146*t28*t16*gradb*t5*t37*t229*t78*t74+6.198347107438017* t28*t16*gradb*t103*t37*t140*t78*t74+5.312868949232586*t28* t16*gradb*t5*t101*t42*t140*t78*t74-1.328217237308146*t28*t16* gradb*t5*t37*t276*t78*t74-1.176107352988323*t36*t29*gradb* t3*t39*t41*t229*t145*t74+10.97700196122435*t36*t29*gradb*t3* t113*t41*t140*t145*t74+9.408858823906586*t36*t29*gradb*t3* t39*t101*t112*t140*t145*t74-1.176107352988323*t36*t29*gradb* t3*t39*t41*t276*t145*t74+t663+12.39669421487603*t28*t16*gradb* t103*t101*t42*t76-2.656434474616293*t28*t16*gradb*t5*t208* t42*t76+7.969303423848879*t28*t16*gradb*t5*t213*t41*t76+t662+ 21.9540039224487*t36*t29*gradb*t3*t113*t101*t112*t78-2.352214705976647* t36*t29*gradb*t3*t39*t208*t112*t78+11.76107352988323*t36*t29* gradb*t3*t39*t213*t231*t78+2.656434474616293*t28*t16*gradb* t5*t37*t229*t230*t145+3.52832205896497*t36*t29*gradb*t3*t39* t41*t229*t230*t278)-5.312868949232586*t36*t21*t142*t141*t333+ 5.312868949232586*t36*t21*t77*t173*t226*t281-2.656434474616293* t36*t21*t174*t142*t281-2.656434474616293*t36*t21*t173*t142* t277-15.93860684769776*t36*t21*t77*t173*t509*t227+5.312868949232586* t36*t21*t174*t226*t227+10.62573789846517*t36*t21*t77*t226* t333*t146-5.312868949232586*t36*t21*t142*t330*t146+10.62573789846517* t36*t21*t173*t226*t141*t146)+0.5*t12*t27*t3*t33*t5*(-25.0* t213*t28*t30*t31*gradb-25.0*t12*t208*t28*t30*t31*gradb+133.3333333333333* t101*t105*t12*t28*t30*gradb+t659)+2.0*t107*t12*t33*t5*t90* gradb+2.0*t101*t33*t5*t90*gradb-12.5*t107*t129*t28*t3*t30* t33*t35*t90*gradb-12.5*t101*t129*t28*t3*t30*t32*t33*t90*gradb+ 2.0*t101*t107*t27*t33*t5*gradb+29.16666666666667*t107*t260* t27*t28*t3*t30*t33*t35*gradb-6.25*t129*t220*t27*t28*t3*t30* t33*t35*gradb-6.25*t129*t215*t27*t28*t3*t30*t33*t35*gradb+ 29.16666666666667*t101*t260*t27*t28*t3*t30*t32*t33*gradb-6.25* t129*t208*t27*t28*t3*t30*t32*t33*gradb-12.5*t101*t107*t129* t27*t28*t3*t30*t32*t33*gradb-4.666666666666667*t103*t107*t12* t27*t33*gradb-4.666666666666667*t101*t103*t27*t33*gradb+t658+ t657+t656+t655+t654+t653+0.019130906666667*t14*t17*t101*t32* t109*t334+t3*t5*t12*t90*t323*t33-2.333333333333333*t103*t12* t27*t3*t323*t33+t3*t5*t101*t27*t323*t33+gradb*t5*t208*t27* t33+gradb*t5*t12*t27*t220*t33+gradb*t5*t12*t27*t215*t33+t3* t5*t12*t27*t323*t107*t33-0.003188484444444*t14*t17*t35*t175* t223*t282+0.006376968888889*t14*t17*t35*t175*t508*t224-0.006376968888889* t14*t17*t35*t223*t334*t147-0.019130906666667*t14*t17*t101* t32*t175*t223*t147+0.009565453333333*t14*t17*t208*t32*t175* t109+0.019130906666667*t14*t17*t213*t12*t175*t109)+2.0*t107* t12*t27*t33*t5*gradb+2.0*t101*t27*t33*t5*gradb-12.5*t107*t129* t27*t28*t3*t30*t33*t35*gradb-12.5*t101*t129*t27*t28*t3*t30* t32*t33*gradb+t652+t651+t650+t649+0.006376968888889*t14*t17* t35*t109*t334+t3*t5*t12*t27*t323*t33-0.006376968888889*t14* t17*t35*t175*t223*t147+0.019130906666667*t14*t17*t101*t32* t175*t109; d3fdraraab = t4*(2.0*t107*t12*t33*t5*t90+2.0*t101*t33* t5*t90-12.5*t107*t129*t28*t3*t30*t33*t35*t90-12.5*t101*t129* t28*t3*t30*t32*t33*t90+0.003188484444444*t109*t14*t17*t35* (2.656434474616293*t21*t36*(-0.695452919183101*t276*t3*t39* t41*t74*t78-0.695452919183101*t229*t3*t39*t41*t74*t78+6.490893912375606* t113*t140*t3*t41*t74*t78+5.563623353464805*t101*t112*t140* t3*t39*t74*t78+13.90905838366201*t213*t231*t3*t39*t76-2.781811676732402* t112*t208*t3*t39*t76+25.96357564950242*t101*t112*t113*t3*t76+ t676+t675-1.0*t208*t21*t36*t42*t5+3.0*t21*t213*t36*t41*t5+ 4.666666666666667*t101*t103*t21*t36*t42+1.390905838366201* t145*t229*t230*t3*t39*t41)*t80-2.656434474616293*t36*t21*t77* t142*(-1.328217237308146*t28*t16*t5*t37*t229*t78*t74+6.198347107438017* t28*t16*t103*t37*t140*t78*t74+5.312868949232586*t28*t16*t5* t101*t42*t140*t78*t74-1.328217237308146*t28*t16*t5*t37*t276* t78*t74-1.176107352988323*t36*t29*t3*t39*t41*t229*t145*t74+ 10.97700196122435*t36*t29*t3*t113*t41*t140*t145*t74+9.408858823906586* t36*t29*t3*t39*t101*t112*t140*t145*t74-1.176107352988323*t36* t29*t3*t39*t41*t276*t145*t74+t678+12.39669421487603*t28*t16* t103*t101*t42*t76-2.656434474616293*t28*t16*t5*t208*t42*t76+ 7.969303423848879*t28*t16*t5*t213*t41*t76+t677+21.9540039224487* t36*t29*t3*t113*t101*t112*t78-2.352214705976647*t36*t29*t3* t39*t208*t112*t78+11.76107352988323*t36*t29*t3*t39*t213*t231* t78+2.656434474616293*t28*t16*t5*t37*t229*t230*t145+3.52832205896497* t36*t29*t3*t39*t41*t229*t230*t278)-5.312868949232586*t36*t21* t142*t141*t361+5.312868949232586*t36*t21*t77*t181*t226*t281- 2.656434474616293*t36*t21*t184*t142*t281-2.656434474616293* t36*t21*t181*t142*t277-15.93860684769776*t36*t21*t77*t181* t509*t227+5.312868949232586*t36*t21*t184*t226*t227+10.62573789846517* t36*t21*t77*t226*t361*t146-5.312868949232586*t36*t21*t142* t354*t146+10.62573789846517*t36*t21*t181*t226*t141*t146)+0.5* t12*t27*t3*t33*t5*(t674-25.0*t213*t28*t30*t31-25.0*t12*t208* t28*t30*t31+133.3333333333333*t101*t105*t12*t28*t30)+t673+ t672+t671+t670+t669+t668+2.0*t101*t107*t27*t33*t5+0.019130906666667* t14*t17*t101*t32*t109*t362+29.16666666666667*t107*t260*t27* t28*t3*t30*t33*t35-6.25*t129*t220*t27*t28*t3*t30*t33*t35-6.25* t129*t215*t27*t28*t3*t30*t33*t35-2.333333333333333*t103*t12* t27*t3*t33*t344+t3*t5*t12*t90*t344*t33+t3*t5*t101*t27*t344* t33+29.16666666666667*t101*t260*t27*t28*t3*t30*t32*t33-6.25* t129*t208*t27*t28*t3*t30*t32*t33-12.5*t101*t107*t129*t27*t28* t3*t30*t32*t33+t5*t208*t27*t33-4.666666666666667*t103*t107* t12*t27*t33-4.666666666666667*t101*t103*t27*t33+t5*t12*t27* t220*t33+t5*t12*t27*t215*t33+t3*t5*t12*t27*t344*t107*t33-0.003188484444444* t14*t17*t35*t185*t223*t282+0.006376968888889*t14*t17*t35*t185* t508*t224-0.006376968888889*t14*t17*t35*t223*t362*t147-0.019130906666667* t14*t17*t101*t32*t185*t223*t147+0.009565453333333*t14*t17* t208*t32*t185*t109+0.019130906666667*t14*t17*t213*t12*t185* t109)+t667+t666+t665+t664+2.0*t107*t12*t27*t33*t5+2.0*t101* t27*t33*t5+0.006376968888889*t14*t17*t35*t109*t362-12.5*t107* t129*t27*t28*t3*t30*t33*t35+t3*t5*t12*t27*t344*t33-12.5*t101* t129*t27*t28*t3*t30*t32*t33-0.006376968888889*t14*t17*t35* t185*t223*t147+0.019130906666667*t14*t17*t101*t32*t185*t109; d3fdrarbrb = t4* (0.5*t12*t3*t33*t379*t5*t90+0.5*t12*t3*t33*t374*t5*t90+0.5* t3*t33*t370*t5*t90-4.666666666666667*t103*t12*t154*t3*t33* t90-4.666666666666667*t103*t152*t3*t33*t90-2.333333333333333* t103*t107*t12*t3*t33*t90-2.333333333333333*t101*t103*t3*t33* t90+0.009565453333333*t14*t17*t679*t32*t82+0.038261813333333* t14*t17*t286*t152*t12*t82+0.019130906666667*t14*t17*t370*t101* t12*t82+0.019130906666667*t14*t17*t373*t101*t82+0.003188484444444* t109*t14*t17*t35*(2.656434474616293*t21*t36*(-0.173863229795775* t38*t39*t41*t681*t74*t78-0.173863229795775*t140*t38*t389*t39* t41*t74*t78-0.173863229795775*t140*t38*t385*t39*t41*t74*t78- 0.34772645959155*t159*t291*t38*t39*t41*t74*t78+0.811361739046951* t113*t38*t389*t41*t74*t78+0.811361739046951*t113*t38*t385* t41*t74*t78-9.195433042532109*t159*t232*t38*t41*t74*t78-4.597716521266054* t140*t232*t38*t41*t74*t78+0.695452919183101*t101*t112*t38* t389*t39*t74*t78+0.695452919183101*t101*t112*t38*t385*t39* t74*t78-3.477264595915503*t140*t231*t373*t38*t39*t74*t78+0.695452919183101* t112*t140*t370*t38*t39*t74*t78+1.390905838366201*t112*t152* t291*t38*t39*t74*t78+1.390905838366201*t112*t159*t286*t38* t39*t74*t78-6.954529191831006*t101*t152*t159*t231*t38*t39* t74*t78+1.390905838366201*t112*t140*t152*t159*t38*t39*t74* t78-6.490893912375606*t112*t113*t152*t159*t38*t74*t78-0.695452919183101* t112*t38*t39*t679*t76-20.86358757549302*t101*t373*t38*t39* t516*t76+3.477264595915503*t101*t231*t370*t38*t39*t76+6.954529191831006* t152*t231*t286*t38*t39*t76-16.22723478093901*t113*t231*t373* t38*t76+3.245446956187803*t112*t113*t370*t38*t76-36.78173217012844* t112*t152*t232*t38*t76-18.39086608506422*t101*t112*t232*t38* t76-0.5*t21*t3*t36*t42*t5*t679+t620+t619+t618+t600+t599+t598+ 0.34772645959155*t140*t145*t159*t230*t38*t39*t41*t597+t596+ t595+t594+t517-1.043179378774651*t140*t278*t38*t385*t39*t41* t513+t511+1.5*t101*t21*t3*t36*t370*t41*t5+3.0*t152*t21*t286* t3*t36*t41*t5-6.0*t101*t112*t21*t3*t36*t373*t5+1.166666666666667* t103*t21*t3*t36*t370*t42-7.777777777777778*t152*t21*t211*t3* t36*t42-3.888888888888889*t101*t21*t211*t3*t36*t42+0.34772645959155* t140*t145*t230*t38*t389*t39*t41+0.34772645959155*t140*t145* t230*t38*t385*t39*t41+0.695452919183101*t145*t159*t230*t291* t38*t39*t41-1.622723478093901*t113*t145*t230*t38*t385*t41- 3.5*t103*t21*t3*t36*t373*t41-1.390905838366201*t101*t112*t145* t230*t38*t385*t39-2.781811676732402*t112*t140*t145*t152*t159* t230*t38*t39)*t80-2.656434474616293*t36*t21*t77*t142*(-0.664108618654073* t28*t16*t3*t5*t37*t385*t140*t78*t74+t633+2.656434474616293* t28*t16*t3*t5*t152*t42*t159*t140*t78*t74-0.664108618654073* t28*t16*t3*t5*t37*t389*t140*t78*t74-5.165289256198347*t28* t16*t3*t211*t37*t140*t78*t74+t632+1.328217237308146*t28*t16* t3*t5*t370*t42*t140*t78*t74-3.98465171192444*t28*t16*t3*t5* t373*t41*t140*t78*t74+1.549586776859504*t28*t16*t3*t103*t37* t385*t78*t74+1.328217237308146*t28*t16*t3*t5*t101*t42*t385* t78*t74-1.328217237308146*t28*t16*t3*t5*t37*t291*t159*t78* t74-10.3305785123967*t28*t16*t3*t211*t37*t159*t78*t74+t631- 6.198347107438017*t28*t16*t3*t103*t152*t42*t159*t78*t74+2.656434474616293* t28*t16*t3*t5*t286*t42*t159*t78*t74-7.969303423848879*t28* t16*t3*t5*t152*t101*t41*t159*t78*t74+1.549586776859504*t28* t16*t3*t103*t37*t389*t78*t74+1.328217237308146*t28*t16*t3* t5*t101*t42*t389*t78*t74+t630+2.656434474616293*t28*t16*t3* t5*t152*t42*t291*t78*t74-0.664108618654073*t28*t16*t3*t5*t37* t681*t78*t74-0.294026838247081*t36*t29*t38*t39*t41*t385*t140* t145*t74+t629+2.352214705976647*t36*t29*t38*t39*t152*t112* t159*t140*t145*t74-0.294026838247081*t36*t29*t38*t39*t41*t389* t140*t145*t74-7.775376389200582*t36*t29*t38*t232*t41*t140* t145*t74+t628+1.176107352988323*t36*t29*t38*t39*t370*t112* t140*t145*t74-5.880536764941616*t36*t29*t38*t39*t373*t231* t140*t145*t74+1.372125245153044*t36*t29*t38*t113*t41*t385* t145*t74+1.176107352988323*t36*t29*t38*t39*t101*t112*t385* t145*t74-0.588053676494162*t36*t29*t38*t39*t41*t291*t159*t145* t74-15.55075277840116*t36*t29*t38*t232*t41*t159*t145*t74+t627- 10.97700196122435*t36*t29*t38*t113*t152*t112*t159*t145*t74+ 2.352214705976647*t36*t29*t38*t39*t286*t112*t159*t145*t74- 11.76107352988323*t36*t29*t38*t39*t152*t101*t231*t159*t145* t74+1.372125245153044*t36*t29*t38*t113*t41*t389*t145*t74+1.176107352988323* t36*t29*t38*t39*t101*t112*t389*t145*t74+t626+2.352214705976647* t36*t29*t38*t39*t152*t112*t291*t145*t74-0.294026838247081* t36*t29*t38*t39*t41*t681*t145*t74+t567-10.3305785123967*t28* t16*t3*t211*t101*t42*t76-20.66115702479339*t28*t16*t3*t211* t152*t42*t76+3.099173553719008*t28*t16*t3*t103*t370*t42*t76+ t625-1.328217237308146*t28*t16*t3*t5*t679*t42*t76-18.59504132231405* t28*t16*t3*t103*t152*t101*t41*t76+3.98465171192444*t28*t16* t3*t5*t370*t101*t41*t76-9.297520661157025*t28*t16*t3*t103* t373*t41*t76+7.969303423848879*t28*t16*t3*t5*t286*t152*t41* t76-15.93860684769776*t28*t16*t3*t5*t373*t101*t112*t76+t566- 15.55075277840116*t36*t29*t38*t232*t101*t112*t78-31.10150555680233* t36*t29*t38*t232*t152*t112*t78+2.744250490306088*t36*t29*t38* t113*t370*t112*t78+t624-0.588053676494162*t36*t29*t38*t39* t679*t112*t78+t623+2.940268382470808*t36*t29*t38*t39*t370* t101*t231*t78-13.72125245153044*t36*t29*t38*t113*t373*t231* t78+5.880536764941616*t36*t29*t38*t39*t286*t152*t231*t78-17.64161029482485* t36*t29*t38*t39*t373*t101*t516*t78+1.328217237308146*t28*t16* t3*t5*t37*t159*t597*t140*t230*t145+1.328217237308146*t28*t16* t3*t5*t37*t385*t140*t230*t145+t622-5.312868949232586*t28*t16* t3*t5*t152*t42*t159*t140*t230*t145+1.328217237308146*t28*t16* t3*t5*t37*t389*t140*t230*t145-3.099173553719008*t28*t16*t3* t103*t37*t385*t230*t145-2.656434474616293*t28*t16*t3*t5*t101* t42*t385*t230*t145+2.656434474616293*t28*t16*t3*t5*t37*t291* t159*t230*t145+0.882080514741242*t36*t29*t38*t39*t41*t159* t597*t140*t230*t278+0.882080514741242*t36*t29*t38*t39*t41* t385*t140*t230*t278+t621-7.05664411792994*t36*t29*t38*t39* t152*t112*t159*t140*t230*t278+0.882080514741242*t36*t29*t38* t39*t41*t389*t140*t230*t278-4.116375735459131*t36*t29*t38* t113*t41*t385*t230*t278-3.52832205896497*t36*t29*t38*t39*t101* t112*t385*t230*t278+1.764161029482485*t36*t29*t38*t39*t41* t291*t159*t230*t278-3.98465171192444*t28*t16*t3*t5*t37*t385* t140*t513*t278-3.52832205896497*t36*t29*t38*t39*t41*t385*t140* t513*t565)+10.62573789846517*t36*t21*t77*t226*t161*t293-5.312868949232586* t36*t21*t142*t160*t293-5.312868949232586*t36*t21*t142*t161* t292+5.312868949232586*t36*t21*t77*t226*t391*t146-2.656434474616293* t36*t21*t142*t390*t146-15.93860684769776*t36*t21*t77*t509* t384*t146+10.62573789846517*t36*t21*t226*t160*t161*t146-2.656434474616293* t36*t21*t142*t391*t141+5.312868949232586*t36*t21*t226*t384* t141)+0.5*t12*t27*t3*t33*t5*(-12.5*t12*t28*t3*t30*t31*t679+ t585+t584+t507-244.4444444444445*t12*t152*t28*t3*t30*t39-122.2222222222222* t101*t12*t28*t3*t30*t39+33.33333333333334*t105*t28*t3*t30* t373-12.5*t101*t28*t3*t30*t31*t370+33.33333333333334*t105* t12*t28*t3*t30*t370-25.0*t152*t28*t286*t3*t30*t31)+0.5*t27* t3*t33*t5*t679+t593+t592+t591+t590+t589+t588+t587+t586+t580+ t579+t506+0.5*t107*t12*t27*t3*t33*t379*t5+0.5*t101*t27*t3* t33*t379*t5+0.5*t107*t12*t27*t3*t33*t374*t5+0.5*t101*t27*t3* t33*t374*t5+0.5*t107*t27*t3*t33*t370*t5+0.5*t107*t12*t194* t3*t33*t5+0.5*t101*t194*t3*t33*t5+t493+t492+t491+0.009565453333333* t14*t17*t101*t32*t109*t392-0.009565453333333*t14*t17*t101* t32*t223*t382-1.166666666666667*t103*t12*t27*t3*t33*t379-1.166666666666667* t103*t12*t27*t3*t33*t374-1.166666666666667*t103*t27*t3*t33* t370+7.777777777777778*t12*t154*t211*t27*t3*t33+7.777777777777778* t152*t211*t27*t3*t33+3.888888888888889*t107*t12*t211*t27*t3* t33+3.888888888888889*t101*t211*t27*t3*t33-2.333333333333333* t103*t152*t154*t27*t3*t33+t3*t5*t152*t27*t287*t33+t3*t5*t152* t194*t33+t3*t5*t152*t90*t154*t33+t3*t5*t12*t27*t287*t154*t33+ t3*t5*t286*t27*t154*t33+t3*t5*t12*t194*t154*t33+t3*t5*t152* t27*t154*t107*t33-0.006376968888889*t14*t17*t35*t223*t162* t294+0.019130906666667*t14*t17*t152*t32*t109*t294+0.019130906666667* t14*t17*t286*t32*t109*t162+0.038261813333333*t14*t17*t152* t101*t12*t109*t162-0.003188484444444*t14*t17*t35*t223*t392* t147+0.006376968888889*t14*t17*t35*t508*t382*t147-0.019130906666667* t14*t17*t152*t32*t223*t162*t147+0.009565453333333*t14*t17* t370*t32*t109*t147+0.019130906666667*t14*t17*t373*t12*t109* t147)+2.0*t12*t154*t3*t33*t5*t90+2.0*t152*t3*t33*t5*t90+t578+ t577+t576+t575+t574+t573+t572+t571+t570+t569+t568+t490+t489+ t488+t395+t394+t393+t383+t381+t380+t377+t375+t371-4.666666666666667* t103*t12*t154*t27*t3*t33-4.666666666666667*t103*t152*t27*t3* t33+t219+t217+t210+t196; d3fdrarbga = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*t80*(-0.695452919183101*t291*t3*t39*t41*t74*t78*grada- 0.695452919183101*t140*t159*t3*t39*t41*t74*t78*grada+3.245446956187803* t113*t159*t3*t41*t74*t78*grada+3.245446956187803*t113*t140* t3*t41*t74*t78*grada+2.781811676732402*t101*t112*t159*t3*t39* t74*t78*grada+2.781811676732402*t112*t140*t152*t3*t39*t74* t78*grada-2.781811676732402*t112*t286*t3*t39*t76*grada+13.90905838366201* t101*t152*t231*t3*t39*t76*grada+12.98178782475121*t112*t113* t152*t3*t76*grada+12.98178782475121*t101*t112*t113*t3*t76* grada-1.0*t21*t286*t36*t42*t5*grada+3.0*t101*t152*t21*t36* t41*t5*grada+2.333333333333333*t103*t152*t21*t36*t42*grada+ 2.333333333333333*t101*t103*t21*t36*t42*grada+1.390905838366201* t140*t145*t159*t230*t3*t39*t41*grada+t646+t645)-2.656434474616293* t36*t21*t77*t142*(-1.328217237308146*t28*t16*grada*t5*t37* t159*t140*t78*t74+3.099173553719008*t28*t16*grada*t103*t37* t140*t78*t74+2.656434474616293*t28*t16*grada*t5*t152*t42*t140* t78*t74+3.099173553719008*t28*t16*grada*t103*t37*t159*t78* t74+2.656434474616293*t28*t16*grada*t5*t101*t42*t159*t78*t74- 1.328217237308146*t28*t16*grada*t5*t37*t291*t78*t74-1.176107352988323* t36*t29*grada*t3*t39*t41*t159*t140*t145*t74+5.488500980612176* t36*t29*grada*t3*t113*t41*t140*t145*t74+4.704429411953293* t36*t29*grada*t3*t39*t152*t112*t140*t145*t74+5.488500980612176* t36*t29*grada*t3*t113*t41*t159*t145*t74+4.704429411953293* t36*t29*grada*t3*t39*t101*t112*t159*t145*t74-1.176107352988323* t36*t29*grada*t3*t39*t41*t291*t145*t74+t648+6.198347107438017* t28*t16*grada*t103*t101*t42*t76+6.198347107438017*t28*t16* grada*t103*t152*t42*t76-2.656434474616293*t28*t16*grada*t5* t286*t42*t76+7.969303423848879*t28*t16*grada*t5*t152*t101* t41*t76+t647+10.97700196122435*t36*t29*grada*t3*t113*t101* t112*t78+10.97700196122435*t36*t29*grada*t3*t113*t152*t112* t78-2.352214705976647*t36*t29*grada*t3*t39*t286*t112*t78+11.76107352988323* t36*t29*grada*t3*t39*t152*t101*t231*t78+2.656434474616293* t28*t16*grada*t5*t37*t159*t140*t230*t145+3.52832205896497* t36*t29*grada*t3*t39*t41*t159*t140*t230*t278)+5.312868949232586* t36*t21*t77*t226*t161*t312-2.656434474616293*t36*t21*t142* t160*t312-2.656434474616293*t36*t21*t142*t161*t309+5.312868949232586* t36*t21*t77*t167*t226*t293-2.656434474616293*t36*t21*t168* t142*t293-2.656434474616293*t36*t21*t167*t142*t292+5.312868949232586* t36*t21*t77*t226*t404*t146-2.656434474616293*t36*t21*t142* t403*t146-15.93860684769776*t36*t21*t77*t167*t509*t161*t146+ 5.312868949232586*t36*t21*t168*t226*t161*t146+5.312868949232586* t36*t21*t167*t226*t160*t146-2.656434474616293*t36*t21*t142* t404*t141+5.312868949232586*t36*t21*t167*t226*t161*t141)+0.5* t12*t27*t3*t33*t5*(-25.0*t12*t28*t286*t30*t31*grada-25.0*t101* t152*t28*t30*t31*grada+66.66666666666667*t105*t12*t152*t28* t30*grada+66.66666666666667*t101*t105*t12*t28*t30*grada+t644)- 6.25*t129*t154*t28*t3*t30*t33*t35*t90*grada-6.25*t107*t129* t28*t3*t30*t33*t35*t90*grada-6.25*t129*t152*t28*t3*t30*t32* t33*t90*grada-6.25*t101*t129*t28*t3*t30*t32*t33*t90*grada- 6.25*t129*t27*t28*t287*t3*t30*t33*t35*grada+14.58333333333333* t154*t260*t27*t28*t3*t30*t33*t35*grada+14.58333333333333*t107* t260*t27*t28*t3*t30*t33*t35*grada-6.25*t107*t129*t154*t27* t28*t3*t30*t33*t35*grada-6.25*t129*t27*t28*t286*t3*t30*t32* t33*grada+14.58333333333333*t152*t260*t27*t28*t3*t30*t32*t33* grada+14.58333333333333*t101*t260*t27*t28*t3*t30*t32*t33*grada- 6.25*t101*t129*t154*t27*t28*t3*t30*t32*t33*grada-6.25*t107* t129*t152*t27*t28*t3*t30*t32*t33*grada-2.333333333333333*t103* t12*t154*t27*t33*grada-2.333333333333333*t103*t152*t27*t33* grada-2.333333333333333*t103*t107*t12*t27*t33*grada-2.333333333333333* t101*t103*t27*t33*grada+0.5*t12*t3*t33*t398*t5*t90+0.5*t12* t3*t302*t33*t5*t90+t643+t642+t641+t640+t639+t638+0.5*t107* t12*t27*t3*t33*t398*t5+0.5*t101*t27*t3*t33*t398*t5+0.5*t12* t154*t27*t3*t302*t33*t5+0.5*t152*t27*t3*t302*t33*t5+0.009565453333333* t14*t17*t101*t32*t109*t405-1.166666666666667*t103*t12*t27* t3*t33*t398+grada*t5*t152*t90*t33+grada*t5*t101*t90*t33-1.166666666666667* t103*t12*t27*t3*t302*t33+grada*t5*t12*t27*t287*t33+grada*t5* t286*t27*t33+grada*t5*t12*t90*t154*t33+grada*t5*t101*t27*t154* t33+grada*t5*t12*t90*t107*t33+grada*t5*t152*t27*t107*t33+grada* t5*t12*t27*t154*t107*t33-0.003188484444444*t14*t17*t35*t223* t162*t313+0.009565453333333*t14*t17*t152*t32*t109*t313-0.003188484444444* t14*t17*t35*t169*t223*t294-0.009565453333333*t14*t17*t101* t32*t169*t223*t162-0.003188484444444*t14*t17*t35*t223*t405* t147-0.009565453333333*t14*t17*t152*t32*t169*t223*t147+0.006376968888889* t14*t17*t35*t169*t508*t162*t147+0.009565453333333*t14*t17* t286*t32*t169*t109+0.019130906666667*t14*t17*t152*t101*t12* t169*t109)+t637+t636+t635+t634+t407+t406+t402+t401+t400+t399+ t397+t396+t315+t314+t306+t305+t304+t303+t299+t297; d3fdrarbgb = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*t80*(-0.695452919183101*t291*t3*t39*t41*t74*t78*gradb- 0.695452919183101*t140*t159*t3*t39*t41*t74*t78*gradb+3.245446956187803* t113*t159*t3*t41*t74*t78*gradb+3.245446956187803*t113*t140* t3*t41*t74*t78*gradb+2.781811676732402*t101*t112*t159*t3*t39* t74*t78*gradb+2.781811676732402*t112*t140*t152*t3*t39*t74* t78*gradb-2.781811676732402*t112*t286*t3*t39*t76*gradb+13.90905838366201* t101*t152*t231*t3*t39*t76*gradb+12.98178782475121*t112*t113* t152*t3*t76*gradb+12.98178782475121*t101*t112*t113*t3*t76* gradb-1.0*t21*t286*t36*t42*t5*gradb+3.0*t101*t152*t21*t36* t41*t5*gradb+2.333333333333333*t103*t152*t21*t36*t42*gradb+ 2.333333333333333*t101*t103*t21*t36*t42*gradb+1.390905838366201* t140*t145*t159*t230*t3*t39*t41*gradb+t661+t660)-2.656434474616293* t36*t21*t77*t142*(-1.328217237308146*t28*t16*gradb*t5*t37* t159*t140*t78*t74+3.099173553719008*t28*t16*gradb*t103*t37* t140*t78*t74+2.656434474616293*t28*t16*gradb*t5*t152*t42*t140* t78*t74+3.099173553719008*t28*t16*gradb*t103*t37*t159*t78* t74+2.656434474616293*t28*t16*gradb*t5*t101*t42*t159*t78*t74- 1.328217237308146*t28*t16*gradb*t5*t37*t291*t78*t74-1.176107352988323* t36*t29*gradb*t3*t39*t41*t159*t140*t145*t74+5.488500980612176* t36*t29*gradb*t3*t113*t41*t140*t145*t74+4.704429411953293* t36*t29*gradb*t3*t39*t152*t112*t140*t145*t74+5.488500980612176* t36*t29*gradb*t3*t113*t41*t159*t145*t74+4.704429411953293* t36*t29*gradb*t3*t39*t101*t112*t159*t145*t74-1.176107352988323* t36*t29*gradb*t3*t39*t41*t291*t145*t74+t663+6.198347107438017* t28*t16*gradb*t103*t101*t42*t76+6.198347107438017*t28*t16* gradb*t103*t152*t42*t76-2.656434474616293*t28*t16*gradb*t5* t286*t42*t76+7.969303423848879*t28*t16*gradb*t5*t152*t101* t41*t76+t662+10.97700196122435*t36*t29*gradb*t3*t113*t101* t112*t78+10.97700196122435*t36*t29*gradb*t3*t113*t152*t112* t78-2.352214705976647*t36*t29*gradb*t3*t39*t286*t112*t78+11.76107352988323* t36*t29*gradb*t3*t39*t152*t101*t231*t78+2.656434474616293* t28*t16*gradb*t5*t37*t159*t140*t230*t145+3.52832205896497* t36*t29*gradb*t3*t39*t41*t159*t140*t230*t278)+5.312868949232586* t36*t21*t77*t226*t161*t333-2.656434474616293*t36*t21*t142* t160*t333-2.656434474616293*t36*t21*t142*t161*t330+5.312868949232586* t36*t21*t77*t173*t226*t293-2.656434474616293*t36*t21*t174* t142*t293-2.656434474616293*t36*t21*t173*t142*t292+5.312868949232586* t36*t21*t77*t226*t416*t146-2.656434474616293*t36*t21*t142* t415*t146-15.93860684769776*t36*t21*t77*t173*t509*t161*t146+ 5.312868949232586*t36*t21*t174*t226*t161*t146+5.312868949232586* t36*t21*t173*t226*t160*t146-2.656434474616293*t36*t21*t142* t416*t141+5.312868949232586*t36*t21*t173*t226*t161*t141)+0.5* t12*t27*t3*t33*t5*(-25.0*t12*t28*t286*t30*t31*gradb-25.0*t101* t152*t28*t30*t31*gradb+66.66666666666667*t105*t12*t152*t28* t30*gradb+66.66666666666667*t101*t105*t12*t28*t30*gradb+t659)- 6.25*t129*t154*t28*t3*t30*t33*t35*t90*gradb-6.25*t107*t129* t28*t3*t30*t33*t35*t90*gradb-6.25*t129*t152*t28*t3*t30*t32* t33*t90*gradb-6.25*t101*t129*t28*t3*t30*t32*t33*t90*gradb- 6.25*t129*t27*t28*t287*t3*t30*t33*t35*gradb+14.58333333333333* t154*t260*t27*t28*t3*t30*t33*t35*gradb+14.58333333333333*t107* t260*t27*t28*t3*t30*t33*t35*gradb-6.25*t107*t129*t154*t27* t28*t3*t30*t33*t35*gradb-6.25*t129*t27*t28*t286*t3*t30*t32* t33*gradb+14.58333333333333*t152*t260*t27*t28*t3*t30*t32*t33* gradb+14.58333333333333*t101*t260*t27*t28*t3*t30*t32*t33*gradb- 6.25*t101*t129*t154*t27*t28*t3*t30*t32*t33*gradb-6.25*t107* t129*t152*t27*t28*t3*t30*t32*t33*gradb-2.333333333333333*t103* t12*t154*t27*t33*gradb-2.333333333333333*t103*t152*t27*t33* gradb-2.333333333333333*t103*t107*t12*t27*t33*gradb-2.333333333333333* t101*t103*t27*t33*gradb+0.5*t12*t3*t33*t410*t5*t90+0.5*t12* t3*t323*t33*t5*t90+t658+t657+t656+t655+t654+t653+0.5*t107* t12*t27*t3*t33*t410*t5+0.5*t101*t27*t3*t33*t410*t5+0.5*t12* t154*t27*t3*t323*t33*t5+0.5*t152*t27*t3*t323*t33*t5+0.009565453333333* t14*t17*t101*t32*t109*t417-1.166666666666667*t103*t12*t27* t3*t33*t410-0.003188484444444*t14*t17*t35*t223*t162*t334+0.009565453333333* t14*t17*t152*t32*t109*t334+gradb*t5*t152*t90*t33+gradb*t5* t101*t90*t33-1.166666666666667*t103*t12*t27*t3*t323*t33+gradb* t5*t12*t27*t287*t33+gradb*t5*t286*t27*t33+gradb*t5*t12*t90* t154*t33+gradb*t5*t101*t27*t154*t33+gradb*t5*t12*t90*t107* t33+gradb*t5*t152*t27*t107*t33+gradb*t5*t12*t27*t154*t107* t33-0.003188484444444*t14*t17*t35*t175*t223*t294-0.009565453333333* t14*t17*t101*t32*t175*t223*t162-0.003188484444444*t14*t17* t35*t223*t417*t147-0.009565453333333*t14*t17*t152*t32*t175* t223*t147+0.006376968888889*t14*t17*t35*t175*t508*t162*t147+ 0.009565453333333*t14*t17*t286*t32*t175*t109+0.019130906666667* t14*t17*t152*t101*t12*t175*t109)+t652+t651+t650+t649+t419+ t418+t414+t413+t412+t411+t409+t408+t336+t335+t327+t326+t325+ t324+t320+t318; d3fdrarbab = t4*(0.5*t12*t3*t33*t422*t5*t90+0.5*t12*t3* t33*t344*t5*t90-6.25*t129*t154*t28*t3*t30*t33*t35*t90-6.25* t107*t129*t28*t3*t30*t33*t35*t90-6.25*t129*t152*t28*t3*t30* t32*t33*t90-6.25*t101*t129*t28*t3*t30*t32*t33*t90+0.003188484444444* t109*t14*t17*t35*(2.656434474616293*t21*t36*(-0.695452919183101* t291*t3*t39*t41*t74*t78-0.695452919183101*t140*t159*t3*t39* t41*t74*t78+3.245446956187803*t113*t159*t3*t41*t74*t78+3.245446956187803* t113*t140*t3*t41*t74*t78+2.781811676732402*t101*t112*t159* t3*t39*t74*t78+2.781811676732402*t112*t140*t152*t3*t39*t74* t78-2.781811676732402*t112*t286*t3*t39*t76+13.90905838366201* t101*t152*t231*t3*t39*t76+12.98178782475121*t112*t113*t152* t3*t76+12.98178782475121*t101*t112*t113*t3*t76+t676+t675-1.0* t21*t286*t36*t42*t5+3.0*t101*t152*t21*t36*t41*t5+2.333333333333333* t103*t152*t21*t36*t42+2.333333333333333*t101*t103*t21*t36* t42+1.390905838366201*t140*t145*t159*t230*t3*t39*t41)*t80- 2.656434474616293*t36*t21*t77*t142*(-1.328217237308146*t28* t16*t5*t37*t159*t140*t78*t74+3.099173553719008*t28*t16*t103* t37*t140*t78*t74+2.656434474616293*t28*t16*t5*t152*t42*t140* t78*t74+3.099173553719008*t28*t16*t103*t37*t159*t78*t74+2.656434474616293* t28*t16*t5*t101*t42*t159*t78*t74-1.328217237308146*t28*t16* t5*t37*t291*t78*t74-1.176107352988323*t36*t29*t3*t39*t41*t159* t140*t145*t74+5.488500980612176*t36*t29*t3*t113*t41*t140*t145* t74+4.704429411953293*t36*t29*t3*t39*t152*t112*t140*t145*t74+ 5.488500980612176*t36*t29*t3*t113*t41*t159*t145*t74+4.704429411953293* t36*t29*t3*t39*t101*t112*t159*t145*t74-1.176107352988323*t36* t29*t3*t39*t41*t291*t145*t74+t678+6.198347107438017*t28*t16* t103*t101*t42*t76+6.198347107438017*t28*t16*t103*t152*t42* t76-2.656434474616293*t28*t16*t5*t286*t42*t76+7.969303423848879* t28*t16*t5*t152*t101*t41*t76+t677+10.97700196122435*t36*t29* t3*t113*t101*t112*t78+10.97700196122435*t36*t29*t3*t113*t152* t112*t78-2.352214705976647*t36*t29*t3*t39*t286*t112*t78+11.76107352988323* t36*t29*t3*t39*t152*t101*t231*t78+2.656434474616293*t28*t16* t5*t37*t159*t140*t230*t145+3.52832205896497*t36*t29*t3*t39* t41*t159*t140*t230*t278)+5.312868949232586*t36*t21*t77*t226* t161*t361-2.656434474616293*t36*t21*t142*t160*t361-2.656434474616293* t36*t21*t142*t161*t354+5.312868949232586*t36*t21*t77*t181* t226*t293-2.656434474616293*t36*t21*t184*t142*t293-2.656434474616293* t36*t21*t181*t142*t292+5.312868949232586*t36*t21*t77*t226* t435*t146-2.656434474616293*t36*t21*t142*t430*t146-15.93860684769776* t36*t21*t77*t181*t509*t161*t146+5.312868949232586*t36*t21* t184*t226*t161*t146+5.312868949232586*t36*t21*t181*t226*t160* t146-2.656434474616293*t36*t21*t142*t435*t141+5.312868949232586* t36*t21*t181*t226*t161*t141)+0.5*t12*t27*t3*t33*t5*(t674-25.0* t12*t28*t286*t30*t31-25.0*t101*t152*t28*t30*t31+66.66666666666667* t105*t12*t152*t28*t30+66.66666666666667*t101*t105*t12*t28* t30)+t673+t672+t671+t670+t669+t668+0.5*t107*t12*t27*t3*t33* t422*t5+0.5*t101*t27*t3*t33*t422*t5+0.5*t12*t154*t27*t3*t33* t344*t5+0.5*t152*t27*t3*t33*t344*t5+0.009565453333333*t14* t17*t101*t32*t109*t436-1.166666666666667*t103*t12*t27*t3*t33* t422-0.003188484444444*t14*t17*t35*t223*t162*t362+0.009565453333333* t14*t17*t152*t32*t109*t362-6.25*t129*t27*t28*t287*t3*t30*t33* t35+14.58333333333333*t154*t260*t27*t28*t3*t30*t33*t35+14.58333333333333* t107*t260*t27*t28*t3*t30*t33*t35-6.25*t107*t129*t154*t27*t28* t3*t30*t33*t35-1.166666666666667*t103*t12*t27*t3*t33*t344+ t5*t152*t90*t33+t5*t101*t90*t33-6.25*t129*t27*t28*t286*t3* t30*t32*t33+14.58333333333333*t152*t260*t27*t28*t3*t30*t32* t33+14.58333333333333*t101*t260*t27*t28*t3*t30*t32*t33-6.25* t101*t129*t154*t27*t28*t3*t30*t32*t33-6.25*t107*t129*t152* t27*t28*t3*t30*t32*t33+t5*t12*t27*t287*t33+t5*t286*t27*t33- 2.333333333333333*t103*t12*t154*t27*t33-2.333333333333333* t103*t152*t27*t33-2.333333333333333*t103*t107*t12*t27*t33- 2.333333333333333*t101*t103*t27*t33+t5*t12*t90*t154*t33+t5* t101*t27*t154*t33+t5*t12*t90*t107*t33+t5*t152*t27*t107*t33+ t5*t12*t27*t154*t107*t33-0.003188484444444*t14*t17*t35*t185* t223*t294-0.009565453333333*t14*t17*t101*t32*t185*t223*t162- 0.003188484444444*t14*t17*t35*t223*t436*t147-0.009565453333333* t14*t17*t152*t32*t185*t223*t147+0.006376968888889*t14*t17* t35*t185*t508*t162*t147+0.009565453333333*t14*t17*t286*t32* t185*t109+0.019130906666667*t14*t17*t152*t101*t12*t185*t109)+ t667+t666+t665+t664+t438+t437+t426+t425+t424+t423+t421+t420+ t364+t363+t348+t347+t346+t345+t341+t339; d3fdragaga = t4*(2.0*t12*t27*t302*t33*t5*grada-12.5*t129* t27*t28*t3*t30*t302*t33*t35*grada+0.003188484444444*t109*t14* t17*t35*(2.656434474616293*t21*t36*(-1.390905838366201*t1* t140*t39*t41*t74*t78-5.563623353464805*t1*t101*t112*t39*t76+ t687+t353+t352+t351+t350+t349)*t80-2.656434474616293*t36*t21* t77*t142*(t360+t359-2.352214705976647*t36*t29*t1*t39*t41*t140* t145*t74+t358+t357+t356+t688+t355-4.704429411953293*t36*t29* t1*t39*t101*t112*t78)+10.62573789846517*t36*t21*t77*t167*t226* t312-5.312868949232586*t36*t21*t168*t142*t312-5.312868949232586* t36*t21*t167*t142*t309-15.93860684769776*t36*t21*t77*t445* t509*t146+5.312868949232586*t36*t21*t77*t446*t226*t146+10.62573789846517* t36*t21*t168*t167*t226*t146-2.656434474616293*t36*t21*t447* t142*t146+5.312868949232586*t36*t21*t445*t226*t141-2.656434474616293* t36*t21*t446*t142*t141)+t686+t684+t683+t682+26.04166666666667* t1*t101*t27*t3*t33*t36*t40*t440*t441+26.04166666666667*t1* t107*t111*t27*t3*t33*t36*t440*t441-25.0*t1*t107*t129*t27*t28* t30*t33*t35+t347+t346+t345+t342+t341+t340+t339+t338+t337-25.0* t1*t101*t129*t27*t28*t30*t32*t33-0.006376968888889*t14*t17* t35*t169*t223*t313-0.009565453333333*t14*t17*t101*t32*t443* t223+0.006376968888889*t14*t17*t35*t443*t508*t147-0.003188484444444* t14*t17*t35*t448*t223*t147+0.009565453333333*t14*t17*t101* t32*t448*t109)+t449+t444+t442+t439+t178+t177; d3fdragagb = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*t80*(-1.390905838366201*t140*t39*t41*t74*t78*grada* gradb-5.563623353464805*t101*t112*t39*t76*grada*gradb+t694)- 2.656434474616293*t36*t21*t77*t142*(-2.352214705976647*t36* t29*grada*gradb*t39*t41*t140*t145*t74+t693-4.704429411953293* t36*t29*grada*gradb*t39*t101*t112*t78)+5.312868949232586*t36* t21*t77*t167*t226*t333-2.656434474616293*t36*t21*t168*t142* t333-2.656434474616293*t36*t21*t167*t142*t330+5.312868949232586* t36*t21*t77*t173*t226*t312-2.656434474616293*t36*t21*t174* t142*t312-2.656434474616293*t36*t21*t173*t142*t309+6.24850423665579* t28*t453*grada*gradb*t39*t41*t77*t226*t78*t146-1.176107352988323* t36*t29*grada*gradb*t39*t41*t142*t76*t146-15.93860684769776* t36*t21*t77*t167*t173*t509*t146+5.312868949232586*t36*t21* t168*t173*t226*t146+5.312868949232586*t36*t21*t174*t167*t226* t146-3.124252118327895*t28*t453*grada*gradb*t39*t41*t142*t78* t141+5.312868949232586*t36*t21*t167*t173*t226*t141)+26.04166666666667* t101*t27*t3*t33*t36*t40*t440*t441*grada*gradb+26.04166666666667* t107*t111*t27*t3*t33*t36*t440*t441*grada*gradb-25.0*t107*t129* t27*t28*t30*t33*t35*grada*gradb-25.0*t101*t129*t27*t28*t30* t32*t33*grada*gradb-6.25*t129*t27*t28*t3*t30*t302*t33*t35* gradb-6.25*t129*t27*t28*t3*t30*t323*t33*t35*grada+t692+t691+ t690+t689+0.009565453333333*t14*t17*t101*t32*t109*t454-0.003188484444444* t14*t17*t35*t169*t223*t334+grada*t5*t12*t27*t323*t33+gradb* t5*t12*t27*t302*t33-0.003188484444444*t14*t17*t35*t175*t223* t313-0.009565453333333*t14*t17*t101*t32*t169*t175*t223+0.006376968888889* t14*t17*t35*t169*t175*t508*t147-0.003188484444444*t14*t17* t35*t223*t454*t147)+t455+t452+t451+t450; d3fdragaab = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*t80*(-1.390905838366201*t140*t39*t41*t74*t78*grada- 5.563623353464805*t101*t112*t39*t76*grada+t700)-2.656434474616293* t36*t21*t77*t142*(-2.352214705976647*t36*t29*grada*t39*t41* t140*t145*t74+t699-4.704429411953293*t36*t29*grada*t39*t101* t112*t78)+5.312868949232586*t36*t21*t77*t167*t226*t361-2.656434474616293* t36*t21*t168*t142*t361-2.656434474616293*t36*t21*t167*t142* t354+5.312868949232586*t36*t21*t77*t181*t226*t312-2.656434474616293* t36*t21*t184*t142*t312-2.656434474616293*t36*t21*t181*t142* t309+6.24850423665579*t28*t453*grada*t39*t41*t77*t226*t78* t146-1.176107352988323*t36*t29*grada*t39*t41*t142*t76*t146- 15.93860684769776*t36*t21*t77*t181*t167*t509*t146+5.312868949232586* t36*t21*t168*t181*t226*t146+5.312868949232586*t36*t21*t184* t167*t226*t146-3.124252118327895*t28*t453*grada*t39*t41*t142* t78*t141+5.312868949232586*t36*t21*t181*t167*t226*t141)+26.04166666666667* t101*t27*t3*t33*t36*t40*t440*t441*grada+26.04166666666667* t107*t111*t27*t3*t33*t36*t440*t441*grada-6.25*t129*t27*t28* t3*t30*t33*t344*t35*grada-25.0*t107*t129*t27*t28*t30*t33*t35* grada-25.0*t101*t129*t27*t28*t30*t32*t33*grada+t698+t697+t696+ t695+0.009565453333333*t14*t17*t101*t32*t109*t461-0.003188484444444* t14*t17*t35*t169*t223*t362-6.25*t129*t27*t28*t3*t30*t302*t33* t35+grada*t5*t12*t27*t344*t33+t5*t12*t27*t302*t33-0.003188484444444* t14*t17*t35*t185*t223*t313-0.009565453333333*t14*t17*t101* t32*t185*t169*t223+0.006376968888889*t14*t17*t35*t185*t169* t508*t147-0.003188484444444*t14*t17*t35*t223*t461*t147)+t462+ t458+t457+t456; d3fdragbgb = t4*(2.0*t12*t27*t323*t33*t5*gradb-12.5*t129* t27*t28*t3*t30*t323*t33*t35*gradb+0.003188484444444*t109*t14* t17*t35*(2.656434474616293*t21*t36*(-1.390905838366201*t140* t2*t39*t41*t74*t78-5.563623353464805*t101*t112*t2*t39*t76+ t705+t353+t352+t351+t350+t349)*t80-2.656434474616293*t36*t21* t77*t142*(t360+t359-2.352214705976647*t36*t29*t2*t39*t41*t140* t145*t74+t358+t357+t356+t706+t355-4.704429411953293*t36*t29* t2*t39*t101*t112*t78)+10.62573789846517*t36*t21*t77*t173*t226* t333-5.312868949232586*t36*t21*t174*t142*t333-5.312868949232586* t36*t21*t173*t142*t330-15.93860684769776*t36*t21*t77*t467* t509*t146+5.312868949232586*t36*t21*t77*t468*t226*t146+10.62573789846517* t36*t21*t174*t173*t226*t146-2.656434474616293*t36*t21*t469* t142*t146+5.312868949232586*t36*t21*t467*t226*t141-2.656434474616293* t36*t21*t468*t142*t141)+t704+t703+t702+t701+26.04166666666667* t101*t2*t27*t3*t33*t36*t40*t440*t441+26.04166666666667*t107* t111*t2*t27*t3*t33*t36*t440*t441-25.0*t107*t129*t2*t27*t28* t30*t33*t35+t347+t346+t345+t342+t341+t340+t339+t338+t337-0.006376968888889* t14*t17*t35*t175*t223*t334-25.0*t101*t129*t2*t27*t28*t30*t32* t33-0.009565453333333*t14*t17*t101*t32*t465*t223+0.006376968888889* t14*t17*t35*t465*t508*t147-0.003188484444444*t14*t17*t35*t470* t223*t147+0.009565453333333*t14*t17*t101*t32*t470*t109)+t471+ t466+t464+t463+t178+t177; d3fdragbab = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*t80*(-1.390905838366201*t140*t39*t41*t74*t78*gradb- 5.563623353464805*t101*t112*t39*t76*gradb+t712)-2.656434474616293* t36*t21*t77*t142*(-2.352214705976647*t36*t29*gradb*t39*t41* t140*t145*t74+t711-4.704429411953293*t36*t29*gradb*t39*t101* t112*t78)+5.312868949232586*t36*t21*t77*t173*t226*t361-2.656434474616293* t36*t21*t174*t142*t361-2.656434474616293*t36*t21*t173*t142* t354+5.312868949232586*t36*t21*t77*t181*t226*t333-2.656434474616293* t36*t21*t184*t142*t333-2.656434474616293*t36*t21*t181*t142* t330+6.24850423665579*t28*t453*gradb*t39*t41*t77*t226*t78* t146-1.176107352988323*t36*t29*gradb*t39*t41*t142*t76*t146- 15.93860684769776*t36*t21*t77*t181*t173*t509*t146+5.312868949232586* t36*t21*t174*t181*t226*t146+5.312868949232586*t36*t21*t184* t173*t226*t146-3.124252118327895*t28*t453*gradb*t39*t41*t142* t78*t141+5.312868949232586*t36*t21*t181*t173*t226*t141)+26.04166666666667* t101*t27*t3*t33*t36*t40*t440*t441*gradb+26.04166666666667* t107*t111*t27*t3*t33*t36*t440*t441*gradb-6.25*t129*t27*t28* t3*t30*t33*t344*t35*gradb-25.0*t107*t129*t27*t28*t30*t33*t35* gradb-25.0*t101*t129*t27*t28*t30*t32*t33*gradb+t710+t709+t708+ t707+0.009565453333333*t14*t17*t101*t32*t109*t477-0.003188484444444* t14*t17*t35*t175*t223*t362-6.25*t129*t27*t28*t3*t30*t323*t33* t35-0.003188484444444*t14*t17*t35*t185*t223*t334+gradb*t5* t12*t27*t344*t33+t5*t12*t27*t323*t33-0.009565453333333*t14* t17*t101*t32*t185*t175*t223+0.006376968888889*t14*t17*t35* t185*t175*t508*t147-0.003188484444444*t14*t17*t35*t223*t477* t147)+t478+t474+t473+t472; d3fdraabab = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*(-1.390905838366201*t140*t39*t41*t74*t78-5.563623353464805* t101*t112*t39*t76+t718)*t80-2.656434474616293*t36*t21*t77* t142*(-2.352214705976647*t36*t29*t39*t41*t140*t145*t74+t717- 4.704429411953293*t36*t29*t39*t101*t112*t78)+10.62573789846517* t36*t21*t77*t181*t226*t361-5.312868949232586*t36*t21*t184* t142*t361-5.312868949232586*t36*t21*t181*t142*t354+6.24850423665579* t28*t453*t39*t41*t77*t226*t78*t146-1.176107352988323*t36*t29* t39*t41*t142*t76*t146-15.93860684769776*t36*t21*t77*t483*t509* t146+10.62573789846517*t36*t21*t184*t181*t226*t146-3.124252118327895* t28*t453*t39*t41*t142*t78*t141+5.312868949232586*t36*t21*t483* t226*t141)+t716+t715+t714+t713+2.0*t12*t27*t33*t344*t5+0.009565453333333* t14*t17*t101*t32*t109*t486+26.04166666666667*t101*t27*t3*t33* t36*t40*t440*t441+26.04166666666667*t107*t111*t27*t3*t33*t36* t440*t441-0.006376968888889*t14*t17*t35*t185*t223*t362-12.5* t129*t27*t28*t3*t30*t33*t344*t35-25.0*t107*t129*t27*t28*t30* t33*t35-25.0*t101*t129*t27*t28*t30*t32*t33-0.009565453333333* t14*t17*t101*t32*t481*t223+0.006376968888889*t14*t17*t35*t481* t508*t147-0.003188484444444*t14*t17*t35*t223*t486*t147)+t487+ t482+t480+t479; d3fdrbrbrb = t4*(1.5*t12*t3*t33*t379*t5*t90+1.5*t12*t3* t33*t374*t5*t90+1.5*t3*t33*t370*t5*t90+3.0*t152*t154*t3*t33* t5*t90-7.0*t103*t12*t154*t3*t33*t90-7.0*t103*t152*t3*t33*t90+ 0.019130906666667*t14*t17*t724*t82+0.009565453333333*t14*t17* t723*t32*t82+0.05739272*t14*t17*t370*t152*t12*t82+0.003188484444444* t109*t14*t17*t35*(2.656434474616293*t21*t36*(-0.173863229795775* t38*t39*t41*t727*t74*t78-0.173863229795775*t38*t39*t41*t725* t74*t78-0.521589689387325*t159*t38*t389*t39*t41*t74*t78+2.434085217140852* t113*t38*t389*t41*t74*t78+2.434085217140852*t113*t38*t385* t41*t74*t78-13.79314956379817*t159*t232*t38*t41*t74*t78+2.086358757549302* t112*t152*t38*t389*t39*t74*t78+2.086358757549302*t112*t152* t38*t385*t39*t74*t78-10.43179378774651*t159*t231*t373*t38* t39*t74*t78+2.086358757549302*t112*t159*t370*t38*t39*t74*t78- 19.47268173712682*t112*t113*t152*t159*t38*t74*t78-20.86358757549302* t38*t39*t516*t724*t76-0.695452919183101*t112*t38*t39*t723* t76+10.43179378774651*t152*t231*t370*t38*t39*t76-48.68170434281704* t113*t231*t373*t38*t76+9.73634086856341*t112*t113*t370*t38* t76-55.17259825519266*t112*t152*t232*t38*t76-1.043179378774651* t278*t38*t39*t41*t513*t725+0.34772645959155*t145*t230*t38* t39*t41*t725-6.0*t112*t21*t3*t36*t5*t724-0.5*t21*t3*t36*t42* t5*t723+0.34772645959155*t145*t230*t38*t385*t39*t41*t597+t517+ t511+4.5*t152*t21*t3*t36*t370*t41*t5+3.5*t103*t21*t3*t36*t370* t42-11.66666666666667*t152*t21*t211*t3*t36*t42+1.043179378774651* t145*t159*t230*t38*t389*t39*t41-4.868170434281705*t113*t145* t230*t38*t385*t41-10.5*t103*t21*t3*t36*t373*t41-4.172717515098603* t112*t145*t152*t230*t38*t385*t39)*t80-15.93860684769776*POW(t161, 3.0)*t21*t36*t509*t77-2.656434474616293*t36*t21*t77*t142*(- 0.664108618654073*t28*t16*t3*t5*t37*t725*t78*t74+4.648760330578512* t28*t16*t3*t103*t37*t385*t78*t74+3.98465171192444*t28*t16* t3*t5*t152*t42*t385*t78*t74-1.99232585596222*t28*t16*t3*t5* t37*t389*t159*t78*t74-15.49586776859504*t28*t16*t3*t211*t37* t159*t78*t74-18.59504132231405*t28*t16*t3*t103*t152*t42*t159* t78*t74+3.98465171192444*t28*t16*t3*t5*t370*t42*t159*t78*t74- 11.95395513577332*t28*t16*t3*t5*t373*t41*t159*t78*t74+4.648760330578512* t28*t16*t3*t103*t37*t389*t78*t74+3.98465171192444*t28*t16* t3*t5*t152*t42*t389*t78*t74-0.664108618654073*t28*t16*t3*t5* t37*t727*t78*t74-0.294026838247081*t36*t29*t38*t39*t41*t725* t145*t74+4.116375735459131*t36*t29*t38*t113*t41*t385*t145* t74+3.52832205896497*t36*t29*t38*t39*t152*t112*t385*t145*t74- 0.882080514741242*t36*t29*t38*t39*t41*t389*t159*t145*t74-23.32612916760175* t36*t29*t38*t232*t41*t159*t145*t74-32.93100588367305*t36*t29* t38*t113*t152*t112*t159*t145*t74+3.52832205896497*t36*t29* t38*t39*t370*t112*t159*t145*t74-17.64161029482485*t36*t29* t38*t39*t373*t231*t159*t145*t74+4.116375735459131*t36*t29* t38*t113*t41*t389*t145*t74+3.52832205896497*t36*t29*t38*t39* t152*t112*t389*t145*t74-0.294026838247081*t36*t29*t38*t39* t41*t727*t145*t74+t567-30.99173553719008*t28*t16*t3*t211*t152* t42*t76+9.297520661157025*t28*t16*t3*t103*t370*t42*t76-1.328217237308146* t28*t16*t3*t5*t723*t42*t76-27.89256198347108*t28*t16*t3*t103* t373*t41*t76+11.95395513577332*t28*t16*t3*t5*t370*t152*t41* t76-15.93860684769776*t28*t16*t3*t5*t724*t112*t76+t566-46.6522583352035* t36*t29*t38*t232*t152*t112*t78+8.232751470918263*t36*t29*t38* t113*t370*t112*t78-0.588053676494162*t36*t29*t38*t39*t723* t112*t78-41.16375735459132*t36*t29*t38*t113*t373*t231*t78+ 8.820805147412424*t36*t29*t38*t39*t370*t152*t231*t78-17.64161029482485* t36*t29*t38*t39*t724*t516*t78+1.328217237308146*t28*t16*t3* t5*t37*t385*t597*t230*t145+1.328217237308146*t28*t16*t3*t5* t37*t725*t230*t145-9.297520661157025*t28*t16*t3*t103*t37*t385* t230*t145-7.969303423848879*t28*t16*t3*t5*t152*t42*t385*t230* t145+3.98465171192444*t28*t16*t3*t5*t37*t389*t159*t230*t145+ 0.882080514741242*t36*t29*t38*t39*t41*t385*t597*t230*t278+ 0.882080514741242*t36*t29*t38*t39*t41*t725*t230*t278-12.34912720637739* t36*t29*t38*t113*t41*t385*t230*t278-10.58496617689491*t36* t29*t38*t39*t152*t112*t385*t230*t278+2.646241544223727*t36* t29*t38*t39*t41*t389*t159*t230*t278-3.98465171192444*t28*t16* t3*t5*t37*t725*t513*t278-3.52832205896497*t36*t29*t38*t39* t41*t725*t513*t565)+15.93860684769776*t36*t21*t77*t226*t161* t391-7.969303423848879*t36*t21*t142*t160*t391-7.969303423848879* t36*t21*t142*t161*t390+15.93860684769776*t36*t21*t226*t160* t384)+0.5*t12*t27*t3*t33*t5*(-12.5*t12*t28*t3*t30*t31*t723+ t507-366.6666666666667*t12*t152*t28*t3*t30*t39+100.0*t105* t28*t3*t30*t373-37.5*t152*t28*t3*t30*t31*t370+100.0*t105*t12* t28*t3*t30*t370)+0.5*t27*t3*t33*t5*t723+0.006376968888889* t14*POW(t162,3.0)*t17*t35*t508+t506+1.5*t152*t27*t3*t33*t379* t5+1.5*t12*t154*t27*t3*t33*t374*t5+1.5*t152*t27*t3*t33*t374* t5+1.5*t154*t27*t3*t33*t370*t5+0.5*t12*POW(t154,3.0)*t27*t3* t33*t5+1.5*t12*t154*t194*t3*t33*t5+1.5*t152*t194*t3*t33*t5+ t493+t492+t491-0.009565453333333*t14*t17*t35*t223*t162*t392+ 0.02869636*t14*t17*t152*t32*t109*t392-0.02869636*t14*t17*t152* t32*t223*t382-3.5*t103*t12*t27*t3*t33*t379-3.5*t103*t12*t27* t3*t33*t374-3.5*t103*t27*t3*t33*t370+11.66666666666667*t12* t154*t211*t27*t3*t33+11.66666666666667*t152*t211*t27*t3*t33- 7.0*t103*t152*t154*t27*t3*t33+0.02869636*t14*t17*t370*t32* t109*t162+0.05739272*t14*t17*t373*t12*t109*t162)+3.0*t12*t154* t3*t33*t5*t90+3.0*t152*t3*t33*t5*t90+0.02869636*t14*t17*t370* t32*t82+0.05739272*t14*t17*t373*t12*t82+1.5*t12*t27*t3*t33* t379*t5+1.5*t12*t27*t3*t33*t374*t5+1.5*t27*t3*t33*t370*t5+ 3.0*t152*t154*t27*t3*t33*t5+t490+t489+t488+0.009565453333333* t14*t17*t35*t109*t392-0.009565453333333*t14*t17*t35*t223*t382- 7.0*t103*t12*t154*t27*t3*t33-7.0*t103*t152*t27*t3*t33+0.05739272* t14*t17*t152*t32*t109*t162; d3fdrbrbga = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*t80*(-0.695452919183101*t3*t389*t39*t41*t74*t78*grada- 0.695452919183101*t3*t385*t39*t41*t74*t78*grada+6.490893912375606* t113*t159*t3*t41*t74*t78*grada+5.563623353464805*t112*t152* t159*t3*t39*t74*t78*grada+13.90905838366201*t231*t3*t373*t39* t76*grada-2.781811676732402*t112*t3*t370*t39*t76*grada+25.96357564950242* t112*t113*t152*t3*t76*grada-1.0*t21*t36*t370*t42*t5*grada+ 3.0*t21*t36*t373*t41*t5*grada+4.666666666666667*t103*t152* t21*t36*t42*grada+1.390905838366201*t145*t230*t3*t385*t39* t41*grada+t646+t645)-2.656434474616293*t36*t21*t77*t142*(- 1.328217237308146*t28*t16*grada*t5*t37*t385*t78*t74+6.198347107438017* t28*t16*grada*t103*t37*t159*t78*t74+5.312868949232586*t28* t16*grada*t5*t152*t42*t159*t78*t74-1.328217237308146*t28*t16* grada*t5*t37*t389*t78*t74-1.176107352988323*t36*t29*grada* t3*t39*t41*t385*t145*t74+10.97700196122435*t36*t29*grada*t3* t113*t41*t159*t145*t74+9.408858823906586*t36*t29*grada*t3* t39*t152*t112*t159*t145*t74-1.176107352988323*t36*t29*grada* t3*t39*t41*t389*t145*t74+t648+12.39669421487603*t28*t16*grada* t103*t152*t42*t76-2.656434474616293*t28*t16*grada*t5*t370* t42*t76+7.969303423848879*t28*t16*grada*t5*t373*t41*t76+t647+ 21.9540039224487*t36*t29*grada*t3*t113*t152*t112*t78-2.352214705976647* t36*t29*grada*t3*t39*t370*t112*t78+11.76107352988323*t36*t29* grada*t3*t39*t373*t231*t78+2.656434474616293*t28*t16*grada* t5*t37*t385*t230*t145+3.52832205896497*t36*t29*grada*t3*t39* t41*t385*t230*t278)-5.312868949232586*t36*t21*t142*t160*t404+ 5.312868949232586*t36*t21*t77*t167*t226*t391-2.656434474616293* t36*t21*t168*t142*t391-2.656434474616293*t36*t21*t167*t142* t390-15.93860684769776*t36*t21*t77*t167*t509*t384+5.312868949232586* t36*t21*t168*t226*t384+10.62573789846517*t36*t21*t77*t226* t404*t161-5.312868949232586*t36*t21*t142*t403*t161+10.62573789846517* t36*t21*t167*t226*t160*t161)+0.5*t12*t27*t3*t33*t5*(-25.0* t28*t30*t31*t373*grada-25.0*t12*t28*t30*t31*t370*grada+133.3333333333333* t105*t12*t152*t28*t30*grada+t644)+2.0*t12*t154*t33*t5*t90* grada+2.0*t152*t33*t5*t90*grada-12.5*t129*t154*t28*t3*t30* t33*t35*t90*grada-12.5*t129*t152*t28*t3*t30*t32*t33*t90*grada+ 2.0*t152*t154*t27*t33*t5*grada-6.25*t129*t27*t28*t3*t30*t33* t35*t379*grada-6.25*t129*t27*t28*t3*t30*t33*t35*t374*grada- 6.25*t129*t27*t28*t3*t30*t32*t33*t370*grada+29.16666666666667* t154*t260*t27*t28*t3*t30*t33*t35*grada+29.16666666666667*t152* t260*t27*t28*t3*t30*t32*t33*grada-12.5*t129*t152*t154*t27* t28*t3*t30*t32*t33*grada-4.666666666666667*t103*t12*t154*t27* t33*grada-4.666666666666667*t103*t152*t27*t33*grada+t643+t642+ t641+t640+t639+t638+0.019130906666667*t14*t17*t152*t32*t109* t405-2.333333333333333*t103*t12*t27*t3*t33*t398-0.003188484444444* t14*t17*t35*t169*t223*t392+0.006376968888889*t14*t17*t35*t169* t508*t382+t3*t5*t12*t90*t398*t33+t3*t5*t152*t27*t398*t33+grada* t5*t12*t27*t379*t33+grada*t5*t12*t27*t374*t33+grada*t5*t370* t27*t33+t3*t5*t12*t27*t398*t154*t33-0.006376968888889*t14* t17*t35*t223*t405*t162-0.019130906666667*t14*t17*t152*t32* t169*t223*t162+0.009565453333333*t14*t17*t370*t32*t169*t109+ 0.019130906666667*t14*t17*t373*t12*t169*t109)+2.0*t12*t154* t27*t33*t5*grada+2.0*t152*t27*t33*t5*grada-12.5*t129*t154* t27*t28*t3*t30*t33*t35*grada-12.5*t129*t152*t27*t28*t3*t30* t32*t33*grada+t637+t636+t635+t634+0.006376968888889*t14*t17* t35*t109*t405+t3*t5*t12*t27*t398*t33-0.006376968888889*t14* t17*t35*t169*t223*t162+0.019130906666667*t14*t17*t152*t32* t169*t109; d3fdrbrbgb = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*t80*(-0.695452919183101*t3*t389*t39*t41*t74*t78*gradb- 0.695452919183101*t3*t385*t39*t41*t74*t78*gradb+6.490893912375606* t113*t159*t3*t41*t74*t78*gradb+5.563623353464805*t112*t152* t159*t3*t39*t74*t78*gradb+13.90905838366201*t231*t3*t373*t39* t76*gradb-2.781811676732402*t112*t3*t370*t39*t76*gradb+25.96357564950242* t112*t113*t152*t3*t76*gradb-1.0*t21*t36*t370*t42*t5*gradb+ 3.0*t21*t36*t373*t41*t5*gradb+4.666666666666667*t103*t152* t21*t36*t42*gradb+1.390905838366201*t145*t230*t3*t385*t39* t41*gradb+t661+t660)-2.656434474616293*t36*t21*t77*t142*(- 1.328217237308146*t28*t16*gradb*t5*t37*t385*t78*t74+6.198347107438017* t28*t16*gradb*t103*t37*t159*t78*t74+5.312868949232586*t28* t16*gradb*t5*t152*t42*t159*t78*t74-1.328217237308146*t28*t16* gradb*t5*t37*t389*t78*t74-1.176107352988323*t36*t29*gradb* t3*t39*t41*t385*t145*t74+10.97700196122435*t36*t29*gradb*t3* t113*t41*t159*t145*t74+9.408858823906586*t36*t29*gradb*t3* t39*t152*t112*t159*t145*t74-1.176107352988323*t36*t29*gradb* t3*t39*t41*t389*t145*t74+t663+12.39669421487603*t28*t16*gradb* t103*t152*t42*t76-2.656434474616293*t28*t16*gradb*t5*t370* t42*t76+7.969303423848879*t28*t16*gradb*t5*t373*t41*t76+t662+ 21.9540039224487*t36*t29*gradb*t3*t113*t152*t112*t78-2.352214705976647* t36*t29*gradb*t3*t39*t370*t112*t78+11.76107352988323*t36*t29* gradb*t3*t39*t373*t231*t78+2.656434474616293*t28*t16*gradb* t5*t37*t385*t230*t145+3.52832205896497*t36*t29*gradb*t3*t39* t41*t385*t230*t278)-5.312868949232586*t36*t21*t142*t160*t416+ 5.312868949232586*t36*t21*t77*t173*t226*t391-2.656434474616293* t36*t21*t174*t142*t391-2.656434474616293*t36*t21*t173*t142* t390-15.93860684769776*t36*t21*t77*t173*t509*t384+5.312868949232586* t36*t21*t174*t226*t384+10.62573789846517*t36*t21*t77*t226* t416*t161-5.312868949232586*t36*t21*t142*t415*t161+10.62573789846517* t36*t21*t173*t226*t160*t161)+0.5*t12*t27*t3*t33*t5*(-25.0* t28*t30*t31*t373*gradb-25.0*t12*t28*t30*t31*t370*gradb+133.3333333333333* t105*t12*t152*t28*t30*gradb+t659)+2.0*t12*t154*t33*t5*t90* gradb+2.0*t152*t33*t5*t90*gradb-12.5*t129*t154*t28*t3*t30* t33*t35*t90*gradb-12.5*t129*t152*t28*t3*t30*t32*t33*t90*gradb+ 2.0*t152*t154*t27*t33*t5*gradb-6.25*t129*t27*t28*t3*t30*t33* t35*t379*gradb-6.25*t129*t27*t28*t3*t30*t33*t35*t374*gradb- 6.25*t129*t27*t28*t3*t30*t32*t33*t370*gradb+29.16666666666667* t154*t260*t27*t28*t3*t30*t33*t35*gradb+29.16666666666667*t152* t260*t27*t28*t3*t30*t32*t33*gradb-12.5*t129*t152*t154*t27* t28*t3*t30*t32*t33*gradb-4.666666666666667*t103*t12*t154*t27* t33*gradb-4.666666666666667*t103*t152*t27*t33*gradb+t658+t657+ t656+t655+t654+t653+0.019130906666667*t14*t17*t152*t32*t109* t417-2.333333333333333*t103*t12*t27*t3*t33*t410-0.003188484444444* t14*t17*t35*t175*t223*t392+0.006376968888889*t14*t17*t35*t175* t508*t382+t3*t5*t12*t90*t410*t33+t3*t5*t152*t27*t410*t33+gradb* t5*t12*t27*t379*t33+gradb*t5*t12*t27*t374*t33+gradb*t5*t370* t27*t33+t3*t5*t12*t27*t410*t154*t33-0.006376968888889*t14* t17*t35*t223*t417*t162-0.019130906666667*t14*t17*t152*t32* t175*t223*t162+0.009565453333333*t14*t17*t370*t32*t175*t109+ 0.019130906666667*t14*t17*t373*t12*t175*t109)+2.0*t12*t154* t27*t33*t5*gradb+2.0*t152*t27*t33*t5*gradb-12.5*t129*t154* t27*t28*t3*t30*t33*t35*gradb-12.5*t129*t152*t27*t28*t3*t30* t32*t33*gradb+t652+t651+t650+t649+0.006376968888889*t14*t17* t35*t109*t417+t3*t5*t12*t27*t410*t33-0.006376968888889*t14* t17*t35*t175*t223*t162+0.019130906666667*t14*t17*t152*t32* t175*t109; d3fdrbrbab = t4*(2.0*t12*t154*t33*t5*t90+2.0*t152*t33* t5*t90-12.5*t129*t154*t28*t3*t30*t33*t35*t90-12.5*t129*t152* t28*t3*t30*t32*t33*t90+0.003188484444444*t109*t14*t17*t35* (2.656434474616293*t21*t36*(-0.695452919183101*t3*t389*t39* t41*t74*t78-0.695452919183101*t3*t385*t39*t41*t74*t78+6.490893912375606* t113*t159*t3*t41*t74*t78+5.563623353464805*t112*t152*t159* t3*t39*t74*t78+13.90905838366201*t231*t3*t373*t39*t76-2.781811676732402* t112*t3*t370*t39*t76+25.96357564950242*t112*t113*t152*t3*t76+ t676+t675-1.0*t21*t36*t370*t42*t5+3.0*t21*t36*t373*t41*t5+ 4.666666666666667*t103*t152*t21*t36*t42+1.390905838366201* t145*t230*t3*t385*t39*t41)*t80-2.656434474616293*t36*t21*t77* t142*(-1.328217237308146*t28*t16*t5*t37*t385*t78*t74+6.198347107438017* t28*t16*t103*t37*t159*t78*t74+5.312868949232586*t28*t16*t5* t152*t42*t159*t78*t74-1.328217237308146*t28*t16*t5*t37*t389* t78*t74-1.176107352988323*t36*t29*t3*t39*t41*t385*t145*t74+ 10.97700196122435*t36*t29*t3*t113*t41*t159*t145*t74+9.408858823906586* t36*t29*t3*t39*t152*t112*t159*t145*t74-1.176107352988323*t36* t29*t3*t39*t41*t389*t145*t74+t678+12.39669421487603*t28*t16* t103*t152*t42*t76-2.656434474616293*t28*t16*t5*t370*t42*t76+ 7.969303423848879*t28*t16*t5*t373*t41*t76+t677+21.9540039224487* t36*t29*t3*t113*t152*t112*t78-2.352214705976647*t36*t29*t3* t39*t370*t112*t78+11.76107352988323*t36*t29*t3*t39*t373*t231* t78+2.656434474616293*t28*t16*t5*t37*t385*t230*t145+3.52832205896497* t36*t29*t3*t39*t41*t385*t230*t278)-5.312868949232586*t36*t21* t142*t160*t435+5.312868949232586*t36*t21*t77*t181*t226*t391- 2.656434474616293*t36*t21*t184*t142*t391-2.656434474616293* t36*t21*t181*t142*t390-15.93860684769776*t36*t21*t77*t181* t509*t384+5.312868949232586*t36*t21*t184*t226*t384+10.62573789846517* t36*t21*t77*t226*t435*t161-5.312868949232586*t36*t21*t142* t430*t161+10.62573789846517*t36*t21*t181*t226*t160*t161)+0.5* t12*t27*t3*t33*t5*(t674-25.0*t28*t30*t31*t373-25.0*t12*t28* t30*t31*t370+133.3333333333333*t105*t12*t152*t28*t30)+t673+ t672+t671+t670+t669+t668+2.0*t152*t154*t27*t33*t5+0.019130906666667* t14*t17*t152*t32*t109*t436-2.333333333333333*t103*t12*t27* t3*t33*t422-0.003188484444444*t14*t17*t35*t185*t223*t392+0.006376968888889* t14*t17*t35*t185*t508*t382-6.25*t129*t27*t28*t3*t30*t33*t35* t379-6.25*t129*t27*t28*t3*t30*t33*t35*t374-6.25*t129*t27*t28* t3*t30*t32*t33*t370+29.16666666666667*t154*t260*t27*t28*t3* t30*t33*t35+t3*t5*t12*t90*t422*t33+t3*t5*t152*t27*t422*t33+ t5*t12*t27*t379*t33+t5*t12*t27*t374*t33+29.16666666666667* t152*t260*t27*t28*t3*t30*t32*t33-12.5*t129*t152*t154*t27*t28* t3*t30*t32*t33+t5*t370*t27*t33-4.666666666666667*t103*t12* t154*t27*t33-4.666666666666667*t103*t152*t27*t33+t3*t5*t12* t27*t422*t154*t33-0.006376968888889*t14*t17*t35*t223*t436* t162-0.019130906666667*t14*t17*t152*t32*t185*t223*t162+0.009565453333333* t14*t17*t370*t32*t185*t109+0.019130906666667*t14*t17*t373* t12*t185*t109)+t667+t666+t665+t664+2.0*t12*t154*t27*t33*t5+ 2.0*t152*t27*t33*t5+0.006376968888889*t14*t17*t35*t109*t436- 12.5*t129*t154*t27*t28*t3*t30*t33*t35+t3*t5*t12*t27*t422*t33- 12.5*t129*t152*t27*t28*t3*t30*t32*t33-0.006376968888889*t14* t17*t35*t185*t223*t162+0.019130906666667*t14*t17*t152*t32* t185*t109; d3fdrbgaga = t4*(2.0*t12*t27*t33*t398*t5*grada-12.5*t129* t27*t28*t3*t30*t33*t35*t398*grada+0.003188484444444*t109*t14* t17*t35*(2.656434474616293*t21*t36*(-1.390905838366201*t1* t159*t39*t41*t74*t78-5.563623353464805*t1*t112*t152*t39*t76+ t687+t429+t428+t427+t352+t350)*t80-2.656434474616293*t36*t21* t77*t142*(t434+t433-2.352214705976647*t36*t29*t1*t39*t41*t159* t145*t74+t358+t432+t356+t688+t431-4.704429411953293*t36*t29* t1*t39*t152*t112*t78)+10.62573789846517*t36*t21*t77*t167*t226* t404-5.312868949232586*t36*t21*t168*t142*t404-5.312868949232586* t36*t21*t167*t142*t403-15.93860684769776*t36*t21*t77*t445* t509*t161+5.312868949232586*t36*t21*t77*t446*t226*t161+10.62573789846517* t36*t21*t168*t167*t226*t161-2.656434474616293*t36*t21*t447* t142*t161+5.312868949232586*t36*t21*t445*t226*t160-2.656434474616293* t36*t21*t446*t142*t160)+t686+t684+t683+t682+26.04166666666667* t1*t152*t27*t3*t33*t36*t40*t440*t441+26.04166666666667*t1* t111*t154*t27*t3*t33*t36*t440*t441+t425+t424+t423+t421+t420- 0.006376968888889*t14*t17*t35*t169*t223*t405-25.0*t1*t129* t154*t27*t28*t30*t33*t35+t342+t340+t338+t337-25.0*t1*t129* t152*t27*t28*t30*t32*t33-0.009565453333333*t14*t17*t152*t32* t443*t223+0.006376968888889*t14*t17*t35*t443*t508*t162-0.003188484444444* t14*t17*t35*t448*t223*t162+0.009565453333333*t14*t17*t152* t32*t448*t109)+t449+t444+t442+t439+t178+t177; d3fdrbgagb = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*t80*(-1.390905838366201*t159*t39*t41*t74*t78*grada* gradb-5.563623353464805*t112*t152*t39*t76*grada*gradb+t694)- 2.656434474616293*t36*t21*t77*t142*(-2.352214705976647*t36* t29*grada*gradb*t39*t41*t159*t145*t74+t693-4.704429411953293* t36*t29*grada*gradb*t39*t152*t112*t78)+5.312868949232586*t36* t21*t77*t167*t226*t416-2.656434474616293*t36*t21*t168*t142* t416-2.656434474616293*t36*t21*t167*t142*t415+5.312868949232586* t36*t21*t77*t173*t226*t404-2.656434474616293*t36*t21*t174* t142*t404-2.656434474616293*t36*t21*t173*t142*t403+6.24850423665579* t28*t453*grada*gradb*t39*t41*t77*t226*t78*t161-1.176107352988323* t36*t29*grada*gradb*t39*t41*t142*t76*t161-15.93860684769776* t36*t21*t77*t167*t173*t509*t161+5.312868949232586*t36*t21* t168*t173*t226*t161+5.312868949232586*t36*t21*t174*t167*t226* t161-3.124252118327895*t28*t453*grada*gradb*t39*t41*t142*t78* t160+5.312868949232586*t36*t21*t167*t173*t226*t160)+26.04166666666667* t152*t27*t3*t33*t36*t40*t440*t441*grada*gradb+26.04166666666667* t111*t154*t27*t3*t33*t36*t440*t441*grada*gradb-25.0*t129*t154* t27*t28*t30*t33*t35*grada*gradb-25.0*t129*t152*t27*t28*t30* t32*t33*grada*gradb-6.25*t129*t27*t28*t3*t30*t33*t35*t398* gradb-6.25*t129*t27*t28*t3*t30*t33*t35*t410*grada+t692+t691+ t690+t689+0.009565453333333*t14*t17*t152*t32*t109*t454-0.003188484444444* t14*t17*t35*t169*t223*t417-0.003188484444444*t14*t17*t35*t175* t223*t405+grada*t5*t12*t27*t410*t33+gradb*t5*t12*t27*t398* t33-0.009565453333333*t14*t17*t152*t32*t169*t175*t223+0.006376968888889* t14*t17*t35*t169*t175*t508*t162-0.003188484444444*t14*t17* t35*t223*t454*t162)+t455+t452+t451+t450; d3fdrbgaab = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*t80*(-1.390905838366201*t159*t39*t41*t74*t78*grada- 5.563623353464805*t112*t152*t39*t76*grada+t700)-2.656434474616293* t36*t21*t77*t142*(-2.352214705976647*t36*t29*grada*t39*t41* t159*t145*t74+t699-4.704429411953293*t36*t29*grada*t39*t152* t112*t78)+5.312868949232586*t36*t21*t77*t167*t226*t435-2.656434474616293* t36*t21*t168*t142*t435-2.656434474616293*t36*t21*t167*t142* t430+5.312868949232586*t36*t21*t77*t181*t226*t404-2.656434474616293* t36*t21*t184*t142*t404-2.656434474616293*t36*t21*t181*t142* t403+6.24850423665579*t28*t453*grada*t39*t41*t77*t226*t78* t161-1.176107352988323*t36*t29*grada*t39*t41*t142*t76*t161- 15.93860684769776*t36*t21*t77*t181*t167*t509*t161+5.312868949232586* t36*t21*t168*t181*t226*t161+5.312868949232586*t36*t21*t184* t167*t226*t161-3.124252118327895*t28*t453*grada*t39*t41*t142* t78*t160+5.312868949232586*t36*t21*t181*t167*t226*t160)+26.04166666666667* t152*t27*t3*t33*t36*t40*t440*t441*grada+26.04166666666667* t111*t154*t27*t3*t33*t36*t440*t441*grada-6.25*t129*t27*t28* t3*t30*t33*t35*t422*grada-25.0*t129*t154*t27*t28*t30*t33*t35* grada-25.0*t129*t152*t27*t28*t30*t32*t33*grada+t698+t697+t696+ t695+0.009565453333333*t14*t17*t152*t32*t109*t461-0.003188484444444* t14*t17*t35*t169*t223*t436-0.003188484444444*t14*t17*t35*t185* t223*t405-6.25*t129*t27*t28*t3*t30*t33*t35*t398+grada*t5*t12* t27*t422*t33+t5*t12*t27*t398*t33-0.009565453333333*t14*t17* t152*t32*t185*t169*t223+0.006376968888889*t14*t17*t35*t185* t169*t508*t162-0.003188484444444*t14*t17*t35*t223*t461*t162)+ t462+t458+t457+t456; d3fdrbgbgb = t4*(2.0*t12*t27*t33*t410*t5*gradb-12.5*t129* t27*t28*t3*t30*t33*t35*t410*gradb+0.003188484444444*t109*t14* t17*t35*(2.656434474616293*t21*t36*(-1.390905838366201*t159* t2*t39*t41*t74*t78-5.563623353464805*t112*t152*t2*t39*t76+ t705+t429+t428+t427+t352+t350)*t80-2.656434474616293*t36*t21* t77*t142*(t434+t433-2.352214705976647*t36*t29*t2*t39*t41*t159* t145*t74+t358+t432+t356+t706+t431-4.704429411953293*t36*t29* t2*t39*t152*t112*t78)+10.62573789846517*t36*t21*t77*t173*t226* t416-5.312868949232586*t36*t21*t174*t142*t416-5.312868949232586* t36*t21*t173*t142*t415-15.93860684769776*t36*t21*t77*t467* t509*t161+5.312868949232586*t36*t21*t77*t468*t226*t161+10.62573789846517* t36*t21*t174*t173*t226*t161-2.656434474616293*t36*t21*t469* t142*t161+5.312868949232586*t36*t21*t467*t226*t160-2.656434474616293* t36*t21*t468*t142*t160)+t704+t703+t702+t701+26.04166666666667* t152*t2*t27*t3*t33*t36*t40*t440*t441+26.04166666666667*t111* t154*t2*t27*t3*t33*t36*t440*t441+t425+t424+t423+t421+t420- 0.006376968888889*t14*t17*t35*t175*t223*t417-25.0*t129*t154* t2*t27*t28*t30*t33*t35+t342+t340+t338+t337-25.0*t129*t152* t2*t27*t28*t30*t32*t33-0.009565453333333*t14*t17*t152*t32* t465*t223+0.006376968888889*t14*t17*t35*t465*t508*t162-0.003188484444444* t14*t17*t35*t470*t223*t162+0.009565453333333*t14*t17*t152* t32*t470*t109)+t471+t466+t464+t463+t178+t177; d3fdrbgbab = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*t80*(-1.390905838366201*t159*t39*t41*t74*t78*gradb- 5.563623353464805*t112*t152*t39*t76*gradb+t712)-2.656434474616293* t36*t21*t77*t142*(-2.352214705976647*t36*t29*gradb*t39*t41* t159*t145*t74+t711-4.704429411953293*t36*t29*gradb*t39*t152* t112*t78)+5.312868949232586*t36*t21*t77*t173*t226*t435-2.656434474616293* t36*t21*t174*t142*t435-2.656434474616293*t36*t21*t173*t142* t430+5.312868949232586*t36*t21*t77*t181*t226*t416-2.656434474616293* t36*t21*t184*t142*t416-2.656434474616293*t36*t21*t181*t142* t415+6.24850423665579*t28*t453*gradb*t39*t41*t77*t226*t78* t161-1.176107352988323*t36*t29*gradb*t39*t41*t142*t76*t161- 15.93860684769776*t36*t21*t77*t181*t173*t509*t161+5.312868949232586* t36*t21*t174*t181*t226*t161+5.312868949232586*t36*t21*t184* t173*t226*t161-3.124252118327895*t28*t453*gradb*t39*t41*t142* t78*t160+5.312868949232586*t36*t21*t181*t173*t226*t160)+26.04166666666667* t152*t27*t3*t33*t36*t40*t440*t441*gradb+26.04166666666667* t111*t154*t27*t3*t33*t36*t440*t441*gradb-6.25*t129*t27*t28* t3*t30*t33*t35*t422*gradb-25.0*t129*t154*t27*t28*t30*t33*t35* gradb-25.0*t129*t152*t27*t28*t30*t32*t33*gradb+t710+t709+t708+ t707+0.009565453333333*t14*t17*t152*t32*t109*t477-0.003188484444444* t14*t17*t35*t175*t223*t436-0.003188484444444*t14*t17*t35*t185* t223*t417-6.25*t129*t27*t28*t3*t30*t33*t35*t410+gradb*t5*t12* t27*t422*t33+t5*t12*t27*t410*t33-0.009565453333333*t14*t17* t152*t32*t185*t175*t223+0.006376968888889*t14*t17*t35*t185* t175*t508*t162-0.003188484444444*t14*t17*t35*t223*t477*t162)+ t478+t474+t473+t472; d3fdrbabab = t4*(0.003188484444444*t109*t14*t17*t35*(2.656434474616293* t21*t36*(-1.390905838366201*t159*t39*t41*t74*t78-5.563623353464805* t112*t152*t39*t76+t718)*t80-2.656434474616293*t36*t21*t77* t142*(-2.352214705976647*t36*t29*t39*t41*t159*t145*t74+t717- 4.704429411953293*t36*t29*t39*t152*t112*t78)+10.62573789846517* t36*t21*t77*t181*t226*t435-5.312868949232586*t36*t21*t184* t142*t435-5.312868949232586*t36*t21*t181*t142*t430+6.24850423665579* t28*t453*t39*t41*t77*t226*t78*t161-1.176107352988323*t36*t29* t39*t41*t142*t76*t161-15.93860684769776*t36*t21*t77*t483*t509* t161+10.62573789846517*t36*t21*t184*t181*t226*t161-3.124252118327895* t28*t453*t39*t41*t142*t78*t160+5.312868949232586*t36*t21*t483* t226*t160)+t716+t715+t714+t713+2.0*t12*t27*t33*t422*t5+0.009565453333333* t14*t17*t152*t32*t109*t486+26.04166666666667*t152*t27*t3*t33* t36*t40*t440*t441+26.04166666666667*t111*t154*t27*t3*t33*t36* t440*t441-0.006376968888889*t14*t17*t35*t185*t223*t436-12.5* t129*t27*t28*t3*t30*t33*t35*t422-25.0*t129*t154*t27*t28*t30* t33*t35-25.0*t129*t152*t27*t28*t30*t32*t33-0.009565453333333* t14*t17*t152*t32*t481*t223+0.006376968888889*t14*t17*t35*t481* t508*t162-0.003188484444444*t14*t17*t35*t223*t486*t162)+t487+ t482+t480+t479; d3fdgagaga = t4*(78.125*t111*t27*t3*t33*t36*t440*t441* grada-75.0*t129*t27*t28*t30*t33*t35*grada+0.003188484444444* t109*t14*t17*t35*(-9.372756354983688*t28*t453*grada*t39*t41* t77*t142*t78-15.93860684769776*POW(t167,3.0)*t21*t36*t509* t77+3.52832205896497*t36*t29*grada*t39*t41*t80*t76+15.93860684769776* t36*t21*t168*t445*t226+15.93860684769776*t36*t21*t77*t446* t167*t226-7.969303423848879*t36*t21*t168*t446*t142-7.969303423848879* t36*t21*t447*t167*t142)-108.5069444444444*t27*t3*t33*t515* t728*t729*t730+156.25*t111*t27*t33*t36*t440*t441*t728+0.006376968888889* t14*POW(t169,3.0)*t17*t35*t508-0.009565453333333*t14*t17*t35* t448*t169*t223); d3fdgagagb = t4*(-108.5069444444444*t1*t27*t3*t33*t515* t729*t730*gradb+156.25*t1*t111*t27*t33*t36*t440*t441*gradb+ 0.006376968888889*t14*t17*t35*t443*t175*t508+0.003188484444444* t14*t17*t35*t109*(t476-2.352214705976647*t36*t29*grada*gradb* t39*t41*t167*t142*t76+t475-6.24850423665579*t28*t453*grada* gradb*t39*t41*t168*t142*t78+12.49700847331158*t28*t453*grada* gradb*t39*t41*t77*t167*t226*t78-2.656434474616293*t36*t21* t447*t173*t142-2.656434474616293*t36*t21*t174*t446*t142+10.62573789846517* t36*t21*t168*t167*t173*t226+5.312868949232586*t36*t21*t77* t446*t173*t226+5.312868949232586*t36*t21*t174*t445*t226-15.93860684769776* t36*t21*t77*t445*t173*t509)+t473+t472-0.006376968888889*t14* t17*t35*t169*t223*t454-0.003188484444444*t14*t17*t35*t448* t175*t223); d3fdgagaab = t4*(-108.5069444444444*t1*t27*t3*t33*t515* t729*t730+0.006376968888889*t14*t17*t35*t185*t443*t508+0.003188484444444* t14*t17*t35*t109*(t485-2.352214705976647*t36*t29*grada*t39* t41*t167*t142*t76+t484-6.24850423665579*t28*t453*grada*t39* t41*t168*t142*t78+12.49700847331158*t28*t453*grada*t39*t41* t77*t167*t226*t78-2.656434474616293*t36*t21*t184*t446*t142- 2.656434474616293*t36*t21*t447*t181*t142+5.312868949232586* t36*t21*t184*t445*t226+10.62573789846517*t36*t21*t168*t181* t167*t226+5.312868949232586*t36*t21*t77*t181*t446*t226-15.93860684769776* t36*t21*t77*t181*t445*t509)+t480+t479-0.006376968888889*t14* t17*t35*t169*t223*t461+156.25*t1*t111*t27*t33*t36*t440*t441- 0.003188484444444*t14*t17*t35*t185*t448*t223); d3fdgagbgb = t4*(-108.5069444444444*t2*t27*t3*t33*t515* t729*t730*grada+156.25*t111*t2*t27*t33*t36*t440*t441*grada+ 0.006376968888889*t14*t17*t35*t169*t465*t508+0.003188484444444* t14*t17*t35*t109*(t460-2.352214705976647*t36*t29*grada*gradb* t39*t41*t173*t142*t76+t459-6.24850423665579*t28*t453*grada* gradb*t39*t41*t174*t142*t78+12.49700847331158*t28*t453*grada* gradb*t39*t41*t77*t173*t226*t78-2.656434474616293*t36*t21* t469*t167*t142-2.656434474616293*t36*t21*t168*t468*t142+5.312868949232586* t36*t21*t168*t467*t226+10.62573789846517*t36*t21*t174*t167* t173*t226+5.312868949232586*t36*t21*t77*t468*t167*t226-15.93860684769776* t36*t21*t77*t167*t467*t509)+t457+t456-0.006376968888889*t14* t17*t35*t175*t223*t454-0.003188484444444*t14*t17*t35*t470* t169*t223); d3fdgagbab = t4*(-108.5069444444444*t27*t3*t33*t515*t729* t730*grada*gradb+156.25*t111*t27*t33*t36*t440*t441*grada*gradb+ 0.003188484444444*t14*t17*t35*t109*(-1.176107352988323*t36* t29*grada*t39*t41*t173*t142*t76-1.176107352988323*t36*t29* gradb*t39*t41*t167*t142*t76-1.176107352988323*t36*t29*grada* gradb*t39*t41*t181*t142*t76-3.124252118327895*t28*t453*grada* t39*t41*t174*t142*t78-3.124252118327895*t28*t453*gradb*t39* t41*t168*t142*t78-3.124252118327895*t28*t453*grada*gradb*t39* t41*t184*t142*t78+6.24850423665579*t28*t453*grada*t39*t41* t77*t173*t226*t78+6.24850423665579*t28*t453*gradb*t39*t41* t77*t167*t226*t78+6.24850423665579*t28*t453*grada*gradb*t39* t41*t77*t181*t226*t78+5.312868949232586*t36*t21*t184*t167* t173*t226+5.312868949232586*t36*t21*t168*t181*t173*t226+5.312868949232586* t36*t21*t174*t181*t167*t226-15.93860684769776*t36*t21*t77* t181*t167*t173*t509)+0.006376968888889*t14*t17*t35*t185*t169* t175*t508-0.003188484444444*t14*t17*t35*t169*t223*t477-0.003188484444444* t14*t17*t35*t175*t223*t461-0.003188484444444*t14*t17*t35*t185* t223*t454); d3fdgaabab = t4*(-108.5069444444444*t27*t3*t33*t515*t729* t730*grada+156.25*t111*t27*t33*t36*t440*t441*grada+0.003188484444444* t14*t17*t35*t109*(-1.176107352988323*t36*t29*t39*t41*t167* t142*t76-2.352214705976647*t36*t29*grada*t39*t41*t181*t142* t76-3.124252118327895*t28*t453*t39*t41*t168*t142*t78-6.24850423665579* t28*t453*grada*t39*t41*t184*t142*t78+6.24850423665579*t28* t453*t39*t41*t77*t167*t226*t78+12.49700847331158*t28*t453* grada*t39*t41*t77*t181*t226*t78+10.62573789846517*t36*t21* t184*t181*t167*t226+5.312868949232586*t36*t21*t168*t483*t226- 15.93860684769776*t36*t21*t77*t483*t167*t509)+0.006376968888889* t14*t17*t35*t481*t169*t508-0.003188484444444*t14*t17*t35*t169* t223*t486-0.006376968888889*t14*t17*t35*t185*t223*t461); d3fdgbgbgb = t4* (78.125*t111*t27*t3*t33*t36*t440*t441*gradb-75.0*t129*t27* t28*t30*t33*t35*gradb+0.003188484444444*t109*t14*t17*t35*(- 9.372756354983688*t28*t453*gradb*t39*t41*t77*t142*t78-15.93860684769776* POW(t173,3.0)*t21*t36*t509*t77+3.52832205896497*t36*t29*gradb* t39*t41*t80*t76+15.93860684769776*t36*t21*t174*t467*t226+15.93860684769776* t36*t21*t77*t468*t173*t226-7.969303423848879*t36*t21*t174* t468*t142-7.969303423848879*t36*t21*t469*t173*t142)-108.5069444444444* t27*t3*t33*t515*t729*t730*t731+156.25*t111*t27*t33*t36*t440* t441*t731+0.006376968888889*t14*t17*POW(t175,3.0)*t35*t508- 0.009565453333333*t14*t17*t35*t470*t175*t223); d3fdgbgbab = t4*(-108.5069444444444*t2*t27*t3*t33*t515* t729*t730+0.006376968888889*t14*t17*t35*t185*t465*t508+0.003188484444444* t14*t17*t35*t109*(t485-2.352214705976647*t36*t29*gradb*t39* t41*t173*t142*t76+t484-6.24850423665579*t28*t453*gradb*t39* t41*t174*t142*t78+12.49700847331158*t28*t453*gradb*t39*t41* t77*t173*t226*t78-2.656434474616293*t36*t21*t184*t468*t142- 2.656434474616293*t36*t21*t469*t181*t142+5.312868949232586* t36*t21*t184*t467*t226+10.62573789846517*t36*t21*t174*t181* t173*t226+5.312868949232586*t36*t21*t77*t181*t468*t226-15.93860684769776* t36*t21*t77*t181*t467*t509)+t480+t479-0.006376968888889*t14* t17*t35*t175*t223*t477+156.25*t111*t2*t27*t33*t36*t440*t441- 0.003188484444444*t14*t17*t35*t185*t470*t223); d3fdgbabab = t4*(-108.5069444444444*t27*t3*t33*t515*t729* t730*gradb+156.25*t111*t27*t33*t36*t440*t441*gradb+0.003188484444444* t14*t17*t35*t109*(-1.176107352988323*t36*t29*t39*t41*t173* t142*t76-2.352214705976647*t36*t29*gradb*t39*t41*t181*t142* t76-3.124252118327895*t28*t453*t39*t41*t174*t142*t78-6.24850423665579* t28*t453*gradb*t39*t41*t184*t142*t78+6.24850423665579*t28* t453*t39*t41*t77*t173*t226*t78+12.49700847331158*t28*t453* gradb*t39*t41*t77*t181*t226*t78+10.62573789846517*t36*t21* t184*t181*t173*t226+5.312868949232586*t36*t21*t174*t483*t226- 15.93860684769776*t36*t21*t77*t483*t173*t509)+0.006376968888889* t14*t17*t35*t481*t175*t508-0.003188484444444*t14*t17*t35*t175* t223*t486-0.006376968888889*t14*t17*t35*t185*t223*t477); d3fdababab = t4* (0.003188484444444*t109*t14*t17*t35*(18.74551270996737*t28* t453*t39*t41*t77*t181*t226*t78-9.372756354983686*t28*t453* t39*t41*t184*t142*t78-15.93860684769776*POW(t181,3.0)*t21* t36*t509*t77-3.52832205896497*t36*t29*t39*t41*t181*t142*t76+ 15.93860684769776*t36*t21*t184*t483*t226)-108.5069444444444* t27*t3*t33*t515*t729*t730+0.006376968888889*t14*t17*POW(t185, 3.0)*t35*t508-0.009565453333333*t14*t17*t35*t185*t223*t486+ 156.25*t111*t27*t33*t36*t440*t441); ds->df1000 += factor*dfdra; ds->df0100 += factor*dfdrb; ds->df0010 += factor*dfdga; ds->df0001 += factor*dfdgb; ds->df00001+= factor*dfdgab; ds->df2000 += factor*d2fdrara; ds->df1100 += factor*d2fdrarb; ds->df1010 += factor*d2fdraga; ds->df1001 += factor*d2fdragb; ds->df10001+= factor*d2fdraab; ds->df0200 += factor*d2fdrbrb; ds->df0110 += factor*d2fdrbga; ds->df0101 += factor*d2fdrbgb; ds->df01001+= factor*d2fdrbgab; ds->df0020 += factor*d2fdgaga; ds->df0011 += factor*d2fdgagb; ds->df00101+= factor*d2fdgagab; ds->df0002 += factor*d2fdgbgb; ds->df00011+= factor*d2fdgbgab; ds->df00002+= factor*d2fdgabgab; ds->df3000 += factor*d3fdrarara; ds->df2100 += factor*d3fdrararb; ds->df2010 += factor*d3fdraraga; ds->df2001 += factor*d3fdraragb; ds->df20001 += factor*d3fdraraab; ds->df1200 += factor*d3fdrarbrb; ds->df1110 += factor*d3fdrarbga; ds->df1101 += factor*d3fdrarbgb; ds->df11001 += factor*d3fdrarbab; ds->df1020 += factor*d3fdragaga; ds->df1011 += factor*d3fdragagb; ds->df10101 += factor*d3fdragaab; ds->df1002 += factor*d3fdragbgb; ds->df10011 += factor*d3fdragbab; ds->df10002 += factor*d3fdraabab; ds->df0300 += factor*d3fdrbrbrb; ds->df0210 += factor*d3fdrbrbga; ds->df0201 += factor*d3fdrbrbgb; ds->df02001 += factor*d3fdrbrbab; ds->df0120 += factor*d3fdrbgaga; ds->df0111 += factor*d3fdrbgagb; ds->df01101 += factor*d3fdrbgaab; ds->df0102 += factor*d3fdrbgbgb; ds->df01011 += factor*d3fdrbgbab; ds->df01002 += factor*d3fdrbabab; ds->df0030 += factor*d3fdgagaga; ds->df0021 += factor*d3fdgagagb; ds->df00201 += factor*d3fdgagaab; ds->df0012 += factor*d3fdgagbgb; ds->df00111 += factor*d3fdgagbab; ds->df00102 += factor*d3fdgaabab; ds->df0003 += factor*d3fdgbgbgb; ds->df00021 += factor*d3fdgbgbab; ds->df00012 += factor*d3fdgbabab; ds->df00003 += factor*d3fdababab; } ergo-3.5/source/standalone/0000775000175000017500000000000012743400365012754 500000000000000ergo-3.5/source/standalone/standalone_density_file_conversion_program_2.c0000664000175000017500000001330412743400307024140 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include typedef double ergo_real; #define MAX_NO_OF_CONTR_GAUSSIANS 20 #define ergo_malloc malloc #define ergo_free free const int DENSITY_FILE_VERSION_NUMBER_OLD = 10001; const int DENSITY_FILE_VERSION_NUMBER_NEW = 10002; typedef struct { int densityFileVersion; int typeOfMatrixStorage; int noOfShells; int noOfBasisFuncs; int noOfDensityMatrices; int matrixSize_1; int matrixSize_2; int fileSizeInBytes; } densityFileHeaderStruct_old; typedef struct { int densityFileVersion; int typeOfMatrixStorage; int noOfShells; int noOfBasisFuncs; int noOfDensityMatrices; int dummy_int; double matrixSize_1; double matrixSize_2; double fileSizeInBytes; } densityFileHeaderStruct_new; int main(int argc, char* argv[]) { if(argc != 3) { printf("usage: ./x old_density_file new_density_file\n"); return 0; } printf("standalone_density_file_conversion_program_2 version 1.1\n"); char* fileName_old = argv[1]; char* fileName_new = argv[2]; // open old density file FILE* f_in = fopen(fileName_old, "rb"); if(f_in == NULL) { printf("error opening file '%s'\n", fileName_old); return -1; } // check file size fseeko(f_in, 0L, SEEK_END); off_t fileSize_old = ftello(f_in); if(fileSize_old < sizeof(densityFileHeaderStruct_old)) { printf("error: (fileSize_old < sizeof(densityFileHeaderStruct_old))\n"); return -1; } fseeko(f_in, 0L, SEEK_SET); char* buffer_old = (char*)ergo_malloc(fileSize_old); if(buffer_old == NULL) { printf("error in malloc.\n"); return -1; } size_t readsz_old = fread(buffer_old, 1, fileSize_old, f_in); fclose(f_in); if(readsz_old != fileSize_old) { printf("error reading file '%s'\n", fileName_old); ergo_free(buffer_old); return -1; } // OK, old density file contents are now in buffer_old. densityFileHeaderStruct_old* headerPtr_old = (densityFileHeaderStruct_old*)buffer_old; if(headerPtr_old->fileSizeInBytes != fileSize_old) { printf("error: (headerPtr_old->fileSizeInBytes != fileSize_old)\n"); return -1; } int noOfDensityMatrices = headerPtr_old->noOfDensityMatrices; if(noOfDensityMatrices != 1 && noOfDensityMatrices != 2) { printf("error: (noOfDensityMatrices != 1 && noOfDensityMatrices != 2)\n"); return -1; } int n = headerPtr_old->noOfBasisFuncs; int nShells = headerPtr_old->noOfShells; printf("nShells = %i, n = %i\n", nShells, n); if(n <= 0 || nShells <= 0) { printf("error: (n <= 0 || nShells <= 0)\n"); return -1; } printf("OK, file '%s' seems to contain a proper old-style density description, noOfDensityMatrices = %i\n", fileName_old, noOfDensityMatrices); printf("Now attempting to create new density description file '%s'\n", fileName_new); char* p = buffer_old + sizeof(densityFileHeaderStruct_old); densityFileHeaderStruct_new densityFileHeader_new; densityFileHeader_new.densityFileVersion = DENSITY_FILE_VERSION_NUMBER_NEW; densityFileHeader_new.typeOfMatrixStorage = headerPtr_old->typeOfMatrixStorage; densityFileHeader_new.noOfShells = headerPtr_old->noOfShells; densityFileHeader_new.noOfBasisFuncs = headerPtr_old->noOfBasisFuncs; densityFileHeader_new.noOfDensityMatrices = headerPtr_old->noOfDensityMatrices; densityFileHeader_new.matrixSize_1 = (double)headerPtr_old->matrixSize_1; densityFileHeader_new.matrixSize_2 = (double)headerPtr_old->matrixSize_2; densityFileHeader_new.fileSizeInBytes = (double)(headerPtr_old->fileSizeInBytes + sizeof(densityFileHeaderStruct_new) - sizeof(densityFileHeaderStruct_old)); // write to file FILE* f_out = fopen(fileName_new, "wb"); if(f_out == NULL) { printf("error opening file '%s' for writing\n", fileName_new); return -1; } size_t noOfBytesWritten_1 = fwrite(&densityFileHeader_new, 1, sizeof(densityFileHeaderStruct_new), f_out); if(noOfBytesWritten_1 != sizeof(densityFileHeaderStruct_new)) { printf("error in fwrite\n"); return -1; } int restSize = densityFileHeader_new.fileSizeInBytes - sizeof(densityFileHeaderStruct_new); size_t noOfBytesWritten_2 = fwrite(p, 1, restSize, f_out); if(noOfBytesWritten_2 != restSize) { printf("error in fwrite\n"); return -1; } fclose(f_out); ergo_free(buffer_old); printf("OK, density description file '%s' created, %i bytes.\n", fileName_new, (int)densityFileHeader_new.fileSizeInBytes); return 0; } ergo-3.5/source/standalone/standalone_density_file_conversion_program.c0000664000175000017500000002256712743400307023732 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include typedef double ergo_real; #define MAX_NO_OF_CONTR_GAUSSIANS 20 #define ergo_malloc malloc #define ergo_free free const int DENSITY_FILE_VERSION_NUMBER = 10001; // Matrix storage types #define MATRIX_STORAGE_TYPE_FULL 1 #define MATRIX_STORAGE_TYPE_TRIANGLE 2 struct ShellSpecStruct_old_{ int noOfContr; ergo_real coeffList[MAX_NO_OF_CONTR_GAUSSIANS]; ergo_real exponentList[MAX_NO_OF_CONTR_GAUSSIANS]; ergo_real sizeList[MAX_NO_OF_CONTR_GAUSSIANS]; ergo_real extent; ergo_real centerCoords[3]; /* x0, y0, z0 */ int shellType; int shell_ID; int noOfBasisFuncs; int startIndexInMatrix; /* start index in density matrix */ }; typedef struct ShellSpecStruct_old_ ShellSpecStruct_old; typedef struct { int noOfShells; int noOfBasisFuncs; int noOfDensityMatrices; int fileSizeInBytes; } densityFileHeaderStruct_old; struct ShellSpecStruct_new_{ ergo_real coeffList[MAX_NO_OF_CONTR_GAUSSIANS]; ergo_real exponentList[MAX_NO_OF_CONTR_GAUSSIANS]; ergo_real sizeList[MAX_NO_OF_CONTR_GAUSSIANS]; ergo_real extent; ergo_real centerCoords[3]; /* x0, y0, z0 */ int noOfContr; int shellType; int shell_ID; int noOfBasisFuncs; int startIndexInMatrix; /* start index in density matrix */ int dummy; /* padding to make sure the size of this structure is a multiple of 8 bytes */ }; typedef struct ShellSpecStruct_new_ ShellSpecStruct_new; typedef struct { int densityFileVersion; int typeOfMatrixStorage; int noOfShells; int noOfBasisFuncs; int noOfDensityMatrices; int matrixSize_1; int matrixSize_2; int fileSizeInBytes; } densityFileHeaderStruct_new; static void ddf_store_triangular_matrix(char* p, int n, const ergo_real* matrix) { ergo_real* resultPtr = (ergo_real*)p; int i, j; int count = 0; for(i = 0; i < n; i++) for(j = i; j < n; j++) { resultPtr[count] = matrix[i*n+j]; count++; } } int main(int argc, char* argv[]) { if(argc != 3) { printf("usage: ./x old_density_file new_density_file\n"); return 0; } printf("standalone_density_file_conversion_program version 1.0\n"); char* fileName_old = argv[1]; char* fileName_new = argv[2]; // open old density file FILE* f_in = fopen(fileName_old, "rb"); if(f_in == NULL) { printf("error opening file '%s'\n", fileName_old); return -1; } // check file size fseeko(f_in, 0L, SEEK_END); off_t fileSize_old = ftello(f_in); if(fileSize_old < sizeof(densityFileHeaderStruct_old)) { printf("error: (fileSize_old < sizeof(densityFileHeaderStruct_old))\n"); return -1; } fseeko(f_in, 0L, SEEK_SET); char* buffer_old = (char*)ergo_malloc(fileSize_old); if(buffer_old == NULL) { printf("error in malloc.\n"); return -1; } size_t readsz_old = fread(buffer_old, 1, fileSize_old, f_in); fclose(f_in); if(readsz_old != fileSize_old) { printf("error reading file '%s'\n", fileName_old); ergo_free(buffer_old); return -1; } // OK, old density file contents are now in buffer_old. densityFileHeaderStruct_old* headerPtr_old = (densityFileHeaderStruct_old*)buffer_old; if(headerPtr_old->fileSizeInBytes != fileSize_old) { printf("error: (headerPtr_old->fileSizeInBytes != fileSize_old)\n"); return -1; } int noOfDensityMatrices = headerPtr_old->noOfDensityMatrices; if(noOfDensityMatrices != 1 && noOfDensityMatrices != 2) { printf("error: (noOfDensityMatrices != 1 && noOfDensityMatrices != 2)\n"); return -1; } int n = headerPtr_old->noOfBasisFuncs; int nShells = headerPtr_old->noOfShells; printf("nShells = %i, n = %i\n", nShells, n); if(n <= 0 || nShells <= 0) { printf("error: (n <= 0 || nShells <= 0)\n"); return -1; } int fileSize_expected_old = sizeof(densityFileHeaderStruct_old) + nShells * sizeof(ShellSpecStruct_old) + noOfDensityMatrices * n * n * sizeof(ergo_real); if(fileSize_expected_old != fileSize_old) { printf("error: (fileSize_expected_old != fileSize_old)"); return -1; } printf("OK, file '%s' seems to contain a proper old-style density description, noOfDensityMatrices = %i\n", fileName_old, noOfDensityMatrices); printf("Now attempting to create new density description file '%s'\n", fileName_new); char* p = buffer_old + sizeof(densityFileHeaderStruct_old); ShellSpecStruct_old* shellList_old = (ShellSpecStruct_old*)p; p += nShells * sizeof(ShellSpecStruct_old); ergo_real* matrixPtr_1_old = NULL; ergo_real* matrixPtr_2_old = NULL; matrixPtr_1_old = (ergo_real*)p; p += n*n*sizeof(ergo_real); if(noOfDensityMatrices == 2) { matrixPtr_2_old = (ergo_real*)p; p += n*n*sizeof(ergo_real); } if((p - buffer_old) != fileSize_old) { printf("error: ((p - buffer_old) != fileSize_old)\n"); return -1; } int tringularMatrixStorageSize = sizeof(ergo_real) * n * (n+1) / 2; int fileSize_new = sizeof(densityFileHeaderStruct_new) + nShells * sizeof(ShellSpecStruct_new) + noOfDensityMatrices * tringularMatrixStorageSize; // allocate buffer for new density description char* buffer_new = (char*)malloc(fileSize_new); if(buffer_new == NULL) { printf("error in malloc.\n"); return -1; } memset(buffer_new, 0, fileSize_new); p = buffer_new; densityFileHeaderStruct_new densityFileHeader_new; densityFileHeader_new.densityFileVersion = DENSITY_FILE_VERSION_NUMBER; densityFileHeader_new.typeOfMatrixStorage = MATRIX_STORAGE_TYPE_TRIANGLE; densityFileHeader_new.noOfShells = nShells; densityFileHeader_new.noOfBasisFuncs = n; densityFileHeader_new.noOfDensityMatrices = noOfDensityMatrices; densityFileHeader_new.matrixSize_1 = tringularMatrixStorageSize; if(noOfDensityMatrices == 2) densityFileHeader_new.matrixSize_2 = tringularMatrixStorageSize; else densityFileHeader_new.matrixSize_2 = 0; densityFileHeader_new.fileSizeInBytes = fileSize_new; // do header memcpy(p, &densityFileHeader_new, sizeof(densityFileHeaderStruct_new)); p += sizeof(densityFileHeaderStruct_new); // do shell list ShellSpecStruct_new* shellList_new = (ShellSpecStruct_new*)p; int i; for(i = 0; i < nShells; i++) { int j; for(j = 0; j < MAX_NO_OF_CONTR_GAUSSIANS; j++) { shellList_new[i].coeffList[j] = shellList_old[i].coeffList[j]; shellList_new[i].exponentList[j] = shellList_old[i].exponentList[j]; shellList_new[i].sizeList[j] = shellList_old[i].sizeList[j]; } shellList_new[i].extent = shellList_old[i].extent; for(j = 0; j < 3; j++) shellList_new[i].centerCoords[j] = shellList_old[i].centerCoords[j]; shellList_new[i].noOfContr = shellList_old[i].noOfContr; shellList_new[i].shellType = shellList_old[i].shellType; shellList_new[i].shell_ID = shellList_old[i].shell_ID; shellList_new[i].noOfBasisFuncs = shellList_old[i].noOfBasisFuncs; shellList_new[i].startIndexInMatrix = shellList_old[i].startIndexInMatrix; shellList_new[i].dummy = 0; } // END FOR i p += nShells*sizeof(ShellSpecStruct_new); // do density matrices ddf_store_triangular_matrix(p, n, matrixPtr_1_old); p += tringularMatrixStorageSize; if(noOfDensityMatrices == 2) { ddf_store_triangular_matrix(p, n, matrixPtr_2_old); p += tringularMatrixStorageSize; } if((p - buffer_new) != fileSize_new) { printf("error: ((p - buffer_new) != fileSize_new)\n"); return -1; } // OK, buffer_new is complete, time to write it to file. // write to file FILE* f_out = fopen(fileName_new, "wb"); if(f_out == NULL) { printf("error opening file '%s' for writing\n", fileName_new); return -1; } int noOfBytesWritten = (int)fwrite(buffer_new, 1, fileSize_new, f_out); fclose(f_out); if(noOfBytesWritten != fileSize_new) { printf("error in fwrite, fileSize_new = %i, noOfBytesWritten = %i", fileSize_new, noOfBytesWritten); return -1; } ergo_free(buffer_old); ergo_free(buffer_new); printf("OK, density description file '%s' created, %i bytes.\n", fileName_new, fileSize_new); return 0; } ergo-3.5/source/basisset/0000775000175000017500000000000012743400365012441 500000000000000ergo-3.5/source/basisset/basisinfo.cc0000664000175000017500000010367112743400307014651 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file basisinfo.cc \brief Code for setting up basis functions starting from shells. @author: Elias Rudberg responsible. */ /* -*-mode:c; c-style:k&r; indent-tabs-mode: nil -*- */ /* Written by Elias Rudberg, KTH, Stockholm */ #include #include #include #include #include #include #include #include #include "basisinfo.h" #include "basisset.h" #include "memorymanag.h" #include "pi.h" #include "output.h" #include "utilities.h" #include "boysfunction.h" #include "integral_info.h" #include "integrals_general.h" #include "machine_epsilon.h" int output_basisinfo(const BasisInfoStruct & basisInfo) { static char shell_names[] = "SPDFGHIJKLMNOP"; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "=============== start of output_basisinfo ==========================="); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "output_basisinfo, basisInfo->noOfShells = %i", basisInfo.noOfShells); char line[180]; for(int i = 0; i < basisInfo.noOfShells; i++) { if(basisInfo.shellList[i].shellType >=0 && basisInfo.shellList[i].shellType<(signed)sizeof(shell_names)) do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "%c-shell at (x y z) = ( %8.4f %8.4f %8.4f )" " %d primitive(s)", shell_names[basisInfo.shellList[i].shellType], (double)basisInfo.shellList[i].centerCoords[0], (double)basisInfo.shellList[i].centerCoords[1], (double)basisInfo.shellList[i].centerCoords[2], basisInfo.shellList[i].noOfContr); else do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "shell with L=%d at (x y z) = ( %8.4f %8.4f %8.4f )" " %d primitive(s)", basisInfo.shellList[i].shellType, (double)basisInfo.shellList[i].centerCoords[0], (double)basisInfo.shellList[i].centerCoords[1], (double)basisInfo.shellList[i].centerCoords[2], basisInfo.shellList[i].noOfContr); int pos = 0; for(int j = 0; j < basisInfo.shellList[i].noOfContr; j++) { sprintf(line+pos, "%10.6f e^%9.6f,", (double)basisInfo.shellList[i].coeffList[j], (double)basisInfo.shellList[i].exponentList[j]); pos = (int)strlen(line); if(pos>60) { do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, line); pos = 0; } } if(pos>0) do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, line); } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "================ end of output_basisinfo ==========================="); return 0; } static int define_basis_func_poly(BasisFuncStruct* basisFunc, int polyIndex, const IntegralInfo& b) { if(polyIndex >= b.no_of_basis_func_polys) throw "Error in define_basis_func_poly: (polyIndex >= b.no_of_basis_func_polys)."; const basis_func_poly_struct* poly = &b.basis_func_poly_list[polyIndex]; basisFunc->noOfTermsInPolynomial = poly->noOfTerms; for(int i = 0; i < poly->noOfTerms; i++) memcpy(&basisFunc->poly[i], &poly->termList[i], sizeof(basis_func_term_struct)); return 0; } /* FIXME: is it a way to make this routine shorter, cleaner? */ static int get_simple_primitives( BasisFuncStruct* currBasisFunc, DistributionSpecStruct* list, int nInput, int nListMax, const IntegralInfo& b, int use_6_d_funcs) { /* make sure there is enough space left in list */ if((nListMax - nInput) < MAX_NO_OF_PRIMITIVES_PER_BASIS_FUNC) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_simple_primitives: " "not enough space left in list"); return -1; } /* first setup polynomial */ int spd = currBasisFunc->shellType; // Note: special case for use_6_d_funcs comes in here. if(spd == 2 && use_6_d_funcs == 1) { // SPECIAL CASE: USE 6 d-type functions instead of 5. // Use the following 6 functions: x^2 y^2 z^2 xy xz yz currBasisFunc->noOfTermsInPolynomial = 1; int i0 = 0, i1 = 0, i2 = 0; ergo_real coeff = 0; const ergo_real coeff_a = 1; const ergo_real coeff_b = 1.73205080757; switch(currBasisFunc->functionNumber) { case 0: i0 = 2; i1 = 0; i2 = 0; coeff = coeff_a; break; // x^2 case 1: i0 = 0; i1 = 2; i2 = 0; coeff = coeff_a; break; // y^2 case 2: i0 = 0; i1 = 0; i2 = 2; coeff = coeff_a; break; // y^2 case 3: i0 = 1; i1 = 1; i2 = 0; coeff = coeff_b; break; // xy case 4: i0 = 1; i1 = 0; i2 = 1; coeff = coeff_b; break; // xz case 5: i0 = 0; i1 = 1; i2 = 1; coeff = coeff_b; break; // yz default: throw "Error: default reached when defining d-type basis function."; } currBasisFunc->poly[0].coeff = coeff; currBasisFunc->poly[0].monomialInts[0] = i0; currBasisFunc->poly[0].monomialInts[1] = i1; currBasisFunc->poly[0].monomialInts[2] = i2; currBasisFunc->poly[0].monomialID = b.monomial_info.monomial_index_list[i0][i1][i2]; } else { int baseIndex = spd*spd; define_basis_func_poly(currBasisFunc, baseIndex + currBasisFunc->functionNumber, b); } int n = nInput; int contr = currBasisFunc->noOfContr; for(int kk = 0; kk < contr; kk++) { for(int ii = 0; ii < currBasisFunc->noOfTermsInPolynomial; ii++) { list[n].coeff = currBasisFunc->coeffList[kk] * currBasisFunc->poly[ii].coeff; for(int coordNo = 0; coordNo < 3; coordNo++) list[n].monomialInts[coordNo] = currBasisFunc->poly[ii].monomialInts[coordNo]; list[n].exponent = currBasisFunc->exponentList[kk]; for(int coordNo = 0; coordNo < 3; coordNo++) list[n].centerCoords[coordNo] = currBasisFunc->centerCoords[coordNo]; n++; if(n >= nListMax) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_simple_primitives: " "(n >= nListMax)"); return -1; } } /* END FOR ii */ } /* END FOR kk */ return n - nInput; } /* END get_simple_primitives */ static int sort_shells(ShellSpecStruct* list, ShellSpecStruct* listTemp, int n) { int n1, n2, i1, i2; if(n == 1) return 0; n1 = n / 2; n2 = n - n1; /* sort parts */ if(sort_shells(&list[0], listTemp, n1) != 0) return -1; if(sort_shells(&list[n1], listTemp, n2) != 0) return -1; /* merge to temp list */ i1 = 0; i2 = 0; while(i1 < n1 && i2 < n2) { if(list[i1].shell_ID < list[n1+i2].shell_ID) { memcpy(&listTemp[i1+i2], &list[i1], sizeof(ShellSpecStruct)); i1++; } else { memcpy(&listTemp[i1+i2], &list[n1+i2], sizeof(ShellSpecStruct)); i2++; } } /* END WHILE */ while(i1 < n1) { memcpy(&listTemp[i1+i2], &list[i1], sizeof(ShellSpecStruct)); i1++; } while(i2 < n2) { memcpy(&listTemp[i1+i2], &list[n1+i2], sizeof(ShellSpecStruct)); i2++; } /* copy back to result list */ memcpy(list, listTemp, n * sizeof(ShellSpecStruct)); return 0; } /* FIXME: why was there an anonymous name space here, enclosing the SquareFuncIntegrator stuff? */ namespace { }; /* end of anonymous name space */ ergo_real SquareFuncIntegrator::computeIntegralOfSquareOfBasisFunc (const IntegralInfo& integralInfo, BasisFuncStruct* basisFunc, int use_6_d_funcs) { int noOfPrimitives = get_simple_primitives(basisFunc, list, 0, MAX_NO_OF_PRIMS, integralInfo, use_6_d_funcs); if(noOfPrimitives == 0) throw "error in get_simple_primitives in computeIntegralOfSquareOfBasisFunc (noOfPrimitives == 0)"; if(noOfPrimitives < 0) throw "error in get_simple_primitives in computeIntegralOfSquareOfBasisFunc (noOfPrimitives < 0)"; // Compute square of basis function int productCount = 0; for(int ii = 0; ii < noOfPrimitives; ii++) { const DistributionSpecStruct& primA = list[ii]; for(int jj = 0; jj < noOfPrimitives; jj++) { const DistributionSpecStruct& primB = list[jj]; int nNewPrims = get_product_simple_prims(primA, primB, &productlist[productCount], MAX_NO_OF_PRIMS - productCount, 0); if(nNewPrims < 0) throw "Error in computeIntegralOfSquareOfBasisFunc, in get_product_simple_prims."; productCount += nNewPrims; } // END FOR jj } // END FOR ii ergo_real sum = 0; for(int ii = 0; ii < productCount; ii++) sum += compute_integral_of_simple_prim(&productlist[ii]); if(sum < 0) throw "Error in computeIntegralOfSquareOfBasisFunc, norm factor sum < 0."; return sum; } ergo_real SquareFuncIntegrator::getShellFactor(const IntegralInfo& integralInfo, ergo_real exponent, int shellType, int use_6_d_funcs) { BasisFuncStruct basisFunc; basisFunc.noOfContr = 1; basisFunc.coeffList[0] = 1; basisFunc.exponentList[0] = exponent; for(int kk = 0; kk < 3; kk++) basisFunc.centerCoords[kk] = 0; basisFunc.shellType = shellType; basisFunc.functionNumber = 0; // Compute integral of this basis function squared. ergo_real integralValue = computeIntegralOfSquareOfBasisFunc(integralInfo, &basisFunc, use_6_d_funcs); ergo_real shellFactor = (ergo_real)1.0 / std::sqrt(integralValue); return shellFactor; } static int find_range_index(int atomIndex, int noOfRanges, const basis_set_range_struct* rangeList) { for(int i = 0; i < noOfRanges; i++) { if(atomIndex >= rangeList[i].startAtomIndex && atomIndex < rangeList[i].startAtomIndex + rangeList[i].count) return i; } // Return -1 to indicate range not found. return -1; } static const basisset_info* select_basis_set(int atomIndex, int noOfRanges, const basis_set_range_struct* rangeList, const basisset_info* basissetDefault) { int rangeIndex = find_range_index(atomIndex, noOfRanges, rangeList); if(rangeIndex < 0) return basissetDefault; else return rangeList[rangeIndex].basisset; } /** Returns number of shells needed to describe the electronic density for given molecule and basis set. @param atomList list of atoms @param noOfAtoms the length of atomList @param basissetDefault the basis set to be used for all atoms but those specified by rangeList. @param noOfRanges the length of rangeList. @param rangeList A list of atoms that should get some other, specified basis set. @return the number of basis set shells. */ static int setup_shells_multi_basis_getcount(const Atom* atomList, int noOfAtoms, const basisset_info* basissetDefault, int noOfRanges, const basis_set_range_struct* rangeList) { int noOfShells = 0; for(int i = 0; i < noOfAtoms; i++) { int z = (int)atomList[i].charge; const basisset_info* basissetCurrAtom = select_basis_set(i, noOfRanges, rangeList, basissetDefault); int noOfShellsCurrAtom = basissetCurrAtom->atoms[z].noOfShells; if(noOfShellsCurrAtom <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in setup_shells_multi_basis_getcount: element %i is not supported by selected basis set?", z); return -1; } noOfShells += noOfShellsCurrAtom; } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "setup_shells_multi_basis_getcount, noOfShells = %i", noOfShells); return noOfShells; } static int setup_shells_multi_basis(const IntegralInfo& integralInfo, const Atom* atomList, int noOfAtoms, const basisset_info* basissetDefault, ShellSpecStruct* shell_list, int noOfShells, int noOfRanges, const basis_set_range_struct* rangeList, int use_6_d_funcs) { memset(shell_list, 0, noOfShells*sizeof(ShellSpecStruct)); int count = 0; SquareFuncIntegrator sfi; for(int i = 0; i < noOfAtoms; i++) { int z = (int)atomList[i].charge; const basisset_info* basissetCurrAtom = select_basis_set(i, noOfRanges, rangeList, basissetDefault); int noOfShellsCurrAtom = basissetCurrAtom->atoms[z].noOfShells; if(noOfShellsCurrAtom <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in setup_shells_multi_basis: element %i is not supported by selected basis set?", z); return -1; } for(int j = 0; j < noOfShellsCurrAtom; j++) { if(count >= noOfShells) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in setup_shells_multi_basis: (count >= noOfShells)."); return -1; } const basisset_shell_struct* basissetShell = &basissetCurrAtom->atoms[z].shells[j]; shell_list[count].shellType = basissetShell->type; // Note: special case for use_6_d_funcs comes in here. if(basissetShell->type == 2 && use_6_d_funcs == 1) shell_list[count].noOfBasisFuncs = 6; else shell_list[count].noOfBasisFuncs = 1 + basissetShell->type * 2; if ( basissetShell->contrCount > MAX_NO_OF_CONTR_GAUSSIANS ) throw std::runtime_error("basissetShell->contrCount > MAX_NO_OF_CONTR_GAUSSIANS in setup_shells_multi_basis(...)"); shell_list[count].noOfContr = basissetShell->contrCount; shell_list[count].shell_ID = basissetShell->shell_ID; for(int k = 0; k < 3; k++) shell_list[count].centerCoords[k] = atomList[i].coords[k]; for(int k = 0; k < basissetShell->contrCount; k++) { ergo_real exponent = basissetShell->exponentList[k]; shell_list[count].coeffList[k] = basissetShell->coeffList[k] * sfi.getShellFactor(integralInfo, exponent, basissetShell->type, use_6_d_funcs); shell_list[count].exponentList[k] = exponent; } shell_list[count].startIndexInMatrix = -1; // startIndexInMatrix will be set later. count++; } } if(count != noOfShells) return -1; return 0; } void BasisInfoStruct::addBasisfuncsForPoint(ergo_real x, ergo_real y, ergo_real z, int shellType, ergo_real exponent, const IntegralInfo & integralInfo, int print_raw, int do_normalization, int skip_sort_shells) { // Create "dummy atom" at given pos. Atom dummyAtom; dummyAtom.charge = 1; dummyAtom.coords[0] = x; dummyAtom.coords[1] = y; dummyAtom.coords[2] = z; // Create "dummy basis set" defining shell types for atoms with charge 1. basisset_info basisset; basisset.atoms.resize(2); for(int kk = 0; kk < 2; kk++) { // Use one shell of each type, up to given shellType. int nShells = shellType + 1; if(nShells >= MAX_NO_OF_SHELLS_PER_ATOM) throw std::runtime_error("Error in BasisInfoStruct::addBasisfuncsForPoint: (nShells >= MAX_NO_OF_SHELLS_PER_ATOM)."); basisset.atoms[kk].noOfShells = nShells; for(int i = 0; i <= shellType; i++) { basisset.atoms[kk].shells[i].type = i; basisset.atoms[kk].shells[i].contrCount = 1; basisset.atoms[kk].shells[i].shell_ID = i; basisset.atoms[kk].shells[i].exponentList[0] = exponent; basisset.atoms[kk].shells[i].coeffList[0] = 1; } } // OK, now the "dummy basis set" is done. addBasisfuncsForAtomList(&dummyAtom, // atomList 1, // int noOfAtoms, basisset, 0, // noOfRanges, NULL, // rangeList, integralInfo, print_raw, do_normalization, skip_sort_shells); } void BasisInfoStruct::addBasisfuncsForAtomList(const Atom* atomList, int noOfAtoms, const basisset_info & basissetDefault, int noOfRanges, const basis_set_range_struct* rangeList, const IntegralInfo& integralInfo, int print_raw, int do_normalization, int skip_sort_shells) { int noOfShellsToAdd = setup_shells_multi_basis_getcount(atomList, noOfAtoms, &basissetDefault, noOfRanges, rangeList); if(noOfShellsToAdd <= 0) throw std::runtime_error("error in setup_shells_multi_basis_getcount"); int noOfShellsNew = noOfShells + noOfShellsToAdd; do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "BasisInfoStruct::addBasisfuncsForAtomList, noOfShellsNew = %i", noOfShellsNew); ShellSpecStruct* shell_list_new = new ShellSpecStruct[noOfShellsNew]; if(this->noOfShells > 0) memcpy(shell_list_new, this->shellList, this->noOfShells*sizeof(ShellSpecStruct)); // Setup new shells if(setup_shells_multi_basis(integralInfo, atomList, noOfAtoms, &basissetDefault, &shell_list_new[noOfShells], noOfShellsToAdd, noOfRanges, rangeList, use_6_d_funcs) != 0) throw std::runtime_error("error in setup_shells_multi_basis"); for(int i = 0; i < noOfShellsNew; i++) { for(int kk = 0; kk < shell_list_new[i].noOfContr; kk++) { // calculate size shell_list_new[i].sizeList[kk] = std::fabs(std::pow((ergo_real)pi/shell_list_new[i].exponentList[kk], (ergo_real)1.5) * shell_list_new[i].coeffList[kk]); } } /* END FOR i */ if(skip_sort_shells == 0) { /* sort shells by shell ID */ std::vector shellListTemp(noOfShellsNew); if(sort_shells(shell_list_new, &shellListTemp[0], noOfShellsNew) != 0) throw std::runtime_error("Error in sort_shells."); } if(this->shellList) delete [] this->shellList; this->shellList = shell_list_new; this->noOfShells = noOfShellsNew; if(do_normalization) { if(this->normalizeShells(integralInfo) != 0) throw std::runtime_error("error in normalizeShells"); } if(this->get_basis_funcs() != 0) throw std::runtime_error("error in get_basis_funcs"); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "get_basis_funcs returned OK, number of basis funcs: %i", this->noOfBasisFuncs); if(this->getSimplePrimitivesAll(integralInfo) != 0) throw std::runtime_error("error in getSimplePrimitivesAll"); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "getSimplePrimitivesAll returned OK, n = %i", this->noOfSimplePrimitives); } /** Fills in BasisInfoStruct for given molecule and basisset_filename. It can be called several times to add basis functions for ghost molecules. @param molecule contains the description of the molecule geometry. @param basisset_filename_default contains the name of the basis set that will be used for atoms that have no basis set specified in rangeList. A number of directories will be searched for the given basis. @param noOfRanges the length of rangeList. @param rangeList is a list of basis sets associated with ranges of atoms that should get non-default basis set. @param integralInfo - the core structure for integral evaluation, needed for basis set normalization. @param print_raw - whether the basis set as read should be printed. @param do_normalization - whether the contraction coefficients in front of exponentials are to be normalized. @param skip_sort_shells disable the standard sorting of shells in the basis set with respect to atom type and exponent. @return 0 on success, -1 on failure. */ int BasisInfoStruct::addBasisfuncsForMolecule(const Molecule& molecule, const char* basisset_filename_default, int noOfRanges, const BasissetNameRange* rangeList, const IntegralInfo& integralInfo, int print_raw, int do_normalization, int skip_sort_shells) { static const char *dirv[] = { ".", "basis", "../basis", ERGO_DATA_PREFIX "/basis", ERGO_DATA_PREFIX, ERGO_SPREFIX "/basis", ERGO_SPREFIX }; basisset_info* basissetDefault = new basisset_info(); basis_set_range_struct rangeListTemp[noOfRanges]; memset(rangeListTemp, 0, noOfRanges*sizeof(basis_set_range_struct)); if(noOfRanges > 0 && rangeList == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in BasisInfoStruct::addBasisfuncsForMolecule: (noOfRanges > 0 && rangeList == NULL)."); delete basissetDefault; return -1; } if(read_basisset_file(*basissetDefault, basisset_filename_default, 6, dirv, print_raw) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file for standard basis set."); delete basissetDefault; return -1; } for(int rangeIndex = 0; rangeIndex < noOfRanges; rangeIndex++) { rangeListTemp[rangeIndex].startAtomIndex = rangeList[rangeIndex].startAtomIndex; rangeListTemp[rangeIndex].count = rangeList[rangeIndex].count; if(rangeList[rangeIndex].count <= 0) rangeListTemp[rangeIndex].basisset = NULL; else { rangeListTemp[rangeIndex].basisset = new basisset_info(); if(read_basisset_file(*rangeListTemp[rangeIndex].basisset, rangeList[rangeIndex].basisSetFileName, 6, dirv, print_raw) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file for rangeIndex = %i", rangeIndex); delete basissetDefault; return -1; } } } addBasisfuncsForAtomList(molecule.getAtomListPtr(), molecule.getNoOfAtoms(), *basissetDefault, noOfRanges, rangeListTemp, integralInfo, print_raw, do_normalization, skip_sort_shells); delete basissetDefault; return 0; } /** a factory method generating new BasisInfo struct with permuted shells and basis functions. @param shellMap vector defining the permutation of shells. newShell(i) = this.shell(shellMap(i)); @param ii IntegralInfo structure needed to reconstruct the primitive gaussian data. */ BasisInfoStruct* BasisInfoStruct::permuteShells(const int *shellMap, const IntegralInfo& ii) const { BasisInfoStruct *res = new BasisInfoStruct(use_6_d_funcs); res->noOfShells = noOfShells; res->shellList = new ShellSpecStruct[noOfShells]; for(int i = 0; ishellList[i] = shellList[shellMap[i]]; if(res->get_basis_funcs() != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_basis_funcs"); delete res; return NULL; } if(res->getSimplePrimitivesAll(ii) != 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in getSimplePrimitivesAll"); delete res; return NULL; } return res; } /** Normalizes shells so that the overlap of each basis function with itself will be 1. This is done by explicitly generating each basis function in each shell and computing the overlap. It is verified that all functions within the same shell have the same normalization factor. */ int BasisInfoStruct::normalizeShells(const IntegralInfo& integralInfo) { ergo_real normFactorTot_min = 1e22; ergo_real normFactorTot_max = 0; // Adapt tolerance to machine accuracy to be able to run with different precision. ergo_real max_allowed_difference = std::sqrt(get_machine_epsilon()); SquareFuncIntegrator sfi; for(int i = 0; i < this->noOfShells; i++) { ShellSpecStruct* currShell = &this->shellList[i]; ergo_real normFactorShell_min = 1e22; ergo_real normFactorShell_max = 0; int nFunctions = currShell->noOfBasisFuncs; if(nFunctions <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in BasisInfoStruct::normalizeShells: (nFunctions <= 0)."); return -1; } for(int j = 0; j < nFunctions; j++) { BasisFuncStruct basisFunc; basisFunc.noOfContr = currShell->noOfContr; for(int kk = 0; kk < currShell->noOfContr; kk++) { basisFunc.coeffList[kk] = currShell->coeffList[kk]; basisFunc.exponentList[kk] = currShell->exponentList[kk]; } /* END FOR kk */ for(int kk = 0; kk < 3; kk++) basisFunc.centerCoords[kk] = currShell->centerCoords[kk]; basisFunc.shellType = currShell->shellType; basisFunc.functionNumber = j; // Compute integral of this basis function squared, for normalization. ergo_real integralValue = sfi.computeIntegralOfSquareOfBasisFunc(integralInfo, &basisFunc, use_6_d_funcs); ergo_real normalizationFactor = (ergo_real)1.0 / std::sqrt(integralValue); if(normalizationFactor < normFactorShell_min) normFactorShell_min = normalizationFactor; if(normalizationFactor > normFactorShell_max) normFactorShell_max = normalizationFactor; } /* END FOR j */ ergo_real absdiff = std::fabs(normFactorShell_max - normFactorShell_min); if(absdiff > max_allowed_difference) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in BasisInfoStruct::normalizeShells: different norm factors within shell, absdiff = %22.11f.", (double)absdiff); do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "normFactorShell_min = %22.11g normFactorShell_max = %22.11g", normFactorShell_min, normFactorShell_max); return -1; } // Use average. This should not matter, they should be the same anyway. ergo_real normalizationFactor = 0.5 * (normFactorShell_max + normFactorShell_min); if(normalizationFactor < normFactorTot_min) normFactorTot_min = normalizationFactor; if(normalizationFactor > normFactorTot_max) normFactorTot_max = normalizationFactor; for(int kk = 0; kk < currShell->noOfContr; kk++) currShell->coeffList[kk] *= normalizationFactor; } /* END FOR i each shell */ do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "BasisInfoStruct::normalizeShells finished, normalizationFactor min max : %15.11f %15.11f", (double)normFactorTot_min, (double)normFactorTot_max); return 0; } /** creates list of 'basis functions', and set startIndexInMatrix for each shell. */ int BasisInfoStruct::get_basis_funcs() { int nShells = this->noOfShells; int count = 0; for(int i = 0; i < nShells; i++) { ShellSpecStruct* currShell = &this->shellList[i]; currShell->startIndexInMatrix = count; count += currShell->noOfBasisFuncs; } this->noOfBasisFuncs = count; this->basisFuncList = new BasisFuncStruct[count]; count = 0; for(int i = 0; i < nShells; i++) { ShellSpecStruct* currShell = &this->shellList[i]; int nFunctions = currShell->noOfBasisFuncs; for(int j = 0; j < nFunctions; j++) { this->basisFuncList[count].noOfContr = currShell->noOfContr; for(int kk = 0; kk < currShell->noOfContr; kk++) { this->basisFuncList[count].coeffList[kk] = currShell->coeffList[kk]; this->basisFuncList[count].exponentList[kk] = currShell->exponentList[kk]; } /* END FOR kk */ for(int kk = 0; kk < 3; kk++) this->basisFuncList[count].centerCoords[kk] = currShell->centerCoords[kk]; this->basisFuncList[count].shellType = currShell->shellType; this->basisFuncList[count].functionNumber = j; count++; } /* END FOR j */ } /* END FOR i each shell */ if(count != this->noOfBasisFuncs) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_basis_funcs: " "(count != this->noOfBasisFuncs)"); return -1; } return 0; } int BasisInfoStruct::getSimplePrimitivesAll(const IntegralInfo& integralInfo) { BasisFuncStruct* currBasisFunc; int nbast = this->noOfBasisFuncs; int maxNoOfSimplePrimsTot = nbast * MAX_NO_OF_PRIMITIVES_PER_BASIS_FUNC; DistributionSpecStruct* list = new DistributionSpecStruct[maxNoOfSimplePrimsTot]; /* create list of 'simple primitives' */ int n = 0; for(int i = 0; i < nbast; i++) { currBasisFunc = &basisFuncList[i]; int noOfPrimitives = get_simple_primitives(currBasisFunc, list, n, maxNoOfSimplePrimsTot, integralInfo, use_6_d_funcs); if(noOfPrimitives <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in get_simple_primitives"); return -1; } currBasisFunc->noOfSimplePrimitives = noOfPrimitives; currBasisFunc->simplePrimitiveIndex = n; n += noOfPrimitives; } /* END FOR i */ if(simplePrimitiveList) { printf("Releasing old simple primitive list\n"); delete []simplePrimitiveList; } this->simplePrimitiveList = new DistributionSpecStruct[n]; memcpy(this->simplePrimitiveList, list, n * sizeof(DistributionSpecStruct)); delete [] list; this->noOfSimplePrimitives = n; return 0; } /** Initializes all the fields to sane values. */ BasisInfoStruct::BasisInfoStruct(int use_6_d_funcs_) : use_6_d_funcs(use_6_d_funcs_), noOfShells(0), shellList(NULL), noOfBasisFuncs(0), basisFuncList(NULL), noOfSimplePrimitives(0), simplePrimitiveList(NULL) { } /** Copies values from another BasisInfoStruct. */ BasisInfoStruct::BasisInfoStruct(const BasisInfoStruct & b) : use_6_d_funcs(b.use_6_d_funcs), noOfShells(b.noOfShells), noOfBasisFuncs(b.noOfBasisFuncs), noOfSimplePrimitives(b.noOfSimplePrimitives) { shellList = new ShellSpecStruct[noOfShells]; memcpy(shellList, b.shellList, noOfShells*sizeof(ShellSpecStruct)); basisFuncList = new BasisFuncStruct[noOfBasisFuncs]; memcpy(basisFuncList, b.basisFuncList, noOfBasisFuncs*sizeof(BasisFuncStruct)); simplePrimitiveList = new DistributionSpecStruct[noOfSimplePrimitives]; memcpy(simplePrimitiveList, b.simplePrimitiveList, noOfSimplePrimitives*sizeof(DistributionSpecStruct)); } /** Function needed for Chunks&Tasks usage. */ void BasisInfoStruct::write_to_buffer ( char * dataBuffer, size_t const bufferSize ) const { // First store the 4 int numbers. char* p = dataBuffer; if(bufferSize < get_size()) throw std::runtime_error("Error: bufferSize too small."); memcpy(p, &noOfShells, sizeof(int)); p += sizeof(int); memcpy(p, &noOfBasisFuncs, sizeof(int)); p += sizeof(int); memcpy(p, &noOfSimplePrimitives, sizeof(int)); p += sizeof(int); memcpy(p, &use_6_d_funcs, sizeof(int)); p += sizeof(int); // There are three lists that need to be stored. Take care of them one by one. // shellList memcpy(p, shellList, noOfShells * sizeof(ShellSpecStruct)); p += noOfShells * sizeof(ShellSpecStruct); // basisFuncList memcpy(p, basisFuncList, noOfBasisFuncs * sizeof(BasisFuncStruct)); p += noOfBasisFuncs * sizeof(BasisFuncStruct); // simplePrimitiveList memcpy(p, simplePrimitiveList, noOfSimplePrimitives * sizeof(DistributionSpecStruct)); p += noOfSimplePrimitives * sizeof(DistributionSpecStruct); // DONE! } /** Function needed for Chunks&Tasks usage. */ size_t BasisInfoStruct::get_size() const { return 4 * sizeof(int) + noOfShells * sizeof(ShellSpecStruct) + noOfBasisFuncs * sizeof(BasisFuncStruct) + noOfSimplePrimitives * sizeof(DistributionSpecStruct); } /** Function needed for Chunks&Tasks usage. */ void BasisInfoStruct::assign_from_buffer ( char const * dataBuffer, size_t const bufferSize) { // First get the 4 int numbers. const char* p = dataBuffer; if(bufferSize < 4 * sizeof(int)) throw std::runtime_error("Error: bufferSize too small."); memcpy(&noOfShells, p, sizeof(int)); p += sizeof(int); memcpy(&noOfBasisFuncs, p, sizeof(int)); p += sizeof(int); memcpy(&noOfSimplePrimitives, p, sizeof(int)); p += sizeof(int); memcpy(&use_6_d_funcs, p, sizeof(int)); p += sizeof(int); // There are three lists that need to be set up. Take care of them one by one. // shellList shellList = new ShellSpecStruct[noOfShells]; memcpy(shellList, p, noOfShells * sizeof(ShellSpecStruct)); p += noOfShells * sizeof(ShellSpecStruct); // basisFuncList basisFuncList = new BasisFuncStruct[noOfBasisFuncs]; memcpy(basisFuncList, p, noOfBasisFuncs * sizeof(BasisFuncStruct)); p += noOfBasisFuncs * sizeof(BasisFuncStruct); // simplePrimitiveList simplePrimitiveList = new DistributionSpecStruct[noOfSimplePrimitives]; memcpy(simplePrimitiveList, p, noOfSimplePrimitives * sizeof(DistributionSpecStruct)); p += noOfSimplePrimitives * sizeof(DistributionSpecStruct); // DONE! if(static_cast(p-dataBuffer) > bufferSize) throw std::runtime_error("Error: (p > bufferSize)."); } BasisInfoStruct::~BasisInfoStruct() { if(shellList) delete [] shellList; if(basisFuncList) delete [] basisFuncList; if(simplePrimitiveList) delete [] simplePrimitiveList; } /** Compute safe upper limit for largest possible distance between any two basis functions in given basis set. */ ergo_real getSafeMaxDistance(const BasisInfoStruct & basisInfo) { ergo_real minCoords[3]; ergo_real maxCoords[3]; for(int coordNo = 0; coordNo < 3; coordNo++) { minCoords[coordNo] = basisInfo.basisFuncList[0].centerCoords[coordNo]; maxCoords[coordNo] = basisInfo.basisFuncList[0].centerCoords[coordNo]; } for(int i = 0; i < basisInfo.noOfBasisFuncs; i++) { for(int coordNo = 0; coordNo < 3; coordNo++) { ergo_real curr = basisInfo.basisFuncList[i].centerCoords[coordNo]; if(curr < minCoords[coordNo]) minCoords[coordNo] = curr; if(curr > maxCoords[coordNo]) maxCoords[coordNo] = curr; } } ergo_real sum = 0; for(int coordNo = 0; coordNo < 3; coordNo++) { ergo_real dx = maxCoords[coordNo] - minCoords[coordNo]; sum += dx*dx; } return std::sqrt(sum); } ergo-3.5/source/basisset/basisset.h0000664000175000017500000000533212743400307014346 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* -*-mode:c; c-style:k&r; c-basic-offset:4; indent-tabs-mode: nil -*- */ #ifndef BASISSET_HEADER #define BASISSET_HEADER #include #include "realtype.h" #include "polydegree.h" #define MAX_NO_OF_ATOM_TYPES 100 #ifndef BASIS_FUNC_POLY_MAX_DEGREE #error The constant BASIS_FUNC_POLY_MAX_DEGREE must be defined. #endif #if BASIS_FUNC_POLY_MAX_DEGREE<6 #define MAX_NO_OF_SHELLS_PER_ATOM 44 #else #define MAX_NO_OF_SHELLS_PER_ATOM 88 #endif #define MAX_NO_OF_CONTR 44 typedef struct { int type; int contrCount; int shell_ID; ergo_real exponentList[MAX_NO_OF_CONTR]; ergo_real coeffList[MAX_NO_OF_CONTR]; } basisset_shell_struct; typedef struct { int noOfShells; basisset_shell_struct shells[MAX_NO_OF_SHELLS_PER_ATOM]; } basisset_atom_struct; /* ELIAS NOTE 2014-08-02: FIXME: The basisset_struct struct is too big, causing problems when used as a chttl::Basic. The easiest fix may be to make the list dynamically allocated, and implement a simple chunk type for it instead of using chttl::Basic. */ struct basisset_info { std::vector atoms; basisset_info(); void clear(); // Stuff needed for Chunks&Tasks usage void write_to_buffer ( char * dataBuffer, size_t const bufferSize ) const; size_t get_size() const; void assign_from_buffer ( char const * dataBuffer, size_t const bufferSize); }; int read_basisset_file(basisset_info & result, const char* fileName, int dirc, const char *dirv[], int print_raw); #endif ergo-3.5/source/basisset/basisset.cc0000664000175000017500000003255412743400307014512 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file basisset.cc \brief Code for parsing a text file specifying a basisset. @author: Elias Rudberg responsible. */ /* -*-mode:c; indent-tabs-mode: nil -*- */ /* basisset.c: provides read_basisset_file() which creates a basisset_struct from a data contained in a file */ #include #include #include #include #include #include #include "basisset.h" #include "output.h" #include "memorymanag.h" basisset_info::basisset_info() { atoms.resize(MAX_NO_OF_ATOM_TYPES); clear(); } void basisset_info::clear() { memset(&atoms[0], 0x00, MAX_NO_OF_ATOM_TYPES*sizeof(basisset_atom_struct)); } void basisset_info::write_to_buffer ( char * dataBuffer, size_t const bufferSize ) const { if(bufferSize < get_size()) throw std::runtime_error("Error in basisset_info::write_to_buffer: bufferSize too small."); memcpy(dataBuffer, &atoms[0], MAX_NO_OF_ATOM_TYPES*sizeof(basisset_atom_struct)); } size_t basisset_info::get_size() const { return MAX_NO_OF_ATOM_TYPES*sizeof(basisset_atom_struct); } void basisset_info::assign_from_buffer ( char const * dataBuffer, size_t const bufferSize) { if(bufferSize != get_size()) throw std::runtime_error("Error in basisset_info::assign_from_buffer: wrong bufferSize."); memcpy(&atoms[0], dataBuffer, MAX_NO_OF_ATOM_TYPES*sizeof(basisset_atom_struct)); } static void remove_zeros(basisset_atom_struct* currAtom, int shellBaseIndex, int noOfShellsCurrBatch) { /* Remove zero coefficients. */ for(int i = 0; i < noOfShellsCurrBatch; i++) { int count = 0; ergo_real *coeffList = currAtom->shells[shellBaseIndex+i].coeffList; ergo_real *expList = currAtom->shells[shellBaseIndex+i].exponentList; for(int j = 0; j < currAtom->shells[shellBaseIndex+i].contrCount; j++) { ergo_real currCoeff = coeffList[j]; ergo_real currExponent = expList[j]; if(currCoeff != 0) { coeffList[count] = currCoeff; expList[count] = currExponent; count++; } } /* END FOR j */ currAtom->shells[shellBaseIndex+i].contrCount = count; } /* END FOR i */ } /* read_basisset_file: reads a basis set from fileName. The basis set exponents and contraction coefficients are placed in result. The reading procedure is bit convoluted because the basis set file follows the Fortran syntax, with wrapping and skipping empty elements. We basically need to emulate fortran `format' statement. There is one "but" though: AhlrichsDenFit does not follow the format syntax so it will/may be misread by eg. dalton. What a mess... The parser is implemented as a state machine. It still cannot read ANO-type basis sets... */ int read_basisset_file(basisset_info & result, const char* fileName, int dirc, const char *dirv[], int print_raw) { enum { END_PARSING, ATOM_EXPECTED, SHELL_EXPECTED, SHELL_OR_ATOM_EXPECTED, CONTRACTION_BLOCK_EXPECTED } state; int uncontracted = 0; char line[256]; basisset_atom_struct* currAtom = NULL; int spdf = -1; int shellBaseIndex = -1; int expNo = -1; FILE* f = NULL; if(!fileName) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file: fileName == NULL."); return -1; } if(fileName[0] == '/') f = fopen(fileName, "rt"); else { for(int i = 0; i < dirc; i++) { char ffname[256]; int len = strlen(dirv[i]); strncpy(ffname, dirv[i], sizeof(ffname)); if(len>0 && ffname[len-1] != '/') strncat(ffname, "/", sizeof(ffname)-1-len); strncat(ffname, fileName, sizeof(ffname)-2-len); do_output(LOG_CAT_WARNING, LOG_AREA_INTEGRALS, "Trying basis set file '%s'...", ffname); if( (f=fopen(ffname, "rt")) != NULL) break; } } if(f == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error opening file '%s'", fileName); return -1; } /* now create basis set by reading buf2 */ result.clear(); int noOfAtomTypes = 0; state = ATOM_EXPECTED; int lineNo = 0; int lineConsumed = 1; ergo_real currExponent = 0; /* start global parsing loop */ do { int dummy; if(lineConsumed) { if(fgets(line, sizeof(line), f) == NULL) { state = END_PARSING; break; } lineConsumed = 0; lineNo++; } for(int cc = strlen(line)-1; cc>=0 && isspace(line[cc]); cc--) line[cc] = '\0'; if(line[0] == '$' || line[0] == '!' || line[0] == '#'|| line[0] == '*' || line[0] == '\0'|| line[0] == '\n') { lineConsumed = 1; /* skip the comment and move on */ continue; } switch(state) { case ATOM_EXPECTED: if(line[0] == 'a' || line[0] == 'A') { noOfAtomTypes++; int atomType = atoi(line+1); if(print_raw) do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "Basis set for atom of Z=%d", atomType); state = SHELL_EXPECTED; if(atomType <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file: (atomType <= 0) " " in line %d %s", lineNo, fileName); return -1; } if(atomType >= MAX_NO_OF_ATOM_TYPES) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file: " "(atomType >= MAX_NO_OF_ATOM_TYPES) in line %d %s", lineNo, fileName); return -1; } currAtom = &result.atoms[atomType]; spdf = 0; shellBaseIndex = 0; } lineConsumed = 1; break; case SHELL_OR_ATOM_EXPECTED: if(line[0] == 'a' || line[0] == 'A') { state = ATOM_EXPECTED; /* fininalize current atom data */ if(currAtom == NULL || shellBaseIndex < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file: (currAtom == NULL || shellBaseIndex < 0) in line %d %s", lineNo, fileName); return -1; } currAtom->noOfShells = shellBaseIndex; break; } /* else fall through */ case SHELL_EXPECTED: if(shellBaseIndex < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file: (shellBaseIndex < 0) in line %d %s", lineNo, fileName); return -1; } int noOfExponents, noOfShellsCurrBatch; if(sscanf(line, "%d %d %d", &noOfExponents, &noOfShellsCurrBatch, &dummy ) != 3) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file: " "Shell data expected in line %d:\n%s", lineNo, line); return -1; } if(noOfExponents <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file: " "(noOfExponents <= 0) in line %d %s", lineNo, fileName); return -1; } if(noOfExponents >= MAX_NO_OF_CONTR) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file: " "(noOfExponents >= MAX_NO_OF_CONTR) in line %d", lineNo); return -1; } if(noOfShellsCurrBatch < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file: " "(noOfShellsCurrBatch < 0) in line %d", lineNo); return -1; } if(noOfShellsCurrBatch == 0) { /* special case: uncontracted, expect only one column */ noOfShellsCurrBatch = noOfExponents; uncontracted = 1; } else uncontracted = 0; if(shellBaseIndex + noOfShellsCurrBatch >= MAX_NO_OF_SHELLS_PER_ATOM) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file: too many shells."); return -1; } /* initialize shell data. Set the contraction count to its upper limit. remove_zeros() will later check for a better, lower value. */ for(int i = 0; i < noOfShellsCurrBatch; i++) { if(currAtom == NULL || spdf < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file: (currAtom == NULL || spdf < 0) in line %d %s", lineNo, fileName); return -1; } currAtom->shells[shellBaseIndex+i].type = spdf; currAtom->shells[shellBaseIndex+i].contrCount = noOfExponents; } expNo = 0; state = CONTRACTION_BLOCK_EXPECTED; if(print_raw) do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "Block for L=%d primitives: %d contracted: %d", spdf, noOfExponents, noOfShellsCurrBatch); lineConsumed = 1; break; case CONTRACTION_BLOCK_EXPECTED: currExponent = atof(line); if(currExponent <= 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error: (currExponent <= 0) in line %d", lineNo); return -1; } if(currAtom == NULL || shellBaseIndex < 0 || expNo < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file: (currAtom == NULL || shellBaseIndex < 0 || expNo < 0) in line %d %s", lineNo, fileName); return -1; } if(uncontracted) { for(int i = 0; i < noOfShellsCurrBatch; i++) { currAtom->shells[shellBaseIndex+i].exponentList[expNo] = currExponent; currAtom->shells[shellBaseIndex+i].coeffList[expNo] = i == expNo ? 1.0 : 0.0; } } else { int idx = 0; /* skip exponent */ while(line[idx] && isspace(line[idx])) idx++; for(int i = 0; i < noOfShellsCurrBatch; i++) { currAtom->shells[shellBaseIndex+i].exponentList[expNo] = currExponent; while(line[idx] && !isspace(line[idx])) idx++; while(line[idx] && isspace(line[idx])) idx++; if( !line[idx] ) { /* Second line begins when we are about to read 7th contraction coefficient (i=6), third line for 14th (i=13), fourth for i=20 etc. If this pattern does not match, warn the user. */ if( i != 6 && (i+1) % 7 != 0 ) do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "WARN: line %d has trailing data: '%s'" "non-conformant basis set file for i=%d.", lineNo, line + idx, i); if(fgets(line, sizeof(line), f) == NULL) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "reading error when continuing shell data."); return -1; } lineNo++; idx = 0; while(line[idx] && isspace(line[idx])) idx++; } currAtom->shells[shellBaseIndex+i].coeffList[expNo] = atof(line + idx); } /* END FOR i */ } if(print_raw) { char line[256], eee[20]; line[0] = '\0'; for(int i = 0; ishells[shellBaseIndex+i].coeffList[expNo]); strcat(line, eee); } do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "%d %12.6f: %s", expNo, (double)currExponent, line); } if(++expNo == noOfExponents) { remove_zeros(currAtom, shellBaseIndex, noOfShellsCurrBatch); shellBaseIndex += noOfShellsCurrBatch; spdf++; state = SHELL_OR_ATOM_EXPECTED; } lineConsumed = 1; break; case END_PARSING: /* do nothing */ break; } } while(state != END_PARSING); fclose(f); /* fininalize current atom data */ if(currAtom == NULL || shellBaseIndex < 0) { do_output(LOG_CAT_ERROR, LOG_AREA_INTEGRALS, "error in read_basisset_file: (currAtom == NULL || shellBaseIndex < 0) in line %d %s", lineNo, fileName); return -1; } currAtom->noOfShells = shellBaseIndex; /* Postprocessing... */ /* set shell ID for each shell in basis set */ int currShellID = 0; for(int i = 0; i < MAX_NO_OF_ATOM_TYPES; i++) { int noOfShells = result.atoms[i].noOfShells; for(int j = 0; j < noOfShells; j++) { basisset_shell_struct* currShell = &result.atoms[i].shells[j]; currShellID++; currShell->shell_ID = currShellID; } /* END FOR j */ } /* END FOR i */ do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "total number of shells in basis set: %i", currShellID); do_output(LOG_CAT_INFO, LOG_AREA_INTEGRALS, "Basis set file '%s' processed OK, noOfAtomTypes = %i", fileName, noOfAtomTypes); return 0; } ergo-3.5/source/basisset/Makefile.in0000664000175000017500000004063712743400352014434 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/basisset ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libbasisset_a_AR = $(AR) $(ARFLAGS) libbasisset_a_LIBADD = am_libbasisset_a_OBJECTS = basisinfo.$(OBJEXT) basisset.$(OBJEXT) libbasisset_a_OBJECTS = $(am_libbasisset_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libbasisset_a_SOURCES) DIST_SOURCES = $(libbasisset_a_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libbasisset.a libbasisset_a_SOURCES = \ basisinfo.cc \ basisinfo.h \ basisset.cc \ basisset.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/matrix all: all-am .SUFFIXES: .SUFFIXES: .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/basisset/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/basisset/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libbasisset.a: $(libbasisset_a_OBJECTS) $(libbasisset_a_DEPENDENCIES) $(EXTRA_libbasisset_a_DEPENDENCIES) $(AM_V_at)-rm -f libbasisset.a $(AM_V_AR)$(libbasisset_a_AR) libbasisset.a $(libbasisset_a_OBJECTS) $(libbasisset_a_LIBADD) $(AM_V_at)$(RANLIB) libbasisset.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basisinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basisset.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/basisset/Makefile.am0000664000175000017500000000046412743400275014421 00000000000000noinst_LIBRARIES = libbasisset.a libbasisset_a_SOURCES = \ basisinfo.cc \ basisinfo.h \ basisset.cc \ basisset.h AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/matrix ergo-3.5/source/basisset/basisinfo.h0000664000175000017500000001623712743400307014514 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef BASISINFO_HEADER #define BASISINFO_HEADER /* for NULL */ #include #include "realtype.h" #include "integral_info.h" /* for Molecule */ #include "molecule.h" #include "basisset.h" #define MAX_NO_OF_PRIMITIVES_PER_BASIS_FUNC 44 struct DistributionSpecStruct_{ ergo_real coeff; /**< Coefficient A */ ergo_real exponent; /**< exponent alfa */ ergo_real extent; ergo_real centerCoords[3]; /**< x0, y0, z0 */ char monomialInts[4]; /**< nx, ny, nz */ }; typedef struct DistributionSpecStruct_ DistributionSpecStruct; typedef struct { int basisFuncIndex_1; int basisFuncIndex_2; int pairIndex; int groupID; ergo_real limitingFactor; // squareroot of repulsion integral of this distr with itself. ergo_real dmatElement; DistributionSpecStruct distr; } DistributionSpecStructLabeled; #define MAX_NO_OF_CONTR_GAUSSIANS 20 struct ShellSpecStruct_{ ergo_real coeffList[MAX_NO_OF_CONTR_GAUSSIANS]; ergo_real exponentList[MAX_NO_OF_CONTR_GAUSSIANS]; ergo_real sizeList[MAX_NO_OF_CONTR_GAUSSIANS]; ergo_real padding; /* We keep this for compatibility with old density files... */ ergo_real centerCoords[3]; /* x0, y0, z0 */ int noOfContr; int shellType; int shell_ID; int noOfBasisFuncs; int startIndexInMatrix; /* start index in density matrix */ int dummy; /* padding to make sure the size of this structure is a multiple of 8 bytes */ }; typedef struct ShellSpecStruct_ ShellSpecStruct; struct BasisFuncStruct_{ int noOfContr; ergo_real coeffList[MAX_NO_OF_CONTR_GAUSSIANS]; ergo_real exponentList[MAX_NO_OF_CONTR_GAUSSIANS]; ergo_real extent; Vector3D centerCoords; /* x0, y0, z0 */ int shellType; /* 0 <-> 's', 1 <-> 'p', 2 <-> 'd' etc */ int functionNumber; /* -1,0,1 for 'p', -2,-1,0,1,2 for 'd', etc */ int noOfSimplePrimitives; int simplePrimitiveIndex; int noOfTermsInPolynomial; basis_func_term_struct poly[MAX_NO_OF_TERMS_IN_BASIS_FUNC_POLY]; }; typedef struct BasisFuncStruct_ BasisFuncStruct; typedef struct { int startAtomIndex; int count; basisset_info* basisset; } basis_set_range_struct; typedef struct { int startAtomIndex; int count; char* basisSetFileName; } BasissetNameRange; struct BasisInfoStruct{ int use_6_d_funcs; /**< Whether to use 6 d-type basis functions instead of the usual 5 functions. This option exists to make it possible to get results compatible with other codes that have d-type functions defined in that way. */ int noOfShells; ShellSpecStruct* shellList; int noOfBasisFuncs; BasisFuncStruct* basisFuncList; int noOfSimplePrimitives; DistributionSpecStruct* simplePrimitiveList; /** Initializes all the fields to sane values. */ BasisInfoStruct(int use_6_d_funcs_ = 0); /** Copies values from another BasisInfoStruct. */ BasisInfoStruct(const BasisInfoStruct & b); ~BasisInfoStruct(); void addBasisfuncsForPoint(ergo_real x, ergo_real y, ergo_real z, int shellType, ergo_real exponent, const IntegralInfo & integralInfo, int print_raw, int do_normalization, int skip_sort_shells); void addBasisfuncsForAtomList(const Atom* atomList, int noOfAtoms, const basisset_info & basissetDefault, int noOfRanges, const basis_set_range_struct* rangeList, const IntegralInfo & integralInfo, int print_raw, int do_normalization, int skip_sort_shells); int addBasisfuncsForMolecule(const Molecule& molecule, const char* basisset_filename_default, int noOfRanges, const BasissetNameRange* rangeList, const IntegralInfo& integralInfo, int print_raw, int do_normalization, int skip_sort_shells); BasisInfoStruct *permuteShells(const int *shellMap, const IntegralInfo& ii) const; int normalizeShells(const IntegralInfo& integralInfo); int get_basis_funcs(); int getSimplePrimitivesAll(const IntegralInfo& integralInfo); // Stuff needed for Chunks&Tasks usage void write_to_buffer ( char * dataBuffer, size_t const bufferSize ) const; size_t get_size() const; void assign_from_buffer ( char const * dataBuffer, size_t const bufferSize); }; /** Provides temporary storage for compute_integral_of_square_of_basis_func. Stack used to be the storage but many operating systems do not like to allocate so much space for stack, particularly when many threads are present. */ struct SquareFuncIntegrator { const int MAX_NO_OF_PRIMS; DistributionSpecStruct *list; DistributionSpecStruct *productlist; SquareFuncIntegrator() : MAX_NO_OF_PRIMS(44444) { list = new DistributionSpecStruct[MAX_NO_OF_PRIMS]; productlist = new DistributionSpecStruct[MAX_NO_OF_PRIMS]; } ~SquareFuncIntegrator() { delete []list; delete []productlist; } ergo_real computeIntegralOfSquareOfBasisFunc (const IntegralInfo& integralInfo, BasisFuncStruct* basisFunc, int use_6_d_funcs); ergo_real getShellFactor(const IntegralInfo& integralInfo, ergo_real exponent, int shellType, int use_6_d_funcs); }; #ifdef ERGO_ENABLE_DEPRECATED int basisinfo_construct_multi_basis(BasisInfoStruct* result_basisInfo, const Molecule* molecule, const char* basisset_filename_default, const Molecule* ghostMolecule, const char* ghost_molecule_basisset_filename, int noOfRanges, const BasissetNameRange* rangeList, IntegralInfo* integralInfo, int print_raw, int do_normalization, int skip_sort_shells, int skip_standard_basis); struct AtomInfoStruct_{ int charge; ergo_real coords[3]; }; typedef struct AtomInfoStruct_ AtomInfoStruct; #endif int get_basis_funcs(BasisInfoStruct* basisInfo, const IntegralInfo* integralInfo, int do_normalization); int get_simple_primitives_all(BasisInfoStruct* basisInfo, const IntegralInfo* integralInfo); int output_basisinfo(const BasisInfoStruct & basisInfo); ergo_real getSafeMaxDistance(const BasisInfoStruct & basisInfo); #endif ergo-3.5/source/matrix_wrapper/0000775000175000017500000000000012743400366013671 500000000000000ergo-3.5/source/matrix_wrapper/file_tools/0000775000175000017500000000000012743400366016030 500000000000000ergo-3.5/source/matrix_wrapper/file_tools/test/0000775000175000017500000000000012743400366017007 500000000000000ergo-3.5/source/matrix_wrapper/file_tools/test/Makefile.in0000664000175000017500000003720012743400353020772 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : noinst_PROGRAMS = test$(EXEEXT) subdir = source/matrix_wrapper/file_tools/test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_OBJECTS = test.$(OBJEXT) test_OBJECTS = $(am_test_OBJECTS) test_DEPENDENCIES = $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(test_SOURCES) DIST_SOURCES = $(test_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src test_SOURCES = \ test.cc test_LDADD = \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a all: all-am .SUFFIXES: .SUFFIXES: .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/matrix_wrapper/file_tools/test/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/matrix_wrapper/file_tools/test/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) $(EXTRA_test_DEPENDENCIES) @rm -f test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/matrix_wrapper/file_tools/test/Makefile.am0000664000175000017500000000040412743400275020760 00000000000000noinst_PROGRAMS = test AM_CPPFLAGS = \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src test_SOURCES = \ test.cc test_LDADD = \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a ergo-3.5/source/matrix_wrapper/file_tools/test/test.cc0000664000175000017500000000421112743400307020206 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include #include #include #include "files_dense.h" #include "files_sparse.h" using namespace std; int main(int argc, char *argv[]) { // test sparse int nnz = 4; int N = 10; int I[] = { 0, 4, 2, 8 }; int J[] = { 3, 8, 7, 5 }; real val[] = {1.1, 2.2, 3.2, 4.4}; vector Iv (I, I + sizeof(I) / sizeof(int)); vector Jv (J, J + sizeof(J) / sizeof(int)); vector valv (val, val + sizeof(val) / sizeof(real)); if(write_matrix_to_mtx("test_sparse.mtx", Iv, Jv, valv, N, N) == -1) { printf("Error in write_matrix_to_mtx.\n"); return -1; } vector Iv2; vector Jv2; vector valv2; int N2; read_matrix_from_mtx("test_sparse.mtx", Iv2, Jv2, valv2, N2, N2); assert(N == N2); assert((int)Iv2.size() == nnz); assert(Iv == Iv2); assert(Jv == Jv2); assert(valv == valv2); cout << "All tests finished OK!" << endl; return 1; } ergo-3.5/source/matrix_wrapper/file_tools/src/0000775000175000017500000000000012743400366016617 500000000000000ergo-3.5/source/matrix_wrapper/file_tools/src/files_dense.h0000664000175000017500000000371012743400307021164 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef FILES_DENSE_HEADER_TXT #define FILES_DENSE_HEADER_TXT #include "realtype.h" // definitions of types (utilities_basic) #include #include #include #include #include using namespace std; typedef ergo_real real; #define PRECISION 16 /* READ DENSE MATRIX FROM THE FILE */ int read_matrix(const char *filename, vector &A, int &N, int &M, bool is_binary = false); int read_vector(const char *filename, vector &A, int &N, bool is_binary); /* WRITE DENSE MATRIX TO THE FILE */ int write_matrix(const char *filename, const vector &A, int N, int M); /* WRITE VECTOR TO THE FILE */ int write_vector(const char *filename, const vector &v); #endif //FILES_DENSE_HEADER_TXT ergo-3.5/source/matrix_wrapper/file_tools/src/mmio.h0000664000175000017500000001271412743400307017651 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* * Matrix Market I/O library for ANSI C * * See http://math.nist.gov/MatrixMarket for details. * * */ #ifndef MM_IO_H #define MM_IO_H #define MM_MAX_LINE_LENGTH 1025 #define MatrixMarketBanner "%%MatrixMarket" #define MM_MAX_TOKEN_LENGTH 64 #ifdef __cplusplus #define EXTERN_C extern "C" #else #define EXTERN_C #endif typedef char MM_typecode[4]; EXTERN_C char *mm_typecode_to_str(MM_typecode matcode); EXTERN_C int mm_read_banner(FILE *f, MM_typecode *matcode); EXTERN_C int mm_read_mtx_crd_size(FILE *f, int *M, int *N, int *nz); EXTERN_C int mm_read_mtx_array_size(FILE *f, int *M, int *N); EXTERN_C int mm_write_banner(FILE *f, MM_typecode matcode); EXTERN_C int mm_write_mtx_crd_size(FILE *f, int M, int N, int nz); EXTERN_C int mm_write_mtx_array_size(FILE *f, int M, int N); /********************* MM_typecode query fucntions ***************************/ #define mm_is_matrix(typecode) ((typecode)[0]=='M') #define mm_is_sparse(typecode) ((typecode)[1]=='C') #define mm_is_coordinate(typecode)((typecode)[1]=='C') #define mm_is_dense(typecode) ((typecode)[1]=='A') #define mm_is_array(typecode) ((typecode)[1]=='A') #define mm_is_complex(typecode) ((typecode)[2]=='C') #define mm_is_real(typecode) ((typecode)[2]=='R') #define mm_is_pattern(typecode) ((typecode)[2]=='P') #define mm_is_integer(typecode) ((typecode)[2]=='I') #define mm_is_symmetric(typecode)((typecode)[3]=='S') #define mm_is_general(typecode) ((typecode)[3]=='G') #define mm_is_skew(typecode) ((typecode)[3]=='K') #define mm_is_hermitian(typecode)((typecode)[3]=='H') int mm_is_valid(MM_typecode matcode); /* too complex for a macro */ /********************* MM_typecode modify fucntions ***************************/ #define mm_set_matrix(typecode) ((*typecode)[0]='M') #define mm_set_coordinate(typecode) ((*typecode)[1]='C') #define mm_set_array(typecode) ((*typecode)[1]='A') #define mm_set_dense(typecode) mm_set_array(typecode) #define mm_set_sparse(typecode) mm_set_coordinate(typecode) #define mm_set_complex(typecode)((*typecode)[2]='C') #define mm_set_real(typecode) ((*typecode)[2]='R') #define mm_set_pattern(typecode)((*typecode)[2]='P') #define mm_set_integer(typecode)((*typecode)[2]='I') #define mm_set_symmetric(typecode)((*typecode)[3]='S') #define mm_set_general(typecode)((*typecode)[3]='G') #define mm_set_skew(typecode) ((*typecode)[3]='K') #define mm_set_hermitian(typecode)((*typecode)[3]='H') #define mm_clear_typecode(typecode) ((*typecode)[0]=(*typecode)[1]= \ (*typecode)[2]=' ',(*typecode)[3]='G') #define mm_initialize_typecode(typecode) mm_clear_typecode(typecode) /********************* Matrix Market error codes ***************************/ #define MM_COULD_NOT_READ_FILE 11 #define MM_PREMATURE_EOF 12 #define MM_NOT_MTX 13 #define MM_NO_HEADER 14 #define MM_UNSUPPORTED_TYPE 15 #define MM_LINE_TOO_LONG 16 #define MM_COULD_NOT_WRITE_FILE 17 /******************** Matrix Market internal definitions ******************** MM_matrix_typecode: 4-character sequence ojbect sparse/ data storage dense type scheme string position: [0] [1] [2] [3] Matrix typecode: M(atrix) C(oord) R(eal) G(eneral) A(array) C(omplex) H(ermitian) P(attern) S(ymmetric) I(nteger) K(kew) ***********************************************************************/ #define MM_MTX_STR "matrix" #define MM_ARRAY_STR "array" #define MM_DENSE_STR "array" #define MM_COORDINATE_STR "coordinate" #define MM_SPARSE_STR "coordinate" #define MM_COMPLEX_STR "complex" #define MM_REAL_STR "real" #define MM_INT_STR "integer" #define MM_GENERAL_STR "general" #define MM_SYMM_STR "symmetric" #define MM_HERM_STR "hermitian" #define MM_SKEW_STR "skew-symmetric" #define MM_PATTERN_STR "pattern" /* high level routines */ int mm_write_mtx_crd(char fname[], int M, int N, int nz, int I[], int J[], double val[], MM_typecode matcode); int mm_read_mtx_crd_data(FILE *f, int M, int N, int nz, int I[], int J[], double val[], MM_typecode matcode); int mm_read_mtx_crd_entry(FILE *f, int *I, int *J, double *real, double *img, MM_typecode matcode); int mm_read_unsymmetric_sparse(const char *fname, int *M_, int *N_, int *nz_, double **val_, int **I_, int **J_); #endif ergo-3.5/source/matrix_wrapper/file_tools/src/mmio.c0000664000175000017500000003435312743400307017647 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /* * Matrix Market I/O library for ANSI C * * See http://math.nist.gov/MatrixMarket for details. * * */ #include #include #include #include #include "mmio.h" int mm_read_unsymmetric_sparse(const char *fname, int *M_, int *N_, int *nz_, double **val_, int **I_, int **J_) { FILE *f; MM_typecode matcode; int M, N, nz; int i; double *val; int *I, *J; if ((f = fopen(fname, "r")) == NULL) return -1; if (mm_read_banner(f, &matcode) != 0) { printf("mm_read_unsymetric: Could not process Matrix Market banner "); printf(" in file [%s]\n", fname); return -1; } if ( !(mm_is_real(matcode) && mm_is_matrix(matcode) && mm_is_sparse(matcode))) { fprintf(stderr, "Sorry, this application does not support "); fprintf(stderr, "Market Market type: [%s]\n", mm_typecode_to_str(matcode)); return -1; } /* find out size of sparse matrix: M, N, nz .... */ if (mm_read_mtx_crd_size(f, &M, &N, &nz) !=0) { fprintf(stderr, "read_unsymmetric_sparse(): could not parse matrix size.\n"); return -1; } *M_ = M; *N_ = N; *nz_ = nz; /* reseve memory for matrices */ I = (int *) malloc(nz * sizeof(int)); J = (int *) malloc(nz * sizeof(int)); val = (double *) malloc(nz * sizeof(double)); *val_ = val; *I_ = I; *J_ = J; /* NOTE: when reading in doubles, ANSI C requires the use of the "l" */ /* specifier as in "%lg", "%lf", "%le", otherwise errors will occur */ /* (ANSI C X3.159-1989, Sec. 4.9.6.2, p. 136 lines 13-15) */ for (i=0; i. * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "files_dense.h" using namespace std; typedef ergo_real real; #define PRECISION 16 /* READ DENSE MATRIX FROM THE FILE */ int read_matrix(const char *filename, vector &A, int &N, int &M, bool is_binary) { ifstream f; if(!is_binary) f.open (filename, ios::in); else f.open (filename, ios::in | std::ios::binary); if (!f.is_open()) { printf("Error: cannot open file\n"); return -1; } // Make sure to avoid int overflow when computing N*M size_t N_x_M = (size_t)N * (size_t)M; if(!is_binary) { // read size f >> N; f >> M; A.clear(); A.resize(N_x_M); } if(!is_binary) { for(size_t i = 0; i < N_x_M; ++i ) f >> A[i]; } else { // get length of file: f.seekg (0, f.end); size_t length = f.tellg(); // number of bytes f.seekg (0, f.beg); N = std::sqrt(length/8); M = N; A.clear(); A.resize(N_x_M); std::cout << "Reading " << length << " characters == " << N_x_M << " double numbers... "; // read data as a block: f.read((char *) &A[0], A.size()*sizeof(real)); if (f) std::cout << "all characters read successfully."; else std::cout << "error: only " << f.gcount() << " could be read"; } f.close(); return 1; } /* READ VECTOR FROM THE FILE */ int read_vector(const char *filename, vector &A, int &N, bool is_binary) { ifstream f; if(!is_binary) f.open (filename, ios::in); else f.open (filename, ios::in | std::ios::binary); if (!f.is_open()) { printf("Error: cannot open file\n"); return -1; } if(!is_binary) { // read size f >> N; A.clear(); A.resize(N); } if(!is_binary) { for(int i = 0; i < N; ++i ) f >> A[i]; } else { // get length of file: f.seekg (0, f.end); size_t length = f.tellg(); // number of bytes f.seekg (0, f.beg); N = std::sqrt(length/8); A.clear(); A.resize(N); std::cout << "Reading " << length << " characters == " << N << " double numbers... "; // read data as a block: f.read((char *) &A[0], A.size()*sizeof(real)); if (f) std::cout << "all characters read successfully."; else std::cout << "error: only " << f.gcount() << " could be read"; } f.close(); return 1; } /* WRITE DENSE MATRIX TO THE FILE */ int write_matrix(const char *filename, const vector &A, int N, int M) { ofstream f; f.open (filename, ios::out); if (!f.is_open()) { printf("Error: cannot open file\n"); return -1; } f.precision(PRECISION); f << N << " " << M << endl; for(int i = 0; i < N; ++i ) { for(int j = 0; j < M; ++j) f << A[i*M+j] << " "; f << endl; } return 1; } /* WRITE VECTOR TO THE FILE */ int write_vector(const char *filename, const vector &v) { ofstream f; f.open (filename, ios::out); if (!f.is_open()) { printf("Error: cannot open file\n"); return -1; } f.precision(PRECISION); int N = v.size(); for(int i = 0; i < N; ++i ) f << v[i] << " "; return 1; } ergo-3.5/source/matrix_wrapper/file_tools/src/files_sparse.h0000664000175000017500000000360312743400307021364 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef FILES_SPARSE_HEADER #define FILES_SPARSE_HEADER #include "realtype.h" // definitions of types (utilities_basic) #include #include #include #include #include #include "mmio.h" using namespace std; typedef ergo_real real; /* READ SPARSE MATRIX FROM THE MATRIX MARKET FILE */ int read_matrix_from_mtx(const char* filename, vector &I, vector &J, vector &val, int &N, int &M); /* READ SPARSE MATRIX FROM THE MATRIX MARKET FILE */ int write_matrix_to_mtx(const char* filename, const vector &I, const vector &J, const vector &val, const int &N, const int &M); #endif //FILES_SPARSE_HEADER ergo-3.5/source/matrix_wrapper/file_tools/src/files_sparse.cc0000664000175000017500000001102312743400307021515 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "files_sparse.h" using namespace std; typedef ergo_real real; /* READ SPARSE MATRIX FROM THE MATRIX MARKET FILE */ int read_matrix_from_mtx(const char* filename, std::vector &I, vector &J, vector &val, int &N, int &M) { int ret_code; MM_typecode matcode; FILE *f; int nz; int i; if ((f = fopen(filename, "r")) == NULL) { printf("Error opening file!\n"); return -1; } if (mm_read_banner(f, &matcode) != 0) { printf("Could not process Matrix Market banner.\n"); return -1; } /* This is how one can screen matrix types if their application */ /* only supports a subset of the Matrix Market data types. */ if (mm_is_complex(matcode) && mm_is_matrix(matcode) && mm_is_sparse(matcode) ) { printf("Sorry, this application does not support "); printf("Market Market type: [%s]\n", mm_typecode_to_str(matcode)); return -1; } /* find out size of sparse matrix .... */ if ((ret_code = mm_read_mtx_crd_size(f, &M, &N, &nz)) !=0) return -1; /* reserve memory for matrices */ I.resize(nz);// = (int *) malloc(nz * sizeof(int)); J.resize(nz);// = (int *) malloc(nz * sizeof(int)); val.resize(nz);// = (double *) malloc(nz * sizeof(double)); /* NOTE: when reading in doubles, ANSI C requires the use of the "l" */ /* specifier as in "%lg", "%lf", "%le", otherwise errors will occur */ /* (ANSI C X3.159-1989, Sec. 4.9.6.2, p. 136 lines 13-15) */ // we need the upper triangle int Ii, Ji, j = 0; real vali; for(i = 0; i < nz; ++i) { // Use vali_double here to avoid problem with %lg for long double precision. double vali_double = 0; int nvalues_from_fscanf = fscanf(f, "%d %d %lg\n", &Ii, &Ji, &vali_double); vali = vali_double; assert(nvalues_from_fscanf == 3); // Matrix Market store in the lower triangle, so we transpose it I[j] = Ji-1; J[j] = Ii-1; val[j] = vali; j++; } nz = j; I.resize(j); J.resize(j); val.resize(j); if (f !=stdin) fclose(f); // print matrix /* mm_write_banner(stdout, matcode); mm_write_mtx_crd_size(stdout, M, N, nz); for (i=0; i &I, const vector &J, const vector &val, const int &N, const int &M) { assert(I.size() == J.size()); assert(I.size() == val.size()); MM_typecode matcode; size_t NNZ = I.size(); mm_initialize_typecode(&matcode); mm_set_matrix(&matcode); mm_set_coordinate(&matcode); mm_set_real(&matcode); mm_set_symmetric(&matcode); mm_set_sparse(&matcode); FILE *f = fopen(filename, "w"); if (f == NULL) { printf("Error opening file!\n"); return -1; } mm_write_banner(f, matcode); mm_write_mtx_crd_size(f, M, N, NNZ); /* NOTE: matrix market files use 1-based indices, i.e. first element of a vector has index 1, not 0. */ for(size_t i = 0; i < NNZ; ++i) // Matrix Market store in the lower triangle, so we transpose it fprintf(f, "%d %d %10.16g\n", J[i]+1, I[i]+1, (double)val[i]); fclose(f); return 0; } ergo-3.5/source/matrix_wrapper/file_tools/src/Makefile.in0000664000175000017500000004254712743400353020614 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/matrix_wrapper/file_tools/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) AR = ar ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libfiles_a_AR = $(AR) $(ARFLAGS) libfiles_a_LIBADD = am_libfiles_a_OBJECTS = files_dense.$(OBJEXT) files_sparse.$(OBJEXT) \ mmio.$(OBJEXT) libfiles_a_OBJECTS = $(am_libfiles_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(libfiles_a_SOURCES) DIST_SOURCES = $(libfiles_a_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libfiles.a AM_CPPFLAGS = \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/densfromf/new_purification/file_tools/src libfiles_a_SOURCES = \ files_dense.h \ files_dense.cc \ files_sparse.h \ files_sparse.cc \ mmio.c \ mmio.h all: all-am .SUFFIXES: .SUFFIXES: .c .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/matrix_wrapper/file_tools/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/matrix_wrapper/file_tools/src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libfiles.a: $(libfiles_a_OBJECTS) $(libfiles_a_DEPENDENCIES) $(EXTRA_libfiles_a_DEPENDENCIES) $(AM_V_at)-rm -f libfiles.a $(AM_V_AR)$(libfiles_a_AR) libfiles.a $(libfiles_a_OBJECTS) $(libfiles_a_LIBADD) $(AM_V_at)$(RANLIB) libfiles.a mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/files_dense.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/files_sparse.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmio.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/matrix_wrapper/file_tools/src/Makefile.am0000664000175000017500000000042612743400275020574 00000000000000noinst_LIBRARIES = libfiles.a AM_CPPFLAGS = \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/densfromf/new_purification/file_tools/src libfiles_a_SOURCES = \ files_dense.h \ files_dense.cc \ files_sparse.h \ files_sparse.cc \ mmio.c \ mmio.h ergo-3.5/source/matrix_wrapper/file_tools/Makefile.in0000664000175000017500000004247512743400352020024 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/matrix_wrapper/file_tools ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = \ src\ test all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/matrix_wrapper/file_tools/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/matrix_wrapper/file_tools/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic cscopelist-am ctags ctags-am \ distclean distclean-generic distclean-tags distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/matrix_wrapper/file_tools/Makefile.am0000664000175000017500000000003712743400275020003 00000000000000SUBDIRS = \ src\ test ergo-3.5/source/matrix_wrapper/ErgoMatrix/0000775000175000017500000000000012743400366015752 500000000000000ergo-3.5/source/matrix_wrapper/ErgoMatrix/test/0000775000175000017500000000000012743400366016731 500000000000000ergo-3.5/source/matrix_wrapper/ErgoMatrix/test/Makefile.in0000664000175000017500000004262712743400352020724 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : noinst_PROGRAMS = test$(EXEEXT) test_lan$(EXEEXT) subdir = source/matrix_wrapper/ErgoMatrix/test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_OBJECTS = test.$(OBJEXT) test_OBJECTS = $(am_test_OBJECTS) test_DEPENDENCIES = $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a am_test_lan_OBJECTS = test_lan.$(OBJEXT) test_lan_OBJECTS = $(am_test_lan_OBJECTS) test_lan_DEPENDENCIES = $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(test_SOURCES) $(test_lan_SOURCES) DIST_SOURCES = $(test_SOURCES) $(test_lan_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ test_SOURCES = \ test.cc test_LDADD = \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a test_lan_SOURCES = \ test_lan.cc test_lan_LDADD = \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack \ -I$(top_srcdir)/source/matrix_wrapper/ErgoMatrix/src \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src \ -I$(top_srcdir)/source/densfromf/new_purification all: all-am .SUFFIXES: .SUFFIXES: .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/matrix_wrapper/ErgoMatrix/test/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/matrix_wrapper/ErgoMatrix/test/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) $(EXTRA_test_DEPENDENCIES) @rm -f test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS) test_lan$(EXEEXT): $(test_lan_OBJECTS) $(test_lan_DEPENDENCIES) $(EXTRA_test_lan_DEPENDENCIES) @rm -f test_lan$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(test_lan_OBJECTS) $(test_lan_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_lan.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/matrix_wrapper/ErgoMatrix/test/Makefile.am0000664000175000017500000000226312743400275020707 00000000000000noinst_PROGRAMS = test test_lan test_SOURCES = \ test.cc test_LDADD = \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a test_lan_SOURCES = \ test_lan.cc test_lan_LDADD = \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack \ -I$(top_srcdir)/source/matrix_wrapper/ErgoMatrix/src \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src \ -I$(top_srcdir)/source/densfromf/new_purification ergo-3.5/source/matrix_wrapper/ErgoMatrix/test/test.cc0000664000175000017500000001440212743400307020133 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "matrix_typedefs.h" // definitions of matrix types and interval type (source) #include "realtype.h" // definitions of types (utilities_basic) #include "matrix_utilities.h" #include "integral_matrix_wrappers.h" #include "SizesAndBlocks.h" #include "Matrix.h" #include "Vector.h" #include "MatrixSymmetric.h" #include "MatrixTriangular.h" #include "MatrixGeneral.h" #include "VectorGeneral.h" #include "output.h" #include "files_dense.h" #include "files_sparse.h" #include #include #include #include "ErgoMatrix.h" using namespace std; typedef ergo_real real; typedef symmMatrix MatrixType; typedef ErgoMatrix MatrixWrapperErgo; int print_matrix = 0; real TOL_SCALAR = 1e-12; real TOL_EQUAL_MAT = 1e-8; int get_matrix_from_sparse(char *filename, MatrixType &X) { vector I, J; vector val; int N, M; if(read_matrix_from_mtx(filename, I, J, val, N, M) == -1) return -1; assert(N==M); /********** Initialization of SizesAndBlocks */ int size = N; int nlevels = 5; //!!! std::vector blockSizes(nlevels); blockSizes[nlevels - 1] = 1; // should always be one for (int ind = nlevels - 2; ind >= 0; ind--) blockSizes[ind] = blockSizes[ind + 1] * 10; mat::SizesAndBlocks rows(blockSizes, size); mat::SizesAndBlocks cols(blockSizes, size); /********************************************/ X.resetSizesAndBlocks(rows,cols); assert(X.get_nrows()*X.get_ncols() == N*N); X.assign_from_sparse(I, J, val); return 0; } void print_elements(MatrixType &X) { int sizeX = X.get_nrows(); cout << "rows of X = " << sizeX << endl; std::vector row(sizeX*sizeX); std::vector col(sizeX*sizeX); std::vector val(sizeX*sizeX); X.get_all_values(row, col, val); assert(row.size() == col.size()); std::vector matrix(sizeX*sizeX); for(int i = 0; i < (int)row.size(); ++i ) { matrix[row[i]*sizeX + col[i]] = val[i]; matrix[col[i]*sizeX + row[i]] = val[i]; } for (int i = 0; i < sizeX*sizeX; i++) { if(i%sizeX == 0 && i != 0) cout << endl; cout << matrix[i]<< " "; } cout << endl; } int main() try{ // READ THE MATRIX char filename[] = "test_files/F_1.mtx"; MatrixType M; if( get_matrix_from_sparse(filename, M) == -1 ) { printf("Cannot read matrix from the file...\n"); return EXIT_FAILURE; } if(print_matrix == 1) print_elements(M); // get rows and columns int n, m; m = M.get_ncols(); n = M.get_nrows(); assert(n == m); cout << "=================================" << endl; cout << "Check constructors..." << endl; { MatrixWrapperErgo A; MatrixWrapperErgo B(M); MatrixWrapperErgo C(B); mat::SizesAndBlocks rows; mat::SizesAndBlocks cols; M.getRows(rows); M.getCols(cols); A.read_from_mtx(filename, rows, cols); // read M cout << "=================================" << endl; cout << "Check eucledian norm of the difference..." << endl; real eucl = ErgoMatrix::eucl_diff(A, B, 1e-12); assert(eucl < TOL_EQUAL_MAT); // check transfer MatrixWrapperErgo D(A); B.transfer_from(D); // here D is empty eucl = ErgoMatrix::eucl_diff(A, B, 1e-12); assert(eucl < TOL_EQUAL_MAT); } MatrixWrapperErgo A(M); cout << "=================================" << endl; cout << "Check gershgorin bounds..." << endl; real eigmin, eigmax; A.gershgorin(eigmin, eigmax); assert(abs(eigmin - (-17.120054726093)) < TOL_SCALAR); assert(abs(eigmax - 5.181705707709) < TOL_SCALAR); cout << "=================================" << endl; cout << "Check square of the matrix..." << endl; { MatrixWrapperErgo B; A.square(B); MatrixType Tmp, Tmp2; A.get_matrix(Tmp); Tmp2 = (real)1.0*Tmp*Tmp; MatrixWrapperErgo C(Tmp2); real eucl_tmp = MatrixWrapperErgo::eucl_diff(C, B, 1e-12); assert(eucl_tmp < TOL_EQUAL_MAT); } { MatrixWrapperErgo B(A); cout << "=================================" << endl; cout << "Check frobenius norm of the difference..." << endl; real frob = MatrixWrapperErgo::frob_diff(A, B); assert(frob < TOL_EQUAL_MAT); cout << "=================================" << endl; cout << "Check mixed norm of the difference..." << endl; real mixed = MatrixWrapperErgo::mixed_diff(A, B, 1e-12); assert(mixed < TOL_EQUAL_MAT); cout << "=================================" << endl; cout << "Check non-symm multiplication with forcing symmetry" << endl; MatrixWrapperErgo B2(A); B2.mult_force_symm(B); MatrixWrapperErgo C; A.square(C); real eucl_tmp = MatrixWrapperErgo::eucl_diff(B2, C, 1e-12); assert(eucl_tmp < TOL_EQUAL_MAT); } cout << "=================================" << endl; cout << "Check truncation..." << endl; real th = A.thresh(0.0001, mat::euclNorm); cout << "Truncation return value th = " << th << endl; cout << "OK!" << endl; return 0; } catch(char const * e) { std::cout << e << std::endl; } catch(std::exception &e) { std::cout << e.what() << std::endl; } ergo-3.5/source/matrix_wrapper/ErgoMatrix/test/test_lan.cc0000664000175000017500000001050112743400307020761 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #include "matrix_typedefs.h" // definitions of matrix types and interval type (source) #include "realtype.h" // definitions of types (utilities_basic) #include "matrix_utilities.h" #include "integral_matrix_wrappers.h" #include "SizesAndBlocks.h" #include "Matrix.h" #include "Vector.h" #include "MatrixSymmetric.h" #include "MatrixTriangular.h" #include "MatrixGeneral.h" #include "VectorGeneral.h" #include "output.h" #include "files_dense.h" #include "files_sparse.h" #include #include #include #include "ErgoMatrix.h" using namespace std; typedef ergo_real real; typedef symmMatrix MatrixType; typedef ErgoMatrix MatrixWrapperErgo; typedef MatrixType::VectorType VectorType; int print_matrix = 0; int get_matrix_from_sparse(char *filename, MatrixType &X) { vector I, J; vector val; int N, M; if(read_matrix_from_mtx(filename, I, J, val, N, M) == -1) return -1; assert(N==M); /********** Initialization of SizesAndBlocks */ int size = N; int nlevels = 5; //!!! std::vector blockSizes(nlevels); blockSizes[nlevels - 1] = 1; // should always be one for (int ind = nlevels - 2; ind >= 0; ind--) blockSizes[ind] = blockSizes[ind + 1] * 10; mat::SizesAndBlocks rows(blockSizes, size); mat::SizesAndBlocks cols(blockSizes, size); /********************************************/ X.resetSizesAndBlocks(rows,cols); assert(X.get_nrows()*X.get_ncols() == N*N); X.assign_from_sparse(I, J, val); return 0; } void print_elements(MatrixType &X) { int sizeX = X.get_nrows(); cout << "rows of X = " << sizeX << endl; std::vector row(sizeX*sizeX); std::vector col(sizeX*sizeX); std::vector val(sizeX*sizeX); X.get_all_values(row, col, val); assert(row.size() == col.size()); std::vector matrix(sizeX*sizeX); for(int i = 0; i < (int)row.size(); ++i ) { matrix[row[i]*sizeX + col[i]] = val[i]; matrix[col[i]*sizeX + row[i]] = val[i]; } for (int i = 0; i < sizeX*sizeX; i++) { if(i%sizeX == 0 && i != 0) cout << endl; cout << matrix[i]<< " "; } cout << endl; } int main(int argc, char *argv[]) try { if(argc != 2) { printf("Usage: %s filename\n", argv[0]); return EXIT_FAILURE; } // READ THE MATRIX char *filename = argv[1]; MatrixType M; if( get_matrix_from_sparse(filename, M) == -1 ) { printf("Cannot read matrix from the file %s...\n", filename); return EXIT_FAILURE; } MatrixWrapperErgo A(M); int num_eig = 1; vector eigVal(num_eig); vector eigVec(num_eig); real TOL = 1e-12; bool use_vector_as_guess = false; vector num_iter(num_eig); int maxit = 200; printf("Starting Lanczos method...\n"); MatrixWrapperErgo::lanczos_method(A, eigVal, eigVec, num_eig, TOL, use_vector_as_guess, num_iter, maxit); printf("Lanczos method finished...\n"); printf("Number of iterations (first) is %d\n", num_iter[0]); return 0; } catch(std::exception &e) { std::cout << e.what() << std::endl; } ergo-3.5/source/matrix_wrapper/ErgoMatrix/src/0000775000175000017500000000000012743400366016541 500000000000000ergo-3.5/source/matrix_wrapper/ErgoMatrix/src/ErgoMatrix.h0000664000175000017500000004672012743400307020717 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef ERGO_MATRIX_HEADER #define ERGO_MATRIX_HEADER #include "matrix_typedefs.h" // definitions of matrix types and interval type (source) #include "realtype.h" // definitions of types (utilities_basic) #include "matrix_utilities.h" #include "integral_matrix_wrappers.h" #include "SizesAndBlocks.h" #include "Matrix.h" #include "Vector.h" #include "MatrixSymmetric.h" #include "MatrixTriangular.h" #include "MatrixGeneral.h" #include "VectorGeneral.h" #include "output.h" #include #include #include #include "LanczosSeveralLargestEig.h" #include "files_sparse.h" using namespace std; typedef ergo_real real; /** Wrapper for the matrix. Matrix operations are implemented using matrix class in Ergo. * * \tparam MatrixType Type of a matrix from the matrix library (ex. symmMatrix). */ template class ErgoMatrix { public: typedef mat::normType NormType; typedef typename MatrixType::VectorType VectorType; typedef MatrixType MatrixTypeInner; /** Class containing parameters of MatrixType. */ class Params { public: mat::SizesAndBlocks rows; mat::SizesAndBlocks cols; Params(){} Params(mat::SizesAndBlocks rows_, mat::SizesAndBlocks cols_) : rows(rows_), cols(cols_) {} }; Params params; private: MatrixType MATRIX; /**< The matrix M itself. */ public: /** Copy constructor. */ ErgoMatrix(const ErgoMatrix &M){ MATRIX = M.get_ref_to_matrix_const();} // constructors ErgoMatrix(MatrixType& X_, const Params &p = Params()) : params(p), MATRIX(X_) {} ErgoMatrix(const Params &p = Params()) : params(p) {} /** To avoid creation of an extra copy of a matrix, we use this * function to get a reference to the matrix. Returns constant * reference to the matrix. */ const MatrixType& get_ref_to_matrix_const() const { return MATRIX;} /** To avoid creation of an extra copy of a matrix, we use this * function to get a reference to the matrix. */ MatrixType& get_ref_to_matrix() { return MATRIX;} /** Return the matrix which contains this wrapper. */ void get_matrix(MatrixType &M /**< [out] Matrix which contains this wrapper. */ ) const { M = MATRIX;} // copy matrix /** Read matrix from .mtx file. */ void read_from_mtx(const string &name, /**< [in] Matrix which contains this wrapper. */ const mat::SizesAndBlocks &rows, /**< [in] Parameter of MatrixType (info about rows). */ const mat::SizesAndBlocks &cols /**< [in] Parameter of MatrixType (info about columns). */ ); /** Write matrix to .bin file. The file has a default name and * matrix is saved in particular format defined by the matrix * library. */ void writeToFile() {this->MATRIX.writeToFile();} /** Read matrix from .bin file. The file has a default name and * matrix is saved in particular format defined by the matrix * library. */ void readFromFile() {this->MATRIX.readFromFile();} /** Transfer matrix X to M, clearing previous content of M if any. Clear also matrix X. */ void transfer_from(ErgoMatrix &X) { MatrixType &X_MATRIX = X.get_ref_to_matrix(); X_MATRIX.transfer(MATRIX); // X.MATRIX -> MATRIX } /** Check if matrix is empty. Notice: empty matrix != zero * matrix. Empty matrix has no structure. */ bool is_empty() const {return MATRIX.is_empty();} /** Return number of non-zeros. */ size_t nnz() const {return MATRIX.nnz();} /** Return number of rows. */ size_t get_nrows() const {return MATRIX.get_nrows();} /** Return number of columns. */ size_t get_ncols() const {return MATRIX.get_ncols();} /** Compute trace. */ real trace() const {return MATRIX.trace();} /** Get Gershgorin spectrum bounds. */ void gershgorin(real &eigmin, /**< [out] Lower bound. */ real &eigmax /**< [out] Upper bound. */ ) const {MATRIX.gershgorin(eigmin, eigmax);} /** Compute spectral norm. */ real eucl(real requested_accuracy, /**< [in] Tolerance in eigensolver. */ int maxIter = -1 /**< [in] Maximum number of iterations in eigensolver. */ ) const {return MATRIX.eucl(requested_accuracy, maxIter);} /** Compute mixed norm. See article J. Comput. Chem. 30.6 (2009): 974-977. */ real mixed(real requested_accuracy, /**< [in] Tolerance in eigensolver. */ int maxIter = -1 /**< [in] Maximum number of iterations in eigensolver. */ ) const {return MATRIX.mixed_norm(requested_accuracy, maxIter);} /** Compute Frobenius norm. */ real frob() const {return MATRIX.frob();} /** Remove small matrix elements (truncate). */ real thresh(const real tau, /**< [in] Threshold value, or maximum allowed error in the matrix measured by a requested norm. */ NormType norm /**< [in] Norm used for truncation. */ ) {return MATRIX.thresh(tau, norm);} /** Remove small matrix elements (truncate) using spectral norm in non-orthogonal basis set. */ real eucl_thresh(const real tau, /**< [in] Threshold value, or maximum allowed error in the matrix measured by a requested norm. */ triangMatrix * chol_factor /**< [in] Inverse Cholesky factor. Needed for non-orthogonal basis set. */ ) {return MATRIX.eucl_thresh(tau, chol_factor);} /** Remove small matrix elements (truncate) using spectral norm in orthogonal basis set. */ real eucl_thresh(const real tau /**< [in] Threshold value, or maximum allowed error in the matrix measured by a requested norm. */ ) {return MATRIX.eucl_thresh(tau);} /** Clear matrix structure. */ void clear() {MATRIX.clear();} /** Compute matrix square and save it in X2: X2 = M^2. */ void square(ErgoMatrix &X2 /**< [out] Matrix square. */ ) const { X2.get_ref_to_matrix() = (real)1.0*MATRIX*MATRIX; /* The code was changed by removing the return statement and sending output matrix as a parameter due to the memory problems noticed by Elias. */ //MatrixType Y; //Y = 1.0*MATRIX*MATRIX; //return ErgoMatrix(Y); } /* // M *= B; */ /* void mult(ErgoMatrix &B) */ /* { */ /* //C = alpha * A * B + beta * C */ /* MatrixType Y(MATRIX); */ /* const MatrixType& B_MATRIX = B.get_ref_to_matrix(); */ /* MATRIX = 1.0*Y*B_MATRIX + 0.0 * MATRIX; */ /* } */ /** Multiply matrix with matrix B: M *= B and enforce symmetry. */ void mult_force_symm(const ErgoMatrix &B) { const MatrixType& B_MATRIX = B.get_ref_to_matrix_const(); //C = alpha * A * B + beta * C MatrixType Y(MATRIX); // must be! symmMatrix::ssmmUpperTriangleOnly((real)1.0, Y, B_MATRIX, 0, MATRIX); } /** M *= value. */ int mult_scalar(const real value) {MATRIX *= value; return 1;} /** M += value*I, I is identity matrix. */ int add_identity(const real value) {MATRIX.add_identity(value); return 1;} /** M = M - B is minus = false, M = B - M if minus = true. */ int subtract(const ErgoMatrix & B, bool minus = false) { const MatrixType& B_MATRIX = B.get_ref_to_matrix_const(); if(minus) { // M = B - M this->mult_scalar(-1); // compute -M MATRIX += B_MATRIX; // compute -M + B } else { // M = M - B MATRIX -= B_MATRIX; } return 1; } /** M += alpha*B. */ int add(const ErgoMatrix & B, const real alpha = 1.0) { const MatrixType& B_MATRIX = B.get_ref_to_matrix_const(); MATRIX += alpha*B_MATRIX; return 1; } /** Transform matrix to orthonormal basis. M = Z' * M * Z, Z = chol_factor. */ template int to_norm_basis(const ErgoMatrix &chol_factor) { const Matrix& chol_factor_MATRIX = chol_factor.get_ref_to_matrix_const(); MATRIX = transpose(chol_factor_MATRIX) * MATRIX * chol_factor_MATRIX; return 0; } /** Transform matrix to non-orthonormal basis. M= Z * M * Z', Z = chol_factor. */ template int to_nonnorm_basis(const ErgoMatrix &chol_factor) { const Matrix& chol_factor_MATRIX = chol_factor.get_ref_to_matrix_const(); MATRIX = chol_factor_MATRIX * MATRIX * transpose(chol_factor_MATRIX); return 0; } /** Compute inverse Cholesky factor. * * \tparam Matrix Type of chol_factor matrix, in general it is a * triangular matrix. */ template static int inv_chol(const ErgoMatrix & S, /**< [in] Overlap matrix. */ ErgoMatrix &chol_factor /**< [out] Inverse Cholesky factor. */) { Matrix& chol_factor_MATRIX = chol_factor.get_ref_to_matrix(); const MatrixType& S_MATRIX = S.get_ref_to_matrix_const(); chol_factor_MATRIX.inch(S_MATRIX, 1e-10, mat::right); return 1; } /** Return trace(A-B). */ static real trace_diff(const ErgoMatrix &A, const ErgoMatrix &B) { return A.trace() - B.trace(); } /** Return Frobenius norm of A-B. */ static real frob_diff(const ErgoMatrix &A, const ErgoMatrix &B) { const MatrixType& A_MATRIX = A.get_ref_to_matrix_const(); const MatrixType& B_MATRIX = B.get_ref_to_matrix_const(); return MatrixType::frob_diff(A_MATRIX, B_MATRIX); } /** Return spectral norm of A-B. */ static real eucl_diff(const ErgoMatrix &A, const ErgoMatrix &B, real acc) { const MatrixType& A_MATRIX = A.get_ref_to_matrix_const(); const MatrixType& B_MATRIX = B.get_ref_to_matrix_const(); return MatrixType::eucl_diff(A_MATRIX, B_MATRIX, acc); } /** Return mixed norm of A-B. */ static real mixed_diff(const ErgoMatrix &A, const ErgoMatrix &B, real acc) { const MatrixType& A_MATRIX = A.get_ref_to_matrix_const(); const MatrixType& B_MATRIX = B.get_ref_to_matrix_const(); return MatrixType::mixed_diff(A_MATRIX, B_MATRIX, acc); } /*****************************************/ /* EIGENVECTORS STAFF */ /*****************************************/ /** Get Rayleigh quotient: A = (y'Ay)/(y'y), y = eigVecPtr. */ static real compute_rayleigh_quotient(const ErgoMatrix &A, VectorType * eigVecPtr) { mat::SizesAndBlocks cols; const MatrixType& A_MATRIX = A.get_ref_to_matrix_const(); A_MATRIX.getCols(cols); VectorType y, Ay; y.resetSizesAndBlocks(cols); y = *eigVecPtr; Ay.resetSizesAndBlocks(cols); real ONE = 1.0; y *= ONE/y.eucl(); // y = y/norm(y) Ay = ONE * A_MATRIX * y; // Ay = A*y real lambda = transpose(y) * Ay; // lambda = y'*Ay return lambda; } /** Function for choosing method for computing eigenvectors. */ static int computeEigenvectors(const ErgoMatrix &A, /**< [in] Matrix for which to compute eigenvectors. */ real tol, /**< [in] Eigensolver tolerance. */ vector &eigVal, /**< [out] Eigenvalue(s). */ vector &eigVec, /**< [in/out] Eigenvector(s). */ int number_of_eigenvalues_to_compute, /**< [in] Number of eigenvalues which Lanczos should compute. */ bool use_vector_as_guess, /**< [in] Use vector in eigVec as an initial guess. */ string method, /**< [in] Chosen eigensolver (power or Lanczos). */ vector & num_iter, /**< [out] Actual number of iterations (now just num_iter[0] is used). */ int maxit = 200, /**< [in] Maximum number of iterations. */ bool do_deflation = false /**< [in] Use deflation. */ ) { assert(number_of_eigenvalues_to_compute >= 1); assert(eigVal.size() >= 1); // note: number_of_eigenvalues may not be equal to eigVal.size() assert(eigVec.size() == eigVal.size()); assert(eigVec.size() == num_iter.size()); if(method == "power") { if(eigVal.size() > 1) throw "Error in computeEigenvectors: computation of more " "than 1 eigenpair is not implemented for the power method."; if(do_deflation) throw "Error in computeEigenvectors: deflation is not implemented for the power method."; power_method(A, eigVal[0], eigVec[0], tol, use_vector_as_guess, num_iter[0], maxit); } if(method == "lanczos") { lanczos_method(A, eigVal, eigVec, number_of_eigenvalues_to_compute, tol, use_vector_as_guess, num_iter, maxit, do_deflation); } return 0; } /** Use Lanzcos method for computing eigenvectors. See function computeEigenvectors above for the meaning of parameters. */ static void lanczos_method(const ErgoMatrix &A, vector &eigVal, vector &eigVec, int number_of_eigenvalues, const real TOL, bool use_vector_as_guess, vector &num_iter, int maxit = 200, bool do_deflation = false); /** Use power method for computing eigenvectors. See function computeEigenvectors above for the meaning of parameters. */ static void power_method(const ErgoMatrix &A, real &eigVal, VectorType &eigVec, const real TOL, bool use_vector_as_guess, int &num_iter, int maxit = 200); }; // end of ErgoMatrix template void ErgoMatrix::read_from_mtx(const string &name, const mat::SizesAndBlocks &rows, const mat::SizesAndBlocks &cols) { vector I, J; vector val; int N, M; if(read_matrix_from_mtx(name.c_str(), I, J, val, N, M) == -1) throw "read_matrix_from_mtx: error while reading matrix from the file."; assert(N==M); this->MATRIX.resetSizesAndBlocks(rows,cols); assert(this->get_nrows()*this->get_ncols() == (size_t)N*(size_t)N); this->MATRIX.assign_from_sparse(I, J, val); } template void ErgoMatrix::lanczos_method(const ErgoMatrix &A, vector &eigVal, vector &eigVec, int number_of_eigenvalues, const real TOL, bool use_vector_as_guess, vector &num_iter, int maxit, bool do_deflation) { assert(eigVal.size() == eigVec.size()); assert(eigVal.size() == num_iter.size()); assert( number_of_eigenvalues >= 1 ); const MatrixType& A_MATRIX = A.get_ref_to_matrix_const(); if(!do_deflation) { try { VectorType y; mat::SizesAndBlocks cols; A_MATRIX.getCols(cols); y.resetSizesAndBlocks(cols); if(use_vector_as_guess) y = eigVec[0]; else y.rand(); // generate random vector const real ONE = 1.0; y *= (ONE/y.eucl()); // normalization mat::arn::LanczosSeveralLargestEig lan(A_MATRIX, y, number_of_eigenvalues, maxit); lan.setAbsTol(TOL); lan.setRelTol(TOL); lan.run(); real acc = 0; lan.get_ith_eigenpair(1, eigVal[0], eigVec[0], acc); // lan.getLargestMagnitudeEigPair(eigVal, // eigVec, // acc); VectorType resVec(eigVec[0]); // residual resVec *= eigVal[0]; resVec += -ONE * A_MATRIX * eigVec[0]; /* if(number_of_eigenvalues >= 2) */ /* { */ /* lan.get_ith_eigenpair(2, eigVal[1], eigVec[1], acc); */ /* VectorType resVec2(eigVec[1]); // residual */ /* resVec2 *= eigVal[1]; */ /* resVec2 += -ONE * A_MATRIX * eigVec[1]; */ /* } */ num_iter[0] = lan.get_num_iter(); } catch(std::exception& e) { num_iter[0] = maxit; // lanczos did not converge in maxIter iterations } } else // do_deflation { if(eigVec[0].is_empty()) throw "Error in ErgoMatrix::lanczos_method : eigVec[0].is_empty()"; // use the vector stored in eigVec[0] if(number_of_eigenvalues > 1) { VectorType y, v1; v1 = eigVec[0]; mat::SizesAndBlocks cols; A_MATRIX.getCols(cols); y.resetSizesAndBlocks(cols); if(use_vector_as_guess) y = eigVec[1]; else y.rand(); // generate random vector const real ONE = 1.0; y *= (ONE/y.eucl()); // normalization try { real num_eig = 1; // just one eigenpair should be computed // find bounds of the spectrum real eigmin, eigmax; A_MATRIX.gershgorin(eigmin, eigmax); real sigma = eigVal[0] - eigmin; // out eigenvalue to the uninteresting end of the spectrum mat::arn::LanczosSeveralLargestEig lan(A_MATRIX, y, num_eig, maxit, 100, &v1, sigma); lan.setAbsTol(TOL); lan.setRelTol(TOL); lan.run(); real acc = 0; lan.get_ith_eigenpair(1, eigVal[1], eigVec[1], acc); VectorType resVec(eigVec[1]); // residual resVec *= eigVal[1]; resVec += -ONE * A_MATRIX * eigVec[1]; num_iter[1] = lan.get_num_iter(); } catch(std::exception& e) { num_iter[1] = maxit; // lanczos did not converge in maxIter iterations } } else throw "Error in ErgoMatrix::lanczos_method : number_of_eigenvalues <= 1"; } } template void ErgoMatrix::power_method(const ErgoMatrix &A, real &eigVal, VectorType &eigVec, const real TOL, bool use_vector_as_guess, int &num_iter, int maxit) { VectorType y; VectorType Ay; VectorType residual; VectorType temp; real lambda; const real ONE = 1.0; const real MONE = -1.0; mat::SizesAndBlocks cols; const MatrixType& A_MATRIX = A.get_ref_to_matrix_const(); A_MATRIX.getCols(cols); y.resetSizesAndBlocks(cols); if(use_vector_as_guess) y = eigVec; else y.rand(); // generate random vector y *= (ONE/y.eucl()); // normalization Ay.resetSizesAndBlocks(cols); residual.resetSizesAndBlocks(cols); temp.resetSizesAndBlocks(cols); int it = 1; Ay = ONE * A_MATRIX * y; // Ay = A*y while (it == 1 || (residual.eucl()/abs(lambda) > TOL && it <= maxit)) { y = Ay; y *= ONE/Ay.eucl(); // y = Ay/norm(Ay) Ay = ONE * A_MATRIX * y; // Ay = A*y lambda = transpose(y) * Ay; // lambda = y'*Ay // r = A*y - lambda*y residual = Ay; residual += (MONE*lambda)*y; //printf("residual.eucl() = %e\n", residual.eucl()); ++it; } printf("Power method required %d iterations.\n", it-1); eigVal = lambda; eigVec = y; num_iter = it-1; } #endif // ERGO_MATRIX_HEADER ergo-3.5/source/matrix_wrapper/ErgoMatrix/src/Makefile.in0000664000175000017500000002613212743400352020525 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/matrix_wrapper/ErgoMatrix/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ ErgoMatrix.h all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/matrix_wrapper/ErgoMatrix/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/matrix_wrapper/ErgoMatrix/src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/matrix_wrapper/ErgoMatrix/src/Makefile.am0000664000175000017500000000003512743400275020512 00000000000000EXTRA_DIST = \ ErgoMatrix.h ergo-3.5/source/matrix_wrapper/ErgoMatrix/Makefile.in0000664000175000017500000004246712743400352017747 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/matrix_wrapper/ErgoMatrix ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = \ src \ test all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/matrix_wrapper/ErgoMatrix/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/matrix_wrapper/ErgoMatrix/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic cscopelist-am ctags ctags-am \ distclean distclean-generic distclean-tags distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/matrix_wrapper/ErgoMatrix/Makefile.am0000664000175000017500000000003112743400275017717 00000000000000SUBDIRS = \ src \ test ergo-3.5/source/matrix_wrapper/Makefile.in0000664000175000017500000004245212743400352015660 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = source/matrix_wrapper ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = \ file_tools \ ErgoMatrix all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/matrix_wrapper/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/matrix_wrapper/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic cscopelist-am ctags ctags-am \ distclean distclean-generic distclean-tags distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/matrix_wrapper/Makefile.am0000664000175000017500000000005512743400307015640 00000000000000SUBDIRS = \ file_tools \ ErgoMatrix ergo-3.5/source/ergo_scripted.h0000664000175000017500000000702712743400307013550 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ #ifndef ERGO_SCRIPTED_HEADER #define ERGO_SCRIPTED_HEADER /** @file ergo_scripted.h contains ergo input processor definitions. * Currently it requires access to all the modules. It is trivial to * make all the modules to register modifable variables etc * settings. It is more complex to expose access to routines because * some stub routines placing arguments on stack may be needed. Unless * we skip arguments and always require that modules must be set up * and then a "run" method is called. * */ #ifdef __cplusplus #define EXTERN_C extern "C" #else #define EXTERN_C #endif extern int ergo_scanner_lineno; extern int ergo_scanner_reading_stdin; /** VarType defines recognized variable types. */ enum VarType { VAR_STRING, VAR_FLOAT, VAR_INT, VAR_LIST }; /** describes a variable recognized by the scripting system. */ struct variable { const char *name; const char *description; union { char *str; double num; int vint; struct variable *list; } v; enum VarType type; struct variable *next; }; /** MolType decides whether molecule data access routines modify the main or the ghost molecule. */ enum MolType { MOL_MAIN, MOL_GHOST }; EXTERN_C void es_assign_num(struct variable *var, double val); EXTERN_C void es_assign_str(struct variable *var, const char*str); EXTERN_C int es_assign_range(enum MolType mt, int rangeNo, int start, int cnt, const char *name); EXTERN_C struct variable *es_find_var(struct variable *root, const char *name); EXTERN_C void es_mol_begin(enum MolType moleculeClass); EXTERN_C void es_add_atom(const char *name, double x, double y, double z); EXTERN_C void es_mol_commit(void); EXTERN_C void es_mol_unit_angstrom(void); EXTERN_C int es_mol_read_molecule(const char *fname, enum MolType moleculeClass); EXTERN_C void es_print_help(); EXTERN_C void es_print_help_var(const struct variable *root); EXTERN_C void es_print_precision(); EXTERN_C int es_run(const char *mode, int save_pot); EXTERN_C void es_warranty(void); EXTERN_C int es_getexc(const char *mode, int modes); EXTERN_C int es_get_polarisability(const char *mode, const char *opname, double freq); EXTERN_C int es_set_nthreads(int nThreads); EXTERN_C int es_set_nthreads_string(const char *str); extern int es_quit; #endif /* ERGO_SCRIPTED_HEADER */ ergo-3.5/source/ergo_input_parser.l0000664000175000017500000000655412743400275014462 00000000000000%option noyywrap %option nounput %option noinput %{ /** @file ergo_input_parser.c The lex input parser. Defines the grammar */ /* for ergo input files. */ #include #include #include #include "ergo_input_processor.h" #include "ergo_scripted.h" #define YY_DECL int yylex(void) YY_DECL; /* Some flex program generate external functions that are not used by us. We declare apriopriate prototypes to hush the warnings... */ /* ELIAS NOTE 2013-06-12: In Fedora 18 there were problems with compiler errors like "conflicting types for ‘yyget_leng’". To fix that, the declarations in the nine following lines with declarations of yyget_leng, yyget_in etc were commented out. Probably those lines should not have been needed anyway, judging by the above old comment saying that the lines were added "to hush the warnings...". */ /* static int yyget_leng(void); static FILE *yyget_in (void); static FILE *yyget_out (void); static char *yyget_text(void); static void yyset_in (FILE * in_str); static void yyset_out(FILE * out_str); static int yyget_debug(void); static void yyset_debug(int bdebug); static int yylex_destroy(void); */ extern int fileno(FILE *stream); /* Following needed for flex-2.5.33-5 as in F7. */ void yyset_lineno (int line_number ); int yyget_lineno (void); %} /* parse the input and divide it into basic building blocks: tokens */ white [ \t]+ comment1 ^#.* comment2 ^;.* digit [0-9] integer {digit}+ exponent [eE][+-]?{integer} real -?{integer}("."{integer})?{exponent}? runtag "run" moltag "molecule_inline" ghosttag "ghost_inline" moldal "molecule" getexc "get_excited_state" getpol "get_polarisability" system "system" warranty "warranty" symbol [A-Za-z_][0-9A-Za-z_]* string \"[^"]*\" %% {white} { /* We ignore white characters. */ } {comment1} { /* We ignore comments, too. */ } {comment2} { /* We ignore comments, too. */ } {real} { yylval.num =atof(yytext); return(NUMBER); } "." return(DOT); "+" return(PLUS); "-" return(MINUS); ^EOF$ return EOFTAG; "*" return(TIMES); "/" return(DIVIDE); "^" return(POWER); "(" return(LEFT_PARENTHESIS); ")" return(RIGHT_PARENTHESIS); "=" return(EQUAL); "\n" { if(ergo_scanner_reading_stdin) printf("> "); ergo_scanner_lineno++;return(EOL); } ";" return EOL; "ghost" return GHOST; "help" return HELP; "precision" return PRECISION; "range" return RANGE; "Angstrom" { es_mol_unit_angstrom(); return ANGSTROM; } "set_nthreads" return SET_NTHREADS; {getexc} return GETEXC; {getpol} return GETPOL; "all" return K_ALL; {moltag} { es_mol_begin(MOL_MAIN); return MOLTAG; } {ghosttag} { es_mol_begin(MOL_GHOST); return MOLTAG; } {moldal} return MOLDAL; "quit" return QUIT; {runtag} return RUNTAG; {system} return SYSTEM; {warranty} return WARRANTY; {string} { unsigned l = strlen(yytext)-2; /* skip quotes */ if(l>=sizeof(yylval.str))l=sizeof(yylval.str)-1; strncpy(yylval.str, yytext+1, l); yylval.str[l] = '\0'; return(STRING); } {symbol} { strncpy(yylval.str, yytext, sizeof(yylval.str)-1); yylval.str[sizeof(yylval.str)-1] = '\0'; return (SYMBOL); } ergo-3.5/source/tddft/0000775000175000017500000000000012743400366011732 500000000000000ergo-3.5/source/tddft/tddft.h0000664000175000017500000000416512743400307013131 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file tddft.h Provides integral evaluation and export routines. The main usage is is to perform the explicitly time-dependent HF/DFT calculations. */ #include "molecule.h" #include "matrix_typedefs.h" #if !defined(BEGIN_NAMESPACE) #define BEGIN_NAMESPACE(x) namespace x { #define END_NAMESPACE(x) }; /* x */ #endif BEGIN_NAMESPACE(TDDFT); int writeMatlab(FILE *f, const ergo_real *mat, int n, const char *matName); int savePotential(const Molecule& m, const BasisInfoStruct& bis, const IntegralInfo& ii, FILE *f); int saveKinetic(const BasisInfoStruct& bis, FILE *f); int saveOverlap(const BasisInfoStruct& bis, FILE *f); int saveDipole(const BasisInfoStruct& bis, FILE *f); int saveCoulomb(const BasisInfoStruct& bis, const IntegralInfo& ii, FILE *f); int saveXC(const Molecule& m, const BasisInfoStruct& bis, const ergo_real *densityMatrix_full, FILE *f); END_NAMESPACE(TDDFT); ergo-3.5/source/tddft/tddft_test.cc0000664000175000017500000001146412743400307014326 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file tddft_test.cc Tests the TDDFT interface. It has to produce number of files for given molecule and basis set: a. one electron integral matrix (T+V) b. g_pqrs c. V_pqrs^{xc}(rho0) Example usage is: source/tddft/tddft_test mol/h2.mol STO-3G "Combine hf=0" */ #include #include #include "Matrix.h" #include "SCF_restricted.h" #include "basisinfo.h" #include "density_description_file.h" #include "dft_common.h" #include "integral_info.h" #include "integrals_2el.h" #include "matrix_utilities.h" #include "memorymanag.h" #include "molecule.h" #include "scf.h" #include "tddft.h" static char usage[] = "Usage: tddft_test MOLFILE BASIS FUNCTIONAL\n" "\n" "Generates the relevant integrals for the TDDFT calculation.\n" "The data is saved in output.m containing data in octave format.\n"; int main(int argc, char *argv[]) { if(argc<3) { fputs(usage, stderr); return 1; } Molecule molecule; Molecule extraCharges; /* Not used in this test. */ if(molecule.setFromMoleculeFile(argv[1], 0, NULL)) { fprintf(stderr, "Reading molecule from %s failed.\n", argv[1]); return 1; } const char *basisFileName = argv[2]; IntegralInfo integralInfo(true); BasisInfoStruct basisInfo; if(basisInfo.addBasisfuncsForMolecule(molecule, basisFileName, 0, NULL, integralInfo, false, true, true) != 0) { fprintf(stderr, "Error in BasisInfoStruct::add_basisfuncs_for_molecule " "for main basis set, Basis='%s'", basisFileName); return -1; } SCF::Options scfOptions; /* Defaults */ scfOptions.use_dft = strcmp(argv[3], "HF") != 0; if(scfOptions.use_dft) { if(dft_setfunc(argv[3]) == 0) { fprintf(stderr, "Error in functional definition '%s'.", argv[3]); return 1; } } try { static const ergo_real THRESHOLD_1EL = 1e-12; JK::Params jkOptions; /* Defaults */ SCF::MatOptions matOpts; /* Defaults */ matOpts.prepare(basisInfo); BasisInfoStruct basisInfoDensFit; Dft::GridParams gridParams; SCF_restricted scf(molecule, extraCharges, basisInfo, basisInfoDensFit, integralInfo, NULL, jkOptions, gridParams, scfOptions, matOpts, THRESHOLD_1EL); scf.do_SCF_iterations(); FILE *f = fopen("output.m", "wt"); TDDFT::saveOverlap(basisInfo, f); TDDFT::saveDipole(basisInfo, f); TDDFT::saveKinetic(basisInfo, f); TDDFT::savePotential(molecule, basisInfo, integralInfo, f); TDDFT::saveCoulomb(basisInfo, integralInfo, f); { ergo_real *densMatrix_full = NULL; BasisInfoStruct *basis_read = NULL; if(ddf_load_density("density.bin", 1, integralInfo, &basis_read, &densMatrix_full) == 0) { TDDFT::saveXC(molecule, basisInfo, densMatrix_full, f); size_t n = basis_read->noOfBasisFuncs; TDDFT::writeMatlab(f, densMatrix_full, n, "density"); } else fprintf(stderr, "ERROR: Density file disappeared?\n"); ergo_free(densMatrix_full); delete basis_read; } fclose(f); } catch (const std::exception& e) { fprintf(stderr, "Exception caught: %s\n", e.what()); return 1; } catch (const char* s) { fprintf(stderr, "Exception caught: %s\n", s); return 1; } puts("\nTD-DFT data generation completed."); return 0; } ergo-3.5/source/tddft/tddft.cc0000664000175000017500000001674012743400307013271 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** Interface from ERGO to TD-DFT routines. */ #include #include "dft_common.h" #include "integrator.h" #include "integrals_1el_kinetic.h" #include "integrals_1el_potential.h" #include "integrals_2el_explicit.h" #include "operator_matrix.h" #include "tddft.h" #include "grid_matrix.h" BEGIN_NAMESPACE(TDDFT); static const ergo_real THRESHOLD = 1e-15; /** Writes specified quadratic matrix to specified file in matlab format. Returns 0 on success, -1 on failure. */ int writeMatlab(FILE *f, const ergo_real *mat, int n, const char *matName) { if(fprintf(f, "%s = [\n", matName) < 1) return -1; for(int i=0; iweight[grid->curr_point+k]; dp.rhoa = dp.rhob = 0.5*grid->r.rho[k]; dftpot1_(&vxc, &weight, &dp, &ZEROI); tmp[k] = vxc.fRR*2; } static const int SYMMETRY = 0; const ergo_real *aos = grid->atv; int n = grid->nbast; int (*const blocks)[2] = BASBLOCK(grid,SYMMETRY); int blCnt = grid->bas_bl_cnt[SYMMETRY]; for(int pBl=0; pBl&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : noinst_PROGRAMS = tddft_test$(EXEEXT) subdir = source/tddft ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = PROGRAMS = $(noinst_PROGRAMS) am_tddft_test_OBJECTS = tddft.$(OBJEXT) tddft_test.$(OBJEXT) tddft_test_OBJECTS = $(am_tddft_test_OBJECTS) tddft_test_DEPENDENCIES = $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/source depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(tddft_test_SOURCES) DIST_SOURCES = $(tddft_test_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ tddft_test_SOURCES = \ tddft.cc \ tddft.h \ tddft_test.cc tddft_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a # use matrix for gblas... AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/dft \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack \ -I$(top_srcdir)/source/scf \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/densfromf \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src all: all-am .SUFFIXES: .SUFFIXES: .cc .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign source/tddft/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign source/tddft/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) tddft_test$(EXEEXT): $(tddft_test_OBJECTS) $(tddft_test_DEPENDENCIES) $(EXTRA_tddft_test_DEPENDENCIES) @rm -f tddft_test$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(tddft_test_OBJECTS) $(tddft_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tddft.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tddft_test.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/source/tddft/Makefile.am0000664000175000017500000000253012743400307013701 00000000000000noinst_PROGRAMS = tddft_test tddft_test_SOURCES = \ tddft.cc \ tddft.h \ tddft_test.cc tddft_test_LDADD = \ $(top_builddir)/source/scf/libscf.a \ $(top_builddir)/source/dft/libdft.a \ $(top_builddir)/source/densfromf/libdensfromf.a \ $(top_builddir)/source/utilities/libutilities.a \ $(top_builddir)/source/utilities_basic/libutilities_basic.a \ $(top_builddir)/source/integrals/libintegrals.a \ $(top_builddir)/source/matrix/libmat.a \ $(top_builddir)/source/matrix/template_lapack/blas/libtemplateblas.a \ $(top_builddir)/source/matrix/template_lapack/lapack/libtemplatelapack.a \ $(top_builddir)/source/basisset/libbasisset.a \ $(top_builddir)/source/densfromf/recursive_expansion/src/libpurification.a \ $(top_builddir)/source/matrix_wrapper/file_tools/src/libfiles.a # use matrix for gblas... AM_CPPFLAGS = \ -I$(top_srcdir)/source \ -I$(top_srcdir)/source/basisset \ -I$(top_srcdir)/source/dft \ -I$(top_srcdir)/source/integrals \ -I$(top_srcdir)/source/matrix \ -I$(top_srcdir)/source/matrix/template_lapack/blas \ -I$(top_srcdir)/source/matrix/template_lapack/lapack \ -I$(top_srcdir)/source/scf \ -I$(top_srcdir)/source/utilities \ -I$(top_srcdir)/source/utilities_basic \ -I$(top_srcdir)/source/densfromf \ -I$(top_srcdir)/source/matrix_wrapper/file_tools/src ergo-3.5/missing0000755000175000017500000001533012743400330010633 00000000000000#! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2013-10-28.13; # UTC # Copyright (C) 1996-2014 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # 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 # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=http://www.perl.org/ flex_URL=http://flex.sourceforge.net/ gnu_software_URL=http://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: ergo-3.5/README0000664000175000017500000000325112743400275010125 00000000000000-*- mode: outline -*- * Usual configuration: ./configure && make Options can be passed - see config_examples.txt for more information. * Correctness test: make check Verbose variant: make check VERBOSE=1 * Benchmark (compiler/architecture): Following command will run longer and more memory-consuming tests: make check RUN_BENCHMARK=1 or even make check RUN_BENCHMARK=1 VERBOSE=1 TMPDIR=/scratch These tests are synthetic and may not be 100% reliable. In particular, load balancing in the parallelization is known to be a problem. More realistic benchmark can be achieved by running for i in 1 2 3 4; do env OMP_NUM_THREADS=$i time source/ergo params/b3lyp.ego done This runs an actual calculation. time will print total execution time but also times spent in different parts of the calulcation is of interest for the developers. For practical performance, the sum of the numbers in the row matters, and the last row is most representative for actual calculations. * Source documentation Just run doxygen and check out documentation/html/index.html * TD-DFT interface Untested. source/tddft/tddft_test mol/h2.mol 3-21G SVWN5 for i in overlap D H1; do echo $i; ./txt 4 2 ${i}.bin; done; for i in xc Coulomb; do ./txt 4 4 ${i}.bin; done; echo dipole; ./txt 4 3 dipole.bin * Needed for configure & make c++ compiler The BLAS and LAPACK linear algebra libraries are needed unless the --enable-linalgebra-templates configure flag is used. The bc calculator program is needed by some of the test scripts. Additional programs may be needed to compile the code after modifications: autoconf automake If you wish to modify the input parser stuff, yacc (or bison) and flex are also needed. ergo-3.5/bootstrap.sh0000775000175000017500000000113512743400275011620 00000000000000#! /bin/sh # bootstrap file to be used when autogen.sh fails. # consider using --foreign flat to automake echo "Running aclocal..." aclocal || exit 1 echo "Running autoheader..." autoheader || exit 1 echo "Running autoconf..." autoconf || exit 1 echo "Running automake..." automake --foreign --add-missing --copy || exit 1 # automake-1.8 does not copy all the required files properly. test -f config.sub || { echo "Your automake did not generate config.sub - this used to be an issue." echo "You may generate this file by running eg 'libtoolize -c'" } echo "Running configure $* ..." ./configure "$@" ergo-3.5/compile0000755000175000017500000001624512743400330010620 00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2012-10-14.11; # UTC # Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # 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 # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: ergo-3.5/configure0000775000175000017500000066344012743400351011163 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for ERGO 3.5. # # Report bugs to . # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and info@ergoscf.org $0: about your system, including any error possibly output $0: before this message. Then install a modern shell, or $0: manually run the script under such a shell if you do $0: have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='ERGO' PACKAGE_TARNAME='ergo' PACKAGE_VERSION='3.5' PACKAGE_STRING='ERGO 3.5' PACKAGE_BUGREPORT='info@ergoscf.org' PACKAGE_URL='' ac_unique_file="source/ergo_scripted.cc" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS ERGO_DATA_PREFIX LIBOBJS EGREP GREP CPP YFLAGS YACC LEXLIB LEX_OUTPUT_ROOT LEX RANLIB am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE ac_ct_CXX CXXFLAGS CXX am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir runstatedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules with_precision with_goto enable_critical_warnings enable_performance enable_linalgebra_templates enable_sse_intrinsics enable_dependency_tracking ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC YACC YFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -runstatedir | --runstatedir | --runstatedi | --runstated \ | --runstate | --runstat | --runsta | --runst | --runs \ | --run | --ru | --r) ac_prev=runstatedir ;; -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ | --run=* | --ru=* | --r=*) runstatedir=$ac_optarg ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures ERGO 3.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/ergo] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of ERGO 3.5:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --disable-critical-warnings Continue compiling even if warnings are emitted (default=auto) --enable-performance Compile for performance --enable-linalgebra-templates Use C++ Linear Algebra Template Library (BLAS+LAPACK) (default=no) --enable-sse-intrinsics Use SSE intrinsics to generate efficient computational kernels (only possible with some compilers/architectures) (default=no) --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-precision=(single|double|long) Which precision should be used (default: double) --with-goto=PATH_TO_GOTOLIB Specify the file containing the Goto's BLAS library. Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags YACC The `Yet Another Compiler Compiler' implementation to use. Defaults to the first program found out of: `bison -y', `byacc', `yacc'. YFLAGS The list of arguments that will be passed by default to $YACC. This script will default YFLAGS to the empty string to avoid a default value of `-d' given by some make applications. CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF ERGO configure 3.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## ------------------------------- ## ## Report this to info@ergoscf.org ## ## ------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by ERGO $as_me 3.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version='1.15' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='ergo' VERSION='3.5' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi fi # Automake-1.11 option for less verbose output # configure --disable-silent-rules to restore verbose or run "make V=1" # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=0;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' ac_config_headers="$ac_config_headers source/config.h" if test "x$prefix" = "xNONE"; then prefix=/usr/local fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking which precision to use" >&5 $as_echo_n "checking which precision to use... " >&6; } precision_flag=DOUBLE # Check whether --with-precision was given. if test "${with_precision+set}" = set; then : withval=$with_precision; case "$with_precision" in s*) precision_flag=SINGLE;; l*) precision_flag=LONG_DOUBLE;; *) precision_flag=DOUBLE;; esac fi if test $precision_flag = LONG_DOUBLE; then $as_echo "#define PRECISION_LONG_DOUBLE 1" >>confdefs.h ergo_cv_precision=3 fi if test $precision_flag = SINGLE; then $as_echo "#define PRECISION_SINGLE 1" >>confdefs.h ergo_cv_precision=1 fi if test $precision_flag = DOUBLE; then $as_echo "#define PRECISION_DOUBLE 1" >>confdefs.h ergo_cv_precision=2 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $precision_flag" >&5 $as_echo "$precision_flag" >&6; } cat >>confdefs.h <<_ACEOF #define FUNC_PRECISION $ergo_cv_precision _ACEOF # Check whether --with-goto was given. if test "${with_goto+set}" = set; then : withval=$with_goto; fi ergo_cv_werror=auto # Check whether --enable-critical-warnings was given. if test "${enable_critical_warnings+set}" = set; then : enableval=$enable_critical_warnings; if test x$enableval = xno -o x$enableval = xyes; then ergo_cv_werror=$enableval; fi fi ergo_cv_performance=no # Check whether --enable-performance was given. if test "${enable_performance+set}" = set; then : enableval=$enable_performance; if test x$enableval = xyes; then ergo_cv_performance=yes; fi fi ergo_cv_linalg_templates=no # Check whether --enable-linalgebra-templates was given. if test "${enable_linalgebra_templates+set}" = set; then : enableval=$enable_linalgebra_templates; if test x$enableval = xyes; then ergo_cv_linalg_templates=yes; fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use internal linear algebra template library" >&5 $as_echo_n "checking whether to use internal linear algebra template library... " >&6; } if test x$ergo_cv_linalg_templates = xyes; then if test "$with_goto" != ""; then as_fn_error $? "--enable-linalgebra-templates conflicts with --with-goto" "$LINENO" 5 fi $as_echo "#define USE_LINALG_TEMPLATES 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ergo_cv_linalg_templates" >&5 $as_echo "$ergo_cv_linalg_templates" >&6; } ergo_cv_sse_intrinsics=no # Check whether --enable-sse-intrinsics was given. if test "${enable_sse_intrinsics+set}" = set; then : enableval=$enable_sse_intrinsics; if test x$enableval = xyes; then ergo_cv_sse_intrinsics=yes; fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use SSE intrinsics to generate efficient computational kernels" >&5 $as_echo_n "checking whether to use SSE intrinsics to generate efficient computational kernels... " >&6; } if test x$ergo_cv_sse_intrinsics = xyes; then $as_echo "#define USE_SSE_INTRINSICS 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ergo_cv_sse_intrinsics" >&5 $as_echo "$ergo_cv_sse_intrinsics" >&6; } # Checks for programs. ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in icc pgcc cc gcc do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in icc pgcc cc gcc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in icpc pgcpp c++ g++ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in icpc pgcpp c++ g++ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi for ac_prog in flex lex do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LEX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LEX"; then ac_cv_prog_LEX="$LEX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LEX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LEX=$ac_cv_prog_LEX if test -n "$LEX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5 $as_echo "$LEX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$LEX" && break done test -n "$LEX" || LEX=":" if test "x$LEX" != "x:"; then cat >conftest.l <<_ACEOF %% a { ECHO; } b { REJECT; } c { yymore (); } d { yyless (1); } e { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */ yyless ((input () != 0)); } f { unput (yytext[0]); } . { BEGIN INITIAL; } %% #ifdef YYTEXT_POINTER extern char *yytext; #endif int main (void) { return ! yylex () + ! yywrap (); } _ACEOF { { ac_try="$LEX conftest.l" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$LEX conftest.l") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5 $as_echo_n "checking lex output file root... " >&6; } if ${ac_cv_prog_lex_root+:} false; then : $as_echo_n "(cached) " >&6 else if test -f lex.yy.c; then ac_cv_prog_lex_root=lex.yy elif test -f lexyy.c; then ac_cv_prog_lex_root=lexyy else as_fn_error $? "cannot find output from $LEX; giving up" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5 $as_echo "$ac_cv_prog_lex_root" >&6; } LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root if test -z "${LEXLIB+set}"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5 $as_echo_n "checking lex library... " >&6; } if ${ac_cv_lib_lex+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_LIBS=$LIBS ac_cv_lib_lex='none needed' for ac_lib in '' -lfl -ll; do LIBS="$ac_lib $ac_save_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ `cat $LEX_OUTPUT_ROOT.c` _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_lex=$ac_lib fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext test "$ac_cv_lib_lex" != 'none needed' && break done LIBS=$ac_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5 $as_echo "$ac_cv_lib_lex" >&6; } test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5 $as_echo_n "checking whether yytext is a pointer... " >&6; } if ${ac_cv_prog_lex_yytext_pointer+:} false; then : $as_echo_n "(cached) " >&6 else # POSIX says lex can declare yytext either as a pointer or an array; the # default is implementation-dependent. Figure out which it is, since # not all implementations provide the %pointer and %array declarations. ac_cv_prog_lex_yytext_pointer=no ac_save_LIBS=$LIBS LIBS="$LEXLIB $ac_save_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define YYTEXT_POINTER 1 `cat $LEX_OUTPUT_ROOT.c` _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_prog_lex_yytext_pointer=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5 $as_echo "$ac_cv_prog_lex_yytext_pointer" >&6; } if test $ac_cv_prog_lex_yytext_pointer = yes; then $as_echo "#define YYTEXT_POINTER 1" >>confdefs.h fi rm -f conftest.l $LEX_OUTPUT_ROOT.c fi for ac_prog in 'bison -y' byacc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_YACC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_YACC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi YACC=$ac_cv_prog_YACC if test -n "$YACC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 $as_echo "$YACC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$YACC" && break done test -n "$YACC" || YACC="yacc" # Checks for header files. ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in limits.h memory.h stddef.h stdlib.h string.h strings.h sys/time.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test "$ergo_cv_performance" != "no"; then for option in -O3 -std=c99 -restrict -fopenmp; do SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $option" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc understands $option" >&5 $as_echo_n "checking whether gcc understands $option... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : has_option=yes else has_option=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $has_option = no; then CFLAGS="$SAVE_CFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_option" >&5 $as_echo "$has_option" >&6; } unset has_option unset SAVE_CFLAGS done unset option ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu for option in -O3 -fopenmp; do SAVE_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS $option" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether c++ understands $option" >&5 $as_echo_n "checking whether c++ understands $option... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : has_option=yes else has_option=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $has_option = no; then CXXFLAGS="$SAVE_CXXFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_option" >&5 $as_echo "$has_option" >&6; } unset has_option unset SAVE_CFLAGS done unset option ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi # Checks for typedefs, structures, and compiler characteristics. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 $as_echo_n "checking for C/C++ restrict keyword... " >&6; } if ${ac_cv_c_restrict+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_restrict=no # The order here caters to the fact that C++ does not require restrict. for ac_kw in __restrict __restrict__ _Restrict restrict; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ typedef int * int_ptr; int foo (int_ptr $ac_kw ip) { return ip[0]; } int main () { int s[1]; int * $ac_kw t = s; t[0] = 0; return foo(t) ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_restrict=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_restrict" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 $as_echo "$ac_cv_c_restrict" >&6; } case $ac_cv_c_restrict in restrict) ;; no) $as_echo "#define restrict /**/" >>confdefs.h ;; *) cat >>confdefs.h <<_ACEOF #define restrict $ac_cv_c_restrict _ACEOF ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5 $as_echo_n "checking for working volatile... " >&6; } if ${ac_cv_c_volatile+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { volatile int x; int * volatile y = (int *) 0; return !x && !y; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_volatile=yes else ac_cv_c_volatile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_volatile" >&5 $as_echo "$ac_cv_c_volatile" >&6; } if test $ac_cv_c_volatile = no; then $as_echo "#define volatile /**/" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi # Checks for library functions. for ac_header in stdlib.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" if test "x$ac_cv_header_stdlib_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDLIB_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 $as_echo_n "checking for GNU libc compatible malloc... " >&6; } if ${ac_cv_func_malloc_0_nonnull+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_malloc_0_nonnull=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *malloc (); #endif int main () { return ! malloc (0); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_malloc_0_nonnull=yes else ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 $as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } if test $ac_cv_func_malloc_0_nonnull = yes; then : $as_echo "#define HAVE_MALLOC 1" >>confdefs.h else $as_echo "#define HAVE_MALLOC 0" >>confdefs.h case " $LIBOBJS " in *" malloc.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS malloc.$ac_objext" ;; esac $as_echo "#define malloc rpl_malloc" >>confdefs.h fi for ac_header in stdlib.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" if test "x$ac_cv_header_stdlib_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDLIB_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5 $as_echo_n "checking for GNU libc compatible realloc... " >&6; } if ${ac_cv_func_realloc_0_nonnull+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_realloc_0_nonnull=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *realloc (); #endif int main () { return ! realloc (0, 0); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_realloc_0_nonnull=yes else ac_cv_func_realloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5 $as_echo "$ac_cv_func_realloc_0_nonnull" >&6; } if test $ac_cv_func_realloc_0_nonnull = yes; then : $as_echo "#define HAVE_REALLOC 1" >>confdefs.h else $as_echo "#define HAVE_REALLOC 0" >>confdefs.h case " $LIBOBJS " in *" realloc.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS realloc.$ac_objext" ;; esac $as_echo "#define realloc rpl_realloc" >>confdefs.h fi for ac_func in vprintf do : ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" if test "x$ac_cv_func_vprintf" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_VPRINTF 1 _ACEOF ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt" if test "x$ac_cv_func__doprnt" = xyes; then : $as_echo "#define HAVE_DOPRNT 1" >>confdefs.h fi fi done for ac_func in atexit floor memset rint strcasecmp strchr strdup strncasecmp do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # Use AC_CHECK_LIB to get math library before doing AC_CHECK_FUNCS for math functions. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for exp in -lm" >&5 $as_echo_n "checking for exp in -lm... " >&6; } if ${ac_cv_lib_m_exp+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char exp (); int main () { return exp (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_exp=yes else ac_cv_lib_m_exp=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_exp" >&5 $as_echo "$ac_cv_lib_m_exp" >&6; } if test "x$ac_cv_lib_m_exp" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF LIBS="-lm $LIBS" fi for ac_func in pow powf powl do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in sqrt sqrtf sqrtl do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in fabs fabsf fabsl do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in exp expf expl do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in log logf logl do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in erf erff erfl do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in erfc erfcf erfcl do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # Checks for libraries. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 $as_echo_n "checking for pthread_create in -lpthread... " >&6; } if ${ac_cv_lib_pthread_pthread_create+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_create (); int main () { return pthread_create (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthread_pthread_create=yes else ac_cv_lib_pthread_pthread_create=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5 $as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBPTHREAD 1 _ACEOF LIBS="-lpthread $LIBS" fi # NOTE: Adding the -Werror flag must be done AFTER checking for library functions. if test "$ergo_cv_werror" = "auto"; then if test -d "$srcdir/.svn"; then ergo_cv_werror=yes else ergo_cv_werror=no fi fi if test "$ergo_cv_werror" != "no"; then # Extra warnings for C code... for option in -Wsign-compare -Wpointer-arith -Wnested-externs \ -Wchar-subscripts -Wuninitialized -Wmissing-prototypes \ -Wreturn-type -Wdeclaration-after-statement -Werror; do SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $option" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc understands $option" >&5 $as_echo_n "checking whether gcc understands $option... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : has_option=yes else has_option=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $has_option = no; then CFLAGS="$SAVE_CFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_option" >&5 $as_echo "$has_option" >&6; } unset has_option unset SAVE_CFLAGS done unset option ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu # consider adding -Weffc++ for option in -Wsign-compare -Wpointer-arith \ -Wchar-subscripts -Wuninitialized -Woverloaded-virtual \ -Wreturn-type -Wctor-dtor-privacy -Wnon-virtual-dtor \ -Wreorder -Wdeprecated -Wunused -Werror; do SAVE_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS $option" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether c++ understands $option" >&5 $as_echo_n "checking whether c++ understands $option... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : has_option=yes else has_option=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $has_option = no; then CXXFLAGS="$SAVE_CXXFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_option" >&5 $as_echo "$has_option" >&6; } unset has_option unset SAVE_CFLAGS done unset option ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi # Checks for more libraries... blas=0 if test "$with_goto" != ""; then LIBS="$LIBS $with_goto" ac_fn_c_check_func "$LINENO" "dgemm_" "ac_cv_func_dgemm_" if test "x$ac_cv_func_dgemm_" = xyes; then : else as_fn_error $? "GOTO failed to provide dgemm_" "$LINENO" 5 fi ac_fn_c_check_func "$LINENO" "dstevx_" "ac_cv_func_dstevx_" if test "x$ac_cv_func_dstevx_" = xyes; then : else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dstevx_ in -llapack" >&5 $as_echo_n "checking for dstevx_ in -llapack... " >&6; } if ${ac_cv_lib_lapack_dstevx_+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-llapack $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dstevx_ (); int main () { return dstevx_ (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_lapack_dstevx_=yes else ac_cv_lib_lapack_dstevx_=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lapack_dstevx_" >&5 $as_echo "$ac_cv_lib_lapack_dstevx_" >&6; } if test "x$ac_cv_lib_lapack_dstevx_" = xyes; then : LIBS="-llapack $LIBS" else as_fn_error $? "GOTO needs lapack. Lapack is not found." "$LINENO" 5 fi fi ergo_la_lib=GOTO blas=1 elif test x$ergo_cv_linalg_templates = xyes; then ergo_la_lib=internal else # FIXME: Replace `main' with a function in `-llapack': ac_fn_c_check_func "$LINENO" "dposv_" "ac_cv_func_dposv_" if test "x$ac_cv_func_dposv_" = xyes; then : else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lacml" >&5 $as_echo_n "checking for main in -lacml... " >&6; } if ${ac_cv_lib_acml_main+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lacml $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_acml_main=yes else ac_cv_lib_acml_main=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_acml_main" >&5 $as_echo "$ac_cv_lib_acml_main" >&6; } if test "x$ac_cv_lib_acml_main" = xyes; then : LIBS="$LIBS -lacml";blas=1;ergo_la_lib=ACML else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmkl" >&5 $as_echo_n "checking for main in -lmkl... " >&6; } if ${ac_cv_lib_mkl_main+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmkl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_mkl_main=yes else ac_cv_lib_mkl_main=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mkl_main" >&5 $as_echo "$ac_cv_lib_mkl_main" >&6; } if test "x$ac_cv_lib_mkl_main" = xyes; then : LIBS="$LIBS -lmkl";blas=1;ergo_la_lib=MKL else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lessl" >&5 $as_echo_n "checking for main in -lessl... " >&6; } if ${ac_cv_lib_essl_main+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lessl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_essl_main=yes else ac_cv_lib_essl_main=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_essl_main" >&5 $as_echo "$ac_cv_lib_essl_main" >&6; } if test "x$ac_cv_lib_essl_main" = xyes; then : LIBS="$LIBS -lessl";blas=1;ergo_la_lib=ESSL else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -latlas" >&5 $as_echo_n "checking for main in -latlas... " >&6; } if ${ac_cv_lib_atlas_main+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-latlas $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_atlas_main=yes else ac_cv_lib_atlas_main=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_atlas_main" >&5 $as_echo "$ac_cv_lib_atlas_main" >&6; } if test "x$ac_cv_lib_atlas_main" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dswap_ in -lf77blas" >&5 $as_echo_n "checking for dswap_ in -lf77blas... " >&6; } if ${ac_cv_lib_f77blas_dswap_+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lf77blas -latlas $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dswap_ (); int main () { return dswap_ (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_f77blas_dswap_=yes else ac_cv_lib_f77blas_dswap_=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_f77blas_dswap_" >&5 $as_echo "$ac_cv_lib_f77blas_dswap_" >&6; } if test "x$ac_cv_lib_f77blas_dswap_" = xyes; then : LIBS="$LIBS -lf77blas -latlas";blas=1;ergo_la_lib=ATLAS fi else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgemm_ in -lblas" >&5 $as_echo_n "checking for dgemm_ in -lblas... " >&6; } if ${ac_cv_lib_blas_dgemm_+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lblas $FLIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dgemm_ (); int main () { return dgemm_ (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_blas_dgemm_=yes else ac_cv_lib_blas_dgemm_=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blas_dgemm_" >&5 $as_echo "$ac_cv_lib_blas_dgemm_" >&6; } if test "x$ac_cv_lib_blas_dgemm_" = xyes; then : LIBS="$LIBS -lblas $FLIBS";ergo_la_lib=generic fi fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmkl_lapack" >&5 $as_echo_n "checking for main in -lmkl_lapack... " >&6; } if ${ac_cv_lib_mkl_lapack_main+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmkl_lapack $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { return main (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_mkl_lapack_main=yes else ac_cv_lib_mkl_lapack_main=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mkl_lapack_main" >&5 $as_echo "$ac_cv_lib_mkl_lapack_main" >&6; } if test "x$ac_cv_lib_mkl_lapack_main" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBMKL_LAPACK 1 _ACEOF LIBS="-lmkl_lapack $LIBS" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dposv_ in -llapack" >&5 $as_echo_n "checking for dposv_ in -llapack... " >&6; } if ${ac_cv_lib_lapack_dposv_+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-llapack $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dposv_ (); int main () { return dposv_ (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_lapack_dposv_=yes else ac_cv_lib_lapack_dposv_=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lapack_dposv_" >&5 $as_echo "$ac_cv_lib_lapack_dposv_" >&6; } if test "x$ac_cv_lib_lapack_dposv_" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBLAPACK 1 _ACEOF LIBS="-llapack $LIBS" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgesv_ in -llapack" >&5 $as_echo_n "checking for dgesv_ in -llapack... " >&6; } if ${ac_cv_lib_lapack_dgesv_+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-llapack -lcblas $FLIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dgesv_ (); int main () { return dgesv_ (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_lapack_dgesv_=yes else ac_cv_lib_lapack_dgesv_=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lapack_dgesv_" >&5 $as_echo "$ac_cv_lib_lapack_dgesv_" >&6; } if test "x$ac_cv_lib_lapack_dgesv_" = xyes; then : LIBS="-llapack $LIBS -lcblas -latlas $FLIBS" else as_fn_error $? "lapack required but not found" "$LINENO" 5 fi fi fi fi fi fi cat >>confdefs.h <<_ACEOF #define USE_BLAS_IN_XC $blas _ACEOF # We have headers and basic libs.. Checks for bugs in compilers... { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 10.0 icpc bug" >&5 $as_echo_n "checking for 10.0 icpc bug... " >&6; } if test "$cross_compiling" = yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: irrelevant" >&5 $as_echo "irrelevant" >&6; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include static int f(int n) { return (n == 0) ? 1 : n*f(n-1); } static void myfunc(int l) { double a = sin(2.2)*f(l), terms; memset(&terms, 0, sizeof(terms)); terms += a; } int main () { int l,m;for(l=0; l<=2; l++) for(m=-l; m<=l; m++) myfunc(l); return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "found. Change compiler to a working one! See \`config.log' for more details" "$LINENO" 5; } fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi sprefix=`cd "$srcdir" && pwd` cat >>confdefs.h <<_ACEOF #define ERGO_SPREFIX "$sprefix" _ACEOF ERGO_DATA_PREFIX=`eval "echo ${datadir}/ergo"` ERGO_DATA_PREFIX=`eval "echo ${ERGO_DATA_PREFIX}"` cat >>confdefs.h <<_ACEOF #define ERGO_DATA_PREFIX "$ERGO_DATA_PREFIX" _ACEOF ac_config_files="$ac_config_files Makefile source/Makefile source/basisset/Makefile source/ci/Makefile source/dft/Makefile source/electron_dynamics/Makefile source/integrals/Makefile source/matrix/Makefile source/matrix/template_lapack/Makefile source/matrix/template_lapack/blas/Makefile source/matrix/template_lapack/lapack/Makefile source/densfromf/Makefile source/densfromf/recursive_expansion/Makefile source/densfromf/recursive_expansion/src/Makefile source/matrix_wrapper/Makefile source/matrix_wrapper/ErgoMatrix/Makefile source/matrix_wrapper/ErgoMatrix/src/Makefile source/matrix_wrapper/ErgoMatrix/test/Makefile source/matrix_wrapper/file_tools/Makefile source/matrix_wrapper/file_tools/src/Makefile source/matrix_wrapper/file_tools/test/Makefile source/scf/Makefile source/tddft/Makefile source/test/Makefile source/utilities/Makefile source/utilities_basic/Makefile basis/Makefile documentation/source/Makefile params/Makefile mol/Makefile test/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by ERGO $as_me 3.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ ERGO config.status 3.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "source/config.h") CONFIG_HEADERS="$CONFIG_HEADERS source/config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "source/Makefile") CONFIG_FILES="$CONFIG_FILES source/Makefile" ;; "source/basisset/Makefile") CONFIG_FILES="$CONFIG_FILES source/basisset/Makefile" ;; "source/ci/Makefile") CONFIG_FILES="$CONFIG_FILES source/ci/Makefile" ;; "source/dft/Makefile") CONFIG_FILES="$CONFIG_FILES source/dft/Makefile" ;; "source/electron_dynamics/Makefile") CONFIG_FILES="$CONFIG_FILES source/electron_dynamics/Makefile" ;; "source/integrals/Makefile") CONFIG_FILES="$CONFIG_FILES source/integrals/Makefile" ;; "source/matrix/Makefile") CONFIG_FILES="$CONFIG_FILES source/matrix/Makefile" ;; "source/matrix/template_lapack/Makefile") CONFIG_FILES="$CONFIG_FILES source/matrix/template_lapack/Makefile" ;; "source/matrix/template_lapack/blas/Makefile") CONFIG_FILES="$CONFIG_FILES source/matrix/template_lapack/blas/Makefile" ;; "source/matrix/template_lapack/lapack/Makefile") CONFIG_FILES="$CONFIG_FILES source/matrix/template_lapack/lapack/Makefile" ;; "source/densfromf/Makefile") CONFIG_FILES="$CONFIG_FILES source/densfromf/Makefile" ;; "source/densfromf/recursive_expansion/Makefile") CONFIG_FILES="$CONFIG_FILES source/densfromf/recursive_expansion/Makefile" ;; "source/densfromf/recursive_expansion/src/Makefile") CONFIG_FILES="$CONFIG_FILES source/densfromf/recursive_expansion/src/Makefile" ;; "source/matrix_wrapper/Makefile") CONFIG_FILES="$CONFIG_FILES source/matrix_wrapper/Makefile" ;; "source/matrix_wrapper/ErgoMatrix/Makefile") CONFIG_FILES="$CONFIG_FILES source/matrix_wrapper/ErgoMatrix/Makefile" ;; "source/matrix_wrapper/ErgoMatrix/src/Makefile") CONFIG_FILES="$CONFIG_FILES source/matrix_wrapper/ErgoMatrix/src/Makefile" ;; "source/matrix_wrapper/ErgoMatrix/test/Makefile") CONFIG_FILES="$CONFIG_FILES source/matrix_wrapper/ErgoMatrix/test/Makefile" ;; "source/matrix_wrapper/file_tools/Makefile") CONFIG_FILES="$CONFIG_FILES source/matrix_wrapper/file_tools/Makefile" ;; "source/matrix_wrapper/file_tools/src/Makefile") CONFIG_FILES="$CONFIG_FILES source/matrix_wrapper/file_tools/src/Makefile" ;; "source/matrix_wrapper/file_tools/test/Makefile") CONFIG_FILES="$CONFIG_FILES source/matrix_wrapper/file_tools/test/Makefile" ;; "source/scf/Makefile") CONFIG_FILES="$CONFIG_FILES source/scf/Makefile" ;; "source/tddft/Makefile") CONFIG_FILES="$CONFIG_FILES source/tddft/Makefile" ;; "source/test/Makefile") CONFIG_FILES="$CONFIG_FILES source/test/Makefile" ;; "source/utilities/Makefile") CONFIG_FILES="$CONFIG_FILES source/utilities/Makefile" ;; "source/utilities_basic/Makefile") CONFIG_FILES="$CONFIG_FILES source/utilities_basic/Makefile" ;; "basis/Makefile") CONFIG_FILES="$CONFIG_FILES basis/Makefile" ;; "documentation/source/Makefile") CONFIG_FILES="$CONFIG_FILES documentation/source/Makefile" ;; "params/Makefile") CONFIG_FILES="$CONFIG_FILES params/Makefile" ;; "mol/Makefile") CONFIG_FILES="$CONFIG_FILES mol/Makefile" ;; "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi echo "" echo "Selected precision : $precision_flag" echo "Critical warnings : $ergo_cv_werror" echo "Linear Algebra Lib : $ergo_la_lib" echo "" ergo-3.5/params/0000775000175000017500000000000012743400366010610 500000000000000ergo-3.5/params/lda.ego0000664000175000017500000000126312743400275011765 00000000000000# run it as # source/ergo -e 'molecule "mol/ch4_010.mol"' params/lda.ego # convergence_threshold = 1e-2 J_K.threshold_1el = 1e-13 J_K.threshold_2el = 1e-9 #charge = 1 #spin_polarization = 1 basis = "3-21G" #molecule_inline #He 0.0 0.0 0.0 #He 0 0 3 #EOF convergence_threshold = 1e-2 scf_shift = 1 run "LDA" basis = "cc-pVDZ" convergence_threshold = 1e-2 J_K.threshold_2el = 1e-9 initial_density = "filename.ergo" system "mv density.bin filename.ergo" run "B3LYP" system "mv density.bin b3lyp-density.bin" convergence_threshold = 1e-5 J_K.threshold_2el = 1e-11 XC.radint = 1e-11 initial_density = "b3lyp-density.bin" run "B3LYP" system "echo Three step calculation done." # Loops? ergo-3.5/params/lr.ego0000664000175000017500000000030312743400275011634 00000000000000# run it as # source/ergo params/lr.ego # basis = "3-21G" molecule_inline C 0.0 0.0 0.0 O 0 0 2.5 EOF # Disable fmm due to large startup time. J_K.use_fmm = 0 get_excited_state "B3LYP" 3 ergo-3.5/params/b3lyp.ego0000664000175000017500000000235412743400275012260 00000000000000# This is a benchmarking input file, written for PDC benchmarking needs. # Tests a B3LYP calculation and prints immediately some important timings. # run it as: # source/ergo params/b3lyp.ego # # Feel free to set appropriately TMPDIR and OMP_NUM_THREADS variables. # # # It will print a matrix 3x3, where the columns correspond to # different phases of the calculations (the task is to minimize the # sum in the row) and the different rows correspond to different types # of calculations - the last row is most representative. # # On AMD3800+x2 box, code compiled with gcc/-O9 -ftree-vectorize prints # in the first row: # use_simple_starting_guess=1 J_K.use_fmm=1 scf.convergence_threshold=1e-3 scf.max_number_of_iterations=5 ;XC.sparse_mode= XC.radint = 1e-11 molecule "mol/ch4_040.mol" basis = "STO-2G" system "rm ergoscf.out" run "B3LYP" system "echo Jtime[s] Ktime[s] XCtime[s];awk '/ar t/{j=$8}/_mt t/{x=$8}/K_by_boxes t/{k=$8}END{print j,k,x}' ergoscf.out" initial_density="density.bin" scf.max_number_of_iterations=2 basis = "3-21G" run "B3LYP" system "awk '/ar t/{j=$8}/_mt t/{x=$8}/K_by_boxes t/{k=$8}END{print j,k,x}' ergoscf.out" basis = "6-31G" run "B3LYP" system "awk '/ar t/{j=$8}/_mt t/{x=$8}/K_by_boxes t/{k=$8}END{print j,k,x}' ergoscf.out" ergo-3.5/params/Makefile.in0000664000175000017500000002604112743400352012573 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = params ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ b3lyp.ego \ hf321g.ego \ lda.ego \ lr.ego all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign params/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign params/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/params/Makefile.am0000664000175000017500000000007612743400275012566 00000000000000EXTRA_DIST = \ b3lyp.ego \ hf321g.ego \ lda.ego \ lr.ego ergo-3.5/params/hf321g.ego0000664000175000017500000000036512743400275012221 00000000000000# run it as # source/ergo -m mol/h2o.mol params/hf321g.ego # use_simple_starting_guess = 1 scf.convergence_threshold = 1e-3 J_K.use_fmm = 1 J_K.threshold_1el = 1e-13 J_K.threshold_2el_J = 1e-9 J_K.threshold_2el_K = 1e-8 basis = "3-21G" run "HF" ergo-3.5/config_examples.txt0000664000175000017500000003570412743400307013155 00000000000000on dallas, if you want to link with LAPACK env LIBS=-llapack ./configure on etorofu: env CFLAGS="-O4 -march=x86-64 -ffast-math -fexpensive-optimizations -funroll-loops -std=c99" ./configure on juliana (lenngren): module add i-compilers env CC=icc CFLAGS='-O2 -xP -ip -restrict' ./configure on juliana (lenngren), if you want to link with LAPACK: env CC=icc CFLAGS='-O2 -xP -ip -restrict' LIBS='-L/pdc/vol/mkl/7.2.0-008/lib/em64t -lmkl_lapack -lmkl_em64t -lguide -lpthread -Wl,--rpath,/pdc/vol/mkl/7.2.0-008/lib/em64t' ./configure on juliana (lenngren), using gcc 4.2 and openmp module add gcc/4.2.pre20070501 env CC=gcc CXX=g++ CXXFLAGS='-O2 -fopenmp' LDFLAGS='-fopenmp' LIBS='-L/pdc/vol/mkl/7.2.0-008/lib/em64t -lmkl_lapack -lmkl_em64t -lguide -lpthread -Wl,--rpath,/pdc/vol/mkl/7.2.0-008/lib/em64t' ./configure on juliana (lenngren), using MPI compiler module add i-compilers scampi env CC='mpicc -ccl icc' CFLAGS='-O2 -xP -ip -restrict' ./configure on juliana (lenngren), using MPI compiler and LAPACK module add i-compilers scampi env CC='mpicc -ccl icc' CFLAGS='-O2 -xP -ip -restrict' LIBS='-L/pdc/vol/mkl/7.2.0-008/lib/em64t -lmkl_lapack -lmkl_em64t -lguide -lpthread -Wl,--rpath,/pdc/vol/mkl/7.2.0-008/lib/em64t' ./configure on juliana (lenngren), using pg compiler env CC=pgcc CXX=pgCC CFLAGS='-fastsse' CXXFLAGS='-fastsse' LIBS='-L/pdc/vol/mkl/7.2.0-008/lib/em64t -lmkl_lapack -lmkl_em64t -lguide -lpthread -Wl,--rpath,/pdc/vol/mkl/7.2.0-008/lib/em64t' ./configure on sarek.hpc2n.umu.se, linking with LAPACK: env LIBS='-L/usr/lib/atlas -llapack -lblas' ./configure on sarek.hpc2n.umu.se with pgi compiler, linking with LAPACK: module add pgi env CC=pgcc CXX=pgcpp CFLAGS='-fast' CXXFLAGS='-fast' LIBS='-L/usr/lib/atlas -llapack -lblas' ./configure on sarek.hpc2n.umu.se with pathscale compiler, using goto blas: module add psc env CC=pathcc CFLAGS=-O3 CXX=pathCC CXXFLAGS=-O3 LIBS='-lgoto -llapack -lgoto' ./configure --disable-critical-warnings on akka.hpc2n.umu.se using gcc with openmp and goto blas: env CXXFLAGS='-O3 -fopenmp' LDFLAGS='-fopenmp' LIBS='/home/e/elias/ergosvn/ergo/goto/GotoBLAS2/libgoto2_penryn-r1.11p1.a -lgfortran' ./configure on akka.hpc2n.umu.se using icc version 10.1 with openmp and goto blas: module load intel-compiler/10.1 Change 2010-09-12: now it seems to work with the latest icpc (11.1) also: module load intel-compiler env CXX=icpc CXXFLAGS='-O3 -openmp' CC=icc CFLAGS='-O3 -openmp' LDFLAGS='-openmp' LIBS='/home/e/elias/ergosvn/ergo/goto/GotoBLAS2/libgoto2_penryn-r1.11p1.a -lgfortran' ./configure on akka.hpc2n.umu.se using icc and MKL (this worked 2011-08-20): module load intel-compiler module load intel-mkl env CXX=icpc CXXFLAGS='-O3 -openmp' CC=icc CFLAGS='-O3 -openmp' LDFLAGS='-openmp -L/lap/intel-mkl/10.3.3.174/mkl/lib/intel64 -Wl,-rpath -Wl,/lap/intel-mkl/10.3.3.174/mkl/lib/intel64' LIBS='-lmkl_intel_lp64 -lmkl_sequential -lmkl_core' ./configure --disable-critical-warnings on abisko.hpc2n.umu.se using icc and MKL (this worked 2016-02-18): env CXX=icpc CXXFLAGS="-O2 -openmp $MKL_INCLUDE" CC=icc CFLAGS="-O2 -openmp $MKL_INCLUDE" LDFLAGS="-openmp $MKL_LDFLAGS" LIBS='-lmkl_intel_lp64 -lmkl_sequential -lmkl_core' ../configure --disable-critical-warnings on sgi3k, to get 1e-33 precision: env CC=c99 ./configure --with-precision=l on sgi3k, linking with LAPACK env CC=c99 LIBS=-lcomplib.sgimath ./configure on mozart.nsc.liu.se, with LAPACK env LIBS="-L$MKL_ROOT -lmkl_lapack" ./configure on mozart.nsc.liu.se, using "home-made" gcc 4.2 with openmp export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/y_eliru/gcc/installdir/lib env CC=/home/y_eliru/gcc/installdir/bin/gcc CFLAGS='-O3 -fopenmp' CXX=/home/y_eliru/gcc/installdir/bin/g++ CXXFLAGS='-O3 -fopenmp' LDFLAGS='-fopenmp' LIBS="-lm -lmkl_lapack -lmkl -lpthread -L/usr/local/intel/mkl/8.0.1/lib/64 -lmkl_lapack -L/home/y_eliru/gcc/installdir/lib" ./configure on AIX/OSX: CC=xlc CFLAGS="-O3 -qstrict -qlanglvl=stdc99" ./configure to choose precision: (choices are short, double, long) ./configure --with-precision=l on zeta (athlon, gcc-4.1) LDFLAGS="-static -L/home/pawsa/archive/Linux_HAMMER64SSE2_2/lib" LIBS="/usr/lib64/liblapack.a -lpthread -lblas -lgfortran" CFLAGS="-O3 -ftree-vectorize -std=c99" CXXFLAGS=-O3 ./configure To get all compiler warnings both for c and c++ code: env CC='gcc -Wall' CXX='g++ -Wall' ./configure on 32GB mem Itanium computer at PDC (luc2): module add i-compilers/9.1.042 env CC=icc CFLAGS='-O2 -ip -restrict' LIBS='-L/pdc/vol/mkl/7.2.0-008/lib/64 -lmkl_lapack -lmkl -lguide -lpthread -Wl,--rpath,/pdc/vol/mkl/7.2.0-008/lib/64' ./configure on 32GB mem Itanium computer at PDC (luc2), using gcc version 4.2 with OpenMP: module add gcc/4.2.pre20070501 env CC=gcc CFLAGS='-O3 -fopenmp' CXX=g++ CXXFLAGS='-O3 -fopenmp' LDFLAGS='-fopenmp' LIBS='-lm -lmkl_lapack -lmkl -lpthread -L/pdc/vol/mkl/8.0.019/lib/64 -lmkl_lapack -lpthread -Wl,--rpath,/pdc/vol/mkl/8.0.019/lib/64 -Wl,-rpath -Wl,/pdc/vol/gcc/4.2.pre20070501/lib -lgomp' ./configure on neolith.nsc.liu.se using gcc v 4.1.1 with OpenMP: env CC=gcc CFLAGS='-fopenmp -O3' CXX=g++ CXXFLAGS='-fopenmp -O3' LDFLAGS='-fopenmp' LIBS='-lm -L/software/intel/cmkl/9.1/lib/em64t -lmkl_lapack -lmkl -Wl,-rpath=/software/intel/cmkl/9.1/lib/em64t' ./configure on neolith.nsc.liu.se using icc v 9.1: module add icc/9.1.051 env CC=icc CFLAGS='-O3' CXX=icpc CXXFLAGS='-O3' LIBS='-lpthread -L/software/intel/cmkl/9.1/lib/em64t -lmkl_lapack -lmkl -Wl,-rpath=/software/intel/cmkl/9.1/lib/em64t' ./configure on neolith.nsc.liu.se using icc v 10.1 and MKL: module load icc/10.1 module load mkl env CC='icc -Nmkl' CFLAGS='-openmp' CXX='icpc -Nmkl' CXXFLAGS='-openmp' ./configure on kappa.nsc.liu.se using icc v 12.0 and MKL (this worked 2011-07-21): module load icc/12.0.3 module load mkl/10.3.3.174 env CC='icc -Nmkl' CFLAGS='-openmp' CXX='icpc -Nmkl' CXXFLAGS='-openmp' LDFLAGS='-lmkl_intel_lp64 -lmkl_sequential -lmkl_core' ./configure --disable-critical-warnings on 256 GB mem Itanium computer at PDC (key) using icc and OpenMP: module add i-compilers/10.1.2008-02-07 env CC=icc CFLAGS='-O2 -ip -restrict -openmp' CXX=icpc CXXFLAGS='-O2 -ip -restrict -openmp' LIBS='-L/pdc/vol/mkl/7.2.0-008/lib/64 -lmkl_lapack -lmkl -lguide -lpthread -Wl,--rpath,/pdc/vol/mkl/7.2.0-008/lib/64' ./configure on juliana (lenngren), using icc 10.1, openmp and mkl 8.0. env CC=icc CFLAGS='-O2 -ip -restrict -openmp' CXX=icpc CXXFLAGS='-O2 -ip -restrict -openmp' LIBS='-L/pdc/vol/mkl/8.0.019/lib/em64t -lmkl_lapack -lmkl_em64t -lguide -lpthread -Wl,--rpath,/pdc/vol/mkl/8.0.019/lib/em64t' ./configure on isis.uppmax.uu.se, using gcc version 4.3.2 and own downloaded ACML: env CC=gcc CXX=g++ CFLAGS='-fopenmp -O3' CXXFLAGS='-fopenmp -O3' LIBS='-L/bubo/home/h20/eliasr/acml/installation/gfortran64/lib -static -lacml -lgfortran' ./configure on kalkyl.uppmax.uu.se using gcc 4.4.2 with OpenMP and Goto BLAS: module load gcc env CXXFLAGS='-O3 -fopenmp' LDFLAGS='-fopenmp' LIBS='/bubo/home/h20/eliasr/goto/GotoBLAS2/libgoto2.a -lgfortran' ./configure (Not so good performance for OpenMP matrix stuff, probably due to gcc openmp having much initilization overhead.) on kalkyl.uppmax.uu.se using icc 10.1 with OpenMP and Goto BLAS (Goto compiled with gcc 4.4.2): module load intel/10.1 Change 2010-09-12: now it seems to work with the latest icpc (11.1) also: module load intel env CXX=icpc CXXFLAGS='-O3 -openmp' LDFLAGS='-openmp' LIBS='/bubo/home/h20/eliasr/goto/GotoBLAS2/libgoto2.a -lgfortran' ./configure (Better performance for OpenMP matrix stuff, probably due to icc openmp having less initilization overhead.) on kalkyl using MKL: module load intel env CXX=icpc CXXFLAGS='-O3 -openmp' LDFLAGS='-openmp -mkl=sequential' ./configure --disable-critical-warnings ( we should really fix it so the --disable-critical-warnings is not needed. ) on kalkyl using Intel 12.0 and MKL: module load intel/12.0 env CXX=icpc CXXFLAGS='-O3 -openmp' LDFLAGS='-openmp -mkl=sequential' ./configure --disable-critical-warnings on lindgren (Cray machine at PDC) with Intel compiler module swap PrgEnv-pgi PrgEnv-intel module load xt-libsci fftw env CC=cc CFLAGS=-openmp CXX=CC CXXFLAGS=-openmp ./configure --disable-critical-warnings (with module load perftools this gives internal compiler error) on lindgren (Cray machine at PDC) with gnu compiler and profiling module swap PrgEnv-pgi/3.0.20 PrgEnv-gnu/3.0.20 module swap gcc/4.5.0 gcc/4.4.3 env CC=cc CFLAGS='-fopenmp -O3' CXX=CC CXXFLAGS='-fopenmp -O3' LDFLAGS=-fopenmp ./configure --disable-critical-warnings --enable-linalgebra-templates module load perftools make clean && make on ferlin.pdc.kth.se module load i-compilers/11.1 mkl/11.1 env CC=icc CFLAGS='-O2 -ip -restrict -openmp' CXX=icpc CXXFLAGS='-O2 -ip -restrict -openmp' LDFLAGS='-L/pdc/vol/i-compilers/11.1/icc/mkl/lib/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -Wl,--rpath,/pdc/vol/i-compilers/11.1/icc/mkl/lib/em64t' ./configure --disable-critical-warnings on povel.pdc.kth.se module load i-compilers/11.1 mkl/11.1 env CC=icc CFLAGS='-O2 -ip -restrict -openmp' CXX=icpc CXXFLAGS='-O2 -ip -restrict -openmp' LDFLAGS='-L/pdc/vol/i-compilers/11.1/icc/mkl/lib/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -Wl,--rpath,/pdc/vol/i-compilers/11.1/icc/mkl/lib/em64t' ./configure --disable-critical-warnings in Cygwin on a Windows machine: ./configure --enable-linalgebra-templates --disable-silent-rules LDFLAGS='-Wl,--stack,8000000' on MareNostrum III at Barcelona Supercomputing Center (config instructions from Harald Servat): module load mkl CC=icc CFLAGS='-g -O3 -xAVX -openmp -mkl=sequential' CXX=icpc CXXFLAGS='-g -O3 -xAVX -openmp -mkl=sequential' ./configure --disable-critical-warnings on milou.uppmax.uu.se using OpenBlas: env CXXFLAGS='-O3 -fopenmp' LIBS=/home/eliasr/OpenBlas/inst/serial/lib/libopenblas_sandybridge-r0.2.8.a LDFLAGS='-lgfortran -lpthread' ./configure on triolith.nsc.liu.se (July 2015): module load buildenv-intel/2015-1 env CC=icc CFLAGS='-O2 -openmp' CXX=icpc CXXFLAGS='-O2 -openmp' LDFLAGS='-Nmkl -mkl=sequential' ./configure on triolith.nsc.liu.se (June 2016): module load buildenv-intel/2016-3 env CC=icc CFLAGS='-O2 -qopenmp' CXX=icpc CXXFLAGS='-O2 -qopenmp' LDFLAGS='-Nmkl -mkl=sequential' ./configure on triolith.nsc.liu.se using gcc/6.1.0 and OpenBLAS (build serial OpenBLAS using "make USE_THREAD=0") (June 2016): module load gcc/6.1.0 env CC=gcc CXX=g++ CFLAGS='-O3 -fopenmp' CXXFLAGS='-O3 -fopenmp' LIBS=/home/x_eliru/OpenBLAS/OpenBLAS-0.2.18/libopenblas_sandybridge-r0.2.18.a LDFLAGS='-lgfortran -lpthread' ./configure on beskow.pdc.kth.se (Aug 2015): module swap PrgEnv-cray PrgEnv-intel salloc -A m.2015-1-269 -n 32 -t 1:00:00 export CRAY_ROOTFS=DSL aprun -n 1 -d 32 env CC=cc CXX=CC CFLAGS='-mkl=sequential' CXXFLAGS='-mkl=sequential' LDFLAGS='-mkl=sequential' ./configure aprun -n 1 -d 32 make clean aprun -n 1 -d 32 make -j16 on a machine with gcc as default compiler and where blas+lapack are installed, with OpenMP: env CXXFLAGS='-O3 -fopenmp' LDFLAGS='-fopenmp' ./configure using the clang compiler with all compiler warnings enabled: env CC=clang CCFLAGS='-Wall' CXX=clang++ CXXFLAGS='-Wall' ./configure With Chunks & Tasks just specifying the root directory of the git repo ergo_project (First build the cht libs that will be used): USING BLOCK-SPARSE MATRIX LIB, CHT-MPI, on beskow.pdc.kth.se (Aug 2015): module swap PrgEnv-cray PrgEnv-intel Build CHT single_program lib like this: Modify cht_build_and_test.rb to set CHT_CC = "CC -mkl=sequential". Also change blas_flags from "-lblas" to "" in cht_build_and_test.rb. ./cht_build_and_test.rb -l single_program -p -b -v -j8 Then build Ergo like this: export ERGOPROJ_TOPDIR=/cfs/klemming/nobackup/e/eliasr/git/ergo_project && env CXX=CC CXXFLAGS="-DBUILD_WITHOUT_CPP11 -O3 -std=c++0x -I`echo $ERGOPROJ_TOPDIR`/repos/chunks_and_tasks/source -I`echo $ERGOPROJ_TOPDIR`/repos/cht_type_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/cht_matrix_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/block_sparse_matrix_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/utilities/gblas/source -DUSE_CHUNKS_AND_TASKS -DUSE_CHUNKS_AND_TASKS_BSM -mkl=sequential" LIBS="`echo $ERGOPROJ_TOPDIR`/repos/chunks_and_tasks/source/libcht.a `echo $ERGOPROJ_TOPDIR`/repos/cht_type_lib/source/libchttl.a `echo $ERGOPROJ_TOPDIR`/repos/cht_matrix_lib/source/libchtml.a" LDFLAGS="-mkl=sequential" ./configure --disable-critical-warnings salloc -A m.2015-1-269 -n 32 -t 1:00:00 export CRAY_ROOTFS=DSL aprun -n 1 -d 32 make clean aprun -n 1 -d 32 make -j16 USING BASIC MATRIX LIB, CHT-SERIAL: export ERGOPROJ_TOPDIR=/home/emanuel/clone/ergo_project && env CXX=g++ CXXFLAGS="-O3 -std=c++0x -I`echo $ERGOPROJ_TOPDIR`/repos/chunks_and_tasks_serial/source -I`echo $ERGOPROJ_TOPDIR`/repos/cht_type_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/cht_matrix_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/basic_matrix_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/utilities/gblas/source -DUSE_CHUNKS_AND_TASKS" LIBS="`echo $ERGOPROJ_TOPDIR`/repos/chunks_and_tasks_serial/source/libcht.a `echo $ERGOPROJ_TOPDIR`/repos/cht_type_lib/source/libchttl.a `echo $ERGOPROJ_TOPDIR`/repos/cht_matrix_lib/source/libchtml.a" ./configure --disable-critical-warnings USING BLOCK-SPARSE MATRIX LIB, CHT-SERIAL: export ERGOPROJ_TOPDIR=/home/emanuel/clone/ergo_project && env CXX=g++ CXXFLAGS="-O3 -std=c++0x -I`echo $ERGOPROJ_TOPDIR`/repos/chunks_and_tasks_serial/source -I`echo $ERGOPROJ_TOPDIR`/repos/cht_type_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/cht_matrix_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/block_sparse_matrix_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/utilities/gblas/source -DUSE_CHUNKS_AND_TASKS -DUSE_CHUNKS_AND_TASKS_BSM" LIBS="`echo $ERGOPROJ_TOPDIR`/repos/chunks_and_tasks_serial/source/libcht.a `echo $ERGOPROJ_TOPDIR`/repos/cht_type_lib/source/libchttl.a `echo $ERGOPROJ_TOPDIR`/repos/cht_matrix_lib/source/libchtml.a" ./configure --disable-critical-warnings USING BASIC MATRIX LIB, CHT-MPI: export ERGOPROJ_TOPDIR=/home/emanuel/clone/ergo_project && env CXX=mpiCC CXXFLAGS="-O3 -std=c++0x -I`echo $ERGOPROJ_TOPDIR`/repos/chunks_and_tasks/source -I`echo $ERGOPROJ_TOPDIR`/repos/cht_type_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/cht_matrix_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/basic_matrix_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/utilities/gblas/source -DUSE_CHUNKS_AND_TASKS" LIBS="`echo $ERGOPROJ_TOPDIR`/repos/chunks_and_tasks/source/libcht.a `echo $ERGOPROJ_TOPDIR`/repos/cht_type_lib/source/libchttl.a `echo $ERGOPROJ_TOPDIR`/repos/cht_matrix_lib/source/libchtml.a" ./configure --disable-critical-warnings USING BLOCK-SPARSE MATRIX LIB, CHT-MPI: export ERGOPROJ_TOPDIR=/home/emanuel/clone/ergo_project && env CXX=mpiCC CXXFLAGS="-O3 -std=c++0x -I`echo $ERGOPROJ_TOPDIR`/repos/chunks_and_tasks/source -I`echo $ERGOPROJ_TOPDIR`/repos/cht_type_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/cht_matrix_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/block_sparse_matrix_lib/source -I`echo $ERGOPROJ_TOPDIR`/repos/utilities/gblas/source -DUSE_CHUNKS_AND_TASKS -DUSE_CHUNKS_AND_TASKS_BSM" LIBS="`echo $ERGOPROJ_TOPDIR`/repos/chunks_and_tasks/source/libcht.a `echo $ERGOPROJ_TOPDIR`/repos/cht_type_lib/source/libchttl.a `echo $ERGOPROJ_TOPDIR`/repos/cht_matrix_lib/source/libchtml.a" ./configure --disable-critical-warnings ergo-3.5/documentation/0000775000175000017500000000000012743400366012176 500000000000000ergo-3.5/documentation/source/0000775000175000017500000000000012743400366013476 500000000000000ergo-3.5/documentation/source/mainpage.h0000664000175000017500000001350112743400307015343 00000000000000/* Ergo, version 3.5, a program for linear scaling electronic structure * calculations. * Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, * and Anastasia Kruchinina. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * 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 * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Primary academic reference: * Kohn−Sham Density Functional Theory Electronic Structure Calculations * with Linearly Scaling Computational Time and Memory Usage, * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, * J. Chem. Theory Comput. 7, 340 (2011), * * * For further information about Ergo, see . */ /** @file mainpage.h Main page in documentation * @author Emanuel Rubensson responsible author * @version 0.1 * @date March 2006 */ /** @mainpage ergo Documentation @htmlonly


@endhtmlonly @section intro_sec Introduction @htmlonly

ErgoSCF.org is the home of Ergo, a quantum chemistry program for large-scale self-consistent field calculations.

Key features of the Ergo program:
  • Performs electronic structure calculations using Hartree-Fock and Kohn-Sham density functional theory.
  • Written in C++.
  • Uses Gaussian basis sets.
  • Both core and valence electrons are included in the calculations.
  • Both restricted and unrestricted models are implemented for energy calculations.
  • Implements a broad range of both pure and hybrid Kohn-Sham density functionals.
  • Employs modern linear scaling techniques like fast multipole methods, hierarchic sparse matrix algebra, density matrix purification, and efficient integral screening.
  • Linear scaling is achieved not only in terms of CPU usage but also memory utilization.
  • The time consuming parts of the code are currently parallelized using the shared-memory paradigm.
Linear response calculations of polarizabilities and excitation energies are possible for the restricted reference density, although complete linear scaling is in the current implementation not achieved since full dense matrices are still used in parts of the linear response implementation.

@endhtmlonly @htmlonly
@endhtmlonly @section License @verbinclude ergo_license_long.txt @htmlonly
@endhtmlonly @section runergo How to run ergo The executable "ergo" is the new interface to the Ergo project which is meant to be scriptable.
Usage: ergo [args...]
args can be: input file name
             -e "input line"
             -m molecule file name
             -h help message that lists also all the available variables.
The statements in the input file are divided in two classes: variable assignments and executable statements (commands). Currently, following commands are recognized: run - runs an SCF calculation:
run "HF"
molecule_inline - defines a molecule
molecule_inline
C 0 0 0
O 0 0 2.3
EOF
molecule - reads the molecule file in a MOLECULE/Dalton or XYZ file format
molecule "../nh3.mol"
get_excited_state - computes a set of excited states
get_excited_state "CAMB3LYP" 4
get_polarisability - computes a polarizability for given frequency.
get_polarisability "PBE" "X" 0.2
system - executes a system command
system "rm density.old; mv density.bin density.old"
Example of a simplest input file:
basis= "6-31Gs"
molecule_inline
O     0 0 0
H     1.2 1.2 0
H    -1.2 1.2 0
EOF
get_polarisability "HF" "Y" 0.01
@htmlonly
@endhtmlonly @section gendoc How to generate this documentation Run doxygen without arguments in the ergo directory. This will generate html documentation which can be browsed via ergo/documentation/html/main.html @htmlonly
@endhtmlonly @section comments How to write comments See the Doxygen manual http://www.stack.nl/~dimitri/doxygen/manual.html on how to get started writing Doxygen comments. @n Comments should be written in JavaDoc style, i.e. using the @@ comment prefix rather than @\ and using @verbatim /** * */ @endverbatim rather than @verbatim /*! * */ @endverbatim for doxygen comments. We will possibly add latex doc generation in the future so please keep this in mind and use @@htmlonly for all html specific commands. @subsection filecomments File comments Each file should begin with a header in the following style: @verbatim /** @file filename.h Brief description * @author Author1 responsible * @author Author2 * @version 1.0 * @date March 2006 */ @endverbatim which will result in the following: @n Brief description @author Author1 responsible @author Author2 @version 1.0 @date March 2006 @htmlonly
@endhtmlonly @section install_sec Installation @subsection step1 Usual configuration ./configure && make Options can be passed - see @ref examples for more information. @subsection correctness Correctness test make check Verbose variant: make check VERBOSE=1 @subsection examples Configuration examples How to install on different machines and libraries (this should probably be updated) @verbinclude config_examples.txt @htmlonly
@endhtmlonly @section knownbugs_sec Known bugs No known bugs right now. * * * * * * * * * * * */ ergo-3.5/documentation/source/Makefile.in0000664000175000017500000002605012743400352015461 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = documentation/source ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = \ mainpage.h all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign documentation/source/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign documentation/source/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/documentation/source/Makefile.am0000664000175000017500000000003312743400275015445 00000000000000EXTRA_DIST = \ mainpage.h ergo-3.5/install-sh0000755000175000017500000003546312743400330011251 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2014-09-12.12; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. tab=' ' nl=' ' IFS=" $tab$nl" # Set DOITPROG to "echo" to test this script. doit=${DOITPROG-} doit_exec=${doit:-exec} # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false is_target_a_directory=possibly usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) is_target_a_directory=always dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) is_target_a_directory=never;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done # We allow the use of options -d and -T together, by making -d # take the precedence; this is for compatibility with GNU install. if test -n "$dir_arg"; then if test -n "$dst_arg"; then echo "$0: target directory not allowed when installing a directory." >&2 exit 1 fi fi if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then if test $# -gt 1 || test "$is_target_a_directory" = always; then if test ! -d "$dst_arg"; then echo "$0: $dst_arg: Is not a directory." >&2 exit 1 fi fi fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) # $RANDOM is not portable (e.g. dash); use it when possible to # lower collision chance tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 # As "mkdir -p" follows symlinks and we work in /tmp possibly; so # create the $tmpdir first (and fail if unsuccessful) to make sure # that nobody tries to guess the $tmpdir name. if (umask $mkdir_umask && $mkdirprog $mkdir_mode "$tmpdir" && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. test_tmpdir="$tmpdir/a" ls_ld_tmpdir=`ls -ld "$test_tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac oIFS=$IFS IFS=/ set -f set fnord $dstdir shift set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: ergo-3.5/Makefile.in0000664000175000017500000005713312743400352011316 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope distdir dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in COPYING ChangeLog README \ compile depcomp install-sh missing ylwrap DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = source basis params mol test documentation/source EXTRA_DIST = bootstrap.sh README config_examples.txt Doxyfile ergo_license_long.txt ergo_release_notes_3_5.txt all: all-recursive .SUFFIXES: am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build/sub \ && ../../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-am clean clean-cscope clean-generic \ cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ distcheck distclean distclean-generic distclean-tags \ distcleancheck distdir distuninstallcheck dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/ergo_license_long.txt0000664000175000017500000000217612743400307013464 00000000000000Ergo, version 3.5, a program for linear scaling electronic structure calculations. Copyright (C) 2016 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, and Anastasia Kruchinina. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 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 GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Primary academic reference: Kohn−Sham Density Functional Theory Electronic Structure Calculations with Linearly Scaling Computational Time and Memory Usage, Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, J. Chem. Theory Comput. 7, 340 (2011), For further information about Ergo, see . ergo-3.5/Makefile.am0000664000175000017500000000025412743400307011275 00000000000000SUBDIRS = source basis params mol test documentation/source EXTRA_DIST = bootstrap.sh README config_examples.txt Doxyfile ergo_license_long.txt ergo_release_notes_3_5.txt ergo-3.5/basis/0000775000175000017500000000000012743400366010426 500000000000000ergo-3.5/basis/4-31G0000775000175000017500000002507212743400275010774 00000000000000$ Basis = 4-31G $ Elements supported $ H He Li Be B C N O F Ne P S Cl $ $ REFERENCE $ Elements References $ -------- ---------- $ H, C - F: R. Ditchfield, W.J. Hehre and J.A. Pople, $ J. Chem. Phys. 54, 724 (1971). $ He, Ne: Gaussian 90 $ Li, Be: These are actually 5-21G basis sets. $ Na - Ar: M.S. Gordon, J.S. Binkley, J.A. Pople, W.J. Pietro and W.J. Hehre, $ J. Am. Chem. Soc. 104, 2797 (1983). $ a 1 $ HYDROGEN (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 18.7311370 0.03349460 0.00000000 2.8253944 0.23472690 0.00000000 0.6401217 0.81375730 0.00000000 0.1612778 0.00000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 38.4216340 0.02376600 0.00000000 5.7780300 0.15467900 0.00000000 1.2417740 0.46963000 0.00000000 0.2979640 0.00000000 1.00000000 a 3 $ LITHIUM (8s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 8 3 0 275.3944400 0.00612190 0.00000000 0.00000000 41.4351750 0.04511300 0.00000000 0.00000000 9.3669938 0.19269420 0.00000000 0.00000000 2.5377253 0.46854420 0.00000000 0.00000000 0.7466365 0.44060750 0.00000000 0.00000000 0.7345643 0.00000000 -0.25253680 0.00000000 0.0871980 0.00000000 1.09734080 0.00000000 0.0404387 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 0.7345643 0.14359170 0.00000000 0.0871980 0.94780310 0.00000000 0.0404387 0.00000000 1.00000000 A 4 $ BERYLLIUM (8s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 8 3 0 275.3944400 0.00612180 0.00000000 0.00000000 41.4351750 0.04511300 0.00000000 0.00000000 9.3669938 0.19269420 0.00000000 0.00000000 2.5377253 0.46854420 0.00000000 0.00000000 0.7466365 0.44060750 0.00000000 0.00000000 0.7345643 0.00000000 -0.25253680 0.00000000 0.0871980 0.00000000 1.09734080 0.00000000 0.0404387 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 0.7345643 0.14359170 0.00000000 0.0871980 0.94780310 0.00000000 0.0404387 0.00000000 1.00000000 A 5 $ BORON (8s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 8 3 0 330.7528500 0.01799420 0.00000000 0.00000000 49.8438650 0.12469370 0.00000000 0.00000000 11.1170540 0.43433540 0.00000000 0.00000000 2.9227243 0.56097940 0.00000000 0.00000000 5.6812646 0.00000000 -0.13038710 0.00000000 1.4544046 0.00000000 -0.25143440 0.00000000 0.4283786 0.00000000 1.20512920 0.00000000 0.1442192 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 5.6812646 0.06374290 0.00000000 1.4544046 0.27613310 0.00000000 0.4283786 0.77738660 0.00000000 0.1442192 0.00000000 1.00000000 A 6 $ CARBON (8S,4P) -> [3S,2P] $ S-TYPE FUNCTIONS 8 3 0 486.9669300 0.01772580 0.00000000 0.00000000 73.3710940 0.12347870 0.00000000 0.00000000 16.4134580 0.43387540 0.00000000 0.00000000 4.3449836 0.56150420 0.00000000 0.00000000 8.6735253 0.00000000 -0.12138370 0.00000000 2.0966193 0.00000000 -0.22733850 0.00000000 0.6046513 0.00000000 1.18517390 0.00000000 0.1835578 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 8.6735253 0.06354540 0.00000000 2.0966193 0.29826780 0.00000000 0.6046513 0.76210320 0.00000000 0.1835578 0.00000000 1.00000000 a 7 $ NITROGEN (8S,4P) -> [3S,2P] $ S-TYPE FUNCTIONS 8 3 0 671.2795000 0.01759830 0.00000000 0.00000000 101.2017000 0.12284600 0.00000000 0.00000000 22.6999700 0.43378200 0.00000000 0.00000000 6.0406090 0.56141800 0.00000000 0.00000000 12.3936000 0.00000000 -0.11748900 0.00000000 2.9223830 0.00000000 -0.21399400 0.00000000 0.8325280 0.00000000 1.17450200 0.00000000 0.2259640 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 12.3936000 0.06402000 0.00000000 2.9223830 0.31120300 0.00000000 0.8325280 0.75274800 0.00000000 0.2259640 0.00000000 1.00000000 a 8 $ OXYGEN (8S,4P) -> [3S,2P] $ S-TYPE FUNCTIONS 8 3 0 883.2728600 0.01755060 0.00000000 0.00000000 133.1292800 0.12282920 0.00000000 0.00000000 29.9064080 0.43488360 0.00000000 0.00000000 7.9786772 0.56001080 0.00000000 0.00000000 16.1944470 0.00000000 -0.11340100 0.00000000 3.7800860 0.00000000 -0.17728650 0.00000000 1.0709836 0.00000000 1.15040790 0.00000000 0.2838798 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 16.1944470 0.06854530 0.00000000 3.7800860 0.33122540 0.00000000 1.0709836 0.73460790 0.00000000 0.2838798 0.00000000 1.00000000 a 9 $ FLUORINE (8S,4P) -> [3S,2P] $ S-TYPE FUNCTIONS 8 3 0 1126.1630000 0.01747580 0.00000000 0.00000000 169.7432000 0.12252300 0.00000000 0.00000000 38.1815100 0.43499900 0.00000000 0.00000000 10.2120400 0.55981200 0.00000000 0.00000000 21.4953700 0.00000000 -0.11105700 0.00000000 4.9897780 0.00000000 -0.16832200 0.00000000 1.4035740 0.00000000 1.14362600 0.00000000 0.3730318 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 21.4953700 0.06988800 0.00000000 4.9897780 0.33938800 0.00000000 1.4035740 0.72795900 0.00000000 0.3730318 0.00000000 1.00000000 a 10 $ NEON (8S,4P) -> [3S,2P] $ S-TYPE FUNCTIONS 8 3 0 1397.9321000 0.01742381 0.00000000 0.00000000 210.7697800 0.12227275 0.00000000 0.00000000 47.4672570 0.43501423 0.00000000 0.00000000 12.7226260 0.55971464 0.00000000 0.00000000 27.2130330 0.00000000 -0.10960944 0.00000000 6.2941344 0.00000000 -0.16412489 0.00000000 1.7600513 0.00000000 1.14015159 0.00000000 0.4618670 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 27.2130330 0.07044031 0.00000000 6.2941344 0.34399305 0.00000000 1.7600513 0.72451496 0.00000000 0.4618670 0.00000000 1.00000000 a 15 $ PHOSPHORUS (12s,8p) -> [4s,3p] $ S-TYPE FUNCTIONS 12 4 0 3018.6718000 0.01852130 0.00000000 0.00000000 0.00000000 455.1271200 0.12990490 0.00000000 0.00000000 0.00000000 102.3147300 0.45510030 0.00000000 0.00000000 0.00000000 27.6178470 0.53313190 0.00000000 0.00000000 0.00000000 114.4294000 0.00000000 -0.02475020 0.00000000 0.00000000 26.5822960 0.00000000 -0.13509240 0.00000000 0.00000000 7.8718889 0.00000000 0.22773610 0.00000000 0.00000000 2.4878573 0.00000000 0.87559310 0.00000000 0.00000000 50.7506190 0.00000000 0.00000000 -0.04511920 0.00000000 1.6728624 0.00000000 0.00000000 -0.85047300 0.00000000 0.6210974 0.00000000 0.00000000 0.15962860 0.00000000 0.1670160 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 114.4294000 0.02741400 0.00000000 0.00000000 26.5822960 0.16907910 0.00000000 0.00000000 7.8718889 0.46910210 0.00000000 0.00000000 2.4878573 0.51815310 0.00000000 0.00000000 50.7506190 0.00000000 0.00377910 0.00000000 1.6728624 0.00000000 -0.04634380 0.00000000 0.6210974 0.00000000 0.10339440 0.00000000 0.1670160 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (12s,8p) -> [4s,3p] $ S-TYPE FUNCTIONS 12 4 0 3442.1244000 0.01849210 0.00000000 0.00000000 0.00000000 518.9131000 0.12982200 0.00000000 0.00000000 0.00000000 116.6909000 0.45504180 0.00000000 0.00000000 0.00000000 31.5716470 0.53300840 0.00000000 0.00000000 0.00000000 127.4405800 0.00000000 -0.02726460 0.00000000 0.00000000 29.7476670 0.00000000 -0.14248340 0.00000000 0.00000000 8.8346642 0.00000000 0.25970430 0.00000000 0.00000000 2.8173898 0.00000000 0.85254730 0.00000000 0.00000000 3.7291854 0.00000000 0.00000000 -0.27753150 0.00000000 1.4067702 0.00000000 0.00000000 -0.45764350 0.00000000 0.5481100 0.00000000 0.00000000 1.43168430 0.00000000 0.1703809 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 127.4405800 0.02915200 0.00000000 0.00000000 29.7476670 0.17795970 0.00000000 0.00000000 8.8346642 0.48362370 0.00000000 0.00000000 2.8173898 0.49425530 0.00000000 0.00000000 3.7291854 0.00000000 -0.03375090 0.00000000 1.4067702 0.00000000 0.14571100 0.00000000 0.5481100 0.00000000 0.89828870 0.00000000 0.1703809 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (12s,8p) -> [4s,3p] $ S-TYPE FUNCTIONS 12 4 0 3910.3026000 0.01837940 0.00000000 0.00000000 0.00000000 589.5518000 0.12914010 0.00000000 0.00000000 0.00000000 132.5939200 0.45404480 0.00000000 0.00000000 0.00000000 35.9035420 0.53443940 0.00000000 0.00000000 0.00000000 147.7653500 0.00000000 -0.02674330 0.00000000 0.00000000 34.5060750 0.00000000 -0.14469110 0.00000000 0.00000000 10.2864710 0.00000000 0.25170350 0.00000000 0.00000000 3.3111473 0.00000000 0.85982030 0.00000000 0.00000000 4.2802849 0.00000000 0.00000000 -0.27039630 0.00000000 1.6410166 0.00000000 0.00000000 -0.34162970 0.00000000 0.6144785 0.00000000 0.00000000 1.35002450 0.00000000 0.1956594 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 147.7653500 0.02886450 0.00000000 0.00000000 34.5060750 0.17796470 0.00000000 0.00000000 10.2864710 0.48699980 0.00000000 0.00000000 3.3111473 0.48901840 0.00000000 0.00000000 4.2802849 0.00000000 -0.03670280 0.00000000 1.6410166 0.00000000 0.19184920 0.00000000 0.6144785 0.00000000 0.86433760 0.00000000 0.1956594 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/6-31++Gss0000775000175000017500000007471412743400275011501 00000000000000$6-31++G** $ $ REFERENCE $Elements References $-------- ---------- $ H - He: W.J. Hehre, R. Ditchfield and J.A. Pople, J. Chem. Phys. 56, $Li - Ne: 2257 (1972). Note: Li and B come from J.D. Dill and J.A. $ Pople, J. Chem. Phys. 62, 2921 (1975). $Na - Ar: M.M. Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, $ D.J. DeFrees and J.A. Pople, J. Chem. Phys. 77, 3654 (1982) $K - Zn: V. Rassolov, J.A. Pople, M. Ratner and T.L. Windus, J. Chem. Phys. $ 109, 1223 (1998) $** $ Note: He and Ne are unpublished basis sets taken from the Gaussian $ program $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $Elements References $-------- ---------- $H,Li - Ne: P.C. Hariharan and J.A. Pople, Theoret. Chimica Acta 28, 213 (1973). $Na - Ar : M.M. Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, D.J. $ DeFrees and J.A. Pople, J. Chem. Phys. 77, 3654 (1982). $K - Zn: V.A. Rassolov, J.A. Pople, M.A. Ratner, and T.L. Windus $ J. Chem. Phys. 109, 1223 (1998) $ Note: He and Ne are unpublished basis sets taken from Gaussian. $ $ A 1 $ HYDROGEN (4s) -> [2s] $ HYDROGEN (Diffuse s) $ HYDROGEN (1p) $ S-TYPE FUNCTIONS 5 3 0 18.7311370 0.03349460 0.00000000 0.00000000 2.8253937 0.23472695 0.00000000 0.00000000 0.6401217 0.81375733 0.00000000 0.00000000 0.1612778 0.00000000 1.00000000 0.00000000 0.0360000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.1000000 1.00000000 A 2 $ HELIUM (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 38.4216340 0.02376600 0.00000000 5.7780300 0.15467900 0.00000000 1.2417740 0.46963000 0.00000000 0.2979640 0.00000000 1.00000000 A 3 $ LITHIUM (10s,4p) -> [3s,2p] $ LITHIUM (Diffuse sp) $ LITHIUM (1d) $ S-TYPE FUNCTIONS 11 4 0 642.4189200 0.00214260 0.00000000 0.00000000 0.00000000 96.7985150 0.01620890 0.00000000 0.00000000 0.00000000 22.0911210 0.07731560 0.00000000 0.00000000 0.00000000 6.2010703 0.24578600 0.00000000 0.00000000 0.00000000 1.9351177 0.47018900 0.00000000 0.00000000 0.00000000 0.6367358 0.34547080 0.00000000 0.00000000 0.00000000 2.3249184 0.00000000 -0.03509170 0.00000000 0.00000000 0.6324306 0.00000000 -0.19123280 0.00000000 0.00000000 0.0790534 0.00000000 1.08398780 0.00000000 0.00000000 0.0359620 0.00000000 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 2.3249184 0.00894150 0.00000000 0.00000000 0.6324306 0.14100950 0.00000000 0.00000000 0.0790534 0.94536370 0.00000000 0.00000000 0.0359620 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.2000000 1.00000000 A 4 $ BERYLLIUM (10s,4p) -> [3s,2p] $ BERYLLIUM (Diffuse sp) $ BERYLLIUM (1d) $ S-TYPE FUNCTIONS 11 4 0 1264.5857000 0.00194480 0.00000000 0.00000000 0.00000000 189.9368100 0.01483510 0.00000000 0.00000000 0.00000000 43.1590890 0.07209060 0.00000000 0.00000000 0.00000000 12.0986630 0.23715420 0.00000000 0.00000000 0.00000000 3.8063232 0.46919870 0.00000000 0.00000000 0.00000000 1.2728903 0.35652020 0.00000000 0.00000000 0.00000000 3.1964631 0.00000000 -0.11264870 0.00000000 0.00000000 0.7478133 0.00000000 -0.22950640 0.00000000 0.00000000 0.2199663 0.00000000 1.18691670 0.00000000 0.00000000 0.0823099 0.00000000 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 3.1964631 0.05598020 0.00000000 0.00000000 0.7478133 0.26155060 0.00000000 0.00000000 0.2199663 0.79397230 0.00000000 0.00000000 0.0823099 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4000000 1.00000000 A 5 $ BORON (10s,4p) -> [3s,2p] $ BORON (Diffuse sp) $ BORON (1d) $ S-TYPE FUNCTIONS 11 4 0 2068.8823000 0.00186630 0.00000000 0.00000000 0.00000000 310.6495700 0.01425150 0.00000000 0.00000000 0.00000000 70.6830330 0.06955160 0.00000000 0.00000000 0.00000000 19.8610800 0.23257290 0.00000000 0.00000000 0.00000000 6.2993048 0.46707870 0.00000000 0.00000000 0.00000000 2.1270270 0.36343140 0.00000000 0.00000000 0.00000000 4.7279710 0.00000000 -0.13039380 0.00000000 0.00000000 1.1903377 0.00000000 -0.13078890 0.00000000 0.00000000 0.3594117 0.00000000 1.13094440 0.00000000 0.00000000 0.1267512 0.00000000 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 4.7279710 0.07459760 0.00000000 0.00000000 1.1903377 0.30784670 0.00000000 0.00000000 0.3594117 0.74345680 0.00000000 0.00000000 0.1267512 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6000000 1.00000000 A 6 $ CARBON (10s,4p) -> [3s,2p] $ CARBON (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 3047.5249000 0.00183470 0.00000000 0.00000000 0.00000000 457.3695100 0.01403730 0.00000000 0.00000000 0.00000000 103.9486900 0.06884260 0.00000000 0.00000000 0.00000000 29.2101550 0.23218440 0.00000000 0.00000000 0.00000000 9.2866630 0.46794130 0.00000000 0.00000000 0.00000000 3.1639270 0.36231200 0.00000000 0.00000000 0.00000000 7.8682724 0.00000000 -0.11933240 0.00000000 0.00000000 1.8812885 0.00000000 -0.16085420 0.00000000 0.00000000 0.5442493 0.00000000 1.14345640 0.00000000 0.00000000 0.1687144 0.00000000 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 7.8682724 0.06899910 0.00000000 0.00000000 1.8812885 0.31642400 0.00000000 0.00000000 0.5442493 0.74430830 0.00000000 0.00000000 0.1687144 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 A 7 $ NITROGEN (10s,4p) -> [3s,2p] $ NITROGEN (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 4173.5110000 0.00183480 0.00000000 0.00000000 0.00000000 627.4579000 0.01399500 0.00000000 0.00000000 0.00000000 142.9021000 0.06858700 0.00000000 0.00000000 0.00000000 40.2343300 0.23224100 0.00000000 0.00000000 0.00000000 12.8202100 0.46907000 0.00000000 0.00000000 0.00000000 4.3904370 0.36045500 0.00000000 0.00000000 0.00000000 11.6263580 0.00000000 -0.11496100 0.00000000 0.00000000 2.7162800 0.00000000 -0.16911800 0.00000000 0.00000000 0.7722180 0.00000000 1.14585200 0.00000000 0.00000000 0.2120313 0.00000000 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 11.6263580 0.06758000 0.00000000 0.00000000 2.7162800 0.32390700 0.00000000 0.00000000 0.7722180 0.74089500 0.00000000 0.00000000 0.2120313 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 A 8 $ OXYGEN (10s,4p) -> [3s,2p] $ OXYGEN (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 5484.6717000 0.00183110 0.00000000 0.00000000 0.00000000 825.2349500 0.01395010 0.00000000 0.00000000 0.00000000 188.0469600 0.06844510 0.00000000 0.00000000 0.00000000 52.9645000 0.23271430 0.00000000 0.00000000 0.00000000 16.8975700 0.47019300 0.00000000 0.00000000 0.00000000 5.7996353 0.35852090 0.00000000 0.00000000 0.00000000 15.5396160 0.00000000 -0.11077750 0.00000000 0.00000000 3.5999336 0.00000000 -0.14802630 0.00000000 0.00000000 1.0137618 0.00000000 1.13076700 0.00000000 0.00000000 0.2700058 0.00000000 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 15.5396160 0.07087430 0.00000000 0.00000000 3.5999336 0.33975280 0.00000000 0.00000000 1.0137618 0.72715860 0.00000000 0.00000000 0.2700058 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 A 9 $ FLUORINE (10s,4p) -> [3s,2p] $ FLUORINE (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 7001.1713000 0.00181960 0.00000000 0.00000000 0.00000000 1051.3660000 0.01391600 0.00000000 0.00000000 0.00000000 239.2857000 0.06840500 0.00000000 0.00000000 0.00000000 67.3974500 0.23318600 0.00000000 0.00000000 0.00000000 21.5199600 0.47126700 0.00000000 0.00000000 0.00000000 7.4031010 0.35661900 0.00000000 0.00000000 0.00000000 20.8479500 0.00000000 -0.10850700 0.00000000 0.00000000 4.8083080 0.00000000 -0.14645200 0.00000000 0.00000000 1.3440700 0.00000000 1.12868900 0.00000000 0.00000000 0.3581514 0.00000000 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 20.8479500 0.07162900 0.00000000 0.00000000 4.8083080 0.34591200 0.00000000 0.00000000 1.3440700 0.72247000 0.00000000 0.00000000 0.3581514 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 A 10 $ NEON (10s,4p) -> [3s,2p] $ NEON (Diffuse sp) $ NEON (1d) $ S-TYPE FUNCTIONS 11 4 0 8425.8515300 0.00188435 0.00000000 0.00000000 0.00000000 1268.5194000 0.01433690 0.00000000 0.00000000 0.00000000 289.6214140 0.07010962 0.00000000 0.00000000 0.00000000 81.8590040 0.23737327 0.00000000 0.00000000 0.00000000 26.2515079 0.47300713 0.00000000 0.00000000 0.00000000 9.0947205 0.34840124 0.00000000 0.00000000 0.00000000 26.5321310 0.00000000 -0.10711829 0.00000000 0.00000000 6.1017550 0.00000000 -0.14616382 0.00000000 0.00000000 1.6962715 0.00000000 1.12777350 0.00000000 0.00000000 0.4458187 0.00000000 0.00000000 1.00000000 0.00000000 0.1300000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 26.5321310 0.07190959 0.00000000 0.00000000 6.1017550 0.34951337 0.00000000 0.00000000 1.6962715 0.71994051 0.00000000 0.00000000 0.4458187 0.00000000 1.00000000 0.00000000 0.1300000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 A 11 $ SODIUM (16s,10p) -> [4s,3p] $ SODIUM (Diffuse sp) $ SODIUM (1d) $ S-TYPE FUNCTIONS 17 5 0 9993.2000000 0.00193770 0.00000000 0.00000000 0.00000000 0.00000000 1499.8900000 0.01480700 0.00000000 0.00000000 0.00000000 0.00000000 341.9510000 0.07270600 0.00000000 0.00000000 0.00000000 0.00000000 94.6797000 0.25262900 0.00000000 0.00000000 0.00000000 0.00000000 29.7345000 0.49324200 0.00000000 0.00000000 0.00000000 0.00000000 10.0063000 0.31316900 0.00000000 0.00000000 0.00000000 0.00000000 150.9630000 0.00000000 -0.00354210 0.00000000 0.00000000 0.00000000 35.5878000 0.00000000 -0.04395900 0.00000000 0.00000000 0.00000000 11.1683000 0.00000000 -0.10975210 0.00000000 0.00000000 0.00000000 3.9020100 0.00000000 0.18739800 0.00000000 0.00000000 0.00000000 1.3817700 0.00000000 0.64669900 0.00000000 0.00000000 0.00000000 0.4663820 0.00000000 0.30605800 0.00000000 0.00000000 0.00000000 0.4979660 0.00000000 0.00000000 -0.24850300 0.00000000 0.00000000 0.0843530 0.00000000 0.00000000 -0.13170400 0.00000000 0.00000000 0.0666350 0.00000000 0.00000000 1.23352000 0.00000000 0.00000000 0.0259544 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0076000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 150.9630000 0.00500170 0.00000000 0.00000000 0.00000000 35.5878000 0.03551100 0.00000000 0.00000000 0.00000000 11.1683000 0.14282500 0.00000000 0.00000000 0.00000000 3.9020100 0.33862000 0.00000000 0.00000000 0.00000000 1.3817700 0.45157900 0.00000000 0.00000000 0.00000000 0.4663820 0.27327100 0.00000000 0.00000000 0.00000000 0.4979660 0.00000000 -0.02302300 0.00000000 0.00000000 0.0843530 0.00000000 0.95035900 0.00000000 0.00000000 0.0666350 0.00000000 0.05985800 0.00000000 0.00000000 0.0259544 0.00000000 0.00000000 1.00000000 0.00000000 0.0076000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 A 12 $ MAGNESIUM (16s,10p) -> [4s,3p] $ MAGNESIUM (Diffuse sp) $ MAGNESIUM (1d) $ S-TYPE FUNCTIONS 17 5 0 11722.8000000 0.00197780 0.00000000 0.00000000 0.00000000 0.00000000 1759.9300000 0.01511400 0.00000000 0.00000000 0.00000000 0.00000000 400.8460000 0.07391100 0.00000000 0.00000000 0.00000000 0.00000000 112.8070000 0.24919100 0.00000000 0.00000000 0.00000000 0.00000000 35.9997000 0.48792800 0.00000000 0.00000000 0.00000000 0.00000000 12.1828000 0.31966200 0.00000000 0.00000000 0.00000000 0.00000000 189.1800000 0.00000000 -0.00323720 0.00000000 0.00000000 0.00000000 45.2119000 0.00000000 -0.04100800 0.00000000 0.00000000 0.00000000 14.3563000 0.00000000 -0.11260000 0.00000000 0.00000000 0.00000000 5.1388600 0.00000000 0.14863300 0.00000000 0.00000000 0.00000000 1.9065200 0.00000000 0.61649700 0.00000000 0.00000000 0.00000000 0.7058870 0.00000000 0.36482900 0.00000000 0.00000000 0.00000000 0.9293400 0.00000000 0.00000000 -0.21229000 0.00000000 0.00000000 0.2690350 0.00000000 0.00000000 -0.10798500 0.00000000 0.00000000 0.1173790 0.00000000 0.00000000 1.17584000 0.00000000 0.00000000 0.0421061 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0146000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 189.1800000 0.00492810 0.00000000 0.00000000 0.00000000 45.2119000 0.03498900 0.00000000 0.00000000 0.00000000 14.3563000 0.14072500 0.00000000 0.00000000 0.00000000 5.1388600 0.33364200 0.00000000 0.00000000 0.00000000 1.9065200 0.44494000 0.00000000 0.00000000 0.00000000 0.7058870 0.26925400 0.00000000 0.00000000 0.00000000 0.9293400 0.00000000 -0.02241900 0.00000000 0.00000000 0.2690350 0.00000000 0.19227000 0.00000000 0.00000000 0.1173790 0.00000000 0.84618100 0.00000000 0.00000000 0.0421061 0.00000000 0.00000000 1.00000000 0.00000000 0.0146000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 A 13 $ ALUMINUM (16s,10p) -> [4s,3p] $ ALUMINUM (Diffuse sp) $ ALUMINUM (1d) $ S-TYPE FUNCTIONS 17 5 0 13983.1000000 0.00194270 0.00000000 0.00000000 0.00000000 0.00000000 2098.7500000 0.01486000 0.00000000 0.00000000 0.00000000 0.00000000 477.7050000 0.07284900 0.00000000 0.00000000 0.00000000 0.00000000 134.3600000 0.24683000 0.00000000 0.00000000 0.00000000 0.00000000 42.8709000 0.48725800 0.00000000 0.00000000 0.00000000 0.00000000 14.5189000 0.32349600 0.00000000 0.00000000 0.00000000 0.00000000 239.6680000 0.00000000 -0.00292620 0.00000000 0.00000000 0.00000000 57.4419000 0.00000000 -0.03740800 0.00000000 0.00000000 0.00000000 18.2859000 0.00000000 -0.11448700 0.00000000 0.00000000 0.00000000 6.5991400 0.00000000 0.11563500 0.00000000 0.00000000 0.00000000 2.4904900 0.00000000 0.61259500 0.00000000 0.00000000 0.00000000 0.9445400 0.00000000 0.39379900 0.00000000 0.00000000 0.00000000 1.2779000 0.00000000 0.00000000 -0.22760600 0.00000000 0.00000000 0.3975900 0.00000000 0.00000000 0.14458300 0.00000000 0.00000000 0.1600950 0.00000000 0.00000000 1.09279000 0.00000000 0.00000000 0.0556577 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0318000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 239.6680000 0.00460290 0.00000000 0.00000000 0.00000000 57.4419000 0.03319900 0.00000000 0.00000000 0.00000000 18.2859000 0.13628200 0.00000000 0.00000000 0.00000000 6.5991400 0.33047600 0.00000000 0.00000000 0.00000000 2.4904900 0.44914600 0.00000000 0.00000000 0.00000000 0.9445400 0.26570400 0.00000000 0.00000000 0.00000000 1.2779000 0.00000000 -0.01751300 0.00000000 0.00000000 0.3975900 0.00000000 0.24453300 0.00000000 0.00000000 0.1600950 0.00000000 0.80493400 0.00000000 0.00000000 0.0556577 0.00000000 0.00000000 1.00000000 0.00000000 0.0318000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.3250000 1.00000000 A 14 $ SILICON (16s,10p) -> [4s,3p] $ SILICON (Diffuse sp) $ SILICON (1d) $ S-TYPE FUNCTIONS 17 5 0 16115.9000000 0.00195948 0.00000000 0.00000000 0.00000000 0.00000000 2425.5800000 0.01492880 0.00000000 0.00000000 0.00000000 0.00000000 553.8670000 0.07284780 0.00000000 0.00000000 0.00000000 0.00000000 156.3400000 0.24613000 0.00000000 0.00000000 0.00000000 0.00000000 50.0683000 0.48591400 0.00000000 0.00000000 0.00000000 0.00000000 17.0178000 0.32500200 0.00000000 0.00000000 0.00000000 0.00000000 292.7180000 0.00000000 -0.00278094 0.00000000 0.00000000 0.00000000 69.8731000 0.00000000 -0.03571460 0.00000000 0.00000000 0.00000000 22.3363000 0.00000000 -0.11498500 0.00000000 0.00000000 0.00000000 8.1503900 0.00000000 0.09356340 0.00000000 0.00000000 0.00000000 3.1345800 0.00000000 0.60301700 0.00000000 0.00000000 0.00000000 1.2254300 0.00000000 0.41895900 0.00000000 0.00000000 0.00000000 1.7273800 0.00000000 0.00000000 -0.24463000 0.00000000 0.00000000 0.5729220 0.00000000 0.00000000 0.00431572 0.00000000 0.00000000 0.2221920 0.00000000 0.00000000 1.09818000 0.00000000 0.00000000 0.0778369 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0331000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 292.7180000 0.00443826 0.00000000 0.00000000 0.00000000 69.8731000 0.03266790 0.00000000 0.00000000 0.00000000 22.3363000 0.13472100 0.00000000 0.00000000 0.00000000 8.1503900 0.32867800 0.00000000 0.00000000 0.00000000 3.1345800 0.44964000 0.00000000 0.00000000 0.00000000 1.2254300 0.26137200 0.00000000 0.00000000 0.00000000 1.7273800 0.00000000 -0.01779510 0.00000000 0.00000000 0.5729220 0.00000000 0.25353900 0.00000000 0.00000000 0.2221920 0.00000000 0.80066900 0.00000000 0.00000000 0.0778369 0.00000000 0.00000000 1.00000000 0.00000000 0.0331000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4500000 1.00000000 A 15 $ PHOSPHORUS (16s,10p) -> [4s,3p] $ PHOSPHORUS (Diffuse sp) $ PHOSPHORUS (1d) $ S-TYPE FUNCTIONS 17 5 0 19413.3000000 0.00185160 0.00000000 0.00000000 0.00000000 0.00000000 2909.4200000 0.01420620 0.00000000 0.00000000 0.00000000 0.00000000 661.3640000 0.06999950 0.00000000 0.00000000 0.00000000 0.00000000 185.7590000 0.24007900 0.00000000 0.00000000 0.00000000 0.00000000 59.1943000 0.48476200 0.00000000 0.00000000 0.00000000 0.00000000 20.0310000 0.33520000 0.00000000 0.00000000 0.00000000 0.00000000 339.4780000 0.00000000 -0.00278217 0.00000000 0.00000000 0.00000000 81.0101000 0.00000000 -0.03604990 0.00000000 0.00000000 0.00000000 25.8780000 0.00000000 -0.11663100 0.00000000 0.00000000 0.00000000 9.4522100 0.00000000 0.09683280 0.00000000 0.00000000 0.00000000 3.6656600 0.00000000 0.61441800 0.00000000 0.00000000 0.00000000 1.4674600 0.00000000 0.40379800 0.00000000 0.00000000 0.00000000 2.1562300 0.00000000 0.00000000 -0.25292300 0.00000000 0.00000000 0.7489970 0.00000000 0.00000000 0.03285170 0.00000000 0.00000000 0.2831450 0.00000000 0.00000000 1.08125000 0.00000000 0.00000000 0.0998317 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0348000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 339.4780000 0.00456462 0.00000000 0.00000000 0.00000000 81.0101000 0.03369360 0.00000000 0.00000000 0.00000000 25.8780000 0.13975500 0.00000000 0.00000000 0.00000000 9.4522100 0.33936200 0.00000000 0.00000000 0.00000000 3.6656600 0.45092100 0.00000000 0.00000000 0.00000000 1.4674600 0.23858600 0.00000000 0.00000000 0.00000000 2.1562300 0.00000000 -0.01776530 0.00000000 0.00000000 0.7489970 0.00000000 0.27405800 0.00000000 0.00000000 0.2831450 0.00000000 0.78542100 0.00000000 0.00000000 0.0998317 0.00000000 0.00000000 1.00000000 0.00000000 0.0348000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.5500000 1.00000000 A 16 $ SULFUR (16s,10p) -> [4s,3p] $ SULFUR (Diffuse sp) $ SULFUR (1d) $ S-TYPE FUNCTIONS 17 5 0 21917.1000000 0.00186900 0.00000000 0.00000000 0.00000000 0.00000000 3301.4900000 0.01423000 0.00000000 0.00000000 0.00000000 0.00000000 754.1460000 0.06969600 0.00000000 0.00000000 0.00000000 0.00000000 212.7110000 0.23848700 0.00000000 0.00000000 0.00000000 0.00000000 67.9896000 0.48330700 0.00000000 0.00000000 0.00000000 0.00000000 23.0515000 0.33807400 0.00000000 0.00000000 0.00000000 0.00000000 423.7350000 0.00000000 -0.00237670 0.00000000 0.00000000 0.00000000 100.7100000 0.00000000 -0.03169300 0.00000000 0.00000000 0.00000000 32.1599000 0.00000000 -0.11331700 0.00000000 0.00000000 0.00000000 11.8079000 0.00000000 0.05609000 0.00000000 0.00000000 0.00000000 4.6311000 0.00000000 0.59225500 0.00000000 0.00000000 0.00000000 1.8702500 0.00000000 0.45500600 0.00000000 0.00000000 0.00000000 2.6158400 0.00000000 0.00000000 -0.25037400 0.00000000 0.00000000 0.9221670 0.00000000 0.00000000 0.06695700 0.00000000 0.00000000 0.3412870 0.00000000 0.00000000 1.05451000 0.00000000 0.00000000 0.1171670 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0405000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 423.7350000 0.00406100 0.00000000 0.00000000 0.00000000 100.7100000 0.03068100 0.00000000 0.00000000 0.00000000 32.1599000 0.13045200 0.00000000 0.00000000 0.00000000 11.8079000 0.32720500 0.00000000 0.00000000 0.00000000 4.6311000 0.45285100 0.00000000 0.00000000 0.00000000 1.8702500 0.25604200 0.00000000 0.00000000 0.00000000 2.6158400 0.00000000 -0.01451100 0.00000000 0.00000000 0.9221670 0.00000000 0.31026300 0.00000000 0.00000000 0.3412870 0.00000000 0.75448300 0.00000000 0.00000000 0.1171670 0.00000000 0.00000000 1.00000000 0.00000000 0.0405000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6500000 1.00000000 A 17 $ CHLORINE (16s,10p) -> [4s,3p] $ CHLORINE (Diffuse sp) $ CHLORINE (1d) $ S-TYPE FUNCTIONS 17 5 0 25180.1000000 0.00183300 0.00000000 0.00000000 0.00000000 0.00000000 3780.3500000 0.01403400 0.00000000 0.00000000 0.00000000 0.00000000 860.4740000 0.06909700 0.00000000 0.00000000 0.00000000 0.00000000 242.1450000 0.23745200 0.00000000 0.00000000 0.00000000 0.00000000 77.3349000 0.48303400 0.00000000 0.00000000 0.00000000 0.00000000 26.2470000 0.33985600 0.00000000 0.00000000 0.00000000 0.00000000 491.7650000 0.00000000 -0.00229740 0.00000000 0.00000000 0.00000000 116.9840000 0.00000000 -0.03071400 0.00000000 0.00000000 0.00000000 37.4153000 0.00000000 -0.11252800 0.00000000 0.00000000 0.00000000 13.7834000 0.00000000 0.04501600 0.00000000 0.00000000 0.00000000 5.4521500 0.00000000 0.58935300 0.00000000 0.00000000 0.00000000 2.2258800 0.00000000 0.46520600 0.00000000 0.00000000 0.00000000 3.1864900 0.00000000 0.00000000 -0.25183000 0.00000000 0.00000000 1.1442700 0.00000000 0.00000000 0.06158900 0.00000000 0.00000000 0.4203770 0.00000000 0.00000000 1.06018000 0.00000000 0.00000000 0.1426570 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0483000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 491.7650000 0.00398940 0.00000000 0.00000000 0.00000000 116.9840000 0.03031800 0.00000000 0.00000000 0.00000000 37.4153000 0.12988000 0.00000000 0.00000000 0.00000000 13.7834000 0.32795100 0.00000000 0.00000000 0.00000000 5.4521500 0.45352700 0.00000000 0.00000000 0.00000000 2.2258800 0.25215400 0.00000000 0.00000000 0.00000000 3.1864900 0.00000000 -0.01429900 0.00000000 0.00000000 1.1442700 0.00000000 0.32357200 0.00000000 0.00000000 0.4203770 0.00000000 0.74350700 0.00000000 0.00000000 0.1426570 0.00000000 0.00000000 1.00000000 0.00000000 0.0483000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.7500000 1.00000000 A 18 $ ARGON (16s,10p) -> [4s,3p] $ ARGON (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 28348.3000000 0.00182526 0.00000000 0.00000000 0.00000000 0.00000000 4257.6200000 0.01396860 0.00000000 0.00000000 0.00000000 0.00000000 969.8570000 0.06870730 0.00000000 0.00000000 0.00000000 0.00000000 273.2630000 0.23620400 0.00000000 0.00000000 0.00000000 0.00000000 87.3695000 0.48221400 0.00000000 0.00000000 0.00000000 0.00000000 29.6867000 0.34204300 0.00000000 0.00000000 0.00000000 0.00000000 575.8910000 0.00000000 -0.00215972 0.00000000 0.00000000 0.00000000 136.8160000 0.00000000 -0.02907750 0.00000000 0.00000000 0.00000000 43.8098000 0.00000000 -0.11082700 0.00000000 0.00000000 0.00000000 16.2094000 0.00000000 0.02769990 0.00000000 0.00000000 0.00000000 6.4608400 0.00000000 0.57761300 0.00000000 0.00000000 0.00000000 2.6511400 0.00000000 0.48868800 0.00000000 0.00000000 0.00000000 3.8602800 0.00000000 0.00000000 -0.25559200 0.00000000 0.00000000 1.4137300 0.00000000 0.00000000 0.03780660 0.00000000 0.00000000 0.5166460 0.00000000 0.00000000 1.08056000 0.00000000 0.00000000 0.1738880 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 575.8910000 0.00380665 0.00000000 0.00000000 0.00000000 136.8160000 0.02923050 0.00000000 0.00000000 0.00000000 43.8098000 0.12646700 0.00000000 0.00000000 0.00000000 16.2094000 0.32351000 0.00000000 0.00000000 0.00000000 6.4608400 0.45489600 0.00000000 0.00000000 0.00000000 2.6511400 0.25663000 0.00000000 0.00000000 0.00000000 3.8602800 0.00000000 -0.01591970 0.00000000 0.00000000 1.4137300 0.00000000 0.32464600 0.00000000 0.00000000 0.5166460 0.00000000 0.74399000 0.00000000 0.00000000 0.1738880 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000 0.00000000 0.00000000 0.00000000 1.00000000 $Elements supported $H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar ergo-3.5/basis/cc-pwCVTZ0000664000175000017500000010364012743400275012014 00000000000000$ Basis = cc-pwCVTZ $ $Elements supported $ H He B C N O F Ne Al Si P S Cl Ar $Elements References $-------- ---------- $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ Polarization and/or diffuse functions $Elements References $-------- ---------- $B - Ne: K.A. Peterson and T.H. Dunning, Jr. J. Chem. Phys. 117, 10548 (2002) $Al - Ar: $ ************************************************************************ a 1 $ HYDROGEN (5s,2p,1d) -> [3s,2p,1d] $ S-TYPE FUNCTIONS 5 3 0 33.8700000 0.00606800 0.00000000 0.00000000 5.0950000 0.04530800 0.00000000 0.00000000 1.1590000 0.20282200 0.00000000 0.00000000 0.3258000 0.50390300 1.00000000 0.00000000 0.1027000 0.38342100 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 1.4070000 1.00000000 0.00000000 0.3880000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.0570000 1.00000000 a 2 $ HELIUM (6s,2p,1d) -> [3s,2p,1d] $ S-TYPE FUNCTIONS 6 3 0 234.0000000 0.00258700 0.00000000 0.00000000 35.1600000 0.01953300 0.00000000 0.00000000 7.9890000 0.09099800 0.00000000 0.00000000 2.2120000 0.27205000 0.00000000 0.00000000 0.6669000 0.47806500 1.00000000 0.00000000 0.2089000 0.30773700 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 3.0440000 1.00000000 0.00000000 0.7580000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.9650000 1.00000000 a 5 $ BORON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ BORON Tight (2s,2p,1d) $ S-TYPE FUNCTIONS 12 6 0 5473.00000000 0.00055500 -0.00011200 0.00000000 0.00000000 0.00000000 0.00000000 820.90000000 0.00429100 -0.00086800 0.00000000 0.00000000 0.00000000 0.00000000 186.80000000 0.02194900 -0.00448400 0.00000000 0.00000000 0.00000000 0.00000000 52.83000000 0.08444100 -0.01768300 0.00000000 0.00000000 0.00000000 0.00000000 17.08000000 0.23855700 -0.05363900 0.00000000 0.00000000 0.00000000 0.00000000 5.99900000 0.43507200 -0.11900500 0.00000000 0.00000000 0.00000000 0.00000000 2.20800000 0.34195500 -0.16582400 0.00000000 0.00000000 0.00000000 0.00000000 0.58790000 0.03685600 0.12010700 1.00000000 0.00000000 0.00000000 0.00000000 0.24150000 -0.00954500 0.59598100 0.00000000 0.00000000 0.00000000 0.00000000 0.08610000 0.00236800 0.41102100 0.00000000 1.00000000 0.00000000 0.00000000 2.45400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 6.43000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 5 0 12.05000000 0.01311800 0.00000000 0.00000000 0.00000000 0.00000000 2.61300000 0.07989600 0.00000000 0.00000000 0.00000000 0.00000000 0.74750000 0.27727500 0.00000000 0.00000000 0.00000000 0.00000000 0.23850000 0.50427000 1.00000000 0.00000000 0.00000000 0.00000000 0.07698000 0.35368000 0.00000000 1.00000000 0.00000000 0.00000000 3.49800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 14.37200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.66100000 1.00000000 0.00000000 0.00000000 0.19900000 0.00000000 1.00000000 0.00000000 3.02900000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.49000000 1.00000000 a 6 $ CARBON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ CARBON Tight (2s,2p,1d) $ S-TYPE FUNCTIONS 12 6 0 8236.00000000 0.00053100 -0.00011300 0.00000000 0.00000000 0.00000000 0.00000000 1235.00000000 0.00410800 -0.00087800 0.00000000 0.00000000 0.00000000 0.00000000 280.80000000 0.02108700 -0.00454000 0.00000000 0.00000000 0.00000000 0.00000000 79.27000000 0.08185300 -0.01813300 0.00000000 0.00000000 0.00000000 0.00000000 25.59000000 0.23481700 -0.05576000 0.00000000 0.00000000 0.00000000 0.00000000 8.99700000 0.43440100 -0.12689500 0.00000000 0.00000000 0.00000000 0.00000000 3.31900000 0.34612900 -0.17035200 0.00000000 0.00000000 0.00000000 0.00000000 0.90590000 0.03937800 0.14038200 1.00000000 0.00000000 0.00000000 0.00000000 0.36430000 -0.00898300 0.59868400 0.00000000 0.00000000 0.00000000 0.00000000 0.12850000 0.00238500 0.39538900 0.00000000 1.00000000 0.00000000 0.00000000 3.47400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 8.82800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 5 0 18.71000000 0.01403100 0.00000000 0.00000000 0.00000000 0.00000000 4.13300000 0.08686600 0.00000000 0.00000000 0.00000000 0.00000000 1.20000000 0.29021600 0.00000000 0.00000000 0.00000000 0.00000000 0.38270000 0.50100800 1.00000000 0.00000000 0.00000000 0.00000000 0.12090000 0.34340600 0.00000000 1.00000000 0.00000000 0.00000000 5.44200000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 21.55200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.09700000 1.00000000 0.00000000 0.00000000 0.31800000 0.00000000 1.00000000 0.00000000 4.95000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.76100000 1.00000000 a 7 $ NITROGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ NITROGEN Tight (2s,2p,1d) $ S-TYPE FUNCTIONS 12 6 0 11420.00000 0.00052300 -0.00011500 0.00000000 0.00000000 0.00000000 0.00000000 1712.00000000 0.00404500 -0.00089500 0.00000000 0.00000000 0.00000000 0.00000000 389.30000000 0.02077500 -0.00462400 0.00000000 0.00000000 0.00000000 0.00000000 110.00000000 0.08072700 -0.01852800 0.00000000 0.00000000 0.00000000 0.00000000 35.57000000 0.23307400 -0.05733900 0.00000000 0.00000000 0.00000000 0.00000000 12.54000000 0.43350100 -0.13207600 0.00000000 0.00000000 0.00000000 0.00000000 4.64400000 0.34747200 -0.17251000 0.00000000 0.00000000 0.00000000 0.00000000 1.29300000 0.04126200 0.15181400 1.00000000 0.00000000 0.00000000 0.00000000 0.51180000 -0.00850800 0.59994400 0.00000000 0.00000000 0.00000000 0.00000000 0.17870000 0.00238400 0.38746200 0.00000000 1.00000000 0.00000000 0.00000000 4.73300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 11.80700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 5 0 26.63000000 0.01467000 0.00000000 0.00000000 0.00000000 0.00000000 5.94800000 0.09176400 0.00000000 0.00000000 0.00000000 0.00000000 1.74200000 0.29868300 0.00000000 0.00000000 0.00000000 0.00000000 0.55500000 0.49848700 1.00000000 0.00000000 0.00000000 0.00000000 0.17250000 0.33702300 0.00000000 1.00000000 0.00000000 0.00000000 7.74300000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 29.81800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.65400000 1.00000000 0.00000000 0.00000000 0.46900000 0.00000000 1.00000000 0.00000000 7.35200000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.09300000 1.00000000 a 8 $ OXYGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ OXYGEN Tight (2s,2p,1d) $ S-TYPE FUNCTIONS 12 6 0 15330.00000 0.00050800 -0.00011500 0.00000000 0.00000000 0.00000000 0.00000000 2299.00000000 0.00392900 -0.00089500 0.00000000 0.00000000 0.00000000 0.00000000 522.40000000 0.02024300 -0.00463600 0.00000000 0.00000000 0.00000000 0.00000000 147.30000000 0.07918100 -0.01872400 0.00000000 0.00000000 0.00000000 0.00000000 47.55000000 0.23068700 -0.05846300 0.00000000 0.00000000 0.00000000 0.00000000 16.76000000 0.43311800 -0.13646300 0.00000000 0.00000000 0.00000000 0.00000000 6.20700000 0.35026000 -0.17574000 0.00000000 0.00000000 0.00000000 0.00000000 1.75200000 0.04272800 0.16093400 1.00000000 0.00000000 0.00000000 0.00000000 0.68820000 -0.00815400 0.60341800 0.00000000 0.00000000 0.00000000 0.00000000 0.23840000 0.00238100 0.37876500 0.00000000 1.00000000 0.00000000 0.00000000 6.24500000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 15.38100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 5 0 34.46000000 0.01592800 0.00000000 0.00000000 0.00000000 0.00000000 7.74900000 0.09974000 0.00000000 0.00000000 0.00000000 0.00000000 2.28000000 0.31049200 0.00000000 0.00000000 0.00000000 0.00000000 0.71560000 0.49102600 1.00000000 0.00000000 0.00000000 0.00000000 0.21400000 0.33633700 0.00000000 1.00000000 0.00000000 0.00000000 10.21600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 38.48400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.31400000 1.00000000 0.00000000 0.00000000 0.64500000 0.00000000 1.00000000 0.00000000 10.23800000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.42800000 1.00000000 a 9 $ FLUORINE (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ FLUORINE Tight (2s,2p,1d) $ S-TYPE FUNCTIONS 12 6 0 19500.00000 0.00050700 -0.00011700 0.00000000 0.00000000 0.00000000 0.00000000 2923.00000000 0.00392300 -0.00091200 0.00000000 0.00000000 0.00000000 0.00000000 664.50000000 0.02020000 -0.00471700 0.00000000 0.00000000 0.00000000 0.00000000 187.50000000 0.07901000 -0.01908600 0.00000000 0.00000000 0.00000000 0.00000000 60.62000000 0.23043900 -0.05965500 0.00000000 0.00000000 0.00000000 0.00000000 21.42000000 0.43287200 -0.14001000 0.00000000 0.00000000 0.00000000 0.00000000 7.95000000 0.34996400 -0.17678200 0.00000000 0.00000000 0.00000000 0.00000000 2.25700000 0.04323300 0.17162500 1.00000000 0.00000000 0.00000000 0.00000000 0.88150000 -0.00789200 0.60504300 0.00000000 0.00000000 0.00000000 0.00000000 0.30410000 0.00238400 0.36951200 0.00000000 1.00000000 0.00000000 0.00000000 7.94000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 19.36400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 5 0 43.88000000 0.01666500 0.00000000 0.00000000 0.00000000 0.00000000 9.92600000 0.10447200 0.00000000 0.00000000 0.00000000 0.00000000 2.93000000 0.31726000 0.00000000 0.00000000 0.00000000 0.00000000 0.91320000 0.48734300 1.00000000 0.00000000 0.00000000 0.00000000 0.26720000 0.33460400 0.00000000 1.00000000 0.00000000 0.00000000 13.06900000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 48.32500000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.10700000 1.00000000 0.00000000 0.00000000 0.85500000 0.00000000 1.00000000 0.00000000 13.64400000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.91700000 1.00000000 a 10 $ NEON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ NEON Tight (2s,2p,1d) $ S-TYPE FUNCTIONS 12 6 0 24350.00000 0.00050200 -0.00011800 0.00000000 0.00000000 0.00000000 0.00000000 3650.00000000 0.00388100 -0.00091500 0.00000000 0.00000000 0.00000000 0.00000000 829.60000000 0.01999700 -0.00473700 0.00000000 0.00000000 0.00000000 0.00000000 234.00000000 0.07841800 -0.01923300 0.00000000 0.00000000 0.00000000 0.00000000 75.61000000 0.22967600 -0.06036900 0.00000000 0.00000000 0.00000000 0.00000000 26.73000000 0.43272200 -0.14250800 0.00000000 0.00000000 0.00000000 0.00000000 9.92700000 0.35064200 -0.17771000 0.00000000 0.00000000 0.00000000 0.00000000 2.83600000 0.04391100 0.17735200 1.00000000 0.00000000 0.00000000 0.00000000 1.10200000 -0.00764500 0.60583600 0.00000000 0.00000000 0.00000000 0.00000000 0.37820000 0.00237500 0.36510900 0.00000000 1.00000000 0.00000000 0.00000000 9.88300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 23.82900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 5 0 54.70000000 0.01715100 0.00000000 0.00000000 0.00000000 0.00000000 12.43000000 0.10765600 0.00000000 0.00000000 0.00000000 0.00000000 3.67900000 0.32168100 0.00000000 0.00000000 0.00000000 0.00000000 1.14300000 0.48523200 1.00000000 0.00000000 0.00000000 0.00000000 0.33000000 0.33258400 0.00000000 1.00000000 0.00000000 0.00000000 16.27500000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 59.24200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 4.01400000 1.00000000 0.00000000 0.00000000 1.09600000 0.00000000 1.00000000 0.00000000 17.52800000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 2.54400000 1.00000000 a 13 $ ALUMINUM (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ ALUMINUM Tight (2s,2p,2d,1f) $ S-TYPE FUNCTIONS 17 7 0 205500.00000 0.00006788 -0.00001764 0.00000407 0.00000000 0.00000000 0.00000000 0.00000000 30780.00000 0.00052715 -0.00013720 0.00003166 0.00000000 0.00000000 0.00000000 0.00000000 7006.00000000 0.00276203 -0.00071891 0.00016612 0.00000000 0.00000000 0.00000000 0.00000000 1985.00000000 0.01147280 -0.00301146 0.00069499 0.00000000 0.00000000 0.00000000 0.00000000 649.10000000 0.03981880 -0.01060140 0.00245511 0.00000000 0.00000000 0.00000000 0.00000000 235.00000000 0.11504000 -0.03213450 0.00744598 0.00000000 0.00000000 0.00000000 0.00000000 91.62000000 0.26088700 -0.08031560 0.01882530 0.00000000 0.00000000 0.00000000 0.00000000 37.67000000 0.39638600 -0.15679400 0.03727720 0.00000000 0.00000000 0.00000000 0.00000000 15.91000000 0.28459700 -0.16837600 0.04194960 0.00000000 0.00000000 0.00000000 0.00000000 5.85000000 0.04445830 0.12687900 -0.03543750 0.00000000 0.00000000 0.00000000 0.00000000 2.54200000 -0.00489838 0.56149400 -0.17513200 0.00000000 0.00000000 0.00000000 0.00000000 1.05700000 0.00261253 0.43661300 -0.27620300 0.00000000 0.00000000 0.00000000 0.00000000 0.29310000 -0.00108915 0.03572930 0.10872900 1.00000000 0.00000000 0.00000000 0.00000000 0.14550000 0.00072207 -0.01145630 0.65280900 0.00000000 0.00000000 0.00000000 0.00000000 0.05650000 -0.00017849 0.00220201 0.39458700 0.00000000 1.00000000 0.00000000 0.00000000 0.99500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 6.56200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 444.40000000 0.00162786 -0.00028634 0.00000000 0.00000000 0.00000000 0.00000000 105.10000000 0.01306870 -0.00242308 0.00000000 0.00000000 0.00000000 0.00000000 33.47000000 0.06123410 -0.01086580 0.00000000 0.00000000 0.00000000 0.00000000 12.33000000 0.18787000 -0.03643070 0.00000000 0.00000000 0.00000000 0.00000000 4.86900000 0.36045200 -0.06410740 0.00000000 0.00000000 0.00000000 0.00000000 1.96100000 0.40845400 -0.09722390 0.00000000 0.00000000 0.00000000 0.00000000 0.78340000 0.18864000 0.01474370 1.00000000 0.00000000 0.00000000 0.00000000 0.18880000 0.00976514 0.50344800 0.00000000 0.00000000 0.00000000 0.00000000 0.05557000 -0.00115057 0.59798400 0.00000000 1.00000000 0.00000000 0.00000000 1.81100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 4.87100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.10900000 1.00000000 0.00000000 0.00000000 0.00000000 0.33300000 0.00000000 1.00000000 0.00000000 0.00000000 1.35800000 0.00000000 0.00000000 1.00000000 0.00000000 5.48700000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.24400000 1.00000000 0.00000000 1.47000000 0.00000000 1.00000000 a 14 $ SILICON (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ SILICON Tight (2s,2p,2d,1f) $ S-TYPE FUNCTIONS 17 7 0 254900.00000 0.00006251 -0.00001664 0.00000426 0.00000000 0.00000000 0.00000000 0.00000000 38190.00000 0.00048555 -0.00012931 0.00003311 0.00000000 0.00000000 0.00000000 0.00000000 8690.00000000 0.00254516 -0.00067883 0.00017401 0.00000000 0.00000000 0.00000000 0.00000000 2462.00000000 0.01058660 -0.00284117 0.00072757 0.00000000 0.00000000 0.00000000 0.00000000 804.80000000 0.03687870 -0.01005510 0.00258333 0.00000000 0.00000000 0.00000000 0.00000000 291.30000000 0.10747900 -0.03057740 0.00786354 0.00000000 0.00000000 0.00000000 0.00000000 113.60000000 0.24793600 -0.07772560 0.02021550 0.00000000 0.00000000 0.00000000 0.00000000 46.75000000 0.39092700 -0.15423600 0.04073200 0.00000000 0.00000000 0.00000000 0.00000000 19.82000000 0.30202600 -0.18036800 0.04993580 0.00000000 0.00000000 0.00000000 0.00000000 7.70800000 0.05592360 0.07982180 -0.02493960 0.00000000 0.00000000 0.00000000 0.00000000 3.34000000 -0.00402406 0.54744100 -0.19035000 0.00000000 0.00000000 0.00000000 0.00000000 1.40200000 0.00258030 0.48011900 -0.31835000 0.00000000 0.00000000 0.00000000 0.00000000 0.43870000 -0.00103821 0.04748460 0.09480360 1.00000000 0.00000000 0.00000000 0.00000000 0.20700000 0.00060793 -0.01069960 0.68118000 0.00000000 0.00000000 0.00000000 0.00000000 0.07944000 -0.00015402 0.00219871 0.39567200 0.00000000 1.00000000 0.00000000 0.00000000 1.33600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 8.25200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 481.50000000 0.00192045 -0.00040522 0.00000000 0.00000000 0.00000000 0.00000000 113.90000000 0.01535520 -0.00335896 0.00000000 0.00000000 0.00000000 0.00000000 36.23000000 0.07139910 -0.01528600 0.00000000 0.00000000 0.00000000 0.00000000 13.34000000 0.21305200 -0.04892180 0.00000000 0.00000000 0.00000000 0.00000000 5.25200000 0.39035400 -0.08550080 0.00000000 0.00000000 0.00000000 0.00000000 2.12000000 0.39372100 -0.11213700 0.00000000 0.00000000 0.00000000 0.00000000 0.85610000 0.13256500 0.06182740 1.00000000 0.00000000 0.00000000 0.00000000 0.25280000 0.00395630 0.55191900 0.00000000 0.00000000 0.00000000 0.00000000 0.07889000 0.00033162 0.52349200 0.00000000 1.00000000 0.00000000 0.00000000 2.31100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 5.93600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.15900000 1.00000000 0.00000000 0.00000000 0.00000000 0.48100000 0.00000000 1.00000000 0.00000000 0.00000000 1.81400000 0.00000000 0.00000000 1.00000000 0.00000000 7.20300000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.33600000 1.00000000 0.00000000 1.76300000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ PHOSPHORUS Tight (2s,2p,2d,1f) $ S-TYPE FUNCTIONS 17 7 0 312400.00000 0.00005770 -0.00001567 0.00000431 0.00000000 0.00000000 0.00000000 0.00000000 46800.00000 0.00044830 -0.00012172 0.00003342 0.00000000 0.00000000 0.00000000 0.00000000 10650.00000 0.00234939 -0.00063967 0.00017589 0.00000000 0.00000000 0.00000000 0.00000000 3018.00000000 0.00978265 -0.00267426 0.00073434 0.00000000 0.00000000 0.00000000 0.00000000 986.80000000 0.03414670 -0.00949831 0.00261775 0.00000000 0.00000000 0.00000000 0.00000000 357.40000000 0.10020400 -0.02893490 0.00797852 0.00000000 0.00000000 0.00000000 0.00000000 139.60000000 0.23437200 -0.07451210 0.02079400 0.00000000 0.00000000 0.00000000 0.00000000 57.63000000 0.38243400 -0.14993800 0.04244460 0.00000000 0.00000000 0.00000000 0.00000000 24.60000000 0.31808800 -0.18946700 0.05634360 0.00000000 0.00000000 0.00000000 0.00000000 10.12000000 0.07077880 0.03632700 -0.01273580 0.00000000 0.00000000 0.00000000 0.00000000 4.28300000 -0.00181799 0.52881600 -0.19649500 0.00000000 0.00000000 0.00000000 0.00000000 1.80500000 0.00216180 0.51911500 -0.35355500 0.00000000 0.00000000 0.00000000 0.00000000 0.61580000 -0.00083474 0.06055470 0.07414070 1.00000000 0.00000000 0.00000000 0.00000000 0.27820000 0.00043230 -0.00925695 0.70091200 0.00000000 0.00000000 0.00000000 0.00000000 0.10550000 -0.00011425 0.00210372 0.40473900 0.00000000 1.00000000 0.00000000 0.00000000 1.73000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 10.06900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 504.90000000 0.00233728 -0.00055524 0.00000000 0.00000000 0.00000000 0.00000000 119.40000000 0.01854100 -0.00445913 0.00000000 0.00000000 0.00000000 0.00000000 37.96000000 0.08496930 -0.02063500 0.00000000 0.00000000 0.00000000 0.00000000 13.95000000 0.24461500 -0.06176940 0.00000000 0.00000000 0.00000000 0.00000000 5.45700000 0.42276600 -0.10892400 0.00000000 0.00000000 0.00000000 0.00000000 2.17700000 0.36843900 -0.10559900 0.00000000 0.00000000 0.00000000 0.00000000 0.80100000 0.07727340 0.15348300 1.00000000 0.00000000 0.00000000 0.00000000 0.28770000 -0.00379005 0.57698100 0.00000000 0.00000000 0.00000000 0.00000000 0.09714000 0.00159939 0.42243900 0.00000000 1.00000000 0.00000000 0.00000000 2.40100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 6.09000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.21600000 1.00000000 0.00000000 0.00000000 0.00000000 0.65200000 0.00000000 1.00000000 0.00000000 0.00000000 2.32800000 0.00000000 0.00000000 1.00000000 0.00000000 9.09700000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.45200000 1.00000000 0.00000000 2.12200000 0.00000000 1.00000000 a 16 $ SULFUR (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ SULFUR Tight (2s,2p,2d,1f) $ S-TYPE FUNCTIONS 17 7 0 374100.00000 0.00005421 -0.00001498 0.00000435 0.00000000 0.00000000 0.00000000 0.00000000 56050.00000 0.00042085 -0.00011620 0.00003371 0.00000000 0.00000000 0.00000000 0.00000000 12760.00000 0.00220698 -0.00061158 0.00017767 0.00000000 0.00000000 0.00000000 0.00000000 3615.00000000 0.00919258 -0.00255370 0.00074112 0.00000000 0.00000000 0.00000000 0.00000000 1183.00000000 0.03211230 -0.00908708 0.00264591 0.00000000 0.00000000 0.00000000 0.00000000 428.80000000 0.09466830 -0.02770450 0.00807487 0.00000000 0.00000000 0.00000000 0.00000000 167.80000000 0.22363000 -0.07200200 0.02122760 0.00000000 0.00000000 0.00000000 0.00000000 69.47000000 0.37439300 -0.14643900 0.04383230 0.00000000 0.00000000 0.00000000 0.00000000 29.84000000 0.32910800 -0.19515000 0.06127160 0.00000000 0.00000000 0.00000000 0.00000000 12.72000000 0.08470380 0.00819193 -0.00361510 0.00000000 0.00000000 0.00000000 0.00000000 5.24400000 0.00044085 0.51660100 -0.20451000 0.00000000 0.00000000 0.00000000 0.00000000 2.21900000 0.00164827 0.54217800 -0.38187100 0.00000000 0.00000000 0.00000000 0.00000000 0.77670000 -0.00062233 0.06884300 0.08268440 1.00000000 0.00000000 0.00000000 0.00000000 0.34900000 0.00030131 -0.00918072 0.71414700 0.00000000 0.00000000 0.00000000 0.00000000 0.13220000 -0.00008413 0.00226832 0.39379100 0.00000000 1.00000000 0.00000000 0.00000000 2.12000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 11.92000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 574.40000000 0.00242264 -0.00062010 0.00000000 0.00000000 0.00000000 0.00000000 135.80000000 0.01927960 -0.00493882 0.00000000 0.00000000 0.00000000 0.00000000 43.19000000 0.08854010 -0.02326470 0.00000000 0.00000000 0.00000000 0.00000000 15.87000000 0.25465400 -0.06851950 0.00000000 0.00000000 0.00000000 0.00000000 6.20800000 0.43398400 -0.12389600 0.00000000 0.00000000 0.00000000 0.00000000 2.48300000 0.35495300 -0.09694990 0.00000000 0.00000000 0.00000000 0.00000000 0.86880000 0.06189410 0.22821500 1.00000000 0.00000000 0.00000000 0.00000000 0.32290000 -0.00502977 0.56939400 0.00000000 0.00000000 0.00000000 0.00000000 0.10980000 0.00209813 0.36630200 0.00000000 1.00000000 0.00000000 0.00000000 2.65900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 6.64700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.26900000 1.00000000 0.00000000 0.00000000 0.00000000 0.81900000 0.00000000 1.00000000 0.00000000 0.00000000 2.86400000 0.00000000 0.00000000 1.00000000 0.00000000 11.07900000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.55700000 1.00000000 0.00000000 2.52800000 0.00000000 1.00000000 a 17 $ CHLORINE (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ CHLORINE Tight (2s,2p,2d,1f) $ S-TYPE FUNCTIONS 17 7 0 456100.00000 0.00004930 -0.00001383 0.00000419 0.00000000 0.00000000 0.00000000 0.00000000 68330.00000 0.00038303 -0.00010728 0.00003244 0.00000000 0.00000000 0.00000000 0.00000000 15550.00000 0.00200854 -0.00056508 0.00017111 0.00000000 0.00000000 0.00000000 0.00000000 4405.00000000 0.00838558 -0.00236135 0.00071418 0.00000000 0.00000000 0.00000000 0.00000000 1439.00000000 0.02947030 -0.00845886 0.00256705 0.00000000 0.00000000 0.00000000 0.00000000 520.40000000 0.08783250 -0.02596380 0.00788552 0.00000000 0.00000000 0.00000000 0.00000000 203.10000000 0.21147300 -0.06863620 0.02108670 0.00000000 0.00000000 0.00000000 0.00000000 83.96000000 0.36536400 -0.14187400 0.04422640 0.00000000 0.00000000 0.00000000 0.00000000 36.20000000 0.34088400 -0.19931900 0.06516700 0.00000000 0.00000000 0.00000000 0.00000000 15.83000000 0.10213300 -0.01956620 0.00603012 0.00000000 0.00000000 0.00000000 0.00000000 6.33400000 0.00311675 0.49974100 -0.20649500 0.00000000 0.00000000 0.00000000 0.00000000 2.69400000 0.00105751 0.56373600 -0.40587100 0.00000000 0.00000000 0.00000000 0.00000000 0.97680000 -0.00037800 0.07903250 0.07595580 1.00000000 0.00000000 0.00000000 0.00000000 0.43130000 0.00015614 -0.00835091 0.72566100 0.00000000 0.00000000 0.00000000 0.00000000 0.16250000 -0.00005141 0.00232456 0.39442300 0.00000000 1.00000000 0.00000000 0.00000000 2.56200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 13.94000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 663.30000000 0.00240448 -0.00065215 0.00000000 0.00000000 0.00000000 0.00000000 156.80000000 0.01921480 -0.00519445 0.00000000 0.00000000 0.00000000 0.00000000 49.98000000 0.08850970 -0.02469380 0.00000000 0.00000000 0.00000000 0.00000000 18.42000000 0.25602000 -0.07281670 0.00000000 0.00000000 0.00000000 0.00000000 7.24000000 0.43692700 -0.13403000 0.00000000 0.00000000 0.00000000 0.00000000 2.92200000 0.35033400 -0.09477420 0.00000000 0.00000000 0.00000000 0.00000000 1.02200000 0.05854950 0.26228900 1.00000000 0.00000000 0.00000000 0.00000000 0.38180000 -0.00458423 0.56466700 0.00000000 0.00000000 0.00000000 0.00000000 0.13010000 0.00226970 0.34125000 0.00000000 1.00000000 0.00000000 0.00000000 3.11700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 7.69300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.04600000 1.00000000 0.00000000 0.00000000 0.00000000 0.34400000 0.00000000 1.00000000 0.00000000 0.00000000 3.53700000 0.00000000 0.00000000 1.00000000 0.00000000 13.50600000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.70600000 1.00000000 0.00000000 3.01400000 0.00000000 1.00000000 a 18 $ ARGON (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ ARGON Tight (2s,2p,2d,1f) $ S-TYPE FUNCTIONS 17 7 0 545000.00000 0.00004558 -0.00001296 0.00000405 0.00000000 0.00000000 0.00000000 0.00000000 81640.00000 0.00035411 -0.00010043 0.00003137 0.00000000 0.00000000 0.00000000 0.00000000 18580.00000 0.00185797 -0.00052958 0.00016565 0.00000000 0.00000000 0.00000000 0.00000000 5261.00000000 0.00776851 -0.00221396 0.00069166 0.00000000 0.00000000 0.00000000 0.00000000 1717.00000000 0.02742320 -0.00796845 0.00249790 0.00000000 0.00000000 0.00000000 0.00000000 619.90000000 0.08238360 -0.02458030 0.00771074 0.00000000 0.00000000 0.00000000 0.00000000 241.60000000 0.20123000 -0.06577980 0.02087140 0.00000000 0.00000000 0.00000000 0.00000000 99.79000000 0.35678100 -0.13794200 0.04439650 0.00000000 0.00000000 0.00000000 0.00000000 43.15000000 0.34956300 -0.20163000 0.06802240 0.00000000 0.00000000 0.00000000 0.00000000 19.14000000 0.11826600 -0.04128340 0.01413500 0.00000000 0.00000000 0.00000000 0.00000000 7.48800000 0.00560190 0.48468000 -0.20748900 0.00000000 0.00000000 0.00000000 0.00000000 3.20500000 0.00048347 0.57922400 -0.42504500 0.00000000 0.00000000 0.00000000 0.00000000 1.19600000 -0.00014809 0.08790830 0.07048550 1.00000000 0.00000000 0.00000000 0.00000000 0.52040000 0.00002920 -0.00727553 0.73362700 0.00000000 0.00000000 0.00000000 0.00000000 0.19540000 -0.00002316 0.00232884 0.39600500 0.00000000 1.00000000 0.00000000 0.00000000 3.04700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 16.12100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 761.80000000 0.00236976 -0.00066721 0.00000000 0.00000000 0.00000000 0.00000000 180.20000000 0.01901990 -0.00532717 0.00000000 0.00000000 0.00000000 0.00000000 57.50000000 0.08808070 -0.02554940 0.00000000 0.00000000 0.00000000 0.00000000 21.24000000 0.25637700 -0.07571970 0.00000000 0.00000000 0.00000000 0.00000000 8.38800000 0.43871100 -0.14113300 0.00000000 0.00000000 0.00000000 0.00000000 3.41600000 0.34756900 -0.09327680 0.00000000 0.00000000 0.00000000 0.00000000 1.20600000 0.05667400 0.28287200 1.00000000 0.00000000 0.00000000 0.00000000 0.45230000 -0.00523882 0.56245000 0.00000000 0.00000000 0.00000000 0.00000000 0.15450000 0.00164376 0.32505900 0.00000000 1.00000000 0.00000000 0.00000000 3.65900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 8.92700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.41000000 1.00000000 0.00000000 0.00000000 0.00000000 1.25400000 0.00000000 1.00000000 0.00000000 0.00000000 4.18100000 0.00000000 0.00000000 1.00000000 0.00000000 15.86000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.89000000 1.00000000 0.00000000 3.57200000 0.00000000 1.00000000 ergo-3.5/basis/ano-50000664000175000017500000157403712743400275011230 00000000000000****************************************************************************** /H.ANO-DK3.Tsuchiya.6s.1s. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * HYDROGEN: H * * =========== * * Reference state: * * The atomic ground state, H(2S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 1 * s-type functions 6 1 82.932759 12.452437 2.8330596 0.8000103 0.2585949 0.0899691 0.002004 0.015289 0.075317 0.256335 0.497619 0.296756 ****************************************************************************** /He.ANO-DK3.Tsuchiya.6s.1s. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * HELIUM: He * * ========== * * Reference state: * * The atomic ground state, He(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 2 * s-type functions 6 1 234.23121 35.178392 7.9910313 2.2124420 0.6670661 0.2089479 0.002610 0.019551 0.091018 0.272014 0.478009 0.307820 ****************************************************************************** /Li.ANO-DK3.Tsuchiya.12s.2s. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * LITHIUM: Li * * =========== * * Reference state: * * The atomic ground state, Li(2S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 3 * s-type functions 12 2 7237.4275 1079.7167 245.50191 69.535877 22.661995 8.1311063 3.1001323 1.2283838 0.4939501 0.0930771 0.0459589 0.0214983 0.000129 -0.000020 0.000845 -0.000132 0.004311 -0.000676 0.017630 -0.002774 0.059284 -0.009499 0.158710 -0.026304 0.315901 -0.057209 0.401154 -0.095162 0.199259 -0.121571 0.009648 0.301179 -0.005240 0.551104 0.001708 0.251236 ****************************************************************************** /Be.ANO-DK3.Tsuchiya.12s.2s. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * BERYLLIUM: Be * * ============= * * Reference state: * * The atomic ground state, Be(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 4 * s-type functions 12 2 14682.369 2181.9292 495.72119 140.41641 45.765949 16.453927 6.3169932 2.5345931 1.0353655 0.2527925 0.1051643 0.0426068 0.000130 -0.000024 0.000766 -0.000140 0.003823 -0.000696 0.015604 -0.002884 0.053063 -0.009852 0.145794 -0.028640 0.302684 -0.063787 0.404690 -0.117195 0.222259 -0.121094 0.012979 0.253516 -0.004694 0.581829 0.001244 0.291645 ****************************************************************************** /B.ANO-DK3.Tsuchiya.12s8p.2s1p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * BORON: B * * ======== * * Reference state: * * The atomic ground state, B(2P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 5 * s-type functions 12 2 1348056.0 12257.850 1806.6410 406.47600 113.99080 36.850240 13.110910 4.9649870 1.9365210 0.5037751 0.2060732 0.0788848 0.000009 -0.000002 0.000279 -0.000056 0.001715 -0.000346 0.008680 -0.001767 0.035153 -0.007204 0.113234 -0.024222 0.273069 -0.062778 0.425967 -0.126926 0.280380 -0.145806 0.023210 0.213749 -0.006585 0.587021 0.001784 0.334424 * p-type functions 8 1 10414.650 34.853960 8.1604000 2.4504900 0.8456454 0.3153533 0.1173141 0.0435598 0.000001 0.002472 0.016946 0.072036 0.213382 0.403240 0.417570 0.110662 ****************************************************************************** /C.ANO-DK3.Tsuchiya.12s8p.2s1p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * CARBON: C * * ========= * * Reference state: * * The atomic ground state, C(3P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 6 * s-type functions 12 2 45124.820 6196.1920 1378.2820 384.07490 122.53810 43.028190 16.267920 6.4817410 2.6444920 0.7380366 0.2905956 0.1126371 0.000129 -0.000028 0.000672 -0.000144 0.003144 -0.000669 0.012964 -0.002804 0.045968 -0.009976 0.133571 -0.030789 0.293717 -0.073103 0.411803 -0.140463 0.238910 -0.128176 0.018075 0.273460 -0.003917 0.583142 0.001219 0.288062 * p-type functions 8 1 245256.70 58.932910 13.755350 4.2164940 1.4937720 0.5638788 0.2171196 0.0804782 0.000000 0.002256 0.016441 0.069294 0.205024 0.378324 0.410345 0.161692 ****************************************************************************** /N.ANO-DK3.Tsuchiya.12s8p.2s1p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * NITROGEN: N * * =========== * * Reference state: * * The atomic ground state, N(4S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 7 * s-type functions 12 2 48826.840 7224.7520 1634.7500 462.57430 151.11380 54.494730 21.114050 8.6208790 3.5983780 1.0772050 0.4225837 0.1594364 0.000174 -0.000038 0.000823 -0.000182 0.003764 -0.000830 0.014974 -0.003356 0.050800 -0.011450 0.141614 -0.034050 0.299794 -0.078510 0.402095 -0.145915 0.225769 -0.121298 0.018118 0.268268 -0.002932 0.582965 0.001006 0.298250 * p-type functions 8 1 562.95490 79.426320 20.132560 6.3655350 2.2806870 0.8644722 0.3291943 0.1206982 0.000135 0.002324 0.016095 0.068473 0.201675 0.373949 0.409345 0.175982 ****************************************************************************** /O.ANO-DK3.Tsuchiya.12s8p.2s1p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * OXYGEN: O * * ========= * * Reference state: * * The atomic ground state, O(3P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 8 * s-type functions 12 2 109234.90 15421.330 3272.8280 870.10720 268.27060 91.492820 33.617400 13.046480 5.2035230 1.4774290 0.5777521 0.2126743 0.000122 -0.000028 0.000540 -0.000123 0.002451 -0.000556 0.010267 -0.002366 0.037796 -0.008706 0.116606 -0.028501 0.277352 -0.072802 0.421899 -0.149125 0.267781 -0.139543 0.024102 0.265278 -0.004478 0.589826 0.001469 0.295546 * p-type functions 8 1 366.40670 66.279560 18.745580 6.4268600 2.4445130 0.9577170 0.3688401 0.1364496 0.000396 0.004715 0.026307 0.096310 0.238455 0.377741 0.368963 0.149553 ****************************************************************************** /F.ANO-DK3.Tsuchiya.12s8p.2s1p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * FLUORINE: F * * =========== * * Reference state: * * The atomic ground state, F(2P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 9 * s-type functions 12 2 110495.50 15883.580 3549.2390 989.69550 319.32050 113.37070 42.968910 16.933990 6.7785120 1.9343030 0.7504714 0.2732082 0.000163 -0.000038 0.000692 -0.000161 0.002907 -0.000673 0.011374 -0.002680 0.039374 -0.009268 0.115782 -0.028998 0.270839 -0.072721 0.417810 -0.150461 0.273889 -0.142105 0.026272 0.267176 -0.004762 0.592663 0.001602 0.292788 * p-type functions 8 1 345.19790 74.125440 22.561850 7.9804130 3.0727400 1.2100660 0.4643247 0.1692300 0.000612 0.005627 0.028893 0.103198 0.245740 0.374240 0.360301 0.151270 ****************************************************************************** /Ne.ANO-DK3.Tsuchiya.12s8p.2s1p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * NEON: Ne * * ======== * * Reference state: * * The atomic ground state, Ne(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 10 * s-type functions 12 2 100277.03 15024.777 3419.4243 968.33099 315.76162 113.81543 44.142643 18.081932 7.5854437 2.3503864 0.9055244 0.3315189 0.000230 -0.000054 0.000944 -0.000223 0.003917 -0.000921 0.015044 -0.003603 0.050681 -0.012201 0.141556 -0.036541 0.301570 -0.085179 0.401437 -0.158124 0.222796 -0.116016 0.019150 0.296501 -0.002269 0.586188 0.000976 0.273574 * p-type functions 8 1 298.74009 70.702612 22.515939 8.2802704 3.2879672 1.3221027 0.5174365 0.1919839 0.001090 0.008466 0.039680 0.127314 0.269181 0.371234 0.329804 0.128107 ****************************************************************************** /Na.ANO-DK3.Tsuchiya.16s11p.3s1p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * SODIUM: Na * * ========== * * Reference state: * * The atomic ground state, Na(2S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 11 * s-type functions 16 3 505377900 354909.50 49559.050 10648.830 2864.1880 899.95120 315.21240 119.99330 48.706540 20.732000 8.9898210 3.0107970 1.2157860 0.4807489 0.0594971 0.0237149 0.000001 -0.000000 0.000000 0.000105 -0.000026 -0.000004 0.000397 -0.000097 -0.000015 0.001492 -0.000367 -0.000055 0.005539 -0.001358 -0.000205 0.019302 -0.004822 -0.000723 0.059879 -0.015122 -0.002291 0.154928 -0.042095 -0.006330 0.307481 -0.092745 -0.014257 0.384070 -0.162137 -0.024868 0.204914 -0.111290 -0.018402 0.018926 0.284991 0.052075 -0.002010 0.584998 0.114795 0.001017 0.282587 0.167481 -0.000167 0.005162 -0.632693 0.000084 -0.001757 -0.466039 * p-type functions 11 1 1203.9210 279.18010 89.503960 33.513740 13.784940 6.0591920 2.7675380 1.2969130 0.6417103 0.3314239 0.1515687 0.000170 0.001358 0.007302 0.028868 0.087488 0.192810 0.296655 0.315816 0.217486 0.092869 0.013176 ****************************************************************************** /Mg.ANO-DK3.Tsuchiya.16s11p.3s1p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * MAGNESIUM: Mg * * ============= * * Reference state: * * The atomic ground state, Mg(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 12 * s-type functions 16 3 1694068.0 192336.90 39966.580 10658.150 3203.1780 1064.4670 385.24090 149.66940 61.396250 26.307710 11.481140 4.1640140 1.7538990 0.7137424 0.1131305 0.0407210 0.000041 -0.000010 -0.000002 0.000162 -0.000041 -0.000008 0.000506 -0.000128 -0.000025 0.001660 -0.000423 -0.000082 0.005695 -0.001449 -0.000279 0.018909 -0.004881 -0.000944 0.056929 -0.014934 -0.002873 0.146414 -0.040909 -0.007964 0.294823 -0.092019 -0.017870 0.383398 -0.161485 -0.032514 0.223238 -0.131424 -0.026420 0.025229 0.218799 0.047770 -0.002103 0.582854 0.161281 0.001118 0.349403 0.201733 -0.000174 0.010099 -0.596193 0.000077 -0.003191 -0.532735 * p-type functions 11 1 1213.4440 274.66330 87.111880 32.753450 13.630200 6.0397180 2.7455230 1.2383500 0.9013199 0.5851599 0.2300177 -0.000248 -0.002054 -0.010890 -0.041194 -0.116998 -0.237310 -0.338871 -0.344138 0.036907 -0.167518 -0.018431 ****************************************************************************** /Al.ANO-DK3.Tsuchiya.16s11p.3s2p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * ALUMINUM: Al * * ============ * * Reference state: * * The atomic ground state, Al(2P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 13 * s-type functions 16 3 1462948.0 191526.20 37762.870 9845.7790 3071.1180 1070.8940 406.89400 165.95320 70.830320 31.078560 13.714470 5.1101110 2.2218860 0.9387697 0.1821758 0.0651496 0.000053 -0.000014 -0.000003 0.000199 -0.000052 -0.000012 0.000685 -0.000179 -0.000041 0.002188 -0.000574 -0.000133 0.007016 -0.001840 -0.000423 0.021838 -0.005819 -0.001354 0.061208 -0.016603 -0.003810 0.147709 -0.042794 -0.010064 0.288261 -0.093282 -0.021577 0.376351 -0.163646 -0.040113 0.224635 -0.135626 -0.032019 0.026922 0.208374 0.052398 -0.002184 0.578105 0.206690 0.001154 0.362357 0.231768 -0.000195 0.013112 -0.626260 0.000076 -0.003354 -0.531655 * p-type functions 11 2 1347.8230 313.20780 97.617320 35.127490 13.850100 5.7392250 2.4003200 0.9956150 0.3366785 0.1211917 0.0424882 0.000288 -0.000052 0.002301 -0.000414 0.012923 -0.002339 0.052903 -0.009632 0.157272 -0.029325 0.315716 -0.059575 0.403679 -0.080881 0.255122 -0.049664 0.032720 0.196393 -0.003220 0.553035 0.001228 0.399067 ****************************************************************************** /Si.ANO-DK3.Tsuchiya.16s11p.3s2p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * SILICON: Si * * =========== * * Reference state: * * The atomic ground state, Si(3P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 14 * s-type functions 16 3 1453205.0 183024.60 37505.200 9899.2510 3067.3790 1068.8040 406.15850 164.87680 70.465290 31.359840 14.240230 5.5168310 2.4571510 1.0999210 0.2572950 0.0915321 0.000067 -0.000018 -0.000005 0.000249 -0.000067 -0.000017 0.000818 -0.000219 -0.000056 0.002639 -0.000709 -0.000182 0.008516 -0.002292 -0.000584 0.026193 -0.007170 -0.001856 0.072965 -0.020439 -0.005198 0.172511 -0.052089 -0.013666 0.314818 -0.108641 -0.027866 0.359973 -0.172931 -0.048045 0.179255 -0.107310 -0.026774 0.018458 0.267965 0.074796 -0.001192 0.574815 0.258252 0.000787 0.308051 0.212354 -0.000143 0.011795 -0.648728 0.000046 -0.002236 -0.531227 * p-type functions 11 2 1761.4500 352.27440 103.83810 36.926340 14.694410 6.2293350 2.7058220 1.1769120 0.4186666 0.1604789 0.0592978 0.000283 -0.000061 0.002754 -0.000586 0.016038 -0.003469 0.064241 -0.013908 0.179280 -0.040321 0.331377 -0.074452 0.388728 -0.097629 0.217379 -0.032661 0.024614 0.271829 -0.002077 0.552658 0.000880 0.319287 ****************************************************************************** /P.ANO-DK3.Tsuchiya.16s11p.3s2p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * PHOSPHORUS: P * * ============= * * Reference state: * * The atomic ground state, P(4S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 15 * s-type functions 16 3 1460247.0 183574.60 37467.910 9873.3730 3062.3380 1067.6600 406.18090 164.96500 70.411130 31.296320 14.259500 5.5701620 2.4627800 1.1410240 0.3311820 0.1180056 0.000080 -0.000022 -0.000006 0.000298 -0.000082 -0.000022 0.000982 -0.000268 -0.000074 0.003160 -0.000868 -0.000239 0.010149 -0.002791 -0.000763 0.031008 -0.008699 -0.002413 0.085139 -0.024525 -0.006708 0.196305 -0.061676 -0.017363 0.339684 -0.124595 -0.034538 0.343643 -0.183200 -0.055142 0.135468 -0.065589 -0.016206 0.010075 0.372831 0.119991 -0.000212 0.573149 0.324215 0.000336 0.200533 0.133755 -0.000082 0.007064 -0.680554 0.000016 -0.000675 -0.511216 * p-type functions 11 2 2088.2410 449.94810 134.83760 47.843450 18.974450 7.9999640 3.4517080 1.4990910 0.5441633 0.2117793 0.0794103 0.000274 -0.000066 0.002360 -0.000558 0.013865 -0.003342 0.057287 -0.013780 0.167082 -0.041933 0.327529 -0.082262 0.400756 -0.112705 0.224604 -0.032745 0.025094 0.304704 -0.002002 0.551641 0.000715 0.286663 ****************************************************************************** /S.ANO-DK3.Tsuchiya.16s11p.3s2p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * SULFUR: S * * ========= * * Reference state: * * The atomic ground state, S(3P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 16 * s-type functions 16 3 1462490.0 183186.00 37362.930 9835.6230 3056.1810 1066.6020 405.70210 165.15130 70.536460 31.093080 13.786740 5.6284700 2.4316130 1.0160220 0.3887904 0.1418236 0.000095 -0.000026 -0.000008 0.000355 -0.000099 -0.000029 0.001167 -0.000325 -0.000094 0.003746 -0.001047 -0.000305 0.011944 -0.003351 -0.000972 0.036317 -0.010402 -0.003039 0.098235 -0.029083 -0.008456 0.219377 -0.071458 -0.021181 0.359791 -0.140674 -0.041833 0.324901 -0.189586 -0.060123 0.096267 -0.013252 -0.001770 0.003081 0.472735 0.178392 0.001193 0.559335 0.380591 -0.000357 0.101369 0.012638 0.000116 -0.001298 -0.717014 -0.000042 0.001043 -0.455310 * p-type functions 11 2 2028.2170 462.07420 147.52100 55.026120 22.478250 9.6724070 4.2437700 1.8672210 0.6857164 0.2621747 0.0950727 0.000364 0.000093 0.002782 0.000704 0.014534 0.003766 0.056575 0.014573 0.162316 0.043897 0.320472 0.086436 0.400396 0.122335 0.230164 0.029549 0.026826 -0.327071 -0.001649 -0.543918 0.000941 -0.279249 ****************************************************************************** /Cl.ANO-DK3.Tsuchiya.16s11p.3s2p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * CHLORINE: Cl * * ============ * * Reference state: * * The atomic ground state, Cl(2P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 17 * s-type functions 16 3 1468138.0 181614.20 37093.820 9830.1760 3053.5910 1065.6650 405.23290 165.11050 70.764460 30.964810 12.781670 5.6325000 2.4608260 0.8327700 0.3842600 0.1520748 0.000112 -0.000032 -0.000010 0.000421 -0.000119 -0.000036 0.001370 -0.000387 -0.000117 0.004373 -0.001241 -0.000376 0.013938 -0.003984 -0.001208 0.042052 -0.012258 -0.003717 0.112264 -0.034151 -0.010426 0.242243 -0.081549 -0.025050 0.372817 -0.155938 -0.049228 0.301882 -0.187558 -0.061238 0.066072 0.055617 0.018929 -0.002939 0.544075 0.241565 0.002365 0.496805 0.376312 -0.000964 0.055875 -0.197150 0.000497 -0.009458 -0.692566 -0.000136 0.002468 -0.328496 * p-type functions 11 2 2182.6550 467.49890 144.75210 53.805760 22.302900 9.7571330 4.3889950 1.9935790 0.7822929 0.3036050 0.1114444 0.000431 0.000117 0.003585 0.000963 0.019061 0.005217 0.070997 0.019501 0.189028 0.054379 0.343374 0.099441 0.381684 0.125926 0.183321 -0.005971 0.018351 -0.363899 0.000160 -0.522670 0.000680 -0.251979 ****************************************************************************** /Ar.ANO-DK3.Tsuchiya.16s11p.3s2p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * ARGON: Ar * * ========= * * Reference state: * * The atomic ground state, Ar(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 18 * s-type functions 16 3 905946.54 135678.33 30875.153 8743.5747 2851.5182 1028.7890 400.62368 165.43793 71.440876 31.593420 12.909758 5.9392494 2.6826989 0.9434561 0.4251171 0.1717935 0.000179 -0.000051 -0.000016 0.000572 -0.000164 -0.000051 0.001786 -0.000513 -0.000160 0.005464 -0.001573 -0.000491 0.016748 -0.004871 -0.001528 0.048758 -0.014459 -0.004525 0.125630 -0.039233 -0.012410 0.262266 -0.091210 -0.028954 0.376958 -0.167943 -0.055303 0.270511 -0.175122 -0.059108 0.049643 0.108856 0.038473 -0.003511 0.563131 0.277299 0.002157 0.445570 0.358696 -0.000854 0.044666 -0.278329 0.000402 -0.005731 -0.680834 -0.000115 0.001796 -0.280651 * p-type functions 11 2 1868.8067 442.94722 143.19547 54.013866 22.378905 9.7396561 4.3610083 1.9585564 0.8255552 0.3296151 0.1242153 0.000646 0.000181 0.004635 0.001297 0.023310 0.006608 0.084816 0.024394 0.218550 0.065364 0.373972 0.115232 0.364362 0.122758 0.128413 -0.066023 0.006958 -0.403696 0.000811 -0.489775 -0.000146 -0.208580 ****************************************************************************** /K.ANO-DK3.Tsuchiya.20s15p.4s2p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * POTASSIUM: K * * ============ * * Reference state: * * The atomic ground state, K(2S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 19 * s-type functions 20 4 14612300. 1741461.0 336176.10 84319.950 25264.470 8625.9150 3220.9340 1285.7860 543.60000 240.31470 109.70850 51.441940 24.486550 10.391780 4.9151520 2.3731580 0.8729544 0.3752636 0.1671590 0.0276776 0.000027 -0.000008 -0.000003 -0.000000 0.000096 -0.000028 -0.000009 -0.000002 0.000287 -0.000083 -0.000027 -0.000005 0.000787 -0.000228 -0.000075 -0.000015 0.002080 -0.000604 -0.000199 -0.000038 0.005520 -0.001614 -0.000534 -0.000104 0.014921 -0.004385 -0.001442 -0.000275 0.039204 -0.011777 -0.003914 -0.000768 0.094538 -0.029378 -0.009695 -0.001832 0.197597 -0.067120 -0.022656 -0.004491 0.321585 -0.128342 -0.043314 -0.008080 0.324405 -0.182290 -0.065658 -0.013491 0.142293 -0.081280 -0.027830 -0.003931 0.013840 0.322252 0.132650 0.022615 -0.000578 0.577064 0.383029 0.088317 0.000463 0.250109 0.203063 0.027998 -0.000211 0.016890 -0.568106 -0.110032 0.000070 -0.001662 -0.593911 -0.283218 -0.000030 0.000865 -0.091076 -0.037283 0.000003 -0.000084 -0.001019 1.075919 * p-type functions 15 2 110820.40 14565.150 3330.8110 1019.0310 367.97120 147.80250 64.062590 29.418030 13.980790 6.7780980 3.3199720 1.5460510 0.7106787 0.3179293 0.1337293 0.000006 -0.000002 0.000042 -0.000013 0.000246 -0.000075 0.001302 -0.000399 0.005947 -0.001819 0.022620 -0.007009 0.070156 -0.022030 0.169829 -0.055244 0.302526 -0.100978 0.362500 -0.131348 0.224150 -0.048204 0.043728 0.229263 0.000195 0.459966 0.000692 0.379187 -0.000158 0.089673 ****************************************************************************** /Ca.ANO-DK3.Tsuchiya.20s15p.4s2p. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * CALCIUM: Ca * * =========== * * Reference state: * * The atomic ground state, Ca(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 20 * s-type functions 20 4 15429060. 1717766.0 325290.80 83104.290 25219.110 8662.8000 3220.9670 1283.7380 543.45920 240.83900 109.96770 51.344530 24.284190 10.500930 4.9229230 2.3406070 0.9214525 0.3826710 0.0653329 0.0261845 0.000030 -0.000009 -0.000003 -0.000001 0.000115 -0.000034 -0.000012 -0.000003 0.000337 -0.000099 -0.000034 -0.000008 0.000901 -0.000264 -0.000091 -0.000022 0.002363 -0.000695 -0.000239 -0.000057 0.006275 -0.001857 -0.000642 -0.000154 0.017045 -0.005076 -0.001749 -0.000418 0.044369 -0.013534 -0.004703 -0.001126 0.105352 -0.033390 -0.011565 -0.002762 0.214812 -0.075074 -0.026522 -0.006368 0.335653 -0.140383 -0.049991 -0.011973 0.309844 -0.186568 -0.070704 -0.017147 0.112198 -0.043706 -0.015192 -0.003539 0.007660 0.400637 0.184549 0.045566 0.000349 0.569404 0.437429 0.116378 -0.000034 0.176124 0.107128 0.024839 -0.000042 0.007943 -0.709071 -0.229804 -0.000015 0.000469 -0.524151 -0.335194 0.000001 0.000072 -0.014673 0.671464 -0.000000 -0.000030 0.004613 0.491980 * p-type functions 15 2 51912.480 8887.8330 2423.3700 833.83440 329.65730 142.47560 65.465540 31.433170 15.494100 7.7651150 3.9249850 1.9243700 0.9138395 0.4202105 0.1757597 0.000015 -0.000005 0.000085 -0.000028 0.000436 -0.000142 0.001990 -0.000651 0.007867 -0.002580 0.026517 -0.008800 0.075258 -0.025409 0.171369 -0.059799 0.294458 -0.105979 0.349350 -0.135324 0.222363 -0.054979 0.049878 0.213327 0.001592 0.465783 0.000460 0.389836 -0.000115 0.085280 ****************************************************************************** /Sc.ANO-DK3.Tsuchiya.20s15p9d.4s2p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * SCANDIUM: Sc * * ============ * * Reference state: * * The atomic ground state, Sc(2D) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 21 * s-type functions 20 4 12809350. 1543198.0 309741.60 82804.010 25477.230 8662.3970 3209.4240 1277.8540 544.18700 241.56850 110.06900 51.222490 23.850440 10.651950 4.9512770 2.2012840 0.9952089 0.4260318 0.0763491 0.0296666 0.000039 -0.000011 -0.000004 -0.000001 0.000137 -0.000041 -0.000014 -0.000003 0.000386 -0.000114 -0.000040 -0.000010 0.001002 -0.000297 -0.000105 -0.000025 0.002673 -0.000795 -0.000280 -0.000067 0.007168 -0.002145 -0.000757 -0.000180 0.019390 -0.005849 -0.002065 -0.000492 0.049888 -0.015435 -0.005467 -0.001300 0.115876 -0.037452 -0.013320 -0.003177 0.232538 -0.083518 -0.030081 -0.007158 0.346748 -0.152305 -0.056100 -0.013461 0.291467 -0.186331 -0.072006 -0.017216 0.086504 -0.000815 0.000097 -0.000234 0.002966 0.467157 0.238043 0.060112 0.001162 0.548791 0.457647 0.120310 -0.000486 0.118213 0.001382 -0.002195 0.000163 -0.000776 -0.727883 -0.247560 -0.000076 0.001953 -0.471830 -0.305926 0.000015 -0.000215 -0.013189 0.655052 -0.000006 0.000096 0.003909 0.510217 * p-type functions 15 2 52100.920 8878.3560 2420.2830 833.95720 329.71210 142.48480 65.473930 31.440280 15.489910 7.7698220 3.9262920 1.9039380 0.9066862 0.4223046 0.1753043 0.000018 -0.000006 0.000103 -0.000035 0.000528 -0.000177 0.002400 -0.000811 0.009429 -0.003191 0.031456 -0.010803 0.087684 -0.030682 0.193051 -0.070075 0.316398 -0.118818 0.342386 -0.138652 0.183904 -0.011779 0.031648 0.288373 0.000578 0.478826 0.000388 0.316722 -0.000069 0.052069 * d-type functions 9 1 125.98350 36.094410 13.193220 5.2908960 2.2767190 0.9978463 0.4322448 0.1810401 0.0705568 0.000780 0.006826 0.030820 0.096013 0.211296 0.318316 0.353538 0.262493 0.087246 ****************************************************************************** /Ti.ANO-DK3.Tsuchiya.20s15p9d.4s2p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * TITANIUM: Ti * * ============ * * Reference state: * * The atomic ground state, Ti(3F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 22 * s-type functions 20 4 16528400. 1855243.0 342340.70 83105.730 24246.960 8130.0170 3047.9930 1249.9940 546.15680 248.48620 116.29540 55.604170 26.720930 12.459630 6.0568740 2.9410320 1.1928670 0.4998581 0.0834067 0.0320016 0.000037 -0.000011 -0.000004 -0.000001 0.000141 -0.000042 -0.000015 -0.000003 0.000432 -0.000129 -0.000046 -0.000011 0.001205 -0.000361 -0.000129 -0.000030 0.003249 -0.000976 -0.000349 -0.000081 0.008646 -0.002614 -0.000938 -0.000219 0.022457 -0.006863 -0.002456 -0.000572 0.055119 -0.017292 -0.006239 -0.001455 0.123569 -0.040710 -0.014662 -0.003421 0.236740 -0.086919 -0.031997 -0.007476 0.337893 -0.152618 -0.056843 -0.013334 0.277738 -0.179818 -0.071767 -0.016898 0.085856 -0.007437 -0.000356 -0.000155 0.004166 0.419196 0.208599 0.051165 0.000993 0.545725 0.452319 0.116888 -0.000316 0.169151 0.075841 0.017415 0.000049 0.007701 -0.720954 -0.236265 -0.000043 0.000704 -0.509761 -0.308752 0.000007 0.000026 -0.015289 0.651287 -0.000003 -0.000008 0.004818 0.505732 * p-type functions 15 2 47945.460 8268.5230 2266.6380 782.83370 310.41640 134.54730 62.287110 30.404530 15.575050 8.4317700 4.6479770 2.4502470 1.2018010 0.5592001 0.2347965 0.000023 -0.000008 0.000136 -0.000047 0.000699 -0.000240 0.003164 -0.001091 0.012256 -0.004257 0.039965 -0.014054 0.105948 -0.038278 0.213984 -0.079863 0.306513 -0.119782 0.295665 -0.120952 0.174829 -0.024524 0.042694 0.227961 0.002354 0.463925 0.000419 0.374687 -0.000021 0.081083 * d-type functions 9 1 171.27790 47.911700 17.369540 6.9694200 3.0103480 1.3292270 0.5789586 0.2444155 0.0955911 0.000598 0.005692 0.027735 0.089536 0.205593 0.320601 0.357716 0.261500 0.086717 ****************************************************************************** /V.ANO-DK3.Tsuchiya.20s15p9d.4s2p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * VANADIUM: V * * =========== * * Reference state: * * The atomic ground state, V(4F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 23 * s-type functions 20 4 16668050. 1856605.0 341192.60 82515.820 24055.780 8076.2020 3038.1510 1250.3670 546.60870 248.55880 116.41900 55.484730 26.329490 12.524240 6.0680070 2.8832020 1.2633840 0.5376609 0.0925067 0.0346811 0.000042 -0.000013 -0.000005 -0.000001 0.000159 -0.000048 -0.000017 -0.000004 0.000490 -0.000148 -0.000053 -0.000012 0.001369 -0.000414 -0.000150 -0.000034 0.003680 -0.001116 -0.000404 -0.000092 0.009739 -0.002973 -0.001078 -0.000246 0.025059 -0.007746 -0.002810 -0.000642 0.060931 -0.019356 -0.007054 -0.001607 0.135330 -0.045439 -0.016635 -0.003807 0.252597 -0.095253 -0.035428 -0.008082 0.343289 -0.162692 -0.062046 -0.014310 0.257825 -0.174681 -0.070375 -0.016104 0.065413 0.038112 0.017635 0.003734 0.001788 0.477178 0.259695 0.063525 0.000946 0.514497 0.454470 0.114434 -0.000329 0.118969 -0.020436 -0.007474 0.000059 0.003753 -0.734434 -0.243310 -0.000040 0.001042 -0.461411 -0.281602 0.000006 -0.000032 -0.012433 0.636482 -0.000003 0.000017 0.003681 0.519796 * p-type functions 15 2 47689.830 8218.3390 2263.7380 784.02370 310.13700 134.58010 62.327460 30.361920 15.547650 8.4769040 4.7216180 2.4319990 1.1963690 0.5624286 0.2362120 0.000028 -0.000010 0.000163 -0.000057 0.000827 -0.000289 0.003743 -0.001315 0.014432 -0.005104 0.046321 -0.016642 0.120668 -0.044562 0.235968 -0.090478 0.319382 -0.128259 0.276776 -0.114857 0.147452 0.014723 0.030512 0.284991 0.000784 0.466682 0.000579 0.318757 -0.000054 0.056600 * d-type functions 9 1 182.17040 52.710580 19.604460 8.0720930 3.5509370 1.5942780 0.7051272 0.3006525 0.1175785 0.000692 0.006157 0.028829 0.091018 0.206472 0.318295 0.352315 0.259731 0.089364 ****************************************************************************** /Cr.ANO-DK3.Tsuchiya.20s15p9d.4s2p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * CHROMIUM: Cr * * ============ * * Reference state: * * The atomic ground state, Cr(7S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 24 * s-type functions 20 4 16720450. 1856233.0 340116.40 82251.290 23952.950 8038.8140 3035.9990 1250.3650 546.81130 248.51830 116.46040 55.596390 25.628230 12.574520 6.1323280 2.7638940 1.2698890 0.5404670 0.0913304 0.0340527 0.000047 -0.000014 -0.000005 -0.000001 0.000180 -0.000055 -0.000020 -0.000004 0.000552 -0.000168 -0.000061 -0.000013 0.001539 -0.000469 -0.000170 -0.000036 0.004143 -0.001267 -0.000460 -0.000098 0.010890 -0.003353 -0.001218 -0.000260 0.027781 -0.008681 -0.003159 -0.000675 0.067224 -0.021615 -0.007886 -0.001682 0.147177 -0.050351 -0.018521 -0.003972 0.268330 -0.103946 -0.038759 -0.008274 0.344389 -0.171401 -0.066075 -0.014297 0.236183 -0.164245 -0.066394 -0.014178 0.050384 0.090317 0.040509 0.008371 -0.001055 0.516226 0.301392 0.069602 0.001520 0.474026 0.432985 0.102143 -0.000630 0.085295 -0.133641 -0.036080 0.000214 -0.000927 -0.732316 -0.238745 -0.000080 0.001602 -0.392547 -0.225988 0.000015 -0.000044 -0.010122 0.604881 -0.000006 0.000167 0.003309 0.536381 * p-type functions 15 2 45934.300 8199.4210 2271.0960 783.80960 309.84540 134.63880 62.371660 30.305360 15.543660 8.5085540 4.7615840 2.4401090 1.1984680 0.5627531 0.2364522 0.000034 -0.000012 0.000191 -0.000067 0.000973 -0.000342 0.004406 -0.001554 0.016837 -0.005982 0.053215 -0.019252 0.136260 -0.050755 0.257445 -0.099905 0.327136 -0.133247 0.257451 -0.103023 0.120487 0.054803 0.021326 0.325031 0.000561 0.451567 0.000545 0.279529 0.000009 0.048801 * d-type functions 9 1 236.90590 61.089050 21.340960 8.3996820 3.5756720 1.5447120 0.6504471 0.2603202 0.0960105 0.000535 0.005913 0.030807 0.101066 0.223345 0.325947 0.341961 0.260491 0.104624 ****************************************************************************** /Mn.ANO-DK3.Tsuchiya.20s15p9d.4s2p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * MANGANESE: Mn * * ============= * * Reference state: * * The atomic ground state, Mn(6S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 25 * s-type functions 20 4 16703496. 1869011.5 339227.63 81300.736 23685.419 7984.1759 3026.3726 1252.0832 547.09397 248.25246 116.46300 55.811828 25.818830 12.574694 6.1616307 2.7822694 1.3119202 0.5889990 0.1097419 0.0396304 0.000053 -0.000016 -0.000006 -0.000001 0.000201 -0.000061 -0.000023 -0.000005 0.000624 -0.000191 -0.000070 -0.000015 0.001742 -0.000535 -0.000197 -0.000043 0.004648 -0.001433 -0.000528 -0.000115 0.012143 -0.003772 -0.001391 -0.000303 0.030661 -0.009671 -0.003577 -0.000782 0.073499 -0.023938 -0.008870 -0.001928 0.159745 -0.055570 -0.020806 -0.004566 0.283053 -0.112956 -0.042854 -0.009317 0.342571 -0.178153 -0.070309 -0.015620 0.212056 -0.151536 -0.062416 -0.013432 0.038372 0.143972 0.066561 0.014006 -0.000735 0.554367 0.351238 0.084520 0.001002 0.416134 0.398795 0.093975 -0.000440 0.061028 -0.234129 -0.060896 0.000143 -0.000474 -0.715012 -0.250014 -0.000058 0.001252 -0.339333 -0.215647 0.000010 -0.000098 -0.007841 0.615353 -0.000004 0.000041 0.002116 0.538374 * p-type functions 15 2 48651.154 8367.3813 2285.2910 786.35173 310.87259 134.69393 62.347613 30.315353 15.400319 8.2292547 4.6458324 2.5983347 0.2861196 0.6692845 1.3704745 0.000038 -0.000014 0.000222 -0.000080 0.001136 -0.000408 0.005105 -0.001842 0.019397 -0.007064 0.060999 -0.022632 0.151887 -0.058264 0.277931 -0.111037 0.342472 -0.145060 0.236986 -0.082735 0.083131 0.095700 0.015338 0.304047 0.000004 0.050714 0.000467 0.284872 0.000917 0.427739 * d-type functions 9 1 201.13773 59.697767 22.712206 9.5508116 4.2791942 1.9492770 0.8723660 0.3751142 0.1474217 0.000934 0.007749 0.034577 0.105241 0.224593 0.325955 0.340056 0.236399 0.076248 ****************************************************************************** /Fe.ANO-DK3.Tsuchiya.20s15p9d.4s2p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * IRON: Fe * * ======== * * Reference state: * * The atomic ground state, Fe(5D) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 26 * s-type functions 20 4 67207850. 7313546.0 1289856.0 297297.80 82030.030 25799.180 8956.7480 3359.5960 1341.9500 564.58810 248.37920 113.50840 53.094010 22.315200 10.716860 5.1957180 1.9301770 0.7799610 0.1151095 0.0416610 0.000021 -0.000006 -0.000002 -0.000000 0.000081 -0.000025 -0.000009 -0.000002 0.000249 -0.000077 -0.000029 -0.000006 0.000682 -0.000211 -0.000078 -0.000017 0.001771 -0.000547 -0.000203 -0.000044 0.004545 -0.001412 -0.000526 -0.000113 0.011842 -0.003699 -0.001371 -0.000295 0.031029 -0.009873 -0.003694 -0.000797 0.078177 -0.025609 -0.009526 -0.002049 0.174364 -0.061690 -0.023436 -0.005066 0.307275 -0.125528 -0.047782 -0.010310 0.348221 -0.193953 -0.078751 -0.017172 0.181259 -0.119263 -0.047846 -0.010372 0.021593 0.303379 0.147108 0.032727 -0.001898 0.596131 0.467094 0.111134 0.000840 0.261526 0.180435 0.041353 -0.000305 0.017323 -0.719231 -0.215573 0.000072 -0.000606 -0.539079 -0.285916 -0.000018 0.000293 -0.016101 0.620447 0.000008 -0.000127 0.005260 0.520473 * p-type functions 15 2 48583.310 8366.0940 2284.6350 785.75470 310.94600 134.69170 62.344850 30.292930 15.392230 8.2282760 4.6525990 2.5794920 1.3636890 0.6728342 0.2867754 0.000044 0.000016 0.000259 0.000094 0.001323 0.000481 0.005908 0.002160 0.022261 0.008217 0.069213 0.026095 0.168264 0.065672 0.296995 0.121241 0.342579 0.147531 0.212065 0.060155 0.064865 -0.136653 0.010549 -0.337116 0.000665 -0.411036 0.000409 -0.240774 0.000012 -0.036796 * d-type functions 9 1 273.06550 80.264000 30.241020 12.616500 5.6043950 2.5257040 1.1050130 0.4598499 0.1738600 0.000626 0.005504 0.026917 0.087754 0.203176 0.319086 0.353800 0.264409 0.097113 ****************************************************************************** /Co.ANO-DK3.Tsuchiya.20s15p9d.4s2p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * COBALT: Co * * ========== * * Reference state: * * The atomic ground state, Co(4F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 27 * s-type functions 20 4 68378190. 7369246.0 1295428.0 298106.10 82220.140 25822.900 8963.1840 3362.1020 1342.2380 564.71420 248.26660 113.46470 53.267650 22.577000 10.727370 5.1267590 2.0454520 0.8335569 0.1259556 0.0448906 0.000023 -0.000007 -0.000003 -0.000001 0.000090 -0.000028 -0.000010 -0.000002 0.000277 -0.000086 -0.000032 -0.000007 0.000756 -0.000235 -0.000088 -0.000019 0.001960 -0.000610 -0.000228 -0.000048 0.005026 -0.001573 -0.000589 -0.000125 0.013039 -0.004104 -0.001533 -0.000325 0.034049 -0.010933 -0.004112 -0.000873 0.085123 -0.028197 -0.010584 -0.002246 0.187108 -0.067373 -0.025737 -0.005475 0.320297 -0.134594 -0.051911 -0.011061 0.340357 -0.198685 -0.081317 -0.017432 0.157447 -0.094324 -0.038637 -0.008356 0.015565 0.362716 0.187376 0.041663 -0.001070 0.595323 0.489729 0.114826 0.000486 0.205438 0.105107 0.022829 -0.000212 0.010582 -0.736527 -0.220691 0.000041 0.000524 -0.508485 -0.270407 -0.000010 0.000079 -0.014663 0.603222 0.000005 -0.000030 0.004642 0.537452 * p-type functions 15 2 48963.140 8345.6870 2279.9360 785.83140 310.81170 134.74590 62.332250 30.247970 15.390230 8.2376440 4.6587240 2.5684760 1.3572820 0.6762024 0.2884748 0.000051 0.000019 0.000302 0.000111 0.001528 0.000562 0.006793 0.002511 0.025408 0.009486 0.077877 0.029776 0.185326 0.073436 0.314550 0.130970 0.337409 0.146418 0.187231 0.033738 0.050180 -0.174633 0.007287 -0.362321 0.000608 -0.389549 0.000336 -0.201496 0.000020 -0.027279 * d-type functions 9 1 275.37830 80.658160 30.232990 12.611280 5.6161100 2.5253840 1.1052020 0.4614834 0.1755098 0.000765 0.006723 0.032326 0.102154 0.223574 0.328820 0.342010 0.242290 0.084320 ****************************************************************************** /Ni.ANO-DK3.Tsuchiya.20s15p9d.4s2p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * NICKEL: Ni * * ========== * * Reference state: * * The atomic ground state, Ni(3F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 28 * s-type functions 20 4 68573180. 7371292.0 1301782.0 298708.50 82337.350 25855.370 8964.7770 3364.1940 1342.5840 564.56870 248.27240 113.30310 53.056160 22.811340 10.677930 4.8803330 2.1078690 0.8698869 0.1367359 0.0478924 0.000026 -0.000008 -0.000003 -0.000001 0.000100 -0.000031 -0.000012 -0.000002 0.000305 -0.000095 -0.000036 -0.000008 0.000837 -0.000262 -0.000098 -0.000021 0.002161 -0.000676 -0.000254 -0.000053 0.005538 -0.001744 -0.000656 -0.000137 0.014324 -0.004541 -0.001708 -0.000357 0.037191 -0.012045 -0.004549 -0.000950 0.092401 -0.030955 -0.011718 -0.002453 0.199876 -0.073220 -0.028090 -0.005875 0.331683 -0.143480 -0.056072 -0.011807 0.331671 -0.202399 -0.083263 -0.017510 0.134698 -0.066123 -0.028062 -0.006181 0.010296 0.421373 0.231464 0.051435 -0.000176 0.588266 0.503105 0.115780 0.000081 0.153305 0.014666 0.001506 -0.000078 0.002989 -0.753304 -0.228738 0.000002 0.001605 -0.460687 -0.248510 -0.000002 -0.000121 -0.011914 0.592133 0.000001 0.000056 0.003543 0.549159 * p-type functions 15 2 51568.330 8804.8630 2375.4010 803.17640 311.53830 133.46270 61.712680 30.027180 15.147230 7.8246240 4.1428990 2.3196840 1.3814930 0.7314395 0.3131333 0.000056 0.000021 0.000326 0.000121 0.001675 0.000621 0.007661 0.002858 0.029281 0.011049 0.088933 0.034434 0.203273 0.081790 0.331457 0.140471 0.336725 0.145835 0.162682 -0.017303 0.028499 -0.266899 0.003177 -0.331543 0.000364 -0.310962 0.000360 -0.189909 0.000024 -0.026731 * d-type functions 9 1 283.45150 80.785470 30.181000 12.622230 5.6207420 2.5242870 1.1048470 0.4623634 0.1770130 0.000910 0.008209 0.038213 0.117232 0.242628 0.334885 0.329884 0.221812 0.072879 ****************************************************************************** /Cu.ANO-DK3.Tsuchiya.20s15p9d.4s2p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * COPPER: Cu * * ========== * * Reference state: * * The atomic ground state, Cu(2S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 29 * s-type functions 20 4 67793730. 7402227.0 1308011.0 300535.80 82258.000 25879.870 8976.5310 3367.5650 1342.8960 564.18310 248.11230 113.00260 52.547730 23.161700 10.756720 4.6423960 2.0779930 0.8518835 0.1154754 0.0405298 0.000029 -0.000009 -0.000003 -0.000001 0.000110 -0.000034 -0.000013 -0.000002 0.000336 -0.000105 -0.000039 -0.000007 0.000922 -0.000290 -0.000109 -0.000019 0.002386 -0.000751 -0.000282 -0.000050 0.006063 -0.001922 -0.000722 -0.000128 0.015673 -0.005005 -0.001883 -0.000333 0.040494 -0.013220 -0.004986 -0.000882 0.099971 -0.033881 -0.012844 -0.002273 0.212799 -0.079273 -0.030389 -0.005383 0.341763 -0.152414 -0.059888 -0.010656 0.321171 -0.204053 -0.084049 -0.014990 0.113443 -0.035135 -0.015310 -0.002864 0.006044 0.468660 0.268715 0.050392 0.000559 0.570465 0.499481 0.097541 -0.000255 0.117513 -0.090118 -0.022721 0.000067 -0.002575 -0.763549 -0.195253 -0.000036 0.002223 -0.389584 -0.188251 0.000006 -0.000227 -0.008504 0.552308 -0.000003 0.000103 0.002569 0.563544 * p-type functions 15 2 51547.640 8852.1460 2388.7210 804.80520 310.98980 133.35420 61.725930 30.004980 15.137720 7.7766310 4.1183440 2.3086330 1.3821200 0.7367790 0.3149889 0.000064 0.000024 0.000370 0.000137 0.001901 0.000706 0.008729 0.003261 0.033180 0.012547 0.098768 0.038425 0.220394 0.089183 0.344977 0.147704 0.324048 0.136157 0.138824 -0.054625 0.019296 -0.295721 0.003264 -0.328341 -0.000068 -0.284581 0.000480 -0.170755 0.000037 -0.024918 * d-type functions 9 1 312.81730 88.135560 32.228440 13.186590 5.7295240 2.5019170 1.0550470 0.4156865 0.1478547 0.000863 0.008104 0.039467 0.123925 0.252773 0.335305 0.323765 0.229660 0.088346 ****************************************************************************** /Zn.ANO-DK3.Tsuchiya.20s15p9d.4s2p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * ZINC: Zn * * ======== * * Reference state: * * The atomic ground state, Zn(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 30 * s-type functions 20 4 70817880. 7572294.0 1323068.0 302505.70 82854.280 25950.900 8984.7100 3368.5880 1348.7580 567.24390 248.30630 111.90550 50.426170 23.428200 11.091260 4.8970560 2.2538020 0.9612680 0.1557770 0.0531356 0.000031 -0.000010 -0.000004 -0.000001 0.000120 -0.000038 -0.000014 -0.000003 0.000369 -0.000116 -0.000044 -0.000009 0.001009 -0.000319 -0.000121 -0.000024 0.002608 -0.000826 -0.000313 -0.000063 0.006642 -0.002117 -0.000803 -0.000163 0.017121 -0.005508 -0.002094 -0.000425 0.043872 -0.014427 -0.005493 -0.001111 0.106706 -0.036596 -0.014027 -0.002851 0.225044 -0.085077 -0.032953 -0.006669 0.353004 -0.162588 -0.064827 -0.013279 0.311777 -0.204786 -0.085580 -0.017362 0.092005 0.004342 0.002238 -0.000038 0.000566 0.500387 0.300936 0.066026 0.001955 0.531879 0.480596 0.106370 -0.000902 0.103959 -0.122463 -0.030165 0.000365 -0.001793 -0.743213 -0.230386 -0.000123 0.002020 -0.392969 -0.212504 0.000022 -0.000197 -0.009554 0.581441 -0.000009 0.000084 0.002738 0.557624 * p-type functions 15 2 57518.010 9362.7720 2418.0840 800.05350 310.05840 133.37250 61.701480 29.958730 15.108250 7.7517470 4.0851060 2.2820190 1.3707160 0.7476765 0.3187877 0.000067 0.000025 0.000406 0.000152 0.002184 0.000822 0.010002 0.003792 0.037186 0.014284 0.109060 0.043194 0.237750 0.098085 0.356378 0.156106 0.307795 0.124829 0.116331 -0.094304 0.013918 -0.327686 0.002429 -0.333660 0.000010 -0.256618 0.000363 -0.135592 0.000011 -0.016413 * d-type functions 9 1 299.80320 91.795170 35.637370 15.216270 6.8536920 3.0972170 1.3578490 0.5652394 0.2125105 0.001120 0.008726 0.038916 0.118025 0.242197 0.332577 0.326934 0.224502 0.077762 ****************************************************************************** /Ga.ANO-DK3.Tsuchiya.20s15p9d.4s3p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * GALLIUM: Ga * * =========== * * Reference state: * * The atomic ground state, Ga(2P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 31 * s-type functions 20 4 70959040. 7603324.0 1319240.0 302670.50 83251.810 25933.120 8976.5470 3372.0960 1348.6200 567.55490 248.18870 111.67490 49.241650 23.275170 11.081480 4.8993520 2.3008210 1.0265820 0.2092229 0.0734858 0.000034 -0.000011 -0.000004 -0.000001 0.000132 -0.000042 -0.000016 -0.000004 0.000407 -0.000129 -0.000049 -0.000012 0.001100 -0.000349 -0.000134 -0.000031 0.002848 -0.000907 -0.000348 -0.000082 0.007289 -0.002337 -0.000895 -0.000210 0.018588 -0.006020 -0.002312 -0.000543 0.047497 -0.015740 -0.006052 -0.001416 0.114531 -0.039727 -0.015402 -0.003630 0.237483 -0.091287 -0.035742 -0.008365 0.360358 -0.171182 -0.069306 -0.016488 0.297084 -0.201090 -0.085188 -0.019936 0.076225 0.048482 0.023047 0.004679 -0.002466 0.541921 0.345639 0.089167 0.002610 0.484991 0.454142 0.115667 -0.001280 0.079812 -0.207150 -0.056744 0.000584 -0.001359 -0.730111 -0.283221 -0.000202 0.001634 -0.348119 -0.228213 0.000041 -0.000170 -0.008465 0.637049 -0.000016 0.000063 0.001902 0.533643 * p-type functions 15 3 49597.560 8521.6950 2303.8990 783.03950 305.54940 131.16530 60.060420 28.478480 13.712750 6.3599160 2.9038490 1.2702450 0.4810799 0.1528591 0.0485634 0.000087 0.000033 0.000005 0.000505 0.000193 0.000031 0.002575 0.000983 0.000161 0.011470 0.004425 0.000719 0.042384 0.016536 0.002725 0.123275 0.049893 0.008137 0.265993 0.111935 0.018654 0.385509 0.174335 0.028538 0.288515 0.091104 0.015179 0.070069 -0.254650 -0.052552 0.001905 -0.516341 -0.098341 0.001394 -0.345927 -0.091733 -0.000213 -0.047434 0.119458 0.000096 0.001486 0.544611 -0.000031 -0.000743 0.496075 * d-type functions 9 1 457.91230 128.54330 48.135830 20.161900 9.0373380 4.1220690 1.8356450 0.7793226 0.2999676 0.000629 0.005893 0.029759 0.098594 0.220994 0.329066 0.344409 0.240063 0.076847 ****************************************************************************** /Ge.ANO-DK3.Tsuchiya.20s15p9d.4s3p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * GERMANIUM: Ge * * ============= * * Reference state: * * The atomic ground state, Ge(3P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 32 * s-type functions 20 4 67849860. 7452055.0 1336788.0 305032.60 82939.380 25960.830 8979.7630 3367.2560 1349.6470 567.90310 248.35020 111.41580 47.105710 23.205140 11.240890 4.7209460 2.2969380 1.0856240 0.2605657 0.0931936 0.000039 -0.000012 -0.000005 -0.000001 0.000144 -0.000046 -0.000018 -0.000005 0.000437 -0.000139 -0.000054 -0.000014 0.001210 -0.000386 -0.000150 -0.000039 0.003122 -0.001000 -0.000387 -0.000100 0.007898 -0.002544 -0.000985 -0.000254 0.020245 -0.006607 -0.002566 -0.000664 0.051287 -0.017105 -0.006644 -0.001709 0.122291 -0.042968 -0.016861 -0.004375 0.249825 -0.097430 -0.038578 -0.009926 0.365456 -0.179714 -0.073933 -0.019393 0.282632 -0.193454 -0.083044 -0.021321 0.062465 0.100531 0.049247 0.011831 -0.005862 0.557411 0.378663 0.109127 0.003408 0.445534 0.416929 0.115716 -0.001675 0.066181 -0.304673 -0.092426 0.000906 -0.005751 -0.699318 -0.331573 -0.000332 0.002676 -0.292047 -0.211494 0.000071 -0.000419 -0.008145 0.677137 -0.000025 0.000140 0.001525 0.517456 * p-type functions 15 3 49291.810 8590.0400 2320.1620 782.29940 304.99730 131.20960 60.064460 28.512470 13.781060 6.3840140 2.9060420 1.2712070 0.4222926 0.1603330 0.0580165 0.000099 0.000038 0.000008 0.000562 0.000218 0.000043 0.002892 0.001121 0.000220 0.012942 0.005074 0.001003 0.047129 0.018712 0.003688 0.134592 0.055546 0.011055 0.282952 0.121638 0.024148 0.387963 0.179224 0.036330 0.264833 0.067082 0.010996 0.057007 -0.298269 -0.070226 0.001236 -0.526997 -0.134401 0.001118 -0.302741 -0.078287 -0.000199 -0.028014 0.244152 0.000104 0.003350 0.569912 -0.000035 -0.001098 0.342437 * d-type functions 9 1 449.65610 132.21530 50.118460 21.242420 9.6266770 4.4519600 2.0279210 0.8902129 0.3534826 0.000763 0.006658 0.032762 0.105786 0.230729 0.334110 0.338828 0.219625 0.060130 ****************************************************************************** /As.ANO-DK3.Tsuchiya.20s15p9d.4s3p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * ARSENIC: As * * =========== * * Reference state: * * The atomic ground state, As(4S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 33 * s-type functions 20 4 72421890. 7704075.0 1336573.0 303943.50 83289.250 25994.450 8979.5770 3366.7950 1346.4700 567.74580 249.23080 111.99520 46.328140 22.611220 10.910110 4.5498340 2.1494630 1.0337510 0.3089246 0.1120671 0.000041 -0.000013 -0.000005 -0.000001 0.000158 -0.000050 -0.000020 -0.000005 0.000484 -0.000155 -0.000061 -0.000017 0.001317 -0.000423 -0.000165 -0.000046 0.003382 -0.001089 -0.000426 -0.000118 0.008603 -0.002786 -0.001090 -0.000301 0.021894 -0.007192 -0.002824 -0.000783 0.055365 -0.018602 -0.007303 -0.002016 0.130840 -0.046513 -0.018469 -0.005142 0.260713 -0.103389 -0.041423 -0.011442 0.367343 -0.186192 -0.077782 -0.021902 0.266525 -0.184403 -0.080266 -0.022140 0.051572 0.158368 0.081034 0.021982 -0.006212 0.592493 0.431188 0.134282 0.003264 0.381797 0.357770 0.106137 -0.001635 0.043059 -0.452904 -0.156059 0.000933 -0.003062 -0.679584 -0.400902 -0.000392 0.001674 -0.181129 -0.132850 0.000100 -0.000332 -0.004762 0.717059 -0.000031 0.000088 0.000529 0.494918 * p-type functions 15 3 49515.580 8463.7830 2290.8560 779.65970 305.45690 130.97990 59.698960 28.408790 13.883000 6.6102210 3.0821260 1.3919830 0.4825470 0.1922826 0.0728496 0.000112 0.000044 0.000010 0.000649 0.000255 0.000057 0.003288 0.001295 0.000287 0.014399 0.005732 0.001281 0.052042 0.021046 0.004679 0.147782 0.062109 0.013980 0.301265 0.132625 0.029712 0.385579 0.180758 0.041602 0.237767 0.042850 0.005738 0.047590 -0.315945 -0.083824 0.001684 -0.517071 -0.154898 0.000793 -0.285849 -0.077908 -0.000108 -0.026249 0.292451 0.000057 0.003225 0.566863 -0.000019 -0.000905 0.296308 * d-type functions 9 1 718.96480 207.98400 79.590850 34.514110 15.730540 7.2805600 3.3000700 1.4173160 0.5447273 0.000360 0.003267 0.017152 0.061065 0.163790 0.299309 0.373458 0.297916 0.098711 ****************************************************************************** /Se.ANO-DK3.Tsuchiya.20s15p9d.4s3p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * SELENIUM: Se * * ============ * * Reference state: * * The atomic ground state, Se(3P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 34 * s-type functions 20 4 70126910. 7615059.0 1339994.0 304719.30 83264.650 26000.940 8988.2070 3365.3010 1345.1580 567.64000 249.58650 112.48470 45.767340 22.295360 10.805420 4.4801370 2.0468810 0.8672129 0.3434186 0.1278810 0.000046 -0.000015 -0.000006 0.000002 0.000172 -0.000055 -0.000022 0.000006 0.000525 -0.000169 -0.000067 0.000020 0.001435 -0.000463 -0.000183 0.000054 0.003679 -0.001191 -0.000471 0.000138 0.009309 -0.003030 -0.001198 0.000351 0.023636 -0.007817 -0.003101 0.000912 0.059587 -0.020162 -0.008000 0.002345 0.139262 -0.050109 -0.020122 0.005936 0.272045 -0.109648 -0.044472 0.013055 0.368175 -0.192713 -0.081696 0.024365 0.248753 -0.171682 -0.075831 0.022316 0.042362 0.215993 0.115489 -0.034458 -0.006018 0.604529 0.468033 -0.154934 0.002955 0.328437 0.294945 -0.093613 -0.001415 0.030814 -0.568052 0.223036 0.000751 -0.001836 -0.660180 0.466058 -0.000351 0.001145 -0.090805 0.020549 0.000138 -0.000411 0.002003 -0.760386 -0.000035 0.000088 -0.000779 -0.441957 * p-type functions 15 3 48566.150 8431.6000 2294.6350 783.77970 305.86350 130.60430 59.465130 28.363770 13.896050 6.6186080 3.1194380 1.4491170 0.5395910 0.2145971 0.0807000 0.000128 -0.000051 0.000012 0.000729 -0.000291 0.000070 0.003650 -0.001460 0.000351 0.015902 -0.006428 0.001559 0.057613 -0.023697 0.005719 0.161205 -0.069031 0.016884 0.317366 -0.142741 0.034741 0.382068 -0.181584 0.045514 0.214280 -0.012919 -0.002609 0.037836 0.353992 -0.102565 0.001233 0.507514 -0.173242 0.000647 0.245071 -0.058337 -0.000099 0.020621 0.341677 0.000039 -0.001305 0.552624 -0.000016 0.000632 0.267136 * d-type functions 9 1 658.51230 201.80170 80.065640 34.777660 15.742740 7.2754480 3.3192220 1.4637820 0.5819515 0.000499 0.003948 0.019577 0.070518 0.184294 0.319268 0.371176 0.262486 0.073244 ****************************************************************************** /Br.ANO-DK3.Tsuchiya.20s15p9d.4s3p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * BROMINE: Br * * =========== * * Reference state: * * The atomic ground state, Br(2P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 35 * s-type functions 20 4 72009610. 7685982.0 1334824.0 303714.20 83266.680 26029.000 8996.8490 3366.5500 1342.8090 566.36340 249.83410 113.12160 45.638330 21.857130 10.444100 4.5552250 2.0469360 0.6775547 0.3335378 0.1340278 0.000049 -0.000016 -0.000006 -0.000002 0.000188 -0.000061 -0.000024 -0.000007 0.000575 -0.000186 -0.000074 -0.000023 0.001559 -0.000505 -0.000201 -0.000062 0.003982 -0.001296 -0.000517 -0.000159 0.010056 -0.003291 -0.001314 -0.000404 0.025445 -0.008469 -0.003392 -0.001044 0.063920 -0.021787 -0.008743 -0.002689 0.148348 -0.054008 -0.021902 -0.006755 0.283169 -0.116142 -0.047754 -0.014736 0.366573 -0.197973 -0.084936 -0.026439 0.230816 -0.157460 -0.071017 -0.022186 0.034509 0.273930 0.154322 0.049834 -0.005077 0.619806 0.505289 0.174514 0.002497 0.268768 0.226530 0.078262 -0.001209 0.018046 -0.646449 -0.285651 0.000526 0.000854 -0.625202 -0.489127 -0.000263 -0.000009 -0.054831 0.177683 0.000158 -0.000021 0.010905 0.732183 -0.000037 -0.000011 -0.002239 0.331811 * p-type functions 15 3 50578.350 8510.1240 2298.6400 783.19730 305.53480 130.64040 59.330130 28.140710 13.662560 6.5349470 3.1114500 1.4723140 0.5914264 0.2370263 0.0900224 0.000140 -0.000056 0.000015 0.000815 -0.000330 0.000085 0.004068 -0.001651 0.000426 0.017687 -0.007253 0.001882 0.063266 -0.026463 0.006849 0.173905 -0.075776 0.019841 0.334468 -0.153750 0.040213 0.380551 -0.181559 0.048564 0.188675 0.025374 -0.014412 0.026987 0.395289 -0.124808 0.001549 0.492254 -0.187538 0.000191 0.199669 -0.028665 0.000033 0.014574 0.383399 -0.000030 0.000408 0.538765 0.000001 0.000407 0.234951 * d-type functions 9 1 691.76450 203.06310 77.678530 33.603410 15.641360 7.4681440 3.5128360 1.5923600 0.6464088 0.000552 0.004820 0.024720 0.083130 0.196746 0.320522 0.361389 0.242794 0.061779 ****************************************************************************** /Kr.ANO-DK3.Tsuchiya.20s15p9d.4s3p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * KRYPTON: Kr * * =========== * * Reference state: * * The atomic ground state, Kr(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 36 * s-type functions 20 4 11707591. 1753066.0 398944.61 112999.20 36864.908 13308.700 5190.8150 2153.0297 939.03602 427.14550 201.38050 97.253536 43.055680 21.209810 10.445680 4.5907630 2.1202840 0.7081770 0.3503780 0.1451890 0.000185 -0.000060 -0.000024 -0.000008 0.000516 -0.000167 -0.000067 -0.000022 0.001345 -0.000438 -0.000176 -0.000056 0.003227 -0.001053 -0.000424 -0.000135 0.007612 -0.002502 -0.001009 -0.000322 0.017922 -0.005942 -0.002397 -0.000766 0.042214 -0.014334 -0.005811 -0.001855 0.095966 -0.033762 -0.013721 -0.004394 0.195012 -0.074997 -0.030944 -0.009897 0.313461 -0.140730 -0.059083 -0.019048 0.322016 -0.198109 -0.087751 -0.028286 0.151462 -0.085177 -0.038483 -0.012885 0.016527 0.358769 0.212695 0.073226 -0.001277 0.579419 0.510008 0.182482 0.000603 0.223072 0.144292 0.055178 -0.000315 0.014087 -0.691324 -0.340202 0.000112 0.000704 -0.566954 -0.477546 -0.000055 -0.000074 -0.044353 0.287946 0.000034 -0.000001 0.008759 0.700899 -0.000008 -0.000018 -0.001984 0.281225 * p-type functions 15 3 20288.003 4804.4380 1560.0440 596.01679 252.21070 114.53100 54.473227 26.767730 13.294320 6.4650530 3.1176790 1.4886490 0.6356050 0.2612440 0.1016080 0.000376 -0.000154 0.000042 0.001631 -0.000669 0.000182 0.007135 -0.002946 0.000799 0.026610 -0.011117 0.003032 0.083192 -0.035653 0.009712 0.201283 -0.089944 0.024784 0.345408 -0.163466 0.045072 0.350678 -0.164550 0.046008 0.154834 0.071536 -0.030001 0.019449 0.427266 -0.144740 0.001373 0.472442 -0.196472 0.000049 0.160305 0.009958 0.000061 0.009350 0.414472 -0.000030 0.000463 0.516796 0.000008 -0.000027 0.210599 * d-type functions 9 1 665.48530 200.21573 77.557880 33.683689 15.627280 7.4430590 3.5330890 1.6359300 0.6782259 0.000691 0.005728 0.028354 0.094114 0.217309 0.335999 0.351105 0.209729 0.046329 ****************************************************************************** /Rb.ANO-DK3.Tsuchiya.23s19p12d.5s3p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * RUBIDIUM: Rb * * ============ * * Reference state: * * The atomic ground state, Rb(2S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 37 * s-type functions 23 5 964194500 94152760. 16096160. 4077359.0 1202904.0 363216.20 116265.10 39689.800 14386.300 5522.7670 2237.4380 954.28940 426.00190 197.40500 93.442640 42.379330 20.273620 9.3055640 4.5116560 2.1245760 0.6137300 0.2479641 0.0252073 0.000009 -0.000003 -0.000001 0.000000 0.000000 0.000037 -0.000012 -0.000005 0.000002 0.000000 0.000103 -0.000034 -0.000014 0.000005 0.000001 0.000231 -0.000075 -0.000031 0.000010 0.000002 0.000557 -0.000181 -0.000074 0.000025 0.000005 0.001356 -0.000443 -0.000180 0.000061 0.000013 0.003190 -0.001045 -0.000425 0.000144 0.000030 0.007539 -0.002488 -0.001013 0.000342 0.000072 0.018038 -0.006010 -0.002450 0.000831 0.000176 0.043453 -0.014816 -0.006055 0.002043 0.000429 0.100925 -0.035773 -0.014706 0.005004 0.001059 0.207048 -0.080395 -0.033435 0.011282 0.002369 0.328406 -0.151187 -0.064501 0.022183 0.004709 0.319399 -0.203178 -0.090836 0.030682 0.006410 0.128005 -0.054413 -0.025538 0.010104 0.002289 0.008812 0.426221 0.268912 -0.100952 -0.021814 0.000589 0.581037 0.535433 -0.200493 -0.042107 -0.000381 0.158308 0.021435 -0.020220 -0.006139 0.000167 -0.000875 -0.742442 0.437631 0.101343 -0.000088 0.003073 -0.488573 0.429543 0.097566 0.000026 -0.000668 -0.024760 -0.719247 -0.199605 -0.000009 0.000199 0.003696 -0.565953 -0.298421 0.000001 -0.000023 -0.000361 -0.007343 1.090818 * p-type functions 19 3 1557132.0 205509.60 45124.010 13056.110 4518.9830 1764.0670 753.17060 343.06240 164.32690 81.786960 42.025020 21.976940 11.388510 5.9798220 3.1947780 1.6744850 0.7411026 0.3225900 0.1319152 0.000008 -0.000003 0.000001 0.000034 -0.000014 0.000004 0.000124 -0.000051 0.000015 0.000447 -0.000185 0.000055 0.001607 -0.000669 0.000199 0.005656 -0.002361 0.000706 0.018637 -0.007871 0.002348 0.054784 -0.023532 0.007068 0.135549 -0.060366 0.018141 0.259124 -0.120458 0.036644 0.346948 -0.171334 0.052201 0.269791 -0.099815 0.028992 0.089566 0.171796 -0.069230 0.008073 0.421172 -0.160183 0.001635 0.394165 -0.191528 -0.000168 0.152502 0.020130 0.000114 0.013096 0.430155 -0.000049 -0.000235 0.525817 0.000013 0.000119 0.174309 * d-type functions 12 1 1406.8430 405.20410 153.42070 66.641910 31.222630 15.429480 7.8202200 4.0047120 2.0561940 1.0359800 0.5351549 0.3354855 0.000186 0.001670 0.009581 0.037664 0.107468 0.219662 0.313899 0.317426 0.201625 0.064906 0.007036 0.001644 ****************************************************************************** /Sr.ANO-DK3.Tsuchiya.23s19p12d.5s3p1d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * STRONTIUM: Sr * * ============= * * Reference state: * * The atomic ground state, Sr(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 38 * s-type functions 23 5 135692600 141892800 22561580. 4799192.0 1219783.0 353526.80 113622.00 39972.540 15034.940 5926.6800 2407.0210 1006.7110 433.08840 190.28210 83.268830 37.216830 16.956880 6.0329330 2.7319180 0.7281678 0.3242768 0.0555148 0.0232002 0.000007 -0.000002 -0.000001 -0.000000 0.000000 0.000030 -0.000010 -0.000004 -0.000001 0.000000 0.000095 -0.000031 -0.000013 -0.000005 0.000001 0.000256 -0.000084 -0.000034 -0.000012 0.000003 0.000639 -0.000209 -0.000086 -0.000031 0.000008 0.001511 -0.000496 -0.000203 -0.000072 0.000019 0.003447 -0.001135 -0.000466 -0.000166 0.000043 0.007778 -0.002582 -0.001057 -0.000376 0.000098 0.017911 -0.005990 -0.002474 -0.000880 0.000228 0.042545 -0.014593 -0.005984 -0.002132 0.000554 0.100818 -0.035819 -0.014959 -0.005327 0.001378 0.214740 -0.083974 -0.034952 -0.012493 0.003250 0.352320 -0.164674 -0.071875 -0.025751 0.006656 0.327975 -0.218126 -0.096994 -0.035201 0.009211 0.097328 0.020866 0.006797 0.002814 -0.000900 -0.000363 0.571490 0.414430 0.160989 -0.041837 0.001727 0.500281 0.466045 0.195866 -0.052595 -0.000782 0.057751 -0.575663 -0.316590 0.088799 0.000349 -0.008339 -0.705380 -0.610954 0.176203 -0.000133 0.002604 -0.051531 0.650072 -0.232588 0.000071 -0.001348 0.012820 0.629646 -0.404688 -0.000019 0.000359 -0.002942 0.022657 0.681219 0.000009 -0.000173 0.001385 -0.007656 0.494559 * p-type functions 19 3 1354707.0 200274.80 45452.310 13185.880 4532.6570 1769.6120 753.34270 343.27860 164.56650 81.886080 41.990790 21.998290 11.534090 5.9852400 3.1154600 1.5911500 0.7655080 0.3526135 0.1471390 0.000009 -0.000004 0.000001 0.000037 -0.000016 0.000005 0.000136 -0.000057 0.000018 0.000493 -0.000207 0.000066 0.001773 -0.000746 0.000239 0.006229 -0.002635 0.000846 0.020482 -0.008758 0.002816 0.059543 -0.025964 0.008373 0.145103 -0.065588 0.021261 0.272106 -0.128893 0.042097 0.350140 -0.175037 0.057737 0.250934 -0.082520 0.023900 0.076714 0.202348 -0.085441 0.007094 0.456954 -0.196815 0.000920 0.378113 -0.195126 -0.000035 0.105871 0.088855 0.000043 0.006184 0.476781 -0.000022 0.000513 0.486681 0.000006 -0.000125 0.120328 * d-type functions 12 1 1460.3780 408.20880 153.61230 66.613940 31.205520 15.425240 7.8089830 4.0017030 2.0494720 1.0104080 0.4266102 0.3612143 0.000208 0.001941 0.011062 0.042888 0.119940 0.237060 0.326223 0.310267 0.176732 0.047007 0.003185 -0.000080 ****************************************************************************** /Y.ANO-DK3.Tsuchiya.23s19p12d.5s3p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * YTTRIUM: Y * * ========== * * Reference state: * * The atomic ground state, Y(2D) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 39 * s-type functions 23 5 131963400 138897700 22983740. 4891679.0 1226286.0 352428.10 113277.20 39821.710 15100.880 5981.6070 2422.1700 1008.5020 433.41100 190.35410 81.634850 37.844500 17.520390 6.4452590 2.9570450 0.8332230 0.3748275 0.0681042 0.0278016 0.000008 -0.000003 -0.000001 -0.000000 0.000000 0.000032 -0.000010 -0.000004 -0.000002 0.000000 0.000100 -0.000033 -0.000014 -0.000005 0.000001 0.000275 -0.000091 -0.000037 -0.000014 0.000004 0.000696 -0.000229 -0.000095 -0.000035 0.000009 0.001637 -0.000540 -0.000223 -0.000082 0.000022 0.003727 -0.001233 -0.000511 -0.000188 0.000051 0.008354 -0.002785 -0.001150 -0.000424 0.000114 0.018923 -0.006370 -0.002652 -0.000976 0.000262 0.044957 -0.015494 -0.006414 -0.002366 0.000637 0.106698 -0.038295 -0.016120 -0.005940 0.001593 0.224977 -0.088915 -0.037412 -0.013854 0.003732 0.358243 -0.171740 -0.075713 -0.028069 0.007525 0.317358 -0.214059 -0.096621 -0.036415 0.009865 0.084587 0.053145 0.024721 0.010066 -0.002880 -0.003175 0.581195 0.434451 0.175314 -0.047360 0.002409 0.471977 0.445408 0.196260 -0.054688 -0.001064 0.053837 -0.584531 -0.339127 0.098761 0.000488 -0.007260 -0.701246 -0.636758 0.193272 -0.000189 0.002289 -0.053425 0.659080 -0.255339 0.000097 -0.001176 0.012385 0.640950 -0.413748 -0.000027 0.000305 -0.002790 0.024277 0.654548 0.000012 -0.000141 0.001256 -0.007519 0.530347 * p-type functions 19 3 1299060.0 203143.60 45573.760 13150.260 4547.0330 1768.6180 753.40070 343.32350 164.60610 81.856200 41.993430 22.021000 11.512510 5.9864180 3.1247030 1.5857970 0.7673454 0.3581026 0.1480713 0.000011 -0.000005 0.000002 0.000040 -0.000017 0.000006 0.000152 -0.000065 0.000022 0.000544 -0.000231 0.000078 0.001952 -0.000831 0.000280 0.006871 -0.002941 0.000989 0.022398 -0.009697 0.003268 0.064647 -0.028578 0.009656 0.155228 -0.071234 0.024223 0.284564 -0.137101 0.046962 0.349997 -0.177082 0.061324 0.234249 -0.062227 0.016640 0.065099 0.237983 -0.104945 0.004979 0.472729 -0.220733 0.000909 0.347794 -0.186663 -0.000135 0.081227 0.162713 0.000069 0.003266 0.527320 -0.000033 0.000528 0.421822 0.000008 -0.000125 0.078187 * d-type functions 12 2 1543.7870 435.94020 164.69150 71.474800 33.083220 15.905370 7.6937620 3.6991070 1.7065470 0.6463821 0.2325592 0.0763050 0.000214 -0.000044 0.001961 -0.000420 0.011073 -0.002307 0.043520 -0.009367 0.126770 -0.026820 0.261320 -0.057007 0.364117 -0.072239 0.319082 -0.059296 0.131082 0.095479 0.012272 0.364892 -0.000680 0.496603 0.000246 0.306601 ****************************************************************************** /Zr.ANO-DK3.Tsuchiya.23s19p12d.5s3p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * ZIRCONIUM: Zr * * ============= * * Reference state: * * The atomic ground state, Zr(3F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 40 * s-type functions 23 5 134094800 139863700 24062260. 5167485.0 1247794.0 345955.00 110695.80 39814.830 15286.390 6035.2230 2433.9590 1010.5550 433.16720 190.46440 80.050680 38.418340 18.113770 6.8791370 3.1906480 0.9345075 0.4191502 0.0763073 0.0302203 0.000009 -0.000003 -0.000001 -0.000000 0.000000 0.000034 -0.000011 -0.000005 -0.000002 0.000000 0.000103 -0.000034 -0.000014 -0.000005 0.000001 0.000290 -0.000096 -0.000040 -0.000015 0.000004 0.000766 -0.000253 -0.000106 -0.000040 0.000011 0.001825 -0.000604 -0.000252 -0.000095 0.000026 0.004029 -0.001340 -0.000559 -0.000211 0.000057 0.008760 -0.002932 -0.001221 -0.000462 0.000125 0.019960 -0.006763 -0.002837 -0.001072 0.000288 0.047738 -0.016530 -0.006904 -0.002617 0.000706 0.112555 -0.040813 -0.017309 -0.006548 0.001761 0.235273 -0.093971 -0.039957 -0.015213 0.004109 0.363720 -0.178983 -0.079655 -0.030319 0.008157 0.304531 -0.207209 -0.094915 -0.036888 0.010020 0.073868 0.087798 0.045269 0.018903 -0.005291 -0.005682 0.584307 0.450072 0.187038 -0.050768 0.003106 0.445069 0.424590 0.195042 -0.054641 -0.001359 0.050597 -0.591675 -0.359898 0.105461 0.000628 -0.006321 -0.698995 -0.656219 0.201655 -0.000238 0.001958 -0.054166 0.677956 -0.271288 0.000119 -0.000986 0.011549 0.640938 -0.405151 -0.000031 0.000244 -0.002524 0.023481 0.658111 0.000014 -0.000111 0.001107 -0.006993 0.527484 * p-type functions 19 3 1387392.0 205339.90 46117.600 13285.410 4562.9230 1776.9700 756.21980 343.52750 164.45350 81.916590 42.050510 21.953340 11.350420 5.8758880 3.0823000 1.5989270 0.7989074 0.3832636 0.1604586 0.000011 -0.000005 0.000002 0.000045 -0.000019 0.000007 0.000166 -0.000071 0.000025 0.000598 -0.000257 0.000089 0.002143 -0.000922 0.000321 0.007481 -0.003238 0.001127 0.024395 -0.010685 0.003732 0.070225 -0.031453 0.011005 0.165595 -0.077097 0.027194 0.295162 -0.144541 0.051301 0.349543 -0.178325 0.064095 0.218719 -0.038857 0.006931 0.053531 0.283275 -0.129172 0.003123 0.486555 -0.245530 0.000836 0.301403 -0.157104 -0.000204 0.058958 0.224326 0.000084 0.002878 0.528301 -0.000040 0.000272 0.380332 0.000008 -0.000047 0.066243 * d-type functions 12 2 1447.2630 427.89390 164.86610 71.796700 33.226150 15.940230 7.6873630 3.6833530 1.6994100 0.6934432 0.2666375 0.0935927 0.000272 -0.000065 0.002275 -0.000551 0.012498 -0.003005 0.048557 -0.011852 0.139421 -0.034104 0.278883 -0.068632 0.374070 -0.086042 0.300464 -0.051340 0.102226 0.136383 0.007321 0.400568 0.000144 0.470572 0.000025 0.237956 ****************************************************************************** /Nb.ANO-DK3.Tsuchiya.23s19p12d.5s3p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * NIOBIUM: Nb * * =========== * * Reference state: * * The atomic ground state, Nb(6D) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 41 * s-type functions 23 5 120488900 133095700 22693030. 4844032.0 1231780.0 357545.60 116039.00 40530.320 15164.950 6023.3870 2480.7450 1053.7180 461.35570 206.09060 89.853290 42.087470 19.679130 7.3422450 3.4436180 1.0401380 0.4595915 0.0919346 0.0367572 0.000010 -0.000003 -0.000001 -0.000000 0.000000 0.000038 -0.000013 -0.000005 -0.000002 0.000000 0.000118 -0.000039 -0.000016 -0.000006 0.000002 0.000322 -0.000107 -0.000045 -0.000017 0.000005 0.000799 -0.000265 -0.000111 -0.000043 0.000011 0.001859 -0.000618 -0.000259 -0.000100 0.000027 0.004203 -0.001403 -0.000590 -0.000227 0.000060 0.009586 -0.003226 -0.001354 -0.000521 0.000139 0.021687 -0.007381 -0.003120 -0.001200 0.000319 0.049863 -0.017406 -0.007321 -0.002826 0.000754 0.113727 -0.041464 -0.017742 -0.006827 0.001813 0.230873 -0.093039 -0.039811 -0.015439 0.004124 0.354249 -0.173661 -0.077994 -0.030192 0.008013 0.304453 -0.207931 -0.095464 -0.037816 0.010173 0.080304 0.063736 0.031425 0.013689 -0.003884 -0.002731 0.577370 0.442693 0.186983 -0.050038 0.002203 0.468142 0.448215 0.210127 -0.058382 -0.001005 0.055604 -0.587434 -0.370100 0.108181 0.000476 -0.008053 -0.701943 -0.671373 0.203361 -0.000183 0.002487 -0.055209 0.683969 -0.269189 0.000092 -0.001232 0.011007 0.647281 -0.408798 -0.000026 0.000329 -0.002628 0.026817 0.532639 0.000011 -0.000149 0.001145 -0.011105 0.652544 * p-type functions 19 3 1401055.0 206859.50 46261.660 13279.500 4563.0500 1778.8680 756.47780 343.51450 164.44320 81.906870 42.071980 21.935600 11.307980 5.8706910 3.0900680 1.5989740 0.8000894 0.3837220 0.1616300 0.000013 -0.000005 0.000002 0.000049 -0.000021 0.000008 0.000183 -0.000079 0.000028 0.000660 -0.000286 0.000102 0.002351 -0.001022 0.000363 0.008178 -0.003576 0.001270 0.026583 -0.011773 0.004196 0.075821 -0.034387 0.012282 0.176112 -0.083125 0.029947 0.305931 -0.152190 0.055202 0.346435 -0.177401 0.065030 0.202129 -0.014022 -0.003864 0.044089 0.319587 -0.149605 0.002305 0.488806 -0.260699 0.000604 0.266251 -0.122820 -0.000143 0.043750 0.290739 0.000039 0.001930 0.527947 -0.000027 0.000293 0.328901 0.000003 0.000008 0.053490 * d-type functions 12 2 4107.5270 634.23290 200.07400 78.968190 34.695890 16.146580 7.5898300 3.5362290 1.5431620 0.6318598 0.2396888 0.0834149 0.000075 -0.000018 0.001511 -0.000364 0.011334 -0.002754 0.050790 -0.012362 0.152268 -0.037721 0.303533 -0.074127 0.392909 -0.091737 0.279169 -0.026141 0.068568 0.199684 0.001069 0.418493 0.000848 0.429001 -0.000200 0.212334 ****************************************************************************** /Mo.ANO-DK3.Tsuchiya.23s19p12d.5s3p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * MOLYBDENUM: Mo * * ============== * * Reference state: * * The atomic ground state, Mo(7S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 42 * s-type functions 23 5 144230100 138509200 22330600. 4876005.0 1246686.0 359225.70 114565.30 40226.950 15261.270 6067.0310 2490.0560 1053.1300 461.45170 207.21980 90.051400 43.063020 20.396970 7.8512320 3.7185010 1.1453490 0.5053708 0.1045646 0.0405249 0.000010 -0.000003 -0.000001 -0.000001 0.000000 0.000042 -0.000014 -0.000006 -0.000002 0.000001 0.000129 -0.000043 -0.000018 -0.000007 0.000002 0.000341 -0.000113 -0.000048 -0.000019 0.000005 0.000853 -0.000284 -0.000120 -0.000047 0.000013 0.002018 -0.000674 -0.000285 -0.000112 0.000030 0.004593 -0.001541 -0.000653 -0.000256 0.000068 0.010156 -0.003433 -0.001451 -0.000570 0.000151 0.022810 -0.007809 -0.003323 -0.001302 0.000345 0.052686 -0.018490 -0.007839 -0.003084 0.000819 0.119984 -0.044169 -0.019028 -0.007458 0.001974 0.240819 -0.098197 -0.042420 -0.016776 0.004464 0.356709 -0.179048 -0.081136 -0.031994 0.008464 0.291360 -0.200840 -0.093345 -0.037820 0.010143 0.071277 0.090210 0.047594 0.020993 -0.005837 -0.003555 0.580469 0.455632 0.196533 -0.052478 0.002299 0.447364 0.433304 0.209691 -0.058218 -0.001042 0.052635 -0.587332 -0.383155 0.111949 0.000484 -0.006824 -0.706029 -0.687037 0.208603 -0.000183 0.002044 -0.058036 0.694260 -0.277436 0.000090 -0.001013 0.011398 0.648226 -0.402679 -0.000025 0.000264 -0.002739 0.026922 0.498057 0.000011 -0.000117 0.001149 -0.011220 0.687114 * p-type functions 19 3 1417679.0 208654.40 46272.250 13257.510 4567.9090 1779.3670 756.73640 343.51670 164.40970 81.916810 42.078780 21.905730 11.282450 5.8690470 3.0850870 1.5987470 0.8007324 0.3855266 0.1618728 0.000014 -0.000006 0.000002 0.000054 -0.000024 0.000009 0.000202 -0.000088 0.000032 0.000725 -0.000317 0.000115 0.002573 -0.001129 0.000411 0.008934 -0.003947 0.001435 0.028864 -0.012918 0.004714 0.081699 -0.037504 0.013725 0.186668 -0.089265 0.032948 0.315941 -0.159590 0.059386 0.342074 -0.174854 0.065441 0.185416 0.012519 -0.015881 0.035977 0.353892 -0.171467 0.001821 0.486872 -0.274504 0.000371 0.231173 -0.080030 -0.000077 0.031238 0.353179 -0.000002 0.001712 0.521033 -0.000012 0.000161 0.278936 -0.000001 0.000036 0.038514 * d-type functions 12 2 2582.4030 693.01570 255.47700 107.51770 48.475040 22.831430 10.889790 5.1458410 2.3426160 0.9405941 0.3501385 0.1172785 0.000126 -0.000032 0.001185 -0.000312 0.007260 -0.001879 0.032324 -0.008562 0.105489 -0.027789 0.243220 -0.065604 0.374105 -0.094596 0.349127 -0.076220 0.134711 0.121417 0.010391 0.409450 0.000083 0.471293 -0.000017 0.255468 ****************************************************************************** /Tc.ANO-DK3.Tsuchiya.23s19p12d.5s3p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * TECHNETIUM: Tc * * ============== * * Reference state: * * The atomic ground state, Tc(6S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 43 * s-type functions 23 5 124349300 138111100 24017470. 5118604.0 1264273.0 355014.40 112818.90 40070.800 15361.320 6123.2190 2496.4180 1053.3090 462.70880 208.61440 89.548210 43.508730 20.912250 8.2327740 3.9356300 1.2646690 0.5578472 0.0982314 0.0371947 0.000012 -0.000004 -0.000002 0.000001 0.000000 0.000043 -0.000014 -0.000006 0.000002 0.000001 0.000131 -0.000044 -0.000019 0.000007 0.000002 0.000364 -0.000121 -0.000052 0.000021 0.000005 0.000930 -0.000311 -0.000132 0.000053 0.000014 0.002215 -0.000743 -0.000316 0.000127 0.000033 0.004945 -0.001667 -0.000711 0.000284 0.000074 0.010751 -0.003650 -0.001554 0.000623 0.000163 0.023916 -0.008235 -0.003528 0.001410 0.000368 0.055575 -0.019613 -0.008378 0.003364 0.000881 0.126701 -0.047081 -0.020421 0.008168 0.002132 0.249556 -0.103006 -0.044896 0.018133 0.004757 0.358008 -0.183762 -0.084021 0.033809 0.008826 0.279306 -0.193428 -0.090922 0.037727 0.009972 0.063337 0.122945 0.068206 -0.030564 -0.008271 -0.004835 0.585457 0.473745 -0.209312 -0.055256 0.002633 0.419024 0.406227 -0.203779 -0.055889 -0.001196 0.048427 -0.610344 0.415388 0.119962 0.000561 -0.006148 -0.688341 0.692679 0.208860 -0.000206 0.001793 -0.055634 -0.712874 -0.285985 0.000094 -0.000835 0.009146 -0.651053 -0.380872 -0.000023 0.000188 -0.001929 -0.022617 0.627788 0.000010 -0.000083 0.000825 0.006622 0.548417 * p-type functions 19 3 1489035.0 208904.60 46094.990 13270.960 4567.7710 1780.1040 757.07620 343.47160 164.37730 81.935420 42.071990 21.870090 11.268760 5.8655530 3.0540780 1.5960470 0.8038418 0.3914003 0.1600801 0.000015 -0.000006 0.000002 0.000061 -0.000027 0.000010 0.000222 -0.000098 0.000037 0.000794 -0.000351 0.000131 0.002817 -0.001247 0.000467 0.009723 -0.004337 0.001624 0.031282 -0.014141 0.005309 0.087820 -0.040788 0.015377 0.197223 -0.095504 0.036285 0.325221 -0.166717 0.064012 0.336353 -0.170552 0.065278 0.168905 0.040509 -0.029163 0.029139 0.386059 -0.195754 0.001495 0.481331 -0.286063 0.000186 0.197102 -0.028466 -0.000033 0.020163 0.411158 -0.000028 0.002122 0.508837 -0.000002 -0.000163 0.226154 -0.000002 0.000058 0.023429 * d-type functions 12 2 2486.2630 699.15450 257.62490 108.21340 48.710460 22.919570 10.901540 5.1600500 2.3518510 1.0005040 0.4017000 0.1468878 0.000147 -0.000043 0.001314 -0.000385 0.008095 -0.002374 0.035801 -0.010592 0.115221 -0.034419 0.259286 -0.077958 0.384546 -0.110209 0.331792 -0.069140 0.111502 0.163651 0.006476 0.438716 0.000675 0.441804 -0.000174 0.183969 ****************************************************************************** /Ru.ANO-DK3.Tsuchiya.23s19p12d.5s3p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * RUTHENIUM: Ru * * ============= * * Reference state: * * The atomic ground state, Ru(5F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 44 * s-type functions 23 5 229130100 197712300 28318070. 5266788.0 1210325.0 335689.60 109826.00 40551.990 15648.690 6165.8910 2503.6550 1054.6390 462.89790 209.38660 89.720430 44.210660 21.566910 8.6659190 4.1780060 1.3606990 0.5889369 0.1008607 0.0382572 0.000009 -0.000003 -0.000001 0.000000 0.000000 0.000040 -0.000013 -0.000006 0.000002 0.000001 0.000138 -0.000046 -0.000020 0.000008 0.000002 0.000411 -0.000138 -0.000059 0.000024 0.000006 0.001063 -0.000357 -0.000153 0.000062 0.000015 0.002454 -0.000826 -0.000354 0.000143 0.000036 0.005195 -0.001759 -0.000755 0.000305 0.000076 0.011045 -0.003766 -0.001613 0.000653 0.000163 0.025239 -0.008739 -0.003766 0.001519 0.000379 0.058956 -0.020923 -0.009001 0.003652 0.000913 0.132857 -0.049836 -0.021753 0.008783 0.002189 0.258699 -0.108070 -0.047498 0.019400 0.004859 0.359910 -0.189060 -0.087184 0.035401 0.008825 0.265410 -0.184030 -0.087393 0.036853 0.009306 0.055524 0.153940 0.088545 -0.040303 -0.010369 -0.004930 0.583854 0.485385 -0.216622 -0.054643 0.002512 0.396712 0.383807 -0.198430 -0.052086 -0.001128 0.045526 -0.623639 0.439662 0.121463 0.000517 -0.005558 -0.679188 0.686466 0.197842 -0.000182 0.001545 -0.054167 -0.736714 -0.284259 0.000080 -0.000705 0.008253 -0.636366 -0.349233 -0.000019 0.000156 -0.001799 -0.022699 0.577925 0.000009 -0.000073 0.000791 0.008369 0.584389 * p-type functions 19 3 1443330.0 213235.60 47725.040 13679.820 4666.0900 1802.1720 761.56340 344.43780 164.31970 81.639640 41.899800 21.801870 11.271930 5.8951390 3.0621530 1.5467710 0.7495848 0.3481936 0.1316125 0.000016 -0.000007 0.000003 0.000064 -0.000028 0.000011 0.000235 -0.000104 0.000039 0.000843 -0.000375 0.000142 0.003014 -0.001346 0.000509 0.010479 -0.004717 0.001787 0.033725 -0.015388 0.005844 0.094059 -0.044171 0.016857 0.209057 -0.102458 0.039408 0.335321 -0.174357 0.067854 0.327674 -0.163295 0.062747 0.152002 0.070108 -0.043529 0.023381 0.413531 -0.215234 0.001306 0.467186 -0.287210 0.000033 0.169254 0.032760 0.000000 0.014081 0.482646 -0.000047 0.001373 0.483463 0.000004 -0.000018 0.160936 -0.000003 0.000053 0.010938 * d-type functions 12 2 2476.7220 704.06480 259.24870 108.35570 48.746220 22.967270 10.909350 5.1754750 2.3616410 1.0098370 0.3906571 0.1332606 0.000167 -0.000048 0.001464 -0.000422 0.009050 -0.002633 0.039906 -0.011630 0.125591 -0.037248 0.274765 -0.081153 0.392723 -0.111373 0.311903 -0.051534 0.091489 0.191838 0.004335 0.431059 0.000840 0.427268 -0.000045 0.203804 ****************************************************************************** /Rh.ANO-DK3.Tsuchiya.23s19p12d.5s3p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * RHODIUM: Rh * * =========== * * Reference state: * * The atomic ground state, Rh(4F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 45 * s-type functions 23 5 929378000 111008700 21009460. 4741742.0 1217083.0 353110.60 114240.40 40087.940 15046.750 6028.1360 2538.8120 1115.3500 509.96930 239.63150 111.99460 54.147270 26.319690 11.329400 5.8670960 2.9761080 1.2411080 0.5309223 0.0628862 0.000017 -0.000006 -0.000002 0.000001 0.000000 0.000056 -0.000019 -0.000008 0.000003 0.000001 0.000160 -0.000054 -0.000023 0.000010 0.000002 0.000431 -0.000145 -0.000063 0.000026 0.000006 0.001073 -0.000362 -0.000156 0.000064 0.000015 0.002489 -0.000842 -0.000363 0.000148 0.000036 0.005572 -0.001894 -0.000817 0.000334 0.000080 0.012490 -0.004284 -0.001848 0.000755 0.000181 0.027853 -0.009691 -0.004195 0.001720 0.000409 0.061496 -0.022028 -0.009556 0.003905 0.000939 0.131231 -0.049489 -0.021691 0.008930 0.002115 0.244204 -0.102673 -0.045541 0.018647 0.004517 0.339414 -0.174602 -0.080403 0.033546 0.007866 0.271875 -0.189370 -0.091047 0.037459 0.009398 0.075363 0.061370 0.036023 -0.014092 -0.004444 0.000070 0.533269 0.405872 -0.189226 -0.043587 0.001584 0.487849 0.505744 -0.240696 -0.064114 -0.000968 0.087151 -0.313884 0.170385 0.056335 0.000623 -0.011182 -0.788113 0.784956 0.187547 -0.000308 0.004802 -0.228998 0.121030 0.071000 0.000109 -0.001531 -0.011175 -0.907847 -0.415219 -0.000030 0.000361 0.000048 -0.434382 -0.157019 0.000003 -0.000037 -0.000079 -0.003979 1.082786 * p-type functions 19 3 1449196.0 213904.40 47865.170 13702.280 4669.2180 1803.0640 761.82740 344.43200 164.28620 81.623130 41.887000 21.782800 11.270260 5.9078050 3.0532760 1.5414790 0.7477805 0.3479006 0.1279030 0.000018 -0.000008 0.000003 0.000070 -0.000031 0.000012 0.000256 -0.000115 0.000044 0.000920 -0.000413 0.000159 0.003283 -0.001478 0.000568 0.011365 -0.005159 0.001987 0.036395 -0.016761 0.006469 0.100579 -0.047736 0.018535 0.219842 -0.109027 0.042635 0.342904 -0.180590 0.071617 0.318778 -0.155083 0.059799 0.137032 0.099936 -0.058459 0.018709 0.440250 -0.237854 0.001112 0.449065 -0.282398 -0.000064 0.141812 0.094311 0.000015 0.009345 0.514647 -0.000055 0.001424 0.447721 0.000006 -0.000067 0.129564 -0.000004 0.000057 0.007584 * d-type functions 12 2 2733.3870 719.71690 262.81470 109.05680 48.689940 22.909960 10.963730 5.2380870 2.3729900 1.0239690 0.4046955 0.1414722 0.000170 -0.000051 0.001617 -0.000484 0.009943 -0.003019 0.044163 -0.013383 0.137986 -0.042778 0.289176 -0.088530 0.393508 -0.116149 0.293421 -0.035642 0.076351 0.229809 0.002395 0.437417 0.001080 0.398852 -0.000048 0.179956 ****************************************************************************** /Pd.ANO-DK3.Tsuchiya.23s19p12d.4s3p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * PALLADIUM: Pd * * ============= * * Reference state: * * The atomic ground state, Pd(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 46 * s-type functions 23 4 105146000 121776900 21652850. 4799803.0 1223708.0 352350.40 113695.70 40045.200 15077.210 6025.5250 2537.5220 1115.8770 509.51880 239.24080 110.51610 55.782290 28.003580 12.744070 6.9481750 3.6695430 1.7771000 0.8422393 0.3621442 0.000017 -0.000006 -0.000002 -0.000001 0.000058 -0.000020 -0.000008 -0.000003 0.000172 -0.000058 -0.000025 -0.000010 0.000461 -0.000156 -0.000068 -0.000028 0.001152 -0.000390 -0.000169 -0.000070 0.002679 -0.000910 -0.000394 -0.000162 0.005961 -0.002035 -0.000883 -0.000364 0.013228 -0.004556 -0.001977 -0.000814 0.029480 -0.010321 -0.004493 -0.001853 0.065059 -0.023433 -0.010227 -0.004216 0.137126 -0.052257 -0.023046 -0.009534 0.252224 -0.107199 -0.047897 -0.019825 0.342169 -0.180380 -0.083757 -0.035035 0.260468 -0.181153 -0.087941 -0.036889 0.066092 0.086515 0.051776 0.022163 -0.002003 0.518569 0.401626 0.187108 0.002339 0.471998 0.492228 0.240498 -0.001525 0.098423 -0.208940 -0.117653 0.001101 -0.011670 -0.765372 -0.681472 -0.000624 0.006299 -0.332920 -0.390780 0.000280 -0.002485 -0.025114 0.630669 -0.000103 0.000780 -0.001079 0.699573 0.000023 -0.000184 -0.000367 0.127398 * p-type functions 19 3 1451530.0 214303.60 47983.560 13714.470 4669.5630 1804.1900 761.89240 344.42840 164.27330 81.599440 41.887370 21.763920 11.271320 5.9225490 3.0323550 1.5370540 0.7460176 0.3439450 0.1275604 0.000019 -0.000009 0.000003 0.000077 -0.000034 0.000013 0.000279 -0.000126 0.000049 0.001004 -0.000454 0.000176 0.003568 -0.001619 0.000628 0.012299 -0.005628 0.002188 0.039220 -0.018225 0.007094 0.107238 -0.051411 0.020160 0.230661 -0.115723 0.045664 0.349439 -0.186169 0.074677 0.308650 -0.145092 0.055409 0.123181 0.130491 -0.073690 0.014689 0.463637 -0.258740 0.001069 0.427348 -0.267708 -0.000201 0.117734 0.156071 0.000060 0.005444 0.526915 -0.000078 0.001717 0.411199 0.000013 -0.000144 0.112268 -0.000006 0.000098 0.006431 * d-type functions 12 2 2664.8900 747.02560 276.79020 116.33710 52.053150 24.191290 11.336250 5.3113190 2.3214210 0.9717856 0.3694030 0.1226713 0.000189 -0.000057 0.001655 -0.000487 0.009911 -0.002990 0.043314 -0.012937 0.138082 -0.042519 0.299779 -0.090450 0.408429 -0.119808 0.283284 -0.016242 0.061244 0.271632 0.000054 0.440155 0.000849 0.373254 -0.000221 0.176929 ****************************************************************************** /Ag.ANO-DK3.Tsuchiya.23s19p12d.5s3p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * SILVER: Ag * * ========== * * Reference state: * * The atomic ground state, Ag(2S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 47 * s-type functions 23 5 142420400 134342400 22221430. 4761214.0 1202956.0 349771.70 112585.30 39349.020 14864.230 5987.0730 2547.7870 1135.4020 519.99390 241.07010 107.12390 52.477240 25.543550 10.282920 5.0324640 1.7024590 0.7207209 0.1048582 0.0380606 0.000015 -0.000005 -0.000002 0.000001 0.000000 0.000062 -0.000021 -0.000009 0.000004 0.000001 0.000187 -0.000063 -0.000028 0.000012 0.000003 0.000505 -0.000171 -0.000075 0.000031 0.000007 0.001243 -0.000423 -0.000184 0.000077 0.000017 0.002861 -0.000976 -0.000425 0.000178 0.000040 0.006455 -0.002214 -0.000966 0.000403 0.000090 0.014303 -0.004951 -0.002158 0.000903 0.000202 0.031366 -0.011043 -0.004844 0.002020 0.000450 0.068303 -0.024779 -0.010848 0.004557 0.001021 0.140516 -0.053995 -0.024051 0.010025 0.002231 0.253708 -0.108937 -0.048731 0.020646 0.004638 0.344969 -0.184095 -0.086756 0.036327 0.008071 0.257395 -0.179624 -0.086379 0.037963 0.008640 0.056807 0.142124 0.082804 -0.039740 -0.009307 -0.003120 0.580461 0.489886 -0.226094 -0.050746 0.001858 0.409964 0.403837 -0.219353 -0.052132 -0.000860 0.048162 -0.632991 0.481560 0.121226 0.000394 -0.006248 -0.677693 0.702747 0.178481 -0.000132 0.001594 -0.054020 -0.781205 -0.265601 0.000053 -0.000667 0.006584 -0.621132 -0.298204 -0.000011 0.000130 -0.001335 -0.018734 0.570872 0.000005 -0.000059 0.000597 0.005760 0.567955 * p-type functions 19 3 1489043.0 217383.20 48066.390 13707.480 4678.8940 1806.3970 761.82950 344.42310 164.25420 81.556610 41.824890 21.705110 11.276060 5.9409340 3.0334390 1.5312680 0.7457042 0.3443097 0.1169211 0.000021 -0.000010 0.000004 0.000083 -0.000038 0.000015 0.000306 -0.000139 0.000055 0.001092 -0.000497 0.000196 0.003859 -0.001764 0.000696 0.013301 -0.006135 0.002430 0.042185 -0.019770 0.007838 0.114085 -0.055238 0.022083 0.241402 -0.122451 0.049243 0.355338 -0.191400 0.078369 0.297906 -0.133090 0.050480 0.109522 0.162028 -0.090945 0.011424 0.483038 -0.281236 0.000969 0.401339 -0.249579 -0.000257 0.097279 0.217698 0.000066 0.003803 0.544141 -0.000079 0.001436 0.373951 0.000014 -0.000115 0.083460 -0.000005 0.000054 0.003390 * d-type functions 12 2 4187.0490 934.14040 303.65240 119.14120 51.770470 23.949640 11.350170 5.4371820 2.4745750 1.0762690 0.4347753 0.1573258 0.000108 -0.000034 0.001374 -0.000436 0.010201 -0.003288 0.048375 -0.015562 0.153283 -0.050594 0.315044 -0.102085 0.401689 -0.124393 0.258346 -0.001915 0.054664 0.287506 0.000845 0.441980 0.000579 0.354612 -0.000144 0.141146 ****************************************************************************** /Cd.ANO-DK3.Tsuchiya.23s19p12d.5s3p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * CADMIUM: Cd * * =========== * * Reference state: * * The atomic ground state, Cd(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 48 * s-type functions 23 5 128092500 133861400 22228700. 4766142.0 1210827.0 349789.40 112159.30 39264.130 14832.470 5971.2030 2542.9580 1133.7150 522.54220 245.84200 111.78690 55.120140 26.937380 11.171210 5.4914430 1.8634490 0.8099095 0.1324990 0.0472624 0.000017 -0.000006 -0.000003 0.000001 0.000000 0.000066 -0.000022 -0.000010 0.000004 0.000001 0.000201 -0.000068 -0.000030 0.000013 0.000003 0.000538 -0.000183 -0.000080 0.000034 0.000008 0.001324 -0.000452 -0.000198 0.000084 0.000021 0.003071 -0.001052 -0.000460 0.000195 0.000048 0.006889 -0.002373 -0.001041 0.000441 0.000109 0.015180 -0.005281 -0.002314 0.000983 0.000244 0.033265 -0.011776 -0.005191 0.002196 0.000543 0.071966 -0.026287 -0.011583 0.004935 0.001225 0.146830 -0.056940 -0.025491 0.010786 0.002664 0.260672 -0.113466 -0.051170 0.021996 0.005471 0.340765 -0.185054 -0.087787 0.037314 0.009212 0.244575 -0.171147 -0.083037 0.037123 0.009338 0.053881 0.145993 0.086830 -0.042217 -0.010845 -0.002396 0.575951 0.487005 -0.228595 -0.057222 0.001608 0.410448 0.414532 -0.228746 -0.059933 -0.000766 0.049104 -0.600882 0.462107 0.128533 0.000338 -0.005197 -0.710498 0.743635 0.213061 -0.000116 0.001294 -0.062819 -0.752712 -0.293024 0.000049 -0.000578 0.008558 -0.651813 -0.345476 -0.000010 0.000112 -0.001731 -0.020872 0.613440 0.000005 -0.000049 0.000728 0.006166 0.550004 * p-type functions 19 3 1530484.0 219471.90 48278.480 13669.230 4679.8230 1819.0400 765.29890 343.95300 163.61800 81.452670 41.792720 21.451780 11.152850 5.9224060 3.1043460 1.5588140 0.7456575 0.3133162 0.0028825 0.000022 -0.000010 0.000004 0.000090 -0.000041 0.000017 0.000333 -0.000152 0.000061 0.001195 -0.000548 0.000220 0.004145 -0.001908 0.000767 0.014175 -0.006588 0.002658 0.045274 -0.021388 0.008640 0.122149 -0.059729 0.024336 0.252573 -0.129494 0.053108 0.358183 -0.195021 0.081437 0.287622 -0.119198 0.044529 0.097267 0.200030 -0.113324 0.007353 0.501041 -0.303806 0.001413 0.362499 -0.222007 -0.000584 0.080142 0.263076 0.000187 0.004600 0.562414 -0.000112 0.000706 0.350106 0.000018 0.000029 0.053337 -0.000000 -0.000000 0.000050 * d-type functions 12 2 3154.2040 881.02700 324.49920 137.02920 61.981320 29.315420 14.046690 6.7551600 3.1051580 1.3765190 0.5698943 0.2108927 0.000173 -0.000059 0.001508 -0.000507 0.009033 -0.003087 0.039385 -0.013414 0.125629 -0.043864 0.277785 -0.096083 0.397201 -0.133143 0.305793 -0.045014 0.082638 0.247422 0.002508 0.451491 0.000860 0.379983 -0.000220 0.144381 ****************************************************************************** /In.ANO-DK3.Tsuchiya.23s19p12d.5s4p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * INDIUM: In * * ========== * * Reference state: * * The atomic ground state, In(2P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 49 * s-type functions 23 5 130987800 134767200 22385440. 4789610.0 1210639.0 349321.70 112120.90 39228.990 14810.670 5965.7590 2540.6890 1133.3360 522.20260 245.66030 111.54350 55.455420 27.427970 11.668550 5.7753090 2.0480420 0.9077927 0.1679998 0.0622797 0.000018 -0.000006 -0.000003 0.000001 0.000000 0.000071 -0.000024 -0.000011 0.000005 0.000001 0.000215 -0.000073 -0.000032 0.000014 0.000004 0.000576 -0.000197 -0.000087 0.000037 0.000010 0.001417 -0.000486 -0.000214 0.000092 0.000025 0.003274 -0.001126 -0.000495 0.000213 0.000059 0.007322 -0.002533 -0.001116 0.000479 0.000133 0.016121 -0.005634 -0.002482 0.001068 0.000297 0.035158 -0.012519 -0.005544 0.002378 0.000661 0.075641 -0.027807 -0.012325 0.005321 0.001483 0.153045 -0.059932 -0.026966 0.011572 0.003213 0.267760 -0.118021 -0.053631 0.023363 0.006526 0.341230 -0.189262 -0.090376 0.038990 0.010824 0.232088 -0.161107 -0.078921 0.035830 0.010123 0.046455 0.178074 0.109472 -0.053456 -0.015348 -0.002297 0.577987 0.501320 -0.240093 -0.067721 0.001394 0.383588 0.387184 -0.219246 -0.064794 -0.000667 0.044540 -0.619889 0.488106 0.153309 0.000289 -0.004313 -0.694947 0.748047 0.243307 -0.000101 0.001092 -0.063442 -0.732217 -0.324118 0.000044 -0.000510 0.007831 -0.684096 -0.416926 -0.000010 0.000103 -0.001680 -0.024594 0.673201 0.000004 -0.000044 0.000690 0.006767 0.521883 * p-type functions 19 4 1483518.0 219265.50 48768.660 13830.440 4711.2640 1833.0070 782.05490 355.33830 168.28210 82.127020 40.882440 20.046560 10.011930 5.0461630 2.4150960 1.1175090 0.4895068 0.1395435 0.0444441 0.000025 -0.000011 0.000005 0.000001 0.000097 -0.000045 0.000018 0.000004 0.000357 -0.000164 0.000067 0.000013 0.001280 -0.000591 0.000242 0.000048 0.004468 -0.002070 0.000847 0.000168 0.014953 -0.007001 0.002882 0.000579 0.046160 -0.021959 0.009022 0.001787 0.123694 -0.060966 0.025354 0.005108 0.261404 -0.135064 0.056339 0.011150 0.374585 -0.205818 0.087904 0.017926 0.283604 -0.100621 0.034669 0.006032 0.077754 0.289261 -0.164182 -0.032611 0.002233 0.554715 -0.364013 -0.081090 0.001288 0.272031 -0.078182 -0.004528 -0.000636 0.028760 0.521331 0.122500 0.000204 0.001149 0.532451 0.176707 -0.000093 0.000153 0.130706 -0.051543 0.000023 -0.000001 0.003186 -0.554945 -0.000007 -0.000005 0.000070 -0.535327 * d-type functions 12 2 3946.8670 1011.8900 342.35370 138.16580 61.665420 29.300080 14.248400 6.9975390 3.3209260 1.5117360 0.6494800 0.2523369 0.000133 -0.000047 0.001392 -0.000494 0.009681 -0.003476 0.043970 -0.015807 0.136998 -0.050389 0.287692 -0.104826 0.391573 -0.137019 0.287586 -0.036476 0.077567 0.257497 0.003363 0.455345 0.000575 0.367831 -0.000143 0.122494 ****************************************************************************** /Sn.ANO-DK3.Tsuchiya.23s19p12d.5s4p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * TIN: Sn * * ======= * * Reference state: * * The atomic ground state, Sn(3P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 50 * s-type functions 23 5 134328800 138514200 22415860. 4777382.0 1210921.0 349157.10 112121.60 39180.990 14787.450 5962.9570 2540.4210 1130.9210 522.62180 247.50390 111.72140 55.480780 27.527550 11.957690 5.9659470 2.2137980 0.9963783 0.2058560 0.0779178 0.000019 -0.000007 -0.000003 0.000001 -0.000000 0.000075 -0.000026 -0.000011 0.000005 -0.000002 0.000232 -0.000080 -0.000035 0.000015 -0.000005 0.000615 -0.000211 -0.000093 0.000041 -0.000012 0.001512 -0.000520 -0.000230 0.000100 -0.000030 0.003486 -0.001204 -0.000532 0.000232 -0.000069 0.007777 -0.002703 -0.001197 0.000520 -0.000156 0.017105 -0.006006 -0.002659 0.001159 -0.000348 0.037119 -0.013293 -0.005916 0.002572 -0.000771 0.079241 -0.029325 -0.013066 0.005715 -0.001718 0.159565 -0.063073 -0.028536 0.012412 -0.003720 0.275186 -0.122942 -0.056237 0.024829 -0.007477 0.337876 -0.191131 -0.091986 0.040237 -0.012067 0.220441 -0.150784 -0.074200 0.034237 -0.010416 0.041640 0.209288 0.131895 -0.065019 0.020030 -0.002775 0.586435 0.524077 -0.256101 0.078289 0.001545 0.351802 0.347261 -0.203188 0.064931 -0.000775 0.037129 -0.661427 0.538888 -0.183365 0.000354 -0.003148 -0.657399 0.728757 -0.258926 -0.000130 0.000764 -0.060085 -0.738490 0.358018 0.000055 -0.000387 0.006554 -0.693419 0.466819 -0.000013 0.000079 -0.001488 -0.026083 -0.700101 0.000005 -0.000032 0.000593 0.006431 -0.524102 * p-type functions 19 4 1554713.0 222685.20 48836.280 13824.970 4700.4290 1831.6950 782.88450 355.50190 168.34000 82.183830 40.912480 20.014470 10.006760 5.0146660 2.4031970 1.1036420 0.4581794 0.1630945 0.0567559 0.000026 -0.000012 -0.000005 0.000001 0.000106 -0.000049 -0.000020 0.000005 0.000389 -0.000180 -0.000075 0.000017 0.001390 -0.000646 -0.000269 0.000063 0.004844 -0.002259 -0.000941 0.000220 0.016047 -0.007567 -0.003170 0.000744 0.049279 -0.023625 -0.009891 0.002306 0.130905 -0.065108 -0.027569 0.006488 0.271583 -0.141747 -0.060309 0.014074 0.376883 -0.208642 -0.090684 0.021524 0.270164 -0.082192 -0.025984 0.005331 0.067945 0.324198 0.189066 -0.045388 0.001284 0.554891 0.376692 -0.097003 0.001138 0.239644 0.022421 0.007557 -0.000593 0.020575 -0.571687 0.168834 0.000183 0.001445 -0.502737 0.193561 -0.000089 -0.000103 -0.086796 -0.105836 0.000030 0.000057 0.000906 -0.600123 -0.000009 -0.000024 -0.000940 -0.451332 * d-type functions 12 2 2998.1590 841.31040 317.74710 138.90840 65.247370 32.196210 16.222610 8.1605430 3.9382840 1.8140800 0.7877425 0.3085579 0.000239 -0.000089 0.002019 -0.000750 0.011141 -0.004180 0.044034 -0.016569 0.129484 -0.049745 0.265639 -0.101486 0.372760 -0.137369 0.307720 -0.061998 0.099094 0.225933 0.005976 0.462672 0.000647 0.388359 -0.000167 0.122829 ****************************************************************************** /Sb.ANO-DK3.Tsuchiya.23s19p12d.5s4p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * ANTIMONY: Sb * * ============ * * Reference state: * * The atomic ground state, Sb(4S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 51 * s-type functions 23 5 131920500 136306300 22598840. 4816904.0 1213934.0 348858.20 111634.90 39026.160 14750.000 5953.6340 2539.3930 1131.7840 523.56350 248.35160 111.86190 55.841460 28.008870 12.643170 6.3499160 2.4099320 1.1048950 0.2415808 0.0927345 0.000021 -0.000007 -0.000003 0.000001 -0.000000 0.000081 -0.000028 -0.000012 0.000005 -0.000002 0.000245 -0.000084 -0.000037 0.000017 -0.000005 0.000656 -0.000226 -0.000100 0.000044 -0.000014 0.001613 -0.000558 -0.000247 0.000109 -0.000035 0.003723 -0.001291 -0.000573 0.000253 -0.000080 0.008292 -0.002895 -0.001287 0.000567 -0.000180 0.018122 -0.006393 -0.002845 0.001256 -0.000399 0.039151 -0.014103 -0.006304 0.002776 -0.000881 0.083054 -0.030936 -0.013863 0.006140 -0.001951 0.165602 -0.066109 -0.030041 0.013242 -0.004201 0.281282 -0.127225 -0.058647 0.026220 -0.008346 0.336053 -0.193920 -0.093811 0.041617 -0.013222 0.208808 -0.139121 -0.069180 0.032379 -0.010392 0.036297 0.239990 0.156214 -0.077730 0.025222 -0.002651 0.584109 0.532800 -0.265465 0.086242 0.001424 0.326399 0.322776 -0.194108 0.065584 -0.000726 0.033746 -0.659235 0.546899 -0.197025 0.000320 -0.002102 -0.661287 0.746549 -0.283963 -0.000117 0.000477 -0.064030 -0.717416 0.374319 0.000051 -0.000286 0.006814 -0.721949 0.516829 -0.000012 0.000057 -0.001525 -0.029326 -0.730239 0.000005 -0.000022 0.000602 0.006846 -0.516985 * p-type functions 19 4 1591379.0 229253.50 49011.810 13697.750 4690.2410 1833.5570 782.94770 355.69870 168.46870 82.240830 40.923930 20.006210 10.007870 4.9749960 2.4005970 1.1009880 0.4132788 0.1710224 0.0649361 0.000028 -0.000013 -0.000005 0.000001 0.000113 -0.000053 -0.000022 0.000006 0.000428 -0.000199 -0.000084 0.000022 0.001519 -0.000710 -0.000301 0.000078 0.005200 -0.002441 -0.001035 0.000268 0.017218 -0.008174 -0.003481 0.000903 0.052613 -0.025418 -0.010840 0.002810 0.138048 -0.069259 -0.029826 0.007750 0.281559 -0.148438 -0.064412 0.016740 0.378373 -0.210629 -0.092954 0.024253 0.256369 -0.062463 -0.016457 0.003775 0.058891 0.358017 0.215314 -0.058739 0.000799 0.550700 0.383731 -0.107752 0.000890 0.209262 -0.036409 0.023684 -0.000493 0.013982 -0.610317 0.212911 0.000133 0.001724 -0.464631 0.190108 -0.000068 -0.000321 -0.057280 -0.207566 0.000031 0.000155 0.005031 -0.610068 -0.000009 -0.000049 -0.001436 -0.350883 * d-type functions 12 2 2970.4100 836.70590 315.29580 137.19390 64.964030 32.272890 16.285140 8.2896380 4.1242600 1.9534350 0.8742733 0.3511261 0.000271 -0.000105 0.002257 -0.000871 0.012568 -0.004899 0.048880 -0.019136 0.137843 -0.055103 0.276778 -0.109787 0.375194 -0.142489 0.286911 -0.048978 0.089458 0.238116 0.006515 0.462380 0.000319 0.375923 -0.000082 0.110293 ****************************************************************************** /Te.ANO-DK3.Tsuchiya.23s19p12d.5s4p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * TELLURIUM: Te * * ============= * * Reference state: * * The atomic ground state, Te(3P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 52 * s-type functions 23 5 136794600 138400700 22653740. 4808791.0 1214584.0 349443.90 111273.80 38892.950 14740.350 5949.3830 2536.9970 1131.8960 524.36790 249.43870 111.68480 55.564540 27.901800 12.897780 6.5154310 2.5788470 1.1970580 0.2828271 0.1092025 0.000022 -0.000008 -0.000003 0.000002 -0.000000 0.000086 -0.000030 -0.000013 0.000006 -0.000002 0.000263 -0.000091 -0.000041 0.000018 -0.000006 0.000702 -0.000243 -0.000108 0.000048 -0.000016 0.001713 -0.000594 -0.000265 0.000118 -0.000039 0.003961 -0.001379 -0.000615 0.000274 -0.000091 0.008843 -0.003101 -0.001385 0.000617 -0.000206 0.019150 -0.006788 -0.003034 0.001355 -0.000451 0.041161 -0.014913 -0.006696 0.002985 -0.000994 0.087067 -0.032648 -0.014705 0.006592 -0.002196 0.171839 -0.069274 -0.031636 0.014120 -0.004702 0.287123 -0.131540 -0.061037 0.027628 -0.009218 0.333176 -0.196004 -0.095449 0.042896 -0.014319 0.197332 -0.126577 -0.063191 0.030038 -0.010073 0.031828 0.275001 0.183734 -0.092490 0.031371 -0.002760 0.587406 0.552004 -0.280562 0.096137 0.001462 0.293390 0.275636 -0.172454 0.061012 -0.000785 0.026839 -0.700494 0.602393 -0.228371 0.000358 -0.001156 -0.621436 0.720618 -0.291853 -0.000137 0.000196 -0.058676 -0.735344 0.409239 0.000058 -0.000182 0.005133 -0.721465 0.552229 -0.000014 0.000034 -0.001182 -0.029933 -0.752951 0.000005 -0.000012 0.000459 0.006189 -0.521003 * p-type functions 19 4 1504958.0 220497.10 48494.470 13771.370 4716.6030 1832.3020 777.36320 352.86710 168.52540 83.523740 42.277110 21.125040 10.777520 5.4825470 2.6663100 1.2446870 0.4885081 0.2017069 0.0746129 0.000032 -0.000015 -0.000006 0.000002 0.000125 -0.000058 -0.000025 0.000007 0.000460 -0.000215 -0.000093 0.000026 0.001621 -0.000762 -0.000329 0.000091 0.005582 -0.002637 -0.001137 0.000316 0.018632 -0.008900 -0.003851 0.001071 0.056943 -0.027736 -0.012027 0.003345 0.146210 -0.073975 -0.032392 0.009029 0.286315 -0.152535 -0.067342 0.018783 0.369813 -0.206547 -0.092641 0.025934 0.246124 -0.055852 -0.013263 0.003105 0.058200 0.346776 0.212549 -0.062423 0.001335 0.541159 0.385377 -0.116640 0.000775 0.223768 -0.007626 0.016186 -0.000437 0.019162 -0.598268 0.227787 0.000107 0.001256 -0.486273 0.217005 -0.000058 -0.000122 -0.065261 -0.217178 0.000025 0.000049 0.003880 -0.611246 -0.000006 -0.000025 -0.001571 -0.355126 * d-type functions 12 2 2974.8340 835.10790 315.11590 136.90400 64.812320 32.292150 16.335140 8.3150830 4.1069480 1.9639020 0.8996009 0.3698690 0.000301 -0.000121 0.002506 -0.001000 0.013823 -0.005581 0.053472 -0.021655 0.147596 -0.061213 0.287536 -0.117595 0.377647 -0.147699 0.271787 -0.028802 0.076283 0.277030 0.004057 0.469474 0.000455 0.338636 -0.000138 0.084802 ****************************************************************************** /I.ANO-DK3.Tsuchiya.23s19p12d.5s4p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * IODINE: I * * ========= * * Reference state: * * The atomic ground state, I(2P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 53 * s-type functions 23 5 135076100 140741000 23304840. 4881740.0 1211491.0 346880.40 110907.50 38854.140 14707.510 5940.2180 2537.5450 1132.6500 524.29710 249.55940 111.31510 55.110580 27.496280 13.209670 6.7077410 2.7679910 1.2992520 0.3242322 0.1258056 0.000024 -0.000008 -0.000004 0.000002 0.000001 0.000090 -0.000031 -0.000014 0.000006 0.000002 0.000276 -0.000096 -0.000043 0.000019 0.000007 0.000750 -0.000261 -0.000117 0.000053 0.000018 0.001844 -0.000642 -0.000287 0.000130 0.000045 0.004224 -0.001476 -0.000661 0.000298 0.000103 0.009349 -0.003293 -0.001477 0.000666 0.000230 0.020238 -0.007207 -0.003236 0.001462 0.000506 0.043395 -0.015815 -0.007131 0.003216 0.001112 0.090965 -0.034335 -0.015544 0.007047 0.002438 0.177759 -0.072374 -0.033202 0.015000 0.005192 0.293149 -0.135983 -0.063532 0.029086 0.010070 0.330730 -0.198469 -0.097207 0.044265 0.015375 0.185303 -0.112104 -0.056200 0.027066 0.009374 0.027232 0.311619 0.214226 -0.108957 -0.038283 -0.002538 0.589361 0.569201 -0.295595 -0.105843 0.001357 0.259661 0.225973 -0.147653 -0.053904 -0.000781 0.018369 -0.733838 0.651107 0.256904 0.000359 0.000652 -0.587555 0.699966 0.299376 -0.000140 -0.000411 -0.054728 -0.745330 -0.437872 0.000059 0.000046 0.003674 -0.728413 -0.585762 -0.000014 -0.000019 -0.000866 -0.031166 0.773753 0.000005 0.000009 0.000342 0.005831 0.523122 * p-type functions 19 4 1560129.0 221656.90 48283.240 13753.130 4719.4560 1833.0180 777.29630 352.84850 168.53230 83.534380 42.271890 21.131020 10.787440 5.4456470 2.6732810 1.2646400 0.4828495 0.2023092 0.0780171 0.000034 -0.000016 -0.000007 0.000002 0.000137 -0.000064 -0.000028 0.000008 0.000500 -0.000235 -0.000103 0.000030 0.001746 -0.000825 -0.000361 0.000106 0.005994 -0.002849 -0.001247 0.000368 0.019953 -0.009591 -0.004212 0.001241 0.060605 -0.029738 -0.013103 0.003876 0.153816 -0.078467 -0.034877 0.010294 0.295698 -0.159074 -0.071456 0.021233 0.369466 -0.206793 -0.093900 0.027713 0.232509 -0.035105 -0.002452 0.000381 0.050299 0.377811 0.238394 -0.075668 0.000960 0.534277 0.388349 -0.123104 0.000569 0.196170 -0.066664 0.036046 -0.000360 0.013178 -0.625255 0.265901 0.000077 0.001574 -0.441492 0.198431 -0.000042 -0.000319 -0.049012 -0.319802 0.000020 0.000117 0.003371 -0.591963 -0.000005 -0.000051 -0.001659 -0.282093 * d-type functions 12 2 2857.1150 806.61310 306.28700 135.03150 64.765720 32.410230 16.533210 8.5702670 4.3897500 2.1565630 1.0106490 0.4205920 0.000358 -0.000148 0.002953 -0.001216 0.015791 -0.006564 0.058024 -0.024286 0.156012 -0.066662 0.296684 -0.125206 0.372336 -0.147879 0.254122 -0.019080 0.072202 0.275439 0.005293 0.465776 0.000133 0.336564 -0.000058 0.082542 ****************************************************************************** /Xe.ANO-DK3.Tsuchiya.23s19p12d.5s4p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * XENON: Xe * * ========= * * Reference state: * * The atomic ground state, Xe(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 54 * s-type functions 23 5 155717500 147832200 23342500. 4837060.0 1205579.0 346137.50 110756.10 38784.920 14683.320 5937.0610 2537.3520 1132.7690 524.60740 250.19720 111.46130 54.341410 25.954400 13.300310 6.7839940 2.8641580 1.3673320 0.3661565 0.1422371 0.000024 -0.000008 -0.000004 0.000002 0.000001 0.000097 -0.000034 -0.000015 0.000007 0.000003 0.000299 -0.000104 -0.000047 0.000021 0.000008 0.000805 -0.000281 -0.000126 0.000058 0.000021 0.001961 -0.000686 -0.000308 0.000140 0.000050 0.004482 -0.001573 -0.000708 0.000323 0.000115 0.009900 -0.003503 -0.001577 0.000719 0.000257 0.021385 -0.007653 -0.003451 0.001577 0.000562 0.045597 -0.016715 -0.007566 0.003450 0.001231 0.094939 -0.036081 -0.016416 0.007525 0.002684 0.183953 -0.075626 -0.034843 0.015917 0.005689 0.298662 -0.140360 -0.066031 0.030578 0.010910 0.326999 -0.199824 -0.098375 0.045304 0.016273 0.173820 -0.097670 -0.049159 0.024086 0.008521 0.023392 0.346905 0.245309 -0.126377 -0.045683 -0.002172 0.601105 0.594660 -0.315225 -0.117266 0.001228 0.223501 0.159589 -0.114370 -0.042086 -0.000813 0.000950 -0.782359 0.728981 0.297123 0.000370 0.005198 -0.534986 0.638564 0.288119 -0.000147 -0.002046 -0.047802 -0.795902 -0.497135 0.000062 0.000682 0.003157 -0.688944 -0.582866 -0.000015 -0.000171 -0.000745 -0.028732 0.800077 0.000005 0.000063 0.000301 0.004528 0.520705 * p-type functions 19 4 1414129.0 212102.70 48312.330 13855.470 4726.7550 1831.3610 777.10870 352.93570 168.53030 83.480670 42.206630 21.021800 10.772700 5.4300830 2.7140930 1.3194680 0.5309124 0.2244084 0.0877212 0.000039 -0.000018 -0.000008 0.000003 0.000149 -0.000070 -0.000031 0.000010 0.000530 -0.000251 -0.000111 0.000034 0.001871 -0.000889 -0.000395 0.000121 0.006456 -0.003085 -0.001372 0.000422 0.021364 -0.010338 -0.004605 0.001414 0.064336 -0.031783 -0.014228 0.004389 0.161487 -0.083091 -0.037476 0.011527 0.305050 -0.165528 -0.075650 0.023458 0.368403 -0.206588 -0.094838 0.029119 0.218813 -0.011188 0.010427 -0.003644 0.043035 0.410289 0.267355 -0.089172 0.000421 0.518461 0.381873 -0.125774 0.000517 0.170868 -0.122856 0.059493 -0.000358 0.009033 -0.632982 0.289506 0.000085 0.001847 -0.403473 0.186856 -0.000044 -0.000449 -0.043142 -0.352592 0.000019 0.000182 0.002684 -0.587385 -0.000005 -0.000055 -0.000877 -0.262433 * d-type functions 12 2 2717.0610 782.49400 304.89690 135.43650 64.687880 32.341750 16.524130 8.5701600 4.3730760 2.1629240 1.0300830 0.4349987 0.000432 -0.000183 0.003365 -0.001424 0.017031 -0.007277 0.062621 -0.026959 0.167030 -0.073419 0.308029 -0.133298 0.371981 -0.149613 0.237369 0.005156 0.061066 0.311369 0.003407 0.467717 0.000213 0.298518 -0.000094 0.064016 ****************************************************************************** /Cs.ANO-DK3.Tsuchiya.27s23p15d.6s4p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * CESIUM: Cs * * ========== * * Reference state: * * The atomic ground state, Cs(2S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 55 * s-type functions 27 6 337512770 329164450 702162870 160797830 38050111. 10087667. 2887854.7 918884.37 320184.75 116739.52 43840.534 17034.634 6895.4193 2906.3094 1271.0359 576.42624 270.18571 117.73485 57.199090 27.494259 14.161049 7.2550575 3.1159224 1.5077524 0.4420974 0.1893748 0.0213883 0.000003 -0.000001 -0.000000 0.000000 0.000000 0.000000 0.000010 -0.000003 -0.000002 0.000001 0.000000 -0.000000 0.000024 -0.000008 -0.000004 0.000002 0.000001 -0.000000 0.000071 -0.000025 -0.000011 0.000005 0.000002 -0.000000 0.000185 -0.000065 -0.000029 0.000013 0.000005 -0.000001 0.000444 -0.000156 -0.000070 0.000032 0.000012 -0.000003 0.001014 -0.000355 -0.000160 0.000074 0.000028 -0.000006 0.002114 -0.000743 -0.000335 0.000154 0.000058 -0.000013 0.004346 -0.001532 -0.000692 0.000319 0.000120 -0.000028 0.009138 -0.003248 -0.001468 0.000676 0.000254 -0.000058 0.019466 -0.006984 -0.003161 0.001459 0.000549 -0.000126 0.041550 -0.015256 -0.006929 0.003193 0.001201 -0.000276 0.087639 -0.033236 -0.015171 0.007023 0.002641 -0.000604 0.174703 -0.071376 -0.032954 0.015219 0.005729 -0.001316 0.295190 -0.136781 -0.064453 0.030108 0.011336 -0.002591 0.337908 -0.202744 -0.099762 0.046510 0.017568 -0.004045 0.187756 -0.109651 -0.055690 0.027212 0.010255 -0.002313 0.026512 0.340401 0.241914 -0.125572 -0.048108 0.010956 -0.003021 0.602976 0.595899 -0.320517 -0.125268 0.029069 0.001785 0.226941 0.172941 -0.121925 -0.048865 0.010736 -0.001187 0.003567 -0.769455 0.719790 0.313229 -0.071972 0.000570 0.004552 -0.551601 0.675583 0.318873 -0.077013 -0.000241 -0.001840 -0.052520 -0.771152 -0.503208 0.126992 0.000106 0.000622 0.003410 -0.721414 -0.667540 0.169058 -0.000031 -0.000182 -0.000914 -0.036199 0.758788 -0.237181 0.000012 0.000076 0.000408 0.005973 0.594156 -0.340596 -0.000001 -0.000008 -0.000037 -0.000513 0.007630 1.110125 * p-type functions 23 4 49266422. 7155592.7 1493739.1 378445.40 112582.71 37774.967 14015.011 5687.2591 2474.0438 1141.9148 553.43456 279.34109 145.31004 77.294283 41.481309 22.052273 11.907965 6.3685109 3.2260643 1.5888705 0.6762006 0.2960424 0.1181973 0.000003 -0.000001 -0.000001 -0.000000 0.000009 -0.000004 -0.000002 -0.000001 0.000027 -0.000013 -0.000006 -0.000002 0.000075 -0.000036 -0.000016 -0.000005 0.000205 -0.000098 -0.000044 -0.000015 0.000574 -0.000273 -0.000123 -0.000041 0.001622 -0.000775 -0.000349 -0.000117 0.004661 -0.002237 -0.001008 -0.000337 0.013379 -0.006479 -0.002923 -0.000981 0.036713 -0.018047 -0.008168 -0.002736 0.091160 -0.046069 -0.020970 -0.007048 0.190010 -0.099989 -0.045906 -0.015411 0.305582 -0.169811 -0.078985 -0.026685 0.325240 -0.177832 -0.082112 -0.027487 0.183004 0.017026 0.025828 0.009593 0.038609 0.378167 0.249225 0.090334 0.001487 0.493968 0.374580 0.136931 0.000247 0.205117 -0.032300 -0.029680 -0.000212 0.021391 -0.596576 -0.292786 0.000008 0.000730 -0.479816 -0.266315 -0.000018 0.000050 -0.067456 0.293798 0.000007 -0.000028 0.002917 0.646376 -0.000002 0.000003 -0.000978 0.268944 * d-type functions 15 2 10218.687 3072.7965 1118.0421 462.71444 208.73415 99.633969 49.790638 25.675450 13.656560 7.3809680 3.9861239 2.1433568 1.1592979 0.6204062 0.2984116 0.000041 -0.000018 0.000270 -0.000117 0.001643 -0.000712 0.008165 -0.003567 0.032589 -0.014301 0.100184 -0.044755 0.224203 -0.100866 0.341144 -0.149497 0.325598 -0.114591 0.161457 0.091876 0.033733 0.340459 0.002162 0.404567 0.000019 0.243599 -0.000027 0.078001 -0.000019 0.010048 ****************************************************************************** /Ba.ANO-DK3.Tsuchiya.27s23p15d.6s4p2d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * BARIUM: Ba * * ========== * * Reference state: * * The atomic ground state, Ba(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 56 * s-type functions 27 6 231733380 353318270 646772800 135837760 34276864. 9784192.6 2982864.2 959158.84 333161.30 121451.51 45954.089 18125.830 7439.6235 3132.3450 1344.2693 591.89171 268.68156 107.92889 49.008609 18.756479 9.6247157 3.5941872 1.8128841 0.5036928 0.2402973 0.0471019 0.0203239 0.000003 -0.000001 0.000000 0.000000 0.000000 0.000000 0.000010 -0.000003 0.000002 0.000001 0.000000 0.000000 0.000031 -0.000011 0.000005 0.000002 0.000001 0.000000 0.000085 -0.000030 0.000013 0.000006 0.000003 0.000001 0.000201 -0.000071 0.000032 0.000015 0.000006 0.000002 0.000455 -0.000160 0.000072 0.000034 0.000013 0.000004 0.001023 -0.000360 0.000163 0.000076 0.000030 0.000008 0.002181 -0.000770 0.000349 0.000162 0.000064 0.000018 0.004477 -0.001583 0.000718 0.000334 0.000131 0.000037 0.009331 -0.003335 0.001512 0.000704 0.000277 0.000077 0.019485 -0.007003 0.003187 0.001484 0.000584 0.000163 0.040566 -0.015000 0.006823 0.003183 0.001255 0.000350 0.084811 -0.032107 0.014756 0.006879 0.002707 0.000756 0.172360 -0.070840 0.032681 0.015307 0.006042 0.001683 0.301772 -0.138849 0.066027 0.030972 0.012198 0.003408 0.349950 -0.214264 0.104932 0.049930 0.019796 0.005511 0.182987 -0.088010 0.046249 0.021760 0.008494 0.002399 0.019471 0.465201 -0.357239 -0.185160 -0.074370 -0.020885 -0.002491 0.604242 -0.626192 -0.359591 -0.149010 -0.041665 0.001171 0.114265 0.373726 0.315942 0.143972 0.040367 -0.000787 -0.022209 0.863919 0.996293 0.477866 0.138516 0.000381 0.008138 0.126402 -0.500885 -0.342687 -0.106729 -0.000200 -0.004221 -0.021125 -0.906184 -0.840048 -0.264257 0.000072 0.001440 0.005750 -0.067344 0.705762 0.281828 -0.000039 -0.000760 -0.002996 0.018468 0.642178 0.460423 0.000011 0.000209 0.000785 -0.004027 0.022862 -0.667151 -0.000005 -0.000097 -0.000365 0.001818 -0.007108 -0.539759 * p-type functions 23 4 52412462. 7172194.2 1489778.6 380427.65 112665.47 37747.242 14038.281 5684.6149 2475.6452 1142.1328 553.05758 279.37904 145.42437 77.342909 41.441118 22.071772 11.968891 6.3973447 3.2435863 1.6194795 0.6766365 0.3062307 0.1262726 0.000003 -0.000001 -0.000001 -0.000000 0.000010 -0.000005 -0.000002 -0.000001 0.000029 -0.000014 -0.000006 -0.000002 0.000081 -0.000038 -0.000017 -0.000006 0.000222 -0.000106 -0.000048 -0.000017 0.000616 -0.000295 -0.000134 -0.000048 0.001741 -0.000836 -0.000381 -0.000137 0.005002 -0.002414 -0.001102 -0.000393 0.014256 -0.006943 -0.003172 -0.001138 0.039094 -0.019342 -0.008871 -0.003167 0.096202 -0.048965 -0.022573 -0.008120 0.197622 -0.104856 -0.048821 -0.017458 0.311686 -0.174648 -0.082309 -0.029825 0.321036 -0.173587 -0.080859 -0.028593 0.171080 0.039683 0.039850 0.014984 0.032684 0.401785 0.270939 0.106689 0.001380 0.481154 0.372521 0.143325 0.000024 0.184328 -0.085476 -0.053031 -0.000115 0.016600 -0.620227 -0.341984 -0.000029 0.000833 -0.438713 -0.245497 0.000000 -0.000092 -0.054679 0.400344 -0.000001 0.000028 0.004134 0.631527 0.000000 -0.000008 -0.001003 0.182769 * d-type functions 15 2 17086.789 3892.7145 1234.8634 481.59603 213.19864 100.86916 49.953994 25.455172 13.408888 7.2160589 3.8636778 2.0773504 1.1422155 0.6555712 0.3380236 0.000023 -0.000010 0.000227 -0.000101 0.001629 -0.000722 0.008584 -0.003839 0.034505 -0.015500 0.106562 -0.048793 0.238158 -0.109614 0.356276 -0.159141 0.317183 -0.103625 0.140337 0.134282 0.025566 0.378340 0.000761 0.392281 0.000252 0.195754 -0.000150 0.058494 0.000012 0.008497 ****************************************************************************** /La.ANO-DK3.Tsuchiya.27s23p15d.6s4p3d. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * LANTHANUM: La * * ============= * * Reference state: * * The atomic ground state, La(2D) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 57 * s-type functions 27 6 611930830 518458560 698010370 132736840 34486860. 10307668. 3126343.0 988865.12 332976.59 121058.41 46349.242 18441.072 7556.8870 3165.2360 1356.7040 597.67854 271.38582 111.61606 50.909647 19.859904 10.201197 3.8668523 1.9737859 0.6007687 0.2887733 0.0507477 0.0208108 0.000002 -0.000001 0.000000 0.000000 0.000000 0.000000 0.000010 -0.000003 0.000002 0.000001 0.000000 -0.000000 0.000035 -0.000012 0.000006 0.000003 0.000001 -0.000000 0.000094 -0.000033 0.000015 0.000007 0.000003 -0.000001 0.000203 -0.000072 0.000032 0.000015 0.000006 -0.000002 0.000462 -0.000163 0.000074 0.000035 0.000014 -0.000004 0.001060 -0.000374 0.000170 0.000080 0.000032 -0.000009 0.002322 -0.000823 0.000374 0.000176 0.000071 -0.000021 0.004835 -0.001717 0.000782 0.000367 0.000149 -0.000043 0.009779 -0.003510 0.001597 0.000751 0.000305 -0.000088 0.020112 -0.007267 0.003319 0.001560 0.000633 -0.000183 0.041738 -0.015498 0.007077 0.003332 0.001355 -0.000392 0.087794 -0.033471 0.015439 0.007266 0.002948 -0.000854 0.177540 -0.073421 0.034028 0.016085 0.006550 -0.001894 0.305902 -0.142518 0.068080 0.032255 0.013093 -0.003794 0.347256 -0.214427 0.105642 0.050744 0.020774 -0.006008 0.173722 -0.078243 0.040924 0.019392 0.007730 -0.002255 0.017000 0.469604 -0.363066 -0.190461 -0.078823 0.022938 -0.001633 0.597345 -0.624502 -0.362705 -0.155628 0.045291 0.000683 0.113491 0.363639 0.309834 0.147258 -0.043252 -0.000465 -0.020623 0.870737 1.017059 0.503478 -0.151195 0.000228 0.007782 0.134525 -0.470192 -0.329093 0.105627 -0.000121 -0.004179 -0.022986 -0.932462 -0.913203 0.304650 0.000044 0.001450 0.006395 -0.073914 0.630405 -0.274879 -0.000022 -0.000699 -0.003038 0.016225 0.744041 -0.495038 0.000005 0.000163 0.000667 -0.002902 0.029297 0.776197 -0.000002 -0.000076 -0.000309 0.001300 -0.009639 0.428429 * p-type functions 23 4 50400664. 7193204.0 1491876.8 382082.45 113298.34 37981.497 14101.175 5698.3906 2477.1636 1141.5298 552.84412 279.02807 145.18431 77.477249 41.810393 22.271866 12.080507 6.4545360 3.3218938 1.6873198 0.7412582 0.3405809 0.1410467 0.000003 -0.000002 -0.000001 -0.000000 0.000010 -0.000005 -0.000002 -0.000001 0.000031 -0.000015 -0.000007 -0.000003 0.000086 -0.000041 -0.000019 -0.000007 0.000238 -0.000114 -0.000053 -0.000020 0.000659 -0.000317 -0.000146 -0.000054 0.001864 -0.000900 -0.000415 -0.000155 0.005348 -0.002595 -0.001198 -0.000445 0.015229 -0.007457 -0.003449 -0.001289 0.041539 -0.020684 -0.009597 -0.003569 0.101388 -0.051955 -0.024268 -0.009091 0.206151 -0.110312 -0.051979 -0.019364 0.317248 -0.179078 -0.085618 -0.032322 0.312860 -0.167084 -0.077996 -0.028639 0.159994 0.058836 0.051200 0.020077 0.029476 0.421610 0.292735 0.120669 0.000790 0.469994 0.365247 0.146050 0.000152 0.165718 -0.126347 -0.075949 -0.000193 0.013427 -0.629130 -0.369956 0.000012 0.000966 -0.408695 -0.237292 -0.000015 -0.000181 -0.049014 0.432406 0.000006 0.000053 0.002309 0.625932 -0.000002 -0.000016 -0.000553 0.168753 * d-type functions 15 3 8434.6934 2744.8862 1259.2925 537.20066 231.12971 105.31172 50.906060 25.349935 12.858561 6.4407130 3.1373651 1.4741848 0.6201100 0.2300897 0.0763595 0.000072 -0.000032 0.000008 0.000315 -0.000144 0.000036 0.001349 -0.000607 0.000154 0.007579 -0.003470 0.000881 0.034177 -0.015662 0.003972 0.111518 -0.052261 0.013304 0.252340 -0.118496 0.030145 0.378690 -0.172582 0.043818 0.321306 -0.085047 0.018240 0.112193 0.245911 -0.076295 0.008999 0.506689 -0.153620 0.000374 0.346769 -0.070646 -0.000192 0.063002 0.276912 0.000049 -0.000801 0.563164 -0.000017 0.000620 0.376120 ****************************************************************************** /Ce.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * CERIUM: Ce * * ========== * * Reference state: * * The atomic ground state, Ce(1G) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 58 * s-type functions 27 6 340027730 368218550 633062420 135930590 33661849. 9454645.5 2943490.7 984448.48 347440.49 127846.12 48945.120 19242.127 7793.9669 3263.9051 1405.7617 624.32795 286.05480 117.42270 53.713756 21.268210 10.898494 4.1719807 2.1176082 0.6184811 0.2982494 0.0562981 0.0240441 0.000003 -0.000001 0.000000 0.000000 0.000000 0.000000 0.000012 -0.000004 0.000002 0.000001 0.000000 -0.000000 0.000036 -0.000013 0.000006 0.000003 0.000001 -0.000000 0.000097 -0.000034 0.000016 0.000007 0.000003 -0.000001 0.000236 -0.000084 0.000038 0.000018 0.000007 -0.000002 0.000528 -0.000187 0.000085 0.000040 0.000016 -0.000005 0.001127 -0.000400 0.000182 0.000086 0.000035 -0.000010 0.002341 -0.000833 0.000380 0.000179 0.000073 -0.000021 0.004822 -0.001720 0.000785 0.000371 0.000150 -0.000043 0.009857 -0.003552 0.001622 0.000766 0.000311 -0.000088 0.020355 -0.007385 0.003384 0.001598 0.000647 -0.000184 0.042910 -0.015998 0.007336 0.003469 0.001407 -0.000399 0.089635 -0.034354 0.015895 0.007518 0.003043 -0.000864 0.178422 -0.074186 0.034540 0.016400 0.006663 -0.001889 0.303616 -0.142066 0.068060 0.032415 0.013129 -0.003732 0.342637 -0.211628 0.104763 0.050529 0.020638 -0.005847 0.176073 -0.080629 0.041803 0.019983 0.007962 -0.002288 0.018827 0.460348 -0.355670 -0.187785 -0.077578 0.022167 -0.002193 0.601284 -0.631775 -0.368098 -0.157531 0.044877 0.001021 0.118646 0.331022 0.282234 0.133918 -0.038310 -0.000681 -0.019980 0.892313 1.042976 0.515322 -0.152066 0.000334 0.007486 0.143560 -0.426980 -0.300841 0.095753 -0.000175 -0.003895 -0.022747 -0.968708 -0.927549 0.300058 0.000064 0.001336 0.006317 -0.079540 0.644145 -0.268641 -0.000033 -0.000677 -0.003159 0.019902 0.719349 -0.485445 0.000008 0.000174 0.000766 -0.003977 0.029616 0.650264 -0.000004 -0.000081 -0.000357 0.001796 -0.009419 0.552129 * p-type functions 23 4 49656588. 7195682.2 1503242.3 381188.93 113302.73 38093.303 14078.256 5704.8089 2477.8324 1140.9415 553.10796 278.88026 145.20820 77.499776 41.795282 22.298162 12.099286 6.4633354 3.3301176 1.6913757 0.7489175 0.3406631 0.1403543 0.000003 -0.000002 -0.000001 -0.000000 0.000011 -0.000005 -0.000003 -0.000001 0.000033 -0.000016 -0.000007 -0.000003 0.000094 -0.000045 -0.000021 -0.000008 0.000255 -0.000123 -0.000057 -0.000021 0.000709 -0.000342 -0.000159 -0.000059 0.002003 -0.000972 -0.000451 -0.000167 0.005695 -0.002778 -0.001289 -0.000477 0.016275 -0.008013 -0.003729 -0.001387 0.043992 -0.022040 -0.010285 -0.003807 0.106640 -0.055031 -0.025873 -0.009649 0.214299 -0.115581 -0.054802 -0.020323 0.322000 -0.183153 -0.088214 -0.033167 0.307204 -0.160707 -0.074614 -0.027150 0.148384 0.082466 0.065715 0.025599 0.024999 0.443670 0.314485 0.129527 0.000628 0.453580 0.350253 0.138094 0.000071 0.145426 -0.178728 -0.100771 -0.000158 0.010570 -0.640520 -0.380905 0.000005 0.000842 -0.369782 -0.199502 -0.000010 -0.000157 -0.039278 0.466200 0.000004 0.000042 0.001280 0.606469 -0.000001 -0.000012 -0.000302 0.150074 * d-type functions 15 3 8587.1753 2529.4137 1339.3875 545.96423 230.85975 105.35430 50.954813 25.360260 12.871011 6.4460893 3.1430631 1.4712040 0.6038934 0.2290571 0.0790965 0.000087 -0.000039 0.000010 0.000353 -0.000164 0.000044 0.001277 -0.000579 0.000152 0.008382 -0.003878 0.001033 0.037091 -0.017172 0.004544 0.118640 -0.056256 0.015020 0.263782 -0.124978 0.033147 0.384388 -0.176072 0.046996 0.307875 -0.067409 0.013064 0.098910 0.276307 -0.088136 0.006856 0.510238 -0.165818 0.000397 0.320466 -0.045323 -0.000168 0.050659 0.326573 0.000061 -0.001374 0.554935 -0.000014 0.000644 0.321940 * f-type functions 10 1 375.91040 129.80203 56.167429 26.239296 12.591573 6.1042442 2.8869783 1.3071566 0.5512438 0.2055045 -0.000285 -0.002443 -0.012693 -0.044196 -0.119938 -0.237783 -0.336731 -0.343724 -0.241027 -0.093665 ****************************************************************************** /Pr.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p2d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * PRASEODYMIUM: Pr * * ================ * * Reference state: * * The atomic ground state, Pr(4I) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 59 * s-type functions 27 6 492307650 387898820 593188150 125405350 32524318. 9529220.5 2961565.0 983528.23 349225.38 128938.90 49198.751 19315.976 7811.2677 3269.5886 1408.7527 624.17113 285.32902 119.50661 54.804971 21.557200 11.085975 4.1973320 2.1111952 0.5917952 0.2754822 0.0500253 0.0213680 0.000003 -0.000001 0.000000 0.000000 0.000000 0.000000 0.000014 -0.000005 0.000002 0.000001 0.000000 0.000000 0.000042 -0.000015 0.000007 0.000003 0.000001 0.000000 0.000108 -0.000038 0.000017 0.000008 0.000003 0.000001 0.000247 -0.000088 0.000040 0.000019 0.000008 0.000002 0.000550 -0.000196 0.000090 0.000042 0.000017 0.000004 0.001203 -0.000429 0.000196 0.000093 0.000036 0.000010 0.002481 -0.000887 0.000406 0.000192 0.000075 0.000020 0.005039 -0.001805 0.000827 0.000391 0.000153 0.000041 0.010343 -0.003743 0.001715 0.000811 0.000319 0.000085 0.021367 -0.007794 0.003585 0.001693 0.000665 0.000178 0.044833 -0.016801 0.007728 0.003659 0.001440 0.000385 0.093330 -0.036032 0.016745 0.007922 0.003112 0.000833 0.183843 -0.077055 0.035998 0.017124 0.006746 0.001801 0.308861 -0.146420 0.070585 0.033610 0.013218 0.003539 0.340435 -0.212941 0.105792 0.051221 0.020274 0.005408 0.164027 -0.065216 0.033849 0.015760 0.006099 0.001660 0.015506 0.475961 -0.374329 -0.197639 -0.079411 -0.021371 -0.001300 0.588940 -0.621100 -0.365702 -0.151574 -0.040623 0.000509 0.110374 0.383848 0.338670 0.154458 0.041579 -0.000346 -0.019483 0.863119 1.010462 0.486727 0.135018 0.000161 0.006959 0.127121 -0.528348 -0.368997 -0.109392 -0.000079 -0.003535 -0.020515 -0.895940 -0.823461 -0.247662 0.000027 0.001153 0.005440 -0.064002 0.710549 0.267973 -0.000014 -0.000579 -0.002702 0.016273 0.639346 0.437480 0.000004 0.000155 0.000690 -0.003477 0.021520 -0.689315 -0.000002 -0.000074 -0.000328 0.001611 -0.007076 -0.502828 * p-type functions 23 4 51093673. 7215046.2 1489055.6 383792.55 113728.72 38075.062 14131.287 5703.3863 2477.8855 1141.8199 552.68940 278.70202 145.16744 77.462378 41.758039 22.346049 12.160891 6.5240612 3.3796572 1.7169726 0.7507357 0.3385935 0.1399502 0.000004 -0.000002 -0.000001 -0.000000 0.000012 -0.000006 -0.000003 -0.000001 0.000036 -0.000017 -0.000008 -0.000003 0.000100 -0.000048 -0.000022 -0.000008 0.000275 -0.000133 -0.000062 -0.000022 0.000758 -0.000368 -0.000171 -0.000061 0.002138 -0.001042 -0.000483 -0.000172 0.006109 -0.002995 -0.001390 -0.000493 0.017271 -0.008549 -0.003981 -0.001417 0.046617 -0.023497 -0.010971 -0.003889 0.112244 -0.058323 -0.027451 -0.009802 0.222128 -0.120757 -0.057313 -0.020354 0.326755 -0.187165 -0.090294 -0.032510 0.300577 -0.153020 -0.070094 -0.024306 0.137002 0.107040 0.080798 0.030097 0.020893 0.461690 0.331807 0.130956 0.000651 0.434124 0.328612 0.122394 -0.000063 0.128928 -0.217840 -0.113628 -0.000085 0.009013 -0.633383 -0.359204 -0.000023 0.000777 -0.350549 -0.171287 0.000002 -0.000102 -0.036875 0.438748 -0.000001 0.000030 0.001374 0.602000 0.000000 -0.000007 -0.000358 0.168615 * d-type functions 15 2 12713.148 3354.1165 1220.7718 523.04242 247.30016 124.14225 64.954192 34.766164 18.896568 10.329810 5.5740750 2.9513049 1.5332733 0.7578795 0.3116992 0.000047 -0.000021 0.000349 -0.000160 0.001938 -0.000888 0.008656 -0.003990 0.030963 -0.014375 0.088375 -0.041643 0.194728 -0.092879 0.312688 -0.145976 0.337285 -0.137655 0.198060 0.045934 0.050392 0.327285 0.003642 0.437620 0.000252 0.268623 -0.000034 0.068752 0.000010 0.004118 * f-type functions 10 1 382.58496 133.69373 56.360841 26.158584 12.665608 6.1921268 2.9282665 1.3081764 0.5360749 0.1932225 -0.000293 -0.002606 -0.014127 -0.047662 -0.124264 -0.238850 -0.334781 -0.343636 -0.243982 -0.097749 ****************************************************************************** /Nd.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p2d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * NEODIUM: Nd * * =========== * * Reference state: * * The atomic ground state, Nd(5I) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 60 * s-type functions 27 6 290954640 354742480 626604150 132478650 32558625. 9188110.9 2931551.7 1000868.8 353897.74 130371.14 49842.271 19521.555 7851.0058 3273.0637 1410.2050 626.66120 287.53121 122.76019 56.635177 22.562431 11.584069 4.4274956 2.2154057 0.6228490 0.2881451 0.0501625 0.0213500 0.000004 -0.000002 0.000001 0.000000 0.000000 0.000000 0.000014 -0.000005 0.000002 0.000001 0.000000 -0.000000 0.000042 -0.000015 0.000007 0.000003 0.000001 -0.000000 0.000113 -0.000041 0.000019 0.000009 0.000003 -0.000001 0.000275 -0.000098 0.000045 0.000021 0.000008 -0.000002 0.000602 -0.000215 0.000099 0.000047 0.000018 -0.000005 0.001240 -0.000443 0.000204 0.000097 0.000038 -0.000010 0.002574 -0.000924 0.000424 0.000201 0.000079 -0.000021 0.005310 -0.001911 0.000879 0.000416 0.000163 -0.000043 0.010783 -0.003919 0.001801 0.000855 0.000335 -0.000088 0.022204 -0.008141 0.003756 0.001781 0.000698 -0.000184 0.046730 -0.017595 0.008123 0.003860 0.001514 -0.000400 0.097267 -0.037825 0.017638 0.008375 0.003281 -0.000867 0.189973 -0.080255 0.037657 0.017983 0.007064 -0.001863 0.312949 -0.150350 0.072808 0.034804 0.013649 -0.003610 0.335125 -0.211796 0.105820 0.051476 0.020320 -0.005355 0.154440 -0.052881 0.026772 0.012221 0.004668 -0.001262 0.013581 0.481722 -0.382260 -0.202931 -0.081332 0.021623 -0.000816 0.580137 -0.616515 -0.365644 -0.151258 0.040055 0.000248 0.108234 0.389841 0.347200 0.158067 -0.042079 -0.000179 -0.018237 0.861662 1.014337 0.487553 -0.133495 0.000080 0.006485 0.126036 -0.534292 -0.372085 0.108555 -0.000036 -0.003251 -0.019230 -0.895983 -0.819731 0.243509 0.000012 0.001049 0.005063 -0.063301 0.701359 -0.259904 -0.000006 -0.000517 -0.002468 0.015621 0.646988 -0.432751 0.000002 0.000135 0.000614 -0.003262 0.021928 0.710389 -0.000001 -0.000065 -0.000296 0.001531 -0.007469 0.475932 * p-type functions 23 4 48217378. 7261355.2 1507340.1 382356.30 113813.77 38195.061 14131.438 5704.2242 2478.1889 1142.2855 552.55985 278.45795 145.26851 77.536685 41.634185 22.368480 12.189504 6.5377726 3.3940219 1.7295041 0.7537937 0.3388782 0.1396077 0.000004 -0.000002 -0.000001 -0.000000 0.000013 -0.000006 -0.000003 -0.000001 0.000039 -0.000019 -0.000009 -0.000003 0.000108 -0.000052 -0.000024 -0.000009 0.000293 -0.000143 -0.000066 -0.000023 0.000812 -0.000396 -0.000184 -0.000065 0.002291 -0.001121 -0.000523 -0.000185 0.006514 -0.003209 -0.001496 -0.000527 0.018356 -0.009134 -0.004273 -0.001513 0.049269 -0.024973 -0.011715 -0.004130 0.117965 -0.061720 -0.029195 -0.010371 0.229926 -0.125903 -0.060069 -0.021213 0.329865 -0.190264 -0.092281 -0.033069 0.294316 -0.144446 -0.065327 -0.022352 0.126522 0.132348 0.097227 0.035982 0.016821 0.477759 0.349500 0.137761 0.000899 0.414311 0.305859 0.111088 -0.000297 0.112733 -0.264831 -0.134122 0.000036 0.007142 -0.631570 -0.362327 -0.000072 0.000718 -0.319227 -0.137274 0.000023 -0.000096 -0.031141 0.463293 -0.000010 0.000029 0.001230 0.584426 0.000003 -0.000006 -0.000312 0.153167 * d-type functions 15 2 12677.919 3346.8628 1219.5618 523.06807 247.31472 124.13536 64.965013 34.760943 18.905104 10.333931 5.5709417 2.9519905 1.5328380 0.7557562 0.3059887 0.000052 -0.000024 0.000383 -0.000177 0.002114 -0.000977 0.009388 -0.004363 0.033356 -0.015612 0.094227 -0.044824 0.204183 -0.098112 0.320731 -0.150596 0.332357 -0.131622 0.183771 0.069877 0.043045 0.347610 0.002803 0.431362 0.000262 0.247821 -0.000022 0.058699 0.000012 0.003220 * f-type functions 10 1 379.59709 131.09244 56.143064 26.350663 12.769647 6.2466792 2.9709753 1.3491672 0.5668657 0.2081914 -0.000354 -0.003128 -0.015854 -0.052629 -0.135631 -0.251103 -0.336194 -0.328872 -0.228627 -0.090994 ****************************************************************************** /Pm.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p2d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * PROMETHIUM: Pm * * ============== * * Reference state: * * The atomic ground state, Pm(6H) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 61 * s-type functions 27 6 692309580 417829390 556706490 118949840 33354640. 9463646.5 2914640.7 997515.35 358789.16 132751.53 50422.403 19620.511 7884.2289 3282.4340 1412.9422 628.55151 289.14278 125.15307 58.008532 23.250915 11.974734 4.7467597 2.3444303 0.6746421 0.3114524 0.0538079 0.0235829 0.000003 -0.000001 0.000000 0.000000 0.000000 0.000000 0.000016 -0.000006 0.000003 0.000001 0.000000 -0.000000 0.000052 -0.000019 0.000009 0.000004 0.000002 -0.000000 0.000120 -0.000043 0.000020 0.000009 0.000004 -0.000001 0.000271 -0.000097 0.000045 0.000021 0.000008 -0.000002 0.000647 -0.000232 0.000107 0.000051 0.000020 -0.000005 0.001343 -0.000482 0.000222 0.000106 0.000041 -0.000011 0.002686 -0.000968 0.000446 0.000212 0.000083 -0.000022 0.005484 -0.001982 0.000914 0.000435 0.000170 -0.000044 0.011226 -0.004097 0.001889 0.000899 0.000351 -0.000092 0.023305 -0.008588 0.003975 0.001891 0.000739 -0.000193 0.048803 -0.018472 0.008556 0.004079 0.001596 -0.000417 0.100796 -0.039473 0.018472 0.008802 0.003438 -0.000900 0.195752 -0.083369 0.039269 0.018813 0.007370 -0.001923 0.317254 -0.154349 0.075108 0.036049 0.014091 -0.003692 0.330007 -0.210833 0.105825 0.051655 0.020353 -0.005302 0.144826 -0.038528 0.018575 0.008183 0.003011 -0.000832 0.011772 0.492695 -0.396217 -0.211865 -0.084625 0.022305 -0.000508 0.567737 -0.606994 -0.362257 -0.149829 0.039186 0.000098 0.103000 0.417961 0.374122 0.170774 -0.044782 -0.000089 -0.017535 0.841226 1.007667 0.482521 -0.131273 0.000038 0.006230 0.121537 -0.529702 -0.360743 0.105016 -0.000014 -0.003007 -0.015081 -0.910278 -0.834032 0.242925 0.000005 0.000978 0.004074 -0.066465 0.645541 -0.226235 -0.000003 -0.000474 -0.001952 0.015570 0.698496 -0.453878 0.000001 0.000126 0.000488 -0.003290 0.027890 0.626665 -0.000000 -0.000062 -0.000240 0.001580 -0.009914 0.552601 * p-type functions 23 4 51833132. 7368413.5 1523896.6 388215.76 114993.15 38394.735 14203.400 5729.2780 2483.5172 1142.6786 552.74934 278.70834 145.34124 77.645304 41.946785 22.692210 12.434808 6.6594496 3.4879427 1.7846806 0.8010947 0.3626847 0.1508813 0.000004 -0.000002 -0.000001 -0.000000 0.000014 -0.000007 -0.000003 -0.000001 0.000041 -0.000020 -0.000009 -0.000003 0.000114 -0.000056 -0.000026 -0.000009 0.000314 -0.000153 -0.000072 -0.000025 0.000867 -0.000425 -0.000198 -0.000070 0.002433 -0.001196 -0.000560 -0.000197 0.006918 -0.003424 -0.001603 -0.000562 0.019491 -0.009746 -0.004579 -0.001612 0.052091 -0.026559 -0.012511 -0.004389 0.123384 -0.064956 -0.030873 -0.010899 0.237447 -0.131022 -0.062796 -0.022078 0.333556 -0.193311 -0.094237 -0.033543 0.285358 -0.134746 -0.059826 -0.020295 0.116524 0.152090 0.109844 0.040677 0.015053 0.483334 0.359624 0.140867 0.000644 0.400489 0.286769 0.102793 -0.000193 0.104840 -0.287389 -0.145574 -0.000020 0.005638 -0.625275 -0.355732 -0.000043 0.000996 -0.305356 -0.130410 0.000012 -0.000206 -0.029498 0.444510 -0.000005 0.000074 0.000412 0.586875 0.000001 -0.000018 -0.000142 0.170474 * d-type functions 15 2 12635.104 3337.5861 1218.2956 523.22078 247.29887 124.13041 64.977687 34.753801 18.915051 10.335007 5.5679225 2.9529940 1.5310765 0.7531175 0.3023149 0.000057 -0.000026 0.000420 -0.000195 0.002301 -0.001070 0.010160 -0.004759 0.035884 -0.016920 0.100221 -0.048094 0.213677 -0.103347 0.328101 -0.154772 0.326232 -0.124065 0.169952 0.094135 0.036529 0.365334 0.002252 0.423165 0.000235 0.228245 0.000001 0.049901 0.000010 0.002599 * f-type functions 10 1 378.49549 130.79325 56.126261 26.353649 12.791656 6.2571624 2.9759757 1.3499838 0.5685309 0.2111742 -0.000410 -0.003588 -0.017866 -0.058392 -0.147235 -0.263028 -0.339908 -0.319389 -0.211949 -0.080362 ****************************************************************************** /Sm.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p2d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * SAMARIUM: Sm * * ============ * * Reference state: * * The atomic ground state, Sm(7F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 62 * s-type functions 27 6 419985630 459410550 753039310 157767800 39364524. 11131390. 3423497.3 1127469.8 393826.72 145651.22 56081.151 22223.641 9070.9666 3800.6495 1630.1057 719.03282 327.62992 135.74405 62.190130 24.514689 12.662047 4.8593173 2.4220756 0.6773245 0.3093579 0.0527793 0.0222460 0.000004 -0.000001 0.000001 0.000000 0.000000 0.000000 0.000014 -0.000005 0.000002 0.000001 0.000000 -0.000000 0.000043 -0.000016 0.000007 0.000003 0.000001 -0.000000 0.000113 -0.000041 0.000019 0.000009 0.000003 -0.000001 0.000270 -0.000097 0.000045 0.000021 0.000008 -0.000002 0.000604 -0.000218 0.000100 0.000048 0.000019 -0.000005 0.001300 -0.000469 0.000216 0.000103 0.000040 -0.000010 0.002706 -0.000979 0.000452 0.000216 0.000084 -0.000022 0.005477 -0.001987 0.000919 0.000438 0.000171 -0.000044 0.010908 -0.003999 0.001849 0.000883 0.000344 -0.000089 0.022078 -0.008155 0.003786 0.001806 0.000703 -0.000182 0.045099 -0.017122 0.007950 0.003802 0.001482 -0.000383 0.091977 -0.035915 0.016845 0.008047 0.003132 -0.000810 0.180380 -0.076353 0.036002 0.017296 0.006749 -0.001742 0.304247 -0.144650 0.070304 0.033800 0.013170 -0.003409 0.341418 -0.212137 0.106205 0.051929 0.020354 -0.005250 0.172223 -0.070718 0.036526 0.017162 0.006598 -0.001731 0.017820 0.469795 -0.373990 -0.199885 -0.079642 0.020717 -0.001824 0.592974 -0.629323 -0.375701 -0.154325 0.040004 0.000806 0.113090 0.386829 0.353683 0.160331 -0.041791 -0.000537 -0.020248 0.863124 1.019071 0.487101 -0.130405 0.000250 0.007137 0.126094 -0.548177 -0.381548 0.108546 -0.000123 -0.003514 -0.018797 -0.889272 -0.803853 0.233035 0.000041 0.001117 0.004892 -0.061592 0.702406 -0.251842 -0.000021 -0.000544 -0.002353 0.015016 0.641849 -0.422333 0.000005 0.000142 0.000585 -0.003148 0.021349 0.703128 -0.000003 -0.000069 -0.000282 0.001482 -0.007295 0.477975 * p-type functions 23 4 51833132. 7387198.9 1527739.8 389079.12 115150.05 38447.979 14216.709 5732.2363 2484.3655 1142.6487 552.73574 278.63778 145.24812 77.646235 41.975876 22.717827 12.413124 6.6771692 3.4902043 1.7886776 0.8091375 0.3660366 0.1513457 0.000005 -0.000002 -0.000001 -0.000000 0.000015 -0.000007 -0.000003 -0.000001 0.000044 -0.000022 -0.000010 -0.000003 0.000123 -0.000060 -0.000028 -0.000010 0.000336 -0.000165 -0.000077 -0.000027 0.000926 -0.000456 -0.000214 -0.000074 0.002596 -0.001282 -0.000602 -0.000210 0.007363 -0.003661 -0.001720 -0.000599 0.020674 -0.010387 -0.004896 -0.001713 0.054986 -0.028192 -0.013335 -0.004651 0.129056 -0.068369 -0.032615 -0.011442 0.245321 -0.136356 -0.065674 -0.022959 0.336467 -0.195886 -0.095786 -0.033875 0.276624 -0.123827 -0.053786 -0.017984 0.106999 0.176559 0.126695 0.046772 0.012461 0.498058 0.375649 0.146405 0.000628 0.378649 0.259164 0.090036 -0.000261 0.089398 -0.332857 -0.165914 0.000020 0.005275 -0.618745 -0.354213 -0.000056 0.000535 -0.274803 -0.099013 0.000018 -0.000042 -0.024776 0.458245 -0.000007 0.000007 0.000187 0.575226 0.000002 -0.000000 -0.000085 0.159842 * d-type functions 15 2 12216.870 3315.6361 1219.3760 522.94735 247.25139 124.15130 64.980980 34.756012 18.924652 10.328493 5.5671676 2.9537767 1.5212792 0.7454849 0.3671292 0.000065 -0.000030 0.000456 -0.000213 0.002498 -0.001168 0.011008 -0.005192 0.038479 -0.018263 0.106427 -0.051482 0.223127 -0.108510 0.334591 -0.158400 0.319400 -0.115038 0.156487 0.118410 0.030791 0.379974 0.001915 0.414543 0.000188 0.210659 0.000024 0.040181 0.000008 0.002810 * f-type functions 10 1 377.73288 130.12154 56.174664 26.353745 12.809689 6.2713685 2.9770012 1.3504876 0.5680585 0.2106025 -0.000476 -0.004100 -0.019920 -0.064621 -0.158299 -0.274217 -0.342543 -0.309175 -0.197790 -0.069597 ****************************************************************************** /Eu.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p2d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * EUROPIUM: Eu * * ============ * * Reference state: * * The atomic ground state, Eu(8S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 63 * s-type functions 27 6 417539200 433170720 729478250 158296650 39990152. 11163095. 3437222.8 1136301.6 395605.22 146451.77 56443.635 22455.761 9165.8731 3816.1544 1630.9487 719.13229 327.90922 139.55141 64.324029 25.733026 13.290671 5.1892966 2.5674576 0.6914512 0.3144546 0.0541050 0.0224368 0.000004 -0.000002 0.000001 0.000000 0.000000 0.000000 0.000016 -0.000006 0.000003 0.000001 0.000000 0.000000 0.000046 -0.000017 0.000008 0.000004 0.000001 0.000000 0.000118 -0.000043 0.000020 0.000010 0.000004 0.000001 0.000285 -0.000103 0.000048 0.000023 0.000009 0.000002 0.000645 -0.000233 0.000108 0.000052 0.000020 0.000005 0.001365 -0.000494 0.000229 0.000109 0.000042 0.000011 0.002851 -0.001036 0.000480 0.000229 0.000089 0.000023 0.005766 -0.002102 0.000975 0.000466 0.000181 0.000046 0.011414 -0.004201 0.001948 0.000932 0.000362 0.000092 0.022982 -0.008536 0.003974 0.001901 0.000737 0.000189 0.046507 -0.017736 0.008261 0.003960 0.001537 0.000393 0.095213 -0.037452 0.017619 0.008440 0.003272 0.000838 0.186608 -0.079508 0.037634 0.018126 0.007043 0.001801 0.309441 -0.149165 0.072795 0.035113 0.013631 0.003494 0.337774 -0.211601 0.106476 0.052210 0.020379 0.005206 0.161345 -0.058207 0.029357 0.013613 0.005190 0.001353 0.015124 0.474095 -0.380161 -0.204207 -0.081116 -0.020890 -0.000983 0.585221 -0.625270 -0.374815 -0.153334 -0.039365 0.000334 0.111926 0.383045 0.350710 0.158068 0.040823 -0.000231 -0.018923 0.865853 1.027674 0.489895 0.129709 0.000101 0.006580 0.129128 -0.521461 -0.362461 -0.101682 -0.000044 -0.003109 -0.017225 -0.915665 -0.811852 -0.232881 0.000014 0.000956 0.004419 -0.064942 0.718307 0.256684 -0.000007 -0.000474 -0.002174 0.017197 0.618448 0.409412 0.000002 0.000125 0.000547 -0.003699 0.018920 -0.707384 -0.000001 -0.000060 -0.000260 0.001724 -0.006221 -0.474038 * p-type functions 23 4 52080119. 7426973.5 1533746.7 390308.35 115417.93 38522.264 14239.528 5738.5665 2485.1756 1142.7122 552.65847 278.57730 145.26948 77.631138 41.915706 22.844802 12.537810 6.6693163 3.4870357 1.7790295 0.8203929 0.3709156 0.1538113 0.000005 -0.000002 -0.000001 -0.000000 0.000016 -0.000008 -0.000004 -0.000001 0.000047 -0.000023 -0.000011 -0.000004 0.000131 -0.000064 -0.000030 -0.000010 0.000359 -0.000177 -0.000083 -0.000029 0.000989 -0.000488 -0.000230 -0.000079 0.002765 -0.001371 -0.000646 -0.000224 0.007828 -0.003909 -0.001842 -0.000638 0.021912 -0.011063 -0.005232 -0.001817 0.057960 -0.029876 -0.014178 -0.004913 0.134903 -0.071916 -0.034441 -0.011995 0.252787 -0.141475 -0.068391 -0.023765 0.338594 -0.197935 -0.097157 -0.034094 0.268356 -0.111913 -0.046697 -0.015357 0.097552 0.201217 0.143298 0.052780 0.010100 0.501840 0.384917 0.148989 0.000706 0.361178 0.229829 0.077093 -0.000330 0.080106 -0.372044 -0.184919 0.000059 0.003107 -0.610675 -0.348678 -0.000069 0.000931 -0.244920 -0.070846 0.000025 -0.000224 -0.019523 0.468041 -0.000010 0.000079 -0.000460 0.563338 0.000003 -0.000019 0.000070 0.153948 * d-type functions 15 2 23454.048 5307.4341 1681.9736 647.36034 282.82798 133.85854 66.865751 34.395987 18.106742 9.5219755 4.9157870 2.4845815 1.1876889 0.4442238 0.3116910 0.000027 -0.000013 0.000243 -0.000114 0.001665 -0.000781 0.008859 -0.004198 0.035835 -0.017067 0.109203 -0.053105 0.241355 -0.117939 0.361552 -0.171435 0.318844 -0.097486 0.129212 0.193045 0.017140 0.446792 0.000938 0.384444 0.000042 0.134182 0.000071 0.012372 -0.000033 -0.001850 * f-type functions 10 1 383.60428 131.79513 56.259741 26.332277 12.927491 6.4360919 3.1366325 1.4670690 0.6327829 0.2374228 -0.000519 -0.004561 -0.022373 -0.070628 -0.165298 -0.272764 -0.330403 -0.299303 -0.197963 -0.073662 ****************************************************************************** /Gd.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * GADOLINIUM: Gd * * ============== * * Reference state: * * The atomic ground state, Gd(9D) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 64 * s-type functions 27 6 370017210 442333740 736627460 157466940 39988049. 11295642. 3442911.2 1134401.6 396957.84 146564.47 56594.524 22562.053 9206.7332 3830.1031 1630.5186 716.19740 325.13703 141.13836 65.402596 26.424389 13.671169 5.3756862 2.6791504 0.7681474 0.3539498 0.0628750 0.0255543 0.000005 -0.000002 0.000001 0.000000 0.000000 0.000000 0.000016 -0.000006 0.000003 0.000001 0.000000 0.000000 0.000049 -0.000018 0.000008 0.000004 0.000002 0.000000 0.000127 -0.000046 0.000021 0.000010 0.000004 0.000001 0.000300 -0.000109 0.000051 0.000024 0.000010 0.000003 0.000679 -0.000247 0.000115 0.000055 0.000022 0.000006 0.001459 -0.000531 0.000246 0.000118 0.000047 0.000013 0.003002 -0.001095 0.000509 0.000244 0.000097 0.000026 0.006061 -0.002219 0.001032 0.000496 0.000196 0.000053 0.012016 -0.004443 0.002066 0.000993 0.000393 0.000106 0.023935 -0.008937 0.004173 0.002005 0.000794 0.000213 0.048364 -0.018538 0.008659 0.004171 0.001653 0.000444 0.098466 -0.039003 0.018409 0.008859 0.003507 0.000942 0.192173 -0.082489 0.039170 0.018961 0.007524 0.002020 0.315592 -0.154094 0.075548 0.036615 0.014511 0.003901 0.334774 -0.211908 0.107052 0.052814 0.021062 0.005653 0.149620 -0.040738 0.019361 0.008459 0.003201 0.000873 0.011685 0.489851 -0.398831 -0.215715 -0.087519 -0.023626 -0.000095 0.568617 -0.611475 -0.370801 -0.155361 -0.041967 -0.000176 0.104290 0.415761 0.386391 0.178816 0.048838 0.000098 -0.017181 0.845728 1.012853 0.494223 0.137200 -0.000056 0.006020 0.124690 -0.550164 -0.389848 -0.114199 0.000034 -0.002929 -0.017308 -0.896312 -0.831704 -0.255124 -0.000012 0.000939 0.004631 -0.064144 0.707332 0.278362 0.000006 -0.000454 -0.002225 0.015375 0.650145 0.426377 -0.000002 0.000115 0.000536 -0.003120 0.022224 -0.708788 0.000001 -0.000053 -0.000248 0.001404 -0.006967 -0.481436 * p-type functions 23 4 52152768. 7440218.2 1535484.3 390559.57 115469.69 38541.383 14246.672 5740.2012 2485.2794 1142.7899 552.63076 278.51980 145.30926 77.642981 41.886077 22.880971 12.554862 6.6694959 3.4809842 1.7661486 0.8173020 0.3708105 0.1513552 0.000005 -0.000003 -0.000001 -0.000000 0.000017 -0.000008 -0.000004 -0.000001 0.000051 -0.000025 -0.000012 -0.000004 0.000141 -0.000069 -0.000033 -0.000012 0.000384 -0.000190 -0.000090 -0.000032 0.001056 -0.000523 -0.000248 -0.000088 0.002946 -0.001466 -0.000695 -0.000248 0.008318 -0.004171 -0.001978 -0.000706 0.023197 -0.011765 -0.005598 -0.002003 0.061007 -0.031611 -0.015100 -0.005392 0.140831 -0.075526 -0.036400 -0.013064 0.260087 -0.146548 -0.071361 -0.025554 0.339972 -0.199279 -0.098337 -0.035562 0.259693 -0.099326 -0.039519 -0.013103 0.088816 0.226396 0.161815 0.061572 0.008218 0.508532 0.396495 0.158749 0.000646 0.339798 0.197592 0.064418 -0.000335 0.068987 -0.414423 -0.212369 0.000061 0.002446 -0.602514 -0.364917 -0.000064 0.000746 -0.212369 -0.023814 0.000025 -0.000193 -0.013386 0.531663 -0.000009 0.000061 -0.000668 0.525615 0.000002 -0.000015 0.000157 0.110510 * d-type functions 15 3 19762.544 4952.9396 1693.2815 698.38712 305.48376 140.53492 67.860905 33.708372 17.123250 8.6140811 4.1984878 1.9508518 0.7805844 0.2816736 0.0905590 0.000036 -0.000017 0.000004 0.000285 -0.000136 0.000032 0.001625 -0.000769 0.000181 0.007971 -0.003825 0.000906 0.034451 -0.016560 0.003903 0.112753 -0.055488 0.013186 0.260362 -0.128479 0.030381 0.388508 -0.185068 0.043916 0.311225 -0.067811 0.011546 0.099097 0.288845 -0.082697 0.007480 0.511371 -0.146389 0.000580 0.311691 -0.033104 -0.000055 0.047270 0.299059 0.000053 -0.001331 0.542658 -0.000002 0.000664 0.379190 * f-type functions 10 1 383.57372 131.68830 56.216693 26.307294 12.948024 6.4445078 3.1334851 1.4695379 0.6527711 0.2616560 -0.000611 -0.005338 -0.025804 -0.080164 -0.182582 -0.292678 -0.340576 -0.280991 -0.157431 -0.045649 ****************************************************************************** /Tb.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p2d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * TERBIUM: Tb * * =========== * * Reference state: * * The atomic ground state, Tb(6H) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 65 * s-type functions 27 6 493606400 592645830 100815740 204930140 49630464. 13544932. 4055933.8 1298688.6 439272.33 157245.31 59168.630 23125.261 9439.6358 4021.4097 1759.0605 786.87046 361.47966 151.76439 69.825610 27.831612 14.399732 5.5394069 2.7507356 0.7620653 0.3421758 0.0577364 0.0240791 0.000004 -0.000002 0.000001 0.000000 0.000000 0.000000 0.000014 -0.000005 0.000002 0.000001 0.000000 0.000000 0.000043 -0.000016 0.000007 0.000003 0.000001 0.000000 0.000117 -0.000043 0.000020 0.000010 0.000004 0.000001 0.000284 -0.000103 0.000048 0.000023 0.000009 0.000002 0.000647 -0.000236 0.000110 0.000053 0.000020 0.000005 0.001403 -0.000512 0.000238 0.000115 0.000044 0.000011 0.002971 -0.001089 0.000507 0.000244 0.000094 0.000024 0.006128 -0.002252 0.001050 0.000505 0.000195 0.000049 0.012326 -0.004577 0.002134 0.001027 0.000397 0.000100 0.024844 -0.009313 0.004359 0.002096 0.000809 0.000203 0.050137 -0.019327 0.009054 0.004364 0.001687 0.000423 0.098516 -0.039178 0.018545 0.008928 0.003448 0.000866 0.184278 -0.079516 0.037851 0.018340 0.007100 0.001779 0.300974 -0.145696 0.071531 0.034655 0.013398 0.003368 0.332639 -0.208137 0.105082 0.051858 0.020166 0.005049 0.167888 -0.062819 0.031785 0.014726 0.005595 0.001432 0.017650 0.468349 -0.378346 -0.204246 -0.080832 -0.020420 -0.001654 0.589770 -0.630598 -0.381319 -0.155469 -0.039119 0.000708 0.113866 0.386977 0.364907 0.164401 0.041596 -0.000465 -0.019620 0.866349 1.024695 0.486494 0.126337 0.000212 0.006809 0.126822 -0.565299 -0.393946 -0.108417 -0.000102 -0.003298 -0.018748 -0.879859 -0.782535 -0.219368 0.000033 0.001024 0.004819 -0.059520 0.708226 0.243270 -0.000017 -0.000493 -0.002291 0.014437 0.630766 0.407365 0.000004 0.000130 0.000578 -0.003084 0.020409 -0.675197 -0.000002 -0.000063 -0.000278 0.001451 -0.006889 -0.499841 * p-type functions 23 4 52333798. 7457206.0 1537804.8 390727.44 115481.08 38572.565 14259.328 5740.0579 2485.6897 1142.9397 552.53907 278.47833 145.29343 77.649292 41.847251 22.928841 12.598230 6.6886655 3.4919036 1.7678640 0.8198290 0.3700942 0.1528582 0.000005 -0.000003 -0.000001 -0.000000 0.000018 -0.000009 -0.000004 -0.000002 0.000054 -0.000027 -0.000013 -0.000004 0.000151 -0.000075 -0.000035 -0.000012 0.000411 -0.000204 -0.000096 -0.000033 0.001125 -0.000560 -0.000265 -0.000091 0.003137 -0.001568 -0.000743 -0.000255 0.008836 -0.004449 -0.002111 -0.000725 0.024516 -0.012492 -0.005946 -0.002047 0.064186 -0.033433 -0.015982 -0.005496 0.146828 -0.079220 -0.038209 -0.013197 0.267321 -0.151632 -0.073938 -0.025507 0.340924 -0.200232 -0.098755 -0.034340 0.250425 -0.085435 -0.031216 -0.009713 0.080683 0.251630 0.179790 0.066084 0.006471 0.511464 0.402357 0.154692 0.000698 0.318457 0.162227 0.047238 -0.000385 0.059832 -0.444549 -0.218963 0.000094 0.002012 -0.583988 -0.337721 -0.000076 0.000685 -0.194377 -0.006383 0.000030 -0.000160 -0.011994 0.501926 -0.000012 0.000056 -0.000775 0.528051 0.000003 -0.000012 0.000158 0.127747 * d-type functions 15 2 15348.021 3986.6409 1420.5545 596.17142 277.48593 137.68273 71.297139 37.819030 20.482492 11.127340 5.9959803 3.2176917 1.7116602 0.8791102 0.3777227 0.000059 -0.000028 0.000432 -0.000205 0.002437 -0.001158 0.011038 -0.005295 0.039445 -0.019036 0.110968 -0.054656 0.233978 -0.115694 0.345393 -0.165818 0.313200 -0.103726 0.140656 0.152766 0.024463 0.396331 0.001688 0.387754 0.000179 0.187539 0.000076 0.041688 0.000008 0.003035 * f-type functions 10 1 382.85976 131.39572 56.151133 26.289163 12.954128 6.4572824 3.1444537 1.4609985 0.6271388 0.2344312 -0.000662 -0.005740 -0.027246 -0.083387 -0.184615 -0.285181 -0.327463 -0.282904 -0.181036 -0.067821 ****************************************************************************** /Dy.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p2d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * DYSPROSIUM: Dy * * ============== * * Reference state: * * The atomic ground state, Dy(5I) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 66 * s-type functions 27 6 672145020 607756840 944890800 208295630 51192202. 13811530. 4113756.0 1317149.8 443336.68 157879.93 59337.899 23240.251 9486.9961 4034.5400 1767.0468 792.34108 365.08060 155.18941 71.730390 28.704884 14.882839 5.8379975 2.8749545 0.7956706 0.3545239 0.0575934 0.0238119 0.000004 -0.000001 0.000001 0.000000 -0.000000 0.000000 0.000016 -0.000006 0.000003 0.000001 -0.000000 0.000000 0.000047 -0.000017 0.000008 0.000004 -0.000002 0.000000 0.000118 -0.000043 0.000020 0.000010 -0.000004 0.000001 0.000298 -0.000109 0.000051 0.000024 -0.000009 0.000002 0.000682 -0.000250 0.000117 0.000056 -0.000022 0.000005 0.001472 -0.000540 0.000252 0.000121 -0.000047 0.000012 0.003113 -0.001145 0.000535 0.000258 -0.000099 0.000025 0.006450 -0.002382 0.001113 0.000536 -0.000207 0.000051 0.012954 -0.004832 0.002259 0.001089 -0.000420 0.000104 0.025921 -0.009768 0.004585 0.002209 -0.000851 0.000211 0.051954 -0.020134 0.009459 0.004569 -0.001762 0.000438 0.101935 -0.040815 0.019377 0.009352 -0.003602 0.000896 0.189146 -0.082255 0.039281 0.019076 -0.007366 0.001829 0.303718 -0.148602 0.073251 0.035585 -0.013724 0.003417 0.328435 -0.207238 0.104994 0.051947 -0.020153 0.004998 0.159856 -0.051380 0.025168 0.011385 -0.004273 0.001088 0.015981 0.476023 -0.388446 -0.210736 0.083239 -0.020819 -0.001308 0.580598 -0.623116 -0.378502 0.154049 -0.038402 0.000525 0.110678 0.406111 0.384765 -0.173088 0.043443 -0.000353 -0.019374 0.852932 1.017847 -0.482611 0.124008 0.000159 0.006715 0.123414 -0.568633 0.393343 -0.106727 -0.000073 -0.003159 -0.016269 -0.884397 0.783817 -0.217848 0.000024 0.000968 0.004165 -0.059443 -0.703929 0.239697 -0.000012 -0.000459 -0.001950 0.014141 -0.634241 0.401525 0.000003 0.000119 0.000480 -0.002964 -0.019777 -0.703271 -0.000001 -0.000058 -0.000232 0.001405 0.006777 -0.467814 * p-type functions 23 4 52440248. 7469553.5 1541307.3 390397.57 115424.59 38636.406 14258.544 5741.1601 2486.0723 1142.9163 552.53606 278.40180 145.32206 77.666359 41.830357 22.958915 12.605134 6.6942933 3.4934723 1.7632603 0.8196638 0.3699807 0.1525006 0.000006 -0.000003 -0.000001 -0.000000 0.000020 -0.000010 -0.000005 -0.000002 0.000058 -0.000029 -0.000014 -0.000005 0.000162 -0.000080 -0.000038 -0.000013 0.000438 -0.000218 -0.000103 -0.000035 0.001198 -0.000598 -0.000284 -0.000097 0.003341 -0.001676 -0.000796 -0.000273 0.009364 -0.004734 -0.002253 -0.000770 0.025912 -0.013262 -0.006330 -0.002169 0.067421 -0.035296 -0.016927 -0.005795 0.152915 -0.082988 -0.040147 -0.013797 0.274351 -0.156625 -0.076673 -0.026337 0.341021 -0.200406 -0.098952 -0.034212 0.241200 -0.070955 -0.022634 -0.006635 0.072935 0.276546 0.198610 0.072906 0.005225 0.513236 0.407587 0.155848 0.000595 0.296960 0.125323 0.031207 -0.000345 0.050878 -0.476207 -0.233935 0.000076 0.001873 -0.565930 -0.328177 -0.000063 0.000489 -0.172719 0.023757 0.000025 -0.000092 -0.009472 0.513637 -0.000010 0.000030 -0.000817 0.511167 0.000002 -0.000006 0.000172 0.117363 * d-type functions 15 2 15533.206 4007.7213 1419.1338 595.80893 277.57910 137.68029 71.305743 37.813342 20.476260 11.125700 5.9868311 3.2165010 1.7146562 0.8813605 0.3769442 0.000063 -0.000030 0.000467 -0.000223 0.002646 -0.001264 0.011857 -0.005717 0.042093 -0.020428 0.117267 -0.058105 0.243014 -0.120689 0.350693 -0.168310 0.304262 -0.091911 0.128747 0.175839 0.020834 0.406214 0.001399 0.374669 0.000199 0.172786 0.000070 0.036713 0.000011 0.002644 * f-type functions 10 1 382.49412 131.23976 56.119260 26.280782 12.964015 6.4603455 3.1471031 1.4636831 0.6296336 0.2356707 0.000745 0.006402 0.029892 0.090125 0.194217 0.290897 0.324522 0.273874 0.172995 0.064568 ****************************************************************************** /Ho.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p2d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * HOLMIUM: Ho * * =========== * * Reference state: * * The atomic ground state, Ho(4I) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 67 * s-type functions 27 6 578765230 628501110 104529670 209451370 51656671. 14119209. 4152460.1 1324709.3 448022.74 159208.76 59306.917 23231.077 9504.6756 4033.3879 1768.4847 797.58700 369.73108 159.06501 73.772579 29.699605 15.394413 6.0531880 2.9751088 0.8191590 0.3638196 0.0598589 0.0246869 0.000004 -0.000002 0.000001 0.000000 -0.000000 0.000000 0.000016 -0.000006 0.000003 0.000001 -0.000000 0.000000 0.000048 -0.000018 0.000008 0.000004 -0.000002 0.000000 0.000131 -0.000048 0.000023 0.000011 -0.000004 0.000001 0.000308 -0.000113 0.000053 0.000026 -0.000010 0.000002 0.000716 -0.000264 0.000123 0.000060 -0.000023 0.000006 0.001563 -0.000576 0.000269 0.000130 -0.000050 0.000012 0.003264 -0.001206 0.000564 0.000273 -0.000105 0.000026 0.006718 -0.002492 0.001168 0.000564 -0.000217 0.000053 0.013627 -0.005106 0.002393 0.001156 -0.000445 0.000110 0.027290 -0.010339 0.004865 0.002349 -0.000903 0.000222 0.053926 -0.021014 0.009898 0.004792 -0.001843 0.000454 0.105515 -0.042551 0.020261 0.009798 -0.003766 0.000929 0.194797 -0.085399 0.040913 0.019918 -0.007671 0.001888 0.306000 -0.151463 0.074975 0.036499 -0.014047 0.003467 0.322262 -0.204887 0.104113 0.051686 -0.019994 0.004914 0.152531 -0.040942 0.019078 0.008180 -0.003037 0.000776 0.014703 0.481791 -0.396741 -0.215937 0.085195 -0.021126 -0.001038 0.573116 -0.617151 -0.377055 0.153028 -0.037807 0.000378 0.107369 0.420713 0.402467 -0.180257 0.044846 -0.000258 -0.018313 0.844900 1.009877 -0.478957 0.122005 0.000114 0.006275 0.120464 -0.587121 0.407829 -0.109588 -0.000051 -0.002929 -0.015720 -0.872250 0.768230 -0.211466 0.000016 0.000893 0.004025 -0.057376 -0.715884 0.241402 -0.000008 -0.000425 -0.001892 0.013764 -0.620487 0.394077 0.000002 0.000111 0.000471 -0.002927 -0.019508 -0.684072 -0.000001 -0.000054 -0.000227 0.001380 0.006637 -0.486354 * p-type functions 23 4 51644258. 7576760.9 1540884.6 388722.84 115737.23 38629.098 14264.854 5741.0463 2486.4297 1142.9128 552.52518 278.35243 145.29153 77.670045 41.832990 22.974308 12.583574 6.7000124 3.4996619 1.7641719 0.8189240 0.3697583 0.1526556 0.000006 -0.000003 -0.000002 -0.000000 0.000021 -0.000010 -0.000005 -0.000002 0.000063 -0.000031 -0.000015 -0.000005 0.000172 -0.000086 -0.000041 -0.000014 0.000466 -0.000233 -0.000111 -0.000038 0.001279 -0.000641 -0.000305 -0.000104 0.003548 -0.001787 -0.000851 -0.000290 0.009927 -0.005039 -0.002404 -0.000818 0.027342 -0.014055 -0.006725 -0.002293 0.070775 -0.037238 -0.017914 -0.006105 0.159009 -0.086786 -0.042103 -0.014399 0.281281 -0.161596 -0.079413 -0.027165 0.340703 -0.200035 -0.098790 -0.033965 0.231461 -0.055526 -0.013464 -0.003374 0.065807 0.300923 0.217688 0.079799 0.004176 0.513736 0.410641 0.156106 0.000525 0.275172 0.086437 0.014365 -0.000326 0.042505 -0.503594 -0.246782 0.000071 0.001984 -0.545396 -0.317131 -0.000056 0.000244 -0.154121 0.052317 0.000023 -0.000001 -0.007689 0.524344 -0.000009 -0.000005 -0.000774 0.493104 0.000002 0.000003 0.000166 0.108345 * d-type functions 15 2 16015.423 4009.4325 1416.7510 596.01133 277.54372 137.69700 71.309138 37.808077 20.478399 11.112848 5.9822558 3.2156846 1.7131879 0.8830239 0.3775287 0.000066 -0.000032 0.000510 -0.000245 0.002856 -0.001371 0.012721 -0.006165 0.044893 -0.021898 0.123612 -0.061610 0.252138 -0.125677 0.354886 -0.170171 0.294846 -0.078725 0.117708 0.198055 0.017440 0.413410 0.001343 0.362288 0.000135 0.158732 0.000095 0.032014 0.000006 0.002376 * f-type functions 10 1 381.82905 131.00528 56.068719 26.275594 12.975211 6.4614937 3.1490364 1.4679062 0.6316961 0.2371018 0.000835 0.007123 0.032671 0.096972 0.203400 0.295987 0.320514 0.265293 0.165988 0.061709 ****************************************************************************** /Er.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p2d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * ERBIUM: Er * * ========== * * Reference state: * * The atomic ground state, Er(3H) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 68 * s-type functions 27 6 681542370 649472500 105343440 219738650 52529925. 14149958. 4252331.2 1345509.5 449307.91 159715.36 59453.997 23261.386 9501.9423 4026.1089 1769.0924 799.38698 370.18641 162.56866 75.868112 30.977104 16.025216 6.3763779 3.1168067 0.8540113 0.3782035 0.0609937 0.0249681 0.000004 -0.000002 0.000001 0.000000 0.000000 0.000000 0.000017 -0.000006 0.000003 0.000001 0.000000 -0.000000 0.000050 -0.000019 0.000009 0.000004 0.000002 -0.000000 0.000134 -0.000050 0.000023 0.000011 0.000004 -0.000001 0.000333 -0.000123 0.000058 0.000028 0.000011 -0.000003 0.000749 -0.000277 0.000130 0.000063 0.000024 -0.000006 0.001612 -0.000597 0.000280 0.000135 0.000052 -0.000013 0.003463 -0.001285 0.000603 0.000292 0.000112 -0.000027 0.007085 -0.002640 0.001240 0.000600 0.000230 -0.000056 0.014250 -0.005363 0.002520 0.001220 0.000468 -0.000114 0.028533 -0.010870 0.005127 0.002481 0.000951 -0.000232 0.056143 -0.021992 0.010388 0.005039 0.001934 -0.000472 0.109549 -0.044516 0.021252 0.010301 0.003950 -0.000966 0.200144 -0.088429 0.042513 0.020739 0.007970 -0.001944 0.308445 -0.154607 0.076801 0.037483 0.014395 -0.003523 0.317987 -0.203203 0.103679 0.051591 0.019917 -0.004852 0.143653 -0.028120 0.011173 0.004105 0.001439 -0.000381 0.012330 0.487515 -0.404594 -0.221166 -0.087101 0.021419 -0.000362 0.563261 -0.610503 -0.374590 -0.151805 0.037168 -0.000001 0.104863 0.424613 0.406745 0.181834 -0.044825 -0.000015 -0.016834 0.843836 1.013700 0.479821 -0.121163 0.000000 0.005745 0.120751 -0.579304 -0.400487 0.106585 0.000005 -0.002630 -0.014529 -0.882637 -0.772887 0.210550 -0.000002 0.000793 0.003720 -0.058525 0.707468 -0.235044 0.000001 -0.000375 -0.001740 0.014058 0.626136 -0.392263 -0.000000 0.000097 0.000427 -0.002954 0.019960 0.686990 0.000000 -0.000047 -0.000206 0.001396 -0.006878 0.480871 * p-type functions 23 4 53962859. 7689113.0 1583279.6 401396.94 118187.08 39214.589 14420.880 5787.0444 2495.8116 1143.8780 551.76959 277.74049 145.04343 77.627461 41.891579 23.200157 12.837524 6.9988955 3.7391982 1.9277859 0.9125030 0.4149417 0.1723135 0.000007 -0.000003 -0.000002 -0.000000 0.000022 -0.000011 -0.000005 -0.000002 0.000065 -0.000032 -0.000016 -0.000005 0.000180 -0.000090 -0.000043 -0.000015 0.000491 -0.000246 -0.000117 -0.000040 0.001346 -0.000677 -0.000323 -0.000109 0.003732 -0.001886 -0.000900 -0.000305 0.010452 -0.005324 -0.002547 -0.000863 0.028825 -0.014880 -0.007137 -0.002422 0.074372 -0.039316 -0.018970 -0.006439 0.165793 -0.091020 -0.044275 -0.015067 0.288302 -0.166617 -0.082187 -0.028013 0.339355 -0.198861 -0.098156 -0.033532 0.221017 -0.038545 -0.003308 0.000147 0.059142 0.320960 0.234180 0.085842 0.003386 0.504063 0.404158 0.152543 0.000509 0.259313 0.067583 0.007034 -0.000320 0.040369 -0.484850 -0.236740 0.000068 0.002665 -0.538818 -0.308957 -0.000054 0.000094 -0.171770 0.015617 0.000021 0.000078 -0.010788 0.484326 -0.000008 -0.000033 -0.000843 0.524927 0.000002 0.000010 0.000153 0.139692 * d-type functions 15 2 16417.391 4243.1585 1504.2434 624.51900 285.25007 138.83011 70.914605 37.410418 20.252880 10.984365 5.8503062 3.0768316 1.5694702 0.7294560 0.2119263 0.000067 -0.000032 0.000491 -0.000237 0.002768 -0.001334 0.012781 -0.006218 0.046892 -0.022986 0.132044 -0.066120 0.266036 -0.133140 0.360038 -0.171594 0.281800 -0.061184 0.104681 0.226850 0.014120 0.431968 0.000960 0.351886 0.000182 0.133257 0.000058 0.018240 0.000005 0.000535 * f-type functions 10 1 381.16322 130.81426 56.032337 26.274195 12.979990 6.4604670 3.1503517 1.4689142 0.6328070 0.2362446 -0.000934 -0.007889 -0.035574 -0.103975 -0.212368 -0.299927 -0.316636 -0.257071 -0.159533 -0.059190 ****************************************************************************** /Tm.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p2d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * THULIUM: Tm * * =========== * * Reference state: * * The atomic ground state, Tm(2F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 69 * s-type functions 27 6 695271400 692354290 107860590 214641640 52986807. 14544765. 4278843.5 1349987.6 451579.74 159819.14 59606.978 23271.552 9497.0149 4035.7864 1771.6584 800.71134 372.28123 165.41548 77.559435 31.407479 16.330112 6.5157128 3.1840936 0.8824761 0.3870956 0.0623786 0.0256538 0.000004 -0.000002 0.000001 0.000000 0.000000 0.000000 0.000017 -0.000006 0.000003 0.000002 0.000001 -0.000000 0.000055 -0.000020 0.000010 0.000005 0.000002 -0.000000 0.000146 -0.000054 0.000025 0.000012 0.000005 -0.000001 0.000341 -0.000127 0.000060 0.000029 0.000011 -0.000003 0.000786 -0.000292 0.000137 0.000066 0.000025 -0.000006 0.001722 -0.000640 0.000301 0.000146 0.000056 -0.000013 0.003628 -0.001352 0.000636 0.000308 0.000118 -0.000029 0.007455 -0.002791 0.001314 0.000637 0.000244 -0.000059 0.014952 -0.005654 0.002663 0.001291 0.000494 -0.000120 0.029722 -0.011383 0.005383 0.002609 0.000998 -0.000242 0.058647 -0.023104 0.010938 0.005316 0.002035 -0.000492 0.113039 -0.046263 0.022157 0.010757 0.004116 -0.000997 0.204636 -0.091149 0.043927 0.021479 0.008233 -0.001991 0.312264 -0.158256 0.078988 0.038614 0.014799 -0.003590 0.312416 -0.201116 0.102728 0.051301 0.019749 -0.004770 0.135128 -0.013936 0.003003 -0.000295 -0.000250 0.000033 0.010969 0.495354 -0.417169 -0.228746 -0.089987 0.021931 -0.000206 0.553303 -0.597587 -0.369135 -0.149212 0.036230 -0.000066 0.100532 0.462315 0.450630 0.201045 -0.049222 0.000022 -0.017647 0.817064 0.982781 0.465482 -0.116465 -0.000015 0.006033 0.112283 -0.624221 -0.432324 0.113701 0.000012 -0.002763 -0.013631 -0.849464 -0.745169 0.201651 -0.000004 0.000834 0.003494 -0.053892 0.721037 -0.238419 0.000002 -0.000389 -0.001613 0.012461 0.614909 -0.383499 -0.000000 0.000102 0.000400 -0.002654 0.018957 0.681573 0.000000 -0.000049 -0.000194 0.001259 -0.006524 0.484090 * p-type functions 23 4 54105389. 7699270.2 1587051.8 402297.35 118193.72 39241.105 14433.194 5787.1832 2496.5258 1143.8901 551.66947 277.68866 145.09849 77.601940 41.855518 23.206092 12.842759 7.0046016 3.7467982 1.9334966 0.9167375 0.4178226 0.1737662 0.000007 -0.000004 -0.000002 -0.000001 0.000024 -0.000012 -0.000006 -0.000002 0.000069 -0.000035 -0.000017 -0.000006 0.000192 -0.000097 -0.000046 -0.000016 0.000524 -0.000264 -0.000126 -0.000042 0.001429 -0.000721 -0.000345 -0.000116 0.003962 -0.002009 -0.000961 -0.000324 0.011058 -0.005654 -0.002711 -0.000915 0.030363 -0.015740 -0.007566 -0.002555 0.077925 -0.041392 -0.020026 -0.006767 0.172098 -0.095003 -0.046330 -0.015691 0.294495 -0.171190 -0.084731 -0.028755 0.337779 -0.197146 -0.097191 -0.033010 0.211666 -0.021613 0.007072 0.003793 0.052617 0.344809 0.253712 0.092819 0.002872 0.498512 0.400837 0.150283 0.000286 0.239403 0.029288 -0.009331 -0.000195 0.034195 -0.506902 -0.247164 0.000004 0.002446 -0.518808 -0.297826 -0.000020 0.000016 -0.154547 0.039743 0.000006 0.000100 -0.009186 0.491282 -0.000002 -0.000040 -0.000773 0.511635 0.000000 0.000012 0.000140 0.132844 * d-type functions 15 2 16617.409 4281.6678 1514.4344 626.37186 285.42760 138.81170 70.874392 37.377733 20.252334 11.019065 5.8625400 3.0653484 1.5440675 0.7276871 0.3800456 0.000072 -0.000035 0.000522 -0.000253 0.002954 -0.001430 0.013668 -0.006675 0.049902 -0.024586 0.138947 -0.069895 0.275227 -0.138234 0.362510 -0.171688 0.270233 -0.046250 0.095204 0.245151 0.012311 0.437279 0.000815 0.340888 0.000208 0.119643 0.000037 0.013753 0.000013 0.001204 * f-type functions 10 1 379.73766 130.35791 55.982592 26.281061 12.984346 6.4587573 3.1526147 1.4724500 0.6359528 0.2390239 -0.001048 -0.008734 -0.038572 -0.111107 -0.221028 -0.303308 -0.312077 -0.249108 -0.152891 -0.056982 ****************************************************************************** /Yb.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p2d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * YTTERBIUM: Yb * * ============= * * Reference state: * * The atomic ground state, Yb(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 70 * s-type functions 27 6 716719170 685284170 110617940 229631520 55103176. 14844859. 4330035.2 1362292.7 455129.54 160284.05 59517.787 23205.185 9486.2964 4034.7972 1776.8299 806.29235 375.30396 170.09758 80.217510 33.235814 17.206244 6.8859131 3.3580384 0.9118131 0.3990368 0.0630497 0.0255660 0.000005 -0.000002 0.000001 0.000000 0.000000 0.000000 0.000019 -0.000007 0.000003 0.000002 0.000001 -0.000000 0.000056 -0.000021 0.000010 0.000005 0.000002 -0.000000 0.000148 -0.000055 0.000026 0.000013 0.000005 -0.000001 0.000362 -0.000135 0.000063 0.000031 0.000012 -0.000003 0.000829 -0.000309 0.000146 0.000071 0.000027 -0.000006 0.001816 -0.000678 0.000319 0.000155 0.000059 -0.000014 0.003803 -0.001424 0.000671 0.000326 0.000124 -0.000030 0.007821 -0.002942 0.001388 0.000674 0.000257 -0.000062 0.015723 -0.005973 0.002820 0.001370 0.000523 -0.000125 0.031190 -0.012013 0.005694 0.002765 0.001055 -0.000253 0.061061 -0.024185 0.011482 0.005590 0.002134 -0.000512 0.116776 -0.048170 0.023124 0.011248 0.004293 -0.001032 0.209371 -0.093954 0.045442 0.022259 0.008511 -0.002041 0.313277 -0.160720 0.080443 0.039410 0.015065 -0.003624 0.307036 -0.197754 0.101427 0.050752 0.019493 -0.004669 0.128438 -0.004198 -0.003572 -0.003750 -0.001600 0.000357 0.009473 0.495578 -0.418737 -0.230340 -0.090393 0.021847 0.000239 0.547084 -0.596218 -0.369426 -0.149033 0.035890 -0.000302 0.099851 0.443086 0.430773 0.191575 -0.046515 0.000166 -0.015117 0.833588 1.002850 0.473116 -0.117248 -0.000081 0.005067 0.118367 -0.594867 -0.411017 0.106937 0.000043 -0.002283 -0.013955 -0.873313 -0.756797 0.202901 -0.000013 0.000670 0.003543 -0.057059 0.717261 -0.235205 0.000006 -0.000313 -0.001643 0.013761 0.613434 -0.378576 -0.000002 0.000081 0.000403 -0.002908 0.018431 0.695989 0.000001 -0.000039 -0.000195 0.001378 -0.006326 0.467935 * p-type functions 23 4 54522375. 7756402.2 1591450.3 401990.82 118400.33 39288.989 14434.444 5789.6417 2497.8170 1143.6688 551.53591 277.68476 144.98333 77.528112 41.794548 23.212546 12.922397 7.0191983 3.7516719 1.9301856 0.9226218 0.4216174 0.1753719 0.000008 -0.000004 -0.000002 -0.000001 0.000025 -0.000013 -0.000006 -0.000002 0.000074 -0.000037 -0.000018 -0.000006 0.000205 -0.000103 -0.000049 -0.000017 0.000557 -0.000281 -0.000134 -0.000045 0.001520 -0.000770 -0.000369 -0.000124 0.004202 -0.002139 -0.001025 -0.000344 0.011677 -0.005993 -0.002880 -0.000967 0.031963 -0.016637 -0.008015 -0.002692 0.081632 -0.043568 -0.021130 -0.007105 0.178290 -0.098949 -0.048376 -0.016299 0.300729 -0.175805 -0.087268 -0.029479 0.336135 -0.194992 -0.095979 -0.032385 0.201429 -0.003286 0.018544 0.007776 0.046950 0.368096 0.272944 0.099644 0.002138 0.488696 0.394093 0.146576 0.000317 0.220305 -0.008114 -0.024807 -0.000225 0.030863 -0.525725 -0.256838 0.000028 0.001526 -0.499959 -0.285288 -0.000030 0.000285 -0.137870 0.062313 0.000011 -0.000025 -0.007535 0.494668 -0.000004 0.000009 -0.000790 0.500346 0.000001 -0.000000 0.000143 0.127330 * d-type functions 15 2 18187.932 4693.7060 1574.5195 630.46752 284.53395 138.57521 70.877663 37.391735 20.235405 10.979157 5.8495286 3.0566918 1.5229958 0.6515698 0.0857280 0.000065 -0.000031 0.000496 -0.000241 0.003096 -0.001504 0.014786 -0.007249 0.053392 -0.026422 0.145663 -0.073618 0.283510 -0.142736 0.364276 -0.171436 0.259944 -0.029676 0.085888 0.265435 0.010173 0.438165 0.000843 0.327026 0.000167 0.109169 0.000055 0.011087 0.000002 0.000128 * f-type functions 10 1 936.47925 236.16785 88.823830 38.899260 18.234384 8.7416685 4.0993797 1.8355451 0.7588106 0.2727080 -0.000188 -0.003061 -0.020090 -0.074019 -0.183407 -0.298460 -0.341031 -0.286611 -0.179320 -0.068949 ****************************************************************************** /Lu.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * LUTECIUM: Lu * * ============ * * Reference state: * * The atomic ground state, Lu(2D) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 71 * s-type functions 27 6 670131190 721671780 117152920 235233120 55877724. 14949778. 4363017.0 1375340.5 456540.52 160435.37 59637.104 23233.144 9474.0409 4032.7313 1779.7539 807.87768 374.92607 172.16227 81.759054 34.046202 17.673598 7.0840926 3.4795073 0.9931652 0.4458321 0.0772130 0.0305335 0.000005 -0.000002 0.000001 0.000000 -0.000000 0.000000 0.000019 -0.000007 0.000003 0.000002 -0.000001 0.000000 0.000058 -0.000022 0.000010 0.000005 -0.000002 0.000000 0.000158 -0.000059 0.000028 0.000014 -0.000005 0.000001 0.000382 -0.000143 0.000068 0.000033 -0.000013 0.000003 0.000877 -0.000329 0.000155 0.000076 -0.000029 0.000008 0.001902 -0.000713 0.000337 0.000164 -0.000064 0.000017 0.003995 -0.001503 0.000709 0.000345 -0.000134 0.000035 0.008247 -0.003117 0.001474 0.000717 -0.000279 0.000072 0.016454 -0.006281 0.002972 0.001448 -0.000563 0.000146 0.032488 -0.012580 0.005976 0.002910 -0.001130 0.000294 0.063572 -0.025323 0.012050 0.005884 -0.002288 0.000594 0.120922 -0.050246 0.024186 0.011799 -0.004585 0.001191 0.213870 -0.096779 0.046938 0.023068 -0.008982 0.002331 0.315273 -0.163525 0.082165 0.040370 -0.015711 0.004084 0.302332 -0.195370 0.100380 0.050441 -0.019740 0.005122 0.120477 0.011870 -0.013681 -0.009226 0.003828 -0.000988 0.007502 0.504489 -0.432118 -0.238850 0.095456 -0.024902 0.000643 0.532891 -0.581136 -0.363058 0.149510 -0.039068 -0.000516 0.095236 0.467413 0.460064 -0.209381 0.055397 0.000298 -0.014672 0.817087 0.984810 -0.473379 0.126564 -0.000143 0.005006 0.114969 -0.617793 0.434276 -0.121509 0.000073 -0.002333 -0.014445 -0.854754 0.769856 -0.227807 -0.000024 0.000729 0.003870 -0.057148 -0.706489 0.263069 0.000012 -0.000344 -0.001808 0.013182 -0.638399 0.408738 -0.000003 0.000087 0.000436 -0.002692 -0.022423 -0.691382 0.000001 -0.000040 -0.000200 0.001204 0.006998 -0.491270 * p-type functions 23 4 55602773. 7765745.9 1589584.3 401810.95 118603.34 39300.000 14430.354 5793.1246 2497.8215 1143.7173 551.39771 277.75014 145.03033 77.447456 41.750155 23.226948 12.936387 7.0260649 3.7445047 1.8991908 0.9146347 0.4226736 0.1733363 0.000008 -0.000004 -0.000002 -0.000001 0.000027 -0.000014 -0.000006 -0.000002 0.000079 -0.000040 -0.000019 -0.000007 0.000219 -0.000110 -0.000053 -0.000018 0.000591 -0.000299 -0.000144 -0.000049 0.001618 -0.000822 -0.000395 -0.000136 0.004449 -0.002272 -0.001093 -0.000377 0.012329 -0.006350 -0.003063 -0.001058 0.033630 -0.017575 -0.008499 -0.002936 0.085355 -0.045762 -0.022288 -0.007710 0.184625 -0.103010 -0.050573 -0.017525 0.306169 -0.179912 -0.089733 -0.031190 0.333941 -0.192212 -0.094520 -0.032755 0.191867 0.015538 0.030471 0.012327 0.041383 0.389486 0.292084 0.110110 0.001846 0.478694 0.385735 0.147152 0.000146 0.202737 -0.045237 -0.041962 -0.000135 0.026120 -0.546010 -0.277690 -0.000015 0.001464 -0.482238 -0.285529 -0.000006 0.000152 -0.117945 0.108647 0.000002 0.000004 -0.004265 0.536411 -0.000000 -0.000006 -0.000946 0.461656 0.000000 0.000003 0.000207 0.093271 * d-type functions 15 3 16241.493 4278.9882 1524.5971 640.85771 295.56552 143.52658 71.896175 36.657075 18.884237 9.5104568 4.6208226 2.1120086 0.7516843 0.2514027 0.0754719 0.000085 -0.000041 0.000008 0.000604 -0.000296 0.000055 0.003323 -0.001624 0.000295 0.014679 -0.007258 0.001351 0.052567 -0.026162 0.004776 0.148478 -0.075644 0.014133 0.301109 -0.152389 0.027804 0.388476 -0.180816 0.033800 0.249943 0.020911 -0.011089 0.059022 0.386051 -0.081324 0.003148 0.487288 -0.110890 0.000573 0.223357 0.031345 -0.000003 0.021253 0.319661 0.000022 -0.001399 0.515510 -0.000006 0.000461 0.396530 * f-type functions 10 1 1573.1113 295.92915 108.34588 47.088440 21.825954 10.480024 4.9886532 2.3047615 0.9995225 0.3810215 -0.000091 -0.002172 -0.015308 -0.061728 -0.165874 -0.287806 -0.342421 -0.296328 -0.186906 -0.069041 ****************************************************************************** /Hf.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * HAFNIUM: Hf * * =========== * * Reference state: * * The atomic ground state, Hf(3F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 72 * s-type functions 27 6 877042130 779702690 118339140 238392330 57504405. 15279318. 4424104.7 1381528.0 458121.99 161023.25 59644.584 23252.256 9481.3012 4030.9921 1781.3455 810.14078 375.25819 174.53191 83.439875 35.198825 18.293630 7.4872863 3.6780189 1.0597761 0.4841779 0.0902494 0.0351118 0.000005 -0.000002 0.000001 0.000000 -0.000000 0.000000 0.000020 -0.000008 0.000004 0.000002 -0.000001 0.000000 0.000063 -0.000024 0.000011 0.000005 -0.000002 0.000001 0.000164 -0.000062 0.000029 0.000014 -0.000006 0.000002 0.000398 -0.000150 0.000071 0.000034 -0.000014 0.000004 0.000922 -0.000347 0.000164 0.000080 -0.000032 0.000008 0.002007 -0.000756 0.000358 0.000175 -0.000069 0.000018 0.004220 -0.001595 0.000754 0.000368 -0.000146 0.000039 0.008627 -0.003276 0.001552 0.000758 -0.000299 0.000081 0.017239 -0.006613 0.003135 0.001532 -0.000606 0.000163 0.033957 -0.013221 0.006294 0.003075 -0.001215 0.000327 0.065881 -0.026393 0.012589 0.006166 -0.002438 0.000655 0.124961 -0.052306 0.025237 0.012354 -0.004882 0.001313 0.218886 -0.099862 0.048581 0.023949 -0.009483 0.002548 0.316731 -0.166142 0.083753 0.041308 -0.016354 0.004398 0.296751 -0.191935 0.098855 0.049816 -0.019822 0.005329 0.113278 0.027146 -0.023825 -0.014586 0.006036 -0.001627 0.005812 0.511662 -0.443041 -0.246565 0.100360 -0.027086 0.001008 0.519132 -0.568414 -0.357036 0.149652 -0.040546 -0.000714 0.091103 0.480176 0.473218 -0.219192 0.060231 0.000421 -0.013441 0.807409 0.983514 -0.482729 0.133613 -0.000201 0.004615 0.115285 -0.601051 0.430573 -0.124614 0.000101 -0.002123 -0.013124 -0.874385 0.803887 -0.248892 -0.000034 0.000674 0.003622 -0.061268 -0.715445 0.286866 0.000017 -0.000325 -0.001737 0.014664 -0.638757 0.414314 -0.000004 0.000083 0.000420 -0.003002 -0.024226 -0.653301 0.000002 -0.000037 -0.000185 0.001286 0.006959 -0.538946 * p-type functions 23 4 54404988. 7748864.4 1593143.6 403587.04 118754.63 39432.452 14502.016 5812.2978 2502.3327 1144.1524 550.91456 276.95575 144.49133 77.304950 41.691019 23.084638 12.784288 6.8898813 3.7023937 1.9057350 0.9613676 0.4593815 0.1918470 0.000009 -0.000004 -0.000002 -0.000001 0.000029 -0.000015 -0.000007 -0.000003 0.000084 -0.000043 -0.000021 -0.000007 0.000232 -0.000118 -0.000057 -0.000020 0.000629 -0.000319 -0.000154 -0.000054 0.001706 -0.000869 -0.000419 -0.000148 0.004688 -0.002401 -0.001160 -0.000410 0.012983 -0.006710 -0.003250 -0.001150 0.035331 -0.018534 -0.009002 -0.003186 0.089245 -0.048069 -0.023511 -0.008340 0.191551 -0.107415 -0.052991 -0.018813 0.313046 -0.184950 -0.092669 -0.033049 0.330153 -0.187743 -0.092229 -0.032643 0.180862 0.035337 0.043370 0.017313 0.036781 0.412082 0.312256 0.121435 0.001296 0.471197 0.378974 0.146908 0.000189 0.181012 -0.100465 -0.067385 -0.000182 0.020904 -0.569076 -0.303774 0.000023 0.000935 -0.442808 -0.267551 -0.000023 0.000233 -0.100108 0.138290 0.000010 -0.000060 -0.003273 0.530390 -0.000003 0.000015 -0.000990 0.448448 0.000001 -0.000003 0.000203 0.094557 * d-type functions 15 3 14778.667 4090.9068 1529.1219 645.78378 295.52552 143.39328 72.045069 36.826605 18.954163 9.4983091 4.6160122 2.1348639 0.7957442 0.2863607 0.0934226 0.000105 -0.000052 0.000011 0.000666 -0.000328 0.000071 0.003453 -0.001700 0.000358 0.015587 -0.007764 0.001670 0.056054 -0.028132 0.005950 0.155204 -0.079715 0.017215 0.307735 -0.156731 0.033117 0.387419 -0.179167 0.038550 0.239602 0.039931 -0.017578 0.052844 0.406521 -0.099935 0.002481 0.476693 -0.125042 0.000551 0.201795 0.049956 -0.000026 0.018183 0.364131 0.000026 -0.001030 0.513264 -0.000008 0.000357 0.318584 * f-type functions 10 1 922.86221 322.38834 130.97201 58.432577 27.266952 13.239044 6.4122373 2.9886790 1.2933181 0.4917859 -0.000170 -0.001655 -0.010941 -0.047105 -0.137083 -0.261594 -0.341524 -0.324204 -0.210666 -0.073490 ****************************************************************************** /Ta.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * TANTALUM: Ta * * ============ * * Reference state: * * The atomic ground state, Ta(4F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 73 * s-type functions 27 6 776681310 794156520 125306310 251173430 58837842. 15468056. 4459062.9 1382920.7 458331.46 161256.81 59825.101 23267.054 9465.7916 4030.1852 1783.0107 810.63696 373.87525 176.09612 84.883788 35.969722 18.730490 7.6785878 3.7924093 1.1451710 0.5247891 0.1008002 0.0381204 0.000005 -0.000002 0.000001 0.000000 -0.000000 0.000000 0.000021 -0.000008 0.000004 0.000002 -0.000001 0.000000 0.000064 -0.000024 0.000011 0.000006 -0.000002 0.000001 0.000172 -0.000065 0.000031 0.000015 -0.000006 0.000002 0.000423 -0.000160 0.000076 0.000037 -0.000015 0.000004 0.000971 -0.000367 0.000174 0.000085 -0.000034 0.000009 0.002121 -0.000803 0.000380 0.000186 -0.000075 0.000021 0.004457 -0.001692 0.000802 0.000393 -0.000158 0.000043 0.009052 -0.003454 0.001640 0.000803 -0.000322 0.000089 0.017998 -0.006937 0.003296 0.001616 -0.000649 0.000178 0.035336 -0.013833 0.006600 0.003234 -0.001298 0.000357 0.068635 -0.027655 0.013220 0.006496 -0.002610 0.000717 0.129069 -0.054428 0.026328 0.012930 -0.005193 0.001427 0.223267 -0.102707 0.050101 0.024786 -0.009972 0.002740 0.318643 -0.168982 0.085493 0.042306 -0.017023 0.004680 0.291374 -0.188371 0.097123 0.049155 -0.019873 0.005464 0.105706 0.045270 -0.035809 -0.021177 0.008830 -0.002438 0.004026 0.519096 -0.456070 -0.255247 0.105696 -0.029163 0.001366 0.503458 -0.550319 -0.348637 0.148700 -0.041234 -0.000897 0.086669 0.506372 0.505462 -0.238611 0.067180 0.000534 -0.013185 0.789231 0.963974 -0.482363 0.136646 -0.000257 0.004620 0.110460 -0.632462 0.462964 -0.137411 0.000130 -0.002190 -0.013228 -0.851083 0.810541 -0.259535 -0.000046 0.000720 0.003727 -0.058048 -0.725577 0.306118 0.000022 -0.000339 -0.001747 0.012495 -0.647882 0.418300 -0.000005 0.000084 0.000410 -0.002454 -0.025267 -0.647558 0.000002 -0.000036 -0.000175 0.001008 0.006850 -0.550883 * p-type functions 23 4 54530298. 7750741.7 1594198.8 403604.95 118801.51 39458.963 14512.986 5815.8421 2502.8355 1144.1201 550.71494 276.89574 144.45926 77.223449 41.662410 23.067833 12.772359 6.8745760 3.6964445 1.9108749 0.9653718 0.4648136 0.1946381 0.000009 -0.000005 -0.000002 0.000001 0.000031 -0.000016 -0.000008 0.000003 0.000090 -0.000046 -0.000022 0.000008 0.000247 -0.000126 -0.000061 0.000022 0.000668 -0.000340 -0.000165 0.000060 0.001808 -0.000924 -0.000448 0.000162 0.004956 -0.002547 -0.001236 0.000447 0.013690 -0.007100 -0.003454 0.001250 0.037107 -0.019541 -0.009533 0.003451 0.093174 -0.050407 -0.024770 0.008987 0.198005 -0.111602 -0.055320 0.020088 0.318127 -0.188833 -0.095088 0.034694 0.326649 -0.183286 -0.089822 0.032452 0.171312 0.055249 0.056508 -0.022761 0.032218 0.431237 0.330779 -0.132036 0.001151 0.458569 0.365895 -0.144272 0.000048 0.164392 -0.140610 0.088122 -0.000106 0.017537 -0.584679 0.324208 -0.000014 0.000798 -0.416090 0.257880 -0.000002 0.000180 -0.084808 -0.186549 0.000001 -0.000057 -0.002645 -0.553047 0.000000 0.000011 -0.000732 -0.408970 0.000000 -0.000003 0.000150 -0.076483 * d-type functions 15 3 17225.445 4393.8967 1554.3978 648.74369 297.49476 144.48283 72.614064 37.248619 19.285001 9.7781089 4.8149253 2.2610103 0.8740394 0.3259228 0.1095913 0.000092 -0.000046 0.000011 0.000674 -0.000334 0.000078 0.003704 -0.001840 0.000425 0.016481 -0.008268 0.001943 0.058476 -0.029614 0.006871 0.160771 -0.083192 0.019647 0.313469 -0.160888 0.037293 0.383909 -0.176284 0.041284 0.230433 0.050108 -0.022005 0.050258 0.406045 -0.110258 0.002634 0.470569 -0.135164 0.000474 0.199864 0.054174 -0.000010 0.018349 0.384820 0.000017 -0.000876 0.510226 -0.000006 0.000315 0.285514 * f-type functions 10 1 1187.8438 353.01992 134.44056 58.627888 27.303576 13.248721 6.4051161 3.0133576 1.3376813 0.5292251 -0.000124 -0.001659 -0.012072 -0.052035 -0.147777 -0.275806 -0.348352 -0.311918 -0.186981 -0.057467 ****************************************************************************** /W.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * TUNGSTEN: W * * =========== * * Reference state: * * The atomic ground state, W(5D) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 74 * s-type functions 27 6 774443610 780610150 127630800 262134210 60304759. 15700853. 4543868.9 1419907.1 468492.15 163105.18 59928.441 23169.383 9430.4454 4023.1447 1782.9351 814.63179 378.58995 180.51598 87.513697 37.759665 19.595190 8.1267225 4.0232341 1.2203991 0.5640964 0.1117735 0.0419667 0.000006 -0.000002 0.000001 0.000000 -0.000000 0.000000 0.000022 -0.000008 0.000004 0.000002 -0.000001 0.000000 0.000066 -0.000025 0.000012 0.000006 -0.000002 0.000001 0.000178 -0.000068 0.000032 0.000016 -0.000006 0.000002 0.000448 -0.000170 0.000081 0.000040 -0.000016 0.000005 0.001020 -0.000387 0.000184 0.000090 -0.000037 0.000010 0.002196 -0.000835 0.000396 0.000195 -0.000079 0.000022 0.004601 -0.001754 0.000833 0.000410 -0.000167 0.000046 0.009443 -0.003620 0.001722 0.000846 -0.000345 0.000096 0.018874 -0.007310 0.003480 0.001712 -0.000698 0.000195 0.037114 -0.014610 0.006983 0.003434 -0.001399 0.000390 0.071630 -0.029034 0.013914 0.006860 -0.002797 0.000780 0.133069 -0.056551 0.027412 0.013510 -0.005508 0.001536 0.227916 -0.105716 0.051744 0.025687 -0.010491 0.002925 0.319307 -0.171245 0.086852 0.043139 -0.017622 0.004915 0.283439 -0.182731 0.094493 0.048000 -0.019698 0.005497 0.099988 0.055891 -0.043592 -0.025454 0.010742 -0.003015 0.003770 0.518062 -0.456925 -0.257040 0.108135 -0.030270 0.001292 0.497030 -0.547752 -0.348653 0.151064 -0.042551 -0.000832 0.085598 0.496040 0.494703 -0.237125 0.067871 0.000482 -0.011442 0.798631 0.982100 -0.500260 0.143919 -0.000233 0.003996 0.114298 -0.604043 0.450842 -0.135957 0.000117 -0.001881 -0.012628 -0.877590 0.848605 -0.277428 -0.000041 0.000616 0.003553 -0.062828 -0.733854 0.323370 0.000020 -0.000292 -0.001681 0.013922 -0.648977 0.415233 -0.000005 0.000073 0.000393 -0.002744 -0.026005 -0.625213 0.000002 -0.000030 -0.000164 0.001105 0.006751 -0.575632 * p-type functions 23 4 54530298. 7750741.7 1593586.3 403604.95 118839.30 39486.337 14526.332 5821.5213 2503.7406 1143.7299 550.54038 276.81422 144.34462 77.087392 41.627755 23.041088 12.725048 6.8570117 3.6864894 1.9073753 0.9704770 0.4699133 0.1961985 0.000010 -0.000005 -0.000002 -0.000001 0.000033 -0.000017 -0.000008 -0.000003 0.000096 -0.000049 -0.000024 -0.000009 0.000263 -0.000134 -0.000065 -0.000024 0.000709 -0.000362 -0.000176 -0.000065 0.001915 -0.000981 -0.000478 -0.000176 0.005234 -0.002698 -0.001315 -0.000485 0.014414 -0.007500 -0.003665 -0.001354 0.038966 -0.020599 -0.010094 -0.003729 0.097220 -0.052826 -0.026083 -0.009661 0.204373 -0.115770 -0.057664 -0.021371 0.323120 -0.192635 -0.097503 -0.036330 0.322755 -0.178094 -0.086911 -0.031949 0.161678 0.076031 0.070395 0.028652 0.028017 0.448669 0.348729 0.142725 0.001070 0.445211 0.349764 0.139373 -0.000085 0.148552 -0.180983 -0.109453 -0.000034 0.014146 -0.596995 -0.344758 -0.000049 0.000889 -0.388966 -0.242031 0.000019 0.000033 -0.070291 0.237413 -0.000008 -0.000009 -0.002131 0.564565 0.000004 -0.000010 -0.000526 0.371776 -0.000001 0.000001 0.000103 0.061533 * d-type functions 15 3 16747.285 4399.5633 1566.3560 649.36900 296.99548 144.63746 72.846508 37.346907 19.271827 9.7599996 4.8219740 2.2886607 0.9225912 0.3548454 0.1227592 0.000102 -0.000051 0.000013 0.000710 -0.000355 0.000089 0.003924 -0.001966 0.000487 0.017644 -0.008918 0.002238 0.061884 -0.031627 0.007870 0.166899 -0.087048 0.021957 0.320446 -0.165657 0.041205 0.383451 -0.173786 0.043076 0.219182 0.071186 -0.029460 0.044154 0.423226 -0.124539 0.002297 0.458371 -0.138721 0.000366 0.180274 0.072010 0.000004 0.015521 0.406124 0.000006 -0.000453 0.498498 -0.000003 0.000178 0.255678 * f-type functions 10 1 632.13520 254.95032 130.40476 65.640906 32.042239 15.730900 7.6233340 3.5844936 1.5857610 0.6223886 -0.000511 -0.002698 -0.010673 -0.042266 -0.126206 -0.258340 -0.351037 -0.330761 -0.200878 -0.058508 ****************************************************************************** /Re.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * RHENIUM: Re * * =========== * * Reference state: * * The atomic ground state, Re(6S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 75 * s-type functions 27 6 101052140 991784020 140040480 257114100 59901854. 15843201. 4598973.7 1435915.8 470030.33 162694.48 59724.337 23161.222 9432.7451 4016.6927 1781.4294 814.88614 377.88345 182.25026 89.086366 38.481558 20.117040 8.4970481 4.2217471 1.2715109 0.5848914 0.1145339 0.0422568 0.000005 -0.000002 0.000001 0.000000 -0.000000 -0.000000 0.000021 -0.000008 0.000004 0.000002 -0.000001 -0.000000 0.000072 -0.000028 0.000013 0.000006 -0.000003 -0.000001 0.000197 -0.000075 0.000036 0.000018 -0.000007 -0.000002 0.000468 -0.000179 0.000085 0.000042 -0.000017 -0.000005 0.001069 -0.000408 0.000194 0.000096 -0.000039 -0.000011 0.002296 -0.000877 0.000417 0.000206 -0.000085 -0.000024 0.004830 -0.001850 0.000881 0.000434 -0.000179 -0.000050 0.009964 -0.003838 0.001829 0.000902 -0.000373 -0.000105 0.019845 -0.007725 0.003685 0.001818 -0.000751 -0.000211 0.038696 -0.015319 0.007338 0.003621 -0.001496 -0.000420 0.074060 -0.030196 0.014501 0.007173 -0.002965 -0.000832 0.137319 -0.058789 0.028570 0.014131 -0.005842 -0.001639 0.233045 -0.109008 0.053486 0.026642 -0.011026 -0.003096 0.320198 -0.173621 0.088403 0.044084 -0.018273 -0.005126 0.277023 -0.177716 0.091791 0.046773 -0.019423 -0.005467 0.093005 0.074033 -0.055782 -0.032139 0.013621 0.003874 0.002606 0.522678 -0.468229 -0.265304 0.113519 0.031928 0.001416 0.482628 -0.528358 -0.338207 0.148291 0.042196 -0.000879 0.081879 0.519130 0.522634 -0.253651 -0.073501 0.000514 -0.011745 0.777667 0.964466 -0.502146 -0.144998 -0.000246 0.004129 0.112585 -0.600162 0.460410 0.138908 0.000121 -0.001900 -0.011632 -0.887020 0.866914 0.288868 -0.000041 0.000605 0.003230 -0.064120 -0.781078 -0.362682 0.000020 -0.000284 -0.001531 0.014625 -0.614392 -0.381983 -0.000005 0.000070 0.000353 -0.002888 -0.021587 0.672865 0.000002 -0.000029 -0.000146 0.001159 0.005465 0.527122 * p-type functions 23 4 54553082. 7750741.7 1593433.3 403663.73 118839.30 39486.337 14537.295 5825.7865 2504.0419 1143.4914 550.39936 276.80865 144.30410 76.944728 41.603149 23.022137 12.696295 6.8469580 3.6841190 1.9041662 0.9710220 0.4720459 0.1966187 0.000011 -0.000005 -0.000003 -0.000001 0.000035 -0.000018 -0.000009 -0.000003 0.000102 -0.000052 -0.000025 -0.000010 0.000280 -0.000143 -0.000070 -0.000026 0.000753 -0.000385 -0.000188 -0.000071 0.002028 -0.001042 -0.000510 -0.000192 0.005523 -0.002856 -0.001398 -0.000525 0.015176 -0.007923 -0.003889 -0.001464 0.040879 -0.021691 -0.010679 -0.004019 0.101323 -0.055295 -0.027433 -0.010352 0.210737 -0.119957 -0.060049 -0.022669 0.327537 -0.196077 -0.099737 -0.037868 0.318493 -0.172177 -0.083571 -0.031190 0.152445 0.097109 0.084904 0.035016 0.024111 0.464294 0.365418 0.152928 0.001108 0.430456 0.331435 0.132951 -0.000255 0.133975 -0.220276 -0.131224 0.000063 0.011524 -0.605540 -0.363765 -0.000100 0.000884 -0.361772 -0.221689 0.000048 -0.000054 -0.058260 0.290723 -0.000022 0.000014 -0.001617 0.569337 0.000009 -0.000020 -0.000419 0.333045 -0.000002 0.000003 0.000080 0.048879 * d-type functions 15 3 17746.359 4446.9144 1561.6227 650.62171 297.56038 144.72488 72.910863 37.417531 19.294708 9.7517951 4.8121284 2.2834578 0.9580024 0.3805709 0.1358595 0.000103 -0.000052 0.000014 0.000769 -0.000387 0.000102 0.004210 -0.002127 0.000559 0.018621 -0.009484 0.002511 0.065274 -0.033663 0.008872 0.174053 -0.091504 0.024352 0.327614 -0.170532 0.044948 0.380735 -0.169808 0.043940 0.208041 0.091939 -0.037289 0.039128 0.440365 -0.138781 0.001916 0.448292 -0.139688 0.000305 0.159072 0.095894 0.000001 0.011644 0.424688 0.000005 0.000028 0.481755 -0.000002 -0.000040 0.228242 * f-type functions 10 1 852.06756 319.04614 138.97068 66.108754 33.268171 17.262090 8.7627437 4.2440777 1.9191791 0.7639534 0.000281 0.002170 0.012233 0.045633 0.120151 0.235041 0.334330 0.337438 0.216908 0.066808 ****************************************************************************** /Os.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * OSMIUM: Os * * ========== * * Reference state: * * The atomic ground state, Os(5D) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 76 * s-type functions 27 6 165337300 164500410 257346170 516023820 123867700 33755743. 9914548.3 3096957.3 1028553.0 357428.37 129857.63 49115.804 19341.982 7901.6192 3302.1777 1410.6157 618.64959 245.67379 111.22219 44.716532 23.297712 9.3212246 4.6722302 1.3565983 0.6413804 0.1306362 0.0475413 0.000004 -0.000002 0.000001 0.000000 0.000000 0.000000 0.000016 -0.000006 0.000003 0.000001 0.000001 -0.000000 0.000048 -0.000018 0.000009 0.000004 0.000002 -0.000000 0.000126 -0.000048 0.000023 0.000011 0.000005 -0.000001 0.000299 -0.000114 0.000055 0.000027 0.000011 -0.000003 0.000666 -0.000255 0.000122 0.000060 0.000025 -0.000007 0.001447 -0.000554 0.000264 0.000131 0.000055 -0.000016 0.002996 -0.001151 0.000549 0.000271 0.000114 -0.000032 0.006038 -0.002325 0.001109 0.000549 0.000230 -0.000066 0.011989 -0.004657 0.002223 0.001100 0.000461 -0.000131 0.023430 -0.009177 0.004392 0.002174 0.000910 -0.000259 0.045474 -0.018245 0.008751 0.004338 0.001817 -0.000518 0.086819 -0.035731 0.017257 0.008557 0.003583 -0.001021 0.161447 -0.071089 0.034596 0.017217 0.007221 -0.002058 0.275164 -0.132304 0.065779 0.032822 0.013763 -0.003923 0.346048 -0.204711 0.104814 0.052896 0.022261 -0.006350 0.223955 -0.110043 0.056017 0.027838 0.011644 -0.003313 0.034808 0.405634 -0.330527 -0.185051 -0.079704 0.022799 -0.004809 0.629083 -0.672566 -0.414901 -0.183405 0.052770 0.002681 0.145827 0.273462 0.281526 0.139658 -0.041070 -0.001785 -0.024398 0.927724 1.116124 0.580746 -0.170939 0.000870 0.009104 0.162329 -0.422926 -0.338441 0.104665 -0.000436 -0.004357 -0.020933 -0.999273 -0.967438 0.324387 0.000154 0.001453 0.005720 -0.081240 0.748951 -0.356751 -0.000080 -0.000735 -0.002830 0.020807 0.639139 -0.399462 0.000019 0.000179 0.000656 -0.004029 0.025853 0.627442 -0.000008 -0.000072 -0.000264 0.001567 -0.006284 0.577794 * p-type functions 23 4 54369194. 7742180.7 1594791.7 403722.04 118751.46 39489.176 14546.855 5828.7506 2504.3916 1143.2245 550.29017 276.83061 144.26916 76.795405 41.587288 23.013150 12.665653 6.8412648 3.6864177 1.9004196 0.9676875 0.4733940 0.1971739 0.000011 -0.000006 -0.000003 -0.000001 0.000037 -0.000019 -0.000009 -0.000004 0.000109 -0.000056 -0.000027 -0.000010 0.000298 -0.000152 -0.000075 -0.000029 0.000800 -0.000410 -0.000201 -0.000077 0.002145 -0.001105 -0.000543 -0.000208 0.005828 -0.003022 -0.001486 -0.000569 0.015967 -0.008363 -0.004123 -0.001580 0.042849 -0.022821 -0.011288 -0.004325 0.105514 -0.057829 -0.028828 -0.011076 0.217039 -0.124138 -0.062457 -0.024009 0.331607 -0.199262 -0.101847 -0.039379 0.313818 -0.165525 -0.079750 -0.030196 0.143429 0.118625 0.100055 0.041914 0.020587 0.477767 0.380701 0.162767 0.001178 0.414954 0.310808 0.125107 -0.000414 0.120667 -0.258612 -0.153761 0.000155 0.009205 -0.610319 -0.381480 -0.000147 0.000931 -0.334668 -0.196985 0.000074 -0.000154 -0.048198 0.346387 -0.000034 0.000047 -0.001165 0.567526 0.000014 -0.000034 -0.000355 0.292053 -0.000003 0.000005 0.000065 0.038995 * d-type functions 15 3 17143.743 4428.1331 1569.1091 652.26703 297.99642 144.79761 73.018190 37.600135 19.413692 9.7558259 4.7821248 2.2458991 0.9722615 0.3919583 0.1410807 0.000115 -0.000058 0.000016 0.000815 -0.000413 0.000114 0.004459 -0.002270 0.000623 0.019727 -0.010127 0.002789 0.068749 -0.035759 0.009846 0.181303 -0.096087 0.026608 0.333513 -0.174642 0.048120 0.376146 -0.165156 0.043912 0.198647 0.110923 -0.044663 0.035270 0.459053 -0.153080 0.001461 0.438698 -0.136583 0.000299 0.136871 0.128851 -0.000027 0.007607 0.439318 0.000009 0.000671 0.459339 -0.000005 -0.000119 0.210119 * f-type functions 10 1 1032.7856 328.20297 136.86844 65.596999 33.371014 17.297401 8.7805324 4.3009337 1.9824156 0.8076553 0.000235 0.002498 0.014034 0.049232 0.127723 0.247290 0.339171 0.326917 0.198827 0.056322 ****************************************************************************** /Ir.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * IRIDIUM: Ir * * =========== * * Reference state: * * The atomic ground state, Ir(4F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 77 * s-type functions 27 6 154077280 162362100 256476600 536570140 130788620 35093707. 10210191. 3185316.7 1047978.8 361606.83 130906.26 49287.476 19392.295 7935.9883 3324.9459 1423.7126 626.97354 252.28449 114.59108 46.252410 24.128959 9.7366503 4.9080511 1.4827094 0.7051397 0.1362317 0.0497745 0.000004 -0.000002 0.000001 0.000000 0.000000 0.000000 0.000017 -0.000006 0.000003 0.000002 0.000001 -0.000000 0.000050 -0.000019 0.000009 0.000005 0.000002 -0.000001 0.000128 -0.000049 0.000023 0.000012 0.000005 -0.000001 0.000307 -0.000118 0.000056 0.000028 0.000012 -0.000003 0.000698 -0.000269 0.000128 0.000064 0.000027 -0.000008 0.001502 -0.000579 0.000276 0.000137 0.000058 -0.000017 0.003114 -0.001202 0.000574 0.000285 0.000121 -0.000035 0.006329 -0.002449 0.001171 0.000581 0.000246 -0.000071 0.012511 -0.004883 0.002335 0.001160 0.000492 -0.000141 0.024441 -0.009623 0.004614 0.002292 0.000971 -0.000279 0.047331 -0.019090 0.009174 0.004563 0.001935 -0.000556 0.089555 -0.037100 0.017956 0.008934 0.003788 -0.001088 0.164884 -0.073084 0.035647 0.017802 0.007560 -0.002173 0.277730 -0.134670 0.067129 0.033615 0.014270 -0.004100 0.343606 -0.204378 0.104888 0.053126 0.022647 -0.006516 0.216922 -0.102220 0.051457 0.025527 0.010774 -0.003084 0.033046 0.409523 -0.335264 -0.188561 -0.082217 0.023699 -0.004243 0.623947 -0.668673 -0.414404 -0.185781 0.053961 0.002345 0.145243 0.277615 0.287562 0.145265 -0.043264 -0.001570 -0.024535 0.923840 1.117060 0.588904 -0.174701 0.000778 0.009376 0.163469 -0.413527 -0.334358 0.103856 -0.000395 -0.004557 -0.020790 -1.006952 -0.998655 0.340480 0.000141 0.001538 0.005711 -0.084934 0.714216 -0.350583 -0.000070 -0.000748 -0.002713 0.019970 0.685576 -0.411429 0.000016 0.000172 0.000589 -0.003618 0.029506 0.642030 -0.000007 -0.000071 -0.000242 0.001438 -0.007753 0.558139 * p-type functions 23 4 53288951. 7574870.5 1564127.2 399411.60 118743.75 39762.614 14630.867 5839.3648 2503.7540 1142.8892 550.21367 276.30742 143.62535 76.371145 41.444913 22.920241 12.596815 6.8110112 3.6709846 1.9291885 0.9713747 0.4632089 0.1807624 0.000012 -0.000006 -0.000003 -0.000001 0.000041 -0.000021 -0.000010 -0.000004 0.000117 -0.000060 -0.000029 -0.000012 0.000317 -0.000162 -0.000080 -0.000031 0.000841 -0.000433 -0.000213 -0.000083 0.002248 -0.001162 -0.000573 -0.000223 0.006135 -0.003191 -0.001576 -0.000613 0.016817 -0.008837 -0.004376 -0.001704 0.044931 -0.024017 -0.011935 -0.004648 0.109685 -0.060371 -0.030240 -0.011807 0.223602 -0.128491 -0.064977 -0.025395 0.336936 -0.203163 -0.104324 -0.040984 0.308524 -0.157410 -0.074961 -0.028748 0.133108 0.142842 0.117368 0.050004 0.017461 0.490284 0.395651 0.172252 0.001038 0.397448 0.285891 0.114980 -0.000415 0.106726 -0.299464 -0.179398 0.000148 0.007457 -0.613053 -0.396710 -0.000136 0.000769 -0.303480 -0.169083 0.000069 -0.000137 -0.038751 0.390340 -0.000028 0.000019 -0.001908 0.575012 0.000011 -0.000024 -0.000021 0.256705 -0.000002 0.000003 -0.000003 0.025290 * d-type functions 15 3 17150.290 4430.1401 1570.0663 652.55850 297.98838 144.81227 73.049089 37.643600 19.406176 9.7536543 4.7830041 2.2284709 0.9736501 0.3930511 0.1426496 0.000123 -0.000063 0.000018 0.000872 -0.000445 0.000127 0.004751 -0.002439 0.000696 0.020928 -0.010822 0.003093 0.072412 -0.038004 0.010887 0.188548 -0.100665 0.028922 0.340226 -0.179334 0.051433 0.372358 -0.159348 0.043302 0.187655 0.132542 -0.053524 0.030787 0.472532 -0.165478 0.001375 0.425470 -0.131665 0.000175 0.119666 0.164253 0.000003 0.004744 0.459778 -0.000007 0.001006 0.436917 -0.000001 -0.000161 0.180344 * f-type functions 10 1 832.74020 315.33614 139.46640 66.563591 33.441924 17.262282 8.8247886 4.4024321 2.0738695 0.8581059 0.000369 0.002669 0.014546 0.053091 0.138220 0.258177 0.338915 0.314281 0.184958 0.049354 ****************************************************************************** /Pt.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * PLATINUM: Pt * * ============ * * Reference state: * * The atomic ground state, Pt(3D) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 78 * s-type functions 27 6 184728550 176652230 278968410 567741310 134078650 35741727. 10452539. 3259262.7 1067587.3 364735.22 131014.15 49393.816 19432.965 7943.4799 3342.8936 1441.8872 639.36911 259.57531 118.29514 48.496136 25.205052 10.220688 5.1647690 1.5505902 0.7332968 0.1697975 0.0593446 0.000004 -0.000002 0.000001 0.000000 0.000000 0.000000 0.000017 -0.000007 0.000003 0.000002 0.000001 -0.000000 0.000051 -0.000020 0.000010 0.000005 0.000002 -0.000001 0.000135 -0.000052 0.000025 0.000012 0.000005 -0.000002 0.000326 -0.000126 0.000060 0.000030 0.000013 -0.000004 0.000729 -0.000282 0.000135 0.000067 0.000029 -0.000008 0.001560 -0.000604 0.000289 0.000144 0.000061 -0.000017 0.003241 -0.001257 0.000601 0.000299 0.000128 -0.000036 0.006612 -0.002571 0.001231 0.000613 0.000262 -0.000073 0.013173 -0.005166 0.002475 0.001233 0.000527 -0.000147 0.025561 -0.010119 0.004860 0.002422 0.001034 -0.000288 0.049007 -0.019873 0.009569 0.004775 0.002041 -0.000568 0.092671 -0.038644 0.018738 0.009355 0.003997 -0.001114 0.168891 -0.075387 0.036861 0.018470 0.007903 -0.002201 0.278930 -0.136383 0.068138 0.034241 0.014649 -0.004087 0.339140 -0.202691 0.104288 0.053001 0.022762 -0.006339 0.211545 -0.095856 0.047546 0.023548 0.010011 -0.002811 0.032267 0.411699 -0.338025 -0.190991 -0.083998 0.023582 -0.004068 0.618610 -0.665806 -0.414293 -0.187165 0.052489 0.002247 0.144650 0.266616 0.277179 0.140915 -0.039933 -0.001486 -0.022104 0.929751 1.127851 0.600943 -0.174656 0.000738 0.008508 0.169923 -0.388080 -0.322357 0.101160 -0.000374 -0.004123 -0.021493 -1.026997 -1.022456 0.331669 0.000135 0.001402 0.006008 -0.088459 0.738285 -0.338583 -0.000071 -0.000718 -0.003009 0.022213 0.663533 -0.406304 0.000018 0.000183 0.000728 -0.004526 0.032222 0.438703 -0.000007 -0.000067 -0.000267 0.001611 -0.006569 0.757775 * p-type functions 23 4 52551826. 7544646.5 1560249.7 397866.06 118939.82 39790.141 14639.627 5842.5603 2502.6396 1143.0125 550.14265 276.24427 143.58046 76.283759 41.438911 22.887043 12.581973 6.8032374 3.6625440 1.9322378 0.9713806 0.4599298 0.1762527 0.000013 -0.000007 -0.000003 -0.000001 0.000043 -0.000022 -0.000011 -0.000004 0.000125 -0.000064 -0.000032 -0.000012 0.000336 -0.000173 -0.000086 -0.000034 0.000888 -0.000458 -0.000227 -0.000089 0.002380 -0.001233 -0.000611 -0.000240 0.006459 -0.003370 -0.001672 -0.000656 0.017691 -0.009325 -0.004639 -0.001823 0.047034 -0.025232 -0.012599 -0.004953 0.113911 -0.062958 -0.031684 -0.012488 0.230055 -0.132810 -0.067514 -0.026641 0.340316 -0.205797 -0.106131 -0.042085 0.302706 -0.149049 -0.070073 -0.026994 0.124590 0.164550 0.133542 0.057449 0.014907 0.500655 0.408369 0.179879 0.000997 0.380569 0.261419 0.103591 -0.000459 0.094768 -0.336262 -0.201851 0.000170 0.006390 -0.613354 -0.409486 -0.000143 0.000518 -0.275564 -0.132097 0.000074 -0.000070 -0.030768 0.431206 -0.000029 -0.000023 -0.001937 0.557914 0.000011 -0.000013 0.000005 0.231954 -0.000002 -0.000001 -0.000045 0.020751 * d-type functions 15 3 17132.605 4433.0328 1570.7842 653.07126 297.93171 144.82256 73.095243 37.674886 19.391481 9.7570972 4.7940839 2.2117054 0.9749756 0.3898125 0.1366722 0.000132 -0.000068 0.000019 0.000932 -0.000479 0.000137 0.005054 -0.002616 0.000749 0.022169 -0.011548 0.003300 0.076246 -0.040372 0.011602 0.195705 -0.105242 0.030229 0.346681 -0.183889 0.052944 0.368155 -0.152664 0.040658 0.176686 0.154489 -0.060583 0.026789 0.483636 -0.171661 0.001306 0.410847 -0.119188 0.000076 0.104409 0.192335 0.000022 0.002821 0.453058 -0.000022 0.001463 0.421967 -0.000000 -0.000087 0.189776 * f-type functions 10 1 1438.0312 458.67494 181.97510 81.000401 38.248610 18.816155 9.2984602 4.5320724 2.1117028 0.8734324 0.000128 0.001442 0.010011 0.044854 0.134573 0.269446 0.357284 0.318992 0.170926 0.040892 ****************************************************************************** /Au.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * GOLD: Au * * ======== * * Reference state: * * The atomic ground state, Au(2S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 79 * s-type functions 27 6 182929160 179153950 279149500 570424400 137601600 37040264. 10608426. 3276226.1 1078814.7 370018.56 133008.38 49955.339 19510.300 7934.2639 3348.3330 1452.8423 647.58292 266.28397 121.75325 50.355493 26.104885 10.566874 5.3726006 1.6183897 0.7517503 0.1500032 0.0528263 0.000005 -0.000002 0.000001 0.000000 0.000000 -0.000000 0.000018 -0.000007 0.000003 0.000002 0.000001 -0.000000 0.000055 -0.000021 0.000010 0.000005 0.000002 -0.000001 0.000142 -0.000055 0.000027 0.000013 0.000006 -0.000002 0.000335 -0.000130 0.000063 0.000031 0.000013 -0.000004 0.000761 -0.000296 0.000142 0.000071 0.000030 -0.000008 0.001662 -0.000646 0.000310 0.000155 0.000067 -0.000018 0.003402 -0.001326 0.000635 0.000317 0.000137 -0.000037 0.006863 -0.002682 0.001286 0.000643 0.000277 -0.000076 0.013633 -0.005372 0.002579 0.001289 0.000556 -0.000152 0.026428 -0.010517 0.005060 0.002530 0.001092 -0.000299 0.050831 -0.020718 0.009995 0.005004 0.002160 -0.000591 0.096294 -0.040422 0.019639 0.009837 0.004246 -0.001162 0.173646 -0.078058 0.038255 0.019237 0.008313 -0.002274 0.280803 -0.138557 0.069404 0.034993 0.015128 -0.004143 0.335202 -0.201329 0.103816 0.052970 0.022971 -0.006285 0.204732 -0.087831 0.042727 0.021008 0.009026 -0.002479 0.030522 0.415754 -0.342824 -0.194441 -0.086512 0.023821 -0.003500 0.612813 -0.661811 -0.414114 -0.188955 0.052132 0.001881 0.143118 0.268165 0.281256 0.144027 -0.040385 -0.001224 -0.020738 0.930199 1.130731 0.611411 -0.174100 0.000605 0.008025 0.170556 -0.391047 -0.334709 0.102163 -0.000305 -0.003894 -0.022141 -1.027463 -1.034074 0.332612 0.000105 0.001256 0.005835 -0.085346 0.783406 -0.366067 -0.000051 -0.000601 -0.002748 0.019919 0.636224 -0.358716 0.000012 0.000143 0.000617 -0.003793 0.025451 0.552858 -0.000005 -0.000057 -0.000244 0.001462 -0.005458 0.633788 * p-type functions 23 4 52550552. 7344145.2 1542720.3 397769.68 118921.02 39903.694 14671.297 5843.2763 2501.9242 1142.9128 550.15701 276.17684 143.47346 76.033991 41.438478 22.907685 12.526282 6.7923370 3.6542217 1.9405845 0.9681845 0.4515640 0.1646814 0.000014 -0.000007 -0.000004 -0.000001 0.000047 -0.000024 -0.000012 -0.000005 0.000132 -0.000068 -0.000034 -0.000013 0.000356 -0.000184 -0.000091 -0.000036 0.000939 -0.000486 -0.000241 -0.000096 0.002504 -0.001301 -0.000647 -0.000258 0.006809 -0.003562 -0.001775 -0.000706 0.018603 -0.009838 -0.004916 -0.001958 0.049193 -0.026483 -0.013284 -0.005294 0.118234 -0.065624 -0.033183 -0.013254 0.236355 -0.137043 -0.070009 -0.028009 0.343525 -0.208323 -0.107914 -0.043358 0.296730 -0.139665 -0.064347 -0.024979 0.116345 0.187118 0.150512 0.065756 0.012193 0.506862 0.418338 0.187034 0.001213 0.364187 0.234210 0.091223 -0.000648 0.084970 -0.372260 -0.226935 0.000288 0.004608 -0.608264 -0.419323 -0.000207 0.000715 -0.248476 -0.093997 0.000107 -0.000216 -0.024335 0.471600 -0.000042 0.000028 -0.001971 0.547470 0.000015 -0.000031 0.000071 0.199419 -0.000003 0.000003 -0.000052 0.014007 * d-type functions 15 3 16934.048 4453.9466 1580.3312 653.18404 297.76176 144.94472 73.143912 37.729467 19.439955 9.7693369 4.8084185 2.2101367 0.9782285 0.3958064 0.1420337 0.000142 -0.000074 0.000022 0.000979 -0.000507 0.000149 0.005353 -0.002792 0.000824 0.023575 -0.012379 0.003642 0.080028 -0.042736 0.012667 0.202754 -0.109895 0.032495 0.353083 -0.188261 0.055913 0.362398 -0.145356 0.038994 0.166480 0.175592 -0.069747 0.023747 0.494674 -0.182887 0.001083 0.394113 -0.109022 0.000068 0.090912 0.227015 0.000024 0.001178 0.462955 -0.000011 0.001070 0.398360 0.000003 -0.000271 0.165388 * f-type functions 10 1 1273.3749 431.81235 182.23462 85.326812 41.900789 21.305811 10.796232 5.3227245 2.4860055 1.0232078 0.000181 0.001715 0.010182 0.041793 0.120806 0.245793 0.346789 0.335410 0.191709 0.047674 ****************************************************************************** /Hg.ANO-DK3.Tsuchiya.27s23p15d10f.6s4p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * MERCURY: Hg * * =========== * * Reference state: * * The atomic ground state, Hg(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 80 * s-type functions 27 6 192779210 191872560 303134630 604682560 142298630 37651363. 10819765. 3314133.2 1084161.3 372437.76 133497.60 50068.919 19574.362 7957.6083 3348.6115 1456.4912 653.79251 272.33151 125.03871 52.166627 27.064125 11.086042 5.6518041 1.7715031 0.8416856 0.1700043 0.0595665 0.000005 -0.000002 0.000001 0.000000 0.000000 -0.000000 0.000018 -0.000007 0.000003 0.000002 0.000001 -0.000000 0.000056 -0.000022 0.000010 0.000005 0.000002 -0.000001 0.000148 -0.000058 0.000028 0.000014 0.000006 -0.000002 0.000356 -0.000139 0.000067 0.000033 0.000015 -0.000004 0.000800 -0.000313 0.000150 0.000075 0.000033 -0.000010 0.001734 -0.000678 0.000325 0.000163 0.000071 -0.000021 0.003596 -0.001408 0.000676 0.000339 0.000148 -0.000043 0.007187 -0.002822 0.001356 0.000680 0.000297 -0.000086 0.014218 -0.005631 0.002707 0.001358 0.000594 -0.000173 0.027589 -0.011039 0.005321 0.002669 0.001168 -0.000339 0.052699 -0.021597 0.010439 0.005243 0.002296 -0.000667 0.099087 -0.041869 0.020381 0.010245 0.004484 -0.001303 0.178199 -0.080648 0.039612 0.019987 0.008762 -0.002545 0.284938 -0.141917 0.071270 0.036069 0.015812 -0.004595 0.330928 -0.199887 0.103308 0.052887 0.023275 -0.006765 0.196610 -0.078078 0.036843 0.017970 0.007774 -0.002252 0.028767 0.421057 -0.349056 -0.199048 -0.089801 0.026211 -0.003088 0.605655 -0.656368 -0.412455 -0.191273 0.056149 0.001647 0.141158 0.271472 0.284722 0.148821 -0.044689 -0.001077 -0.019811 0.926037 1.133708 0.622024 -0.187752 0.000539 0.007822 0.173670 -0.374674 -0.324177 0.104023 -0.000275 -0.003845 -0.021993 -1.039688 -1.074593 0.372549 0.000098 0.001290 0.006070 -0.091375 0.737133 -0.378095 -0.000048 -0.000612 -0.002831 0.020125 0.693891 -0.406463 0.000011 0.000139 0.000603 -0.003597 0.029363 0.608352 -0.000004 -0.000054 -0.000235 0.001351 -0.006935 0.596153 * p-type functions 23 4 60414736. 8230854.0 1657480.6 417529.52 122583.79 40494.991 14758.870 5887.4150 2525.3016 1150.2125 551.02488 274.59985 140.58609 72.343928 38.501327 20.598712 10.845765 5.6872593 2.7468201 1.4989635 0.8273500 0.4565270 0.1900826 0.000014 -0.000007 -0.000003 0.000001 0.000047 -0.000024 -0.000012 0.000005 0.000136 -0.000070 -0.000035 0.000014 0.000368 -0.000190 -0.000095 0.000038 0.000981 -0.000509 -0.000254 0.000103 0.002639 -0.001375 -0.000687 0.000278 0.007146 -0.003748 -0.001875 0.000760 0.019270 -0.010223 -0.005131 0.002079 0.050863 -0.027463 -0.013836 0.005619 0.122453 -0.068248 -0.034673 0.014083 0.244111 -0.142071 -0.072917 0.029755 0.351847 -0.214057 -0.111372 0.045418 0.294561 -0.125953 -0.055117 0.021769 0.102091 0.251386 0.199583 -0.089783 0.005929 0.544337 0.457409 -0.206710 0.001586 0.305296 0.110854 -0.030661 -0.001011 0.045514 -0.543624 0.348471 0.000514 0.001941 -0.554996 0.393151 -0.000370 -0.000092 -0.123979 -0.198809 0.000288 0.000099 0.008028 -0.539530 -0.000165 -0.000125 -0.006341 -0.354309 0.000064 0.000036 0.001863 -0.136400 -0.000011 -0.000008 -0.000296 -0.015363 * d-type functions 15 3 17129.664 4453.1659 1601.7309 665.26822 301.16853 145.32736 73.035413 37.706699 19.502164 9.8922531 4.9397414 2.3245438 1.0531057 0.4413688 0.1662437 0.000152 -0.000079 0.000025 0.001038 -0.000541 0.000168 0.005483 -0.002882 0.000900 0.024209 -0.012797 0.003984 0.083586 -0.045001 0.014116 0.211595 -0.115458 0.036136 0.360180 -0.193015 0.060643 0.355048 -0.135871 0.037613 0.155725 0.193378 -0.080735 0.021343 0.494155 -0.194522 0.001051 0.379334 -0.107308 0.000036 0.087326 0.241362 0.000034 0.001750 0.472039 -0.000015 0.000880 0.384335 0.000004 -0.000219 0.140363 * f-type functions 10 1 1323.2654 442.37913 184.99816 86.046064 42.132399 21.345359 10.820075 5.3886113 2.5606799 1.0806275 0.000186 0.001798 0.010898 0.044672 0.128528 0.257165 0.350452 0.324090 0.176700 0.041402 ****************************************************************************** /Tl.ANO-DK3.Tsuchiya.27s23p15d10f.6s5p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * TALLIUM: Tl * * =========== * * Reference state: * * The atomic ground state, Tl(2P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 81 * s-type functions 27 6 202322340 202599660 311559260 625575250 145472810 37733841. 10816442. 3342794.6 1091200.2 373126.67 133763.45 50138.728 19591.169 7964.2342 3351.7937 1456.3509 654.26556 274.73519 126.26532 51.889216 27.235744 11.391258 5.8286016 1.9124685 0.9204081 0.1973341 0.0721443 0.000005 -0.000002 0.000001 0.000000 0.000000 -0.000000 0.000019 -0.000008 0.000004 0.000002 0.000001 -0.000000 0.000059 -0.000023 0.000011 0.000006 0.000003 -0.000001 0.000154 -0.000061 0.000029 0.000015 0.000006 -0.000002 0.000378 -0.000149 0.000071 0.000036 0.000016 -0.000005 0.000857 -0.000336 0.000162 0.000081 0.000036 -0.000011 0.001822 -0.000715 0.000344 0.000173 0.000077 -0.000024 0.003752 -0.001476 0.000710 0.000357 0.000158 -0.000050 0.007561 -0.002984 0.001436 0.000722 0.000320 -0.000101 0.014887 -0.005926 0.002854 0.001436 0.000636 -0.000201 0.028726 -0.011556 0.005580 0.002808 0.001245 -0.000394 0.054708 -0.022549 0.010916 0.005501 0.002439 -0.000772 0.102266 -0.043493 0.021222 0.010703 0.004745 -0.001503 0.182406 -0.083162 0.040910 0.020711 0.009194 -0.002911 0.288589 -0.144964 0.073061 0.037105 0.016477 -0.005219 0.328879 -0.199912 0.103338 0.053091 0.023659 -0.007498 0.187583 -0.064928 0.029284 0.013949 0.006071 -0.001913 0.025851 0.437045 -0.367393 -0.210734 -0.096411 0.030686 -0.002547 0.595315 -0.644432 -0.407720 -0.191721 0.061404 0.001342 0.132128 0.329926 0.346114 0.183426 -0.060151 -0.000918 -0.022033 0.888233 1.102815 0.616537 -0.203383 0.000470 0.008724 0.159582 -0.420352 -0.364305 0.127945 -0.000242 -0.004319 -0.018842 -1.014359 -1.080805 0.413451 0.000090 0.001512 0.005356 -0.090603 0.722590 -0.411596 -0.000044 -0.000715 -0.002483 0.018576 0.725434 -0.472132 0.000010 0.000167 0.000538 -0.003367 0.032029 0.692682 -0.000004 -0.000065 -0.000209 0.001258 -0.007497 0.542524 * p-type functions 23 5 58291947. 8264123.0 1690365.3 424726.89 123806.19 40665.653 14806.764 5892.5590 2526.1879 1151.5387 551.21142 274.32566 140.47882 72.605915 38.658712 20.617630 10.661808 5.5055026 2.5985549 1.2618990 0.5627363 0.1454531 0.0446884 0.000015 -0.000008 -0.000004 -0.000002 -0.000000 0.000049 -0.000025 -0.000013 -0.000005 -0.000001 0.000142 -0.000073 -0.000037 -0.000015 -0.000003 0.000387 -0.000200 -0.000100 -0.000041 -0.000009 0.001036 -0.000539 -0.000270 -0.000111 -0.000024 0.002780 -0.001452 -0.000729 -0.000300 -0.000065 0.007509 -0.003950 -0.001985 -0.000819 -0.000177 0.020244 -0.010771 -0.005430 -0.002240 -0.000482 0.053033 -0.028742 -0.014546 -0.006017 -0.001303 0.126763 -0.070909 -0.036191 -0.014966 -0.003215 0.250740 -0.146632 -0.075626 -0.031442 -0.006832 0.354613 -0.215815 -0.112714 -0.046768 -0.009979 0.286233 -0.114694 -0.048097 -0.019181 -0.004406 0.094375 0.271323 0.215505 0.099024 0.022362 0.005497 0.545485 0.462782 0.212863 0.045122 0.001081 0.290181 0.073116 0.011036 0.004523 -0.000661 0.039124 -0.594081 -0.394906 -0.096205 0.000264 0.000980 -0.522141 -0.373288 -0.078173 -0.000136 0.000071 -0.086765 0.357172 0.090215 0.000069 -0.000077 0.002081 0.653045 0.229654 -0.000020 -0.000008 -0.001273 0.247837 0.003935 0.000005 -0.000001 0.000243 0.010586 -0.537146 -0.000002 0.000000 -0.000071 -0.001177 -0.578066 * d-type functions 15 3 16081.381 4220.1581 1513.1209 640.35780 300.42141 150.37046 77.992852 41.314732 21.882602 11.372795 5.8559360 2.9260748 1.3535144 0.5773119 0.2203296 0.000178 -0.000093 0.000031 0.001222 -0.000642 0.000211 0.006433 -0.003405 0.001120 0.026368 -0.014056 0.004627 0.083572 -0.045327 0.014971 0.200554 -0.110261 0.036495 0.338959 -0.183276 0.060538 0.352828 -0.147866 0.045156 0.176401 0.141194 -0.066651 0.031024 0.457237 -0.188669 0.001521 0.413754 -0.152866 0.000180 0.130178 0.165812 0.000000 0.009063 0.473093 -0.000002 0.000321 0.431431 0.000000 -0.000055 0.155096 * f-type functions 10 1 1662.2083 484.85710 190.46172 86.394508 41.945751 21.263502 10.852911 5.4735966 2.6447503 1.1422553 0.000137 0.001746 0.011697 0.048739 0.138204 0.266684 0.350689 0.312424 0.163621 0.036313 ****************************************************************************** /Pb.ANO-DK3.Tsuchiya.27s23p15d10f.6s5p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * LEAD: Pb * * ======== * * Reference state: * * The atomic ground state, Pb(3P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 82 * s-type functions 27 6 234992680 222814460 339219740 661849100 153427630 40151044. 11448208. 3483413.5 1123278.5 380127.09 135326.18 50509.879 19673.845 7974.8712 3352.6520 1459.5502 658.29504 282.03427 130.54573 54.944971 28.651790 11.942760 6.1563706 2.0214087 0.9954877 0.2324510 0.0873672 0.000005 -0.000002 0.000001 0.000000 0.000000 -0.000000 0.000020 -0.000008 0.000004 0.000002 0.000001 -0.000000 0.000060 -0.000024 0.000012 0.000006 0.000003 -0.000001 0.000161 -0.000064 0.000031 0.000015 0.000007 -0.000002 0.000386 -0.000152 0.000073 0.000037 0.000017 -0.000006 0.000869 -0.000343 0.000165 0.000083 0.000037 -0.000013 0.001877 -0.000740 0.000356 0.000180 0.000081 -0.000027 0.003897 -0.001541 0.000742 0.000374 0.000168 -0.000056 0.007868 -0.003121 0.001504 0.000759 0.000340 -0.000114 0.015518 -0.006207 0.002994 0.001511 0.000678 -0.000228 0.029862 -0.012079 0.005842 0.002950 0.001324 -0.000445 0.056687 -0.023487 0.011391 0.005759 0.002586 -0.000868 0.105554 -0.045202 0.022092 0.011179 0.005018 -0.001685 0.187127 -0.085869 0.042347 0.021511 0.009670 -0.003247 0.291752 -0.148011 0.074741 0.038088 0.017127 -0.005754 0.325096 -0.198012 0.102641 0.052918 0.023883 -0.008026 0.179451 -0.055320 0.023034 0.010591 0.004605 -0.001537 0.023791 0.437469 -0.368138 -0.212004 -0.098250 0.033184 -0.001847 0.588093 -0.640793 -0.407202 -0.194071 0.065932 0.000899 0.133268 0.303417 0.319921 0.171956 -0.059809 -0.000593 -0.018923 0.904990 1.122526 0.635852 -0.223080 0.000299 0.007671 0.170879 -0.380580 -0.340717 0.128101 -0.000153 -0.003871 -0.021454 -1.039291 -1.119025 0.455937 0.000059 0.001396 0.006329 -0.098660 0.713337 -0.438930 -0.000030 -0.000690 -0.003073 0.021778 0.738578 -0.522559 0.000007 0.000168 0.000701 -0.004080 0.033798 0.717153 -0.000003 -0.000064 -0.000265 0.001484 -0.007289 0.547553 * p-type functions 23 5 58513559. 8287918.5 1694252.3 425394.73 123910.25 40684.536 14808.510 5892.8396 2526.3830 1151.5518 551.16897 274.27899 140.44470 72.545970 38.664235 20.608668 10.667929 5.5198214 2.5679298 1.2440634 0.5657088 0.1727680 0.0576683 0.000016 -0.000008 -0.000004 -0.000002 -0.000000 0.000052 -0.000027 -0.000013 -0.000006 -0.000001 0.000150 -0.000078 -0.000039 -0.000016 -0.000004 0.000409 -0.000213 -0.000107 -0.000045 -0.000011 0.001096 -0.000571 -0.000287 -0.000121 -0.000030 0.002934 -0.001537 -0.000774 -0.000325 -0.000082 0.007902 -0.004169 -0.002104 -0.000884 -0.000222 0.021223 -0.011327 -0.005734 -0.002407 -0.000603 0.055337 -0.030095 -0.015300 -0.006446 -0.001624 0.131331 -0.073759 -0.037814 -0.015912 -0.003984 0.256927 -0.150889 -0.078209 -0.033135 -0.008374 0.356470 -0.217116 -0.113766 -0.047977 -0.011948 0.278638 -0.102546 -0.040457 -0.016297 -0.004339 0.087242 0.293839 0.234413 0.110251 0.028801 0.004412 0.544120 0.464307 0.216627 0.053862 0.001015 0.271966 0.036192 -0.007680 -0.000262 -0.000632 0.033648 -0.616574 -0.426382 -0.120316 0.000250 0.000961 -0.496612 -0.349724 -0.086414 -0.000125 -0.000048 -0.074143 0.430551 0.136062 0.000068 -0.000034 0.002983 0.635848 0.265486 -0.000023 -0.000019 -0.001416 0.197874 -0.021879 0.000006 0.000003 0.000335 0.007632 -0.594359 -0.000002 -0.000001 -0.000094 -0.000321 -0.511444 * d-type functions 15 3 16085.869 4193.3524 1504.4436 638.47001 300.13277 150.55759 78.122687 41.359848 21.886127 11.382111 5.8721267 2.9223768 1.3859686 0.6133703 0.2433394 0.000191 0.000101 0.000035 0.001321 0.000699 0.000240 0.006880 0.003668 0.001263 0.027905 0.014981 0.005153 0.087407 0.047782 0.016534 0.206821 0.114463 0.039583 0.344616 0.187214 0.064817 0.348457 0.140779 0.043788 0.166552 -0.161538 -0.077841 0.027415 -0.467750 -0.204590 0.001336 -0.400285 -0.145525 0.000120 -0.115899 0.198909 0.000011 -0.006408 0.483001 -0.000007 -0.000605 0.406556 0.000002 0.000153 0.128073 * f-type functions 10 1 1293.0021 443.41623 189.94925 91.874226 47.213791 25.138176 13.351898 6.8580381 3.3099138 1.4143033 0.000232 0.002102 0.011730 0.043281 0.115623 0.227785 0.328039 0.338753 0.206061 0.051032 ****************************************************************************** /Bi.ANO-DK3.Tsuchiya.27s23p15d10f.6s5p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * BISMUTH: Bi * * =========== * * Reference state: * * The atomic ground state, Bi(4S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 83 * s-type functions 27 6 240628580 228096390 344628210 674502230 155694790 40651160. 11560254. 3512755.2 1128014.0 380969.30 135379.05 50527.834 19697.323 7979.0262 3349.7459 1457.4575 658.41402 284.09184 131.78503 54.629074 28.745817 12.110242 6.3011136 2.1494104 1.0677106 0.2671410 0.1020699 0.000005 -0.000002 0.000001 0.000000 0.000000 -0.000000 0.000021 -0.000008 0.000004 0.000002 0.000001 -0.000000 0.000064 -0.000025 0.000012 0.000006 0.000003 -0.000001 0.000170 -0.000067 0.000032 0.000017 0.000008 -0.000003 0.000408 -0.000162 0.000078 0.000039 0.000018 -0.000006 0.000917 -0.000363 0.000175 0.000089 0.000040 -0.000014 0.001973 -0.000782 0.000377 0.000191 0.000087 -0.000030 0.004095 -0.001627 0.000785 0.000397 0.000180 -0.000063 0.008264 -0.003295 0.001591 0.000805 0.000366 -0.000128 0.016238 -0.006529 0.003154 0.001597 0.000725 -0.000255 0.031155 -0.012672 0.006140 0.003110 0.001412 -0.000496 0.058730 -0.024477 0.011890 0.006031 0.002740 -0.000962 0.108750 -0.046873 0.022960 0.011654 0.005296 -0.001860 0.191703 -0.088629 0.043776 0.022313 0.010152 -0.003564 0.295480 -0.151173 0.076599 0.039159 0.017828 -0.006263 0.321853 -0.197046 0.102110 0.052851 0.024136 -0.008481 0.170623 -0.041004 0.014529 0.005910 0.002516 -0.000872 0.021285 0.452274 -0.386150 -0.223524 -0.105022 0.037109 -0.001484 0.576741 -0.626548 -0.401176 -0.193693 0.068839 0.000691 0.124758 0.362590 0.385433 0.209890 -0.076404 -0.000474 -0.021044 0.867919 1.087170 0.627684 -0.231009 0.000245 0.008639 0.155072 -0.442339 -0.398930 0.157931 -0.000128 -0.004463 -0.019568 -1.000781 -1.109885 0.478040 0.000050 0.001668 0.005829 -0.095104 0.726677 -0.473634 -0.000026 -0.000827 -0.002827 0.019966 0.745640 -0.563557 0.000006 0.000207 0.000659 -0.003815 0.034151 0.742802 -0.000002 -0.000076 -0.000240 0.001346 -0.006740 0.549655 * p-type functions 23 5 58730496. 8314476.0 1697618.8 426053.30 124030.12 40689.092 14811.776 5893.1265 2526.2925 1151.7227 551.07472 274.24988 140.46722 72.494510 38.653022 20.583442 10.692111 5.5586880 2.5810616 1.2386791 0.5549567 0.1959924 0.0693458 0.000017 -0.000009 -0.000004 -0.000002 0.000000 0.000055 -0.000029 -0.000014 -0.000006 0.000002 0.000159 -0.000083 -0.000042 -0.000018 0.000005 0.000433 -0.000226 -0.000114 -0.000049 0.000013 0.001159 -0.000605 -0.000306 -0.000131 0.000036 0.003095 -0.001625 -0.000822 -0.000351 0.000097 0.008308 -0.004394 -0.002227 -0.000953 0.000264 0.022247 -0.011910 -0.006054 -0.002586 0.000715 0.057690 -0.031482 -0.016077 -0.006894 0.001913 0.135950 -0.076658 -0.039472 -0.016897 0.004668 0.263113 -0.155160 -0.080822 -0.034864 0.009702 0.357703 -0.217913 -0.114514 -0.049082 0.013503 0.270889 -0.089819 -0.032370 -0.013015 0.003796 0.080591 0.316106 0.253703 0.121868 -0.034906 0.003457 0.541406 0.463694 0.219556 -0.060579 0.000968 0.253833 -0.001403 -0.028373 0.006982 -0.000616 0.028653 -0.633819 -0.454328 0.140868 0.000244 0.001050 -0.470432 -0.325914 0.089732 -0.000118 -0.000177 -0.064916 0.490757 -0.180380 0.000065 0.000018 0.002967 0.626763 -0.290835 -0.000024 -0.000036 -0.001369 0.152843 0.059814 0.000008 0.000010 0.000400 0.003403 0.630790 -0.000002 -0.000003 -0.000110 0.000325 0.458595 * d-type functions 15 3 16038.922 4162.7671 1493.2680 636.17893 300.19669 150.71473 78.150152 41.403834 21.913244 11.392226 5.8708730 2.9079721 1.3928501 0.6322008 0.2574746 0.000205 0.000109 0.000039 0.001428 0.000760 0.000271 0.007379 0.003961 0.001419 0.029444 0.015917 0.005691 0.091135 0.050207 0.018081 0.213784 0.119073 0.042792 0.350013 0.190939 0.068793 0.342637 0.132474 0.041592 0.157321 -0.181112 -0.089407 0.024216 -0.478906 -0.219999 0.001190 -0.385798 -0.135277 0.000052 -0.101509 0.239773 0.000029 -0.004294 0.496459 -0.000015 -0.000643 0.372596 0.000005 0.000187 0.100765 * f-type functions 10 1 1293.1490 442.45050 189.92104 91.584137 47.062874 25.131198 13.357806 6.9337984 3.4247290 1.5159795 0.000256 0.002300 0.012746 0.046948 0.122697 0.236857 0.332357 0.326770 0.191566 0.047221 ****************************************************************************** /Po.ANO-DK3.Tsuchiya.27s23p15d10f.6s5p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * POLONIUM: Po * * ============ * * Reference state: * * The atomic ground state, Po(3P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 84 * s-type functions 27 6 303825700 279565760 421176740 807365450 181116870 45526749. 12517696. 3707411.2 1167918.5 389538.30 136676.35 50455.141 19602.527 7971.0239 3373.8125 1480.2229 672.43376 293.33007 136.54197 57.353962 30.110985 12.713100 6.6407521 2.3100669 1.1662976 0.2997868 0.1159634 0.000005 -0.000002 0.000001 0.000000 0.000000 -0.000000 0.000020 -0.000008 0.000004 0.000002 0.000001 -0.000000 0.000060 -0.000024 0.000012 0.000006 0.000003 -0.000001 0.000163 -0.000065 0.000031 0.000016 0.000007 -0.000003 0.000403 -0.000161 0.000078 0.000039 0.000018 -0.000007 0.000929 -0.000370 0.000179 0.000091 0.000042 -0.000015 0.002027 -0.000808 0.000390 0.000198 0.000091 -0.000033 0.004247 -0.001696 0.000819 0.000416 0.000191 -0.000070 0.008595 -0.003445 0.001665 0.000845 0.000389 -0.000142 0.016923 -0.006838 0.003309 0.001681 0.000772 -0.000282 0.032666 -0.013360 0.006483 0.003294 0.001514 -0.000552 0.061445 -0.025755 0.012534 0.006377 0.002932 -0.001070 0.112395 -0.048792 0.023942 0.012193 0.005606 -0.002046 0.194713 -0.090668 0.044885 0.022951 0.010567 -0.003857 0.294481 -0.151829 0.077078 0.039537 0.018210 -0.006648 0.316727 -0.193806 0.100575 0.052203 0.024132 -0.008817 0.166965 -0.036117 0.011132 0.004086 0.001660 -0.000585 0.020824 0.449564 -0.384100 -0.223265 -0.106117 0.038968 -0.001232 0.574295 -0.625862 -0.401795 -0.196559 0.072694 0.000538 0.126578 0.342045 0.364716 0.201782 -0.076593 -0.000363 -0.019600 0.879586 1.104497 0.644913 -0.246881 0.000185 0.008186 0.163870 -0.409362 -0.375962 0.154801 -0.000096 -0.004297 -0.021111 -1.022188 -1.153013 0.520441 0.000039 0.001653 0.006517 -0.102108 0.692890 -0.479179 -0.000020 -0.000825 -0.003181 0.020927 0.786782 -0.621527 0.000005 0.000205 0.000737 -0.003878 0.037342 0.777393 -0.000002 -0.000075 -0.000265 0.001352 -0.007177 0.538241 * p-type functions 23 5 58771546. 8337377.7 1703969.0 426383.62 124017.20 40735.342 14808.201 5891.4147 2527.1432 1151.6893 550.83106 274.24247 140.53069 72.403607 38.646565 20.596185 10.716990 5.5922886 2.6258951 1.2496708 0.5333552 0.2073284 0.0738376 0.000018 -0.000009 -0.000005 -0.000002 0.000001 0.000058 -0.000030 -0.000015 -0.000007 0.000002 0.000169 -0.000088 -0.000044 -0.000019 0.000006 0.000460 -0.000240 -0.000122 -0.000053 0.000016 0.001223 -0.000640 -0.000325 -0.000141 0.000042 0.003260 -0.001717 -0.000872 -0.000378 0.000112 0.008746 -0.004639 -0.002361 -0.001026 0.000304 0.023286 -0.012505 -0.006383 -0.002771 0.000819 0.060088 -0.032900 -0.016875 -0.007354 0.002179 0.140754 -0.079688 -0.041212 -0.017932 0.005296 0.269172 -0.159351 -0.083404 -0.036577 0.010862 0.358333 -0.218267 -0.115018 -0.050075 0.014746 0.263079 -0.076342 -0.023627 -0.009210 0.002843 0.074387 0.338170 0.273226 0.133699 -0.040737 0.002540 0.535930 0.460240 0.221167 -0.065602 0.000974 0.236676 -0.038647 -0.050565 0.015143 -0.000626 0.024695 -0.649843 -0.480944 0.158995 0.000254 0.000971 -0.442590 -0.300835 0.089155 -0.000118 -0.000221 -0.056441 0.538790 -0.220801 0.000063 0.000026 0.001971 0.619703 -0.308417 -0.000024 -0.000037 -0.000963 0.118509 0.129902 0.000009 0.000013 0.000347 -0.000809 0.641819 -0.000003 -0.000003 -0.000079 0.001411 0.409310 * d-type functions 15 3 15052.151 3920.4730 1412.3766 601.32139 282.89619 142.61242 75.105906 40.961628 22.612538 12.214974 6.5198907 3.3539380 1.6411025 0.7562755 0.3088818 0.000242 0.000130 0.000048 0.001682 0.000902 0.000333 0.008633 0.004666 0.001729 0.034340 0.018716 0.006939 0.104242 0.057922 0.021585 0.230757 0.129410 0.048225 0.348617 0.189582 0.070446 0.315242 0.113823 0.035727 0.146332 -0.172519 -0.089074 0.027201 -0.447761 -0.213260 0.001074 -0.394763 -0.158914 0.000329 -0.125769 0.192358 -0.000087 -0.008769 0.494938 0.000032 -0.000455 0.404576 -0.000008 0.000144 0.112935 * f-type functions 10 1 1259.4186 444.54231 189.97698 91.459634 47.073097 25.139700 13.361140 6.9399797 3.4346690 1.5357901 0.000285 0.002469 0.013894 0.050316 0.129806 0.246022 0.337791 0.320384 0.175885 0.038567 ****************************************************************************** /At.ANO-DK3.Tsuchiya.27s23p15d10f.6s5p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * ASTATINE: At * * ============ * * Reference state: * * The atomic ground state, At(2P) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 85 * s-type functions 27 6 374148340 336903160 484125500 897218730 198647800 48611909. 13058480. 3800514.0 1186410.5 392484.80 137184.48 50505.962 19565.763 7954.1328 3370.6250 1482.1482 674.92787 298.58232 139.89204 59.474906 31.239587 13.498944 7.0056646 2.4258219 1.2592656 0.3287592 0.1267630 0.000005 -0.000002 0.000001 0.000000 0.000000 -0.000000 0.000019 -0.000008 0.000004 0.000002 0.000001 -0.000000 0.000061 -0.000024 0.000012 0.000006 0.000003 -0.000001 0.000165 -0.000066 0.000032 0.000016 0.000008 -0.000003 0.000409 -0.000164 0.000079 0.000040 0.000019 -0.000007 0.000964 -0.000386 0.000187 0.000095 0.000044 -0.000017 0.002121 -0.000850 0.000411 0.000209 0.000097 -0.000037 0.004448 -0.001785 0.000864 0.000440 0.000204 -0.000077 0.008997 -0.003625 0.001755 0.000894 0.000415 -0.000156 0.017717 -0.007196 0.003488 0.001777 0.000826 -0.000311 0.034010 -0.013989 0.006799 0.003465 0.001610 -0.000606 0.063867 -0.026925 0.013126 0.006699 0.003114 -0.001172 0.116149 -0.050776 0.024959 0.012752 0.005930 -0.002233 0.199097 -0.093388 0.046336 0.023765 0.011063 -0.004166 0.296748 -0.154372 0.078534 0.040428 0.018839 -0.007095 0.312397 -0.191290 0.099414 0.051730 0.024167 -0.009109 0.159376 -0.024424 0.003422 -0.000080 -0.000256 0.000124 0.018761 0.454496 -0.390394 -0.228237 -0.109907 0.041641 -0.000717 0.564620 -0.617833 -0.397964 -0.196806 0.075143 0.000218 0.124720 0.342744 0.364244 0.203260 -0.079748 -0.000142 -0.018563 0.875468 1.110529 0.659310 -0.260793 0.000061 0.007826 0.167167 -0.377428 -0.356435 0.151591 -0.000025 -0.003997 -0.018100 -1.050029 -1.191713 0.558055 0.000010 0.001582 0.005826 -0.110620 0.677184 -0.496486 -0.000005 -0.000814 -0.002941 0.024416 0.803370 -0.655179 0.000001 0.000195 0.000655 -0.004317 0.040459 0.825194 -0.000000 -0.000070 -0.000230 0.001483 -0.007850 0.510309 * p-type functions 23 5 59841748. 8362516.2 1698039.8 426876.15 124330.22 40717.501 14805.256 5890.3715 2527.0066 1151.8135 551.01256 274.02856 140.24469 72.321707 38.604492 20.568223 10.749893 5.6311137 2.6656138 1.2704067 0.5223676 0.2151501 0.0789061 0.000019 -0.000010 -0.000005 -0.000002 0.000001 0.000062 -0.000032 -0.000017 -0.000007 0.000002 0.000179 -0.000093 -0.000048 -0.000021 0.000007 0.000484 -0.000253 -0.000129 -0.000057 0.000018 0.001292 -0.000678 -0.000345 -0.000152 0.000048 0.003441 -0.001816 -0.000926 -0.000408 0.000128 0.009187 -0.004886 -0.002497 -0.001102 0.000345 0.024377 -0.013130 -0.006728 -0.002966 0.000928 0.062583 -0.034385 -0.017715 -0.007842 0.002458 0.145400 -0.082627 -0.042909 -0.018958 0.005932 0.275100 -0.163537 -0.086017 -0.038324 0.012033 0.359785 -0.218722 -0.115468 -0.050998 0.015931 0.254598 -0.061855 -0.014186 -0.004970 0.001577 0.067812 0.359959 0.293072 0.146057 -0.046917 0.002105 0.529790 0.454774 0.221229 -0.069926 0.000785 0.219279 -0.076955 -0.073979 0.024731 -0.000526 0.020962 -0.661682 -0.506257 0.176701 0.000206 0.000967 -0.416027 -0.270997 0.085605 -0.000093 -0.000272 -0.049136 0.582333 -0.262884 0.000049 0.000040 0.001396 0.600492 -0.314166 -0.000018 -0.000039 -0.000683 0.095385 0.205782 0.000008 0.000017 0.000299 -0.002834 0.641054 -0.000002 -0.000003 -0.000055 0.002017 0.354900 * d-type functions 15 3 14832.407 3907.8700 1411.2105 600.80044 282.92304 142.57268 75.076715 40.964885 22.655401 12.231504 6.5287509 3.3725397 1.6422812 0.7585545 0.3126299 0.000262 0.000141 0.000054 0.001788 0.000965 0.000368 0.009156 0.004981 0.001903 0.036142 0.019835 0.007586 0.108759 0.060861 0.023391 0.238045 0.134329 0.051647 0.352592 0.192035 0.073473 0.308551 0.104320 0.032331 0.137629 -0.190442 -0.100689 0.024508 -0.458338 -0.226252 0.000749 -0.380064 -0.150486 0.000344 -0.112282 0.230196 -0.000106 -0.007196 0.518876 0.000040 -0.000195 0.369326 -0.000009 0.000106 0.085011 * f-type functions 10 1 1320.4374 443.50317 189.28527 91.264573 46.896839 25.042136 13.390283 7.0365352 3.5328137 1.6070145 0.000297 0.002745 0.015071 0.054035 0.138362 0.254583 0.337609 0.309545 0.164658 0.034392 ****************************************************************************** /Rn.ANO-DK3.Tsuchiya.27s23p15d10f.6s5p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * RADON: Rn * * ========= * * Reference state: * * The atomic ground state, Rn(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 86 * s-type functions 27 6 383094540 377430150 572823930 102239560 210977730 49758039. 13264302. 3852943.2 1195981.1 393615.16 137294.34 50442.862 19488.573 7918.9237 3360.3232 1478.0885 673.56917 300.98021 141.63104 60.475585 31.713839 13.451924 7.1127543 2.5331097 1.3035851 0.3705955 0.1470243 0.000005 -0.000002 0.000001 0.000000 0.000000 -0.000000 0.000018 -0.000007 0.000004 0.000002 0.000001 -0.000000 0.000058 -0.000023 0.000011 0.000006 0.000003 -0.000001 0.000168 -0.000068 0.000033 0.000017 0.000008 -0.000003 0.000436 -0.000176 0.000085 0.000044 0.000020 -0.000008 0.001021 -0.000411 0.000199 0.000102 0.000048 -0.000018 0.002223 -0.000895 0.000434 0.000221 0.000104 -0.000040 0.004660 -0.001880 0.000911 0.000465 0.000218 -0.000084 0.009449 -0.003826 0.001855 0.000948 0.000445 -0.000172 0.018549 -0.007574 0.003676 0.001879 0.000883 -0.000341 0.035444 -0.014662 0.007137 0.003648 0.001714 -0.000662 0.066414 -0.028166 0.013753 0.007041 0.003309 -0.001278 0.120186 -0.052911 0.026059 0.013352 0.006277 -0.002424 0.203647 -0.096258 0.047850 0.024628 0.011589 -0.004477 0.299267 -0.157066 0.080125 0.041354 0.019479 -0.007524 0.308428 -0.188964 0.098186 0.051320 0.024238 -0.009377 0.150723 -0.009394 -0.006224 -0.005637 -0.002935 0.001180 0.016501 0.466000 -0.404753 -0.237449 -0.115676 0.044949 -0.000397 0.551557 -0.604214 -0.392845 -0.196729 0.077169 0.000038 0.117015 0.375773 0.404434 0.228747 -0.092323 -0.000024 -0.017015 0.860968 1.091163 0.657258 -0.267054 -0.000001 0.007252 0.158001 -0.443749 -0.424831 0.186266 0.000008 -0.003922 -0.021573 -1.002304 -1.171265 0.570386 -0.000004 0.001572 0.006831 -0.101429 0.743720 -0.565797 0.000002 -0.000812 -0.003455 0.021240 0.767794 -0.656095 -0.000001 0.000211 0.000845 -0.004051 0.034369 0.824645 0.000000 -0.000073 -0.000287 0.001351 -0.005407 0.537737 * p-type functions 23 5 58284769. 8359059.0 1711693.3 428905.30 124366.87 40703.208 14798.949 5889.5427 2526.7687 1152.0800 550.86762 273.78326 139.99795 72.021978 38.497829 20.568014 10.836951 5.7335531 2.7293647 1.3042112 0.5156831 0.2185882 0.0835623 0.000020 -0.000010 -0.000005 -0.000002 0.000001 0.000065 -0.000034 -0.000017 -0.000008 0.000003 0.000189 -0.000099 -0.000050 -0.000023 0.000007 0.000512 -0.000269 -0.000137 -0.000061 0.000020 0.001366 -0.000719 -0.000368 -0.000165 0.000054 0.003627 -0.001919 -0.000983 -0.000440 0.000143 0.009649 -0.005145 -0.002640 -0.001183 0.000385 0.025505 -0.013780 -0.007090 -0.003174 0.001033 0.065119 -0.035894 -0.018571 -0.008347 0.002720 0.150165 -0.085679 -0.044685 -0.020051 0.006530 0.281186 -0.167746 -0.088636 -0.040105 0.013082 0.360284 -0.218670 -0.115673 -0.051853 0.016885 0.246354 -0.046006 -0.003545 0.000073 -0.000127 0.061691 0.382907 0.314308 0.159381 -0.053064 0.001468 0.519611 0.445028 0.219169 -0.072566 0.000732 0.202297 -0.113919 -0.097910 0.035127 -0.000496 0.018005 -0.663909 -0.524389 0.189954 0.000192 0.000994 -0.395211 -0.246597 0.082204 -0.000082 -0.000314 -0.046083 0.615459 -0.300802 0.000043 0.000052 0.001657 0.584687 -0.312567 -0.000016 -0.000041 -0.000740 0.078420 0.289836 0.000007 0.000018 0.000336 -0.005384 0.628246 -0.000002 -0.000005 -0.000086 0.001657 0.296521 * d-type functions 15 3 11985.537 3327.2140 1284.9125 578.11528 279.89145 143.34261 75.989159 41.263308 22.443035 12.023139 6.4285778 3.3483726 1.6868048 0.8108441 0.3443311 0.000385 0.000209 0.000082 0.002392 0.001300 0.000509 0.010631 0.005827 0.002291 0.038563 0.021314 0.008375 0.111964 0.063135 0.024978 0.239331 0.135777 0.053602 0.354206 0.193796 0.076347 0.309335 0.097598 0.029129 0.130884 -0.218244 -0.116910 0.019542 -0.472241 -0.242329 0.000977 -0.354565 -0.126859 0.000049 -0.095604 0.262672 0.000017 -0.005402 0.507447 -0.000009 -0.000295 0.346116 0.000004 0.000146 0.080561 * f-type functions 10 1 1247.1719 430.85474 188.02375 91.574864 47.041485 25.009938 13.363832 7.0932945 3.6330615 1.6982621 0.000363 0.003097 0.016135 0.057017 0.146193 0.265170 0.339662 0.296204 0.152211 0.031348 ****************************************************************************** /Fr.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * FRANCIUM: Fr * * ============ * * Reference state: * * The atomic ground state, Fr(2S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 87 * s-type functions 35 7 322444690 310476820 485905020 100547990 250737870 726985140 241703500 86668624. 30891912. 10730469. 3719788.8 1313793.1 479901.07 184669.20 75418.635 32773.337 15098.341 7258.0686 3580.0878 1804.2970 923.29949 470.77519 242.61042 127.81797 70.357003 39.281200 21.527158 12.221831 6.7169442 3.2175919 1.6296599 0.5982717 0.2959617 0.1168878 0.0226604 0.000001 -0.000000 0.000000 0.000000 -0.000000 0.000000 0.000000 0.000005 -0.000002 0.000001 0.000000 -0.000000 0.000000 0.000000 0.000014 -0.000006 0.000003 0.000001 -0.000001 0.000000 -0.000000 0.000035 -0.000014 0.000007 0.000004 -0.000002 0.000001 -0.000000 0.000079 -0.000032 0.000016 0.000008 -0.000004 0.000002 -0.000000 0.000160 -0.000065 0.000031 0.000016 -0.000008 0.000003 -0.000001 0.000295 -0.000120 0.000058 0.000030 -0.000014 0.000006 -0.000001 0.000559 -0.000227 0.000110 0.000056 -0.000027 0.000011 -0.000003 0.001120 -0.000453 0.000220 0.000113 -0.000053 0.000022 -0.000005 0.002248 -0.000910 0.000442 0.000226 -0.000107 0.000043 -0.000011 0.004400 -0.001785 0.000866 0.000444 -0.000210 0.000085 -0.000021 0.008405 -0.003421 0.001661 0.000851 -0.000404 0.000163 -0.000041 0.015484 -0.006344 0.003084 0.001580 -0.000750 0.000303 -0.000075 0.027327 -0.011319 0.005512 0.002825 -0.001341 0.000542 -0.000134 0.046439 -0.019577 0.009563 0.004907 -0.002330 0.000941 -0.000234 0.075676 -0.032756 0.016072 0.008253 -0.003919 0.001582 -0.000393 0.118679 -0.053518 0.026454 0.013618 -0.006473 0.002618 -0.000648 0.178988 -0.085728 0.042836 0.022089 -0.010496 0.004235 -0.001053 0.244570 -0.128786 0.065531 0.034001 -0.016205 0.006565 -0.001622 0.266214 -0.156960 0.081687 0.042514 -0.020226 0.008143 -0.002038 0.188264 -0.098162 0.049069 0.025463 -0.012205 0.005007 -0.001201 0.057380 0.169034 -0.133939 -0.077716 0.038283 -0.015738 0.003811 0.002066 0.502270 -0.469735 -0.284286 0.140469 -0.056897 0.014365 0.001087 0.395023 -0.466244 -0.309207 0.158870 -0.066140 0.015870 -0.000872 0.085959 0.254987 0.249705 -0.142961 0.062034 -0.014190 0.000588 0.007464 0.777725 0.966336 -0.576242 0.240939 -0.062665 -0.000424 -0.001946 0.348913 0.405483 -0.250713 0.116444 -0.024501 0.000277 0.001111 0.023186 -0.807665 0.734890 -0.357751 0.083086 -0.000133 -0.000668 0.006017 -0.736561 1.019662 -0.518168 0.142875 0.000057 0.000291 -0.001872 -0.090052 -0.542588 0.376499 -0.114679 -0.000026 -0.000118 0.000636 0.005291 -0.990885 0.943326 -0.246965 0.000010 0.000050 -0.000295 -0.002089 -0.112548 -0.242964 0.046393 -0.000006 -0.000028 0.000164 0.001073 0.022711 -0.937967 0.465893 0.000002 0.000007 -0.000041 -0.000247 -0.004773 -0.194199 0.105649 -0.000000 -0.000001 0.000006 0.000034 0.000599 0.002524 -1.121082 * p-type functions 26 5 461441260 67302690. 14438281. 3646378.7 1040617.9 328686.63 114929.57 43433.880 17540.764 7555.5018 3444.9559 1650.6219 826.42974 427.96450 227.69364 123.23539 66.817859 36.889916 20.160121 10.765118 5.7455211 2.8207962 1.3773655 0.5557928 0.2479366 0.1007132 0.000005 -0.000003 -0.000001 -0.000001 0.000000 0.000015 -0.000008 -0.000004 -0.000002 0.000001 0.000039 -0.000020 -0.000010 -0.000005 0.000002 0.000099 -0.000052 -0.000027 -0.000012 0.000004 0.000242 -0.000127 -0.000065 -0.000029 0.000010 0.000572 -0.000301 -0.000154 -0.000070 0.000025 0.001330 -0.000702 -0.000360 -0.000163 0.000058 0.003165 -0.001678 -0.000862 -0.000392 0.000138 0.007613 -0.004065 -0.002093 -0.000949 0.000335 0.018339 -0.009891 -0.005105 -0.002323 0.000820 0.043643 -0.023929 -0.012399 -0.005629 0.001989 0.097679 -0.054929 -0.028653 -0.013081 0.004621 0.191820 -0.111945 -0.058928 -0.026821 0.009484 0.300709 -0.183040 -0.097596 -0.044910 0.015879 0.318810 -0.182576 -0.094619 -0.042482 0.015021 0.183339 0.037360 0.051190 0.026213 -0.009580 0.039595 0.420890 0.350235 0.181270 -0.065373 0.001324 0.474157 0.399396 0.196530 -0.070884 0.000155 0.172154 -0.173156 -0.135874 0.053376 -0.000184 0.014601 -0.664981 -0.542731 0.213777 0.000040 0.000833 -0.362228 -0.208681 0.074552 -0.000013 -0.000311 -0.040027 0.627109 -0.342270 0.000012 0.000048 0.000626 0.571707 -0.333020 -0.000003 -0.000039 -0.000372 0.078211 0.331631 0.000002 0.000018 0.000190 -0.006390 0.646527 -0.000000 -0.000005 -0.000048 0.001753 0.243046 * d-type functions 18 3 39623.203 9978.8161 3489.0328 1437.8227 659.27843 326.22799 169.82040 90.903907 49.770581 27.491861 15.141529 8.4717864 4.8163897 2.8572907 1.7389284 1.0130047 0.5407039 0.2519424 0.000066 -0.000036 0.000014 0.000415 -0.000227 0.000091 0.002068 -0.001131 0.000455 0.008879 -0.004893 0.001974 0.031536 -0.017506 0.007061 0.090350 -0.051076 0.020723 0.202583 -0.115725 0.046939 0.328217 -0.184015 0.074643 0.334431 -0.144508 0.053015 0.177223 0.116139 -0.071953 0.039409 0.403272 -0.212702 0.002594 0.405869 -0.200537 0.000427 0.178104 0.052522 -0.000102 0.035220 0.288165 0.000054 0.004247 0.375360 -0.000020 -0.000030 0.311427 0.000008 -0.000031 0.130312 -0.000001 -0.000039 0.017488 * f-type functions 13 1 1850.8172 624.32203 264.61067 126.37520 64.371980 34.314689 18.730220 10.317612 5.5081267 4.4668327 3.3759831 1.7493609 0.8167647 -0.000159 -0.001474 -0.008651 -0.035014 -0.100351 -0.208486 -0.303516 -0.318930 -0.276410 0.097591 -0.126119 -0.021333 -0.001192 ****************************************************************************** /Ra.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p3d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * RADIUM: Ra * * ========== * * Reference state: * * The atomic ground state, Ra(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 88 * s-type functions 35 7 322444690 310476820 485905020 100547990 250737870 726985140 241703500 86668624. 30891912. 10730469. 3719788.8 1313761.0 479904.00 184669.20 75418.635 32773.337 15098.341 7258.0908 3580.1424 1804.2970 923.30442 470.79316 242.61351 127.76994 70.384491 39.219871 21.292988 12.221818 6.7171019 3.2145788 1.6484713 0.6448675 0.2978218 0.0940095 0.0294444 0.000001 -0.000000 0.000000 0.000000 -0.000000 0.000000 0.000000 0.000005 -0.000002 0.000001 0.000000 -0.000000 0.000000 0.000000 0.000015 -0.000006 0.000003 0.000002 -0.000001 0.000000 -0.000000 0.000038 -0.000016 0.000008 0.000004 -0.000002 0.000001 -0.000000 0.000085 -0.000035 0.000017 0.000009 -0.000004 0.000002 -0.000000 0.000171 -0.000070 0.000034 0.000017 -0.000008 0.000003 -0.000001 0.000315 -0.000128 0.000062 0.000032 -0.000015 0.000006 -0.000002 0.000595 -0.000242 0.000118 0.000060 -0.000029 0.000012 -0.000004 0.001187 -0.000483 0.000235 0.000121 -0.000058 0.000024 -0.000007 0.002376 -0.000967 0.000470 0.000241 -0.000116 0.000049 -0.000014 0.004635 -0.001890 0.000918 0.000472 -0.000226 0.000095 -0.000028 0.008823 -0.003610 0.001755 0.000902 -0.000432 0.000182 -0.000054 0.016196 -0.006672 0.003248 0.001669 -0.000800 0.000337 -0.000099 0.028473 -0.011860 0.005784 0.002974 -0.001426 0.000600 -0.000177 0.048181 -0.020433 0.009996 0.005144 -0.002468 0.001038 -0.000306 0.078137 -0.034037 0.016728 0.008615 -0.004131 0.001737 -0.000513 0.121829 -0.055319 0.027394 0.014145 -0.006793 0.002862 -0.000842 0.182373 -0.088009 0.044060 0.022785 -0.010932 0.004593 -0.001360 0.246564 -0.130828 0.066714 0.034733 -0.016732 0.007064 -0.002071 0.264111 -0.156175 0.081363 0.042436 -0.020369 0.008530 -0.002547 0.181892 -0.089505 0.043787 0.022717 -0.011044 0.004753 -0.001334 0.052980 0.187456 -0.148975 -0.086931 0.043380 -0.018622 0.005345 0.001679 0.509583 -0.483412 -0.294227 0.146773 -0.061822 0.018631 0.000968 0.378934 -0.445987 -0.298835 0.156273 -0.068224 0.019312 -0.000770 0.076010 0.303977 0.301087 -0.176006 0.080014 -0.021852 0.000504 0.006625 0.777753 0.983193 -0.592228 0.257200 -0.080159 -0.000367 -0.001982 0.318138 0.335158 -0.214107 0.108765 -0.025495 0.000246 0.001133 0.013966 -0.861133 0.824761 -0.427726 0.118175 -0.000117 -0.000660 0.006712 -0.686556 0.968629 -0.511580 0.172166 0.000051 0.000294 -0.002253 -0.073538 -0.659189 0.477921 -0.175928 -0.000024 -0.000123 0.000816 0.004123 -0.921055 0.979897 -0.308202 0.000009 0.000048 -0.000327 -0.001417 -0.087388 -0.413186 0.121831 -0.000004 -0.000022 0.000150 0.000608 0.010833 -0.956195 0.663364 0.000001 0.000006 -0.000039 -0.000135 -0.002244 -0.086970 -0.148418 -0.000000 -0.000002 0.000010 0.000035 0.000540 0.008473 -1.039883 * p-type functions 26 5 512672760 71882190. 14487878. 3657464.5 1043618.3 331126.39 115451.76 43364.399 17541.541 7561.1426 3445.6953 1651.3379 826.30518 427.84464 227.58046 123.23320 67.079527 37.147237 20.381263 10.964855 5.8958036 2.9839220 1.4909924 0.6505580 0.2967256 0.1202733 0.000005 -0.000003 -0.000001 -0.000001 0.000000 0.000016 -0.000008 -0.000004 -0.000002 0.000001 0.000042 -0.000022 -0.000011 -0.000005 0.000002 0.000105 -0.000055 -0.000028 -0.000013 0.000005 0.000255 -0.000134 -0.000069 -0.000032 0.000012 0.000599 -0.000316 -0.000162 -0.000075 0.000028 0.001409 -0.000745 -0.000384 -0.000176 0.000066 0.003342 -0.001777 -0.000917 -0.000422 0.000158 0.007968 -0.004265 -0.002204 -0.001013 0.000380 0.019189 -0.010379 -0.005378 -0.002478 0.000931 0.045447 -0.024996 -0.013003 -0.005984 0.002248 0.101153 -0.057087 -0.029903 -0.013824 0.005196 0.197126 -0.115474 -0.061038 -0.028174 0.010591 0.304664 -0.186000 -0.099591 -0.046383 0.017455 0.315854 -0.178203 -0.092001 -0.041864 0.015706 0.174915 0.053524 0.062735 0.032604 -0.012580 0.035851 0.432036 0.362750 0.190108 -0.073164 0.001233 0.463176 0.386850 0.192874 -0.073715 0.000067 0.162238 -0.195121 -0.154411 0.064085 -0.000140 0.013318 -0.663590 -0.551856 0.233760 0.000021 0.000822 -0.348889 -0.201605 0.074034 -0.000003 -0.000335 -0.039012 0.620022 -0.361880 0.000008 0.000058 -0.000054 0.573483 -0.373654 -0.000002 -0.000044 -0.000164 0.087509 0.311061 0.000001 0.000019 0.000098 -0.003639 0.689183 -0.000000 -0.000005 -0.000025 0.000971 0.237147 * d-type functions 18 3 38358.002 9966.1515 3499.4748 1436.8697 658.89404 326.29428 169.84739 90.895189 49.761984 27.460074 15.122507 8.4711397 4.8087400 2.8585222 1.7499034 1.0131640 0.5410252 0.2534854 0.000072 0.000039 0.000016 0.000436 0.000239 0.000099 0.002189 0.001204 0.000496 0.009408 0.005217 0.002157 0.033112 0.018497 0.007643 0.094169 0.053601 0.022289 0.208997 0.120066 0.049887 0.333175 0.187426 0.077875 0.330287 0.137532 0.050492 0.168444 -0.134797 -0.083380 0.035182 -0.415904 -0.226177 0.002259 -0.396693 -0.196342 0.000277 -0.164229 0.081799 -0.000021 -0.028951 0.310245 -0.000001 -0.003624 0.381874 0.000005 0.000211 0.292262 -0.000000 0.000003 0.103040 0.000001 0.000038 0.010052 * f-type functions 13 1 1852.9220 624.77669 264.68871 126.38692 64.359043 34.315364 18.722787 10.314666 5.5034564 4.4707126 3.3690040 1.7461726 0.8073380 0.000173 0.001596 0.009335 0.037433 0.106238 0.217016 0.310005 0.317016 0.262278 -0.089948 0.112038 0.016701 0.000742 ****************************************************************************** /Ac.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p4d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * ACTINIUM: Ac * * ============ * * Reference state: * * The atomic ground state, Ac(2D) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 89 * s-type functions 35 7 326653130 310476820 485905020 100094560 250311670 726985140 241498670 86685553. 30891912. 10737389. 3721407.2 1313761.0 479911.51 184673.97 75418.850 32766.976 15100.789 7257.3820 3580.1131 1804.2895 923.28621 470.79868 243.04564 126.53269 70.381385 39.224859 21.170375 12.273438 6.8079979 3.2109168 1.6364770 0.7596841 0.3175134 0.0744460 0.0306736 0.000001 -0.000001 0.000000 0.000000 -0.000000 0.000000 0.000000 0.000005 -0.000002 0.000001 0.000001 -0.000000 0.000000 0.000000 0.000016 -0.000007 0.000003 0.000002 -0.000001 0.000000 -0.000000 0.000041 -0.000017 0.000008 0.000004 -0.000002 0.000001 -0.000000 0.000091 -0.000037 0.000018 0.000009 -0.000005 0.000002 -0.000001 0.000183 -0.000075 0.000036 0.000019 -0.000009 0.000004 -0.000001 0.000336 -0.000138 0.000067 0.000034 -0.000017 0.000007 -0.000002 0.000632 -0.000259 0.000126 0.000065 -0.000031 0.000014 -0.000004 0.001258 -0.000515 0.000251 0.000129 -0.000062 0.000027 -0.000008 0.002508 -0.001027 0.000499 0.000257 -0.000124 0.000054 -0.000017 0.004883 -0.002002 0.000974 0.000502 -0.000243 0.000105 -0.000033 0.009261 -0.003811 0.001855 0.000956 -0.000463 0.000200 -0.000063 0.016936 -0.007015 0.003420 0.001762 -0.000853 0.000370 -0.000117 0.029656 -0.012424 0.006068 0.003129 -0.001514 0.000656 -0.000207 0.049987 -0.021323 0.010447 0.005392 -0.002610 0.001132 -0.000357 0.080638 -0.035358 0.017408 0.008991 -0.004353 0.001885 -0.000595 0.124962 -0.057117 0.028326 0.014668 -0.007109 0.003086 -0.000972 0.185792 -0.090383 0.045355 0.023528 -0.011400 0.004930 -0.001558 0.248284 -0.132591 0.067701 0.035345 -0.017178 0.007480 -0.002352 0.261830 -0.155426 0.081162 0.042463 -0.020597 0.008862 -0.002813 0.175448 -0.079561 0.037375 0.019228 -0.009379 0.004227 -0.001298 0.048864 0.203872 -0.162341 -0.095084 0.047790 -0.021244 0.006633 0.001320 0.518431 -0.499265 -0.306000 0.154589 -0.066850 0.021296 0.000908 0.366953 -0.428412 -0.289318 0.152702 -0.069571 0.021608 -0.000735 0.057782 0.362478 0.359344 -0.210910 0.100110 -0.030933 0.000474 0.011114 0.763695 0.987076 -0.605494 0.268444 -0.087096 -0.000348 -0.005566 0.295997 0.265952 -0.165866 0.096994 -0.027925 0.000239 0.003542 0.003864 -0.890196 0.879301 -0.486630 0.153074 -0.000113 -0.001820 0.008892 -0.645788 0.930590 -0.494353 0.170071 0.000049 0.000811 -0.003288 -0.067229 -0.787779 0.580676 -0.212718 -0.000025 -0.000403 0.001456 0.006261 -0.832029 1.039651 -0.379628 0.000010 0.000157 -0.000579 -0.002153 -0.057996 -0.549285 0.233862 -0.000003 -0.000047 0.000179 0.000640 -0.002912 -0.977143 0.687531 0.000001 0.000013 -0.000047 -0.000146 0.000828 -0.055704 -0.413025 -0.000000 -0.000005 0.000019 0.000060 -0.000360 0.012459 -0.816881 * p-type functions 26 5 464867550 71405815. 14639391. 3635615.1 1043754.7 332412.73 115202.30 43375.379 17538.207 7563.0690 3446.0589 1650.1671 826.12660 427.79024 227.45755 123.21108 67.169512 37.201660 20.374766 10.986474 5.9045407 2.9978014 1.5054802 0.6479375 0.3010421 0.1229413 0.000005 -0.000003 -0.000001 -0.000001 0.000000 0.000016 -0.000008 -0.000004 -0.000002 0.000001 0.000045 -0.000023 -0.000012 -0.000006 0.000002 0.000112 -0.000059 -0.000030 -0.000014 0.000005 0.000268 -0.000141 -0.000073 -0.000034 0.000013 0.000634 -0.000335 -0.000173 -0.000081 0.000031 0.001490 -0.000790 -0.000409 -0.000190 0.000074 0.003508 -0.001869 -0.000968 -0.000451 0.000177 0.008370 -0.004492 -0.002330 -0.001085 0.000425 0.020036 -0.010867 -0.005653 -0.002637 0.001032 0.047387 -0.026147 -0.013656 -0.006363 0.002494 0.104788 -0.059345 -0.031210 -0.014610 0.005722 0.202129 -0.118862 -0.063096 -0.029493 0.011574 0.308528 -0.188813 -0.101481 -0.047861 0.018752 0.312510 -0.173410 -0.089124 -0.040938 0.016081 0.166774 0.070523 0.075182 0.039341 -0.015990 0.032340 0.445089 0.377113 0.200628 -0.080274 0.001061 0.452519 0.372499 0.186457 -0.074939 0.000010 0.149891 -0.230925 -0.181034 0.079772 -0.000110 0.010848 -0.668016 -0.572857 0.252767 0.000010 0.000914 -0.323165 -0.155415 0.056933 0.000003 -0.000423 -0.032532 0.660787 -0.418172 0.000005 0.000098 -0.000152 0.538592 -0.356594 -0.000000 -0.000057 -0.000047 0.069899 0.419426 0.000000 0.000026 0.000055 -0.004146 0.658613 -0.000000 -0.000007 -0.000015 0.000852 0.175492 * d-type functions 18 4 43754.266 10733.782 3599.1889 1432.1884 649.12279 320.83103 168.35195 91.624706 50.769999 27.945017 15.001727 8.0084638 4.1601846 2.1101549 1.0277232 0.4535236 0.1680691 0.0552462 0.000065 0.000036 0.000015 -0.000004 0.000427 0.000236 0.000100 -0.000024 0.002301 0.001274 0.000537 -0.000132 0.010228 0.005703 0.002413 -0.000591 0.035919 0.020208 0.008542 -0.002097 0.100298 0.057462 0.024463 -0.005994 0.212589 0.122901 0.052211 -0.012831 0.327255 0.184557 0.078504 -0.019204 0.325885 0.134819 0.049946 -0.012107 0.168391 -0.146860 -0.091924 0.023803 0.032944 -0.455763 -0.256038 0.064777 0.001333 -0.407485 -0.186290 0.045883 0.000276 -0.125910 0.239300 -0.076640 -0.000084 -0.007607 0.540559 -0.167424 0.000035 -0.000505 0.349688 -0.080243 -0.000010 0.000278 0.062675 0.258890 0.000004 -0.000062 -0.000224 0.558070 -0.000001 0.000020 0.000447 0.406875 * f-type functions 13 1 1855.3256 625.29707 264.77914 126.39122 64.345001 34.315438 18.715140 10.310185 5.5055135 4.4681569 3.3573012 1.7413061 0.8047006 0.000188 0.001726 0.010056 0.039958 0.112281 0.225449 0.316126 0.314192 0.245171 -0.079056 0.098010 0.012873 0.000437 ****************************************************************************** /Th.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p4d1f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * THORIUM: Th * * =========== * * Reference state: * * The atomic ground state, Th(3F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 90 * s-type functions 35 7 326653130 310476820 485905020 100094560 250311670 726985140 241498670 86685553. 30891912. 10737389. 3721407.2 1313761.0 479917.37 184601.85 75356.435 32757.509 15103.318 7258.4012 3578.8124 1803.3247 924.23847 469.58869 243.08611 126.33571 70.381385 39.224859 21.170957 12.267199 6.8095844 3.2116152 1.6377747 0.7593491 0.3337840 0.0762254 0.0306354 0.000002 -0.000001 0.000000 0.000000 -0.000000 0.000000 0.000000 0.000006 -0.000003 0.000001 0.000001 -0.000000 0.000000 0.000000 0.000018 -0.000007 0.000004 0.000002 -0.000001 0.000000 -0.000000 0.000044 -0.000018 0.000009 0.000005 -0.000002 0.000001 -0.000000 0.000098 -0.000040 0.000020 0.000010 -0.000005 0.000002 -0.000001 0.000196 -0.000081 0.000039 0.000020 -0.000010 0.000004 -0.000001 0.000358 -0.000148 0.000072 0.000037 -0.000018 0.000008 -0.000003 0.000672 -0.000277 0.000135 0.000070 -0.000034 0.000015 -0.000005 0.001334 -0.000549 0.000267 0.000138 -0.000067 0.000030 -0.000010 0.002651 -0.001091 0.000531 0.000275 -0.000134 0.000060 -0.000019 0.005143 -0.002120 0.001033 0.000534 -0.000260 0.000116 -0.000038 0.009719 -0.004021 0.001961 0.001013 -0.000494 0.000219 -0.000072 0.017709 -0.007377 0.003601 0.001861 -0.000909 0.000403 -0.000132 0.030912 -0.013026 0.006372 0.003294 -0.001608 0.000714 -0.000233 0.051852 -0.022252 0.010918 0.005650 -0.002760 0.001226 -0.000400 0.083127 -0.036690 0.018094 0.009371 -0.004577 0.002031 -0.000663 0.128110 -0.058947 0.029282 0.015206 -0.007438 0.003306 -0.001078 0.189100 -0.092717 0.046619 0.024252 -0.011852 0.005257 -0.001718 0.250210 -0.134478 0.068782 0.036019 -0.017673 0.007871 -0.002565 0.258868 -0.154085 0.080550 0.042238 -0.020643 0.009129 -0.002989 0.168983 -0.069095 0.030719 0.015631 -0.007737 0.003530 -0.001135 0.045390 0.222237 -0.178078 -0.104863 0.053342 -0.024106 0.007845 0.000578 0.522106 -0.509857 -0.314387 0.160150 -0.071374 0.023415 0.001154 0.351340 -0.404611 -0.275431 0.147974 -0.068347 0.022225 -0.000944 0.048082 0.410835 0.413053 -0.247345 0.117778 -0.038415 0.000630 0.011367 0.749855 0.986383 -0.609792 0.281445 -0.093414 -0.000462 -0.006148 0.270015 0.190942 -0.122773 0.071836 -0.022756 0.000318 0.003920 0.001062 -0.923541 0.965009 -0.539687 0.180475 -0.000152 -0.001999 0.008224 -0.595842 0.853258 -0.480678 0.167805 0.000067 0.000897 -0.003142 -0.054198 -0.894314 0.727818 -0.270013 -0.000035 -0.000452 0.001404 0.004660 -0.759312 0.986906 -0.392788 0.000014 0.000181 -0.000571 -0.001587 -0.037414 -0.682130 0.343331 -0.000004 -0.000057 0.000184 0.000508 -0.003592 -0.900128 0.653711 0.000001 0.000014 -0.000043 -0.000100 0.000904 -0.044699 -0.590849 -0.000000 -0.000005 0.000017 0.000040 -0.000379 0.010253 -0.664388 * p-type functions 26 5 513699160 72421457. 14656467. 3626770.7 1033739.1 328733.08 114502.16 43192.758 17522.322 7571.8170 3457.3256 1654.5617 825.21610 426.98117 227.71204 123.67773 68.086756 37.999418 20.919841 11.374482 6.1564151 3.1859865 1.6291231 0.7371270 0.3472966 0.1425760 0.000005 -0.000003 -0.000002 -0.000001 0.000000 0.000017 -0.000009 -0.000005 -0.000002 0.000001 0.000048 -0.000025 -0.000013 -0.000006 0.000003 0.000120 -0.000063 -0.000033 -0.000015 0.000006 0.000287 -0.000151 -0.000078 -0.000037 0.000015 0.000673 -0.000356 -0.000185 -0.000087 0.000035 0.001574 -0.000836 -0.000434 -0.000204 0.000083 0.003695 -0.001974 -0.001026 -0.000483 0.000195 0.008756 -0.004712 -0.002453 -0.001155 0.000467 0.020864 -0.011349 -0.005926 -0.002797 0.001130 0.049026 -0.027130 -0.014223 -0.006708 0.002714 0.108520 -0.061677 -0.032566 -0.015421 0.006237 0.208446 -0.123003 -0.065557 -0.031027 0.012565 0.311352 -0.191089 -0.103105 -0.049176 0.019902 0.307307 -0.167004 -0.085245 -0.039547 0.016000 0.159426 0.083280 0.084606 0.044845 -0.018738 0.029395 0.445950 0.380605 0.205025 -0.084921 0.001490 0.444154 0.364018 0.184377 -0.076268 -0.000291 0.148031 -0.232720 -0.186388 0.084655 0.000073 0.010446 -0.664259 -0.578129 0.265663 -0.000094 0.001155 -0.324296 -0.165024 0.061656 0.000059 -0.000564 -0.034052 0.650296 -0.426954 -0.000022 0.000165 -0.000477 0.549400 -0.392118 0.000011 -0.000088 0.000041 0.077903 0.397972 -0.000005 0.000038 0.000027 -0.002822 0.680980 0.000001 -0.000009 -0.000005 0.000607 0.191448 * d-type functions 18 4 49771.507 11053.506 3578.1983 1429.3707 649.33676 320.59636 168.35503 91.705636 50.842652 27.986806 15.002607 8.0047847 4.1673997 2.1092299 1.0226585 0.4336391 0.1741626 0.0629677 0.000061 0.000034 0.000014 -0.000004 0.000457 0.000253 0.000109 -0.000030 0.002477 0.001379 0.000593 -0.000164 0.010746 0.006027 0.002604 -0.000723 0.037691 0.021338 0.009213 -0.002550 0.104563 0.060288 0.026216 -0.007288 0.218394 0.126959 0.055089 -0.015241 0.331023 0.187090 0.081204 -0.022624 0.321101 0.127493 0.046890 -0.012431 0.160334 -0.164827 -0.103847 0.029794 0.029628 -0.467795 -0.269804 0.078690 0.001073 -0.393132 -0.173256 0.045238 0.000233 -0.112356 0.279140 -0.097737 -0.000072 -0.006000 0.554598 -0.206534 0.000030 -0.000290 0.315566 -0.042295 -0.000008 0.000213 0.042989 0.349489 0.000004 -0.000055 -0.001463 0.544364 -0.000001 0.000019 0.000628 0.301166 * f-type functions 13 1 1857.7194 625.83883 264.91641 126.38165 64.328107 34.317857 18.703377 10.310295 5.5390871 4.3932230 3.3531489 1.7251519 0.8316175 0.000203 0.001863 0.010813 0.042612 0.118427 0.233826 0.321890 0.309677 0.220982 -0.062964 0.087167 0.009680 0.000222 ****************************************************************************** /Pa.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p4d2f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * PROTOACTINIUM: Pa * * ================= * * Reference state: * * The atomic ground state, Pa(4J) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 91 * s-type functions 35 7 326653130 310476820 485905020 100094560 249661770 724716860 241498670 86685553. 30891912. 10737389. 3721407.2 1313745.0 479917.37 184601.85 75356.435 32757.509 15103.318 7258.2067 3578.9871 1803.3247 924.23847 469.58869 243.08611 126.33580 70.381385 39.225458 21.170961 12.267199 6.8095844 3.2116152 1.6377547 0.7593491 0.3337860 0.0762310 0.0306338 0.000002 -0.000001 0.000000 0.000000 -0.000000 0.000000 0.000000 0.000007 -0.000003 0.000001 0.000001 -0.000000 0.000000 0.000000 0.000019 -0.000008 0.000004 0.000002 -0.000001 0.000000 -0.000000 0.000048 -0.000020 0.000010 0.000005 -0.000003 0.000001 -0.000000 0.000106 -0.000044 0.000021 0.000011 -0.000005 0.000002 -0.000001 0.000209 -0.000087 0.000042 0.000022 -0.000011 0.000005 -0.000001 0.000381 -0.000158 0.000077 0.000040 -0.000020 0.000009 -0.000003 0.000715 -0.000296 0.000144 0.000075 -0.000037 0.000016 -0.000005 0.001414 -0.000585 0.000285 0.000148 -0.000073 0.000032 -0.000010 0.002801 -0.001159 0.000566 0.000293 -0.000144 0.000063 -0.000019 0.005417 -0.002245 0.001095 0.000567 -0.000279 0.000123 -0.000037 0.010199 -0.004243 0.002071 0.001073 -0.000527 0.000232 -0.000070 0.018512 -0.007755 0.003791 0.001964 -0.000965 0.000425 -0.000129 0.032183 -0.013641 0.006682 0.003463 -0.001702 0.000750 -0.000227 0.053743 -0.023204 0.011402 0.005916 -0.002910 0.001282 -0.000388 0.085719 -0.038080 0.018808 0.009766 -0.004801 0.002114 -0.000641 0.131312 -0.060842 0.030275 0.015763 -0.007764 0.003423 -0.001035 0.192306 -0.094990 0.047847 0.024954 -0.012271 0.005402 -0.001640 0.251626 -0.136165 0.069778 0.036644 -0.018117 0.008000 -0.002415 0.256075 -0.152365 0.079652 0.041840 -0.020543 0.009025 -0.002752 0.162594 -0.058869 0.024201 0.012084 -0.006099 0.002751 -0.000794 0.041697 0.240680 -0.194174 -0.114916 0.059060 -0.026402 0.007925 0.000382 0.524907 -0.519598 -0.322282 0.165061 -0.073170 0.022388 0.001035 0.334202 -0.376856 -0.258171 0.141245 -0.064493 0.019161 -0.000843 0.041138 0.455017 0.465148 -0.283927 0.133144 -0.039695 0.000557 0.010455 0.734541 0.980875 -0.608175 0.280400 -0.087545 -0.000405 -0.005819 0.244348 0.114033 -0.078618 0.047463 -0.011227 0.000279 0.003676 -0.000447 -0.948875 1.050350 -0.582846 0.177090 -0.000133 -0.001865 0.007222 -0.547657 0.756388 -0.425870 0.142879 0.000058 0.000837 -0.002796 -0.042528 -0.982342 0.826384 -0.291577 -0.000030 -0.000421 0.001235 0.002980 -0.679756 0.866100 -0.303338 0.000012 0.000168 -0.000500 -0.000983 -0.029476 -0.710085 0.302130 -0.000004 -0.000053 0.000161 0.000323 -0.003125 -0.856909 0.601433 0.000001 0.000013 -0.000038 -0.000058 0.000707 -0.043602 -0.476640 -0.000000 -0.000005 0.000015 0.000024 -0.000296 0.010374 -0.750963 * p-type functions 26 5 511555430 72013448. 14731866. 3618831.6 1031651.0 328474.11 114393.35 43203.876 17519.478 7570.3645 3458.9058 1654.0049 825.22297 427.01621 227.43693 123.70313 68.182918 37.992905 20.963068 11.382522 6.1580668 3.1837911 1.6238247 0.7476120 0.3472157 0.1433904 0.000006 -0.000003 -0.000002 -0.000001 0.000000 0.000018 -0.000010 -0.000005 -0.000002 0.000001 0.000050 -0.000027 -0.000014 -0.000006 0.000003 0.000127 -0.000067 -0.000035 -0.000017 0.000007 0.000303 -0.000160 -0.000083 -0.000040 0.000016 0.000711 -0.000378 -0.000196 -0.000093 0.000037 0.001659 -0.000883 -0.000460 -0.000218 0.000087 0.003880 -0.002077 -0.001083 -0.000514 0.000204 0.009190 -0.004958 -0.002590 -0.001229 0.000488 0.021775 -0.011878 -0.006222 -0.002958 0.001175 0.050991 -0.028304 -0.014894 -0.007079 0.002813 0.112314 -0.064056 -0.033940 -0.016190 0.006431 0.213309 -0.126329 -0.067611 -0.032249 0.012831 0.314991 -0.193691 -0.104799 -0.050339 0.020010 0.303482 -0.161162 -0.081702 -0.038070 0.015128 0.151058 0.100404 0.097747 0.052143 -0.021390 0.026814 0.458035 0.393558 0.213836 -0.087023 0.001056 0.432649 0.349039 0.176651 -0.071737 -0.000141 0.135156 -0.269527 -0.214570 0.095655 -0.000027 0.009550 -0.666699 -0.594424 0.269303 -0.000028 0.000596 -0.298531 -0.111567 0.031567 0.000024 -0.000311 -0.028219 0.688328 -0.447350 -0.000006 0.000046 -0.000370 0.505315 -0.343684 0.000004 -0.000034 0.000014 0.064825 0.410670 -0.000002 0.000014 0.000032 -0.000566 0.662277 0.000000 -0.000004 -0.000009 0.000203 0.194237 * d-type functions 18 4 38409.563 9691.3974 3420.0290 1430.6456 658.02200 322.26426 166.57757 89.902299 50.468770 28.934401 16.201400 8.9418322 4.7686737 2.4451016 1.1951296 0.5255908 0.2014536 0.0688887 0.000088 0.000049 0.000021 -0.000006 0.000552 0.000308 0.000134 -0.000037 0.002653 0.001485 0.000646 -0.000177 0.010939 0.006170 0.002690 -0.000737 0.038632 0.021992 0.009595 -0.002632 0.110228 0.063934 0.028045 -0.007690 0.232551 0.135878 0.059602 -0.016369 0.337841 0.190521 0.083150 -0.022760 0.299905 0.111813 0.039984 -0.010656 0.148785 -0.152050 -0.097635 0.028293 0.033830 -0.428743 -0.250158 0.071308 0.001228 -0.408060 -0.202575 0.055828 0.000544 -0.142264 0.211448 -0.078028 -0.000221 -0.011141 0.547011 -0.194912 0.000089 -0.000395 0.367150 -0.090150 -0.000034 0.000211 0.066924 0.290621 0.000011 -0.000040 -0.000546 0.565369 -0.000004 0.000021 0.000148 0.362285 * f-type functions 13 2 3250.8191 798.95277 304.43716 138.04992 67.860968 35.045052 18.387982 9.6048780 4.8414391 2.2255853 0.9723375 0.3938838 0.1394215 -0.000086 -0.000024 -0.001338 -0.000381 -0.009318 -0.002652 -0.040728 -0.011655 -0.121333 -0.034754 -0.250725 -0.070940 -0.352278 -0.091224 -0.326269 -0.056748 -0.162862 0.106220 -0.027009 0.328404 0.000403 0.418512 -0.000396 0.331104 0.000090 0.151874 ****************************************************************************** /U.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p4d2f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * URANIUM: U * * ========== * * Reference state: * * The atomic ground state, U(5L) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 92 * s-type functions 35 7 326653130 310476820 485905020 100094560 249661770 724716860 241498670 86685553. 30894257. 10739020. 3724315.7 1313745.0 479916.48 184600.81 75352.579 32757.509 15104.669 7259.6244 3578.9871 1803.3247 924.24987 469.58869 243.08611 126.33426 70.371076 39.225458 21.170961 12.266637 6.8087533 3.2127131 1.6377547 0.7593584 0.3339205 0.0762455 0.0306352 0.000002 -0.000001 0.000000 0.000000 -0.000000 0.000000 0.000000 0.000007 -0.000003 0.000002 0.000001 -0.000000 0.000000 0.000000 0.000021 -0.000009 0.000004 0.000002 -0.000001 0.000000 -0.000000 0.000051 -0.000022 0.000011 0.000005 -0.000003 0.000001 -0.000000 0.000113 -0.000047 0.000023 0.000012 -0.000006 0.000003 -0.000001 0.000224 -0.000093 0.000046 0.000024 -0.000012 0.000005 -0.000002 0.000407 -0.000170 0.000083 0.000043 -0.000021 0.000009 -0.000003 0.000761 -0.000317 0.000155 0.000080 -0.000040 0.000018 -0.000005 0.001500 -0.000624 0.000305 0.000158 -0.000078 0.000035 -0.000010 0.002958 -0.001231 0.000601 0.000312 -0.000154 0.000068 -0.000020 0.005703 -0.002377 0.001161 0.000603 -0.000298 0.000132 -0.000039 0.010707 -0.004479 0.002190 0.001137 -0.000562 0.000249 -0.000074 0.019344 -0.008150 0.003989 0.002072 -0.001025 0.000453 -0.000135 0.033503 -0.014284 0.007006 0.003640 -0.001801 0.000796 -0.000237 0.055681 -0.024189 0.011903 0.006191 -0.003066 0.001356 -0.000403 0.088354 -0.039507 0.019543 0.010173 -0.005035 0.002226 -0.000663 0.134478 -0.062742 0.031272 0.016325 -0.008098 0.003583 -0.001065 0.195448 -0.097252 0.049072 0.025659 -0.012699 0.005613 -0.001673 0.252929 -0.137759 0.070720 0.037240 -0.018552 0.008222 -0.002439 0.252977 -0.150261 0.078522 0.041320 -0.020388 0.008994 -0.002691 0.156292 -0.048166 0.017266 0.008257 -0.004284 0.001949 -0.000547 0.038188 0.258978 -0.210480 -0.125166 0.064946 -0.029122 0.008605 0.000267 0.526314 -0.528039 -0.329531 0.169799 -0.075645 0.022697 0.000884 0.316987 -0.346681 -0.238455 0.132870 -0.060916 0.017823 -0.000715 0.034894 0.497169 0.516869 -0.320875 0.150823 -0.044449 0.000461 0.009629 0.716337 0.970315 -0.603838 0.280437 -0.085714 -0.000333 -0.005490 0.220309 0.035141 -0.029477 0.023024 -0.004227 0.000229 0.003435 -0.001626 -0.967265 1.131413 -0.635284 0.191344 -0.000109 -0.001733 0.006354 -0.499642 0.649287 -0.364138 0.119781 0.000048 0.000778 -0.002501 -0.033044 -1.057941 0.922073 -0.317910 -0.000025 -0.000391 0.001092 0.001686 -0.602951 0.773027 -0.267740 0.000010 0.000156 -0.000439 -0.000517 -0.022412 -0.789194 0.338654 -0.000003 -0.000049 0.000142 0.000186 -0.002449 -0.788531 0.556286 0.000001 0.000012 -0.000033 -0.000028 0.000505 -0.033590 -0.510292 -0.000000 -0.000005 0.000013 0.000012 -0.000211 0.007659 -0.717717 * p-type functions 26 5 504215120 71035224. 14357392. 3546683.7 1012798.1 323735.93 113353.58 43002.224 17519.177 7585.4976 3460.4410 1654.1025 824.44285 426.36572 227.38444 123.91382 68.446532 38.286828 21.203490 11.721141 6.4360107 3.4248631 1.7701463 0.7956985 0.3692714 0.1519013 0.000006 -0.000003 -0.000002 -0.000001 0.000000 0.000020 -0.000010 -0.000005 -0.000003 0.000001 0.000054 -0.000029 -0.000015 -0.000007 0.000003 0.000136 -0.000072 -0.000038 -0.000018 0.000007 0.000325 -0.000172 -0.000090 -0.000043 0.000017 0.000756 -0.000402 -0.000210 -0.000100 0.000040 0.001753 -0.000936 -0.000489 -0.000234 0.000093 0.004077 -0.002188 -0.001145 -0.000548 0.000218 0.009581 -0.005182 -0.002717 -0.001300 0.000517 0.022705 -0.012418 -0.006529 -0.003128 0.001243 0.053063 -0.029549 -0.015603 -0.007478 0.002975 0.116090 -0.066422 -0.035332 -0.016985 0.006754 0.219002 -0.130207 -0.069933 -0.033651 0.013405 0.317863 -0.195671 -0.106261 -0.051411 0.020450 0.298248 -0.154504 -0.077380 -0.036272 0.014432 0.143707 0.116866 0.109957 0.059284 -0.024363 0.024239 0.465309 0.404010 0.221282 -0.090138 0.000984 0.420026 0.330233 0.167408 -0.068104 -0.000195 0.127791 -0.281218 -0.227233 0.101883 0.000012 0.008277 -0.652975 -0.588338 0.267112 -0.000051 0.000987 -0.298628 -0.125661 0.039561 0.000036 -0.000491 -0.030663 0.659396 -0.430707 -0.000010 0.000113 -0.000965 0.537949 -0.364557 0.000005 -0.000061 0.000142 0.077261 0.389053 -0.000002 0.000025 -0.000021 -0.003006 0.669836 0.000001 -0.000006 0.000005 0.000808 0.203195 * d-type functions 18 4 37660.811 9616.7344 3410.7884 1433.5911 658.07391 322.17142 166.58431 89.830585 50.479385 29.004616 16.237556 8.9528533 4.7670824 2.4501116 1.1962558 0.5183388 0.2013480 0.0693246 0.000096 0.000054 0.000023 -0.000006 0.000590 0.000331 0.000146 -0.000040 0.002796 0.001574 0.000692 -0.000190 0.011472 0.006505 0.002870 -0.000790 0.040568 0.023232 0.010259 -0.002823 0.114491 0.066793 0.029665 -0.008178 0.239095 0.140409 0.062324 -0.017162 0.341487 0.192566 0.084976 -0.023420 0.293379 0.102794 0.035297 -0.009192 0.141486 -0.167272 -0.107115 0.030852 0.030740 -0.439577 -0.261401 0.075484 0.001002 -0.397191 -0.189855 0.050947 0.000460 -0.128576 0.246342 -0.089064 -0.000195 -0.008702 0.552191 -0.201557 0.000073 -0.000450 0.341523 -0.064654 -0.000029 0.000215 0.055713 0.315356 0.000009 -0.000051 -0.000950 0.554739 -0.000003 0.000022 0.000212 0.342443 * f-type functions 13 2 2162.6449 723.34376 307.01713 146.99654 74.894952 39.606560 21.057592 11.053894 5.6286962 2.6805945 1.1979814 0.4910812 0.1751384 -0.000170 -0.000051 -0.001554 -0.000471 -0.009000 -0.002739 -0.036356 -0.011079 -0.105696 -0.032363 -0.225991 -0.068411 -0.340517 -0.096143 -0.342529 -0.071644 -0.188389 0.079404 -0.038400 0.308808 -0.000453 0.429582 -0.000370 0.344827 0.000077 0.149455 ****************************************************************************** /Np.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p4d2f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * NEPTUNIUM: Np * * ============= * * Reference state: * * The atomic ground state, Np(6L) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 93 * s-type functions 35 7 328701110 309271640 485905020 995195740 247555080 722455650 241498670 86617857. 30900291. 10755812. 3724315.7 1313674.8 479904.76 184555.74 75318.558 32758.743 15113.137 7261.0425 3578.2733 1803.3247 925.20936 469.33040 242.99117 126.21942 70.359158 39.226176 21.236276 12.266147 6.7865439 3.2230029 1.6185017 0.7594658 0.3341162 0.0761943 0.0305118 0.000002 -0.000001 0.000000 0.000000 -0.000000 0.000000 0.000000 0.000008 -0.000003 0.000002 0.000001 -0.000000 0.000000 -0.000000 0.000023 -0.000010 0.000005 0.000002 -0.000001 0.000000 -0.000000 0.000056 -0.000024 0.000012 0.000006 -0.000003 0.000001 -0.000000 0.000122 -0.000051 0.000025 0.000013 -0.000006 0.000003 -0.000001 0.000239 -0.000100 0.000049 0.000026 -0.000013 0.000006 -0.000002 0.000434 -0.000182 0.000089 0.000046 -0.000023 0.000010 -0.000003 0.000810 -0.000339 0.000166 0.000086 -0.000043 0.000019 -0.000006 0.001587 -0.000664 0.000325 0.000169 -0.000084 0.000037 -0.000011 0.003125 -0.001308 0.000640 0.000333 -0.000166 0.000073 -0.000022 0.006012 -0.002520 0.001233 0.000641 -0.000319 0.000142 -0.000041 0.011229 -0.004725 0.002313 0.001204 -0.000599 0.000266 -0.000078 0.020218 -0.008567 0.004199 0.002186 -0.001089 0.000483 -0.000141 0.034877 -0.014959 0.007347 0.003827 -0.001906 0.000845 -0.000247 0.057687 -0.025215 0.012426 0.006479 -0.003229 0.001432 -0.000419 0.090942 -0.040933 0.020278 0.010583 -0.005270 0.002338 -0.000685 0.137639 -0.064656 0.032278 0.016892 -0.008433 0.003743 -0.001094 0.198642 -0.099573 0.050331 0.026384 -0.013140 0.005827 -0.001708 0.254057 -0.139191 0.071568 0.037782 -0.018948 0.008420 -0.002459 0.249433 -0.147770 0.077168 0.040677 -0.020177 0.008936 -0.002629 0.150017 -0.036838 0.009816 0.004096 -0.002230 0.001018 -0.000271 0.035189 0.277187 -0.227156 -0.135722 0.070954 -0.031863 0.009286 -0.000025 0.526470 -0.535183 -0.336087 0.174383 -0.078084 0.023025 0.000910 0.299674 -0.314239 -0.216357 0.122393 -0.056123 0.016206 -0.000740 0.028878 0.537772 0.568440 -0.357272 0.167925 -0.048962 0.000483 0.009109 0.694550 0.953852 -0.597341 0.279965 -0.083938 -0.000346 -0.005284 0.197834 -0.043347 0.026560 -0.006932 0.004154 0.000236 0.003243 -0.001510 -0.981795 1.203493 -0.681133 0.203599 -0.000113 -0.001629 0.005280 -0.451490 0.540219 -0.300725 0.096930 0.000049 0.000731 -0.002126 -0.024052 -1.129908 1.018650 -0.343970 -0.000025 -0.000364 0.000906 0.000125 -0.529211 0.672580 -0.231431 0.000010 0.000149 -0.000374 0.000027 -0.011809 -0.860363 0.371675 -0.000003 -0.000046 0.000121 0.000025 -0.003063 -0.722596 0.513874 0.000001 0.000011 -0.000028 0.000008 0.000594 -0.026263 -0.545492 -0.000000 -0.000004 0.000011 -0.000003 -0.000241 0.005750 -0.682472 * p-type functions 26 5 504340890 71015026. 14335463. 3539746.3 1010819.6 323284.15 113257.89 42991.890 17520.483 7586.6545 3460.6188 1654.0220 824.30639 426.36146 227.35434 123.76895 68.504786 38.304414 21.154801 11.731538 6.4430042 3.4446968 1.7852488 0.8013588 0.3701859 0.1518778 0.000007 -0.000003 -0.000002 -0.000001 0.000000 0.000021 -0.000011 -0.000006 -0.000003 0.000001 0.000058 -0.000031 -0.000016 -0.000008 0.000003 0.000145 -0.000077 -0.000040 -0.000019 0.000008 0.000344 -0.000183 -0.000096 -0.000046 0.000018 0.000798 -0.000425 -0.000223 -0.000107 0.000043 0.001846 -0.000988 -0.000518 -0.000249 0.000099 0.004281 -0.002303 -0.001209 -0.000583 0.000231 0.010031 -0.005439 -0.002861 -0.001379 0.000548 0.023695 -0.012995 -0.006855 -0.003309 0.001315 0.055142 -0.030800 -0.016320 -0.007882 0.003136 0.119900 -0.068837 -0.036748 -0.017797 0.007075 0.224103 -0.133695 -0.072072 -0.034953 0.013929 0.320395 -0.197497 -0.107576 -0.052414 0.020837 0.293960 -0.147609 -0.072896 -0.034267 0.013654 0.136426 0.134610 0.123792 0.067279 -0.027706 0.021368 0.474380 0.415318 0.229387 -0.093356 0.001025 0.408001 0.310478 0.156426 -0.063792 -0.000318 0.116910 -0.316505 -0.257041 0.115917 0.000091 0.006439 -0.649569 -0.597585 0.271477 -0.000092 0.001031 -0.274977 -0.074740 0.012979 0.000058 -0.000538 -0.025391 0.684212 -0.453807 -0.000020 0.000133 -0.001061 0.505179 -0.329937 0.000009 -0.000066 0.000205 0.066814 0.425557 -0.000004 0.000027 -0.000048 -0.002579 0.651860 0.000001 -0.000007 0.000010 0.000670 0.184667 * d-type functions 18 4 34958.747 9426.9414 3427.0495 1435.0993 657.85675 322.21595 166.44430 89.721051 50.481275 29.096644 16.287437 8.9794227 4.7723715 2.4523065 1.1963155 0.5169259 0.2025959 0.0704031 0.000111 0.000062 0.000028 -0.000008 0.000620 0.000350 0.000156 -0.000043 0.002918 0.001652 0.000735 -0.000202 0.012115 0.006905 0.003080 -0.000849 0.042439 0.024447 0.010915 -0.003005 0.118962 0.069780 0.031336 -0.008648 0.245999 0.145203 0.065160 -0.017948 0.344367 0.193894 0.086346 -0.023832 0.286560 0.093524 0.030378 -0.007724 0.134172 -0.182297 -0.116686 0.033538 0.028161 -0.448715 -0.271393 0.078703 0.000712 -0.385684 -0.175627 0.045967 0.000444 -0.116547 0.280469 -0.100628 -0.000202 -0.006692 0.554482 -0.204437 0.000072 -0.000518 0.315039 -0.041423 -0.000030 0.000226 0.046819 0.333425 0.000010 -0.000063 -0.000799 0.543852 -0.000003 0.000023 0.000189 0.328787 * f-type functions 13 2 2157.7817 724.22846 306.90467 146.96749 74.902419 39.634205 21.085597 11.083325 5.6394629 2.6705922 1.2081720 0.5072111 0.1865491 -0.000183 -0.000058 -0.001672 -0.000532 -0.009669 -0.003073 -0.038638 -0.012343 -0.111193 -0.035578 -0.233785 -0.074049 -0.345238 -0.100898 -0.337525 -0.070016 -0.176335 0.101441 -0.032365 0.334860 -0.000123 0.423623 -0.000372 0.317030 0.000076 0.126806 ****************************************************************************** /Pu.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p3d2f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * PLUTONIUM: Pu * * ============= * * Reference state: * * The atomic ground state, Pu(7F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 94 * s-type functions 35 7 328837560 309120950 482482840 993634060 247555080 721082640 241118400 86617857. 30900291. 10755812. 3727408.6 1313692.6 479941.38 184552.58 75297.126 32745.839 15113.137 7261.0425 3576.7764 1802.9530 923.85183 472.46213 242.44783 123.82681 70.399362 39.238956 21.290133 12.030940 6.7209943 3.3155266 1.5591702 0.7602095 0.3217056 0.0779395 0.0301394 0.000002 -0.000001 0.000000 0.000000 -0.000000 0.000000 0.000000 0.000009 -0.000004 0.000002 0.000001 -0.000000 0.000000 -0.000000 0.000025 -0.000010 0.000005 0.000003 -0.000001 0.000001 -0.000000 0.000061 -0.000026 0.000013 0.000007 -0.000003 0.000001 -0.000000 0.000132 -0.000056 0.000027 0.000014 -0.000007 0.000003 -0.000001 0.000257 -0.000108 0.000053 0.000028 -0.000014 0.000006 -0.000002 0.000464 -0.000196 0.000096 0.000050 -0.000025 0.000011 -0.000003 0.000862 -0.000363 0.000178 0.000093 -0.000046 0.000020 -0.000005 0.001685 -0.000709 0.000347 0.000181 -0.000091 0.000040 -0.000011 0.003300 -0.001389 0.000680 0.000355 -0.000178 0.000078 -0.000021 0.006329 -0.002668 0.001307 0.000682 -0.000341 0.000150 -0.000040 0.011786 -0.004988 0.002445 0.001275 -0.000638 0.000280 -0.000076 0.021117 -0.009001 0.004417 0.002305 -0.001154 0.000506 -0.000137 0.036297 -0.015661 0.007702 0.004021 -0.002013 0.000883 -0.000238 0.059755 -0.026287 0.012973 0.006779 -0.003395 0.001489 -0.000402 0.093674 -0.042432 0.021049 0.011012 -0.005515 0.002420 -0.000654 0.140759 -0.066612 0.033315 0.017472 -0.008762 0.003845 -0.001036 0.201788 -0.101800 0.051520 0.027083 -0.013578 0.005958 -0.001612 0.254873 -0.140666 0.072491 0.038336 -0.019282 0.008467 -0.002276 0.246091 -0.144435 0.075161 0.039727 -0.019909 0.008737 -0.002379 0.143656 -0.026831 0.003385 0.000331 -0.000070 0.000017 0.000042 0.031601 0.293521 -0.242547 -0.145159 0.075721 -0.033548 0.008969 0.000612 0.535058 -0.549775 -0.348293 0.183359 -0.081448 0.022243 0.000280 0.281320 -0.279236 -0.189937 0.105582 -0.047516 0.012307 -0.000221 0.015822 0.583158 0.619135 -0.385171 0.178166 -0.047255 0.000094 0.011784 0.668225 0.940789 -0.608287 0.284620 -0.079829 -0.000056 -0.006714 0.178963 -0.148938 0.140912 -0.067972 0.022834 0.000040 0.004079 -0.002745 -0.993085 1.236347 -0.696071 0.188096 -0.000018 -0.002132 0.005134 -0.376014 0.441945 -0.238486 0.076460 0.000007 0.000916 -0.002110 -0.022910 -1.193057 1.071258 -0.337363 -0.000003 -0.000424 0.000839 0.001390 -0.498567 0.619758 -0.182358 0.000002 0.000188 -0.000376 -0.000699 0.019268 -0.931025 0.339677 -0.000000 -0.000056 0.000116 0.000252 -0.009605 -0.666161 0.477559 0.000000 0.000014 -0.000029 -0.000055 0.002234 -0.019446 -0.434211 0.000000 -0.000005 0.000011 0.000021 -0.000850 0.003294 -0.778595 * p-type functions 26 5 504149370 70978257. 14299984. 3533643.2 1009014.3 322840.24 113159.35 42985.918 17521.746 7587.4739 3461.0310 1653.7683 824.24618 426.32439 227.32951 123.69534 68.549377 38.321450 21.126263 11.741960 6.4272290 3.4583914 1.7929288 0.8087090 0.3694930 0.1521654 0.000007 -0.000004 -0.000002 -0.000001 0.000000 0.000022 -0.000012 -0.000006 -0.000003 0.000001 0.000061 -0.000032 -0.000017 -0.000008 0.000003 0.000153 -0.000081 -0.000043 -0.000021 0.000008 0.000364 -0.000194 -0.000102 -0.000049 0.000019 0.000843 -0.000450 -0.000236 -0.000115 0.000044 0.001943 -0.001042 -0.000548 -0.000265 0.000103 0.004492 -0.002422 -0.001275 -0.000618 0.000240 0.010502 -0.005709 -0.003012 -0.001460 0.000567 0.024710 -0.013589 -0.007192 -0.003490 0.001354 0.057283 -0.032094 -0.017063 -0.008287 0.003220 0.123764 -0.071292 -0.038189 -0.018593 0.007216 0.229122 -0.137160 -0.074204 -0.036199 0.014086 0.322788 -0.199121 -0.108747 -0.053237 0.020657 0.289178 -0.140186 -0.068030 -0.031991 0.012445 0.129380 0.152471 0.137954 0.075501 -0.030353 0.018825 0.482542 0.425758 0.236486 -0.093942 0.001039 0.395026 0.288865 0.144008 -0.057283 -0.000414 0.106808 -0.350159 -0.286718 0.126408 0.000155 0.004970 -0.645431 -0.602782 0.267557 -0.000125 0.001038 -0.251904 -0.020275 -0.016822 0.000077 -0.000568 -0.019772 0.702526 -0.456026 -0.000029 0.000148 -0.001474 0.470952 -0.286375 0.000013 -0.000071 0.000351 0.059402 0.420414 -0.000005 0.000028 -0.000112 -0.001628 0.637250 0.000001 -0.000007 0.000025 0.000539 0.195186 * d-type functions 18 3 41478.171 10322.581 3542.5677 1441.8116 654.42805 320.47169 166.15699 89.665823 49.944825 28.278501 15.969977 9.1449981 5.2647089 3.0122354 2.0937038 1.4960356 0.8053279 0.3620636 0.000095 -0.000053 -0.000024 0.000602 -0.000341 -0.000153 0.003037 -0.001727 -0.000773 0.012901 -0.007392 -0.003315 0.045011 -0.026065 -0.011710 0.123933 -0.073138 -0.033033 0.251189 -0.148804 -0.067183 0.348870 -0.196497 -0.087769 0.286693 -0.080896 -0.022994 0.122136 0.215831 0.137093 0.021871 0.443605 0.269554 0.000804 0.345224 0.155830 0.000405 0.116496 -0.212224 -0.000391 0.015115 -0.422958 0.000345 -0.000101 -0.143109 -0.000170 0.000583 -0.292824 0.000023 -0.000069 -0.114776 -0.000005 0.000002 -0.012116 * f-type functions 13 2 2127.8859 721.85999 307.20342 147.07671 74.941263 39.658517 21.136975 11.164745 5.6985600 2.6798856 1.1937583 0.4892504 0.1743897 -0.000203 -0.000064 -0.001796 -0.000573 -0.010326 -0.003290 -0.040984 -0.013132 -0.116845 -0.037481 -0.241484 -0.076548 -0.348027 -0.101117 -0.330619 -0.064798 -0.166215 0.115216 -0.028148 0.347979 0.000053 0.420618 -0.000340 0.308193 0.000068 0.126911 ****************************************************************************** /Am.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p3d2f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * AMERICIUM: Am * * ============= * * Reference state: * * The atomic ground state, Am(8S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 95 * s-type functions 35 7 328837560 309120950 482482840 993634060 247555080 720428000 241118400 86600941. 30894257. 10761587. 3730108.7 1313692.6 479941.38 184569.62 75297.126 32749.037 15115.773 7260.9538 3576.7873 1802.9530 923.84902 472.46213 242.44783 123.82718 70.392487 39.240752 21.290263 12.030573 6.7209943 3.3155266 1.5588467 0.7602072 0.3216663 0.0779395 0.0301424 0.000002 -0.000001 0.000000 0.000000 -0.000000 0.000000 0.000000 0.000009 -0.000004 0.000002 0.000001 -0.000000 0.000000 -0.000000 0.000027 -0.000012 0.000006 0.000003 -0.000002 0.000001 -0.000000 0.000065 -0.000028 0.000014 0.000007 -0.000004 0.000002 -0.000000 0.000142 -0.000060 0.000030 0.000016 -0.000008 0.000003 -0.000001 0.000276 -0.000117 0.000057 0.000030 -0.000015 0.000007 -0.000002 0.000495 -0.000210 0.000103 0.000054 -0.000027 0.000012 -0.000003 0.000918 -0.000389 0.000191 0.000100 -0.000050 0.000022 -0.000006 0.001787 -0.000756 0.000371 0.000194 -0.000097 0.000043 -0.000011 0.003485 -0.001476 0.000723 0.000378 -0.000190 0.000084 -0.000022 0.006665 -0.002826 0.001386 0.000724 -0.000365 0.000160 -0.000043 0.012369 -0.005265 0.002584 0.001351 -0.000680 0.000299 -0.000079 0.022055 -0.009456 0.004646 0.002430 -0.001223 0.000537 -0.000143 0.037753 -0.016388 0.008070 0.004222 -0.002125 0.000934 -0.000248 0.061854 -0.027381 0.013531 0.007087 -0.003569 0.001568 -0.000417 0.096408 -0.043959 0.021837 0.011451 -0.005767 0.002534 -0.000674 0.143980 -0.068611 0.034368 0.018066 -0.009111 0.004004 -0.001063 0.204724 -0.104010 0.052719 0.027780 -0.014002 0.006155 -0.001640 0.255480 -0.141765 0.073168 0.038782 -0.019622 0.008630 -0.002287 0.242409 -0.141208 0.073284 0.038787 -0.019519 0.008580 -0.002300 0.137497 -0.014777 -0.004701 -0.004281 0.002264 -0.001016 0.000311 0.028783 0.310928 -0.259324 -0.155910 0.081933 -0.036364 0.009597 0.000511 0.532367 -0.553388 -0.352805 0.186839 -0.083183 0.022350 0.000209 0.263816 -0.241520 -0.161953 0.091215 -0.041098 0.010483 -0.000161 0.012511 0.615304 0.665396 -0.419666 0.194666 -0.051141 0.000053 0.010540 0.644986 0.916816 -0.595660 0.279946 -0.077118 -0.000027 -0.005992 0.158835 -0.231132 0.206778 -0.101920 0.031176 0.000021 0.003588 -0.002780 -0.988637 1.292854 -0.736816 0.197765 -0.000008 -0.001863 0.004310 -0.333682 0.306569 -0.147462 0.048195 0.000003 0.000800 -0.001797 -0.018672 -1.215652 1.117448 -0.345331 -0.000002 -0.000369 0.000702 0.001290 -0.435826 0.518553 -0.149608 0.000001 0.000163 -0.000312 -0.000663 0.017637 -0.960481 0.352827 -0.000000 -0.000048 0.000096 0.000242 -0.007983 -0.615919 0.448980 0.000000 0.000012 -0.000024 -0.000054 0.001817 -0.013849 -0.462307 0.000000 -0.000005 0.000009 0.000021 -0.000689 0.001861 -0.751460 * p-type functions 26 5 502976140 70692481. 14267308. 3527264.3 1007384.5 322182.07 113088.93 42967.250 17523.619 7589.6730 3460.9963 1653.6195 824.09354 426.29266 227.27355 123.67164 68.566837 38.277212 21.156597 11.736302 6.3628319 3.4723740 1.8077194 0.8162996 0.3708123 0.1513182 0.000008 -0.000004 -0.000002 -0.000001 0.000000 0.000024 -0.000013 -0.000007 -0.000003 0.000001 0.000065 -0.000035 -0.000018 -0.000009 0.000003 0.000162 -0.000086 -0.000046 -0.000022 0.000009 0.000385 -0.000205 -0.000108 -0.000053 0.000020 0.000889 -0.000476 -0.000251 -0.000122 0.000047 0.002043 -0.001098 -0.000579 -0.000282 0.000109 0.004716 -0.002549 -0.001346 -0.000656 0.000254 0.010980 -0.005984 -0.003167 -0.001545 0.000599 0.025767 -0.014208 -0.007543 -0.003683 0.001425 0.059475 -0.033422 -0.017831 -0.008718 0.003380 0.127677 -0.073789 -0.039655 -0.019421 0.007518 0.234125 -0.140626 -0.076366 -0.037520 0.014571 0.324865 -0.200458 -0.109695 -0.053969 0.020878 0.284198 -0.132310 -0.062933 -0.029676 0.011537 0.122336 0.170328 0.152638 0.084405 -0.033909 0.016744 0.490617 0.435356 0.242935 -0.096171 0.000897 0.381048 0.266943 0.132155 -0.052602 -0.000391 0.096351 -0.383811 -0.319009 0.141036 0.000137 0.004649 -0.642549 -0.605483 0.267792 -0.000111 0.000577 -0.227690 0.038188 -0.048079 0.000072 -0.000365 -0.013593 0.712679 -0.466366 -0.000026 0.000060 -0.002138 0.439887 -0.252749 0.000011 -0.000033 0.000579 0.052001 0.443631 -0.000004 0.000013 -0.000197 -0.001286 0.625799 0.000001 -0.000003 0.000046 0.000423 0.179889 * d-type functions 18 3 41531.818 10332.260 3544.1664 1441.9980 654.25482 320.41638 166.12860 89.652315 49.936783 28.272173 15.963992 9.1249252 5.2533326 3.0150259 2.1076638 1.4993581 0.8072282 0.3624788 0.000100 -0.000057 -0.000026 0.000637 -0.000362 -0.000163 0.003203 -0.001831 -0.000827 0.013561 -0.007809 -0.003534 0.047071 -0.027409 -0.012429 0.128514 -0.076241 -0.034751 0.257431 -0.153177 -0.069796 0.351052 -0.197239 -0.088668 0.280291 -0.069980 -0.016886 0.115185 0.232570 0.148225 0.019399 0.451089 0.277695 0.000716 0.332523 0.137959 0.000273 0.103994 -0.242014 -0.000272 0.012835 -0.425852 0.000220 -0.000367 -0.139481 -0.000111 0.000636 -0.277462 0.000013 -0.000075 -0.102378 -0.000004 0.000008 -0.010308 * f-type functions 13 2 2124.3338 715.33852 304.86178 146.86024 75.161491 39.830148 21.202929 11.216841 5.7919738 2.8282187 1.3060663 0.5487431 0.1979315 -0.000221 -0.000073 -0.001978 -0.000650 -0.011155 -0.003685 -0.043199 -0.014276 -0.121608 -0.040451 -0.248559 -0.081011 -0.352956 -0.105765 -0.322535 -0.058874 -0.153806 0.124193 -0.026141 0.340242 -0.000423 0.410930 -0.000159 0.307181 0.000039 0.126301 ****************************************************************************** /Cm.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p4d2f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * CURIUM: Cm * * ========== * * Reference state: * * The atomic ground state, Cm(9D) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 96 * s-type functions 35 7 328837560 309000220 482482840 993634060 247555080 720428000 241120930 86600941. 30893502. 10774206. 3731439.3 1313693.7 479871.08 184487.44 75267.719 32749.037 15119.203 7260.9538 3578.5959 1802.9090 922.97027 472.83284 242.40619 121.38358 70.366173 39.279946 21.294595 12.029613 6.6717852 3.3198066 1.5365784 0.7604448 0.3215462 0.0785298 0.0306098 0.000003 -0.000001 0.000001 0.000000 -0.000000 0.000000 0.000000 0.000010 -0.000005 0.000002 0.000001 -0.000001 0.000000 -0.000000 0.000029 -0.000013 0.000006 0.000003 -0.000002 0.000001 -0.000000 0.000071 -0.000030 0.000015 0.000008 -0.000004 0.000002 -0.000000 0.000153 -0.000066 0.000032 0.000017 -0.000008 0.000004 -0.000001 0.000296 -0.000126 0.000062 0.000032 -0.000017 0.000007 -0.000002 0.000529 -0.000226 0.000111 0.000058 -0.000029 0.000013 -0.000004 0.000978 -0.000417 0.000205 0.000107 -0.000054 0.000024 -0.000007 0.001894 -0.000806 0.000396 0.000207 -0.000105 0.000047 -0.000013 0.003681 -0.001568 0.000769 0.000403 -0.000204 0.000091 -0.000026 0.007024 -0.002996 0.001471 0.000771 -0.000390 0.000174 -0.000049 0.012974 -0.005555 0.002729 0.001430 -0.000724 0.000323 -0.000092 0.023046 -0.009940 0.004890 0.002563 -0.001298 0.000579 -0.000164 0.039274 -0.017153 0.008457 0.004435 -0.002246 0.001002 -0.000284 0.064003 -0.028512 0.014109 0.007406 -0.003752 0.001674 -0.000474 0.099147 -0.045511 0.022639 0.011899 -0.006028 0.002690 -0.000762 0.147214 -0.070630 0.035434 0.018669 -0.009470 0.004226 -0.001197 0.207484 -0.106164 0.053891 0.028466 -0.014434 0.006443 -0.001826 0.255754 -0.142554 0.073671 0.039133 -0.019915 0.008890 -0.002518 0.238950 -0.137934 0.071338 0.037804 -0.019132 0.008543 -0.002422 0.131258 -0.001806 -0.013503 -0.009348 0.004918 -0.002237 0.000636 0.026064 0.326283 -0.274880 -0.166022 0.087797 -0.039544 0.011226 0.000494 0.533453 -0.559406 -0.358842 0.191544 -0.086704 0.024609 0.000115 0.250753 -0.205146 -0.133847 0.075870 -0.034501 0.009867 -0.000092 -0.001796 0.653549 0.716111 -0.456071 0.214715 -0.061523 0.000008 0.015057 0.614471 0.882647 -0.579019 0.277930 -0.079378 0.000005 -0.008798 0.144926 -0.306664 0.277402 -0.142524 0.040725 -0.000001 0.005338 -0.005501 -0.984622 1.337842 -0.780476 0.231852 0.000003 -0.002750 0.005071 -0.290670 0.175047 -0.060154 0.014960 -0.000002 0.001189 -0.002203 -0.014126 -1.238962 1.188567 -0.381449 0.000001 -0.000551 0.000908 0.000958 -0.376492 0.424856 -0.153339 -0.000000 0.000252 -0.000415 -0.000550 0.022321 -1.047746 0.472628 0.000000 -0.000074 0.000126 0.000214 -0.007734 -0.528240 0.398629 0.000000 0.000019 -0.000032 -0.000049 0.001764 -0.004314 -0.643302 0.000000 -0.000007 0.000012 0.000019 -0.000666 -0.000705 -0.592867 * p-type functions 26 5 498021350 70064692. 14129150. 3488967.6 998442.51 320583.32 112744.50 42932.942 17533.621 7594.6430 3461.1770 1652.8937 823.66161 426.25930 227.27865 123.55157 68.687559 38.408307 21.107741 11.795068 6.4509138 3.4904046 1.8192609 0.8258213 0.3786728 0.1548242 0.000008 -0.000004 -0.000002 -0.000001 0.000000 0.000025 -0.000013 -0.000007 -0.000003 0.000001 0.000069 -0.000037 -0.000019 -0.000010 0.000004 0.000173 -0.000092 -0.000049 -0.000024 0.000010 0.000408 -0.000218 -0.000115 -0.000057 0.000022 0.000938 -0.000503 -0.000266 -0.000131 0.000052 0.002151 -0.001159 -0.000613 -0.000301 0.000119 0.004940 -0.002676 -0.001418 -0.000696 0.000275 0.011469 -0.006266 -0.003327 -0.001635 0.000648 0.026850 -0.014845 -0.007907 -0.003889 0.001539 0.061754 -0.034806 -0.018629 -0.009176 0.003637 0.131724 -0.076380 -0.041192 -0.020325 0.008044 0.239069 -0.144058 -0.078489 -0.038850 0.015429 0.326432 -0.201420 -0.110511 -0.054763 0.021653 0.279124 -0.123877 -0.057168 -0.026834 0.010668 0.115628 0.188236 0.167104 0.093055 -0.038260 0.014601 0.494242 0.442325 0.249088 -0.100821 0.000953 0.368656 0.242790 0.117027 -0.047581 -0.000476 0.088835 -0.414261 -0.348073 0.158236 0.000197 0.002856 -0.625951 -0.601641 0.272410 -0.000140 0.000946 -0.211626 0.087205 -0.076493 0.000086 -0.000556 -0.012869 0.727806 -0.496566 -0.000034 0.000150 -0.001492 0.407293 -0.222344 0.000014 -0.000067 0.000410 0.043333 0.497791 -0.000006 0.000027 -0.000132 -0.001085 0.602793 0.000001 -0.000007 0.000030 0.000271 0.149323 * d-type functions 18 4 43051.866 10766.689 3659.7111 1466.7325 654.24146 315.54499 162.82989 88.976912 51.136259 30.202949 17.197860 9.5400764 5.0620636 2.6039791 1.2582453 0.5124058 0.1963909 0.0663652 0.000100 0.000057 0.000026 -0.000007 0.000630 0.000360 0.000165 -0.000042 0.003239 0.001861 0.000850 -0.000217 0.014087 0.008146 0.003733 -0.000957 0.050308 0.029468 0.013528 -0.003454 0.138267 0.082428 0.038054 -0.009769 0.266842 0.159527 0.073540 -0.018752 0.340563 0.189880 0.086259 -0.022245 0.259882 0.065128 0.015053 -0.002696 0.117941 -0.202589 -0.131393 0.034410 0.024623 -0.454523 -0.287251 0.078696 0.000557 -0.370192 -0.153053 0.033683 0.000332 -0.101039 0.334714 -0.109100 -0.000178 -0.004529 0.553359 -0.193314 0.000048 -0.000580 0.276337 0.005392 -0.000022 0.000190 0.032646 0.352676 0.000007 -0.000064 -0.001299 0.520603 -0.000003 0.000021 0.000337 0.328412 * f-type functions 13 2 2117.8227 713.44183 304.39801 146.83060 75.193249 39.851864 21.221476 11.236685 5.7979295 2.8250932 1.3144705 0.5711753 0.2188379 -0.000240 -0.000084 -0.002135 -0.000744 -0.011933 -0.004180 -0.045675 -0.016008 -0.127371 -0.044935 -0.256186 -0.088298 -0.356555 -0.112191 -0.315674 -0.054287 -0.142725 0.149579 -0.021880 0.369962 -0.000276 0.406131 -0.000128 0.267646 0.000031 0.090428 ****************************************************************************** /Bk.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p4d2f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * BERKELIUM: Bk * * ============= * * Reference state: * * The atomic ground state, Bk(8H) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 97 * s-type functions 35 7 328920270 308999640 482074150 993634060 246391370 718162640 241120930 86786178. 30999086. 10788793. 3731439.3 1313180.6 479496.33 184415.39 75241.162 32745.814 15119.203 7260.6193 3577.8952 1802.8865 922.83438 472.24438 243.03673 121.36865 70.362717 39.241971 21.307633 12.029259 6.4534654 3.3025315 1.3208083 0.7613715 0.3205351 0.0805335 0.0305871 0.000003 -0.000001 0.000001 0.000000 -0.000000 0.000000 0.000000 0.000011 -0.000005 0.000002 0.000001 -0.000001 0.000000 0.000000 0.000032 -0.000014 0.000007 0.000004 -0.000002 0.000001 0.000000 0.000077 -0.000033 0.000016 0.000009 -0.000004 0.000002 0.000001 0.000166 -0.000071 0.000035 0.000018 -0.000009 0.000004 0.000001 0.000317 -0.000136 0.000067 0.000035 -0.000018 0.000008 0.000002 0.000564 -0.000242 0.000119 0.000063 -0.000032 0.000014 0.000004 0.001038 -0.000445 0.000219 0.000115 -0.000058 0.000026 0.000007 0.002007 -0.000860 0.000422 0.000222 -0.000113 0.000050 0.000014 0.003897 -0.001670 0.000820 0.000431 -0.000219 0.000098 0.000028 0.007400 -0.003175 0.001561 0.000819 -0.000417 0.000186 0.000053 0.013618 -0.005866 0.002885 0.001515 -0.000771 0.000345 0.000097 0.024078 -0.010448 0.005146 0.002703 -0.001376 0.000615 0.000174 0.040825 -0.017941 0.008857 0.004655 -0.002369 0.001059 0.000299 0.066220 -0.029686 0.014708 0.007738 -0.003939 0.001762 0.000497 0.101952 -0.047117 0.023471 0.012363 -0.006296 0.002816 0.000795 0.150432 -0.072653 0.036499 0.019274 -0.009822 0.004392 0.001240 0.210222 -0.108349 0.055087 0.029161 -0.014874 0.006658 0.001881 0.256002 -0.143194 0.074062 0.039431 -0.020137 0.009004 0.002543 0.234754 -0.134149 0.069131 0.036638 -0.018699 0.008385 0.002368 0.125401 0.012004 -0.023142 -0.014872 0.007995 -0.003661 -0.001034 0.023549 0.341605 -0.290645 -0.176526 0.093529 -0.042174 -0.011939 0.000447 0.526425 -0.557195 -0.359135 0.193769 -0.088121 -0.024917 0.000026 0.237245 -0.167251 -0.104380 0.056941 -0.025435 -0.007297 -0.000010 -0.006086 0.681413 0.762136 -0.484986 0.228411 0.065315 -0.000049 0.015347 0.587337 0.844550 -0.567747 0.275559 0.078330 0.000046 -0.008999 0.127356 -0.380541 0.367234 -0.193750 -0.055220 -0.000026 0.005237 -0.004724 -0.982800 1.350129 -0.793415 -0.235622 0.000015 -0.002625 0.004104 -0.249321 0.061838 0.024586 0.011810 -0.000007 0.001135 -0.001845 -0.003488 -1.294169 1.257559 0.402820 0.000004 -0.000571 0.000819 -0.001854 -0.329883 0.340141 0.129568 -0.000002 0.000345 -0.000494 0.000933 0.077081 -1.130154 -0.517153 0.000001 -0.000086 0.000127 -0.000166 -0.016098 -0.466870 -0.366525 -0.000000 0.000021 -0.000030 0.000044 0.003552 -0.003609 0.677222 0.000000 -0.000008 0.000011 -0.000016 -0.001277 -0.000529 0.563650 * p-type functions 26 5 497669330 69915323. 14087366. 3477698.0 995698.96 319983.83 112635.40 42923.413 17537.005 7596.0252 3461.1860 1652.6864 823.53396 426.24286 227.26215 123.46845 68.720218 38.429821 21.104062 11.817515 6.4532889 3.4948093 1.8226846 0.8275425 0.3785282 0.1543616 0.000009 -0.000005 -0.000002 -0.000001 0.000000 0.000027 -0.000014 -0.000008 -0.000004 0.000002 0.000074 -0.000039 -0.000021 -0.000010 0.000004 0.000183 -0.000098 -0.000052 -0.000026 0.000010 0.000431 -0.000231 -0.000122 -0.000060 0.000024 0.000989 -0.000532 -0.000282 -0.000139 0.000055 0.002261 -0.001221 -0.000648 -0.000320 0.000127 0.005178 -0.002811 -0.001494 -0.000738 0.000292 0.011987 -0.006565 -0.003496 -0.001728 0.000684 0.027973 -0.015508 -0.008285 -0.004097 0.001621 0.064055 -0.036210 -0.019442 -0.009633 0.003818 0.135732 -0.078958 -0.042720 -0.021196 0.008387 0.243944 -0.147458 -0.080614 -0.040145 0.015944 0.327903 -0.202203 -0.111145 -0.055343 0.021869 0.273739 -0.114947 -0.051127 -0.023845 0.009483 0.109107 0.206304 0.182243 0.102269 -0.042070 0.012741 0.498626 0.448991 0.254193 -0.102820 0.000934 0.354706 0.217520 0.101578 -0.041254 -0.000511 0.080537 -0.444905 -0.379159 0.173075 0.000221 0.002166 -0.613321 -0.594873 0.268876 -0.000149 0.000834 -0.192780 0.144457 -0.109090 0.000091 -0.000513 -0.009951 0.733566 -0.505835 -0.000036 0.000135 -0.001521 0.374491 -0.182544 0.000015 -0.000059 0.000435 0.036775 0.523627 -0.000006 0.000023 -0.000144 -0.000833 0.582755 0.000002 -0.000006 0.000032 0.000197 0.134808 * d-type functions 18 4 45059.762 11182.070 3725.8842 1473.5942 653.58776 315.01255 162.40470 88.906637 51.477445 30.567672 17.372994 9.6488175 5.1238938 2.6323700 1.2662372 0.4965070 0.1824406 0.0604301 0.000099 0.000057 0.000026 -0.000006 0.000636 0.000365 0.000168 -0.000041 0.003366 0.001944 0.000896 -0.000215 0.014829 0.008614 0.003978 -0.000958 0.052734 0.031060 0.014378 -0.003449 0.143563 0.085984 0.040013 -0.009654 0.273671 0.164328 0.076374 -0.018285 0.339028 0.187846 0.085687 -0.020794 0.251249 0.056900 0.010571 -0.001301 0.114360 -0.212292 -0.138499 0.033944 0.023003 -0.460595 -0.294444 0.076102 0.000513 -0.359709 -0.138994 0.027033 0.000253 -0.094273 0.356915 -0.108862 -0.000147 -0.003716 0.550189 -0.179867 0.000030 -0.000609 0.260412 0.019846 -0.000016 0.000181 0.027612 0.358961 0.000004 -0.000062 -0.001523 0.517837 -0.000002 0.000022 0.000390 0.329543 * f-type functions 13 2 2112.0694 713.21228 304.06689 146.84618 75.210755 39.847433 21.238294 11.247084 5.7897264 2.8242064 1.3138584 0.5714693 0.2204579 -0.000259 -0.000092 -0.002293 -0.000816 -0.012752 -0.004569 -0.048203 -0.017262 -0.133454 -0.048153 -0.263668 -0.092529 -0.359529 -0.114644 -0.308842 -0.046277 -0.131499 0.170287 -0.018116 0.381460 -0.000409 0.396781 -0.000106 0.251068 -0.000009 0.082231 ****************************************************************************** /Cf.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p3d2f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * CALIFORNIUM: Cf * * =============== * * Reference state: * * The atomic ground state, Cf(5I) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 98 * s-type functions 35 7 328920270 308969460 481697580 993615910 246391370 718162640 241120930 86786178. 30999086. 10789847. 3732897.2 1313180.7 479496.33 184415.39 75241.162 32745.814 15119.156 7260.6415 3577.8939 1802.8852 922.83438 472.24439 243.03673 121.36865 70.362717 39.241973 21.307633 12.029259 6.4534654 3.3025290 1.3208083 0.7613710 0.3205351 0.0805335 0.0305871 0.000003 -0.000001 0.000001 0.000000 -0.000000 0.000000 0.000000 0.000012 -0.000005 0.000003 0.000001 -0.000001 0.000000 0.000000 0.000035 -0.000015 0.000007 0.000004 -0.000002 0.000001 0.000000 0.000083 -0.000036 0.000018 0.000009 -0.000005 0.000002 0.000000 0.000179 -0.000077 0.000038 0.000020 -0.000010 0.000005 0.000001 0.000340 -0.000147 0.000072 0.000038 -0.000019 0.000009 0.000002 0.000603 -0.000260 0.000128 0.000067 -0.000034 0.000015 0.000004 0.001106 -0.000477 0.000235 0.000123 -0.000063 0.000028 0.000007 0.002131 -0.000918 0.000452 0.000238 -0.000121 0.000054 0.000014 0.004119 -0.001775 0.000873 0.000459 -0.000235 0.000104 0.000027 0.007793 -0.003364 0.001656 0.000871 -0.000445 0.000197 0.000051 0.014286 -0.006191 0.003049 0.001604 -0.000820 0.000362 0.000093 0.025140 -0.010976 0.005412 0.002849 -0.001456 0.000644 0.000165 0.042436 -0.018765 0.009274 0.004884 -0.002496 0.001104 0.000284 0.068477 -0.030896 0.015328 0.008080 -0.004130 0.001827 0.000469 0.104831 -0.048772 0.024326 0.012840 -0.006566 0.002906 0.000746 0.153626 -0.074709 0.037588 0.019890 -0.010178 0.004504 0.001156 0.212822 -0.110417 0.056208 0.029818 -0.015271 0.006761 0.001738 0.256004 -0.143743 0.074435 0.039704 -0.020362 0.009013 0.002310 0.230479 -0.129680 0.066397 0.035194 -0.018021 0.007982 0.002060 0.119532 0.025379 -0.032445 -0.020306 0.010873 -0.004878 -0.001275 0.021294 0.357613 -0.307550 -0.187643 0.099952 -0.044667 -0.011448 0.000407 0.519660 -0.554748 -0.359650 0.195115 -0.087693 -0.022656 -0.000036 0.220310 -0.123212 -0.068301 0.036230 -0.016041 -0.003900 0.000042 -0.007067 0.701504 0.799626 -0.514036 0.240704 0.061880 -0.000083 0.013811 0.561680 0.807210 -0.546179 0.261528 0.068771 0.000069 -0.008061 0.110756 -0.460667 0.448217 -0.232694 -0.062667 -0.000041 0.004651 -0.003817 -0.956119 1.363619 -0.804215 -0.213310 0.000022 -0.002319 0.003206 -0.216452 -0.083453 0.141845 0.038317 -0.000010 0.001001 -0.001470 -0.002706 -1.260230 1.215147 0.358058 0.000005 -0.000504 0.000638 -0.001409 -0.283944 0.234258 0.064058 -0.000003 0.000304 -0.000383 0.000668 0.064817 -1.062141 -0.402207 0.000001 -0.000076 0.000099 -0.000106 -0.013377 -0.464497 -0.366092 -0.000000 0.000018 -0.000024 0.000029 0.002904 -0.003583 0.533677 0.000000 -0.000007 0.000009 -0.000010 -0.001042 -0.000498 0.684180 * p-type functions 26 5 495751680 69639169. 14029526. 3462831.1 992012.77 319189.27 112496.16 42912.494 17541.815 7597.7688 3461.1860 1652.4162 823.38063 426.22371 227.23604 123.41102 68.744082 38.440343 21.108310 11.844142 6.4681244 3.4992903 1.8220443 0.8309395 0.3761303 0.1543524 0.000009 -0.000005 -0.000003 -0.000001 0.000000 0.000029 -0.000015 -0.000008 -0.000004 0.000002 0.000078 -0.000042 -0.000022 -0.000011 0.000004 0.000195 -0.000104 -0.000055 -0.000027 0.000011 0.000456 -0.000245 -0.000130 -0.000064 0.000025 0.001043 -0.000562 -0.000299 -0.000148 0.000057 0.002377 -0.001286 -0.000684 -0.000339 0.000131 0.005425 -0.002952 -0.001573 -0.000780 0.000301 0.012522 -0.006874 -0.003672 -0.001822 0.000704 0.029132 -0.016193 -0.008677 -0.004308 0.001662 0.066412 -0.037653 -0.020280 -0.010090 0.003901 0.139796 -0.081582 -0.044276 -0.022056 0.008513 0.248742 -0.150820 -0.082722 -0.041379 0.016028 0.329106 -0.202694 -0.111575 -0.055734 0.021480 0.268139 -0.105546 -0.044714 -0.020583 0.007965 0.102741 0.224319 0.197613 0.111569 -0.044726 0.011138 0.502024 0.454398 0.258153 -0.101880 0.000874 0.340486 0.191144 0.084952 -0.033353 -0.000508 0.072683 -0.474079 -0.409425 0.182372 0.000222 0.001710 -0.598427 -0.583172 0.256800 -0.000144 0.000679 -0.175269 0.200358 -0.138722 0.000088 -0.000440 -0.007934 0.732923 -0.491506 -0.000035 0.000108 -0.001453 0.344224 -0.144535 0.000014 -0.000048 0.000406 0.032426 0.508375 -0.000006 0.000019 -0.000137 -0.000296 0.574700 0.000001 -0.000005 0.000031 0.000141 0.145341 * d-type functions 18 3 40561.832 10077.658 3459.0695 1410.5926 643.14555 317.26435 165.53876 89.744904 49.960418 28.286530 16.306974 9.7375819 6.1826885 3.8255203 2.3507306 1.3906715 0.7575649 0.3277521 0.000124 0.000071 -0.000033 0.000783 0.000452 -0.000209 0.003907 0.002266 -0.001049 0.016224 0.009479 -0.004394 0.054543 0.032271 -0.015015 0.143041 0.086164 -0.040235 0.273838 0.164809 -0.077026 0.353888 0.196521 -0.089441 0.261411 0.034293 0.003497 0.094992 -0.275890 0.179527 0.013680 -0.439114 0.277176 0.000718 -0.282448 0.109805 0.000107 -0.097038 -0.186768 -0.000103 -0.022703 -0.381820 0.000014 -0.000218 -0.361140 -0.000028 -0.000649 -0.205712 0.000001 0.000129 -0.058271 -0.000002 -0.000029 -0.004884 * f-type functions 13 2 2069.9633 705.21611 304.24182 146.85433 75.147156 39.898308 21.278249 11.287894 5.8317741 2.8460380 1.3075735 0.5512326 0.2025731 -0.000292 -0.000103 -0.002478 -0.000874 -0.013487 -0.004789 -0.051119 -0.018137 -0.139373 -0.049837 -0.270198 -0.093620 -0.362288 -0.113414 -0.300145 -0.037062 -0.121803 0.180805 -0.015869 0.379518 -0.000439 0.389840 -0.000156 0.256431 -0.000034 0.094971 ****************************************************************************** /Es.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p3d2f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * EINSTEINIUM: Es * * =============== * * Reference state: * * The atomic ground state, Es(4I) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 99 * s-type functions 35 7 328920050 308969460 481509460 987811310 244856230 718162640 241168030 86850899. 31059691. 10819383. 3737274.3 1312667.8 479496.33 184415.39 75248.511 32746.781 15119.492 7260.5529 3577.8939 1802.8852 922.83438 472.24439 243.03673 121.36865 70.362717 39.241977 21.307633 12.029259 6.4534654 3.3025290 1.3208083 0.7613710 0.3205352 0.0805334 0.0305867 0.000004 -0.000002 0.000001 0.000000 -0.000000 0.000000 0.000000 0.000014 -0.000006 0.000003 0.000002 -0.000001 0.000000 0.000000 0.000038 -0.000017 0.000008 0.000004 -0.000002 0.000001 0.000000 0.000091 -0.000040 0.000020 0.000010 -0.000005 0.000002 0.000001 0.000193 -0.000084 0.000041 0.000022 -0.000011 0.000005 0.000001 0.000364 -0.000159 0.000078 0.000041 -0.000021 0.000009 0.000002 0.000646 -0.000281 0.000138 0.000073 -0.000037 0.000017 0.000004 0.001177 -0.000511 0.000251 0.000132 -0.000068 0.000030 0.000008 0.002257 -0.000979 0.000482 0.000254 -0.000130 0.000058 0.000015 0.004350 -0.001886 0.000929 0.000490 -0.000251 0.000111 0.000028 0.008221 -0.003570 0.001759 0.000927 -0.000476 0.000211 0.000053 0.014991 -0.006536 0.003222 0.001699 -0.000872 0.000386 0.000098 0.026237 -0.011526 0.005690 0.003001 -0.001540 0.000682 0.000173 0.044103 -0.019625 0.009711 0.005124 -0.002631 0.001166 0.000296 0.070777 -0.032141 0.015965 0.008433 -0.004330 0.001919 0.000487 0.107763 -0.050472 0.025205 0.013331 -0.006848 0.003035 0.000771 0.156794 -0.076773 0.038683 0.020511 -0.010543 0.004673 0.001187 0.215335 -0.112443 0.057304 0.030463 -0.015673 0.006948 0.001766 0.255763 -0.144061 0.074673 0.039904 -0.020555 0.009118 0.002313 0.226059 -0.124803 0.063377 0.033576 -0.017259 0.007644 0.001948 0.113755 0.039181 -0.042177 -0.026028 0.013953 -0.006236 -0.001599 0.019229 0.372972 -0.324296 -0.198784 0.106451 -0.047717 -0.012117 0.000364 0.511727 -0.550345 -0.358804 0.195879 -0.088102 -0.022476 -0.000075 0.203829 -0.077735 -0.030003 0.013579 -0.005969 -0.001394 0.000073 -0.007654 0.718019 0.834354 -0.541433 0.255071 0.065138 -0.000101 0.012317 0.535369 0.765175 -0.521945 0.249833 0.064608 0.000081 -0.007142 0.095492 -0.538583 0.533970 -0.278073 -0.073097 -0.000049 0.004078 -0.002790 -0.923871 1.362791 -0.816195 -0.215659 0.000026 -0.002021 0.002338 -0.186650 -0.223705 0.257489 0.071586 -0.000012 0.000872 -0.001108 -0.002252 -1.221729 1.190032 0.345472 0.000006 -0.000438 0.000462 -0.000994 -0.240971 0.131333 0.035038 -0.000004 0.000264 -0.000276 0.000437 0.053897 -1.038618 -0.402320 0.000001 -0.000066 0.000072 -0.000054 -0.010851 -0.429403 -0.341242 -0.000000 0.000016 -0.000017 0.000015 0.002319 -0.000125 0.559351 0.000000 -0.000006 0.000006 -0.000005 -0.000830 -0.001432 0.657221 * p-type functions 26 5 494030950 69362480. 13970464. 3447261.2 988270.04 318381.15 112357.89 42905.634 17547.522 7599.2703 3461.0281 1652.2594 823.15542 426.25021 227.28433 123.33594 68.749668 38.431622 21.118025 11.866500 6.4849922 3.5001169 1.8213640 0.8323061 0.3762491 0.1543733 0.000010 -0.000005 -0.000003 -0.000001 0.000000 0.000031 -0.000016 -0.000009 -0.000004 0.000002 0.000083 -0.000045 -0.000024 -0.000012 0.000005 0.000206 -0.000111 -0.000059 -0.000029 0.000011 0.000482 -0.000260 -0.000138 -0.000069 0.000027 0.001099 -0.000593 -0.000316 -0.000158 0.000061 0.002497 -0.001353 -0.000722 -0.000360 0.000139 0.005681 -0.003099 -0.001656 -0.000825 0.000318 0.013076 -0.007195 -0.003854 -0.001923 0.000741 0.030332 -0.016905 -0.009085 -0.004533 0.001745 0.068811 -0.039127 -0.021138 -0.010571 0.004078 0.143904 -0.084247 -0.045862 -0.022959 0.008842 0.253501 -0.154151 -0.084823 -0.042655 0.016489 0.329827 -0.202801 -0.111762 -0.056054 0.021551 0.262469 -0.095703 -0.037941 -0.017100 0.006591 0.096688 0.242294 0.213301 0.121259 -0.048516 0.009650 0.504393 0.458465 0.261581 -0.102989 0.000836 0.326078 0.163798 0.067379 -0.026130 -0.000513 0.065153 -0.502386 -0.440284 0.196365 0.000227 0.001500 -0.581578 -0.568422 0.248987 -0.000142 0.000452 -0.158673 0.256444 -0.170539 0.000086 -0.000330 -0.006470 0.730556 -0.492361 -0.000035 0.000065 -0.001278 0.313889 -0.106967 0.000014 -0.000030 0.000357 0.027476 0.525373 -0.000005 0.000012 -0.000120 -0.000131 0.557212 0.000001 -0.000003 0.000026 0.000089 0.134656 * d-type functions 18 3 39167.537 9783.3122 3387.7039 1395.5986 639.24636 315.36976 164.60002 89.547050 49.993186 28.175649 15.973479 9.1234653 5.3650054 3.5461826 2.4689132 1.3946180 0.7054594 0.2796585 0.000138 0.000079 -0.000037 0.000863 0.000500 -0.000233 0.004217 0.002457 -0.001145 0.017157 0.010069 -0.004701 0.057280 0.034070 -0.015964 0.149173 0.090269 -0.042458 0.280087 0.169164 -0.079591 0.352084 0.194018 -0.088540 0.254409 0.021865 0.011064 0.089953 -0.298506 0.194807 0.011217 -0.462863 0.294696 0.000756 -0.276685 0.052683 -0.000296 -0.062938 -0.303287 0.000228 -0.009881 -0.252718 -0.000165 -0.000504 -0.354072 0.000022 -0.000467 -0.216994 -0.000013 0.000061 -0.045734 0.000000 -0.000019 -0.002597 * f-type functions 13 2 2103.7721 706.69294 301.08295 145.67372 75.271662 40.177192 21.406081 11.314285 5.8332098 2.8670561 1.3297839 0.5669956 0.2103392 -0.000304 0.000110 -0.002687 0.000966 -0.014775 0.005355 -0.054036 0.019547 -0.143258 0.052297 -0.275243 0.096905 -0.366478 0.116114 -0.293748 0.027746 -0.111551 -0.198453 -0.013380 -0.382927 -0.000549 -0.378684 -0.000146 -0.245165 -0.000058 -0.090450 ****************************************************************************** /Fm.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p3d2f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * FERMIUM: Fm * * =========== * * Reference state: * * The atomic ground state, Fm(3H) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 100 * s-type functions 35 7 331238750 308415300 477870460 974689270 243243830 713696780 240600310 87250784. 31218713. 10859057. 3738734.5 1310900.1 479496.33 184307.36 75208.889 32742.543 15116.574 7258.3223 3579.9909 1801.8833 921.39357 472.27322 243.66645 121.25069 70.362717 39.112596 21.307633 12.042620 6.4451802 3.3204770 1.3208778 0.7661445 0.3540646 0.0805349 0.0305900 0.000004 -0.000002 0.000001 0.000000 -0.000000 0.000000 0.000000 0.000015 -0.000007 0.000003 0.000002 -0.000001 0.000000 0.000000 0.000042 -0.000018 0.000009 0.000005 -0.000003 0.000001 0.000000 0.000099 -0.000044 0.000022 0.000011 -0.000006 0.000003 0.000001 0.000208 -0.000091 0.000045 0.000024 -0.000012 0.000005 0.000001 0.000393 -0.000172 0.000085 0.000045 -0.000023 0.000010 0.000003 0.000687 -0.000300 0.000148 0.000078 -0.000040 0.000018 0.000005 0.001247 -0.000544 0.000268 0.000142 -0.000073 0.000032 0.000008 0.002392 -0.001044 0.000515 0.000272 -0.000140 0.000062 0.000016 0.004602 -0.002008 0.000990 0.000523 -0.000269 0.000120 0.000030 0.008686 -0.003796 0.001872 0.000989 -0.000509 0.000226 0.000057 0.015725 -0.006898 0.003404 0.001798 -0.000927 0.000411 0.000103 0.027373 -0.012100 0.005980 0.003160 -0.001629 0.000723 0.000182 0.045878 -0.020545 0.010177 0.005381 -0.002774 0.001231 0.000310 0.073117 -0.033420 0.016620 0.008797 -0.004536 0.002013 0.000506 0.110702 -0.052199 0.026099 0.013831 -0.007136 0.003168 0.000797 0.160044 -0.078896 0.039808 0.021151 -0.010917 0.004845 0.001218 0.217565 -0.114333 0.058332 0.031070 -0.016056 0.007134 0.001797 0.255178 -0.144046 0.074713 0.040001 -0.020684 0.009177 0.002303 0.222094 -0.119861 0.060256 0.031871 -0.016455 0.007326 0.001854 0.107678 0.054179 -0.052911 -0.032339 0.017410 -0.007857 -0.002003 0.017347 0.385773 -0.339203 -0.208989 0.112413 -0.050340 -0.012636 0.000249 0.502596 -0.543178 -0.355707 0.195520 -0.088438 -0.022396 -0.000010 0.190654 -0.035027 0.007051 -0.009376 0.005536 0.001674 -0.000001 -0.010150 0.735822 0.871329 -0.569246 0.267055 0.067253 -0.000039 0.012317 0.507120 0.716929 -0.495108 0.241665 0.062489 0.000037 -0.007288 0.079797 -0.614890 0.627016 -0.337043 -0.088727 -0.000020 0.004176 -0.001138 -0.886016 1.339336 -0.800153 -0.207971 0.000011 -0.002079 0.001329 -0.161801 -0.344454 0.343794 0.092463 -0.000006 0.000910 -0.000706 -0.001048 -1.179502 1.177910 0.342108 0.000003 -0.000470 0.000277 -0.001110 -0.212421 -0.004708 -0.017718 -0.000002 0.000300 -0.000175 0.000542 0.051263 -0.921489 -0.342179 0.000000 -0.000079 0.000049 -0.000089 -0.010854 -0.444639 -0.343867 -0.000000 0.000015 -0.000009 0.000019 0.001786 -0.012533 0.565001 0.000000 -0.000006 0.000003 -0.000007 -0.000660 0.002871 0.638744 * p-type functions 26 5 490772260 68890516. 13876032. 3427260.2 982977.92 317157.58 112163.13 42913.817 17553.818 7600.6329 3461.3852 1651.7901 822.88824 426.28720 227.60085 123.23017 68.713254 38.458084 21.147372 11.904852 6.5032997 3.4980348 1.8099932 0.8331392 0.3757470 0.1531583 0.000010 -0.000006 -0.000003 -0.000002 0.000001 0.000033 -0.000017 -0.000009 -0.000005 0.000002 0.000088 -0.000048 -0.000025 -0.000013 0.000005 0.000219 -0.000118 -0.000063 -0.000031 0.000012 0.000510 -0.000275 -0.000147 -0.000073 0.000028 0.001159 -0.000627 -0.000335 -0.000168 0.000064 0.002620 -0.001424 -0.000762 -0.000381 0.000147 0.005943 -0.003249 -0.001741 -0.000872 0.000335 0.013657 -0.007533 -0.004046 -0.002028 0.000780 0.031551 -0.017632 -0.009503 -0.004764 0.001830 0.071283 -0.040647 -0.022024 -0.011068 0.004259 0.148081 -0.086971 -0.047488 -0.023884 0.009178 0.258184 -0.157420 -0.086887 -0.043912 0.016935 0.329980 -0.202493 -0.111707 -0.056236 0.021568 0.256453 -0.085375 -0.030759 -0.013353 0.005107 0.091571 0.260390 0.229414 0.131301 -0.052402 0.007832 0.505308 0.460989 0.263993 -0.103715 0.001126 0.310931 0.135028 0.048648 -0.018353 -0.000743 0.059044 -0.527183 -0.469456 0.209470 0.000383 0.000972 -0.564322 -0.549996 0.239477 -0.000230 0.000478 -0.143894 0.309527 -0.201538 0.000133 -0.000357 -0.005147 0.727444 -0.490772 -0.000057 0.000084 -0.001168 0.283668 -0.069343 0.000023 -0.000038 0.000335 0.022137 0.540128 -0.000009 0.000014 -0.000112 0.000315 0.541188 0.000002 -0.000004 0.000024 -0.000028 0.123432 * d-type functions 18 3 38263.672 9701.3351 3389.7795 1396.1871 638.80729 315.29081 164.50727 89.573353 50.105075 28.145921 15.965204 9.1001525 5.3442793 3.5379889 2.4822445 1.3940717 0.6923658 0.2425227 0.000150 0.000087 -0.000041 0.000912 0.000531 -0.000249 0.004416 0.002584 -0.001213 0.017997 0.010611 -0.004986 0.059719 0.035688 -0.016838 0.154089 0.093686 -0.044353 0.285995 0.173217 -0.082041 0.351161 0.192273 -0.087841 0.247639 0.008952 0.018731 0.085233 -0.314695 0.207025 0.009035 -0.463081 0.295345 0.001289 -0.262853 0.027096 -0.000978 -0.054460 -0.327377 0.000875 -0.009184 -0.245001 -0.000515 0.000063 -0.346660 0.000102 -0.000522 -0.203866 -0.000030 0.000061 -0.039763 0.000003 -0.000018 -0.001758 * f-type functions 13 2 2106.9211 706.64432 300.80396 145.54316 75.301026 40.200965 21.409036 11.324544 5.8348691 2.8692829 1.3303068 0.5675688 0.2118636 -0.000325 0.000120 -0.002877 0.001053 -0.015744 0.005813 -0.056950 0.020984 -0.149052 0.055424 -0.282518 0.100932 -0.368496 0.117490 -0.284570 0.017188 -0.102310 -0.216468 -0.011178 -0.389448 -0.000677 -0.369816 -0.000160 -0.231457 -0.000086 -0.082357 ****************************************************************************** /Md.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p3d2f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * MENDELEVIUM: Md * * =============== * * Reference state: * * The atomic ground state, Md(2F) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 101 * s-type functions 35 7 331972110 308549290 459445710 931008750 231409660 685870390 237284540 89612632. 32313443. 11045240. 3742511.5 1304739.3 476641.20 183302.98 74811.442 32628.115 15097.301 7255.6421 3584.3132 1809.2426 922.41675 472.97762 244.24373 121.10738 70.362870 39.040334 21.309149 12.041802 6.4452989 3.3239828 1.3208760 0.7662468 0.3540532 0.0805363 0.0314381 0.000004 -0.000002 0.000001 0.000000 -0.000000 -0.000000 0.000000 0.000017 -0.000008 0.000004 0.000002 -0.000001 -0.000000 0.000000 0.000047 -0.000021 0.000010 0.000005 -0.000003 -0.000001 0.000000 0.000111 -0.000049 0.000024 0.000013 -0.000007 -0.000003 0.000001 0.000232 -0.000102 0.000051 0.000027 -0.000014 -0.000006 0.000002 0.000427 -0.000188 0.000093 0.000049 -0.000025 -0.000011 0.000003 0.000714 -0.000314 0.000155 0.000082 -0.000043 -0.000019 0.000005 0.001270 -0.000558 0.000275 0.000146 -0.000075 -0.000034 0.000008 0.002514 -0.001104 0.000545 0.000288 -0.000149 -0.000066 0.000017 0.004910 -0.002156 0.001064 0.000563 -0.000291 -0.000129 0.000032 0.009234 -0.004060 0.002005 0.001061 -0.000549 -0.000244 0.000061 0.016579 -0.007319 0.003616 0.001914 -0.000990 -0.000440 0.000110 0.028676 -0.012756 0.006312 0.003341 -0.001729 -0.000768 0.000191 0.047790 -0.021541 0.010682 0.005659 -0.002929 -0.001302 0.000324 0.075726 -0.034846 0.017350 0.009201 -0.004764 -0.002117 0.000527 0.113542 -0.053907 0.026984 0.014327 -0.007423 -0.003299 0.000822 0.162968 -0.080887 0.040870 0.021758 -0.011275 -0.005011 0.001247 0.219635 -0.116121 0.059298 0.031643 -0.016422 -0.007303 0.001820 0.253449 -0.143311 0.074379 0.039891 -0.020704 -0.009203 0.002289 0.217413 -0.114231 0.056694 0.029912 -0.015505 -0.006898 0.001722 0.103433 0.067786 -0.062908 -0.038296 0.020703 0.009314 -0.002331 0.015062 0.398640 -0.354297 -0.219330 0.118494 0.053217 -0.013258 0.000679 0.492924 -0.534686 -0.351686 0.194562 0.088020 -0.021992 -0.000461 0.177567 0.009988 0.047501 -0.034722 -0.016935 0.004308 0.000418 -0.012097 0.747824 0.902010 -0.593492 -0.280127 0.070311 -0.000342 0.012183 0.479153 0.665169 -0.464319 -0.226388 0.057216 0.000251 -0.007298 0.066437 -0.687270 0.720897 0.388457 -0.099618 -0.000157 0.004190 0.000153 -0.844346 1.306205 0.791548 -0.206126 0.000081 -0.002084 0.000508 -0.138232 -0.469559 -0.455415 0.125204 -0.000036 0.000912 -0.000363 -0.000816 -1.129218 -1.132127 0.322070 0.000019 -0.000471 0.000108 -0.000878 -0.179479 0.094409 -0.036634 -0.000012 0.000301 -0.000066 0.000420 0.042374 0.896606 -0.350975 0.000003 -0.000080 0.000021 -0.000063 -0.008786 0.411266 -0.312093 -0.000001 0.000016 -0.000004 0.000014 0.001447 0.009000 0.570188 0.000000 -0.000006 0.000001 -0.000005 -0.000545 -0.001860 0.626961 * p-type functions 26 5 487485600 68680830. 13811438. 3416016.2 981883.99 316544.42 112123.77 42903.566 17559.440 7600.7778 3461.4931 1651.7102 822.57095 426.45901 227.71622 123.10140 68.712400 38.504653 21.160114 11.922490 6.5134234 3.4979269 1.8082522 0.8329803 0.3750651 0.1524587 0.000011 -0.000006 -0.000003 -0.000002 0.000001 0.000035 -0.000019 -0.000010 -0.000005 0.000002 0.000094 -0.000051 -0.000027 -0.000014 0.000005 0.000231 -0.000125 -0.000067 -0.000034 0.000013 0.000539 -0.000291 -0.000156 -0.000078 0.000030 0.001221 -0.000662 -0.000355 -0.000178 0.000068 0.002749 -0.001497 -0.000803 -0.000404 0.000155 0.006224 -0.003410 -0.001833 -0.000922 0.000353 0.014248 -0.007878 -0.004243 -0.002136 0.000819 0.032834 -0.018398 -0.009943 -0.005006 0.001918 0.073749 -0.042171 -0.022916 -0.011568 0.004439 0.152331 -0.089750 -0.049152 -0.024830 0.009516 0.262705 -0.160588 -0.088893 -0.045136 0.017359 0.329911 -0.201902 -0.111465 -0.056308 0.021531 0.250790 -0.074714 -0.023169 -0.009316 0.003519 0.085891 0.278451 0.245550 0.141410 -0.056285 0.006664 0.504239 0.461594 0.265221 -0.103893 0.001054 0.296822 0.106047 0.029263 -0.010343 -0.000703 0.053171 -0.552241 -0.499815 0.223126 0.000357 0.000667 -0.544832 -0.526442 0.226986 -0.000210 0.000390 -0.129315 0.362364 -0.231905 0.000121 -0.000315 -0.004088 0.716681 -0.484281 -0.000051 0.000071 -0.001063 0.257282 -0.033655 0.000021 -0.000032 0.000306 0.018755 0.552435 -0.000008 0.000012 -0.000103 0.000335 0.524160 0.000002 -0.000003 0.000022 -0.000041 0.113936 * d-type functions 18 3 38539.209 9643.1755 3322.8183 1364.5113 628.03495 312.70424 163.78220 88.714393 49.013840 27.359405 15.604610 9.0416825 5.4718791 3.7119397 2.4441302 1.3967653 0.7371924 0.3085968 0.000157 0.000092 -0.000043 0.000985 0.000575 -0.000271 0.004851 0.002852 -0.001347 0.019542 0.011573 -0.005471 0.063121 0.037923 -0.018013 0.158955 0.097054 -0.046216 0.292762 0.177900 -0.084812 0.356681 0.192210 -0.087490 0.239239 -0.015580 0.033676 0.073203 -0.345346 0.228121 0.007228 -0.449866 0.285649 0.000617 -0.235295 -0.006322 -0.000283 -0.049100 -0.299951 0.000126 -0.008954 -0.288149 -0.000095 -0.000591 -0.343131 0.000004 -0.000348 -0.178076 -0.000008 0.000029 -0.038196 -0.000000 -0.000017 -0.002805 * f-type functions 13 2 2109.1038 708.04495 300.16793 145.41138 75.355015 40.217323 21.415664 11.331146 5.8433329 2.8704904 1.3291926 0.5683530 0.2133035 -0.000345 0.000129 -0.003074 0.001145 -0.016813 0.006313 -0.059813 0.022436 -0.155004 0.058603 -0.289585 0.104930 -0.369993 0.118239 -0.275058 0.006180 -0.093476 -0.233697 -0.009596 -0.395349 -0.000722 -0.360311 -0.000223 -0.218124 -0.000101 -0.074866 ****************************************************************************** /No.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p3d2f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * NOBELIUM: No * * ============ * * Reference state: * * The atomic ground state, No(1S) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 102 * s-type functions 35 7 324898420 304197620 457970070 901758460 221754150 665488300 235112090 93565629. 34428209. 11470997. 3800047.0 1303436.8 470673.72 180448.47 74289.263 32768.456 15141.261 7241.4792 3585.9565 1812.2793 918.43375 471.84691 245.87404 121.00148 70.281008 38.977150 21.318029 12.028101 6.4154817 3.3461427 1.3207744 0.7664018 0.3607445 0.0806115 0.0311107 0.000005 -0.000002 0.000001 0.000001 -0.000000 -0.000000 0.000000 0.000019 -0.000008 0.000004 0.000002 -0.000001 -0.000000 0.000000 0.000052 -0.000023 0.000012 0.000006 -0.000003 -0.000001 0.000000 0.000126 -0.000056 0.000028 0.000015 -0.000008 -0.000003 0.000001 0.000256 -0.000114 0.000056 0.000030 -0.000016 -0.000007 0.000002 0.000461 -0.000205 0.000101 0.000054 -0.000028 -0.000012 0.000003 0.000742 -0.000328 0.000162 0.000086 -0.000045 -0.000020 0.000005 0.001250 -0.000553 0.000273 0.000145 -0.000075 -0.000034 0.000008 0.002605 -0.001151 0.000569 0.000301 -0.000157 -0.000070 0.000017 0.005212 -0.002303 0.001138 0.000603 -0.000313 -0.000139 0.000034 0.009806 -0.004339 0.002144 0.001137 -0.000590 -0.000263 0.000065 0.017639 -0.007836 0.003876 0.002055 -0.001067 -0.000475 0.000117 0.030404 -0.013613 0.006742 0.003576 -0.001858 -0.000826 0.000204 0.049942 -0.022664 0.011252 0.005971 -0.003103 -0.001380 0.000340 0.077340 -0.035829 0.017860 0.009488 -0.004931 -0.002193 0.000541 0.115400 -0.055153 0.027641 0.014704 -0.007648 -0.003403 0.000839 0.167264 -0.083541 0.042254 0.022534 -0.011720 -0.005214 0.001285 0.222227 -0.118237 0.060459 0.032326 -0.016850 -0.007502 0.001850 0.251167 -0.142030 0.073668 0.039558 -0.020587 -0.009159 0.002256 0.213541 -0.108786 0.053285 0.028049 -0.014626 -0.006514 0.001609 0.098405 0.085040 -0.076053 -0.046217 0.025155 0.011326 -0.002802 0.012678 0.407864 -0.366349 -0.227834 0.123446 0.055510 -0.013697 0.001017 0.479300 -0.521084 -0.344164 0.191937 0.086984 -0.021506 -0.000778 0.170714 0.050409 0.086826 -0.061041 -0.029315 0.007306 0.000704 -0.018006 0.761326 0.932465 -0.615439 -0.291120 0.072425 -0.000544 0.015042 0.445618 0.604437 -0.430434 -0.211279 0.052761 0.000392 -0.009365 0.058299 -0.751847 0.821170 0.447738 -0.113537 -0.000245 0.005506 -0.001063 -0.803201 1.249588 0.761893 -0.196941 0.000128 -0.002792 0.001074 -0.114611 -0.577052 -0.550887 0.150470 -0.000057 0.001241 -0.000649 -0.001144 -1.074121 -1.080990 0.304005 0.000029 -0.000636 0.000274 -0.000358 -0.159640 0.179280 -0.062024 -0.000019 0.000413 -0.000176 0.000096 0.040053 0.855370 -0.339798 0.000005 -0.000111 0.000051 0.000020 -0.008513 0.388330 -0.294820 -0.000001 0.000021 -0.000009 -0.000003 0.001339 0.008632 0.596337 0.000000 -0.000008 0.000004 0.000002 -0.000503 -0.001865 0.598662 * p-type functions 26 5 480367830 67913052. 13747703. 3375898.7 966697.86 314081.91 112045.26 42893.582 17545.411 7609.6362 3461.2270 1649.7869 823.07748 426.58298 227.12643 122.97752 68.659038 38.491088 21.202050 11.948102 6.5742798 3.4965427 1.7776097 0.8280354 0.3730274 0.1502282 0.000012 -0.000006 -0.000003 -0.000002 0.000001 0.000037 -0.000020 -0.000011 -0.000005 0.000002 0.000100 -0.000054 -0.000029 -0.000015 0.000006 0.000248 -0.000134 -0.000072 -0.000036 0.000014 0.000574 -0.000311 -0.000167 -0.000084 0.000032 0.001282 -0.000696 -0.000374 -0.000189 0.000072 0.002877 -0.001570 -0.000844 -0.000426 0.000163 0.006529 -0.003586 -0.001932 -0.000975 0.000372 0.014857 -0.008234 -0.004447 -0.002248 0.000859 0.034058 -0.019132 -0.010367 -0.005242 0.002002 0.076543 -0.043899 -0.023925 -0.012128 0.004639 0.156496 -0.092471 -0.050780 -0.025761 0.009841 0.266419 -0.163328 -0.090694 -0.046248 0.017726 0.331226 -0.201749 -0.111325 -0.056419 0.021504 0.244744 -0.063282 -0.015064 -0.004911 0.001774 0.079313 0.296516 0.262055 0.151698 -0.060138 0.006204 0.502925 0.460871 0.265719 -0.103818 0.000628 0.282046 0.076568 0.008653 -0.001641 -0.000431 0.047350 -0.575127 -0.527319 0.234947 0.000179 0.000673 -0.524206 -0.503415 0.215342 -0.000101 0.000206 -0.115948 0.409844 -0.259849 0.000060 -0.000225 -0.004579 0.713684 -0.479497 -0.000024 0.000036 -0.000494 0.229327 0.005633 0.000010 -0.000018 0.000111 0.013186 0.562328 -0.000004 0.000007 -0.000031 0.001009 0.506103 0.000001 -0.000002 0.000004 -0.000209 0.104065 * d-type functions 18 3 36197.145 9068.2083 3148.0221 1293.9016 591.47639 291.34083 151.77063 83.258294 47.915869 28.754443 17.661784 10.635773 6.1604910 3.7437625 2.4013063 1.3837302 0.6528237 0.1344514 0.000183 -0.000107 0.000051 0.001141 -0.000669 0.000317 0.005569 -0.003290 0.001562 0.022470 -0.013367 0.006359 0.073124 -0.044225 0.021127 0.181655 -0.111410 0.053404 0.313710 -0.190486 0.091114 0.337873 -0.171942 0.076906 0.202459 0.038848 -0.046355 0.067753 0.286368 -0.188654 0.010318 0.409971 -0.273345 0.001141 0.290044 -0.076505 -0.000358 0.084913 0.300114 0.000193 0.006072 0.381710 -0.000163 0.002158 0.301759 0.000029 -0.000179 0.172608 -0.000013 0.000086 0.029389 0.000000 -0.000003 0.000558 * f-type functions 13 2 2116.8731 709.22986 300.51677 143.77918 73.806840 39.667554 21.672925 11.902688 6.4125625 3.3025908 1.5892106 0.6863539 0.2531132 -0.000370 0.000140 -0.003255 0.001228 -0.017967 0.006819 -0.065487 0.024888 -0.166393 0.063542 -0.291099 0.106227 -0.352126 0.112552 -0.262013 0.008787 -0.099016 -0.204944 -0.013151 -0.367817 -0.000421 -0.370232 -0.000020 -0.247178 -0.000002 -0.092175 ****************************************************************************** /Lr.ANO-DK3.Tsuchiya.35s26p18d13f.7s5p4d2f. Takashi Tsuchiya, Minori Abe, Takahito Nakajima and Kimihoko Hirao, J. Chem. Phys., 115, 4463 (2001) ****************************************************************************** * * * LAWRENCIUM: Lr * * ============== * * Reference state: * * The atomic ground state, Lr(2D) * * Relativistic effect: * * The scalar relativistic third-order Douglas-Kroll(DK3) method * * Primitive functions: * * Optimized by the total energy minimization in DK3-SCF * * Contraction: * * Taken from the DK3-SCF orbital coefficients * * * ****************************************************************************** a 103 * s-type functions 35 7 396744490 309984460 442199870 866420890 219053120 652910030 231719300 95239269. 35362672. 11834136. 3867554.8 1303302.5 464607.24 178507.68 74219.301 32794.928 15070.360 7219.9568 3605.1838 1813.6838 903.44198 468.13900 245.41320 115.80165 69.777657 39.119662 20.896731 12.138201 6.3765371 3.3353146 1.3405308 0.7228568 0.3624797 0.0851779 0.0316724 0.000005 -0.000002 0.000001 0.000001 -0.000000 -0.000000 0.000000 0.000021 -0.000010 0.000005 0.000003 -0.000001 -0.000001 0.000000 0.000060 -0.000027 0.000013 0.000007 -0.000004 -0.000002 0.000000 0.000138 -0.000062 0.000031 0.000016 -0.000008 -0.000004 0.000001 0.000276 -0.000123 0.000061 0.000032 -0.000017 -0.000008 0.000002 0.000510 -0.000228 0.000113 0.000060 -0.000031 -0.000014 0.000004 0.000776 -0.000346 0.000171 0.000091 -0.000047 -0.000021 0.000006 0.001295 -0.000577 0.000285 0.000151 -0.000079 -0.000036 0.000010 0.002706 -0.001203 0.000595 0.000316 -0.000165 -0.000074 0.000020 0.005442 -0.002420 0.001197 0.000635 -0.000331 -0.000149 0.000041 0.010396 -0.004629 0.002290 0.001216 -0.000634 -0.000286 0.000078 0.018798 -0.008404 0.004160 0.002210 -0.001153 -0.000519 0.000142 0.032175 -0.014501 0.007190 0.003820 -0.001993 -0.000898 0.000245 0.051668 -0.023603 0.011730 0.006235 -0.003254 -0.001467 0.000400 0.079184 -0.036932 0.018434 0.009813 -0.005122 -0.002308 0.000630 0.118941 -0.057214 0.028694 0.015286 -0.007983 -0.003599 0.000982 0.171699 -0.086385 0.043778 0.023406 -0.012230 -0.005512 0.001505 0.222019 -0.118717 0.060675 0.032457 -0.016978 -0.007661 0.002089 0.248420 -0.140679 0.073148 0.039438 -0.020636 -0.009299 0.002542 0.212619 -0.103280 0.049049 0.025431 -0.013227 -0.005975 0.001618 0.092644 0.106235 -0.091367 -0.054962 0.029857 0.013642 -0.003696 0.009418 0.416154 -0.381420 -0.239726 0.130932 0.059631 -0.016378 0.001612 0.469782 -0.503240 -0.330750 0.184787 0.085012 -0.023089 -0.001331 0.164411 0.114504 0.146454 -0.098225 -0.047919 0.012642 0.001260 -0.035424 0.747545 0.945528 -0.632890 -0.302900 0.084729 -0.000882 0.022061 0.417060 0.513451 -0.359490 -0.181301 0.048043 0.000622 -0.013687 0.051535 -0.801528 0.903304 0.510453 -0.139864 -0.000399 0.008379 -0.002939 -0.732930 1.156594 0.709471 -0.209850 0.000196 -0.004034 0.001440 -0.114395 -0.666841 -0.634824 0.201882 -0.000088 0.001806 -0.000768 0.006319 -1.019181 -1.069597 0.326235 0.000042 -0.000860 0.000308 -0.003526 -0.119557 0.364795 -0.112856 -0.000027 0.000552 -0.000193 0.002164 0.023166 0.821358 -0.456883 0.000009 -0.000180 0.000066 -0.000670 -0.005711 0.289993 -0.200138 -0.000002 0.000032 -0.000012 0.000122 0.000790 0.008437 0.781644 0.000001 -0.000012 0.000004 -0.000044 -0.000274 -0.001919 0.426725 * p-type functions 26 5 370823890 55960854. 12078576. 3116104.5 306639.62 920718.16 111343.65 43139.101 17688.129 7644.4766 3468.4548 1647.5737 817.37833 422.57661 225.98536 124.10979 70.043697 39.661712 21.342733 11.896995 6.4622849 3.4133231 1.7052642 0.8266004 0.3867483 0.1622180 0.000015 -0.000008 -0.000004 -0.000002 0.000001 0.000043 -0.000023 -0.000013 -0.000006 0.000003 0.000112 -0.000060 -0.000032 -0.000016 0.000006 0.000270 -0.000146 -0.000079 -0.000040 0.000016 0.001348 -0.000733 -0.000395 -0.000200 0.000078 0.000614 -0.000333 -0.000179 -0.000091 0.000036 0.002990 -0.001635 -0.000882 -0.000447 0.000175 0.006739 -0.003708 -0.002003 -0.001017 0.000397 0.015409 -0.008561 -0.004635 -0.002355 0.000920 0.035369 -0.019914 -0.010822 -0.005499 0.002147 0.079192 -0.045558 -0.024890 -0.012682 0.004959 0.162028 -0.095989 -0.052888 -0.026967 0.010536 0.274029 -0.168589 -0.093816 -0.048090 0.018839 0.330816 -0.199800 -0.110319 -0.056104 0.021873 0.233811 -0.049843 -0.005202 0.000395 -0.000332 0.073475 0.302046 0.265767 0.154932 -0.062758 0.006532 0.492378 0.457014 0.264807 -0.106037 0.000251 0.282162 0.066369 0.001966 0.001680 -0.000188 0.049531 -0.602629 -0.564714 0.257432 0.000029 -0.001869 -0.509109 -0.471690 0.204905 -0.000014 0.001289 -0.098227 0.483682 -0.315424 0.000016 -0.000769 -0.003214 0.693429 -0.475164 -0.000005 0.000309 -0.000353 0.187898 0.066357 0.000002 -0.000145 0.000082 0.006413 0.584369 -0.000001 0.000056 -0.000018 0.001711 0.464014 0.000000 -0.000014 0.000000 -0.000401 0.093594 * d-type functions 18 4 33883.219 8462.2061 2945.4143 1216.5807 560.42849 280.51156 149.61578 84.181768 48.470185 27.105659 15.063187 8.2071522 4.3572264 2.2265941 1.0648062 0.3973416 0.1372091 0.0433472 0.000214 0.000126 0.000060 -0.000012 0.001347 0.000794 0.000379 -0.000074 0.006529 0.003873 0.001855 -0.000359 0.025910 0.015500 0.007434 -0.001446 0.081288 0.049425 0.023826 -0.004616 0.189728 0.116966 0.056499 -0.011020 0.308065 0.186900 0.090169 -0.017396 0.324977 0.164975 0.073607 -0.014383 0.209983 -0.051313 -0.054422 0.012168 0.064905 -0.385739 -0.260005 0.052191 0.003630 -0.466356 -0.286440 0.059015 0.000950 -0.193072 0.155844 -0.048473 -0.000529 -0.021699 0.539037 -0.130116 0.000170 -0.001054 0.394568 -0.089819 -0.000087 0.000032 0.101181 0.131329 0.000022 -0.000043 0.005176 0.383832 -0.000008 0.000014 -0.000088 0.486205 0.000003 -0.000004 0.000050 0.303145 * f-type functions 13 2 2124.2808 709.41607 300.46753 143.66872 73.742902 39.627640 21.694527 11.940555 6.4417387 3.3092089 1.6026906 0.7166371 0.2813359 -0.000394 -0.000154 -0.003470 -0.001359 -0.019055 -0.007498 -0.068876 -0.027175 -0.173114 -0.068494 -0.297296 -0.112160 -0.351268 -0.114256 -0.253228 0.001413 -0.091622 0.225461 -0.011339 0.383029 -0.000307 0.359755 -0.000020 0.218115 0.000001 0.068412 ergo-3.5/basis/aug-cc-pVTZ0000775000175000017500000062414112743400275012303 00000000000000$ aug-cc-pVTZ EMSL Basis Set Exchange Library 11/10/15 12:41 AM $ Elements References $ -------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $ Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $ Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $ Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ Sc - Zn: N.B. Balabanov and K.A. Peterson, J. Chem. Phys, 123, 064107 (2005) $ Ga - Kr: A.K. Wilson, D.E. Woon, K.A. Peterson, T.H. Dunning, Jr., J. Chem. Phys., 110, 7667 (1999) $ $ Elements References $ -------- --------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr., J. Chem. Phys. 100, 2975 (1994). $ B - F: R.A. Kendall, T.H. Dunning, Jr. and R.J. Harrison, J. Chem. Phys. 96, $ 6796 (1992). $ Al - Cl: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $ Sc - Zn: N.B. Balabanov and K.A. Peterson, J. Chem. Phys, 123, 064107 (2005) $ $ HYDROGEN (6s,3p,2d) -> [4s,3p,2d] $ HYDROGEN (5s,2p,1d) -> [3s,2p,1d] $ HYDROGEN (1s,1p,1d) a 1 $ S-TYPE FUNCTIONS 6 4 0 33.8700000 0.0060680 0.0000000 0.0000000 0.0000000 5.0950000 0.0453080 0.0000000 0.0000000 0.0000000 1.1590000 0.2028220 0.0000000 0.0000000 0.0000000 0.3258000 0.0000000 1.0000000 0.0000000 0.0000000 0.1027000 0.0000000 0.0000000 1.0000000 0.0000000 0.0252600 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 3 3 0 1.4070000 1.0000000 0.0000000 0.0000000 0.3880000 0.0000000 1.0000000 0.0000000 0.1020000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 1.0570000 1.0000000 0.0000000 0.2470000 0.0000000 1.0000000 $ HELIUM (7s,3p,2d) -> [4s,3p,2d] $ HELIUM (6s,2p,1d) -> [3s,2p,1d] $ HELIUM (1s,1p,1d) a 2 $ S-TYPE FUNCTIONS 7 4 0 234.0000000 0.0025870 0.0000000 0.0000000 0.0000000 35.1600000 0.0195330 0.0000000 0.0000000 0.0000000 7.9890000 0.0909980 0.0000000 0.0000000 0.0000000 2.2120000 0.2720500 0.0000000 0.0000000 0.0000000 0.6669000 0.0000000 1.0000000 0.0000000 0.0000000 0.2089000 0.0000000 0.0000000 1.0000000 0.0000000 0.0513800 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 3 3 0 3.0440000 1.0000000 0.0000000 0.0000000 0.7580000 0.0000000 1.0000000 0.0000000 0.1993000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 1.9650000 1.0000000 0.0000000 0.4592000 0.0000000 1.0000000 $ LITHIUM (12s,6p,3d,2f) -> [5s,4p,3d,2f] $ LITHIUM (11s,5p,2d,1f) -> [4s,3p,2d,1f] $ LITHIUM (1s,1p,1d,1f) a 3 $ S-TYPE FUNCTIONS 12 5 0 5988.0000000 0.0001330 -0.0000210 0.0000000 0.0000000 0.0000000 898.9000000 0.0010250 -0.0001610 0.0000000 0.0000000 0.0000000 205.9000000 0.0052720 -0.0008200 0.0000000 0.0000000 0.0000000 59.2400000 0.0209290 -0.0033260 0.0000000 0.0000000 0.0000000 19.8700000 0.0663400 -0.0105190 0.0000000 0.0000000 0.0000000 7.4060000 0.1657750 -0.0280970 0.0000000 0.0000000 0.0000000 2.9300000 0.3150380 -0.0559360 0.0000000 0.0000000 0.0000000 1.1890000 0.3935230 -0.0992370 0.0000000 0.0000000 0.0000000 0.4798000 0.1908700 -0.1121890 0.0000000 0.0000000 0.0000000 0.0750900 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0283200 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0076000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 3.2660000 0.0086300 0.0000000 0.0000000 0.0000000 0.6511000 0.0475380 0.0000000 0.0000000 0.0000000 0.1696000 0.2097720 0.0000000 0.0000000 0.0000000 0.0557800 0.0000000 1.0000000 0.0000000 0.0000000 0.0205000 0.0000000 0.0000000 1.0000000 0.0000000 0.0091000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.1874000 1.0000000 0.0000000 0.0000000 0.0801000 0.0000000 1.0000000 0.0000000 0.0371000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.1829000 1.0000000 0.0000000 0.0816000 0.0000000 1.0000000 $ BERYLLIUM (12s,6p,3d,2f) -> [5s,4p,3d,2f] $ BERYLLIUM (11s,5p,2d,1f) -> [4s,3p,2d,1f] $ BERYLLIUM (1s,1p,1d,1f) a 4 $ S-TYPE FUNCTIONS 12 5 0 6863.0000000 0.0002360 -0.0000430 0.0000000 0.0000000 0.0000000 1030.0000000 0.0018260 -0.0003330 0.0000000 0.0000000 0.0000000 234.7000000 0.0094520 -0.0017360 0.0000000 0.0000000 0.0000000 66.5600000 0.0379570 -0.0070120 0.0000000 0.0000000 0.0000000 21.6900000 0.1199650 -0.0231260 0.0000000 0.0000000 0.0000000 7.7340000 0.2821620 -0.0581380 0.0000000 0.0000000 0.0000000 2.9160000 0.4274040 -0.1145560 0.0000000 0.0000000 0.0000000 1.1300000 0.2662780 -0.1359080 0.0000000 0.0000000 0.0000000 0.1101000 -0.0072750 0.5774410 0.0000000 0.0000000 0.0000000 0.2577000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0440900 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0150300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 7.4360000 0.0107360 0.0000000 0.0000000 0.0000000 1.5770000 0.0628540 0.0000000 0.0000000 0.0000000 0.4352000 0.2481800 0.0000000 0.0000000 0.0000000 0.1438000 0.0000000 1.0000000 0.0000000 0.0000000 0.0499400 0.0000000 0.0000000 1.0000000 0.0000000 0.0070600 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.3480000 1.0000000 0.0000000 0.0000000 0.1803000 0.0000000 1.0000000 0.0000000 0.0654000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.3250000 1.0000000 0.0000000 0.1533000 0.0000000 1.0000000 $ BORON (11s,6p,3d,2f) -> [5s,4p,3d,2f] $ BORON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ BORON (1s,1p,1d,1f) a 5 $ S-TYPE FUNCTIONS 11 5 0 5473.0000000 0.0005550 -0.0001120 0.0000000 0.0000000 0.0000000 820.9000000 0.0042910 -0.0008680 0.0000000 0.0000000 0.0000000 186.8000000 0.0219490 -0.0044840 0.0000000 0.0000000 0.0000000 52.8300000 0.0844410 -0.0176830 0.0000000 0.0000000 0.0000000 17.0800000 0.2385570 -0.0536390 0.0000000 0.0000000 0.0000000 5.9990000 0.4350720 -0.1190050 0.0000000 0.0000000 0.0000000 2.2080000 0.3419550 -0.1658240 0.0000000 0.0000000 0.0000000 0.2415000 -0.0095450 0.5959810 0.0000000 0.0000000 0.0000000 0.5879000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0861000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0291400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 12.0500000 0.0131180 0.0000000 0.0000000 0.0000000 2.6130000 0.0798960 0.0000000 0.0000000 0.0000000 0.7475000 0.2772750 0.0000000 0.0000000 0.0000000 0.2385000 0.0000000 1.0000000 0.0000000 0.0000000 0.0769800 0.0000000 0.0000000 1.0000000 0.0000000 0.0209600 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.6610000 1.0000000 0.0000000 0.0000000 0.1990000 0.0000000 1.0000000 0.0000000 0.0604000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.4900000 1.0000000 0.0000000 0.1630000 0.0000000 1.0000000 $ CARBON (11s,6p,3d,2f) -> [5s,4p,3d,2f] $ CARBON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ CARBON (1s,1p,1d,1f) a 6 $ S-TYPE FUNCTIONS 11 5 0 8236.0000000 0.0005310 -0.0001130 0.0000000 0.0000000 0.0000000 1235.0000000 0.0041080 -0.0008780 0.0000000 0.0000000 0.0000000 280.8000000 0.0210870 -0.0045400 0.0000000 0.0000000 0.0000000 79.2700000 0.0818530 -0.0181330 0.0000000 0.0000000 0.0000000 25.5900000 0.2348170 -0.0557600 0.0000000 0.0000000 0.0000000 8.9970000 0.4344010 -0.1268950 0.0000000 0.0000000 0.0000000 3.3190000 0.3461290 -0.1703520 0.0000000 0.0000000 0.0000000 0.3643000 -0.0089830 0.5986840 0.0000000 0.0000000 0.0000000 0.9059000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1285000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0440200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 18.7100000 0.0140310 0.0000000 0.0000000 0.0000000 4.1330000 0.0868660 0.0000000 0.0000000 0.0000000 1.2000000 0.2902160 0.0000000 0.0000000 0.0000000 0.3827000 0.0000000 1.0000000 0.0000000 0.0000000 0.1209000 0.0000000 0.0000000 1.0000000 0.0000000 0.0356900 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 1.0970000 1.0000000 0.0000000 0.0000000 0.3180000 0.0000000 1.0000000 0.0000000 0.1000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.7610000 1.0000000 0.0000000 0.2680000 0.0000000 1.0000000 $ NITROGEN (11s,6p,3d,2f) -> [5s,4p,3d,2f] $ NITROGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ NITROGEN (1s,1p,1d,1f) a 7 $ S-TYPE FUNCTIONS 11 5 0 11420.0000000 0.0005230 -0.0001150 0.0000000 0.0000000 0.0000000 1712.0000000 0.0040450 -0.0008950 0.0000000 0.0000000 0.0000000 389.3000000 0.0207750 -0.0046240 0.0000000 0.0000000 0.0000000 110.0000000 0.0807270 -0.0185280 0.0000000 0.0000000 0.0000000 35.5700000 0.2330740 -0.0573390 0.0000000 0.0000000 0.0000000 12.5400000 0.4335010 -0.1320760 0.0000000 0.0000000 0.0000000 4.6440000 0.3474720 -0.1725100 0.0000000 0.0000000 0.0000000 0.5118000 -0.0085080 0.5999440 0.0000000 0.0000000 0.0000000 1.2930000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1787000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0576000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 26.6300000 0.0146700 0.0000000 0.0000000 0.0000000 5.9480000 0.0917640 0.0000000 0.0000000 0.0000000 1.7420000 0.2986830 0.0000000 0.0000000 0.0000000 0.5550000 0.0000000 1.0000000 0.0000000 0.0000000 0.1725000 0.0000000 0.0000000 1.0000000 0.0000000 0.0491000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 1.6540000 1.0000000 0.0000000 0.0000000 0.4690000 0.0000000 1.0000000 0.0000000 0.1510000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 1.0930000 1.0000000 0.0000000 0.3640000 0.0000000 1.0000000 $ OXYGEN (11s,6p,3d,2f) -> [5s,4p,3d,2f] $ OXYGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ OXYGEN (1s,1p,1d,1f) a 8 $ S-TYPE FUNCTIONS 11 5 0 15330.0000000 0.0005080 -0.0001150 0.0000000 0.0000000 0.0000000 2299.0000000 0.0039290 -0.0008950 0.0000000 0.0000000 0.0000000 522.4000000 0.0202430 -0.0046360 0.0000000 0.0000000 0.0000000 147.3000000 0.0791810 -0.0187240 0.0000000 0.0000000 0.0000000 47.5500000 0.2306870 -0.0584630 0.0000000 0.0000000 0.0000000 16.7600000 0.4331180 -0.1364630 0.0000000 0.0000000 0.0000000 6.2070000 0.3502600 -0.1757400 0.0000000 0.0000000 0.0000000 0.6882000 -0.0081540 0.6034180 0.0000000 0.0000000 0.0000000 1.7520000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2384000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0737600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 34.4600000 0.0159280 0.0000000 0.0000000 0.0000000 7.7490000 0.0997400 0.0000000 0.0000000 0.0000000 2.2800000 0.3104920 0.0000000 0.0000000 0.0000000 0.7156000 0.0000000 1.0000000 0.0000000 0.0000000 0.2140000 0.0000000 0.0000000 1.0000000 0.0000000 0.0597400 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 2.3140000 1.0000000 0.0000000 0.0000000 0.6450000 0.0000000 1.0000000 0.0000000 0.2140000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 1.4280000 1.0000000 0.0000000 0.5000000 0.0000000 1.0000000 $ FLUORINE (11s,6p,3d,2f) -> [5s,4p,3d,2f] $ FLUORINE (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ FLUORINE (1s,1p,1d,1f) a 9 $ S-TYPE FUNCTIONS 11 5 0 19500.0000000 0.0005070 -0.0001170 0.0000000 0.0000000 0.0000000 2923.0000000 0.0039230 -0.0009120 0.0000000 0.0000000 0.0000000 664.5000000 0.0202000 -0.0047170 0.0000000 0.0000000 0.0000000 187.5000000 0.0790100 -0.0190860 0.0000000 0.0000000 0.0000000 60.6200000 0.2304390 -0.0596550 0.0000000 0.0000000 0.0000000 21.4200000 0.4328720 -0.1400100 0.0000000 0.0000000 0.0000000 7.9500000 0.3499640 -0.1767820 0.0000000 0.0000000 0.0000000 0.8815000 -0.0078920 0.6050430 0.0000000 0.0000000 0.0000000 2.2570000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3041000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0915800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 43.8800000 0.0166650 0.0000000 0.0000000 0.0000000 9.9260000 0.1044720 0.0000000 0.0000000 0.0000000 2.9300000 0.3172600 0.0000000 0.0000000 0.0000000 0.9132000 0.0000000 1.0000000 0.0000000 0.0000000 0.2672000 0.0000000 0.0000000 1.0000000 0.0000000 0.0736100 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 3.1070000 1.0000000 0.0000000 0.0000000 0.8550000 0.0000000 1.0000000 0.0000000 0.2920000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 1.9170000 1.0000000 0.0000000 0.7240000 0.0000000 1.0000000 $ NEON (11s,6p,3d,2f) -> [5s,4p,3d,2f] $ NEON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ NEON (1s,1p,1d,1f) a 10 $ S-TYPE FUNCTIONS 11 5 0 24350.0000000 0.0005020 -0.0001180 0.0000000 0.0000000 0.0000000 3650.0000000 0.0038810 -0.0009150 0.0000000 0.0000000 0.0000000 829.6000000 0.0199970 -0.0047370 0.0000000 0.0000000 0.0000000 234.0000000 0.0784180 -0.0192330 0.0000000 0.0000000 0.0000000 75.6100000 0.2296760 -0.0603690 0.0000000 0.0000000 0.0000000 26.7300000 0.4327220 -0.1425080 0.0000000 0.0000000 0.0000000 9.9270000 0.3506420 -0.1777100 0.0000000 0.0000000 0.0000000 1.1020000 -0.0076450 0.6058360 0.0000000 0.0000000 0.0000000 2.8360000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3782000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1133000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 54.7000000 0.0171510 0.0000000 0.0000000 0.0000000 12.4300000 0.1076560 0.0000000 0.0000000 0.0000000 3.6790000 0.3216810 0.0000000 0.0000000 0.0000000 1.1430000 0.0000000 1.0000000 0.0000000 0.0000000 0.3300000 0.0000000 0.0000000 1.0000000 0.0000000 0.0917500 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 4.0140000 1.0000000 0.0000000 0.0000000 1.0960000 0.0000000 1.0000000 0.0000000 0.3860000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 2.5440000 1.0000000 0.0000000 1.0840000 0.0000000 1.0000000 $ SODIUM (17s,11p,3d,2f) -> [6s,5p,3d,2f] $ SODIUM (16s,10p,2d,1f) -> [5s,4p,2d,1f] $ SODIUM (1s,1p,1d,1f) a 11 $ S-TYPE FUNCTIONS 17 6 0 423000.0000000 0.180618D-04 -0.440653D-05 0.663019D-06 0.0000000 0.0000000 0.0000000 63340.0000000 0.140430D-03 -0.343443D-04 0.515769D-05 0.0000000 0.0000000 0.0000000 14410.0000000 0.738438D-03 -0.180114D-03 0.271250D-04 0.0000000 0.0000000 0.0000000 4077.0000000 0.311182D-02 -0.763900D-03 0.114635D-03 0.0000000 0.0000000 0.0000000 1328.0000000 0.112081D-01 -0.275248D-02 0.415118D-03 0.0000000 0.0000000 0.0000000 478.6000000 0.352828D-01 -0.886016D-02 0.132978D-02 0.0000000 0.0000000 0.0000000 186.2000000 0.959897D-01 -0.247939D-01 0.375595D-02 0.0000000 0.0000000 0.0000000 76.9200000 0.213735D+00 -0.605995D-01 0.914025D-02 0.0000000 0.0000000 0.0000000 33.3200000 0.348688D+00 -0.116446D+00 0.179859D-01 0.0000000 0.0000000 0.0000000 15.0000000 0.324566D+00 -0.162437D+00 0.251477D-01 0.0000000 0.0000000 0.0000000 6.8690000 0.112633D+00 -0.438891D-01 0.763522D-02 0.0000000 0.0000000 0.0000000 2.6830000 0.706797D-02 0.337917D+00 -0.614589D-01 0.0000000 0.0000000 0.0000000 1.1090000 0.598010D-03 0.561347D+00 -0.115721D+00 0.0000000 0.0000000 0.0000000 0.0601500 -0.530870D-05 0.406754D-02 0.626406D+00 0.0000000 0.0000000 0.0000000 0.4540000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0238200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0066500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 5 0 243.3000000 0.224392D-02 -0.222401D-03 0.0000000 0.0000000 0.0000000 57.3900000 0.173997D-01 -0.174277D-02 0.0000000 0.0000000 0.0000000 18.1000000 0.774125D-01 -0.775456D-02 0.0000000 0.0000000 0.0000000 6.5750000 0.219102D+00 -0.225187D-01 0.0000000 0.0000000 0.0000000 2.5210000 0.378522D+00 -0.384330D-01 0.0000000 0.0000000 0.0000000 0.9607000 0.394902D+00 -0.450177D-01 0.0000000 0.0000000 0.0000000 0.3512000 0.160424D+00 -0.192132D-01 0.0000000 0.0000000 0.0000000 0.0982700 0.233311D-02 0.182697D+00 0.0000000 0.0000000 0.0000000 0.0373400 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0150000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0070000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.1367000 1.0000000 0.0000000 0.0000000 0.0636000 0.0000000 1.0000000 0.0000000 0.0223000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.1397000 1.0000000 0.0000000 0.0714000 0.0000000 1.0000000 $ MAGNESIUM (16s,11p,3d,2f) -> [6s,5p,3d,2f] $ MAGNESIUM (15s,10p,2d,1f) -> [5s,4p,2d,1f] $ MAGNESIUM (1s,1p,1d,1f) a 12 $ S-TYPE FUNCTIONS 16 6 0 164900.0000000 0.729929D-04 -0.184248D-04 0.355176D-05 0.0000000 0.0000000 0.0000000 24710.0000000 0.566652D-03 -0.143500D-03 0.276420D-04 0.0000000 0.0000000 0.0000000 5628.0000000 0.296269D-02 -0.748710D-03 0.144404D-03 0.0000000 0.0000000 0.0000000 1596.0000000 0.122962D-01 -0.314407D-02 0.605744D-03 0.0000000 0.0000000 0.0000000 521.0000000 0.427324D-01 -0.110481D-01 0.213527D-02 0.0000000 0.0000000 0.0000000 188.0000000 0.123013D+00 -0.336058D-01 0.649934D-02 0.0000000 0.0000000 0.0000000 73.0100000 0.274832D+00 -0.825946D-01 0.161446D-01 0.0000000 0.0000000 0.0000000 29.9000000 0.401818D+00 -0.159314D+00 0.315766D-01 0.0000000 0.0000000 0.0000000 12.5400000 0.264697D+00 -0.152888D+00 0.316374D-01 0.0000000 0.0000000 0.0000000 4.3060000 0.332612D-01 0.190849D+00 -0.439140D-01 0.0000000 0.0000000 0.0000000 1.8260000 -0.441335D-02 0.579964D+00 -0.151093D+00 0.0000000 0.0000000 0.0000000 0.7417000 0.206024D-02 0.372029D+00 -0.217668D+00 0.0000000 0.0000000 0.0000000 0.0761200 0.708195D-03 -0.119344D-01 0.547245D+00 0.0000000 0.0000000 0.0000000 0.1457000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0331000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0129000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 5 0 316.9000000 0.207532D-02 -0.329727D-03 0.0000000 0.0000000 0.0000000 74.8600000 0.162869D-01 -0.258754D-02 0.0000000 0.0000000 0.0000000 23.7200000 0.738697D-01 -0.119120D-01 0.0000000 0.0000000 0.0000000 8.6690000 0.214297D+00 -0.350227D-01 0.0000000 0.0000000 0.0000000 3.3630000 0.382154D+00 -0.639968D-01 0.0000000 0.0000000 0.0000000 1.3100000 0.398178D+00 -0.704436D-01 0.0000000 0.0000000 0.0000000 0.4911000 0.152878D+00 -0.375836D-01 0.0000000 0.0000000 0.0000000 0.2364000 -0.437540D-02 0.177043D+00 0.0000000 0.0000000 0.0000000 0.0873300 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0323700 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0074500 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.1260000 1.0000000 0.0000000 0.0000000 0.2940000 0.0000000 1.0000000 0.0000000 0.0468000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.2520000 1.0000000 0.0000000 0.0940000 0.0000000 1.0000000 $ ALUMINUM (16s,10p,3d,2f) -> [6s,5p,3d,2f] $ ALUMINUM (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ ALUMINUM (1s,1p,1d,1f) a 13 $ S-TYPE FUNCTIONS 16 6 0 205500.0000000 0.678836D-04 -0.176377D-04 0.407315D-05 0.0000000 0.0000000 0.0000000 30780.0000000 0.527149D-03 -0.137195D-03 0.316566D-04 0.0000000 0.0000000 0.0000000 7006.0000000 0.276203D-02 -0.718910D-03 0.166116D-03 0.0000000 0.0000000 0.0000000 1985.0000000 0.114728D-01 -0.301146D-02 0.694992D-03 0.0000000 0.0000000 0.0000000 649.1000000 0.398188D-01 -0.106014D-01 0.245511D-02 0.0000000 0.0000000 0.0000000 235.0000000 0.115040D+00 -0.321345D-01 0.744598D-02 0.0000000 0.0000000 0.0000000 91.6200000 0.260887D+00 -0.803156D-01 0.188253D-01 0.0000000 0.0000000 0.0000000 37.6700000 0.396386D+00 -0.156794D+00 0.372772D-01 0.0000000 0.0000000 0.0000000 15.9100000 0.284597D+00 -0.168376D+00 0.419496D-01 0.0000000 0.0000000 0.0000000 5.8500000 0.444583D-01 0.126879D+00 -0.354375D-01 0.0000000 0.0000000 0.0000000 2.5420000 -0.489838D-02 0.561494D+00 -0.175132D+00 0.0000000 0.0000000 0.0000000 1.0570000 0.261253D-02 0.436613D+00 -0.276203D+00 0.0000000 0.0000000 0.0000000 0.1455000 0.722068D-03 -0.114563D-01 0.652809D+00 0.0000000 0.0000000 0.0000000 0.2931000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0565000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0221000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 5 0 444.4000000 0.162786D-02 -0.286341D-03 0.0000000 0.0000000 0.0000000 105.1000000 0.130687D-01 -0.242308D-02 0.0000000 0.0000000 0.0000000 33.4700000 0.612341D-01 -0.108658D-01 0.0000000 0.0000000 0.0000000 12.3300000 0.187870D+00 -0.364307D-01 0.0000000 0.0000000 0.0000000 4.8690000 0.360452D+00 -0.641074D-01 0.0000000 0.0000000 0.0000000 1.9610000 0.408454D+00 -0.972239D-01 0.0000000 0.0000000 0.0000000 0.1888000 0.976514D-02 0.503448D+00 0.0000000 0.0000000 0.0000000 0.7834000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0555700 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0146000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.1090000 1.0000000 0.0000000 0.0000000 0.3330000 0.0000000 1.0000000 0.0000000 0.0356000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.2440000 1.0000000 0.0000000 0.0858000 0.0000000 1.0000000 $ SILICON (16s,10p,3d,2f) -> [6s,5p,3d,2f] $ SILICON (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ SILICON (1s,1p,1d,1f) a 14 $ S-TYPE FUNCTIONS 16 6 0 254900.0000000 0.625101D-04 -0.166370D-04 0.426257D-05 0.0000000 0.0000000 0.0000000 38190.0000000 0.485553D-03 -0.129310D-03 0.331062D-04 0.0000000 0.0000000 0.0000000 8690.0000000 0.254516D-02 -0.678828D-03 0.174015D-03 0.0000000 0.0000000 0.0000000 2462.0000000 0.105866D-01 -0.284117D-02 0.727574D-03 0.0000000 0.0000000 0.0000000 804.8000000 0.368787D-01 -0.100551D-01 0.258333D-02 0.0000000 0.0000000 0.0000000 291.3000000 0.107479D+00 -0.305774D-01 0.786354D-02 0.0000000 0.0000000 0.0000000 113.6000000 0.247936D+00 -0.777256D-01 0.202155D-01 0.0000000 0.0000000 0.0000000 46.7500000 0.390927D+00 -0.154236D+00 0.407320D-01 0.0000000 0.0000000 0.0000000 19.8200000 0.302026D+00 -0.180368D+00 0.499358D-01 0.0000000 0.0000000 0.0000000 7.7080000 0.559236D-01 0.798218D-01 -0.249396D-01 0.0000000 0.0000000 0.0000000 3.3400000 -0.402406D-02 0.547441D+00 -0.190350D+00 0.0000000 0.0000000 0.0000000 1.4020000 0.258030D-02 0.480119D+00 -0.318350D+00 0.0000000 0.0000000 0.0000000 0.2070000 0.607930D-03 -0.106996D-01 0.681180D+00 0.0000000 0.0000000 0.0000000 0.4387000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0794400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0330000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 5 0 481.5000000 0.192045D-02 -0.405220D-03 0.0000000 0.0000000 0.0000000 113.9000000 0.153552D-01 -0.335896D-02 0.0000000 0.0000000 0.0000000 36.2300000 0.713991D-01 -0.152860D-01 0.0000000 0.0000000 0.0000000 13.3400000 0.213052D+00 -0.489218D-01 0.0000000 0.0000000 0.0000000 5.2520000 0.390354D+00 -0.855008D-01 0.0000000 0.0000000 0.0000000 2.1200000 0.393721D+00 -0.112137D+00 0.0000000 0.0000000 0.0000000 0.2528000 0.395630D-02 0.551919D+00 0.0000000 0.0000000 0.0000000 0.8561000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0788900 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0237000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.1590000 1.0000000 0.0000000 0.0000000 0.4810000 0.0000000 1.0000000 0.0000000 0.0556000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.3360000 1.0000000 0.0000000 0.1250000 0.0000000 1.0000000 $ PHOSPHOROUS (16s,10p,3d,2f) -> [6s,5p,3d,2f] $ PHOSPHOROUS (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ PHOSPHOROUS (1s,1p,1d,1f) a 15 $ S-TYPE FUNCTIONS 16 6 0 312400.0000000 0.576960D-04 -0.156709D-04 0.430631D-05 0.0000000 0.0000000 0.0000000 46800.0000000 0.448296D-03 -0.121724D-03 0.334194D-04 0.0000000 0.0000000 0.0000000 10650.0000000 0.234939D-02 -0.639672D-03 0.175885D-03 0.0000000 0.0000000 0.0000000 3018.0000000 0.978265D-02 -0.267426D-02 0.734340D-03 0.0000000 0.0000000 0.0000000 986.8000000 0.341467D-01 -0.949831D-02 0.261775D-02 0.0000000 0.0000000 0.0000000 357.4000000 0.100204D+00 -0.289349D-01 0.797852D-02 0.0000000 0.0000000 0.0000000 139.6000000 0.234372D+00 -0.745121D-01 0.207940D-01 0.0000000 0.0000000 0.0000000 57.6300000 0.382434D+00 -0.149938D+00 0.424446D-01 0.0000000 0.0000000 0.0000000 24.6000000 0.318088D+00 -0.189467D+00 0.563436D-01 0.0000000 0.0000000 0.0000000 10.1200000 0.707788D-01 0.363270D-01 -0.127358D-01 0.0000000 0.0000000 0.0000000 4.2830000 -0.181799D-02 0.528816D+00 -0.196495D+00 0.0000000 0.0000000 0.0000000 1.8050000 0.216180D-02 0.519115D+00 -0.353555D+00 0.0000000 0.0000000 0.0000000 0.2782000 0.432297D-03 -0.925695D-02 0.700912D+00 0.0000000 0.0000000 0.0000000 0.6158000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1055000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0409000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 5 0 504.9000000 0.233728D-02 -0.555236D-03 0.0000000 0.0000000 0.0000000 119.4000000 0.185410D-01 -0.445913D-02 0.0000000 0.0000000 0.0000000 37.9600000 0.849693D-01 -0.206350D-01 0.0000000 0.0000000 0.0000000 13.9500000 0.244615D+00 -0.617694D-01 0.0000000 0.0000000 0.0000000 5.4570000 0.422766D+00 -0.108924D+00 0.0000000 0.0000000 0.0000000 2.1770000 0.368439D+00 -0.105599D+00 0.0000000 0.0000000 0.0000000 0.2877000 -0.379005D-02 0.576981D+00 0.0000000 0.0000000 0.0000000 0.8010000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0971400 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0307000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.2160000 1.0000000 0.0000000 0.0000000 0.6520000 0.0000000 1.0000000 0.0000000 0.0775000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.4520000 1.0000000 0.0000000 0.1650000 0.0000000 1.0000000 $ SULFUR (16s,10p,3d,2f) -> [6s,5p,3d,2f] $ SULFUR (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ SULFUR (1s,1p,1d,1f) a 16 $ S-TYPE FUNCTIONS 16 6 0 374100.0000000 0.542140D-04 -0.149837D-04 0.435066D-05 0.0000000 0.0000000 0.0000000 56050.0000000 0.420855D-03 -0.116198D-03 0.337140D-04 0.0000000 0.0000000 0.0000000 12760.0000000 0.220698D-02 -0.611583D-03 0.177674D-03 0.0000000 0.0000000 0.0000000 3615.0000000 0.919258D-02 -0.255370D-02 0.741116D-03 0.0000000 0.0000000 0.0000000 1183.0000000 0.321123D-01 -0.908708D-02 0.264591D-02 0.0000000 0.0000000 0.0000000 428.8000000 0.946683D-01 -0.277045D-01 0.807487D-02 0.0000000 0.0000000 0.0000000 167.8000000 0.223630D+00 -0.720020D-01 0.212276D-01 0.0000000 0.0000000 0.0000000 69.4700000 0.374393D+00 -0.146439D+00 0.438323D-01 0.0000000 0.0000000 0.0000000 29.8400000 0.329108D+00 -0.195150D+00 0.612716D-01 0.0000000 0.0000000 0.0000000 12.7200000 0.847038D-01 0.819193D-02 -0.361510D-02 0.0000000 0.0000000 0.0000000 5.2440000 0.440851D-03 0.516601D+00 -0.204510D+00 0.0000000 0.0000000 0.0000000 2.2190000 0.164827D-02 0.542178D+00 -0.381871D+00 0.0000000 0.0000000 0.0000000 0.3490000 0.301306D-03 -0.918072D-02 0.714147D+00 0.0000000 0.0000000 0.0000000 0.7767000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1322000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0497000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 5 0 574.4000000 0.242264D-02 -0.620102D-03 0.0000000 0.0000000 0.0000000 135.8000000 0.192796D-01 -0.493882D-02 0.0000000 0.0000000 0.0000000 43.1900000 0.885401D-01 -0.232647D-01 0.0000000 0.0000000 0.0000000 15.8700000 0.254654D+00 -0.685195D-01 0.0000000 0.0000000 0.0000000 6.2080000 0.433984D+00 -0.123896D+00 0.0000000 0.0000000 0.0000000 2.4830000 0.354953D+00 -0.969499D-01 0.0000000 0.0000000 0.0000000 0.3229000 -0.502977D-02 0.569394D+00 0.0000000 0.0000000 0.0000000 0.8688000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1098000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0351000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.2690000 1.0000000 0.0000000 0.0000000 0.8190000 0.0000000 1.0000000 0.0000000 0.1010000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.5570000 1.0000000 0.0000000 0.2180000 0.0000000 1.0000000 $ CHLORINE (16s,10p,3d,2f) -> [6s,5p,3d,2f] $ CHLORINE (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ CHLORINE (1s,1p,1d,1f) a 17 $ S-TYPE FUNCTIONS 16 6 0 456100.0000000 0.492970D-04 -0.138304D-04 0.418546D-05 0.0000000 0.0000000 0.0000000 68330.0000000 0.383029D-03 -0.107279D-03 0.324395D-04 0.0000000 0.0000000 0.0000000 15550.0000000 0.200854D-02 -0.565083D-03 0.171105D-03 0.0000000 0.0000000 0.0000000 4405.0000000 0.838558D-02 -0.236135D-02 0.714176D-03 0.0000000 0.0000000 0.0000000 1439.0000000 0.294703D-01 -0.845886D-02 0.256705D-02 0.0000000 0.0000000 0.0000000 520.4000000 0.878325D-01 -0.259638D-01 0.788552D-02 0.0000000 0.0000000 0.0000000 203.1000000 0.211473D+00 -0.686362D-01 0.210867D-01 0.0000000 0.0000000 0.0000000 83.9600000 0.365364D+00 -0.141874D+00 0.442264D-01 0.0000000 0.0000000 0.0000000 36.2000000 0.340884D+00 -0.199319D+00 0.651670D-01 0.0000000 0.0000000 0.0000000 15.8300000 0.102133D+00 -0.195662D-01 0.603012D-02 0.0000000 0.0000000 0.0000000 6.3340000 0.311675D-02 0.499741D+00 -0.206495D+00 0.0000000 0.0000000 0.0000000 2.6940000 0.105751D-02 0.563736D+00 -0.405871D+00 0.0000000 0.0000000 0.0000000 0.4313000 0.156136D-03 -0.835091D-02 0.725661D+00 0.0000000 0.0000000 0.0000000 0.9768000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1625000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0591000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 5 0 663.3000000 0.240448D-02 -0.652145D-03 0.0000000 0.0000000 0.0000000 156.8000000 0.192148D-01 -0.519445D-02 0.0000000 0.0000000 0.0000000 49.9800000 0.885097D-01 -0.246938D-01 0.0000000 0.0000000 0.0000000 18.4200000 0.256020D+00 -0.728167D-01 0.0000000 0.0000000 0.0000000 7.2400000 0.436927D+00 -0.134030D+00 0.0000000 0.0000000 0.0000000 2.9220000 0.350334D+00 -0.947742D-01 0.0000000 0.0000000 0.0000000 0.3818000 -0.458423D-02 0.564667D+00 0.0000000 0.0000000 0.0000000 1.0220000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1301000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0419000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 1.0460000 1.0000000 0.0000000 0.0000000 0.3440000 0.0000000 1.0000000 0.0000000 0.1350000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.7060000 1.0000000 0.0000000 0.3120000 0.0000000 1.0000000 $ ARGON (16s,10p,3d,2f) -> [6s,5p,3d,2f] $ ARGON (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ ARGON (1s,1p,1d,1f) a 18 $ S-TYPE FUNCTIONS 16 6 0 545000.0000000 0.455828D-04 -0.129551D-04 0.404990D-05 0.0000000 0.0000000 0.0000000 81640.0000000 0.354108D-03 -0.100428D-03 0.313691D-04 0.0000000 0.0000000 0.0000000 18580.0000000 0.185797D-02 -0.529583D-03 0.165646D-03 0.0000000 0.0000000 0.0000000 5261.0000000 0.776851D-02 -0.221396D-02 0.691662D-03 0.0000000 0.0000000 0.0000000 1717.0000000 0.274232D-01 -0.796845D-02 0.249790D-02 0.0000000 0.0000000 0.0000000 619.9000000 0.823836D-01 -0.245803D-01 0.771074D-02 0.0000000 0.0000000 0.0000000 241.6000000 0.201230D+00 -0.657798D-01 0.208714D-01 0.0000000 0.0000000 0.0000000 99.7900000 0.356781D+00 -0.137942D+00 0.443965D-01 0.0000000 0.0000000 0.0000000 43.1500000 0.349563D+00 -0.201630D+00 0.680224D-01 0.0000000 0.0000000 0.0000000 19.1400000 0.118266D+00 -0.412834D-01 0.141350D-01 0.0000000 0.0000000 0.0000000 7.4880000 0.560190D-02 0.484680D+00 -0.207489D+00 0.0000000 0.0000000 0.0000000 3.2050000 0.483473D-03 0.579224D+00 -0.425045D+00 0.0000000 0.0000000 0.0000000 0.5204000 0.292025D-04 -0.727553D-02 0.733627D+00 0.0000000 0.0000000 0.0000000 1.1960000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1954000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0685000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 5 0 761.8000000 0.236976D-02 -0.667211D-03 0.0000000 0.0000000 0.0000000 180.2000000 0.190199D-01 -0.532717D-02 0.0000000 0.0000000 0.0000000 57.5000000 0.880807D-01 -0.255494D-01 0.0000000 0.0000000 0.0000000 21.2400000 0.256377D+00 -0.757197D-01 0.0000000 0.0000000 0.0000000 8.3880000 0.438711D+00 -0.141133D+00 0.0000000 0.0000000 0.0000000 3.4160000 0.347569D+00 -0.932768D-01 0.0000000 0.0000000 0.0000000 0.4523000 -0.523882D-02 0.562450D+00 0.0000000 0.0000000 0.0000000 1.2060000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1545000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0487000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.4100000 1.0000000 0.0000000 0.0000000 1.2540000 0.0000000 1.0000000 0.0000000 0.1690000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.8900000 1.0000000 0.0000000 0.4060000 0.0000000 1.0000000 $ SCANDIUM (21s,17p,9d,3f,2g) -> [8s,7p,5d,3f,2g] $ SCANDIUM (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ SCANDIUM (1s,1p,1d,1f,1g) a 21 $ S-TYPE FUNCTIONS 21 8 0 2715278.0000000 8.147221E-06 -4.722109E-06 9.139905E-07 -2.201951E-07 -3.757238E-07 -5.962768E-07 0.0000000 0.0000000 406598.4000000 6.334788E-05 -3.671829E-05 7.108513E-06 -1.711419E-06 -2.981907E-06 -4.822853E-06 0.0000000 0.0000000 92530.0400000 0.0003330384 -0.0001930883 3.738126E-05 -9.008469E-06 -1.522586E-05 -2.395005E-05 0.0000000 0.0000000 26207.9200000 0.001404055 -0.000814687 0.0001578828 -3.799997E-05 -6.684686E-05 -0.0001090335 0.0000000 0.0000000 8549.4290000 0.005081725 -0.002955526 0.0005737686 -0.0001383227 -0.0002313129 -0.0003601944 0.0000000 0.0000000 3085.9750000 0.01626926 -0.009520035 0.001859244 -0.0004473692 -0.0007959729 -0.001311233 0.0000000 0.0000000 1203.1720000 0.04624577 -0.02746858 0.005433182 -0.001310691 -0.002161961 -0.003322435 0.0000000 0.0000000 498.4869000 0.1137223 -0.06991528 0.01425387 -0.00342986 -0.006206459 -0.0103752 0.0000000 0.0000000 216.7360000 0.2257636 -0.1499251 0.03246144 -0.007847579 -0.01261905 -0.01892174 0.0000000 0.0000000 97.8747600 0.3106700 -0.2459153 0.06003454 -0.01447189 -0.02739459 -0.04755287 0.0000000 0.0000000 45.2043300 0.2191906 -0.2401293 0.06916105 -0.01690669 -0.02336516 -0.02931692 0.0000000 0.0000000 20.2118700 0.07215879 0.03567987 -0.02113084 0.005396115 -0.005734627 -0.03090088 0.0000000 0.0000000 9.5747510 0.1187030 0.4915023 -0.2666832 0.06671062 0.1536025 0.3074597 0.0000000 0.0000000 4.5403460 0.1220532 0.4911381 -0.4367591 0.1178356 0.1447100 0.1803100 0.0000000 0.0000000 1.9956870 0.02136795 0.09120633 0.06498243 -0.02738134 0.09359699 0.2358178 0.0000000 0.0000000 0.9422150 -0.0005357246 -0.005356723 0.7009599 -0.2260149 -0.8687730 -2.3885440 0.0000000 0.0000000 0.4178450 0.0002435774 0.0008812836 0.4515562 -0.3073539 0.02114597 2.3294070 0.0000000 0.0000000 0.0957610 -8.796617E-05 -0.0007605536 0.0301191 0.2544054 2.2754980 0.9918252 0.0000000 0.0000000 0.0513510 7.878246E-05 0.0006340116 -0.0132948 0.5981590 -1.1907700 -3.5072400 0.0000000 0.0000000 0.0238780 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.110000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 10592.1900000 0.0000450 -0.0000150 -0.0000040 0.0000040 0.0000090 0.0000000 0.0000000 2507.5330000 0.0004010 -0.0001310 -0.0000320 0.0000390 0.0000740 0.0000000 0.0000000 814.4571000 0.0023020 -0.0007570 -0.0001850 0.0002210 0.0004790 0.0000000 0.0000000 311.5195000 0.0100370 -0.0033180 -0.0008080 0.0009840 0.0018690 0.0000000 0.0000000 131.9617000 0.0349540 -0.0117060 -0.0028700 0.0034230 0.0074240 0.0000000 0.0000000 59.9871800 0.0979090 -0.0336040 -0.0082070 0.0099930 0.0187630 0.0000000 0.0000000 28.6625000 0.2106800 -0.0748790 -0.0184730 0.0219160 0.0487170 0.0000000 0.0000000 14.1085100 0.3300930 -0.1225480 -0.0301010 0.0370080 0.0654400 0.0000000 0.0000000 7.1037060 0.3310270 -0.1302760 -0.0329430 0.0377940 0.1079480 0.0000000 0.0000000 3.6092000 0.1579600 0.0145960 0.0079580 -0.0043790 -0.0587130 0.0000000 0.0000000 1.7760700 0.0220990 0.3091840 0.0879930 -0.1101640 -0.1703060 0.0000000 0.0000000 0.8547600 -0.0016050 0.4629980 0.1523770 -0.1610170 -0.7549770 0.0000000 0.0000000 0.4022390 -0.0013260 0.3049570 0.0971700 -0.1824820 0.6201170 0.0000000 0.0000000 0.1546650 -0.0002800 0.0508780 -0.2569380 0.3886110 1.1675480 0.0000000 0.0000000 0.0649450 0.0000340 -0.0044930 -0.5878150 0.6911000 -1.0095310 0.0000000 0.0000000 0.0263590 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.066000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 5 0 50.5138000 0.0042660 -0.0043890 0.0058590 0.0000000 0.0000000 14.7405000 0.0277080 -0.0283630 0.0373230 0.0000000 0.0000000 5.1950000 0.1000010 -0.1051370 0.1419240 0.0000000 0.0000000 2.0284600 0.2315810 -0.2348540 0.3068960 0.0000000 0.0000000 0.8040860 0.3460330 -0.3246090 0.3081890 0.0000000 0.0000000 0.3076890 0.3733740 -0.0642890 -0.7607170 0.0000000 0.0000000 0.1113920 0.2642880 0.6017490 -0.2047750 0.0000000 0.0000000 0.0373520 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.244000E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.7267000 1.0000000 0.0000000 0.0000000 0.1665000 0.0000000 1.0000000 0.0000000 4.063000E-02 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.4187000 1.0000000 0.0000000 9.473000E-02 0.0000000 1.0000000 $ TITANIUM (21s,17p,9d,3f,2g) -> [8s,7p,5d,3f,2g] $ TITANIUM (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ TITANIUM (1s,1p,1d,1f,1g) a 22 $ S-TYPE FUNCTIONS 21 8 0 3014643.0000000 8.060782E-06 -4.630486E-06 9.230559E-07 -2.180323E-07 -3.975126E-07 -6.302483E-07 0.0000000 0.0000000 451432.9000000 6.267518E-05 -3.600451E-05 7.178974E-06 -1.69486E-06 -3.16108E-06 -5.084585E-06 0.0000000 0.0000000 102733.8000000 0.0003295006 -0.000189342 3.775134E-05 -8.919208E-06 -1.609375E-05 -2.534482E-05 0.0000000 0.0000000 29098.1700000 0.001389203 -0.0007988781 0.0001594532 -3.763633E-05 -7.092947E-05 -0.000114826 0.0000000 0.0000000 9492.3300000 0.005028469 -0.002898698 0.000579515 -0.0001369575 -0.000244271 -0.0003817497 0.0000000 0.0000000 3426.3460000 0.01610419 -0.009339701 0.001878414 -0.0004432894 -0.0008457892 -0.001379645 0.0000000 0.0000000 1335.8960000 0.04581232 -0.02697464 0.005492747 -0.001298868 -0.002282208 -0.003531666 0.0000000 0.0000000 553.5026000 0.1128613 -0.06878913 0.01443297 -0.003406752 -0.006619873 -0.01092225 0.0000000 0.0000000 240.6925000 0.2248193 -0.1481037 0.03296408 -0.007810829 -0.01335024 -0.02029554 0.0000000 0.0000000 108.7293000 0.3114571 -0.2445253 0.06125493 -0.01449245 -0.0295583 -0.05024404 0.0000000 0.0000000 50.2645700 0.2224995 -0.2419916 0.07134113 -0.01708136 -0.02477039 -0.03316309 0.0000000 0.0000000 22.5800400 0.07293128 0.0318379 -0.0197315 0.004897666 -0.008414624 -0.03098063 0.0000000 0.0000000 10.7143200 0.1160683 0.4932686 -0.2741869 0.06753108 0.1693855 0.3244673 0.0000000 0.0000000 5.0935460 0.1194774 0.4939655 -0.4440977 0.1173318 0.1500787 0.2155689 0.0000000 0.0000000 2.2441830 0.02097868 0.09196313 0.07776084 -0.02985025 0.09787777 0.1499616 0.0000000 0.0000000 1.0595700 -0.0005091715 -0.005316992 0.7068444 -0.2277634 -0.9653608 -2.4207410 0.0000000 0.0000000 0.4688490 0.0002217859 0.0008085624 0.4413892 -0.2928115 0.1489721 2.5308740 0.0000000 0.0000000 0.1061430 -7.636896E-05 -0.0006918459 0.02799769 0.2665300 2.1911790 0.3423600 0.0000000 0.0000000 0.0552620 7.719539E-05 0.0006086512 -0.0121079 0.5912406 -1.2433250 -2.7337220 0.0000000 0.0000000 0.0254650 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0117300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 11912.0300000 0.0000440 -0.0000150 0.0000040 0.0000040 0.0000090 0.0000000 0.0000000 2819.9470000 0.0003910 -0.0001310 0.0000310 0.0000390 0.0000730 0.0000000 0.0000000 915.9479000 0.0022480 -0.0007550 0.0001820 0.0002230 0.0004680 0.0000000 0.0000000 350.3842000 0.0098230 -0.0033190 0.0007950 0.0009920 0.0018560 0.0000000 0.0000000 148.4825000 0.0343380 -0.0117500 0.0028330 0.0034760 0.0072930 0.0000000 0.0000000 67.5394400 0.0966660 -0.0339220 0.0081540 0.0101720 0.0188560 0.0000000 0.0000000 32.3033200 0.2094170 -0.0761640 0.0184720 0.0225760 0.0484050 0.0000000 0.0000000 15.9278600 0.3301890 -0.1257020 0.0304000 0.0382380 0.0673780 0.0000000 0.0000000 8.0380350 0.3319360 -0.1330980 0.0330470 0.0393370 0.1045410 0.0000000 0.0000000 4.0939160 0.1584880 0.0174060 -0.0082510 -0.0061060 -0.0537600 0.0000000 0.0000000 2.0223900 0.0223100 0.3151650 -0.0885540 -0.1129620 -0.1917490 0.0000000 0.0000000 0.9761020 -0.0015660 0.4618140 -0.1496120 -0.1681140 -0.6947200 0.0000000 0.0000000 0.4595950 -0.0013240 0.2998560 -0.0942270 -0.1659320 0.5601620 0.0000000 0.0000000 0.1771520 -0.0002710 0.0500000 0.2508460 0.3914030 1.1813360 0.0000000 0.0000000 0.0735170 0.0000320 -0.0042300 0.5866430 0.6818400 -0.9932720 0.0000000 0.0000000 0.0294010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0117600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 5 0 64.0130000 0.0038870 -0.0039700 0.0064180 0.0000000 0.0000000 18.8179000 0.0263990 -0.0268730 0.0438090 0.0000000 0.0000000 6.7287000 0.0975110 -0.1022750 0.1723250 0.0000000 0.0000000 2.6641300 0.2328480 -0.2377280 0.3753320 0.0000000 0.0000000 1.0786800 0.3531520 -0.3121140 0.2249470 0.0000000 0.0000000 0.4232090 0.3721860 -0.0423780 -0.7919070 0.0000000 0.0000000 0.1559990 0.2476720 0.5886580 -0.1044280 0.0000000 0.0000000 0.0518840 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0172600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 1.2483000 1.0000000 0.0000000 0.0000000 0.2836000 0.0000000 1.0000000 0.0000000 0.0826600 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.7251000 1.0000000 0.0000000 0.2114800 0.0000000 1.0000000 $ VANADIUM (21s,17p,9d,3f,2g) -> [8s,7p,5d,3f,2g] $ VANADIUM (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ VANADIUM (1s,1p,1d,1f,1g) a 23 $ S-TYPE FUNCTIONS 21 8 0 3321857.0000000 8.039999E-06 -4.503003E-06 9.320648E-07 -2.158944E-07 -4.093416E-07 -6.539963E-07 0.0000000 0.0000000 497435.6000000 6.251402E-05 -3.501295E-05 7.249306E-06 -1.678519E-06 -3.258956E-06 -5.267399E-06 0.0000000 0.0000000 113202.7000000 0.0003286553 -0.0001841339 3.811967E-05 -8.831213E-06 -1.65639E-05 -2.632092E-05 0.0000000 0.0000000 32063.3300000 0.001385697 -0.0007769216 0.0001610238 -3.727769E-05 -7.316689E-05 -0.0001188719 0.0000000 0.0000000 10459.6200000 0.005016217 -0.002819505 0.000585221 -0.0001356099 -0.0002512784 -0.0003968552 0.0000000 0.0000000 3775.5060000 0.01606931 -0.009087486 0.001897502 -0.0004392351 -0.0008732657 -0.00142746 0.0000000 0.0000000 1472.0400000 0.04574242 -0.02627134 0.005550909 -0.001286948 -0.002347654 -0.003679181 0.0000000 0.0000000 609.9331000 0.1128544 -0.06712726 0.01460584 -0.003382149 -0.00685315 -0.01130774 0.0000000 0.0000000 265.2634000 0.2254344 -0.1451130 0.03342974 -0.007765646 -0.0137642 -0.02128221 0.0000000 0.0000000 119.8607000 0.3140461 -0.2412483 0.06235722 -0.01447985 -0.03084679 -0.05218271 0.0000000 0.0000000 55.4489100 0.2267819 -0.2416314 0.07312435 -0.01715502 -0.02562208 -0.03599014 0.0000000 0.0000000 24.9837200 0.07334069 0.03067362 -0.01911472 0.004610101 -0.01005123 -0.03088759 0.0000000 0.0000000 11.8805600 0.1102474 0.4970415 -0.2817249 0.06827831 0.1795330 0.3380657 0.0000000 0.0000000 5.6603110 0.1131358 0.4958875 -0.4488151 0.1161368 0.1522400 0.2389559 0.0000000 0.0000000 2.4957030 0.01971295 0.09181868 0.09202696 -0.03277049 0.09483887 0.07609068 0.0000000 0.0000000 1.1778660 -0.0004719088 -0.005392514 0.7110117 -0.2280000 -1.0148760 -2.4081130 0.0000000 0.0000000 0.5200440 0.0001861606 0.000710238 0.4309274 -0.2793991 0.2308810 2.6335920 0.0000000 0.0000000 0.1159650 -6.208598E-05 -0.0006363128 0.02604589 0.2771165 2.1133210 -0.0535851 0.0000000 0.0000000 0.0589380 7.295314E-05 0.0005979932 -0.01101049 0.5852999 -1.2530480 -2.2301350 0.0000000 0.0000000 0.0269460 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0123200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 13273.2000000 0.0000430 -0.0000150 0.0000040 0.0000040 0.0000090 0.0000000 0.0000000 3142.1260000 0.0003840 -0.0001310 0.0000320 0.0000390 0.0000750 0.0000000 0.0000000 1020.5880000 0.0022100 -0.0007550 0.0001830 0.0002230 0.0004790 0.0000000 0.0000000 390.4407000 0.0096780 -0.0033250 0.0008020 0.0009960 0.0019060 0.0000000 0.0000000 165.5043000 0.0339360 -0.0118110 0.0028620 0.0034980 0.0075120 0.0000000 0.0000000 75.3200600 0.0959170 -0.0342560 0.0082870 0.0102960 0.0195300 0.0000000 0.0000000 36.0550300 0.2088530 -0.0773630 0.0188700 0.0229620 0.0504020 0.0000000 0.0000000 17.8043600 0.3306600 -0.1284560 0.0313070 0.0392080 0.0706850 0.0000000 0.0000000 9.0029290 0.3323120 -0.1350780 0.0336600 0.0399430 0.1087750 0.0000000 0.0000000 4.5945440 0.1581880 0.0208380 -0.0094790 -0.0071210 -0.0585360 0.0000000 0.0000000 2.2767600 0.0222520 0.3204990 -0.0923130 -0.1162250 -0.2154480 0.0000000 0.0000000 1.1011780 -0.0015650 0.4602600 -0.1489890 -0.1694960 -0.6773420 0.0000000 0.0000000 0.5186380 -0.0013530 0.2953460 -0.0836440 -0.1553740 0.5859790 0.0000000 0.0000000 0.2005650 -0.0002650 0.0490460 0.2493390 0.3950220 1.1291080 0.0000000 0.0000000 0.0812910 0.0000290 -0.0038240 0.5805150 0.6789080 -0.9740510 0.0000000 0.0000000 0.0317950 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0124400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 5 0 77.6115000 0.0035950 -0.0038180 0.0060010 0.0000000 0.0000000 22.9159000 0.0252100 -0.0267170 0.0422060 0.0000000 0.0000000 8.2795400 0.0947860 -0.1036900 0.1707510 0.0000000 0.0000000 3.3099300 0.2303630 -0.2476890 0.3855180 0.0000000 0.0000000 1.3586300 0.3528940 -0.3115230 0.2062040 0.0000000 0.0000000 0.5413500 0.3704140 -0.0228270 -0.7786690 0.0000000 0.0000000 0.2023560 0.2457180 0.5697260 -0.1147210 0.0000000 0.0000000 0.0675680 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0225600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 1.7749000 1.0000000 0.0000000 0.0000000 0.4125000 0.0000000 1.0000000 0.0000000 0.1311200 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 1.1368000 1.0000000 0.0000000 0.3846500 0.0000000 1.0000000 $ CHROMIUM (21s,17p,9d,3f,2g) -> [8s,7p,5d,3f,2g] $ CHROMIUM (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ CHROMIUM (1s,1p,1d,1f,1g) a 24 $ S-TYPE FUNCTIONS 21 8 0 6177194.0000000 4.128667E-06 -2.301772E-06 4.862957E-07 -1.102451E-07 2.179893E-07 -3.669010E-07 0.0000000 0.0000000 924929.5000000 3.210767E-05 -1.789536E-05 3.776645E-06 -8.530233E-07 1.61294E-06 -2.768353E-06 0.0000000 0.0000000 210486.5000000 0.0001688416 -9.416174E-05 1.990664E-05 -4.520358E-06 9.111842E-06 -1.521014E-05 0.0000000 0.0000000 59620.0500000 0.000712852 -0.0003975074 8.389164E-05 -1.891612E-05 3.500645E-05 -6.066288E-05 0.0000000 0.0000000 19450.7600000 0.002589325 -0.001447025 0.0003065706 -6.974344E-05 0.0001435315 -0.0002374959 0.0000000 0.0000000 7022.0560000 0.00837735 -0.004694622 0.0009944107 -0.0002237867 0.0004035896 -0.0007077071 0.0000000 0.0000000 2738.7630000 0.02441725 -0.01382387 0.002961959 -0.0006754503 0.001425177 -0.002334389 0.0000000 0.0000000 1135.8140000 0.06365135 -0.03674643 0.007969473 -0.001789346 0.003114009 -0.005555062 0.0000000 0.0000000 495.0923000 0.1427618 -0.08647185 0.01955017 -0.004477858 0.009814449 -0.01585142 0.0000000 0.0000000 224.7487000 0.2541275 -0.1696735 0.04085035 -0.009140144 0.01474698 -0.02737888 0.0000000 0.0000000 105.3836000 0.3009512 -0.2507089 0.06929003 -0.01610562 0.03911512 -0.06106975 0.0000000 0.0000000 50.1935900 0.1766513 -0.1961156 0.06146984 -0.0133487 0.009170888 -0.02887227 0.0000000 0.0000000 22.2495700 0.06936709 0.1457244 -0.06981302 0.01426027 0.01559878 0.006813714 0.0000000 0.0000000 10.9826500 0.1179579 0.5466706 -0.3517597 0.0893169 -0.2816844 0.4327670 0.0000000 0.0000000 5.3836650 0.08916187 0.3979434 -0.3828629 0.08885279 -0.006895261 0.1968410 0.0000000 0.0000000 2.3436850 0.0110363 0.05277007 0.2676401 -0.06368776 -0.1769781 -0.3764657 0.0000000 0.0000000 1.1052020 -0.0003546048 -0.004374537 0.7175950 -0.2783262 1.4430610 -2.0524730 0.0000000 0.0000000 0.4878480 0.0001057311 0.0003204035 0.3020814 -0.1830071 -1.0293180 2.9757410 0.0000000 0.0000000 0.0895990 1.11464E-05 -5.142077E-05 0.007749514 0.6790937 -1.3076670 -2.2117050 0.0000000 0.0000000 0.0334230 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0124700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 14454.2000000 0.0000440 -0.0000150 0.0000040 0.0000040 0.0000100 0.0000000 0.0000000 3421.6760000 0.0003890 -0.0001350 0.0000320 0.0000400 0.0000790 0.0000000 0.0000000 1111.3870000 0.0022410 -0.0007770 0.0001850 0.0002290 0.0005120 0.0000000 0.0000000 425.1918000 0.0098210 -0.0034270 0.0008100 0.0010190 0.0020230 0.0000000 0.0000000 180.2623000 0.0344710 -0.0121890 0.0029060 0.0036020 0.0080550 0.0000000 0.0000000 82.0611700 0.0974600 -0.0353880 0.0083910 0.0105500 0.0207720 0.0000000 0.0000000 39.2972600 0.2119850 -0.0799150 0.0191930 0.0237020 0.0542240 0.0000000 0.0000000 19.4195900 0.3339900 -0.1323350 0.0315640 0.0399880 0.0746850 0.0000000 0.0000000 9.8288990 0.3301370 -0.1354010 0.0334170 0.0404370 0.1159890 0.0000000 0.0000000 5.0168100 0.1522270 0.0320080 -0.0129070 -0.0120740 -0.0765840 0.0000000 0.0000000 2.4870910 0.0204250 0.3338490 -0.0936590 -0.1189390 -0.2439310 0.0000000 0.0000000 1.1987800 -0.0013600 0.4617730 -0.1499770 -0.1781000 -0.6801810 0.0000000 0.0000000 0.5586950 -0.0011950 0.2812900 -0.0672340 -0.1238650 0.7336640 0.0000000 0.0000000 0.2089240 -0.0001970 0.0418430 0.2707590 0.4297220 0.9991200 0.0000000 0.0000000 0.0846080 0.0000230 -0.0040020 0.5758070 0.6507860 -1.0170810 0.0000000 0.0000000 0.0332580 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0130700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 5 0 88.5768000 0.0036210 -0.0041220 0.0059540 0.0000000 0.0000000 26.2045000 0.0257660 -0.0293070 0.0425320 0.0000000 0.0000000 9.5174700 0.0975560 -0.1150620 0.1745110 0.0000000 0.0000000 3.8224800 0.2363120 -0.2730680 0.3939000 0.0000000 0.0000000 1.5751200 0.3582860 -0.3144230 0.1492790 0.0000000 0.0000000 0.6289280 0.3685430 0.0420970 -0.8102450 0.0000000 0.0000000 0.2344240 0.2354940 0.5914030 0.0109110 0.0000000 0.0000000 0.0768150 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0251700 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 2.2510000 1.0000000 0.0000000 0.0000000 0.5315000 0.0000000 1.0000000 0.0000000 0.1763600 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 1.4459000 1.0000000 0.0000000 0.5132900 0.0000000 1.0000000 $ MANGANESE (21s,17p,9d,3f,2g) -> [8s,7p,5d,3f,2g] $ MANGANESE (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ MANGANESE (1s,1p,1d,1f,1g) a 25 $ S-TYPE FUNCTIONS 21 8 0 3960805.0000000 8.242127E-06 -3.936095E-06 9.462709E-07 -2.095391E-07 -4.121231E-07 -6.805493E-07 0.0000000 0.0000000 593115.5000000 6.408587E-05 -3.060481E-05 7.360584E-06 -1.629439E-06 -3.282099E-06 -5.460516E-06 0.0000000 0.0000000 134976.8000000 0.0003369253 -0.0001609626 3.869935E-05 -8.570592E-06 -1.667433E-05 -2.743893E-05 0.0000000 0.0000000 38230.6700000 0.001420648 -0.0006792348 0.000163511 -3.619272E-05 -7.369999E-05 -0.0001230291 0.0000000 0.0000000 12471.5400000 0.005143683 -0.002466182 0.0005941775 -0.0001316146 -0.0002529495 -0.0004146269 0.0000000 0.0000000 4501.7430000 0.01648569 -0.007957629 0.001927737 -0.000426681 -0.0008801425 -0.001475151 0.0000000 0.0000000 1755.2120000 0.0469856 -0.02307248 0.005641731 -0.00125027 -0.002365482 -0.00385914 0.0000000 0.0000000 727.3039000 0.1162437 -0.05932956 0.01487848 -0.003294665 -0.006926354 -0.01168405 0.0000000 0.0000000 316.3678000 0.2335277 -0.1299451 0.03414783 -0.00758186 -0.01393851 -0.02257185 0.0000000 0.0000000 143.0098000 0.3292837 -0.2212352 0.06405794 -0.01422864 -0.0314384 -0.05399759 0.0000000 0.0000000 66.2180500 0.2440304 -0.2292550 0.07557659 -0.01693796 -0.02625749 -0.04032351 0.0000000 0.0000000 29.9189600 0.07219806 0.03580733 -0.0194607 0.004454298 -0.01048313 -0.02742526 0.0000000 0.0000000 14.3031800 0.07687806 0.5107602 -0.2957874 0.06867042 0.1856472 0.3485593 0.0000000 0.0000000 6.8394510 0.07852235 0.5008307 -0.4521170 0.1113335 0.1524839 0.2757818 0.0000000 0.0000000 3.0123740 0.01294109 0.0901183 0.1224531 -0.0390082 0.07411368 -0.05499812 0.0000000 0.0000000 1.4188080 -0.0003784873 -0.006909909 0.7169756 -0.2215755 -1.0180970 -2.2925450 0.0000000 0.0000000 0.6236240 -2.503203E-05 -0.0001912925 0.4092712 -0.2544359 0.2980372 2.6356440 0.0000000 0.0000000 0.1340980 -2.421517E-05 -0.0006032312 0.02221969 0.2865866 1.9719890 -0.3379113 0.0000000 0.0000000 0.0655480 3.462071E-05 0.0005621608 -0.009011202 0.5755741 -1.1792530 -1.7896070 0.0000000 0.0000000 0.0295840 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0133500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 16205.8600000 0.0000420 -0.0000150 0.0000030 0.0000040 0.0000100 0.0000000 0.0000000 3836.2740000 0.0003730 -0.0001290 0.0000300 0.0000400 0.0000810 0.0000000 0.0000000 1246.0480000 0.0021490 -0.0007480 0.0001720 0.0002260 0.0005120 0.0000000 0.0000000 476.7535000 0.0094450 -0.0033080 0.0007620 0.0010130 0.0020710 0.0000000 0.0000000 202.1895000 0.0332970 -0.0118110 0.0027260 0.0035750 0.0081110 0.0000000 0.0000000 92.0948700 0.0947590 -0.0345330 0.0079760 0.0106120 0.0215570 0.0000000 0.0000000 44.1472000 0.2081440 -0.0787850 0.0182870 0.0239020 0.0553160 0.0000000 0.0000000 21.8546800 0.3318050 -0.1321830 0.0307760 0.0412790 0.0802630 0.0000000 0.0000000 11.0859600 0.3331750 -0.1371950 0.0323730 0.0414750 0.1177300 0.0000000 0.0000000 5.6741080 0.1576010 0.0270750 -0.0099780 -0.0094580 -0.0650690 0.0000000 0.0000000 2.8231700 0.0214450 0.3288910 -0.0905290 -0.1236950 -0.2829140 0.0000000 0.0000000 1.3686210 -0.0025580 0.4572800 -0.1380040 -0.1743920 -0.6491660 0.0000000 0.0000000 0.6444310 -0.0020270 0.2889080 -0.0779650 -0.1291700 0.6925670 0.0000000 0.0000000 0.2483820 -0.0003600 0.0474330 0.2295600 0.4003480 0.9789900 0.0000000 0.0000000 0.0972550 0.0000340 -0.0035220 0.5761220 0.6696460 -0.9213570 0.0000000 0.0000000 0.0366330 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0138000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 5 0 100.6630000 0.0035790 -0.0034540 0.0056850 0.0000000 0.0000000 29.8336000 0.0258270 -0.0249250 0.0411710 0.0000000 0.0000000 10.8894000 0.0985590 -0.0976350 0.1693220 0.0000000 0.0000000 4.3935800 0.2383270 -0.2366920 0.3859120 0.0000000 0.0000000 1.8178200 0.3587070 -0.2923500 0.1869090 0.0000000 0.0000000 0.7278270 0.3650920 -0.0049730 -0.6781130 0.0000000 0.0000000 0.2712950 0.2337380 0.5065880 -0.2582600 0.0000000 0.0000000 0.0883090 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0287500 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 2.7382000 1.0000000 0.0000000 0.0000000 0.6543000 0.0000000 1.0000000 0.0000000 0.2226000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 1.7335000 1.0000000 0.0000000 0.6321300 0.0000000 1.0000000 $ IRON (21s,17p,9d,3f,2g) -> [8s,7p,5d,3f,2g] $ IRON (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ IRON (1s,1p,1d,1f,1g) a 26 $ S-TYPE FUNCTIONS 21 8 0 4316265.0000000 8.048803E-06 -4.155954E-06 9.532178E-07 -2.063008E-07 -4.009367E-07 -6.966042E-07 0.0000000 0.0000000 646342.4000000 6.258306E-05 -3.231401E-05 7.414605E-06 -1.604169E-06 -3.189255E-06 -5.568036E-06 0.0000000 0.0000000 147089.7000000 0.0003290239 -0.0001699525 3.898393E-05 -8.438437E-06 -1.623079E-05 -2.813684E-05 0.0000000 0.0000000 41661.5200000 0.001387355 -0.0007171369 0.0001647152 -3.563151E-05 -7.15792E-05 -0.0001252418 0.0000000 0.0000000 13590.7700000 0.005023256 -0.002603625 0.000598598 -0.0001295998 -0.0002463958 -0.0004260787 0.0000000 0.0000000 4905.7500000 0.0161014 -0.008399109 0.00194239 -0.0004201534 -0.0008544907 -0.00149906 0.0000000 0.0000000 1912.7460000 0.04590034 -0.02434109 0.005687237 -0.001231954 -0.002307593 -0.003979103 0.0000000 0.0000000 792.6043000 0.1136154 -0.06251948 0.01501329 -0.003248922 -0.006728292 -0.01185686 0.0000000 0.0000000 344.8065000 0.2283869 -0.1365929 0.03452455 -0.007493717 -0.01366165 -0.02346734 0.0000000 0.0000000 155.8999000 0.3221159 -0.2312707 0.0649582 -0.01410102 -0.0306224 -0.05467736 0.0000000 0.0000000 72.2309100 0.2383661 -0.2383734 0.07716194 -0.0169160 -0.02631137 -0.0439382 0.0000000 0.0000000 32.7250600 0.07404667 0.03123837 -0.01873411 0.004218996 -0.009760183 -0.02376103 0.0000000 0.0000000 15.6676200 0.09214197 0.5086818 -0.3009185 0.0683381 0.1801906 0.3435928 0.0000000 0.0000000 7.5034830 0.0933979 0.4987695 -0.4554661 0.1098201 0.1529634 0.3192960 0.0000000 0.0000000 3.3122230 0.01573965 0.09033552 0.1286463 -0.04009005 0.05505413 -0.1343207 0.0000000 0.0000000 1.5584710 -0.0004186682 -0.006005337 0.7183316 -0.2174739 -0.9551364 -2.2210200 0.0000000 0.0000000 0.6839140 5.376318E-05 0.0002312454 0.4051743 -0.2465135 0.2586813 2.5711420 0.0000000 0.0000000 0.1467570 -3.816654E-05 -0.000564368 0.02168227 0.2731435 1.8340490 -0.2292404 0.0000000 0.0000000 0.0705830 4.319603E-05 0.000499226 -0.008343566 0.5748321 -0.9333240 -1.8324520 0.0000000 0.0000000 0.0314490 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0140100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 17745.6900000 0.0000410 -0.0000150 0.0000030 0.0000050 0.0000110 0.0000000 0.0000000 4200.7210000 0.0003690 -0.0001300 0.0000290 0.0000420 0.0000870 0.0000000 0.0000000 1364.4290000 0.0021290 -0.0007510 0.0001650 0.0002410 0.0005410 0.0000000 0.0000000 522.0806000 0.0093690 -0.0033290 0.0007340 0.0010850 0.0022260 0.0000000 0.0000000 221.4595000 0.0330970 -0.0119120 0.0026260 0.0038310 0.0085930 0.0000000 0.0000000 100.9096000 0.0944310 -0.0349330 0.0077250 0.0114230 0.0233390 0.0000000 0.0000000 48.4011500 0.2080770 -0.0799890 0.0177330 0.0257920 0.0588440 0.0000000 0.0000000 23.9853600 0.3323330 -0.1346360 0.0300550 0.0448180 0.0882890 0.0000000 0.0000000 12.1825000 0.3329870 -0.1385980 0.0310940 0.0445980 0.1231920 0.0000000 0.0000000 6.2422980 0.1568430 0.0302780 -0.0100480 -0.0111770 -0.0631860 0.0000000 0.0000000 3.1109440 0.0215490 0.3332160 -0.0883060 -0.1381340 -0.3549020 0.0000000 0.0000000 1.5099580 -0.0020950 0.4561530 -0.1298240 -0.1882850 -0.6197080 0.0000000 0.0000000 0.7108450 -0.0017390 0.2850510 -0.0769370 -0.1073990 0.8129860 0.0000000 0.0000000 0.2731900 -0.0003000 0.0461440 0.2126610 0.4448630 0.8191180 0.0000000 0.0000000 0.1042330 0.0000290 -0.0032490 0.5730610 0.6402390 -0.9017050 0.0000000 0.0000000 0.0382910 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0140700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 5 0 113.3440000 0.0035300 -0.0038900 0.0056950 0.0000000 0.0000000 33.6414000 0.0257840 -0.0284420 0.0420010 0.0000000 0.0000000 12.3310000 0.0991190 -0.1124290 0.1735400 0.0000000 0.0000000 4.9947800 0.2390730 -0.2742570 0.4101570 0.0000000 0.0000000 2.0728000 0.3571990 -0.3155460 0.1132520 0.0000000 0.0000000 0.8307530 0.3621880 0.0571090 -0.7696800 0.0000000 0.0000000 0.3091780 0.2364610 0.5636040 -0.0316430 0.0000000 0.0000000 0.1001300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0324300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 3.2758000 1.0000000 0.0000000 0.0000000 0.7920000 0.0000000 1.0000000 0.0000000 0.2749000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 2.0897000 1.0000000 0.0000000 0.7871600 0.0000000 1.0000000 $ COBALT (21s,17p,9d,3f,2g) -> [8s,7p,5d,3f,2g] $ COBALT (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ COBALT (1s,1p,1d,1f,1g) a 27 $ S-TYPE FUNCTIONS 21 8 0 4675675.0000000 7.979026E-06 -4.20024E-06 9.592692E-07 -2.02884E-07 -3.863053E-07 -7.174687E-07 0.0000000 0.0000000 700161.5000000 6.204071E-05 -3.265831E-05 7.461851E-06 -1.57758E-06 -3.068788E-06 -5.722157E-06 0.0000000 0.0000000 159337.3000000 0.0003261735 -0.0001717644 3.923137E-05 -8.298813E-06 -1.564826E-05 -2.90097E-05 0.0000000 0.0000000 45130.4600000 0.00137536 -0.0007247853 0.0001657706 -3.504154E-05 -6.883588E-05 -0.0001285845 0.0000000 0.0000000 14722.3800000 0.004979997 -0.002631462 0.0006024335 -0.0001274655 -0.0002377367 -0.0004398434 0.0000000 0.0000000 5314.2220000 0.01596434 -0.008489272 0.001955217 -0.0004132695 -0.0008213173 -0.001537586 0.0000000 0.0000000 2072.0180000 0.04552086 -0.02460619 0.005726326 -0.001212261 -0.00222963 -0.004116022 0.0000000 0.0000000 858.6188000 0.1127385 -0.06322059 0.01512984 -0.003199318 -0.006467841 -0.01215514 0.0000000 0.0000000 373.5497000 0.2268262 -0.1381957 0.03483973 -0.007390972 -0.01325463 -0.02440441 0.0000000 0.0000000 168.9229000 0.3203074 -0.2340680 0.06570351 -0.01393649 -0.02946686 -0.05601976 0.0000000 0.0000000 78.2963900 0.2374021 -0.2415002 0.07831503 -0.01678575 -0.02599066 -0.04689449 0.0000000 0.0000000 35.5212300 0.07477686 0.03035312 -0.01877037 0.004149856 -0.008499807 -0.02168828 0.0000000 0.0000000 17.0414400 0.09581872 0.5101341 -0.3062663 0.06797646 0.1727316 0.3477789 0.0000000 0.0000000 8.1730000 0.09649911 0.4974939 -0.4566429 0.1075807 0.1512189 0.3500597 0.0000000 0.0000000 3.6103180 0.01623362 0.08970746 0.1378169 -0.04166022 0.03554509 -0.2048551 0.0000000 0.0000000 1.6970470 -0.0004535497 -0.005941034 0.7193676 -0.2128044 -0.8829353 -2.1632110 0.0000000 0.0000000 0.7435320 5.113519E-05 0.0002175362 0.3992579 -0.2381360 0.2143530 2.5240910 0.0000000 0.0000000 0.1583440 -4.174508E-05 -0.0005480155 0.02079933 0.2650788 1.7118650 -0.1590011 0.0000000 0.0000000 0.0750360 4.027577E-05 0.0004525804 -0.007820663 0.5722774 -0.7140037 -1.8252670 0.0000000 0.0000000 0.0330910 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0145900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 19267.7800000 0.0000410 -0.0000150 -0.0000030 0.0000050 0.0000110 0.0000000 0.0000000 4560.9860000 0.0003690 -0.0001310 -0.0000290 0.0000450 0.0000920 0.0000000 0.0000000 1481.4360000 0.0021280 -0.0007580 -0.0001670 0.0002550 0.0005630 0.0000000 0.0000000 566.8671000 0.0093720 -0.0033630 -0.0007420 0.0011440 0.0023540 0.0000000 0.0000000 240.4910000 0.0331550 -0.0120540 -0.0026620 0.0040610 0.0089760 0.0000000 0.0000000 109.6105000 0.0947520 -0.0354240 -0.0078410 0.0120950 0.0248100 0.0000000 0.0000000 52.5949100 0.2090930 -0.0812870 -0.0180510 0.0274760 0.0615800 0.0000000 0.0000000 26.0836100 0.3337220 -0.1369080 -0.0305800 0.0475570 0.0947770 0.0000000 0.0000000 13.2614300 0.3322080 -0.1390190 -0.0313120 0.0473020 0.1266930 0.0000000 0.0000000 6.7997780 0.1546130 0.0354680 0.0113110 -0.0144180 -0.0637540 0.0000000 0.0000000 3.3934140 0.0209020 0.3384980 0.0899900 -0.1500620 -0.4185660 0.0000000 0.0000000 1.6487660 -0.0020240 0.4544330 0.1307330 -0.1990920 -0.5678650 0.0000000 0.0000000 0.7762820 -0.0016970 0.2797930 0.0718080 -0.0797830 0.8754060 0.0000000 0.0000000 0.2980030 -0.0002800 0.0447760 -0.2216580 0.4590350 0.7182630 0.0000000 0.0000000 0.1136180 0.0000260 -0.0031510 -0.5710250 0.6174950 -0.8747220 0.0000000 0.0000000 0.0416240 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0152500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 5 0 126.2640000 0.0035100 -0.0040670 0.0054700 0.0000000 0.0000000 37.5226000 0.0258840 -0.0300530 0.0408130 0.0000000 0.0000000 13.8021000 0.1000580 -0.1196200 0.1689780 0.0000000 0.0000000 5.6092700 0.2405470 -0.2915130 0.4093590 0.0000000 0.0000000 2.3336900 0.3568430 -0.3180480 0.0863160 0.0000000 0.0000000 0.9364150 0.3595790 0.0916980 -0.7690080 0.0000000 0.0000000 0.3482370 0.2366290 0.5608230 0.0033550 0.0000000 0.0000000 0.1123530 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0362500 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 3.8137000 1.0000000 0.0000000 0.0000000 0.9309000 0.0000000 1.0000000 0.0000000 0.3271500 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 2.4709000 1.0000000 0.0000000 0.9581400 0.0000000 1.0000000 $ NICKEL (21s,17p,9d,3f,2g) -> [8s,7p,5d,3f,2g] $ NICKEL (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ NICKEL (1s,1p,1d,1f,1g) a 28 $ S-TYPE FUNCTIONS 21 8 0 5045991.0000000 8.208996E-06 -3.657849E-06 9.594149E-07 -2.013753E-07 -3.924245E-07 -7.303633E-07 0.0000000 0.0000000 755614.2000000 6.382884E-05 -2.844094E-05 7.462614E-06 -1.565832E-06 -3.113909E-06 -5.802013E-06 0.0000000 0.0000000 171956.8000000 0.00033558 -0.0001495928 3.923843E-05 -8.237182E-06 -1.590447E-05 -2.958547E-05 0.0000000 0.0000000 48704.7900000 0.001415075 -0.0006313009 0.0001657868 -3.478105E-05 -6.981394E-05 -0.0001301499 0.0000000 0.0000000 15888.4100000 0.005124444 -0.002293052 0.0006025905 -0.0001265265 -0.0002417848 -0.0004495332 0.0000000 0.0000000 5735.1230000 0.01643256 -0.007405123 0.001955662 -0.0004102589 -0.0008326195 -0.001553314 0.0000000 0.0000000 2236.1370000 0.04689398 -0.02152032 0.005730391 -0.001203834 -0.002270294 -0.004219884 0.0000000 0.0000000 926.6468000 0.1163534 -0.05560974 0.01514756 -0.003179062 -0.006557427 -0.01225419 0.0000000 0.0000000 403.1743000 0.2350511 -0.1230176 0.03493499 -0.007353828 -0.01354288 -0.02519707 0.0000000 0.0000000 182.3476000 0.3350184 -0.2130104 0.06598072 -0.01389022 -0.02989768 -0.05621717 0.0000000 0.0000000 84.5488500 0.2534779 -0.2265837 0.07893083 -0.01677875 -0.02693106 -0.05022229 0.0000000 0.0000000 38.3963400 0.07300901 0.03546796 -0.01906249 0.004163378 -0.007827693 -0.01677412 0.0000000 0.0000000 18.4585900 0.06184244 0.5181697 -0.3095921 0.06814703 0.1741667 0.3388021 0.0000000 0.0000000 8.8635480 0.06302956 0.5025630 -0.4558610 0.1061029 0.1595468 0.3984975 0.0000000 0.0000000 3.9162270 0.01008063 0.08955674 0.1482931 -0.0433998 0.0199555 -0.3032053 0.0000000 0.0000000 1.8388700 -0.0002244528 -0.007031311 0.7134039 -0.2094950 -0.8897000 -2.0796190 0.0000000 0.0000000 0.8043620 -5.932767E-05 -0.0004339167 0.3976063 -0.2310271 0.2486892 2.5005420 0.0000000 0.0000000 0.1697970 -1.158562E-05 -0.0005831711 0.02295523 0.2590532 1.6130120 -0.2169002 0.0000000 0.0000000 0.0793060 8.115109E-06 0.0004228788 -0.009151758 0.5691426 -0.5990277 -1.7091780 0.0000000 0.0000000 0.0346770 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0151600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 21027.9200000 0.0000410 -0.0000150 0.0000030 0.0000060 0.0000110 0.0000000 0.0000000 4977.5600000 0.0003630 -0.0001290 0.0000260 0.0000530 0.0000950 0.0000000 0.0000000 1616.7400000 0.0020970 -0.0007490 0.0001520 0.0003050 0.0005800 0.0000000 0.0000000 618.6718000 0.0092500 -0.0033280 0.0006780 0.0013640 0.0024510 0.0000000 0.0000000 262.5183000 0.0327960 -0.0119470 0.0024270 0.0048760 0.0092820 0.0000000 0.0000000 119.6907000 0.0940040 -0.0352420 0.0072010 0.0145030 0.0260090 0.0000000 0.0000000 57.4658500 0.2082800 -0.0812040 0.0165780 0.0332960 0.0640960 0.0000000 0.0000000 28.5282900 0.3336540 -0.1374930 0.0283920 0.0574820 0.1007100 0.0000000 0.0000000 14.5214800 0.3329040 -0.1392260 0.0285990 0.0587020 0.1325390 0.0000000 0.0000000 7.4538500 0.1553720 0.0360160 -0.0101320 -0.0199040 -0.0650890 0.0000000 0.0000000 3.7235530 0.0208590 0.3391280 -0.0829120 -0.1946950 -0.4897560 0.0000000 0.0000000 1.8098130 -0.0024400 0.4504720 -0.1159980 -0.2396130 -0.4984550 0.0000000 0.0000000 0.8513360 -0.0019980 0.2817830 -0.0727950 -0.0022320 0.9663570 0.0000000 0.0000000 0.3248140 -0.0003380 0.0478980 0.1956400 0.5214350 0.5283790 0.0000000 0.0000000 0.1195220 0.0000350 -0.0029870 0.5670990 0.5455400 -0.8676760 0.0000000 0.0000000 0.0423660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0150200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 5 0 140.2527000 0.0033760 -0.0034950 0.0050520 0.0000000 0.0000000 41.7261000 0.0251410 -0.0260150 0.0380870 0.0000000 0.0000000 15.3981000 0.0977460 -0.1038760 0.1561130 0.0000000 0.0000000 6.2771000 0.2347090 -0.2520700 0.3861560 0.0000000 0.0000000 2.6185000 0.3469450 -0.2945800 0.1756050 0.0000000 0.0000000 1.0526000 0.3510680 0.0011520 -0.6268070 0.0000000 0.0000000 0.3916000 0.2502550 0.4385890 -0.3427750 0.0000000 0.0000000 0.1262000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0406700 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 4.5046000 1.0000000 0.0000000 0.0000000 1.1286000 0.0000000 1.0000000 0.0000000 0.4083000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 2.9771000 1.0000000 0.0000000 1.2048500 0.0000000 1.0000000 $ COPPER (21s,17p,9d,3f,2g) -> [8s,7p,5d,3f,2g] $ COPPER (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ COPPER (1s,1p,1d,1f,1g) a 29 $ S-TYPE FUNCTIONS 21 8 0 5430321.0000000 7.801026E-06 -4.404706E-06 9.704682E-07 -1.959354E-07 -3.532229E-07 -7.508267E-07 0.0000000 0.0000000 813166.5000000 6.065666E-05 -3.424801E-05 7.549245E-06 -1.523472E-06 -2.798812E-06 -5.972018E-06 0.0000000 0.0000000 185054.4000000 0.0003188964 -0.0001801238 3.968892E-05 -8.014808E-06 -1.432517E-05 -3.039682E-05 0.0000000 0.0000000 52414.6600000 0.001344687 -0.0007600455 0.00016772 -3.383992E-05 -6.270946E-05 -0.0001340405 0.0000000 0.0000000 17098.6800000 0.00486905 -0.002759348 0.0006095101 -0.0001231191 -0.000217949 -0.0004615778 0.0000000 0.0000000 6171.9940000 0.01561013 -0.00890097 0.001978846 -0.0003992085 -0.0007474316 -0.001601064 0.0000000 0.0000000 2406.4810000 0.04452077 -0.02579378 0.005798049 -0.0011719 -0.002049271 -0.004330942 0.0000000 0.0000000 997.2584000 0.1103111 -0.06623861 0.01534158 -0.003096141 -0.005885203 -0.01265434 0.0000000 0.0000000 433.9289000 0.2220342 -0.1445927 0.03540484 -0.007171993 -0.01226885 -0.02586864 0.0000000 0.0000000 196.2869000 0.3133739 -0.2440110 0.06702098 -0.01356621 -0.02683147 -0.05835428 0.0000000 0.0000000 91.0428000 0.2315121 -0.2504837 0.08026945 -0.01643989 -0.02479261 -0.05132322 0.0000000 0.0000000 41.3842500 0.0764092 0.02852577 -0.01927231 0.004107628 -0.005984746 -0.01908953 0.0000000 0.0000000 19.9327800 0.1103818 0.5115874 -0.3160129 0.06693964 0.1557124 0.3586116 0.0000000 0.0000000 9.5818910 0.1094372 0.4928061 -0.4573162 0.1028221 0.1436683 0.3885818 0.0000000 0.0000000 4.2345160 0.01836311 0.08788437 0.1550841 -0.04422945 0.008374103 -0.3057106 0.0000000 0.0000000 1.9858140 -0.0006043084 -0.005820281 0.7202872 -0.2031191 -0.7460711 -2.0698960 0.0000000 0.0000000 0.8670830 5.092245E-05 0.0002013508 0.3885122 -0.2230022 0.1244367 2.4317740 0.0000000 0.0000000 0.1813390 -5.54073E-05 -0.0005182553 0.01924326 0.2517975 1.5101100 -0.02121974 0.0000000 0.0000000 0.0836570 3.969482E-05 0.0003731503 -0.007103807 0.5650091 -0.3477122 -1.8202510 0.0000000 0.0000000 0.0362670 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0157200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 22760.5700000 0.0000400 -0.0000150 0.0000030 0.0000050 0.0000110 0.0000000 0.0000000 5387.6790000 0.0003610 -0.0001310 0.0000250 0.0000490 0.0000960 0.0000000 0.0000000 1749.9450000 0.0020830 -0.0007550 0.0001470 0.0002780 0.0005900 0.0000000 0.0000000 669.6653000 0.0091970 -0.0033590 0.0006560 0.0012530 0.0024840 0.0000000 0.0000000 284.1948000 0.0326600 -0.0120810 0.0023510 0.0044470 0.0094630 0.0000000 0.0000000 129.6077000 0.0937950 -0.0357030 0.0070040 0.0133700 0.0264530 0.0000000 0.0000000 62.2541500 0.2082740 -0.0825020 0.0161310 0.0304690 0.0656890 0.0000000 0.0000000 30.9296400 0.3339930 -0.1398900 0.0277700 0.0534470 0.1027320 0.0000000 0.0000000 15.7582700 0.3324930 -0.1407290 0.0275670 0.0526390 0.1370410 0.0000000 0.0000000 8.0942110 0.1547280 0.0387660 -0.0101150 -0.0168810 -0.0709610 0.0000000 0.0000000 4.0469210 0.0212710 0.3426950 -0.0810090 -0.1794480 -0.5047080 0.0000000 0.0000000 1.9678690 -0.0016900 0.4523100 -0.1104090 -0.2095880 -0.4780560 0.0000000 0.0000000 0.9252950 -0.0015160 0.2770540 -0.0717320 -0.0396330 0.9428920 0.0000000 0.0000000 0.3529920 -0.0002420 0.0438850 0.1879300 0.5021300 0.5446990 0.0000000 0.0000000 0.1273070 0.0000230 -0.0028020 0.5646290 0.5811110 -0.8327660 0.0000000 0.0000000 0.0443560 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0154500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 5 0 173.8970000 0.0027000 -0.0033630 0.0041330 0.0000000 0.0000000 51.8869000 0.0209090 -0.0260790 0.0330850 0.0000000 0.0000000 19.3419000 0.0844080 -0.1082310 0.1383360 0.0000000 0.0000000 7.9757200 0.2139990 -0.2822170 0.3901660 0.0000000 0.0000000 3.3982300 0.3359800 -0.3471900 0.1698420 0.0000000 0.0000000 1.4093200 0.3573010 0.0267110 -0.6830180 0.0000000 0.0000000 0.5488580 0.2645780 0.4920470 -0.2657970 0.0000000 0.0000000 0.1901990 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0659100 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 5.0821000 1.0000000 0.0000000 0.0000000 1.2797000 0.0000000 1.0000000 0.0000000 0.4617200 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 3.4835000 1.0000000 0.0000000 1.4597900 0.0000000 1.0000000 $ ZINC (21s,17p,9d,3f,2g) -> [8s,7p,5d,3f,2g] $ ZINC (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ ZINC (1s,1p,1d,1f,1g) a 30 $ S-TYPE FUNCTIONS 21 8 0 5820021.0000000 8.549241E-06 -2.640069E-06 9.967103E-07 1.995818E-07 -5.43591E-07 8.040791E-07 0.0000000 0.0000000 871523.4000000 6.64741E-05 -2.05272E-05 7.754163E-06 1.552973E-06 -4.336894E-06 6.282936E-06 0.0000000 0.0000000 198335.0000000 0.0003494962 -0.0001079859 4.076019E-05 8.161259E-06 -2.197572E-05 3.281868E-05 0.0000000 0.0000000 56176.3100000 0.001473832 -0.0004558577 0.0001722811 3.450747E-05 -9.747392E-05 0.0001398858 0.0000000 0.0000000 18325.8200000 0.00533833 -0.001657758 0.000625937 0.0001253275 -0.0003331615 0.0005029836 0.0000000 0.0000000 6614.9550000 0.01712708 -0.005368492 0.002032855 0.000407299 -0.001166192 0.001655419 0.0000000 0.0000000 2579.1990000 0.04894085 -0.01571249 0.005954646 0.001192734 -0.003119308 0.004778677 0.0000000 0.0000000 1068.8490000 0.1217934 -0.04122558 0.0157664 0.00316314 -0.009239504 0.01292479 0.0000000 0.0000000 465.1045000 0.2476589 -0.09406459 0.03637638 0.007303942 -0.01855471 0.02925831 0.0000000 0.0000000 210.4130000 0.3582431 -0.1719954 0.06892343 0.01391279 -0.04281189 0.05791816 0.0000000 0.0000000 97.6162900 0.2798174 -0.1958523 0.08238093 0.0167062 -0.03571095 0.06640681 0.0000000 0.0000000 44.3802000 0.06857491 0.04532907 -0.0201136 -0.004035586 -0.0163835 -0.007388966 0.0000000 0.0000000 21.4230800 -0.001311092 0.5244442 -0.3252526 -0.06968861 0.2644664 -0.3329989 0.0000000 0.0000000 10.3089100 0.001914001 0.5006142 -0.4602899 -0.1030105 0.2086588 -0.5917865 0.0000000 0.0000000 4.5536450 -0.000875922 0.08945527 0.1635546 0.04471442 -0.01774382 0.9011406 0.0000000 0.0000000 2.1328210 0.0003740096 -0.002146262 0.7297118 0.2150027 -1.3538730 1.5859510 0.0000000 0.0000000 0.9296970 -0.0001401399 0.002112113 0.3769751 0.2220163 0.8182926 -2.7880080 0.0000000 0.0000000 0.1921470 4.757132E-05 -0.000413398 0.01433224 -0.3114776 1.6950360 2.0718840 0.0000000 0.0000000 0.0875950 -3.642711E-05 0.0003209752 -0.00667121 -0.5693429 -1.3886560 -0.6012025 0.0000000 0.0000000 0.0377020 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0162300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 24411.9800000 0.0000410 -0.0000150 0.0000030 0.0000050 0.0000120 0.0000000 0.0000000 5778.5180000 0.0003610 -0.0001350 0.0000250 0.0000420 0.0000960 0.0000000 0.0000000 1876.8620000 0.0020880 -0.0007820 0.0001440 0.0002380 0.0005940 0.0000000 0.0000000 718.2361000 0.0092210 -0.0034780 0.0006450 0.0010880 0.0024840 0.0000000 0.0000000 304.8327000 0.0327730 -0.0125200 0.0023110 0.0038210 0.0095370 0.0000000 0.0000000 139.0453000 0.0941790 -0.0370160 0.0068980 0.0116440 0.0264790 0.0000000 0.0000000 66.8041700 0.2091320 -0.0855590 0.0158820 0.0261670 0.0663660 0.0000000 0.0000000 33.2069900 0.3345690 -0.1447180 0.0273500 0.0467500 0.1024580 0.0000000 0.0000000 16.9281600 0.3303590 -0.1434420 0.0266210 0.0433090 0.1386830 0.0000000 0.0000000 8.6962290 0.1523470 0.0435950 -0.0108580 -0.0134290 -0.0801400 0.0000000 0.0000000 4.3505100 0.0229840 0.3488880 -0.0798530 -0.1538970 -0.4960690 0.0000000 0.0000000 2.1165230 0.0016070 0.4538650 -0.1061270 -0.1674130 -0.4635100 0.0000000 0.0000000 0.9953870 0.0004680 0.2685940 -0.0688830 -0.0849950 0.8745310 0.0000000 0.0000000 0.3781120 0.0000660 0.0388680 0.1843850 0.4508130 0.6297900 0.0000000 0.0000000 0.1345790 -0.0000020 -0.0024920 0.5617880 0.6408690 -0.8116860 0.0000000 0.0000000 0.0462820 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0159200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 5 0 205.6177000 0.0023420 0.0032790 0.0037400 0.0000000 0.0000000 61.4498100 0.0186060 0.0261760 0.0318250 0.0000000 0.0000000 23.0568900 0.0771020 0.1113670 0.1322290 0.0000000 0.0000000 9.5777390 0.2020260 0.3045810 0.4245500 0.0000000 0.0000000 4.1337340 0.3294540 0.3862990 0.1203700 0.0000000 0.0000000 1.7475180 0.3609760 -0.0583750 -0.7626610 0.0000000 0.0000000 0.6995600 0.2716570 -0.5388760 -0.1128230 0.0000000 0.0000000 0.2516080 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0904900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 5.7922000 1.0000000 0.0000000 0.0000000 1.4851000 0.0000000 1.0000000 0.0000000 0.5486100 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 4.1144000 1.0000000 0.0000000 1.8293300 0.0000000 1.0000000 $ GALLIUM (21s,14p,10d,2f) -> [7s,6p,4d,2f] $ GALLIUM (20s,13p,9d,1f) -> [6s,5p,3d,1f] $ GALLIUM (1s,1p,1d,1f) a 31 $ S-TYPE FUNCTIONS 21 7 0 6558157.3000000 0.0000080 -0.0000025 0.0000009 0.0000002 0.0000000 0.0000000 0.0000000 982025.3400000 0.0000622 -0.0000193 0.0000074 0.0000017 0.0000000 0.0000000 0.0000000 223467.6900000 0.0003270 -0.0001014 0.0000387 0.0000090 0.0000000 0.0000000 0.0000000 63288.2910000 0.0013794 -0.0004281 0.0001633 0.0000380 0.0000000 0.0000000 0.0000000 20642.9400000 0.0049993 -0.0015582 0.0005944 0.0001382 0.0000000 0.0000000 0.0000000 7450.5224000 0.0160605 -0.0050469 0.0019292 0.0004489 0.0000000 0.0000000 0.0000000 2905.0744000 0.0460124 -0.0148056 0.0056689 0.0013188 0.0000000 0.0000000 0.0000000 1204.2100000 0.1152224 -0.0389482 0.0150282 0.0035016 0.0000000 0.0000000 0.0000000 524.3045400 0.2373921 -0.0896832 0.0350222 0.0081673 0.0000000 0.0000000 0.0000000 237.4656300 0.3531989 -0.1664076 0.0671135 0.0157338 0.0000000 0.0000000 0.0000000 110.5786600 0.2915500 -0.2004010 0.0850156 0.0200284 0.0000000 0.0000000 0.0000000 51.3746240 0.0812129 0.0114943 -0.0047212 -0.0010136 0.0000000 0.0000000 0.0000000 24.4408460 0.0007655 0.4958134 -0.3016737 -0.0750162 0.0000000 0.0000000 0.0000000 11.7685910 0.0016124 0.5295550 -0.4825489 -0.1257980 0.0000000 0.0000000 0.0000000 5.3421190 -0.0007530 0.1110185 0.0891695 0.0300857 0.0000000 0.0000000 0.0000000 2.4950360 0.0003134 -0.0007000 0.7287830 0.2488169 0.0000000 0.0000000 0.0000000 1.0987730 -0.0001306 0.0022283 0.4288542 0.2843706 0.0000000 0.0000000 0.0000000 0.2601800 0.0000513 -0.0005014 0.0207249 -0.3110594 0.0000000 0.0000000 0.0000000 0.1270790 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0544080 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0143980 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 6 0 8050.1674000 0.0003169 -0.0001203 0.0000200 0.0000000 0.0000000 0.0000000 1907.5361000 0.0027648 -0.0010492 0.0001689 0.0000000 0.0000000 0.0000000 618.6274600 0.0151204 -0.0058102 0.0009668 0.0000000 0.0000000 0.0000000 235.3241700 0.0599583 -0.0234345 0.0037797 0.0000000 0.0000000 0.0000000 98.8996460 0.1733120 -0.0708270 0.0119082 0.0000000 0.0000000 0.0000000 44.2482150 0.3410820 -0.1465511 0.0235693 0.0000000 0.0000000 0.0000000 20.6174290 0.3896967 -0.1769660 0.0314233 0.0000000 0.0000000 0.0000000 9.7805160 0.1839817 0.0363821 -0.0136188 0.0000000 0.0000000 0.0000000 4.4412380 0.0218896 0.4232848 -0.0734003 0.0000000 0.0000000 0.0000000 1.9640450 0.0011608 0.4952586 -0.1264785 0.0000000 0.0000000 0.0000000 0.8335780 0.0002735 0.1797428 0.0158579 0.0000000 0.0000000 0.0000000 0.1934450 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0561170 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0193000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 10 4 0 244.1474100 0.0020270 0.0000000 0.0000000 0.0000000 73.0675950 0.0165088 0.0000000 0.0000000 0.0000000 27.5920810 0.0703823 0.0000000 0.0000000 0.0000000 11.5465180 0.1911430 0.0000000 0.0000000 0.0000000 5.0486280 0.3254092 0.0000000 0.0000000 0.0000000 2.1784650 0.3678199 0.0000000 0.0000000 0.0000000 0.9002530 0.2744685 0.0000000 0.0000000 0.0000000 0.3373270 0.0000000 1.0000000 0.0000000 0.0000000 0.1169000 0.0000000 0.0000000 1.0000000 0.0000000 0.0387000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.2881000 1.0000000 0.0000000 0.0980000 0.0000000 1.0000000 $ GERMANIUM (21s,14p,10d,2f) -> [7s,6p,4d,2f] $ GERMANIUM (20s,13p,9d,1f) -> [6s,5p,3d,1f] $ GERMANIUM (1s,1p,1d,1f) a 32 $ S-TYPE FUNCTIONS 21 7 0 7447966.8000000 0.0000074 -0.0000023 0.0000009 -0.0000002 0.0000000 0.0000000 0.0000000 1115318.2000000 0.0000574 -0.0000179 0.0000069 -0.0000018 0.0000000 0.0000000 0.0000000 253842.6500000 0.0003019 -0.0000940 0.0000362 -0.0000093 0.0000000 0.0000000 0.0000000 71915.2850000 0.0012733 -0.0003964 0.0001528 -0.0000392 0.0000000 0.0000000 0.0000000 23470.1810000 0.0046123 -0.0014425 0.0005563 -0.0001426 0.0000000 0.0000000 0.0000000 8477.4918000 0.0148214 -0.0046675 0.0018018 -0.0004621 0.0000000 0.0000000 0.0000000 3308.3908000 0.0425536 -0.0137153 0.0053085 -0.0013614 0.0000000 0.0000000 0.0000000 1372.6054000 0.1073055 -0.0361797 0.0140877 -0.0036175 0.0000000 0.0000000 0.0000000 598.2200700 0.2245178 -0.0841679 0.0332013 -0.0085359 0.0000000 0.0000000 0.0000000 271.3860200 0.3453131 -0.1588767 0.0644621 -0.0166506 0.0000000 0.0000000 0.0000000 126.9779500 0.3045261 -0.2033807 0.0869540 -0.0225911 0.0000000 0.0000000 0.0000000 60.2220650 0.0990670 -0.0251410 0.0118745 -0.0032147 0.0000000 0.0000000 0.0000000 28.0185820 0.0041317 0.4575152 -0.2724534 0.0744998 0.0000000 0.0000000 0.0000000 13.5175220 0.0010347 0.5571939 -0.5001452 0.1440333 0.0000000 0.0000000 0.0000000 6.3094060 -0.0004856 0.1397055 0.0108554 -0.0080815 0.0000000 0.0000000 0.0000000 2.9045340 0.0001805 0.0022645 0.7216469 -0.2704163 0.0000000 0.0000000 0.0000000 1.2875560 -0.0000912 0.0020927 0.4805213 -0.3401607 0.0000000 0.0000000 0.0000000 0.1677320 -0.0000266 0.0003281 -0.0102297 0.6190657 0.0000000 0.0000000 0.0000000 0.3365520 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0710690 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0273700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 6 0 6979.5982000 0.0004569 -0.0001756 0.0000348 0.0000000 0.0000000 0.0000000 1654.1648000 0.0039562 -0.0015305 0.0003014 0.0000000 0.0000000 0.0000000 536.0286500 0.0213143 -0.0083145 0.0016487 0.0000000 0.0000000 0.0000000 203.5371300 0.0818715 -0.0328718 0.0064982 0.0000000 0.0000000 0.0000000 85.2375300 0.2223732 -0.0931661 0.0186383 0.0000000 0.0000000 0.0000000 37.8419620 0.3905659 -0.1755542 0.0350613 0.0000000 0.0000000 0.0000000 17.4065120 0.3560415 -0.1467912 0.0295892 0.0000000 0.0000000 0.0000000 7.8814920 0.1070312 0.1862934 -0.0472458 0.0000000 0.0000000 0.0000000 3.5332130 0.0036941 0.5264862 -0.1249847 0.0000000 0.0000000 0.0000000 1.5214730 0.0019219 0.3970859 -0.1210801 0.0000000 0.0000000 0.0000000 0.1990930 0.0001917 -0.0033478 0.5754730 0.0000000 0.0000000 0.0000000 0.5627040 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0670310 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0213680 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 10 4 0 282.2391100 0.0018275 0.0000000 0.0000000 0.0000000 84.5499570 0.0151545 0.0000000 0.0000000 0.0000000 32.0736560 0.0660460 0.0000000 0.0000000 0.0000000 13.4974950 0.1839470 0.0000000 0.0000000 0.0000000 5.9585500 0.3227872 0.0000000 0.0000000 0.0000000 2.6107880 0.3729459 0.0000000 0.0000000 0.0000000 1.1039870 0.2751730 0.0000000 0.0000000 0.0000000 0.4240490 0.0000000 1.0000000 0.0000000 0.0000000 0.1520000 0.0000000 0.0000000 1.0000000 0.0000000 0.0528000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.3458000 1.0000000 0.0000000 0.1323000 0.0000000 1.0000000 $ ARSENIC (21s,14p,10d,2f) -> [7s,6p,4d,2f] $ ARSENIC (20s,13p,9d,1f) -> [6s,5p,3d,1f] $ ARSENIC (1s,1p,1d,1f) a 33 $ S-TYPE FUNCTIONS 21 7 0 8482339.6000000 0.0000068 -0.0000021 0.0000008 -0.0000002 0.0000000 0.0000000 0.0000000 1270150.9000000 0.0000528 -0.0000165 0.0000064 -0.0000018 0.0000000 0.0000000 0.0000000 289056.9600000 0.0002774 -0.0000866 0.0000337 -0.0000093 0.0000000 0.0000000 0.0000000 81879.8490000 0.0011702 -0.0003653 0.0001423 -0.0000392 0.0000000 0.0000000 0.0000000 26716.5640000 0.0042421 -0.0013309 0.0005188 -0.0001429 0.0000000 0.0000000 0.0000000 9647.5842000 0.0136557 -0.0043093 0.0016802 -0.0004629 0.0000000 0.0000000 0.0000000 3764.1195000 0.0393399 -0.0126973 0.0049677 -0.0013687 0.0000000 0.0000000 0.0000000 1561.5656000 0.0999292 -0.0336160 0.0132115 -0.0036440 0.0000000 0.0000000 0.0000000 680.8146700 0.2121555 -0.0789470 0.0314566 -0.0086884 0.0000000 0.0000000 0.0000000 309.2411900 0.3363866 -0.1514458 0.0618446 -0.0171556 0.0000000 0.0000000 0.0000000 145.2573600 0.3155125 -0.2042014 0.0879566 -0.0245514 0.0000000 0.0000000 0.0000000 69.7390480 0.1181312 -0.0557367 0.0257548 -0.0073524 0.0000000 0.0000000 0.0000000 31.7703250 0.0080076 0.4187607 -0.2455459 0.0720087 0.0000000 0.0000000 0.0000000 15.3917570 0.0003293 0.5758762 -0.5090572 0.1576254 0.0000000 0.0000000 0.0000000 7.3415260 -0.0001523 0.1696842 -0.0555749 0.0142074 0.0000000 0.0000000 0.0000000 3.3237160 0.0000247 0.0060662 0.7083796 -0.2851593 0.0000000 0.0000000 0.0000000 1.4858670 -0.0000366 0.0017605 0.5231027 -0.3885347 0.0000000 0.0000000 0.0000000 0.2115000 -0.0000094 0.0002316 -0.0111176 0.6495337 0.0000000 0.0000000 0.0000000 0.4210860 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0889740 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0334070 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 6 0 7423.8614000 0.0004599 -0.0001794 0.0000399 0.0000000 0.0000000 0.0000000 1759.5166000 0.0039823 -0.0015641 0.0003488 0.0000000 0.0000000 0.0000000 570.2291600 0.0214638 -0.0084999 0.0018953 0.0000000 0.0000000 0.0000000 216.5799700 0.0824617 -0.0336327 0.0075325 0.0000000 0.0000000 0.0000000 90.7342520 0.2238902 -0.0953228 0.0214315 0.0000000 0.0000000 0.0000000 40.3087910 0.3920704 -0.1793626 0.0407807 0.0000000 0.0000000 0.0000000 18.5555020 0.3542238 -0.1466682 0.0325249 0.0000000 0.0000000 0.0000000 8.3965430 0.1048641 0.1966016 -0.0548832 0.0000000 0.0000000 0.0000000 3.7673670 0.0033664 0.5372088 -0.1511922 0.0000000 0.0000000 0.0000000 1.6297010 0.0018495 0.3857361 -0.1249011 0.0000000 0.0000000 0.0000000 0.2225030 0.0002297 -0.0054006 0.5855293 0.0000000 0.0000000 0.0000000 0.5682630 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0804050 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0267990 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 10 4 0 321.0196100 0.0016840 0.0000000 0.0000000 0.0000000 96.2493050 0.0141586 0.0000000 0.0000000 0.0000000 36.6449630 0.0628259 0.0000000 0.0000000 0.0000000 15.4939650 0.1784993 0.0000000 0.0000000 0.0000000 6.8911380 0.3209452 0.0000000 0.0000000 0.0000000 3.0548310 0.3773515 0.0000000 0.0000000 0.0000000 1.3142410 0.2750231 0.0000000 0.0000000 0.0000000 0.5134300 0.0000000 1.0000000 0.0000000 0.0000000 0.1877000 0.0000000 0.0000000 1.0000000 0.0000000 0.0700000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.4158000 1.0000000 0.0000000 0.1690000 0.0000000 1.0000000 $ SELENIUM (21s,14p,10d,2f) -> [7s,6p,4d,2f] $ SELENIUM (20s,13p,9d,1f) -> [6s,5p,3d,1f] $ SELENIUM (1s,1p,1d,1f) a 34 $ S-TYPE FUNCTIONS 21 7 0 9563600.0000000 0.0000063 -0.0000020 0.0000008 -0.0000002 0.0000000 0.0000000 0.0000000 1432100.0000000 0.0000489 -0.0000153 0.0000060 -0.0000018 0.0000000 0.0000000 0.0000000 325910.0000000 0.0002574 -0.0000806 0.0000317 -0.0000093 0.0000000 0.0000000 0.0000000 92312.0000000 0.0010861 -0.0003400 0.0001337 -0.0000391 0.0000000 0.0000000 0.0000000 30116.0000000 0.0039399 -0.0012397 0.0004883 -0.0001428 0.0000000 0.0000000 0.0000000 10872.0000000 0.0127041 -0.0040177 0.0015821 -0.0004627 0.0000000 0.0000000 0.0000000 4240.1000000 0.0367156 -0.0118672 0.0046919 -0.0013722 0.0000000 0.0000000 0.0000000 1758.4000000 0.0938672 -0.0315340 0.0125098 -0.0036628 0.0000000 0.0000000 0.0000000 766.5900000 0.2017677 -0.0746439 0.0300381 -0.0088061 0.0000000 0.0000000 0.0000000 348.4300000 0.3280540 -0.1452179 0.0597271 -0.0175867 0.0000000 0.0000000 0.0000000 164.0300000 0.3238334 -0.2038441 0.0884696 -0.0262074 0.0000000 0.0000000 0.0000000 79.1420000 0.1352337 -0.0788711 0.0363920 -0.0109964 0.0000000 0.0000000 0.0000000 35.5240000 0.0117075 0.3845825 -0.2235329 0.0695697 0.0000000 0.0000000 0.0000000 17.3050000 -0.0003436 0.5865270 -0.5122462 0.1683947 0.0000000 0.0000000 0.0000000 8.3784000 0.0001665 0.1973591 -0.1084224 0.0346160 0.0000000 0.0000000 0.0000000 3.7405000 -0.0001188 0.0100102 0.6936372 -0.2978702 0.0000000 0.0000000 0.0000000 1.6890000 0.0000204 0.0013160 0.5558711 -0.4322569 0.0000000 0.0000000 0.0000000 0.2552000 0.0000083 0.0001109 -0.0113832 0.6757217 0.0000000 0.0000000 0.0000000 0.5092700 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1065100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0392010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 6 0 8004.3000000 0.0004505 -0.0001783 0.0000430 0.0000000 0.0000000 0.0000000 1896.9000000 0.0039049 -0.0015554 0.0003770 0.0000000 0.0000000 0.0000000 614.7100000 0.0210901 -0.0084727 0.0020465 0.0000000 0.0000000 0.0000000 233.5000000 0.0812920 -0.0336245 0.0081899 0.0000000 0.0000000 0.0000000 97.8560000 0.2217841 -0.0958267 0.0233356 0.0000000 0.0000000 0.0000000 43.5140000 0.3907270 -0.1813907 0.0449813 0.0000000 0.0000000 0.0000000 20.0630000 0.3559714 -0.1503152 0.0357475 0.0000000 0.0000000 0.0000000 9.1127000 0.1073272 0.1948263 -0.0586866 0.0000000 0.0000000 0.0000000 4.1063000 0.0036985 0.5415554 -0.1709573 0.0000000 0.0000000 0.0000000 1.7949000 0.0018032 0.3837299 -0.1293583 0.0000000 0.0000000 0.0000000 0.2461500 0.0002208 -0.0050132 0.5778069 0.0000000 0.0000000 0.0000000 0.6243200 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0889170 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0302510 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 10 4 0 361.8500000 0.0015655 0.0000000 0.0000000 0.0000000 108.5500000 0.0133262 0.0000000 0.0000000 0.0000000 41.4330000 0.0601527 0.0000000 0.0000000 0.0000000 17.5790000 0.1740293 0.0000000 0.0000000 0.0000000 7.8627000 0.3195690 0.0000000 0.0000000 0.0000000 3.5180000 0.3812029 0.0000000 0.0000000 0.0000000 1.5348000 0.2746086 0.0000000 0.0000000 0.0000000 0.6081300 0.0000000 1.0000000 0.0000000 0.0000000 0.2220000 0.0000000 0.0000000 1.0000000 0.0000000 0.0837000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.4620000 1.0000000 0.0000000 0.1880000 0.0000000 1.0000000 $ BROMINE (21s,14p,10d,2f) -> [7s,6p,4d,2f] $ BROMINE (20s,13p,9d,1f) -> [6s,5p,3d,1f] $ BROMINE (1s,1p,1d,1f) a 35 $ S-TYPE FUNCTIONS 21 7 0 10639000.0000000 0.0000059 -0.0000019 0.0000007 -0.0000002 0.0000000 0.0000000 0.0000000 1593400.0000000 0.0000461 -0.0000145 0.0000057 -0.0000018 0.0000000 0.0000000 0.0000000 362610.0000000 0.0002422 -0.0000761 0.0000303 -0.0000093 0.0000000 0.0000000 0.0000000 102700.0000000 0.0010226 -0.0003210 0.0001275 -0.0000391 0.0000000 0.0000000 0.0000000 33501.0000000 0.0037113 -0.0011709 0.0004659 -0.0001428 0.0000000 0.0000000 0.0000000 12093.0000000 0.0119785 -0.0037968 0.0015096 -0.0004628 0.0000000 0.0000000 0.0000000 4715.9000000 0.0346927 -0.0112307 0.0044852 -0.0013750 0.0000000 0.0000000 0.0000000 1955.6000000 0.0891239 -0.0299277 0.0119835 -0.0036784 0.0000000 0.0000000 0.0000000 852.6100000 0.1934557 -0.0712706 0.0289571 -0.0088981 0.0000000 0.0000000 0.0000000 387.6700000 0.3209019 -0.1403136 0.0581566 -0.0179529 0.0000000 0.0000000 0.0000000 182.6800000 0.3299233 -0.2030763 0.0888133 -0.0275732 0.0000000 0.0000000 0.0000000 88.2450000 0.1494121 -0.0960985 0.0445244 -0.0140953 0.0000000 0.0000000 0.0000000 39.2630000 0.0149938 0.3558086 -0.2060387 0.0672561 0.0000000 0.0000000 0.0000000 19.2340000 -0.0009165 0.5921792 -0.5127017 0.1766928 0.0000000 0.0000000 0.0000000 9.4057000 0.0004380 0.2215977 -0.1509349 0.0528861 0.0000000 0.0000000 0.0000000 4.1601000 -0.0002398 0.0137648 0.6789203 -0.3075955 0.0000000 0.0000000 0.0000000 1.8995000 0.0000736 0.0008395 0.5817697 -0.4700658 0.0000000 0.0000000 0.0000000 0.3011400 0.0000239 -0.0000085 -0.0111825 0.6980341 0.0000000 0.0000000 0.0000000 0.6047200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1251500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0455930 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 6 0 8676.5000000 0.0004357 -0.0001748 0.0000451 0.0000000 0.0000000 0.0000000 2055.9000000 0.0037815 -0.0015263 0.0003964 0.0000000 0.0000000 0.0000000 666.2300000 0.0204782 -0.0083399 0.0021555 0.0000000 0.0000000 0.0000000 253.1000000 0.0792834 -0.0332203 0.0086720 0.0000000 0.0000000 0.0000000 106.1200000 0.2178473 -0.0954180 0.0248680 0.0000000 0.0000000 0.0000000 47.2420000 0.3878585 -0.1824026 0.0485472 0.0000000 0.0000000 0.0000000 21.8250000 0.3594350 -0.1558308 0.0396156 0.0000000 0.0000000 0.0000000 9.9684000 0.1121995 0.1867899 -0.0605749 0.0000000 0.0000000 0.0000000 4.5171000 0.0043874 0.5427733 -0.1871699 0.0000000 0.0000000 0.0000000 1.9982000 0.0017809 0.3873309 -0.1377757 0.0000000 0.0000000 0.0000000 0.2814500 0.0002122 -0.0043784 0.5760896 0.0000000 0.0000000 0.0000000 0.7098800 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1020400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0351420 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 10 4 0 403.8300000 0.0014732 0.0000000 0.0000000 0.0000000 121.1700000 0.0126725 0.0000000 0.0000000 0.0000000 46.3450000 0.0580451 0.0000000 0.0000000 0.0000000 19.7210000 0.1705103 0.0000000 0.0000000 0.0000000 8.8624000 0.3185958 0.0000000 0.0000000 0.0000000 3.9962000 0.3845023 0.0000000 0.0000000 0.0000000 1.7636000 0.2737737 0.0000000 0.0000000 0.0000000 0.7061900 0.0000000 1.0000000 0.0000000 0.0000000 0.2639000 0.0000000 0.0000000 1.0000000 0.0000000 0.1047000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.5515000 1.0000000 0.0000000 0.2580000 0.0000000 1.0000000 $ KRYPTON (21s,14p,10d,2f) -> [7s,6p,4d,2f] $ KRYPTON (20s,13p,9d,1f) -> [6s,5p,3d,1f] $ KRYPTON (1s,1p,1d,1f) a 36 $ S-TYPE FUNCTIONS 21 7 0 11718113.0000000 0.0000056 -0.0000018 0.0000007 -0.0000002 0.0000000 0.0000000 0.0000000 1754604.4000000 0.0000438 -0.0000138 0.0000055 -0.0000018 0.0000000 0.0000000 0.0000000 399281.3200000 0.0002305 -0.0000726 0.0000292 -0.0000093 0.0000000 0.0000000 0.0000000 113084.5700000 0.0009733 -0.0003063 0.0001228 -0.0000391 0.0000000 0.0000000 0.0000000 36885.9250000 0.0035337 -0.0011177 0.0004491 -0.0001430 0.0000000 0.0000000 0.0000000 13312.2090000 0.0114167 -0.0036270 0.0014557 -0.0004639 0.0000000 0.0000000 0.0000000 5189.9883000 0.0331325 -0.0107432 0.0043319 -0.0013801 0.0000000 0.0000000 0.0000000 2151.6597000 0.0854464 -0.0286992 0.0115965 -0.0037001 0.0000000 0.0000000 0.0000000 938.0325100 0.1869124 -0.0686679 0.0281585 -0.0089921 0.0000000 0.0000000 0.0000000 426.5573200 0.3149761 -0.1365155 0.0570339 -0.0183021 0.0000000 0.0000000 0.0000000 201.0666000 0.3343334 -0.2022458 0.0891356 -0.0287559 0.0000000 0.0000000 0.0000000 97.0976050 0.1608810 -0.1090569 0.0508421 -0.0167324 0.0000000 0.0000000 0.0000000 42.9987240 0.0178435 0.3318768 -0.1921030 0.0652410 0.0000000 0.0000000 0.0000000 21.1770750 -0.0013793 0.5948250 -0.5121040 0.1834422 0.0000000 0.0000000 0.0000000 10.4267520 0.0006572 0.2424825 -0.1857007 0.0692183 0.0000000 0.0000000 0.0000000 4.5850080 -0.0003388 0.0172241 0.6654119 -0.3156034 0.0000000 0.0000000 0.0000000 2.1176030 0.0001211 0.0003685 0.6023925 -0.5031501 0.0000000 0.0000000 0.0000000 0.3492250 0.0000366 -0.0001153 -0.0106453 0.7171571 0.0000000 0.0000000 0.0000000 0.7070570 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1448210 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0519850 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 6 0 9366.3090000 0.0004231 -0.0001720 0.0000466 0.0000000 0.0000000 0.0000000 2219.5543000 0.0036743 -0.0015025 0.0004100 0.0000000 0.0000000 0.0000000 719.4528800 0.0199312 -0.0082269 0.0022328 0.0000000 0.0000000 0.0000000 273.4644600 0.0774222 -0.0328566 0.0090144 0.0000000 0.0000000 0.0000000 114.7522500 0.2140386 -0.0950135 0.0260115 0.0000000 0.0000000 0.0000000 51.1555690 0.3848556 -0.1833106 0.0513340 0.0000000 0.0000000 0.0000000 23.6826760 0.3626340 -0.1612161 0.0430929 0.0000000 0.0000000 0.0000000 10.8754840 0.1170818 0.1787644 -0.0615040 0.0000000 0.0000000 0.0000000 4.9551310 0.0051210 0.5437885 -0.2003424 0.0000000 0.0000000 0.0000000 2.2172670 0.0017539 0.3913387 -0.1457364 0.0000000 0.0000000 0.0000000 0.3221540 0.0002199 -0.0047800 0.5764581 0.0000000 0.0000000 0.0000000 0.8064100 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1176190 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0400330 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 10 4 0 446.1613300 0.0014044 0.0000000 0.0000000 0.0000000 133.9647700 0.0121715 0.0000000 0.0000000 0.0000000 51.3459070 0.0563919 0.0000000 0.0000000 0.0000000 21.9169060 0.1676430 0.0000000 0.0000000 0.0000000 9.8937250 0.3177368 0.0000000 0.0000000 0.0000000 4.4925270 0.3872647 0.0000000 0.0000000 0.0000000 2.0022930 0.2728006 0.0000000 0.0000000 0.0000000 0.8084090 0.0000000 1.0000000 0.0000000 0.0000000 0.3006000 0.0000000 0.0000000 1.0000000 0.0000000 0.1257000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.6622000 1.0000000 0.0000000 0.3280000 0.0000000 1.0000000 ergo-3.5/basis/MIDI0000664000175000017500000000773212743400275011023 00000000000000$ Basis =MIDI (Huzinaga) $ S. HUZINAGA, ED.,J. ANDZELM, M. KLOBUKOWSKI, E. RADZIO-ANDZELM, Y. SAKAI, $ H. TATEWAKI IN GAUSSIAN BASIS SETS FOR MOLECULAR CALCULATIONS: $ ELSEVIER, AMSTERDAM, 1984. a 1 $ HYDROGEN (3S) -> [2S] $ s functions 3 2 0 4.501800000 0.7045200000E-01 0. 0.6814440000 0.4078260000 0. 0.1513980000 0. 1.000000000 a 6 $ CARBON (6S,3P) -> [3S,2P] $ s functions 6 3 0 153.1722600 0.7074000000E-01 0. 0. 23.07303000 0.3953800000 0. 0. 4.923290000 0.6633110000 0. 0. 5.725570000 0. -0.8138000000E-01 0. 0.4550400000 0. 0.5748530000 0. 0.1470700000 0. 0. 1.000000000 $ p functions 3 2 0 4.251310000 0.1099310000 0. 0.8632700000 0.4627130000 0. 0.2013500000 0. 1.000000000 a 7 $ NITROGEN (6S,3P) -> [3S,2P] $ s functions 6 3 0 218.3644900 0.6787000000E-01 0. 0. 32.59889000 0.3902020000 0. 0. 6.917390000 0.6700830000 0. 0. 8.326380000 0. -0.8089000000E-01 0. 0.6591900000 0. 0.5672020000 0. 0.2100900000 0. 0. 1.000000000 $ p functions 3 2 0 6.120350000 0.1159190000 0. 1.259380000 0.4699580000 0. 0.2914500000 0. 1.000000000 a 8 $ OXYGEN (6S,3P) -> [3S,2P] $ s functions 6 3 0 281.8665800 0.6906000000E-01 0. 0. 42.41600000 0.3931590000 0. 0. 9.095620000 0.6656690000 0. 0. 11.46603000 0. -0.8082000000E-01 0. 0.8878600000 0. 0.5820900000 0. 0.2788000000 0. 0. 1.000000000 $ p functions 3 2 0 8.047240000 0.1242710000 0. 1.668420000 0.4765940000 0. 0.3725100000 0. 1.000000000 a 25 $ MANGANESE $ "DZC-SET", Tatewaki and Huzinaga, J. Chem. Phys. 71 (1979) $ s functions 12 4 0 3033.75289 0.06392 0.00000 0.00000 0.00000 459.27073 0.37715 0.00000 0.00000 0.00000 100.50759 0.68070 0.00000 0.00000 0.00000 133.55106 0.00000 -0.10291 0.00000 0.00000 12.46163 0.00000 0.68075 0.00000 0.00000 5.09372 0.00000 0.38568 0.00000 0.00000 9.57015 0.00000 0.00000 -0.23103 0.00000 1.61627 0.00000 0.00000 0.66648 0.00000 0.65687 0.00000 0.00000 0.46839 0.00000 0.76299 0.00000 0.00000 0.00000 -0.13814 0.09375 0.00000 0.00000 0.00000 0.64954 0.03511 0.00000 0.00000 0.00000 0.44293 $ p functions 6 2 0 168.91009 0.09132 0.00000 38.45745 0.44327 0.00000 10.86468 0.62333 0.00000 28.03416 0.00000 -0.02765 2.76349 0.00000 0.49343 0.86118 0.00000 0.60479 $ d functions 4 1 0 20.91417 0.06386 5.50330 0.28238 1.66386 0.51899 0.46308 0.44330 ergo-3.5/basis/AhlrichsVDZ0000775000175000017500000012501712743400275012422 00000000000000$Ahlrichs VDZ $ $ REFERENCE $ Elements References -------- $ ---------- H - Kr: A. Schafer, H. Horn and R. Ahlrichs, J. Chem. Phys $ . 97, 2571 (1992). a 1 $ HYDROGEN (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 13.0107010 0.01968216 0.00000000 1.9622572 0.13796524 0.00000000 0.4445380 0.47831935 0.00000000 0.1219496 0.00000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 38.3549367 0.02381429 0.00000000 5.7689081 0.15490907 0.00000000 1.2399407 0.46998097 0.00000000 0.2975782 0.00000000 1.00000000 a 3 $ LITHIUM (7s) -> [3s] $ S-TYPE FUNCTIONS 7 3 0 266.2778552 0.00649202 0.00000000 0.00000000 40.0697834 0.04774786 0.00000000 0.00000000 9.0559944 0.20268796 0.00000000 0.00000000 2.4503009 0.48606575 0.00000000 0.00000000 0.7220957 0.43626978 0.00000000 0.00000000 0.0528109 0.00000000 1.00000000 0.00000000 0.0209609 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (7s) -> [3s] $ S-TYPE FUNCTIONS 7 3 0 515.1861613 0.00556153 0.00000000 0.00000000 77.5110376 0.04119007 0.00000000 0.00000000 17.5524817 0.17913378 0.00000000 0.00000000 4.8028941 0.44736716 0.00000000 0.00000000 1.4516214 0.42009582 0.00000000 0.00000000 0.1328163 0.00000000 1.00000000 0.00000000 0.0458374 0.00000000 0.00000000 1.00000000 a 5 $ BORON (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 839.3183009 -0.00559292 0.00000000 0.00000000 126.2646484 -0.04156552 0.00000000 0.00000000 28.6206008 -0.18299817 0.00000000 0.00000000 7.8793723 -0.46540392 0.00000000 0.00000000 2.4088857 -0.44173885 0.00000000 0.00000000 0.2510511 0.00000000 1.00000000 0.00000000 0.0836489 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 6.0332224 -0.03560367 0.00000000 1.2499158 -0.19895776 0.00000000 0.3387168 -0.50850203 0.00000000 0.0964156 0.00000000 1.00000000 a 6 $ CARBON (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 1238.4016938 0.00545688 0.00000000 0.00000000 186.2900499 0.04063841 0.00000000 0.00000000 42.2511763 0.18025594 0.00000000 0.00000000 11.6765579 0.46315122 0.00000000 0.00000000 3.5930506 0.44087173 0.00000000 0.00000000 0.4024515 0.00000000 1.00000000 0.00000000 0.1309018 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 9.4680971 0.03838787 0.00000000 2.0103545 0.21117025 0.00000000 0.5477100 0.51328172 0.00000000 0.1526861 0.00000000 1.00000000 a 7 $ NITROGEN (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 1712.8415853 -0.00539341 0.00000000 0.00000000 257.6481268 -0.04022158 0.00000000 0.00000000 58.4582459 -0.17931145 0.00000000 0.00000000 16.1983679 -0.46376318 0.00000000 0.00000000 5.0052601 -0.44171423 0.00000000 0.00000000 0.5873186 0.00000000 1.00000000 0.00000000 0.1876459 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 13.5714702 -0.04007240 0.00000000 2.9257373 -0.21807045 0.00000000 0.7992775 -0.51294466 0.00000000 0.2195435 0.00000000 1.00000000 a 8 $ OXYGEN (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 2266.1767785 -0.00534318 0.00000000 0.00000000 340.8701019 -0.03989004 0.00000000 0.00000000 77.3631352 -0.17853912 0.00000000 0.00000000 21.4796449 -0.46427685 0.00000000 0.00000000 6.6589433 -0.44309745 0.00000000 0.00000000 0.8097598 0.00000000 1.00000000 0.00000000 0.2553077 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 17.7215043 0.04339457 0.00000000 3.8635505 0.23094121 0.00000000 1.0480921 0.51375311 0.00000000 0.2764154 0.00000000 1.00000000 a 9 $ FLUORINE (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 2894.8325990 -0.00534083 0.00000000 0.00000000 435.4193912 -0.03990426 0.00000000 0.00000000 98.8433289 -0.17912768 0.00000000 0.00000000 27.4851980 -0.46758091 0.00000000 0.00000000 8.5405498 -0.44653131 0.00000000 0.00000000 1.0654578 0.00000000 1.00000000 0.00000000 0.3324735 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 22.6966339 -0.04521287 0.00000000 4.9872339 -0.23754317 0.00000000 1.3491614 -0.51287354 0.00000000 0.3482988 0.00000000 1.00000000 a 10 $ NEON (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 3598.9736625 -0.00532593 0.00000000 0.00000000 541.3207311 -0.03981742 0.00000000 0.00000000 122.9045006 -0.17914358 0.00000000 0.00000000 34.2166170 -0.46893583 0.00000000 0.00000000 10.6505841 -0.44782538 0.00000000 0.00000000 1.3545954 0.00000000 1.00000000 0.00000000 0.4191936 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 28.4240538 -0.04603194 0.00000000 6.2822511 -0.23993183 0.00000000 1.6978715 -0.50871725 0.00000000 0.4330070 0.00000000 1.00000000 a 11 $ SODIUM (10s,5p) -> [4s,1p] $ S-TYPE FUNCTIONS 10 4 0 4098.2003908 -0.00585359 0.00000000 0.00000000 0.00000000 616.4937403 -0.04364716 0.00000000 0.00000000 0.00000000 139.9664400 -0.19431466 0.00000000 0.00000000 0.00000000 39.0734411 -0.48685066 0.00000000 0.00000000 0.00000000 11.9298472 -0.41881705 0.00000000 0.00000000 0.00000000 20.6599660 0.00000000 0.08594969 0.00000000 0.00000000 1.9838861 0.00000000 -0.56359144 0.00000000 0.00000000 0.6483632 0.00000000 -0.51954009 0.00000000 0.00000000 0.0524440 0.00000000 0.00000000 1.00000000 0.00000000 0.0280482 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 1 0 75.4018620 0.01543536 17.2748190 0.09973829 5.1842347 0.31209594 1.6601212 0.49295675 0.5123253 0.32420398 a 12 $ MAGNESIUM (10s,5p) -> [4s,1p] $ S-TYPE FUNCTIONS 10 4 0 4953.8339196 -0.00577790 0.00000000 0.00000000 0.00000000 745.1804415 -0.04312476 0.00000000 0.00000000 0.00000000 169.2160497 -0.19268217 0.00000000 0.00000000 0.00000000 47.3006720 -0.48641439 0.00000000 0.00000000 0.00000000 14.4613370 -0.42550894 0.00000000 0.00000000 0.00000000 24.7681748 0.00000000 0.08795697 0.00000000 0.00000000 2.4940945 0.00000000 -0.55165058 0.00000000 0.00000000 0.8780758 0.00000000 -0.53443295 0.00000000 0.00000000 0.0872128 0.00000000 0.00000000 1.00000000 0.00000000 0.0335993 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 1 0 98.0530105 -0.01448056 22.5869323 -0.09549575 6.8391510 -0.30787673 2.2332844 -0.49936293 0.7160660 -0.31503476 a 13 $ ALUMINUM (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 5887.5727030 0.00134833 0.00000000 0.00000000 0.00000000 885.6122600 0.01007158 0.00000000 0.00000000 0.00000000 201.1360490 0.04513245 0.00000000 0.00000000 0.00000000 56.2849747 0.11461268 0.00000000 0.00000000 0.00000000 17.2295512 0.10159609 0.00000000 0.00000000 0.00000000 29.3402499 0.00000000 0.06934745 0.00000000 0.00000000 3.0439630 0.00000000 -0.42528118 0.00000000 0.00000000 1.1285540 0.00000000 -0.41449832 0.00000000 0.00000000 0.1423418 0.00000000 0.00000000 1.00000000 0.00000000 0.0544002 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 145.1191881 0.00639634 0.00000000 0.00000000 33.7178948 0.04418936 0.00000000 0.00000000 10.3698631 0.15581576 0.00000000 0.00000000 3.5135616 0.28635287 0.00000000 0.00000000 1.1980050 0.22921423 0.00000000 0.00000000 0.2658301 0.00000000 1.00000000 0.00000000 0.0710034 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 6903.7118686 0.00133740 0.00000000 0.00000000 0.00000000 1038.4346419 0.00999665 0.00000000 0.00000000 0.00000000 235.8758148 0.04491017 0.00000000 0.00000000 0.00000000 66.0693852 0.11463639 0.00000000 0.00000000 0.00000000 20.2479458 0.10280064 0.00000000 0.00000000 0.00000000 34.3534817 0.00000000 0.07083729 0.00000000 0.00000000 3.6370788 0.00000000 -0.43028836 0.00000000 0.00000000 1.4002049 0.00000000 -0.41382775 0.00000000 0.00000000 0.2048441 0.00000000 0.00000000 1.00000000 0.00000000 0.0779941 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 179.8390737 0.00619167 0.00000000 0.00000000 41.9072588 0.04339943 0.00000000 0.00000000 12.9552944 0.15632019 0.00000000 0.00000000 4.4383267 0.29419997 0.00000000 0.00000000 1.5462248 0.23536824 0.00000000 0.00000000 0.3560761 0.00000000 1.00000000 0.00000000 0.1000851 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 8002.4795106 0.00575035 0.00000000 0.00000000 0.00000000 1203.6813590 0.04300763 0.00000000 0.00000000 0.00000000 273.4422703 0.19363986 0.00000000 0.00000000 0.00000000 76.6555415 0.49651693 0.00000000 0.00000000 0.00000000 23.5169274 0.44983262 0.00000000 0.00000000 0.00000000 39.7916834 0.00000000 0.09518813 0.00000000 0.00000000 4.2770343 0.00000000 -0.57649840 0.00000000 0.00000000 1.6940257 0.00000000 -0.54239584 0.00000000 0.00000000 0.2756767 0.00000000 0.00000000 1.00000000 0.00000000 0.1049559 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 219.5075582 0.00921006 0.00000000 0.00000000 51.2741550 0.06540977 0.00000000 0.00000000 15.9215959 0.24033730 0.00000000 0.00000000 5.5069913 0.46318322 0.00000000 0.00000000 1.9537719 0.37392563 0.00000000 0.00000000 0.4780340 0.00000000 1.00000000 0.00000000 0.1365795 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 9184.9303010 -0.00222944 0.00000000 0.00000000 0.00000000 1381.5105503 -0.01668303 0.00000000 0.00000000 0.00000000 313.8714758 -0.07526244 0.00000000 0.00000000 0.00000000 88.0538706 -0.19376827 0.00000000 0.00000000 0.00000000 27.0399149 -0.17718021 0.00000000 0.00000000 0.00000000 45.6487313 0.00000000 -0.10736063 0.00000000 0.00000000 4.9664522 0.00000000 0.65066293 0.00000000 0.00000000 2.0116242 0.00000000 0.59712155 0.00000000 0.00000000 0.3566108 0.00000000 0.00000000 1.00000000 0.00000000 0.1350722 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 261.9823344 -0.00927299 0.00000000 0.00000000 61.3068947 -0.06654767 0.00000000 0.00000000 19.1037299 -0.24828596 0.00000000 0.00000000 6.6567720 -0.48703847 0.00000000 0.00000000 2.3959635 -0.39337850 0.00000000 0.00000000 0.6177616 0.00000000 1.00000000 0.00000000 0.1699338 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 10449.8275660 0.00197084 0.00000000 0.00000000 0.00000000 1571.7365221 0.01475473 0.00000000 0.00000000 0.00000000 357.1206552 0.06667911 0.00000000 0.00000000 0.00000000 100.2518594 0.17228924 0.00000000 0.00000000 0.00000000 30.8127276 0.15883786 0.00000000 0.00000000 0.00000000 51.9237894 0.00000000 -0.10009299 0.00000000 0.00000000 5.7045761 0.00000000 0.60841753 0.00000000 0.00000000 2.3508377 0.00000000 0.54352153 0.00000000 0.00000000 0.4460512 0.00000000 0.00000000 1.00000000 0.00000000 0.1684886 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 307.6679057 -0.00878015 0.00000000 0.00000000 72.1020155 -0.06356336 0.00000000 0.00000000 22.5326803 -0.24016428 0.00000000 0.00000000 7.8991765 -0.47798867 0.00000000 0.00000000 2.8767268 -0.38515850 0.00000000 0.00000000 0.7745936 0.00000000 1.00000000 0.00000000 0.2103770 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 11797.1197650 0.00202145 0.00000000 0.00000000 0.00000000 1774.3522753 0.01513985 0.00000000 0.00000000 0.00000000 403.1887573 0.06852540 0.00000000 0.00000000 0.00000000 113.2493400 0.17762929 0.00000000 0.00000000 0.00000000 34.8352982 0.16496495 0.00000000 0.00000000 0.00000000 58.6147750 0.00000000 -0.10343394 0.00000000 0.00000000 6.4922045 0.00000000 0.63133366 0.00000000 0.00000000 2.7117014 0.00000000 0.54887572 0.00000000 0.00000000 0.5441297 0.00000000 0.00000000 1.00000000 0.00000000 0.2051741 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 356.2870726 -0.00873218 0.00000000 0.00000000 83.5931329 -0.06368032 0.00000000 0.00000000 26.1867040 -0.24311907 0.00000000 0.00000000 9.2257276 -0.48956070 0.00000000 0.00000000 3.3922755 -0.39229190 0.00000000 0.00000000 0.9474053 0.00000000 1.00000000 0.00000000 0.2565914 0.00000000 0.00000000 1.00000000 a 19 $ POTASSIUM (14s,8p) -> [5s,2p] $ S-TYPE FUNCTIONS 14 5 0 31478.7467640 0.00398387 0.00000000 0.00000000 0.00000000 0.00000000 4726.8876066 0.03050176 0.00000000 0.00000000 0.00000000 0.00000000 1075.4345353 0.15073753 0.00000000 0.00000000 0.00000000 0.00000000 303.3981102 0.51912940 0.00000000 0.00000000 0.00000000 0.00000000 98.3271128 1.03669570 0.00000000 0.00000000 0.00000000 0.00000000 33.6362222 0.76398963 0.00000000 0.00000000 0.00000000 0.00000000 65.6392100 0.00000000 -0.28242617 0.00000000 0.00000000 0.00000000 7.3162592 0.00000000 1.69149359 0.00000000 0.00000000 0.00000000 2.8902580 0.00000000 1.29653320 0.00000000 0.00000000 0.00000000 4.5459749 0.00000000 0.00000000 -0.00763436 0.00000000 0.00000000 0.7040412 0.00000000 0.00000000 0.02563572 0.00000000 0.00000000 0.2826689 0.00000000 0.00000000 0.01660686 0.00000000 0.00000000 0.0290582 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0121116 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 361.2249215 0.02090648 0.00000000 84.6702222 0.15043642 0.00000000 26.4690882 0.55440061 0.00000000 9.2658078 1.04090100 0.00000000 3.3423388 0.67825341 0.00000000 1.5100876 0.00000000 0.75248191 0.5656838 0.00000000 1.37085850 0.2081701 0.00000000 0.66047633 a 20 $ CALCIUM (14s,8p) -> [5s,2p] $ S-TYPE FUNCTIONS 14 5 0 35138.7139290 0.00394825 0.00000000 0.00000000 0.00000000 0.00000000 5276.4111348 0.03023424 0.00000000 0.00000000 0.00000000 0.00000000 1200.4692589 0.14952020 0.00000000 0.00000000 0.00000000 0.00000000 338.7181054 0.51597346 0.00000000 0.00000000 0.00000000 0.00000000 109.8538592 1.03395103 0.00000000 0.00000000 0.00000000 0.00000000 37.6088803 0.76937934 0.00000000 0.00000000 0.00000000 0.00000000 73.1079776 0.00000000 -0.28268525 0.00000000 0.00000000 0.00000000 8.2407706 0.00000000 1.67960921 0.00000000 0.00000000 0.00000000 3.2959813 0.00000000 1.28037660 0.00000000 0.00000000 0.00000000 5.2341801 0.00000000 0.00000000 -0.00768686 0.00000000 0.00000000 0.8418722 0.00000000 0.00000000 0.02538238 0.00000000 0.00000000 0.3651029 0.00000000 0.00000000 0.01651217 0.00000000 0.00000000 0.0512224 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0198251 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 413.1131389 0.02032714 0.00000000 96.9357862 0.14730276 0.00000000 30.3721547 0.54887167 0.00000000 10.6847768 1.04406598 0.00000000 3.8821258 0.68653491 0.00000000 1.7993016 0.00000000 0.75410247 0.6918906 0.00000000 1.34092966 0.2636402 0.00000000 0.56391989 a 21 $ SCANDIUM (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 38956.0818040 0.00392932 0.00000000 0.00000000 0.00000000 0.00000000 5849.5733637 0.03009322 0.00000000 0.00000000 0.00000000 0.00000000 1330.8813154 0.14890371 0.00000000 0.00000000 0.00000000 0.00000000 375.5553417 0.51464283 0.00000000 0.00000000 0.00000000 0.00000000 121.8726137 1.03377081 0.00000000 0.00000000 0.00000000 0.00000000 41.7602437 0.77436852 0.00000000 0.00000000 0.00000000 0.00000000 81.0606340 0.00000000 -0.28318552 0.00000000 0.00000000 0.00000000 9.2059824 0.00000000 1.67708070 0.00000000 0.00000000 0.00000000 3.7063216 0.00000000 1.25947337 0.00000000 0.00000000 0.00000000 5.9888910 0.00000000 0.00000000 -0.00778214 0.00000000 0.00000000 0.9736343 0.00000000 0.00000000 0.02549969 0.00000000 0.00000000 0.4204102 0.00000000 0.00000000 0.01619156 0.00000000 0.00000000 0.0594406 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0228978 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 466.3148126 0.01998430 0.00000000 109.5121710 0.14561043 0.00000000 34.3759218 0.54687466 0.00000000 12.1420970 1.04790060 0.00000000 4.4336768 0.68894890 0.00000000 2.0971292 0.00000000 0.75619215 0.8097761 0.00000000 1.31782122 0.3083405 0.00000000 0.54312268 $ D-TYPE FUNCTIONS 5 2 0 19.2403349 0.02703908 0.00000000 5.1178996 0.13803685 0.00000000 1.6554279 0.34869086 0.00000000 0.5401636 0.48594186 0.00000000 0.1621121 0.00000000 1.00000000 a 22 $ TITANIUM (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 42961.5121850 0.00391276 0.00000000 0.00000000 0.00000000 0.00000000 6450.9759169 0.02996982 0.00000000 0.00000000 0.00000000 0.00000000 1467.7210915 0.14836353 0.00000000 0.00000000 0.00000000 0.00000000 414.2099735 0.51347285 0.00000000 0.00000000 0.00000000 0.00000000 134.4871584 1.03353655 0.00000000 0.00000000 0.00000000 0.00000000 46.1222098 0.77854234 0.00000000 0.00000000 0.00000000 0.00000000 89.4477625 0.00000000 -0.28385401 0.00000000 0.00000000 0.00000000 10.2233461 0.00000000 1.67727853 0.00000000 0.00000000 0.00000000 4.1353774 0.00000000 1.24119285 0.00000000 0.00000000 0.00000000 6.7896181 0.00000000 0.00000000 -0.00784000 0.00000000 0.00000000 1.1106731 0.00000000 0.00000000 0.02549549 0.00000000 0.00000000 0.4756598 0.00000000 0.00000000 0.01606117 0.00000000 0.00000000 0.0659870 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0252103 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 522.0368478 0.01975418 0.00000000 122.6864949 0.14460678 0.00000000 38.5729036 0.54669004 0.00000000 13.6721693 1.05316475 0.00000000 5.0118529 0.69111213 0.00000000 2.4131928 0.00000000 0.75803437 0.9325227 0.00000000 1.30362414 0.3542906 0.00000000 0.53638653 $ D-TYPE FUNCTIONS 5 2 0 23.4651260 0.02653638 0.00000000 6.3332594 0.13796454 0.00000000 2.0766490 0.35312644 0.00000000 0.6902736 0.48647124 0.00000000 0.2108874 0.00000000 0.33026314 a 23 $ VANADIUM (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 47160.3760600 0.00144987 0.00000000 0.00000000 0.00000000 0.00000000 7081.4110871 0.01110644 0.00000000 0.00000000 0.00000000 0.00000000 1611.1621223 0.05500542 0.00000000 0.00000000 0.00000000 0.00000000 454.7294055 0.19060253 0.00000000 0.00000000 0.00000000 0.00000000 147.7132121 0.38435023 0.00000000 0.00000000 0.00000000 0.00000000 50.6995390 0.29095547 0.00000000 0.00000000 0.00000000 0.00000000 98.2624927 0.00000000 -0.10942338 0.00000000 0.00000000 0.00000000 11.2942931 0.00000000 0.64539490 0.00000000 0.00000000 0.00000000 4.5853360 0.00000000 0.47117881 0.00000000 0.00000000 0.00000000 7.6359690 0.00000000 0.00000000 -0.22454949 0.00000000 0.00000000 1.2539837 0.00000000 0.00000000 0.72594853 0.00000000 0.00000000 0.5327194 0.00000000 0.00000000 0.45560583 0.00000000 0.00000000 0.0722462 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0273581 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 580.5504499 0.00973151 0.00000000 136.5234113 0.07153124 0.00000000 42.9839588 0.27197688 0.00000000 15.2827988 0.52618989 0.00000000 5.6202495 0.34452533 0.00000000 2.7485386 0.00000000 0.34040396 1.0618550 0.00000000 0.57983996 0.4023552 0.00000000 0.23911643 $ D-TYPE FUNCTIONS 5 2 0 27.3584340 0.02664193 0.00000000 7.4540604 0.13995312 0.00000000 2.4633918 0.35751067 0.00000000 0.8248093 0.48488354 0.00000000 0.2525790 0.00000000 0.32332845 a 24 $ CHROMIUM (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 51528.0863490 0.00144058 0.00000000 0.00000000 0.00000000 0.00000000 7737.2103487 0.01103620 0.00000000 0.00000000 0.00000000 0.00000000 1760.3748470 0.05467665 0.00000000 0.00000000 0.00000000 0.00000000 496.8770654 0.18965038 0.00000000 0.00000000 0.00000000 0.00000000 161.4652060 0.38295413 0.00000000 0.00000000 0.00000000 0.00000000 55.4663523 0.29090051 0.00000000 0.00000000 0.00000000 0.00000000 107.5473300 0.00000000 -0.10932281 0.00000000 0.00000000 0.00000000 12.4086719 0.00000000 0.64472599 0.00000000 0.00000000 0.00000000 5.0423629 0.00000000 0.46262713 0.00000000 0.00000000 0.00000000 8.5461640 0.00000000 0.00000000 -0.22711013 0.00000000 0.00000000 1.3900441 0.00000000 0.00000000 0.73301528 0.00000000 0.00000000 0.5606660 0.00000000 0.00000000 0.44225565 0.00000000 0.00000000 0.0714837 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0282507 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 640.4853610 0.00961267 0.00000000 150.6971119 0.07088983 0.00000000 47.5037553 0.27065259 0.00000000 16.9341202 0.52437343 0.00000000 6.2409681 0.34107995 0.00000000 3.0885463 0.00000000 0.33973987 1.1791048 0.00000000 0.57272063 0.4336977 0.00000000 0.24582728 $ D-TYPE FUNCTIONS 5 2 0 27.5594794 0.03061249 0.00000000 7.4687020 0.15593271 0.00000000 2.4345904 0.36984421 0.00000000 0.7824475 0.47071118 0.00000000 0.2199577 0.00000000 0.33941650 a 25 $ MANGANESE (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 56137.0090370 0.00143213 0.00000000 0.00000000 0.00000000 0.00000000 8429.2063943 0.01097251 0.00000000 0.00000000 0.00000000 0.00000000 1917.8277233 0.05438247 0.00000000 0.00000000 0.00000000 0.00000000 541.3623020 0.18884335 0.00000000 0.00000000 0.00000000 0.00000000 176.0006914 0.38198025 0.00000000 0.00000000 0.00000000 0.00000000 60.5004770 0.29156773 0.00000000 0.00000000 0.00000000 0.00000000 117.1728288 0.00000000 -0.10933661 0.00000000 0.00000000 0.00000000 13.5969734 0.00000000 0.64305039 0.00000000 0.00000000 0.00000000 5.5483996 0.00000000 0.45848971 0.00000000 0.00000000 0.00000000 9.4662854 0.00000000 0.00000000 -0.22538977 0.00000000 0.00000000 1.5595006 0.00000000 0.00000000 0.72307759 0.00000000 0.00000000 0.6523021 0.00000000 0.00000000 0.45300722 0.00000000 0.00000000 0.0840037 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0312561 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 706.0049754 0.00950555 0.00000000 166.1972882 0.07035627 0.00000000 52.4520619 0.27005557 0.00000000 18.7469329 0.52574345 0.00000000 6.9282992 0.34254033 0.00000000 3.4772205 0.00000000 0.33994074 1.3406906 0.00000000 0.57203836 0.5049880 0.00000000 0.23847606 $ D-TYPE FUNCTIONS 5 2 0 35.4232649 0.02698530 0.00000000 9.7814221 0.14383459 0.00000000 3.2673489 0.36418958 0.00000000 1.1026472 0.48152671 0.00000000 0.3374321 0.00000000 0.31458754 a 26 $ IRON (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 60923.6406430 0.00143023 0.00000000 0.00000000 0.00000000 0.00000000 9147.8893982 0.01095879 0.00000000 0.00000000 0.00000000 0.00000000 2081.3505927 0.05433255 0.00000000 0.00000000 0.00000000 0.00000000 587.5597707 0.18884995 0.00000000 0.00000000 0.00000000 0.00000000 191.0904399 0.38253070 0.00000000 0.00000000 0.00000000 0.00000000 65.7327301 0.29308336 0.00000000 0.00000000 0.00000000 0.00000000 127.2589193 0.00000000 -0.10964565 0.00000000 0.00000000 0.00000000 14.8309130 0.00000000 0.64387631 0.00000000 0.00000000 0.00000000 6.0653307 0.00000000 0.45472347 0.00000000 0.00000000 0.00000000 10.4499437 0.00000000 0.00000000 -0.22539640 0.00000000 0.00000000 1.7245228 0.00000000 0.00000000 0.72164398 0.00000000 0.00000000 0.7177218 0.00000000 0.00000000 0.44985493 0.00000000 0.00000000 0.0914498 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0337067 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 773.4375099 0.00943257 0.00000000 182.1514971 0.07002962 0.00000000 57.5472728 0.26993652 0.00000000 20.6149889 0.52700011 0.00000000 7.6348558 0.34284148 0.00000000 3.8719328 0.00000000 0.33974403 1.4924724 0.00000000 0.56842594 0.5606128 0.00000000 0.23649366 $ D-TYPE FUNCTIONS 5 2 0 38.9681334 0.02787966 0.00000000 10.8000671 0.14858320 0.00000000 3.6136458 0.36905479 0.00000000 1.2129968 0.47745101 0.00000000 0.3652439 0.00000000 0.31418142 a 27 $ COBALT (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 65902.2082570 0.00142846 0.00000000 0.00000000 0.00000000 0.00000000 9895.3896027 0.01094607 0.00000000 0.00000000 0.00000000 0.00000000 2251.4305789 0.05428595 0.00000000 0.00000000 0.00000000 0.00000000 635.6109708 0.18885179 0.00000000 0.00000000 0.00000000 0.00000000 206.7882068 0.38301635 0.00000000 0.00000000 0.00000000 0.00000000 71.1792430 0.29443551 0.00000000 0.00000000 0.00000000 0.00000000 137.7726804 0.00000000 -0.10990222 0.00000000 0.00000000 0.00000000 16.1180792 0.00000000 0.64455537 0.00000000 0.00000000 0.00000000 6.6030328 0.00000000 0.45116788 0.00000000 0.00000000 0.00000000 11.4799158 0.00000000 0.00000000 -0.22593847 0.00000000 0.00000000 1.8956426 0.00000000 0.00000000 0.72231409 0.00000000 0.00000000 0.7846623 0.00000000 0.00000000 0.44903812 0.00000000 0.00000000 0.0984258 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0359457 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 843.6435858 0.00938661 0.00000000 198.7638699 0.06988021 0.00000000 62.8549631 0.27037070 0.00000000 22.5628423 0.52904787 0.00000000 8.3713209 0.34357030 0.00000000 4.2858720 0.00000000 0.34027999 1.6508042 0.00000000 0.56693392 0.6183423 0.00000000 0.23617980 $ D-TYPE FUNCTIONS 5 2 0 42.9278676 0.02848779 0.00000000 11.9425331 0.15206951 0.00000000 4.0046496 0.37310914 0.00000000 1.3413194 0.47549838 0.00000000 0.4001501 0.00000000 0.31346831 a 28 $ NICKEL (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 71074.8032110 0.00142604 0.00000000 0.00000000 0.00000000 0.00000000 10672.0209410 0.01092824 0.00000000 0.00000000 0.00000000 0.00000000 2428.1389007 0.05421263 0.00000000 0.00000000 0.00000000 0.00000000 685.5359515 0.18874769 0.00000000 0.00000000 0.00000000 0.00000000 223.1007286 0.38324617 0.00000000 0.00000000 0.00000000 0.00000000 76.8420140 0.29550637 0.00000000 0.00000000 0.00000000 0.00000000 148.7112202 0.00000000 -0.11014443 0.00000000 0.00000000 0.00000000 17.4591550 0.00000000 0.64521427 0.00000000 0.00000000 0.00000000 7.1625281 0.00000000 0.44797838 0.00000000 0.00000000 0.00000000 12.5561371 0.00000000 0.00000000 -0.22645403 0.00000000 0.00000000 2.0735740 0.00000000 0.00000000 0.72320959 0.00000000 0.00000000 0.8538264 0.00000000 0.00000000 0.44868026 0.00000000 0.00000000 0.1053677 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0381341 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 916.7360866 0.00934396 0.00000000 216.0613991 0.06973737 0.00000000 68.3839148 0.27073495 0.00000000 24.5938440 0.53078302 0.00000000 9.1392960 0.34410229 0.00000000 4.7193372 0.00000000 0.34076082 1.8161849 0.00000000 0.56580170 0.6784075 0.00000000 0.23616717 $ D-TYPE FUNCTIONS 5 2 0 47.0938321 0.02898232 0.00000000 13.1464640 0.15494996 0.00000000 4.4170549 0.37633115 0.00000000 1.4771565 0.47365096 0.00000000 0.4373592 0.00000000 0.31247838 a 29 $ COPPER (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 76381.3480560 0.00143361 0.00000000 0.00000000 0.00000000 0.00000000 11468.7774990 0.01098675 0.00000000 0.00000000 0.00000000 0.00000000 2609.4246495 0.05451365 0.00000000 0.00000000 0.00000000 0.00000000 736.7503310 0.18990128 0.00000000 0.00000000 0.00000000 0.00000000 239.8241996 0.38581959 0.00000000 0.00000000 0.00000000 0.00000000 82.6568293 0.29790607 0.00000000 0.00000000 0.00000000 0.00000000 160.1354420 0.00000000 -0.11146779 0.00000000 0.00000000 0.00000000 18.8341777 0.00000000 0.65349301 0.00000000 0.00000000 0.00000000 7.7176596 0.00000000 0.44770534 0.00000000 0.00000000 0.00000000 13.7108467 0.00000000 0.00000000 -0.22870911 0.00000000 0.00000000 2.2349896 0.00000000 0.00000000 0.73464423 0.00000000 0.00000000 0.8781836 0.00000000 0.00000000 0.43273071 0.00000000 0.00000000 0.0871875 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0329691 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 991.2407578 0.00938785 0.00000000 233.6937612 0.07020828 0.00000000 74.0209309 0.27323522 0.00000000 26.6649674 0.53580793 0.00000000 9.9192087 0.34575795 0.00000000 5.1519554 0.00000000 0.34229108 1.9638206 0.00000000 0.56456592 0.7156010 0.00000000 0.24078584 $ D-TYPE FUNCTIONS 5 2 0 47.3350496 0.03237555 0.00000000 13.1616661 0.16810219 0.00000000 4.3693777 0.38477708 0.00000000 1.4132925 0.46147880 0.00000000 0.3887800 0.00000000 0.32388873 a 30 $ ZINC (13s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 82000.7116290 0.00142108 0.00000000 0.00000000 0.00000000 0.00000000 12312.4717770 0.01089150 0.00000000 0.00000000 0.00000000 0.00000000 2801.3944193 0.05405719 0.00000000 0.00000000 0.00000000 0.00000000 790.9942430 0.18847464 0.00000000 0.00000000 0.00000000 0.00000000 257.5655108 0.38346549 0.00000000 0.00000000 0.00000000 0.00000000 88.8149334 0.29723794 0.00000000 0.00000000 0.00000000 0.00000000 171.8635372 0.00000000 -0.11051850 0.00000000 0.00000000 0.00000000 20.3025348 0.00000000 0.64607717 0.00000000 0.00000000 0.00000000 8.3464123 0.00000000 0.44220117 0.00000000 0.00000000 0.00000000 14.8475369 0.00000000 0.00000000 -0.22705309 0.00000000 0.00000000 2.4495030 0.00000000 0.00000000 0.72433218 0.00000000 0.00000000 0.9984582 0.00000000 0.00000000 0.44836496 0.00000000 0.00000000 0.1189131 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0422974 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 1071.5185372 0.00927678 0.00000000 252.6971215 0.06954115 0.00000000 80.1008291 0.27156773 0.00000000 28.9033932 0.53401356 0.00000000 10.7688999 0.34501323 0.00000000 5.6446213 0.00000000 0.34129600 2.1678291 0.00000000 0.56390522 0.8054090 0.00000000 0.23676110 $ D-TYPE FUNCTIONS 5 2 0 56.0889392 0.02958887 0.00000000 15.7519089 0.15872571 0.00000000 5.3115812 0.37976229 0.00000000 1.7737905 0.46898959 0.00000000 0.5197558 0.00000000 0.30907149 a 33 $ ARSENIC (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 100146.5255400 0.00142583 0.00000000 0.00000000 0.00000000 0.00000000 15036.8617110 0.01093018 0.00000000 0.00000000 0.00000000 0.00000000 3421.2902833 0.05429417 0.00000000 0.00000000 0.00000000 0.00000000 966.1696572 0.18976078 0.00000000 0.00000000 0.00000000 0.00000000 314.8739403 0.38775195 0.00000000 0.00000000 0.00000000 0.00000000 108.7082379 0.30402812 0.00000000 0.00000000 0.00000000 0.00000000 209.5423895 0.00000000 -0.11162094 0.00000000 0.00000000 0.00000000 25.0382211 0.00000000 0.64697608 0.00000000 0.00000000 0.00000000 10.3909643 0.00000000 0.44223609 0.00000000 0.00000000 0.00000000 18.5550901 0.00000000 0.00000000 -0.22994191 0.00000000 0.00000000 3.1281217 0.00000000 0.00000000 0.73319108 0.00000000 0.00000000 1.3884885 0.00000000 0.00000000 0.45533654 0.00000000 0.00000000 0.2471436 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0914294 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1355.6443507 0.00891825 0.00000000 0.00000000 0.00000000 319.9992927 0.06745475 0.00000000 0.00000000 0.00000000 101.6773409 0.26759772 0.00000000 0.00000000 0.00000000 36.8863238 0.53776845 0.00000000 0.00000000 0.00000000 13.8611159 0.35992570 0.00000000 0.00000000 0.00000000 7.4260667 0.00000000 0.34036850 0.00000000 0.00000000 3.0316247 0.00000000 0.57030149 0.00000000 0.00000000 1.2783078 0.00000000 0.26606170 0.00000000 0.00000000 0.3756850 0.00000000 0.00000000 1.00000000 0.00000000 0.1139481 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 84.4455145 0.02451840 0.00000000 24.1904161 0.14107455 0.00000000 8.4045015 0.36875229 0.00000000 2.9808971 0.48409561 0.00000000 0.9790924 0.00000000 0.28250269 a 34 $ SELENIUM (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 106612.2002700 0.00142749 0.00000000 0.00000000 0.00000000 0.00000000 16007.6047010 0.01094353 0.00000000 0.00000000 0.00000000 0.00000000 3642.1699707 0.05437417 0.00000000 0.00000000 0.00000000 0.00000000 1028.5912993 0.19018093 0.00000000 0.00000000 0.00000000 0.00000000 335.3029889 0.38913022 0.00000000 0.00000000 0.00000000 0.00000000 115.8012915 0.30620207 0.00000000 0.00000000 0.00000000 0.00000000 222.9332502 0.00000000 -0.11198808 0.00000000 0.00000000 0.00000000 26.7262579 0.00000000 0.64752124 0.00000000 0.00000000 0.00000000 11.1245019 0.00000000 0.44241977 0.00000000 0.00000000 0.00000000 19.8885201 0.00000000 0.00000000 -0.22857228 0.00000000 0.00000000 3.3668474 0.00000000 0.00000000 0.73591360 0.00000000 0.00000000 1.5249278 0.00000000 0.00000000 0.44330200 0.00000000 0.00000000 0.2963004 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1100929 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1455.9068120 0.00882036 0.00000000 0.00000000 0.00000000 343.7510183 0.06687585 0.00000000 0.00000000 0.00000000 109.2955496 0.26640578 0.00000000 0.00000000 0.00000000 39.7077110 0.53834928 0.00000000 0.00000000 0.00000000 14.9501852 0.36303282 0.00000000 0.00000000 0.00000000 8.0208962 0.00000000 0.34153807 0.00000000 0.00000000 3.2934650 0.00000000 0.57257907 0.00000000 0.00000000 1.4058602 0.00000000 0.25549813 0.00000000 0.00000000 0.4507612 0.00000000 0.00000000 1.00000000 0.00000000 0.1335341 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 94.4940240 0.02349010 0.00000000 27.1881853 0.13747736 0.00000000 9.5091567 0.36649929 0.00000000 3.4170517 0.48750990 0.00000000 1.1479590 0.00000000 0.27657943 a 35 $ BROMINE (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 113286.3877600 0.00142830 0.00000000 0.00000000 0.00000000 0.00000000 17009.6263030 0.01095042 0.00000000 0.00000000 0.00000000 0.00000000 3870.1842567 0.05442101 0.00000000 0.00000000 0.00000000 0.00000000 1093.0357227 0.19047908 0.00000000 0.00000000 0.00000000 0.00000000 356.3972180 0.39024643 0.00000000 0.00000000 0.00000000 0.00000000 123.1253964 0.30814433 0.00000000 0.00000000 0.00000000 0.00000000 236.7408401 0.00000000 -0.11228066 0.00000000 0.00000000 0.00000000 28.4686611 0.00000000 0.64775962 0.00000000 0.00000000 0.00000000 11.8834437 0.00000000 0.44235576 0.00000000 0.00000000 0.00000000 21.2696333 0.00000000 0.00000000 -0.22642576 0.00000000 0.00000000 3.6129227 0.00000000 0.00000000 0.73823712 0.00000000 0.00000000 1.6626649 0.00000000 0.00000000 0.42683869 0.00000000 0.00000000 0.3482379 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1301903 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1560.2801881 0.00871667 0.00000000 0.00000000 0.00000000 368.4785920 0.06624364 0.00000000 0.00000000 0.00000000 117.2297885 0.26495610 0.00000000 0.00000000 0.00000000 42.6489092 0.53839161 0.00000000 0.00000000 0.00000000 16.0872251 0.36579388 0.00000000 0.00000000 0.00000000 8.6352810 0.00000000 0.34248787 0.00000000 0.00000000 3.5613666 0.00000000 0.57500678 0.00000000 0.00000000 1.5292627 0.00000000 0.24330394 0.00000000 0.00000000 0.5306429 0.00000000 0.00000000 1.00000000 0.00000000 0.1570276 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 104.8551864 0.02265015 0.00000000 30.2811437 0.13455483 0.00000000 10.6513943 0.36474455 0.00000000 3.8699456 0.49044587 0.00000000 1.3240877 0.00000000 0.27137289 a 36 $ KRYPTON (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 120165.6487500 0.00142942 0.00000000 0.00000000 0.00000000 0.00000000 18042.5001690 0.01095960 0.00000000 0.00000000 0.00000000 0.00000000 4105.1800388 0.05447965 0.00000000 0.00000000 0.00000000 0.00000000 1159.4447248 0.19081239 0.00000000 0.00000000 0.00000000 0.00000000 378.1381035 0.39140446 0.00000000 0.00000000 0.00000000 0.00000000 130.6761005 0.31007347 0.00000000 0.00000000 0.00000000 0.00000000 250.9637335 0.00000000 -0.11258604 0.00000000 0.00000000 0.00000000 30.2659304 0.00000000 0.64816323 0.00000000 0.00000000 0.00000000 12.6681108 0.00000000 0.44240239 0.00000000 0.00000000 0.00000000 22.6979401 0.00000000 0.00000000 -0.22391965 0.00000000 0.00000000 3.8673017 0.00000000 0.00000000 0.74060953 0.00000000 0.00000000 1.8013707 0.00000000 0.00000000 0.40803658 0.00000000 0.00000000 0.4030864 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1517053 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1668.5736623 0.00862150 0.00000000 0.00000000 0.00000000 394.1386280 0.06566551 0.00000000 0.00000000 0.00000000 125.4664485 0.26366577 0.00000000 0.00000000 0.00000000 45.7049927 0.53867659 0.00000000 0.00000000 0.00000000 17.2701332 0.36865168 0.00000000 0.00000000 0.00000000 9.2699488 0.00000000 0.34346189 0.00000000 0.00000000 3.8364618 0.00000000 0.57784776 0.00000000 0.00000000 1.6467163 0.00000000 0.23075615 0.00000000 0.00000000 0.6147969 0.00000000 0.00000000 1.00000000 0.00000000 0.1831947 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 115.5586860 0.02194549 0.00000000 33.4779859 0.13211213 0.00000000 11.8344502 0.36333307 0.00000000 4.3408255 0.49300484 0.00000000 1.5079273 0.00000000 0.26676859 $Elements supported $H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu $Zn Ga Ge As Se Br Kr ergo-3.5/basis/Ahlrichs-TZV0000664000175000017500000021215412743400275012513 00000000000000$ Basis = Ahlrichs TZV $ Supported Elements $ Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe $ Co Ni Cu Zn Ga Ge As Se Br Kr $ $ REFERENCES $Elements References $-------- ---------- $Li - Kr: A. Schafer, C. Huber and R. Ahlrichs, J. Chem. Phys. 100, 5829 (1994). $ a 3 $ LITHIUM (11s) -> [5s] $ S-TYPE FUNCTIONS 11 5 0 6269.26280100 0.00020541 0.00000000 0.00000000 0.00000000 0.00000000 940.31612430 0.00159166 0.00000000 0.00000000 0.00000000 0.00000000 214.22107530 0.00828698 0.00000000 0.00000000 0.00000000 0.00000000 60.75984018 0.03385637 0.00000000 0.00000000 0.00000000 0.00000000 19.91515203 0.11103226 0.00000000 0.00000000 0.00000000 0.00000000 7.31715098 0.27449383 0.00000000 0.00000000 0.00000000 0.00000000 2.97246742 0.00000000 0.23792456 0.00000000 0.00000000 0.00000000 1.26398523 0.00000000 0.30765412 0.00000000 0.00000000 0.00000000 0.51427490 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07703089 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02893890 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (11s) -> [5s] $ S-TYPE FUNCTIONS 11 5 0 4700.23656300 0.00023584 0.00000000 0.00000000 0.00000000 0.00000000 704.82845620 0.00182438 0.00000000 0.00000000 0.00000000 0.00000000 160.43110480 0.00939661 0.00000000 0.00000000 0.00000000 0.00000000 45.42534734 0.03690892 0.00000000 0.00000000 0.00000000 0.00000000 14.79833412 0.10897561 0.00000000 0.00000000 0.00000000 0.00000000 5.35124525 0.21694285 0.00000000 0.00000000 0.00000000 0.00000000 2.15420448 0.00000000 0.44695409 0.00000000 0.00000000 0.00000000 0.93363744 0.00000000 0.20866986 0.00000000 0.00000000 0.00000000 0.18791433 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.74648268 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03265048 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 5 $ BORON (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 8564.86606900 0.00022837 0.00000000 0.00000000 0.00000000 0.00000000 1284.15162600 0.00176826 0.00000000 0.00000000 0.00000000 0.00000000 292.27871600 0.00914071 0.00000000 0.00000000 0.00000000 0.00000000 82.77546918 0.03634264 0.00000000 0.00000000 0.00000000 0.00000000 27.01793927 0.11063458 0.00000000 0.00000000 0.00000000 0.00000000 9.81496197 0.23367344 0.00000000 0.00000000 0.00000000 0.00000000 3.93185591 0.00000000 0.41818778 0.00000000 0.00000000 0.00000000 1.65955997 0.00000000 0.22325474 0.00000000 0.00000000 0.00000000 0.35762965 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14246278 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06056059 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 22.45387580 0.00502656 0.00000000 0.00000000 5.10450583 0.03280174 0.00000000 0.00000000 1.49860813 0.13151231 0.00000000 0.00000000 0.50927831 0.33197168 0.00000000 0.00000000 0.18147078 0.00000000 1.00000000 0.00000000 0.64621894 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 13575.34968 0.00022246 0.00000000 0.00000000 0.00000000 0.00000000 2035.23336800 0.00172327 0.00000000 0.00000000 0.00000000 0.00000000 463.22562360 0.00892557 0.00000000 0.00000000 0.00000000 0.00000000 131.20019600 0.03572798 0.00000000 0.00000000 0.00000000 0.00000000 42.85301589 0.11076260 0.00000000 0.00000000 0.00000000 0.00000000 15.58418577 0.24295628 0.00000000 0.00000000 0.00000000 0.00000000 6.20671385 0.00000000 0.41440263 0.00000000 0.00000000 0.00000000 2.57648965 0.00000000 0.23744969 0.00000000 0.00000000 0.00000000 0.57696339 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.22972831 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09516444 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 34.69723224 0.00533337 0.00000000 0.00000000 7.95826228 0.03586411 0.00000000 0.00000000 2.37808269 0.14215873 0.00000000 0.00000000 0.81433208 0.34270472 0.00000000 0.00000000 0.28887547 0.00000000 1.00000000 0.00000000 0.10056824 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 19730.80065 0.00021888 0.00000000 0.00000000 0.00000000 0.00000000 2957.89587500 0.00169607 0.00000000 0.00000000 0.00000000 0.00000000 673.22133600 0.00879546 0.00000000 0.00000000 0.00000000 0.00000000 190.68249490 0.03535938 0.00000000 0.00000000 0.00000000 0.00000000 62.29544190 0.11095789 0.00000000 0.00000000 0.00000000 0.00000000 22.65416118 0.24982973 0.00000000 0.00000000 0.00000000 0.00000000 8.97914774 0.00000000 0.40623896 0.00000000 0.00000000 0.00000000 3.68630024 0.00000000 0.24338217 0.00000000 0.00000000 0.00000000 0.84660077 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.33647134 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13647654 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 49.20038051 0.00555524 0.00000000 0.00000000 11.34679054 0.03805238 0.00000000 0.00000000 3.42739724 0.14953671 0.00000000 0.00000000 1.17855251 0.34949305 0.00000000 0.00000000 0.41642205 0.00000000 1.00000000 0.00000000 0.14260826 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 27032.38263 0.00021726 0.00000000 0.00000000 0.00000000 0.00000000 4052.38713900 0.00168387 0.00000000 0.00000000 0.00000000 0.00000000 922.32722710 0.00873956 0.00000000 0.00000000 0.00000000 0.00000000 261.24070990 0.03523997 0.00000000 0.00000000 0.00000000 0.00000000 85.35464135 0.11153519 0.00000000 0.00000000 0.00000000 0.00000000 31.03503524 0.25588954 0.00000000 0.00000000 0.00000000 0.00000000 12.26086073 0.00000000 0.39768731 0.00000000 0.00000000 0.00000000 4.99870760 0.00000000 0.24627849 0.00000000 0.00000000 0.00000000 1.17031082 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.46474741 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.18504536 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 63.27495480 0.00606851 0.00000000 0.00000000 14.62704938 0.04191258 0.00000000 0.00000000 4.45012235 0.16153841 0.00000000 0.00000000 1.52757996 0.35706951 0.00000000 0.00000000 0.52935118 0.00000000 1.00000000 0.00000000 0.17478421 0.00000000 0.00000000 1.00000000 a 9 $ FLUORINE (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 35479.10044 0.00021545 0.00000000 0.00000000 0.00000000 0.00000000 5318.47289800 0.00167007 0.00000000 0.00000000 0.00000000 0.00000000 1210.48109800 0.00867332 0.00000000 0.00000000 0.00000000 0.00000000 342.85518140 0.03504993 0.00000000 0.00000000 0.00000000 0.00000000 112.01943180 0.11165320 0.00000000 0.00000000 0.00000000 0.00000000 40.71474025 0.25988507 0.00000000 0.00000000 0.00000000 0.00000000 16.03967811 0.00000000 0.39422967 0.00000000 0.00000000 0.00000000 6.50381867 0.00000000 0.24998239 0.00000000 0.00000000 0.00000000 1.54404775 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.61223453 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.24027980 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 80.23390048 0.00636860 0.00000000 0.00000000 18.59401074 0.04430314 0.00000000 0.00000000 5.68679026 0.16867249 0.00000000 0.00000000 1.95110063 0.36166346 0.00000000 0.00000000 0.66970211 0.00000000 1.00000000 0.00000000 0.21651300 0.00000000 0.00000000 1.00000000 a 10 $ NEON (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 45069.46402 0.00021687 0.00000000 0.00000000 0.00000000 0.00000000 6755.97686600 0.00168127 0.00000000 0.00000000 0.00000000 0.00000000 1537.65028600 0.00873561 0.00000000 0.00000000 0.00000000 0.00000000 435.51697670 0.03536127 0.00000000 0.00000000 0.00000000 0.00000000 142.28655640 0.11321521 0.00000000 0.00000000 0.00000000 0.00000000 51.69215380 0.26654653 0.00000000 0.00000000 0.00000000 0.00000000 20.31587049 0.00000000 0.39631960 0.00000000 0.00000000 0.00000000 8.20219426 0.00000000 0.25582811 0.00000000 0.00000000 0.00000000 1.96812763 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.77904756 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.30229502 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 99.78299603 0.00655692 0.00000000 0.00000000 23.17612410 0.04588801 0.00000000 0.00000000 7.11639459 0.17331288 0.00000000 0.00000000 2.44187114 0.36475268 0.00000000 0.00000000 0.83389606 0.00000000 1.00000000 0.00000000 0.26607311 0.00000000 0.00000000 1.00000000 a 11 $ SODIUM (14s,6p) -> [5s,2p] $ S-TYPE FUNCTIONS 14 5 0 26041.10993 0.00061806 0.00000000 0.00000000 0.00000000 0.00000000 3906.12685500 0.00477486 0.00000000 0.00000000 0.00000000 0.00000000 888.97454990 0.02447168 0.00000000 0.00000000 0.00000000 0.00000000 251.45497960 0.09475539 0.00000000 0.00000000 0.00000000 0.00000000 81.65014351 0.26867497 0.00000000 0.00000000 0.00000000 0.00000000 28.90415840 0.47925475 0.00000000 0.00000000 0.00000000 0.00000000 10.62578293 0.33248591 0.00000000 0.00000000 0.00000000 0.00000000 53.76941018 0.00000000 0.01952773 0.00000000 0.00000000 0.00000000 16.30824302 0.00000000 0.09264801 0.00000000 0.00000000 0.00000000 2.37303841 0.00000000 -0.39938670 0.00000000 0.00000000 0.00000000 0.95730773 0.00000000 0.00000000 1.64285954 0.00000000 0.00000000 0.40806461 0.00000000 0.00000000 0.55692597 0.00000000 0.00000000 0.04996758 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01926862 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 2 0 138.07979990 0.00579519 0.00000000 32.23270039 0.04162085 0.00000000 9.98160754 0.16281917 0.00000000 3.48220339 0.36011785 0.00000000 1.22991346 0.44858980 0.00000000 0.41743959 0.00000000 1.00000000 a 12 $ MAGNESIUM (14s,6p) -> [5s,2p] $ S-TYPE FUNCTIONS 14 5 0 31438.34955 0.00060912 0.00000000 0.00000000 0.00000000 0.00000000 4715.51533500 0.00470662 0.00000000 0.00000000 0.00000000 0.00000000 1073.16292500 0.02413582 0.00000000 0.00000000 0.00000000 0.00000000 303.57238770 0.09362896 0.00000000 0.00000000 0.00000000 0.00000000 98.62625104 0.26646742 0.00000000 0.00000000 0.00000000 0.00000000 34.94380842 0.47890930 0.00000000 0.00000000 0.00000000 0.00000000 12.85978520 0.33698490 0.00000000 0.00000000 0.00000000 0.00000000 64.87691300 0.00000000 0.01918089 0.00000000 0.00000000 0.00000000 19.72552078 0.00000000 0.09091370 0.00000000 0.00000000 0.00000000 2.89518043 0.00000000 -0.39563756 0.00000000 0.00000000 0.00000000 1.19604547 0.00000000 0.00000000 1.68276034 0.00000000 0.00000000 0.54329451 0.00000000 0.00000000 0.52141092 0.00000000 0.00000000 0.10099104 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03686573 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 2 0 179.87189610 0.00537995 0.00000000 42.12006938 0.03931801 0.00000000 13.12050303 0.15740129 0.00000000 4.62575036 0.35919094 0.00000000 1.66952110 0.45533379 0.00000000 0.58551012 0.00000000 1.00000000 a 13 $ ALUMINUM (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 37792.55077 0.00057048 0.00000000 0.00000000 0.00000000 0.00000000 5668.06821700 0.00440930 0.00000000 0.00000000 0.00000000 0.00000000 1289.85828400 0.02263097 0.00000000 0.00000000 0.00000000 0.00000000 364.86596030 0.08802564 0.00000000 0.00000000 0.00000000 0.00000000 118.57631510 0.25223702 0.00000000 0.00000000 0.00000000 0.00000000 42.02486760 0.45960547 0.00000000 0.00000000 0.00000000 0.00000000 15.49950163 0.33277886 0.00000000 0.00000000 0.00000000 0.00000000 75.20802660 0.00000000 0.01925056 0.00000000 0.00000000 0.00000000 23.03140897 0.00000000 0.08790674 0.00000000 0.00000000 0.00000000 3.63487976 0.00000000 -0.34246705 0.00000000 0.00000000 0.00000000 1.60650500 0.00000000 0.00000000 1.51062661 0.00000000 0.00000000 0.76103395 0.00000000 0.00000000 0.58071016 0.00000000 0.00000000 0.16556709 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06004158 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 452.52303190 0.00231108 0.00000000 0.00000000 0.00000000 107.08195050 0.01856864 0.00000000 0.00000000 0.00000000 34.13102125 0.08721624 0.00000000 0.00000000 0.00000000 12.58703743 0.26902102 0.00000000 0.00000000 0.00000000 4.98119197 0.52128324 0.00000000 0.00000000 0.00000000 2.00703509 0.60271687 0.00000000 0.00000000 0.00000000 0.80083714 0.00000000 1.00000000 0.00000000 0.00000000 0.20178927 0.00000000 0.00000000 1.00000000 0.00000000 0.05789555 0.00000000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 44773.35808 0.00055915 0.00000000 0.00000000 0.00000000 0.00000000 6717.19921000 0.00432060 0.00000000 0.00000000 0.00000000 0.00000000 1528.89603200 0.02218710 0.00000000 0.00000000 0.00000000 0.00000000 432.54746590 0.08648925 0.00000000 0.00000000 0.00000000 0.00000000 140.61505230 0.24939890 0.00000000 0.00000000 0.00000000 0.00000000 49.85763672 0.46017197 0.00000000 0.00000000 0.00000000 0.00000000 18.43497489 0.34250237 0.00000000 0.00000000 0.00000000 0.00000000 86.53388611 0.00000000 0.02130006 0.00000000 0.00000000 0.00000000 26.62460685 0.00000000 0.09467614 0.00000000 0.00000000 0.00000000 4.49530572 0.00000000 -0.32616265 0.00000000 0.00000000 0.00000000 2.10350457 0.00000000 0.00000000 1.39808039 0.00000000 0.00000000 1.01060949 0.00000000 0.00000000 0.63865787 0.00000000 0.00000000 0.23701751 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08570341 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 394.47503630 0.00262857 0.00000000 0.00000000 0.00000000 93.13768310 0.02055626 0.00000000 0.00000000 0.00000000 29.51960874 0.09207026 0.00000000 0.00000000 0.00000000 10.78166379 0.25565890 0.00000000 0.00000000 0.00000000 4.16265748 0.42111707 0.00000000 0.00000000 0.00000000 1.62479730 0.34401746 0.00000000 0.00000000 0.00000000 0.54306660 0.00000000 1.00000000 0.00000000 0.00000000 0.20582074 0.00000000 0.00000000 1.00000000 0.00000000 0.07005349 0.00000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 52426.99923 0.00055207 0.00000000 0.00000000 0.00000000 0.00000000 7863.26605500 0.00426786 0.00000000 0.00000000 0.00000000 0.00000000 1789.52273300 0.02193153 0.00000000 0.00000000 0.00000000 0.00000000 506.27300160 0.08566717 0.00000000 0.00000000 0.00000000 0.00000000 164.60698550 0.24840687 0.00000000 0.00000000 0.00000000 0.00000000 58.39191872 0.46336754 0.00000000 0.00000000 0.00000000 0.00000000 21.64366320 0.35350558 0.00000000 0.00000000 0.00000000 0.00000000 99.01383762 0.00000000 0.02189568 0.00000000 0.00000000 0.00000000 30.55043982 0.00000000 0.09565047 0.00000000 0.00000000 0.00000000 5.45370877 0.00000000 -0.29454270 0.00000000 0.00000000 0.00000000 2.65033626 0.00000000 0.00000000 1.32943812 0.00000000 0.00000000 1.27266889 0.00000000 0.00000000 0.66109396 0.00000000 0.00000000 0.31645005 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11417467 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 472.27219250 0.00257106 0.00000000 0.00000000 0.00000000 111.58882760 0.02025030 0.00000000 0.00000000 0.00000000 35.44593642 0.09158072 0.00000000 0.00000000 0.00000000 12.99077688 0.25749454 0.00000000 0.00000000 0.00000000 5.04862217 0.42862900 0.00000000 0.00000000 0.00000000 1.99340496 0.34359818 0.00000000 0.00000000 0.00000000 0.66527284 0.00000000 1.00000000 0.00000000 0.00000000 0.25516832 0.00000000 0.00000000 1.00000000 0.00000000 0.09035776 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 60700.92810 0.00054696 0.00000000 0.00000000 0.00000000 0.00000000 9102.61068500 0.00422972 0.00000000 0.00000000 0.00000000 0.00000000 2071.41660100 0.02174782 0.00000000 0.00000000 0.00000000 0.00000000 586.02476820 0.08510005 0.00000000 0.00000000 0.00000000 0.00000000 190.55395020 0.24799128 0.00000000 0.00000000 0.00000000 0.00000000 67.63038426 0.46703640 0.00000000 0.00000000 0.00000000 0.00000000 25.12730691 0.36434588 0.00000000 0.00000000 0.00000000 0.00000000 112.57463010 0.00000000 0.02167004 0.00000000 0.00000000 0.00000000 34.79555422 0.00000000 0.09360230 0.00000000 0.00000000 0.00000000 6.51155562 0.00000000 -0.26068001 0.00000000 0.00000000 0.00000000 3.23990323 0.00000000 0.00000000 1.28420894 0.00000000 0.00000000 1.54771609 0.00000000 0.00000000 0.66036417 0.00000000 0.00000000 0.40541030 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14550651 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 564.36716030 0.00247968 0.00000000 0.00000000 0.00000000 133.42624380 0.01967793 0.00000000 0.00000000 0.00000000 42.46827119 0.08998001 0.00000000 0.00000000 0.00000000 15.61652758 0.25705881 0.00000000 0.00000000 0.00000000 6.10939885 0.43515167 0.00000000 0.00000000 0.00000000 2.44041602 0.34883241 0.00000000 0.00000000 0.00000000 0.83882201 0.00000000 1.00000000 0.00000000 0.00000000 0.31288747 0.00000000 0.00000000 1.00000000 0.00000000 0.10770109 0.00000000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 69507.99094 0.00054315 0.00000000 0.00000000 0.00000000 0.00000000 10426.15688 0.00419905 0.00000000 0.00000000 0.00000000 0.00000000 2373.23340600 0.02159214 0.00000000 0.00000000 0.00000000 0.00000000 671.56420070 0.08459885 0.00000000 0.00000000 0.00000000 0.00000000 218.41999790 0.24757250 0.00000000 0.00000000 0.00000000 0.00000000 77.57224971 0.47016930 0.00000000 0.00000000 0.00000000 0.00000000 28.88881528 0.37436371 0.00000000 0.00000000 0.00000000 0.00000000 127.10527180 0.00000000 0.02518217 0.00000000 0.00000000 0.00000000 39.33958296 0.00000000 0.10786112 0.00000000 0.00000000 0.00000000 7.67406800 0.00000000 -0.27408822 0.00000000 0.00000000 0.00000000 3.87456276 0.00000000 0.00000000 1.32138750 0.00000000 0.00000000 1.83858326 0.00000000 0.00000000 0.68636955 0.00000000 0.00000000 0.50229058 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.17962723 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 666.50423280 0.00236327 0.00000000 0.00000000 0.00000000 157.64241690 0.01887930 0.00000000 0.00000000 0.00000000 50.26252098 0.08720634 0.00000000 0.00000000 0.00000000 18.53607811 0.25285613 0.00000000 0.00000000 0.00000000 7.29405328 0.43507155 0.00000000 0.00000000 0.00000000 2.94332490 0.35026513 0.00000000 0.00000000 0.00000000 1.04049708 0.00000000 1.00000000 0.00000000 0.00000000 0.38456415 0.00000000 0.00000000 1.00000000 0.00000000 0.13069643 0.00000000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 79111.42300 0.00051029 0.00000000 0.00000000 0.00000000 0.00000000 11864.74601 0.00394630 0.00000000 0.00000000 0.00000000 0.00000000 2700.16429700 0.02030707 0.00000000 0.00000000 0.00000000 0.00000000 763.95943480 0.07969183 0.00000000 0.00000000 0.00000000 0.00000000 248.45150560 0.23420624 0.00000000 0.00000000 0.00000000 0.00000000 88.28358100 0.44833849 0.00000000 0.00000000 0.00000000 0.00000000 32.94860707 0.36408167 0.00000000 0.00000000 0.00000000 0.00000000 142.55358000 0.00000000 0.02638741 0.00000000 0.00000000 0.00000000 44.16368801 0.00000000 0.11226434 0.00000000 0.00000000 0.00000000 8.95249950 0.00000000 -0.26178922 0.00000000 0.00000000 0.00000000 4.55469209 0.00000000 0.00000000 1.30024850 0.00000000 0.00000000 2.14440790 0.00000000 0.00000000 0.67197237 0.00000000 0.00000000 0.60708777 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.21651432 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 776.77542000 0.00220280 0.00000000 0.00000000 0.00000000 183.80107020 0.01769418 0.00000000 0.00000000 0.00000000 58.69400317 0.08243129 0.00000000 0.00000000 0.00000000 21.70159170 0.24207279 0.00000000 0.00000000 0.00000000 8.58214896 0.42263558 0.00000000 0.00000000 0.00000000 3.49226792 0.34151806 0.00000000 0.00000000 0.00000000 1.26374270 0.00000000 1.00000000 0.00000000 0.00000000 0.46607870 0.00000000 0.00000000 1.00000000 0.00000000 0.15766003 0.00000000 0.00000000 0.00000000 1.00000000 a 19 $ POTASSIUM (17s,10p) -> [6s,3p] $ S-TYPE FUNCTIONS 17 6 0 153976.18330 0.00023663 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23082.49767 0.00183429 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5253.23447500 0.00953105 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1486.95501300 0.03863841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 484.06333730 0.12480769 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 173.56653980 0.29278861 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 67.11638146 0.40633426 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.33950205 0.20077216 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 172.87693570 0.00000000 -0.02420096 0.00000000 0.00000000 0.00000000 0.00000000 53.05864906 0.00000000 -0.11553095 0.00000000 0.00000000 0.00000000 0.00000000 7.92127540 0.00000000 0.57455545 0.00000000 0.00000000 0.00000000 0.00000000 3.21088805 0.00000000 0.57023185 0.00000000 0.00000000 0.00000000 0.00000000 4.56620709 0.00000000 0.00000000 -0.22615763 0.00000000 0.00000000 0.00000000 0.70209907 0.00000000 0.00000000 0.75528392 0.00000000 0.00000000 0.00000000 0.28258943 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.03580582 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01581921 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 728.18449870 0.00261507 0.00000000 0.00000000 172.13265060 0.02067363 0.00000000 0.00000000 54.82984707 0.09320560 0.00000000 0.00000000 20.16626649 0.25436518 0.00000000 0.00000000 7.86107288 0.39131133 0.00000000 0.00000000 3.11052131 0.22481346 0.00000000 0.00000000 11.75733749 0.00000000 -0.02577729 0.00000000 1.51396174 0.00000000 0.57359429 0.00000000 0.58328592 0.00000000 1.07983200 0.00000000 0.21570478 0.00000000 0.00000000 1.00000000 a 20 $ CALCIUM (17s,10p) -> [6s,3p] $ S-TYPE FUNCTIONS 17 6 0 172517.32680 0.00023318 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25861.51927 0.00180765 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5885.66186700 0.00939438 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1665.97300300 0.03810841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 542.36718150 0.12331204 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 194.57803490 0.29004471 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.30359764 0.40587151 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 29.57406259 0.20398411 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 191.20074660 0.00000000 -0.02441976 0.00000000 0.00000000 0.00000000 0.00000000 58.84029988 0.00000000 -0.11547027 0.00000000 0.00000000 0.00000000 0.00000000 8.96425409 0.00000000 0.56356637 0.00000000 0.00000000 0.00000000 0.00000000 3.68569605 0.00000000 0.56709683 0.00000000 0.00000000 0.00000000 0.00000000 5.24642897 0.00000000 0.00000000 -0.22825334 0.00000000 0.00000000 0.00000000 0.84862622 0.00000000 0.00000000 0.72625219 0.00000000 0.00000000 0.00000000 0.36743301 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06682158 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02675973 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 836.97262060 0.00252583 0.00000000 0.00000000 197.93040140 0.02007651 0.00000000 0.00000000 63.13555805 0.09130299 0.00000000 0.00000000 23.28268717 0.25247030 0.00000000 0.00000000 9.11764449 0.39426326 0.00000000 0.00000000 3.63361201 0.23011559 0.00000000 0.00000000 13.49416312 0.00000000 -0.02649502 0.00000000 1.81392598 0.00000000 0.55088108 0.00000000 0.71981826 0.00000000 1.02806166 0.00000000 0.27629577 0.00000000 0.00000000 1.00000000 a 21 $ SCANDIUM (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 191612.91870 0.00023076 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28723.85036 0.00178903 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6537.01164900 0.00929904 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1850.30971700 0.03773944 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 602.38855160 0.12227148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 216.17324770 0.28814821 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 83.71251788 0.40517543 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.90870719 0.20566020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 211.34393230 0.00000000 -0.02452799 0.00000000 0.00000000 0.00000000 0.00000000 65.12892014 0.00000000 -0.11570158 0.00000000 0.00000000 0.00000000 0.00000000 10.03431153 0.00000000 0.55995283 0.00000000 0.00000000 0.00000000 0.00000000 4.15968846 0.00000000 0.56087765 0.00000000 0.00000000 0.00000000 0.00000000 6.00090416 0.00000000 0.00000000 -0.22840494 0.00000000 0.00000000 0.00000000 0.98255784 0.00000000 0.00000000 0.71948970 0.00000000 0.00000000 0.00000000 0.42483193 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07718546 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03014722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 947.34122820 0.00247372 0.00000000 0.00000000 224.09699730 0.01974297 0.00000000 0.00000000 71.56033488 0.09035715 0.00000000 0.00000000 26.44482449 0.25201602 0.00000000 0.00000000 10.39379829 0.39675536 0.00000000 0.00000000 4.16063046 0.23208625 0.00000000 0.00000000 15.56573714 0.00000000 -0.02712942 0.00000000 2.11215449 0.00000000 0.55109257 0.00000000 0.84184709 0.00000000 1.00906358 0.00000000 0.32297543 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 30.98939099 0.01190284 0.00000000 0.00000000 8.69054651 0.06765586 0.00000000 0.00000000 2.95202563 0.21332540 0.00000000 0.00000000 1.07619108 0.38391076 0.00000000 0.00000000 0.38338915 0.00000000 1.00000000 0.00000000 0.12534686 0.00000000 0.00000000 1.00000000 a 22 $ TITANIUM (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 211575.69030 0.00023318 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31714.94506 0.00180797 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7217.54765400 0.00939843 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2042.93942500 0.03815685 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 665.12896210 0.12374757 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 238.74942260 0.29208551 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 92.50869100 0.41226801 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 36.40391921 0.21090534 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 232.72624610 0.00000000 -0.02492014 0.00000000 0.00000000 0.00000000 0.00000000 71.79120971 0.00000000 -0.11746490 0.00000000 0.00000000 0.00000000 0.00000000 11.15853462 0.00000000 0.56503342 0.00000000 0.00000000 0.00000000 0.00000000 4.65481354 0.00000000 0.56211102 0.00000000 0.00000000 0.00000000 0.00000000 6.80346292 0.00000000 0.00000000 -0.23011425 0.00000000 0.00000000 0.00000000 1.12010764 0.00000000 0.00000000 0.72103187 0.00000000 0.00000000 0.00000000 0.48080119 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.08515727 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03265748 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1063.14747300 0.00246908 0.00000000 0.00000000 251.56507060 0.01977335 0.00000000 0.00000000 80.40855485 0.09098798 0.00000000 0.00000000 29.76819327 0.25559900 0.00000000 0.00000000 11.73683056 0.40489387 0.00000000 0.00000000 4.71423752 0.23693403 0.00000000 0.00000000 17.79680370 0.00000000 -0.02787864 0.00000000 2.42726987 0.00000000 0.55672915 0.00000000 0.96823446 0.00000000 1.00554473 0.00000000 0.37056694 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 37.71338472 0.01151384 0.00000000 0.00000000 10.69293118 0.06724634 0.00000000 0.00000000 3.67284470 0.21484208 0.00000000 0.00000000 1.35885903 0.38890893 0.00000000 0.00000000 0.49213295 0.00000000 1.00000000 0.00000000 0.16330521 0.00000000 0.00000000 1.00000000 a 23 $ VANADIUM (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 232340.65060 0.00023072 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34828.84117 0.00178882 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7926.54486900 0.00929925 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2243.77330500 0.03776146 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 730.59322940 0.12255910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 262.32219630 0.28963509 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 101.70403800 0.41004703 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 40.06478462 0.21113611 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 255.24014970 0.00000000 -0.02445812 0.00000000 0.00000000 0.00000000 0.00000000 78.80464696 0.00000000 -0.11527205 0.00000000 0.00000000 0.00000000 0.00000000 12.34059895 0.00000000 0.55174749 0.00000000 0.00000000 0.00000000 0.00000000 5.17420192 0.00000000 0.54504528 0.00000000 0.00000000 0.00000000 0.00000000 7.65138945 0.00000000 0.00000000 -0.22967638 0.00000000 0.00000000 0.00000000 1.26397599 0.00000000 0.00000000 0.71683769 0.00000000 0.00000000 0.00000000 0.53861762 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09271930 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03499806 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1184.23691500 0.00244498 0.00000000 0.00000000 280.23075190 0.01964345 0.00000000 0.00000000 89.64362714 0.09079695 0.00000000 0.00000000 33.24241125 0.25650768 0.00000000 0.00000000 13.14451445 0.40815394 0.00000000 0.00000000 5.29485341 0.23860378 0.00000000 0.00000000 20.17558685 0.00000000 -0.02824149 0.00000000 2.76058652 0.00000000 0.55574636 0.00000000 1.10089009 0.00000000 0.99319919 0.00000000 0.42013311 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 43.86113486 0.01148717 0.00000000 0.00000000 12.51602189 0.06824715 0.00000000 0.00000000 4.33138550 0.21837784 0.00000000 0.00000000 1.61388558 0.39245212 0.00000000 0.00000000 0.58749574 0.00000000 1.00000000 0.00000000 0.19515723 0.00000000 0.00000000 1.00000000 a 24 $ CHROMIUM (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 254477.80700 0.00023387 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38131.79705 0.00181426 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8675.29306100 0.00943639 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2455.00998500 0.03834364 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 799.16217790 0.12459195 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 286.90021490 0.29489696 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 111.25413230 0.41846150 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.86415264 0.21633763 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 279.32669170 0.00000000 -0.02345091 0.00000000 0.00000000 0.00000000 0.00000000 86.27473238 0.00000000 -0.11080370 0.00000000 0.00000000 0.00000000 0.00000000 13.55575611 0.00000000 0.53028966 0.00000000 0.00000000 0.00000000 0.00000000 5.69781128 0.00000000 0.51603517 0.00000000 0.00000000 0.00000000 0.00000000 8.56365826 0.00000000 0.00000000 -0.38109546 0.00000000 0.00000000 0.00000000 1.39882968 0.00000000 0.00000000 1.19915914 0.00000000 0.00000000 0.00000000 0.57288171 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09009617 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03412589 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1306.43988600 0.00242773 0.00000000 0.00000000 309.25311440 0.01954404 0.00000000 0.00000000 98.99627396 0.09065179 0.00000000 0.00000000 36.75691645 0.25699279 0.00000000 0.00000000 14.56665708 0.40935505 0.00000000 0.00000000 5.87399374 0.23729389 0.00000000 0.00000000 22.89099970 0.00000000 -0.02816603 0.00000000 3.08550018 0.00000000 0.56034120 0.00000000 1.21323291 0.00000000 0.98119020 0.00000000 0.44931681 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 43.72007448 0.01362296 0.00000000 0.00000000 12.39124265 0.07893518 0.00000000 0.00000000 4.26394420 0.23833840 0.00000000 0.00000000 1.55252218 0.39526851 0.00000000 0.00000000 0.53761929 0.00000000 1.00000000 0.00000000 0.16493173 0.00000000 0.00000000 1.00000000 a 25 $ MANGANESE (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 277185.00150 0.00022838 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 41550.76989 0.00177077 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9455.97001500 0.00920772 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2676.52064800 0.03741597 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 871.46687530 0.12164861 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 312.98306420 0.28824393 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 121.44454050 0.41041601 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 47.92259883 0.21372375 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 303.66723160 0.00000000 -0.02458993 0.00000000 0.00000000 0.00000000 0.00000000 93.88140319 0.00000000 -0.11602608 0.00000000 0.00000000 0.00000000 0.00000000 14.87942121 0.00000000 0.55112060 0.00000000 0.00000000 0.00000000 0.00000000 6.28652008 0.00000000 0.53707561 0.00000000 0.00000000 0.00000000 0.00000000 9.48585913 0.00000000 0.00000000 -0.22889263 0.00000000 0.00000000 0.00000000 1.56987062 0.00000000 0.00000000 0.71196170 0.00000000 0.00000000 0.00000000 0.65903214 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10686292 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03926744 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1444.79781800 0.00239941 0.00000000 0.00000000 342.06551200 0.01936929 0.00000000 0.00000000 109.58400890 0.09023611 0.00000000 0.00000000 40.74798817 0.25745468 0.00000000 0.00000000 16.18862657 0.41272352 0.00000000 0.00000000 6.54845060 0.24087700 0.00000000 0.00000000 25.35708644 0.00000000 -0.02870717 0.00000000 3.48301688 0.00000000 0.55208101 0.00000000 1.38588009 0.00000000 0.97226901 0.00000000 0.52555095 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 56.56318912 0.01154325 0.00000000 0.00000000 16.27873471 0.07029985 0.00000000 0.00000000 5.69642739 0.22450771 0.00000000 0.00000000 2.14111479 0.39703065 0.00000000 0.00000000 0.78291802 0.00000000 1.00000000 0.00000000 0.25952311 0.00000000 0.00000000 1.00000000 a 26 $ IRON (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 300784.84640 0.00022806 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 45088.97056 0.00176818 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10262.51632 0.00919271 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2905.28972900 0.03735550 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 946.11487140 0.12151108 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 339.87832890 0.28818881 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 131.94425590 0.41126613 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52.11149408 0.21518584 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 329.48839270 0.00000000 -0.02474522 0.00000000 0.00000000 0.00000000 0.00000000 101.92332740 0.00000000 -0.11683089 0.00000000 0.00000000 0.00000000 0.00000000 16.24046274 0.00000000 0.55293621 0.00000000 0.00000000 0.00000000 0.00000000 6.88406758 0.00000000 0.53601640 0.00000000 0.00000000 0.00000000 0.00000000 10.47069378 0.00000000 0.00000000 -0.22912709 0.00000000 0.00000000 0.00000000 1.73600397 0.00000000 0.00000000 0.71159320 0.00000000 0.00000000 0.00000000 0.72577289 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11595528 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04196823 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1585.39599700 0.00237940 0.00000000 0.00000000 375.38006500 0.01925315 0.00000000 0.00000000 120.31816500 0.09002184 0.00000000 0.00000000 44.78874903 0.25798172 0.00000000 0.00000000 17.82927858 0.41492650 0.00000000 0.00000000 7.22471538 0.24207475 0.00000000 0.00000000 28.14321976 0.00000000 -0.02904176 0.00000000 3.87432414 0.00000000 0.55312260 0.00000000 1.54107523 0.00000000 0.96771137 0.00000000 0.58285615 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 61.99667503 0.01197197 0.00000000 0.00000000 17.87373255 0.07321014 0.00000000 0.00000000 6.27447829 0.23103094 0.00000000 0.00000000 2.35523372 0.39910706 0.00000000 0.00000000 0.85432240 0.00000000 1.00000000 0.00000000 0.27869254 0.00000000 0.00000000 1.00000000 a 27 $ COBALT (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 325817.01550 0.00022568 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 48839.63645 0.00174994 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11114.93731 0.00910031 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3146.16036400 0.03699626 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1024.43784600 0.12044270 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 368.02508820 0.28598732 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142.91229210 0.40908312 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56.48264921 0.21500146 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 356.40298320 0.00000000 -0.02476706 0.00000000 0.00000000 0.00000000 0.00000000 110.31165220 0.00000000 -0.11702139 0.00000000 0.00000000 0.00000000 0.00000000 17.65963483 0.00000000 0.55215522 0.00000000 0.00000000 0.00000000 0.00000000 7.50590305 0.00000000 0.53246877 0.00000000 0.00000000 0.00000000 0.00000000 11.50180718 0.00000000 0.00000000 -0.22942470 0.00000000 0.00000000 0.00000000 1.90819946 0.00000000 0.00000000 0.71180934 0.00000000 0.00000000 0.00000000 0.79396697 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12444449 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04444465 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1731.13691400 0.00239058 0.00000000 0.00000000 409.91750440 0.01938300 0.00000000 0.00000000 131.45648580 0.09090545 0.00000000 0.00000000 48.98743971 0.26146682 0.00000000 0.00000000 19.53707899 0.42157265 0.00000000 0.00000000 7.92872816 0.24571814 0.00000000 0.00000000 31.07601758 0.00000000 -0.02943807 0.00000000 4.28351807 0.00000000 0.55615568 0.00000000 1.70229216 0.00000000 0.96772195 0.00000000 0.64202909 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 68.14074524 0.01198385 0.00000000 0.00000000 19.68524102 0.07368854 0.00000000 0.00000000 6.93221288 0.23085497 0.00000000 0.00000000 2.60251257 0.39281059 0.00000000 0.00000000 0.94016837 0.00000000 0.49652611 0.00000000 0.30381458 0.00000000 0.00000000 0.32719933 a 28 $ NICKEL (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 351535.72940 0.00022529 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52695.80928 0.00174686 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11992.46829 0.00908500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3394.57766900 0.03694075 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1105.35945800 0.12032820 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 397.14677770 0.28596715 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 154.27542970 0.40983020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 61.01872378 0.21620643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 384.45559740 0.00000000 -0.02465128 0.00000000 0.00000000 0.00000000 0.00000000 119.04879200 0.00000000 -0.11658505 0.00000000 0.00000000 0.00000000 0.00000000 19.13701222 0.00000000 0.54864127 0.00000000 0.00000000 0.00000000 0.00000000 8.15267186 0.00000000 0.52640051 0.00000000 0.00000000 0.00000000 0.00000000 12.57940864 0.00000000 0.00000000 -0.22797884 0.00000000 0.00000000 0.00000000 2.08708661 0.00000000 0.00000000 0.70703738 0.00000000 0.00000000 0.00000000 0.86432569 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13283169 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04684533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1883.09074900 0.00237483 0.00000000 0.00000000 445.95155320 0.01928946 0.00000000 0.00000000 143.08430820 0.09071821 0.00000000 0.00000000 53.37292072 0.26181414 0.00000000 0.00000000 21.32191936 0.42309150 0.00000000 0.00000000 8.66435620 0.24641686 0.00000000 0.00000000 34.14425521 0.00000000 -0.02967713 0.00000000 4.71224559 0.00000000 0.55616824 0.00000000 1.87092319 0.00000000 0.96357766 0.00000000 0.70370016 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 74.59160347 0.01207745 0.00000000 0.00000000 21.59063275 0.07463726 0.00000000 0.00000000 7.62461426 0.23236776 0.00000000 0.00000000 2.86322068 0.39042652 0.00000000 0.00000000 1.03110634 0.00000000 0.51501528 0.00000000 0.33060761 0.00000000 0.00000000 0.33962671 a 29 $ COPPER (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 377518.79920 0.00022812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56589.98431 0.00176880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12878.71171 0.00919935 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3645.37521400 0.03741102 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1187.00729400 0.12189874 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 426.46421900 0.28983901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 165.70660160 0.41531872 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 65.59894271 0.21905799 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 414.41265810 0.00000000 -0.02468253 0.00000000 0.00000000 0.00000000 0.00000000 128.32056040 0.00000000 -0.11716827 0.00000000 0.00000000 0.00000000 0.00000000 20.62208975 0.00000000 0.55301316 0.00000000 0.00000000 0.00000000 0.00000000 8.78212260 0.00000000 0.52242719 0.00000000 0.00000000 0.00000000 0.00000000 13.74137201 0.00000000 0.00000000 -0.22736062 0.00000000 0.00000000 0.00000000 2.24312468 0.00000000 0.00000000 0.71761211 0.00000000 0.00000000 0.00000000 0.89370549 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10836700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03880618 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 2034.75966900 0.00235248 0.00000000 0.00000000 481.90468110 0.01913407 0.00000000 0.00000000 154.67482960 0.09017111 0.00000000 0.00000000 57.74057697 0.26063285 0.00000000 0.00000000 23.09905281 0.42093486 0.00000000 0.00000000 9.38824786 0.24344615 0.00000000 0.00000000 37.59617121 0.00000000 -0.02899109 0.00000000 5.12406908 0.00000000 0.54919084 0.00000000 2.01199961 0.00000000 0.93793330 0.00000000 0.73860686 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 74.12946064 0.01436322 0.00000000 0.00000000 21.35984259 0.08662818 0.00000000 0.00000000 7.49952405 0.25631431 0.00000000 0.00000000 2.76013942 0.40374062 0.00000000 0.00000000 0.95362061 0.00000000 1.00000000 0.00000000 0.28420863 0.00000000 0.00000000 1.00000000 a 30 $ ZINC (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 405924.31030 0.00022442 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 60846.95574 0.00174021 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13847.34309 0.00905133 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3919.61585500 0.03681734 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1276.35941700 0.12004850 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 458.67254440 0.28576058 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 178.28725250 0.41087462 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 70.61219284 0.21816962 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 443.88077950 0.00000000 -0.02493427 0.00000000 0.00000000 0.00000000 0.00000000 137.55875270 0.00000000 -0.11817956 0.00000000 0.00000000 0.00000000 0.00000000 22.26808348 0.00000000 0.55367318 0.00000000 0.00000000 0.00000000 0.00000000 9.52173106 0.00000000 0.52628935 0.00000000 0.00000000 0.00000000 0.00000000 14.87411407 0.00000000 0.00000000 -0.22929955 0.00000000 0.00000000 0.00000000 2.46475176 0.00000000 0.00000000 0.71135485 0.00000000 0.00000000 0.00000000 1.01132722 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14919852 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05144187 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 2205.35085300 0.00233562 0.00000000 0.00000000 522.35300700 0.01903102 0.00000000 0.00000000 167.73055540 0.08995576 0.00000000 0.00000000 62.67004537 0.26113249 0.00000000 0.00000000 25.10974946 0.42348448 0.00000000 0.00000000 10.22514268 0.24618927 0.00000000 0.00000000 40.71344252 0.00000000 -0.03002967 0.00000000 5.62470907 0.00000000 0.55575255 0.00000000 2.22799491 0.00000000 0.95581013 0.00000000 0.83354742 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 88.55431531 0.01272817 0.00000000 0.00000000 25.72152556 0.07939450 0.00000000 0.00000000 9.12783676 0.24491507 0.00000000 0.00000000 3.43123641 0.40390526 0.00000000 0.00000000 1.23089206 0.00000000 1.00000000 0.00000000 0.39031845 0.00000000 0.00000000 1.00000000 a 31 $ GALLIUM (17s,12p,6p) -> [6s,5p,2d] $ S-TYPE FUNCTIONS 17 6 0 435548.66250 0.00023646 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 65289.58903 0.00183353 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14858.78426 0.00953719 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4205.97347300 0.03880341 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1369.64164300 0.12661605 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 492.30348900 0.30175310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 191.41923230 0.43543934 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.84055867 0.23282364 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 474.30810610 0.00000000 -0.02674371 0.00000000 0.00000000 0.00000000 0.00000000 147.10297560 0.00000000 -0.12654658 0.00000000 0.00000000 0.00000000 0.00000000 23.98259943 0.00000000 0.58840347 0.00000000 0.00000000 0.00000000 0.00000000 10.29823009 0.00000000 0.56324272 0.00000000 0.00000000 0.00000000 0.00000000 16.05038143 0.00000000 0.00000000 -0.24516440 0.00000000 0.00000000 0.00000000 2.69884688 0.00000000 0.00000000 0.74578050 0.00000000 0.00000000 0.00000000 1.14285887 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.20217652 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07198015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 2432.01710700 0.00224341 0.00000000 0.00000000 0.00000000 0.00000000 576.12049580 0.01834227 0.00000000 0.00000000 0.00000000 0.00000000 185.11584350 0.08727970 0.00000000 0.00000000 0.00000000 0.00000000 69.24657256 0.25684868 0.00000000 0.00000000 0.00000000 0.00000000 27.81810778 0.42398378 0.00000000 0.00000000 0.00000000 0.00000000 11.42022994 0.25701340 0.00000000 0.00000000 0.00000000 0.00000000 42.81966153 0.00000000 -0.01932652 0.00000000 0.00000000 0.00000000 6.38859010 0.00000000 0.31571387 0.00000000 0.00000000 0.00000000 2.66989933 0.00000000 0.57617793 0.00000000 0.00000000 0.00000000 1.07817838 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.22796559 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06283623 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 103.92331830 0.01146461 0.00000000 30.37109439 0.07362575 0.00000000 10.87207810 0.23505107 0.00000000 4.15491379 0.40318564 0.00000000 1.53456591 0.40824748 0.00000000 0.51114264 0.00000000 1.00000000 a 32 $ GERMANIUM (17s,12p,6p) -> [6s,5p,2d] $ S-TYPE FUNCTIONS 17 6 0 466115.00590 0.00022487 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 69875.42076 0.00174354 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15903.27672 0.00906915 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4501.82334500 0.03690617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1466.05709200 0.12050168 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 527.07841730 0.28748642 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 205.00395070 0.41622322 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 81.25159607 0.22397846 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 505.74661280 0.00000000 -0.02518461 0.00000000 0.00000000 0.00000000 0.00000000 156.96593740 0.00000000 -0.11898930 0.00000000 0.00000000 0.00000000 0.00000000 25.76144818 0.00000000 0.54930136 0.00000000 0.00000000 0.00000000 0.00000000 11.10665469 0.00000000 0.52939309 0.00000000 0.00000000 0.00000000 0.00000000 17.27205910 0.00000000 0.00000000 -0.22854596 0.00000000 0.00000000 0.00000000 2.94382891 0.00000000 0.00000000 0.68377930 0.00000000 0.00000000 0.00000000 1.28391649 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.25873337 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09352491 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 2633.93462400 0.00221439 0.00000000 0.00000000 0.00000000 0.00000000 624.00161630 0.01814090 0.00000000 0.00000000 0.00000000 0.00000000 200.58528400 0.08663218 0.00000000 0.00000000 0.00000000 0.00000000 75.09708153 0.25649021 0.00000000 0.00000000 0.00000000 0.00000000 30.21438847 0.42658611 0.00000000 0.00000000 0.00000000 0.00000000 12.44008757 0.26200527 0.00000000 0.00000000 0.00000000 0.00000000 45.98131600 0.00000000 -0.02032177 0.00000000 0.00000000 0.00000000 6.99456544 0.00000000 0.32013745 0.00000000 0.00000000 0.00000000 2.96860013 0.00000000 0.59051015 0.00000000 0.00000000 0.00000000 1.23209885 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.28981615 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08556461 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 119.44887580 0.01058654 0.00000000 35.06291529 0.06960128 0.00000000 12.63692453 0.22807035 0.00000000 4.88886729 0.40301067 0.00000000 1.84531954 0.41304847 0.00000000 0.63571159 0.00000000 1.00000000 a 33 $ ARSENIC (17s,13p,6p) -> [6s,5p,2d] $ S-TYPE FUNCTIONS 17 6 0 498032.42160 0.00022740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 74656.86874 0.00176328 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16990.96000 0.00917280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4809.62003200 0.03733783 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1566.28870600 0.12199536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 563.21360500 0.29137475 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 219.11179980 0.42326351 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 86.86606103 0.22921464 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 538.19512480 0.00000000 -0.02525420 0.00000000 0.00000000 0.00000000 0.00000000 167.14850220 0.00000000 -0.11915461 0.00000000 0.00000000 0.00000000 0.00000000 27.60551716 0.00000000 0.54628496 0.00000000 0.00000000 0.00000000 0.00000000 11.94785852 0.00000000 0.53001521 0.00000000 0.00000000 0.00000000 0.00000000 18.53802313 0.00000000 0.00000000 -0.23479188 0.00000000 0.00000000 0.00000000 3.20189857 0.00000000 0.00000000 0.69167053 0.00000000 0.00000000 0.00000000 1.43565221 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.31837805 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11622632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 2678.94215500 0.00233190 0.00000000 0.00000000 0.00000000 0.00000000 634.61765840 0.01904215 0.00000000 0.00000000 0.00000000 0.00000000 203.93967610 0.09022974 0.00000000 0.00000000 0.00000000 0.00000000 76.32389037 0.26169038 0.00000000 0.00000000 0.00000000 0.00000000 30.66412494 0.41857168 0.00000000 0.00000000 0.00000000 0.00000000 12.50505673 0.23447830 0.00000000 0.00000000 0.00000000 0.00000000 49.25622955 0.00000000 -0.02123554 0.00000000 0.00000000 0.00000000 7.72748915 0.00000000 0.30470207 0.00000000 0.00000000 0.00000000 3.54104935 0.00000000 0.52888373 0.00000000 0.00000000 0.00000000 1.69855855 0.00000000 0.37272251 0.00000000 0.00000000 0.00000000 0.76848071 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.30050823 0.00000000 0.00000000 0.00000000 0.35023592 0.00000000 0.09819064 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 135.33289310 0.00992911 0.00000000 39.86021274 0.06656884 0.00000000 14.44642836 0.22275768 0.00000000 5.64329004 0.40309224 0.00000000 2.16681886 0.41671668 0.00000000 0.76514971 0.00000000 1.00000000 a 34 $ SELENIUM (17s,13p,6p) -> [6s,5p,2d] $ S-TYPE FUNCTIONS 17 6 0 531071.66700 0.00024109 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 79603.04412 0.00186964 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18115.84424 0.00972716 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5127.89231900 0.03960479 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1669.91308400 0.12948855 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 600.57534530 0.30959437 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 233.70021250 0.45115769 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 92.67244393 0.24579189 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 571.57513680 0.00000000 -0.02689571 0.00000000 0.00000000 0.00000000 0.00000000 177.63686370 0.00000000 -0.12670989 0.00000000 0.00000000 0.00000000 0.00000000 29.51776705 0.00000000 0.57699002 0.00000000 0.00000000 0.00000000 0.00000000 12.82439979 0.00000000 0.56369075 0.00000000 0.00000000 0.00000000 0.00000000 19.84823584 0.00000000 0.00000000 -0.25132416 0.00000000 0.00000000 0.00000000 3.47440185 0.00000000 0.00000000 0.72905417 0.00000000 0.00000000 0.00000000 1.59889108 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.38333469 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14049742 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 2815.35005700 0.00255690 0.00000000 0.00000000 0.00000000 0.00000000 666.92558300 0.02087403 0.00000000 0.00000000 0.00000000 0.00000000 214.34213190 0.09877210 0.00000000 0.00000000 0.00000000 0.00000000 80.24668794 0.28471821 0.00000000 0.00000000 0.00000000 0.00000000 32.25108129 0.45003585 0.00000000 0.00000000 0.00000000 0.00000000 13.10643256 0.24416091 0.00000000 0.00000000 0.00000000 0.00000000 53.36610852 0.00000000 -0.02155846 0.00000000 0.00000000 0.00000000 8.18277772 0.00000000 0.32662311 0.00000000 0.00000000 0.00000000 3.62399457 0.00000000 0.57740499 0.00000000 0.00000000 0.00000000 1.63415914 0.00000000 0.34301321 0.00000000 0.00000000 0.00000000 0.58418320 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.23966269 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08878513 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 151.82910280 0.00939703 0.00000000 44.83999252 0.06408650 0.00000000 16.32899951 0.21834238 0.00000000 6.43050576 0.40314790 0.00000000 2.50480252 0.41966491 0.00000000 0.90271148 0.00000000 1.00000000 a 35 $ BROMINE (17s,13p,6p) -> [6s,5p,2d] $ S-TYPE FUNCTIONS 17 6 0 565073.25260 0.00023660 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 84701.72318 0.00183483 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19276.27190 0.00954658 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5456.42845800 0.03887714 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1776.95035000 0.12718314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 639.19398280 0.30437662 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 248.78823960 0.44490940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 98.67830549 0.24381643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 606.07824570 0.00000000 -0.02652716 0.00000000 0.00000000 0.00000000 0.00000000 188.45598480 0.00000000 -0.12484585 0.00000000 0.00000000 0.00000000 0.00000000 31.49714451 0.00000000 0.56468684 0.00000000 0.00000000 0.00000000 0.00000000 13.73600832 0.00000000 0.55555269 0.00000000 0.00000000 0.00000000 0.00000000 21.20321277 0.00000000 0.00000000 -0.24940920 0.00000000 0.00000000 0.00000000 3.76164202 0.00000000 0.00000000 0.71213120 0.00000000 0.00000000 0.00000000 1.77359340 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.45197414 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.16613377 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 3019.69557200 0.00249710 0.00000000 0.00000000 0.00000000 0.00000000 715.35481130 0.02041927 0.00000000 0.00000000 0.00000000 0.00000000 229.98328750 0.09689715 0.00000000 0.00000000 0.00000000 0.00000000 86.16784462 0.28053901 0.00000000 0.00000000 0.00000000 0.00000000 34.66787080 0.44606390 0.00000000 0.00000000 0.00000000 0.00000000 14.11387031 0.24410074 0.00000000 0.00000000 0.00000000 0.00000000 57.08565308 0.00000000 -0.02185595 0.00000000 0.00000000 0.00000000 8.81938458 0.00000000 0.32707075 0.00000000 0.00000000 0.00000000 3.93403029 0.00000000 0.57855230 0.00000000 0.00000000 0.00000000 1.79988304 0.00000000 0.33570988 0.00000000 0.00000000 0.00000000 0.66899411 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.27136238 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10083790 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 168.85370260 0.00896640 0.00000000 49.97794992 0.06206206 0.00000000 18.27491334 0.21474732 0.00000000 7.24556946 0.40335337 0.00000000 2.85623150 0.42208813 0.00000000 1.04596211 0.00000000 1.00000000 a 36 $ KRYPTON (17s,13p,6p) -> [6s,5p,2d] $ S-TYPE FUNCTIONS 17 6 0 600250.97570 0.00023741 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 89976.65078 0.00184102 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20476.81422 0.00957956 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5796.15540800 0.03902065 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1887.59132000 0.12772646 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 679.11458520 0.30596521 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 264.38244510 0.44857474 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 104.88368570 0.24722957 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 641.47370760 0.00000000 -0.02674528 0.00000000 0.00000000 0.00000000 0.00000000 199.57524820 0.00000000 -0.12571123 0.00000000 0.00000000 0.00000000 0.00000000 33.54546295 0.00000000 0.56483736 0.00000000 0.00000000 0.00000000 0.00000000 14.68395514 0.00000000 0.55972766 0.00000000 0.00000000 0.00000000 0.00000000 22.60310186 0.00000000 0.00000000 -0.25298772 0.00000000 0.00000000 0.00000000 4.06506830 0.00000000 0.00000000 0.70992160 0.00000000 0.00000000 0.00000000 1.96110271 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.52465148 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.19332400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 3232.95896100 0.00248856 0.00000000 0.00000000 0.00000000 0.00000000 765.96442690 0.02037901 0.00000000 0.00000000 0.00000000 0.00000000 246.33940810 0.09697719 0.00000000 0.00000000 0.00000000 0.00000000 92.36528304 0.28199961 0.00000000 0.00000000 0.00000000 0.00000000 37.19950955 0.45116254 0.00000000 0.00000000 0.00000000 0.00000000 15.17216653 0.24917132 0.00000000 0.00000000 0.00000000 0.00000000 60.93132170 0.00000000 -0.02217360 0.00000000 0.00000000 0.00000000 9.47926007 0.00000000 0.32838463 0.00000000 0.00000000 0.00000000 4.25646863 0.00000000 0.58124997 0.00000000 0.00000000 0.00000000 1.97293138 0.00000000 0.32863542 0.00000000 0.00000000 0.00000000 0.76337109 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.30943626 0.00000000 0.00000000 0.00000000 0.55671931 0.00000000 0.11569704 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 186.41760900 0.00861203 0.00000000 55.27412435 0.06039441 0.00000000 20.28321912 0.21181332 0.00000000 8.08845370 0.40366293 0.00000000 3.22140338 0.42402861 0.00000000 1.19521701 0.00000000 1.00000000 ergo-3.5/basis/6-311G0000664000175000017500000030262612743400275011057 00000000000000$ 6-311G EMSL Basis Set Exchange Library 10/26/15 5:19 AM $ Elements References $ -------- ---------- $ H, Li - Ne: R. Krishnan, J.S. Binkley, R. Seeger and J.A. Pople, $ J. Chem. Phys. 72, 650 (1980) $ Na - Ar: A.D. McLean and G.S. Chandler J. Chem. Phys. 72, 5639, (1980). $ K - Ca: J-P. Blaudeau, M. P. McGrath, L.A. Curtiss and L. Radom, $ J. Chem. Phys. 107, 5016 (1997). $ Ga - Kr: L. A. Curtiss, M. P. McGrath, J-P. Blandeau, N. E. Davis, $ R. C. Binning, Jr. L. Radom, J. Chem. Phys. 103, 6104 (1995). $ I : M.N. Glukhovstev, A. pross, M.P. McGrath, L. Radom, J. Chem. Phys. $ 103, 1878 (1995) $ a 1 $ HYDROGEN (5s) -> [3s] $ HYDROGEN (5s)->[3s] $ S-TYPE FUNCTIONS 5 3 0 33.8650000 0.0254938 0.0000000 0.0000000 5.0947900 0.1903730 0.0000000 0.0000000 1.1587900 0.8521610 0.0000000 0.0000000 0.3258400 0.0000000 1.0000000 0.0000000 0.1027410 0.0000000 0.0000000 1.0000000 a 2 $ HELIUM (5s) -> [3s] $ HELIUM (5s)->[3s] $ S-TYPE FUNCTIONS 5 3 0 98.1243000 0.0287452 0.0000000 0.0000000 14.7689000 0.2080610 0.0000000 0.0000000 3.3188300 0.8376350 0.0000000 0.0000000 0.8740470 0.0000000 1.0000000 0.0000000 0.2445640 0.0000000 0.0000000 1.0000000 a 3 $ LITHIUM (11s,5p) -> [4s,3p] $ LITHIUM (11s,5p)->[4s,3p] $ S-TYPE FUNCTIONS 11 4 0 900.4600000 0.00228704 0.0000000 0.0000000 0.0000000 134.4330000 0.0176350 0.0000000 0.0000000 0.0000000 30.4365000 0.0873434 0.0000000 0.0000000 0.0000000 8.6263900 0.2809770 0.0000000 0.0000000 0.0000000 2.4833200 0.6587410 0.0000000 0.0000000 0.0000000 0.3031790 0.1187120 0.0000000 0.0000000 0.0000000 4.8689000 0.0000000 0.0933293 0.0000000 0.0000000 0.8569240 0.0000000 0.9430450 0.0000000 0.0000000 0.2432270 0.0000000 -0.00279827 0.0000000 0.0000000 0.0635070 0.0000000 0.0000000 1.0000000 0.0000000 0.0243683 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 4.8689000 0.0327661 0.0000000 0.0000000 0.8569240 0.1597920 0.0000000 0.0000000 0.2432270 0.8856670 0.0000000 0.0000000 0.0635070 0.0000000 1.0000000 0.0000000 0.0243683 0.0000000 0.0000000 1.0000000 a 4 $ BERYLLIUM (11s,5p) -> [4s,3p] $ BERYLLIUM (11s,5p)->[4s,3p] $ S-TYPE FUNCTIONS 11 4 0 1682.8000000 0.00228574 0.0000000 0.0000000 0.0000000 251.7150000 0.0175938 0.0000000 0.0000000 0.0000000 57.4116000 0.0863315 0.0000000 0.0000000 0.0000000 16.5171000 0.2818350 0.0000000 0.0000000 0.0000000 4.8536400 0.6405940 0.0000000 0.0000000 0.0000000 0.6268630 0.1444670 0.0000000 0.0000000 0.0000000 8.3093800 0.0000000 0.1086210 0.0000000 0.0000000 1.7407500 0.0000000 0.9273010 0.0000000 0.0000000 0.4858160 0.0000000 -0.00297169 0.0000000 0.0000000 0.1636130 0.0000000 0.0000000 1.0000000 0.0000000 0.0567285 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 8.3093800 0.0361344 0.0000000 0.0000000 1.7407500 0.2169580 0.0000000 0.0000000 0.4858160 0.8418390 0.0000000 0.0000000 0.1636130 0.0000000 1.0000000 0.0000000 0.0567285 0.0000000 0.0000000 1.0000000 a 5 $ BORON (11s,5p) -> [4s,3p] $ BORON (11s,5p)->[4s,3p] $ S-TYPE FUNCTIONS 11 4 0 2858.8900000 0.00215375 0.0000000 0.0000000 0.0000000 428.1400000 0.0165823 0.0000000 0.0000000 0.0000000 97.5282000 0.0821870 0.0000000 0.0000000 0.0000000 27.9693000 0.2766180 0.0000000 0.0000000 0.0000000 8.2157700 0.6293160 0.0000000 0.0000000 0.0000000 1.1127800 0.1737700 0.0000000 0.0000000 0.0000000 13.2415000 0.0000000 0.1174430 0.0000000 0.0000000 3.0016600 0.0000000 0.9180020 0.0000000 0.0000000 0.9128560 0.0000000 -0.00265105 0.0000000 0.0000000 0.3154540 0.0000000 0.0000000 1.0000000 0.0000000 0.0988563 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 13.2415000 0.0418100 0.0000000 0.0000000 3.0016600 0.2365750 0.0000000 0.0000000 0.9128560 0.8162140 0.0000000 0.0000000 0.3154540 0.0000000 1.0000000 0.0000000 0.0988563 0.0000000 0.0000000 1.0000000 a 6 $ CARBON (11s,5p) -> [4s,3p] $ CARBON (11s,5p)->[4s,3p] $ S-TYPE FUNCTIONS 11 4 0 4563.2400000 0.00196665 0.0000000 0.0000000 0.0000000 682.0240000 0.0152306 0.0000000 0.0000000 0.0000000 154.9730000 0.0761269 0.0000000 0.0000000 0.0000000 44.4553000 0.2608010 0.0000000 0.0000000 0.0000000 13.0290000 0.6164620 0.0000000 0.0000000 0.0000000 1.8277300 0.2210060 0.0000000 0.0000000 0.0000000 20.9642000 0.0000000 0.1146600 0.0000000 0.0000000 4.8033100 0.0000000 0.9199990 0.0000000 0.0000000 1.4593300 0.0000000 -0.00303068 0.0000000 0.0000000 0.4834560 0.0000000 0.0000000 1.0000000 0.0000000 0.1455850 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 20.9642000 0.0402487 0.0000000 0.0000000 4.8033100 0.2375940 0.0000000 0.0000000 1.4593300 0.8158540 0.0000000 0.0000000 0.4834560 0.0000000 1.0000000 0.0000000 0.1455850 0.0000000 0.0000000 1.0000000 a 7 $ NITROGEN (11s,5p) -> [4s,3p] $ NITROGEN (11s,5p)->[4s,3p] $ S-TYPE FUNCTIONS 11 4 0 6293.4800000 0.00196979 0.0000000 0.0000000 0.0000000 949.0440000 0.0149613 0.0000000 0.0000000 0.0000000 218.7760000 0.0735006 0.0000000 0.0000000 0.0000000 63.6916000 0.2489370 0.0000000 0.0000000 0.0000000 18.8282000 0.6024600 0.0000000 0.0000000 0.0000000 2.7202300 0.2562020 0.0000000 0.0000000 0.0000000 30.6331000 0.0000000 0.1119060 0.0000000 0.0000000 7.0261400 0.0000000 0.9216660 0.0000000 0.0000000 2.1120500 0.0000000 -0.00256919 0.0000000 0.0000000 0.6840090 0.0000000 0.0000000 1.0000000 0.0000000 0.2008780 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 30.6331000 0.0383119 0.0000000 0.0000000 7.0261400 0.2374030 0.0000000 0.0000000 2.1120500 0.8175920 0.0000000 0.0000000 0.6840090 0.0000000 1.0000000 0.0000000 0.2008780 0.0000000 0.0000000 1.0000000 a 8 $ OXYGEN (11s,5p) -> [4s,3p] $ OXYGEN (11s,5p)->[4s,3p] $ S-TYPE FUNCTIONS 11 4 0 8588.5000000 0.00189515 0.0000000 0.0000000 0.0000000 1297.2300000 0.0143859 0.0000000 0.0000000 0.0000000 299.2960000 0.0707320 0.0000000 0.0000000 0.0000000 87.3771000 0.2400010 0.0000000 0.0000000 0.0000000 25.6789000 0.5947970 0.0000000 0.0000000 0.0000000 3.7400400 0.2808020 0.0000000 0.0000000 0.0000000 42.1175000 0.0000000 0.1138890 0.0000000 0.0000000 9.6283700 0.0000000 0.9208110 0.0000000 0.0000000 2.8533200 0.0000000 -0.00327447 0.0000000 0.0000000 0.9056610 0.0000000 0.0000000 1.0000000 0.0000000 0.2556110 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 42.1175000 0.0365114 0.0000000 0.0000000 9.6283700 0.2371530 0.0000000 0.0000000 2.8533200 0.8197020 0.0000000 0.0000000 0.9056610 0.0000000 1.0000000 0.0000000 0.2556110 0.0000000 0.0000000 1.0000000 a 9 $ FLUORINE (11s,5p) -> [4s,3p] $ FLUORINE (11s,5p)->[4s,3p] $ S-TYPE FUNCTIONS 11 4 0 11427.1000000 0.00180093 0.0000000 0.0000000 0.0000000 1722.3500000 0.0137419 0.0000000 0.0000000 0.0000000 395.7460000 0.0681334 0.0000000 0.0000000 0.0000000 115.1390000 0.2333250 0.0000000 0.0000000 0.0000000 33.6026000 0.5890860 0.0000000 0.0000000 0.0000000 4.9190100 0.2995050 0.0000000 0.0000000 0.0000000 55.4441000 0.0000000 0.1145360 0.0000000 0.0000000 12.6323000 0.0000000 0.9205120 0.0000000 0.0000000 3.7175600 0.0000000 -0.00337804 0.0000000 0.0000000 1.1654500 0.0000000 0.0000000 1.0000000 0.0000000 0.3218920 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 55.4441000 0.0354609 0.0000000 0.0000000 12.6323000 0.2374510 0.0000000 0.0000000 3.7175600 0.8204580 0.0000000 0.0000000 1.1654500 0.0000000 1.0000000 0.0000000 0.3218920 0.0000000 0.0000000 1.0000000 a 10 $ NEON (11s,5p) -> [4s,3p] $ NEON (11s,5p)->[4s,3p] $ S-TYPE FUNCTIONS 11 4 0 13995.7000000 0.00183276 0.0000000 0.0000000 0.0000000 2117.1000000 0.0138827 0.0000000 0.0000000 0.0000000 490.4250000 0.0680687 0.0000000 0.0000000 0.0000000 143.8330000 0.2313280 0.0000000 0.0000000 0.0000000 41.9265000 0.5858900 0.0000000 0.0000000 0.0000000 6.1568400 0.3058830 0.0000000 0.0000000 0.0000000 69.1211000 0.0000000 0.1191490 0.0000000 0.0000000 15.8350000 0.0000000 0.9173750 0.0000000 0.0000000 4.6732600 0.0000000 -0.00405839 0.0000000 0.0000000 1.4575600 0.0000000 0.0000000 1.0000000 0.0000000 0.3970570 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 69.1211000 0.0356574 0.0000000 0.0000000 15.8350000 0.2394770 0.0000000 0.0000000 4.6732600 0.8184610 0.0000000 0.0000000 1.4575600 0.0000000 1.0000000 0.0000000 0.3970570 0.0000000 0.0000000 1.0000000 a 11 $ SODIUM (13s,9p) -> [6s,5p] $ SODIUM (13s,9p)->[6s,5p] $ S-TYPE FUNCTIONS 13 6 0 36166.4000000 0.0010320 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5372.5800000 0.0080710 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1213.2100000 0.0421290 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 339.6230000 0.1697890 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 109.5530000 0.5146210 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 38.7773000 0.3798170 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 38.7773000 0.0000000 0.3747620 0.0000000 0.0000000 0.0000000 0.0000000 14.5759000 0.0000000 0.5757690 0.0000000 0.0000000 0.0000000 0.0000000 5.2699300 0.0000000 0.1129330 0.0000000 0.0000000 0.0000000 0.0000000 1.8277700 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6199480 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0572400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0240480 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 144.6450000 0.0114850 0.0000000 0.0000000 0.0000000 0.0000000 33.9074000 0.0823830 0.0000000 0.0000000 0.0000000 0.0000000 10.6285000 0.3196580 0.0000000 0.0000000 0.0000000 0.0000000 3.8238900 0.7012950 0.0000000 0.0000000 0.0000000 0.0000000 1.4442900 0.0000000 0.6385060 0.0000000 0.0000000 0.0000000 0.5526210 0.0000000 0.4253650 0.0000000 0.0000000 0.0000000 0.1887200 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0465010 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0162850 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 a 12 $ MAGNESIUM (13s,9p) -> [6s,5p] $ MAGNESIUM (13s,9p)->[6s,5p] $ S-TYPE FUNCTIONS 13 6 0 43866.5000000 0.0009180 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6605.3700000 0.0070470 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1513.2600000 0.0359410 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 432.3170000 0.1414610 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 142.1490000 0.4267640 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 51.3983000 0.4979750 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 51.3983000 0.0000000 0.2513550 0.0000000 0.0000000 0.0000000 0.0000000 19.9196000 0.0000000 0.6186710 0.0000000 0.0000000 0.0000000 0.0000000 8.0247400 0.0000000 0.1884170 0.0000000 0.0000000 0.0000000 0.0000000 2.5081700 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8715310 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1081880 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0401300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 193.8540000 0.0101880 0.0000000 0.0000000 0.0000000 0.0000000 45.4420000 0.0753600 0.0000000 0.0000000 0.0000000 0.0000000 14.1864000 0.3074190 0.0000000 0.0000000 0.0000000 0.0000000 5.0575100 0.7175750 0.0000000 0.0000000 0.0000000 0.0000000 1.8886100 0.0000000 0.6673390 0.0000000 0.0000000 0.0000000 0.7226520 0.0000000 0.3946490 0.0000000 0.0000000 0.0000000 0.2364170 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0933580 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0348090 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 a 13 $ ALUMINUM (13s,9p) -> [6s,5p] $ ALUMINUM (13s,9p)->[6s,5p] $ S-TYPE FUNCTIONS 13 6 0 54866.4890000 0.0008390 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8211.7665000 0.0065270 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1866.1761000 0.0336660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 531.1293400 0.1329020 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 175.1179700 0.4012660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 64.0055000 0.5313380 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 64.0055000 0.0000000 0.2023050 0.0000000 0.0000000 0.0000000 0.0000000 25.2925070 0.0000000 0.6247900 0.0000000 0.0000000 0.0000000 0.0000000 10.5349100 0.0000000 0.2274390 0.0000000 0.0000000 0.0000000 0.0000000 3.2067110 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.1525550 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1766780 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0652370 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 259.2836200 0.0094480 0.0000000 0.0000000 0.0000000 0.0000000 61.0768700 0.0709740 0.0000000 0.0000000 0.0000000 0.0000000 19.3032370 0.2956360 0.0000000 0.0000000 0.0000000 0.0000000 7.0108820 0.7282190 0.0000000 0.0000000 0.0000000 0.0000000 2.6738650 0.0000000 0.6444670 0.0000000 0.0000000 0.0000000 1.0365960 0.0000000 0.4174130 0.0000000 0.0000000 0.0000000 0.3168190 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1142570 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0413970 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 a 14 $ SILICON (13s,9p) -> [6s,5p] $ SILICON (13s,9p)->[6s,5p] $ S-TYPE FUNCTIONS 13 6 0 69379.2300000 0.0007570 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10354.9400000 0.0059320 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2333.8796000 0.0310880 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 657.1429500 0.1249670 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 214.3011300 0.3868970 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 77.6291680 0.5548880 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 77.6291680 0.0000000 0.1778810 0.0000000 0.0000000 0.0000000 0.0000000 30.6308070 0.0000000 0.6277650 0.0000000 0.0000000 0.0000000 0.0000000 12.8012950 0.0000000 0.2476230 0.0000000 0.0000000 0.0000000 0.0000000 3.9268660 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.4523430 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2562340 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0942790 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 335.4831900 0.0088660 0.0000000 0.0000000 0.0000000 0.0000000 78.9003660 0.0682990 0.0000000 0.0000000 0.0000000 0.0000000 24.9881500 0.2909580 0.0000000 0.0000000 0.0000000 0.0000000 9.2197110 0.7321170 0.0000000 0.0000000 0.0000000 0.0000000 3.6211400 0.0000000 0.6198790 0.0000000 0.0000000 0.0000000 1.4513100 0.0000000 0.4391480 0.0000000 0.0000000 0.0000000 0.5049770 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1863170 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0654320 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 a 15 $ PHOSPHOROUS (13s,9p) -> [6s,5p] $ PHOSPHOROUS (13s,9p)->[6s,5p] $ S-TYPE FUNCTIONS 13 6 0 77492.4000000 0.0007810 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11605.8000000 0.0060680 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2645.9600000 0.0311600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 754.9760000 0.1234310 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 248.7550000 0.3782090 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 91.1565000 0.5632620 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 91.1565000 0.0000000 0.1602550 0.0000000 0.0000000 0.0000000 0.0000000 36.2257000 0.0000000 0.6276470 0.0000000 0.0000000 0.0000000 0.0000000 15.2113000 0.0000000 0.2638490 0.0000000 0.0000000 0.0000000 0.0000000 4.7941700 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.8079300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3568160 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1147830 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 384.8430000 0.0092060 0.0000000 0.0000000 0.0000000 0.0000000 90.5521000 0.0698740 0.0000000 0.0000000 0.0000000 0.0000000 29.1339000 0.2924700 0.0000000 0.0000000 0.0000000 0.0000000 10.8862000 0.7281030 0.0000000 0.0000000 0.0000000 0.0000000 4.3525900 0.0000000 0.6283490 0.0000000 0.0000000 0.0000000 1.7770600 0.0000000 0.4280440 0.0000000 0.0000000 0.0000000 0.6970050 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2535320 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0684930 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 a 16 $ SULFUR (13s,9p) -> [6s,5p] $ SULFUR (13s,9p)->[6s,5p] $ S-TYPE FUNCTIONS 13 6 0 93413.4000000 0.0007430 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13961.7000000 0.0057930 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3169.9100000 0.0299540 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 902.4560000 0.1190280 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 297.1580000 0.3684320 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 108.7020000 0.5772990 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 108.7020000 0.0000000 0.1431860 0.0000000 0.0000000 0.0000000 0.0000000 43.1553000 0.0000000 0.6244650 0.0000000 0.0000000 0.0000000 0.0000000 18.1079000 0.0000000 0.2833660 0.0000000 0.0000000 0.0000000 0.0000000 5.5600900 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 2.1318300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4204030 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1360450 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 495.0400000 0.0083090 0.0000000 0.0000000 0.0000000 0.0000000 117.2210000 0.0640240 0.0000000 0.0000000 0.0000000 0.0000000 37.7749000 0.2776140 0.0000000 0.0000000 0.0000000 0.0000000 14.0584000 0.7450760 0.0000000 0.0000000 0.0000000 0.0000000 5.5657400 0.0000000 0.6137120 0.0000000 0.0000000 0.0000000 2.2629700 0.0000000 0.4438180 0.0000000 0.0000000 0.0000000 0.8079940 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2774600 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0771410 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 a 17 $ CHLORINE (13s,10p) -> [6s,5p] $ CHLORINE (13s,10p)->[6s,5p] $ S-TYPE FUNCTIONS 13 6 0 105819.0000000 0.0007380 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15872.0000000 0.0057180 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3619.6500000 0.0294950 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1030.8000000 0.1172860 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 339.9080000 0.3629490 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 124.5380000 0.5841490 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 124.5380000 0.0000000 0.1341770 0.0000000 0.0000000 0.0000000 0.0000000 49.5135000 0.0000000 0.6242500 0.0000000 0.0000000 0.0000000 0.0000000 20.8056000 0.0000000 0.2917560 0.0000000 0.0000000 0.0000000 0.0000000 6.5834600 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 2.5646800 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.5597630 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1832730 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 5 0 589.7760000 0.0023910 0.0000000 0.0000000 0.0000000 0.0000000 139.8490000 0.0185040 0.0000000 0.0000000 0.0000000 0.0000000 45.1413000 0.0813770 0.0000000 0.0000000 0.0000000 0.0000000 16.8733000 0.2215520 0.0000000 0.0000000 0.0000000 0.0000000 6.7411000 0.7725690 0.0000000 0.0000000 0.0000000 0.0000000 6.7411000 0.0000000 -1.5722440 0.0000000 0.0000000 0.0000000 2.7715200 0.0000000 0.9923890 0.0000000 0.0000000 0.0000000 1.0238700 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3813680 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1094370 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 a 18 $ ARGON (13s,10p) -> [6s,5p] $ ARGON (13s,10p)->[6s,5p] $ S-TYPE FUNCTIONS 13 6 0 118022.3800000 0.0007470 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 17683.5410000 0.0057900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4027.7657000 0.0299190 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1145.3977000 0.1192060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 377.1637500 0.3690280 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 138.1596900 0.5764590 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 138.1596900 0.0000000 0.1439270 0.0000000 0.0000000 0.0000000 0.0000000 54.9891170 0.0000000 0.6229380 0.0000000 0.0000000 0.0000000 0.0000000 23.1706670 0.0000000 0.2839640 0.0000000 0.0000000 0.0000000 0.0000000 7.3778600 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 2.9236880 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.6504050 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2328250 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 5 0 663.0620100 0.0030820 0.0000000 0.0000000 0.0000000 0.0000000 157.0928100 0.0241650 0.0000000 0.0000000 0.0000000 0.0000000 50.2311000 0.1082230 0.0000000 0.0000000 0.0000000 0.0000000 18.6353450 0.2941920 0.0000000 0.0000000 0.0000000 0.0000000 7.4465370 0.6878620 0.0000000 0.0000000 0.0000000 0.0000000 7.4465370 0.0000000 -0.1214482 0.0000000 0.0000000 0.0000000 3.0956980 0.0000000 0.1632370 0.0000000 0.0000000 0.0000000 1.1064630 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4156010 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1454490 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 a 19 $ POTASSIUM (14s,11p,3d) -> [8s,7p,1d] $ POTASSIUM (14s,11p,3d)->[8s,7p,1d] $ S-TYPE FUNCTIONS 14 8 0 182594.0000000 0.000227747 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 27369.0000000 0.00176640 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6229.1700000 0.00919497 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1764.5800000 0.03745510 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 577.0510000 0.12204500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 210.2490000 0.29899000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 82.6178000 0.0000000 0.4051470 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 33.2332000 0.0000000 0.2925320 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8.1064900 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.3340300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8455440 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3282160 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0364035 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0176463 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 7 0 891.0540000 0.00218429 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 211.0160000 0.0175891 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 67.6714000 0.0817775 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 25.2715000 0.0000000 0.2456560 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.1390000 0.0000000 0.4339840 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.2018600 0.0000000 0.3623770 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.6250700 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6437700 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2461300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0454400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0161600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 1 0 13.3700000 0.0316016 3.4210000 0.1568790 1.0630000 0.3905820 a 20 $ CALCIUM (14s,11p,3d) -> [8s,7p,1d] $ CALCIUM (14s,11p,3d)->[8s,7p,1d] $ S-TYPE FUNCTIONS 14 8 0 202699.0000000 0.000222964 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30382.5000000 0.00172932 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6915.0800000 0.00900226 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1959.0200000 0.0366699 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 640.9360000 0.1194100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 233.9770000 0.2918250 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 92.2892000 0.0000000 0.4044150 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 37.2545000 0.0000000 0.2963130 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.1319800 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.8177900 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0493500 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4286600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0628226 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0260162 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 7 0 1019.7600000 0.00205986 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 241.5960000 0.01665010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 77.6370000 0.07776460 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 29.1154000 0.0000000 0.2418060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.7626000 0.0000000 0.4325780 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.9228900 0.0000000 0.3673250 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.9064500 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7369000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2764200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0602700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0179100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 1 0 15.0800000 0.0368947 3.9260000 0.1778200 1.2330000 0.4255130 a 31 $ GALLIUM (15s,13p,5d) -> [8s,7p,2d] $ GALLIUM (15s,13p,5d)->[8s,7p,2d] $ S-TYPE FUNCTIONS 15 8 0 333800.0000000 0.00083805 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 50100.0000000 0.00624660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11510.0000000 0.03202800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3292.0000000 0.12709000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1089.0000000 0.39092000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 401.0000000 0.54643000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 401.0000000 0.0000000 0.1807800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 159.3000000 0.0000000 0.6223900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 67.5900000 0.0000000 0.2495300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24.8900000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.6800000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.3860000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.3310000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1853000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0662100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2181.0000000 0.0225650 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 515.4000000 0.1836300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 164.8000000 0.8598400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 61.4000000 0.0000000 0.3434500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24.9800000 0.0000000 0.5056100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.4400000 0.0000000 0.2622400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.4400000 0.0000000 0.0000000 0.0641300 0.0000000 0.0000000 0.0000000 0.0000000 5.5890000 0.0000000 0.0000000 0.3788400 0.0000000 0.0000000 0.0000000 0.0000000 2.5170000 0.0000000 0.0000000 0.6166900 0.0000000 0.0000000 0.0000000 0.0000000 1.0530000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2915000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1210000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0399000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 2 0 67.1400000 0.0309570 0.0000000 18.9400000 0.1748000 0.0000000 6.4260000 0.4434600 0.0000000 2.1900000 0.5670200 0.0000000 0.6725000 0.0000000 1.0000000 a 32 $ GERMANIUM (15s,13p,5d) -> [8s,7p,2d] $ GERMANIUM (15s,13p,5d)->[8s,7p,2d] $ S-TYPE FUNCTIONS 15 8 0 357500.0000000 0.00083898 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 53670.0000000 0.00626350 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12300.0000000 0.03203600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3512.0000000 0.12751000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1161.0000000 0.39165000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 428.0000000 0.54528000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 428.0000000 0.0000000 0.1816000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 170.0000000 0.0000000 0.6224800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 72.0600000 0.0000000 0.2487200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 26.6900000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.5000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.7420000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.4990000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2292000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0867500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2345.0000000 0.0225140 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 554.2000000 0.1833500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 177.3000000 0.8600300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 66.1300000 0.0000000 0.3430600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 26.9000000 0.0000000 0.5065200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.2600000 0.0000000 0.2614100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.2600000 0.0000000 0.0000000 0.0672460 0.0000000 0.0000000 0.0000000 0.0000000 6.1160000 0.0000000 0.0000000 0.3723800 0.0000000 0.0000000 0.0000000 0.0000000 2.8190000 0.0000000 0.0000000 0.6176300 0.0000000 0.0000000 0.0000000 0.0000000 1.2110000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3568000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1621000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0608400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 2 0 74.8400000 0.0303900 0.0000000 21.2300000 0.1731900 0.0000000 7.2970000 0.4409000 0.0000000 2.5490000 0.5653200 0.0000000 0.8165000 0.0000000 1.0000000 a 33 $ ARSENIC (15s,13p,5d) -> [8s,7p,2d] $ ARSENIC (15s,13p,5d)->[8s,7p,2d] $ S-TYPE FUNCTIONS 15 8 0 381200.0000000 0.00083327 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 57240.0000000 0.00621980 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13110.0000000 0.03203000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3743.0000000 0.12729000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1238.0000000 0.39132000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 456.3000000 0.54581000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 456.3000000 0.0000000 0.1809700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 181.4000000 0.0000000 0.6218000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 77.0700000 0.0000000 0.2498800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 28.5700000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.3600000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.1170000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.6780000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2761000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1105000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2528.0000000 0.0222710 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 597.3000000 0.1819900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 190.7000000 0.8613300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 70.9600000 0.0000000 0.3433800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 28.8900000 0.0000000 0.5059800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.1300000 0.0000000 0.2612800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.1300000 0.0000000 0.0000000 0.0685360 0.0000000 0.0000000 0.0000000 0.0000000 6.5330000 0.0000000 0.0000000 0.3828200 0.0000000 0.0000000 0.0000000 0.0000000 3.0280000 0.0000000 0.0000000 0.6059900 0.0000000 0.0000000 0.0000000 0.0000000 1.3440000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5823000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2558000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0865100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 2 0 86.0500000 0.0279890 0.0000000 24.4900000 0.1650200 0.0000000 8.4420000 0.4373600 0.0000000 2.9810000 0.5725500 0.0000000 0.9790000 0.0000000 1.0000000 a 34 $ SELENIUM (15s,13p,5d) -> [8s,7p,2d] $ SELENIUM (15s,13p,5d)->[8s,7p,2d] $ S-TYPE FUNCTIONS 15 8 0 405400.0000000 0.0008310 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 60850.0000000 0.0062331 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13910.0000000 0.0320710 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3989.0000000 0.1263600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1324.0000000 0.3889900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 487.0000000 0.5488800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 487.0000000 0.0000000 0.1796300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 193.2000000 0.0000000 0.6222700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 82.1900000 0.0000000 0.2506700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30.5200000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.2500000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.5100000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.8670000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3190000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1120000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2706.0000000 0.0221460 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 638.6000000 0.1818000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 203.8000000 0.8615500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 75.9600000 0.0000000 0.3424300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 31.0200000 0.0000000 0.5054100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.0500000 0.0000000 0.2623700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.0500000 0.0000000 0.0000000 0.0701630 0.0000000 0.0000000 0.0000000 0.0000000 6.9860000 0.0000000 0.0000000 0.3841900 0.0000000 0.0000000 0.0000000 0.0000000 3.2340000 0.0000000 0.0000000 0.6036800 0.0000000 0.0000000 0.0000000 0.0000000 1.4750000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.7275000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2869000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0967900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 2 0 99.0100000 0.0255960 0.0000000 28.4100000 0.1545900 0.0000000 9.8630000 0.4287800 0.0000000 3.5140000 0.5862000 0.0000000 1.1710000 0.0000000 1.0000000 a 35 $ BROMINE (15s,13p,5d) -> [8s,7p,2d] $ BROMINE (15s,13p,5d)->[8s,7p,2d] $ S-TYPE FUNCTIONS 15 8 0 439700.0000000 0.0008130 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 66030.0000000 0.0062850 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15140.0000000 0.0319200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4317.0000000 0.1288000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1414.0000000 0.3946000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 523.9000000 0.5413000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 523.9000000 0.0000000 0.1831000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 207.7000000 0.0000000 0.6176000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 86.5400000 0.0000000 0.2538000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30.5200000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.9800000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.4120000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.8620000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3932000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1400000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2957.0000000 0.0222600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 700.3000000 0.1802000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 224.6000000 0.8624000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 82.5900000 0.0000000 0.3440000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 33.1900000 0.0000000 0.5071000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14.2000000 0.0000000 0.2590000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14.2000000 0.0000000 0.0000000 0.0796500 0.0000000 0.0000000 0.0000000 0.0000000 7.4380000 0.0000000 0.0000000 0.3734000 0.0000000 0.0000000 0.0000000 0.0000000 3.5260000 0.0000000 0.0000000 0.6049000 0.0000000 0.0000000 0.0000000 0.0000000 1.5950000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8462000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3186000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1096000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 2 0 134.8000000 0.0183100 0.0000000 36.3900000 0.1350000 0.0000000 12.1600000 0.4261000 0.0000000 4.3410000 0.6043000 0.0000000 1.5350000 0.0000000 1.0000000 a 36 $ KRYPTON (15s,13p,5d) -> [8s,7p,2d] $ KRYPTON (15s,13p,5d)->[8s,7p,2d] $ S-TYPE FUNCTIONS 15 8 0 456200.0000000 0.0008111 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 68460.0000000 0.0062552 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15650.0000000 0.0320220 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4500.0000000 0.1254600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1497.0000000 0.3866600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 550.5000000 0.5518800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 550.5000000 0.0000000 0.1771100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 218.2000000 0.0000000 0.6224800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 92.9700000 0.0000000 0.2527900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 34.5900000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.1200000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.3460000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 2.2730000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4841000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1849000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 3074.0000000 0.0219980 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 725.7000000 0.1810200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 231.5000000 0.8622300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 86.4500000 0.0000000 0.3415500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 35.5500000 0.0000000 0.5025500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.1400000 0.0000000 0.2645300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.1400000 0.0000000 0.0000000 0.0716700 0.0000000 0.0000000 0.0000000 0.0000000 8.0310000 0.0000000 0.0000000 0.3970800 0.0000000 0.0000000 0.0000000 0.0000000 3.7990000 0.0000000 0.0000000 0.5876200 0.0000000 0.0000000 0.0000000 0.0000000 1.8490000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8676000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3329000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1199000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 2 0 122.5000000 0.0233770 0.0000000 35.3700000 0.1461000 0.0000000 12.3900000 0.4223000 0.0000000 4.4960000 0.5945200 0.0000000 1.5460000 0.0000000 1.0000000 a 53 $ IODINE (15s,12p,6d) -> [10s,9p,4d] $ IODINE (15s,12p,6d)->[10s,9p,4d] $ S-TYPE FUNCTIONS 15 10 0 444750.0000000 0.0008900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 66127.0000000 0.0069400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14815.0000000 0.0360900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4144.9000000 0.1356800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1361.2000000 0.3387800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 508.4400000 0.0000000 0.4365900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 209.5900000 0.0000000 0.1837500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 81.9590000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 36.8050000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.4950000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.8859000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.5520000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.2088000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2734000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1009000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 9 0 2953.6000000 0.0122100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 712.6100000 0.0858700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 236.7100000 0.2949300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 92.6310000 0.4784900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 39.7320000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 17.2730000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.9570000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.1529000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.3328000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4947000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2160000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0829300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 4 0 261.9500000 0.0314400 0.0000000 0.0000000 0.0000000 76.7340000 0.1902800 0.0000000 0.0000000 0.0000000 27.5510000 0.4724700 0.0000000 0.0000000 0.0000000 10.6060000 0.0000000 1.0000000 0.0000000 0.0000000 3.4217000 0.0000000 0.0000000 1.0000000 0.0000000 1.1370000 0.0000000 0.0000000 0.0000000 1.0000000 ergo-3.5/basis/Huz-III0000775000175000017500000003351512743400275011460 00000000000000$Basis = HIII $Elements supported $H C N O F P S $ $ REFERENCE $ a 1 $ HYDROGEN (6s,2p) -> [4s,2p] $ S-TYPE FUNCTIONS 6 4 0 68.1600000 0.00255000 0.00000000 0.00000000 0.00000000 10.2465000 0.01938000 0.00000000 0.00000000 0.00000000 2.3464800 0.09280000 0.00000000 0.00000000 0.00000000 0.6733200 0.00000000 1.00000000 0.00000000 0.00000000 0.2246600 0.00000000 0.00000000 1.00000000 0.00000000 0.0822170 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 1.30000000 1.00000000 0.000000000 0.33000000 0.00000000 1.000000000 a 6 $ CARBON (11s,7p,2d) -> [7s,6p,2d] $ S-TYPE FUNCTIONS 11 7 0 16371.07400000 0.000226418 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2426.99250000 0.001784468 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 544.54418000 0.009490157 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 150.80487000 0.039660515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 47.70814300 0.131340260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.45724100 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.08455780 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.38246310 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.66198660 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.24698997 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09498730 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 6 0 40.79042300 0.004096975 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.50346330 0.027584766 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.94083570 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.07511150 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.42670240 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.17481926 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07113054 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.40000000 1.000000000 0.00000000 0.35000000 0.000000000 1.00000000 a 7 $ NITROGEN (11s,7p,2d) -> [7s,6p,2d] $ S-TYPE FUNCTIONS 11 7 0 23274.85700000 0.000215213 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3468.18300000 0.001692144 0.0 0.0 0.0 0.0 0.0 0.0 777.98843000 0.008994065 0.0 0.0 0.0 0.0 0.0 0.0 215.71976000 0.037730386 0.0 0.0 0.0 0.0 0.0 0.0 68.07803100 0.126671100 0.0 0.0 0.0 0.0 0.0 0.0 23.42439700 0.000000000 1.0 0.0 0.0 0.0 0.0 0.0 8.66937660 0.000000000 0.0 1.0 0.0 0.0 0.0 0.0 3.42175330 0.000000000 0.0 0.0 1.0 0.0 0.0 0.0 0.93125652 0.000000000 0.0 0.0 0.0 1.0 0.0 0.0 0.34656886 0.000000000 0.0 0.0 0.0 0.0 1.0 0.0 0.13311530 0.000000000 0.0 0.0 0.0 0.0 0.0 1.0 $ P-TYPE FUNCTIONS 7 6 0 60.31724000 0.003976577 0.00 0.00 0.00 0.00 0.00 14.10081100 0.027641966 0.00 0.00 0.00 0.00 0.00 4.38771790 0.000000000 1.00 0.00 0.00 0.00 0.00 1.60827170 0.000000000 0.00 1.00 0.00 0.00 0.00 0.63885442 0.000000000 0.00 0.00 1.00 0.00 0.00 0.26035829 0.000000000 0.00 0.00 0.00 1.00 0.00 0.10396545 0.000000000 0.00 0.00 0.00 0.00 1.00 $ D-TYPE FUNCTIONS 2 2 0 1.4000 1.000 0.000 0.3500 0.000 1.000 a 8 $ OXYGEN (11s,7p,2d) -> [7s,6p,2d] $ S-TYPE FUNCTIONS 11 7 0 30664.50300000 0.000214139 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4573.20140000 0.001677982 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1029.55240000 0.008881474 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 285.90474000 0.037281336 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 90.36965300 0.125188670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 31.21957800 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 11.60776600 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 4.59275950 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 1.27117160 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.47214017 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.17896534 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000000 $ P-TYPE FUNCTIONS 7 6 0 78.70294300 0.004241602 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.40926100 0.029868457 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.75308350 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.11071140 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.83712087 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.33907630 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13226310 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.4000 1.0 0.0 0.3500 0.0 1.0 a 9 $ FLUORINE (11s,7p,2d) -> [7s,6p,2d] $ S-TYPE FUNCTIONS 11 7 0 37736.00000000 0.000218249 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5867.07910000 0.001633222 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1332.46790000 0.008681782 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 369.44060000 0.036543393 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 116.84300000 0.123109630 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 40.34877000 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 14.96627000 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 5.87592950 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 1.65333520 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.61083583 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.23328922 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 7 6 0 102.26192000 0.004273232 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.93838100 0.030534308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.52059140 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.77245660 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.10005140 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.44677512 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.17187009 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.4000 1.0 0.0 0.3500 0.0 1.0 a 15 $ PHOSPHORUS (12s,8p,3d) -> [8s,7p,3d] $ S-TYPE FUNCTIONS 12 8 0 77492.39800000 0.00032906 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 11605.79400000 0.00255174 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2645.96280000 0.01313011 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 753.97763000 0.05189690 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 248.75403000 0.15794319 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 91.15662300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 36.22561800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 15.21115500 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 4.71394850 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 1.78254320 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.34271273 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.12471095 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 7 0 447.03882000 0.00282929 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 108.29827000 0.02130874 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 34.76738800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 12.58337900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 4.69885490 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 1.75275990 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.42209549 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.12532092 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 3 3 0 3.2000 1.00000000 0.0000000 0.0 0.8000 0.00000000 1.0000000 0.0 0.2000 0.00000000 0.0000000 1.0 a 16 $ SULFUR (12s,8p,3d) -> [8s,7p,3d] $ S-TYPE FUNCTIONS 12 8 0 94181.10000000 0.000305571 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 13921.80000000 0.002401035 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3168.04000000 0.012354308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 901.84300000 0.049099148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 296.95400000 0.150990180 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 108.66900000 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 43.15790000 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 18.11680000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 5.57096000 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 2.14287000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.43438900 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.15709300 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 7 0 532.03127000 0.002735071 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 126.63701000 0.021604760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 39.75234800 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 14.14024300 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 5.26069100 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 2.00635500 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.51597093 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.14946546 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 3 3 0 3.2000 1.00000000 0.0000000 0.0 0.8000 0.00000000 1.0000000 0.0 0.2000 0.00000000 0.0000000 1.0 ergo-3.5/basis/aug-cc-pV5Z0000775000175000017500000124137112743400275012245 00000000000000$ aug-cc-pV5Z EMSL Basis Set Exchange Library 11/10/15 12:42 AM $ Elements References $ -------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $ Li : Unofficial set from D. Feller. $ B - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ Na - Mg: Unofficial set from D. Feller. $ Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $ Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ Sc - Zn: N.B. Balabanov and K.A. Peterson, J. Chem. Phys., 123, 064107 (2005) $ Ga - Kr: A.K. Wilson, D.E. Woon,K.A. Peterson, T.H.Dunning, Jr., J. Chem. Phys. 110, 7667 (1999) $ $ Elements References $ -------- --------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ Diffuse s exponent - S. Mielke $ He : D.E. Woon and T.H. Dunning, Jr., J. Chem. Phys. 100, 2975 (1994). $ B - F: R.A. Kendall, T.H. Dunning, Jr. and R.J. Harrison, J. Chem. Phys. 96, $ 6796 (1992). $ Al - Cl: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $ Sc - Zn: N.B. Balabanov and K.A. Peterson, J. Chem. Phys, 123, 064107 (2005) $ $ HYDROGEN (9s,5p,4d,3f,2g) -> [6s,5p,4d,3f,2g] $ HYDROGEN (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ HYDROGEN (1s,1p,1d,1f,1g) a 1 $ S-TYPE FUNCTIONS 9 6 0 402.0000000 0.0002790 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 60.2400000 0.0021650 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.7300000 0.0112010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.9050000 0.0448780 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.2830000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4655000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1811000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0727900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0207000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 5 0 4.5160000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.7120000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6490000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2460000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0744000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 2.9500000 1.0000000 0.0000000 0.0000000 0.0000000 1.2060000 0.0000000 1.0000000 0.0000000 0.0000000 0.4930000 0.0000000 0.0000000 1.0000000 0.0000000 0.1560000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 2.5060000 1.0000000 0.0000000 0.0000000 0.8750000 0.0000000 1.0000000 0.0000000 0.2740000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 2.3580000 1.0000000 0.0000000 0.5430000 0.0000000 1.0000000 $ HELIUM (9s,5p,4d,3f,2g) -> [6s,5p,4d,3f,2g] $ HELIUM (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ HELIUM (1s,1p,1d,1f,1g) a 2 $ S-TYPE FUNCTIONS 9 6 0 1145.0000000 0.0003590 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 171.7000000 0.0027710 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 39.0700000 0.0142510 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.0400000 0.0555660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.5660000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.2400000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4473000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1640000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0466400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 5 0 10.1530000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.6270000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.2960000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4630000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1400000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 7.6660000 1.0000000 0.0000000 0.0000000 0.0000000 2.6470000 0.0000000 1.0000000 0.0000000 0.0000000 0.9140000 0.0000000 0.0000000 1.0000000 0.0000000 0.2892000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 5.4110000 1.0000000 0.0000000 0.0000000 1.7070000 0.0000000 1.0000000 0.0000000 0.5345000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 3.4300000 1.0000000 0.0000000 0.7899000 0.0000000 1.0000000 $ BORON (15s,9p,5d,4f,3g,2h) -> [7s,6p,5d,4f,3g,2h] $ BORON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ BORON (1s,1p,1d,1f,1g,1h) a 5 $ S-TYPE FUNCTIONS 15 7 0 68260.0000000 0.0000240 -0.0000050 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10230.0000000 0.0001850 -0.0000370 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2328.0000000 0.0009700 -0.0001960 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 660.4000000 0.0040560 -0.0008240 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 216.2000000 0.0143990 -0.0029230 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 78.6000000 0.0439010 -0.0091380 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30.9800000 0.1130570 -0.0241050 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.9600000 0.2338250 -0.0547550 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.6590000 0.3539600 -0.0969430 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.5560000 0.3015470 -0.1374850 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.1750000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4249000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1712000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0691300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0261000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 6 0 66.4400000 0.0008380 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.7100000 0.0064090 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.9360000 0.0280810 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.7700000 0.0921520 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7008000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.2901000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1211000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0497300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0157000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 2.0100000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7960000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3160000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1250000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0431000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 1.2150000 1.0000000 0.0000000 0.0000000 0.0000000 0.5250000 0.0000000 1.0000000 0.0000000 0.0000000 0.2270000 0.0000000 0.0000000 1.0000000 0.0000000 0.0843000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 1.1240000 1.0000000 0.0000000 0.0000000 0.4610000 0.0000000 1.0000000 0.0000000 0.2020000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.8340000 1.0000000 0.0000000 0.3840000 0.0000000 1.0000000 $ CARBON (15s,9p,5d,4f,3g,2h) -> [7s,6p,5d,4f,3g,2h] $ CARBON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ CARBON (1s,1p,1d,1f,1g,1h) a 6 $ S-TYPE FUNCTIONS 15 7 0 96770.0000000 0.0000250 -0.0000050 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14500.0000000 0.0001900 -0.0000410 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3300.0000000 0.0010000 -0.0002130 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 935.8000000 0.0041830 -0.0008970 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 306.2000000 0.0148590 -0.0031870 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 111.3000000 0.0453010 -0.0099610 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 43.9000000 0.1165040 -0.0263750 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 18.4000000 0.2402490 -0.0600010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8.0540000 0.3587990 -0.1068250 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.6370000 0.2939410 -0.1441660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.6560000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6333000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2545000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1019000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0394000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 6 0 101.8000000 0.0008910 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24.0400000 0.0069760 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.5710000 0.0316690 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.7320000 0.1040060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0850000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4496000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1876000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0760600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0272000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 3.1340000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.2330000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4850000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1910000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0701000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 2.0060000 1.0000000 0.0000000 0.0000000 0.0000000 0.8380000 0.0000000 1.0000000 0.0000000 0.0000000 0.3500000 0.0000000 0.0000000 1.0000000 0.0000000 0.1380000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 1.7530000 1.0000000 0.0000000 0.0000000 0.6780000 0.0000000 1.0000000 0.0000000 0.3190000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 1.2590000 1.0000000 0.0000000 0.5860000 0.0000000 1.0000000 $ NITROGEN (15s,9p,5d,4f,3g,2h) -> [7s,6p,5d,4f,3g,2h] $ NITROGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ NITROGEN (1s,1p,1d,1f,1g,1h) a 7 $ S-TYPE FUNCTIONS 15 7 0 129200.0000000 0.0000250 -0.0000060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 19350.0000000 0.0001970 -0.0000430 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4404.0000000 0.0010320 -0.0002270 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1248.0000000 0.0043250 -0.0009580 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 408.0000000 0.0153800 -0.0034160 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 148.2000000 0.0468670 -0.0106670 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 58.5000000 0.1201160 -0.0282790 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24.5900000 0.2456950 -0.0640200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.8100000 0.3613790 -0.1139320 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.8820000 0.2872830 -0.1469950 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.1950000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8715000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3504000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1397000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0518000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 6 0 147.0000000 0.0008920 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 34.7600000 0.0070820 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.0000000 0.0328160 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.9950000 0.1082090 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.5870000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6533000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2686000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1067000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0369000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 4.6470000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.8130000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.7070000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2760000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0971000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 2.9420000 1.0000000 0.0000000 0.0000000 0.0000000 1.2040000 0.0000000 1.0000000 0.0000000 0.0000000 0.4930000 0.0000000 0.0000000 1.0000000 0.0000000 0.1920000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 2.5110000 1.0000000 0.0000000 0.0000000 0.9420000 0.0000000 1.0000000 0.0000000 0.4360000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 1.7680000 1.0000000 0.0000000 0.7880000 0.0000000 1.0000000 $ OXYGEN (15s,9p,5d,4f,3g,2h) -> [7s,6p,5d,4f,3g,2h] $ OXYGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ OXYGEN (1s,1p,1d,1f,1g,1h) a 8 $ S-TYPE FUNCTIONS 15 7 0 164200.0000000 0.0000260 -0.0000060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24590.0000000 0.0002050 -0.0000460 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5592.0000000 0.0010760 -0.0002440 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1582.0000000 0.0045220 -0.0010310 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 516.1000000 0.0161080 -0.0036880 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 187.2000000 0.0490850 -0.0115140 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 73.9300000 0.1248570 -0.0304350 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 31.2200000 0.2516860 -0.0681470 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.8100000 0.3624200 -0.1203680 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.2560000 0.2790510 -0.1482600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.7760000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.1380000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4600000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1829000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0655000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 6 0 195.5000000 0.0009180 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 46.1600000 0.0073880 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14.5800000 0.0349580 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.2960000 0.1154310 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.0940000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8471000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3368000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1285000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0446000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 5.8790000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.3070000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.9050000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3550000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1310000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 4.0160000 1.0000000 0.0000000 0.0000000 0.0000000 1.5540000 0.0000000 1.0000000 0.0000000 0.0000000 0.6010000 0.0000000 0.0000000 1.0000000 0.0000000 0.2370000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 3.3500000 1.0000000 0.0000000 0.0000000 1.1890000 0.0000000 1.0000000 0.0000000 0.5170000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 2.3190000 1.0000000 0.0000000 1.0240000 0.0000000 1.0000000 $ FLUORINE (15s,9p,5d,4f,3g,2h) -> [7s,6p,5d,4f,3g,2h] $ FLUORINE (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ FLUORINE (1s,1p,1d,1f,1g,1h) a 9 $ S-TYPE FUNCTIONS 15 7 0 211400.0000000 0.0000260 -0.0000060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 31660.0000000 0.0002010 -0.0000470 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7202.0000000 0.0010560 -0.0002440 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2040.0000000 0.0044320 -0.0010310 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 666.4000000 0.0157660 -0.0036830 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 242.0000000 0.0481120 -0.0115130 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 95.5300000 0.1232320 -0.0306630 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 40.2300000 0.2515190 -0.0695720 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 17.7200000 0.3645250 -0.1239920 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8.0050000 0.2797660 -0.1502140 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.5380000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4580000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5887000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2324000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0806000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 6 0 241.9000000 0.0010020 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 57.1700000 0.0080540 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 18.1300000 0.0380480 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.6240000 0.1237790 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.6220000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0570000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4176000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1574000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0550000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 7.7600000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.0320000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.1850000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4630000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1720000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 5.3980000 1.0000000 0.0000000 0.0000000 0.0000000 2.0780000 0.0000000 1.0000000 0.0000000 0.0000000 0.8000000 0.0000000 0.0000000 1.0000000 0.0000000 0.3310000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 4.3380000 1.0000000 0.0000000 0.0000000 1.5130000 0.0000000 1.0000000 0.0000000 0.6630000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 2.9950000 1.0000000 0.0000000 1.3260000 0.0000000 1.0000000 $ NEON (15s,9p,5d,4f,3g,2h) -> [7s,6p,5d,4f,3g,2h] $ NEON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ NEON (1s,1p,1d,1f,1g,1h) a 10 $ S-TYPE FUNCTIONS 15 7 0 262700.0000000 0.0000260 -0.0000060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 39350.0000000 0.0002000 -0.0000470 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8955.0000000 0.0010500 -0.0002470 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2538.0000000 0.0044000 -0.0010380 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 829.9000000 0.0156490 -0.0037110 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 301.5000000 0.0477580 -0.0115930 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 119.0000000 0.1229430 -0.0310860 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 50.0000000 0.2524830 -0.0709720 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 21.9800000 0.3663140 -0.1272660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.8910000 0.2796170 -0.1512310 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.3270000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.8040000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.7288000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2867000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0957000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 6 0 299.1000000 0.0010380 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 70.7300000 0.0083750 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 22.4800000 0.0396930 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8.2460000 0.1280560 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.2690000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.3150000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5158000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1918000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0654000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 9.8370000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.8440000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.5020000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.5870000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2130000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 7.0900000 1.0000000 0.0000000 0.0000000 0.0000000 2.7380000 0.0000000 1.0000000 0.0000000 0.0000000 1.0570000 0.0000000 0.0000000 1.0000000 0.0000000 0.4250000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 5.4600000 1.0000000 0.0000000 0.0000000 1.8800000 0.0000000 1.0000000 0.0000000 0.8090000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 3.7760000 1.0000000 0.0000000 1.6280000 0.0000000 1.0000000 $ ALUMINUM (21s,13p,5d,4f,3g,2h) -> [8s,7p,5d,4f,3g,2h] $ ALUMINUM (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ ALUMINUM (1s,1p,1d,1f,1g,1h) a 13 $ S-TYPE FUNCTIONS 21 8 0 3269000.0000000 0.213962D-05 -0.556026D-06 0.128423D-06 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 489400.0000000 0.166264D-04 -0.432303D-05 0.997514D-06 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 111400.0000000 0.875168D-04 -0.227413D-04 0.525480D-05 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 31560.0000000 0.368990D-03 -0.960116D-04 0.221450D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10320.0000000 0.133903D-02 -0.348376D-03 0.805464D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3731.0000000 0.435636D-02 -0.113836D-02 0.262506D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1456.0000000 0.128955D-01 -0.338744D-02 0.784220D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 604.1000000 0.348201D-01 -0.931505D-02 0.215039D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 263.5000000 0.843530D-01 -0.233023D-01 0.541974D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 119.8000000 0.175907D+00 -0.523486D-01 0.121686D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 56.3200000 0.292091D+00 -0.999499D-01 0.236823D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 27.1900000 0.328220D+00 -0.150560D+00 0.360937D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.2600000 0.186927D+00 -0.119121D+00 0.303284D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.0520000 0.310430D-01 0.108091D+00 -0.309034D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.9810000 -0.508922D-03 0.411129D+00 -0.119126D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4760000 0.148836D-02 0.457214D+00 -0.211145D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7334000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.2447000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1088000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0467200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0177000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 1461.0000000 0.208613D-03 -0.371947D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 346.2000000 0.181005D-02 -0.328563D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 112.2000000 0.973433D-02 -0.174264D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 42.5100000 0.378266D-01 -0.694828D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 17.7200000 0.110898D+00 -0.202807D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.8520000 0.234295D+00 -0.448657D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.5710000 0.345245D+00 -0.643278D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.6370000 0.331430D+00 -0.752666D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7382000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.2577000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0977300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0369000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0115000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 1.3170000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5260000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2100000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0840000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0294000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 0.1300000 1.0000000 0.0000000 0.0000000 0.0000000 0.2580000 0.0000000 1.0000000 0.0000000 0.0000000 0.5130000 0.0000000 0.0000000 1.0000000 0.0000000 0.0509000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.2520000 1.0000000 0.0000000 0.0000000 0.5430000 0.0000000 1.0000000 0.0000000 0.1069000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.4460000 1.0000000 0.0000000 0.2270000 0.0000000 1.0000000 $ SILICON (21s,13p,5d,4f,3g,2h) -> [8s,7p,5d,4f,3g,2h] $ SILICON (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ SILICON (1s,1p,1d,1f,1g,1h) a 14 $ S-TYPE FUNCTIONS 21 8 0 3948000.0000000 0.203712D-05 -0.542085D-06 0.138907D-06 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 591100.0000000 0.158394D-04 -0.421677D-05 0.107953D-05 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 134500.0000000 0.833590D-04 -0.221813D-04 0.568628D-05 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 38120.0000000 0.351361D-03 -0.936028D-04 0.239537D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12460.0000000 0.127660D-02 -0.340116D-03 0.872409D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4504.0000000 0.415191D-02 -0.111061D-02 0.284163D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1758.0000000 0.123030D-01 -0.330878D-02 0.849840D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 729.1000000 0.333102D-01 -0.911602D-02 0.233527D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 318.0000000 0.809845D-01 -0.228790D-01 0.590466D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 144.6000000 0.170290D+00 -0.517119D-01 0.133461D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 67.9700000 0.286879D+00 -0.999091D-01 0.262889D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 32.8200000 0.330340D+00 -0.152747D+00 0.407426D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 16.0300000 0.196602D+00 -0.127508D+00 0.361476D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.3960000 0.354535D-01 0.946963D-01 -0.303923D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.6610000 -0.535204D-03 0.414036D+00 -0.135961D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.8230000 0.161465D-02 0.467934D+00 -0.250144D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9147000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3393000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1500000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0643800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0260000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 1780.0000000 0.201206D-03 -0.427152D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 421.8000000 0.174937D-02 -0.377039D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 136.7000000 0.948141D-02 -0.202240D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 51.8100000 0.372313D-01 -0.812833D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 21.6000000 0.110763D+00 -0.242272D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.5630000 0.237933D+00 -0.543825D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.3500000 0.353691D+00 -0.799051D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.0060000 0.328839D+00 -0.888958D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9205000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3500000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1381000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0533800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0192000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 0.1260000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3210000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8170000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 2.0820000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0468000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 0.1690000 1.0000000 0.0000000 0.0000000 0.0000000 0.3410000 0.0000000 1.0000000 0.0000000 0.0000000 0.6880000 0.0000000 0.0000000 1.0000000 0.0000000 0.0735000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.3200000 1.0000000 0.0000000 0.0000000 0.7050000 0.0000000 1.0000000 0.0000000 0.1510000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.5830000 1.0000000 0.0000000 0.3230000 0.0000000 1.0000000 $ PHOSPHOROUS (21s,13p,5d,4f,3g,2h) -> [8s,7p,5d,4f,3g,2h] $ PHOSPHOROUS (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ PHOSPHOROUS (1s,1p,1d,1f,1g,1h) a 15 $ S-TYPE FUNCTIONS 21 8 0 4666000.0000000 0.196759D-05 -0.534153D-06 0.146776D-06 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 698600.0000000 0.152963D-04 -0.415422D-05 0.114064D-05 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 159000.0000000 0.804826D-04 -0.218484D-04 0.600568D-05 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 45040.0000000 0.339737D-03 -0.923272D-04 0.253427D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14720.0000000 0.123291D-02 -0.335109D-03 0.921606D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5323.0000000 0.401345D-02 -0.109508D-02 0.300563D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2076.0000000 0.119124D-01 -0.326798D-02 0.899884D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 861.1000000 0.322511D-01 -0.899951D-02 0.247354D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 375.7000000 0.786643D-01 -0.226528D-01 0.626812D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 170.8000000 0.166458D+00 -0.514650D-01 0.142598D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 80.2900000 0.283039D+00 -0.100186D+00 0.282769D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 38.7700000 0.331942D+00 -0.155075D+00 0.445124D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 18.9300000 0.203352D+00 -0.133818D+00 0.407217D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8.7960000 0.383183D-01 0.878361D-01 -0.301908D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.3580000 -0.384720D-03 0.422581D+00 -0.152894D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.1740000 0.158744D-02 0.474899D+00 -0.282411D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0950000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4400000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1945000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0837600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0335000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2010.0000000 0.215915D-03 -0.511444D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 476.3000000 0.187536D-02 -0.448356D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 154.4000000 0.101742D-01 -0.242340D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 58.5100000 0.399856D-01 -0.969826D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24.4000000 0.118563D+00 -0.290965D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.8000000 0.251816D+00 -0.641726D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.9130000 0.366565D+00 -0.945071D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.2690000 0.316177D+00 -0.934700D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0430000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4313000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1767000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0700900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0253000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 0.1660000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4180000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.0540000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 2.6560000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0624000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 0.2190000 1.0000000 0.0000000 0.0000000 0.0000000 0.4500000 0.0000000 1.0000000 0.0000000 0.0000000 0.9230000 0.0000000 0.0000000 1.0000000 0.0000000 0.0950000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.4120000 1.0000000 0.0000000 0.0000000 0.9030000 0.0000000 1.0000000 0.0000000 0.1840000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.7450000 1.0000000 0.0000000 0.3720000 0.0000000 1.0000000 $ SULFUR (21s,13p,5d,4f,3g,2h) -> [8s,7p,5d,4f,3g,2h] $ SULFUR (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ SULFUR (1s,1p,1d,1f,1g,1h) a 16 $ S-TYPE FUNCTIONS 21 8 0 5481000.0000000 0.189338D-05 -0.522912D-06 0.151823D-06 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 820600.0000000 0.147211D-04 -0.406690D-05 0.118008D-05 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 186700.0000000 0.775084D-04 -0.214065D-04 0.621699D-05 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 52880.0000000 0.327224D-03 -0.904540D-04 0.262405D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 17250.0000000 0.119365D-02 -0.330080D-03 0.959040D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6226.0000000 0.388393D-02 -0.107782D-02 0.312678D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2429.0000000 0.115336D-01 -0.321874D-02 0.936322D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1007.0000000 0.312748D-01 -0.887217D-02 0.257790D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 439.5000000 0.764387D-01 -0.223771D-01 0.654121D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 199.8000000 0.162700D+00 -0.510577D-01 0.149630D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 93.9200000 0.279328D+00 -0.100225D+00 0.298940D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 45.3400000 0.333145D+00 -0.156795D+00 0.476946D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 22.1500000 0.209836D+00 -0.139748D+00 0.449556D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.3400000 0.415974D-01 0.810059D-01 -0.293009D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.1190000 -0.450552D-03 0.430883D+00 -0.168916D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.5530000 0.168855D-02 0.481688D+00 -0.311014D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.2820000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5450000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2411000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1035000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0420000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2200.0000000 0.239049D-03 -0.608562D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 521.4000000 0.207686D-02 -0.530419D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 169.0000000 0.112363D-01 -0.287915D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 64.0500000 0.440690D-01 -0.114397D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 26.7200000 0.129168D+00 -0.342764D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.8300000 0.269083D+00 -0.735811D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.3780000 0.378611D+00 -0.107782D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.4820000 0.296779D+00 -0.879769D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.1160000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4848000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2006000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0795100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0294000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 0.2050000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5120000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.2810000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 3.2030000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0794000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 0.2550000 1.0000000 0.0000000 0.0000000 0.0000000 0.5290000 0.0000000 1.0000000 0.0000000 0.0000000 1.0960000 0.0000000 0.0000000 1.0000000 0.0000000 0.1188000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.4630000 1.0000000 0.0000000 0.0000000 1.0710000 0.0000000 1.0000000 0.0000000 0.2200000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.8720000 1.0000000 0.0000000 0.4720000 0.0000000 1.0000000 $ CHLORINE (21s,13p,5d,4f,3g,2h) -> [8s,7p,5d,4f,3g,2h] $ CHLORINE (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ CHLORINE (1s,1p,1d,1f,1g,1h) a 17 $ S-TYPE FUNCTIONS 21 8 0 6410000.0000000 0.181350D-05 -0.508303D-06 0.153808D-06 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 959600.0000000 0.141118D-04 -0.395633D-05 0.119654D-05 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 218300.0000000 0.742406D-04 -0.208095D-04 0.629828D-05 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 61810.0000000 0.314131D-03 -0.881175D-04 0.266450D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 20140.0000000 0.114642D-02 -0.321742D-03 0.974162D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7264.0000000 0.373888D-02 -0.105277D-02 0.318360D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2832.0000000 0.110946D-01 -0.314183D-02 0.952377D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1175.0000000 0.301152D-01 -0.866363D-02 0.262430D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 512.6000000 0.739145D-01 -0.219353D-01 0.668160D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 233.0000000 0.158258D+00 -0.502584D-01 0.153595D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 109.5000000 0.274753D+00 -0.995414D-01 0.309432D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 52.8600000 0.334066D+00 -0.157647D+00 0.500638D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 25.8400000 0.217589D+00 -0.146024D+00 0.489782D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.1700000 0.457278D-01 0.692230D-01 -0.260807D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.0300000 -0.134739D-03 0.430412D+00 -0.178426D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.0120000 0.163933D-02 0.490802D+00 -0.332324D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.5110000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6604000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2926000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1254000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0479000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2548.0000000 0.235702D-03 -0.635410D-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 603.7000000 0.205158D-02 -0.553259D-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 195.6000000 0.111543D-01 -0.302795D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 74.1500000 0.439816D-01 -0.120650D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30.9400000 0.129994D+00 -0.366348D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.6900000 0.272959D+00 -0.790764D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.2290000 0.383690D+00 -0.117422D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.8780000 0.291870D+00 -0.860943D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.2820000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5641000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2348000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0931200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0348000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 0.2500000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6180000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.5290000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 3.7810000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1003000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 0.3200000 1.0000000 0.0000000 0.0000000 0.0000000 0.6560000 0.0000000 1.0000000 0.0000000 0.0000000 1.3450000 0.0000000 0.0000000 1.0000000 0.0000000 0.1640000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.5560000 1.0000000 0.0000000 0.0000000 1.3020000 0.0000000 1.0000000 0.0000000 0.2770000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 1.0530000 1.0000000 0.0000000 0.6070000 0.0000000 1.0000000 $ ARGON (21s,13p,5d,4f,3g,2h) -> [8s,7p,5d,4f,3g,2h] $ ARGON (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ ARGON (1s,1p,1d,1f,1g,1h) a 18 $ S-TYPE FUNCTIONS 21 8 0 7401000.0000000 0.00000175 -0.00000050 0.00000016 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1108000.0000000 0.00001361 -0.00000387 0.00000121 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 252100.0000000 0.00007163 -0.00002034 0.00000636 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 71380.0000000 0.00030303 -0.00008609 0.00002689 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 23260.0000000 0.00110608 -0.00031444 0.00009834 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8390.0000000 0.00360671 -0.00102841 0.00032129 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3271.0000000 0.01071321 -0.00307267 0.00096200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1357.0000000 0.02910677 -0.00847532 0.00265245 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 592.0000000 0.07166011 -0.02152008 0.00677035 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 269.1000000 0.15414053 -0.04944932 0.01561727 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 126.5000000 0.27041707 -0.09877592 0.03171666 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 61.0300000 0.33485470 -0.15830822 0.05199742 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 29.8600000 0.22434631 -0.15140298 0.05247514 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14.1700000 0.05000284 0.05824264 -0.02264147 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.0220000 0.00006459 0.42938305 -0.18606229 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.5110000 0.00168641 0.49908884 -0.35014547 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.7580000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7841000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3480000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1491000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0538000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2927.0000000 0.00023199 -0.00006491 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 693.5000000 0.00202329 -0.00056531 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 224.7000000 0.01103401 -0.00310988 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 85.1700000 0.04383970 -0.01246964 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 35.5300000 0.13035904 -0.03822465 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.7300000 0.27574991 -0.08307918 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.1650000 0.38764330 -0.12459409 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.3220000 0.28740741 -0.08329713 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4780000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6552000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2751000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1097000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0402000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 0.3090000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7700000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.9170000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 4.7760000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1210000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 0.4080000 1.0000000 0.0000000 0.0000000 0.0000000 0.8250000 0.0000000 1.0000000 0.0000000 0.0000000 1.6680000 0.0000000 0.0000000 1.0000000 0.0000000 0.2090000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.6650000 1.0000000 0.0000000 0.0000000 1.5620000 0.0000000 1.0000000 0.0000000 0.3340000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 1.2640000 1.0000000 0.0000000 0.7420000 0.0000000 1.0000000 $ SCANDIUM (29s,21p,13d,5f,4g,3h,2i) -> [10s,9p,7d,5f,4g,3h,2i] $ SCANDIUM (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ SCANDIUM (1s,1p,1d,1f,1g,1h,1i) a 21 $ S-TYPE FUNCTIONS 29 10 0 1.194950E+08 6.485949E-08 -3.759394E-08 7.277775E-09 -1.751768E-09 3.023751E-09 -4.699340E-09 -5.382706E-09 8.181715E-09 0.0000000 0.0000000 2.149920E+07 4.284789E-07 -2.483745E-07 4.808602E-08 -1.157503E-08 2.009343E-08 -3.121033E-08 -3.464964E-08 5.531212E-08 0.0000000 0.0000000 4.807030E+06 2.485007E-06 -1.440342E-06 2.788306E-07 -6.711375E-08 1.156659E-07 -1.797873E-07 -2.077081E-07 3.110133E-07 0.0000000 0.0000000 1.284400E+06 1.142200E-05 -6.621203E-06 1.281931E-06 -3.085845E-07 5.364214E-07 -8.330969E-07 -9.176214E-07 1.484627E-06 0.0000000 0.0000000 3.965950E+05 4.446960E-05 -2.577627E-05 4.990129E-06 -1.201088E-06 2.066097E-06 -3.212062E-06 -3.749175E-06 5.517880E-06 0.0000000 0.0000000 1.375750E+05 1.513206E-04 -8.773842E-05 1.699051E-05 -4.090037E-06 7.126727E-06 -1.106577E-05 -1.202459E-05 1.987947E-05 0.0000000 0.0000000 5.236680E+04 4.641311E-04 -2.691491E-04 5.212700E-05 -1.254629E-05 2.151877E-05 -3.346404E-05 -3.967943E-05 5.688854E-05 0.0000000 0.0000000 2.145490E+04 1.311834E-03 -7.615431E-04 1.476347E-04 -3.554102E-05 6.213603E-05 -9.645132E-05 -1.028180E-04 1.752133E-04 0.0000000 0.0000000 9.316060E+03 3.474539E-03 -2.020037E-03 3.921373E-04 -9.438160E-05 1.612839E-04 -2.509128E-04 -3.033647E-04 4.210802E-04 0.0000000 0.0000000 4.235400E+03 8.703081E-03 -5.080893E-03 9.900468E-04 -2.383648E-04 4.183292E-04 -6.492071E-04 -6.770787E-04 1.193679E-03 0.0000000 0.0000000 1.997440E+03 2.066048E-02 -1.215118E-02 2.383475E-03 -5.737202E-04 9.766017E-04 -1.520210E-03 -1.876278E-03 2.520603E-03 0.0000000 0.0000000 9.704300E+02 4.605121E-02 -2.752281E-02 5.475682E-03 -1.318746E-03 2.324551E-03 -3.607668E-03 -3.671941E-03 6.726648E-03 0.0000000 0.0000000 4.832710E+02 9.414403E-02 -5.797250E-02 1.183105E-02 -2.849209E-03 4.827024E-03 -7.524161E-03 -9.536033E-03 1.230813E-02 0.0000000 0.0000000 2.458060E+02 1.684787E-01 -1.101259E-01 2.357475E-02 -5.684235E-03 1.009998E-02 -1.568944E-02 -1.530677E-02 3.008461E-02 0.0000000 0.0000000 1.273600E+02 2.427557E-01 -1.781088E-01 4.140241E-02 -9.991445E-03 1.673441E-02 -2.620054E-02 -3.545668E-02 4.143790E-02 0.0000000 0.0000000 6.707880E+01 2.400019E-01 -2.198344E-01 5.818726E-02 -1.409713E-02 2.581961E-02 -4.021946E-02 -3.294163E-02 8.479558E-02 0.0000000 0.0000000 3.583710E+01 1.296899E-01 -1.529949E-01 4.596130E-02 -1.116554E-02 1.659005E-02 -2.662630E-02 -5.839314E-02 2.415501E-02 0.0000000 0.0000000 1.937130E+01 5.179276E-02 5.678122E-02 -2.847061E-02 6.912254E-03 -5.993844E-03 1.032930E-02 6.538662E-02 2.824664E-02 0.0000000 0.0000000 1.055710E+01 8.932598E-02 3.530772E-01 -1.817584E-01 4.558164E-02 -9.265210E-02 1.480576E-01 6.318978E-02 -4.174669E-01 0.0000000 0.0000000 5.772490E+00 1.143741E-01 4.663403E-01 -3.512111E-01 9.219903E-02 -1.475540E-01 2.660165E-01 5.906996E-01 -5.850258E-01 0.0000000 0.0000000 3.145400E+00 5.378437E-02 2.199163E-01 -2.324215E-01 6.237781E-02 -1.531648E-01 2.494336E-01 -1.332877E-01 -4.454488E-01 0.0000000 0.0000000 1.692490E+00 7.075763E-03 2.889190E-02 2.277188E-01 -7.194592E-02 2.278575E-01 -5.406974E-01 -3.017064E-01 4.127336E+00 0.0000000 0.0000000 8.886490E-01 4.599282E-04 7.763282E-04 5.757256E-01 -1.917054E-01 3.441065E-01 -1.045556E+00 -2.969901E+00 -2.305176E+00 0.0000000 0.0000000 4.710930E-01 -4.575677E-05 -8.474216E-04 4.062223E-01 -2.379872E-01 7.482063E-01 -1.827419E-01 4.814088E+00 -5.710689E+00 0.0000000 0.0000000 2.492860E-01 1.697886E-05 -1.233881E-04 8.525293E-02 -1.129999E-01 -7.586006E-01 2.749406E+00 -8.352144E-01 9.548572E+00 0.0000000 0.0000000 9.998800E-02 -4.762361E-06 -1.245485E-05 3.975498E-03 3.424078E-01 -1.492845E+00 -1.329988E+00 -4.401836E+00 -8.563715E+00 0.0000000 0.0000000 4.636900E-02 1.150180E-05 3.906270E-05 1.954373E-03 6.263064E-01 7.089234E-01 -1.651389E+00 5.729989E+00 6.185611E+00 0.0000000 0.0000000 2.160600E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0100700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 21 9 0 5.507050E+04 2.000000E-06 -1.000000E-06 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.000000E-06 0.0000000 0.0000000 1.374170E+04 2.100000E-05 -7.000000E-06 2.000000E-06 2.000000E-06 4.000000E-06 -6.000000E-06 -7.000000E-06 0.0000000 0.0000000 4.365400E+03 1.300000E-04 -4.200000E-05 1.000000E-05 1.200000E-05 2.700000E-05 -2.400000E-05 -4.300000E-05 0.0000000 0.0000000 1.642260E+03 6.120000E-04 -2.010000E-04 4.900000E-05 5.900000E-05 1.150000E-04 -1.730000E-04 -2.170000E-04 0.0000000 0.0000000 6.940660E+02 2.397000E-03 -7.890000E-04 1.930000E-04 2.320000E-04 4.920000E-04 -4.550000E-04 -8.070000E-04 0.0000000 0.0000000 3.177420E+02 8.073000E-03 -2.669000E-03 6.490000E-04 7.880000E-04 1.527000E-03 -2.275000E-03 -2.887000E-03 0.0000000 0.0000000 1.538990E+02 2.372600E-02 -7.922000E-03 1.942000E-03 2.330000E-03 4.936000E-03 -4.543000E-03 -8.161000E-03 0.0000000 0.0000000 7.776650E+01 6.062000E-02 -2.059800E-02 5.022000E-03 6.094000E-03 1.174700E-02 -1.774200E-02 -2.271300E-02 0.0000000 0.0000000 4.067360E+01 1.298550E-01 -4.537500E-02 1.117500E-02 1.337600E-02 2.860300E-02 -2.427100E-02 -4.739600E-02 0.0000000 0.0000000 2.190610E+01 2.210980E-01 -7.963200E-02 1.947300E-02 2.370100E-02 4.436000E-02 -7.561100E-02 -8.968000E-02 0.0000000 0.0000000 1.207950E+01 2.932320E-01 -1.106180E-01 2.764700E-02 3.278900E-02 7.619200E-02 -4.487900E-02 -1.077940E-01 0.0000000 0.0000000 6.753490E+00 2.767500E-01 -1.082040E-01 2.646600E-02 3.290900E-02 5.760600E-02 -1.899630E-01 -1.913740E-01 0.0000000 0.0000000 3.763210E+00 1.477940E-01 -9.200000E-04 -1.460000E-03 -2.231000E-03 2.398700E-02 1.273510E-01 3.672400E-02 0.0000000 0.0000000 2.049730E+00 3.202400E-02 2.175660E-01 -6.499500E-02 -7.361100E-02 -2.155680E-01 1.161170E-01 1.201016E+00 0.0000000 0.0000000 1.086450E+00 2.890000E-04 3.921900E-01 -1.156050E-01 -1.369540E-01 -3.753780E-01 1.348698E+00 3.399550E-01 0.0000000 0.0000000 5.640870E-01 -1.467000E-03 3.639770E-01 -1.382000E-01 -1.677060E-01 -4.369340E-01 -1.512311E+00 -3.802289E+00 0.0000000 0.0000000 2.810200E-01 -7.670000E-04 1.499530E-01 7.281000E-03 -5.268600E-02 1.222472E+00 -9.436110E-01 4.448876E+00 0.0000000 0.0000000 1.215440E-01 -5.800000E-05 1.514700E-02 3.621410E-01 5.744330E-01 4.294290E-01 2.307450E+00 -2.513096E+00 0.0000000 0.0000000 5.345900E-02 -1.100000E-05 5.690000E-04 5.420120E-01 5.236500E-01 -9.345890E-01 -1.217237E+00 4.021440E-01 0.0000000 0.0000000 2.321500E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0100800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 7 0 2.056060E+02 2.380000E-04 -2.430000E-04 -3.220000E-04 -4.530000E-04 -5.240000E-04 0.0000000 0.0000000 6.102270E+01 2.167000E-03 -2.214000E-03 -2.876000E-03 -3.796000E-03 -6.793000E-03 0.0000000 0.0000000 2.336300E+01 1.084900E-02 -1.110700E-02 -1.481800E-02 -2.077300E-02 -2.631900E-02 0.0000000 0.0000000 9.963460E+00 3.588100E-02 -3.697000E-02 -4.843800E-02 -6.544600E-02 -1.219320E-01 0.0000000 0.0000000 4.489450E+00 9.349100E-02 -9.781500E-02 -1.307580E-01 -1.943420E-01 -2.498200E-01 0.0000000 0.0000000 2.117950E+00 1.810760E-01 -1.845670E-01 -2.428420E-01 -3.147140E-01 -6.181690E-01 0.0000000 0.0000000 1.012018E+00 2.575930E-01 -2.472790E-01 -2.844310E-01 -2.516280E-01 9.989180E-01 0.0000000 0.0000000 4.810450E-01 2.918550E-01 -2.053770E-01 1.037260E-01 1.085315E+00 5.962450E-01 0.0000000 0.0000000 2.264880E-01 2.690060E-01 1.036720E-01 7.430280E-01 -1.291800E-02 -2.138243E+00 0.0000000 0.0000000 1.050570E-01 1.881740E-01 4.618980E-01 9.533700E-02 -1.243783E+00 1.973082E+00 0.0000000 0.0000000 4.768200E-02 7.324300E-02 3.834000E-01 -6.651170E-01 7.723990E-01 -6.527370E-01 0.0000000 0.0000000 2.066000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0089500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 2.340000E+00 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.657000E-01 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 2.505000E-01 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 8.200000E-02 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0248200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 1.727200E+00 1.0000000 0.0000000 0.0000000 0.0000000 5.445000E-01 0.0000000 1.0000000 0.0000000 0.0000000 1.717000E-01 0.0000000 0.0000000 1.0000000 0.0000000 0.0488400 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 1.159200E+00 1.0000000 0.0000000 0.0000000 3.308000E-01 0.0000000 1.0000000 0.0000000 0.0948900 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 5.720000E-01 1.0000000 0.0000000 0.1386300 0.0000000 1.0000000 $ TITANIUM (29s,21p,13d,5f,4g,3h,2i) -> [10s,9p,7d,5f,4g,3h,2i] $ TITANIUM (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ TITANIUM (1s,1p,1d,1f,1g,1h,1i) a 22 $ S-TYPE FUNCTIONS 29 10 0 1.22647E+08 7.095361E-08 -4.075872E-08 8.126533E-09 -1.917924E-09 3.549931E-09 -5.483292E-09 -6.513149E-09 -8.931375E-09 0.0000000 0.0000000 2.19562E+07 4.715986E-07 -2.709226E-07 5.402507E-08 -1.275194E-08 2.360021E-08 -3.632168E-08 -4.297168E-08 -6.25768E-08 0.0000000 0.0000000 4.90233E+06 2.73436E-06 -1.570715E-06 3.131603E-07 -7.390566E-08 1.36798E-07 -2.115133E-07 -2.514831E-07 -3.389705E-07 0.0000000 0.0000000 1.31060E+06 1.254715E-05 -7.208331E-06 1.437508E-06 -3.393166E-07 6.279605E-07 -9.655732E-07 -1.141345E-06 -1.686299E-06 0.0000000 0.0000000 405228.0000000 4.87474E-05 -2.800379E-05 5.583328E-06 -1.317608E-06 2.438963E-06 -3.775667E-06 -4.494753E-06 -5.932742E-06 0.0000000 0.0000000 140757.0000000 0.0001656213 -9.517165E-05 1.898417E-05 -4.481371E-06 8.293127E-06 -1.273208E-05 -1.502517E-05 -2.274958E-05 0.0000000 0.0000000 53625.1000000 0.000507645 -0.000291772 5.819596E-05 -1.373284E-05 2.542185E-05 -3.942849E-05 -4.703008E-05 -6.006257E-05 0.0000000 0.0000000 21976.2000000 0.001435019 -0.0008256845 0.0001649019 -3.892998E-05 7.203924E-05 -0.0001103639 -0.0001299433 -0.0002033896 0.0000000 0.0000000 9539.6000000 0.003802412 -0.002191592 0.0004381911 -0.0001033977 0.0001914264 -0.0002976 -0.0003558767 -0.0004358911 0.0000000 0.0000000 4334.3700000 0.009523779 -0.005513608 0.001107231 -0.0002614367 0.0004837789 -0.0007394247 -0.0008684153 -0.001410248 0.0000000 0.0000000 2042.8900000 0.02256875 -0.01317331 0.002663108 -0.0006284415 0.001163735 -0.001814232 -0.00217575 -0.00254425 0.0000000 0.0000000 992.3080000 0.05005125 -0.02972775 0.006103966 -0.001441853 0.002668623 -0.004069364 -0.004767576 -0.008077296 0.0000000 0.0000000 494.4460000 0.1012414 -0.06213528 0.01310044 -0.003093015 0.005731308 -0.008975097 -0.01081297 -0.01186207 0.0000000 0.0000000 251.9070000 0.1777644 -0.1164183 0.02583473 -0.006111397 0.0113213 -0.01720642 -0.02009361 -0.03676473 0.0000000 0.0000000 130.9050000 0.2479159 -0.1841156 0.04449334 -0.01052833 0.01955315 -0.03100851 -0.03788017 -0.03464619 0.0000000 0.0000000 69.2368000 0.2326747 -0.2185094 0.06033054 -0.01435524 0.02667333 -0.03994524 -0.04603327 -0.1101500 0.0000000 0.0000000 37.1847000 0.1178873 -0.1380868 0.04260364 -0.01013538 0.01900155 -0.03317775 -0.04444843 0.02928617 0.0000000 0.0000000 20.2157000 0.05105946 0.08418941 -0.04039406 0.009606909 -0.01799341 0.0350855 0.04721242 -0.1149519 0.0000000 0.0000000 11.0765000 0.0930772 0.3811652 -0.2075689 0.05144379 -0.09813293 0.1472194 0.1834186 0.6808841 0.0000000 0.0000000 6.0786700 0.1086846 0.4556996 -0.3654648 0.09453862 -0.1886658 0.3566400 0.5520638 0.3239576 0.0000000 0.0000000 3.3127700 0.04564404 0.1917966 -0.1936936 0.05074349 -0.09633798 0.1090647 -0.04585806 0.5267715 0.0000000 0.0000000 1.7725000 0.005168047 0.02151962 0.2988342 -0.09206241 0.2275436 -0.5756267 -1.2472690 -5.3925940 0.0000000 0.0000000 0.9173780 0.0003233996 0.0001959175 0.6067712 -0.2088530 0.5716640 -1.4038450 -1.4783690 6.7665820 0.0000000 0.0000000 0.4692830 -4.994148E-05 -0.0008089156 0.3552150 -0.2397326 0.3842511 1.2015530 4.8207520 -1.1926540 0.0000000 0.0000000 0.2192670 1.32042E-05 -5.422205E-05 0.04285188 -0.06020934 -0.9402894 2.1637410 -3.0078810 -5.8409860 0.0000000 0.0000000 0.1058110 -2.323768E-07 1.652837E-05 -0.000483546 0.3785445 -1.1052390 -2.2383990 -1.8911150 8.5792050 0.0000000 0.0000000 0.0484430 1.693377E-05 6.140255E-05 0.002744033 0.6064633 0.7263152 -0.8108372 4.3764350 -6.4382430 0.0000000 0.0000000 0.0225350 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0104800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 21 9 0 59284.9000000 0.0000030 -0.0000010 0.0000000 0.0000000 0.0000010 -0.0000010 -0.0000010 0.0000000 0.0000000 14323.6000000 0.0000230 -0.0000080 0.0000020 0.0000020 0.0000040 -0.0000070 -0.0000080 0.0000000 0.0000000 4537.2200000 0.0001440 -0.0000480 0.0000120 0.0000140 0.0000300 -0.0000300 -0.0000510 0.0000000 0.0000000 1726.5400000 0.0006600 -0.0002210 0.0000530 0.0000660 0.0001260 -0.0001900 -0.0002160 0.0000000 0.0000000 741.0750000 0.0025090 -0.0008440 0.0002030 0.0002520 0.0005190 -0.0005300 -0.0008980 0.0000000 0.0000000 343.8070000 0.0082940 -0.0028020 0.0006700 0.0008330 0.0016020 -0.0023950 -0.0027390 0.0000000 0.0000000 167.8840000 0.0242470 -0.0082780 0.0019960 0.0024740 0.0050910 -0.0052020 -0.0088510 0.0000000 0.0000000 85.0394000 0.0622310 -0.0216350 0.0051890 0.0064430 0.0123720 -0.0185070 -0.0213880 0.0000000 0.0000000 44.3829000 0.1342200 -0.0480470 0.0116400 0.0144110 0.0298140 -0.0291190 -0.0525740 0.0000000 0.0000000 23.7928000 0.2290500 -0.0846650 0.0203750 0.0253150 0.0477590 -0.0778450 -0.0825050 0.0000000 0.0000000 13.0536000 0.3003980 -0.1167480 0.0287140 0.0354780 0.0782150 -0.0607780 -0.1344340 0.0000000 0.0000000 7.2687200 0.2722610 -0.1071290 0.0257260 0.0321850 0.0582600 -0.1826750 -0.1828100 0.0000000 0.0000000 4.0380500 0.1350820 0.0190880 -0.0066880 -0.0077320 0.0051280 0.1166390 0.0962330 0.0000000 0.0000000 2.1929400 0.0260290 0.2461940 -0.0719850 -0.0869160 -0.2393170 0.2993610 1.4455690 0.0000000 0.0000000 1.1616200 -0.0003040 0.4013780 -0.1184150 -0.1425800 -0.3989020 1.2320890 -0.5030230 0.0000000 0.0000000 0.6032500 -0.0014340 0.3415650 -0.1300000 -0.1704350 -0.3113740 -1.8942480 -2.9722360 0.0000000 0.0000000 0.3001740 -0.0006540 0.1268890 0.0307110 0.0067360 1.2502300 -0.3673190 4.2730430 0.0000000 0.0000000 0.1302640 -0.0000400 0.0113200 0.3791430 0.5966850 0.2790480 2.0107700 -2.8303710 0.0000000 0.0000000 0.0572980 -0.0000100 0.0006740 0.5276150 0.4753380 -0.8988870 -1.1868670 0.7500080 0.0000000 0.0000000 0.0249520 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0108700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 7 0 249.3560000 0.0002310 -0.0002340 -0.0003770 -0.0004520 -0.0005630 0.0000000 0.0000000 74.7483000 0.0020800 -0.0021150 -0.0033820 -0.0038430 -0.0065570 0.0000000 0.0000000 28.9399000 0.0105420 -0.0107420 -0.0174880 -0.0209800 -0.0280350 0.0000000 0.0000000 12.5279000 0.0353670 -0.0363340 -0.0595610 -0.0691410 -0.1243040 0.0000000 0.0000000 5.7343100 0.0926070 -0.0971000 -0.1639910 -0.2118930 -0.2980530 0.0000000 0.0000000 2.7453100 0.1831320 -0.1877290 -0.2958230 -0.3288390 -0.5085580 0.0000000 0.0000000 1.3321200 0.2650160 -0.2464470 -0.2674980 -0.0835100 1.0461210 0.0000000 0.0000000 0.6410880 0.3000210 -0.1829140 0.2425250 1.0396670 0.3615210 0.0000000 0.0000000 0.3027810 0.2673900 0.1364430 0.7002880 -0.2452340 -1.8823220 0.0000000 0.0000000 0.1390530 0.1713110 0.4735860 -0.0562280 -1.0656140 1.7474600 0.0000000 0.0000000 0.0620290 0.0589290 0.3669010 -0.5893560 0.7625840 -0.4512010 0.0000000 0.0000000 0.02643956 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0112700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 3.5438000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.1759000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3902000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1295000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0408400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 2.5611000 1.0000000 0.0000000 0.0000000 0.0000000 0.8111000 0.0000000 1.0000000 0.0000000 0.0000000 0.2569000 0.0000000 0.0000000 1.0000000 0.0000000 0.0794900 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 1.8257000 1.0000000 0.0000000 0.0000000 0.5103000 0.0000000 1.0000000 0.0000000 0.1678700 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 1.0105000 1.0000000 0.0000000 0.3208900 0.0000000 1.0000000 $ VANADIUM (29s,21p,13d,5f,4g,3h,2i) -> [10s,9p,7d,5f,4g,3h,2i] $ VANADIUM (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ VANADIUM (1s,1p,1d,1f,1g,1h,1i) a 23 $ S-TYPE FUNCTIONS 29 10 0 1.28349E+08 7.559082E-08 -4.233311E-08 8.764631E-09 -2.028614E-09 -3.919381E-09 -6.06916E-09 -7.37951E-09 -9.582444E-09 0.0000000 0.0000000 2.29044E+07 5.044461E-07 -2.825169E-07 5.850453E-08 -1.354229E-08 -2.603331E-08 -4.016055E-08 -4.984396E-08 -6.716611E-08 0.0000000 0.0000000 5.10777E+06 2.926152E-06 -1.638725E-06 3.392632E-07 -7.852223E-08 -1.519192E-07 -2.354898E-07 -2.846693E-07 -3.657711E-07 0.0000000 0.0000000 1.36528E+06 1.342415E-05 -7.518519E-06 1.557075E-06 -3.604305E-07 -6.920024E-07 -1.066503E-06 -1.330646E-06 -1.808765E-06 0.0000000 0.0000000 422228.0000000 5.213143E-05 -2.919695E-05 6.044595E-06 -1.398979E-06 -2.711224E-06 -4.207968E-06 -5.051098E-06 -6.406617E-06 0.0000000 0.0000000 146685.0000000 0.0001771205 -9.922464E-05 2.055506E-05 -4.758252E-06 -9.115965E-06 -1.402663E-05 -1.765499E-05 -2.43535E-05 0.0000000 0.0000000 55872.3000000 0.0005432404 -0.0003044176 6.304706E-05 -1.459127E-05 -2.835051E-05 -4.408568E-05 -5.23595E-05 -6.507095E-05 0.0000000 0.0000000 22881.3000000 0.001537734 -0.0008626493 0.0001789327 -4.142355E-05 -7.912836E-05 -0.0001214852 -0.0001547542 -0.0002176891 0.0000000 0.0000000 9920.4500000 0.004081932 -0.002294364 0.0004763534 -0.0001102431 -0.0002148784 -0.0003349349 -0.0003926928 -0.0004756448 0.0000000 0.0000000 4499.9200000 0.01024296 -0.005784361 0.001206681 -0.0002793901 -0.000531965 -0.0008147638 -0.001052087 -0.001511976 0.0000000 0.0000000 2116.7500000 0.02429719 -0.01384521 0.00290738 -0.0006729388 -0.001316357 -0.002057575 -0.002379149 -0.002801195 0.0000000 0.0000000 1026.0600000 0.05382741 -0.03125257 0.006671537 -0.001545358 -0.002931813 -0.004479489 -0.005879989 -0.008666197 0.0000000 0.0000000 510.2570000 0.1083046 -0.06517593 0.01429445 -0.003310669 -0.006511894 -0.0102264 -0.01160458 -0.01312669 0.0000000 0.0000000 259.5320000 0.1877510 -0.1212452 0.02805248 -0.006508065 -0.01226756 -0.01867514 -0.02534133 -0.03917805 0.0000000 0.0000000 134.7090000 0.2548794 -0.1887922 0.04764851 -0.01106511 -0.02210677 -0.03518784 -0.03801562 -0.03801547 0.0000000 0.0000000 71.2104000 0.2275392 -0.2160891 0.0623929 -0.01456548 -0.02664568 -0.03981114 -0.06218123 -0.1132696 0.0000000 0.0000000 38.2496000 0.1075294 -0.1207730 0.0381530 -0.008920511 -0.02085328 -0.03673509 -0.01933881 0.03595954 0.0000000 0.0000000 20.8102000 0.05099967 0.1189207 -0.05632949 0.01323718 0.03285405 0.05969102 0.01617214 -0.09739948 0.0000000 0.0000000 11.4158000 0.09479662 0.4145044 -0.2394515 0.05853341 0.1037039 0.1588361 0.3477025 0.7821952 0.0000000 0.0000000 6.2730200 0.09804244 0.4365960 -0.3730611 0.09535172 0.2240209 0.4222280 0.4361287 0.3538718 0.0000000 0.0000000 3.4217700 0.03562689 0.1587686 -0.1378359 0.03433249 0.02243918 -0.03835624 0.003649234 -0.1355217 0.0000000 0.0000000 1.8304400 0.003443702 0.01503861 0.3654197 -0.1099505 -0.2269588 -0.6567155 -2.0758320 -5.1073220 0.0000000 0.0000000 0.9452350 0.0002031152 -0.000313797 0.6074602 -0.2173991 -0.7256302 -1.4574620 0.2889184 8.6829500 0.0000000 0.0000000 0.4759280 -4.464829E-05 -0.0007231998 0.3015966 -0.2237757 -0.02136386 2.0698680 3.5216890 -5.2129400 0.0000000 0.0000000 0.1863810 6.908941E-06 -5.19245E-05 0.02613175 -0.01020157 1.2267190 1.6542810 -4.7346100 -2.3726520 0.0000000 0.0000000 0.1067680 7.077376E-06 6.46642E-05 -0.004555459 0.4012464 0.5355637 -2.8048020 1.2067910 7.1624990 0.0000000 0.0000000 0.0499790 1.99325E-05 7.544843E-05 0.003357216 0.5727820 -0.6820891 -0.1989010 2.9598040 -6.2293730 0.0000000 0.0000000 0.0235010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0110500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 21 9 0 67602.1000000 0.0000020 -0.0000010 0.0000000 0.0000000 0.0000010 -0.0000010 -0.0000010 0.0000000 0.0000000 16330.1000000 0.0000220 -0.0000080 0.0000020 0.0000020 0.0000040 -0.0000070 -0.0000070 0.0000000 0.0000000 5149.5900000 0.0001380 -0.0000470 0.0000110 0.0000140 0.0000300 -0.0000320 -0.0000540 0.0000000 0.0000000 1950.0300000 0.0006370 -0.0002170 0.0000520 0.0000650 0.0001270 -0.0001930 -0.0002100 0.0000000 0.0000000 834.4630000 0.0024300 -0.0008310 0.0002010 0.0002490 0.0005290 -0.0005690 -0.0009630 0.0000000 0.0000000 386.9900000 0.0080290 -0.0027580 0.0006630 0.0008230 0.0016100 -0.0024460 -0.0026780 0.0000000 0.0000000 189.3720000 0.0234220 -0.0081310 0.0019730 0.0024380 0.0051810 -0.0055640 -0.0094690 0.0000000 0.0000000 96.2845000 0.0600350 -0.0212250 0.0051160 0.0063420 0.0123810 -0.0188860 -0.0207670 0.0000000 0.0000000 50.4640000 0.1300820 -0.0473580 0.0115520 0.0142490 0.0304960 -0.0315930 -0.0568020 0.0000000 0.0000000 27.1483000 0.2246520 -0.0845440 0.0204550 0.0253700 0.0485520 -0.0799160 -0.0799800 0.0000000 0.0000000 14.9256000 0.2994840 -0.1184370 0.0293490 0.0361120 0.0824320 -0.0708350 -0.1601810 0.0000000 0.0000000 8.3161700 0.2766330 -0.1107500 0.0266940 0.0334620 0.0603700 -0.1822610 -0.1677710 0.0000000 0.0000000 4.6208600 0.1402270 0.0159240 -0.0060590 -0.0068260 0.0101220 0.1077550 0.0980800 0.0000000 0.0000000 2.5113800 0.0278520 0.2455750 -0.0735450 -0.0874620 -0.2605390 0.3921670 1.5568150 0.0000000 0.0000000 1.3309100 -0.0001740 0.4018980 -0.1194360 -0.1451170 -0.3924090 1.0894750 -0.8027370 0.0000000 0.0000000 0.6904150 -0.0014710 0.3419350 -0.1247830 -0.1669600 -0.2954210 -1.8328780 -2.6228150 0.0000000 0.0000000 0.3432070 -0.0006800 0.1291400 0.0366050 0.0161970 1.2391450 -0.2943300 4.0233660 0.0000000 0.0000000 0.1458960 -0.0000420 0.0117690 0.3728900 0.5946810 0.2525760 1.9029040 -2.7546210 0.0000000 0.0000000 0.0629710 -0.0000080 0.0003810 0.5246490 0.4728630 -0.8792700 -1.1520610 0.8325630 0.0000000 0.0000000 0.0269220 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0115100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 7 0 298.4240000 0.0002180 -0.0002300 -0.0003590 -0.0004750 -0.0005620 0.0000000 0.0000000 88.3665000 0.0020340 -0.0021540 -0.0033510 -0.0042910 -0.0062300 0.0000000 0.0000000 34.0559000 0.0105740 -0.0112340 -0.0177090 -0.0235210 -0.0293400 0.0000000 0.0000000 14.7799000 0.0359550 -0.0385420 -0.0614840 -0.0810930 -0.1257620 0.0000000 0.0000000 6.8290500 0.0935000 -0.1027740 -0.1696420 -0.2481480 -0.3358610 0.0000000 0.0000000 3.3110900 0.1840370 -0.1981620 -0.3066070 -0.3730460 -0.4112650 0.0000000 0.0000000 1.6286100 0.2662670 -0.2518290 -0.2499830 0.0738110 1.1230240 0.0000000 0.0000000 0.7933930 0.2995840 -0.1612270 0.2824440 1.0214190 0.0942510 0.0000000 0.0000000 0.3788260 0.2628030 0.1595380 0.6731490 -0.4108180 -1.6935340 0.0000000 0.0000000 0.1758620 0.1654210 0.4593380 -0.0785380 -0.9139110 1.6913710 0.0000000 0.0000000 0.0788580 0.0580390 0.3583680 -0.5838200 0.7099380 -0.3887260 0.0000000 0.0000000 0.0333820 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0141300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 4.6916000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.5791000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5315000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1789000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0581200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 3.4195000 1.0000000 0.0000000 0.0000000 0.0000000 1.1033000 0.0000000 1.0000000 0.0000000 0.0000000 0.3560000 0.0000000 0.0000000 1.0000000 0.0000000 0.1189300 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 2.4609000 1.0000000 0.0000000 0.0000000 0.7002000 0.0000000 1.0000000 0.0000000 0.2504200 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 1.5757000 1.0000000 0.0000000 0.5895900 0.0000000 1.0000000 $ CHROMIUM (29s,21p,13d,5f,4g,3h,2i) -> [10s,9p,7d,5f,4g,3h,2i] $ CHROMIUM (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ CHROMIUM (1s,1p,1d,1f,1g,1h,1i) a 24 $ S-TYPE FUNCTIONS 29 10 0 1.35540E+08 7.860909E-08 -4.393198E-08 9.262175E-09 -2.100265E-09 -4.146642E-09 -6.488897E-09 -8.057731E-09 -1.001431E-08 0.0000000 0.0000000 2.42404E+07 5.230504E-07 -2.923256E-07 6.164427E-08 -1.397942E-08 -2.744623E-08 -4.279886E-08 -5.449074E-08 -6.926624E-08 0.0000000 0.0000000 5.41227E+06 3.030869E-06 -1.693847E-06 3.570946E-07 -8.097196E-08 -1.601135E-07 -2.507932E-07 -3.092592E-07 -3.815845E-07 0.0000000 0.0000000 1.44792E+06 1.3889E-05 -7.762636E-06 1.637074E-06 -3.712563E-07 -7.278668E-07 -1.134012E-06 -1.452906E-06 -1.858014E-06 0.0000000 0.0000000 448199.0000000 5.386079E-05 -3.010309E-05 6.346275E-06 -1.438993E-06 -2.850853E-06 -4.470662E-06 -5.46589E-06 -6.687E-06 0.0000000 0.0000000 155899.0000000 0.0001826227 -0.0001020941 2.153698E-05 -4.884352E-06 -9.552888E-06 -1.486072E-05 -1.924479E-05 -2.484929E-05 0.0000000 0.0000000 59479.6000000 0.0005586325 -0.0003124026 6.58856E-05 -1.493879E-05 -2.968205E-05 -4.663092E-05 -5.626566E-05 -6.793021E-05 0.0000000 0.0000000 24408.1000000 0.001576299 -0.0008824782 0.0001864046 -4.227739E-05 -8.241072E-05 -0.0001279315 -0.0001681395 -0.000219938 0.0000000 0.0000000 10607.0000000 0.004169939 -0.002339258 0.0004945862 -0.0001121405 -0.0002236203 -0.0003521084 -0.0004180269 -0.0004963362 0.0000000 0.0000000 4823.0800000 0.01042776 -0.005877709 0.001248762 -0.0002832662 -0.0005501076 -0.0008520213 -0.001138751 -0.001510983 0.0000000 0.0000000 2274.0800000 0.02465857 -0.01402849 0.003000302 -0.0006803672 -0.001362231 -0.002150678 -0.002509533 -0.002926739 0.0000000 0.0000000 1104.5400000 0.0544866 -0.03159558 0.006870641 -0.001559223 -0.003015736 -0.004660657 -0.006353116 -0.008574245 0.0000000 0.0000000 550.0990000 0.1094152 -0.06581587 0.0147068 -0.003337304 -0.006722274 -0.0106598 -0.0121576 -0.01384885 0.0000000 0.0000000 280.0100000 0.1893356 -0.1223894 0.02886345 -0.006561113 -0.01259995 -0.01941515 -0.0275123 -0.03834684 0.0000000 0.0000000 145.3300000 0.2561724 -0.1904926 0.04902786 -0.01115752 -0.02285648 -0.0367085 -0.03944079 -0.04190377 0.0000000 0.0000000 76.7551000 0.2268474 -0.2170072 0.06391156 -0.01462359 -0.02715659 -0.04117897 -0.06872967 -0.1070907 0.0000000 0.0000000 41.1594000 0.1055708 -0.1173808 0.03765591 -0.008633298 -0.02113804 -0.03736427 -0.01402938 0.02132387 0.0000000 0.0000000 22.3445000 0.05199165 0.1320872 -0.06346137 0.01464739 0.03721168 0.06683735 0.01289964 -0.05710773 0.0000000 0.0000000 12.2293000 0.09691052 0.4300999 -0.2572992 0.06184511 0.1114359 0.1763321 0.4202805 0.7753646 0.0000000 0.0000000 6.7077700 0.09468708 0.4273569 -0.3772640 0.09478115 0.2314628 0.4399191 0.4154218 0.4421097 0.0000000 0.0000000 3.6569400 0.03194821 0.1441234 -0.1060193 0.02513425 -0.004161973 -0.09880462 -0.0960278 -0.6606407 0.0000000 0.0000000 1.9597800 0.002931469 0.01289772 0.3929518 -0.1164814 -0.2449631 -0.7255668 -2.3056310 -4.4525940 0.0000000 0.0000000 1.0175800 0.0002111193 -0.0002726576 0.5959745 -0.2139959 -0.7360778 -1.3708500 1.0185750 8.6920940 0.0000000 0.0000000 0.5129130 -1.653905E-05 -0.0005554224 0.2812188 -0.2099994 0.07004895 2.2233550 2.8776730 -5.9392790 0.0000000 0.0000000 0.1947980 4.265747E-06 -5.978166E-05 0.02272335 0.01313418 1.2774030 1.3085500 -4.9333520 -0.8400572 0.0000000 0.0000000 0.1109690 1.479579E-05 0.0001017909 -0.004227356 0.4029770 0.3956614 -2.7149080 2.0626700 5.7181160 0.0000000 0.0000000 0.0521230 2.379865E-05 9.249085E-05 0.003488431 0.5574989 -0.6769812 0.01730143 2.3161840 -5.7941660 0.0000000 0.0000000 0.0244890 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0115100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 21 9 0 72029.6000000 0.0000030 -0.0000010 0.0000000 0.0000000 0.0000010 0.0000010 -0.0000010 0.0000000 0.0000000 17890.9000000 0.0000220 -0.0000080 -0.0000020 0.0000020 0.0000050 0.0000070 -0.0000070 0.0000000 0.0000000 5678.2800000 0.0001370 -0.0000470 -0.0000110 0.0000140 0.0000310 0.0000350 -0.0000590 0.0000000 0.0000000 2138.7500000 0.0006440 -0.0002230 -0.0000520 0.0000670 0.0001350 0.0002020 -0.0002150 0.0000000 0.0000000 905.8550000 0.0025110 -0.0008720 -0.0002070 0.0002620 0.0005720 0.0006460 -0.0010750 0.0000000 0.0000000 415.6450000 0.0084470 -0.0029470 -0.0006930 0.0008810 0.0017920 0.0026650 -0.0028710 0.0000000 0.0000000 201.6950000 0.0248620 -0.0087710 -0.0020820 0.0026350 0.0057550 0.0064930 -0.0108850 0.0000000 0.0000000 102.0400000 0.0637050 -0.0229140 -0.0054050 0.0068590 0.0139210 0.0208730 -0.0224070 0.0000000 0.0000000 53.3955000 0.1366080 -0.0506670 -0.0120940 0.0152810 0.0336600 0.0366920 -0.0655250 0.0000000 0.0000000 28.7570000 0.2321020 -0.0891160 -0.0210980 0.0268000 0.0533400 0.0863130 -0.0817190 0.0000000 0.0000000 15.8536000 0.3023570 -0.1223120 -0.0296980 0.0374690 0.0883240 0.0825040 -0.1939850 0.0000000 0.0000000 8.8638500 0.2683220 -0.1067880 -0.0250470 0.0322580 0.0606720 0.1830400 -0.1416950 0.0000000 0.0000000 4.9433400 0.1288470 0.0326180 0.0102820 -0.0124160 -0.0055130 -0.1524300 0.2081580 0.0000000 0.0000000 2.6973200 0.0240140 0.2616090 0.0768880 -0.0943420 -0.2993800 -0.4989330 1.6488430 0.0000000 0.0000000 1.4364300 -0.0002360 0.4013360 0.1173220 -0.1479450 -0.4021920 -0.9010930 -1.4462180 0.0000000 0.0000000 0.7485180 -0.0012910 0.3272510 0.1163280 -0.1595740 -0.1927060 1.9311390 -1.8462910 0.0000000 0.0000000 0.3733100 -0.0005730 0.1195440 -0.0450520 0.0422640 1.2394070 -0.0082870 3.6358120 0.0000000 0.0000000 0.1577120 -0.0000330 0.0105100 -0.3724610 0.6008800 0.1442260 -1.7252310 -2.7449690 0.0000000 0.0000000 0.0674840 -0.0000070 0.0002930 -0.5207620 0.4537120 -0.8307840 1.1431100 0.9609530 0.0000000 0.0000000 0.0285950 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0121200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 7 0 384.3240000 0.0001660 -0.0001870 -0.0002700 -0.0003980 0.0004530 0.0000000 0.0000000 115.6210000 0.0015330 -0.0017360 -0.0024910 -0.0034880 0.0048530 0.0000000 0.0000000 44.8478000 0.0082730 -0.0094250 -0.0136900 -0.0202480 0.0241550 0.0000000 0.0000000 19.6129000 0.0296280 -0.0339690 -0.0497520 -0.0719540 0.1054670 0.0000000 0.0000000 9.1008300 0.0804320 -0.0949620 -0.1445960 -0.2362580 0.3238140 0.0000000 0.0000000 4.4183200 0.1682550 -0.1972130 -0.2922080 -0.4094040 0.4542210 0.0000000 0.0000000 2.1828700 0.2573470 -0.2639680 -0.2774690 0.0167400 -1.0093700 0.0000000 0.0000000 1.0684000 0.3013010 -0.1771220 0.2057700 1.0070320 -0.3428410 0.0000000 0.0000000 0.5106240 0.2754300 0.1388050 0.6868800 -0.2422900 1.8302970 0.0000000 0.0000000 0.2351410 0.1820770 0.4526330 0.0068000 -1.0046230 -1.6316990 0.0000000 0.0000000 0.1028360 0.0675340 0.3742040 -0.6314930 0.6909580 0.3024500 0.0000000 0.0000000 0.0414250 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0166900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 5.6236000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.9039000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6445000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2182000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0710200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 4.1121000 1.0000000 0.0000000 0.0000000 0.0000000 1.3325000 0.0000000 1.0000000 0.0000000 0.0000000 0.4318000 0.0000000 0.0000000 1.0000000 0.0000000 0.1482600 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 3.0067000 1.0000000 0.0000000 0.0000000 0.8770000 0.0000000 1.0000000 0.0000000 0.3265100 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 2.1131000 1.0000000 0.0000000 0.8588900 0.0000000 1.0000000 $ MANGANESE (29s,21p,13d,5f,4g,3h,2i) -> [10s,9p,7d,5f,4g,3h,2i] $ MANGANESE (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ MANGANESE (1s,1p,1d,1f,1g,1h,1i) a 25 $ S-TYPE FUNCTIONS 29 10 0 1.37766E+08 8.842975E-08 -4.218706E-08 1.015457E-08 -2.246625E-09 -4.534252E-09 -7.148E-09 8.949441E-09 -1.066381E-08 0.0000000 0.0000000 2.45640E+07 5.905615E-07 -2.817388E-07 6.782945E-08 -1.500767E-08 -3.003406E-08 -4.720068E-08 6.11075E-08 -7.316027E-08 0.0000000 0.0000000 5.47999E+06 3.42133E-06 -1.632223E-06 3.928614E-07 -8.691633E-08 -1.758309E-07 -2.774238E-07 3.441033E-07 -4.095669E-07 0.0000000 0.0000000 1.46664E+06 1.566036E-05 -7.471311E-06 1.798871E-06 -3.980171E-07 -7.947986E-07 -1.248083E-06 1.62958E-06 -1.952973E-06 0.0000000 0.0000000 454421.0000000 6.063846E-05 -2.893181E-05 6.963577E-06 -1.540586E-06 -3.125609E-06 -4.936711E-06 6.052563E-06 -7.192587E-06 0.0000000 0.0000000 158216.0000000 0.0002053663 -9.800407E-05 2.360275E-05 -5.222482E-06 -1.039025E-05 -1.629371E-05 2.158213E-05 -2.591346E-05 0.0000000 0.0000000 60404.3000000 0.000627818 -0.0002997548 7.217248E-05 -1.596671E-05 -3.253639E-05 -5.147115E-05 6.199578E-05 -7.34907E-05 0.0000000 0.0000000 24793.6000000 0.001771534 -0.0008468121 0.0002041835 -4.518135E-05 -8.943434E-05 -0.0001399872 0.0001890931 -0.0002276235 0.0000000 0.0000000 10772.3000000 0.004687682 -0.002246523 0.0005421183 -0.0001199336 -0.0002457164 -0.0003894882 0.0004590406 -0.0005425268 0.0000000 0.0000000 4895.5400000 0.01172341 -0.005649008 0.001369241 -0.0003030247 -0.0005964197 -0.0009316701 0.001286601 -0.001553473 0.0000000 0.0000000 2306.5600000 0.02769121 -0.01349329 0.003290005 -0.0007279695 -0.001500461 -0.002384126 0.002744429 -0.003235321 0.0000000 0.0000000 1119.5600000 0.06096465 -0.03037651 0.007518812 -0.001664739 -0.003255209 -0.005075251 0.007197225 -0.008728688 0.0000000 0.0000000 557.3810000 0.1213985 -0.06317168 0.01602116 -0.003547631 -0.007379623 -0.01177533 0.01311149 -0.01543349 0.0000000 0.0000000 283.7780000 0.2067236 -0.1169586 0.03113189 -0.00690479 -0.01333239 -0.02073168 0.03103962 -0.03803991 0.0000000 0.0000000 147.4360000 0.2716552 -0.1804917 0.05187931 -0.01152342 -0.02461735 -0.03978041 0.04028608 -0.04719394 0.0000000 0.0000000 78.0227000 0.2296262 -0.1999569 0.0645544 -0.01441381 -0.02607861 -0.0398361 0.07611996 -0.09654593 0.0000000 0.0000000 41.9679000 0.09993531 -0.09135649 0.03109453 -0.006961783 -0.02088826 -0.03723219 -0.003929039 0.01102053 0.0000000 0.0000000 22.8778000 0.04335678 0.1705224 -0.08134397 0.01838929 0.05123107 0.09006454 -0.008212308 0.002268643 0.0000000 0.0000000 12.5845000 0.07097637 0.4562984 -0.2830847 0.0665831 0.1130295 0.1833979 -0.5082019 0.7235714 0.0000000 0.0000000 6.9417000 0.06195771 0.4058134 -0.3683282 0.09026754 0.2466771 0.4676477 -0.3343452 0.6284262 0.0000000 0.0000000 3.8062900 0.01878693 0.1228205 -0.05599023 0.01114062 -0.06508546 -0.2128283 0.08969441 -1.3868730 0.0000000 0.0000000 2.0503100 0.001455711 0.009020458 0.4285509 -0.1232779 -0.2324403 -0.7680324 2.7884720 -3.6182300 0.0000000 0.0000000 1.0683800 -5.045613E-05 -0.001825436 0.5819623 -0.2094592 -0.7884686 -1.2496170 -2.2387070 8.7472240 0.0000000 0.0000000 0.5366060 -8.380837E-05 -0.001093262 0.2496080 -0.1925129 0.2571250 2.4127970 -1.6215140 -6.9446930 0.0000000 0.0000000 0.1832600 -9.776338E-07 -8.298619E-05 0.01728022 0.0752431 1.4735000 0.7227795 5.0502260 1.9204040 0.0000000 0.0000000 0.1052970 9.779516E-06 0.0001053172 -0.004795031 0.4096457 -0.01641997 -2.5218430 -3.4580400 2.7673240 0.0000000 0.0000000 0.0514640 1.146026E-05 5.625668E-05 0.003440433 0.5138881 -0.6176794 0.3302503 -1.2850680 -4.8034180 0.0000000 0.0000000 0.0246780 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0118300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 21 9 0 79296.8000000 0.0000030 -0.0000010 0.0000000 0.0000000 0.0000010 0.0000010 -0.0000010 0.0000000 0.0000000 19317.1000000 0.0000230 -0.0000080 -0.0000020 0.0000020 0.0000050 0.0000080 -0.0000090 0.0000000 0.0000000 6114.1000000 0.0001400 -0.0000490 -0.0000110 0.0000150 0.0000340 0.0000380 -0.0000610 0.0000000 0.0000000 2316.2600000 0.0006490 -0.0002260 -0.0000520 0.0000690 0.0001430 0.0002180 -0.0002580 0.0000000 0.0000000 989.6900000 0.0024900 -0.0008670 -0.0002010 0.0002680 0.0005980 0.0006870 -0.0010900 0.0000000 0.0000000 457.9420000 0.0082780 -0.0028990 -0.0006640 0.0008870 0.0018360 0.0028050 -0.0033360 0.0000000 0.0000000 223.6420000 0.0242560 -0.0085880 -0.0019890 0.0026510 0.0059260 0.0068190 -0.0108790 0.0000000 0.0000000 113.5940000 0.0622630 -0.0224810 -0.0051630 0.0068870 0.0142470 0.0219170 -0.0262170 0.0000000 0.0000000 59.5621000 0.1344250 -0.0500630 -0.0116530 0.0155180 0.0349660 0.0391730 -0.0651420 0.0000000 0.0000000 32.1072000 0.2305460 -0.0890050 -0.0204990 0.0273590 0.0555390 0.0916730 -0.1036590 0.0000000 0.0000000 17.7103000 0.3028020 -0.1231560 -0.0291510 0.0388620 0.0932280 0.0889890 -0.1798150 0.0000000 0.0000000 9.9062100 0.2709290 -0.1081330 -0.0246150 0.0331240 0.0637480 0.1938430 -0.2372120 0.0000000 0.0000000 5.5224300 0.1311240 0.0330910 0.0097150 -0.0123220 -0.0048200 -0.1670910 0.4289330 0.0000000 0.0000000 3.0083200 0.0238760 0.2649160 0.0754410 -0.0993820 -0.3313960 -0.6030080 1.7159450 0.0000000 0.0000000 1.5987300 -0.0013330 0.4034830 0.1132040 -0.1521070 -0.4086080 -0.7469800 -2.1889430 0.0000000 0.0000000 0.8308680 -0.0022010 0.3248540 0.1117760 -0.1564310 -0.1206320 1.9864650 -0.7886070 0.0000000 0.0000000 0.4135380 -0.0008920 0.1174300 -0.0440690 0.0650050 1.2130530 -0.2640370 2.9045500 0.0000000 0.0000000 0.1711080 -0.0000580 0.0101160 -0.3663240 0.6060200 0.0834220 -1.5278200 -2.4975380 0.0000000 0.0000000 0.0721660 -0.0000060 0.0001390 -0.5217500 0.4366030 -0.7984570 1.1102770 0.9969160 0.0000000 0.0000000 0.0301650 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0126100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 7 0 435.1000000 0.0001640 -0.0001670 -0.0002640 -0.0003350 0.0004280 0.0000000 0.0000000 130.9820000 0.0015220 -0.0015520 -0.0024650 -0.0031170 0.0040650 0.0000000 0.0000000 50.8816000 0.0082730 -0.0084650 -0.0135790 -0.0173510 0.0224800 0.0000000 0.0000000 22.3008000 0.0300090 -0.0308790 -0.0501340 -0.0644280 0.0881960 0.0000000 0.0000000 10.3552000 0.0825800 -0.0869740 -0.1470570 -0.2031970 0.3015230 0.0000000 0.0000000 5.0152100 0.1735770 -0.1838990 -0.3005680 -0.4122630 0.4548760 0.0000000 0.0000000 2.4679300 0.2626510 -0.2523340 -0.2747340 -0.0104480 -0.8562740 0.0000000 0.0000000 1.2036900 0.2984790 -0.1705240 0.1995370 0.9383060 -0.4854470 0.0000000 0.0000000 0.5741520 0.2656810 0.1226330 0.6304240 -0.1067180 1.6097040 0.0000000 0.0000000 0.2641140 0.1802830 0.4216570 0.0936480 -0.9815340 -1.0002050 0.0000000 0.0000000 0.1151280 0.0766130 0.4069480 -0.5780320 0.4637150 -0.3451560 0.0000000 0.0000000 0.0460820 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0184500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 6.5601000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.2490000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.7710000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2643000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0875300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 4.9372000 1.0000000 0.0000000 0.0000000 0.0000000 1.6330000 0.0000000 1.0000000 0.0000000 0.0000000 0.5401000 0.0000000 0.0000000 1.0000000 0.0000000 0.1925300 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 3.5889000 1.0000000 0.0000000 0.0000000 1.0793000 0.0000000 1.0000000 0.0000000 0.4178700 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 2.6052000 1.0000000 0.0000000 1.1122100 0.0000000 1.0000000 $ IRON (29s,21p,13d,5f,4g,3h,2i) -> [10s,9p,7d,5f,4g,3h,2i] $ IRON (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ IRON (1s,1p,1d,1f,1g,1h,1i) a 26 $ S-TYPE FUNCTIONS 29 10 0 1.49769E+08 8.65756E-08 -4.466833E-08 1.025471E-08 -2.217427E-09 -4.424824E-09 -7.310611E-09 9.015017E-09 -1.054576E-08 0.0000000 0.0000000 2.67225E+07 5.77912E-07 -2.981708E-07 6.846679E-08 -1.480595E-08 -2.930792E-08 -4.824191E-08 6.106675E-08 -7.056298E-08 0.0000000 0.0000000 5.95900E+06 3.351645E-06 -1.729284E-06 3.96979E-07 -8.583901E-08 -1.71671E-07 -2.839212E-07 3.475829E-07 -4.07978E-07 0.0000000 0.0000000 1.59361E+06 1.535765E-05 -7.923933E-06 1.819651E-06 -3.93507E-07 -7.77332E-07 -1.27829E-06 1.628897E-06 -1.876538E-06 0.0000000 0.0000000 493464.0000000 5.94969E-05 -3.070041E-05 7.047651E-06 -1.523883E-06 -3.05604E-06 -5.060659E-06 6.139742E-06 -7.237094E-06 0.0000000 0.0000000 171790.0000000 0.0002014152 -0.0001039495 2.387774E-05 -5.163835E-06 -1.016453E-05 -1.66875E-05 2.150851E-05 -2.464974E-05 0.0000000 0.0000000 65620.9000000 0.0006149037 -0.0003175045 7.291472E-05 -1.576558E-05 -3.175112E-05 -5.268054E-05 6.302967E-05 -7.478965E-05 0.0000000 0.0000000 26965.6000000 0.001731321 -0.0008949487 0.0002058392 -4.451792E-05 -8.719808E-05 -0.0001428269 0.0001870318 -0.0002128281 0.0000000 0.0000000 11735.3000000 0.004569368 -0.002367812 0.0005451035 -0.000117862 -0.0002386228 -0.0003968842 0.0004667623 -0.0005585257 0.0000000 0.0000000 5343.4300000 0.01139791 -0.005936926 0.001373278 -0.0002970506 -0.0005786208 -0.0009453497 0.001260398 -0.00142342 0.0000000 0.0000000 2522.5000000 0.02686784 -0.01414486 0.003293117 -0.00071215 -0.001450243 -0.002419017 0.002793658 -0.003375476 0.0000000 0.0000000 1226.4300000 0.05910762 -0.03178413 0.007520746 -0.001627578 -0.003150862 -0.005134981 0.00699293 -0.007838124 0.0000000 0.0000000 611.2690000 0.1178426 -0.0660463 0.01604652 -0.003472813 -0.007132634 -0.01195244 0.01347323 -0.01654157 0.0000000 0.0000000 311.3080000 0.2013762 -0.1222703 0.03130265 -0.006786387 -0.01299059 -0.02109359 0.02996288 -0.03319364 0.0000000 0.0000000 161.6240000 0.2660774 -0.1886920 0.05252865 -0.01140447 -0.02399757 -0.04075824 0.04304064 -0.0553315 0.0000000 0.0000000 85.3767000 0.2259862 -0.2090970 0.06605295 -0.0144202 -0.02606463 -0.04137104 0.07114008 -0.07431718 0.0000000 0.0000000 45.7911000 0.0989389 -0.09698896 0.03249377 -0.007112199 -0.02037216 -0.0387337 0.00991124 -0.03576261 0.0000000 0.0000000 24.8677000 0.04932559 0.1731916 -0.08476809 0.01875196 0.05015681 0.09345579 -0.03635768 0.09555264 0.0000000 0.0000000 13.6202000 0.08604376 0.4624772 -0.2950180 0.06800067 0.1171966 0.1922005 -0.4435727 0.4920463 0.0000000 0.0000000 7.4810600 0.07322462 0.3998340 -0.3709547 0.08897549 0.2376384 0.4898034 -0.5159647 1.2092390 0.0000000 0.0000000 4.0881700 0.0211745 0.1152408 -0.03464813 0.005375665 -0.07287353 -0.2420892 0.3276521 -2.5331060 0.0000000 0.0000000 2.1990500 0.001623143 0.008408747 0.4462486 -0.1262455 -0.2495889 -0.8764617 2.9003630 -2.3277190 0.0000000 0.0000000 1.1481500 1.197242E-06 -0.00129691 0.5717586 -0.2047776 -0.7317222 -1.0744520 -2.8382230 8.1954170 0.0000000 0.0000000 0.5772650 -5.963673E-05 -0.0007550238 0.2348678 -0.1813373 0.2562426 2.3517730 -1.0430590 -7.2448810 0.0000000 0.0000000 0.1976350 -7.981802E-07 -6.907416E-05 0.01506233 0.08926755 1.3560610 0.5240434 4.5316650 3.1292460 0.0000000 0.0000000 0.1089860 9.664711E-06 8.777604E-05 -0.003437339 0.4152351 0.05874061 -2.2517260 -3.2699620 1.1613620 0.0000000 0.0000000 0.0532160 9.1322E-06 3.250702E-05 0.003254188 0.4980481 -0.5623917 0.2695895 -1.0260610 -3.8758240 0.0000000 0.0000000 0.0255710 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0122900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 21 9 0 86947.3000000 0.0000020 -0.0000010 0.0000000 0.0000000 0.0000010 0.0000010 0.0000010 0.0000000 0.0000000 21254.0000000 0.0000220 -0.0000080 0.0000020 0.0000030 0.0000050 0.0000080 0.0000100 0.0000000 0.0000000 6741.1400000 0.0001370 -0.0000480 0.0000110 0.0000160 0.0000350 0.0000390 0.0000570 0.0000000 0.0000000 2557.1600000 0.0006330 -0.0002230 0.0000490 0.0000720 0.0001480 0.0002240 0.0002980 0.0000000 0.0000000 1093.5100000 0.0024280 -0.0008580 0.0001900 0.0002850 0.0006300 0.0006930 0.0010240 0.0000000 0.0000000 506.1610000 0.0080880 -0.0028740 0.0006290 0.0009310 0.0019130 0.0028800 0.0038480 0.0000000 0.0000000 247.1390000 0.0238010 -0.0085490 0.0018960 0.0028370 0.0062820 0.0069440 0.0103190 0.0000000 0.0000000 125.4150000 0.0614900 -0.0225280 0.0049400 0.0073090 0.0150250 0.0227470 0.0307110 0.0000000 0.0000000 65.6512000 0.1338960 -0.0506120 0.0112840 0.0168900 0.0376700 0.0406250 0.0617990 0.0000000 0.0000000 35.3079000 0.2315900 -0.0908530 0.0199750 0.0294880 0.0595210 0.0966580 0.1300020 0.0000000 0.0000000 19.4260000 0.3051640 -0.1261670 0.0286520 0.0433150 0.1023020 0.0922040 0.1521010 0.0000000 0.0000000 10.8438000 0.2709610 -0.1087830 0.0234470 0.0342620 0.0667160 0.2132970 0.3802740 0.0000000 0.0000000 6.0435900 0.1290850 0.0380140 -0.0101570 -0.0126420 -0.0046980 -0.2060540 -0.8124970 0.0000000 0.0000000 3.3024500 0.0234320 0.2686010 -0.0737810 -0.1153800 -0.3942540 -0.6970400 -1.5336760 0.0000000 0.0000000 1.7638900 -0.0009120 0.4011180 -0.1060330 -0.1597990 -0.4102480 -0.5861790 2.7453080 0.0000000 0.0000000 0.9213860 -0.0018800 0.3201590 -0.1072140 -0.1624660 -0.0101410 2.0953970 -0.1935220 0.0000000 0.0000000 0.4603730 -0.0007740 0.1178280 0.0388870 0.1157490 1.1891730 -0.6206040 -2.1517710 0.0000000 0.0000000 0.1836130 -0.0000500 0.0103210 0.3560020 0.6334080 -0.0476880 -1.2761030 2.2005390 0.0000000 0.0000000 0.0758570 -0.0000020 -0.0002070 0.5256190 0.3848220 -0.7406230 1.0949440 -1.0191770 0.0000000 0.0000000 0.0311470 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0127900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 7 0 489.1150000 0.0001610 -0.0001770 0.0002550 -0.0003430 -0.0004800 0.0000000 0.0000000 147.2080000 0.0015040 -0.0016620 0.0024170 -0.0033700 -0.0041140 0.0000000 0.0000000 57.1278000 0.0082640 -0.0091670 0.0133600 -0.0182450 -0.0251280 0.0000000 0.0000000 25.0429000 0.0303080 -0.0338130 0.0501130 -0.0707720 -0.0908760 0.0000000 0.0000000 11.6672000 0.0833100 -0.0952530 0.1462150 -0.2178620 -0.3569300 0.0000000 0.0000000 5.6825000 0.1734770 -0.2009730 0.3074050 -0.4774330 -0.4983040 0.0000000 0.0000000 2.8132500 0.2614830 -0.2716650 0.2670510 0.1101250 1.2870220 0.0000000 0.0000000 1.3773300 0.2996800 -0.1618990 -0.2621310 1.0166160 -0.1020050 0.0000000 0.0000000 0.6565340 0.2695640 0.1633340 -0.6319990 -0.3807830 -1.4530250 0.0000000 0.0000000 0.3007000 0.1786260 0.4360160 -0.0025160 -0.8475000 1.4203760 0.0000000 0.0000000 0.1301870 0.0691950 0.3688740 0.6017010 0.5934410 -0.2129640 0.0000000 0.0000000 0.0515820 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0204400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 7.5384000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.6229000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.9126000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3175000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1066600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 5.8324000 1.0000000 0.0000000 0.0000000 0.0000000 1.9704000 0.0000000 1.0000000 0.0000000 0.0000000 0.6657000 0.0000000 0.0000000 1.0000000 0.0000000 0.2453900 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 4.2600000 1.0000000 0.0000000 0.0000000 1.3156000 0.0000000 1.0000000 0.0000000 0.5286200 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 3.1502000 1.0000000 0.0000000 1.4049900 0.0000000 1.0000000 $ COBALT (29s,21p,13d,5f,4g,3h,2i) -> [10s,9p,7d,5f,4g,3h,2i] $ COBALT (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ COBALT (1s,1p,1d,1f,1g,1h,1i) a 27 $ S-TYPE FUNCTIONS 29 10 0 1.61030E+08 8.662183E-08 -4.556183E-08 1.041562E-08 -2.200797E-09 -4.305752E-09 -7.60024E-09 9.197016E-09 -1.070534E-08 0.0000000 0.0000000 2.87558E+07 5.771763E-07 -3.035847E-07 6.941461E-08 -1.46685E-08 -2.848385E-08 -5.006064E-08 6.187033E-08 -7.038714E-08 0.0000000 0.0000000 6.42324E+06 3.338777E-06 -1.756166E-06 4.01447E-07 -8.482259E-08 -1.662977E-07 -2.938904E-07 3.535327E-07 -4.141923E-07 0.0000000 0.0000000 1.72120E+06 1.525639E-05 -8.024821E-06 1.835009E-06 -3.877784E-07 -7.515459E-07 -1.319357E-06 1.639554E-06 -1.854049E-06 0.0000000 0.0000000 533994.0000000 5.896429E-05 -3.101768E-05 7.090429E-06 -1.498105E-06 -2.944684E-06 -5.21171E-06 6.223594E-06 -7.350041E-06 0.0000000 0.0000000 186194.0000000 0.0001992702 -0.0001048428 2.398084E-05 -5.067913E-06 -9.789564E-06 -1.715261E-05 2.151491E-05 -2.408411E-05 0.0000000 0.0000000 71201.7000000 0.0006077789 -0.0003199314 7.316286E-05 -1.545763E-05 -3.050378E-05 -5.410968E-05 6.389719E-05 -7.638731E-05 0.0000000 0.0000000 29276.2000000 0.001710961 -0.0009016105 0.0002064944 -4.36422E-05 -8.391909E-05 -0.0001466455 0.000186321 -0.0002056945 0.0000000 0.0000000 12742.3000000 0.004517474 -0.00238639 0.000547093 -0.0001155867 -0.0002292077 -0.000407724 0.0004749694 -0.0005763721 0.0000000 0.0000000 5800.5100000 0.01127782 -0.0059881 0.001379359 -0.0002915733 -0.0005578224 -0.0009719138 0.001252974 -0.001362515 0.0000000 0.0000000 2736.9600000 0.02661227 -0.01428063 0.003311503 -0.0006997388 -0.001395052 -0.002489639 0.002859209 -0.003527424 0.0000000 0.0000000 1329.9900000 0.05860637 -0.03211732 0.007570774 -0.001601143 -0.003045922 -0.005291021 0.006940624 -0.007424293 0.0000000 0.0000000 662.6110000 0.1169482 -0.06678496 0.01617381 -0.003420234 -0.006873444 -0.01233031 0.01389573 -0.01758255 0.0000000 0.0000000 337.4150000 0.1999746 -0.1236623 0.03158299 -0.006691847 -0.0125977 -0.02177919 0.02959972 -0.03075095 0.0000000 0.0000000 175.2340000 0.2643784 -0.1908018 0.05307111 -0.01125825 -0.02314866 -0.04215306 0.04516314 -0.06133217 0.0000000 0.0000000 92.6434000 0.2249341 -0.2115468 0.06689319 -0.01427562 -0.02548397 -0.04281763 0.06841808 -0.06129559 0.0000000 0.0000000 49.7576000 0.0990624 -0.09922228 0.03338852 -0.007134768 -0.01958046 -0.04064818 0.01839713 -0.06543693 0.0000000 0.0000000 27.0728000 0.05071482 0.1722946 -0.08553213 0.01848341 0.04772897 0.09666274 -0.05186229 0.1523938 0.0000000 0.0000000 14.8610000 0.08902685 0.4619215 -0.2983211 0.06724484 0.1149297 0.1952451 -0.3974522 0.3484988 0.0000000 0.0000000 8.1812100 0.07586152 0.3996247 -0.3720681 0.08704356 0.2257042 0.5139452 -0.6606775 1.6044000 0.0000000 0.0000000 4.4794100 0.02214222 0.1162798 -0.03313281 0.004998014 -0.06554148 -0.2545005 0.5215581 -3.2744650 0.0000000 0.0000000 2.4119100 0.001717531 0.008604498 0.4476713 -0.1238556 -0.2493425 -0.9219539 2.8381460 -1.4492520 0.0000000 0.0000000 1.2584400 -5.409407E-06 -0.001265293 0.5711223 -0.1989520 -0.6686389 -1.0086430 -2.9706580 7.5471700 0.0000000 0.0000000 0.6312340 -6.718433E-05 -0.0007648586 0.2346370 -0.1759940 0.2041108 2.2646620 -0.8507557 -6.9914700 0.0000000 0.0000000 0.2152970 -7.1786E-07 -6.404352E-05 0.01505834 0.0794452 1.2279070 0.5803464 4.2455590 3.1552020 0.0000000 0.0000000 0.1185100 6.03256E-06 6.372632E-05 -0.003444353 0.4024933 0.1857518 -2.1053590 -2.9372930 0.9784141 0.0000000 0.0000000 0.0572090 6.126313E-06 1.662965E-05 0.003212369 0.5034063 -0.4763281 0.08909444 -1.1409540 -3.6433640 0.0000000 0.0000000 0.0271660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0129000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 21 9 0 97512.6000000 0.0000020 -0.0000010 0.0000000 0.0000000 0.0000010 0.0000010 0.0000010 0.0000000 0.0000000 23815.1000000 0.0000210 -0.0000070 0.0000020 0.0000030 0.0000050 0.0000080 0.0000110 0.0000000 0.0000000 7540.4300000 0.0001300 -0.0000460 0.0000100 0.0000160 0.0000350 0.0000380 0.0000540 0.0000000 0.0000000 2854.0800000 0.0006050 -0.0002150 0.0000470 0.0000730 0.0001480 0.0002170 0.0003070 0.0000000 0.0000000 1217.6900000 0.0023310 -0.0008320 0.0001850 0.0002900 0.0006340 0.0006900 0.0009720 0.0000000 0.0000000 562.5150000 0.0078070 -0.0028010 0.0006130 0.0009510 0.0019350 0.0028260 0.0040050 0.0000000 0.0000000 274.2740000 0.0230890 -0.0083730 0.0018600 0.0029220 0.0063830 0.0069830 0.0099110 0.0000000 0.0000000 139.1140000 0.0599080 -0.0221600 0.0048640 0.0075360 0.0153400 0.0225410 0.0323030 0.0000000 0.0000000 72.8598000 0.1311200 -0.0500430 0.0111750 0.0175660 0.0386540 0.0413350 0.0594730 0.0000000 0.0000000 39.2448000 0.2283230 -0.0905020 0.0199110 0.0307700 0.0615060 0.0964860 0.1408890 0.0000000 0.0000000 21.6430000 0.3033890 -0.1266680 0.0288090 0.0458540 0.1063540 0.0963110 0.1393220 0.0000000 0.0000000 12.1149000 0.2735320 -0.1113190 0.0240900 0.0367890 0.0726590 0.2187580 0.4563840 0.0000000 0.0000000 6.7691200 0.1339910 0.0327050 -0.0086610 -0.0107860 0.0002670 -0.1991620 -0.9863130 0.0000000 0.0000000 3.7052800 0.0255160 0.2641890 -0.0729530 -0.1231490 -0.4227860 -0.7578960 -1.4009310 0.0000000 0.0000000 1.9790100 -0.0006900 0.4016030 -0.1066760 -0.1705170 -0.4236170 -0.4881940 2.8281690 0.0000000 0.0000000 1.0312700 -0.0018610 0.3244220 -0.1079120 -0.1595630 0.0611960 2.0656540 -0.4544190 0.0000000 0.0000000 0.5136090 -0.0007880 0.1213180 0.0396150 0.1356510 1.1410350 -0.6901820 -1.9262680 0.0000000 0.0000000 0.2042640 -0.0000480 0.0108150 0.3560400 0.6254930 -0.0707680 -1.2064820 2.0851170 0.0000000 0.0000000 0.0838780 -0.0000020 -0.0002510 0.5249090 0.3770670 -0.7197110 1.0635780 -0.9653770 0.0000000 0.0000000 0.0341420 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0139000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 7 0 495.2480000 0.0001950 -0.0002260 0.0002980 -0.0004190 -0.0006500 0.0000000 0.0000000 149.0380000 0.0018200 -0.0021170 0.0028410 -0.0040790 -0.0046330 0.0000000 0.0000000 57.8728000 0.0098600 -0.0115060 0.0153800 -0.0218950 -0.0325190 0.0000000 0.0000000 25.3796000 0.0354170 -0.0416730 0.0569320 -0.0830310 -0.1010780 0.0000000 0.0000000 11.8594000 0.0948820 -0.1148500 0.1620180 -0.2568910 -0.4650190 0.0000000 0.0000000 5.7963000 0.1886510 -0.2300360 0.3251240 -0.5037510 -0.3186010 0.0000000 0.0000000 2.8727500 0.2703950 -0.2787220 0.2071440 0.3497610 1.5149910 0.0000000 0.0000000 1.4078360 0.2963470 -0.1090440 -0.3687400 0.9348700 -0.7612670 0.0000000 0.0000000 0.6724070 0.2565590 0.2309180 -0.5808490 -0.6383940 -0.9671680 0.0000000 0.0000000 0.3088350 0.1640550 0.4341780 0.1267060 -0.6372560 1.4433300 0.0000000 0.0000000 0.1342970 0.0605670 0.3146810 0.5876060 0.6254560 -0.4742000 0.0000000 0.0000000 0.0536190 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0214100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 8.5920000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.0187000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.0606000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3726000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1265500 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 6.7723000 1.0000000 0.0000000 0.0000000 0.0000000 2.3190000 0.0000000 1.0000000 0.0000000 0.0000000 0.7941000 0.0000000 0.0000000 1.0000000 0.0000000 0.2974800 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 4.9511000 1.0000000 0.0000000 0.0000000 1.5513000 0.0000000 1.0000000 0.0000000 0.6387800 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 3.6950000 1.0000000 0.0000000 1.7051400 0.0000000 1.0000000 $ NICKEL (29s,21p,13d,5f,4g,3h,2i) -> [10s,9p,7d,5f,4g,3h,2i] $ NICKEL (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ NICKEL (1s,1p,1d,1f,1g,1h,1i) a 28 $ S-TYPE FUNCTIONS 29 10 0 1.68793E+08 9.544814E-08 -3.340483E-08 1.123242E-08 -2.340836E-09 -4.519782E-09 -7.967881E-09 9.963678E-09 1.108501E-08 0.0000000 0.0000000 3.01369E+07 6.361561E-07 -2.226369E-07 7.487631E-08 -1.560568E-08 -2.990036E-08 -5.251486E-08 6.665402E-08 7.142717E-08 0.0000000 0.0000000 6.73075E+06 3.680573E-06 -1.288145E-06 4.331184E-07 -9.025955E-08 -1.74651E-07 -3.082074E-07 3.837692E-07 4.312448E-07 0.0000000 0.0000000 1.80337E+06 1.682095E-05 -5.887072E-06 1.980033E-06 -4.126875E-07 -7.891321E-07 -1.384629E-06 1.764347E-06 1.872599E-06 0.0000000 0.0000000 559438.0000000 6.501477E-05 -2.275726E-05 7.651521E-06 -1.594488E-06 -3.093527E-06 -5.466127E-06 6.771079E-06 7.704611E-06 0.0000000 0.0000000 195064.0000000 0.0002197031 -7.691942E-05 2.587536E-05 -5.393313E-06 -1.027782E-05 -1.800365E-05 2.309426E-05 2.410281E-05 0.0000000 0.0000000 74600.7000000 0.0006699143 -0.000234707 7.89247E-05 -1.644642E-05 -3.203877E-05 -5.672168E-05 6.971023E-05 8.084296E-05 0.0000000 0.0000000 30681.7000000 0.001884806 -0.0006612896 0.0002226061 -4.640303E-05 -8.801093E-05 -0.0001538124 0.0001991457 0.0002030273 0.0000000 0.0000000 13360.3000000 0.004971862 -0.001750303 0.0005892384 -0.0001227884 -0.0002404162 -0.0004266789 0.0005193445 0.0006163052 0.0000000 0.0000000 6086.1600000 0.01239603 -0.004393952 0.001483283 -0.0003092679 -0.0005834537 -0.001017047 0.001331023 0.00132153 0.0000000 0.0000000 2874.6200000 0.02919925 -0.01049957 0.003553731 -0.0007407537 -0.00145867 -0.002596287 0.003128397 0.003807283 0.0000000 0.0000000 1398.7200000 0.06417304 -0.02373066 0.00810015 -0.00169022 -0.003169439 -0.005509995 0.007307415 0.007035083 0.0000000 0.0000000 697.9810000 0.1278067 -0.04989615 0.01724042 -0.003598265 -0.007146736 -0.01278063 0.01519845 0.01919484 0.0000000 0.0000000 356.1100000 0.2183849 -0.09438365 0.03348912 -0.007007654 -0.01299317 -0.02249312 0.03067699 0.02784042 0.0000000 0.0000000 185.3460000 0.2897629 -0.1511186 0.05585983 -0.01171488 -0.02384859 -0.04323339 0.04966778 0.06926812 0.0000000 0.0000000 98.2221000 0.2502011 -0.1753137 0.06942521 -0.01467085 -0.02566345 -0.04327035 0.06716041 0.04334989 0.0000000 0.0000000 52.8834000 0.1091251 -0.07893694 0.03279768 -0.006949957 -0.01953197 -0.04001807 0.02675145 0.1003238 0.0000000 0.0000000 28.8424000 0.02418062 0.1862733 -0.09364737 0.02016183 0.05137546 0.1014123 -0.07690265 -0.2282821 0.0000000 0.0000000 15.8664000 0.02017083 0.4711517 -0.3127333 0.07054184 0.1179712 0.1995643 -0.3660499 -0.1788302 0.0000000 0.0000000 8.7493300 0.0158454 0.3940073 -0.3726099 0.08743265 0.2305182 0.5337974 -0.8930662 -2.1632840 0.0000000 0.0000000 4.7948200 0.004573713 0.1124290 -0.01765121 0.0008925969 -0.07602184 -0.2848026 0.9868359 4.6768300 0.0000000 0.0000000 2.5812400 0.000536685 0.01373033 0.4580760 -0.1284879 -0.2736418 -1.0086260 2.7140040 -0.5082154 0.0000000 0.0000000 1.3445000 0.0003285652 0.005757963 0.5616617 -0.1992698 -0.6668219 -0.8589707 -3.5491840 -6.1630500 0.0000000 0.0000000 0.6723740 0.0001056374 0.002067697 0.2239313 -0.1687038 0.2779595 2.2571350 -0.1082087 6.7552350 0.0000000 0.0000000 0.2246400 1.152728E-05 0.0001166264 0.01414205 0.09663179 1.1848110 0.3158366 3.7403580 -4.1776870 0.0000000 0.0000000 0.1201920 -4.982873E-06 -2.380527E-05 -0.0004402952 0.4091717 0.1453091 -1.8931340 -2.9469910 0.6315692 0.0000000 0.0000000 0.0581540 2.888491E-06 6.345831E-06 0.007001775 0.4865605 -0.4475209 0.1382195 -0.7564774 2.6580060 0.0000000 0.0000000 0.0277230 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0132200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 21 9 0 104158.0000000 0.0000020 -0.0000010 0.0000000 0.0000000 0.0000010 0.0000010 0.0000010 0.0000000 0.0000000 25289.1000000 0.0000220 -0.0000080 0.0000020 0.0000030 0.0000050 0.0000080 0.0000120 0.0000000 0.0000000 7974.0600000 0.0001360 -0.0000490 0.0000100 0.0000200 0.0000380 0.0000420 0.0000570 0.0000000 0.0000000 3013.0100000 0.0006310 -0.0002270 0.0000450 0.0000900 0.0001590 0.0002340 0.0003470 0.0000000 0.0000000 1286.4100000 0.0024210 -0.0008730 0.0001770 0.0003670 0.0006800 0.0007520 0.0010250 0.0000000 0.0000000 595.8550000 0.0080490 -0.0029190 0.0005840 0.0011620 0.0020540 0.0030100 0.0044820 0.0000000 0.0000000 291.6560000 0.0236160 -0.0086590 0.0017620 0.0036420 0.0067570 0.0074940 0.0102930 0.0000000 0.0000000 148.5440000 0.0608610 -0.0227740 0.0045630 0.0090810 0.0160650 0.0237130 0.0357430 0.0000000 0.0000000 78.0737000 0.1326030 -0.0512130 0.0104840 0.0217340 0.0405400 0.0440050 0.0609110 0.0000000 0.0000000 42.1478000 0.2304730 -0.0925330 0.0185790 0.0366690 0.0640660 0.1004120 0.1565060 0.0000000 0.0000000 23.2599000 0.3051620 -0.1290760 0.0269710 0.0574590 0.1113860 0.1054620 0.1436090 0.0000000 0.0000000 13.0121000 0.2713690 -0.1101780 0.0214740 0.0404440 0.0739190 0.2291670 0.5343820 0.0000000 0.0000000 7.2639900 0.1296230 0.0409760 -0.0095980 -0.0122870 -0.0105620 -0.2527370 -1.4083180 0.0000000 0.0000000 3.9735700 0.0240140 0.2728100 -0.0691480 -0.1720000 -0.4813110 -0.8566420 -0.9573860 0.0000000 0.0000000 2.1215600 -0.0003590 0.4016420 -0.0955710 -0.1964310 -0.3964750 -0.2477960 3.1038920 0.0000000 0.0000000 1.1051500 -0.0014620 0.3161390 -0.0989250 -0.1609770 0.2149210 2.1207050 -1.3693890 0.0000000 0.0000000 0.5499500 -0.0006140 0.1168000 0.0364500 0.2715720 1.0646580 -1.0861120 -1.1437640 0.0000000 0.0000000 0.2107400 -0.0000300 0.0100110 0.3447120 0.6358310 -0.2559500 -0.8818430 1.7910530 0.0000000 0.0000000 0.0847310 -0.0000010 -0.0004900 0.5277500 0.2721880 -0.6598570 1.0128000 -1.0027610 0.0000000 0.0000000 0.0339020 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0135600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 7 0 568.8665000 0.0001770 -0.0001870 -0.0002700 -0.0003750 -0.0005660 0.0000000 0.0000000 171.2501000 0.0016650 -0.0017630 -0.0025840 -0.0038030 -0.0042150 0.0000000 0.0000000 66.4919500 0.0091530 -0.0097180 -0.0142000 -0.0201480 -0.0290040 0.0000000 0.0000000 29.2054100 0.0334810 -0.0357770 -0.0531960 -0.0793150 -0.0931450 0.0000000 0.0000000 13.6784800 0.0909020 -0.0994580 -0.1524600 -0.2408380 -0.4227470 0.0000000 0.0000000 6.6978800 0.1833980 -0.2028120 -0.3182580 -0.5200670 -0.4171620 0.0000000 0.0000000 3.3258500 0.2663610 -0.2604240 -0.2569500 0.2694850 1.4691090 0.0000000 0.0000000 1.6314800 0.2945410 -0.1462650 0.2828580 0.9484220 -0.5187500 0.0000000 0.0000000 0.7790140 0.2588860 0.1412140 0.6045360 -0.4613840 -1.1373440 0.0000000 0.0000000 0.3575460 0.1730030 0.4004590 0.0384770 -0.7282930 1.3353250 0.0000000 0.0000000 0.1551630 0.0702410 0.4007580 -0.5667860 0.4956350 -0.2368740 0.0000000 0.0000000 0.0614020 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0243000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 9.8029000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.4936000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.2451000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4437000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1538800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 7.9356000 1.0000000 0.0000000 0.0000000 0.0000000 2.7648000 0.0000000 1.0000000 0.0000000 0.0000000 0.9633000 0.0000000 0.0000000 1.0000000 0.0000000 0.3682800 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 5.8076000 1.0000000 0.0000000 0.0000000 1.8526000 0.0000000 1.0000000 0.0000000 0.7879800 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 4.3549000 1.0000000 0.0000000 2.1037100 0.0000000 1.0000000 $ COPPER (29s,21p,13d,5f,4g,3h,2i) -> [10s,9p,7d,5f,4g,3h,2i] $ COPPER (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ COPPER (1s,1p,1d,1f,1g,1h,1i) a 29 $ S-TYPE FUNCTIONS 29 10 0 1.93188E+08 8.189248E-08 -4.611013E-08 1.01842E-08 -2.054681E-09 3.816605E-09 -7.75724E-09 9.028583E-09 1.07597E-08 0.0000000 0.0000000 3.39452E+07 5.579701E-07 -3.141616E-07 6.939965E-08 -1.400309E-08 2.582606E-08 -5.227556E-08 6.205817E-08 7.162208E-08 0.0000000 0.0000000 7.51046E+06 3.254124E-06 -1.832284E-06 4.046744E-07 -8.164118E-08 1.519524E-07 -3.091952E-07 3.578757E-07 4.30389E-07 0.0000000 0.0000000 2.00199E+06 1.494164E-05 -8.412987E-06 1.858592E-06 -3.75028E-07 6.903629E-07 -1.39586E-06 1.665776E-06 1.905813E-06 0.0000000 0.0000000 619378.0000000 5.78762E-05 -3.259135E-05 7.198169E-06 -1.452141E-06 2.709545E-06 -5.521331E-06 6.346135E-06 7.718964E-06 0.0000000 0.0000000 215606.0000000 0.0001959305 -0.0001103469 2.43847E-05 -4.920629E-06 9.02917E-06 -1.822235E-05 2.1939E-05 2.473676E-05 0.0000000 0.0000000 82327.1000000 0.0005988528 -0.000337451 7.456294E-05 -1.504137E-05 2.817161E-05 -5.752983E-05 6.543424E-05 8.09436E-05 0.0000000 0.0000000 33788.4000000 0.0016910 -0.0009538171 0.0002110638 -4.259474E-05 7.782505E-05 -0.0001566716 0.0001908891 0.0002110522 0.0000000 0.0000000 14670.0000000 0.004482558 -0.002534704 0.0005615915 -0.0001132857 0.0002131374 -0.0004363848 0.0004902082 0.0006186246 0.0000000 0.0000000 6657.4400000 0.01124215 -0.006388537 0.001422427 -0.0002871116 0.0005221431 -0.001048344 0.001294337 0.00140125 0.0000000 0.0000000 3130.2600000 0.02664563 -0.01530315 0.003432886 -0.0006925917 0.001309502 -0.002689174 0.002982099 0.003844742 0.0000000 0.0000000 1515.6100000 0.05887107 -0.03452258 0.007881403 -0.001591691 0.002879448 -0.005765512 0.007234214 0.00764981 0.0000000 0.0000000 752.5880000 0.1175196 -0.07182859 0.01689595 -0.003411485 0.006499505 -0.01341487 0.01461464 0.01947297 0.0000000 0.0000000 382.2490000 0.1999504 -0.1324045 0.03299686 -0.006677064 0.01195541 -0.02383053 0.03095278 0.03126618 0.0000000 0.0000000 198.2370000 0.2605024 -0.2017660 0.0552177 -0.01118545 0.0218018 -0.04568414 0.04734078 0.06932423 0.0000000 0.0000000 104.8100000 0.2154194 -0.2178903 0.06840131 -0.01394792 0.02363852 -0.04575431 0.07000877 0.05504615 0.0000000 0.0000000 56.3885000 0.09248247 -0.09441542 0.03122147 -0.006364561 0.01706798 -0.04125506 0.01629399 0.08460341 0.0000000 0.0000000 30.7830000 0.05710446 0.1874571 -0.09635215 0.01991809 -0.04783859 0.1103493 -0.0583935 -0.1993583 0.0000000 0.0000000 16.9770000 0.1024003 0.4663918 -0.3138457 0.06774441 -0.1097524 0.2148842 -0.4104935 -0.3185230 0.0000000 0.0000000 9.3972500 0.08323474 0.3836915 -0.3649343 0.08134341 -0.2027580 0.5522145 -0.7896262 -2.0181030 0.0000000 0.0000000 5.1723800 0.02348642 0.1079329 -0.008879992 -0.0008995035 0.07260363 -0.3395265 0.9308371 4.6893680 0.0000000 0.0000000 2.7953500 0.001775061 0.007742901 0.4608336 -0.1219713 0.2307255 -0.9771007 2.5330430 -0.5933257 0.0000000 0.0000000 1.4589000 -4.661882E-05 -0.001244704 0.5618870 -0.1883443 0.5765951 -0.8808593 -3.1586610 -5.9757640 0.0000000 0.0000000 0.7287110 -8.666474E-05 -0.0007418943 0.2229206 -0.1623329 -0.1570176 2.1966870 -0.4007620 6.3988290 0.0000000 0.0000000 0.2376420 -1.068949E-06 -4.73181E-05 0.01340137 0.09426046 -1.0919780 0.4386372 3.8540990 -3.6822160 0.0000000 0.0000000 0.1278210 1.298399E-07 2.312508E-05 -0.003370102 0.3962220 -0.2691323 -1.8178740 -2.8874570 0.2025323 0.0000000 0.0000000 0.0618150 -5.102737E-07 -1.379905E-05 0.00306508 0.4850819 0.3516467 0.003019659 -0.9069599 2.7822760 0.0000000 0.0000000 0.0293030 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0138900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 21 9 0 110294.0000000 0.0000020 -0.0000010 0.0000000 0.0000000 0.0000010 0.0000010 0.0000010 0.0000000 0.0000000 26939.1000000 0.0000220 -0.0000080 0.0000020 0.0000030 0.0000060 0.0000080 0.0000110 0.0000000 0.0000000 8550.7100000 0.0001360 -0.0000490 0.0000100 0.0000190 0.0000390 0.0000410 0.0000600 0.0000000 0.0000000 3246.1900000 0.0006300 -0.0002280 0.0000440 0.0000840 0.0001650 0.0002330 0.0003200 0.0000000 0.0000000 1388.4600000 0.0024180 -0.0008780 0.0001720 0.0003430 0.0007040 0.0007420 0.0010770 0.0000000 0.0000000 642.4740000 0.0080870 -0.0029530 0.0005700 0.0010900 0.0021380 0.0030220 0.0041610 0.0000000 0.0000000 313.5700000 0.0239050 -0.0088260 0.0017360 0.0034460 0.0070800 0.0075130 0.0109750 0.0000000 0.0000000 159.1610000 0.0619710 -0.0233640 0.0045200 0.0086380 0.0169610 0.0241350 0.0335730 0.0000000 0.0000000 83.4414000 0.1350660 -0.0525890 0.0104050 0.0207180 0.0427860 0.0443790 0.0662350 0.0000000 0.0000000 45.0196000 0.2334730 -0.0946250 0.0183320 0.0347140 0.0672780 0.1022350 0.1425030 0.0000000 0.0000000 24.8894000 0.3054990 -0.1304500 0.0263810 0.0541220 0.1165020 0.1040660 0.1738220 0.0000000 0.0000000 13.9731000 0.2676760 -0.1081600 0.0201860 0.0363680 0.0755100 0.2338940 0.4655980 0.0000000 0.0000000 7.8257100 0.1264990 0.0466870 -0.0102500 -0.0125560 -0.0166890 -0.2861980 -1.3584250 0.0000000 0.0000000 4.2863200 0.0230210 0.2780770 -0.0680540 -0.1622150 -0.5141990 -0.8434390 -0.8867940 0.0000000 0.0000000 2.2903400 -0.0006410 0.4021830 -0.0914970 -0.1771880 -0.3794090 -0.1843620 2.9226280 0.0000000 0.0000000 1.1934200 -0.0016270 0.3112960 -0.0949500 -0.1563550 0.2313430 2.0703390 -1.1758410 0.0000000 0.0000000 0.5937650 -0.0006570 0.1125510 0.0364060 0.2360190 1.0614750 -1.1076600 -1.2549040 0.0000000 0.0000000 0.2239870 -0.0000330 0.0093970 0.3398340 0.6412110 -0.2667340 -0.8528460 1.8420450 0.0000000 0.0000000 0.0890260 -0.0000010 -0.0005000 0.5281230 0.2955020 -0.6195930 1.0166690 -1.0455610 0.0000000 0.0000000 0.0352130 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0139300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 7 0 732.8930000 0.0001250 -0.0001550 0.0001840 -0.0002570 -0.0003830 0.0000000 0.0000000 220.7530000 0.0011980 -0.0014880 0.0018070 -0.0027730 -0.0032850 0.0000000 0.0000000 85.6268000 0.0068360 -0.0085270 0.0102770 -0.0147450 -0.0211250 0.0000000 0.0000000 37.7178000 0.0262600 -0.0329550 0.0404270 -0.0622900 -0.0767360 0.0000000 0.0000000 17.7647000 0.0742730 -0.0955650 0.1197510 -0.1862120 -0.3193880 0.0000000 0.0000000 8.7641500 0.1588570 -0.2099910 0.2799060 -0.4970340 -0.6162490 0.0000000 0.0000000 4.4178660 0.2458580 -0.2920560 0.2845770 0.0051970 1.2229320 0.0000000 0.0000000 2.2180390 0.2865090 -0.1738440 -0.2072750 0.9952550 0.2286340 0.0000000 0.0000000 1.0935310 0.2665050 0.1426460 -0.5788020 -0.0964500 -1.6101430 0.0000000 0.0000000 0.5230910 0.1965650 0.3835540 -0.1622250 -0.9197540 1.0269660 0.0000000 0.0000000 0.2384750 0.1005970 0.3616940 0.5200430 0.2428820 0.3819150 0.0000000 0.0000000 0.1000260 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0419500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 10.9131000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.9063000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.3982000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.5005000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1733900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 8.8476000 1.0000000 0.0000000 0.0000000 0.0000000 3.1256000 0.0000000 1.0000000 0.0000000 0.0000000 1.1042000 0.0000000 0.0000000 1.0000000 0.0000000 0.4263700 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 6.5490000 1.0000000 0.0000000 0.0000000 2.1024000 0.0000000 1.0000000 0.0000000 0.9050900 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 4.9428000 1.0000000 0.0000000 2.4474100 0.0000000 1.0000000 $ ZINC (29s,21p,13d,5f,4g,3h,2i) -> [10s,9p,7d,5f,4g,3h,2i] $ ZINC (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ ZINC (1s,1p,1d,1f,1g,1h,1i) a 30 $ S-TYPE FUNCTIONS 29 10 0 1.87413E+08 1.009014E-07 -3.115741E-08 1.176468E-08 -2.356493E-09 6.708866E-09 -9.317884E-09 1.206066E-08 1.288013E-08 0.0000000 0.0000000 3.35127E+07 6.704747E-07 -2.070312E-07 7.81863E-08 -1.565939E-08 4.41662E-08 -6.155607E-08 8.110169E-08 7.963494E-08 0.0000000 0.0000000 7.50475E+06 3.863166E-06 -1.192935E-06 4.504171E-07 -9.022205E-08 2.575365E-07 -3.573416E-07 4.60205E-07 5.028311E-07 0.0000000 0.0000000 2.01787E+06 1.756108E-05 -5.422776E-06 2.048043E-06 -4.101783E-07 1.154012E-06 -1.609881E-06 2.130959E-06 2.04487E-06 0.0000000 0.0000000 628578.0000000 6.747146E-05 -2.083826E-05 7.867565E-06 -1.575992E-06 4.513571E-06 -6.255093E-06 8.004527E-06 8.997462E-06 0.0000000 0.0000000 220163.0000000 0.0002265652 -6.998988E-05 2.643679E-05 -5.294514E-06 1.483194E-05 -2.072444E-05 2.765382E-05 2.548089E-05 0.0000000 0.0000000 84595.2000000 0.0006864596 -0.0002122319 8.013127E-05 -1.605261E-05 4.621034E-05 -6.392044E-05 8.09931E-05 9.502563E-05 0.0000000 0.0000000 34955.5000000 0.001919556 -0.0005944122 0.0002246143 -4.498259E-05 0.0001252604 -0.0001754269 0.000236727 0.000205759 0.0000000 0.0000000 15290.3000000 0.005035036 -0.001565121 0.0005912514 -0.0001184624 0.0003431994 -0.0004736661 0.0005928609 0.000732222 0.0000000 0.0000000 6994.9300000 0.01249183 -0.003912825 0.00148082 -0.0002965895 0.000820361 -0.001152085 0.001574959 0.001279062 0.0000000 0.0000000 3316.5900000 0.02931174 -0.009329174 0.003533956 -0.0007083659 0.002066898 -0.002846504 0.003517111 0.004583798 0.0000000 0.0000000 1619.2400000 0.06427367 -0.02109918 0.00803224 -0.001609791 0.004419789 -0.006230027 0.008651605 0.006488435 0.0000000 0.0000000 810.3430000 0.1280292 -0.04460857 0.01708455 -0.003429679 0.01011367 -0.01389848 0.01689628 0.02369604 0.0000000 0.0000000 414.3930000 0.2196143 -0.08543854 0.03323558 -0.00667783 0.01809426 -0.02572496 0.03686833 0.02360841 0.0000000 0.0000000 216.0580000 0.2943285 -0.1398518 0.05573178 -0.01124816 0.03416662 -0.04674972 0.05445003 0.09186954 0.0000000 0.0000000 114.6350000 0.2592639 -0.1674907 0.07004526 -0.01419067 0.03593265 -0.05304136 0.08690671 0.01584593 0.0000000 0.0000000 61.7623000 0.1154133 -0.07864897 0.03460894 -0.007119783 0.03074112 -0.03846676 0.01740443 0.1832209 0.0000000 0.0000000 33.6924000 0.01748179 0.1871467 -0.09417457 0.01964233 -0.07752629 0.09700309 -0.05212573 -0.3620858 0.0000000 0.0000000 18.5315000 0.00123447 0.4773740 -0.3185785 0.06866033 -0.1679194 0.2750132 -0.5511726 -0.2562035 0.0000000 0.0000000 10.2144000 1.030887E-05 0.3974608 -0.3740136 0.08451691 -0.3562499 0.6149135 -1.1543500 -2.6784160 0.0000000 0.0000000 5.5942800 5.407386E-05 0.1119124 -0.007223424 -0.002558593 0.1776982 -0.4648242 2.1468370 8.3186980 0.0000000 0.0000000 3.0096800 -9.020925E-05 0.01021018 0.4699051 -0.1246873 0.4749129 -1.4688170 2.4632420 -7.7549970 0.0000000 0.0000000 1.5668400 1.229205E-05 0.001535466 0.5650018 -0.1981732 0.8521909 -0.06123386 -6.0927930 0.5798922 0.0000000 0.0000000 0.7814370 -1.291299E-05 0.0003513273 0.2128446 -0.1626983 -0.7724873 2.5333260 3.2604830 4.4806790 0.0000000 0.0000000 0.2581180 5.053007E-06 8.700326E-06 0.01020773 0.1212677 -1.4319140 -1.4838310 2.0784120 -7.9856680 0.0000000 0.0000000 0.1385560 -4.083295E-06 8.085928E-06 -0.003216647 0.4147624 0.4991946 -0.9440243 -4.0424470 7.9331330 0.0000000 0.0000000 0.0661710 1.77407E-06 -4.465779E-06 0.0009813901 0.4840872 0.5499585 0.9934343 1.7426680 -2.6833390 0.0000000 0.0000000 0.0309860 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0145100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 21 9 0 110349.0000000 0.0000030 -0.0000010 0.0000000 0.0000000 -0.0000010 0.0000010 0.0000010 0.0000000 0.0000000 26971.3000000 0.0000250 -0.0000090 0.0000020 0.0000030 -0.0000070 0.0000090 0.0000110 0.0000000 0.0000000 8560.0700000 0.0001540 -0.0000570 0.0000110 0.0000190 -0.0000440 0.0000470 0.0000750 0.0000000 0.0000000 3248.8000000 0.0007110 -0.0002660 0.0000490 0.0000840 -0.0001870 0.0002580 0.0003070 0.0000000 0.0000000 1389.4100000 0.0027260 -0.0010230 0.0001900 0.0003350 -0.0007860 0.0008400 0.0013430 0.0000000 0.0000000 643.0430000 0.0090780 -0.0034260 0.0006280 0.0010780 -0.0024190 0.0033290 0.0039790 0.0000000 0.0000000 314.0050000 0.0266470 -0.0101780 0.0018980 0.0033420 -0.0078320 0.0084050 0.0135080 0.0000000 0.0000000 159.4890000 0.0683490 -0.0266840 0.0049050 0.0084110 -0.0188920 0.0262100 0.0315180 0.0000000 0.0000000 83.6662000 0.1462290 -0.0590440 0.0110910 0.0195690 -0.0460950 0.0483260 0.0812240 0.0000000 0.0000000 45.1574000 0.2463660 -0.1036450 0.0191100 0.0325670 -0.0721870 0.1064260 0.1177440 0.0000000 0.0000000 24.9630000 0.3093570 -0.1371860 0.0264040 0.0477820 -0.1187060 0.1112430 0.2545370 0.0000000 0.0000000 14.0043000 0.2518340 -0.0980300 0.0170480 0.0279570 -0.0688450 0.2196340 0.2804660 0.0000000 0.0000000 7.8326700 0.1075770 0.0782840 -0.0167770 -0.0245300 0.0612550 -0.3785060 -1.3817560 0.0000000 0.0000000 4.2841000 0.0186230 0.3068960 -0.0722810 -0.1464900 0.5482940 -0.8342830 -0.5845020 0.0000000 0.0000000 2.2890100 0.0018400 0.4020910 -0.0888340 -0.1492570 0.2972820 0.0346510 2.8319550 0.0000000 0.0000000 1.1943600 0.0005260 0.2839960 -0.0855010 -0.1363180 -0.2716010 1.9667590 -1.4030820 0.0000000 0.0000000 0.5942580 0.0001340 0.0869280 0.0514770 0.1989520 -1.0379400 -1.2248450 -1.0866400 0.0000000 0.0000000 0.2269140 0.0000180 0.0058540 0.3482630 0.6520570 0.2883290 -0.7377320 1.8537790 0.0000000 0.0000000 0.0901790 -0.0000030 -0.0000370 0.5207130 0.3101190 0.5829240 0.9916440 -1.1119850 0.0000000 0.0000000 0.0357180 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0141500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 7 0 854.1223000 0.0001100 0.0001540 0.0001680 0.0002020 -0.0003210 0.0000000 0.0000000 257.9496000 0.0010600 0.0014840 0.0016860 0.0022920 -0.0028130 0.0000000 0.0000000 100.2319000 0.0061270 0.0086150 0.0095520 0.0119480 -0.0180280 0.0000000 0.0000000 44.1762100 0.0242270 0.0343280 0.0391690 0.0534890 -0.0679850 0.0000000 0.0000000 20.7847600 0.0705680 0.1026560 0.1185400 0.1599570 -0.2814680 0.0000000 0.0000000 10.2275600 0.1554220 0.2346230 0.3060170 0.4633290 -0.6396470 0.0000000 0.0000000 5.1512410 0.2464650 0.3308580 0.2800330 0.0018920 1.0829690 0.0000000 0.0000000 2.5908470 0.2908540 0.1664140 -0.3570440 -0.9592480 0.4414690 0.0000000 0.0000000 1.2858010 0.2696230 -0.2191500 -0.5566930 0.1085530 -1.6892300 0.0000000 0.0000000 0.6253440 0.1932020 -0.4171790 -0.0034070 0.9818850 0.9011120 0.0000000 0.0000000 0.2939430 0.0928240 -0.2879880 0.5550480 -0.3019870 0.6121440 0.0000000 0.0000000 0.1289970 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0566100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 12.1669000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.3915000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.5850000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.5721000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2010100 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 9.6299000 1.0000000 0.0000000 0.0000000 0.0000000 3.3924000 0.0000000 1.0000000 0.0000000 0.0000000 1.1951000 0.0000000 0.0000000 1.0000000 0.0000000 0.4613900 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 7.4738000 1.0000000 0.0000000 0.0000000 2.4250000 0.0000000 1.0000000 0.0000000 1.0655400 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 5.5487000 1.0000000 0.0000000 2.7941400 0.0000000 1.0000000 $ GALLIUM (27s,18p,14d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ GALLIUM (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ GALLIUM (1s,1p,1d,1f,1g,1h) a 31 $ S-TYPE FUNCTIONS 27 9 0 108615220.0000000 0.00000024 -0.00000007 0.00000003 -0.000000007 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 16264540.0000000 0.00000186 -0.00000058 0.00000022 -0.000000051 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3700111.6000000 0.00000980 -0.00000303 0.00000116 -0.000000270 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1047169.1000000 0.00004152 -0.00001287 0.00000491 -0.000001142 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 341067.5700000 0.00015205 -0.00004714 0.00001798 -0.000004183 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 122771.5400000 0.00050077 -0.0001553 0.0000592 -0.000013781 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 47659.5780000 0.0015187 -0.0004718 0.0001801 -0.000041882 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 19633.3540000 0.0043025 -0.0013405 0.0005114 -0.000119023 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8488.7347000 0.0114523 -0.0035955 0.0013740 -0.0003196 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3823.1381000 0.0285640 -0.0091016 0.0034818 -0.0008107 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1784.4755000 0.0657485 -0.0216360 0.0083169 -0.0019360 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 860.0530500 0.1352895 -0.0473365 0.0183180 -0.0042722 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 426.6986700 0.2345514 -0.0924997 0.0363903 -0.0084945 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 217.2616100 0.3078351 -0.1504351 0.0608083 -0.0142709 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 112.9698700 0.2529947 -0.1721227 0.0732939 -0.0172681 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 59.4494410 0.0960104 -0.0440179 0.0197416 -0.0047782 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30.7822560 0.0097885 0.2973828 -0.1612970 0.0394927 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 16.4232120 0.0005912 0.5279748 -0.4021948 0.1027200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8.7578890 -0.0000554 0.3008905 -0.2927248 0.0773529 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.4096290 0.0000138 0.0458819 0.2706942 -0.0849565 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.2494490 -0.0000642 0.0012828 0.6359759 -0.2219834 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.1261150 0.0000169 0.0012588 0.3702489 -0.2532089 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5154860 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.2425780 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1070860 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0469880 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0173010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 8 0 32152.1900000 0.0000283 -0.0000107 0.0000017 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7609.3842000 0.0002529 -0.0000958 0.0000158 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2471.4744000 0.0014686 -0.0005582 0.0000908 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 946.0636300 0.0065627 -0.0025040 0.0004120 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 401.9471100 0.0238023 -0.0091996 0.0014984 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 183.6468800 0.0708945 -0.0279973 0.0046252 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 88.5332640 0.1676384 -0.0688746 0.0112713 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 44.2703550 0.2959754 -0.1273843 0.0213212 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 22.7230830 0.3488610 -0.1585889 0.0259523 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.8231410 0.2175496 -0.0424968 0.0066320 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.0421350 0.0520511 0.2441440 -0.0501704 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.0317540 0.0034378 0.4459111 -0.0842977 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4933660 0.0009833 0.3529522 -0.0903023 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7097270 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.2485930 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0943950 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0358870 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0110500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 14 6 0 1040.5046000 0.0000892 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 314.5971400 0.0008625 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 122.7876000 0.0050094 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 54.7603690 0.0199649 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 26.2989440 0.0583214 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.2634450 0.1316868 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.8850650 0.2218676 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.5795250 0.2825059 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.8315640 0.2831989 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9129090 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4353400 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1885180 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0758000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0260000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 0.1340000 1.0000000 0.0000000 0.0000000 0.0000000 0.2826000 0.0000000 1.0000000 0.0000000 0.0000000 0.5960000 0.0000000 0.0000000 1.0000000 0.0000000 0.0511000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.2750000 1.0000000 0.0000000 0.0000000 0.6146000 0.0000000 1.0000000 0.0000000 0.1140000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.4986000 1.0000000 0.0000000 0.2540000 0.0000000 1.0000000 $ GERMANIUM (27s,18p,14d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ GERMANIUM (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ GERMANIUM (1s,1p,1d,1f,1g,1h) a 32 $ S-TYPE FUNCTIONS 27 9 0 122001190.0000000 0.00000022 -0.00000007 0.00000003 -0.000000007 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 18257470.0000000 0.00000175 -0.00000054 0.00000021 -0.000000054 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4150821.5000000 0.00000920 -0.00000286 0.00000110 -0.000000283 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1174101.8000000 0.00003899 -0.00001213 0.00000467 -0.000001120 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 382309.1500000 0.0001428 -0.00004443 0.00001713 -0.000004391 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 137607.9600000 0.0004703 -0.0001464 0.0000564 -0.000014461 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 53419.2420000 0.0014267 -0.0004447 0.0001715 -0.000043965 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 22005.7560000 0.0040434 -0.0012637 0.0004872 -0.0001249 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9513.8479000 0.0107732 -0.0033920 0.0013097 -0.0003358 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4284.1756000 0.0269273 -0.0085979 0.0033232 -0.0008525 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1999.1664000 0.0622374 -0.0204964 0.0079591 -0.0020424 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 963.2471600 0.1290382 -0.0450571 0.0176097 -0.0045245 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 477.8050000 0.2267312 -0.0887922 0.0352576 -0.0090744 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 243.3158900 0.3048903 -0.1466299 0.0597687 -0.0154483 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 126.6399900 0.2617662 -0.1743140 0.0747406 -0.0194338 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 66.7835790 0.1076348 -0.0611656 0.0277863 -0.0073289 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 34.4160840 0.0126234 0.2716690 -0.1472878 0.0396485 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 18.3728140 0.0003918 0.5280226 -0.3974202 0.1121796 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.8054610 0.0000812 0.3240138 -0.3205666 0.0935686 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.9694030 -0.0000489 0.0544177 0.2331968 -0.0806459 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.5486230 -0.00003170 0.0014463 0.6424890 -0.2501109 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.2845940 -0.00000109 0.0014248 0.3966684 -0.2978099 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5833530 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.2934390 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1326720 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0592390 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0242740 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 8 0 32314.9700000 0.0000316 -0.0000122 0.0000024 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7648.2002000 0.0002820 -0.0001084 0.0000214 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2484.2114000 0.0016353 -0.0006311 0.0001243 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 951.0030500 0.0072864 -0.0028243 0.0005589 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 404.0483300 0.0262931 -0.0103317 0.0020383 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 184.6035400 0.0775943 -0.0312102 0.0062016 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 88.9641280 0.1803653 -0.0755954 0.0150106 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 44.4477420 0.3095354 -0.1362944 0.0274127 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 22.7990750 0.3454752 -0.1590150 0.0317796 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.8359280 0.1963290 -0.0149805 0.0009228 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.0112940 0.0409068 0.2868225 -0.0698342 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.9957840 0.0024197 0.4626656 -0.1119600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4695700 0.0008003 0.3168505 -0.0993565 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6906810 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.2861600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1177420 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0473850 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0175930 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 14 6 0 1226.7982000 0.0000763 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 371.2322300 0.0007425 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 144.8909900 0.0043756 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 64.6041300 0.0179257 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 31.0397370 0.0539253 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.6438700 0.1257191 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8.1258220 0.2191566 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.2397620 0.2860662 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.1863860 0.2896504 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.1038710 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5338110 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2313550 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0953000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0364000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 0.1630000 1.0000000 0.0000000 0.0000000 0.0000000 0.3297000 0.0000000 1.0000000 0.0000000 0.0000000 0.6709000 0.0000000 0.0000000 1.0000000 0.0000000 0.0705000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.3160000 1.0000000 0.0000000 0.0000000 0.7034000 0.0000000 1.0000000 0.0000000 0.1460000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.5815000 1.0000000 0.0000000 0.3200000 0.0000000 1.0000000 $ ARSENIC (27s,18p,14d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ ARSENIC (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ ARSENIC (1s,1p,1d,1f,1g,1h) a 33 $ S-TYPE FUNCTIONS 27 9 0 137507530.0000000 0.00000021 -0.00000007 0.00000003 -0.000000007 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 20515052.0000000 0.00000163 -0.00000051 0.00000020 -0.000000055 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4648716.4000000 0.00000865 -0.00000270 0.00000105 -0.000000289 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1311264.6000000 0.00003676 -0.00001147 0.00000447 -0.000001230 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 426185.8600000 0.00013488 -0.00004210 0.00001640 -0.000004517 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 153237.0600000 0.00044460 -0.0001388 0.00005404 -0.000014884 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 59459.4040000 0.0013488 -0.0004218 0.0001643 -0.000045265 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24492.8120000 0.0038231 -0.0011984 0.0004669 -0.000128582 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10590.2530000 0.0101908 -0.0032174 0.0012552 -0.000345801 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4769.7841000 0.0255027 -0.0081598 0.0031869 -0.000878031 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2226.3698000 0.0591104 -0.0194834 0.0076432 -0.0021073 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1073.0862000 0.1232888 -0.0429787 0.0169669 -0.0046817 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 532.5005900 0.2191743 -0.0852987 0.0341909 -0.0094558 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 271.2975500 0.3013612 -0.1428402 0.0587287 -0.0162990 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 141.3119500 0.2694892 -0.1757282 0.0758856 -0.0212138 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 74.5844330 0.1191270 -0.0764127 0.0350614 -0.0098944 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 38.2983380 0.0156980 0.2466575 -0.1338623 0.0386379 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 20.4691300 0.0002047 0.5253824 -0.3913634 0.1188893 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.9395780 0.0002236 0.3459724 -0.3462820 0.1088990 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.5903670 -0.0001168 0.0639533 0.1941327 -0.0722079 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.8828590 0.00000419 0.0018299 0.6451986 -0.2718000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4660860 -0.00002167 0.0015645 0.4234813 -0.3371662 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6748390 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3463990 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1592890 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0721090 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0294180 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 8 0 34166.1610000 0.0000322 -0.0000126 0.0000028 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8086.5608000 0.0002868 -0.0001119 0.0000249 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2626.5114000 0.0016633 -0.0006516 0.0001451 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1005.3950000 0.0074125 -0.0029173 0.0006504 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 427.1273500 0.0267512 -0.0106738 0.0023818 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 195.1511300 0.0788944 -0.0322455 0.0072207 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 94.0543080 0.1829916 -0.0779731 0.0175318 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 46.9998800 0.3124941 -0.1401038 0.0317414 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24.1174570 0.3445322 -0.1607132 0.0365449 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.5199820 0.1916436 -0.0076703 -0.0016024 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.3573250 0.0387136 0.3007983 -0.0824644 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.1680520 0.0022418 0.4715878 -0.1344372 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.5534810 0.0007209 0.3032064 -0.1051686 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7103250 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3209550 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1393570 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0584100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0220430 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 14 6 0 1424.4506000 0.0000666 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 431.0667600 0.0006537 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 168.1286400 0.0039041 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 74.8667240 0.0163919 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 35.9458550 0.0506232 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 18.0984740 0.1211021 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.4057800 0.2168169 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.9239040 0.2887452 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.5564930 0.2947769 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.3042330 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6371180 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2757950 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1153000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0488000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 0.1960000 1.0000000 0.0000000 0.0000000 0.0000000 0.3859000 0.0000000 1.0000000 0.0000000 0.0000000 0.7599000 0.0000000 0.0000000 1.0000000 0.0000000 0.0899000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.3700000 1.0000000 0.0000000 0.0000000 0.8092000 0.0000000 1.0000000 0.0000000 0.1655000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.6773000 1.0000000 0.0000000 0.3668000 0.0000000 1.0000000 $ SELENIUM (27s,18p,14d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ SELENIUM (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ SELENIUM (1s,1p,1d,1f,1g,1h) a 34 $ S-TYPE FUNCTIONS 27 9 0 154432250.0000000 0.00000019 -0.00000006 0.00000002 -0.000000007 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 23129212.0000000 0.00000151 -0.00000047 0.00000019 -0.000000054 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5261792.9000000 0.00000796 -0.00000249 0.00000098 -0.000000287 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1488816.7000000 0.00003375 -0.00001056 0.00000415 -0.000001214 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 484656.5600000 0.00012372 -0.00003873 0.00001524 -0.000004456 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 174270.6300000 0.00040839 -0.00012786 0.00005031 -0.000014706 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 67529.0900000 0.00124310 -0.0003898 0.00015346 -0.000044871 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 27750.8370000 0.0035389 -0.0011123 0.0004378 -0.000127989 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11964.2160000 0.0094822 -0.0030007 0.0011827 -0.000345702 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5370.7148000 0.0238901 -0.0076563 0.0030208 -0.0008834 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2497.3194000 0.0558757 -0.0184221 0.0072992 -0.0021363 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1198.7679000 0.1179104 -0.0410184 0.0163528 -0.0047892 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 592.5802600 0.2127962 -0.0823026 0.0332962 -0.0097758 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 300.9770800 0.2989304 -0.1398840 0.0580139 -0.0170877 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 156.4602400 0.2765651 -0.1770337 0.0770233 -0.0228656 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 82.4760860 0.1292941 -0.0887761 0.0411065 -0.0123028 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 42.2708870 0.0185875 0.2251537 -0.1225782 0.0375254 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 22.6302200 0.0000773 0.5207171 -0.3853397 0.1244342 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.1223740 0.0003427 0.3645093 -0.3675073 0.1231195 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.2491700 -0.0001753 0.0736169 0.1574340 -0.0624330 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.2426780 0.00003570 0.0023540 0.6440872 -0.2894834 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.6663620 -0.00004065 0.0016947 0.4482209 -0.3744399 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7872640 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4029720 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1870960 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0847060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0339350 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 8 0 36511.3370000 0.0000320 -0.0000127 0.0000031 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8640.5510000 0.0002854 -0.0001130 0.0000273 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2805.6911000 0.0016567 -0.0006582 0.0001593 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1073.4961000 0.0073955 -0.0029528 0.0007136 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 455.7747500 0.0267543 -0.0108289 0.0026260 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 208.0943200 0.0790989 -0.0328124 0.0079667 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 100.2311100 0.1837967 -0.0795070 0.0194440 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 50.0735220 0.3138041 -0.1430274 0.0351328 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 25.7002620 0.3443650 -0.1627787 0.0404028 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.3467920 0.1898591 -0.0042983 -0.0033969 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.7870510 0.0379193 0.3091829 -0.0920999 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.3916540 0.0021781 0.4776013 -0.1535090 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.6703270 0.0006590 0.2928526 -0.1058705 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7525990 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3468130 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1518550 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0638560 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0249750 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 14 6 0 1635.0663000 0.0000591 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 494.6726600 0.0005840 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 192.8438800 0.0035256 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 85.7821950 0.0151127 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 41.1499660 0.0478446 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 20.6781700 0.1174345 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.7263860 0.2159074 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.6124540 0.2929216 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.9203760 0.3000864 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4981840 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7359990 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3160040 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1331000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0548000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 0.2100000 1.0000000 0.0000000 0.0000000 0.0000000 0.4211000 0.0000000 1.0000000 0.0000000 0.0000000 0.8442000 0.0000000 0.0000000 1.0000000 0.0000000 0.0992000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.3850000 1.0000000 0.0000000 0.0000000 0.8659000 0.0000000 1.0000000 0.0000000 0.1830000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.7235000 1.0000000 0.0000000 0.4020000 0.0000000 1.0000000 $ BROMINE (27s,18p,14d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ BROMINE (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ BROMINE (1s,1p,1d,1f,1g,1h) a 35 $ S-TYPE FUNCTIONS 27 9 0 165735150.0000000 0.00000019 -0.00000006 0.00000002 -0.000000007 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24774379.0000000 0.00000149 -0.00000047 0.00000019 -0.000000057 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5628202.0000000 0.00000788 -0.00000247 0.00000098 -0.000000301 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1591899.7000000 0.00003339 -0.00001048 0.00000416 -0.000001276 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 518263.8000000 0.00012231 -0.00003840 0.00001526 -0.000004678 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 186490.9200000 0.00040321 -0.00012660 0.00005031 -0.000015416 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 72332.4930000 0.00122564 -0.00038545 0.00015325 -0.000046975 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 29761.1350000 0.00348235 -0.00109761 0.00043637 -0.000133721 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12851.7120000 0.00930856 -0.00295379 0.00117580 -0.000360485 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5780.9430000 0.0233883 -0.0075146 0.0029946 -0.000917976 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2695.0098000 0.0545530 -0.0180230 0.0072119 -0.0022129 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1297.6604000 0.1149479 -0.0400255 0.0161151 -0.0049473 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 643.6349300 0.2079225 -0.0802919 0.0327943 -0.0100951 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 327.9519400 0.2951596 -0.1372166 0.0574309 -0.0177324 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 170.9226200 0.2798766 -0.1769439 0.0776187 -0.0241653 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 90.2501410 0.1369752 -0.0977033 0.0456464 -0.0143180 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 46.2924670 0.0212154 0.2067633 -0.1131171 0.0362812 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24.8486610 -0.0000254 0.5148419 -0.3795596 0.1286552 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.3471370 0.0004570 0.3799206 -0.3851494 0.1356888 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.9482580 -0.0002348 0.0830128 0.1236851 -0.0516764 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.6250750 0.00006858 0.0032157 0.6406138 -0.3030724 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.8821530 -0.00006116 0.0017129 0.4707436 -0.4073838 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9108220 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4639570 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2169330 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0984060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0391060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 8 0 39391.5300000 0.0000312 -0.0000125 0.0000032 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9325.2225000 0.0002780 -0.0001116 0.0000288 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3028.9943000 0.0016138 -0.0006499 0.0001684 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1159.5145000 0.0072049 -0.0029159 0.0007543 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 492.6813100 0.0260873 -0.0107009 0.0027801 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 225.1745100 0.0772971 -0.0324951 0.0084462 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 108.5932600 0.1804775 -0.0791123 0.0207376 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 54.3360790 0.3106126 -0.1435252 0.0377542 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 27.9366500 0.3454297 -0.1658248 0.0442062 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14.5396260 0.1948515 -0.0106591 -0.0021775 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.4213070 0.0403860 0.3050662 -0.0979530 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.7303890 0.0023091 0.4813563 -0.1692656 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.8541270 0.0006715 0.2942769 -0.1117490 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8453370 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3921520 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1727670 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0729080 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0290520 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 14 6 0 1850.6354000 0.0000538 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 557.0712500 0.0005402 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 216.4868700 0.0033012 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 96.1388500 0.0143551 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 46.1263800 0.0461168 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 23.2011640 0.1147873 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.0559260 0.2145369 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.3255450 0.2953131 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.3049220 0.3040938 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.7042530 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8399400 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3569530 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1520000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0781000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 0.2550000 1.0000000 0.0000000 0.0000000 0.0000000 0.4955000 0.0000000 1.0000000 0.0000000 0.0000000 0.9627000 0.0000000 0.0000000 1.0000000 0.0000000 0.1388000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.4390000 1.0000000 0.0000000 0.0000000 0.9768000 0.0000000 1.0000000 0.0000000 0.2190000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.8193000 1.0000000 0.0000000 0.4910000 0.0000000 1.0000000 $ KRYPTON (27s,18p,14d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ KRYPTON (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ KRYPTON (1s,1p,1d,1f,1g,1h) a 36 $ S-TYPE FUNCTIONS 27 9 0 182822090.0000000 0.00000018 -0.00000057 0.00000002 -0.000000006 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 27356156.0000000 0.00000142 -0.00000045 0.00000018 -0.000000057 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6221170.4000000 0.00000746 -0.00000235 0.00000094 -0.000000300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1760277.9000000 0.00003159 -0.00000994 0.00000399 -0.000001270 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 573193.8200000 0.00011575 -0.0000364 0.00001462 -0.000004658 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 206258.4500000 0.0003815 -0.0001201 0.00004819 -0.000015347 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 80026.6690000 0.0011590 -0.0003654 0.0001467 -0.000046736 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 32939.0840000 0.0032934 -0.0010407 0.0004177 -0.000133022 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14222.6330000 0.0088161 -0.0028038 0.0011267 -0.000359062 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6393.0707000 0.0222180 -0.0071509 0.0028769 -0.0009165 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2976.4538000 0.0520881 -0.0172204 0.0069549 -0.0022184 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1430.5254000 0.1106356 -0.0384800 0.0156365 -0.0049883 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 707.9262100 0.2025326 -0.0778628 0.0320801 -0.0102661 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 359.8484700 0.2926350 -0.1347423 0.0568689 -0.0182445 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 187.1496500 0.2851224 -0.1776148 0.0784845 -0.0254110 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 98.6345230 0.1455064 -0.1068413 0.0503398 -0.0163931 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 50.5478690 0.0239939 0.1896132 -0.1042742 0.0346977 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 27.1670040 -0.0000949 0.5091871 -0.3743761 0.1321283 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14.6150980 0.0005578 0.3939859 -0.4011131 0.1470925 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.6513520 -0.0002870 0.0919032 0.0968388 -0.0418216 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.9972630 0.0000966 0.0039195 0.6428776 -0.3195240 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.0858530 -0.0000784 0.0017496 0.4860600 -0.4363286 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0147970 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5197880 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2451030 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1118960 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0442770 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 8 0 42993.0560000 0.0000297 -0.0000121 0.0000033 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10173.7230000 0.0002651 -0.0001078 0.0000293 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3303.1057000 0.0015416 -0.0006290 0.0001713 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1263.5400000 0.0069065 -0.0028323 0.0007695 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 536.3654600 0.0251397 -0.0104462 0.0028514 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 244.8761700 0.0750124 -0.0319400 0.0087204 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 117.9911700 0.1767433 -0.0784599 0.0216181 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 59.0212480 0.3075135 -0.1439719 0.0398024 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30.3560670 0.3470644 -0.1691703 0.0474775 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.8199770 0.2002802 -0.0175966 -0.0004773 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8.1045800 0.0430508 0.3002649 -0.1021891 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.0979640 0.0024772 0.4847661 -0.1823611 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.0560610 0.0006789 0.2967248 -0.1173363 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9521450 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4447740 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1974960 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0838230 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0331290 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 14 6 0 2067.4360000 0.0000496 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 625.6937100 0.0004944 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 243.9467900 0.0030265 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 108.4237300 0.0133461 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 52.0052160 0.0437869 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 26.1154050 0.1114388 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.5467480 0.2130341 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.1058100 0.2979241 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.7215540 0.3079660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.9291200 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9558260 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4051970 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1741000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1014000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 0.3150000 1.0000000 0.0000000 0.0000000 0.0000000 0.5870000 0.0000000 1.0000000 0.0000000 0.0000000 1.0940000 0.0000000 0.0000000 1.0000000 0.0000000 0.1784000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.5010000 1.0000000 0.0000000 0.0000000 1.1040000 0.0000000 1.0000000 0.0000000 0.2550000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.9303000 1.0000000 0.0000000 0.5800000 0.0000000 1.0000000 ergo-3.5/basis/6-31+G0000664000175000017500000007024512743400275011050 00000000000000$Basis = 6-31+G $Elements supported $H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar $ $ REFERENCE $Elements References $-------- ---------- $ H - He: W.J. Hehre, R. Ditchfield and J.A. Pople, J. Chem. Phys. 56, $Li - Ne: 2257 (1972). Note: Li and B come from J.D. Dill and J.A. $ Pople, J. Chem. Phys. 62, 2921 (1975). $Na - Ar: M.M. Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, $ D.J. DeFrees and J.A. Pople, J. Chem. Phys. 77, 3654 (1982) $K - Zn: V. Rassolov, J.A. Pople, M. Ratner and T.L. Windus, J. Chem. Phys. $ 109, 1223 (1998) $** $ Note: He and Ne are unpublished basis sets taken from the Gaussian $ program $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $Elements Reference $-------- ---------- $H, Li-Cl: T. Clark, J. Chandrasekhar, P.V.R. Schleyer, J. Comp. Chem. 4, 294 $ (1983). $ a 1 $ HYDROGEN (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 18.7311370 0.03349460 0.00000000 2.8253937 0.23472695 0.00000000 0.6401217 0.81375733 0.00000000 0.1612778 0.00000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 38.4216340 0.02376600 0.00000000 5.7780300 0.15467900 0.00000000 1.2417740 0.46963000 0.00000000 0.2979640 0.00000000 1.00000000 a 3 $ LITHIUM (10s,4p) -> [3s,2p] $ LITHIUM (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 642.4189200 0.00214260 0.00000000 0.00000000 0.00000000 96.7985150 0.01620890 0.00000000 0.00000000 0.00000000 22.0911210 0.07731560 0.00000000 0.00000000 0.00000000 6.2010703 0.24578600 0.00000000 0.00000000 0.00000000 1.9351177 0.47018900 0.00000000 0.00000000 0.00000000 0.6367358 0.34547080 0.00000000 0.00000000 0.00000000 2.3249184 0.00000000 -0.03509170 0.00000000 0.00000000 0.6324306 0.00000000 -0.19123280 0.00000000 0.00000000 0.0790534 0.00000000 1.08398780 0.00000000 0.00000000 0.0359620 0.00000000 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 2.3249184 0.00894150 0.00000000 0.00000000 0.6324306 0.14100950 0.00000000 0.00000000 0.0790534 0.94536370 0.00000000 0.00000000 0.0359620 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (10s,4p) -> [3s,2p] $ BERYLLIUM (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 1264.5857000 0.00194480 0.00000000 0.00000000 0.00000000 189.9368100 0.01483510 0.00000000 0.00000000 0.00000000 43.1590890 0.07209060 0.00000000 0.00000000 0.00000000 12.0986630 0.23715420 0.00000000 0.00000000 0.00000000 3.8063232 0.46919870 0.00000000 0.00000000 0.00000000 1.2728903 0.35652020 0.00000000 0.00000000 0.00000000 3.1964631 0.00000000 -0.11264870 0.00000000 0.00000000 0.7478133 0.00000000 -0.22950640 0.00000000 0.00000000 0.2199663 0.00000000 1.18691670 0.00000000 0.00000000 0.0823099 0.00000000 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 3.1964631 0.05598020 0.00000000 0.00000000 0.7478133 0.26155060 0.00000000 0.00000000 0.2199663 0.79397230 0.00000000 0.00000000 0.0823099 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 1.00000000 a 5 $ BORON (10s,4p) -> [3s,2p] $ BORON (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 2068.8823000 0.00186630 0.00000000 0.00000000 0.00000000 310.6495700 0.01425150 0.00000000 0.00000000 0.00000000 70.6830330 0.06955160 0.00000000 0.00000000 0.00000000 19.8610800 0.23257290 0.00000000 0.00000000 0.00000000 6.2993048 0.46707870 0.00000000 0.00000000 0.00000000 2.1270270 0.36343140 0.00000000 0.00000000 0.00000000 4.7279710 0.00000000 -0.13039380 0.00000000 0.00000000 1.1903377 0.00000000 -0.13078890 0.00000000 0.00000000 0.3594117 0.00000000 1.13094440 0.00000000 0.00000000 0.1267512 0.00000000 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 4.7279710 0.07459760 0.00000000 0.00000000 1.1903377 0.30784670 0.00000000 0.00000000 0.3594117 0.74345680 0.00000000 0.00000000 0.1267512 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (10s,4p) -> [3s,2p] $ CARBON (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 3047.5249000 0.00183470 0.00000000 0.00000000 0.00000000 457.3695100 0.01403730 0.00000000 0.00000000 0.00000000 103.9486900 0.06884260 0.00000000 0.00000000 0.00000000 29.2101550 0.23218440 0.00000000 0.00000000 0.00000000 9.2866630 0.46794130 0.00000000 0.00000000 0.00000000 3.1639270 0.36231200 0.00000000 0.00000000 0.00000000 7.8682724 0.00000000 -0.11933240 0.00000000 0.00000000 1.8812885 0.00000000 -0.16085420 0.00000000 0.00000000 0.5442493 0.00000000 1.14345640 0.00000000 0.00000000 0.1687144 0.00000000 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 7.8682724 0.06899910 0.00000000 0.00000000 1.8812885 0.31642400 0.00000000 0.00000000 0.5442493 0.74430830 0.00000000 0.00000000 0.1687144 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (10s,4p) -> [3s,2p] $ NITROGEN (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 4173.5110000 0.00183480 0.00000000 0.00000000 0.00000000 627.4579000 0.01399500 0.00000000 0.00000000 0.00000000 142.9021000 0.06858700 0.00000000 0.00000000 0.00000000 40.2343300 0.23224100 0.00000000 0.00000000 0.00000000 12.8202100 0.46907000 0.00000000 0.00000000 0.00000000 4.3904370 0.36045500 0.00000000 0.00000000 0.00000000 11.6263580 0.00000000 -0.11496100 0.00000000 0.00000000 2.7162800 0.00000000 -0.16911800 0.00000000 0.00000000 0.7722180 0.00000000 1.14585200 0.00000000 0.00000000 0.2120313 0.00000000 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 11.6263580 0.06758000 0.00000000 0.00000000 2.7162800 0.32390700 0.00000000 0.00000000 0.7722180 0.74089500 0.00000000 0.00000000 0.2120313 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (10s,4p) -> [3s,2p] $ OXYGEN (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 5484.6717000 0.00183110 0.00000000 0.00000000 0.00000000 825.2349500 0.01395010 0.00000000 0.00000000 0.00000000 188.0469600 0.06844510 0.00000000 0.00000000 0.00000000 52.9645000 0.23271430 0.00000000 0.00000000 0.00000000 16.8975700 0.47019300 0.00000000 0.00000000 0.00000000 5.7996353 0.35852090 0.00000000 0.00000000 0.00000000 15.5396160 0.00000000 -0.11077750 0.00000000 0.00000000 3.5999336 0.00000000 -0.14802630 0.00000000 0.00000000 1.0137618 0.00000000 1.13076700 0.00000000 0.00000000 0.2700058 0.00000000 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 15.5396160 0.07087430 0.00000000 0.00000000 3.5999336 0.33975280 0.00000000 0.00000000 1.0137618 0.72715860 0.00000000 0.00000000 0.2700058 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 1.00000000 a 9 $ FLUORINE (10s,4p) -> [3s,2p] $ FLUORINE (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 7001.1713000 0.00181960 0.00000000 0.00000000 0.00000000 1051.3660000 0.01391600 0.00000000 0.00000000 0.00000000 239.2857000 0.06840500 0.00000000 0.00000000 0.00000000 67.3974500 0.23318600 0.00000000 0.00000000 0.00000000 21.5199600 0.47126700 0.00000000 0.00000000 0.00000000 7.4031010 0.35661900 0.00000000 0.00000000 0.00000000 20.8479500 0.00000000 -0.10850700 0.00000000 0.00000000 4.8083080 0.00000000 -0.14645200 0.00000000 0.00000000 1.3440700 0.00000000 1.12868900 0.00000000 0.00000000 0.3581514 0.00000000 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 20.8479500 0.07162900 0.00000000 0.00000000 4.8083080 0.34591200 0.00000000 0.00000000 1.3440700 0.72247000 0.00000000 0.00000000 0.3581514 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 1.00000000 a 10 $ NEON (10s,4p) -> [3s,2p] $ NEON (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 8425.8515300 0.00188435 0.00000000 0.00000000 0.00000000 1268.5194000 0.01433690 0.00000000 0.00000000 0.00000000 289.6214140 0.07010962 0.00000000 0.00000000 0.00000000 81.8590040 0.23737327 0.00000000 0.00000000 0.00000000 26.2515079 0.47300713 0.00000000 0.00000000 0.00000000 9.0947205 0.34840124 0.00000000 0.00000000 0.00000000 26.5321310 0.00000000 -0.10711829 0.00000000 0.00000000 6.1017550 0.00000000 -0.14616382 0.00000000 0.00000000 1.6962715 0.00000000 1.12777350 0.00000000 0.00000000 0.4458187 0.00000000 0.00000000 1.00000000 0.00000000 0.1300000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 26.5321310 0.07190959 0.00000000 0.00000000 6.1017550 0.34951337 0.00000000 0.00000000 1.6962715 0.71994051 0.00000000 0.00000000 0.4458187 0.00000000 1.00000000 0.00000000 0.1300000 0.00000000 0.00000000 1.00000000 a 11 $ SODIUM (16s,10p) -> [4s,3p] $ SODIUM (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 9993.2000000 0.00193770 0.00000000 0.00000000 0.00000000 0.00000000 1499.8900000 0.01480700 0.00000000 0.00000000 0.00000000 0.00000000 341.9510000 0.07270600 0.00000000 0.00000000 0.00000000 0.00000000 94.6797000 0.25262900 0.00000000 0.00000000 0.00000000 0.00000000 29.7345000 0.49324200 0.00000000 0.00000000 0.00000000 0.00000000 10.0063000 0.31316900 0.00000000 0.00000000 0.00000000 0.00000000 150.9630000 0.00000000 -0.00354210 0.00000000 0.00000000 0.00000000 35.5878000 0.00000000 -0.04395900 0.00000000 0.00000000 0.00000000 11.1683000 0.00000000 -0.10975210 0.00000000 0.00000000 0.00000000 3.9020100 0.00000000 0.18739800 0.00000000 0.00000000 0.00000000 1.3817700 0.00000000 0.64669900 0.00000000 0.00000000 0.00000000 0.4663820 0.00000000 0.30605800 0.00000000 0.00000000 0.00000000 0.4979660 0.00000000 0.00000000 -0.24850300 0.00000000 0.00000000 0.0843530 0.00000000 0.00000000 -0.13170400 0.00000000 0.00000000 0.0666350 0.00000000 0.00000000 1.23352000 0.00000000 0.00000000 0.0259544 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0076000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 150.9630000 0.00500170 0.00000000 0.00000000 0.00000000 35.5878000 0.03551100 0.00000000 0.00000000 0.00000000 11.1683000 0.14282500 0.00000000 0.00000000 0.00000000 3.9020100 0.33862000 0.00000000 0.00000000 0.00000000 1.3817700 0.45157900 0.00000000 0.00000000 0.00000000 0.4663820 0.27327100 0.00000000 0.00000000 0.00000000 0.4979660 0.00000000 -0.02302300 0.00000000 0.00000000 0.0843530 0.00000000 0.95035900 0.00000000 0.00000000 0.0666350 0.00000000 0.05985800 0.00000000 0.00000000 0.0259544 0.00000000 0.00000000 1.00000000 0.00000000 0.0076000 0.00000000 0.00000000 0.00000000 1.00000000 a 12 $ MAGNESIUM (16s,10p) -> [4s,3p] $ MAGNESIUM (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 11722.8000000 0.00197780 0.00000000 0.00000000 0.00000000 0.00000000 1759.9300000 0.01511400 0.00000000 0.00000000 0.00000000 0.00000000 400.8460000 0.07391100 0.00000000 0.00000000 0.00000000 0.00000000 112.8070000 0.24919100 0.00000000 0.00000000 0.00000000 0.00000000 35.9997000 0.48792800 0.00000000 0.00000000 0.00000000 0.00000000 12.1828000 0.31966200 0.00000000 0.00000000 0.00000000 0.00000000 189.1800000 0.00000000 -0.00323720 0.00000000 0.00000000 0.00000000 45.2119000 0.00000000 -0.04100800 0.00000000 0.00000000 0.00000000 14.3563000 0.00000000 -0.11260000 0.00000000 0.00000000 0.00000000 5.1388600 0.00000000 0.14863300 0.00000000 0.00000000 0.00000000 1.9065200 0.00000000 0.61649700 0.00000000 0.00000000 0.00000000 0.7058870 0.00000000 0.36482900 0.00000000 0.00000000 0.00000000 0.9293400 0.00000000 0.00000000 -0.21229000 0.00000000 0.00000000 0.2690350 0.00000000 0.00000000 -0.10798500 0.00000000 0.00000000 0.1173790 0.00000000 0.00000000 1.17584000 0.00000000 0.00000000 0.0421061 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0146000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 189.1800000 0.00492810 0.00000000 0.00000000 0.00000000 45.2119000 0.03498900 0.00000000 0.00000000 0.00000000 14.3563000 0.14072500 0.00000000 0.00000000 0.00000000 5.1388600 0.33364200 0.00000000 0.00000000 0.00000000 1.9065200 0.44494000 0.00000000 0.00000000 0.00000000 0.7058870 0.26925400 0.00000000 0.00000000 0.00000000 0.9293400 0.00000000 -0.02241900 0.00000000 0.00000000 0.2690350 0.00000000 0.19227000 0.00000000 0.00000000 0.1173790 0.00000000 0.84618100 0.00000000 0.00000000 0.0421061 0.00000000 0.00000000 1.00000000 0.00000000 0.0146000 0.00000000 0.00000000 0.00000000 1.00000000 a 13 $ ALUMINUM (16s,10p) -> [4s,3p] $ ALUMINUM (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 13983.1000000 0.00194270 0.00000000 0.00000000 0.00000000 0.00000000 2098.7500000 0.01486000 0.00000000 0.00000000 0.00000000 0.00000000 477.7050000 0.07284900 0.00000000 0.00000000 0.00000000 0.00000000 134.3600000 0.24683000 0.00000000 0.00000000 0.00000000 0.00000000 42.8709000 0.48725800 0.00000000 0.00000000 0.00000000 0.00000000 14.5189000 0.32349600 0.00000000 0.00000000 0.00000000 0.00000000 239.6680000 0.00000000 -0.00292620 0.00000000 0.00000000 0.00000000 57.4419000 0.00000000 -0.03740800 0.00000000 0.00000000 0.00000000 18.2859000 0.00000000 -0.11448700 0.00000000 0.00000000 0.00000000 6.5991400 0.00000000 0.11563500 0.00000000 0.00000000 0.00000000 2.4904900 0.00000000 0.61259500 0.00000000 0.00000000 0.00000000 0.9445400 0.00000000 0.39379900 0.00000000 0.00000000 0.00000000 1.2779000 0.00000000 0.00000000 -0.22760600 0.00000000 0.00000000 0.3975900 0.00000000 0.00000000 0.14458300 0.00000000 0.00000000 0.1600950 0.00000000 0.00000000 1.09279000 0.00000000 0.00000000 0.0556577 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0318000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 239.6680000 0.00460290 0.00000000 0.00000000 0.00000000 57.4419000 0.03319900 0.00000000 0.00000000 0.00000000 18.2859000 0.13628200 0.00000000 0.00000000 0.00000000 6.5991400 0.33047600 0.00000000 0.00000000 0.00000000 2.4904900 0.44914600 0.00000000 0.00000000 0.00000000 0.9445400 0.26570400 0.00000000 0.00000000 0.00000000 1.2779000 0.00000000 -0.01751300 0.00000000 0.00000000 0.3975900 0.00000000 0.24453300 0.00000000 0.00000000 0.1600950 0.00000000 0.80493400 0.00000000 0.00000000 0.0556577 0.00000000 0.00000000 1.00000000 0.00000000 0.0318000 0.00000000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (16s,10p) -> [4s,3p] $ SILICON (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 16115.9000000 0.00195948 0.00000000 0.00000000 0.00000000 0.00000000 2425.5800000 0.01492880 0.00000000 0.00000000 0.00000000 0.00000000 553.8670000 0.07284780 0.00000000 0.00000000 0.00000000 0.00000000 156.3400000 0.24613000 0.00000000 0.00000000 0.00000000 0.00000000 50.0683000 0.48591400 0.00000000 0.00000000 0.00000000 0.00000000 17.0178000 0.32500200 0.00000000 0.00000000 0.00000000 0.00000000 292.7180000 0.00000000 -0.00278094 0.00000000 0.00000000 0.00000000 69.8731000 0.00000000 -0.03571460 0.00000000 0.00000000 0.00000000 22.3363000 0.00000000 -0.11498500 0.00000000 0.00000000 0.00000000 8.1503900 0.00000000 0.09356340 0.00000000 0.00000000 0.00000000 3.1345800 0.00000000 0.60301700 0.00000000 0.00000000 0.00000000 1.2254300 0.00000000 0.41895900 0.00000000 0.00000000 0.00000000 1.7273800 0.00000000 0.00000000 -0.24463000 0.00000000 0.00000000 0.5729220 0.00000000 0.00000000 0.00431572 0.00000000 0.00000000 0.2221920 0.00000000 0.00000000 1.09818000 0.00000000 0.00000000 0.0778369 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0331000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 292.7180000 0.00443826 0.00000000 0.00000000 0.00000000 69.8731000 0.03266790 0.00000000 0.00000000 0.00000000 22.3363000 0.13472100 0.00000000 0.00000000 0.00000000 8.1503900 0.32867800 0.00000000 0.00000000 0.00000000 3.1345800 0.44964000 0.00000000 0.00000000 0.00000000 1.2254300 0.26137200 0.00000000 0.00000000 0.00000000 1.7273800 0.00000000 -0.01779510 0.00000000 0.00000000 0.5729220 0.00000000 0.25353900 0.00000000 0.00000000 0.2221920 0.00000000 0.80066900 0.00000000 0.00000000 0.0778369 0.00000000 0.00000000 1.00000000 0.00000000 0.0331000 0.00000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (16s,10p) -> [4s,3p] $ PHOSPHORUS (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 19413.3000000 0.00185160 0.00000000 0.00000000 0.00000000 0.00000000 2909.4200000 0.01420620 0.00000000 0.00000000 0.00000000 0.00000000 661.3640000 0.06999950 0.00000000 0.00000000 0.00000000 0.00000000 185.7590000 0.24007900 0.00000000 0.00000000 0.00000000 0.00000000 59.1943000 0.48476200 0.00000000 0.00000000 0.00000000 0.00000000 20.0310000 0.33520000 0.00000000 0.00000000 0.00000000 0.00000000 339.4780000 0.00000000 -0.00278217 0.00000000 0.00000000 0.00000000 81.0101000 0.00000000 -0.03604990 0.00000000 0.00000000 0.00000000 25.8780000 0.00000000 -0.11663100 0.00000000 0.00000000 0.00000000 9.4522100 0.00000000 0.09683280 0.00000000 0.00000000 0.00000000 3.6656600 0.00000000 0.61441800 0.00000000 0.00000000 0.00000000 1.4674600 0.00000000 0.40379800 0.00000000 0.00000000 0.00000000 2.1562300 0.00000000 0.00000000 -0.25292300 0.00000000 0.00000000 0.7489970 0.00000000 0.00000000 0.03285170 0.00000000 0.00000000 0.2831450 0.00000000 0.00000000 1.08125000 0.00000000 0.00000000 0.0998317 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0348000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 339.4780000 0.00456462 0.00000000 0.00000000 0.00000000 81.0101000 0.03369360 0.00000000 0.00000000 0.00000000 25.8780000 0.13975500 0.00000000 0.00000000 0.00000000 9.4522100 0.33936200 0.00000000 0.00000000 0.00000000 3.6656600 0.45092100 0.00000000 0.00000000 0.00000000 1.4674600 0.23858600 0.00000000 0.00000000 0.00000000 2.1562300 0.00000000 -0.01776530 0.00000000 0.00000000 0.7489970 0.00000000 0.27405800 0.00000000 0.00000000 0.2831450 0.00000000 0.78542100 0.00000000 0.00000000 0.0998317 0.00000000 0.00000000 1.00000000 0.00000000 0.0348000 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (16s,10p) -> [4s,3p] $ SULFUR (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 21917.1000000 0.00186900 0.00000000 0.00000000 0.00000000 0.00000000 3301.4900000 0.01423000 0.00000000 0.00000000 0.00000000 0.00000000 754.1460000 0.06969600 0.00000000 0.00000000 0.00000000 0.00000000 212.7110000 0.23848700 0.00000000 0.00000000 0.00000000 0.00000000 67.9896000 0.48330700 0.00000000 0.00000000 0.00000000 0.00000000 23.0515000 0.33807400 0.00000000 0.00000000 0.00000000 0.00000000 423.7350000 0.00000000 -0.00237670 0.00000000 0.00000000 0.00000000 100.7100000 0.00000000 -0.03169300 0.00000000 0.00000000 0.00000000 32.1599000 0.00000000 -0.11331700 0.00000000 0.00000000 0.00000000 11.8079000 0.00000000 0.05609000 0.00000000 0.00000000 0.00000000 4.6311000 0.00000000 0.59225500 0.00000000 0.00000000 0.00000000 1.8702500 0.00000000 0.45500600 0.00000000 0.00000000 0.00000000 2.6158400 0.00000000 0.00000000 -0.25037400 0.00000000 0.00000000 0.9221670 0.00000000 0.00000000 0.06695700 0.00000000 0.00000000 0.3412870 0.00000000 0.00000000 1.05451000 0.00000000 0.00000000 0.1171670 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0405000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 423.7350000 0.00406100 0.00000000 0.00000000 0.00000000 100.7100000 0.03068100 0.00000000 0.00000000 0.00000000 32.1599000 0.13045200 0.00000000 0.00000000 0.00000000 11.8079000 0.32720500 0.00000000 0.00000000 0.00000000 4.6311000 0.45285100 0.00000000 0.00000000 0.00000000 1.8702500 0.25604200 0.00000000 0.00000000 0.00000000 2.6158400 0.00000000 -0.01451100 0.00000000 0.00000000 0.9221670 0.00000000 0.31026300 0.00000000 0.00000000 0.3412870 0.00000000 0.75448300 0.00000000 0.00000000 0.1171670 0.00000000 0.00000000 1.00000000 0.00000000 0.0405000 0.00000000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (16s,10p) -> [4s,3p] $ CHLORINE (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 25180.1000000 0.00183300 0.00000000 0.00000000 0.00000000 0.00000000 3780.3500000 0.01403400 0.00000000 0.00000000 0.00000000 0.00000000 860.4740000 0.06909700 0.00000000 0.00000000 0.00000000 0.00000000 242.1450000 0.23745200 0.00000000 0.00000000 0.00000000 0.00000000 77.3349000 0.48303400 0.00000000 0.00000000 0.00000000 0.00000000 26.2470000 0.33985600 0.00000000 0.00000000 0.00000000 0.00000000 491.7650000 0.00000000 -0.00229740 0.00000000 0.00000000 0.00000000 116.9840000 0.00000000 -0.03071400 0.00000000 0.00000000 0.00000000 37.4153000 0.00000000 -0.11252800 0.00000000 0.00000000 0.00000000 13.7834000 0.00000000 0.04501600 0.00000000 0.00000000 0.00000000 5.4521500 0.00000000 0.58935300 0.00000000 0.00000000 0.00000000 2.2258800 0.00000000 0.46520600 0.00000000 0.00000000 0.00000000 3.1864900 0.00000000 0.00000000 -0.25183000 0.00000000 0.00000000 1.1442700 0.00000000 0.00000000 0.06158900 0.00000000 0.00000000 0.4203770 0.00000000 0.00000000 1.06018000 0.00000000 0.00000000 0.1426570 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0483000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 491.7650000 0.00398940 0.00000000 0.00000000 0.00000000 116.9840000 0.03031800 0.00000000 0.00000000 0.00000000 37.4153000 0.12988000 0.00000000 0.00000000 0.00000000 13.7834000 0.32795100 0.00000000 0.00000000 0.00000000 5.4521500 0.45352700 0.00000000 0.00000000 0.00000000 2.2258800 0.25215400 0.00000000 0.00000000 0.00000000 3.1864900 0.00000000 -0.01429900 0.00000000 0.00000000 1.1442700 0.00000000 0.32357200 0.00000000 0.00000000 0.4203770 0.00000000 0.74350700 0.00000000 0.00000000 0.1426570 0.00000000 0.00000000 1.00000000 0.00000000 0.0483000 0.00000000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (16s,10p) -> [4s,3p] $ ARGON (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 28348.3000000 0.00182526 0.00000000 0.00000000 0.00000000 0.00000000 4257.6200000 0.01396860 0.00000000 0.00000000 0.00000000 0.00000000 969.8570000 0.06870730 0.00000000 0.00000000 0.00000000 0.00000000 273.2630000 0.23620400 0.00000000 0.00000000 0.00000000 0.00000000 87.3695000 0.48221400 0.00000000 0.00000000 0.00000000 0.00000000 29.6867000 0.34204300 0.00000000 0.00000000 0.00000000 0.00000000 575.8910000 0.00000000 -0.00215972 0.00000000 0.00000000 0.00000000 136.8160000 0.00000000 -0.02907750 0.00000000 0.00000000 0.00000000 43.8098000 0.00000000 -0.11082700 0.00000000 0.00000000 0.00000000 16.2094000 0.00000000 0.02769990 0.00000000 0.00000000 0.00000000 6.4608400 0.00000000 0.57761300 0.00000000 0.00000000 0.00000000 2.6511400 0.00000000 0.48868800 0.00000000 0.00000000 0.00000000 3.8602800 0.00000000 0.00000000 -0.25559200 0.00000000 0.00000000 1.4137300 0.00000000 0.00000000 0.03780660 0.00000000 0.00000000 0.5166460 0.00000000 0.00000000 1.08056000 0.00000000 0.00000000 0.1738880 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 575.8910000 0.00380665 0.00000000 0.00000000 0.00000000 136.8160000 0.02923050 0.00000000 0.00000000 0.00000000 43.8098000 0.12646700 0.00000000 0.00000000 0.00000000 16.2094000 0.32351000 0.00000000 0.00000000 0.00000000 6.4608400 0.45489600 0.00000000 0.00000000 0.00000000 2.6511400 0.25663000 0.00000000 0.00000000 0.00000000 3.8602800 0.00000000 -0.01591970 0.00000000 0.00000000 1.4137300 0.00000000 0.32464600 0.00000000 0.00000000 0.5166460 0.00000000 0.74399000 0.00000000 0.00000000 0.1738880 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000 0.00000000 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/6-311++Gss0000775000175000017500000003566712743400275011566 00000000000000$Basis = 6-311++G** $Elements supported $H He Li Be B C N O F Ne $ $ REFERENCE $Elements References $-------- ---------- $H, Li - Ne: R. Krishnan, J.S. Binkley, R. Seeger and J.A. Pople, $ J. Chem. Phys. 72, 650 (1980) $Na - Ar: A.D. McLean and G.S. Chandler J. Chem. Phys. 72, 5639, (1980). $K - Ca: J-P. Blaudeau, M. P. McGrath, L.A. Curtiss and L. Radom, $ J. Chem. Phys. 107, 5016 (1997). $Ga - Kr: L. A. Curtiss, M. P. McGrath, J-P. Blandeau, N. E. Davis, $ R. C. Binning, Jr. L. Radom, J. Chem. Phys. 103, 6104 (1995). $I : M.N. Glukhovstev, A. pross, M.P. McGrath, L. Radom, J. Chem. Phys. $ 103, 1878 (1995) $ $ Polarization functions $Elements References $-------- ---------- $Li - Ar: R. Krishnan, J.S. Binkley, R. Seeger, J.A. Pople, $ J. Chem. Phys. 72, 650 (1980). $K - Ca: J-P. Blaudeau, M. P. McGrath, L.A. Curtiss and L. Radom, $ J. Chem. Phys. 107, 5016 (1997). $Ga - Kr: L. A. Curtiss, M. P. McGrath, J-P. Blandeau, N. E. Davis, R. C. $ Binning, Jr., L. Radom, J. Chem. Phys. 103, 6104 (1995) $ $ Diffuse functions $Elements Reference $-------- ---------- $ H, Li-Cl: T. Clark, J. Chandrasekhar, G.W. Spitznagel and P.V.R. Schleyer, $ J. Comp. Chem. 4, 294 (1983). $ a 1 $ HYDROGEN (5s) -> [3s] $ HYDROGEN (1p) $ HYDROGEN (Diffuse s) $ S-TYPE FUNCTIONS 6 4 0 33.8650000 0.02549380 0.00000000 0.00000000 0.00000000 5.0947900 0.19037300 0.00000000 0.00000000 0.00000000 1.1587900 0.85216100 0.00000000 0.00000000 0.00000000 0.3258400 0.00000000 1.00000000 0.00000000 0.00000000 0.1027410 0.00000000 0.00000000 1.00000000 0.00000000 0.0360000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.7500000 1.00000000 a 2 $ HELIUM (5s) -> [3s] $ HELIUM (1p) $ S-TYPE FUNCTIONS 5 3 0 98.1243000 0.02874520 0.00000000 0.00000000 14.7689000 0.20806100 0.00000000 0.00000000 3.3188300 0.83763500 0.00000000 0.00000000 0.8740470 0.00000000 1.00000000 0.00000000 0.2445640 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.7500000 1.00000000 a 3 $ LITHIUM (11s,5p) -> [4s,3p] $ LITHIUM (1d) $ LITHIUM (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 900.4600000 0.00228704 0.00000000 0.00000000 0.00000000 0.00000000 134.4330000 0.01763500 0.00000000 0.00000000 0.00000000 0.00000000 30.4365000 0.08734340 0.00000000 0.00000000 0.00000000 0.00000000 8.6263900 0.28097700 0.00000000 0.00000000 0.00000000 0.00000000 2.4833200 0.65874100 0.00000000 0.00000000 0.00000000 0.00000000 0.3031790 0.11871200 0.00000000 0.00000000 0.00000000 0.00000000 4.8689000 0.00000000 0.09332930 0.00000000 0.00000000 0.00000000 0.8569240 0.00000000 0.94304500 0.00000000 0.00000000 0.00000000 0.2432270 0.00000000 -0.00279827 0.00000000 0.00000000 0.00000000 0.0635070 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0243683 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 4.8689000 0.03276610 0.00000000 0.00000000 0.00000000 0.8569240 0.15979200 0.00000000 0.00000000 0.00000000 0.2432270 0.88566700 0.00000000 0.00000000 0.00000000 0.0635070 0.00000000 1.00000000 0.00000000 0.00000000 0.0243683 0.00000000 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.2000000 1.00000000 a 4 $ BERYLLIUM (11s,5p) -> [4s,3p] $ BERYLLIUM (1d) $ BERYLLIUM (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 1682.8000000 0.00228574 0.00000000 0.00000000 0.00000000 0.00000000 251.7150000 0.01759380 0.00000000 0.00000000 0.00000000 0.00000000 57.4116000 0.08633150 0.00000000 0.00000000 0.00000000 0.00000000 16.5171000 0.28183500 0.00000000 0.00000000 0.00000000 0.00000000 4.8536400 0.64059400 0.00000000 0.00000000 0.00000000 0.00000000 0.6268630 0.14446700 0.00000000 0.00000000 0.00000000 0.00000000 8.3093800 0.00000000 0.10862100 0.00000000 0.00000000 0.00000000 1.7407500 0.00000000 0.92730100 0.00000000 0.00000000 0.00000000 0.4858160 0.00000000 -0.00297169 0.00000000 0.00000000 0.00000000 0.1636130 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0567285 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 8.3093800 0.03613440 0.00000000 0.00000000 0.00000000 1.7407500 0.21695800 0.00000000 0.00000000 0.00000000 0.4858160 0.84183900 0.00000000 0.00000000 0.00000000 0.1636130 0.00000000 1.00000000 0.00000000 0.00000000 0.0567285 0.00000000 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.2550000 1.00000000 a 5 $ BORON (11s,5p) -> [4s,3p] $ BORON (1d) $ BORON (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 2858.8900000 0.00215375 0.00000000 0.00000000 0.00000000 0.00000000 428.1400000 0.01658230 0.00000000 0.00000000 0.00000000 0.00000000 97.5282000 0.08218700 0.00000000 0.00000000 0.00000000 0.00000000 27.9693000 0.27661800 0.00000000 0.00000000 0.00000000 0.00000000 8.2157700 0.62931600 0.00000000 0.00000000 0.00000000 0.00000000 1.1127800 0.17377000 0.00000000 0.00000000 0.00000000 0.00000000 13.2415000 0.00000000 0.11744300 0.00000000 0.00000000 0.00000000 3.0016600 0.00000000 0.91800200 0.00000000 0.00000000 0.00000000 0.9128560 0.00000000 -0.00265105 0.00000000 0.00000000 0.00000000 0.3154540 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0988563 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 13.2415000 0.04181000 0.00000000 0.00000000 0.00000000 3.0016600 0.23657500 0.00000000 0.00000000 0.00000000 0.9128560 0.81621400 0.00000000 0.00000000 0.00000000 0.3154540 0.00000000 1.00000000 0.00000000 0.00000000 0.0988563 0.00000000 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4010000 1.00000000 a 6 $ CARBON (11s,5p) -> [4s,3p] $ CARBON (1d) $ CARBON (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 4563.2400000 0.00196665 0.00000000 0.00000000 0.00000000 0.00000000 682.0240000 0.01523060 0.00000000 0.00000000 0.00000000 0.00000000 154.9730000 0.07612690 0.00000000 0.00000000 0.00000000 0.00000000 44.4553000 0.26080100 0.00000000 0.00000000 0.00000000 0.00000000 13.0290000 0.61646200 0.00000000 0.00000000 0.00000000 0.00000000 1.8277300 0.22100600 0.00000000 0.00000000 0.00000000 0.00000000 20.9642000 0.00000000 0.11466000 0.00000000 0.00000000 0.00000000 4.8033100 0.00000000 0.91999900 0.00000000 0.00000000 0.00000000 1.4593300 0.00000000 -0.00303068 0.00000000 0.00000000 0.00000000 0.4834560 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1455850 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 20.9642000 0.04024870 0.00000000 0.00000000 0.00000000 4.8033100 0.23759400 0.00000000 0.00000000 0.00000000 1.4593300 0.81585400 0.00000000 0.00000000 0.00000000 0.4834560 0.00000000 1.00000000 0.00000000 0.00000000 0.1455850 0.00000000 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6260000 1.00000000 a 7 $ NITROGEN (11s,5p) -> [4s,3p] $ NITROGEN (1d) $ NITROGEN (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 6293.4800000 0.00196979 0.00000000 0.00000000 0.00000000 0.00000000 949.0440000 0.01496130 0.00000000 0.00000000 0.00000000 0.00000000 218.7760000 0.07350060 0.00000000 0.00000000 0.00000000 0.00000000 63.6916000 0.24893700 0.00000000 0.00000000 0.00000000 0.00000000 18.8282000 0.60246000 0.00000000 0.00000000 0.00000000 0.00000000 2.7202300 0.25620200 0.00000000 0.00000000 0.00000000 0.00000000 30.6331000 0.00000000 0.11190600 0.00000000 0.00000000 0.00000000 7.0261400 0.00000000 0.92166600 0.00000000 0.00000000 0.00000000 2.1120500 0.00000000 -0.00256919 0.00000000 0.00000000 0.00000000 0.6840090 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2008780 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 30.6331000 0.03831190 0.00000000 0.00000000 0.00000000 7.0261400 0.23740300 0.00000000 0.00000000 0.00000000 2.1120500 0.81759200 0.00000000 0.00000000 0.00000000 0.6840090 0.00000000 1.00000000 0.00000000 0.00000000 0.2008780 0.00000000 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.9130000 1.00000000 a 8 $ OXYGEN (11s,5p) -> [4s,3p] $ OXYGEN (1d) $ OXYGEN (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 8588.5000000 0.00189515 0.00000000 0.00000000 0.00000000 0.00000000 1297.2300000 0.01438590 0.00000000 0.00000000 0.00000000 0.00000000 299.2960000 0.07073200 0.00000000 0.00000000 0.00000000 0.00000000 87.3771000 0.24000100 0.00000000 0.00000000 0.00000000 0.00000000 25.6789000 0.59479700 0.00000000 0.00000000 0.00000000 0.00000000 3.7400400 0.28080200 0.00000000 0.00000000 0.00000000 0.00000000 42.1175000 0.00000000 0.11388900 0.00000000 0.00000000 0.00000000 9.6283700 0.00000000 0.92081100 0.00000000 0.00000000 0.00000000 2.8533200 0.00000000 -0.00327447 0.00000000 0.00000000 0.00000000 0.9056610 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2556110 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 42.1175000 0.03651140 0.00000000 0.00000000 0.00000000 9.6283700 0.23715300 0.00000000 0.00000000 0.00000000 2.8533200 0.81970200 0.00000000 0.00000000 0.00000000 0.9056610 0.00000000 1.00000000 0.00000000 0.00000000 0.2556110 0.00000000 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.2920000 1.00000000 a 9 $ FLUORINE (11s,5p) -> [4s,3p] $ FLUORINE (1d) $ FLUORINE (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 11427.1000000 0.00180093 0.00000000 0.00000000 0.00000000 0.00000000 1722.3500000 0.01374190 0.00000000 0.00000000 0.00000000 0.00000000 395.7460000 0.06813340 0.00000000 0.00000000 0.00000000 0.00000000 115.1390000 0.23332500 0.00000000 0.00000000 0.00000000 0.00000000 33.6026000 0.58908600 0.00000000 0.00000000 0.00000000 0.00000000 4.9190100 0.29950500 0.00000000 0.00000000 0.00000000 0.00000000 55.4441000 0.00000000 0.11453600 0.00000000 0.00000000 0.00000000 12.6323000 0.00000000 0.92051200 0.00000000 0.00000000 0.00000000 3.7175600 0.00000000 -0.00337804 0.00000000 0.00000000 0.00000000 1.1654500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3218920 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 55.4441000 0.03546090 0.00000000 0.00000000 0.00000000 12.6323000 0.23745100 0.00000000 0.00000000 0.00000000 3.7175600 0.82045800 0.00000000 0.00000000 0.00000000 1.1654500 0.00000000 1.00000000 0.00000000 0.00000000 0.3218920 0.00000000 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.7500000 1.00000000 a 10 $ NEON (11s,5p) -> [4s,3p] $ NEON (1d) $ S-TYPE FUNCTIONS 11 4 0 13995.7000000 0.00183276 0.00000000 0.00000000 0.00000000 2117.1000000 0.01388270 0.00000000 0.00000000 0.00000000 490.4250000 0.06806870 0.00000000 0.00000000 0.00000000 143.8330000 0.23132800 0.00000000 0.00000000 0.00000000 41.9265000 0.58589000 0.00000000 0.00000000 0.00000000 6.1568400 0.30588300 0.00000000 0.00000000 0.00000000 69.1211000 0.00000000 0.01191490 0.00000000 0.00000000 15.8350000 0.00000000 0.91737500 0.00000000 0.00000000 4.6732600 0.00000000 -0.00405839 0.00000000 0.00000000 1.4575600 0.00000000 0.00000000 1.00000000 0.00000000 0.3970570 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 69.1211000 0.03565740 0.00000000 0.00000000 15.8350000 0.23947700 0.00000000 0.00000000 4.6732600 0.81846100 0.00000000 0.00000000 1.4575600 0.00000000 1.00000000 0.00000000 0.3970570 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 2.3040000 1.00000000 ergo-3.5/basis/cc-pV(6+d)Z0000664000175000017500000007645712743400275012043 00000000000000$ Basis =cc-pV(6+d)Z $ $Elements supported $ Al Si P S Cl Ar $ $ REFERENCES $Elements References $-------- ---------- $Al - Ar: T.H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys. 114, 9244 (2001) $ $******************************************************************************* a 13 $ ALUMINUM (21s,14p,6d,4f,3g,2h,1i) -> [8s,7p,6d,4f,3g,2h,1i] $ S-TYPE FUNCTIONS 21 8 0 3652000.0000 0.00000190 -0.00000050 0.00000010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 546800.00000 0.00001450 -0.00000380 0.00000090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 124500.00000 0.00007620 -0.00001980 0.00000460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35440.00000 0.00031580 -0.00008210 0.00001900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11840.00000 0.00109740 -0.00028580 0.00006590 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4434.00000000 0.00336970 -0.00087850 0.00020310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1812.00000000 0.00932220 -0.00244820 0.00056470 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 791.50000000 0.02379920 -0.00631000 0.00146200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 361.00000000 0.05681910 -0.01548540 0.00357940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 169.50000000 0.12246800 -0.03495890 0.00815160 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 81.68000000 0.22389700 -0.07077290 0.01652760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 40.28000000 0.31344600 -0.11942300 0.02854670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.25000000 0.27497500 -0.14884200 0.03614840 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.23000000 0.11056400 -0.05904650 0.01538040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.80200000 0.01192150 0.21669300 -0.06121410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.33900000 0.00065280 0.47655700 -0.15126300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.16300000 0.00047350 0.37559000 -0.22301200 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.58820000 -0.00002700 0.08665810 -0.08328640 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.23110000 0.00001760 0.00243370 0.38683000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10270000 -0.00001030 -0.00023910 0.59043200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04521000 0.00000190 0.00011980 0.21007500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 7 0 2884.00000000 0.00006380 -0.00000800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 683.20000000 0.00056310 -0.00006510 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 222.00000000 0.00316910 -0.00039990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 84.82000000 0.01324010 -0.00153690 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.81000000 0.04334030 -0.00556440 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.22000000 0.11195000 -0.01311060 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.70200000 0.21779600 -0.02972000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.74100000 0.31167500 -0.03471950 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.83100000 0.31672200 -0.05516210 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.88780000 0.17961300 -0.00216990 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.39890000 0.03151090 0.02515620 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.17180000 0.00007280 0.31722700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07298000 0.00065930 0.09778030 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03069000 -0.00014140 0.71634400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 4.24000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.85000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.74900000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.35000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.15600000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06610000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.87560000 1.00000000 0.00000000 0.00000000 0.00000000 0.44720000 0.00000000 1.00000000 0.00000000 0.00000000 0.22840000 0.00000000 0.00000000 1.00000000 0.00000000 0.11670000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 0.69520000 1.00000000 0.00000000 0.00000000 0.37710000 0.00000000 1.00000000 0.00000000 0.20460000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 0.65600000 1.00000000 0.00000000 0.33000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 1 1 0 0.53020000 1.00000000 a 14 $ SILICON (21s,14p,6d,4f,3g,2h,1i) -> [8s,7p,6d,4f,3g,2h,1i] $ S-TYPE FUNCTIONS 21 8 0 4465000.0000 0.00000170 -0.00000050 0.00000010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 668500.00000 0.00001360 -0.00000360 0.00000090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 152200.00000 0.00007140 -0.00001900 0.00000490 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43300.00000 0.00029730 -0.00007910 0.00002030 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14410.00000 0.00103830 -0.00027690 0.00007090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5394.00000000 0.00317470 -0.00084720 0.00021720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2212.00000000 0.00873240 -0.00234780 0.00060130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 968.10000000 0.02238300 -0.00607050 0.00155910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 441.20000000 0.05372730 -0.01497110 0.00384430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 207.10000000 0.11664900 -0.03397290 0.00877970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 99.80000000 0.21597800 -0.06945840 0.01803880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.24000000 0.30956600 -0.11900100 0.03152240 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24.74000000 0.28394500 -0.15364500 0.04169050 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.47000000 0.12223200 -0.07046840 0.02009730 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.79500000 0.01419520 0.21314900 -0.06674840 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.83000000 0.00031210 0.49159600 -0.18190600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.40700000 0.00061900 0.37831000 -0.26029500 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.69950000 -0.00012750 0.07575240 -0.05442000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.30830000 0.00005060 0.00158400 0.42984500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13850000 -0.00002790 0.00034350 0.57876300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06145000 0.00000540 0.00005930 0.18973500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 7 0 3572.00000000 0.00005990 -0.00001280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 846.00000000 0.00052960 -0.00011260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 274.80000000 0.00299580 -0.00064020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 105.00000000 0.01263350 -0.00270290 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 44.35000000 0.04190440 -0.00907890 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.08000000 0.11025900 -0.02423480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.53000000 0.21883100 -0.04934600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.63400000 0.31782800 -0.07258590 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.28000000 0.31942500 -0.08042580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.11600000 0.17063400 -0.02760760 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.49910000 0.02683420 0.17014800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.22540000 -0.00030200 0.41115800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10010000 0.00079320 0.42507000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04332000 -0.00011870 0.14478900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 6.82500000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.76300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.83500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.50700000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.23200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09770000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 1.35100000 1.00000000 0.00000000 0.00000000 0.00000000 0.66000000 0.00000000 1.00000000 0.00000000 0.00000000 0.32250000 0.00000000 0.00000000 1.00000000 0.00000000 0.15750000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 0.85280000 1.00000000 0.00000000 0.00000000 0.46310000 0.00000000 1.00000000 0.00000000 0.25150000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 0.85570000 1.00000000 0.00000000 0.42310000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 1 1 0 0.69460000 1.00000000 a 15 $ PHOSPHORUS (21s,14p,6d,4f,3g,2h,1i) -> [8s,7p,6d,4f,3g,2h,1i] $ S-TYPE FUNCTIONS 21 8 0 5384000.0000 0.00000160 -0.00000040 0.00000010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 806200.00000 0.00001280 -0.00000350 0.00000100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 183600.00000 0.00006720 -0.00001830 0.00000500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52250.00000 0.00027970 -0.00007590 0.00002090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17390.00000 0.00097670 -0.00026570 0.00007300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6523.00000000 0.00296840 -0.00080800 0.00022210 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2687.00000000 0.00812400 -0.00222730 0.00061220 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1178.00000000 0.02092000 -0.00578330 0.00159180 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 536.20000000 0.05055900 -0.01434380 0.00395340 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 251.50000000 0.11047900 -0.03270610 0.00905720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 121.30000000 0.20695700 -0.06737160 0.01879090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 59.88000000 0.30473700 -0.11764700 0.03338310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 30.05000000 0.29295200 -0.15728000 0.04594840 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.12000000 0.13556100 -0.08385440 0.02552400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.01000000 0.01732080 0.19971800 -0.06694960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.44100000 -0.00003520 0.49860500 -0.20364500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.71200000 0.00080330 0.38981500 -0.28722800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.83370000 -0.00024380 0.07434100 -0.03382110 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.39120000 0.00009870 0.00073800 0.45448200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.17770000 -0.00005120 0.00092760 0.56879100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07939000 0.00001010 -0.00000170 0.17859000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 7 0 4552.00000000 0.00005200 -0.00001240 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1078.00000000 0.00046040 -0.00010940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 350.10000000 0.00262080 -0.00062560 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 133.80000000 0.01118730 -0.00267340 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56.52000000 0.03782290 -0.00915520 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.58000000 0.10211600 -0.02509930 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.14000000 0.21031400 -0.05318100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.90200000 0.31738300 -0.08158880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.91000000 0.32716500 -0.09197250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.43500000 0.17768700 -0.02926680 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.65700000 0.02935800 0.18799600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.30050000 -0.00007680 0.42719100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13400000 0.00067200 0.41014600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05783000 -0.00011680 0.12646500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 9.47300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.48200000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.08800000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.69200000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.31900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 1.81600000 1.00000000 0.00000000 0.00000000 0.00000000 0.88060000 0.00000000 1.00000000 0.00000000 0.00000000 0.42700000 0.00000000 0.00000000 1.00000000 0.00000000 0.20700000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 1.06160000 1.00000000 0.00000000 0.00000000 0.57910000 0.00000000 1.00000000 0.00000000 0.31590000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 1.08500000 1.00000000 0.00000000 0.52770000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 1 1 0 0.88900000 1.00000000 a 16 $ SULFUR (21s,14p,6d,4f,3g,2h,1i) -> [8s,7p,6d,4f,3g,2h,1i] $ S-TYPE FUNCTIONS 21 8 0 6297000.0000 0.00000160 -0.00000040 0.00000010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 943100.00000 0.00001240 -0.00000340 0.00000100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 214900.00000 0.00006490 -0.00001790 0.00000520 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 61250.00000 0.00026930 -0.00007440 0.00002160 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20450.00000 0.00093470 -0.00025870 0.00007510 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7719.00000000 0.00280830 -0.00077770 0.00022580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3198.00000000 0.00767400 -0.00213960 0.00062170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1402.00000000 0.01988980 -0.00559060 0.00162510 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 637.20000000 0.04825890 -0.01390760 0.00405350 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 298.90000000 0.10575700 -0.03176890 0.00929020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 144.30000000 0.20022300 -0.06593020 0.01945610 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71.21000000 0.30072800 -0.11683200 0.03500400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.73000000 0.29868800 -0.15978700 0.04948970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.97000000 0.14634700 -0.09453220 0.03034430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.34100000 0.02011590 0.18782800 -0.06636610 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.11200000 -0.00024880 0.50468300 -0.22315400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.04500000 0.00090090 0.39954500 -0.30960900 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.97700000 -0.00031780 0.07341170 -0.01121920 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.47660000 0.00013090 -0.00010620 0.48103300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.21850000 -0.00006670 0.00140680 0.55547800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09759000 0.00001250 -0.00002880 0.16354200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 7 0 5266.00000000 0.00005230 -0.00001330 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1247.00000000 0.00046350 -0.00011790 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 405.00000000 0.00264100 -0.00067590 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 154.80000000 0.01131690 -0.00289730 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 65.38000000 0.03847040 -0.00999800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 29.59000000 0.10433900 -0.02754160 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.04000000 0.21568400 -0.05879430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.82400000 0.32526000 -0.09037610 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.36900000 0.32617800 -0.09998910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.66600000 0.16314600 -0.01097980 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.76810000 0.02389820 0.23273200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.35040000 0.00047380 0.43124900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.15560000 0.00073520 0.37518600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06681000 0.00002240 0.11372900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 11.53300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.98800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.25900000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.80400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.38000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.16000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 1.32220000 1.00000000 0.00000000 0.00000000 0.00000000 0.73190000 0.00000000 1.00000000 0.00000000 0.00000000 0.40510000 0.00000000 0.00000000 1.00000000 0.00000000 0.22430000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 1.34730000 1.00000000 0.00000000 0.00000000 0.70090000 0.00000000 1.00000000 0.00000000 0.36470000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 1.28610000 1.00000000 0.00000000 0.61150000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 1 1 0 1.04090000 1.00000000 a 17 $ CHLORINE (21s,14p,6d,4f,3g,2h,1i) -> [8s,7p,6d,4f,3g,2h,1i] $ S-TYPE FUNCTIONS 21 8 0 7733000.0000 0.00000143 -0.00000040 0.00000012 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1158000.0000 0.00001115 -0.00000312 0.00000095 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 263700.00000 0.00005859 -0.00001643 0.00000497 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75010.00000 0.00024452 -0.00006854 0.00002073 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24890.00000 0.00085829 -0.00024100 0.00007294 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9318.00000000 0.00261019 -0.00073354 0.00022190 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3840.00000000 0.00713784 -0.00201830 0.00061135 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1684.00000000 0.01845640 -0.00526107 0.00159337 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 766.30000000 0.04489440 -0.01309860 0.00398001 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 359.50000000 0.09938220 -0.03017940 0.00919375 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 173.40000000 0.19078200 -0.06318880 0.01943990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 85.61000000 0.29356500 -0.11385900 0.03551870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 42.93000000 0.30647700 -0.16125100 0.05206740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.55000000 0.16220900 -0.10923400 0.03656440 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.05000000 0.02493830 0.16299900 -0.05975000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.97800000 -0.00051314 0.50141300 -0.23164100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.47800000 0.00110241 0.42060700 -0.32984600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.18000000 -0.00043165 0.08192930 -0.01243200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.58280000 0.00017868 -0.00003297 0.49182900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.26680000 -0.00008895 0.00179023 0.55697300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11830000 0.00001662 -0.00003829 0.15849700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 7 0 6091.00000000 0.00005162 -0.00001393 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1442.00000000 0.00045847 -0.00012332 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 468.30000000 0.00261509 -0.00070755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 179.00000000 0.01125540 -0.00304939 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.61000000 0.03845770 -0.01057520 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.22000000 0.10508100 -0.02940940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.23000000 0.21860300 -0.06322960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.89000000 0.33087400 -0.09818700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.89800000 0.32587900 -0.10587000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.93300000 0.15315900 0.00322887 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.90570000 0.02109100 0.25830600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.41400000 0.00106795 0.43332600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.18360000 0.00082313 0.35450800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07859000 0.00012624 0.10318900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 14.77200000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.82000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.58300000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.03600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.48800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.20300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 2.53270000 1.00000000 0.00000000 0.00000000 0.00000000 1.24060000 0.00000000 1.00000000 0.00000000 0.00000000 0.60770000 0.00000000 0.00000000 1.00000000 0.00000000 0.29770000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 1.53880000 1.00000000 0.00000000 0.00000000 0.80500000 0.00000000 1.00000000 0.00000000 0.42120000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 1.56130000 1.00000000 0.00000000 0.73970000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 1 1 0 1.25720000 1.00000000 a 18 $ ARGON (21s,14p,6d,4f,3g,2h,1i) -> [8s,7p,6d,4f,3g,2h,1i] $ S-TYPE FUNCTIONS 21 8 0 9149000.0000 0.00000130 -0.00000040 0.00000010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1370000.0000 0.00001040 -0.00000300 0.00000090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 311900.00000 0.00005490 -0.00001560 0.00000490 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 88650.00000 0.00022960 -0.00006520 0.00002040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 29330.00000 0.00081030 -0.00023040 0.00007200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10930.00000 0.00248530 -0.00070750 0.00022100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4480.00000000 0.00683690 -0.00195730 0.00061250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1962.00000000 0.01761990 -0.00508560 0.00159080 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 894.10000000 0.04287520 -0.01265280 0.00397220 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 419.60000000 0.09548530 -0.02930650 0.00922040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 202.30000000 0.18506400 -0.06177120 0.01963670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 99.84000000 0.28904200 -0.11254100 0.03625700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 50.07000000 0.31016600 -0.16229300 0.05417250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.14000000 0.17218300 -0.11841200 0.04099960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.81000000 0.02852270 0.14614800 -0.05517440 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.88200000 -0.00057570 0.49775200 -0.23875400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.93900000 0.00118120 0.43424000 -0.34526400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.40500000 -0.00048050 0.08907450 -0.01223840 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.69630000 0.00018880 0.00053810 0.49973700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.31880000 -0.00009730 0.00204040 0.55688900 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14100000 0.00001740 -0.00002800 0.15554200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 7 0 7050.00000000 0.00005020 -0.00001400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1669.00000000 0.00044540 -0.00012430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 542.10000000 0.00254800 -0.00071470 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 207.10000000 0.01101550 -0.00309680 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 87.52000000 0.03784900 -0.01079610 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 39.61000000 0.10435500 -0.03035360 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.78000000 0.21933500 -0.06597850 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.13000000 0.33461500 -0.10387700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.51600000 0.32677100 -0.10995600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.24500000 0.14815300 0.01332480 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.06500000 0.01925860 0.27428600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.48850000 0.00055190 0.43493600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.21660000 0.00017690 0.34097700 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09255000 -0.00001690 0.09506840 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 17.74300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.58000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.88900000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.25200000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.59400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.24700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 3.05820000 1.00000000 0.00000000 0.00000000 0.00000000 1.52920000 0.00000000 1.00000000 0.00000000 0.00000000 0.76470000 0.00000000 0.00000000 1.00000000 0.00000000 0.38240000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 1.84500000 1.00000000 0.00000000 0.00000000 0.96570000 0.00000000 1.00000000 0.00000000 0.50550000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 1.87430000 1.00000000 0.00000000 0.88710000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 1 1 0 1.50660000 1.00000000 ergo-3.5/basis/cc-pV(T+d)Z0000664000175000017500000003157312743400275012067 00000000000000$ Basis = cc-pV(T+d)Z $ $Elements supported $ Al Si P S Cl Ar $ $ REFERENCES $Elements References $-------- ---------- $Al - Ar: T.H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys. 114, 9244 (2001) $ $******************************************************************************* a 13 $ ALUMINUM (15s,9p,3d,1f) -> [5s,4p,3d,1f] $ S-TYPE FUNCTIONS 15 5 0 205500.00000 0.00006788 -0.00001764 0.00000407 0.00000000 0.00000000 30780.00000 0.00052715 -0.00013720 0.00003166 0.00000000 0.00000000 7006.00000000 0.00276203 -0.00071891 0.00016612 0.00000000 0.00000000 1985.00000000 0.01147280 -0.00301146 0.00069499 0.00000000 0.00000000 649.10000000 0.03981880 -0.01060140 0.00245511 0.00000000 0.00000000 235.00000000 0.11504000 -0.03213450 0.00744598 0.00000000 0.00000000 91.62000000 0.26088700 -0.08031560 0.01882530 0.00000000 0.00000000 37.67000000 0.39638600 -0.15679400 0.03727720 0.00000000 0.00000000 15.91000000 0.28459700 -0.16837600 0.04194960 0.00000000 0.00000000 5.85000000 0.04445830 0.12687900 -0.03543750 0.00000000 0.00000000 2.54200000 -0.00489838 0.56149400 -0.17513200 0.00000000 0.00000000 1.05700000 0.00261253 0.43661300 -0.27620300 0.00000000 0.00000000 0.29310000 -0.00108915 0.03572930 0.10872900 1.00000000 0.00000000 0.14550000 0.00072207 -0.01145630 0.65280900 0.00000000 0.00000000 0.05650000 -0.00017849 0.00220201 0.39458700 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 444.40000000 0.00162786 -0.00028634 0.00000000 0.00000000 105.10000000 0.01306870 -0.00242308 0.00000000 0.00000000 33.47000000 0.06123410 -0.01086580 0.00000000 0.00000000 12.33000000 0.18787000 -0.03643070 0.00000000 0.00000000 4.86900000 0.36045200 -0.06410740 0.00000000 0.00000000 1.96100000 0.40845400 -0.09722390 0.00000000 0.00000000 0.78340000 0.18864000 0.01474370 1.00000000 0.00000000 0.18880000 0.00976514 0.50344800 0.00000000 0.00000000 0.05557000 -0.00115057 0.59798400 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.57000000 1.00000000 0.00000000 0.00000000 0.33300000 0.00000000 1.00000000 0.00000000 0.11100000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.24400000 1.00000000 a 14 $ SILICON (15s,9p,3d,1f) -> [5s,4p,3d,1f] $ S-TYPE FUNCTIONS 15 5 0 254900.00000 0.00006251 -0.00001664 0.00000426 0.00000000 0.00000000 38190.00000 0.00048555 -0.00012931 0.00003311 0.00000000 0.00000000 8690.00000000 0.00254516 -0.00067883 0.00017401 0.00000000 0.00000000 2462.00000000 0.01058660 -0.00284117 0.00072757 0.00000000 0.00000000 804.80000000 0.03687870 -0.01005510 0.00258333 0.00000000 0.00000000 291.30000000 0.10747900 -0.03057740 0.00786354 0.00000000 0.00000000 113.60000000 0.24793600 -0.07772560 0.02021550 0.00000000 0.00000000 46.75000000 0.39092700 -0.15423600 0.04073200 0.00000000 0.00000000 19.82000000 0.30202600 -0.18036800 0.04993580 0.00000000 0.00000000 7.70800000 0.05592360 0.07982180 -0.02493960 0.00000000 0.00000000 3.34000000 -0.00402406 0.54744100 -0.19035000 0.00000000 0.00000000 1.40200000 0.00258030 0.48011900 -0.31835000 0.00000000 0.00000000 0.43870000 -0.00103821 0.04748460 0.09480360 1.00000000 0.00000000 0.20700000 0.00060793 -0.01069960 0.68118000 0.00000000 0.00000000 0.07944000 -0.00015402 0.00219871 0.39567200 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 481.50000000 0.00192045 -0.00040522 0.00000000 0.00000000 113.90000000 0.01535520 -0.00335896 0.00000000 0.00000000 36.23000000 0.07139910 -0.01528600 0.00000000 0.00000000 13.34000000 0.21305200 -0.04892180 0.00000000 0.00000000 5.25200000 0.39035400 -0.08550080 0.00000000 0.00000000 2.12000000 0.39372100 -0.11213700 0.00000000 0.00000000 0.85610000 0.13256500 0.06182740 1.00000000 0.00000000 0.25280000 0.00395630 0.55191900 0.00000000 0.00000000 0.07889000 0.00033162 0.52349200 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.30300000 1.00000000 0.00000000 0.00000000 0.47600000 0.00000000 1.00000000 0.00000000 0.16000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.33600000 1.00000000 a 15 $ PHOSPHORUS (15s,9p,3d,1f) -> [5s,4p,3d,1f] $ S-TYPE FUNCTIONS 15 5 0 312400.00000 0.00005770 -0.00001567 0.00000431 0.00000000 0.00000000 46800.00000 0.00044830 -0.00012172 0.00003342 0.00000000 0.00000000 10650.00000 0.00234939 -0.00063967 0.00017589 0.00000000 0.00000000 3018.00000000 0.00978265 -0.00267426 0.00073434 0.00000000 0.00000000 986.80000000 0.03414670 -0.00949831 0.00261775 0.00000000 0.00000000 357.40000000 0.10020400 -0.02893490 0.00797852 0.00000000 0.00000000 139.60000000 0.23437200 -0.07451210 0.02079400 0.00000000 0.00000000 57.63000000 0.38243400 -0.14993800 0.04244460 0.00000000 0.00000000 24.60000000 0.31808800 -0.18946700 0.05634360 0.00000000 0.00000000 10.12000000 0.07077880 0.03632700 -0.01273580 0.00000000 0.00000000 4.28300000 -0.00181799 0.52881600 -0.19649500 0.00000000 0.00000000 1.80500000 0.00216180 0.51911500 -0.35355500 0.00000000 0.00000000 0.61580000 -0.00083474 0.06055470 0.07414070 1.00000000 0.00000000 0.27820000 0.00043230 -0.00925695 0.70091200 0.00000000 0.00000000 0.10550000 -0.00011425 0.00210372 0.40473900 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 504.90000000 0.00233728 -0.00055524 0.00000000 0.00000000 119.40000000 0.01854100 -0.00445913 0.00000000 0.00000000 37.96000000 0.08496930 -0.02063500 0.00000000 0.00000000 13.95000000 0.24461500 -0.06176940 0.00000000 0.00000000 5.45700000 0.42276600 -0.10892400 0.00000000 0.00000000 2.17700000 0.36843900 -0.10559900 0.00000000 0.00000000 0.80100000 0.07727340 0.15348300 1.00000000 0.00000000 0.28770000 -0.00379005 0.57698100 0.00000000 0.00000000 0.09714000 0.00159939 0.42243900 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.12000000 1.00000000 0.00000000 0.00000000 0.64800000 0.00000000 1.00000000 0.00000000 0.21800000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.45200000 1.00000000 a 16 $ SULFUR (15s,9p,3d,1f) -> [5s,4p,3d,1f] $ S-TYPE FUNCTIONS 15 5 0 374100.00000 0.00005421 -0.00001498 0.00000435 0.00000000 0.00000000 56050.00000 0.00042085 -0.00011620 0.00003371 0.00000000 0.00000000 12760.00000 0.00220698 -0.00061158 0.00017767 0.00000000 0.00000000 3615.00000000 0.00919258 -0.00255370 0.00074112 0.00000000 0.00000000 1183.00000000 0.03211230 -0.00908708 0.00264591 0.00000000 0.00000000 428.80000000 0.09466830 -0.02770450 0.00807487 0.00000000 0.00000000 167.80000000 0.22363000 -0.07200200 0.02122760 0.00000000 0.00000000 69.47000000 0.37439300 -0.14643900 0.04383230 0.00000000 0.00000000 29.84000000 0.32910800 -0.19515000 0.06127160 0.00000000 0.00000000 12.72000000 0.08470380 0.00819193 -0.00361510 0.00000000 0.00000000 5.24400000 0.00044085 0.51660100 -0.20451000 0.00000000 0.00000000 2.21900000 0.00164827 0.54217800 -0.38187100 0.00000000 0.00000000 0.77670000 -0.00062233 0.06884300 0.08268440 1.00000000 0.00000000 0.34900000 0.00030131 -0.00918072 0.71414700 0.00000000 0.00000000 0.13220000 -0.00008413 0.00226832 0.39379100 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 574.40000000 0.00242264 -0.00062010 0.00000000 0.00000000 135.80000000 0.01927960 -0.00493882 0.00000000 0.00000000 43.19000000 0.08854010 -0.02326470 0.00000000 0.00000000 15.87000000 0.25465400 -0.06851950 0.00000000 0.00000000 6.20800000 0.43398400 -0.12389600 0.00000000 0.00000000 2.48300000 0.35495300 -0.09694990 0.00000000 0.00000000 0.86880000 0.06189410 0.22821500 1.00000000 0.00000000 0.32290000 -0.00502977 0.56939400 0.00000000 0.00000000 0.10980000 0.00209813 0.36630200 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.75600000 1.00000000 0.00000000 0.00000000 0.81200000 0.00000000 1.00000000 0.00000000 0.27300000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.55700000 1.00000000 a 17 $ CHLORINE (15s,9p,3d,1f) -> [5s,4p,3d,1f] $ S-TYPE FUNCTIONS 15 5 0 456100.00000 0.00004930 -0.00001383 0.00000419 0.00000000 0.00000000 68330.00000 0.00038303 -0.00010728 0.00003244 0.00000000 0.00000000 15550.00000 0.00200854 -0.00056508 0.00017111 0.00000000 0.00000000 4405.00000000 0.00838558 -0.00236135 0.00071418 0.00000000 0.00000000 1439.00000000 0.02947030 -0.00845886 0.00256705 0.00000000 0.00000000 520.40000000 0.08783250 -0.02596380 0.00788552 0.00000000 0.00000000 203.10000000 0.21147300 -0.06863620 0.02108670 0.00000000 0.00000000 83.96000000 0.36536400 -0.14187400 0.04422640 0.00000000 0.00000000 36.20000000 0.34088400 -0.19931900 0.06516700 0.00000000 0.00000000 15.83000000 0.10213300 -0.01956620 0.00603012 0.00000000 0.00000000 6.33400000 0.00311675 0.49974100 -0.20649500 0.00000000 0.00000000 2.69400000 0.00105751 0.56373600 -0.40587100 0.00000000 0.00000000 0.97680000 -0.00037800 0.07903250 0.07595580 1.00000000 0.00000000 0.43130000 0.00015614 -0.00835091 0.72566100 0.00000000 0.00000000 0.16250000 -0.00005141 0.00232456 0.39442300 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 663.30000000 0.00240448 -0.00065215 0.00000000 0.00000000 156.80000000 0.01921480 -0.00519445 0.00000000 0.00000000 49.98000000 0.08850970 -0.02469380 0.00000000 0.00000000 18.42000000 0.25602000 -0.07281670 0.00000000 0.00000000 7.24000000 0.43692700 -0.13403000 0.00000000 0.00000000 2.92200000 0.35033400 -0.09477420 0.00000000 0.00000000 1.02200000 0.05854950 0.26228900 1.00000000 0.00000000 0.38180000 -0.00458423 0.56466700 0.00000000 0.00000000 0.13010000 0.00226970 0.34125000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 4.61000000 1.00000000 0.00000000 0.00000000 1.01100000 0.00000000 1.00000000 0.00000000 0.33900000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.70600000 1.00000000 a 18 $ ARGON (15s,9p,3d,1f) -> [5s,4p,3d,1f] $ S-TYPE FUNCTIONS 15 5 0 545000.00000 0.00004558 -0.00001296 0.00000405 0.00000000 0.00000000 81640.00000 0.00035411 -0.00010043 0.00003137 0.00000000 0.00000000 18580.00000 0.00185797 -0.00052958 0.00016565 0.00000000 0.00000000 5261.00000000 0.00776851 -0.00221396 0.00069166 0.00000000 0.00000000 1717.00000000 0.02742320 -0.00796845 0.00249790 0.00000000 0.00000000 619.90000000 0.08238360 -0.02458030 0.00771074 0.00000000 0.00000000 241.60000000 0.20123000 -0.06577980 0.02087140 0.00000000 0.00000000 99.79000000 0.35678100 -0.13794200 0.04439650 0.00000000 0.00000000 43.15000000 0.34956300 -0.20163000 0.06802240 0.00000000 0.00000000 19.14000000 0.11826600 -0.04128340 0.01413500 0.00000000 0.00000000 7.48800000 0.00560190 0.48468000 -0.20748900 0.00000000 0.00000000 3.20500000 0.00048347 0.57922400 -0.42504500 0.00000000 0.00000000 1.19600000 -0.00014809 0.08790830 0.07048550 1.00000000 0.00000000 0.52040000 0.00002920 -0.00727553 0.73362700 0.00000000 0.00000000 0.19540000 -0.00002316 0.00232884 0.39600500 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 761.80000000 0.00236976 -0.00066721 0.00000000 0.00000000 180.20000000 0.01901990 -0.00532717 0.00000000 0.00000000 57.50000000 0.08808070 -0.02554940 0.00000000 0.00000000 21.24000000 0.25637700 -0.07571970 0.00000000 0.00000000 8.38800000 0.43871100 -0.14113300 0.00000000 0.00000000 3.41600000 0.34756900 -0.09327680 0.00000000 0.00000000 1.20600000 0.05667400 0.28287200 1.00000000 0.00000000 0.45230000 -0.00523882 0.56245000 0.00000000 0.00000000 0.15450000 0.00164376 0.32505900 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 5.55100000 1.00000000 0.00000000 0.00000000 1.23500000 0.00000000 1.00000000 0.00000000 0.41200000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.89000000 1.00000000 ergo-3.5/basis/cc-pwCV5Z0000664000175000017500000023267512743400275011770 00000000000000$Basis = cc-pwCV5Z $ $Elements supported $ H He B C N O F Ne Al Si P S Cl Ar $Elements References $-------- ---------- $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ Polarization and/or diffuse functions $Elements References $-------- ---------- $B - Ne: K.A. Peterson and T.H. Dunning, Jr. J. Chem. Phys. 117, 10548 (2002) $Al - Ar: $ ************************************************************************ a 1 $ HYDROGEN (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 8 5 0 402.0000000 0.00027900 0.00000000 0.00000000 0.00000000 0.00000000 60.2400000 0.00216500 0.00000000 0.00000000 0.00000000 0.00000000 13.7300000 0.01120100 0.00000000 0.00000000 0.00000000 0.00000000 3.9050000 0.04487800 0.00000000 0.00000000 0.00000000 0.00000000 1.2830000 0.14229900 1.00000000 0.00000000 0.00000000 0.00000000 0.4655000 0.33097900 0.00000000 1.00000000 0.00000000 0.00000000 0.1811000 0.43626900 0.00000000 0.00000000 1.00000000 0.00000000 0.0727900 0.17644000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 4 0 4.5160000 1.00000000 0.00000000 0.00000000 0.00000000 1.7120000 0.00000000 1.00000000 0.00000000 0.00000000 0.6490000 0.00000000 0.00000000 1.00000000 0.00000000 0.2460000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.9500000 1.00000000 0.00000000 0.00000000 1.2060000 0.00000000 1.00000000 0.00000000 0.4930000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 2.5060000 1.00000000 0.00000000 0.8750000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.3580000 1.00000000 a 2 $ HELIUM (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 8 5 0 1145.0000000 0.00035900 0.00000000 0.00000000 0.00000000 0.00000000 171.7000000 0.00277100 0.00000000 0.00000000 0.00000000 0.00000000 39.0700000 0.01425100 0.00000000 0.00000000 0.00000000 0.00000000 11.0400000 0.05556600 0.00000000 0.00000000 0.00000000 0.00000000 3.5660000 0.16209100 1.00000000 0.00000000 0.00000000 0.00000000 1.2405000 0.33219700 0.00000000 1.00000000 0.00000000 0.00000000 0.4473000 0.41961500 0.00000000 0.00000000 1.00000000 0.00000000 0.1640000 0.18612800 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 4 0 10.1530000 1.00000000 0.00000000 0.00000000 0.00000000 3.6270000 0.00000000 1.00000000 0.00000000 0.00000000 1.2960000 0.00000000 0.00000000 1.00000000 0.00000000 0.4630000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 7.6660000 1.00000000 0.00000000 0.00000000 2.6470000 0.00000000 1.00000000 0.00000000 0.9140000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 5.4110000 1.00000000 0.00000000 1.7070000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 3.4300000 1.00000000 a 5 $ BORON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ BORON Tight (4s,4p,3d,2f,1g) $ S-TYPE FUNCTIONS 18 10 0 68260.00000 0.00002400 -0.00000500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10230.00000 0.00018500 -0.00003700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2328.00000000 0.00097000 -0.00019600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 660.40000000 0.00405600 -0.00082400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 216.20000000 0.01439900 -0.00292300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 78.60000000 0.04390100 -0.00913800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 30.98000000 0.11305700 -0.02410500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.96000000 0.23382500 -0.05475500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.65900000 0.35396000 -0.09694300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.55600000 0.30154700 -0.13748500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.17500000 0.08752100 -0.04456500 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.42490000 0.00281900 0.32434500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.17120000 0.00004300 0.57041400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.06913000 0.00007800 0.24344400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.81400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 12.89400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 28.59500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 63.41900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 9 0 66.44000000 0.00083800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.71000000 0.00640900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.93600000 0.02808100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.77000000 0.09215200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.70080000 0.22416400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.29010000 0.36991500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.12110000 0.37444100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.04973000 0.13908600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.97400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 10.27200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 26.54800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 68.61300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 2.01000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.79600000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.31600000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.12500000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 4.95500000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 14.67100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 43.43700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 1.21500000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.52500000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.22700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.29200000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 20.45000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 1.12400000 1.00000000 0.00000000 0.00000000 0.46100000 0.00000000 1.00000000 0.00000000 4.38800000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.83400000 1.00000000 a 6 $ CARBON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ CARBON Tight (4s,4p,3d,2f,1g) $ S-TYPE FUNCTIONS 18 10 0 96770.00000 0.00002500 -0.00000500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14500.00000 0.00019000 -0.00004100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3300.00000000 0.00100000 -0.00021300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 935.80000000 0.00418300 -0.00089700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 306.20000000 0.01485900 -0.00318700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 111.30000000 0.04530100 -0.00996100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.90000000 0.11650400 -0.02637500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.40000000 0.24024900 -0.06000100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.05400000 0.35879900 -0.10682500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.63700000 0.29394100 -0.14416600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.65600000 0.07766500 -0.02464420 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.63330000 0.00233300 0.34900900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.25450000 0.00050500 0.55873700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.10190000 0.00003000 0.22810200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.96700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 17.45200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 38.22600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 83.73100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 9 0 101.80000000 0.00089100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24.04000000 0.00697600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.57100000 0.03166900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.73200000 0.10400600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.08500000 0.24163300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.44960000 0.37194600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.18760000 0.35420000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07606000 0.13156800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.08000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 15.35800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 38.79900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 98.01700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 3.13400000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.23300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.48500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.19100000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 7.59100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 21.41900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 60.43900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 2.00600000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.83800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.35000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 6.69800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 24.39800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 1.75300000 1.00000000 0.00000000 0.00000000 0.67800000 0.00000000 1.00000000 0.00000000 7.31100000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 1.25900000 1.00000000 a 7 $ NITROGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ NITROGEN Tight (4s,4p,3d,2f,1g) $ S-TYPE FUNCTIONS 18 10 0 129200.00000 0.00002500 -0.00000600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19350.00000 0.00019700 -0.00004300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4404.00000000 0.00103200 -0.00022700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1248.00000000 0.00432500 -0.00095800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 408.00000000 0.01538000 -0.00341600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 148.20000000 0.04686700 -0.01066700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 58.50000000 0.12011600 -0.02827900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24.59000000 0.24569500 -0.06402000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.81000000 0.36137900 -0.11393200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.88200000 0.28728300 -0.14699500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.19500000 0.07017100 -0.00725100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.87150000 0.00183100 0.36618300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.35040000 0.00083500 0.54790800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.13970000 -0.00000600 0.21664500 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.42200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 22.59600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 48.99300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 106.22600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 9 0 147.00000000 0.00089200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.76000000 0.00708200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.00000000 0.03281600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.99500000 0.10820900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.58700000 0.24809400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.65330000 0.37451300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.26860000 0.34841400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.10670000 0.12834000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.76600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 21.67600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 53.60000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 132.54400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 4.64700000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.81300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.70700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.27600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 11.01600000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 29.80600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 80.64300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 2.94200000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.20400000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.49300000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 9.48600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 30.75200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 2.51100000 1.00000000 0.00000000 0.00000000 0.94200000 0.00000000 1.00000000 0.00000000 10.83500000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 1.76800000 1.00000000 a 8 $ OXYGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ OXYGEN Tight (4s,4p,3d,2f,1g) $ S-TYPE FUNCTIONS 18 10 0 164200.00000 0.00002600 -0.00000600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24590.00000 0.00020500 -0.00004600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5592.00000000 0.00107600 -0.00024400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1582.00000000 0.00452200 -0.00103100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 516.10000000 0.01610800 -0.00368800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 187.20000000 0.04908500 -0.01151400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 73.93000000 0.12485700 -0.03043500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.22000000 0.25168600 -0.06814700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.81000000 0.36242000 -0.12036800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.25600000 0.27905100 -0.14826000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.77600000 0.06355200 0.00990500 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.13800000 0.00106300 0.38428600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.46000000 0.00114400 0.53680500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.18290000 -0.00004000 0.20268700 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.94100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 28.20000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 61.44900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 133.90000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 9 0 195.50000000 0.00091800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.16000000 0.00738800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.58000000 0.03495800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.29600000 0.11543100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.09400000 0.25680300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.84710000 0.37393800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.33680000 0.34344700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.12850000 0.12970600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.56000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 28.32100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 69.38700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 169.99800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 5.87900000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.30700000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.90500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.35500000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 14.00800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 37.24500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 99.02600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 4.01600000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.55400000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.60100000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 12.65300000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 38.73700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 3.35000000 1.00000000 0.00000000 0.00000000 1.18900000 0.00000000 1.00000000 0.00000000 14.88600000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 2.31900000 1.00000000 a 9 $ FLUORINE (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ FLUORINE Tight (4s,4p,3d,2f,1g) $ S-TYPE FUNCTIONS 18 10 0 211400.00000 0.00002600 -0.00000600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31660.00000 0.00020100 -0.00004700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7202.00000000 0.00105600 -0.00024400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2040.00000000 0.00443200 -0.00103100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 666.40000000 0.01576600 -0.00368300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 242.00000000 0.04811200 -0.01151300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 95.53000000 0.12323200 -0.03066300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 40.23000000 0.25151900 -0.06957200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.72000000 0.36452500 -0.12399200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.00500000 0.27976600 -0.15021400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.53800000 0.06354500 0.01646000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.45800000 0.00111100 0.39255000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.58870000 0.00125800 0.53216400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.23240000 -0.00003500 0.19652400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.24900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 35.03300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 75.53100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 162.84500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 9 0 241.90000000 0.00100200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 57.17000000 0.00805400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.13000000 0.03804800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.62400000 0.12377900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.62200000 0.26606000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.05700000 0.37179600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.41760000 0.33289000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.15740000 0.12849100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.54700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 35.38000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 86.05100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 209.29300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 7.76000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.03200000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.18500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.46300000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 18.33300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 47.63400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 123.77100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 5.39800000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.07800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.80000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 16.64600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 49.41300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 4.33800000 1.00000000 0.00000000 0.00000000 1.51300000 0.00000000 1.00000000 0.00000000 19.60900000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 2.99500000 1.00000000 a 10 $ NEON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ NEON Tight (4s,4p,3d,2f,1g) $ S-TYPE FUNCTIONS 18 10 0 262700.00000 0.00002600 -0.00000600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 39350.00000 0.00020000 -0.00004700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8955.00000000 0.00105000 -0.00024700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2538.00000000 0.00440000 -0.00103800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 829.90000000 0.01564900 -0.00371100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 301.50000000 0.04775800 -0.01159300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 119.00000000 0.12294300 -0.03108600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 50.00000000 0.25248300 -0.07097200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.98000000 0.36631400 -0.12726600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.89100000 0.27961700 -0.15123100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.32700000 0.06165100 0.02466600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.80400000 0.00093400 0.39961200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.72880000 0.00136700 0.52661600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.28670000 -0.00003800 0.19085400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19.85600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 42.54100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 91.13900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 195.25600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 9 0 299.10000000 0.00103800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 70.73000000 0.00837500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.48000000 0.03969300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.24600000 0.12805600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.26900000 0.27032500 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.31500000 0.37096300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.51580000 0.32849900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.19180000 0.12758800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.09300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 43.46900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 104.43800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 250.91900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 9.83700000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.84400000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.50200000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.58700000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 23.11500000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 58.98300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 150.50800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 7.09000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.73800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.05700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 21.46000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 62.36800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 5.46000000 1.00000000 0.00000000 0.00000000 1.88000000 0.00000000 1.00000000 0.00000000 24.97300000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 3.77600000 1.00000000 a 13 $ ALUMINUM (20s,12p,4d,3f,2g,1h) -> [11s,10p,4d,3f,2g,1h] $ ALUMINUM Tight (4d,3f,2g,1h) $ S-TYPE FUNCTIONS 20 11 0 3269000.0000 0.00000214 -0.00000056 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 489400.00000 0.00001663 -0.00000432 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 111400.00000 0.00008752 -0.00002274 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31560.00000 0.00036899 -0.00009601 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10320.00000 0.00133903 -0.00034838 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3731.00000000 0.00435636 -0.00113836 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1456.00000000 0.01289550 -0.00338744 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 604.10000000 0.03482010 -0.00931505 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 263.50000000 0.08435300 -0.02330230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 119.80000000 0.17590700 -0.05234860 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56.32000000 0.29209100 -0.09994990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 27.19000000 0.32822000 -0.15056000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.26000000 0.18692700 -0.11912100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.05200000 0.03104300 0.10809100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.98100000 -0.00050892 0.41112900 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.47600000 0.00148836 0.45721400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.73340000 -0.00027824 0.17593800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.24470000 0.00011875 0.00770610 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10880000 -0.00006615 -0.00166168 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04672000 0.00001760 0.00044535 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 10 0 1461.00000000 0.00020861 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 346.20000000 0.00181005 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 112.20000000 0.00973433 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 42.51000000 0.03782660 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.72000000 0.11089800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.85200000 0.23429500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.57100000 0.34524500 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.63700000 0.33143000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.73820000 0.14706400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.25770000 0.01214110 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09773000 -0.00087164 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03690000 0.00043796 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 8 0 1.31700000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.52600000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.21000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.08400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.58900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 5.43600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 11.41500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 23.97300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 0.13000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.25800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.51300000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.50200000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.97400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 10.51300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 0.25200000 1.00000000 0.00000000 0.00000000 0.00000000 0.54300000 0.00000000 1.00000000 0.00000000 0.00000000 1.74600000 0.00000000 0.00000000 1.00000000 0.00000000 9.00600000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 0.44600000 1.00000000 0.00000000 1.83000000 0.00000000 1.00000000 a 14 $ SILICON (20s,12p,4d,3f,2g,1h) -> [11s,10p,4d,3f,2g,1h] $ SILICON Tight (4d,3f,2g,1h) $ S-TYPE FUNCTIONS 20 11 0 3948000.0000 0.00000204 -0.00000054 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 591100.00000 0.00001584 -0.00000422 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 134500.00000 0.00008336 -0.00002218 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38120.00000 0.00035136 -0.00009360 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12460.00000 0.00127660 -0.00034012 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4504.00000000 0.00415191 -0.00111061 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1758.00000000 0.01230300 -0.00330878 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 729.10000000 0.03331020 -0.00911602 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 318.00000000 0.08098450 -0.02287900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 144.60000000 0.17029000 -0.05171190 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 67.97000000 0.28687900 -0.09990910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.82000000 0.33034000 -0.15274700 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.03000000 0.19660200 -0.12750800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.39600000 0.03545350 0.09469630 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.66100000 -0.00053520 0.41403600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.82300000 0.00161465 0.46793400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.91470000 -0.00037274 0.17392700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.33930000 0.00014623 0.00843895 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.15000000 -0.00007894 -0.00099807 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06438000 0.00001928 0.00036210 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 10 0 1780.00000000 0.00020121 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 421.80000000 0.00174937 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 136.70000000 0.00948141 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.81000000 0.03723130 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.60000000 0.11076300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.56300000 0.23793300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.35000000 0.35369100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.00600000 0.32883900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.92050000 0.13237300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.35000000 0.01033000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13810000 -0.00015030 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05338000 0.00026581 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 8 0 0.12600000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.32100000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.81700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.08200000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.73400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 6.05700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 13.42000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 29.73200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 0.16900000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.34100000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.68800000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.94500000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 5.10100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 13.38100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 0.32000000 1.00000000 0.00000000 0.00000000 0.00000000 0.70500000 0.00000000 1.00000000 0.00000000 0.00000000 2.16100000 0.00000000 0.00000000 1.00000000 0.00000000 11.43500000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 0.58300000 1.00000000 0.00000000 2.22500000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (20s,12p,4d,3f,2g,1h) -> [11s,10p,4d,3f,2g,1h] $ PHOSPHORUS Tight (4d,3f,2g,1h) $ S-TYPE FUNCTIONS 20 11 0 4666000.0000 0.00000197 -0.00000053 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 698600.00000 0.00001530 -0.00000415 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 159000.00000 0.00008048 -0.00002185 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 45040.00000 0.00033974 -0.00009233 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14720.00000 0.00123291 -0.00033511 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5323.00000000 0.00401345 -0.00109508 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2076.00000000 0.01191240 -0.00326798 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 861.10000000 0.03225110 -0.00899951 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 375.70000000 0.07866430 -0.02265280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 170.80000000 0.16645800 -0.05146500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 80.29000000 0.28303900 -0.10018600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.77000000 0.33194200 -0.15507500 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.93000000 0.20335200 -0.13381800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.79600000 0.03831830 0.08783610 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.35800000 -0.00038472 0.42258100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.17400000 0.00158744 0.47489900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.09500000 -0.00041338 0.16500200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.44000000 0.00015284 0.00846862 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.19450000 -0.00008270 -0.00029176 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08376000 0.00001841 0.00028534 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 10 0 2010.00000000 0.00021592 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 476.30000000 0.00187536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 154.40000000 0.01017420 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 58.51000000 0.03998560 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24.40000000 0.11856300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.80000000 0.25181600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.91300000 0.36656500 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.26900000 0.31617700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.04300000 0.10470000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.43130000 0.00609862 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.17670000 0.00050208 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07009000 -0.00002956 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 8 0 0.16600000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.41800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.05400000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.65600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.53500000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 7.75900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 17.03100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 37.38600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 0.21900000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.45000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.92300000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.50400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 6.52700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 17.01000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 0.41200000 1.00000000 0.00000000 0.00000000 0.00000000 0.90300000 0.00000000 1.00000000 0.00000000 0.00000000 2.65400000 0.00000000 0.00000000 1.00000000 0.00000000 14.13400000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 0.74500000 1.00000000 0.00000000 2.70400000 0.00000000 1.00000000 a 16 $ SULFUR (20s,12p,4d,3f,2g,1h) -> [11s,10p,4d,3f,2g,1h] $ SULFUR Tight (4d,3f,2g,1h) $ S-TYPE FUNCTIONS 20 11 0 5481000.0000 0.00000189 -0.00000052 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 820600.00000 0.00001472 -0.00000407 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 186700.00000 0.00007751 -0.00002141 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52880.00000 0.00032722 -0.00009045 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17250.00000 0.00119365 -0.00033008 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6226.00000000 0.00388393 -0.00107782 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2429.00000000 0.01153360 -0.00321874 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1007.00000000 0.03127480 -0.00887217 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 439.50000000 0.07643870 -0.02237710 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 199.80000000 0.16270000 -0.05105770 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 93.92000000 0.27932800 -0.10022500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 45.34000000 0.33314500 -0.15679500 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.15000000 0.20983600 -0.13974800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.34000000 0.04159740 0.08100590 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.11900000 -0.00045055 0.43088300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.55300000 0.00168855 0.48168800 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.28200000 -0.00051724 0.15686200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.54500000 0.00018877 0.00788814 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.24110000 -0.00009977 0.00039353 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10350000 0.00002090 0.00022376 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 10 0 2200.00000000 0.00023905 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 521.40000000 0.00207686 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 169.00000000 0.01123630 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 64.05000000 0.04406900 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.72000000 0.12916800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.83000000 0.26908300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.37800000 0.37861100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.48200000 0.29677900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.11600000 0.07796760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.48480000 0.00205193 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.20060000 0.00143602 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07951000 -0.00005960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 8 0 0.20500000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.51200000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.28100000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.20300000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.49000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 9.71300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 21.01300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 45.45800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 0.25500000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.52900000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.09600000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.99800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 7.83700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 20.48500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 0.46300000 1.00000000 0.00000000 0.00000000 0.00000000 1.07100000 0.00000000 1.00000000 0.00000000 0.00000000 3.15400000 0.00000000 0.00000000 1.00000000 0.00000000 17.10100000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 0.87200000 1.00000000 0.00000000 3.23100000 0.00000000 1.00000000 a 17 $ CHLORINE (20s,12p,4d,3f,2g,1h) -> [11s,10p,4d,3f,2g,1h] $ CHLORINE Tight (4d,3f,2g,1h) $ S-TYPE FUNCTIONS 20 11 0 6410000.0000 0.00000181 -0.00000051 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 959600.00000 0.00001411 -0.00000396 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 218300.00000 0.00007424 -0.00002081 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 61810.00000 0.00031413 -0.00008812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20140.00000 0.00114642 -0.00032174 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7264.00000000 0.00373888 -0.00105277 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2832.00000000 0.01109460 -0.00314183 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1175.00000000 0.03011520 -0.00866363 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 512.60000000 0.07391450 -0.02193530 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 233.00000000 0.15825800 -0.05025840 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 109.50000000 0.27475300 -0.09954140 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52.86000000 0.33406600 -0.15764700 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.84000000 0.21758900 -0.14602400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.17000000 0.04572780 0.06922300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.03000000 -0.00013474 0.43041200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.01200000 0.00163933 0.49080200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.51100000 -0.00052221 0.15839000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.66040000 0.00018065 0.00839885 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.29260000 -0.00009993 0.00076848 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.12540000 0.00001922 0.00022715 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 10 0 2548.00000000 0.00023570 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 603.70000000 0.00205158 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 195.60000000 0.01115430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 74.15000000 0.04398160 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 30.94000000 0.12999400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.69000000 0.27295900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.22900000 0.38369000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.87800000 0.29187000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.28200000 0.07044640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.56410000 0.00128761 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.23480000 0.00182623 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09312000 0.00001990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 8 0 0.25000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.61800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.52900000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.78100000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.73100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 12.15200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 25.77000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 54.64900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 0.32000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.65600000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.34500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.63900000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 9.49500000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 24.77400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 0.55600000 1.00000000 0.00000000 0.00000000 0.00000000 1.30200000 0.00000000 1.00000000 0.00000000 0.00000000 3.75600000 0.00000000 0.00000000 1.00000000 0.00000000 20.36800000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 1.05300000 1.00000000 0.00000000 3.83600000 0.00000000 1.00000000 a 18 $ ARGON (20s,12p,4d,3f,2g,1h) -> [11s,10p,4d,3f,2g,1h] $ ARGON Tight (4d,3f,2g,1h) $ S-TYPE FUNCTIONS 20 11 0 7401000.0000 0.00000175 -0.00000050 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1108000.0000 0.00001361 -0.00000387 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 252100.00000 0.00007163 -0.00002034 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71380.00000 0.00030303 -0.00008609 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23260.00000 0.00110608 -0.00031444 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8390.00000000 0.00360671 -0.00102841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3271.00000000 0.01071321 -0.00307267 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1357.00000000 0.02910677 -0.00847532 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 592.00000000 0.07166011 -0.02152008 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 269.10000000 0.15414053 -0.04944932 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 126.50000000 0.27041707 -0.09877592 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 61.03000000 0.33485470 -0.15830822 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 29.86000000 0.22434631 -0.15140298 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.17000000 0.05000284 0.05824264 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.02200000 0.00006459 0.42938305 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.51100000 0.00168641 0.49908884 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.75800000 -0.00058096 0.16027837 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.78410000 0.00019670 0.00883960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.34800000 -0.00011125 0.00113130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14910000 0.00002061 0.00022377 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 10 0 2927.00000000 0.00023199 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 693.50000000 0.00202329 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 224.70000000 0.01103401 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 85.17000000 0.04383970 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.53000000 0.13035904 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.73000000 0.27574991 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.16500000 0.38764330 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.32200000 0.28740741 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.47800000 0.06575812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.65520000 0.00014739 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.27510000 0.00113879 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10970000 -0.00025253 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 8 0 0.30900000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.77000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.91700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.77600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.25100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 13.57500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 29.48200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 64.02900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 0.40800000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.82500000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.66800000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 4.41700000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 11.46000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 29.73600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 0.66500000 1.00000000 0.00000000 0.00000000 0.00000000 1.56200000 0.00000000 1.00000000 0.00000000 0.00000000 4.42700000 0.00000000 0.00000000 1.00000000 0.00000000 23.90300000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 1.26400000 1.00000000 0.00000000 4.51800000 0.00000000 1.00000000 ergo-3.5/basis/ECP0000664000175000017500000014553012743400275010707 00000000000000************************************************************************ * * * Effective Core Potentials * * Valence basis set corresponding to pseudo basis * * * ************************************************************************ A 13 $ O-ALUMINIUM(+3) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 2.78633700 -0.04641100 0.00000000 1.14363500 0.27054300 0.00000000 0.17002700 -0.62523400 0.00000000 0.06732400 0.00000000 0.50841900 $ P TYPE FUNCTIONS 4 2 0 0.98379400 0.05203600 0.00000000 0.35824500 -0.15509400 0.00000000 0.13815800 -0.53258400 0.00000000 0.04497500 0.00000000 -0.46398900 A 51 $ O-ANTIMONY(+5) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 2.22079900 0.25671300 0.00000000 1.26783800 -0.66901100 0.00000000 0.26095600 0.64646000 0.00000000 0.10006600 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 2.14934900 0.10891500 0.00000000 1.43421200 -0.25139700 0.00000000 0.24263100 0.57394700 0.00000000 0.02780533 0.00000000 1.00000000 A 33 $ O-ARSENIC(+5) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 3.43147400 0.14816600 0.00000000 1.89686600 -0.44989000 0.00000000 0.29444900 0.69568300 0.00000000 0.11189600 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 1.29644700 -0.36995400 0.00000000 0.94997100 0.37321400 0.00000000 0.25442100 0.60030400 0.00000000 0.08759300 0.00000000 1.00000000 A 56 $ O-BARIUM(+10) ECP-MWB-5s5p $ S TYPE FUNCTIONS 6 5 0 2.39619000 -5.92889500 0.00000000 0.00000000 0.00000000 0.00000000 2.24330500 6.64693400 0.00000000 0.00000000 0.00000000 0.00000000 0.71740200 0.00000000 -0.55143700 0.00000000 0.00000000 0.00000000 0.27844600 0.00000000 0.00000000 -0.56880300 0.00000000 0.00000000 0.04318800 0.00000000 0.00000000 0.00000000 0.68160800 0.00000000 0.01979800 0.00000000 0.00000000 0.00000000 0.00000000 0.01516600 $ P TYPE FUNCTIONS 6 5 0 2.92674200 0.76335900 0.00000000 0.00000000 0.00000000 0.00000000 2.52071800 -1.02201400 0.00000000 0.00000000 0.00000000 0.00000000 0.52409500 0.00000000 0.64983600 0.00000000 0.00000000 0.00000000 0.20342800 0.00000000 0.00000000 0.52844600 0.00000000 0.00000000 0.04799600 0.00000000 0.00000000 0.00000000 0.60972900 0.00000000 0.02009500 0.00000000 0.00000000 0.00000000 0.00000000 0.51559100 A 83 $ O-BISMUTH(+5) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 1.42538800 0.07600800 0.00000000 0.98491400 -0.45740800 0.00000000 0.25251400 0.70218400 0.00000000 0.10061900 0.00000000 0.54384000 $ P TYPE FUNCTIONS 4 2 0 1.51728300 0.34668200 0.00000000 1.25330700 -0.51331300 0.00000000 0.19794900 0.64845700 0.00000000 0.06943300 0.00000000 0.49650500 A 5 $ O-BORON(+3) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 1.69056000 -0.27220800 0.00000000 0.98366600 0.20112800 0.00000000 0.25697900 0.57776300 0.00000000 0.09503800 0.00000000 0.46051000 $ P TYPE FUNCTIONS 4 2 0 5.39991300 0.03494100 0.00000000 1.27121700 0.18683400 0.00000000 0.36190900 0.46846300 0.00000000 0.10766100 0.00000000 0.51606900 A 35 $ O-BROMINE(+7) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 4.47317982 0.14909101 0.00000000 2.29983902 -0.50232202 0.00000000 0.41171700 0.72714400 0.00000000 0.15933400 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 1.99108410 -0.16588199 0.00000000 0.97475100 0.20432699 0.00000000 0.35202098 0.60156298 0.00000000 0.11665303 0.00000000 1.00000000 A 48 $ O-CADMIUM(+20) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 9.72701100 -1.78642590 0.00000000 0.00000000 0.00000000 0.00000000 7.83752300 2.57789480 0.00000000 0.00000000 0.00000000 0.00000000 5.08919400 0.16011710 0.00000000 0.00000000 0.00000000 0.00000000 1.55332600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.71407900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.15078400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05746700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 4.74271600 -6.23119940 0.00000000 0.00000000 0.00000000 0.00000000 3.93665500 6.57419200 0.00000000 0.00000000 0.00000000 0.00000000 1.38039100 0.16011710 0.74972650 0.00000000 0.00000000 0.00000000 0.66848500 0.00000000 0.28110820 0.00000000 0.00000000 0.00000000 0.36342300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10625300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03664400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 8.46934100 -0.01636060 0.00000000 3.02423100 0.28647280 0.00000000 1.31636700 0.48685180 0.74972650 0.55639300 0.37941110 0.28110820 0.22385600 0.00000000 1.00000000 A 20 $ O-CALCIUM(+10) ECP-MWB-5s5p3d $ S TYPE FUNCTIONS 6 5 0 12.30752100 0.05874000 0.00000000 0.00000000 0.00000000 0.00000000 4.39315100 -0.40134400 0.00000000 0.00000000 0.00000000 0.00000000 0.93797500 0.00000000 0.59287500 0.00000000 0.00000000 0.00000000 0.42168800 0.00000000 0.00000000 -0.22361600 0.00000000 0.00000000 0.05801700 0.00000000 0.00000000 0.00000000 0.77588600 0.00000000 0.02322200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 5 0 5.97428600 -0.08230200 0.00000000 0.00000000 0.00000000 0.00000000 1.56740600 0.34651100 0.00000000 0.00000000 0.00000000 0.00000000 0.65624200 0.00000000 0.56014700 0.00000000 0.00000000 0.00000000 0.25849800 0.00000000 0.00000000 0.22877300 0.00000000 0.00000000 0.08100000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 3 0 7.23170000 0.05036000 0.00000000 0.00000000 1.96486900 0.17334300 0.00000000 0.00000000 0.62030300 0.30197800 0.56014700 0.00000000 0.18126000 0.00000000 0.43805500 0.22877300 0.04910700 0.00000000 0.00000000 0.46472000 A 6 $ O-CARBON(+4) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 2.26310100 0.49654800 0.00000000 1.77318600 -0.42239100 0.00000000 0.40861900 -0.59935600 0.00000000 0.13917500 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 8.38302500 -0.03854400 0.00000000 1.99313200 -0.20318500 0.00000000 0.55954300 -0.49817600 0.00000000 0.15612600 0.00000000 0.48114300 A 55 $ O-CESIUM(+9) ECP-MWB-4s4p1d $ S TYPE FUNCTIONS 6 4 0 2.68701300 0.63613200 0.00000000 0.00000000 0.00000000 1.92071100 -1.15558600 0.00000000 0.00000000 0.00000000 0.46280100 0.64974300 0.00000000 0.00000000 0.00000000 0.20583100 0.00000000 -0.31845300 0.00000000 0.00000000 0.02502100 0.00000000 0.00000000 0.56564700 0.00000000 0.00984900 0.00000000 0.00000000 0.00000000 0.55531300 $ P TYPE FUNCTIONS 6 4 0 3.15263000 0.17280300 0.00000000 0.00000000 0.00000000 2.11148500 -0.38591600 0.00000000 0.00000000 0.00000000 0.44336300 0.63523900 0.00000000 0.00000000 0.00000000 0.16386000 0.00000000 0.52336000 0.00000000 0.00000000 0.02900000 0.00000000 0.00000000 1.00000000 0.00000000 0.01200000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 1 1 0 0.35300000 1.00000000 A 17 $ O-CHLORINE(+7) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 13.32240500 -0.02134900 0.00000000 2.33363000 0.29398500 0.00000000 0.52646300 -0.65342800 0.00000000 0.19094900 0.00000000 -0.53519300 $ P TYPE FUNCTIONS 4 2 0 2.75093600 -0.07105900 0.00000000 1.13597400 0.22167100 0.00000000 0.42523500 0.55745600 0.00000000 0.14244900 0.00000000 0.39080700 A 24 $ O-CHROMIUM(+14) ECP-MDF-5s5p2d $ S TYPE FUNCTIONS 7 5 0 14.05345000 0.88562400 0.00000000 0.00000000 0.00000000 0.00000000 11.73521800 -1.03013200 0.00000000 0.00000000 0.00000000 0.00000000 5.90491500 -0.82672900 0.00000000 0.00000000 0.00000000 0.00000000 1.63466500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.66293100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09780000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03770500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 51.31766400 0.02967200 0.00000000 0.00000000 0.00000000 0.00000000 9.32149800 -1.01276000 0.00000000 0.00000000 0.00000000 0.00000000 3.74112100 -0.82672900 0.25774600 0.00000000 0.00000000 0.00000000 1.51021400 0.00000000 0.78591700 0.00000000 0.00000000 0.00000000 0.53795600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09340800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02664500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 26.78143900 0.03497000 0.00000000 8.23164000 0.17219500 0.00000000 2.78164500 0.42703200 0.25774600 0.90367800 0.59293900 0.78591700 0.24925800 0.00000000 1.00000000 A 27 $ O-COBALT(+17) ECP-MDF-5s4p2d $ S TYPE FUNCTIONS 7 5 0 20.90800100 0.39805300 0.00000000 0.00000000 0.00000000 0.00000000 13.90623400 -0.64905200 0.00000000 0.00000000 0.00000000 0.00000000 7.32854300 -0.72345300 0.00000000 0.00000000 0.00000000 0.00000000 2.13632400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.85282200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10669200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03934600 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 67.03444300 0.02937000 0.00000000 0.00000000 0.00000000 13.26233400 -1.01362600 0.00000000 0.00000000 0.00000000 5.96065000 -0.72345300 0.20386500 0.00000000 0.00000000 2.27194000 0.00000000 0.83364500 0.00000000 0.00000000 0.78891100 0.00000000 0.00000000 1.00000000 0.00000000 0.11835500 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 36.84052000 0.03805600 0.00000000 11.17367500 0.18892500 0.00000000 3.79756400 0.44105100 0.20386500 1.23926200 0.56569700 0.83364500 0.33940000 0.00000000 1.00000000 A 29 $ O-COPPER(+19) ECP-MDF-5s5p2d $ S TYPE FUNCTIONS 7 5 0 27.69632000 0.23113200 0.00000000 0.00000000 0.00000000 0.00000000 13.50535000 -0.65681100 0.00000000 0.00000000 0.00000000 0.00000000 8.81535500 -0.54587500 0.00000000 0.00000000 0.00000000 0.00000000 2.38080500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.95261600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11266200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04048600 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 93.50432700 0.02282900 0.00000000 0.00000000 0.00000000 0.00000000 16.28546400 -1.00951300 0.00000000 0.00000000 0.00000000 0.00000000 5.99423600 -0.54587500 0.24645000 0.00000000 0.00000000 0.00000000 2.53687500 0.00000000 0.79202400 0.00000000 0.00000000 0.00000000 0.89793400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13172900 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03087800 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 41.22500600 0.04469400 0.00000000 12.34325000 0.21210600 0.00000000 4.20192000 0.45342300 0.24645000 1.37982500 0.53346500 0.79202400 0.38345300 0.00000000 1.00000000 A 9 $ O-FLUORINE(+7) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 7.17643900 -0.23988300 0.00000000 3.81548400 0.15202600 0.00000000 1.02788200 0.61370900 0.00000000 0.33612800 0.00000000 0.44408100 $ P TYPE FUNCTIONS 4 2 0 22.09520700 0.05226600 0.00000000 4.96809300 0.23451700 0.00000000 1.36211400 0.50226500 0.00000000 0.35332100 0.00000000 0.46140900 A 31 $ O-GALLIUM(+3) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 2.28780800 0.13111900 0.00000000 1.27332200 -0.40290400 0.00000000 0.20316800 0.63141700 0.00000000 0.07426200 0.00000000 0.53481900 $ P TYPE FUNCTIONS 4 2 0 0.93901900 0.16364700 0.00000000 0.59020500 -0.18687000 0.00000000 0.15876100 -0.52722300 0.00000000 0.02339300 0.00000000 1.00000000 A 32 $ O-GERMANIUM(+4) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 3.24729100 0.21078900 0.00000000 1.92920500 -0.49507400 0.00000000 0.23356500 0.70199400 0.00000000 0.08780700 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 1.29018200 0.17841500 0.00000000 0.68428900 -0.19291200 0.00000000 0.20033900 -0.57755500 0.00000000 0.06672700 0.00000000 1.00000000 A 79 $ O-GOLD(+19) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 20.11529900 -0.15976140 0.00000000 0.00000000 0.00000000 0.00000000 12.19347700 0.78935590 0.00000000 0.00000000 0.00000000 0.00000000 6.03962600 -1.57140570 0.00000000 0.00000000 0.00000000 0.00000000 1.37372100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.65001000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14581600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05148400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 8.60966500 2.09822310 0.00000000 0.00000000 0.00000000 0.00000000 7.33532600 -3.04586700 0.00000000 0.00000000 0.00000000 0.00000000 1.91297000 -1.57140570 0.37914520 0.00000000 0.00000000 0.00000000 1.05769500 0.00000000 0.64564280 0.00000000 0.00000000 0.00000000 0.44306000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09011400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02681100 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 4.14394900 -0.40584580 0.00000000 3.56825700 0.42750700 0.00000000 1.34432400 0.47554050 0.37914520 0.55528900 0.56109720 0.64564280 0.18967500 0.00000000 1.00000000 A 72 $ O-HAFNIUM(+12) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 14.59248500 -0.79934440 0.00000000 0.00000000 0.00000000 0.00000000 11.54749100 1.52015480 0.00000000 0.00000000 0.00000000 0.00000000 4.91119400 -1.64536400 0.00000000 0.00000000 0.00000000 0.00000000 0.80851800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.35028500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10128200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03933600 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 6.72653100 3.26625490 0.00000000 0.00000000 0.00000000 5.95997900 -4.20156280 0.00000000 0.00000000 0.00000000 1.30195800 -1.64536400 0.32434240 0.00000000 0.00000000 0.69313600 0.00000000 0.70101450 0.00000000 0.00000000 0.27975900 0.00000000 0.00000000 1.00000000 0.00000000 0.07769500 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 3.72164100 -0.05916200 0.00000000 1.58412000 0.14951390 0.00000000 0.63351000 0.43731370 0.32434240 0.23056400 0.58875870 0.70101450 0.07495100 0.00000000 1.00000000 A 49 $ O-INDIUM(+3) ECP-MWB-DZP $ S TYPE FUNCTIONS 4 2 0 1.53256200 0.26177400 0.00000000 0.94426900 -0.62540600 0.00000000 0.17673300 0.65130400 0.00000000 0.06434300 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 0.64147400 0.21110300 0.00000000 0.34273900 -0.24302900 0.00000000 0.10954600 -0.56019100 0.00000000 0.03895800 0.00000000 1.00000000 $ D TYPE FUNCTIONS 1 1 0 0.16000000 1.00000000 A 53 $ O-IODINE(+7) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 2.99612200 0.19818700 0.00000000 1.53004300 -0.61653600 0.00000000 0.30497900 0.73062700 0.00000000 0.12996900 0.00000000 0.51342800 $ P TYPE FUNCTIONS 4 2 0 1.03491900 -0.34015500 0.00000000 0.57383300 0.44188400 0.00000000 0.20306300 0.60434400 0.00000000 0.07909900 0.00000000 0.28894900 A 77 $ O-IRIDIUM(+17) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 15.29370900 -1.67503390 0.00000000 0.00000000 0.00000000 0.00000000 13.57368200 2.39346480 0.00000000 0.00000000 0.00000000 0.00000000 5.81627400 -1.65049790 0.00000000 0.00000000 0.00000000 0.00000000 1.19552100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.56577600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14052700 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05082000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 8.66979600 0.86771420 0.00000000 0.00000000 0.00000000 6.24561400 -1.81448260 0.00000000 0.00000000 0.00000000 1.96638400 -1.65049790 0.27094540 0.00000000 0.00000000 1.02020600 0.00000000 0.75404430 0.00000000 0.00000000 0.40658000 0.00000000 0.00000000 1.00000000 0.00000000 0.09011600 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 3.69948500 -0.59731040 0.00000000 3.36174300 0.61122520 0.00000000 1.17452500 0.47329390 0.27094540 0.47017600 0.57553020 0.75404430 0.15767800 0.00000000 1.00000000 A 26 $ O-IRON(+16) ECP-MDF-5s4p2d $ S TYPE FUNCTIONS 7 5 0 20.51302800 0.23471400 0.00000000 0.00000000 0.00000000 0.00000000 9.77679200 -0.87752700 0.00000000 0.00000000 0.00000000 0.00000000 4.57359900 -0.34163600 0.00000000 0.00000000 0.00000000 0.00000000 1.94991000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.76648800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10079800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03751600 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 63.12532600 0.02714700 0.00000000 0.00000000 0.00000000 11.65685500 -1.01187500 0.00000000 0.00000000 0.00000000 5.17866100 -0.34163600 0.21516800 0.00000000 0.00000000 2.03553200 0.00000000 0.82509500 0.00000000 0.00000000 0.70881800 0.00000000 0.00000000 1.00000000 0.00000000 0.11016800 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 33.66679000 0.03652900 0.00000000 10.23569500 0.18282500 0.00000000 3.46648800 0.43706900 0.21516800 1.12729600 0.57517800 0.82509500 0.30824700 0.00000000 1.00000000 A 36 $ O-KRYPTON(+8) ECP-MWB-4s4p1d $ S TYPE FUNCTIONS 6 4 0 35.40296100 0.02049500 0.00000000 0.00000000 0.00000000 15.66508900 -0.09918800 0.00000000 0.00000000 0.00000000 6.24771100 1.07205100 0.00000000 0.00000000 0.00000000 2.39424600 0.00000000 1.00000000 0.00000000 0.00000000 0.45348900 0.00000000 0.00000000 1.00000000 0.00000000 0.17215800 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 23.02908500 0.00562500 0.00000000 0.00000000 0.00000000 9.50309200 -0.07505100 0.00000000 0.00000000 0.00000000 2.84246100 1.04568900 0.00000000 0.00000000 0.00000000 0.68929300 0.00000000 1.00000000 0.00000000 0.00000000 0.28513600 0.00000000 0.00000000 1.00000000 0.00000000 0.10878200 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 1 1 0 0.48780000 1.00000000 A 82 $ O-LEAD(+4) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 1.30517500 1.01040200 0.00000000 1.13528200 -1.40235500 0.00000000 0.20277100 0.79337200 0.00000000 0.08179600 0.00000000 0.44489800 $ P TYPE FUNCTIONS 4 2 0 1.44168400 0.14562600 0.00000000 0.97714300 -0.31986300 0.00000000 0.19450500 0.55369000 0.00000000 0.06271000 0.00000000 0.60104600 A 3 $ O-LITHIUM(+1) ECP-SDF-DZ $ S TYPE FUNCTIONS 4 2 0 3.04732704 0.00655500 0.00000000 0.60357898 -0.14040101 0.00000000 0.06913799 0.62375599 0.00000000 0.02650200 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 0.83715802 0.04350700 0.00000000 0.17194098 0.22964901 0.00000000 0.05207900 0.56294900 0.00000000 0.01917200 0.00000000 1.00000000 A 12 $ O-MAGNESIUM(+2) ECP-SDF-2s1p $ S TYPE FUNCTIONS 3 2 0 1.61669000 0.14113800 0.00000000 1.11015700 -0.30259300 0.00000000 0.07033300 0.00000000 1.00000000 $ P TYPE FUNCTIONS 1 1 0 0.07642700 1.00000000 A 25 $ O-MANGANESE(+15) ECP-MDF-5s5p2d $ S TYPE FUNCTIONS 7 5 0 15.56400100 1.09978900 0.00000000 0.00000000 0.00000000 0.00000000 13.28692800 -1.30585100 0.00000000 0.00000000 0.00000000 0.00000000 6.13728100 -0.76802400 0.00000000 0.00000000 0.00000000 0.00000000 1.76598300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.71377400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09832800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03709700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 27.43206100 0.08385100 0.00000000 0.00000000 0.00000000 0.00000000 11.36687300 -1.06496500 0.00000000 0.00000000 0.00000000 0.00000000 4.45254000 -0.76802400 0.20265200 0.00000000 0.00000000 0.00000000 1.85345900 0.00000000 0.83175400 0.00000000 0.00000000 0.00000000 0.64518000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10304400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02829600 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 29.51422300 0.03716200 0.00000000 8.96282400 0.18274500 0.00000000 3.02796700 0.43560700 0.20265200 0.98329200 0.57705300 0.83175400 0.27032500 0.00000000 1.00000000 A 80 $ O-MERCURY(+20) ECP-MWB-5p2d $ P TYPE FUNCTIONS 7 5 0 9.77299000 0.88553690 0.00000000 0.00000000 0.00000000 0.00000000 7.16909500 -1.83645640 0.00000000 0.00000000 0.00000000 0.00000000 1.86800900 0.00000000 0.49042670 0.00000000 0.00000000 0.00000000 0.97330100 0.00000000 0.54156300 0.00000000 0.00000000 0.00000000 0.42199700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12521300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04019000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 4.91144700 -0.14285670 0.00000000 3.04955000 0.19881720 0.00000000 1.34450100 0.48854010 0.49042670 0.57661800 0.51434470 0.54156300 0.21024500 0.00000000 1.00000000 A 42 $ O-MOLYBDENUM(+14) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 7.20338000 -0.82629730 0.00000000 0.00000000 0.00000000 0.00000000 5.05229500 1.46756160 0.00000000 0.00000000 0.00000000 0.00000000 2.91353300 0.31895490 0.00000000 0.00000000 0.00000000 0.00000000 1.02899300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.46953400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11001400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04611500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 3.15186600 -4.73814350 0.00000000 0.00000000 0.00000000 2.45348200 5.01904000 0.00000000 0.00000000 0.00000000 0.87877300 0.31895490 0.74936290 0.00000000 0.00000000 0.49079100 0.00000000 0.27056970 0.00000000 0.00000000 0.28471400 0.00000000 0.00000000 1.00000000 0.00000000 0.07118200 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 5.03477000 -0.02394300 0.00000000 1.80214900 0.21945760 0.00000000 0.80725000 0.46117140 0.74936290 0.33900500 0.46712100 0.27056970 0.12834200 0.00000000 1.00000000 A 28 $ O-NICKEL(+18) ECP-MDF-5s5p2d $ S TYPE FUNCTIONS 7 5 0 23.45799100 0.34542400 0.00000000 0.00000000 0.00000000 0.00000000 14.86939200 -0.59501200 0.00000000 0.00000000 0.00000000 0.00000000 8.05415400 -0.72484900 0.00000000 0.00000000 0.00000000 0.00000000 2.31982400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.92346200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10995500 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04013400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 78.03878000 0.02700800 0.00000000 0.00000000 0.00000000 0.00000000 14.77444000 -1.01208100 0.00000000 0.00000000 0.00000000 0.00000000 6.15135200 -0.72484900 0.20219500 0.00000000 0.00000000 0.00000000 2.49642100 0.00000000 0.83392000 0.00000000 0.00000000 0.00000000 0.86670200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12649900 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03178400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 40.78904800 0.03842500 0.00000000 12.34760100 0.19149800 0.00000000 4.20704900 0.44307500 0.20219500 1.37541300 0.56121600 0.83392000 0.09000000 0.00000000 1.00000000 A 41 $ O-NIOBIUM(+13) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 6.56630100 -0.85826540 0.00000000 0.00000000 0.00000000 0.00000000 4.58643800 1.30416720 0.00000000 0.00000000 0.00000000 0.00000000 3.75377000 0.50690430 0.00000000 0.00000000 0.00000000 0.00000000 0.88987100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.40713800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09427100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03987900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 3.07006300 -3.90443150 0.00000000 0.00000000 0.00000000 2.23796400 4.06880700 0.00000000 0.00000000 0.00000000 0.85225500 0.50690430 0.67139100 0.00000000 0.00000000 0.50443600 0.00000000 0.34743650 0.00000000 0.00000000 0.26680000 0.00000000 0.00000000 1.00000000 0.00000000 0.06873200 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 4.05356300 -0.02042010 0.00000000 1.65260000 0.20898540 0.00000000 0.70685900 0.47055150 0.67139100 0.28636700 0.47588600 0.34743650 0.10875700 0.00000000 1.00000000 A 7 $ O-NITROGEN(+5) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 32.65683900 -0.01379400 0.00000000 4.58918900 0.12912900 0.00000000 0.70625100 -0.56809400 0.00000000 0.21639900 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 12.14697400 -0.04129600 0.00000000 2.88426500 -0.21400900 0.00000000 0.80856400 -0.50278300 0.00000000 0.22216300 0.00000000 1.00000000 A 76 $ O-OSMIUM(+16) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 15.28673600 -1.06641470 0.00000000 0.00000000 0.00000000 0.00000000 12.70063800 1.84307610 0.00000000 0.00000000 0.00000000 0.00000000 5.68729500 -1.70590020 0.00000000 0.00000000 0.00000000 0.00000000 1.11808700 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.52073300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13637800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04959200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 7.93627900 1.41904520 0.00000000 0.00000000 0.00000000 6.30364100 -2.36244950 0.00000000 0.00000000 0.00000000 1.97032300 -1.70590020 0.20640200 0.00000000 0.00000000 1.02054700 0.00000000 0.81429590 0.00000000 0.00000000 0.40059300 0.00000000 0.00000000 1.00000000 0.00000000 0.08712700 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 3.58081500 -0.46708080 0.00000000 3.19616500 0.47948060 0.00000000 1.10582500 0.46491470 0.20640200 0.43603200 0.58935760 0.81429590 0.14433200 0.00000000 1.00000000 A 8 $ O-OXYGEN(+6) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 47.10551900 -0.01440800 0.00000000 5.91134600 0.12956800 0.00000000 0.97648300 -0.56311800 0.00000000 0.29607000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 16.69221800 0.04485600 0.00000000 3.90070200 0.22613000 0.00000000 1.07825300 0.50018800 0.00000000 0.28418900 0.00000000 1.00000000 A 46 $ O-PALLADIUM(+18) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 8.47564000 -2.16424970 0.00000000 0.00000000 0.00000000 0.00000000 7.16571700 2.89282860 0.00000000 0.00000000 0.00000000 0.00000000 3.18211000 0.23395640 0.00000000 0.00000000 0.00000000 0.00000000 1.40635700 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.62392100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12330300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04936000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 4.24609700 -5.25030250 0.00000000 0.00000000 0.00000000 3.39259400 5.55278500 0.00000000 0.00000000 0.00000000 1.21618500 0.23395640 0.75773150 0.00000000 0.00000000 0.63962400 0.00000000 0.26600460 0.00000000 0.00000000 0.37265700 0.00000000 0.00000000 1.00000000 0.00000000 0.07917500 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 7.16961200 -0.01850040 0.00000000 2.56126300 0.27696900 0.00000000 1.10966900 0.48590350 0.75773150 0.46229600 0.39306510 0.26600460 0.18152500 0.00000000 1.00000000 A 15 $ O-PHOSPHORUS(+5) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 6.72230800 -0.03245500 0.00000000 1.62406300 0.28505600 0.00000000 0.33192900 -0.64691400 0.00000000 0.12081900 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 1.28322100 -0.05596200 0.00000000 0.59972500 0.28636300 0.00000000 0.22775900 0.55225700 0.00000000 0.08442400 0.00000000 1.00000000 A 78 $ O-PLATINUM(+18) ECP-MWB-6s5p3d $ S TYPE FUNCTIONS 8 6 0 16.55956300 -0.88494470 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.89244000 1.50112280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.85360800 -1.55290120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.28732000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.60473200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.14278300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.05096900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 7.92517500 4.95307570 0.00000000 0.00000000 0.00000000 0.00000000 7.34153800 -5.89821000 0.00000000 0.00000000 0.00000000 0.00000000 1.91251500 0.00000000 0.30474250 0.00000000 0.00000000 0.00000000 1.07154500 0.00000000 0.71648940 0.00000000 0.00000000 0.00000000 0.43791700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09362100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02780200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 6 3 0 3.93953100 -0.58264390 0.00000000 0.00000000 3.58777700 0.59225760 0.00000000 0.00000000 1.28623100 0.47369210 0.00000000 0.00000000 0.51981400 0.57652020 0.00000000 0.00000000 0.17471500 0.00000000 1.00000000 0.00000000 0.05000000 0.00000000 0.00000000 1.00000000 A 19 $ O-POTASSIUM(+9) ECP-MWB-4s4p1d $ S TYPE FUNCTIONS 6 4 0 8.31351000 0.10121500 0.00000000 0.00000000 0.00000000 3.79675700 -0.43179600 0.00000000 0.00000000 0.00000000 0.74093700 0.67493500 0.00000000 0.00000000 0.00000000 0.30178900 0.00000000 0.28630000 0.00000000 0.00000000 0.03501800 0.00000000 0.00000000 -0.72964300 0.00000000 0.01604900 0.00000000 0.00000000 0.00000000 -0.38022900 $ P TYPE FUNCTIONS 6 4 0 21.66442700 0.01170600 0.00000000 0.00000000 0.00000000 1.11396800 0.39741600 0.00000000 0.00000000 0.00000000 0.47133100 0.48715800 0.00000000 0.00000000 0.00000000 0.19155000 0.00000000 0.22240100 0.00000000 0.00000000 0.04800000 0.00000000 0.00000000 1.00000000 0.00000000 0.01700000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 1 1 0 0.79400000 1.00000000 A 75 $ O-RHENIUM(+15) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 14.78186200 -1.14103820 0.00000000 0.00000000 0.00000000 0.00000000 12.32407500 1.93714500 0.00000000 0.00000000 0.00000000 0.00000000 5.49747800 -1.72327450 0.00000000 0.00000000 0.00000000 0.00000000 1.02605200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.46900900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13118400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04785700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 7.40400500 2.36983600 0.00000000 0.00000000 0.00000000 0.00000000 6.35020600 -3.31055420 0.00000000 0.00000000 0.00000000 0.00000000 1.88859900 -1.72327450 0.18219610 0.00000000 0.00000000 0.00000000 0.98348500 0.00000000 0.83630770 0.00000000 0.00000000 0.00000000 0.38341000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07046000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02202800 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 3.43448200 -0.36267070 0.00000000 2.98078100 0.37616960 0.00000000 1.01739400 0.45783320 0.18219610 0.39506000 0.59957020 0.83630770 0.13011100 0.00000000 1.00000000 A 45 $ O-RHODIUM(+17) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 7.91774400 -2.41557750 0.00000000 0.00000000 0.00000000 0.00000000 6.84120700 3.09873820 0.00000000 0.00000000 0.00000000 0.00000000 2.95984000 0.28212560 0.00000000 0.00000000 0.00000000 0.00000000 1.33434100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.59881000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12189400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04945200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 4.13607900 -3.34435450 0.00000000 0.00000000 0.00000000 2.94628100 3.70374400 0.00000000 0.00000000 0.00000000 1.12230400 0.28212560 0.74622580 0.00000000 0.00000000 0.66617700 0.00000000 0.26988330 0.00000000 0.00000000 0.36574300 0.00000000 0.00000000 1.00000000 0.00000000 0.07668600 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 7.03289200 -0.01616040 0.00000000 2.30981900 0.27639870 0.00000000 0.99822800 0.48500260 0.74622580 0.41705700 0.39301990 0.26988330 0.16444700 0.00000000 1.00000000 A 44 $ O-RUTHENIUM(+16) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 7.93657000 -1.11966560 0.00000000 0.00000000 0.00000000 0.00000000 5.98424500 1.44532930 0.00000000 0.00000000 0.00000000 0.00000000 4.88222000 0.62616530 0.00000000 0.00000000 0.00000000 0.00000000 1.14462400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.52301700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11757300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04805000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 3.75460900 -4.72265650 0.00000000 0.00000000 0.00000000 0.00000000 2.91657100 4.99090840 0.00000000 0.00000000 0.00000000 0.00000000 1.04867500 0.62616530 0.72854670 0.00000000 0.00000000 0.00000000 0.50732000 0.00000000 0.30390430 0.00000000 0.00000000 0.00000000 0.26739800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06974800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02292700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 6.00991300 -0.03271600 0.00000000 2.10428000 0.26573920 0.00000000 0.92150000 0.48123980 0.72854670 0.38859800 0.40997780 0.30390430 0.15283600 0.00000000 1.00000000 A 21 $ O-SCANDIUM(+11) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 10.00926000 1.00789600 0.00000000 0.00000000 0.00000000 0.00000000 8.47076200 -1.17665500 0.00000000 0.00000000 0.00000000 0.00000000 4.17911600 -0.80264700 0.00000000 0.00000000 0.00000000 0.00000000 1.06920800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.44124800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06443200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02720000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 41.71184600 0.02091200 0.00000000 0.00000000 0.00000000 6.02601500 -1.00732900 0.00000000 0.00000000 0.00000000 2.71599500 -0.80264700 0.25364400 0.00000000 0.00000000 1.05691400 0.00000000 0.79264300 0.00000000 0.00000000 0.37694100 0.00000000 0.00000000 1.00000000 0.00000000 0.07416100 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 16.27354800 0.03555900 0.00000000 4.80004900 0.16935600 0.00000000 1.54129300 0.42044600 0.25364400 0.46818000 0.61731400 0.79264300 0.12279900 0.00000000 1.00000000 A 34 $ O-SELENIUM(+6) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 3.58818000 0.24963000 0.00000000 2.23971100 -0.58146000 0.00000000 0.34377300 0.72893800 0.00000000 0.13139900 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 1.50942700 0.19527100 0.00000000 0.87510600 -0.25391500 0.00000000 0.29082600 -0.59048700 0.00000000 0.10022100 0.00000000 1.00000000 A 14 $ O-SILICON(+4) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 4.01437800 -0.03950800 0.00000000 1.39370700 0.29615000 0.00000000 0.25165800 -0.59975200 0.00000000 0.10018000 0.00000000 -0.55590200 $ P TYPE FUNCTIONS 4 2 0 1.10248100 -0.08458300 0.00000000 0.58312700 0.18574800 0.00000000 0.20867500 0.55485200 0.00000000 0.06914700 0.00000000 -0.44034000 $ D TYPE FUNCTIONS 1 1 0 0.45000000 1.00000000 A 47 $ O-SILVER(+19) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 9.08844200 -1.96481320 0.00000000 0.00000000 0.00000000 0.00000000 7.54073100 2.73321940 0.00000000 0.00000000 0.00000000 0.00000000 2.79400500 0.19911480 0.00000000 0.00000000 0.00000000 0.00000000 1.48015800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.65385100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12448800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04926400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 4.45124000 -6.08337800 0.00000000 0.00000000 0.00000000 0.00000000 3.67526300 6.41685430 0.00000000 0.00000000 0.00000000 0.00000000 1.29128800 0.19911480 0.75397350 0.00000000 0.00000000 0.00000000 0.65257800 0.00000000 0.27305970 0.00000000 0.00000000 0.00000000 0.36703600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07569400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02372300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 7.99473000 -0.01638760 0.00000000 2.78477300 0.28141070 0.00000000 1.20974400 0.48632640 0.75397350 0.50539300 0.38672580 0.27305970 0.19885100 0.00000000 1.00000000 A 11 $ O-SODIUM(+1) ECP-SDF-DZ $ S TYPE FUNCTIONS 4 2 0 2.60333633 0.00882400 0.00000000 0.51721698 -0.18322700 0.00000000 0.05819600 0.65201700 0.00000000 0.02314100 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 0.49920601 0.01854700 0.00000000 0.07921898 0.27621102 0.00000000 0.02994600 0.58700401 0.00000000 0.01260500 0.00000000 1.00000000 A 38 $ O-STRONTIUM(+10) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 6 5 0 5.87915700 0.19670900 0.00000000 0.00000000 0.00000000 0.00000000 3.09248200 -0.62589800 0.00000000 0.00000000 0.00000000 0.00000000 0.64466700 0.00000000 0.73572300 0.00000000 0.00000000 0.00000000 0.29887600 0.00000000 0.00000000 0.50733700 0.00000000 0.00000000 0.05727600 0.00000000 0.00000000 0.00000000 0.65414300 0.00000000 0.02387000 0.00000000 0.00000000 0.00000000 0.00000000 0.52941600 $ P TYPE FUNCTIONS 6 5 0 2.43247200 -0.37489900 0.00000000 0.00000000 0.00000000 0.00000000 1.66423400 0.38761500 0.00000000 0.00000000 0.00000000 0.00000000 0.56998900 0.00000000 0.65583800 0.00000000 0.00000000 0.00000000 0.22071800 0.00000000 0.00000000 0.32795500 0.00000000 0.00000000 0.06762900 0.00000000 0.00000000 0.00000000 0.47239700 0.00000000 0.02672700 0.00000000 0.00000000 0.00000000 0.00000000 0.64219000 $ D TYPE FUNCTIONS 5 2 0 3.61808100 -0.00750100 0.00000000 0.99665600 0.10809800 0.00000000 0.39073500 0.27854000 0.65583800 0.12277000 0.00000000 0.47731800 0.03665500 0.00000000 0.44818300 A 16 $ O-SULFUR(+6) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 6.83351800 -0.04387500 0.00000000 2.07773800 0.31989400 0.00000000 0.41912100 -0.66123300 0.00000000 0.15323700 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 1.81713900 -0.07922700 0.00000000 0.85507000 0.26367100 0.00000000 0.31205300 0.58068200 0.00000000 0.10168700 0.00000000 1.00000000 A 73 $ O-TANTALUM(+13) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 13.95110500 -1.49290850 0.00000000 0.00000000 0.00000000 0.00000000 12.01024100 2.28201460 0.00000000 0.00000000 0.00000000 0.00000000 5.16644600 -1.71334050 0.00000000 0.00000000 0.00000000 0.00000000 0.85631500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.36428100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12549400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04621300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 7.41887200 1.26680990 0.00000000 0.00000000 0.00000000 5.69841000 -2.20496150 0.00000000 0.00000000 0.00000000 1.31807200 -1.71334050 0.39272020 0.00000000 0.00000000 0.68216900 0.00000000 0.63805260 0.00000000 0.00000000 0.28217200 0.00000000 0.00000000 1.00000000 0.00000000 0.07968500 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 3.79167100 -0.06689760 0.00000000 1.64930200 0.16690000 0.00000000 0.66492500 0.46427890 0.39272020 0.24665500 0.54886710 0.63805260 0.08272400 0.00000000 1.00000000 A 43 $ O-TECHNETIUM(+15) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 7.43440200 -1.11251800 0.00000000 0.00000000 0.00000000 0.00000000 5.55132700 1.81449980 0.00000000 0.00000000 0.00000000 0.00000000 3.02308600 0.25692920 0.00000000 0.00000000 0.00000000 0.00000000 1.08466900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.49258500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11389600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04688700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 3.44900500 -4.81613810 0.00000000 0.00000000 0.00000000 0.00000000 2.69273700 5.08660540 0.00000000 0.00000000 0.00000000 0.00000000 0.95948400 0.25692920 0.74490720 0.00000000 0.00000000 0.00000000 0.48521300 0.00000000 0.28268630 0.00000000 0.00000000 0.00000000 0.28149000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06837100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02261300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 5.12226800 -0.03323760 0.00000000 1.95401500 0.24673870 0.00000000 0.85475600 0.48023800 0.74490720 0.36058100 0.42886640 0.28268630 0.14127500 0.00000000 1.00000000 A 52 $ O-TELLURIUM(+6) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 2.47122200 0.24195600 0.00000000 1.50999500 -0.60048800 0.00000000 0.25467700 0.76352200 0.00000000 0.10263100 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 2.38873400 0.15818100 0.00000000 1.64416500 -0.32493200 0.00000000 0.28997300 0.58565500 0.00000000 0.09675300 0.00000000 1.00000000 A 81 $ O-THALLIUM(+3) ECP-MHF-DZ $ S TYPE FUNCTIONS 4 2 0 1.21979600 0.79867400 0.00000000 0.98113800 -1.14935200 0.00000000 0.13978400 0.65010400 0.00000000 0.05526600 0.00000000 0.54346300 $ P TYPE FUNCTIONS 4 2 0 1.34250200 0.15639700 0.00000000 0.99398900 -0.27303600 0.00000000 0.14969300 0.48455400 0.00000000 0.04561200 0.00000000 0.64526400 A 50 $ O-TIN(+4) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 1.60032200 0.63577600 0.00000000 1.16634100 -1.07627300 0.00000000 0.23976100 0.60859000 0.00000000 0.08723700 0.00000000 0.66097500 $ P TYPE FUNCTIONS 4 2 0 2.10467700 0.07895000 0.00000000 1.37109400 -0.19115900 0.00000000 0.20139300 0.54254600 0.00000000 0.06599500 0.00000000 0.57703900 A 74 $ O-TUNGSTEN(+14) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 14.29072900 -1.40860990 0.00000000 0.00000000 0.00000000 0.00000000 12.24124900 2.19364700 0.00000000 0.00000000 0.00000000 0.00000000 5.31224000 -1.71080130 0.00000000 0.00000000 0.00000000 0.00000000 0.94962600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.43111800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12693100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04653900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 7.24965700 2.06101380 0.00000000 0.00000000 0.00000000 0.00000000 6.08487600 -3.00024710 0.00000000 0.00000000 0.00000000 0.00000000 1.69408900 -1.71080130 0.21339640 0.00000000 0.00000000 0.00000000 0.89114400 0.00000000 0.80690390 0.00000000 0.00000000 0.00000000 0.34832800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.08467000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02702800 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 3.44224800 -0.19325620 0.00000000 2.66715100 0.20793290 0.00000000 0.94710900 0.44238520 0.21339640 0.36538400 0.61598820 0.80690390 0.12090300 0.00000000 1.00000000 A 54 $ O-XENON(+8) ECP-MWB-4s4p1d $ S TYPE FUNCTIONS 6 4 0 7.85801500 0.05992800 0.00000000 0.00000000 0.00000000 3.49577200 -0.64907600 0.00000000 0.00000000 0.00000000 1.75886900 1.52981400 0.00000000 0.00000000 0.00000000 0.31474500 0.00000000 1.00000000 0.00000000 0.00000000 0.15116000 0.00000000 0.00000000 1.00000000 0.00000000 0.07122600 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 3.21452300 0.21100500 0.00000000 0.00000000 0.00000000 1.88494400 -0.71267400 0.00000000 0.00000000 0.00000000 0.44887600 1.22808000 0.00000000 0.00000000 0.00000000 0.21223200 0.00000000 1.00000000 0.00000000 0.00000000 0.10011500 0.00000000 0.00000000 1.00000000 0.00000000 0.04697900 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 1 1 0 0.32180000 1.00000000 A 30 $ O-ZINC(+2) ECP-MWB-2s1p $ S TYPE FUNCTIONS 3 2 0 0.65665300 -0.35662100 0.00000000 0.22467900 0.52210900 0.00000000 0.06207700 0.00000000 1.00000000 $ P TYPE FUNCTIONS 1 1 0 0.08541700 1.00000000 A 40 $ O-ZIRCONIUM(+12) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 5.87378900 -0.97366300 0.00000000 0.00000000 0.00000000 0.00000000 4.28727000 1.70918220 0.00000000 0.00000000 0.00000000 0.00000000 1.46413700 0.24383100 0.00000000 0.00000000 0.00000000 0.00000000 0.83124500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.36233500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07935700 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03392000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 2.87422400 -4.21810130 0.00000000 0.00000000 0.00000000 2.11990100 4.04794310 0.00000000 0.00000000 0.00000000 0.85136400 0.24383100 0.57094510 0.00000000 0.00000000 0.43729200 0.00000000 0.46210800 0.00000000 0.00000000 0.20290400 0.00000000 0.00000000 1.00000000 0.00000000 0.06325900 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 2.58013700 -0.09321310 0.00000000 1.85539600 0.22135700 0.00000000 0.68075400 0.46844270 0.57094510 0.25669100 0.53919500 0.46210800 0.08940000 0.00000000 1.00000000 *END OF FILE* ergo-3.5/basis/cc-pVTZ-DK0000664000175000017500000012336312743400275012022 00000000000000$Basis = cc-pVTZ-DK $Elements supported $ H He B C N O F Ne Al Si P S Cl Ar Ga Ge As Se Br Kr $ $ REFERENCE $Elements References $-------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $ B - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ga - Kr: A.K. Wilson, D.E. Woon, K.A. Peterson, T.H. Dunning, Jr., $ J. Chem. Phys., 110, 7667 (1999). $** $Recontraction for use in Douglas-Kroll calculations: $W.A. de Jong, to be published. $ ************************************************************************ a 1 $ HYDROGEN (5s,2p,1d) -> [3s,2p,1d] $ S-TYPE FUNCTIONS 5 3 0 33.8700000 0.00607730 0.00000000 0.00000000 5.09500000 0.04531760 0.00000000 0.00000000 1.15900000 0.20283640 0.00000000 0.00000000 0.325800000 0.50389270 1.00000000 0.00000000 0.102700000 0.38341370 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 1.40700000 1.00000000 0.00000000 0.388000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.05700000 1.00000000 a 2 $ HELIUM (6s,2p,1d) -> [3s,2p,1d] $ S-TYPE FUNCTIONS 6 3 0 234.000000 0.00261270 0.00000000 0.00000000 35.1600000 0.01955880 0.00000000 0.00000000 7.98900000 0.09103160 0.00000000 0.00000000 2.21200000 0.27206430 0.00000000 0.00000000 0.666900000 0.47802870 1.00000000 0.00000000 0.208900000 0.30773220 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 3.04400000 1.00000000 0.00000000 0.758000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.96500000 1.00000000 a 5 $ BORON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ S-TYPE FUNCTIONS 10 4 0 5473.00000 0.00066180 -0.00013380 0.00000000 0.00000000 820.900000 0.00440780 -0.00089270 0.00000000 0.00000000 186.800000 0.02213810 -0.00452530 0.00000000 0.00000000 52.8300000 0.08466590 -0.01774370 0.00000000 0.00000000 17.0800000 0.23872010 -0.05370480 0.00000000 0.00000000 5.99900000 0.43496920 -0.11905980 0.00000000 0.00000000 2.20800000 0.34169480 -0.16567270 0.00000000 0.00000000 0.587900000 0.03680600 0.12048820 1.00000000 0.00000000 0.241500000 -0.00952620 0.59597980 0.00000000 0.00000000 0.086100000 0.00236250 0.41068910 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 12.0500000 0.01313990 0.00000000 0.00000000 2.61300000 0.07990350 0.00000000 0.00000000 0.747500000 0.27721020 0.00000000 0.00000000 0.238500000 0.50419510 1.00000000 0.00000000 0.076980000 0.35382800 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.661000000 1.00000000 0.00000000 0.199000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.490000000 1.00000000 a 6 $ CARBON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ S-TYPE FUNCTIONS 10 4 0 8236.00000 0.00067720 -0.00014450 0.00000000 0.00000000 1235.00000 0.00427850 -0.00091560 0.00000000 0.00000000 280.800000 0.02135760 -0.00460310 0.00000000 0.00000000 79.2700000 0.08218580 -0.01822840 0.00000000 0.00000000 25.5900000 0.23507150 -0.05586900 0.00000000 0.00000000 8.99700000 0.43426130 -0.12698890 0.00000000 0.00000000 3.31900000 0.34573330 -0.17010500 0.00000000 0.00000000 0.905900000 0.03929770 0.14097660 1.00000000 0.00000000 0.364300000 -0.00895470 0.59867600 0.00000000 0.00000000 0.128500000 0.00237740 0.39486860 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 18.7100000 0.01407380 0.00000000 0.00000000 4.13300000 0.08690160 0.00000000 0.00000000 1.20000000 0.29020160 0.00000000 0.00000000 0.382700000 0.50090390 1.00000000 0.00000000 0.120900000 0.34352380 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.09700000 1.00000000 0.00000000 0.318000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.761000000 1.00000000 a 7 $ NITROGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ S-TYPE FUNCTIONS 10 4 0 11420.0000 0.00071270 -0.00015730 0.00000000 0.00000000 1712.00000 0.00428130 -0.00094850 0.00000000 0.00000000 389.300000 0.02114210 -0.00471270 0.00000000 0.00000000 110.000000 0.08118870 -0.01866580 0.00000000 0.00000000 35.5700000 0.23343680 -0.05750210 0.00000000 0.00000000 12.5400000 0.43331540 -0.13221770 0.00000000 0.00000000 4.64400000 0.34691160 -0.17214640 0.00000000 0.00000000 1.29300000 0.04115850 0.15266210 1.00000000 0.00000000 0.511800000 -0.00848380 0.59993710 0.00000000 0.00000000 0.178700000 0.00237790 0.38670860 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 26.6300000 0.01473680 0.00000000 0.00000000 5.94800000 0.09183290 0.00000000 0.00000000 1.74200000 0.29868850 0.00000000 0.00000000 0.555000000 0.49835580 1.00000000 0.00000000 0.172500000 0.33713200 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.65400000 1.00000000 0.00000000 0.469000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.09300000 1.00000000 a 8 $ OXYGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ S-TYPE FUNCTIONS 10 4 0 15330.0000 0.00074280 -0.00016880 0.00000000 0.00000000 2299.00000 0.00424050 -0.00096790 0.00000000 0.00000000 522.400000 0.02071940 -0.00475490 0.00000000 0.00000000 147.300000 0.07979310 -0.01891260 0.00000000 0.00000000 47.5500000 0.23118160 -0.05869140 0.00000000 0.00000000 16.7600000 0.43288450 -0.13666260 0.00000000 0.00000000 6.20700000 0.34950730 -0.17523530 0.00000000 0.00000000 1.75200000 0.04258500 0.16209200 1.00000000 0.00000000 0.688200000 -0.00812290 0.60339250 0.00000000 0.00000000 0.238400000 0.00237250 0.37774520 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 34.4600000 0.01602670 0.00000000 0.00000000 7.74900000 0.09984900 0.00000000 0.00000000 2.28000000 0.31050860 0.00000000 0.00000000 0.715600000 0.49085990 1.00000000 0.00000000 0.214000000 0.33644680 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 2.31400000 1.00000000 0.00000000 0.645000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.42800000 1.00000000 a 9 $ FLUORINE (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ S-TYPE FUNCTIONS 10 4 0 19500.0000 0.00079130 -0.00018350 0.00000000 0.00000000 2923.00000 0.00432100 -0.00100710 0.00000000 0.00000000 664.500000 0.02080390 -0.00487190 0.00000000 0.00000000 187.500000 0.07979330 -0.01933230 0.00000000 0.00000000 60.6200000 0.23107850 -0.05995820 0.00000000 0.00000000 21.4200000 0.43257800 -0.14027440 0.00000000 0.00000000 7.95000000 0.34899450 -0.17610520 0.00000000 0.00000000 2.25700000 0.04304760 0.17313500 1.00000000 0.00000000 0.881500000 -0.00785250 0.60497370 0.00000000 0.00000000 0.304100000 0.00237330 0.36820070 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 43.8800000 0.01680000 0.00000000 0.00000000 9.92600000 0.10462990 0.00000000 0.00000000 2.93000000 0.31728730 0.00000000 0.00000000 0.913200000 0.48716680 1.00000000 0.00000000 0.267200000 0.33467710 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 3.10700000 1.00000000 0.00000000 0.855000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.91700000 1.00000000 a 10 $ NEON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ S-TYPE FUNCTIONS 10 4 0 24350.0000 0.00083580 -0.00019670 0.00000000 0.00000000 3650.00000 0.00437450 -0.00103540 0.00000000 0.00000000 829.600000 0.02074230 -0.00493080 0.00000000 0.00000000 234.000000 0.07939360 -0.01954540 0.00000000 0.00000000 75.6100000 0.23048320 -0.06075850 0.00000000 0.00000000 26.7300000 0.43236210 -0.14284600 0.00000000 0.00000000 9.92700000 0.34942740 -0.17684250 0.00000000 0.00000000 2.83600000 0.04367520 0.17925560 1.00000000 0.00000000 1.10200000 -0.00759670 0.60573430 0.00000000 0.00000000 0.378200000 0.00236100 0.36346080 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 54.7000000 0.01732780 0.00000000 0.00000000 12.4300000 0.10787070 0.00000000 0.00000000 3.67900000 0.32172520 0.00000000 0.00000000 1.14300000 0.48501630 1.00000000 0.00000000 0.330000000 0.33264290 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 4.01400000 1.00000000 0.00000000 1.09600000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 2.54400000 1.00000000 a 13 $ ALUMINUM (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ S-TYPE FUNCTIONS 15 5 0 205500.000 0.00024860 -0.00006490 0.00001500 0.00000000 0.00000000 30780.0000 0.00091830 -0.00024010 0.00005540 0.00000000 0.00000000 7006.00000 0.00343880 -0.00090000 0.00020800 0.00000000 0.00000000 1985.00000 0.01243090 -0.00328260 0.00075790 0.00000000 0.00000000 649.100000 0.04113720 -0.01101700 0.00255170 0.00000000 0.00000000 235.000000 0.11651980 -0.03274300 0.00759090 0.00000000 0.00000000 91.6200000 0.26172170 -0.08097020 0.01897920 0.00000000 0.00000000 37.6700000 0.39539850 -0.15711160 0.03737790 0.00000000 0.00000000 15.9100000 0.28279770 -0.16673950 0.04150270 0.00000000 0.00000000 5.85000000 0.04405950 0.12999490 -0.03624540 0.00000000 0.00000000 2.54200000 -0.00484400 0.56194100 -0.17594550 0.00000000 0.00000000 1.05700000 0.00258500 0.43376330 -0.27479580 0.00000000 0.00000000 0.293100000 -0.00107600 0.03489810 0.11213800 1.00000000 0.00000000 0.145500000 0.00071320 -0.01110080 0.65211090 0.00000000 0.00000000 0.056500000 -0.00017630 0.00212230 0.39237190 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 444.400000 0.00174700 -0.00030760 0.00000000 0.00000000 105.100000 0.01330610 -0.00246460 0.00000000 0.00000000 33.4700000 0.06166230 -0.01093750 0.00000000 0.00000000 12.3300000 0.18823500 -0.03647110 0.00000000 0.00000000 4.86900000 0.36042800 -0.06403940 0.00000000 0.00000000 1.96100000 0.40807220 -0.09706520 0.00000000 0.00000000 0.783400000 0.18847790 0.01488750 1.00000000 0.00000000 0.188800000 0.00979940 0.50271040 0.00000000 0.00000000 0.055570000 -0.00115820 0.59862960 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.109000000 1.00000000 0.00000000 0.333000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.244000000 1.00000000 a 14 $ SILICON (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ S-TYPE FUNCTIONS 15 5 0 254900.000 0.00025290 -0.00006760 0.00001730 0.00000000 0.00000000 38190.0000 0.00090900 -0.00024340 0.00006240 0.00000000 0.00000000 8690.00000 0.00330250 -0.00088630 0.00022720 0.00000000 0.00000000 2462.00000 0.01167590 -0.00315520 0.00080850 0.00000000 0.00000000 804.800000 0.03837950 -0.01053630 0.00270760 0.00000000 0.00000000 291.300000 0.10920470 -0.03128480 0.00805060 0.00000000 0.00000000 113.600000 0.24901270 -0.07852450 0.02042610 0.00000000 0.00000000 46.7500000 0.38994730 -0.15465060 0.04087280 0.00000000 0.00000000 19.8200000 0.29988300 -0.17868180 0.04943000 0.00000000 0.00000000 7.70800000 0.05534980 0.08341920 -0.02599520 0.00000000 0.00000000 3.34000000 -0.00397100 0.54854150 -0.19151910 0.00000000 0.00000000 1.40200000 0.00254940 0.47674480 -0.31672530 0.00000000 0.00000000 0.438700000 -0.00102490 0.04632360 0.09892720 1.00000000 0.00000000 0.207000000 0.00060010 -0.01032120 0.68073320 0.00000000 0.00000000 0.079440000 -0.00015200 0.00211040 0.39280830 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 481.500000 0.00207450 -0.00043810 0.00000000 0.00000000 113.900000 0.01566440 -0.00342470 0.00000000 0.00000000 36.2300000 0.07195180 -0.01540230 0.00000000 0.00000000 13.3400000 0.21348970 -0.04899310 0.00000000 0.00000000 5.25200000 0.39027290 -0.08541920 0.00000000 0.00000000 2.12000000 0.39321550 -0.11190970 0.00000000 0.00000000 0.856100000 0.13238430 0.06205260 1.00000000 0.00000000 0.252800000 0.00398580 0.55137070 0.00000000 0.00000000 0.078890000 0.00032510 0.52390860 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.159000000 1.00000000 0.00000000 0.481000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.336000000 1.00000000 a 15 $ PHOSPHORUS (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ S-TYPE FUNCTIONS 15 5 0 312400.000 0.00025710 -0.00007020 -0.00001930 0.00000000 0.00000000 46800.0000 0.00090200 -0.00024650 -0.00006770 0.00000000 0.00000000 10650.0000 0.00318530 -0.00087320 -0.00024010 0.00000000 0.00000000 3018.00000 0.01100550 -0.00303270 -0.00083340 0.00000000 0.00000000 986.800000 0.03583590 -0.01004730 -0.00276990 0.00000000 0.00000000 357.400000 0.10218610 -0.02974360 -0.00820760 0.00000000 0.00000000 139.600000 0.23572070 -0.07546660 -0.02106520 0.00000000 0.00000000 57.6300000 0.38152040 -0.15046880 -0.04263100 0.00000000 0.00000000 24.6000000 0.31560270 -0.18783910 -0.05582500 0.00000000 0.00000000 10.1200000 0.06996210 0.04039870 0.01402840 0.00000000 0.00000000 4.28300000 -0.00178540 0.53081690 0.19811700 0.00000000 0.00000000 1.80500000 0.00213120 0.51516520 0.35174650 0.00000000 0.00000000 0.615800000 -0.00082190 0.05905240 -0.07897000 1.00000000 0.00000000 0.278200000 0.00042550 -0.00891090 -0.70084740 0.00000000 0.00000000 0.105500000 -0.00011250 0.00201790 -0.40118580 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 504.900000 0.00253660 -0.00060280 0.00000000 0.00000000 119.400000 0.01894260 -0.00455520 0.00000000 0.00000000 37.9600000 0.08567060 -0.02080470 0.00000000 0.00000000 13.9500000 0.24511210 -0.06186350 0.00000000 0.00000000 5.45700000 0.42256980 -0.10881450 0.00000000 0.00000000 2.17700000 0.36777690 -0.10521490 0.00000000 0.00000000 0.801000000 0.07712830 0.15375470 1.00000000 0.00000000 0.287700000 -0.00375870 0.57646540 0.00000000 0.00000000 0.097140000 0.00159240 0.42272720 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.216000000 1.00000000 0.00000000 0.652000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.452000000 1.00000000 a 16 $ SULFUR (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ S-TYPE FUNCTIONS 15 5 0 374100.000 0.00026380 -0.00007330 0.00002130 0.00000000 0.00000000 56050.0000 0.00090620 -0.00025210 0.00007320 0.00000000 0.00000000 12760.0000 0.00312470 -0.00087250 0.00025350 0.00000000 0.00000000 3615.00000 0.01056030 -0.00296040 0.00085990 0.00000000 0.00000000 1183.00000 0.03400350 -0.00970960 0.00282830 0.00000000 0.00000000 428.800000 0.09692190 -0.02862290 0.00834970 0.00000000 0.00000000 167.800000 0.22525820 -0.07312040 0.02156380 0.00000000 0.00000000 69.4700000 0.37355120 -0.14709610 0.04407140 0.00000000 0.00000000 29.8400000 0.32628780 -0.19357290 0.06074060 0.00000000 0.00000000 12.7200000 0.08361290 0.01282660 -0.00517100 0.00000000 0.00000000 5.24400000 0.00044290 0.51947490 -0.20668340 0.00000000 0.00000000 2.21900000 0.00162150 0.53755120 -0.37965250 0.00000000 0.00000000 0.776700000 -0.00061130 0.06702650 0.08850350 1.00000000 0.00000000 0.349000000 0.00029570 -0.00882730 0.71393360 0.00000000 0.00000000 0.132200000 -0.00008270 0.00217660 0.38967980 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 574.400000 0.00265830 -0.00068040 0.00000000 0.00000000 135.800000 0.01976010 -0.00506300 0.00000000 0.00000000 43.1900000 0.08938400 -0.02348890 0.00000000 0.00000000 15.8700000 0.25525380 -0.06865260 0.00000000 0.00000000 6.20800000 0.43372500 -0.12376980 0.00000000 0.00000000 2.48300000 0.35412240 -0.09639320 0.00000000 0.00000000 0.868800000 0.06174600 0.22857390 1.00000000 0.00000000 0.322900000 -0.00500470 0.56883320 0.00000000 0.00000000 0.109800000 0.00209330 0.36650180 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.269000000 1.00000000 0.00000000 0.819000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.557000000 1.00000000 a 17 $ CHLORINE (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ S-TYPE FUNCTIONS 15 5 0 456100.000 0.00026450 -0.00007470 0.00002260 0.00000000 0.00000000 68330.0000 0.00089050 -0.00025150 0.00007610 0.00000000 0.00000000 15550.0000 0.00299340 -0.00084920 0.00025720 0.00000000 0.00000000 4405.00000 0.00988710 -0.00281280 0.00085150 0.00000000 0.00000000 1439.00000 0.03156060 -0.00915190 0.00277860 0.00000000 0.00000000 520.400000 0.09037110 -0.02699030 0.00820520 0.00000000 0.00000000 203.100000 0.21344060 -0.06993300 0.02149330 0.00000000 0.00000000 83.9600000 0.36467720 -0.14269060 0.04452760 0.00000000 0.00000000 36.2000000 0.33773870 -0.19788530 0.06466800 0.00000000 0.00000000 15.8300000 0.10068100 -0.01432830 0.00419110 0.00000000 0.00000000 6.33400000 0.00307320 0.50365070 -0.20927520 0.00000000 0.00000000 2.69400000 0.00103730 0.55842340 -0.40332470 0.00000000 0.00000000 0.976800000 -0.00036950 0.07686560 0.08270710 1.00000000 0.00000000 0.431300000 0.00015200 -0.00805000 0.72560820 0.00000000 0.00000000 0.162500000 -0.00005020 0.00224040 0.38961930 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 663.300000 0.00267410 -0.00072530 0.00000000 0.00000000 156.800000 0.01977150 -0.00534740 0.00000000 0.00000000 49.9800000 0.08949910 -0.02497610 0.00000000 0.00000000 18.4200000 0.25675020 -0.07300050 0.00000000 0.00000000 7.24000000 0.43663740 -0.13389230 0.00000000 0.00000000 2.92200000 0.34932060 -0.09403340 0.00000000 0.00000000 1.02200000 0.05835890 0.26277000 1.00000000 0.00000000 0.381800000 -0.00455450 0.56404640 0.00000000 0.00000000 0.130100000 0.00226370 0.34134190 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.04600000 1.00000000 0.00000000 0.344000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.706000000 1.00000000 a 18 $ ARGON (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ S-TYPE FUNCTIONS 15 5 0 545000.000 0.00026760 -0.00007660 0.00002390 0.00000000 0.00000000 81640.0000 0.00088510 -0.00025340 0.00007920 0.00000000 0.00000000 18580.0000 0.00291150 -0.00083750 0.00026200 0.00000000 0.00000000 5261.00000 0.00941070 -0.00271270 0.00084830 0.00000000 0.00000000 1717.00000 0.02972520 -0.00873700 0.00274020 0.00000000 0.00000000 619.900000 0.08521890 -0.02572150 0.00807740 0.00000000 0.00000000 241.600000 0.20354650 -0.06726130 0.02135140 0.00000000 0.00000000 99.7900000 0.35626370 -0.13893100 0.04476530 0.00000000 0.00000000 43.1500000 0.34610000 -0.20033270 0.06756130 0.00000000 0.00000000 19.1400000 0.11641620 -0.03538760 0.01198760 0.00000000 0.00000000 7.48800000 0.00550380 0.48964280 -0.21091740 0.00000000 0.00000000 3.20500000 0.00047260 0.57320400 -0.42215210 0.00000000 0.00000000 1.19600000 -0.00014350 0.08534900 0.07824180 1.00000000 0.00000000 0.520400000 0.00002700 -0.00701770 0.73373620 0.00000000 0.00000000 0.195400000 -0.00002230 0.00224710 0.39047070 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 761.800000 0.00267460 -0.00075300 0.00000000 0.00000000 180.200000 0.01965630 -0.00550910 0.00000000 0.00000000 57.5000000 0.08922680 -0.02589190 0.00000000 0.00000000 21.2400000 0.25725320 -0.07595870 0.00000000 0.00000000 8.38800000 0.43839400 -0.14098260 0.00000000 0.00000000 3.41600000 0.34635530 -0.09233380 0.00000000 0.00000000 1.20600000 0.05643120 0.28348980 1.00000000 0.00000000 0.452300000 -0.00520530 0.56175010 0.00000000 0.00000000 0.154500000 0.00163510 0.32504100 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.410000000 1.00000000 0.00000000 1.25400000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.890000000 1.00000000 a 31 $ GALLIUM (20s,13p,9d,1f) -> [6s,5p,2d,1f] $ S-TYPE FUNCTIONS 20 6 0 6558157.30 0.00018240 -0.00005780 0.00002210 0.00000520 0.00000000 0.00000000 982025.340 0.00051770 -0.00016420 0.00006290 0.00001470 0.00000000 0.00000000 223467.690 0.00139080 -0.00044210 0.00016930 0.00003970 0.00000000 0.00000000 63288.2910 0.00347630 -0.00110880 0.00042480 0.00009960 0.00000000 0.00000000 20642.9400 0.00864750 -0.00277700 0.00106430 0.00024950 0.00000000 0.00000000 7450.52240 0.02158240 -0.00701130 0.00269360 0.00063220 0.00000000 0.00000000 2905.07440 0.05331920 -0.01776300 0.00683600 0.00160230 0.00000000 0.00000000 1204.21000 0.12304670 -0.04306710 0.01671060 0.00393050 0.00000000 0.00000000 524.304540 0.24183020 -0.09429790 0.03700630 0.00868720 0.00000000 0.00000000 237.465630 0.34866100 -0.16823330 0.06822330 0.01616960 0.00000000 0.00000000 110.578660 0.28136750 -0.19205580 0.08154000 0.01925080 0.00000000 0.00000000 51.3746240 0.07706930 0.03221300 -0.01541470 -0.00335860 0.00000000 0.00000000 24.4408460 0.00071990 0.50677760 -0.31460480 -0.07972490 0.00000000 0.00000000 11.7685910 0.00150650 0.51191300 -0.47061330 -0.12257690 0.00000000 0.00000000 5.34211900 -0.00070460 0.10137580 0.12040010 0.03716850 0.00000000 0.00000000 2.49503600 0.00029040 -0.00051930 0.73341750 0.26209870 0.00000000 0.00000000 1.09877300 -0.00012170 0.00195370 0.40503720 0.26854820 0.00000000 0.00000000 0.260180000 0.00004810 -0.00041320 0.01701350 -0.34431440 0.00000000 0.00000000 0.127079000 -0.00003560 0.00030490 -0.00675040 -0.56916160 1.00000000 0.00000000 0.054408000 0.00001020 -0.00008780 0.00153230 -0.26399510 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 8050.16740 0.00066190 -0.00025240 0.00004150 0.00000000 0.00000000 1907.53610 0.00359450 -0.00137350 0.00022160 0.00000000 0.00000000 618.627460 0.01704460 -0.00658950 0.00109300 0.00000000 0.00000000 235.324170 0.06327070 -0.02488680 0.00400970 0.00000000 0.00000000 98.8996460 0.17729080 -0.07278760 0.01221630 0.00000000 0.00000000 44.2482150 0.34246400 -0.14757980 0.02367190 0.00000000 0.00000000 20.6174290 0.38630450 -0.17465220 0.03100830 0.00000000 0.00000000 9.78051600 0.18017100 0.04268810 -0.01491850 0.00000000 0.00000000 4.44123800 0.02127970 0.42731030 -0.07379160 0.00000000 0.00000000 1.96404500 0.00111430 0.49155160 -0.12637410 0.00000000 0.00000000 0.833578000 0.00027550 0.17520720 0.02018860 0.00000000 0.00000000 0.193445000 0.00001090 0.00607730 0.50704750 1.00000000 0.00000000 0.056117000 -0.00000370 -0.00070790 0.59919330 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 3 0 244.147410 0.00214940 0.00000000 0.00000000 73.0675950 0.01668930 0.00000000 0.00000000 27.5920810 0.07024910 0.00000000 0.00000000 11.5465180 0.19004390 0.00000000 0.00000000 5.04862800 0.32401550 0.00000000 0.00000000 2.17846500 0.36672580 0.00000000 0.00000000 0.900253000 0.27728400 0.00000000 0.00000000 0.337327000 0.09638940 1.00000000 0.00000000 0.116900000 0.00376280 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.288100000 1.00000000 a 32 $ GERMANIUM (20s,13p,9d,1f) -> [6s,5p,2d,1f] $ S-TYPE FUNCTIONS 20 6 0 7447966.80 0.00018220 -0.00005800 0.00002240 -0.00000580 0.00000000 0.00000000 1115318.20 0.00051450 -0.00016400 0.00006340 -0.00001640 0.00000000 0.00000000 253842.650 0.00137230 -0.00043840 0.00016960 -0.00004370 0.00000000 0.00000000 71915.2850 0.00339540 -0.00108810 0.00042120 -0.00010870 0.00000000 0.00000000 23470.1810 0.00833890 -0.00269140 0.00104250 -0.00026890 0.00000000 0.00000000 8477.49180 0.02052810 -0.00669520 0.00259780 -0.00067070 0.00000000 0.00000000 3308.39080 0.05019630 -0.01678820 0.00653140 -0.00168440 0.00000000 0.00000000 1372.60540 0.11567250 -0.04047220 0.01584800 -0.00409990 0.00000000 0.00000000 598.220070 0.22977110 -0.08916040 0.03535320 -0.00913280 0.00000000 0.00000000 271.386020 0.34143760 -0.16124290 0.06577380 -0.01713940 0.00000000 0.00000000 126.977950 0.29377180 -0.19616580 0.08403950 -0.02185650 0.00000000 0.00000000 60.2220650 0.09384290 -0.00380050 0.00095670 -0.00056390 0.00000000 0.00000000 28.0185820 0.00386640 0.47255660 -0.28728650 0.07988170 0.00000000 0.00000000 13.5175220 0.00096160 0.53956290 -0.49054440 0.14113290 0.00000000 0.00000000 6.30940600 -0.00045210 0.12793420 0.04428110 -0.01658380 0.00000000 0.00000000 2.90453400 0.00016450 0.00190200 0.73118890 -0.28562000 0.00000000 0.00000000 1.28755600 -0.00008400 0.00189520 0.45406730 -0.32256000 0.00000000 0.00000000 0.336552000 0.00003470 -0.00041820 0.02298900 0.32700010 1.00000000 0.00000000 0.167732000 -0.00002440 0.00028920 -0.00799700 0.60184510 0.00000000 0.00000000 0.071069000 0.00000670 -0.00008090 0.00170800 0.27126670 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 6979.59820 0.00090450 -0.00034980 0.00006910 0.00000000 0.00000000 1654.16480 0.00502900 -0.00195830 0.00038550 0.00000000 0.00000000 536.028650 0.02376710 -0.00933280 0.00184770 0.00000000 0.00000000 203.537130 0.08587060 -0.03469450 0.00685290 0.00000000 0.00000000 85.2375300 0.22645300 -0.09527650 0.01902900 0.00000000 0.00000000 37.8419620 0.39057110 -0.17593100 0.03509600 0.00000000 0.00000000 17.4065120 0.35116180 -0.14218210 0.02849020 0.00000000 0.00000000 7.88149200 0.10417950 0.19344150 -0.04875350 0.00000000 0.00000000 3.53321300 0.00359880 0.52747650 -0.12544420 0.00000000 0.00000000 1.52147300 0.00184740 0.39072850 -0.11832180 0.00000000 0.00000000 0.562704000 -0.00039290 0.05511540 0.14127070 1.00000000 0.00000000 0.199093000 0.00018170 -0.00306570 0.57323810 0.00000000 0.00000000 0.067031000 -0.00005790 0.00119690 0.44327180 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 3 0 282.239110 0.00195670 0.00000000 0.00000000 84.5499570 0.01537720 0.00000000 0.00000000 32.0736560 0.06601680 0.00000000 0.00000000 13.4974950 0.18297130 0.00000000 0.00000000 5.95855000 0.32140800 0.00000000 0.00000000 2.61078800 0.37176200 0.00000000 0.00000000 1.10398700 0.27796500 0.00000000 0.00000000 0.424049000 0.08934750 1.00000000 0.00000000 0.152000000 0.00306890 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.345800000 1.00000000 a 33 $ ARSENIC (20s,13p,9d,1f) -> [6s,5p,2d,1f] $ S-TYPE FUNCTIONS 20 6 0 8482339.60 0.00018140 -0.00005800 0.00002270 -0.00000630 0.00000000 0.00000000 1270150.90 0.00050930 -0.00016310 0.00006380 -0.00001760 0.00000000 0.00000000 289056.960 0.00134990 -0.00043330 0.00016940 -0.00004690 0.00000000 0.00000000 81879.8490 0.00330920 -0.00106530 0.00041660 -0.00011530 0.00000000 0.00000000 26716.5640 0.00803460 -0.00260560 0.00102010 -0.00028220 0.00000000 0.00000000 9647.58420 0.01953520 -0.00639630 0.00250680 -0.00069430 0.00000000 0.00000000 3764.11950 0.04731550 -0.01588300 0.00624650 -0.00172840 0.00000000 0.00000000 1561.56560 0.10884320 -0.03808190 0.01505130 -0.00417680 0.00000000 0.00000000 680.814670 0.21824050 -0.08430600 0.03377510 -0.00936220 0.00000000 0.00000000 309.241190 0.33326980 -0.15436630 0.06336680 -0.01770650 0.00000000 0.00000000 145.257360 0.30430710 -0.19811320 0.08559970 -0.02390340 0.00000000 0.00000000 69.7390480 0.11170210 -0.03376100 0.01455100 -0.00440500 0.00000000 0.00000000 31.7703250 0.00746350 0.43763850 -0.26216090 0.07807180 0.00000000 0.00000000 15.3917570 0.00030410 0.55866160 -0.50182630 0.15524420 0.00000000 0.00000000 7.34152600 -0.00014220 0.15570080 -0.01995560 0.00426610 0.00000000 0.00000000 3.32371600 0.00001950 0.00501040 0.72276350 -0.30255790 0.00000000 0.00000000 1.48586700 -0.00003320 0.00168030 0.49409810 -0.36915500 0.00000000 0.00000000 0.421086000 0.00001310 -0.00036070 0.02906330 0.30520980 1.00000000 0.00000000 0.211500000 -0.00000850 0.00022870 -0.00879750 0.63303800 0.00000000 0.00000000 0.088974000 0.00000230 -0.00006480 0.00183130 0.28109110 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 7423.86140 0.00093840 -0.00036850 0.00008190 0.00000000 0.00000000 1759.51660 0.00513350 -0.00203000 0.00045220 0.00000000 0.00000000 570.229160 0.02410040 -0.00961030 0.00214040 0.00000000 0.00000000 216.579970 0.08676450 -0.03561900 0.00797080 0.00000000 0.00000000 90.7342520 0.22827850 -0.09761590 0.02191100 0.00000000 0.00000000 40.3087910 0.39203170 -0.17970070 0.04081930 0.00000000 0.00000000 18.5555020 0.34893800 -0.14148780 0.03110870 0.00000000 0.00000000 8.39654300 0.10183760 0.20437060 -0.05669840 0.00000000 0.00000000 3.76736700 0.00327340 0.53780500 -0.15176850 0.00000000 0.00000000 1.62970100 0.00177290 0.37875160 -0.12090540 0.00000000 0.00000000 0.568263000 -0.00042390 0.04527740 0.21364160 1.00000000 0.00000000 0.222503000 0.00021700 -0.00503370 0.58252640 0.00000000 0.00000000 0.080405000 -0.00006790 0.00143310 0.36321290 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 3 0 321.019610 0.00182050 0.00000000 0.00000000 96.2493050 0.01442000 0.00000000 0.00000000 36.6449630 0.06289100 0.00000000 0.00000000 15.4939650 0.17763570 0.00000000 0.00000000 6.89113800 0.31958020 0.00000000 0.00000000 3.05483100 0.37609630 0.00000000 0.00000000 1.31424100 0.27777050 0.00000000 0.00000000 0.513430000 0.08375820 1.00000000 0.00000000 0.187700000 0.00262210 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.415800000 1.00000000 a 34 $ SELENIUM (20s,13p,9d,1f) -> [6s,5p,2d,1f] $ S-TYPE FUNCTIONS 20 6 0 9563600.00 0.00018150 -0.00005830 0.00002300 -0.00000680 0.00000000 0.00000000 1432100.00 0.00050720 -0.00016320 0.00006440 -0.00001890 0.00000000 0.00000000 325910.000 0.00133640 -0.00043090 0.00017020 -0.00005000 0.00000000 0.00000000 92312.0000 0.00324890 -0.00105060 0.00041510 -0.00012180 0.00000000 0.00000000 30116.0000 0.00780650 -0.00254330 0.00100610 -0.00029520 0.00000000 0.00000000 10872.0000 0.01876620 -0.00616930 0.00244210 -0.00071730 0.00000000 0.00000000 4240.10000 0.04503780 -0.01517460 0.00603130 -0.00176980 0.00000000 0.00000000 1758.40000 0.10333110 -0.03618850 0.01443780 -0.00424880 0.00000000 0.00000000 766.590000 0.20864310 -0.08035930 0.03252280 -0.00956020 0.00000000 0.00000000 348.430000 0.32565040 -0.14866310 0.06145610 -0.01820880 0.00000000 0.00000000 164.030000 0.31223470 -0.19865250 0.08655750 -0.02563760 0.00000000 0.00000000 79.1420000 0.12761320 -0.05618470 0.02480760 -0.00773710 0.00000000 0.00000000 35.5240000 0.01086890 0.40680120 -0.24177340 0.07635680 0.00000000 0.00000000 17.3050000 -0.00031790 0.56989140 -0.50710510 0.16652650 0.00000000 0.00000000 8.37840000 0.00015150 0.18121220 -0.07051220 0.02318910 0.00000000 0.00000000 3.74050000 -0.00011260 0.00821580 0.71244840 -0.31779540 0.00000000 0.00000000 1.68900000 0.00001930 0.00137420 0.52436400 -0.41070460 0.00000000 0.00000000 0.509270000 -0.00001100 -0.00026850 0.03438120 0.30118160 1.00000000 0.00000000 0.255200000 0.00000780 0.00015050 -0.00908460 0.65875380 0.00000000 0.00000000 0.106510000 -0.00000180 -0.00004720 0.00190730 0.27856220 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 8004.30000 0.00095380 -0.00038000 0.00009160 0.00000000 0.00000000 1896.90000 0.00512090 -0.00205430 0.00049720 0.00000000 0.00000000 614.710000 0.02388420 -0.00966490 0.00233190 0.00000000 0.00000000 233.500000 0.08587780 -0.03576460 0.00870230 0.00000000 0.00000000 97.8560000 0.22652200 -0.09832110 0.02390080 0.00000000 0.00000000 43.5140000 0.39076990 -0.18176160 0.04502590 0.00000000 0.00000000 20.0630000 0.35032440 -0.14468770 0.03406280 0.00000000 0.00000000 9.11270000 0.10401710 0.20327030 -0.06083090 0.00000000 0.00000000 4.10630000 0.00358390 0.54205190 -0.17159800 0.00000000 0.00000000 1.79490000 0.00172290 0.37619970 -0.12435980 0.00000000 0.00000000 0.624320000 -0.00042300 0.04263220 0.26939840 1.00000000 0.00000000 0.246150000 0.00020750 -0.00465570 0.57435330 0.00000000 0.00000000 0.088917000 -0.00006800 0.00158910 0.32631190 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 3 0 361.850000 0.00170930 0.00000000 0.00000000 108.550000 0.01362450 0.00000000 0.00000000 41.4330000 0.06030850 0.00000000 0.00000000 17.5790000 0.17327390 0.00000000 0.00000000 7.86270000 0.31821940 0.00000000 0.00000000 3.51800000 0.37988240 0.00000000 0.00000000 1.53480000 0.27730160 0.00000000 0.00000000 0.608130000 0.07917930 1.00000000 0.00000000 0.222000000 0.00230990 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.462000000 1.00000000 a 35 $ BROMINE (20s,13p,9d,1f) -> [6s,5p,2d,1f] $ S-TYPE FUNCTIONS 20 6 0 10639000.0 0.00018320 -0.00005910 0.00002360 -0.00000720 0.00000000 0.00000000 1593400.00 0.00050940 -0.00016460 0.00006570 -0.00002020 0.00000000 0.00000000 362610.000 0.00133530 -0.00043250 0.00017260 -0.00005300 0.00000000 0.00000000 102700.000 0.00322220 -0.00104660 0.00041760 -0.00012840 0.00000000 0.00000000 33501.0000 0.00767070 -0.00251030 0.00100310 -0.00030830 0.00000000 0.00000000 12093.0000 0.01824390 -0.00602290 0.00240750 -0.00074070 0.00000000 0.00000000 4715.90000 0.04338260 -0.01467340 0.00589160 -0.00181090 0.00000000 0.00000000 1955.60000 0.09914260 -0.03479010 0.01401020 -0.00431900 0.00000000 0.00000000 852.610000 0.20107060 -0.07733870 0.03160980 -0.00973290 0.00000000 0.00000000 387.670000 0.31912120 -0.14424750 0.06008770 -0.01864830 0.00000000 0.00000000 182.680000 0.31793740 -0.19854610 0.08723090 -0.02706790 0.00000000 0.00000000 88.2450000 0.14066610 -0.07262610 0.03248420 -0.01051400 0.00000000 0.00000000 39.2630000 0.01386110 0.38096630 -0.22581440 0.07475650 0.00000000 0.00000000 19.2340000 -0.00084140 0.57614700 -0.50935210 0.17534220 0.00000000 0.00000000 9.40570000 0.00039820 0.20336290 -0.11062660 0.03991530 0.00000000 0.00000000 4.16010000 -0.00022260 0.01122990 0.70182180 -0.33010970 0.00000000 0.00000000 1.89950000 0.00006780 0.00104300 0.54779880 -0.44630030 0.00000000 0.00000000 0.604720000 -0.00003380 -0.00017080 0.03935710 0.29570420 1.00000000 0.00000000 0.301140000 0.00002210 0.00007290 -0.00899680 0.68106960 0.00000000 0.00000000 0.125150000 -0.00000520 -0.00003180 0.00194680 0.27856270 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 8676.50000 0.00096060 -0.00038810 0.00010010 0.00000000 0.00000000 2055.90000 0.00505510 -0.00205570 0.00053300 0.00000000 0.00000000 666.230000 0.02341540 -0.00960850 0.00248080 0.00000000 0.00000000 253.100000 0.08414140 -0.03550990 0.00925950 0.00000000 0.00000000 106.120000 0.22296160 -0.09812870 0.02552860 0.00000000 0.00000000 47.2420000 0.38806570 -0.18285760 0.04861250 0.00000000 0.00000000 21.8250000 0.35345480 -0.14983130 0.03768640 0.00000000 0.00000000 9.96840000 0.10853210 0.19596550 -0.06310360 0.00000000 0.00000000 4.51710000 0.00423390 0.54336980 -0.18789880 0.00000000 0.00000000 1.99820000 0.00169540 0.37924480 -0.13193070 0.00000000 0.00000000 0.709880000 -0.00042840 0.04341210 0.29766620 1.00000000 0.00000000 0.281450000 0.00019800 -0.00403300 0.57239460 0.00000000 0.00000000 0.102040000 -0.00006900 0.00171140 0.30638960 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 3 0 403.830000 0.00162480 0.00000000 0.00000000 121.170000 0.01300680 0.00000000 0.00000000 46.3450000 0.05828810 0.00000000 0.00000000 19.7210000 0.16985770 0.00000000 0.00000000 8.86240000 0.31726280 0.00000000 0.00000000 3.99620000 0.38311520 0.00000000 0.00000000 1.76360000 0.27641350 0.00000000 0.00000000 0.706190000 0.07534320 1.00000000 0.00000000 0.263900000 0.00206960 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.551500000 1.00000000 a 36 $ KRYPTON (20s,13p,9d,1f) -> [6s,5p,2d,1f] $ S-TYPE FUNCTIONS 20 6 0 11718113.0 0.00018590 -0.00006030 0.00002430 -0.00000770 0.00000000 0.00000000 1754604.40 0.00051500 -0.00016710 0.00006730 -0.00002150 0.00000000 0.00000000 399281.320 0.00134320 -0.00043700 0.00017600 -0.00005620 0.00000000 0.00000000 113084.570 0.00321950 -0.00105040 0.00042310 -0.00013510 0.00000000 0.00000000 36885.9250 0.00760090 -0.00249840 0.00100800 -0.00032180 0.00000000 0.00000000 13312.2090 0.01790600 -0.00593660 0.00239540 -0.00076560 0.00000000 0.00000000 5189.98830 0.04221500 -0.01433540 0.00581200 -0.00185550 0.00000000 0.00000000 2151.65970 0.09603490 -0.03379010 0.01373260 -0.00439740 0.00000000 0.00000000 938.032510 0.19522970 -0.07509340 0.03098450 -0.00990920 0.00000000 0.00000000 426.557320 0.31372920 -0.14090970 0.05916390 -0.01907270 0.00000000 0.00000000 201.066600 0.32194350 -0.19819550 0.08779570 -0.02830000 0.00000000 0.00000000 97.0976050 0.15107300 -0.08472450 0.03828210 -0.01281720 0.00000000 0.00000000 42.9987240 0.01642370 0.35971040 -0.21338200 0.07345970 0.00000000 0.00000000 21.1770750 -0.00125970 0.57935000 -0.51029730 0.18259520 0.00000000 0.00000000 10.4267520 0.00059510 0.22223110 -0.14289050 0.05464340 0.00000000 0.00000000 4.58500800 -0.00031190 0.01395420 0.69217990 -0.34077580 0.00000000 0.00000000 2.11760300 0.00011070 0.00072000 0.56594830 -0.47711080 0.00000000 0.00000000 0.707057000 -0.00005380 -0.00007860 0.04399800 0.29069700 1.00000000 0.00000000 0.349225000 0.00003360 -0.00000050 -0.00862850 0.70034630 0.00000000 0.00000000 0.144821000 -0.00000790 -0.00001720 0.00195710 0.27935830 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 9366.30900 0.00097070 -0.00039750 0.00010770 0.00000000 0.00000000 2219.55430 0.00500770 -0.00206390 0.00056220 0.00000000 0.00000000 719.452880 0.02301610 -0.00957570 0.00259640 0.00000000 0.00000000 273.464460 0.08255710 -0.03530130 0.00967460 0.00000000 0.00000000 114.752250 0.21953840 -0.09795030 0.02676800 0.00000000 0.00000000 51.1555690 0.38524100 -0.18386100 0.05142690 0.00000000 0.00000000 23.6826760 0.35632220 -0.15484020 0.04093470 0.00000000 0.00000000 10.8754840 0.11303590 0.18871470 -0.06443150 0.00000000 0.00000000 4.95513100 0.00492190 0.54452530 -0.20117540 0.00000000 0.00000000 2.21726700 0.00166310 0.38265230 -0.13908480 0.00000000 0.00000000 0.806410000 -0.00042540 0.04423060 0.31635350 1.00000000 0.00000000 0.322154000 0.00020460 -0.00444280 0.57251390 0.00000000 0.00000000 0.117619000 -0.00006210 0.00130020 0.29218570 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 3 0 446.161330 0.00156460 0.00000000 0.00000000 133.964770 0.01254140 0.00000000 0.00000000 51.3459070 0.05671990 0.00000000 0.00000000 21.9169060 0.16709030 0.00000000 0.00000000 9.89372500 0.31642180 0.00000000 0.00000000 4.49252700 0.38581200 0.00000000 0.00000000 2.00229300 0.27537810 0.00000000 0.00000000 0.808409000 0.07220210 1.00000000 0.00000000 0.300600000 0.00189660 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.662200000 1.00000000 ergo-3.5/basis/STO-1G0000775000175000017500000001144212743400275011207 00000000000000$Basis = STO-1G $Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu $ Zn Ga Ge As Se Br Kr Rb Sr Y Zr Nb Mo Tc Rh Rh Pd Ag Cd $ $ This file was created by keeping the middle exponent from the STO-3G basis set. $ A 1 $ HYDROGEN (3S) -> [1S] $ S-TYPE FUNCTIONS 1 1 0 0.6239137 1.0 A 2 $ HELIUM (3S) -> [1S] $ S-TYPE FUNCTIONS 1 1 0 1.1589230 1.0 A 3 $ LITHIUM (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 2 2 0 2.9362007 1.00000000 0.00000000 0.1478601 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.1478601 1.0 A 4 $ BERYLLIUM (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 2 2 0 5.4951153 1.00000000 0.00000000 0.3055389 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.3055389 1.0 A 5 $ BORON (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 2 2 0 8.8873622 1.00000000 0.00000000 0.5198205 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.5198205 1.0 A 6 $ CARBON (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 2 2 0 13.0450960 1.00000000 0.00000000 0.6834831 0.00000000 1.0 $ P-TYPE FUNCTIONS 1 1 0 0.6834831 1.0 A 7 $ NITROGEN (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 2 2 0 18.0523120 1.00000000 0.00000000 0.8784966 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.8784966 1.0 A 8 $ OXYGEN (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 2 2 0 23.8088610 1.00000000 0.00000000 1.1695961 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.1695961 1.0 A 9 $ FLUORINE (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 2 2 0 30.3608120 1.00000000 0.00000000 1.5022812 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.5022812 1.0 A 14 $ SILICON (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 3 3 0 74.2808000 1.00000000 0.00000000 0.00000000 5.3896990 0.00000000 1.00000000 0.00000000 0.4125650 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 5.3896990 1.00000000 0.00000000 0.4125650 0.00000000 1.00000000 A 15 $ PHOSPHORUS (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 3 3 0 85.3133400 1.00000000 0.00000000 0.00000000 6.5141730 0.00000000 1.00000000 0.00000000 0.4863210 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 6.5141730 1.00000000 0.00000000 0.4863210 0.00000000 1.00000000 A 16 $ SULFUR (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 3 3 0 97.1094800 1.00000000 0.00000000 0.00000000 7.7451060 0.00000000 1.00000000 0.00000000 0.5661400 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 7.7451060 1.00000000 0.00000000 0.5661400 0.00000000 1.00000000 A 17 $ CHLORINE (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 3 3 0 109.5358000 1.00000000 0.00000000 0.00000000 9.0535500 0.00000000 1.00000000 0.00000000 0.5940930 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 9.0535500 1.00000000 0.00000000 0.5940930 0.00000000 1.00000000 a 25 $ MANGANESE (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 4 4 0 243.5641365 1.00000000 0.00000000 0.00000000 0.00000000 23.7077192 0.00000000 1.00000000 0.00000000 0.00000000 2.3493436 0.00000000 0.00000000 1.00000000 0.00000000 0.2476347 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 23.7077192 1.00000000 0.00000000 0.00000000 2.3493436 0.00000000 1.00000000 0.00000000 0.2476347 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.6553929 1.0 a 26 $ IRON (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 4 4 0 263.6457916 1.00000000 0.00000000 0.00000000 0.00000000 26.0076824 0.00000000 1.00000000 0.00000000 0.00000000 2.6075863 0.00000000 0.00000000 1.00000000 0.00000000 0.2185279 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 26.0076824 1.00000000 0.00000000 0.00000000 2.6075863 0.00000000 1.00000000 0.00000000 0.2185279 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.9558044 1.00000000 ergo-3.5/basis/raf-r0000664000175000017500000027417712743400275011321 00000000000000/O.Raf-r.Wahlgren.9s6p1d.3s4p1d. U. Wahlgren Huzinaga ************************************************************************ *O.Raf-r.Wahlgren.9s6p1d.3s4p1d. *Relativistic basis set ************************************************************************ a 8 9 3 7816.5400 1175.8200 273.18800 81.169600 27.183600 3.4136000 9.53220000.93980000 0.28460000 0.001498 -0.000339 0. 0.009357 -0.002159 0. 0.043459 -0.009950 0. 0.144497 -0.035973 0. 0.355748 -0.095349 0. 0.139761 -0.036517 0. 0.460667 -0.195926 0. -0.000580 0.597219 0. 0.001385 0.523833 1. 6 4 35.183200 7.9040000 2.3051000 .71710000 .2137000 .059667000 0.015481 0. 0. 0. 0.097969 0. 0. 0. 0.309706 0. 0. 0. 0.496587 1. 0. 0. 0.325230 0. 1. 0. 0.017726 0. 0. 1. 1 1 1. 1. ************************************************************************ /Y.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Y.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. *Relativistic basis set ************************************************************************ a 39 17 7 461816.43 69789.975 16241.098 4809.6237 1659.5247 631.25883 258.98496 113.67350 42.850652 19.348727 7.3445160 3.8809059 2.0210665 0.7595100 0.3343695 0.0654870 0.0263420 -0.002638 -0.000870 0.000360 0.000132 0.000037 0.000000 0.000000 -0.008219 -0.002724 0.001128 0.000415 0.000117 0.000000 0.000000 -0.024793 -0.008369 0.003468 0.001276 0.000360 0.000000 0.000000 -0.068719 -0.023711 0.009890 0.003649 0.001029 0.000000 0.000000 -0.172160 -0.064405 0.026995 0.009941 0.002807 0.000000 0.000000 -0.336250 -0.143087 0.061730 0.022946 0.006470 0.000000 0.000000 -0.381145 -0.232506 0.103730 0.038474 0.010904 0.000000 0.000000 -0.163730 -0.066960 0.033923 0.013477 0.003741 0.000000 0.000000 -0.012673 0.542432 -0.376554 -0.153387 -0.043568 0.000000 0.000000 0.002339 0.539678 -0.517348 -0.217842 -0.063532 0.000000 0.000000 -0.001501 0.090559 0.345809 0.166383 0.052065 0.000000 0.000000 0.001352 -0.023299 0.703798 0.590866 0.180551 0.000000 0.000000 -0.000660 0.009859 0.251610 0.211893 0.080380 0.000000 0.000000 0.000223 -0.003000 0.013027 -0.800141 -0.361841 0.000000 0.000000 -0.000087 0.001060 -0.000931 -0.519143 -0.379280 1.000000 0.000000 0.000021 -0.000269 0.000271 -0.006026 0.939473 0.000000 0.000000 -0.000009 0.000115 -0.000161 0.009524 0.272660 0.000000 1.000000 13 6 4211.6616 985.29943 316.60468 120.46893 50.528831 22.396479 9.2827223 3.9927405 1.5903570 0.6701247 0.2561091 0.0979000 0.0374000 0.003864 -0.001650 0.000552 0.000000 0.000000 0.000000 0.022961 -0.009857 0.003292 0.000000 0.000000 0.000000 0.098763 -0.044037 0.014829 0.000000 0.000000 0.000000 0.274076 -0.127343 0.043019 0.000000 0.000000 0.000000 0.437596 -0.223277 0.077097 0.000000 0.000000 0.000000 0.302513 -0.074520 0.018740 0.000000 0.000000 0.000000 0.052647 0.439184 -0.192092 0.000000 0.000000 0.000000 -0.002420 0.571432 -0.292237 0.000000 0.000000 0.000000 0.001805 0.128672 0.160845 0.000000 0.000000 0.000000 -0.000909 -0.008062 0.667404 0.000000 0.000000 0.000000 0.000420 0.004366 0.332770 1.000000 0.000000 0.000000 -0.000195 -0.001890 0.006501 0.000000 1.000000 0.000000 0.000062 0.000594 0.005737 0.000000 0.000000 1.000000 9 4 134.39603 40.181654 15.044591 6.1183422 2.5544508 0.9491421 0.3264654 0.1007518 0.0311000 0.025578 -0.004460 0.000000 0.000000 0.138886 -0.024787 0.000000 0.000000 0.347456 -0.060892 0.000000 0.000000 0.445597 -0.076593 0.000000 0.000000 0.269965 -0.001243 0.000000 0.000000 0.043439 0.216647 0.000000 0.000000 -0.001994 0.435459 0.000000 0.000000 0.000981 0.508909 1.000000 0.000000 -0.000299 0.120457 0.000000 1.000000 2 2 0.8000000 0.2000000 1.000000 0.000000 0.000000 1.000000 ************************************************************************ /Zr.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Zr.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. *Relativistic basis set ************************************************************************ a 40 17 7 477424.51 72179.137 16972.038 5045.9795 1728.6244 663.01410 274.52888 118.95280 44.331005 19.458012 6.4365559 3.1369765 1.6769577 0.7579437 0.3525160 0.0729837 0.0286308 -0.002774 -0.000918 0.000382 -0.000144 0.000041 0.000000 0.000000 -0.008548 -0.002846 0.001188 -0.000449 0.000126 0.000000 0.000000 -0.025231 -0.008560 0.003570 -0.001348 0.000380 0.000000 0.000000 -0.070051 -0.024278 0.010232 -0.003869 0.001090 0.000000 0.000000 -0.174795 -0.065875 0.027724 -0.010484 0.002959 0.000000 0.000000 -0.331762 -0.141619 0.062031 -0.023614 0.006645 0.000000 0.000000 -0.380952 -0.233318 0.103609 -0.039567 0.011222 0.000000 0.000000 -0.166212 -0.064712 0.036224 -0.014372 0.003945 0.000000 0.000000 -0.009898 0.573333 -0.416773 0.173430 -0.049167 0.000000 0.000000 0.000788 0.530545 -0.488493 0.216310 -0.063469 0.000000 0.000000 -0.000211 0.067156 0.650445 -0.384940 0.120923 0.000000 0.000000 0.000240 -0.026172 0.580791 -0.636230 0.195916 0.000000 0.000000 -0.000146 0.014517 0.080693 0.116718 -0.020340 0.000000 0.000000 0.000057 -0.005704 0.006858 0.798833 -0.408291 0.000000 0.000000 -0.000020 0.001831 0.000114 0.433721 -0.292392 1.000000 0.000000 0.000004 -0.000388 -0.000001 0.006674 0.874232 0.000000 0.000000 -0.000002 0.000155 -0.000037 -0.008294 0.329513 0.000000 1.000000 13 6 4271.1765 1013.3501 327.97906 124.97249 52.676555 23.613474 9.8279363 4.2470841 1.6539778 0.7124577 0.2757173 0.1070000 0.0413000 0.004145 -0.001788 0.000618 0.000000 0.000000 0.000000 0.023857 -0.010355 0.003581 0.000000 0.000000 0.000000 0.101535 -0.045803 0.015951 0.000000 0.000000 0.000000 0.279200 -0.131357 0.046001 0.000000 0.000000 0.000000 0.434807 -0.224723 0.080213 0.000000 0.000000 0.000000 0.296150 -0.069362 0.017584 0.000000 0.000000 0.000000 0.053062 0.445970 -0.205500 0.000000 0.000000 0.000000 -0.003068 0.571805 -0.301407 0.000000 0.000000 0.000000 0.002124 0.120880 0.207333 0.000000 0.000000 0.000000 -0.001161 -0.010939 0.666848 0.000000 0.000000 0.000000 0.000543 0.005339 0.297671 1.000000 0.000000 0.000000 -0.000254 -0.002301 0.005003 0.000000 1.000000 0.000000 0.000080 0.000719 0.005054 0.000000 0.000000 1.000000 9 4 144.05409 42.117280 15.823177 6.5072003 2.7336987 0.9784641 0.3501642 0.1167122 0.0389000 0.026200 -0.005566 0.000000 0.000000 0.145549 -0.031875 0.000000 0.000000 0.353158 -0.075105 0.000000 0.000000 0.444590 -0.094714 0.000000 0.000000 0.260399 0.015514 0.000000 0.000000 0.036951 0.296305 0.000000 0.000000 -0.002970 0.471548 0.000000 0.000000 0.001354 0.401373 1.000000 0.000000 -0.000421 0.084696 0.000000 1.000000 2 2 0.8000000 0.2000000 1.000000 0.000000 0.000000 1.000000 ************************************************************************ /Nb.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Nb.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. *Relativistic basis set ************************************************************************ a 41 17 7 508254.40 78023.239 18146.384 5312.5514 1827.8845 700.01722 288.82729 127.00212 47.257989 20.900600 6.9626339 3.4890801 1.8633746 0.8397613 0.3772728 0.0761792 0.0300735 -0.002830 -0.000940 0.000395 -0.000152 0.000042 0.000000 0.000000 -0.008563 -0.002862 0.001204 -0.000464 0.000127 0.000000 0.000000 -0.025736 -0.008766 0.003684 -0.001420 0.000390 0.000000 0.000000 -0.070943 -0.024715 0.010490 -0.004049 0.001111 0.000000 0.000000 -0.173755 -0.065752 0.027896 -0.010771 0.002965 0.000000 0.000000 -0.333507 -0.143064 0.063082 -0.024514 0.006721 0.000000 0.000000 -0.378627 -0.232654 0.104277 -0.040677 0.011260 0.000000 0.000000 -0.165411 -0.064682 0.035980 -0.014550 0.003862 0.000000 0.000000 -0.012709 0.562527 -0.411314 0.175007 -0.048294 0.000000 0.000000 0.002214 0.537175 -0.499578 0.226628 -0.065083 0.000000 0.000000 -0.001310 0.073951 0.622876 -0.378453 0.117454 0.000000 0.000000 0.001416 -0.029898 0.591554 -0.649372 0.192063 0.000000 0.000000 -0.000915 0.015862 0.100132 0.087192 -0.005430 0.000000 0.000000 0.000376 -0.005952 0.005232 0.839076 -0.425970 0.000000 0.000000 -0.000124 0.001825 0.000751 0.416400 -0.251969 1.000000 0.000000 0.000027 -0.000404 -0.000108 0.004931 0.831085 0.000000 0.000000 -0.000011 0.000164 0.000017 -0.005908 0.354754 0.000000 1.000000 13 6 4559.1668 1063.0662 343.15861 131.77572 55.608872 24.71073110.1380620 4.4546940 1.8328049 0.7947154 0.3043159 0.1165000 0.0446000 0.004199 -0.001831 0.000651 0.000000 0.000000 0.000000 0.024480 -0.010721 0.003813 0.000000 0.000000 0.000000 0.102528 -0.046823 0.016770 0.000000 0.000000 0.000000 0.278101 -0.131880 0.047514 0.000000 0.000000 0.000000 0.437737 -0.229752 0.084380 0.000000 0.000000 0.000000 0.296190 -0.061377 0.014417 0.000000 0.000000 0.000000 0.049642 0.468007 -0.224785 0.000000 0.000000 0.000000 -0.003311 0.548038 -0.301150 0.000000 0.000000 0.000000 0.002089 0.112696 0.217077 0.000000 0.000000 0.000000 -0.001064 -0.005764 0.670282 0.000000 0.000000 0.000000 0.000466 0.003227 0.297433 1.000000 0.000000 0.000000 -0.000215 -0.001315 0.001009 0.000000 1.000000 0.000000 0.000068 0.000412 0.005816 0.000000 0.000000 1.000000 9 4 157.63758 46.377543 17.462349 7.1496748 3.0238555 1.1601931 0.4209295 0.1319146 0.0413000 0.025078 -0.006012 0.000000 0.000000 0.140176 -0.034475 0.000000 0.000000 0.350623 -0.084687 0.000000 0.000000 0.451178 -0.106102 0.000000 0.000000 0.257273 0.013484 0.000000 0.000000 0.037188 0.309132 0.000000 0.000000 -0.001353 0.506995 0.000000 0.000000 0.000722 0.375374 1.000000 0.000000 -0.000208 0.049913 0.000000 1.000000 2 2 0.8000000 0.2000000 1.000000 0.000000 0.000000 1.000000 ************************************************************************ /Mo.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Mo.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. *Relativistic basis set ************************************************************************ a 42 17 7 564811.58 84340.172 19223.887 5640.4270 1935.0108 736.03701 304.54661 134.49152 50.361750 22.461279 7.7112170 3.9263438 1.8287531 0.8913898 0.3949647 0.0848978 0.0323622 -0.002825 -0.000942 0.000398 -0.000156 0.000041 0.000000 0.000000 -0.008757 -0.002940 0.001245 -0.000488 0.000129 0.000000 0.000000 -0.026157 -0.008948 0.003789 -0.001486 0.000394 0.000000 0.000000 -0.070749 -0.024760 0.010576 -0.004154 0.001100 0.000000 0.000000 -0.174696 -0.066369 0.028394 -0.011157 0.002959 0.000000 0.000000 -0.334230 -0.144079 0.063879 -0.025257 0.006684 0.000000 0.000000 -0.375612 -0.231212 0.104728 -0.041598 0.011082 0.000000 0.000000 -0.166954 -0.066434 0.036186 -0.014851 0.003851 0.000000 0.000000 -0.012975 0.552201 -0.404126 0.175163 -0.046768 0.000000 0.000000 0.002117 0.542606 -0.513822 0.238007 -0.065543 0.000000 0.000000 -0.001148 0.080013 0.558803 -0.344736 0.101722 0.000000 0.000000 0.001063 -0.027590 0.656457 -0.685569 0.203099 0.000000 0.000000 -0.000658 0.013986 0.111213 0.092050 -0.020637 0.000000 0.000000 0.000337 -0.006767 -0.005595 0.863829 -0.409928 0.000000 0.000000 -0.000107 0.002023 0.002980 0.376604 -0.234583 1.000000 0.000000 0.000024 -0.000458 -0.000513 0.004043 0.734792 0.000000 0.000000 -0.000010 0.000177 0.000181 -0.004126 0.451714 0.000000 1.000000 13 6 4706.3308 1104.2933 361.17122 139.14298 58.356511 25.82138910.7184750 4.7732916 2.0262457 0.8676464 0.3420828 0.1349000 0.0532000 0.004406 -0.001939 0.000705 0.000000 0.000000 0.000000 0.024942 -0.011034 0.004014 0.000000 0.000000 0.000000 0.102088 -0.047054 0.017261 0.000000 0.000000 0.000000 0.279233 -0.133854 0.049337 0.000000 0.000000 0.000000 0.442285 -0.233903 0.088110 0.000000 0.000000 0.000000 0.291986 -0.057107 0.012187 0.000000 0.000000 0.000000 0.047467 0.471881 -0.232586 0.000000 0.000000 0.000000 -0.002743 0.540346 -0.310844 0.000000 0.000000 0.000000 0.001754 0.112431 0.231912 0.000000 0.000000 0.000000 -0.000880 -0.003554 0.669082 0.000000 0.000000 0.000000 0.000396 0.002665 0.287035 1.000000 0.000000 0.000000 -0.000187 -0.001059 0.008059 0.000000 1.000000 0.000000 0.000059 0.000331 0.004131 0.000000 0.000000 1.000000 9 4 172.75830 51.005487 19.267661 7.9229414 3.3785846 1.3293987 0.4953180 0.1589567 0.0510000 0.023872 -0.006215 0.000000 0.000000 0.134891 -0.036017 0.000000 0.000000 0.344788 -0.090717 0.000000 0.000000 0.453149 -0.115581 0.000000 0.000000 0.261877 0.011349 0.000000 0.000000 0.038983 0.320897 0.000000 0.000000 -0.001111 0.512320 0.000000 0.000000 0.000593 0.351377 1.000000 0.000000 -0.000193 0.044392 0.000000 1.000000 2 2 0.8000000 0.2000000 1.000000 0.000000 0.000000 1.000000 ************************************************************************ /Tc.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Tc.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. *Relativistic basis set ************************************************************************ a 43 17 7 600968.67 88600.264 20540.939 6011.6383 2042.3890 774.55946 320.84393 142.05931 54.025757 24.068560 8.5619192 4.3922094 1.9025018 0.9188755 0.4062129 0.0942936 0.0349736 -0.002912 -0.000975 0.000415 -0.000165 0.000043 0.000000 0.000000 -0.008954 -0.003019 0.001287 -0.000513 0.000132 0.000000 0.000000 -0.026016 -0.008932 0.003808 -0.001518 0.000392 0.000000 0.000000 -0.071130 -0.025023 0.010756 -0.004295 0.001109 0.000000 0.000000 -0.175647 -0.066912 0.028839 -0.011513 0.002977 0.000000 0.000000 -0.333821 -0.144904 0.064627 -0.025995 0.006714 0.000000 0.000000 -0.374332 -0.229447 0.104811 -0.042255 0.010968 0.000000 0.000000 -0.167593 -0.070818 0.038197 -0.016095 0.004110 0.000000 0.000000 -0.013473 0.539994 -0.394881 0.174612 -0.045581 0.000000 0.000000 0.002115 0.554009 -0.533344 0.250529 -0.067084 0.000000 0.000000 -0.001135 0.080781 0.498923 -0.305265 0.087099 0.000000 0.000000 0.000956 -0.021501 0.711579 -0.737952 0.216667 0.000000 0.000000 -0.000549 0.009588 0.127758 0.124731 -0.041413 0.000000 0.000000 0.000301 -0.004928 -0.014282 0.892351 -0.407331 0.000000 0.000000 -0.000102 0.001547 0.005308 0.314873 -0.205689 1.000000 0.000000 0.000024 -0.000371 -0.001058 0.004719 0.670454 0.000000 0.000000 -0.000009 0.000135 0.000380 -0.003291 0.515974 0.000000 1.000000 13 6 4763.8664 1153.2828 381.59894 146.32863 61.119775 27.090821 11.960775 5.4577267 2.3746029 1.0277545 0.3973802 0.1536000 0.0594000 0.004668 0.002069 0.000769 0.000000 0.000000 0.000000 0.024915 0.011152 0.004148 0.000000 0.000000 0.000000 0.101952 0.047247 0.017703 0.000000 0.000000 0.000000 0.281885 0.137172 0.051740 0.000000 0.000000 0.000000 0.444462 0.234396 0.090122 0.000000 0.000000 0.000000 0.285896 0.063575 0.015281 0.000000 0.000000 0.000000 0.046228 -0.431963 -0.217399 0.000000 0.000000 0.000000 0.000511 -0.557580 -0.329307 0.000000 0.000000 0.000000 0.000307 -0.140615 0.170571 0.000000 0.000000 0.000000 -0.000121 0.003185 0.681837 0.000000 0.000000 0.000000 0.000019 -0.003208 0.326463 1.000000 0.000000 0.000000 -0.000013 0.001269 0.006439 0.000000 1.000000 0.000000 0.000003 -0.000404 0.005674 0.000000 0.000000 1.000000 9 4 188.85753 55.900549 20.995532 8.6920652 3.7865863 1.5703613 0.6088450 0.2077569 0.0709000 0.022647 -0.006247 0.000000 0.000000 0.130911 -0.036934 0.000000 0.000000 0.343019 -0.095985 0.000000 0.000000 0.449483 -0.120463 0.000000 0.000000 0.263779 0.004104 0.000000 0.000000 0.043786 0.306460 0.000000 0.000000 -0.000206 0.493842 0.000000 0.000000 0.000603 0.357409 1.000000 0.000000 -0.000135 0.076019 0.000000 1.000000 2 2 0.8000000 0.2000000 1.000000 0.000000 0.000000 1.000000 ************************************************************************ /Ru.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Ru.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. *Relativistic basis set ************************************************************************ a 44 17 7 615367.62 94409.177 21987.091 6390.4266 2154.8015 815.70030 338.18301 149.50385 57.491285 25.654515 9.3493288 4.6821127 1.8405177 0.9336715 0.4130479 0.1012731 0.0367755 -0.003029 -0.001019 -0.000436 0.000176 0.000044 0.000000 0.000000 -0.008940 -0.003027 -0.001298 0.000525 0.000131 0.000000 0.000000 -0.026142 -0.009010 -0.003866 0.001563 0.000391 0.000000 0.000000 -0.071470 -0.025262 -0.010921 0.004421 0.001105 0.000000 0.000000 -0.176289 -0.067393 -0.029259 0.011852 0.002966 0.000000 0.000000 -0.332733 -0.145145 -0.065060 0.026515 0.006629 0.000000 0.000000 -0.374020 -0.228735 -0.105450 0.043208 0.010853 0.000000 0.000000 -0.168673 -0.073364 -0.038961 0.016441 0.004065 0.000000 0.000000 -0.013333 0.532111 0.389008 -0.174073 -0.043996 0.000000 0.000000 0.001820 0.560196 0.548645 -0.263675 -0.068337 0.000000 0.000000 -0.000865 0.081892 -0.478136 0.303763 0.083760 0.000000 0.000000 0.000665 -0.017813 -0.755520 0.772674 0.220866 0.000000 0.000000 -0.000390 0.008088 -0.114836 -0.222710 -0.079696 0.000000 0.000000 0.000244 -0.004835 0.019762 -0.865165 -0.384312 0.000000 0.000000 -0.000083 0.001524 -0.006055 -0.264729 -0.177400 1.000000 0.000000 0.000020 -0.000371 0.001191 -0.002862 0.624740 0.000000 0.000000 -0.000007 0.000129 -0.000410 0.001749 0.557416 0.000000 1.000000 13 6 4964.2720 1219.4814 401.99193 153.22816 64.092077 28.589423 12.658782 5.7501607 2.4779020 1.0817720 0.4203750 0.1634000 0.0635000 0.004773 0.002133 0.000807 0.000000 0.000000 0.000000 0.024800 0.011199 0.004244 0.000000 0.000000 0.000000 0.102849 0.048044 0.018329 0.000000 0.000000 0.000000 0.284366 0.139763 0.053762 0.000000 0.000000 0.000000 0.442593 0.235150 0.092019 0.000000 0.000000 0.000000 0.283725 0.063361 0.015636 0.000000 0.000000 0.000000 0.047221 -0.438620 -0.227803 0.000000 0.000000 0.000000 0.000004 -0.561012 -0.336507 0.000000 0.000000 0.000000 0.000546 -0.130641 0.205517 0.000000 0.000000 0.000000 -0.000270 0.003265 0.679785 0.000000 0.000000 0.000000 0.000085 -0.002946 0.304781 1.000000 0.000000 0.000000 -0.000044 0.001114 0.004434 0.000000 1.000000 0.000000 0.000013 -0.000352 0.005391 0.000000 0.000000 1.000000 9 4 206.11199 61.040573 23.141487 9.5597344 4.0874066 1.6811377 0.6628733 0.2302877 0.0800000 0.021675 -0.006265 0.000000 0.000000 0.125658 -0.037233 0.000000 0.000000 0.334216 -0.098092 0.000000 0.000000 0.459387 -0.130080 0.000000 0.000000 0.270011 0.010098 0.000000 0.000000 0.039249 0.327546 0.000000 0.000000 0.000699 0.486082 0.000000 0.000000 0.000296 0.339643 1.000000 0.000000 0.000013 0.071709 0.000000 1.000000 2 2 0.8000000 0.2000000 1.000000 0.000000 0.000000 1.000000 ************************************************************************ /Rh.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Rh.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. *Relativistic basis set ************************************************************************ a 45 17 7 666938.46 101663.95 23507.471 6770.9733 2274.1640 860.12987 356.22922 157.23074 60.823076 27.200755 9.9950277 5.0587150 2.0451786 1.0271646 0.4537890 0.1073217 0.0386400 -0.003058 -0.001032 0.000445 0.000182 0.000044 0.000000 0.000000 -0.009017 -0.003065 0.001322 0.000541 0.000131 0.000000 0.000000 -0.026348 -0.009116 0.003935 0.001610 0.000389 0.000000 0.000000 -0.071916 -0.025534 0.011103 0.004550 0.001098 0.000000 0.000000 -0.176115 -0.067583 0.029525 0.012109 0.002927 0.000000 0.000000 -0.331738 -0.145245 0.065476 0.027021 0.006525 0.000000 0.000000 -0.374341 -0.228697 0.106136 0.044036 0.010681 0.000000 0.000000 -0.169618 -0.074590 0.039580 0.016922 0.004048 0.000000 0.000000 -0.013408 0.527590 -0.387935 -0.176076 -0.043012 0.000000 0.000000 0.001738 0.563044 -0.555352 -0.270805 -0.067777 0.000000 0.000000 -0.000828 0.084832 0.463758 0.299351 0.079753 0.000000 0.000000 0.000646 -0.018659 0.763232 0.791217 0.218996 0.000000 0.000000 -0.000370 0.008266 0.122071 -0.203102 -0.073232 0.000000 0.000000 0.000221 -0.004717 -0.018085 -0.877035 -0.365660 0.000000 0.000000 -0.000074 0.001454 0.005696 -0.275555 -0.180067 1.000000 0.000000 0.000017 -0.000342 -0.001065 -0.004194 0.579004 0.000000 0.000000 -0.000006 0.000122 0.000376 0.001372 0.594058 0.000000 1.000000 13 6 5411.7578 1296.6564 420.90869 160.23018 67.515001 30.400995 13.622169 6.2537290 2.7461248 1.1965637 0.4643507 0.1190000 0.0387000 0.004683 -0.002109 0.000811 0.000000 0.000000 0.000000 0.025017 -0.011389 0.004386 0.000000 0.000000 0.000000 0.104425 -0.049167 0.019068 0.000000 0.000000 0.000000 0.284794 -0.141264 0.055240 0.000000 0.000000 0.000000 0.437904 -0.234326 0.093282 0.000000 0.000000 0.000000 0.283775 -0.067286 0.017416 0.000000 0.000000 0.000000 0.049683 0.427061 -0.226227 0.000000 0.000000 0.000000 0.000034 0.564721 -0.347125 0.000000 0.000000 0.000000 0.000582 0.138942 0.192188 0.000000 0.000000 0.000000 -0.000278 -0.001322 0.685593 0.000000 0.000000 0.000000 0.000060 0.002067 0.312400 1.000000 0.000000 0.000000 -0.000023 -0.000456 0.009972 0.000000 1.000000 0.000000 0.000008 0.000167 -0.000006 0.000000 0.000000 1.000000 9 4 224.17203 66.353851 25.11933010.3739750 4.4478314 1.8266017 0.7142059 0.2461368 0.0762000 0.020725 -0.006235 0.000000 0.000000 0.122007 -0.037639 0.000000 0.000000 0.331475 -0.101431 0.000000 0.000000 0.461981 -0.136418 0.000000 0.000000 0.272146 0.011766 0.000000 0.000000 0.039412 0.345187 0.000000 0.000000 0.000634 0.489795 0.000000 0.000000 0.000442 0.328177 1.000000 0.000000 0.000008 0.059611 0.000000 1.000000 2 2 0.8000000 0.2000000 1.000000 0.000000 0.000000 1.000000 ************************************************************************ /Pd.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Pd.Raf-r.Wahlgren.17s13p9d2f.7s6p4d2f. *Relativistic basis set ************************************************************************ a 46 17 7 722049.07 109352.60 25013.151 7155.5559 2398.1500 905.94369 374.64803 165.14908 64.119284 28.71975710.5793480 5.4118888 2.2499606 1.1164742 0.4844827 0.1124708 0.0400674 -0.003086 -0.001046 0.000453 0.000187 0.000044 0.000000 0.000000 -0.009116 -0.003111 0.001350 0.000558 0.000130 0.000000 0.000000 -0.026667 -0.009263 0.004022 0.001664 0.000388 0.000000 0.000000 -0.072298 -0.025784 0.011275 0.004672 0.001088 0.000000 0.000000 -0.175879 -0.067757 0.029772 0.012348 0.002879 0.000000 0.000000 -0.331012 -0.145427 0.065927 0.027508 0.006409 0.000000 0.000000 -0.374607 -0.228820 0.106816 0.044834 0.010490 0.000000 0.000000 -0.170363 -0.075053 0.039916 0.017221 0.003977 0.000000 0.000000 -0.013520 0.525162 -0.389038 -0.178744 -0.042145 0.000000 0.000000 0.001711 0.564465 -0.559529 -0.276846 -0.066869 0.000000 0.000000 -0.000825 0.086840 0.461088 0.304302 0.078345 0.000000 0.000000 0.000655 -0.019817 0.761963 0.801855 0.214517 0.000000 0.000000 -0.000366 0.008553 0.126003 -0.193221 -0.069409 0.000000 0.000000 0.000207 -0.004608 -0.015549 -0.892607 -0.351856 0.000000 0.000000 -0.000067 0.001380 0.005094 -0.276694 -0.177453 1.000000 0.000000 0.000016 -0.000326 -0.000947 -0.003054 0.546757 0.000000 0.000000 -0.000006 0.000118 0.000339 0.000388 0.618991 0.000000 1.000000 13 6 5641.5992 1369.8311 439.60614 167.49952 71.086943 32.278302 14.665368 6.8062951 3.0304099 1.3134192 0.5082798 0.1100000 0.0400000 0.004756 -0.002157 0.000842 0.000000 0.000000 0.000000 0.025099 -0.011516 0.004499 0.000000 0.000000 0.000000 0.106125 -0.050344 0.019814 0.000000 0.000000 0.000000 0.284430 -0.142325 0.056462 0.000000 0.000000 0.000000 0.433915 -0.233670 0.094497 0.000000 0.000000 0.000000 0.283608 -0.071294 0.019153 0.000000 0.000000 0.000000 0.052195 0.413359 -0.222424 0.000000 0.000000 0.000000 0.000178 0.569134 -0.358145 0.000000 0.000000 0.000000 0.000602 0.149285 0.179490 0.000000 0.000000 0.000000 -0.000292 -0.000220 0.691520 0.000000 0.000000 0.000000 0.000056 0.001969 0.319083 1.000000 0.000000 0.000000 -0.000022 -0.000390 0.010936 0.000000 1.000000 0.000000 0.000009 0.000168 -0.001448 0.000000 0.000000 1.000000 9 4 242.47077 71.709317 27.050913 11.168119 4.7897946 1.9901245 0.7794551 0.2660231 0.0900000 0.019932 -0.006210 0.000000 0.000000 0.119348 -0.038123 0.000000 0.000000 0.330351 -0.104884 0.000000 0.000000 0.464663 -0.141964 0.000000 0.000000 0.272459 0.013964 0.000000 0.000000 0.038228 0.353425 0.000000 0.000000 0.001430 0.493928 0.000000 0.000000 0.000379 0.315221 1.000000 0.000000 0.000093 0.053641 0.000000 1.000000 2 2 0.8000000 0.2000000 1.000000 0.000000 0.000000 1.000000 ************************************************************************ /Hf.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Hf.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. *Relativistic basis set ************************************************************************ a 72 22 8 32424058. 4855383.3 1104952.8 312966.12 102095.99 36853.575 14370.533 5957.4847 2595.5611 1177.3281 548.24375 242.84439 124.11045 62.732102 28.119278 14.672755 6.2330052 3.0352212 1.1111000 .50477000 .10131000 .04053200 0.001035 0.000389 -0.000184 -0.000090 0.000035 -0.000010 0. 0. 0.002517 0.000948 -0.000449 -0.000219 0.000086 -0.000024 0. 0. 0.005874 0.002221 -0.001051 -0.000513 0.000203 -0.000057 0. 0. 0.012289 0.004686 -0.002222 -0.001085 0.000429 -0.000121 0. 0. 0.024965 0.009631 -0.004570 -0.002234 0.000882 -0.000250 0. 0. 0.048976 0.019352 -0.009240 -0.004516 0.001785 -0.000506 0. 0. 0.094038 0.038380 -0.018344 -0.008994 0.003554 -0.001005 0. 0. 0.170974 0.074813 -0.036440 -0.017856 0.007070 -0.002004 0. 0. 0.273882 0.132540 -0.064944 -0.032139 0.012707 -0.003591 0. 0. 0.325381 0.193456 -0.100518 -0.049712 0.019778 -0.005620 0. 0. 0.211961 0.116143 -0.055806 -0.028518 0.011183 -0.003125 0. 0. 0.040398 -0.267694 0.193465 0.108420 -0.043582 0.012266 0. 0. -0.003569 -0.561129 0.582915 0.334477 -0.138565 0.039719 0. 0. 0.001838 -0.316739 0.257318 0.174293 -0.071909 0.020052 0. 0. -0.000995 -0.022992 -0.818744 -0.885957 0.414277 -0.119140 0. 0. 0.000554 -0.000215 -0.510079 -0.572229 0.287477 -0.086028 0. 0. -0.000257 0.000881 -0.057059 0.935408 -0.699838 0.220072 0. 0. 0.000135 -0.000441 0.010558 0.575003 -0.584558 0.190545 0. 0. -0.000054 0.000197 -0.004032 0.022953 0.711383 -0.281288 0. 0. 0.000022 -0.000090 0.001727 -0.000881 0.684246 -0.499006 1. 0. -0.000006 0.000022 -0.000417 0.000117 0.033824 0.704167 0. 0. 0.000002 -0.000010 0.000182 -0.000095 -0.018309 0.519429 0. 1. 18 7 79151.992 18743.642 6086.2938 2326.8981 986.85016 449.85109 215.6617 107.02907 53.409967 27.516010 14.206515 6.9777927 3.3627414 1.3681559 .6119044 .24733601 .0723667500 .0289515600 0.001495 -0.000759 0.000366 -0.000129 0. 0. 0. 0.004400 -0.002250 0.001087 -0.000383 0. 0. 0. 0.014551 -0.007516 0.003641 -0.001281 0. 0. 0. 0.043019 -0.022605 0.010980 -0.003876 0. 0. 0. 0.115840 -0.062840 0.030806 -0.010855 0. 0. 0. 0.248361 -0.141216 0.069858 -0.024787 0. 0. 0. 0.371596 -0.222712 0.112188 -0.039618 0. 0. 0. 0.301922 -0.125175 0.052354 -0.018327 0. 0. 0. 0.093188 0.291388 -0.216732 0.084343 0. 0. 0. 0.003139 0.568021 -0.463442 0.178216 0. 0. 0. 0.001410 0.263002 -0.005031 -0.016461 0. 0. 0. -0.000789 0.026520 0.654040 -0.359486 0. 0. 0. 0.000300 0.000673 0.459440 -0.238349 0. 0. 0. -0.000145 0.000113 0.050520 0.406895 0. 0. 0. 0.000076 -0.000040 -0.003827 0.608261 0. 0. 0. -0.000029 0.000009 0.001358 0.196565 1. 0. 0. 0.000010 -0.000004 -0.000436 0.003004 0. 1. 0. -0.000004 0.000001 0.000166 0.001379 0. 0. 1. 14 5 3406.9620 1030.2691 402.02486 177.62742 84.480277 41.787932 21.186045 10.558466 5.1163982 2.3728493 .90073781 .33261089 .11120664 .037180000 0.001241 0.000609 0.000115 0. 0. 0.008225 0.004081 0.000782 0. 0. 0.038609 0.019264 0.003648 0. 0. 0.127420 0.065123 0.012542 0. 0. 0.286632 0.146674 0.027782 0. 0. 0.400492 0.193566 0.037417 0. 0. 0.281101 0.016671 -0.003404 0. 0. 0.073190 -0.364775 -0.080411 0. 0. 0.003977 -0.499036 -0.118250 0. 0. 0.000763 -0.244343 0.016795 0. 0. -0.000066 -0.027714 0.274965 0. 0. 0.000053 0.001758 0.462597 0. 0. -0.000021 -0.000813 0.424275 1. 0. 0.000007 0.000253 0.094458 0. 1. 9 1 267.05004 92.116119 38.557052 17.485548 8.1179781 3.6895219 1.5866969 .60507257 .230740000 0.003335 0. 0. 0.024733 0. 0. 0.095125 0. 0. 0.229046 0. 0. 0.344926 0. 0. 0.353820 0. 0. 0.250865 0. 0. 0.099419 1. 0. 0.010890 0. 1. ************************************************************************ /Ta.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Ta.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. *Relativistic basis set ************************************************************************ a 73 22 8 33528956. 5020849.5 1142610.1 323632.38 105575.55 38109.566 14860.252 6160.4700 2683.9675 1217.4061 566.96048 251.73110 128.65628 65.018662 29.156005 15.233843 6.4926650 3.1826500 1.1915850 0.5435700 0.1104530 0.0434940 0.001073 0.000405 -0.000192 -0.000094 0.000038 -0.000011 0.000000 0.000000 0.002599 0.000983 -0.000466 -0.000228 0.000092 -0.000026 0.000000 0.000000 0.006042 0.002295 -0.001088 -0.000533 0.000214 -0.000061 0.000000 0.000000 0.012588 0.004822 -0.002291 -0.001122 0.000450 -0.000129 0.000000 0.000000 0.025458 0.009867 -0.004691 -0.002300 0.000923 -0.000264 0.000000 0.000000 0.049682 0.019722 -0.009436 -0.004627 0.001857 -0.000532 0.000000 0.000000 0.094855 0.038901 -0.018632 -0.009164 0.003676 -0.001052 0.000000 0.000000 0.171474 0.075369 -0.036788 -0.018087 0.007270 -0.002083 0.000000 0.000000 0.273436 0.132826 -0.065213 -0.032371 0.012993 -0.003716 0.000000 0.000000 0.324251 0.192874 -0.100401 -0.049826 0.020124 -0.005776 0.000000 0.000000 0.211684 0.114920 -0.055003 -0.028146 0.011200 -0.003183 0.000000 0.000000 0.040716 -0.266904 0.193530 0.108797 -0.044418 0.012700 0.000000 0.000000 -0.003466 -0.560337 0.583221 0.336214 -0.141470 0.040888 0.000000 0.000000 0.001803 -0.317559 0.257312 0.174110 -0.072937 0.020822 0.000000 0.000000 -0.000980 -0.023017 -0.819514 -0.891408 0.424132 -0.124069 0.000000 0.000000 0.000549 -0.000273 -0.508755 -0.571508 0.292075 -0.087523 0.000000 0.000000 -0.000259 0.000934 -0.058141 0.934425 -0.713981 0.225919 0.000000 0.000000 0.000139 -0.000481 0.011193 0.577009 -0.602559 0.203999 0.000000 0.000000 -0.000056 0.000215 -0.004305 0.023813 0.723573 -0.305815 0.000000 0.000000 0.000023 -0.000096 0.001817 -0.000823 0.687235 -0.482162 1.000000 0.000000 -0.000006 0.000023 -0.000429 0.000117 0.035469 0.667574 0.000000 0.000000 0.000002 -0.000010 0.000184 -0.000096 -0.017162 0.551794 0.000000 1.000000 18 7 82480.166 19531.519 6342.1772 2424.8420 1028.4842 468.91951 224.87669 111.67349 55.844296 28.806149 14.901702 7.3264180 3.5472060 1.4601490 0.6587820 0.2671990 0.0788950 0.0310670 0.001526 -0.000777 0.000377 -0.000135 0.000000 0.000000 0.000000 0.004446 -0.002280 0.001106 -0.000398 0.000000 0.000000 0.000000 0.014588 -0.007557 0.003676 -0.001322 0.000000 0.000000 0.000000 0.042810 -0.022561 0.011004 -0.003970 0.000000 0.000000 0.000000 0.114866 -0.062466 0.030752 -0.011076 0.000000 0.000000 0.000000 0.246237 -0.140319 0.069696 -0.025276 0.000000 0.000000 0.000000 0.370167 -0.222229 0.112414 -0.040586 0.000000 0.000000 0.000000 0.304006 -0.128687 0.054582 -0.019534 0.000000 0.000000 0.000000 0.095804 0.283927 -0.212685 0.084717 0.000000 0.000000 0.000000 0.003585 0.567940 -0.465531 0.183339 0.000000 0.000000 0.000000 0.001404 0.269415 -0.016254 -0.012141 0.000000 0.000000 0.000000 -0.000792 0.028223 0.650903 -0.367493 0.000000 0.000000 0.000000 0.000306 0.000562 0.466396 -0.251193 0.000000 0.000000 0.000000 -0.000149 0.000156 0.052430 0.414261 0.000000 0.000000 0.000000 0.000078 -0.000067 -0.003859 0.610055 0.000000 0.000000 0.000000 -0.000029 0.000017 0.001371 0.193116 1.000000 0.000000 0.000000 0.000011 -0.000007 -0.000428 0.003109 0.000000 1.000000 0.000000 -0.000004 0.000003 0.000159 0.001283 0.000000 0.000000 1.000000 14 5 3517.9960 1063.9153 415.19613 183.49294 87.305572 43.216957 21.93114910.9479910 5.3237120 2.4917690 0.9726730 0.3702180 0.1274160 0.0438000 0.001257 -0.000622 0.000133 0.000000 0.000000 0.008279 -0.004139 0.000894 0.000000 0.000000 0.038744 -0.019483 0.004168 0.000000 0.000000 0.127707 -0.065770 0.014285 0.000000 0.000000 0.287096 -0.148071 0.031702 0.000000 0.000000 0.400525 -0.194829 0.042380 0.000000 0.000000 0.280174 -0.015121 -0.004247 0.000000 0.000000 0.072845 0.367545 -0.092523 0.000000 0.000000 0.003960 0.498168 -0.133127 0.000000 0.000000 0.000759 0.240049 0.020534 0.000000 0.000000 -0.000083 0.027067 0.309722 0.000000 0.000000 0.000057 -0.001567 0.478001 0.000000 0.000000 -0.000023 0.000727 0.375415 1.000000 0.000000 0.000007 -0.000229 0.075777 0.000000 1.000000 9 3 289.08664 99.863847 41.963095 19.112869 8.9400900 4.1069140 1.7938850 0.6969830 0.2708000 0.003113 0.000000 0.000000 0.023347 0.000000 0.000000 0.091167 0.000000 0.000000 0.223860 0.000000 0.000000 0.344094 0.000000 0.000000 0.357480 0.000000 0.000000 0.250894 0.000000 0.000000 0.093863 1.000000 0.000000 0.008862 0.000000 1.000000 ************************************************************************ /W.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *W.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. *Relativistic basis set ************************************************************************ a 74 22 8 34649720. 5188661.0 1180797.5 334448.33 109103.91 39383.168 15356.841 6366.3064 2773.6198 1258.0545 585.95113 260.75427 133.26366 67.335801 30.209851 15.804638 6.7566565 3.3346521 1.2750010 0.5823450 0.1185810 0.0460630 0.001114 0.000422 -0.000200 -0.000098 0.000040 0.000011 0.000000 0.000000 0.002684 0.001020 -0.000485 -0.000238 0.000097 0.000028 0.000000 0.000000 0.006217 0.002372 -0.001127 -0.000554 0.000225 0.000064 0.000000 0.000000 0.012897 0.004963 -0.002363 -0.001161 0.000472 0.000135 0.000000 0.000000 0.025967 0.010112 -0.004817 -0.002370 0.000964 0.000275 0.000000 0.000000 0.050412 0.020107 -0.009639 -0.004742 0.001930 0.000551 0.000000 0.000000 0.095709 0.039442 -0.018930 -0.009340 0.003799 0.001083 0.000000 0.000000 0.172023 0.075954 -0.037149 -0.018328 0.007470 0.002132 0.000000 0.000000 0.273036 0.133139 -0.065492 -0.032613 0.013273 0.003783 0.000000 0.000000 0.323096 0.192285 -0.100273 -0.049937 0.020453 0.005844 0.000000 0.000000 0.211306 0.113557 -0.054108 -0.027728 0.011178 0.003173 0.000000 0.000000 0.040991 -0.266447 0.193851 0.109337 -0.045273 -0.012923 0.000000 0.000000 -0.003362 -0.559537 0.583582 0.338006 -0.144310 -0.041498 0.000000 0.000000 0.001769 -0.318068 0.256730 0.173598 -0.073704 -0.021080 0.000000 0.000000 -0.000965 -0.022979 -0.820513 -0.897414 0.433889 0.126836 0.000000 0.000000 0.000545 -0.000345 -0.507092 -0.570143 0.296274 0.088099 0.000000 0.000000 -0.000261 0.000994 -0.059156 0.934445 -0.729206 -0.229742 0.000000 0.000000 0.000142 -0.000525 0.011838 0.577999 -0.617919 -0.211528 0.000000 0.000000 -0.000057 0.000235 -0.004562 0.024648 0.736288 0.321220 0.000000 0.000000 0.000023 -0.000103 0.001888 -0.000773 0.689241 0.461421 1.000000 0.000000 -0.000005 0.000024 -0.000437 0.000130 0.036804 -0.619044 0.000000 0.000000 0.000002 -0.000011 0.000185 -0.000098 -0.015929 -0.591624 0.000000 1.000000 18 7 85893.105 20339.477 6604.5910 2525.2913 1071.1872 488.47984 234.33183 116.44139 58.346502 30.131465 15.615313 7.6851095 3.7385180 1.5562015 0.7069138 0.2876765 0.0847013 0.0329023 0.001558 -0.000796 -0.000387 -0.000142 0.000000 0.000000 0.000000 0.004494 -0.002312 -0.001126 -0.000413 0.000000 0.000000 0.000000 0.014633 -0.007601 -0.003713 -0.001362 0.000000 0.000000 0.000000 0.042627 -0.022527 -0.011035 -0.004061 0.000000 0.000000 0.000000 0.113951 -0.062119 -0.030713 -0.011283 0.000000 0.000000 0.000000 0.244189 -0.139455 -0.069557 -0.025728 0.000000 0.000000 0.000000 0.368728 -0.221719 -0.112635 -0.041485 0.000000 0.000000 0.000000 0.305962 -0.132011 -0.056729 -0.020717 0.000000 0.000000 0.000000 0.098388 0.276660 0.208774 0.084952 0.000000 0.000000 0.000000 0.004049 0.567722 0.467561 0.188146 0.000000 0.000000 0.000000 0.001394 0.275662 0.027108 -0.007705 0.000000 0.000000 0.000000 -0.000793 0.029925 -0.647945 -0.375163 0.000000 0.000000 0.000000 0.000311 0.000448 -0.472934 -0.263294 0.000000 0.000000 0.000000 -0.000152 0.000198 -0.054224 0.421151 0.000000 0.000000 0.000000 0.000080 -0.000095 0.003822 0.611305 0.000000 0.000000 0.000000 -0.000029 0.000024 -0.001368 0.190808 1.000000 0.000000 0.000000 0.000010 -0.000010 0.000413 0.003161 0.000000 1.000000 0.000000 -0.000004 0.000003 -0.000152 0.001141 0.000000 0.000000 1.000000 14 6 3623.0570 1095.7500 427.65354 189.03491 89.970665 44.562617 22.630393 11.311893 5.5172350 2.6035206 1.0440999 0.4062906 0.1426102 0.0500000 0.001279 -0.000638 0.000149 0.000000 0.000000 0.008367 -0.004215 0.000993 0.000000 0.000000 0.039030 -0.019783 0.004623 0.000000 0.000000 0.128411 -0.066652 0.015790 0.000000 0.000000 0.288181 -0.149818 0.035055 0.000000 0.000000 0.400728 -0.196079 0.046421 0.000000 0.000000 0.278498 -0.012282 -0.005451 0.000000 0.000000 0.071938 0.371992 -0.103299 0.000000 0.000000 0.003868 0.497267 -0.144911 0.000000 0.000000 0.000749 0.233889 0.025564 0.000000 0.000000 -0.000097 0.025903 0.336748 0.000000 0.000000 0.000060 -0.001344 0.487557 0.000000 0.000000 -0.000025 0.000549 0.338534 1.000000 0.000000 0.000008 -0.000200 0.058284 0.000000 1.000000 9 3 310.88315 107.53531 45.334826 20.725490 9.7554459 4.5220901 2.0009453 0.7890679 0.3110000 0.002938 0.000000 0.000000 0.022228 0.000000 0.000000 0.087958 0.000000 0.000000 0.219554 0.000000 0.000000 0.343439 0.000000 0.000000 0.360593 0.000000 0.000000 0.250553 0.000000 0.000000 0.089307 1.000000 0.000000 0.007514 0.000000 1.000000 ************************************************************************ /Re.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Re.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. *Relativistic basis set ************************************************************************ a 75 22 8 35781883. 5358191.0 1219376.2 345374.95 112668.31 40669.768 15858.497 6574.2473 2864.1952 1299.1290 605.14844 269.87169 137.91355 69.675839 31.277318 16.382980 7.0234690 3.4902067 1.3606976 0.6207302 0.1254466 0.0481700 0.001156 -0.000440 -0.000209 -0.000103 -0.000043 0.000012 0.000000 0.000000 0.002773 -0.001059 -0.000504 -0.000248 -0.000102 0.000029 0.000000 0.000000 0.006400 -0.002453 -0.001168 -0.000576 -0.000237 0.000068 0.000000 0.000000 0.013218 -0.005110 -0.002437 -0.001202 -0.000496 0.000142 0.000000 0.000000 0.026497 -0.010367 -0.004948 -0.002442 -0.001007 0.000288 0.000000 0.000000 0.051172 -0.020507 -0.009850 -0.004862 -0.002006 0.000573 0.000000 0.000000 0.096607 -0.040008 -0.019239 -0.009524 -0.003927 0.001122 0.000000 0.000000 0.172633 -0.076574 -0.037528 -0.018578 -0.007676 0.002195 0.000000 0.000000 0.272692 -0.133488 -0.065786 -0.032866 -0.013560 0.003875 0.000000 0.000000 0.321912 -0.191692 -0.100138 -0.050046 -0.020779 0.005948 0.000000 0.000000 0.210806 -0.112020 -0.053101 -0.027253 -0.011133 0.003174 0.000000 0.000000 0.041207 0.266406 0.194500 0.110081 0.046235 -0.013252 0.000000 0.000000 -0.003257 0.558712 0.584031 0.339863 0.147173 -0.042376 0.000000 0.000000 0.001731 0.318197 0.255417 0.172656 0.074323 -0.021411 0.000000 0.000000 -0.000948 0.022873 -0.821858 -0.904172 -0.444290 0.130553 0.000000 0.000000 0.000538 0.000424 -0.504956 -0.567768 -0.299726 0.089041 0.000000 0.000000 -0.000261 -0.001054 -0.060068 0.935690 0.745578 -0.235536 0.000000 0.000000 0.000144 0.000570 0.012489 0.577664 0.632638 -0.220012 0.000000 0.000000 -0.000058 -0.000254 -0.004801 0.025458 -0.753891 0.340275 0.000000 0.000000 0.000023 0.000108 0.001940 -0.000748 -0.688315 0.444861 1.000000 0.000000 -0.000005 -0.000025 -0.000437 0.000147 -0.036065 -0.607634 0.000000 0.000000 0.000002 0.000010 0.000184 -0.000098 0.014016 -0.597978 0.000000 1.000000 18 7 89387.680 21166.723 6873.2593 2628.1327 1114.9079 508.50757 244.01522 121.32689 60.913247 31.490174 16.346398 8.0534278 3.9363581 1.6561564 0.7562729 0.3088278 0.0896047 0.0344071 0.001592 -0.000815 -0.000398 0.000149 0.000000 0.000000 0.000000 0.004545 -0.002344 -0.001147 0.000429 0.000000 0.000000 0.000000 0.014687 -0.007650 -0.003754 0.001404 0.000000 0.000000 0.000000 0.042469 -0.022506 -0.011073 0.004155 0.000000 0.000000 0.000000 0.113099 -0.061802 -0.030689 0.011498 0.000000 0.000000 0.000000 0.242231 -0.138631 -0.069441 0.026190 0.000000 0.000000 0.000000 0.367288 -0.221193 -0.112853 0.042393 0.000000 0.000000 0.000000 0.307781 -0.135132 -0.058779 0.021892 0.000000 0.000000 0.000000 0.100922 0.269639 0.205020 -0.085198 0.000000 0.000000 0.000000 0.004529 0.567375 0.469524 -0.193027 0.000000 0.000000 0.000000 0.001382 0.281698 0.037518 0.003329 0.000000 0.000000 0.000000 -0.000792 0.031614 -0.645135 0.383015 0.000000 0.000000 0.000000 0.000315 0.000332 -0.479041 0.275443 0.000000 0.000000 0.000000 -0.000155 0.000241 -0.055959 -0.429177 0.000000 0.000000 0.000000 0.000081 -0.000122 0.003758 -0.613502 0.000000 0.000000 0.000000 -0.000029 0.000030 -0.001356 -0.186441 1.000000 0.000000 0.000000 0.000010 -0.000012 0.000391 -0.003308 0.000000 1.000000 0.000000 -0.000004 0.000004 -0.000144 -0.000984 0.000000 0.000000 1.000000 14 5 3733.6905 1129.2743 440.77439 194.87478 92.780865 45.982277 23.368429 11.696402 5.7212170 2.7195064 1.1192264 0.4443915 0.1590647 0.0570000 0.001299 -0.000653 0.000162 0.000000 0.000000 0.008440 -0.004284 0.001073 0.000000 0.000000 0.039241 -0.020046 0.004983 0.000000 0.000000 0.128899 -0.067422 0.016975 0.000000 0.000000 0.288934 -0.151394 0.037699 0.000000 0.000000 0.400849 -0.197335 0.049572 0.000000 0.000000 0.277257 -0.010057 -0.006584 0.000000 0.000000 0.071309 0.375877 -0.111963 0.000000 0.000000 0.003798 0.496735 -0.154163 0.000000 0.000000 0.000739 0.228150 0.031969 0.000000 0.000000 -0.000113 0.024934 0.353095 0.000000 0.000000 0.000061 -0.000920 0.479937 0.000000 0.000000 -0.000027 0.000514 0.320831 1.000000 0.000000 0.000008 -0.000148 0.061572 0.000000 1.000000 9 3 332.54602 115.16694 48.687677 22.33074410.5676594 4.9367257 2.2085295 0.8814553 0.3500000 0.002797 0.000000 0.000000 0.021311 0.000000 0.000000 0.085322 0.000000 0.000000 0.215963 0.000000 0.000000 0.342984 0.000000 0.000000 0.363316 0.000000 0.000000 0.250032 0.000000 0.000000 0.085151 1.000000 0.000000 0.006340 0.000000 1.000000 ************************************************************************ /Os.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Os.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. *Relativistic basis set ************************************************************************ a 76 22 8 36938369. 5531366.4 1258787.6 356538.38 116310.21 41984.416 16371.112 6786.7395 2956.7576 1341.1089 624.77753 279.22792 142.67343 72.068012 32.369022 16.975756 7.2975089 3.6515189 1.4508598 0.6623514 0.1342605 0.0509618 0.001200 -0.000459 -0.000219 -0.000108 0.000045 0.000013 0.000000 0.000000 0.002866 -0.001099 -0.000524 -0.000259 0.000108 0.000031 0.000000 0.000000 0.006589 -0.002537 -0.001210 -0.000599 0.000250 0.000071 0.000000 0.000000 0.013548 -0.005262 -0.002514 -0.001244 0.000519 0.000148 0.000000 0.000000 0.027039 -0.010630 -0.005083 -0.002517 0.001051 0.000299 0.000000 0.000000 0.051948 -0.020917 -0.010066 -0.004986 0.002083 0.000592 0.000000 0.000000 0.097523 -0.040586 -0.019555 -0.009713 0.004055 0.001152 0.000000 0.000000 0.173258 -0.077205 -0.037910 -0.018833 0.007880 0.002241 0.000000 0.000000 0.272353 -0.133839 -0.066079 -0.033120 0.013837 0.003932 0.000000 0.000000 0.320707 -0.191070 -0.099979 -0.050142 0.021084 0.006003 0.000000 0.000000 0.210274 -0.110437 -0.052058 -0.026756 0.011056 0.003134 0.000000 0.000000 0.041421 0.266409 0.195174 0.110844 -0.047156 -0.013440 0.000000 0.000000 -0.003151 0.557905 0.584448 0.341715 -0.149959 -0.042959 0.000000 0.000000 0.001696 0.318249 0.253963 0.171600 -0.074737 -0.021402 0.000000 0.000000 -0.000934 0.022757 -0.823159 -0.910917 0.454252 0.132845 0.000000 0.000000 0.000533 0.000507 -0.502768 -0.565406 0.303195 0.089777 0.000000 0.000000 -0.000263 -0.001121 -0.061022 0.937261 -0.762566 -0.240701 0.000000 0.000000 0.000147 0.000620 0.013196 0.577015 -0.644830 -0.223851 0.000000 0.000000 -0.000060 -0.000276 -0.005077 0.026332 0.766423 0.349604 0.000000 0.000000 0.000023 0.000115 0.002013 -0.000730 0.690189 0.431419 1.000000 0.000000 -0.000005 -0.000026 -0.000445 0.000170 0.036751 -0.569664 0.000000 0.000000 0.000002 0.000011 0.000185 -0.000098 -0.012696 -0.629514 0.000000 1.000000 18 7 92913.914 22001.506 7144.3897 2731.9209 1159.0342 528.72272 253.79143 126.26080 63.505157 32.861814 17.083614 8.4257923 4.1376495 1.7579206 0.8064629 0.3298975 0.0959004 0.0364013 0.001627 -0.000835 -0.000410 0.000156 0.000000 0.000000 0.000000 0.004602 -0.002380 -0.001169 0.000446 0.000000 0.000000 0.000000 0.014759 -0.007708 -0.003799 0.001446 0.000000 0.000000 0.000000 0.042366 -0.022513 -0.011125 0.004248 0.000000 0.000000 0.000000 0.112380 -0.061555 -0.030701 0.011706 0.000000 0.000000 0.000000 0.240476 -0.137919 -0.069382 0.026631 0.000000 0.000000 0.000000 0.365917 -0.220696 -0.113086 0.043234 0.000000 0.000000 0.000000 0.309347 -0.137862 -0.060616 0.022989 0.000000 0.000000 0.000000 0.103258 0.263315 0.201758 -0.085482 0.000000 0.000000 0.000000 0.004993 0.566926 0.471431 -0.197530 0.000000 0.000000 0.000000 0.001368 0.287142 0.046794 -0.000818 0.000000 0.000000 0.000000 -0.000791 0.033181 -0.642840 0.390840 0.000000 0.000000 0.000000 0.000318 0.000218 -0.484249 0.286053 0.000000 0.000000 0.000000 -0.000157 0.000281 -0.057439 -0.436853 0.000000 0.000000 0.000000 0.000082 -0.000149 0.003660 -0.614926 0.000000 0.000000 0.000000 -0.000029 0.000037 -0.001346 -0.183084 1.000000 0.000000 0.000000 0.000010 -0.000015 0.000377 -0.003154 0.000000 1.000000 0.000000 -0.000004 0.000005 -0.000137 -0.000974 0.000000 0.000000 1.000000 14 5 3778.9937 1142.9783 446.08995 197.18691 93.851519 46.500940 23.614672 11.808212 5.7775438 2.7543477 1.1612866 0.4641208 0.1663104 0.0590000 0.001362 -0.000690 0.000180 0.000000 0.000000 0.008797 -0.004499 0.001186 0.000000 0.000000 0.040697 -0.020961 0.005498 0.000000 0.000000 0.132861 -0.070058 0.018577 0.000000 0.000000 0.294855 -0.155657 0.040911 0.000000 0.000000 0.402150 -0.197958 0.052187 0.000000 0.000000 0.269572 0.003080 -0.010979 0.000000 0.000000 0.066242 0.391607 -0.124081 0.000000 0.000000 0.003260 0.492887 -0.160284 0.000000 0.000000 0.000687 0.210565 0.049206 0.000000 0.000000 -0.000122 0.021031 0.377366 0.000000 0.000000 0.000057 -0.000278 0.477764 0.000000 0.000000 -0.000027 0.000337 0.295472 1.000000 0.000000 0.000008 -0.000064 0.049686 0.000000 1.000000 9 3 354.42137 122.88051 52.076034 23.954962 11.390410 5.3579029 2.4204354 0.9765784 0.3969000 0.002677 0.000000 0.000000 0.020511 0.000000 0.000000 0.083001 0.000000 0.000000 0.212714 0.000000 0.000000 0.342499 0.000000 0.000000 0.365718 0.000000 0.000000 0.249501 0.000000 0.000000 0.081716 1.000000 0.000000 0.005586 0.000000 1.000000 ************************************************************************ /Ir.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Ir.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. *Relativistic basis set ************************************************************************ a 77 22 8 38103770. 5705873.4 1298500.3 367786.71 119979.75 43309.034 16887.620 7000.8507 3050.0321 1383.4192 644.56747 288.64708 147.46239 74.477794 33.472000 17.574554 7.5732658 3.8154529 1.5427100 0.7034500 0.1418800 0.0533100 0.001246 -0.000479 -0.000229 -0.000113 0.000048 0.000013 0.000000 0.000000 0.002963 -0.001142 -0.000545 -0.000271 0.000114 0.000032 0.000000 0.000000 0.006785 -0.002625 -0.001254 -0.000623 0.000263 0.000074 0.000000 0.000000 0.013892 -0.005421 -0.002595 -0.001288 0.000544 0.000153 0.000000 0.000000 0.027602 -0.010904 -0.005224 -0.002595 0.001096 0.000309 0.000000 0.000000 0.052755 -0.021345 -0.010291 -0.005114 0.002162 0.000609 0.000000 0.000000 0.098486 -0.041190 -0.019884 -0.009909 0.004186 0.001178 0.000000 0.000000 0.173948 -0.077874 -0.038312 -0.019099 0.008085 0.002278 0.000000 0.000000 0.272073 -0.134227 -0.066388 -0.033384 0.014111 0.003972 0.000000 0.000000 0.319473 -0.190445 -0.099813 -0.050234 0.021374 0.006028 0.000000 0.000000 0.209612 -0.108660 -0.050888 -0.026191 0.010937 0.003069 0.000000 0.000000 0.041568 0.266869 0.196211 0.111829 -0.048150 -0.013594 0.000000 0.000000 -0.003046 0.557055 0.584957 0.343621 -0.152688 -0.043342 0.000000 0.000000 0.001660 0.317897 0.251705 0.170035 -0.074859 -0.021227 0.000000 0.000000 -0.000917 0.022563 -0.824864 -0.918453 0.464464 0.134652 0.000000 0.000000 0.000527 0.000600 -0.500043 -0.561817 0.305732 0.089855 0.000000 0.000000 -0.000263 -0.001191 -0.061849 0.940099 -0.780687 -0.245212 0.000000 0.000000 0.000150 0.000673 0.013901 0.574924 -0.654498 -0.225728 0.000000 0.000000 -0.000061 -0.000297 -0.005336 0.027159 0.780659 0.357597 0.000000 0.000000 0.000023 0.000121 0.002069 -0.000728 0.690410 0.416206 1.000000 0.000000 -0.000005 -0.000027 -0.000449 0.000198 0.036647 -0.539044 0.000000 0.000000 0.000002 0.000011 0.000184 -0.000098 -0.011378 -0.652908 0.000000 1.000000 18 7 96509.599 22852.713 7420.8476 2837.7472 1204.0279 549.33635 263.76229 131.29484 66.151174 34.261416 17.835436 8.8063504 4.3445433 1.8630329 0.8577347 0.3515711 0.1013436 0.0380797 0.001664 -0.000856 0.000422 -0.000163 0.000000 0.000000 0.000000 0.004661 -0.002417 0.001193 -0.000462 0.000000 0.000000 0.000000 0.014841 -0.007772 0.003847 -0.001488 0.000000 0.000000 0.000000 0.042292 -0.022534 0.011185 -0.004340 0.000000 0.000000 0.000000 0.111730 -0.061343 0.030730 -0.011906 0.000000 0.000000 0.000000 0.238824 -0.137258 0.069347 -0.027048 0.000000 0.000000 0.000000 0.364567 -0.220199 0.113316 -0.044025 0.000000 0.000000 0.000000 0.310773 -0.140382 0.062344 -0.024036 0.000000 0.000000 0.000000 0.105510 0.257312 -0.198700 0.085703 0.000000 0.000000 0.000000 0.005460 0.566392 -0.473278 0.201802 0.000000 0.000000 0.000000 0.001352 0.292308 -0.055552 0.004860 0.000000 0.000000 0.000000 -0.000790 0.034705 0.640753 -0.398344 0.000000 0.000000 0.000000 0.000321 0.000104 0.489015 -0.296038 0.000000 0.000000 0.000000 -0.000159 0.000319 0.058834 0.444238 0.000000 0.000000 0.000000 0.000082 -0.000174 -0.003535 0.616013 0.000000 0.000000 0.000000 -0.000029 0.000042 0.001331 0.180255 1.000000 0.000000 0.000000 0.000010 -0.000017 -0.000360 0.003086 0.000000 1.000000 0.000000 -0.000004 0.000006 0.000130 0.000902 0.000000 0.000000 1.000000 14 5 3841.5486 1161.9143 453.46152 200.42501 95.374454 47.251224 23.982388 11.984947 5.8669142 2.8002273 1.2078496 0.4876331 0.1760709 0.0600000 0.001415 -0.000722 0.000198 0.000000 0.000000 0.009088 -0.004683 0.001290 0.000000 0.000000 0.041849 -0.021726 0.005965 0.000000 0.000000 0.135943 -0.072248 0.020023 0.000000 0.000000 0.299389 -0.159229 0.043834 0.000000 0.000000 0.402954 -0.198509 0.054496 0.000000 0.000000 0.263584 0.013812 -0.014934 0.000000 0.000000 0.062468 0.404320 -0.135275 0.000000 0.000000 0.002884 0.489580 -0.165142 0.000000 0.000000 0.000641 0.195918 0.066079 0.000000 0.000000 -0.000130 0.017864 0.395631 0.000000 0.000000 0.000053 0.000303 0.471384 0.000000 0.000000 -0.000027 0.000216 0.276303 1.000000 0.000000 0.000007 0.000004 0.041763 0.000000 1.000000 9 3 376.30209 130.60175 55.466119 25.581542 12.214910 5.7809072 2.6338786 1.0723483 0.4400000 0.002576 0.000000 0.000000 0.019834 0.000000 0.000000 0.081033 0.000000 0.000000 0.209936 0.000000 0.000000 0.342132 0.000000 0.000000 0.367854 0.000000 0.000000 0.248802 0.000000 0.000000 0.078718 1.000000 0.000000 0.004986 0.000000 1.000000 ************************************************************************ /Pt.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Pt.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. *Relativistic basis set ************************************************************************ a 78 22 8 39153030. 5863120.1 1334304.4 377931.06 123287.67 44501.414 17351.815 7193.0960 3133.7724 1421.4306 662.32698 296.70361 151.63278 76.626012 34.490110 18.114040 7.8061920 3.9560990 1.6082575 0.7120100 0.1289162 0.0486346 0.001298 0.000501 -0.000240 -0.000119 0.000051 -0.000014 0.000000 0.000000 0.003071 0.001189 -0.000569 -0.000283 0.000121 -0.000034 0.000000 0.000000 0.007006 0.002724 -0.001303 -0.000649 0.000277 -0.000077 0.000000 0.000000 0.014280 0.005599 -0.002685 -0.001337 0.000571 -0.000158 0.000000 0.000000 0.028252 0.011215 -0.005382 -0.002683 0.001146 -0.000317 0.000000 0.000000 0.053722 0.021846 -0.010551 -0.005261 0.002248 -0.000623 0.000000 0.000000 0.099736 0.041926 -0.020277 -0.010139 0.004330 -0.001200 0.000000 0.000000 0.175086 0.078787 -0.038836 -0.019425 0.008312 -0.002304 0.000000 0.000000 0.272269 0.134907 -0.066842 -0.033728 0.014417 -0.004000 0.000000 0.000000 0.318161 0.190007 -0.099767 -0.050374 0.021657 -0.005997 0.000000 0.000000 0.208089 0.105551 -0.048897 -0.025225 0.010666 -0.002983 0.000000 0.000000 0.041197 -0.270890 0.200167 0.114608 -0.050009 0.014012 0.000000 0.000000 -0.003005 -0.555652 0.586376 0.345995 -0.155343 0.043143 0.000000 0.000000 0.001636 -0.314740 0.243781 0.165164 -0.073807 0.021125 0.000000 0.000000 -0.000903 -0.021732 -0.829979 -0.932621 0.479065 -0.138073 0.000000 0.000000 0.000518 -0.000810 -0.493596 -0.548294 0.300569 -0.084794 0.000000 0.000000 -0.000259 0.001293 -0.061187 0.951953 -0.805059 0.245284 0.000000 0.000000 0.000147 -0.000727 0.014080 0.562624 -0.656522 0.231964 0.000000 0.000000 -0.000057 0.000304 -0.005147 0.026932 0.843360 -0.400998 0.000000 0.000000 0.000020 -0.000115 0.001874 -0.000883 0.652627 -0.360237 1.000000 0.000000 -0.000004 0.000025 -0.000394 0.000250 0.025704 0.644964 0.000000 0.000000 0.000002 -0.000011 0.000170 -0.000118 -0.007715 0.534816 0.000000 1.000000 18 7 99621.508 23589.618 7660.1990 2929.3538 1242.9653 567.16252 272.37537 135.62884 68.396200 35.454379 18.471661 9.1288840 4.5228550 1.9479390 0.8922360 0.3618590 0.0920830 0.0347390 0.001710 -0.000883 0.000437 0.000171 0.000000 0.000000 0.000000 0.004753 -0.002472 0.001225 0.000481 0.000000 0.000000 0.000000 0.015032 -0.007893 0.003924 0.001540 0.000000 0.000000 0.000000 0.042541 -0.022730 0.011332 0.004462 0.000000 0.000000 0.000000 0.111882 -0.061587 0.030989 0.012183 0.000000 0.000000 0.000000 0.238507 -0.137405 0.069727 0.027602 0.000000 0.000000 0.000000 0.363971 -0.220201 0.113805 0.044864 0.000000 0.000000 0.000000 0.310842 -0.140670 0.062686 0.024532 0.000000 0.000000 0.000000 0.106093 0.256462 -0.199406 -0.087476 0.000000 0.000000 0.000000 0.005595 0.566040 -0.475559 -0.205937 0.000000 0.000000 0.000000 0.001346 0.293159 -0.055823 -0.004961 0.000000 0.000000 0.000000 -0.000791 0.034997 0.642893 0.409020 0.000000 0.000000 0.000000 0.000323 0.000036 0.487818 0.299310 0.000000 0.000000 0.000000 -0.000155 0.000315 0.058010 -0.464737 0.000000 0.000000 0.000000 0.000078 -0.000177 -0.003300 -0.614588 0.000000 0.000000 0.000000 -0.000025 0.000038 0.001218 -0.167055 1.000000 0.000000 0.000000 0.000008 -0.000014 -0.000301 -0.002262 0.000000 1.000000 0.000000 -0.000003 0.000006 0.000118 -0.000601 0.000000 0.000000 1.000000 14 5 3675.6514 1111.5436 433.50951 191.31286 90.787043 44.831568 22.593158 11.189035 5.4251740 2.5199600 1.1061150 0.4411150 0.1554860 0.0548000 0.001637 -0.000842 -0.000240 0.000000 0.000000 0.010500 -0.005450 -0.001560 0.000000 0.000000 0.047802 -0.025049 -0.007174 0.000000 0.000000 0.152014 -0.081500 -0.023452 0.000000 0.000000 0.321841 -0.172184 -0.049484 0.000000 0.000000 0.404591 -0.193175 -0.054208 0.000000 0.000000 0.233978 0.067674 0.032920 0.000000 0.000000 0.045466 0.454275 0.160395 0.000000 0.000000 0.001691 0.464980 0.152586 0.000000 0.000000 0.000391 0.143532 -0.136187 0.000000 0.000000 -0.000085 0.007047 -0.439962 0.000000 0.000000 0.000021 0.001496 -0.450615 0.000000 0.000000 -0.000017 -0.000140 -0.215329 1.000000 0.000000 0.000004 0.000133 -0.017699 0.000000 1.000000 9 3 395.41515 137.34360 58.414058 26.992158 12.924197 6.1422920 2.8134350 1.1449430 0.4660000 0.002534 0.000000 0.000000 0.019550 0.000000 0.000000 0.080367 0.000000 0.000000 0.209506 0.000000 0.000000 0.343563 0.000000 0.000000 0.369529 0.000000 0.000000 0.245888 0.000000 0.000000 0.074024 1.000000 0.000000 0.003832 0.000000 1.000000 ************************************************************************ /Au.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Au.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. *Relativistic basis set ************************************************************************ a 79 22 8 40301880. 6035075.0 1373422.8 389008.13 126902.41 45807.732 17861.882 7404.7445 3226.0354 1463.3062 681.91890 305.92614 156.34176 79.016270 35.584544 18.706384 8.0727220 4.1177380 1.6971040 0.7474740 0.1283310 0.0430390 0.001350 0.000524 0.000251 -0.000125 0.000054 0.000015 0.000000 0.000000 0.003179 0.001237 0.000593 -0.000296 0.000128 0.000035 0.000000 0.000000 0.007224 0.002822 0.001353 -0.000676 0.000292 0.000079 0.000000 0.000000 0.014661 0.005776 0.002775 -0.001387 0.000598 0.000163 0.000000 0.000000 0.028875 0.011519 0.005538 -0.002770 0.001195 0.000326 0.000000 0.000000 0.054622 0.022322 0.010800 -0.005403 0.002332 0.000636 0.000000 0.000000 0.100838 0.042604 0.020642 -0.010356 0.004468 0.001218 0.000000 0.000000 0.175967 0.079568 0.039294 -0.019721 0.008525 0.002325 0.000000 0.000000 0.272167 0.135406 0.067201 -0.034020 0.014690 0.004006 0.000000 0.000000 0.316859 0.189393 0.099606 -0.050461 0.021918 0.005976 0.000000 0.000000 0.207048 0.103173 0.047324 -0.024446 0.010426 0.002856 0.000000 0.000000 0.041133 -0.272735 -0.202305 0.116279 -0.051269 -0.014097 0.000000 0.000000 -0.002916 -0.554550 -0.587192 0.348067 -0.158005 -0.043253 0.000000 0.000000 0.001600 -0.313260 -0.238951 0.161921 -0.072964 -0.020412 0.000000 0.000000 -0.000885 -0.021322 0.833133 -0.943035 0.490499 0.138849 0.000000 0.000000 0.000508 -0.000924 0.488953 -0.539929 0.299828 0.083861 0.000000 0.000000 -0.000256 0.001368 0.061521 0.958793 -0.827756 -0.250428 0.000000 0.000000 0.000146 -0.000779 -0.014685 0.555724 -0.657429 -0.226951 0.000000 0.000000 -0.000056 0.000320 0.005289 0.027450 0.862985 0.403495 0.000000 0.000000 0.000019 -0.000116 -0.001848 -0.000918 0.647014 0.346093 1.000000 0.000000 -0.000004 0.000022 0.000344 0.000256 0.023026 -0.704960 0.000000 0.000000 0.000001 -0.000009 -0.000139 -0.000099 -0.005803 -0.477555 0.000000 1.000000 18 7 103332.89 24467.867 7945.3705 3038.4991 1289.3683 588.42323 282.66282 140.82571 71.129359 36.900314 19.248304 9.5232960 4.7393260 2.0586260 0.9452740 0.3844240 0.0916650 0.0344310 0.001750 -0.000905 -0.000450 -0.000179 0.000000 0.000000 0.000000 0.004820 -0.002513 -0.001251 -0.000498 0.000000 0.000000 0.000000 0.015134 -0.007967 -0.003978 -0.001582 0.000000 0.000000 0.000000 0.042522 -0.022779 -0.011406 -0.004551 0.000000 0.000000 0.000000 0.111362 -0.061442 -0.031050 -0.012372 0.000000 0.000000 0.000000 0.237052 -0.136845 -0.069738 -0.027979 0.000000 0.000000 0.000000 0.362688 -0.219720 -0.114034 -0.045562 0.000000 0.000000 0.000000 0.312026 -0.142823 -0.064210 -0.025476 0.000000 0.000000 0.000000 0.108156 0.251078 0.196734 0.087625 0.000000 0.000000 0.000000 0.006047 0.565428 0.477352 0.209789 0.000000 0.000000 0.000000 0.001329 0.297799 0.063650 0.008738 0.000000 0.000000 0.000000 -0.000789 0.036405 -0.641293 -0.416071 0.000000 0.000000 0.000000 0.000325 -0.000076 -0.491798 -0.307861 0.000000 0.000000 0.000000 -0.000155 0.000348 -0.059236 0.471012 0.000000 0.000000 0.000000 0.000078 -0.000198 0.003126 0.615068 0.000000 0.000000 0.000000 -0.000024 0.000041 -0.001179 0.165536 1.000000 0.000000 0.000000 0.000007 -0.000015 0.000268 0.002422 0.000000 1.000000 0.000000 -0.000003 0.000006 -0.000108 0.000347 0.000000 0.000000 1.000000 14 5 3796.9157 1148.2908 447.89680 197.71898 93.870827 46.389021 23.399197 11.605727 5.6455330 2.6274590 1.1676320 0.4710150 0.1681060 0.0600000 0.001650 -0.000855 0.000252 0.000000 0.000000 0.010508 -0.005496 0.001620 0.000000 0.000000 0.047710 -0.025192 0.007436 0.000000 0.000000 0.151643 -0.081918 0.024279 0.000000 0.000000 0.321357 -0.173267 0.051341 0.000000 0.000000 0.404502 -0.194557 0.056122 0.000000 0.000000 0.234467 0.067905 -0.034256 0.000000 0.000000 0.045765 0.456265 -0.167453 0.000000 0.000000 0.001672 0.465038 -0.156426 0.000000 0.000000 0.000390 0.140529 0.147399 0.000000 0.000000 -0.000083 0.005960 0.447268 0.000000 0.000000 0.000033 0.001209 0.442909 0.000000 0.000000 -0.000013 -0.000390 0.203714 1.000000 0.000000 0.000004 0.000131 0.016003 0.000000 1.000000 9 3 417.51079 145.14952 61.838917 28.638316 13.759916 6.5726160 3.0313660 1.2422510 0.5091000 0.002458 0.000000 0.000000 0.019022 0.000000 0.000000 0.078818 0.000000 0.000000 0.207281 0.000000 0.000000 0.343278 0.000000 0.000000 0.371274 0.000000 0.000000 0.245099 0.000000 0.000000 0.071754 1.000000 0.000000 0.003505 0.000000 1.000000 ************************************************************************ /Hg.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Hg.Raf-r.Wahlgren.22s18p14d9f.8s7p5d3f. *Relativistic basis set ************************************************************************ a 80 22 8 41661580. 6238626.0 1419739.9 402126.75 131182.27 47352.808 18464.395 7654.4997 3334.8159 1512.6363 705.03666 317.36305 162.05091 81.835091 36.854951 19.410908 8.4120990 4.3224580 1.8291180 0.8275330 0.1613400 0.0591120 0.001400 -0.000546 0.000262 -0.000131 0.000057 0.000017 0.000000 0.000000 0.003281 -0.001283 0.000616 -0.000309 0.000135 0.000039 0.000000 0.000000 0.007428 -0.002915 0.001400 -0.000702 0.000307 0.000089 0.000000 0.000000 0.015006 -0.005941 0.002858 -0.001433 0.000627 0.000182 0.000000 0.000000 0.029422 -0.011794 0.005680 -0.002850 0.001247 0.000361 0.000000 0.000000 0.055362 -0.022733 0.011018 -0.005531 0.002421 0.000701 0.000000 0.000000 0.101634 -0.043153 0.020945 -0.010542 0.004612 0.001337 0.000000 0.000000 0.176341 -0.080081 0.039614 -0.019951 0.008747 0.002534 0.000000 0.000000 0.271510 -0.135563 0.067388 -0.034222 0.014986 0.004346 0.000000 0.000000 0.315608 -0.188500 0.099248 -0.050462 0.022233 0.006438 0.000000 0.000000 0.206972 -0.102296 0.046682 -0.024115 0.010414 0.003044 0.000000 0.000000 0.041680 0.270493 -0.201124 0.115917 -0.051831 -0.015182 0.000000 0.000000 -0.002750 0.554224 -0.586850 0.349529 -0.161059 -0.046811 0.000000 0.000000 0.001550 0.314850 -0.240770 0.162619 -0.074217 -0.022202 0.000000 0.000000 -0.000865 0.021598 0.831922 -0.945165 0.499504 0.150847 0.000000 0.000000 0.000503 0.000936 0.489101 -0.544247 0.307885 0.091256 0.000000 0.000000 -0.000260 -0.001428 0.063723 0.955366 -0.842835 -0.271557 0.000000 0.000000 0.000154 0.000847 -0.016066 0.560615 -0.677831 -0.253593 0.000000 0.000000 -0.000062 -0.000366 0.006085 0.029655 0.844533 0.431493 0.000000 0.000000 0.000021 0.000137 -0.002195 -0.000943 0.678296 0.386009 1.000000 0.000000 -0.000004 -0.000029 0.000449 0.000304 0.028451 -0.628153 0.000000 0.000000 0.000002 0.000012 -0.000182 -0.000111 -0.007511 -0.567227 0.000000 1.000000 18 7 107631.33 25485.514 8275.9298 3165.0688 1343.2024 613.10426 294.61755 146.88179 74.346672 38.593904 20.160623 9.9884060 4.9935970 2.1949000 1.0175430 0.4195370 0.1152430 0.0422230 0.001783 -0.000925 0.000462 -0.000187 0.000000 0.000000 0.000000 0.004864 -0.002542 0.001271 -0.000515 0.000000 0.000000 0.000000 0.015158 -0.007999 0.004011 -0.001624 0.000000 0.000000 0.000000 0.042269 -0.022699 0.011414 -0.004636 0.000000 0.000000 0.000000 0.110261 -0.060957 0.030934 -0.012550 0.000000 0.000000 0.000000 0.234605 -0.135665 0.069419 -0.028349 0.000000 0.000000 0.000000 0.360770 -0.218796 0.114019 -0.046396 0.000000 0.000000 0.000000 0.314135 -0.146535 0.066733 -0.026946 0.000000 0.000000 0.000000 0.111557 0.241781 -0.191101 0.086749 0.000000 0.000000 0.000000 0.006812 0.564445 -0.478580 0.214664 0.000000 0.000000 0.000000 0.001299 0.305697 -0.077866 0.015643 0.000000 0.000000 0.000000 -0.000782 0.038842 0.636015 -0.421841 0.000000 0.000000 0.000000 0.000328 -0.000233 0.500211 -0.323992 0.000000 0.000000 0.000000 -0.000160 0.000420 0.062634 0.470682 0.000000 0.000000 0.000000 0.000082 -0.000241 -0.003197 0.621656 0.000000 0.000000 0.000000 -0.000027 0.000058 0.001229 0.164623 1.000000 0.000000 0.000000 0.000009 -0.000020 -0.000324 0.002552 0.000000 1.000000 0.000000 -0.000003 0.000007 0.000115 0.000654 0.000000 0.000000 1.000000 14 5 4110.4803 1243.3755 485.27684 214.51461 102.09188 50.610564 25.680837 12.839433 6.3109090 3.0093950 1.3607420 0.5652400 0.2094170 0.0776000 0.001529 -0.000798 0.000248 0.000000 0.000000 0.009635 -0.005074 0.001583 0.000000 0.000000 0.043851 -0.023291 0.007269 0.000000 0.000000 0.141073 -0.076679 0.024068 0.000000 0.000000 0.306782 -0.166781 0.052254 0.000000 0.000000 0.403789 -0.200595 0.061790 0.000000 0.000000 0.253500 0.033797 -0.024571 0.000000 0.000000 0.056474 0.428853 -0.167330 0.000000 0.000000 0.002292 0.482741 -0.180040 0.000000 0.000000 0.000548 0.167179 0.116604 0.000000 0.000000 -0.000139 0.010944 0.448378 0.000000 0.000000 0.000058 0.000912 0.456018 0.000000 0.000000 -0.000023 -0.000263 0.200235 1.000000 0.000000 0.000007 0.000091 0.014535 0.000000 1.000000 9 3 442.83436 154.10907 65.780224 30.539806 14.732483 7.0777280 3.2915460 1.3677440 0.3925980 0.002353 0.000000 0.000000 0.018290 0.000000 0.000000 0.076489 0.000000 0.000000 0.203456 0.000000 0.000000 0.341353 0.000000 0.000000 0.373235 0.000000 0.000000 0.246316 0.000000 0.000000 0.072060 1.000000 0.000000 0.003179 0.000000 1.000000 ************************************************************************ /Tl.Raf-r.Wahlgren.22s17p14d9f.8s7p5d3f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Tl.Raf-r.Wahlgren.22s17p14d9f.8s7p5d3f. *Relativistic basis set ************************************************************************ a 81 22 8 45293490. 6765245.0 1535390.1 433633.05 141021.42 50735.079 19710.470 8137.9889 3530.7569 1595.1721 741.14765 334.96393 170.23293 85.571732 38.333722 20.237259 8.7848631 4.5464254 1.9659900 0.9134530 0.2015440 0.0766340 0.001406 -0.000551 0.000265 0.000133 0.000059 0.000019 0.000000 0.000000 0.003289 -0.001292 0.000621 0.000312 0.000138 0.000044 0.000000 0.000000 0.007426 -0.002928 0.001408 0.000708 0.000314 0.000099 0.000000 0.000000 0.014964 -0.005951 0.002868 0.001443 0.000639 0.000202 0.000000 0.000000 0.029259 -0.011780 0.005682 0.002861 0.001267 0.000401 0.000000 0.000000 0.054895 -0.022625 0.010982 0.005531 0.002452 0.000775 0.000000 0.000000 0.100538 -0.042836 0.020822 0.010513 0.004658 0.001473 0.000000 0.000000 0.174310 -0.079272 0.039258 0.019838 0.008809 0.002786 0.000000 0.000000 0.269170 -0.134427 0.066886 0.034062 0.015105 0.004777 0.000000 0.000000 0.316099 -0.187592 0.098754 0.050382 0.022483 0.007112 0.000000 0.000000 0.211554 -0.107071 0.049380 0.025530 0.011172 0.003539 0.000000 0.000000 0.044387 0.257798 -0.191150 -0.110383 -0.049963 -0.015909 0.000000 0.000000 -0.002472 0.556884 -0.585775 -0.350045 -0.163398 -0.052010 0.000000 0.000000 0.001504 0.323813 -0.255379 -0.171772 -0.079473 -0.025599 0.000000 0.000000 -0.000853 0.023292 0.826679 0.940290 0.503887 0.165571 0.000000 0.000000 0.000505 0.000572 0.494504 0.557946 0.321192 0.105711 0.000000 0.000000 -0.000269 -0.001324 0.067570 -0.947727 -0.852706 -0.304905 0.000000 0.000000 0.000165 0.000826 -0.018097 -0.570003 -0.700405 -0.282956 0.000000 0.000000 -0.000069 -0.000379 0.007197 -0.032096 0.820921 0.456595 0.000000 0.000000 0.000025 0.000149 -0.002695 0.000932 0.711170 0.465271 1.000000 0.000000 -0.000006 -0.000033 0.000586 -0.000321 0.034463 -0.645471 0.000000 0.000000 0.000002 0.000013 -0.000229 0.000115 -0.008457 -0.585633 0.000000 1.000000 17 7 84981.167 20126.806 6534.6883 2497.4534 1058.8054 482.26909 231.20100 114.70552 56.397465 28.886200 14.275089 7.1339827 3.4962109 1.5789587 0.6649138 0.1542499 0.0480480 0.002349 -0.001222 -0.000613 -0.000253 -0.000055 0.000000 0.000000 0.006644 -0.003486 -0.001752 -0.000723 -0.000156 0.000000 0.000000 0.021097 -0.011212 -0.005646 -0.002328 -0.000504 0.000000 0.000000 0.059361 -0.032153 -0.016288 -0.006744 -0.001454 0.000000 0.000000 0.150404 -0.084619 -0.043180 -0.017838 -0.003869 0.000000 0.000000 0.294992 -0.173781 -0.090044 -0.037546 -0.008079 0.000000 0.000000 0.379692 -0.229892 -0.119066 -0.049078 -0.010738 0.000000 0.000000 0.240410 -0.016754 0.015103 0.007807 0.002073 0.000000 0.000000 0.048961 0.465629 0.377237 0.175639 0.037765 0.000000 0.000000 -0.000970 0.508505 0.397573 0.173419 0.039513 0.000000 0.000000 0.001014 0.130167 -0.353185 -0.225363 -0.055270 0.000000 0.000000 -0.000658 0.000891 -0.692404 -0.517380 -0.114498 0.000000 0.000000 0.000291 0.002079 -0.205865 0.076621 0.016337 0.000000 0.000000 -0.000114 -0.000797 -0.007565 0.733367 0.243908 0.000000 0.000000 0.000039 0.000204 -0.000567 0.375198 0.063471 1.000000 0.000000 -0.000009 -0.000052 0.000080 0.018102 -0.511328 0.000000 0.000000 0.000003 0.000019 -0.000020 -0.002795 -0.609967 0.000000 1.000000 14 5 4434.3566 1341.6098 523.88515 231.87170 110.38649 54.877666 28.035186 14.120612 7.0039020 3.4021455 1.5588069 0.6634230 0.2537882 0.0970000 0.001425 -0.000748 0.000245 0.000000 0.000000 0.008897 -0.004717 0.001553 0.000000 0.000000 0.040476 -0.021626 0.007114 0.000000 0.000000 0.131936 -0.072142 0.023896 0.000000 0.000000 0.294164 -0.161172 0.053231 0.000000 0.000000 0.400743 -0.204184 0.066756 0.000000 0.000000 0.269941 0.003984 -0.015014 0.000000 0.000000 0.067869 0.400792 -0.166021 0.000000 0.000000 0.003111 0.495974 -0.201245 0.000000 0.000000 0.000740 0.193408 0.087462 0.000000 0.000000 -0.000213 0.016743 0.449675 0.000000 0.000000 0.000093 0.000584 0.471981 0.000000 0.000000 -0.000037 -0.000129 0.191645 1.000000 0.000000 0.000012 0.000042 0.011276 0.000000 1.000000 9 3 468.83442 163.31463 69.829556 32.496792 15.735602 7.6001041 3.5618861 1.4998462 0.6320000 0.002259 0.000000 0.000000 0.017610 0.000000 0.000000 0.074326 0.000000 0.000000 0.199703 0.000000 0.000000 0.339499 0.000000 0.000000 0.374715 0.000000 0.000000 0.248346 0.000000 0.000000 0.070898 1.000000 0.000000 0.002935 0.000000 1.000000 ************************************************************************ /Po.Raf-r.Wahlgren.22s17p14d9f.8s7p5d3f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Po.Raf-r.Wahlgren.22s17p14d9f.8s7p5d3f. *Relativistic basis set ************************************************************************ a 84 22 8 49123459. 7344710.4 1669711.3 472180.52 153700.82 55237.840 21504.114 8883.9142 3857.4141 1744.3483 811.53026 369.39451 187.45582 94.145321 42.317993 22.456286 9.8713757 5.2075960 2.3818980 1.1796970 0.2881210 0.1150090 -0.001590 -0.000632 -0.000305 -0.000155 0.000071 0.000026 0.000000 0.000000 -0.003657 -0.001457 -0.000704 -0.000357 0.000164 0.000060 0.000000 0.000000 -0.008150 -0.003262 -0.001576 -0.000800 0.000368 0.000134 0.000000 0.000000 -0.016175 -0.006529 -0.003161 -0.001606 0.000738 0.000269 0.000000 0.000000 -0.031256 -0.012776 -0.006193 -0.003147 0.001446 0.000527 0.000000 0.000000 -0.057701 -0.024145 -0.011775 -0.005988 0.002753 0.001003 0.000000 0.000000 -0.103591 -0.044824 -0.021899 -0.011160 0.005128 0.001868 0.000000 0.000000 -0.176710 -0.081509 -0.040560 -0.020700 0.009535 0.003474 0.000000 0.000000 -0.268018 -0.135442 -0.067707 -0.034792 0.015995 0.005832 0.000000 0.000000 -0.311805 -0.185038 -0.097720 -0.050362 0.023327 0.008497 0.000000 0.000000 -0.209055 -0.101318 -0.045593 -0.023541 0.010599 0.003888 0.000000 0.000000 -0.045186 0.258136 0.193509 0.112682 -0.052843 -0.019463 0.000000 0.000000 0.002171 0.554389 0.585278 0.354696 -0.172322 -0.063156 0.000000 0.000000 -0.001454 0.323054 0.251046 0.167563 -0.079672 -0.029887 0.000000 0.000000 0.000853 0.023046 -0.826178 -0.951759 0.531241 0.202924 0.000000 0.000000 -0.000524 0.000871 -0.490249 -0.561809 0.341020 0.129036 0.000000 0.000000 0.000298 -0.001616 -0.073254 0.942433 -0.903936 -0.376234 0.000000 0.000000 -0.000196 0.001096 0.022235 0.578608 -0.741533 -0.361563 0.000000 0.000000 0.000090 -0.000546 -0.009701 0.038141 0.773796 0.533858 0.000000 0.000000 -0.000034 0.000219 0.003739 -0.000904 0.790722 0.604120 1.000000 0.000000 0.000007 -0.000047 -0.000790 0.000303 0.044957 -0.782576 0.000000 0.000000 -0.000003 0.000018 0.000296 -0.000125 -0.010782 -0.516301 0.000000 1.000000 17 7 96720.948 22906.018 7437.4308 2843.0979 1205.7962 549.63092 263.73776 131.02118 64.706791 33.371119 16.812936 8.4927089 4.2682154 1.9618574 0.8808097 0.2494018 0.0846418 0.002453 -0.001286 0.000652 -0.000283 0.000084 0.000000 0.000000 0.006728 -0.003556 0.001808 -0.000786 0.000232 0.000000 0.000000 0.020866 -0.011166 0.005693 -0.002471 0.000731 0.000000 0.000000 0.057432 -0.031316 0.016052 -0.006996 0.002064 0.000000 0.000000 0.144279 -0.081569 0.042146 -0.018327 0.005437 0.000000 0.000000 0.284684 -0.168292 0.088130 -0.038691 0.011390 0.000000 0.000000 0.377529 -0.230129 0.120998 -0.052528 0.015712 0.000000 0.000000 0.254001 -0.040837 -0.000469 0.001608 -0.001026 0.000000 0.000000 0.057673 0.433942 -0.354912 0.174840 -0.051564 0.000000 0.000000 -0.000838 0.524822 -0.430438 0.200656 -0.062582 0.000000 0.000000 0.001311 0.154146 0.283264 -0.195800 0.067624 0.000000 0.000000 -0.000849 0.003996 0.708206 -0.564904 0.174457 0.000000 0.000000 0.000396 0.001944 0.248207 0.014275 -0.002153 0.000000 0.000000 -0.000164 -0.000797 0.013501 0.744733 -0.361722 0.000000 0.000000 0.000062 0.000221 0.000058 0.399165 -0.100012 1.000000 0.000000 -0.000016 -0.000062 0.000007 0.022119 0.633342 0.000000 0.000000 0.000005 0.000022 -0.000023 -0.002422 0.507902 0.000000 1.000000 14 5 5264.5865 1593.4447 622.76584 276.26481 132.23345 66.086100 33.980872 17.359042 8.7603531 4.3783109 2.0685550 0.9286558 0.3741944 0.1250000 0.001275 -0.000683 0.000252 0.000000 0.000000 0.007729 -0.004177 0.001550 0.000000 0.000000 0.035108 -0.019110 0.007076 0.000000 0.000000 0.115947 -0.064522 0.024085 0.000000 0.000000 0.268467 -0.150298 0.055911 0.000000 0.000000 0.393530 -0.209600 0.077728 0.000000 0.000000 0.299256 -0.045900 0.003580 0.000000 0.000000 0.090439 0.348079 -0.166426 0.000000 0.000000 0.006146 0.511813 -0.243466 0.000000 0.000000 0.000808 0.240200 0.038741 0.000000 0.000000 -0.000223 0.028870 0.460918 0.000000 0.000000 0.000101 0.000076 0.493424 0.000000 0.000000 -0.000036 0.000056 0.169550 1.000000 0.000000 0.000010 -0.000034 0.006865 0.000000 1.000000 9 3 549.92141 192.06420 82.474529 38.619589 18.880313 9.2459951 4.4208631 1.9271061 0.6420000 0.002031 0.000000 0.000000 0.015930 0.000000 0.000000 0.068806 0.000000 0.000000 0.189939 0.000000 0.000000 0.333963 0.000000 0.000000 0.378849 0.000000 0.000000 0.252991 0.000000 0.000000 0.070986 1.000000 0.000000 0.002293 0.000000 1.000000 ************************************************************************ /Th.Raf-r.Wahlgren.24s19p14d11f.9s8p7d5f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *Th.Raf-r.Wahlgren.24s19p14d11f.9s8p7d5f. *Relativistic basis set ************************************************************************ a 90 24 9 56858770. 8514809.0 1937898.6 548918.60 179072.48 64639.346 25204.193 10448.155 4552.0230 2065.3949 965.28516 447.97819 225.38119 112.95680 51.109702 27.418441 12.362758 6.7432300 3.0964087 1.6682377 0.5705845 0.2768392 0.0672058 0.0288813 0.002060 0.000845 0.000411 -0.000212 0.000104 -0.000045 0.000014 0.0 0.0 0.004582 0.001884 0.000918 -0.000474 0.000231 -0.000101 0.000031 0.0 0.0 0.009945 0.004107 0.002002 -0.001034 0.000504 -0.000221 0.000068 0.0 0.0 0.019157 0.007979 0.003897 -0.002014 0.000983 -0.000430 0.000131 0.0 0.0 0.035873 0.015138 0.007403 -0.003828 0.001868 -0.000818 0.000250 0.0 0.0 0.063996 0.027636 0.013596 -0.007036 0.003435 -0.001505 0.000460 0.0 0.0 0.111088 0.049641 0.024481 -0.012693 0.006193 -0.002713 0.000829 0.0 0.0 0.181699 0.086266 0.043299 -0.022499 0.011006 -0.004824 0.001473 0.0 0.0 0.266120 0.137797 0.069470 -0.036294 0.017717 -0.007766 0.002374 0.0 0.0 0.301648 0.178237 0.094509 -0.049586 0.024403 -0.010702 0.003268 0.0 0.0 0.202433 0.088625 0.037148 -0.018957 0.008920 -0.003901 0.001195 0.0 0.0 0.046040 -0.260548 -0.199461 0.117999 -0.058872 0.026007 -0.007965 0.0 0.0 -0.000901 -0.551658 -0.585907 0.364286 -0.188767 0.083691 -0.025602 0.0 0.0 0.000990 -0.317136 -0.234734 0.153193 -0.076329 0.033979 -0.010439 0.0 0.0 -0.000601 -0.023073 0.825071 -0.974831 0.584976 -0.270085 0.083312 0.0 0.0 0.000376 -0.000782 0.478596 -0.561885 0.370350 -0.173957 0.053636 0.0 0.0 -0.000229 0.001708 0.083887 0.926298 -0.993198 0.522465 -0.164275 0.0 0.0 0.000160 -0.001248 -0.029317 0.602450 -0.806538 0.480019 -0.155326 0.0 0.0 -0.000086 0.000724 0.014915 0.049802 0.868067 -0.777135 0.268012 0.0 0.0 0.000042 -0.000382 -0.007555 -0.004717 0.748719 -0.781486 0.285222 0.0 0.0 -0.000014 0.000131 0.002550 0.001276 0.060330 0.837774 -0.422469 0.0 0.0 0.000007 -0.000063 -0.001224 -0.000633 -0.015307 0.617546 -0.451415 1.0 0.0 -0.000002 0.000017 0.000336 0.000154 0.003547 0.028038 0.541901 0.0 0.0 0.000001 -0.000007 -0.000139 -0.000064 -0.001434 -0.007039 0.689503 0.0 1.0 19 8 117810.65 27899.292 9059.1080 3463.7029 1469.5522 670.40272 322.07651 160.32475 79.731427 41.468978 21.278593 10.886530 5.6000898 2.6872124 1.3038760 0.4698499 0.1845562 0.0448039 0.0192542 0.002817 -0.001496 -0.000776 0.000365 0.000145 0.000000 0.000000 0.000000 0.007346 -0.003937 -0.002048 0.000964 0.000382 0.000000 0.000000 0.000000 0.021878 -0.011871 -0.006193 0.002913 0.001155 0.000000 0.000000 0.000000 0.057771 -0.031944 -0.016747 0.007908 0.003128 0.000000 0.000000 0.000000 0.141602 -0.081021 -0.042836 0.020194 0.008025 0.000000 0.000000 0.000000 0.276925 -0.165303 -0.088442 0.042066 0.016622 0.000000 0.000000 0.000000 0.373298 -0.229015 -0.123192 0.058024 0.023210 0.000000 0.000000 0.000000 0.262676 -0.055703 -0.008148 0.002097 0.000104 0.000000 0.000000 0.000000 0.065343 0.408369 0.343387 -0.184717 -0.073786 0.000000 0.000000 0.000000 -0.000505 0.532229 0.455638 -0.234041 -0.097650 0.000000 0.000000 0.000000 0.001580 0.174870 -0.234799 0.187516 0.089129 0.000000 0.000000 0.000000 -0.001055 0.007248 -0.721374 0.643345 0.278464 0.000000 0.000000 0.000000 0.000545 0.001741 -0.273914 0.010937 -0.000082 0.000000 0.000000 0.000000 -0.000258 -0.000860 -0.018260 -0.783948 -0.564864 0.000000 0.000000 0.000000 0.000115 0.000283 0.000620 -0.386945 -0.115307 0.000000 0.000000 0.000000 -0.000038 -0.000098 -0.000180 -0.023847 0.789001 0.000000 0.000000 0.000000 0.000015 0.000040 0.000092 0.002974 0.381796 1.000000 0.000000 0.000000 -0.000005 -0.000014 -0.000037 -0.000784 0.014370 0.000000 1.000000 0.000000 0.000003 0.000007 0.000016 0.000374 -0.001570 0.000000 0.000000 1.000000 14 7 4009.2772 1212.4996 472.01871 207.70909 97.909428 48.106094 23.593476 11.559078 5.6274306 2.6003519 1.1395922 0.3676768 0.1138418 0.0350000 0.002926 -0.001631 0.000702 -0.000210 0.000000 0.000000 0.000000 0.017632 -0.009881 0.004241 -0.001276 0.000000 0.000000 0.000000 0.074859 -0.042782 0.018528 -0.005544 0.000000 0.000000 0.000000 0.216750 -0.125675 0.054298 -0.016369 0.000000 0.000000 0.000000 0.391905 -0.224014 0.097337 -0.029016 0.000000 0.000000 0.000000 0.370081 -0.128255 0.042891 -0.012872 0.000000 0.000000 0.000000 0.133376 0.305077 -0.178616 0.057324 0.000000 0.000000 0.000000 0.009003 0.557855 -0.319221 0.096244 0.000000 0.000000 0.000000 0.001364 0.259469 0.066433 -0.027325 0.000000 0.000000 0.000000 -0.000525 0.023496 0.600664 -0.249470 0.000000 0.000000 0.000000 0.000206 -0.000046 0.436949 -0.080489 1.000000 0.000000 0.000000 -0.000063 -0.000110 0.049183 0.567286 0.000000 0.000000 0.000000 0.000024 0.000012 -0.007553 0.567530 0.000000 1.000000 0.000000 -0.000008 -0.000009 0.001873 0.043296 0.000000 0.000000 1.000000 11 5 632.11882 220.96126 94.948664 44.544445 21.781391 10.705613 5.1252572 2.1984775 0.8764716 0.3048127 0.1000000 0.002401 -0.000551 0.000000 0.000000 0.000000 0.018519 -0.004320 0.000000 0.000000 0.000000 0.078966 -0.018258 0.000000 0.000000 0.000000 0.213743 -0.050003 0.000000 0.000000 0.000000 0.360901 -0.078257 0.000000 0.000000 0.000000 0.377946 -0.067387 0.000000 0.000000 0.000000 0.206903 0.065948 0.000000 0.000000 0.000000 0.035766 0.275249 0.000000 0.000000 0.000000 -0.001205 0.415860 1.000000 0.000000 0.000000 0.000619 0.427064 0.000000 1.000000 0.000000 -0.000178 0.202993 0.000000 0.000000 1.000000 ************************************************************************ /U.Raf-r.Wahlgren.24s19p14d11f.9s8p7d5f. U. Wahlgren Knut Faegri, University of Oslo. ************************************************************************ *U.Raf-r.Wahlgren.24s19p14d11f.9s8p7d5f. *Relativistic basis set ************************************************************************ a 92 24 9 20937546. 4399173.9 1188162.8 375430.04 132390.27 50702.255 20722.029 8928.2274 4018.3294 1874.6662 896.00546 413.80968 214.61136 110.58599 52.140838 27.905519 12.810718 7.0476135 2.9255957 1.5568598 0.6703872 0.3200485 0.0626801 0.0267551 -0.004010 0.001663 -0.000812 -0.000421 0.000208 0.000092 0.000027 0.0 0.0 -0.005970 0.002487 -0.001215 -0.000631 0.000312 0.000138 0.000041 0.0 0.0 -0.014049 0.005879 -0.002874 -0.001492 0.000738 0.000326 0.000096 0.0 0.0 -0.023937 0.010128 -0.004964 -0.002579 0.001276 0.000564 0.000166 0.0 0.0 -0.044858 0.019244 -0.009445 -0.004910 0.002429 0.001073 0.000316 0.0 0.0 -0.075203 0.033171 -0.016396 -0.008531 0.004227 0.001868 0.000550 0.0 0.0 -0.127775 0.058373 -0.028920 -0.015082 0.007459 0.003296 0.000971 0.0 0.0 -0.197490 0.096771 -0.048913 -0.025562 0.012704 0.005619 0.001655 0.0 0.0 -0.274271 0.145838 -0.073937 -0.038890 0.019206 0.008485 0.002500 0.0 0.0 -0.282262 0.171090 -0.091439 -0.048184 0.024203 0.010730 0.003160 0.0 0.0 -0.168880 0.035520 -0.003127 -0.000267 -0.000724 -0.000403 -0.000119 0.0 0.0 -0.030209 -0.339949 0.271885 0.163463 -0.082270 -0.036532 -0.010772 0.0 0.0 0.000875 -0.516962 0.578074 0.365289 -0.195335 -0.087902 -0.025962 0.0 0.0 -0.000336 -0.261414 0.123124 0.072742 -0.028614 -0.011833 -0.003438 0.0 0.0 0.000084 -0.011119 -0.852059 -1.040641 0.629899 0.292499 0.086818 0.0 0.0 0.000017 -0.004503 -0.432331 -0.463637 0.328660 0.160323 0.048070 0.0 0.0 -0.000037 0.003664 -0.067588 0.976975 -1.139794 -0.623651 -0.190432 0.0 0.0 0.000025 -0.002335 0.021416 0.549899 -0.635078 -0.363846 -0.112017 0.0 0.0 -0.000014 0.001250 -0.010532 0.048769 1.131671 1.066494 0.356329 0.0 0.0 0.000010 -0.000807 0.006789 -0.013380 0.451275 0.502328 0.182996 0.0 0.0 -0.000004 0.000337 -0.002822 0.004779 0.041938 -0.795900 -0.377682 0.0 0.0 0.000001 -0.000122 0.001023 -0.001724 -0.008105 -0.697416 -0.466208 1.0 0.0 0.000000 0.000026 -0.000220 0.000352 0.001804 -0.032274 0.667636 0.0 0.0 0.000000 -0.000012 0.000099 -0.000158 -0.000810 0.010356 0.541546 0.0 1.0 19 8 120600.79 28560.601 9273.7561 3545.6633 1504.2902 686.21916 329.71380 164.16782 81.521022 42.330850 21.567051 11.090782 5.6590355 2.7909767 1.3585624 0.6777239 0.2652057 0.0626801 0.0267551 0.003058 -0.001631 0.000852 -0.000407 0.000162 0.000000 0.000000 0.000000 0.007894 -0.004251 0.002226 -0.001066 0.000424 0.000000 0.000000 0.000000 0.023286 -0.012700 0.006670 -0.003193 0.001269 0.000000 0.000000 0.000000 0.060778 -0.033789 0.017843 -0.008566 0.003409 0.000000 0.000000 0.000000 0.147170 -0.084713 0.045099 -0.021641 0.008600 0.000000 0.000000 0.000000 0.283342 -0.170004 0.091662 -0.044308 0.017673 0.000000 0.000000 0.000000 0.373258 -0.228669 0.123442 -0.059214 0.023478 0.000000 0.000000 0.000000 0.253371 -0.037852 -0.004087 0.004557 -0.001871 0.000000 0.000000 0.000000 0.059538 0.432199 -0.368890 0.201632 -0.082900 0.000000 0.000000 0.000000 -0.000904 0.520599 -0.438667 0.229361 -0.091931 0.000000 0.000000 0.000000 0.001530 0.157150 0.291585 -0.238257 0.103467 0.000000 0.000000 0.000000 -0.001057 0.003727 0.720271 -0.659428 0.307104 0.000000 0.000000 0.000000 0.000590 0.002267 0.235977 0.072761 -0.084056 0.000000 0.000000 0.000000 -0.000321 -0.001263 0.011479 0.803641 -0.516175 0.000000 0.000000 0.000000 0.000180 0.000578 0.000233 0.329162 -0.222763 0.000000 0.000000 0.000000 -0.000078 -0.000254 -0.000011 0.021213 0.644404 0.000000 0.000000 0.000000 0.000021 0.000069 -0.000033 0.001942 0.604814 1.000000 0.000000 0.000000 -0.000007 -0.000021 0.000015 -0.000508 0.048540 0.000000 1.000000 0.000000 0.000003 0.000010 -0.000006 0.000196 -0.009733 0.000000 0.000000 1.000000 14 7 4232.0298 1279.9937 498.41509 219.43488 103.52884 50.931625 25.031067 12.309789 6.0167170 2.8100318 1.2365305 0.3943750 0.1209164 0.0400000 0.002981 -0.001679 -0.000741 -0.000220 0.000000 0.000000 0.000000 0.017733 -0.010045 -0.004422 -0.001321 0.000000 0.000000 0.000000 0.074866 -0.043246 -0.019204 -0.005696 0.000000 0.000000 0.000000 0.216360 -0.126780 -0.056199 -0.016837 0.000000 0.000000 0.000000 0.391358 -0.226044 -0.100674 -0.029701 0.000000 0.000000 0.000000 0.370034 -0.129146 -0.043996 -0.013264 0.000000 0.000000 0.000000 0.133974 0.307281 0.186511 0.060084 0.000000 0.000000 0.000000 0.009042 0.560054 0.330088 0.097804 0.000000 0.000000 0.000000 0.001355 0.255042 -0.080849 -0.030757 0.000000 0.000000 0.000000 -0.000548 0.021889 -0.613373 -0.260355 0.000000 0.000000 0.000000 0.000202 0.000212 -0.419753 -0.053130 1.000000 0.000000 0.000000 -0.000064 -0.000143 -0.044492 0.569363 0.000000 0.000000 0.000000 0.000023 0.000034 0.006727 0.547169 0.000000 1.000000 0.000000 -0.000009 -0.000017 -0.001889 0.064276 0.000000 0.000000 1.000000 11 5 634.16589 221.53708 95.048353 44.518096 21.679698 10.633304 5.0959938 2.2294102 0.9128159 0.3288707 0.1000000 0.002777 -0.000830 0.000000 0.000000 0.000000 0.021157 -0.006373 0.000000 0.000000 0.000000 0.088577 -0.026666 0.000000 0.000000 0.000000 0.233368 -0.070320 0.000000 0.000000 0.000000 0.377776 -0.105311 0.000000 0.000000 0.000000 0.367624 -0.073389 0.000000 0.000000 0.000000 0.174315 0.121651 0.000000 0.000000 0.000000 0.023897 0.377949 0.000000 0.000000 0.000000 -0.000498 0.455428 1.000000 0.000000 0.000000 0.000302 0.303942 0.000000 1.000000 0.000000 -0.000065 0.072336 0.000000 0.000000 1.000000 *********************************************************************** ergo-3.5/basis/cc-pV5Z-DK0000664000175000017500000024242012743400275011757 00000000000000$Basis = cc-pV5Z-DK $Elements supported $ H He B C N O F Ne Al Si P S Cl Ar Ga Ge As Se Br Kr $ $ REFERENCE $Elements References $-------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $ B - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ga - Kr: A.K. Wilson, D.E. Woon, K.A. Peterson, T.H. Dunning, Jr., $ J. Chem. Phys., 110, 7667 (1999). $** $Recontraction for use in Douglas-Kroll calculations: $W.A. de Jong, to be published. $ ************************************************************************ a 1 $ HYDROGEN (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 8 5 0 402.000000 0.00028360 0.00000000 0.00000000 0.00000000 0.00000000 60.2400000 0.00216920 0.00000000 0.00000000 0.00000000 0.00000000 13.7300000 0.01120820 0.00000000 0.00000000 0.00000000 0.00000000 3.90500000 0.04488540 0.00000000 0.00000000 0.00000000 0.00000000 1.28300000 0.14231200 1.00000000 0.00000000 0.00000000 0.00000000 0.465500000 0.33096350 0.00000000 1.00000000 0.00000000 0.00000000 0.181100000 0.43627340 0.00000000 0.00000000 1.00000000 0.00000000 0.072790000 0.17643350 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 4 0 4.51600000 1.00000000 0.00000000 0.00000000 0.00000000 1.71200000 0.00000000 1.00000000 0.00000000 0.00000000 0.649000000 0.00000000 0.00000000 1.00000000 0.00000000 0.246000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.95000000 1.00000000 0.00000000 0.00000000 1.20600000 0.00000000 1.00000000 0.00000000 0.493000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 2.50600000 1.00000000 0.00000000 0.875000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.35800000 1.00000000 a 2 $ HELIUM (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 8 5 0 1145.00000 0.00037390 0.00000000 0.00000000 0.00000000 0.00000000 171.700000 0.00278550 0.00000000 0.00000000 0.00000000 0.00000000 39.0700000 0.01427480 0.00000000 0.00000000 0.00000000 0.00000000 11.0400000 0.05559360 0.00000000 0.00000000 0.00000000 0.00000000 3.56600000 0.16211040 1.00000000 0.00000000 0.00000000 0.00000000 1.24000000 0.33219780 0.00000000 1.00000000 0.00000000 0.00000000 0.447300000 0.41957950 0.00000000 0.00000000 1.00000000 0.00000000 0.164000000 0.18612540 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 4 0 10.1530000 1.00000000 0.00000000 0.00000000 0.00000000 3.62700000 0.00000000 1.00000000 0.00000000 0.00000000 1.29600000 0.00000000 0.00000000 1.00000000 0.00000000 0.463000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 7.66600000 1.00000000 0.00000000 0.00000000 2.64700000 0.00000000 1.00000000 0.00000000 0.914000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 5.41100000 1.00000000 0.00000000 1.70700000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 3.43000000 1.00000000 a 5 $ BORON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ S-TYPE FUNCTIONS 14 6 0 68260.0000 0.00005370 -0.00001080 0.00000000 0.00000000 0.00000000 0.00000000 10230.0000 0.00023680 -0.00004790 0.00000000 0.00000000 0.00000000 0.00000000 2328.00000 0.00104350 -0.00021050 0.00000000 0.00000000 0.00000000 0.00000000 660.400000 0.00415360 -0.00084450 0.00000000 0.00000000 0.00000000 0.00000000 216.200000 0.01453450 -0.00295250 0.00000000 0.00000000 0.00000000 0.00000000 78.6000000 0.04407380 -0.00918010 0.00000000 0.00000000 0.00000000 0.00000000 30.9800000 0.11323170 -0.02415820 0.00000000 0.00000000 0.00000000 0.00000000 12.9600000 0.23391260 -0.05481040 0.00000000 0.00000000 0.00000000 0.00000000 5.65900000 0.35386660 -0.09696490 0.00000000 0.00000000 0.00000000 0.00000000 2.55600000 0.30133360 -0.13744970 0.00000000 0.00000000 0.00000000 0.00000000 1.17500000 0.08743400 -0.04432210 1.00000000 0.00000000 0.00000000 0.00000000 0.424900000 0.00281370 0.32460710 0.00000000 1.00000000 0.00000000 0.00000000 0.171200000 0.00004420 0.57031810 0.00000000 0.00000000 1.00000000 0.00000000 0.069130000 0.00007810 0.24317240 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 5 0 66.4400000 0.00084700 0.00000000 0.00000000 0.00000000 0.00000000 15.7100000 0.00642130 0.00000000 0.00000000 0.00000000 0.00000000 4.93600000 0.02809510 0.00000000 0.00000000 0.00000000 0.00000000 1.77000000 0.09215330 0.00000000 0.00000000 0.00000000 0.00000000 0.700800000 0.22413320 1.00000000 0.00000000 0.00000000 0.00000000 0.290100000 0.36983830 0.00000000 1.00000000 0.00000000 0.00000000 0.121100000 0.37447010 0.00000000 0.00000000 1.00000000 0.00000000 0.049730000 0.13918780 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 2.01000000 1.00000000 0.00000000 0.00000000 0.00000000 0.796000000 0.00000000 1.00000000 0.00000000 0.00000000 0.316000000 0.00000000 0.00000000 1.00000000 0.00000000 0.125000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 1.21500000 1.00000000 0.00000000 0.00000000 0.525000000 0.00000000 1.00000000 0.00000000 0.227000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 1.12400000 1.00000000 0.00000000 0.461000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.834000000 1.00000000 a 6 $ CARBON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ S-TYPE FUNCTIONS 14 6 0 96770.0000 0.00006320 -0.00001350 0.00000000 0.00000000 0.00000000 0.00000000 14500.0000 0.00026320 -0.00005620 0.00000000 0.00000000 0.00000000 0.00000000 3300.00000 0.00110750 -0.00023600 0.00000000 0.00000000 0.00000000 0.00000000 935.800000 0.00432690 -0.00092840 0.00000000 0.00000000 0.00000000 0.00000000 306.200000 0.01505940 -0.00323390 0.00000000 0.00000000 0.00000000 0.00000000 111.300000 0.04555710 -0.01002820 0.00000000 0.00000000 0.00000000 0.00000000 43.9000000 0.11676490 -0.02646160 0.00000000 0.00000000 0.00000000 0.00000000 18.4000000 0.24037820 -0.06009210 0.00000000 0.00000000 0.00000000 0.00000000 8.05400000 0.35864800 -0.10686530 0.00000000 0.00000000 0.00000000 0.00000000 3.63700000 0.29361780 -0.14407920 0.00000000 0.00000000 0.00000000 0.00000000 1.65600000 0.07754720 -0.02425100 1.00000000 0.00000000 0.00000000 0.00000000 0.633300000 0.00232430 0.34939370 0.00000000 1.00000000 0.00000000 0.00000000 0.254500000 0.00050910 0.55857240 0.00000000 0.00000000 1.00000000 0.00000000 0.101900000 0.00002890 0.22767660 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 5 0 101.800000 0.00090560 0.00000000 0.00000000 0.00000000 0.00000000 24.0400000 0.00699920 0.00000000 0.00000000 0.00000000 0.00000000 7.57100000 0.03170220 0.00000000 0.00000000 0.00000000 0.00000000 2.73200000 0.10402910 0.00000000 0.00000000 0.00000000 0.00000000 1.08500000 0.24161420 1.00000000 0.00000000 0.00000000 0.00000000 0.449600000 0.37185530 0.00000000 1.00000000 0.00000000 0.00000000 0.187600000 0.35422250 0.00000000 0.00000000 1.00000000 0.00000000 0.076060000 0.13166070 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 3.13400000 1.00000000 0.00000000 0.00000000 0.00000000 1.23300000 0.00000000 1.00000000 0.00000000 0.00000000 0.485000000 0.00000000 0.00000000 1.00000000 0.00000000 0.191000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 2.00600000 1.00000000 0.00000000 0.00000000 0.838000000 0.00000000 1.00000000 0.00000000 0.350000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 1.75300000 1.00000000 0.00000000 0.678000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 1.25900000 1.00000000 a 7 $ NITROGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ S-TYPE FUNCTIONS 14 6 0 129200.000 0.00007350 -0.00001620 0.00000000 0.00000000 0.00000000 0.00000000 19350.0000 0.00029220 -0.00006450 0.00000000 0.00000000 0.00000000 0.00000000 4404.00000 0.00118100 -0.00026050 0.00000000 0.00000000 0.00000000 0.00000000 1248.00000 0.00452380 -0.00100410 0.00000000 0.00000000 0.00000000 0.00000000 408.000000 0.01565830 -0.00348400 0.00000000 0.00000000 0.00000000 0.00000000 148.200000 0.04722370 -0.01076570 0.00000000 0.00000000 0.00000000 0.00000000 58.5000000 0.12047920 -0.02840740 0.00000000 0.00000000 0.00000000 0.00000000 24.5900000 0.24587050 -0.06415480 0.00000000 0.00000000 0.00000000 0.00000000 10.8100000 0.36115340 -0.11399070 0.00000000 0.00000000 0.00000000 0.00000000 4.88200000 0.28682960 -0.14683300 0.00000000 0.00000000 0.00000000 0.00000000 2.19500000 0.07001850 -0.00667280 1.00000000 0.00000000 0.00000000 0.00000000 0.871500000 0.00181990 0.36668870 0.00000000 1.00000000 0.00000000 0.00000000 0.350400000 0.00083900 0.54766230 0.00000000 0.00000000 1.00000000 0.00000000 0.139700000 -0.00000800 0.21604050 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 5 0 147.000000 0.00091300 0.00000000 0.00000000 0.00000000 0.00000000 34.7600000 0.00711800 0.00000000 0.00000000 0.00000000 0.00000000 11.0000000 0.03287400 0.00000000 0.00000000 0.00000000 0.00000000 3.99500000 0.10825820 0.00000000 0.00000000 0.00000000 0.00000000 1.58700000 0.24808940 1.00000000 0.00000000 0.00000000 0.00000000 0.653300000 0.37439840 0.00000000 1.00000000 0.00000000 0.00000000 0.268600000 0.34842710 0.00000000 0.00000000 1.00000000 0.00000000 0.106700000 0.12843080 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 4.64700000 1.00000000 0.00000000 0.00000000 0.00000000 1.81300000 0.00000000 1.00000000 0.00000000 0.00000000 0.707000000 0.00000000 0.00000000 1.00000000 0.00000000 0.276000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 2.94200000 1.00000000 0.00000000 0.00000000 1.20400000 0.00000000 1.00000000 0.00000000 0.493000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 2.51100000 1.00000000 0.00000000 0.942000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 1.76800000 1.00000000 a 8 $ OXYGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ S-TYPE FUNCTIONS 14 6 0 164200.000 0.00008470 -0.00001920 0.00000000 0.00000000 0.00000000 0.00000000 24590.0000 0.00032540 -0.00007400 0.00000000 0.00000000 0.00000000 0.00000000 5592.00000 0.00127210 -0.00028920 0.00000000 0.00000000 0.00000000 0.00000000 1582.00000 0.00478750 -0.00109420 0.00000000 0.00000000 0.00000000 0.00000000 516.100000 0.01647890 -0.00378170 0.00000000 0.00000000 0.00000000 0.00000000 187.200000 0.04956130 -0.01165100 0.00000000 0.00000000 0.00000000 0.00000000 73.9300000 0.12533750 -0.03061580 0.00000000 0.00000000 0.00000000 0.00000000 31.2200000 0.25190610 -0.06833350 0.00000000 0.00000000 0.00000000 0.00000000 13.8100000 0.36209570 -0.12044940 0.00000000 0.00000000 0.00000000 0.00000000 6.25600000 0.27845010 -0.14798380 0.00000000 0.00000000 0.00000000 0.00000000 2.77600000 0.06336120 0.01069990 1.00000000 0.00000000 0.00000000 0.00000000 1.13800000 0.00106050 0.38494100 0.00000000 1.00000000 0.00000000 0.00000000 0.460000000 0.00114050 0.53640390 0.00000000 0.00000000 1.00000000 0.00000000 0.182900000 -0.00003900 0.20190560 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 5 0 195.500000 0.00094670 0.00000000 0.00000000 0.00000000 0.00000000 46.1600000 0.00744040 0.00000000 0.00000000 0.00000000 0.00000000 14.5800000 0.03504580 0.00000000 0.00000000 0.00000000 0.00000000 5.29600000 0.11551410 0.00000000 0.00000000 0.00000000 0.00000000 2.09400000 0.25679250 1.00000000 0.00000000 0.00000000 0.00000000 0.847100000 0.37384640 0.00000000 1.00000000 0.00000000 0.00000000 0.336800000 0.34339540 0.00000000 0.00000000 1.00000000 0.00000000 0.128500000 0.12981230 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 5.87900000 1.00000000 0.00000000 0.00000000 0.00000000 2.30700000 0.00000000 1.00000000 0.00000000 0.00000000 0.905000000 0.00000000 0.00000000 1.00000000 0.00000000 0.355000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 4.01600000 1.00000000 0.00000000 0.00000000 1.55400000 0.00000000 1.00000000 0.00000000 0.601000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 3.35000000 1.00000000 0.00000000 1.18900000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 2.31900000 1.00000000 a 9 $ FLUORINE (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ S-TYPE FUNCTIONS 14 6 0 211400.000 0.00009300 -0.00002160 0.00000000 0.00000000 0.00000000 0.00000000 31660.0000 0.00034550 -0.00008020 0.00000000 0.00000000 0.00000000 0.00000000 7202.00000 0.00130100 -0.00030190 0.00000000 0.00000000 0.00000000 0.00000000 2040.00000 0.00476890 -0.00111260 0.00000000 0.00000000 0.00000000 0.00000000 666.400000 0.01623410 -0.00380360 0.00000000 0.00000000 0.00000000 0.00000000 242.000000 0.04871650 -0.01169010 0.00000000 0.00000000 0.00000000 0.00000000 95.5300000 0.12385280 -0.03090100 0.00000000 0.00000000 0.00000000 0.00000000 40.2300000 0.25181630 -0.06982280 0.00000000 0.00000000 0.00000000 0.00000000 17.7200000 0.36411140 -0.12410270 0.00000000 0.00000000 0.00000000 0.00000000 8.00500000 0.27898990 -0.14983260 0.00000000 0.00000000 0.00000000 0.00000000 3.53800000 0.06329920 0.01750920 1.00000000 0.00000000 0.00000000 0.00000000 1.45800000 0.00110810 0.39338130 0.00000000 1.00000000 0.00000000 0.00000000 0.588700000 0.00125240 0.53161210 0.00000000 0.00000000 1.00000000 0.00000000 0.232400000 -0.00003430 0.19552640 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 5 0 241.900000 0.00104030 0.00000000 0.00000000 0.00000000 0.00000000 57.1700000 0.00812680 0.00000000 0.00000000 0.00000000 0.00000000 18.1300000 0.03817270 0.00000000 0.00000000 0.00000000 0.00000000 6.62400000 0.12389700 0.00000000 0.00000000 0.00000000 0.00000000 2.62200000 0.26605100 1.00000000 0.00000000 0.00000000 0.00000000 1.05700000 0.37168300 0.00000000 1.00000000 0.00000000 0.00000000 0.417600000 0.33281440 0.00000000 0.00000000 1.00000000 0.00000000 0.157400000 0.12860450 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 7.76000000 1.00000000 0.00000000 0.00000000 0.00000000 3.03200000 0.00000000 1.00000000 0.00000000 0.00000000 1.18500000 0.00000000 0.00000000 1.00000000 0.00000000 0.463000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 5.39800000 1.00000000 0.00000000 0.00000000 2.07800000 0.00000000 1.00000000 0.00000000 0.800000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 4.33800000 1.00000000 0.00000000 1.51300000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 2.99500000 1.00000000 a 10 $ NEON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ S-TYPE FUNCTIONS 14 6 0 262700.000 0.00010220 -0.00002410 0.00000000 0.00000000 0.00000000 0.00000000 39350.0000 0.00036920 -0.00008700 0.00000000 0.00000000 0.00000000 0.00000000 8955.00000 0.00134790 -0.00031770 0.00000000 0.00000000 0.00000000 0.00000000 2538.00000 0.00481670 -0.00114070 0.00000000 0.00000000 0.00000000 0.00000000 829.900000 0.01622720 -0.00386240 0.00000000 0.00000000 0.00000000 0.00000000 301.500000 0.04850860 -0.01181650 0.00000000 0.00000000 0.00000000 0.00000000 119.000000 0.12372070 -0.03139000 0.00000000 0.00000000 0.00000000 0.00000000 50.0000000 0.25286200 -0.07129570 0.00000000 0.00000000 0.00000000 0.00000000 21.9800000 0.36579060 -0.12740790 0.00000000 0.00000000 0.00000000 0.00000000 9.89100000 0.27864260 -0.15071040 0.00000000 0.00000000 0.00000000 0.00000000 4.32700000 0.06134980 0.02600660 1.00000000 0.00000000 0.00000000 0.00000000 1.80400000 0.00093160 0.40061230 0.00000000 1.00000000 0.00000000 0.00000000 0.728800000 0.00135990 0.52589470 0.00000000 0.00000000 1.00000000 0.00000000 0.286700000 -0.00003690 0.18961680 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 5 0 299.100000 0.00108790 0.00000000 0.00000000 0.00000000 0.00000000 70.7300000 0.00847080 0.00000000 0.00000000 0.00000000 0.00000000 22.4800000 0.03986120 0.00000000 0.00000000 0.00000000 0.00000000 8.24600000 0.12821510 0.00000000 0.00000000 0.00000000 0.00000000 3.26900000 0.27032110 1.00000000 0.00000000 0.00000000 0.00000000 1.31500000 0.37082360 0.00000000 1.00000000 0.00000000 0.00000000 0.515800000 0.32839420 0.00000000 0.00000000 1.00000000 0.00000000 0.191800000 0.12770630 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 9.83700000 1.00000000 0.00000000 0.00000000 0.00000000 3.84400000 0.00000000 1.00000000 0.00000000 0.00000000 1.50200000 0.00000000 0.00000000 1.00000000 0.00000000 0.587000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 7.09000000 1.00000000 0.00000000 0.00000000 2.73800000 0.00000000 1.00000000 0.00000000 1.05700000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 5.46000000 1.00000000 0.00000000 1.88000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 3.77600000 1.00000000 a 13 $ ALUMINUM (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ S-TYPE FUNCTIONS 20 7 0 3269000.00 0.00002790 -0.00000730 0.00000170 0.00000000 0.00000000 0.00000000 0. 489400.000 0.00008390 -0.00002190 0.00000510 0.00000000 0.00000000 0.00000000 0. 111400.000 0.00023990 -0.00006260 0.00001450 0.00000000 0.00000000 0.00000000 0. 31560.0000 0.00065130 -0.00017020 0.00003930 0.00000000 0.00000000 0.00000000 0. 10320.0000 0.00178580 -0.00046720 0.00010800 0.00000000 0.00000000 0.00000000 0. 3731.00000 0.00497990 -0.00130870 0.00030190 0.00000000 0.00000000 0.00000000 0. 1456.00000 0.01373000 -0.00362840 0.00084020 0.00000000 0.00000000 0.00000000 0. 604.100000 0.03590190 -0.00966250 0.00223140 0.00000000 0.00000000 0.00000000 0. 263.500000 0.08557820 -0.02377770 0.00553250 0.00000000 0.00000000 0.00000000 0. 119.800000 0.17685990 -0.05292140 0.01230430 0.00000000 0.00000000 0.00000000 0. 56.3200000 0.29204120 -0.10039640 0.02380040 0.00000000 0.00000000 0.00000000 0. 27.1900000 0.32686860 -0.15041040 0.03605360 0.00000000 0.00000000 0.00000000 0. 13.2600000 0.18562900 -0.11749180 0.02993910 0.00000000 0.00000000 0.00000000 0. 6.05200000 0.03076640 0.11059780 -0.03171380 0.00000000 0.00000000 0.00000000 0. 2.98100000 -0.00050070 0.41213420 -0.11947800 0.00000000 0.00000000 0.00000000 0. 1.47600000 0.00147590 0.45575850 -0.21159770 0.00000000 0.00000000 0.00000000 0. 0.733400000 -0.00027610 0.17392540 -0.15571800 1.00000000 0.00000000 0.00000000 0. 0.244700000 0.00011810 0.00757000 0.34162180 0.00000000 1.00000000 0.00000000 0. 0.108800000 -0.00006550 -0.00164130 0.61195360 0.00000000 0.00000000 1.00000000 0. 0.046720000 0.00001750 0.00044080 0.23336960 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 1461.00000 0.00025200 -0.00004500 0.00000000 0.00000000 0.00000000 0.00000000 346.200000 0.00190270 -0.00034500 0.00000000 0.00000000 0.00000000 0.00000000 112.200000 0.00993530 -0.00177780 0.00000000 0.00000000 0.00000000 0.00000000 42.5100000 0.03814370 -0.00700140 0.00000000 0.00000000 0.00000000 0.00000000 17.7200000 0.11128270 -0.02033670 0.00000000 0.00000000 0.00000000 0.00000000 7.85200000 0.23446090 -0.04485420 0.00000000 0.00000000 0.00000000 0.00000000 3.57100000 0.34509720 -0.06423440 0.00000000 0.00000000 0.00000000 0.00000000 1.63700000 0.33109620 -0.07511870 0.00000000 0.00000000 0.00000000 0.00000000 0.738200000 0.14693110 0.00075160 1.00000000 0.00000000 0.00000000 0.00000000 0.257700000 0.01218580 0.28740480 0.00000000 1.00000000 0.00000000 0.00000000 0.097730000 -0.00088370 0.54254530 0.00000000 0.00000000 1.00000000 0.00000000 0.036900000 0.00044210 0.30277470 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.31700000 1.00000000 0.00000000 0.00000000 0.00000000 0.526000000 0.00000000 1.00000000 0.00000000 0.00000000 0.210000000 0.00000000 0.00000000 1.00000000 0.00000000 0.084000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.130000000 1.00000000 0.00000000 0.00000000 0.258000000 0.00000000 1.00000000 0.00000000 0.513000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.252000000 1.00000000 0.00000000 0.543000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.446000000 1.00000000 a 14 $ SILICON (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ S-TYPE FUNCTIONS 20 7 0 3948000.00 0.00002940 -0.00000790 0.00000200 0.00000000 0.00000000 0.00000000 0. 591100.000 0.00008780 -0.00002350 0.00000600 0.00000000 0.00000000 0.00000000 0. 134500.000 0.00024790 -0.00006630 0.00001700 0.00000000 0.00000000 0.00000000 0. 38120.0000 0.00066130 -0.00017710 0.00004540 0.00000000 0.00000000 0.00000000 0. 12460.0000 0.00177890 -0.00047690 0.00012230 0.00000000 0.00000000 0.00000000 0. 4504.00000 0.00486490 -0.00130990 0.00033540 0.00000000 0.00000000 0.00000000 0. 1758.00000 0.01326020 -0.00359110 0.00092270 0.00000000 0.00000000 0.00000000 0. 729.100000 0.03455420 -0.00952310 0.00244080 0.00000000 0.00000000 0.00000000 0. 318.000000 0.08240970 -0.02343900 0.00605210 0.00000000 0.00000000 0.00000000 0. 144.600000 0.17143650 -0.05239520 0.01352750 0.00000000 0.00000000 0.00000000 0. 67.9700000 0.28690100 -0.10046080 0.02644940 0.00000000 0.00000000 0.00000000 0. 32.8200000 0.32881590 -0.15260950 0.04070850 0.00000000 0.00000000 0.00000000 0. 16.0300000 0.19503590 -0.12562020 0.03563460 0.00000000 0.00000000 0.00000000 0. 7.39600000 0.03508210 0.09769380 -0.03144310 0.00000000 0.00000000 0.00000000 0. 3.66100000 -0.00051720 0.41535420 -0.13659200 0.00000000 0.00000000 0.00000000 0. 1.82300000 0.00158990 0.46610650 -0.25050960 0.00000000 0.00000000 0.00000000 0. 0.914700000 -0.00036400 0.17160190 -0.15517310 1.00000000 0.00000000 0.00000000 0. 0.339300000 0.00014300 0.00826830 0.37266200 0.00000000 1.00000000 0.00000000 0. 0.150000000 -0.00007710 -0.00098600 0.61630690 0.00000000 0.00000000 1.00000000 0. 0.064380000 0.00001870 0.00036030 0.22033250 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 1780.00000 0.00025170 -0.00005350 0.00000000 0.00000000 0.00000000 0.00000000 421.800000 0.00185840 -0.00040030 0.00000000 0.00000000 0.00000000 0.00000000 136.700000 0.00972100 -0.00207340 0.00000000 0.00000000 0.00000000 0.00000000 51.8100000 0.03761810 -0.00820980 0.00000000 0.00000000 0.00000000 0.00000000 21.6000000 0.11124850 -0.02432460 0.00000000 0.00000000 0.00000000 0.00000000 9.56300000 0.23816660 -0.05439900 0.00000000 0.00000000 0.00000000 0.00000000 4.35000000 0.35352350 -0.07980670 0.00000000 0.00000000 0.00000000 0.00000000 2.00600000 0.32839080 -0.08869550 0.00000000 0.00000000 0.00000000 0.00000000 0.920500000 0.13219940 0.01862600 1.00000000 0.00000000 0.00000000 0.00000000 0.350000000 0.01034520 0.33482570 0.00000000 1.00000000 0.00000000 0.00000000 0.138100000 -0.00015050 0.53194520 0.00000000 0.00000000 1.00000000 0.00000000 0.053380000 0.00026640 0.25493030 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.126000000 1.00000000 0.00000000 0.00000000 0.00000000 0.321000000 0.00000000 1.00000000 0.00000000 0.00000000 0.817000000 0.00000000 0.00000000 1.00000000 0.00000000 2.08200000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.169000000 1.00000000 0.00000000 0.00000000 0.341000000 0.00000000 1.00000000 0.00000000 0.688000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.320000000 1.00000000 0.00000000 0.705000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.583000000 1.00000000 a 15 $ PHOSPHORUS (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ S-TYPE FUNCTIONS 20 7 0 4666000.00 0.00003120 -0.00000850 0.00000230 0.00000000 0.00000000 0.00000000 0. 698600.000 0.00009230 -0.00002520 0.00000690 0.00000000 0.00000000 0.00000000 0. 159000.000 0.00025800 -0.00007040 0.00001940 0.00000000 0.00000000 0.00000000 0. 45040.0000 0.00067910 -0.00018570 0.00005100 0.00000000 0.00000000 0.00000000 0. 14720.0000 0.00179300 -0.00049080 0.00013500 0.00000000 0.00000000 0.00000000 0. 5323.00000 0.00482270 -0.00132580 0.00036410 0.00000000 0.00000000 0.00000000 0. 2076.00000 0.01300480 -0.00359620 0.00099070 0.00000000 0.00000000 0.00000000 0. 861.100000 0.03366990 -0.00947170 0.00260490 0.00000000 0.00000000 0.00000000 0. 375.700000 0.08030500 -0.02330630 0.00645240 0.00000000 0.00000000 0.00000000 0. 170.800000 0.16780760 -0.05226880 0.01448900 0.00000000 0.00000000 0.00000000 0. 80.2900000 0.28313020 -0.10085240 0.02848340 0.00000000 0.00000000 0.00000000 0. 38.7700000 0.33022410 -0.15494010 0.04448070 0.00000000 0.00000000 0.00000000 0. 18.9300000 0.20150270 -0.13163780 0.04007130 0.00000000 0.00000000 0.00000000 0. 8.79600000 0.03785990 0.09139140 -0.03150770 0.00000000 0.00000000 0.00000000 0. 4.35800000 -0.00037280 0.42419970 -0.15383920 0.00000000 0.00000000 0.00000000 0. 2.17400000 0.00156560 0.47257490 -0.28256820 0.00000000 0.00000000 0.00000000 0. 1.09500000 -0.00040620 0.16243280 -0.14494400 1.00000000 0.00000000 0.00000000 0. 0.440000000 0.00014980 0.00823840 0.39693590 0.00000000 1.00000000 0.00000000 0. 0.194500000 -0.00008050 -0.00027770 0.61563920 0.00000000 0.00000000 1.00000000 0. 0.083760000 0.00001740 0.00027840 0.21203260 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 2010.00000 0.00027690 -0.00006570 0.00000000 0.00000000 0.00000000 0.00000000 476.300000 0.00200830 -0.00048000 0.00000000 0.00000000 0.00000000 0.00000000 154.400000 0.01046790 -0.00249370 0.00000000 0.00000000 0.00000000 0.00000000 58.5100000 0.04046430 -0.00981330 0.00000000 0.00000000 0.00000000 0.00000000 24.4000000 0.11915800 -0.02923740 0.00000000 0.00000000 0.00000000 0.00000000 10.8000000 0.25209620 -0.06420770 0.00000000 0.00000000 0.00000000 0.00000000 4.91300000 0.36633280 -0.09438880 0.00000000 0.00000000 0.00000000 0.00000000 2.26900000 0.31560390 -0.09317280 0.00000000 0.00000000 0.00000000 0.00000000 1.04300000 0.10450190 0.05238500 1.00000000 0.00000000 0.00000000 0.00000000 0.431300000 0.00610750 0.37440670 0.00000000 1.00000000 0.00000000 0.00000000 0.176700000 0.00050340 0.50879010 0.00000000 0.00000000 1.00000000 0.00000000 0.070090000 -0.00002950 0.21547100 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.166000000 1.00000000 0.00000000 0.00000000 0.00000000 0.418000000 0.00000000 1.00000000 0.00000000 0.00000000 1.05400000 0.00000000 0.00000000 1.00000000 0.00000000 2.65600000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.219000000 1.00000000 0.00000000 0.00000000 0.450000000 0.00000000 1.00000000 0.00000000 0.923000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.412000000 1.00000000 0.00000000 0.903000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.745000000 1.00000000 a 16 $ SULFUR (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ S-TYPE FUNCTIONS 20 7 0 5481000.00 0.00003280 0.00000910 0.00000260 0.00000000 0.00000000 0.00000000 0. 820600.000 0.00009650 0.00002680 0.00000780 0.00000000 0.00000000 0.00000000 0. 186700.000 0.00026740 0.00007430 0.00002160 0.00000000 0.00000000 0.00000000 0. 52880.0000 0.00069500 0.00019340 0.00005620 0.00000000 0.00000000 0.00000000 0. 17250.0000 0.00181310 0.00050530 0.00014680 0.00000000 0.00000000 0.00000000 0. 6226.00000 0.00479330 0.00134150 0.00038950 0.00000000 0.00000000 0.00000000 0. 2429.00000 0.01276780 0.00359550 0.00104640 0.00000000 0.00000000 0.00000000 0. 1007.00000 0.03288080 0.00941420 0.00273730 0.00000000 0.00000000 0.00000000 0. 439.500000 0.07830670 0.02312950 0.00676510 0.00000000 0.00000000 0.00000000 0. 199.800000 0.16427240 0.05199200 0.01524630 0.00000000 0.00000000 0.00000000 0. 93.9200000 0.27950050 0.10101870 0.03014880 0.00000000 0.00000000 0.00000000 0. 45.3400000 0.33123680 0.15667510 0.04767730 0.00000000 0.00000000 0.00000000 0. 22.1500000 0.20767450 0.13726320 0.04415220 0.00000000 0.00000000 0.00000000 0. 10.3400000 0.04103310 -0.08518260 -0.03090870 0.00000000 0.00000000 0.00000000 0. 5.11900000 -0.00043590 -0.43282700 -0.17024440 0.00000000 0.00000000 0.00000000 0. 2.55300000 0.00165910 -0.47882030 -0.31085540 0.00000000 0.00000000 0.00000000 0. 1.28200000 -0.00050500 -0.15399760 -0.13212960 1.00000000 0.00000000 0.00000000 0. 0.545000000 0.00018330 -0.00765280 0.42693480 0.00000000 1.00000000 0.00000000 0. 0.241100000 -0.00009690 -0.00038480 0.61171450 0.00000000 0.00000000 1.00000000 0. 0.103500000 0.00002000 -0.00022160 0.19759730 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 2200.00000 0.00031320 -0.00007980 0.00000000 0.00000000 0.00000000 0.00000000 521.400000 0.00223960 -0.00057210 0.00000000 0.00000000 0.00000000 0.00000000 169.000000 0.01159660 -0.00297220 0.00000000 0.00000000 0.00000000 0.00000000 64.0500000 0.04465750 -0.01159360 0.00000000 0.00000000 0.00000000 0.00000000 26.7200000 0.12988260 -0.03446370 0.00000000 0.00000000 0.00000000 0.00000000 11.8300000 0.26939470 -0.07362760 0.00000000 0.00000000 0.00000000 0.00000000 5.37800000 0.37827280 -0.10762760 0.00000000 0.00000000 0.00000000 0.00000000 2.48200000 0.29606630 -0.08752310 0.00000000 0.00000000 0.00000000 0.00000000 1.11600000 0.07777390 0.10865920 1.00000000 0.00000000 0.00000000 0.00000000 0.484800000 0.00206000 0.40683340 0.00000000 1.00000000 0.00000000 0.00000000 0.200600000 0.00143680 0.46867930 0.00000000 0.00000000 1.00000000 0.00000000 0.079510000 -0.00005920 0.18513500 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.205000000 1.00000000 0.00000000 0.00000000 0.00000000 0.512000000 0.00000000 1.00000000 0.00000000 0.00000000 1.28100000 0.00000000 0.00000000 1.00000000 0.00000000 3.20300000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.255000000 1.00000000 0.00000000 0.00000000 0.529000000 0.00000000 1.00000000 0.00000000 1.09600000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.463000000 1.00000000 0.00000000 1.07100000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.872000000 1.00000000 a 17 $ CHLORINE (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ S-TYPE FUNCTIONS 20 7 0 6410000.00 0.00003440 -0.00000970 0.00000290 0.00000000 0.00000000 0.00000000 0. 959600.000 0.00010040 -0.00002830 0.00000860 0.00000000 0.00000000 0.00000000 0. 218300.000 0.00027580 -0.00007790 0.00002360 0.00000000 0.00000000 0.00000000 0. 61810.0000 0.00070920 -0.00020050 0.00006070 0.00000000 0.00000000 0.00000000 0. 20140.0000 0.00182280 -0.00051600 0.00015630 0.00000000 0.00000000 0.00000000 0. 7264.00000 0.00474900 -0.00134990 0.00040860 0.00000000 0.00000000 0.00000000 0. 2832.00000 0.01247540 -0.00356890 0.00108240 0.00000000 0.00000000 0.00000000 0. 1175.00000 0.03191270 -0.00927710 0.00281240 0.00000000 0.00000000 0.00000000 0. 512.600000 0.07602580 -0.02279200 0.00694690 0.00000000 0.00000000 0.00000000 0. 233.000000 0.16007460 -0.05132960 0.01569840 0.00000000 0.00000000 0.00000000 0. 109.500000 0.27504280 -0.10047980 0.03125390 0.00000000 0.00000000 0.00000000 0. 52.8600000 0.33197920 -0.15756140 0.05006350 0.00000000 0.00000000 0.00000000 0. 25.8400000 0.21508290 -0.14326790 0.04803660 0.00000000 0.00000000 0.00000000 0. 12.1700000 0.04503080 0.07404290 -0.02799130 0.00000000 0.00000000 0.00000000 0. 6.03000000 -0.00012900 0.43280620 -0.18016630 0.00000000 0.00000000 0.00000000 0. 3.01200000 0.00161290 0.48747770 -0.33192440 0.00000000 0.00000000 0.00000000 0. 1.51100000 -0.00051310 0.15509780 -0.12678300 1.00000000 0.00000000 0.00000000 0. 0.660400000 0.00017690 0.00812670 0.44468610 0.00000000 1.00000000 0.00000000 0. 0.292600000 -0.00009800 0.00073830 0.60929660 0.00000000 0.00000000 1.00000000 0. 0.125400000 0.00001880 0.00023000 0.18993100 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 2548.00000 0.00031970 -0.00008620 0.00000000 0.00000000 0.00000000 0.00000000 603.700000 0.00223780 -0.00060380 0.00000000 0.00000000 0.00000000 0.00000000 195.600000 0.01156990 -0.00314200 0.00000000 0.00000000 0.00000000 0.00000000 74.1500000 0.04466940 -0.01225720 0.00000000 0.00000000 0.00000000 0.00000000 30.9400000 0.13084260 -0.03687640 0.00000000 0.00000000 0.00000000 0.00000000 13.6900000 0.27335180 -0.07915350 0.00000000 0.00000000 0.00000000 0.00000000 6.22900000 0.38328250 -0.11723520 0.00000000 0.00000000 0.00000000 0.00000000 2.87800000 0.29099940 -0.08547770 0.00000000 0.00000000 0.00000000 0.00000000 1.28200000 0.07021560 0.14082190 1.00000000 0.00000000 0.00000000 0.00000000 0.564100000 0.00129530 0.42205860 0.00000000 1.00000000 0.00000000 0.00000000 0.234800000 0.00182670 0.44600180 0.00000000 0.00000000 1.00000000 0.00000000 0.093120000 0.00002050 0.16680440 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.250000000 1.00000000 0.00000000 0.00000000 0.00000000 0.618000000 0.00000000 1.00000000 0.00000000 0.00000000 1.52900000 0.00000000 0.00000000 1.00000000 0.00000000 3.78100000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.320000000 1.00000000 0.00000000 0.00000000 0.656000000 0.00000000 1.00000000 0.00000000 1.34500000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.556000000 1.00000000 0.00000000 1.30200000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 1.05300000 1.00000000 a 18 $ ARGON (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ S-TYPE FUNCTIONS 20 7 0 7401000.00 0.00003600 -0.00001030 0.00000320 0.00000000 0.00000000 0.00000000 0. 1108000.00 0.00010460 -0.00002990 0.00000940 0.00000000 0.00000000 0.00000000 0. 252100.000 0.00028530 -0.00008170 0.00002550 0.00000000 0.00000000 0.00000000 0. 71380.0000 0.00072560 -0.00020790 0.00006500 0.00000000 0.00000000 0.00000000 0. 23260.0000 0.00183960 -0.00052800 0.00016520 0.00000000 0.00000000 0.00000000 0. 8390.00000 0.00471940 -0.00136000 0.00042520 0.00000000 0.00000000 0.00000000 0. 3271.00000 0.01224820 -0.00355290 0.00111310 0.00000000 0.00000000 0.00000000 0. 1357.00000 0.03110830 -0.00916490 0.00287080 0.00000000 0.00000000 0.00000000 0. 592.000000 0.07402610 -0.02248640 0.00707960 0.00000000 0.00000000 0.00000000 0. 269.100000 0.15621670 -0.05066660 0.01601500 0.00000000 0.00000000 0.00000000 0. 126.500000 0.27083790 -0.09986930 0.03209140 0.00000000 0.00000000 0.00000000 0. 61.0300000 0.33258720 -0.15827050 0.05201620 0.00000000 0.00000000 0.00000000 0. 29.8600000 0.22147850 -0.14836670 0.05140720 0.00000000 0.00000000 0.00000000 0. 14.1700000 0.04914930 0.06373590 -0.02490430 0.00000000 0.00000000 0.00000000 0. 7.02200000 0.00006770 0.43231610 -0.18822690 0.00000000 0.00000000 0.00000000 0. 3.51100000 0.00165440 0.49522300 -0.34951200 0.00000000 0.00000000 0.00000000 0. 1.75800000 -0.00056950 0.15656790 -0.12152130 1.00000000 0.00000000 0.00000000 0. 0.784100000 0.00019250 0.00850090 0.45788170 0.00000000 1.00000000 0.00000000 0. 0.348000000 -0.00010920 0.00110910 0.60685280 0.00000000 0.00000000 1.00000000 0. 0.149100000 0.00002020 0.00021700 0.18445960 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 2927.00000 0.00032630 -0.00009130 0.00000000 0.00000000 0.00000000 0.00000000 693.500000 0.00223420 -0.00062470 0.00000000 0.00000000 0.00000000 0.00000000 224.700000 0.01150790 -0.00324510 0.00000000 0.00000000 0.00000000 0.00000000 85.1700000 0.04463410 -0.01270160 0.00000000 0.00000000 0.00000000 0.00000000 35.5300000 0.13135370 -0.03852340 0.00000000 0.00000000 0.00000000 0.00000000 15.7300000 0.27623300 -0.08319000 0.00000000 0.00000000 0.00000000 0.00000000 7.16500000 0.38716300 -0.12436990 0.00000000 0.00000000 0.00000000 0.00000000 3.32200000 0.28636530 -0.08249960 0.00000000 0.00000000 0.00000000 0.00000000 1.47800000 0.06548260 0.16462400 1.00000000 0.00000000 0.00000000 0.00000000 0.655200000 0.00015280 0.43111450 0.00000000 1.00000000 0.00000000 0.00000000 0.275100000 0.00113830 0.42861350 0.00000000 0.00000000 1.00000000 0.00000000 0.109700000 -0.00025280 0.15409250 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.309000000 1.00000000 0.00000000 0.00000000 0.00000000 0.770000000 0.00000000 1.00000000 0.00000000 0.00000000 1.91700000 0.00000000 0.00000000 1.00000000 0.00000000 4.77600000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.408000000 1.00000000 0.00000000 0.00000000 0.825000000 0.00000000 1.00000000 0.00000000 1.66800000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.665000000 1.00000000 0.00000000 1.56200000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 1.26400000 1.00000000 a 31 $ GALLIUM (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ S-TYPE FUNCTIONS 26 8 0 108615220. 0.00002310 -0.00000730 0.00000280 -0.00000070 0.00000000 0.00000000 0. 0.00000000 16264540.0 0.00006310 -0.00002000 0.00000770 -0.00000180 0.00000000 0.00000000 0. 0.00000000 3700111.60 0.00015920 -0.00005050 0.00001930 -0.00000450 0.00000000 0.00000000 0. 0.00000000 1047169.10 0.00035990 -0.00011420 0.00004370 -0.00001030 0.00000000 0.00000000 0. 0.00000000 341067.570 0.00077950 -0.00024760 0.00009480 -0.00002220 0.00000000 0.00000000 0. 0.00000000 122771.540 0.00164260 -0.00052280 0.00020020 -0.00004700 0.00000000 0.00000000 0. 0.00000000 47659.5780 0.00345300 -0.00110300 0.00042260 -0.00009910 0.00000000 0.00000000 0. 0.00000000 19633.3540 0.00732990 -0.00235390 0.00090230 -0.00021170 0.00000000 0.00000000 0. 0.00000000 8488.73470 0.01581310 -0.00512950 0.00196950 -0.00046210 0.00000000 0.00000000 0. 0.00000000 3823.13810 0.03429410 -0.01131080 0.00434970 -0.00102110 0.00000000 0.00000000 0. 0.00000000 1784.47550 0.07244110 -0.02469130 0.00954140 -0.00224020 0.00000000 0.00000000 0. 0.00000000 860.053050 0.14139350 -0.05117110 0.01990840 -0.00468150 0.00000000 0.00000000 0. 0.00000000 426.698670 0.23676850 -0.09628250 0.03807680 -0.00896610 0.00000000 0.00000000 0. 0.00000000 217.261610 0.30297420 -0.15129230 0.06144670 -0.01453710 0.00000000 0.00000000 0. 0.00000000 112.969870 0.24429180 -0.16555640 0.07067630 -0.01679950 0.00000000 0.00000000 0. 0.00000000 59.4494410 0.09137050 -0.02764210 0.01156160 -0.00280450 0.00000000 0.00000000 0. 0.00000000 30.7822560 0.00920630 0.31335470 -0.17335490 0.04285220 0.00000000 0.00000000 0. 0.00000000 16.4232120 0.00056480 0.52213170 -0.40490640 0.10468130 0.00000000 0.00000000 0. 0.00000000 8.75788900 -0.00006080 0.28508910 -0.27263000 0.07229070 0.00000000 0.00000000 0. 0.00000000 4.40962900 0.00001620 0.04114340 0.29623990 -0.09378470 0.00000000 0.00000000 0. 0.00000000 2.24944900 -0.00006460 0.00132150 0.63520270 -0.22861390 0.00000000 0.00000000 0. 0.00000000 1.12611500 0.00001780 0.00107200 0.35060130 -0.24778880 0.00000000 0.00000000 0. 0.00000000 0.515486000 -0.00001170 -0.00014170 0.03503340 -0.01314860 1.00000000 0.00000000 0. 0.00000000 0.242578000 0.00000580 0.00008980 -0.00103860 0.44484410 0.00000000 1.00000000 0. 0.00000000 0.107086000 -0.00000210 -0.00003830 0.00041910 0.56786210 0.00000000 0.00000000 1.00000000 0.00000000 0.046988000 0.00000060 0.00000920 -0.00009310 0.16740880 0.00000000 0.00000000 0. 1.00000000 $ P-TYPE FUNCTIONS 17 7 0 32152.1900 0.00012330 -0.00004690 0.00000760 0.00000000 0.00000000 0.00000000 0. 7609.38420 0.00048460 -0.00018460 0.00003020 0.00000000 0.00000000 0.00000000 0. 2471.47440 0.00204540 -0.00078220 0.00012710 0.00000000 0.00000000 0.00000000 0. 946.063630 0.00770430 -0.00295890 0.00048550 0.00000000 0.00000000 0.00000000 0. 401.947110 0.02591490 -0.01007890 0.00163860 0.00000000 0.00000000 0.00000000 0. 183.646880 0.07403720 -0.02941300 0.00484790 0.00000000 0.00000000 0.00000000 0. 88.5332640 0.17093950 -0.07054540 0.01151680 0.00000000 0.00000000 0.00000000 0. 44.2703550 0.29720160 -0.12827040 0.02142310 0.00000000 0.00000000 0.00000000 0. 22.7230830 0.34636380 -0.15711440 0.02560650 0.00000000 0.00000000 0.00000000 0. 11.8231410 0.21366520 -0.03744430 0.00571610 0.00000000 0.00000000 0.00000000 0. 6.04213500 0.05070270 0.24904200 -0.05107040 0.00000000 0.00000000 0.00000000 0. 3.03175400 0.00331170 0.44646200 -0.08421420 0.00000000 0.00000000 0.00000000 0. 1.49336600 0.00097110 0.34827700 -0.08934530 0.00000000 0.00000000 0.00000000 0. 0.709727000 0.00003450 0.10197300 0.02199150 1.00000000 0.00000000 0.00000000 0. 0.248593000 0.00004600 0.00518530 0.31288570 0.00000000 1.00000000 0.00000000 0. 0.094395000 -0.00001960 -0.00013060 0.53289500 0.00000000 0.00000000 1.00000000 0. 0.035887000 0.00000550 0.00012860 0.28530760 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 13 5 0 1040.50460 0.00010940 0.00000000 0.00000000 0.00000000 0.00000000 314.597140 0.00092340 0.00000000 0.00000000 0.00000000 0.00000000 122.787600 0.00514600 0.00000000 0.00000000 0.00000000 0.00000000 54.7603690 0.02007580 0.00000000 0.00000000 0.00000000 0.00000000 26.2989440 0.05817330 0.00000000 0.00000000 0.00000000 0.00000000 13.2634450 0.13101410 0.00000000 0.00000000 0.00000000 0.00000000 6.88506500 0.22066510 0.00000000 0.00000000 0.00000000 0.00000000 3.57952500 0.28139570 0.00000000 0.00000000 0.00000000 0.00000000 1.83156400 0.28310560 0.00000000 0.00000000 0.00000000 0.00000000 0.912909000 0.21696070 1.00000000 0.00000000 0.00000000 0.00000000 0.435340000 0.10800720 0.00000000 1.00000000 0.00000000 0.00000000 0.188518000 0.02173330 0.00000000 0.00000000 1.00000000 0.00000000 0.075800000 0.00029890 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.134000000 1.00000000 0.00000000 0.00000000 0.282600000 0.00000000 1.00000000 0.00000000 0.596000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.275000000 1.00000000 0.00000000 0.614600000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.498600000 1.00000000 a 32 $ GERMANIUM (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ S-TYPE FUNCTIONS 26 8 0 122001190. 0.00002340 -0.00000750 0.00000290 -0.00000070 0.00000000 0.00000000 0. 0.00000000 18257470.0 0.00006370 -0.00002030 0.00000780 -0.00000200 0.00000000 0.00000000 0. 0.00000000 4150821.50 0.00016040 -0.00005110 0.00001980 -0.00000510 0.00000000 0.00000000 0. 0.00000000 1174101.80 0.00036140 -0.00011520 0.00004460 -0.00001150 0.00000000 0.00000000 0. 0.00000000 382309.150 0.00077930 -0.00024880 0.00009620 -0.00002480 0.00000000 0.00000000 0. 0.00000000 137607.960 0.00163240 -0.00052210 0.00020200 -0.00005210 0.00000000 0.00000000 0. 0.00000000 53419.2420 0.00340560 -0.00109320 0.00042330 -0.00010920 0.00000000 0.00000000 0. 0.00000000 22005.7560 0.00716400 -0.00231170 0.00089540 -0.00023100 0.00000000 0.00000000 0. 0.00000000 9513.84790 0.01530860 -0.00498940 0.00193570 -0.00049970 0.00000000 0.00000000 0. 0.00000000 4284.17560 0.03293970 -0.01090910 0.00423900 -0.00109420 0.00000000 0.00000000 0. 0.00000000 1999.16640 0.06933190 -0.02370510 0.00925440 -0.00239080 0.00000000 0.00000000 0. 0.00000000 963.247160 0.13567300 -0.04911680 0.01930140 -0.00499030 0.00000000 0.00000000 0. 0.00000000 477.805000 0.22952310 -0.09291580 0.03709390 -0.00961230 0.00000000 0.00000000 0. 0.00000000 243.315890 0.30027220 -0.14790850 0.06058160 -0.01575320 0.00000000 0.00000000 0. 0.00000000 126.639990 0.25249420 -0.16807120 0.07227040 -0.01892460 0.00000000 0.00000000 0. 0.00000000 66.7835790 0.10219540 -0.04410440 0.01927270 -0.00506660 0.00000000 0.00000000 0. 0.00000000 34.4160840 0.01182790 0.28972300 -0.16042520 0.04352290 0.00000000 0.00000000 0. 0.00000000 18.3728140 0.00037640 0.52328540 -0.40141400 0.11449250 0.00000000 0.00000000 0. 0.00000000 9.80546100 0.00006940 0.30680780 -0.29983940 0.08771220 0.00000000 0.00000000 0. 0.00000000 4.96940300 -0.00004660 0.04859990 0.26133730 -0.09091440 0.00000000 0.00000000 0. 0.00000000 2.54862300 -0.00003060 0.00147640 0.64330930 -0.25809090 0.00000000 0.00000000 0. 0.00000000 1.28459400 -0.00000130 0.00119430 0.37507380 -0.28968530 0.00000000 0.00000000 0. 0.00000000 0.583353000 -0.00000170 -0.00019780 0.03874810 0.00013570 1.00000000 0.00000000 0. 0.00000000 0.293439000 -0.00000030 0.00011010 -0.00187350 0.48366870 0.00000000 1.00000000 0. 0.00000000 0.132672000 0.00000130 -0.00004580 0.00065910 0.55790590 0.00000000 0.00000000 1.00000000 0.00000000 0.059239000 -0.00000050 0.00000910 -0.00005710 0.15092410 0.00000000 0.00000000 0. 1.00000000 $ P-TYPE FUNCTIONS 17 7 0 32314.9700 0.00013890 -0.00005370 0.00001060 0.00000000 0.00000000 0.00000000 0. 7648.20020 0.00054430 -0.00021060 0.00004150 0.00000000 0.00000000 0.00000000 0. 2484.21140 0.00228890 -0.00088890 0.00017490 0.00000000 0.00000000 0.00000000 0. 951.003050 0.00857850 -0.00334800 0.00066140 0.00000000 0.00000000 0.00000000 0. 404.048330 0.02867320 -0.01134000 0.00223470 0.00000000 0.00000000 0.00000000 0. 184.603540 0.08107350 -0.03281050 0.00650970 0.00000000 0.00000000 0.00000000 0. 88.9641280 0.18386120 -0.07740000 0.01534640 0.00000000 0.00000000 0.00000000 0. 44.4477420 0.31052070 -0.13708730 0.02752380 0.00000000 0.00000000 0.00000000 0. 22.7990750 0.34236260 -0.15688380 0.03126430 0.00000000 0.00000000 0.00000000 0. 11.8359280 0.19230930 -0.00913760 -0.00041050 0.00000000 0.00000000 0.00000000 0. 6.01129400 0.03972210 0.29178900 -0.07088240 0.00000000 0.00000000 0.00000000 0. 2.99578400 0.00232230 0.46207560 -0.11191280 0.00000000 0.00000000 0.00000000 0. 1.46957000 0.00079210 0.31140650 -0.09720060 0.00000000 0.00000000 0.00000000 0. 0.690681000 -0.00002300 0.06636670 0.06158680 1.00000000 0.00000000 0.00000000 0. 0.286160000 0.00004360 0.00195700 0.37418720 0.00000000 1.00000000 0.00000000 0. 0.117742000 -0.00002050 0.00063700 0.50884950 0.00000000 0.00000000 1.00000000 0. 0.047385000 0.00000490 -0.00006640 0.21575580 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 13 5 0 1226.79820 0.00009640 0.00000000 0.00000000 0.00000000 0.00000000 371.232230 0.00080480 0.00000000 0.00000000 0.00000000 0.00000000 144.890990 0.00452390 0.00000000 0.00000000 0.00000000 0.00000000 64.6041300 0.01808580 0.00000000 0.00000000 0.00000000 0.00000000 31.0397370 0.05386460 0.00000000 0.00000000 0.00000000 0.00000000 15.6438700 0.12515530 0.00000000 0.00000000 0.00000000 0.00000000 8.12582200 0.21799620 0.00000000 0.00000000 0.00000000 0.00000000 4.23976200 0.28491090 0.00000000 0.00000000 0.00000000 0.00000000 2.18638600 0.28949730 0.00000000 0.00000000 0.00000000 0.00000000 1.10387100 0.21717420 1.00000000 0.00000000 0.00000000 0.00000000 0.533811000 0.10027780 0.00000000 1.00000000 0.00000000 0.00000000 0.231355000 0.01758980 0.00000000 0.00000000 1.00000000 0.00000000 0.095300000 0.00022410 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.163000000 1.00000000 0.00000000 0.00000000 0.329700000 0.00000000 1.00000000 0.00000000 0.670900000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.316000000 1.00000000 0.00000000 0.703400000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.581500000 1.00000000 a 33 $ ARSENIC (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ S-TYPE FUNCTIONS 26 8 0 137507530. 0.00002360 -0.00000750 0.00000290 -0.00000080 0.00000000 0.00000000 0. 0.00000000 20515052.0 0.00006430 -0.00002060 0.00000800 -0.00000220 0.00000000 0.00000000 0. 0.00000000 4648716.40 0.00016180 -0.00005180 0.00002020 -0.00000560 0.00000000 0.00000000 0. 0.00000000 1311264.60 0.00036400 -0.00011660 0.00004560 -0.00001260 0.00000000 0.00000000 0. 0.00000000 426185.860 0.00078210 -0.00025080 0.00009810 -0.00002710 0.00000000 0.00000000 0. 0.00000000 153237.060 0.00162970 -0.00052370 0.00020480 -0.00005670 0.00000000 0.00000000 0. 0.00000000 59459.4040 0.00337590 -0.00108890 0.00042600 -0.00011790 0.00000000 0.00000000 0. 0.00000000 24492.8120 0.00704000 -0.00228240 0.00089340 -0.00024730 0.00000000 0.00000000 0. 0.00000000 10590.2530 0.01490370 -0.00488000 0.00191310 -0.00052980 0.00000000 0.00000000 0. 0.00000000 4769.78410 0.03180060 -0.01057570 0.00415260 -0.00114980 0.00000000 0.00000000 0. 0.00000000 2226.36980 0.06660910 -0.02284780 0.00901190 -0.00249800 0.00000000 0.00000000 0. 0.00000000 1073.08620 0.13045190 -0.04726410 0.01876280 -0.00520240 0.00000000 0.00000000 0. 0.00000000 532.500590 0.22255120 -0.08975980 0.03617690 -0.01006090 0.00000000 0.00000000 0. 0.00000000 271.297550 0.29702520 -0.14454680 0.05972600 -0.01665070 0.00000000 0.00000000 0. 0.00000000 141.311950 0.25968590 -0.16981970 0.07355710 -0.02068480 0.00000000 0.00000000 0. 0.00000000 74.5844330 0.11283730 -0.05870510 0.02623520 -0.00737000 0.00000000 0.00000000 0. 0.00000000 38.2983380 0.01465520 0.26676810 -0.14811840 0.04302770 0.00000000 0.00000000 0. 0.00000000 20.4691300 0.00020180 0.52192610 -0.39662130 0.12164270 0.00000000 0.00000000 0. 0.00000000 10.9395780 0.00019970 0.32745410 -0.32526210 0.10235770 0.00000000 0.00000000 0. 0.00000000 5.59036700 -0.00010780 0.05690570 0.22508770 -0.08382150 0.00000000 0.00000000 0. 0.00000000 2.88285900 0.00000070 0.00181540 0.64793810 -0.28141910 0.00000000 0.00000000 0. 0.00000000 1.46608600 -0.00001860 0.00129410 0.40007060 -0.32684410 0.00000000 0.00000000 0. 0.00000000 0.674839000 0.00000630 -0.00024030 0.04465770 0.01087920 1.00000000 0.00000000 0. 0.00000000 0.346399000 -0.00000280 0.00012260 -0.00210200 0.50958290 0.00000000 1.00000000 0. 0.00000000 0.159289000 0.00000130 -0.00005930 0.00093080 0.55106220 0.00000000 0.00000000 1.00000000 0.00000000 0.072109000 -0.00000020 0.00001210 -0.00007970 0.14113640 0.00000000 0.00000000 0. 1.00000000 $ P-TYPE FUNCTIONS 17 7 0 34166.1610 0.00014740 -0.00005780 0.00001290 0.00000000 0.00000000 0.00000000 0. 8086.56080 0.00056880 -0.00022350 0.00004970 0.00000000 0.00000000 0.00000000 0. 2626.51140 0.00236790 -0.00093360 0.00020770 0.00000000 0.00000000 0.00000000 0. 1005.39500 0.00880780 -0.00349130 0.00077740 0.00000000 0.00000000 0.00000000 0. 427.127350 0.02932350 -0.01177930 0.00262580 0.00000000 0.00000000 0.00000000 0. 195.151130 0.08264900 -0.03399680 0.00760310 0.00000000 0.00000000 0.00000000 0. 94.0543080 0.18674360 -0.07993020 0.01794950 0.00000000 0.00000000 0.00000000 0. 46.9998800 0.31348600 -0.14091150 0.03186890 0.00000000 0.00000000 0.00000000 0. 24.1174570 0.34108550 -0.15819980 0.03588090 0.00000000 0.00000000 0.00000000 0. 12.5199820 0.18736340 -0.00121120 -0.00329860 0.00000000 0.00000000 0.00000000 0. 6.35732500 0.03749420 0.30604480 -0.08369660 0.00000000 0.00000000 0.00000000 0. 3.16805200 0.00214490 0.47038000 -0.13434690 0.00000000 0.00000000 0.00000000 0. 1.55348100 0.00071390 0.29722550 -0.10193340 0.00000000 0.00000000 0.00000000 0. 0.710325000 -0.00004760 0.05251200 0.10424450 1.00000000 0.00000000 0.00000000 0. 0.320955000 0.00004530 -0.00012920 0.41358170 0.00000000 1.00000000 0.00000000 0. 0.139357000 -0.00002160 0.00089940 0.47578180 0.00000000 0.00000000 1.00000000 0. 0.058410000 0.00000530 -0.00021810 0.17119820 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 13 5 0 1424.45060 0.00008690 0.00000000 0.00000000 0.00000000 0.00000000 431.066760 0.00071760 0.00000000 0.00000000 0.00000000 0.00000000 168.128640 0.00406290 0.00000000 0.00000000 0.00000000 0.00000000 74.8667240 0.01659520 0.00000000 0.00000000 0.00000000 0.00000000 35.9458550 0.05064190 0.00000000 0.00000000 0.00000000 0.00000000 18.0984740 0.12063660 0.00000000 0.00000000 0.00000000 0.00000000 9.40578000 0.21570210 0.00000000 0.00000000 0.00000000 0.00000000 4.92390400 0.28754960 0.00000000 0.00000000 0.00000000 0.00000000 2.55649300 0.29457130 0.00000000 0.00000000 0.00000000 0.00000000 1.30423300 0.21682660 1.00000000 0.00000000 0.00000000 0.00000000 0.637118000 0.09425140 0.00000000 1.00000000 0.00000000 0.00000000 0.275795000 0.01499910 0.00000000 0.00000000 1.00000000 0.00000000 0.115300000 0.00018550 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.196000000 1.00000000 0.00000000 0.00000000 0.385900000 0.00000000 1.00000000 0.00000000 0.759900000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.370000000 1.00000000 0.00000000 0.809200000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.677300000 1.00000000 a 34 $ SELENIUM (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ S-TYPE FUNCTIONS 26 8 0 154432250. 0.00002380 -0.00000760 0.00000300 -0.00000090 0.00000000 0.00000000 0. 0.00000000 23129212.0 0.00006420 -0.00002060 0.00000820 -0.00000240 0.00000000 0.00000000 0. 0.00000000 5261792.90 0.00016080 -0.00005170 0.00002040 -0.00000600 0.00000000 0.00000000 0. 0.00000000 1488816.70 0.00035990 -0.00011580 0.00004570 -0.00001340 0.00000000 0.00000000 0. 0.00000000 484656.560 0.00077000 -0.00024810 0.00009800 -0.00002880 0.00000000 0.00000000 0. 0.00000000 174270.630 0.00159710 -0.00051560 0.00020370 -0.00005980 0.00000000 0.00000000 0. 0.00000000 67529.0900 0.00329150 -0.00106650 0.00042150 -0.00012370 0.00000000 0.00000000 0. 0.00000000 27750.8370 0.00682160 -0.00222140 0.00087850 -0.00025780 0.00000000 0.00000000 0. 0.00000000 11964.2160 0.01434660 -0.00471750 0.00186840 -0.00054870 0.00000000 0.00000000 0. 0.00000000 5370.71480 0.03046960 -0.01017100 0.00403480 -0.00118460 0.00000000 0.00000000 0. 0.00000000 2497.31940 0.06381230 -0.02194680 0.00874380 -0.00257040 0.00000000 0.00000000 0. 0.00000000 1198.76790 0.12566890 -0.04555140 0.01826340 -0.00536970 0.00000000 0.00000000 0. 0.00000000 592.580260 0.21681500 -0.08713070 0.03544660 -0.01045460 0.00000000 0.00000000 0. 0.00000000 300.977080 0.29488430 -0.14203000 0.05920580 -0.01750190 0.00000000 0.00000000 0. 0.00000000 156.460240 0.26622150 -0.17138800 0.07480210 -0.02231560 0.00000000 0.00000000 0. 0.00000000 82.4760860 0.12216010 -0.07038090 0.03192440 -0.00951150 0.00000000 0.00000000 0. 0.00000000 42.2708870 0.01728290 0.24720410 -0.13794620 0.04247370 0.00000000 0.00000000 0. 0.00000000 22.6302200 0.00008820 0.51855160 -0.39183760 0.12764670 0.00000000 0.00000000 0. 0.00000000 12.1223740 0.00030380 0.34477920 -0.34620000 0.11602960 0.00000000 0.00000000 0. 0.00000000 6.24917000 -0.00015800 0.06528070 0.19117020 -0.07565690 0.00000000 0.00000000 0. 0.00000000 3.24267800 0.00002760 0.00224320 0.64896130 -0.30070760 0.00000000 0.00000000 0. 0.00000000 1.66636200 -0.00003630 0.00140710 0.42311690 -0.36244620 0.00000000 0.00000000 0. 0.00000000 0.787264000 0.00001830 -0.00029720 0.05185560 0.01784110 1.00000000 0.00000000 0. 0.00000000 0.402972000 -0.00001010 0.00013820 -0.00155450 0.53759780 0.00000000 1.00000000 0. 0.00000000 0.187096000 0.00000450 -0.00006790 0.00099480 0.54408120 0.00000000 0.00000000 1.00000000 0.00000000 0.084706000 -0.00000100 0.00000940 -0.00003790 0.13105790 0.00000000 0.00000000 0. 1.00000000 $ P-TYPE FUNCTIONS 17 7 0 36511.3370 0.00015410 -0.00006130 0.00001480 0.00000000 0.00000000 0.00000000 0. 8640.55100 0.00058460 -0.00023300 0.00005620 0.00000000 0.00000000 0.00000000 0. 2805.69110 0.00240650 -0.00096260 0.00023260 0.00000000 0.00000000 0.00000000 0. 1073.49610 0.00888450 -0.00357390 0.00086280 0.00000000 0.00000000 0.00000000 0. 455.774750 0.02950690 -0.01202760 0.00291320 0.00000000 0.00000000 0.00000000 0. 208.094320 0.08312700 -0.03471490 0.00841770 0.00000000 0.00000000 0.00000000 0. 100.231110 0.18783160 -0.08163070 0.01993650 0.00000000 0.00000000 0.00000000 0. 50.0735220 0.31485560 -0.14387720 0.03527490 0.00000000 0.00000000 0.00000000 0. 25.7002620 0.34062310 -0.15992160 0.03958270 0.00000000 0.00000000 0.00000000 0. 13.3467920 0.18528260 0.00277230 -0.00542780 0.00000000 0.00000000 0.00000000 0. 6.78705100 0.03663030 0.31476820 -0.09352150 0.00000000 0.00000000 0.00000000 0. 3.39165400 0.00207690 0.47586720 -0.15328370 0.00000000 0.00000000 0.00000000 0. 1.67032700 0.00065320 0.28643740 -0.10159100 0.00000000 0.00000000 0.00000000 0. 0.752599000 -0.00005690 0.04497830 0.15704050 1.00000000 0.00000000 0.00000000 0. 0.346813000 0.00003800 -0.00062800 0.43635290 0.00000000 1.00000000 0.00000000 0. 0.151855000 -0.00002320 0.00121580 0.43735860 0.00000000 0.00000000 1.00000000 0. 0.063856000 0.00000400 -0.00014230 0.14719260 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 13 5 0 1635.06630 0.00007960 0.00000000 0.00000000 0.00000000 0.00000000 494.672660 0.00064970 0.00000000 0.00000000 0.00000000 0.00000000 192.843880 0.00369410 0.00000000 0.00000000 0.00000000 0.00000000 85.7821950 0.01535560 0.00000000 0.00000000 0.00000000 0.00000000 41.1499660 0.04793920 0.00000000 0.00000000 0.00000000 0.00000000 20.6781700 0.11706410 0.00000000 0.00000000 0.00000000 0.00000000 10.7263860 0.21483330 0.00000000 0.00000000 0.00000000 0.00000000 5.61245400 0.29169190 0.00000000 0.00000000 0.00000000 0.00000000 2.92037600 0.29983620 0.00000000 0.00000000 0.00000000 0.00000000 1.49818400 0.21495440 1.00000000 0.00000000 0.00000000 0.00000000 0.735999000 0.08748830 0.00000000 1.00000000 0.00000000 0.00000000 0.316004000 0.01238600 0.00000000 0.00000000 1.00000000 0.00000000 0.133100000 0.00015210 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.210000000 1.00000000 0.00000000 0.00000000 0.421100000 0.00000000 1.00000000 0.00000000 0.844200000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.385000000 1.00000000 0.00000000 0.865900000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.723500000 1.00000000 a 35 $ BROMINE (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ S-TYPE FUNCTIONS 26 8 0 165735150. 0.00002470 -0.00000800 0.00000320 -0.00000100 0.00000000 0.00000000 0. 0.00000000 24774379.0 0.00006680 -0.00002160 0.00000860 -0.00000260 0.00000000 0.00000000 0. 0.00000000 5628202.00 0.00016700 -0.00005390 0.00002150 -0.00000660 0.00000000 0.00000000 0. 0.00000000 1591899.70 0.00037270 -0.00012040 0.00004800 -0.00001480 0.00000000 0.00000000 0. 0.00000000 518263.800 0.00079440 -0.00025710 0.00010260 -0.00003150 0.00000000 0.00000000 0. 0.00000000 186490.920 0.00163960 -0.00053170 0.00021220 -0.00006520 0.00000000 0.00000000 0. 0.00000000 72332.4930 0.00335990 -0.00109370 0.00043660 -0.00013420 0.00000000 0.00000000 0. 0.00000000 29761.1350 0.00691110 -0.00226130 0.00090320 -0.00027770 0.00000000 0.00000000 0. 0.00000000 12851.7120 0.01440690 -0.00476010 0.00190410 -0.00058570 0.00000000 0.00000000 0. 0.00000000 5780.94300 0.03030650 -0.01016520 0.00407320 -0.00125260 0.00000000 0.00000000 0. 0.00000000 2695.00980 0.06291960 -0.02173720 0.00874710 -0.00269340 0.00000000 0.00000000 0. 0.00000000 1297.66040 0.12318210 -0.04480520 0.01814460 -0.00558780 0.00000000 0.00000000 0. 0.00000000 643.634930 0.21237780 -0.08542630 0.03509050 -0.01084210 0.00000000 0.00000000 0. 0.00000000 327.951940 0.29126350 -0.13968810 0.05877310 -0.01819820 0.00000000 0.00000000 0. 0.00000000 170.922620 0.26904650 -0.17143220 0.07544180 -0.02358170 0.00000000 0.00000000 0. 0.00000000 90.2501410 0.12905850 -0.07861450 0.03608390 -0.01127140 0.00000000 0.00000000 0. 0.00000000 46.2924670 0.01965370 0.23065220 -0.12961160 0.04180350 0.00000000 0.00000000 0. 0.00000000 24.8486610 -0.00001290 0.51391430 -0.38721310 0.13231980 0.00000000 0.00000000 0. 0.00000000 13.3471370 0.00041210 0.35910100 -0.36365780 0.12812880 0.00000000 0.00000000 0. 0.00000000 6.94825800 -0.00021600 0.07331460 0.16027330 -0.06652270 0.00000000 0.00000000 0. 0.00000000 3.62507500 0.00006010 0.00299980 0.64776220 -0.31604670 0.00000000 0.00000000 0. 0.00000000 1.88215300 -0.00005540 0.00136220 0.44399310 -0.39379590 0.00000000 0.00000000 0. 0.00000000 0.910822000 0.00002620 -0.00024530 0.05972000 0.02068250 1.00000000 0.00000000 0. 0.00000000 0.463957000 -0.00001180 0.00008150 -0.00088710 0.55672170 0.00000000 1.00000000 0. 0.00000000 0.216933000 0.00000470 -0.00005540 0.00111480 0.54154600 0.00000000 0.00000000 1.00000000 0.00000000 0.098406000 -0.00000090 0.00000640 -0.00001560 0.12558180 0.00000000 0.00000000 0. 1.00000000 $ P-TYPE FUNCTIONS 17 7 0 39391.5300 0.00015910 -0.00006420 0.00001660 0.00000000 0.00000000 0.00000000 0. 9325.22250 0.00059110 -0.00023890 0.00006170 0.00000000 0.00000000 0.00000000 0. 3028.99430 0.00240060 -0.00097360 0.00025190 0.00000000 0.00000000 0.00000000 0. 1159.51450 0.00877040 -0.00357730 0.00092450 0.00000000 0.00000000 0.00000000 0. 492.681310 0.02898850 -0.01197930 0.00310830 0.00000000 0.00000000 0.00000000 0. 225.174510 0.08156840 -0.03453280 0.00896450 0.00000000 0.00000000 0.00000000 0. 108.593260 0.18482480 -0.08141450 0.02131110 0.00000000 0.00000000 0.00000000 0. 54.3360790 0.31186120 -0.14448860 0.03793470 0.00000000 0.00000000 0.00000000 0. 27.9366500 0.34153620 -0.16279630 0.04326810 0.00000000 0.00000000 0.00000000 0. 14.5396260 0.18988640 -0.00303220 -0.00453020 0.00000000 0.00000000 0.00000000 0. 7.42130700 0.03892350 0.31118300 -0.09965630 0.00000000 0.00000000 0.00000000 0. 3.73038900 0.00219230 0.47945260 -0.16895100 0.00000000 0.00000000 0.00000000 0. 1.85412700 0.00066570 0.28740480 -0.10669280 0.00000000 0.00000000 0.00000000 0. 0.845337000 -0.00007660 0.04496510 0.18289040 1.00000000 0.00000000 0.00000000 0. 0.392152000 0.00003840 -0.00017870 0.44868510 0.00000000 1.00000000 0.00000000 0. 0.172767000 -0.00002900 0.00142820 0.41886620 0.00000000 0.00000000 1.00000000 0. 0.072908000 0.00000340 -0.00004280 0.13446200 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 13 5 0 1850.63540 0.00007470 0.00000000 0.00000000 0.00000000 0.00000000 557.071250 0.00060890 0.00000000 0.00000000 0.00000000 0.00000000 216.486870 0.00348120 0.00000000 0.00000000 0.00000000 0.00000000 96.1388500 0.01463540 0.00000000 0.00000000 0.00000000 0.00000000 46.1263800 0.04628010 0.00000000 0.00000000 0.00000000 0.00000000 23.2011640 0.11450470 0.00000000 0.00000000 0.00000000 0.00000000 12.0559260 0.21350650 0.00000000 0.00000000 0.00000000 0.00000000 6.32554500 0.29405950 0.00000000 0.00000000 0.00000000 0.00000000 3.30492200 0.30378800 0.00000000 0.00000000 0.00000000 0.00000000 1.70425300 0.21345030 1.00000000 0.00000000 0.00000000 0.00000000 0.839940000 0.08220590 0.00000000 1.00000000 0.00000000 0.00000000 0.356953000 0.01059540 0.00000000 0.00000000 1.00000000 0.00000000 0.152000000 0.00011960 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.255000000 1.00000000 0.00000000 0.00000000 0.495500000 0.00000000 1.00000000 0.00000000 0.962700000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.439000000 1.00000000 0.00000000 0.976800000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.819300000 1.00000000 a 36 $ KRYPTON (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ S-TYPE FUNCTIONS 26 8 0 182822090. 0.00002520 -0.00000820 0.00000330 -0.00000100 0.00000000 0.00000000 0. 0.00000000 27356156.0 0.00006770 -0.00002200 0.00000880 -0.00000280 0.00000000 0.00000000 0. 0.00000000 6221170.40 0.00016870 -0.00005470 0.00002200 -0.00000700 0.00000000 0.00000000 0. 0.00000000 1760277.90 0.00037540 -0.00012190 0.00004910 -0.00001570 0.00000000 0.00000000 0. 0.00000000 573193.820 0.00079750 -0.00025920 0.00010440 -0.00003330 0.00000000 0.00000000 0. 0.00000000 206258.450 0.00163800 -0.00053350 0.00021490 -0.00006860 0.00000000 0.00000000 0. 0.00000000 80026.6690 0.00333400 -0.00109000 0.00043930 -0.00014030 0.00000000 0.00000000 0. 0.00000000 32939.0840 0.00680650 -0.00223680 0.00090200 -0.00028800 0.00000000 0.00000000 0. 0.00000000 14222.6330 0.01408080 -0.00467220 0.00188670 -0.00060290 0.00000000 0.00000000 0. 0.00000000 6393.07070 0.02942810 -0.00990940 0.00400890 -0.00128040 0.00000000 0.00000000 0. 0.00000000 2976.45380 0.06089640 -0.02110470 0.00857250 -0.00274230 0.00000000 0.00000000 0. 0.00000000 1430.52540 0.11945530 -0.04351410 0.01778770 -0.00568910 0.00000000 0.00000000 0. 0.00000000 707.926210 0.20761250 -0.08336260 0.03454630 -0.01108960 0.00000000 0.00000000 0. 0.00000000 359.848470 0.28903180 -0.13764110 0.05840880 -0.01878040 0.00000000 0.00000000 0. 0.00000000 187.149650 0.27377040 -0.17231620 0.07639320 -0.02481790 0.00000000 0.00000000 0. 0.00000000 98.6345230 0.13673090 -0.08703480 0.04038730 -0.01309400 0.00000000 0.00000000 0. 0.00000000 50.5478690 0.02212380 0.21539290 -0.12193980 0.04081000 0.00000000 0.00000000 0. 0.00000000 27.1670040 -0.00005680 0.50958500 -0.38327060 0.13630890 0.00000000 0.00000000 0. 0.00000000 14.6150980 0.00047850 0.37202020 -0.37929690 0.13909340 0.00000000 0.00000000 0. 0.00000000 7.65135200 -0.00024150 0.08086130 0.13648920 -0.05851660 0.00000000 0.00000000 0. 0.00000000 3.99726300 0.00006890 0.00356320 0.65190090 -0.33425730 0.00000000 0.00000000 0. 0.00000000 2.08585300 -0.00006040 0.00136380 0.45730650 -0.42049580 0.00000000 0.00000000 0. 0.00000000 1.01479700 0.00002980 -0.00025450 0.06314310 0.03716330 1.00000000 0.00000000 0. 0.00000000 0.519788000 -0.00001480 0.00006450 -0.00065460 0.57469480 0.00000000 1.00000000 0. 0.00000000 0.245103000 0.00000700 -0.00005640 0.00128200 0.53217940 0.00000000 0.00000000 1.00000000 0.00000000 0.111896000 -0.00000160 0.00000520 -0.00000980 0.11752460 0.00000000 0.00000000 0. 1.00000000 $ P-TYPE FUNCTIONS 17 7 0 42993.0560 0.00016180 -0.00006620 0.00001800 0.00000000 0.00000000 0.00000000 0. 10173.7230 0.00058850 -0.00024110 0.00006540 0.00000000 0.00000000 0.00000000 0. 3303.10570 0.00235740 -0.00096900 0.00026340 0.00000000 0.00000000 0.00000000 0. 1263.54000 0.00853700 -0.00352970 0.00095810 0.00000000 0.00000000 0.00000000 0. 536.365460 0.02817750 -0.01179980 0.00321690 0.00000000 0.00000000 0.00000000 0. 244.876170 0.07953060 -0.03411580 0.00930320 0.00000000 0.00000000 0.00000000 0. 117.991170 0.18143240 -0.08095820 0.02227450 0.00000000 0.00000000 0.00000000 0. 59.0212480 0.30900190 -0.14507670 0.04003130 0.00000000 0.00000000 0.00000000 0. 30.3560670 0.34303490 -0.16598580 0.04643380 0.00000000 0.00000000 0.00000000 0. 15.8199770 0.19490460 -0.00939090 -0.00314520 0.00000000 0.00000000 0.00000000 0. 8.10458000 0.04139510 0.30696690 -0.10419770 0.00000000 0.00000000 0.00000000 0. 4.09796400 0.00234130 0.48273200 -0.18196770 0.00000000 0.00000000 0.00000000 0. 2.05606100 0.00067340 0.28936080 -0.11155030 0.00000000 0.00000000 0.00000000 0. 0.952145000 -0.00008740 0.04559380 0.20014090 1.00000000 0.00000000 0.00000000 0. 0.444774000 0.00004970 -0.00041240 0.45756320 0.00000000 1.00000000 0.00000000 0. 0.197496000 -0.00002320 0.00088730 0.40672450 0.00000000 0.00000000 1.00000000 0. 0.083823000 0.00000620 -0.00017700 0.12521240 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 13 5 0 2067.43600 0.00007100 0.00000000 0.00000000 0.00000000 0.00000000 625.693710 0.00056490 0.00000000 0.00000000 0.00000000 0.00000000 243.946790 0.00321480 0.00000000 0.00000000 0.00000000 0.00000000 108.423730 0.01366060 0.00000000 0.00000000 0.00000000 0.00000000 52.0052160 0.04402300 0.00000000 0.00000000 0.00000000 0.00000000 26.1154050 0.11125170 0.00000000 0.00000000 0.00000000 0.00000000 13.5467480 0.21205540 0.00000000 0.00000000 0.00000000 0.00000000 7.10581000 0.29663480 0.00000000 0.00000000 0.00000000 0.00000000 3.72155400 0.30760050 0.00000000 0.00000000 0.00000000 0.00000000 1.92912000 0.21238460 1.00000000 0.00000000 0.00000000 0.00000000 0.955826000 0.07870960 0.00000000 1.00000000 0.00000000 0.00000000 0.405197000 0.00964750 0.00000000 0.00000000 1.00000000 0.00000000 0.174100000 0.00011550 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.315000000 1.00000000 0.00000000 0.00000000 0.587000000 0.00000000 1.00000000 0.00000000 1.09400000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.501000000 1.00000000 0.00000000 1.10400000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.930300000 1.00000000 ergo-3.5/basis/Turbomole-TZVP0000664000175000017500000022622712743400275013054 00000000000000$ Basis = Turbomole-TZVP $ $ Supported Elements $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca $ Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr $ $ REFERENCE $ Elements References $ -------- ---------- $ Li - Kr: A. Schafer, C. Huber and R. Ahlrichs, J. Chem. Phys. 100, 5829 (1994). $*********************************************************************** a 1 $ HYDROGEN (5s) -> [3s] $ HYDROGEN (1p) $ S-TYPE FUNCTIONS 5 3 0 34.0613410 0.00602520 0.00000000 0.00000000 5.1235746 0.04502109 0.00000000 0.00000000 1.1646626 0.20189726 0.00000000 0.00000000 0.3272304 0.00000000 1.00000000 0.00000000 0.1030724 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.80000000 1.00000000 a 2 $ HELIUM (5s) -> [3s] $ HELIUM (1p) $ S-TYPE FUNCTIONS 5 3 0 98.0783216 0.00758031 0.00000000 0.00000000 14.7644042 0.05484862 0.00000000 0.00000000 3.3185831 0.22074382 0.00000000 0.00000000 0.8741387 0.00000000 1.00000000 0.00000000 0.2445990 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 3 $ LITHIUM (11s) -> [5s] $ LITHIUM (1p) $ S-TYPE FUNCTIONS 11 5 0 6269.26280100 0.00020541 0.00000000 0.00000000 0.00000000 0.00000000 940.31612430 0.00159166 0.00000000 0.00000000 0.00000000 0.00000000 214.22107530 0.00828698 0.00000000 0.00000000 0.00000000 0.00000000 60.75984018 0.03385637 0.00000000 0.00000000 0.00000000 0.00000000 19.91515203 0.11103226 0.00000000 0.00000000 0.00000000 0.00000000 7.31715098 0.27449383 0.00000000 0.00000000 0.00000000 0.00000000 2.97246742 0.00000000 0.23792456 0.00000000 0.00000000 0.00000000 1.26398523 0.00000000 0.30765412 0.00000000 0.00000000 0.00000000 0.51427490 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07703089 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02893890 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.17000000 1.00000000 a 4 $ BERYLLIUM (11s) -> [5s] $ BERYLLIUM (2p) $ S-TYPE FUNCTIONS 11 5 0 4700.23656300 0.00023584 0.00000000 0.00000000 0.00000000 0.00000000 704.82845620 0.00182438 0.00000000 0.00000000 0.00000000 0.00000000 160.43110480 0.00939661 0.00000000 0.00000000 0.00000000 0.00000000 45.42534734 0.03690892 0.00000000 0.00000000 0.00000000 0.00000000 14.79833412 0.10897561 0.00000000 0.00000000 0.00000000 0.00000000 5.35124525 0.21694285 0.00000000 0.00000000 0.00000000 0.00000000 2.15420448 0.00000000 0.44695409 0.00000000 0.00000000 0.00000000 0.93363744 0.00000000 0.20866986 0.00000000 0.00000000 0.00000000 0.18791433 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.74648268 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03265048 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 3.63169172 -0.02903400 0.00000000 0.71695694 -0.16877854 0.00000000 0.19541933 -0.51403420 0.00000000 0.60515466 0.00000000 1.00000000 a 5 $ BORON (11s,6p) -> [5s,3p] $ BORON (1d) $ S-TYPE FUNCTIONS 11 5 0 8564.86606900 0.00022837 0.00000000 0.00000000 0.00000000 0.00000000 1284.15162600 0.00176826 0.00000000 0.00000000 0.00000000 0.00000000 292.27871600 0.00914071 0.00000000 0.00000000 0.00000000 0.00000000 82.77546918 0.03634264 0.00000000 0.00000000 0.00000000 0.00000000 27.01793927 0.11063458 0.00000000 0.00000000 0.00000000 0.00000000 9.81496197 0.23367344 0.00000000 0.00000000 0.00000000 0.00000000 3.93185591 0.00000000 0.41818778 0.00000000 0.00000000 0.00000000 1.65955997 0.00000000 0.22325474 0.00000000 0.00000000 0.00000000 0.35762965 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14246278 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06056059 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 22.45387580 0.00502656 0.00000000 0.00000000 5.10450583 0.03280174 0.00000000 0.00000000 1.49860813 0.13151231 0.00000000 0.00000000 0.50927831 0.33197168 0.00000000 0.00000000 0.18147078 0.00000000 1.00000000 0.00000000 0.06462189 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.50000000 1.00000000 a 6 $ CARBON (11s,6p) -> [5s,3p] $ CARBON (1d) $ S-TYPE FUNCTIONS 11 5 0 13575.34968 0.00022246 0.00000000 0.00000000 0.00000000 0.00000000 2035.23336800 0.00172327 0.00000000 0.00000000 0.00000000 0.00000000 463.22562360 0.00892557 0.00000000 0.00000000 0.00000000 0.00000000 131.20019600 0.03572798 0.00000000 0.00000000 0.00000000 0.00000000 42.85301589 0.11076260 0.00000000 0.00000000 0.00000000 0.00000000 15.58418577 0.24295628 0.00000000 0.00000000 0.00000000 0.00000000 6.20671385 0.00000000 0.41440263 0.00000000 0.00000000 0.00000000 2.57648965 0.00000000 0.23744969 0.00000000 0.00000000 0.00000000 0.57696339 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.22972831 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09516444 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 34.69723224 0.00533337 0.00000000 0.00000000 7.95826228 0.03586411 0.00000000 0.00000000 2.37808269 0.14215873 0.00000000 0.00000000 0.81433208 0.34270472 0.00000000 0.00000000 0.28887547 0.00000000 1.00000000 0.00000000 0.10056824 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.80000000 1.00000000 a 7 $ NITROGEN (11s,6p) -> [5s,3p] $ NITROGEN (1d) $ S-TYPE FUNCTIONS 11 5 0 19730.80065 0.00021888 0.00000000 0.00000000 0.00000000 0.00000000 2957.89587500 0.00169607 0.00000000 0.00000000 0.00000000 0.00000000 673.22133600 0.00879546 0.00000000 0.00000000 0.00000000 0.00000000 190.68249490 0.03535938 0.00000000 0.00000000 0.00000000 0.00000000 62.29544190 0.11095789 0.00000000 0.00000000 0.00000000 0.00000000 22.65416118 0.24982973 0.00000000 0.00000000 0.00000000 0.00000000 8.97914774 0.00000000 0.40623896 0.00000000 0.00000000 0.00000000 3.68630024 0.00000000 0.24338217 0.00000000 0.00000000 0.00000000 0.84660077 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.33647134 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13647654 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 49.20038051 0.00555524 0.00000000 0.00000000 11.34679054 0.03805238 0.00000000 0.00000000 3.42739724 0.14953671 0.00000000 0.00000000 1.17855251 0.34949305 0.00000000 0.00000000 0.41642205 0.00000000 1.00000000 0.00000000 0.14260826 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 8 $ OXYGEN (11s,6p) -> [5s,3p] $ OXYGEN (1d) $ S-TYPE FUNCTIONS 11 5 0 27032.38263 0.00021726 0.00000000 0.00000000 0.00000000 0.00000000 4052.38713900 0.00168387 0.00000000 0.00000000 0.00000000 0.00000000 922.32722710 0.00873956 0.00000000 0.00000000 0.00000000 0.00000000 261.24070990 0.03523997 0.00000000 0.00000000 0.00000000 0.00000000 85.35464135 0.11153519 0.00000000 0.00000000 0.00000000 0.00000000 31.03503524 0.25588954 0.00000000 0.00000000 0.00000000 0.00000000 12.26086073 0.00000000 0.39768731 0.00000000 0.00000000 0.00000000 4.99870760 0.00000000 0.24627849 0.00000000 0.00000000 0.00000000 1.17031082 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.46474741 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.18504536 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 63.27495480 0.00606851 0.00000000 0.00000000 14.62704938 0.04191258 0.00000000 0.00000000 4.45012235 0.16153841 0.00000000 0.00000000 1.52757996 0.35706951 0.00000000 0.00000000 0.52935118 0.00000000 1.00000000 0.00000000 0.17478421 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.20000000 1.00000000 a 9 $ FLUORINE (11s,6p) -> [5s,3p] $ FLUORINE (1d) $ S-TYPE FUNCTIONS 11 5 0 35479.10044 0.00021545 0.00000000 0.00000000 0.00000000 0.00000000 5318.47289800 0.00167007 0.00000000 0.00000000 0.00000000 0.00000000 1210.48109800 0.00867332 0.00000000 0.00000000 0.00000000 0.00000000 342.85518140 0.03504993 0.00000000 0.00000000 0.00000000 0.00000000 112.01943180 0.11165320 0.00000000 0.00000000 0.00000000 0.00000000 40.71474025 0.25988507 0.00000000 0.00000000 0.00000000 0.00000000 16.03967811 0.00000000 0.39422967 0.00000000 0.00000000 0.00000000 6.50381867 0.00000000 0.24998239 0.00000000 0.00000000 0.00000000 1.54404775 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.61223453 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.24027980 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 80.23390048 0.00636860 0.00000000 0.00000000 18.59401074 0.04430314 0.00000000 0.00000000 5.68679026 0.16867249 0.00000000 0.00000000 1.95110063 0.36166346 0.00000000 0.00000000 0.66970211 0.00000000 1.00000000 0.00000000 0.21651300 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.40000000 1.00000000 a 10 $ NEON (11s,6p) -> [5s,3p] $ NEON (1d) $ S-TYPE FUNCTIONS 11 5 0 45069.46402 0.00021687 0.00000000 0.00000000 0.00000000 0.00000000 6755.97686600 0.00168127 0.00000000 0.00000000 0.00000000 0.00000000 1537.65028600 0.00873561 0.00000000 0.00000000 0.00000000 0.00000000 435.51697670 0.03536127 0.00000000 0.00000000 0.00000000 0.00000000 142.28655640 0.11321521 0.00000000 0.00000000 0.00000000 0.00000000 51.69215380 0.26654653 0.00000000 0.00000000 0.00000000 0.00000000 20.31587049 0.00000000 0.39631960 0.00000000 0.00000000 0.00000000 8.20219426 0.00000000 0.25582811 0.00000000 0.00000000 0.00000000 1.96812763 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.77904756 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.30229502 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 99.78299603 0.00655692 0.00000000 0.00000000 23.17612410 0.04588801 0.00000000 0.00000000 7.11639459 0.17331288 0.00000000 0.00000000 2.44187114 0.36475268 0.00000000 0.00000000 0.83389606 0.00000000 1.00000000 0.00000000 0.26607311 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.88800000 1.00000000 a 11 $ SODIUM (14s,6p) -> [5s,2p] $ SODIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 26041.10993 0.00061806 0.00000000 0.00000000 0.00000000 0.00000000 3906.12685500 0.00477486 0.00000000 0.00000000 0.00000000 0.00000000 888.97454990 0.02447168 0.00000000 0.00000000 0.00000000 0.00000000 251.45497960 0.09475539 0.00000000 0.00000000 0.00000000 0.00000000 81.65014351 0.26867497 0.00000000 0.00000000 0.00000000 0.00000000 28.90415840 0.47925475 0.00000000 0.00000000 0.00000000 0.00000000 10.62578293 0.33248591 0.00000000 0.00000000 0.00000000 0.00000000 53.76941018 0.00000000 0.01952773 0.00000000 0.00000000 0.00000000 16.30824302 0.00000000 0.09264801 0.00000000 0.00000000 0.00000000 2.37303841 0.00000000 -0.39938670 0.00000000 0.00000000 0.00000000 0.95730773 0.00000000 0.00000000 1.64285954 0.00000000 0.00000000 0.40806461 0.00000000 0.00000000 0.55692597 0.00000000 0.00000000 0.04996758 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01926862 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 138.07979990 0.00579519 0.00000000 0.00000000 32.23270039 0.04162085 0.00000000 0.00000000 9.98160754 0.16281917 0.00000000 0.00000000 3.48220339 0.36011785 0.00000000 0.00000000 1.22991346 0.44858980 0.00000000 0.00000000 0.41743959 0.00000000 1.00000000 0.00000000 0.52000000 0.00000000 0.00000000 1.00000000 a 12 $ MAGNESIUM (14s,6p) -> [5s,2p] $ MAGNESIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 31438.34955 0.00060912 0.00000000 0.00000000 0.00000000 0.00000000 4715.51533500 0.00470662 0.00000000 0.00000000 0.00000000 0.00000000 1073.16292500 0.02413582 0.00000000 0.00000000 0.00000000 0.00000000 303.57238770 0.09362896 0.00000000 0.00000000 0.00000000 0.00000000 98.62625104 0.26646742 0.00000000 0.00000000 0.00000000 0.00000000 34.94380842 0.47890930 0.00000000 0.00000000 0.00000000 0.00000000 12.85978520 0.33698490 0.00000000 0.00000000 0.00000000 0.00000000 64.87691300 0.00000000 0.01918089 0.00000000 0.00000000 0.00000000 19.72552078 0.00000000 0.09091370 0.00000000 0.00000000 0.00000000 2.89518043 0.00000000 -0.39563756 0.00000000 0.00000000 0.00000000 1.19604547 0.00000000 0.00000000 1.68276034 0.00000000 0.00000000 0.54329451 0.00000000 0.00000000 0.52141092 0.00000000 0.00000000 0.10099104 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03686573 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 179.87189610 0.00537995 0.00000000 0.00000000 42.12006938 0.03931801 0.00000000 0.00000000 13.12050303 0.15740129 0.00000000 0.00000000 4.62575036 0.35919094 0.00000000 0.00000000 1.66952110 0.45533379 0.00000000 0.00000000 0.58551012 0.00000000 1.00000000 0.00000000 0.18914796 0.00000000 0.00000000 1.00000000 a 13 $ ALUMINUM (14s,9p) -> [5s,4p] $ ALUMINUM (1d) $ S-TYPE FUNCTIONS 14 5 0 37792.55077 0.00057048 0.00000000 0.00000000 0.00000000 0.00000000 5668.06821700 0.00440930 0.00000000 0.00000000 0.00000000 0.00000000 1289.85828400 0.02263097 0.00000000 0.00000000 0.00000000 0.00000000 364.86596030 0.08802564 0.00000000 0.00000000 0.00000000 0.00000000 118.57631510 0.25223702 0.00000000 0.00000000 0.00000000 0.00000000 42.02486760 0.45960547 0.00000000 0.00000000 0.00000000 0.00000000 15.49950163 0.33277886 0.00000000 0.00000000 0.00000000 0.00000000 75.20802660 0.00000000 0.01925056 0.00000000 0.00000000 0.00000000 23.03140897 0.00000000 0.08790674 0.00000000 0.00000000 0.00000000 3.63487976 0.00000000 -0.34246705 0.00000000 0.00000000 0.00000000 1.60650500 0.00000000 0.00000000 1.51062661 0.00000000 0.00000000 0.76103395 0.00000000 0.00000000 0.58071016 0.00000000 0.00000000 0.16556709 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06004158 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 452.52303190 0.00231108 0.00000000 0.00000000 0.00000000 107.08195050 0.01856864 0.00000000 0.00000000 0.00000000 34.13102125 0.08721624 0.00000000 0.00000000 0.00000000 12.58703743 0.26902102 0.00000000 0.00000000 0.00000000 4.98119197 0.52128324 0.00000000 0.00000000 0.00000000 2.00703509 0.60271687 0.00000000 0.00000000 0.00000000 0.80083714 0.00000000 1.00000000 0.00000000 0.00000000 0.20178927 0.00000000 0.00000000 1.00000000 0.00000000 0.05789555 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.30000000 1.00000000 a 14 $ SILICON (14s,9p) -> [5s,4p] $ SILICON (1d) $ S-TYPE FUNCTIONS 14 5 0 44773.35808 0.00055915 0.00000000 0.00000000 0.00000000 0.00000000 6717.19921000 0.00432060 0.00000000 0.00000000 0.00000000 0.00000000 1528.89603200 0.02218710 0.00000000 0.00000000 0.00000000 0.00000000 432.54746590 0.08648925 0.00000000 0.00000000 0.00000000 0.00000000 140.61505230 0.24939890 0.00000000 0.00000000 0.00000000 0.00000000 49.85763672 0.46017197 0.00000000 0.00000000 0.00000000 0.00000000 18.43497489 0.34250237 0.00000000 0.00000000 0.00000000 0.00000000 86.53388611 0.00000000 0.02130006 0.00000000 0.00000000 0.00000000 26.62460685 0.00000000 0.09467614 0.00000000 0.00000000 0.00000000 4.49530572 0.00000000 -0.32616265 0.00000000 0.00000000 0.00000000 2.10350457 0.00000000 0.00000000 1.39808039 0.00000000 0.00000000 1.01060949 0.00000000 0.00000000 0.63865787 0.00000000 0.00000000 0.23701751 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08570341 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 394.47503630 0.00262857 0.00000000 0.00000000 0.00000000 93.13768310 0.02055626 0.00000000 0.00000000 0.00000000 29.51960874 0.09207026 0.00000000 0.00000000 0.00000000 10.78166379 0.25565890 0.00000000 0.00000000 0.00000000 4.16265748 0.42111707 0.00000000 0.00000000 0.00000000 1.62479730 0.34401746 0.00000000 0.00000000 0.00000000 0.54306660 0.00000000 1.00000000 0.00000000 0.00000000 0.20582074 0.00000000 0.00000000 1.00000000 0.00000000 0.07005349 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.35000000 1.00000000 a 15 $ PHOSPHORUS (14s,9p) -> [5s,4p] $ PHOSPHORUS (1d) $ S-TYPE FUNCTIONS 14 5 0 52426.99923 0.00055207 0.00000000 0.00000000 0.00000000 0.00000000 7863.26605500 0.00426786 0.00000000 0.00000000 0.00000000 0.00000000 1789.52273300 0.02193153 0.00000000 0.00000000 0.00000000 0.00000000 506.27300160 0.08566717 0.00000000 0.00000000 0.00000000 0.00000000 164.60698550 0.24840687 0.00000000 0.00000000 0.00000000 0.00000000 58.39191872 0.46336754 0.00000000 0.00000000 0.00000000 0.00000000 21.64366320 0.35350558 0.00000000 0.00000000 0.00000000 0.00000000 99.01383762 0.00000000 0.02189568 0.00000000 0.00000000 0.00000000 30.55043982 0.00000000 0.09565047 0.00000000 0.00000000 0.00000000 5.45370877 0.00000000 -0.29454270 0.00000000 0.00000000 0.00000000 2.65033626 0.00000000 0.00000000 1.32943812 0.00000000 0.00000000 1.27266889 0.00000000 0.00000000 0.66109396 0.00000000 0.00000000 0.31645005 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11417467 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 472.27219250 0.00257106 0.00000000 0.00000000 0.00000000 111.58882760 0.02025030 0.00000000 0.00000000 0.00000000 35.44593642 0.09158072 0.00000000 0.00000000 0.00000000 12.99077688 0.25749454 0.00000000 0.00000000 0.00000000 5.04862217 0.42862900 0.00000000 0.00000000 0.00000000 1.99340496 0.34359818 0.00000000 0.00000000 0.00000000 0.66527284 0.00000000 1.00000000 0.00000000 0.00000000 0.25516832 0.00000000 0.00000000 1.00000000 0.00000000 0.09035776 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.45000000 1.00000000 a 16 $ SULFUR (14s,9p) -> [5s,4p] $ SULFUR (1d) $ S-TYPE FUNCTIONS 14 5 0 60700.92810 0.00054696 0.00000000 0.00000000 0.00000000 0.00000000 9102.61068500 0.00422972 0.00000000 0.00000000 0.00000000 0.00000000 2071.41660100 0.02174782 0.00000000 0.00000000 0.00000000 0.00000000 586.02476820 0.08510005 0.00000000 0.00000000 0.00000000 0.00000000 190.55395020 0.24799128 0.00000000 0.00000000 0.00000000 0.00000000 67.63038426 0.46703640 0.00000000 0.00000000 0.00000000 0.00000000 25.12730691 0.36434588 0.00000000 0.00000000 0.00000000 0.00000000 112.57463010 0.00000000 0.02167004 0.00000000 0.00000000 0.00000000 34.79555422 0.00000000 0.09360230 0.00000000 0.00000000 0.00000000 6.51155562 0.00000000 -0.26068001 0.00000000 0.00000000 0.00000000 3.23990323 0.00000000 0.00000000 1.28420894 0.00000000 0.00000000 1.54771609 0.00000000 0.00000000 0.66036417 0.00000000 0.00000000 0.40541030 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14550651 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 564.36716030 0.00247968 0.00000000 0.00000000 0.00000000 133.42624380 0.01967793 0.00000000 0.00000000 0.00000000 42.46827119 0.08998001 0.00000000 0.00000000 0.00000000 15.61652758 0.25705881 0.00000000 0.00000000 0.00000000 6.10939885 0.43515167 0.00000000 0.00000000 0.00000000 2.44041602 0.34883241 0.00000000 0.00000000 0.00000000 0.83882201 0.00000000 1.00000000 0.00000000 0.00000000 0.31288747 0.00000000 0.00000000 1.00000000 0.00000000 0.10770109 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.55000000 1.00000000 a 17 $ CHLORINE (14s,9p) -> [5s,4p] $ CHLORINE (1d) $ S-TYPE FUNCTIONS 14 5 0 69507.99094 0.00054315 0.00000000 0.00000000 0.00000000 0.00000000 10426.15688 0.00419905 0.00000000 0.00000000 0.00000000 0.00000000 2373.23340600 0.02159214 0.00000000 0.00000000 0.00000000 0.00000000 671.56420070 0.08459885 0.00000000 0.00000000 0.00000000 0.00000000 218.41999790 0.24757250 0.00000000 0.00000000 0.00000000 0.00000000 77.57224971 0.47016930 0.00000000 0.00000000 0.00000000 0.00000000 28.88881528 0.37436371 0.00000000 0.00000000 0.00000000 0.00000000 127.10527180 0.00000000 0.02518217 0.00000000 0.00000000 0.00000000 39.33958296 0.00000000 0.10786112 0.00000000 0.00000000 0.00000000 7.67406800 0.00000000 -0.27408822 0.00000000 0.00000000 0.00000000 3.87456276 0.00000000 0.00000000 1.32138750 0.00000000 0.00000000 1.83858326 0.00000000 0.00000000 0.68636955 0.00000000 0.00000000 0.50229058 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.17962723 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 666.50423280 0.00236327 0.00000000 0.00000000 0.00000000 157.64241690 0.01887930 0.00000000 0.00000000 0.00000000 50.26252098 0.08720634 0.00000000 0.00000000 0.00000000 18.53607811 0.25285613 0.00000000 0.00000000 0.00000000 7.29405328 0.43507155 0.00000000 0.00000000 0.00000000 2.94332490 0.35026513 0.00000000 0.00000000 0.00000000 1.04049708 0.00000000 1.00000000 0.00000000 0.00000000 0.38456415 0.00000000 0.00000000 1.00000000 0.00000000 0.13069643 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.65000000 1.00000000 a 18 $ ARGON (14s,9p) -> [5s,4p] $ ARGON (1d) $ S-TYPE FUNCTIONS 14 5 0 79111.42300 0.00051029 0.00000000 0.00000000 0.00000000 0.00000000 11864.74601 0.00394630 0.00000000 0.00000000 0.00000000 0.00000000 2700.16429700 0.02030707 0.00000000 0.00000000 0.00000000 0.00000000 763.95943480 0.07969183 0.00000000 0.00000000 0.00000000 0.00000000 248.45150560 0.23420624 0.00000000 0.00000000 0.00000000 0.00000000 88.28358100 0.44833849 0.00000000 0.00000000 0.00000000 0.00000000 32.94860707 0.36408167 0.00000000 0.00000000 0.00000000 0.00000000 142.55358000 0.00000000 0.02638741 0.00000000 0.00000000 0.00000000 44.16368801 0.00000000 0.11226434 0.00000000 0.00000000 0.00000000 8.95249950 0.00000000 -0.26178922 0.00000000 0.00000000 0.00000000 4.55469209 0.00000000 0.00000000 1.30024850 0.00000000 0.00000000 2.14440790 0.00000000 0.00000000 0.67197237 0.00000000 0.00000000 0.60708777 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.21651432 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 776.77542000 0.00220280 0.00000000 0.00000000 0.00000000 183.80107020 0.01769418 0.00000000 0.00000000 0.00000000 58.69400317 0.08243129 0.00000000 0.00000000 0.00000000 21.70159170 0.24207279 0.00000000 0.00000000 0.00000000 8.58214896 0.42263558 0.00000000 0.00000000 0.00000000 3.49226792 0.34151806 0.00000000 0.00000000 0.00000000 1.26374270 0.00000000 1.00000000 0.00000000 0.00000000 0.46607870 0.00000000 0.00000000 1.00000000 0.00000000 0.15766003 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.96900000 1.00000000 a 19 $ POTASSIUM (17s,10p) -> [6s,3p] $ POTASSIUM (1p) $ S-TYPE FUNCTIONS 17 6 0 153976.18330 0.00023663 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23082.49767 0.00183429 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5253.23447500 0.00953105 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1486.95501300 0.03863841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 484.06333730 0.12480769 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 173.56653980 0.29278861 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 67.11638146 0.40633426 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.33950205 0.20077216 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 172.87693570 0.00000000 -0.02420096 0.00000000 0.00000000 0.00000000 0.00000000 53.05864906 0.00000000 -0.11553095 0.00000000 0.00000000 0.00000000 0.00000000 7.92127540 0.00000000 0.57455545 0.00000000 0.00000000 0.00000000 0.00000000 3.21088805 0.00000000 0.57023185 0.00000000 0.00000000 0.00000000 0.00000000 4.56620709 0.00000000 0.00000000 -0.22615763 0.00000000 0.00000000 0.00000000 0.70209907 0.00000000 0.00000000 0.75528392 0.00000000 0.00000000 0.00000000 0.28258943 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.03580582 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01581921 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 728.18449870 0.00261507 0.00000000 0.00000000 0.00000000 172.13265060 0.02067363 0.00000000 0.00000000 0.00000000 54.82984707 0.09320560 0.00000000 0.00000000 0.00000000 20.16626649 0.25436518 0.00000000 0.00000000 0.00000000 7.86107288 0.39131133 0.00000000 0.00000000 0.00000000 3.11052131 0.22481346 0.00000000 0.00000000 0.00000000 11.75733749 0.00000000 -0.02577729 0.00000000 0.00000000 1.51396174 0.00000000 0.57359429 0.00000000 0.00000000 0.58328592 0.00000000 1.07983200 0.00000000 0.00000000 0.21570478 0.00000000 0.00000000 1.00000000 0.00000000 0.41737000 0.00000000 0.00000000 0.00000000 1.00000000 a 20 $ CALCIUM (17s,10p) -> [6s,3p] $ CALCIUM (1p) $ S-TYPE FUNCTIONS 17 6 0 172517.32680 0.00023318 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25861.51927 0.00180765 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5885.66186700 0.00939438 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1665.97300300 0.03810841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 542.36718150 0.12331204 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 194.57803490 0.29004471 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.30359764 0.40587151 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 29.57406259 0.20398411 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 191.20074660 0.00000000 -0.02441976 0.00000000 0.00000000 0.00000000 0.00000000 58.84029988 0.00000000 -0.11547027 0.00000000 0.00000000 0.00000000 0.00000000 8.96425409 0.00000000 0.56356637 0.00000000 0.00000000 0.00000000 0.00000000 3.68569605 0.00000000 0.56709683 0.00000000 0.00000000 0.00000000 0.00000000 5.24642897 0.00000000 0.00000000 -0.22825334 0.00000000 0.00000000 0.00000000 0.84862622 0.00000000 0.00000000 0.72625219 0.00000000 0.00000000 0.00000000 0.36743301 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06682158 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02675973 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 836.97262060 0.00252583 0.00000000 0.00000000 0.0000000 197.93040140 0.02007651 0.00000000 0.00000000 0.0000000 63.13555805 0.09130299 0.00000000 0.00000000 0.0000000 23.28268717 0.25247030 0.00000000 0.00000000 0.0000000 9.11764449 0.39426326 0.00000000 0.00000000 0.0000000 3.63361201 0.23011559 0.00000000 0.00000000 0.0000000 13.49416312 0.00000000 -0.02649502 0.00000000 0.0000000 1.81392598 0.00000000 0.55088108 0.00000000 0.0000000 0.71981826 0.00000000 1.02806166 0.00000000 0.0000000 0.27629577 0.00000000 0.00000000 1.00000000 0.0000000 0.74979000 0.00000000 0.00000000 0.00000000 1.0000000 a 21 $ SCANDIUM (17s,10p,6d) -> [6s,3p,3d] $ SCANDIUM (1p) $ S-TYPE FUNCTIONS 17 6 0 191612.91870 0.00023076 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28723.85036 0.00178903 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6537.01164900 0.00929904 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1850.30971700 0.03773944 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 602.38855160 0.12227148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 216.17324770 0.28814821 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 83.71251788 0.40517543 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.90870719 0.20566020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 211.34393230 0.00000000 -0.02452799 0.00000000 0.00000000 0.00000000 0.00000000 65.12892014 0.00000000 -0.11570158 0.00000000 0.00000000 0.00000000 0.00000000 10.03431153 0.00000000 0.55995283 0.00000000 0.00000000 0.00000000 0.00000000 4.15968846 0.00000000 0.56087765 0.00000000 0.00000000 0.00000000 0.00000000 6.00090416 0.00000000 0.00000000 -0.22840494 0.00000000 0.00000000 0.00000000 0.98255784 0.00000000 0.00000000 0.71948970 0.00000000 0.00000000 0.00000000 0.42483193 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07718546 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03014722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 947.34122820 0.00247372 0.00000000 0.00000000 0.00000000 224.09699730 0.01974297 0.00000000 0.00000000 0.00000000 71.56033488 0.09035715 0.00000000 0.00000000 0.00000000 26.44482449 0.25201602 0.00000000 0.00000000 0.00000000 10.39379829 0.39675536 0.00000000 0.00000000 0.00000000 4.16063046 0.23208625 0.00000000 0.00000000 0.00000000 15.56573714 0.00000000 -0.02712942 0.00000000 0.00000000 2.11215449 0.00000000 0.55109257 0.00000000 0.00000000 0.84184709 0.00000000 1.00906358 0.00000000 0.00000000 0.32297543 0.00000000 0.00000000 1.00000000 0.00000000 0.89748000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 30.98939099 0.01190284 0.00000000 0.00000000 8.69054651 0.06765586 0.00000000 0.00000000 2.95202563 0.21332540 0.00000000 0.00000000 1.07619108 0.38391076 0.00000000 0.00000000 0.38338915 0.00000000 0.43354716 0.00000000 0.12534686 0.00000000 0.00000000 0.24509264 a 22 $ TITANIUM (17s,10p,6d) -> [6s,3p,3d] $ TITANIUM (1p) $ S-TYPE FUNCTIONS 17 6 0 211575.69030 0.00023318 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31714.94506 0.00180797 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7217.54765400 0.00939843 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2042.93942500 0.03815685 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 665.12896210 0.12374757 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 238.74942260 0.29208551 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 92.50869100 0.41226801 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 36.40391921 0.21090534 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 232.72624610 0.00000000 -0.02492014 0.00000000 0.00000000 0.00000000 0.00000000 71.79120971 0.00000000 -0.11746490 0.00000000 0.00000000 0.00000000 0.00000000 11.15853462 0.00000000 0.56503342 0.00000000 0.00000000 0.00000000 0.00000000 4.65481354 0.00000000 0.56211102 0.00000000 0.00000000 0.00000000 0.00000000 6.80346292 0.00000000 0.00000000 -0.23011425 0.00000000 0.00000000 0.00000000 1.12010764 0.00000000 0.00000000 0.72103187 0.00000000 0.00000000 0.00000000 0.48080119 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.08515727 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03265748 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1063.14747300 0.00246908 0.00000000 0.00000000 0.00000000 251.56507060 0.01977335 0.00000000 0.00000000 0.00000000 80.40855485 0.09098798 0.00000000 0.00000000 0.00000000 29.76819327 0.25559900 0.00000000 0.00000000 0.00000000 11.73683056 0.40489387 0.00000000 0.00000000 0.00000000 4.71423752 0.23693403 0.00000000 0.00000000 0.00000000 17.79680370 0.00000000 -0.02787864 0.00000000 0.00000000 2.42726987 0.00000000 0.55672915 0.00000000 0.00000000 0.96823446 0.00000000 1.00554473 0.00000000 0.00000000 0.37056694 0.00000000 0.00000000 1.00000000 0.00000000 0.10156100 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 37.71338472 0.01151384 0.00000000 0.00000000 10.69293118 0.06724634 0.00000000 0.00000000 3.67284470 0.21484208 0.00000000 0.00000000 1.35885903 0.38890893 0.00000000 0.00000000 0.49213295 0.00000000 0.43040835 0.00000000 0.16330521 0.00000000 0.00000000 0.23253305 a 23 $ VANADIUM (17s,10p,6d) -> [6s,3p,3d] $ VANADIUM (1p) $ S-TYPE FUNCTIONS 17 6 0 232340.65060 0.00023072 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34828.84117 0.00178882 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7926.54486900 0.00929925 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2243.77330500 0.03776146 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 730.59322940 0.12255910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 262.32219630 0.28963509 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 101.70403800 0.41004703 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 40.06478462 0.21113611 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 255.24014970 0.00000000 -0.02445812 0.00000000 0.00000000 0.00000000 0.00000000 78.80464696 0.00000000 -0.11527205 0.00000000 0.00000000 0.00000000 0.00000000 12.34059895 0.00000000 0.55174749 0.00000000 0.00000000 0.00000000 0.00000000 5.17420192 0.00000000 0.54504528 0.00000000 0.00000000 0.00000000 0.00000000 7.65138945 0.00000000 0.00000000 -0.22967638 0.00000000 0.00000000 0.00000000 1.26397599 0.00000000 0.00000000 0.71683769 0.00000000 0.00000000 0.00000000 0.53861762 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09271930 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03499806 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1184.23691500 0.00244498 0.00000000 0.00000000 0.00000000 280.23075190 0.01964345 0.00000000 0.00000000 0.00000000 89.64362714 0.09079695 0.00000000 0.00000000 0.00000000 33.24241125 0.25650768 0.00000000 0.00000000 0.00000000 13.14451445 0.40815394 0.00000000 0.00000000 0.00000000 5.29485341 0.23860378 0.00000000 0.00000000 0.00000000 20.17558685 0.00000000 -0.02824149 0.00000000 0.00000000 2.76058652 0.00000000 0.55574636 0.00000000 0.00000000 1.10089009 0.00000000 0.99319919 0.00000000 0.00000000 0.42013311 0.00000000 0.00000000 1.00000000 0.00000000 0.11124800 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 43.86113486 0.01148717 0.00000000 0.00000000 12.51602189 0.06824715 0.00000000 0.00000000 4.33138550 0.21837784 0.00000000 0.00000000 1.61388558 0.39245212 0.00000000 0.00000000 0.58749574 0.00000000 0.42634467 0.00000000 0.19515723 0.00000000 0.00000000 0.22646563 a 24 $ CHROMIUM (17s,10p,6d) -> [6s,3p,3d] $ CHROMIUM (1p) $ S-TYPE FUNCTIONS 17 6 0 254477.80700 0.00023387 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38131.79705 0.00181426 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8675.29306100 0.00943639 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2455.00998500 0.03834364 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 799.16217790 0.12459195 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 286.90021490 0.29489696 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 111.25413230 0.41846150 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.86415264 0.21633763 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 279.32669170 0.00000000 -0.02345091 0.00000000 0.00000000 0.00000000 0.00000000 86.27473238 0.00000000 -0.11080370 0.00000000 0.00000000 0.00000000 0.00000000 13.55575611 0.00000000 0.53028966 0.00000000 0.00000000 0.00000000 0.00000000 5.69781128 0.00000000 0.51603517 0.00000000 0.00000000 0.00000000 0.00000000 8.56365826 0.00000000 0.00000000 -0.38109546 0.00000000 0.00000000 0.00000000 1.39882968 0.00000000 0.00000000 1.19915914 0.00000000 0.00000000 0.00000000 0.57288171 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09009617 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03412589 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1306.43988600 0.00242773 0.00000000 0.00000000 0.00000000 309.25311440 0.01954404 0.00000000 0.00000000 0.00000000 98.99627396 0.09065179 0.00000000 0.00000000 0.00000000 36.75691645 0.25699279 0.00000000 0.00000000 0.00000000 14.56665708 0.40935505 0.00000000 0.00000000 0.00000000 5.87399374 0.23729389 0.00000000 0.00000000 0.00000000 22.89099970 0.00000000 -0.02816603 0.00000000 0.00000000 3.08550018 0.00000000 0.56034120 0.00000000 0.00000000 1.21323291 0.00000000 0.98119020 0.00000000 0.00000000 0.44931681 0.00000000 0.00000000 1.00000000 0.00000000 0.12067500 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 43.72007448 0.01362296 0.00000000 0.00000000 12.39124265 0.07893518 0.00000000 0.00000000 4.26394420 0.23833840 0.00000000 0.00000000 1.55252218 0.39526851 0.00000000 0.00000000 0.53761929 0.00000000 0.41061717 0.00000000 0.16493173 0.00000000 0.00000000 0.24440411 a 25 $ MANGANESE (17s,10p,6d) -> [6s,3p,3d] $ MANGANESE (1p) $ S-TYPE FUNCTIONS 17 6 0 277185.00150 0.00022838 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 41550.76989 0.00177077 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9455.97001500 0.00920772 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2676.52064800 0.03741597 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 871.46687530 0.12164861 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 312.98306420 0.28824393 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 121.44454050 0.41041601 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 47.92259883 0.21372375 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 303.66723160 0.00000000 -0.02458993 0.00000000 0.00000000 0.00000000 0.00000000 93.88140319 0.00000000 -0.11602608 0.00000000 0.00000000 0.00000000 0.00000000 14.87942121 0.00000000 0.55112060 0.00000000 0.00000000 0.00000000 0.00000000 6.28652008 0.00000000 0.53707561 0.00000000 0.00000000 0.00000000 0.00000000 9.48585913 0.00000000 0.00000000 -0.22889263 0.00000000 0.00000000 0.00000000 1.56987062 0.00000000 0.00000000 0.71196170 0.00000000 0.00000000 0.00000000 0.65903214 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10686292 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03926744 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1444.79781800 0.00239941 0.00000000 0.00000000 0.00000000 342.06551200 0.01936929 0.00000000 0.00000000 0.00000000 109.58400890 0.09023611 0.00000000 0.00000000 0.00000000 40.74798817 0.25745468 0.00000000 0.00000000 0.00000000 16.18862657 0.41272352 0.00000000 0.00000000 0.00000000 6.54845060 0.24087700 0.00000000 0.00000000 0.00000000 25.35708644 0.00000000 -0.02870717 0.00000000 0.00000000 3.48301688 0.00000000 0.55208101 0.00000000 0.00000000 1.38588009 0.00000000 0.97226901 0.00000000 0.00000000 0.52555095 0.00000000 0.00000000 1.00000000 0.00000000 0.12765000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 56.56318912 0.01154325 0.00000000 0.00000000 16.27873471 0.07029985 0.00000000 0.00000000 5.69642739 0.22450771 0.00000000 0.00000000 2.14111479 0.39703065 0.00000000 0.00000000 0.78291802 0.00000000 0.41941039 0.00000000 0.25952311 0.00000000 0.00000000 0.21887262 a 26 $ IRON (17s,10p,6d) -> [6s,3p,3d] $ IRON (1p) $ S-TYPE FUNCTIONS 17 6 0 300784.84640 0.00022806 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 45088.97056 0.00176818 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10262.51632 0.00919271 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2905.28972900 0.03735550 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 946.11487140 0.12151108 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 339.87832890 0.28818881 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 131.94425590 0.41126613 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52.11149408 0.21518584 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 329.48839270 0.00000000 -0.02474522 0.00000000 0.00000000 0.00000000 0.00000000 101.92332740 0.00000000 -0.11683089 0.00000000 0.00000000 0.00000000 0.00000000 16.24046274 0.00000000 0.55293621 0.00000000 0.00000000 0.00000000 0.00000000 6.88406758 0.00000000 0.53601640 0.00000000 0.00000000 0.00000000 0.00000000 10.47069378 0.00000000 0.00000000 -0.22912709 0.00000000 0.00000000 0.00000000 1.73600397 0.00000000 0.00000000 0.71159320 0.00000000 0.00000000 0.00000000 0.72577289 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11595528 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04196823 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1585.39599700 0.00237940 0.00000000 0.00000000 0.00000000 375.38006500 0.01925315 0.00000000 0.00000000 0.00000000 120.31816500 0.09002184 0.00000000 0.00000000 0.00000000 44.78874903 0.25798172 0.00000000 0.00000000 0.00000000 17.82927858 0.41492650 0.00000000 0.00000000 0.00000000 7.22471538 0.24207475 0.00000000 0.00000000 0.00000000 28.14321976 0.00000000 -0.02904176 0.00000000 0.00000000 3.87432414 0.00000000 0.55312260 0.00000000 0.00000000 1.54107523 0.00000000 0.96771137 0.00000000 0.00000000 0.58285615 0.00000000 0.00000000 1.00000000 0.00000000 0.13491500 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 61.99667503 0.01197197 0.00000000 0.00000000 17.87373255 0.07321014 0.00000000 0.00000000 6.27447829 0.23103094 0.00000000 0.00000000 2.35523372 0.39910706 0.00000000 0.00000000 0.85432240 0.00000000 0.41391590 0.00000000 0.27869254 0.00000000 0.00000000 0.21909270 a 27 $ COBALT (17s,10p,6d) -> [6s,3p,3d] $ COBALT (1p) $ S-TYPE FUNCTIONS 17 6 0 325817.01550 0.00022568 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 48839.63645 0.00174994 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11114.93731 0.00910031 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3146.16036400 0.03699626 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1024.43784600 0.12044270 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 368.02508820 0.28598732 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142.91229210 0.40908312 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56.48264921 0.21500146 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 356.40298320 0.00000000 -0.02476706 0.00000000 0.00000000 0.00000000 0.00000000 110.31165220 0.00000000 -0.11702139 0.00000000 0.00000000 0.00000000 0.00000000 17.65963483 0.00000000 0.55215522 0.00000000 0.00000000 0.00000000 0.00000000 7.50590305 0.00000000 0.53246877 0.00000000 0.00000000 0.00000000 0.00000000 11.50180718 0.00000000 0.00000000 -0.22942470 0.00000000 0.00000000 0.00000000 1.90819946 0.00000000 0.00000000 0.71180934 0.00000000 0.00000000 0.00000000 0.79396697 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12444449 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04444465 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1731.13691400 0.00239058 0.00000000 0.00000000 0.00000000 409.91750440 0.01938300 0.00000000 0.00000000 0.00000000 131.45648580 0.09090545 0.00000000 0.00000000 0.00000000 48.98743971 0.26146682 0.00000000 0.00000000 0.00000000 19.53707899 0.42157265 0.00000000 0.00000000 0.00000000 7.92872816 0.24571814 0.00000000 0.00000000 0.00000000 31.07601758 0.00000000 -0.02943807 0.00000000 0.00000000 4.28351807 0.00000000 0.55615568 0.00000000 0.00000000 1.70229216 0.00000000 0.96772195 0.00000000 0.00000000 0.64202909 0.00000000 0.00000000 1.00000000 0.00000000 0.14130800 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 68.14074524 0.01198385 0.00000000 0.00000000 19.68524102 0.07368854 0.00000000 0.00000000 6.93221288 0.23085497 0.00000000 0.00000000 2.60251257 0.39281059 0.00000000 0.00000000 0.94016837 0.00000000 0.40203412 0.00000000 0.30381458 0.00000000 0.00000000 0.21415607 a 28 $ NICKEL (17s,10p,6d) -> [6s,3p,3d] $ NICKEL (1p) $ S-TYPE FUNCTIONS 17 6 0 351535.72940 0.00022529 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52695.80928 0.00174686 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11992.46829 0.00908500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3394.57766900 0.03694075 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1105.35945800 0.12032820 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 397.14677770 0.28596715 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 154.27542970 0.40983020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 61.01872378 0.21620643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 384.45559740 0.00000000 -0.02465128 0.00000000 0.00000000 0.00000000 0.00000000 119.04879200 0.00000000 -0.11658505 0.00000000 0.00000000 0.00000000 0.00000000 19.13701222 0.00000000 0.54864127 0.00000000 0.00000000 0.00000000 0.00000000 8.15267186 0.00000000 0.52640051 0.00000000 0.00000000 0.00000000 0.00000000 12.57940864 0.00000000 0.00000000 -0.22797884 0.00000000 0.00000000 0.00000000 2.08708661 0.00000000 0.00000000 0.70703738 0.00000000 0.00000000 0.00000000 0.86432569 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13283169 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04684533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1883.09074900 0.00237483 0.00000000 0.00000000 0.00000000 445.95155320 0.01928946 0.00000000 0.00000000 0.00000000 143.08430820 0.09071821 0.00000000 0.00000000 0.00000000 53.37292072 0.26181414 0.00000000 0.00000000 0.00000000 21.32191936 0.42309150 0.00000000 0.00000000 0.00000000 8.66435620 0.24641686 0.00000000 0.00000000 0.00000000 34.14425521 0.00000000 -0.02967713 0.00000000 0.00000000 4.71224559 0.00000000 0.55616824 0.00000000 0.00000000 1.87092319 0.00000000 0.96357766 0.00000000 0.00000000 0.70370016 0.00000000 0.00000000 1.00000000 0.00000000 0.14658800 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 74.59160347 0.01207745 0.00000000 0.00000000 21.59063275 0.07463726 0.00000000 0.00000000 7.62461426 0.23236776 0.00000000 0.00000000 2.86322068 0.39042652 0.00000000 0.00000000 1.03110634 0.00000000 0.39509499 0.00000000 0.33060761 0.00000000 0.00000000 0.21138769 a 29 $ COPPER (17s,10p,6d) -> [6s,3p,3d] $ COPPER (1p) $ S-TYPE FUNCTIONS 17 6 0 377518.79920 0.00022812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56589.98431 0.00176880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12878.71171 0.00919935 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3645.37521400 0.03741102 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1187.00729400 0.12189874 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 426.46421900 0.28983901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 165.70660160 0.41531872 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 65.59894271 0.21905799 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 414.41265810 0.00000000 -0.02468253 0.00000000 0.00000000 0.00000000 0.00000000 128.32056040 0.00000000 -0.11716827 0.00000000 0.00000000 0.00000000 0.00000000 20.62208975 0.00000000 0.55301316 0.00000000 0.00000000 0.00000000 0.00000000 8.78212260 0.00000000 0.52242719 0.00000000 0.00000000 0.00000000 0.00000000 13.74137201 0.00000000 0.00000000 -0.22736062 0.00000000 0.00000000 0.00000000 2.24312468 0.00000000 0.00000000 0.71761211 0.00000000 0.00000000 0.00000000 0.89370549 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10836700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03880618 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 2034.75966900 0.00235248 0.00000000 0.00000000 0.00000000 481.90468110 0.01913407 0.00000000 0.00000000 0.00000000 154.67482960 0.09017111 0.00000000 0.00000000 0.00000000 57.74057697 0.26063285 0.00000000 0.00000000 0.00000000 23.09905281 0.42093486 0.00000000 0.00000000 0.00000000 9.38824786 0.24344615 0.00000000 0.00000000 0.00000000 37.59617121 0.00000000 -0.02899109 0.00000000 0.00000000 5.12406908 0.00000000 0.54919084 0.00000000 0.00000000 2.01199961 0.00000000 0.93793330 0.00000000 0.00000000 0.73860686 0.00000000 0.00000000 1.00000000 0.00000000 0.15506500 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 74.12946064 0.01436322 0.00000000 0.00000000 21.35984259 0.08662818 0.00000000 0.00000000 7.49952405 0.25631431 0.00000000 0.00000000 2.76013942 0.40374062 0.00000000 0.00000000 0.95362061 0.00000000 0.39427042 0.00000000 0.28420863 0.00000000 0.00000000 0.23091147 a 30 $ ZINC (17s,10p,6d) -> [6s,3p,3d] $ ZINC (1p) $ S-TYPE FUNCTIONS 17 6 0 405924.31030 0.00022442 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 60846.95574 0.00174021 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13847.34309 0.00905133 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3919.61585500 0.03681734 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1276.35941700 0.12004850 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 458.67254440 0.28576058 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 178.28725250 0.41087462 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 70.61219284 0.21816962 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 443.88077950 0.00000000 -0.02493427 0.00000000 0.00000000 0.00000000 0.00000000 137.55875270 0.00000000 -0.11817956 0.00000000 0.00000000 0.00000000 0.00000000 22.26808348 0.00000000 0.55367318 0.00000000 0.00000000 0.00000000 0.00000000 9.52173106 0.00000000 0.52628935 0.00000000 0.00000000 0.00000000 0.00000000 14.87411407 0.00000000 0.00000000 -0.22929955 0.00000000 0.00000000 0.00000000 2.46475176 0.00000000 0.00000000 0.71135485 0.00000000 0.00000000 0.00000000 1.01132722 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14919852 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05144187 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 2205.35085300 0.00233562 0.00000000 0.00000000 0.00000000 522.35300700 0.01903102 0.00000000 0.00000000 0.00000000 167.73055540 0.08995576 0.00000000 0.00000000 0.00000000 62.67004537 0.26113249 0.00000000 0.00000000 0.00000000 25.10974946 0.42348448 0.00000000 0.00000000 0.00000000 10.22514268 0.24618927 0.00000000 0.00000000 0.00000000 40.71344252 0.00000000 -0.03002967 0.00000000 0.00000000 5.62470907 0.00000000 0.55575255 0.00000000 0.00000000 2.22799491 0.00000000 0.95581013 0.00000000 0.00000000 0.83354742 0.00000000 0.00000000 1.00000000 0.00000000 0.16245500 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 88.55431531 0.01272817 0.00000000 0.00000000 25.72152556 0.07939450 0.00000000 0.00000000 9.12783676 0.24491507 0.00000000 0.00000000 3.43123641 0.40390526 0.00000000 0.00000000 1.23089206 0.00000000 0.40158491 0.00000000 0.39031845 0.00000000 0.00000000 0.21579805 a 31 $ GALLIUM (17s,12p,6p) -> [6s,5p,2d] $ GALLIUM (1d) $ S-TYPE FUNCTIONS 17 6 0 435548.66250 0.00023646 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 65289.58903 0.00183353 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14858.78426 0.00953719 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4205.97347300 0.03880341 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1369.64164300 0.12661605 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 492.30348900 0.30175310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 191.41923230 0.43543934 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.84055867 0.23282364 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 474.30810610 0.00000000 -0.02674371 0.00000000 0.00000000 0.00000000 0.00000000 147.10297560 0.00000000 -0.12654658 0.00000000 0.00000000 0.00000000 0.00000000 23.98259943 0.00000000 0.58840347 0.00000000 0.00000000 0.00000000 0.00000000 10.29823009 0.00000000 0.56324272 0.00000000 0.00000000 0.00000000 0.00000000 16.05038143 0.00000000 0.00000000 -0.24516440 0.00000000 0.00000000 0.00000000 2.69884688 0.00000000 0.00000000 0.74578050 0.00000000 0.00000000 0.00000000 1.14285887 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.20217652 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07198015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 2432.01710700 0.00224341 0.00000000 0.00000000 0.00000000 0.00000000 576.12049580 0.01834227 0.00000000 0.00000000 0.00000000 0.00000000 185.11584350 0.08727970 0.00000000 0.00000000 0.00000000 0.00000000 69.24657256 0.25684868 0.00000000 0.00000000 0.00000000 0.00000000 27.81810778 0.42398378 0.00000000 0.00000000 0.00000000 0.00000000 11.42022994 0.25701340 0.00000000 0.00000000 0.00000000 0.00000000 42.81966153 0.00000000 -0.01932652 0.00000000 0.00000000 0.00000000 6.38859010 0.00000000 0.31571387 0.00000000 0.00000000 0.00000000 2.66989933 0.00000000 0.57617793 0.00000000 0.00000000 0.00000000 1.07817838 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.22796559 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06283623 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 3 0 103.92331830 0.01146461 0.00000000 0.00000000 30.37109439 0.07362575 0.00000000 0.00000000 10.87207810 0.23505107 0.00000000 0.00000000 4.15491379 0.40318564 0.00000000 0.00000000 1.53456591 0.40824748 0.00000000 0.00000000 0.51114264 0.00000000 0.20502439 0.00000000 0.20700000 0.00000000 0.00000000 1.00000000 a 32 $ GERMANIUM (17s,12p,6p) -> [6s,5p,2d] $ GERMANIUM (1d) $ S-TYPE FUNCTIONS 17 6 0 466115.00590 0.00022487 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 69875.42076 0.00174354 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15903.27672 0.00906915 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4501.82334500 0.03690617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1466.05709200 0.12050168 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 527.07841730 0.28748642 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 205.00395070 0.41622322 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 81.25159607 0.22397846 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 505.74661280 0.00000000 -0.02518461 0.00000000 0.00000000 0.00000000 0.00000000 156.96593740 0.00000000 -0.11898930 0.00000000 0.00000000 0.00000000 0.00000000 25.76144818 0.00000000 0.54930136 0.00000000 0.00000000 0.00000000 0.00000000 11.10665469 0.00000000 0.52939309 0.00000000 0.00000000 0.00000000 0.00000000 17.27205910 0.00000000 0.00000000 -0.22854596 0.00000000 0.00000000 0.00000000 2.94382891 0.00000000 0.00000000 0.68377930 0.00000000 0.00000000 0.00000000 1.28391649 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.25873337 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09352491 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 2633.93462400 0.00221439 0.00000000 0.00000000 0.00000000 0.00000000 624.00161630 0.01814090 0.00000000 0.00000000 0.00000000 0.00000000 200.58528400 0.08663218 0.00000000 0.00000000 0.00000000 0.00000000 75.09708153 0.25649021 0.00000000 0.00000000 0.00000000 0.00000000 30.21438847 0.42658611 0.00000000 0.00000000 0.00000000 0.00000000 12.44008757 0.26200527 0.00000000 0.00000000 0.00000000 0.00000000 45.98131600 0.00000000 -0.02032177 0.00000000 0.00000000 0.00000000 6.99456544 0.00000000 0.32013745 0.00000000 0.00000000 0.00000000 2.96860013 0.00000000 0.59051015 0.00000000 0.00000000 0.00000000 1.23209885 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.28981615 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08556461 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 3 0 119.44887580 0.01058654 0.00000000 0.00000000 35.06291529 0.06960128 0.00000000 0.00000000 12.63692453 0.22807035 0.00000000 0.00000000 4.88886729 0.40301067 0.00000000 0.00000000 1.84531954 0.41304847 0.00000000 0.00000000 0.63571159 0.00000000 0.19639210 0.00000000 0.24600000 0.00000000 0.00000000 1.00000000 a 33 $ ARSENIC (17s,13p,6p) -> [6s,5p,2d] $ ARSENIC (1d) $ S-TYPE FUNCTIONS 17 6 0 498032.42160 0.00022740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 74656.86874 0.00176328 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16990.96000 0.00917280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4809.62003200 0.03733783 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1566.28870600 0.12199536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 563.21360500 0.29137475 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 219.11179980 0.42326351 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 86.86606103 0.22921464 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 538.19512480 0.00000000 -0.02525420 0.00000000 0.00000000 0.00000000 0.00000000 167.14850220 0.00000000 -0.11915461 0.00000000 0.00000000 0.00000000 0.00000000 27.60551716 0.00000000 0.54628496 0.00000000 0.00000000 0.00000000 0.00000000 11.94785852 0.00000000 0.53001521 0.00000000 0.00000000 0.00000000 0.00000000 18.53802313 0.00000000 0.00000000 -0.23479188 0.00000000 0.00000000 0.00000000 3.20189857 0.00000000 0.00000000 0.69167053 0.00000000 0.00000000 0.00000000 1.43565221 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.31837805 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11622632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 2678.94215500 0.00233190 0.00000000 0.00000000 0.00000000 0.00000000 634.61765840 0.01904215 0.00000000 0.00000000 0.00000000 0.00000000 203.93967610 0.09022974 0.00000000 0.00000000 0.00000000 0.00000000 76.32389037 0.26169038 0.00000000 0.00000000 0.00000000 0.00000000 30.66412494 0.41857168 0.00000000 0.00000000 0.00000000 0.00000000 12.50505673 0.23447830 0.00000000 0.00000000 0.00000000 0.00000000 49.25622955 0.00000000 -0.02123554 0.00000000 0.00000000 0.00000000 7.72748915 0.00000000 0.30470207 0.00000000 0.00000000 0.00000000 3.54104935 0.00000000 0.52888373 0.00000000 0.00000000 0.00000000 1.69855855 0.00000000 0.37272251 0.00000000 0.00000000 0.00000000 0.76848071 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.30050823 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09819064 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 3 0 135.33289310 0.00992911 0.00000000 0.00000000 39.86021274 0.06656884 0.00000000 0.00000000 14.44642836 0.22275768 0.00000000 0.00000000 5.64329004 0.40309224 0.00000000 0.00000000 2.16681886 0.41671668 0.00000000 0.00000000 0.76514971 0.00000000 0.18935502 0.00000000 0.29300000 0.00000000 0.00000000 1.00000000 a 34 $ SELENIUM (17s,13p,6p) -> [6s,5p,2d] $ SELENIUM (1d) $ S-TYPE FUNCTIONS 17 6 0 531071.66700 0.00024109 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 79603.04412 0.00186964 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18115.84424 0.00972716 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5127.89231900 0.03960479 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1669.91308400 0.12948855 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 600.57534530 0.30959437 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 233.70021250 0.45115769 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 92.67244393 0.24579189 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 571.57513680 0.00000000 -0.02689571 0.00000000 0.00000000 0.00000000 0.00000000 177.63686370 0.00000000 -0.12670989 0.00000000 0.00000000 0.00000000 0.00000000 29.51776705 0.00000000 0.57699002 0.00000000 0.00000000 0.00000000 0.00000000 12.82439979 0.00000000 0.56369075 0.00000000 0.00000000 0.00000000 0.00000000 19.84823584 0.00000000 0.00000000 -0.25132416 0.00000000 0.00000000 0.00000000 3.47440185 0.00000000 0.00000000 0.72905417 0.00000000 0.00000000 0.00000000 1.59889108 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.38333469 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14049742 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 2815.35005700 0.00255690 0.00000000 0.00000000 0.00000000 0.00000000 666.92558300 0.02087403 0.00000000 0.00000000 0.00000000 0.00000000 214.34213190 0.09877210 0.00000000 0.00000000 0.00000000 0.00000000 80.24668794 0.28471821 0.00000000 0.00000000 0.00000000 0.00000000 32.25108129 0.45003585 0.00000000 0.00000000 0.00000000 0.00000000 13.10643256 0.24416091 0.00000000 0.00000000 0.00000000 0.00000000 53.36610852 0.00000000 -0.02155846 0.00000000 0.00000000 0.00000000 8.18277772 0.00000000 0.32662311 0.00000000 0.00000000 0.00000000 3.62399457 0.00000000 0.57740499 0.00000000 0.00000000 0.00000000 1.63415914 0.00000000 0.34301321 0.00000000 0.00000000 0.00000000 0.58418320 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.23966269 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08878513 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 3 0 151.82910280 0.00939703 0.00000000 0.00000000 44.83999252 0.06408650 0.00000000 0.00000000 16.32899951 0.21834238 0.00000000 0.00000000 6.43050576 0.40314790 0.00000000 0.00000000 2.50480252 0.41966491 0.00000000 0.00000000 0.90271148 0.00000000 0.18366663 0.00000000 0.33800000 0.00000000 0.00000000 1.00000000 a 35 $ BROMINE (17s,13p,6p) -> [6s,5p,2d] $ BROMINE (1d) $ S-TYPE FUNCTIONS 17 6 0 565073.25260 0.00023660 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 84701.72318 0.00183483 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19276.27190 0.00954658 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5456.42845800 0.03887714 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1776.95035000 0.12718314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 639.19398280 0.30437662 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 248.78823960 0.44490940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 98.67830549 0.24381643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 606.07824570 0.00000000 -0.02652716 0.00000000 0.00000000 0.00000000 0.00000000 188.45598480 0.00000000 -0.12484585 0.00000000 0.00000000 0.00000000 0.00000000 31.49714451 0.00000000 0.56468684 0.00000000 0.00000000 0.00000000 0.00000000 13.73600832 0.00000000 0.55555269 0.00000000 0.00000000 0.00000000 0.00000000 21.20321277 0.00000000 0.00000000 -0.24940920 0.00000000 0.00000000 0.00000000 3.76164202 0.00000000 0.00000000 0.71213120 0.00000000 0.00000000 0.00000000 1.77359340 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.45197414 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.16613377 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 3019.69557200 0.00249710 0.00000000 0.00000000 0.00000000 0.00000000 715.35481130 0.02041927 0.00000000 0.00000000 0.00000000 0.00000000 229.98328750 0.09689715 0.00000000 0.00000000 0.00000000 0.00000000 86.16784462 0.28053901 0.00000000 0.00000000 0.00000000 0.00000000 34.66787080 0.44606390 0.00000000 0.00000000 0.00000000 0.00000000 14.11387031 0.24410074 0.00000000 0.00000000 0.00000000 0.00000000 57.08565308 0.00000000 -0.02185595 0.00000000 0.00000000 0.00000000 8.81938458 0.00000000 0.32707075 0.00000000 0.00000000 0.00000000 3.93403029 0.00000000 0.57855230 0.00000000 0.00000000 0.00000000 1.79988304 0.00000000 0.33570988 0.00000000 0.00000000 0.00000000 0.66899411 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.27136238 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10083790 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 3 0 168.85370260 0.00896640 0.00000000 0.00000000 49.97794992 0.06206206 0.00000000 0.00000000 18.27491334 0.21474732 0.00000000 0.00000000 7.24556946 0.40335337 0.00000000 0.00000000 2.85623150 0.42208813 0.00000000 0.00000000 1.04596211 0.00000000 0.17874813 0.00000000 0.38900000 0.00000000 0.00000000 1.00000000 a 36 $ KRYPTON (17s,13p,6p) -> [6s,5p,2d] $ KRYPTON (1d) $ S-TYPE FUNCTIONS 17 6 0 600250.97570 0.00023741 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 89976.65078 0.00184102 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20476.81422 0.00957956 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5796.15540800 0.03902065 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1887.59132000 0.12772646 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 679.11458520 0.30596521 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 264.38244510 0.44857474 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 104.88368570 0.24722957 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 641.47370760 0.00000000 -0.02674528 0.00000000 0.00000000 0.00000000 0.00000000 199.57524820 0.00000000 -0.12571123 0.00000000 0.00000000 0.00000000 0.00000000 33.54546295 0.00000000 0.56483736 0.00000000 0.00000000 0.00000000 0.00000000 14.68395514 0.00000000 0.55972766 0.00000000 0.00000000 0.00000000 0.00000000 22.60310186 0.00000000 0.00000000 -0.25298772 0.00000000 0.00000000 0.00000000 4.06506830 0.00000000 0.00000000 0.70992160 0.00000000 0.00000000 0.00000000 1.96110271 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.52465148 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.19332400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 3232.95896100 0.00248856 0.00000000 0.00000000 0.00000000 0.00000000 765.96442690 0.02037901 0.00000000 0.00000000 0.00000000 0.00000000 246.33940810 0.09697719 0.00000000 0.00000000 0.00000000 0.00000000 92.36528304 0.28199961 0.00000000 0.00000000 0.00000000 0.00000000 37.19950955 0.45116254 0.00000000 0.00000000 0.00000000 0.00000000 15.17216653 0.24917132 0.00000000 0.00000000 0.00000000 0.00000000 60.93132170 0.00000000 -0.02217360 0.00000000 0.00000000 0.00000000 9.47926007 0.00000000 0.32838463 0.00000000 0.00000000 0.00000000 4.25646863 0.00000000 0.58124997 0.00000000 0.00000000 0.00000000 1.97293138 0.00000000 0.32863542 0.00000000 0.00000000 0.00000000 0.76337109 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.30943626 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11569704 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 3 0 186.41760900 0.00861203 0.00000000 0.00000000 55.27412435 0.06039441 0.00000000 0.00000000 20.28321912 0.21181332 0.00000000 0.00000000 8.08845370 0.40366293 0.00000000 0.00000000 3.22140338 0.42402861 0.00000000 0.00000000 1.19521701 0.00000000 0.17441742 0.00000000 0.44300000 0.00000000 0.00000000 1.00000000 $END OF BASIS ergo-3.5/basis/japrtano0000775000175000017500000004541612743400275012123 00000000000000a 1 * s-type ANO's (max 6 functions can be used) 8 6 402.0099 60.24196 13.73217 3.904505 1.282709 0.465544 0.181120 0.072791 -0.000242 -0.000356 -0.000419 0.000341 0.000368 0.010923 -0.001776 -0.001274 -0.003615 -0.019538 0.004725 -0.111092 -0.009897 -0.018493 -0.017507 0.051377 0.069466 1.457387 -0.034765 -0.017519 -0.163684 -1.320052 0.730300 -2.092976 -0.121376 -0.457431 -1.177592 1.740413 -2.044682 1.863476 -0.220777 -0.322280 1.845239 -0.668402 3.031953 -1.367516 -0.190184 0.578838 -0.711784 -0.499035 -2.923384 0.808727 -0.050657 0.118148 -0.171249 0.542970 1.399653 -0.281226 * p-type ANO's (max 4 functions can be used) 6 4 9.88 3.95 1.58 0.63 0.25 0.10 0.003085 -0.017351 0.003736 -0.016538 0.002969 0.021253 -0.274218 1.305613 0.083876 -0.552816 -0.774419 -1.815533 0.325133 -0.152899 1.369931 1.147340 0.189603 0.524846 -0.735683 -0.239754 0.017708 0.014111 -0.022704 -0.174089 * d-type ANO's (max 3 functions can be used) 4 3 4.00 1.60 0.64 0.26 0.001265 -0.033799 0.394173 -0.159915 -0.659229 0.299118 -0.382208 0.215745 -0.895843 -0.100487 0.321384 0.678222 * f-type ANO's (max 3 functions can be used) 3 2 2.50 1.00 0.40 -0.040897 -0.266290 -0.261579 -0.127005 -0.104000 0.308426 a 2 * s-type ANO's (max 7 functions can be used) 10 4 4840.8886 723.10892 164.29971 46.636262 15.277787 5.526897 2.132879 0.849674 0.343643 0.138709 0.000060 -0.000088 0.000127 0.000240 0.000464 -0.000687 0.001141 0.000766 0.002430 -0.003622 0.005028 0.013179 0.010031 -0.015501 0.030242 0.019825 0.034417 -0.060347 0.135043 0.572206 0.097129 -0.234521 0.842550 1.040777 0.213086 -0.604942 0.146941 -3.133634 0.344343 -0.221018 -1.737074 2.343859 0.349800 0.719938 0.613038 0.084874 0.122949 0.351682 0.550535 -0.795778 * p-type ANO's (max 4 functions can be used) 6 3 9.88 3.95 1.58 0.63 0.25 0.10 -0.022610 0.104419 -0.501232 -0.109536 0.586409 -0.813575 -0.438032 0.476857 1.583776 -0.472732 -0.769859 -0.468456 -0.099658 -0.235622 -0.505267 -0.000936 -0.004542 0.026841 * d-type ANO's (max 3 functions can be used) 4 2 4.74 1.90 0.76 0.30 -0.142182 0.732344 -0.530245 0.286329 -0.437889 -0.774218 -0.043336 -0.116380 * f-type ANO's (max 3 functions can be used) 3 1 3.60 1.44 0.58 0.391830 0.617814 0.146011 a 3 * s-type ANO's (max 7 functions can be used) 14 5 9497.9344 1416.8112 321.45994 91.124163 29.999891 11.017631 4.372801 1.831256 0.802261 0.362648 0.113995 0.051237 0.022468 0.007860 0.000106 0.000017 -0.000008 0.000026 -0.000021 0.000825 0.000136 -0.000062 0.000162 -0.000185 0.004328 0.000715 -0.000328 0.001184 -0.000807 0.017820 0.002949 -0.001344 0.003041 -0.004295 0.059877 0.010048 -0.004634 0.018977 -0.010734 0.162269 0.027891 -0.012789 0.021893 -0.048022 0.338376 0.061900 -0.029078 0.157101 -0.065236 0.505903 0.106172 -0.050306 -0.030982 -0.203415 0.428846 0.147411 -0.067773 0.682350 -0.271518 0.123023 0.123504 -0.121547 -0.470313 0.717004 0.003837 -0.253606 0.924407 -3.462195 -0.628776 -0.001059 -0.626693 -0.298116 2.876940 1.522387 -0.000031 -0.289615 -0.716545 -0.044998 -0.123112 0.000134 -0.006455 -0.006817 -0.292442 -0.495551 * p-type ANO's (max 6 functions can be used) 9 3 13.119504 3.077424 1.098800 0.435778 0.180243 0.076133 0.032546 0.014018 0.004906 -0.001579 0.000299 -0.003987 -0.007259 0.033445 0.008599 -0.024535 -0.044572 -0.192430 -0.024711 0.622325 -0.116427 -0.255509 -1.128491 2.204738 -0.650967 0.321334 -1.701415 -0.221829 0.622920 0.813280 -0.008684 -0.049354 -0.317161 0.001829 0.003149 0.097014 * d-type ANO's (max 4 functions can be used) 4 2 0.450000 0.157500 0.055125 0.019294 0.175772 -0.125000 -0.863208 1.771198 -0.641060 -1.656373 0.104046 0.238643 * f-type ANO's (max 3 functions can be used) 3 2 0.240000 0.096000 0.038400 0.296071 -1.721365 1.134682 1.176213 -0.121545 0.082800 a 4 * s-type ANO's (max 7 functions can be used) 12 6 11781.69 1760.98 398.404 111.638 35.8247 12.7216 4.87486 1.967869 0.830394 0.258705 0.106756 0.043102 0.000120 -0.000023 -0.000029 -0.001156 -0.002422 -0.018354 0.000939 -0.000180 -0.000233 0.000817 0.010849 0.082350 0.004954 -0.000948 -0.001192 0.001374 -0.046734 -0.286873 0.020707 -0.004023 -0.005219 0.010166 0.048105 0.877298 0.070917 -0.013928 -0.017636 0.015825 0.013857 -2.477205 0.186345 -0.039102 -0.052472 0.140474 0.248480 4.615450 0.351342 -0.081609 -0.105272 -0.003591 -0.012397 -3.615509 0.381197 -0.135583 -0.205691 0.877544 1.397963 0.467284 0.137804 -0.097432 -0.120877 -1.262957 -3.703580 0.952885 0.004371 0.292973 1.441874 -1.194416 4.906569 -0.964278 -0.000417 0.619529 -0.230672 3.146666 -4.370736 0.702000 0.000050 0.225843 -1.007825 -1.944813 1.754137 -0.245880 * p-type ANO's (max 7 functions can be used) 7 5 4.95 1.98 0.79 0.32 0.13 0.05 0.02 0.012746 -0.009580 -0.056271 -0.106650 -0.113028 0.021455 -0.010486 -0.040699 -0.272584 0.304315 0.087012 -0.032140 -0.549217 -1.249293 -1.029368 0.195912 -0.475775 -0.727116 2.330344 2.208196 0.352944 -0.555577 1.422138 -1.476230 -3.156290 0.410016 0.671209 -0.260547 0.041780 3.252569 0.170807 0.419823 -0.399147 0.440812 -1.849004 * d-type ANO's (max 4 functions can be used) 4 3 0.95 0.38 0.15 0.06 0.022839 -0.086620 -0.566187 0.213684 1.075511 -0.477258 0.507574 -0.200477 1.507491 0.424650 -0.627215 -1.099033 * f-type ANO's (max 3 functions can be used) 3 2 0.72 0.29 0.12 0.097110 -0.580388 0.613874 -0.485019 0.424524 0.940739 a 5 * s-type ANO's (max 7 functions can be used) 13 6 46535.63 6970.783 1586.432 449.3104 146.5617 52.88387 20.55825 8.434628 3.607517 1.567314 0.459387 0.183777 0.072352 0.000038 0.000007 -0.000010 -0.000016 -0.000028 0.000029 0.000299 0.000058 -0.000078 -0.000085 -0.000133 0.000693 0.001568 0.000304 -0.000425 -0.000733 -0.001334 0.000071 0.006562 0.001265 -0.001687 -0.001500 -0.002115 0.020573 0.023191 0.004571 -0.006494 -0.012664 -0.024103 -0.012861 0.069777 0.013873 -0.018372 -0.011885 -0.017269 0.363355 0.171617 0.036846 -0.054677 -0.130981 -0.281773 -0.119089 0.319974 0.075570 -0.098844 -0.000911 0.091928 2.465489 0.375777 0.131180 -0.221627 -0.743566 -1.661949 -5.556509 0.182544 0.104066 -0.108733 0.880546 3.748251 4.567951 0.007889 -0.294875 1.367300 1.594506 -4.367124 -2.562676 -0.009326 -0.595194 -0.160536 -3.362576 3.721124 1.623226 -0.002376 -0.252468 -1.010456 1.999860 -1.457942 -0.527045 * p-type ANO's (max 7 functions can be used) 8 5 69.07083 16.31631 5.115536 1.821835 0.713452 0.292123 0.121145 0.049631 0.000788 -0.000678 -0.002128 0.004295 0.011496 0.006054 -0.004642 -0.021376 0.045542 -0.010438 0.026815 -0.019109 -0.085740 0.227155 0.599025 0.087676 -0.023670 -0.442491 1.203824 0.053560 0.229915 -0.448901 -0.792860 -1.781172 -1.748119 0.392825 -0.555594 1.273422 0.555181 3.139656 0.359187 0.675672 0.068690 0.839504 -3.126050 0.126706 0.489832 -0.643520 -0.866332 1.578352 * d-type ANO's (max 4 functions can be used) 6 4 4.94 1.98 0.79 0.32 0.13 0.05 0.004947 0.001242 -0.033289 -0.038632 0.021163 0.029549 0.497184 -1.447720 0.228432 -0.852441 0.701245 1.917518 0.554002 -0.056274 -1.563531 -1.379675 0.335849 0.792354 0.938483 0.428678 0.031559 0.052314 0.134316 0.261590 * f-type ANO's (max 3 functions can be used) 4 3 2.37 0.95 0.38 0.15 -0.000633 0.023422 -0.313171 0.268522 -0.976011 -0.650011 0.656988 0.302812 1.383574 0.236174 0.585953 -1.121513 * g-type ANO's (max 3 functions can be used) 2 2 1.14 0.46 0.022612 -0.091817 0.061839 0.071538 a 6 * s-type ANO's (max 7 functions can be used) 13 6 50557.50 7524.786 1694.328 472.8228 151.7108 53.91875 20.65931 8.383976 3.577015 1.547118 0.613013 0.246068 0.099087 -0.000055 0.000012 0.000015 -0.000021 0.000027 -0.000040 -0.000434 0.000093 0.000113 -0.000150 0.000243 -0.000570 -0.002316 0.000499 0.000619 -0.000927 0.001060 -0.001121 -0.009872 0.002130 0.002573 -0.003293 0.006084 -0.015785 -0.035217 0.007730 0.009710 -0.015280 0.015497 -0.012418 -0.104184 0.023564 0.028622 -0.036183 0.084167 -0.282874 -0.241255 0.059522 0.078407 -0.141529 0.129583 -0.019967 -0.383929 0.114336 0.140868 -0.158337 0.535215 -2.125622 -0.308219 0.152281 0.257204 -0.619878 0.140466 6.175862 -0.068528 0.015144 -0.145945 1.629238 -3.383581 -7.110109 -0.000830 -0.377171 -1.280769 0.368621 5.478225 5.217532 -0.000782 -0.544696 0.305096 -2.658179 -4.600523 -2.923407 0.000040 -0.211886 0.939557 1.838912 1.860274 0.936853 * p-type ANO's (max 7 functions can be used) 8 5 83.33316 19.55761 6.080365 2.179317 0.865150 0.361944 0.154740 0.065429 0.001259 -0.001428 -0.003397 -0.008253 0.019686 0.009684 -0.012110 -0.034897 -0.046337 0.016115 0.042925 -0.043938 -0.145801 -0.453318 1.171267 0.135075 -0.171555 -0.714105 -0.845806 -1.580720 0.287774 -0.607195 -0.144719 2.234981 0.519955 0.381931 -0.112436 1.338070 -1.756407 1.226166 0.295700 0.705975 -0.515613 0.104481 -2.187095 0.089427 0.294633 -0.424749 0.589521 1.384334 * d-type ANO's (max 4 functions can be used) 6 4 7.12 2.85 1.14 0.46 0.18 0.07 0.006043 -0.002257 0.042283 0.084316 0.032352 -0.081426 -0.651129 1.356715 0.268056 -0.881600 -0.356793 -1.994430 0.562915 0.189866 1.392676 1.557349 0.294757 0.677395 -1.042108 -0.598329 0.018572 0.016009 -0.047233 -0.184022 * f-type ANO's (max 3 functions can be used) 4 3 3.42 1.37 0.55 0.22 -0.008675 0.057745 -0.432952 -0.317713 0.971363 -0.415984 -0.648192 -0.455924 1.257485 -0.187225 -0.494937 -1.143525 * 6-type ANO's (max 3 functions can be used) 2 2 1.64 0.66 0.220774 -0.770108 0.502049 0.624304 a 7 * s-type ANO's (max 7 functions can be used) 13 7 74761.72 11123.65 2512.606 703.7773 225.4788 79.61581 30.23728 12.26362 5.265086 2.333471 0.901856 0.358336 0.141093 0.000050 0.000011 -0.000013 0.000019 -0.000025 -0.000033 -0.000131 0.000394 0.000087 -0.000100 0.000138 -0.000221 -0.000541 -0.000184 0.002088 0.000463 -0.000542 0.000849 -0.001007 -0.000742 -0.007546 0.008906 0.001978 -0.002261 0.002991 -0.005289 -0.015386 0.002794 0.032081 0.007244 -0.008565 0.014071 -0.015614 -0.004564 -0.178796 0.097424 0.022646 -0.026014 0.033713 -0.071498 -0.267164 -0.118342 0.231729 0.058698 -0.072216 0.135285 -0.145627 0.036575 -2.443853 0.377539 0.114577 -0.133809 0.158603 -0.480543 -2.412452 6.245076 0.318623 0.154472 -0.239453 0.619725 -0.434521 6.610249 -7.144969 0.082577 0.023770 0.077495 -1.372277 3.661473 -7.177798 5.026206 0.003102 -0.365365 1.180491 -0.847886 -5.397434 4.899109 -2.629398 0.000537 -0.539098 -0.051204 2.899050 4.313270 -2.664395 1.257226 0.000084 -0.236162 -1.073742 -1.827273 -1.675101 0.830628 -0.367332 * p-type ANO's (max 7 functions can be used) 8 6 126.6666 29.83739 9.394038 3.405104 1.350000 0.557696 0.232449 0.094264 0.001159 -0.001540 -0.002930 0.006370 0.016787 -0.020603 0.009076 -0.012751 -0.032040 0.044259 0.006963 -0.098569 0.041064 -0.054415 -0.130084 0.359974 0.991038 -1.301735 0.130854 -0.195989 -0.657283 0.966381 -0.980747 2.767153 0.281167 -0.572394 -0.230598 -2.125519 -0.390120 -3.506876 0.379448 -0.120855 1.350351 1.362075 2.015321 3.454804 0.308450 0.679781 -0.465995 0.263671 -2.561992 -2.596861 0.100219 0.302652 -0.472457 -0.727179 1.466303 1.145473 * d-type ANO's (max 4 functions can be used) 6 4 9.88 3.95 1.58 0.63 0.25 0.10 -0.007589 0.006939 0.039283 0.128928 -0.039471 0.138131 -0.692647 1.272238 -0.295252 0.840380 -0.237645 -1.961786 -0.557248 -0.233511 1.334879 1.567147 -0.267442 -0.645342 -1.063286 -0.598965 -0.022549 -0.024803 -0.041841 -0.201487 * f-type ANO's (max 3 functions can be used) 4 3 4.74 1.90 0.76 0.30 -0.015633 0.098551 0.492500 -0.331439 0.940625 0.309226 -0.641922 -0.477682 -1.169423 -0.179149 -0.478952 1.113987 * g-type ANO's (max 3 functions can be used) 2 2 2.28 0.91 -0.101690 0.336555 -0.218289 -0.275608 a 8 * s-type ANO's (max 7 functions can be used) 13 7 105374.9 15679.24 3534.545 987.3652 315.9788 111.6543 42.69945 17.39560 7.438309 3.222862 1.253877 0.495155 0.191665 -0.000046 0.000010 -0.000013 -0.000018 0.000023 0.000026 0.000129 -0.000361 0.000082 -0.000099 -0.000124 0.000201 0.000516 0.000027 -0.001920 0.000438 -0.000538 -0.000819 0.000892 0.000403 0.007865 -0.008206 0.001875 -0.002249 -0.002651 0.005000 0.015059 -0.009599 -0.029725 0.006909 -0.008573 -0.013902 0.013048 -0.003270 0.191970 -0.090452 0.021587 -0.026009 -0.028890 0.068218 0.260354 -0.043431 -0.217402 0.056473 -0.072913 -0.137142 0.114918 -0.135262 2.801105 -0.368720 0.113245 -0.139884 -0.128323 0.512689 2.658107 -6.419555 -0.337277 0.160700 -0.260578 -0.717294 0.423285 -6.650689 6.878289 -0.096808 0.033672 0.072981 1.553181 -3.643658 7.068165 -4.702919 -0.002669 -0.360244 1.285286 0.573748 5.381736 -4.851176 2.483820 -0.001198 -0.547066 -0.224648 -2.684091 -4.301668 2.615665 -1.173045 0.000031 -0.238532 -0.966820 1.772327 1.689285 -0.817695 0.341451 * p-type ANO's (max 7 functions can be used) 8 7 200.0000 46.53337 14.62181 5.313066 2.102525 0.850223 0.337597 0.128892 -0.000897 -0.001170 0.001820 0.002565 -0.007372 -0.026649 -0.013432 -0.007402 -0.009536 0.020119 0.037524 -0.021925 -0.002598 -1.546402 -0.035085 -0.046191 0.082495 0.147452 -0.449390 -1.714852 1.941010 -0.115793 -0.154755 0.422031 0.976999 -0.688819 2.942558 -1.610567 -0.258867 -0.487739 0.587292 -0.989148 2.469487 -2.908694 1.124692 -0.372168 -0.273960 -1.080478 -0.585557 -3.196815 2.131058 -0.671122 -0.336295 0.566424 -0.229096 1.671555 2.537771 -1.198052 0.327161 -0.140077 0.460619 0.823293 -1.142214 -1.112723 0.423892 -0.104336 * d-type ANO's (max 4 functions can be used) 6 6 12.65 5.06 2.02 0.81 0.32 0.13 0.009119 -0.006998 0.018186 -0.132136 0.667008 -1.475098 0.049617 -0.179980 -0.703947 -1.233690 -0.430212 1.972610 0.330495 -0.796089 -0.166310 1.948541 -0.301021 -1.746423 0.551857 0.279497 1.251742 -1.534615 1.079226 1.468037 0.230948 0.624143 -0.998267 0.514617 -1.708159 -1.239308 0.019148 0.044391 -0.094737 0.271449 1.428845 0.762431 * f-type ANO's (max 3 functions can be used) 4 4 6.07 2.43 0.97 0.39 0.024630 0.134170 -0.527960 1.299856 0.330576 0.843333 -0.321989 -1.640751 0.602600 -0.315933 1.208772 1.307868 0.230568 -0.580666 -1.074977 -0.674416 * g-type ANO's (max 3 functions can be used) 2 2 3.11 1.24 0.206885 -0.769523 0.514253 0.608696 a 9 * s-type ANO's (max 7 functions can be used) 13 5 103109.5 15281.01 3441.539 967.0948 314.0353 113.4423 44.64473 18.94287 8.532743 3.919401 1.568157 0.623290 0.240861 -0.000064 0.000015 0.000019 0.000026 -0.000029 -0.000503 0.000117 0.000145 0.000180 -0.000292 -0.002668 0.000621 0.000783 0.001159 -0.001044 -0.011200 0.002616 0.003236 0.003783 -0.007517 -0.039097 0.009306 0.011877 0.018861 -0.012561 -0.112263 0.027721 0.034513 0.037668 -0.102506 -0.247199 0.067355 0.090200 0.171226 -0.058826 -0.368004 0.122466 0.157367 0.124901 -0.835659 -0.290863 0.151291 0.271584 0.828972 0.383816 -0.078165 0.007970 -0.175650 -2.097659 2.923816 -0.003566 -0.371551 -1.330309 0.189516 -5.174471 -0.000828 -0.541431 0.429562 2.177270 4.409498 -0.000099 -0.224182 0.847667 -1.640569 -1.809366 * p-type ANO's (max 7 functions can be used) 8 4 245.3303 56.91901 17.60457 6.274995 2.447030 0.995060 0.403973 0.154810 0.000991 -0.001341 0.001951 -0.003529 0.008313 -0.011638 0.023985 -0.036530 0.040851 -0.056092 0.094178 -0.214649 0.135691 -0.208630 0.546877 -1.030307 0.281048 -0.532629 0.395190 1.592455 0.360529 -0.137046 -1.269725 -0.321087 0.314310 0.598996 0.179966 -1.096566 0.132717 0.375471 0.644577 1.002414 * d-type ANO's (max 4 functions can be used) 6 3 16.01 6.40 2.56 1.02 0.41 0.16 -0.010626 -0.009184 0.009537 -0.055418 -0.211056 -0.748953 -0.354098 -0.776653 -0.050937 -0.545329 0.327502 1.193008 -0.207019 0.595853 -1.026690 -0.020040 0.047261 -0.073271 * f-type ANO's (max 3 functions can be used) 4 2 7.68 3.07 1.23 0.49 0.027929 0.170267 0.352296 0.822597 0.601979 -0.365360 0.204756 -0.556483 * g-type ANO's (max 3 functions can be used) 2 1 3.69 1.48 0.242250 0.484800 a 10 * s-type ANO's (max 7 functions can be used) 13 5 166165.1 23107.52 5060.154 1384.612 436.5126 153.4715 59.38909 24.86197 11.01570 4.965175 1.936503 0.765728 0.295538 -0.000047 0.000011 0.000014 0.000020 0.000020 -0.000401 0.000094 0.000118 0.000145 0.000233 -0.002193 0.000518 0.000664 0.000986 0.000773 -0.009588 0.002266 0.002819 0.003257 0.006368 -0.035074 0.008454 0.010980 0.017425 0.010250 -0.104652 0.026049 0.032457 0.034769 0.092651 -0.237715 0.065296 0.089380 0.168618 0.046375 -0.369603 0.122338 0.155650 0.121079 0.809354 -0.306176 0.158177 0.294009 0.892687 -0.351813 -0.084181 0.006805 -0.205604 -2.266433 -2.760272 -0.003726 -0.384026 -1.358461 0.503499 4.996421 -0.000906 -0.536453 0.538444 1.900048 -4.433914 -0.000097 -0.215301 0.779587 -1.557561 1.881727 * p-type ANO's (max 7 functions can be used) 8 4 234.9450 55.07739 17.38955 6.389537 2.542082 1.033764 0.418788 0.164627 0.001583 0.002212 0.003426 0.007793 0.012576 0.018574 0.036509 0.040782 0.056998 0.081483 0.144993 0.439186 0.168176 0.293860 0.739066 0.773263 0.307218 0.540769 -0.121854 -2.139612 0.359320 -0.095210 -1.203908 1.673826 0.277782 -0.607276 0.637119 -0.078819 0.095940 -0.246871 0.370506 -0.596945 * d-type ANO's (max 4 functions can be used) 6 3 19.76 7.91 3.16 1.26 0.51 0.20 0.011914 0.011580 -0.003903 0.061798 0.234597 0.786085 0.370852 0.759752 -0.040908 0.537473 -0.363052 -1.133020 0.191842 -0.574924 1.028387 0.020017 -0.049291 0.062378 * f-type ANO's (max 3 functions can be used) 4 2 9.49 3.79 1.52 0.61 0.026660 -0.208206 0.387758 -0.797617 0.608593 0.436453 0.149002 0.521925 * g-type ANO's (max 3 functions can be used) 2 1 4.55 1.82 -0.251480 -0.477401 ************************************************************************ ergo-3.5/basis/Sadlej-pVTZ-J0000664000175000017500000003363412743400275012533 00000000000000$Basis = Sadlej-pVTZ-J {previously sad-J} $Elements supported $H C N O S $ $ REFERENCE P. F. Provasi, G. A. Aucar and S. P. A. Sauer, J. Chem. Phys. 115, 1324 (2001) $ A. J. Sadlej, Coll. Czech. Chem. Commun. 53,1995 (1988). $ A. J. Sadlej, Theor. Chim. Acta 79, 123 (1991). $ ************************************************************************ a 1 $ HYDROGEN (10s,4p) -> [6s,4p] $ S-TYPE FUNCTIONS 10 6 0 64369.360000 0.4290D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9735.731200 0.3152D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1472.509000 0.00004345 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 222.713910 0.0003685 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 33.685014 0.004744 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.094788 0.03714 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.158786 0.1561 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.325840 0.2850 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.102741 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.032400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 4 0 1.158800 1.00000000 0.00000000 0.00000000 0.00000000 0.325800 0.00000000 1.00000000 0.00000000 0.00000000 0.102700 0.00000000 0.00000000 1.00000000 0.00000000 0.032400 0.00000000 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (14s,5p,4d) -> [9s,5p,4d] $ S-TYPE FUNCTIONS 14 9 0 10559364.0000 0.7243D-07 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1576065.70000 0.5439D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 235239.830000 0.7599D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35111.339000 0.00006578 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5240.635300 0.0008644 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 782.204800 0.007289 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 178.350830 0.03624 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 50.815942 0.1306 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.823562 0.3185 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.175776 0.4379 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.418049 0.2150 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.511900 0.01366 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.156590 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.047900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 5 0 18.841800 0.009572 0.00000000 0.00000000 0.00000000 0.00000000 4.159240 0.05688 0.00000000 0.00000000 0.00000000 0.00000000 1.206710 0.1904 1.00000000 0.00000000 0.00000000 0.00000000 0.385540 0.3126 0.00000000 1.00000000 0.00000000 0.00000000 0.121940 0.000000 0.00000000 0.00000000 1.00000000 0.00000000 0.038568 0.000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.206710 1.00000000 0.00000000 0.00000000 0.00000000 0.385540 0.00000000 1.00000000 0.00000000 0.00000000 0.121940 0.00000000 0.00000000 1.00000000 0.00000000 0.038658 0.00000000 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (14s,5p,2d) -> [9s,5p,4d] $ S-TYPE FUNCTIONS 14 9 0 15986424.0000 0.64613D-07 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2398773.90000 0.4664D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 359937.660000 0.6681D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54008.894000 0.00005595 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8104.071600 0.0007481 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1216.021500 0.006131 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 277.234280 0.03202 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 76.904023 0.1176 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.874419 0.2934 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.346767 0.4510 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.579794 0.2422 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.739610 0.01667 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.222617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.067006 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 5 0 26.868987 0.01025 0.00000000 0.00000000 0.00000000 0.00000000 5.991227 0.06293 0.00000000 0.00000000 0.00000000 0.00000000 1.750842 0.2029 1.00000000 0.00000000 0.00000000 0.00000000 0.560511 0.3292 0.00000000 1.00000000 0.00000000 0.00000000 0.175948 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.055231 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.750842 1.00000000 0.00000000 0.00000000 0.00000000 0.560511 0.00000000 1.00000000 0.00000000 0.00000000 0.175948 0.00000000 0.00000000 1.00000000 0.00000000 0.055231 0.00000000 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (14s,5p,4d) -> [9s,5p,4d] $ S-TYPE FUNCTIONS 14 9 0 21041985.0000 0.6340D-07 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3157022.00000 0.4746D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 473661.950000 0.6562D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71065.594000 0.00005664 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10662.285000 0.0007370 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1599.709700 0.006210 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 364.725260 0.03108 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 103.651790 0.1157 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 33.905805 0.3012 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.287469 0.4453 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.756805 0.2421 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.004271 0.01646 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.300686 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.090030 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 5 0 34.856463 0.01170 0.00000000 0.00000000 0.00000000 0.00000000 7.843131 0.07193 0.00000000 0.00000000 0.00000000 0.00000000 2.306249 0.2251 1.00000000 0.00000000 0.00000000 0.00000000 0.723164 0.3590 0.00000000 1.00000000 0.00000000 0.00000000 0.214882 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.063850 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 2.306200 1.00000000 0.00000000 0.00000000 0.00000000 0.723200 0.00000000 1.00000000 0.00000000 0.00000000 0.214900 0.00000000 0.00000000 1.00000000 0.00000000 0.063900 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (17s,10p,6d) -> [9s,7p,6d] $ S-TYPE FUNCTIONS 17 9 0 255547377.0000 0.1678D-07 -0.4654D-08 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35889284.00000 0.1332D-06 -0.3655D-07 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5040320.700000 0.2069D-05 -0.5736D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 707866.8100000 0.00001879 -0.5162D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 99413.40000000 0.0002739 -0.00007591 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13961.70000000 0.002435 -0.0006702 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3169.90000000 0.01231 -0.003451 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 902.46000000 0.04909 -0.01382 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 297.16000000 0.1509 -0.04600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.70200000 0.3319 -0.1127 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.15500000 0.4085 -0.2054 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.10800000 0.1856 -0.09117 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.57050000 0.01241 0.5311 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.14270000 -0.001590 0.5853 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.43400000 0.0 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.15700000 0.0 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05680000 0.0 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 7 0 495.04000000 0.003123 -0.0007635 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 117.22000000 0.02425 -0.005903 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.50700000 0.1061 -0.02676 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.91000000 0.2830 -0.07236 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.50450000 0.4394 -0.1225 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.24330000 0.3139 -0.07018 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.77620000 0.04541 0.2614 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.29190000 0.0 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10290000 0.0 0.0 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03630000 0.0 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 5.4885000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.0640000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.7762000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2919000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1029000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0363000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/Ahlrichs-VDZ0000775000175000017500000012502512743400275012476 00000000000000$Basis = Ahlrichs VDZ $Elements supported $H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu $Zn Ga Ge As Se Br Kr $ $ REFERENCE $ Elements References -------- $ ---------- H - Kr: A. Schafer, H. Horn and R. Ahlrichs, J. Chem. Phys $ . 97, 2571 (1992). a 1 $ HYDROGEN (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 13.0107010 0.01968216 0.00000000 1.9622572 0.13796524 0.00000000 0.4445380 0.47831935 0.00000000 0.1219496 0.00000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 38.3549367 0.02381429 0.00000000 5.7689081 0.15490907 0.00000000 1.2399407 0.46998097 0.00000000 0.2975782 0.00000000 1.00000000 a 3 $ LITHIUM (7s) -> [3s] $ S-TYPE FUNCTIONS 7 3 0 266.2778552 0.00649202 0.00000000 0.00000000 40.0697834 0.04774786 0.00000000 0.00000000 9.0559944 0.20268796 0.00000000 0.00000000 2.4503009 0.48606575 0.00000000 0.00000000 0.7220957 0.43626978 0.00000000 0.00000000 0.0528109 0.00000000 1.00000000 0.00000000 0.0209609 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (7s) -> [3s] $ S-TYPE FUNCTIONS 7 3 0 515.1861613 0.00556153 0.00000000 0.00000000 77.5110376 0.04119007 0.00000000 0.00000000 17.5524817 0.17913378 0.00000000 0.00000000 4.8028941 0.44736716 0.00000000 0.00000000 1.4516214 0.42009582 0.00000000 0.00000000 0.1328163 0.00000000 1.00000000 0.00000000 0.0458374 0.00000000 0.00000000 1.00000000 a 5 $ BORON (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 839.3183009 -0.00559292 0.00000000 0.00000000 126.2646484 -0.04156552 0.00000000 0.00000000 28.6206008 -0.18299817 0.00000000 0.00000000 7.8793723 -0.46540392 0.00000000 0.00000000 2.4088857 -0.44173885 0.00000000 0.00000000 0.2510511 0.00000000 1.00000000 0.00000000 0.0836489 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 6.0332224 -0.03560367 0.00000000 1.2499158 -0.19895776 0.00000000 0.3387168 -0.50850203 0.00000000 0.0964156 0.00000000 1.00000000 a 6 $ CARBON (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 1238.4016938 0.00545688 0.00000000 0.00000000 186.2900499 0.04063841 0.00000000 0.00000000 42.2511763 0.18025594 0.00000000 0.00000000 11.6765579 0.46315122 0.00000000 0.00000000 3.5930506 0.44087173 0.00000000 0.00000000 0.4024515 0.00000000 1.00000000 0.00000000 0.1309018 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 9.4680971 0.03838787 0.00000000 2.0103545 0.21117025 0.00000000 0.5477100 0.51328172 0.00000000 0.1526861 0.00000000 1.00000000 a 7 $ NITROGEN (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 1712.8415853 -0.00539341 0.00000000 0.00000000 257.6481268 -0.04022158 0.00000000 0.00000000 58.4582459 -0.17931145 0.00000000 0.00000000 16.1983679 -0.46376318 0.00000000 0.00000000 5.0052601 -0.44171423 0.00000000 0.00000000 0.5873186 0.00000000 1.00000000 0.00000000 0.1876459 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 13.5714702 -0.04007240 0.00000000 2.9257373 -0.21807045 0.00000000 0.7992775 -0.51294466 0.00000000 0.2195435 0.00000000 1.00000000 a 8 $ OXYGEN (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 2266.1767785 -0.00534318 0.00000000 0.00000000 340.8701019 -0.03989004 0.00000000 0.00000000 77.3631352 -0.17853912 0.00000000 0.00000000 21.4796449 -0.46427685 0.00000000 0.00000000 6.6589433 -0.44309745 0.00000000 0.00000000 0.8097598 0.00000000 1.00000000 0.00000000 0.2553077 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 17.7215043 0.04339457 0.00000000 3.8635505 0.23094121 0.00000000 1.0480921 0.51375311 0.00000000 0.2764154 0.00000000 1.00000000 a 9 $ FLUORINE (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 2894.8325990 -0.00534083 0.00000000 0.00000000 435.4193912 -0.03990426 0.00000000 0.00000000 98.8433289 -0.17912768 0.00000000 0.00000000 27.4851980 -0.46758091 0.00000000 0.00000000 8.5405498 -0.44653131 0.00000000 0.00000000 1.0654578 0.00000000 1.00000000 0.00000000 0.3324735 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 22.6966339 -0.04521287 0.00000000 4.9872339 -0.23754317 0.00000000 1.3491614 -0.51287354 0.00000000 0.3482988 0.00000000 1.00000000 a 10 $ NEON (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 3598.9736625 -0.00532593 0.00000000 0.00000000 541.3207311 -0.03981742 0.00000000 0.00000000 122.9045006 -0.17914358 0.00000000 0.00000000 34.2166170 -0.46893583 0.00000000 0.00000000 10.6505841 -0.44782538 0.00000000 0.00000000 1.3545954 0.00000000 1.00000000 0.00000000 0.4191936 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 28.4240538 -0.04603194 0.00000000 6.2822511 -0.23993183 0.00000000 1.6978715 -0.50871725 0.00000000 0.4330070 0.00000000 1.00000000 a 11 $ SODIUM (10s,5p) -> [4s,1p] $ S-TYPE FUNCTIONS 10 4 0 4098.2003908 -0.00585359 0.00000000 0.00000000 0.00000000 616.4937403 -0.04364716 0.00000000 0.00000000 0.00000000 139.9664400 -0.19431466 0.00000000 0.00000000 0.00000000 39.0734411 -0.48685066 0.00000000 0.00000000 0.00000000 11.9298472 -0.41881705 0.00000000 0.00000000 0.00000000 20.6599660 0.00000000 0.08594969 0.00000000 0.00000000 1.9838861 0.00000000 -0.56359144 0.00000000 0.00000000 0.6483632 0.00000000 -0.51954009 0.00000000 0.00000000 0.0524440 0.00000000 0.00000000 1.00000000 0.00000000 0.0280482 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 1 0 75.4018620 0.01543536 17.2748190 0.09973829 5.1842347 0.31209594 1.6601212 0.49295675 0.5123253 0.32420398 a 12 $ MAGNESIUM (10s,5p) -> [4s,1p] $ S-TYPE FUNCTIONS 10 4 0 4953.8339196 -0.00577790 0.00000000 0.00000000 0.00000000 745.1804415 -0.04312476 0.00000000 0.00000000 0.00000000 169.2160497 -0.19268217 0.00000000 0.00000000 0.00000000 47.3006720 -0.48641439 0.00000000 0.00000000 0.00000000 14.4613370 -0.42550894 0.00000000 0.00000000 0.00000000 24.7681748 0.00000000 0.08795697 0.00000000 0.00000000 2.4940945 0.00000000 -0.55165058 0.00000000 0.00000000 0.8780758 0.00000000 -0.53443295 0.00000000 0.00000000 0.0872128 0.00000000 0.00000000 1.00000000 0.00000000 0.0335993 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 1 0 98.0530105 -0.01448056 22.5869323 -0.09549575 6.8391510 -0.30787673 2.2332844 -0.49936293 0.7160660 -0.31503476 a 13 $ ALUMINUM (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 5887.5727030 0.00134833 0.00000000 0.00000000 0.00000000 885.6122600 0.01007158 0.00000000 0.00000000 0.00000000 201.1360490 0.04513245 0.00000000 0.00000000 0.00000000 56.2849747 0.11461268 0.00000000 0.00000000 0.00000000 17.2295512 0.10159609 0.00000000 0.00000000 0.00000000 29.3402499 0.00000000 0.06934745 0.00000000 0.00000000 3.0439630 0.00000000 -0.42528118 0.00000000 0.00000000 1.1285540 0.00000000 -0.41449832 0.00000000 0.00000000 0.1423418 0.00000000 0.00000000 1.00000000 0.00000000 0.0544002 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 145.1191881 0.00639634 0.00000000 0.00000000 33.7178948 0.04418936 0.00000000 0.00000000 10.3698631 0.15581576 0.00000000 0.00000000 3.5135616 0.28635287 0.00000000 0.00000000 1.1980050 0.22921423 0.00000000 0.00000000 0.2658301 0.00000000 1.00000000 0.00000000 0.0710034 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 6903.7118686 0.00133740 0.00000000 0.00000000 0.00000000 1038.4346419 0.00999665 0.00000000 0.00000000 0.00000000 235.8758148 0.04491017 0.00000000 0.00000000 0.00000000 66.0693852 0.11463639 0.00000000 0.00000000 0.00000000 20.2479458 0.10280064 0.00000000 0.00000000 0.00000000 34.3534817 0.00000000 0.07083729 0.00000000 0.00000000 3.6370788 0.00000000 -0.43028836 0.00000000 0.00000000 1.4002049 0.00000000 -0.41382775 0.00000000 0.00000000 0.2048441 0.00000000 0.00000000 1.00000000 0.00000000 0.0779941 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 179.8390737 0.00619167 0.00000000 0.00000000 41.9072588 0.04339943 0.00000000 0.00000000 12.9552944 0.15632019 0.00000000 0.00000000 4.4383267 0.29419997 0.00000000 0.00000000 1.5462248 0.23536824 0.00000000 0.00000000 0.3560761 0.00000000 1.00000000 0.00000000 0.1000851 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 8002.4795106 0.00575035 0.00000000 0.00000000 0.00000000 1203.6813590 0.04300763 0.00000000 0.00000000 0.00000000 273.4422703 0.19363986 0.00000000 0.00000000 0.00000000 76.6555415 0.49651693 0.00000000 0.00000000 0.00000000 23.5169274 0.44983262 0.00000000 0.00000000 0.00000000 39.7916834 0.00000000 0.09518813 0.00000000 0.00000000 4.2770343 0.00000000 -0.57649840 0.00000000 0.00000000 1.6940257 0.00000000 -0.54239584 0.00000000 0.00000000 0.2756767 0.00000000 0.00000000 1.00000000 0.00000000 0.1049559 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 219.5075582 0.00921006 0.00000000 0.00000000 51.2741550 0.06540977 0.00000000 0.00000000 15.9215959 0.24033730 0.00000000 0.00000000 5.5069913 0.46318322 0.00000000 0.00000000 1.9537719 0.37392563 0.00000000 0.00000000 0.4780340 0.00000000 1.00000000 0.00000000 0.1365795 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 9184.9303010 -0.00222944 0.00000000 0.00000000 0.00000000 1381.5105503 -0.01668303 0.00000000 0.00000000 0.00000000 313.8714758 -0.07526244 0.00000000 0.00000000 0.00000000 88.0538706 -0.19376827 0.00000000 0.00000000 0.00000000 27.0399149 -0.17718021 0.00000000 0.00000000 0.00000000 45.6487313 0.00000000 -0.10736063 0.00000000 0.00000000 4.9664522 0.00000000 0.65066293 0.00000000 0.00000000 2.0116242 0.00000000 0.59712155 0.00000000 0.00000000 0.3566108 0.00000000 0.00000000 1.00000000 0.00000000 0.1350722 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 261.9823344 -0.00927299 0.00000000 0.00000000 61.3068947 -0.06654767 0.00000000 0.00000000 19.1037299 -0.24828596 0.00000000 0.00000000 6.6567720 -0.48703847 0.00000000 0.00000000 2.3959635 -0.39337850 0.00000000 0.00000000 0.6177616 0.00000000 1.00000000 0.00000000 0.1699338 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 10449.8275660 0.00197084 0.00000000 0.00000000 0.00000000 1571.7365221 0.01475473 0.00000000 0.00000000 0.00000000 357.1206552 0.06667911 0.00000000 0.00000000 0.00000000 100.2518594 0.17228924 0.00000000 0.00000000 0.00000000 30.8127276 0.15883786 0.00000000 0.00000000 0.00000000 51.9237894 0.00000000 -0.10009299 0.00000000 0.00000000 5.7045761 0.00000000 0.60841753 0.00000000 0.00000000 2.3508377 0.00000000 0.54352153 0.00000000 0.00000000 0.4460512 0.00000000 0.00000000 1.00000000 0.00000000 0.1684886 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 307.6679057 -0.00878015 0.00000000 0.00000000 72.1020155 -0.06356336 0.00000000 0.00000000 22.5326803 -0.24016428 0.00000000 0.00000000 7.8991765 -0.47798867 0.00000000 0.00000000 2.8767268 -0.38515850 0.00000000 0.00000000 0.7745936 0.00000000 1.00000000 0.00000000 0.2103770 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 11797.1197650 0.00202145 0.00000000 0.00000000 0.00000000 1774.3522753 0.01513985 0.00000000 0.00000000 0.00000000 403.1887573 0.06852540 0.00000000 0.00000000 0.00000000 113.2493400 0.17762929 0.00000000 0.00000000 0.00000000 34.8352982 0.16496495 0.00000000 0.00000000 0.00000000 58.6147750 0.00000000 -0.10343394 0.00000000 0.00000000 6.4922045 0.00000000 0.63133366 0.00000000 0.00000000 2.7117014 0.00000000 0.54887572 0.00000000 0.00000000 0.5441297 0.00000000 0.00000000 1.00000000 0.00000000 0.2051741 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 356.2870726 -0.00873218 0.00000000 0.00000000 83.5931329 -0.06368032 0.00000000 0.00000000 26.1867040 -0.24311907 0.00000000 0.00000000 9.2257276 -0.48956070 0.00000000 0.00000000 3.3922755 -0.39229190 0.00000000 0.00000000 0.9474053 0.00000000 1.00000000 0.00000000 0.2565914 0.00000000 0.00000000 1.00000000 a 19 $ POTASSIUM (14s,8p) -> [5s,2p] $ S-TYPE FUNCTIONS 14 5 0 31478.7467640 0.00398387 0.00000000 0.00000000 0.00000000 0.00000000 4726.8876066 0.03050176 0.00000000 0.00000000 0.00000000 0.00000000 1075.4345353 0.15073753 0.00000000 0.00000000 0.00000000 0.00000000 303.3981102 0.51912940 0.00000000 0.00000000 0.00000000 0.00000000 98.3271128 1.03669570 0.00000000 0.00000000 0.00000000 0.00000000 33.6362222 0.76398963 0.00000000 0.00000000 0.00000000 0.00000000 65.6392100 0.00000000 -0.28242617 0.00000000 0.00000000 0.00000000 7.3162592 0.00000000 1.69149359 0.00000000 0.00000000 0.00000000 2.8902580 0.00000000 1.29653320 0.00000000 0.00000000 0.00000000 4.5459749 0.00000000 0.00000000 -0.00763436 0.00000000 0.00000000 0.7040412 0.00000000 0.00000000 0.02563572 0.00000000 0.00000000 0.2826689 0.00000000 0.00000000 0.01660686 0.00000000 0.00000000 0.0290582 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0121116 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 361.2249215 0.02090648 0.00000000 84.6702222 0.15043642 0.00000000 26.4690882 0.55440061 0.00000000 9.2658078 1.04090100 0.00000000 3.3423388 0.67825341 0.00000000 1.5100876 0.00000000 0.75248191 0.5656838 0.00000000 1.37085850 0.2081701 0.00000000 0.66047633 a 20 $ CALCIUM (14s,8p) -> [5s,2p] $ S-TYPE FUNCTIONS 14 5 0 35138.7139290 0.00394825 0.00000000 0.00000000 0.00000000 0.00000000 5276.4111348 0.03023424 0.00000000 0.00000000 0.00000000 0.00000000 1200.4692589 0.14952020 0.00000000 0.00000000 0.00000000 0.00000000 338.7181054 0.51597346 0.00000000 0.00000000 0.00000000 0.00000000 109.8538592 1.03395103 0.00000000 0.00000000 0.00000000 0.00000000 37.6088803 0.76937934 0.00000000 0.00000000 0.00000000 0.00000000 73.1079776 0.00000000 -0.28268525 0.00000000 0.00000000 0.00000000 8.2407706 0.00000000 1.67960921 0.00000000 0.00000000 0.00000000 3.2959813 0.00000000 1.28037660 0.00000000 0.00000000 0.00000000 5.2341801 0.00000000 0.00000000 -0.00768686 0.00000000 0.00000000 0.8418722 0.00000000 0.00000000 0.02538238 0.00000000 0.00000000 0.3651029 0.00000000 0.00000000 0.01651217 0.00000000 0.00000000 0.0512224 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0198251 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 413.1131389 0.02032714 0.00000000 96.9357862 0.14730276 0.00000000 30.3721547 0.54887167 0.00000000 10.6847768 1.04406598 0.00000000 3.8821258 0.68653491 0.00000000 1.7993016 0.00000000 0.75410247 0.6918906 0.00000000 1.34092966 0.2636402 0.00000000 0.56391989 a 21 $ SCANDIUM (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 38956.0818040 0.00392932 0.00000000 0.00000000 0.00000000 0.00000000 5849.5733637 0.03009322 0.00000000 0.00000000 0.00000000 0.00000000 1330.8813154 0.14890371 0.00000000 0.00000000 0.00000000 0.00000000 375.5553417 0.51464283 0.00000000 0.00000000 0.00000000 0.00000000 121.8726137 1.03377081 0.00000000 0.00000000 0.00000000 0.00000000 41.7602437 0.77436852 0.00000000 0.00000000 0.00000000 0.00000000 81.0606340 0.00000000 -0.28318552 0.00000000 0.00000000 0.00000000 9.2059824 0.00000000 1.67708070 0.00000000 0.00000000 0.00000000 3.7063216 0.00000000 1.25947337 0.00000000 0.00000000 0.00000000 5.9888910 0.00000000 0.00000000 -0.00778214 0.00000000 0.00000000 0.9736343 0.00000000 0.00000000 0.02549969 0.00000000 0.00000000 0.4204102 0.00000000 0.00000000 0.01619156 0.00000000 0.00000000 0.0594406 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0228978 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 466.3148126 0.01998430 0.00000000 109.5121710 0.14561043 0.00000000 34.3759218 0.54687466 0.00000000 12.1420970 1.04790060 0.00000000 4.4336768 0.68894890 0.00000000 2.0971292 0.00000000 0.75619215 0.8097761 0.00000000 1.31782122 0.3083405 0.00000000 0.54312268 $ D-TYPE FUNCTIONS 5 2 0 19.2403349 0.02703908 0.00000000 5.1178996 0.13803685 0.00000000 1.6554279 0.34869086 0.00000000 0.5401636 0.48594186 0.00000000 0.1621121 0.00000000 1.00000000 a 22 $ TITANIUM (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 42961.5121850 0.00391276 0.00000000 0.00000000 0.00000000 0.00000000 6450.9759169 0.02996982 0.00000000 0.00000000 0.00000000 0.00000000 1467.7210915 0.14836353 0.00000000 0.00000000 0.00000000 0.00000000 414.2099735 0.51347285 0.00000000 0.00000000 0.00000000 0.00000000 134.4871584 1.03353655 0.00000000 0.00000000 0.00000000 0.00000000 46.1222098 0.77854234 0.00000000 0.00000000 0.00000000 0.00000000 89.4477625 0.00000000 -0.28385401 0.00000000 0.00000000 0.00000000 10.2233461 0.00000000 1.67727853 0.00000000 0.00000000 0.00000000 4.1353774 0.00000000 1.24119285 0.00000000 0.00000000 0.00000000 6.7896181 0.00000000 0.00000000 -0.00784000 0.00000000 0.00000000 1.1106731 0.00000000 0.00000000 0.02549549 0.00000000 0.00000000 0.4756598 0.00000000 0.00000000 0.01606117 0.00000000 0.00000000 0.0659870 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0252103 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 522.0368478 0.01975418 0.00000000 122.6864949 0.14460678 0.00000000 38.5729036 0.54669004 0.00000000 13.6721693 1.05316475 0.00000000 5.0118529 0.69111213 0.00000000 2.4131928 0.00000000 0.75803437 0.9325227 0.00000000 1.30362414 0.3542906 0.00000000 0.53638653 $ D-TYPE FUNCTIONS 5 2 0 23.4651260 0.02653638 0.00000000 6.3332594 0.13796454 0.00000000 2.0766490 0.35312644 0.00000000 0.6902736 0.48647124 0.00000000 0.2108874 0.00000000 0.33026314 a 23 $ VANADIUM (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 47160.3760600 0.00144987 0.00000000 0.00000000 0.00000000 0.00000000 7081.4110871 0.01110644 0.00000000 0.00000000 0.00000000 0.00000000 1611.1621223 0.05500542 0.00000000 0.00000000 0.00000000 0.00000000 454.7294055 0.19060253 0.00000000 0.00000000 0.00000000 0.00000000 147.7132121 0.38435023 0.00000000 0.00000000 0.00000000 0.00000000 50.6995390 0.29095547 0.00000000 0.00000000 0.00000000 0.00000000 98.2624927 0.00000000 -0.10942338 0.00000000 0.00000000 0.00000000 11.2942931 0.00000000 0.64539490 0.00000000 0.00000000 0.00000000 4.5853360 0.00000000 0.47117881 0.00000000 0.00000000 0.00000000 7.6359690 0.00000000 0.00000000 -0.22454949 0.00000000 0.00000000 1.2539837 0.00000000 0.00000000 0.72594853 0.00000000 0.00000000 0.5327194 0.00000000 0.00000000 0.45560583 0.00000000 0.00000000 0.0722462 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0273581 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 580.5504499 0.00973151 0.00000000 136.5234113 0.07153124 0.00000000 42.9839588 0.27197688 0.00000000 15.2827988 0.52618989 0.00000000 5.6202495 0.34452533 0.00000000 2.7485386 0.00000000 0.34040396 1.0618550 0.00000000 0.57983996 0.4023552 0.00000000 0.23911643 $ D-TYPE FUNCTIONS 5 2 0 27.3584340 0.02664193 0.00000000 7.4540604 0.13995312 0.00000000 2.4633918 0.35751067 0.00000000 0.8248093 0.48488354 0.00000000 0.2525790 0.00000000 0.32332845 a 24 $ CHROMIUM (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 51528.0863490 0.00144058 0.00000000 0.00000000 0.00000000 0.00000000 7737.2103487 0.01103620 0.00000000 0.00000000 0.00000000 0.00000000 1760.3748470 0.05467665 0.00000000 0.00000000 0.00000000 0.00000000 496.8770654 0.18965038 0.00000000 0.00000000 0.00000000 0.00000000 161.4652060 0.38295413 0.00000000 0.00000000 0.00000000 0.00000000 55.4663523 0.29090051 0.00000000 0.00000000 0.00000000 0.00000000 107.5473300 0.00000000 -0.10932281 0.00000000 0.00000000 0.00000000 12.4086719 0.00000000 0.64472599 0.00000000 0.00000000 0.00000000 5.0423629 0.00000000 0.46262713 0.00000000 0.00000000 0.00000000 8.5461640 0.00000000 0.00000000 -0.22711013 0.00000000 0.00000000 1.3900441 0.00000000 0.00000000 0.73301528 0.00000000 0.00000000 0.5606660 0.00000000 0.00000000 0.44225565 0.00000000 0.00000000 0.0714837 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0282507 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 640.4853610 0.00961267 0.00000000 150.6971119 0.07088983 0.00000000 47.5037553 0.27065259 0.00000000 16.9341202 0.52437343 0.00000000 6.2409681 0.34107995 0.00000000 3.0885463 0.00000000 0.33973987 1.1791048 0.00000000 0.57272063 0.4336977 0.00000000 0.24582728 $ D-TYPE FUNCTIONS 5 2 0 27.5594794 0.03061249 0.00000000 7.4687020 0.15593271 0.00000000 2.4345904 0.36984421 0.00000000 0.7824475 0.47071118 0.00000000 0.2199577 0.00000000 0.33941650 a 25 $ MANGANESE (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 56137.0090370 0.00143213 0.00000000 0.00000000 0.00000000 0.00000000 8429.2063943 0.01097251 0.00000000 0.00000000 0.00000000 0.00000000 1917.8277233 0.05438247 0.00000000 0.00000000 0.00000000 0.00000000 541.3623020 0.18884335 0.00000000 0.00000000 0.00000000 0.00000000 176.0006914 0.38198025 0.00000000 0.00000000 0.00000000 0.00000000 60.5004770 0.29156773 0.00000000 0.00000000 0.00000000 0.00000000 117.1728288 0.00000000 -0.10933661 0.00000000 0.00000000 0.00000000 13.5969734 0.00000000 0.64305039 0.00000000 0.00000000 0.00000000 5.5483996 0.00000000 0.45848971 0.00000000 0.00000000 0.00000000 9.4662854 0.00000000 0.00000000 -0.22538977 0.00000000 0.00000000 1.5595006 0.00000000 0.00000000 0.72307759 0.00000000 0.00000000 0.6523021 0.00000000 0.00000000 0.45300722 0.00000000 0.00000000 0.0840037 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0312561 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 706.0049754 0.00950555 0.00000000 166.1972882 0.07035627 0.00000000 52.4520619 0.27005557 0.00000000 18.7469329 0.52574345 0.00000000 6.9282992 0.34254033 0.00000000 3.4772205 0.00000000 0.33994074 1.3406906 0.00000000 0.57203836 0.5049880 0.00000000 0.23847606 $ D-TYPE FUNCTIONS 5 2 0 35.4232649 0.02698530 0.00000000 9.7814221 0.14383459 0.00000000 3.2673489 0.36418958 0.00000000 1.1026472 0.48152671 0.00000000 0.3374321 0.00000000 0.31458754 a 26 $ IRON (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 60923.6406430 0.00143023 0.00000000 0.00000000 0.00000000 0.00000000 9147.8893982 0.01095879 0.00000000 0.00000000 0.00000000 0.00000000 2081.3505927 0.05433255 0.00000000 0.00000000 0.00000000 0.00000000 587.5597707 0.18884995 0.00000000 0.00000000 0.00000000 0.00000000 191.0904399 0.38253070 0.00000000 0.00000000 0.00000000 0.00000000 65.7327301 0.29308336 0.00000000 0.00000000 0.00000000 0.00000000 127.2589193 0.00000000 -0.10964565 0.00000000 0.00000000 0.00000000 14.8309130 0.00000000 0.64387631 0.00000000 0.00000000 0.00000000 6.0653307 0.00000000 0.45472347 0.00000000 0.00000000 0.00000000 10.4499437 0.00000000 0.00000000 -0.22539640 0.00000000 0.00000000 1.7245228 0.00000000 0.00000000 0.72164398 0.00000000 0.00000000 0.7177218 0.00000000 0.00000000 0.44985493 0.00000000 0.00000000 0.0914498 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0337067 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 773.4375099 0.00943257 0.00000000 182.1514971 0.07002962 0.00000000 57.5472728 0.26993652 0.00000000 20.6149889 0.52700011 0.00000000 7.6348558 0.34284148 0.00000000 3.8719328 0.00000000 0.33974403 1.4924724 0.00000000 0.56842594 0.5606128 0.00000000 0.23649366 $ D-TYPE FUNCTIONS 5 2 0 38.9681334 0.02787966 0.00000000 10.8000671 0.14858320 0.00000000 3.6136458 0.36905479 0.00000000 1.2129968 0.47745101 0.00000000 0.3652439 0.00000000 0.31418142 a 27 $ COBALT (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 65902.2082570 0.00142846 0.00000000 0.00000000 0.00000000 0.00000000 9895.3896027 0.01094607 0.00000000 0.00000000 0.00000000 0.00000000 2251.4305789 0.05428595 0.00000000 0.00000000 0.00000000 0.00000000 635.6109708 0.18885179 0.00000000 0.00000000 0.00000000 0.00000000 206.7882068 0.38301635 0.00000000 0.00000000 0.00000000 0.00000000 71.1792430 0.29443551 0.00000000 0.00000000 0.00000000 0.00000000 137.7726804 0.00000000 -0.10990222 0.00000000 0.00000000 0.00000000 16.1180792 0.00000000 0.64455537 0.00000000 0.00000000 0.00000000 6.6030328 0.00000000 0.45116788 0.00000000 0.00000000 0.00000000 11.4799158 0.00000000 0.00000000 -0.22593847 0.00000000 0.00000000 1.8956426 0.00000000 0.00000000 0.72231409 0.00000000 0.00000000 0.7846623 0.00000000 0.00000000 0.44903812 0.00000000 0.00000000 0.0984258 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0359457 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 843.6435858 0.00938661 0.00000000 198.7638699 0.06988021 0.00000000 62.8549631 0.27037070 0.00000000 22.5628423 0.52904787 0.00000000 8.3713209 0.34357030 0.00000000 4.2858720 0.00000000 0.34027999 1.6508042 0.00000000 0.56693392 0.6183423 0.00000000 0.23617980 $ D-TYPE FUNCTIONS 5 2 0 42.9278676 0.02848779 0.00000000 11.9425331 0.15206951 0.00000000 4.0046496 0.37310914 0.00000000 1.3413194 0.47549838 0.00000000 0.4001501 0.00000000 0.31346831 a 28 $ NICKEL (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 71074.8032110 0.00142604 0.00000000 0.00000000 0.00000000 0.00000000 10672.0209410 0.01092824 0.00000000 0.00000000 0.00000000 0.00000000 2428.1389007 0.05421263 0.00000000 0.00000000 0.00000000 0.00000000 685.5359515 0.18874769 0.00000000 0.00000000 0.00000000 0.00000000 223.1007286 0.38324617 0.00000000 0.00000000 0.00000000 0.00000000 76.8420140 0.29550637 0.00000000 0.00000000 0.00000000 0.00000000 148.7112202 0.00000000 -0.11014443 0.00000000 0.00000000 0.00000000 17.4591550 0.00000000 0.64521427 0.00000000 0.00000000 0.00000000 7.1625281 0.00000000 0.44797838 0.00000000 0.00000000 0.00000000 12.5561371 0.00000000 0.00000000 -0.22645403 0.00000000 0.00000000 2.0735740 0.00000000 0.00000000 0.72320959 0.00000000 0.00000000 0.8538264 0.00000000 0.00000000 0.44868026 0.00000000 0.00000000 0.1053677 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0381341 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 916.7360866 0.00934396 0.00000000 216.0613991 0.06973737 0.00000000 68.3839148 0.27073495 0.00000000 24.5938440 0.53078302 0.00000000 9.1392960 0.34410229 0.00000000 4.7193372 0.00000000 0.34076082 1.8161849 0.00000000 0.56580170 0.6784075 0.00000000 0.23616717 $ D-TYPE FUNCTIONS 5 2 0 47.0938321 0.02898232 0.00000000 13.1464640 0.15494996 0.00000000 4.4170549 0.37633115 0.00000000 1.4771565 0.47365096 0.00000000 0.4373592 0.00000000 0.31247838 a 29 $ COPPER (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 76381.3480560 0.00143361 0.00000000 0.00000000 0.00000000 0.00000000 11468.7774990 0.01098675 0.00000000 0.00000000 0.00000000 0.00000000 2609.4246495 0.05451365 0.00000000 0.00000000 0.00000000 0.00000000 736.7503310 0.18990128 0.00000000 0.00000000 0.00000000 0.00000000 239.8241996 0.38581959 0.00000000 0.00000000 0.00000000 0.00000000 82.6568293 0.29790607 0.00000000 0.00000000 0.00000000 0.00000000 160.1354420 0.00000000 -0.11146779 0.00000000 0.00000000 0.00000000 18.8341777 0.00000000 0.65349301 0.00000000 0.00000000 0.00000000 7.7176596 0.00000000 0.44770534 0.00000000 0.00000000 0.00000000 13.7108467 0.00000000 0.00000000 -0.22870911 0.00000000 0.00000000 2.2349896 0.00000000 0.00000000 0.73464423 0.00000000 0.00000000 0.8781836 0.00000000 0.00000000 0.43273071 0.00000000 0.00000000 0.0871875 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0329691 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 991.2407578 0.00938785 0.00000000 233.6937612 0.07020828 0.00000000 74.0209309 0.27323522 0.00000000 26.6649674 0.53580793 0.00000000 9.9192087 0.34575795 0.00000000 5.1519554 0.00000000 0.34229108 1.9638206 0.00000000 0.56456592 0.7156010 0.00000000 0.24078584 $ D-TYPE FUNCTIONS 5 2 0 47.3350496 0.03237555 0.00000000 13.1616661 0.16810219 0.00000000 4.3693777 0.38477708 0.00000000 1.4132925 0.46147880 0.00000000 0.3887800 0.00000000 0.32388873 a 30 $ ZINC (13s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 82000.7116290 0.00142108 0.00000000 0.00000000 0.00000000 0.00000000 12312.4717770 0.01089150 0.00000000 0.00000000 0.00000000 0.00000000 2801.3944193 0.05405719 0.00000000 0.00000000 0.00000000 0.00000000 790.9942430 0.18847464 0.00000000 0.00000000 0.00000000 0.00000000 257.5655108 0.38346549 0.00000000 0.00000000 0.00000000 0.00000000 88.8149334 0.29723794 0.00000000 0.00000000 0.00000000 0.00000000 171.8635372 0.00000000 -0.11051850 0.00000000 0.00000000 0.00000000 20.3025348 0.00000000 0.64607717 0.00000000 0.00000000 0.00000000 8.3464123 0.00000000 0.44220117 0.00000000 0.00000000 0.00000000 14.8475369 0.00000000 0.00000000 -0.22705309 0.00000000 0.00000000 2.4495030 0.00000000 0.00000000 0.72433218 0.00000000 0.00000000 0.9984582 0.00000000 0.00000000 0.44836496 0.00000000 0.00000000 0.1189131 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0422974 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 1071.5185372 0.00927678 0.00000000 252.6971215 0.06954115 0.00000000 80.1008291 0.27156773 0.00000000 28.9033932 0.53401356 0.00000000 10.7688999 0.34501323 0.00000000 5.6446213 0.00000000 0.34129600 2.1678291 0.00000000 0.56390522 0.8054090 0.00000000 0.23676110 $ D-TYPE FUNCTIONS 5 2 0 56.0889392 0.02958887 0.00000000 15.7519089 0.15872571 0.00000000 5.3115812 0.37976229 0.00000000 1.7737905 0.46898959 0.00000000 0.5197558 0.00000000 0.30907149 a 33 $ ARSENIC (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 100146.5255400 0.00142583 0.00000000 0.00000000 0.00000000 0.00000000 15036.8617110 0.01093018 0.00000000 0.00000000 0.00000000 0.00000000 3421.2902833 0.05429417 0.00000000 0.00000000 0.00000000 0.00000000 966.1696572 0.18976078 0.00000000 0.00000000 0.00000000 0.00000000 314.8739403 0.38775195 0.00000000 0.00000000 0.00000000 0.00000000 108.7082379 0.30402812 0.00000000 0.00000000 0.00000000 0.00000000 209.5423895 0.00000000 -0.11162094 0.00000000 0.00000000 0.00000000 25.0382211 0.00000000 0.64697608 0.00000000 0.00000000 0.00000000 10.3909643 0.00000000 0.44223609 0.00000000 0.00000000 0.00000000 18.5550901 0.00000000 0.00000000 -0.22994191 0.00000000 0.00000000 3.1281217 0.00000000 0.00000000 0.73319108 0.00000000 0.00000000 1.3884885 0.00000000 0.00000000 0.45533654 0.00000000 0.00000000 0.2471436 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0914294 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1355.6443507 0.00891825 0.00000000 0.00000000 0.00000000 319.9992927 0.06745475 0.00000000 0.00000000 0.00000000 101.6773409 0.26759772 0.00000000 0.00000000 0.00000000 36.8863238 0.53776845 0.00000000 0.00000000 0.00000000 13.8611159 0.35992570 0.00000000 0.00000000 0.00000000 7.4260667 0.00000000 0.34036850 0.00000000 0.00000000 3.0316247 0.00000000 0.57030149 0.00000000 0.00000000 1.2783078 0.00000000 0.26606170 0.00000000 0.00000000 0.3756850 0.00000000 0.00000000 1.00000000 0.00000000 0.1139481 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 84.4455145 0.02451840 0.00000000 24.1904161 0.14107455 0.00000000 8.4045015 0.36875229 0.00000000 2.9808971 0.48409561 0.00000000 0.9790924 0.00000000 0.28250269 a 34 $ SELENIUM (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 106612.2002700 0.00142749 0.00000000 0.00000000 0.00000000 0.00000000 16007.6047010 0.01094353 0.00000000 0.00000000 0.00000000 0.00000000 3642.1699707 0.05437417 0.00000000 0.00000000 0.00000000 0.00000000 1028.5912993 0.19018093 0.00000000 0.00000000 0.00000000 0.00000000 335.3029889 0.38913022 0.00000000 0.00000000 0.00000000 0.00000000 115.8012915 0.30620207 0.00000000 0.00000000 0.00000000 0.00000000 222.9332502 0.00000000 -0.11198808 0.00000000 0.00000000 0.00000000 26.7262579 0.00000000 0.64752124 0.00000000 0.00000000 0.00000000 11.1245019 0.00000000 0.44241977 0.00000000 0.00000000 0.00000000 19.8885201 0.00000000 0.00000000 -0.22857228 0.00000000 0.00000000 3.3668474 0.00000000 0.00000000 0.73591360 0.00000000 0.00000000 1.5249278 0.00000000 0.00000000 0.44330200 0.00000000 0.00000000 0.2963004 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1100929 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1455.9068120 0.00882036 0.00000000 0.00000000 0.00000000 343.7510183 0.06687585 0.00000000 0.00000000 0.00000000 109.2955496 0.26640578 0.00000000 0.00000000 0.00000000 39.7077110 0.53834928 0.00000000 0.00000000 0.00000000 14.9501852 0.36303282 0.00000000 0.00000000 0.00000000 8.0208962 0.00000000 0.34153807 0.00000000 0.00000000 3.2934650 0.00000000 0.57257907 0.00000000 0.00000000 1.4058602 0.00000000 0.25549813 0.00000000 0.00000000 0.4507612 0.00000000 0.00000000 1.00000000 0.00000000 0.1335341 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 94.4940240 0.02349010 0.00000000 27.1881853 0.13747736 0.00000000 9.5091567 0.36649929 0.00000000 3.4170517 0.48750990 0.00000000 1.1479590 0.00000000 0.27657943 a 35 $ BROMINE (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 113286.3877600 0.00142830 0.00000000 0.00000000 0.00000000 0.00000000 17009.6263030 0.01095042 0.00000000 0.00000000 0.00000000 0.00000000 3870.1842567 0.05442101 0.00000000 0.00000000 0.00000000 0.00000000 1093.0357227 0.19047908 0.00000000 0.00000000 0.00000000 0.00000000 356.3972180 0.39024643 0.00000000 0.00000000 0.00000000 0.00000000 123.1253964 0.30814433 0.00000000 0.00000000 0.00000000 0.00000000 236.7408401 0.00000000 -0.11228066 0.00000000 0.00000000 0.00000000 28.4686611 0.00000000 0.64775962 0.00000000 0.00000000 0.00000000 11.8834437 0.00000000 0.44235576 0.00000000 0.00000000 0.00000000 21.2696333 0.00000000 0.00000000 -0.22642576 0.00000000 0.00000000 3.6129227 0.00000000 0.00000000 0.73823712 0.00000000 0.00000000 1.6626649 0.00000000 0.00000000 0.42683869 0.00000000 0.00000000 0.3482379 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1301903 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1560.2801881 0.00871667 0.00000000 0.00000000 0.00000000 368.4785920 0.06624364 0.00000000 0.00000000 0.00000000 117.2297885 0.26495610 0.00000000 0.00000000 0.00000000 42.6489092 0.53839161 0.00000000 0.00000000 0.00000000 16.0872251 0.36579388 0.00000000 0.00000000 0.00000000 8.6352810 0.00000000 0.34248787 0.00000000 0.00000000 3.5613666 0.00000000 0.57500678 0.00000000 0.00000000 1.5292627 0.00000000 0.24330394 0.00000000 0.00000000 0.5306429 0.00000000 0.00000000 1.00000000 0.00000000 0.1570276 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 104.8551864 0.02265015 0.00000000 30.2811437 0.13455483 0.00000000 10.6513943 0.36474455 0.00000000 3.8699456 0.49044587 0.00000000 1.3240877 0.00000000 0.27137289 a 36 $ KRYPTON (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 120165.6487500 0.00142942 0.00000000 0.00000000 0.00000000 0.00000000 18042.5001690 0.01095960 0.00000000 0.00000000 0.00000000 0.00000000 4105.1800388 0.05447965 0.00000000 0.00000000 0.00000000 0.00000000 1159.4447248 0.19081239 0.00000000 0.00000000 0.00000000 0.00000000 378.1381035 0.39140446 0.00000000 0.00000000 0.00000000 0.00000000 130.6761005 0.31007347 0.00000000 0.00000000 0.00000000 0.00000000 250.9637335 0.00000000 -0.11258604 0.00000000 0.00000000 0.00000000 30.2659304 0.00000000 0.64816323 0.00000000 0.00000000 0.00000000 12.6681108 0.00000000 0.44240239 0.00000000 0.00000000 0.00000000 22.6979401 0.00000000 0.00000000 -0.22391965 0.00000000 0.00000000 3.8673017 0.00000000 0.00000000 0.74060953 0.00000000 0.00000000 1.8013707 0.00000000 0.00000000 0.40803658 0.00000000 0.00000000 0.4030864 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1517053 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1668.5736623 0.00862150 0.00000000 0.00000000 0.00000000 394.1386280 0.06566551 0.00000000 0.00000000 0.00000000 125.4664485 0.26366577 0.00000000 0.00000000 0.00000000 45.7049927 0.53867659 0.00000000 0.00000000 0.00000000 17.2701332 0.36865168 0.00000000 0.00000000 0.00000000 9.2699488 0.00000000 0.34346189 0.00000000 0.00000000 3.8364618 0.00000000 0.57784776 0.00000000 0.00000000 1.6467163 0.00000000 0.23075615 0.00000000 0.00000000 0.6147969 0.00000000 0.00000000 1.00000000 0.00000000 0.1831947 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 115.5586860 0.02194549 0.00000000 33.4779859 0.13211213 0.00000000 11.8344502 0.36333307 0.00000000 4.3408255 0.49300484 0.00000000 1.5079273 0.00000000 0.26676859 ergo-3.5/basis/aug-cc-pV(5+d)Z0000664000175000017500000007606412743400275012606 00000000000000$ Basis = aug-cc-pV(5+d)Z $ $ Supported Elements $ Al Si P S Cl Ar $ $ REFERENCES $ Elements References $ -------- ---------- $ Al - Ar: T. H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys., 114, 2944 (2001). $ $ Polarization and/or diffuse functions $ Elements References $ -------- --------- $ Al- Ar: T.H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys., 114, 9244 (2001) $ ************************************************************************ a 13 $ ALUMINUM (20s,12p,5d,3f,2g,1h) -> [7s,6p,5d,3f,2g,1h] $ ALUMINUM (1s,1p,1d,1f,1g,1h) $ S-TYPE FUNCTIONS 21 8 0 3269000.000 0.00000214 -0.00000056 0.00000013 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 489400.00000 0.00001663 -0.00000432 0.00000100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 111400.00000 0.00008752 -0.00002274 0.00000525 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31560.00000 0.00036899 -0.00009601 0.00002214 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10320.00000 0.00133903 -0.00034838 0.00008055 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3731.00000000 0.00435636 -0.00113836 0.00026251 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1456.00000000 0.01289550 -0.00338744 0.00078422 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 604.10000000 0.03482010 -0.00931505 0.00215039 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 263.50000000 0.08435300 -0.02330230 0.00541974 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 119.80000000 0.17590700 -0.05234860 0.01216860 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56.32000000 0.29209100 -0.09994990 0.02368230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 27.19000000 0.32822000 -0.15056000 0.03609370 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.26000000 0.18692700 -0.11912100 0.03032840 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.05200000 0.03104300 0.10809100 -0.03090340 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.98100000 -0.00050892 0.41112900 -0.11912600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.47600000 0.00148836 0.45721400 -0.21114500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.73340000 -0.00027824 0.17593800 -0.15794400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.24470000 0.00011875 0.00770610 0.33903800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.10880000 -0.00006615 -0.00166168 0.61309700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.04672000 0.00001760 0.00044535 0.23516800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01770000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 7 0 1461.00000000 0.00020861 -0.00003719 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 346.20000000 0.00181005 -0.00032856 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 112.20000000 0.00973433 -0.00174264 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 42.51000000 0.03782660 -0.00694828 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.72000000 0.11089800 -0.02028070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.85200000 0.23429500 -0.04486570 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.57100000 0.34524500 -0.06432780 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.63700000 0.33143000 -0.07526660 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.73820000 0.14706400 0.00061601 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.25770000 0.01214110 0.28781900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.09773000 -0.00087164 0.54303000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.03690000 0.00043796 0.30186500 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01150000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 2.63900000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.58800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.38000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.18000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07280000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02540000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.13000000 1.00000000 0.00000000 0.00000000 0.00000000 0.25800000 0.00000000 1.00000000 0.00000000 0.00000000 0.51300000 0.00000000 0.00000000 1.00000000 0.00000000 0.05090000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 0.25200000 1.00000000 0.00000000 0.00000000 0.54300000 0.00000000 1.00000000 0.00000000 0.10690000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 0.44600000 1.00000000 0.00000000 0.22700000 0.00000000 1.00000000 a 14 $ SILICON (20s,12p,5d,3f,2g,1h) -> [7s,6p,5d,3f,2g,1h] $ SILICON (1s,1p,1d,1f,1g,1h) $ S-TYPE FUNCTIONS 21 8 0 3948000.000 0.00000204 -0.00000054 0.00000014 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 591100.00000 0.00001584 -0.00000422 0.00000108 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 134500.00000 0.00008336 -0.00002218 0.00000569 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38120.00000 0.00035136 -0.00009360 0.00002395 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12460.00000 0.00127660 -0.00034012 0.00008724 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4504.00000000 0.00415191 -0.00111061 0.00028416 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1758.00000000 0.01230300 -0.00330878 0.00084984 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 729.10000000 0.03331020 -0.00911602 0.00233527 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 318.00000000 0.08098450 -0.02287900 0.00590466 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 144.60000000 0.17029000 -0.05171190 0.01334610 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 67.97000000 0.28687900 -0.09990910 0.02628890 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.82000000 0.33034000 -0.15274700 0.04074260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.03000000 0.19660200 -0.12750800 0.03614760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.39600000 0.03545350 0.09469630 -0.03039230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.66100000 -0.00053520 0.41403600 -0.13596100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.82300000 0.00161465 0.46793400 -0.25014400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.91470000 -0.00037274 0.17392700 -0.15805000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.33930000 0.00014623 0.00843895 0.36965500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.15000000 -0.00007894 -0.00099807 0.61771800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06438000 0.00001928 0.00036210 0.22251400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 7 0 1780.00000000 0.00020121 -0.00004272 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 421.80000000 0.00174937 -0.00037704 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 136.70000000 0.00948141 -0.00202240 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.81000000 0.03723130 -0.00812833 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.60000000 0.11076300 -0.02422720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.56300000 0.23793300 -0.05438250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.35000000 0.35369100 -0.07990510 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.00600000 0.32883900 -0.08889580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.92050000 0.13237300 0.01839970 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.35000000 0.01033000 0.33509600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.13810000 -0.00015030 0.53228800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.05338000 0.00026581 0.25437400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01920000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 3.73800000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.89300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.53300000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.25800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10500000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.16900000 1.00000000 0.00000000 0.00000000 0.00000000 0.34100000 0.00000000 1.00000000 0.00000000 0.00000000 0.68800000 0.00000000 0.00000000 1.00000000 0.00000000 0.07350000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 0.32000000 1.00000000 0.00000000 0.00000000 0.70500000 0.00000000 1.00000000 0.00000000 0.15100000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 0.58300000 1.00000000 0.00000000 0.32300000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (20s,12p,5d,3f,2g,1h) -> [7s,6p,5d,3f,2g,1h] $ PHOSPHORUS (1s,1p,1d,1f,1g,1h) $ S-TYPE FUNCTIONS 21 8 0 4666000.000 0.00000197 -0.00000053 0.00000015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 698600.00000 0.00001530 -0.00000415 0.00000114 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 159000.00000 0.00008048 -0.00002185 0.00000601 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 45040.00000 0.00033974 -0.00009233 0.00002534 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14720.00000 0.00123291 -0.00033511 0.00009216 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5323.00000000 0.00401345 -0.00109508 0.00030056 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2076.00000000 0.01191240 -0.00326798 0.00089988 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 861.10000000 0.03225110 -0.00899951 0.00247354 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 375.70000000 0.07866430 -0.02265280 0.00626812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 170.80000000 0.16645800 -0.05146500 0.01425980 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 80.29000000 0.28303900 -0.10018600 0.02827690 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.77000000 0.33194200 -0.15507500 0.04451240 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.93000000 0.20335200 -0.13381800 0.04072170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.79600000 0.03831830 0.08783610 -0.03019080 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.35800000 -0.00038472 0.42258100 -0.15289400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.17400000 0.00158744 0.47489900 -0.28241100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.09500000 -0.00041338 0.16500200 -0.14852200 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.44000000 0.00015284 0.00846862 0.39356300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.19450000 -0.00008270 -0.00029176 0.61732700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.08376000 0.00001841 0.00028534 0.21461200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03350000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 7 0 2010.00000000 0.00021592 -0.00005114 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 476.30000000 0.00187536 -0.00044836 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 154.40000000 0.01017420 -0.00242340 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 58.51000000 0.03998560 -0.00969826 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24.40000000 0.11856300 -0.02909650 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.80000000 0.25181600 -0.06417260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.91300000 0.36656500 -0.09450710 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.26900000 0.31617700 -0.09347000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.04300000 0.10470000 0.05206110 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.43130000 0.00609862 0.37462400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.17670000 0.00050208 0.50909700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07009000 -0.00002956 0.21511600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02530000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 5.10300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.25400000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.72400000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.35400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05370000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.21900000 1.00000000 0.00000000 0.00000000 0.00000000 0.45000000 0.00000000 1.00000000 0.00000000 0.00000000 0.92300000 0.00000000 0.00000000 1.00000000 0.00000000 0.09500000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 0.41200000 1.00000000 0.00000000 0.00000000 0.90300000 0.00000000 1.00000000 0.00000000 0.18400000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 0.74500000 1.00000000 0.00000000 0.37200000 0.00000000 1.00000000 a 16 $ SULFUR (20s,12p,5d,3f,2g,1h) -> [7s,6p,5d,3f,2g,1h] $ SULFUR (1s,1p,1d,1f,1g,1h) $ S-TYPE FUNCTIONS 21 8 0 5481000.000 0.00000189 -0.00000052 0.00000015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 820600.00000 0.00001472 -0.00000407 0.00000118 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 186700.00000 0.00007751 -0.00002141 0.00000622 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52880.00000 0.00032722 -0.00009045 0.00002624 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17250.00000 0.00119365 -0.00033008 0.00009590 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6226.00000000 0.00388393 -0.00107782 0.00031268 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2429.00000000 0.01153360 -0.00321874 0.00093632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1007.00000000 0.03127480 -0.00887217 0.00257790 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 439.50000000 0.07643870 -0.02237710 0.00654121 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 199.80000000 0.16270000 -0.05105770 0.01496300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 93.92000000 0.27932800 -0.10022500 0.02989400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 45.34000000 0.33314500 -0.15679500 0.04769460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.15000000 0.20983600 -0.13974800 0.04495560 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.34000000 0.04159740 0.08100590 -0.02930090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.11900000 -0.00045055 0.43088300 -0.16891600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.55300000 0.00168855 0.48168800 -0.31101400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.28200000 -0.00051724 0.15686200 -0.13649100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.54500000 0.00018877 0.00788814 0.42319500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.24110000 -0.00009977 0.00039353 0.61388800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10350000 0.00002090 0.00022376 0.20047300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 7 0 2200.00000000 0.00023905 -0.00006086 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 521.40000000 0.00207686 -0.00053042 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 169.00000000 0.01123630 -0.00287915 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 64.05000000 0.04406900 -0.01143970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.72000000 0.12916800 -0.03427640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.83000000 0.26908300 -0.07358110 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.37800000 0.37861100 -0.10778200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.48200000 0.29677900 -0.08797690 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.11600000 0.07796760 0.10826100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.48480000 0.00205193 0.40708200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.20060000 0.00143602 0.46899400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07951000 -0.00005960 0.18487700 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02940000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 6.51000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.59000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.88600000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.43800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.17700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06640000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.25500000 1.00000000 0.00000000 0.00000000 0.00000000 0.52900000 0.00000000 1.00000000 0.00000000 0.00000000 1.09600000 0.00000000 0.00000000 1.00000000 0.00000000 0.11880000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 0.46300000 1.00000000 0.00000000 0.00000000 1.07100000 0.00000000 1.00000000 0.00000000 0.22000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 0.87200000 1.00000000 0.00000000 0.47200000 0.00000000 1.00000000 a 17 $ CHLORINE (20s,12p,5d,3f,2g,1h) -> [7s,6p,5d,3f,2g,1h] $ CHLORINE (1s,1p,1d,1f,1g,1h) $ S-TYPE FUNCTIONS 21 8 0 6410000.000 0.00000181 -0.00000051 0.00000015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 959600.00000 0.00001411 -0.00000396 0.00000120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 218300.00000 0.00007424 -0.00002081 0.00000630 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 61810.00000 0.00031413 -0.00008812 0.00002664 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20140.00000 0.00114642 -0.00032174 0.00009742 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7264.00000000 0.00373888 -0.00105277 0.00031836 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2832.00000000 0.01109460 -0.00314183 0.00095238 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1175.00000000 0.03011520 -0.00866363 0.00262430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 512.60000000 0.07391450 -0.02193530 0.00668160 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 233.00000000 0.15825800 -0.05025840 0.01535950 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 109.50000000 0.27475300 -0.09954140 0.03094320 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52.86000000 0.33406600 -0.15764700 0.05006380 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.84000000 0.21758900 -0.14602400 0.04897820 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.17000000 0.04572780 0.06922300 -0.02608070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.03000000 -0.00013474 0.43041200 -0.17842600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.01200000 0.00163933 0.49080200 -0.33232400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.51100000 -0.00052221 0.15839000 -0.13200800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.66040000 0.00018065 0.00839885 0.44055600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.29260000 -0.00009993 0.00076848 0.61189100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12540000 0.00001922 0.00022715 0.19317200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04790000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 7 0 2548.00000000 0.00023570 -0.00006354 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 603.70000000 0.00205158 -0.00055326 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 195.60000000 0.01115430 -0.00302795 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 74.15000000 0.04398160 -0.01206500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 30.94000000 0.12999400 -0.03663480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.69000000 0.27295900 -0.07907640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.22900000 0.38369000 -0.11742200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.87800000 0.29187000 -0.08609430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.28200000 0.07044640 0.14030800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.56410000 0.00128761 0.42233600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.23480000 0.00182623 0.44636300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09312000 0.00001990 0.16663400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03480000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 8.39900000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.03000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.09700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.54900000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.22100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08360000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.32000000 1.00000000 0.00000000 0.00000000 0.00000000 0.65600000 0.00000000 1.00000000 0.00000000 0.00000000 1.34500000 0.00000000 0.00000000 1.00000000 0.00000000 0.16400000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 0.55600000 1.00000000 0.00000000 0.00000000 1.30200000 0.00000000 1.00000000 0.00000000 0.27700000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 1.05300000 1.00000000 0.00000000 0.60700000 0.00000000 1.00000000 a 18 $ ARGON (20s,12p,5d,3f,2g,1h) -> [7s,6p,5d,3f,2g,1h] $ ARGON (1s,1p,1d,1f,1g,1h) $ S-TYPE FUNCTIONS 21 8 0 7401000.000 0.00000175 -0.00000052 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1108000.000 0.00001361 -0.00000405 0.00000002 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 252100.00000 0.00007163 -0.00002130 0.00000010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71380.00000 0.00030304 -0.00009017 0.00000038 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23260.00000 0.00110610 -0.00032937 0.00000151 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8390.00000000 0.00360679 -0.00107715 0.00000459 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3271.00000000 0.01071340 -0.00321892 0.00001550 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1357.00000000 0.02910740 -0.00887845 0.00004067 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 592.00000000 0.07166170 -0.02255450 0.00013134 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 269.10000000 0.15414400 -0.05184530 0.00033268 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 126.50000000 0.27042300 -0.10372200 0.00106670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 61.03000000 0.33486200 -0.16659500 0.00257210 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 29.86000000 0.22434700 -0.16016500 0.00483584 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.17000000 0.05000810 0.06236540 -0.00385728 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.02200000 0.00014973 0.46553400 -0.04761250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.51100000 0.00210369 0.58156400 -0.18295700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.75800000 -0.00041073 0.19136900 -0.07328200 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.78410000 -0.00088862 -0.12856600 0.43482200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.34800000 -0.00156236 -0.18321600 0.58171100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14910000 -0.00042684 -0.05662660 0.17937300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05380000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 7 0 2927.00000000 0.00018834 -0.00015021 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 693.50000000 0.00164288 -0.00130928 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 224.70000000 0.00894893 -0.00716501 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 85.17000000 0.03551110 -0.02857230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.53000000 0.10514700 -0.08601580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.73000000 0.22155200 -0.18399600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.16500000 0.30841200 -0.26584400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.32200000 0.23220300 -0.18874100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.47800000 0.12447800 0.12537800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.65520000 0.16831000 0.39724600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.27510000 0.16829200 0.39465800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10970000 0.05979810 0.14191700 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04020000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 10.51800000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.51600000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.33200000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.67300000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.27000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09780000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.40800000 1.00000000 0.00000000 0.00000000 0.00000000 0.82500000 0.00000000 1.00000000 0.00000000 0.00000000 1.66800000 0.00000000 0.00000000 1.00000000 0.00000000 0.20900000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 0.66500000 1.00000000 0.00000000 0.00000000 1.56200000 0.00000000 1.00000000 0.00000000 0.33400000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 1.26400000 1.00000000 0.00000000 0.74200000 0.00000000 1.00000000 ergo-3.5/basis/Wachtersa+f0000775000175000017500000007255512743400275012453 00000000000000$Basis = Wachtersa+f $Elements supported $Sc Ti V Cr Mn Fe Co Ni Cu $ $ REFERENCE $Elements References $-------- ---------- $Sc - Cu: A. J. H. Wachters, J. Chem. Phys. 52, 1033 (1970). $ A. J. H. Wachters, IBM Tech. Rept. RJ584 (1969) $ F exponents: C. W. Bauschlicher, Jr. S. R. Langhoff and L. A. Barnes, $ J. Chem. Phys. 91, 2399 (1989). $ ************************************************************************ a 21 $ SCANDIUM (14s,11p,6d,3f) -> [8s,6p,4d,1f] $ S-TYPE FUNCTIONS 14 8 0 188961.0000000 0.00025000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 28491.4000000 0.00193000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 6572.4300000 0.00980000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1881.0300000 0.03940000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 617.9790000 0.12532000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 225.1270000 0.29577000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 88.5664000 0.00000000 0.41900000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 36.5819000 0.00000000 0.24139000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 11.0358000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 4.4906300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.1293500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.4546130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0775330 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0307900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 1113.8200000 0.00223000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 266.2440000 0.01764000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 86.5763000 0.08123000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.5934000 0.00000000 0.24040000 0.00000000 0.00000000 0.00000000 0.00000000 13.2190000 0.00000000 0.42517000 0.00000000 0.00000000 0.00000000 0.00000000 5.5835700 0.00000000 0.35972000 0.00000000 0.00000000 0.00000000 0.00000000 2.1859400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8950110 0.00000000 0.00000000 0.00000000 0.57602000 0.00000000 0.00000000 0.3519750 0.00000000 0.00000000 0.00000000 0.30890000 0.00000000 0.00000000 0.1346200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0465480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 4 0 22.4283000 0.02140000 0.00000000 0.00000000 0.00000000 6.0347900 0.11304000 0.00000000 0.00000000 0.00000000 1.9790500 0.31393000 0.00000000 0.00000000 0.00000000 0.6667500 0.00000000 1.00000000 0.00000000 0.00000000 0.2182310 0.00000000 0.00000000 1.00000000 0.00000000 0.0588000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 1 0 0.8918597 0.17378570 0.3198414 0.59733810 0.1369599 0.39293960 a 22 $ TITANIUM (14,11p,6d,3f) -> [8s,6p,4d,1f] $ S-TYPE FUNCTIONS 14 8 0 206082.0000000 0.00025000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 31226.8000000 0.00193000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 7199.3200000 0.00988000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2048.7500000 0.03994000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 670.7900000 0.12737000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 243.6500000 0.29981000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 95.9250000 0.00000000 0.41825000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 39.8101000 0.00000000 0.23582000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 12.2205000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 5.0088200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.2856900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.5128060 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0855760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0333020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 1264.7000000 0.00214000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 301.2300000 0.01725000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 96.9777000 0.08117000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 36.3727000 0.00000000 0.24143000 0.00000000 0.00000000 0.00000000 0.00000000 14.7814000 0.00000000 0.42631000 0.00000000 0.00000000 0.00000000 0.00000000 6.2746500 0.00000000 0.35714000 0.00000000 0.00000000 0.00000000 0.00000000 2.4787800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0161800 0.00000000 0.00000000 0.00000000 0.57709000 0.00000000 0.00000000 0.3981620 0.00000000 0.00000000 0.00000000 0.29986000 0.00000000 0.00000000 0.1523400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0510800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 4 0 25.9924000 0.02253000 0.00000000 0.00000000 0.00000000 7.0863400 0.11961000 0.00000000 0.00000000 0.00000000 2.3487100 0.32700000 0.00000000 0.00000000 0.00000000 0.8001980 0.00000000 1.00000000 0.00000000 0.00000000 0.2620490 0.00000000 0.00000000 1.00000000 0.00000000 0.0720000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 1 0 1.3935308 0.17378570 0.4997522 0.59733810 0.2139998 0.39293960 a 23 $ VANADIUM (14,11p,6d,3f) -> [8s,6p,4d,1f] $ S-TYPE FUNCTIONS 14 8 0 226878.0000000 0.00025000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 33899.6000000 0.00197000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 7720.2400000 0.01017000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2191.5300000 0.04098000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 719.1690000 0.12980000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 262.0860000 0.30259000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 103.6530000 0.00000000 0.41637000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 43.2548000 0.00000000 0.23133000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 13.5088000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 5.5671500 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.4517400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.5744450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0928200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0355320 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 1398.4300000 0.00214000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 331.5710000 0.01735000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 107.0020000 0.08128000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 40.3183000 0.00000000 0.24130000 0.00000000 0.00000000 0.00000000 0.00000000 16.4635000 0.00000000 0.42622000 0.00000000 0.00000000 0.00000000 0.00000000 7.0235200 0.00000000 0.35578000 0.00000000 0.00000000 0.00000000 0.00000000 2.7902500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.1460900 0.00000000 0.00000000 0.00000000 0.57693000 0.00000000 0.00000000 0.4472720 0.00000000 0.00000000 0.00000000 0.29470000 0.00000000 0.00000000 0.1668720 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0545670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 4 0 30.2212000 0.02270000 0.00000000 0.00000000 0.00000000 8.2721800 0.12248000 0.00000000 0.00000000 0.00000000 2.7582300 0.33286000 0.00000000 0.00000000 0.00000000 0.9421370 0.00000000 1.00000000 0.00000000 0.00000000 0.3052980 0.00000000 0.00000000 1.00000000 0.00000000 0.0820000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 1 0 2.0066843 0.17378570 0.7196432 0.59733810 0.3081598 0.39293960 a 24 $ CHROMIUM (14,11p,6d,3f) -> [8s,6p,4d,1f] $ S-TYPE FUNCTIONS 14 8 0 236658.0000000 0.00027000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 35364.0000000 0.00208000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 8058.3100000 0.01071000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2294.2300000 0.04284000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 756.1180000 0.13420000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 277.0000000 0.30798000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 110.1790000 0.00000000 0.41361000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 46.3710000 0.00000000 0.22241000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 14.8215000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 6.1326200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.6295900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.6411770 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0995110 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0375880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 1478.7700000 0.00228000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 351.4900000 0.01836000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 113.8260000 0.08503000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.1567000 0.00000000 0.24761000 0.00000000 0.00000000 0.00000000 0.00000000 17.7775000 0.00000000 0.42718000 0.00000000 0.00000000 0.00000000 0.00000000 7.6612800 0.00000000 0.34579000 0.00000000 0.00000000 0.00000000 0.00000000 3.0776500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.2661900 0.00000000 0.00000000 0.00000000 0.57490000 0.00000000 0.00000000 0.4935340 0.00000000 0.00000000 0.00000000 0.28473000 0.00000000 0.00000000 0.1810100 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0579200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 4 0 34.0221000 0.02328000 0.00000000 0.00000000 0.00000000 9.4316100 0.12564000 0.00000000 0.00000000 0.00000000 3.1591800 0.33897000 0.00000000 0.00000000 0.00000000 1.0799500 0.00000000 1.00000000 0.00000000 0.00000000 0.3465820 0.00000000 0.00000000 1.00000000 0.00000000 0.0912000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 1 0 2.7313203 0.17378570 0.9795143 0.59733810 0.4194397 0.39293960 a 25 $ MANGANESE (14,11p,6d,3f) -> [8s,6p,4d,1f] $ S-TYPE FUNCTIONS 14 8 0 243694.0000000 0.00029000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 35995.0000000 0.00225000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 8223.5600000 0.01152000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2353.1200000 0.04559000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 780.9650000 0.14039000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 288.5190000 0.31472000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 115.7010000 0.00000000 0.40974000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 49.1175000 0.00000000 0.21079000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 16.0885000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 6.7043000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.8051700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.7030110 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1063850 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0396160 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 1500.3900000 0.00258000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 358.8000000 0.02048000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 116.6990000 0.09293000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 44.6132000 0.00000000 0.26074000 0.00000000 0.00000000 0.00000000 0.00000000 18.5985000 0.00000000 0.42889000 0.00000000 0.00000000 0.00000000 0.00000000 8.1377800 0.00000000 0.32598000 0.00000000 0.00000000 0.00000000 0.00000000 3.3373400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.3789500 0.00000000 0.00000000 0.00000000 0.56935000 0.00000000 0.00000000 0.5386390 0.00000000 0.00000000 0.00000000 0.27354000 0.00000000 0.00000000 0.1914750 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0604200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 4 0 37.8977000 0.02409000 0.00000000 0.00000000 0.00000000 10.5201000 0.13073000 0.00000000 0.00000000 0.00000000 3.5376400 0.34648000 0.00000000 0.00000000 0.00000000 1.2121700 0.00000000 1.00000000 0.00000000 0.00000000 0.3879120 0.00000000 0.00000000 1.00000000 0.00000000 0.1054000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 1 0 3.5674388 0.17378570 1.2793657 0.59733810 0.5478396 0.39293960 a 26 $ IRON (14,11p,6d,3f) -> [8s,6p,4d,1f] $ S-TYPE FUNCTIONS 14 8 0 257539.0000000 0.00029000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 38636.9000000 0.00226000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 8891.4400000 0.01152000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2544.0100000 0.04566000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 844.7770000 0.14035000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 312.5270000 0.31420000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 125.5930000 0.00000000 0.40878000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 53.4987000 0.00000000 0.21163000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 17.7151000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 7.3767700 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.0184700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.7799350 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1142200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0418890 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 1678.4000000 0.00249000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 396.3920000 0.02015000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 128.5880000 0.09199000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.1158000 0.00000000 0.25991000 0.00000000 0.00000000 0.00000000 0.00000000 20.5035000 0.00000000 0.42887000 0.00000000 0.00000000 0.00000000 0.00000000 8.9871200 0.00000000 0.32691000 0.00000000 0.00000000 0.00000000 0.00000000 3.6824900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.5217500 0.00000000 0.00000000 0.00000000 0.56925000 0.00000000 0.00000000 0.5926840 0.00000000 0.00000000 0.00000000 0.26863000 0.00000000 0.00000000 0.2023700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0627600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 4 0 41.4526000 0.02511000 0.00000000 0.00000000 0.00000000 11.5403000 0.13626000 0.00000000 0.00000000 0.00000000 3.8854300 0.35323000 0.00000000 0.00000000 0.00000000 1.3238000 0.00000000 1.00000000 0.00000000 0.00000000 0.4166800 0.00000000 0.00000000 1.00000000 0.00000000 0.1133000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 1 0 4.5150397 0.17378570 1.6191972 0.59733810 0.6933595 0.39293960 a 27 $ COBALT (14,11p,6d,3f) -> [8s,6p,4d,1f] $ S-TYPE FUNCTIONS 14 8 0 270991.0000000 0.00031000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 39734.8000000 0.00242000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 9057.4600000 0.01238000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2598.2100000 0.04849000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 868.2000000 0.14672000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 323.4310000 0.32127000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 130.8600000 0.00000000 0.40497000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 56.1219000 0.00000000 0.19961000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 18.9219000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 7.9523800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.1975400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.8467130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1222660 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0441720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 1636.2100000 0.00296000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 390.9030000 0.02336000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 127.8840000 0.10343000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.2413000 0.00000000 0.27954000 0.00000000 0.00000000 0.00000000 0.00000000 20.7512000 0.00000000 0.43268000 0.00000000 0.00000000 0.00000000 0.00000000 9.2036800 0.00000000 0.29861000 0.00000000 0.00000000 0.00000000 0.00000000 3.8177900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.5876200 0.00000000 0.00000000 0.00000000 0.55625000 0.00000000 0.00000000 0.6246600 0.00000000 0.00000000 0.00000000 0.24345000 0.00000000 0.00000000 0.2119620 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0651030 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 4 0 44.9774000 0.02627000 0.00000000 0.00000000 0.00000000 12.5690000 0.14182000 0.00000000 0.00000000 0.00000000 4.2442200 0.35942000 0.00000000 0.00000000 0.00000000 1.4433000 0.00000000 1.00000000 0.00000000 0.00000000 0.4499650 0.00000000 0.00000000 1.00000000 0.00000000 0.1219000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 1 0 5.5741231 0.17378570 1.9990089 0.59733810 0.8559993 0.39293960 a 28 $ NICKEL (14,11p,6d,3f) -> [8s,6p,4d,1f] $ S-TYPE FUNCTIONS 14 8 0 284878.0000000 0.00032000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 41997.9000000 0.00246000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 9627.6700000 0.01254000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2761.9600000 0.04926000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 920.4880000 0.14950000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 341.8050000 0.32640000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 138.0230000 0.00000000 0.40474000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 59.2587000 0.00000000 0.19186000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 20.3712000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 8.5940000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.3941700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.9181690 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1301760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0463920 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 1774.1800000 0.00295000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 423.4030000 0.02337000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 138.3110000 0.10406000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 53.1703000 0.00000000 0.28226000 0.00000000 0.00000000 0.00000000 0.00000000 22.3874000 0.00000000 0.43486000 0.00000000 0.00000000 0.00000000 0.00000000 9.9284800 0.00000000 0.29442000 0.00000000 0.00000000 0.00000000 0.00000000 4.1162500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.7103100 0.00000000 0.00000000 0.00000000 0.55273000 0.00000000 0.00000000 0.6725280 0.00000000 0.00000000 0.00000000 0.23441000 0.00000000 0.00000000 0.2198820 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0666700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 4 0 48.9403000 0.02706000 0.00000000 0.00000000 0.00000000 13.7169000 0.14598000 0.00000000 0.00000000 0.00000000 4.6395100 0.36418000 0.00000000 0.00000000 0.00000000 1.5743300 0.00000000 1.00000000 0.00000000 0.00000000 0.4864090 0.00000000 0.00000000 1.00000000 0.00000000 0.1316000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 1 0 6.7446890 0.17378570 2.4188007 0.59733810 1.0357592 0.39293960 a 29 $ COPPER (14,11p,6d,3f) -> [8s,6p,4d,1f] $ S-TYPE FUNCTIONS 14 8 0 337200.0000000 0.00028000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 50072.9000000 0.00217000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 11373.4000000 0.01122000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3239.8200000 0.04462100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1071.9700000 0.13836000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 395.0990000 0.31255000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 158.3990000 0.00000000 0.41060000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 67.3591000 0.00000000 0.21453000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 22.2983000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 9.3935700 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.5784800 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.9640800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1133030 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0407910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 2245.2900000 0.00226000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 532.1060000 0.01841000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 172.1950000 0.08646000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 65.3239000 0.00000000 0.25450000 0.00000000 0.00000000 0.00000000 0.00000000 27.0551000 0.00000000 0.43419000 0.00000000 0.00000000 0.00000000 0.00000000 11.7435000 0.00000000 0.33390000 0.00000000 0.00000000 0.00000000 0.00000000 4.6938200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.9066700 0.00000000 0.00000000 0.00000000 0.56936000 0.00000000 0.00000000 0.7114450 0.00000000 0.00000000 0.00000000 0.24702000 0.00000000 0.00000000 0.2325980 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0692990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 4 0 48.5439000 0.03097000 0.00000000 0.00000000 0.00000000 13.5490000 0.16196000 0.00000000 0.00000000 0.00000000 4.5162800 0.37812000 0.00000000 0.00000000 0.00000000 1.4732900 0.00000000 1.00000000 0.00000000 0.00000000 0.4148750 0.00000000 0.00000000 1.00000000 0.00000000 0.1491000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 1 0 8.0267373 0.17378570 2.8785728 0.59733810 1.2326390 0.39293960 ergo-3.5/basis/6-311+Gs0000664000175000017500000003614412743400275011314 00000000000000$Basis = 6-311+G* $Elements supported $H He Li Be B C N O F Ne $ $ REFERENCE $ Elements References $ -------- ---------- $H, Li - Ne: R. Krishnan, J.S. Binkley, R. Seeger and J.A. Pople, $ J. Chem. Phys. 72, 650 (1980) $Na - Ar: A.D. McLean and G.S. Chandler J. Chem. Phys. 72, 5639, (1980). $K - Ca: J-P. Blaudeau, M. P. McGrath, L.A. Curtiss and L. Radom, $ J. Chem. Phys. 107, 5016 (1997). $Ga - Kr: L. A. Curtiss, M. P. McGrath, J-P. Blandeau, N. E. Davis, $ R. C. Binning, Jr. L. Radom, J. Chem. Phys. 103, 6104 (1995). $I : M.N. Glukhovstev, A. pross, M.P. McGrath, L. Radom, J. Chem. Phys. $ 103, 1878 (1995) $ $ Polarization functions $Elements References $-------- ---------- $Li - Ar: R. Krishnan, J.S. Binkley, R. Seeger, J.A. Pople, $ J. Chem. Phys. 72, 650 (1980). $K - Ca: J-P. Blaudeau, M. P. McGrath, L.A. Curtiss and L. Radom, $ J. Chem. Phys. 107, 5016 (1997). $Ga - Kr: L. A. Curtiss, M. P. McGrath, J-P. Blandeau, N. E. Davis, R. C. $ Binning, Jr., L. Radom, J. Chem. Phys. 103, 6104 (1995) $ $ Diffuse functions $Elements Reference $-------- ---------- $ H, Li-Cl: T. Clark, J. Chandrasekhar, G.W. Spitznagel and P.V.R. Schleyer, $ J. Comp. Chem. 4, 294 (1983). $ a 1 $ HYDROGEN (5s) -> [3s] $ HYDROGEN (1p) $ HYDROGEN (Diffuse s) $ S-TYPE FUNCTIONS 5 3 0 33.8650000 0.02549380 0.00000000 0.00000000 5.0947900 0.19037300 0.00000000 0.00000000 1.1587900 0.85216100 0.00000000 0.00000000 0.3258400 0.00000000 1.00000000 0.00000000 0.1027410 0.00000000 0.00000000 1.00000000 a 2 $ HELIUM (5s) -> [3s] $ HELIUM (1p) $ S-TYPE FUNCTIONS 5 3 0 98.1243000 0.02874520 0.00000000 0.00000000 14.7689000 0.20806100 0.00000000 0.00000000 3.3188300 0.83763500 0.00000000 0.00000000 0.8740470 0.00000000 1.00000000 0.00000000 0.2445640 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.7500000 1.00000000 a 3 $ LITHIUM (11s,5p) -> [4s,3p] $ LITHIUM (1d) $ LITHIUM (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 900.4600000 0.00228704 0.00000000 0.00000000 0.00000000 0.00000000 134.4330000 0.01763500 0.00000000 0.00000000 0.00000000 0.00000000 30.4365000 0.08734340 0.00000000 0.00000000 0.00000000 0.00000000 8.6263900 0.28097700 0.00000000 0.00000000 0.00000000 0.00000000 2.4833200 0.65874100 0.00000000 0.00000000 0.00000000 0.00000000 0.3031790 0.11871200 0.00000000 0.00000000 0.00000000 0.00000000 4.8689000 0.00000000 0.09332930 0.00000000 0.00000000 0.00000000 0.8569240 0.00000000 0.94304500 0.00000000 0.00000000 0.00000000 0.2432270 0.00000000 -0.00279827 0.00000000 0.00000000 0.00000000 0.0635070 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0243683 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 4.8689000 0.03276610 0.00000000 0.00000000 0.00000000 0.8569240 0.15979200 0.00000000 0.00000000 0.00000000 0.2432270 0.88566700 0.00000000 0.00000000 0.00000000 0.0635070 0.00000000 1.00000000 0.00000000 0.00000000 0.0243683 0.00000000 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.2000000 1.00000000 a 4 $ BERYLLIUM (11s,5p) -> [4s,3p] $ BERYLLIUM (1d) $ BERYLLIUM (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 1682.8000000 0.00228574 0.00000000 0.00000000 0.00000000 0.00000000 251.7150000 0.01759380 0.00000000 0.00000000 0.00000000 0.00000000 57.4116000 0.08633150 0.00000000 0.00000000 0.00000000 0.00000000 16.5171000 0.28183500 0.00000000 0.00000000 0.00000000 0.00000000 4.8536400 0.64059400 0.00000000 0.00000000 0.00000000 0.00000000 0.6268630 0.14446700 0.00000000 0.00000000 0.00000000 0.00000000 8.3093800 0.00000000 0.10862100 0.00000000 0.00000000 0.00000000 1.7407500 0.00000000 0.92730100 0.00000000 0.00000000 0.00000000 0.4858160 0.00000000 -0.00297169 0.00000000 0.00000000 0.00000000 0.1636130 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0567285 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 8.3093800 0.03613440 0.00000000 0.00000000 0.00000000 1.7407500 0.21695800 0.00000000 0.00000000 0.00000000 0.4858160 0.84183900 0.00000000 0.00000000 0.00000000 0.1636130 0.00000000 1.00000000 0.00000000 0.00000000 0.0567285 0.00000000 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.2550000 1.00000000 a 5 $ BORON (11s,5p) -> [4s,3p] $ BORON (1d) $ BORON (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 2858.8900000 0.00215375 0.00000000 0.00000000 0.00000000 0.00000000 428.1400000 0.01658230 0.00000000 0.00000000 0.00000000 0.00000000 97.5282000 0.08218700 0.00000000 0.00000000 0.00000000 0.00000000 27.9693000 0.27661800 0.00000000 0.00000000 0.00000000 0.00000000 8.2157700 0.62931600 0.00000000 0.00000000 0.00000000 0.00000000 1.1127800 0.17377000 0.00000000 0.00000000 0.00000000 0.00000000 13.2415000 0.00000000 0.11744300 0.00000000 0.00000000 0.00000000 3.0016600 0.00000000 0.91800200 0.00000000 0.00000000 0.00000000 0.9128560 0.00000000 -0.00265105 0.00000000 0.00000000 0.00000000 0.3154540 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0988563 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 13.2415000 0.04181000 0.00000000 0.00000000 0.00000000 3.0016600 0.23657500 0.00000000 0.00000000 0.00000000 0.9128560 0.81621400 0.00000000 0.00000000 0.00000000 0.3154540 0.00000000 1.00000000 0.00000000 0.00000000 0.0988563 0.00000000 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4010000 1.00000000 a 6 $ CARBON (11s,5p) -> [4s,3p] $ CARBON (1d) $ CARBON (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 4563.2400000 0.00196665 0.00000000 0.00000000 0.00000000 0.00000000 682.0240000 0.01523060 0.00000000 0.00000000 0.00000000 0.00000000 154.9730000 0.07612690 0.00000000 0.00000000 0.00000000 0.00000000 44.4553000 0.26080100 0.00000000 0.00000000 0.00000000 0.00000000 13.0290000 0.61646200 0.00000000 0.00000000 0.00000000 0.00000000 1.8277300 0.22100600 0.00000000 0.00000000 0.00000000 0.00000000 20.9642000 0.00000000 0.11466000 0.00000000 0.00000000 0.00000000 4.8033100 0.00000000 0.91999900 0.00000000 0.00000000 0.00000000 1.4593300 0.00000000 -0.00303068 0.00000000 0.00000000 0.00000000 0.4834560 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1455850 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 20.9642000 0.04024870 0.00000000 0.00000000 0.00000000 4.8033100 0.23759400 0.00000000 0.00000000 0.00000000 1.4593300 0.81585400 0.00000000 0.00000000 0.00000000 0.4834560 0.00000000 1.00000000 0.00000000 0.00000000 0.1455850 0.00000000 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6260000 1.00000000 a 7 $ NITROGEN (11s,5p) -> [4s,3p] $ NITROGEN (1d) $ NITROGEN (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 6293.4800000 0.00196979 0.00000000 0.00000000 0.00000000 0.00000000 949.0440000 0.01496130 0.00000000 0.00000000 0.00000000 0.00000000 218.7760000 0.07350060 0.00000000 0.00000000 0.00000000 0.00000000 63.6916000 0.24893700 0.00000000 0.00000000 0.00000000 0.00000000 18.8282000 0.60246000 0.00000000 0.00000000 0.00000000 0.00000000 2.7202300 0.25620200 0.00000000 0.00000000 0.00000000 0.00000000 30.6331000 0.00000000 0.11190600 0.00000000 0.00000000 0.00000000 7.0261400 0.00000000 0.92166600 0.00000000 0.00000000 0.00000000 2.1120500 0.00000000 -0.00256919 0.00000000 0.00000000 0.00000000 0.6840090 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2008780 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 30.6331000 0.03831190 0.00000000 0.00000000 0.00000000 7.0261400 0.23740300 0.00000000 0.00000000 0.00000000 2.1120500 0.81759200 0.00000000 0.00000000 0.00000000 0.6840090 0.00000000 1.00000000 0.00000000 0.00000000 0.2008780 0.00000000 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.9130000 1.00000000 a 8 $ OXYGEN (11s,5p) -> [4s,3p] $ OXYGEN (1d) $ OXYGEN (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 8588.5000000 0.00189515 0.00000000 0.00000000 0.00000000 0.00000000 1297.2300000 0.01438590 0.00000000 0.00000000 0.00000000 0.00000000 299.2960000 0.07073200 0.00000000 0.00000000 0.00000000 0.00000000 87.3771000 0.24000100 0.00000000 0.00000000 0.00000000 0.00000000 25.6789000 0.59479700 0.00000000 0.00000000 0.00000000 0.00000000 3.7400400 0.28080200 0.00000000 0.00000000 0.00000000 0.00000000 42.1175000 0.00000000 0.11388900 0.00000000 0.00000000 0.00000000 9.6283700 0.00000000 0.92081100 0.00000000 0.00000000 0.00000000 2.8533200 0.00000000 -0.00327447 0.00000000 0.00000000 0.00000000 0.9056610 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2556110 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 42.1175000 0.03651140 0.00000000 0.00000000 0.00000000 9.6283700 0.23715300 0.00000000 0.00000000 0.00000000 2.8533200 0.81970200 0.00000000 0.00000000 0.00000000 0.9056610 0.00000000 1.00000000 0.00000000 0.00000000 0.2556110 0.00000000 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.2920000 1.00000000 a 9 $ FLUORINE (11s,5p) -> [4s,3p] $ FLUORINE (1d) $ FLUORINE (Diffuse sp) $ S-TYPE FUNCTIONS 12 5 0 11427.1000000 0.00180093 0.00000000 0.00000000 0.00000000 0.00000000 1722.3500000 0.01374190 0.00000000 0.00000000 0.00000000 0.00000000 395.7460000 0.06813340 0.00000000 0.00000000 0.00000000 0.00000000 115.1390000 0.23332500 0.00000000 0.00000000 0.00000000 0.00000000 33.6026000 0.58908600 0.00000000 0.00000000 0.00000000 0.00000000 4.9190100 0.29950500 0.00000000 0.00000000 0.00000000 0.00000000 55.4441000 0.00000000 0.11453600 0.00000000 0.00000000 0.00000000 12.6323000 0.00000000 0.92051200 0.00000000 0.00000000 0.00000000 3.7175600 0.00000000 -0.00337804 0.00000000 0.00000000 0.00000000 1.1654500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3218920 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 55.4441000 0.03546090 0.00000000 0.00000000 0.00000000 12.6323000 0.23745100 0.00000000 0.00000000 0.00000000 3.7175600 0.82045800 0.00000000 0.00000000 0.00000000 1.1654500 0.00000000 1.00000000 0.00000000 0.00000000 0.3218920 0.00000000 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.7500000 1.00000000 a 10 $ NEON (11s,5p) -> [4s,3p] $ NEON (1d) $ S-TYPE FUNCTIONS 11 4 0 13995.7000000 0.00183276 0.00000000 0.00000000 0.00000000 2117.1000000 0.01388270 0.00000000 0.00000000 0.00000000 490.4250000 0.06806870 0.00000000 0.00000000 0.00000000 143.8330000 0.23132800 0.00000000 0.00000000 0.00000000 41.9265000 0.58589000 0.00000000 0.00000000 0.00000000 6.1568400 0.30588300 0.00000000 0.00000000 0.00000000 69.1211000 0.00000000 0.01191490 0.00000000 0.00000000 15.8350000 0.00000000 0.91737500 0.00000000 0.00000000 4.6732600 0.00000000 -0.00405839 0.00000000 0.00000000 1.4575600 0.00000000 0.00000000 1.00000000 0.00000000 0.3970570 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 69.1211000 0.03565740 0.00000000 0.00000000 15.8350000 0.23947700 0.00000000 0.00000000 4.6732600 0.81846100 0.00000000 0.00000000 1.4575600 0.00000000 1.00000000 0.00000000 0.3970570 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 2.3040000 1.00000000 ergo-3.5/basis/GAMESS-VTZ0000775000175000017500000006237312743400275011746 00000000000000$Basis = GAMESS VTZ $Elements supported $H Be B C N O F Ne Na Mg Al Si P S Cl Ar $ $ REFERENCE $ T. H. DUNNING, JR., J. CHEM. PHYS. 55, 716 (1971) $ A.D. MCLEAN AND G.S. CHANDLER, J. CHEM. PHYS. 72, 5639 (1980) $ A.J.H. WATCHERS, J. CHEM. PHYS. 52, 1033 (1970). $ a 1 $ HYDROGEN (5s) -> [3s] $ S-TYPE FUNCTIONS 5 3 0 33.6400000 0.02537400 0.00000000 0.00000000 5.0580000 0.18968400 0.00000000 0.00000000 1.1470000 0.85293300 0.00000000 0.00000000 0.3211000 0.00000000 1.00000000 0.00000000 0.1013000 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (10s,5p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 3630.0000000 0.00083900 0.00000000 0.00000000 0.00000000 0.00000000 532.3000000 0.00673500 0.00000000 0.00000000 0.00000000 0.00000000 117.8000000 0.03572600 0.00000000 0.00000000 0.00000000 0.00000000 32.6600000 0.13863500 0.00000000 0.00000000 0.00000000 0.00000000 10.4800000 0.38539900 0.00000000 0.00000000 0.00000000 0.00000000 3.6680000 0.54768800 0.00000000 0.00000000 0.00000000 0.00000000 3.6680000 0.00000000 0.21340600 0.00000000 0.00000000 0.00000000 1.3540000 0.00000000 0.81469200 0.00000000 0.00000000 0.00000000 0.3890000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1502000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0524100 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 3.2020000 0.05291200 0.00000000 0.00000000 0.6923000 0.26765900 0.00000000 0.00000000 0.2016000 0.79208500 0.00000000 0.00000000 0.1183000 0.00000000 1.00000000 0.00000000 0.0694000 0.00000000 0.00000000 1.00000000 a 5 $ BORON (10s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 6250.0000000 0.00079800 0.00000000 0.00000000 0.00000000 0.00000000 916.1000000 0.00641000 0.00000000 0.00000000 0.00000000 0.00000000 202.2000000 0.03429900 0.00000000 0.00000000 0.00000000 0.00000000 55.8300000 0.13548700 0.00000000 0.00000000 0.00000000 0.00000000 17.8600000 0.38853200 0.00000000 0.00000000 0.00000000 0.00000000 6.2530000 0.54775800 0.00000000 0.00000000 0.00000000 0.00000000 6.2530000 0.00000000 0.23264300 0.00000000 0.00000000 0.00000000 2.3120000 0.00000000 0.79721900 0.00000000 0.00000000 0.00000000 0.6824000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2604000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0894000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 15.4600000 0.01682200 0.00000000 0.00000000 3.4830000 0.10087800 0.00000000 0.00000000 1.0660000 0.33689500 0.00000000 0.00000000 0.3928000 0.67231700 0.00000000 0.00000000 0.1503000 0.00000000 1.00000000 0.00000000 0.0572200 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (10s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 9471.0000000 0.00077600 0.00000000 0.00000000 0.00000000 0.00000000 1398.0000000 0.00621800 0.00000000 0.00000000 0.00000000 0.00000000 307.5000000 0.03357500 0.00000000 0.00000000 0.00000000 0.00000000 84.5400000 0.13427800 0.00000000 0.00000000 0.00000000 0.00000000 26.9100000 0.39366800 0.00000000 0.00000000 0.00000000 0.00000000 9.4090000 0.54416900 0.00000000 0.00000000 0.00000000 0.00000000 9.4090000 0.00000000 0.24807500 0.00000000 0.00000000 0.00000000 3.5000000 0.00000000 0.78284400 0.00000000 0.00000000 0.00000000 1.0680000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.4002000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1351000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 25.3700000 0.01629500 0.00000000 0.00000000 5.7760000 0.10209800 0.00000000 0.00000000 1.7870000 0.34022800 0.00000000 0.00000000 0.6577000 0.66826900 0.00000000 0.00000000 0.2480000 0.00000000 1.00000000 0.00000000 0.0910600 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (10s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 13520.0000000 0.00076000 0.00000000 0.00000000 0.00000000 0.00000000 1999.0000000 0.00607600 0.00000000 0.00000000 0.00000000 0.00000000 440.0000000 0.03284700 0.00000000 0.00000000 0.00000000 0.00000000 120.9000000 0.13239600 0.00000000 0.00000000 0.00000000 0.00000000 38.4700000 0.39326100 0.00000000 0.00000000 0.00000000 0.00000000 13.4600000 0.54633900 0.00000000 0.00000000 0.00000000 0.00000000 13.4600000 0.00000000 0.25203600 0.00000000 0.00000000 0.00000000 4.9930000 0.00000000 0.77938500 0.00000000 0.00000000 0.00000000 1.5690000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1923000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 35.9100000 0.01691600 0.00000000 0.00000000 8.4800000 0.10220000 0.00000000 0.00000000 2.7060000 0.33813400 0.00000000 0.00000000 0.9921000 0.66928100 0.00000000 0.00000000 0.3727000 0.00000000 1.00000000 0.00000000 0.1346000 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (10s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 18050.0000000 0.00075700 0.00000000 0.00000000 0.00000000 0.00000000 2660.0000000 0.00606600 0.00000000 0.00000000 0.00000000 0.00000000 585.7000000 0.03278200 0.00000000 0.00000000 0.00000000 0.00000000 160.9000000 0.13260900 0.00000000 0.00000000 0.00000000 0.00000000 51.1600000 0.39683900 0.00000000 0.00000000 0.00000000 0.00000000 17.9000000 0.54257200 0.00000000 0.00000000 0.00000000 0.00000000 17.9000000 0.00000000 0.26249000 0.00000000 0.00000000 0.00000000 6.6390000 0.00000000 0.76982800 0.00000000 0.00000000 0.00000000 2.0770000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.7736000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2558000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 49.8300000 0.01635800 0.00000000 0.00000000 11.4900000 0.10645300 0.00000000 0.00000000 3.6090000 0.34930200 0.00000000 0.00000000 1.3210000 0.65718300 0.00000000 0.00000000 0.4821000 0.00000000 1.00000000 0.00000000 0.1651000 0.00000000 0.00000000 1.00000000 a 9 $ FLUORINE (10s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 23340.0000000 0.00075700 0.00000000 0.00000000 0.00000000 0.00000000 3431.0000000 0.00608100 0.00000000 0.00000000 0.00000000 0.00000000 757.7000000 0.03263600 0.00000000 0.00000000 0.00000000 0.00000000 209.2000000 0.13170400 0.00000000 0.00000000 0.00000000 0.00000000 66.7300000 0.39624000 0.00000000 0.00000000 0.00000000 0.00000000 23.3700000 0.54367200 0.00000000 0.00000000 0.00000000 0.00000000 23.3700000 0.00000000 0.26489300 0.00000000 0.00000000 0.00000000 8.6240000 0.00000000 0.76792500 0.00000000 0.00000000 0.00000000 2.6920000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.0090000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3312000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 65.6600000 0.01603700 0.00000000 0.00000000 15.2200000 0.10569700 0.00000000 0.00000000 4.7880000 0.35022700 0.00000000 0.00000000 1.7320000 0.65819500 0.00000000 0.00000000 0.6206000 0.00000000 1.00000000 0.00000000 0.2070000 0.00000000 0.00000000 1.00000000 a 10 $ NEON (10s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 28660.0000000 0.00076700 0.00000000 0.00000000 0.00000000 0.00000000 4263.0000000 0.00606800 0.00000000 0.00000000 0.00000000 0.00000000 946.8000000 0.03247400 0.00000000 0.00000000 0.00000000 0.00000000 261.5000000 0.13146800 0.00000000 0.00000000 0.00000000 0.00000000 83.3400000 0.39772300 0.00000000 0.00000000 0.00000000 0.00000000 29.1700000 0.54249100 0.00000000 0.00000000 0.00000000 0.00000000 29.1700000 0.00000000 0.26906500 0.00000000 0.00000000 0.00000000 10.7600000 0.00000000 0.76412100 0.00000000 0.00000000 0.00000000 3.3430000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.2410000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.4063000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 84.8400000 0.01555000 0.00000000 0.00000000 19.7100000 0.10301100 0.00000000 0.00000000 6.2190000 0.34921500 0.00000000 0.00000000 2.2110000 0.66283900 0.00000000 0.00000000 0.7853000 0.00000000 1.00000000 0.00000000 0.2566000 0.00000000 0.00000000 1.00000000 a 11 $ SODIUM (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 36166.40000 0.00103200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5372.58000000 0.00807100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1213.21000000 0.04212900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 339.62000000 0.16978900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 109.55000000 0.51462100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.77700000 0.37981700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.77700000 0.00000000 0.37476200 0.00000000 0.00000000 0.00000000 0.00000000 14.57600000 0.00000000 0.57576900 0.00000000 0.00000000 0.00000000 0.00000000 5.26990000 0.00000000 0.11293300 0.00000000 0.00000000 0.00000000 0.00000000 1.82780000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.61990000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.05720000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 144.64500000 0.01148500 0.00000000 0.00000000 0.00000000 0.00000000 33.90700000 0.08238300 0.00000000 0.00000000 0.00000000 0.00000000 10.62900000 0.31965800 0.00000000 0.00000000 0.00000000 0.00000000 3.82390000 0.70129500 0.00000000 0.00000000 0.00000000 0.00000000 1.44430000 0.00000000 0.63850600 0.00000000 0.00000000 0.00000000 0.55260000 0.00000000 0.42536500 0.00000000 0.00000000 0.00000000 0.18870000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.04650000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01630000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 12 $ MAGNESIUM (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 43866.50000 0.00091800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6605.37000000 0.00704700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1513.26000000 0.03594100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 432.31700000 0.14146100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142.14900000 0.42676400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.39800000 0.49797500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.39800000 0.00000000 0.25135500 0.00000000 0.00000000 0.00000000 0.00000000 19.92000000 0.00000000 0.61867100 0.00000000 0.00000000 0.00000000 0.00000000 8.02470000 0.00000000 0.18841700 0.00000000 0.00000000 0.00000000 0.00000000 2.50820000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.87150000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10820000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04010000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 193.85400000 0.01018800 0.00000000 0.00000000 0.00000000 0.00000000 45.44200000 0.07536000 0.00000000 0.00000000 0.00000000 0.00000000 14.18600000 0.30741900 0.00000000 0.00000000 0.00000000 0.00000000 5.05750000 0.71757500 0.00000000 0.00000000 0.00000000 0.00000000 1.88860000 0.00000000 0.66733900 0.00000000 0.00000000 0.00000000 0.72270000 0.00000000 0.39464900 0.00000000 0.00000000 0.00000000 0.23640000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09340000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03480000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 13 $ ALUMINUM (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 54866.49000 0.00083900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8211.77000000 0.00652700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1866.18000000 0.03366600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 531.12900000 0.13290200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 175.11800000 0.40126600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 64.00550000 0.53133800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 64.00550000 0.00000000 0.20230500 0.00000000 0.00000000 0.00000000 0.00000000 25.29250000 0.00000000 0.62479000 0.00000000 0.00000000 0.00000000 0.00000000 10.53490000 0.00000000 0.22743900 0.00000000 0.00000000 0.00000000 0.00000000 3.20670000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.15260000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.17670000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06520000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 259.28400000 0.00944800 0.00000000 0.00000000 0.00000000 0.00000000 61.07690000 0.07097400 0.00000000 0.00000000 0.00000000 0.00000000 19.30320000 0.29563600 0.00000000 0.00000000 0.00000000 0.00000000 7.01090000 0.72821900 0.00000000 0.00000000 0.00000000 0.00000000 2.67390000 0.00000000 0.64446700 0.00000000 0.00000000 0.00000000 1.03660000 0.00000000 0.41741300 0.00000000 0.00000000 0.00000000 0.31680000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11430000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04140000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 69379.23000 0.00075700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10354.94000 0.00593200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2333.88000000 0.03108800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 657.14000000 0.12496700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 214.30000000 0.38689700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 77.62900000 0.55488800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 77.62900000 0.00000000 0.17788100 0.00000000 0.00000000 0.00000000 0.00000000 30.63100000 0.00000000 0.62776500 0.00000000 0.00000000 0.00000000 0.00000000 12.80100000 0.00000000 0.24762300 0.00000000 0.00000000 0.00000000 0.00000000 3.92690000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.45230000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.25620000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09430000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 335.48000000 0.00886600 0.00000000 0.00000000 0.00000000 0.00000000 78.90000000 0.06829900 0.00000000 0.00000000 0.00000000 0.00000000 24.98800000 0.29095800 0.00000000 0.00000000 0.00000000 0.00000000 9.21970000 0.73211600 0.00000000 0.00000000 0.00000000 0.00000000 3.62110000 0.00000000 0.61987900 0.00000000 0.00000000 0.00000000 1.45130000 0.00000000 0.43914800 0.00000000 0.00000000 0.00000000 0.50500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.18630000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06540000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 77492.43000 0.00078700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11605.79000 0.00610700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2645.96000000 0.03137300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 754.98000000 0.12423900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 248.75000000 0.38089300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 91.15700000 0.55981200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 91.15700000 0.00000000 0.16398600 0.00000000 0.00000000 0.00000000 0.00000000 36.22600000 0.00000000 0.62595000 0.00000000 0.00000000 0.00000000 0.00000000 15.21100000 0.00000000 0.26219600 0.00000000 0.00000000 0.00000000 0.00000000 4.71380000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.78270000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.34250000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.12460000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 384.84000000 0.00324000 0.00000000 0.00000000 0.00000000 0.00000000 90.55200000 0.02492500 0.00000000 0.00000000 0.00000000 0.00000000 28.80600000 0.10569700 0.00000000 0.00000000 0.00000000 0.00000000 10.68800000 0.26322900 0.00000000 0.00000000 0.00000000 0.00000000 4.25210000 0.71905300 0.00000000 0.00000000 0.00000000 0.00000000 4.25210000 0.00000000 -1.61273900 0.00000000 0.00000000 0.00000000 1.74050000 0.00000000 1.20508300 0.00000000 0.00000000 0.00000000 0.59790000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.22920000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08380000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 93413.40000 0.00074200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13961.70000 0.00579000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3169.90000000 0.02994500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 902.46000000 0.11897100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 297.16000000 0.36827300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.70200000 0.57750700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.70200000 0.00000000 0.14294300 0.00000000 0.00000000 0.00000000 0.00000000 43.15500000 0.00000000 0.62460600 0.00000000 0.00000000 0.00000000 0.00000000 18.10800000 0.00000000 0.28343800 0.00000000 0.00000000 0.00000000 0.00000000 5.57050000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.14270000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.43400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 495.04000000 0.00272000 0.00000000 0.00000000 0.00000000 0.00000000 117.22000000 0.02109000 0.00000000 0.00000000 0.00000000 0.00000000 37.50700000 0.09236900 0.00000000 0.00000000 0.00000000 0.00000000 13.91000000 0.24678100 0.00000000 0.00000000 0.00000000 0.00000000 5.50450000 0.74384000 0.00000000 0.00000000 0.00000000 0.00000000 5.50450000 0.00000000 -1.60871900 0.00000000 0.00000000 0.00000000 2.24330000 0.00000000 1.22325500 0.00000000 0.00000000 0.00000000 0.77620000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.29190000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10290000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 105818.80000 0.00074300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15872.00000 0.00575300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3619.70000000 0.02967600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1030.80000000 0.11801000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 339.91000000 0.36523000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 124.53800000 0.58122100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 124.53800000 0.00000000 0.13754800 0.00000000 0.00000000 0.00000000 0.00000000 49.51400000 0.00000000 0.62288100 0.00000000 0.00000000 0.00000000 0.00000000 20.80600000 0.00000000 0.29014300 0.00000000 0.00000000 0.00000000 0.00000000 6.46480000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.52540000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.53780000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.19350000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 589.78000000 0.00276000 0.00000000 0.00000000 0.00000000 0.00000000 139.85000000 0.02153600 0.00000000 0.00000000 0.00000000 0.00000000 44.79500000 0.09591600 0.00000000 0.00000000 0.00000000 0.00000000 16.61200000 0.26231500 0.00000000 0.00000000 0.00000000 0.00000000 6.59950000 0.72681100 0.00000000 0.00000000 0.00000000 0.00000000 6.59950000 0.00000000 -1.56429400 0.00000000 0.00000000 0.00000000 2.71410000 0.00000000 1.49577800 0.00000000 0.00000000 0.00000000 0.95280000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.35800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.12500000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 118022.40000 0.00074700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17683.50000 0.00579000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4027.80000000 0.02991900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1145.40000000 0.11920600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 377.16000000 0.36902800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 138.16000000 0.57645900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 138.16000000 0.00000000 0.14392700 0.00000000 0.00000000 0.00000000 0.00000000 54.98900000 0.00000000 0.62293800 0.00000000 0.00000000 0.00000000 0.00000000 23.17100000 0.00000000 0.28396400 0.00000000 0.00000000 0.00000000 0.00000000 7.37790000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.92370000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.65040000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.23280000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 663.06000000 0.00308200 0.00000000 0.00000000 0.00000000 0.00000000 157.09000000 0.02416500 0.00000000 0.00000000 0.00000000 0.00000000 50.23100000 0.10822300 0.00000000 0.00000000 0.00000000 0.00000000 18.63500000 0.29419200 0.00000000 0.00000000 0.00000000 0.00000000 7.44650000 0.68786200 0.00000000 0.00000000 0.00000000 0.00000000 7.44650000 0.00000000 -1.21448200 0.00000000 0.00000000 0.00000000 3.09570000 0.00000000 1.63237000 0.00000000 0.00000000 0.00000000 1.10650000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.41560000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14540000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/hybrid-guess-basis0000775000175000017500000026705412743400275014015 00000000000000$ Basis = hybrid-guess-basis $ This is STO-2G for H and C, 3-21G for all the rest. $ Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn $ Ga Ge As Se Br Kr Rb Sr Y Zr Nb Mo Tc Rh Rh Pd Ag Cd In Sn Sb Te I Xe Cs $ $ REFERENCE $ Elements References $ -------- ---------- $ H - Ne: J.S. Binkley, J.A. Pople, W.J. Hehre, J. Am. Chem. Soc 102 939 (1980) $ Na - Ar: M.S. Gordon, J.S. Binkley, J.A. Pople, W.J. Pietro and W.J. Hehre, $ J. Am. Chem. Soc. 104, 2797 (1983). $ K - Ca: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 7, 359 (1986). $ Ga - Kr: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 7, 359 (1986). $ Sc - Zn: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 8, 861 (1987). $ Y - Cd: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 8, 880 (1987). $ Cs : A 3-21G quality set derived from the Huzinage MIDI basis sets. $ E.D. Glendening and D. Feller, J. Phys. Chem. 99, 3060 (1995) $ a 1 $ HYDROGEN (2S) -> [1S] $ S-TYPE FUNCTIONS 2 1 0 1.3097564 0.43012850 0.2331360 0.67891353 A 2 $ HELIUM (3s) -> [2s] $ S-TYPE FUNCTIONS 3 2 0 13.6267000 0.17523000 0.00000000 1.9993500 0.89348300 0.00000000 0.3829930 0.00000000 1.00000000 A 3 $ LITHIUM (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 36.8382000 0.06966860 0.00000000 0.00000000 5.4817200 0.38134600 0.00000000 0.00000000 1.1132700 0.68170200 0.00000000 0.00000000 0.5402050 0.00000000 -0.26312700 0.00000000 0.1022550 0.00000000 1.14339000 0.00000000 0.0285650 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 0.5402050 0.16154600 0.00000000 0.1022550 0.91566300 0.00000000 0.0285650 0.00000000 1.00000000 A 4 $ BERYLLIUM (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 71.8876000 0.06442630 0.00000000 0.00000000 10.7289000 0.36609600 0.00000000 0.00000000 2.2220500 0.69593400 0.00000000 0.00000000 1.2954800 0.00000000 -0.42106400 0.00000000 0.2688810 0.00000000 1.22407000 0.00000000 0.0773500 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 1.2954800 0.20513200 0.00000000 0.2688810 0.88252800 0.00000000 0.0773500 0.00000000 1.00000000 A 5 $ BORON (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 116.4340000 0.06296050 0.00000000 0.00000000 17.4314000 0.36330400 0.00000000 0.00000000 3.6801600 0.69725500 0.00000000 0.00000000 2.2818700 0.00000000 -0.36866200 0.00000000 0.4652480 0.00000000 1.19944000 0.00000000 0.1243280 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 2.2818700 0.23115200 0.00000000 0.4652480 0.86676400 0.00000000 0.1243280 0.00000000 1.00000000 a 6 $ CARBON (4S,2P) -> [2S,1P] $ S-TYPE FUNCTIONS 4 2 0 27.3850330 0.43012850 0.00000000 4.8745221 0.67891353 0.00000000 1.1367482 0.00000000 0.04947177 0.2883094 0.00000000 0.96378241 $ P-TYPE FUNCTIONS 2 1 0 1.1367482 0.51154071 0.2883094 0.61281990 A 7 $ NITROGEN (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 242.7660000 0.05986570 0.00000000 0.00000000 36.4851000 0.35295500 0.00000000 0.00000000 7.8144900 0.70651300 0.00000000 0.00000000 5.4252200 0.00000000 -0.41330100 0.00000000 1.1491500 0.00000000 1.22442000 0.00000000 0.2832050 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 5.4252200 0.23797200 0.00000000 1.1491500 0.85895300 0.00000000 0.2832050 0.00000000 1.00000000 A 8 $ OXYGEN (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 322.0370000 0.05923940 0.00000000 0.00000000 48.4308000 0.35150000 0.00000000 0.00000000 10.4206000 0.70765800 0.00000000 0.00000000 7.4029400 0.00000000 -0.40445300 0.00000000 1.5762000 0.00000000 1.22156000 0.00000000 0.3736840 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 7.4029400 0.24458600 0.00000000 1.5762000 0.85395500 0.00000000 0.3736840 0.00000000 1.00000000 A 9 $ FLUORINE (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 413.8010000 0.05854830 0.00000000 0.00000000 62.2446000 0.34930800 0.00000000 0.00000000 13.4340000 0.70963200 0.00000000 0.00000000 9.7775900 0.00000000 -0.40732700 0.00000000 2.0861700 0.00000000 1.22314000 0.00000000 0.4823830 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 9.7775900 0.24668000 0.00000000 2.0861700 0.85232100 0.00000000 0.4823830 0.00000000 1.00000000 A 10 $ NEON (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 515.7240000 0.05814300 0.00000000 0.00000000 77.6538000 0.34795100 0.00000000 0.00000000 16.8136000 0.71071400 0.00000000 0.00000000 12.4830000 0.00000000 -0.40992200 0.00000000 2.6645100 0.00000000 1.22431000 0.00000000 0.6062500 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 12.4830000 0.24746000 0.00000000 2.6645100 0.85174300 0.00000000 0.6062500 0.00000000 1.00000000 A 11 $ SODIUM (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 547.6130000 0.06749110 0.00000000 0.00000000 0.00000000 82.0678000 0.39350500 0.00000000 0.00000000 0.00000000 17.6917000 0.66560500 0.00000000 0.00000000 0.00000000 17.5407000 0.00000000 -0.11193700 0.00000000 0.00000000 3.7939800 0.00000000 0.25465400 0.00000000 0.00000000 0.9064410 0.00000000 0.84441700 0.00000000 0.00000000 0.5018240 0.00000000 0.00000000 -0.21966000 0.00000000 0.0609458 0.00000000 0.00000000 1.08912000 0.00000000 0.0244349 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 17.5407000 0.12823300 0.00000000 0.00000000 3.7939800 0.47153300 0.00000000 0.00000000 0.9064410 0.60427300 0.00000000 0.00000000 0.5018240 0.00000000 0.00906650 0.00000000 0.0609458 0.00000000 0.99720200 0.00000000 0.0244349 0.00000000 0.00000000 1.00000000 A 12 $ MAGNESIUM (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 652.8410000 0.06759820 0.00000000 0.00000000 0.00000000 98.3805000 0.39177800 0.00000000 0.00000000 0.00000000 21.2996000 0.66666100 0.00000000 0.00000000 0.00000000 23.3727000 0.00000000 -0.11024600 0.00000000 0.00000000 5.1995300 0.00000000 0.18411900 0.00000000 0.00000000 1.3150800 0.00000000 0.89639900 0.00000000 0.00000000 0.6113490 0.00000000 0.00000000 -0.36110100 0.00000000 0.1418410 0.00000000 0.00000000 1.21505000 0.00000000 0.0464011 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 23.3727000 0.12101400 0.00000000 0.00000000 5.1995300 0.46281000 0.00000000 0.00000000 1.3150800 0.60690700 0.00000000 0.00000000 0.6113490 0.00000000 0.02426330 0.00000000 0.1418410 0.00000000 0.98667300 0.00000000 0.0464011 0.00000000 0.00000000 1.00000000 A 13 $ ALUMINUM (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 775.7370000 0.06683470 0.00000000 0.00000000 0.00000000 116.9520000 0.38906100 0.00000000 0.00000000 0.00000000 25.3326000 0.66946800 0.00000000 0.00000000 0.00000000 29.4796000 0.00000000 -0.10790200 0.00000000 0.00000000 6.6331400 0.00000000 0.14624500 0.00000000 0.00000000 1.7267500 0.00000000 0.92373000 0.00000000 0.00000000 0.9461600 0.00000000 0.00000000 -0.32032700 0.00000000 0.2025060 0.00000000 0.00000000 1.18412000 0.00000000 0.0639088 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 29.4796000 0.11757400 0.00000000 0.00000000 6.6331400 0.46117400 0.00000000 0.00000000 1.7267500 0.60553500 0.00000000 0.00000000 0.9461600 0.00000000 0.05193830 0.00000000 0.2025060 0.00000000 0.97266000 0.00000000 0.0639088 0.00000000 0.00000000 1.00000000 A 14 $ SILICON (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 910.6550000 0.06608230 0.00000000 0.00000000 0.00000000 137.3360000 0.38622900 0.00000000 0.00000000 0.00000000 29.7601000 0.67238000 0.00000000 0.00000000 0.00000000 36.6716000 0.00000000 -0.10451100 0.00000000 0.00000000 8.3172900 0.00000000 0.10741000 0.00000000 0.00000000 2.2164500 0.00000000 0.95144600 0.00000000 0.00000000 1.0791300 0.00000000 0.00000000 -0.37610800 0.00000000 0.3024220 0.00000000 0.00000000 1.25165000 0.00000000 0.0933392 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 36.6716000 0.11335500 0.00000000 0.00000000 8.3172900 0.45757800 0.00000000 0.00000000 2.2164500 0.60742700 0.00000000 0.00000000 1.0791300 0.00000000 0.06710300 0.00000000 0.3024220 0.00000000 0.95688300 0.00000000 0.0933392 0.00000000 0.00000000 1.00000000 A 15 $ PHOSPHORUS (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 1054.9000000 0.06554100 0.00000000 0.00000000 0.00000000 159.1950000 0.38403600 0.00000000 0.00000000 0.00000000 34.5304000 0.67454100 0.00000000 0.00000000 0.00000000 44.2866000 0.00000000 -0.10213000 0.00000000 0.00000000 10.1019000 0.00000000 0.08159200 0.00000000 0.00000000 2.7399700 0.00000000 0.96978800 0.00000000 0.00000000 1.2186500 0.00000000 0.00000000 -0.37149500 0.00000000 0.3955460 0.00000000 0.00000000 1.27099000 0.00000000 0.1228110 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 44.2866000 0.11085100 0.00000000 0.00000000 10.1019000 0.45649500 0.00000000 0.00000000 2.7399700 0.60693600 0.00000000 0.00000000 1.2186500 0.00000000 0.09158200 0.00000000 0.3955460 0.00000000 0.93492400 0.00000000 0.1228110 0.00000000 0.00000000 1.00000000 A 16 $ SULFUR (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 1210.6200000 0.06500700 0.00000000 0.00000000 0.00000000 182.7470000 0.38204000 0.00000000 0.00000000 0.00000000 39.6673000 0.67654500 0.00000000 0.00000000 0.00000000 52.2236000 0.00000000 -0.10031000 0.00000000 0.00000000 11.9629000 0.00000000 0.06508800 0.00000000 0.00000000 3.2891100 0.00000000 0.98145500 0.00000000 0.00000000 1.2238400 0.00000000 0.00000000 -0.28608900 0.00000000 0.4573030 0.00000000 0.00000000 1.22806000 0.00000000 0.1422690 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 52.2236000 0.10964600 0.00000000 0.00000000 11.9629000 0.45764900 0.00000000 0.00000000 3.2891100 0.60426100 0.00000000 0.00000000 1.2238400 0.00000000 0.16477700 0.00000000 0.4573030 0.00000000 0.87085500 0.00000000 0.1422690 0.00000000 0.00000000 1.00000000 A 17 $ CHLORINE (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 1376.4000000 0.06458270 0.00000000 0.00000000 0.00000000 207.8570000 0.38036300 0.00000000 0.00000000 0.00000000 45.1554000 0.67819000 0.00000000 0.00000000 0.00000000 60.8014000 0.00000000 -0.09876390 0.00000000 0.00000000 13.9765000 0.00000000 0.05113380 0.00000000 0.00000000 3.8871000 0.00000000 0.99133700 0.00000000 0.00000000 1.3529900 0.00000000 0.00000000 -0.22240100 0.00000000 0.5269550 0.00000000 0.00000000 1.18252000 0.00000000 0.1667140 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 60.8014000 0.10859800 0.00000000 0.00000000 13.9765000 0.45868200 0.00000000 0.00000000 3.8871000 0.60196200 0.00000000 0.00000000 1.3529900 0.00000000 0.21921600 0.00000000 0.5269550 0.00000000 0.82232100 0.00000000 0.1667140 0.00000000 0.00000000 1.00000000 A 18 $ ARGON (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 1553.7100000 0.06417070 0.00000000 0.00000000 0.00000000 234.6780000 0.37879700 0.00000000 0.00000000 0.00000000 51.0121000 0.67975200 0.00000000 0.00000000 0.00000000 70.0453000 0.00000000 -0.09746610 0.00000000 0.00000000 16.1473000 0.00000000 0.03905690 0.00000000 0.00000000 4.5349200 0.00000000 0.99991600 0.00000000 0.00000000 1.5420900 0.00000000 0.00000000 -0.17686600 0.00000000 0.6072670 0.00000000 0.00000000 1.14690000 0.00000000 0.1953730 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 70.0453000 0.10761900 0.00000000 0.00000000 16.1473000 0.45957600 0.00000000 0.00000000 4.5349200 0.60004100 0.00000000 0.00000000 1.5420900 0.00000000 0.25568700 0.00000000 0.6072670 0.00000000 0.78984200 0.00000000 0.1953730 0.00000000 0.00000000 1.00000000 A 19 $ POTASSIUM (12s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 12 5 0 1721.1755000 0.06487470 0.00000000 0.00000000 0.00000000 0.00000000 260.0163300 0.38085930 0.00000000 0.00000000 0.00000000 0.00000000 56.6245540 0.67736810 0.00000000 0.00000000 0.00000000 0.00000000 71.5572000 0.00000000 -0.10934290 0.00000000 0.00000000 0.00000000 15.4389400 0.00000000 0.11306400 0.00000000 0.00000000 0.00000000 4.4745510 0.00000000 0.94625750 0.00000000 0.00000000 0.00000000 4.1212750 0.00000000 0.00000000 -0.26997300 0.00000000 0.00000000 1.1886210 0.00000000 0.00000000 0.36463230 0.00000000 0.00000000 0.3756740 0.00000000 0.00000000 0.81075330 0.00000000 0.00000000 0.2445770 0.00000000 0.00000000 0.00000000 -0.26882500 0.00000000 0.0389720 0.00000000 0.00000000 0.00000000 1.12898300 0.00000000 0.0160630 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 71.5572000 0.13396540 0.00000000 0.00000000 0.00000000 15.4389400 0.53026730 0.00000000 0.00000000 0.00000000 4.4745510 0.51179920 0.00000000 0.00000000 0.00000000 4.1212750 0.00000000 0.01994922 0.00000000 0.00000000 1.1886210 0.00000000 0.43402130 0.00000000 0.00000000 0.3756740 0.00000000 0.64532260 0.00000000 0.00000000 0.2445770 0.00000000 0.00000000 0.00030810 0.00000000 0.0389720 0.00000000 0.00000000 0.99987870 0.00000000 0.0160630 0.00000000 0.00000000 0.00000000 1.00000000 A 20 $ CALCIUM (12s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 12 5 0 1915.4348000 0.06462400 0.00000000 0.00000000 0.00000000 0.00000000 289.5332400 0.37983800 0.00000000 0.00000000 0.00000000 0.00000000 63.1063520 0.67832900 0.00000000 0.00000000 0.00000000 0.00000000 80.3974400 0.00000000 -0.10930300 0.00000000 0.00000000 0.00000000 17.3307500 0.00000000 0.10890000 0.00000000 0.00000000 0.00000000 5.0836240 0.00000000 0.94927700 0.00000000 0.00000000 0.00000000 4.7822290 0.00000000 0.00000000 -0.28160700 0.00000000 0.00000000 1.4625580 0.00000000 0.00000000 0.34105100 0.00000000 0.00000000 0.4792230 0.00000000 0.00000000 0.83810400 0.00000000 0.00000000 0.4396820 0.00000000 0.00000000 0.00000000 -0.26970500 0.00000000 0.0591300 0.00000000 0.00000000 0.00000000 1.11329300 0.00000000 0.0238970 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 80.3974400 0.13543300 0.00000000 0.00000000 0.00000000 17.3307500 0.53722200 0.00000000 0.00000000 0.00000000 5.0836240 0.50180400 0.00000000 0.00000000 0.00000000 4.7822290 0.00000000 0.01900900 0.00000000 0.00000000 1.4625580 0.00000000 0.43603800 0.00000000 0.00000000 0.4792230 0.00000000 0.63867100 0.00000000 0.00000000 0.4396820 0.00000000 0.00000000 0.00030800 0.00000000 0.0591300 0.00000000 0.00000000 0.99989600 0.00000000 0.0238970 0.00000000 0.00000000 0.00000000 1.00000000 A 21 $ SCANDIUM (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 2119.8870000 0.06442100 0.00000000 0.00000000 0.00000000 0.00000000 320.4299000 0.37916000 0.00000000 0.00000000 0.00000000 0.00000000 69.8989300 0.67896300 0.00000000 0.00000000 0.00000000 0.00000000 89.7645000 0.00000000 -0.10938400 0.00000000 0.00000000 0.00000000 19.3851000 0.00000000 0.10507000 0.00000000 0.00000000 0.00000000 5.7314230 0.00000000 0.95220500 0.00000000 0.00000000 0.00000000 5.4919380 0.00000000 0.00000000 -0.28521100 0.00000000 0.00000000 1.7437420 0.00000000 0.00000000 0.32415500 0.00000000 0.00000000 0.5662270 0.00000000 0.00000000 0.85659200 0.00000000 0.00000000 0.5168020 0.00000000 0.00000000 0.00000000 -0.26267800 0.00000000 0.0672140 0.00000000 0.00000000 0.00000000 1.10807900 0.00000000 0.0259850 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 89.7645000 0.13632800 0.00000000 0.00000000 0.00000000 19.3851000 0.54186000 0.00000000 0.00000000 0.00000000 5.7314230 0.49505500 0.00000000 0.00000000 0.00000000 5.4919380 0.00000000 0.01761400 0.00000000 0.00000000 1.7437420 0.00000000 0.43364500 0.00000000 0.00000000 0.5662270 0.00000000 0.64255100 0.00000000 0.00000000 0.5168020 0.00000000 0.00000000 0.00032700 0.00000000 0.0672140 0.00000000 0.00000000 0.99989300 0.00000000 0.0259850 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 5.7222150 0.26523600 0.00000000 1.3608490 0.85586100 0.00000000 0.3226520 0.00000000 1.00000000 A 22 $ TITANIUM (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 2335.0200000 0.06421700 0.00000000 0.00000000 0.00000000 0.00000000 353.0441000 0.37841200 0.00000000 0.00000000 0.00000000 0.00000000 77.0584500 0.67968100 0.00000000 0.00000000 0.00000000 0.00000000 99.5738700 0.00000000 -0.10947200 0.00000000 0.00000000 0.00000000 21.5467100 0.00000000 0.10194300 0.00000000 0.00000000 0.00000000 6.4139650 0.00000000 0.95462200 0.00000000 0.00000000 0.00000000 6.2382790 0.00000000 0.00000000 -0.28613700 0.00000000 0.00000000 1.9961080 0.00000000 0.00000000 0.32182800 0.00000000 0.00000000 0.6464900 0.00000000 0.00000000 0.85955100 0.00000000 0.00000000 0.5732850 0.00000000 0.00000000 0.00000000 -0.24245000 0.00000000 0.0731190 0.00000000 0.00000000 0.00000000 1.10007500 0.00000000 0.0265380 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 99.5738700 0.13729700 0.00000000 0.00000000 0.00000000 21.5467100 0.54587500 0.00000000 0.00000000 0.00000000 6.4139650 0.48906800 0.00000000 0.00000000 0.00000000 6.2382790 0.00000000 0.01923700 0.00000000 0.00000000 1.9961080 0.00000000 0.44044200 0.00000000 0.00000000 0.6464900 0.00000000 0.63562000 0.00000000 0.00000000 0.5732850 0.00000000 0.00000000 0.00029200 0.00000000 0.0731190 0.00000000 0.00000000 0.99990700 0.00000000 0.0265380 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 7.0836660 0.26292100 0.00000000 1.7096340 0.85577200 0.00000000 0.4141230 0.00000000 1.00000000 A 23 $ VANADIUM (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 2563.8770000 0.06394800 0.00000000 0.00000000 0.00000000 0.00000000 387.5340000 0.37759400 0.00000000 0.00000000 0.00000000 0.00000000 84.5982300 0.68054200 0.00000000 0.00000000 0.00000000 0.00000000 109.7938000 0.00000000 -0.10983600 0.00000000 0.00000000 0.00000000 23.7692100 0.00000000 0.10070700 0.00000000 0.00000000 0.00000000 7.1229610 0.00000000 0.95563300 0.00000000 0.00000000 0.00000000 6.9812040 0.00000000 0.00000000 -0.28845900 0.00000000 0.00000000 2.2198390 0.00000000 0.00000000 0.33643600 0.00000000 0.00000000 0.7198030 0.00000000 0.00000000 0.84819000 0.00000000 0.00000000 0.6312620 0.00000000 0.00000000 0.00000000 -0.23649000 0.00000000 0.0800620 0.00000000 0.00000000 0.00000000 1.09772100 0.00000000 0.0288650 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 109.7938000 0.13842100 0.00000000 0.00000000 0.00000000 23.7692100 0.55048900 0.00000000 0.00000000 0.00000000 7.1229610 0.48241700 0.00000000 0.00000000 0.00000000 6.9812040 0.00000000 0.02182100 0.00000000 0.00000000 2.2198390 0.00000000 0.45676200 0.00000000 0.00000000 0.7198030 0.00000000 0.61867500 0.00000000 0.00000000 0.6312620 0.00000000 0.00000000 0.00019000 0.00000000 0.0800620 0.00000000 0.00000000 0.99994000 0.00000000 0.0288650 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 8.3429170 0.26406200 0.00000000 2.0329440 0.85396600 0.00000000 0.4957120 0.00000000 1.00000000 A 24 $ CHROMIUM (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 2798.2940000 0.06382400 0.00000000 0.00000000 0.00000000 0.00000000 423.1370000 0.37708400 0.00000000 0.00000000 0.00000000 0.00000000 92.4388600 0.68098900 0.00000000 0.00000000 0.00000000 0.00000000 120.2806000 0.00000000 -0.11777900 0.00000000 0.00000000 0.00000000 26.0372700 0.00000000 0.10143100 0.00000000 0.00000000 0.00000000 7.8441720 0.00000000 0.95719800 0.00000000 0.00000000 0.00000000 7.7932760 0.00000000 0.00000000 -0.28885700 0.00000000 0.00000000 2.4971960 0.00000000 0.00000000 0.33511500 0.00000000 0.00000000 0.8051420 0.00000000 0.00000000 0.85024800 0.00000000 0.00000000 0.7039210 0.00000000 0.00000000 0.00000000 -0.23225100 0.00000000 0.0861620 0.00000000 0.00000000 0.00000000 1.09367100 0.00000000 0.0321990 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 120.2806000 0.13987800 0.00000000 0.00000000 0.00000000 26.0372700 0.55598300 0.00000000 0.00000000 0.00000000 7.8441720 0.47481800 0.00000000 0.00000000 0.00000000 7.7932760 0.00000000 0.02218500 0.00000000 0.00000000 2.4971960 0.00000000 0.46162500 0.00000000 0.00000000 0.8051420 0.00000000 0.61453900 0.00000000 0.00000000 0.7039210 0.00000000 0.00000000 0.00018000 0.00000000 0.0861620 0.00000000 0.00000000 0.99994500 0.00000000 0.0321990 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 9.6253390 0.26559600 0.00000000 2.3622640 0.85215600 0.00000000 0.5770940 0.00000000 1.00000000 A 25 $ MANGANESE (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 3041.6860000 0.06374500 0.00000000 0.00000000 0.00000000 0.00000000 460.0901000 0.37674900 0.00000000 0.00000000 0.00000000 0.00000000 100.5958000 0.68124700 0.00000000 0.00000000 0.00000000 0.00000000 131.7673000 0.00000000 -0.11029600 0.00000000 0.00000000 0.00000000 28.5691500 0.00000000 0.09819000 0.00000000 0.00000000 0.00000000 8.6605010 0.00000000 0.95765900 0.00000000 0.00000000 0.00000000 8.5690810 0.00000000 0.00000000 -0.29171400 0.00000000 0.00000000 2.7681780 0.00000000 0.00000000 0.34396300 0.00000000 0.00000000 0.8872880 0.00000000 0.00000000 0.84519800 0.00000000 0.00000000 0.7674430 0.00000000 0.00000000 0.00000000 -0.23000400 0.00000000 0.0920250 0.00000000 0.00000000 0.00000000 1.09145000 0.00000000 0.0332650 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 131.7673000 0.14045400 0.00000000 0.00000000 0.00000000 28.5691500 0.55780200 0.00000000 0.00000000 0.00000000 8.6605010 0.47150100 0.00000000 0.00000000 0.00000000 8.5690810 0.00000000 0.02422400 0.00000000 0.00000000 2.7681780 0.00000000 0.46866000 0.00000000 0.00000000 0.8872880 0.00000000 0.60742100 0.00000000 0.00000000 0.7674430 0.00000000 0.00000000 0.00030800 0.00000000 0.0920250 0.00000000 0.00000000 0.99990700 0.00000000 0.0332650 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 11.0688400 0.26527200 0.00000000 2.7307070 0.85179500 0.00000000 0.6685090 0.00000000 1.00000000 A 26 $ IRON (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 3299.1840000 0.06358600 0.00000000 0.00000000 0.00000000 0.00000000 499.0886000 0.37620200 0.00000000 0.00000000 0.00000000 0.00000000 109.1614000 0.68178500 0.00000000 0.00000000 0.00000000 0.00000000 143.4652000 0.00000000 -0.11055200 0.00000000 0.00000000 0.00000000 31.1685800 0.00000000 0.09684700 0.00000000 0.00000000 0.00000000 9.4836120 0.00000000 0.95879700 0.00000000 0.00000000 0.00000000 9.4645650 0.00000000 0.00000000 -0.29205600 0.00000000 0.00000000 3.1003730 0.00000000 0.00000000 0.33752400 0.00000000 0.00000000 0.9864930 0.00000000 0.00000000 0.85194200 0.00000000 0.00000000 0.8534120 0.00000000 0.00000000 0.00000000 -0.22794400 0.00000000 0.0988120 0.00000000 0.00000000 0.00000000 1.08828700 0.00000000 0.0364420 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 143.4652000 0.14110100 0.00000000 0.00000000 0.00000000 31.1685800 0.56038700 0.00000000 0.00000000 0.00000000 9.4836120 0.46764400 0.00000000 0.00000000 0.00000000 9.4645650 0.00000000 0.02376200 0.00000000 0.00000000 3.1003730 0.00000000 0.46891100 0.00000000 0.00000000 0.9864930 0.00000000 0.60831100 0.00000000 0.00000000 0.8534120 0.00000000 0.00000000 -0.00042600 0.00000000 0.0988120 0.00000000 0.00000000 1.00012400 0.00000000 0.0364420 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 12.3544900 0.26861100 0.00000000 3.0556050 0.84927200 0.00000000 0.7385910 0.00000000 1.00000000 A 27 $ COBALT (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 3564.7620000 0.06348700 0.00000000 0.00000000 0.00000000 0.00000000 539.3908000 0.37581800 0.00000000 0.00000000 0.00000000 0.00000000 118.0449000 0.68212200 0.00000000 0.00000000 0.00000000 0.00000000 155.4382000 0.00000000 -0.11098700 0.00000000 0.00000000 0.00000000 33.8156100 0.00000000 0.09676700 0.00000000 0.00000000 0.00000000 10.3332300 0.00000000 0.95899200 0.00000000 0.00000000 0.00000000 10.3815200 0.00000000 0.00000000 -0.29226200 0.00000000 0.00000000 3.3827140 0.00000000 0.00000000 0.34325100 0.00000000 0.00000000 1.0769540 0.00000000 0.00000000 0.84696300 0.00000000 0.00000000 0.9090150 0.00000000 0.00000000 0.00000000 -0.21746000 0.00000000 0.1050410 0.00000000 0.00000000 0.00000000 1.08499800 0.00000000 0.0372570 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 155.4382000 0.14206400 0.00000000 0.00000000 0.00000000 33.8156100 0.56344400 0.00000000 0.00000000 0.00000000 10.3332300 0.46302400 0.00000000 0.00000000 0.00000000 10.3815200 0.00000000 0.02631300 0.00000000 0.00000000 3.3827140 0.00000000 0.47691700 0.00000000 0.00000000 1.0769540 0.00000000 0.59915400 0.00000000 0.00000000 0.9090150 0.00000000 0.00000000 0.00022800 0.00000000 0.1050410 0.00000000 0.00000000 0.99993400 0.00000000 0.0372570 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 13.7407000 0.27095500 0.00000000 3.4089830 0.84734200 0.00000000 0.8186410 0.00000000 1.00000000 A 28 $ NICKEL (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 3848.0050000 0.06326600 0.00000000 0.00000000 0.00000000 0.00000000 582.0307000 0.37517100 0.00000000 0.00000000 0.00000000 0.00000000 127.3674000 0.68282400 0.00000000 0.00000000 0.00000000 0.00000000 168.2896000 0.00000000 -0.11111500 0.00000000 0.00000000 0.00000000 36.6563300 0.00000000 0.09532400 0.00000000 0.00000000 0.00000000 11.2321200 0.00000000 0.96016100 0.00000000 0.00000000 0.00000000 11.3587700 0.00000000 0.00000000 -0.29206000 0.00000000 0.00000000 3.7388460 0.00000000 0.00000000 0.33754100 0.00000000 0.00000000 1.1824630 0.00000000 0.00000000 0.85253300 0.00000000 0.00000000 0.9889040 0.00000000 0.00000000 0.00000000 -0.21368700 0.00000000 0.1110250 0.00000000 0.00000000 0.00000000 1.08193300 0.00000000 0.0392580 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 168.2896000 0.14249000 0.00000000 0.00000000 0.00000000 36.6563300 0.56554700 0.00000000 0.00000000 0.00000000 11.2321200 0.45999300 0.00000000 0.00000000 0.00000000 11.3587700 0.00000000 0.02613800 0.00000000 0.00000000 3.7388460 0.00000000 0.47659800 0.00000000 0.00000000 1.1824630 0.00000000 0.60038000 0.00000000 0.00000000 0.9889040 0.00000000 0.00000000 0.00029400 0.00000000 0.1110250 0.00000000 0.00000000 0.99991700 0.00000000 0.0392580 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 15.2206900 0.27260600 0.00000000 3.7860200 0.84592800 0.00000000 0.9045570 0.00000000 1.00000000 A 29 $ COPPER (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 4134.3020000 0.06318800 0.00000000 0.00000000 0.00000000 0.00000000 625.4912000 0.37484500 0.00000000 0.00000000 0.00000000 0.00000000 136.9556000 0.68310000 0.00000000 0.00000000 0.00000000 0.00000000 181.4960000 0.00000000 -0.11132000 0.00000000 0.00000000 0.00000000 39.5743100 0.00000000 0.09448700 0.00000000 0.00000000 0.00000000 12.1624600 0.00000000 0.96087900 0.00000000 0.00000000 0.00000000 12.3511100 0.00000000 0.00000000 -0.29222300 0.00000000 0.00000000 4.0496510 0.00000000 0.00000000 0.34299100 0.00000000 0.00000000 1.2792250 0.00000000 0.00000000 0.84794600 0.00000000 0.00000000 1.0498040 0.00000000 0.00000000 0.00000000 -0.20650800 0.00000000 0.1169330 0.00000000 0.00000000 0.00000000 1.07927300 0.00000000 0.0007510 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 181.4960000 0.14308400 0.00000000 0.00000000 0.00000000 39.5743100 0.56775600 0.00000000 0.00000000 0.00000000 12.1624600 0.45671400 0.00000000 0.00000000 0.00000000 12.3511100 0.00000000 0.02772700 0.00000000 0.00000000 4.0496510 0.00000000 0.48352400 0.00000000 0.00000000 1.2792250 0.00000000 0.59297800 0.00000000 0.00000000 1.0498040 0.00000000 0.00000000 0.00013900 0.00000000 0.1169330 0.00000000 0.00000000 0.99996100 0.00000000 0.0007510 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 16.7593800 0.27411200 0.00000000 4.1789770 0.84462500 0.00000000 0.9943270 0.00000000 1.00000000 A 30 $ ZINC (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 4432.2880000 0.06309300 0.00000000 0.00000000 0.00000000 0.00000000 670.6601000 0.37450400 0.00000000 0.00000000 0.00000000 0.00000000 146.9024000 0.68341600 0.00000000 0.00000000 0.00000000 0.00000000 195.0042000 0.00000000 -0.11162800 0.00000000 0.00000000 0.00000000 42.5688900 0.00000000 0.09433600 0.00000000 0.00000000 0.00000000 13.1214300 0.00000000 0.96110000 0.00000000 0.00000000 0.00000000 13.4023100 0.00000000 0.00000000 -0.29178100 0.00000000 0.00000000 4.3999060 0.00000000 0.00000000 0.34261400 0.00000000 0.00000000 1.3851480 0.00000000 0.00000000 0.84828400 0.00000000 0.00000000 1.1215580 0.00000000 0.00000000 0.00000000 -0.20237100 0.00000000 0.1229440 0.00000000 0.00000000 0.00000000 1.07703500 0.00000000 0.0421930 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 195.0042000 0.14380600 0.00000000 0.00000000 0.00000000 42.5688900 0.57000200 0.00000000 0.00000000 0.00000000 13.1214300 0.45331200 0.00000000 0.00000000 0.00000000 13.4023100 0.00000000 0.02870500 0.00000000 0.00000000 4.3999060 0.00000000 0.48625200 0.00000000 0.00000000 1.3851480 0.00000000 0.59023500 0.00000000 0.00000000 1.1215580 0.00000000 0.00000000 0.00034400 0.00000000 0.1229440 0.00000000 0.00000000 0.99990500 0.00000000 0.0421930 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 18.3682000 0.27538600 0.00000000 4.5913040 0.84347700 0.00000000 1.0902030 0.00000000 1.00000000 A 31 $ GALLIUM (12s,9p,3d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 12 5 0 4751.8979000 0.06284000 0.00000000 0.00000000 0.00000000 0.00000000 718.9205400 0.37361100 0.00000000 0.00000000 0.00000000 0.00000000 157.4459200 0.68436300 0.00000000 0.00000000 0.00000000 0.00000000 209.5834000 0.00000000 -0.11151600 0.00000000 0.00000000 0.00000000 45.6917100 0.00000000 0.09269600 0.00000000 0.00000000 0.00000000 14.1329700 0.00000000 0.96228700 0.00000000 0.00000000 0.00000000 14.5995400 0.00000000 0.00000000 0.29102900 0.00000000 0.00000000 4.8608420 0.00000000 0.00000000 -0.32318800 0.00000000 0.00000000 1.5491110 0.00000000 0.00000000 -0.86439100 0.00000000 0.00000000 1.2679430 0.00000000 0.00000000 0.00000000 -0.28513100 0.00000000 0.1883990 0.00000000 0.00000000 0.00000000 1.12802200 0.00000000 0.0572370 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 209.5834000 0.14426600 0.00000000 0.00000000 0.00000000 45.6917100 0.57317800 0.00000000 0.00000000 0.00000000 14.1329700 0.44908600 0.00000000 0.00000000 0.00000000 14.5995400 0.00000000 0.02656200 0.00000000 0.00000000 4.8608420 0.00000000 0.48331400 0.00000000 0.00000000 1.5491110 0.00000000 0.59243000 0.00000000 0.00000000 1.2679430 0.00000000 0.00000000 0.03018300 0.00000000 0.1883990 0.00000000 0.00000000 0.98846600 0.00000000 0.0572370 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 21.2925300 0.16199000 5.3931660 0.51167400 1.3338830 0.58987300 A 32 $ GERMANIUM (12s,9p,3d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 12 5 0 5073.7499000 0.06272500 0.00000000 0.00000000 0.00000000 0.00000000 767.7241700 0.37316700 0.00000000 0.00000000 0.00000000 0.00000000 168.1888100 0.68478700 0.00000000 0.00000000 0.00000000 0.00000000 224.4360000 0.00000000 -0.11151500 0.00000000 0.00000000 0.00000000 48.9554300 0.00000000 0.09120000 0.00000000 0.00000000 0.00000000 15.1837000 0.00000000 0.96344900 0.00000000 0.00000000 0.00000000 15.9125700 0.00000000 0.00000000 -0.28956500 0.00000000 0.00000000 5.4414370 0.00000000 0.00000000 0.29388300 0.00000000 0.00000000 1.7426030 0.00000000 0.00000000 0.88919900 0.00000000 0.00000000 1.4665380 0.00000000 0.00000000 0.00000000 -0.39673400 0.00000000 0.2630930 0.00000000 0.00000000 0.00000000 1.19067000 0.00000000 0.0848210 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 224.4360000 0.14464000 0.00000000 0.00000000 0.00000000 48.9554300 0.57538000 0.00000000 0.00000000 0.00000000 15.1837000 0.44599500 0.00000000 0.00000000 0.00000000 15.9125700 0.00000000 0.02297300 0.00000000 0.00000000 5.4414370 0.00000000 0.47324500 0.00000000 0.00000000 1.7426030 0.00000000 0.60327800 0.00000000 0.00000000 1.4665380 0.00000000 0.00000000 0.02789300 0.00000000 0.2630930 0.00000000 0.00000000 0.98749000 0.00000000 0.0848210 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 24.3214210 0.15779900 6.2238140 0.51149200 1.5887370 0.58577000 A 33 $ ARSENIC (12s,9p,3d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 12 5 0 5407.6138000 0.06260100 0.00000000 0.00000000 0.00000000 0.00000000 818.1743600 0.37277900 0.00000000 0.00000000 0.00000000 0.00000000 179.2656900 0.68518400 0.00000000 0.00000000 0.00000000 0.00000000 237.7783000 0.00000000 -0.11283800 0.00000000 0.00000000 0.00000000 54.2566200 0.00000000 0.08722700 0.00000000 0.00000000 0.00000000 16.3280300 0.00000000 0.96818800 0.00000000 0.00000000 0.00000000 17.1018500 0.00000000 0.00000000 -0.29145400 0.00000000 0.00000000 5.8051440 0.00000000 0.00000000 0.29696200 0.00000000 0.00000000 1.9020840 0.00000000 0.00000000 0.88657900 0.00000000 0.00000000 1.6754040 0.00000000 0.00000000 0.00000000 -0.50576100 0.00000000 0.3416560 0.00000000 0.00000000 0.00000000 1.25176400 0.00000000 0.1136300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 237.7783000 0.14968000 0.00000000 0.00000000 0.00000000 54.2566200 0.56232200 0.00000000 0.00000000 0.00000000 16.3280300 0.45932300 0.00000000 0.00000000 0.00000000 17.1018500 0.00000000 0.02568600 0.00000000 0.00000000 5.8051440 0.00000000 0.48339700 0.00000000 0.00000000 1.9020840 0.00000000 0.58878500 0.00000000 0.00000000 1.6754040 0.00000000 0.00000000 0.02528200 0.00000000 0.3416560 0.00000000 0.00000000 0.98743300 0.00000000 0.1136300 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 27.4372090 0.15449500 7.0840440 0.51143200 1.8558230 0.58219400 A 34 $ SELENIUM (12s,9p,3d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 12 5 0 5751.3215000 0.06249300 0.00000000 0.00000000 0.00000000 0.00000000 870.2572100 0.37236800 0.00000000 0.00000000 0.00000000 0.00000000 190.7294900 0.68558000 0.00000000 0.00000000 0.00000000 0.00000000 255.0164000 0.00000000 -0.11190800 0.00000000 0.00000000 0.00000000 55.5765400 0.00000000 0.09099900 0.00000000 0.00000000 0.00000000 17.3566100 0.00000000 0.96366800 0.00000000 0.00000000 0.00000000 18.4456800 0.00000000 0.00000000 -0.29179300 0.00000000 0.00000000 6.3287590 0.00000000 0.00000000 0.28462100 0.00000000 0.00000000 2.0967580 0.00000000 0.00000000 0.89730500 0.00000000 0.00000000 1.8726330 0.00000000 0.00000000 0.00000000 -0.56776400 0.00000000 0.4174740 0.00000000 0.00000000 0.00000000 1.29412700 0.00000000 0.1370910 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 255.0164000 0.14614900 0.00000000 0.00000000 0.00000000 55.5765400 0.58137100 0.00000000 0.00000000 0.00000000 17.3566100 0.43746000 0.00000000 0.00000000 0.00000000 18.4456800 0.00000000 0.02442100 0.00000000 0.00000000 6.3287590 0.00000000 0.48336500 0.00000000 0.00000000 2.0967580 0.00000000 0.58790400 0.00000000 0.00000000 1.8726330 0.00000000 0.00000000 0.02825500 0.00000000 0.4174740 0.00000000 0.00000000 0.98490600 0.00000000 0.1370910 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 30.6274640 0.15198600 7.9712760 0.51164000 2.1348100 0.57869400 A 35 $ BROMINE (12s,9p,3d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 12 5 0 6103.2899000 0.06241800 0.00000000 0.00000000 0.00000000 0.00000000 923.6974300 0.37204100 0.00000000 0.00000000 0.00000000 0.00000000 202.5203100 0.68587300 0.00000000 0.00000000 0.00000000 0.00000000 270.6015000 0.00000000 -0.11214900 0.00000000 0.00000000 0.00000000 58.2535700 0.00000000 0.09314500 0.00000000 0.00000000 0.00000000 18.4693300 0.00000000 0.96167900 0.00000000 0.00000000 0.00000000 19.7614200 0.00000000 0.00000000 -0.29387000 0.00000000 0.00000000 6.8217520 0.00000000 0.00000000 0.28026600 0.00000000 0.00000000 2.2916290 0.00000000 0.00000000 0.90203600 0.00000000 0.00000000 2.1312060 0.00000000 0.00000000 0.00000000 -0.65180300 0.00000000 0.4993540 0.00000000 0.00000000 0.00000000 1.33601200 0.00000000 0.1647640 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 270.6015000 0.14775100 0.00000000 0.00000000 0.00000000 58.2535700 0.60105600 0.00000000 0.00000000 0.00000000 18.4693300 0.41287000 0.00000000 0.00000000 0.00000000 19.7614200 0.00000000 0.02500700 0.00000000 0.00000000 6.8217520 0.00000000 0.48661000 0.00000000 0.00000000 2.2916290 0.00000000 0.58242300 0.00000000 0.00000000 2.1312060 0.00000000 0.00000000 0.02870800 0.00000000 0.4993540 0.00000000 0.00000000 0.98407000 0.00000000 0.1647640 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 33.9650970 0.14966700 8.9008310 0.51174800 2.4284360 0.57591500 A 36 $ KRYPTON (12s,9p,3d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 12 5 0 6446.6307000 0.06254000 0.00000000 0.00000000 0.00000000 0.00000000 976.8757000 0.37210700 0.00000000 0.00000000 0.00000000 0.00000000 214.4795500 0.68561100 0.00000000 0.00000000 0.00000000 0.00000000 287.6446000 0.00000000 -0.11206100 0.00000000 0.00000000 0.00000000 62.6200900 0.00000000 0.09013900 0.00000000 0.00000000 0.00000000 19.6917400 0.00000000 0.96433000 0.00000000 0.00000000 0.00000000 21.1232100 0.00000000 0.00000000 -0.29581700 0.00000000 0.00000000 7.3032860 0.00000000 0.00000000 0.27921700 0.00000000 0.00000000 2.4888500 0.00000000 0.00000000 0.90373000 0.00000000 0.00000000 2.3613740 0.00000000 0.00000000 0.00000000 -0.72024500 0.00000000 0.5860160 0.00000000 0.00000000 0.00000000 1.37684600 0.00000000 0.1944470 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 287.6446000 0.14752800 0.00000000 0.00000000 0.00000000 62.6200900 0.58689200 0.00000000 0.00000000 0.00000000 19.6917400 0.42950700 0.00000000 0.00000000 0.00000000 21.1232100 0.00000000 0.02607000 0.00000000 0.00000000 7.3032860 0.00000000 0.49225000 0.00000000 0.00000000 2.4888500 0.00000000 0.57427400 0.00000000 0.00000000 2.3613740 0.00000000 0.00000000 0.02877500 0.00000000 0.5860160 0.00000000 0.00000000 0.98333900 0.00000000 0.1944470 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 37.3681030 0.14794700 9.8543130 0.51217200 2.7327950 0.57295000 A 37 $ RUBIDIUM (15s,12p,3d) -> [6s,5p,1d] $ S-TYPE FUNCTIONS 15 6 0 6816.7225000 0.06249600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1033.0007000 0.37195000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 226.9086100 0.68572900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 304.1283000 0.00000000 -0.11233000 0.00000000 0.00000000 0.00000000 0.00000000 66.2605800 0.00000000 0.09075100 0.00000000 0.00000000 0.00000000 0.00000000 20.9194500 0.00000000 0.96394100 0.00000000 0.00000000 0.00000000 0.00000000 22.4653300 0.00000000 0.00000000 -0.30048500 0.00000000 0.00000000 0.00000000 7.8774680 0.00000000 0.00000000 0.27835700 0.00000000 0.00000000 0.00000000 2.7052710 0.00000000 0.00000000 0.90761000 0.00000000 0.00000000 0.00000000 2.6921160 0.00000000 0.00000000 0.00000000 -0.33116200 0.00000000 0.00000000 0.7230560 0.00000000 0.00000000 0.00000000 0.50969900 0.00000000 0.00000000 0.2598380 0.00000000 0.00000000 0.00000000 0.69824600 0.00000000 0.00000000 0.1897140 0.00000000 0.00000000 0.00000000 0.00000000 -0.27119300 0.00000000 0.0339970 0.00000000 0.00000000 0.00000000 0.00000000 1.14155000 0.00000000 0.0147120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 304.1283000 0.14844100 0.00000000 0.00000000 0.00000000 0.00000000 66.2605800 0.58912500 0.00000000 0.00000000 0.00000000 0.00000000 20.9194500 0.42582500 0.00000000 0.00000000 0.00000000 0.00000000 22.4653300 0.00000000 0.02445400 0.00000000 0.00000000 0.00000000 7.8774680 0.00000000 0.49445400 0.00000000 0.00000000 0.00000000 2.7052710 0.00000000 0.57185700 0.00000000 0.00000000 0.00000000 2.6921160 0.00000000 0.00000000 0.01190100 0.00000000 0.00000000 0.7230560 0.00000000 0.00000000 0.49517300 0.00000000 0.00000000 0.2598380 0.00000000 0.00000000 0.57372400 0.00000000 0.00000000 0.1897140 0.00000000 0.00000000 0.00000000 0.00030800 0.00000000 0.0339970 0.00000000 0.00000000 0.00000000 0.99986500 0.00000000 0.0147120 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 40.8660310 0.14660400 10.8408850 0.51272500 3.0508340 0.56998000 A 38 $ STRONTIUM (15s,12p,3d) -> [6s,5p,1d] $ S-TYPE FUNCTIONS 15 6 0 7215.4735000 0.06228200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1092.8519000 0.37131000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 239.9818200 0.68644400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 322.1246000 0.00000000 -0.11223500 0.00000000 0.00000000 0.00000000 0.00000000 70.0904600 0.00000000 0.08954400 0.00000000 0.00000000 0.00000000 0.00000000 22.1764100 0.00000000 0.96481300 0.00000000 0.00000000 0.00000000 0.00000000 23.9276300 0.00000000 0.00000000 -0.30247200 0.00000000 0.00000000 0.00000000 8.4751140 0.00000000 0.00000000 0.27008400 0.00000000 0.00000000 0.00000000 2.9429340 0.00000000 0.00000000 0.91592000 0.00000000 0.00000000 0.00000000 2.9409660 0.00000000 0.00000000 0.00000000 -0.35198500 0.00000000 0.00000000 0.8523560 0.00000000 0.00000000 0.00000000 0.49725500 0.00000000 0.00000000 0.3215370 0.00000000 0.00000000 0.00000000 0.72386000 0.00000000 0.00000000 0.3480420 0.00000000 0.00000000 0.00000000 0.00000000 -0.28514700 0.00000000 0.0481770 0.00000000 0.00000000 0.00000000 0.00000000 1.12093900 0.00000000 0.0218030 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 322.1246000 0.14883700 0.00000000 0.00000000 0.00000000 0.00000000 70.0904600 0.59194700 0.00000000 0.00000000 0.00000000 0.00000000 22.1764100 0.42217100 0.00000000 0.00000000 0.00000000 0.00000000 23.9276300 0.00000000 0.02483700 0.00000000 0.00000000 0.00000000 8.4751140 0.00000000 0.49347800 0.00000000 0.00000000 0.00000000 2.9429340 0.00000000 0.57098300 0.00000000 0.00000000 0.00000000 2.9409660 0.00000000 0.00000000 0.00972300 0.00000000 0.00000000 0.8523560 0.00000000 0.00000000 0.49832200 0.00000000 0.00000000 0.3215370 0.00000000 0.00000000 0.56505600 0.00000000 0.00000000 0.3480420 0.00000000 0.00000000 0.00000000 0.00030800 0.00000000 0.0481770 0.00000000 0.00000000 0.00000000 0.99989300 0.00000000 0.0218030 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 44.5661150 0.14512700 11.8814890 0.51306800 3.3875580 0.56766400 A 39 $ YTTRIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 7646.4210000 0.06189100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1156.8630000 0.37020700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 253.7152000 0.68775600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 341.8540000 0.00000000 -0.11190000 0.00000000 0.00000000 0.00000000 0.00000000 74.2098600 0.00000000 0.08680500 0.00000000 0.00000000 0.00000000 0.00000000 23.5135200 0.00000000 0.96678500 0.00000000 0.00000000 0.00000000 0.00000000 18.8626000 0.00000000 0.00000000 -1.47787300 0.00000000 0.00000000 0.00000000 16.4540500 0.00000000 0.00000000 1.34725900 0.00000000 0.00000000 0.00000000 3.4845000 0.00000000 0.00000000 1.00623100 0.00000000 0.00000000 0.00000000 3.2217330 0.00000000 0.00000000 0.00000000 -0.36995800 0.00000000 0.00000000 1.0507050 0.00000000 0.00000000 0.00000000 0.43086400 0.00000000 0.00000000 0.3925920 0.00000000 0.00000000 0.00000000 0.80208700 0.00000000 0.00000000 0.4327640 0.00000000 0.00000000 0.00000000 0.00000000 -0.34645800 0.00000000 0.0570120 0.00000000 0.00000000 0.00000000 0.00000000 1.13277700 0.00000000 0.0237540 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 341.8540000 0.14857200 0.00000000 0.00000000 0.00000000 0.00000000 74.2098600 0.59430700 0.00000000 0.00000000 0.00000000 0.00000000 23.5135200 0.41960400 0.00000000 0.00000000 0.00000000 0.00000000 18.8626000 0.00000000 -0.70414100 0.00000000 0.00000000 0.00000000 16.4540500 0.00000000 1.05786200 0.00000000 0.00000000 0.00000000 3.4845000 0.00000000 0.73938200 0.00000000 0.00000000 0.00000000 3.2217330 0.00000000 0.00000000 0.00249400 0.00000000 0.00000000 1.0507050 0.00000000 0.00000000 0.45376200 0.00000000 0.00000000 0.3925920 0.00000000 0.00000000 0.61306800 0.00000000 0.00000000 0.4327640 0.00000000 0.00000000 0.00000000 -0.00133700 0.00000000 0.0570120 0.00000000 0.00000000 0.00000000 1.00044000 0.00000000 0.0237540 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 50.3537500 0.13679600 0.00000000 0.00000000 13.5307800 0.50190600 0.00000000 0.00000000 3.9449960 0.57886000 0.00000000 0.00000000 1.5301370 0.00000000 0.33840300 0.00000000 0.6300670 0.00000000 0.72932900 0.00000000 0.2165880 0.00000000 0.00000000 1.00000000 A 40 $ ZIRCONIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 8084.5920000 0.06157800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1221.6680000 0.36939900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 267.6917000 0.68872800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 361.0212000 0.00000000 -0.11190700 0.00000000 0.00000000 0.00000000 0.00000000 78.3049500 0.00000000 0.08584000 0.00000000 0.00000000 0.00000000 0.00000000 24.8452300 0.00000000 0.96751300 0.00000000 0.00000000 0.00000000 0.00000000 20.0062800 0.00000000 0.00000000 -1.54434900 0.00000000 0.00000000 0.00000000 17.5741500 0.00000000 0.00000000 1.40959600 0.00000000 0.00000000 0.00000000 3.7429850 0.00000000 0.00000000 1.00934900 0.00000000 0.00000000 0.00000000 3.5547880 0.00000000 0.00000000 0.00000000 -0.37938700 0.00000000 0.00000000 1.1789920 0.00000000 0.00000000 0.00000000 0.42328500 0.00000000 0.00000000 0.4446970 0.00000000 0.00000000 0.00000000 0.81406800 0.00000000 0.00000000 0.5050490 0.00000000 0.00000000 0.00000000 0.00000000 -0.32951200 0.00000000 0.0621160 0.00000000 0.00000000 0.00000000 0.00000000 1.12070900 0.00000000 0.0255800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 361.0212000 0.14876200 0.00000000 0.00000000 0.00000000 0.00000000 78.3049500 0.59656900 0.00000000 0.00000000 0.00000000 0.00000000 24.8452300 0.41678500 0.00000000 0.00000000 0.00000000 0.00000000 20.0062800 0.00000000 -0.75684800 0.00000000 0.00000000 0.00000000 17.5741500 0.00000000 1.11209000 0.00000000 0.00000000 0.00000000 3.7429850 0.00000000 0.73680200 0.00000000 0.00000000 0.00000000 3.5547880 0.00000000 0.00000000 0.00259900 0.00000000 0.00000000 1.1789920 0.00000000 0.00000000 0.45997600 0.00000000 0.00000000 0.4446970 0.00000000 0.00000000 0.60584900 0.00000000 0.00000000 0.5050490 0.00000000 0.00000000 0.00000000 -0.00124900 0.00000000 0.0621160 0.00000000 0.00000000 0.00000000 1.00038400 0.00000000 0.0255800 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 54.7232300 0.13482400 0.00000000 0.00000000 14.7741600 0.50055400 0.00000000 0.00000000 4.3589610 0.57878200 0.00000000 0.00000000 1.8628420 0.00000000 0.28503200 0.00000000 0.6433130 0.00000000 0.79720700 0.00000000 0.1993950 0.00000000 0.00000000 1.00000000 A 41 $ NIOBIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 8466.5170000 0.06180400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1281.2610000 0.36980500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 281.2311000 0.68807900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 379.4729000 0.00000000 -0.11210600 0.00000000 0.00000000 0.00000000 0.00000000 82.3358900 0.00000000 0.08650300 0.00000000 0.00000000 0.00000000 0.00000000 26.2224800 0.00000000 0.96705700 0.00000000 0.00000000 0.00000000 0.00000000 21.1629400 0.00000000 0.00000000 -1.55513100 0.00000000 0.00000000 0.00000000 18.5897800 0.00000000 0.00000000 1.41793900 0.00000000 0.00000000 0.00000000 4.0099810 0.00000000 0.00000000 1.01062000 0.00000000 0.00000000 0.00000000 3.8363750 0.00000000 0.00000000 0.00000000 -0.38910400 0.00000000 0.00000000 1.3033250 0.00000000 0.00000000 0.00000000 0.43497000 0.00000000 0.00000000 0.4934310 0.00000000 0.00000000 0.00000000 0.81159000 0.00000000 0.00000000 0.5723730 0.00000000 0.00000000 0.00000000 0.00000000 -0.31560900 0.00000000 0.0682030 0.00000000 0.00000000 0.00000000 0.00000000 1.11404700 0.00000000 0.0271570 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 379.4729000 0.14966700 0.00000000 0.00000000 0.00000000 0.00000000 82.3358900 0.59871800 0.00000000 0.00000000 0.00000000 0.00000000 26.2224800 0.41323800 0.00000000 0.00000000 0.00000000 0.00000000 21.1629400 0.00000000 -0.75546200 0.00000000 0.00000000 0.00000000 18.5897800 0.00000000 1.11396600 0.00000000 0.00000000 0.00000000 4.0099810 0.00000000 0.73276700 0.00000000 0.00000000 0.00000000 3.8363750 0.00000000 0.00000000 0.00329000 0.00000000 0.00000000 1.3033250 0.00000000 0.00000000 0.47164500 0.00000000 0.00000000 0.4934310 0.00000000 0.00000000 0.59369900 0.00000000 0.00000000 0.5723730 0.00000000 0.00000000 0.00000000 -0.00113300 0.00000000 0.0682030 0.00000000 0.00000000 0.00000000 1.00033800 0.00000000 0.0271570 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 59.0121900 0.13371000 0.00000000 0.00000000 16.0127900 0.50003900 0.00000000 0.00000000 4.7771850 0.57753800 0.00000000 0.00000000 1.9704430 0.00000000 0.31068100 0.00000000 0.6619350 0.00000000 0.78006900 0.00000000 0.2059970 0.00000000 0.00000000 1.00000000 A 42 $ MOLYBDENUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 8899.4910000 0.06170600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1346.7640000 0.36945400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 295.6352000 0.68843400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 399.3139000 0.00000000 -0.11214400 0.00000000 0.00000000 0.00000000 0.00000000 86.5935600 0.00000000 0.08601100 0.00000000 0.00000000 0.00000000 0.00000000 27.6390400 0.00000000 0.96743300 0.00000000 0.00000000 0.00000000 0.00000000 22.5029200 0.00000000 0.00000000 -1.42230600 0.00000000 0.00000000 0.00000000 19.4917100 0.00000000 0.00000000 1.28418500 0.00000000 0.00000000 0.00000000 4.2781800 0.00000000 0.00000000 1.01086600 0.00000000 0.00000000 0.00000000 4.1630210 0.00000000 0.00000000 0.00000000 -0.39642300 0.00000000 0.00000000 1.4353050 0.00000000 0.00000000 0.00000000 0.43707900 0.00000000 0.00000000 0.5437820 0.00000000 0.00000000 0.00000000 0.81484600 0.00000000 0.00000000 0.6318010 0.00000000 0.00000000 0.00000000 0.00000000 -0.30336200 0.00000000 0.0732580 0.00000000 0.00000000 0.00000000 0.00000000 1.10841300 0.00000000 0.0280250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 399.3139000 0.15006600 0.00000000 0.00000000 0.00000000 0.00000000 86.5935600 0.60076900 0.00000000 0.00000000 0.00000000 0.00000000 27.6390400 0.41038600 0.00000000 0.00000000 0.00000000 0.00000000 22.5029200 0.00000000 -0.66806600 0.00000000 0.00000000 0.00000000 19.4917100 0.00000000 1.03034600 0.00000000 0.00000000 0.00000000 4.2781800 0.00000000 0.72834800 0.00000000 0.00000000 0.00000000 4.1630210 0.00000000 0.00000000 0.00296300 0.00000000 0.00000000 1.4353050 0.00000000 0.00000000 0.47914700 0.00000000 0.00000000 0.5437820 0.00000000 0.00000000 0.58648700 0.00000000 0.00000000 0.6318010 0.00000000 0.00000000 0.00000000 -0.00107900 0.00000000 0.0732580 0.00000000 0.00000000 0.00000000 1.00031300 0.00000000 0.0280250 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 63.7804500 0.13173900 0.00000000 0.00000000 17.3735800 0.49853200 0.00000000 0.00000000 5.2307840 0.57817800 0.00000000 0.00000000 2.2709370 0.00000000 0.31126400 0.00000000 0.7546530 0.00000000 0.78103400 0.00000000 0.2351420 0.00000000 0.00000000 1.00000000 A 43 $ TECHNETIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 9329.4820000 0.06171200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1412.5060000 0.36933700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 310.2643000 0.68847200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 418.8175000 0.00000000 -0.11240300 0.00000000 0.00000000 0.00000000 0.00000000 91.2507800 0.00000000 0.08531800 0.00000000 0.00000000 0.00000000 0.00000000 29.1121200 0.00000000 0.96817700 0.00000000 0.00000000 0.00000000 0.00000000 25.9106400 0.00000000 0.00000000 -1.38044600 0.00000000 0.00000000 0.00000000 23.2677000 0.00000000 0.00000000 1.19790000 0.00000000 0.00000000 0.00000000 4.7070830 0.00000000 0.00000000 1.05264900 0.00000000 0.00000000 0.00000000 4.4411380 0.00000000 0.00000000 0.00000000 -0.40411400 0.00000000 0.00000000 1.5956390 0.00000000 0.00000000 0.00000000 0.43983800 0.00000000 0.00000000 0.5955600 0.00000000 0.00000000 0.00000000 0.82193600 0.00000000 0.00000000 0.6738810 0.00000000 0.00000000 0.00000000 0.00000000 -0.27000300 0.00000000 0.0772410 0.00000000 0.00000000 0.00000000 0.00000000 1.09915000 0.00000000 0.0286960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 418.8175000 0.15007200 0.00000000 0.00000000 0.00000000 0.00000000 91.2507800 0.60005700 0.00000000 0.00000000 0.00000000 0.00000000 29.1121200 0.41098600 0.00000000 0.00000000 0.00000000 0.00000000 25.9106400 0.00000000 -1.65527100 0.00000000 0.00000000 0.00000000 23.2677000 0.00000000 1.98602000 0.00000000 0.00000000 0.00000000 4.7070830 0.00000000 0.72903400 0.00000000 0.00000000 0.00000000 4.4411380 0.00000000 0.00000000 0.01229100 0.00000000 0.00000000 1.5956390 0.00000000 0.00000000 0.46320700 0.00000000 0.00000000 0.5955600 0.00000000 0.00000000 0.59838300 0.00000000 0.00000000 0.6738810 0.00000000 0.00000000 0.00000000 -0.00092000 0.00000000 0.0772410 0.00000000 0.00000000 0.00000000 1.00026400 0.00000000 0.0286960 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 68.7837500 0.12969300 0.00000000 0.00000000 18.8038900 0.49661900 0.00000000 0.00000000 5.7052280 0.57954700 0.00000000 0.00000000 2.5991640 0.00000000 0.30921900 0.00000000 0.8622760 0.00000000 0.78290600 0.00000000 0.2706070 0.00000000 0.00000000 1.00000000 A 44 $ RUTHENIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 9786.1610000 0.06160500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1481.4770000 0.36898200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 325.4122000 0.68884500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 439.8665000 0.00000000 -0.11239100 0.00000000 0.00000000 0.00000000 0.00000000 95.7627300 0.00000000 0.08469400 0.00000000 0.00000000 0.00000000 0.00000000 30.6056600 0.00000000 0.96863800 0.00000000 0.00000000 0.00000000 0.00000000 27.2773700 0.00000000 0.00000000 -1.39555300 0.00000000 0.00000000 0.00000000 24.5108200 0.00000000 0.00000000 1.21085200 0.00000000 0.00000000 0.00000000 5.0089460 0.00000000 0.00000000 1.05404500 0.00000000 0.00000000 0.00000000 4.7658120 0.00000000 0.00000000 0.00000000 -0.41036300 0.00000000 0.00000000 1.7345310 0.00000000 0.00000000 0.00000000 0.44800300 0.00000000 0.00000000 0.6466360 0.00000000 0.00000000 0.00000000 0.81980800 0.00000000 0.00000000 0.7406620 0.00000000 0.00000000 0.00000000 0.00000000 -0.26396600 0.00000000 0.0821710 0.00000000 0.00000000 0.00000000 0.00000000 1.09485700 0.00000000 0.0300970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 439.8665000 0.15037900 0.00000000 0.00000000 0.00000000 0.00000000 95.7627300 0.60192900 0.00000000 0.00000000 0.00000000 0.00000000 30.6056600 0.40846400 0.00000000 0.00000000 0.00000000 0.00000000 27.2773700 0.00000000 -1.66861800 0.00000000 0.00000000 0.00000000 24.5108200 0.00000000 2.00279000 0.00000000 0.00000000 0.00000000 5.0089460 0.00000000 0.72514400 0.00000000 0.00000000 0.00000000 4.7658120 0.00000000 0.00000000 0.01127400 0.00000000 0.00000000 1.7345310 0.00000000 0.00000000 0.47270300 0.00000000 0.00000000 0.6466360 0.00000000 0.00000000 0.58984300 0.00000000 0.00000000 0.7406620 0.00000000 0.00000000 0.00000000 -0.00076200 0.00000000 0.0821710 0.00000000 0.00000000 0.00000000 1.00021200 0.00000000 0.0300970 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 73.9833000 0.12776000 0.00000000 0.00000000 20.2814900 0.49514700 0.00000000 0.00000000 6.1942980 0.58065500 0.00000000 0.00000000 2.8891080 0.00000000 0.31599400 0.00000000 0.9539610 0.00000000 0.77806600 0.00000000 0.2958810 0.00000000 0.00000000 1.00000000 A 45 $ RHODIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 10217.7100000 0.06173200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1548.4120000 0.36915300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 340.4990000 0.68851400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 460.7593000 0.00000000 -0.11244600 0.00000000 0.00000000 0.00000000 0.00000000 100.3289000 0.00000000 0.08438100 0.00000000 0.00000000 0.00000000 0.00000000 32.1397100 0.00000000 0.96890200 0.00000000 0.00000000 0.00000000 0.00000000 28.7932900 0.00000000 0.00000000 -1.40409100 0.00000000 0.00000000 0.00000000 25.9176800 0.00000000 0.00000000 1.21616900 0.00000000 0.00000000 0.00000000 5.3206400 0.00000000 0.00000000 1.05655500 0.00000000 0.00000000 0.00000000 5.1097480 0.00000000 0.00000000 0.00000000 -0.41264700 0.00000000 0.00000000 1.8754140 0.00000000 0.00000000 0.00000000 0.45188500 0.00000000 0.00000000 0.6995580 0.00000000 0.00000000 0.00000000 0.81889900 0.00000000 0.00000000 0.8005710 0.00000000 0.00000000 0.00000000 0.00000000 -0.25534800 0.00000000 0.0873210 0.00000000 0.00000000 0.00000000 0.00000000 1.09130800 0.00000000 0.0314070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 460.7593000 0.15085800 0.00000000 0.00000000 0.00000000 0.00000000 100.3289000 0.60351400 0.00000000 0.00000000 0.00000000 0.00000000 32.1397100 0.40602500 0.00000000 0.00000000 0.00000000 0.00000000 28.7932900 0.00000000 -1.71221800 0.00000000 0.00000000 0.00000000 25.9176800 0.00000000 2.04760300 0.00000000 0.00000000 0.00000000 5.3206400 0.00000000 0.72298300 0.00000000 0.00000000 0.00000000 5.1097480 0.00000000 0.00000000 0.00937400 0.00000000 0.00000000 1.8754140 0.00000000 0.00000000 0.48155400 0.00000000 0.00000000 0.6995580 0.00000000 0.00000000 0.58223100 0.00000000 0.00000000 0.8005710 0.00000000 0.00000000 0.00000000 -0.00077600 0.00000000 0.0873210 0.00000000 0.00000000 0.00000000 1.00021200 0.00000000 0.0314070 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 79.2559700 0.12619000 0.00000000 0.00000000 21.7894500 0.49395400 0.00000000 0.00000000 6.6975180 0.58133000 0.00000000 0.00000000 3.1909080 0.00000000 0.32104000 0.00000000 1.0545750 0.00000000 0.77385200 0.00000000 0.3260790 0.00000000 0.00000000 1.00000000 A 46 $ PALLADIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 10728.7400000 0.06142900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1624.0740000 0.36832800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 356.7937000 0.68950300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 482.4783000 0.00000000 -0.11267900 0.00000000 0.00000000 0.00000000 0.00000000 105.0590000 0.00000000 0.08461200 0.00000000 0.00000000 0.00000000 0.00000000 33.6814500 0.00000000 0.96878700 0.00000000 0.00000000 0.00000000 0.00000000 30.1865400 0.00000000 0.00000000 -1.41854700 0.00000000 0.00000000 0.00000000 27.1664200 0.00000000 0.00000000 1.22944400 0.00000000 0.00000000 0.00000000 5.6359340 0.00000000 0.00000000 1.05708300 0.00000000 0.00000000 0.00000000 5.4753740 0.00000000 0.00000000 0.00000000 -0.41726100 0.00000000 0.00000000 1.9976040 0.00000000 0.00000000 0.00000000 0.47058800 0.00000000 0.00000000 0.7439300 0.00000000 0.00000000 0.00000000 0.80463600 0.00000000 0.00000000 0.8901630 0.00000000 0.00000000 0.00000000 0.00000000 -0.27843200 0.00000000 0.0928210 0.00000000 0.00000000 0.00000000 0.00000000 1.09302800 0.00000000 0.0337740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 482.4783000 0.15107900 0.00000000 0.00000000 0.00000000 0.00000000 105.0590000 0.60509200 0.00000000 0.00000000 0.00000000 0.00000000 33.6814500 0.40398000 0.00000000 0.00000000 0.00000000 0.00000000 30.1865400 0.00000000 -1.70981700 0.00000000 0.00000000 0.00000000 27.1664200 0.00000000 2.04930800 0.00000000 0.00000000 0.00000000 5.6359340 0.00000000 0.71863000 0.00000000 0.00000000 0.00000000 5.4753740 0.00000000 0.00000000 0.01158400 0.00000000 0.00000000 1.9976040 0.00000000 0.00000000 0.49745500 0.00000000 0.00000000 0.7439300 0.00000000 0.00000000 0.56552700 0.00000000 0.00000000 0.8901630 0.00000000 0.00000000 0.00000000 -0.00127200 0.00000000 0.0928210 0.00000000 0.00000000 0.00000000 1.00033200 0.00000000 0.0337740 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 84.2369100 0.12564300 0.00000000 0.00000000 23.2491900 0.49372000 0.00000000 0.00000000 7.1967600 0.58034300 0.00000000 0.00000000 3.4730770 0.00000000 0.32815400 0.00000000 1.1480500 0.00000000 0.76802700 0.00000000 0.3548110 0.00000000 0.00000000 1.00000000 A 47 $ SILVER (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 11190.7800000 0.06149500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1695.0770000 0.36840500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 372.6752000 0.68932500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 504.6162000 0.00000000 -0.11265800 0.00000000 0.00000000 0.00000000 0.00000000 109.8718000 0.00000000 0.08402800 0.00000000 0.00000000 0.00000000 0.00000000 35.2951300 0.00000000 0.96923400 0.00000000 0.00000000 0.00000000 0.00000000 31.5687700 0.00000000 0.00000000 -1.42202800 0.00000000 0.00000000 0.00000000 28.3439700 0.00000000 0.00000000 1.23409800 0.00000000 0.00000000 0.00000000 5.9451270 0.00000000 0.00000000 1.05568300 0.00000000 0.00000000 0.00000000 5.8002560 0.00000000 0.00000000 0.00000000 -0.41961700 0.00000000 0.00000000 2.1272560 0.00000000 0.00000000 0.00000000 0.48435000 0.00000000 0.00000000 0.7935510 0.00000000 0.00000000 0.00000000 0.79520300 0.00000000 0.00000000 0.9285440 0.00000000 0.00000000 0.00000000 0.00000000 -0.25230000 0.00000000 0.0972550 0.00000000 0.00000000 0.00000000 0.00000000 1.08739200 0.00000000 0.0349330 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 504.6162000 0.15148000 0.00000000 0.00000000 0.00000000 0.00000000 109.8718000 0.60651400 0.00000000 0.00000000 0.00000000 0.00000000 35.2951300 0.40183000 0.00000000 0.00000000 0.00000000 0.00000000 31.5687700 0.00000000 -1.67336600 0.00000000 0.00000000 0.00000000 28.3439700 0.00000000 2.01897600 0.00000000 0.00000000 0.00000000 5.9451270 0.00000000 0.71268900 0.00000000 0.00000000 0.00000000 5.8002560 0.00000000 0.00000000 0.01430400 0.00000000 0.00000000 2.1272560 0.00000000 0.00000000 0.50719400 0.00000000 0.00000000 0.7935510 0.00000000 0.00000000 0.55397400 0.00000000 0.00000000 0.9285440 0.00000000 0.00000000 0.00000000 -0.00148100 0.00000000 0.0972550 0.00000000 0.00000000 0.00000000 1.00038800 0.00000000 0.0349330 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 89.9333500 0.12401600 0.00000000 0.00000000 24.8749600 0.49238300 0.00000000 0.00000000 7.7381910 0.58149700 0.00000000 0.00000000 3.7965570 0.00000000 0.33142600 0.00000000 1.2566440 0.00000000 0.76516300 0.00000000 0.3881330 0.00000000 0.00000000 1.00000000 A 48 $ CADMIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 11686.0900000 0.06142700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1770.1110000 0.36815700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 389.2090000 0.68957200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 527.6004000 0.00000000 -0.11259200 0.00000000 0.00000000 0.00000000 0.00000000 114.8329000 0.00000000 0.08327000 0.00000000 0.00000000 0.00000000 0.00000000 36.9582900 0.00000000 0.96979800 0.00000000 0.00000000 0.00000000 0.00000000 33.0154800 0.00000000 0.00000000 -1.40647100 0.00000000 0.00000000 0.00000000 29.5454300 0.00000000 0.00000000 1.21815600 0.00000000 0.00000000 0.00000000 6.2785080 0.00000000 0.00000000 1.05552000 0.00000000 0.00000000 0.00000000 6.1505960 0.00000000 0.00000000 0.00000000 -0.42292100 0.00000000 0.00000000 2.2597460 0.00000000 0.00000000 0.00000000 0.49877100 0.00000000 0.00000000 0.8414260 0.00000000 0.00000000 0.00000000 0.78507600 0.00000000 0.00000000 0.9490690 0.00000000 0.00000000 0.00000000 0.00000000 -0.22155500 0.00000000 0.1014880 0.00000000 0.00000000 0.00000000 0.00000000 1.08094400 0.00000000 0.0359870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 527.6004000 0.15180500 0.00000000 0.00000000 0.00000000 0.00000000 114.8329000 0.60776000 0.00000000 0.00000000 0.00000000 0.00000000 36.9582900 0.39996300 0.00000000 0.00000000 0.00000000 0.00000000 33.0154800 0.00000000 -1.60902400 0.00000000 0.00000000 0.00000000 29.5454300 0.00000000 1.95956800 0.00000000 0.00000000 0.00000000 6.2785080 0.00000000 0.70802700 0.00000000 0.00000000 0.00000000 6.1505960 0.00000000 0.00000000 0.01448200 0.00000000 0.00000000 2.2597460 0.00000000 0.00000000 0.51866100 0.00000000 0.00000000 0.8414260 0.00000000 0.00000000 0.54266600 0.00000000 0.00000000 0.9490690 0.00000000 0.00000000 0.00000000 -0.00154000 0.00000000 0.1014880 0.00000000 0.00000000 0.00000000 1.00041200 0.00000000 0.0359870 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 95.4727400 0.12308300 0.00000000 0.00000000 26.4819600 0.49167700 0.00000000 0.00000000 8.2828860 0.58154100 0.00000000 0.00000000 4.0821410 0.00000000 0.33794100 0.00000000 1.3572790 0.00000000 0.75916800 0.00000000 0.4208310 0.00000000 0.00000000 1.00000000 A 49 $ INDIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 12214.5470000 0.06124800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1848.9136000 0.36767500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 406.3683300 0.69013600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 550.4423000 0.00000000 -0.11270900 0.00000000 0.00000000 0.00000000 0.00000000 119.7744000 0.00000000 0.08344400 0.00000000 0.00000000 0.00000000 0.00000000 38.6692700 0.00000000 0.96968800 0.00000000 0.00000000 0.00000000 0.00000000 47.0293100 0.00000000 0.00000000 -0.27589500 0.00000000 0.00000000 0.00000000 22.4964200 0.00000000 0.00000000 0.05977300 0.00000000 0.00000000 0.00000000 6.6971170 0.00000000 0.00000000 1.08214800 0.00000000 0.00000000 0.00000000 6.5723600 0.00000000 0.00000000 0.00000000 -0.42848300 0.00000000 0.00000000 2.5021580 0.00000000 0.00000000 0.00000000 0.46336400 0.00000000 0.00000000 0.9420250 0.00000000 0.00000000 0.00000000 0.82196800 0.00000000 0.00000000 1.0012210 0.00000000 0.00000000 0.00000000 0.00000000 -0.43641700 0.00000000 0.1659700 0.00000000 0.00000000 0.00000000 0.00000000 1.18989300 0.00000000 0.0543400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 550.4423000 0.15237000 0.00000000 0.00000000 0.00000000 0.00000000 119.7744000 0.60965100 0.00000000 0.00000000 0.00000000 0.00000000 38.6692700 0.39702500 0.00000000 0.00000000 0.00000000 0.00000000 47.0293100 0.00000000 -0.14084800 0.00000000 0.00000000 0.00000000 22.4964200 0.00000000 0.52908700 0.00000000 0.00000000 0.00000000 6.6971170 0.00000000 0.66206800 0.00000000 0.00000000 0.00000000 6.5723600 0.00000000 0.00000000 0.01091300 0.00000000 0.00000000 2.5021580 0.00000000 0.00000000 0.50367600 0.00000000 0.00000000 0.9420250 0.00000000 0.00000000 0.55818100 0.00000000 0.00000000 1.0012210 0.00000000 0.00000000 0.00000000 0.02316300 0.00000000 0.1659700 0.00000000 0.00000000 0.00000000 0.99033100 0.00000000 0.0543400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 102.1735600 0.12055600 0.00000000 28.3946320 0.48849800 0.00000000 8.9248050 0.58501900 0.00000000 4.5353640 0.00000000 0.25085700 1.5371480 0.00000000 0.56931100 0.4994920 0.00000000 0.38406400 A 50 $ TIN (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 12741.6740000 0.06113500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1928.4692000 0.36729300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 423.8079700 0.69054500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 574.2875000 0.00000000 -0.11274600 0.00000000 0.00000000 0.00000000 0.00000000 124.9537000 0.00000000 0.08286300 0.00000000 0.00000000 0.00000000 0.00000000 40.3957600 0.00000000 0.97015100 0.00000000 0.00000000 0.00000000 0.00000000 48.8066200 0.00000000 0.00000000 -0.28245300 0.00000000 0.00000000 0.00000000 23.8358800 0.00000000 0.00000000 0.06605600 0.00000000 0.00000000 0.00000000 7.0482960 0.00000000 0.00000000 1.08198700 0.00000000 0.00000000 0.00000000 6.9733780 0.00000000 0.00000000 0.00000000 -0.43403600 0.00000000 0.00000000 2.6930400 0.00000000 0.00000000 0.00000000 0.46102900 0.00000000 0.00000000 1.0259580 0.00000000 0.00000000 0.00000000 0.82855800 0.00000000 0.00000000 1.1314630 0.00000000 0.00000000 0.00000000 0.00000000 -0.52520800 0.00000000 0.2034090 0.00000000 0.00000000 0.00000000 0.00000000 1.22922600 0.00000000 0.0705640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 574.2875000 0.15258000 0.00000000 0.00000000 0.00000000 0.00000000 124.9537000 0.61101100 0.00000000 0.00000000 0.00000000 0.00000000 40.3957600 0.39515500 0.00000000 0.00000000 0.00000000 0.00000000 48.8066200 0.00000000 -0.15096300 0.00000000 0.00000000 0.00000000 23.8358800 0.00000000 0.53996800 0.00000000 0.00000000 0.00000000 7.0482960 0.00000000 0.66048200 0.00000000 0.00000000 0.00000000 6.9733780 0.00000000 0.00000000 0.01195100 0.00000000 0.00000000 2.6930400 0.00000000 0.00000000 0.50671900 0.00000000 0.00000000 1.0259580 0.00000000 0.00000000 0.55291100 0.00000000 0.00000000 1.1314630 0.00000000 0.00000000 0.00000000 0.02107100 0.00000000 0.2034090 0.00000000 0.00000000 0.00000000 0.99059100 0.00000000 0.0705640 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 108.0563000 0.11982400 0.00000000 30.1315760 0.48759100 0.00000000 9.5300360 0.58498700 0.00000000 4.9626100 0.00000000 0.25294900 1.7120830 0.00000000 0.57276100 0.5771950 0.00000000 0.36903900 A 51 $ ANTIMONY (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 13289.3830000 0.06098400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2010.5218000 0.36684900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 441.6981500 0.69105000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 598.8890000 0.00000000 -0.11272000 0.00000000 0.00000000 0.00000000 0.00000000 130.0385000 0.00000000 0.08264400 0.00000000 0.00000000 0.00000000 0.00000000 42.1328600 0.00000000 0.97025800 0.00000000 0.00000000 0.00000000 0.00000000 51.5133300 0.00000000 0.00000000 -0.27704300 0.00000000 0.00000000 0.00000000 24.4359500 0.00000000 0.00000000 0.05750300 0.00000000 0.00000000 0.00000000 7.4209310 0.00000000 0.00000000 1.08470300 0.00000000 0.00000000 0.00000000 7.3142350 0.00000000 0.00000000 0.00000000 -0.44038100 0.00000000 0.00000000 2.8440530 0.00000000 0.00000000 0.00000000 0.47373400 0.00000000 0.00000000 1.1058550 0.00000000 0.00000000 0.00000000 0.82213500 0.00000000 0.00000000 1.2786370 0.00000000 0.00000000 0.00000000 0.00000000 -0.60169500 0.00000000 0.2412320 0.00000000 0.00000000 0.00000000 0.00000000 1.25869200 0.00000000 0.0866300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 598.8890000 0.15306700 0.00000000 0.00000000 0.00000000 0.00000000 130.0385000 0.61359700 0.00000000 0.00000000 0.00000000 0.00000000 42.1328600 0.39169900 0.00000000 0.00000000 0.00000000 0.00000000 51.5133300 0.00000000 -0.13787000 0.00000000 0.00000000 0.00000000 24.4359500 0.00000000 0.53635500 0.00000000 0.00000000 0.00000000 7.4209310 0.00000000 0.65086800 0.00000000 0.00000000 0.00000000 7.3142350 0.00000000 0.00000000 0.01530500 0.00000000 0.00000000 2.8440530 0.00000000 0.00000000 0.51608300 0.00000000 0.00000000 1.1058550 0.00000000 0.00000000 0.53875700 0.00000000 0.00000000 1.2786370 0.00000000 0.00000000 0.00000000 0.02225300 0.00000000 0.2412320 0.00000000 0.00000000 0.00000000 0.98964300 0.00000000 0.0866300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 115.8095500 0.11662800 0.00000000 32.3058350 0.48343600 0.00000000 10.2503280 0.59014000 0.00000000 5.4862100 0.00000000 0.24836600 1.9216200 0.00000000 0.57431500 0.6660630 0.00000000 0.36430400 A 52 $ TELLERIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 13796.5600000 0.06108600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2088.8798000 0.36696300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 459.3931900 0.69079400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 623.2631000 0.00000000 -0.11282000 0.00000000 0.00000000 0.00000000 0.00000000 135.3600000 0.00000000 0.08225200 0.00000000 0.00000000 0.00000000 0.00000000 44.0004800 0.00000000 0.97060100 0.00000000 0.00000000 0.00000000 0.00000000 54.1907800 0.00000000 0.00000000 -0.27441200 0.00000000 0.00000000 0.00000000 25.8203900 0.00000000 0.00000000 0.05183000 0.00000000 0.00000000 0.00000000 7.8095830 0.00000000 0.00000000 1.08762200 0.00000000 0.00000000 0.00000000 7.7642170 0.00000000 0.00000000 0.00000000 -0.44673100 0.00000000 0.00000000 3.0439320 0.00000000 0.00000000 0.00000000 0.46947000 0.00000000 0.00000000 1.1992530 0.00000000 0.00000000 0.00000000 0.82981100 0.00000000 0.00000000 1.3403640 0.00000000 0.00000000 0.00000000 0.00000000 -0.59047000 0.00000000 0.2780880 0.00000000 0.00000000 0.00000000 0.00000000 1.28196800 0.00000000 0.0967260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 623.2631000 0.15341900 0.00000000 0.00000000 0.00000000 0.00000000 135.3600000 0.61490000 0.00000000 0.00000000 0.00000000 0.00000000 44.0004800 0.38951600 0.00000000 0.00000000 0.00000000 0.00000000 54.1907800 0.00000000 -0.14333100 0.00000000 0.00000000 0.00000000 25.8203900 0.00000000 0.53918800 0.00000000 0.00000000 0.00000000 7.8095830 0.00000000 0.65228500 0.00000000 0.00000000 0.00000000 7.7642170 0.00000000 0.00000000 0.01274600 0.00000000 0.00000000 3.0439320 0.00000000 0.00000000 0.52212300 0.00000000 0.00000000 1.1992530 0.00000000 0.00000000 0.53266100 0.00000000 0.00000000 1.3403640 0.00000000 0.00000000 0.00000000 0.02558800 0.00000000 0.2780880 0.00000000 0.00000000 0.00000000 0.98710200 0.00000000 0.0967260 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 121.4083000 0.11691400 0.00000000 34.0152170 0.48355600 0.00000000 10.8691380 0.58838600 0.00000000 5.8031110 0.00000000 0.26019400 2.0580660 0.00000000 0.57977600 0.7328300 0.00000000 0.34055800 A 53 $ IODINE (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 14351.1860000 0.06100300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2173.0741000 0.36664000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 477.8720500 0.69113100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 648.1887000 0.00000000 -0.11285100 0.00000000 0.00000000 0.00000000 0.00000000 140.3064000 0.00000000 0.08322800 0.00000000 0.00000000 0.00000000 0.00000000 45.6988000 0.00000000 0.96975200 0.00000000 0.00000000 0.00000000 0.00000000 56.6946900 0.00000000 0.00000000 -0.27369700 0.00000000 0.00000000 0.00000000 27.4887500 0.00000000 0.00000000 0.04650000 0.00000000 0.00000000 0.00000000 8.2090960 0.00000000 0.00000000 1.09157600 0.00000000 0.00000000 0.00000000 8.1916790 0.00000000 0.00000000 0.00000000 -0.45082800 0.00000000 0.00000000 3.2445960 0.00000000 0.00000000 0.00000000 0.46320900 0.00000000 0.00000000 1.3004890 0.00000000 0.00000000 0.00000000 0.83863600 0.00000000 0.00000000 1.4513800 0.00000000 0.00000000 0.00000000 0.00000000 -0.66585200 0.00000000 0.3281030 0.00000000 0.00000000 0.00000000 0.00000000 1.32858400 0.00000000 0.1150760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 648.1887000 0.15411400 0.00000000 0.00000000 0.00000000 0.00000000 140.3064000 0.61946200 0.00000000 0.00000000 0.00000000 0.00000000 45.6988000 0.38375800 0.00000000 0.00000000 0.00000000 0.00000000 56.6946900 0.00000000 -0.15232200 0.00000000 0.00000000 0.00000000 27.4887500 0.00000000 0.54376900 0.00000000 0.00000000 0.00000000 8.2090960 0.00000000 0.65616800 0.00000000 0.00000000 0.00000000 8.1916790 0.00000000 0.00000000 0.01187000 0.00000000 0.00000000 3.2445960 0.00000000 0.00000000 0.52652500 0.00000000 0.00000000 1.3004890 0.00000000 0.00000000 0.52660800 0.00000000 0.00000000 1.4513800 0.00000000 0.00000000 0.00000000 0.02754100 0.00000000 0.3281030 0.00000000 0.00000000 0.00000000 0.98513700 0.00000000 0.1150760 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 128.0902600 0.11586400 0.00000000 35.9823780 0.48204900 0.00000000 11.5511160 0.58944500 0.00000000 6.1461520 0.00000000 0.26818200 2.2209370 0.00000000 0.58006100 0.8099120 0.00000000 0.32622600 A 54 $ XENON (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 14902.2360000 0.06099700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2256.5383000 0.36662900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 496.3731700 0.69111500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 673.6611000 0.00000000 -0.11291300 0.00000000 0.00000000 0.00000000 0.00000000 145.8491000 0.00000000 0.08290500 0.00000000 0.00000000 0.00000000 0.00000000 47.5770800 0.00000000 0.97002900 0.00000000 0.00000000 0.00000000 0.00000000 59.1675200 0.00000000 0.00000000 -0.27397700 0.00000000 0.00000000 0.00000000 28.6115900 0.00000000 0.00000000 0.04553000 0.00000000 0.00000000 0.00000000 8.5965960 0.00000000 0.00000000 1.09252800 0.00000000 0.00000000 0.00000000 8.6386760 0.00000000 0.00000000 0.00000000 -0.45584100 0.00000000 0.00000000 3.4628180 0.00000000 0.00000000 0.00000000 0.46173600 0.00000000 0.00000000 1.4010400 0.00000000 0.00000000 0.00000000 0.84428800 0.00000000 0.00000000 1.5784740 0.00000000 0.00000000 0.00000000 0.00000000 -0.72777200 0.00000000 0.3750810 0.00000000 0.00000000 0.00000000 0.00000000 1.36279700 0.00000000 0.1331790 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 673.6611000 0.15442700 0.00000000 0.00000000 0.00000000 0.00000000 145.8491000 0.62061700 0.00000000 0.00000000 0.00000000 0.00000000 47.5770800 0.38200400 0.00000000 0.00000000 0.00000000 0.00000000 59.1675200 0.00000000 -0.15185700 0.00000000 0.00000000 0.00000000 28.6115900 0.00000000 0.54715100 0.00000000 0.00000000 0.00000000 8.5965960 0.00000000 0.65195400 0.00000000 0.00000000 0.00000000 8.6386760 0.00000000 0.00000000 0.00958500 0.00000000 0.00000000 3.4628180 0.00000000 0.00000000 0.52981900 0.00000000 0.00000000 1.4010400 0.00000000 0.00000000 0.52359800 0.00000000 0.00000000 1.5784740 0.00000000 0.00000000 0.00000000 0.02807200 0.00000000 0.3750810 0.00000000 0.00000000 0.00000000 0.98426400 0.00000000 0.1331790 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 134.9133100 0.11501100 0.00000000 37.9563870 0.48159500 0.00000000 12.2274750 0.58961300 0.00000000 6.6004930 0.00000000 0.27188400 2.3980510 0.00000000 0.58555700 0.8864820 0.00000000 0.31274600 ergo-3.5/basis/ano-30000775000175000017500000020646712743400275011227 00000000000000$Basis = ano-3 ************************************************************************ /Sc.ano.Pou.21s15p10d6f4g.8s7p6d5f4g. R. Pou-Amerigo, M. Merchan, I. Nesbot-Gil, P.-O. Widmark and B.O. Roos Theor. Chim. Acta, 92, 149 (1995) ************************************************************************ * Sc Scandium atom * * Basic primitive: 20s12p9d from * * H. Partridge, J. Chem. Phys., 90, 1043 (1989) * * Augmented: 1s even-tempered continuation with beta=0.4 * * 3p even-tempered continuation with beta=0.4 * * 1d even-tempered continuation with beta=0.4 * * 6f 5 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * 4g 3 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * * * Contraction: State Field Method Weight * * Sc 2D(ds2) 0.000 MCPF 0.200 * * Sc 2D(ds2) 0.010 MCPF 0.200 * * Sc 4F(d2s) 0.000 MCPF 0.200 * * Sc 2D(d3) 0.000 MCPF 0.200 * * Sc+ 3D(ds) 0.000 MCPF 0.200 * * * * Contraction range: 5s3p2d - 6s5p4d3f2g for SCF * * 5s4p3d2f - 8s7p6d5f4g for correlation * * * ************************************************************************ a 21 * s-type ANO's (max 8 functions can be used) 21 8 2715278. 406598.4 92530.04 26207.92 8549.429 3085.975 1203.172 498.4869 216.7360 97.87476 45.20433 20.21187 9.574751 4.540346 1.995687 0.942215 0.417845 0.095761 0.051351 0.023878 0.009551 .00000904 -.0000026 .00000093 -.0000002 .00000033 -.0000005 .00000060 -.0000001 .00007025 -.0000206 .00000725 -.0000018 .00000259 -.0000038 .00000508 -.0000006 .00036936 -.0001083 .00003813 -.0000094 .00001336 -.0000189 .00002328 -.0000032 .00155734 -.0004572 .00016110 -.0000397 .00005779 -.0000858 .00011736 -.0000147 .00563817 -.0016613 .00058525 -.0001442 .00020373 -.0002847 .00033930 -.0000471 .01806446 -.0053748 .00189710 -.0004669 .00068535 -.0010311 .00144768 -.0001781 .05144548 -.0156732 .00554026 -.0013666 .00191409 -.0026293 .00299552 -.0004298 .12707079 -.0408387 .01453926 -.0035806 .00531269 -.0081465 .01185638 -.0014226 .25490555 -.0918668 .03306537 -.0081804 .01128466 -.0150018 .01553214 -.0024011 .36017448 -.1648338 .06115124 -.0151200 .02309854 -.0371952 .05878879 -.0066727 .26994142 -.1809127 .07020757 -.0175994 .02223441 -.0235795 .00528309 -.0031433 .06163753 .05165397 -.0211135 .00550800 .00012429 -.0227982 .09434564 -.0060979 -.0013701 .50474999 -.2706528 .07005315 -.1221890 .23648629 -.4657996 .04625288 .00205343 .50458120 -.4405492 .12312721 -.1477969 .13085046 .10415482 .01739344 -.0009541 .09393705 .06285392 -.0280459 -.0347018 .23841114 -.8841851 .04824636 .00043552 -.0029708 .71691262 -.2441728 .64622191 -1.771166 4.0066269 -.4068684 -.0001870 .00248254 .44287952 -.3251997 .15556924 1.2977682 -4.978949 .46797935 .00009671 -.0008017 .02330734 .35832951 -2.276167 3.2708298 7.8741989 .69915480 -.0000937 .00076538 -.0137221 .60752195 1.1541231 -6.650447 -9.856282 -3.304069 .00004126 -.0003371 .00463010 .20971754 .73089925 4.2639247 5.3279198 4.8196833 -.0000096 .00007798 -.0009669 .00735932 .10275994 -.7124651 -1.369138 -2.858962 * p-type ANO's (max 8 functions can be used) 15 8 4609.885 1092.156 354.3368 134.8076 56.60258 25.33410 11.74033 5.569259 2.594958 1.196351 0.535059 0.220776 0.088310 0.035324 0.014130 .00019182 -.0000645 .00001892 -.0000241 .00003139 -.0000037 .00006720 -.0000396 .00168006 -.0005647 .00016799 -.0002160 .00028193 -.0000938 .00033047 -.0014404 .00927532 -.0031416 .00092264 -.0011749 .00153073 -.0001810 .00327359 -.0018847 .03752902 -.0128483 .00382999 -.0049286 .00643366 -.0021692 .00731896 -.0337975 .11490240 -.0405378 .01193472 -.0152035 .01981904 -.0018707 .04399471 -.0189630 .25439248 -.0928768 .02796506 -.0361671 .04726485 -.0184364 .04132905 -.2979571 .37991661 -.1476504 .04354371 -.0555018 .07284368 .00517068 .21606005 .16715276 .30955557 -.1128068 .03528510 -.0466614 .06440105 -.0738196 -.0475428 -1.428201 .08713977 .15761618 -.0616862 .08722143 -.1191742 .14285677 .23806451 4.5042552 .00256096 .47136955 -.1580190 .22269449 -.3825440 -.0968099 -2.558569 -5.544320 .00122683 .43009952 -.2229972 .36197365 -.3938980 .45403423 4.3170993 3.9291453 -.0004759 .10180833 .15843483 -.8883579 2.1980040 -1.452990 -3.681830 -2.100567 .00022635 -.0018422 .70244749 -.4095998 -2.396920 2.6286388 2.2837762 1.0553862 -.0001110 .00290251 .28120425 .91905928 .89636097 -3.132493 -1.073706 -.4728277 .00003471 -.0007827 .01348198 .21314873 .35148686 1.9608482 .28495095 .13772781 * d-type ANO's (max 7 functions can be used) 10 7 110.2197 32.80041 12.31300 5.063819 2.225547 0.992343 0.436361 0.185705 0.073441 0.029376 .00082585 -.0007236 .00088824 -.0007975 .00131877 -.0036950 .00110288 .00668105 -.0058209 .00727289 -.0057483 .01552580 -.0213439 .07947005 .02815944 -.0247912 .03053473 -.0273494 .04659408 -.1348030 .09063475 .08372592 -.0737296 .09263052 -.0710894 .20849078 -.2829933 1.6050708 .17840105 -.1578620 .19890523 -.1928455 .28675455 -1.071023 -2.930515 .26729481 -.2208510 .26567709 -.1787391 .58272511 2.6062301 2.6097903 .30373222 -.2096235 .09014133 -.0390972 -2.164669 -2.436834 -1.621585 .29501849 .05386544 -.6584846 1.3740417 2.1845099 1.4501945 .80947036 .19903618 .43826457 -.3970143 -1.985883 -1.256169 -.6679429 -.3463679 .09880504 .51004476 .89538505 1.1614700 .44271166 .22240725 .11286978 * f-type ANO's (max 6 functions can be used) 6 6 2.8415 1.1263 0.4464 0.1769 0.0701 0.0278 .03457755 -.0957320 .13599954 -.1894770 .31414809 -1.344270 .09785268 -.2169838 .33213274 -.5194471 .70431127 1.6594916 .34953556 -.5764450 .49380454 .66751872 -1.352901 -1.143936 .54494830 .14682811 -1.247700 .04262355 1.4119183 .64161627 .23054038 .57506501 .81525437 -.9362398 -1.286217 -.3300441 .03096216 .20992137 .20469111 1.0698116 .85106694 .12763307 * g-type ANO's (max 4 functions can be used) 4 4 1.6071 0.6317 0.2483 0.0976 -.0312478 -.1712605 -.4598869 -.8738988 -.1991247 -.4022881 -.1843861 1.1260636 -.4351061 .05517028 .75066198 -.8596191 -.1645448 .44274085 -.6996142 .42599543 ************************************************************************ /Ti.ano.Pou.21s15p10d6f4g.8s7p6d5f4g. R. Pou-Amerigo, M. Merchan, I. Nesbot-Gil, P.-O. Widmark and B.O. Roos Theor. Chim. Acta, 92, 149 (1995) ************************************************************************ * Ti Titanium atom * * Basic primitive: 20s12p9d from * * H. Partridge, J. Chem. Phys., 90, 1043 (1989) * * Augmented: 1s even-tempered continuation with beta=0.4 * * 3p even-tempered continuation with beta=0.4 * * 1d even-tempered continuation with beta=0.4 * * 6f 5 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * 4g 3 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * * * Contraction: State Field Method Weight * * Ti 3F(d2s2) 0.000 MCPF 0.200 * * Ti 3F(d2s2) 0.010 MCPF 0.200 * * Ti 5F(d3s) 0.000 MCPF 0.200 * * Ti 5D(d4) 0.000 MCPF 0.200 * * Ti+ 4F(d2s) 0.000 MCPF 0.200 * * * * Contraction range: 5s3p2d - 6s5p4d3f2g for SCF * * 5s4p3d2f - 8s7p6d5f4g for correlation * * * ************************************************************************ a 22 * s-type ANO's (max 8 functions can be used) 21 8 3014643. 451432.9 102733.8 29098.17 9492.330 3426.346 1335.896 553.5026 240.6925 108.7293 50.26457 22.58004 10.71432 5.093546 2.244183 1.059570 0.468849 0.106143 0.055262 0.025465 0.010186 .00000891 -.0000026 .00000094 -.0000002 .00000033 -.0000007 .00000070 -.0000008 .00006931 -.0000205 .00000732 -.0000018 .00000263 -.0000053 .00000531 -.0000053 .00036438 -.0001077 .00003850 -.0000095 .00001351 -.0000263 .00002922 -.0000328 .00153639 -.0004548 .00016265 -.0000401 .00005873 -.0001200 .00011605 -.0001114 .00556285 -.0016529 .00059092 -.0001458 .00020574 -.0003962 .00045565 -.0005304 .01782861 -.0053485 .00191602 -.0004727 .00069769 -.0014435 .00134216 -.0012205 .05081175 -.0156089 .00559924 -.0013822 .00193149 -.0036579 .00441363 -.0053556 .12571796 -.0407222 .01471713 -.0036347 .00543140 -.0114497 .01006047 -.0083821 .25299347 -.0918764 .03356771 -.0083071 .01140247 -.0209347 .02766255 -.0360300 .35959434 -.1655028 .06237534 -.0154849 .02391928 -.0529136 .04026955 -.0248957 .27246952 -.1836009 .07240544 -.0181067 .02240972 -.0331418 .07324128 -.1229543 .06359557 .04772324 -.0196954 .00495788 .00244168 -.0357299 -.0567999 .17036170 -.0012245 .50578507 -.2781485 .07274548 -.1299470 .34737593 -.1696599 -.0254700 .00201172 .50661982 -.4477923 .12462260 -.1441239 .19621750 -.7656318 1.4237522 -.0009357 .09464746 .07571834 -.0301251 -.0426621 .21600547 1.3773327 -3.699968 .00042046 -.0028028 .72182448 -.2547207 .68771072 -2.542895 .71862212 3.4250863 -.0001776 .00244130 .43305367 -.3112813 .08970366 2.5344706 -2.567077 -1.009540 .00008641 -.0007298 .02190391 .39641780 -2.200716 .65481184 5.2087230 -2.395333 -.0000829 .00069792 -.0125651 .58239439 1.1681766 -3.078388 -5.982957 5.6662256 .00003762 -.0003147 .00450143 .19898058 .68247571 2.1852588 1.8991192 -5.711711 -.0000090 .00007494 -.0009663 .00465101 .09670204 -.1213722 .47574667 2.6957932 * p-type ANO's (max 8 functions can be used) 15 8 5181.157 1227.461 398.2712 151.5867 63.69633 28.54733 13.26129 6.310352 2.951875 1.365370 0.611415 0.252548 0.101019 0.040408 0.016163 .00018724 -.0000643 .00001778 -.0000246 .00003719 -.0000550 .00003441 -.0001113 .00164139 -.0005635 .00015781 -.0002160 .00030354 -.0004423 .00074567 -.0009738 .00908304 -.0031425 .00086992 -.0012036 .00181821 -.0026841 .00167516 -.0054266 .03689507 -.0129043 .00362099 -.0049522 .00694324 -.0100919 .01739889 -.0230149 .11355987 -.0409507 .01136286 -.0157336 .02391533 -.0352776 .01936750 -.0750654 .25317899 -.0946030 .02679911 -.0365861 .05029716 -.0726365 .14811200 -.1777275 .38016762 -.1513956 .04214155 -.0594490 .09593973 -.1449412 -.0041436 -.2974459 .31019996 -.1141409 .03368180 -.0467846 .05786017 -.1424794 .63592456 -.1734499 .08777409 .16320565 -.0589850 .07944795 -.0884661 .31125939 -1.912957 2.9032510 .00294909 .47321733 -.1512272 .27628381 -.6566446 1.4389468 1.3110787 -4.899060 .00131937 .42451323 -.2034795 .27142188 .11031284 -2.780887 .71779745 4.6091875 -.0004215 .10183772 .11806167 -.7924697 1.6148571 1.8524065 -2.240148 -3.463537 .00021981 -.0016787 .69383947 -.4631748 -1.748496 -.0721023 2.9090753 2.5609351 -.0001063 .00283921 .31458515 .84321160 .31630342 -1.149425 -2.706450 -1.743320 .00003319 -.0007664 .01638688 .29045090 .63388041 .97774753 1.4239416 .76948015 * d-type ANO's (max 7 functions can be used) 10 7 134.3565 40.04189 15.12976 6.276990 2.781410 1.253602 0.557405 0.239759 0.095287 0.038115 .00082946 -.0006682 .00107015 -.0014503 .00228582 -.0031294 .00263994 .00686716 -.0054960 .00903555 -.0123965 .01652191 -.0294725 .06166057 .02978288 -.0241325 .03925759 -.0542237 .08713506 -.1321644 .16344794 .08973599 -.0729395 .12440155 -.1780062 .25177544 -.5363538 1.4012817 .19339831 -.1579535 .25010252 -.3354542 .54086998 -.2259544 -3.035784 .28934684 -.2164335 .28000335 -.1876683 -.6428651 1.9976274 3.1787823 .31794406 -.1822406 -.0889985 .78380039 -.8091268 -2.726692 -2.313647 .27588611 .12624548 -.6260252 .22363428 1.8533725 2.1638257 1.3279953 .15938332 .44805135 -.2487541 -1.287601 -1.651052 -1.240251 -.6350705 .07054351 .48413331 .81573964 .96413095 .76643894 .47141590 .22119573 * f-type ANO's (max 6 functions can be used) 6 6 4.2464 1.6831 .6671 .2644 .1048 .0415 .03908396 -.1220177 .23859369 -.4630200 .67086609 -1.110240 .13383140 -.3671189 .55423570 -.3852201 -.4990389 1.6821543 .36510792 -.4991231 -.1951449 1.1262301 -.2326857 -1.594071 .49496780 .25518397 -.7351700 -.8960775 .95139916 1.3132548 .25144472 .52213820 .65679222 .01836808 -1.381738 -1.002721 .03832938 .11207232 .26902177 .58238478 1.1075790 .56138082 * g-type ANO's (max 4 functions can be used) 4 4 2.4017 .9440 .3710 .1458 .10521998 -.3879583 -.5401546 -.9712723 .33971686 -.5519254 .06154673 1.4279071 .56411761 .18037356 .63268065 -1.206525 .28531137 .60415486 -.6737787 .63051175 ************************************************************************ /V.ano.Pou.21s15p10d6f4g.8s7p6d5f4g. R. Pou-Amerigo, M. Merchan, I. Nesbot-Gil, P.-O. Widmark and B.O. Roos Theor. Chim. Acta, 92, 149 (1995) ************************************************************************ * V Vanadium atom * * Basic primitive: 20s12p9d from * * H. Partridge, J. Chem. Phys., 90, 1043 (1989) * * Augmented: 1s even-tempered continuation with beta=0.4 * * 3p even-tempered continuation with beta=0.4 * * 1d even-tempered continuation with beta=0.4 * * 6f 5 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * 4g 3 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * * * Contraction: State Field Method Weight * * V 4F(d3s2) 0.000 MCPF 0.200 * * V 4F(d3s2) 0.010 MCPF 0.200 * * V 6D(d4s) 0.000 MCPF 0.200 * * V 6S(d5) 0.000 MCPF 0.200 * * V+ 5D(d4) 0.000 MCPF 0.200 * * * * Contraction range: 5s3p2d - 6s5p4d3f2g for SCF * * 5s4p3d2f - 8s7p6d5f4g for correlation * * * ************************************************************************ a 23 * s-type ANO's (max 8 functions can be used) 21 8 3321857. 497435.6 113202.7 32063.33 10459.62 3775.506 1472.040 609.9331 265.2634 119.8607 55.44891 24.98372 11.88056 5.660311 2.495703 1.177866 0.520044 0.115965 0.058938 0.026946 0.010778 .00000883 -.0000026 .00000095 -.0000002 .00000041 -.0000007 .00000070 -.0000010 .00006866 -.0000204 .00000739 -.0000017 .00000326 -.0000054 .00000520 -.0000068 .00036099 -.0001075 .00003887 -.0000092 .00001661 -.0000272 .00002906 -.0000415 .00152213 -.0004539 .00016423 -.0000387 .00007314 -.0001222 .00011320 -.0001445 .00551165 -.0016501 .00059669 -.0001408 .00025215 -.0004100 .00045534 -.0006669 .01766850 -.0053400 .00193533 -.0004567 .00087231 -.0014655 .00130153 -.0016013 .05038288 -.0155934 .00565819 -.0013356 .00235836 -.0038066 .00443916 -.0066923 .12480875 -.0407234 .01489218 -.0035183 .00683812 -.0115934 .00968596 -.0112466 .25172615 -.0920841 .03404071 -.0080547 .01385685 -.0220919 .02820132 -.0447482 .35922653 -.1663647 .06349336 -.0150827 .03069543 -.0533435 .03801966 -.0365416 .27416445 -.1858041 .07421806 -.0177395 .02615091 -.0382363 .07857070 -.1494322 .06486325 .04585458 -.0190800 .00455364 .00874491 -.0290722 -.0683235 .19110584 -.0011662 .50807061 -.2857174 .07165822 -.1768010 .34559817 -.1473641 .06905681 .00198280 .50692043 -.4524590 .12029781 -.1591614 .25792818 -.8290211 1.6920091 -.0009224 .09430995 .09007795 -.0329731 -.0836276 .02175315 1.6312245 -4.969674 .00040988 -.0027022 .72508737 -.2473306 1.0114782 -2.402806 .23192924 5.2939638 -.0001702 .00240065 .42300422 -.2854831 -.2280242 2.7076750 -2.152147 -2.397203 .00007885 -.0006790 .02042977 .35331149 -2.269501 -.2510840 4.8952066 -.6675687 -.0000752 .00064630 -.0116477 .59079651 1.6065987 -2.025435 -5.963571 3.3872267 .00003493 -.0002988 .00432259 .22227516 .30163731 1.7930871 2.1703029 -4.301866 -.0000085 .00007268 -.0009541 .00404189 .13033433 -.0337238 .37871365 2.2468474 * p-type ANO's (max 8 functions can be used) 15 8 5777.377 1368.674 444.1233 169.0991 71.10191 31.90311 14.85109 7.085227 3.324422 1.541164 0.690520 0.285424 0.114170 0.045668 0.018267 .00018364 -.0000641 .00001786 -.0000293 .00003757 -.0000574 .00004717 -.0001129 .00161110 -.0005626 .00015831 -.0002555 .00031060 -.0004796 .00079787 -.0008559 .00893306 -.0031441 .00087602 -.0014369 .00184297 -.0028100 .00232320 -.0057177 .03640766 -.0129556 .00365295 -.0058937 .00715633 -.0110448 .01874096 -.0201905 .11255928 -.0413180 .01154370 -.0189794 .02447013 -.0372458 .02910045 -.0805350 .25238886 -.0961060 .02735364 -.0440556 .05280936 -.0816956 .15830173 -.1520328 .38048748 -.1545839 .04343197 -.0731849 .09891909 -.1530986 .05462061 -.3824546 .31047820 -.1148758 .03382935 -.0542949 .06201692 -.1586369 .54869931 .10026208 .08808031 .16825757 -.0611490 .10392677 -.1279437 .44880841 -2.074822 2.4643205 .00320003 .47522201 -.1559635 .35080196 -.6480029 1.2367060 1.8004150 -4.605526 .00136798 .41995647 -.1942334 .21455923 .26641426 -2.690040 .18305779 4.6197035 -.0003878 .10071516 .12128512 -.9117910 1.3780078 1.9075451 -1.888714 -3.667305 .00021436 -.0016510 .68002867 -.2994418 -1.668225 -.1590524 2.7107390 2.8215277 -.0001028 .00277481 .32526772 .79383862 .32032507 -1.092690 -2.583620 -1.963935 .00003206 -.0007462 .01640418 .24053483 .68719137 .95690944 1.3604979 .87298715 * d-type ANO's (max 7 functions can be used) 10 7 155.8527 46.49771 17.62999 7.354672 3.274051 1.482482 0.661351 0.284826 0.112899 0.045160 .00082402 -.0007370 .00111483 -.0016061 .00235870 -.0027983 .00402780 .00690787 -.0061568 .00949818 -.0138562 .01838356 -.0323184 .05226688 .03046120 -.0274669 .04217370 -.0622978 .09402233 -.1273511 .22010320 .09234492 -.0841448 .13485535 -.2093158 .30787651 -.6296057 1.2617760 .19856961 -.1807083 .27482529 -.3859719 .49646648 .12458911 -2.987561 .29427802 -.2359404 .27099699 -.0411623 -.9372764 1.6010531 3.3198081 .31782364 -.1545483 -.1780122 .90020360 -.2635308 -2.596387 -2.539682 .27361464 .19348164 -.6524956 -.1729446 1.5113702 2.2867920 1.5159407 .15457842 .46099507 -.0368649 -1.001205 -1.648354 -1.432847 -.7512656 .05137878 .41547911 .73380859 .90394104 .86279221 .58347956 .27056377 * f-type ANO's (max 6 functions can be used) 6 6 5.9066 2.3412 .9279 .3678 .1458 .0578 .04103165 -.1107858 .24098334 -.4514890 .67789259 -1.111353 .16050066 -.3830492 .57916148 -.3629818 -.4903053 1.6754158 .39186678 -.4698632 -.2682171 1.0985609 -.2482355 -1.603267 .46817414 .29209866 -.6823265 -.8963554 .97160264 1.3300267 .23292268 .51792182 .64138311 .00667185 -1.392102 -1.008632 .03878760 .11509426 .26286929 .61585876 1.0961342 .55364857 * g-type ANO's (max 4 functions can be used) 4 4 3.3406 1.3130 .5161 .2028 .09336339 -.3410268 .49376937 -.2056110 .31083775 -.5179423 -.0819660 .30412955 .47448495 .19167126 -.5326820 -.2643424 .23905823 .55279659 .57865717 .14211497 ************************************************************************ /Cr.ano.Pou.21s15p10d6f4g.8s7p6d5f4g. R. Pou-Amerigo, M. Merchan, I. Nesbot-Gil, P.-O. Widmark and B.O. Roos Theor. Chim. Acta, 92, 149 (1995) ************************************************************************ * Cr Chromium atom * * Basic primitive: 20s12p9d from * * H. Partridge, J. Chem. Phys., 90, 1043 (1989) * * Augmented: 1s even-tempered continuation with beta=0.4 * * 3p even-tempered continuation with beta=0.4 * * 1d even-tempered continuation with beta=0.4 * * 6f 5 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * 4g 3 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * * * Contraction: State Field Method Weight * * Cr 7S(d5s) 0.000 MCPF 0.200 * * Cr 7S(d5s) 0.??? MCPF 0.200 * * Cr 5D(d4s2) 0.000 MCPF 0.200 * * Cr 5D(d6) 0.000 MCPF 0.200 * * Cr+ ??????? 0.000 MCPF 0.200 * * * * Contraction range: 5s3p2d - 6s5p4d3f2g for SCF * * 5s4p3d2f - 8s7p6d5f4g for correlation * * * ************************************************************************ a 24 * s-type ANO's (max 8 functions can be used) 21 8 6177194. 924929.5 210486.5 59620.05 19450.76 7022.056 2738.763 1135.814 495.0923 224.7487 105.3836 50.19359 22.24957 10.98265 5.383665 2.343685 1.105202 0.487848 0.089599 0.033423 0.013369 .00000453 -.0000014 .00000049 -.0000001 .00000022 -.0000004 .00000057 -.0000012 .00003521 -.0000106 .00000382 -.0000009 .00000164 -.0000027 .00000495 -.0000057 .00018515 -.0000555 .00002012 -.0000048 .00000920 -.0000147 .00002201 -.0000568 .00078168 -.0002344 .00008479 -.0000200 .00003566 -.0000585 .00011543 -.0000907 .00284001 -.0008546 .00030979 -.0000739 .00014466 -.0002294 .00031762 -.0010163 .00919119 -.0027776 .00100501 -.0002366 .00041229 -.0006823 .00144524 -.0005727 .02681960 -.0082331 .00299257 -.0007161 .00143310 -.0022555 .00281962 -.0115391 .07006655 -.0221543 .00805281 -.0018906 .00319367 -.0053539 .01243187 .00082352 .15802289 -.0536442 .01974039 -.0047509 .00983572 -.0153230 .01615043 -.0944889 .28468010 -.1108446 .04123838 -.0096465 .01526096 -.0263623 .07299220 .05848109 .34784190 -.1798118 .06982356 -.0171280 .03887358 -.0591042 .03281594 -.5273241 .21469596 -.1532613 .06194171 -.0139696 .01102886 -.0275075 .20421416 .66490439 .03639134 .15704605 -.0702821 .01468508 .01119258 .00607137 -.4066511 -1.952511 -.0023390 .55798352 -.3520653 .09575892 -.2755075 .41885794 -.0059639 7.6291413 .00157585 .40642734 -.3830360 .09291531 -.0244757 .18358054 -1.934850 -11.90154 -.0007032 .05485289 .26660971 -.0669435 -.1402895 -.3467947 6.1393726 10.920151 .00028399 -.0018377 .70724401 -.3057681 1.3913639 -1.982211 -6.585411 -6.814398 -.0001028 .00145363 .31331992 -.1700677 -.9758837 2.8306916 2.8140449 2.2547552 .00002443 -.0000765 .00785528 .74527867 -1.418835 -1.939406 -.0375438 -.4055322 -.0000169 .00023542 -.0036272 .39684274 1.7184583 .89050598 -1.110946 .09131826 .00000599 -.0000462 .00107928 .00528540 -.1521812 .33550718 1.0523679 .07126284 * p-type ANO's (max 8 functions can be used) 15 8 6268.921 1485.118 481.9146 183.5142 77.19005 34.65178 16.14846 7.710939 3.607154 1.667362 0.739088 0.301326 0.120530 0.048212 0.019285 .00018739 -.0000656 .00002114 -.0000428 .00004898 -.0000511 .00006531 -.0001281 .00164431 -.0005756 .00018614 -.0003679 .00041516 -.0005176 .00088093 -.0005734 .00912076 -.0032204 .00103814 -.0021020 .00240431 -.0025087 .00325738 -.0064793 .03719649 -.0132776 .00430205 -.0085030 .00960043 -.0120257 .02074716 -.0135075 .11492608 -.0423771 .01371148 -.0278731 .03196836 -.0329019 .04256650 -.0932997 .25692935 -.0983383 .03212876 -.0633242 .07142638 -.0934099 .17152030 -.0853080 .38335937 -.1569767 .05144403 -.1082859 .12916325 -.1241411 .14457122 -.5356592 .30473539 -.1086111 .03596735 -.0706248 .10060059 -.2137930 .39092669 .69000013 .08243436 .18485066 -.0764223 .17670897 -.3421204 .83665232 -2.420368 1.2536658 .00273624 .47596476 -.1942220 .57084961 -.8354989 .34600582 3.0695118 -3.353273 .00145719 .40672296 -.1856082 -.0357080 1.4164378 -2.124831 -1.595714 3.9343849 -.0003291 .10212740 .20105820 -1.256013 -.0497432 2.4811644 -.2690832 -3.647104 .00022833 -.0015565 .68652456 .40458459 -1.335998 -1.483469 1.5882811 3.2603958 -.0001021 .00275349 .26067748 .58709906 .97815558 -.1046105 -2.070752 -2.559945 .00003224 -.0007733 .00171746 .00688969 .25778321 .82880562 1.2990116 1.2482918 * d-type ANO's (max 8 functions can be used) 10 8 150.8341 44.99723 16.96088 7.040154 3.103878 1.375896 0.592282 0.242138 0.091284 0.036514 .00118076 -.0007317 .00147093 -.0019819 .00293042 -.0036589 .00783820 -.0336654 .00966118 -.0059386 .01221628 -.0163386 .02400180 -.0390196 .04556196 .03219555 .04140729 -.0258810 .05281196 -.0729836 .11269289 -.1593463 .37011736 -1.716260 .12131664 -.0761518 .16199100 -.2303703 .37251217 -.6785277 .85425727 2.8514356 .24095388 -.1505949 .29357778 -.3680624 .35632893 .49893128 -2.515853 -2.690986 .32484954 -.1687159 .23847460 .09367552 -.9766277 1.0046689 2.9615499 1.8749310 .32060330 -.0719464 -.2330891 .77748431 .00841508 -2.056937 -2.325097 -1.077098 .23605297 .19912700 -.5641504 -.1650367 1.2010561 1.9700826 1.4266032 .54132096 .09618844 .30980514 -.1872312 -.9983717 -1.464163 -1.331202 -.7484348 -.2500679 .02433110 .61183718 .71568988 .83634879 .77260007 .56566185 .28414257 .08967564 * f-type ANO's (max 6 functions can be used) 6 6 7.7139 3.0575 1.2119 .4803 .1904 .0755 .03904982 -.0921689 .20473737 -.3703472 .61620681 -1.183929 .16805148 -.3609068 .57457543 -.4450877 -.2081004 1.7196874 .40501469 -.4559056 -.1714447 .97410397 -.6652562 -1.578619 .45078646 .24749491 -.6972531 -.5084563 1.3308693 1.2270374 .22761472 .51827288 .45746728 -.4560229 -1.503973 -.8312239 .05358525 .19289890 .41964846 .82091235 .96516122 .38776843 * g-type ANO's (max 4 functions can be used) 4 4 4.3627 1.7148 .6740 .2649 .09899293 .25622855 .69331465 -.8839632 .37757706 .43342788 -.0578313 1.2816604 .52313249 -.1214369 -.7972606 -1.106184 .29987327 -.4941415 .79855974 .57647738 ************************************************************************ /Mn.ano.Pou.21s15p10d6f4g.8s7p6d5f4g. R. Pou-Amerigo, M. Merchan, I. Nesbot-Gil, P.-O. Widmark and B.O. Roos Theor. Chim. Acta, 92, 149 (1995) ************************************************************************ * Mn Manganese atom * * Basic primitive: 20s12p9d from * * H. Partridge, J. Chem. Phys., 90, 1043 (1989) * * Augmented: 1s even-tempered continuation with beta=0.4 * * 3p even-tempered continuation with beta=0.4 * * 1d even-tempered continuation with beta=0.4 * * 6f 5 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * 4g 3 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * * * Contraction: State Field Method Weight * * Mn 6S(d5s2) 0.000 MCPF 0.200 * * Mn 6S(d5s2) 0.010 MCPF 0.200 * * Mn 6D(d6s) 0.000 MCPF 0.200 * * Mn 4F(d7) 0.000 MCPF 0.200 * * Mn+ 7S(d5s) 0.000 MCPF 0.200 * * * * Contraction range: 5s3p2d - 6s5p4d3f2g for SCF * * 5s4p3d2f - 8s7p6d5f4g for correlation * * * ************************************************************************ a 25 * s-type ANO's (max 8 functions can be used) 21 8 3960805. 593115.5 134976.8 38230.67 12471.54 4501.743 1755.212 727.3039 316.3678 143.0098 66.21805 29.91896 14.30318 6.839451 3.012374 1.418808 0.623624 0.134098 0.065548 0.029584 0.011834 .00000874 -.0000026 .00000097 -.0000002 .00000035 -.0000007 .00000086 -.0000010 .00006798 -.0000205 .00000754 -.0000018 .00000278 -.0000058 .00000625 -.0000074 .00035740 -.0001078 .00003963 -.0000094 .00001423 -.0000288 .00003619 -.0000425 .00150705 -.0004553 .00016747 -.0000398 .00006222 -.0001299 .00013439 -.0001583 .00545756 -.0016552 .00060841 -.0001445 .00021660 -.0004351 .00057351 -.0006729 .01749973 -.0053576 .00197443 -.0004699 .00074071 -.0015590 .00152212 -.0017995 .04993510 -.0156566 .00577534 -.0013712 .00203365 -.0040421 .00567100 -.0066425 .12388065 -.0409510 .01523348 -.0036322 .00580329 -.0123698 .01108897 -.0132033 .25049690 -.0928723 .03492024 -.0083049 .01207351 -.0235615 .03703101 -.0434664 .35895921 -.1684245 .06548772 -.0157294 .02604552 -.0574136 .04081039 -.0500572 .27590166 -.1891878 .07702395 -.0184252 .02385161 -.0411084 .11359020 -.1339672 .06596040 .04616512 -.0195455 .00436727 .00485288 -.0323033 -.1239324 .13606088 -.0012372 .51471840 -.3005826 .07696053 -.1473013 .37768105 -.1093955 .27189303 .00195629 .50418495 -.4562535 .12103875 -.1459495 .26094306 -1.224961 1.4745861 -.0009071 .09186063 .12027269 -.0396616 -.0354716 -.0050120 2.7650131 -5.245831 .00039751 -.0025870 .72812934 -.2631384 .77851701 -2.432652 -1.148133 6.3171533 -.0001593 .00230804 .40324535 -.2629456 -.0807084 2.7044847 -1.328014 -3.566027 .00006825 -.0005992 .01779610 .43299071 -2.046530 -.1886359 4.4658121 1.5693211 -.0000647 .00056841 -.0101819 .54643391 1.2305396 -1.984475 -6.154583 .05076783 .00003125 -.0002737 .00400366 .19067476 .54467078 1.8106923 3.0596419 -2.174854 -.0000079 .00006891 -.0009240 -.0002215 .08868424 -.1521510 -.1784082 1.7203416 * p-type ANO's (max 8 functions can be used) 15 8 7048.271 1669.678 541.8571 206.4295 86.89334 39.06309 18.24725 8.741289 4.119332 1.914804 0.857893 0.354950 0.141980 0.056792 0.022717 .00017838 -.0000639 .00001764 -.0000352 .00003827 -.0000547 .00005396 -.0001415 -.0004826 .00156682 -.0005610 .00015601 -.0003059 .00032349 -.0005149 .00080032 -.0005553 .01044426 .00871540 -.0031465 .00086965 -.0017361 .00188621 -.0026997 .00268301 -.0070815 -.0243179 .03571612 -.0130398 .00363280 -.0071221 .00752973 -.0120236 .01893382 -.0131945 .26412304 .11121532 -.0419216 .01162417 -.0232595 .02535636 -.0360764 .03485681 -.1028433 -.3612370 .25160511 -.0985734 .02770210 -.0541806 .05694881 -.0933107 .15977682 -.0781418 3.0216564 .38123080 -.1596252 .04470706 -.0919950 .10353017 -.1416660 .10213504 -.6158736 -6.270724 .31029020 -.1150729 .03304798 -.0671771 .07872645 -.2086819 .50439901 .64901297 6.6844700 .08812067 .17705150 -.0626066 .13777231 -.1922694 .67105097 -2.267905 1.6993491 -4.984907 .00359901 .47737788 -.1610873 .46888224 -.6913723 .84618017 2.3112011 -4.029803 3.0710681 .00145213 .41264499 -.1769052 .10208168 .61487765 -2.435228 -.3941252 4.4509743 -1.644772 -.0003342 .09948657 .12091273 -1.045961 .92077357 1.9381038 -1.484440 -3.782614 .83261457 .00020601 -.0015978 .64429185 -.0694511 -1.515377 -.2709080 2.4865239 3.0234311 -.4428750 -.0000973 .00267826 .35827295 .68819973 .36824918 -1.065436 -2.448130 -2.119262 .22419984 .00003032 -.0007155 .01972486 .18214327 .70160792 .99859212 1.2827484 .92705761 -.0769449 * d-type ANO's (max 7 functions can be used) 10 7 199.8357 59.72176 22.74772 9.565003 4.285499 1.950975 0.872796 0.375621 0.148009 0.059204 .00086891 -.0006141 .00124531 -.0014435 .00222581 -.0023552 .00447956 -.0398297 .00740550 -.0051723 .01084024 -.0124306 .01898880 -.0338838 .04542668 .11926241 .03343543 -.0237547 .04918383 -.0580733 .09232563 -.1139997 .22945095 -1.910099 .10222306 -.0726328 .16008166 -.1953527 .33205016 -.6999566 1.2380564 3.0008544 .21763820 -.1584041 .32014185 -.3745566 .50021708 .30744285 -3.006325 -2.775730 .31388649 -.2022489 .26650740 .04875241 -1.019763 1.4119725 3.4161670 1.9439010 .32265141 -.1223759 -.2815251 .78022240 -.1646050 -2.509799 -2.670378 -1.133920 .24897735 .19545298 -.5757098 -.1124107 1.4349364 2.2653144 1.6162205 .56920635 .11555483 .39788322 -.0703426 -1.104248 -1.566224 -1.411257 -.8021808 -.2506174 .03978048 .51436971 .67373316 .97098943 .78798753 .56051661 .28599915 .08453745 * f-type ANO's (max 6 functions can be used) 6 6 9.5413 3.7818 1.4990 .5941 .2355 .0933 .03498523 -.0802442 .16572786 -.3204812 .57319223 -1.226415 .15976609 -.3483093 .57437755 -.5500650 -.1036068 1.7021396 .39648688 -.4783902 -.1019929 1.0196891 -.7600369 -1.506887 .45515610 .22560179 -.7524029 -.4858920 1.3784874 1.1506419 .23977597 .52997079 .45286160 -.4735972 -1.518737 -.7816425 .05663872 .19214405 .43555178 .80734613 .97413210 .37209785 * g-type ANO's (max 4 functions can be used) 4 4 5.3963 2.1210 .8337 .3277 .08170016 -.3031187 .64839085 1.0126400 .34540706 -.6066715 .02836825 -1.406967 .52930680 .11185796 -.8481356 1.1771796 .34012540 .65216468 .79339487 -.6031713 ************************************************************************ /Fe.ano.Pou.21s15p10d6f4g.8s7p6d5f4g. R. Pou-Amerigo, M. Merchan, I. Nesbot-Gil, P.-O. Widmark and B.O. Roos Theor. Chim. Acta, 92, 149 (1995) ************************************************************************ * Fe Iron atom * * Basic primitive: 20s12p9d from * * H. Partridge, J. Chem. Phys., 90, 1043 (1989) * * Augmented: 1s even-tempered continuation with beta=0.4 * * 3p even-tempered continuation with beta=0.4 * * 1d even-tempered continuation with beta=0.4 * * 6f 5 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * 4g 3 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * * * Contraction: State Field Method Weight * * Fe 5D(d6s2) 0.000 MCPF 0.200 * * Fe 5D(d6s2) 0.015 MCPF 0.200 * * Fe 5F(d7s) 0.000 MCPF 0.200 * * Fe 3F(d8) 0.000 MCPF 0.200 * * Fe+ 6D(d6s) 0.000 MCPF 0.200 * * * * Contraction range: 5s3p2d - 6s5p4d3f2g for SCF * * 5s4p3d2f - 8s7p6d5f4g for correlation * * * ************************************************************************ a 26 * s-type ANO's (max 8 functions can be used) 21 8 4316265. 646342.4 147089.7 41661.52 13590.77 4905.750 1912.746 792.6043 344.8065 155.8999 72.23091 32.72506 15.66762 7.503483 3.312223 1.558471 0.683914 0.146757 0.070583 0.031449 0.012580 .00000869 -.0000026 .00000085 -.0000002 .00000035 -.0000007 .00000081 -.0000010 .00006755 -.0000202 .00000660 -.0000018 .00000273 -.0000057 .00000587 -.0000070 .00035514 -.0001065 .00003471 -.0000094 .00001401 -.0000287 .00003390 -.0000407 .00149758 -.0004495 .00014670 -.0000397 .00006113 -.0001281 .00012625 -.0001507 .00542368 -.0016347 .00053293 -.0001438 .00021326 -.0004333 .00053681 -.0006437 .01739498 -.0052934 .00173043 -.0004680 .00072769 -.0015352 .00143200 -.0017117 .04966288 -.0154862 .00506478 -.0013658 .00200474 -.0040396 .00530524 -.0063667 .12335573 -.0405985 .01338915 -.0036226 .00570613 -.0121633 .01046250 -.0125269 .25002288 -.0925040 .03080255 -.0082964 .01195172 -.0237436 .03466553 -.0417984 .35990369 -.1690500 .05821825 -.0157706 .02569755 -.0563141 .03881305 -.0470446 .27899279 -.1922840 .06938655 -.0185872 .02403849 -.0434858 .10640664 -.1300846 .06684859 .04532080 -.0166827 .00410355 .00461023 -.0274669 -.1142585 .13536565 -.0053045 .52919124 -.2807190 .07759402 -.1450720 .35854227 -.0805555 .16628852 -.0021942 .52613699 -.4350295 .12054486 -.1470185 .29723727 -1.221339 1.7057170 -.0015672 .08634042 .13102653 -.0409131 -.0228404 -.0556067 2.6254050 -5.397689 .00070059 -.0366666 .72871523 -.2624671 .74958123 -2.357863 -.9638793 6.1815820 -.0000133 -.0164420 .39852762 -.2576817 -.0772963 2.6221971 -1.398192 -3.261505 .00007584 -.0013802 .01733967 .43339758 -1.928009 -.0969618 4.1494727 .90032804 -.0000682 .00098672 -.0096616 .54662556 1.0656945 -1.991049 -5.409749 .99723153 .00003286 -.0004385 .00385198 .18747114 .60856319 1.7209050 2.3564495 -2.752248 -.0000084 .00010903 -.0009097 .00270482 .09196064 -.1005195 .12730233 1.8620910 * p-type ANO's (max 8 functions can be used) 15 8 7721.489 1829.126 593.6280 226.2054 95.26145 42.85920 20.04971 9.620885 4.541371 2.113500 0.947201 0.391243 0.156497 0.062599 0.025040 .00017940 -.0000553 .00001827 -.0000346 .00003991 -.0000545 .00006248 -.0001661 -.0005722 .00157653 -.0004858 .00016138 -.0003021 .00034847 -.0005660 .00080567 -.0002349 .01113891 .00878209 -.0027322 .00090232 -.0017071 .00197164 -.0026979 .00309858 -.0082767 -.0291864 .03607769 -.0113692 .00377265 -.0070639 .00815407 -.0133077 .01915800 -.0055139 .27748838 .11272928 -.0368480 .01213515 -.0230082 .02661734 -.0360385 .04130870 -.1219969 -.4466693 .25609280 -.0875078 .02898861 -.0542434 .06262644 -.1060966 .16004548 .00604987 3.2138760 .38909425 -.1433072 .04708145 -.0911168 .10665344 -.1308655 .14569937 -.8384339 -6.345735 .31513025 -.0997609 .03395627 -.0677305 .09339326 -.2728610 .46212609 1.1486923 6.4875631 .07892748 .18578570 -.0672107 .14812742 -.2355891 .87476561 -2.465280 .94170997 -4.669178 -.0195952 .47909012 -.1728765 .46037011 -.6834363 .58764224 2.8614131 -3.362567 2.8146956 -.0183793 .40815100 -.1662075 .03915707 .63114560 -2.294240 -1.060446 4.1470776 -1.493014 -.0050537 .09750333 .14589742 -.9133288 .89696110 1.9283610 -.9677636 -3.809970 .75651702 .00027944 -.0015518 .61178551 -.1569658 -1.382060 -.2812893 2.1615229 3.2168655 -.4064951 -.0002231 .00263138 .35925888 .64005451 .16944946 -1.038708 -2.253774 -2.313923 .20776462 .00006381 -.0007026 .04073564 .28359879 .76562060 .93879985 1.1863003 1.0139617 -.0716581 * d-type ANO's (max 7 functions can be used) 10 7 217.3688 64.99976 24.77314 10.43614 4.679653 2.125622 0.945242 0.402685 0.156651 0.062660 .00090859 -.0007237 .00125891 -.0016193 .00209633 -.0018965 .00476192 -.0420564 .00775703 -.0061290 .01092111 -.0139403 .01981104 -.0353407 .04004455 .14882168 .03509608 -.0281316 .04980135 -.0654238 .08767694 -.0947148 .22326433 -1.951290 .10690639 -.0862305 .16077486 -.2210534 .35342277 -.7510454 1.2235647 3.0168533 .22354778 -.1837914 .32346144 -.4183677 .46566332 .49963991 -2.968507 -2.760167 .31482281 -.2230041 .24231987 .18487331 -1.184185 1.1257590 3.3916974 1.9189267 .31706314 -.0994840 -.3448707 .78688109 .22287923 -2.313790 -2.691361 -1.116445 .24533968 .24250462 -.5496404 -.3431158 1.1216886 2.2445109 1.6732141 .56228806 .11980182 .42175965 .03680085 -.8704182 -1.511151 -1.501002 -.8667367 -.2513203 .04248366 .43580570 .65109526 .90154758 .84889270 .63294990 .32293178 .08667542 * f-type ANO's (max 6 functions can be used) 6 6 11.2749 4.4690 1.7713 .7021 .2783 .1103 .03258762 -.0737873 .15048476 -.3245757 .57593078 -1.226507 .15612854 -.3571723 .61759584 -.5736524 -.1783540 1.6712348 .40094745 -.4833309 -.1524651 1.1268861 -.6260514 -1.485194 .45321069 .23975434 -.7440038 -.6833202 1.2778847 1.1701466 .23899828 .52100979 .50331812 -.2813075 -1.526375 -.8345508 .05966161 .18732479 .38453654 .71794260 1.0455930 .41842660 * g-type ANO's (max 4 functions can be used) 4 4 6.3768 2.5064 .9851 .3872 -.0718181 -.2927576 .59985778 -.7752615 -.3567204 -.6034929 .01174938 1.0695831 -.5171641 .16179085 -.7618243 -.9065252 -.2939848 .62253897 .74342225 .47321069 ************************************************************************ /Co.ano.Pou.21s15p10d6f4g.8s7p6d5f4g. R. Pou-Amerigo, M. Merchan, I. Nesbot-Gil, P.-O. Widmark and B.O. Roos Theor. Chim. Acta, 92, 149 (1995) ************************************************************************ * Co Cobolt atom * * Basic primitive: 20s12p9d from * * H. Partridge, J. Chem. Phys., 90, 1043 (1989) * * Augmented: 1s even-tempered continuation with beta=0.4 * * 3p even-tempered continuation with beta=0.4 * * 1d even-tempered continuation with beta=0.4 * * 6f 5 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * 4g 3 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * * * Contraction: State Field Method Weight * * Co 4F(d7s2) 0.000 MCPF 0.200 * * Co 4F(d7s2) 0.??? MCPF 0.200 * * Co 4D(d8s) 0.000 MCPF 0.200 * * Co 2D(d9) 0.000 MCPF 0.200 * * Co+ ?????? 0.000 MCPF 0.200 * * * * Contraction range: 5s3p2d - 6s5p4d3f2g for SCF * * 5s4p3d2f - 8s7p6d5f4g for correlation * * * ************************************************************************ a 27 * s-type ANO's (max 8 functions can be used) 21 8 4676708. 700317.2 159373.0 45140.67 14725.75 5315.448 2072.498 858.8231 373.6437 168.9682 78.31971 35.53724 17.04735 8.175534 3.611578 1.697468 0.743636 0.158325 0.075009 0.033093 0.013237 .00000862 -.0000026 .00000098 -.0000002 .00000044 -.0000007 .00000067 -.0000010 .00006703 -.0000204 .00000762 -.0000017 .00000347 -.0000055 .00000496 -.0000073 .00035243 -.0001075 .00004004 -.0000089 .00001770 -.0000279 .00002820 -.0000422 .00148616 -.0004538 .00016923 -.0000379 .00007793 -.0001222 .00010728 -.0001581 .00538250 -.0016500 .00061484 -.0001373 .00026886 -.0004247 .00044435 -.0006660 .01726474 -.0053419 .00199594 -.0004468 .00093001 -.0014568 .00122610 -.0018044 .04930401 -.0156239 .00584290 -.0013053 .00252087 -.0039918 .00436638 -.0065650 .12253550 -.0409288 .01543990 -.0034624 .00732687 -.0114626 .00906970 -.0132991 .24860382 -.0931274 .03551543 -.0079487 .01498118 -.0238679 .02829761 -.0429058 .35837905 -.1696550 .06696125 -.0151248 .03342105 -.0522248 .03494891 -.0508896 .27841055 -.1924509 .07961678 -.0179403 .02931208 -.0483693 .08403478 -.1310410 .06785877 .04347139 -.0187210 .00395775 .00996532 -.0119317 -.0820874 .13014281 -.0011575 .51737043 -.3104228 .07479185 -.1961004 .30946349 -.0853252 .14081641 .00192304 .50464645 -.4605415 .11490079 -.1762649 .39054298 -.9968384 1.9027016 -.0008896 .09201286 .13587243 -.0422338 -.0386191 -.2853214 2.0696525 -5.664310 .00038521 -.0023455 .73020264 -.2468642 1.0841513 -2.059034 -.5272583 6.1328756 -.0001514 .00224229 .39330008 -.2419882 -.4262671 2.5781278 -1.418355 -2.895617 .00006126 -.0005385 .01679521 .37226088 -1.919562 -.6181502 3.4922751 -.0443428 -.0000567 .00050121 -.0093016 .56759555 1.3732252 -1.307667 -4.081620 2.3067771 .00002784 -.0002456 .00375185 .21737935 .27764584 1.3226252 1.0653131 -3.404979 -.0000073 .00006422 -.0009060 .00352473 .13569011 .10033553 .75922506 1.8766262 * p-type ANO's (max 8 functions can be used) 15 8 8421.842 1995.000 647.4855 246.7795 103.9689 46.81052 21.92703 10.53715 4.980678 2.319824 1.039609 0.428921 0.171568 0.068627 0.027451 .00017491 -.0000640 .00001883 -.0000383 .00003985 -.0000537 .00006911 -.0001822 -.0006813 .00153773 -.0005624 .00016619 -.0003362 .00035808 -.0005927 .00077512 -.0000350 .01185763 .00857464 -.0031626 .00093163 -.0018945 .00197283 -.0026636 .00343876 -.0090435 -.0351219 .03528967 -.0131653 .00389907 -.0078932 .00841770 -.0140016 .01847170 -.0007218 .29243259 .11048562 -.0425877 .01259829 -.0256796 .02674396 -.0356191 .04674610 -.1345115 -.5501895 .25156273 -.1009536 .03016538 -.0611228 .06551271 -.1134129 .15132134 .06049949 3.4145381 .38208843 -.1640955 .04922893 -.1020196 .10577100 -.1240218 .19630074 -.9998335 -6.498506 .30945671 -.1146114 .03475151 -.0772885 .10794079 -.3189137 .38612866 1.5462246 6.4934771 .08757280 .18585070 -.0718809 .18257783 -.2925776 1.0561700 -2.544209 .30457211 -4.586520 .00382659 .48071243 -.1828456 .51785755 -.6541275 .30098162 3.2431707 -2.753196 2.7289529 .00151229 .40513114 -.1534736 -.0555423 .76754227 -2.121820 -1.602917 3.8075851 -1.435592 -.0002853 .09651019 .15599366 -.9399717 .67550465 1.9830532 -.4972342 -3.748121 .72480317 .00020138 -.0015578 .59752058 -.0557778 -1.321974 -.4347818 1.8487048 3.3157523 -.3899526 -.0000928 .00261271 .36419424 .61553966 .22022438 -.9317457 -2.089225 -2.447135 .19961795 .00002894 -.0006972 .04018451 .23599688 .76020008 .91738297 1.1324392 1.0846333 -.0688871 * d-type ANO's (max 8 functions can be used) 10 7 237.5928 71.08881 27.11903 11.44826 5.139542 2.332694 1.034030 0.437899 0.168963 0.067585 .00092701 -.0008472 .00120627 -.0017141 .00205156 -.0016947 .00531521 -.0424456 .00793865 -.0072160 .01046468 -.0149083 .02182970 -.0366378 .03504843 .15476117 .03606409 -.0332324 .04802992 -.0695053 .08697792 -.0863703 .23581848 -1.962433 .10968155 -.1023159 .15456282 -.2375036 .39857288 -.7964566 1.1666813 3.0345805 .22645775 -.2139503 .31068293 -.4510802 .41507497 .71535861 -2.900482 -2.779097 .31367762 -.2429566 .20905209 .26005331 -1.333353 .78568134 3.3754224 1.9355067 .31243547 -.0662031 -.3593479 .80108242 .58326826 -2.067429 -2.746977 -1.130112 .24628330 .29378188 -.5128844 -.4713708 .79678895 2.2083869 1.7688814 .57352581 .12633171 .41673019 .07429744 -.7172104 -1.370394 -1.606102 -.9608380 -.2608512 .03900343 .37130918 .68550193 .82498909 .82987168 .72071882 .37382497 .09195193 * f-type ANO's (max 8 functions can be used) 6 6 12.8403 5.0894 2.0172 .7996 .3169 .1256 .03236906 -.0745389 .14591657 -.3323296 .60103182 -1.212804 .15788753 -.3766774 .63322144 -.5772782 -.2682159 1.6474973 .41073331 -.4748131 -.2037817 1.1847129 -.5009299 -1.481590 .45170693 .27648132 -.7136340 -.8030955 1.1833548 1.2040361 .22855470 .50315310 .53295503 -.1552880 -1.506507 -.8962757 .05597529 .17676002 .36751161 .65459913 1.0737228 .46841787 * g-type ANO's (max 8 functions can be used) 4 4 7.2621 2.8544 1.1219 .4410 -.0594147 .31279874 -.6965410 .99927841 -.3498351 .62959057 .02955342 -1.384018 -.5066564 -.2105011 .83710582 1.1942859 -.2718922 -.6000994 -.8666503 -.6369931 ************************************************************************ /Ni.ano.Pou.21s15p10d6f4g.8s7p6d5f4g. R. Pou-Amerigo, M. Merchan, I. Nesbot-Gil, P.-O. Widmark and B.O. Roos Theor. Chim. Acta, 92, 149 (1995) ************************************************************************ * Ni Nickel atom * * Basic primitive: 20s12p9d from * * H. Partridge, J. Chem. Phys., 90, 1043 (1989) * * Augmented: 1s even-tempered continuation with beta=0.4 * * 3p even-tempered continuation with beta=0.4 * * 1d even-tempered continuation with beta=0.4 * * 6f 5 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * 4g 3 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * * * Contraction: State Field Method Weight * * Ni 3F(d8s2) 0.000 MCPF 0.200 * * Ni 3F(d8s2) 0.015 MCPF 0.200 * * Ni 3D(d9s) 0.000 MCPF 0.200 * * Ni 1S(d10) 0.000 MCPF 0.200 * * Ni+ 2D(d9) 0.000 MCPF 0.200 * * * * Contraction range: 5s3p2d - 6s5p4d3f2g for SCF * * 5s4p3d2f - 8s7p6d5f4g for correlation * * * ************************************************************************ a 28 * s-type ANO's (max 8 functions can be used) 21 8 5048010. 755918.1 172026.2 48724.57 15894.89 5737.468 2237.051 927.0302 403.3461 182.4282 84.58917 38.42293 18.46879 8.868190 3.918870 1.839853 0.804663 0.169846 0.079370 0.034700 0.013880 .00000859 -.0000026 .00000098 -.0000002 .00000045 -.0000007 .00000086 -.0000011 .00006676 -.0000204 .00000766 -.0000017 .00000355 -.0000056 .00000627 -.0000090 .00035102 -.0001076 .00004028 -.0000089 .00001809 -.0000290 .00003641 -.0000442 .00148024 -.0004541 .00017022 -.0000375 .00007957 -.0001262 .00013477 -.0002033 .00536128 -.0016512 .00061846 -.0001362 .00027478 -.0004421 .00057704 -.0006615 .01719845 -.0053463 .00200801 -.0004432 .00094963 -.0015017 .00152697 -.0024644 .04912754 -.0156411 .00587968 -.0012948 .00257818 -.0041660 .00571489 -.0061019 .12216703 -.0409988 .01554882 -.0034381 .00748691 -.0117984 .01115038 -.0198733 .24810883 -.0933929 .03580902 -.0079000 .01536155 -.0250661 .03757780 -.0355458 .35826234 -.1704003 .06764847 -.0150693 .03423588 -.0535867 .04129612 -.0966771 .27910233 -.1937400 .08065478 -.0179107 .03032359 -.0523617 .11727594 -.0583330 .06830145 .04354049 -.0189262 .00392193 .00992020 -.0078368 -.1272878 -.0934702 -.0011835 .51950274 -.3154584 .07504682 -.2013734 .31051000 -.0582180 .75915216 .00191625 .50372386 -.4611078 .11324246 -.1830388 .44043500 -1.499582 1.3006597 -.0008845 .09139081 .14489869 -.0439357 -.0217528 -.3962250 3.4924071 -6.124254 .00038171 -.0022736 .73044873 -.2443838 1.0974998 -2.005365 -2.190765 8.0238672 -.0001483 .00220816 .38778553 -.2348542 -.4679771 2.6304708 -.5455901 -5.046032 .00005854 -.0005133 .01622800 .36865540 -1.854982 -.8055990 3.5960644 3.8279533 -.0000537 .00047484 -.0089148 .57243374 1.3222116 -1.120927 -5.237586 -3.839624 .00002661 -.0002348 .00364398 .21592434 .29731170 1.3686309 2.7668854 1.3803078 -.0000071 .00006236 -.0008965 .00028770 .11571621 -.0154283 -.1683986 .13715752 * p-type ANO's (max 8 functions can be used) 15 8 9148.796 2167.171 703.3857 268.1342 113.0078 50.91339 23.87740 11.48924 5.436884 2.533837 1.135309 0.467891 0.187156 0.074862 0.029945 .00017357 -.0000640 .00001962 -.0000429 .00004465 -.0000495 .00007492 .00152657 -.0005629 .00017312 -.0003784 .00042103 -.0005791 .00072143 .00852129 -.0031692 .00097223 -.0021280 .00221461 -.0024593 .00372753 .03513410 -.0132183 .00407438 -.0089146 .00994005 -.0137421 .01723879 .11025027 -.0428710 .01321023 -.0289804 .03007484 -.0329468 .05160920 .25168061 -.1019674 .03171293 -.0694999 .07851525 -.1129689 .13785585 .38250457 -.1659257 .05192371 -.1156346 .11657619 -.1126527 .24807384 .30893669 -.1141167 .03605129 -.0901824 .15823133 -.3393311 .26394793 .08722897 .18968805 -.0772532 .22442351 -.4693645 1.2317926 -2.464059 .00392062 .48171716 -.1941497 .59429596 -.6653167 -.1771550 3.4121318 .00153919 .40202033 -.1477233 -.1622569 1.2479905 -1.713784 -2.011472 -.0002655 .09551929 .17187531 -1.034043 .06088248 2.0981372 -.0421967 .00019937 -.0015489 .60426626 .15003199 -1.224016 -.9419235 1.5201981 -.0000909 .00258826 .35544105 .61273403 .59511470 -.5823576 -1.985317 .00002837 -.0006906 .02125057 .09486061 .50804733 .95110917 1.1789974 * d-type ANO's (max 7 functions can be used) 10 7 258.8667 77.49604 29.58972 12.51527 5.624468 2.551303 1.128060 0.475373 0.182128 0.072851 .00095252 -.0009261 .00123665 -.0017787 .00201937 -.0017255 .00817994 -.0079244 .01074816 -.0157175 .02331777 -.0374209 .03730818 -.0366267 .04958935 -.0727320 .08728668 -.0890363 .11328720 -.1130537 .15987740 -.2541176 .43666374 -.8372345 .23147573 -.2326325 .31923224 -.4630912 .33746420 .91659382 .31613597 -.2493503 .17919012 .36602757 -1.392160 .46290674 .31084320 -.0353269 -.4130720 .75610368 .84327465 -1.803471 .24210237 .32694740 -.4749400 -.6047182 .52596860 2.1157706 .12298386 .41969843 .17118431 -.5581049 -1.258603 -1.654463 .03516757 .31817544 .63979396 .78181900 .83751331 .78531829 * f-type ANO's (max 6 functions can be used) 6 6 14.2156 5.6345 2.2333 0.8852 0.3509 0.1391 .03449541 -.0779649 .15327657 -.3583346 .66710855 .16793185 -.3935911 .64450372 -.5422091 -.4195490 .42354035 -.4564942 -.2641527 1.2117554 -.3167293 .44325993 .31147596 -.6774664 -.9105044 1.0335596 .21579087 .49201071 .56328287 -.0317133 -1.439519 .05136224 .16482549 .34102044 .59642445 1.0790177 * g-type ANO's (max 4 functions can be used) 4 4 8.0399 3.1601 1.2421 0.4882 .06441670 .23374941 -.6226194 -.5345585 .39422643 .43638821 .07673291 .75288227 .54552056 -.1801696 .68610126 -.6639900 .26876227 -.4040997 -.7581233 .36172785 ************************************************************************ /Cu.ano.Pou.21s15p10d6f4g.8s7p6d5f4g. R. Pou-Amerigo, M. Merchan, I. Nesbot-Gil, P.-O. Widmark and B.O. Roos Theor. Chim. Acta, 92, 149 (1995) ************************************************************************ * Cu copper atom * * Basic primitive: 20s12p9d from * * H. Partridge, J. Chem. Phys., 90, 1043 (1989) * * Augmented: 1s even-tempered continuation with beta=0.4 * * 3p even-tempered continuation with beta=0.4 * * 1d even-tempered continuation with beta=0.4 * * 6f 5 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * 4g 3 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * * * Contraction: State Field Method Weight * * Cu 2S(d10s) 0.000 MCPF 0.250 * * Cu 2S(d10s) 0.005 MCPF 0.250 * * Cu 2D(d9s2) 0.000 MCPF 0.250 * * Cu+ 1S(d10) 0.000 MCPF 0.250 * * * * Contraction range: 5s3p2d - 6s5p4d3f2g for SCF * * 5s4p3d2f - 8s7p6d5f4g for correlation * * * ************************************************************************ a 29 * s-type ANO's (max 8 functions can be used) 21 8 9148883. 1369956. 311782.6 88318.80 28815.53 10403.46 4057.791 1682.974 733.7543 333.2677 156.4338 74.69721 33.32262 16.62237 8.208260 3.609400 1.683449 0.733757 0.110207 0.038786 0.015514 .00000446 -.0000014 .00000051 -.0000001 .00000023 -.0000004 .00000057 -.0000004 .00003469 -.0000107 .00000399 -.0000008 .00000168 -.0000029 .00000453 -.0000023 .00018239 -.0000561 .00002101 -.0000045 .00000943 -.0000154 .00002305 -.0000208 .00077001 -.0002370 .00008857 -.0000187 .00003654 -.0000634 .00010178 -.0000403 .00279764 -.0008638 .00032360 -.0000695 .00014823 -.0002388 .00035130 -.0003651 .00905596 -.0028083 .00105019 -.0002203 .00042258 -.0007463 .00122040 -.0003145 .02644076 -.0083298 .00312936 -.0006753 .00146999 -.0023287 .00335444 -.0040766 .06918041 -.0224540 .00843864 -.0017612 .00328324 -.0059489 .00999049 -.0008187 .15647987 -.0545657 .02077023 -.0045222 .01014895 -.0156905 .02190012 -.0327459 .28318803 -.1133921 .04369710 -.0090430 .01588483 -.0304429 .05407196 .01311414 .34834744 -.1851260 .07460186 -.0167018 .04068724 -.0590770 .07563410 -.1783570 .21729716 -.1587381 .06696043 -.0128842 .01192632 -.0416723 .10389402 .21183133 .03723951 .16600910 -.0794426 .01333561 .01022034 .03684613 -.1401680 -.6562555 -.0025807 .56808838 -.3848752 .09790588 -.2916877 .38295335 -.5126665 2.2531713 .00156037 .39505047 -.3724662 .07249738 -.0233203 .36386434 -1.350398 -2.365242 -.0006799 .05193438 .31938583 -.0605655 -.0655306 -.8379095 5.6933879 -.0447763 .00026190 -.0010578 .70435862 -.2971844 1.3229446 -1.332775 -6.489476 2.0200703 -.0000868 .00123941 .27996239 -.1063761 -1.055941 2.3585238 2.9509294 -1.742554 .00001768 -.0001197 .00579101 .79532714 -1.230878 -1.828465 -.3349516 1.8773472 -.0000129 .00008857 -.0026652 .30758247 1.6531394 1.2032456 -.6736226 -3.248054 .00000485 -.0000340 .00095219 .01483550 -.2015516 .04477909 .84894095 2.2829914 * p-type ANO's (max 8 functions can be used) 15 8 9713.253 2300.889 746.7706 284.6806 119.9999 54.07386 25.37321 12.20962 5.757421 2.673402 1.186835 0.481593 0.192637 0.077055 0.030822 .00017835 -.0000658 .00002261 -.0000470 .00004948 -.0000495 .00008517 -.0001987 -.0007302 .00156858 -.0005782 .00019824 -.0004156 .00048665 -.0005750 .00066685 .00010688 .01199792 .00875434 -.0032566 .00112044 -.0023277 .00245539 -.0024586 .00423607 -.0098429 -.0378740 .03608107 -.0135780 .00466570 -.0097925 .01150309 -.0136626 .01591961 .00266811 .29705011 .11299149 -.0439985 .01521575 -.0316589 .03321540 -.0329894 .05943582 -.1476665 -.6126158 .25664086 -.1041809 .03608110 -.0759931 .09109846 -.1116608 .12028889 .10356637 3.5320896 .38518747 -.1676802 .05925497 -.1244749 .12482896 -.1175665 .32080284 -1.174691 -6.629590 .30288080 -.1071443 .03709927 -.0955157 .19632255 -.3155263 .05813442 2.1301986 6.5710761 .08164476 .20500459 -.0933945 .27896165 -.6786917 1.3818450 -2.249675 -.7761208 -4.595282 .00338807 .48293963 -.2290024 .62767588 -.4986374 -.7132927 3.4652132 -1.559746 2.7024379 .00157696 .39022329 -.1232369 -.3261519 1.4798113 -1.109036 -2.381532 2.9462025 -1.401881 -.0002208 .09437742 .23118244 -1.000990 -.4634203 1.9212999 .45280515 -3.377708 .71170212 .00021195 -.0015448 .60241087 .33267140 -.9305540 -1.200003 1.1267670 3.3276109 -.3931350 -.0000895 .00264387 .30652419 .54404043 .69217014 -.3179660 -1.812136 -2.617140 .20357363 .00002842 -.0007274 .01307756 .05542395 .36845722 .93548985 1.1659415 1.2041812 -.0704246 * d-type ANO's (max 7 functions can be used) 10 7 249.3497 74.63837 28.37641 11.94893 5.317646 2.364417 1.012386 0.406773 0.147331 0.058932 .00126396 -.0015531 .00186923 -.0023354 .00250414 -.0057025 .00930261 -.0373750 .01063885 -.0131130 .01612505 -.0229071 .03579454 -.0349112 -.0067535 .10324355 .04720950 -.0589550 .07240919 -.0939470 .11182291 -.2494571 .38333144 -1.833120 .13793658 -.1778206 .23628626 -.3767594 .69073690 -.9131010 .17245148 2.9776203 .26266752 -.3271681 .38296124 -.3271353 -.4708926 2.1426159 -1.302479 -2.818200 .33241634 -.2409974 -.1679375 .95009693 -.9338754 -1.988746 2.0728802 2.0198438 .30779901 .18960651 -.6824603 -.0464879 1.6653446 .90197359 -2.255809 -1.234698 .21664096 .50340449 .08869927 -.8856022 -1.121440 .19401292 2.0769921 .69506435 .08407717 .30703593 .60278641 .54282853 .03505111 -.9173050 -1.849904 -.4017728 .00504377 .03253971 .14438102 .32722396 .52780363 .85028700 1.1691264 .19290830 * f-type ANO's (max 6 functions can be used) 6 6 15.4333 6.1172 2.4246 0.9610 0.3809 0.1510 .03901817 -.0843767 .16168310 -.3855035 .77156950 -1.091683 .18754340 -.4143733 .63482614 -.5020200 -.6094222 1.5665036 .44621247 -.4172357 -.3107576 1.2054355 -.1162023 -1.532486 .42647410 .35876802 -.6318876 -.9452050 .87171529 1.3863123 .19155912 .47774575 .56734018 .01430769 -1.333118 -1.150616 .04165182 .15423758 .35009788 .57235196 1.0308811 .65774709 * g-type ANO's (max 4 functions can be used) 4 4 8.7286 3.4308 1.3485 0.5300 .06945941 -.3791541 .74921737 -.9508429 .43698748 -.5966263 -.2169881 1.3838049 .54147510 .36137813 -.6713561 -1.278381 .21743974 .51267837 .87570242 .73274226 ************************************************************************ /Zn.ano.Pou.21s15p10d6f4g.8s7p6d5f4g. R. Pou-Amerigo, M. Merchan, I. Nesbot-Gil, P.-O. Widmark and B.O. Roos Theor. Chim. Acta, 92, 149 (1995) ************************************************************************ * Zn Zinc atom * * Basic primitive: 20s12p9d from * * H. Partridge, J. Chem. Phys., 90, 1043 (1989) * * Augmented: 1s even-tempered continuation with beta=0.4 * * 3p even-tempered continuation with beta=0.4 * * 1d even-tempered continuation with beta=0.4 * * 6f 5 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * 4g 3 optimized with respect to MCPF energy, 1 diffuse * * added as an even-tempered continuation. * * * * Contraction: State Field Method Weight * * Zn 1S(d10s2) 0.000 MCPF 0.333 * * Zn 1S(d10s2) 0.020 MCPF 0.333 * * Zn+ 1S(d10s) 0.000 MCPF 0.333 * * * * Contraction range: 5s3p2d - 6s5p4d3f2g for SCF * * 5s4p3d2f - 8s7p6d5f4g for correlation * * * ************************************************************************ a 30 * s-type ANO's (max 8 functions can be used) 21 8 5820021. 871523.4 198335.0 56176.31 18325.82 6614.955 2579.199 1068.849 465.1045 210.4130 97.61629 44.38020 21.42308 10.30891 4.553645 2.132821 0.929697 0.192147 0.087595 0.037702 0.015081 .00000855 -.0000026 .00000100 -.0000002 .00000034 -.0000007 .00000085 -.0000011 .00006647 -.0000205 .00000775 -.0000017 .00000267 -.0000059 .00000622 -.0000087 .00034950 -.0001080 .00004076 -.0000091 .00001374 -.0000301 .00003546 -.0000441 .00147383 -.0004559 .00017228 -.0000386 .00005977 -.0001330 .00013451 -.0001963 .00533833 -.0016578 .00062593 -.0001399 .00020945 -.0004566 .00055909 -.0006671 .01712708 -.0053685 .00203291 -.0004559 .00071124 -.0015896 .00153646 -.0023574 .04894085 -.0157124 .00595456 -.0013309 .00197453 -.0042814 .00550532 -.0062426 .12179340 -.0412257 .01576693 -.0035427 .00559086 -.0125846 .01138318 -.0187991 .24765887 -.0940641 .03637539 -.0081430 .01189243 -.0255662 .03591618 -.0374100 .35824324 -.1719964 .06892730 -.0156132 .02539154 -.0582753 .04414834 -.0893121 .27981702 -.1958500 .08237327 -.0185358 .02475171 -.0503483 .10815451 -.0733922 .06857579 .04532437 -.0200931 .00413203 .00312857 -.0200286 -.1056115 -.0559832 -.0013127 .52445222 -.3253008 .07898844 -.1455831 .36143707 -.1189922 .69639944 .00191627 .50060099 -.4602086 .11413160 -.1487271 .36964339 -1.305577 1.2777872 -.0008791 .08947690 .16339078 -.0486767 .03235682 -.2753528 3.0303774 -5.795351 .00037780 -.0021743 .72999364 -.2515387 .66517083 -2.098706 -1.566207 7.3501895 -.0001433 .00213747 .37667470 -.2337560 -.0966651 2.4645301 -.9562031 -4.353621 .00005411 -.0004691 .01508169 .43801715 -1.657513 -.1095107 3.6013858 2.5356755 -.0000491 .00043030 -.0082240 .55217385 .75108879 -1.761288 -4.882965 -1.742652 .00002471 -.0002165 .00344838 .16985732 .73491842 1.5307360 2.3698012 -.3852316 -.0000067 .00005905 -.0008762 .00249733 .07323193 -.0774783 -.0340590 .89112169 * p-type ANO's (max 8 functions can be used) 15 8 10684.58 2530.903 821.4820 313.2522 132.1094 59.58751 28.00399 13.50425 6.401881 2.985769 1.336902 0.549961 0.219984 0.087994 0.035198 .00017142 -.0000641 .00001678 -.0000360 .00004200 -.0000534 .00007282 -.0001845 -.0006845 .00150872 -.0005638 .00014822 -.0003183 .00037878 -.0005555 .00073032 -.0000545 .01166625 .00843682 -.0031804 .00083377 -.0017874 .00208761 -.0026578 .00363325 -.0091719 -.0352191 .03489609 -.0133103 .00350653 -.0075341 .00897607 -.0132177 .01751552 -.0012999 .29014919 .10993586 -.0433634 .01141348 -.0244969 .02862580 -.0362165 .05048068 -.1376917 -.5633858 .25205643 -.1037319 .02756400 -.0593045 .07089196 -.1072132 .14163669 .05776470 3.4698160 .38327840 -.1690002 .04514618 -.0983075 .11494808 -.1368465 .23802269 -1.058691 -6.634266 .30782595 -.1128672 .03039094 -.0757965 .11746305 -.2815020 .29538670 1.7007400 6.6839596 .08651147 .19638977 -.0664651 .18815812 -.3365914 1.0153917 -2.389161 .16385719 -4.754451 .00408215 .48297949 -.1615315 .46903915 -.6406425 .25916244 2.9777104 -2.717707 2.8367089 .00158570 .39676171 -.1364279 -.0399937 .74529538 -1.959082 -1.238987 3.8343505 -1.491141 -.0002323 .09411042 .11657871 -.8182209 .70157209 1.6931751 -.8640304 -3.752205 .75273604 .00019582 -.0015306 .54683596 -.2206737 -1.150284 -.0494415 2.1021802 3.2294991 -.4041951 -.0000878 .00254793 .41490791 .53820718 -.0568782 -1.235186 -2.151065 -2.274995 .20415076 .00002741 -.0006797 .07954381 .36284882 .84283006 1.0061185 1.0853729 .95568271 -.0689526 * d-type ANO's (max 7 functions can be used) 10 7 305.0115 91.40003 34.95829 14.83697 6.680748 3.029026 1.334839 0.558608 0.211743 0.084697 .00102503 -.0013860 .00152391 -.0017946 .00178499 -.0018256 .00657889 -.0409560 .00884669 -.0120163 .01363618 -.0175296 .02611879 -.0348588 .02260621 .14797988 .04068306 -.0559640 .06257503 -.0760590 .08325371 -.0937397 .28639078 -1.960252 .12323994 -.1760541 .21698562 -.3077546 .52970352 -.8368854 .95344745 3.0842168 .24793304 -.3491389 .40159133 -.4047826 -.0462489 1.1945554 -2.651664 -2.860555 .33086676 -.2730933 -.1695897 .86315706 -1.227310 -.1675734 3.2789231 2.0088005 .31736352 .21104719 -.7039918 .12409936 1.4455574 -1.145608 -2.838224 -1.182839 .22301484 .51804313 .13084194 -.9362263 -.4462594 1.7990238 1.9779178 .61175973 .08092209 .26108135 .59401254 .39627951 -.7216395 -1.788772 -1.216738 -.2927223 .00354324 .02024492 .18018634 .51834504 .92500468 1.0694533 .54931332 .11079499 * f-type ANO's (max 6 functions can be used) 6 6 16.5744 6.5695 2.6039 1.0321 .4091 .1621 .04557151 -.0941222 .18733416 -.4221838 .74333209 -1.092562 .21536031 -.4366455 .65450531 -.3961770 -.6234492 1.5736213 .46964768 -.3740533 -.4433802 1.1729704 -.0433905 -1.533064 .40406899 .42861552 -.5452492 -1.076983 .77437899 1.3715398 .16303648 .47241447 .66776628 .21013259 -1.288309 -1.134133 .02361615 .09871225 .24004604 .51814434 1.0910173 .66540201 * g-type ANO's (max 4 functions can be used) 4 4 9.3740 3.6844 1.4482 .5692 -.0925447 .42041748 -.7581396 .92394269 -.4764832 .55152456 .30277636 -1.372796 -.5052273 -.4297044 .60463461 1.3044875 -.1957453 -.4738866 -.8773074 -.7621937 ************************************************************************ ergo-3.5/basis/Turbomole-TZV0000664000175000017500000021342012743400275012723 00000000000000$ Basis = Turbomole-TZV $ $ Supported Elements $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca $ Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr $ $ REFERENCE $ Elements References $ -------- ---------- $ Li - Kr: A. Schafer, C. Huber and R. Ahlrichs, J. Chem. Phys. 100, 5829 (1994). $*********************************************************************** a 1 $ HYDROGEN (5s) -> [3s] $ S-TYPE FUNCTIONS 5 3 0 34.0613410 0.00602520 0.00000000 0.00000000 5.1235746 0.04502109 0.00000000 0.00000000 1.1646626 0.20189726 0.00000000 0.00000000 0.3272304 0.00000000 1.00000000 0.00000000 0.1030724 0.00000000 0.00000000 1.00000000 a 2 $ HELIUM (5s) -> [3s] $ S-TYPE FUNCTIONS 5 3 0 98.0783216 0.00758031 0.00000000 0.00000000 14.7644042 0.05484862 0.00000000 0.00000000 3.3185831 0.22074382 0.00000000 0.00000000 0.8741387 0.00000000 1.00000000 0.00000000 0.2445990 0.00000000 0.00000000 1.00000000 a 3 $ LITHIUM (11s) -> [5s] $ S-TYPE FUNCTIONS 11 5 0 6269.26280100 0.00020541 0.00000000 0.00000000 0.00000000 0.00000000 940.31612430 0.00159166 0.00000000 0.00000000 0.00000000 0.00000000 214.22107530 0.00828698 0.00000000 0.00000000 0.00000000 0.00000000 60.75984018 0.03385637 0.00000000 0.00000000 0.00000000 0.00000000 19.91515203 0.11103226 0.00000000 0.00000000 0.00000000 0.00000000 7.31715098 0.27449383 0.00000000 0.00000000 0.00000000 0.00000000 2.97246742 0.00000000 0.23792456 0.00000000 0.00000000 0.00000000 1.26398523 0.00000000 0.30765412 0.00000000 0.00000000 0.00000000 0.51427490 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07703089 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02893890 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (11s) -> [5s] $ S-TYPE FUNCTIONS 11 5 0 4700.23656300 0.00023584 0.00000000 0.00000000 0.00000000 0.00000000 704.82845620 0.00182438 0.00000000 0.00000000 0.00000000 0.00000000 160.43110480 0.00939661 0.00000000 0.00000000 0.00000000 0.00000000 45.42534734 0.03690892 0.00000000 0.00000000 0.00000000 0.00000000 14.79833412 0.10897561 0.00000000 0.00000000 0.00000000 0.00000000 5.35124525 0.21694285 0.00000000 0.00000000 0.00000000 0.00000000 2.15420448 0.00000000 0.44695409 0.00000000 0.00000000 0.00000000 0.93363744 0.00000000 0.20866986 0.00000000 0.00000000 0.00000000 0.18791433 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.74648268 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03265048 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 5 $ BORON (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 8564.86606900 0.00022837 0.00000000 0.00000000 0.00000000 0.00000000 1284.15162600 0.00176826 0.00000000 0.00000000 0.00000000 0.00000000 292.27871600 0.00914071 0.00000000 0.00000000 0.00000000 0.00000000 82.77546918 0.03634264 0.00000000 0.00000000 0.00000000 0.00000000 27.01793927 0.11063458 0.00000000 0.00000000 0.00000000 0.00000000 9.81496197 0.23367344 0.00000000 0.00000000 0.00000000 0.00000000 3.93185591 0.00000000 0.41818778 0.00000000 0.00000000 0.00000000 1.65955997 0.00000000 0.22325474 0.00000000 0.00000000 0.00000000 0.35762965 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14246278 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06056059 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 22.45387580 0.00502656 0.00000000 0.00000000 5.10450583 0.03280174 0.00000000 0.00000000 1.49860813 0.13151231 0.00000000 0.00000000 0.50927831 0.33197168 0.00000000 0.00000000 0.18147078 0.00000000 1.00000000 0.00000000 0.06462189 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 13575.34968 0.00022246 0.00000000 0.00000000 0.00000000 0.00000000 2035.23336800 0.00172327 0.00000000 0.00000000 0.00000000 0.00000000 463.22562360 0.00892557 0.00000000 0.00000000 0.00000000 0.00000000 131.20019600 0.03572798 0.00000000 0.00000000 0.00000000 0.00000000 42.85301589 0.11076260 0.00000000 0.00000000 0.00000000 0.00000000 15.58418577 0.24295628 0.00000000 0.00000000 0.00000000 0.00000000 6.20671385 0.00000000 0.41440263 0.00000000 0.00000000 0.00000000 2.57648965 0.00000000 0.23744969 0.00000000 0.00000000 0.00000000 0.57696339 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.22972831 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09516444 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 34.69723224 0.00533337 0.00000000 0.00000000 7.95826228 0.03586411 0.00000000 0.00000000 2.37808269 0.14215873 0.00000000 0.00000000 0.81433208 0.34270472 0.00000000 0.00000000 0.28887547 0.00000000 1.00000000 0.00000000 0.10056824 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 19730.80065 0.00021888 0.00000000 0.00000000 0.00000000 0.00000000 2957.89587500 0.00169607 0.00000000 0.00000000 0.00000000 0.00000000 673.22133600 0.00879546 0.00000000 0.00000000 0.00000000 0.00000000 190.68249490 0.03535938 0.00000000 0.00000000 0.00000000 0.00000000 62.29544190 0.11095789 0.00000000 0.00000000 0.00000000 0.00000000 22.65416118 0.24982973 0.00000000 0.00000000 0.00000000 0.00000000 8.97914774 0.00000000 0.40623896 0.00000000 0.00000000 0.00000000 3.68630024 0.00000000 0.24338217 0.00000000 0.00000000 0.00000000 0.84660077 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.33647134 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13647654 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 49.20038051 0.00555524 0.00000000 0.00000000 11.34679054 0.03805238 0.00000000 0.00000000 3.42739724 0.14953671 0.00000000 0.00000000 1.17855251 0.34949305 0.00000000 0.00000000 0.41642205 0.00000000 1.00000000 0.00000000 0.14260826 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 27032.38263 0.00021726 0.00000000 0.00000000 0.00000000 0.00000000 4052.38713900 0.00168387 0.00000000 0.00000000 0.00000000 0.00000000 922.32722710 0.00873956 0.00000000 0.00000000 0.00000000 0.00000000 261.24070990 0.03523997 0.00000000 0.00000000 0.00000000 0.00000000 85.35464135 0.11153519 0.00000000 0.00000000 0.00000000 0.00000000 31.03503524 0.25588954 0.00000000 0.00000000 0.00000000 0.00000000 12.26086073 0.00000000 0.39768731 0.00000000 0.00000000 0.00000000 4.99870760 0.00000000 0.24627849 0.00000000 0.00000000 0.00000000 1.17031082 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.46474741 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.18504536 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 63.27495480 0.00606851 0.00000000 0.00000000 14.62704938 0.04191258 0.00000000 0.00000000 4.45012235 0.16153841 0.00000000 0.00000000 1.52757996 0.35706951 0.00000000 0.00000000 0.52935118 0.00000000 1.00000000 0.00000000 0.17478421 0.00000000 0.00000000 1.00000000 a 9 $ FLUORINE (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 35479.10044 0.00021545 0.00000000 0.00000000 0.00000000 0.00000000 5318.47289800 0.00167007 0.00000000 0.00000000 0.00000000 0.00000000 1210.48109800 0.00867332 0.00000000 0.00000000 0.00000000 0.00000000 342.85518140 0.03504993 0.00000000 0.00000000 0.00000000 0.00000000 112.01943180 0.11165320 0.00000000 0.00000000 0.00000000 0.00000000 40.71474025 0.25988507 0.00000000 0.00000000 0.00000000 0.00000000 16.03967811 0.00000000 0.39422967 0.00000000 0.00000000 0.00000000 6.50381867 0.00000000 0.24998239 0.00000000 0.00000000 0.00000000 1.54404775 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.61223453 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.24027980 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 80.23390048 0.00636860 0.00000000 0.00000000 18.59401074 0.04430314 0.00000000 0.00000000 5.68679026 0.16867249 0.00000000 0.00000000 1.95110063 0.36166346 0.00000000 0.00000000 0.66970211 0.00000000 1.00000000 0.00000000 0.21651300 0.00000000 0.00000000 1.00000000 a 10 $ NEON (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 45069.46402 0.00021687 0.00000000 0.00000000 0.00000000 0.00000000 6755.97686600 0.00168127 0.00000000 0.00000000 0.00000000 0.00000000 1537.65028600 0.00873561 0.00000000 0.00000000 0.00000000 0.00000000 435.51697670 0.03536127 0.00000000 0.00000000 0.00000000 0.00000000 142.28655640 0.11321521 0.00000000 0.00000000 0.00000000 0.00000000 51.69215380 0.26654653 0.00000000 0.00000000 0.00000000 0.00000000 20.31587049 0.00000000 0.39631960 0.00000000 0.00000000 0.00000000 8.20219426 0.00000000 0.25582811 0.00000000 0.00000000 0.00000000 1.96812763 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.77904756 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.30229502 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 99.78299603 0.00655692 0.00000000 0.00000000 23.17612410 0.04588801 0.00000000 0.00000000 7.11639459 0.17331288 0.00000000 0.00000000 2.44187114 0.36475268 0.00000000 0.00000000 0.83389606 0.00000000 1.00000000 0.00000000 0.26607311 0.00000000 0.00000000 1.00000000 a 11 $ SODIUM (14s,6p) -> [5s,2p] $ S-TYPE FUNCTIONS 14 5 0 26041.10993 0.00061806 0.00000000 0.00000000 0.00000000 0.00000000 3906.12685500 0.00477486 0.00000000 0.00000000 0.00000000 0.00000000 888.97454990 0.02447168 0.00000000 0.00000000 0.00000000 0.00000000 251.45497960 0.09475539 0.00000000 0.00000000 0.00000000 0.00000000 81.65014351 0.26867497 0.00000000 0.00000000 0.00000000 0.00000000 28.90415840 0.47925475 0.00000000 0.00000000 0.00000000 0.00000000 10.62578293 0.33248591 0.00000000 0.00000000 0.00000000 0.00000000 53.76941018 0.00000000 0.01952773 0.00000000 0.00000000 0.00000000 16.30824302 0.00000000 0.09264801 0.00000000 0.00000000 0.00000000 2.37303841 0.00000000 -0.39938670 0.00000000 0.00000000 0.00000000 0.95730773 0.00000000 0.00000000 1.64285954 0.00000000 0.00000000 0.40806461 0.00000000 0.00000000 0.55692597 0.00000000 0.00000000 0.04996758 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01926862 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 2 0 138.07979990 0.00579519 0.00000000 32.23270039 0.04162085 0.00000000 9.98160754 0.16281917 0.00000000 3.48220339 0.36011785 0.00000000 1.22991346 0.44858980 0.00000000 0.41743959 0.00000000 1.00000000 a 12 $ MAGNESIUM (14s,6p) -> [5s,2p] $ S-TYPE FUNCTIONS 14 5 0 31438.34955 0.00060912 0.00000000 0.00000000 0.00000000 0.00000000 4715.51533500 0.00470662 0.00000000 0.00000000 0.00000000 0.00000000 1073.16292500 0.02413582 0.00000000 0.00000000 0.00000000 0.00000000 303.57238770 0.09362896 0.00000000 0.00000000 0.00000000 0.00000000 98.62625104 0.26646742 0.00000000 0.00000000 0.00000000 0.00000000 34.94380842 0.47890930 0.00000000 0.00000000 0.00000000 0.00000000 12.85978520 0.33698490 0.00000000 0.00000000 0.00000000 0.00000000 64.87691300 0.00000000 0.01918089 0.00000000 0.00000000 0.00000000 19.72552078 0.00000000 0.09091370 0.00000000 0.00000000 0.00000000 2.89518043 0.00000000 -0.39563756 0.00000000 0.00000000 0.00000000 1.19604547 0.00000000 0.00000000 1.68276034 0.00000000 0.00000000 0.54329451 0.00000000 0.00000000 0.52141092 0.00000000 0.00000000 0.10099104 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03686573 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 2 0 179.87189610 0.00537995 0.00000000 42.12006938 0.03931801 0.00000000 13.12050303 0.15740129 0.00000000 4.62575036 0.35919094 0.00000000 1.66952110 0.45533379 0.00000000 0.58551012 0.00000000 1.00000000 a 13 $ ALUMINUM (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 37792.55077 0.00057048 0.00000000 0.00000000 0.00000000 0.00000000 5668.06821700 0.00440930 0.00000000 0.00000000 0.00000000 0.00000000 1289.85828400 0.02263097 0.00000000 0.00000000 0.00000000 0.00000000 364.86596030 0.08802564 0.00000000 0.00000000 0.00000000 0.00000000 118.57631510 0.25223702 0.00000000 0.00000000 0.00000000 0.00000000 42.02486760 0.45960547 0.00000000 0.00000000 0.00000000 0.00000000 15.49950163 0.33277886 0.00000000 0.00000000 0.00000000 0.00000000 75.20802660 0.00000000 0.01925056 0.00000000 0.00000000 0.00000000 23.03140897 0.00000000 0.08790674 0.00000000 0.00000000 0.00000000 3.63487976 0.00000000 -0.34246705 0.00000000 0.00000000 0.00000000 1.60650500 0.00000000 0.00000000 1.51062661 0.00000000 0.00000000 0.76103395 0.00000000 0.00000000 0.58071016 0.00000000 0.00000000 0.16556709 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06004158 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 452.52303190 0.00231108 0.00000000 0.00000000 0.00000000 107.08195050 0.01856864 0.00000000 0.00000000 0.00000000 34.13102125 0.08721624 0.00000000 0.00000000 0.00000000 12.58703743 0.26902102 0.00000000 0.00000000 0.00000000 4.98119197 0.52128324 0.00000000 0.00000000 0.00000000 2.00703509 0.60271687 0.00000000 0.00000000 0.00000000 0.80083714 0.00000000 1.00000000 0.00000000 0.00000000 0.20178927 0.00000000 0.00000000 1.00000000 0.00000000 0.05789555 0.00000000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 44773.35808 0.00055915 0.00000000 0.00000000 0.00000000 0.00000000 6717.19921000 0.00432060 0.00000000 0.00000000 0.00000000 0.00000000 1528.89603200 0.02218710 0.00000000 0.00000000 0.00000000 0.00000000 432.54746590 0.08648925 0.00000000 0.00000000 0.00000000 0.00000000 140.61505230 0.24939890 0.00000000 0.00000000 0.00000000 0.00000000 49.85763672 0.46017197 0.00000000 0.00000000 0.00000000 0.00000000 18.43497489 0.34250237 0.00000000 0.00000000 0.00000000 0.00000000 86.53388611 0.00000000 0.02130006 0.00000000 0.00000000 0.00000000 26.62460685 0.00000000 0.09467614 0.00000000 0.00000000 0.00000000 4.49530572 0.00000000 -0.32616265 0.00000000 0.00000000 0.00000000 2.10350457 0.00000000 0.00000000 1.39808039 0.00000000 0.00000000 1.01060949 0.00000000 0.00000000 0.63865787 0.00000000 0.00000000 0.23701751 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08570341 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 394.47503630 0.00262857 0.00000000 0.00000000 0.00000000 93.13768310 0.02055626 0.00000000 0.00000000 0.00000000 29.51960874 0.09207026 0.00000000 0.00000000 0.00000000 10.78166379 0.25565890 0.00000000 0.00000000 0.00000000 4.16265748 0.42111707 0.00000000 0.00000000 0.00000000 1.62479730 0.34401746 0.00000000 0.00000000 0.00000000 0.54306660 0.00000000 1.00000000 0.00000000 0.00000000 0.20582074 0.00000000 0.00000000 1.00000000 0.00000000 0.07005349 0.00000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 52426.99923 0.00055207 0.00000000 0.00000000 0.00000000 0.00000000 7863.26605500 0.00426786 0.00000000 0.00000000 0.00000000 0.00000000 1789.52273300 0.02193153 0.00000000 0.00000000 0.00000000 0.00000000 506.27300160 0.08566717 0.00000000 0.00000000 0.00000000 0.00000000 164.60698550 0.24840687 0.00000000 0.00000000 0.00000000 0.00000000 58.39191872 0.46336754 0.00000000 0.00000000 0.00000000 0.00000000 21.64366320 0.35350558 0.00000000 0.00000000 0.00000000 0.00000000 99.01383762 0.00000000 0.02189568 0.00000000 0.00000000 0.00000000 30.55043982 0.00000000 0.09565047 0.00000000 0.00000000 0.00000000 5.45370877 0.00000000 -0.29454270 0.00000000 0.00000000 0.00000000 2.65033626 0.00000000 0.00000000 1.32943812 0.00000000 0.00000000 1.27266889 0.00000000 0.00000000 0.66109396 0.00000000 0.00000000 0.31645005 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11417467 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 472.27219250 0.00257106 0.00000000 0.00000000 0.00000000 111.58882760 0.02025030 0.00000000 0.00000000 0.00000000 35.44593642 0.09158072 0.00000000 0.00000000 0.00000000 12.99077688 0.25749454 0.00000000 0.00000000 0.00000000 5.04862217 0.42862900 0.00000000 0.00000000 0.00000000 1.99340496 0.34359818 0.00000000 0.00000000 0.00000000 0.66527284 0.00000000 1.00000000 0.00000000 0.00000000 0.25516832 0.00000000 0.00000000 1.00000000 0.00000000 0.09035776 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 60700.92810 0.00054696 0.00000000 0.00000000 0.00000000 0.00000000 9102.61068500 0.00422972 0.00000000 0.00000000 0.00000000 0.00000000 2071.41660100 0.02174782 0.00000000 0.00000000 0.00000000 0.00000000 586.02476820 0.08510005 0.00000000 0.00000000 0.00000000 0.00000000 190.55395020 0.24799128 0.00000000 0.00000000 0.00000000 0.00000000 67.63038426 0.46703640 0.00000000 0.00000000 0.00000000 0.00000000 25.12730691 0.36434588 0.00000000 0.00000000 0.00000000 0.00000000 112.57463010 0.00000000 0.02167004 0.00000000 0.00000000 0.00000000 34.79555422 0.00000000 0.09360230 0.00000000 0.00000000 0.00000000 6.51155562 0.00000000 -0.26068001 0.00000000 0.00000000 0.00000000 3.23990323 0.00000000 0.00000000 1.28420894 0.00000000 0.00000000 1.54771609 0.00000000 0.00000000 0.66036417 0.00000000 0.00000000 0.40541030 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14550651 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 564.36716030 0.00247968 0.00000000 0.00000000 0.00000000 133.42624380 0.01967793 0.00000000 0.00000000 0.00000000 42.46827119 0.08998001 0.00000000 0.00000000 0.00000000 15.61652758 0.25705881 0.00000000 0.00000000 0.00000000 6.10939885 0.43515167 0.00000000 0.00000000 0.00000000 2.44041602 0.34883241 0.00000000 0.00000000 0.00000000 0.83882201 0.00000000 1.00000000 0.00000000 0.00000000 0.31288747 0.00000000 0.00000000 1.00000000 0.00000000 0.10770109 0.00000000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 69507.99094 0.00054315 0.00000000 0.00000000 0.00000000 0.00000000 10426.15688 0.00419905 0.00000000 0.00000000 0.00000000 0.00000000 2373.23340600 0.02159214 0.00000000 0.00000000 0.00000000 0.00000000 671.56420070 0.08459885 0.00000000 0.00000000 0.00000000 0.00000000 218.41999790 0.24757250 0.00000000 0.00000000 0.00000000 0.00000000 77.57224971 0.47016930 0.00000000 0.00000000 0.00000000 0.00000000 28.88881528 0.37436371 0.00000000 0.00000000 0.00000000 0.00000000 127.10527180 0.00000000 0.02518217 0.00000000 0.00000000 0.00000000 39.33958296 0.00000000 0.10786112 0.00000000 0.00000000 0.00000000 7.67406800 0.00000000 -0.27408822 0.00000000 0.00000000 0.00000000 3.87456276 0.00000000 0.00000000 1.32138750 0.00000000 0.00000000 1.83858326 0.00000000 0.00000000 0.68636955 0.00000000 0.00000000 0.50229058 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.17962723 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 666.50423280 0.00236327 0.00000000 0.00000000 0.00000000 157.64241690 0.01887930 0.00000000 0.00000000 0.00000000 50.26252098 0.08720634 0.00000000 0.00000000 0.00000000 18.53607811 0.25285613 0.00000000 0.00000000 0.00000000 7.29405328 0.43507155 0.00000000 0.00000000 0.00000000 2.94332490 0.35026513 0.00000000 0.00000000 0.00000000 1.04049708 0.00000000 1.00000000 0.00000000 0.00000000 0.38456415 0.00000000 0.00000000 1.00000000 0.00000000 0.13069643 0.00000000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 79111.42300 0.00051029 0.00000000 0.00000000 0.00000000 0.00000000 11864.74601 0.00394630 0.00000000 0.00000000 0.00000000 0.00000000 2700.16429700 0.02030707 0.00000000 0.00000000 0.00000000 0.00000000 763.95943480 0.07969183 0.00000000 0.00000000 0.00000000 0.00000000 248.45150560 0.23420624 0.00000000 0.00000000 0.00000000 0.00000000 88.28358100 0.44833849 0.00000000 0.00000000 0.00000000 0.00000000 32.94860707 0.36408167 0.00000000 0.00000000 0.00000000 0.00000000 142.55358000 0.00000000 0.02638741 0.00000000 0.00000000 0.00000000 44.16368801 0.00000000 0.11226434 0.00000000 0.00000000 0.00000000 8.95249950 0.00000000 -0.26178922 0.00000000 0.00000000 0.00000000 4.55469209 0.00000000 0.00000000 1.30024850 0.00000000 0.00000000 2.14440790 0.00000000 0.00000000 0.67197237 0.00000000 0.00000000 0.60708777 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.21651432 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 776.77542000 0.00220280 0.00000000 0.00000000 0.00000000 183.80107020 0.01769418 0.00000000 0.00000000 0.00000000 58.69400317 0.08243129 0.00000000 0.00000000 0.00000000 21.70159170 0.24207279 0.00000000 0.00000000 0.00000000 8.58214896 0.42263558 0.00000000 0.00000000 0.00000000 3.49226792 0.34151806 0.00000000 0.00000000 0.00000000 1.26374270 0.00000000 1.00000000 0.00000000 0.00000000 0.46607870 0.00000000 0.00000000 1.00000000 0.00000000 0.15766003 0.00000000 0.00000000 0.00000000 1.00000000 a 19 $ POTASSIUM (17s,10p) -> [6s,3p] $ S-TYPE FUNCTIONS 17 6 0 153976.18330 0.00023663 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23082.49767 0.00183429 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5253.23447500 0.00953105 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1486.95501300 0.03863841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 484.06333730 0.12480769 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 173.56653980 0.29278861 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 67.11638146 0.40633426 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.33950205 0.20077216 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 172.87693570 0.00000000 -0.02420096 0.00000000 0.00000000 0.00000000 0.00000000 53.05864906 0.00000000 -0.11553095 0.00000000 0.00000000 0.00000000 0.00000000 7.92127540 0.00000000 0.57455545 0.00000000 0.00000000 0.00000000 0.00000000 3.21088805 0.00000000 0.57023185 0.00000000 0.00000000 0.00000000 0.00000000 4.56620709 0.00000000 0.00000000 -0.22615763 0.00000000 0.00000000 0.00000000 0.70209907 0.00000000 0.00000000 0.75528392 0.00000000 0.00000000 0.00000000 0.28258943 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.03580582 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01581921 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 728.18449870 0.00261507 0.00000000 0.00000000 172.13265060 0.02067363 0.00000000 0.00000000 54.82984707 0.09320560 0.00000000 0.00000000 20.16626649 0.25436518 0.00000000 0.00000000 7.86107288 0.39131133 0.00000000 0.00000000 3.11052131 0.22481346 0.00000000 0.00000000 11.75733749 0.00000000 -0.02577729 0.00000000 1.51396174 0.00000000 0.57359429 0.00000000 0.58328592 0.00000000 1.07983200 0.00000000 0.21570478 0.00000000 0.00000000 1.00000000 a 20 $ CALCIUM (17s,10p) -> [6s,3p] $ S-TYPE FUNCTIONS 17 6 0 172517.32680 0.00023318 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25861.51927 0.00180765 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5885.66186700 0.00939438 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1665.97300300 0.03810841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 542.36718150 0.12331204 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 194.57803490 0.29004471 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.30359764 0.40587151 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 29.57406259 0.20398411 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 191.20074660 0.00000000 -0.02441976 0.00000000 0.00000000 0.00000000 0.00000000 58.84029988 0.00000000 -0.11547027 0.00000000 0.00000000 0.00000000 0.00000000 8.96425409 0.00000000 0.56356637 0.00000000 0.00000000 0.00000000 0.00000000 3.68569605 0.00000000 0.56709683 0.00000000 0.00000000 0.00000000 0.00000000 5.24642897 0.00000000 0.00000000 -0.22825334 0.00000000 0.00000000 0.00000000 0.84862622 0.00000000 0.00000000 0.72625219 0.00000000 0.00000000 0.00000000 0.36743301 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06682158 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02675973 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 836.97262060 0.00252583 0.00000000 0.00000000 197.93040140 0.02007651 0.00000000 0.00000000 63.13555805 0.09130299 0.00000000 0.00000000 23.28268717 0.25247030 0.00000000 0.00000000 9.11764449 0.39426326 0.00000000 0.00000000 3.63361201 0.23011559 0.00000000 0.00000000 13.49416312 0.00000000 -0.02649502 0.00000000 1.81392598 0.00000000 0.55088108 0.00000000 0.71981826 0.00000000 1.02806166 0.00000000 0.27629577 0.00000000 0.00000000 1.00000000 a 21 $ SCANDIUM (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 191612.91870 0.00023076 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28723.85036 0.00178903 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6537.01164900 0.00929904 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1850.30971700 0.03773944 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 602.38855160 0.12227148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 216.17324770 0.28814821 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 83.71251788 0.40517543 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.90870719 0.20566020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 211.34393230 0.00000000 -0.02452799 0.00000000 0.00000000 0.00000000 0.00000000 65.12892014 0.00000000 -0.11570158 0.00000000 0.00000000 0.00000000 0.00000000 10.03431153 0.00000000 0.55995283 0.00000000 0.00000000 0.00000000 0.00000000 4.15968846 0.00000000 0.56087765 0.00000000 0.00000000 0.00000000 0.00000000 6.00090416 0.00000000 0.00000000 -0.22840494 0.00000000 0.00000000 0.00000000 0.98255784 0.00000000 0.00000000 0.71948970 0.00000000 0.00000000 0.00000000 0.42483193 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07718546 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03014722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 947.34122820 0.00247372 0.00000000 0.00000000 224.09699730 0.01974297 0.00000000 0.00000000 71.56033488 0.09035715 0.00000000 0.00000000 26.44482449 0.25201602 0.00000000 0.00000000 10.39379829 0.39675536 0.00000000 0.00000000 4.16063046 0.23208625 0.00000000 0.00000000 15.56573714 0.00000000 -0.02712942 0.00000000 2.11215449 0.00000000 0.55109257 0.00000000 0.84184709 0.00000000 1.00906358 0.00000000 0.32297543 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 30.98939099 0.01190284 0.00000000 0.00000000 8.69054651 0.06765586 0.00000000 0.00000000 2.95202563 0.21332540 0.00000000 0.00000000 1.07619108 0.38391076 0.00000000 0.00000000 0.38338915 0.00000000 0.43354716 0.00000000 0.12534686 0.00000000 0.00000000 0.24509264 a 22 $ TITANIUM (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 211575.69030 0.00023318 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31714.94506 0.00180797 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7217.54765400 0.00939843 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2042.93942500 0.03815685 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 665.12896210 0.12374757 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 238.74942260 0.29208551 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 92.50869100 0.41226801 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 36.40391921 0.21090534 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 232.72624610 0.00000000 -0.02492014 0.00000000 0.00000000 0.00000000 0.00000000 71.79120971 0.00000000 -0.11746490 0.00000000 0.00000000 0.00000000 0.00000000 11.15853462 0.00000000 0.56503342 0.00000000 0.00000000 0.00000000 0.00000000 4.65481354 0.00000000 0.56211102 0.00000000 0.00000000 0.00000000 0.00000000 6.80346292 0.00000000 0.00000000 -0.23011425 0.00000000 0.00000000 0.00000000 1.12010764 0.00000000 0.00000000 0.72103187 0.00000000 0.00000000 0.00000000 0.48080119 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.08515727 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03265748 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1063.14747300 0.00246908 0.00000000 0.00000000 251.56507060 0.01977335 0.00000000 0.00000000 80.40855485 0.09098798 0.00000000 0.00000000 29.76819327 0.25559900 0.00000000 0.00000000 11.73683056 0.40489387 0.00000000 0.00000000 4.71423752 0.23693403 0.00000000 0.00000000 17.79680370 0.00000000 -0.02787864 0.00000000 2.42726987 0.00000000 0.55672915 0.00000000 0.96823446 0.00000000 1.00554473 0.00000000 0.37056694 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 37.71338472 0.01151384 0.00000000 0.00000000 10.69293118 0.06724634 0.00000000 0.00000000 3.67284470 0.21484208 0.00000000 0.00000000 1.35885903 0.38890893 0.00000000 0.00000000 0.49213295 0.00000000 0.43040835 0.00000000 0.16330521 0.00000000 0.00000000 0.23253305 a 23 $ VANADIUM (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 232340.65060 0.00023072 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34828.84117 0.00178882 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7926.54486900 0.00929925 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2243.77330500 0.03776146 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 730.59322940 0.12255910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 262.32219630 0.28963509 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 101.70403800 0.41004703 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 40.06478462 0.21113611 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 255.24014970 0.00000000 -0.02445812 0.00000000 0.00000000 0.00000000 0.00000000 78.80464696 0.00000000 -0.11527205 0.00000000 0.00000000 0.00000000 0.00000000 12.34059895 0.00000000 0.55174749 0.00000000 0.00000000 0.00000000 0.00000000 5.17420192 0.00000000 0.54504528 0.00000000 0.00000000 0.00000000 0.00000000 7.65138945 0.00000000 0.00000000 -0.22967638 0.00000000 0.00000000 0.00000000 1.26397599 0.00000000 0.00000000 0.71683769 0.00000000 0.00000000 0.00000000 0.53861762 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09271930 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03499806 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1184.23691500 0.00244498 0.00000000 0.00000000 280.23075190 0.01964345 0.00000000 0.00000000 89.64362714 0.09079695 0.00000000 0.00000000 33.24241125 0.25650768 0.00000000 0.00000000 13.14451445 0.40815394 0.00000000 0.00000000 5.29485341 0.23860378 0.00000000 0.00000000 20.17558685 0.00000000 -0.02824149 0.00000000 2.76058652 0.00000000 0.55574636 0.00000000 1.10089009 0.00000000 0.99319919 0.00000000 0.42013311 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 43.86113486 0.01148717 0.00000000 0.00000000 12.51602189 0.06824715 0.00000000 0.00000000 4.33138550 0.21837784 0.00000000 0.00000000 1.61388558 0.39245212 0.00000000 0.00000000 0.58749574 0.00000000 0.42634467 0.00000000 0.19515723 0.00000000 0.00000000 0.22646563 a 24 $ CHROMIUM (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 254477.80700 0.00023387 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38131.79705 0.00181426 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8675.29306100 0.00943639 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2455.00998500 0.03834364 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 799.16217790 0.12459195 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 286.90021490 0.29489696 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 111.25413230 0.41846150 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.86415264 0.21633763 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 279.32669170 0.00000000 -0.02345091 0.00000000 0.00000000 0.00000000 0.00000000 86.27473238 0.00000000 -0.11080370 0.00000000 0.00000000 0.00000000 0.00000000 13.55575611 0.00000000 0.53028966 0.00000000 0.00000000 0.00000000 0.00000000 5.69781128 0.00000000 0.51603517 0.00000000 0.00000000 0.00000000 0.00000000 8.56365826 0.00000000 0.00000000 -0.38109546 0.00000000 0.00000000 0.00000000 1.39882968 0.00000000 0.00000000 1.19915914 0.00000000 0.00000000 0.00000000 0.57288171 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09009617 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03412589 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1306.43988600 0.00242773 0.00000000 0.00000000 309.25311440 0.01954404 0.00000000 0.00000000 98.99627396 0.09065179 0.00000000 0.00000000 36.75691645 0.25699279 0.00000000 0.00000000 14.56665708 0.40935505 0.00000000 0.00000000 5.87399374 0.23729389 0.00000000 0.00000000 22.89099970 0.00000000 -0.02816603 0.00000000 3.08550018 0.00000000 0.56034120 0.00000000 1.21323291 0.00000000 0.98119020 0.00000000 0.44931681 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 43.72007448 0.01362296 0.00000000 0.00000000 12.39124265 0.07893518 0.00000000 0.00000000 4.26394420 0.23833840 0.00000000 0.00000000 1.55252218 0.39526851 0.00000000 0.00000000 0.53761929 0.00000000 0.41061717 0.00000000 0.16493173 0.00000000 0.00000000 0.24440411 a 25 $ MANGANESE (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 277185.00150 0.00022838 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 41550.76989 0.00177077 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9455.97001500 0.00920772 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2676.52064800 0.03741597 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 871.46687530 0.12164861 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 312.98306420 0.28824393 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 121.44454050 0.41041601 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 47.92259883 0.21372375 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 303.66723160 0.00000000 -0.02458993 0.00000000 0.00000000 0.00000000 0.00000000 93.88140319 0.00000000 -0.11602608 0.00000000 0.00000000 0.00000000 0.00000000 14.87942121 0.00000000 0.55112060 0.00000000 0.00000000 0.00000000 0.00000000 6.28652008 0.00000000 0.53707561 0.00000000 0.00000000 0.00000000 0.00000000 9.48585913 0.00000000 0.00000000 -0.22889263 0.00000000 0.00000000 0.00000000 1.56987062 0.00000000 0.00000000 0.71196170 0.00000000 0.00000000 0.00000000 0.65903214 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10686292 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03926744 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1444.79781800 0.00239941 0.00000000 0.00000000 342.06551200 0.01936929 0.00000000 0.00000000 109.58400890 0.09023611 0.00000000 0.00000000 40.74798817 0.25745468 0.00000000 0.00000000 16.18862657 0.41272352 0.00000000 0.00000000 6.54845060 0.24087700 0.00000000 0.00000000 25.35708644 0.00000000 -0.02870717 0.00000000 3.48301688 0.00000000 0.55208101 0.00000000 1.38588009 0.00000000 0.97226901 0.00000000 0.52555095 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 56.56318912 0.01154325 0.00000000 0.00000000 16.27873471 0.07029985 0.00000000 0.00000000 5.69642739 0.22450771 0.00000000 0.00000000 2.14111479 0.39703065 0.00000000 0.00000000 0.78291802 0.00000000 0.41941039 0.00000000 0.25952311 0.00000000 0.00000000 0.21887262 a 26 $ IRON (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 300784.84640 0.00022806 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 45088.97056 0.00176818 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10262.51632 0.00919271 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2905.28972900 0.03735550 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 946.11487140 0.12151108 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 339.87832890 0.28818881 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 131.94425590 0.41126613 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52.11149408 0.21518584 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 329.48839270 0.00000000 -0.02474522 0.00000000 0.00000000 0.00000000 0.00000000 101.92332740 0.00000000 -0.11683089 0.00000000 0.00000000 0.00000000 0.00000000 16.24046274 0.00000000 0.55293621 0.00000000 0.00000000 0.00000000 0.00000000 6.88406758 0.00000000 0.53601640 0.00000000 0.00000000 0.00000000 0.00000000 10.47069378 0.00000000 0.00000000 -0.22912709 0.00000000 0.00000000 0.00000000 1.73600397 0.00000000 0.00000000 0.71159320 0.00000000 0.00000000 0.00000000 0.72577289 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11595528 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04196823 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1585.39599700 0.00237940 0.00000000 0.00000000 375.38006500 0.01925315 0.00000000 0.00000000 120.31816500 0.09002184 0.00000000 0.00000000 44.78874903 0.25798172 0.00000000 0.00000000 17.82927858 0.41492650 0.00000000 0.00000000 7.22471538 0.24207475 0.00000000 0.00000000 28.14321976 0.00000000 -0.02904176 0.00000000 3.87432414 0.00000000 0.55312260 0.00000000 1.54107523 0.00000000 0.96771137 0.00000000 0.58285615 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 61.99667503 0.01197197 0.00000000 0.00000000 17.87373255 0.07321014 0.00000000 0.00000000 6.27447829 0.23103094 0.00000000 0.00000000 2.35523372 0.39910706 0.00000000 0.00000000 0.85432240 0.00000000 0.41391590 0.00000000 0.27869254 0.00000000 0.00000000 0.21909270 a 27 $ COBALT (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 325817.01550 0.00022568 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 48839.63645 0.00174994 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11114.93731 0.00910031 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3146.16036400 0.03699626 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1024.43784600 0.12044270 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 368.02508820 0.28598732 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142.91229210 0.40908312 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56.48264921 0.21500146 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 356.40298320 0.00000000 -0.02476706 0.00000000 0.00000000 0.00000000 0.00000000 110.31165220 0.00000000 -0.11702139 0.00000000 0.00000000 0.00000000 0.00000000 17.65963483 0.00000000 0.55215522 0.00000000 0.00000000 0.00000000 0.00000000 7.50590305 0.00000000 0.53246877 0.00000000 0.00000000 0.00000000 0.00000000 11.50180718 0.00000000 0.00000000 -0.22942470 0.00000000 0.00000000 0.00000000 1.90819946 0.00000000 0.00000000 0.71180934 0.00000000 0.00000000 0.00000000 0.79396697 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12444449 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04444465 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1731.13691400 0.00239058 0.00000000 0.00000000 409.91750440 0.01938300 0.00000000 0.00000000 131.45648580 0.09090545 0.00000000 0.00000000 48.98743971 0.26146682 0.00000000 0.00000000 19.53707899 0.42157265 0.00000000 0.00000000 7.92872816 0.24571814 0.00000000 0.00000000 31.07601758 0.00000000 -0.02943807 0.00000000 4.28351807 0.00000000 0.55615568 0.00000000 1.70229216 0.00000000 0.96772195 0.00000000 0.64202909 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 68.14074524 0.01198385 0.00000000 0.00000000 19.68524102 0.07368854 0.00000000 0.00000000 6.93221288 0.23085497 0.00000000 0.00000000 2.60251257 0.39281059 0.00000000 0.00000000 0.94016837 0.00000000 0.40203412 0.00000000 0.30381458 0.00000000 0.00000000 0.21415607 a 28 $ NICKEL (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 351535.72940 0.00022529 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52695.80928 0.00174686 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11992.46829 0.00908500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3394.57766900 0.03694075 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1105.35945800 0.12032820 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 397.14677770 0.28596715 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 154.27542970 0.40983020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 61.01872378 0.21620643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 384.45559740 0.00000000 -0.02465128 0.00000000 0.00000000 0.00000000 0.00000000 119.04879200 0.00000000 -0.11658505 0.00000000 0.00000000 0.00000000 0.00000000 19.13701222 0.00000000 0.54864127 0.00000000 0.00000000 0.00000000 0.00000000 8.15267186 0.00000000 0.52640051 0.00000000 0.00000000 0.00000000 0.00000000 12.57940864 0.00000000 0.00000000 -0.22797884 0.00000000 0.00000000 0.00000000 2.08708661 0.00000000 0.00000000 0.70703738 0.00000000 0.00000000 0.00000000 0.86432569 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13283169 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04684533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 1883.09074900 0.00237483 0.00000000 0.00000000 445.95155320 0.01928946 0.00000000 0.00000000 143.08430820 0.09071821 0.00000000 0.00000000 53.37292072 0.26181414 0.00000000 0.00000000 21.32191936 0.42309150 0.00000000 0.00000000 8.66435620 0.24641686 0.00000000 0.00000000 34.14425521 0.00000000 -0.02967713 0.00000000 4.71224559 0.00000000 0.55616824 0.00000000 1.87092319 0.00000000 0.96357766 0.00000000 0.70370016 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 74.59160347 0.01207745 0.00000000 0.00000000 21.59063275 0.07463726 0.00000000 0.00000000 7.62461426 0.23236776 0.00000000 0.00000000 2.86322068 0.39042652 0.00000000 0.00000000 1.03110634 0.00000000 0.39509499 0.00000000 0.33060761 0.00000000 0.00000000 0.21138769 a 29 $ COPPER (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 377518.79920 0.00022812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56589.98431 0.00176880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12878.71171 0.00919935 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3645.37521400 0.03741102 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1187.00729400 0.12189874 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 426.46421900 0.28983901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 165.70660160 0.41531872 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 65.59894271 0.21905799 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 414.41265810 0.00000000 -0.02468253 0.00000000 0.00000000 0.00000000 0.00000000 128.32056040 0.00000000 -0.11716827 0.00000000 0.00000000 0.00000000 0.00000000 20.62208975 0.00000000 0.55301316 0.00000000 0.00000000 0.00000000 0.00000000 8.78212260 0.00000000 0.52242719 0.00000000 0.00000000 0.00000000 0.00000000 13.74137201 0.00000000 0.00000000 -0.22736062 0.00000000 0.00000000 0.00000000 2.24312468 0.00000000 0.00000000 0.71761211 0.00000000 0.00000000 0.00000000 0.89370549 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10836700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03880618 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 2034.75966900 0.00235248 0.00000000 0.00000000 481.90468110 0.01913407 0.00000000 0.00000000 154.67482960 0.09017111 0.00000000 0.00000000 57.74057697 0.26063285 0.00000000 0.00000000 23.09905281 0.42093486 0.00000000 0.00000000 9.38824786 0.24344615 0.00000000 0.00000000 37.59617121 0.00000000 -0.02899109 0.00000000 5.12406908 0.00000000 0.54919084 0.00000000 2.01199961 0.00000000 0.93793330 0.00000000 0.73860686 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 74.12946064 0.01436322 0.00000000 0.00000000 21.35984259 0.08662818 0.00000000 0.00000000 7.49952405 0.25631431 0.00000000 0.00000000 2.76013942 0.40374062 0.00000000 0.00000000 0.95362061 0.00000000 0.39427042 0.00000000 0.28420863 0.00000000 0.00000000 0.23091147 a 30 $ ZINC (17s,10p,6d) -> [6s,3p,3d] $ S-TYPE FUNCTIONS 17 6 0 405924.31030 0.00022442 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 60846.95574 0.00174021 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13847.34309 0.00905133 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3919.61585500 0.03681734 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1276.35941700 0.12004850 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 458.67254440 0.28576058 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 178.28725250 0.41087462 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 70.61219284 0.21816962 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 443.88077950 0.00000000 -0.02493427 0.00000000 0.00000000 0.00000000 0.00000000 137.55875270 0.00000000 -0.11817956 0.00000000 0.00000000 0.00000000 0.00000000 22.26808348 0.00000000 0.55367318 0.00000000 0.00000000 0.00000000 0.00000000 9.52173106 0.00000000 0.52628935 0.00000000 0.00000000 0.00000000 0.00000000 14.87411407 0.00000000 0.00000000 -0.22929955 0.00000000 0.00000000 0.00000000 2.46475176 0.00000000 0.00000000 0.71135485 0.00000000 0.00000000 0.00000000 1.01132722 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14919852 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05144187 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 2205.35085300 0.00233562 0.00000000 0.00000000 522.35300700 0.01903102 0.00000000 0.00000000 167.73055540 0.08995576 0.00000000 0.00000000 62.67004537 0.26113249 0.00000000 0.00000000 25.10974946 0.42348448 0.00000000 0.00000000 10.22514268 0.24618927 0.00000000 0.00000000 40.71344252 0.00000000 -0.03002967 0.00000000 5.62470907 0.00000000 0.55575255 0.00000000 2.22799491 0.00000000 0.95581013 0.00000000 0.83354742 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 88.55431531 0.01272817 0.00000000 0.00000000 25.72152556 0.07939450 0.00000000 0.00000000 9.12783676 0.24491507 0.00000000 0.00000000 3.43123641 0.40390526 0.00000000 0.00000000 1.23089206 0.00000000 0.40158491 0.00000000 0.39031845 0.00000000 0.00000000 0.21579805 a 31 $ GALLIUM (17s,12p,6p) -> [6s,5p,2d] $ S-TYPE FUNCTIONS 17 6 0 435548.66250 0.00023646 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 65289.58903 0.00183353 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14858.78426 0.00953719 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4205.97347300 0.03880341 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1369.64164300 0.12661605 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 492.30348900 0.30175310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 191.41923230 0.43543934 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.84055867 0.23282364 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 474.30810610 0.00000000 -0.02674371 0.00000000 0.00000000 0.00000000 0.00000000 147.10297560 0.00000000 -0.12654658 0.00000000 0.00000000 0.00000000 0.00000000 23.98259943 0.00000000 0.58840347 0.00000000 0.00000000 0.00000000 0.00000000 10.29823009 0.00000000 0.56324272 0.00000000 0.00000000 0.00000000 0.00000000 16.05038143 0.00000000 0.00000000 -0.24516440 0.00000000 0.00000000 0.00000000 2.69884688 0.00000000 0.00000000 0.74578050 0.00000000 0.00000000 0.00000000 1.14285887 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.20217652 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07198015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 2432.01710700 0.00224341 0.00000000 0.00000000 0.00000000 0.00000000 576.12049580 0.01834227 0.00000000 0.00000000 0.00000000 0.00000000 185.11584350 0.08727970 0.00000000 0.00000000 0.00000000 0.00000000 69.24657256 0.25684868 0.00000000 0.00000000 0.00000000 0.00000000 27.81810778 0.42398378 0.00000000 0.00000000 0.00000000 0.00000000 11.42022994 0.25701340 0.00000000 0.00000000 0.00000000 0.00000000 42.81966153 0.00000000 -0.01932652 0.00000000 0.00000000 0.00000000 6.38859010 0.00000000 0.31571387 0.00000000 0.00000000 0.00000000 2.66989933 0.00000000 0.57617793 0.00000000 0.00000000 0.00000000 1.07817838 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.22796559 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06283623 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 103.92331830 0.01146461 0.00000000 30.37109439 0.07362575 0.00000000 10.87207810 0.23505107 0.00000000 4.15491379 0.40318564 0.00000000 1.53456591 0.40824748 0.00000000 0.51114264 0.00000000 0.20502439 a 32 $ GERMANIUM (17s,12p,6p) -> [6s,5p,2d] $ S-TYPE FUNCTIONS 17 6 0 466115.00590 0.00022487 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 69875.42076 0.00174354 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15903.27672 0.00906915 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4501.82334500 0.03690617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1466.05709200 0.12050168 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 527.07841730 0.28748642 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 205.00395070 0.41622322 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 81.25159607 0.22397846 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 505.74661280 0.00000000 -0.02518461 0.00000000 0.00000000 0.00000000 0.00000000 156.96593740 0.00000000 -0.11898930 0.00000000 0.00000000 0.00000000 0.00000000 25.76144818 0.00000000 0.54930136 0.00000000 0.00000000 0.00000000 0.00000000 11.10665469 0.00000000 0.52939309 0.00000000 0.00000000 0.00000000 0.00000000 17.27205910 0.00000000 0.00000000 -0.22854596 0.00000000 0.00000000 0.00000000 2.94382891 0.00000000 0.00000000 0.68377930 0.00000000 0.00000000 0.00000000 1.28391649 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.25873337 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09352491 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 2633.93462400 0.00221439 0.00000000 0.00000000 0.00000000 0.00000000 624.00161630 0.01814090 0.00000000 0.00000000 0.00000000 0.00000000 200.58528400 0.08663218 0.00000000 0.00000000 0.00000000 0.00000000 75.09708153 0.25649021 0.00000000 0.00000000 0.00000000 0.00000000 30.21438847 0.42658611 0.00000000 0.00000000 0.00000000 0.00000000 12.44008757 0.26200527 0.00000000 0.00000000 0.00000000 0.00000000 45.98131600 0.00000000 -0.02032177 0.00000000 0.00000000 0.00000000 6.99456544 0.00000000 0.32013745 0.00000000 0.00000000 0.00000000 2.96860013 0.00000000 0.59051015 0.00000000 0.00000000 0.00000000 1.23209885 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.28981615 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08556461 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 119.44887580 0.01058654 0.00000000 35.06291529 0.06960128 0.00000000 12.63692453 0.22807035 0.00000000 4.88886729 0.40301067 0.00000000 1.84531954 0.41304847 0.00000000 0.63571159 0.00000000 0.19639210 a 33 $ ARSENIC (17s,13p,6p) -> [6s,5p,2d] $ S-TYPE FUNCTIONS 17 6 0 498032.42160 0.00022740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 74656.86874 0.00176328 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16990.96000 0.00917280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4809.62003200 0.03733783 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1566.28870600 0.12199536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 563.21360500 0.29137475 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 219.11179980 0.42326351 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 86.86606103 0.22921464 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 538.19512480 0.00000000 -0.02525420 0.00000000 0.00000000 0.00000000 0.00000000 167.14850220 0.00000000 -0.11915461 0.00000000 0.00000000 0.00000000 0.00000000 27.60551716 0.00000000 0.54628496 0.00000000 0.00000000 0.00000000 0.00000000 11.94785852 0.00000000 0.53001521 0.00000000 0.00000000 0.00000000 0.00000000 18.53802313 0.00000000 0.00000000 -0.23479188 0.00000000 0.00000000 0.00000000 3.20189857 0.00000000 0.00000000 0.69167053 0.00000000 0.00000000 0.00000000 1.43565221 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.31837805 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11622632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 2678.94215500 0.00233190 0.00000000 0.00000000 0.00000000 0.00000000 634.61765840 0.01904215 0.00000000 0.00000000 0.00000000 0.00000000 203.93967610 0.09022974 0.00000000 0.00000000 0.00000000 0.00000000 76.32389037 0.26169038 0.00000000 0.00000000 0.00000000 0.00000000 30.66412494 0.41857168 0.00000000 0.00000000 0.00000000 0.00000000 12.50505673 0.23447830 0.00000000 0.00000000 0.00000000 0.00000000 49.25622955 0.00000000 -0.02123554 0.00000000 0.00000000 0.00000000 7.72748915 0.00000000 0.30470207 0.00000000 0.00000000 0.00000000 3.54104935 0.00000000 0.52888373 0.00000000 0.00000000 0.00000000 1.69855855 0.00000000 0.37272251 0.00000000 0.00000000 0.00000000 0.76848071 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.30050823 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09819064 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 135.33289310 0.00992911 0.00000000 39.86021274 0.06656884 0.00000000 14.44642836 0.22275768 0.00000000 5.64329004 0.40309224 0.00000000 2.16681886 0.41671668 0.00000000 0.76514971 0.00000000 0.18935502 a 34 $ SELENIUM (17s,13p,6p) -> [6s,5p,2d] $ S-TYPE FUNCTIONS 17 6 0 531071.66700 0.00024109 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 79603.04412 0.00186964 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18115.84424 0.00972716 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5127.89231900 0.03960479 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1669.91308400 0.12948855 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 600.57534530 0.30959437 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 233.70021250 0.45115769 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 92.67244393 0.24579189 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 571.57513680 0.00000000 -0.02689571 0.00000000 0.00000000 0.00000000 0.00000000 177.63686370 0.00000000 -0.12670989 0.00000000 0.00000000 0.00000000 0.00000000 29.51776705 0.00000000 0.57699002 0.00000000 0.00000000 0.00000000 0.00000000 12.82439979 0.00000000 0.56369075 0.00000000 0.00000000 0.00000000 0.00000000 19.84823584 0.00000000 0.00000000 -0.25132416 0.00000000 0.00000000 0.00000000 3.47440185 0.00000000 0.00000000 0.72905417 0.00000000 0.00000000 0.00000000 1.59889108 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.38333469 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14049742 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 2815.35005700 0.00255690 0.00000000 0.00000000 0.00000000 0.00000000 666.92558300 0.02087403 0.00000000 0.00000000 0.00000000 0.00000000 214.34213190 0.09877210 0.00000000 0.00000000 0.00000000 0.00000000 80.24668794 0.28471821 0.00000000 0.00000000 0.00000000 0.00000000 32.25108129 0.45003585 0.00000000 0.00000000 0.00000000 0.00000000 13.10643256 0.24416091 0.00000000 0.00000000 0.00000000 0.00000000 53.36610852 0.00000000 -0.02155846 0.00000000 0.00000000 0.00000000 8.18277772 0.00000000 0.32662311 0.00000000 0.00000000 0.00000000 3.62399457 0.00000000 0.57740499 0.00000000 0.00000000 0.00000000 1.63415914 0.00000000 0.34301321 0.00000000 0.00000000 0.00000000 0.58418320 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.23966269 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08878513 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 151.82910280 0.00939703 0.00000000 44.83999252 0.06408650 0.00000000 16.32899951 0.21834238 0.00000000 6.43050576 0.40314790 0.00000000 2.50480252 0.41966491 0.00000000 0.90271148 0.00000000 0.18366663 a 35 $ BROMINE (17s,13p,6p) -> [6s,5p,2d] $ S-TYPE FUNCTIONS 17 6 0 565073.25260 0.00023660 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 84701.72318 0.00183483 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19276.27190 0.00954658 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5456.42845800 0.03887714 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1776.95035000 0.12718314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 639.19398280 0.30437662 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 248.78823960 0.44490940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 98.67830549 0.24381643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 606.07824570 0.00000000 -0.02652716 0.00000000 0.00000000 0.00000000 0.00000000 188.45598480 0.00000000 -0.12484585 0.00000000 0.00000000 0.00000000 0.00000000 31.49714451 0.00000000 0.56468684 0.00000000 0.00000000 0.00000000 0.00000000 13.73600832 0.00000000 0.55555269 0.00000000 0.00000000 0.00000000 0.00000000 21.20321277 0.00000000 0.00000000 -0.24940920 0.00000000 0.00000000 0.00000000 3.76164202 0.00000000 0.00000000 0.71213120 0.00000000 0.00000000 0.00000000 1.77359340 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.45197414 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.16613377 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 3019.69557200 0.00249710 0.00000000 0.00000000 0.00000000 0.00000000 715.35481130 0.02041927 0.00000000 0.00000000 0.00000000 0.00000000 229.98328750 0.09689715 0.00000000 0.00000000 0.00000000 0.00000000 86.16784462 0.28053901 0.00000000 0.00000000 0.00000000 0.00000000 34.66787080 0.44606390 0.00000000 0.00000000 0.00000000 0.00000000 14.11387031 0.24410074 0.00000000 0.00000000 0.00000000 0.00000000 57.08565308 0.00000000 -0.02185595 0.00000000 0.00000000 0.00000000 8.81938458 0.00000000 0.32707075 0.00000000 0.00000000 0.00000000 3.93403029 0.00000000 0.57855230 0.00000000 0.00000000 0.00000000 1.79988304 0.00000000 0.33570988 0.00000000 0.00000000 0.00000000 0.66899411 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.27136238 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10083790 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 168.85370260 0.00896640 0.00000000 49.97794992 0.06206206 0.00000000 18.27491334 0.21474732 0.00000000 7.24556946 0.40335337 0.00000000 2.85623150 0.42208813 0.00000000 1.04596211 0.00000000 0.17874813 a 36 $ KRYPTON (17s,13p,6p) -> [6s,5p,2d] $ S-TYPE FUNCTIONS 17 6 0 600250.97570 0.00023741 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 89976.65078 0.00184102 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20476.81422 0.00957956 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5796.15540800 0.03902065 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1887.59132000 0.12772646 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 679.11458520 0.30596521 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 264.38244510 0.44857474 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 104.88368570 0.24722957 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 641.47370760 0.00000000 -0.02674528 0.00000000 0.00000000 0.00000000 0.00000000 199.57524820 0.00000000 -0.12571123 0.00000000 0.00000000 0.00000000 0.00000000 33.54546295 0.00000000 0.56483736 0.00000000 0.00000000 0.00000000 0.00000000 14.68395514 0.00000000 0.55972766 0.00000000 0.00000000 0.00000000 0.00000000 22.60310186 0.00000000 0.00000000 -0.25298772 0.00000000 0.00000000 0.00000000 4.06506830 0.00000000 0.00000000 0.70992160 0.00000000 0.00000000 0.00000000 1.96110271 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.52465148 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.19332400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 3232.95896100 0.00248856 0.00000000 0.00000000 0.00000000 0.00000000 765.96442690 0.02037901 0.00000000 0.00000000 0.00000000 0.00000000 246.33940810 0.09697719 0.00000000 0.00000000 0.00000000 0.00000000 92.36528304 0.28199961 0.00000000 0.00000000 0.00000000 0.00000000 37.19950955 0.45116254 0.00000000 0.00000000 0.00000000 0.00000000 15.17216653 0.24917132 0.00000000 0.00000000 0.00000000 0.00000000 60.93132170 0.00000000 -0.02217360 0.00000000 0.00000000 0.00000000 9.47926007 0.00000000 0.32838463 0.00000000 0.00000000 0.00000000 4.25646863 0.00000000 0.58124997 0.00000000 0.00000000 0.00000000 1.97293138 0.00000000 0.32863542 0.00000000 0.00000000 0.00000000 0.76337109 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.30943626 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11569704 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 186.41760900 0.00861203 0.00000000 55.27412435 0.06039441 0.00000000 20.28321912 0.21181332 0.00000000 8.08845370 0.40366293 0.00000000 3.22140338 0.42402861 0.00000000 1.19521701 0.00000000 0.17441742 ergo-3.5/basis/Huz-IV0000775000175000017500000004035712743400275011366 00000000000000$Basis = Huz-IV $Elements supported $H C N O F P S $ $ REFERENCE $ a 1 $ HYDROGEN (6s,3p,1d) -> [5s,3p,1d] $ S-TYPE FUNCTIONS 6 5 0 68.160000 0.00255 0.00000000 0.00000000 0.00000000 0.00000000 10.246500 0.01938000 0.00000000 0.00000000 0.00000000 0.00000000 2.346480 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.673320 0.00000 0.00000000 1.00000000 0.00000000 0.00000000 0.224660 0.00000 0.00000000 0.00000000 1.00000000 0.00000000 0.08221700 0.00000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 1.60 1.0 0.0 0.000000000 0.40 0.0 1.0 0.000000000 0.10 0.0 0.0 1.000000000 $ D-TYPE FUNCTIONS 1 1 0 0.65 1.000000000 a 6 $ CARBON (11s,7p,3d,1f) -> [8s,7p,3d,1f] $ S-TYPE FUNCTIONS 11 8 0 16371.07400000 0.000226418 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 2426.99250000 0.001784468 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 544.54418000 0.009490157 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 150.80487000 0.039660515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 47.70814300 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 16.45724100 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 6.08455780 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000000 2.38246310 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000000 0.66198660 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000000 0.24698997 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000000 0.09498730 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000000 $ P-TYPE FUNCTIONS 7 7 0 40.79042300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.50346330 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.94083570 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.07511150 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.42670240 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.17481926 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07113054 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.2 1.0 0.0 0.000000000 0.8 0.0 1.0 0.000000000 0.2 0.0 0.0 1.000000000 $ F-TYPE FUNCTIONS 1 1 0 1.0 1.000000000 a 7 $ NITROGEN (11s,7p,3d,1f) -> [8s,7p,3d,1f] $ S-TYPE FUNCTIONS 11 8 0 23274.85700000 0.000215213 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 3468.18300000 0.001692144 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 777.98843000 0.008994065 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 215.71976000 0.037730386 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 68.07803100 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 23.42439700 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 8.66937660 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000000 3.42175330 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000000 0.93125652 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000000 0.34656886 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000000 0.13311530 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000000 $ P-TYPE FUNCTIONS 7 7 0 60.31724000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.10081100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.38771790 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.60827170 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.63885442 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.26035829 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10396545 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.20000000 1.00000000 0.00000000 0.00000000 0.80000000 0.00000000 1.00000000 0.00000000 0.20000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 8 $ OXYGEN (11s,7p,3d,1f) -> [8s,7p,3d,1f] $ S-TYPE FUNCTIONS 11 8 0 30664.50300000 0.000214139 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 4573.20140000 0.001677982 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 1029.55240000 0.008881474 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 285.90474000 0.037281336 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 90.36965300 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 31.21957800 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 11.60776600 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000000 4.59275950 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000000 1.27117160 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000000 0.47214017 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000000 0.17896534 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000000 $P-TYPE FUNCTIONS 7 7 0 78.70294300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.40926100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.75308350 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.11071140 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.83712087 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.33907630 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13226310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.20000000 1.00000000 0.00000000 0.00000000 0.80000000 0.00000000 1.00000000 0.00000000 0.20000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 9 $ FLUORINE (11s,7p,3d,1f) -> [8s,7p,3d,1f] $ S-TYPE FUNCTIONS 11 8 0 37736.00000000 0.000218249 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 5867.07910000 0.001633222 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 1332.46790000 0.008681782 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 369.44060000 0.036543393 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 116.84300000 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 40.34877000 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 14.96627000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000000 5.87592950 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000000 1.65333520 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000000 0.61083583 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000000 0.23328922 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000000 $ P-TYPE FUNCTIONS 7 7 0 102.26192000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.93838100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.52059140 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.77245660 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.10005140 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.44677512 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.17187009 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.20000000 1.00000000 0.00000000 0.00000000 0.80000000 0.00000000 1.00000000 0.00000000 0.20000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 15 $ PHOSPHORUS (12s,8p,4d,2f) -> [9s,8p,4d,2f] $ S-TYPE FUNCTIONS 12 9 0 77492.39800000 0.00032906 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11605.79400000 0.00255174 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2645.96280000 0.01313011 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 753.97763000 0.05189690 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 248.75403000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 91.15662300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 36.22561800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.21115500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.71394850 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.78254320 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.34271273 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.12471095 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 8 0 447.03882000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.29827000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.76738800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.58337900 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.69885490 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.75275990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.42209549 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.12532092 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 9.60000000 1.00000000 0.00000000 0.00000000 0.00000000 2.40 0.00000000 1.00000000 0.00000000 0.00000000 0.60 0.00000000 0.00000000 1.00000000 0.00000000 0.15 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.50000000 1.0 0.0 0.5 0.00000000 1.0 a 16 $ SULFUR (12s,8p,4d,2f) -> [9s,8p,4d,2f] $ S-TYPE FUNCTIONS 12 9 0 94181.10000000 0.000305571 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13921.80000000 0.002401035 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3168.04000000 0.012354308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 901.84300000 0.049099148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 296.95400000 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.66900000 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.15790000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.11680000 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.57096000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.14287000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.43438900 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15709300 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 8 0 532.03127000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 126.63701000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 39.75234800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.14024300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.26069100 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.00635500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.51597093 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14946546 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 9.60000000 1.00000000 0.00000000 0.00000000 0.00000000 2.40 0.00000000 1.00000000 0.00000000 0.00000000 0.60 0.00000000 0.00000000 1.00000000 0.00000000 0.15 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.50000000 1.0 0.000000000 0.5 0.00000000 1.000000000 ergo-3.5/basis/Ahlrichs-Coulomb-Fit0000664000175000017500000035605112743400275014155 00000000000000$ Basis =Ahlrichs Coulomb Fitting $Elements References $ -------- ---------- $H - Ba; Hf - At: $ 1) K. Eichkorn, O. Treutler, H. Ohm, M. Haser and R. Ahlrichs, $ Chem. Phys. Letters 240, 283 (1995). $ 2) K. Eichkorn, F. Weigend, O. Treutler, R. Ahlrichs, $ Theor. Chem. Acc. 97, 119 (1997) a 1 $ HYDROGEN (3s,2p,1d) $ S-TYPE FUNCTIONS 4 3 0 9.30813000 0.0344662 0.0000000 0.00000000 2.30671800 0.1225338 0.0000000 0.00000000 0.75201200 0.0000000 0.1825002 0.00000000 0.27397800 0.0000000 0.0000000 0.02215055 $ P-TYPE FUNCTIONS 2 2 0 2.03270400 0.0295137 0.0000000 0.79025200 0.0000000 0.0327559 $ D-TYPE FUNCTIONS 1 1 0 2.01954800 1.0000000 a 2 $ HELIUM (2s,2p) $ S-TYPE FUNCTIONS 4 2 0 37.39393000 0.1099670 0.0000000 6.98669000 0.3752048 0.0000000 1.92344500 0.4184775 0.0000000 0.62875700 0.0000000 0.1080988 $ P-TYPE FUNCTIONS 2 2 0 3.60021686 -0.0355474 0.0000000 1.50009035 0.0000000 -0.0305239 a 3 $ LITHIUM (7s,2p,2d,1f) $ S-TYPE FUNCTIONS 9 7 0 173.28970900 0.0801488 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 47.83443600 0.2522057 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.75362700 0.6652090 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.05214700 0.0000000 0.7765808 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.90155000 0.0000000 0.0000000 0.27184755 0.00000000 0.00000000 0.00000000 0.00000000 0.77551500 0.0000000 0.0000000 0.00000000 0.01362138 0.00000000 0.00000000 0.00000000 0.33635500 0.0000000 0.0000000 0.00000000 0.00000000 -0.00915809 0.00000000 0.00000000 0.15165900 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.03582379 0.00000000 0.06929600 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.01936454 $ P-TYPE FUNCTIONS 2 2 0 0.37786400 0.0061941 0.0000000 0.15955400 0.0000000 -0.0167145 $ D-TYPE FUNCTIONS 2 2 0 0.56049300 0.0000847 0.0000000 0.23737800 0.0000000 0.0013050 $ F-TYPE FUNCTIONS 1 1 0 0.46842600 -0.0017342 a 4 $ BERYLLIUM (7s,2p,2d,1f) $ S-TYPE FUNCTIONS 9 7 0 268.61624200 0.1558342 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 76.01519800 0.4629979 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.91629800 1.1678414 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.31085400 0.0000000 1.2440592 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.15795600 0.0000000 0.0000000 0.29869665 0.00000000 0.00000000 0.00000000 0.00000000 1.29404000 0.0000000 0.0000000 0.00000000 0.08096314 0.00000000 0.00000000 0.00000000 0.56171800 0.0000000 0.0000000 0.00000000 0.00000000 0.03579799 0.00000000 0.00000000 0.25283000 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.12502778 0.00000000 0.11521700 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.03167219 $ P-TYPE FUNCTIONS 2 2 0 3.73425100 -0.0335559 0.0000000 1.11302600 0.0000000 0.0107784 $ D-TYPE FUNCTIONS 2 2 0 0.91871400 -0.0041589 0.0000000 0.35568200 0.0000000 -0.0308928 $ F-TYPE FUNCTIONS 1 1 0 0.39537000 1.0000000 a 5 $ BORON (7s,3p,3d,1f) $ S-TYPE FUNCTIONS 9 7 0 392.03445800 0.2459310 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 117.49724000 0.6430324 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.12459600 1.6873593 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.30012200 0.0000000 1.8021677 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.94389200 0.0000000 0.0000000 0.38496025 0.00000000 0.00000000 0.00000000 0.00000000 1.93641700 0.0000000 0.0000000 0.00000000 0.15685891 0.00000000 0.00000000 0.00000000 0.78870500 0.0000000 0.0000000 0.00000000 0.00000000 0.21515206 0.00000000 0.00000000 0.32911700 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.20305080 0.00000000 0.13846800 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.02841510 $ P-TYPE FUNCTIONS 3 3 0 1.22297600 -0.0176750 0.0000000 0.00000000 0.49485300 0.0000000 -0.0077235 0.00000000 0.20879300 0.0000000 0.0000000 -0.04317522 $ D-TYPE FUNCTIONS 3 3 0 2.40189800 0.0343468 0.0000000 0.00000000 0.76449700 0.0000000 0.0561736 0.00000000 0.25749400 0.0000000 0.0000000 0.02163396 $ F-TYPE FUNCTIONS 1 1 0 0.91306700 0.0279246 a 6 $ CARBON (7s,3p,3d,1f) $ S-TYPE FUNCTIONS 9 7 0 591.55392700 0.3158202 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 172.11794000 0.8750386 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.79925900 2.3076052 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.95909400 0.0000000 2.4179722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.05993000 0.0000000 0.0000000 0.41345762 0.00000000 0.00000000 0.00000000 0.00000000 2.79484900 0.0000000 0.0000000 0.00000000 0.19000954 0.00000000 0.00000000 0.00000000 1.15863400 0.0000000 0.0000000 0.00000000 0.00000000 0.37707105 0.00000000 0.00000000 0.49432400 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.34791788 0.00000000 0.21296900 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.05474077 $ P-TYPE FUNCTIONS 3 3 0 0.32784736 0.0531910 0.0000000 0.00000000 0.78683366 0.0000000 0.0013442 0.00000000 1.97101832 0.0000000 0.0000000 0.02219860 $ D-TYPE FUNCTIONS 3 3 0 4.01330100 0.0524684 0.0000000 0.00000000 1.24750500 0.0000000 0.0802678 0.00000000 0.40814800 0.0000000 0.0000000 0.02963617 $ F-TYPE FUNCTIONS 1 1 0 0.90000000 1.0000000 a 7 $ NITROGEN (7s,3p,3d,1f) $ S-TYPE FUNCTIONS 9 7 0 791.07693500 0.4156751 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 229.45018400 1.1475069 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 72.88696000 3.0193577 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.18159600 0.0000000 3.0323304 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.37169700 0.0000000 0.0000000 0.38784949 0.00000000 0.00000000 0.00000000 0.00000000 3.71065500 0.0000000 0.0000000 0.00000000 0.18292931 0.00000000 0.00000000 0.00000000 1.53946300 0.0000000 0.0000000 0.00000000 0.00000000 0.65238939 0.00000000 0.00000000 0.65755300 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.49991067 0.00000000 0.28365400 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07386879 $ P-TYPE FUNCTIONS 3 3 0 0.47073919 0.0674058 0.0000000 0.00000000 1.12977407 0.0000000 -0.0225055 0.00000000 2.83008403 0.0000000 0.0000000 0.03554557 $ D-TYPE FUNCTIONS 3 3 0 5.83298650 0.0416040 0.0000000 0.00000000 1.73268650 0.0000000 0.0110597 0.00000000 0.54524250 0.0000000 0.0000000 0.04840796 $ F-TYPE FUNCTIONS 1 1 0 1.82648000 1.0000000 a 8 $ OXYGEN (7s,3p,3d,1f) $ S-TYPE FUNCTIONS 9 7 0 957.84325300 0.5624962 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 281.96742500 1.4910899 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 90.19983200 3.8654773 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.13829900 0.0000000 3.6057773 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.49373200 0.0000000 0.0000000 0.23005858 0.00000000 0.00000000 0.00000000 0.00000000 4.48404900 0.0000000 0.0000000 0.00000000 0.05015769 0.00000000 0.00000000 0.00000000 1.82350400 0.0000000 0.0000000 0.00000000 0.00000000 1.05070463 0.00000000 0.00000000 0.76090300 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.58565488 0.00000000 0.32029200 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07499129 $ P-TYPE FUNCTIONS 3 3 0 0.61470886 -0.0855784 0.0000000 0.00000000 1.47530127 0.0000000 0.0418000 0.00000000 3.69562968 0.0000000 0.0000000 -0.05855108 $ D-TYPE FUNCTIONS 3 3 0 7.65267200 0.0910687 0.0000000 0.00000000 2.21786800 0.0000000 0.1116313 0.00000000 0.68233700 0.0000000 0.0000000 0.04600666 $ F-TYPE FUNCTIONS 1 1 0 2.19178082 1.0000000 a 9 $ FLUORINE (7s,3p,4d,1f) $ S-TYPE FUNCTIONS 9 7 0 1156.70231000 0.7143119 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 345.04030200 1.8455420 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 111.33205800 4.7109527 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.59023400 0.0000000 4.2132952 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.24146600 0.0000000 0.0000000 0.11772222 0.00000000 0.00000000 0.00000000 0.00000000 5.53413200 0.0000000 0.0000000 0.00000000 0.15894702 0.00000000 0.00000000 0.00000000 2.23509600 0.0000000 0.0000000 0.00000000 0.00000000 1.49637682 0.00000000 0.00000000 0.92451400 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.68056750 0.00000000 0.38551600 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.11297897 $ P-TYPE FUNCTIONS 3 3 0 3.12693419 1.0000000 0.0000000 0.00000000 1.26740199 0.0000000 1.0000000 0.00000000 0.52808416 0.0000000 0.0000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 23.18557000 -0.0410642 0.0000000 0.00000000 0.00000000 6.68248300 0.0000000 -0.1332701 0.00000000 0.00000000 2.16767700 0.0000000 0.0000000 -0.12350252 0.00000000 0.73384900 0.0000000 0.0000000 0.00000000 0.03195039 $ F-TYPE FUNCTIONS 1 1 0 2.55707762 1.0000000 a 10 $ NEON (6s,3p,3d,1f) $ S-TYPE FUNCTIONS 8 6 0 1273.30572000 0.8962421 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 414.74795000 2.1345374 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 138.15585800 5.4324396 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 46.89036900 0.0000000 5.1244768 0.00000000 0.00000000 0.00000000 0.00000000 16.15205200 0.0000000 0.0000000 -0.13343712 0.00000000 0.00000000 0.00000000 5.62371600 0.0000000 0.0000000 0.00000000 0.89830505 0.00000000 0.00000000 1.97076200 0.0000000 0.0000000 0.00000000 0.00000000 2.09523338 0.00000000 0.69212900 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.44196115 $ P-TYPE FUNCTIONS 3 3 0 5.92304060 0.0033397 0.0000000 0.00000000 2.36448720 0.0000000 -0.0099150 0.00000000 0.98520300 0.0000000 0.0000000 0.00744346 $ D-TYPE FUNCTIONS 3 3 0 11.64327200 -0.0013683 0.0000000 0.00000000 3.49736420 0.0000000 0.0019106 0.00000000 1.11027430 0.0000000 0.0000000 -0.00316267 $ F-TYPE FUNCTIONS 1 1 0 3.77600000 0.0005441 a 11 $ SODIUM (5s,2p,2d,1f) $ S-TYPE FUNCTIONS 12 5 0 1822.59686000 0.8770883 0.0000000 0.00000000 0.00000000 0.00000000 614.83375600 1.8740778 0.0000000 0.00000000 0.00000000 0.00000000 216.82363800 5.1349463 0.0000000 0.00000000 0.00000000 0.00000000 79.70117500 6.5032107 0.0000000 0.00000000 0.00000000 0.00000000 30.43393900 1.6797834 0.0000000 0.00000000 0.00000000 0.00000000 12.02568500 -0.5391991 0.0000000 0.00000000 0.00000000 0.00000000 4.89602400 2.2115733 0.0000000 0.00000000 0.00000000 0.00000000 2.04406800 1.9032335 0.0000000 0.00000000 0.00000000 0.00000000 0.87062800 0.0000000 0.2829460 0.00000000 0.00000000 0.00000000 0.37625500 0.0000000 0.0000000 0.00171988 0.00000000 0.00000000 0.16404500 0.0000000 0.0000000 0.00000000 0.00721684 0.00000000 0.07173500 0.0000000 0.0000000 0.00000000 0.00000000 0.03349118 $ P-TYPE FUNCTIONS 4 2 0 0.28704200 0.0064560 0.0000000 0.12636300 -0.0097378 0.0000000 0.66867000 -0.0144796 0.0000000 0.37939000 0.0000000 0.0019182 $ D-TYPE FUNCTIONS 4 2 0 0.32748100 -0.0005947 0.0000000 0.94458000 0.0041411 0.0000000 0.28478000 -0.0004584 0.0000000 0.87170000 0.0000000 0.0000372 $ F-TYPE FUNCTIONS 1 1 0 0.13495300 -0.0004089 a 12 $ MAGNESIUM (5s,2p,2d,1f) $ S-TYPE FUNCTIONS 12 5 0 2322.92522000 0.9304675 0.0000000 0.00000000 0.00000000 0.00000000 780.20526000 2.0290703 0.0000000 0.00000000 0.00000000 0.00000000 275.40661000 5.6250984 0.0000000 0.00000000 0.00000000 0.00000000 101.86220400 7.5249794 0.0000000 0.00000000 0.00000000 0.00000000 39.33338200 2.3568997 0.0000000 0.00000000 0.00000000 0.00000000 15.79076300 -0.8154775 0.0000000 0.00000000 0.00000000 0.00000000 6.55951000 2.5654436 0.0000000 0.00000000 0.00000000 0.00000000 2.80452000 2.5494037 0.0000000 0.00000000 0.00000000 0.00000000 1.22698300 0.0000000 0.3606243 0.00000000 0.00000000 0.00000000 0.54588300 0.0000000 0.0000000 -0.04255652 0.00000000 0.00000000 0.24535100 0.0000000 0.0000000 0.00000000 0.07636400 0.00000000 0.11065300 0.0000000 0.0000000 0.00000000 0.00000000 0.07251368 $ P-TYPE FUNCTIONS 4 2 0 20.15338100 0.0030297 0.0000000 3.96115200 0.0217899 0.0000000 0.97862200 -0.0256019 0.0000000 0.26442200 0.0000000 0.0326064 $ D-TYPE FUNCTIONS 4 2 0 49.36793300 -0.0004760 0.0000000 7.30566200 0.0014410 0.0000000 1.34845700 -0.0057628 0.0000000 0.27125200 0.0000000 0.0141821 $ F-TYPE FUNCTIONS 1 1 0 0.24603700 0.0038494 a 13 $ ALUMINUM (5s,3p,2d,1f) $ S-TYPE FUNCTIONS 12 5 0 2838.12879000 0.9890147 0.0000000 0.00000000 0.00000000 0.00000000 1055.50526000 1.7400671 0.0000000 0.00000000 0.00000000 0.00000000 400.89567200 5.1258129 0.0000000 0.00000000 0.00000000 0.00000000 155.22047900 8.2424146 0.0000000 0.00000000 0.00000000 0.00000000 61.14585500 4.8655263 0.0000000 0.00000000 0.00000000 0.00000000 24.45635700 -1.0935400 0.0000000 0.00000000 0.00000000 0.00000000 9.91029200 2.2351608 0.0000000 0.00000000 0.00000000 0.00000000 4.05953100 3.8693938 0.0000000 0.00000000 0.00000000 0.00000000 1.67707400 0.0000000 0.5379994 0.00000000 0.00000000 0.00000000 0.69707800 0.0000000 0.0000000 -0.10440190 0.00000000 0.00000000 0.29081000 0.0000000 0.0000000 0.00000000 0.20407057 0.00000000 0.12147100 0.0000000 0.0000000 0.00000000 0.00000000 0.08214089 $ P-TYPE FUNCTIONS 4 3 0 0.93486800 -0.0036159 0.0000000 0.00000000 0.34575400 -0.0072204 0.0000000 0.00000000 0.13853800 0.0000000 -0.0346816 0.00000000 0.57097000 0.0000000 0.0000000 -0.00021647 $ D-TYPE FUNCTIONS 5 2 0 15.36961200 0.0185080 0.0000000 4.05229400 0.0002944 0.0000000 1.24144400 -0.0089957 0.0000000 0.42125800 0.0321561 0.0000000 0.14826400 0.0000000 0.0214856 $ F-TYPE FUNCTIONS 1 1 0 0.50034800 0.0195741 a 14 $ SILICON (5s,3p,2d,1f,1g) $ S-TYPE FUNCTIONS 12 5 0 2611.04428000 1.5648836 0.0000000 0.00000000 0.00000000 0.00000000 778.10695400 4.0117093 0.0000000 0.00000000 0.00000000 0.00000000 251.33454900 9.9187201 0.0000000 0.00000000 0.00000000 0.00000000 87.77160300 7.6958945 0.0000000 0.00000000 0.00000000 0.00000000 33.01605500 -0.8350522 0.0000000 0.00000000 0.00000000 0.00000000 13.30896300 1.7422509 0.0000000 0.00000000 0.00000000 0.00000000 5.71110600 4.7568327 0.0000000 0.00000000 0.00000000 0.00000000 2.58733400 1.2476417 0.0000000 0.00000000 0.00000000 0.00000000 1.22527200 0.0000000 -0.3256239 0.00000000 0.00000000 0.00000000 0.59965700 0.0000000 0.0000000 0.17914316 0.00000000 0.00000000 0.29948700 0.0000000 0.0000000 0.00000000 0.24619214 0.00000000 0.15060100 0.0000000 0.0000000 0.00000000 0.00000000 0.09450132 $ P-TYPE FUNCTIONS 6 3 0 24.37119520 1.0000000 0.0000000 0.00000000 8.26542474 1.0000000 0.0000000 0.00000000 3.05158086 1.0000000 0.0000000 0.00000000 1.20276273 1.0000000 0.0000000 0.00000000 0.49409267 0.0000000 1.0000000 0.00000000 0.20587195 0.0000000 0.0000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 16.83377400 -0.0275864 0.0000000 5.06087100 0.0009394 0.0000000 1.67639500 0.0146972 0.0000000 0.59142800 -0.0477366 0.0000000 0.21328000 0.0000000 -0.0255469 $ F-TYPE FUNCTIONS 1 1 0 0.63926941 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.70000000 1.0000000 a 15 $ PHOSPHORUS (5s,3p,2d,1f,1g) $ S-TYPE FUNCTIONS 12 5 0 3080.37463000 1.6907182 0.0000000 0.00000000 0.00000000 0.00000000 913.43425600 4.4091092 0.0000000 0.00000000 0.00000000 0.00000000 294.67914500 10.9460690 0.0000000 0.00000000 0.00000000 0.00000000 103.18237700 8.7160617 0.0000000 0.00000000 0.00000000 0.00000000 39.07326100 -0.9414564 0.0000000 0.00000000 0.00000000 0.00000000 15.92055200 1.9391841 0.0000000 0.00000000 0.00000000 0.00000000 6.93259400 5.6188186 0.0000000 0.00000000 0.00000000 0.00000000 3.19860600 1.5010454 0.0000000 0.00000000 0.00000000 0.00000000 1.54748600 0.0000000 -0.5964805 0.00000000 0.00000000 0.00000000 0.77558600 0.0000000 0.0000000 0.32196064 0.00000000 0.00000000 0.39728500 0.0000000 0.0000000 0.00000000 0.35720257 0.00000000 0.20501100 0.0000000 0.0000000 0.00000000 0.00000000 0.16055723 $ P-TYPE FUNCTIONS 6 3 0 33.05554940 -0.0312248 0.0000000 0.00000000 11.21069990 0.0909231 0.0000000 0.00000000 4.13897148 -0.0820320 0.0000000 0.00000000 1.63135137 0.0756090 0.0000000 0.00000000 0.67015608 0.0000000 -0.0391239 0.00000000 0.27923170 0.0000000 0.0000000 0.04543913 $ D-TYPE FUNCTIONS 5 2 0 22.77470000 0.0144184 0.0000000 6.84373550 -0.0009127 0.0000000 2.26347250 -0.0038392 0.0000000 0.79671950 0.0140665 0.0000000 0.28657650 0.0000000 0.0149139 $ F-TYPE FUNCTIONS 1 1 0 0.82191781 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.90000000 1.0000000 a 16 $ SULFUR (5s,3p,2d,1f,1g) $ S-TYPE FUNCTIONS 12 5 0 3612.93769000 1.8128486 0.0000000 0.00000000 0.00000000 0.00000000 1059.65142000 4.8480507 0.0000000 0.00000000 0.00000000 0.00000000 339.29484500 12.1166565 0.0000000 0.00000000 0.00000000 0.00000000 118.35323600 9.7039947 0.0000000 0.00000000 0.00000000 0.00000000 44.81973000 -1.1639645 0.0000000 0.00000000 0.00000000 0.00000000 18.33376100 2.3968143 0.0000000 0.00000000 0.00000000 0.00000000 8.04530900 6.5382392 0.0000000 0.00000000 0.00000000 0.00000000 3.75400800 1.5541873 0.0000000 0.00000000 0.00000000 0.00000000 1.84237700 0.0000000 -0.9517520 0.00000000 0.00000000 0.00000000 0.93893100 0.0000000 0.0000000 0.62532806 0.00000000 0.00000000 0.48979800 0.0000000 0.0000000 0.00000000 0.40459013 0.00000000 0.25753100 0.0000000 0.0000000 0.00000000 0.00000000 0.24775177 $ P-TYPE FUNCTIONS 6 3 0 41.74187100 -0.0332732 0.0000000 0.00000000 14.15664230 0.0888693 0.0000000 0.00000000 5.22660844 -0.0752374 0.0000000 0.00000000 2.06003711 0.0715882 0.0000000 0.00000000 0.84625938 0.0000000 -0.0382502 0.00000000 0.35260807 0.0000000 0.0000000 0.02599717 $ D-TYPE FUNCTIONS 5 2 0 28.71562600 0.0431051 0.0000000 8.62660000 0.0037001 0.0000000 2.85055000 -0.0260349 0.0000000 1.00201100 0.0722640 0.0000000 0.35987300 0.0000000 0.0375216 $ F-TYPE FUNCTIONS 1 1 0 1.00456621 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 1.10000000 1.0000000 a 17 $ CHLORINE (5s,3p,2d,1f,1g) $ S-TYPE FUNCTIONS 12 5 0 4097.08041000 1.9805451 0.0000000 0.00000000 0.00000000 0.00000000 1203.08319000 5.3097345 0.0000000 0.00000000 0.00000000 0.00000000 386.28094800 13.2352655 0.0000000 0.00000000 0.00000000 0.00000000 135.33769000 10.7149960 0.0000000 0.00000000 0.00000000 0.00000000 51.56704600 -1.3256511 0.0000000 0.00000000 0.00000000 0.00000000 21.26103400 2.7118036 0.0000000 0.00000000 0.00000000 0.00000000 9.42013500 7.5464051 0.0000000 0.00000000 0.00000000 0.00000000 4.44522800 1.7360362 0.0000000 0.00000000 0.00000000 0.00000000 2.20939900 0.0000000 -1.4019750 0.00000000 0.00000000 0.00000000 1.14157500 0.0000000 0.0000000 0.98271974 0.00000000 0.00000000 0.60418200 0.0000000 0.0000000 0.00000000 0.46417859 0.00000000 0.32237800 0.0000000 0.0000000 0.00000000 0.00000000 0.36933689 $ P-TYPE FUNCTIONS 6 3 0 51.84999030 0.0359336 0.0000000 0.00000000 17.58478350 -0.0869599 0.0000000 0.00000000 6.49227240 0.0721211 0.0000000 0.00000000 2.55889115 -0.0634202 0.0000000 0.00000000 1.05118768 0.0000000 0.0264152 0.00000000 0.43799487 0.0000000 0.0000000 -0.01976707 $ D-TYPE FUNCTIONS 5 2 0 34.70555000 -0.0548704 0.0000000 10.70442700 -0.0061902 0.0000000 3.56806700 0.0337450 0.0000000 1.24984800 -0.0905232 0.0000000 0.44536000 0.0000000 0.0418680 $ F-TYPE FUNCTIONS 1 1 0 1.18721461 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 1.30000000 1.0000000 a 18 $ ARGON (5s,3p,2d,1f) $ S-TYPE FUNCTIONS 12 5 0 4620.80404000 2.1352320 0.0000000 0.00000000 0.00000000 0.00000000 1374.29205000 5.6522345 0.0000000 0.00000000 0.00000000 0.00000000 446.44822800 14.1027177 0.0000000 0.00000000 0.00000000 0.00000000 158.08289300 12.0399277 0.0000000 0.00000000 0.00000000 0.00000000 60.80344900 -1.2470156 0.0000000 0.00000000 0.00000000 0.00000000 25.27622600 2.6011932 0.0000000 0.00000000 0.00000000 0.00000000 11.27840900 8.7046104 0.0000000 0.00000000 0.00000000 0.00000000 5.35391500 2.2519029 0.0000000 0.00000000 0.00000000 0.00000000 2.67438100 0.0000000 -1.9977133 0.00000000 0.00000000 0.00000000 1.38771700 0.0000000 0.0000000 1.37290316 0.00000000 0.00000000 0.73723300 0.0000000 0.0000000 0.00000000 0.56969048 0.00000000 0.39479500 0.0000000 0.0000000 0.00000000 0.00000000 0.51291992 $ P-TYPE FUNCTIONS 6 3 0 63.19533100 0.0038553 0.0000000 0.00000000 21.43252500 -0.0075629 0.0000000 0.00000000 7.91285210 0.0110643 0.0000000 0.00000000 3.11880430 -0.0163324 0.0000000 0.00000000 1.28119890 0.0000000 0.0214024 0.00000000 0.53383290 0.0000000 0.0000000 -0.01504615 $ D-TYPE FUNCTIONS 5 2 0 89.76640050 -0.0024913 0.0000000 23.21569850 -0.0037048 0.0000000 6.69329640 0.0024780 0.0000000 2.07246860 -0.0030405 0.0000000 0.65792654 0.0000000 -0.0088279 $ F-TYPE FUNCTIONS 1 1 0 1.39199999 -0.0009478 a 19 $ POTASSIUM (6s,2p,2d,1f) $ S-TYPE FUNCTIONS 16 6 0 10737.35380 0.9136365 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 4120.32231000 1.5368803 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1624.88943000 4.9654196 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 657.64744500 10.4076084 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 272.77349300 14.2019224 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 115.76005800 5.5146624 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 50.17832000 -2.4566354 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 22.17554700 6.6305967 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 9.97200500 8.9045631 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 4.55346300 -1.4838447 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2.10673400 0.0000000 0.1284569 0.00000000 0.00000000 0.00000000 0.00000000 0.98538200 0.0000000 1.7066462 0.00000000 0.00000000 0.00000000 0.00000000 0.46484900 0.0000000 0.0000000 0.33597318 0.00000000 0.00000000 0.00000000 0.22064300 0.0000000 0.0000000 0.00000000 0.00017810 0.00000000 0.00000000 0.10511900 0.0000000 0.0000000 0.00000000 0.00000000 0.00575921 0.00000000 0.05014300 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.02745457 $ P-TYPE FUNCTIONS 4 2 0 0.90193900 -0.0090222 0.0000000 0.31777700 0.0108209 0.0000000 0.13492700 -0.0003726 0.0000000 0.61495000 0.0000000 -0.0157367 $ D-TYPE FUNCTIONS 4 2 0 2.88853200 0.0004281 0.0000000 0.86532800 0.0001273 0.0000000 0.26454000 -0.0013822 0.0000000 0.81429000 0.0000000 0.0033488 $ F-TYPE FUNCTIONS 1 1 0 0.24897200 -0.0001150 a 20 $ CALCIUM (6s,2p,2d,1f) $ S-TYPE FUNCTIONS 16 6 0 17876.40270 0.6016086 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 6236.15617000 1.3399238 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2269.45107000 4.5338572 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 860.30577100 10.6237411 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 339.12491100 16.2301910 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 138.72891400 7.4087961 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 58.75897600 -2.8566177 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 25.70110800 7.0829553 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 11.57553100 10.3282304 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 5.35125700 -1.9388125 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2.53040700 0.0000000 0.1119714 0.00000000 0.00000000 0.00000000 0.00000000 1.21934800 0.0000000 2.1669299 0.00000000 0.00000000 0.00000000 0.00000000 0.59642200 0.0000000 0.0000000 0.34345164 0.00000000 0.00000000 0.00000000 0.29490000 0.0000000 0.0000000 0.00000000 0.03749973 0.00000000 0.00000000 0.14677000 0.0000000 0.0000000 0.00000000 0.00000000 0.05509684 0.00000000 0.07320700 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.05894361 $ P-TYPE FUNCTIONS 4 2 0 7.35849500 0.0125595 0.0000000 3.44117700 -0.0446691 0.0000000 1.94420000 0.0722831 0.0000000 1.18032600 0.0000000 -0.0348937 $ D-TYPE FUNCTIONS 4 2 0 0.52226200 -0.0076634 0.0000000 0.20145100 0.0121550 0.0000000 0.90202000 0.0017392 0.0000000 0.42677000 0.0000000 -0.0004590 $ F-TYPE FUNCTIONS 1 1 0 0.14784300 0.0038480 a 21 $ SCANDIUM (6s,4p,3d,3f,2g) $ S-TYPE FUNCTIONS 16 6 0 12111.03180 1.1899955 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 4731.60352000 1.8485368 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1899.74196000 6.0053103 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 782.81285500 12.1609681 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 330.56840100 16.2673857 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 142.82775400 6.2695416 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 63.03256800 -3.0418497 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 28.36080400 8.0057615 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 12.98441200 11.1624120 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 6.03639100 -2.3532525 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2.84342200 0.0000000 0.3257523 0.00000000 0.00000000 0.00000000 0.00000000 1.35404300 0.0000000 2.4918114 0.00000000 0.00000000 0.00000000 0.00000000 0.65033400 0.0000000 0.0000000 0.35879285 0.00000000 0.00000000 0.00000000 0.31427600 0.0000000 0.0000000 0.00000000 0.08484089 0.00000000 0.00000000 0.15244000 0.0000000 0.0000000 0.00000000 0.00000000 0.06805558 0.00000000 0.07403200 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.02487008 $ P-TYPE FUNCTIONS 4 4 0 2.05792980 1.0000000 0.0000000 0.00000000 0.00000000 0.77110677 0.0000000 1.0000000 0.00000000 0.00000000 0.31254328 0.0000000 0.0000000 1.00000000 0.00000000 0.13022637 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 3 0 7.26661900 0.0228085 0.0000000 0.00000000 2.26096600 0.0717081 0.0000000 0.00000000 0.79220200 0.0000000 0.0643177 0.00000000 0.28975300 0.0000000 0.0000000 0.03321151 $ F-TYPE FUNCTIONS 3 3 0 2.10745790 1.0000000 0.0000000 0.00000000 0.81056073 0.0000000 1.0000000 0.00000000 0.32422429 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 8.07289000 0.0645043 0.0000000 2.80936400 0.1099918 0.0000000 0.99531100 0.0825812 0.0000000 0.35475700 0.0000000 0.0337226 a 22 $ TITANIUM (6s,4p,2d,3f,2g) $ S-TYPE FUNCTIONS 16 6 0 11741.26180 1.4668138 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 3896.11238000 3.6274432 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1366.68455000 10.6661239 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 506.17401300 19.1894563 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 197.62067900 12.1032927 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 81.16794300 -3.3420654 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 34.98399200 6.9437257 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 15.77534700 13.5563980 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 7.41605500 -1.8386793 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 3.61970700 -0.6517641 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.82585700 0.0000000 2.9975058 0.00000000 0.00000000 0.00000000 0.00000000 0.94692200 0.0000000 0.8670418 0.00000000 0.00000000 0.00000000 0.00000000 0.50208200 0.0000000 0.0000000 0.11661173 0.00000000 0.00000000 0.00000000 0.27054100 0.0000000 0.0000000 0.00000000 0.00672510 0.00000000 0.00000000 0.14721300 0.0000000 0.0000000 0.00000000 0.00000000 0.08440778 0.00000000 0.08036900 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.04269773 $ P-TYPE FUNCTIONS 4 4 0 2.31598962 1.0000000 0.0000000 0.00000000 0.00000000 0.86780187 0.0000000 1.0000000 0.00000000 0.00000000 0.35173552 0.0000000 0.0000000 1.00000000 0.00000000 0.14655646 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 2 0 6.23666600 0.0586562 0.0000000 2.36921300 0.1349108 0.0000000 0.91546100 0.0843927 0.0000000 0.35576600 0.0000000 0.0148068 $ F-TYPE FUNCTIONS 3 3 0 2.74153601 1.0000000 0.0000000 0.00000000 1.05443693 0.0000000 1.0000000 0.00000000 0.42177477 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 10.57544300 0.0813474 0.0000000 3.63036300 0.1433124 0.0000000 1.36530400 0.0874095 0.0000000 0.53035200 0.0000000 0.0188662 a 23 $ VANADIUM (6s,4p,2d,3f,2g) $ S-TYPE FUNCTIONS 16 6 0 12144.54840 1.6895858 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 4090.54722000 3.9678845 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1453.53223000 11.6364308 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 544.19969900 20.4194258 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 214.32301900 12.6802178 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 88.60643600 -3.7437848 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 38.35869400 7.8917486 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 17.33703800 14.6298860 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 8.15256700 -2.4861367 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 3.97283100 -0.3321891 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.99735500 0.0000000 3.3772744 0.00000000 0.00000000 0.00000000 0.00000000 1.03090700 0.0000000 0.9666896 0.00000000 0.00000000 0.00000000 0.00000000 0.54333700 0.0000000 0.0000000 0.14610881 0.00000000 0.00000000 0.00000000 0.29075500 0.0000000 0.0000000 0.00000000 0.02218525 0.00000000 0.00000000 0.15703600 0.0000000 0.0000000 0.00000000 0.00000000 0.08535787 0.00000000 0.08507800 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.04308577 $ P-TYPE FUNCTIONS 4 4 0 2.53219895 1.0000000 0.0000000 0.00000000 0.00000000 0.94881555 0.0000000 1.0000000 0.00000000 0.00000000 0.38457180 0.0000000 0.0000000 1.00000000 0.00000000 0.16023825 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 2 0 6.90779900 0.0688419 0.0000000 2.58671150 0.1377819 0.0000000 1.01227500 0.0740616 0.0000000 0.40236900 0.0000000 0.0115969 $ F-TYPE FUNCTIONS 3 3 0 3.28352762 1.0000000 0.0000000 0.00000000 1.26289524 0.0000000 1.0000000 0.00000000 0.50515809 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 12.31328300 -0.0957574 0.0000000 4.30026200 -0.1647509 0.0000000 1.64902000 -0.0985140 0.0000000 0.65370800 0.0000000 -0.0220365 a 24 $ CHROMIUM (6s,4p,2d,3f,2g) $ S-TYPE FUNCTIONS 16 6 0 12542.69720 1.9396609 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 4376.16594000 4.0778787 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1604.41232000 12.0402822 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 617.25050900 20.9147108 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 248.76503200 14.5667269 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 104.80967800 -3.4812130 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 46.05014500 6.2060873 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 21.03946300 16.7846463 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 9.96292800 -1.0008852 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 4.87169800 -1.6219546 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2.44979600 0.0000000 3.9868067 0.00000000 0.00000000 0.00000000 0.00000000 1.26120300 0.0000000 1.3391650 0.00000000 0.00000000 0.00000000 0.00000000 0.66152600 0.0000000 0.0000000 0.42233673 0.00000000 0.00000000 0.00000000 0.35171700 0.0000000 0.0000000 0.00000000 0.06953542 0.00000000 0.00000000 0.18854200 0.0000000 0.0000000 0.00000000 0.00000000 0.11045773 0.00000000 0.10134900 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.06065213 $ P-TYPE FUNCTIONS 4 4 0 2.72072805 1.0000000 0.0000000 0.00000000 0.00000000 1.01945745 0.0000000 1.0000000 0.00000000 0.00000000 0.41320422 0.0000000 0.0000000 1.00000000 0.00000000 0.17216843 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 2 0 7.57893200 0.1489407 0.0000000 2.80421000 0.2705603 0.0000000 1.10908900 0.1321729 0.0000000 0.44897200 0.0000000 0.0171928 $ F-TYPE FUNCTIONS 3 3 0 2.85945066 1.0000000 0.0000000 0.00000000 1.09978872 0.0000000 1.0000000 0.00000000 0.43991549 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 13.47992400 0.1144008 0.0000000 4.61635800 0.1874981 0.0000000 1.70714600 0.1012925 0.0000000 0.64856900 0.0000000 0.0146129 a 25 $ MANGANESE (6s,4p,2d,3f,2g) $ S-TYPE FUNCTIONS 16 6 0 12991.43000 2.1869522 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 4434.44278000 4.8412089 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1593.83118000 14.1058372 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 602.40907900 23.3247601 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 239.03319800 12.9038948 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 99.36791000 -4.8140484 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 43.16958700 11.5963167 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 19.54268700 15.5280789 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 9.18750300 -4.5682216 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 4.46837200 1.3277938 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2.23859300 0.0000000 3.9064186 0.00000000 0.00000000 0.00000000 0.00000000 1.14980900 0.0000000 1.1336210 0.00000000 0.00000000 0.00000000 0.00000000 0.60240200 0.0000000 0.0000000 0.13304378 0.00000000 0.00000000 0.00000000 0.32018600 0.0000000 0.0000000 0.00000000 0.06667091 0.00000000 0.00000000 0.17167900 0.0000000 0.0000000 0.00000000 0.00000000 0.07742915 0.00000000 0.09232200 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.04330246 $ P-TYPE FUNCTIONS 4 4 0 2.90306049 1.0000000 0.0000000 0.00000000 0.00000000 1.08777746 0.0000000 1.0000000 0.00000000 0.00000000 0.44089553 0.0000000 0.0000000 1.00000000 0.00000000 0.18370647 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 2 0 20.55459100 -0.0157867 0.0000000 6.38583200 0.0069924 0.0000000 2.28018900 0.0101476 0.0000000 0.85683700 0.0000000 -0.0161030 $ F-TYPE FUNCTIONS 3 3 0 4.38661677 1.0000000 0.0000000 0.00000000 1.68716030 0.0000000 1.0000000 0.00000000 0.67486412 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 21.38616900 0.0663616 0.0000000 7.23747200 0.1438441 0.0000000 2.56798000 0.0925229 0.0000000 0.92612300 0.0000000 0.0235787 a 26 $ IRON (6s,4p,2d,3f,2g) $ S-TYPE FUNCTIONS 16 6 0 13280.74690 2.4941590 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 4555.93194000 5.3913269 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1645.24364000 15.5768087 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 624.60170900 24.8296595 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 248.86609300 12.5990020 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 103.85349100 -5.2709326 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 45.27861300 13.8443326 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 20.56439300 15.4918296 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 9.69677400 -5.5202900 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 4.72897700 2.2952655 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2.37510000 0.0000000 4.1161824 0.00000000 0.00000000 0.00000000 0.00000000 1.22274400 0.0000000 1.2324592 0.00000000 0.00000000 0.00000000 0.00000000 0.64199200 0.0000000 0.0000000 0.12922793 0.00000000 0.00000000 0.00000000 0.34192300 0.0000000 0.0000000 0.00000000 0.09483559 0.00000000 0.00000000 0.18369300 0.0000000 0.0000000 0.00000000 0.00000000 0.07609497 0.00000000 0.09897400 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.04546964 $ P-TYPE FUNCTIONS 4 4 0 3.08055495 1.0000000 0.0000000 0.00000000 0.00000000 1.15428468 0.0000000 1.0000000 0.00000000 0.00000000 0.46785209 0.0000000 0.0000000 1.00000000 0.00000000 0.19493837 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 2 0 10.08270200 0.0511318 0.0000000 4.06361600 0.0838745 0.0000000 1.67243900 0.0604216 0.0000000 0.69321000 0.0000000 0.0151585 $ F-TYPE FUNCTIONS 3 3 0 0.73048786 1.0000000 0.0000000 0.00000000 1.82621966 0.0000000 1.0000000 0.00000000 4.74817111 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 18.28354900 0.0835378 0.0000000 6.21035900 0.1425065 0.0000000 2.26352000 0.0795757 0.0000000 0.84558000 0.0000000 0.0188014 a 27 $ COBALT (6s,4p,3d,3f,2g) $ S-TYPE FUNCTIONS 16 6 0 14890.77660 2.5200848 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 5011.33863000 5.7616179 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1782.88257000 16.6061460 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 669.72941400 26.6472668 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 265.21018400 12.9329970 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 110.48771900 -5.6001249 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 48.30408300 15.4643586 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 22.09487400 15.9290012 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 10.53649900 -6.1526433 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 5.21698300 2.6578995 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2.66959900 0.0000000 4.4696277 0.00000000 0.00000000 0.00000000 0.00000000 1.40454700 0.0000000 1.5020471 0.00000000 0.00000000 0.00000000 0.00000000 0.75552100 0.0000000 0.0000000 0.21192488 0.00000000 0.00000000 0.00000000 0.41301100 0.0000000 0.0000000 0.00000000 0.11055689 0.00000000 0.00000000 0.22800000 0.0000000 0.0000000 0.00000000 0.00000000 0.10416493 0.00000000 0.12628000 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.05825387 $ P-TYPE FUNCTIONS 4 4 0 3.23825416 1.0000000 0.0000000 0.00000000 0.00000000 1.21337461 0.0000000 1.0000000 0.00000000 0.00000000 0.49180229 0.0000000 0.0000000 1.00000000 0.00000000 0.20491762 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 3 0 10.70510200 0.0731129 0.0000000 0.00000000 4.05188000 0.1237155 0.0000000 0.00000000 1.54112500 0.0000000 0.0541679 0.00000000 0.58712000 0.0000000 0.0000000 0.00611389 $ F-TYPE FUNCTIONS 3 3 0 0.80030020 1.0000000 0.0000000 0.00000000 2.00075049 0.0000000 1.0000000 0.00000000 5.20195127 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 20.35036100 0.1489197 0.0000000 6.89038800 0.2481837 0.0000000 2.51199000 0.1307513 0.0000000 0.93981600 0.0000000 0.0273915 a 28 $ NICKEL (7s,4p,2d,3f,2g) $ S-TYPE FUNCTIONS 17 7 0 16946.51430 2.5386398 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6055.90923000 4.7829745 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2273.44576000 14.6731908 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 895.60244800 25.1089197 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 369.71209300 20.1545209 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 159.65513500 -3.6146021 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71.97400400 5.0367018 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 33.78971500 22.3492006 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.47345300 2.2170201 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.31342500 -4.8724037 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.32716600 0.0000000 6.3784079 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.31378600 0.0000000 2.7051744 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.26547100 0.0000000 0.0000000 1.63803373 0.00000000 0.00000000 0.00000000 0.00000000 0.70463900 0.0000000 0.0000000 0.00000000 0.25608636 0.00000000 0.00000000 0.00000000 0.39749300 0.0000000 0.0000000 0.00000000 0.00000000 0.33711354 0.00000000 0.00000000 0.22600400 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 -0.03222894 0.00000000 0.12884000 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.09290945 $ P-TYPE FUNCTIONS 4 4 0 3.37469360 1.0000000 0.0000000 0.00000000 0.00000000 1.26449850 0.0000000 1.0000000 0.00000000 0.00000000 0.51252371 0.0000000 0.0000000 1.00000000 0.00000000 0.21355155 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 2 0 11.63109000 -0.0761094 0.0000000 4.34717200 -0.1105237 0.0000000 1.65023900 -0.0600777 0.0000000 0.62974000 0.0000000 -0.0070971 $ F-TYPE FUNCTIONS 3 3 0 0.87471844 1.0000000 0.0000000 0.00000000 2.18679609 0.0000000 1.0000000 0.00000000 5.68566983 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 22.51733700 0.1455880 0.0000000 7.62090900 0.2432443 0.0000000 2.70958300 0.1231351 0.0000000 0.97988400 0.0000000 0.0212353 a 29 $ COPPER (7s,4p,2d,3f,2g) $ S-TYPE FUNCTIONS 17 7 0 18942.62600 2.5707580 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6692.60718000 4.9308786 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2487.16950000 15.4159538 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 971.19106400 26.5746865 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 397.92066100 21.5879180 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 170.78102600 -4.1487355 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 76.61888700 6.0728494 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.84420500 23.7402827 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.43598000 1.2924812 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.79010800 -4.5333931 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.57569200 0.0000000 7.0088763 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.44935700 0.0000000 2.8931142 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.34224700 0.0000000 0.0000000 1.73720863 0.00000000 0.00000000 0.00000000 0.00000000 0.74938200 0.0000000 0.0000000 0.00000000 0.11792364 0.00000000 0.00000000 0.00000000 0.42407900 0.0000000 0.0000000 0.00000000 0.00000000 0.16411050 0.00000000 0.00000000 0.24196400 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.05878702 0.00000000 0.13843600 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.08675038 $ P-TYPE FUNCTIONS 4 4 0 3.43520112 73.0169569 0.0000000 0.00000000 0.00000000 1.28717068 0.0000000 9.7254633 0.00000000 0.00000000 0.52171315 0.0000000 0.0000000 1.75088628 0.00000000 0.21738048 0.0000000 0.0000000 0.00000000 0.02089881 $ D-TYPE FUNCTIONS 4 2 0 12.65447700 0.0873542 0.0000000 4.69589900 0.1249744 0.0000000 1.76481900 0.0607547 0.0000000 0.66609000 0.0000000 0.0057539 $ F-TYPE FUNCTIONS 3 3 0 5.05414019 0.3158590 0.0000000 0.00000000 1.94390007 0.0000000 -0.0015524 0.00000000 0.77756003 0.0000000 0.0000000 0.00424752 $ G-TYPE FUNCTIONS 4 2 0 23.21669200 0.1301442 0.0000000 7.84863100 0.1976526 0.0000000 2.78019800 0.0896906 0.0000000 1.00077500 0.0000000 0.0122314 a 30 $ ZINC (7s,4p,2d,3f,2g) $ S-TYPE FUNCTIONS 17 7 0 18187.96560 3.0978006 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6792.96241000 4.9772970 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2648.30444000 15.8076964 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1076.40227000 26.3790367 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 455.44819800 23.6090845 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 200.26674600 -2.4672813 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 91.33008800 2.6392964 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.09840000 25.1044859 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.99096500 5.4683624 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.52165500 -6.6453201 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.41065700 0.0000000 7.4686302 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.84477300 0.0000000 3.8862164 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.52366000 0.0000000 0.0000000 2.04483011 0.00000000 0.00000000 0.00000000 0.00000000 0.82811000 0.0000000 0.0000000 0.00000000 0.15064812 0.00000000 0.00000000 0.00000000 0.45487200 0.0000000 0.0000000 0.00000000 0.00000000 0.34323380 0.00000000 0.00000000 0.25146300 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 -0.01867062 0.00000000 0.13931300 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.09296290 $ P-TYPE FUNCTIONS 4 4 0 3.74062853 -0.0303658 0.0000000 0.00000000 0.00000000 1.40161441 0.0000000 0.0253038 0.00000000 0.00000000 0.56809922 0.0000000 0.0000000 -0.00904182 0.00000000 0.23670801 0.0000000 0.0000000 0.00000000 0.01141149 $ D-TYPE FUNCTIONS 4 2 0 13.67786400 -0.0078532 0.0000000 5.04462600 0.0292652 0.0000000 1.87939900 -0.0228386 0.0000000 0.70244000 0.0000000 0.0070931 $ F-TYPE FUNCTIONS 3 3 0 6.75682588 0.0025419 0.0000000 0.00000000 2.59877918 0.0000000 0.0005340 0.00000000 1.03951167 0.0000000 0.0000000 -0.00139947 $ G-TYPE FUNCTIONS 4 2 0 23.91604700 -0.0029283 0.0000000 8.07635300 -0.0073989 0.0000000 2.85081300 0.0010622 0.0000000 1.02166600 0.0000000 -0.0019394 a 31 $ GALLIUM (6s,4p,2d,1f) $ S-TYPE FUNCTIONS 16 6 0 17947.03950 3.5743034 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 7922.16536000 3.3937289 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 3518.77746000 11.9114220 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1571.99720000 22.0500465 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 706.05046000 27.2397547 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 318.67834200 11.3882586 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 144.48013400 -7.6041313 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 65.76665900 20.9801721 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 30.04321200 18.8609233 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 13.76666100 -8.4642883 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 6.32483700 0.0000000 7.2309280 0.00000000 0.00000000 0.00000000 0.00000000 2.91208300 0.0000000 6.2095866 0.00000000 0.00000000 0.00000000 0.00000000 1.34303100 0.0000000 0.0000000 0.73875466 0.00000000 0.00000000 0.00000000 0.62013800 0.0000000 0.0000000 0.00000000 0.16607840 0.00000000 0.00000000 0.28655200 0.0000000 0.0000000 0.00000000 0.00000000 0.25908435 0.00000000 0.13244100 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.02963249 $ P-TYPE FUNCTIONS 4 4 0 1.90022400 0.0114963 0.0000000 0.00000000 0.00000000 0.72099400 0.0000000 -0.0112123 0.00000000 0.00000000 0.29380300 0.0000000 0.0000000 -0.01881965 0.00000000 0.12275100 0.0000000 0.0000000 0.00000000 0.01281854 $ D-TYPE FUNCTIONS 4 2 0 4.45194400 0.0262801 0.0000000 1.56407300 -0.0328621 0.0000000 0.59838600 0.0331426 0.0000000 0.23592900 0.0000000 0.0180242 $ F-TYPE FUNCTIONS 1 1 0 0.37858500 0.0102352 a 32 $ GERMANIUM (6s,4p,2d,1f,1g) $ S-TYPE FUNCTIONS 16 6 0 19411.27560 3.7093713 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 8687.03880000 3.2954818 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 3898.10051000 11.9600561 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1753.53519000 22.3669845 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 790.62781000 28.6681519 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 357.22447800 13.7076609 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 161.70993400 -8.3100859 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 73.32851700 20.8135305 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 33.30149500 21.4793389 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 15.14337500 -9.3734214 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 6.89386800 0.0000000 8.2086493 0.00000000 0.00000000 0.00000000 0.00000000 3.14121300 0.0000000 6.9938464 0.00000000 0.00000000 0.00000000 0.00000000 1.43231600 0.0000000 0.0000000 0.50763304 0.00000000 0.00000000 0.00000000 0.65343000 0.0000000 0.0000000 0.00000000 0.18920648 0.00000000 0.00000000 0.29818900 0.0000000 0.0000000 0.00000000 0.00000000 0.28802491 0.00000000 0.13609100 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.08079445 $ P-TYPE FUNCTIONS 4 4 0 2.98062086 1.0000000 0.0000000 0.00000000 0.00000000 1.11683935 0.0000000 1.0000000 0.00000000 0.00000000 0.45267483 0.0000000 0.0000000 1.00000000 0.00000000 0.18861451 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 9.39473000 -0.0232603 0.0000000 3.21049900 0.0078339 0.0000000 1.18694500 0.0082328 0.0000000 0.46148800 -0.0473764 0.0000000 0.18257100 0.0000000 -0.0185592 $ F-TYPE FUNCTIONS 1 1 0 0.44931500 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.49200000 1.0000000 a 33 $ ARSENIC (6s,4p,2d,1f,1g) $ S-TYPE FUNCTIONS 16 6 0 29520.49350 2.3948601 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 12150.79500 3.4244738 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 5085.99345000 10.5102384 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2162.75739000 22.6589532 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 933.35966000 31.5940658 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 408.34374900 17.3438388 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 180.90225000 -8.7862694 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 81.05669800 20.5693913 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 36.68833600 24.1633034 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 16.75373600 -10.3429893 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 7.70859500 0.0000000 8.5332454 0.00000000 0.00000000 0.00000000 0.00000000 3.56895400 0.0000000 8.2514616 0.00000000 0.00000000 0.00000000 0.00000000 1.66042700 0.0000000 0.0000000 0.27797924 0.00000000 0.00000000 0.00000000 0.77520200 0.0000000 0.0000000 0.00000000 0.21885509 0.00000000 0.00000000 0.36267800 0.0000000 0.0000000 0.00000000 0.00000000 0.45559282 0.00000000 0.16979800 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.11565690 $ P-TYPE FUNCTIONS 4 4 0 3.75204767 1.0000000 0.0000000 0.00000000 0.00000000 1.40589316 0.0000000 1.0000000 0.00000000 0.00000000 0.56983348 0.0000000 0.0000000 1.00000000 0.00000000 0.23743062 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 14.40813800 0.0053787 0.0000000 4.75934700 0.0009926 0.0000000 1.69657350 -0.0045065 0.0000000 0.63516400 0.0119825 0.0000000 0.24197950 0.0000000 0.0118479 $ F-TYPE FUNCTIONS 1 1 0 0.53515982 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.58600000 1.0000000 a 34 $ SELENIUM (6s,4p,2d,1f,1g) $ S-TYPE FUNCTIONS 16 6 0 28424.07940 2.9009773 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 11965.44300 3.5504131 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 5109.12776000 11.6734971 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2210.86522000 23.7222947 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 968.68087300 32.7407785 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 429.33047100 17.2858406 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 192.29577600 -9.0727913 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 86.95112300 21.2940426 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 39.65110900 25.9200243 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 18.21568800 -11.4028431 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 8.42113600 0.0000000 9.3537013 0.00000000 0.00000000 0.00000000 0.00000000 3.91332900 0.0000000 9.2783593 0.00000000 0.00000000 0.00000000 0.00000000 1.82591500 0.0000000 0.0000000 -0.11953816 0.00000000 0.00000000 0.00000000 0.85442700 0.0000000 0.0000000 0.00000000 0.36555754 0.00000000 0.00000000 0.40052300 0.0000000 0.0000000 0.00000000 0.00000000 0.57919518 0.00000000 0.18786000 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.13324768 $ P-TYPE FUNCTIONS 4 4 0 4.45082971 1.0000000 0.0000000 0.00000000 0.00000000 1.66772696 0.0000000 1.0000000 0.00000000 0.00000000 0.67595937 0.0000000 0.0000000 1.00000000 0.00000000 0.28164974 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 19.42154600 0.0112297 0.0000000 6.30819500 0.0261954 0.0000000 2.20620200 -0.0389403 0.0000000 0.80884000 0.0635708 0.0000000 0.30138800 0.0000000 0.0342123 $ F-TYPE FUNCTIONS 1 1 0 0.61735160 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.67600000 1.0000000 a 35 $ BROMINE (6s,4p,2d,1f,1g) $ S-TYPE FUNCTIONS 16 6 0 30913.13860 2.9240025 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 10271.90370 7.0592487 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 3613.36292000 21.3032000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1344.06976000 38.7037075 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 527.84275700 25.7724931 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 218.41776900 -8.8049695 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 94.99162700 20.5023810 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 43.28901600 29.2761036 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 20.59684200 -12.7127714 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 10.18912700 7.1433738 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 5.21576200 0.0000000 11.0417160 0.00000000 0.00000000 0.00000000 0.00000000 2.74810400 0.0000000 2.4440798 0.00000000 0.00000000 0.00000000 0.00000000 1.48167900 0.0000000 0.0000000 -1.22802368 0.00000000 0.00000000 0.00000000 0.81239200 0.0000000 0.0000000 0.00000000 1.12822095 0.00000000 0.00000000 0.44999900 0.0000000 0.0000000 0.00000000 0.00000000 0.34099040 0.00000000 0.25011800 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.28184906 $ P-TYPE FUNCTIONS 4 4 0 5.24719287 1.0000000 0.0000000 0.00000000 0.00000000 1.96612443 0.0000000 1.0000000 0.00000000 0.00000000 0.79690517 0.0000000 0.0000000 1.00000000 0.00000000 0.33204382 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 7.98887400 -0.0551292 0.0000000 3.34200800 0.0578801 0.0000000 1.45718400 -0.0278269 0.0000000 0.65190000 -0.0649049 0.0000000 0.29419300 0.0000000 -0.0191143 $ F-TYPE FUNCTIONS 1 1 0 0.71050228 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.77800000 1.0000000 a 36 $ KRYPTON (7s,4p,2d,1f,1g) $ S-TYPE FUNCTIONS 17 7 0 28150.84840 3.8032489 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12247.09120 3.6959640 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5379.15537000 13.6247002 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2383.88443000 25.6419144 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1065.34302000 35.2484091 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 479.80337400 18.0240420 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 217.63898400 -9.8402094 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 99.36504600 23.1400585 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 45.63232300 29.3792225 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.06526200 -13.9890820 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.76844300 0.0000000 11.9995444 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.54729100 0.0000000 11.0351514 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.12349100 0.0000000 0.0000000 -1.50376854 0.00000000 0.00000000 0.00000000 0.00000000 0.99407000 0.0000000 0.0000000 0.00000000 1.07556113 0.00000000 0.00000000 0.00000000 0.46617400 0.0000000 0.0000000 0.00000000 0.00000000 0.79834999 0.00000000 0.00000000 0.21884700 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.15068445 0.00000000 0.10277400 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00633131 $ P-TYPE FUNCTIONS 4 4 0 6.11829760 -0.0098315 0.0000000 0.00000000 0.00000000 2.29252760 0.0000000 0.0211942 0.00000000 0.00000000 0.92920210 0.0000000 0.0000000 -0.02917046 0.00000000 0.38716750 0.0000000 0.0000000 0.00000000 0.01858504 $ D-TYPE FUNCTIONS 5 2 0 64.08916900 0.0011536 0.0000000 16.57496300 -0.0022297 0.0000000 4.77871230 -0.0000613 0.0000000 1.47964920 0.0008213 0.0000000 0.46972993 0.0000000 -0.0079807 $ F-TYPE FUNCTIONS 1 1 0 0.80900000 0.0029252 $ G-TYPE FUNCTIONS 1 1 0 0.88600000 0.0027394 a 37 $ RUBIDIUM (5s,2p,2d) $ S-TYPE FUNCTIONS 8 5 0 10.88721500 -0.1550225 0.0000000 0.00000000 0.00000000 0.00000000 4.96476100 1.1380053 0.0000000 0.00000000 0.00000000 0.00000000 2.30007300 -3.1188965 0.0000000 0.00000000 0.00000000 0.00000000 1.07964500 2.0133893 0.0000000 0.00000000 0.00000000 0.00000000 0.51203800 0.0000000 1.2660597 0.00000000 0.00000000 0.00000000 0.24465500 0.0000000 0.0000000 0.03949840 0.00000000 0.00000000 0.11742400 0.0000000 0.0000000 0.00000000 0.00608859 0.00000000 0.05644300 0.0000000 0.0000000 0.00000000 0.00000000 0.04913786 $ P-TYPE FUNCTIONS 4 2 0 0.55527200 -0.0120675 0.0000000 0.26911800 0.0151725 0.0000000 0.13101800 0.0002660 0.0000000 0.63880000 0.0000000 -0.0123742 $ D-TYPE FUNCTIONS 4 2 0 0.71644000 -0.0006631 0.0000000 0.35493700 0.0006181 0.0000000 0.17882000 -0.0025823 0.0000000 0.90602000 0.0000000 0.0038291 a 38 $ STRONTIUM (6s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 9 6 0 10.83291800 -0.1783549 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 5.30735600 1.2533095 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2.67182100 -2.9751030 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.37712900 1.3391639 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.72393900 0.0000000 1.3936242 0.00000000 0.00000000 0.00000000 0.00000000 0.38655000 0.0000000 0.0000000 0.07821836 0.00000000 0.00000000 0.00000000 0.20874400 0.0000000 0.0000000 0.00000000 0.03275285 0.00000000 0.00000000 0.11350000 0.0000000 0.0000000 0.00000000 0.00000000 0.03654871 0.00000000 0.06185400 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.02334212 $ P-TYPE FUNCTIONS 3 3 0 0.40474300 -0.0400370 0.0000000 0.00000000 0.20063900 0.0000000 0.0251461 0.00000000 0.99471000 0.0000000 0.0000000 -0.01540285 $ D-TYPE FUNCTIONS 3 3 0 2.58535000 -0.0036390 0.0000000 0.00000000 1.31445900 0.0000000 0.0094867 0.00000000 0.67532800 0.0000000 0.0000000 -0.00285307 $ F-TYPE FUNCTIONS 2 2 0 2.98165600 0.0001965 0.0000000 1.07396400 0.0000000 -0.0158315 $ G-TYPE FUNCTIONS 1 1 0 0.16663500 1.0000000 a 39 $ YTTRIUM (6s,4p,2d,3f,2g) $ S-TYPE FUNCTIONS 8 6 0 41.82785700 0.0329031 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 16.45595200 -0.1892790 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 6.65591900 0.9558907 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2.75542000 0.0000000 -2.8303194 0.00000000 0.00000000 0.00000000 0.00000000 1.16194200 0.0000000 0.0000000 2.53918347 0.00000000 0.00000000 0.00000000 0.49659200 0.0000000 0.0000000 0.00000000 0.56238486 0.00000000 0.00000000 0.21396500 0.0000000 0.0000000 0.00000000 0.00000000 0.03494306 0.00000000 0.09244200 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.09290730 $ P-TYPE FUNCTIONS 4 4 0 1.04725300 1.0000000 0.0000000 0.00000000 0.00000000 0.39240600 0.0000000 1.0000000 0.00000000 0.00000000 0.15904900 0.0000000 0.0000000 1.00000000 0.00000000 0.06627000 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 2 0 0.70489200 0.0523833 0.0000000 0.29808500 0.0242510 0.0000000 0.15582900 0.0120816 0.0000000 0.88424000 0.0000000 0.0042724 $ F-TYPE FUNCTIONS 3 3 0 0.80572400 1.0000000 0.0000000 0.00000000 0.30989300 0.0000000 1.0000000 0.00000000 0.12395700 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 1.48272800 0.0557497 0.0000000 0.63035300 0.0522991 0.0000000 0.29653300 0.0219696 0.0000000 0.14463300 0.0000000 0.0117473 a 40 $ ZIRCONIUM (6s,4p,2d,3f,2g) $ S-TYPE FUNCTIONS 10 6 0 10.74989000 -0.3395077 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 5.93450400 2.2744591 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 3.33296000 -4.6273926 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.90042600 1.5098773 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.09777800 1.5782006 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.64098800 0.0000000 0.7716824 0.00000000 0.00000000 0.00000000 0.00000000 0.37744500 0.0000000 0.0000000 -0.00557439 0.00000000 0.00000000 0.00000000 0.22361300 0.0000000 0.0000000 0.00000000 0.14793936 0.00000000 0.00000000 0.13296400 0.0000000 0.0000000 0.00000000 0.00000000 0.04713271 0.00000000 0.07915900 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.03275600 $ P-TYPE FUNCTIONS 4 4 0 1.10113093 1.0000000 0.0000000 0.00000000 0.00000000 0.41259402 0.0000000 1.0000000 0.00000000 0.00000000 0.16723169 0.0000000 0.0000000 1.00000000 0.00000000 0.06967987 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 2 0 6.03691800 0.0040862 0.0000000 1.91978700 -0.0029331 0.0000000 0.65196100 -0.0388482 0.0000000 0.22653400 0.0000000 -0.0138632 $ F-TYPE FUNCTIONS 3 3 0 1.07914340 1.0000000 0.0000000 0.00000000 0.41505510 0.0000000 1.0000000 0.00000000 0.16602200 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 1.78910400 0.0529532 0.0000000 0.76647400 0.0491877 0.0000000 0.38910700 0.0152577 0.0000000 0.21051300 0.0000000 0.0068161 a 41 $ NIOBIUM (6s,4p,3d,3f,2g) $ S-TYPE FUNCTIONS 8 6 0 14.03069900 -0.2894649 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 6.96646800 1.9276453 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 3.45902700 -4.6795994 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.71751900 0.0000000 2.7500630 0.00000000 0.00000000 0.00000000 0.00000000 0.85281400 0.0000000 0.0000000 1.50617305 0.00000000 0.00000000 0.00000000 0.42345800 0.0000000 0.0000000 0.00000000 0.15601743 0.00000000 0.00000000 0.21026600 0.0000000 0.0000000 0.00000000 0.00000000 0.16076931 0.00000000 0.10440700 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.06713316 $ P-TYPE FUNCTIONS 4 4 0 1.25512500 1.0000000 0.0000000 0.00000000 0.00000000 0.47029560 0.0000000 1.0000000 0.00000000 0.00000000 0.19061910 0.0000000 0.0000000 1.00000000 0.00000000 0.07942460 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 3 0 3.08562300 -0.0185113 0.0000000 0.00000000 1.05246100 0.1209116 0.0000000 0.00000000 0.39716900 0.0000000 0.0757589 0.00000000 0.15539100 0.0000000 0.0000000 0.02068307 $ F-TYPE FUNCTIONS 3 3 0 1.30707500 1.0000000 0.0000000 0.00000000 0.50272100 0.0000000 1.0000000 0.00000000 0.20108800 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 1.82957300 0.0235860 0.0000000 0.90927900 0.0166337 0.0000000 0.50606800 0.0040018 0.0000000 0.29337800 0.0000000 0.0080890 a 42 $ MOLYBDENUM (7s,4p,3d,3f,2g) $ S-TYPE FUNCTIONS 9 7 0 15.33762300 -0.3175793 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.40356400 2.2222346 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.70217700 -5.4128544 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.90934600 0.0000000 2.8582041 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.01065200 0.0000000 0.0000000 1.78337800 0.00000000 0.00000000 0.00000000 0.00000000 0.54614400 0.0000000 0.0000000 0.00000000 0.44343765 0.00000000 0.00000000 0.00000000 0.29960400 0.0000000 0.0000000 0.00000000 0.00000000 0.13958103 0.00000000 0.00000000 0.16586700 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.09434626 0.00000000 0.09210900 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.02781279 $ P-TYPE FUNCTIONS 4 4 0 1.33368000 1.0000000 0.0000000 0.00000000 0.00000000 0.49973000 0.0000000 1.0000000 0.00000000 0.00000000 0.20254900 0.0000000 0.0000000 1.00000000 0.00000000 0.08439500 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 3 0 3.53498600 -0.0272750 0.0000000 0.00000000 1.16073500 0.1647094 0.0000000 0.00000000 0.43220400 0.0000000 0.1054537 0.00000000 0.16845700 0.0000000 0.0000000 0.04055851 $ F-TYPE FUNCTIONS 3 3 0 1.52806800 1.0000000 0.0000000 0.00000000 0.58771800 0.0000000 1.0000000 0.00000000 0.23508700 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 2.11736400 -0.0588987 0.0000000 0.83902200 -0.0373202 0.0000000 0.39455600 -0.0094064 0.0000000 0.19785900 0.0000000 -0.0027120 a 43 $ TECHNETIUM (6s,4p,3d,3f,2g) $ S-TYPE FUNCTIONS 8 6 0 16.90367600 -0.3797807 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 8.24188600 2.4747037 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 4.01858600 -6.1005274 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.95938900 0.0000000 3.8858804 0.00000000 0.00000000 0.00000000 0.00000000 0.95536400 0.0000000 0.0000000 1.67737847 0.00000000 0.00000000 0.00000000 0.46582000 0.0000000 0.0000000 0.00000000 0.24501537 0.00000000 0.00000000 0.22712600 0.0000000 0.0000000 0.00000000 0.00000000 0.19970663 0.00000000 0.11074300 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.06554865 $ P-TYPE FUNCTIONS 4 4 0 1.40598420 1.0000000 0.0000000 0.00000000 0.00000000 0.52682260 0.0000000 1.0000000 0.00000000 0.00000000 0.21353050 0.0000000 0.0000000 1.00000000 0.00000000 0.08897100 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 3 0 4.13460800 -0.0024368 0.0000000 0.00000000 1.47430950 0.0142781 0.0000000 0.00000000 0.58566900 0.0000000 0.0052373 0.00000000 0.24199200 0.0000000 0.0000000 -0.04966250 $ F-TYPE FUNCTIONS 3 3 0 1.77819230 1.0000000 0.0000000 0.00000000 0.68392011 0.0000000 1.0000000 0.00000000 0.27356804 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 4.92181100 0.0072713 0.0000000 1.97809500 0.0283253 0.0000000 0.93100100 0.0078163 0.0000000 0.46467700 0.0000000 0.0051616 a 44 $ RUTHENIUM (7s,4p,3d,3f,2g) $ S-TYPE FUNCTIONS 9 7 0 15.19520800 -0.6028798 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.28960000 3.7867794 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.53236300 -7.8231403 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.48275200 0.0000000 3.1248453 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.36211000 0.0000000 0.0000000 2.59685442 0.00000000 0.00000000 0.00000000 0.00000000 0.74819100 0.0000000 0.0000000 0.00000000 0.87227027 0.00000000 0.00000000 0.00000000 0.41132600 0.0000000 0.0000000 0.00000000 0.00000000 0.19647367 0.00000000 0.00000000 0.22624800 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.17941273 0.00000000 0.12446800 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.04182009 $ P-TYPE FUNCTIONS 4 4 0 1.50156413 1.0000000 0.0000000 0.00000000 0.00000000 0.56263644 0.0000000 1.0000000 0.00000000 0.00000000 0.22804654 0.0000000 0.0000000 1.00000000 0.00000000 0.09501939 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 3 0 4.73423000 0.0296814 0.0000000 0.00000000 1.78788400 -0.1184429 0.0000000 0.00000000 0.73913400 0.0000000 -0.0659752 0.00000000 0.31552700 0.0000000 0.0000000 -0.01735939 $ F-TYPE FUNCTIONS 3 3 0 1.94722036 1.0000000 0.0000000 0.00000000 0.74893091 0.0000000 1.0000000 0.00000000 0.29957236 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 4.92181100 0.0072713 0.0000000 1.97809500 0.0283253 0.0000000 0.93100100 0.0078163 0.0000000 0.46467700 0.0000000 0.0051616 a 45 $ RHODIUM (7s,4p,4d,3f,2g) $ S-TYPE FUNCTIONS 9 7 0 49.26609900 0.1148288 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.43416400 -0.6499742 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.21581500 2.7837756 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.65197500 0.0000000 -6.7768092 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.11837500 0.0000000 0.0000000 4.76981380 0.00000000 0.00000000 0.00000000 0.00000000 0.96464800 0.0000000 0.0000000 0.00000000 1.87832183 0.00000000 0.00000000 0.00000000 0.43927400 0.0000000 0.0000000 0.00000000 0.00000000 0.28659559 0.00000000 0.00000000 0.20003300 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.15497931 0.00000000 0.09109000 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.04919477 $ P-TYPE FUNCTIONS 4 4 0 1.35321300 1.0000000 0.0000000 0.00000000 0.00000000 0.50704900 0.0000000 1.0000000 0.00000000 0.00000000 0.20551600 0.0000000 0.0000000 1.00000000 0.00000000 0.85631700 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 4.02852100 -0.0138702 0.0000000 0.00000000 0.00000000 1.97028500 0.0000000 0.0367272 0.00000000 0.00000000 1.02053200 0.0000000 0.0000000 0.04013199 0.00000000 0.53920900 0.0000000 0.0000000 0.00000000 0.02067993 $ F-TYPE FUNCTIONS 3 3 0 1.81364500 1.0000000 0.0000000 0.00000000 0.69755600 0.0000000 1.0000000 0.00000000 0.27902200 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 7.69775200 -0.0080008 0.0000000 2.79648100 -0.1367456 0.0000000 1.08253300 -0.0685356 0.0000000 0.42841800 0.0000000 -0.0086554 a 46 $ PALLADIUM (7s,4p,2d,3f,2g) $ S-TYPE FUNCTIONS 9 7 0 47.40047900 0.1350703 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.28690200 -0.8324541 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.59581000 3.6347223 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.08554100 0.0000000 1.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.46002200 0.0000000 0.0000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.19730000 0.0000000 0.0000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.58530000 0.0000000 0.0000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.28688300 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14074000 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 4 0 1.35810102 1.0000000 0.0000000 0.00000000 0.00000000 0.50888070 0.0000000 1.0000000 0.00000000 0.00000000 0.20625840 0.0000000 0.0000000 1.00000000 0.00000000 0.08594100 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 2 0 20.18775900 0.0040497 0.0000000 5.95347000 0.0064990 0.0000000 1.83022800 -0.0925022 0.0000000 0.57072700 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 2.02083610 1.0000000 0.0000000 0.00000000 0.77724469 0.0000000 1.0000000 0.00000000 0.31089787 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 17.67489300 0.0144292 0.0000000 6.22277800 -0.0471664 0.0000000 2.21906300 -0.1100288 0.0000000 0.79473700 0.0000000 1.0000000 a 47 $ SILVER (7s,4p,3d,3f,2g) $ S-TYPE FUNCTIONS 9 7 0 47.21941000 0.1636462 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.10538700 -1.0170222 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.30595100 4.3051959 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.53225200 0.0000000 -9.4629346 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.70705800 0.0000000 0.0000000 5.36740536 0.00000000 0.00000000 0.00000000 0.00000000 1.32462800 0.0000000 0.0000000 0.00000000 3.05628528 0.00000000 0.00000000 0.00000000 0.64817300 0.0000000 0.0000000 0.00000000 0.00000000 0.60501652 0.00000000 0.00000000 0.31716700 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.20914979 0.00000000 0.15519800 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.11094547 $ P-TYPE FUNCTIONS 4 4 0 1.43704200 1.0000000 0.0000000 0.00000000 0.00000000 0.53846000 0.0000000 1.0000000 0.00000000 0.00000000 0.21824700 0.0000000 0.0000000 1.00000000 0.00000000 0.09093600 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 3 0 6.88465200 0.0231641 0.0000000 0.00000000 2.74784400 -0.0835430 0.0000000 0.00000000 1.17620700 0.0000000 -0.0591754 0.00000000 0.51593400 0.0000000 0.0000000 -0.00536278 $ F-TYPE FUNCTIONS 3 3 0 2.24705400 1.0000000 0.0000000 0.00000000 0.86425100 0.0000000 1.0000000 0.00000000 0.34570000 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 4.27460000 -0.0797415 0.0000000 2.24974500 -0.0837676 0.0000000 1.37497400 -0.0096398 0.0000000 0.88807300 0.0000000 -0.0267549 a 48 $ CADMIUM (7s,4p,2d,3f,2g) $ S-TYPE FUNCTIONS 9 7 0 21.14263300 -0.7923391 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.20091500 5.1299229 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.93405700 -11.4029846 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.14378800 0.0000000 5.3481838 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.66554800 0.0000000 0.0000000 3.86811899 0.00000000 0.00000000 0.00000000 0.00000000 0.88239600 0.0000000 0.0000000 0.00000000 1.06112271 0.00000000 0.00000000 0.00000000 0.46748900 0.0000000 0.0000000 0.00000000 0.00000000 0.27967436 0.00000000 0.00000000 0.24767300 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.17595692 0.00000000 0.13121600 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.04701741 $ P-TYPE FUNCTIONS 4 4 0 1.79977520 1.0000000 0.0000000 0.00000000 0.00000000 0.67437620 0.0000000 1.0000000 0.00000000 0.00000000 0.27333660 0.0000000 0.0000000 1.00000000 0.00000000 0.11389020 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 2 0 7.66514000 -0.0110037 0.0000000 3.13853900 0.0508270 0.0000000 1.41790500 -0.0231150 0.0000000 0.65805000 0.0000000 -0.0259389 $ F-TYPE FUNCTIONS 3 3 0 2.82881830 1.0000000 0.0000000 0.00000000 1.08800700 0.0000000 1.0000000 0.00000000 0.43520280 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 4.64024000 -0.0030184 0.0000000 2.45274700 -0.0240124 0.0000000 1.64272200 0.0270385 0.0000000 1.17047400 0.0000000 -0.0179327 a 49 $ INDIUM (3s,3p,2d,1f,1g) $ S-TYPE FUNCTIONS 5 3 0 1.69909700 0.0697920 0.0000000 0.00000000 0.69409900 -0.2987100 0.0000000 0.00000000 0.32726700 0.2448989 0.0000000 0.00000000 0.17003600 0.0000000 0.0758073 0.00000000 0.91453000 0.0000000 0.0000000 0.04142471 $ P-TYPE FUNCTIONS 3 3 0 0.67553933 0.0076286 0.0000000 0.00000000 0.26967638 0.0000000 -0.0263554 0.00000000 0.11236516 0.0000000 0.0000000 -0.00955190 $ D-TYPE FUNCTIONS 3 2 0 0.77437400 -0.0094747 0.0000000 0.29466800 0.0298199 0.0000000 0.11278700 0.0000000 0.0143301 $ F-TYPE FUNCTIONS 1 1 0 0.29223700 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.32000000 1.0000000 a 50 $ TIN (4s,3p,3d,1f,1g) $ S-TYPE FUNCTIONS 5 4 0 1.63491000 0.1846298 0.0000000 0.00000000 0.00000000 0.83168600 -0.5670645 0.0000000 0.00000000 0.00000000 0.42971700 0.0000000 0.3275707 0.00000000 0.00000000 0.22413600 0.0000000 0.0000000 0.16911216 0.00000000 0.11727800 0.0000000 0.0000000 0.00000000 0.07906556 $ P-TYPE FUNCTIONS 4 3 0 2.06910300 -0.0121224 0.0000000 0.00000000 0.81552500 0.0089582 0.0000000 0.00000000 0.33501600 0.0000000 0.0197811 0.00000000 0.13959000 0.0000000 0.0000000 0.00261012 $ D-TYPE FUNCTIONS 4 3 0 2.66251200 -0.0012008 0.0000000 0.00000000 0.99654600 0.0142763 0.0000000 0.00000000 0.38945800 0.0000000 -0.0376545 0.00000000 0.15447600 0.0000000 0.0000000 -0.01771634 $ F-TYPE FUNCTIONS 1 1 0 0.36599900 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.36600000 1.0000000 a 51 $ ANTIMONY (5s,3p,3d,1f,1g) $ S-TYPE FUNCTIONS 6 5 0 4.39205500 -0.0566192 0.0000000 0.00000000 0.00000000 0.00000000 2.12273900 0.3339063 0.0000000 0.00000000 0.00000000 0.00000000 1.03467900 0.0000000 -0.7147555 0.00000000 0.00000000 0.00000000 0.50741500 0.0000000 0.0000000 0.28007239 0.00000000 0.00000000 0.24975600 0.0000000 0.0000000 0.00000000 0.35876247 0.00000000 0.12308500 0.0000000 0.0000000 0.00000000 0.00000000 0.06316576 $ P-TYPE FUNCTIONS 4 3 0 2.60080500 -0.0148714 0.0000000 0.00000000 0.97452200 0.0119925 0.0000000 0.00000000 0.39499100 0.0000000 0.0243887 0.00000000 0.16457900 0.0000000 0.0000000 -0.00514807 $ D-TYPE FUNCTIONS 4 3 0 3.12491550 0.0007882 0.0000000 0.00000000 1.16251550 -0.0058861 0.0000000 0.00000000 0.45341300 0.0000000 0.0127548 0.00000000 0.17974400 0.0000000 0.0000000 0.00856588 $ F-TYPE FUNCTIONS 1 1 0 0.38538813 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.42200000 1.0000000 a 52 $ TELLERIUM (4s,3p,3d,1f,1g) $ S-TYPE FUNCTIONS 5 4 0 1.96183700 0.3063062 0.0000000 0.00000000 0.00000000 0.98068100 -1.0429989 0.0000000 0.00000000 0.00000000 0.51982900 0.0000000 0.6453728 0.00000000 0.00000000 0.28590600 0.0000000 0.0000000 0.30511655 0.00000000 0.15924500 0.0000000 0.0000000 0.00000000 0.13872221 $ P-TYPE FUNCTIONS 4 3 0 2.94358500 0.0157397 0.0000000 0.00000000 1.10296200 -0.0145932 0.0000000 0.00000000 0.44705000 0.0000000 -0.0219249 0.00000000 0.18627000 0.0000000 0.0000000 0.00990156 $ D-TYPE FUNCTIONS 4 3 0 3.58731900 0.0035839 0.0000000 0.00000000 1.32848500 -0.0242315 0.0000000 0.00000000 0.51736800 0.0000000 0.0535437 0.00000000 0.20501200 0.0000000 0.0000000 0.02064165 $ F-TYPE FUNCTIONS 1 1 0 0.47399990 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.47400000 1.0000000 a 53 $ IODINE (3s,3p,2d,1f,1g) $ S-TYPE FUNCTIONS 5 3 0 7.49138900 -0.0562097 0.0000000 0.00000000 2.84432000 0.3726599 0.0000000 0.00000000 1.14374400 -1.1033838 0.0000000 0.00000000 0.47682200 0.0000000 0.9366085 0.00000000 0.20125100 0.0000000 0.0000000 0.29159711 $ P-TYPE FUNCTIONS 3 3 0 1.21957600 -0.0023289 0.0000000 0.00000000 0.48685600 0.0000000 -0.0189960 0.00000000 0.20285600 0.0000000 0.0000000 0.01322448 $ D-TYPE FUNCTIONS 3 2 0 1.46102300 0.0197603 0.0000000 0.54300200 -0.0645737 0.0000000 0.20230700 0.0000000 -0.0148298 $ F-TYPE FUNCTIONS 1 1 0 0.48584474 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.53200000 1.0000000 a 54 $ XENON (5s,3p,2d,1f,1g) $ S-TYPE FUNCTIONS 8 5 0 13.57009200 0.0257382 0.0000000 0.00000000 0.00000000 0.00000000 6.09401700 -0.2161318 0.0000000 0.00000000 0.00000000 0.00000000 2.93348100 0.9437476 0.0000000 0.00000000 0.00000000 0.00000000 1.50036800 -1.6888968 0.0000000 0.00000000 0.00000000 0.00000000 0.80660200 0.0000000 0.3131624 0.00000000 0.00000000 0.00000000 0.45006100 0.0000000 0.0000000 0.91731083 0.00000000 0.00000000 0.25696200 0.0000000 0.0000000 0.00000000 0.17208349 0.00000000 0.14785900 0.0000000 0.0000000 0.00000000 0.00000000 0.04586558 $ P-TYPE FUNCTIONS 3 3 0 1.21957600 1.0000000 0.0000000 0.00000000 0.48685600 0.0000000 1.0000000 0.00000000 0.20285600 0.0000000 0.0000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 1.46102300 0.0170703 0.0000000 0.54300200 -0.1055077 0.0000000 0.20230700 0.0000000 0.0031757 $ F-TYPE FUNCTIONS 1 1 0 0.48584474 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.53200000 1.0000000 a 55 $ CESIUM (5s,2p,2d) $ S-TYPE FUNCTIONS 9 5 0 14.75595800 0.0336058 0.0000000 0.00000000 0.00000000 0.00000000 6.78816300 -0.2440316 0.0000000 0.00000000 0.00000000 0.00000000 3.18164600 1.0519963 0.0000000 0.00000000 0.00000000 0.00000000 1.51543700 -2.2338004 0.0000000 0.00000000 0.00000000 0.00000000 0.73151900 1.2573491 0.0000000 0.00000000 0.00000000 0.00000000 0.35684400 0.0000000 0.7492696 0.00000000 0.00000000 0.00000000 0.17539800 0.0000000 0.0000000 -0.02904374 0.00000000 0.00000000 0.08660700 0.0000000 0.0000000 0.00000000 0.03485560 0.00000000 0.04283000 0.0000000 0.0000000 0.00000000 0.00000000 0.01806607 $ P-TYPE FUNCTIONS 4 2 0 0.43036400 -0.0116388 0.0000000 0.21296900 0.0148786 0.0000000 0.10601100 0.0001799 0.0000000 0.52874000 0.0000000 -0.0106745 $ D-TYPE FUNCTIONS 4 2 0 0.55135800 -0.0005100 0.0000000 0.27381600 0.0000345 0.0000000 0.13792100 -0.0018399 0.0000000 0.69803000 0.0000000 0.0034941 a 56 $ BARIUM (6s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 9 6 0 14.46717700 0.1309572 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 6.87517700 -0.7342738 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 3.37267400 2.3474749 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.70092800 -3.9248248 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.87798400 0.0000000 1.9350991 0.00000000 0.00000000 0.00000000 0.00000000 0.46163500 0.0000000 0.0000000 0.85711556 0.00000000 0.00000000 0.00000000 0.24599500 0.0000000 0.0000000 0.00000000 0.00116454 0.00000000 0.00000000 0.13215400 0.0000000 0.0000000 0.00000000 0.00000000 0.01251442 0.00000000 0.07119000 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.08940780 $ P-TYPE FUNCTIONS 3 3 0 0.27933200 -0.0328632 0.0000000 0.00000000 0.12683800 0.0000000 0.0152121 0.00000000 0.58468000 0.0000000 0.0000000 -0.00749833 $ D-TYPE FUNCTIONS 3 3 0 0.43408600 0.0016511 0.0000000 0.00000000 0.18961300 0.0000000 0.0015378 0.00000000 0.85481000 0.0000000 0.0000000 -0.00144012 $ F-TYPE FUNCTIONS 2 2 0 0.41739100 -0.0264558 0.0000000 0.23586500 0.0000000 0.0156937 $ G-TYPE FUNCTIONS 1 1 0 0.31062600 1.0000000 a 72 $ HAFNIUM (7s,4p,4d,3f,2g) $ S-TYPE FUNCTIONS 9 7 0 14.28920400 -0.5106433 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.24677900 2.6224791 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.75591600 -4.7261109 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.98350100 0.0000000 1.4151517 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.06397000 0.0000000 0.0000000 1.92691327 0.00000000 0.00000000 0.00000000 0.00000000 0.57779500 0.0000000 0.0000000 0.00000000 0.37621170 0.00000000 0.00000000 0.00000000 0.31657700 0.0000000 0.0000000 0.00000000 0.00000000 0.10023599 0.00000000 0.00000000 0.17438800 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.11545528 0.00000000 0.09623600 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.05736190 $ P-TYPE FUNCTIONS 4 4 0 1.27501370 1.0000000 0.0000000 0.00000000 0.00000000 0.47774793 0.0000000 1.0000000 0.00000000 0.00000000 0.19363973 0.0000000 0.0000000 1.00000000 0.00000000 0.08068322 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 4 0 2.17264400 0.0046753 0.0000000 0.00000000 0.00000000 0.94754700 -0.0253786 0.0000000 0.00000000 0.00000000 0.46691900 0.0000000 -0.0123271 0.00000000 0.00000000 0.24952600 0.0000000 0.0000000 -0.00510443 0.00000000 0.13721400 0.0000000 0.0000000 0.00000000 0.00862387 $ F-TYPE FUNCTIONS 3 3 0 0.95029816 1.0000000 0.0000000 0.00000000 0.36549929 0.0000000 1.0000000 0.00000000 0.14619972 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 1.54602800 0.0492168 0.0000000 0.69089500 0.0411395 0.0000000 0.32628000 0.0164493 0.0000000 0.15706000 0.0000000 0.0048986 a 73 $ TANTALUM (6s,4p,5d,3f,2g) $ S-TYPE FUNCTIONS 8 6 0 15.25329600 -0.5145393 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 7.53284400 2.6651192 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 3.72010400 -5.2830683 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.83718100 0.0000000 2.5814814 0.00000000 0.00000000 0.00000000 0.00000000 0.90729700 0.0000000 0.0000000 1.61517309 0.00000000 0.00000000 0.00000000 0.44807100 0.0000000 0.0000000 0.00000000 0.20312026 0.00000000 0.00000000 0.22128200 0.0000000 0.0000000 0.00000000 0.00000000 0.18830824 0.00000000 0.10928100 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.07608310 $ P-TYPE FUNCTIONS 4 4 0 1.50249580 1.0000000 0.0000000 0.00000000 0.00000000 0.56298550 0.0000000 1.0000000 0.00000000 0.00000000 0.22818800 0.0000000 0.0000000 1.00000000 0.00000000 0.09507835 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 3.19201600 -0.0021261 0.0000000 0.00000000 0.00000000 0.00000000 1.38529600 0.0000000 0.0214589 0.00000000 0.00000000 0.00000000 0.63081200 0.0000000 0.0000000 -0.01576802 0.00000000 0.00000000 0.29599600 0.0000000 0.0000000 0.00000000 0.01312748 0.00000000 0.14031400 0.0000000 0.0000000 0.00000000 0.00000000 -0.01031175 $ F-TYPE FUNCTIONS 3 3 0 1.14282110 1.0000000 0.0000000 0.00000000 0.43954650 0.0000000 1.0000000 0.00000000 0.17581860 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 1.63282700 0.0999248 0.0000000 0.74984500 0.0737792 0.0000000 0.35145400 0.0277522 0.0000000 0.16586800 0.0000000 0.0056419 a 74 $ TUNGSTEN (7s,4p,3d,3f,2g) $ S-TYPE FUNCTIONS 9 7 0 13.03496700 -0.9219918 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.40032000 4.3116361 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.20137500 -6.6002105 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.38524300 0.0000000 1.2469652 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.35417300 0.0000000 0.0000000 2.13940128 0.00000000 0.00000000 0.00000000 0.00000000 0.76880400 0.0000000 0.0000000 0.00000000 1.05901851 0.00000000 0.00000000 0.00000000 0.43647300 0.0000000 0.0000000 0.00000000 0.00000000 0.25437562 0.00000000 0.00000000 0.24779900 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.12035946 0.00000000 0.14068300 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.11258488 $ P-TYPE FUNCTIONS 4 4 0 1.49989600 1.0000000 0.0000000 0.00000000 0.00000000 0.56201100 0.0000000 1.0000000 0.00000000 0.00000000 0.22779300 0.0000000 0.0000000 1.00000000 0.00000000 0.09491300 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 3 0 3.02683900 -0.0099982 0.0000000 0.00000000 1.13273000 0.0324919 0.0000000 0.00000000 0.45123900 0.0000000 0.0224146 0.00000000 0.18370700 0.0000000 0.0000000 0.01051486 $ F-TYPE FUNCTIONS 3 3 0 1.32928800 1.0000000 0.0000000 0.00000000 0.51126400 0.0000000 1.0000000 0.00000000 0.20450500 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 1.68886300 0.0425640 0.0000000 0.75486400 0.0284661 0.0000000 0.39391900 0.0102095 0.0000000 0.21772100 0.0000000 0.0078737 a 75 $ RHENIUM (7s,4p,3d,3f,2g) $ S-TYPE FUNCTIONS 9 7 0 35.67644900 0.2188256 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.96580100 -1.3988961 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.04715000 4.8414149 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.55593100 0.0000000 -8.2838629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.29426100 0.0000000 0.0000000 3.52515610 0.00000000 0.00000000 0.00000000 0.00000000 1.15533600 0.0000000 0.0000000 0.00000000 2.42588069 0.00000000 0.00000000 0.00000000 0.58180100 0.0000000 0.0000000 0.00000000 0.00000000 0.52780642 0.00000000 0.00000000 0.29298100 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.38331147 0.00000000 0.14753900 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07950576 $ P-TYPE FUNCTIONS 4 4 0 1.91146450 1.0000000 0.0000000 0.00000000 0.00000000 0.71622620 0.0000000 1.0000000 0.00000000 0.00000000 0.29029920 0.0000000 0.0000000 1.00000000 0.00000000 0.12095800 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 3 0 8.80138100 0.0013182 0.0000000 0.00000000 3.01109000 -0.0244408 0.0000000 0.00000000 1.06524600 0.0000000 0.0834118 0.00000000 0.38118700 0.0000000 0.0000000 0.02953232 $ F-TYPE FUNCTIONS 3 3 0 2.03336960 1.0000000 0.0000000 0.00000000 0.78206520 0.0000000 1.0000000 0.00000000 0.31282610 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 17.36840700 0.0077579 0.0000000 5.40872900 -0.0073161 0.0000000 1.82621100 -0.1294875 0.0000000 0.63441600 0.0000000 -0.0416342 a 76 $ OSMIUM (7s,4p,3d,3f,2g) $ S-TYPE FUNCTIONS 9 7 0 35.67644900 0.2188256 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.96580100 -1.3988961 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.04715000 4.8414149 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.55593100 0.0000000 -8.2838629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.29426100 0.0000000 0.0000000 3.52515610 0.00000000 0.00000000 0.00000000 0.00000000 1.15533600 0.0000000 0.0000000 0.00000000 2.42588069 0.00000000 0.00000000 0.00000000 0.58180100 0.0000000 0.0000000 0.00000000 0.00000000 0.52780642 0.00000000 0.00000000 0.29298100 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.38331147 0.00000000 0.14753900 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07950576 $ P-TYPE FUNCTIONS 4 4 0 1.91146450 1.0000000 0.0000000 0.00000000 0.00000000 0.71622620 0.0000000 1.0000000 0.00000000 0.00000000 0.29029920 0.0000000 0.0000000 1.00000000 0.00000000 0.12095800 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 3 0 8.80138100 0.0013182 0.0000000 0.00000000 3.01109000 -0.0244408 0.0000000 0.00000000 1.06524600 0.0000000 0.0834118 0.00000000 0.38118700 0.0000000 0.0000000 0.02953232 $ F-TYPE FUNCTIONS 3 3 0 2.03336960 1.0000000 0.0000000 0.00000000 0.78206520 0.0000000 1.0000000 0.00000000 0.31282610 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 17.36840700 0.0077579 0.0000000 5.40872900 -0.0073161 0.0000000 1.82621100 -0.1294875 0.0000000 0.63441600 0.0000000 -0.0416342 a 77 $ IRIDIUM (7s,4p,3d,3f,2g) $ S-TYPE FUNCTIONS 9 7 0 35.67644900 0.2188256 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.96580100 -1.3988961 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.04715000 4.8414149 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.55593100 0.0000000 -8.2838629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.29426100 0.0000000 0.0000000 3.52515610 0.00000000 0.00000000 0.00000000 0.00000000 1.15533600 0.0000000 0.0000000 0.00000000 2.42588069 0.00000000 0.00000000 0.00000000 0.58180100 0.0000000 0.0000000 0.00000000 0.00000000 0.52780642 0.00000000 0.00000000 0.29298100 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.38331147 0.00000000 0.14753900 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07950576 $ P-TYPE FUNCTIONS 4 4 0 1.91146450 1.0000000 0.0000000 0.00000000 0.00000000 0.71622620 0.0000000 1.0000000 0.00000000 0.00000000 0.29029920 0.0000000 0.0000000 1.00000000 0.00000000 0.12095800 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 3 0 8.80138100 0.0013182 0.0000000 0.00000000 3.01109000 -0.0244408 0.0000000 0.00000000 1.06524600 0.0000000 0.0834118 0.00000000 0.38118700 0.0000000 0.0000000 0.02953232 $ F-TYPE FUNCTIONS 3 3 0 2.03336960 1.0000000 0.0000000 0.00000000 0.78206520 0.0000000 1.0000000 0.00000000 0.31282610 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 17.36840700 0.0077579 0.0000000 5.40872900 -0.0073161 0.0000000 1.82621100 -0.1294875 0.0000000 0.63441600 0.0000000 -0.0416342 a 78 $ PLATINUM (8s,4p,4d,3f,2g) $ S-TYPE FUNCTIONS 10 8 0 40.65322300 0.1995823 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 19.33481400 -1.2802427 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 9.37327800 4.7251792 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 4.62139100 0.0000000 1.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 2.31182000 0.0000000 0.0000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.17046700 0.0000000 0.0000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.59823300 0.0000000 0.0000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.30785000 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.15907200 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.08230800 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 4 4 0 1.81817900 1.0000000 0.0000000 0.00000000 0.00000000 0.68127200 0.0000000 1.0000000 0.00000000 0.00000000 0.27613100 0.0000000 0.0000000 1.00000000 0.00000000 0.11505400 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 4 0 3.90603500 -0.0227267 0.0000000 0.00000000 0.00000000 1.36150400 0.0974360 0.0000000 0.00000000 0.00000000 0.53431800 0.0000000 1.0000000 0.00000000 0.00000000 0.22682500 0.0000000 0.0000000 1.00000000 0.00000000 0.09898600 0.0000000 0.0000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 1.71027072 1.0000000 0.0000000 0.00000000 0.65779643 0.0000000 1.0000000 0.00000000 0.26311857 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 5.04974600 0.0167246 0.0000000 2.58588000 -0.1196483 0.0000000 1.33670000 -0.0735049 0.0000000 0.69315500 0.0000000 1.0000000 a 79 $ GOLD (8s,4p,3d,3f,2g) $ S-TYPE FUNCTIONS 9 8 0 16.11341600 -1.2123498 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 8.98165000 6.1565710 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 5.00639600 0.0000000 -10.4872292 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 2.79058300 0.0000000 0.0000000 3.00542896 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.55548200 0.0000000 0.0000000 0.00000000 3.35285696 0.00000000 0.00000000 0.00000000 0.0000000 0.86703200 0.0000000 0.0000000 0.00000000 0.00000000 1.17556573 0.00000000 0.00000000 0.0000000 0.48328800 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.50334914 0.00000000 0.0000000 0.26938700 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.24212807 0.0000000 0.15015800 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0630109 $ P-TYPE FUNCTIONS 4 4 0 1.87946200 1.0000000 0.0000000 0.00000000 0.00000000 0.70423500 0.0000000 1.0000000 0.00000000 0.00000000 0.28543900 0.0000000 0.0000000 1.00000000 0.00000000 0.11893200 0.0000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 3 0 4.88137600 0.0357481 0.0000000 0.00000000 2.61567500 -0.0469183 0.0000000 0.00000000 1.50225600 0.0000000 -0.0629989 0.00000000 0.88394700 0.0000000 0.0000000 -0.01023389 $ F-TYPE FUNCTIONS 3 3 0 2.14378200 1.0000000 0.0000000 0.00000000 0.82453100 0.0000000 1.0000000 0.00000000 0.32981200 0.0000000 0.0000000 1.00000000 $ G-TYPE FUNCTIONS 4 2 0 2.40239000 -0.0957094 0.0000000 1.17443300 -0.0428946 0.0000000 0.66337900 -0.0105703 0.0000000 0.39518600 0.0000000 -0.0029949 a 80 $ MERCURY (7s,4p,3d,3f,2g) $ S-TYPE FUNCTIONS 9 7 0 39.50402400 0.2069332 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19.78319600 -1.4000317 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.90728100 5.3871484 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.96152200 0.0000000 -10.1825228 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.48472000 0.0000000 0.0000000 4.85155383 0.00000000 0.00000000 0.00000000 0.00000000 1.24434700 0.0000000 0.0000000 0.00000000 3.00725453 0.00000000 0.00000000 0.00000000 0.62317000 0.0000000 0.0000000 0.00000000 0.00000000 0.78570776 0.00000000 0.00000000 0.31208500 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.36811546 0.00000000 0.15629300 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.06652974 $ P-TYPE FUNCTIONS 4 4 0 2.30939600 0.0337083 0.0000000 0.00000000 0.00000000 0.86533123 0.0000000 -0.0350206 0.00000000 0.00000000 0.35073412 0.0000000 0.0000000 0.01800843 0.00000000 0.14613922 0.0000000 0.0000000 0.00000000 0.00756906 $ D-TYPE FUNCTIONS 4 3 0 5.64590500 0.0441456 0.0000000 0.00000000 3.61923600 -0.1626696 0.0000000 0.00000000 2.30564100 0.0000000 0.2887457 0.00000000 1.45371300 0.0000000 0.0000000 -0.18542619 $ F-TYPE FUNCTIONS 3 3 0 2.40520790 -0.0217883 0.0000000 0.00000000 0.92507997 0.0000000 0.0110036 0.00000000 0.37003199 0.0000000 0.0000000 0.01430081 $ G-TYPE FUNCTIONS 4 2 0 2.58861000 -0.0122504 0.0000000 2.58861000 -0.0122481 0.0000000 0.88111900 -0.0072094 0.0000000 0.58609300 0.0000000 0.0071068 a 81 $ THALLIUM (3s,3p,2d,1f,1g) $ S-TYPE FUNCTIONS 5 3 0 1.72778000 0.0803918 0.0000000 0.00000000 0.70511900 -0.3214636 0.0000000 0.00000000 0.31979100 0.2743330 0.0000000 0.00000000 0.15541200 0.0000000 0.0763979 0.00000000 0.77372000 0.0000000 0.0000000 0.02441487 $ P-TYPE FUNCTIONS 3 3 0 0.75528963 0.0105589 0.0000000 0.00000000 0.30151283 0.0000000 -0.0270910 0.00000000 0.12563034 0.0000000 0.0000000 -0.00768289 $ D-TYPE FUNCTIONS 3 2 0 0.66985000 -0.0084170 0.0000000 0.26290400 0.0299009 0.0000000 0.10514900 0.0000000 0.0124235 $ F-TYPE FUNCTIONS 1 1 0 0.26666700 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.29200000 1.0000000 a 82 $ LEAD (4s,3p,2d,1f,1g) $ S-TYPE FUNCTIONS 5 4 0 1.63058200 0.1066320 0.0000000 0.00000000 0.00000000 0.73249600 -0.4571858 0.0000000 0.00000000 0.00000000 0.36275900 0.0000000 0.3669114 0.00000000 0.00000000 0.19141500 0.0000000 0.0000000 0.11945813 0.00000000 0.10325700 0.0000000 0.0000000 0.00000000 0.05710744 $ P-TYPE FUNCTIONS 3 3 0 0.97321339 1.0000000 0.0000000 0.00000000 0.38850834 0.0000000 1.0000000 0.00000000 0.16187847 0.0000000 0.0000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 0.79088400 0.0157148 0.0000000 0.30166200 -0.0444471 0.0000000 0.11525000 0.0000000 -0.0094353 $ F-TYPE FUNCTIONS 1 1 0 0.29954337 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.32800000 1.0000000 a 83 $ BISMUTH (4s,3p,3d,1f,1g) $ S-TYPE FUNCTIONS 5 4 0 1.84300300 0.2216672 0.0000000 0.00000000 0.00000000 0.90885200 -0.7329118 0.0000000 0.00000000 0.00000000 0.47361800 0.0000000 0.4126535 0.00000000 0.00000000 0.25550900 0.0000000 0.0000000 0.26346628 0.00000000 0.13948100 0.0000000 0.0000000 0.00000000 0.10288819 $ P-TYPE FUNCTIONS 3 3 0 0.98945324 -0.0010868 0.0000000 0.00000000 0.39499100 0.0000000 0.0297912 0.00000000 0.16457900 0.0000000 0.0000000 -0.00880492 $ D-TYPE FUNCTIONS 3 3 0 1.11644650 -0.0051427 0.0000000 0.00000000 0.43619655 0.0000000 0.0131631 0.00000000 0.17489500 0.0000000 0.0000000 0.00786501 $ F-TYPE FUNCTIONS 1 1 0 0.38538813 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.42200000 1.0000000 a 84 $ POLONIUM (4s,3p,2d,1f,1g) $ S-TYPE FUNCTIONS 5 4 0 1.80538700 0.2355997 0.0000000 0.00000000 0.00000000 0.84859800 -0.9384805 0.0000000 0.00000000 0.00000000 0.44255500 0.0000000 0.6944152 0.00000000 0.00000000 0.24703000 0.0000000 0.0000000 0.22466374 0.00000000 0.14120000 0.0000000 0.0000000 0.00000000 0.11538690 $ P-TYPE FUNCTIONS 3 3 0 1.32654970 0.0229732 0.0000000 0.00000000 0.52956075 0.0000000 -0.0566797 0.00000000 0.22065031 0.0000000 0.0000000 0.02378694 $ D-TYPE FUNCTIONS 3 2 0 1.00792200 -0.0185253 0.0000000 0.40370700 0.0547646 0.0000000 0.16274000 0.0000000 0.0127103 $ F-TYPE FUNCTIONS 1 1 0 0.29724201 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.32548000 1.0000000 a 85 $ ASTATINE (3s,3p,2d,1f,1g) $ S-TYPE FUNCTIONS 5 3 0 7.18493100 -0.0396647 0.0000000 0.00000000 2.50501000 0.2819841 0.0000000 0.00000000 0.96442400 -0.9590053 0.0000000 0.00000000 0.39607900 0.0000000 0.9308579 0.00000000 0.16636600 0.0000000 0.0000000 0.19587812 $ P-TYPE FUNCTIONS 3 3 0 1.47507580 0.0156323 0.0000000 0.00000000 0.58885263 0.0000000 -0.0404262 0.00000000 0.24535526 0.0000000 0.0000000 0.01904937 $ D-TYPE FUNCTIONS 3 2 0 1.24372600 0.0138830 0.0000000 0.41589500 -0.0615749 0.0000000 0.14969100 0.0000000 -0.0076178 $ F-TYPE FUNCTIONS 1 1 0 0.41095900 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.34428200 1.0000000 ergo-3.5/basis/Turbomole-TZP0000664000175000017500000006767612743400275012741 00000000000000$Basis = Turbomole-TZP $ $ Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar $ $ REFERENCE $ Elements References $ -------- ---------- $ H - Kr: A. Schafer, H. Horn and R. Ahlrichs, J. Chem. Phys. 97, 2571 (1992). $*********************************************************************** a 1 $ HYDROGEN (5s) -> [3s] $ HYDROGEN (1p) $ S-TYPE FUNCTIONS 5 3 0 34.0613410 0.00602520 0.00000000 0.00000000 5.1235746 0.04502109 0.00000000 0.00000000 1.1646626 0.20189726 0.00000000 0.00000000 0.3272304 0.00000000 1.00000000 0.00000000 0.1030724 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.80000000 1.00000000 a 2 $ HELIUM (5s) -> [3s] $ HELIUM (1p) $ S-TYPE FUNCTIONS 5 3 0 98.0783216 0.00758031 0.00000000 0.00000000 14.7644042 0.05484862 0.00000000 0.00000000 3.3185831 0.22074382 0.00000000 0.00000000 0.8741387 0.00000000 1.00000000 0.00000000 0.2445990 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 3 $ LITHIUM (10s) -> [6s] $ LITHIUM (1p) $ S-TYPE FUNCTIONS 10 6 0 3341.4028812 0.00068826 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 500.9515931 0.00532964 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 114.0110311 0.02756437 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.2654731 0.10988243 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.4720585 0.33943049 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.6978284 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.3712085 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5190846 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0745329 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0282336 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.17000000 1.00000000 a 4 $ BERYLLIUM (10s) -> [6s] $ BERYLLIUM (2p) $ S-TYPE FUNCTIONS 10 6 0 6526.1477796 0.00043732 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 978.3549642 0.00338821 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 222.6586576 0.01756309 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.0130283 0.07058048 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.4687202 0.22263836 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.2692487 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.7393701 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0615791 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1815844 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0588268 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 3.63169172 -0.02903400 0.00000000 0.71695694 -0.16877854 0.00000000 0.19541933 -0.51403420 0.00000000 0.60515466 0.00000000 1.00000000 a 5 $ BORON (10s,6p) -> [6s,3p] $ BORON (1d) $ S-TYPE FUNCTIONS 10 6 0 5658.4992000 0.00055208 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 848.6970300 0.00426514 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 193.1365600 0.02185317 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.5863170 0.08457068 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.6001260 0.24304764 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.1269618 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.2245270 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5565035 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2387623 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0857940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 22.4558020 -0.00502606 0.00000000 0.00000000 5.1030675 -0.03282698 0.00000000 0.00000000 1.4984096 -0.13140941 0.00000000 0.00000000 0.5098907 -0.33125264 0.00000000 0.00000000 0.1819135 0.00000000 1.00000000 0.00000000 0.0648272 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.50000000 1.00000000 a 6 $ CARBON (10s,6p) -> [6s,3p] $ CARBON (1d) $ S-TYPE FUNCTIONS 10 6 0 8506.0384000 0.00053374 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1275.7329000 0.00412502 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 290.3118700 0.02117134 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 82.0562000 0.08241786 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.4796410 0.24012858 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.2414585 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.3643530 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8717416 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3635235 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1287314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 34.7094960 0.00533010 0.00000000 0.00000000 7.9590883 0.03586581 0.00000000 0.00000000 2.3786972 0.14200299 0.00000000 0.00000000 0.8154007 0.34203105 0.00000000 0.00000000 0.2895378 0.00000000 1.00000000 0.00000000 0.1008475 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.80000000 1.00000000 a 7 $ NITROGEN (10s,6p) -> [6s,3p] $ NITROGEN (1d) $ S-TYPE FUNCTIONS 10 6 0 11913.4167560 -0.00052297 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1786.7213834 -0.00404284 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 406.5901283 -0.02077272 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 114.9252507 -0.08118314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.1058834 -0.23871497 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.9716762 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.7302291 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.2525184 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5126007 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1793971 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 49.2187584 0.00555270 0.00000000 0.00000000 11.3489353 0.03805462 0.00000000 0.00000000 3.4285088 0.14941412 0.00000000 0.00000000 1.1799513 0.34898187 0.00000000 0.00000000 0.4172612 0.00000000 1.00000000 0.00000000 0.1429513 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 8 $ OXYGEN (10s,6p) -> [6s,3p] $ OXYGEN (1d) $ S-TYPE FUNCTIONS 10 6 0 15902.6474590 0.00051500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2384.9537829 0.00398198 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 542.7195718 0.02047697 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 153.4040787 0.08026237 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.5457161 0.23766840 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.3396499 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.3303355 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.6995882 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.6895449 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2393603 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 63.2705240 0.00607092 0.00000000 0.00000000 14.6233123 0.04194769 0.00000000 0.00000000 4.4489518 0.16156884 0.00000000 0.00000000 1.5281513 0.35682779 0.00000000 0.00000000 0.5299732 0.00000000 1.00000000 0.00000000 0.1750945 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.20000000 1.00000000 a 9 $ FLUORINE (10s,6p) -> [6s,3p] $ FLUORINE (1d) $ S-TYPE FUNCTIONS 10 6 0 20450.4890000 0.00051103 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3066.9547000 0.00395188 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 697.9100300 0.02033455 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 197.2702000 0.07987648 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.7283430 0.23775601 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.3218090 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.1557609 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.2114295 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.8903857 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3069660 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 80.2180200 0.00637445 0.00000000 0.00000000 18.5872810 0.04436019 0.00000000 0.00000000 5.6844581 0.16880038 0.00000000 0.00000000 1.9512781 0.36162979 0.00000000 0.00000000 0.6702411 0.00000000 1.00000000 0.00000000 0.2168225 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.40000000 1.00000000 a 10 $ NEON (10s,6p) -> [6s,3p] $ NEON (1d) $ S-TYPE FUNCTIONS 10 6 0 25558.3983200 -0.00050573 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3832.9404804 -0.00391125 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 872.2107378 -0.02013482 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 246.5375541 -0.07922343 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 79.6583949 -0.23675798 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 27.9197996 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.2071317 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.7883187 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.1153995 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3823401 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 99.7609664 0.00656487 0.00000000 0.00000000 23.1676890 0.04595815 0.00000000 0.00000000 7.1133899 0.17349981 0.00000000 0.00000000 2.4418574 0.36486075 0.00000000 0.00000000 0.8344206 0.00000000 1.00000000 0.00000000 0.2663988 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.88800000 1.00000000 a 11 $ SODIUM (12s,6p) -> [7s,2p] $ SODIUM (1p) $ S-TYPE FUNCTIONS 12 7 0 48876.1981470 0.00030496 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 7327.2863708 0.00236328 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1667.4194652 0.01226845 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 471.5810120 0.04962518 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 152.9366981 0.15949592 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 54.3558555 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 20.7652228 0.00000000 0.00000000 0.40072046 0.00000000 0.00000000 0.00000000 0.0000000 8.3599496 0.00000000 0.00000000 0.18337373 0.00000000 0.00000000 0.00000000 0.0000000 2.1480946 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.6881941 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.0604771 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0271341 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 7 3 0 137.9625476 0.00592646 0.00000000 0.00000000 32.2091054 0.04254399 0.00000000 0.00000000 9.9746379 0.16644535 0.00000000 0.00000000 3.4780930 0.36814915 0.00000000 0.00000000 1.2284372 0.45781035 0.00000000 0.00000000 0.4173194 0.00000000 1.00000000 0.00000000 0.5200000 0.00000000 0.00000000 1.00000000 a 12 $ MAGNESIUM (12s,6p) -> [7s,2p] $ MAGNESIUM (1p) $ S-TYPE FUNCTIONS 12 7 0 58088.3497780 0.00029218 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 8708.1180998 0.00226442 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1981.6224182 0.01175604 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 560.4398600 0.04756994 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 181.7297611 0.15308048 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 64.6033357 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 24.7421447 0.00000000 0.00000000 0.39883561 0.00000000 0.00000000 0.00000000 0.0000000 10.0246647 0.00000000 0.00000000 0.18188815 0.00000000 0.00000000 0.00000000 0.0000000 2.6947441 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.9114525 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.1068967 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0400916 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 7 3 0 179.8337272 0.00538198 0.00000000 0.00000000 42.1130967 0.03932575 0.00000000 0.00000000 13.1173538 0.15749044 0.00000000 0.00000000 4.6229435 0.35940561 0.00000000 0.00000000 1.6685786 0.45516230 0.00000000 0.00000000 0.5854780 0.00000000 0.21970492 0.00000000 0.1891480 0.00000000 0.00000000 1.00000000 a 13 $ ALUMINUM (12s9p) -> [7s5p] $ ALUMINUM (1d) $ S-TYPE FUNCTIONS 12 7 0 68090.4116770 0.00028413 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 10207.5408220 0.00220207 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 2322.8045854 0.01143344 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 656.8865384 0.04628459 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 212.9669410 0.14910566 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 75.7247166 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 29.0763200 0.00000000 0.00000000 0.41663518 0.00000000 0.00000000 0.00000000 0.00 11.8596239 0.00000000 0.00000000 0.18978371 0.00000000 0.00000000 0.00000000 0.00 3.3162153181 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 1.1754788791 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 .17520528550 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 .06475874648 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 $ P-TYPE FUNCTIONS 9 5 0 442.79182587 0.00163911 0.00000000 0.00000000 0.00000000 0.00000000 104.75988837 0.01314352 0.00000000 0.00000000 0.00000000 0.00000000 33.375979447 0.06149771 0.00000000 0.00000000 0.00000000 0.00000000 12.305387957 0.18825909 0.00000000 0.00000000 0.00000000 0.00000000 4.8642475706 0.36062611 0.00000000 0.00000000 0.00000000 0.00000000 1.9604027100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 .78436733817 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .19014165079 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .05587437299 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.30000000 1.00000000 a 14 $ SILICON (12s,9p) -> [7s,5p] $ SILICON (1d) $ S-TYPE FUNCTIONS 12 7 0 79079.4340000 0.00026431 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 11855.0100000 0.00204851 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 2697.7051000 0.01063724 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 762.8722700 0.04308248 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 247.2845500 0.13898279 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 87.9312400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 33.8232840 0.00000000 0.00000000 0.44071543 0.00000000 0.00000000 0.00000000 0.0000000 13.8681080 0.00000000 0.00000000 0.20091165 0.00000000 0.00000000 0.00000000 0.0000000 3.9920017 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 1.4659925 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.2527109 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0924917 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 483.0235200 0.00191615 0.00000000 0.00000000 0.00000000 0.00000000 114.2508100 0.01530977 0.00000000 0.00000000 0.00000000 0.00000000 36.3877860 0.07109436 0.00000000 0.00000000 0.00000000 0.00000000 13.4117040 0.21243244 0.00000000 0.00000000 0.00000000 0.00000000 5.2884033 0.38976302 0.00000000 0.00000000 0.00000000 0.00000000 2.1374219 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8646846 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2548986 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0793970 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.35000000 1.00000000 a 15 $ PHOSPHORUS (12s,9p) -> [7s,5p] $ PHOSPHORUS (1d) $ S-TYPE FUNCTIONS 12 7 0 91049.0495250 0.00025380 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 13649.2488640 0.00196712 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 3105.9432074 0.01021606 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 878.2598263 0.04139916 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 284.6339291 0.13375415 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 101.2061001 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 38.9778414 0.00000000 0.00000000 0.45416113 0.00000000 0.00000000 0.00000000 0.0000000 16.0484941 0.00000000 0.00000000 0.20742198 0.00000000 0.00000000 0.00000000 0.0000000 4.7225339 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 1.7825222 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.3396297 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.1233386 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 528.4438933 -0.00228152 0.00000000 0.00000000 0.00000000 0.00000000 124.9714995 -0.01818364 0.00000000 0.00000000 0.00000000 0.00000000 39.7957092 -0.08394070 0.00000000 0.00000000 0.00000000 0.00000000 14.6575450 -0.24604714 0.00000000 0.00000000 0.00000000 0.00000000 5.7578893 -0.43655668 0.00000000 0.00000000 0.00000000 0.00000000 2.3123201 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8899378 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3046715 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1007815 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.45000000 1.00000000 a 16 $ SULFUR (12s,9p) -> [7s,5p] $ SULFUR (1d) $ S-TYPE FUNCTIONS 12 7 0 103953.9500000 0.00024743 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 15583.7860000 0.00191777 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 3546.1293000 0.00996100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1002.6808000 0.04038643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 324.9028800 0.13067523 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 115.5122500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 44.5282100 0.00000000 0.00000000 0.50403551 0.00000000 0.00000000 0.00000000 0.0000000 18.3978920 0.00000000 0.00000000 0.23068051 0.00000000 0.00000000 0.00000000 0.0000000 5.5100683 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 2.1259867 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.4369189 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.1573085 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 606.6936700 0.00232296 0.00000000 0.00000000 0.00000000 0.00000000 143.5069600 0.01857053 0.00000000 0.00000000 0.00000000 0.00000000 45.7461600 0.08603274 0.00000000 0.00000000 0.00000000 0.00000000 16.8729120 0.25248431 0.00000000 0.00000000 0.00000000 0.00000000 6.6399196 0.44632742 0.00000000 0.00000000 0.00000000 0.00000000 2.6727135 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0000089 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3543894 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1167131 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.55000000 1.00000000 a 17 $ CHLORINE (12s,9p) -> [7s,5p] $ CHLORINE (1d) $ S-TYPE FUNCTIONS 12 7 0 117805.7900000 0.00024181 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 17660.2650000 0.00187427 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 4018.5973000 0.00973629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1136.2231000 0.03949475 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 368.1206200 0.12797166 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 130.8615400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 50.4790110 0.00000000 0.00000000 0.42874094 0.00000000 0.00000000 0.00000000 0.0000000 20.9168050 0.00000000 0.00000000 0.19668493 0.00000000 0.00000000 0.00000000 0.0000000 6.3531388 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 2.4948014 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.5433595 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.1943437 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 681.0687900 0.00236589 0.00000000 0.00000000 0.00000000 0.00000000 161.1135900 0.01894072 0.00000000 0.00000000 0.00000000 0.00000000 51.3866370 0.08784513 0.00000000 0.00000000 0.00000000 0.00000000 18.9585120 0.25707435 0.00000000 0.00000000 0.00000000 0.00000000 3.0035158 0.37152361 0.00000000 0.00000000 0.00000000 0.00000000 7.4565293 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0609361 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3945202 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1332328 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.65000000 1.00000000 a 18 $ ARGON (12s,9p) -> [7s,5p] $ ARGON (1d) $ S-TYPE FUNCTIONS 12 7 0 132594.7425500 0.00025484 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 19877.2100510 0.00197533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 4523.0525989 0.01026246 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1278.8031045 0.04164867 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 414.2561894 0.13513377 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 147.2419411 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 56.8261554 0.00000000 0.00000000 0.45141633 0.00000000 0.00000000 0.00000000 0.0000000 23.6040860 0.00000000 0.00000000 0.20758832 0.00000000 0.00000000 0.00000000 0.0000000 7.2524952 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 2.8892980 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.6588798 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.2343956 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 828.3396980 0.00217730 0.00000000 0.00000000 0.00000000 0.00000000 196.0651076 0.01759744 0.00000000 0.00000000 0.00000000 0.00000000 62.6812276 0.08290592 0.00000000 0.00000000 0.00000000 0.00000000 23.2250778 0.24934103 0.00000000 0.00000000 0.00000000 0.00000000 9.2167815 0.45327281 0.00000000 0.00000000 0.00000000 0.00000000 3.7595533 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.4316786 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5129827 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1682149 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.96900000 1.00000000 $END OF BASIS ergo-3.5/basis/3-21Gs0000775000175000017500000003364412743400275011161 00000000000000$ Basis = 3-21G* $ Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl $ $ REFERENCE $ Elements References $ -------- ---------- $ H - Ne: J.S. Binkley, J.A. Pople, W.J. Hehre, J. Am. Chem. Soc 102 939 (1980) $ Na - Ar: M.S. Gordon, J.S. Binkley, J.A. Pople, W.J. Pietro and W.J. Hehre, $ J. Am. Chem. Soc. 104, 2797 (1983). $ K - Ca: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 7, 359 (1986). $ Ga - Kr: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 7, 359 (1986). $ Sc - Zn: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 8, 861 (1987). $ Y - Cd: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 8, 880 (1987). $ Cs : A 3-21G quality set derived from the Huzinage MIDI basis sets. $ E.D. Glendening and D. Feller, J. Phys. Chem. 99, 3060 (1995) $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $ Elements Reference $ -------- ---------- $ Na - Ar: W.J. Pietro, M.M. Francl, W.J. Hehre, D.J. DeFrees, J.A. Pople and $ J.S. Binkley, J. Am. Chem. Soc. 104, 5039 (1982) $ a 1 $ HYDROGEN (3s) -> [2s] $ S-TYPE FUNCTIONS 3 2 0 5.4471780 0.15628500 0.00000000 0.8245470 0.90469100 0.00000000 0.1831920 0.00000000 1.00000000 a 2 $ HELIUM (3s) -> [2s] $ S-TYPE FUNCTIONS 3 2 0 13.6267000 0.17523000 0.00000000 1.9993500 0.89348300 0.00000000 0.3829930 0.00000000 1.00000000 a 3 $ LITHIUM (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 36.8382000 0.06966860 0.00000000 0.00000000 5.4817200 0.38134600 0.00000000 0.00000000 1.1132700 0.68170200 0.00000000 0.00000000 0.5402050 0.00000000 -0.26312700 0.00000000 0.1022550 0.00000000 1.14339000 0.00000000 0.0285650 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 0.5402050 0.16154600 0.00000000 0.1022550 0.91566300 0.00000000 0.0285650 0.00000000 1.00000000 a 4 $ BERYLLIUM (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 71.8876000 0.06442630 0.00000000 0.00000000 10.7289000 0.36609600 0.00000000 0.00000000 2.2220500 0.69593400 0.00000000 0.00000000 1.2954800 0.00000000 -0.42106400 0.00000000 0.2688810 0.00000000 1.22407000 0.00000000 0.0773500 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 1.2954800 0.20513200 0.00000000 0.2688810 0.88252800 0.00000000 0.0773500 0.00000000 1.00000000 a 5 $ BORON (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 116.4340000 0.06296050 0.00000000 0.00000000 17.4314000 0.36330400 0.00000000 0.00000000 3.6801600 0.69725500 0.00000000 0.00000000 2.2818700 0.00000000 -0.36866200 0.00000000 0.4652480 0.00000000 1.19944000 0.00000000 0.1243280 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 2.2818700 0.23115200 0.00000000 0.4652480 0.86676400 0.00000000 0.1243280 0.00000000 1.00000000 a 6 $ CARBON (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 172.2560000 0.06176690 0.00000000 0.00000000 25.9109000 0.35879400 0.00000000 0.00000000 5.5333500 0.70071300 0.00000000 0.00000000 3.6649800 0.00000000 -0.39589700 0.00000000 0.7705450 0.00000000 1.21584000 0.00000000 0.1958570 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 3.6649800 0.23646000 0.00000000 0.7705450 0.86061900 0.00000000 0.1958570 0.00000000 1.00000000 a 7 $ NITROGEN (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 242.7660000 0.05986570 0.00000000 0.00000000 36.4851000 0.35295500 0.00000000 0.00000000 7.8144900 0.70651300 0.00000000 0.00000000 5.4252200 0.00000000 -0.41330100 0.00000000 1.1491500 0.00000000 1.22442000 0.00000000 0.2832050 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 5.4252200 0.23797200 0.00000000 1.1491500 0.85895300 0.00000000 0.2832050 0.00000000 1.00000000 a 8 $ OXYGEN (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 322.0370000 0.05923940 0.00000000 0.00000000 48.4308000 0.35150000 0.00000000 0.00000000 10.4206000 0.70765800 0.00000000 0.00000000 7.4029400 0.00000000 -0.40445300 0.00000000 1.5762000 0.00000000 1.22156000 0.00000000 0.3736840 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 7.4029400 0.24458600 0.00000000 1.5762000 0.85395500 0.00000000 0.3736840 0.00000000 1.00000000 a 9 $ FLUORINE (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 413.8010000 0.05854830 0.00000000 0.00000000 62.2446000 0.34930800 0.00000000 0.00000000 13.4340000 0.70963200 0.00000000 0.00000000 9.7775900 0.00000000 -0.40732700 0.00000000 2.0861700 0.00000000 1.22314000 0.00000000 0.4823830 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 9.7775900 0.24668000 0.00000000 2.0861700 0.85232100 0.00000000 0.4823830 0.00000000 1.00000000 A 10 $ NEON (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 515.7240000 0.05814300 0.00000000 0.00000000 77.6538000 0.34795100 0.00000000 0.00000000 16.8136000 0.71071400 0.00000000 0.00000000 12.4830000 0.00000000 -0.40992200 0.00000000 2.6645100 0.00000000 1.22431000 0.00000000 0.6062500 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 12.4830000 0.24746000 0.00000000 2.6645100 0.85174300 0.00000000 0.6062500 0.00000000 1.00000000 A 11 $ SODIUM (9s,6p) -> [4s,3p] $ SODIUM (1d) $ S-TYPE FUNCTIONS 9 4 0 547.6130000 0.06749110 0.00000000 0.00000000 0.00000000 82.0678000 0.39350500 0.00000000 0.00000000 0.00000000 17.6917000 0.66560500 0.00000000 0.00000000 0.00000000 17.5407000 0.00000000 -0.11193700 0.00000000 0.00000000 3.7939800 0.00000000 0.25465400 0.00000000 0.00000000 0.9064410 0.00000000 0.84441700 0.00000000 0.00000000 0.5018240 0.00000000 0.00000000 -0.21966000 0.00000000 0.0609458 0.00000000 0.00000000 1.08912000 0.00000000 0.0244349 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 17.5407000 0.12823300 0.00000000 0.00000000 3.7939800 0.47153300 0.00000000 0.00000000 0.9064410 0.60427300 0.00000000 0.00000000 0.5018240 0.00000000 0.00906650 0.00000000 0.0609458 0.00000000 0.99720200 0.00000000 0.0244349 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 A 12 $ MAGNESIUM (9s,6p) -> [4s,3p] $ MAGNESIUM (1d) $ S-TYPE FUNCTIONS 9 4 0 652.8410000 0.06759820 0.00000000 0.00000000 0.00000000 98.3805000 0.39177800 0.00000000 0.00000000 0.00000000 21.2996000 0.66666100 0.00000000 0.00000000 0.00000000 23.3727000 0.00000000 -0.11024600 0.00000000 0.00000000 5.1995300 0.00000000 0.18411900 0.00000000 0.00000000 1.3150800 0.00000000 0.89639900 0.00000000 0.00000000 0.6113490 0.00000000 0.00000000 -0.36110100 0.00000000 0.1418410 0.00000000 0.00000000 1.21505000 0.00000000 0.0464011 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 23.3727000 0.12101400 0.00000000 0.00000000 5.1995300 0.46281000 0.00000000 0.00000000 1.3150800 0.60690700 0.00000000 0.00000000 0.6113490 0.00000000 0.02426330 0.00000000 0.1418410 0.00000000 0.98667300 0.00000000 0.0464011 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 A 13 $ ALUMINUM (9s,6p) -> [4s,3p] $ ALUMINUM (1d) $ S-TYPE FUNCTIONS 9 4 0 775.7370000 0.06683470 0.00000000 0.00000000 0.00000000 116.9520000 0.38906100 0.00000000 0.00000000 0.00000000 25.3326000 0.66946800 0.00000000 0.00000000 0.00000000 29.4796000 0.00000000 -0.10790200 0.00000000 0.00000000 6.6331400 0.00000000 0.14624500 0.00000000 0.00000000 1.7267500 0.00000000 0.92373000 0.00000000 0.00000000 0.9461600 0.00000000 0.00000000 -0.32032700 0.00000000 0.2025060 0.00000000 0.00000000 1.18412000 0.00000000 0.0639088 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 29.4796000 0.11757400 0.00000000 0.00000000 6.6331400 0.46117400 0.00000000 0.00000000 1.7267500 0.60553500 0.00000000 0.00000000 0.9461600 0.00000000 0.05193830 0.00000000 0.2025060 0.00000000 0.97266000 0.00000000 0.0639088 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.3250000 1.00000000 A 14 $ SILICON (9s,6p) -> [4s,3p] $ SILICON (1d) $ S-TYPE FUNCTIONS 9 4 0 910.6550000 0.06608230 0.00000000 0.00000000 0.00000000 137.3360000 0.38622900 0.00000000 0.00000000 0.00000000 29.7601000 0.67238000 0.00000000 0.00000000 0.00000000 36.6716000 0.00000000 -0.10451100 0.00000000 0.00000000 8.3172900 0.00000000 0.10741000 0.00000000 0.00000000 2.2164500 0.00000000 0.95144600 0.00000000 0.00000000 1.0791300 0.00000000 0.00000000 -0.37610800 0.00000000 0.3024220 0.00000000 0.00000000 1.25165000 0.00000000 0.0933392 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 36.6716000 0.11335500 0.00000000 0.00000000 8.3172900 0.45757800 0.00000000 0.00000000 2.2164500 0.60742700 0.00000000 0.00000000 1.0791300 0.00000000 0.06710300 0.00000000 0.3024220 0.00000000 0.95688300 0.00000000 0.0933392 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4500000 1.00000000 A 15 $ PHOSPHORUS (9s,6p) -> [4s,3p] $ PHOSPHORUS (1d) $ S-TYPE FUNCTIONS 9 4 0 1054.9000000 0.06554100 0.00000000 0.00000000 0.00000000 159.1950000 0.38403600 0.00000000 0.00000000 0.00000000 34.5304000 0.67454100 0.00000000 0.00000000 0.00000000 44.2866000 0.00000000 -0.10213000 0.00000000 0.00000000 10.1019000 0.00000000 0.08159200 0.00000000 0.00000000 2.7399700 0.00000000 0.96978800 0.00000000 0.00000000 1.2186500 0.00000000 0.00000000 -0.37149500 0.00000000 0.3955460 0.00000000 0.00000000 1.27099000 0.00000000 0.1228110 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 44.2866000 0.11085100 0.00000000 0.00000000 10.1019000 0.45649500 0.00000000 0.00000000 2.7399700 0.60693600 0.00000000 0.00000000 1.2186500 0.00000000 0.09158200 0.00000000 0.3955460 0.00000000 0.93492400 0.00000000 0.1228110 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.5500000 1.00000000 A 16 $ SULFUR (9s,6p) -> [4s,3p] $ SULFUR (1d) $ S-TYPE FUNCTIONS 9 4 0 1210.6200000 0.06500700 0.00000000 0.00000000 0.00000000 182.7470000 0.38204000 0.00000000 0.00000000 0.00000000 39.6673000 0.67654500 0.00000000 0.00000000 0.00000000 52.2236000 0.00000000 -0.10031000 0.00000000 0.00000000 11.9629000 0.00000000 0.06508800 0.00000000 0.00000000 3.2891100 0.00000000 0.98145500 0.00000000 0.00000000 1.2238400 0.00000000 0.00000000 -0.28608900 0.00000000 0.4573030 0.00000000 0.00000000 1.22806000 0.00000000 0.1422690 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 52.2236000 0.10964600 0.00000000 0.00000000 11.9629000 0.45764900 0.00000000 0.00000000 3.2891100 0.60426100 0.00000000 0.00000000 1.2238400 0.00000000 0.16477700 0.00000000 0.4573030 0.00000000 0.87085500 0.00000000 0.1422690 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6500000 1.00000000 A 17 $ CHLORINE (9s,6p) -> [4s,3p] $ CHLORINE (1d) $ S-TYPE FUNCTIONS 9 4 0 1376.4000000 0.06458270 0.00000000 0.00000000 0.00000000 207.8570000 0.38036300 0.00000000 0.00000000 0.00000000 45.1554000 0.67819000 0.00000000 0.00000000 0.00000000 60.8014000 0.00000000 -0.09876390 0.00000000 0.00000000 13.9765000 0.00000000 0.05113380 0.00000000 0.00000000 3.8871000 0.00000000 0.99133700 0.00000000 0.00000000 1.3529900 0.00000000 0.00000000 -0.22240100 0.00000000 0.5269550 0.00000000 0.00000000 1.18252000 0.00000000 0.1667140 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 60.8014000 0.10859800 0.00000000 0.00000000 13.9765000 0.45868200 0.00000000 0.00000000 3.8871000 0.60196200 0.00000000 0.00000000 1.3529900 0.00000000 0.21921600 0.00000000 0.5269550 0.00000000 0.82232100 0.00000000 0.1667140 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.7500000 1.00000000 ergo-3.5/basis/McLean-Chandler-VTZ0000775000175000017500000003731412743400275013641 00000000000000$Basis = McLean/Chandler VTZ $Elements supported $Na Mg Al Si P S Cl Ar $ $ REFERENCE $ A.D. MCLEAN AND G.S. CHANDLER, CHEM. PHYS. 72, 5639, (1980) $ a 11 $ SODIUM (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 36166.4000000 0.00103200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5372.5800000 0.00807100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1213.2100000 0.04212900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 339.6230000 0.16978900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 109.5530000 0.51462100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.7773000 0.37981700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.7773000 0.00000000 0.37476200 0.00000000 0.00000000 0.00000000 0.00000000 14.5759000 0.00000000 0.57576900 0.00000000 0.00000000 0.00000000 0.00000000 5.2699300 0.00000000 0.11293300 0.00000000 0.00000000 0.00000000 0.00000000 1.8277700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.6199480 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0572400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0240480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 144.6450000 0.01148500 0.00000000 0.00000000 0.00000000 0.00000000 33.9074000 0.08238300 0.00000000 0.00000000 0.00000000 0.00000000 10.6285000 0.31965800 0.00000000 0.00000000 0.00000000 0.00000000 3.8238900 0.70129500 0.00000000 0.00000000 0.00000000 0.00000000 1.4442900 0.00000000 0.63850600 0.00000000 0.00000000 0.00000000 0.5526210 0.00000000 0.42536500 0.00000000 0.00000000 0.00000000 0.1887200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0465010 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0162850 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 12 $ MAGNESIUM (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 43866.5000000 0.00091800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6605.3700000 0.00704700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1513.2600000 0.03594100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 432.3170000 0.14146100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142.1490000 0.42676400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.3983000 0.49797500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.3983000 0.00000000 0.25135500 0.00000000 0.00000000 0.00000000 0.00000000 19.9196000 0.00000000 0.61867100 0.00000000 0.00000000 0.00000000 0.00000000 8.0247400 0.00000000 0.18841700 0.00000000 0.00000000 0.00000000 0.00000000 2.5081700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8715310 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1081880 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0401300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 193.8540000 0.01018800 0.00000000 0.00000000 0.00000000 0.00000000 45.4420000 0.07536000 0.00000000 0.00000000 0.00000000 0.00000000 14.1864000 0.30741900 0.00000000 0.00000000 0.00000000 0.00000000 5.0575100 0.71757500 0.00000000 0.00000000 0.00000000 0.00000000 1.8886100 0.00000000 0.66733900 0.00000000 0.00000000 0.00000000 0.7226520 0.00000000 0.39464900 0.00000000 0.00000000 0.00000000 0.2364170 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0933580 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0348090 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 13 $ ALUMINUM (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 54866.4890000 0.00083900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8211.7665000 0.00652700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1866.1761000 0.03366600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 531.1293400 0.13290200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 175.1179700 0.40126600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 64.0055000 0.53133800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 64.0055000 0.00000000 0.20230500 0.00000000 0.00000000 0.00000000 0.00000000 25.2925070 0.00000000 0.62479000 0.00000000 0.00000000 0.00000000 0.00000000 10.5349100 0.00000000 0.22743900 0.00000000 0.00000000 0.00000000 0.00000000 3.2067110 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.1525550 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1766780 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.6523700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 259.2836200 0.00944800 0.00000000 0.00000000 0.00000000 0.00000000 61.0768700 0.07097400 0.00000000 0.00000000 0.00000000 0.00000000 19.3032370 0.29563600 0.00000000 0.00000000 0.00000000 0.00000000 7.0108820 0.72821900 0.00000000 0.00000000 0.00000000 0.00000000 2.6738650 0.00000000 0.64446700 0.00000000 0.00000000 0.00000000 1.0365960 0.00000000 0.41741300 0.00000000 0.00000000 0.00000000 0.3168190 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1142570 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0413970 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 69379.2300000 0.00075700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10354.9400000 0.00593200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2333.8796000 0.03108800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 657.1429500 0.12496700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 214.3011300 0.38689700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 77.6291680 0.55488800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 77.6291680 0.00000000 0.17788100 0.00000000 0.00000000 0.00000000 0.00000000 30.6308070 0.00000000 0.62776500 0.00000000 0.00000000 0.00000000 0.00000000 12.8012950 0.00000000 0.24762300 0.00000000 0.00000000 0.00000000 0.00000000 3.9268660 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.4523430 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2562340 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0942790 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 335.4831900 0.00886600 0.00000000 0.00000000 0.00000000 0.00000000 78.9003660 0.06829900 0.00000000 0.00000000 0.00000000 0.00000000 24.9881500 0.29095800 0.00000000 0.00000000 0.00000000 0.00000000 9.2197110 0.73211700 0.00000000 0.00000000 0.00000000 0.00000000 3.6211400 0.00000000 0.61987900 0.00000000 0.00000000 0.00000000 1.4513100 0.00000000 0.43914800 0.00000000 0.00000000 0.00000000 0.5049770 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1863170 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0654320 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 77492.4000000 0.00078100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11605.8000000 0.00606800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2645.9600000 0.03116000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 754.9800000 0.12343100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 248.7550000 0.37820900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 91.1565000 0.56326200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 91.1565000 0.00000000 0.16025500 0.00000000 0.00000000 0.00000000 0.00000000 36.2257000 0.00000000 0.62764700 0.00000000 0.00000000 0.00000000 0.00000000 15.2113000 0.00000000 0.26384900 0.00000000 0.00000000 0.00000000 0.00000000 4.7941700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.8079300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3568160 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1147830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 384.8430000 0.00920600 0.00000000 0.00000000 0.00000000 0.00000000 90.5521000 0.06987400 0.00000000 0.00000000 0.00000000 0.00000000 29.1339000 0.29247000 0.00000000 0.00000000 0.00000000 0.00000000 10.8862000 0.72810300 0.00000000 0.00000000 0.00000000 0.00000000 4.3525900 0.00000000 0.62834900 0.00000000 0.00000000 0.00000000 1.7770600 0.00000000 0.42804400 0.00000000 0.00000000 0.00000000 0.6970050 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2535320 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0684930 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 93413.4000000 0.00074300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13961.7000000 0.00579300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3169.9100000 0.02995400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 902.4560000 0.11902800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 297.1580000 0.36843200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.7020000 0.57729900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.7020000 0.00000000 0.14318600 0.00000000 0.00000000 0.00000000 0.00000000 43.1553000 0.00000000 0.62446500 0.00000000 0.00000000 0.00000000 0.00000000 18.1079000 0.00000000 0.28336600 0.00000000 0.00000000 0.00000000 0.00000000 5.5600900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.1318300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.4204030 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1360450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 495.0400000 0.00830900 0.00000000 0.00000000 0.00000000 0.00000000 117.2210000 0.06402400 0.00000000 0.00000000 0.00000000 0.00000000 37.7749000 0.27761400 0.00000000 0.00000000 0.00000000 0.00000000 14.0584000 0.74507600 0.00000000 0.00000000 0.00000000 0.00000000 5.5657400 0.00000000 0.61371200 0.00000000 0.00000000 0.00000000 2.2629700 0.00000000 0.44381800 0.00000000 0.00000000 0.00000000 0.8079940 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2774600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0771410 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 105819.0000000 0.00073800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15872.0000000 0.00571800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3619.6500000 0.02949500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1030.8000000 0.11728600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 339.9080000 0.36294900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 124.5380000 0.58414900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 124.5380000 0.00000000 0.13417700 0.00000000 0.00000000 0.00000000 0.00000000 49.5135000 0.00000000 0.62425000 0.00000000 0.00000000 0.00000000 0.00000000 20.8056000 0.00000000 0.29175600 0.00000000 0.00000000 0.00000000 0.00000000 6.5834600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.5646800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5597630 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1832730 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 589.7760000 0.00239100 0.00000000 0.00000000 0.00000000 0.00000000 139.8490000 0.01850400 0.00000000 0.00000000 0.00000000 0.00000000 45.1413000 0.08137700 0.00000000 0.00000000 0.00000000 0.00000000 16.8733000 0.22155200 0.00000000 0.00000000 0.00000000 0.00000000 6.7411000 0.77256900 0.00000000 0.00000000 0.00000000 0.00000000 6.7411000 0.00000000 -1.57224400 0.00000000 0.00000000 0.00000000 2.7715200 0.00000000 0.99238900 0.00000000 0.00000000 0.00000000 1.0238700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3813680 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1094370 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (12s,9p) -> [6s,5p] $ S-TYPE FUNCTIONS 13 6 0 118022.3800000 0.00074700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17683.5410000 0.00579000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4027.7657000 0.02991900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1145.3977000 0.11920600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 377.1637500 0.36902800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 138.1596900 0.57645900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 138.1596900 0.00000000 0.14392700 0.00000000 0.00000000 0.00000000 0.00000000 54.9891170 0.00000000 0.62293800 0.00000000 0.00000000 0.00000000 0.00000000 23.1706670 0.00000000 0.28396400 0.00000000 0.00000000 0.00000000 0.00000000 7.3778600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.9236880 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.6504050 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2328250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 663.0620100 0.00308200 0.00000000 0.00000000 0.00000000 0.00000000 157.0928100 0.02416500 0.00000000 0.00000000 0.00000000 0.00000000 50.2311000 0.10822300 0.00000000 0.00000000 0.00000000 0.00000000 18.6353450 0.29419200 0.00000000 0.00000000 0.00000000 0.00000000 7.4465370 0.68786200 0.00000000 0.00000000 0.00000000 0.00000000 7.4465370 0.00000000 -0.12144820 0.00000000 0.00000000 0.00000000 3.0956980 0.00000000 0.16323700 0.00000000 0.00000000 0.00000000 1.1064630 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.4156010 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1454490 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/cc-pVQZdenfit0000664000175000017500000002773312743400275012721 00000000000000$jkbas cc-pVQZaux $ $ REFERENCE turbomole webpage: ftp://ftp.chemie.uni-karlsruhe.de/pub/jkbasen a 1 $ HYDROGEN $ h (4s3p3d2f1g) / [4s3p3d2f1g] {1111/111/111/11/1} $ 1 s 4 0 0 9.5302493327 1.0000000000 1.9174506246 1.0000000000 0.68424049142 1.0000000000 0.28413255710 1.0000000000 $ 1 p 3 0 0 2.9133232035 1.0000000000 1.2621205398 1.0000000000 0.50199775874 1.0000000000 $ 1 d 3 0 0 2.8832083931 1.0 1.2801701725 1.0 0.52511317770 1.0 $ 1 f 2 0 0 2.7489448439 1.0 1.1900885456 1.0 $ 1 g 1 0 0 1.4752662714 1.0 a 5 $ BORON $ b (10s7p5d3f2g1h) / [10s7p5d3f2g1h] {1111111111/1111111/11111/111/11/1} $ 1 s 10 0 0 441.88913157 1.0 92.069629785 1.0 29.978448517 1.0 11.426330790 1.0 4.3808722439 1.0 2.0594033542 1.0 0.90115717578 1.0 0.52455288939 1.0 0.24634725959 1.0 0.12085805961 1.0 $ 1 p 7 0 0 229.95115195 1.0 36.381694756 1.0 12.119796695 1.0 3.8441129406 1.0 1.1002761183 1.0 0.39733117993 1.0 0.13514765422 1.0 $ 1 d 5 0 0 9.3643373880 1.0 3.1035657986 1.0 1.2006835120 1.0 0.40829624602 1.0 0.13188304180 1.0 $ 1 f 3 0 0 1.17928500000000000000 1.0 .47128500000000000000 1.0 .21428500000000000000 1.0 $ 1 g 2 0 0 .95128500000000000000 1.0 .38028500000000000000 1.0 $ 1 h 1 0 0 .74228500000000000000 1.0 a 6 $ CARBON $ c (10s7p5d3f2g1h) / [10s7p5d3f2g1h] {1111111111/1111111/11111/111/11/1} $ 1 s 10 0 0 1113.9867719 1.0 369.16234180 1.0 121.79275232 1.0 48.127114540 1.0 20.365074004 1.0 8.0883596856 1.0 2.5068656570 1.0 1.2438537380 1.0 0.48449899601 1.0 0.19185160296 1.0 $ 1 p 7 0 0 102.99176249 1.0 28.132594009 1.0 9.8364318173 1.0 3.3490544980 1.0 1.4947618613 1.0 0.57690108899 1.0 0.20320063291 1.0 $ 1 d 5 0 0 10.594068356 1.0 3.5997195366 1.0 1.3355691094 1.0 0.51949764954 1.0 0.19954125200 1.0 $ 1 f 3 0 0 1.95390000000000000000 1.0 .75490000000000000000 1.0 .33390000000000000000 1.0 $ 1 g 2 0 0 1.52490000000000000000 1.0 .59090000000000000000 1.0 $ 1 h 1 0 0 1.11690000000000000000 1.0 a 7 $ NITROGEN $ n (10s7p5d3f2g1h) / [10s7p5d3f2g1h] {1111111111/1111111/11111/111/11/1} $ 1 s 10 0 0 1102.8622453 1.0 370.98041153 1.0 136.73555938 1.0 50.755871924 1.0 20.535656095 1.0 7.8318737184 1.0 3.4784063855 1.0 1.4552856603 1.0 0.63068989071 1.0 0.27276596483 1.0 $ 1 p 7 0 0 93.540954073 1.0 29.524019527 1.0 10.917502987 1.0 4.3449288991 1.0 1.8216912640 1.0 0.75792424494 1.0 0.28241469033 1.0 $ 1 d 5 0 0 16.419378926 1.0 5.0104049385 1.0 1.9793971884 1.0 0.78495771518 1.0 0.28954065963 1.0 $ 1 f 3 0 0 2.98600000000000000000 1.0 1.11700000000000000000 1.0 .48400000000000000000 1.0 $ 1 g 2 0 0 2.17600000000000000000 1.0 .83400000000000000000 1.0 $ 1 h 1 0 0 1.57600000000000000000 1.0 a 8 $ OXYGEN $ o (10s7p5d3f2g1h) / [10s7p5d3f2g1h] {1111111111/1111111/11111/111/11/1} $ 1 s 10 0 0 1517.8667506 1.0 489.67952008 1.0 176.72118665 1.0 63.792233137 1.0 25.366499130 1.0 9.9135491200 1.0 4.4645306584 1.0 1.8017743661 1.0 0.80789710965 1.0 0.33864326862 1.0 $ 1 p 7 0 0 120.16030921 1.0 34.409622474 1.0 12.581148610 1.0 5.0663824249 1.0 2.0346927092 1.0 0.86092967212 1.0 0.36681356726 1.0 $ 1 d 5 0 0 19.043062805 1.0 5.8060381104 1.0 2.1891841580 1.0 0.87794613558 1.0 0.35623646700 1.0 $ 1 f 3 0 0 3.96585000000000000000 1.0 1.49085000000000000000 1.0 .63485000000000000000 1.0 $ 1 g 2 0 0 2.85685000000000000000 1.0 1.04985000000000000000 1.0 $ 1 h 1 0 0 2.03685000000000000000 1.0 a 9 $ FLUORINE $ f (10s7p5d3f2g1h) / [10s7p5d3f2g1h] {1111111111/1111111/11111/111/11/1} $ 1 s 10 0 0 1885.0661216 1.0 623.75582297 1.0 227.92405029 1.0 82.184178773 1.0 32.628937583 1.0 12.783279578 1.0 5.6589257943 1.0 2.3208306681 1.0 1.0191520908 1.0 0.42196699118 1.0 $ 1 p 7 0 0 153.72069768 1.0 45.390450866 1.0 16.785845772 1.0 6.7293857800 1.0 2.6694607033 1.0 1.1049787101 1.0 0.45727703601 1.0 $ 1 d 5 0 0 24.869685349 1.0 7.5554441579 1.0 2.8268499237 1.0 1.1123341279 1.0 0.43877754231 1.0 $ 1 f 3 0 0 5.25415000000000000000 1.0 1.96515000000000000000 1.0 .82615000000000000000 1.0 $ 1 g 2 0 0 3.80215000000000000000 1.0 1.38815000000000000000 1.0 $ 1 h 1 0 0 2.61615000000000000000 1.0 a 13 $ ALUMINIUM $ al (13s11p9d) / [13s11p9d] {1111111111111/11111111111/111111111} $ S-TYPE FUNCTIONS 13 0 0 3155.1928168 1.0 804.81824843 1.0 278.28716279 1.0 106.73947034 1.0 44.726054551 1.0 19.985981625 1.0 8.2139836406 1.0 4.1826731629 1.0 2.0606294398 1.0 1.1394540102 1.0 0.35321611272 1.0 0.21512052497 1.0 0.091001117213 1.0 $ P-TYPE FUNCTIONS 11 0 0 472.16397028 1.0 132.20329132 1.0 50.460166539 1.0 21.131124313 1.0 10.457955077 1.0 4.9925589436 1.0 2.4609220820 1.0 1.0708266153 1.0 0.41862242427 1.0 0.24418454353 1.0 0.11824752523 1.0 $ D-TYPE FUNCTIONS 9 0 0 95.374390967 1.0 31.137715102 1.0 13.032465301 1.0 6.0372010623 1.0 2.9357329960 1.0 1.4175558590 1.0 0.53387157197 1.0 0.25545669081 1.0 0.10843455615 1.0 $ F-TYPE FUNCTIONS 4 0 0 1.371889973133925 1.0 .1254500000000000 1.0 .2440500000000000 1.0 .5390500000000000 1.0 $ G-TYPE FUNCTIONS 2 0 0 .1990500000000000 1.0 .4460500000000000 1.0 $ H-TYPE FUNCTIONS 1 0 0 .4020500000000000 1.0 a 14 $ SILICON $ si (13s11p9d4f2g1h) / [13s11p9d4f2g1h] {1111111111111/11111111111/111111111/1111/11/1} $ 1 s 13 0 0 3966.7823006 1.0 913.65240130 1.0 309.47572532 1.0 121.48371896 1.0 51.949842541 1.0 22.531415259 1.0 8.6118544488 1.0 4.0353794583 1.0 1.5605354258 1.0 0.82658343937 1.0 0.48403471116 1.0 0.28757870174 1.0 0.13188187610 1.0 $ 1 p 11 0 0 629.30680737 1.0 255.71500914 1.0 109.29630664 1.0 45.943769765 1.0 19.784226943 1.0 9.7746090299 1.0 4.6426781657 1.0 2.0449974109 1.0 0.82208144153 1.0 0.40978741460 1.0 0.18451465956 1.0 $ 1 d 9 0 0 181.67344614 1.0 59.654414923 1.0 25.353983605 1.0 11.718973530 1.0 5.4455778078 1.0 2.4659440013 1.0 1.0365292729 1.0 0.41097001308 1.0 0.16950067844 1.0 $ 1 f 4 0 0 1.9560745621690000000 1.0 .18397000000000000000 1.0 .36597000000000000000 1.0 .82397000000000000000 1.0 $ 1 g 2 0 0 .27597000000000000000 1.0 .60497000000000000000 1.0 $ 1 h 1 0 0 .52497000000000000000 1.0 a 15 $ PHOSPHORUS $ p (13s11p9d4f2g1h) / [13s11p9d4f2g1h] {1111111111111/11111111111/111111111/1111/11/1} $ 1 s 13 0 0 5107.3657113 1.0 1086.7632676 1.0 350.63674043 1.0 136.65708750 1.0 58.992208540 1.0 25.652124180 1.0 9.8584341771 1.0 4.6827641188 1.0 1.9275606994 1.0 1.0059954069 1.0 0.58812473497 1.0 0.34131983819 1.0 0.18002999045 1.0 $ 1 p 11 0 0 575.56255465 1.0 162.64036130 1.0 62.433891596 1.0 26.387393492 1.0 13.077885117 1.0 6.2324334253 1.0 2.6964171970 1.0 1.5942218913 1.0 0.88999472624 1.0 0.48955078641 1.0 0.23083290253 1.0 $ 1 d 9 0 0 202.19451071 1.0 60.141584369 1.0 24.116762870 1.0 11.029586263 1.0 5.3635229003 1.0 2.6589552243 1.0 1.1768422272 1.0 0.49537300028 1.0 0.21042978214 1.0 $ 1 f 4 0 0 2.6399317553 1.0 .25014500000000000000 1.0 .49814500000000000000 1.0 1.12114500000000000000 1.0 $ 1 g 2 0 0 .36514500000000000000 1.0 .78814500000000000000 1.0 $ 1 h 1 0 0 .68214500000000000000 1.0 a 16 $ SULFUR $ s (13s11p9d4f2g1h) / [13s11p9d4f2g1h] {1111111111111/11111111111/111111111/1111/11/1} $ 1 s 13 0 0 6402.4580816 1.0 1704.9249408 1.0 598.09038904 1.0 225.90920364 1.0 94.426261909 1.0 37.222420840 1.0 18.259106532 1.0 8.7937857291 1.0 4.4619424717 1.0 2.2735987703 1.0 0.78075394724 1.0 0.48191153763 1.0 0.21573555055 1.0 $ 1 p 11 0 0 796.16481618 1.0 226.17928266 1.0 85.598645757 1.0 36.268978384 1.0 16.325207000 1.0 7.6145421568 1.0 3.3388129956 1.0 1.8665221526 1.0 0.94025159837 1.0 0.51521255747 1.0 0.26318380469 1.0 $ 1 d 9 0 0 190.55658672 1.0 60.346801430 1.0 25.141967063 1.0 12.146768196 1.0 6.2993488132 1.0 3.0706106656 1.0 1.2911977798 1.0 0.56678602865 1.0 0.24192419172 1.0 $ 1 f 4 0 0 3.3096133 1.0 .30667000000000000000 1.0 .60767000000000000000 1.0 1.35367000000000000000 1.0 $ 1 g 2 0 0 .43867000000000000000 1.0 .97267000000000000000 1.0 $ 1 h 1 0 0 .78667000000000000000 1.0 a 17 $CHLORINE $ cl (13s11p9d4f2g1h) / [13s11p9d4f2g1h] {1111111111111/11111111111/111111111/1111/11/1} $ 1 s 13 0 0 7082.7970581 1.0 2109.3095076 1.0 768.41281873 1.0 284.79255416 1.0 116.55331731 1.0 46.394820985 1.0 21.956303390 1.0 9.9930272138 1.0 4.7199459556 1.0 2.6573396159 1.0 1.0813481129 1.0 0.53154679199 1.0 0.23367039059 1.0 $ 1 p 11 0 0 973.73528509 1.0 278.99109347 1.0 105.88644516 1.0 45.231846876 1.0 20.289166152 1.0 9.5829383791 1.0 4.4641678563 1.0 2.3625612120 1.0 1.1491964243 1.0 0.60310217244 1.0 0.30590911334 1.0 $ 1 d 9 0 0 204.38030063 1.0 63.693893315 1.0 25.726668979 1.0 11.602467273 1.0 5.4574541509 1.0 2.8838397619 1.0 1.3394023625 1.0 0.61649222177 1.0 0.27470143212 1.0 $ 1 f 4 0 0 4.2040664 1.0 .37855000000000000000 1.0 .75255000000000000000 1.0 1.67555000000000000000 1.0 $ 1 g 2 0 0 .54755000000000000000 1.0 1.21355000000000000000 1.0 $ 1 h 1 0 0 .95155000000000000000 1.0 ergo-3.5/basis/RoosAugDZANO0000664000175000017500000004204312743400275012446 00000000000000! Basis =Roos Augmented Double Zeta ANO !Elements References !-------- ---------- !H - Ne: P.O. Widmark, P.A. Malmqvist, B. Roos, Theor. Chim. Acta, 77, ! 291 (1990). !Na - Ar: P.O. Widmark, B. J. Persson and B. Roos Theor. Chim. Acta, 79, ! 419 (1991). !Sc - Zn: R. Pou-Amerigo, M. Merchan, I. Nebot-Gil, P.O. Widmark and B. Roos, ! Theor. Chim. Acta, 92, 149 (1995). a 1 ! HYDROGEN (8s,4p) -> [3s,2p] ! s functions 8 3 0 188.6144500 0.9639000000E-03 -0.1311900000E-02 0.2422400000E-02 28.27659600 0.7492000000E-02 -0.1034510000E-01 0.2033820000E-01 6.424830000 0.3759540000E-01 -0.5049530000E-01 0.8963940000E-01 1.815041000 0.1433950000 -0.2073855000 0.4422907000 0.5910630000 0.3486363000 -0.4350885000 0.5757144000 0.2121490000 0.4382974000 -0.2472970000E-01 -0.9802890000 0.7989100000E-01 0.1651066000 0.3225260000 -0.6721538000 0.2796200000E-01 0.2102290000E-01 0.7072754000 1.141768500 ! p functions 4 2 0 2.305000000 0.1127902000 -0.2108688000 0.8067500000 0.4185075000 -0.5943796000 0.2823620000 0.4700077000 0.8968890000E-01 0.9882700000E-01 0.1826260000 0.8611634000 a 6 ! CARBON (14s,9p,4d) -> [4s,3p,2d] ! s functions 14 4 0 50557.50100 0.5530000000E-04 -0.1200000000E-04 0.1190000000E-04 -0.1560000000E-04 7524.785600 0.4343000000E-03 -0.9400000000E-04 0.9270000000E-04 -0.1140000000E-03 1694.327600 0.2315900000E-02 -0.5028000000E-03 0.4989000000E-03 -0.6731000000E-03 472.8227900 0.9872900000E-02 -0.2147600000E-02 0.2118000000E-02 -0.2532300000E-02 151.7107500 0.3521950000E-01 -0.7794200000E-02 0.7778400000E-02 -0.1090030000E-01 53.91874600 0.1041938000 -0.2376340000E-01 0.2363280000E-01 -0.2778070000E-01 20.65931100 0.2412741000 -0.6002350000E-01 0.6163060000E-01 -0.9587130000E-01 8.383976000 0.3840174000 -0.1153985000 0.1189680000 -0.1247806000 3.577015000 0.3082371000 -0.1539009000 0.1880621000 -0.3932460000 1.547118000 0.6830550000E-01 -0.1459460000E-01 -0.5403040000E-01 0.6796004000 0.6130130000 0.7782000000E-03 0.3895849000 -0.9814137000 1.197869000 0.2460680000 0.9905000000E-03 0.5397291000 -0.1096758000 -1.897952000 0.9908700000E-01 -0.8930000000E-04 0.1884060000 0.8847356000 -0.4461400000E-02 0.3468000000E-01 0.4710000000E-04 0.2585750000E-01 0.2964983000 1.014214800 ! p functions 9 3 0 83.33315500 0.1224100000E-02 -0.1144400000E-02 0.1466900000E-02 19.55761100 0.9438900000E-02 -0.8979600000E-02 0.1445530000E-01 6.080365000 0.4177440000E-01 -0.3784560000E-01 0.4663730000E-01 2.179317000 0.1318330000 -0.1292708000 0.2366537000 0.8651500000 0.2789119000 -0.3784022000 0.6088734000 0.3619440000 0.3668663000 -0.2692137000 -0.3917793000 0.1547400000 0.2790591000 0.2917542000 -0.8700229000 0.6542900000E-01 0.1380481000 0.5436698000 0.4200505000 0.2290000000E-01 0.3419500000E-01 0.2628308000 0.5799497000 ! d functions 4 2 0 1.900000000 0.9873120000E-01 -0.1455013000 0.6650000000 0.4529661000 -0.5076809000 0.2327500000 0.4362457000 -0.1015630000 0.8146300000E-01 0.2719250000 0.9251922000 a 7 ! NITROGEN (14s,9p,4d) -> [4s,3p,2d] ! s functions 14 4 0 74761.71500 0.5020000000E-04 -0.1120000000E-04 0.9700000000E-05 -0.1210000000E-04 11123.65400 0.3946000000E-03 -0.8780000000E-04 0.7650000000E-04 -0.9030000000E-04 2512.685700 0.2088500000E-02 -0.4667000000E-03 0.4048000000E-03 -0.5179000000E-03 703.7772900 0.8907900000E-02 -0.1993100000E-02 0.1739800000E-02 -0.2004600000E-02 225.4787900 0.3208840000E-01 -0.7303300000E-02 0.6345600000E-02 -0.8360000000E-02 79.61581000 0.9744740000E-01 -0.2282590000E-01 0.2014050000E-01 -0.2274400000E-01 30.23728300 0.2317895000 -0.5922070000E-01 0.5240310000E-01 -0.7448660000E-01 12.26362200 0.3776911000 -0.1156121000 0.1066517000 -0.1108600000 5.265086000 0.3187917000 -0.1565083000 0.1583388000 -0.2983389000 2.333471000 0.8237820000E-01 -0.2310580000E-01 -0.5005100000E-02 0.3212822000 0.9018560000 0.2790500000E-02 0.3756476000 -0.8418720000 1.171029800 0.3583360000 0.2465000000E-03 0.5457653000 -0.1590563000 -0.8649562000 0.1410930000 -0.2890000000E-04 0.2103543000 0.5912026000 -1.223793000 0.4938300000E-01 0.9700000000E-05 0.1278950000E-01 0.5766053000 1.444580500 ! p functions 9 3 0 126.6665700 0.1142300000E-02 -0.9565000000E-03 0.1420100000E-02 29.83738900 0.8959100000E-02 -0.7576300000E-02 0.1254390000E-01 9.394038000 0.4053750000E-01 -0.3369470000E-01 0.5099130000E-01 3.405104000 0.1294901000 -0.1133437000 0.2057118000 1.350000000 0.2767808000 -0.3055498000 0.5452041000 0.5576960000 0.3688889000 -0.2733953000 -0.1522542000 0.2324490000 0.2934619000 0.2019252000 -0.8377166000 0.9426400000E-01 0.1284683000 0.4925344000 0.4965950000E-01 0.3299200000E-01 0.3905860000E-01 0.4098012000 0.7459441000 ! d functions 4 2 0 2.750000000 0.1205306800 -0.1733321000 0.9625000000 0.5076068500 -0.4739903000 0.3368750000 0.4453955600 0.3678810000E-01 0.1179060000 0.1587691700 0.8931612600 a 8 ! OXYGEN (14s,9p,4d) -> [4s,3p,2d] ! s functions 14 4 0 105374.9500 0.4590000000E-04 -0.1050000000E-04 0.9000000000E-05 -0.1090000000E-04 15679.24000 0.3607000000E-03 -0.8250000000E-04 0.7050000000E-04 -0.8220000000E-04 3534.544700 0.1919800000E-02 -0.4412000000E-03 0.3757000000E-03 -0.4675000000E-03 987.3651600 0.8206700000E-02 -0.1886400000E-02 0.1614600000E-02 -0.1846500000E-02 315.9787500 0.2972570000E-01 -0.6954000000E-02 0.5934000000E-02 -0.7558500000E-02 111.6542800 0.9045580000E-01 -0.2172080000E-01 0.1878660000E-01 -0.2108680000E-01 42.69945100 0.2174054000 -0.5685130000E-01 0.4946830000E-01 -0.6675110000E-01 17.39559600 0.3687657000 -0.1139635000 0.1030399000 -0.1093673000 7.438309000 0.3372798000 -0.1620201000 0.1620586000 -0.2731431000 3.222862000 0.9675050000E-01 -0.3338000000E-01 0.9367000000E-03 0.2097137000 1.253877000 0.2567400000E-02 0.3655068000 -0.8224251000 1.203480700 0.4951550000 0.1374600000E-02 0.5520031000 -0.1017902000 -0.6774694000 0.1916650000 -0.1410000000E-03 0.2236393000 0.4253939000 -1.429884000 0.6708300000E-01 0.6830000000E-04 0.6574500000E-02 0.6877028000 1.489106800 ! p functions 9 3 0 200.0000000 0.8933000000E-03 -0.8384000000E-03 0.1261800000E-02 46.53336700 0.7369000000E-02 -0.6849100000E-02 0.1116280000E-01 14.62180900 0.3493920000E-01 -0.3285050000E-01 0.5183160000E-01 5.313064000 0.1152985000 -0.1100060000 0.1978845000 2.102525000 0.2583231000 -0.3135263000 0.5707652000 0.8502230000 0.3696231000 -0.3196011000 -0.1789291000 0.3375970000 0.3238789000 0.2217243000 -0.8982077000 0.1288920000 0.1467989000 0.5622616000 0.2666643000 0.4511200000E-01 0.3361270000E-01 0.3013251000 0.6258994000 ! d functions 4 2 0 3.750000000 0.1284934000 -0.2182055000 1.312500000 0.5211884000 -0.4817695000 0.4593750000 0.4345784000 0.1357595000 0.1607810000 0.1457409000 0.8297734000 a 25 ! MANGANESE (21s,15p,10d,6f) -> [6s,5p,4d,2f] ! s functions 21 6 0 3960805.000 0.8700000000E-05 -0.2600000000E-05 0.1000000000E-05 -0.2000000000E-06 0.4000000000E-06 -0.7000000000E-06 593115.5000 0.6800000000E-04 -0.2050000000E-04 0.7500000000E-05 -0.1800000000E-05 0.2800000000E-05 -0.5800000000E-05 134976.8000 0.3574000000E-03 -0.1078000000E-03 0.3960000000E-04 -0.9400000000E-05 0.1420000000E-04 -0.2880000000E-04 38230.67000 0.1507100000E-02 -0.4553000000E-03 0.1675000000E-03 -0.3980000000E-04 0.6220000000E-04 -0.1299000000E-03 12471.54000 0.5457600000E-02 -0.1655200000E-02 0.6084000000E-03 -0.1445000000E-03 0.2166000000E-03 -0.4351000000E-03 4501.743000 0.1749970000E-01 -0.5357600000E-02 0.1974400000E-02 -0.4699000000E-03 0.7407000000E-03 -0.1559000000E-02 1755.212000 0.4993510000E-01 -0.1565660000E-01 0.5775300000E-02 -0.1371200000E-02 0.2033700000E-02 -0.4042100000E-02 727.3039000 0.1238807000 -0.4095100000E-01 0.1523350000E-01 -0.3632200000E-02 0.5803300000E-02 -0.1236980000E-01 316.3678000 0.2504969000 -0.9287230000E-01 0.3492020000E-01 -0.8304900000E-02 0.1207350000E-01 -0.2356150000E-01 143.0098000 0.3589592000 -0.1684245000 0.6548770000E-01 -0.1572940000E-01 0.2604550000E-01 -0.5741360000E-01 66.21805000 0.2759017000 -0.1891878000 0.7702400000E-01 -0.1842520000E-01 0.2385160000E-01 -0.4110840000E-01 29.91896000 0.6596040000E-01 0.4616510000E-01 -0.1954550000E-01 0.4367300000E-02 0.4852900000E-02 -0.3230330000E-01 14.30318000 -0.1237200000E-02 0.5147184000 -0.3005826000 0.7696050000E-01 -0.1473013000 0.3776811000 6.839451000 0.1956300000E-02 0.5041849000 -0.4562535000 0.1210388000 -0.1459495000 0.2609431000 3.012374000 -0.9071000000E-03 0.9186060000E-01 0.1202727000 -0.3966160000E-01 -0.3547160000E-01 -0.5012000000E-02 1.418808000 0.3975000000E-03 -0.2587000000E-02 0.7281293000 -0.2631384000 0.7785170000 -2.432652000 0.6236240000 -0.1593000000E-03 0.2308000000E-02 0.4032453000 -0.2629456000 -0.8070840000E-01 2.704484700 0.1340980000 0.6830000000E-04 -0.5992000000E-03 0.1779610000E-01 0.4329907000 -2.046530000 -0.1886359000 0.6554800000E-01 -0.6470000000E-04 0.5684000000E-03 -0.1018190000E-01 0.5464339000 1.230539600 -1.984475000 0.2958400000E-01 0.3130000000E-04 -0.2737000000E-03 0.4003700000E-02 0.1906748000 0.5446708000 1.810692300 0.1183400000E-01 -0.7900000000E-05 0.6890000000E-04 -0.9240000000E-03 -0.2215000000E-03 0.8868420000E-01 -0.1521510000 ! p functions 15 5 0 7048.271000 0.1784000000E-03 -0.6390000000E-04 0.1760000000E-04 -0.3520000000E-04 0.3830000000E-04 1669.678000 0.1566800000E-02 -0.5610000000E-03 0.1560000000E-03 -0.3059000000E-03 0.3235000000E-03 541.8571000 0.8715400000E-02 -0.3146500000E-02 0.8697000000E-03 -0.1736100000E-02 0.1886200000E-02 206.4295000 0.3571610000E-01 -0.1303980000E-01 0.3632800000E-02 -0.7122100000E-02 0.7529700000E-02 86.89334000 0.1112153000 -0.4192160000E-01 0.1162420000E-01 -0.2325950000E-01 0.2535640000E-01 39.06309000 0.2516051000 -0.9857340000E-01 0.2770210000E-01 -0.5418060000E-01 0.5694880000E-01 18.24725000 0.3812308000 -0.1596252000 0.4470710000E-01 -0.9199500000E-01 0.1035302000 8.741289000 0.3102902000 -0.1150729000 0.3304800000E-01 -0.6717710000E-01 0.7872650000E-01 4.119332000 0.8812070000E-01 0.1770515000 -0.6260660000E-01 0.1377723000 -0.1922694000 1.914804000 0.3599000000E-02 0.4773779000 -0.1610873000 0.4688822000 -0.6913723000 0.8578930000 0.1452100000E-02 0.4126450000 -0.1769052000 0.1020817000 0.6148777000 0.3549500000 -0.3342000000E-03 0.9948660000E-01 0.1209127000 -1.045961000 0.9207736000 0.1419800000 0.2060000000E-03 -0.1597800000E-02 0.6442919000 -0.6945110000E-01 -1.515377000 0.5679200000E-01 -0.9730000000E-04 0.2678300000E-02 0.3582730000 0.6881997000 0.3682492000 0.2271700000E-01 0.3030000000E-04 -0.7155000000E-03 0.1972490000E-01 0.1821433000 0.7016079000 ! d functions 10 4 0 199.8357000 0.8689000000E-03 -0.6141000000E-03 0.1245300000E-02 -0.1443500000E-02 59.72176000 0.7405500000E-02 -0.5172300000E-02 0.1084020000E-01 -0.1243060000E-01 22.74772000 0.3343540000E-01 -0.2375470000E-01 0.4918380000E-01 -0.5807330000E-01 9.565003000 0.1022231000 -0.7263280000E-01 0.1600817000 -0.1953527000 4.285499000 0.2176382000 -0.1584041000 0.3201419000 -0.3745566000 1.950975000 0.3138865000 -0.2022489000 0.2665074000 0.4875240000E-01 0.8727960000 0.3226514000 -0.1223759000 -0.2815251000 0.7802224000 0.3756210000 0.2489774000 0.1954530000 -0.5757098000 -0.1124107000 0.1480090000 0.1155548000 0.3978832000 -0.7034260000E-01 -1.104248000 0.5920400000E-01 0.3978050000E-01 0.5143697000 0.6737332000 0.9709894000 ! f functions 6 2 0 9.541300000 0.3498520000E-01 -0.8024420000E-01 3.781800000 0.1597661000 -0.3483093000 1.499000000 0.3964869000 -0.4783902000 0.5941000000 0.4551561000 0.2256018000 0.2355000000 0.2397760000 0.5299708000 0.9330000000E-01 0.5663870000E-01 0.1921441000 ergo-3.5/basis/cc-pV(D+d)Z0000664000175000017500000002170212743400275012040 00000000000000$ Basis = cc-pV(D+d)Z $ $Elements supported $ Al Si P S Cl Ar $ $ REFERENCES $Elements References $-------- ---------- $Al - Ar: T.H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys. 114, 9244 (2001) $******************************************************************************* $ a 13 $ ALUMINUM (12s,8p,2d) -> [4s,3p,2d] $ S-TYPE FUNCTIONS 12 4 0 64150.00000 0.00029025 -0.00007580 0.00001751 0.00000000 9617.00000000 0.00225064 -0.00058179 0.00013421 0.00000000 2189.00000000 0.01164590 -0.00308113 0.00071244 0.00000000 620.50000000 0.04673770 -0.01231120 0.00284330 0.00000000 202.70000000 0.14629900 -0.04197810 0.00976842 0.00000000 73.15000000 0.33028300 -0.10337100 0.02418500 0.00000000 28.55000000 0.41586100 -0.19630800 0.04749930 0.00000000 11.77000000 0.18925300 -0.08300020 0.02036210 0.00000000 3.30000000 0.01158890 0.54104000 -0.15878800 0.00000000 1.17300000 -0.00128385 0.57879600 -0.31169400 0.00000000 0.17520000 0.00042588 0.02881470 0.62014700 0.00000000 0.06473000 -0.00019928 -0.00953795 0.52094300 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 258.80000000 0.00406847 -0.00074805 0.00000000 60.89000000 0.03068150 -0.00545796 0.00000000 19.14000000 0.12914900 -0.02453710 0.00000000 6.88100000 0.32083100 -0.05821380 0.00000000 2.57400000 0.45381500 -0.09837560 0.00000000 0.95720000 0.27506600 -0.02600640 0.00000000 0.20990000 0.01908070 0.46402000 0.00000000 0.59860000 -0.00312848 0.64887000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.19500000 1.00000000 0.00000000 0.19000000 0.00000000 1.00000000 a 14 $ SILICON (12s,8p,2d) -> [4s,3p,2d] $ S-TYPE FUNCTIONS 12 4 0 78860.00000 0.00027044 -0.00007232 0.00001851 0.00000000 11820.00000 0.00209717 -0.00055512 0.00014224 0.00000000 2692.00000000 0.01085060 -0.00293805 0.00075219 0.00000000 763.40000000 0.04367540 -0.01176870 0.00302279 0.00000000 249.60000000 0.13765300 -0.04029070 0.01036770 0.00000000 90.28000000 0.31664400 -0.10060900 0.02625630 0.00000000 35.29000000 0.41858100 -0.19652800 0.05239890 0.00000000 14.51000000 0.21021200 -0.10238200 0.02909590 0.00000000 4.05300000 0.01449520 0.52719000 -0.17800300 0.00000000 1.48200000 -0.00203590 0.59325100 -0.34687400 0.00000000 0.25170000 0.00062419 0.03326520 0.62302000 0.00000000 0.09243000 -0.00028287 -0.00973662 0.53771200 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 315.90000000 0.00392656 -0.00085830 0.00000000 74.42000000 0.02988110 -0.00630328 0.00000000 23.48000000 0.12721200 -0.02882550 0.00000000 8.48800000 0.32094300 -0.06945600 0.00000000 3.21700000 0.45542900 -0.11949300 0.00000000 1.22900000 0.26856300 -0.01995810 0.00000000 0.29640000 0.01883360 0.51026800 0.00000000 0.87680000 -0.00262431 0.60038200 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.80300000 1.00000000 0.00000000 0.27500000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (12s,8p,2d) -> [4s,3p,2d] $ S-TYPE FUNCTIONS 12 4 0 94840.00000 0.00025551 -0.00006969 0.00001912 0.00000000 14220.00000 0.00198193 -0.00053527 0.00014722 0.00000000 3236.00000000 0.01027600 -0.00283709 0.00077791 0.00000000 917.10000000 0.04148230 -0.01139830 0.00314546 0.00000000 299.50000000 0.13198400 -0.03929290 0.01082000 0.00000000 108.10000000 0.30866200 -0.09963640 0.02799570 0.00000000 42.18000000 0.42064700 -0.19798300 0.05639780 0.00000000 17.28000000 0.22287800 -0.11486000 0.03581900 0.00000000 4.85800000 0.01640350 0.51859500 -0.19338700 0.00000000 1.81800000 -0.00254255 0.60184700 -0.37209700 0.00000000 0.33720000 0.00074805 0.03686120 0.62424600 0.00000000 0.12320000 -0.00033096 -0.00970759 0.55172100 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 370.50000000 0.00395005 -0.00095983 0.00000000 87.33000000 0.03024920 -0.00711177 0.00000000 27.59000000 0.12955400 -0.03271220 0.00000000 10.00000000 0.32759400 -0.07957840 0.00000000 3.82500000 0.45699200 -0.13501600 0.00000000 1.49400000 0.25308600 -0.00910585 0.00000000 0.39210000 0.01687980 0.53780200 0.00000000 0.11860000 -0.00207093 0.56906600 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 2.50600000 1.00000000 0.00000000 0.37400000 0.00000000 1.00000000 a 16 $ SULFUR (12s,8p,2d) -> [4s,3p,2d] $ S-TYPE FUNCTIONS 12 4 0 110800.00000 0.00024764 -0.00006870 0.00001991 0.00000000 16610.00000 0.00192026 -0.00052768 0.00015348 0.00000000 3781.00000000 0.00996192 -0.00279671 0.00080950 0.00000000 1071.00000000 0.04029750 -0.01126510 0.00328974 0.00000000 349.80000000 0.12860400 -0.03888340 0.01129670 0.00000000 126.30000000 0.30348000 -0.09950250 0.02963850 0.00000000 49.26000000 0.42143200 -0.19974000 0.05998510 0.00000000 20.16000000 0.23078100 -0.12336000 0.04132480 0.00000000 5.72000000 0.01789710 0.51319400 -0.20747400 0.00000000 2.18200000 -0.00297516 0.60712000 -0.39288900 0.00000000 0.43270000 0.00084952 0.03967530 0.63284000 0.00000000 0.15700000 -0.00036794 -0.00946864 0.55692400 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 399.70000000 0.00447541 -0.00116251 0.00000000 94.19000000 0.03417080 -0.00865664 0.00000000 29.75000000 0.14425000 -0.03908860 0.00000000 10.77000000 0.35392800 -0.09346250 0.00000000 4.11900000 0.45908500 -0.14799400 0.00000000 1.62500000 0.20638300 0.03019040 0.00000000 0.47260000 0.01021410 0.56157300 0.00000000 0.14070000 -0.00006031 0.53477600 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 2.99400000 1.00000000 0.00000000 0.48100000 0.00000000 1.00000000 a 17 $ CHLORINE (12s,8p,2d) -> [4s,3p,2d] $ S-TYPE FUNCTIONS 12 4 0 127900.00000 0.00024115 -0.00006789 0.00002050 0.00000000 19170.00000 0.00187095 -0.00052184 0.00015830 0.00000000 4363.00000000 0.00970827 -0.00276513 0.00083364 0.00000000 1236.00000000 0.03931530 -0.01115370 0.00339880 0.00000000 403.60000000 0.12593200 -0.03859190 0.01167380 0.00000000 145.70000000 0.29934100 -0.09948480 0.03096220 0.00000000 56.81000000 0.42188600 -0.20139200 0.06295330 0.00000000 23.23000000 0.23720100 -0.13031300 0.04602570 0.00000000 6.64400000 0.01915310 0.50944300 -0.21931200 0.00000000 2.57500000 -0.00334792 0.61072500 -0.40877300 0.00000000 0.53710000 0.00092988 0.04215490 0.63846500 0.00000000 0.19380000 -0.00039638 -0.00923427 0.56236200 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 417.60000000 0.00525982 -0.00143570 0.00000000 98.33000000 0.03983320 -0.01077960 0.00000000 31.04000000 0.16465500 -0.04700750 0.00000000 11.19000000 0.38732200 -0.11103000 0.00000000 4.24900000 0.45707200 -0.15327500 0.00000000 1.62400000 0.15163600 0.08946090 0.00000000 0.53220000 0.00181615 0.57944400 0.00000000 0.16200000 0.00188296 0.48327200 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 3.65200000 1.00000000 0.00000000 0.60300000 0.00000000 1.00000000 a 18 $ ARGON (12s,8p,2d) -> [4s,3p,2d] $ S-TYPE FUNCTIONS 12 4 0 145700.00000 0.00023670 -0.00006749 0.00002105 0.00000000 21840.00000 0.00183523 -0.00051852 0.00016257 0.00000000 4972.00000000 0.00952860 -0.00274825 0.00085546 0.00000000 1408.00000000 0.03862830 -0.01110070 0.00349745 0.00000000 459.70000000 0.12408100 -0.03848200 0.01201560 0.00000000 165.90000000 0.29647100 -0.09975990 0.03213680 0.00000000 64.69000000 0.42206800 -0.20308800 0.06552790 0.00000000 26.44000000 0.24171100 -0.13560800 0.04993700 0.00000000 7.62800000 0.02005090 0.50719500 -0.22976900 0.00000000 2.99600000 -0.00361000 0.61289800 -0.42100600 0.00000000 0.65040000 0.00097561 0.04429680 0.64233100 0.00000000 0.23370000 -0.00041132 -0.00899278 0.56754000 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 453.70000000 0.00570555 -0.00160655 0.00000000 106.80000000 0.04304600 -0.01217140 0.00000000 33.73000000 0.17659100 -0.05207890 0.00000000 12.13000000 0.40686300 -0.12373700 0.00000000 4.59400000 0.45254900 -0.15161900 0.00000000 1.67800000 0.12280100 0.14242500 0.00000000 0.59090000 -0.00445996 0.58450100 0.00000000 0.18520000 0.00205225 0.43754000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 4.39000000 1.00000000 0.00000000 0.73900000 0.00000000 1.00000000 ergo-3.5/basis/DunningTZ0000775000175000017500000002332412743400275012157 00000000000000$TZ (Dunning) $ $ REFERENCE $ T.H. DUNNING, JR., J. CHEM. PHYS. 55, 716 (1971). a 1 $ HYDROGEN (5s) -> [3s] $ S-TYPE FUNCTIONS 5 3 0 74.6900000 0.02537400 0.00000000 0.00000000 11.2300000 0.18968400 0.00000000 0.00000000 2.5460000 0.85293300 0.00000000 0.00000000 0.7130000 0.00000000 1.00000000 0.00000000 0.2249000 0.00000000 0.00000000 1.00000000 a 3 $ LITHIUM (10s) -> [4s] $ S-TYPE FUNCTIONS 10 4 0 1783.0000000 0.00082400 0.00000000 0.00000000 0.00000000 267.1000000 0.00640300 0.00000000 0.00000000 0.00000000 60.0700000 0.03323900 0.00000000 0.00000000 0.00000000 16.7800000 0.12662100 0.00000000 0.00000000 0.00000000 5.4030000 0.33774900 0.00000000 0.00000000 0.00000000 1.9060000 0.57566900 0.00000000 0.00000000 0.00000000 0.2634000 0.06231100 0.00000000 0.00000000 0.00000000 0.7179000 0.00000000 1.00000000 0.00000000 0.00000000 0.0771600 0.00000000 0.00000000 1.00000000 0.00000000 0.0285400 0.00000000 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (10s) -> [5s] $ S-TYPE FUNCTIONS 11 5 0 3630.0000000 0.00083900 0.00000000 0.00000000 0.00000000 0.00000000 532.3000000 0.00673500 0.00000000 0.00000000 0.00000000 0.00000000 117.8000000 0.03572600 0.00000000 0.00000000 0.00000000 0.00000000 32.6600000 0.13863500 0.00000000 0.00000000 0.00000000 0.00000000 10.4800000 0.38539900 0.00000000 0.00000000 0.00000000 0.00000000 3.6680000 0.54768800 0.00000000 0.00000000 0.00000000 0.00000000 3.6680000 0.00000000 0.21340600 0.00000000 0.00000000 0.00000000 1.3540000 0.00000000 0.81469200 0.00000000 0.00000000 0.00000000 0.3890000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1502000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0524100 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 5 $ BORON (10s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 6250.0000000 0.00079800 0.00000000 0.00000000 0.00000000 0.00000000 916.1000000 0.00641000 0.00000000 0.00000000 0.00000000 0.00000000 202.2000000 0.03429900 0.00000000 0.00000000 0.00000000 0.00000000 55.8300000 0.13548700 0.00000000 0.00000000 0.00000000 0.00000000 17.8600000 0.38853200 0.00000000 0.00000000 0.00000000 0.00000000 6.2530000 0.54775800 0.00000000 0.00000000 0.00000000 0.00000000 6.2530000 0.00000000 0.23264300 0.00000000 0.00000000 0.00000000 2.3120000 0.00000000 0.79721900 0.00000000 0.00000000 0.00000000 0.6824000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2604000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0894000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 15.4600000 0.01682200 0.00000000 0.00000000 3.4830000 0.10087800 0.00000000 0.00000000 1.0660000 0.33689500 0.00000000 0.00000000 0.3928000 0.67231700 0.00000000 0.00000000 0.1503000 0.00000000 1.00000000 0.00000000 0.0572200 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (10s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 9471.0000000 0.00077600 0.00000000 0.00000000 0.00000000 0.00000000 1398.0000000 0.00621800 0.00000000 0.00000000 0.00000000 0.00000000 307.5000000 0.03357500 0.00000000 0.00000000 0.00000000 0.00000000 84.5400000 0.13427800 0.00000000 0.00000000 0.00000000 0.00000000 26.9100000 0.39366800 0.00000000 0.00000000 0.00000000 0.00000000 9.4090000 0.54416900 0.00000000 0.00000000 0.00000000 0.00000000 9.4090000 0.00000000 0.24807500 0.00000000 0.00000000 0.00000000 3.5000000 0.00000000 0.78284400 0.00000000 0.00000000 0.00000000 1.0680000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.4002000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1351000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 25.3700000 0.01629500 0.00000000 0.00000000 5.7760000 0.10209800 0.00000000 0.00000000 1.7870000 0.34022800 0.00000000 0.00000000 0.6577000 0.66826900 0.00000000 0.00000000 0.2480000 0.00000000 1.00000000 0.00000000 0.0910600 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (10s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 13520.0000000 0.00076000 0.00000000 0.00000000 0.00000000 0.00000000 1999.0000000 0.00607600 0.00000000 0.00000000 0.00000000 0.00000000 440.0000000 0.03284700 0.00000000 0.00000000 0.00000000 0.00000000 120.9000000 0.13239600 0.00000000 0.00000000 0.00000000 0.00000000 38.4700000 0.39326100 0.00000000 0.00000000 0.00000000 0.00000000 13.4600000 0.54633900 0.00000000 0.00000000 0.00000000 0.00000000 13.4600000 0.00000000 0.25203600 0.00000000 0.00000000 0.00000000 4.9930000 0.00000000 0.77938500 0.00000000 0.00000000 0.00000000 1.5690000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1923000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 35.9100000 0.01691600 0.00000000 0.00000000 8.4800000 0.10220000 0.00000000 0.00000000 2.7060000 0.33813400 0.00000000 0.00000000 0.9921000 0.66928100 0.00000000 0.00000000 0.3727000 0.00000000 1.00000000 0.00000000 0.1346000 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (10s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 18050.0000000 0.00075700 0.00000000 0.00000000 0.00000000 0.00000000 2660.0000000 0.00606600 0.00000000 0.00000000 0.00000000 0.00000000 585.7000000 0.03278200 0.00000000 0.00000000 0.00000000 0.00000000 160.9000000 0.13260900 0.00000000 0.00000000 0.00000000 0.00000000 51.1600000 0.39683900 0.00000000 0.00000000 0.00000000 0.00000000 17.9000000 0.54257200 0.00000000 0.00000000 0.00000000 0.00000000 17.9000000 0.00000000 0.26249000 0.00000000 0.00000000 0.00000000 6.6390000 0.00000000 0.76982800 0.00000000 0.00000000 0.00000000 2.0770000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.7736000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2558000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 49.8300000 0.01635800 0.00000000 0.00000000 11.4900000 0.10645300 0.00000000 0.00000000 3.6090000 0.34930200 0.00000000 0.00000000 1.3210000 0.65718300 0.00000000 0.00000000 0.4821000 0.00000000 1.00000000 0.00000000 0.1651000 0.00000000 0.00000000 1.00000000 a 9 $ FLUORINE (10s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 23340.0000000 0.00075700 0.00000000 0.00000000 0.00000000 0.00000000 3431.0000000 0.00608100 0.00000000 0.00000000 0.00000000 0.00000000 757.7000000 0.03263600 0.00000000 0.00000000 0.00000000 0.00000000 209.2000000 0.13170400 0.00000000 0.00000000 0.00000000 0.00000000 66.7300000 0.39624000 0.00000000 0.00000000 0.00000000 0.00000000 23.3700000 0.54367200 0.00000000 0.00000000 0.00000000 0.00000000 23.3700000 0.00000000 0.26489300 0.00000000 0.00000000 0.00000000 8.6240000 0.00000000 0.76792500 0.00000000 0.00000000 0.00000000 2.6920000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.0090000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3312000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 65.6600000 0.01603700 0.00000000 0.00000000 15.2200000 0.10569700 0.00000000 0.00000000 4.7880000 0.35022700 0.00000000 0.00000000 1.7320000 0.65819500 0.00000000 0.00000000 0.6206000 0.00000000 1.00000000 0.00000000 0.2070000 0.00000000 0.00000000 1.00000000 a 10 $ NEON (10s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 28660.0000000 0.00076700 0.00000000 0.00000000 0.00000000 0.00000000 4263.0000000 0.00606800 0.00000000 0.00000000 0.00000000 0.00000000 946.8000000 0.03247400 0.00000000 0.00000000 0.00000000 0.00000000 261.5000000 0.13146800 0.00000000 0.00000000 0.00000000 0.00000000 83.3400000 0.39772300 0.00000000 0.00000000 0.00000000 0.00000000 29.1700000 0.54249100 0.00000000 0.00000000 0.00000000 0.00000000 29.1700000 0.00000000 0.26906500 0.00000000 0.00000000 0.00000000 10.7600000 0.00000000 0.76412100 0.00000000 0.00000000 0.00000000 3.3430000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.2410000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.4063000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 84.8400000 0.03615400 0.00000000 0.00000000 19.7100000 0.23950300 0.00000000 0.00000000 6.2190000 0.34921500 0.00000000 0.00000000 2.2110000 0.66283900 0.00000000 0.00000000 0.7853000 0.00000000 1.00000000 0.00000000 0.2566000 0.00000000 0.00000000 1.00000000 $Elements supported $H Li Be B C N O F Ne ergo-3.5/basis/aug-cc-pCV5Z0000775000175000017500000011540112743400275012341 00000000000000$Basis = aug-cc-pCV5Z $Elements supported $H He B C N O F $ $ REFERENCE $Elements References $-------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $ Polarization and/or diffuse functions $Elements References $-------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989) and D. E. Woon and $ D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 103, 4572 (1995). $Al - Ar: K.A. Peterson and T.H. Dunning, Jr. J. Chem. Phys. 117, 10548 (2002) $Ca : K.A. Peterson (to be published) $ ************************************************************************ a 1 $ HYDROGEN (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ HYDROGEN (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 9 6 0 402.0000000 0.00027900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 60.2400000 0.00216500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.7300000 0.01120100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.9050000 0.04487800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.2830000 0.14229900 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.4655000 0.33097900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1811000 0.43626900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0727900 0.17644000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 5 0 4.5160000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.7120000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.6490000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2460000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0744000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 2.9500000 1.00000000 0.00000000 0.00000000 0.00000000 1.2060000 0.00000000 1.00000000 0.00000000 0.00000000 0.4930000 0.00000000 0.00000000 1.00000000 0.00000000 0.1560000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 2.5060000 1.00000000 0.00000000 0.00000000 0.8750000 0.00000000 1.00000000 0.00000000 0.2740000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 2.3580000 1.00000000 0.00000000 0.5430000 0.00000000 1.00000000 a 2 $ HELIUM (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ HELIUM (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 9 6 0 1145.0000000 0.00035900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 171.7000000 0.00277100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 39.0700000 0.01425100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.0400000 0.05556600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.5660000 0.16209100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.2405000 0.33219700 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4473000 0.41961500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1640000 0.18612800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0466400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 5 0 10.1530000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.6270000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.2960000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.4630000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 7.6660000 1.00000000 0.00000000 0.00000000 0.00000000 2.6470000 0.00000000 1.00000000 0.00000000 0.00000000 0.9140000 0.00000000 0.00000000 1.00000000 0.00000000 0.2892000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 5.4110000 1.00000000 0.00000000 0.00000000 1.7070000 0.00000000 1.00000000 0.00000000 0.5345000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 3.4300000 1.00000000 0.00000000 0.7899000 0.00000000 1.00000000 a 5 $ BORON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ BORON Tight (s,p,d,f,g) $ BORON (1s,1p,1d,1f,1g,1h) $ S-TYPE FUNCTIONS 19 11 0 68260.0000000 0.00002400 -0.00000500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 10230.0000000 0.00018500 -0.00003700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2328.0000000 0.00097000 -0.00019600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 660.4000000 0.00405600 -0.00082400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 216.2000000 0.01439900 -0.00292300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 78.6000000 0.04390100 -0.00913800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 30.9800000 0.11305700 -0.02410500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 12.9600000 0.23382500 -0.05475500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 5.6590000 0.35396000 -0.09694300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2.5560000 0.30154700 -0.13748500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.1750000 0.08752100 -0.04456500 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.4249000 0.00281900 0.32434500 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.1712000 0.00004300 0.57041400 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0691300 0.00007800 0.24344400 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 6.4110000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 0.00000000 14.5210000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 0.00000000 32.8900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 0.00000000 74.4960000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0261000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 10 0 66.4400000 0.00083800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 15.7100000 0.00640900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 4.9360000 0.02808100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.7700000 0.09215200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.7008000 0.22416400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.2901000 0.36991500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.1211000 0.37444100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.0497300 0.13908600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 5.1720000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 13.2250000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 33.8160000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 86.4670000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 0.0157000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 8 0 2.0100000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.7960000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.3160000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.1250000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 7.0660000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 19.7210000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 55.0420000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0431000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 1.2150000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.5250000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.2270000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 9.9940000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 33.0900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0843000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 1.1240000 1.00000000 0.00000000 0.00000000 0.00000000 0.4610000 0.00000000 1.00000000 0.00000000 0.00000000 24.0200000 0.00000000 0.00000000 1.00000000 0.00000000 0.2020000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 0.8340000 1.00000000 0.00000000 0.3840000 0.00000000 1.00000000 a 6 $ CARBON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ CARBON Tight (s,p,d,f,g) $ CARBON (1s,1p,1d,1f,1g,1h) $ S-TYPE FUNCTIONS 19 11 0 96770.0000000 0.00002500 -0.00000500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 14500.0000000 0.00019000 -0.00004100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 3300.0000000 0.00100000 -0.00021300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 935.8000000 0.00418300 -0.00089700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 306.2000000 0.01485900 -0.00318700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 111.3000000 0.04530100 -0.00996100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 43.9000000 0.11650400 -0.02637500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 18.4000000 0.24024900 -0.06000100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 8.0540000 0.35879900 -0.10682500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 3.6370000 0.29394100 -0.14416600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.6560000 0.07766500 -0.02464420 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.6333000 0.00233300 0.34900900 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.2545000 0.00050500 0.55873700 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.1019000 0.00003000 0.22810200 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 9.1850000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 0.00000000 20.7950000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 0.00000000 47.0800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 0.00000000 106.5880000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0394000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 10 0 101.8000000 0.00089100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 24.0400000 0.00697600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 7.5710000 0.03166900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 2.7320000 0.10400600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.0850000 0.24163300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.4496000 0.37194600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.1876000 0.35420000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.0760600 0.13156800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 7.6680000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 19.4840000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 49.5100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 125.8040000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 0.0272000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 8 0 3.1340000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.2330000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.4850000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.1910000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 10.0090000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 28.0650000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 78.6950000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0701000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 2.0060000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.8380000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.3500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 11.6930000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 41.5690000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1380000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 1.7530000 1.00000000 0.00000000 0.00000000 0.00000000 0.6780000 0.00000000 1.00000000 0.00000000 0.00000000 32.7800000 0.00000000 0.00000000 1.00000000 0.00000000 0.3190000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 1.2590000 1.00000000 0.00000000 0.5860000 0.00000000 1.00000000 a 7 $ NITROGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ NITROGEN Tight (s,p,d,f,g) $ NITROGEN (1s,1p,1d,1f,1g,1h) $ S-TYPE FUNCTIONS 19 11 0 129200.0000000 0.00002500 -0.00000600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 19350.0000000 0.00019700 -0.00004300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 4404.0000000 0.00103200 -0.00022700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1248.0000000 0.00432500 -0.00095800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 408.0000000 0.01538000 -0.00341600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 148.2000000 0.04686700 -0.01066700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 58.5000000 0.12011600 -0.02827900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 24.5900000 0.24569500 -0.06402000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 10.8100000 0.36137900 -0.11393200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 4.8820000 0.28728300 -0.14699500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2.1950000 0.07017100 -0.00725100 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.8715000 0.00183100 0.36618300 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.3504000 0.00083500 0.54790800 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.1397000 -0.00000600 0.21664500 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 12.2750000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 0.00000000 27.8270000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 0.00000000 63.0850000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 0.00000000 143.0130000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0518000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 10 0 147.0000000 0.00089200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 34.7600000 0.00708200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 11.0000000 0.03281600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 3.9950000 0.10820900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.5870000 0.24809400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.6533000 0.37451300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.2686000 0.34841400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.1067000 0.12834000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 10.7600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 27.1800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 68.6560000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 173.4250000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 0.0369000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 8 0 4.6470000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.8130000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.7070000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.2760000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 14.0530000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 39.0810000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 108.6850000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0971000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 2.9420000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.2040000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.4930000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 14.3570000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 52.6900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1920000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 2.5110000 1.00000000 0.00000000 0.00000000 0.00000000 0.9420000 0.00000000 1.00000000 0.00000000 0.00000000 41.1200000 0.00000000 0.00000000 1.00000000 0.00000000 0.4360000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 1.7680000 1.00000000 0.00000000 0.7880000 0.00000000 1.00000000 a 8 $ OXYGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ OXYGEN Tight (s,p,d,f,g) $ OXYGEN (1s,1p,1d,1f,1g,1h) $ S-TYPE FUNCTIONS 19 11 0 164200.0000000 0.00002600 -0.00000600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 24590.0000000 0.00020500 -0.00004600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 5592.0000000 0.00107600 -0.00024400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1582.0000000 0.00452200 -0.00103100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 516.1000000 0.01610800 -0.00368800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 187.2000000 0.04908500 -0.01151400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 73.9300000 0.12485700 -0.03043500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 31.2200000 0.25168600 -0.06814700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 13.8100000 0.36242000 -0.12036800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 6.2560000 0.27905100 -0.14826000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2.7760000 0.06355200 0.00990500 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.1380000 0.00106300 0.38428600 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.4600000 0.00114400 0.53680500 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.1829000 -0.00004000 0.20268700 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 15.6450000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 0.00000000 35.8740000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 0.00000000 82.2590000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 0.00000000 188.6200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0655000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 10 0 195.5000000 0.00091800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 46.1600000 0.00738800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 14.5800000 0.03495800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 5.2960000 0.11543100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 2.0940000 0.25680300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.8471000 0.37393800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.3368000 0.34344700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.1285000 0.12970600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 14.0490000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 35.4460000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 89.4290000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 225.6300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 0.0446000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 8 0 5.8790000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.3070000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.9050000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.3550000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 16.7030000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 47.3200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 134.0560000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.1310000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 4.0160000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.5540000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.6010000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 17.3540000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 65.5460000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2370000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 3.3500000 1.00000000 0.00000000 0.00000000 0.00000000 1.1890000 0.00000000 1.00000000 0.00000000 0.00000000 48.5780000 0.00000000 0.00000000 1.00000000 0.00000000 0.5170000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 2.3190000 1.00000000 0.00000000 1.0240000 0.00000000 1.00000000 a 9 $ FLUORINE (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ FLUORINE Tight (s,p,d,f,g) $ FLUORINE (1s,1p,1d,1f,1g,1h) $ S-TYPE FUNCTIONS 19 11 0 211400.0000000 0.00002600 -0.00000600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 31660.0000000 0.00020100 -0.00004700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 7202.0000000 0.00105600 -0.00024400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 2040.0000000 0.00443200 -0.00103100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 666.4000000 0.01576600 -0.00368300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 242.0000000 0.04811200 -0.01151300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 95.5300000 0.12323200 -0.03066300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 40.2300000 0.25151900 -0.06957200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 17.7200000 0.36452500 -0.12399200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 8.0050000 0.27976600 -0.15021400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 3.5380000 0.06354500 0.01646000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 1.4580000 0.00111100 0.39255000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.5887000 0.00125800 0.53216400 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 0.2324000 -0.00003500 0.19652400 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.00000000 19.8760000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 0.00000000 44.8800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 0.00000000 101.3390000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 0.00000000 228.8240000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0806000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 10 0 241.9000000 0.00100200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 57.1700000 0.00805400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 18.1300000 0.03804800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 6.6240000 0.12377900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 2.6220000 0.26606000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.0570000 0.37179600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.4176000 0.33289000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.1574000 0.12849100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 17.3060000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 43.6630000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 110.1620000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 277.9380000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 0.0550000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 8 0 7.7600000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3.0320000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.1850000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.4630000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 21.7310000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 60.9550000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 170.8900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.1720000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 5.3980000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.0780000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.8000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 22.3370000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 82.2900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3310000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 4.3380000 1.00000000 0.00000000 0.00000000 0.00000000 1.5130000 0.00000000 1.00000000 0.00000000 0.00000000 49.7270000 0.00000000 0.00000000 1.00000000 0.00000000 0.6630000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 2.9950000 1.00000000 0.00000000 1.3260000 0.00000000 1.00000000 ergo-3.5/basis/STO-2G0000775000175000017500000002722412743400275011215 00000000000000$Basis = STO-2G $Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sr $ $ REFERENCE $ Elements References $ -------- ---------- $ H - He: W.J. Hehre, R.F. Stewart and J.A. Pople, J. Chem.Phys. 2657 (1969). $ Li - Ne, W.J. Hehre, R. Ditchfield, R.F. Stewart, J.A. Pople, $ Na - Ar, J. Chem. Phys. 52, 2769 (1970). $ K - Kr: $ a 1 $ HYDROGEN (2S) -> [1S] $ S-TYPE FUNCTIONS 2 1 0 1.3097564 0.43012850 0.2331360 0.67891353 a 2 $ HELIUM (2S) -> [1S] $ S-TYPE FUNCTIONS 2 1 0 2.4328790 0.43012800 0.4330510 0.67891400 a 3 $ LITHIUM (4S,2P) -> [2S,1P] $ S-TYPE FUNCTIONS 4 2 0 6.1638450 0.43012800 0.00000000 1.0971610 0.67891400 0.00000000 0.2459160 0.00000000 0.04947200 0.0623710 0.00000000 0.96378200 $ P-TYPE FUNCTIONS 2 1 0 0.2459160 0.51154100 0.0623710 0.61282000 a 4 $ BERYLLIUM (4S,2P) -> [2S,1P] $ S-TYPE FUNCTIONS 4 2 0 11.5356690 0.43012800 0.00000000 2.0533430 0.67891400 0.00000000 0.5081630 0.00000000 0.04947200 0.1288840 0.00000000 0.96378200 $ P-TYPE FUNCTIONS 2 1 0 0.5081630 0.51154100 0.1288840 0.61282000 a 5 $ BORON (4S,2P) -> [2S,1P] $ S-TYPE FUNCTIONS 4 2 0 18.6568730 0.43012800 0.00000000 3.3209140 0.67891400 0.00000000 0.8645500 0.00000000 0.04947200 0.2192730 0.00000000 0.96378200 $ P-TYPE FUNCTIONS 2 1 0 0.8645500 0.51154100 0.2192730 0.61282000 a 6 $ CARBON (4S,2P) -> [2S,1P] $ S-TYPE FUNCTIONS 4 2 0 27.3850330 0.43012850 0.00000000 4.8745221 0.67891353 0.00000000 1.1367482 0.00000000 0.04947177 0.2883094 0.00000000 0.96378241 $ P-TYPE FUNCTIONS 2 1 0 1.1367482 0.51154071 0.2883094 0.61281990 a 7 $ NITROGEN (4S,2P) -> [2S,1P] $ S-TYPE FUNCTIONS 4 2 0 37.8964750 0.43012800 0.00000000 6.7455540 0.67891400 0.00000000 1.4610890 0.00000000 0.04947200 0.3705710 0.00000000 0.96378200 $ P-TYPE FUNCTIONS 2 1 0 1.4610890 0.51154100 0.3705710 0.61282000 a 8 $ OXYGEN (4S,2P) -> [2S,1P] $ S-TYPE FUNCTIONS 4 2 0 49.9809710 0.43012800 0.00000000 8.8965880 0.67891400 0.00000000 1.9452370 0.00000000 0.04947200 0.4933630 0.00000000 0.96378200 $ P-TYPE FUNCTIONS 2 1 0 1.9452370 0.51154100 0.4933630 0.61282000 a 9 $ FLUORINE (4S,2P) -> [2S,1P] $ S-TYPE FUNCTIONS 4 2 0 63.7352020 0.43012800 0.00000000 11.3448340 0.67891400 0.00000000 2.4985480 0.00000000 0.04947200 0.6336980 0.00000000 0.96378200 $ P-TYPE FUNCTIONS 2 1 0 2.4985480 0.51154100 0.6336980 0.61282000 a 10 $ NEON (4S,2P) -> [2S,1P] $ S-TYPE FUNCTIONS 4 2 0 79.1591680 0.43012800 0.00000000 14.0902920 0.67891400 0.00000000 3.1870760 0.00000000 0.04947200 0.8083270 0.00000000 0.96378200 $ P-TYPE FUNCTIONS 2 1 0 3.1870760 0.51154100 0.8083270 0.61282000 a 11 $ SODIUM (6S,4P) -> [3S,2P] $ S-TYPE FUNCTIONS 6 3 0 95.8910160 0.43012800 0.00000000 0.00000000 17.0685520 0.67891400 0.00000000 0.00000000 4.6533520 0.00000000 0.04947200 0.00000000 1.1802130 0.00000000 0.96378200 0.00000000 0.2840050 0.00000000 0.00000000 -0.29839900 0.0974390 0.00000000 0.00000000 1.22798300 $ P-TYPE FUNCTIONS 4 2 0 4.6533520 0.51154100 0.00000000 1.1802130 0.61282000 0.00000000 0.2840050 0.00000000 0.34804700 0.0974390 0.00000000 0.72225200 a 12 $ MAGNESIUM (6S,4P) -> [3S,2P] $ S-TYPE FUNCTIONS 6 3 0 114.4231830 0.43012800 0.00000000 0.00000000 20.3672690 0.67891400 0.00000000 0.00000000 5.8443550 0.00000000 0.04947200 0.00000000 1.4822830 0.00000000 0.96378200 0.00000000 0.3178150 0.00000000 0.00000000 -0.29839900 0.1090390 0.00000000 0.00000000 1.22798300 $ P-TYPE FUNCTIONS 4 2 0 5.8443550 0.51154100 0.00000000 1.4822830 0.61282000 0.00000000 0.3178150 0.00000000 0.34804700 0.1090390 0.00000000 0.72225200 a 13 $ ALUMINUM (6S,4P) -> [3S,2P] $ S-TYPE FUNCTIONS 6 3 0 134.3774610 0.43012800 0.00000000 0.00000000 23.9191200 0.67891400 0.00000000 0.00000000 7.3043300 0.00000000 0.04947200 0.00000000 1.8525710 0.00000000 0.96378200 0.00000000 0.3747870 0.00000000 0.00000000 -0.29839900 0.1285860 0.00000000 0.00000000 1.22798300 $ P-TYPE FUNCTIONS 4 2 0 7.3043300 0.51154100 0.00000000 1.8525710 0.61282000 0.00000000 0.3747870 0.00000000 0.34804700 0.1285860 0.00000000 0.72225200 a 14 $ SILICON (6S,4P) -> [3S,2P] $ S-TYPE FUNCTIONS 6 3 0 155.9346910 0.43012800 0.00000000 0.00000000 27.7562960 0.67891400 0.00000000 0.00000000 8.9639960 0.00000000 0.04947200 0.00000000 2.2735060 0.00000000 0.96378200 0.00000000 0.4660350 0.00000000 0.00000000 -0.29839900 0.1598920 0.00000000 0.00000000 1.22798300 $ P-TYPE FUNCTIONS 4 2 0 8.9639960 0.51154100 0.00000000 2.2735060 0.61282000 0.00000000 0.4660350 0.00000000 0.34804700 0.1598920 0.00000000 0.72225200 a 15 $ PHOSPHORUS (6S,4P) -> [3S,2P] $ S-TYPE FUNCTIONS 6 3 0 179.0948740 0.43012800 0.00000000 0.00000000 31.8787970 0.67891400 0.00000000 0.00000000 10.8341890 0.00000000 0.04947200 0.00000000 2.7478370 0.00000000 0.96378200 0.00000000 0.5872910 0.00000000 0.00000000 -0.29839900 0.2014940 0.00000000 0.00000000 1.22798300 $ P-TYPE FUNCTIONS 4 2 0 10.8341890 0.51154100 0.00000000 2.7478370 0.61282000 0.00000000 0.5872910 0.00000000 0.34804700 0.2014940 0.00000000 0.72225200 a 16 $ SULFUR (6S,4P) -> [3S,2P] $ S-TYPE FUNCTIONS 6 3 0 203.8580090 0.43012800 0.00000000 0.00000000 36.2866230 0.67891400 0.00000000 0.00000000 12.8814430 0.00000000 0.04947200 0.00000000 3.2670740 0.00000000 0.96378200 0.00000000 0.7225530 0.00000000 0.00000000 -0.29839900 0.2479010 0.00000000 0.00000000 1.22798300 $ P-TYPE FUNCTIONS 4 2 0 12.8814430 0.51154100 0.00000000 3.2670740 0.61282000 0.00000000 0.7225530 0.00000000 0.34804700 0.2479010 0.00000000 0.72225200 a 17 $ CHLORINE (6S,4P) -> [3S,2P] $ S-TYPE FUNCTIONS 6 3 0 229.9441040 0.43012800 0.00000000 0.00000000 40.9299350 0.67891400 0.00000000 0.00000000 15.0576100 0.00000000 0.04947200 0.00000000 3.8190080 0.00000000 0.96378200 0.00000000 0.8883460 0.00000000 0.00000000 -0.29839900 0.3047830 0.00000000 0.00000000 1.22798300 $ P-TYPE FUNCTIONS 4 2 0 15.0576100 0.51154100 0.00000000 3.8190080 0.61282000 0.00000000 0.8883460 0.00000000 0.34804700 0.3047830 0.00000000 0.72225200 a 18 $ ARGON (6S,4P) -> [3S,2P] $ S-TYPE FUNCTIONS 6 3 0 257.8966190 0.43012800 0.00000000 0.00000000 45.9054680 0.67891400 0.00000000 0.00000000 17.4552940 0.00000000 0.04947200 0.00000000 4.4271240 0.00000000 0.96378200 0.00000000 1.0530930 0.00000000 0.00000000 -0.29839900 0.3613060 0.00000000 0.00000000 1.22798300 $ P-TYPE FUNCTIONS 4 2 0 17.4552940 0.51154100 0.00000000 4.4271240 0.61282000 0.00000000 1.0530930 0.00000000 0.34804700 0.3613060 0.00000000 0.72225200 a 19 $ POTASSIUM (8S,6P) -> [4S,3P] $ S-TYPE FUNCTIONS 8 4 0 295.0121465 0.43012850 0.00000000 0.00000000 0.00000000 52.5120134 0.67891353 0.00000000 0.00000000 0.00000000 20.2525924 0.00000000 0.04947177 0.00000000 0.00000000 5.1365922 0.00000000 0.96378241 0.00000000 0.00000000 1.4669665 0.00000000 0.00000000 -0.29839860 0.00000000 0.5033015 0.00000000 0.00000000 1.22798289 0.00000000 0.2540481 0.00000000 0.00000000 0.00000000 -0.66156030 0.1022398 0.00000000 0.00000000 0.00000000 1.51075413 $ P-TYPE FUNCTIONS 6 3 0 20.2525924 0.51154071 0.00000000 0.00000000 5.1365922 0.61281990 0.00000000 0.00000000 1.4669665 0.00000000 0.34804719 0.00000000 0.5033015 0.00000000 0.72225232 0.00000000 0.2540481 0.00000000 0.00000000 0.13098905 0.1022398 0.00000000 0.00000000 0.89464313 a 20 $ CALCIUM (8S,6P) -> [4S,3P] $ S-TYPE FUNCTIONS 8 4 0 326.5671727 0.43012850 0.00000000 0.00000000 0.00000000 58.1287921 0.67891353 0.00000000 0.00000000 0.00000000 23.0191510 0.00000000 0.04947177 0.00000000 0.00000000 5.8382645 0.00000000 0.96378241 0.00000000 0.00000000 1.7574695 0.00000000 0.00000000 -0.29839860 0.00000000 0.6029702 0.00000000 0.00000000 1.22798289 0.00000000 0.2297850 0.00000000 0.00000000 0.00000000 -0.66156030 0.0924753 0.00000000 0.00000000 0.00000000 1.51075413 $ P-TYPE FUNCTIONS 6 3 0 23.0191510 0.51154071 0.00000000 0.00000000 5.8382645 0.61281990 0.00000000 0.00000000 1.7574695 0.00000000 0.34804719 0.00000000 0.6029702 0.00000000 0.72225232 0.00000000 0.2297850 0.00000000 0.00000000 0.13098905 0.0924753 0.00000000 0.00000000 0.89464313 a 38 $ STRONTIUM (10S,8P,2D) -> [5S,4P,1D] $ S-TYPE FUNCTIONS 10 5 0 1185.7623300 0.43012850 0.00000000 0.00000000 0.00000000 0.00000000 211.0650970 0.67891353 0.00000000 0.00000000 0.00000000 0.00000000 101.8394821 0.00000000 0.04947177 0.00000000 0.00000000 0.00000000 25.8291818 0.00000000 0.96378241 0.00000000 0.00000000 0.00000000 12.5441116 0.00000000 0.00000000 -0.31217170 0.00000000 0.00000000 3.8797320 0.00000000 0.00000000 1.22539842 0.00000000 0.00000000 1.2405610 0.00000000 0.00000000 0.00000000 -0.66156030 0.00000000 0.4992547 0.00000000 0.00000000 0.00000000 1.51075413 0.00000000 0.2632281 0.00000000 0.00000000 0.00000000 0.00000000 -1.09368979 0.1273435 0.00000000 0.00000000 0.00000000 0.00000000 1.88137466 $ P-TYPE FUNCTIONS 8 4 0 101.8394821 0.51154071 0.00000000 0.00000000 0.00000000 25.8291818 0.61281990 0.00000000 0.00000000 0.00000000 12.5441116 0.00000000 0.29400252 0.00000000 0.00000000 3.8797320 0.00000000 0.78004159 0.00000000 0.00000000 1.2405610 0.00000000 0.00000000 0.13098905 0.00000000 0.4992547 0.00000000 0.00000000 0.89464313 0.00000000 0.2632281 0.00000000 0.00000000 0.00000000 -0.10474035 0.1273435 0.00000000 0.00000000 0.00000000 1.08762679 $ D-TYPE FUNCTIONS 2 1 0 12.5441116 0.60060425 3.8797320 0.52920406 ergo-3.5/basis/6-31Gs0000775000175000017500000013224412743400275011161 00000000000000$Basis = 6-31G* $Elements supported $H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar $ $ REFERENCE $Elements References $-------- ---------- $ H - He: W.J. Hehre, R. Ditchfield and J.A. Pople, J. Chem. Phys. 56, $Li - Ne: 2257 (1972). Note: Li and B come from J.D. Dill and J.A. $ Pople, J. Chem. Phys. 62, 2921 (1975). $Na - Ar: M.M. Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, $ D.J. DeFrees and J.A. Pople, J. Chem. Phys. 77, 3654 (1982) $K - Zn: V. Rassolov, J.A. Pople, M. Ratner and T.L. Windus, J. Chem. Phys. $ 109, 1223 (1998) $** $ Note: He and Ne are unpublished basis sets taken from the Gaussian $ program $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $Elements References $-------- ---------- $Li - Ne: P.C. Hariharan and J.A. Pople, Theoret. Chimica Acta 28, 213 (1973). $Na - Ar: M.M. Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, D.J. $ DeFrees and J.A. Pople, J. Chem. Phys. 77, 3654 (1982). $K - Zn: V. Rassolov, J.A. Pople, M. Ratner and T.L. Windus, J. Chem. Phys. $ 109, 1223 (1998) $** $ Note: He and Ne are unpublished basis sets taken from Gaussian. $ a 1 $ HYDROGEN (4s) -> [2s] $ HYDROGEN (1p) $ S-TYPE FUNCTIONS 4 2 0 18.7311370 0.03349460 0.00000000 2.8253937 0.23472695 0.00000000 0.6401217 0.81375733 0.00000000 0.1612778 0.00000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ HELIUM (1p) $ S-TYPE FUNCTIONS 4 2 0 38.4216340 0.02376600 0.00000000 5.7780300 0.15467900 0.00000000 1.2417740 0.46963000 0.00000000 0.2979640 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.1000000 1.00000000 a 3 $ LITHIUM (10s,4p) -> [3s,2p] $ LITHIUM (1d) $ S-TYPE FUNCTIONS 10 3 0 642.4189200 0.00214260 0.00000000 0.00000000 96.7985150 0.01620890 0.00000000 0.00000000 22.0911210 0.07731560 0.00000000 0.00000000 6.2010703 0.24578600 0.00000000 0.00000000 1.9351177 0.47018900 0.00000000 0.00000000 0.6367358 0.34547080 0.00000000 0.00000000 2.3249184 0.00000000 -0.03509170 0.00000000 0.6324306 0.00000000 -0.19123280 0.00000000 0.0790534 0.00000000 1.08398780 0.00000000 0.0359620 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 2.3249184 0.00894150 0.00000000 0.6324306 0.14100950 0.00000000 0.0790534 0.94536370 0.00000000 0.0359620 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.2000000 1.00000000 a 4 $ BERYLLIUM (10s,4p) -> [3s,2p] $ BERYLLIUM (1d) $ S-TYPE FUNCTIONS 10 3 0 1264.5857000 0.00194480 0.00000000 0.00000000 189.9368100 0.01483510 0.00000000 0.00000000 43.1590890 0.07209060 0.00000000 0.00000000 12.0986630 0.23715420 0.00000000 0.00000000 3.8063232 0.46919870 0.00000000 0.00000000 1.2728903 0.35652020 0.00000000 0.00000000 3.1964631 0.00000000 -0.11264870 0.00000000 0.7478133 0.00000000 -0.22950640 0.00000000 0.2199663 0.00000000 1.18691670 0.00000000 0.0823099 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 3.1964631 0.05598020 0.00000000 0.7478133 0.26155060 0.00000000 0.2199663 0.79397230 0.00000000 0.0823099 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4000000 1.00000000 a 5 $ BORON (10s,4p) -> [3s,2p] $ BORON (1d) $ S-TYPE FUNCTIONS 10 3 0 2068.8823000 0.00186630 0.00000000 0.00000000 310.6495700 0.01425150 0.00000000 0.00000000 70.6830330 0.06955160 0.00000000 0.00000000 19.8610800 0.23257290 0.00000000 0.00000000 6.2993048 0.46707870 0.00000000 0.00000000 2.1270270 0.36343140 0.00000000 0.00000000 4.7279710 0.00000000 -0.13039380 0.00000000 1.1903377 0.00000000 -0.13078890 0.00000000 0.3594117 0.00000000 1.13094440 0.00000000 0.1267512 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 4.7279710 0.07459760 0.00000000 1.1903377 0.30784670 0.00000000 0.3594117 0.74345680 0.00000000 0.1267512 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6000000 1.00000000 a 6 $ CARBON (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 3047.5249000 0.00183470 0.00000000 0.00000000 457.3695100 0.01403730 0.00000000 0.00000000 103.9486900 0.06884260 0.00000000 0.00000000 29.2101550 0.23218440 0.00000000 0.00000000 9.2866630 0.46794130 0.00000000 0.00000000 3.1639270 0.36231200 0.00000000 0.00000000 7.8682724 0.00000000 -0.11933240 0.00000000 1.8812885 0.00000000 -0.16085420 0.00000000 0.5442493 0.00000000 1.14345640 0.00000000 0.1687144 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 7.8682724 0.06899910 0.00000000 1.8812885 0.31642400 0.00000000 0.5442493 0.74430830 0.00000000 0.1687144 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 a 7 $ NITROGEN (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 4173.5110000 0.00183480 0.00000000 0.00000000 627.4579000 0.01399500 0.00000000 0.00000000 142.9021000 0.06858700 0.00000000 0.00000000 40.2343300 0.23224100 0.00000000 0.00000000 12.8202100 0.46907000 0.00000000 0.00000000 4.3904370 0.36045500 0.00000000 0.00000000 11.6263580 0.00000000 -0.11496100 0.00000000 2.7162800 0.00000000 -0.16911800 0.00000000 0.7722180 0.00000000 1.14585200 0.00000000 0.2120313 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 11.6263580 0.06758000 0.00000000 2.7162800 0.32390700 0.00000000 0.7722180 0.74089500 0.00000000 0.2120313 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 a 8 $ OXYGEN (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 5484.6717000 0.00183110 0.00000000 0.00000000 825.2349500 0.01395010 0.00000000 0.00000000 188.0469600 0.06844510 0.00000000 0.00000000 52.9645000 0.23271430 0.00000000 0.00000000 16.8975700 0.47019300 0.00000000 0.00000000 5.7996353 0.35852090 0.00000000 0.00000000 15.5396160 0.00000000 -0.11077750 0.00000000 3.5999336 0.00000000 -0.14802630 0.00000000 1.0137618 0.00000000 1.13076700 0.00000000 0.2700058 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 15.5396160 0.07087430 0.00000000 3.5999336 0.33975280 0.00000000 1.0137618 0.72715860 0.00000000 0.2700058 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 a 9 $ FLUORINE (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 7001.1713000 0.00181960 0.00000000 0.00000000 1051.3660000 0.01391600 0.00000000 0.00000000 239.2857000 0.06840500 0.00000000 0.00000000 67.3974500 0.23318600 0.00000000 0.00000000 21.5199600 0.47126700 0.00000000 0.00000000 7.4031010 0.35661900 0.00000000 0.00000000 20.8479500 0.00000000 -0.10850700 0.00000000 4.8083080 0.00000000 -0.14645200 0.00000000 1.3440700 0.00000000 1.12868900 0.00000000 0.3581514 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 20.8479500 0.07162900 0.00000000 4.8083080 0.34591200 0.00000000 1.3440700 0.72247000 0.00000000 0.3581514 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 a 10 $ NEON (10s,4p) -> [3s,2p] $ NEON (1d) $ S-TYPE FUNCTIONS 10 3 0 8425.8515300 0.00188435 0.00000000 0.00000000 1268.5194000 0.01433690 0.00000000 0.00000000 289.6214140 0.07010962 0.00000000 0.00000000 81.8590040 0.23737327 0.00000000 0.00000000 26.2515079 0.47300713 0.00000000 0.00000000 9.0947205 0.34840124 0.00000000 0.00000000 26.5321310 0.00000000 -0.10711829 0.00000000 6.1017550 0.00000000 -0.14616382 0.00000000 1.6962715 0.00000000 1.12777350 0.00000000 0.4458187 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 26.5321310 0.07190959 0.00000000 6.1017550 0.34951337 0.00000000 1.6962715 0.71994051 0.00000000 0.4458187 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 a 11 $ SODIUM (16s,10p) -> [4s,3p] $ SODIUM (1d) $ S-TYPE FUNCTIONS 16 4 0 9993.2000000 0.00193770 0.00000000 0.00000000 0.00000000 1499.8900000 0.01480700 0.00000000 0.00000000 0.00000000 341.9510000 0.07270600 0.00000000 0.00000000 0.00000000 94.6797000 0.25262900 0.00000000 0.00000000 0.00000000 29.7345000 0.49324200 0.00000000 0.00000000 0.00000000 10.0063000 0.31316900 0.00000000 0.00000000 0.00000000 150.9630000 0.00000000 -0.00354210 0.00000000 0.00000000 35.5878000 0.00000000 -0.04395900 0.00000000 0.00000000 11.1683000 0.00000000 -0.10975210 0.00000000 0.00000000 3.9020100 0.00000000 0.18739800 0.00000000 0.00000000 1.3817700 0.00000000 0.64669900 0.00000000 0.00000000 0.4663820 0.00000000 0.30605800 0.00000000 0.00000000 0.4979660 0.00000000 0.00000000 -0.24850300 0.00000000 0.0843530 0.00000000 0.00000000 -0.13170400 0.00000000 0.0666350 0.00000000 0.00000000 1.23352000 0.00000000 0.0259544 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 150.9630000 0.00500170 0.00000000 0.00000000 35.5878000 0.03551100 0.00000000 0.00000000 11.1683000 0.14282500 0.00000000 0.00000000 3.9020100 0.33862000 0.00000000 0.00000000 1.3817700 0.45157900 0.00000000 0.00000000 0.4663820 0.27327100 0.00000000 0.00000000 0.4979660 0.00000000 -0.02302300 0.00000000 0.0843530 0.00000000 0.95035900 0.00000000 0.0666350 0.00000000 0.05985800 0.00000000 0.0259544 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 a 12 $ MAGNESIUM (16s,10p) -> [4s,3p] $ MAGNESIUM (1d) $ S-TYPE FUNCTIONS 16 4 0 11722.8000000 0.00197780 0.00000000 0.00000000 0.00000000 1759.9300000 0.01511400 0.00000000 0.00000000 0.00000000 400.8460000 0.07391100 0.00000000 0.00000000 0.00000000 112.8070000 0.24919100 0.00000000 0.00000000 0.00000000 35.9997000 0.48792800 0.00000000 0.00000000 0.00000000 12.1828000 0.31966200 0.00000000 0.00000000 0.00000000 189.1800000 0.00000000 -0.00323720 0.00000000 0.00000000 45.2119000 0.00000000 -0.04100800 0.00000000 0.00000000 14.3563000 0.00000000 -0.11260000 0.00000000 0.00000000 5.1388600 0.00000000 0.14863300 0.00000000 0.00000000 1.9065200 0.00000000 0.61649700 0.00000000 0.00000000 0.7058870 0.00000000 0.36482900 0.00000000 0.00000000 0.9293400 0.00000000 0.00000000 -0.21229000 0.00000000 0.2690350 0.00000000 0.00000000 -0.10798500 0.00000000 0.1173790 0.00000000 0.00000000 1.17584000 0.00000000 0.0421061 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 189.1800000 0.00492810 0.00000000 0.00000000 45.2119000 0.03498900 0.00000000 0.00000000 14.3563000 0.14072500 0.00000000 0.00000000 5.1388600 0.33364200 0.00000000 0.00000000 1.9065200 0.44494000 0.00000000 0.00000000 0.7058870 0.26925400 0.00000000 0.00000000 0.9293400 0.00000000 -0.02241900 0.00000000 0.2690350 0.00000000 0.19227000 0.00000000 0.1173790 0.00000000 0.84618100 0.00000000 0.0421061 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 a 13 $ ALUMINUM (16s,10p) -> [4s,3p] $ ALUMINUM (1d) $ S-TYPE FUNCTIONS 16 4 0 13983.1000000 0.00194270 0.00000000 0.00000000 0.00000000 2098.7500000 0.01486000 0.00000000 0.00000000 0.00000000 477.7050000 0.07284900 0.00000000 0.00000000 0.00000000 134.3600000 0.24683000 0.00000000 0.00000000 0.00000000 42.8709000 0.48725800 0.00000000 0.00000000 0.00000000 14.5189000 0.32349600 0.00000000 0.00000000 0.00000000 239.6680000 0.00000000 -0.00292620 0.00000000 0.00000000 57.4419000 0.00000000 -0.03740800 0.00000000 0.00000000 18.2859000 0.00000000 -0.11448700 0.00000000 0.00000000 6.5991400 0.00000000 0.11563500 0.00000000 0.00000000 2.4904900 0.00000000 0.61259500 0.00000000 0.00000000 0.9445400 0.00000000 0.39379900 0.00000000 0.00000000 1.2779000 0.00000000 0.00000000 -0.22760600 0.00000000 0.3975900 0.00000000 0.00000000 0.14458300 0.00000000 0.1600950 0.00000000 0.00000000 1.09279000 0.00000000 0.0556577 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 239.6680000 0.00460290 0.00000000 0.00000000 57.4419000 0.03319900 0.00000000 0.00000000 18.2859000 0.13628200 0.00000000 0.00000000 6.5991400 0.33047600 0.00000000 0.00000000 2.4904900 0.44914600 0.00000000 0.00000000 0.9445400 0.26570400 0.00000000 0.00000000 1.2779000 0.00000000 -0.01751300 0.00000000 0.3975900 0.00000000 0.24453300 0.00000000 0.1600950 0.00000000 0.80493400 0.00000000 0.0556577 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.3250000 1.00000000 a 14 $ SILICON (16s,10p) -> [4s,3p] $ SILICON (1d) $ S-TYPE FUNCTIONS 16 4 0 16115.9000000 0.00195948 0.00000000 0.00000000 0.00000000 2425.5800000 0.01492880 0.00000000 0.00000000 0.00000000 553.8670000 0.07284780 0.00000000 0.00000000 0.00000000 156.3400000 0.24613000 0.00000000 0.00000000 0.00000000 50.0683000 0.48591400 0.00000000 0.00000000 0.00000000 17.0178000 0.32500200 0.00000000 0.00000000 0.00000000 292.7180000 0.00000000 -0.00278094 0.00000000 0.00000000 69.8731000 0.00000000 -0.03571460 0.00000000 0.00000000 22.3363000 0.00000000 -0.11498500 0.00000000 0.00000000 8.1503900 0.00000000 0.09356340 0.00000000 0.00000000 3.1345800 0.00000000 0.60301700 0.00000000 0.00000000 1.2254300 0.00000000 0.41895900 0.00000000 0.00000000 1.7273800 0.00000000 0.00000000 -0.24463000 0.00000000 0.5729220 0.00000000 0.00000000 0.00431572 0.00000000 0.2221920 0.00000000 0.00000000 1.09818000 0.00000000 0.0778369 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 292.7180000 0.00443826 0.00000000 0.00000000 69.8731000 0.03266790 0.00000000 0.00000000 22.3363000 0.13472100 0.00000000 0.00000000 8.1503900 0.32867800 0.00000000 0.00000000 3.1345800 0.44964000 0.00000000 0.00000000 1.2254300 0.26137200 0.00000000 0.00000000 1.7273800 0.00000000 -0.01779510 0.00000000 0.5729220 0.00000000 0.25353900 0.00000000 0.2221920 0.00000000 0.80066900 0.00000000 0.0778369 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4500000 1.00000000 a 15 $ PHOSPHORUS (16s,10p) -> [4s,3p] $ PHOSPHORUS (1d) $ S-TYPE FUNCTIONS 16 4 0 19413.3000000 0.00185160 0.00000000 0.00000000 0.00000000 2909.4200000 0.01420620 0.00000000 0.00000000 0.00000000 661.3640000 0.06999950 0.00000000 0.00000000 0.00000000 185.7590000 0.24007900 0.00000000 0.00000000 0.00000000 59.1943000 0.48476200 0.00000000 0.00000000 0.00000000 20.0310000 0.33520000 0.00000000 0.00000000 0.00000000 339.4780000 0.00000000 -0.00278217 0.00000000 0.00000000 81.0101000 0.00000000 -0.03604990 0.00000000 0.00000000 25.8780000 0.00000000 -0.11663100 0.00000000 0.00000000 9.4522100 0.00000000 0.09683280 0.00000000 0.00000000 3.6656600 0.00000000 0.61441800 0.00000000 0.00000000 1.4674600 0.00000000 0.40379800 0.00000000 0.00000000 2.1562300 0.00000000 0.00000000 -0.25292300 0.00000000 0.7489970 0.00000000 0.00000000 0.03285170 0.00000000 0.2831450 0.00000000 0.00000000 1.08125000 0.00000000 0.0998317 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 339.4780000 0.00456462 0.00000000 0.00000000 81.0101000 0.03369360 0.00000000 0.00000000 25.8780000 0.13975500 0.00000000 0.00000000 9.4522100 0.33936200 0.00000000 0.00000000 3.6656600 0.45092100 0.00000000 0.00000000 1.4674600 0.23858600 0.00000000 0.00000000 2.1562300 0.00000000 -0.01776530 0.00000000 0.7489970 0.00000000 0.27405800 0.00000000 0.2831450 0.00000000 0.78542100 0.00000000 0.0998317 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.5500000 1.00000000 a 16 $ SULFUR (16s,10p) -> [4s,3p] $ SULFUR (1d) $ S-TYPE FUNCTIONS 16 4 0 21917.1000000 0.00186900 0.00000000 0.00000000 0.00000000 3301.4900000 0.01423000 0.00000000 0.00000000 0.00000000 754.1460000 0.06969600 0.00000000 0.00000000 0.00000000 212.7110000 0.23848700 0.00000000 0.00000000 0.00000000 67.9896000 0.48330700 0.00000000 0.00000000 0.00000000 23.0515000 0.33807400 0.00000000 0.00000000 0.00000000 423.7350000 0.00000000 -0.00237670 0.00000000 0.00000000 100.7100000 0.00000000 -0.03169300 0.00000000 0.00000000 32.1599000 0.00000000 -0.11331700 0.00000000 0.00000000 11.8079000 0.00000000 0.05609000 0.00000000 0.00000000 4.6311000 0.00000000 0.59225500 0.00000000 0.00000000 1.8702500 0.00000000 0.45500600 0.00000000 0.00000000 2.6158400 0.00000000 0.00000000 -0.25037400 0.00000000 0.9221670 0.00000000 0.00000000 0.06695700 0.00000000 0.3412870 0.00000000 0.00000000 1.05451000 0.00000000 0.1171670 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 423.7350000 0.00406100 0.00000000 0.00000000 100.7100000 0.03068100 0.00000000 0.00000000 32.1599000 0.13045200 0.00000000 0.00000000 11.8079000 0.32720500 0.00000000 0.00000000 4.6311000 0.45285100 0.00000000 0.00000000 1.8702500 0.25604200 0.00000000 0.00000000 2.6158400 0.00000000 -0.01451100 0.00000000 0.9221670 0.00000000 0.31026300 0.00000000 0.3412870 0.00000000 0.75448300 0.00000000 0.1171670 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6500000 1.00000000 a 17 $ CHLORINE (16s,10p) -> [4s,3p] $ CHLORINE (1d) $ S-TYPE FUNCTIONS 16 4 0 25180.1000000 0.00183300 0.00000000 0.00000000 0.00000000 3780.3500000 0.01403400 0.00000000 0.00000000 0.00000000 860.4740000 0.06909700 0.00000000 0.00000000 0.00000000 242.1450000 0.23745200 0.00000000 0.00000000 0.00000000 77.3349000 0.48303400 0.00000000 0.00000000 0.00000000 26.2470000 0.33985600 0.00000000 0.00000000 0.00000000 491.7650000 0.00000000 -0.00229740 0.00000000 0.00000000 116.9840000 0.00000000 -0.03071400 0.00000000 0.00000000 37.4153000 0.00000000 -0.11252800 0.00000000 0.00000000 13.7834000 0.00000000 0.04501600 0.00000000 0.00000000 5.4521500 0.00000000 0.58935300 0.00000000 0.00000000 2.2258800 0.00000000 0.46520600 0.00000000 0.00000000 3.1864900 0.00000000 0.00000000 -0.25183000 0.00000000 1.1442700 0.00000000 0.00000000 0.06158900 0.00000000 0.4203770 0.00000000 0.00000000 1.06018000 0.00000000 0.1426570 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 491.7650000 0.00398940 0.00000000 0.00000000 116.9840000 0.03031800 0.00000000 0.00000000 37.4153000 0.12988000 0.00000000 0.00000000 13.7834000 0.32795100 0.00000000 0.00000000 5.4521500 0.45352700 0.00000000 0.00000000 2.2258800 0.25215400 0.00000000 0.00000000 3.1864900 0.00000000 -0.01429900 0.00000000 1.1442700 0.00000000 0.32357200 0.00000000 0.4203770 0.00000000 0.74350700 0.00000000 0.1426570 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.7500000 1.00000000 a 18 $ ARGON (16s,10p) -> [4s,3p] $ ARGON (1d) $ S-TYPE FUNCTIONS 16 4 0 28348.3000000 0.00182526 0.00000000 0.00000000 0.00000000 4257.6200000 0.01396860 0.00000000 0.00000000 0.00000000 969.8570000 0.06870730 0.00000000 0.00000000 0.00000000 273.2630000 0.23620400 0.00000000 0.00000000 0.00000000 87.3695000 0.48221400 0.00000000 0.00000000 0.00000000 29.6867000 0.34204300 0.00000000 0.00000000 0.00000000 575.8910000 0.00000000 -0.00215972 0.00000000 0.00000000 136.8160000 0.00000000 -0.02907750 0.00000000 0.00000000 43.8098000 0.00000000 -0.11082700 0.00000000 0.00000000 16.2094000 0.00000000 0.02769990 0.00000000 0.00000000 6.4608400 0.00000000 0.57761300 0.00000000 0.00000000 2.6511400 0.00000000 0.48868800 0.00000000 0.00000000 3.8602800 0.00000000 0.00000000 -0.25559200 0.00000000 1.4137300 0.00000000 0.00000000 0.03780660 0.00000000 0.5166460 0.00000000 0.00000000 1.08056000 0.00000000 0.1738880 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 575.8910000 0.00380665 0.00000000 0.00000000 136.8160000 0.02923050 0.00000000 0.00000000 43.8098000 0.12646700 0.00000000 0.00000000 16.2094000 0.32351000 0.00000000 0.00000000 6.4608400 0.45489600 0.00000000 0.00000000 2.6511400 0.25663000 0.00000000 0.00000000 3.8602800 0.00000000 -0.01591970 0.00000000 1.4137300 0.00000000 0.32464600 0.00000000 0.5166460 0.00000000 0.74399000 0.00000000 0.1738880 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8500000 1.00000000 a 25 ! MANGANESE (22s,16p,4d) -> [5s,4p,2d] ! MANGANESE (1f) ! s functions 22 5 0 56347.14000 0.1771580000E-02 0. 0. 0. 0. 8460.943000 0.1357081000E-01 0. 0. 0. 0. 1927.325000 0.6690605000E-01 0. 0. 0. 0. 543.2343000 0.2318541000 0. 0. 0. 0. 173.9905000 0.4799046000 0. 0. 0. 0. 59.36005000 0.3495737000 0. 0. 0. 0. 1165.412000 0. 0.2388751000E-02 0. 0. 0. 277.3276000 0. 0.3181708000E-01 0. 0. 0. 89.47278000 0. 0.1254670000 0. 0. 0. 33.48256000 0. -0.2955431000E-01 0. 0. 0. 13.54037000 0. -0.6175160000 0. 0. 0. 5.557972000 0. -0.4544458000 0. 0. 0. 45.83532000 0. 0. -0.3665856000E-02 0. 0. 15.18777000 0. 0. 0.7231971000E-01 0. 0. 6.500710000 0. 0. 0.2544486000 0. 0. 2.751583000 0. 0. -0.2910380000 0. 0. 1.145404000 0. 0. -0.7359860000 0. 0. 0.4536870000 0. 0. -0.1997617000 0. 0. 1.757999000 0. 0. 0. 0.5628572000E-01 0. 0.6670220000 0. 0. 0. 0.2897491000 0. 0.1051290000 0. 0. 0. -1.140653000 0. 0.3841800000E-01 0. 0. 0. 0. 1.000000000 ! p functions 16 4 0 1165.412000 0.3977318000E-02 0. 0. 0. 277.3276000 0.3103112000E-01 0. 0. 0. 89.47278000 0.1351894000 0. 0. 0. 33.48256000 0.3457387000 0. 0. 0. 13.54037000 0.4629205000 0. 0. 0. 5.557972000 0.2090592000 0. 0. 0. 45.83532000 0. -0.6887578000E-02 0. 0. 15.18777000 0. -0.2846816000E-01 0. 0. 6.500710000 0. 0.6031832000E-01 0. 0. 2.751583000 0. 0.3938961000 0. 0. 1.145404000 0. 0.5013769000 0. 0. 0.4536870000 0. 0.1792264000 0. 0. 1.757999000 0. 0. -0.5035024000 0. 0.6670220000 0. 0. 0.2345011000 0. 0.1051290000 0. 0. 0.9141257000 0. 0.3841800000E-01 0. 0. 0. 1.000000000 ! d functions 4 2 0 20.94355000 0.8672702000E-01 0. 5.510486000 0.3841883000 0. 1.665038000 0.7069071000 0. 0.4617330000 0. 1.000000000 ! f functions 1 1 0 0.8000000000 1.000000000 a 26 ! IRON (22s,16p,4d,1f) -> [5s,4p,2d,1f] ! IRON (1f) ! s functions 22 5 0 61132.6200000 1.766111E-03 0.0000000 0.0000000 0.0000000 0.0000000 9179.3420000 1.353038E-02 0.0000000 0.0000000 0.0000000 0.0000000 2090.8570000 6.673128E-02 0.0000000 0.0000000 0.0000000 0.0000000 589.2479000 2.314823E-01 0.0000000 0.0000000 0.0000000 0.0000000 188.7543000 4.797058E-01 0.0000000 0.0000000 0.0000000 0.0000000 64.4462900 3.501976E-01 0.0000000 0.0000000 0.0000000 0.0000000 1259.9800000 0.0000000 2.438014E-03 0.0000000 0.0000000 0.0000000 299.8761000 0.0000000 3.224048E-02 0.0000000 0.0000000 0.0000000 96.8491700 0.0000000 1.265724E-01 0.0000000 0.0000000 0.0000000 36.3102000 0.0000000 -3.139902E-02 0.0000000 0.0000000 0.0000000 14.7299600 0.0000000 -6.207593E-01 0.0000000 0.0000000 0.0000000 6.0660750 0.0000000 -4.502914E-01 0.0000000 0.0000000 0.0000000 50.4348500 0.0000000 0.0000000 -3.873256E-03 0.0000000 0.0000000 16.8392900 0.0000000 0.0000000 7.196598E-02 0.0000000 0.0000000 7.1920860 0.0000000 0.0000000 2.556591E-01 0.0000000 0.0000000 3.0534200 0.0000000 0.0000000 -2.882837E-01 0.0000000 0.0000000 1.2736430 0.0000000 0.0000000 -7.342822E-01 0.0000000 0.0000000 0.5040910 0.0000000 0.0000000 -2.049353E-01 0.0000000 0.0000000 1.9503160 0.0000000 0.0000000 0.0000000 0.05694869 0.0000000 0.7367210 0.0000000 0.0000000 0.0000000 0.2882915 0.0000000 0.1141770 0.0000000 0.0000000 0.0000000 -1.1381590 0.0000000 0.0411480 0.0000000 0.0000000 0.0000000 0.0000000 1.000000E+00 ! p functions 16 4 0 1259.9800000 4.028019E-03 0.0000000 0.0000000 0.0000000 299.8761000 3.144647E-02 0.0000000 0.0000000 0.0000000 96.8491700 1.368317E-01 0.0000000 0.0000000 0.0000000 36.3102000 3.487236E-01 0.0000000 0.0000000 0.0000000 14.7299600 4.617931E-01 0.0000000 0.0000000 0.0000000 6.0660750 2.043058E-01 0.0000000 0.0000000 0.0000000 50.4348500 0.0000000 -7.017128E-03 0.0000000 0.0000000 16.8392900 0.0000000 -2.877660E-02 0.0000000 0.0000000 7.1920860 0.0000000 6.181383E-02 0.0000000 0.0000000 3.0534200 0.0000000 3.954946E-01 0.0000000 0.0000000 1.2736430 0.0000000 4.989059E-01 0.0000000 0.0000000 0.5040910 0.0000000 1.791251E-01 0.0000000 0.0000000 1.9503160 0.0000000 0.0000000 -0.4593796 0.0000000 0.7367210 0.0000000 0.0000000 0.2852139 0.0000000 0.1141770 0.0000000 0.0000000 0.9076485 0.0000000 0.0411480 0.0000000 0.0000000 0.0000000 1.00000000 ! d functions 4 2 0 23.1499400 8.876935E-02 0.0000000 6.1223680 3.896319E-01 0.0000000 1.8466010 7.014816E-01 0.0000000 0.5043610 0.0000000 1.0000000 ! f functions 1 1 0 0.8000000 1.0000000 a 27 ! Basis = 6-31G* ! COBALT (22s,16p,4d,1f) -> [5s,4p,2d,1f] ! COBALT (1f) ! s functions 22 5 0 66148.9900000 1.759787E-03 0.0000000 0.0000000 0.0000000 0.0000000 9933.0770000 1.348162E-02 0.0000000 0.0000000 0.0000000 0.0000000 2262.8160000 6.649342E-02 0.0000000 0.0000000 0.0000000 0.0000000 637.9154000 2.307939E-01 0.0000000 0.0000000 0.0000000 0.0000000 204.4122000 4.792919E-01 0.0000000 0.0000000 0.0000000 0.0000000 69.8253800 3.514097E-01 0.0000000 0.0000000 0.0000000 0.0000000 1378.8410000 0.0000000 2.376276E-03 0.0000000 0.0000000 0.0000000 328.2694000 0.0000000 3.167450E-02 0.0000000 0.0000000 0.0000000 106.0946000 0.0000000 1.262888E-01 0.0000000 0.0000000 0.0000000 39.8327500 0.0000000 -2.584552E-02 0.0000000 0.0000000 0.0000000 16.1862200 0.0000000 -6.183491E-01 0.0000000 0.0000000 0.0000000 6.6677880 0.0000000 -4.567008E-01 0.0000000 0.0000000 0.0000000 54.5235500 0.0000000 0.0000000 -3.993004E-03 0.0000000 0.0000000 18.2978300 0.0000000 0.0000000 7.409663E-02 0.0000000 0.0000000 7.8673480 0.0000000 0.0000000 2.542000E-01 0.0000000 0.0000000 3.3405340 0.0000000 0.0000000 -2.921657E-01 0.0000000 0.0000000 1.3937560 0.0000000 0.0000000 -7.318703E-01 0.0000000 0.0000000 0.5513260 0.0000000 0.0000000 -2.040784E-01 0.0000000 0.0000000 2.1519470 0.0000000 0.0000000 0.0000000 0.05379843 0.0000000 0.8110630 0.0000000 0.0000000 0.0000000 0.2759971 0.0000000 0.1210170 0.0000000 0.0000000 0.0000000 -1.1296920 0.0000000 0.0430370 0.0000000 0.0000000 0.0000000 0.0000000 1.000000E+00 ! p functions 16 4 0 1378.8410000 3.971488E-03 0.0000000 0.0000000 0.0000000 328.2694000 3.108174E-02 0.0000000 0.0000000 0.0000000 106.0946000 1.357439E-01 0.0000000 0.0000000 0.0000000 39.8327500 3.476827E-01 0.0000000 0.0000000 0.0000000 16.1862200 4.626340E-01 0.0000000 0.0000000 0.0000000 6.6677880 2.051632E-01 0.0000000 0.0000000 0.0000000 54.5235500 0.0000000 -7.290772E-03 0.0000000 0.0000000 18.2978300 0.0000000 -2.926027E-02 0.0000000 0.0000000 7.8673480 0.0000000 6.564150E-02 0.0000000 0.0000000 3.3405340 0.0000000 4.000652E-01 0.0000000 0.0000000 1.3937560 0.0000000 4.950236E-01 0.0000000 0.0000000 0.5513260 0.0000000 1.758240E-01 0.0000000 0.0000000 2.1519470 0.0000000 0.0000000 -0.2165496 0.0000000 0.8110630 0.0000000 0.0000000 0.1240488 0.0000000 0.1210170 0.0000000 0.0000000 0.9724064 0.0000000 0.0430370 0.0000000 0.0000000 0.0000000 1.00000000 ! d functions 4 2 0 25.5930600 9.004748E-02 0.0000000 6.8009900 3.931703E-01 0.0000000 2.0516470 6.976844E-01 0.0000000 0.5556710 0.0000000 1.0000000 ! f functions 1 1 0 0.8000000 1.0000000 ! ZINC a 30 22 5 0 82400.94000 0.1743329000E-02 0. 0. 0. 0. 12372.55000 0.1335966000E-01 0. 0. 0. 0. 2818.351000 0.6594365000E-01 0. 0. 0. 0. 794.5717000 0.2294151000 0. 0. 0. 0. 254.7232000 0.4785453000 0. 0. 0. 0. 87.13880000 0.3537753000 0. 0. 0. 0. 1732.569000 0. 0.2361459000E-02 0. 0. 0. 412.7149000 0. 0.3150177000E-01 0. 0. 0. 133.6780000 0. 0.1272774000 0. 0. 0. 50.38585000 0. -0.2145928000E-01 0. 0. 0. 20.58358000 0. -0.6197652000 0. 0. 0. 8.505940000 0. -0.4590180000 0. 0. 0. 69.36492000 0. 0. -0.4440098000E-02 0. 0. 23.62082000 0. 0. 0.7505253000E-01 0. 0. 10.18471000 0. 0. 0.2533111000 0. 0. 4.334082000 0. 0. -0.2881897000 0. 0. 1.810918000 0. 0. -0.7267052000 0. 0. 0.7148410000 0. 0. -0.2133439000 0. 0. 2.823842000 0. 0. 0. 0.4898543000E-01 0. 1.039543000 0. 0. 0. 0.2592793000 0. 0.1432640000 0. 0. 0. -1.115711000 0. 0.4929600000E-01 0. 0. 0. 0. 1.000000000 ! p functions 16 4 0 1732.569000 0.3963125000E-02 0. 0. 0. 412.7149000 0.3113411000E-01 0. 0. 0. 133.6780000 0.1363931000 0. 0. 0. 50.38585000 0.3501266000 0. 0. 0. 20.58358000 0.4623179000 0. 0. 0. 8.505940000 0.2004995000 0. 0. 0. 69.36492000 0. -0.7689262000E-02 0. 0. 23.62082000 0. -0.2997982000E-01 0. 0. 10.18471000 0. 0.7082411000E-01 0. 0. 4.334082000 0. 0.4046141000 0. 0. 1.810918000 0. 0.4882325000 0. 0. 0.7148410000 0. 0.1751970000 0. 0. 2.823842000 0. 0. -0.1586763000 0. 1.039543000 0. 0. 0.8379327000E-01 0. 0.1432640000 0. 0. 0.9840547000 0. 0.4929600000E-01 0. 0. 0. 1.000000000 ! d functions 4 2 0 33.70764000 0.9262648000E-01 0. 9.061106000 0.4002980000 0. 2.738383000 0.6896608000 0. 0.7302940000 0. 1.000000000 ! f functions 1 1 0 0.8000000000 1.000000000 ergo-3.5/basis/aug-cc-pCVQZ0000775000175000017500000020667012743400275012406 00000000000000$Basis = aug-cc-pCVQZ $Elements supported $H He B C N O F Ne Al Si P S Cl Ar $ $ REFERENCE $Elements References $-------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $ Polarization and/or diffuse functions $Elements References $-------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989) and D. E. Woon and $ D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 103, 4572 (1995). $Al - Ar: K.A. Peterson and T.H. Dunning, Jr. J. Chem. Phys. 117, 10548 (2002) $Ca : K.A. Peterson (to be published) $ ************************************************************************ a 1 $ HYDROGEN (6s,3p,2d,1f) -> [4s,3p,2d,1f] $ HYDROGEN Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 7 5 0 82.6400000 0.00200600 0.00000000 0.00000000 0.00000000 0.00000000 12.4100000 0.01534300 0.00000000 0.00000000 0.00000000 0.00000000 2.8240000 0.07557900 0.00000000 0.00000000 0.00000000 0.00000000 0.7977000 0.25687500 1.00000000 0.00000000 0.00000000 0.00000000 0.2581000 0.49736800 0.00000000 1.00000000 0.00000000 0.00000000 0.0898900 0.29613300 0.00000000 0.00000000 1.00000000 0.00000000 0.0236300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 4 0 2.2920000 1.00000000 0.00000000 0.00000000 0.00000000 0.8380000 0.00000000 1.00000000 0.00000000 0.00000000 0.2920000 0.00000000 0.00000000 1.00000000 0.00000000 0.0848000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.0620000 1.00000000 0.00000000 0.00000000 0.6620000 0.00000000 1.00000000 0.00000000 0.1900000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.3970000 1.00000000 0.00000000 0.3600000 0.00000000 1.00000000 a 2 $ HELIUM (7s,3p,2d,1f) -> [4s,3p,2d,1f] $ HELIUM Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 8 5 0 528.5000000 0.00094000 0.00000000 0.00000000 0.00000000 0.00000000 79.3100000 0.00721400 0.00000000 0.00000000 0.00000000 0.00000000 18.0500000 0.03597500 0.00000000 0.00000000 0.00000000 0.00000000 5.0850000 0.12778200 0.00000000 0.00000000 0.00000000 0.00000000 1.6090000 0.30847000 1.00000000 0.00000000 0.00000000 0.00000000 0.5363000 0.45305200 0.00000000 1.00000000 0.00000000 0.00000000 0.1833000 0.23888400 0.00000000 0.00000000 1.00000000 0.00000000 0.0481900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 4 0 5.9940000 1.00000000 0.00000000 0.00000000 0.00000000 1.7450000 0.00000000 1.00000000 0.00000000 0.00000000 0.5600000 0.00000000 0.00000000 1.00000000 0.00000000 0.1626000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 4.2990000 1.00000000 0.00000000 0.00000000 1.2230000 0.00000000 1.00000000 0.00000000 0.3510000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 2.6800000 1.00000000 0.00000000 0.6906000 0.00000000 1.00000000 a 5 $ BORON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ BORON Tight (s,p,d,f) $ BORON Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 16 9 0 23870.0000000 0.00008800 -0.00001800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 3575.0000000 0.00068700 -0.00013900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 812.8000000 0.00360000 -0.00072500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 229.7000000 0.01494900 -0.00306300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 74.6900000 0.05143500 -0.01058100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 26.8100000 0.14330200 -0.03136500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 10.3200000 0.30093500 -0.07101200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 4.1780000 0.40352600 -0.13210300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.7270000 0.22534000 -0.12307200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.4704000 0.01540700 0.26181900 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.1896000 -0.00395500 0.58666200 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.0739400 0.00112400 0.29049400 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 4.8640000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 13.2880000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 36.3040000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.0272100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 8 0 22.2600000 0.00509500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 5.0580000 0.03320600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.4870000 0.13231400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.5071000 0.33181800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.1812000 0.47206300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.0646300 0.25797900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 5.4890000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 16.3020000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 48.4180000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0187800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 1.1100000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.4020000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.1450000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 6.6400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 24.4620000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0466000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.8820000 1.00000000 0.00000000 0.00000000 0.00000000 0.3110000 0.00000000 1.00000000 0.00000000 0.00000000 18.7940000 0.00000000 0.00000000 1.00000000 0.00000000 0.1130000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.6730000 1.00000000 0.00000000 0.2730000 0.00000000 1.00000000 a 6 $ CARBON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ CARBON Tight (s,p,d,f) $ CARBON Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 16 9 0 33980.0000000 0.00009100 -0.00001900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 5089.0000000 0.00070400 -0.00015100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1157.0000000 0.00369300 -0.00078500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 326.6000000 0.01536000 -0.00332400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 106.1000000 0.05292900 -0.01151200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 38.1100000 0.14704300 -0.03416000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 14.7500000 0.30563100 -0.07717300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 6.0350000 0.39934500 -0.14149300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 2.5300000 0.21705100 -0.11801900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.7355000 0.01589400 0.27380600 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.2905000 -0.00308400 0.58651000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.1111000 0.00097800 0.28543000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 7.2160000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 19.5700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 53.0730000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.0414500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 8 0 34.5100000 0.00537800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 7.9150000 0.03613200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.3680000 0.14249300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.8132000 0.34215000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.2890000 0.46386400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.1007000 0.25002800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 8.1820000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 24.1860000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 71.4940000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0321800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 1.8480000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.6490000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.2280000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 8.6560000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 33.2130000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0766000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 1.4190000 1.00000000 0.00000000 0.00000000 0.00000000 0.4850000 0.00000000 1.00000000 0.00000000 0.00000000 24.6940000 0.00000000 0.00000000 1.00000000 0.00000000 0.1870000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 1.0110000 1.00000000 0.00000000 0.4240000 0.00000000 1.00000000 a 7 $ NITROGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ NITROGEN Tight (s,p,d,f) $ NITROGEN Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 16 9 0 45840.0000000 0.00009200 -0.00002000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 6868.0000000 0.00071700 -0.00015900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1563.0000000 0.00374900 -0.00082400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 442.4000000 0.01553200 -0.00347800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 144.3000000 0.05314600 -0.01196600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 52.1800000 0.14678700 -0.03538800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 20.3400000 0.30466300 -0.08007700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 8.3810000 0.39768400 -0.14672200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 3.5290000 0.21764100 -0.11636000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.0540000 0.01696300 0.27991900 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.4118000 -0.00274500 0.58548100 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.1552000 0.00095300 0.28402800 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 9.8620000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 26.6270000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 71.8940000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.0546400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 8 0 49.3300000 0.00553300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 11.3700000 0.03796200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3.4350000 0.14902800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.1820000 0.34892200 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.4173000 0.45897200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.1428000 0.24492300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 11.3200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 33.3490000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 98.2450000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0440200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 2.8370000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.9680000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.3350000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 11.8280000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 45.2180000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1110000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 2.0270000 1.00000000 0.00000000 0.00000000 0.00000000 0.6850000 0.00000000 1.00000000 0.00000000 0.00000000 28.3640000 0.00000000 0.00000000 1.00000000 0.00000000 0.2450000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 1.4270000 1.00000000 0.00000000 0.5590000 0.00000000 1.00000000 a 8 $ OXYGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ OXYGEN Tight (s,p,d,f) $ OXYGEN Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 16 9 0 61420.0000000 0.00009000 -0.00002000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 9199.0000000 0.00069800 -0.00015900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 2091.0000000 0.00366400 -0.00082900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 590.9000000 0.01521800 -0.00350800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 192.3000000 0.05242300 -0.01215600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 69.3200000 0.14592100 -0.03626100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 26.9700000 0.30525800 -0.08299200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 11.1000000 0.39850800 -0.15209000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 4.6820000 0.21698000 -0.11533100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.4280000 0.01759400 0.28897900 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.5547000 -0.00250200 0.58612800 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.2067000 0.00095400 0.27762400 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 12.9740000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 34.9000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 93.8810000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.0695900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 8 0 63.4200000 0.00604400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 14.6600000 0.04179900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 4.4590000 0.16114300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.5310000 0.35673100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.5302000 0.44830900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.1750000 0.24494000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 14.4750000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 42.7300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 126.1400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0534800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 3.7750000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.3000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.4440000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 14.9270000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 57.5440000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1540000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 2.6660000 1.00000000 0.00000000 0.00000000 0.00000000 0.8590000 0.00000000 1.00000000 0.00000000 0.00000000 26.4830000 0.00000000 0.00000000 1.00000000 0.00000000 0.3240000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 1.8460000 1.00000000 0.00000000 0.7140000 0.00000000 1.00000000 a 9 $ FLUORINE (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ FLUORINE Tight (s,p,d,f) $ FLUORINE Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 16 9 0 74530.0000000 0.00009500 -0.00002200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 11170.0000000 0.00073800 -0.00017200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 2543.0000000 0.00385800 -0.00089100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 721.0000000 0.01592600 -0.00374800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 235.9000000 0.05428900 -0.01286200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 85.6000000 0.14951300 -0.03806100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 33.5500000 0.30825200 -0.08623900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 13.9300000 0.39485300 -0.15586500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 5.9150000 0.21103100 -0.11091400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.8430000 0.01715100 0.29876100 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.7124000 -0.00201500 0.58501300 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.2637000 0.00086900 0.27115900 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 16.3190000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 43.7840000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 117.4720000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.0859400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 8 0 80.3900000 0.00634700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 18.6300000 0.04420400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 5.6940000 0.16851400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.9530000 0.36156300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.6702000 0.44217800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.2166000 0.24343500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 18.1190000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 53.5050000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 158.0010000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0656800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 5.0140000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.7250000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.5860000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 18.9430000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 72.7980000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2070000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 3.5620000 1.00000000 0.00000000 0.00000000 0.00000000 1.1480000 0.00000000 1.00000000 0.00000000 0.00000000 25.1610000 0.00000000 0.00000000 1.00000000 0.00000000 0.4600000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 2.3760000 1.00000000 0.00000000 0.9240000 0.00000000 1.00000000 a 10 $ NEON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ NEON Tight (s,p,d) $ NEON Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 16 9 0 99920.00000 0.00008600 -0.00002000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14960.00000 0.00066900 -0.00015800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3399.00000000 0.00351800 -0.00082400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 958.90000000 0.01466700 -0.00350000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 311.20000000 0.05096200 -0.01223300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 111.70000000 0.14374400 -0.03701700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.32000000 0.30456200 -0.08611300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.80000000 0.40010500 -0.15838100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.50300000 0.21864400 -0.11428800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.33700000 0.01866400 0.29819100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.90010000 -0.00216700 0.58578400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.33010000 0.00095100 0.27246700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.18000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 54.04200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 144.72500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10540000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 8 0 99.68000000 0.00656600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.15000000 0.04597900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.10800000 0.17341900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.44100000 0.36457100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.83390000 0.43818500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.26620000 0.24168000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.22200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 65.62200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 193.78000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08178000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 6.47100000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.21300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.74700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 23.61300000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 90.10700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.27300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 4.65700000 1.00000000 0.00000000 0.00000000 0.00000000 1.52400000 0.00000000 1.00000000 0.00000000 0.00000000 28.83000000 0.00000000 0.00000000 1.00000000 0.00000000 0.68900000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 2.98300000 1.00000000 0.00000000 1.22400000 0.00000000 1.00000000 a 13 $ ALUMINUM (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ ALUMINUM Tight (3s,3p,3d,2f,1g) $ ALUMINUM Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 20 10 0 419600.00000 0.00002782 -0.00000724 0.00000167 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 62830.00000 0.00021633 -0.00005617 0.00001296 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14290.00000 0.00113754 -0.00029653 0.00006851 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4038.00000000 0.00479635 -0.00124913 0.00028827 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1312.00000000 0.01723890 -0.00455101 0.00105276 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 470.50000000 0.05380660 -0.01443930 0.00333878 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 181.80000000 0.14132600 -0.04034640 0.00939217 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 74.46000000 0.28926800 -0.09226180 0.02160470 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.90000000 0.38482500 -0.16451000 0.03958730 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.96000000 0.23285200 -0.14129600 0.03491800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.18000000 0.02933300 0.19536500 -0.05284150 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.26500000 -0.00300574 0.57247500 -0.19187800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.96640000 0.00166673 0.37404100 -0.25411500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.24470000 -0.00060602 0.02341190 0.27507000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.11840000 0.00043136 -0.00905197 0.60474300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.05021000 -0.00012292 0.00211174 0.28762900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.72900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 4.87000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.43700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01830000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 9 0 891.30000000 0.00049175 -0.00008887 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 211.30000000 0.00415843 -0.00074582 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 68.28000000 0.02125380 -0.00387025 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.70000000 0.07640580 -0.01393500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.63000000 0.19427700 -0.03668600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.60200000 0.33442800 -0.06277970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.01500000 0.37502600 -0.07896020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.87060000 0.20404100 -0.02885890 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.29720000 0.02137380 0.23825600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.11000000 -0.00202144 0.55136300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.03989000 0.00081725 0.35438500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 4.51400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.03800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01210000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 0.08040000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.19900000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.49400000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.83500000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 5.63700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.14200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02820000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 0.15400000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.40100000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 9.85300000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.52500000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05820000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 0.35700000 1.00000000 0.00000000 0.00000000 6.89400000 0.00000000 1.00000000 0.00000000 0.15300000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ SILICON Tight (3s,3p,3d,2f,1g) $ SILICON Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 20 10 0 513000.00000 0.00002609 -0.00000695 0.00000178 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 76820.00000 0.00020290 -0.00005396 0.00001381 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17470.00000 0.00106715 -0.00028472 0.00007300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4935.00000000 0.00450597 -0.00120203 0.00030767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1602.00000000 0.01623590 -0.00438397 0.00112563 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 574.10000000 0.05089130 -0.01397760 0.00358435 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 221.50000000 0.13515500 -0.03935160 0.01017280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 90.54000000 0.28129200 -0.09142830 0.02375200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.74000000 0.38533600 -0.16560900 0.04434830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.95000000 0.24565100 -0.15250500 0.04190410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.45200000 0.03431450 0.16852400 -0.05025040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.87400000 -0.00334884 0.56928400 -0.21657800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.25000000 0.00187625 0.39805600 -0.28644800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.35990000 -0.00069333 0.02915090 0.26325600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.16990000 0.00043831 -0.00848976 0.63490000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07066000 -0.00012262 0.00199603 0.29083200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.16400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 6.18700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.14700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02750000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 9 0 1122.00000000 0.00044814 -0.00009649 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 266.00000000 0.00381639 -0.00081197 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 85.92000000 0.01981050 -0.00430087 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.33000000 0.07270170 -0.01575020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.37000000 0.18983900 -0.04295410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.80000000 0.33567200 -0.07525740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.55900000 0.37936500 -0.09714460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.12400000 0.20119300 -0.02275070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.39880000 0.02085150 0.29198800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.15330000 -0.00170258 0.55067000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.05728000 0.00075005 0.29761800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.64600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 5.74700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.61200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 0.12000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.30200000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.76000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19.01500000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 7.40100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.88100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04350000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 0.21200000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.54100000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 11.92500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.30400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08460000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 0.46100000 1.00000000 0.00000000 0.00000000 8.57700000 0.00000000 1.00000000 0.00000000 0.21200000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ PHOSPHORUS Tight (3s,3p,3d,2f,1g) $ PHOSPHORUS Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 20 10 0 615200.00000 0.00002475 -0.00000672 0.00000185 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 92120.00000 0.00019247 -0.00005223 0.00001434 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20950.00000 0.00101202 -0.00027536 0.00007572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5920.00000000 0.00427261 -0.00116307 0.00031920 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1922.00000000 0.01541610 -0.00424281 0.00116851 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 688.00000000 0.04859760 -0.01361140 0.00374267 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 265.00000000 0.13006000 -0.03851140 0.01068170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.20000000 0.27451400 -0.09066430 0.02526570 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.22000000 0.38540200 -0.16658400 0.04792830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.23000000 0.25593400 -0.16144700 0.04770960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.85900000 0.03912370 0.14678100 -0.04665250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.54700000 -0.00368010 0.56668200 -0.23496800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.56400000 0.00208211 0.41643300 -0.31133700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.48880000 -0.00078848 0.03438440 0.25710900 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.22660000 0.00045405 -0.00780638 0.65365500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.09331000 -0.00012664 0.00192259 0.29421200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.83100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 7.64000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.93500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03540000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 9 0 1367.00000000 0.00042102 -0.00010083 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 324.00000000 0.00360985 -0.00085450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 104.60000000 0.01892170 -0.00457116 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 39.37000000 0.07055600 -0.01703270 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.26000000 0.18815700 -0.04752040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.05600000 0.33870900 -0.08527860 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.13000000 0.38194300 -0.10967600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.39400000 0.19526100 -0.01611810 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.51790000 0.01994160 0.32289300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.20320000 -0.00135121 0.54573800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07698000 0.00051714 0.26853800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.52300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 7.07300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.22300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02720000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 0.16500000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.41300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.03600000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.41700000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 9.25000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.65400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05940000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 0.28000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.70300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 14.20700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 5.16100000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 0.59700000 1.00000000 0.00000000 0.00000000 10.44800000 0.00000000 1.00000000 0.00000000 0.25000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ SULFUR Tight (3s,3p,3d,2f,1g) $ SULFUR Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 20 10 0 727800.00000 0.00002360 -0.00000652 0.00000189 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 109000.00000 0.00018348 -0.00005066 0.00001469 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24800.00000 0.00096428 -0.00026683 0.00007755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7014.00000000 0.00406537 -0.00112601 0.00032651 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2278.00000000 0.01469730 -0.00411186 0.00119686 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 814.70000000 0.04650810 -0.01324540 0.00384799 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 313.40000000 0.12550800 -0.03770040 0.01105390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 127.70000000 0.26843300 -0.08985540 0.02646450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.48000000 0.38480900 -0.16709800 0.05087710 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.85000000 0.26537200 -0.16935400 0.05300300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.42800000 0.04373260 0.12782400 -0.04255180 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.29000000 -0.00378807 0.56486200 -0.25085300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.90900000 0.00218083 0.43176700 -0.33315200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.62700000 -0.00083694 0.03893980 0.26379600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.28730000 0.00044809 -0.00730260 0.66684900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.11720000 -0.00012529 0.00192327 0.28845100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.59900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 9.18600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.79500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04280000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 9 0 1546.00000000 0.00044118 -0.00011311 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 366.40000000 0.00377571 -0.00095858 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 118.40000000 0.01983600 -0.00513471 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 44.53000000 0.07420630 -0.01926410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.38000000 0.19732700 -0.05359800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.96500000 0.35185100 -0.09603330 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.54100000 0.37868700 -0.11818300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.59100000 0.17093100 0.00923194 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.62050000 0.01515870 0.35884100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.24200000 0.00006720 0.52581800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.09014000 0.00040549 0.24887200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.12700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 8.21900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.72600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03170000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 0.20300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.50400000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.25000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 27.41700000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 10.89300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.31900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07480000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 0.33500000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.86900000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 16.53500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 6.00800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 0.68300000 1.00000000 0.00000000 0.00000000 12.51800000 0.00000000 1.00000000 0.00000000 0.29700000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ CHLORINE Tight (3s,3p,3d,2f,1g) $ CHLORINE Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 20 10 0 834900.00000 0.00002317 -0.00000650 0.00000197 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 125000.00000 0.00018015 -0.00005049 0.00001526 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28430.00000 0.00094778 -0.00026611 0.00008061 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8033.00000000 0.00400139 -0.00112499 0.00033996 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2608.00000000 0.01446290 -0.00410497 0.00124551 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 933.90000000 0.04565860 -0.01319870 0.00399612 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 360.00000000 0.12324800 -0.03753420 0.01147510 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 147.00000000 0.26436900 -0.08972330 0.02755040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 62.88000000 0.38298900 -0.16767100 0.05329170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 27.60000000 0.27093400 -0.17476300 0.05712460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.08000000 0.04714040 0.11490900 -0.03952010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.07500000 -0.00371766 0.56361800 -0.26434300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.27800000 0.00219158 0.44160600 -0.34929100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.77750000 -0.00084985 0.04266970 0.26967100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.35270000 0.00042466 -0.00667229 0.67607300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.14310000 -0.00012002 0.00190729 0.28467900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.68900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 10.88000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 5.72200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05190000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 9 0 1703.00000000 0.00047404 -0.00012827 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 403.60000000 0.00406412 -0.00109356 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 130.30000000 0.02133550 -0.00583429 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.05000000 0.07946110 -0.02192580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.26000000 0.20892700 -0.06013850 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.78700000 0.36494500 -0.10692900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.91900000 0.37172500 -0.12245400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.76500000 0.14629200 0.03836190 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.72070000 0.01079060 0.38525600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.28390000 0.00117004 0.50726500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.10600000 0.00033941 0.22721800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.78400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 9.37900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.23200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03760000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 0.25400000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.62800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.55100000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.25500000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 12.88800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 5.14900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09520000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 0.42300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.08900000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 19.10700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 6.95000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.21700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 0.82700000 1.00000000 0.00000000 0.00000000 14.78200000 0.00000000 1.00000000 0.00000000 0.37800000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ ARGON Tight (3s,3p,3d,2f,1g) $ ARGON Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 20 10 0 950600.00000 0.00002275 -0.00000646 0.00000202 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142300.00000 0.00017694 -0.00005023 0.00001569 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32360.00000 0.00093128 -0.00026480 0.00008286 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9145.00000000 0.00392860 -0.00111895 0.00034926 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2970.00000000 0.01420640 -0.00408276 0.00127976 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1064.00000000 0.04481140 -0.01312160 0.00410365 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 410.80000000 0.12100100 -0.03728550 0.01177890 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 168.00000000 0.26057900 -0.08947090 0.02838680 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71.99000000 0.38136400 -0.16805400 0.05524060 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.67000000 0.27605800 -0.17959400 0.06074920 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.89000000 0.05051790 0.10295300 -0.03620120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.92900000 -0.00359866 0.56263000 -0.27539800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.67800000 0.00218798 0.45035500 -0.36284500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.94160000 -0.00086236 0.04606070 0.27311800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.42390000 0.00040523 -0.00603691 0.68289900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.17140000 -0.00011616 0.00188744 0.28341700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24.02400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 12.70600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 6.72000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 9 0 1890.00000000 0.00049575 -0.00013886 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 447.80000000 0.00425172 -0.00118870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 144.60000000 0.02232770 -0.00632553 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.46000000 0.08308780 -0.02388130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.51000000 0.21711000 -0.06492380 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.77400000 0.37450700 -0.11544400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.36800000 0.36644500 -0.12365100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.95900000 0.12924500 0.06490550 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.82600000 0.00692249 0.40363300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.32970000 0.00083615 0.49059200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.12420000 -0.00015267 0.20852800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.62700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 10.65400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.80400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04350000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 0.31100000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.76300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.87300000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.36400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 15.01300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 6.03200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 0.54300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.32500000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 21.88400000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 7.96800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.29400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 1.00700000 1.00000000 0.00000000 0.00000000 17.24300000 0.00000000 1.00000000 0.00000000 0.45900000 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/STO-6G0000775000175000017500000014770712743400275011232 00000000000000$Basis = STO-6G $Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca $ Sc Ti V Cr Mn Fe Co Ni Cu Zn $ $ REFERENCE $ Elements References $ -------- ---------- $ H - Ne: W.J. Hehre, R.F. Stewart and J.A. Pople, $ J. Chem. Phys. 51, 2657 (1969). $ Na - Ar: W.J. Hehre, R. Ditchfield, R.F. Stewart and J.A. Pople, $ J. Chem. Phys. 52, 2769 (1970). $ A 1 $ HYDROGEN (6S) -> [1S] $ S-TYPE FUNCTIONS 6 1 0 35.5232212 0.00916360 6.5131437 0.04936149 1.8221429 0.16853830 0.6259553 0.37056280 0.2430767 0.41649153 0.1001124 0.13033408 A 2 $ HELIUM (6S) -> [1S] $ S-TYPE FUNCTIONS 6 1 0 65.9845682 0.00916360 12.0981984 0.04936149 3.3846399 0.16853830 1.1627152 0.37056280 0.4515163 0.41649153 0.1859594 0.13033408 A 3 $ LITHIUM (12S,6P) -> [2S,1P] $ S-TYPE FUNCTIONS 12 2 0 167.1758462 0.00916360 0.00000000 30.6515084 0.04936149 0.00000000 8.5751875 0.16853830 0.00000000 2.9458083 0.37056280 0.00000000 1.1439436 0.41649153 0.00000000 0.4711391 0.13033408 0.00000000 6.5975640 0.00000000 -0.01325279 1.3058301 0.00000000 -0.04699171 0.4058510 0.00000000 -0.03378537 0.1561455 0.00000000 0.25024179 0.0678141 0.00000000 0.59511725 0.0310842 0.00000000 0.24070618 $ P-TYPE FUNCTIONS 6 1 0 6.5975640 0.00375970 1.3058301 0.03767937 0.4058510 0.17389674 0.1561455 0.41803643 0.0678141 0.42585955 0.0310842 0.10170830 A 4 $ BERYLLIUM (12S,6P) -> [2S,1P] $ S-TYPE FUNCTIONS 12 2 0 312.8704937 0.00916360 0.00000000 57.3644625 0.04936149 0.00000000 16.0485094 0.16853830 0.00000000 5.5130961 0.37056280 0.00000000 2.1408966 0.41649153 0.00000000 0.8817394 0.13033408 0.00000000 13.6332474 0.00000000 -0.01325279 2.6983755 0.00000000 -0.04699171 0.8386531 0.00000000 -0.03378537 0.3226601 0.00000000 0.25024179 0.1401315 0.00000000 0.59511725 0.0642325 0.00000000 0.24070618 $ P-TYPE FUNCTIONS 6 1 0 13.6332474 0.00375970 2.6983755 0.03767937 0.8386531 0.17389674 0.3226601 0.41803643 0.1401315 0.42585955 0.0642325 0.10170830 A 5 $ BORON (12S,6P) -> [2S,1P] $ S-TYPE FUNCTIONS 12 2 0 519.9159 0.00916360 0.00000000 95.3260 0.04936149 0.00000000 26.6688 0.16853830 0.00000000 9.1614 0.37056280 0.00000000 3.5577 0.41649153 0.00000000 1.4652 0.13033408 0.00000000 21.3481 0.00000000 -0.01325279 4.2253 0.00000000 -0.04699171 1.3132 0.00000000 -0.03378537 0.5052 0.00000000 0.25024179 0.2194 0.00000000 0.59511725 0.1006 0.00000000 0.24070618 $ P-TYPE FUNCTIONS 6 1 0 21.3481 0.00375970 4.2253 0.03767937 1.3132 0.17389674 0.5052 0.41803643 0.2194 0.42585955 0.1006 0.10170830 A 6 $ CARBON (12S,6P) -> [2S,1P] $ S-TYPE FUNCTIONS 12 2 0 742.7370491 0.00916360 0.00000000 136.1800249 0.04936149 0.00000000 38.0982635 0.16853830 0.00000000 13.0877818 0.37056280 0.00000000 5.0823686 0.41649153 0.00000000 2.0932001 0.13033408 0.00000000 30.4972395 0.00000000 -0.01325279 6.0361996 0.00000000 -0.04699171 1.8760463 0.00000000 -0.03378537 0.7217826 0.00000000 0.25024179 0.3134707 0.00000000 0.59511725 0.1436866 0.00000000 0.24070618 $ P-TYPE FUNCTIONS 6 1 0 30.4972395 0.00375970 6.0361996 0.03767937 1.8760463 0.17389674 0.7217826 0.41803643 0.3134707 0.42585955 0.1436866 0.10170830 A 7 $ NITROGEN (12S,6P) -> [2S,1P] $ S-TYPE FUNCTIONS 12 2 0 1027.8284580 0.00916360 0.00000000 188.4512226 0.04936149 0.00000000 52.7218610 0.16853830 0.00000000 18.1113822 0.37056280 0.00000000 7.0331797 0.41649153 0.00000000 2.8966518 0.13033408 0.00000000 39.1988079 0.00000000 -0.01325279 7.7584671 0.00000000 -0.04699171 2.4113258 0.00000000 -0.03378537 0.9277239 0.00000000 0.25024179 0.4029111 0.00000000 0.59511725 0.1846837 0.00000000 0.24070618 $ P-TYPE FUNCTIONS 6 1 0 39.1988079 0.00375970 7.7584671 0.03767937 2.4113258 0.17389674 0.9277239 0.41803643 0.4029111 0.42585955 0.1846837 0.10170830 A 8 $ OXYGEN (12S,6P) -> [2S,1P] $ S-TYPE FUNCTIONS 12 2 0 1355.5842340 0.00916360 0.00000000 248.5448855 0.04936149 0.00000000 69.5339023 0.16853830 0.00000000 23.8867721 0.37056280 0.00000000 9.2759326 0.41649153 0.00000000 3.8203413 0.13033408 0.00000000 52.1877620 0.00000000 -0.01325279 10.3293201 0.00000000 -0.04699171 3.2103450 0.00000000 -0.03378537 1.2351354 0.00000000 0.25024179 0.5364202 0.00000000 0.59511725 0.2458806 0.00000000 0.24070618 $ P-TYPE FUNCTIONS 6 1 0 52.1877620 0.00375970 10.3293201 0.03767937 3.2103450 0.17389674 1.2351354 0.41803643 0.5364202 0.42585955 0.2458806 0.10170830 A 9 $ FLUORINE (12S,6P) -> [2S,1P] $ S-TYPE FUNCTIONS 12 2 0 1728.6265740 0.00916360 0.00000000 316.9417900 0.04936149 0.00000000 88.6688914 0.16853830 0.00000000 30.4601573 0.37056280 0.00000000 11.8285704 0.41649153 0.00000000 4.8716585 0.13033408 0.00000000 67.0322809 0.00000000 -0.01325279 13.2674378 0.00000000 -0.04699171 4.1235098 0.00000000 -0.03378537 1.5864628 0.00000000 0.25024179 0.6890019 0.00000000 0.59511725 0.3158200 0.00000000 0.24070618 $ P-TYPE FUNCTIONS 6 1 0 67.0322809 0.00375970 13.2674378 0.03767937 4.1235098 0.17389674 1.5864628 0.41803643 0.6890019 0.42585955 0.3158200 0.10170830 A 10 $ NEON (12S,6P) -> [2S,1P] $ S-TYPE FUNCTIONS 12 2 0 2146.9554750 0.00916360 0.00000000 393.6419362 0.04936149 0.00000000 110.1268283 0.16853830 0.00000000 37.8315378 0.37056280 0.00000000 14.6910932 0.41649153 0.00000000 6.0506035 0.13033408 0.00000000 85.5044292 0.00000000 -0.01325279 16.9235580 0.00000000 -0.04699171 5.2598292 0.00000000 -0.03378537 2.0236459 0.00000000 0.25024179 0.8788708 0.00000000 0.59511725 0.4028508 0.00000000 0.24070618 $ P-TYPE FUNCTIONS 6 1 0 85.5044292 0.00375970 16.9235580 0.03767937 5.2598292 0.17389674 2.0236459 0.41803643 0.8788708 0.42585955 0.4028508 0.10170830 A 11 $ SODIUM (18S,12P) -> [3S,2P] $ S-TYPE FUNCTIONS 18 3 0 2600.7567710 0.00916360 0.00000000 0.00000000 476.8459071 0.04936149 0.00000000 0.00000000 133.4043010 0.16853830 0.00000000 0.00000000 45.8279779 0.37056280 0.00000000 0.00000000 17.7963449 0.41649153 0.00000000 0.00000000 7.3295176 0.13033408 0.00000000 0.00000000 124.8424044 0.00000000 -0.01325279 0.00000000 24.7095699 0.00000000 -0.04699171 0.00000000 7.6797159 0.00000000 -0.03378537 0.00000000 2.9546635 0.00000000 0.25024179 0.00000000 1.2832124 0.00000000 0.59511725 0.00000000 0.5881901 0.00000000 0.24070618 0.00000000 9.4330060 0.00000000 0.00000000 -0.00794313 2.5262438 0.00000000 0.00000000 -0.07100264 0.9473683 0.00000000 0.00000000 -0.17850269 0.4240594 0.00000000 0.00000000 0.15106351 0.2098454 0.00000000 0.00000000 0.73549148 0.1081471 0.00000000 0.00000000 0.27605931 $ P-TYPE FUNCTIONS 12 2 0 124.8424044 0.00375970 0.00000000 24.7095699 0.03767937 0.00000000 7.6797159 0.17389674 0.00000000 2.9546635 0.41803643 0.00000000 1.2832124 0.42585955 0.00000000 0.5881901 0.10170830 0.00000000 9.4330060 0.00000000 -0.00713936 2.5262438 0.00000000 -0.01829277 0.9473683 0.00000000 0.07621621 0.4240594 0.00000000 0.41450986 0.2098454 0.00000000 0.48896215 0.1081471 0.00000000 0.10588165 A 12 $ MAGNESIUM (18S,12P) -> [3S,2P] $ S-TYPE FUNCTIONS 18 3 0 2600.7567710 0.00916360 0.00000000 0.00000000 476.8459071 0.04936149 0.00000000 0.00000000 133.4043010 0.16853830 0.00000000 0.00000000 45.8279779 0.37056280 0.00000000 0.00000000 17.7963449 0.41649153 0.00000000 0.00000000 7.3295176 0.13033408 0.00000000 0.00000000 124.8424044 0.00000000 -0.01325279 0.00000000 24.7095699 0.00000000 -0.04699171 0.00000000 7.6797159 0.00000000 -0.03378537 0.00000000 2.9546635 0.00000000 0.25024179 0.00000000 1.2832124 0.00000000 0.59511725 0.00000000 0.5881901 0.00000000 0.24070618 0.00000000 9.4330060 0.00000000 0.00000000 -0.00794313 2.5262438 0.00000000 0.00000000 -0.07100264 0.9473683 0.00000000 0.00000000 -0.17850269 0.4240594 0.00000000 0.00000000 0.15106351 0.2098454 0.00000000 0.00000000 0.73549148 0.1081471 0.00000000 0.00000000 0.27605931 $ P-TYPE FUNCTIONS 12 2 0 124.8424044 0.00375970 0.00000000 24.7095699 0.03767937 0.00000000 7.6797159 0.17389674 0.00000000 2.9546635 0.41803643 0.00000000 1.2832124 0.42585955 0.00000000 0.5881901 0.10170830 0.00000000 9.4330060 0.00000000 -0.00713936 2.5262438 0.00000000 -0.01829277 0.9473683 0.00000000 0.07621621 0.4240594 0.00000000 0.41450986 0.2098454 0.00000000 0.48896215 0.1081471 0.00000000 0.10588165 A 13 $ ALUMINUM (18S,12P) -> [3S,2P] $ S-TYPE FUNCTIONS 18 3 0 3644.5863880 0.00916360 0.00000000 0.00000000 668.2309248 0.04936149 0.00000000 0.00000000 186.9469321 0.16853830 0.00000000 0.00000000 64.2213167 0.37056280 0.00000000 0.00000000 24.9390166 0.41649153 0.00000000 0.00000000 10.2712643 0.13033408 0.00000000 0.00000000 195.9641441 0.00000000 -0.01325279 0.00000000 38.7864183 0.00000000 -0.04699171 0.00000000 12.0547899 0.00000000 -0.03378537 0.00000000 4.6379122 0.00000000 0.25024179 0.00000000 2.0142484 0.00000000 0.59511725 0.00000000 0.9232774 0.00000000 0.24070618 0.00000000 8.9016775 0.00000000 0.00000000 -0.00794313 2.3839492 0.00000000 0.00000000 -0.07100264 0.8940063 0.00000000 0.00000000 -0.17850269 0.4001736 0.00000000 0.00000000 0.15106351 0.1980255 0.00000000 0.00000000 0.73549148 0.1020555 0.00000000 0.00000000 0.27605931 $ P-TYPE FUNCTIONS 12 2 0 195.9641441 0.00375970 0.00000000 38.7864183 0.03767937 0.00000000 12.0547899 0.17389674 0.00000000 4.6379122 0.41803643 0.00000000 2.0142484 0.42585955 0.00000000 0.9232774 0.10170830 0.00000000 8.9016775 0.00000000 -0.00713936 2.3839492 0.00000000 -0.01829277 0.8940063 0.00000000 0.07621621 0.4001736 0.00000000 0.41450986 0.1980255 0.00000000 0.48896215 0.1020555 0.00000000 0.10588165 A 14 $ SILICON (18S,12P) -> [3S,2P] $ S-TYPE FUNCTIONS 18 3 0 4229.2617370 0.00916360 0.00000000 0.00000000 775.4305100 0.04936149 0.00000000 0.00000000 216.9375129 0.16853830 0.00000000 0.00000000 74.5238907 0.37056280 0.00000000 0.00000000 28.9398076 0.41649153 0.00000000 0.00000000 11.9190109 0.13033408 0.00000000 0.00000000 240.4904849 0.00000000 -0.01325279 0.00000000 47.5993432 0.00000000 -0.04699171 0.00000000 14.7938404 0.00000000 -0.03378537 0.00000000 5.6917236 0.00000000 0.25024179 0.00000000 2.4719195 0.00000000 0.59511725 0.00000000 1.1330615 0.00000000 0.24070618 0.00000000 9.4330060 0.00000000 0.00000000 -0.00794313 2.5262438 0.00000000 0.00000000 -0.07100264 0.9473683 0.00000000 0.00000000 -0.17850269 0.4240594 0.00000000 0.00000000 0.15106351 0.2098454 0.00000000 0.00000000 0.73549148 0.1081471 0.00000000 0.00000000 0.27605931 $ P-TYPE FUNCTIONS 12 2 0 240.4904849 0.00375970 0.00000000 47.5993432 0.03767937 0.00000000 14.7938404 0.17389674 0.00000000 5.6917236 0.41803643 0.00000000 2.4719195 0.42585955 0.00000000 1.1330615 0.10170830 0.00000000 9.4330060 0.00000000 -0.00713936 2.5262438 0.00000000 -0.01829277 0.9473683 0.00000000 0.07621621 0.4240594 0.00000000 0.41450986 0.2098454 0.00000000 0.48896215 0.1081471 0.00000000 0.10588165 A 15 $ PHOSPHORUS (18S,12P) -> [3S,2P] $ S-TYPE FUNCTIONS 18 3 0 4857.4123710 0.00916360 0.00000000 0.00000000 890.6012410 0.04936149 0.00000000 0.00000000 249.1581331 0.16853830 0.00000000 0.00000000 85.5925434 0.37056280 0.00000000 0.00000000 33.2380893 0.41649153 0.00000000 0.00000000 13.6892807 0.13033408 0.00000000 0.00000000 290.6649590 0.00000000 -0.01325279 0.00000000 57.5301810 0.00000000 -0.04699171 0.00000000 17.8803374 0.00000000 -0.03378537 0.00000000 6.8792103 0.00000000 0.25024179 0.00000000 2.9876457 0.00000000 0.59511725 0.00000000 1.3694566 0.00000000 0.24070618 0.00000000 11.1193965 0.00000000 0.00000000 -0.00794313 2.9778743 0.00000000 0.00000000 -0.07100264 1.1167345 0.00000000 0.00000000 -0.17850269 0.4998709 0.00000000 0.00000000 0.15106351 0.2473606 0.00000000 0.00000000 0.73549148 0.1274811 0.00000000 0.00000000 0.27605931 $ P-TYPE FUNCTIONS 12 2 0 290.6649590 0.00375970 0.00000000 57.5301810 0.03767937 0.00000000 17.8803374 0.17389674 0.00000000 6.8792103 0.41803643 0.00000000 2.9876457 0.42585955 0.00000000 1.3694566 0.10170830 0.00000000 11.1193965 0.00000000 -0.00713936 2.9778743 0.00000000 -0.01829277 1.1167345 0.00000000 0.07621621 0.4998709 0.00000000 0.41450986 0.2473606 0.00000000 0.48896215 0.1274811 0.00000000 0.10588165 A 16 $ SULFUR (18S,12P) -> [3S,2P] $ S-TYPE FUNCTIONS 18 3 0 5529.0382890 0.00916360 0.00000000 0.00000000 1013.7431180 0.04936149 0.00000000 0.00000000 283.6087927 0.16853830 0.00000000 0.00000000 97.4272747 0.37056280 0.00000000 0.00000000 37.8338618 0.41649153 0.00000000 0.00000000 15.5820736 0.13033408 0.00000000 0.00000000 345.5896791 0.00000000 -0.01325279 0.00000000 68.4012165 0.00000000 -0.04699171 0.00000000 21.2590471 0.00000000 -0.03378537 0.00000000 8.1791217 0.00000000 0.25024179 0.00000000 3.5521981 0.00000000 0.59511725 0.00000000 1.6282323 0.00000000 0.24070618 0.00000000 12.9443944 0.00000000 0.00000000 -0.00794313 3.4666251 0.00000000 0.00000000 -0.07100264 1.3000212 0.00000000 0.00000000 -0.17850269 0.5819134 0.00000000 0.00000000 0.15106351 0.2879593 0.00000000 0.00000000 0.73549148 0.1484043 0.00000000 0.00000000 0.27605931 $ P-TYPE FUNCTIONS 12 2 0 345.5896791 0.00375970 0.00000000 68.4012165 0.03767937 0.00000000 21.2590471 0.17389674 0.00000000 8.1791217 0.41803643 0.00000000 3.5521981 0.42585955 0.00000000 1.6282323 0.10170830 0.00000000 12.9443944 0.00000000 -0.00713936 3.4666251 0.00000000 -0.01829277 1.3000212 0.00000000 0.07621621 0.5819134 0.00000000 0.41450986 0.2879593 0.00000000 0.48896215 0.1484043 0.00000000 0.10588165 A 17 $ CHLORINE (18S,12P) -> [3S,2P] $ S-TYPE FUNCTIONS 18 3 0 6236.5455250 0.00916360 0.00000000 0.00000000 1143.4637950 0.04936149 0.00000000 0.00000000 319.8999635 0.16853830 0.00000000 0.00000000 109.8942714 0.37056280 0.00000000 0.00000000 42.6751614 0.41649153 0.00000000 0.00000000 17.5759881 0.13033408 0.00000000 0.00000000 403.9729660 0.00000000 -0.01325279 0.00000000 79.9567927 0.00000000 -0.04699171 0.00000000 24.8505116 0.00000000 -0.03378537 0.00000000 9.5608875 0.00000000 0.25024179 0.00000000 4.1523000 0.00000000 0.59511725 0.00000000 1.9033029 0.00000000 0.24070618 0.00000000 13.5835287 0.00000000 0.00000000 -0.00794313 3.6377910 0.00000000 0.00000000 -0.07100264 1.3642103 0.00000000 0.00000000 -0.17850269 0.6106456 0.00000000 0.00000000 0.15106351 0.3021774 0.00000000 0.00000000 0.73549148 0.1557318 0.00000000 0.00000000 0.27605931 $ P-TYPE FUNCTIONS 12 2 0 403.9729660 0.00375970 0.00000000 79.9567927 0.03767937 0.00000000 24.8505116 0.17389674 0.00000000 9.5608875 0.41803643 0.00000000 4.1523000 0.42585955 0.00000000 1.9033029 0.10170830 0.00000000 13.5835287 0.00000000 -0.00713936 3.6377910 0.00000000 -0.01829277 1.3642103 0.00000000 0.07621621 0.6106456 0.00000000 0.41450986 0.3021774 0.00000000 0.48896215 0.1557318 0.00000000 0.10588165 A 18 $ ARGON (18S,12P) -> [3S,2P] $ S-TYPE FUNCTIONS 18 3 0 6994.6738140 0.00916360 0.00000000 0.00000000 1282.4657870 0.04936149 0.00000000 0.00000000 358.7877117 0.16853830 0.00000000 0.00000000 123.2532624 0.37056280 0.00000000 0.00000000 47.8628486 0.41649153 0.00000000 0.00000000 19.7125642 0.13033408 0.00000000 0.00000000 468.2992148 0.00000000 -0.01325279 0.00000000 92.6886361 0.00000000 -0.04699171 0.00000000 28.8075590 0.00000000 -0.03378537 0.00000000 11.0833063 0.00000000 0.25024179 0.00000000 4.8134875 0.00000000 0.59511725 0.00000000 2.2063735 0.00000000 0.24070618 0.00000000 16.7219091 0.00000000 0.00000000 -0.00794313 4.4782775 0.00000000 0.00000000 -0.07100264 1.6794016 0.00000000 0.00000000 -0.17850269 0.7517310 0.00000000 0.00000000 0.15106351 0.3719934 0.00000000 0.00000000 0.73549148 0.1917126 0.00000000 0.00000000 0.27605931 $ P-TYPE FUNCTIONS 12 2 0 468.2992148 0.00375970 0.00000000 92.6886361 0.03767937 0.00000000 28.8075590 0.17389674 0.00000000 11.0833063 0.41803643 0.00000000 4.8134875 0.42585955 0.00000000 2.2063735 0.10170830 0.00000000 16.7219091 0.00000000 -0.00713936 4.4782775 0.00000000 -0.01829277 1.6794016 0.00000000 0.07621621 0.7517310 0.00000000 0.41450986 0.3719934 0.00000000 0.48896215 0.1917126 0.00000000 0.10588165 A 19 $ POTASSIUM (24S,18P) -> [4S,3P] $ S-TYPE FUNCTIONS 24 4 0 8001.3214120 0.00916360 0.00000000 0.00000000 0.00000000 1467.0335220 0.04936149 0.00000000 0.00000000 0.00000000 410.4231128 0.16853830 0.00000000 0.00000000 0.00000000 140.9914163 0.37056280 0.00000000 0.00000000 0.00000000 54.7510928 0.41649153 0.00000000 0.00000000 0.00000000 22.5495236 0.13033408 0.00000000 0.00000000 0.00000000 543.3465051 0.00000000 -0.01325279 0.00000000 0.00000000 107.5424534 0.00000000 -0.04699171 0.00000000 0.00000000 33.4241144 0.00000000 -0.03378537 0.00000000 0.00000000 12.8594616 0.00000000 0.25024179 0.00000000 0.00000000 5.5848729 0.00000000 0.59511725 0.00000000 0.00000000 2.5599559 0.00000000 0.24070618 0.00000000 0.00000000 23.2937496 0.00000000 0.00000000 -0.00794313 0.00000000 6.2382754 0.00000000 0.00000000 -0.07100264 0.00000000 2.3394196 0.00000000 0.00000000 -0.17850269 0.00000000 1.0471672 0.00000000 0.00000000 0.15106351 0.00000000 0.5181897 0.00000000 0.00000000 0.73549148 0.00000000 0.2670571 0.00000000 0.00000000 0.27605931 0.00000000 2.7919960 0.00000000 0.00000000 0.00000000 0.00377506 0.8983681 0.00000000 0.00000000 0.00000000 -0.05585965 0.3838418 0.00000000 0.00000000 0.00000000 -0.31929460 0.1914082 0.00000000 0.00000000 0.00000000 -0.02764780 0.1033137 0.00000000 0.00000000 0.00000000 0.90491990 0.0574485 0.00000000 0.00000000 0.00000000 0.34062580 $ P-TYPE FUNCTIONS 18 3 0 543.3465051 0.00375970 0.00000000 0.00000000 107.5424534 0.03767937 0.00000000 0.00000000 33.4241144 0.17389674 0.00000000 0.00000000 12.8594616 0.41803643 0.00000000 0.00000000 5.5848729 0.42585955 0.00000000 0.00000000 2.5599559 0.10170830 0.00000000 0.00000000 23.2937496 0.00000000 -0.00713936 0.00000000 6.2382754 0.00000000 -0.01829277 0.00000000 2.3394196 0.00000000 0.07621621 0.00000000 1.0471672 0.00000000 0.41450986 0.00000000 0.5181897 0.00000000 0.48896215 0.00000000 0.2670571 0.00000000 0.10588165 0.00000000 2.7919960 0.00000000 0.00000000 -0.00705208 0.8983681 0.00000000 0.00000000 -0.05259505 0.3838418 0.00000000 0.00000000 -0.03773450 0.1914082 0.00000000 0.00000000 0.38747730 0.1033137 0.00000000 0.00000000 0.57916720 0.0574485 0.00000000 0.00000000 0.12218170 A 20 $ CALCIUM (24S,18P) -> [4S,3P] $ S-TYPE FUNCTIONS 24 4 0 8857.1570420 0.00916360 0.00000000 0.00000000 0.00000000 1623.9500480 0.04936149 0.00000000 0.00000000 0.00000000 454.3227021 0.16853830 0.00000000 0.00000000 0.00000000 156.0721100 0.37056280 0.00000000 0.00000000 0.00000000 60.6073675 0.41649153 0.00000000 0.00000000 0.00000000 24.9614609 0.13033408 0.00000000 0.00000000 0.00000000 617.5690999 0.00000000 -0.01325279 0.00000000 0.00000000 122.2330419 0.00000000 -0.04699171 0.00000000 0.00000000 37.9899383 0.00000000 -0.03378537 0.00000000 0.00000000 14.6160986 0.00000000 0.25024179 0.00000000 0.00000000 6.3477816 0.00000000 0.59511725 0.00000000 0.00000000 2.9096527 0.00000000 0.24070618 0.00000000 0.00000000 27.9066051 0.00000000 0.00000000 -0.00794313 0.00000000 7.4736395 0.00000000 0.00000000 -0.07100264 0.00000000 2.8026942 0.00000000 0.00000000 -0.17850269 0.00000000 1.2545375 0.00000000 0.00000000 0.15106351 0.00000000 0.6208067 0.00000000 0.00000000 0.73549148 0.00000000 0.3199424 0.00000000 0.00000000 0.27605931 0.00000000 2.5253440 0.00000000 0.00000000 0.00000000 0.00377506 0.8125687 0.00000000 0.00000000 0.00000000 -0.05585965 0.3471827 0.00000000 0.00000000 0.00000000 -0.31929460 0.1731276 0.00000000 0.00000000 0.00000000 -0.02764780 0.0934467 0.00000000 0.00000000 0.00000000 0.90491990 0.0519618 0.00000000 0.00000000 0.00000000 0.34062580 $ P-TYPE FUNCTIONS 18 3 0 617.5690999 0.00375970 0.00000000 0.00000000 122.2330419 0.03767937 0.00000000 0.00000000 37.9899383 0.17389674 0.00000000 0.00000000 14.6160986 0.41803643 0.00000000 0.00000000 6.3477816 0.42585955 0.00000000 0.00000000 2.9096527 0.10170830 0.00000000 0.00000000 27.9066051 0.00000000 -0.00713936 0.00000000 7.4736395 0.00000000 -0.01829277 0.00000000 2.8026942 0.00000000 0.07621621 0.00000000 1.2545375 0.00000000 0.41450986 0.00000000 0.6208067 0.00000000 0.48896215 0.00000000 0.3199424 0.00000000 0.10588165 0.00000000 2.5253440 0.00000000 0.00000000 -0.00705208 0.8125687 0.00000000 0.00000000 -0.05259505 0.3471827 0.00000000 0.00000000 -0.03773450 0.1731276 0.00000000 0.00000000 0.38747730 0.0934467 0.00000000 0.00000000 0.57916720 0.0519618 0.00000000 0.00000000 0.12218170 A 21 $ SCANDIUM (24S,18P,6D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 24 4 0 9765.9656120 0.00916360 0.00000000 0.00000000 0.00000000 1790.5791050 0.04936149 0.00000000 0.00000000 0.00000000 500.9395073 0.16853830 0.00000000 0.00000000 0.00000000 172.0862408 0.37056280 0.00000000 0.00000000 0.00000000 66.8261231 0.41649153 0.00000000 0.00000000 0.00000000 27.5226879 0.13033408 0.00000000 0.00000000 0.00000000 696.5419408 0.00000000 -0.01325279 0.00000000 0.00000000 137.8638281 0.00000000 -0.04699171 0.00000000 0.00000000 42.8479750 0.00000000 -0.03378537 0.00000000 0.00000000 16.4851604 0.00000000 0.25024179 0.00000000 0.00000000 7.1595164 0.00000000 0.59511725 0.00000000 0.00000000 3.2817302 0.00000000 0.24070618 0.00000000 0.00000000 28.1354192 0.00000000 0.00000000 -0.00794313 0.00000000 8.1015683 0.00000000 0.00000000 -0.07100264 0.00000000 3.1865496 0.00000000 0.00000000 -0.17850269 0.00000000 1.4563615 0.00000000 0.00000000 0.15106351 0.00000000 0.7247816 0.00000000 0.00000000 0.73549148 0.00000000 0.3722203 0.00000000 0.00000000 0.27605931 0.00000000 3.4952858 0.00000000 0.00000000 0.00000000 0.00377506 1.1246625 0.00000000 0.00000000 0.00000000 -0.05585965 0.4805297 0.00000000 0.00000000 0.00000000 -0.31929460 0.2396229 0.00000000 0.00000000 0.00000000 -0.02764780 0.1293379 0.00000000 0.00000000 0.00000000 0.90491990 0.0719195 0.00000000 0.00000000 0.00000000 0.34062580 $ P-TYPE FUNCTIONS 18 3 0 696.5419408 0.00375970 0.00000000 0.00000000 137.8638281 0.03767937 0.00000000 0.00000000 42.8479750 0.17389674 0.00000000 0.00000000 16.4851604 0.41803643 0.00000000 0.00000000 7.1595164 0.42585955 0.00000000 0.00000000 3.2817302 0.10170830 0.00000000 0.00000000 28.1354192 0.00000000 -0.00713936 0.00000000 8.1015683 0.00000000 -0.01829277 0.00000000 3.1865496 0.00000000 0.07621621 0.00000000 1.4563615 0.00000000 0.41450986 0.00000000 0.7247816 0.00000000 0.48896215 0.00000000 0.3722203 0.00000000 0.10588165 0.00000000 3.4952858 0.00000000 0.00000000 -0.00705208 1.1246625 0.00000000 0.00000000 -0.05259505 0.4805297 0.00000000 0.00000000 -0.03773450 0.2396229 0.00000000 0.00000000 0.38747730 0.1293379 0.00000000 0.00000000 0.57916720 0.0719195 0.00000000 0.00000000 0.12218170 $ D-TYPE FUNCTIONS 6 1 0 3.3039137 0.00663343 0.9513589 0.05958178 0.3741933 0.24019496 0.1710191 0.46481147 0.0851104 0.34340923 0.0437095 0.05389057 A 22 $ TITANIUM (24S,18P,6D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 24 4 0 10719.1504900 0.00916360 0.00000000 0.00000000 0.00000000 1965.3445080 0.04936149 0.00000000 0.00000000 0.00000000 549.8325692 0.16853830 0.00000000 0.00000000 0.00000000 188.8823272 0.37056280 0.00000000 0.00000000 0.00000000 73.3485349 0.41649153 0.00000000 0.00000000 0.00000000 30.2089772 0.13033408 0.00000000 0.00000000 0.00000000 780.2650277 0.00000000 -0.01325279 0.00000000 0.00000000 154.4348120 0.00000000 -0.04699171 0.00000000 0.00000000 47.9982245 0.00000000 -0.03378537 0.00000000 0.00000000 18.4666470 0.00000000 0.25024179 0.00000000 0.00000000 8.0200774 0.00000000 0.59511725 0.00000000 0.00000000 3.6761883 0.00000000 0.24070618 0.00000000 0.00000000 32.3117300 0.00000000 0.00000000 -0.00794313 0.00000000 9.3041332 0.00000000 0.00000000 -0.07100264 0.00000000 3.6595485 0.00000000 0.00000000 -0.17850269 0.00000000 1.6725381 0.00000000 0.00000000 0.15106351 0.00000000 0.8323653 0.00000000 0.00000000 0.73549148 0.00000000 0.4274713 0.00000000 0.00000000 0.27605931 0.00000000 3.9458499 0.00000000 0.00000000 0.00000000 0.00377506 1.2696386 0.00000000 0.00000000 0.00000000 -0.05585965 0.5424729 0.00000000 0.00000000 0.00000000 -0.31929460 0.2705118 0.00000000 0.00000000 0.00000000 -0.02764780 0.1460104 0.00000000 0.00000000 0.00000000 0.90491990 0.0811903 0.00000000 0.00000000 0.00000000 0.34062580 $ P-TYPE FUNCTIONS 18 3 0 780.2650277 0.00375970 0.00000000 0.00000000 154.4348120 0.03767937 0.00000000 0.00000000 47.9982245 0.17389674 0.00000000 0.00000000 18.4666470 0.41803643 0.00000000 0.00000000 8.0200774 0.42585955 0.00000000 0.00000000 3.6761883 0.10170830 0.00000000 0.00000000 32.3117300 0.00000000 -0.00713936 0.00000000 9.3041332 0.00000000 -0.01829277 0.00000000 3.6595485 0.00000000 0.07621621 0.00000000 1.6725381 0.00000000 0.41450986 0.00000000 0.8323653 0.00000000 0.48896215 0.00000000 0.4274713 0.00000000 0.10588165 0.00000000 3.9458499 0.00000000 0.00000000 -0.00705208 1.2696386 0.00000000 0.00000000 -0.05259505 0.5424729 0.00000000 0.00000000 -0.03773450 0.2705118 0.00000000 0.00000000 0.38747730 0.1460104 0.00000000 0.00000000 0.57916720 0.0811903 0.00000000 0.00000000 0.12218170 $ D-TYPE FUNCTIONS 6 1 0 9.8571310 0.00663343 2.8383519 0.05958178 1.1163949 0.24019496 0.5102304 0.46481147 0.2539243 0.34340923 0.1304059 0.05389057 A 23 $ VANADIUM (24S,18P,6D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 24 4 0 11727.1195800 0.00916360 0.00000000 0.00000000 0.00000000 2150.1545370 0.04936149 0.00000000 0.00000000 0.00000000 601.5357556 0.16853830 0.00000000 0.00000000 0.00000000 206.6437671 0.37056280 0.00000000 0.00000000 0.00000000 80.2458218 0.41649153 0.00000000 0.00000000 0.00000000 33.0496609 0.13033408 0.00000000 0.00000000 0.00000000 868.7383606 0.00000000 -0.01325279 0.00000000 0.00000000 171.9459935 0.00000000 -0.04699171 0.00000000 0.00000000 53.4406866 0.00000000 -0.03378537 0.00000000 0.00000000 20.5605584 0.00000000 0.25024179 0.00000000 0.00000000 8.9294645 0.00000000 0.59511725 0.00000000 0.00000000 4.0930269 0.00000000 0.24070618 0.00000000 0.00000000 36.7769284 0.00000000 0.00000000 -0.00794313 0.00000000 10.5898830 0.00000000 0.00000000 -0.07100264 0.00000000 4.1652661 0.00000000 0.00000000 -0.17850269 0.00000000 1.9036682 0.00000000 0.00000000 0.15106351 0.00000000 0.9473909 0.00000000 0.00000000 0.73549148 0.00000000 0.4865440 0.00000000 0.00000000 0.27605931 0.00000000 3.9458499 0.00000000 0.00000000 0.00000000 0.00377506 1.2696386 0.00000000 0.00000000 0.00000000 -0.05585965 0.5424729 0.00000000 0.00000000 0.00000000 -0.31929460 0.2705118 0.00000000 0.00000000 0.00000000 -0.02764780 0.1460104 0.00000000 0.00000000 0.00000000 0.90491990 0.0811903 0.00000000 0.00000000 0.00000000 0.34062580 $ P-TYPE FUNCTIONS 18 3 0 868.7383606 0.00375970 0.00000000 0.00000000 171.9459935 0.03767937 0.00000000 0.00000000 53.4406866 0.17389674 0.00000000 0.00000000 20.5605584 0.41803643 0.00000000 0.00000000 8.9294645 0.42585955 0.00000000 0.00000000 4.0930269 0.10170830 0.00000000 0.00000000 36.7769284 0.00000000 -0.00713936 0.00000000 10.5898830 0.00000000 -0.01829277 0.00000000 4.1652661 0.00000000 0.07621621 0.00000000 1.9036682 0.00000000 0.41450986 0.00000000 0.9473909 0.00000000 0.48896215 0.00000000 0.4865440 0.00000000 0.10588165 0.00000000 3.9458499 0.00000000 0.00000000 -0.00705208 1.2696386 0.00000000 0.00000000 -0.05259505 0.5424729 0.00000000 0.00000000 -0.03773450 0.2705118 0.00000000 0.00000000 0.38747730 0.1460104 0.00000000 0.00000000 0.57916720 0.0811903 0.00000000 0.00000000 0.12218170 $ D-TYPE FUNCTIONS 6 1 0 17.7551231 0.00663343 5.1125715 0.05958178 2.0109024 0.24019496 0.9190507 0.46481147 0.4573803 0.34340923 0.2348932 0.05389057 A 24 $ CHROMIUM (24S,18P,6D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 24 4 0 12780.3752300 0.00916360 0.00000000 0.00000000 0.00000000 2343.2678090 0.04936149 0.00000000 0.00000000 0.00000000 655.5618898 0.16853830 0.00000000 0.00000000 0.00000000 225.2032023 0.37056280 0.00000000 0.00000000 0.00000000 87.4529936 0.41649153 0.00000000 0.00000000 0.00000000 36.0179722 0.13033408 0.00000000 0.00000000 0.00000000 961.9619397 0.00000000 -0.01325279 0.00000000 0.00000000 190.3973727 0.00000000 -0.04699171 0.00000000 0.00000000 59.1753615 0.00000000 -0.03378537 0.00000000 0.00000000 22.7668945 0.00000000 0.25024179 0.00000000 0.00000000 9.8876778 0.00000000 0.59511725 0.00000000 0.00000000 4.5322462 0.00000000 0.24070618 0.00000000 0.00000000 41.3183080 0.00000000 0.00000000 -0.00794313 0.00000000 11.8975691 0.00000000 0.00000000 -0.07100264 0.00000000 4.6796118 0.00000000 0.00000000 -0.17850269 0.00000000 2.1387416 0.00000000 0.00000000 0.15106351 0.00000000 1.0643790 0.00000000 0.00000000 0.73549148 0.00000000 0.5466247 0.00000000 0.00000000 0.27605931 0.00000000 4.1813721 0.00000000 0.00000000 0.00000000 0.00377506 1.3454215 0.00000000 0.00000000 0.00000000 -0.05585965 0.5748524 0.00000000 0.00000000 0.00000000 -0.31929460 0.2866583 0.00000000 0.00000000 0.00000000 -0.02764780 0.1547256 0.00000000 0.00000000 0.00000000 0.90491990 0.0860365 0.00000000 0.00000000 0.00000000 0.34062580 $ P-TYPE FUNCTIONS 18 3 0 961.9619397 0.00375970 0.00000000 0.00000000 190.3973727 0.03767937 0.00000000 0.00000000 59.1753615 0.17389674 0.00000000 0.00000000 22.7668945 0.41803643 0.00000000 0.00000000 9.8876778 0.42585955 0.00000000 0.00000000 4.5322462 0.10170830 0.00000000 0.00000000 41.3183080 0.00000000 -0.00713936 0.00000000 11.8975691 0.00000000 -0.01829277 0.00000000 4.6796118 0.00000000 0.07621621 0.00000000 2.1387416 0.00000000 0.41450986 0.00000000 1.0643790 0.00000000 0.48896215 0.00000000 0.5466247 0.00000000 0.10588165 0.00000000 4.1813721 0.00000000 0.00000000 -0.00705208 1.3454215 0.00000000 0.00000000 -0.05259505 0.5748524 0.00000000 0.00000000 -0.03773450 0.2866583 0.00000000 0.00000000 0.38747730 0.1547256 0.00000000 0.00000000 0.57916720 0.0860365 0.00000000 0.00000000 0.12218170 $ D-TYPE FUNCTIONS 6 1 0 25.4005432 0.00663343 7.3140632 0.05958178 2.8768042 0.24019496 1.3147973 0.46481147 0.6543299 0.34340923 0.3360390 0.05389057 A 25 $ MANGANESE (24S,18P,6D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 24 4 0 13867.5946500 0.00916360 0.00000000 0.00000000 0.00000000 2542.6082990 0.04936149 0.00000000 0.00000000 0.00000000 711.3301755 0.16853830 0.00000000 0.00000000 0.00000000 244.3611136 0.37056280 0.00000000 0.00000000 0.00000000 94.8925712 0.41649153 0.00000000 0.00000000 0.00000000 39.0820011 0.13033408 0.00000000 0.00000000 0.00000000 1057.8461930 0.00000000 -0.01325279 0.00000000 0.00000000 209.3753687 0.00000000 -0.04699171 0.00000000 0.00000000 65.0737085 0.00000000 -0.03378537 0.00000000 0.00000000 25.0362012 0.00000000 0.25024179 0.00000000 0.00000000 10.8732393 0.00000000 0.59511725 0.00000000 0.00000000 4.9840011 0.00000000 0.24070618 0.00000000 0.00000000 46.1240007 0.00000000 0.00000000 -0.00794313 0.00000000 13.2813639 0.00000000 0.00000000 -0.07100264 0.00000000 5.2238929 0.00000000 0.00000000 -0.17850269 0.00000000 2.3874966 0.00000000 0.00000000 0.15106351 0.00000000 1.1881759 0.00000000 0.00000000 0.73549148 0.00000000 0.6102021 0.00000000 0.00000000 0.27605931 0.00000000 3.7171545 0.00000000 0.00000000 0.00000000 0.00377506 1.1960522 0.00000000 0.00000000 0.00000000 -0.05585965 0.5110320 0.00000000 0.00000000 0.00000000 -0.31929460 0.2548334 0.00000000 0.00000000 0.00000000 -0.02764780 0.1375479 0.00000000 0.00000000 0.00000000 0.90491990 0.0764847 0.00000000 0.00000000 0.00000000 0.34062580 $ P-TYPE FUNCTIONS 18 3 0 1057.8461930 0.00375970 0.00000000 0.00000000 209.3753687 0.03767937 0.00000000 0.00000000 65.0737085 0.17389674 0.00000000 0.00000000 25.0362012 0.41803643 0.00000000 0.00000000 10.8732393 0.42585955 0.00000000 0.00000000 4.9840011 0.10170830 0.00000000 0.00000000 46.1240007 0.00000000 -0.00713936 0.00000000 13.2813639 0.00000000 -0.01829277 0.00000000 5.2238929 0.00000000 0.07621621 0.00000000 2.3874966 0.00000000 0.41450986 0.00000000 1.1881759 0.00000000 0.48896215 0.00000000 0.6102021 0.00000000 0.10588165 0.00000000 3.7171545 0.00000000 0.00000000 -0.00705208 1.1960522 0.00000000 0.00000000 -0.05259505 0.5110320 0.00000000 0.00000000 -0.03773450 0.2548334 0.00000000 0.00000000 0.38747730 0.1375479 0.00000000 0.00000000 0.57916720 0.0764847 0.00000000 0.00000000 0.12218170 $ D-TYPE FUNCTIONS 6 1 0 32.4998620 0.00663343 9.3583056 0.05958178 3.6808559 0.24019496 1.6822762 0.46481147 0.8372117 0.34340923 0.4299602 0.05389057 A 26 $ IRON (24S,18P,6D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 24 4 0 15010.9659900 0.00916360 0.00000000 0.00000000 0.00000000 2752.2441830 0.04936149 0.00000000 0.00000000 0.00000000 769.9787412 0.16853830 0.00000000 0.00000000 0.00000000 264.5084788 0.37056280 0.00000000 0.00000000 0.00000000 102.7163826 0.41649153 0.00000000 0.00000000 0.00000000 42.3042787 0.13033408 0.00000000 0.00000000 0.00000000 1160.4713000 0.00000000 -0.01325279 0.00000000 0.00000000 229.6875558 0.00000000 -0.04699171 0.00000000 0.00000000 71.3867212 0.00000000 -0.03378537 0.00000000 0.00000000 27.4650447 0.00000000 0.25024179 0.00000000 0.00000000 11.9280876 0.00000000 0.59511725 0.00000000 0.00000000 5.4675153 0.00000000 0.24070618 0.00000000 0.00000000 51.1940064 0.00000000 0.00000000 -0.00794313 0.00000000 14.7412674 0.00000000 0.00000000 -0.07100264 0.00000000 5.7981096 0.00000000 0.00000000 -0.17850269 0.00000000 2.6499331 0.00000000 0.00000000 0.15106351 0.00000000 1.3187816 0.00000000 0.00000000 0.73549148 0.00000000 0.6772762 0.00000000 0.00000000 0.27605931 0.00000000 3.2802438 0.00000000 0.00000000 0.00000000 0.00377506 1.0554694 0.00000000 0.00000000 0.00000000 -0.05585965 0.4509658 0.00000000 0.00000000 0.00000000 -0.31929460 0.2248805 0.00000000 0.00000000 0.00000000 -0.02764780 0.1213806 0.00000000 0.00000000 0.00000000 0.90491990 0.0674947 0.00000000 0.00000000 0.00000000 0.34062580 $ P-TYPE FUNCTIONS 18 3 0 1160.4713000 0.00375970 0.00000000 0.00000000 229.6875558 0.03767937 0.00000000 0.00000000 71.3867212 0.17389674 0.00000000 0.00000000 27.4650447 0.41803643 0.00000000 0.00000000 11.9280876 0.42585955 0.00000000 0.00000000 5.4675153 0.10170830 0.00000000 0.00000000 51.1940064 0.00000000 -0.00713936 0.00000000 14.7412674 0.00000000 -0.01829277 0.00000000 5.7981096 0.00000000 0.07621621 0.00000000 2.6499331 0.00000000 0.41450986 0.00000000 1.3187816 0.00000000 0.48896215 0.00000000 0.6772762 0.00000000 0.10588165 0.00000000 3.2802438 0.00000000 0.00000000 -0.00705208 1.0554694 0.00000000 0.00000000 -0.05259505 0.4509658 0.00000000 0.00000000 -0.03773450 0.2248805 0.00000000 0.00000000 0.38747730 0.1213806 0.00000000 0.00000000 0.57916720 0.0674947 0.00000000 0.00000000 0.12218170 $ D-TYPE FUNCTIONS 6 1 0 38.3977575 0.00663343 11.0565992 0.05958178 4.3488373 0.24019496 1.9875665 0.46481147 0.9891443 0.34340923 0.5079870 0.05389057 A 27 $ COBALT (24S,18P,6D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 24 4 0 16150.7193900 0.00916360 0.00000000 0.00000000 0.00000000 2961.2167220 0.04936149 0.00000000 0.00000000 0.00000000 828.4417269 0.16853830 0.00000000 0.00000000 0.00000000 284.5920923 0.37056280 0.00000000 0.00000000 0.00000000 110.5154375 0.41649153 0.00000000 0.00000000 0.00000000 45.5163602 0.13033408 0.00000000 0.00000000 0.00000000 1263.2778410 0.00000000 -0.01325279 0.00000000 0.00000000 250.0356532 0.00000000 -0.04699171 0.00000000 0.00000000 77.7108947 0.00000000 -0.03378537 0.00000000 0.00000000 29.8981822 0.00000000 0.25024179 0.00000000 0.00000000 12.9848009 0.00000000 0.59511725 0.00000000 0.00000000 5.9518843 0.00000000 0.24070618 0.00000000 0.00000000 56.7770745 0.00000000 0.00000000 -0.00794313 0.00000000 16.3489068 0.00000000 0.00000000 -0.07100264 0.00000000 6.4304344 0.00000000 0.00000000 -0.17850269 0.00000000 2.9389271 0.00000000 0.00000000 0.15106351 0.00000000 1.4626041 0.00000000 0.00000000 0.73549148 0.00000000 0.7511380 0.00000000 0.00000000 0.27605931 0.00000000 3.2802438 0.00000000 0.00000000 0.00000000 0.00377506 1.0554694 0.00000000 0.00000000 0.00000000 -0.05585965 0.4509658 0.00000000 0.00000000 0.00000000 -0.31929460 0.2248805 0.00000000 0.00000000 0.00000000 -0.02764780 0.1213806 0.00000000 0.00000000 0.00000000 0.90491990 0.0674947 0.00000000 0.00000000 0.00000000 0.34062580 $ P-TYPE FUNCTIONS 18 3 0 1263.2778410 0.00375970 0.00000000 0.00000000 250.0356532 0.03767937 0.00000000 0.00000000 77.7108947 0.17389674 0.00000000 0.00000000 29.8981822 0.41803643 0.00000000 0.00000000 12.9848009 0.42585955 0.00000000 0.00000000 5.9518843 0.10170830 0.00000000 0.00000000 56.7770745 0.00000000 -0.00713936 0.00000000 16.3489068 0.00000000 -0.01829277 0.00000000 6.4304344 0.00000000 0.07621621 0.00000000 2.9389271 0.00000000 0.41450986 0.00000000 1.4626041 0.00000000 0.48896215 0.00000000 0.7511380 0.00000000 0.10588165 0.00000000 3.2802438 0.00000000 0.00000000 -0.00705208 1.0554694 0.00000000 0.00000000 -0.05259505 0.4509658 0.00000000 0.00000000 -0.03773450 0.2248805 0.00000000 0.00000000 0.38747730 0.1213806 0.00000000 0.00000000 0.57916720 0.0674947 0.00000000 0.00000000 0.12218170 $ D-TYPE FUNCTIONS 6 1 0 45.8998260 0.00663343 13.2168130 0.05958178 5.1985035 0.24019496 2.3758928 0.46481147 1.1824011 0.34340923 0.6072363 0.05389057 A 28 $ NICKEL (24S,18P,6D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 24 4 0 17420.8778600 0.00916360 0.00000000 0.00000000 0.00000000 3194.0988860 0.04936149 0.00000000 0.00000000 0.00000000 893.5937642 0.16853830 0.00000000 0.00000000 0.00000000 306.9735755 0.37056280 0.00000000 0.00000000 0.00000000 119.2068223 0.41649153 0.00000000 0.00000000 0.00000000 49.0959525 0.13033408 0.00000000 0.00000000 0.00000000 1377.5878530 0.00000000 -0.01325279 0.00000000 0.00000000 272.6605878 0.00000000 -0.04699171 0.00000000 0.00000000 84.7427075 0.00000000 -0.03378537 0.00000000 0.00000000 32.6035741 0.00000000 0.25024179 0.00000000 0.00000000 14.1597544 0.00000000 0.59511725 0.00000000 0.00000000 6.4904515 0.00000000 0.24070618 0.00000000 0.00000000 61.8667399 0.00000000 0.00000000 -0.00794313 0.00000000 17.8144713 0.00000000 0.00000000 -0.07100264 0.00000000 7.0068776 0.00000000 0.00000000 -0.17850269 0.00000000 3.2023812 0.00000000 0.00000000 0.15106351 0.00000000 1.5937163 0.00000000 0.00000000 0.73549148 0.00000000 0.8184722 0.00000000 0.00000000 0.27605931 0.00000000 3.4952858 0.00000000 0.00000000 0.00000000 0.00377506 1.1246625 0.00000000 0.00000000 0.00000000 -0.05585965 0.4805297 0.00000000 0.00000000 0.00000000 -0.31929460 0.2396229 0.00000000 0.00000000 0.00000000 -0.02764780 0.1293379 0.00000000 0.00000000 0.00000000 0.90491990 0.0719195 0.00000000 0.00000000 0.00000000 0.34062580 $ P-TYPE FUNCTIONS 18 3 0 1377.5878530 0.00375970 0.00000000 0.00000000 272.6605878 0.03767937 0.00000000 0.00000000 84.7427075 0.17389674 0.00000000 0.00000000 32.6035741 0.41803643 0.00000000 0.00000000 14.1597544 0.42585955 0.00000000 0.00000000 6.4904515 0.10170830 0.00000000 0.00000000 61.8667399 0.00000000 -0.00713936 0.00000000 17.8144713 0.00000000 -0.01829277 0.00000000 7.0068776 0.00000000 0.07621621 0.00000000 3.2023812 0.00000000 0.41450986 0.00000000 1.5937163 0.00000000 0.48896215 0.00000000 0.8184722 0.00000000 0.10588165 0.00000000 3.4952858 0.00000000 0.00000000 -0.00705208 1.1246625 0.00000000 0.00000000 -0.05259505 0.4805297 0.00000000 0.00000000 -0.03773450 0.2396229 0.00000000 0.00000000 0.38747730 0.1293379 0.00000000 0.00000000 0.57916720 0.0719195 0.00000000 0.00000000 0.12218170 $ D-TYPE FUNCTIONS 6 1 0 51.6680225 0.00663343 14.8777599 0.05958178 5.8517955 0.24019496 2.6744694 0.46481147 1.3309925 0.34340923 0.6835473 0.05389057 A 29 $ COPPER (24S,18P,6D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 24 4 0 18686.5081300 0.00916360 0.00000000 0.00000000 0.00000000 3426.1508110 0.04936149 0.00000000 0.00000000 0.00000000 958.5135305 0.16853830 0.00000000 0.00000000 0.00000000 329.2752674 0.37056280 0.00000000 0.00000000 0.00000000 127.8672219 0.41649153 0.00000000 0.00000000 0.00000000 52.6627833 0.13033408 0.00000000 0.00000000 0.00000000 1494.3647360 0.00000000 -0.01325279 0.00000000 0.00000000 295.7737804 0.00000000 -0.04699171 0.00000000 0.00000000 91.9262705 0.00000000 -0.03378537 0.00000000 0.00000000 35.3673497 0.00000000 0.25024179 0.00000000 0.00000000 15.3600641 0.00000000 0.59511725 0.00000000 0.00000000 7.0406412 0.00000000 0.24070618 0.00000000 0.00000000 67.7176708 0.00000000 0.00000000 -0.00794313 0.00000000 19.4992415 0.00000000 0.00000000 -0.07100264 0.00000000 7.6695399 0.00000000 0.00000000 -0.17850269 0.00000000 3.5052404 0.00000000 0.00000000 0.15106351 0.00000000 1.7444390 0.00000000 0.00000000 0.73549148 0.00000000 0.8958777 0.00000000 0.00000000 0.27605931 0.00000000 3.4952858 0.00000000 0.00000000 0.00000000 0.00377506 1.1246625 0.00000000 0.00000000 0.00000000 -0.05585965 0.4805297 0.00000000 0.00000000 0.00000000 -0.31929460 0.2396229 0.00000000 0.00000000 0.00000000 -0.02764780 0.1293379 0.00000000 0.00000000 0.00000000 0.90491990 0.0719195 0.00000000 0.00000000 0.00000000 0.34062580 $ P-TYPE FUNCTIONS 18 3 0 1494.3647360 0.00375970 0.00000000 0.00000000 295.7737804 0.03767937 0.00000000 0.00000000 91.9262705 0.17389674 0.00000000 0.00000000 35.3673497 0.41803643 0.00000000 0.00000000 15.3600641 0.42585955 0.00000000 0.00000000 7.0406412 0.10170830 0.00000000 0.00000000 67.7176708 0.00000000 -0.00713936 0.00000000 19.4992415 0.00000000 -0.01829277 0.00000000 7.6695399 0.00000000 0.07621621 0.00000000 3.5052404 0.00000000 0.41450986 0.00000000 1.7444390 0.00000000 0.48896215 0.00000000 0.8958777 0.00000000 0.10588165 0.00000000 3.4952858 0.00000000 0.00000000 -0.00705208 1.1246625 0.00000000 0.00000000 -0.05259505 0.4805297 0.00000000 0.00000000 -0.03773450 0.2396229 0.00000000 0.00000000 0.38747730 0.1293379 0.00000000 0.00000000 0.57916720 0.0719195 0.00000000 0.00000000 0.12218170 $ D-TYPE FUNCTIONS 6 1 0 57.7775324 0.00663343 16.6369877 0.05958178 6.5437438 0.24019496 2.9907133 0.46481147 1.4883764 0.34340923 0.7643736 0.05389057 A 30 $ ZINC (24S,18P,6D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 24 4 0 20010.1108400 0.00916360 0.00000000 0.00000000 0.00000000 3668.8319180 0.04936149 0.00000000 0.00000000 0.00000000 1026.4069590 0.16853830 0.00000000 0.00000000 0.00000000 352.5984925 0.37056280 0.00000000 0.00000000 0.00000000 136.9243127 0.41649153 0.00000000 0.00000000 0.00000000 56.3929934 0.13033408 0.00000000 0.00000000 0.00000000 1615.8918640 0.00000000 -0.01325279 0.00000000 0.00000000 319.8271707 0.00000000 -0.04699171 0.00000000 0.00000000 99.4020463 0.00000000 -0.03378537 0.00000000 0.00000000 38.2435501 0.00000000 0.25024179 0.00000000 0.00000000 16.6091999 0.00000000 0.59511725 0.00000000 0.00000000 7.6132115 0.00000000 0.24070618 0.00000000 0.00000000 73.5492150 0.00000000 0.00000000 -0.00794313 0.00000000 21.1784293 0.00000000 0.00000000 -0.07100264 0.00000000 8.3300065 0.00000000 0.00000000 -0.17850269 0.00000000 3.8070961 0.00000000 0.00000000 0.15106351 0.00000000 1.8946623 0.00000000 0.00000000 0.73549148 0.00000000 0.9730267 0.00000000 0.00000000 0.27605931 0.00000000 4.9288991 0.00000000 0.00000000 0.00000000 0.00377506 1.5859499 0.00000000 0.00000000 0.00000000 -0.05585965 0.6776219 0.00000000 0.00000000 0.00000000 -0.31929460 0.3379057 0.00000000 0.00000000 0.00000000 -0.02764780 0.1823867 0.00000000 0.00000000 0.00000000 0.90491990 0.1014177 0.00000000 0.00000000 0.00000000 0.34062580 $ P-TYPE FUNCTIONS 18 3 0 1615.8918640 0.00375970 0.00000000 0.00000000 319.8271707 0.03767937 0.00000000 0.00000000 99.4020463 0.17389674 0.00000000 0.00000000 38.2435501 0.41803643 0.00000000 0.00000000 16.6091999 0.42585955 0.00000000 0.00000000 7.6132115 0.10170830 0.00000000 0.00000000 73.5492150 0.00000000 -0.00713936 0.00000000 21.1784293 0.00000000 -0.01829277 0.00000000 8.3300065 0.00000000 0.07621621 0.00000000 3.8070961 0.00000000 0.41450986 0.00000000 1.8946623 0.00000000 0.48896215 0.00000000 0.9730267 0.00000000 0.10588165 0.00000000 4.9288991 0.00000000 0.00000000 -0.00705208 1.5859499 0.00000000 0.00000000 -0.05259505 0.6776219 0.00000000 0.00000000 -0.03773450 0.3379057 0.00000000 0.00000000 0.38747730 0.1823867 0.00000000 0.00000000 0.57916720 0.1014177 0.00000000 0.00000000 0.12218170 $ D-TYPE FUNCTIONS 6 1 0 65.5594779 0.00663343 18.8777918 0.05958178 7.4251082 0.24019496 3.3935268 0.46481147 1.6888429 0.34340923 0.8673257 0.05389057 ergo-3.5/basis/6-31Gss0000775000175000017500000010526712743400275011351 00000000000000$Basis = 6-31G** $Elements supported $H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar $ $ REFERENCE $Elements References $-------- ---------- $ H - He: W.J. Hehre, R. Ditchfield and J.A. Pople, J. Chem. Phys. 56, $Li - Ne: 2257 (1972). Note: Li and B come from J.D. Dill and J.A. $ Pople, J. Chem. Phys. 62, 2921 (1975). $Na - Ar: M.M. Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, $ D.J. DeFrees and J.A. Pople, J. Chem. Phys. 77, 3654 (1982) $K - Zn: V. Rassolov, J.A. Pople, M. Ratner and T.L. Windus, J. Chem. Phys. $ 109, 1223 (1998) $** $ Note: He and Ne are unpublished basis sets taken from the Gaussian $ program $ $ Polarization and/or diffuse functions $Elements References $-------- ---------- $H,Li - Ne: P.C. Hariharan and J.A. Pople, Theoret. Chimica Acta 28, 213 (1973). $ $Na - Ar : M.M. Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, D.J. $ DeFrees and J.A. Pople, J. Chem. Phys. 77, 3654 (1982). $K - Zn: V.A. Rassolov, J.A. Pople, M.A. Ratner, and T.L. Windus $ J. Chem. Phys. 109, 1223 (1998) $ Note: He and Ne are unpublished basis sets taken from Gaussian. $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS a 1 $ HYDROGEN (4s) -> [2s] $ HYDROGEN (1p) $ S-TYPE FUNCTIONS 4 2 0 18.7311370 0.03349460 0.00000000 2.8253937 0.23472695 0.00000000 0.6401217 0.81375733 0.00000000 0.1612778 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.1000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ HELIUM (1p) $ S-TYPE FUNCTIONS 4 2 0 38.4216340 0.02376600 0.00000000 5.7780300 0.15467900 0.00000000 1.2417740 0.46963000 0.00000000 0.2979640 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.1000000 1.00000000 a 3 $ LITHIUM (10s,4p) -> [3s,2p] $ LITHIUM (1d) $ S-TYPE FUNCTIONS 10 3 0 642.4189200 0.00214260 0.00000000 0.00000000 96.7985150 0.01620890 0.00000000 0.00000000 22.0911210 0.07731560 0.00000000 0.00000000 6.2010703 0.24578600 0.00000000 0.00000000 1.9351177 0.47018900 0.00000000 0.00000000 0.6367358 0.34547080 0.00000000 0.00000000 2.3249184 0.00000000 -0.03509170 0.00000000 0.6324306 0.00000000 -0.19123280 0.00000000 0.0790534 0.00000000 1.08398780 0.00000000 0.0359620 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 2.3249184 0.00894150 0.00000000 0.6324306 0.14100950 0.00000000 0.0790534 0.94536370 0.00000000 0.0359620 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.2000000 1.00000000 a 4 $ BERYLLIUM (10s,4p) -> [3s,2p] $ BERYLLIUM (1d) $ S-TYPE FUNCTIONS 10 3 0 1264.5857000 0.00194480 0.00000000 0.00000000 189.9368100 0.01483510 0.00000000 0.00000000 43.1590890 0.07209060 0.00000000 0.00000000 12.0986630 0.23715420 0.00000000 0.00000000 3.8063232 0.46919870 0.00000000 0.00000000 1.2728903 0.35652020 0.00000000 0.00000000 3.1964631 0.00000000 -0.11264870 0.00000000 0.7478133 0.00000000 -0.22950640 0.00000000 0.2199663 0.00000000 1.18691670 0.00000000 0.0823099 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 3.1964631 0.05598020 0.00000000 0.7478133 0.26155060 0.00000000 0.2199663 0.79397230 0.00000000 0.0823099 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4000000 1.00000000 a 5 $ BORON (10s,4p) -> [3s,2p] $ BORON (1d) $ S-TYPE FUNCTIONS 10 3 0 2068.8823000 0.00186630 0.00000000 0.00000000 310.6495700 0.01425150 0.00000000 0.00000000 70.6830330 0.06955160 0.00000000 0.00000000 19.8610800 0.23257290 0.00000000 0.00000000 6.2993048 0.46707870 0.00000000 0.00000000 2.1270270 0.36343140 0.00000000 0.00000000 4.7279710 0.00000000 -0.13039380 0.00000000 1.1903377 0.00000000 -0.13078890 0.00000000 0.3594117 0.00000000 1.13094440 0.00000000 0.1267512 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 4.7279710 0.07459760 0.00000000 1.1903377 0.30784670 0.00000000 0.3594117 0.74345680 0.00000000 0.1267512 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6000000 1.00000000 a 6 $ CARBON (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 3047.5249000 0.00183470 0.00000000 0.00000000 457.3695100 0.01403730 0.00000000 0.00000000 103.9486900 0.06884260 0.00000000 0.00000000 29.2101550 0.23218440 0.00000000 0.00000000 9.2866630 0.46794130 0.00000000 0.00000000 3.1639270 0.36231200 0.00000000 0.00000000 7.8682724 0.00000000 -0.11933240 0.00000000 1.8812885 0.00000000 -0.16085420 0.00000000 0.5442493 0.00000000 1.14345640 0.00000000 0.1687144 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 7.8682724 0.06899910 0.00000000 1.8812885 0.31642400 0.00000000 0.5442493 0.74430830 0.00000000 0.1687144 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 a 7 $ NITROGEN (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 4173.5110000 0.00183480 0.00000000 0.00000000 627.4579000 0.01399500 0.00000000 0.00000000 142.9021000 0.06858700 0.00000000 0.00000000 40.2343300 0.23224100 0.00000000 0.00000000 12.8202100 0.46907000 0.00000000 0.00000000 4.3904370 0.36045500 0.00000000 0.00000000 11.6263580 0.00000000 -0.11496100 0.00000000 2.7162800 0.00000000 -0.16911800 0.00000000 0.7722180 0.00000000 1.14585200 0.00000000 0.2120313 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 11.6263580 0.06758000 0.00000000 2.7162800 0.32390700 0.00000000 0.7722180 0.74089500 0.00000000 0.2120313 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 a 8 $ OXYGEN (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 5484.6717000 0.00183110 0.00000000 0.00000000 825.2349500 0.01395010 0.00000000 0.00000000 188.0469600 0.06844510 0.00000000 0.00000000 52.9645000 0.23271430 0.00000000 0.00000000 16.8975700 0.47019300 0.00000000 0.00000000 5.7996353 0.35852090 0.00000000 0.00000000 15.5396160 0.00000000 -0.11077750 0.00000000 3.5999336 0.00000000 -0.14802630 0.00000000 1.0137618 0.00000000 1.13076700 0.00000000 0.2700058 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 15.5396160 0.07087430 0.00000000 3.5999336 0.33975280 0.00000000 1.0137618 0.72715860 0.00000000 0.2700058 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 a 9 $ FLUORINE (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 7001.1713000 0.00181960 0.00000000 0.00000000 1051.3660000 0.01391600 0.00000000 0.00000000 239.2857000 0.06840500 0.00000000 0.00000000 67.3974500 0.23318600 0.00000000 0.00000000 21.5199600 0.47126700 0.00000000 0.00000000 7.4031010 0.35661900 0.00000000 0.00000000 20.8479500 0.00000000 -0.10850700 0.00000000 4.8083080 0.00000000 -0.14645200 0.00000000 1.3440700 0.00000000 1.12868900 0.00000000 0.3581514 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 20.8479500 0.07162900 0.00000000 4.8083080 0.34591200 0.00000000 1.3440700 0.72247000 0.00000000 0.3581514 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 a 10 $ NEON (10s,4p) -> [3s,2p] $ NEON (1d) $ S-TYPE FUNCTIONS 10 3 0 8425.8515300 0.00188435 0.00000000 0.00000000 1268.5194000 0.01433690 0.00000000 0.00000000 289.6214140 0.07010962 0.00000000 0.00000000 81.8590040 0.23737327 0.00000000 0.00000000 26.2515079 0.47300713 0.00000000 0.00000000 9.0947205 0.34840124 0.00000000 0.00000000 26.5321310 0.00000000 -0.10711829 0.00000000 6.1017550 0.00000000 -0.14616382 0.00000000 1.6962715 0.00000000 1.12777350 0.00000000 0.4458187 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 26.5321310 0.07190959 0.00000000 6.1017550 0.34951337 0.00000000 1.6962715 0.71994051 0.00000000 0.4458187 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 a 11 $ SODIUM (16s,10p) -> [4s,3p] $ SODIUM (1d) $ S-TYPE FUNCTIONS 16 4 0 9993.2000000 0.00193770 0.00000000 0.00000000 0.00000000 1499.8900000 0.01480700 0.00000000 0.00000000 0.00000000 341.9510000 0.07270600 0.00000000 0.00000000 0.00000000 94.6797000 0.25262900 0.00000000 0.00000000 0.00000000 29.7345000 0.49324200 0.00000000 0.00000000 0.00000000 10.0063000 0.31316900 0.00000000 0.00000000 0.00000000 150.9630000 0.00000000 -0.00354210 0.00000000 0.00000000 35.5878000 0.00000000 -0.04395900 0.00000000 0.00000000 11.1683000 0.00000000 -0.10975210 0.00000000 0.00000000 3.9020100 0.00000000 0.18739800 0.00000000 0.00000000 1.3817700 0.00000000 0.64669900 0.00000000 0.00000000 0.4663820 0.00000000 0.30605800 0.00000000 0.00000000 0.4979660 0.00000000 0.00000000 -0.24850300 0.00000000 0.0843530 0.00000000 0.00000000 -0.13170400 0.00000000 0.0666350 0.00000000 0.00000000 1.23352000 0.00000000 0.0259544 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 150.9630000 0.00500170 0.00000000 0.00000000 35.5878000 0.03551100 0.00000000 0.00000000 11.1683000 0.14282500 0.00000000 0.00000000 3.9020100 0.33862000 0.00000000 0.00000000 1.3817700 0.45157900 0.00000000 0.00000000 0.4663820 0.27327100 0.00000000 0.00000000 0.4979660 0.00000000 -0.02302300 0.00000000 0.0843530 0.00000000 0.95035900 0.00000000 0.0666350 0.00000000 0.05985800 0.00000000 0.0259544 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 a 12 $ MAGNESIUM (16s,10p) -> [4s,3p] $ MAGNESIUM (1d) $ S-TYPE FUNCTIONS 16 4 0 11722.8000000 0.00197780 0.00000000 0.00000000 0.00000000 1759.9300000 0.01511400 0.00000000 0.00000000 0.00000000 400.8460000 0.07391100 0.00000000 0.00000000 0.00000000 112.8070000 0.24919100 0.00000000 0.00000000 0.00000000 35.9997000 0.48792800 0.00000000 0.00000000 0.00000000 12.1828000 0.31966200 0.00000000 0.00000000 0.00000000 189.1800000 0.00000000 -0.00323720 0.00000000 0.00000000 45.2119000 0.00000000 -0.04100800 0.00000000 0.00000000 14.3563000 0.00000000 -0.11260000 0.00000000 0.00000000 5.1388600 0.00000000 0.14863300 0.00000000 0.00000000 1.9065200 0.00000000 0.61649700 0.00000000 0.00000000 0.7058870 0.00000000 0.36482900 0.00000000 0.00000000 0.9293400 0.00000000 0.00000000 -0.21229000 0.00000000 0.2690350 0.00000000 0.00000000 -0.10798500 0.00000000 0.1173790 0.00000000 0.00000000 1.17584000 0.00000000 0.0421061 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 189.1800000 0.00492810 0.00000000 0.00000000 45.2119000 0.03498900 0.00000000 0.00000000 14.3563000 0.14072500 0.00000000 0.00000000 5.1388600 0.33364200 0.00000000 0.00000000 1.9065200 0.44494000 0.00000000 0.00000000 0.7058870 0.26925400 0.00000000 0.00000000 0.9293400 0.00000000 -0.02241900 0.00000000 0.2690350 0.00000000 0.19227000 0.00000000 0.1173790 0.00000000 0.84618100 0.00000000 0.0421061 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 a 13 $ ALUMINUM (16s,10p) -> [4s,3p] $ ALUMINUM (1d) $ S-TYPE FUNCTIONS 16 4 0 13983.1000000 0.00194270 0.00000000 0.00000000 0.00000000 2098.7500000 0.01486000 0.00000000 0.00000000 0.00000000 477.7050000 0.07284900 0.00000000 0.00000000 0.00000000 134.3600000 0.24683000 0.00000000 0.00000000 0.00000000 42.8709000 0.48725800 0.00000000 0.00000000 0.00000000 14.5189000 0.32349600 0.00000000 0.00000000 0.00000000 239.6680000 0.00000000 -0.00292620 0.00000000 0.00000000 57.4419000 0.00000000 -0.03740800 0.00000000 0.00000000 18.2859000 0.00000000 -0.11448700 0.00000000 0.00000000 6.5991400 0.00000000 0.11563500 0.00000000 0.00000000 2.4904900 0.00000000 0.61259500 0.00000000 0.00000000 0.9445400 0.00000000 0.39379900 0.00000000 0.00000000 1.2779000 0.00000000 0.00000000 -0.22760600 0.00000000 0.3975900 0.00000000 0.00000000 0.14458300 0.00000000 0.1600950 0.00000000 0.00000000 1.09279000 0.00000000 0.0556577 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 239.6680000 0.00460290 0.00000000 0.00000000 57.4419000 0.03319900 0.00000000 0.00000000 18.2859000 0.13628200 0.00000000 0.00000000 6.5991400 0.33047600 0.00000000 0.00000000 2.4904900 0.44914600 0.00000000 0.00000000 0.9445400 0.26570400 0.00000000 0.00000000 1.2779000 0.00000000 -0.01751300 0.00000000 0.3975900 0.00000000 0.24453300 0.00000000 0.1600950 0.00000000 0.80493400 0.00000000 0.0556577 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.3250000 1.00000000 a 14 $ SILICON (16s,10p) -> [4s,3p] $ SILICON (1d) $ S-TYPE FUNCTIONS 16 4 0 16115.9000000 0.00195948 0.00000000 0.00000000 0.00000000 2425.5800000 0.01492880 0.00000000 0.00000000 0.00000000 553.8670000 0.07284780 0.00000000 0.00000000 0.00000000 156.3400000 0.24613000 0.00000000 0.00000000 0.00000000 50.0683000 0.48591400 0.00000000 0.00000000 0.00000000 17.0178000 0.32500200 0.00000000 0.00000000 0.00000000 292.7180000 0.00000000 -0.00278094 0.00000000 0.00000000 69.8731000 0.00000000 -0.03571460 0.00000000 0.00000000 22.3363000 0.00000000 -0.11498500 0.00000000 0.00000000 8.1503900 0.00000000 0.09356340 0.00000000 0.00000000 3.1345800 0.00000000 0.60301700 0.00000000 0.00000000 1.2254300 0.00000000 0.41895900 0.00000000 0.00000000 1.7273800 0.00000000 0.00000000 -0.24463000 0.00000000 0.5729220 0.00000000 0.00000000 0.00431572 0.00000000 0.2221920 0.00000000 0.00000000 1.09818000 0.00000000 0.0778369 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 292.7180000 0.00443826 0.00000000 0.00000000 69.8731000 0.03266790 0.00000000 0.00000000 22.3363000 0.13472100 0.00000000 0.00000000 8.1503900 0.32867800 0.00000000 0.00000000 3.1345800 0.44964000 0.00000000 0.00000000 1.2254300 0.26137200 0.00000000 0.00000000 1.7273800 0.00000000 -0.01779510 0.00000000 0.5729220 0.00000000 0.25353900 0.00000000 0.2221920 0.00000000 0.80066900 0.00000000 0.0778369 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4500000 1.00000000 a 15 $ PHOSPHORUS (16s,10p) -> [4s,3p] $ PHOSPHORUS (1d) $ S-TYPE FUNCTIONS 16 4 0 19413.3000000 0.00185160 0.00000000 0.00000000 0.00000000 2909.4200000 0.01420620 0.00000000 0.00000000 0.00000000 661.3640000 0.06999950 0.00000000 0.00000000 0.00000000 185.7590000 0.24007900 0.00000000 0.00000000 0.00000000 59.1943000 0.48476200 0.00000000 0.00000000 0.00000000 20.0310000 0.33520000 0.00000000 0.00000000 0.00000000 339.4780000 0.00000000 -0.00278217 0.00000000 0.00000000 81.0101000 0.00000000 -0.03604990 0.00000000 0.00000000 25.8780000 0.00000000 -0.11663100 0.00000000 0.00000000 9.4522100 0.00000000 0.09683280 0.00000000 0.00000000 3.6656600 0.00000000 0.61441800 0.00000000 0.00000000 1.4674600 0.00000000 0.40379800 0.00000000 0.00000000 2.1562300 0.00000000 0.00000000 -0.25292300 0.00000000 0.7489970 0.00000000 0.00000000 0.03285170 0.00000000 0.2831450 0.00000000 0.00000000 1.08125000 0.00000000 0.0998317 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 339.4780000 0.00456462 0.00000000 0.00000000 81.0101000 0.03369360 0.00000000 0.00000000 25.8780000 0.13975500 0.00000000 0.00000000 9.4522100 0.33936200 0.00000000 0.00000000 3.6656600 0.45092100 0.00000000 0.00000000 1.4674600 0.23858600 0.00000000 0.00000000 2.1562300 0.00000000 -0.01776530 0.00000000 0.7489970 0.00000000 0.27405800 0.00000000 0.2831450 0.00000000 0.78542100 0.00000000 0.0998317 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.5500000 1.00000000 a 16 $ SULFUR (16s,10p) -> [4s,3p] $ SULFUR (1d) $ S-TYPE FUNCTIONS 16 4 0 21917.1000000 0.00186900 0.00000000 0.00000000 0.00000000 3301.4900000 0.01423000 0.00000000 0.00000000 0.00000000 754.1460000 0.06969600 0.00000000 0.00000000 0.00000000 212.7110000 0.23848700 0.00000000 0.00000000 0.00000000 67.9896000 0.48330700 0.00000000 0.00000000 0.00000000 23.0515000 0.33807400 0.00000000 0.00000000 0.00000000 423.7350000 0.00000000 -0.00237670 0.00000000 0.00000000 100.7100000 0.00000000 -0.03169300 0.00000000 0.00000000 32.1599000 0.00000000 -0.11331700 0.00000000 0.00000000 11.8079000 0.00000000 0.05609000 0.00000000 0.00000000 4.6311000 0.00000000 0.59225500 0.00000000 0.00000000 1.8702500 0.00000000 0.45500600 0.00000000 0.00000000 2.6158400 0.00000000 0.00000000 -0.25037400 0.00000000 0.9221670 0.00000000 0.00000000 0.06695700 0.00000000 0.3412870 0.00000000 0.00000000 1.05451000 0.00000000 0.1171670 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 423.7350000 0.00406100 0.00000000 0.00000000 100.7100000 0.03068100 0.00000000 0.00000000 32.1599000 0.13045200 0.00000000 0.00000000 11.8079000 0.32720500 0.00000000 0.00000000 4.6311000 0.45285100 0.00000000 0.00000000 1.8702500 0.25604200 0.00000000 0.00000000 2.6158400 0.00000000 -0.01451100 0.00000000 0.9221670 0.00000000 0.31026300 0.00000000 0.3412870 0.00000000 0.75448300 0.00000000 0.1171670 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6500000 1.00000000 a 17 $ CHLORINE (16s,10p) -> [4s,3p] $ CHLORINE (1d) $ S-TYPE FUNCTIONS 16 4 0 25180.1000000 0.00183300 0.00000000 0.00000000 0.00000000 3780.3500000 0.01403400 0.00000000 0.00000000 0.00000000 860.4740000 0.06909700 0.00000000 0.00000000 0.00000000 242.1450000 0.23745200 0.00000000 0.00000000 0.00000000 77.3349000 0.48303400 0.00000000 0.00000000 0.00000000 26.2470000 0.33985600 0.00000000 0.00000000 0.00000000 491.7650000 0.00000000 -0.00229740 0.00000000 0.00000000 116.9840000 0.00000000 -0.03071400 0.00000000 0.00000000 37.4153000 0.00000000 -0.11252800 0.00000000 0.00000000 13.7834000 0.00000000 0.04501600 0.00000000 0.00000000 5.4521500 0.00000000 0.58935300 0.00000000 0.00000000 2.2258800 0.00000000 0.46520600 0.00000000 0.00000000 3.1864900 0.00000000 0.00000000 -0.25183000 0.00000000 1.1442700 0.00000000 0.00000000 0.06158900 0.00000000 0.4203770 0.00000000 0.00000000 1.06018000 0.00000000 0.1426570 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 491.7650000 0.00398940 0.00000000 0.00000000 116.9840000 0.03031800 0.00000000 0.00000000 37.4153000 0.12988000 0.00000000 0.00000000 13.7834000 0.32795100 0.00000000 0.00000000 5.4521500 0.45352700 0.00000000 0.00000000 2.2258800 0.25215400 0.00000000 0.00000000 3.1864900 0.00000000 -0.01429900 0.00000000 1.1442700 0.00000000 0.32357200 0.00000000 0.4203770 0.00000000 0.74350700 0.00000000 0.1426570 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.7500000 1.00000000 a 18 $ ARGON (16s,10p) -> [4s,3p] $ ARGON (1d) $ S-TYPE FUNCTIONS 16 4 0 28348.3000000 0.00182526 0.00000000 0.00000000 0.00000000 4257.6200000 0.01396860 0.00000000 0.00000000 0.00000000 969.8570000 0.06870730 0.00000000 0.00000000 0.00000000 273.2630000 0.23620400 0.00000000 0.00000000 0.00000000 87.3695000 0.48221400 0.00000000 0.00000000 0.00000000 29.6867000 0.34204300 0.00000000 0.00000000 0.00000000 575.8910000 0.00000000 -0.00215972 0.00000000 0.00000000 136.8160000 0.00000000 -0.02907750 0.00000000 0.00000000 43.8098000 0.00000000 -0.11082700 0.00000000 0.00000000 16.2094000 0.00000000 0.02769990 0.00000000 0.00000000 6.4608400 0.00000000 0.57761300 0.00000000 0.00000000 2.6511400 0.00000000 0.48868800 0.00000000 0.00000000 3.8602800 0.00000000 0.00000000 -0.25559200 0.00000000 1.4137300 0.00000000 0.00000000 0.03780660 0.00000000 0.5166460 0.00000000 0.00000000 1.08056000 0.00000000 0.1738880 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 575.8910000 0.00380665 0.00000000 0.00000000 136.8160000 0.02923050 0.00000000 0.00000000 43.8098000 0.12646700 0.00000000 0.00000000 16.2094000 0.32351000 0.00000000 0.00000000 6.4608400 0.45489600 0.00000000 0.00000000 2.6511400 0.25663000 0.00000000 0.00000000 3.8602800 0.00000000 -0.01591970 0.00000000 1.4137300 0.00000000 0.32464600 0.00000000 0.5166460 0.00000000 0.74399000 0.00000000 0.1738880 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8500000 1.00000000 a 25 $ MANGANESE (22s,16p,4d,1f) -> [5s,4p,2d,1f] $ taken from http://www.emsl.pnl.gov/forms/basisform.html 22 5 0 56347.14000 0.001771580000 0. 0. 0. 0. 8460.943000 0.01357081000 0. 0. 0. 0. 1927.325000 0.06690605000 0. 0. 0. 0. 543.2343000 0.2318541000 0. 0. 0. 0. 173.9905000 0.4799046000 0. 0. 0. 0. 59.36005000 0.3495737000 0. 0. 0. 0. 1165.412000 0. 0.002388751000 0. 0. 0. 277.3276000 0. 0.03181708000 0. 0. 0. 89.47278000 0. 0.1254670000 0. 0. 0. 33.48256000 0. -0.02955431000 0. 0. 0. 13.54037000 0. -0.6175160000 0. 0. 0. 5.557972000 0. -0.4544458000 0. 0. 0. 45.83532000 0. 0. -0.003665856000 0. 0. 15.18777000 0. 0. 0.07231971000 0. 0. 6.500710000 0. 0. 0.2544486000 0. 0. 2.751583000 0. 0. -0.2910380000 0. 0. 1.145404000 0. 0. -0.7359860000 0. 0. 0.4536870000 0. 0. -0.1997617000 0. 0. 1.757999000 0. 0. 0. 0.05628572000 0. 0.6670220000 0. 0. 0. 0.2897491000 0. 0.1051290000 0. 0. 0. -1.140653000 0. 0.03841800000 0. 0. 0. 0. 1.000000000 $ p functions 16 4 0 1165.412000 0.003977318000 0. 0. 0. 277.3276000 0.03103112000 0. 0. 0. 89.47278000 0.1351894000 0. 0. 0. 33.48256000 0.3457387000 0. 0. 0. 13.54037000 0.4629205000 0. 0. 0. 5.557972000 0.2090592000 0. 0. 0. 45.83532000 0. -0.006887578000 0. 0. 15.18777000 0. -0.02846816000 0. 0. 6.500710000 0. 0.06031832000 0. 0. 2.751583000 0. 0.3938961000 0. 0. 1.145404000 0. 0.5013769000 0. 0. 0.4536870000 0. 0.1792264000 0. 0. 1.757999000 0. 0. -0.5035024000 0. 0.6670220000 0. 0. 0.2345011000 0. 0.1051290000 0. 0. 0.9141257000 0. 0.03841800000 0. 0. 0. 1.000000000 $ d functions 4 2 0 20.94355000 0.08672702000 0. 5.510486000 0.3841883000 0. 1.665038000 0.7069071000 0. 0.4617330000 0. 1.000000000 $ f functions 1 1 0 0.8000000000 1.000000000 a 30 ! ZINC (1f) ! s functions 22 5 0 82400.94000 0.1743329000E-02 0. 0. 0. 0. 12372.55000 0.1335966000E-01 0. 0. 0. 0. 2818.351000 0.6594365000E-01 0. 0. 0. 0. 794.5717000 0.2294151000 0. 0. 0. 0. 254.7232000 0.4785453000 0. 0. 0. 0. 87.13880000 0.3537753000 0. 0. 0. 0. 1732.569000 0. 0.2361459000E-02 0. 0. 0. 412.7149000 0. 0.3150177000E-01 0. 0. 0. 133.6780000 0. 0.1272774000 0. 0. 0. 50.38585000 0. -0.2145928000E-01 0. 0. 0. 20.58358000 0. -0.6197652000 0. 0. 0. 8.505940000 0. -0.4590180000 0. 0. 0. 69.36492000 0. 0. -0.4440098000E-02 0. 0. 23.62082000 0. 0. 0.7505253000E-01 0. 0. 10.18471000 0. 0. 0.2533111000 0. 0. 4.334082000 0. 0. -0.2881897000 0. 0. 1.810918000 0. 0. -0.7267052000 0. 0. 0.7148410000 0. 0. -0.2133439000 0. 0. 2.823842000 0. 0. 0. 0.4898543000E-01 0. 1.039543000 0. 0. 0. 0.2592793000 0. 0.1432640000 0. 0. 0. -1.115711000 0. 0.4929600000E-01 0. 0. 0. 0. 1.000000000 ! p functions 16 4 0 1732.569000 0.3963125000E-02 0. 0. 0. 412.7149000 0.3113411000E-01 0. 0. 0. 133.6780000 0.1363931000 0. 0. 0. 50.38585000 0.3501266000 0. 0. 0. 20.58358000 0.4623179000 0. 0. 0. 8.505940000 0.2004995000 0. 0. 0. 69.36492000 0. -0.7689262000E-02 0. 0. 23.62082000 0. -0.2997982000E-01 0. 0. 10.18471000 0. 0.7082411000E-01 0. 0. 4.334082000 0. 0.4046141000 0. 0. 1.810918000 0. 0.4882325000 0. 0. 0.7148410000 0. 0.1751970000 0. 0. 2.823842000 0. 0. -0.1586763000 0. 1.039543000 0. 0. 0.8379327000E-01 0. 0.1432640000 0. 0. 0.9840547000 0. 0.4929600000E-01 0. 0. 0. 1.000000000 ! d functions 4 2 0 33.70764000 0.9262648000E-01 0. 9.061106000 0.4002980000 0. 2.738383000 0.6896608000 0. 0.7302940000 0. 1.000000000 ! f functions 1 1 0 0.8000000000 1.000000000 ergo-3.5/basis/cc-pV5Z0000775000175000017500000114616212743400275011475 00000000000000$ cc-pV5Z EMSL Basis Set Exchange Library 11/10/15 12:36 AM $ Elements References $ -------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $ Li : Unofficial set from D. Feller. $ B - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ Na - Mg: Unofficial set from D. Feller. $ Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $ Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ Sc - Zn: N.B. Balabanov and K.A. Peterson, J. Chem. Phys., 123, 064107 (2005) $ Ga - Kr: A.K. Wilson, D.E. Woon,K.A. Peterson, T.H.Dunning, Jr., J. Chem. Phys. 110, 7667 (1999) $ $ HYDROGEN (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ HYDROGEN (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] a 1 $ S-TYPE FUNCTIONS 8 5 0 402.0000000 0.0002790 0.0000000 0.0000000 0.0000000 0.0000000 60.2400000 0.0021650 0.0000000 0.0000000 0.0000000 0.0000000 13.7300000 0.0112010 0.0000000 0.0000000 0.0000000 0.0000000 3.9050000 0.0448780 0.0000000 0.0000000 0.0000000 0.0000000 1.2830000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4655000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1811000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0727900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 4 4 0 4.5160000 1.0000000 0.0000000 0.0000000 0.0000000 1.7120000 0.0000000 1.0000000 0.0000000 0.0000000 0.6490000 0.0000000 0.0000000 1.0000000 0.0000000 0.2460000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 2.9500000 1.0000000 0.0000000 0.0000000 1.2060000 0.0000000 1.0000000 0.0000000 0.4930000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 2.5060000 1.0000000 0.0000000 0.8750000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 2.3580000 1.0000000 $ HELIUM (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ HELIUM (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] a 2 $ S-TYPE FUNCTIONS 8 5 0 1145.0000000 0.0003590 0.0000000 0.0000000 0.0000000 0.0000000 171.7000000 0.0027710 0.0000000 0.0000000 0.0000000 0.0000000 39.0700000 0.0142510 0.0000000 0.0000000 0.0000000 0.0000000 11.0400000 0.0555660 0.0000000 0.0000000 0.0000000 0.0000000 3.5660000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.2400000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4473000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1640000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 4 4 0 10.1530000 1.0000000 0.0000000 0.0000000 0.0000000 3.6270000 0.0000000 1.0000000 0.0000000 0.0000000 1.2960000 0.0000000 0.0000000 1.0000000 0.0000000 0.4630000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 7.6660000 1.0000000 0.0000000 0.0000000 2.6470000 0.0000000 1.0000000 0.0000000 0.9140000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 5.4110000 1.0000000 0.0000000 1.7070000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 3.4300000 1.0000000 $ LITHIUM (14s,7p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ LITHIUM (14s,7p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] a 3 $ S-TYPE FUNCTIONS 14 6 0 29493.0000000 0.0000180 -0.0000030 0.0000000 0.0000000 0.0000000 0.0000000 4417.1010000 0.0001410 -0.0000220 0.0000000 0.0000000 0.0000000 0.0000000 1005.2230000 0.0007390 -0.0001150 0.0000000 0.0000000 0.0000000 0.0000000 284.7009000 0.0031070 -0.0004870 0.0000000 0.0000000 0.0000000 0.0000000 92.8654300 0.0111350 -0.0017460 0.0000000 0.0000000 0.0000000 0.0000000 33.5117900 0.0346700 -0.0055200 0.0000000 0.0000000 0.0000000 0.0000000 13.0418000 0.0921710 -0.0149280 0.0000000 0.0000000 0.0000000 0.0000000 5.3575360 0.1995760 -0.0342060 0.0000000 0.0000000 0.0000000 0.0000000 2.2793380 0.3288360 -0.0621550 0.0000000 0.0000000 0.0000000 0.0000000 0.9939900 0.3459750 -0.0959020 0.0000000 0.0000000 0.0000000 0.0000000 0.4334710 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0955660 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0446570 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0206330 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 7 5 0 11.2500000 0.0013120 0.0000000 0.0000000 0.0000000 0.0000000 2.5000000 0.0099180 0.0000000 0.0000000 0.0000000 0.0000000 0.6500000 0.0375420 0.0000000 0.0000000 0.0000000 0.0000000 0.2500000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0390000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0170000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.5500000 1.0000000 0.0000000 0.0000000 0.0000000 0.2900000 0.0000000 1.0000000 0.0000000 0.0000000 0.1400000 0.0000000 0.0000000 1.0000000 0.0000000 0.0610000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.3500000 1.0000000 0.0000000 0.0000000 0.2200000 0.0000000 1.0000000 0.0000000 0.1100000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.3200000 1.0000000 0.0000000 0.1600000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.3200000 1.0000000 $ BERYLLIUM (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ BERYLLIUM (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] a 4 $ S-TYPE FUNCTIONS 14 6 0 54620.0000000 0.0000180 -0.0000030 0.0000000 0.0000000 0.0000000 0.0000000 8180.0000000 0.0001380 -0.0000250 0.0000000 0.0000000 0.0000000 0.0000000 1862.0000000 0.0007230 -0.0001310 0.0000000 0.0000000 0.0000000 0.0000000 527.3000000 0.0030390 -0.0005580 0.0000000 0.0000000 0.0000000 0.0000000 172.0000000 0.0109080 -0.0019880 0.0000000 0.0000000 0.0000000 0.0000000 62.1000000 0.0340350 -0.0063700 0.0000000 0.0000000 0.0000000 0.0000000 24.2100000 0.0911930 -0.0172170 0.0000000 0.0000000 0.0000000 0.0000000 9.9930000 0.1992680 -0.0408580 0.0000000 0.0000000 0.0000000 0.0000000 4.3050000 0.3293550 -0.0742370 0.0000000 0.0000000 0.0000000 0.0000000 1.9210000 0.3404890 -0.1192340 0.0000000 0.0000000 0.0000000 0.0000000 0.8663000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2475000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1009000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0412900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 5 0 43.7500000 0.0006330 0.0000000 0.0000000 0.0000000 0.0000000 10.3300000 0.0048080 0.0000000 0.0000000 0.0000000 0.0000000 3.2260000 0.0205270 0.0000000 0.0000000 0.0000000 0.0000000 1.1270000 0.0678160 0.0000000 0.0000000 0.0000000 0.0000000 0.4334000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1808000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0782700 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0337200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 1.6350000 1.0000000 0.0000000 0.0000000 0.0000000 0.7410000 0.0000000 1.0000000 0.0000000 0.0000000 0.3350000 0.0000000 0.0000000 1.0000000 0.0000000 0.1519000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.6860000 1.0000000 0.0000000 0.0000000 0.4010000 0.0000000 1.0000000 0.0000000 0.2350000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.6030000 1.0000000 0.0000000 0.3240000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.5100000 1.0000000 $ BORON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ BORON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] a 5 $ S-TYPE FUNCTIONS 14 6 0 68260.0000000 0.0000240 -0.0000050 0.0000000 0.0000000 0.0000000 0.0000000 10230.0000000 0.0001850 -0.0000370 0.0000000 0.0000000 0.0000000 0.0000000 2328.0000000 0.0009700 -0.0001960 0.0000000 0.0000000 0.0000000 0.0000000 660.4000000 0.0040560 -0.0008240 0.0000000 0.0000000 0.0000000 0.0000000 216.2000000 0.0143990 -0.0029230 0.0000000 0.0000000 0.0000000 0.0000000 78.6000000 0.0439010 -0.0091380 0.0000000 0.0000000 0.0000000 0.0000000 30.9800000 0.1130570 -0.0241050 0.0000000 0.0000000 0.0000000 0.0000000 12.9600000 0.2338250 -0.0547550 0.0000000 0.0000000 0.0000000 0.0000000 5.6590000 0.3539600 -0.0969430 0.0000000 0.0000000 0.0000000 0.0000000 2.5560000 0.3015470 -0.1374850 0.0000000 0.0000000 0.0000000 0.0000000 1.1750000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4249000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1712000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0691300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 5 0 66.4400000 0.0008380 0.0000000 0.0000000 0.0000000 0.0000000 15.7100000 0.0064090 0.0000000 0.0000000 0.0000000 0.0000000 4.9360000 0.0280810 0.0000000 0.0000000 0.0000000 0.0000000 1.7700000 0.0921520 0.0000000 0.0000000 0.0000000 0.0000000 0.7008000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2901000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1211000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0497300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 2.0100000 1.0000000 0.0000000 0.0000000 0.0000000 0.7960000 0.0000000 1.0000000 0.0000000 0.0000000 0.3160000 0.0000000 0.0000000 1.0000000 0.0000000 0.1250000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 1.2150000 1.0000000 0.0000000 0.0000000 0.5250000 0.0000000 1.0000000 0.0000000 0.2270000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 1.1240000 1.0000000 0.0000000 0.4610000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.8340000 1.0000000 $ CARBON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ CARBON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] a 6 $ S-TYPE FUNCTIONS 14 6 0 96770.0000000 0.0000250 -0.0000050 0.0000000 0.0000000 0.0000000 0.0000000 14500.0000000 0.0001900 -0.0000410 0.0000000 0.0000000 0.0000000 0.0000000 3300.0000000 0.0010000 -0.0002130 0.0000000 0.0000000 0.0000000 0.0000000 935.8000000 0.0041830 -0.0008970 0.0000000 0.0000000 0.0000000 0.0000000 306.2000000 0.0148590 -0.0031870 0.0000000 0.0000000 0.0000000 0.0000000 111.3000000 0.0453010 -0.0099610 0.0000000 0.0000000 0.0000000 0.0000000 43.9000000 0.1165040 -0.0263750 0.0000000 0.0000000 0.0000000 0.0000000 18.4000000 0.2402490 -0.0600010 0.0000000 0.0000000 0.0000000 0.0000000 8.0540000 0.3587990 -0.1068250 0.0000000 0.0000000 0.0000000 0.0000000 3.6370000 0.2939410 -0.1441660 0.0000000 0.0000000 0.0000000 0.0000000 1.6560000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6333000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2545000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1019000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 5 0 101.8000000 0.0008910 0.0000000 0.0000000 0.0000000 0.0000000 24.0400000 0.0069760 0.0000000 0.0000000 0.0000000 0.0000000 7.5710000 0.0316690 0.0000000 0.0000000 0.0000000 0.0000000 2.7320000 0.1040060 0.0000000 0.0000000 0.0000000 0.0000000 1.0850000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4496000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1876000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0760600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 3.1340000 1.0000000 0.0000000 0.0000000 0.0000000 1.2330000 0.0000000 1.0000000 0.0000000 0.0000000 0.4850000 0.0000000 0.0000000 1.0000000 0.0000000 0.1910000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 2.0060000 1.0000000 0.0000000 0.0000000 0.8380000 0.0000000 1.0000000 0.0000000 0.3500000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 1.7530000 1.0000000 0.0000000 0.6780000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 1.2590000 1.0000000 $ NITROGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ NITROGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] a 7 $ S-TYPE FUNCTIONS 14 6 0 129200.0000000 0.0000250 -0.0000060 0.0000000 0.0000000 0.0000000 0.0000000 19350.0000000 0.0001970 -0.0000430 0.0000000 0.0000000 0.0000000 0.0000000 4404.0000000 0.0010320 -0.0002270 0.0000000 0.0000000 0.0000000 0.0000000 1248.0000000 0.0043250 -0.0009580 0.0000000 0.0000000 0.0000000 0.0000000 408.0000000 0.0153800 -0.0034160 0.0000000 0.0000000 0.0000000 0.0000000 148.2000000 0.0468670 -0.0106670 0.0000000 0.0000000 0.0000000 0.0000000 58.5000000 0.1201160 -0.0282790 0.0000000 0.0000000 0.0000000 0.0000000 24.5900000 0.2456950 -0.0640200 0.0000000 0.0000000 0.0000000 0.0000000 10.8100000 0.3613790 -0.1139320 0.0000000 0.0000000 0.0000000 0.0000000 4.8820000 0.2872830 -0.1469950 0.0000000 0.0000000 0.0000000 0.0000000 2.1950000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8715000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3504000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1397000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 5 0 147.0000000 0.0008920 0.0000000 0.0000000 0.0000000 0.0000000 34.7600000 0.0070820 0.0000000 0.0000000 0.0000000 0.0000000 11.0000000 0.0328160 0.0000000 0.0000000 0.0000000 0.0000000 3.9950000 0.1082090 0.0000000 0.0000000 0.0000000 0.0000000 1.5870000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6533000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2686000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1067000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 4.6470000 1.0000000 0.0000000 0.0000000 0.0000000 1.8130000 0.0000000 1.0000000 0.0000000 0.0000000 0.7070000 0.0000000 0.0000000 1.0000000 0.0000000 0.2760000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 2.9420000 1.0000000 0.0000000 0.0000000 1.2040000 0.0000000 1.0000000 0.0000000 0.4930000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 2.5110000 1.0000000 0.0000000 0.9420000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 1.7680000 1.0000000 $ OXYGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ OXYGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] a 8 $ S-TYPE FUNCTIONS 14 6 0 164200.0000000 0.0000260 -0.0000060 0.0000000 0.0000000 0.0000000 0.0000000 24590.0000000 0.0002050 -0.0000460 0.0000000 0.0000000 0.0000000 0.0000000 5592.0000000 0.0010760 -0.0002440 0.0000000 0.0000000 0.0000000 0.0000000 1582.0000000 0.0045220 -0.0010310 0.0000000 0.0000000 0.0000000 0.0000000 516.1000000 0.0161080 -0.0036880 0.0000000 0.0000000 0.0000000 0.0000000 187.2000000 0.0490850 -0.0115140 0.0000000 0.0000000 0.0000000 0.0000000 73.9300000 0.1248570 -0.0304350 0.0000000 0.0000000 0.0000000 0.0000000 31.2200000 0.2516860 -0.0681470 0.0000000 0.0000000 0.0000000 0.0000000 13.8100000 0.3624200 -0.1203680 0.0000000 0.0000000 0.0000000 0.0000000 6.2560000 0.2790510 -0.1482600 0.0000000 0.0000000 0.0000000 0.0000000 2.7760000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.1380000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4600000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1829000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 5 0 195.5000000 0.0009180 0.0000000 0.0000000 0.0000000 0.0000000 46.1600000 0.0073880 0.0000000 0.0000000 0.0000000 0.0000000 14.5800000 0.0349580 0.0000000 0.0000000 0.0000000 0.0000000 5.2960000 0.1154310 0.0000000 0.0000000 0.0000000 0.0000000 2.0940000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8471000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3368000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1285000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 5.8790000 1.0000000 0.0000000 0.0000000 0.0000000 2.3070000 0.0000000 1.0000000 0.0000000 0.0000000 0.9050000 0.0000000 0.0000000 1.0000000 0.0000000 0.3550000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 4.0160000 1.0000000 0.0000000 0.0000000 1.5540000 0.0000000 1.0000000 0.0000000 0.6010000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 3.3500000 1.0000000 0.0000000 1.1890000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 2.3190000 1.0000000 $ FLUORINE (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ FLUORINE (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] a 9 $ S-TYPE FUNCTIONS 14 6 0 211400.0000000 0.0000260 -0.0000060 0.0000000 0.0000000 0.0000000 0.0000000 31660.0000000 0.0002010 -0.0000470 0.0000000 0.0000000 0.0000000 0.0000000 7202.0000000 0.0010560 -0.0002440 0.0000000 0.0000000 0.0000000 0.0000000 2040.0000000 0.0044320 -0.0010310 0.0000000 0.0000000 0.0000000 0.0000000 666.4000000 0.0157660 -0.0036830 0.0000000 0.0000000 0.0000000 0.0000000 242.0000000 0.0481120 -0.0115130 0.0000000 0.0000000 0.0000000 0.0000000 95.5300000 0.1232320 -0.0306630 0.0000000 0.0000000 0.0000000 0.0000000 40.2300000 0.2515190 -0.0695720 0.0000000 0.0000000 0.0000000 0.0000000 17.7200000 0.3645250 -0.1239920 0.0000000 0.0000000 0.0000000 0.0000000 8.0050000 0.2797660 -0.1502140 0.0000000 0.0000000 0.0000000 0.0000000 3.5380000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.4580000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.5887000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2324000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 5 0 241.9000000 0.0010020 0.0000000 0.0000000 0.0000000 0.0000000 57.1700000 0.0080540 0.0000000 0.0000000 0.0000000 0.0000000 18.1300000 0.0380480 0.0000000 0.0000000 0.0000000 0.0000000 6.6240000 0.1237790 0.0000000 0.0000000 0.0000000 0.0000000 2.6220000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.0570000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4176000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1574000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 7.7600000 1.0000000 0.0000000 0.0000000 0.0000000 3.0320000 0.0000000 1.0000000 0.0000000 0.0000000 1.1850000 0.0000000 0.0000000 1.0000000 0.0000000 0.4630000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 5.3980000 1.0000000 0.0000000 0.0000000 2.0780000 0.0000000 1.0000000 0.0000000 0.8000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 4.3380000 1.0000000 0.0000000 1.5130000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 2.9950000 1.0000000 $ NEON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ NEON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] a 10 $ S-TYPE FUNCTIONS 14 6 0 262700.0000000 0.0000260 -0.0000060 0.0000000 0.0000000 0.0000000 0.0000000 39350.0000000 0.0002000 -0.0000470 0.0000000 0.0000000 0.0000000 0.0000000 8955.0000000 0.0010500 -0.0002470 0.0000000 0.0000000 0.0000000 0.0000000 2538.0000000 0.0044000 -0.0010380 0.0000000 0.0000000 0.0000000 0.0000000 829.9000000 0.0156490 -0.0037110 0.0000000 0.0000000 0.0000000 0.0000000 301.5000000 0.0477580 -0.0115930 0.0000000 0.0000000 0.0000000 0.0000000 119.0000000 0.1229430 -0.0310860 0.0000000 0.0000000 0.0000000 0.0000000 50.0000000 0.2524830 -0.0709720 0.0000000 0.0000000 0.0000000 0.0000000 21.9800000 0.3663140 -0.1272660 0.0000000 0.0000000 0.0000000 0.0000000 9.8910000 0.2796170 -0.1512310 0.0000000 0.0000000 0.0000000 0.0000000 4.3270000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.8040000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.7288000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2867000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 5 0 299.1000000 0.0010380 0.0000000 0.0000000 0.0000000 0.0000000 70.7300000 0.0083750 0.0000000 0.0000000 0.0000000 0.0000000 22.4800000 0.0396930 0.0000000 0.0000000 0.0000000 0.0000000 8.2460000 0.1280560 0.0000000 0.0000000 0.0000000 0.0000000 3.2690000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.3150000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.5158000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1918000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 9.8370000 1.0000000 0.0000000 0.0000000 0.0000000 3.8440000 0.0000000 1.0000000 0.0000000 0.0000000 1.5020000 0.0000000 0.0000000 1.0000000 0.0000000 0.5870000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 7.0900000 1.0000000 0.0000000 0.0000000 2.7380000 0.0000000 1.0000000 0.0000000 1.0570000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 5.4600000 1.0000000 0.0000000 1.8800000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 3.7760000 1.0000000 $ SODIUM (19s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ SODIUM (19s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] a 11 $ S-TYPE FUNCTIONS 19 7 0 1224000.0000000 0.00000500 -0.00000100 0.00000000 0.0000000 0.0000000 0.0000000 0.0000000 183200.0000000 0.00003700 -0.00000900 0.00000100 0.0000000 0.0000000 0.0000000 0.0000000 41700.0000000 0.00019600 -0.00004800 0.00000700 0.0000000 0.0000000 0.0000000 0.0000000 11810.0000000 0.00082700 -0.00020200 0.00003000 0.0000000 0.0000000 0.0000000 0.0000000 3853.0000000 0.00300300 -0.00073600 0.00011100 0.0000000 0.0000000 0.0000000 0.0000000 1391.0000000 0.00970300 -0.00238700 0.00035900 0.0000000 0.0000000 0.0000000 0.0000000 542.5000000 0.02823400 -0.00705000 0.00106300 0.0000000 0.0000000 0.0000000 0.0000000 224.9000000 0.07320600 -0.01878600 0.00282700 0.0000000 0.0000000 0.0000000 0.0000000 97.9300000 0.16289700 -0.04461500 0.00676700 0.0000000 0.0000000 0.0000000 0.0000000 44.3100000 0.28870800 -0.08977400 0.01364800 0.0000000 0.0000000 0.0000000 0.0000000 20.6500000 0.34682900 -0.14294000 0.02228100 0.0000000 0.0000000 0.0000000 0.0000000 9.7290000 0.20686500 -0.12431500 0.01960100 0.0000000 0.0000000 0.0000000 0.0000000 4.2280000 0.03280100 0.09996500 -0.01677100 0.0000000 0.0000000 0.0000000 0.0000000 1.9690000 -0.00064800 0.41708000 -0.07737300 0.0000000 0.0000000 0.0000000 0.0000000 0.8890000 0.00145900 0.47512300 -0.11350100 0.0000000 0.0000000 0.0000000 0.0000000 0.3964000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0699300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0328900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0161200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 6 0 413.4000000 0.00090800 -0.00009000 0.0000000 0.0000000 0.0000000 0.0000000 97.9800000 0.00741800 -0.00073900 0.0000000 0.0000000 0.0000000 0.0000000 31.3700000 0.03574600 -0.00357300 0.0000000 0.0000000 0.0000000 0.0000000 11.6200000 0.11852000 -0.01201400 0.0000000 0.0000000 0.0000000 0.0000000 4.6710000 0.26140300 -0.02671800 0.0000000 0.0000000 0.0000000 0.0000000 1.9180000 0.37839500 -0.03927500 0.0000000 0.0000000 0.0000000 0.0000000 0.7775000 0.33463200 -0.03760800 0.0000000 0.0000000 0.0000000 0.0000000 0.3013000 0.12684400 -0.04332300 0.0000000 0.0000000 0.0000000 0.0000000 0.2275000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0752700 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0312600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0134200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.2734000 1.0000000 0.0000000 0.0000000 0.0000000 0.1538000 0.0000000 1.0000000 0.0000000 0.0000000 0.0865000 0.0000000 0.0000000 1.0000000 0.0000000 0.0487000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.4000000 1.0000000 0.0000000 0.0000000 0.1912000 0.0000000 1.0000000 0.0000000 0.1036000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.4250000 1.0000000 0.0000000 0.1722000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.2000000 1.0000000 $ MAGNESIUM (20s,14p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ MAGNESIUM (20s,14p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] a 12 $ S-TYPE FUNCTIONS 20 7 0 2968000.0000000 0.197177D-05 -0.498160D-06 0.960175D-07 0.0000000 0.0000000 0.0000000 0.0000000 444300.0000000 0.153362D-04 -0.387563D-05 0.746164D-06 0.0000000 0.0000000 0.0000000 0.0000000 101100.0000000 0.806852D-04 -0.203854D-04 0.393119D-05 0.0000000 0.0000000 0.0000000 0.0000000 28640.0000000 0.340771D-03 -0.861659D-04 0.165812D-04 0.0000000 0.0000000 0.0000000 0.0000000 9343.0000000 0.124194D-02 -0.314176D-03 0.606257D-04 0.0000000 0.0000000 0.0000000 0.0000000 3373.0000000 0.404124D-02 -0.102577D-02 0.197322D-03 0.0000000 0.0000000 0.0000000 0.0000000 1316.0000000 0.119797D-01 -0.305816D-02 0.590881D-03 0.0000000 0.0000000 0.0000000 0.0000000 545.8000000 0.324253D-01 -0.841063D-02 0.161904D-02 0.0000000 0.0000000 0.0000000 0.0000000 238.1000000 0.789332D-01 -0.211202D-01 0.409756D-02 0.0000000 0.0000000 0.0000000 0.0000000 108.2000000 0.166575D+00 -0.476882D-01 0.922989D-02 0.0000000 0.0000000 0.0000000 0.0000000 50.8000000 0.282871D+00 -0.924119D-01 0.182168D-01 0.0000000 0.0000000 0.0000000 0.0000000 24.4800000 0.331890D+00 -0.142548D+00 0.282884D-01 0.0000000 0.0000000 0.0000000 0.0000000 11.9300000 0.203287D+00 -0.126168D+00 0.265059D-01 0.0000000 0.0000000 0.0000000 0.0000000 5.5430000 0.382897D-01 0.715282D-01 -0.172053D-01 0.0000000 0.0000000 0.0000000 0.0000000 2.6750000 0.308916D-03 0.383039D+00 -0.885917D-01 0.0000000 0.0000000 0.0000000 0.0000000 1.2630000 0.138907D-02 0.490133D+00 -0.163871D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.5883000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1496000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0670000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0295200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 6 0 1441.0000000 0.152407D-03 -0.241031D-04 0.0000000 0.0000000 0.0000000 0.0000000 341.4000000 0.132764D-02 -0.210809D-03 0.0000000 0.0000000 0.0000000 0.0000000 110.7000000 0.721937D-02 -0.114530D-02 0.0000000 0.0000000 0.0000000 0.0000000 41.9700000 0.285205D-01 -0.456417D-02 0.0000000 0.0000000 0.0000000 0.0000000 17.4900000 0.865346D-01 -0.139603D-01 0.0000000 0.0000000 0.0000000 0.0000000 7.7530000 0.194950D+00 -0.321105D-01 0.0000000 0.0000000 0.0000000 0.0000000 3.5340000 0.312051D+00 -0.516217D-01 0.0000000 0.0000000 0.0000000 0.0000000 1.6140000 0.348476D+00 -0.613713D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.7299000 0.218886D+00 -0.442465D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.3029000 0.435579D-01 0.523191D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.1583000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0819000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0412300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0198800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.1100000 1.0000000 0.0000000 0.0000000 0.0000000 0.2420000 0.0000000 1.0000000 0.0000000 0.0000000 0.5320000 0.0000000 0.0000000 1.0000000 0.0000000 1.1710000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.1550000 1.0000000 0.0000000 0.0000000 0.2640000 0.0000000 1.0000000 0.0000000 0.4480000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.2400000 1.0000000 0.0000000 0.4440000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.3750000 1.0000000 $ ALUMINUM (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ ALUMINUM (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] a 13 $ S-TYPE FUNCTIONS 20 7 0 3269000.0000000 0.213962D-05 -0.556026D-06 0.128423D-06 0.0000000 0.0000000 0.0000000 0.0000000 489400.0000000 0.166264D-04 -0.432303D-05 0.997514D-06 0.0000000 0.0000000 0.0000000 0.0000000 111400.0000000 0.875168D-04 -0.227413D-04 0.525480D-05 0.0000000 0.0000000 0.0000000 0.0000000 31560.0000000 0.368990D-03 -0.960116D-04 0.221450D-04 0.0000000 0.0000000 0.0000000 0.0000000 10320.0000000 0.133903D-02 -0.348376D-03 0.805464D-04 0.0000000 0.0000000 0.0000000 0.0000000 3731.0000000 0.435636D-02 -0.113836D-02 0.262506D-03 0.0000000 0.0000000 0.0000000 0.0000000 1456.0000000 0.128955D-01 -0.338744D-02 0.784220D-03 0.0000000 0.0000000 0.0000000 0.0000000 604.1000000 0.348201D-01 -0.931505D-02 0.215039D-02 0.0000000 0.0000000 0.0000000 0.0000000 263.5000000 0.843530D-01 -0.233023D-01 0.541974D-02 0.0000000 0.0000000 0.0000000 0.0000000 119.8000000 0.175907D+00 -0.523486D-01 0.121686D-01 0.0000000 0.0000000 0.0000000 0.0000000 56.3200000 0.292091D+00 -0.999499D-01 0.236823D-01 0.0000000 0.0000000 0.0000000 0.0000000 27.1900000 0.328220D+00 -0.150560D+00 0.360937D-01 0.0000000 0.0000000 0.0000000 0.0000000 13.2600000 0.186927D+00 -0.119121D+00 0.303284D-01 0.0000000 0.0000000 0.0000000 0.0000000 6.0520000 0.310430D-01 0.108091D+00 -0.309034D-01 0.0000000 0.0000000 0.0000000 0.0000000 2.9810000 -0.508922D-03 0.411129D+00 -0.119126D+00 0.0000000 0.0000000 0.0000000 0.0000000 1.4760000 0.148836D-02 0.457214D+00 -0.211145D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.7334000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2447000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1088000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0467200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 6 0 1461.0000000 0.208613D-03 -0.371947D-04 0.0000000 0.0000000 0.0000000 0.0000000 346.2000000 0.181005D-02 -0.328563D-03 0.0000000 0.0000000 0.0000000 0.0000000 112.2000000 0.973433D-02 -0.174264D-02 0.0000000 0.0000000 0.0000000 0.0000000 42.5100000 0.378266D-01 -0.694828D-02 0.0000000 0.0000000 0.0000000 0.0000000 17.7200000 0.110898D+00 -0.202807D-01 0.0000000 0.0000000 0.0000000 0.0000000 7.8520000 0.234295D+00 -0.448657D-01 0.0000000 0.0000000 0.0000000 0.0000000 3.5710000 0.345245D+00 -0.643278D-01 0.0000000 0.0000000 0.0000000 0.0000000 1.6370000 0.331430D+00 -0.752666D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.7382000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2577000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0977300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0369000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 1.3170000 1.0000000 0.0000000 0.0000000 0.0000000 0.5260000 0.0000000 1.0000000 0.0000000 0.0000000 0.2100000 0.0000000 0.0000000 1.0000000 0.0000000 0.0840000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.1300000 1.0000000 0.0000000 0.0000000 0.2580000 0.0000000 1.0000000 0.0000000 0.5130000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.2520000 1.0000000 0.0000000 0.5430000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.4460000 1.0000000 $ SILICON (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ SILICON (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] a 14 $ S-TYPE FUNCTIONS 20 7 0 3948000.0000000 0.203712D-05 -0.542085D-06 0.138907D-06 0.0000000 0.0000000 0.0000000 0.0000000 591100.0000000 0.158394D-04 -0.421677D-05 0.107953D-05 0.0000000 0.0000000 0.0000000 0.0000000 134500.0000000 0.833590D-04 -0.221813D-04 0.568628D-05 0.0000000 0.0000000 0.0000000 0.0000000 38120.0000000 0.351361D-03 -0.936028D-04 0.239537D-04 0.0000000 0.0000000 0.0000000 0.0000000 12460.0000000 0.127660D-02 -0.340116D-03 0.872409D-04 0.0000000 0.0000000 0.0000000 0.0000000 4504.0000000 0.415191D-02 -0.111061D-02 0.284163D-03 0.0000000 0.0000000 0.0000000 0.0000000 1758.0000000 0.123030D-01 -0.330878D-02 0.849840D-03 0.0000000 0.0000000 0.0000000 0.0000000 729.1000000 0.333102D-01 -0.911602D-02 0.233527D-02 0.0000000 0.0000000 0.0000000 0.0000000 318.0000000 0.809845D-01 -0.228790D-01 0.590466D-02 0.0000000 0.0000000 0.0000000 0.0000000 144.6000000 0.170290D+00 -0.517119D-01 0.133461D-01 0.0000000 0.0000000 0.0000000 0.0000000 67.9700000 0.286879D+00 -0.999091D-01 0.262889D-01 0.0000000 0.0000000 0.0000000 0.0000000 32.8200000 0.330340D+00 -0.152747D+00 0.407426D-01 0.0000000 0.0000000 0.0000000 0.0000000 16.0300000 0.196602D+00 -0.127508D+00 0.361476D-01 0.0000000 0.0000000 0.0000000 0.0000000 7.3960000 0.354535D-01 0.946963D-01 -0.303923D-01 0.0000000 0.0000000 0.0000000 0.0000000 3.6610000 -0.535204D-03 0.414036D+00 -0.135961D+00 0.0000000 0.0000000 0.0000000 0.0000000 1.8230000 0.161465D-02 0.467934D+00 -0.250144D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.9147000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3393000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1500000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0643800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 6 0 1780.0000000 0.201206D-03 -0.427152D-04 0.0000000 0.0000000 0.0000000 0.0000000 421.8000000 0.174937D-02 -0.377039D-03 0.0000000 0.0000000 0.0000000 0.0000000 136.7000000 0.948141D-02 -0.202240D-02 0.0000000 0.0000000 0.0000000 0.0000000 51.8100000 0.372313D-01 -0.812833D-02 0.0000000 0.0000000 0.0000000 0.0000000 21.6000000 0.110763D+00 -0.242272D-01 0.0000000 0.0000000 0.0000000 0.0000000 9.5630000 0.237933D+00 -0.543825D-01 0.0000000 0.0000000 0.0000000 0.0000000 4.3500000 0.353691D+00 -0.799051D-01 0.0000000 0.0000000 0.0000000 0.0000000 2.0060000 0.328839D+00 -0.888958D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.9205000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3500000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1381000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0533800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.1260000 1.0000000 0.0000000 0.0000000 0.0000000 0.3210000 0.0000000 1.0000000 0.0000000 0.0000000 0.8170000 0.0000000 0.0000000 1.0000000 0.0000000 2.0820000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.1690000 1.0000000 0.0000000 0.0000000 0.3410000 0.0000000 1.0000000 0.0000000 0.6880000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.3200000 1.0000000 0.0000000 0.7050000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.5830000 1.0000000 $ PHOSPHOROUS (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ PHOSPHOROUS (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] a 15 $ S-TYPE FUNCTIONS 20 7 0 4666000.0000000 0.196759D-05 -0.534153D-06 0.146776D-06 0.0000000 0.0000000 0.0000000 0.0000000 698600.0000000 0.152963D-04 -0.415422D-05 0.114064D-05 0.0000000 0.0000000 0.0000000 0.0000000 159000.0000000 0.804826D-04 -0.218484D-04 0.600568D-05 0.0000000 0.0000000 0.0000000 0.0000000 45040.0000000 0.339737D-03 -0.923272D-04 0.253427D-04 0.0000000 0.0000000 0.0000000 0.0000000 14720.0000000 0.123291D-02 -0.335109D-03 0.921606D-04 0.0000000 0.0000000 0.0000000 0.0000000 5323.0000000 0.401345D-02 -0.109508D-02 0.300563D-03 0.0000000 0.0000000 0.0000000 0.0000000 2076.0000000 0.119124D-01 -0.326798D-02 0.899884D-03 0.0000000 0.0000000 0.0000000 0.0000000 861.1000000 0.322511D-01 -0.899951D-02 0.247354D-02 0.0000000 0.0000000 0.0000000 0.0000000 375.7000000 0.786643D-01 -0.226528D-01 0.626812D-02 0.0000000 0.0000000 0.0000000 0.0000000 170.8000000 0.166458D+00 -0.514650D-01 0.142598D-01 0.0000000 0.0000000 0.0000000 0.0000000 80.2900000 0.283039D+00 -0.100186D+00 0.282769D-01 0.0000000 0.0000000 0.0000000 0.0000000 38.7700000 0.331942D+00 -0.155075D+00 0.445124D-01 0.0000000 0.0000000 0.0000000 0.0000000 18.9300000 0.203352D+00 -0.133818D+00 0.407217D-01 0.0000000 0.0000000 0.0000000 0.0000000 8.7960000 0.383183D-01 0.878361D-01 -0.301908D-01 0.0000000 0.0000000 0.0000000 0.0000000 4.3580000 -0.384720D-03 0.422581D+00 -0.152894D+00 0.0000000 0.0000000 0.0000000 0.0000000 2.1740000 0.158744D-02 0.474899D+00 -0.282411D+00 0.0000000 0.0000000 0.0000000 0.0000000 1.0950000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4400000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1945000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0837600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 6 0 2010.0000000 0.215915D-03 -0.511444D-04 0.0000000 0.0000000 0.0000000 0.0000000 476.3000000 0.187536D-02 -0.448356D-03 0.0000000 0.0000000 0.0000000 0.0000000 154.4000000 0.101742D-01 -0.242340D-02 0.0000000 0.0000000 0.0000000 0.0000000 58.5100000 0.399856D-01 -0.969826D-02 0.0000000 0.0000000 0.0000000 0.0000000 24.4000000 0.118563D+00 -0.290965D-01 0.0000000 0.0000000 0.0000000 0.0000000 10.8000000 0.251816D+00 -0.641726D-01 0.0000000 0.0000000 0.0000000 0.0000000 4.9130000 0.366565D+00 -0.945071D-01 0.0000000 0.0000000 0.0000000 0.0000000 2.2690000 0.316177D+00 -0.934700D-01 0.0000000 0.0000000 0.0000000 0.0000000 1.0430000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4313000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1767000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0700900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.1660000 1.0000000 0.0000000 0.0000000 0.0000000 0.4180000 0.0000000 1.0000000 0.0000000 0.0000000 1.0540000 0.0000000 0.0000000 1.0000000 0.0000000 2.6560000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.2190000 1.0000000 0.0000000 0.0000000 0.4500000 0.0000000 1.0000000 0.0000000 0.9230000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.4120000 1.0000000 0.0000000 0.9030000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.7450000 1.0000000 $ SULFUR (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ SULFUR (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] a 16 $ S-TYPE FUNCTIONS 20 7 0 5481000.0000000 0.189338D-05 -0.522912D-06 0.151823D-06 0.0000000 0.0000000 0.0000000 0.0000000 820600.0000000 0.147211D-04 -0.406690D-05 0.118008D-05 0.0000000 0.0000000 0.0000000 0.0000000 186700.0000000 0.775084D-04 -0.214065D-04 0.621699D-05 0.0000000 0.0000000 0.0000000 0.0000000 52880.0000000 0.327224D-03 -0.904540D-04 0.262405D-04 0.0000000 0.0000000 0.0000000 0.0000000 17250.0000000 0.119365D-02 -0.330080D-03 0.959040D-04 0.0000000 0.0000000 0.0000000 0.0000000 6226.0000000 0.388393D-02 -0.107782D-02 0.312678D-03 0.0000000 0.0000000 0.0000000 0.0000000 2429.0000000 0.115336D-01 -0.321874D-02 0.936322D-03 0.0000000 0.0000000 0.0000000 0.0000000 1007.0000000 0.312748D-01 -0.887217D-02 0.257790D-02 0.0000000 0.0000000 0.0000000 0.0000000 439.5000000 0.764387D-01 -0.223771D-01 0.654121D-02 0.0000000 0.0000000 0.0000000 0.0000000 199.8000000 0.162700D+00 -0.510577D-01 0.149630D-01 0.0000000 0.0000000 0.0000000 0.0000000 93.9200000 0.279328D+00 -0.100225D+00 0.298940D-01 0.0000000 0.0000000 0.0000000 0.0000000 45.3400000 0.333145D+00 -0.156795D+00 0.476946D-01 0.0000000 0.0000000 0.0000000 0.0000000 22.1500000 0.209836D+00 -0.139748D+00 0.449556D-01 0.0000000 0.0000000 0.0000000 0.0000000 10.3400000 0.415974D-01 0.810059D-01 -0.293009D-01 0.0000000 0.0000000 0.0000000 0.0000000 5.1190000 -0.450552D-03 0.430883D+00 -0.168916D+00 0.0000000 0.0000000 0.0000000 0.0000000 2.5530000 0.168855D-02 0.481688D+00 -0.311014D+00 0.0000000 0.0000000 0.0000000 0.0000000 1.2820000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5450000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2411000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1035000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 6 0 2200.0000000 0.239049D-03 -0.608562D-04 0.0000000 0.0000000 0.0000000 0.0000000 521.4000000 0.207686D-02 -0.530419D-03 0.0000000 0.0000000 0.0000000 0.0000000 169.0000000 0.112363D-01 -0.287915D-02 0.0000000 0.0000000 0.0000000 0.0000000 64.0500000 0.440690D-01 -0.114397D-01 0.0000000 0.0000000 0.0000000 0.0000000 26.7200000 0.129168D+00 -0.342764D-01 0.0000000 0.0000000 0.0000000 0.0000000 11.8300000 0.269083D+00 -0.735811D-01 0.0000000 0.0000000 0.0000000 0.0000000 5.3780000 0.378611D+00 -0.107782D+00 0.0000000 0.0000000 0.0000000 0.0000000 2.4820000 0.296779D+00 -0.879769D-01 0.0000000 0.0000000 0.0000000 0.0000000 1.1160000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4848000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2006000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0795100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.2050000 1.0000000 0.0000000 0.0000000 0.0000000 0.5120000 0.0000000 1.0000000 0.0000000 0.0000000 1.2810000 0.0000000 0.0000000 1.0000000 0.0000000 3.2030000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.2550000 1.0000000 0.0000000 0.0000000 0.5290000 0.0000000 1.0000000 0.0000000 1.0960000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.4630000 1.0000000 0.0000000 1.0710000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.8720000 1.0000000 $ CHLORINE (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ CHLORINE (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] a 17 $ S-TYPE FUNCTIONS 20 7 0 6410000.0000000 0.181350D-05 -0.508303D-06 0.153808D-06 0.0000000 0.0000000 0.0000000 0.0000000 959600.0000000 0.141118D-04 -0.395633D-05 0.119654D-05 0.0000000 0.0000000 0.0000000 0.0000000 218300.0000000 0.742406D-04 -0.208095D-04 0.629828D-05 0.0000000 0.0000000 0.0000000 0.0000000 61810.0000000 0.314131D-03 -0.881175D-04 0.266450D-04 0.0000000 0.0000000 0.0000000 0.0000000 20140.0000000 0.114642D-02 -0.321742D-03 0.974162D-04 0.0000000 0.0000000 0.0000000 0.0000000 7264.0000000 0.373888D-02 -0.105277D-02 0.318360D-03 0.0000000 0.0000000 0.0000000 0.0000000 2832.0000000 0.110946D-01 -0.314183D-02 0.952377D-03 0.0000000 0.0000000 0.0000000 0.0000000 1175.0000000 0.301152D-01 -0.866363D-02 0.262430D-02 0.0000000 0.0000000 0.0000000 0.0000000 512.6000000 0.739145D-01 -0.219353D-01 0.668160D-02 0.0000000 0.0000000 0.0000000 0.0000000 233.0000000 0.158258D+00 -0.502584D-01 0.153595D-01 0.0000000 0.0000000 0.0000000 0.0000000 109.5000000 0.274753D+00 -0.995414D-01 0.309432D-01 0.0000000 0.0000000 0.0000000 0.0000000 52.8600000 0.334066D+00 -0.157647D+00 0.500638D-01 0.0000000 0.0000000 0.0000000 0.0000000 25.8400000 0.217589D+00 -0.146024D+00 0.489782D-01 0.0000000 0.0000000 0.0000000 0.0000000 12.1700000 0.457278D-01 0.692230D-01 -0.260807D-01 0.0000000 0.0000000 0.0000000 0.0000000 6.0300000 -0.134739D-03 0.430412D+00 -0.178426D+00 0.0000000 0.0000000 0.0000000 0.0000000 3.0120000 0.163933D-02 0.490802D+00 -0.332324D+00 0.0000000 0.0000000 0.0000000 0.0000000 1.5110000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6604000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2926000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1254000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 6 0 2548.0000000 0.235702D-03 -0.635410D-04 0.0000000 0.0000000 0.0000000 0.0000000 603.7000000 0.205158D-02 -0.553259D-03 0.0000000 0.0000000 0.0000000 0.0000000 195.6000000 0.111543D-01 -0.302795D-02 0.0000000 0.0000000 0.0000000 0.0000000 74.1500000 0.439816D-01 -0.120650D-01 0.0000000 0.0000000 0.0000000 0.0000000 30.9400000 0.129994D+00 -0.366348D-01 0.0000000 0.0000000 0.0000000 0.0000000 13.6900000 0.272959D+00 -0.790764D-01 0.0000000 0.0000000 0.0000000 0.0000000 6.2290000 0.383690D+00 -0.117422D+00 0.0000000 0.0000000 0.0000000 0.0000000 2.8780000 0.291870D+00 -0.860943D-01 0.0000000 0.0000000 0.0000000 0.0000000 1.2820000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5641000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2348000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0931200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.2500000 1.0000000 0.0000000 0.0000000 0.0000000 0.6180000 0.0000000 1.0000000 0.0000000 0.0000000 1.5290000 0.0000000 0.0000000 1.0000000 0.0000000 3.7810000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.3200000 1.0000000 0.0000000 0.0000000 0.6560000 0.0000000 1.0000000 0.0000000 1.3450000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.5560000 1.0000000 0.0000000 1.3020000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 1.0530000 1.0000000 $ ARGON (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] $ ARGON (20s,12p,4d,3f,2g,1h) -> [7s,6p,4d,3f,2g,1h] a 18 $ S-TYPE FUNCTIONS 20 7 0 7401000.0000000 0.00000175 -0.00000050 0.00000016 0.0000000 0.0000000 0.0000000 0.0000000 1108000.0000000 0.00001361 -0.00000387 0.00000121 0.0000000 0.0000000 0.0000000 0.0000000 252100.0000000 0.00007163 -0.00002034 0.00000636 0.0000000 0.0000000 0.0000000 0.0000000 71380.0000000 0.00030303 -0.00008609 0.00002689 0.0000000 0.0000000 0.0000000 0.0000000 23260.0000000 0.00110608 -0.00031444 0.00009834 0.0000000 0.0000000 0.0000000 0.0000000 8390.0000000 0.00360671 -0.00102841 0.00032129 0.0000000 0.0000000 0.0000000 0.0000000 3271.0000000 0.01071321 -0.00307267 0.00096200 0.0000000 0.0000000 0.0000000 0.0000000 1357.0000000 0.02910677 -0.00847532 0.00265245 0.0000000 0.0000000 0.0000000 0.0000000 592.0000000 0.07166011 -0.02152008 0.00677035 0.0000000 0.0000000 0.0000000 0.0000000 269.1000000 0.15414053 -0.04944932 0.01561727 0.0000000 0.0000000 0.0000000 0.0000000 126.5000000 0.27041707 -0.09877592 0.03171666 0.0000000 0.0000000 0.0000000 0.0000000 61.0300000 0.33485470 -0.15830822 0.05199742 0.0000000 0.0000000 0.0000000 0.0000000 29.8600000 0.22434631 -0.15140298 0.05247514 0.0000000 0.0000000 0.0000000 0.0000000 14.1700000 0.05000284 0.05824264 -0.02264147 0.0000000 0.0000000 0.0000000 0.0000000 7.0220000 0.00006459 0.42938305 -0.18606229 0.0000000 0.0000000 0.0000000 0.0000000 3.5110000 0.00168641 0.49908884 -0.35014547 0.0000000 0.0000000 0.0000000 0.0000000 1.7580000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.7841000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3480000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1491000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 6 0 2927.0000000 0.00023199 -0.00006491 0.0000000 0.0000000 0.0000000 0.0000000 693.5000000 0.00202329 -0.00056531 0.0000000 0.0000000 0.0000000 0.0000000 224.7000000 0.01103401 -0.00310988 0.0000000 0.0000000 0.0000000 0.0000000 85.1700000 0.04383970 -0.01246964 0.0000000 0.0000000 0.0000000 0.0000000 35.5300000 0.13035904 -0.03822465 0.0000000 0.0000000 0.0000000 0.0000000 15.7300000 0.27574991 -0.08307918 0.0000000 0.0000000 0.0000000 0.0000000 7.1650000 0.38764330 -0.12459409 0.0000000 0.0000000 0.0000000 0.0000000 3.3220000 0.28740741 -0.08329713 0.0000000 0.0000000 0.0000000 0.0000000 1.4780000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6552000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2751000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1097000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.3090000 1.0000000 0.0000000 0.0000000 0.0000000 0.7700000 0.0000000 1.0000000 0.0000000 0.0000000 1.9170000 0.0000000 0.0000000 1.0000000 0.0000000 4.7760000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.4080000 1.0000000 0.0000000 0.0000000 0.8250000 0.0000000 1.0000000 0.0000000 1.6680000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.6650000 1.0000000 0.0000000 1.5620000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 1.2640000 1.0000000 $ CALCIUM (26s,18p,8d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ CALCIUM (26s,18p,8d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 20 $ S-TYPE FUNCTIONS 26 8 0 28249600.0000000 0.00000043 -0.00000012 0.00000004 -0.00000001 0.0000000 0.0000000 0.0000000 0.0000000 4250190.0000000 0.00000329 -0.00000096 0.00000033 -0.00000008 0.0000000 0.0000000 0.0000000 0.0000000 975014.0000000 0.00001714 -0.00000497 0.00000172 -0.00000041 0.0000000 0.0000000 0.0000000 0.0000000 277446.0000000 0.00007228 -0.00002099 0.00000724 -0.00000173 0.0000000 0.0000000 0.0000000 0.0000000 90454.7000000 0.00026522 -0.00007701 0.00002656 -0.00000634 0.0000000 0.0000000 0.0000000 0.0000000 32515.9000000 0.00087484 -0.00025431 0.00008772 -0.00002094 0.0000000 0.0000000 0.0000000 0.0000000 12610.6000000 0.00264991 -0.00077168 0.00026618 -0.00006356 0.0000000 0.0000000 0.0000000 0.0000000 5190.7700000 0.00748447 -0.00219083 0.00075622 -0.00018056 0.0000000 0.0000000 0.0000000 0.0000000 2242.3300000 0.01973093 -0.00583567 0.00201618 -0.00048155 0.0000000 0.0000000 0.0000000 0.0000000 1011.5300000 0.04779799 -0.01446869 0.00501203 -0.00119721 0.0000000 0.0000000 0.0000000 0.0000000 475.5470000 0.10359562 -0.03280384 0.01141485 -0.00272889 0.0000000 0.0000000 0.0000000 0.0000000 232.0720000 0.19293018 -0.06674435 0.02345426 -0.00561187 0.0000000 0.0000000 0.0000000 0.0000000 116.8740000 0.28626757 -0.11668667 0.04173784 -0.01001305 0.0000000 0.0000000 0.0000000 0.0000000 60.3427000 0.29278494 -0.15919701 0.05894305 -0.01419051 0.0000000 0.0000000 0.0000000 0.0000000 31.5244000 0.16312798 -0.11620650 0.04503419 -0.01092170 0.0000000 0.0000000 0.0000000 0.0000000 16.0308000 0.03221688 0.10547012 -0.04437618 0.01086343 0.0000000 0.0000000 0.0000000 0.0000000 8.4599200 0.00059258 0.42483472 -0.21875449 0.05501493 0.0000000 0.0000000 0.0000000 0.0000000 4.5271800 0.00104790 0.45779736 -0.36363043 0.09688214 0.0000000 0.0000000 0.0000000 0.0000000 2.4185900 -0.00038379 0.16619966 -0.15422068 0.03947968 0.0000000 0.0000000 0.0000000 0.0000000 1.2512900 0.00015772 0.01462386 0.35238152 -0.10866983 0.0000000 0.0000000 0.0000000 0.0000000 0.6434300 -0.00014357 0.00204654 0.61412099 -0.22728320 0.0000000 0.0000000 0.0000000 0.0000000 0.3291800 0.00005770 0.00019519 0.30037275 -0.25708490 0.0000000 0.0000000 0.0000000 0.0000000 0.1423900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0781900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0376300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0182900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 7 0 406353.0000000 0.00000023 -0.00000007 0.00000002 0.0000000 0.0000000 0.0000000 0.0000000 13600.7000000 0.00002393 -0.00000779 0.00000162 0.0000000 0.0000000 0.0000000 0.0000000 3235.4700000 0.00021218 -0.00006908 0.00001439 0.0000000 0.0000000 0.0000000 0.0000000 1053.0500000 0.00122733 -0.00040059 0.00008354 0.0000000 0.0000000 0.0000000 0.0000000 403.5690000 0.00545277 -0.00178490 0.00037208 0.0000000 0.0000000 0.0000000 0.0000000 171.4900000 0.01962669 -0.00648320 0.00135333 0.0000000 0.0000000 0.0000000 0.0000000 78.2363000 0.05827993 -0.01956244 0.00408642 0.0000000 0.0000000 0.0000000 0.0000000 37.6065000 0.13955299 -0.04824767 0.01011073 0.0000000 0.0000000 0.0000000 0.0000000 18.7090000 0.25592562 -0.09128611 0.01916725 0.0000000 0.0000000 0.0000000 0.0000000 9.5004100 0.33998132 -0.12842086 0.02716132 0.0000000 0.0000000 0.0000000 0.0000000 4.9055700 0.27304774 -0.09952292 0.02080774 0.0000000 0.0000000 0.0000000 0.0000000 2.5267000 0.09644148 0.09012384 -0.02308515 0.0000000 0.0000000 0.0000000 0.0000000 1.2713900 0.00955231 0.35519880 -0.08551094 0.0000000 0.0000000 0.0000000 0.0000000 0.6260100 0.00067589 0.44448891 -0.11794499 0.0000000 0.0000000 0.0000000 0.0000000 0.3009900 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1176900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0511600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0214200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 5 0 39.5628000 0.00344600 0.0000000 0.0000000 0.0000000 0.0000000 11.4373000 0.02136000 0.0000000 0.0000000 0.0000000 0.0000000 3.9674300 0.07544800 0.0000000 0.0000000 0.0000000 0.0000000 1.5247800 0.17152800 0.0000000 0.0000000 0.0000000 0.0000000 0.5904700 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2191400 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0795700 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0283400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.0860000 1.0000000 0.0000000 0.0000000 0.2580000 0.0000000 1.0000000 0.0000000 0.7741000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.1012000 1.0000000 0.0000000 0.3023000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.2534000 1.0000000 $ SCANDIUM (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ SCANDIUM (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] a 21 $ S-TYPE FUNCTIONS 28 9 0 1.194950E+08 6.485949E-08 -3.759394E-08 7.277775E-09 -1.751768E-09 3.023751E-09 -4.699340E-09 -5.382706E-09 8.181715E-09 0.0000000 2.149920E+07 4.284789E-07 -2.483745E-07 4.808602E-08 -1.157503E-08 2.009343E-08 -3.121033E-08 -3.464964E-08 5.531212E-08 0.0000000 4.807030E+06 2.485007E-06 -1.440342E-06 2.788306E-07 -6.711375E-08 1.156659E-07 -1.797873E-07 -2.077081E-07 3.110133E-07 0.0000000 1.284400E+06 1.142200E-05 -6.621203E-06 1.281931E-06 -3.085845E-07 5.364214E-07 -8.330969E-07 -9.176214E-07 1.484627E-06 0.0000000 3.965950E+05 4.446960E-05 -2.577627E-05 4.990129E-06 -1.201088E-06 2.066097E-06 -3.212062E-06 -3.749175E-06 5.517880E-06 0.0000000 1.375750E+05 1.513206E-04 -8.773842E-05 1.699051E-05 -4.090037E-06 7.126727E-06 -1.106577E-05 -1.202459E-05 1.987947E-05 0.0000000 5.236680E+04 4.641311E-04 -2.691491E-04 5.212700E-05 -1.254629E-05 2.151877E-05 -3.346404E-05 -3.967943E-05 5.688854E-05 0.0000000 2.145490E+04 1.311834E-03 -7.615431E-04 1.476347E-04 -3.554102E-05 6.213603E-05 -9.645132E-05 -1.028180E-04 1.752133E-04 0.0000000 9.316060E+03 3.474539E-03 -2.020037E-03 3.921373E-04 -9.438160E-05 1.612839E-04 -2.509128E-04 -3.033647E-04 4.210802E-04 0.0000000 4.235400E+03 8.703081E-03 -5.080893E-03 9.900468E-04 -2.383648E-04 4.183292E-04 -6.492071E-04 -6.770787E-04 1.193679E-03 0.0000000 1.997440E+03 2.066048E-02 -1.215118E-02 2.383475E-03 -5.737202E-04 9.766017E-04 -1.520210E-03 -1.876278E-03 2.520603E-03 0.0000000 9.704300E+02 4.605121E-02 -2.752281E-02 5.475682E-03 -1.318746E-03 2.324551E-03 -3.607668E-03 -3.671941E-03 6.726648E-03 0.0000000 4.832710E+02 9.414403E-02 -5.797250E-02 1.183105E-02 -2.849209E-03 4.827024E-03 -7.524161E-03 -9.536033E-03 1.230813E-02 0.0000000 2.458060E+02 1.684787E-01 -1.101259E-01 2.357475E-02 -5.684235E-03 1.009998E-02 -1.568944E-02 -1.530677E-02 3.008461E-02 0.0000000 1.273600E+02 2.427557E-01 -1.781088E-01 4.140241E-02 -9.991445E-03 1.673441E-02 -2.620054E-02 -3.545668E-02 4.143790E-02 0.0000000 6.707880E+01 2.400019E-01 -2.198344E-01 5.818726E-02 -1.409713E-02 2.581961E-02 -4.021946E-02 -3.294163E-02 8.479558E-02 0.0000000 3.583710E+01 1.296899E-01 -1.529949E-01 4.596130E-02 -1.116554E-02 1.659005E-02 -2.662630E-02 -5.839314E-02 2.415501E-02 0.0000000 1.937130E+01 5.179276E-02 5.678122E-02 -2.847061E-02 6.912254E-03 -5.993844E-03 1.032930E-02 6.538662E-02 2.824664E-02 0.0000000 1.055710E+01 8.932598E-02 3.530772E-01 -1.817584E-01 4.558164E-02 -9.265210E-02 1.480576E-01 6.318978E-02 -4.174669E-01 0.0000000 5.772490E+00 1.143741E-01 4.663403E-01 -3.512111E-01 9.219903E-02 -1.475540E-01 2.660165E-01 5.906996E-01 -5.850258E-01 0.0000000 3.145400E+00 5.378437E-02 2.199163E-01 -2.324215E-01 6.237781E-02 -1.531648E-01 2.494336E-01 -1.332877E-01 -4.454488E-01 0.0000000 1.692490E+00 7.075763E-03 2.889190E-02 2.277188E-01 -7.194592E-02 2.278575E-01 -5.406974E-01 -3.017064E-01 4.127336E+00 0.0000000 8.886490E-01 4.599282E-04 7.763282E-04 5.757256E-01 -1.917054E-01 3.441065E-01 -1.045556E+00 -2.969901E+00 -2.305176E+00 0.0000000 4.710930E-01 -4.575677E-05 -8.474216E-04 4.062223E-01 -2.379872E-01 7.482063E-01 -1.827419E-01 4.814088E+00 -5.710689E+00 0.0000000 2.492860E-01 1.697886E-05 -1.233881E-04 8.525293E-02 -1.129999E-01 -7.586006E-01 2.749406E+00 -8.352144E-01 9.548572E+00 0.0000000 9.998800E-02 -4.762361E-06 -1.245485E-05 3.975498E-03 3.424078E-01 -1.492845E+00 -1.329988E+00 -4.401836E+00 -8.563715E+00 0.0000000 4.636900E-02 1.150180E-05 3.906270E-05 1.954373E-03 6.263064E-01 7.089234E-01 -1.651389E+00 5.729989E+00 6.185611E+00 0.0000000 2.160600E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 20 8 0 5.507050E+04 2.000000E-06 -1.000000E-06 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -1.000000E-06 0.0000000 1.374170E+04 2.100000E-05 -7.000000E-06 2.000000E-06 2.000000E-06 4.000000E-06 -6.000000E-06 -7.000000E-06 0.0000000 4.365400E+03 1.300000E-04 -4.200000E-05 1.000000E-05 1.200000E-05 2.700000E-05 -2.400000E-05 -4.300000E-05 0.0000000 1.642260E+03 6.120000E-04 -2.010000E-04 4.900000E-05 5.900000E-05 1.150000E-04 -1.730000E-04 -2.170000E-04 0.0000000 6.940660E+02 2.397000E-03 -7.890000E-04 1.930000E-04 2.320000E-04 4.920000E-04 -4.550000E-04 -8.070000E-04 0.0000000 3.177420E+02 8.073000E-03 -2.669000E-03 6.490000E-04 7.880000E-04 1.527000E-03 -2.275000E-03 -2.887000E-03 0.0000000 1.538990E+02 2.372600E-02 -7.922000E-03 1.942000E-03 2.330000E-03 4.936000E-03 -4.543000E-03 -8.161000E-03 0.0000000 7.776650E+01 6.062000E-02 -2.059800E-02 5.022000E-03 6.094000E-03 1.174700E-02 -1.774200E-02 -2.271300E-02 0.0000000 4.067360E+01 1.298550E-01 -4.537500E-02 1.117500E-02 1.337600E-02 2.860300E-02 -2.427100E-02 -4.739600E-02 0.0000000 2.190610E+01 2.210980E-01 -7.963200E-02 1.947300E-02 2.370100E-02 4.436000E-02 -7.561100E-02 -8.968000E-02 0.0000000 1.207950E+01 2.932320E-01 -1.106180E-01 2.764700E-02 3.278900E-02 7.619200E-02 -4.487900E-02 -1.077940E-01 0.0000000 6.753490E+00 2.767500E-01 -1.082040E-01 2.646600E-02 3.290900E-02 5.760600E-02 -1.899630E-01 -1.913740E-01 0.0000000 3.763210E+00 1.477940E-01 -9.200000E-04 -1.460000E-03 -2.231000E-03 2.398700E-02 1.273510E-01 3.672400E-02 0.0000000 2.049730E+00 3.202400E-02 2.175660E-01 -6.499500E-02 -7.361100E-02 -2.155680E-01 1.161170E-01 1.201016E+00 0.0000000 1.086450E+00 2.890000E-04 3.921900E-01 -1.156050E-01 -1.369540E-01 -3.753780E-01 1.348698E+00 3.399550E-01 0.0000000 5.640870E-01 -1.467000E-03 3.639770E-01 -1.382000E-01 -1.677060E-01 -4.369340E-01 -1.512311E+00 -3.802289E+00 0.0000000 2.810200E-01 -7.670000E-04 1.499530E-01 7.281000E-03 -5.268600E-02 1.222472E+00 -9.436110E-01 4.448876E+00 0.0000000 1.215440E-01 -5.800000E-05 1.514700E-02 3.621410E-01 5.744330E-01 4.294290E-01 2.307450E+00 -2.513096E+00 0.0000000 5.345900E-02 -1.100000E-05 5.690000E-04 5.420120E-01 5.236500E-01 -9.345890E-01 -1.217237E+00 4.021440E-01 0.0000000 2.321500E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 2.056060E+02 2.380000E-04 -2.430000E-04 -3.220000E-04 -4.530000E-04 -5.240000E-04 0.0000000 6.102270E+01 2.167000E-03 -2.214000E-03 -2.876000E-03 -3.796000E-03 -6.793000E-03 0.0000000 2.336300E+01 1.084900E-02 -1.110700E-02 -1.481800E-02 -2.077300E-02 -2.631900E-02 0.0000000 9.963460E+00 3.588100E-02 -3.697000E-02 -4.843800E-02 -6.544600E-02 -1.219320E-01 0.0000000 4.489450E+00 9.349100E-02 -9.781500E-02 -1.307580E-01 -1.943420E-01 -2.498200E-01 0.0000000 2.117950E+00 1.810760E-01 -1.845670E-01 -2.428420E-01 -3.147140E-01 -6.181690E-01 0.0000000 1.012018E+00 2.575930E-01 -2.472790E-01 -2.844310E-01 -2.516280E-01 9.989180E-01 0.0000000 4.810450E-01 2.918550E-01 -2.053770E-01 1.037260E-01 1.085315E+00 5.962450E-01 0.0000000 2.264880E-01 2.690060E-01 1.036720E-01 7.430280E-01 -1.291800E-02 -2.138243E+00 0.0000000 1.050570E-01 1.881740E-01 4.618980E-01 9.533700E-02 -1.243783E+00 1.973082E+00 0.0000000 4.768200E-02 7.324300E-02 3.834000E-01 -6.651170E-01 7.723990E-01 -6.527370E-01 0.0000000 2.066000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 2.340000E+00 1.0000000 0.0000000 0.0000000 0.0000000 7.657000E-01 0.0000000 1.0000000 0.0000000 0.0000000 2.505000E-01 0.0000000 0.0000000 1.0000000 0.0000000 8.200000E-02 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 1.727200E+00 1.0000000 0.0000000 0.0000000 5.445000E-01 0.0000000 1.0000000 0.0000000 1.717000E-01 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 1.159200E+00 1.0000000 0.0000000 3.308000E-01 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 5.720000E-01 1.0000000 $ TITANIUM (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ TITANIUM (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] a 22 $ S-TYPE FUNCTIONS 28 9 0 1.22647E+08 7.095361E-08 -4.075872E-08 8.126533E-09 -1.917924E-09 3.549931E-09 -5.483292E-09 -6.513149E-09 -8.931375E-09 0.0000000 2.19562E+07 4.715986E-07 -2.709226E-07 5.402507E-08 -1.275194E-08 2.360021E-08 -3.632168E-08 -4.297168E-08 -6.25768E-08 0.0000000 4.90233E+06 2.73436E-06 -1.570715E-06 3.131603E-07 -7.390566E-08 1.36798E-07 -2.115133E-07 -2.514831E-07 -3.389705E-07 0.0000000 1.31060E+06 1.254715E-05 -7.208331E-06 1.437508E-06 -3.393166E-07 6.279605E-07 -9.655732E-07 -1.141345E-06 -1.686299E-06 0.0000000 405228.0000000 4.87474E-05 -2.800379E-05 5.583328E-06 -1.317608E-06 2.438963E-06 -3.775667E-06 -4.494753E-06 -5.932742E-06 0.0000000 140757.0000000 0.0001656213 -9.517165E-05 1.898417E-05 -4.481371E-06 8.293127E-06 -1.273208E-05 -1.502517E-05 -2.274958E-05 0.0000000 53625.1000000 0.000507645 -0.000291772 5.819596E-05 -1.373284E-05 2.542185E-05 -3.942849E-05 -4.703008E-05 -6.006257E-05 0.0000000 21976.2000000 0.001435019 -0.0008256845 0.0001649019 -3.892998E-05 7.203924E-05 -0.0001103639 -0.0001299433 -0.0002033896 0.0000000 9539.6000000 0.003802412 -0.002191592 0.0004381911 -0.0001033977 0.0001914264 -0.0002976 -0.0003558767 -0.0004358911 0.0000000 4334.3700000 0.009523779 -0.005513608 0.001107231 -0.0002614367 0.0004837789 -0.0007394247 -0.0008684153 -0.001410248 0.0000000 2042.8900000 0.02256875 -0.01317331 0.002663108 -0.0006284415 0.001163735 -0.001814232 -0.00217575 -0.00254425 0.0000000 992.3080000 0.05005125 -0.02972775 0.006103966 -0.001441853 0.002668623 -0.004069364 -0.004767576 -0.008077296 0.0000000 494.4460000 0.1012414 -0.06213528 0.01310044 -0.003093015 0.005731308 -0.008975097 -0.01081297 -0.01186207 0.0000000 251.9070000 0.1777644 -0.1164183 0.02583473 -0.006111397 0.0113213 -0.01720642 -0.02009361 -0.03676473 0.0000000 130.9050000 0.2479159 -0.1841156 0.04449334 -0.01052833 0.01955315 -0.03100851 -0.03788017 -0.03464619 0.0000000 69.2368000 0.2326747 -0.2185094 0.06033054 -0.01435524 0.02667333 -0.03994524 -0.04603327 -0.1101500 0.0000000 37.1847000 0.1178873 -0.1380868 0.04260364 -0.01013538 0.01900155 -0.03317775 -0.04444843 0.02928617 0.0000000 20.2157000 0.05105946 0.08418941 -0.04039406 0.009606909 -0.01799341 0.0350855 0.04721242 -0.1149519 0.0000000 11.0765000 0.0930772 0.3811652 -0.2075689 0.05144379 -0.09813293 0.1472194 0.1834186 0.6808841 0.0000000 6.0786700 0.1086846 0.4556996 -0.3654648 0.09453862 -0.1886658 0.3566400 0.5520638 0.3239576 0.0000000 3.3127700 0.04564404 0.1917966 -0.1936936 0.05074349 -0.09633798 0.1090647 -0.04585806 0.5267715 0.0000000 1.7725000 0.005168047 0.02151962 0.2988342 -0.09206241 0.2275436 -0.5756267 -1.2472690 -5.3925940 0.0000000 0.9173780 0.0003233996 0.0001959175 0.6067712 -0.2088530 0.5716640 -1.4038450 -1.4783690 6.7665820 0.0000000 0.4692830 -4.994148E-05 -0.0008089156 0.3552150 -0.2397326 0.3842511 1.2015530 4.8207520 -1.1926540 0.0000000 0.2192670 1.32042E-05 -5.422205E-05 0.04285188 -0.06020934 -0.9402894 2.1637410 -3.0078810 -5.8409860 0.0000000 0.1058110 -2.323768E-07 1.652837E-05 -0.000483546 0.3785445 -1.1052390 -2.2383990 -1.8911150 8.5792050 0.0000000 0.0484430 1.693377E-05 6.140255E-05 0.002744033 0.6064633 0.7263152 -0.8108372 4.3764350 -6.4382430 0.0000000 0.0225350 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 20 8 0 59284.9000000 0.0000030 -0.0000010 0.0000000 0.0000000 0.0000010 -0.0000010 -0.0000010 0.0000000 14323.6000000 0.0000230 -0.0000080 0.0000020 0.0000020 0.0000040 -0.0000070 -0.0000080 0.0000000 4537.2200000 0.0001440 -0.0000480 0.0000120 0.0000140 0.0000300 -0.0000300 -0.0000510 0.0000000 1726.5400000 0.0006600 -0.0002210 0.0000530 0.0000660 0.0001260 -0.0001900 -0.0002160 0.0000000 741.0750000 0.0025090 -0.0008440 0.0002030 0.0002520 0.0005190 -0.0005300 -0.0008980 0.0000000 343.8070000 0.0082940 -0.0028020 0.0006700 0.0008330 0.0016020 -0.0023950 -0.0027390 0.0000000 167.8840000 0.0242470 -0.0082780 0.0019960 0.0024740 0.0050910 -0.0052020 -0.0088510 0.0000000 85.0394000 0.0622310 -0.0216350 0.0051890 0.0064430 0.0123720 -0.0185070 -0.0213880 0.0000000 44.3829000 0.1342200 -0.0480470 0.0116400 0.0144110 0.0298140 -0.0291190 -0.0525740 0.0000000 23.7928000 0.2290500 -0.0846650 0.0203750 0.0253150 0.0477590 -0.0778450 -0.0825050 0.0000000 13.0536000 0.3003980 -0.1167480 0.0287140 0.0354780 0.0782150 -0.0607780 -0.1344340 0.0000000 7.2687200 0.2722610 -0.1071290 0.0257260 0.0321850 0.0582600 -0.1826750 -0.1828100 0.0000000 4.0380500 0.1350820 0.0190880 -0.0066880 -0.0077320 0.0051280 0.1166390 0.0962330 0.0000000 2.1929400 0.0260290 0.2461940 -0.0719850 -0.0869160 -0.2393170 0.2993610 1.4455690 0.0000000 1.1616200 -0.0003040 0.4013780 -0.1184150 -0.1425800 -0.3989020 1.2320890 -0.5030230 0.0000000 0.6032500 -0.0014340 0.3415650 -0.1300000 -0.1704350 -0.3113740 -1.8942480 -2.9722360 0.0000000 0.3001740 -0.0006540 0.1268890 0.0307110 0.0067360 1.2502300 -0.3673190 4.2730430 0.0000000 0.1302640 -0.0000400 0.0113200 0.3791430 0.5966850 0.2790480 2.0107700 -2.8303710 0.0000000 0.0572980 -0.0000100 0.0006740 0.5276150 0.4753380 -0.8988870 -1.1868670 0.7500080 0.0000000 0.0249520 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 249.3560000 0.0002310 -0.0002340 -0.0003770 -0.0004520 -0.0005630 0.0000000 74.7483000 0.0020800 -0.0021150 -0.0033820 -0.0038430 -0.0065570 0.0000000 28.9399000 0.0105420 -0.0107420 -0.0174880 -0.0209800 -0.0280350 0.0000000 12.5279000 0.0353670 -0.0363340 -0.0595610 -0.0691410 -0.1243040 0.0000000 5.7343100 0.0926070 -0.0971000 -0.1639910 -0.2118930 -0.2980530 0.0000000 2.7453100 0.1831320 -0.1877290 -0.2958230 -0.3288390 -0.5085580 0.0000000 1.3321200 0.2650160 -0.2464470 -0.2674980 -0.0835100 1.0461210 0.0000000 0.6410880 0.3000210 -0.1829140 0.2425250 1.0396670 0.3615210 0.0000000 0.3027810 0.2673900 0.1364430 0.7002880 -0.2452340 -1.8823220 0.0000000 0.1390530 0.1713110 0.4735860 -0.0562280 -1.0656140 1.7474600 0.0000000 0.0620290 0.0589290 0.3669010 -0.5893560 0.7625840 -0.4512010 0.0000000 0.02643956 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 3.5438000 1.0000000 0.0000000 0.0000000 0.0000000 1.1759000 0.0000000 1.0000000 0.0000000 0.0000000 0.3902000 0.0000000 0.0000000 1.0000000 0.0000000 0.1295000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 2.5611000 1.0000000 0.0000000 0.0000000 0.8111000 0.0000000 1.0000000 0.0000000 0.2569000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 1.8257000 1.0000000 0.0000000 0.5103000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 1.0105000 1.0000000 $ VANADIUM (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ VANADIUM (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] a 23 $ S-TYPE FUNCTIONS 28 9 0 1.28349E+08 7.559082E-08 -4.233311E-08 8.764631E-09 -2.028614E-09 -3.919381E-09 -6.06916E-09 -7.37951E-09 -9.582444E-09 0.0000000 2.29044E+07 5.044461E-07 -2.825169E-07 5.850453E-08 -1.354229E-08 -2.603331E-08 -4.016055E-08 -4.984396E-08 -6.716611E-08 0.0000000 5.10777E+06 2.926152E-06 -1.638725E-06 3.392632E-07 -7.852223E-08 -1.519192E-07 -2.354898E-07 -2.846693E-07 -3.657711E-07 0.0000000 1.36528E+06 1.342415E-05 -7.518519E-06 1.557075E-06 -3.604305E-07 -6.920024E-07 -1.066503E-06 -1.330646E-06 -1.808765E-06 0.0000000 422228.0000000 5.213143E-05 -2.919695E-05 6.044595E-06 -1.398979E-06 -2.711224E-06 -4.207968E-06 -5.051098E-06 -6.406617E-06 0.0000000 146685.0000000 0.0001771205 -9.922464E-05 2.055506E-05 -4.758252E-06 -9.115965E-06 -1.402663E-05 -1.765499E-05 -2.43535E-05 0.0000000 55872.3000000 0.0005432404 -0.0003044176 6.304706E-05 -1.459127E-05 -2.835051E-05 -4.408568E-05 -5.23595E-05 -6.507095E-05 0.0000000 22881.3000000 0.001537734 -0.0008626493 0.0001789327 -4.142355E-05 -7.912836E-05 -0.0001214852 -0.0001547542 -0.0002176891 0.0000000 9920.4500000 0.004081932 -0.002294364 0.0004763534 -0.0001102431 -0.0002148784 -0.0003349349 -0.0003926928 -0.0004756448 0.0000000 4499.9200000 0.01024296 -0.005784361 0.001206681 -0.0002793901 -0.000531965 -0.0008147638 -0.001052087 -0.001511976 0.0000000 2116.7500000 0.02429719 -0.01384521 0.00290738 -0.0006729388 -0.001316357 -0.002057575 -0.002379149 -0.002801195 0.0000000 1026.0600000 0.05382741 -0.03125257 0.006671537 -0.001545358 -0.002931813 -0.004479489 -0.005879989 -0.008666197 0.0000000 510.2570000 0.1083046 -0.06517593 0.01429445 -0.003310669 -0.006511894 -0.0102264 -0.01160458 -0.01312669 0.0000000 259.5320000 0.1877510 -0.1212452 0.02805248 -0.006508065 -0.01226756 -0.01867514 -0.02534133 -0.03917805 0.0000000 134.7090000 0.2548794 -0.1887922 0.04764851 -0.01106511 -0.02210677 -0.03518784 -0.03801562 -0.03801547 0.0000000 71.2104000 0.2275392 -0.2160891 0.0623929 -0.01456548 -0.02664568 -0.03981114 -0.06218123 -0.1132696 0.0000000 38.2496000 0.1075294 -0.1207730 0.0381530 -0.008920511 -0.02085328 -0.03673509 -0.01933881 0.03595954 0.0000000 20.8102000 0.05099967 0.1189207 -0.05632949 0.01323718 0.03285405 0.05969102 0.01617214 -0.09739948 0.0000000 11.4158000 0.09479662 0.4145044 -0.2394515 0.05853341 0.1037039 0.1588361 0.3477025 0.7821952 0.0000000 6.2730200 0.09804244 0.4365960 -0.3730611 0.09535172 0.2240209 0.4222280 0.4361287 0.3538718 0.0000000 3.4217700 0.03562689 0.1587686 -0.1378359 0.03433249 0.02243918 -0.03835624 0.003649234 -0.1355217 0.0000000 1.8304400 0.003443702 0.01503861 0.3654197 -0.1099505 -0.2269588 -0.6567155 -2.0758320 -5.1073220 0.0000000 0.9452350 0.0002031152 -0.000313797 0.6074602 -0.2173991 -0.7256302 -1.4574620 0.2889184 8.6829500 0.0000000 0.4759280 -4.464829E-05 -0.0007231998 0.3015966 -0.2237757 -0.02136386 2.0698680 3.5216890 -5.2129400 0.0000000 0.1863810 6.908941E-06 -5.19245E-05 0.02613175 -0.01020157 1.2267190 1.6542810 -4.7346100 -2.3726520 0.0000000 0.1067680 7.077376E-06 6.46642E-05 -0.004555459 0.4012464 0.5355637 -2.8048020 1.2067910 7.1624990 0.0000000 0.0499790 1.99325E-05 7.544843E-05 0.003357216 0.5727820 -0.6820891 -0.1989010 2.9598040 -6.2293730 0.0000000 0.0235010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 20 8 0 67602.1000000 0.0000020 -0.0000010 0.0000000 0.0000000 0.0000010 -0.0000010 -0.0000010 0.0000000 16330.1000000 0.0000220 -0.0000080 0.0000020 0.0000020 0.0000040 -0.0000070 -0.0000070 0.0000000 5149.5900000 0.0001380 -0.0000470 0.0000110 0.0000140 0.0000300 -0.0000320 -0.0000540 0.0000000 1950.0300000 0.0006370 -0.0002170 0.0000520 0.0000650 0.0001270 -0.0001930 -0.0002100 0.0000000 834.4630000 0.0024300 -0.0008310 0.0002010 0.0002490 0.0005290 -0.0005690 -0.0009630 0.0000000 386.9900000 0.0080290 -0.0027580 0.0006630 0.0008230 0.0016100 -0.0024460 -0.0026780 0.0000000 189.3720000 0.0234220 -0.0081310 0.0019730 0.0024380 0.0051810 -0.0055640 -0.0094690 0.0000000 96.2845000 0.0600350 -0.0212250 0.0051160 0.0063420 0.0123810 -0.0188860 -0.0207670 0.0000000 50.4640000 0.1300820 -0.0473580 0.0115520 0.0142490 0.0304960 -0.0315930 -0.0568020 0.0000000 27.1483000 0.2246520 -0.0845440 0.0204550 0.0253700 0.0485520 -0.0799160 -0.0799800 0.0000000 14.9256000 0.2994840 -0.1184370 0.0293490 0.0361120 0.0824320 -0.0708350 -0.1601810 0.0000000 8.3161700 0.2766330 -0.1107500 0.0266940 0.0334620 0.0603700 -0.1822610 -0.1677710 0.0000000 4.6208600 0.1402270 0.0159240 -0.0060590 -0.0068260 0.0101220 0.1077550 0.0980800 0.0000000 2.5113800 0.0278520 0.2455750 -0.0735450 -0.0874620 -0.2605390 0.3921670 1.5568150 0.0000000 1.3309100 -0.0001740 0.4018980 -0.1194360 -0.1451170 -0.3924090 1.0894750 -0.8027370 0.0000000 0.6904150 -0.0014710 0.3419350 -0.1247830 -0.1669600 -0.2954210 -1.8328780 -2.6228150 0.0000000 0.3432070 -0.0006800 0.1291400 0.0366050 0.0161970 1.2391450 -0.2943300 4.0233660 0.0000000 0.1458960 -0.0000420 0.0117690 0.3728900 0.5946810 0.2525760 1.9029040 -2.7546210 0.0000000 0.0629710 -0.0000080 0.0003810 0.5246490 0.4728630 -0.8792700 -1.1520610 0.8325630 0.0000000 0.0269220 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 298.4240000 0.0002180 -0.0002300 -0.0003590 -0.0004750 -0.0005620 0.0000000 88.3665000 0.0020340 -0.0021540 -0.0033510 -0.0042910 -0.0062300 0.0000000 34.0559000 0.0105740 -0.0112340 -0.0177090 -0.0235210 -0.0293400 0.0000000 14.7799000 0.0359550 -0.0385420 -0.0614840 -0.0810930 -0.1257620 0.0000000 6.8290500 0.0935000 -0.1027740 -0.1696420 -0.2481480 -0.3358610 0.0000000 3.3110900 0.1840370 -0.1981620 -0.3066070 -0.3730460 -0.4112650 0.0000000 1.6286100 0.2662670 -0.2518290 -0.2499830 0.0738110 1.1230240 0.0000000 0.7933930 0.2995840 -0.1612270 0.2824440 1.0214190 0.0942510 0.0000000 0.3788260 0.2628030 0.1595380 0.6731490 -0.4108180 -1.6935340 0.0000000 0.1758620 0.1654210 0.4593380 -0.0785380 -0.9139110 1.6913710 0.0000000 0.0788580 0.0580390 0.3583680 -0.5838200 0.7099380 -0.3887260 0.0000000 0.0333820 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 4.6916000 1.0000000 0.0000000 0.0000000 0.0000000 1.5791000 0.0000000 1.0000000 0.0000000 0.0000000 0.5315000 0.0000000 0.0000000 1.0000000 0.0000000 0.1789000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 3.4195000 1.0000000 0.0000000 0.0000000 1.1033000 0.0000000 1.0000000 0.0000000 0.3560000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 2.4609000 1.0000000 0.0000000 0.7002000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 1.5757000 1.0000000 $ CHROMIUM (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ CHROMIUM (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] a 24 $ S-TYPE FUNCTIONS 28 9 0 1.35540E+08 7.860909E-08 -4.393198E-08 9.262175E-09 -2.100265E-09 -4.146642E-09 -6.488897E-09 -8.057731E-09 -1.001431E-08 0.0000000 2.42404E+07 5.230504E-07 -2.923256E-07 6.164427E-08 -1.397942E-08 -2.744623E-08 -4.279886E-08 -5.449074E-08 -6.926624E-08 0.0000000 5.41227E+06 3.030869E-06 -1.693847E-06 3.570946E-07 -8.097196E-08 -1.601135E-07 -2.507932E-07 -3.092592E-07 -3.815845E-07 0.0000000 1.44792E+06 1.3889E-05 -7.762636E-06 1.637074E-06 -3.712563E-07 -7.278668E-07 -1.134012E-06 -1.452906E-06 -1.858014E-06 0.0000000 448199.0000000 5.386079E-05 -3.010309E-05 6.346275E-06 -1.438993E-06 -2.850853E-06 -4.470662E-06 -5.46589E-06 -6.687E-06 0.0000000 155899.0000000 0.0001826227 -0.0001020941 2.153698E-05 -4.884352E-06 -9.552888E-06 -1.486072E-05 -1.924479E-05 -2.484929E-05 0.0000000 59479.6000000 0.0005586325 -0.0003124026 6.58856E-05 -1.493879E-05 -2.968205E-05 -4.663092E-05 -5.626566E-05 -6.793021E-05 0.0000000 24408.1000000 0.001576299 -0.0008824782 0.0001864046 -4.227739E-05 -8.241072E-05 -0.0001279315 -0.0001681395 -0.000219938 0.0000000 10607.0000000 0.004169939 -0.002339258 0.0004945862 -0.0001121405 -0.0002236203 -0.0003521084 -0.0004180269 -0.0004963362 0.0000000 4823.0800000 0.01042776 -0.005877709 0.001248762 -0.0002832662 -0.0005501076 -0.0008520213 -0.001138751 -0.001510983 0.0000000 2274.0800000 0.02465857 -0.01402849 0.003000302 -0.0006803672 -0.001362231 -0.002150678 -0.002509533 -0.002926739 0.0000000 1104.5400000 0.0544866 -0.03159558 0.006870641 -0.001559223 -0.003015736 -0.004660657 -0.006353116 -0.008574245 0.0000000 550.0990000 0.1094152 -0.06581587 0.0147068 -0.003337304 -0.006722274 -0.0106598 -0.0121576 -0.01384885 0.0000000 280.0100000 0.1893356 -0.1223894 0.02886345 -0.006561113 -0.01259995 -0.01941515 -0.0275123 -0.03834684 0.0000000 145.3300000 0.2561724 -0.1904926 0.04902786 -0.01115752 -0.02285648 -0.0367085 -0.03944079 -0.04190377 0.0000000 76.7551000 0.2268474 -0.2170072 0.06391156 -0.01462359 -0.02715659 -0.04117897 -0.06872967 -0.1070907 0.0000000 41.1594000 0.1055708 -0.1173808 0.03765591 -0.008633298 -0.02113804 -0.03736427 -0.01402938 0.02132387 0.0000000 22.3445000 0.05199165 0.1320872 -0.06346137 0.01464739 0.03721168 0.06683735 0.01289964 -0.05710773 0.0000000 12.2293000 0.09691052 0.4300999 -0.2572992 0.06184511 0.1114359 0.1763321 0.4202805 0.7753646 0.0000000 6.7077700 0.09468708 0.4273569 -0.3772640 0.09478115 0.2314628 0.4399191 0.4154218 0.4421097 0.0000000 3.6569400 0.03194821 0.1441234 -0.1060193 0.02513425 -0.004161973 -0.09880462 -0.0960278 -0.6606407 0.0000000 1.9597800 0.002931469 0.01289772 0.3929518 -0.1164814 -0.2449631 -0.7255668 -2.3056310 -4.4525940 0.0000000 1.0175800 0.0002111193 -0.0002726576 0.5959745 -0.2139959 -0.7360778 -1.3708500 1.0185750 8.6920940 0.0000000 0.5129130 -1.653905E-05 -0.0005554224 0.2812188 -0.2099994 0.07004895 2.2233550 2.8776730 -5.9392790 0.0000000 0.1947980 4.265747E-06 -5.978166E-05 0.02272335 0.01313418 1.2774030 1.3085500 -4.9333520 -0.8400572 0.0000000 0.1109690 1.479579E-05 0.0001017909 -0.004227356 0.4029770 0.3956614 -2.7149080 2.0626700 5.7181160 0.0000000 0.0521230 2.379865E-05 9.249085E-05 0.003488431 0.5574989 -0.6769812 0.01730143 2.3161840 -5.7941660 0.0000000 0.0244890 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 20 8 0 72029.6000000 0.0000030 -0.0000010 0.0000000 0.0000000 0.0000010 0.0000010 -0.0000010 0.0000000 17890.9000000 0.0000220 -0.0000080 -0.0000020 0.0000020 0.0000050 0.0000070 -0.0000070 0.0000000 5678.2800000 0.0001370 -0.0000470 -0.0000110 0.0000140 0.0000310 0.0000350 -0.0000590 0.0000000 2138.7500000 0.0006440 -0.0002230 -0.0000520 0.0000670 0.0001350 0.0002020 -0.0002150 0.0000000 905.8550000 0.0025110 -0.0008720 -0.0002070 0.0002620 0.0005720 0.0006460 -0.0010750 0.0000000 415.6450000 0.0084470 -0.0029470 -0.0006930 0.0008810 0.0017920 0.0026650 -0.0028710 0.0000000 201.6950000 0.0248620 -0.0087710 -0.0020820 0.0026350 0.0057550 0.0064930 -0.0108850 0.0000000 102.0400000 0.0637050 -0.0229140 -0.0054050 0.0068590 0.0139210 0.0208730 -0.0224070 0.0000000 53.3955000 0.1366080 -0.0506670 -0.0120940 0.0152810 0.0336600 0.0366920 -0.0655250 0.0000000 28.7570000 0.2321020 -0.0891160 -0.0210980 0.0268000 0.0533400 0.0863130 -0.0817190 0.0000000 15.8536000 0.3023570 -0.1223120 -0.0296980 0.0374690 0.0883240 0.0825040 -0.1939850 0.0000000 8.8638500 0.2683220 -0.1067880 -0.0250470 0.0322580 0.0606720 0.1830400 -0.1416950 0.0000000 4.9433400 0.1288470 0.0326180 0.0102820 -0.0124160 -0.0055130 -0.1524300 0.2081580 0.0000000 2.6973200 0.0240140 0.2616090 0.0768880 -0.0943420 -0.2993800 -0.4989330 1.6488430 0.0000000 1.4364300 -0.0002360 0.4013360 0.1173220 -0.1479450 -0.4021920 -0.9010930 -1.4462180 0.0000000 0.7485180 -0.0012910 0.3272510 0.1163280 -0.1595740 -0.1927060 1.9311390 -1.8462910 0.0000000 0.3733100 -0.0005730 0.1195440 -0.0450520 0.0422640 1.2394070 -0.0082870 3.6358120 0.0000000 0.1577120 -0.0000330 0.0105100 -0.3724610 0.6008800 0.1442260 -1.7252310 -2.7449690 0.0000000 0.0674840 -0.0000070 0.0002930 -0.5207620 0.4537120 -0.8307840 1.1431100 0.9609530 0.0000000 0.0285950 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 384.3240000 0.0001660 -0.0001870 -0.0002700 -0.0003980 0.0004530 0.0000000 115.6210000 0.0015330 -0.0017360 -0.0024910 -0.0034880 0.0048530 0.0000000 44.8478000 0.0082730 -0.0094250 -0.0136900 -0.0202480 0.0241550 0.0000000 19.6129000 0.0296280 -0.0339690 -0.0497520 -0.0719540 0.1054670 0.0000000 9.1008300 0.0804320 -0.0949620 -0.1445960 -0.2362580 0.3238140 0.0000000 4.4183200 0.1682550 -0.1972130 -0.2922080 -0.4094040 0.4542210 0.0000000 2.1828700 0.2573470 -0.2639680 -0.2774690 0.0167400 -1.0093700 0.0000000 1.0684000 0.3013010 -0.1771220 0.2057700 1.0070320 -0.3428410 0.0000000 0.5106240 0.2754300 0.1388050 0.6868800 -0.2422900 1.8302970 0.0000000 0.2351410 0.1820770 0.4526330 0.0068000 -1.0046230 -1.6316990 0.0000000 0.1028360 0.0675340 0.3742040 -0.6314930 0.6909580 0.3024500 0.0000000 0.0414250 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 5.6236000 1.0000000 0.0000000 0.0000000 0.0000000 1.9039000 0.0000000 1.0000000 0.0000000 0.0000000 0.6445000 0.0000000 0.0000000 1.0000000 0.0000000 0.2182000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 4.1121000 1.0000000 0.0000000 0.0000000 1.3325000 0.0000000 1.0000000 0.0000000 0.4318000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 3.0067000 1.0000000 0.0000000 0.8770000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 2.1131000 1.0000000 $ MANGANESE (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ MANGANESE (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] a 25 $ S-TYPE FUNCTIONS 28 9 0 1.37766E+08 8.842975E-08 -4.218706E-08 1.015457E-08 -2.246625E-09 -4.534252E-09 -7.148E-09 8.949441E-09 -1.066381E-08 0.0000000 2.45640E+07 5.905615E-07 -2.817388E-07 6.782945E-08 -1.500767E-08 -3.003406E-08 -4.720068E-08 6.11075E-08 -7.316027E-08 0.0000000 5.47999E+06 3.42133E-06 -1.632223E-06 3.928614E-07 -8.691633E-08 -1.758309E-07 -2.774238E-07 3.441033E-07 -4.095669E-07 0.0000000 1.46664E+06 1.566036E-05 -7.471311E-06 1.798871E-06 -3.980171E-07 -7.947986E-07 -1.248083E-06 1.62958E-06 -1.952973E-06 0.0000000 454421.0000000 6.063846E-05 -2.893181E-05 6.963577E-06 -1.540586E-06 -3.125609E-06 -4.936711E-06 6.052563E-06 -7.192587E-06 0.0000000 158216.0000000 0.0002053663 -9.800407E-05 2.360275E-05 -5.222482E-06 -1.039025E-05 -1.629371E-05 2.158213E-05 -2.591346E-05 0.0000000 60404.3000000 0.000627818 -0.0002997548 7.217248E-05 -1.596671E-05 -3.253639E-05 -5.147115E-05 6.199578E-05 -7.34907E-05 0.0000000 24793.6000000 0.001771534 -0.0008468121 0.0002041835 -4.518135E-05 -8.943434E-05 -0.0001399872 0.0001890931 -0.0002276235 0.0000000 10772.3000000 0.004687682 -0.002246523 0.0005421183 -0.0001199336 -0.0002457164 -0.0003894882 0.0004590406 -0.0005425268 0.0000000 4895.5400000 0.01172341 -0.005649008 0.001369241 -0.0003030247 -0.0005964197 -0.0009316701 0.001286601 -0.001553473 0.0000000 2306.5600000 0.02769121 -0.01349329 0.003290005 -0.0007279695 -0.001500461 -0.002384126 0.002744429 -0.003235321 0.0000000 1119.5600000 0.06096465 -0.03037651 0.007518812 -0.001664739 -0.003255209 -0.005075251 0.007197225 -0.008728688 0.0000000 557.3810000 0.1213985 -0.06317168 0.01602116 -0.003547631 -0.007379623 -0.01177533 0.01311149 -0.01543349 0.0000000 283.7780000 0.2067236 -0.1169586 0.03113189 -0.00690479 -0.01333239 -0.02073168 0.03103962 -0.03803991 0.0000000 147.4360000 0.2716552 -0.1804917 0.05187931 -0.01152342 -0.02461735 -0.03978041 0.04028608 -0.04719394 0.0000000 78.0227000 0.2296262 -0.1999569 0.0645544 -0.01441381 -0.02607861 -0.0398361 0.07611996 -0.09654593 0.0000000 41.9679000 0.09993531 -0.09135649 0.03109453 -0.006961783 -0.02088826 -0.03723219 -0.003929039 0.01102053 0.0000000 22.8778000 0.04335678 0.1705224 -0.08134397 0.01838929 0.05123107 0.09006454 -0.008212308 0.002268643 0.0000000 12.5845000 0.07097637 0.4562984 -0.2830847 0.0665831 0.1130295 0.1833979 -0.5082019 0.7235714 0.0000000 6.9417000 0.06195771 0.4058134 -0.3683282 0.09026754 0.2466771 0.4676477 -0.3343452 0.6284262 0.0000000 3.8062900 0.01878693 0.1228205 -0.05599023 0.01114062 -0.06508546 -0.2128283 0.08969441 -1.3868730 0.0000000 2.0503100 0.001455711 0.009020458 0.4285509 -0.1232779 -0.2324403 -0.7680324 2.7884720 -3.6182300 0.0000000 1.0683800 -5.045613E-05 -0.001825436 0.5819623 -0.2094592 -0.7884686 -1.2496170 -2.2387070 8.7472240 0.0000000 0.5366060 -8.380837E-05 -0.001093262 0.2496080 -0.1925129 0.2571250 2.4127970 -1.6215140 -6.9446930 0.0000000 0.1832600 -9.776338E-07 -8.298619E-05 0.01728022 0.0752431 1.4735000 0.7227795 5.0502260 1.9204040 0.0000000 0.1052970 9.779516E-06 0.0001053172 -0.004795031 0.4096457 -0.01641997 -2.5218430 -3.4580400 2.7673240 0.0000000 0.0514640 1.146026E-05 5.625668E-05 0.003440433 0.5138881 -0.6176794 0.3302503 -1.2850680 -4.8034180 0.0000000 0.0246780 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 20 8 0 79296.8000000 0.0000030 -0.0000010 0.0000000 0.0000000 0.0000010 0.0000010 -0.0000010 0.0000000 19317.1000000 0.0000230 -0.0000080 -0.0000020 0.0000020 0.0000050 0.0000080 -0.0000090 0.0000000 6114.1000000 0.0001400 -0.0000490 -0.0000110 0.0000150 0.0000340 0.0000380 -0.0000610 0.0000000 2316.2600000 0.0006490 -0.0002260 -0.0000520 0.0000690 0.0001430 0.0002180 -0.0002580 0.0000000 989.6900000 0.0024900 -0.0008670 -0.0002010 0.0002680 0.0005980 0.0006870 -0.0010900 0.0000000 457.9420000 0.0082780 -0.0028990 -0.0006640 0.0008870 0.0018360 0.0028050 -0.0033360 0.0000000 223.6420000 0.0242560 -0.0085880 -0.0019890 0.0026510 0.0059260 0.0068190 -0.0108790 0.0000000 113.5940000 0.0622630 -0.0224810 -0.0051630 0.0068870 0.0142470 0.0219170 -0.0262170 0.0000000 59.5621000 0.1344250 -0.0500630 -0.0116530 0.0155180 0.0349660 0.0391730 -0.0651420 0.0000000 32.1072000 0.2305460 -0.0890050 -0.0204990 0.0273590 0.0555390 0.0916730 -0.1036590 0.0000000 17.7103000 0.3028020 -0.1231560 -0.0291510 0.0388620 0.0932280 0.0889890 -0.1798150 0.0000000 9.9062100 0.2709290 -0.1081330 -0.0246150 0.0331240 0.0637480 0.1938430 -0.2372120 0.0000000 5.5224300 0.1311240 0.0330910 0.0097150 -0.0123220 -0.0048200 -0.1670910 0.4289330 0.0000000 3.0083200 0.0238760 0.2649160 0.0754410 -0.0993820 -0.3313960 -0.6030080 1.7159450 0.0000000 1.5987300 -0.0013330 0.4034830 0.1132040 -0.1521070 -0.4086080 -0.7469800 -2.1889430 0.0000000 0.8308680 -0.0022010 0.3248540 0.1117760 -0.1564310 -0.1206320 1.9864650 -0.7886070 0.0000000 0.4135380 -0.0008920 0.1174300 -0.0440690 0.0650050 1.2130530 -0.2640370 2.9045500 0.0000000 0.1711080 -0.0000580 0.0101160 -0.3663240 0.6060200 0.0834220 -1.5278200 -2.4975380 0.0000000 0.0721660 -0.0000060 0.0001390 -0.5217500 0.4366030 -0.7984570 1.1102770 0.9969160 0.0000000 0.0301650 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 435.1000000 0.0001640 -0.0001670 -0.0002640 -0.0003350 0.0004280 0.0000000 130.9820000 0.0015220 -0.0015520 -0.0024650 -0.0031170 0.0040650 0.0000000 50.8816000 0.0082730 -0.0084650 -0.0135790 -0.0173510 0.0224800 0.0000000 22.3008000 0.0300090 -0.0308790 -0.0501340 -0.0644280 0.0881960 0.0000000 10.3552000 0.0825800 -0.0869740 -0.1470570 -0.2031970 0.3015230 0.0000000 5.0152100 0.1735770 -0.1838990 -0.3005680 -0.4122630 0.4548760 0.0000000 2.4679300 0.2626510 -0.2523340 -0.2747340 -0.0104480 -0.8562740 0.0000000 1.2036900 0.2984790 -0.1705240 0.1995370 0.9383060 -0.4854470 0.0000000 0.5741520 0.2656810 0.1226330 0.6304240 -0.1067180 1.6097040 0.0000000 0.2641140 0.1802830 0.4216570 0.0936480 -0.9815340 -1.0002050 0.0000000 0.1151280 0.0766130 0.4069480 -0.5780320 0.4637150 -0.3451560 0.0000000 0.0460820 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 6.5601000 1.0000000 0.0000000 0.0000000 0.0000000 2.2490000 0.0000000 1.0000000 0.0000000 0.0000000 0.7710000 0.0000000 0.0000000 1.0000000 0.0000000 0.2643000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 4.9372000 1.0000000 0.0000000 0.0000000 1.6330000 0.0000000 1.0000000 0.0000000 0.5401000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 3.5889000 1.0000000 0.0000000 1.0793000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 2.6052000 1.0000000 $ IRON (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ IRON (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] a 26 $ S-TYPE FUNCTIONS 28 9 0 1.49769E+08 8.65756E-08 -4.466833E-08 1.025471E-08 -2.217427E-09 -4.424824E-09 -7.310611E-09 9.015017E-09 -1.054576E-08 0.0000000 2.67225E+07 5.77912E-07 -2.981708E-07 6.846679E-08 -1.480595E-08 -2.930792E-08 -4.824191E-08 6.106675E-08 -7.056298E-08 0.0000000 5.95900E+06 3.351645E-06 -1.729284E-06 3.96979E-07 -8.583901E-08 -1.71671E-07 -2.839212E-07 3.475829E-07 -4.07978E-07 0.0000000 1.59361E+06 1.535765E-05 -7.923933E-06 1.819651E-06 -3.93507E-07 -7.77332E-07 -1.27829E-06 1.628897E-06 -1.876538E-06 0.0000000 493464.0000000 5.94969E-05 -3.070041E-05 7.047651E-06 -1.523883E-06 -3.05604E-06 -5.060659E-06 6.139742E-06 -7.237094E-06 0.0000000 171790.0000000 0.0002014152 -0.0001039495 2.387774E-05 -5.163835E-06 -1.016453E-05 -1.66875E-05 2.150851E-05 -2.464974E-05 0.0000000 65620.9000000 0.0006149037 -0.0003175045 7.291472E-05 -1.576558E-05 -3.175112E-05 -5.268054E-05 6.302967E-05 -7.478965E-05 0.0000000 26965.6000000 0.001731321 -0.0008949487 0.0002058392 -4.451792E-05 -8.719808E-05 -0.0001428269 0.0001870318 -0.0002128281 0.0000000 11735.3000000 0.004569368 -0.002367812 0.0005451035 -0.000117862 -0.0002386228 -0.0003968842 0.0004667623 -0.0005585257 0.0000000 5343.4300000 0.01139791 -0.005936926 0.001373278 -0.0002970506 -0.0005786208 -0.0009453497 0.001260398 -0.00142342 0.0000000 2522.5000000 0.02686784 -0.01414486 0.003293117 -0.00071215 -0.001450243 -0.002419017 0.002793658 -0.003375476 0.0000000 1226.4300000 0.05910762 -0.03178413 0.007520746 -0.001627578 -0.003150862 -0.005134981 0.00699293 -0.007838124 0.0000000 611.2690000 0.1178426 -0.0660463 0.01604652 -0.003472813 -0.007132634 -0.01195244 0.01347323 -0.01654157 0.0000000 311.3080000 0.2013762 -0.1222703 0.03130265 -0.006786387 -0.01299059 -0.02109359 0.02996288 -0.03319364 0.0000000 161.6240000 0.2660774 -0.1886920 0.05252865 -0.01140447 -0.02399757 -0.04075824 0.04304064 -0.0553315 0.0000000 85.3767000 0.2259862 -0.2090970 0.06605295 -0.0144202 -0.02606463 -0.04137104 0.07114008 -0.07431718 0.0000000 45.7911000 0.0989389 -0.09698896 0.03249377 -0.007112199 -0.02037216 -0.0387337 0.00991124 -0.03576261 0.0000000 24.8677000 0.04932559 0.1731916 -0.08476809 0.01875196 0.05015681 0.09345579 -0.03635768 0.09555264 0.0000000 13.6202000 0.08604376 0.4624772 -0.2950180 0.06800067 0.1171966 0.1922005 -0.4435727 0.4920463 0.0000000 7.4810600 0.07322462 0.3998340 -0.3709547 0.08897549 0.2376384 0.4898034 -0.5159647 1.2092390 0.0000000 4.0881700 0.0211745 0.1152408 -0.03464813 0.005375665 -0.07287353 -0.2420892 0.3276521 -2.5331060 0.0000000 2.1990500 0.001623143 0.008408747 0.4462486 -0.1262455 -0.2495889 -0.8764617 2.9003630 -2.3277190 0.0000000 1.1481500 1.197242E-06 -0.00129691 0.5717586 -0.2047776 -0.7317222 -1.0744520 -2.8382230 8.1954170 0.0000000 0.5772650 -5.963673E-05 -0.0007550238 0.2348678 -0.1813373 0.2562426 2.3517730 -1.0430590 -7.2448810 0.0000000 0.1976350 -7.981802E-07 -6.907416E-05 0.01506233 0.08926755 1.3560610 0.5240434 4.5316650 3.1292460 0.0000000 0.1089860 9.664711E-06 8.777604E-05 -0.003437339 0.4152351 0.05874061 -2.2517260 -3.2699620 1.1613620 0.0000000 0.0532160 9.1322E-06 3.250702E-05 0.003254188 0.4980481 -0.5623917 0.2695895 -1.0260610 -3.8758240 0.0000000 0.0255710 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 20 8 0 86947.3000000 0.0000020 -0.0000010 0.0000000 0.0000000 0.0000010 0.0000010 0.0000010 0.0000000 21254.0000000 0.0000220 -0.0000080 0.0000020 0.0000030 0.0000050 0.0000080 0.0000100 0.0000000 6741.1400000 0.0001370 -0.0000480 0.0000110 0.0000160 0.0000350 0.0000390 0.0000570 0.0000000 2557.1600000 0.0006330 -0.0002230 0.0000490 0.0000720 0.0001480 0.0002240 0.0002980 0.0000000 1093.5100000 0.0024280 -0.0008580 0.0001900 0.0002850 0.0006300 0.0006930 0.0010240 0.0000000 506.1610000 0.0080880 -0.0028740 0.0006290 0.0009310 0.0019130 0.0028800 0.0038480 0.0000000 247.1390000 0.0238010 -0.0085490 0.0018960 0.0028370 0.0062820 0.0069440 0.0103190 0.0000000 125.4150000 0.0614900 -0.0225280 0.0049400 0.0073090 0.0150250 0.0227470 0.0307110 0.0000000 65.6512000 0.1338960 -0.0506120 0.0112840 0.0168900 0.0376700 0.0406250 0.0617990 0.0000000 35.3079000 0.2315900 -0.0908530 0.0199750 0.0294880 0.0595210 0.0966580 0.1300020 0.0000000 19.4260000 0.3051640 -0.1261670 0.0286520 0.0433150 0.1023020 0.0922040 0.1521010 0.0000000 10.8438000 0.2709610 -0.1087830 0.0234470 0.0342620 0.0667160 0.2132970 0.3802740 0.0000000 6.0435900 0.1290850 0.0380140 -0.0101570 -0.0126420 -0.0046980 -0.2060540 -0.8124970 0.0000000 3.3024500 0.0234320 0.2686010 -0.0737810 -0.1153800 -0.3942540 -0.6970400 -1.5336760 0.0000000 1.7638900 -0.0009120 0.4011180 -0.1060330 -0.1597990 -0.4102480 -0.5861790 2.7453080 0.0000000 0.9213860 -0.0018800 0.3201590 -0.1072140 -0.1624660 -0.0101410 2.0953970 -0.1935220 0.0000000 0.4603730 -0.0007740 0.1178280 0.0388870 0.1157490 1.1891730 -0.6206040 -2.1517710 0.0000000 0.1836130 -0.0000500 0.0103210 0.3560020 0.6334080 -0.0476880 -1.2761030 2.2005390 0.0000000 0.0758570 -0.0000020 -0.0002070 0.5256190 0.3848220 -0.7406230 1.0949440 -1.0191770 0.0000000 0.0311470 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 489.1150000 0.0001610 -0.0001770 0.0002550 -0.0003430 -0.0004800 0.0000000 147.2080000 0.0015040 -0.0016620 0.0024170 -0.0033700 -0.0041140 0.0000000 57.1278000 0.0082640 -0.0091670 0.0133600 -0.0182450 -0.0251280 0.0000000 25.0429000 0.0303080 -0.0338130 0.0501130 -0.0707720 -0.0908760 0.0000000 11.6672000 0.0833100 -0.0952530 0.1462150 -0.2178620 -0.3569300 0.0000000 5.6825000 0.1734770 -0.2009730 0.3074050 -0.4774330 -0.4983040 0.0000000 2.8132500 0.2614830 -0.2716650 0.2670510 0.1101250 1.2870220 0.0000000 1.3773300 0.2996800 -0.1618990 -0.2621310 1.0166160 -0.1020050 0.0000000 0.6565340 0.2695640 0.1633340 -0.6319990 -0.3807830 -1.4530250 0.0000000 0.3007000 0.1786260 0.4360160 -0.0025160 -0.8475000 1.4203760 0.0000000 0.1301870 0.0691950 0.3688740 0.6017010 0.5934410 -0.2129640 0.0000000 0.0515820 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 7.5384000 1.0000000 0.0000000 0.0000000 0.0000000 2.6229000 0.0000000 1.0000000 0.0000000 0.0000000 0.9126000 0.0000000 0.0000000 1.0000000 0.0000000 0.3175000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 5.8324000 1.0000000 0.0000000 0.0000000 1.9704000 0.0000000 1.0000000 0.0000000 0.6657000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 4.2600000 1.0000000 0.0000000 1.3156000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 3.1502000 1.0000000 $ COBALT (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ COBALT (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] a 27 $ S-TYPE FUNCTIONS 28 9 0 1.61030E+08 8.662183E-08 -4.556183E-08 1.041562E-08 -2.200797E-09 -4.305752E-09 -7.60024E-09 9.197016E-09 -1.070534E-08 0.0000000 2.87558E+07 5.771763E-07 -3.035847E-07 6.941461E-08 -1.46685E-08 -2.848385E-08 -5.006064E-08 6.187033E-08 -7.038714E-08 0.0000000 6.42324E+06 3.338777E-06 -1.756166E-06 4.01447E-07 -8.482259E-08 -1.662977E-07 -2.938904E-07 3.535327E-07 -4.141923E-07 0.0000000 1.72120E+06 1.525639E-05 -8.024821E-06 1.835009E-06 -3.877784E-07 -7.515459E-07 -1.319357E-06 1.639554E-06 -1.854049E-06 0.0000000 533994.0000000 5.896429E-05 -3.101768E-05 7.090429E-06 -1.498105E-06 -2.944684E-06 -5.21171E-06 6.223594E-06 -7.350041E-06 0.0000000 186194.0000000 0.0001992702 -0.0001048428 2.398084E-05 -5.067913E-06 -9.789564E-06 -1.715261E-05 2.151491E-05 -2.408411E-05 0.0000000 71201.7000000 0.0006077789 -0.0003199314 7.316286E-05 -1.545763E-05 -3.050378E-05 -5.410968E-05 6.389719E-05 -7.638731E-05 0.0000000 29276.2000000 0.001710961 -0.0009016105 0.0002064944 -4.36422E-05 -8.391909E-05 -0.0001466455 0.000186321 -0.0002056945 0.0000000 12742.3000000 0.004517474 -0.00238639 0.000547093 -0.0001155867 -0.0002292077 -0.000407724 0.0004749694 -0.0005763721 0.0000000 5800.5100000 0.01127782 -0.0059881 0.001379359 -0.0002915733 -0.0005578224 -0.0009719138 0.001252974 -0.001362515 0.0000000 2736.9600000 0.02661227 -0.01428063 0.003311503 -0.0006997388 -0.001395052 -0.002489639 0.002859209 -0.003527424 0.0000000 1329.9900000 0.05860637 -0.03211732 0.007570774 -0.001601143 -0.003045922 -0.005291021 0.006940624 -0.007424293 0.0000000 662.6110000 0.1169482 -0.06678496 0.01617381 -0.003420234 -0.006873444 -0.01233031 0.01389573 -0.01758255 0.0000000 337.4150000 0.1999746 -0.1236623 0.03158299 -0.006691847 -0.0125977 -0.02177919 0.02959972 -0.03075095 0.0000000 175.2340000 0.2643784 -0.1908018 0.05307111 -0.01125825 -0.02314866 -0.04215306 0.04516314 -0.06133217 0.0000000 92.6434000 0.2249341 -0.2115468 0.06689319 -0.01427562 -0.02548397 -0.04281763 0.06841808 -0.06129559 0.0000000 49.7576000 0.0990624 -0.09922228 0.03338852 -0.007134768 -0.01958046 -0.04064818 0.01839713 -0.06543693 0.0000000 27.0728000 0.05071482 0.1722946 -0.08553213 0.01848341 0.04772897 0.09666274 -0.05186229 0.1523938 0.0000000 14.8610000 0.08902685 0.4619215 -0.2983211 0.06724484 0.1149297 0.1952451 -0.3974522 0.3484988 0.0000000 8.1812100 0.07586152 0.3996247 -0.3720681 0.08704356 0.2257042 0.5139452 -0.6606775 1.6044000 0.0000000 4.4794100 0.02214222 0.1162798 -0.03313281 0.004998014 -0.06554148 -0.2545005 0.5215581 -3.2744650 0.0000000 2.4119100 0.001717531 0.008604498 0.4476713 -0.1238556 -0.2493425 -0.9219539 2.8381460 -1.4492520 0.0000000 1.2584400 -5.409407E-06 -0.001265293 0.5711223 -0.1989520 -0.6686389 -1.0086430 -2.9706580 7.5471700 0.0000000 0.6312340 -6.718433E-05 -0.0007648586 0.2346370 -0.1759940 0.2041108 2.2646620 -0.8507557 -6.9914700 0.0000000 0.2152970 -7.1786E-07 -6.404352E-05 0.01505834 0.0794452 1.2279070 0.5803464 4.2455590 3.1552020 0.0000000 0.1185100 6.03256E-06 6.372632E-05 -0.003444353 0.4024933 0.1857518 -2.1053590 -2.9372930 0.9784141 0.0000000 0.0572090 6.126313E-06 1.662965E-05 0.003212369 0.5034063 -0.4763281 0.08909444 -1.1409540 -3.6433640 0.0000000 0.0271660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 20 8 0 97512.6000000 0.0000020 -0.0000010 0.0000000 0.0000000 0.0000010 0.0000010 0.0000010 0.0000000 23815.1000000 0.0000210 -0.0000070 0.0000020 0.0000030 0.0000050 0.0000080 0.0000110 0.0000000 7540.4300000 0.0001300 -0.0000460 0.0000100 0.0000160 0.0000350 0.0000380 0.0000540 0.0000000 2854.0800000 0.0006050 -0.0002150 0.0000470 0.0000730 0.0001480 0.0002170 0.0003070 0.0000000 1217.6900000 0.0023310 -0.0008320 0.0001850 0.0002900 0.0006340 0.0006900 0.0009720 0.0000000 562.5150000 0.0078070 -0.0028010 0.0006130 0.0009510 0.0019350 0.0028260 0.0040050 0.0000000 274.2740000 0.0230890 -0.0083730 0.0018600 0.0029220 0.0063830 0.0069830 0.0099110 0.0000000 139.1140000 0.0599080 -0.0221600 0.0048640 0.0075360 0.0153400 0.0225410 0.0323030 0.0000000 72.8598000 0.1311200 -0.0500430 0.0111750 0.0175660 0.0386540 0.0413350 0.0594730 0.0000000 39.2448000 0.2283230 -0.0905020 0.0199110 0.0307700 0.0615060 0.0964860 0.1408890 0.0000000 21.6430000 0.3033890 -0.1266680 0.0288090 0.0458540 0.1063540 0.0963110 0.1393220 0.0000000 12.1149000 0.2735320 -0.1113190 0.0240900 0.0367890 0.0726590 0.2187580 0.4563840 0.0000000 6.7691200 0.1339910 0.0327050 -0.0086610 -0.0107860 0.0002670 -0.1991620 -0.9863130 0.0000000 3.7052800 0.0255160 0.2641890 -0.0729530 -0.1231490 -0.4227860 -0.7578960 -1.4009310 0.0000000 1.9790100 -0.0006900 0.4016030 -0.1066760 -0.1705170 -0.4236170 -0.4881940 2.8281690 0.0000000 1.0312700 -0.0018610 0.3244220 -0.1079120 -0.1595630 0.0611960 2.0656540 -0.4544190 0.0000000 0.5136090 -0.0007880 0.1213180 0.0396150 0.1356510 1.1410350 -0.6901820 -1.9262680 0.0000000 0.2042640 -0.0000480 0.0108150 0.3560400 0.6254930 -0.0707680 -1.2064820 2.0851170 0.0000000 0.0838780 -0.0000020 -0.0002510 0.5249090 0.3770670 -0.7197110 1.0635780 -0.9653770 0.0000000 0.0341420 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 495.2480000 0.0001950 -0.0002260 0.0002980 -0.0004190 -0.0006500 0.0000000 149.0380000 0.0018200 -0.0021170 0.0028410 -0.0040790 -0.0046330 0.0000000 57.8728000 0.0098600 -0.0115060 0.0153800 -0.0218950 -0.0325190 0.0000000 25.3796000 0.0354170 -0.0416730 0.0569320 -0.0830310 -0.1010780 0.0000000 11.8594000 0.0948820 -0.1148500 0.1620180 -0.2568910 -0.4650190 0.0000000 5.7963000 0.1886510 -0.2300360 0.3251240 -0.5037510 -0.3186010 0.0000000 2.8727500 0.2703950 -0.2787220 0.2071440 0.3497610 1.5149910 0.0000000 1.4078360 0.2963470 -0.1090440 -0.3687400 0.9348700 -0.7612670 0.0000000 0.6724070 0.2565590 0.2309180 -0.5808490 -0.6383940 -0.9671680 0.0000000 0.3088350 0.1640550 0.4341780 0.1267060 -0.6372560 1.4433300 0.0000000 0.1342970 0.0605670 0.3146810 0.5876060 0.6254560 -0.4742000 0.0000000 0.0536190 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 8.5920000 1.0000000 0.0000000 0.0000000 0.0000000 3.0187000 0.0000000 1.0000000 0.0000000 0.0000000 1.0606000 0.0000000 0.0000000 1.0000000 0.0000000 0.3726000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 6.7723000 1.0000000 0.0000000 0.0000000 2.3190000 0.0000000 1.0000000 0.0000000 0.7941000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 4.9511000 1.0000000 0.0000000 1.5513000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 3.6950000 1.0000000 $ NICKEL (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ NICKEL (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] a 28 $ S-TYPE FUNCTIONS 28 9 0 1.68793E+08 9.544814E-08 -3.340483E-08 1.123242E-08 -2.340836E-09 -4.519782E-09 -7.967881E-09 9.963678E-09 1.108501E-08 0.0000000 3.01369E+07 6.361561E-07 -2.226369E-07 7.487631E-08 -1.560568E-08 -2.990036E-08 -5.251486E-08 6.665402E-08 7.142717E-08 0.0000000 6.73075E+06 3.680573E-06 -1.288145E-06 4.331184E-07 -9.025955E-08 -1.74651E-07 -3.082074E-07 3.837692E-07 4.312448E-07 0.0000000 1.80337E+06 1.682095E-05 -5.887072E-06 1.980033E-06 -4.126875E-07 -7.891321E-07 -1.384629E-06 1.764347E-06 1.872599E-06 0.0000000 559438.0000000 6.501477E-05 -2.275726E-05 7.651521E-06 -1.594488E-06 -3.093527E-06 -5.466127E-06 6.771079E-06 7.704611E-06 0.0000000 195064.0000000 0.0002197031 -7.691942E-05 2.587536E-05 -5.393313E-06 -1.027782E-05 -1.800365E-05 2.309426E-05 2.410281E-05 0.0000000 74600.7000000 0.0006699143 -0.000234707 7.89247E-05 -1.644642E-05 -3.203877E-05 -5.672168E-05 6.971023E-05 8.084296E-05 0.0000000 30681.7000000 0.001884806 -0.0006612896 0.0002226061 -4.640303E-05 -8.801093E-05 -0.0001538124 0.0001991457 0.0002030273 0.0000000 13360.3000000 0.004971862 -0.001750303 0.0005892384 -0.0001227884 -0.0002404162 -0.0004266789 0.0005193445 0.0006163052 0.0000000 6086.1600000 0.01239603 -0.004393952 0.001483283 -0.0003092679 -0.0005834537 -0.001017047 0.001331023 0.00132153 0.0000000 2874.6200000 0.02919925 -0.01049957 0.003553731 -0.0007407537 -0.00145867 -0.002596287 0.003128397 0.003807283 0.0000000 1398.7200000 0.06417304 -0.02373066 0.00810015 -0.00169022 -0.003169439 -0.005509995 0.007307415 0.007035083 0.0000000 697.9810000 0.1278067 -0.04989615 0.01724042 -0.003598265 -0.007146736 -0.01278063 0.01519845 0.01919484 0.0000000 356.1100000 0.2183849 -0.09438365 0.03348912 -0.007007654 -0.01299317 -0.02249312 0.03067699 0.02784042 0.0000000 185.3460000 0.2897629 -0.1511186 0.05585983 -0.01171488 -0.02384859 -0.04323339 0.04966778 0.06926812 0.0000000 98.2221000 0.2502011 -0.1753137 0.06942521 -0.01467085 -0.02566345 -0.04327035 0.06716041 0.04334989 0.0000000 52.8834000 0.1091251 -0.07893694 0.03279768 -0.006949957 -0.01953197 -0.04001807 0.02675145 0.1003238 0.0000000 28.8424000 0.02418062 0.1862733 -0.09364737 0.02016183 0.05137546 0.1014123 -0.07690265 -0.2282821 0.0000000 15.8664000 0.02017083 0.4711517 -0.3127333 0.07054184 0.1179712 0.1995643 -0.3660499 -0.1788302 0.0000000 8.7493300 0.0158454 0.3940073 -0.3726099 0.08743265 0.2305182 0.5337974 -0.8930662 -2.1632840 0.0000000 4.7948200 0.004573713 0.1124290 -0.01765121 0.0008925969 -0.07602184 -0.2848026 0.9868359 4.6768300 0.0000000 2.5812400 0.000536685 0.01373033 0.4580760 -0.1284879 -0.2736418 -1.0086260 2.7140040 -0.5082154 0.0000000 1.3445000 0.0003285652 0.005757963 0.5616617 -0.1992698 -0.6668219 -0.8589707 -3.5491840 -6.1630500 0.0000000 0.6723740 0.0001056374 0.002067697 0.2239313 -0.1687038 0.2779595 2.2571350 -0.1082087 6.7552350 0.0000000 0.2246400 1.152728E-05 0.0001166264 0.01414205 0.09663179 1.1848110 0.3158366 3.7403580 -4.1776870 0.0000000 0.1201920 -4.982873E-06 -2.380527E-05 -0.0004402952 0.4091717 0.1453091 -1.8931340 -2.9469910 0.6315692 0.0000000 0.0581540 2.888491E-06 6.345831E-06 0.007001775 0.4865605 -0.4475209 0.1382195 -0.7564774 2.6580060 0.0000000 0.0277230 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 20 8 0 104158.0000000 0.0000020 -0.0000010 0.0000000 0.0000000 0.0000010 0.0000010 0.0000010 0.0000000 25289.1000000 0.0000220 -0.0000080 0.0000020 0.0000030 0.0000050 0.0000080 0.0000120 0.0000000 7974.0600000 0.0001360 -0.0000490 0.0000100 0.0000200 0.0000380 0.0000420 0.0000570 0.0000000 3013.0100000 0.0006310 -0.0002270 0.0000450 0.0000900 0.0001590 0.0002340 0.0003470 0.0000000 1286.4100000 0.0024210 -0.0008730 0.0001770 0.0003670 0.0006800 0.0007520 0.0010250 0.0000000 595.8550000 0.0080490 -0.0029190 0.0005840 0.0011620 0.0020540 0.0030100 0.0044820 0.0000000 291.6560000 0.0236160 -0.0086590 0.0017620 0.0036420 0.0067570 0.0074940 0.0102930 0.0000000 148.5440000 0.0608610 -0.0227740 0.0045630 0.0090810 0.0160650 0.0237130 0.0357430 0.0000000 78.0737000 0.1326030 -0.0512130 0.0104840 0.0217340 0.0405400 0.0440050 0.0609110 0.0000000 42.1478000 0.2304730 -0.0925330 0.0185790 0.0366690 0.0640660 0.1004120 0.1565060 0.0000000 23.2599000 0.3051620 -0.1290760 0.0269710 0.0574590 0.1113860 0.1054620 0.1436090 0.0000000 13.0121000 0.2713690 -0.1101780 0.0214740 0.0404440 0.0739190 0.2291670 0.5343820 0.0000000 7.2639900 0.1296230 0.0409760 -0.0095980 -0.0122870 -0.0105620 -0.2527370 -1.4083180 0.0000000 3.9735700 0.0240140 0.2728100 -0.0691480 -0.1720000 -0.4813110 -0.8566420 -0.9573860 0.0000000 2.1215600 -0.0003590 0.4016420 -0.0955710 -0.1964310 -0.3964750 -0.2477960 3.1038920 0.0000000 1.1051500 -0.0014620 0.3161390 -0.0989250 -0.1609770 0.2149210 2.1207050 -1.3693890 0.0000000 0.5499500 -0.0006140 0.1168000 0.0364500 0.2715720 1.0646580 -1.0861120 -1.1437640 0.0000000 0.2107400 -0.0000300 0.0100110 0.3447120 0.6358310 -0.2559500 -0.8818430 1.7910530 0.0000000 0.0847310 -0.0000010 -0.0004900 0.5277500 0.2721880 -0.6598570 1.0128000 -1.0027610 0.0000000 0.0339020 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 568.8665000 0.0001770 -0.0001870 -0.0002700 -0.0003750 -0.0005660 0.0000000 171.2501000 0.0016650 -0.0017630 -0.0025840 -0.0038030 -0.0042150 0.0000000 66.4919500 0.0091530 -0.0097180 -0.0142000 -0.0201480 -0.0290040 0.0000000 29.2054100 0.0334810 -0.0357770 -0.0531960 -0.0793150 -0.0931450 0.0000000 13.6784800 0.0909020 -0.0994580 -0.1524600 -0.2408380 -0.4227470 0.0000000 6.6978800 0.1833980 -0.2028120 -0.3182580 -0.5200670 -0.4171620 0.0000000 3.3258500 0.2663610 -0.2604240 -0.2569500 0.2694850 1.4691090 0.0000000 1.6314800 0.2945410 -0.1462650 0.2828580 0.9484220 -0.5187500 0.0000000 0.7790140 0.2588860 0.1412140 0.6045360 -0.4613840 -1.1373440 0.0000000 0.3575460 0.1730030 0.4004590 0.0384770 -0.7282930 1.3353250 0.0000000 0.1551630 0.0702410 0.4007580 -0.5667860 0.4956350 -0.2368740 0.0000000 0.0614020 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 9.8029000 1.0000000 0.0000000 0.0000000 0.0000000 3.4936000 0.0000000 1.0000000 0.0000000 0.0000000 1.2451000 0.0000000 0.0000000 1.0000000 0.0000000 0.4437000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 7.9356000 1.0000000 0.0000000 0.0000000 2.7648000 0.0000000 1.0000000 0.0000000 0.9633000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 5.8076000 1.0000000 0.0000000 1.8526000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 4.3549000 1.0000000 $ COPPER (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ COPPER (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] a 29 $ S-TYPE FUNCTIONS 28 9 0 1.93188E+08 8.189248E-08 -4.611013E-08 1.01842E-08 -2.054681E-09 3.816605E-09 -7.75724E-09 9.028583E-09 1.07597E-08 0.0000000 3.39452E+07 5.579701E-07 -3.141616E-07 6.939965E-08 -1.400309E-08 2.582606E-08 -5.227556E-08 6.205817E-08 7.162208E-08 0.0000000 7.51046E+06 3.254124E-06 -1.832284E-06 4.046744E-07 -8.164118E-08 1.519524E-07 -3.091952E-07 3.578757E-07 4.30389E-07 0.0000000 2.00199E+06 1.494164E-05 -8.412987E-06 1.858592E-06 -3.75028E-07 6.903629E-07 -1.39586E-06 1.665776E-06 1.905813E-06 0.0000000 619378.0000000 5.78762E-05 -3.259135E-05 7.198169E-06 -1.452141E-06 2.709545E-06 -5.521331E-06 6.346135E-06 7.718964E-06 0.0000000 215606.0000000 0.0001959305 -0.0001103469 2.43847E-05 -4.920629E-06 9.02917E-06 -1.822235E-05 2.1939E-05 2.473676E-05 0.0000000 82327.1000000 0.0005988528 -0.000337451 7.456294E-05 -1.504137E-05 2.817161E-05 -5.752983E-05 6.543424E-05 8.09436E-05 0.0000000 33788.4000000 0.0016910 -0.0009538171 0.0002110638 -4.259474E-05 7.782505E-05 -0.0001566716 0.0001908891 0.0002110522 0.0000000 14670.0000000 0.004482558 -0.002534704 0.0005615915 -0.0001132857 0.0002131374 -0.0004363848 0.0004902082 0.0006186246 0.0000000 6657.4400000 0.01124215 -0.006388537 0.001422427 -0.0002871116 0.0005221431 -0.001048344 0.001294337 0.00140125 0.0000000 3130.2600000 0.02664563 -0.01530315 0.003432886 -0.0006925917 0.001309502 -0.002689174 0.002982099 0.003844742 0.0000000 1515.6100000 0.05887107 -0.03452258 0.007881403 -0.001591691 0.002879448 -0.005765512 0.007234214 0.00764981 0.0000000 752.5880000 0.1175196 -0.07182859 0.01689595 -0.003411485 0.006499505 -0.01341487 0.01461464 0.01947297 0.0000000 382.2490000 0.1999504 -0.1324045 0.03299686 -0.006677064 0.01195541 -0.02383053 0.03095278 0.03126618 0.0000000 198.2370000 0.2605024 -0.2017660 0.0552177 -0.01118545 0.0218018 -0.04568414 0.04734078 0.06932423 0.0000000 104.8100000 0.2154194 -0.2178903 0.06840131 -0.01394792 0.02363852 -0.04575431 0.07000877 0.05504615 0.0000000 56.3885000 0.09248247 -0.09441542 0.03122147 -0.006364561 0.01706798 -0.04125506 0.01629399 0.08460341 0.0000000 30.7830000 0.05710446 0.1874571 -0.09635215 0.01991809 -0.04783859 0.1103493 -0.0583935 -0.1993583 0.0000000 16.9770000 0.1024003 0.4663918 -0.3138457 0.06774441 -0.1097524 0.2148842 -0.4104935 -0.3185230 0.0000000 9.3972500 0.08323474 0.3836915 -0.3649343 0.08134341 -0.2027580 0.5522145 -0.7896262 -2.0181030 0.0000000 5.1723800 0.02348642 0.1079329 -0.008879992 -0.0008995035 0.07260363 -0.3395265 0.9308371 4.6893680 0.0000000 2.7953500 0.001775061 0.007742901 0.4608336 -0.1219713 0.2307255 -0.9771007 2.5330430 -0.5933257 0.0000000 1.4589000 -4.661882E-05 -0.001244704 0.5618870 -0.1883443 0.5765951 -0.8808593 -3.1586610 -5.9757640 0.0000000 0.7287110 -8.666474E-05 -0.0007418943 0.2229206 -0.1623329 -0.1570176 2.1966870 -0.4007620 6.3988290 0.0000000 0.2376420 -1.068949E-06 -4.73181E-05 0.01340137 0.09426046 -1.0919780 0.4386372 3.8540990 -3.6822160 0.0000000 0.1278210 1.298399E-07 2.312508E-05 -0.003370102 0.3962220 -0.2691323 -1.8178740 -2.8874570 0.2025323 0.0000000 0.0618150 -5.102737E-07 -1.379905E-05 0.00306508 0.4850819 0.3516467 0.003019659 -0.9069599 2.7822760 0.0000000 0.0293030 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 20 8 0 110294.0000000 0.0000020 -0.0000010 0.0000000 0.0000000 0.0000010 0.0000010 0.0000010 0.0000000 26939.1000000 0.0000220 -0.0000080 0.0000020 0.0000030 0.0000060 0.0000080 0.0000110 0.0000000 8550.7100000 0.0001360 -0.0000490 0.0000100 0.0000190 0.0000390 0.0000410 0.0000600 0.0000000 3246.1900000 0.0006300 -0.0002280 0.0000440 0.0000840 0.0001650 0.0002330 0.0003200 0.0000000 1388.4600000 0.0024180 -0.0008780 0.0001720 0.0003430 0.0007040 0.0007420 0.0010770 0.0000000 642.4740000 0.0080870 -0.0029530 0.0005700 0.0010900 0.0021380 0.0030220 0.0041610 0.0000000 313.5700000 0.0239050 -0.0088260 0.0017360 0.0034460 0.0070800 0.0075130 0.0109750 0.0000000 159.1610000 0.0619710 -0.0233640 0.0045200 0.0086380 0.0169610 0.0241350 0.0335730 0.0000000 83.4414000 0.1350660 -0.0525890 0.0104050 0.0207180 0.0427860 0.0443790 0.0662350 0.0000000 45.0196000 0.2334730 -0.0946250 0.0183320 0.0347140 0.0672780 0.1022350 0.1425030 0.0000000 24.8894000 0.3054990 -0.1304500 0.0263810 0.0541220 0.1165020 0.1040660 0.1738220 0.0000000 13.9731000 0.2676760 -0.1081600 0.0201860 0.0363680 0.0755100 0.2338940 0.4655980 0.0000000 7.8257100 0.1264990 0.0466870 -0.0102500 -0.0125560 -0.0166890 -0.2861980 -1.3584250 0.0000000 4.2863200 0.0230210 0.2780770 -0.0680540 -0.1622150 -0.5141990 -0.8434390 -0.8867940 0.0000000 2.2903400 -0.0006410 0.4021830 -0.0914970 -0.1771880 -0.3794090 -0.1843620 2.9226280 0.0000000 1.1934200 -0.0016270 0.3112960 -0.0949500 -0.1563550 0.2313430 2.0703390 -1.1758410 0.0000000 0.5937650 -0.0006570 0.1125510 0.0364060 0.2360190 1.0614750 -1.1076600 -1.2549040 0.0000000 0.2239870 -0.0000330 0.0093970 0.3398340 0.6412110 -0.2667340 -0.8528460 1.8420450 0.0000000 0.0890260 -0.0000010 -0.0005000 0.5281230 0.2955020 -0.6195930 1.0166690 -1.0455610 0.0000000 0.0352130 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 732.8930000 0.0001250 -0.0001550 0.0001840 -0.0002570 -0.0003830 0.0000000 220.7530000 0.0011980 -0.0014880 0.0018070 -0.0027730 -0.0032850 0.0000000 85.6268000 0.0068360 -0.0085270 0.0102770 -0.0147450 -0.0211250 0.0000000 37.7178000 0.0262600 -0.0329550 0.0404270 -0.0622900 -0.0767360 0.0000000 17.7647000 0.0742730 -0.0955650 0.1197510 -0.1862120 -0.3193880 0.0000000 8.7641500 0.1588570 -0.2099910 0.2799060 -0.4970340 -0.6162490 0.0000000 4.4178660 0.2458580 -0.2920560 0.2845770 0.0051970 1.2229320 0.0000000 2.2180390 0.2865090 -0.1738440 -0.2072750 0.9952550 0.2286340 0.0000000 1.0935310 0.2665050 0.1426460 -0.5788020 -0.0964500 -1.6101430 0.0000000 0.5230910 0.1965650 0.3835540 -0.1622250 -0.9197540 1.0269660 0.0000000 0.2384750 0.1005970 0.3616940 0.5200430 0.2428820 0.3819150 0.0000000 0.1000260 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 10.9131000 1.0000000 0.0000000 0.0000000 0.0000000 3.9063000 0.0000000 1.0000000 0.0000000 0.0000000 1.3982000 0.0000000 0.0000000 1.0000000 0.0000000 0.5005000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 8.8476000 1.0000000 0.0000000 0.0000000 3.1256000 0.0000000 1.0000000 0.0000000 1.1042000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 6.5490000 1.0000000 0.0000000 2.1024000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 4.9428000 1.0000000 $ ZINC (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] $ ZINC (28s,20p,12d,4f,3g,2h,1i) -> [9s,8p,6d,4f,3g,2h,1i] a 30 $ S-TYPE FUNCTIONS 28 9 0 1.87413E+08 1.009014E-07 -3.115741E-08 1.176468E-08 -2.356493E-09 6.708866E-09 -9.317884E-09 1.206066E-08 1.288013E-08 0.0000000 3.35127E+07 6.704747E-07 -2.070312E-07 7.81863E-08 -1.565939E-08 4.41662E-08 -6.155607E-08 8.110169E-08 7.963494E-08 0.0000000 7.50475E+06 3.863166E-06 -1.192935E-06 4.504171E-07 -9.022205E-08 2.575365E-07 -3.573416E-07 4.60205E-07 5.028311E-07 0.0000000 2.01787E+06 1.756108E-05 -5.422776E-06 2.048043E-06 -4.101783E-07 1.154012E-06 -1.609881E-06 2.130959E-06 2.04487E-06 0.0000000 628578.0000000 6.747146E-05 -2.083826E-05 7.867565E-06 -1.575992E-06 4.513571E-06 -6.255093E-06 8.004527E-06 8.997462E-06 0.0000000 220163.0000000 0.0002265652 -6.998988E-05 2.643679E-05 -5.294514E-06 1.483194E-05 -2.072444E-05 2.765382E-05 2.548089E-05 0.0000000 84595.2000000 0.0006864596 -0.0002122319 8.013127E-05 -1.605261E-05 4.621034E-05 -6.392044E-05 8.09931E-05 9.502563E-05 0.0000000 34955.5000000 0.001919556 -0.0005944122 0.0002246143 -4.498259E-05 0.0001252604 -0.0001754269 0.000236727 0.000205759 0.0000000 15290.3000000 0.005035036 -0.001565121 0.0005912514 -0.0001184624 0.0003431994 -0.0004736661 0.0005928609 0.000732222 0.0000000 6994.9300000 0.01249183 -0.003912825 0.00148082 -0.0002965895 0.000820361 -0.001152085 0.001574959 0.001279062 0.0000000 3316.5900000 0.02931174 -0.009329174 0.003533956 -0.0007083659 0.002066898 -0.002846504 0.003517111 0.004583798 0.0000000 1619.2400000 0.06427367 -0.02109918 0.00803224 -0.001609791 0.004419789 -0.006230027 0.008651605 0.006488435 0.0000000 810.3430000 0.1280292 -0.04460857 0.01708455 -0.003429679 0.01011367 -0.01389848 0.01689628 0.02369604 0.0000000 414.3930000 0.2196143 -0.08543854 0.03323558 -0.00667783 0.01809426 -0.02572496 0.03686833 0.02360841 0.0000000 216.0580000 0.2943285 -0.1398518 0.05573178 -0.01124816 0.03416662 -0.04674972 0.05445003 0.09186954 0.0000000 114.6350000 0.2592639 -0.1674907 0.07004526 -0.01419067 0.03593265 -0.05304136 0.08690671 0.01584593 0.0000000 61.7623000 0.1154133 -0.07864897 0.03460894 -0.007119783 0.03074112 -0.03846676 0.01740443 0.1832209 0.0000000 33.6924000 0.01748179 0.1871467 -0.09417457 0.01964233 -0.07752629 0.09700309 -0.05212573 -0.3620858 0.0000000 18.5315000 0.00123447 0.4773740 -0.3185785 0.06866033 -0.1679194 0.2750132 -0.5511726 -0.2562035 0.0000000 10.2144000 1.030887E-05 0.3974608 -0.3740136 0.08451691 -0.3562499 0.6149135 -1.1543500 -2.6784160 0.0000000 5.5942800 5.407386E-05 0.1119124 -0.007223424 -0.002558593 0.1776982 -0.4648242 2.1468370 8.3186980 0.0000000 3.0096800 -9.020925E-05 0.01021018 0.4699051 -0.1246873 0.4749129 -1.4688170 2.4632420 -7.7549970 0.0000000 1.5668400 1.229205E-05 0.001535466 0.5650018 -0.1981732 0.8521909 -0.06123386 -6.0927930 0.5798922 0.0000000 0.7814370 -1.291299E-05 0.0003513273 0.2128446 -0.1626983 -0.7724873 2.5333260 3.2604830 4.4806790 0.0000000 0.2581180 5.053007E-06 8.700326E-06 0.01020773 0.1212677 -1.4319140 -1.4838310 2.0784120 -7.9856680 0.0000000 0.1385560 -4.083295E-06 8.085928E-06 -0.003216647 0.4147624 0.4991946 -0.9440243 -4.0424470 7.9331330 0.0000000 0.0661710 1.77407E-06 -4.465779E-06 0.0009813901 0.4840872 0.5499585 0.9934343 1.7426680 -2.6833390 0.0000000 0.0309860 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 20 8 0 110349.0000000 0.0000030 -0.0000010 0.0000000 0.0000000 -0.0000010 0.0000010 0.0000010 0.0000000 26971.3000000 0.0000250 -0.0000090 0.0000020 0.0000030 -0.0000070 0.0000090 0.0000110 0.0000000 8560.0700000 0.0001540 -0.0000570 0.0000110 0.0000190 -0.0000440 0.0000470 0.0000750 0.0000000 3248.8000000 0.0007110 -0.0002660 0.0000490 0.0000840 -0.0001870 0.0002580 0.0003070 0.0000000 1389.4100000 0.0027260 -0.0010230 0.0001900 0.0003350 -0.0007860 0.0008400 0.0013430 0.0000000 643.0430000 0.0090780 -0.0034260 0.0006280 0.0010780 -0.0024190 0.0033290 0.0039790 0.0000000 314.0050000 0.0266470 -0.0101780 0.0018980 0.0033420 -0.0078320 0.0084050 0.0135080 0.0000000 159.4890000 0.0683490 -0.0266840 0.0049050 0.0084110 -0.0188920 0.0262100 0.0315180 0.0000000 83.6662000 0.1462290 -0.0590440 0.0110910 0.0195690 -0.0460950 0.0483260 0.0812240 0.0000000 45.1574000 0.2463660 -0.1036450 0.0191100 0.0325670 -0.0721870 0.1064260 0.1177440 0.0000000 24.9630000 0.3093570 -0.1371860 0.0264040 0.0477820 -0.1187060 0.1112430 0.2545370 0.0000000 14.0043000 0.2518340 -0.0980300 0.0170480 0.0279570 -0.0688450 0.2196340 0.2804660 0.0000000 7.8326700 0.1075770 0.0782840 -0.0167770 -0.0245300 0.0612550 -0.3785060 -1.3817560 0.0000000 4.2841000 0.0186230 0.3068960 -0.0722810 -0.1464900 0.5482940 -0.8342830 -0.5845020 0.0000000 2.2890100 0.0018400 0.4020910 -0.0888340 -0.1492570 0.2972820 0.0346510 2.8319550 0.0000000 1.1943600 0.0005260 0.2839960 -0.0855010 -0.1363180 -0.2716010 1.9667590 -1.4030820 0.0000000 0.5942580 0.0001340 0.0869280 0.0514770 0.1989520 -1.0379400 -1.2248450 -1.0866400 0.0000000 0.2269140 0.0000180 0.0058540 0.3482630 0.6520570 0.2883290 -0.7377320 1.8537790 0.0000000 0.0901790 -0.0000030 -0.0000370 0.5207130 0.3101190 0.5829240 0.9916440 -1.1119850 0.0000000 0.0357180 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 854.1223000 0.0001100 0.0001540 0.0001680 0.0002020 -0.0003210 0.0000000 257.9496000 0.0010600 0.0014840 0.0016860 0.0022920 -0.0028130 0.0000000 100.2319000 0.0061270 0.0086150 0.0095520 0.0119480 -0.0180280 0.0000000 44.1762100 0.0242270 0.0343280 0.0391690 0.0534890 -0.0679850 0.0000000 20.7847600 0.0705680 0.1026560 0.1185400 0.1599570 -0.2814680 0.0000000 10.2275600 0.1554220 0.2346230 0.3060170 0.4633290 -0.6396470 0.0000000 5.1512410 0.2464650 0.3308580 0.2800330 0.0018920 1.0829690 0.0000000 2.5908470 0.2908540 0.1664140 -0.3570440 -0.9592480 0.4414690 0.0000000 1.2858010 0.2696230 -0.2191500 -0.5566930 0.1085530 -1.6892300 0.0000000 0.6253440 0.1932020 -0.4171790 -0.0034070 0.9818850 0.9011120 0.0000000 0.2939430 0.0928240 -0.2879880 0.5550480 -0.3019870 0.6121440 0.0000000 0.1289970 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 12.1669000 1.0000000 0.0000000 0.0000000 0.0000000 4.3915000 0.0000000 1.0000000 0.0000000 0.0000000 1.5850000 0.0000000 0.0000000 1.0000000 0.0000000 0.5721000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 9.6299000 1.0000000 0.0000000 0.0000000 3.3924000 0.0000000 1.0000000 0.0000000 1.1951000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 7.4738000 1.0000000 0.0000000 2.4250000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 5.5487000 1.0000000 $ GALLIUM (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ GALLIUM (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 31 $ S-TYPE FUNCTIONS 26 8 0 108615220.0000000 0.00000024 -0.00000007 0.00000003 -0.000000007 0.0000000 0.0000000 0.0000000 0.0000000 16264540.0000000 0.00000186 -0.00000058 0.00000022 -0.000000051 0.0000000 0.0000000 0.0000000 0.0000000 3700111.6000000 0.00000980 -0.00000303 0.00000116 -0.000000270 0.0000000 0.0000000 0.0000000 0.0000000 1047169.1000000 0.00004152 -0.00001287 0.00000491 -0.000001142 0.0000000 0.0000000 0.0000000 0.0000000 341067.5700000 0.00015205 -0.00004714 0.00001798 -0.000004183 0.0000000 0.0000000 0.0000000 0.0000000 122771.5400000 0.00050077 -0.0001553 0.0000592 -0.000013781 0.0000000 0.0000000 0.0000000 0.0000000 47659.5780000 0.0015187 -0.0004718 0.0001801 -0.000041882 0.0000000 0.0000000 0.0000000 0.0000000 19633.3540000 0.0043025 -0.0013405 0.0005114 -0.000119023 0.0000000 0.0000000 0.0000000 0.0000000 8488.7347000 0.0114523 -0.0035955 0.0013740 -0.0003196 0.0000000 0.0000000 0.0000000 0.0000000 3823.1381000 0.0285640 -0.0091016 0.0034818 -0.0008107 0.0000000 0.0000000 0.0000000 0.0000000 1784.4755000 0.0657485 -0.0216360 0.0083169 -0.0019360 0.0000000 0.0000000 0.0000000 0.0000000 860.0530500 0.1352895 -0.0473365 0.0183180 -0.0042722 0.0000000 0.0000000 0.0000000 0.0000000 426.6986700 0.2345514 -0.0924997 0.0363903 -0.0084945 0.0000000 0.0000000 0.0000000 0.0000000 217.2616100 0.3078351 -0.1504351 0.0608083 -0.0142709 0.0000000 0.0000000 0.0000000 0.0000000 112.9698700 0.2529947 -0.1721227 0.0732939 -0.0172681 0.0000000 0.0000000 0.0000000 0.0000000 59.4494410 0.0960104 -0.0440179 0.0197416 -0.0047782 0.0000000 0.0000000 0.0000000 0.0000000 30.7822560 0.0097885 0.2973828 -0.1612970 0.0394927 0.0000000 0.0000000 0.0000000 0.0000000 16.4232120 0.0005912 0.5279748 -0.4021948 0.1027200 0.0000000 0.0000000 0.0000000 0.0000000 8.7578890 -0.0000554 0.3008905 -0.2927248 0.0773529 0.0000000 0.0000000 0.0000000 0.0000000 4.4096290 0.0000138 0.0458819 0.2706942 -0.0849565 0.0000000 0.0000000 0.0000000 0.0000000 2.2494490 -0.0000642 0.0012828 0.6359759 -0.2219834 0.0000000 0.0000000 0.0000000 0.0000000 1.1261150 0.0000169 0.0012588 0.3702489 -0.2532089 0.0000000 0.0000000 0.0000000 0.0000000 0.5154860 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2425780 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1070860 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0469880 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 32152.1900000 0.0000283 -0.0000107 0.0000017 0.0000000 0.0000000 0.0000000 0.0000000 7609.3842000 0.0002529 -0.0000958 0.0000158 0.0000000 0.0000000 0.0000000 0.0000000 2471.4744000 0.0014686 -0.0005582 0.0000908 0.0000000 0.0000000 0.0000000 0.0000000 946.0636300 0.0065627 -0.0025040 0.0004120 0.0000000 0.0000000 0.0000000 0.0000000 401.9471100 0.0238023 -0.0091996 0.0014984 0.0000000 0.0000000 0.0000000 0.0000000 183.6468800 0.0708945 -0.0279973 0.0046252 0.0000000 0.0000000 0.0000000 0.0000000 88.5332640 0.1676384 -0.0688746 0.0112713 0.0000000 0.0000000 0.0000000 0.0000000 44.2703550 0.2959754 -0.1273843 0.0213212 0.0000000 0.0000000 0.0000000 0.0000000 22.7230830 0.3488610 -0.1585889 0.0259523 0.0000000 0.0000000 0.0000000 0.0000000 11.8231410 0.2175496 -0.0424968 0.0066320 0.0000000 0.0000000 0.0000000 0.0000000 6.0421350 0.0520511 0.2441440 -0.0501704 0.0000000 0.0000000 0.0000000 0.0000000 3.0317540 0.0034378 0.4459111 -0.0842977 0.0000000 0.0000000 0.0000000 0.0000000 1.4933660 0.0009833 0.3529522 -0.0903023 0.0000000 0.0000000 0.0000000 0.0000000 0.7097270 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2485930 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0943950 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0358870 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 5 0 1040.5046000 0.0000892 0.0000000 0.0000000 0.0000000 0.0000000 314.5971400 0.0008625 0.0000000 0.0000000 0.0000000 0.0000000 122.7876000 0.0050094 0.0000000 0.0000000 0.0000000 0.0000000 54.7603690 0.0199649 0.0000000 0.0000000 0.0000000 0.0000000 26.2989440 0.0583214 0.0000000 0.0000000 0.0000000 0.0000000 13.2634450 0.1316868 0.0000000 0.0000000 0.0000000 0.0000000 6.8850650 0.2218676 0.0000000 0.0000000 0.0000000 0.0000000 3.5795250 0.2825059 0.0000000 0.0000000 0.0000000 0.0000000 1.8315640 0.2831989 0.0000000 0.0000000 0.0000000 0.0000000 0.9129090 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4353400 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1885180 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0758000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.1340000 1.0000000 0.0000000 0.0000000 0.2826000 0.0000000 1.0000000 0.0000000 0.5960000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.2750000 1.0000000 0.0000000 0.6146000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.4986000 1.0000000 $ GERMANIUM (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ GERMANIUM (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 32 $ S-TYPE FUNCTIONS 26 8 0 122001190.0000000 0.00000022 -0.00000007 0.00000003 -0.000000007 0.0000000 0.0000000 0.0000000 0.0000000 18257470.0000000 0.00000175 -0.00000054 0.00000021 -0.000000054 0.0000000 0.0000000 0.0000000 0.0000000 4150821.5000000 0.00000920 -0.00000286 0.00000110 -0.000000283 0.0000000 0.0000000 0.0000000 0.0000000 1174101.8000000 0.00003899 -0.00001213 0.00000467 -0.000001120 0.0000000 0.0000000 0.0000000 0.0000000 382309.1500000 0.0001428 -0.00004443 0.00001713 -0.000004391 0.0000000 0.0000000 0.0000000 0.0000000 137607.9600000 0.0004703 -0.0001464 0.0000564 -0.000014461 0.0000000 0.0000000 0.0000000 0.0000000 53419.2420000 0.0014267 -0.0004447 0.0001715 -0.000043965 0.0000000 0.0000000 0.0000000 0.0000000 22005.7560000 0.0040434 -0.0012637 0.0004872 -0.0001249 0.0000000 0.0000000 0.0000000 0.0000000 9513.8479000 0.0107732 -0.0033920 0.0013097 -0.0003358 0.0000000 0.0000000 0.0000000 0.0000000 4284.1756000 0.0269273 -0.0085979 0.0033232 -0.0008525 0.0000000 0.0000000 0.0000000 0.0000000 1999.1664000 0.0622374 -0.0204964 0.0079591 -0.0020424 0.0000000 0.0000000 0.0000000 0.0000000 963.2471600 0.1290382 -0.0450571 0.0176097 -0.0045245 0.0000000 0.0000000 0.0000000 0.0000000 477.8050000 0.2267312 -0.0887922 0.0352576 -0.0090744 0.0000000 0.0000000 0.0000000 0.0000000 243.3158900 0.3048903 -0.1466299 0.0597687 -0.0154483 0.0000000 0.0000000 0.0000000 0.0000000 126.6399900 0.2617662 -0.1743140 0.0747406 -0.0194338 0.0000000 0.0000000 0.0000000 0.0000000 66.7835790 0.1076348 -0.0611656 0.0277863 -0.0073289 0.0000000 0.0000000 0.0000000 0.0000000 34.4160840 0.0126234 0.2716690 -0.1472878 0.0396485 0.0000000 0.0000000 0.0000000 0.0000000 18.3728140 0.0003918 0.5280226 -0.3974202 0.1121796 0.0000000 0.0000000 0.0000000 0.0000000 9.8054610 0.0000812 0.3240138 -0.3205666 0.0935686 0.0000000 0.0000000 0.0000000 0.0000000 4.9694030 -0.0000489 0.0544177 0.2331968 -0.0806459 0.0000000 0.0000000 0.0000000 0.0000000 2.5486230 -0.00003170 0.0014463 0.6424890 -0.2501109 0.0000000 0.0000000 0.0000000 0.0000000 1.2845940 -0.00000109 0.0014248 0.3966684 -0.2978099 0.0000000 0.0000000 0.0000000 0.0000000 0.5833530 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2934390 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1326720 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0592390 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 32314.9700000 0.0000316 -0.0000122 0.0000024 0.0000000 0.0000000 0.0000000 0.0000000 7648.2002000 0.0002820 -0.0001084 0.0000214 0.0000000 0.0000000 0.0000000 0.0000000 2484.2114000 0.0016353 -0.0006311 0.0001243 0.0000000 0.0000000 0.0000000 0.0000000 951.0030500 0.0072864 -0.0028243 0.0005589 0.0000000 0.0000000 0.0000000 0.0000000 404.0483300 0.0262931 -0.0103317 0.0020383 0.0000000 0.0000000 0.0000000 0.0000000 184.6035400 0.0775943 -0.0312102 0.0062016 0.0000000 0.0000000 0.0000000 0.0000000 88.9641280 0.1803653 -0.0755954 0.0150106 0.0000000 0.0000000 0.0000000 0.0000000 44.4477420 0.3095354 -0.1362944 0.0274127 0.0000000 0.0000000 0.0000000 0.0000000 22.7990750 0.3454752 -0.1590150 0.0317796 0.0000000 0.0000000 0.0000000 0.0000000 11.8359280 0.1963290 -0.0149805 0.0009228 0.0000000 0.0000000 0.0000000 0.0000000 6.0112940 0.0409068 0.2868225 -0.0698342 0.0000000 0.0000000 0.0000000 0.0000000 2.9957840 0.0024197 0.4626656 -0.1119600 0.0000000 0.0000000 0.0000000 0.0000000 1.4695700 0.0008003 0.3168505 -0.0993565 0.0000000 0.0000000 0.0000000 0.0000000 0.6906810 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2861600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1177420 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0473850 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 5 0 1226.7982000 0.0000763 0.0000000 0.0000000 0.0000000 0.0000000 371.2322300 0.0007425 0.0000000 0.0000000 0.0000000 0.0000000 144.8909900 0.0043756 0.0000000 0.0000000 0.0000000 0.0000000 64.6041300 0.0179257 0.0000000 0.0000000 0.0000000 0.0000000 31.0397370 0.0539253 0.0000000 0.0000000 0.0000000 0.0000000 15.6438700 0.1257191 0.0000000 0.0000000 0.0000000 0.0000000 8.1258220 0.2191566 0.0000000 0.0000000 0.0000000 0.0000000 4.2397620 0.2860662 0.0000000 0.0000000 0.0000000 0.0000000 2.1863860 0.2896504 0.0000000 0.0000000 0.0000000 0.0000000 1.1038710 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5338110 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2313550 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0953000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.1630000 1.0000000 0.0000000 0.0000000 0.3297000 0.0000000 1.0000000 0.0000000 0.6709000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.3160000 1.0000000 0.0000000 0.7034000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.5815000 1.0000000 $ ARSENIC (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ ARSENIC (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 33 $ S-TYPE FUNCTIONS 26 8 0 137507530.0000000 0.00000021 -0.00000007 0.00000003 -0.000000007 0.0000000 0.0000000 0.0000000 0.0000000 20515052.0000000 0.00000163 -0.00000051 0.00000020 -0.000000055 0.0000000 0.0000000 0.0000000 0.0000000 4648716.4000000 0.00000865 -0.00000270 0.00000105 -0.000000289 0.0000000 0.0000000 0.0000000 0.0000000 1311264.6000000 0.00003676 -0.00001147 0.00000447 -0.000001230 0.0000000 0.0000000 0.0000000 0.0000000 426185.8600000 0.00013488 -0.00004210 0.00001640 -0.000004517 0.0000000 0.0000000 0.0000000 0.0000000 153237.0600000 0.00044460 -0.0001388 0.00005404 -0.000014884 0.0000000 0.0000000 0.0000000 0.0000000 59459.4040000 0.0013488 -0.0004218 0.0001643 -0.000045265 0.0000000 0.0000000 0.0000000 0.0000000 24492.8120000 0.0038231 -0.0011984 0.0004669 -0.000128582 0.0000000 0.0000000 0.0000000 0.0000000 10590.2530000 0.0101908 -0.0032174 0.0012552 -0.000345801 0.0000000 0.0000000 0.0000000 0.0000000 4769.7841000 0.0255027 -0.0081598 0.0031869 -0.000878031 0.0000000 0.0000000 0.0000000 0.0000000 2226.3698000 0.0591104 -0.0194834 0.0076432 -0.0021073 0.0000000 0.0000000 0.0000000 0.0000000 1073.0862000 0.1232888 -0.0429787 0.0169669 -0.0046817 0.0000000 0.0000000 0.0000000 0.0000000 532.5005900 0.2191743 -0.0852987 0.0341909 -0.0094558 0.0000000 0.0000000 0.0000000 0.0000000 271.2975500 0.3013612 -0.1428402 0.0587287 -0.0162990 0.0000000 0.0000000 0.0000000 0.0000000 141.3119500 0.2694892 -0.1757282 0.0758856 -0.0212138 0.0000000 0.0000000 0.0000000 0.0000000 74.5844330 0.1191270 -0.0764127 0.0350614 -0.0098944 0.0000000 0.0000000 0.0000000 0.0000000 38.2983380 0.0156980 0.2466575 -0.1338623 0.0386379 0.0000000 0.0000000 0.0000000 0.0000000 20.4691300 0.0002047 0.5253824 -0.3913634 0.1188893 0.0000000 0.0000000 0.0000000 0.0000000 10.9395780 0.0002236 0.3459724 -0.3462820 0.1088990 0.0000000 0.0000000 0.0000000 0.0000000 5.5903670 -0.0001168 0.0639533 0.1941327 -0.0722079 0.0000000 0.0000000 0.0000000 0.0000000 2.8828590 0.00000419 0.0018299 0.6451986 -0.2718000 0.0000000 0.0000000 0.0000000 0.0000000 1.4660860 -0.00002167 0.0015645 0.4234813 -0.3371662 0.0000000 0.0000000 0.0000000 0.0000000 0.6748390 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3463990 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1592890 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0721090 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 34166.1610000 0.0000322 -0.0000126 0.0000028 0.0000000 0.0000000 0.0000000 0.0000000 8086.5608000 0.0002868 -0.0001119 0.0000249 0.0000000 0.0000000 0.0000000 0.0000000 2626.5114000 0.0016633 -0.0006516 0.0001451 0.0000000 0.0000000 0.0000000 0.0000000 1005.3950000 0.0074125 -0.0029173 0.0006504 0.0000000 0.0000000 0.0000000 0.0000000 427.1273500 0.0267512 -0.0106738 0.0023818 0.0000000 0.0000000 0.0000000 0.0000000 195.1511300 0.0788944 -0.0322455 0.0072207 0.0000000 0.0000000 0.0000000 0.0000000 94.0543080 0.1829916 -0.0779731 0.0175318 0.0000000 0.0000000 0.0000000 0.0000000 46.9998800 0.3124941 -0.1401038 0.0317414 0.0000000 0.0000000 0.0000000 0.0000000 24.1174570 0.3445322 -0.1607132 0.0365449 0.0000000 0.0000000 0.0000000 0.0000000 12.5199820 0.1916436 -0.0076703 -0.0016024 0.0000000 0.0000000 0.0000000 0.0000000 6.3573250 0.0387136 0.3007983 -0.0824644 0.0000000 0.0000000 0.0000000 0.0000000 3.1680520 0.0022418 0.4715878 -0.1344372 0.0000000 0.0000000 0.0000000 0.0000000 1.5534810 0.0007209 0.3032064 -0.1051686 0.0000000 0.0000000 0.0000000 0.0000000 0.7103250 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3209550 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1393570 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0584100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 5 0 1424.4506000 0.0000666 0.0000000 0.0000000 0.0000000 0.0000000 431.0667600 0.0006537 0.0000000 0.0000000 0.0000000 0.0000000 168.1286400 0.0039041 0.0000000 0.0000000 0.0000000 0.0000000 74.8667240 0.0163919 0.0000000 0.0000000 0.0000000 0.0000000 35.9458550 0.0506232 0.0000000 0.0000000 0.0000000 0.0000000 18.0984740 0.1211021 0.0000000 0.0000000 0.0000000 0.0000000 9.4057800 0.2168169 0.0000000 0.0000000 0.0000000 0.0000000 4.9239040 0.2887452 0.0000000 0.0000000 0.0000000 0.0000000 2.5564930 0.2947769 0.0000000 0.0000000 0.0000000 0.0000000 1.3042330 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6371180 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2757950 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1153000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.1960000 1.0000000 0.0000000 0.0000000 0.3859000 0.0000000 1.0000000 0.0000000 0.7599000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.3700000 1.0000000 0.0000000 0.8092000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.6773000 1.0000000 $ SELENIUM (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ SELENIUM (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 34 $ S-TYPE FUNCTIONS 26 8 0 154432250.0000000 0.00000019 -0.00000006 0.00000002 -0.000000007 0.0000000 0.0000000 0.0000000 0.0000000 23129212.0000000 0.00000151 -0.00000047 0.00000019 -0.000000054 0.0000000 0.0000000 0.0000000 0.0000000 5261792.9000000 0.00000796 -0.00000249 0.00000098 -0.000000287 0.0000000 0.0000000 0.0000000 0.0000000 1488816.7000000 0.00003375 -0.00001056 0.00000415 -0.000001214 0.0000000 0.0000000 0.0000000 0.0000000 484656.5600000 0.00012372 -0.00003873 0.00001524 -0.000004456 0.0000000 0.0000000 0.0000000 0.0000000 174270.6300000 0.00040839 -0.00012786 0.00005031 -0.000014706 0.0000000 0.0000000 0.0000000 0.0000000 67529.0900000 0.00124310 -0.0003898 0.00015346 -0.000044871 0.0000000 0.0000000 0.0000000 0.0000000 27750.8370000 0.0035389 -0.0011123 0.0004378 -0.000127989 0.0000000 0.0000000 0.0000000 0.0000000 11964.2160000 0.0094822 -0.0030007 0.0011827 -0.000345702 0.0000000 0.0000000 0.0000000 0.0000000 5370.7148000 0.0238901 -0.0076563 0.0030208 -0.0008834 0.0000000 0.0000000 0.0000000 0.0000000 2497.3194000 0.0558757 -0.0184221 0.0072992 -0.0021363 0.0000000 0.0000000 0.0000000 0.0000000 1198.7679000 0.1179104 -0.0410184 0.0163528 -0.0047892 0.0000000 0.0000000 0.0000000 0.0000000 592.5802600 0.2127962 -0.0823026 0.0332962 -0.0097758 0.0000000 0.0000000 0.0000000 0.0000000 300.9770800 0.2989304 -0.1398840 0.0580139 -0.0170877 0.0000000 0.0000000 0.0000000 0.0000000 156.4602400 0.2765651 -0.1770337 0.0770233 -0.0228656 0.0000000 0.0000000 0.0000000 0.0000000 82.4760860 0.1292941 -0.0887761 0.0411065 -0.0123028 0.0000000 0.0000000 0.0000000 0.0000000 42.2708870 0.0185875 0.2251537 -0.1225782 0.0375254 0.0000000 0.0000000 0.0000000 0.0000000 22.6302200 0.0000773 0.5207171 -0.3853397 0.1244342 0.0000000 0.0000000 0.0000000 0.0000000 12.1223740 0.0003427 0.3645093 -0.3675073 0.1231195 0.0000000 0.0000000 0.0000000 0.0000000 6.2491700 -0.0001753 0.0736169 0.1574340 -0.0624330 0.0000000 0.0000000 0.0000000 0.0000000 3.2426780 0.00003570 0.0023540 0.6440872 -0.2894834 0.0000000 0.0000000 0.0000000 0.0000000 1.6663620 -0.00004065 0.0016947 0.4482209 -0.3744399 0.0000000 0.0000000 0.0000000 0.0000000 0.7872640 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4029720 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1870960 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0847060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 36511.3370000 0.0000320 -0.0000127 0.0000031 0.0000000 0.0000000 0.0000000 0.0000000 8640.5510000 0.0002854 -0.0001130 0.0000273 0.0000000 0.0000000 0.0000000 0.0000000 2805.6911000 0.0016567 -0.0006582 0.0001593 0.0000000 0.0000000 0.0000000 0.0000000 1073.4961000 0.0073955 -0.0029528 0.0007136 0.0000000 0.0000000 0.0000000 0.0000000 455.7747500 0.0267543 -0.0108289 0.0026260 0.0000000 0.0000000 0.0000000 0.0000000 208.0943200 0.0790989 -0.0328124 0.0079667 0.0000000 0.0000000 0.0000000 0.0000000 100.2311100 0.1837967 -0.0795070 0.0194440 0.0000000 0.0000000 0.0000000 0.0000000 50.0735220 0.3138041 -0.1430274 0.0351328 0.0000000 0.0000000 0.0000000 0.0000000 25.7002620 0.3443650 -0.1627787 0.0404028 0.0000000 0.0000000 0.0000000 0.0000000 13.3467920 0.1898591 -0.0042983 -0.0033969 0.0000000 0.0000000 0.0000000 0.0000000 6.7870510 0.0379193 0.3091829 -0.0920999 0.0000000 0.0000000 0.0000000 0.0000000 3.3916540 0.0021781 0.4776013 -0.1535090 0.0000000 0.0000000 0.0000000 0.0000000 1.6703270 0.0006590 0.2928526 -0.1058705 0.0000000 0.0000000 0.0000000 0.0000000 0.7525990 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3468130 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1518550 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0638560 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 5 0 1635.0663000 0.0000591 0.0000000 0.0000000 0.0000000 0.0000000 494.6726600 0.0005840 0.0000000 0.0000000 0.0000000 0.0000000 192.8438800 0.0035256 0.0000000 0.0000000 0.0000000 0.0000000 85.7821950 0.0151127 0.0000000 0.0000000 0.0000000 0.0000000 41.1499660 0.0478446 0.0000000 0.0000000 0.0000000 0.0000000 20.6781700 0.1174345 0.0000000 0.0000000 0.0000000 0.0000000 10.7263860 0.2159074 0.0000000 0.0000000 0.0000000 0.0000000 5.6124540 0.2929216 0.0000000 0.0000000 0.0000000 0.0000000 2.9203760 0.3000864 0.0000000 0.0000000 0.0000000 0.0000000 1.4981840 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.7359990 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3160040 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1331000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.2100000 1.0000000 0.0000000 0.0000000 0.4211000 0.0000000 1.0000000 0.0000000 0.8442000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.3850000 1.0000000 0.0000000 0.8659000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.7235000 1.0000000 $ BROMINE (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ BROMINE (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 35 $ S-TYPE FUNCTIONS 26 8 0 165735150.0000000 0.00000019 -0.00000006 0.00000002 -0.000000007 0.0000000 0.0000000 0.0000000 0.0000000 24774379.0000000 0.00000149 -0.00000047 0.00000019 -0.000000057 0.0000000 0.0000000 0.0000000 0.0000000 5628202.0000000 0.00000788 -0.00000247 0.00000098 -0.000000301 0.0000000 0.0000000 0.0000000 0.0000000 1591899.7000000 0.00003339 -0.00001048 0.00000416 -0.000001276 0.0000000 0.0000000 0.0000000 0.0000000 518263.8000000 0.00012231 -0.00003840 0.00001526 -0.000004678 0.0000000 0.0000000 0.0000000 0.0000000 186490.9200000 0.00040321 -0.00012660 0.00005031 -0.000015416 0.0000000 0.0000000 0.0000000 0.0000000 72332.4930000 0.00122564 -0.00038545 0.00015325 -0.000046975 0.0000000 0.0000000 0.0000000 0.0000000 29761.1350000 0.00348235 -0.00109761 0.00043637 -0.000133721 0.0000000 0.0000000 0.0000000 0.0000000 12851.7120000 0.00930856 -0.00295379 0.00117580 -0.000360485 0.0000000 0.0000000 0.0000000 0.0000000 5780.9430000 0.0233883 -0.0075146 0.0029946 -0.000917976 0.0000000 0.0000000 0.0000000 0.0000000 2695.0098000 0.0545530 -0.0180230 0.0072119 -0.0022129 0.0000000 0.0000000 0.0000000 0.0000000 1297.6604000 0.1149479 -0.0400255 0.0161151 -0.0049473 0.0000000 0.0000000 0.0000000 0.0000000 643.6349300 0.2079225 -0.0802919 0.0327943 -0.0100951 0.0000000 0.0000000 0.0000000 0.0000000 327.9519400 0.2951596 -0.1372166 0.0574309 -0.0177324 0.0000000 0.0000000 0.0000000 0.0000000 170.9226200 0.2798766 -0.1769439 0.0776187 -0.0241653 0.0000000 0.0000000 0.0000000 0.0000000 90.2501410 0.1369752 -0.0977033 0.0456464 -0.0143180 0.0000000 0.0000000 0.0000000 0.0000000 46.2924670 0.0212154 0.2067633 -0.1131171 0.0362812 0.0000000 0.0000000 0.0000000 0.0000000 24.8486610 -0.0000254 0.5148419 -0.3795596 0.1286552 0.0000000 0.0000000 0.0000000 0.0000000 13.3471370 0.0004570 0.3799206 -0.3851494 0.1356888 0.0000000 0.0000000 0.0000000 0.0000000 6.9482580 -0.0002348 0.0830128 0.1236851 -0.0516764 0.0000000 0.0000000 0.0000000 0.0000000 3.6250750 0.00006858 0.0032157 0.6406138 -0.3030724 0.0000000 0.0000000 0.0000000 0.0000000 1.8821530 -0.00006116 0.0017129 0.4707436 -0.4073838 0.0000000 0.0000000 0.0000000 0.0000000 0.9108220 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4639570 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2169330 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0984060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 39391.5300000 0.0000312 -0.0000125 0.0000032 0.0000000 0.0000000 0.0000000 0.0000000 9325.2225000 0.0002780 -0.0001116 0.0000288 0.0000000 0.0000000 0.0000000 0.0000000 3028.9943000 0.0016138 -0.0006499 0.0001684 0.0000000 0.0000000 0.0000000 0.0000000 1159.5145000 0.0072049 -0.0029159 0.0007543 0.0000000 0.0000000 0.0000000 0.0000000 492.6813100 0.0260873 -0.0107009 0.0027801 0.0000000 0.0000000 0.0000000 0.0000000 225.1745100 0.0772971 -0.0324951 0.0084462 0.0000000 0.0000000 0.0000000 0.0000000 108.5932600 0.1804775 -0.0791123 0.0207376 0.0000000 0.0000000 0.0000000 0.0000000 54.3360790 0.3106126 -0.1435252 0.0377542 0.0000000 0.0000000 0.0000000 0.0000000 27.9366500 0.3454297 -0.1658248 0.0442062 0.0000000 0.0000000 0.0000000 0.0000000 14.5396260 0.1948515 -0.0106591 -0.0021775 0.0000000 0.0000000 0.0000000 0.0000000 7.4213070 0.0403860 0.3050662 -0.0979530 0.0000000 0.0000000 0.0000000 0.0000000 3.7303890 0.0023091 0.4813563 -0.1692656 0.0000000 0.0000000 0.0000000 0.0000000 1.8541270 0.0006715 0.2942769 -0.1117490 0.0000000 0.0000000 0.0000000 0.0000000 0.8453370 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3921520 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1727670 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0729080 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 5 0 1850.6354000 0.0000538 0.0000000 0.0000000 0.0000000 0.0000000 557.0712500 0.0005402 0.0000000 0.0000000 0.0000000 0.0000000 216.4868700 0.0033012 0.0000000 0.0000000 0.0000000 0.0000000 96.1388500 0.0143551 0.0000000 0.0000000 0.0000000 0.0000000 46.1263800 0.0461168 0.0000000 0.0000000 0.0000000 0.0000000 23.2011640 0.1147873 0.0000000 0.0000000 0.0000000 0.0000000 12.0559260 0.2145369 0.0000000 0.0000000 0.0000000 0.0000000 6.3255450 0.2953131 0.0000000 0.0000000 0.0000000 0.0000000 3.3049220 0.3040938 0.0000000 0.0000000 0.0000000 0.0000000 1.7042530 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8399400 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3569530 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1520000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.2550000 1.0000000 0.0000000 0.0000000 0.4955000 0.0000000 1.0000000 0.0000000 0.9627000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.4390000 1.0000000 0.0000000 0.9768000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.8193000 1.0000000 $ KRYPTON (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ KRYPTON (26s,17p,13d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 36 $ S-TYPE FUNCTIONS 26 8 0 182822090.0000000 0.00000018 -0.00000057 0.00000002 -0.000000006 0.0000000 0.0000000 0.0000000 0.0000000 27356156.0000000 0.00000142 -0.00000045 0.00000018 -0.000000057 0.0000000 0.0000000 0.0000000 0.0000000 6221170.4000000 0.00000746 -0.00000235 0.00000094 -0.000000300 0.0000000 0.0000000 0.0000000 0.0000000 1760277.9000000 0.00003159 -0.00000994 0.00000399 -0.000001270 0.0000000 0.0000000 0.0000000 0.0000000 573193.8200000 0.00011575 -0.0000364 0.00001462 -0.000004658 0.0000000 0.0000000 0.0000000 0.0000000 206258.4500000 0.0003815 -0.0001201 0.00004819 -0.000015347 0.0000000 0.0000000 0.0000000 0.0000000 80026.6690000 0.0011590 -0.0003654 0.0001467 -0.000046736 0.0000000 0.0000000 0.0000000 0.0000000 32939.0840000 0.0032934 -0.0010407 0.0004177 -0.000133022 0.0000000 0.0000000 0.0000000 0.0000000 14222.6330000 0.0088161 -0.0028038 0.0011267 -0.000359062 0.0000000 0.0000000 0.0000000 0.0000000 6393.0707000 0.0222180 -0.0071509 0.0028769 -0.0009165 0.0000000 0.0000000 0.0000000 0.0000000 2976.4538000 0.0520881 -0.0172204 0.0069549 -0.0022184 0.0000000 0.0000000 0.0000000 0.0000000 1430.5254000 0.1106356 -0.0384800 0.0156365 -0.0049883 0.0000000 0.0000000 0.0000000 0.0000000 707.9262100 0.2025326 -0.0778628 0.0320801 -0.0102661 0.0000000 0.0000000 0.0000000 0.0000000 359.8484700 0.2926350 -0.1347423 0.0568689 -0.0182445 0.0000000 0.0000000 0.0000000 0.0000000 187.1496500 0.2851224 -0.1776148 0.0784845 -0.0254110 0.0000000 0.0000000 0.0000000 0.0000000 98.6345230 0.1455064 -0.1068413 0.0503398 -0.0163931 0.0000000 0.0000000 0.0000000 0.0000000 50.5478690 0.0239939 0.1896132 -0.1042742 0.0346977 0.0000000 0.0000000 0.0000000 0.0000000 27.1670040 -0.0000949 0.5091871 -0.3743761 0.1321283 0.0000000 0.0000000 0.0000000 0.0000000 14.6150980 0.0005578 0.3939859 -0.4011131 0.1470925 0.0000000 0.0000000 0.0000000 0.0000000 7.6513520 -0.0002870 0.0919032 0.0968388 -0.0418216 0.0000000 0.0000000 0.0000000 0.0000000 3.9972630 0.0000966 0.0039195 0.6428776 -0.3195240 0.0000000 0.0000000 0.0000000 0.0000000 2.0858530 -0.0000784 0.0017496 0.4860600 -0.4363286 0.0000000 0.0000000 0.0000000 0.0000000 1.0147970 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5197880 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2451030 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1118960 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 42993.0560000 0.0000297 -0.0000121 0.0000033 0.0000000 0.0000000 0.0000000 0.0000000 10173.7230000 0.0002651 -0.0001078 0.0000293 0.0000000 0.0000000 0.0000000 0.0000000 3303.1057000 0.0015416 -0.0006290 0.0001713 0.0000000 0.0000000 0.0000000 0.0000000 1263.5400000 0.0069065 -0.0028323 0.0007695 0.0000000 0.0000000 0.0000000 0.0000000 536.3654600 0.0251397 -0.0104462 0.0028514 0.0000000 0.0000000 0.0000000 0.0000000 244.8761700 0.0750124 -0.0319400 0.0087204 0.0000000 0.0000000 0.0000000 0.0000000 117.9911700 0.1767433 -0.0784599 0.0216181 0.0000000 0.0000000 0.0000000 0.0000000 59.0212480 0.3075135 -0.1439719 0.0398024 0.0000000 0.0000000 0.0000000 0.0000000 30.3560670 0.3470644 -0.1691703 0.0474775 0.0000000 0.0000000 0.0000000 0.0000000 15.8199770 0.2002802 -0.0175966 -0.0004773 0.0000000 0.0000000 0.0000000 0.0000000 8.1045800 0.0430508 0.3002649 -0.1021891 0.0000000 0.0000000 0.0000000 0.0000000 4.0979640 0.0024772 0.4847661 -0.1823611 0.0000000 0.0000000 0.0000000 0.0000000 2.0560610 0.0006789 0.2967248 -0.1173363 0.0000000 0.0000000 0.0000000 0.0000000 0.9521450 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4447740 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1974960 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0838230 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 5 0 2067.4360000 0.0000496 0.0000000 0.0000000 0.0000000 0.0000000 625.6937100 0.0004944 0.0000000 0.0000000 0.0000000 0.0000000 243.9467900 0.0030265 0.0000000 0.0000000 0.0000000 0.0000000 108.4237300 0.0133461 0.0000000 0.0000000 0.0000000 0.0000000 52.0052160 0.0437869 0.0000000 0.0000000 0.0000000 0.0000000 26.1154050 0.1114388 0.0000000 0.0000000 0.0000000 0.0000000 13.5467480 0.2130341 0.0000000 0.0000000 0.0000000 0.0000000 7.1058100 0.2979241 0.0000000 0.0000000 0.0000000 0.0000000 3.7215540 0.3079660 0.0000000 0.0000000 0.0000000 0.0000000 1.9291200 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.9558260 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4051970 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1741000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.3150000 1.0000000 0.0000000 0.0000000 0.5870000 0.0000000 1.0000000 0.0000000 1.0940000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.5010000 1.0000000 0.0000000 1.1040000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.9303000 1.0000000 ergo-3.5/basis/ano-20000775000175000017500000010760412743400275011217 00000000000000$Basis = ano-2 ************************************************************************ /Na.ano.Widmark.17s12p5d4f.7s7p5d4f. P.-O. Widmark, B. J. Persson, and B. O. Roos Theor. Chim. Acta 79, 419 (1991) ************************************************************************ * Na Sodium atom * * Basic primitive: 16s,11p - SCF optimized * * 4d,3f - SDCI optimized for Na2 * * Augmented: 1s with exponent 0.40x lowest exponent * * 1p with exponent 0.40x lowest exponent * * 1d with exponent 0.40x lowest exponent * * 1f with exponent 0.40x lowest exponent * * * * Contraction: State Field Method Weight * * Na 0.000 SCF 1.000 * * Na 0.010 SCF 1.000 * * Na+ 0.000 SCF 1.000 * * Na- 0.000 SCF 1.000 * * Na2 0.000 SDCI 1.000 * * * * Contraction range: 4s3p2d1f - 7s6p4f3d * * * ************************************************************************ a 11 * s-type ANO's (max 7 functions can be used) 17 7 138773.72 20325.899 5878.6049 2015.4373 739.62658 280.82116 108.71501 42.601572 16.829817 6.6864486 2.6674877 1.0674621 .42818910 .17208010 .06925880 .02790920 .01116330 .00007636 -.0000187 .00000255 -.0000023 .00000364 -.0000017 .00000819 .00052939 -.0001291 .00001760 -.0000160 .00002582 -.0000100 .00005880 .00183722 -.0004511 .00006160 -.0000553 .00008615 -.0000489 .00018769 .00653431 -.0015982 .00021769 -.0001986 .00032753 -.0001277 .00072363 .02092231 -.0052135 .00071184 -.0006340 .00100249 -.0007775 .00191318 .06426610 -.0162727 .00221369 -.0019971 .00347727 -.0027220 .00553738 .17089923 -.0464583 .00632867 -.0054659 .00977528 -.0168111 .00451727 .35610342 -.1114445 .01509121 -.0127624 .02880208 -.0709184 -.0286277 .40213461 -.1853734 .02530901 -.0187696 .05266945 -.2394172 -.2003790 .12746393 -.0600544 .00808949 -.0074755 .02852077 -.0608347 -.0460225 .00061064 .35924086 -.0530507 .03897469 -.1812429 .78439608 .73703463 .00338457 .57207971 -.1116411 .08327536 -.1468356 .84719710 .54990865 -.0013287 .22321420 -.1383134 .20560497 -.3398427 -2.036253 -4.055087 .00085748 -.0050286 -.0299010 -.0468315 .65955083 -.2422682 6.8456427 -.0004761 .00595957 .44900485 -.7982314 1.8591377 2.3580377 -6.673005 .00022186 -.0025377 .47484493 -.5759529 -3.557612 -2.255780 4.1780972 -.0000638 .00078635 .22905052 1.4408654 1.8865531 .90445966 -1.377566 * p-type ANO's (max 7 functions can be used) 12 7 383.79172 94.398072 32.361507 12.054352 4.6417186 1.8172876 .71827120 .28558030 .11399470 .04562920 .01830100 .00732040 .00102867 -.0001186 .00015162 -.0001858 .00002038 -.0005510 .00095208 .00743093 -.0008634 .00110681 -.0011546 -.0004979 -.0029822 .01382221 .03273646 -.0037997 .00487773 -.0060608 .00196514 -.0176344 .02733073 .11687036 -.0138426 .01792042 -.0182851 -.0008732 -.0411126 .23314143 .27753763 -.0331504 .04350073 -.0559810 .05166830 -.1682873 .15243957 .39800015 -.0489974 .06554272 -.0567200 -.0102429 -.0883103 1.0814607 .32331086 -.0465827 .07245938 -.1506721 .47624183 -.6810114 -2.870782 .09433492 -.0302457 .09073829 -.0033550 -.8897463 2.7426269 2.7884597 .00109373 .22294313 -.7676374 1.5488268 -.2605509 -3.415643 -2.023280 .00178158 .50923252 -.3977149 -1.899464 1.9011944 2.8918651 1.3603808 -.0006980 .37196823 .92303779 .39892154 -2.634481 -1.952736 -.8166025 .00022539 .04475107 .17065606 .64929030 1.6808822 .83260624 .32845741 * d-type ANO's (max 5 functions can be used) 5 5 .86260360 .34514180 .13809690 .05525480 .02210190 .02177426 -.0134860 .02840092 -.2199697 1.6054964 -.0072186 -.0029987 -.2061890 -1.328911 -2.053197 .33517471 -.4666753 -1.215883 1.7464842 1.5224414 .36379749 -.6237490 1.8313353 -1.181551 -.8661452 .49254995 1.1090949 -.9208703 .45691840 .31065218 * f-type ANO's (max 4 functions can be used) 4 4 .32814490 .15734730 .07544890 .03017960 .01063271 -.0383335 .14999444 -1.789283 -.4959911 -.3009833 1.3496919 2.3286906 -.2628732 -.6460291 -1.836927 -1.453287 -.4748596 1.1242100 .72136130 .43897264 ************************************************************************ /Mg.ano.Widmark.17s12p5d4f.7s7p5d4f. P.-O. Widmark, B. J. Persson, and B. O. Roos Theor. Chim. Acta 79, 419 (1991) ************************************************************************ * Mg Magnesium atom * * Basic primitive: 16s,11p - SCF optimized * * 4d,3f - SDCI optimized * * Augmented: 1s with exponent 0.40x lowest exponent * * 1p with exponent 0.40x lowest exponent * * 1d with exponent 0.40x lowest exponent * * 1f with exponent 0.40x lowest exponent * * * * Contraction: State Field Method Weight * * Mg 0.000 SDCI 1.000 * * Mg 0.010 SDCI 1.000 * * Mg+ 0.000 SCF 1.000 * * * * Contraction range: 4s3p2d1f - 7s6p4f3d * * * ************************************************************************ a 12 * s-type ANO's (max 7 functions can be used) 17 7 169973.87 24699.066 7175.4851 2478.7920 917.73259 351.75140 137.51557 54.430286 21.722569 8.7194484 3.5147166 1.4212132 .57607650 .23395250 .09515600 .03875100 .01550040 .00007417 -.0000188 .00000379 -.0000044 .00000684 -.0000071 .00001321 .00051736 -.0001306 .00002638 -.0000308 .00004631 -.0000421 .00007728 .00177276 -.0004501 .00009109 -.0001046 .00016849 -.0001922 .00036299 .00623864 -.0015794 .00031906 -.0003749 .00054725 -.0004400 .00079337 .01976587 -.0050907 .00103163 -.0011803 .00193137 -.0022980 .00436287 .06017463 -.0157521 .00318903 -.0037548 .00545737 -.0042807 .00776087 .16016295 -.0448403 .00913931 -.0104620 .01729461 -.0210084 .04052022 .33917581 -.1085387 .02227591 -.0263896 .03812473 -.0284298 .05182257 .40883352 -.1875980 .03965557 -.0450679 .07914147 -.1087140 .21014157 .15183413 -.0868386 .01868253 -.0255703 .01594961 .06640619 -.1568166 .00195927 .33464216 -.0800164 .10765675 -.1396824 -.0173897 -.0205122 .00418518 .59813818 -.1882757 .21164824 -.5343596 1.1451315 -2.332119 -.0018766 .23180428 -.2116262 .43129749 -.2813320 -1.776326 5.8896808 .00120338 -.0069386 .14066560 -.9682371 3.0868468 -.1236407 -7.260361 -.0006745 .00680179 .68477064 -.9734396 -3.537601 3.0022439 6.3580954 .00031460 -.0028030 .34545022 1.4680586 1.0258502 -4.229333 -4.170206 -.0000888 .00083003 .00874972 .09800990 .56587909 2.4153747 1.5689747 * p-type ANO's (max 7 functions can be used) 12 7 557.13078 135.48388 47.212958 18.000955 7.1146607 2.8630240 1.1640185 .47630470 .19573560 .08067830 .03332660 .01333060 .00079833 -.0001612 .00013230 -.0002160 .00031544 -.0003802 .00115474 .00589231 -.0011931 .00094881 -.0004842 .00072367 -.0104720 .00506245 .02583591 -.0052464 .00431193 -.0075094 .01089367 -.0108832 .04388902 .09406296 -.0193118 .01513244 -.0037304 .00243732 -.2138345 .15098997 .24134480 -.0504945 .04187188 -.0798884 .12540044 -.0110486 .34574505 .38746464 -.0829628 .06595574 .01126479 .01067632 -1.288154 .08235444 .35595067 -.0882749 .09294055 -.5605788 1.0932302 2.6093729 -1.275505 .12288168 -.0397079 .05017503 .66659154 -3.222922 -1.912959 1.8933261 .00380787 .42165449 -.7562222 1.2375291 3.6486214 .65864915 -2.330940 .00230283 .58978450 -.1812787 -2.367450 -2.391198 .46088594 2.8409030 -.0008589 .10380275 1.0389702 1.2973603 .71760597 -1.195422 -2.900123 .00027579 .00502440 .09524704 .07151495 .17597721 .94673660 1.7386742 * d-type ANO's (max 5 functions can be used) 5 5 1.0445644 .48574730 .22588410 .10504150 .04201660 .01605667 -.0428969 .20912538 -.1492952 2.0643631 .02264646 .18907793 -.9043652 2.1174840 -2.820452 .46449386 .77129122 -.2945459 -3.252542 2.2159719 .47219231 -.3211997 1.5734652 2.4351200 -1.222166 .16336646 -.7606902 -1.168275 -.9326178 .38841560 * f-type ANO's (max 4 functions can be used) 4 4 .49952380 .28386680 .16131440 .06452580 .00588707 -.3040746 1.3305087 -2.230296 -.5119605 -1.113993 -1.052751 4.2641975 -.4697872 1.1067098 -.4877023 -3.304239 -.1174511 .30597008 .97122301 1.2284762 ************************************************************************ /Al.ano.Widmark.17s12p5d4f.7s7p5d4f. P.-O. Widmark, B. J. Persson, and B. O. Roos Theor. Chim. Acta 79, 419 (1991) ************************************************************************ * Al Aluminium atom * * Basic primitive: 16s,11p - SCF optimized * * 4d,3f - SDCI optimized * * Augmented: 1s with exponent 0.40x lowest exponent * * 1p with exponent 0.40x lowest exponent * * 1d with exponent 0.40x lowest exponent * * 1f with exponent 0.40x lowest exponent * * * * Contraction: State Field Method Weight * * Al 0.000 SDCI 1.000 * * Al 0.020 SDCI 1.000 * * Al+ 0.000 SDCI 1.000 * * Al- 0.000 SDCI 1.000 * * * * Contraction range: 4s3p2d1f - 7s6p4f3d * * * ************************************************************************ a 13 * s-type ANO's (max 7 functions can be used) 17 7 208459.49 29971.598 8764.4565 3060.7073 1147.4963 445.75595 176.70642 70.943620 28.724000 11.698923 4.7853697 1.9637518 .80785940 .33299060 .13746930 .05682380 .02272950 .00007078 -.0000184 .00000432 -.0000043 .00000648 -.0000078 .00001478 .00049759 -.0001292 .00003029 -.0000305 .00004502 -.0000473 .00008690 .00167444 -.0004371 .00010265 -.0001022 .00015532 -.0002100 .00040482 .00580246 -.0015120 .00035421 -.0003589 .00052217 -.0004756 .00084713 .01811648 -.0047943 .00112743 -.0011192 .00171468 -.0024397 .00474942 .05440537 -.0146291 .00343446 -.0034867 .00506469 -.0044616 .00796079 .14492054 -.0414399 .00980341 -.0097405 .01501684 -.0217738 .04310749 .31321200 -.1011887 .02408671 -.0245903 .03577722 -.0301325 .05458496 .41334250 -.1844770 .04527494 -.0449818 .07132737 -.1175912 .24022746 .19059653 -.1227370 .03095121 -.0340410 .04282415 .04163135 -.1294530 .00707487 .27348316 -.0757518 .08910950 -.1335589 -.0325805 -.0726848 .00484032 .61530733 -.2248045 .22809994 -.4448498 1.2270504 -2.487643 -.0023301 .28146024 -.2548542 .38525013 -.5214934 -1.450690 6.2559149 .00153518 -.0050360 .20149503 -.8008886 2.9480591 -1.201880 -7.656582 -.0008688 .00796206 .68310534 -.9996260 -2.576996 4.2755051 6.5506643 .00040223 -.0035364 .30782923 1.1980110 -.1936730 -4.778359 -4.069422 -.0001112 .00100247 .02408008 .36451428 1.1061036 2.3292396 1.4181068 * p-type ANO's (max 7 functions can be used) 12 7 677.76458 164.83442 57.683424 22.108674 8.7877514 3.5570874 1.4548780 .59893630 .24763730 .10269950 .04268530 .01707410 .00079717 -.0001373 .00015515 -.0001686 .00036347 -.0004317 .00067609 .00589941 -.0010123 .00113147 -.0010857 .00162437 -.0044732 .01117454 .02586307 -.0044952 .00508163 -.0055883 .01256209 -.0139014 .02129991 .09471373 -.0165714 .01841598 -.0171321 .02439129 -.0756068 .21621748 .24484796 -.0441449 .05014804 -.0562246 .13515491 -.1483713 .19271595 .39837993 -.0724803 .08138367 -.0722489 .06998835 -.3840019 1.0292596 .35294610 -.0746550 .09799899 -.1696058 .56219989 .12941033 -3.123755 .10280005 .01880214 -.0184402 .10547020 -1.547522 1.8975640 3.6719818 .00234580 .27739515 -.6277481 1.0958721 .33806270 -3.448842 -3.129533 .00175805 .44207475 -.2459852 -.8023042 1.6903272 3.6086484 2.2713316 -.0005341 .29055057 .35129892 -.9238459 -2.215065 -2.574987 -1.307012 .00019528 .16625332 .65543563 1.1608148 1.1012016 1.0063049 .44894708 * d-type ANO's (max 5 functions can be used) 5 5 1.2673144 .50951300 .20484530 .08235630 .03294250 .01856849 -.0067653 .15132202 -.0839790 1.6220407 .11745821 .20578256 -.9059657 1.5088184 -1.732184 .50149748 .54053298 -.0459154 -2.329156 1.1698384 .37968233 -.0892098 1.2672360 1.9665618 -.6928131 .20021391 -.8711067 -.9817175 -.8938278 .27084658 * f-type ANO's (max 4 functions can be used) 4 4 .56231110 .27076610 .13038030 .05215210 .08418120 -.2078943 .67102451 -1.664971 .45945383 -.4049650 .44008697 2.6779839 .38017523 -.1752296 -1.416253 -1.969799 .29286740 .97536728 .84507591 .67657802 ************************************************************************ /Si.ano.Widmark.17s12p5d4f.7s7p5d4f. P.-O. Widmark, B. J. Persson, and B. O. Roos Theor. Chim. Acta 79, 419 (1991) ************************************************************************ * Si Silicon atom * * Basic primitive: 16s,11p - SCF optimized * * 4d,3f - SDCI optimized * * Augmented: 1s with exponent 0.40x lowest exponent * * 1p with exponent 0.40x lowest exponent * * 1d with exponent 0.40x lowest exponent * * 1f with exponent 0.40x lowest exponent * * * * Contraction: State Field Method Weight * * Si 0.000 SDCI 1.000 * * Si 0.050 SDCI 1.000 * * Si+ 0.000 SDCI 1.000 * * Si- 0.000 SDCI 1.000 * * * * Contraction range: 4s3p2d1f - 7s6p4f3d * * * ************************************************************************ a 14 * s-type ANO's (max 7 functions can be used) 17 7 250095.97 35803.200 10522.483 3701.7745 1399.3933 548.38895 219.36269 88.882259 36.323377 14.933463 6.1663485 2.5545565 1.0609507 .44150240 .18401680 .07679620 .03071850 .00006815 -.0000182 .00000470 -.0000049 .00000688 -.0000087 .00001467 .00048017 -.0001278 .00003305 -.0000348 .00004735 -.0000518 .00008792 .00159626 -.0004265 .00011064 -.0001149 .00016522 -.0002376 .00039439 .00547507 -.0014618 .00037778 -.0004007 .00053088 -.0004902 .00084912 .01693706 -.0045845 .00119120 -.0012329 .00179852 -.0027360 .00453107 .05041784 -.0138701 .00359228 -.0038201 .00503523 -.0044465 .00780858 .13450267 -.0391782 .01024273 -.0106138 .01559960 -.0241599 .04050608 .29476401 -.0963506 .02530364 -.0270878 .03568620 -.0301527 .05497664 .41279726 -.1817620 .04932521 -.0512202 .07863781 -.1375365 .23649293 .21885760 -.1452339 .04049616 -.0466301 .04948931 .04506541 -.0821614 .01352631 .22989807 -.0698564 .09190140 -.1113745 -.0723206 -.1205061 .00478761 .62379847 -.2541120 .26901327 -.5522929 1.4944138 -2.468314 -.0023509 .31543582 -.2861133 .46077703 -.3884090 -2.002250 6.3336494 .00157700 -.0027626 .24639415 -1.056201 2.9534782 -.5249362 -7.994300 -.0009118 .00903722 .68019181 -.7847112 -2.855602 3.7709274 7.0780701 .00041644 -.0039062 .28966706 1.2042630 .09215286 -4.557477 -4.503277 -.0001140 .00111144 .02414823 .29679859 1.0348260 2.2867174 1.5858588 * p-type ANO's (max 7 functions can be used) 12 7 843.53382 204.90726 72.248787 27.961365 11.232282 4.5969373 1.9014833 .79178280 .33116620 .13894230 .05842570 .02337030 .00074369 -.0001574 .00016602 -.0001925 .00040030 -.0004588 .00054652 .00552015 -.0011656 .00119789 -.0011519 .00205111 -.0050227 .01099526 .02411287 -.0051529 .00545750 -.0064766 .01387012 -.0147947 .01648918 .08883573 -.0191723 .01962832 -.0182754 .03298719 -.0887910 .21017498 .23494251 -.0523132 .05586579 -.0680060 .15230781 -.1634705 .16654499 .39732250 -.0900087 .09197956 -.0775832 .11866287 -.4518247 1.0514606 .36181185 -.0925012 .11503921 -.2143299 .47363973 .42946735 -3.239206 .10524773 .03870909 -.0648366 .25572048 -1.683025 1.4690290 4.0273888 .00256555 .34152769 -.6831822 1.0777334 .83716261 -3.212659 -3.587683 .00177329 .46110561 -.1636095 -1.244684 1.1989226 3.6561945 2.6688872 -.0004541 .25855921 .61750164 -.3835503 -2.073387 -2.772948 -1.560621 .00017881 .07566560 .44097775 1.0225198 1.1887014 1.1551406 .54672573 * d-type ANO's (max 5 functions can be used) 5 5 2.0105333 .79109810 .31127870 .12248090 .04899240 .02221051 -.0019527 .13166768 -.2495003 1.5607617 .10356980 .15356092 -.6615053 1.7259992 -1.467025 .50813164 .48959332 -.4591092 -2.278691 .86476809 .35117535 .11387560 1.5443036 1.7296273 -.4826158 .25071127 -.9848990 -.9994450 -.7284053 .18271776 * f-type ANO's (max 4 functions can be used) 4 4 .71849250 .34744460 .16801530 .06720610 .11009981 -.1796744 .65203766 -1.688814 .46295659 -.2337503 .54564006 2.7092035 .32345259 -.4726389 -1.440904 -1.936141 .34355047 1.1086961 .69765331 .61795755 ************************************************************************ /P.ano.Widmark.17s12p5d4f.7s7p5d4f. P.-O. Widmark, B. J. Persson, and B. O. Roos Theor. Chim. Acta 79, 419 (1991) ************************************************************************ * P Phosphorus atom * * Basic primitive: 16s,11p - SCF optimized * * 4d,3f - SDCI optimized * * Augmented: 1s with exponent 0.40x lowest exponent * * 1p with exponent 0.40x lowest exponent * * 1d with exponent 0.40x lowest exponent * * 1f with exponent 0.40x lowest exponent * * * * Contraction: State Field Method Weight * * P 0.000 SCF 1.000 * * P 0.050 SCF 1.000 * * P+ 0.000 SCF 1.000 * * P- 0.000 SCF 1.000 * * * * Contraction range: 4s3p2d1f - 7s6p4f3d * * * ************************************************************************ a 15 * s-type ANO's (max 7 functions can be used) 17 7 296647.55 42380.030 12503.856 4422.4937 1681.8478 663.21490 267.00585 108.89592 44.797314 18.540312 7.7070995 3.2143750 1.3440127 .56308700 .23628700 .09928110 .03971240 .00006562 -.0000178 .00000495 -.0000038 .00000594 -.0000086 .00001571 .00046254 -.0001256 .00003483 -.0000268 .00004144 -.0000549 .00009079 .00152412 -.0004153 .00011560 -.0000866 .00013959 -.0002171 .00043093 .00518926 -.0014140 .00039175 -.0003050 .00046280 -.0005606 .00081581 .01595159 -.0044003 .00122727 -.0009131 .00148861 -.0024058 .00494091 .04720087 -.0132373 .00367506 -.0028728 .00434089 -.0051418 .00724838 .12619981 -.0373384 .01047976 -.0077988 .01277688 -.0209076 .04374242 .27982529 -.0924440 .02602575 -.0204930 .03096216 -.0361719 .05082520 .41030382 -.1790816 .05218594 -.0386560 .06543104 -.1161313 .26661993 .24188220 -.1617487 .04842224 -.0419740 .05707014 -.0231251 -.0954873 .02071709 .19399810 -.0627070 .06559604 -.0938614 .01864200 .00792644 .00443622 .62785121 -.2764821 .19549449 -.4100551 1.1215665 -2.949823 -.0021687 .34320722 -.3113284 .38636227 -.4860791 -.6323257 6.9392677 .00148760 -.0001020 .27584791 -.7534886 1.9504142 -2.927567 -8.194017 -.0008772 .00993085 .67745539 -.5481435 -.2930915 5.8115095 6.6263967 .00039698 -.0041808 .28560830 .26985002 -2.307549 -5.021163 -3.715712 -.0001079 .00119275 .01675006 .97010724 1.7784766 1.9270723 1.1180021 * p-type ANO's (max 7 functions can be used) 12 7 1018.4122 247.39820 87.790482 34.248600 13.877014 5.7303098 2.3920068 1.0052767 .42439290 .17973060 .07629100 .03051640 .00071159 -.0001688 .00015264 -.0002211 .00040331 -.0004377 .00049642 .00528387 -.0012501 .00110387 -.0013789 .00219003 -.0050081 .01104275 .02297828 -.0055096 .00500340 -.0074167 .01392847 -.0139403 .01437552 .08494327 -.0205722 .01814153 -.0223634 .03590870 -.0890233 .21042100 .22803285 -.0571783 .05241729 -.0794469 .15612489 -.1605980 .16311122 .39658377 -.1015364 .08911554 -.1018315 .14452546 -.4724864 1.0726975 .36766734 -.1048700 .10677427 -.2204586 .41344622 .48623525 -3.331609 .10640781 .05753445 -.0721144 .35066535 -1.650833 1.4289213 4.2171318 .00281028 .37524649 -.6090964 .97783112 .86123612 -3.298810 -3.785817 .00165268 .45668244 -.1615733 -1.121899 1.2175016 3.7980695 2.7962661 -.0004011 .22572156 .54191860 -.5059141 -2.115779 -2.824784 -1.599859 .00016315 .06188888 .53980064 1.0263412 1.1923436 1.1298443 .54222008 * d-type ANO's (max 5 functions can be used) 5 5 2.7201853 1.0722222 .42264050 .16659330 .06663730 .02567866 -.0128164 .14954306 -.2871423 1.5561854 .12037513 .17873934 -.6658643 1.7664693 -1.426602 .55955359 .50423470 -.4006121 -2.302511 .82004962 .37100935 -.1177002 1.5341916 1.7474107 -.4636283 .12126366 -.8885982 -1.095009 -.7505496 .17934384 * f-type ANO's (max 4 functions can be used) 4 4 .89440190 .44087230 .21731660 .08692660 .17144038 -.3758042 .76409816 -1.674839 .50049572 -.3949707 .06209552 2.8828871 .37145759 .26674267 -1.237219 -2.204083 .13902900 .76247795 1.0123005 .78879686 ************************************************************************ /S.ano.Widmark.17s12p5d4f.7s7p5d4f. P.-O. Widmark, B. J. Persson, and B. O. Roos Theor. Chim. Acta 79, 419 (1991) ************************************************************************ * S Sulfur atom * * Basic primitive: 16s,11p - SCF optimized * * 4d,3f - SDCI optimized * * Augmented: 1s with exponent 0.40x lowest exponent * * 1p with exponent 0.40x lowest exponent * * 1d with exponent 0.40x lowest exponent * * 1f with exponent 0.40x lowest exponent * * * * Contraction: State Field Method Weight * * S 0.000 SCF 1.000 * * S 0.050 SCF 1.000 * * S+ 0.000 SCF 1.000 * * S- 0.000 SCF 1.000 * * * * Contraction range: 4s3p2d1f - 7s6p4f3d * * * ************************************************************************ a 16 * s-type ANO's (max 7 functions can be used) 17 7 346348.23 49391.146 14610.990 5187.2095 1980.9676 784.63139 317.32779 130.01976 53.738208 22.345896 9.3332512 3.9111868 1.6432066 .69174560 .29167360 .12314410 .04925760 .00006370 -.0000176 .00000516 -.0000038 .00000585 -.0000091 .00001567 .00044935 -.0001241 .00003629 -.0000273 .00004096 -.0000571 .00009351 .00147142 -.0004076 .00011970 -.0000876 .00013668 -.0002330 .00041879 .00498429 -.0013820 .00040336 -.0003073 .00045296 -.0005625 .00086323 .01525241 -.0042763 .00125841 -.0009151 .00144216 -.0025776 .00472419 .04494424 -.0128162 .00374805 -.0028671 .00420970 -.0050685 .00767113 .12035338 -.0361097 .01069509 -.0077799 .01231522 -.0223147 .04154294 .26908335 -.0898726 .02665475 -.0205390 .03016574 -.0357024 .05501805 .40722490 -.1772888 .05454724 -.0395676 .06449660 -.1280024 .25682345 .25831856 -.1731201 .05462756 -.0460048 .06268013 -.0214589 -.0404978 .02714669 .16887115 -.0569242 .06098330 -.0876168 -.0189056 -.0715154 .00400872 .63115534 -.2965855 .20575809 -.3943469 1.2906060 -2.897299 -.0019271 .36103178 -.3293273 .40570893 -.5518069 -.8855693 6.9650422 .00134644 .00184135 .30470795 -.8189929 1.9999361 -2.714876 -8.363035 -.0008115 .01069710 .67383630 -.4447134 -.2782984 5.6893871 6.8878417 .00036382 -.0043230 .27748421 .18735812 -2.352825 -4.928902 -3.917652 -.0000987 .00124248 .01304772 1.0072258 1.7923271 1.8665411 1.1859567 * p-type ANO's (max 7 functions can be used) 12 7 1129.1269 274.03515 97.402584 38.085518 15.471033 6.4056590 2.6812828 1.1300050 .47839950 .20318050 .08649230 .03459690 .00077145 -.0001970 .00018333 -.0002800 .00043230 -.0004091 .00057233 .00572945 -.0014624 .00130515 -.0017259 .00288638 -.0061134 .01014019 .02477182 -.0064004 .00600239 -.0094008 .01459323 -.0121902 .01747887 .09109122 -.0238763 .02129088 -.0279784 .04821802 -.1093380 .19345732 .24064577 -.0653201 .06221627 -.1006796 .16282315 -.1401787 .19565545 .40976882 -.1147693 .09978781 -.1176716 .20594756 -.5829290 .89486819 .35226804 -.1065702 .11944864 -.2566543 .24014052 1.0378398 -3.144117 .08382797 .11048130 -.1595989 .68243796 -1.826697 .43994605 4.2924667 .00271787 .41795827 -.6701145 .66515564 1.8021455 -2.443449 -4.156739 .00078655 .42517813 .01331064 -1.445138 .02939534 3.4947292 3.3172091 .00011535 .19228231 .64871747 .12745221 -1.469665 -2.985550 -2.046750 .00003404 .04207771 .37095119 .77294449 1.1261511 1.3363311 .74630740 * d-type ANO's (max 5 functions can be used) 5 5 3.0053679 1.2172976 .49305560 .19970780 .07988310 .03293922 -.0319187 .15012046 -.1798164 1.6305475 .16386221 .29392107 -.8238332 1.6521729 -1.685729 .58677406 .46210890 -.0496411 -2.428826 1.0689462 .31916052 -.3236054 1.3217693 1.9779612 -.6113678 .08508563 -.7556117 -1.118038 -.8770788 .22739086 * f-type ANO's (max 4 functions can be used) 4 4 1.1000988 .52721330 .25266270 .10106510 .20845644 -.5944200 .91250849 -1.410701 .55071337 -.3364989 -.6710704 2.5872173 .33354097 .71034940 -.5285472 -2.250817 .06724721 .35946202 1.0091990 1.0243606 ************************************************************************ /Cl.ano.Widmark.17s12p5d4f.7s7p5d4f. P.-O. Widmark, B. J. Persson, and B. O. Roos Theor. Chim. Acta 79, 419 (1991) ************************************************************************ * Cl Clorine atom * * Basic primitive: 16s,11p - SCF optimized * * 4d,3f - SDCI optimized * * Augmented: 1s with exponent 0.40x lowest exponent * * 1p with exponent 0.40x lowest exponent * * 1d with exponent 0.40x lowest exponent * * 1f with exponent 0.40x lowest exponent * * * * Contraction: State Field Method Weight * * Cl 0.000 SDCI 1.000 * * Cl 0.050 SDCI 1.000 * * Cl+ 0.000 SDCI 1.000 * * Cl- 0.000 SDCI 1.000 * * * * Contraction range: 4s3p2d1f - 7s6p4f3d * * * ************************************************************************ a 17 * s-type ANO's (max 7 functions can be used) 17 7 399432.47 56908.833 16874.769 6010.0278 2303.2830 915.65994 371.72009 152.89109 63.436303 26.481723 11.104112 4.6716289 1.9704520 .83279460 .35254090 .14943410 .05977360 .00006215 -.0000174 .00000531 -.0000047 .00000595 -.0000092 .00001551 .00043838 -.0001229 .00003739 -.0000337 .00004122 -.0000559 .00009533 .00142781 -.0004013 .00012271 -.0001083 .00013955 -.0002433 .00040362 .00481620 -.0013556 .00041159 -.0003741 .00044686 -.0005185 .00090407 .01468157 -.0041744 .00127960 -.0011233 .00146844 -.0027098 .00447787 .04311398 -.0124726 .00379416 -.0034609 .00411004 -.0045562 .00805528 .11558388 -.0351047 .01083171 -.0095186 .01251189 -.0234201 .03915746 .26016348 -.0877502 .02707379 -.0248663 .02954625 -.0319448 .05872894 .40382380 -.1756425 .05631797 -.0496454 .06763368 -.1391522 .24500845 .27179877 -.1820699 .05980454 -.0590132 .06396442 -.0053262 .01008609 .03338125 .14753370 -.0511335 .06729192 -.0762294 -.0811467 -.1510727 .00356211 .63295111 -.3126721 .26850578 -.4455588 1.4957995 -2.806411 -.0016560 .37614178 -.3437438 .51536265 -.5319150 -1.371860 6.9280066 .00117962 .00380802 .32577967 -1.116105 2.3892293 -2.020187 -8.506770 -.0007311 .01133746 .66892575 -.5291452 -1.299264 5.2474142 7.2157722 .00032425 -.0044445 .27170146 .76655700 -1.504787 -4.985134 -4.249805 -.0000879 .00129047 .01386816 .59696595 1.6573777 2.0610818 1.3380072 * p-type ANO's (max 7 functions can be used) 12 7 1288.9716 312.24430 111.34634 43.736087 17.856524 7.4327659 3.1282538 1.3257214 .56441910 .24107410 .10320890 .04128360 .00078181 -.0002107 .00020575 -.0003172 .00045514 -.0003784 .00059932 .00581729 -.0015704 .00146090 -.0019462 .00362539 -.0069306 .00926810 .02503057 -.0068304 .00673436 -.0106718 .01501985 -.0105414 .01878480 .09188004 -.0255201 .02376316 -.0315749 .06149816 -.1255272 .17836417 .24258072 -.0697489 .07010553 -.1157486 .16963861 -.1251477 .21862785 .41394424 -.1238756 .11161894 -.1290865 .28532032 -.6700512 .75606057 .34789086 -.1085162 .12978530 -.2764933 .03758123 1.4960326 -2.954154 .07717314 .13894281 -.2335413 .89183689 -1.854784 -.4868674 4.2819154 .00312835 .42954359 -.6718963 .41342424 2.4337684 -1.469269 -4.414647 .00050049 .40829131 .10952051 -1.538377 -.9402668 2.9379877 3.7696830 .00034786 .18156256 .66424757 .46781029 -.7732962 -2.927422 -2.487804 -.0000238 .03396053 .30179468 .59904463 .92109142 1.4598129 .96877907 * d-type ANO's (max 5 functions can be used) 5 5 3.6204561 1.4775717 .60302300 .24610430 .09844170 .03682298 -.0484380 .16746529 -.1146750 1.6517920 .17638808 .39297464 -.9448960 1.5342644 -1.776319 .59139283 .47951806 .27892621 -2.416469 1.1778191 .30996037 -.5621245 1.0481966 2.0936718 -.6987117 .06672018 -.5625776 -1.127109 -1.000086 .26925521 * f-type ANO's (max 4 functions can be used) 4 4 1.3568964 .66136460 .32235560 .12894220 .22438063 -.6873623 1.2894102 -1.109435 .56956395 -.2610440 -1.578934 2.3115879 .30148671 .82343588 .36185604 -2.330253 .04940109 .21671325 .64784529 1.3265030 ************************************************************************ /Ar.ano.Widmark.17s12p5d4f.7s7p5d4f. P.-O. Widmark, B. J. Persson, and B. O. Roos Theor. Chim. Acta 79, 419 (1991) ************************************************************************ * Ar Argon atomm * * Basic primitive: 16s,11p - SCF optimized * * 4d,3f - SDCI optimized * * Augmented: 1s with exponent 0.40x lowest exponent * * 1p with exponent 0.40x lowest exponent * * 1d with exponent 0.40x lowest exponent * * 1f with exponent 0.40x lowest exponent * * * * Contraction: State Field Method Weight * * Ar 0.000 SDCI 1.000 * * Ar 0.050 SDCI 1.000 * * * * Contraction range: 4s3p2d1f - 7s6p4f3d * * * ************************************************************************ a 18 * s-type ANO's (max 7 functions can be used) 17 7 455476.77 64817.743 19256.987 6877.0073 2643.4877 1054.2375 429.37122 177.18859 73.763945 30.897007 12.999482 5.4876793 2.3225716 .98498070 .41839730 .17795940 .07118380 .00006096 -.0000173 .00000544 -.0000053 .00000579 -.0000101 .00001574 .00043020 -.0001222 .00003829 -.0000375 .00003978 -.0000588 .00010504 .00139466 -.0003969 .00012513 -.0001202 .00013641 -.0002726 .00038069 .00468779 -.0013367 .00041795 -.0004134 .00042380 -.0005108 .00108896 .01424066 -.0040986 .00129572 -.0012382 .00143205 -.0030570 .00405999 .04169365 -.0122134 .00382578 -.0037976 .00386068 -.0043637 .00992588 .11183053 -.0343322 .01092652 -.0104554 .01216691 -.0263712 .03532764 .25298878 -.0861007 .02735689 -.0273526 .02778303 -.0303692 .07413651 .40044790 -.1742768 .05765806 -.0554677 .06724781 -.1609503 .22171966 .28245090 -.1890266 .06394978 -.0686523 .06200867 .01248080 .11793481 .03906305 .13009718 -.0457282 .07055596 -.0604152 -.1543186 -.4561530 .00314565 .63399171 -.3257725 .30115546 -.4638701 1.8359115 -2.314708 -.0013916 .38815020 -.3533104 .61789886 -.4931132 -2.053034 6.4902280 .00101034 .00573222 .33817566 -1.433774 2.4139497 -1.208328 -8.429608 -.0006485 .01193554 .66223091 -.2709471 -1.535975 4.6352125 7.5075092 .00028402 -.0044941 .27636906 .77596409 -1.277294 -4.696117 -4.596645 -.0000771 .00131952 .00949692 .50334371 1.6378895 1.9882945 1.4824485 * p-type ANO's (max 7 functions can be used) 12 7 1462.4962 354.06731 126.69779 49.989095 20.509295 8.5804641 3.6301049 1.5465280 .66193690 .28424280 .12234630 .04893850 .00078756 -.0002212 .00029752 -.0004543 .00038932 -.0004187 .00063114 .00586048 -.0016514 .00201545 -.0031815 .00580901 -.0083769 .00563077 .02510137 -.0071399 .00979652 -.0151158 .01133247 -.0115185 .02205071 .09200774 -.0267171 .03265686 -.0527992 .10360929 -.1567219 .11358456 .24317197 -.0730722 .10366041 -.1702720 .13463887 -.1416172 .26047038 .41674542 -.1313295 .14799999 -.2312750 .54075660 -.7732953 .29282594 .34542045 -.1096421 .20744830 -.2035281 -.9562551 2.4202978 -1.970211 .07305360 .16048636 -.5079685 1.7452925 -.5069180 -2.743139 3.4193355 .00294397 .43595556 -.8042402 -1.396303 2.3278004 1.6616695 -4.207919 -.0002394 .40458441 .69669502 -.4727185 -2.632171 .06039893 4.3423486 .00028995 .17125106 .46331690 .89125570 1.0925195 -1.405839 -3.460606 -.0000934 .01351308 .04908714 .06889766 .35266723 1.2633622 1.6234043 * d-type ANO's (max 5 functions can be used) 5 5 4.3288417 1.7742302 .72719060 .29804820 .11921930 .04003444 -.0575340 .16735357 -.0845008 1.6633915 .18334334 .42320227 -.9667404 1.4950519 -1.826726 .59072873 .45075094 .33376377 -2.418135 1.2404958 .30437283 -.5696319 1.0041472 2.1173288 -.7463942 .06258812 -.5510258 -1.119444 -1.014984 .28569442 * f-type ANO's (max 4 functions can be used) 4 4 1.6311740 .82032880 .41254910 .16501960 .23597497 -.7659268 1.4738938 -1.014026 .57618801 -.1737742 -2.048792 2.2687760 .27800823 .84810472 .80520996 -2.383479 .04019225 .16638315 .46484375 1.4275116 ************************************************************************ ergo-3.5/basis/NQvD0000775000175000017500000017515312743400275011117 00000000000000$Basis = NqVD $ $ REFERENCE $ K.~Faegri, Technical Report, Department of Chemistry, $ University of Oslo, 1994. $ a 1 2 0.201529638D+00 0.821230D+00 0.133249963D+01 0.274403D+00 a 1 3 0.151376392D+00 0.647676D+00 0.681289259D+00 0.407885D+00 0.450036251D+01 0.704756D-01 a 1 4 0.121949668D+00 -0.501107D+00 0.444538199D+00 -0.478319D+00 0.196225853D+01 -0.137965D+00 0.130107118D+02 -0.196822D-01 a 1 5 0.103072419D+00 -0.385457D+00 0.327230425D+00 -0.503041D+00 0.116466271D+01 -0.201897D+00 0.512357525D+01 -0.450211D-01 0.340613445D+02 -0.602520D-02 a 1 6 0.900589387D-01 -0.297387D+00 0.259020928D+00 -0.497724D+00 0.801968251D+00 -0.255927D+00 0.284277215D+01 -0.750662D-01 0.125102024D+02 -0.152069D-01 0.834248045D+02 -0.198374D-02 a 1 7 0.799257907D-01 -0.226735D+00 0.212382661D+00 -0.473072D+00 0.592527486D+00 -0.300705D+00 0.181866375D+01 -0.108960D+00 0.642137909D+01 -0.284207D-01 0.282322958D+02 -0.556376D-02 0.188804781D+03 -0.718089D-03 a 1 8 0.717117438D-01 0.170613D+00 0.178561560D+00 0.436009D+00 0.459602093D+00 0.334738D+00 0.127235312D+01 0.144436D+00 0.389932041D+01 0.451978D-01 0.137769008D+02 0.111808D-01 0.604942229D+02 0.215089D-02 0.400975276D+03 0.279289D-03 a 1 9 0.658223831D-01 -0.131822D+00 0.155175796D+00 -0.392219D+00 0.371859478D+00 -0.351833D+00 0.939085534D+00 -0.177806D+00 0.256206661D+01 -0.657295D-01 0.779302524D+01 -0.196039D-01 0.276633701D+02 -0.476224D-02 0.123676699D+03 -0.893455D-03 0.836694131D+03 -0.112248D-03 a 1 10 0.607056806D-01 0.100419D+00 0.135914803D+00 0.343354D+00 0.305294594D+00 0.358099D+00 0.714273708D+00 0.210521D+00 0.178196874D+01 0.898925D-01 0.485020456D+01 0.310598D-01 0.148717321D+02 0.899044D-02 0.542452951D+02 0.212382D-02 0.255630484D+03 0.372317D-03 0.177633551D+04 0.439124D-04 a 2 2 0.532146954D+00 0.825590D+00 0.409776140D+01 0.283174D+00 a 2 3 0.382942516D+00 0.657218D+00 0.199894316D+01 0.409187D+00 0.136230977D+02 0.802627D-01 a 2 4 0.297578440D+00 -0.513015D+00 0.123994174D+01 -0.469981D+00 0.576890625D+01 -0.154909D+00 0.383548999D+02 -0.238143D-01 a 2 5 0.244598312D+00 -0.397509D+00 0.874135332D+00 -0.487426D+00 0.331856718D+01 -0.220743D+00 0.147643251D+02 -0.548483D-01 0.980778983D+02 -0.758026D-02 a 2 6 0.208947547D+00 -0.307847D+00 0.667069841D+00 -0.478022D+00 0.221242301D+01 -0.272006D+00 0.799111398D+01 -0.909818D-01 0.351740478D+02 -0.195239D-01 0.234063716D+03 -0.258630D-02 a 2 7 0.183373995D+00 -0.239096D+00 0.536662852D+00 -0.453136D+00 0.161048371D+01 -0.308372D+00 0.509130328D+01 -0.127651D+00 0.180736637D+02 -0.359192D-01 0.794213832D+02 -0.720167D-02 0.529191615D+03 -0.938066D-03 a 2 8 0.164441946D+00 -0.187403D+00 0.449482376D+00 -0.420776D+00 0.124834553D+01 -0.331402D+00 0.359265080D+01 -0.161098D+00 0.111308075D+02 -0.550920D-01 0.394222327D+02 -0.141073D-01 0.173612448D+03 -0.273777D-02 0.116087011D+04 -0.352737D-03 a 2 9 0.148903731D+00 -0.145825D+00 0.383750333D+00 -0.383194D+00 0.997488234D+00 -0.344693D+00 0.266199800D+01 -0.191798D+00 0.745770639D+01 -0.769753D-01 0.228597833D+02 -0.237075D-01 0.804726377D+02 -0.585054D-02 0.351919761D+03 -0.113069D-02 0.233338169D+04 -0.147079D-03 a 2 10 0.138273516D+00 -0.118464D+00 0.341256198D+00 -0.349949D+00 0.843607762D+00 -0.347884D+00 0.212573913D+01 -0.213587D+00 0.553149286D+01 -0.965382D-01 0.153166910D+02 -0.341545D-01 0.467012634D+02 -0.995668D-02 0.163942641D+03 -0.242141D-02 0.719530946D+03 -0.465967D-03 0.485105755D+04 -0.594387D-04 a 3 4 0.477366840D-01 -0.285400D-01 0.105156239D+01 -0.658507D+00 0.517765495D+01 -0.397268D+00 0.348677162D+02 -0.738070D-01 a 3 5 0.476421604D-01 0.161200D-01 0.836351751D+00 0.522210D+00 0.330263476D+01 0.460241D+00 0.150548166D+02 0.142226D+00 0.999620246D+02 0.211813D-01 a 3 6 0.477946367D-01 0.100079D-01 0.705582745D+00 0.416056D+00 0.240573853D+01 0.480217D+00 0.890268180D+01 0.202353D+00 0.394022120D+02 0.478584D-01 0.261831794D+03 0.651617D-02 a 3 7 0.301298301D-01 0.105002D-01 0.749638071D-01 -0.249884D-01 0.731749156D+00 -0.425502D+00 0.248149047D+01 -0.472448D+00 0.916205571D+01 -0.196615D+00 0.405283542D+02 -0.462962D-01 0.269326244D+03 -0.629100D-02 a 3 8 0.281255523D-01 0.550348D-02 0.724996492D-01 -0.147228D-01 0.632637426D+00 -0.340352D+00 0.192900577D+01 -0.471689D+00 0.621029399D+01 -0.246039D+00 0.222187846D+02 -0.769738D-01 0.977078826D+02 -0.160460D-01 0.650451930D+03 -0.211070D-02 a 3 9 0.280410332D-01 0.319556D-02 0.734083866D-01 -0.978915D-02 0.565488009D+00 -0.276543D+00 0.159000320D+01 -0.454538D+00 0.463027208D+01 -0.281654D+00 0.144516771D+02 -0.107847D+00 0.511790623D+02 -0.290919D-01 0.224882748D+03 -0.575255D-02 0.149884989D+04 -0.746882D-03 a 3 10 0.284495781D-01 -0.765004D-03 0.757647598D-01 0.396891D-02 0.446275821D+00 0.160530D+00 0.108346840D+01 0.384553D+00 0.270904274D+01 0.341182D+00 0.721790308D+01 0.181790D+00 0.210189697D+02 0.681295D-01 0.702998905D+02 0.190541D-01 0.292976537D+03 0.401499D-02 0.185945662D+04 0.560925D-03 a 3 11 0.281913946D-01 -0.226901D-03 0.751941847D-01 -0.829189D-03 0.317450770D+00 -0.598147D-01 0.720147690D+00 -0.290702D+00 0.171416630D+01 -0.385186D+00 0.432764466D+01 -0.257446D+00 0.116283180D+02 -0.116584D+00 0.342151417D+02 -0.394132D-01 0.115617258D+03 -0.104631D-01 0.485732730D+03 -0.215105D-02 0.310163793D+04 -0.296884D-03 a 3 12 0.234686380D-01 -0.681759D-03 0.541652478D-01 0.183157D-02 0.112594686D+00 -0.623959D-02 0.454883440D+00 -0.162281D+00 0.108401982D+01 -0.376582D+00 0.264248213D+01 -0.333326D+00 0.674801245D+01 -0.182880D+00 0.183854152D+02 -0.731941D-01 0.553370561D+02 -0.228193D-01 0.192690139D+03 -0.571939D-02 0.840590097D+03 -0.111479D-02 0.561461421D+04 -0.144002D-03 a 3 13 0.222581418D-01 0.702183D-04 0.503325503D-01 0.663436D-03 0.111924595D+00 0.686873D-03 0.353513750D+00 0.841901D-01 0.798438506D+00 0.306703D+00 0.183586165D+01 0.360034D+00 0.441158573D+01 0.239551D+00 0.111726155D+02 0.113640D+00 0.305081078D+02 0.416186D-01 0.928185052D+02 0.123463D-01 0.329220796D+03 0.299556D-02 0.147981754D+04 0.563259D-03 0.103666378D+05 0.683094D-04 a 4 2 0.100125157D+00 -0.125999D+00 0.386936991D+01 -0.970149D+00 a 4 3 0.102973497D+00 0.551437D-01 0.274119535D+01 0.817789D+00 0.194428251D+02 0.268056D+00 a 4 4 0.103864431D+00 -0.295514D-01 0.205031786D+01 -0.662049D+00 0.984863142D+01 -0.391319D+00 0.659910054D+02 -0.709005D-01 a 4 5 0.104441437D+00 0.176772D-01 0.166119842D+01 0.532194D+00 0.641049550D+01 0.452054D+00 0.289504516D+02 0.135440D+00 0.192128907D+03 0.198410D-01 a 4 6 0.660084015D-01 -0.175043D-01 0.193471983D+00 0.460921D-01 0.174738850D+01 0.540653D+00 0.671359713D+01 0.438146D+00 0.302706416D+02 0.128781D+00 0.200901022D+03 0.187904D-01 a 4 7 0.599298211D-01 -0.945584D-02 0.180051428D+00 0.267299D-01 0.146723659D+01 0.437697D+00 0.488140988D+01 0.466035D+00 0.178379524D+02 0.186850D+00 0.787627312D+02 0.429516D-01 0.523524505D+03 0.580009D-02 a 4 8 0.590861068D-01 -0.572619D-02 0.180319964D+00 0.177372D-01 0.128860211D+01 0.358168D+00 0.386046298D+01 0.466451D+00 0.122805261D+02 0.233423D+00 0.437774410D+02 0.707450D-01 0.192451857D+03 0.145811D-01 0.128139547D+04 0.191151D-02 a 4 9 0.588929680D-01 0.374300D-02 0.181085122D+00 -0.125555D-01 0.115889213D+01 -0.295161D+00 0.319754891D+01 -0.451692D+00 0.917849494D+01 -0.269617D+00 0.284773961D+02 -0.998683D-01 0.100728219D+03 -0.265459D-01 0.442543193D+03 -0.521910D-02 0.294983180D+04 -0.677202D-03 a 4 10 0.512781440D-01 -0.214925D-02 0.143730635D+00 0.952158D-02 0.346078333D+00 -0.336084D-01 0.132457156D+01 -0.336578D+00 0.362224768D+01 -0.436327D+00 0.103701665D+02 -0.243365D+00 0.321311926D+02 -0.875918D-01 0.113628065D+03 -0.229407D-01 0.499162569D+03 -0.449664D-02 0.332697949D+04 -0.582670D-03 a 4 11 0.433952907D-01 -0.175356D-02 0.107674483D+00 0.661427D-02 0.254257561D+00 -0.167148D-01 0.110682041D+01 -0.256070D+00 0.282599869D+01 -0.423866D+00 0.741120768D+01 -0.287706D+00 0.205449562D+02 -0.125332D+00 0.621856904D+02 -0.405904D-01 0.215719034D+03 -0.103462D-01 0.928518446D+03 -0.205202D-02 0.605800093D+04 -0.273666D-03 a 4 12 0.419390895D-01 -0.904733D-03 0.103110577D+00 0.343236D-02 0.250780234D+00 -0.102856D-01 0.975505230D+00 -0.194467D+00 0.231180650D+01 -0.387276D+00 0.557247239D+01 -0.315355D+00 0.140495874D+02 -0.163522D+00 0.377768345D+02 -0.636288D-01 0.111796668D+03 -0.198122D-01 0.380253020D+03 -0.506918D-02 0.160705674D+04 -0.102453D-02 0.103179290D+05 -0.139989D-03 a 4 13 0.404426487D-01 -0.169197D-05 0.981456071D-01 -0.745023D-04 0.243233439D+00 0.165160D-02 0.723309920D+00 0.934115D-01 0.162565008D+01 0.323040D+00 0.376090539D+01 0.363607D+00 0.913588231D+01 0.227033D+00 0.234610216D+02 0.101095D+00 0.650395698D+02 0.352318D-01 0.200614331D+03 0.101156D-01 0.719090608D+03 0.240119D-02 0.324942325D+04 0.445696D-03 0.226925302D+05 0.540676D-04 a 5 4 2 0.190054685D+00 -0.329850D-01 0.166944075D+00 0.808688D+00 0.338022888D+01 -0.663273D+00 0.917744926D+00 0.330681D+00 0.160067379D+02 -0.387597D+00 0.106927184D+03 -0.692653D-01 a 5 5 2 0.190437565D+00 0.202719D-01 0.168201102D+00 0.808560D+00 0.274606685D+01 0.534244D+00 0.924330386D+00 0.330806D+00 0.104477930D+02 0.449139D+00 0.469072390D+02 0.132941D+00 0.311169409D+03 0.193162D-01 a 5 5 3 0.189700265D+00 0.202825D-01 0.124327666D+00 0.632636D+00 0.274102168D+01 0.533932D+00 0.518834942D+00 0.455202D+00 0.104335547D+02 0.449387D+00 0.257788994D+01 0.106360D+00 0.468449476D+02 0.133095D+00 0.310757208D+03 0.193420D-01 a 5 6 3 0.117754590D+00 0.172006D-01 0.123351854D+00 0.632836D+00 0.362200072D+00 -0.510737D-01 0.518309073D+00 0.456282D+00 0.291536138D+01 -0.544915D+00 0.257619144D+01 0.105868D+00 0.110675437D+02 -0.432103D+00 0.496573239D+02 -0.124574D+00 0.329523396D+03 -0.180106D-01 a 5 7 3 0.107825472D+00 0.947958D-02 0.123181056D+00 0.631685D+00 0.338211477D+00 -0.307854D-01 0.517782968D+00 0.457433D+00 0.245148049D+01 -0.443472D+00 0.257481105D+01 0.106141D+00 0.806858346D+01 -0.461700D+00 0.292996807D+02 -0.181741D+00 0.129236043D+03 -0.412352D-01 0.859102189D+03 -0.555070D-02 a 5 8 3 0.105811427D+00 -0.569049D-02 0.123155643D+00 0.631365D+00 0.336086579D+00 0.207858D-01 0.517692054D+00 0.457740D+00 0.214699405D+01 0.362589D+00 0.257468545D+01 0.106217D+00 0.636156606D+01 0.464162D+00 0.200854334D+02 0.229349D+00 0.714520412D+02 0.685532D-01 0.314046286D+03 0.140624D-01 0.209111704D+04 0.184068D-02 a 5 7 4 0.107398949D+00 0.948528D-02 0.953769785D-01 -0.479657D+00 0.336896124D+00 -0.307345D-01 0.336124448D+00 -0.504861D+00 0.245006402D+01 -0.443382D+00 0.123930644D+01 -0.198193D+00 0.806488267D+01 -0.461785D+00 0.599647961D+01 -0.355067D-01 0.292878735D+02 -0.181803D+00 0.129184215D+03 -0.412521D-01 0.858756651D+03 -0.555310D-02 a 5 8 4 0.105356394D+00 -0.570554D-02 0.953766268D-01 -0.479541D+00 0.334675122D+00 0.207708D-01 0.336284054D+00 -0.505027D+00 0.214617045D+01 0.362590D+00 0.123982358D+01 -0.198183D+00 0.636003390D+01 0.464172D+00 0.599703302D+01 -0.355188D-01 0.200810254D+02 0.229371D+00 0.714348462D+02 0.685662D-01 0.313968896D+03 0.140658D-01 0.209059836D+04 0.184112D-02 a 5 9 4 0.104347080D+00 0.353278D-02 0.953783914D-01 -0.479522D+00 0.333071092D+00 -0.144815D-01 0.336377827D+00 -0.505123D+00 0.190709433D+01 -0.293162D+00 0.124034861D+01 -0.198137D+00 0.518292942D+01 -0.450280D+00 0.599917835D+01 -0.355054D-01 0.147257170D+02 -0.270134D+00 0.455218200D+02 -0.993167D-01 0.160894482D+03 -0.263034D-01 0.706788316D+03 -0.516246D-02 0.471118829D+04 -0.669855D-03 a 5 9 5 0.104341907D+00 0.353143D-02 0.772177522D-01 -0.354681D+00 0.333019761D+00 -0.144775D-01 0.238728507D+00 -0.502984D+00 0.190685075D+01 -0.293129D+00 0.746894506D+00 -0.277301D+00 0.518233807D+01 -0.450284D+00 0.261204033D+01 -0.799943D-01 0.147242863D+02 -0.270161D+00 0.120533648D+02 -0.131143D-01 0.455184539D+02 -0.993238D-01 0.160883245D+03 -0.263053D-01 0.706743386D+03 -0.516286D-02 0.471089232D+04 -0.669912D-03 a 5 10 5 0.854580131D-01 -0.241430D-02 0.769969766D-01 -0.353901D+00 0.238379691D+00 0.971405D-02 0.238657780D+00 -0.504331D+00 0.577194231D+00 -0.361523D-01 0.748083208D+00 -0.277099D+00 0.219768575D+01 -0.340830D+00 0.261537482D+01 -0.798163D-01 0.597675078D+01 -0.435911D+00 0.120628951D+02 -0.130986D-01 0.170254610D+02 -0.239279D+00 0.526687677D+02 -0.847345D-01 0.186258453D+03 -0.220284D-01 0.818416684D+03 -0.430629D-02 0.545638853D+04 -0.557600D-03 a 5 10 6 0.854560168D-01 -0.241650D-02 0.648220904D-01 -0.259361D+00 0.238384163D+00 0.972347D-02 0.181914916D+00 -0.472641D+00 0.577135953D+00 -0.361659D-01 0.509904356D+00 -0.331166D+00 0.219782065D+01 -0.340865D+00 0.149822308D+01 -0.131389D+00 0.597729195D+01 -0.435908D+00 0.510265442D+01 -0.328303D-01 0.170273867D+02 -0.239257D+00 0.224557223D+02 -0.502501D-02 0.526746916D+02 -0.847234D-01 0.186279120D+03 -0.220254D-01 0.818507399D+03 -0.430569D-02 0.545699377D+04 -0.557521D-03 a 5 11 6 0.769282891D-01 -0.179377D-02 0.647582518D-01 -0.259126D+00 0.200476020D+00 0.659254D-02 0.181922909D+00 -0.473182D+00 0.488066681D+00 -0.221581D-01 0.510423796D+00 -0.331144D+00 0.191389587D+01 -0.276029D+00 0.149987916D+01 -0.131190D+00 0.489944609D+01 -0.426456D+00 0.510644061D+01 -0.327937D-01 0.129238809D+02 -0.275556D+00 0.224699976D+02 -0.502011D-02 0.362102892D+02 -0.114585D+00 0.111280600D+03 -0.357317D-01 0.393094230D+03 -0.883245D-02 0.172720286D+04 -0.170118D-02 0.115224025D+05 -0.219429D-03 a 5 12 6 0.723435008D-01 -0.723092D-03 0.647119882D-01 -0.258844D+00 0.183893301D+00 0.243135D-02 0.181831953D+00 -0.473356D+00 0.460129740D+00 -0.112512D-01 0.510410044D+00 -0.331317D+00 0.158468385D+01 -0.186575D+00 0.150040107D+01 -0.131166D+00 0.368714133D+01 -0.382079D+00 0.510846148D+01 -0.327761D-01 0.877220841D+01 -0.319755D+00 0.224774436D+02 -0.501756D-02 0.219573050D+02 -0.166845D+00 0.588371767D+02 -0.649803D-01 0.173813792D+03 -0.202531D-01 0.590622975D+03 -0.518911D-02 0.249516284D+04 -0.104950D-02 0.160203363D+05 -0.143418D-03 a 5 11 7 0.769464297D-01 -0.179262D-02 0.530635229D-01 -0.165729D+00 0.200557273D+00 0.659019D-02 0.134622997D+00 -0.409136D+00 0.488247458D+00 -0.221665D-01 0.340290385D+00 -0.371717D+00 0.191402977D+01 -0.276050D+00 0.882380307D+00 -0.199545D+00 0.489974659D+01 -0.426448D+00 0.247552753D+01 -0.688960D-01 0.129246065D+02 -0.275543D+00 0.803632202D+01 -0.170961D-01 0.362124746D+02 -0.114579D+00 0.338958041D+02 -0.255566D-02 0.111287527D+03 -0.357290D-01 0.393119298D+03 -0.883169D-02 0.172731849D+04 -0.170103D-02 0.115232356D+05 -0.219409D-03 a 5 12 7 0.723509459D-01 -0.723688D-03 0.530963927D-01 -0.166124D+00 0.183935241D+00 0.243384D-02 0.134841756D+00 -0.409625D+00 0.460221823D+00 -0.112614D-01 0.340909830D+00 -0.371308D+00 0.158498834D+01 -0.186647D+00 0.883560908D+00 -0.199209D+00 0.368790474D+01 -0.382089D+00 0.247853200D+01 -0.688034D-01 0.877384270D+01 -0.319707D+00 0.804779083D+01 -0.170653D-01 0.219602212D+02 -0.166812D+00 0.339484927D+02 -0.254939D-02 0.588407130D+02 -0.649714D-01 0.173812849D+03 -0.202521D-01 0.590584497D+03 -0.518930D-02 0.249486663D+04 -0.104962D-02 0.160177049D+05 -0.143445D-03 a 5 13 7 0.680875117D-01 -0.112047D-03 0.530728617D-01 -0.166049D+00 0.168170465D+00 0.758484D-03 0.134852543D+00 -0.409870D+00 0.419844153D+00 0.541451D-03 0.341072402D+00 -0.371306D+00 0.110901513D+01 0.812428D-01 0.883897686D+00 -0.199065D+00 0.255024067D+01 0.319381D+00 0.247834782D+01 -0.687825D-01 0.592770333D+01 0.371536D+00 0.804514741D+01 -0.170718D-01 0.143902086D+02 0.231754D+00 0.339356075D+02 -0.255092D-02 0.368770231D+02 0.102395D+00 0.101817211D+03 0.356090D-01 0.311767736D+03 0.102734D-01 0.110420454D+04 0.246698D-02 0.489531706D+04 0.467394D-03 0.331992942D+05 0.589344D-04 a 5 13 8 0.680874190D-01 -0.113219D-03 0.460144344D-01 -0.112085D+00 0.168171230D+00 0.763120D-03 0.108790631D+00 -0.344892D+00 0.419838650D+00 0.525805D-03 0.254953640D+00 -0.377479D+00 0.110843392D+01 0.811642D-01 0.608268898D+00 -0.247880D+00 0.254950192D+01 0.319357D+00 0.151626256D+01 -0.108977D+00 0.592641358D+01 0.371584D+00 0.416859101D+01 -0.346173D-01 0.143877935D+02 0.231797D+00 0.131210872D+02 -0.830581D-02 0.368725376D+02 0.102412D+00 0.546226197D+02 -0.115613D-02 0.101809062D+03 0.356139D-01 0.311759034D+03 0.102742D-01 0.110424796D+04 0.246699D-02 0.489594111D+04 0.467348D-03 0.332073388D+05 0.589193D-04 a 6 4 2 0.296852278D+00 -0.350835D-01 0.278374699D+00 0.805050D+00 0.502689737D+01 -0.663428D+00 0.155225511D+01 0.337843D+00 0.235906458D+02 -0.385876D+00 0.157273333D+03 -0.684091D-01 a 6 5 2 0.296821333D+00 0.218233D-01 0.279839682D+00 0.804944D+00 0.408093837D+01 0.533686D+00 0.155992616D+01 0.337942D+00 0.153811964D+02 0.448540D+00 0.687778119D+02 0.132118D+00 0.456098514D+03 0.191090D-01 a 6 5 3 0.295280850D+00 0.218535D-01 0.201486881D+00 0.625028D+00 0.406903979D+01 0.533297D+00 0.856236835D+00 0.462744D+00 0.153494220D+02 0.448855D+00 0.419292868D+01 0.112039D+00 0.686402463D+02 0.132336D+00 0.455191051D+03 0.191455D-01 a 6 6 3 0.181741476D+00 0.168445D-01 0.199872545D+00 0.624386D+00 0.577130267D+00 -0.542548D-01 0.854181045D+00 0.464410D+00 0.436684905D+01 -0.546762D+00 0.418603017D+01 0.111805D+00 0.164572433D+02 -0.428782D+00 0.736105454D+02 -0.122233D+00 0.488438078D+03 -0.175740D-01 a 6 7 3 0.166891069D+00 0.933942D-02 0.199616768D+00 0.623432D+00 0.538414635D+00 -0.333030D-01 0.853232881D+00 0.465314D+00 0.366952742D+01 -0.445632D+00 0.418281917D+01 0.112060D+00 0.119979880D+02 -0.459628D+00 0.433925258D+02 -0.179226D+00 0.191274307D+03 -0.403567D-01 0.127157238D+04 -0.542284D-02 a 6 8 3 0.163250204D+00 -0.551788D-02 0.199554336D+00 0.623129D+00 0.532107585D+00 0.225860D-01 0.852929141D+00 0.465580D+00 0.320161932D+01 0.363019D+00 0.418156952D+01 0.112150D+00 0.941979824D+01 0.463379D+00 0.295944726D+02 0.228066D+00 0.105141359D+03 0.676696D-01 0.462053765D+03 0.138464D-01 0.307670934D+04 0.181088D-02 a 6 7 4 0.165689807D+00 0.935307D-02 0.151734616D+00 -0.469155D+00 0.534612569D+00 -0.331885D-01 0.545544268D+00 -0.508201D+00 0.366547656D+01 -0.445452D+00 0.200072048D+01 -0.209474D+00 0.119871456D+02 -0.459802D+00 0.943686331D+01 -0.381179D-01 0.433573255D+02 -0.179352D+00 0.191118553D+03 -0.403908D-01 0.127053224D+04 -0.542773D-02 a 6 8 4 0.161954835D+00 -0.554128D-02 0.151707825D+00 -0.469013D+00 0.528026402D+00 0.225215D-01 0.545672895D+00 -0.508385D+00 0.319839819D+01 0.362859D+00 0.200131955D+01 -0.209473D+00 0.941141054D+01 0.463429D+00 0.943772839D+01 -0.381237D-01 0.295667675D+02 0.228211D+00 0.105036122D+03 0.677358D-01 0.461583158D+03 0.138622D-01 0.307355934D+04 0.181295D-02 a 6 9 4 0.159603964D+00 0.320496D-02 0.151685857D+00 -0.468935D+00 0.521710915D+00 -0.152635D-01 0.545718024D+00 -0.508514D+00 0.280312768D+01 -0.286534D+00 0.200189359D+01 -0.209456D+00 0.753335964D+01 -0.449740D+00 0.944060497D+01 -0.381101D-01 0.212498943D+02 -0.273750D+00 0.655336118D+02 -0.100601D+00 0.231516319D+03 -0.266224D-01 0.101693555D+04 -0.522185D-02 0.677839838D+04 -0.677636D-03 a 6 9 5 0.159567790D+00 0.320753D-02 0.121290517D+00 -0.344662D+00 0.521504593D+00 -0.152679D-01 0.383462940D+00 -0.499949D+00 0.280309202D+01 -0.286591D+00 0.120042406D+01 -0.289926D+00 0.753393142D+01 -0.449743D+00 0.413615859D+01 -0.868519D-01 0.212531719D+02 -0.273730D+00 0.187342945D+02 -0.140042D-01 0.655473238D+02 -0.100577D+00 0.231566076D+03 -0.266149D-01 0.101715546D+04 -0.522034D-02 0.677986778D+04 -0.677437D-03 a 6 10 5 0.127944669D+00 -0.239889D-02 0.120909314D+00 -0.343687D+00 0.361561010D+00 0.902247D-02 0.383047760D+00 -0.501136D+00 0.897374956D+00 -0.388431D-01 0.120123520D+01 -0.289995D+00 0.330538097D+01 -0.344528D+00 0.413888923D+01 -0.867431D-01 0.894898368D+01 -0.434434D+00 0.187399733D+02 -0.139972D-01 0.253975298D+02 -0.235817D+00 0.784704837D+02 -0.826193D-01 0.277464568D+03 -0.213756D-01 0.121918130D+04 -0.417228D-02 0.812857220D+04 -0.540097D-03 a 6 10 6 0.127773922D+00 -0.240911D-02 0.100837663D+00 -0.250654D+00 0.360828595D+00 0.906047D-02 0.289541472D+00 -0.464181D+00 0.894967533D+00 -0.387556D-01 0.815455514D+00 -0.341995D+00 0.330330085D+01 -0.344385D+00 0.237858429D+01 -0.141989D+00 0.894432402D+01 -0.434537D+00 0.795877548D+01 -0.358708D-01 0.253857695D+02 -0.235918D+00 0.347102827D+02 -0.532955D-02 0.784344029D+02 -0.826607D-01 0.277336521D+03 -0.213875D-01 0.121861854D+04 -0.417465D-02 0.812481713D+04 -0.540407D-03 a 6 11 5 0.116363033D+00 -0.171730D-02 0.100745137D+00 -0.250395D+00 0.310523132D+00 0.596374D-02 0.289470091D+00 -0.464540D+00 0.774311616D+00 -0.244600D-01 0.815851660D+00 -0.342073D+00 0.287889208D+01 -0.279552D+00 0.238014546D+01 -0.141873D+00 0.733281355D+01 -0.425688D+00 0.796237017D+01 -0.358456D-01 0.192611915D+02 -0.272747D+00 0.347232908D+02 -0.532647D-02 0.538673475D+02 -0.112239D+00 0.165484017D+03 -0.347901D-01 0.584545107D+03 -0.857990D-02 0.256841364D+04 -0.165162D-02 0.171346534D+05 -0.212997D-03 a 6 12 6 0.109112739D+00 -0.695344D-03 0.100670555D+00 -0.250108D+00 0.283086806D+00 0.202146D-02 0.289289235D+00 -0.464640D+00 0.719079731D+00 -0.125340D-01 0.815629438D+00 -0.342265D+00 0.236770549D+01 -0.188243D+00 0.238026867D+01 -0.141894D+00 0.550130111D+01 -0.383838D+00 0.796350893D+01 -0.358390D-01 0.130899186D+02 -0.319431D+00 0.347273180D+02 -0.532550D-02 0.328254027D+02 -0.164259D+00 0.882424566D+02 -0.630783D-01 0.261602651D+03 -0.194696D-01 0.891881125D+03 -0.495653D-02 0.377921725D+04 -0.997503D-03 0.243286890D+05 -0.135738D-03 a 6 11 7 0.116388056D+00 -0.171651D-02 0.860712864D-01 -0.179666D+00 0.310651543D+00 0.596216D-02 0.228063771D+00 -0.412820D+00 0.774614908D+00 -0.244722D-01 0.590981587D+00 -0.369350D+00 0.287919322D+01 -0.279586D+00 0.154977795D+01 -0.196167D+00 0.733351871D+01 -0.425677D+00 0.436788185D+01 -0.663316D-01 0.192629724D+02 -0.272729D+00 0.141660453D+02 -0.155841D-01 0.538731723D+02 -0.112228D+00 0.602564483D+02 -0.215207D-02 0.165502853D+03 -0.347853D-01 0.584611367D+03 -0.857869D-02 0.256870365D+04 -0.165139D-02 0.171365808D+05 -0.212966D-03 a 6 12 7 0.109061686D+00 -0.692763D-03 0.859486579D-01 -0.179205D+00 0.282953284D+00 0.201157D-02 0.227771971D+00 -0.412730D+00 0.718793607D+00 -0.124967D-01 0.590163472D+00 -0.369417D+00 0.236562724D+01 -0.187869D+00 0.154659152D+01 -0.196384D+00 0.549445441D+01 -0.383603D+00 0.435525909D+01 -0.665369D-01 0.130693441D+02 -0.319618D+00 0.141181282D+02 -0.156559D-01 0.327636552D+02 -0.164498D+00 0.600234052D+02 -0.216537D-02 0.880498468D+02 -0.632172D-01 0.260963442D+03 -0.195232D-01 0.889497383D+03 -0.497218D-02 0.376836386D+04 -0.100097D-02 0.242547563D+05 -0.136247D-03 a 6 13 7 0.997103322D-01 0.240567D-03 0.860601686D-01 -0.179828D+00 0.247651013D+00 -0.152932D-02 0.228359977D+00 -0.413591D+00 0.618262009D+00 0.120357D-02 0.592475604D+00 -0.369290D+00 0.151764745D+01 -0.709273D-01 0.155433391D+01 -0.195637D+00 0.363511488D+01 -0.316847D+00 0.438062928D+01 -0.660857D-01 0.854372156D+01 -0.379910D+00 0.142090368D+02 -0.155194D-01 0.208827262D+02 -0.236459D+00 0.604608807D+02 -0.214050D-02 0.539058806D+02 -0.103060D+00 0.150081347D+03 -0.353417D-01 0.463988056D+03 -0.100598D-01 0.166242072D+04 -0.238115D-02 0.747991399D+04 -0.443074D-03 0.517216257D+05 -0.543979D-04 a 6 13 8 0.996878573D-01 -0.243116D-03 0.654174006D-01 0.878081D-01 0.247591596D+00 0.153955D-02 0.156063211D+00 0.310509D+00 0.618051997D+00 -0.124436D-02 0.368777030D+00 0.382942D+00 0.151547332D+01 0.707565D-01 0.883478235D+00 0.276816D+00 0.363247759D+01 0.316752D+00 0.219547568D+01 0.131102D+00 0.853874782D+01 0.380019D+00 0.597000861D+01 0.427740D-01 0.208723977D+02 0.236575D+00 0.186715008D+02 0.101130D-01 0.538835897D+02 0.103114D+00 0.774667619D+02 0.139835D-02 0.150033045D+03 0.353587D-01 0.463899887D+03 0.100635D-01 0.166242292D+04 0.238155D-02 0.748205548D+04 0.443007D-03 0.517582518D+05 0.543593D-04 a 7 4 2 0.424921556D+00 -0.365214D-01 0.413727874D+00 0.802625D+00 0.699046082D+01 -0.663247D+00 0.232893461D+01 0.342611D+00 0.326019571D+02 -0.384972D+00 0.217038294D+03 -0.678969D-01 a 7 5 2 0.424248589D+00 0.228471D-01 0.415392971D+00 0.802528D+00 0.566571533D+01 0.532414D+00 0.233761202D+01 0.342698D+00 0.212109358D+02 0.448720D+00 0.945619798D+02 0.131913D+00 0.626913412D+03 0.190246D-01 a 7 6 2 0.269536674D+00 -0.166288D-01 0.410546663D+00 0.800099D+00 0.874634545D+00 0.581096D-01 0.230890871D+01 0.345942D+00 0.616086836D+01 0.549168D+00 0.230751614D+02 0.424604D+00 0.102976405D+03 0.119735D+00 0.683267947D+03 0.171367D-01 a 7 5 3 0.421791832D+00 0.228975D-01 0.293856646D+00 0.619890D+00 0.564548908D+01 0.532042D+00 0.126465706D+01 0.467776D+00 0.211593765D+02 0.449027D+00 0.613661461D+01 0.115971D+00 0.943414846D+02 0.132152D+00 0.625463759D+03 0.190649D-01 a 7 6 3 0.258115746D+00 0.165380D-01 0.291656854D+00 0.618979D+00 0.838140962D+00 -0.564574D-01 0.126122634D+01 0.469535D+00 0.610204402D+01 -0.547680D+00 0.612532770D+01 0.115854D+00 0.228838787D+02 -0.426712D+00 0.102135424D+03 -0.120753D+00 0.677678113D+03 -0.172964D-01 a 7 7 3 0.237326819D+00 -0.918111D-02 0.291319557D+00 0.618173D+00 0.780905424D+00 0.350151D-01 0.125988606D+01 0.470276D+00 0.512231163D+01 0.446528D+00 0.612046602D+01 0.116086D+00 0.166733599D+02 0.458474D+00 0.601305070D+02 0.177778D+00 0.264938065D+03 0.398312D-01 0.176133598D+04 0.534613D-02 a 7 8 3 0.231615307D+00 -0.533971D-02 0.291223201D+00 0.617900D+00 0.768667652D+00 0.237617D-01 0.125938802D+01 0.470505D+00 0.445379454D+01 0.362372D+00 0.611822213D+01 0.116175D+00 0.130404395D+02 0.463114D+00 0.408265925D+02 0.227710D+00 0.144913783D+03 0.672566D-01 0.636776713D+03 0.137403D-01 0.424019093D+04 0.179606D-02 a 7 7 4 0.235033212D+00 -0.920242D-02 0.218626248D+00 -0.462509D+00 0.773491362D+00 0.348395D-01 0.797349947D+00 -0.510018D+00 0.511424783D+01 0.446255D+00 0.291646933D+01 -0.217097D+00 0.166512176D+02 0.458730D+00 0.135428589D+02 -0.399265D-01 0.600573298D+02 0.177968D+00 0.264612965D+03 0.398825D-01 0.175916416D+04 0.535349D-02 a 7 8 4 0.229120246D+00 -0.536605D-02 0.218570451D+00 -0.462359D+00 0.760697335D+00 0.236342D-01 0.797434887D+00 -0.510199D+00 0.444603955D+01 0.361959D+00 0.291710185D+01 -0.217104D+00 0.130177116D+02 0.463221D+00 0.135438931D+02 -0.399299D-01 0.407492468D+02 0.228032D+00 0.144622999D+03 0.673958D-01 0.635480480D+03 0.137728D-01 0.423152217D+04 0.180031D-02 a 7 9 4 0.224837253D+00 -0.288624D-02 0.218517044D+00 -0.462244D+00 0.746956811D+00 0.155179D-01 0.797398081D+00 -0.510341D+00 0.384345767D+01 0.279034D+00 0.291761014D+01 -0.217111D+00 0.102420598D+02 0.449524D+00 0.135470628D+02 -0.399188D-01 0.287412823D+02 0.278097D+00 0.884936821D+02 0.102388D+00 0.312538986D+03 0.270979D-01 0.137276002D+04 0.531409D-02 0.914998402D+04 0.689685D-03 a 7 9 5 0.224745306D+00 -0.289374D-02 0.173147169D+00 -0.338321D+00 0.746497546D+00 0.155340D-01 0.556290728D+00 -0.497573D+00 0.384427370D+01 0.279211D+00 0.174397494D+01 -0.298277D+00 0.102460160D+02 0.449528D+00 0.595565717D+01 -0.916467D-01 0.287564960D+02 0.278007D+00 0.266667982D+02 -0.146370D-01 0.885473817D+02 0.102321D+00 0.312730826D+03 0.270781D-01 0.137360564D+04 0.531011D-02 0.915563048D+04 0.689162D-03 a 7 10 5 0.195480366D+00 -0.168032D-02 0.172879278D+00 -0.337996D+00 0.598478753D+00 0.496457D-02 0.556363746D+00 -0.498368D+00 0.169869981D+01 -0.587309D-01 0.174625148D+01 -0.298087D+00 0.514835312D+01 -0.375651D+00 0.596215967D+01 -0.914786D-01 0.139079106D+02 -0.418767D+00 0.266861664D+02 -0.146200D-01 0.397055750D+02 -0.212443D+00 0.123992015D+03 -0.712338D-01 0.444702415D+03 -0.178542D-01 0.198727750D+04 -0.339721D-02 0.135070431D+05 -0.427228D-03 a 7 10 6 0.195535813D+00 -0.167590D-02 0.143001866D+00 -0.245143D+00 0.598791541D+00 0.494084D-02 0.416963142D+00 -0.457767D+00 0.170066539D+01 -0.588077D-01 0.117848999D+01 -0.349107D+00 0.514943048D+01 -0.375599D+00 0.342469899D+01 -0.149600D+00 0.139072687D+02 -0.418673D+00 0.113391067D+02 -0.380974D-01 0.396937394D+02 -0.212442D+00 0.491789648D+02 -0.555842D-02 0.123911359D+03 -0.712622D-01 0.444217042D+03 -0.178714D-01 0.198402025D+04 -0.340287D-02 0.134758521D+05 -0.428345D-03 a 7 11 6 0.162649846D+00 0.166409D-02 0.142815149D+00 -0.244940D+00 0.440925903D+00 -0.547675D-02 0.417118984D+00 -0.458516D+00 0.111675682D+01 0.259430D-01 0.118032067D+01 -0.348999D+00 0.402648761D+01 0.280993D+00 0.342989146D+01 -0.149298D+00 0.102220466D+02 0.425203D+00 0.113519909D+02 -0.380337D-01 0.267726336D+02 0.271391D+00 0.492316708D+02 -0.554915D-02 0.747819326D+02 0.110967D+00 0.229682580D+03 0.342653D-01 0.811298792D+03 0.843825D-02 0.356473831D+04 0.162379D-02 0.237817371D+05 0.209383D-03 a 7 12 6 0.153288055D+00 -0.767433D-03 0.142724995D+00 -0.244704D+00 0.404506813D+00 0.204896D-02 0.416888075D+00 -0.458576D+00 0.103727692D+01 -0.145997D-01 0.117998194D+01 -0.349162D+00 0.337996035D+01 -0.199079D+00 0.342977882D+01 -0.149329D+00 0.791287743D+01 -0.389938D+00 0.113525715D+02 -0.380317D-01 0.189580328D+02 -0.313995D+00 0.492335376D+02 -0.554882D-02 0.478683253D+02 -0.156732D+00 0.129633162D+03 -0.587691D-01 0.387122966D+03 -0.178355D-01 0.132877556D+04 -0.448587D-02 0.566515090D+04 -0.893994D-03 0.366650507D+05 -0.120617D-03 a 7 11 7 0.162677453D+00 0.166365D-02 0.122079897D+00 0.177760D+00 0.441096676D+00 -0.547606D-02 0.329739013D+00 0.406703D+00 0.111717954D+01 0.259583D-01 0.861638996D+00 0.372519D+00 0.402700734D+01 0.281039D+00 0.226203939D+01 0.202770D+00 0.102233254D+02 0.425190D+00 0.634655299D+01 0.694613D-01 0.267760312D+02 0.271367D+00 0.204788794D+02 0.160512D-01 0.747934459D+02 0.110950D+00 0.872081519D+02 0.215894D-02 0.229719857D+03 0.342586D-01 0.811429491D+03 0.843655D-02 0.356531172D+04 0.162346D-02 0.237855597D+05 0.209340D-03 a 7 12 7 0.153235867D+00 -0.770119D-03 0.122044119D+00 0.177737D+00 0.404427692D+00 0.205898D-02 0.329806632D+00 0.406920D+00 0.103714695D+01 -0.146229D-01 0.862060536D+00 0.372469D+00 0.338130653D+01 -0.199242D+00 0.226276370D+01 0.202650D+00 0.791655034D+01 -0.389974D+00 0.634688016D+01 0.694472D-01 0.189671996D+02 -0.313898D+00 0.204788911D+02 0.160517D-01 0.478893184D+02 -0.156651D+00 0.872092182D+02 0.215893D-02 0.129679056D+03 -0.587412D-01 0.387235677D+03 -0.178282D-01 0.132909001D+04 -0.448438D-02 0.566625067D+04 -0.893756D-03 0.366710976D+05 -0.120591D-03 a 7 13 7 0.144941208D+00 -0.141159D-03 0.122012798D+00 0.177694D+00 0.371901983D+00 -0.295417D-03 0.329828470D+00 0.407089D+00 0.945340156D+00 -0.521517D-02 0.862446504D+00 0.372536D+00 0.262194041D+01 -0.110981D+00 0.226425491D+01 0.202541D+00 0.585593938D+01 -0.335444D+00 0.635075493D+01 0.693846D-01 0.134041584D+02 -0.356152D+00 0.204892617D+02 0.160391D-01 0.321400561D+02 -0.212106D+00 0.872531536D+02 0.215714D-02 0.815158661D+02 -0.913518D-01 0.222747104D+03 -0.315459D-01 0.673426988D+03 -0.917171D-02 0.234606737D+04 -0.223990D-02 0.101786185D+05 -0.435354D-03 0.671734091D+05 -0.570285D-04 a 7 13 8 0.144594627D+00 -0.117604D-03 0.975068753D-01 -0.101903D+00 0.370648788D+00 -0.383610D-03 0.239408178D+00 -0.320041D+00 0.941741494D+00 -0.485618D-02 0.573473296D+00 -0.378043D+00 0.259286775D+01 -0.108380D+00 0.137698049D+01 -0.270002D+00 0.580560219D+01 -0.334714D+00 0.341201386D+01 -0.127004D+00 0.133143182D+02 -0.357877D+00 0.921074006D+01 -0.410521D-01 0.319857266D+02 -0.213461D+00 0.286065092D+02 -0.944260D-02 0.813040237D+02 -0.918377D-01 0.118546602D+03 -0.127177D-02 0.222771298D+03 -0.316334D-01 0.675819203D+03 -0.916195D-02 0.236472740D+04 -0.222609D-02 0.103169103D+05 -0.429715D-03 0.685480792D+05 -0.557500D-04 a 8 4 2 0.579948344D+00 -0.377423D-01 0.545486617D+00 0.799875D+00 0.928501466D+01 -0.663259D+00 0.316506696D+01 0.350980D+00 0.430990009D+02 -0.384045D+00 0.286605281D+03 -0.674667D-01 a 8 5 2 0.578442285D+00 0.236910D-01 0.547312186D+00 0.799801D+00 0.751571741D+01 0.531585D+00 0.317471812D+01 0.351037D+00 0.279854253D+02 0.448651D+00 0.124466642D+03 0.131737D+00 0.824980670D+03 0.189581D-01 a 8 6 2 0.367017355D+00 -0.163955D-01 0.541720604D+00 0.797786D+00 0.120733316D+01 0.601275D-01 0.314181301D+01 0.353782D+00 0.822466148D+01 0.550197D+00 0.306842765D+02 0.422519D+00 0.136713832D+03 0.118402D+00 0.907095455D+03 0.168960D-01 a 8 5 3 0.575490876D+00 0.237799D-01 0.376818291D+00 0.616445D+00 0.748559164D+01 0.531266D+00 0.168592142D+01 0.473628D+00 0.279128034D+02 0.448921D+00 0.814116053D+01 0.123005D+00 0.124160906D+03 0.131972D+00 0.822978883D+03 0.189980D-01 a 8 6 3 0.348866360D+00 0.163498D-01 0.374960493D+00 0.616215D+00 0.114682696D+01 -0.580891D-01 0.168464030D+01 0.474667D+00 0.812859017D+01 -0.548422D+00 0.813908086D+01 0.122710D+00 0.303716447D+02 -0.425115D+00 0.135337628D+03 -0.119651D+00 0.897944613D+03 -0.170908D-01 a 8 7 3 0.321279171D+00 -0.905110D-02 0.374545050D+00 0.615563D+00 0.106984299D+01 0.362920D-01 0.168305960D+01 0.475270D+00 0.682049938D+01 0.447326D+00 0.813347314D+01 0.122912D+00 0.221238095D+02 0.457479D+00 0.796147584D+02 0.176658D+00 0.350669303D+03 0.394326D-01 0.233133714D+04 0.528823D-02 a 8 8 3 0.313084111D+00 -0.517978D-02 0.374411283D+00 0.615328D+00 0.105052623D+01 0.245992D-01 0.168239931D+01 0.475465D+00 0.591436772D+01 0.361921D+00 0.813053382D+01 0.122997D+00 0.172488018D+02 0.462823D+00 0.538563377D+02 0.227467D+00 0.191029175D+03 0.669608D-01 0.839355308D+03 0.136643D-01 0.558917076D+04 0.178541D-02 a 8 7 4 0.317967483D+00 -0.909048D-02 0.275449176D+00 -0.460681D+00 0.105830933D+01 0.360994D-01 0.104579842D+01 -0.508474D+00 0.680797276D+01 0.447016D+00 0.385247657D+01 -0.228914D+00 0.220891054D+02 0.457772D+00 0.176867721D+02 -0.430419D-01 0.794997449D+02 0.176880D+00 0.350157238D+03 0.394927D-01 0.232791574D+04 0.529686D-02 a 8 8 4 0.309358975D+00 -0.521683D-02 0.275386721D+00 -0.460580D+00 0.103787339D+01 0.244405D-01 0.104593186D+01 -0.508619D+00 0.590103371D+01 0.361326D+00 0.385333846D+01 -0.228908D+00 0.172077345D+02 0.462959D+00 0.176886738D+02 -0.430414D-01 0.537152989D+02 0.227921D+00 0.190499243D+03 0.671546D-01 0.836992116D+03 0.137093D-01 0.557336195D+04 0.179131D-02 a 8 9 4 0.302414896D+00 -0.259395D-02 0.275314656D+00 -0.460481D+00 0.101377494D+01 0.155124D-01 0.104588344D+01 -0.508752D+00 0.503471072D+01 0.272140D+00 0.385399605D+01 -0.228912D+00 0.133196471D+02 0.449288D+00 0.176928204D+02 -0.430287D-01 0.372290103D+02 0.282229D+00 0.114490796D+03 0.104161D+00 0.404275535D+03 0.275777D-01 0.177563811D+04 0.540791D-02 0.118351301D+05 0.701936D-03 a 8 9 5 0.302495986D+00 -0.260848D-02 0.214609664D+00 -0.337277D+00 0.101359959D+01 0.155591D-01 0.716909952D+00 -0.490394D+00 0.503847574D+01 0.272602D+00 0.228197436D+01 -0.310167D+00 0.133344141D+02 0.449303D+00 0.775619418D+01 -0.996481D-01 0.372790245D+02 0.281957D+00 0.344933145D+02 -0.159030D-01 0.114656804D+03 0.103993D+00 0.404865835D+03 0.275280D-01 0.177823663D+04 0.539791D-02 0.118524768D+05 0.700626D-03 a 8 10 5 0.236934343D+00 0.238511D-02 0.214095818D+00 -0.336693D+00 0.681548452D+00 -0.816474D-02 0.716496332D+00 -0.491240D+00 0.173258366D+01 0.419256D-01 0.228362821D+01 -0.310178D+00 0.616911058D+01 0.347674D+00 0.776188204D+01 -0.995282D-01 0.166137418D+02 0.432902D+00 0.345095637D+02 -0.158909D-01 0.469379309D+02 0.232426D+00 0.144812229D+03 0.804660D-01 0.511962030D+03 0.207078D-01 0.224957601D+04 0.403507D-02 0.149990207D+05 0.522183D-03 a 8 10 6 0.236568150D+00 0.239732D-02 0.175079541D+00 -0.245034D+00 0.679998420D+00 -0.821357D-02 0.529991709D+00 -0.447718D+00 0.172746898D+01 0.418261D-01 0.152827936D+01 -0.356688D+00 0.616478917D+01 0.347531D+00 0.444894575D+01 -0.161503D+00 0.166044259D+02 0.433022D+00 0.146233374D+02 -0.419372D-01 0.469154791D+02 0.232531D+00 0.632729504D+02 -0.606840D-02 0.144742718D+03 0.805073D-01 0.511713928D+03 0.207198D-01 0.224848495D+04 0.403746D-02 0.149917385D+05 0.522495D-03 a 8 11 6 0.217096322D+00 -0.164999D-02 0.174985900D+00 -0.244928D+00 0.595310599D+00 0.516613D-02 0.529984854D+00 -0.447953D+00 0.151922592D+01 -0.269880D-01 0.152896733D+01 -0.356714D+00 0.536536141D+01 -0.281961D+00 0.445131416D+01 -0.161402D+00 0.135848219D+02 -0.424815D+00 0.146292540D+02 -0.419109D-01 0.355023580D+02 -0.270468D+00 0.632950436D+02 -0.606503D-02 0.990739008D+02 -0.110080D+00 0.304239110D+03 -0.338983D-01 0.107463470D+04 -0.833915D-02 0.472179748D+04 -0.160434D-02 0.315012097D+05 -0.206856D-03 a 8 12 6 0.207862977D+00 0.100981D-02 0.174927537D+00 -0.244826D+00 0.558971969D+00 -0.272031D-02 0.529874100D+00 -0.448018D+00 0.143800330D+01 0.184834D-01 0.152896065D+01 -0.356783D+00 0.476278437D+01 0.225081D+00 0.445194153D+01 -0.161391D+00 0.113898093D+02 0.402624D+00 0.146317285D+02 -0.419008D-01 0.278715192D+02 0.300434D+00 0.633045395D+02 -0.606356D-02 0.719214593D+02 0.140903D+00 0.199459791D+03 0.501510D-01 0.611187477D+03 0.145654D-01 0.215621188D+04 0.351913D-02 0.946387138D+04 0.673365D-03 0.630850699D+05 0.868932D-04 a 8 12 7 0.217249501D+00 -0.164879D-02 0.148117637D+00 0.177975D+00 0.595963546D+00 0.516317D-02 0.413591066D+00 0.395126D+00 0.152076168D+01 -0.270277D-01 0.110434024D+01 0.374806D+00 0.536720106D+01 -0.282078D+00 0.291920599D+01 0.216381D+00 0.135894406D+02 -0.424789D+00 0.815581346D+01 0.769759D-01 0.355145220D+02 -0.270398D+00 0.262066135D+02 0.177797D-01 0.991110360D+02 -0.110039D+00 0.111540757D+03 0.237604D-02 0.304356806D+03 -0.338826D-01 0.107505047D+04 -0.833516D-02 0.472362466D+04 -0.160356D-02 0.315134082D+05 -0.206756D-03 a 8 12 7 0.207987071D+00 0.101276D-02 0.148101985D+00 0.177997D+00 0.559509937D+00 -0.273147D-02 0.413684932D+00 0.395249D+00 0.143921978D+01 0.185425D-01 0.110468939D+01 0.374740D+00 0.476678564D+01 0.225426D+00 0.291959647D+01 0.216309D+00 0.114014492D+02 0.402702D+00 0.815559041D+01 0.769739D-01 0.279037920D+02 0.300232D+00 0.262057046D+02 0.177811D-01 0.720100303D+02 0.140732D+00 0.111538504D+03 0.237614D-02 0.199705114D+03 0.500792D-01 0.611939883D+03 0.145436D-01 0.215887241D+04 0.351375D-02 0.947558144D+04 0.672326D-03 0.631634223D+05 0.867586D-04 a 8 13 7 0.195745126D+00 0.292638D-03 0.148086378D+00 0.178023D+00 0.511434992D+00 -0.439524D-04 0.413808557D+00 0.395440D+00 0.130816725D+01 0.777077D-02 0.110535555D+01 0.374741D+00 0.373611305D+01 0.131161D+00 0.292144753D+01 0.216170D+00 0.833781630D+01 0.347530D+00 0.815946537D+01 0.769152D-01 0.190771371D+02 0.346005D+00 0.262153667D+02 0.177709D-01 0.457385846D+02 0.198816D+00 0.111579046D+03 0.237471D-02 0.116024070D+03 0.838275D-01 0.316972825D+03 0.286331D-01 0.956868449D+03 0.829861D-02 0.332276082D+04 0.202973D-02 0.143402834D+05 0.396691D-03 0.939618113D+05 0.524815D-04 a 8 13 8 0.195851684D+00 0.294548D-03 0.128610098D+00 -0.129667D+00 0.511854764D+00 -0.503711D-04 0.336095926D+00 -0.341804D+00 0.130926077D+01 0.781070D-02 0.842581865D+00 -0.373200D+00 0.374050400D+01 0.131506D+00 0.207848530D+01 -0.257473D+00 0.834727313D+01 0.347660D+00 0.523971521D+01 -0.116284D+00 0.190964322D+02 0.345791D+00 0.143438847D+02 -0.355641D-01 0.457791721D+02 0.198633D+00 0.451965490D+02 -0.761716D-02 0.116110464D+03 0.837444D-01 0.191014733D+03 -0.954771D-03 0.317150266D+03 0.286088D-01 0.957216169D+03 0.829345D-02 0.332326369D+04 0.202902D-02 0.143391722D+05 0.396672D-03 0.939324362D+05 0.524974D-04 a 9 4 2 0.756220144D+00 -0.386332D-01 0.707435416D+00 0.798133D+00 0.118963245D+02 -0.663116D+00 0.416383471D+01 0.355552D+00 0.550227987D+02 -0.383512D+00 0.365585299D+03 -0.671832D-01 a 9 5 2 0.753631874D+00 0.242866D-01 0.709436661D+00 0.798070D+00 0.961479442D+01 0.530515D+00 0.417445396D+01 0.355597D+00 0.356526673D+02 0.448916D+00 0.158267766D+03 0.131780D+00 0.104881854D+04 0.189356D-01 a 9 6 2 0.478093301D+00 0.161884D-01 0.703049986D+00 0.796313D+00 0.159026268D+01 -0.616666D-01 0.413675472D+01 0.358003D+00 0.105794692D+02 -0.550820D+00 0.393544748D+02 -0.421039D+00 0.175129805D+03 -0.117445D+00 0.116195985D+04 -0.167225D-01 a 9 5 3 0.750137987D+00 0.244064D-01 0.480630747D+00 0.613770D+00 0.957362039D+01 0.530274D+00 0.219242749D+01 0.477226D+00 0.355582057D+02 0.449129D+00 0.105497636D+02 0.126930D+00 0.157876375D+03 0.131999D+00 0.104626705D+04 0.189732D-01 a 9 6 3 0.452045316D+00 -0.161762D-01 0.478784747D+00 0.613706D+00 0.150146452D+01 0.593294D-01 0.219202319D+01 0.478027D+00 0.104387339D+02 0.548832D+00 0.105518227D+02 0.126606D+00 0.388960980D+02 0.424005D+00 0.173109946D+03 0.118869D+00 0.114852540D+04 0.169438D-01 a 9 7 3 0.416614870D+00 0.893239D-02 0.478292365D+00 0.613148D+00 0.140083304D+01 -0.372456D-01 0.219015203D+01 0.478541D+00 0.875325348D+01 -0.447665D+00 0.105451604D+02 0.126787D+00 0.283198923D+02 -0.456867D+00 0.101743217D+03 -0.175935D+00 0.448022818D+03 -0.391639D-01 0.297861308D+04 -0.524903D-02 a 9 8 3 0.405479316D+00 -0.504153D-02 0.478123251D+00 0.612937D+00 0.137268296D+01 0.252069D-01 0.218932118D+01 0.478713D+00 0.757225649D+01 0.361181D+00 0.105414522D+02 0.126868D+00 0.220195203D+02 0.462739D+00 0.686104540D+02 0.227502D+00 0.243233065D+03 0.668144D-01 0.106867314D+04 0.136233D-01 0.711622410D+04 0.177955D-02 a 9 7 4 0.411999242D+00 0.898411D-02 0.347290137D+00 -0.458219D+00 0.138410911D+01 -0.370284D-01 0.134665041D+01 -0.508286D+00 0.873493929D+01 -0.447307D+00 0.497498401D+01 -0.235755D+00 0.282685536D+02 -0.457200D+00 0.226582816D+02 -0.448976D-01 0.101571855D+03 -0.176194D+00 0.447257764D+03 -0.392336D-01 0.297349929D+04 -0.525906D-02 a 9 8 4 0.400178191D+00 -0.508323D-02 0.347214144D+00 -0.458136D+00 0.135412528D+01 0.250059D-01 0.134680569D+01 -0.508415D+00 0.755083201D+01 0.360362D+00 0.497602817D+01 -0.235746D+00 0.219511655D+02 0.462916D+00 0.226608697D+02 -0.448951D-01 0.683744309D+02 0.228112D+00 0.242348570D+03 0.670708D-01 0.106473192D+04 0.136824D-01 0.708986987D+04 0.178730D-02 a 9 9 4 0.389820122D+00 -0.233338D-02 0.347114669D+00 -0.458038D+00 0.131622994D+01 0.153457D-01 0.134671018D+01 -0.508544D+00 0.636095859D+01 0.265309D+00 0.497673900D+01 -0.235754D+00 0.167339180D+02 0.449204D+00 0.226656717D+02 -0.448828D-01 0.466349317D+02 0.286379D+00 0.143297961D+03 0.105998D+00 0.505937316D+03 0.280800D-01 0.222211476D+04 0.550682D-02 0.148107761D+05 0.714845D-03 a 9 9 5 0.390090257D+00 -0.235606D-02 0.267825204D+00 -0.335272D+00 0.131637668D+01 0.154260D-01 0.914330042D+00 -0.486813D+00 0.636985616D+01 0.266087D+00 0.293124690D+01 -0.317047D+00 0.167662448D+02 0.449229D+00 0.992978745D+01 -0.104439D+00 0.467395108D+02 0.285905D+00 0.439068210D+02 -0.166512D-01 0.143637036D+03 0.105720D+00 0.507140194D+03 0.279983D-01 0.222740713D+04 0.549036D-02 0.148461005D+05 0.712690D-03 a 9 10 5 0.303312142D+00 0.238361D-02 0.267273923D+00 -0.334833D+00 0.877834694D+00 -0.788548D-02 0.914014171D+00 -0.487545D+00 0.224649987D+01 0.428485D-01 0.293353616D+01 -0.317024D+00 0.792375977D+01 0.348357D+00 0.993751838D+01 -0.104311D+00 0.213030006D+02 0.432492D+00 0.439308225D+02 -0.166365D-01 0.600973941D+02 0.231540D+00 0.185324777D+03 0.798698D-01 0.655156042D+03 0.205211D-01 0.287877822D+04 0.399662D-02 0.191944273D+05 0.517165D-03 a 9 10 6 0.302933063D+00 0.239547D-02 0.216806456D+00 -0.243619D+00 0.876195235D+00 -0.793416D-02 0.670271209D+00 -0.441815D+00 0.224084902D+01 0.427737D-01 0.195144673D+01 -0.361378D+00 0.791940733D+01 0.348262D+00 0.568450937D+01 -0.168681D+00 0.212942376D+02 0.432591D+00 0.185875046D+02 -0.443345D-01 0.600780663D+02 0.231613D+00 0.802213321D+02 -0.636985D-02 0.185264471D+03 0.798966D-01 0.654939003D+03 0.205292D-01 0.287782312D+04 0.399822D-02 0.191880513D+05 0.517373D-03 a 9 11 6 0.278374955D+00 -0.163368D-02 0.216716355D+00 -0.243556D+00 0.770056132D+00 0.490162D-02 0.670315116D+00 -0.442019D+00 0.197783378D+01 -0.277311D-01 0.195232295D+01 -0.361387D+00 0.688634466D+01 -0.282306D+00 0.568735671D+01 -0.168582D+00 0.174024091D+02 -0.424551D+00 0.185947421D+02 -0.443078D-01 0.454038836D+02 -0.270006D+00 0.802486436D+02 -0.636637D-02 0.126617015D+03 -0.109540D+00 0.388771236D+03 -0.336658D-01 0.137320496D+04 -0.827574D-02 0.603367165D+04 -0.159187D-02 0.402535271D+05 -0.205235D-03 a 9 12 6 0.266227159D+00 0.996079D-03 0.216653554D+00 -0.243477D+00 0.722043786D+00 -0.248449D-02 0.670206134D+00 -0.442081D+00 0.186667105D+01 0.189074D-01 0.195236580D+01 -0.361442D+00 0.609413824D+01 0.224370D+00 0.568818592D+01 -0.168567D+00 0.145476301D+02 0.402466D+00 0.185978988D+02 -0.442964D-01 0.355552576D+02 0.300882D+00 0.802608920D+02 -0.636468D-02 0.917249559D+02 0.140752D+00 0.254504003D+03 0.499542D-01 0.780455579D+03 0.144800D-01 0.275591635D+04 0.349344D-02 0.121091705D+05 0.667444D-03 0.808166055D+05 0.859736D-04 a 9 11 7 0.278656306D+00 -0.163209D-02 0.182266672D+00 0.176970D+00 0.771209475D+00 0.489685D-02 0.519195449D+00 0.388189D+00 0.198056833D+01 -0.277862D-01 0.140179587D+01 0.376442D+00 0.688963113D+01 -0.282468D+00 0.371774847D+01 0.224325D+00 0.174107261D+02 -0.424517D+00 0.103567178D+02 0.816137D-01 0.454258164D+02 -0.269906D+00 0.331525332D+02 0.188441D-01 0.126682768D+03 -0.109482D+00 0.140990302D+03 0.250154D-02 0.388978340D+03 -0.336443D-01 0.137393611D+04 -0.827029D-02 0.603688526D+04 -0.159081D-02 0.402750084D+05 -0.205098D-03 a 9 12 7 0.266489372D+00 0.999912D-03 0.182254647D+00 0.177002D+00 0.723098083D+00 -0.249844D-02 0.519318440D+00 0.388296D+00 0.186906144D+01 0.189921D-01 0.140220707D+01 0.376378D+00 0.610136506D+01 0.224851D+00 0.371819498D+01 0.224259D+00 0.145683511D+02 0.402568D+00 0.103565060D+02 0.816116D-01 0.356120429D+02 0.300595D+00 0.331516804D+02 0.188453D-01 0.918799736D+02 0.140518D+00 0.140988526D+03 0.250161D-02 0.254934313D+03 0.498568D-01 0.781776781D+03 0.144506D-01 0.276059110D+04 0.348624D-02 0.121297665D+05 0.666064D-03 0.809553886D+05 0.857970D-04 a 9 13 7 0.237302665D+00 0.477317D-04 0.182211483D+00 0.177010D+00 0.608902814D+00 -0.135632D-02 0.519485875D+00 0.388545D+00 0.153215740D+01 -0.163883D-02 0.140329412D+01 0.376423D+00 0.382678457D+01 -0.806295D-01 0.372160329D+01 0.224087D+00 0.884794566D+01 -0.317560D+00 0.103647776D+02 0.815160D-01 0.204152080D+02 -0.372897D+00 0.331739858D+02 0.188254D-01 0.489813915D+02 -0.230982D+00 0.141080652D+03 0.249888D-02 0.124084598D+03 -0.100948D+00 0.338189901D+03 -0.351612D-01 0.101828414D+04 -0.102917D-01 0.352746263D+04 -0.253239D-02 0.151906807D+05 -0.496796D-03 0.993474555D+05 -0.659328D-04 a 9 13 8 0.234990213D+00 0.959242D-04 0.157475424D+00 0.129037D+00 0.600156751D+00 -0.152823D-02 0.419435263D+00 0.334869D+00 0.150351325D+01 -0.725198D-03 0.106413395D+01 0.371825D+00 0.368268666D+01 -0.745810D-01 0.263781276D+01 0.264479D+00 0.862222191D+01 -0.312878D+00 0.664464136D+01 0.122892D+00 0.199379945D+02 -0.376031D+00 0.181207664D+02 0.379555D-01 0.478586423D+02 -0.235481D+00 0.569952572D+02 0.808161D-02 0.121241611D+03 -0.103460D+00 0.240839347D+03 0.100853D-02 0.330379193D+03 -0.361406D-01 0.994562826D+03 -0.105920D-01 0.344466697D+04 -0.260803D-02 0.148319386D+05 -0.511796D-03 0.969900217D+05 -0.679385D-04 a 10 4 2 0.953860881D+00 -0.393116D-01 0.896517936D+00 0.796932D+00 0.148245223D+02 -0.662912D+00 0.531572889D+01 0.358326D+00 0.683742037D+02 -0.383197D+00 0.453983813D+03 -0.669864D-01 a 10 5 2 0.949939491D+00 0.247252D-01 0.898702555D+00 0.796874D+00 0.119630073D+02 0.529399D+00 0.532731635D+01 0.358366D+00 0.442131718D+02 0.449320D+00 0.195967804D+03 0.131924D+00 0.129844421D+04 0.189353D-01 a 10 6 2 0.602841611D+00 0.160083D-01 0.891487560D+00 0.795302D+00 0.202360856D+01 -0.628826D-01 0.528450680D+01 0.360520D+00 0.132256461D+02 -0.551221D+00 0.490871039D+02 -0.419932D+00 0.218230389D+03 -0.116724D+00 0.144790210D+04 -0.165912D-01 a 10 5 3 0.945820110D+00 0.248700D-01 0.602588004D+00 0.611664D+00 0.119096644D+02 0.529243D+00 0.277780237D+01 0.479642D+00 0.440960588D+02 0.449473D+00 0.133282628D+02 0.129349D+00 0.195490189D+03 0.132123D+00 0.129534375D+04 0.189700D-01 a 10 6 3 0.567717142D+00 0.160211D-01 0.600574729D+00 0.611615D+00 0.190223981D+01 -0.603068D-01 0.277760431D+01 0.480359D+00 0.130328311D+02 -0.549065D+00 0.133319148D+02 0.129044D+00 0.484585898D+02 -0.423189D+00 0.215458412D+03 -0.118286D+00 0.142946057D+04 -0.168334D-01 a 10 7 3 0.523427206D+00 0.882665D-02 0.600004073D+00 0.611119D+00 0.177417194D+01 -0.379871D-01 0.277541407D+01 0.480811D+00 0.109211404D+02 -0.447782D+00 0.133240477D+02 0.129210D+00 0.352634911D+02 -0.456465D+00 0.126522484D+03 -0.175437D+00 0.557026348D+03 -0.389712D-01 0.370334745D+04 -0.522080D-02 a 10 8 3 0.508908571D+00 -0.492291D-02 0.599799957D+00 0.610928D+00 0.173546513D+01 0.256691D-01 0.277440527D+01 0.480965D+00 0.942822626D+01 0.360382D+00 0.133195147D+02 0.129286D+00 0.273552043D+02 0.462750D+00 0.850976110D+02 0.227651D+00 0.301557467D+03 0.667416D-01 0.132487762D+04 0.136000D-01 0.882226905D+04 0.177613D-02 a 10 7 4 0.517185296D+00 0.888712D-02 0.431961434D+00 -0.455876D+00 0.175110261D+01 -0.377410D-01 0.169523072D+01 -0.508504D+00 0.108955212D+02 -0.447370D+00 0.626915193D+01 -0.240136D+00 0.351908419D+02 -0.456841D+00 0.283833429D+02 -0.460935D-01 0.126278416D+03 -0.175735D+00 0.555935595D+03 -0.390513D-01 0.369605529D+04 -0.523232D-02 a 10 8 4 0.501648102D+00 -0.496569D-02 0.431866651D+00 -0.455801D+00 0.170968201D+01 0.254198D-01 0.169538591D+01 -0.508623D+00 0.939588112D+01 0.359315D+00 0.627032270D+01 -0.240128D+00 0.272496454D+02 0.462977D+00 0.283864344D+02 -0.460903D-01 0.847324954D+02 0.228428D+00 0.300193388D+03 0.670646D-01 0.131880372D+04 0.136740D-01 0.878164891D+04 0.178584D-02 a 10 9 4 0.487082775D+00 -0.210293D-02 0.431732452D+00 -0.455697D+00 0.165427762D+01 0.150970D-01 0.169521069D+01 -0.508751D+00 0.781997606D+01 0.258836D+00 0.627099874D+01 -0.240142D+00 0.204817857D+02 0.449195D+00 0.283916438D+02 -0.460793D-01 0.569553815D+02 0.290346D+00 0.174907863D+03 0.107785D+00 0.617502136D+03 0.285715D-01 0.271210673D+04 0.560396D-02 0.180764426D+05 0.727512D-03 a 10 9 5 0.487547452D+00 -0.213391D-02 0.330844379D+00 -0.333190D+00 0.165477470D+01 0.152112D-01 0.114436888D+01 -0.484796D+00 0.783631613D+01 0.259935D+00 0.368190809D+01 -0.321486D+00 0.205383449D+02 0.449226D+00 0.124400122D+02 -0.107553D+00 0.571333137D+02 0.289667D+00 0.547521880D+02 -0.171277D-01 0.175476917D+03 0.107397D+00 0.619516666D+03 0.284579D-01 0.272096655D+04 0.558107D-02 0.181355770D+05 0.724516D-03 a 10 10 5 0.377368130D+00 0.237591D-02 0.330223922D+00 -0.332807D+00 0.109794113D+01 -0.763666D-02 0.114401859D+01 -0.485445D+00 0.282610864D+01 0.435837D-01 0.368451069D+01 -0.321471D+00 0.989396653D+01 0.348795D+00 0.124489881D+02 -0.107434D+00 0.265652664D+02 0.432178D+00 0.547806530D+02 -0.171133D-01 0.748551030D+02 0.230894D+00 0.230748681D+03 0.794254D-01 0.815706960D+03 0.203814D-01 0.358424815D+04 0.396782D-02 0.238983890D+05 0.513404D-03 a 10 10 6 0.376862135D+00 0.238848D-02 0.266380485D+00 -0.241939D+00 0.109573664D+01 -0.768912D-02 0.834459587D+00 -0.438119D+00 0.281852362D+01 0.435014D-01 0.244206669D+01 -0.364518D+00 0.988801485D+01 0.348690D+00 0.711350367D+01 -0.173334D+00 0.265531951D+02 0.432286D+00 0.231680956D+02 -0.459193D-01 0.748283624D+02 0.230975D+00 0.997651837D+02 -0.655850D-02 0.230664973D+03 0.794550D-01 0.815405504D+03 0.203902D-01 0.358292166D+04 0.396958D-02 0.238895351D+05 0.513634D-03 a 10 11 6 0.346635716D+00 0.161719D-02 0.266285019D+00 -0.241891D+00 0.965487413D+00 -0.467624D-02 0.834522409D+00 -0.438297D+00 0.249318590D+01 0.282864D-01 0.244306589D+01 -0.364525D+00 0.859000885D+01 0.282355D+00 0.711672613D+01 -0.173244D+00 0.216761958D+02 0.424361D+00 0.231763823D+02 -0.458939D-01 0.564808665D+02 0.269778D+00 0.997965779D+02 -0.655517D-02 0.157420276D+03 0.109192D+00 0.483304119D+03 0.335092D-01 0.170709694D+04 0.823259D-02 0.750074634D+04 0.158337D-02 0.500413570D+05 0.204129D-03 a 10 12 6 0.331079557D+00 0.977393D-03 0.266213819D+00 -0.241820D+00 0.903734441D+00 -0.226925D-02 0.834400861D+00 -0.438352D+00 0.234620958D+01 0.191444D-01 0.244311931D+01 -0.364576D+00 0.757365792D+01 0.223067D+00 0.711767569D+01 -0.173231D+00 0.180479161D+02 0.402089D+00 0.231800145D+02 -0.458836D-01 0.440495757D+02 0.301656D+00 0.998107537D+02 -0.655365D-02 0.113562930D+03 0.141023D+00 0.315050815D+03 0.499902D-01 0.966116020D+03 0.144822D-01 0.341152366D+04 0.349344D-02 0.149899094D+05 0.667409D-03 0.100044487D+06 0.859700D-04 a 10 11 7 0.347042675D+00 0.161595D-02 0.222950142D+00 0.175654D+00 0.967133523D+00 -0.467227D-02 0.643322164D+00 0.383608D+00 0.249706877D+01 0.283541D-01 0.174780858D+01 0.377684D+00 0.859505044D+01 0.282558D+00 0.464285241D+01 0.229458D+00 0.216891152D+02 0.424321D+00 0.129053375D+02 0.846887D-01 0.565151441D+02 0.269652D+00 0.411809782D+02 0.195440D-01 0.157522908D+03 0.109119D+00 0.174994689D+03 0.257916D-02 0.483627645D+03 0.334823D-01 0.170823988D+04 0.822577D-02 0.750576823D+04 0.158204D-02 0.500748665D+05 0.203958D-03 a 10 12 7 0.331479839D+00 0.982139D-03 0.222939208D+00 0.175687D+00 0.905317898D+00 -0.228598D-02 0.643470629D+00 0.383704D+00 0.234983093D+01 0.192486D-01 0.174829037D+01 0.377626D+00 0.758479833D+01 0.223657D+00 0.464339291D+01 0.229396D+00 0.180795448D+02 0.402215D+00 0.129051836D+02 0.846857D-01 0.441353247D+02 0.301302D+00 0.411802154D+02 0.195449D-01 0.113795217D+03 0.140735D+00 0.174993510D+03 0.257920D-02 0.315693686D+03 0.498711D-01 0.968085056D+03 0.144461D-01 0.341847421D+04 0.348461D-02 0.150204395D+05 0.665714D-03 0.100248213D+06 0.857515D-04 a 10 13 7 0.302276460D+00 0.102724D-03 0.222913328D+00 0.175718D+00 0.790033483D+00 0.932644D-03 0.643687022D+00 0.383904D+00 0.201201849D+01 0.452269D-02 0.174944532D+01 0.377643D+00 0.528374166D+01 0.100870D+00 0.464673653D+01 0.229250D+00 0.119342117D+02 0.331526D+00 0.129128138D+02 0.846103D-01 0.274000871D+02 0.362793D+00 0.412002414D+02 0.195299D-01 0.656825860D+02 0.216744D+00 0.175076170D+03 0.257716D-02 0.166496379D+03 0.928208D-01 0.454393132D+03 0.319589D-01 0.137010462D+04 0.930089D-02 0.475218416D+04 0.228108D-02 0.204865380D+05 0.446628D-03 0.134097427D+06 0.591868D-04 a 10 13 8 0.302644368D+00 0.107607D-03 0.191945437D+00 0.128019D+00 0.791493814D+00 0.916548D-03 0.517510865D+00 0.329933D+00 0.201631075D+01 0.462390D-02 0.132199609D+01 0.371209D+00 0.530332292D+01 0.101696D+00 0.328622742D+01 0.269159D+00 0.119708980D+02 0.332008D+00 0.827443658D+01 0.127257D+00 0.274784148D+02 0.362353D+00 0.225023678D+02 0.395497D-01 0.658686570D+02 0.216224D+00 0.706634044D+02 0.837822D-02 0.166975633D+03 0.925378D-01 0.298568871D+03 0.104098D-02 0.455749388D+03 0.318504D-01 0.137447997D+04 0.926650D-02 0.476879828D+04 0.227179D-02 0.205663609D+05 0.444586D-03 0.134683192D+06 0.588759D-04 a 10 14 8 0.282549395D+00 0.874245D-04 0.191955723D+00 0.128074D+00 0.711919020D+00 -0.153451D-02 0.517711391D+00 0.330087D+00 0.174457042D+01 0.118171D-03 0.132272642D+01 0.371210D+00 0.407360111D+01 -0.544807D-01 0.328784647D+01 0.269037D+00 0.956000869D+01 -0.274575D+00 0.827713068D+01 0.127192D+00 0.214995750D+02 -0.373464D+00 0.225077265D+02 0.395354D-01 0.495420318D+02 -0.257875D+00 0.706798492D+02 0.837515D-02 0.118996200D+03 -0.123743D+00 0.298639645D+03 0.104056D-02 0.302042362D+03 -0.475257D-01 0.824984707D+03 -0.155804D-01 0.248473770D+04 -0.444833D-02 0.858625426D+04 -0.108762D-02 0.367726759D+05 -0.214022D-03 0.238577285D+06 -0.287158D-04 a 10 14 9 0.281217069D+00 0.101786D-03 0.119215803D+00 -0.368819D-01 0.707348567D+00 -0.158007D-02 0.297695204D+00 -0.203903D+00 0.173096405D+01 0.354205D-03 0.720619092D+00 -0.338909D+00 0.402582517D+01 -0.533591D-01 0.171667928D+01 -0.333191D+00 0.950835549D+01 -0.273879D+00 0.406443097D+01 -0.223899D+00 0.214226335D+02 -0.374370D+00 0.991703921D+01 -0.100694D+00 0.494386971D+02 -0.258739D+00 0.263603285D+02 -0.309529D-01 0.118933934D+03 -0.124029D+00 0.810811612D+02 -0.662225D-02 0.302376375D+03 -0.475454D-01 0.336831356D+03 -0.839479D-03 0.827204495D+03 -0.155517D-01 0.249481320D+04 -0.443056D-02 0.862878007D+04 -0.108140D-02 0.369602510D+05 -0.212625D-03 0.239611539D+06 -0.285498D-04 ergo-3.5/basis/aug-cc-pV(Q+d)Z0000664000175000017500000005552112743400275012635 00000000000000$ Basis =aug-cc-pV(Q+d)Z $ $ Supported Elements $ Al Si P S Cl Ar $ $ REFERENCES $ Elements References $ -------- ---------- $ Al - Ar: T. H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys., 114, 2944 (2001). $ $ Polarization and/or diffuse functions $ Elements References $ -------- --------- $ Al- Ar: T.H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys., 114, 9244 (2001) $ ************************************************************************ a 13 $ ALUMINUM (16s,11p,4d,2f,1g) -> [6s,5p,4d,2f,1g] $ ALUMINUM Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 17 7 0 419600.00000 0.00002782 -0.00000724 0.00000167 0.00000000 0.00000000 0.00000000 0.00000000 62830.00000 0.00021633 -0.00005617 0.00001296 0.00000000 0.00000000 0.00000000 0.00000000 14290.00000 0.00113754 -0.00029653 0.00006851 0.00000000 0.00000000 0.00000000 0.00000000 4038.00000000 0.00479635 -0.00124913 0.00028827 0.00000000 0.00000000 0.00000000 0.00000000 1312.00000000 0.01723890 -0.00455101 0.00105276 0.00000000 0.00000000 0.00000000 0.00000000 470.50000000 0.05380660 -0.01443930 0.00333878 0.00000000 0.00000000 0.00000000 0.00000000 181.80000000 0.14132600 -0.04034640 0.00939217 0.00000000 0.00000000 0.00000000 0.00000000 74.46000000 0.28926800 -0.09226180 0.02160470 0.00000000 0.00000000 0.00000000 0.00000000 31.90000000 0.38482500 -0.16451000 0.03958730 0.00000000 0.00000000 0.00000000 0.00000000 13.96000000 0.23285200 -0.14129600 0.03491800 0.00000000 0.00000000 0.00000000 0.00000000 5.18000000 0.02933300 0.19536500 -0.05284150 0.00000000 0.00000000 0.00000000 0.00000000 2.26500000 -0.00300574 0.57247500 -0.19187800 0.00000000 0.00000000 0.00000000 0.00000000 0.96640000 0.00166673 0.37404100 -0.25411500 0.00000000 0.00000000 0.00000000 0.00000000 0.24470000 -0.00060602 0.02341190 0.27507000 1.00000000 0.00000000 0.00000000 0.00000000 0.11840000 0.00043136 -0.00905197 0.60474300 0.00000000 1.00000000 0.00000000 0.00000000 0.05021000 -0.00012292 0.00211174 0.28762900 0.00000000 0.00000000 1.00000000 0.00000000 0.01830000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 891.30000000 0.00049175 -0.00008887 0.00000000 0.00000000 0.00000000 0.00000000 211.30000000 0.00415843 -0.00074582 0.00000000 0.00000000 0.00000000 0.00000000 68.28000000 0.02125380 -0.00387025 0.00000000 0.00000000 0.00000000 0.00000000 25.70000000 0.07640580 -0.01393500 0.00000000 0.00000000 0.00000000 0.00000000 10.63000000 0.19427700 -0.03668600 0.00000000 0.00000000 0.00000000 0.00000000 4.60200000 0.33442800 -0.06277970 0.00000000 0.00000000 0.00000000 0.00000000 2.01500000 0.37502600 -0.07896020 0.00000000 0.00000000 0.00000000 0.00000000 0.87060000 0.20404100 -0.02885890 0.00000000 0.00000000 0.00000000 0.00000000 0.29720000 0.02137380 0.23825600 1.00000000 0.00000000 0.00000000 0.00000000 0.11000000 -0.00202144 0.55136300 0.00000000 1.00000000 0.00000000 0.00000000 0.03989000 0.00081725 0.35438500 0.00000000 0.00000000 1.00000000 0.00000000 0.01210000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 1.97000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.43700000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.19500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.08000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02740000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.15400000 1.00000000 0.00000000 0.00000000 0.40100000 0.00000000 1.00000000 0.00000000 0.58200000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.35700000 1.00000000 0.00000000 0.15300000 0.00000000 1.00000000 a 14 $ SILICON (16s,11p,4d,2f,1g) -> [6s,5p,4d,2f,1g] $ SILICON Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 17 7 0 513000.00000 0.00002609 -0.00000695 0.00000178 0.00000000 0.00000000 0.00000000 0.00000000 76820.00000 0.00020290 -0.00005396 0.00001381 0.00000000 0.00000000 0.00000000 0.00000000 17470.00000 0.00106715 -0.00028472 0.00007300 0.00000000 0.00000000 0.00000000 0.00000000 4935.00000000 0.00450597 -0.00120203 0.00030767 0.00000000 0.00000000 0.00000000 0.00000000 1602.00000000 0.01623590 -0.00438397 0.00112563 0.00000000 0.00000000 0.00000000 0.00000000 574.10000000 0.05089130 -0.01397760 0.00358435 0.00000000 0.00000000 0.00000000 0.00000000 221.50000000 0.13515500 -0.03935160 0.01017280 0.00000000 0.00000000 0.00000000 0.00000000 90.54000000 0.28129200 -0.09142830 0.02375200 0.00000000 0.00000000 0.00000000 0.00000000 38.74000000 0.38533600 -0.16560900 0.04434830 0.00000000 0.00000000 0.00000000 0.00000000 16.95000000 0.24565100 -0.15250500 0.04190410 0.00000000 0.00000000 0.00000000 0.00000000 6.45200000 0.03431450 0.16852400 -0.05025040 0.00000000 0.00000000 0.00000000 0.00000000 2.87400000 -0.00334884 0.56928400 -0.21657800 0.00000000 0.00000000 0.00000000 0.00000000 1.25000000 0.00187625 0.39805600 -0.28644800 0.00000000 0.00000000 0.00000000 0.00000000 0.35990000 -0.00069333 0.02915090 0.26325600 1.00000000 0.00000000 0.00000000 0.00000000 0.16990000 0.00043831 -0.00848976 0.63490000 0.00000000 1.00000000 0.00000000 0.00000000 0.07066000 -0.00012262 0.00199603 0.29083200 0.00000000 0.00000000 1.00000000 0.00000000 0.02750000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 1122.00000000 0.00044814 -0.00009649 0.00000000 0.00000000 0.00000000 0.00000000 266.00000000 0.00381639 -0.00081197 0.00000000 0.00000000 0.00000000 0.00000000 85.92000000 0.01981050 -0.00430087 0.00000000 0.00000000 0.00000000 0.00000000 32.33000000 0.07270170 -0.01575020 0.00000000 0.00000000 0.00000000 0.00000000 13.37000000 0.18983900 -0.04295410 0.00000000 0.00000000 0.00000000 0.00000000 5.80000000 0.33567200 -0.07525740 0.00000000 0.00000000 0.00000000 0.00000000 2.55900000 0.37936500 -0.09714460 0.00000000 0.00000000 0.00000000 0.00000000 1.12400000 0.20119300 -0.02275070 0.00000000 0.00000000 0.00000000 0.00000000 0.39880000 0.02085150 0.29198800 1.00000000 0.00000000 0.00000000 0.00000000 0.15330000 -0.00170258 0.55067000 0.00000000 1.00000000 0.00000000 0.00000000 0.05728000 0.00075005 0.29761800 0.00000000 0.00000000 1.00000000 0.00000000 0.02000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 2.64500000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.60800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.27200000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11300000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04140000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.21200000 1.00000000 0.00000000 0.00000000 0.54100000 0.00000000 1.00000000 0.00000000 0.84600000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.46100000 1.00000000 0.00000000 0.21200000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (16s,11p,4d,2f,1g) -> [6s,5p,4d,2f,1g] $ PHOSPHORUS Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 17 7 0 615200.00000 0.00002475 -0.00000672 0.00000185 0.00000000 0.00000000 0.00000000 0.00000000 92120.00000 0.00019247 -0.00005223 0.00001434 0.00000000 0.00000000 0.00000000 0.00000000 20950.00000 0.00101202 -0.00027536 0.00007572 0.00000000 0.00000000 0.00000000 0.00000000 5920.00000000 0.00427261 -0.00116307 0.00031920 0.00000000 0.00000000 0.00000000 0.00000000 1922.00000000 0.01541610 -0.00424281 0.00116851 0.00000000 0.00000000 0.00000000 0.00000000 688.00000000 0.04859760 -0.01361140 0.00374267 0.00000000 0.00000000 0.00000000 0.00000000 265.00000000 0.13006000 -0.03851140 0.01068170 0.00000000 0.00000000 0.00000000 0.00000000 108.20000000 0.27451400 -0.09066430 0.02526570 0.00000000 0.00000000 0.00000000 0.00000000 46.22000000 0.38540200 -0.16658400 0.04792830 0.00000000 0.00000000 0.00000000 0.00000000 20.23000000 0.25593400 -0.16144700 0.04770960 0.00000000 0.00000000 0.00000000 0.00000000 7.85900000 0.03912370 0.14678100 -0.04665250 0.00000000 0.00000000 0.00000000 0.00000000 3.54700000 -0.00368010 0.56668200 -0.23496800 0.00000000 0.00000000 0.00000000 0.00000000 1.56400000 0.00208211 0.41643300 -0.31133700 0.00000000 0.00000000 0.00000000 0.00000000 0.48880000 -0.00078848 0.03438440 0.25710900 1.00000000 0.00000000 0.00000000 0.00000000 0.22660000 0.00045405 -0.00780638 0.65365500 0.00000000 1.00000000 0.00000000 0.00000000 0.09331000 -0.00012664 0.00192259 0.29421200 0.00000000 0.00000000 1.00000000 0.00000000 0.03540000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 1367.00000000 0.00042102 -0.00010083 0.00000000 0.00000000 0.00000000 0.00000000 324.00000000 0.00360985 -0.00085450 0.00000000 0.00000000 0.00000000 0.00000000 104.60000000 0.01892170 -0.00457116 0.00000000 0.00000000 0.00000000 0.00000000 39.37000000 0.07055600 -0.01703270 0.00000000 0.00000000 0.00000000 0.00000000 16.26000000 0.18815700 -0.04752040 0.00000000 0.00000000 0.00000000 0.00000000 7.05600000 0.33870900 -0.08527860 0.00000000 0.00000000 0.00000000 0.00000000 3.13000000 0.38194300 -0.10967600 0.00000000 0.00000000 0.00000000 0.00000000 1.39400000 0.19526100 -0.01611810 0.00000000 0.00000000 0.00000000 0.00000000 0.51790000 0.01994160 0.32289300 1.00000000 0.00000000 0.00000000 0.00000000 0.20320000 -0.00135121 0.54573800 0.00000000 1.00000000 0.00000000 0.00000000 0.07698000 0.00051714 0.26853800 0.00000000 0.00000000 1.00000000 0.00000000 0.02720000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 3.34300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.80700000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.36500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.15400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.28000000 1.00000000 0.00000000 0.00000000 0.70300000 0.00000000 1.00000000 0.00000000 0.10900000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.59700000 1.00000000 0.00000000 0.25000000 0.00000000 1.00000000 a 16 $ SULFUR (16s,11p,4d,2f,1g) -> [6s,5p,4d,2f,1g] $ SULFUR Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 17 7 0 727800.00000 0.00002360 -0.00000652 0.00000189 0.00000000 0.00000000 0.00000000 0.00000000 109000.00000 0.00018348 -0.00005066 0.00001469 0.00000000 0.00000000 0.00000000 0.00000000 24800.00000 0.00096428 -0.00026683 0.00007755 0.00000000 0.00000000 0.00000000 0.00000000 7014.00000000 0.00406537 -0.00112601 0.00032651 0.00000000 0.00000000 0.00000000 0.00000000 2278.00000000 0.01469730 -0.00411186 0.00119686 0.00000000 0.00000000 0.00000000 0.00000000 814.70000000 0.04650810 -0.01324540 0.00384799 0.00000000 0.00000000 0.00000000 0.00000000 313.40000000 0.12550800 -0.03770040 0.01105390 0.00000000 0.00000000 0.00000000 0.00000000 127.70000000 0.26843300 -0.08985540 0.02646450 0.00000000 0.00000000 0.00000000 0.00000000 54.48000000 0.38480900 -0.16709800 0.05087710 0.00000000 0.00000000 0.00000000 0.00000000 23.85000000 0.26537200 -0.16935400 0.05300300 0.00000000 0.00000000 0.00000000 0.00000000 9.42800000 0.04373260 0.12782400 -0.04255180 0.00000000 0.00000000 0.00000000 0.00000000 4.29000000 -0.00378807 0.56486200 -0.25085300 0.00000000 0.00000000 0.00000000 0.00000000 1.90900000 0.00218083 0.43176700 -0.33315200 0.00000000 0.00000000 0.00000000 0.00000000 0.62700000 -0.00083694 0.03893980 0.26379600 1.00000000 0.00000000 0.00000000 0.00000000 0.28730000 0.00044809 -0.00730260 0.66684900 0.00000000 1.00000000 0.00000000 0.00000000 0.11720000 -0.00012529 0.00192327 0.28845100 0.00000000 0.00000000 1.00000000 0.00000000 0.04280000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 1546.00000000 0.00044118 -0.00011311 0.00000000 0.00000000 0.00000000 0.00000000 366.40000000 0.00377571 -0.00095858 0.00000000 0.00000000 0.00000000 0.00000000 118.40000000 0.01983600 -0.00513471 0.00000000 0.00000000 0.00000000 0.00000000 44.53000000 0.07420630 -0.01926410 0.00000000 0.00000000 0.00000000 0.00000000 18.38000000 0.19732700 -0.05359800 0.00000000 0.00000000 0.00000000 0.00000000 7.96500000 0.35185100 -0.09603330 0.00000000 0.00000000 0.00000000 0.00000000 3.54100000 0.37868700 -0.11818300 0.00000000 0.00000000 0.00000000 0.00000000 1.59100000 0.17093100 0.00923194 0.00000000 0.00000000 0.00000000 0.00000000 0.62050000 0.01515870 0.35884100 1.00000000 0.00000000 0.00000000 0.00000000 0.24200000 0.00006720 0.52581800 0.00000000 1.00000000 0.00000000 0.00000000 0.09014000 0.00040549 0.24887200 0.00000000 0.00000000 1.00000000 0.00000000 0.03170000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 4.15900000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.01900000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.46400000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.19400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07220000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.33500000 1.00000000 0.00000000 0.00000000 0.86900000 0.00000000 1.00000000 0.00000000 0.14000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.68300000 1.00000000 0.00000000 0.29700000 0.00000000 1.00000000 a 17 $ CHLORINE (16s,11p,4d,2f,1g) -> [6s,5p,4d,2f,1g] $ CHLORINE Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 17 7 0 834900.00000 0.00002317 -0.00000650 0.00000197 0.00000000 0.00000000 0.00000000 0.00000000 125000.00000 0.00018015 -0.00005049 0.00001526 0.00000000 0.00000000 0.00000000 0.00000000 28430.00000 0.00094778 -0.00026611 0.00008061 0.00000000 0.00000000 0.00000000 0.00000000 8033.00000000 0.00400139 -0.00112499 0.00033996 0.00000000 0.00000000 0.00000000 0.00000000 2608.00000000 0.01446290 -0.00410497 0.00124551 0.00000000 0.00000000 0.00000000 0.00000000 933.90000000 0.04565860 -0.01319870 0.00399612 0.00000000 0.00000000 0.00000000 0.00000000 360.00000000 0.12324800 -0.03753420 0.01147510 0.00000000 0.00000000 0.00000000 0.00000000 147.00000000 0.26436900 -0.08972330 0.02755040 0.00000000 0.00000000 0.00000000 0.00000000 62.88000000 0.38298900 -0.16767100 0.05329170 0.00000000 0.00000000 0.00000000 0.00000000 27.60000000 0.27093400 -0.17476300 0.05712460 0.00000000 0.00000000 0.00000000 0.00000000 11.08000000 0.04714040 0.11490900 -0.03952010 0.00000000 0.00000000 0.00000000 0.00000000 5.07500000 -0.00371766 0.56361800 -0.26434300 0.00000000 0.00000000 0.00000000 0.00000000 2.27800000 0.00219158 0.44160600 -0.34929100 0.00000000 0.00000000 0.00000000 0.00000000 0.77750000 -0.00084985 0.04266970 0.26967100 1.00000000 0.00000000 0.00000000 0.00000000 0.35270000 0.00042466 -0.00667229 0.67607300 0.00000000 1.00000000 0.00000000 0.00000000 0.14310000 -0.00012002 0.00190729 0.28467900 0.00000000 0.00000000 1.00000000 0.00000000 0.05190000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 1703.00000000 0.00047404 -0.00012827 0.00000000 0.00000000 0.00000000 0.00000000 403.60000000 0.00406412 -0.00109356 0.00000000 0.00000000 0.00000000 0.00000000 130.30000000 0.02133550 -0.00583429 0.00000000 0.00000000 0.00000000 0.00000000 49.05000000 0.07946110 -0.02192580 0.00000000 0.00000000 0.00000000 0.00000000 20.26000000 0.20892700 -0.06013850 0.00000000 0.00000000 0.00000000 0.00000000 8.78700000 0.36494500 -0.10692900 0.00000000 0.00000000 0.00000000 0.00000000 3.91900000 0.37172500 -0.12245400 0.00000000 0.00000000 0.00000000 0.00000000 1.76500000 0.14629200 0.03836190 0.00000000 0.00000000 0.00000000 0.00000000 0.72070000 0.01079060 0.38525600 1.00000000 0.00000000 0.00000000 0.00000000 0.28390000 0.00117004 0.50726500 0.00000000 1.00000000 0.00000000 0.00000000 0.10600000 0.00033941 0.22721800 0.00000000 0.00000000 1.00000000 0.00000000 0.03760000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 5.19100000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.27600000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.58300000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.24300000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09120000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.42300000 1.00000000 0.00000000 0.00000000 1.08900000 0.00000000 1.00000000 0.00000000 0.21700000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.82700000 1.00000000 0.00000000 0.37800000 0.00000000 1.00000000 a 18 $ ARGON (16s,11p,4d,2f,1g) -> [6s,5p,4d,2f,1g] $ ARGON Diffuse (1s,1p,1d,1f,1g) $ S-TYPE FUNCTIONS 17 7 0 950600.00000 0.00002275 -0.00000646 0.00000202 0.00000000 0.00000000 0.00000000 0.00000000 142300.00000 0.00017694 -0.00005023 0.00001569 0.00000000 0.00000000 0.00000000 0.00000000 32360.00000 0.00093128 -0.00026480 0.00008286 0.00000000 0.00000000 0.00000000 0.00000000 9145.00000000 0.00392860 -0.00111895 0.00034926 0.00000000 0.00000000 0.00000000 0.00000000 2970.00000000 0.01420640 -0.00408276 0.00127976 0.00000000 0.00000000 0.00000000 0.00000000 1064.00000000 0.04481140 -0.01312160 0.00410365 0.00000000 0.00000000 0.00000000 0.00000000 410.80000000 0.12100100 -0.03728550 0.01177890 0.00000000 0.00000000 0.00000000 0.00000000 168.00000000 0.26057900 -0.08947090 0.02838680 0.00000000 0.00000000 0.00000000 0.00000000 71.99000000 0.38136400 -0.16805400 0.05524060 0.00000000 0.00000000 0.00000000 0.00000000 31.67000000 0.27605800 -0.17959400 0.06074920 0.00000000 0.00000000 0.00000000 0.00000000 12.89000000 0.05051790 0.10295300 -0.03620120 0.00000000 0.00000000 0.00000000 0.00000000 5.92900000 -0.00359866 0.56263000 -0.27539800 0.00000000 0.00000000 0.00000000 0.00000000 2.67800000 0.00218798 0.45035500 -0.36284500 0.00000000 0.00000000 0.00000000 0.00000000 0.94160000 -0.00086236 0.04606070 0.27311800 1.00000000 0.00000000 0.00000000 0.00000000 0.42390000 0.00040523 -0.00603691 0.68289900 0.00000000 1.00000000 0.00000000 0.00000000 0.17140000 -0.00011616 0.00188744 0.28341700 0.00000000 0.00000000 1.00000000 0.00000000 0.06100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 1890.00000000 0.00049575 -0.00013886 0.00000000 0.00000000 0.00000000 0.00000000 447.80000000 0.00425172 -0.00118870 0.00000000 0.00000000 0.00000000 0.00000000 144.60000000 0.02232770 -0.00632553 0.00000000 0.00000000 0.00000000 0.00000000 54.46000000 0.08308780 -0.02388130 0.00000000 0.00000000 0.00000000 0.00000000 22.51000000 0.21711000 -0.06492380 0.00000000 0.00000000 0.00000000 0.00000000 9.77400000 0.37450700 -0.11544400 0.00000000 0.00000000 0.00000000 0.00000000 4.36800000 0.36644500 -0.12365100 0.00000000 0.00000000 0.00000000 0.00000000 1.95900000 0.12924500 0.06490550 0.00000000 0.00000000 0.00000000 0.00000000 0.82600000 0.00692249 0.40363300 1.00000000 0.00000000 0.00000000 0.00000000 0.32970000 0.00083615 0.49059200 0.00000000 1.00000000 0.00000000 0.00000000 0.12420000 -0.00015267 0.20852800 0.00000000 0.00000000 1.00000000 0.00000000 0.04350000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 6.31500000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.56200000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.71500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.29700000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.54300000 1.00000000 0.00000000 0.00000000 1.32500000 0.00000000 1.00000000 0.00000000 0.29400000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 1.00700000 1.00000000 0.00000000 0.45900000 0.00000000 1.00000000 ergo-3.5/basis/cc-pVTZ0000775000175000017500000051027712743400275011535 00000000000000$ cc-pVTZ EMSL Basis Set Exchange Library 11/10/15 12:34 AM $ Elements References $ -------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $ Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $ Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $ Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ Sc - Zn: N.B. Balabanov and K.A. Peterson, J. Chem. Phys, 123, 064107 (2005) $ Ga - Kr: A.K. Wilson, D.E. Woon, K.A. Peterson, T.H. Dunning, Jr., J. Chem. Phys., 110, 7667 (1999) $ $ HYDROGEN (5s,2p,1d) -> [3s,2p,1d] $ HYDROGEN (5s,2p,1d) -> [3s,2p,1d] a 1 $ S-TYPE FUNCTIONS 5 3 0 33.8700000 0.0060680 0.0000000 0.0000000 5.0950000 0.0453080 0.0000000 0.0000000 1.1590000 0.2028220 0.0000000 0.0000000 0.3258000 0.0000000 1.0000000 0.0000000 0.1027000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 2 2 0 1.4070000 1.0000000 0.0000000 0.3880000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 1.0570000 1.0000000 $ HELIUM (6s,2p,1d) -> [3s,2p,1d] $ HELIUM (6s,2p,1d) -> [3s,2p,1d] a 2 $ S-TYPE FUNCTIONS 6 3 0 234.0000000 0.0025870 0.0000000 0.0000000 35.1600000 0.0195330 0.0000000 0.0000000 7.9890000 0.0909980 0.0000000 0.0000000 2.2120000 0.2720500 0.0000000 0.0000000 0.6669000 0.0000000 1.0000000 0.0000000 0.2089000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 2 2 0 3.0440000 1.0000000 0.0000000 0.7580000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 1.9650000 1.0000000 $ LITHIUM (11s,5p,2d,1f) -> [4s,3p,2d,1f] $ LITHIUM (11s,5p,2d,1f) -> [4s,3p,2d,1f] a 3 $ S-TYPE FUNCTIONS 11 4 0 5988.0000000 0.0001330 -0.0000210 0.0000000 0.0000000 898.9000000 0.0010250 -0.0001610 0.0000000 0.0000000 205.9000000 0.0052720 -0.0008200 0.0000000 0.0000000 59.2400000 0.0209290 -0.0033260 0.0000000 0.0000000 19.8700000 0.0663400 -0.0105190 0.0000000 0.0000000 7.4060000 0.1657750 -0.0280970 0.0000000 0.0000000 2.9300000 0.3150380 -0.0559360 0.0000000 0.0000000 1.1890000 0.3935230 -0.0992370 0.0000000 0.0000000 0.4798000 0.1908700 -0.1121890 0.0000000 0.0000000 0.0750900 0.0000000 0.0000000 1.0000000 0.0000000 0.0283200 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 3.2660000 0.0086300 0.0000000 0.0000000 0.6511000 0.0475380 0.0000000 0.0000000 0.1696000 0.2097720 0.0000000 0.0000000 0.0557800 0.0000000 1.0000000 0.0000000 0.0205000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.1874000 1.0000000 0.0000000 0.0801000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.1829000 1.0000000 $ BERYLLIUM (11s,5p,2d,1f) -> [4s,3p,2d,1f] $ BERYLLIUM (11s,5p,2d,1f) -> [4s,3p,2d,1f] a 4 $ S-TYPE FUNCTIONS 11 4 0 6863.0000000 0.0002360 -0.0000430 0.0000000 0.0000000 1030.0000000 0.0018260 -0.0003330 0.0000000 0.0000000 234.7000000 0.0094520 -0.0017360 0.0000000 0.0000000 66.5600000 0.0379570 -0.0070120 0.0000000 0.0000000 21.6900000 0.1199650 -0.0231260 0.0000000 0.0000000 7.7340000 0.2821620 -0.0581380 0.0000000 0.0000000 2.9160000 0.4274040 -0.1145560 0.0000000 0.0000000 1.1300000 0.2662780 -0.1359080 0.0000000 0.0000000 0.1101000 -0.0072750 0.5774410 0.0000000 0.0000000 0.2577000 0.0000000 0.0000000 1.0000000 0.0000000 0.0440900 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 7.4360000 0.0107360 0.0000000 0.0000000 1.5770000 0.0628540 0.0000000 0.0000000 0.4352000 0.2481800 0.0000000 0.0000000 0.1438000 0.0000000 1.0000000 0.0000000 0.0499400 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.3480000 1.0000000 0.0000000 0.1803000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.3250000 1.0000000 $ BORON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ BORON (10s,5p,2d,1f) -> [4s,3p,2d,1f] a 5 $ S-TYPE FUNCTIONS 10 4 0 5473.0000000 0.0005550 -0.0001120 0.0000000 0.0000000 820.9000000 0.0042910 -0.0008680 0.0000000 0.0000000 186.8000000 0.0219490 -0.0044840 0.0000000 0.0000000 52.8300000 0.0844410 -0.0176830 0.0000000 0.0000000 17.0800000 0.2385570 -0.0536390 0.0000000 0.0000000 5.9990000 0.4350720 -0.1190050 0.0000000 0.0000000 2.2080000 0.3419550 -0.1658240 0.0000000 0.0000000 0.2415000 -0.0095450 0.5959810 0.0000000 0.0000000 0.5879000 0.0000000 0.0000000 1.0000000 0.0000000 0.0861000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 12.0500000 0.0131180 0.0000000 0.0000000 2.6130000 0.0798960 0.0000000 0.0000000 0.7475000 0.2772750 0.0000000 0.0000000 0.2385000 0.0000000 1.0000000 0.0000000 0.0769800 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.6610000 1.0000000 0.0000000 0.1990000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.4900000 1.0000000 $ CARBON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ CARBON (10s,5p,2d,1f) -> [4s,3p,2d,1f] a 6 $ S-TYPE FUNCTIONS 10 4 0 8236.0000000 0.0005310 -0.0001130 0.0000000 0.0000000 1235.0000000 0.0041080 -0.0008780 0.0000000 0.0000000 280.8000000 0.0210870 -0.0045400 0.0000000 0.0000000 79.2700000 0.0818530 -0.0181330 0.0000000 0.0000000 25.5900000 0.2348170 -0.0557600 0.0000000 0.0000000 8.9970000 0.4344010 -0.1268950 0.0000000 0.0000000 3.3190000 0.3461290 -0.1703520 0.0000000 0.0000000 0.3643000 -0.0089830 0.5986840 0.0000000 0.0000000 0.9059000 0.0000000 0.0000000 1.0000000 0.0000000 0.1285000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 18.7100000 0.0140310 0.0000000 0.0000000 4.1330000 0.0868660 0.0000000 0.0000000 1.2000000 0.2902160 0.0000000 0.0000000 0.3827000 0.0000000 1.0000000 0.0000000 0.1209000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 1.0970000 1.0000000 0.0000000 0.3180000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.7610000 1.0000000 $ NITROGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ NITROGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] a 7 $ S-TYPE FUNCTIONS 10 4 0 11420.0000000 0.0005230 -0.0001150 0.0000000 0.0000000 1712.0000000 0.0040450 -0.0008950 0.0000000 0.0000000 389.3000000 0.0207750 -0.0046240 0.0000000 0.0000000 110.0000000 0.0807270 -0.0185280 0.0000000 0.0000000 35.5700000 0.2330740 -0.0573390 0.0000000 0.0000000 12.5400000 0.4335010 -0.1320760 0.0000000 0.0000000 4.6440000 0.3474720 -0.1725100 0.0000000 0.0000000 0.5118000 -0.0085080 0.5999440 0.0000000 0.0000000 1.2930000 0.0000000 0.0000000 1.0000000 0.0000000 0.1787000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 26.6300000 0.0146700 0.0000000 0.0000000 5.9480000 0.0917640 0.0000000 0.0000000 1.7420000 0.2986830 0.0000000 0.0000000 0.5550000 0.0000000 1.0000000 0.0000000 0.1725000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 1.6540000 1.0000000 0.0000000 0.4690000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 1.0930000 1.0000000 $ OXYGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ OXYGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] a 8 $ S-TYPE FUNCTIONS 10 4 0 15330.0000000 0.0005080 -0.0001150 0.0000000 0.0000000 2299.0000000 0.0039290 -0.0008950 0.0000000 0.0000000 522.4000000 0.0202430 -0.0046360 0.0000000 0.0000000 147.3000000 0.0791810 -0.0187240 0.0000000 0.0000000 47.5500000 0.2306870 -0.0584630 0.0000000 0.0000000 16.7600000 0.4331180 -0.1364630 0.0000000 0.0000000 6.2070000 0.3502600 -0.1757400 0.0000000 0.0000000 0.6882000 -0.0081540 0.6034180 0.0000000 0.0000000 1.7520000 0.0000000 0.0000000 1.0000000 0.0000000 0.2384000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 34.4600000 0.0159280 0.0000000 0.0000000 7.7490000 0.0997400 0.0000000 0.0000000 2.2800000 0.3104920 0.0000000 0.0000000 0.7156000 0.0000000 1.0000000 0.0000000 0.2140000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 2.3140000 1.0000000 0.0000000 0.6450000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 1.4280000 1.0000000 $ FLUORINE (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ FLUORINE (10s,5p,2d,1f) -> [4s,3p,2d,1f] a 9 $ S-TYPE FUNCTIONS 10 4 0 19500.0000000 0.0005070 -0.0001170 0.0000000 0.0000000 2923.0000000 0.0039230 -0.0009120 0.0000000 0.0000000 664.5000000 0.0202000 -0.0047170 0.0000000 0.0000000 187.5000000 0.0790100 -0.0190860 0.0000000 0.0000000 60.6200000 0.2304390 -0.0596550 0.0000000 0.0000000 21.4200000 0.4328720 -0.1400100 0.0000000 0.0000000 7.9500000 0.3499640 -0.1767820 0.0000000 0.0000000 0.8815000 -0.0078920 0.6050430 0.0000000 0.0000000 2.2570000 0.0000000 0.0000000 1.0000000 0.0000000 0.3041000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 43.8800000 0.0166650 0.0000000 0.0000000 9.9260000 0.1044720 0.0000000 0.0000000 2.9300000 0.3172600 0.0000000 0.0000000 0.9132000 0.0000000 1.0000000 0.0000000 0.2672000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 3.1070000 1.0000000 0.0000000 0.8550000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 1.9170000 1.0000000 $ NEON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ NEON (10s,5p,2d,1f) -> [4s,3p,2d,1f] a 10 $ S-TYPE FUNCTIONS 10 4 0 24350.0000000 0.0005020 -0.0001180 0.0000000 0.0000000 3650.0000000 0.0038810 -0.0009150 0.0000000 0.0000000 829.6000000 0.0199970 -0.0047370 0.0000000 0.0000000 234.0000000 0.0784180 -0.0192330 0.0000000 0.0000000 75.6100000 0.2296760 -0.0603690 0.0000000 0.0000000 26.7300000 0.4327220 -0.1425080 0.0000000 0.0000000 9.9270000 0.3506420 -0.1777100 0.0000000 0.0000000 1.1020000 -0.0076450 0.6058360 0.0000000 0.0000000 2.8360000 0.0000000 0.0000000 1.0000000 0.0000000 0.3782000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 54.7000000 0.0171510 0.0000000 0.0000000 12.4300000 0.1076560 0.0000000 0.0000000 3.6790000 0.3216810 0.0000000 0.0000000 1.1430000 0.0000000 1.0000000 0.0000000 0.3300000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 4.0140000 1.0000000 0.0000000 1.0960000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 2.5440000 1.0000000 $ SODIUM (16s,10p,2d,1f) -> [5s,4p,2d,1f] $ SODIUM (16s,10p,2d,1f) -> [5s,4p,2d,1f] a 11 $ S-TYPE FUNCTIONS 16 5 0 423000.0000000 0.180618D-04 -0.440653D-05 0.663019D-06 0.0000000 0.0000000 63340.0000000 0.140430D-03 -0.343443D-04 0.515769D-05 0.0000000 0.0000000 14410.0000000 0.738438D-03 -0.180114D-03 0.271250D-04 0.0000000 0.0000000 4077.0000000 0.311182D-02 -0.763900D-03 0.114635D-03 0.0000000 0.0000000 1328.0000000 0.112081D-01 -0.275248D-02 0.415118D-03 0.0000000 0.0000000 478.6000000 0.352828D-01 -0.886016D-02 0.132978D-02 0.0000000 0.0000000 186.2000000 0.959897D-01 -0.247939D-01 0.375595D-02 0.0000000 0.0000000 76.9200000 0.213735D+00 -0.605995D-01 0.914025D-02 0.0000000 0.0000000 33.3200000 0.348688D+00 -0.116446D+00 0.179859D-01 0.0000000 0.0000000 15.0000000 0.324566D+00 -0.162437D+00 0.251477D-01 0.0000000 0.0000000 6.8690000 0.112633D+00 -0.438891D-01 0.763522D-02 0.0000000 0.0000000 2.6830000 0.706797D-02 0.337917D+00 -0.614589D-01 0.0000000 0.0000000 1.1090000 0.598010D-03 0.561347D+00 -0.115721D+00 0.0000000 0.0000000 0.0601500 -0.530870D-05 0.406754D-02 0.626406D+00 0.0000000 0.0000000 0.4540000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0238200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 4 0 243.3000000 0.224392D-02 -0.222401D-03 0.0000000 0.0000000 57.3900000 0.173997D-01 -0.174277D-02 0.0000000 0.0000000 18.1000000 0.774125D-01 -0.775456D-02 0.0000000 0.0000000 6.5750000 0.219102D+00 -0.225187D-01 0.0000000 0.0000000 2.5210000 0.378522D+00 -0.384330D-01 0.0000000 0.0000000 0.9607000 0.394902D+00 -0.450177D-01 0.0000000 0.0000000 0.3512000 0.160424D+00 -0.192132D-01 0.0000000 0.0000000 0.0982700 0.233311D-02 0.182697D+00 0.0000000 0.0000000 0.0373400 0.0000000 0.0000000 1.0000000 0.0000000 0.0150000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.1367000 1.0000000 0.0000000 0.0636000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.1397000 1.0000000 $ MAGNESIUM (15s,10p,2d,1f) -> [5s,4p,2d,1f] $ MAGNESIUM (15s,10p,2d,1f) -> [5s,4p,2d,1f] a 12 $ S-TYPE FUNCTIONS 15 5 0 164900.0000000 0.729929D-04 -0.184248D-04 0.355176D-05 0.0000000 0.0000000 24710.0000000 0.566652D-03 -0.143500D-03 0.276420D-04 0.0000000 0.0000000 5628.0000000 0.296269D-02 -0.748710D-03 0.144404D-03 0.0000000 0.0000000 1596.0000000 0.122962D-01 -0.314407D-02 0.605744D-03 0.0000000 0.0000000 521.0000000 0.427324D-01 -0.110481D-01 0.213527D-02 0.0000000 0.0000000 188.0000000 0.123013D+00 -0.336058D-01 0.649934D-02 0.0000000 0.0000000 73.0100000 0.274832D+00 -0.825946D-01 0.161446D-01 0.0000000 0.0000000 29.9000000 0.401818D+00 -0.159314D+00 0.315766D-01 0.0000000 0.0000000 12.5400000 0.264697D+00 -0.152888D+00 0.316374D-01 0.0000000 0.0000000 4.3060000 0.332612D-01 0.190849D+00 -0.439140D-01 0.0000000 0.0000000 1.8260000 -0.441335D-02 0.579964D+00 -0.151093D+00 0.0000000 0.0000000 0.7417000 0.206024D-02 0.372029D+00 -0.217668D+00 0.0000000 0.0000000 0.0761200 0.708195D-03 -0.119344D-01 0.547245D+00 0.0000000 0.0000000 0.1457000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0331000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 4 0 316.9000000 0.207532D-02 -0.329727D-03 0.0000000 0.0000000 74.8600000 0.162869D-01 -0.258754D-02 0.0000000 0.0000000 23.7200000 0.738697D-01 -0.119120D-01 0.0000000 0.0000000 8.6690000 0.214297D+00 -0.350227D-01 0.0000000 0.0000000 3.3630000 0.382154D+00 -0.639968D-01 0.0000000 0.0000000 1.3100000 0.398178D+00 -0.704436D-01 0.0000000 0.0000000 0.4911000 0.152878D+00 -0.375836D-01 0.0000000 0.0000000 0.2364000 -0.437540D-02 0.177043D+00 0.0000000 0.0000000 0.0873300 0.0000000 0.0000000 1.0000000 0.0000000 0.0323700 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.1260000 1.0000000 0.0000000 0.2940000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.2520000 1.0000000 $ ALUMINUM (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ ALUMINUM (15s,9p,2d,1f) -> [5s,4p,2d,1f] a 13 $ S-TYPE FUNCTIONS 15 5 0 205500.0000000 0.678836D-04 -0.176377D-04 0.407315D-05 0.0000000 0.0000000 30780.0000000 0.527149D-03 -0.137195D-03 0.316566D-04 0.0000000 0.0000000 7006.0000000 0.276203D-02 -0.718910D-03 0.166116D-03 0.0000000 0.0000000 1985.0000000 0.114728D-01 -0.301146D-02 0.694992D-03 0.0000000 0.0000000 649.1000000 0.398188D-01 -0.106014D-01 0.245511D-02 0.0000000 0.0000000 235.0000000 0.115040D+00 -0.321345D-01 0.744598D-02 0.0000000 0.0000000 91.6200000 0.260887D+00 -0.803156D-01 0.188253D-01 0.0000000 0.0000000 37.6700000 0.396386D+00 -0.156794D+00 0.372772D-01 0.0000000 0.0000000 15.9100000 0.284597D+00 -0.168376D+00 0.419496D-01 0.0000000 0.0000000 5.8500000 0.444583D-01 0.126879D+00 -0.354375D-01 0.0000000 0.0000000 2.5420000 -0.489838D-02 0.561494D+00 -0.175132D+00 0.0000000 0.0000000 1.0570000 0.261253D-02 0.436613D+00 -0.276203D+00 0.0000000 0.0000000 0.1455000 0.722068D-03 -0.114563D-01 0.652809D+00 0.0000000 0.0000000 0.2931000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0565000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 444.4000000 0.162786D-02 -0.286341D-03 0.0000000 0.0000000 105.1000000 0.130687D-01 -0.242308D-02 0.0000000 0.0000000 33.4700000 0.612341D-01 -0.108658D-01 0.0000000 0.0000000 12.3300000 0.187870D+00 -0.364307D-01 0.0000000 0.0000000 4.8690000 0.360452D+00 -0.641074D-01 0.0000000 0.0000000 1.9610000 0.408454D+00 -0.972239D-01 0.0000000 0.0000000 0.1888000 0.976514D-02 0.503448D+00 0.0000000 0.0000000 0.7834000 0.0000000 0.0000000 1.0000000 0.0000000 0.0555700 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.1090000 1.0000000 0.0000000 0.3330000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.2440000 1.0000000 $ SILICON (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ SILICON (15s,9p,2d,1f) -> [5s,4p,2d,1f] a 14 $ S-TYPE FUNCTIONS 15 5 0 254900.0000000 0.625101D-04 -0.166370D-04 0.426257D-05 0.0000000 0.0000000 38190.0000000 0.485553D-03 -0.129310D-03 0.331062D-04 0.0000000 0.0000000 8690.0000000 0.254516D-02 -0.678828D-03 0.174015D-03 0.0000000 0.0000000 2462.0000000 0.105866D-01 -0.284117D-02 0.727574D-03 0.0000000 0.0000000 804.8000000 0.368787D-01 -0.100551D-01 0.258333D-02 0.0000000 0.0000000 291.3000000 0.107479D+00 -0.305774D-01 0.786354D-02 0.0000000 0.0000000 113.6000000 0.247936D+00 -0.777256D-01 0.202155D-01 0.0000000 0.0000000 46.7500000 0.390927D+00 -0.154236D+00 0.407320D-01 0.0000000 0.0000000 19.8200000 0.302026D+00 -0.180368D+00 0.499358D-01 0.0000000 0.0000000 7.7080000 0.559236D-01 0.798218D-01 -0.249396D-01 0.0000000 0.0000000 3.3400000 -0.402406D-02 0.547441D+00 -0.190350D+00 0.0000000 0.0000000 1.4020000 0.258030D-02 0.480119D+00 -0.318350D+00 0.0000000 0.0000000 0.2070000 0.607930D-03 -0.106996D-01 0.681180D+00 0.0000000 0.0000000 0.4387000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0794400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 481.5000000 0.192045D-02 -0.405220D-03 0.0000000 0.0000000 113.9000000 0.153552D-01 -0.335896D-02 0.0000000 0.0000000 36.2300000 0.713991D-01 -0.152860D-01 0.0000000 0.0000000 13.3400000 0.213052D+00 -0.489218D-01 0.0000000 0.0000000 5.2520000 0.390354D+00 -0.855008D-01 0.0000000 0.0000000 2.1200000 0.393721D+00 -0.112137D+00 0.0000000 0.0000000 0.2528000 0.395630D-02 0.551919D+00 0.0000000 0.0000000 0.8561000 0.0000000 0.0000000 1.0000000 0.0000000 0.0788900 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.1590000 1.0000000 0.0000000 0.4810000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.3360000 1.0000000 $ PHOSPHOROUS (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ PHOSPHOROUS (15s,9p,2d,1f) -> [5s,4p,2d,1f] a 15 $ S-TYPE FUNCTIONS 15 5 0 312400.0000000 0.576960D-04 -0.156709D-04 0.430631D-05 0.0000000 0.0000000 46800.0000000 0.448296D-03 -0.121724D-03 0.334194D-04 0.0000000 0.0000000 10650.0000000 0.234939D-02 -0.639672D-03 0.175885D-03 0.0000000 0.0000000 3018.0000000 0.978265D-02 -0.267426D-02 0.734340D-03 0.0000000 0.0000000 986.8000000 0.341467D-01 -0.949831D-02 0.261775D-02 0.0000000 0.0000000 357.4000000 0.100204D+00 -0.289349D-01 0.797852D-02 0.0000000 0.0000000 139.6000000 0.234372D+00 -0.745121D-01 0.207940D-01 0.0000000 0.0000000 57.6300000 0.382434D+00 -0.149938D+00 0.424446D-01 0.0000000 0.0000000 24.6000000 0.318088D+00 -0.189467D+00 0.563436D-01 0.0000000 0.0000000 10.1200000 0.707788D-01 0.363270D-01 -0.127358D-01 0.0000000 0.0000000 4.2830000 -0.181799D-02 0.528816D+00 -0.196495D+00 0.0000000 0.0000000 1.8050000 0.216180D-02 0.519115D+00 -0.353555D+00 0.0000000 0.0000000 0.2782000 0.432297D-03 -0.925695D-02 0.700912D+00 0.0000000 0.0000000 0.6158000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1055000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 504.9000000 0.233728D-02 -0.555236D-03 0.0000000 0.0000000 119.4000000 0.185410D-01 -0.445913D-02 0.0000000 0.0000000 37.9600000 0.849693D-01 -0.206350D-01 0.0000000 0.0000000 13.9500000 0.244615D+00 -0.617694D-01 0.0000000 0.0000000 5.4570000 0.422766D+00 -0.108924D+00 0.0000000 0.0000000 2.1770000 0.368439D+00 -0.105599D+00 0.0000000 0.0000000 0.2877000 -0.379005D-02 0.576981D+00 0.0000000 0.0000000 0.8010000 0.0000000 0.0000000 1.0000000 0.0000000 0.0971400 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.2160000 1.0000000 0.0000000 0.6520000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.4520000 1.0000000 $ SULFUR (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ SULFUR (15s,9p,2d,1f) -> [5s,4p,2d,1f] a 16 $ S-TYPE FUNCTIONS 15 5 0 374100.0000000 0.542140D-04 -0.149837D-04 0.435066D-05 0.0000000 0.0000000 56050.0000000 0.420855D-03 -0.116198D-03 0.337140D-04 0.0000000 0.0000000 12760.0000000 0.220698D-02 -0.611583D-03 0.177674D-03 0.0000000 0.0000000 3615.0000000 0.919258D-02 -0.255370D-02 0.741116D-03 0.0000000 0.0000000 1183.0000000 0.321123D-01 -0.908708D-02 0.264591D-02 0.0000000 0.0000000 428.8000000 0.946683D-01 -0.277045D-01 0.807487D-02 0.0000000 0.0000000 167.8000000 0.223630D+00 -0.720020D-01 0.212276D-01 0.0000000 0.0000000 69.4700000 0.374393D+00 -0.146439D+00 0.438323D-01 0.0000000 0.0000000 29.8400000 0.329108D+00 -0.195150D+00 0.612716D-01 0.0000000 0.0000000 12.7200000 0.847038D-01 0.819193D-02 -0.361510D-02 0.0000000 0.0000000 5.2440000 0.440851D-03 0.516601D+00 -0.204510D+00 0.0000000 0.0000000 2.2190000 0.164827D-02 0.542178D+00 -0.381871D+00 0.0000000 0.0000000 0.3490000 0.301306D-03 -0.918072D-02 0.714147D+00 0.0000000 0.0000000 0.7767000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1322000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 574.4000000 0.242264D-02 -0.620102D-03 0.0000000 0.0000000 135.8000000 0.192796D-01 -0.493882D-02 0.0000000 0.0000000 43.1900000 0.885401D-01 -0.232647D-01 0.0000000 0.0000000 15.8700000 0.254654D+00 -0.685195D-01 0.0000000 0.0000000 6.2080000 0.433984D+00 -0.123896D+00 0.0000000 0.0000000 2.4830000 0.354953D+00 -0.969499D-01 0.0000000 0.0000000 0.3229000 -0.502977D-02 0.569394D+00 0.0000000 0.0000000 0.8688000 0.0000000 0.0000000 1.0000000 0.0000000 0.1098000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.2690000 1.0000000 0.0000000 0.8190000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.5570000 1.0000000 $ CHLORINE (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ CHLORINE (15s,9p,2d,1f) -> [5s,4p,2d,1f] a 17 $ S-TYPE FUNCTIONS 15 5 0 456100.0000000 0.492970D-04 -0.138304D-04 0.418546D-05 0.0000000 0.0000000 68330.0000000 0.383029D-03 -0.107279D-03 0.324395D-04 0.0000000 0.0000000 15550.0000000 0.200854D-02 -0.565083D-03 0.171105D-03 0.0000000 0.0000000 4405.0000000 0.838558D-02 -0.236135D-02 0.714176D-03 0.0000000 0.0000000 1439.0000000 0.294703D-01 -0.845886D-02 0.256705D-02 0.0000000 0.0000000 520.4000000 0.878325D-01 -0.259638D-01 0.788552D-02 0.0000000 0.0000000 203.1000000 0.211473D+00 -0.686362D-01 0.210867D-01 0.0000000 0.0000000 83.9600000 0.365364D+00 -0.141874D+00 0.442264D-01 0.0000000 0.0000000 36.2000000 0.340884D+00 -0.199319D+00 0.651670D-01 0.0000000 0.0000000 15.8300000 0.102133D+00 -0.195662D-01 0.603012D-02 0.0000000 0.0000000 6.3340000 0.311675D-02 0.499741D+00 -0.206495D+00 0.0000000 0.0000000 2.6940000 0.105751D-02 0.563736D+00 -0.405871D+00 0.0000000 0.0000000 0.4313000 0.156136D-03 -0.835091D-02 0.725661D+00 0.0000000 0.0000000 0.9768000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1625000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 663.3000000 0.240448D-02 -0.652145D-03 0.0000000 0.0000000 156.8000000 0.192148D-01 -0.519445D-02 0.0000000 0.0000000 49.9800000 0.885097D-01 -0.246938D-01 0.0000000 0.0000000 18.4200000 0.256020D+00 -0.728167D-01 0.0000000 0.0000000 7.2400000 0.436927D+00 -0.134030D+00 0.0000000 0.0000000 2.9220000 0.350334D+00 -0.947742D-01 0.0000000 0.0000000 0.3818000 -0.458423D-02 0.564667D+00 0.0000000 0.0000000 1.0220000 0.0000000 0.0000000 1.0000000 0.0000000 0.1301000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 1.0460000 1.0000000 0.0000000 0.3440000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.7060000 1.0000000 $ ARGON (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ ARGON (15s,9p,2d,1f) -> [5s,4p,2d,1f] a 18 $ S-TYPE FUNCTIONS 15 5 0 545000.0000000 0.455828D-04 -0.129551D-04 0.404990D-05 0.0000000 0.0000000 81640.0000000 0.354108D-03 -0.100428D-03 0.313691D-04 0.0000000 0.0000000 18580.0000000 0.185797D-02 -0.529583D-03 0.165646D-03 0.0000000 0.0000000 5261.0000000 0.776851D-02 -0.221396D-02 0.691662D-03 0.0000000 0.0000000 1717.0000000 0.274232D-01 -0.796845D-02 0.249790D-02 0.0000000 0.0000000 619.9000000 0.823836D-01 -0.245803D-01 0.771074D-02 0.0000000 0.0000000 241.6000000 0.201230D+00 -0.657798D-01 0.208714D-01 0.0000000 0.0000000 99.7900000 0.356781D+00 -0.137942D+00 0.443965D-01 0.0000000 0.0000000 43.1500000 0.349563D+00 -0.201630D+00 0.680224D-01 0.0000000 0.0000000 19.1400000 0.118266D+00 -0.412834D-01 0.141350D-01 0.0000000 0.0000000 7.4880000 0.560190D-02 0.484680D+00 -0.207489D+00 0.0000000 0.0000000 3.2050000 0.483473D-03 0.579224D+00 -0.425045D+00 0.0000000 0.0000000 0.5204000 0.292025D-04 -0.727553D-02 0.733627D+00 0.0000000 0.0000000 1.1960000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1954000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 761.8000000 0.236976D-02 -0.667211D-03 0.0000000 0.0000000 180.2000000 0.190199D-01 -0.532717D-02 0.0000000 0.0000000 57.5000000 0.880807D-01 -0.255494D-01 0.0000000 0.0000000 21.2400000 0.256377D+00 -0.757197D-01 0.0000000 0.0000000 8.3880000 0.438711D+00 -0.141133D+00 0.0000000 0.0000000 3.4160000 0.347569D+00 -0.932768D-01 0.0000000 0.0000000 0.4523000 -0.523882D-02 0.562450D+00 0.0000000 0.0000000 1.2060000 0.0000000 0.0000000 1.0000000 0.0000000 0.1545000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.4100000 1.0000000 0.0000000 1.2540000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.8900000 1.0000000 $ CALCIUM (20s,14p,6d,1f) -> [6s,5p,3d,1f] $ CALCIUM (20s,14p,6d,1f) -> [6s,5p,3d,1f] a 20 $ S-TYPE FUNCTIONS 20 6 0 2402654.0000000 0.00000931 -0.00000270 0.00000093 -0.00000022 0.0000000 0.0000000 359789.8000000 0.00007239 -0.00002102 0.00000725 -0.00000173 0.0000000 0.0000000 81878.0900000 0.00038059 -0.00011052 0.00003811 -0.00000910 0.0000000 0.0000000 23190.8900000 0.00160453 -0.00046666 0.00016101 -0.00003844 0.0000000 0.0000000 7565.2120000 0.00580780 -0.00169513 0.00058466 -0.00013965 0.0000000 0.0000000 2730.7020000 0.01859566 -0.00548346 0.00189504 -0.00045251 0.0000000 0.0000000 1064.6400000 0.05287776 -0.01596597 0.00552525 -0.00132038 0.0000000 0.0000000 441.0605000 0.13015149 -0.04151384 0.01447010 -0.00345841 0.0000000 0.0000000 191.7269000 0.25931471 -0.09286387 0.03271581 -0.00783686 0.0000000 0.0000000 86.5377400 0.36149610 -0.16531657 0.06003190 -0.01441517 0.0000000 0.0000000 39.8992400 0.26411160 -0.17664074 0.06701683 -0.01621648 0.0000000 0.0000000 17.6406500 0.05709398 0.06444422 -0.02593660 0.00634420 0.0000000 0.0000000 8.3599900 -0.00182200 0.51087962 -0.26747467 0.06740626 0.0000000 0.0000000 3.9513300 0.00211164 0.49463804 -0.42697256 0.11447396 0.0000000 0.0000000 1.7134000 -0.00097709 0.08750094 0.06796405 -0.02634477 0.0000000 0.0000000 0.8108600 0.00045581 -0.00359101 0.71020539 -0.23369885 0.0000000 0.0000000 0.3602500 -0.00019146 0.00249220 0.44180057 -0.31607538 0.0000000 0.0000000 0.0448400 -0.00007874 0.00064587 -0.01186924 0.56111035 0.0000000 0.0000000 0.0810800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0214300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 5 0 4061.2890000 0.00019799 -0.00006455 0.00001336 0.0000000 0.0000000 962.2465000 0.00173208 -0.00056458 0.00011852 0.0000000 0.0000000 312.1686000 0.00953379 -0.00313125 0.00064872 0.0000000 0.0000000 118.7144000 0.03839012 -0.01274086 0.00267993 0.0000000 0.0000000 49.8067000 0.11675881 -0.03991403 0.00828513 0.0000000 0.0000000 22.2599800 0.25626874 -0.09050448 0.01921235 0.0000000 0.0000000 10.2876400 0.37978080 -0.14261898 0.02954984 0.0000000 0.0000000 4.8611540 0.30829326 -0.10980904 0.02431232 0.0000000 0.0000000 2.2487730 0.08592090 0.15162490 -0.04111230 0.0000000 0.0000000 1.0336620 0.00212067 0.46176411 -0.10419758 0.0000000 0.0000000 0.4641320 0.00128880 0.43260031 -0.15036537 0.0000000 0.0000000 0.0673900 0.00014728 0.00252874 0.59861164 0.0000000 0.0000000 0.1987500 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0254200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 3 0 16.9462300 0.01547300 0.0000000 0.0000000 4.4721200 0.07887400 0.0000000 0.0000000 1.4380900 0.20878000 0.0000000 0.0000000 0.4669900 0.33021300 0.0000000 0.0000000 0.1415100 0.0000000 1.0000000 0.0000000 0.0416400 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.1509000 1.0000000 $ SCANDIUM (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ SCANDIUM (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] a 21 $ S-TYPE FUNCTIONS 20 7 0 2715278.0000000 8.147221E-06 -4.722109E-06 9.139905E-07 -2.201951E-07 -3.757238E-07 -5.962768E-07 0.0000000 406598.4000000 6.334788E-05 -3.671829E-05 7.108513E-06 -1.711419E-06 -2.981907E-06 -4.822853E-06 0.0000000 92530.0400000 0.0003330384 -0.0001930883 3.738126E-05 -9.008469E-06 -1.522586E-05 -2.395005E-05 0.0000000 26207.9200000 0.001404055 -0.000814687 0.0001578828 -3.799997E-05 -6.684686E-05 -0.0001090335 0.0000000 8549.4290000 0.005081725 -0.002955526 0.0005737686 -0.0001383227 -0.0002313129 -0.0003601944 0.0000000 3085.9750000 0.01626926 -0.009520035 0.001859244 -0.0004473692 -0.0007959729 -0.001311233 0.0000000 1203.1720000 0.04624577 -0.02746858 0.005433182 -0.001310691 -0.002161961 -0.003322435 0.0000000 498.4869000 0.1137223 -0.06991528 0.01425387 -0.00342986 -0.006206459 -0.0103752 0.0000000 216.7360000 0.2257636 -0.1499251 0.03246144 -0.007847579 -0.01261905 -0.01892174 0.0000000 97.8747600 0.3106700 -0.2459153 0.06003454 -0.01447189 -0.02739459 -0.04755287 0.0000000 45.2043300 0.2191906 -0.2401293 0.06916105 -0.01690669 -0.02336516 -0.02931692 0.0000000 20.2118700 0.07215879 0.03567987 -0.02113084 0.005396115 -0.005734627 -0.03090088 0.0000000 9.5747510 0.1187030 0.4915023 -0.2666832 0.06671062 0.1536025 0.3074597 0.0000000 4.5403460 0.1220532 0.4911381 -0.4367591 0.1178356 0.1447100 0.1803100 0.0000000 1.9956870 0.02136795 0.09120633 0.06498243 -0.02738134 0.09359699 0.2358178 0.0000000 0.9422150 -0.0005357246 -0.005356723 0.7009599 -0.2260149 -0.8687730 -2.3885440 0.0000000 0.4178450 0.0002435774 0.0008812836 0.4515562 -0.3073539 0.02114597 2.3294070 0.0000000 0.0957610 -8.796617E-05 -0.0007605536 0.0301191 0.2544054 2.2754980 0.9918252 0.0000000 0.0513510 7.878246E-05 0.0006340116 -0.0132948 0.5981590 -1.1907700 -3.5072400 0.0000000 0.0238780 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 10592.1900000 0.0000450 -0.0000150 -0.0000040 0.0000040 0.0000090 0.0000000 2507.5330000 0.0004010 -0.0001310 -0.0000320 0.0000390 0.0000740 0.0000000 814.4571000 0.0023020 -0.0007570 -0.0001850 0.0002210 0.0004790 0.0000000 311.5195000 0.0100370 -0.0033180 -0.0008080 0.0009840 0.0018690 0.0000000 131.9617000 0.0349540 -0.0117060 -0.0028700 0.0034230 0.0074240 0.0000000 59.9871800 0.0979090 -0.0336040 -0.0082070 0.0099930 0.0187630 0.0000000 28.6625000 0.2106800 -0.0748790 -0.0184730 0.0219160 0.0487170 0.0000000 14.1085100 0.3300930 -0.1225480 -0.0301010 0.0370080 0.0654400 0.0000000 7.1037060 0.3310270 -0.1302760 -0.0329430 0.0377940 0.1079480 0.0000000 3.6092000 0.1579600 0.0145960 0.0079580 -0.0043790 -0.0587130 0.0000000 1.7760700 0.0220990 0.3091840 0.0879930 -0.1101640 -0.1703060 0.0000000 0.8547600 -0.0016050 0.4629980 0.1523770 -0.1610170 -0.7549770 0.0000000 0.4022390 -0.0013260 0.3049570 0.0971700 -0.1824820 0.6201170 0.0000000 0.1546650 -0.0002800 0.0508780 -0.2569380 0.3886110 1.1675480 0.0000000 0.0649450 0.0000340 -0.0044930 -0.5878150 0.6911000 -1.0095310 0.0000000 0.0263590 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 4 0 50.5138000 0.0042660 -0.0043890 0.0058590 0.0000000 14.7405000 0.0277080 -0.0283630 0.0373230 0.0000000 5.1950000 0.1000010 -0.1051370 0.1419240 0.0000000 2.0284600 0.2315810 -0.2348540 0.3068960 0.0000000 0.8040860 0.3460330 -0.3246090 0.3081890 0.0000000 0.3076890 0.3733740 -0.0642890 -0.7607170 0.0000000 0.1113920 0.2642880 0.6017490 -0.2047750 0.0000000 0.0373520 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.7267000 1.0000000 0.0000000 0.1665000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.4187000 1.0000000 $ TITANIUM (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ TITANIUM (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] a 22 $ S-TYPE FUNCTIONS 20 7 0 3014643.0000000 8.060782E-06 -4.630486E-06 9.230559E-07 -2.180323E-07 -3.975126E-07 -6.302483E-07 0.0000000 451432.9000000 6.267518E-05 -3.600451E-05 7.178974E-06 -1.69486E-06 -3.16108E-06 -5.084585E-06 0.0000000 102733.8000000 0.0003295006 -0.000189342 3.775134E-05 -8.919208E-06 -1.609375E-05 -2.534482E-05 0.0000000 29098.1700000 0.001389203 -0.0007988781 0.0001594532 -3.763633E-05 -7.092947E-05 -0.000114826 0.0000000 9492.3300000 0.005028469 -0.002898698 0.000579515 -0.0001369575 -0.000244271 -0.0003817497 0.0000000 3426.3460000 0.01610419 -0.009339701 0.001878414 -0.0004432894 -0.0008457892 -0.001379645 0.0000000 1335.8960000 0.04581232 -0.02697464 0.005492747 -0.001298868 -0.002282208 -0.003531666 0.0000000 553.5026000 0.1128613 -0.06878913 0.01443297 -0.003406752 -0.006619873 -0.01092225 0.0000000 240.6925000 0.2248193 -0.1481037 0.03296408 -0.007810829 -0.01335024 -0.02029554 0.0000000 108.7293000 0.3114571 -0.2445253 0.06125493 -0.01449245 -0.0295583 -0.05024404 0.0000000 50.2645700 0.2224995 -0.2419916 0.07134113 -0.01708136 -0.02477039 -0.03316309 0.0000000 22.5800400 0.07293128 0.0318379 -0.0197315 0.004897666 -0.008414624 -0.03098063 0.0000000 10.7143200 0.1160683 0.4932686 -0.2741869 0.06753108 0.1693855 0.3244673 0.0000000 5.0935460 0.1194774 0.4939655 -0.4440977 0.1173318 0.1500787 0.2155689 0.0000000 2.2441830 0.02097868 0.09196313 0.07776084 -0.02985025 0.09787777 0.1499616 0.0000000 1.0595700 -0.0005091715 -0.005316992 0.7068444 -0.2277634 -0.9653608 -2.4207410 0.0000000 0.4688490 0.0002217859 0.0008085624 0.4413892 -0.2928115 0.1489721 2.5308740 0.0000000 0.1061430 -7.636896E-05 -0.0006918459 0.02799769 0.2665300 2.1911790 0.3423600 0.0000000 0.0552620 7.719539E-05 0.0006086512 -0.0121079 0.5912406 -1.2433250 -2.7337220 0.0000000 0.0254650 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 11912.0300000 0.0000440 -0.0000150 0.0000040 0.0000040 0.0000090 0.0000000 2819.9470000 0.0003910 -0.0001310 0.0000310 0.0000390 0.0000730 0.0000000 915.9479000 0.0022480 -0.0007550 0.0001820 0.0002230 0.0004680 0.0000000 350.3842000 0.0098230 -0.0033190 0.0007950 0.0009920 0.0018560 0.0000000 148.4825000 0.0343380 -0.0117500 0.0028330 0.0034760 0.0072930 0.0000000 67.5394400 0.0966660 -0.0339220 0.0081540 0.0101720 0.0188560 0.0000000 32.3033200 0.2094170 -0.0761640 0.0184720 0.0225760 0.0484050 0.0000000 15.9278600 0.3301890 -0.1257020 0.0304000 0.0382380 0.0673780 0.0000000 8.0380350 0.3319360 -0.1330980 0.0330470 0.0393370 0.1045410 0.0000000 4.0939160 0.1584880 0.0174060 -0.0082510 -0.0061060 -0.0537600 0.0000000 2.0223900 0.0223100 0.3151650 -0.0885540 -0.1129620 -0.1917490 0.0000000 0.9761020 -0.0015660 0.4618140 -0.1496120 -0.1681140 -0.6947200 0.0000000 0.4595950 -0.0013240 0.2998560 -0.0942270 -0.1659320 0.5601620 0.0000000 0.1771520 -0.0002710 0.0500000 0.2508460 0.3914030 1.1813360 0.0000000 0.0735170 0.0000320 -0.0042300 0.5866430 0.6818400 -0.9932720 0.0000000 0.0294010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 4 0 64.0130000 0.0038870 -0.0039700 0.0064180 0.0000000 18.8179000 0.0263990 -0.0268730 0.0438090 0.0000000 6.7287000 0.0975110 -0.1022750 0.1723250 0.0000000 2.6641300 0.2328480 -0.2377280 0.3753320 0.0000000 1.0786800 0.3531520 -0.3121140 0.2249470 0.0000000 0.4232090 0.3721860 -0.0423780 -0.7919070 0.0000000 0.1559990 0.2476720 0.5886580 -0.1044280 0.0000000 0.0518840 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 1.2483000 1.0000000 0.0000000 0.2836000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.7251000 1.0000000 $ VANADIUM (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ VANADIUM (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] a 23 $ S-TYPE FUNCTIONS 20 7 0 3321857.0000000 8.039999E-06 -4.503003E-06 9.320648E-07 -2.158944E-07 -4.093416E-07 -6.539963E-07 0.0000000 497435.6000000 6.251402E-05 -3.501295E-05 7.249306E-06 -1.678519E-06 -3.258956E-06 -5.267399E-06 0.0000000 113202.7000000 0.0003286553 -0.0001841339 3.811967E-05 -8.831213E-06 -1.65639E-05 -2.632092E-05 0.0000000 32063.3300000 0.001385697 -0.0007769216 0.0001610238 -3.727769E-05 -7.316689E-05 -0.0001188719 0.0000000 10459.6200000 0.005016217 -0.002819505 0.000585221 -0.0001356099 -0.0002512784 -0.0003968552 0.0000000 3775.5060000 0.01606931 -0.009087486 0.001897502 -0.0004392351 -0.0008732657 -0.00142746 0.0000000 1472.0400000 0.04574242 -0.02627134 0.005550909 -0.001286948 -0.002347654 -0.003679181 0.0000000 609.9331000 0.1128544 -0.06712726 0.01460584 -0.003382149 -0.00685315 -0.01130774 0.0000000 265.2634000 0.2254344 -0.1451130 0.03342974 -0.007765646 -0.0137642 -0.02128221 0.0000000 119.8607000 0.3140461 -0.2412483 0.06235722 -0.01447985 -0.03084679 -0.05218271 0.0000000 55.4489100 0.2267819 -0.2416314 0.07312435 -0.01715502 -0.02562208 -0.03599014 0.0000000 24.9837200 0.07334069 0.03067362 -0.01911472 0.004610101 -0.01005123 -0.03088759 0.0000000 11.8805600 0.1102474 0.4970415 -0.2817249 0.06827831 0.1795330 0.3380657 0.0000000 5.6603110 0.1131358 0.4958875 -0.4488151 0.1161368 0.1522400 0.2389559 0.0000000 2.4957030 0.01971295 0.09181868 0.09202696 -0.03277049 0.09483887 0.07609068 0.0000000 1.1778660 -0.0004719088 -0.005392514 0.7110117 -0.2280000 -1.0148760 -2.4081130 0.0000000 0.5200440 0.0001861606 0.000710238 0.4309274 -0.2793991 0.2308810 2.6335920 0.0000000 0.1159650 -6.208598E-05 -0.0006363128 0.02604589 0.2771165 2.1133210 -0.0535851 0.0000000 0.0589380 7.295314E-05 0.0005979932 -0.01101049 0.5852999 -1.2530480 -2.2301350 0.0000000 0.0269460 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 13273.2000000 0.0000430 -0.0000150 0.0000040 0.0000040 0.0000090 0.0000000 3142.1260000 0.0003840 -0.0001310 0.0000320 0.0000390 0.0000750 0.0000000 1020.5880000 0.0022100 -0.0007550 0.0001830 0.0002230 0.0004790 0.0000000 390.4407000 0.0096780 -0.0033250 0.0008020 0.0009960 0.0019060 0.0000000 165.5043000 0.0339360 -0.0118110 0.0028620 0.0034980 0.0075120 0.0000000 75.3200600 0.0959170 -0.0342560 0.0082870 0.0102960 0.0195300 0.0000000 36.0550300 0.2088530 -0.0773630 0.0188700 0.0229620 0.0504020 0.0000000 17.8043600 0.3306600 -0.1284560 0.0313070 0.0392080 0.0706850 0.0000000 9.0029290 0.3323120 -0.1350780 0.0336600 0.0399430 0.1087750 0.0000000 4.5945440 0.1581880 0.0208380 -0.0094790 -0.0071210 -0.0585360 0.0000000 2.2767600 0.0222520 0.3204990 -0.0923130 -0.1162250 -0.2154480 0.0000000 1.1011780 -0.0015650 0.4602600 -0.1489890 -0.1694960 -0.6773420 0.0000000 0.5186380 -0.0013530 0.2953460 -0.0836440 -0.1553740 0.5859790 0.0000000 0.2005650 -0.0002650 0.0490460 0.2493390 0.3950220 1.1291080 0.0000000 0.0812910 0.0000290 -0.0038240 0.5805150 0.6789080 -0.9740510 0.0000000 0.0317950 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 4 0 77.6115000 0.0035950 -0.0038180 0.0060010 0.0000000 22.9159000 0.0252100 -0.0267170 0.0422060 0.0000000 8.2795400 0.0947860 -0.1036900 0.1707510 0.0000000 3.3099300 0.2303630 -0.2476890 0.3855180 0.0000000 1.3586300 0.3528940 -0.3115230 0.2062040 0.0000000 0.5413500 0.3704140 -0.0228270 -0.7786690 0.0000000 0.2023560 0.2457180 0.5697260 -0.1147210 0.0000000 0.0675680 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 1.7749000 1.0000000 0.0000000 0.4125000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 1.1368000 1.0000000 $ CHROMIUM (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ CHROMIUM (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] a 24 $ S-TYPE FUNCTIONS 20 7 0 6177194.0000000 4.128667E-06 -2.301772E-06 4.862957E-07 -1.102451E-07 2.179893E-07 -3.669010E-07 0.0000000 924929.5000000 3.210767E-05 -1.789536E-05 3.776645E-06 -8.530233E-07 1.61294E-06 -2.768353E-06 0.0000000 210486.5000000 0.0001688416 -9.416174E-05 1.990664E-05 -4.520358E-06 9.111842E-06 -1.521014E-05 0.0000000 59620.0500000 0.000712852 -0.0003975074 8.389164E-05 -1.891612E-05 3.500645E-05 -6.066288E-05 0.0000000 19450.7600000 0.002589325 -0.001447025 0.0003065706 -6.974344E-05 0.0001435315 -0.0002374959 0.0000000 7022.0560000 0.00837735 -0.004694622 0.0009944107 -0.0002237867 0.0004035896 -0.0007077071 0.0000000 2738.7630000 0.02441725 -0.01382387 0.002961959 -0.0006754503 0.001425177 -0.002334389 0.0000000 1135.8140000 0.06365135 -0.03674643 0.007969473 -0.001789346 0.003114009 -0.005555062 0.0000000 495.0923000 0.1427618 -0.08647185 0.01955017 -0.004477858 0.009814449 -0.01585142 0.0000000 224.7487000 0.2541275 -0.1696735 0.04085035 -0.009140144 0.01474698 -0.02737888 0.0000000 105.3836000 0.3009512 -0.2507089 0.06929003 -0.01610562 0.03911512 -0.06106975 0.0000000 50.1935900 0.1766513 -0.1961156 0.06146984 -0.0133487 0.009170888 -0.02887227 0.0000000 22.2495700 0.06936709 0.1457244 -0.06981302 0.01426027 0.01559878 0.006813714 0.0000000 10.9826500 0.1179579 0.5466706 -0.3517597 0.0893169 -0.2816844 0.4327670 0.0000000 5.3836650 0.08916187 0.3979434 -0.3828629 0.08885279 -0.006895261 0.1968410 0.0000000 2.3436850 0.0110363 0.05277007 0.2676401 -0.06368776 -0.1769781 -0.3764657 0.0000000 1.1052020 -0.0003546048 -0.004374537 0.7175950 -0.2783262 1.4430610 -2.0524730 0.0000000 0.4878480 0.0001057311 0.0003204035 0.3020814 -0.1830071 -1.0293180 2.9757410 0.0000000 0.0895990 1.11464E-05 -5.142077E-05 0.007749514 0.6790937 -1.3076670 -2.2117050 0.0000000 0.0334230 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 14454.2000000 0.0000440 -0.0000150 0.0000040 0.0000040 0.0000100 0.0000000 3421.6760000 0.0003890 -0.0001350 0.0000320 0.0000400 0.0000790 0.0000000 1111.3870000 0.0022410 -0.0007770 0.0001850 0.0002290 0.0005120 0.0000000 425.1918000 0.0098210 -0.0034270 0.0008100 0.0010190 0.0020230 0.0000000 180.2623000 0.0344710 -0.0121890 0.0029060 0.0036020 0.0080550 0.0000000 82.0611700 0.0974600 -0.0353880 0.0083910 0.0105500 0.0207720 0.0000000 39.2972600 0.2119850 -0.0799150 0.0191930 0.0237020 0.0542240 0.0000000 19.4195900 0.3339900 -0.1323350 0.0315640 0.0399880 0.0746850 0.0000000 9.8288990 0.3301370 -0.1354010 0.0334170 0.0404370 0.1159890 0.0000000 5.0168100 0.1522270 0.0320080 -0.0129070 -0.0120740 -0.0765840 0.0000000 2.4870910 0.0204250 0.3338490 -0.0936590 -0.1189390 -0.2439310 0.0000000 1.1987800 -0.0013600 0.4617730 -0.1499770 -0.1781000 -0.6801810 0.0000000 0.5586950 -0.0011950 0.2812900 -0.0672340 -0.1238650 0.7336640 0.0000000 0.2089240 -0.0001970 0.0418430 0.2707590 0.4297220 0.9991200 0.0000000 0.0846080 0.0000230 -0.0040020 0.5758070 0.6507860 -1.0170810 0.0000000 0.0332580 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 4 0 88.5768000 0.0036210 -0.0041220 0.0059540 0.0000000 26.2045000 0.0257660 -0.0293070 0.0425320 0.0000000 9.5174700 0.0975560 -0.1150620 0.1745110 0.0000000 3.8224800 0.2363120 -0.2730680 0.3939000 0.0000000 1.5751200 0.3582860 -0.3144230 0.1492790 0.0000000 0.6289280 0.3685430 0.0420970 -0.8102450 0.0000000 0.2344240 0.2354940 0.5914030 0.0109110 0.0000000 0.0768150 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 2.2510000 1.0000000 0.0000000 0.5315000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 1.4459000 1.0000000 $ MANGANESE (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ MANGANESE (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] a 25 $ S-TYPE FUNCTIONS 20 7 0 3960805.0000000 8.242127E-06 -3.936095E-06 9.462709E-07 -2.095391E-07 -4.121231E-07 -6.805493E-07 0.0000000 593115.5000000 6.408587E-05 -3.060481E-05 7.360584E-06 -1.629439E-06 -3.282099E-06 -5.460516E-06 0.0000000 134976.8000000 0.0003369253 -0.0001609626 3.869935E-05 -8.570592E-06 -1.667433E-05 -2.743893E-05 0.0000000 38230.6700000 0.001420648 -0.0006792348 0.000163511 -3.619272E-05 -7.369999E-05 -0.0001230291 0.0000000 12471.5400000 0.005143683 -0.002466182 0.0005941775 -0.0001316146 -0.0002529495 -0.0004146269 0.0000000 4501.7430000 0.01648569 -0.007957629 0.001927737 -0.000426681 -0.0008801425 -0.001475151 0.0000000 1755.2120000 0.0469856 -0.02307248 0.005641731 -0.00125027 -0.002365482 -0.00385914 0.0000000 727.3039000 0.1162437 -0.05932956 0.01487848 -0.003294665 -0.006926354 -0.01168405 0.0000000 316.3678000 0.2335277 -0.1299451 0.03414783 -0.00758186 -0.01393851 -0.02257185 0.0000000 143.0098000 0.3292837 -0.2212352 0.06405794 -0.01422864 -0.0314384 -0.05399759 0.0000000 66.2180500 0.2440304 -0.2292550 0.07557659 -0.01693796 -0.02625749 -0.04032351 0.0000000 29.9189600 0.07219806 0.03580733 -0.0194607 0.004454298 -0.01048313 -0.02742526 0.0000000 14.3031800 0.07687806 0.5107602 -0.2957874 0.06867042 0.1856472 0.3485593 0.0000000 6.8394510 0.07852235 0.5008307 -0.4521170 0.1113335 0.1524839 0.2757818 0.0000000 3.0123740 0.01294109 0.0901183 0.1224531 -0.0390082 0.07411368 -0.05499812 0.0000000 1.4188080 -0.0003784873 -0.006909909 0.7169756 -0.2215755 -1.0180970 -2.2925450 0.0000000 0.6236240 -2.503203E-05 -0.0001912925 0.4092712 -0.2544359 0.2980372 2.6356440 0.0000000 0.1340980 -2.421517E-05 -0.0006032312 0.02221969 0.2865866 1.9719890 -0.3379113 0.0000000 0.0655480 3.462071E-05 0.0005621608 -0.009011202 0.5755741 -1.1792530 -1.7896070 0.0000000 0.0295840 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 16205.8600000 0.0000420 -0.0000150 0.0000030 0.0000040 0.0000100 0.0000000 3836.2740000 0.0003730 -0.0001290 0.0000300 0.0000400 0.0000810 0.0000000 1246.0480000 0.0021490 -0.0007480 0.0001720 0.0002260 0.0005120 0.0000000 476.7535000 0.0094450 -0.0033080 0.0007620 0.0010130 0.0020710 0.0000000 202.1895000 0.0332970 -0.0118110 0.0027260 0.0035750 0.0081110 0.0000000 92.0948700 0.0947590 -0.0345330 0.0079760 0.0106120 0.0215570 0.0000000 44.1472000 0.2081440 -0.0787850 0.0182870 0.0239020 0.0553160 0.0000000 21.8546800 0.3318050 -0.1321830 0.0307760 0.0412790 0.0802630 0.0000000 11.0859600 0.3331750 -0.1371950 0.0323730 0.0414750 0.1177300 0.0000000 5.6741080 0.1576010 0.0270750 -0.0099780 -0.0094580 -0.0650690 0.0000000 2.8231700 0.0214450 0.3288910 -0.0905290 -0.1236950 -0.2829140 0.0000000 1.3686210 -0.0025580 0.4572800 -0.1380040 -0.1743920 -0.6491660 0.0000000 0.6444310 -0.0020270 0.2889080 -0.0779650 -0.1291700 0.6925670 0.0000000 0.2483820 -0.0003600 0.0474330 0.2295600 0.4003480 0.9789900 0.0000000 0.0972550 0.0000340 -0.0035220 0.5761220 0.6696460 -0.9213570 0.0000000 0.0366330 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 4 0 100.6630000 0.0035790 -0.0034540 0.0056850 0.0000000 29.8336000 0.0258270 -0.0249250 0.0411710 0.0000000 10.8894000 0.0985590 -0.0976350 0.1693220 0.0000000 4.3935800 0.2383270 -0.2366920 0.3859120 0.0000000 1.8178200 0.3587070 -0.2923500 0.1869090 0.0000000 0.7278270 0.3650920 -0.0049730 -0.6781130 0.0000000 0.2712950 0.2337380 0.5065880 -0.2582600 0.0000000 0.0883090 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 2.7382000 1.0000000 0.0000000 0.6543000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 1.7335000 1.0000000 $ IRON (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ IRON (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] a 26 $ S-TYPE FUNCTIONS 20 7 0 4316265.0000000 8.048803E-06 -4.155954E-06 9.532178E-07 -2.063008E-07 -4.009367E-07 -6.966042E-07 0.0000000 646342.4000000 6.258306E-05 -3.231401E-05 7.414605E-06 -1.604169E-06 -3.189255E-06 -5.568036E-06 0.0000000 147089.7000000 0.0003290239 -0.0001699525 3.898393E-05 -8.438437E-06 -1.623079E-05 -2.813684E-05 0.0000000 41661.5200000 0.001387355 -0.0007171369 0.0001647152 -3.563151E-05 -7.15792E-05 -0.0001252418 0.0000000 13590.7700000 0.005023256 -0.002603625 0.000598598 -0.0001295998 -0.0002463958 -0.0004260787 0.0000000 4905.7500000 0.0161014 -0.008399109 0.00194239 -0.0004201534 -0.0008544907 -0.00149906 0.0000000 1912.7460000 0.04590034 -0.02434109 0.005687237 -0.001231954 -0.002307593 -0.003979103 0.0000000 792.6043000 0.1136154 -0.06251948 0.01501329 -0.003248922 -0.006728292 -0.01185686 0.0000000 344.8065000 0.2283869 -0.1365929 0.03452455 -0.007493717 -0.01366165 -0.02346734 0.0000000 155.8999000 0.3221159 -0.2312707 0.0649582 -0.01410102 -0.0306224 -0.05467736 0.0000000 72.2309100 0.2383661 -0.2383734 0.07716194 -0.0169160 -0.02631137 -0.0439382 0.0000000 32.7250600 0.07404667 0.03123837 -0.01873411 0.004218996 -0.009760183 -0.02376103 0.0000000 15.6676200 0.09214197 0.5086818 -0.3009185 0.0683381 0.1801906 0.3435928 0.0000000 7.5034830 0.0933979 0.4987695 -0.4554661 0.1098201 0.1529634 0.3192960 0.0000000 3.3122230 0.01573965 0.09033552 0.1286463 -0.04009005 0.05505413 -0.1343207 0.0000000 1.5584710 -0.0004186682 -0.006005337 0.7183316 -0.2174739 -0.9551364 -2.2210200 0.0000000 0.6839140 5.376318E-05 0.0002312454 0.4051743 -0.2465135 0.2586813 2.5711420 0.0000000 0.1467570 -3.816654E-05 -0.000564368 0.02168227 0.2731435 1.8340490 -0.2292404 0.0000000 0.0705830 4.319603E-05 0.000499226 -0.008343566 0.5748321 -0.9333240 -1.8324520 0.0000000 0.0314490 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 17745.6900000 0.0000410 -0.0000150 0.0000030 0.0000050 0.0000110 0.0000000 4200.7210000 0.0003690 -0.0001300 0.0000290 0.0000420 0.0000870 0.0000000 1364.4290000 0.0021290 -0.0007510 0.0001650 0.0002410 0.0005410 0.0000000 522.0806000 0.0093690 -0.0033290 0.0007340 0.0010850 0.0022260 0.0000000 221.4595000 0.0330970 -0.0119120 0.0026260 0.0038310 0.0085930 0.0000000 100.9096000 0.0944310 -0.0349330 0.0077250 0.0114230 0.0233390 0.0000000 48.4011500 0.2080770 -0.0799890 0.0177330 0.0257920 0.0588440 0.0000000 23.9853600 0.3323330 -0.1346360 0.0300550 0.0448180 0.0882890 0.0000000 12.1825000 0.3329870 -0.1385980 0.0310940 0.0445980 0.1231920 0.0000000 6.2422980 0.1568430 0.0302780 -0.0100480 -0.0111770 -0.0631860 0.0000000 3.1109440 0.0215490 0.3332160 -0.0883060 -0.1381340 -0.3549020 0.0000000 1.5099580 -0.0020950 0.4561530 -0.1298240 -0.1882850 -0.6197080 0.0000000 0.7108450 -0.0017390 0.2850510 -0.0769370 -0.1073990 0.8129860 0.0000000 0.2731900 -0.0003000 0.0461440 0.2126610 0.4448630 0.8191180 0.0000000 0.1042330 0.0000290 -0.0032490 0.5730610 0.6402390 -0.9017050 0.0000000 0.0382910 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 4 0 113.3440000 0.0035300 -0.0038900 0.0056950 0.0000000 33.6414000 0.0257840 -0.0284420 0.0420010 0.0000000 12.3310000 0.0991190 -0.1124290 0.1735400 0.0000000 4.9947800 0.2390730 -0.2742570 0.4101570 0.0000000 2.0728000 0.3571990 -0.3155460 0.1132520 0.0000000 0.8307530 0.3621880 0.0571090 -0.7696800 0.0000000 0.3091780 0.2364610 0.5636040 -0.0316430 0.0000000 0.1001300 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 3.2758000 1.0000000 0.0000000 0.7920000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 2.0897000 1.0000000 $ COBALT (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ COBALT (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] a 27 $ S-TYPE FUNCTIONS 20 7 0 4675675.0000000 7.979026E-06 -4.20024E-06 9.592692E-07 -2.02884E-07 -3.863053E-07 -7.174687E-07 0.0000000 700161.5000000 6.204071E-05 -3.265831E-05 7.461851E-06 -1.57758E-06 -3.068788E-06 -5.722157E-06 0.0000000 159337.3000000 0.0003261735 -0.0001717644 3.923137E-05 -8.298813E-06 -1.564826E-05 -2.90097E-05 0.0000000 45130.4600000 0.00137536 -0.0007247853 0.0001657706 -3.504154E-05 -6.883588E-05 -0.0001285845 0.0000000 14722.3800000 0.004979997 -0.002631462 0.0006024335 -0.0001274655 -0.0002377367 -0.0004398434 0.0000000 5314.2220000 0.01596434 -0.008489272 0.001955217 -0.0004132695 -0.0008213173 -0.001537586 0.0000000 2072.0180000 0.04552086 -0.02460619 0.005726326 -0.001212261 -0.00222963 -0.004116022 0.0000000 858.6188000 0.1127385 -0.06322059 0.01512984 -0.003199318 -0.006467841 -0.01215514 0.0000000 373.5497000 0.2268262 -0.1381957 0.03483973 -0.007390972 -0.01325463 -0.02440441 0.0000000 168.9229000 0.3203074 -0.2340680 0.06570351 -0.01393649 -0.02946686 -0.05601976 0.0000000 78.2963900 0.2374021 -0.2415002 0.07831503 -0.01678575 -0.02599066 -0.04689449 0.0000000 35.5212300 0.07477686 0.03035312 -0.01877037 0.004149856 -0.008499807 -0.02168828 0.0000000 17.0414400 0.09581872 0.5101341 -0.3062663 0.06797646 0.1727316 0.3477789 0.0000000 8.1730000 0.09649911 0.4974939 -0.4566429 0.1075807 0.1512189 0.3500597 0.0000000 3.6103180 0.01623362 0.08970746 0.1378169 -0.04166022 0.03554509 -0.2048551 0.0000000 1.6970470 -0.0004535497 -0.005941034 0.7193676 -0.2128044 -0.8829353 -2.1632110 0.0000000 0.7435320 5.113519E-05 0.0002175362 0.3992579 -0.2381360 0.2143530 2.5240910 0.0000000 0.1583440 -4.174508E-05 -0.0005480155 0.02079933 0.2650788 1.7118650 -0.1590011 0.0000000 0.0750360 4.027577E-05 0.0004525804 -0.007820663 0.5722774 -0.7140037 -1.8252670 0.0000000 0.0330910 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 19267.7800000 0.0000410 -0.0000150 -0.0000030 0.0000050 0.0000110 0.0000000 4560.9860000 0.0003690 -0.0001310 -0.0000290 0.0000450 0.0000920 0.0000000 1481.4360000 0.0021280 -0.0007580 -0.0001670 0.0002550 0.0005630 0.0000000 566.8671000 0.0093720 -0.0033630 -0.0007420 0.0011440 0.0023540 0.0000000 240.4910000 0.0331550 -0.0120540 -0.0026620 0.0040610 0.0089760 0.0000000 109.6105000 0.0947520 -0.0354240 -0.0078410 0.0120950 0.0248100 0.0000000 52.5949100 0.2090930 -0.0812870 -0.0180510 0.0274760 0.0615800 0.0000000 26.0836100 0.3337220 -0.1369080 -0.0305800 0.0475570 0.0947770 0.0000000 13.2614300 0.3322080 -0.1390190 -0.0313120 0.0473020 0.1266930 0.0000000 6.7997780 0.1546130 0.0354680 0.0113110 -0.0144180 -0.0637540 0.0000000 3.3934140 0.0209020 0.3384980 0.0899900 -0.1500620 -0.4185660 0.0000000 1.6487660 -0.0020240 0.4544330 0.1307330 -0.1990920 -0.5678650 0.0000000 0.7762820 -0.0016970 0.2797930 0.0718080 -0.0797830 0.8754060 0.0000000 0.2980030 -0.0002800 0.0447760 -0.2216580 0.4590350 0.7182630 0.0000000 0.1136180 0.0000260 -0.0031510 -0.5710250 0.6174950 -0.8747220 0.0000000 0.0416240 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 4 0 126.2640000 0.0035100 -0.0040670 0.0054700 0.0000000 37.5226000 0.0258840 -0.0300530 0.0408130 0.0000000 13.8021000 0.1000580 -0.1196200 0.1689780 0.0000000 5.6092700 0.2405470 -0.2915130 0.4093590 0.0000000 2.3336900 0.3568430 -0.3180480 0.0863160 0.0000000 0.9364150 0.3595790 0.0916980 -0.7690080 0.0000000 0.3482370 0.2366290 0.5608230 0.0033550 0.0000000 0.1123530 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 3.8137000 1.0000000 0.0000000 0.9309000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 2.4709000 1.0000000 $ NICKEL (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ NICKEL (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] a 28 $ S-TYPE FUNCTIONS 20 7 0 5045991.0000000 8.208996E-06 -3.657849E-06 9.594149E-07 -2.013753E-07 -3.924245E-07 -7.303633E-07 0.0000000 755614.2000000 6.382884E-05 -2.844094E-05 7.462614E-06 -1.565832E-06 -3.113909E-06 -5.802013E-06 0.0000000 171956.8000000 0.00033558 -0.0001495928 3.923843E-05 -8.237182E-06 -1.590447E-05 -2.958547E-05 0.0000000 48704.7900000 0.001415075 -0.0006313009 0.0001657868 -3.478105E-05 -6.981394E-05 -0.0001301499 0.0000000 15888.4100000 0.005124444 -0.002293052 0.0006025905 -0.0001265265 -0.0002417848 -0.0004495332 0.0000000 5735.1230000 0.01643256 -0.007405123 0.001955662 -0.0004102589 -0.0008326195 -0.001553314 0.0000000 2236.1370000 0.04689398 -0.02152032 0.005730391 -0.001203834 -0.002270294 -0.004219884 0.0000000 926.6468000 0.1163534 -0.05560974 0.01514756 -0.003179062 -0.006557427 -0.01225419 0.0000000 403.1743000 0.2350511 -0.1230176 0.03493499 -0.007353828 -0.01354288 -0.02519707 0.0000000 182.3476000 0.3350184 -0.2130104 0.06598072 -0.01389022 -0.02989768 -0.05621717 0.0000000 84.5488500 0.2534779 -0.2265837 0.07893083 -0.01677875 -0.02693106 -0.05022229 0.0000000 38.3963400 0.07300901 0.03546796 -0.01906249 0.004163378 -0.007827693 -0.01677412 0.0000000 18.4585900 0.06184244 0.5181697 -0.3095921 0.06814703 0.1741667 0.3388021 0.0000000 8.8635480 0.06302956 0.5025630 -0.4558610 0.1061029 0.1595468 0.3984975 0.0000000 3.9162270 0.01008063 0.08955674 0.1482931 -0.0433998 0.0199555 -0.3032053 0.0000000 1.8388700 -0.0002244528 -0.007031311 0.7134039 -0.2094950 -0.8897000 -2.0796190 0.0000000 0.8043620 -5.932767E-05 -0.0004339167 0.3976063 -0.2310271 0.2486892 2.5005420 0.0000000 0.1697970 -1.158562E-05 -0.0005831711 0.02295523 0.2590532 1.6130120 -0.2169002 0.0000000 0.0793060 8.115109E-06 0.0004228788 -0.009151758 0.5691426 -0.5990277 -1.7091780 0.0000000 0.0346770 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 21027.9200000 0.0000410 -0.0000150 0.0000030 0.0000060 0.0000110 0.0000000 4977.5600000 0.0003630 -0.0001290 0.0000260 0.0000530 0.0000950 0.0000000 1616.7400000 0.0020970 -0.0007490 0.0001520 0.0003050 0.0005800 0.0000000 618.6718000 0.0092500 -0.0033280 0.0006780 0.0013640 0.0024510 0.0000000 262.5183000 0.0327960 -0.0119470 0.0024270 0.0048760 0.0092820 0.0000000 119.6907000 0.0940040 -0.0352420 0.0072010 0.0145030 0.0260090 0.0000000 57.4658500 0.2082800 -0.0812040 0.0165780 0.0332960 0.0640960 0.0000000 28.5282900 0.3336540 -0.1374930 0.0283920 0.0574820 0.1007100 0.0000000 14.5214800 0.3329040 -0.1392260 0.0285990 0.0587020 0.1325390 0.0000000 7.4538500 0.1553720 0.0360160 -0.0101320 -0.0199040 -0.0650890 0.0000000 3.7235530 0.0208590 0.3391280 -0.0829120 -0.1946950 -0.4897560 0.0000000 1.8098130 -0.0024400 0.4504720 -0.1159980 -0.2396130 -0.4984550 0.0000000 0.8513360 -0.0019980 0.2817830 -0.0727950 -0.0022320 0.9663570 0.0000000 0.3248140 -0.0003380 0.0478980 0.1956400 0.5214350 0.5283790 0.0000000 0.1195220 0.0000350 -0.0029870 0.5670990 0.5455400 -0.8676760 0.0000000 0.0423660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 4 0 140.2527000 0.0033760 -0.0034950 0.0050520 0.0000000 41.7261000 0.0251410 -0.0260150 0.0380870 0.0000000 15.3981000 0.0977460 -0.1038760 0.1561130 0.0000000 6.2771000 0.2347090 -0.2520700 0.3861560 0.0000000 2.6185000 0.3469450 -0.2945800 0.1756050 0.0000000 1.0526000 0.3510680 0.0011520 -0.6268070 0.0000000 0.3916000 0.2502550 0.4385890 -0.3427750 0.0000000 0.1262000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 4.5046000 1.0000000 0.0000000 1.1286000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 2.9771000 1.0000000 $ COPPER (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ COPPER (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] a 29 $ S-TYPE FUNCTIONS 20 7 0 5430321.0000000 7.801026E-06 -4.404706E-06 9.704682E-07 -1.959354E-07 -3.532229E-07 -7.508267E-07 0.0000000 813166.5000000 6.065666E-05 -3.424801E-05 7.549245E-06 -1.523472E-06 -2.798812E-06 -5.972018E-06 0.0000000 185054.4000000 0.0003188964 -0.0001801238 3.968892E-05 -8.014808E-06 -1.432517E-05 -3.039682E-05 0.0000000 52414.6600000 0.001344687 -0.0007600455 0.00016772 -3.383992E-05 -6.270946E-05 -0.0001340405 0.0000000 17098.6800000 0.00486905 -0.002759348 0.0006095101 -0.0001231191 -0.000217949 -0.0004615778 0.0000000 6171.9940000 0.01561013 -0.00890097 0.001978846 -0.0003992085 -0.0007474316 -0.001601064 0.0000000 2406.4810000 0.04452077 -0.02579378 0.005798049 -0.0011719 -0.002049271 -0.004330942 0.0000000 997.2584000 0.1103111 -0.06623861 0.01534158 -0.003096141 -0.005885203 -0.01265434 0.0000000 433.9289000 0.2220342 -0.1445927 0.03540484 -0.007171993 -0.01226885 -0.02586864 0.0000000 196.2869000 0.3133739 -0.2440110 0.06702098 -0.01356621 -0.02683147 -0.05835428 0.0000000 91.0428000 0.2315121 -0.2504837 0.08026945 -0.01643989 -0.02479261 -0.05132322 0.0000000 41.3842500 0.0764092 0.02852577 -0.01927231 0.004107628 -0.005984746 -0.01908953 0.0000000 19.9327800 0.1103818 0.5115874 -0.3160129 0.06693964 0.1557124 0.3586116 0.0000000 9.5818910 0.1094372 0.4928061 -0.4573162 0.1028221 0.1436683 0.3885818 0.0000000 4.2345160 0.01836311 0.08788437 0.1550841 -0.04422945 0.008374103 -0.3057106 0.0000000 1.9858140 -0.0006043084 -0.005820281 0.7202872 -0.2031191 -0.7460711 -2.0698960 0.0000000 0.8670830 5.092245E-05 0.0002013508 0.3885122 -0.2230022 0.1244367 2.4317740 0.0000000 0.1813390 -5.54073E-05 -0.0005182553 0.01924326 0.2517975 1.5101100 -0.02121974 0.0000000 0.0836570 3.969482E-05 0.0003731503 -0.007103807 0.5650091 -0.3477122 -1.8202510 0.0000000 0.0362670 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 22760.5700000 0.0000400 -0.0000150 0.0000030 0.0000050 0.0000110 0.0000000 5387.6790000 0.0003610 -0.0001310 0.0000250 0.0000490 0.0000960 0.0000000 1749.9450000 0.0020830 -0.0007550 0.0001470 0.0002780 0.0005900 0.0000000 669.6653000 0.0091970 -0.0033590 0.0006560 0.0012530 0.0024840 0.0000000 284.1948000 0.0326600 -0.0120810 0.0023510 0.0044470 0.0094630 0.0000000 129.6077000 0.0937950 -0.0357030 0.0070040 0.0133700 0.0264530 0.0000000 62.2541500 0.2082740 -0.0825020 0.0161310 0.0304690 0.0656890 0.0000000 30.9296400 0.3339930 -0.1398900 0.0277700 0.0534470 0.1027320 0.0000000 15.7582700 0.3324930 -0.1407290 0.0275670 0.0526390 0.1370410 0.0000000 8.0942110 0.1547280 0.0387660 -0.0101150 -0.0168810 -0.0709610 0.0000000 4.0469210 0.0212710 0.3426950 -0.0810090 -0.1794480 -0.5047080 0.0000000 1.9678690 -0.0016900 0.4523100 -0.1104090 -0.2095880 -0.4780560 0.0000000 0.9252950 -0.0015160 0.2770540 -0.0717320 -0.0396330 0.9428920 0.0000000 0.3529920 -0.0002420 0.0438850 0.1879300 0.5021300 0.5446990 0.0000000 0.1273070 0.0000230 -0.0028020 0.5646290 0.5811110 -0.8327660 0.0000000 0.0443560 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 4 0 173.8970000 0.0027000 -0.0033630 0.0041330 0.0000000 51.8869000 0.0209090 -0.0260790 0.0330850 0.0000000 19.3419000 0.0844080 -0.1082310 0.1383360 0.0000000 7.9757200 0.2139990 -0.2822170 0.3901660 0.0000000 3.3982300 0.3359800 -0.3471900 0.1698420 0.0000000 1.4093200 0.3573010 0.0267110 -0.6830180 0.0000000 0.5488580 0.2645780 0.4920470 -0.2657970 0.0000000 0.1901990 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 5.0821000 1.0000000 0.0000000 1.2797000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 3.4835000 1.0000000 $ ZINC (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] $ ZINC (20s,16p,8d,2f,1g) -> [7s,6p,4d,2f,1g] a 30 $ S-TYPE FUNCTIONS 20 7 0 5820021.0000000 8.549241E-06 -2.640069E-06 9.967103E-07 1.995818E-07 -5.43591E-07 8.040791E-07 0.0000000 871523.4000000 6.64741E-05 -2.05272E-05 7.754163E-06 1.552973E-06 -4.336894E-06 6.282936E-06 0.0000000 198335.0000000 0.0003494962 -0.0001079859 4.076019E-05 8.161259E-06 -2.197572E-05 3.281868E-05 0.0000000 56176.3100000 0.001473832 -0.0004558577 0.0001722811 3.450747E-05 -9.747392E-05 0.0001398858 0.0000000 18325.8200000 0.00533833 -0.001657758 0.000625937 0.0001253275 -0.0003331615 0.0005029836 0.0000000 6614.9550000 0.01712708 -0.005368492 0.002032855 0.000407299 -0.001166192 0.001655419 0.0000000 2579.1990000 0.04894085 -0.01571249 0.005954646 0.001192734 -0.003119308 0.004778677 0.0000000 1068.8490000 0.1217934 -0.04122558 0.0157664 0.00316314 -0.009239504 0.01292479 0.0000000 465.1045000 0.2476589 -0.09406459 0.03637638 0.007303942 -0.01855471 0.02925831 0.0000000 210.4130000 0.3582431 -0.1719954 0.06892343 0.01391279 -0.04281189 0.05791816 0.0000000 97.6162900 0.2798174 -0.1958523 0.08238093 0.0167062 -0.03571095 0.06640681 0.0000000 44.3802000 0.06857491 0.04532907 -0.0201136 -0.004035586 -0.0163835 -0.007388966 0.0000000 21.4230800 -0.001311092 0.5244442 -0.3252526 -0.06968861 0.2644664 -0.3329989 0.0000000 10.3089100 0.001914001 0.5006142 -0.4602899 -0.1030105 0.2086588 -0.5917865 0.0000000 4.5536450 -0.000875922 0.08945527 0.1635546 0.04471442 -0.01774382 0.9011406 0.0000000 2.1328210 0.0003740096 -0.002146262 0.7297118 0.2150027 -1.3538730 1.5859510 0.0000000 0.9296970 -0.0001401399 0.002112113 0.3769751 0.2220163 0.8182926 -2.7880080 0.0000000 0.1921470 4.757132E-05 -0.000413398 0.01433224 -0.3114776 1.6950360 2.0718840 0.0000000 0.0875950 -3.642711E-05 0.0003209752 -0.00667121 -0.5693429 -1.3886560 -0.6012025 0.0000000 0.0377020 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 24411.9800000 0.0000410 -0.0000150 0.0000030 0.0000050 0.0000120 0.0000000 5778.5180000 0.0003610 -0.0001350 0.0000250 0.0000420 0.0000960 0.0000000 1876.8620000 0.0020880 -0.0007820 0.0001440 0.0002380 0.0005940 0.0000000 718.2361000 0.0092210 -0.0034780 0.0006450 0.0010880 0.0024840 0.0000000 304.8327000 0.0327730 -0.0125200 0.0023110 0.0038210 0.0095370 0.0000000 139.0453000 0.0941790 -0.0370160 0.0068980 0.0116440 0.0264790 0.0000000 66.8041700 0.2091320 -0.0855590 0.0158820 0.0261670 0.0663660 0.0000000 33.2069900 0.3345690 -0.1447180 0.0273500 0.0467500 0.1024580 0.0000000 16.9281600 0.3303590 -0.1434420 0.0266210 0.0433090 0.1386830 0.0000000 8.6962290 0.1523470 0.0435950 -0.0108580 -0.0134290 -0.0801400 0.0000000 4.3505100 0.0229840 0.3488880 -0.0798530 -0.1538970 -0.4960690 0.0000000 2.1165230 0.0016070 0.4538650 -0.1061270 -0.1674130 -0.4635100 0.0000000 0.9953870 0.0004680 0.2685940 -0.0688830 -0.0849950 0.8745310 0.0000000 0.3781120 0.0000660 0.0388680 0.1843850 0.4508130 0.6297900 0.0000000 0.1345790 -0.0000020 -0.0024920 0.5617880 0.6408690 -0.8116860 0.0000000 0.0462820 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 4 0 205.6177000 0.0023420 0.0032790 0.0037400 0.0000000 61.4498100 0.0186060 0.0261760 0.0318250 0.0000000 23.0568900 0.0771020 0.1113670 0.1322290 0.0000000 9.5777390 0.2020260 0.3045810 0.4245500 0.0000000 4.1337340 0.3294540 0.3862990 0.1203700 0.0000000 1.7475180 0.3609760 -0.0583750 -0.7626610 0.0000000 0.6995600 0.2716570 -0.5388760 -0.1128230 0.0000000 0.2516080 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 5.7922000 1.0000000 0.0000000 1.4851000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 4.1144000 1.0000000 $ GALLIUM (20s,13p,9d,1f) -> [6s,5p,3d,1f] $ GALLIUM (20s,13p,9d,1f) -> [6s,5p,3d,1f] a 31 $ S-TYPE FUNCTIONS 20 6 0 6558157.3000000 0.0000080 -0.0000025 0.0000009 0.0000002 0.0000000 0.0000000 982025.3400000 0.0000622 -0.0000193 0.0000074 0.0000017 0.0000000 0.0000000 223467.6900000 0.0003270 -0.0001014 0.0000387 0.0000090 0.0000000 0.0000000 63288.2910000 0.0013794 -0.0004281 0.0001633 0.0000380 0.0000000 0.0000000 20642.9400000 0.0049993 -0.0015582 0.0005944 0.0001382 0.0000000 0.0000000 7450.5224000 0.0160605 -0.0050469 0.0019292 0.0004489 0.0000000 0.0000000 2905.0744000 0.0460124 -0.0148056 0.0056689 0.0013188 0.0000000 0.0000000 1204.2100000 0.1152224 -0.0389482 0.0150282 0.0035016 0.0000000 0.0000000 524.3045400 0.2373921 -0.0896832 0.0350222 0.0081673 0.0000000 0.0000000 237.4656300 0.3531989 -0.1664076 0.0671135 0.0157338 0.0000000 0.0000000 110.5786600 0.2915500 -0.2004010 0.0850156 0.0200284 0.0000000 0.0000000 51.3746240 0.0812129 0.0114943 -0.0047212 -0.0010136 0.0000000 0.0000000 24.4408460 0.0007655 0.4958134 -0.3016737 -0.0750162 0.0000000 0.0000000 11.7685910 0.0016124 0.5295550 -0.4825489 -0.1257980 0.0000000 0.0000000 5.3421190 -0.0007530 0.1110185 0.0891695 0.0300857 0.0000000 0.0000000 2.4950360 0.0003134 -0.0007000 0.7287830 0.2488169 0.0000000 0.0000000 1.0987730 -0.0001306 0.0022283 0.4288542 0.2843706 0.0000000 0.0000000 0.2601800 0.0000513 -0.0005014 0.0207249 -0.3110594 0.0000000 0.0000000 0.1270790 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0544080 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 5 0 8050.1674000 0.0003169 -0.0001203 0.0000200 0.0000000 0.0000000 1907.5361000 0.0027648 -0.0010492 0.0001689 0.0000000 0.0000000 618.6274600 0.0151204 -0.0058102 0.0009668 0.0000000 0.0000000 235.3241700 0.0599583 -0.0234345 0.0037797 0.0000000 0.0000000 98.8996460 0.1733120 -0.0708270 0.0119082 0.0000000 0.0000000 44.2482150 0.3410820 -0.1465511 0.0235693 0.0000000 0.0000000 20.6174290 0.3896967 -0.1769660 0.0314233 0.0000000 0.0000000 9.7805160 0.1839817 0.0363821 -0.0136188 0.0000000 0.0000000 4.4412380 0.0218896 0.4232848 -0.0734003 0.0000000 0.0000000 1.9640450 0.0011608 0.4952586 -0.1264785 0.0000000 0.0000000 0.8335780 0.0002735 0.1797428 0.0158579 0.0000000 0.0000000 0.1934450 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0561170 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 3 0 244.1474100 0.0020270 0.0000000 0.0000000 73.0675950 0.0165088 0.0000000 0.0000000 27.5920810 0.0703823 0.0000000 0.0000000 11.5465180 0.1911430 0.0000000 0.0000000 5.0486280 0.3254092 0.0000000 0.0000000 2.1784650 0.3678199 0.0000000 0.0000000 0.9002530 0.2744685 0.0000000 0.0000000 0.3373270 0.0000000 1.0000000 0.0000000 0.1169000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.2881000 1.0000000 $ GERMANIUM (20s,13p,9d,1f) -> [6s,5p,3d,1f] $ GERMANIUM (20s,13p,9d,1f) -> [6s,5p,3d,1f] a 32 $ S-TYPE FUNCTIONS 20 6 0 7447966.8000000 0.0000074 -0.0000023 0.0000009 -0.0000002 0.0000000 0.0000000 1115318.2000000 0.0000574 -0.0000179 0.0000069 -0.0000018 0.0000000 0.0000000 253842.6500000 0.0003019 -0.0000940 0.0000362 -0.0000093 0.0000000 0.0000000 71915.2850000 0.0012733 -0.0003964 0.0001528 -0.0000392 0.0000000 0.0000000 23470.1810000 0.0046123 -0.0014425 0.0005563 -0.0001426 0.0000000 0.0000000 8477.4918000 0.0148214 -0.0046675 0.0018018 -0.0004621 0.0000000 0.0000000 3308.3908000 0.0425536 -0.0137153 0.0053085 -0.0013614 0.0000000 0.0000000 1372.6054000 0.1073055 -0.0361797 0.0140877 -0.0036175 0.0000000 0.0000000 598.2200700 0.2245178 -0.0841679 0.0332013 -0.0085359 0.0000000 0.0000000 271.3860200 0.3453131 -0.1588767 0.0644621 -0.0166506 0.0000000 0.0000000 126.9779500 0.3045261 -0.2033807 0.0869540 -0.0225911 0.0000000 0.0000000 60.2220650 0.0990670 -0.0251410 0.0118745 -0.0032147 0.0000000 0.0000000 28.0185820 0.0041317 0.4575152 -0.2724534 0.0744998 0.0000000 0.0000000 13.5175220 0.0010347 0.5571939 -0.5001452 0.1440333 0.0000000 0.0000000 6.3094060 -0.0004856 0.1397055 0.0108554 -0.0080815 0.0000000 0.0000000 2.9045340 0.0001805 0.0022645 0.7216469 -0.2704163 0.0000000 0.0000000 1.2875560 -0.0000912 0.0020927 0.4805213 -0.3401607 0.0000000 0.0000000 0.1677320 -0.0000266 0.0003281 -0.0102297 0.6190657 0.0000000 0.0000000 0.3365520 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0710690 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 5 0 6979.5982000 0.0004569 -0.0001756 0.0000348 0.0000000 0.0000000 1654.1648000 0.0039562 -0.0015305 0.0003014 0.0000000 0.0000000 536.0286500 0.0213143 -0.0083145 0.0016487 0.0000000 0.0000000 203.5371300 0.0818715 -0.0328718 0.0064982 0.0000000 0.0000000 85.2375300 0.2223732 -0.0931661 0.0186383 0.0000000 0.0000000 37.8419620 0.3905659 -0.1755542 0.0350613 0.0000000 0.0000000 17.4065120 0.3560415 -0.1467912 0.0295892 0.0000000 0.0000000 7.8814920 0.1070312 0.1862934 -0.0472458 0.0000000 0.0000000 3.5332130 0.0036941 0.5264862 -0.1249847 0.0000000 0.0000000 1.5214730 0.0019219 0.3970859 -0.1210801 0.0000000 0.0000000 0.1990930 0.0001917 -0.0033478 0.5754730 0.0000000 0.0000000 0.5627040 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0670310 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 3 0 282.2391100 0.0018275 0.0000000 0.0000000 84.5499570 0.0151545 0.0000000 0.0000000 32.0736560 0.0660460 0.0000000 0.0000000 13.4974950 0.1839470 0.0000000 0.0000000 5.9585500 0.3227872 0.0000000 0.0000000 2.6107880 0.3729459 0.0000000 0.0000000 1.1039870 0.2751730 0.0000000 0.0000000 0.4240490 0.0000000 1.0000000 0.0000000 0.1520000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.3458000 1.0000000 $ ARSENIC (20s,13p,9d,1f) -> [6s,5p,3d,1f] $ ARSENIC (20s,13p,9d,1f) -> [6s,5p,3d,1f] a 33 $ S-TYPE FUNCTIONS 20 6 0 8482339.6000000 0.0000068 -0.0000021 0.0000008 -0.0000002 0.0000000 0.0000000 1270150.9000000 0.0000528 -0.0000165 0.0000064 -0.0000018 0.0000000 0.0000000 289056.9600000 0.0002774 -0.0000866 0.0000337 -0.0000093 0.0000000 0.0000000 81879.8490000 0.0011702 -0.0003653 0.0001423 -0.0000392 0.0000000 0.0000000 26716.5640000 0.0042421 -0.0013309 0.0005188 -0.0001429 0.0000000 0.0000000 9647.5842000 0.0136557 -0.0043093 0.0016802 -0.0004629 0.0000000 0.0000000 3764.1195000 0.0393399 -0.0126973 0.0049677 -0.0013687 0.0000000 0.0000000 1561.5656000 0.0999292 -0.0336160 0.0132115 -0.0036440 0.0000000 0.0000000 680.8146700 0.2121555 -0.0789470 0.0314566 -0.0086884 0.0000000 0.0000000 309.2411900 0.3363866 -0.1514458 0.0618446 -0.0171556 0.0000000 0.0000000 145.2573600 0.3155125 -0.2042014 0.0879566 -0.0245514 0.0000000 0.0000000 69.7390480 0.1181312 -0.0557367 0.0257548 -0.0073524 0.0000000 0.0000000 31.7703250 0.0080076 0.4187607 -0.2455459 0.0720087 0.0000000 0.0000000 15.3917570 0.0003293 0.5758762 -0.5090572 0.1576254 0.0000000 0.0000000 7.3415260 -0.0001523 0.1696842 -0.0555749 0.0142074 0.0000000 0.0000000 3.3237160 0.0000247 0.0060662 0.7083796 -0.2851593 0.0000000 0.0000000 1.4858670 -0.0000366 0.0017605 0.5231027 -0.3885347 0.0000000 0.0000000 0.2115000 -0.0000094 0.0002316 -0.0111176 0.6495337 0.0000000 0.0000000 0.4210860 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0889740 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 5 0 7423.8614000 0.0004599 -0.0001794 0.0000399 0.0000000 0.0000000 1759.5166000 0.0039823 -0.0015641 0.0003488 0.0000000 0.0000000 570.2291600 0.0214638 -0.0084999 0.0018953 0.0000000 0.0000000 216.5799700 0.0824617 -0.0336327 0.0075325 0.0000000 0.0000000 90.7342520 0.2238902 -0.0953228 0.0214315 0.0000000 0.0000000 40.3087910 0.3920704 -0.1793626 0.0407807 0.0000000 0.0000000 18.5555020 0.3542238 -0.1466682 0.0325249 0.0000000 0.0000000 8.3965430 0.1048641 0.1966016 -0.0548832 0.0000000 0.0000000 3.7673670 0.0033664 0.5372088 -0.1511922 0.0000000 0.0000000 1.6297010 0.0018495 0.3857361 -0.1249011 0.0000000 0.0000000 0.2225030 0.0002297 -0.0054006 0.5855293 0.0000000 0.0000000 0.5682630 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0804050 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 3 0 321.0196100 0.0016840 0.0000000 0.0000000 96.2493050 0.0141586 0.0000000 0.0000000 36.6449630 0.0628259 0.0000000 0.0000000 15.4939650 0.1784993 0.0000000 0.0000000 6.8911380 0.3209452 0.0000000 0.0000000 3.0548310 0.3773515 0.0000000 0.0000000 1.3142410 0.2750231 0.0000000 0.0000000 0.5134300 0.0000000 1.0000000 0.0000000 0.1877000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.4158000 1.0000000 $ SELENIUM (20s,13p,9d,1f) -> [6s,5p,3d,1f] $ SELENIUM (20s,13p,9d,1f) -> [6s,5p,3d,1f] a 34 $ S-TYPE FUNCTIONS 20 6 0 9563600.0000000 0.0000063 -0.0000020 0.0000008 -0.0000002 0.0000000 0.0000000 1432100.0000000 0.0000489 -0.0000153 0.0000060 -0.0000018 0.0000000 0.0000000 325910.0000000 0.0002574 -0.0000806 0.0000317 -0.0000093 0.0000000 0.0000000 92312.0000000 0.0010861 -0.0003400 0.0001337 -0.0000391 0.0000000 0.0000000 30116.0000000 0.0039399 -0.0012397 0.0004883 -0.0001428 0.0000000 0.0000000 10872.0000000 0.0127041 -0.0040177 0.0015821 -0.0004627 0.0000000 0.0000000 4240.1000000 0.0367156 -0.0118672 0.0046919 -0.0013722 0.0000000 0.0000000 1758.4000000 0.0938672 -0.0315340 0.0125098 -0.0036628 0.0000000 0.0000000 766.5900000 0.2017677 -0.0746439 0.0300381 -0.0088061 0.0000000 0.0000000 348.4300000 0.3280540 -0.1452179 0.0597271 -0.0175867 0.0000000 0.0000000 164.0300000 0.3238334 -0.2038441 0.0884696 -0.0262074 0.0000000 0.0000000 79.1420000 0.1352337 -0.0788711 0.0363920 -0.0109964 0.0000000 0.0000000 35.5240000 0.0117075 0.3845825 -0.2235329 0.0695697 0.0000000 0.0000000 17.3050000 -0.0003436 0.5865270 -0.5122462 0.1683947 0.0000000 0.0000000 8.3784000 0.0001665 0.1973591 -0.1084224 0.0346160 0.0000000 0.0000000 3.7405000 -0.0001188 0.0100102 0.6936372 -0.2978702 0.0000000 0.0000000 1.6890000 0.0000204 0.0013160 0.5558711 -0.4322569 0.0000000 0.0000000 0.2552000 0.0000083 0.0001109 -0.0113832 0.6757217 0.0000000 0.0000000 0.5092700 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1065100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 5 0 8004.3000000 0.0004505 -0.0001783 0.0000430 0.0000000 0.0000000 1896.9000000 0.0039049 -0.0015554 0.0003770 0.0000000 0.0000000 614.7100000 0.0210901 -0.0084727 0.0020465 0.0000000 0.0000000 233.5000000 0.0812920 -0.0336245 0.0081899 0.0000000 0.0000000 97.8560000 0.2217841 -0.0958267 0.0233356 0.0000000 0.0000000 43.5140000 0.3907270 -0.1813907 0.0449813 0.0000000 0.0000000 20.0630000 0.3559714 -0.1503152 0.0357475 0.0000000 0.0000000 9.1127000 0.1073272 0.1948263 -0.0586866 0.0000000 0.0000000 4.1063000 0.0036985 0.5415554 -0.1709573 0.0000000 0.0000000 1.7949000 0.0018032 0.3837299 -0.1293583 0.0000000 0.0000000 0.2461500 0.0002208 -0.0050132 0.5778069 0.0000000 0.0000000 0.6243200 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0889170 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 3 0 361.8500000 0.0015655 0.0000000 0.0000000 108.5500000 0.0133262 0.0000000 0.0000000 41.4330000 0.0601527 0.0000000 0.0000000 17.5790000 0.1740293 0.0000000 0.0000000 7.8627000 0.3195690 0.0000000 0.0000000 3.5180000 0.3812029 0.0000000 0.0000000 1.5348000 0.2746086 0.0000000 0.0000000 0.6081300 0.0000000 1.0000000 0.0000000 0.2220000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.4620000 1.0000000 $ BROMINE (20s,13p,9d,1f) -> [6s,5p,3d,1f] $ BROMINE (20s,13p,9d,1f) -> [6s,5p,3d,1f] a 35 $ S-TYPE FUNCTIONS 20 6 0 10639000.0000000 0.0000059 -0.0000019 0.0000007 -0.0000002 0.0000000 0.0000000 1593400.0000000 0.0000461 -0.0000145 0.0000057 -0.0000018 0.0000000 0.0000000 362610.0000000 0.0002422 -0.0000761 0.0000303 -0.0000093 0.0000000 0.0000000 102700.0000000 0.0010226 -0.0003210 0.0001275 -0.0000391 0.0000000 0.0000000 33501.0000000 0.0037113 -0.0011709 0.0004659 -0.0001428 0.0000000 0.0000000 12093.0000000 0.0119785 -0.0037968 0.0015096 -0.0004628 0.0000000 0.0000000 4715.9000000 0.0346927 -0.0112307 0.0044852 -0.0013750 0.0000000 0.0000000 1955.6000000 0.0891239 -0.0299277 0.0119835 -0.0036784 0.0000000 0.0000000 852.6100000 0.1934557 -0.0712706 0.0289571 -0.0088981 0.0000000 0.0000000 387.6700000 0.3209019 -0.1403136 0.0581566 -0.0179529 0.0000000 0.0000000 182.6800000 0.3299233 -0.2030763 0.0888133 -0.0275732 0.0000000 0.0000000 88.2450000 0.1494121 -0.0960985 0.0445244 -0.0140953 0.0000000 0.0000000 39.2630000 0.0149938 0.3558086 -0.2060387 0.0672561 0.0000000 0.0000000 19.2340000 -0.0009165 0.5921792 -0.5127017 0.1766928 0.0000000 0.0000000 9.4057000 0.0004380 0.2215977 -0.1509349 0.0528861 0.0000000 0.0000000 4.1601000 -0.0002398 0.0137648 0.6789203 -0.3075955 0.0000000 0.0000000 1.8995000 0.0000736 0.0008395 0.5817697 -0.4700658 0.0000000 0.0000000 0.3011400 0.0000239 -0.0000085 -0.0111825 0.6980341 0.0000000 0.0000000 0.6047200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1251500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 5 0 8676.5000000 0.0004357 -0.0001748 0.0000451 0.0000000 0.0000000 2055.9000000 0.0037815 -0.0015263 0.0003964 0.0000000 0.0000000 666.2300000 0.0204782 -0.0083399 0.0021555 0.0000000 0.0000000 253.1000000 0.0792834 -0.0332203 0.0086720 0.0000000 0.0000000 106.1200000 0.2178473 -0.0954180 0.0248680 0.0000000 0.0000000 47.2420000 0.3878585 -0.1824026 0.0485472 0.0000000 0.0000000 21.8250000 0.3594350 -0.1558308 0.0396156 0.0000000 0.0000000 9.9684000 0.1121995 0.1867899 -0.0605749 0.0000000 0.0000000 4.5171000 0.0043874 0.5427733 -0.1871699 0.0000000 0.0000000 1.9982000 0.0017809 0.3873309 -0.1377757 0.0000000 0.0000000 0.2814500 0.0002122 -0.0043784 0.5760896 0.0000000 0.0000000 0.7098800 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1020400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 3 0 403.8300000 0.0014732 0.0000000 0.0000000 121.1700000 0.0126725 0.0000000 0.0000000 46.3450000 0.0580451 0.0000000 0.0000000 19.7210000 0.1705103 0.0000000 0.0000000 8.8624000 0.3185958 0.0000000 0.0000000 3.9962000 0.3845023 0.0000000 0.0000000 1.7636000 0.2737737 0.0000000 0.0000000 0.7061900 0.0000000 1.0000000 0.0000000 0.2639000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.5515000 1.0000000 $ KRYPTON (20s,13p,9d,1f) -> [6s,5p,3d,1f] $ KRYPTON (20s,13p,9d,1f) -> [6s,5p,3d,1f] a 36 $ S-TYPE FUNCTIONS 20 6 0 11718113.0000000 0.0000056 -0.0000018 0.0000007 -0.0000002 0.0000000 0.0000000 1754604.4000000 0.0000438 -0.0000138 0.0000055 -0.0000018 0.0000000 0.0000000 399281.3200000 0.0002305 -0.0000726 0.0000292 -0.0000093 0.0000000 0.0000000 113084.5700000 0.0009733 -0.0003063 0.0001228 -0.0000391 0.0000000 0.0000000 36885.9250000 0.0035337 -0.0011177 0.0004491 -0.0001430 0.0000000 0.0000000 13312.2090000 0.0114167 -0.0036270 0.0014557 -0.0004639 0.0000000 0.0000000 5189.9883000 0.0331325 -0.0107432 0.0043319 -0.0013801 0.0000000 0.0000000 2151.6597000 0.0854464 -0.0286992 0.0115965 -0.0037001 0.0000000 0.0000000 938.0325100 0.1869124 -0.0686679 0.0281585 -0.0089921 0.0000000 0.0000000 426.5573200 0.3149761 -0.1365155 0.0570339 -0.0183021 0.0000000 0.0000000 201.0666000 0.3343334 -0.2022458 0.0891356 -0.0287559 0.0000000 0.0000000 97.0976050 0.1608810 -0.1090569 0.0508421 -0.0167324 0.0000000 0.0000000 42.9987240 0.0178435 0.3318768 -0.1921030 0.0652410 0.0000000 0.0000000 21.1770750 -0.0013793 0.5948250 -0.5121040 0.1834422 0.0000000 0.0000000 10.4267520 0.0006572 0.2424825 -0.1857007 0.0692183 0.0000000 0.0000000 4.5850080 -0.0003388 0.0172241 0.6654119 -0.3156034 0.0000000 0.0000000 2.1176030 0.0001211 0.0003685 0.6023925 -0.5031501 0.0000000 0.0000000 0.3492250 0.0000366 -0.0001153 -0.0106453 0.7171571 0.0000000 0.0000000 0.7070570 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1448210 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 5 0 9366.3090000 0.0004231 -0.0001720 0.0000466 0.0000000 0.0000000 2219.5543000 0.0036743 -0.0015025 0.0004100 0.0000000 0.0000000 719.4528800 0.0199312 -0.0082269 0.0022328 0.0000000 0.0000000 273.4644600 0.0774222 -0.0328566 0.0090144 0.0000000 0.0000000 114.7522500 0.2140386 -0.0950135 0.0260115 0.0000000 0.0000000 51.1555690 0.3848556 -0.1833106 0.0513340 0.0000000 0.0000000 23.6826760 0.3626340 -0.1612161 0.0430929 0.0000000 0.0000000 10.8754840 0.1170818 0.1787644 -0.0615040 0.0000000 0.0000000 4.9551310 0.0051210 0.5437885 -0.2003424 0.0000000 0.0000000 2.2172670 0.0017539 0.3913387 -0.1457364 0.0000000 0.0000000 0.3221540 0.0002199 -0.0047800 0.5764581 0.0000000 0.0000000 0.8064100 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1176190 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 3 0 446.1613300 0.0014044 0.0000000 0.0000000 133.9647700 0.0121715 0.0000000 0.0000000 51.3459070 0.0563919 0.0000000 0.0000000 21.9169060 0.1676430 0.0000000 0.0000000 9.8937250 0.3177368 0.0000000 0.0000000 4.4925270 0.3872647 0.0000000 0.0000000 2.0022930 0.2728006 0.0000000 0.0000000 0.8084090 0.0000000 1.0000000 0.0000000 0.3006000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 0.6622000 1.0000000 ergo-3.5/basis/aug-cc-pVQZ0000775000175000017500000103601612743400275012277 00000000000000$ aug-cc-pVQZ EMSL Basis Set Exchange Library 11/10/15 12:41 AM $ Elements References $ -------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $ Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $ Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $ Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ Sc - Zn: N.B. Balabanov and K.A. Peterson, J. Chem. Phys, 123, 064107 (2005) $ Ga - Kr: A.K. Wilson, D.E. Woon, K.A. Peterson, T.H. Dunning, Jr. J. Chem. Phys., 110, 7667 (1999) $ $ Elements References $ -------- --------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr., J. Chem. Phys. 100, 2975 (1994). $ B - F: R.A. Kendall, T.H. Dunning, Jr. and R.J. Harrison, J. Chem. Phys. 96, $ 6796 (1992). $ Al - Cl: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $ Sc - Zn: N.B. Balabanov and K.A. Peterson, J. Chem. Phys, 123, 064107 (2005) $ $ HYDROGEN (7s,4p,3d,2f) -> [5s,4p,3d,2f] $ HYDROGEN (6s,3p,2d,1f) -> [4s,3p,2d,1f] $ HYDROGEN (1s,1p,1d,1f) a 1 $ S-TYPE FUNCTIONS 7 5 0 82.6400000 0.0020060 0.0000000 0.0000000 0.0000000 0.0000000 12.4100000 0.0153430 0.0000000 0.0000000 0.0000000 0.0000000 2.8240000 0.0755790 0.0000000 0.0000000 0.0000000 0.0000000 0.7977000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2581000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0898900 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0236300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 4 4 0 2.2920000 1.0000000 0.0000000 0.0000000 0.0000000 0.8380000 0.0000000 1.0000000 0.0000000 0.0000000 0.2920000 0.0000000 0.0000000 1.0000000 0.0000000 0.0848000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 2.0620000 1.0000000 0.0000000 0.0000000 0.6620000 0.0000000 1.0000000 0.0000000 0.1900000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 1.3970000 1.0000000 0.0000000 0.3600000 0.0000000 1.0000000 $ HELIUM (8s,4p,3d,2f) -> [5s,4p,3d,2f] $ HELIUM (7s,3p,2d,1f) -> [4s,3p,2d,1f] $ HELIUM (1s,1p,1d,1f) a 2 $ S-TYPE FUNCTIONS 8 5 0 528.5000000 0.0009400 0.0000000 0.0000000 0.0000000 0.0000000 79.3100000 0.0072140 0.0000000 0.0000000 0.0000000 0.0000000 18.0500000 0.0359750 0.0000000 0.0000000 0.0000000 0.0000000 5.0850000 0.1277820 0.0000000 0.0000000 0.0000000 0.0000000 1.6090000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5363000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1833000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0481900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 4 4 0 5.9940000 1.0000000 0.0000000 0.0000000 0.0000000 1.7450000 0.0000000 1.0000000 0.0000000 0.0000000 0.5600000 0.0000000 0.0000000 1.0000000 0.0000000 0.1626000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 4.2990000 1.0000000 0.0000000 0.0000000 1.2230000 0.0000000 1.0000000 0.0000000 0.3510000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 2.6800000 1.0000000 0.0000000 0.6906000 0.0000000 1.0000000 $ LITHIUM (13s,7p,4d,3f,2g) -> [6s,5p,4d,3f,2g] $ LITHIUM (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ LITHIUM (1s,1p,1d,1f,1g) a 3 $ S-TYPE FUNCTIONS 13 6 0 6601.0000000 0.0001170 -0.0000180 0.0000000 0.0000000 0.0000000 0.0000000 989.7000000 0.0009110 -0.0001420 0.0000000 0.0000000 0.0000000 0.0000000 225.7000000 0.0047280 -0.0007410 0.0000000 0.0000000 0.0000000 0.0000000 64.2900000 0.0191970 -0.0030200 0.0000000 0.0000000 0.0000000 0.0000000 21.1800000 0.0630470 -0.0101230 0.0000000 0.0000000 0.0000000 0.0000000 7.7240000 0.1632080 -0.0270940 0.0000000 0.0000000 0.0000000 0.0000000 3.0030000 0.3148270 -0.0573590 0.0000000 0.0000000 0.0000000 0.0000000 1.2120000 0.3939360 -0.0938950 0.0000000 0.0000000 0.0000000 0.0000000 0.4930000 0.1969180 -0.1210910 0.0000000 0.0000000 0.0000000 0.0000000 0.0951500 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0479100 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0222000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0063600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 7 5 0 6.2500000 0.0033880 0.0000000 0.0000000 0.0000000 0.0000000 1.3700000 0.0193160 0.0000000 0.0000000 0.0000000 0.0000000 0.3672000 0.0791040 0.0000000 0.0000000 0.0000000 0.0000000 0.1192000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0447400 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0179500 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0075600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.3440000 1.0000000 0.0000000 0.0000000 0.0000000 0.1530000 0.0000000 1.0000000 0.0000000 0.0000000 0.0680000 0.0000000 0.0000000 1.0000000 0.0000000 0.0266000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.2460000 1.0000000 0.0000000 0.0000000 0.1292000 0.0000000 1.0000000 0.0000000 0.0552000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.2380000 1.0000000 0.0000000 0.1050000 0.0000000 1.0000000 $ BERYLLIUM (13s,7p,4d,3f,2g) -> [6s,5p,4d,3f,2g] $ BERYLLIUM (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ BERYLLIUM (1s,1p,1d,1f,1g) a 4 $ S-TYPE FUNCTIONS 13 6 0 14630.0000000 0.0000920 -0.0000170 0.0000000 0.0000000 0.0000000 0.0000000 2191.0000000 0.0007130 -0.0001300 0.0000000 0.0000000 0.0000000 0.0000000 498.2000000 0.0037350 -0.0006790 0.0000000 0.0000000 0.0000000 0.0000000 140.9000000 0.0154680 -0.0028570 0.0000000 0.0000000 0.0000000 0.0000000 45.8600000 0.0528740 -0.0098130 0.0000000 0.0000000 0.0000000 0.0000000 16.4700000 0.1456940 -0.0286090 0.0000000 0.0000000 0.0000000 0.0000000 6.3190000 0.3026810 -0.0637600 0.0000000 0.0000000 0.0000000 0.0000000 2.5350000 0.4049360 -0.1172310 0.0000000 0.0000000 0.0000000 0.0000000 1.0350000 0.2223870 -0.1212020 0.0000000 0.0000000 0.0000000 0.0000000 0.2528000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1052000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0426100 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0143900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 7 5 0 14.0300000 0.0040990 0.0000000 0.0000000 0.0000000 0.0000000 3.1680000 0.0256260 0.0000000 0.0000000 0.0000000 0.0000000 0.9024000 0.1037680 0.0000000 0.0000000 0.0000000 0.0000000 0.3036000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1130000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0428600 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0065000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 1.0720000 1.0000000 0.0000000 0.0000000 0.0000000 0.4410000 0.0000000 1.0000000 0.0000000 0.0000000 0.1811000 0.0000000 0.0000000 1.0000000 0.0000000 0.0554000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.4810000 1.0000000 0.0000000 0.0000000 0.2550000 0.0000000 1.0000000 0.0000000 0.0930000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.4150000 1.0000000 0.0000000 0.1834000 0.0000000 1.0000000 $ BORON (13s,7p,4d,3f,2g) -> [6s,5p,4d,3f,2g] $ BORON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ BORON (1s,1p,1d,1f,1g) a 5 $ S-TYPE FUNCTIONS 13 6 0 23870.0000000 0.0000880 -0.0000180 0.0000000 0.0000000 0.0000000 0.0000000 3575.0000000 0.0006870 -0.0001390 0.0000000 0.0000000 0.0000000 0.0000000 812.8000000 0.0036000 -0.0007250 0.0000000 0.0000000 0.0000000 0.0000000 229.7000000 0.0149490 -0.0030630 0.0000000 0.0000000 0.0000000 0.0000000 74.6900000 0.0514350 -0.0105810 0.0000000 0.0000000 0.0000000 0.0000000 26.8100000 0.1433020 -0.0313650 0.0000000 0.0000000 0.0000000 0.0000000 10.3200000 0.3009350 -0.0710120 0.0000000 0.0000000 0.0000000 0.0000000 4.1780000 0.4035260 -0.1321030 0.0000000 0.0000000 0.0000000 0.0000000 1.7270000 0.2253400 -0.1230720 0.0000000 0.0000000 0.0000000 0.0000000 0.4704000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1896000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0739400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0272100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 7 5 0 22.2600000 0.0050950 0.0000000 0.0000000 0.0000000 0.0000000 5.0580000 0.0332060 0.0000000 0.0000000 0.0000000 0.0000000 1.4870000 0.1323140 0.0000000 0.0000000 0.0000000 0.0000000 0.5071000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1812000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0646300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0187800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 1.1100000 1.0000000 0.0000000 0.0000000 0.0000000 0.4020000 0.0000000 1.0000000 0.0000000 0.0000000 0.1450000 0.0000000 0.0000000 1.0000000 0.0000000 0.0466000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.8820000 1.0000000 0.0000000 0.0000000 0.3110000 0.0000000 1.0000000 0.0000000 0.1130000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.6730000 1.0000000 0.0000000 0.2730000 0.0000000 1.0000000 $ CARBON (13s,7p,4d,3f,2g) -> [6s,5p,4d,3f,2g] $ CARBON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ CARBON (1s,1p,1d,1f,1g) a 6 $ S-TYPE FUNCTIONS 13 6 0 33980.0000000 0.0000910 -0.0000190 0.0000000 0.0000000 0.0000000 0.0000000 5089.0000000 0.0007040 -0.0001510 0.0000000 0.0000000 0.0000000 0.0000000 1157.0000000 0.0036930 -0.0007850 0.0000000 0.0000000 0.0000000 0.0000000 326.6000000 0.0153600 -0.0033240 0.0000000 0.0000000 0.0000000 0.0000000 106.1000000 0.0529290 -0.0115120 0.0000000 0.0000000 0.0000000 0.0000000 38.1100000 0.1470430 -0.0341600 0.0000000 0.0000000 0.0000000 0.0000000 14.7500000 0.3056310 -0.0771730 0.0000000 0.0000000 0.0000000 0.0000000 6.0350000 0.3993450 -0.1414930 0.0000000 0.0000000 0.0000000 0.0000000 2.5300000 0.2170510 -0.1180190 0.0000000 0.0000000 0.0000000 0.0000000 0.7355000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2905000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1111000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0414500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 7 5 0 34.5100000 0.0053780 0.0000000 0.0000000 0.0000000 0.0000000 7.9150000 0.0361320 0.0000000 0.0000000 0.0000000 0.0000000 2.3680000 0.1424930 0.0000000 0.0000000 0.0000000 0.0000000 0.8132000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2890000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1007000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0321800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 1.8480000 1.0000000 0.0000000 0.0000000 0.0000000 0.6490000 0.0000000 1.0000000 0.0000000 0.0000000 0.2280000 0.0000000 0.0000000 1.0000000 0.0000000 0.0766000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 1.4190000 1.0000000 0.0000000 0.0000000 0.4850000 0.0000000 1.0000000 0.0000000 0.1870000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 1.0110000 1.0000000 0.0000000 0.4240000 0.0000000 1.0000000 $ NITROGEN (13s,7p,4d,3f,2g) -> [6s,5p,4d,3f,2g] $ NITROGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ NITROGEN (1s,1p,1d,1f,1g) a 7 $ S-TYPE FUNCTIONS 13 6 0 45840.0000000 0.0000920 -0.0000200 0.0000000 0.0000000 0.0000000 0.0000000 6868.0000000 0.0007170 -0.0001590 0.0000000 0.0000000 0.0000000 0.0000000 1563.0000000 0.0037490 -0.0008240 0.0000000 0.0000000 0.0000000 0.0000000 442.4000000 0.0155320 -0.0034780 0.0000000 0.0000000 0.0000000 0.0000000 144.3000000 0.0531460 -0.0119660 0.0000000 0.0000000 0.0000000 0.0000000 52.1800000 0.1467870 -0.0353880 0.0000000 0.0000000 0.0000000 0.0000000 20.3400000 0.3046630 -0.0800770 0.0000000 0.0000000 0.0000000 0.0000000 8.3810000 0.3976840 -0.1467220 0.0000000 0.0000000 0.0000000 0.0000000 3.5290000 0.2176410 -0.1163600 0.0000000 0.0000000 0.0000000 0.0000000 1.0540000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4118000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1552000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0546400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 7 5 0 49.3300000 0.0055330 0.0000000 0.0000000 0.0000000 0.0000000 11.3700000 0.0379620 0.0000000 0.0000000 0.0000000 0.0000000 3.4350000 0.1490280 0.0000000 0.0000000 0.0000000 0.0000000 1.1820000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4173000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1428000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0440200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 2.8370000 1.0000000 0.0000000 0.0000000 0.0000000 0.9680000 0.0000000 1.0000000 0.0000000 0.0000000 0.3350000 0.0000000 0.0000000 1.0000000 0.0000000 0.1110000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 2.0270000 1.0000000 0.0000000 0.0000000 0.6850000 0.0000000 1.0000000 0.0000000 0.2450000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 1.4270000 1.0000000 0.0000000 0.5590000 0.0000000 1.0000000 $ OXYGEN (13s,7p,4d,3f,2g) -> [6s,5p,4d,3f,2g] $ OXYGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ OXYGEN (1s,1p,1d,1f,1g) a 8 $ S-TYPE FUNCTIONS 13 6 0 61420.0000000 0.0000900 -0.0000200 0.0000000 0.0000000 0.0000000 0.0000000 9199.0000000 0.0006980 -0.0001590 0.0000000 0.0000000 0.0000000 0.0000000 2091.0000000 0.0036640 -0.0008290 0.0000000 0.0000000 0.0000000 0.0000000 590.9000000 0.0152180 -0.0035080 0.0000000 0.0000000 0.0000000 0.0000000 192.3000000 0.0524230 -0.0121560 0.0000000 0.0000000 0.0000000 0.0000000 69.3200000 0.1459210 -0.0362610 0.0000000 0.0000000 0.0000000 0.0000000 26.9700000 0.3052580 -0.0829920 0.0000000 0.0000000 0.0000000 0.0000000 11.1000000 0.3985080 -0.1520900 0.0000000 0.0000000 0.0000000 0.0000000 4.6820000 0.2169800 -0.1153310 0.0000000 0.0000000 0.0000000 0.0000000 1.4280000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5547000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2067000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0695900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 7 5 0 63.4200000 0.0060440 0.0000000 0.0000000 0.0000000 0.0000000 14.6600000 0.0417990 0.0000000 0.0000000 0.0000000 0.0000000 4.4590000 0.1611430 0.0000000 0.0000000 0.0000000 0.0000000 1.5310000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5302000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1750000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0534800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 3.7750000 1.0000000 0.0000000 0.0000000 0.0000000 1.3000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4440000 0.0000000 0.0000000 1.0000000 0.0000000 0.1540000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 2.6660000 1.0000000 0.0000000 0.0000000 0.8590000 0.0000000 1.0000000 0.0000000 0.3240000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 1.8460000 1.0000000 0.0000000 0.7140000 0.0000000 1.0000000 $ FLUORINE (13s,7p,4d,3f,2g) -> [6s,5p,4d,3f,2g] $ FLUORINE (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ FLUORINE (1s,1p,1d,1f,1g) a 9 $ S-TYPE FUNCTIONS 13 6 0 74530.0000000 0.0000950 -0.0000220 0.0000000 0.0000000 0.0000000 0.0000000 11170.0000000 0.0007380 -0.0001720 0.0000000 0.0000000 0.0000000 0.0000000 2543.0000000 0.0038580 -0.0008910 0.0000000 0.0000000 0.0000000 0.0000000 721.0000000 0.0159260 -0.0037480 0.0000000 0.0000000 0.0000000 0.0000000 235.9000000 0.0542890 -0.0128620 0.0000000 0.0000000 0.0000000 0.0000000 85.6000000 0.1495130 -0.0380610 0.0000000 0.0000000 0.0000000 0.0000000 33.5500000 0.3082520 -0.0862390 0.0000000 0.0000000 0.0000000 0.0000000 13.9300000 0.3948530 -0.1558650 0.0000000 0.0000000 0.0000000 0.0000000 5.9150000 0.2110310 -0.1109140 0.0000000 0.0000000 0.0000000 0.0000000 1.8430000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.7124000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2637000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0859400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 7 5 0 80.3900000 0.0063470 0.0000000 0.0000000 0.0000000 0.0000000 18.6300000 0.0442040 0.0000000 0.0000000 0.0000000 0.0000000 5.6940000 0.1685140 0.0000000 0.0000000 0.0000000 0.0000000 1.9530000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6702000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2166000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0656800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 5.0140000 1.0000000 0.0000000 0.0000000 0.0000000 1.7250000 0.0000000 1.0000000 0.0000000 0.0000000 0.5860000 0.0000000 0.0000000 1.0000000 0.0000000 0.2070000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 3.5620000 1.0000000 0.0000000 0.0000000 1.1480000 0.0000000 1.0000000 0.0000000 0.4600000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 2.3760000 1.0000000 0.0000000 0.9240000 0.0000000 1.0000000 $ NEON (13s,7p,4d,3f,2g) -> [6s,5p,4d,3f,2g] $ NEON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ NEON (1s,1p,1d,1f,1g) a 10 $ S-TYPE FUNCTIONS 13 6 0 99920.0000000 0.0000860 -0.0000200 0.0000000 0.0000000 0.0000000 0.0000000 14960.0000000 0.0006690 -0.0001580 0.0000000 0.0000000 0.0000000 0.0000000 3399.0000000 0.0035180 -0.0008240 0.0000000 0.0000000 0.0000000 0.0000000 958.9000000 0.0146670 -0.0035000 0.0000000 0.0000000 0.0000000 0.0000000 311.2000000 0.0509620 -0.0122330 0.0000000 0.0000000 0.0000000 0.0000000 111.7000000 0.1437440 -0.0370170 0.0000000 0.0000000 0.0000000 0.0000000 43.3200000 0.3045620 -0.0861130 0.0000000 0.0000000 0.0000000 0.0000000 17.8000000 0.4001050 -0.1583810 0.0000000 0.0000000 0.0000000 0.0000000 7.5030000 0.2186440 -0.1142880 0.0000000 0.0000000 0.0000000 0.0000000 2.3370000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.9001000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3301000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1054000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 7 5 0 99.6800000 0.0065660 0.0000000 0.0000000 0.0000000 0.0000000 23.1500000 0.0459790 0.0000000 0.0000000 0.0000000 0.0000000 7.1080000 0.1734190 0.0000000 0.0000000 0.0000000 0.0000000 2.4410000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8339000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2662000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0817800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 6.4710000 1.0000000 0.0000000 0.0000000 0.0000000 2.2130000 0.0000000 1.0000000 0.0000000 0.0000000 0.7470000 0.0000000 0.0000000 1.0000000 0.0000000 0.2730000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 4.6570000 1.0000000 0.0000000 0.0000000 1.5240000 0.0000000 1.0000000 0.0000000 0.6890000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 2.9830000 1.0000000 0.0000000 1.2240000 0.0000000 1.0000000 $ SODIUM (20s,13p,4d,3f,2g) -> [7s,6p,4d,3f,2g] $ SODIUM (19s,12p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ SODIUM (1s,1p,1d,1f,1g) a 11 $ S-TYPE FUNCTIONS 20 7 0 1224000.0000000 0.478894D-05 -0.116958D-05 0.175871D-06 0.0000000 0.0000000 0.0000000 0.0000000 183200.0000000 0.372395D-04 -0.909110D-05 0.136594D-05 0.0000000 0.0000000 0.0000000 0.0000000 41700.0000000 0.195831D-03 -0.478499D-04 0.719795D-05 0.0000000 0.0000000 0.0000000 0.0000000 11810.0000000 0.826698D-03 -0.201962D-03 0.303349D-04 0.0000000 0.0000000 0.0000000 0.0000000 3853.0000000 0.300251D-02 -0.735837D-03 0.110752D-03 0.0000000 0.0000000 0.0000000 0.0000000 1391.0000000 0.970310D-02 -0.238746D-02 0.358596D-03 0.0000000 0.0000000 0.0000000 0.0000000 542.5000000 0.282337D-01 -0.704969D-02 0.106272D-02 0.0000000 0.0000000 0.0000000 0.0000000 224.9000000 0.732058D-01 -0.187856D-01 0.282687D-02 0.0000000 0.0000000 0.0000000 0.0000000 97.9300000 0.162897D+00 -0.446153D-01 0.676742D-02 0.0000000 0.0000000 0.0000000 0.0000000 44.3100000 0.288708D+00 -0.897741D-01 0.136480D-01 0.0000000 0.0000000 0.0000000 0.0000000 20.6500000 0.346829D+00 -0.142940D+00 0.222814D-01 0.0000000 0.0000000 0.0000000 0.0000000 9.7290000 0.206865D+00 -0.124315D+00 0.196011D-01 0.0000000 0.0000000 0.0000000 0.0000000 4.2280000 0.328009D-01 0.999648D-01 -0.167708D-01 0.0000000 0.0000000 0.0000000 0.0000000 1.9690000 -0.647736D-03 0.417080D+00 -0.773734D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.8890000 0.145878D-02 0.475123D+00 -0.113501D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.3964000 -0.178346D-03 0.163268D+00 -0.139130D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0699300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0328900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0161200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0050300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 6 0 413.4000000 0.908196D-03 -0.901741D-04 0.0000000 0.0000000 0.0000000 0.0000000 97.9800000 0.741773D-02 -0.739342D-03 0.0000000 0.0000000 0.0000000 0.0000000 31.3700000 0.357464D-01 -0.357309D-02 0.0000000 0.0000000 0.0000000 0.0000000 11.6200000 0.118520D+00 -0.120142D-01 0.0000000 0.0000000 0.0000000 0.0000000 4.6710000 0.261403D+00 -0.267178D-01 0.0000000 0.0000000 0.0000000 0.0000000 1.9180000 0.378395D+00 -0.392753D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.7775000 0.334632D+00 -0.376083D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.3013000 0.126844D+00 -0.433228D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.2275000 -0.147117D-01 0.518003D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0752700 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0312600 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0134200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0077200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.1538000 1.0000000 0.0000000 0.0000000 0.0000000 0.0865000 0.0000000 1.0000000 0.0000000 0.0000000 0.0487000 0.0000000 0.0000000 1.0000000 0.0000000 0.0210000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.1912000 1.0000000 0.0000000 0.0000000 0.1036000 0.0000000 1.0000000 0.0000000 0.0453000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.1722000 1.0000000 0.0000000 0.0866000 0.0000000 1.0000000 $ MAGNESIUM (17s,13p,4d,3f,2g) -> [7s,6p,4d,3f,2g] $ MAGNESIUM (16s,12p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ MAGNESIUM (1s,1p,1d,1f,1g) a 12 $ S-TYPE FUNCTIONS 17 7 0 327600.0000000 0.309608D-04 -0.783173D-05 0.150908D-05 0.0000000 0.0000000 0.0000000 0.0000000 49050.0000000 0.240954D-03 -0.607935D-04 0.117134D-04 0.0000000 0.0000000 0.0000000 0.0000000 11150.0000000 0.126660D-02 -0.321197D-03 0.618980D-04 0.0000000 0.0000000 0.0000000 0.0000000 3152.0000000 0.533359D-02 -0.134955D-02 0.260088D-03 0.0000000 0.0000000 0.0000000 0.0000000 1025.0000000 0.190770D-01 -0.490570D-02 0.946218D-03 0.0000000 0.0000000 0.0000000 0.0000000 368.8000000 0.588058D-01 -0.153561D-01 0.296595D-02 0.0000000 0.0000000 0.0000000 0.0000000 143.2000000 0.151454D+00 -0.423409D-01 0.821245D-02 0.0000000 0.0000000 0.0000000 0.0000000 58.9600000 0.300716D+00 -0.940603D-01 0.183977D-01 0.0000000 0.0000000 0.0000000 0.0000000 25.4000000 0.381149D+00 -0.163425D+00 0.326657D-01 0.0000000 0.0000000 0.0000000 0.0000000 11.1500000 0.213584D+00 -0.124754D+00 0.257315D-01 0.0000000 0.0000000 0.0000000 0.0000000 4.0040000 0.231210D-01 0.235623D+00 -0.535351D-01 0.0000000 0.0000000 0.0000000 0.0000000 1.7010000 -0.230757D-02 0.577563D+00 -0.156895D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.7060000 0.128900D-02 0.335232D+00 -0.206659D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.1410000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0680800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0306300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0123900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 6 0 539.6000000 0.833969D-03 -0.132076D-03 0.0000000 0.0000000 0.0000000 0.0000000 127.9000000 0.689215D-02 -0.109538D-02 0.0000000 0.0000000 0.0000000 0.0000000 41.0200000 0.337874D-01 -0.539495D-02 0.0000000 0.0000000 0.0000000 0.0000000 15.2500000 0.114401D+00 -0.185572D-01 0.0000000 0.0000000 0.0000000 0.0000000 6.1660000 0.259514D+00 -0.427375D-01 0.0000000 0.0000000 0.0000000 0.0000000 2.5610000 0.385095D+00 -0.647684D-01 0.0000000 0.0000000 0.0000000 0.0000000 1.0600000 0.335373D+00 -0.627818D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.4176000 0.110641D+00 -0.244912D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.2690000 -0.121315D-01 0.104761D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.1223000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0547600 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0238800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0070600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.1060000 1.0000000 0.0000000 0.0000000 0.0000000 0.1944000 0.0000000 1.0000000 0.0000000 0.0000000 0.3570000 0.0000000 0.0000000 1.0000000 0.0000000 0.0382000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.1810000 1.0000000 0.0000000 0.0000000 0.3590000 0.0000000 1.0000000 0.0000000 0.0700000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.3070000 1.0000000 0.0000000 0.1480000 0.0000000 1.0000000 $ ALUMINUM (17s,12p,4d,3f,2g) -> [7s,6p,4d,3f,2g] $ ALUMINUM (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ ALUMINUM (1s,1p,1d,1f,1g) a 13 $ S-TYPE FUNCTIONS 17 7 0 419600.0000000 0.278219D-04 -0.723754D-05 0.167150D-05 0.0000000 0.0000000 0.0000000 0.0000000 62830.0000000 0.216330D-03 -0.561733D-04 0.129641D-04 0.0000000 0.0000000 0.0000000 0.0000000 14290.0000000 0.113754D-02 -0.296528D-03 0.685101D-04 0.0000000 0.0000000 0.0000000 0.0000000 4038.0000000 0.479635D-02 -0.124913D-02 0.288274D-03 0.0000000 0.0000000 0.0000000 0.0000000 1312.0000000 0.172389D-01 -0.455101D-02 0.105276D-02 0.0000000 0.0000000 0.0000000 0.0000000 470.5000000 0.538066D-01 -0.144393D-01 0.333878D-02 0.0000000 0.0000000 0.0000000 0.0000000 181.8000000 0.141326D+00 -0.403464D-01 0.939217D-02 0.0000000 0.0000000 0.0000000 0.0000000 74.4600000 0.289268D+00 -0.922618D-01 0.216047D-01 0.0000000 0.0000000 0.0000000 0.0000000 31.9000000 0.384825D+00 -0.164510D+00 0.395873D-01 0.0000000 0.0000000 0.0000000 0.0000000 13.9600000 0.232852D+00 -0.141296D+00 0.349180D-01 0.0000000 0.0000000 0.0000000 0.0000000 5.1800000 0.293330D-01 0.195365D+00 -0.528415D-01 0.0000000 0.0000000 0.0000000 0.0000000 2.2650000 -0.300574D-02 0.572475D+00 -0.191878D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.9664000 0.166673D-02 0.374041D+00 -0.254115D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.2447000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1184000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0502100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0183000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 6 0 891.3000000 0.491755D-03 -0.888695D-04 0.0000000 0.0000000 0.0000000 0.0000000 211.3000000 0.415843D-02 -0.745823D-03 0.0000000 0.0000000 0.0000000 0.0000000 68.2800000 0.212538D-01 -0.387025D-02 0.0000000 0.0000000 0.0000000 0.0000000 25.7000000 0.764058D-01 -0.139350D-01 0.0000000 0.0000000 0.0000000 0.0000000 10.6300000 0.194277D+00 -0.366860D-01 0.0000000 0.0000000 0.0000000 0.0000000 4.6020000 0.334428D+00 -0.627797D-01 0.0000000 0.0000000 0.0000000 0.0000000 2.0150000 0.375026D+00 -0.789602D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.8706000 0.204041D+00 -0.288589D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.2972000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1100000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0398900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0121000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.0804000 1.0000000 0.0000000 0.0000000 0.0000000 0.1990000 0.0000000 1.0000000 0.0000000 0.0000000 0.4940000 0.0000000 0.0000000 1.0000000 0.0000000 0.0282000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.1540000 1.0000000 0.0000000 0.0000000 0.4010000 0.0000000 1.0000000 0.0000000 0.0582000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.3570000 1.0000000 0.0000000 0.1530000 0.0000000 1.0000000 $ SILICON (17s,12p,4d,3f,2g) -> [7s,6p,4d,3f,2g] $ SILICON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ SILICON (1s,1p,1d,1f,1g) a 14 $ S-TYPE FUNCTIONS 17 7 0 513000.0000000 0.260920D-04 -0.694880D-05 0.178068D-05 0.0000000 0.0000000 0.0000000 0.0000000 76820.0000000 0.202905D-03 -0.539641D-04 0.138148D-04 0.0000000 0.0000000 0.0000000 0.0000000 17470.0000000 0.106715D-02 -0.284716D-03 0.730005D-04 0.0000000 0.0000000 0.0000000 0.0000000 4935.0000000 0.450597D-02 -0.120203D-02 0.307666D-03 0.0000000 0.0000000 0.0000000 0.0000000 1602.0000000 0.162359D-01 -0.438397D-02 0.112563D-02 0.0000000 0.0000000 0.0000000 0.0000000 574.1000000 0.508913D-01 -0.139776D-01 0.358435D-02 0.0000000 0.0000000 0.0000000 0.0000000 221.5000000 0.135155D+00 -0.393516D-01 0.101728D-01 0.0000000 0.0000000 0.0000000 0.0000000 90.5400000 0.281292D+00 -0.914283D-01 0.237520D-01 0.0000000 0.0000000 0.0000000 0.0000000 38.7400000 0.385336D+00 -0.165609D+00 0.443483D-01 0.0000000 0.0000000 0.0000000 0.0000000 16.9500000 0.245651D+00 -0.152505D+00 0.419041D-01 0.0000000 0.0000000 0.0000000 0.0000000 6.4520000 0.343145D-01 0.168524D+00 -0.502504D-01 0.0000000 0.0000000 0.0000000 0.0000000 2.8740000 -0.334884D-02 0.569284D+00 -0.216578D+00 0.0000000 0.0000000 0.0000000 0.0000000 1.2500000 0.187625D-02 0.398056D+00 -0.286448D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.3599000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1699000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0706600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0275000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 6 0 1122.0000000 0.448143D-03 -0.964883D-04 0.0000000 0.0000000 0.0000000 0.0000000 266.0000000 0.381639D-02 -0.811971D-03 0.0000000 0.0000000 0.0000000 0.0000000 85.9200000 0.198105D-01 -0.430087D-02 0.0000000 0.0000000 0.0000000 0.0000000 32.3300000 0.727017D-01 -0.157502D-01 0.0000000 0.0000000 0.0000000 0.0000000 13.3700000 0.189839D+00 -0.429541D-01 0.0000000 0.0000000 0.0000000 0.0000000 5.8000000 0.335672D+00 -0.752574D-01 0.0000000 0.0000000 0.0000000 0.0000000 2.5590000 0.379365D+00 -0.971446D-01 0.0000000 0.0000000 0.0000000 0.0000000 1.1240000 0.201193D+00 -0.227507D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.3988000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1533000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0572800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0200000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.1200000 1.0000000 0.0000000 0.0000000 0.0000000 0.3020000 0.0000000 1.0000000 0.0000000 0.0000000 0.7600000 0.0000000 0.0000000 1.0000000 0.0000000 0.0435000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.2120000 1.0000000 0.0000000 0.0000000 0.5410000 0.0000000 1.0000000 0.0000000 0.0846000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.4610000 1.0000000 0.0000000 0.2120000 0.0000000 1.0000000 $ PHOSPHOROUS (17s,12p,4d,3f,2g) -> [7s,6p,4d,3f,2g] $ PHOSPHOROUS (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ PHOSPHOROUS (1s,1p,1d,1f,1g) a 15 $ S-TYPE FUNCTIONS 17 7 0 615200.0000000 0.247450D-04 -0.672205D-05 0.184740D-05 0.0000000 0.0000000 0.0000000 0.0000000 92120.0000000 0.192465D-03 -0.522311D-04 0.143380D-04 0.0000000 0.0000000 0.0000000 0.0000000 20950.0000000 0.101202D-02 -0.275361D-03 0.757228D-04 0.0000000 0.0000000 0.0000000 0.0000000 5920.0000000 0.427261D-02 -0.116307D-02 0.319205D-03 0.0000000 0.0000000 0.0000000 0.0000000 1922.0000000 0.154161D-01 -0.424281D-02 0.116851D-02 0.0000000 0.0000000 0.0000000 0.0000000 688.0000000 0.485976D-01 -0.136114D-01 0.374267D-02 0.0000000 0.0000000 0.0000000 0.0000000 265.0000000 0.130060D+00 -0.385114D-01 0.106817D-01 0.0000000 0.0000000 0.0000000 0.0000000 108.2000000 0.274514D+00 -0.906643D-01 0.252657D-01 0.0000000 0.0000000 0.0000000 0.0000000 46.2200000 0.385402D+00 -0.166584D+00 0.479283D-01 0.0000000 0.0000000 0.0000000 0.0000000 20.2300000 0.255934D+00 -0.161447D+00 0.477096D-01 0.0000000 0.0000000 0.0000000 0.0000000 7.8590000 0.391237D-01 0.146781D+00 -0.466525D-01 0.0000000 0.0000000 0.0000000 0.0000000 3.5470000 -0.368010D-02 0.566682D+00 -0.234968D+00 0.0000000 0.0000000 0.0000000 0.0000000 1.5640000 0.208211D-02 0.416433D+00 -0.311337D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.4888000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2266000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0933100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0354000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 6 0 1367.0000000 0.421015D-03 -0.100827D-03 0.0000000 0.0000000 0.0000000 0.0000000 324.0000000 0.360985D-02 -0.854499D-03 0.0000000 0.0000000 0.0000000 0.0000000 104.6000000 0.189217D-01 -0.457116D-02 0.0000000 0.0000000 0.0000000 0.0000000 39.3700000 0.705560D-01 -0.170327D-01 0.0000000 0.0000000 0.0000000 0.0000000 16.2600000 0.188157D+00 -0.475204D-01 0.0000000 0.0000000 0.0000000 0.0000000 7.0560000 0.338709D+00 -0.852786D-01 0.0000000 0.0000000 0.0000000 0.0000000 3.1300000 0.381943D+00 -0.109676D+00 0.0000000 0.0000000 0.0000000 0.0000000 1.3940000 0.195261D+00 -0.161181D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.5179000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2032000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0769800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0272000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.1650000 1.0000000 0.0000000 0.0000000 0.0000000 0.4130000 0.0000000 1.0000000 0.0000000 0.0000000 1.0360000 0.0000000 0.0000000 1.0000000 0.0000000 0.0594000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.2800000 1.0000000 0.0000000 0.0000000 0.7030000 0.0000000 1.0000000 0.0000000 0.1090000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.5970000 1.0000000 0.0000000 0.2500000 0.0000000 1.0000000 $ SULFUR (17s,12p,4d,3f,2g) -> [7s,6p,4d,3f,2g] $ SULFUR (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ SULFUR (1s,1p,1d,1f,1g) a 16 $ S-TYPE FUNCTIONS 17 7 0 727800.0000000 0.236025D-04 -0.652179D-05 0.189406D-05 0.0000000 0.0000000 0.0000000 0.0000000 109000.0000000 0.183482D-03 -0.506631D-04 0.146948D-04 0.0000000 0.0000000 0.0000000 0.0000000 24800.0000000 0.964278D-03 -0.266833D-03 0.775460D-04 0.0000000 0.0000000 0.0000000 0.0000000 7014.0000000 0.406537D-02 -0.112601D-02 0.326509D-03 0.0000000 0.0000000 0.0000000 0.0000000 2278.0000000 0.146973D-01 -0.411186D-02 0.119686D-02 0.0000000 0.0000000 0.0000000 0.0000000 814.7000000 0.465081D-01 -0.132454D-01 0.384799D-02 0.0000000 0.0000000 0.0000000 0.0000000 313.4000000 0.125508D+00 -0.377004D-01 0.110539D-01 0.0000000 0.0000000 0.0000000 0.0000000 127.7000000 0.268433D+00 -0.898554D-01 0.264645D-01 0.0000000 0.0000000 0.0000000 0.0000000 54.4800000 0.384809D+00 -0.167098D+00 0.508771D-01 0.0000000 0.0000000 0.0000000 0.0000000 23.8500000 0.265372D+00 -0.169354D+00 0.530030D-01 0.0000000 0.0000000 0.0000000 0.0000000 9.4280000 0.437326D-01 0.127824D+00 -0.425518D-01 0.0000000 0.0000000 0.0000000 0.0000000 4.2900000 -0.378807D-02 0.564862D+00 -0.250853D+00 0.0000000 0.0000000 0.0000000 0.0000000 1.9090000 0.218083D-02 0.431767D+00 -0.333152D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.6270000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2873000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1172000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0428000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 6 0 1546.0000000 0.441183D-03 -0.113110D-03 0.0000000 0.0000000 0.0000000 0.0000000 366.4000000 0.377571D-02 -0.958581D-03 0.0000000 0.0000000 0.0000000 0.0000000 118.4000000 0.198360D-01 -0.513471D-02 0.0000000 0.0000000 0.0000000 0.0000000 44.5300000 0.742063D-01 -0.192641D-01 0.0000000 0.0000000 0.0000000 0.0000000 18.3800000 0.197327D+00 -0.535980D-01 0.0000000 0.0000000 0.0000000 0.0000000 7.9650000 0.351851D+00 -0.960333D-01 0.0000000 0.0000000 0.0000000 0.0000000 3.5410000 0.378687D+00 -0.118183D+00 0.0000000 0.0000000 0.0000000 0.0000000 1.5910000 0.170931D+00 0.923194D-02 0.0000000 0.0000000 0.0000000 0.0000000 0.6205000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2420000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0901400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0317000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.2030000 1.0000000 0.0000000 0.0000000 0.0000000 0.5040000 0.0000000 1.0000000 0.0000000 0.0000000 1.2500000 0.0000000 0.0000000 1.0000000 0.0000000 0.0748000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.3350000 1.0000000 0.0000000 0.0000000 0.8690000 0.0000000 1.0000000 0.0000000 0.1400000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.6830000 1.0000000 0.0000000 0.2970000 0.0000000 1.0000000 $ CHLORINE (17s,12p,4d,3f,2g) -> [7s,6p,4d,3f,2g] $ CHLORINE (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ CHLORINE (1s,1p,1d,1f,1g) a 17 $ S-TYPE FUNCTIONS 17 7 0 834900.0000000 0.231688D-04 -0.649649D-05 0.196645D-05 0.0000000 0.0000000 0.0000000 0.0000000 125000.0000000 0.180154D-03 -0.504895D-04 0.152620D-04 0.0000000 0.0000000 0.0000000 0.0000000 28430.0000000 0.947782D-03 -0.266113D-03 0.806086D-04 0.0000000 0.0000000 0.0000000 0.0000000 8033.0000000 0.400139D-02 -0.112499D-02 0.339960D-03 0.0000000 0.0000000 0.0000000 0.0000000 2608.0000000 0.144629D-01 -0.410497D-02 0.124551D-02 0.0000000 0.0000000 0.0000000 0.0000000 933.9000000 0.456586D-01 -0.131987D-01 0.399612D-02 0.0000000 0.0000000 0.0000000 0.0000000 360.0000000 0.123248D+00 -0.375342D-01 0.114751D-01 0.0000000 0.0000000 0.0000000 0.0000000 147.0000000 0.264369D+00 -0.897233D-01 0.275504D-01 0.0000000 0.0000000 0.0000000 0.0000000 62.8800000 0.382989D+00 -0.167671D+00 0.532917D-01 0.0000000 0.0000000 0.0000000 0.0000000 27.6000000 0.270934D+00 -0.174763D+00 0.571246D-01 0.0000000 0.0000000 0.0000000 0.0000000 11.0800000 0.471404D-01 0.114909D+00 -0.395201D-01 0.0000000 0.0000000 0.0000000 0.0000000 5.0750000 -0.371766D-02 0.563618D+00 -0.264343D+00 0.0000000 0.0000000 0.0000000 0.0000000 2.2780000 0.219158D-02 0.441606D+00 -0.349291D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.7775000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3527000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1431000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0519000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 6 0 1703.0000000 0.474039D-03 -0.128266D-03 0.0000000 0.0000000 0.0000000 0.0000000 403.6000000 0.406412D-02 -0.109356D-02 0.0000000 0.0000000 0.0000000 0.0000000 130.3000000 0.213355D-01 -0.583429D-02 0.0000000 0.0000000 0.0000000 0.0000000 49.0500000 0.794611D-01 -0.219258D-01 0.0000000 0.0000000 0.0000000 0.0000000 20.2600000 0.208927D+00 -0.601385D-01 0.0000000 0.0000000 0.0000000 0.0000000 8.7870000 0.364945D+00 -0.106929D+00 0.0000000 0.0000000 0.0000000 0.0000000 3.9190000 0.371725D+00 -0.122454D+00 0.0000000 0.0000000 0.0000000 0.0000000 1.7650000 0.146292D+00 0.383619D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.7207000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2839000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1060000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0376000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.2540000 1.0000000 0.0000000 0.0000000 0.0000000 0.6280000 0.0000000 1.0000000 0.0000000 0.0000000 1.5510000 0.0000000 0.0000000 1.0000000 0.0000000 0.0952000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.4230000 1.0000000 0.0000000 0.0000000 1.0890000 0.0000000 1.0000000 0.0000000 0.2170000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.8270000 1.0000000 0.0000000 0.3780000 0.0000000 1.0000000 $ ARGON (17s,12p,4d,3f,2g) -> [7s,6p,4d,3f,2g] $ ARGON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ ARGON (1s,1p,1d,1f,1g) a 18 $ S-TYPE FUNCTIONS 17 7 0 950600.0000000 0.227545D-04 -0.646201D-05 0.202056D-05 0.0000000 0.0000000 0.0000000 0.0000000 142300.0000000 0.176945D-03 -0.502346D-04 0.156851D-04 0.0000000 0.0000000 0.0000000 0.0000000 32360.0000000 0.931282D-03 -0.264804D-03 0.828617D-04 0.0000000 0.0000000 0.0000000 0.0000000 9145.0000000 0.392860D-02 -0.111895D-02 0.349264D-03 0.0000000 0.0000000 0.0000000 0.0000000 2970.0000000 0.142064D-01 -0.408276D-02 0.127976D-02 0.0000000 0.0000000 0.0000000 0.0000000 1064.0000000 0.448114D-01 -0.131216D-01 0.410365D-02 0.0000000 0.0000000 0.0000000 0.0000000 410.8000000 0.121001D+00 -0.372855D-01 0.117789D-01 0.0000000 0.0000000 0.0000000 0.0000000 168.0000000 0.260579D+00 -0.894709D-01 0.283868D-01 0.0000000 0.0000000 0.0000000 0.0000000 71.9900000 0.381364D+00 -0.168054D+00 0.552406D-01 0.0000000 0.0000000 0.0000000 0.0000000 31.6700000 0.276058D+00 -0.179594D+00 0.607492D-01 0.0000000 0.0000000 0.0000000 0.0000000 12.8900000 0.505179D-01 0.102953D+00 -0.362012D-01 0.0000000 0.0000000 0.0000000 0.0000000 5.9290000 -0.359866D-02 0.562630D+00 -0.275398D+00 0.0000000 0.0000000 0.0000000 0.0000000 2.6780000 0.218798D-02 0.450355D+00 -0.362845D+00 0.0000000 0.0000000 0.0000000 0.0000000 0.9416000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4239000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1714000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0610000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 6 0 1890.0000000 0.495752D-03 -0.138863D-03 0.0000000 0.0000000 0.0000000 0.0000000 447.8000000 0.425172D-02 -0.118870D-02 0.0000000 0.0000000 0.0000000 0.0000000 144.6000000 0.223277D-01 -0.632553D-02 0.0000000 0.0000000 0.0000000 0.0000000 54.4600000 0.830878D-01 -0.238813D-01 0.0000000 0.0000000 0.0000000 0.0000000 22.5100000 0.217110D+00 -0.649238D-01 0.0000000 0.0000000 0.0000000 0.0000000 9.7740000 0.374507D+00 -0.115444D+00 0.0000000 0.0000000 0.0000000 0.0000000 4.3680000 0.366445D+00 -0.123651D+00 0.0000000 0.0000000 0.0000000 0.0000000 1.9590000 0.129245D+00 0.649055D-01 0.0000000 0.0000000 0.0000000 0.0000000 0.8260000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3297000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1242000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0435000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.3110000 1.0000000 0.0000000 0.0000000 0.0000000 0.7630000 0.0000000 1.0000000 0.0000000 0.0000000 1.8730000 0.0000000 0.0000000 1.0000000 0.0000000 0.1160000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.5430000 1.0000000 0.0000000 0.0000000 1.3250000 0.0000000 1.0000000 0.0000000 0.2940000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 1.0070000 1.0000000 0.0000000 0.4590000 0.0000000 1.0000000 $ SCANDIUM (23s,19p,12d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ SCANDIUM (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ SCANDIUM (1s,1p,1d,1f,1g,1h) a 21 $ S-TYPE FUNCTIONS 23 9 0 8417909.0000000 1.981292E-06 -1.147926E-06 2.221960E-07 -5.350285E-08 -9.140993E-08 -1.445075E-07 -1.607992E-07 0.0000000 0.0000000 1260312.0000000 1.540697E-05 -8.929259E-06 1.729799E-06 -4.164419E-07 -7.270775E-07 -1.167681E-06 -1.216461E-06 0.0000000 0.0000000 286798.4000000 8.106065E-05 -4.696382E-05 9.088001E-06 -2.188499E-06 -3.702449E-06 -5.810201E-06 -6.659894E-06 0.0000000 0.0000000 81234.6900000 0.0003423943 -0.0001985315 3.848622E-05 -9.264628E-06 -1.633468E-05 -2.64162E-05 -2.670499E-05 0.0000000 0.0000000 26503.1100000 0.00124699 -0.0007230932 0.0001399997 -3.371711E-05 -5.64236E-05 -8.781407E-05 -0.0001039947 0.0000000 0.0000000 9568.7010000 0.004056425 -0.002358822 0.0004585975 -0.0001103886 -0.000196819 -0.0003207912 -0.0003133995 0.0000000 0.0000000 3732.4970000 0.01200596 -0.007008148 0.001364588 -0.0003287051 -0.0005428811 -0.000836375 -0.001029884 0.0000000 0.0000000 1548.4220000 0.03235944 -0.01912407 0.003773739 -0.000908425 -0.001642692 -0.00270364 -0.002530633 0.0000000 0.0000000 675.5420000 0.07819972 -0.04728922 0.009493887 -0.002288204 -0.003709752 -0.00563396 -0.007335917 0.0000000 0.0000000 307.2522000 0.1617396 -0.1032480 0.02174611 -0.005238462 -0.009699229 -0.01622651 -0.01414587 0.0000000 0.0000000 144.6672000 0.2618480 -0.1861960 0.04228528 -0.01021547 -0.0158935 -0.02336426 -0.03451496 0.0000000 0.0000000 70.0438700 0.2748284 -0.2480547 0.0654061 -0.01581707 -0.03149937 -0.05523292 -0.03859251 0.0000000 0.0000000 34.3225000 0.1419647 -0.1614781 0.04759732 -0.01162945 -0.0115392 -0.008807771 -0.05560506 0.0000000 0.0000000 15.6122400 0.07046176 0.1779183 -0.0816033 0.02013432 0.01426789 -0.0002060869 0.1025062 0.0000000 0.0000000 7.7437220 0.1288392 0.5324076 -0.3283980 0.08405086 0.1977719 0.3882857 0.2265527 0.0000000 0.0000000 3.8442600 0.09269352 0.3752830 -0.3654561 0.0984825 0.09493216 0.0974343 0.6017289 0.0000000 0.0000000 1.7197660 0.01229949 0.05198123 0.2102218 -0.06838523 0.0267895 0.006858569 -1.4029740 0.0000000 0.0000000 0.8325230 -0.0004588239 -0.004029053 0.6856793 -0.2353627 -0.9351082 -2.3215700 -0.8478364 0.0000000 0.0000000 0.3855640 0.0001722703 0.0003794092 0.3684308 -0.2776984 0.1820725 2.6665800 3.0947890 0.0000000 0.0000000 0.0967000 -5.410745E-05 -0.0004006692 0.02050798 0.2987423 2.0774230 0.1898281 -5.7927330 0.0000000 0.0000000 0.0477780 4.892875E-05 0.0003219248 -0.006410776 0.6193723 -1.1139440 -2.6840650 6.9441580 0.0000000 0.0000000 0.0223630 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0104700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 19 8 0 22640.9700000 0.0000120 -0.0000040 0.0000010 0.0000010 0.0000020 -0.0000020 0.0000000 0.0000000 5357.5450000 0.0001070 -0.0000350 0.0000090 0.0000100 0.0000200 -0.0000290 0.0000000 0.0000000 1740.3730000 0.0006250 -0.0002050 0.0000500 0.0000600 0.0001280 -0.0001300 0.0000000 0.0000000 666.6163000 0.0028300 -0.0009320 0.0002270 0.0002740 0.0005340 -0.0007520 0.0000000 0.0000000 283.6384000 0.0105300 -0.0034840 0.0008530 0.0010250 0.0021640 -0.0022120 0.0000000 0.0000000 129.7976000 0.0328810 -0.0110190 0.0026860 0.0032500 0.0063070 -0.0088930 0.0000000 0.0000000 62.6795600 0.0858840 -0.0294150 0.0072250 0.0086740 0.0183770 -0.0182620 0.0000000 0.0000000 31.5044100 0.1800300 -0.0637130 0.0155900 0.0188660 0.0360160 -0.0530410 0.0000000 0.0000000 16.2352500 0.2892240 -0.1060850 0.0263030 0.0314660 0.0694300 -0.0599390 0.0000000 0.0000000 8.5183240 0.3279100 -0.1286380 0.0317770 0.0386630 0.0719490 -0.1556420 0.0000000 0.0000000 4.5190050 0.2101980 -0.0530120 0.0124830 0.0149230 0.0577890 0.0095720 0.0000000 0.0000000 2.3665910 0.0546800 0.1740260 -0.0526270 -0.0596700 -0.1752840 0.0918980 0.0000000 0.0000000 1.2152350 0.0018530 0.3925500 -0.1140250 -0.1347060 -0.3373290 1.2567100 0.0000000 0.0000000 0.6143480 -0.0014170 0.3965140 -0.1463710 -0.1728090 -0.5644270 -1.0111150 0.0000000 0.0000000 0.3007450 -0.0009530 0.1765440 -0.0138630 -0.0806980 1.1633800 -1.3688360 0.0000000 0.0000000 0.1260040 -0.0000510 0.0191110 0.3524440 0.5542640 0.5658350 2.3777820 0.0000000 0.0000000 0.0548400 -0.0000210 0.0000750 0.5504540 0.5500070 -0.9715060 -1.1539840 0.0000000 0.0000000 0.0235570 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0101200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 145.4680000 0.0004940 -0.0005050 -0.0006670 0.0008360 0.0000000 0.0000000 43.4188000 0.0041980 -0.0042930 -0.0055930 0.0084950 0.0000000 0.0000000 16.5768000 0.0189670 -0.0194750 -0.0259900 0.0334810 0.0000000 0.0000000 6.9711100 0.0584080 -0.0606310 -0.0791400 0.1270110 0.0000000 0.0000000 3.1334700 0.1376050 -0.1436610 -0.1936220 0.2482810 0.0000000 0.0000000 1.4576800 0.2314700 -0.2292940 -0.2899810 0.4455630 0.0000000 0.0000000 0.6745380 0.2965300 -0.2619730 -0.1702510 -0.5406450 0.0000000 0.0000000 0.3051620 0.3052000 -0.0530060 0.6126870 -0.8783940 0.0000000 0.0000000 0.1341130 0.2380750 0.4119990 0.4817940 1.4431180 0.0000000 0.0000000 0.0572700 0.1073860 0.4831900 -0.6794480 -0.4690810 0.0000000 0.0000000 0.0233540 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0095200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 1.4167000 1.0000000 0.0000000 0.0000000 0.0000000 0.3992000 0.0000000 1.0000000 0.0000000 0.0000000 0.1125000 0.0000000 0.0000000 1.0000000 0.0000000 0.0312800 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.9963000 1.0000000 0.0000000 0.0000000 0.2573000 0.0000000 1.0000000 0.0000000 0.0723600 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.5016000 1.0000000 0.0000000 0.1226400 0.0000000 1.0000000 $ TITANIUM (23s,19p,12d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ TITANIUM (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ TITANIUM (1s,1p,1d,1f,1g,1h) a 22 $ S-TYPE FUNCTIONS 23 9 0 9317034.0000000 1.967884E-06 -1.130007E-06 2.252735E-07 -5.318433E-08 -9.711872E-08 -1.533644E-07 -1.764526E-07 0.0000000 0.0000000 1394971.0000000 1.530198E-05 -8.789416E-06 1.753631E-06 -4.139855E-07 -7.73397E-07 -1.234295E-06 -1.314401E-06 0.0000000 0.0000000 317453.1000000 8.050403E-05 -4.622623E-05 9.213052E-06 -2.175153E-06 -3.931052E-06 -6.177188E-06 -7.355464E-06 0.0000000 0.0000000 89921.0000000 0.0003400302 -0.0001954047 3.901242E-05 -9.209567E-06 -1.738323E-05 -2.787253E-05 -2.863762E-05 0.0000000 0.0000000 29338.1600000 0.001238349 -0.0007117 0.0001419184 -3.350761E-05 -5.986536E-05 -9.355199E-05 -0.0001156551 0.0000000 0.0000000 10592.6600000 0.004028475 -0.002321755 0.0004648635 -0.0001097393 -0.0002095853 -0.0003378352 -0.0003330732 0.0000000 0.0000000 4132.0560000 0.01192508 -0.006899511 0.001383544 -0.0003267006 -0.0005756482 -0.0008935475 -0.001155156 0.0000000 0.0000000 1714.2350000 0.03215601 -0.01883765 0.003827354 -0.0009036567 -0.001751595 -0.002842353 -0.002659832 0.0000000 0.0000000 747.9151000 0.0777862 -0.04663976 0.009639191 -0.002277257 -0.00393512 -0.006052332 -0.008332036 0.0000000 0.0000000 340.1991000 0.1612030 -0.1020764 0.02211719 -0.005226756 -0.0103849 -0.0170469 -0.01462611 0.0000000 0.0000000 160.2060000 0.2618826 -0.1848693 0.04314954 -0.01021707 -0.0169110 -0.02549806 -0.0403089 0.0000000 0.0000000 77.5885100 0.2766541 -0.2479601 0.06703481 -0.01591468 -0.03410989 -0.05791149 -0.03745842 0.0000000 0.0000000 38.0448900 0.1442968 -0.1634863 0.04946424 -0.01182814 -0.01220437 -0.01271791 -0.07375959 0.0000000 0.0000000 17.3536200 0.06993131 0.1779147 -0.08333456 0.02011999 0.01397535 0.006260762 0.1443268 0.0000000 0.0000000 8.6420620 0.1259449 0.5351738 -0.3384435 0.08526584 0.2176212 0.4080306 0.2119031 0.0000000 0.0000000 4.3044040 0.0902583 0.3752822 -0.3674069 0.09693489 0.09532708 0.1284258 0.7474187 0.0000000 0.0000000 1.9377180 0.01200401 0.05217038 0.2247056 -0.07082672 0.01782524 -0.1231286 -2.0310800 0.0000000 0.0000000 0.9365940 -0.0003976168 -0.003863192 0.6878815 -0.2359740 -1.0163420 -2.2673310 0.1922693 0.0000000 0.0000000 0.4326240 0.0001425444 0.0002845374 0.3594435 -0.2629613 0.3107026 2.8075070 2.2877680 0.0000000 0.0000000 0.1073520 -4.196664E-05 -0.0003500414 0.01933695 0.3011214 1.9917860 -0.3028009 -5.1681350 0.0000000 0.0000000 0.0520340 4.824213E-05 0.0003192906 -0.005997819 0.6125074 -1.1429550 -2.0712270 6.4603230 0.0000000 0.0000000 0.0240380 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0111000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 19 8 0 25537.3300000 0.0000120 -0.0000040 0.0000010 0.0000010 0.0000020 -0.0000030 0.0000000 0.0000000 6042.2430000 0.0001040 -0.0000350 0.0000080 0.0000100 0.0000200 -0.0000280 0.0000000 0.0000000 1962.6530000 0.0006070 -0.0002030 0.0000490 0.0000610 0.0001260 -0.0001340 0.0000000 0.0000000 751.7338000 0.0027510 -0.0009250 0.0002210 0.0002750 0.0005260 -0.0007360 0.0000000 0.0000000 319.8833000 0.0102660 -0.0034700 0.0008360 0.0010340 0.0021510 -0.0022930 0.0000000 0.0000000 146.4300000 0.0321800 -0.0110200 0.0026410 0.0032830 0.0062570 -0.0087520 0.0000000 0.0000000 70.7486100 0.0844860 -0.0295770 0.0071510 0.0088290 0.0184550 -0.0192260 0.0000000 0.0000000 35.5908800 0.1783320 -0.0645740 0.0155300 0.0193080 0.0362470 -0.0525890 0.0000000 0.0000000 18.3689300 0.2885740 -0.1084580 0.0264790 0.0326120 0.0709200 -0.0658940 0.0000000 0.0000000 9.6586550 0.3287580 -0.1319100 0.0319800 0.0399770 0.0718270 -0.1481120 0.0000000 0.0000000 5.1367300 0.2115410 -0.0530890 0.0125610 0.0152990 0.0592010 -0.0241240 0.0000000 0.0000000 2.6988720 0.0555190 0.1781250 -0.0529940 -0.0626200 -0.1842720 0.1769790 0.0000000 0.0000000 1.3897030 0.0020200 0.3957010 -0.1130390 -0.1382880 -0.3296530 1.1584280 0.0000000 0.0000000 0.7031630 -0.0014290 0.3927280 -0.1436980 -0.1763480 -0.5457640 -0.9634580 0.0000000 0.0000000 0.3441230 -0.0009410 0.1744770 -0.0103360 -0.0554040 1.1454310 -1.3245080 0.0000000 0.0000000 0.1413610 -0.0000530 0.0189460 0.3547360 0.5592910 0.5526250 2.2913730 0.0000000 0.0000000 0.0608630 -0.0000170 -0.0003280 0.5481010 0.5331150 -0.9642600 -1.1129320 0.0000000 0.0000000 0.0259070 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0110300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 196.9490000 0.0003820 -0.0003880 -0.0006220 -0.0006960 0.0000000 0.0000000 58.8372000 0.0033680 -0.0034280 -0.0054930 -0.0070890 0.0000000 0.0000000 22.5654000 0.0162420 -0.0165980 -0.0269680 -0.0310130 0.0000000 0.0000000 9.5756600 0.0523770 -0.0541720 -0.0895330 -0.1200550 0.0000000 0.0000000 4.3185900 0.1299280 -0.1366600 -0.2283740 -0.2789100 0.0000000 0.0000000 2.0232700 0.2312330 -0.2294490 -0.3312580 -0.3789610 0.0000000 0.0000000 0.9467780 0.3035610 -0.2549950 -0.1063490 0.5737430 0.0000000 0.0000000 0.4338760 0.3092680 -0.0476610 0.6310360 0.7279500 0.0000000 0.0000000 0.1922740 0.2316440 0.3948800 0.3966210 -1.2976560 0.0000000 0.0000000 0.0815020 0.1015400 0.4964530 -0.6180090 0.3203760 0.0000000 0.0000000 0.0322850 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0127900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 2.2626000 1.0000000 0.0000000 0.0000000 0.0000000 0.6418000 0.0000000 1.0000000 0.0000000 0.0000000 0.1821000 0.0000000 0.0000000 1.0000000 0.0000000 0.0554100 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 1.5732000 1.0000000 0.0000000 0.0000000 0.4002000 0.0000000 1.0000000 0.0000000 0.1256600 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.8721000 1.0000000 0.0000000 0.2724200 0.0000000 1.0000000 $ VANADIUM (23s,19p,12d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ VANADIUM (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ VANADIUM (1s,1p,1d,1f,1g,1h) a 23 $ S-TYPE FUNCTIONS 23 9 0 10251780.0000000 1.966291E-06 -1.100923E-06 2.278854E-07 -5.275948E-08 -1.003479E-07 -1.592148E-07 -1.885199E-07 0.0000000 0.0000000 1534920.0000000 1.528967E-05 -8.56325E-06 1.773942E-06 -4.107129E-07 -7.997061E-07 -1.278305E-06 -1.39455E-06 0.0000000 0.0000000 349300.9000000 8.043932E-05 -4.503678E-05 9.319992E-06 -2.157711E-06 -4.060397E-06 -6.420097E-06 -7.881519E-06 0.0000000 0.0000000 98942.0500000 0.0003397617 -0.0001903808 3.946449E-05 -9.13722E-06 -1.79807E-05 -2.883633E-05 -3.027981E-05 0.0000000 0.0000000 32281.3600000 0.001237405 -0.0006934284 0.000143572 -3.323885E-05 -6.18137E-05 -9.73589E-05 -0.000124316 0.0000000 0.0000000 11655.2700000 0.00402574 -0.002262429 0.0004702911 -0.0001088925 -0.0002168915 -0.0003491402 -0.0003507231 0.0000000 0.0000000 4546.5480000 0.01191912 -0.006724991 0.001399998 -0.0003241407 -0.0005942417 -0.0009316194 -0.00124644 0.0000000 0.0000000 1886.1850000 0.03215431 -0.01837325 0.003874111 -0.0008972319 -0.001814506 -0.002934959 -0.00278742 0.0000000 0.0000000 822.9417000 0.07785452 -0.0455526 0.009765942 -0.002262105 -0.004064807 -0.006333703 -0.009045618 0.0000000 0.0000000 374.3439000 0.1616367 -0.09996969 0.02244179 -0.005203068 -0.01079223 -0.01760698 -0.01522967 0.0000000 0.0000000 176.3069000 0.2634194 -0.1819111 0.04390091 -0.01019123 -0.01752264 -0.02696848 -0.04437496 0.0000000 0.0000000 85.4066100 0.2799986 -0.2458744 0.06843462 -0.0159482 -0.03573873 -0.05982079 -0.03793507 0.0000000 0.0000000 41.9043500 0.1473474 -0.1638089 0.0509650 -0.01193588 -0.01263079 -0.01545613 -0.08564216 0.0000000 0.0000000 19.1552500 0.06826405 0.1795843 -0.0853594 0.02018344 0.01393494 0.01103001 0.1715635 0.0000000 0.0000000 9.5716170 0.1194436 0.5389547 -0.3474804 0.08610071 0.2305046 0.4234006 0.2192374 0.0000000 0.0000000 4.7800860 0.08507582 0.3749098 -0.3672368 0.09487917 0.0936574 0.1454088 0.8190393 0.0000000 0.0000000 2.1618600 0.01125814 0.05200269 0.2385408 -0.07309753 0.00782896 -0.2197140 -2.4396980 0.0000000 0.0000000 1.0427110 -0.0003353521 -0.003775873 0.6888178 -0.2349632 -1.0538540 -2.1943290 0.9048685 0.0000000 0.0000000 0.4802820 0.0001070571 0.0001686888 0.3509919 -0.2500297 0.3865591 2.8574410 1.7069230 0.0000000 0.0000000 0.1176380 -2.979622E-05 -0.0003063802 0.01826144 0.3026096 1.9257830 -0.5832475 -4.6758140 0.0000000 0.0000000 0.0561740 4.672816E-05 0.0003238096 -0.005541134 0.6061635 -1.1464290 -1.6928450 6.0487340 0.0000000 0.0000000 0.0256610 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0117200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 19 8 0 28563.3200000 0.0000110 -0.0000040 0.0000010 0.0000010 0.0000020 -0.0000030 0.0000000 0.0000000 6757.1910000 0.0001010 -0.0000340 0.0000080 0.0000100 0.0000200 -0.0000290 0.0000000 0.0000000 2194.6520000 0.0005920 -0.0002020 0.0000490 0.0000600 0.0001290 -0.0001410 0.0000000 0.0000000 840.5257000 0.0026900 -0.0009200 0.0002210 0.0002750 0.0005360 -0.0007730 0.0000000 0.0000000 357.6666000 0.0100630 -0.0034590 0.0008380 0.0010330 0.0022030 -0.0024220 0.0000000 0.0000000 163.7534000 0.0316540 -0.0110250 0.0026560 0.0032960 0.0064280 -0.0092670 0.0000000 0.0000000 79.1446600 0.0834780 -0.0297320 0.0072330 0.0088960 0.0190710 -0.0205550 0.0000000 0.0000000 39.8385800 0.1772260 -0.0653490 0.0158080 0.0196130 0.0377120 -0.0564850 0.0000000 0.0000000 20.5853600 0.2883980 -0.1105270 0.0271720 0.0333180 0.0742670 -0.0714930 0.0000000 0.0000000 10.8430700 0.3294320 -0.1345370 0.0328010 0.0410090 0.0752600 -0.1577910 0.0000000 0.0000000 5.7779690 0.2121300 -0.0524370 0.0123380 0.0149590 0.0609980 -0.0215520 0.0000000 0.0000000 3.0431700 0.0558820 0.1822160 -0.0554180 -0.0642560 -0.2009760 0.2379500 0.0000000 0.0000000 1.5702390 0.0020970 0.3980180 -0.1156040 -0.1418170 -0.3453430 1.1318370 0.0000000 0.0000000 0.7949750 -0.0014710 0.3891530 -0.1390920 -0.1739660 -0.5018350 -1.0891800 0.0000000 0.0000000 0.3889800 -0.0009480 0.1727170 0.0006820 -0.0411320 1.1436310 -1.1257730 0.0000000 0.0000000 0.1573270 -0.0000550 0.0187460 0.3520090 0.5639950 0.5044870 2.1681890 0.0000000 0.0000000 0.0665660 -0.0000130 -0.0005940 0.5422050 0.5238960 -0.9441030 -1.1102630 0.0000000 0.0000000 0.0278610 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0116600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 238.0090000 0.0003500 -0.0003700 -0.0005750 0.0007340 0.0000000 0.0000000 71.1896000 0.0031300 -0.0033170 -0.0051570 0.0072580 0.0000000 0.0000000 27.3946000 0.0154780 -0.0164740 -0.0259290 0.0339580 0.0000000 0.0000000 11.7173000 0.0508290 -0.0548390 -0.0880590 0.1298550 0.0000000 0.0000000 5.3248000 0.1275480 -0.1408390 -0.2311790 0.3316480 0.0000000 0.0000000 2.5169800 0.2304470 -0.2395530 -0.3383520 0.3569830 0.0000000 0.0000000 1.1907500 0.3040580 -0.2519100 -0.0850300 -0.6934390 0.0000000 0.0000000 0.5518090 0.3083660 -0.0261060 0.6267990 -0.5768500 0.0000000 0.0000000 0.2469260 0.2290220 0.3877700 0.3834730 1.2280290 0.0000000 0.0000000 0.1051000 0.1013600 0.4867240 -0.6102620 -0.3167410 0.0000000 0.0000000 0.0413930 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0163000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 3.0648000 1.0000000 0.0000000 0.0000000 0.0000000 0.8840000 0.0000000 1.0000000 0.0000000 0.0000000 0.2550000 0.0000000 0.0000000 1.0000000 0.0000000 0.0818500 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 2.1538000 1.0000000 0.0000000 0.0000000 0.5645000 0.0000000 1.0000000 0.0000000 0.1933900 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 1.3165000 1.0000000 0.0000000 0.4711900 0.0000000 1.0000000 $ CHROMIUM (23s,19p,12d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ CHROMIUM (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ CHROMIUM (1s,1p,1d,1f,1g,1h) a 24 $ S-TYPE FUNCTIONS 23 9 0 11016640.0000000 2.002522E-06 -1.118844E-06 2.358227E-07 -5.343793E-08 -1.038573E-07 -1.671645E-07 -2.018526E-07 0.0000000 0.0000000 1649423.0000000 1.557145E-05 -8.70279E-06 1.83614E-06 -4.166295E-07 -8.291687E-07 -1.331951E-06 -1.476099E-06 0.0000000 0.0000000 375358.9000000 8.192146E-05 -4.576974E-05 9.643686E-06 -2.183977E-06 -4.198902E-06 -6.764614E-06 -8.479016E-06 0.0000000 0.0000000 106323.6000000 0.0003460132 -0.0001934803 4.085166E-05 -9.275174E-06 -1.865777E-05 -2.994507E-05 -3.186673E-05 0.0000000 0.0000000 34689.7600000 0.001260141 -0.0007046922 0.0001485404 -3.361788E-05 -6.386131E-05 -0.000102993 -0.0001344019 0.0000000 0.0000000 12524.8300000 0.004099273 -0.002299139 0.0004868639 -0.0001106225 -0.0002252576 -0.0003611865 -0.0003665342 0.0000000 0.0000000 4885.7520000 0.01213424 -0.006833193 0.001448156 -0.0003275214 -0.0006131653 -0.0009903414 -0.001355222 0.0000000 0.0000000 2026.9180000 0.03271636 -0.01866493 0.004010503 -0.0009122671 -0.001886356 -0.003022002 -0.002884635 0.0000000 0.0000000 884.3645000 0.07912296 -0.04624835 0.01009579 -0.002281936 -0.004185316 -0.006778242 -0.009908511 0.0000000 0.0000000 402.3170000 0.1638397 -0.1013820 0.02321493 -0.005294506 -0.01123172 -0.01798719 -0.01547488 0.0000000 0.0000000 189.5271000 0.2655107 -0.1839390 0.04524056 -0.01022548 -0.01791544 -0.02926094 -0.04925232 0.0000000 0.0000000 91.8609500 0.2789671 -0.2469356 0.07025001 -0.01618464 -0.03714198 -0.05950832 -0.03533906 0.0000000 0.0000000 45.1247600 0.1444466 -0.1597390 0.05032135 -0.01124211 -0.01126485 -0.02030054 -0.09963499 0.0000000 0.0000000 20.6251200 0.06941606 0.1940936 -0.09350992 0.02096236 0.01522975 0.02995049 0.2140183 0.0000000 0.0000000 10.3197300 0.1195153 0.5461479 -0.3650249 0.09050667 0.2458640 0.4202560 0.2137561 0.0000000 0.0000000 5.1577230 0.08084582 0.3610571 -0.3530889 0.08642079 0.07882802 0.1844826 0.8609798 0.0000000 0.0000000 2.3126280 0.009975024 0.04658647 0.2829720 -0.0785363 -0.01862956 -0.4526654 -2.9258430 0.0000000 0.0000000 1.1030790 -0.000286577 -0.003493969 0.7001955 -0.2526007 -1.0962620 -1.8921570 1.9665580 0.0000000 0.0000000 0.4980420 0.0001176051 0.0002600074 0.3067473 -0.2133579 0.5510966 2.8485940 0.7515651 0.0000000 0.0000000 0.1182470 -2.164013E-05 -0.00024401 0.01083139 0.3577908 1.8947270 -1.1247750 -4.1073970 0.0000000 0.0000000 0.0573560 5.032702E-05 0.0003266435 -0.001458427 0.5691145 -1.3157730 -0.9810669 5.7017810 0.0000000 0.0000000 0.0257600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0115700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 19 8 0 31539.8900000 0.0000110 -0.0000040 0.0000010 0.0000010 0.0000030 -0.0000030 0.0000000 0.0000000 7460.2340000 0.0001000 -0.0000350 0.0000080 0.0000100 0.0000210 -0.0000310 0.0000000 0.0000000 2422.6220000 0.0005870 -0.0002030 0.0000480 0.0000610 0.0001340 -0.0001500 0.0000000 0.0000000 927.7547000 0.0026670 -0.0009260 0.0002180 0.0002770 0.0005590 -0.0008150 0.0000000 0.0000000 394.8041000 0.0099910 -0.0034870 0.0008270 0.0010410 0.0022970 -0.0025830 0.0000000 0.0000000 180.8027000 0.0314930 -0.0111410 0.0026260 0.0033380 0.0067270 -0.0098130 0.0000000 0.0000000 87.4239300 0.0832660 -0.0301280 0.0071720 0.0090130 0.0199900 -0.0221160 0.0000000 0.0000000 44.0342700 0.1773280 -0.0664840 0.0157380 0.0200130 0.0397890 -0.0602960 0.0000000 0.0000000 22.7770400 0.2892300 -0.1128540 0.0271540 0.0340000 0.0784260 -0.0781870 0.0000000 0.0000000 12.0154700 0.3296730 -0.1367850 0.0326310 0.0419930 0.0798820 -0.1674430 0.0000000 0.0000000 6.4117510 0.2108870 -0.0500570 0.0114930 0.0138040 0.0609720 -0.0135230 0.0000000 0.0000000 3.3811360 0.0551740 0.1884690 -0.0560770 -0.0662750 -0.2226880 0.3066960 0.0000000 0.0000000 1.7470540 0.0022300 0.4004550 -0.1142520 -0.1461070 -0.3668130 1.0907830 0.0000000 0.0000000 0.8850040 -0.0012840 0.3843320 -0.1337370 -0.1694750 -0.4471090 -1.2345450 0.0000000 0.0000000 0.4330280 -0.0008540 0.1695200 0.0034730 -0.0285870 1.1518010 -0.9015550 0.0000000 0.0000000 0.1734150 -0.0000460 0.0182570 0.3451660 0.5663070 0.4413050 2.0482660 0.0000000 0.0000000 0.0726080 -0.0000120 -0.0007430 0.5418440 0.5156880 -0.9140660 -1.1039840 0.0000000 0.0000000 0.0299150 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0123300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 268.0400000 0.0003600 -0.0004070 -0.0005820 0.0008280 0.0000000 0.0000000 80.2223000 0.0032360 -0.0036770 -0.0052760 0.0080720 0.0000000 0.0000000 30.8950000 0.0161530 -0.0184220 -0.0267230 0.0389600 0.0000000 0.0000000 13.2481000 0.0534180 -0.0620500 -0.0920120 0.1497060 0.0000000 0.0000000 6.0407700 0.1335240 -0.1589460 -0.2423410 0.3879330 0.0000000 0.0000000 2.8615900 0.2386370 -0.2629000 -0.3383560 0.2970340 0.0000000 0.0000000 1.3554500 0.3094550 -0.2438830 -0.0138860 -0.8758060 0.0000000 0.0000000 0.6282480 0.3056910 0.0377400 0.6731700 -0.2958520 0.0000000 0.0000000 0.2806230 0.2182890 0.4270640 0.2610890 1.2044240 0.0000000 0.0000000 0.1186680 0.0896930 0.4428120 -0.6613960 -0.5298930 0.0000000 0.0000000 0.0459310 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0177800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 3.7611000 1.0000000 0.0000000 0.0000000 0.0000000 1.0928000 0.0000000 1.0000000 0.0000000 0.0000000 0.3175000 0.0000000 0.0000000 1.0000000 0.0000000 0.1037300 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 2.6143000 1.0000000 0.0000000 0.0000000 0.6951000 0.0000000 1.0000000 0.0000000 0.2454500 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 1.6775000 1.0000000 0.0000000 0.6329200 0.0000000 1.0000000 $ MANGANESE (23s,19p,12d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ MANGANESE (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ MANGANESE (1s,1p,1d,1f,1g,1h) a 25 $ S-TYPE FUNCTIONS 23 9 0 12210500.0000000 2.018537E-06 -9.633574E-07 2.316977E-07 -5.127786E-08 -1.017421E-07 -1.64232E-07 -2.001522E-07 0.0000000 0.0000000 1828157.0000000 1.569638E-05 -7.493672E-06 1.803633E-06 -3.991995E-07 -8.110718E-07 -1.314241E-06 -1.478765E-06 0.0000000 0.0000000 416030.3000000 8.257853E-05 -3.941004E-05 9.476176E-06 -2.097137E-06 -4.116344E-06 -6.63284E-06 -8.372432E-06 0.0000000 0.0000000 117843.6000000 0.0003488107 -0.0001666155 4.012553E-05 -8.881375E-06 -1.823899E-05 -2.96042E-05 -3.208892E-05 0.0000000 0.0000000 38448.1400000 0.001270414 -0.0006069041 0.000145987 -3.230705E-05 -6.265924E-05 -0.0001007673 -0.0001321413 0.0000000 0.0000000 13881.7100000 0.004133905 -0.001981108 0.0004782368 -0.0001058611 -0.0002200741 -0.0003579039 -0.0003714493 0.0000000 0.0000000 5415.0020000 0.01224366 -0.005893486 0.001424063 -0.0003151614 -0.0006024678 -0.0009666897 -0.001326456 0.0000000 0.0000000 2246.4600000 0.0330604 -0.01613849 0.003942807 -0.0008730066 -0.0018430 -0.003005179 -0.002951265 0.0000000 0.0000000 980.1463000 0.08019877 -0.04018929 0.009952411 -0.002203528 -0.004127938 -0.006605816 -0.009655762 0.0000000 0.0000000 445.8952000 0.1671550 -0.08903423 0.0229242 -0.005081761 -0.01100471 -0.0180382 -0.01616919 0.0000000 0.0000000 210.0558000 0.2743977 -0.1646993 0.04501638 -0.009988834 -0.0179012 -0.02853084 -0.04776647 0.0000000 0.0000000 101.8046000 0.2963690 -0.2288840 0.07048742 -0.01570961 -0.03676227 -0.06124413 -0.04049212 0.0000000 0.0000000 50.0112600 0.1592852 -0.1560684 0.05291064 -0.01183955 -0.01301427 -0.01893791 -0.09389925 0.0000000 0.0000000 22.9393900 0.05681818 0.1882585 -0.08983951 0.02031039 0.01478153 0.01888653 0.1920182 0.0000000 0.0000000 11.5226400 0.0827899 0.5512725 -0.3626155 0.08593055 0.2391713 0.4329357 0.2440487 0.0000000 0.0000000 5.7763380 0.05840628 0.3755111 -0.3621266 0.08897427 0.08964957 0.1661622 0.8589060 0.0000000 0.0000000 2.6259590 0.007343047 0.05061607 0.2656979 -0.07678891 -0.01299627 -0.3401427 -2.7931450 0.0000000 0.0000000 1.2603220 -0.0002934793 -0.004926193 0.6892091 -0.2261750 -1.0513300 -2.0393200 1.5640690 0.0000000 0.0000000 0.5771300 -4.562245E-05 -0.0006126838 0.3337072 -0.2271869 0.4478536 2.7946610 1.1184620 0.0000000 0.0000000 0.1365820 -9.934988E-06 -0.0002821975 0.01594677 0.3003127 1.8048060 -0.7303582 -4.0546640 0.0000000 0.0000000 0.0635350 2.391143E-05 0.0003009192 -0.004614546 0.5953419 -1.0710260 -1.4080030 5.4620540 0.0000000 0.0000000 0.0285210 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0128000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 19 8 0 35005.1200000 0.0000110 -0.0000040 -0.0000010 0.0000010 0.0000030 -0.0000030 0.0000000 0.0000000 8279.4620000 0.0000980 -0.0000340 -0.0000080 0.0000100 0.0000210 -0.0000320 0.0000000 0.0000000 2688.4650000 0.0005720 -0.0001990 -0.0000460 0.0000610 0.0001380 -0.0001650 0.0000000 0.0000000 1029.4900000 0.0026040 -0.0009070 -0.0002080 0.0002780 0.0005680 -0.0008520 0.0000000 0.0000000 438.0708000 0.0097790 -0.0034250 -0.0007920 0.0010520 0.0023680 -0.0028640 0.0000000 0.0000000 200.6153000 0.0309380 -0.0109850 -0.0025220 0.0033660 0.0068870 -0.0103380 0.0000000 0.0000000 97.0076900 0.0821940 -0.0298560 -0.0069280 0.0091930 0.0208050 -0.0249200 0.0000000 0.0000000 48.8705200 0.1761490 -0.0663660 -0.0152920 0.0204040 0.0412070 -0.0639080 0.0000000 0.0000000 25.2928100 0.2891330 -0.1135040 -0.0266110 0.0352770 0.0829490 -0.0917040 0.0000000 0.0000000 13.3538200 0.3309560 -0.1379910 -0.0319780 0.0429860 0.0823300 -0.1688330 0.0000000 0.0000000 7.1317860 0.2122180 -0.0493550 -0.0112220 0.0147830 0.0676490 -0.0457170 0.0000000 0.0000000 3.7643650 0.0552270 0.1912420 0.0549880 -0.0708510 -0.2505870 0.4475430 0.0000000 0.0000000 1.9462650 0.0012070 0.4023550 0.1104650 -0.1488630 -0.3787840 1.0445440 0.0000000 0.0000000 0.9854550 -0.0023550 0.3821160 0.1281620 -0.1726610 -0.3965170 -1.4857210 0.0000000 0.0000000 0.4818650 -0.0013200 0.1681990 -0.0029800 -0.0048570 1.1501120 -0.5306040 0.0000000 0.0000000 0.1892120 -0.0000940 0.0179050 -0.3368240 0.5718810 0.3830850 1.8217180 0.0000000 0.0000000 0.0779800 -0.0000070 -0.0009580 -0.5424410 0.5013280 -0.8923280 -1.0684500 0.0000000 0.0000000 0.0316850 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0128700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 301.4270000 0.0003610 -0.0003670 -0.0005810 -0.0007460 0.0000000 0.0000000 90.3288000 0.0032590 -0.0033310 -0.0053040 -0.0068580 0.0000000 0.0000000 34.8337000 0.0164190 -0.0168130 -0.0270190 -0.0350360 0.0000000 0.0000000 14.9770000 0.0547600 -0.0569290 -0.0940670 -0.1265920 0.0000000 0.0000000 6.8498300 0.1367270 -0.1457700 -0.2469380 -0.3598640 0.0000000 0.0000000 3.2521700 0.2424190 -0.2466730 -0.3420510 -0.3065310 0.0000000 0.0000000 1.5430900 0.3103760 -0.2342270 -0.0146210 0.7526320 0.0000000 0.0000000 0.7156410 0.3021700 0.0233200 0.6120700 0.4176590 0.0000000 0.0000000 0.3193230 0.2135730 0.3875770 0.3201120 -1.0728320 0.0000000 0.0000000 0.1344280 0.0890940 0.4676950 -0.5609790 0.2000430 0.0000000 0.0000000 0.0515700 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0197800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 4.4646000 1.0000000 0.0000000 0.0000000 0.0000000 1.3133000 0.0000000 1.0000000 0.0000000 0.0000000 0.3863000 0.0000000 0.0000000 1.0000000 0.0000000 0.1282900 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 3.1668000 1.0000000 0.0000000 0.0000000 0.8651000 0.0000000 1.0000000 0.0000000 0.3184100 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 2.0003000 1.0000000 0.0000000 0.7767100 0.0000000 1.0000000 $ IRON (23s,19p,12d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ IRON (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ IRON (1s,1p,1d,1f,1g,1h) a 26 $ S-TYPE FUNCTIONS 23 9 0 0.1327714E+08 1.976511E-06 -1.020185E-06 2.340322E-07 -5.062297E-08 -9.957952E-08 -1.678013E-07 -1.97919E-07 0.0000000 0.0000000 1987888.0000000 1.536912E-05 -7.935347E-06 1.821727E-06 -3.940586E-07 -7.925506E-07 -1.337004E-06 -1.454458E-06 0.0000000 0.0000000 452387.1000000 8.085571E-05 -4.173309E-05 9.571315E-06 -2.07034E-06 -4.031635E-06 -6.790249E-06 -8.296892E-06 0.0000000 0.0000000 128143.7000000 0.0003415253 -0.0001764249 4.052652E-05 -8.766406E-06 -1.780938E-05 -3.005871E-05 -3.147678E-05 0.0000000 0.0000000 41809.1700000 0.001243883 -0.0006426379 0.0001474531 -3.189537E-05 -6.14201E-05 -0.0001033899 -0.0001312505 0.0000000 0.0000000 15095.3300000 0.004047547 -0.00209744 0.0004830333 -0.0001044911 -0.00021473 -0.0003626365 -0.0003631851 0.0000000 0.0000000 5888.4380000 0.01198848 -0.00623875 0.001438609 -0.0003112113 -0.0005912544 -0.0009947359 -0.001321103 0.0000000 0.0000000 2442.8760000 0.03237358 -0.01707492 0.003983915 -0.0008620181 -0.001797193 -0.003038134 -0.002874345 0.0000000 0.0000000 1065.8570000 0.07854828 -0.0424857 0.01006355 -0.002178129 -0.004061089 -0.006831095 -0.009655667 0.0000000 0.0000000 484.9096000 0.1637396 -0.09392294 0.0232061 -0.00502697 -0.01073419 -0.01819172 -0.01565078 0.0000000 0.0000000 228.4585000 0.2687335 -0.1730554 0.0456678 -0.009908113 -0.01773464 -0.02987575 -0.0481821 0.0000000 0.0000000 110.7453000 0.2896317 -0.2386626 0.07169322 -0.01561357 -0.03586338 -0.06129076 -0.03801945 0.0000000 0.0000000 54.4311600 0.1554235 -0.1623971 0.05421018 -0.01187731 -0.01374002 -0.02302594 -0.09789664 0.0000000 0.0000000 25.0109600 0.06284331 0.1869345 -0.09163776 0.02031246 0.01645324 0.02701671 0.1990898 0.0000000 0.0000000 12.5926200 0.09927972 0.5495686 -0.3693219 0.08560291 0.2322749 0.4229967 0.2020013 0.0000000 0.0000000 6.3232020 0.06931444 0.3723118 -0.3616033 0.08702717 0.09256802 0.2153088 0.9776064 0.0000000 0.0000000 2.8833840 0.008885666 0.05057065 0.2734191 -0.07758197 -0.03322957 -0.4343164 -3.0035790 0.0000000 0.0000000 1.3828680 -0.00027762 -0.004072645 0.6889090 -0.2214919 -0.9860290 -1.9503480 1.8016620 0.0000000 0.0000000 0.6322010 1.27159E-06 -0.0002732199 0.3294179 -0.2196263 0.4046445 2.7202330 0.9747971 0.0000000 0.0000000 0.1492380 -1.537759E-05 -0.0002612296 0.01558687 0.2869893 1.6888890 -0.6123241 -3.8975570 0.0000000 0.0000000 0.0684940 2.552339E-05 0.0002547393 -0.004161049 0.5927434 -0.8479093 -1.4683290 5.2279090 0.0000000 0.0000000 0.0303810 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0134800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 19 8 0 38282.0500000 0.0000110 -0.0000040 0.0000010 0.0000010 0.0000030 -0.0000030 0.0000000 0.0000000 9061.5560000 0.0000970 -0.0000340 0.0000070 0.0000110 0.0000220 -0.0000330 0.0000000 0.0000000 2944.4500000 0.0005660 -0.0001990 0.0000440 0.0000660 0.0001470 -0.0001780 0.0000000 0.0000000 1128.1580000 0.0025750 -0.0009110 0.0001970 0.0002950 0.0005980 -0.0008800 0.0000000 0.0000000 480.3380000 0.0096760 -0.0034370 0.0007510 0.0011340 0.0025270 -0.0030750 0.0000000 0.0000000 220.1368000 0.0306440 -0.0110420 0.0023910 0.0035850 0.0072600 -0.0107140 0.0000000 0.0000000 106.5482000 0.0815530 -0.0300610 0.0065950 0.0099500 0.0223000 -0.0269530 0.0000000 0.0000000 53.7426200 0.1752450 -0.0670490 0.0145700 0.0218100 0.0435920 -0.0662790 0.0000000 0.0000000 27.8631800 0.2884650 -0.1150700 0.0255290 0.0386610 0.0898240 -0.1011440 0.0000000 0.0000000 14.7438200 0.3307340 -0.1399170 0.0304850 0.0456280 0.0863280 -0.1704670 0.0000000 0.0000000 7.8933510 0.2127700 -0.0494800 0.0108530 0.0179580 0.0797000 -0.0837750 0.0000000 0.0000000 4.1794970 0.0562030 0.1917090 -0.0523850 -0.0815930 -0.2943090 0.6056490 0.0000000 0.0000000 2.1656690 0.0018070 0.4030120 -0.1032710 -0.1581940 -0.4046430 0.9572390 0.0000000 0.0000000 1.0972400 -0.0019990 0.3807170 -0.1212410 -0.1890710 -0.3242020 -1.7348360 0.0000000 0.0000000 0.5360850 -0.0011550 0.1693050 0.0008400 0.0446210 1.1898370 -0.0978650 0.0000000 0.0000000 0.2023740 -0.0000790 0.0178720 0.3272880 0.6116920 0.2280980 1.5748130 0.0000000 0.0000000 0.0817420 -0.0000030 -0.0014330 0.5442260 0.4461700 -0.8474340 -1.0818170 0.0000000 0.0000000 0.0326620 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0130500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 338.5060000 0.0003560 -0.0003910 -0.0005650 -0.0008160 0.0000000 0.0000000 101.4920000 0.0032290 -0.0035760 -0.0051850 -0.0071240 0.0000000 0.0000000 39.1867000 0.0164140 -0.0181910 -0.0266110 -0.0385600 0.0000000 0.0000000 16.9034000 0.0551330 -0.0620900 -0.0930790 -0.1335670 0.0000000 0.0000000 7.7629600 0.1375020 -0.1592870 -0.2482970 -0.4152110 0.0000000 0.0000000 3.6988700 0.2425950 -0.2697760 -0.3498230 -0.2793690 0.0000000 0.0000000 1.7596300 0.3085230 -0.2389970 0.0369220 0.9276650 0.0000000 0.0000000 0.8166510 0.2998140 0.0619850 0.6494720 0.1855890 0.0000000 0.0000000 0.3638210 0.2150480 0.4136570 0.2342380 -1.0796160 0.0000000 0.0000000 0.1525410 0.0925770 0.4348780 -0.6097450 0.4197090 0.0000000 0.0000000 0.0579910 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0220500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 5.1982000 1.0000000 0.0000000 0.0000000 0.0000000 1.5504000 0.0000000 1.0000000 0.0000000 0.0000000 0.4624000 0.0000000 0.0000000 1.0000000 0.0000000 0.1551400 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 3.7944000 1.0000000 0.0000000 0.0000000 1.0668000 0.0000000 1.0000000 0.0000000 0.4073800 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 2.3842000 1.0000000 0.0000000 0.9587800 0.0000000 1.0000000 $ COBALT (23s,19p,12d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ COBALT (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ COBALT (1s,1p,1d,1f,1g,1h) a 27 $ S-TYPE FUNCTIONS 23 9 0 0.1437022E+08 1.961579E-06 -1.032046E-06 2.357772E-07 -4.98388E-08 -9.633772E-08 -1.73362E-07 -1.968109E-07 0.0000000 0.0000000 2151540.0000000 1.525308E-05 -8.027614E-06 1.8353E-06 -3.879304E-07 -7.654083E-07 -1.376434E-06 -1.439789E-06 0.0000000 0.0000000 489625.7000000 8.024671E-05 -4.22193E-05 9.642951E-06 -2.038379E-06 -3.90364E-06 -7.026909E-06 -8.265947E-06 0.0000000 0.0000000 138690.3000000 0.0003389582 -0.0001784817 4.082978E-05 -8.630129E-06 -1.718665E-05 -3.089757E-05 -3.108989E-05 0.0000000 0.0000000 45249.8900000 0.001234551 -0.0006501411 0.000148563 -3.140519E-05 -5.95264E-05 -0.0001071929 -0.0001310184 0.0000000 0.0000000 16337.6200000 0.004017237 -0.002121909 0.0004866688 -0.0001028682 -0.0002070482 -0.0003721161 -0.0003577366 0.0000000 0.0000000 6373.0730000 0.01189936 -0.006311755 0.001449618 -0.0003064776 -0.0005737293 -0.001033758 -0.001321726 0.0000000 0.0000000 2643.9580000 0.03213721 -0.01727558 0.004015116 -0.0008488581 -0.001731567 -0.003111602 -0.00282163 0.0000000 0.0000000 1153.6140000 0.0779997 -0.04299353 0.0101482 -0.002146732 -0.003950029 -0.007127428 -0.009692646 0.0000000 0.0000000 524.8606000 0.1626825 -0.09507125 0.02342321 -0.004957499 -0.01033969 -0.01859372 -0.01528143 0.0000000 0.0000000 247.3069000 0.2671849 -0.1752212 0.0461722 -0.009792183 -0.01736027 -0.03148302 -0.04871094 0.0000000 0.0000000 119.9063000 0.2881411 -0.2416127 0.07262205 -0.01545065 -0.03449074 -0.06222078 -0.03611465 0.0000000 0.0000000 58.9642900 0.1548301 -0.1645933 0.0551247 -0.01181794 -0.0142204 -0.02684359 -0.1014559 0.0000000 0.0000000 27.1361600 0.06451896 0.1880060 -0.09356803 0.02031574 0.01816713 0.0349936 0.2059185 0.0000000 0.0000000 13.6891200 0.1030728 0.5505157 -0.3752066 0.08494754 0.2219044 0.4220093 0.1740209 0.0000000 0.0000000 6.8827710 0.07137991 0.3701682 -0.3595010 0.0845587 0.09496945 0.2573147 1.0618960 0.0000000 0.0000000 3.1446470 0.009131332 0.05007243 0.2821187 -0.07824438 -0.0535677 -0.5363089 -3.1875120 0.0000000 0.0000000 1.5062660 -0.0002919679 -0.003975686 0.6882851 -0.2161403 -0.9071045 -1.8561120 2.0527300 0.0000000 0.0000000 0.6872680 -5.581488E-06 -0.0002896409 0.3243680 -0.2120657 0.3491874 2.6514750 0.7962451 0.0000000 0.0000000 0.1609720 -1.732351E-05 -0.0002552515 0.01501498 0.2777048 1.5866890 -0.5228775 -3.7309490 0.0000000 0.0000000 0.0730170 2.132347E-05 0.0002182807 -0.003906005 0.5886342 -0.6425986 -1.4830860 5.0181100 0.0000000 0.0000000 0.0320710 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0140900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 19 8 0 41961.4000000 0.0000110 -0.0000040 0.0000010 0.0000010 0.0000030 -0.0000040 0.0000000 0.0000000 9928.3060000 0.0000950 -0.0000340 0.0000070 0.0000110 0.0000230 -0.0000330 0.0000000 0.0000000 3224.9710000 0.0005570 -0.0001980 0.0000440 0.0000690 0.0001500 -0.0001850 0.0000000 0.0000000 1235.2930000 0.0025380 -0.0009060 0.0001990 0.0003080 0.0006200 -0.0008870 0.0000000 0.0000000 525.8469000 0.0095540 -0.0034280 0.0007600 0.0011870 0.0025920 -0.0032040 0.0000000 0.0000000 240.9762000 0.0303350 -0.0110390 0.0024250 0.0037600 0.0075710 -0.0108490 0.0000000 0.0000000 116.6418000 0.0809840 -0.0301570 0.0067060 0.0104780 0.0230010 -0.0283310 0.0000000 0.0000000 58.8483400 0.1746920 -0.0675490 0.0148900 0.0230580 0.0459430 -0.0673690 0.0000000 0.0000000 30.5291000 0.2885440 -0.1164660 0.0261810 0.0410950 0.0929370 -0.1083230 0.0000000 0.0000000 16.1694300 0.3311360 -0.1414410 0.0313100 0.0485290 0.0934070 -0.1719860 0.0000000 0.0000000 8.6642360 0.2128970 -0.0487170 0.0108480 0.0188210 0.0801520 -0.1084480 0.0000000 0.0000000 4.5919430 0.0562950 0.1946550 -0.0538620 -0.0889830 -0.3177930 0.7416070 0.0000000 0.0000000 2.3810480 0.0018950 0.4041480 -0.1061120 -0.1710610 -0.4378130 0.8082640 0.0000000 0.0000000 1.2062460 -0.0019550 0.3789040 -0.1217750 -0.1897640 -0.2329460 -1.7802720 0.0000000 0.0000000 0.5888220 -0.0011260 0.1673060 0.0038630 0.0718740 1.1648970 0.0636530 0.0000000 0.0000000 0.2246580 -0.0000740 0.0177190 0.3271980 0.6049170 0.1731560 1.4742420 0.0000000 0.0000000 0.0904360 -0.0000030 -0.0012520 0.5419610 0.4357830 -0.8160710 -1.0385490 0.0000000 0.0000000 0.0358480 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0142100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 375.3200000 0.0003560 -0.0004110 -0.0005450 -0.0008270 0.0000000 0.0000000 112.6040000 0.0032390 -0.0037740 -0.0050280 -0.0070410 0.0000000 0.0000000 43.5190000 0.0165690 -0.0193160 -0.0259450 -0.0392680 0.0000000 0.0000000 18.8147000 0.0559830 -0.0664370 -0.0911040 -0.1333410 0.0000000 0.0000000 8.6649100 0.1394030 -0.1705420 -0.2453950 -0.4342300 0.0000000 0.0000000 4.1371100 0.2443780 -0.2854770 -0.3481600 -0.2565540 0.0000000 0.0000000 1.9708000 0.3081070 -0.2328840 0.0700830 0.9662400 0.0000000 0.0000000 0.9150070 0.2972660 0.0944710 0.6494450 0.1097980 0.0000000 0.0000000 0.4073700 0.2136850 0.4201780 0.1939420 -1.0470350 0.0000000 0.0000000 0.1704440 0.0934140 0.4094740 -0.6184680 0.4375990 0.0000000 0.0000000 0.0643790 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0243200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 5.9832000 1.0000000 0.0000000 0.0000000 0.0000000 1.8045000 0.0000000 1.0000000 0.0000000 0.0000000 0.5442000 0.0000000 0.0000000 1.0000000 0.0000000 0.1841600 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 4.4514000 1.0000000 0.0000000 0.0000000 1.2700000 0.0000000 1.0000000 0.0000000 0.4963100 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 2.7959000 1.0000000 0.0000000 1.1579100 0.0000000 1.0000000 $ NICKEL (23s,19p,12d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ NICKEL (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ NICKEL (1s,1p,1d,1f,1g,1h) a 28 $ S-TYPE FUNCTIONS 23 9 0 15503020.0000000 2.085023E-06 -7.298155E-07 2.453237E-07 -5.114261E-08 -9.762069E-08 -1.771733E-07 -1.988311E-07 0.0000000 0.0000000 2321071.0000000 1.621425E-05 -5.677768E-06 1.909637E-06 -3.980779E-07 -7.741142E-07 -1.397615E-06 -1.449716E-06 0.0000000 0.0000000 528180.2000000 8.530773E-05 -2.985922E-05 1.003489E-05 -2.092033E-06 -3.959746E-06 -7.203859E-06 -8.363444E-06 0.0000000 0.0000000 149604.0000000 0.0003603793 -0.0001262784 4.248835E-05 -8.856836E-06 -1.736914E-05 -3.128552E-05 -3.125532E-05 0.0000000 0.0000000 48809.0700000 0.001312632 -0.0004600252 0.0001546187 -3.223602E-05 -6.044953E-05 -0.0001102699 -0.0001327624 0.0000000 0.0000000 17622.3900000 0.004272395 -0.00150323 0.000506455 -0.0001055757 -0.0002090555 -0.0003755735 -0.0003589662 0.0000000 0.0000000 6874.2010000 0.01265994 -0.004479171 0.00150884 -0.0003146356 -0.0005834312 -0.0010679 -0.001341488 0.0000000 0.0000000 2851.8570000 0.03423065 -0.01232512 0.004178816 -0.0008714113 -0.001746713 -0.003128427 -0.002824018 0.0000000 0.0000000 1244.3340000 0.08326735 -0.03097639 0.01056668 -0.002205415 -0.004026784 -0.007410272 -0.009863607 0.0000000 0.0000000 566.1547000 0.1745758 -0.06998651 0.0243930 -0.005095517 -0.01042362 -0.01859501 -0.01523481 0.0000000 0.0000000 266.7873000 0.2898023 -0.1339256 0.04812101 -0.01008237 -0.01781172 -0.03322798 -0.04984489 0.0000000 0.0000000 129.3752000 0.3207323 -0.1966881 0.0756517 -0.0159207 -0.03466996 -0.0611844 -0.03522354 0.0000000 0.0000000 63.6516100 0.1778265 -0.1402258 0.05748534 -0.01222037 -0.01540945 -0.03286334 -0.1056424 0.0000000 0.0000000 29.3330200 0.03633007 0.1960730 -0.09783186 0.02115869 0.02086455 0.04844202 0.2138034 0.0000000 0.0000000 14.8221200 0.02089458 0.5564517 -0.3864536 0.08747304 0.2206820 0.3989880 0.1517675 0.0000000 0.0000000 7.4605130 0.01596954 0.3702167 -0.3606598 0.08511605 0.1073966 0.3379290 1.1804280 0.0000000 0.0000000 3.4135760 0.001730245 0.05396034 0.2888650 -0.08115683 -0.08310668 -0.7016224 -3.5264900 0.0000000 0.0000000 1.6328840 0.0004817365 0.004706492 0.6830917 -0.2166359 -0.8942999 -1.6944340 2.5508150 0.0000000 0.0000000 0.7435790 0.00012468 0.003736115 0.3206778 -0.2076958 0.3750141 2.5826800 0.4306461 0.0000000 0.0000000 0.1725920 2.340378E-05 -7.46805E-05 0.01651471 0.2699296 1.4967530 -0.5498758 -3.4500410 0.0000000 0.0000000 0.0774200 -1.348962E-05 9.575336E-05 0.0003124693 0.5842711 -0.5320390 -1.3945510 4.7403420 0.0000000 0.0000000 0.0337010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0146700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 19 8 0 45066.6200000 0.0000110 -0.0000040 0.0000010 0.0000020 0.0000030 0.0000040 0.0000000 0.0000000 10662.6400000 0.0000960 -0.0000350 0.0000070 0.0000140 0.0000240 0.0000360 0.0000000 0.0000000 3463.4310000 0.0005640 -0.0002020 0.0000410 0.0000840 0.0001550 0.0001990 0.0000000 0.0000000 1326.6240000 0.0025700 -0.0009250 0.0001860 0.0003710 0.0006460 0.0009590 0.0000000 0.0000000 564.7414000 0.0096770 -0.0034990 0.0007120 0.0014600 0.0026890 0.0034630 0.0000000 0.0000000 258.8288000 0.0307420 -0.0112800 0.0022690 0.0045370 0.0078990 0.0117560 0.0000000 0.0000000 125.3115000 0.0820650 -0.0308190 0.0062910 0.0129220 0.0239120 0.0306900 0.0000000 0.0000000 63.2423300 0.1768450 -0.0690360 0.0139340 0.0277660 0.0480060 0.0730810 0.0000000 0.0000000 32.8240600 0.2911620 -0.1187330 0.0245310 0.0509560 0.0962130 0.1168270 0.0000000 0.0000000 17.3969200 0.3308160 -0.1424430 0.0287700 0.0567450 0.0975820 0.1911630 0.0000000 0.0000000 9.3243940 0.2088190 -0.0431070 0.0087810 0.0241190 0.0770220 0.1065430 0.0000000 0.0000000 4.9388390 0.0537390 0.2034990 -0.0517310 -0.1250870 -0.3601360 -0.9499240 0.0000000 0.0000000 2.5620250 0.0017090 0.4062280 -0.0959450 -0.2065410 -0.4455890 -0.5636050 0.0000000 0.0000000 1.2992940 -0.0017980 0.3709380 -0.1106750 -0.2149830 -0.1165380 1.9346110 0.0000000 0.0000000 0.6346780 -0.0010460 0.1643120 0.0027270 0.2078190 1.1705030 -0.5101770 0.0000000 0.0000000 0.2322620 -0.0000620 0.0172650 0.3150270 0.6385420 -0.0389310 -1.1722970 0.0000000 0.0000000 0.0915460 0.0000000 -0.0016820 0.5428100 0.3262840 -0.7688140 1.0158980 0.0000000 0.0000000 0.0356430 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0138800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 414.3427000 0.0003500 -0.0003620 -0.0005290 -0.0007870 0.0000000 0.0000000 124.3926000 0.0032000 -0.0033350 -0.0049280 -0.0067780 0.0000000 0.0000000 48.1154000 0.0164770 -0.0171760 -0.0253720 -0.0377260 0.0000000 0.0000000 20.8420000 0.0560010 -0.0592450 -0.0896540 -0.1291250 0.0000000 0.0000000 9.6221000 0.1392340 -0.1512320 -0.2387440 -0.4148090 0.0000000 0.0000000 4.6034000 0.2427760 -0.2544610 -0.3597210 -0.2839570 0.0000000 0.0000000 2.1963000 0.3040690 -0.2287180 0.0044440 0.8671940 0.0000000 0.0000000 1.0206000 0.2933190 0.0206160 0.5965470 0.2723270 0.0000000 0.0000000 0.4544000 0.2172590 0.3427530 0.3313020 -0.9868420 0.0000000 0.0000000 0.1900000 0.1046990 0.4738710 -0.5090090 0.1853600 0.0000000 0.0000000 0.0715000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0269100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 6.9134000 1.0000000 0.0000000 0.0000000 0.0000000 2.1260000 0.0000000 1.0000000 0.0000000 0.0000000 0.6538000 0.0000000 0.0000000 1.0000000 0.0000000 0.2265000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 5.3123000 1.0000000 0.0000000 0.0000000 1.5457000 0.0000000 1.0000000 0.0000000 0.6237000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 3.3495000 1.0000000 0.0000000 1.4486000 0.0000000 1.0000000 $ COPPER (23s,19p,12d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ COPPER (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ COPPER (1s,1p,1d,1f,1g,1h) a 29 $ S-TYPE FUNCTIONS 23 9 0 16665490.0000000 1.92221E-06 -1.082642E-06 2.389605E-07 -4.823436E-08 -8.876635E-08 -1.849356E-07 -1.980951E-07 0.0000000 0.0000000 2495213.0000000 1.494655E-05 -8.420869E-06 1.860009E-06 -3.753858E-07 -7.032135E-07 -1.461905E-06 -1.446191E-06 0.0000000 0.0000000 567850.7000000 7.863106E-05 -4.428625E-05 9.77258E-06 -1.972743E-06 -3.601366E-06 -7.510534E-06 -8.326308E-06 0.0000000 0.0000000 160853.1000000 0.0003321189 -0.0001872071 4.137619E-05 -8.349961E-06 -1.576871E-05 -3.274989E-05 -3.11938E-05 0.0000000 0.0000000 52481.8600000 0.001209649 -0.0006819265 0.0001505588 -3.039535E-05 -5.499726E-05 -0.0001148239 -0.0001320842 0.0000000 0.0000000 18948.8500000 0.003936231 -0.002225485 0.0004932175 -9.95301E-05 -0.0001897055 -0.0003935903 -0.0003585362 0.0000000 0.0000000 7391.6550000 0.01166031 -0.00661962 0.001469467 -0.0002967188 -0.0005311656 -0.001110617 -0.001333996 0.0000000 0.0000000 3066.5170000 0.03149512 -0.0181140 0.004071487 -0.0008217293 -0.001584593 -0.003284174 -0.002824728 0.0000000 0.0000000 1337.9940000 0.07646385 -0.04506622 0.01030091 -0.002081377 -0.003671316 -0.007697235 -0.009806333 0.0000000 0.0000000 608.7830000 0.1595162 -0.09955443 0.02381408 -0.004811149 -0.009458893 -0.01959013 -0.01529323 0.0000000 0.0000000 286.8980000 0.2618983 -0.1830558 0.04707008 -0.009537683 -0.01630134 -0.03444712 -0.04956573 0.0000000 0.0000000 139.1530000 0.2816708 -0.2510577 0.0742445 -0.01507351 -0.03145402 -0.06507176 -0.03583468 0.0000000 0.0000000 68.4945500 0.1509587 -0.1703417 0.05657657 -0.01161088 -0.01444712 -0.03269416 -0.1044906 0.0000000 0.0000000 31.6010800 0.07041955 0.1900077 -0.09760862 0.02032716 0.02037856 0.04738915 0.2105854 0.0000000 0.0000000 15.9915800 0.1180039 0.5507048 -0.3856399 0.08327403 0.1997307 0.4333712 0.1646732 0.0000000 0.0000000 8.0565100 0.08015187 0.3642532 -0.3540312 0.07953125 0.09475926 0.3189521 1.1505130 0.0000000 0.0000000 3.6903290 0.01020122 0.04868977 0.2983959 -0.07901524 -0.07935398 -0.7281955 -3.4837320 0.0000000 0.0000000 1.7629020 -0.0003720464 -0.003799993 0.6861809 -0.2054312 -0.7591353 -1.6631160 2.5166360 0.0000000 0.0000000 0.8012690 -2.206886E-05 -0.0003156308 0.3150989 -0.1985134 0.2365079 2.5132670 0.4429064 0.0000000 0.0000000 0.1842430 -2.401085E-05 -0.0002430411 0.01394564 0.2627133 1.4226040 -0.3736861 -3.4043100 0.0000000 0.0000000 0.0817930 1.529816E-05 0.0001553645 -0.00361164 0.5794031 -0.3066203 -1.4791020 4.6278500 0.0000000 0.0000000 0.0353030 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0152400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 19 8 0 48218.4100000 0.0000110 -0.0000040 0.0000010 0.0000020 0.0000030 0.0000040 0.0000000 0.0000000 11420.5500000 0.0000970 -0.0000350 0.0000070 0.0000130 0.0000250 0.0000370 0.0000000 0.0000000 3713.5690000 0.0005690 -0.0002060 0.0000400 0.0000790 0.0001630 0.0001900 0.0000000 0.0000000 1423.7620000 0.0025890 -0.0009410 0.0001820 0.0003490 0.0006760 0.0009780 0.0000000 0.0000000 606.6041000 0.0097420 -0.0035560 0.0006970 0.0013730 0.0028080 0.0033080 0.0000000 0.0000000 278.2564000 0.0309300 -0.0114610 0.0022200 0.0042610 0.0082550 0.0119800 0.0000000 0.0000000 134.8449000 0.0825300 -0.0313090 0.0061630 0.0121460 0.0249460 0.0292070 0.0000000 0.0000000 68.1225400 0.1777580 -0.0701390 0.0136310 0.0260640 0.0501600 0.0751220 0.0000000 0.0000000 35.4008800 0.2922250 -0.1205620 0.0240330 0.0479070 0.1002890 0.1078350 0.0000000 0.0000000 18.7902900 0.3303490 -0.1435520 0.0278620 0.0528290 0.1023190 0.2073790 0.0000000 0.0000000 10.0835600 0.2068630 -0.0403270 0.0079750 0.0215750 0.0772410 0.0604060 0.0000000 0.0000000 5.3461200 0.0527930 0.2084660 -0.0511330 -0.1177830 -0.3844490 -0.8949770 0.0000000 0.0000000 2.7752280 0.0017180 0.4087240 -0.0923050 -0.1883970 -0.4513540 -0.5584020 0.0000000 0.0000000 1.4075640 -0.0017010 0.3682010 -0.1064580 -0.2019160 -0.0947780 1.8997060 0.0000000 0.0000000 0.6872130 -0.0009760 0.1596530 0.0037380 0.1737430 1.1731180 -0.5022240 0.0000000 0.0000000 0.2468220 -0.0000540 0.0159550 0.3105410 0.6368480 -0.0541330 -1.1824130 0.0000000 0.0000000 0.0962200 0.0000000 -0.0016810 0.5419030 0.3515180 -0.7282440 1.0445070 0.0000000 0.0000000 0.0370370 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0142600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 527.8860000 0.0002560 -0.0003160 0.0003790 -0.0005930 0.0000000 0.0000000 158.7330000 0.0023780 -0.0029580 0.0035730 -0.0051060 0.0000000 0.0000000 61.5556000 0.0127220 -0.0158770 0.0192290 -0.0299220 0.0000000 0.0000000 26.8834000 0.0450120 -0.0568640 0.0699030 -0.1032930 0.0000000 0.0000000 12.5175000 0.1171960 -0.1535840 0.1993800 -0.3595680 0.0000000 0.0000000 6.0697700 0.2185550 -0.2811390 0.3488480 -0.4128070 0.0000000 0.0000000 2.9583190 0.2914480 -0.2685180 0.0513940 0.7476890 0.0000000 0.0000000 1.4141220 0.2971380 0.0231300 -0.5596790 0.5425150 0.0000000 0.0000000 0.6533290 0.2360920 0.3566200 -0.3845810 -0.9777060 0.0000000 0.0000000 0.2866920 0.1314440 0.4184700 0.4389250 -0.0886030 0.0000000 0.0000000 0.1150140 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0461400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 7.7344000 1.0000000 0.0000000 0.0000000 0.0000000 2.3909000 0.0000000 1.0000000 0.0000000 0.0000000 0.7391000 0.0000000 0.0000000 1.0000000 0.0000000 0.2574700 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 6.0075000 1.0000000 0.0000000 0.0000000 1.7760000 0.0000000 1.0000000 0.0000000 0.7321200 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 3.7909000 1.0000000 0.0000000 1.6768100 0.0000000 1.0000000 $ ZINC (23s,19p,12d,4f,3g,2h) -> [9s,8p,6d,4f,3g,2h] $ ZINC (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ ZINC (1s,1p,1d,1f,1g,1h) a 30 $ S-TYPE FUNCTIONS 23 9 0 0.1785293E+08 2.106603E-06 -6.503871E-07 2.455424E-07 4.916948E-08 -1.379282E-07 -1.951222E-07 -2.631275E-07 0.0000000 0.0000000 2673038.0000000 1.638051E-05 -5.059606E-06 1.911263E-06 3.829348E-07 -1.098688E-06 -1.513488E-06 -1.954514E-06 0.0000000 0.0000000 608324.4000000 8.617178E-05 -2.660362E-05 1.004137E-05 2.010287E-06 -5.581627E-06 -7.991991E-06 -1.098059E-05 0.0000000 0.0000000 172317.6000000 0.0003640028 -0.0001125168 4.25171E-05 8.520784E-06 -2.469757E-05 -3.361493E-05 -4.252529E-05 0.0000000 0.0000000 56222.6900000 0.001325778 -0.0004098844 0.0001546957 3.096268E-05 -8.4997E-05 -0.0001233416 -0.0001728905 0.0000000 0.0000000 20299.8500000 0.004315394 -0.001340085 0.0005068054 0.000101604 -0.000297955 -0.0004000292 -0.0004940605 0.0000000 0.0000000 7918.8710000 0.01278917 -0.003996271 0.001509742 0.0003021322 -0.0008180999 -0.001206705 -0.001731281 0.0000000 0.0000000 3285.3400000 0.03459541 -0.01102397 0.004183744 0.0008393851 -0.002498043 -0.003298144 -0.003952778 0.0000000 0.0000000 1433.5240000 0.08423468 -0.02783658 0.01058425 0.00211904 -0.005630866 -0.008503531 -0.01260194 0.0000000 0.0000000 652.2889000 0.1769497 -0.0635220 0.02447935 0.004923291 -0.01501607 -0.01932075 -0.02205362 0.0000000 0.0000000 307.4360000 0.2947718 -0.1235647 0.04837945 0.009713665 -0.02479935 -0.0395118 -0.06268701 0.0000000 0.0000000 149.1466000 0.3286054 -0.1860330 0.07630985 0.01549413 -0.05092472 -0.06074193 -0.05878225 0.0000000 0.0000000 73.4510800 0.1837326 -0.1345412 0.05798021 0.0117057 -0.01923797 -0.05154698 -0.1200370 0.0000000 0.0000000 33.9256200 0.0284564 0.2026370 -0.1010517 -0.02068558 0.0248084 0.0906352 0.2236128 0.0000000 0.0000000 17.1894700 -0.001562471 0.5627948 -0.3950702 -0.08652477 0.3402582 0.3930253 0.4980742 0.0000000 0.0000000 8.6665950 0.001057694 0.3687315 -0.3534286 -0.07840824 0.1317501 0.5283548 1.1915800 0.0000000 0.0000000 3.9725050 -0.0004832147 0.05055865 0.3070109 0.07950591 -0.2092734 -1.4626110 -5.6490630 0.0000000 0.0000000 1.8946650 0.0001795943 -0.00028561 0.6935144 0.2182560 -1.2899700 -0.8366769 6.8434890 0.0000000 0.0000000 0.8593850 -7.198366E-05 0.001213965 0.3040583 0.1957366 0.9898685 2.6151680 -3.3201000 0.0000000 0.0000000 0.1952560 2.200105E-05 -0.0001706895 0.01003318 -0.3195337 1.4779600 -2.2413220 -0.2249601 0.0000000 0.0000000 0.0858540 -1.56551E-05 0.0001266229 -0.004007622 -0.5833695 -1.2347640 0.7597394 1.9021540 0.0000000 0.0000000 0.0367810 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0157600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 19 8 0 52867.9300000 0.0000110 -0.0000040 0.0000010 0.0000010 0.0000030 -0.0000030 0.0000000 0.0000000 12511.7900000 0.0000940 -0.0000350 0.0000060 0.0000110 0.0000240 -0.0000360 0.0000000 0.0000000 4065.2860000 0.0005510 -0.0002060 0.0000380 0.0000670 0.0001590 -0.0001740 0.0000000 0.0000000 1557.5950000 0.0025110 -0.0009420 0.0001730 0.0002960 0.0006460 -0.0009530 0.0000000 0.0000000 663.2892000 0.0094700 -0.0035700 0.0006640 0.0011570 0.0027470 -0.0030470 0.0000000 0.0000000 304.1561000 0.0301690 -0.0115400 0.0021200 0.0036340 0.0079380 -0.0117360 0.0000000 0.0000000 147.3680000 0.0808550 -0.0316520 0.0059160 0.0103070 0.0246010 -0.0270160 0.0000000 0.0000000 74.4546900 0.1751390 -0.0712850 0.0131530 0.0224820 0.0485760 -0.0747980 0.0000000 0.0000000 38.7149300 0.2897160 -0.1232840 0.0233720 0.0410330 0.1006820 -0.0982370 0.0000000 0.0000000 20.5702200 0.3298490 -0.1476380 0.0272210 0.0464600 0.0984680 -0.2150840 0.0000000 0.0000000 11.0542500 0.2092940 -0.0444770 0.0083340 0.0181460 0.0862350 -0.0322140 0.0000000 0.0000000 5.8746610 0.0562590 0.2053650 -0.0488600 -0.0943640 -0.3793800 0.7563080 0.0000000 0.0000000 3.0529360 0.0050520 0.4100860 -0.0888940 -0.1601770 -0.4203930 0.7019320 0.0000000 0.0000000 1.5472250 0.0009970 0.3721450 -0.1036180 -0.1808950 -0.1825620 -1.8141870 0.0000000 0.0000000 0.7541510 0.0001870 0.1581180 0.0010510 0.0948260 1.1778870 0.2914540 0.0000000 0.0000000 0.2653490 0.0000510 0.0145400 0.3030640 0.6291530 0.0519740 1.2956230 0.0000000 0.0000000 0.1020670 -0.0000130 -0.0016080 0.5427240 0.4083180 -0.7444770 -1.0670890 0.0000000 0.0000000 0.0387550 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0147200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 6 0 639.7806000 0.0002080 -0.0002900 -0.0003170 0.0004520 0.0000000 0.0000000 192.6742000 0.0019540 -0.0027380 -0.0030560 0.0038790 0.0000000 0.0000000 74.8436800 0.0107110 -0.0151110 -0.0167530 0.0235700 0.0000000 0.0000000 32.8604800 0.0390570 -0.0556430 -0.0627120 0.0825260 0.0000000 0.0000000 15.3935300 0.1048480 -0.1558640 -0.1879800 0.2972800 0.0000000 0.0000000 7.5255120 0.2045690 -0.3034890 -0.3720840 0.4368320 0.0000000 0.0000000 3.7154290 0.2852080 -0.3062760 -0.0234390 -0.6042900 0.0000000 0.0000000 1.8064590 0.3014460 0.0333950 0.6054700 -0.6746050 0.0000000 0.0000000 0.8529730 0.2462280 0.4000750 0.3230630 0.9387020 0.0000000 0.0000000 0.3847800 0.1390160 0.3899720 -0.4713720 0.2779680 0.0000000 0.0000000 0.1593370 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0659800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 8.6960000 1.0000000 0.0000000 0.0000000 0.0000000 2.7236000 0.0000000 1.0000000 0.0000000 0.0000000 0.8530000 0.0000000 0.0000000 1.0000000 0.0000000 0.2994900 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 6.8933000 1.0000000 0.0000000 0.0000000 2.0693000 0.0000000 1.0000000 0.0000000 0.8673600 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 4.4136000 1.0000000 0.0000000 2.0273400 0.0000000 1.0000000 $ GALLIUM (22s,17p,13d,3f,2g) -> [8s,7p,5d,3f,2g] $ GALLIUM (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ GALLIUM (1s,1p,1d,1f,1g) a 31 $ S-TYPE FUNCTIONS 22 8 0 11274496.0000000 0.0000041 -0.0000013 0.0000005 -0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 1688053.4000000 0.0000316 -0.0000098 0.0000037 -0.0000009 0.0000000 0.0000000 0.0000000 0.0000000 384140.8300000 0.0001662 -0.0000515 0.0000197 -0.0000046 0.0000000 0.0000000 0.0000000 0.0000000 108807.0300000 0.0007017 -0.0002176 0.0000830 -0.0000193 0.0000000 0.0000000 0.0000000 0.0000000 35497.6910000 0.0025508 -0.0007932 0.0003029 -0.0000705 0.0000000 0.0000000 0.0000000 0.0000000 12815.1040000 0.0082653 -0.0025821 0.0009850 -0.0002290 0.0000000 0.0000000 0.0000000 0.0000000 4998.1087000 0.0241950 -0.0076652 0.0029341 -0.0006835 0.0000000 0.0000000 0.0000000 0.0000000 2072.8848000 0.0636572 -0.0207567 0.0079572 -0.0018505 0.0000000 0.0000000 0.0000000 0.0000000 903.7458200 0.1457651 -0.0507758 0.0196761 -0.0045930 0.0000000 0.0000000 0.0000000 0.0000000 410.4430700 0.2703313 -0.1073802 0.0421783 -0.0098343 0.0000000 0.0000000 0.0000000 0.0000000 192.6063600 0.3491571 -0.1806520 0.0738645 -0.0173849 0.0000000 0.0000000 0.0000000 0.0000000 92.0496780 0.2374433 -0.1736701 0.0747531 -0.0175752 0.0000000 0.0000000 0.0000000 0.0000000 42.0478110 0.0480833 0.1108251 -0.0534108 0.0125254 0.0000000 0.0000000 0.0000000 0.0000000 21.0692170 -0.0022966 0.5418366 -0.3573919 0.0903400 0.0000000 0.0000000 0.0000000 0.0000000 10.4479150 0.0017904 0.4467899 -0.4250713 0.1104721 0.0000000 0.0000000 0.0000000 0.0000000 4.7776580 -0.0008276 0.0762105 0.2010992 -0.0612119 0.0000000 0.0000000 0.0000000 0.0000000 2.2825660 0.0003543 -0.0009371 0.7145966 -0.2561768 0.0000000 0.0000000 0.0000000 0.0000000 1.0353030 -0.0001411 0.0017806 0.3688149 -0.2603772 0.0000000 0.0000000 0.0000000 0.0000000 0.2576740 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1191790 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0512940 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0184750 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 22059.7710000 0.0000547 -0.0000207 0.0000034 0.0000000 0.0000000 0.0000000 0.0000000 5222.3129000 0.0004865 -0.0001846 0.0000300 0.0000000 0.0000000 0.0000000 0.0000000 1696.0601000 0.0027990 -0.0010640 0.0001750 0.0000000 0.0000000 0.0000000 0.0000000 648.7657300 0.0122396 -0.0046946 0.0007642 0.0000000 0.0000000 0.0000000 0.0000000 275.1026700 0.0427476 -0.0166486 0.0027458 0.0000000 0.0000000 0.0000000 0.0000000 125.3463400 0.1187187 -0.0478114 0.0078140 0.0000000 0.0000000 0.0000000 0.0000000 60.0543340 0.2485828 -0.1045303 0.0174215 0.0000000 0.0000000 0.0000000 0.0000000 29.7237680 0.3601622 -0.1612965 0.0264852 0.0000000 0.0000000 0.0000000 0.0000000 15.0397810 0.2950171 -0.1143170 0.0193950 0.0000000 0.0000000 0.0000000 0.0000000 7.5722730 0.0984794 0.1459056 -0.0313129 0.0000000 0.0000000 0.0000000 0.0000000 3.7386760 0.0087671 0.4271989 -0.0801634 0.0000000 0.0000000 0.0000000 0.0000000 1.7967880 0.0013961 0.4240415 -0.1001729 0.0000000 0.0000000 0.0000000 0.0000000 0.8299100 0.0000770 0.1599440 -0.0105878 0.0000000 0.0000000 0.0000000 0.0000000 0.2728740 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1015400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0376580 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0114060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 5 0 766.4369600 0.0001745 0.0000000 0.0000000 0.0000000 0.0000000 231.0042500 0.0016577 0.0000000 0.0000000 0.0000000 0.0000000 89.7812380 0.0092899 0.0000000 0.0000000 0.0000000 0.0000000 39.5466810 0.0348905 0.0000000 0.0000000 0.0000000 0.0000000 18.6075830 0.0963453 0.0000000 0.0000000 0.0000000 0.0000000 9.1512870 0.1955703 0.0000000 0.0000000 0.0000000 0.0000000 4.5650050 0.2835942 0.0000000 0.0000000 0.0000000 0.0000000 2.2530660 0.3082515 0.0000000 0.0000000 0.0000000 0.0000000 1.0867230 0.2519620 0.0000000 0.0000000 0.0000000 0.0000000 0.5033040 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2122830 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0828000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0279000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.1810000 1.0000000 0.0000000 0.0000000 0.4710000 0.0000000 1.0000000 0.0000000 0.0655000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.4032000 1.0000000 0.0000000 0.1680000 0.0000000 1.0000000 $ GERMANIUM (22s,17p,13d,3f,2g) -> [8s,7p,5d,3f,2g] $ GERMANIUM (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ GERMANIUM (1s,1p,1d,1f,1g) a 32 $ S-TYPE FUNCTIONS 22 8 0 12360507.0000000 0.0000039 -0.0000012 0.0000005 -0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 1850697.8000000 0.0000305 -0.0000095 0.0000037 -0.0000009 0.0000000 0.0000000 0.0000000 0.0000000 421131.4200000 0.0001605 -0.0000499 0.0000192 -0.0000049 0.0000000 0.0000000 0.0000000 0.0000000 119278.2600000 0.0006776 -0.0002109 0.0000813 -0.0000208 0.0000000 0.0000000 0.0000000 0.0000000 38912.2770000 0.0024637 -0.0007686 0.0002965 -0.0000761 0.0000000 0.0000000 0.0000000 0.0000000 14048.6820000 0.0079835 -0.0025025 0.0009648 -0.0002472 0.0000000 0.0000000 0.0000000 0.0000000 5480.6992000 0.0233774 -0.0074259 0.0028715 -0.0007373 0.0000000 0.0000000 0.0000000 0.0000000 2274.2055000 0.0615742 -0.0201249 0.0077973 -0.0019981 0.0000000 0.0000000 0.0000000 0.0000000 992.2412900 0.1415076 -0.0492986 0.0192922 -0.0049640 0.0000000 0.0000000 0.0000000 0.0000000 450.9996600 0.2646942 -0.1048683 0.0416200 -0.0106930 0.0000000 0.0000000 0.0000000 0.0000000 211.8202400 0.3483257 -0.1783275 0.0735368 -0.0190843 0.0000000 0.0000000 0.0000000 0.0000000 101.4110200 0.2454196 -0.1789581 0.0778320 -0.0201643 0.0000000 0.0000000 0.0000000 0.0000000 46.9140900 0.0535646 0.0873842 -0.0423582 0.0108362 0.0000000 0.0000000 0.0000000 0.0000000 23.5089500 -0.0018380 0.5270920 -0.3447537 0.0962110 0.0000000 0.0000000 0.0000000 0.0000000 11.6813110 0.0018049 0.4679551 -0.4456713 0.1279979 0.0000000 0.0000000 0.0000000 0.0000000 5.4345260 -0.0008476 0.0892206 0.1511544 -0.0506065 0.0000000 0.0000000 0.0000000 0.0000000 2.6088080 0.0003668 -0.0003423 0.7174295 -0.2852917 0.0000000 0.0000000 0.0000000 0.0000000 1.1984420 -0.0001542 0.0019144 0.4035634 -0.3065359 0.0000000 0.0000000 0.0000000 0.0000000 0.3298080 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1554330 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0669130 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0263900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 24017.4660000 0.0000531 -0.0000204 0.0000040 0.0000000 0.0000000 0.0000000 0.0000000 5685.7175000 0.0004720 -0.0001818 0.0000357 0.0000000 0.0000000 0.0000000 0.0000000 1846.4859000 0.0027187 -0.0010491 0.0002080 0.0000000 0.0000000 0.0000000 0.0000000 706.2498100 0.0119145 -0.0046392 0.0009121 0.0000000 0.0000000 0.0000000 0.0000000 299.4561000 0.0417625 -0.0165090 0.0032823 0.0000000 0.0000000 0.0000000 0.0000000 136.4390400 0.1165894 -0.0476609 0.0094139 0.0000000 0.0000000 0.0000000 0.0000000 65.3901550 0.2458338 -0.1049678 0.0210917 0.0000000 0.0000000 0.0000000 0.0000000 32.3937350 0.3591261 -0.1633745 0.0325000 0.0000000 0.0000000 0.0000000 0.0000000 16.4156160 0.2977929 -0.1180998 0.0239972 0.0000000 0.0000000 0.0000000 0.0000000 8.2877870 0.1017708 0.1420178 -0.0371186 0.0000000 0.0000000 0.0000000 0.0000000 4.1126340 0.0094072 0.4274324 -0.0988130 0.0000000 0.0000000 0.0000000 0.0000000 1.9988540 0.0014350 0.4256167 -0.1235659 0.0000000 0.0000000 0.0000000 0.0000000 0.9442910 0.0000354 0.1582034 -0.0110133 0.0000000 0.0000000 0.0000000 0.0000000 0.3412110 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1343500 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0517350 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0185500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 5 0 864.6741100 0.0001645 0.0000000 0.0000000 0.0000000 0.0000000 261.0376300 0.0015654 0.0000000 0.0000000 0.0000000 0.0000000 101.7703000 0.0087954 0.0000000 0.0000000 0.0000000 0.0000000 45.1166410 0.0331852 0.0000000 0.0000000 0.0000000 0.0000000 21.4306860 0.0919537 0.0000000 0.0000000 0.0000000 0.0000000 10.6598610 0.1892017 0.0000000 0.0000000 0.0000000 0.0000000 5.3922870 0.2805892 0.0000000 0.0000000 0.0000000 0.0000000 2.7044970 0.3117474 0.0000000 0.0000000 0.0000000 0.0000000 1.3285440 0.2554197 0.0000000 0.0000000 0.0000000 0.0000000 0.6264520 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2660130 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1063000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0397000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.5492000 1.0000000 0.0000000 0.0000000 0.2190000 0.0000000 1.0000000 0.0000000 0.0884000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.4681000 1.0000000 0.0000000 0.2143000 0.0000000 1.0000000 $ ARSENIC (22s,17p,13d,3f,2g) -> [8s,7p,5d,3f,2g] $ ARSENIC (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ ARSENIC (1s,1p,1d,1f,1g) a 33 $ S-TYPE FUNCTIONS 22 8 0 13600341.0000000 0.0000038 -0.0000012 0.0000005 -0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 2036507.3000000 0.0000292 -0.0000091 0.0000036 -0.0000010 0.0000000 0.0000000 0.0000000 0.0000000 463432.7800000 0.0001538 -0.0000480 0.0000187 -0.0000052 0.0000000 0.0000000 0.0000000 0.0000000 131259.9400000 0.0006496 -0.0002028 0.0000790 -0.0000217 0.0000000 0.0000000 0.0000000 0.0000000 42819.1920000 0.0023625 -0.0007392 0.0002881 -0.0000794 0.0000000 0.0000000 0.0000000 0.0000000 15457.0190000 0.0076609 -0.0024089 0.0009386 -0.0002583 0.0000000 0.0000000 0.0000000 0.0000000 6028.4583000 0.0224672 -0.0071538 0.0027946 -0.0007709 0.0000000 0.0000000 0.0000000 0.0000000 2500.5599000 0.0593425 -0.0194333 0.0076098 -0.0020946 0.0000000 0.0000000 0.0000000 0.0000000 1090.6149000 0.1371015 -0.0477471 0.0188699 -0.0052164 0.0000000 0.0000000 0.0000000 0.0000000 495.6215400 0.2589472 -0.1022639 0.0410063 -0.0113163 0.0000000 0.0000000 0.0000000 0.0000000 232.8166900 0.3472847 -0.1758326 0.0731275 -0.0203935 0.0000000 0.0000000 0.0000000 0.0000000 111.6311800 0.2534247 -0.1837494 0.0807194 -0.0224664 0.0000000 0.0000000 0.0000000 0.0000000 52.2699500 0.0596266 0.0648276 -0.0316300 0.0085590 0.0000000 0.0000000 0.0000000 0.0000000 26.1498780 -0.0011861 0.5109281 -0.3317376 0.0995692 0.0000000 0.0000000 0.0000000 0.0000000 13.0187570 0.0017791 0.4873143 -0.4638221 0.1434501 0.0000000 0.0000000 0.0000000 0.0000000 6.1554320 -0.0008455 0.1033636 0.1036990 -0.0371901 0.0000000 0.0000000 0.0000000 0.0000000 2.9591270 0.0003660 0.0006355 0.7182986 -0.3085368 0.0000000 0.0000000 0.0000000 0.0000000 1.3738740 -0.0001622 0.0019766 0.4353305 -0.3478649 0.0000000 0.0000000 0.0000000 0.0000000 0.4088500 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1945110 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0836410 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0324990 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 25570.4180000 0.0000533 -0.0000208 0.0000046 0.0000000 0.0000000 0.0000000 0.0000000 6052.9237000 0.0004744 -0.0001855 0.0000412 0.0000000 0.0000000 0.0000000 0.0000000 1965.7002000 0.0027330 -0.0010704 0.0002393 0.0000000 0.0000000 0.0000000 0.0000000 751.7722900 0.0119871 -0.0047392 0.0010531 0.0000000 0.0000000 0.0000000 0.0000000 318.6814000 0.0420766 -0.0168885 0.0037863 0.0000000 0.0000000 0.0000000 0.0000000 145.1474900 0.1175891 -0.0488445 0.0109101 0.0000000 0.0000000 0.0000000 0.0000000 69.5411620 0.2478747 -0.1075989 0.0243853 0.0000000 0.0000000 0.0000000 0.0000000 34.4513760 0.3605148 -0.1669376 0.0376482 0.0000000 0.0000000 0.0000000 0.0000000 17.4606100 0.2955921 -0.1169214 0.0265137 0.0000000 0.0000000 0.0000000 0.0000000 8.8086090 0.0992163 0.1514505 -0.0445464 0.0000000 0.0000000 0.0000000 0.0000000 4.3786460 0.0087866 0.4371731 -0.1167681 0.0000000 0.0000000 0.0000000 0.0000000 2.1444050 0.0014462 0.4197078 -0.1409441 0.0000000 0.0000000 0.0000000 0.0000000 1.0293500 -0.0000447 0.1437636 -0.0012121 0.0000000 0.0000000 0.0000000 0.0000000 0.4046360 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1656220 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0656100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0236980 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 5 0 996.9796000 0.0001462 0.0000000 0.0000000 0.0000000 0.0000000 300.9851800 0.0014034 0.0000000 0.0000000 0.0000000 0.0000000 117.2347300 0.0080195 0.0000000 0.0000000 0.0000000 0.0000000 51.9569040 0.0310048 0.0000000 0.0000000 0.0000000 0.0000000 24.6894400 0.0878478 0.0000000 0.0000000 0.0000000 0.0000000 12.2951710 0.1852250 0.0000000 0.0000000 0.0000000 0.0000000 6.2446520 0.2808251 0.0000000 0.0000000 0.0000000 0.0000000 3.1554600 0.3163198 0.0000000 0.0000000 0.0000000 0.0000000 1.5680490 0.2571192 0.0000000 0.0000000 0.0000000 0.0000000 0.7486470 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3191250 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1300000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0531000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.2640000 1.0000000 0.0000000 0.0000000 0.6440000 0.0000000 1.0000000 0.0000000 0.1132000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.5465000 1.0000000 0.0000000 0.2390000 0.0000000 1.0000000 $ SELENIUM (22s,17p,13d,3f,2g) -> [8s,7p,5d,3f,2g] $ SELENIUM (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ SELENIUM (1s,1p,1d,1f,1g) a 34 $ S-TYPE FUNCTIONS 22 8 0 15011000.0000000 0.0000036 -0.0000011 0.0000004 -0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 2247500.0000000 0.0000279 -0.0000087 0.0000034 -0.0000010 0.0000000 0.0000000 0.0000000 0.0000000 511450.0000000 0.0001466 -0.0000459 0.0000181 -0.0000053 0.0000000 0.0000000 0.0000000 0.0000000 144870.0000000 0.0006190 -0.0001939 0.0000763 -0.0000223 0.0000000 0.0000000 0.0000000 0.0000000 47261.0000000 0.0022514 -0.0007064 0.0002781 -0.0000814 0.0000000 0.0000000 0.0000000 0.0000000 17062.0000000 0.0073030 -0.0023030 0.0009068 -0.0002649 0.0000000 0.0000000 0.0000000 0.0000000 6654.5000000 0.0214442 -0.0068425 0.0026999 -0.0007906 0.0000000 0.0000000 0.0000000 0.0000000 2759.8000000 0.0568122 -0.0186335 0.0073726 -0.0021539 0.0000000 0.0000000 0.0000000 0.0000000 1203.2000000 0.1320807 -0.0459512 0.0183360 -0.0053812 0.0000000 0.0000000 0.0000000 0.0000000 546.5300000 0.2523469 -0.0992193 0.0401812 -0.0117694 0.0000000 0.0000000 0.0000000 0.0000000 256.6300000 0.3459296 -0.1728813 0.0724864 -0.0214629 0.0000000 0.0000000 0.0000000 0.0000000 123.1400000 0.2623890 -0.1884973 0.0835626 -0.0246904 0.0000000 0.0000000 0.0000000 0.0000000 58.2630000 0.0667938 0.0422610 -0.0207592 0.0057774 0.0000000 0.0000000 0.0000000 0.0000000 29.0230000 -0.0003332 0.4936791 -0.3183535 0.1015209 0.0000000 0.0000000 0.0000000 0.0000000 14.4650000 0.0017275 0.5052818 -0.4798333 0.1578570 0.0000000 0.0000000 0.0000000 0.0000000 6.9348000 -0.0008299 0.1184150 0.0592819 -0.0224219 0.0000000 0.0000000 0.0000000 0.0000000 3.3299000 0.0003578 0.0019567 0.7174116 -0.3290776 0.0000000 0.0000000 0.0000000 0.0000000 1.5600000 -0.0001666 0.0019648 0.4638636 -0.3873443 0.0000000 0.0000000 0.0000000 0.0000000 0.4929100 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2352500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1003700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0381520 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 25217.0000000 0.0000610 -0.0000241 0.0000058 0.0000000 0.0000000 0.0000000 0.0000000 5969.9000000 0.0005424 -0.0002152 0.0000520 0.0000000 0.0000000 0.0000000 0.0000000 1938.9000000 0.0031174 -0.0012386 0.0002998 0.0000000 0.0000000 0.0000000 0.0000000 741.6600000 0.0135977 -0.0054607 0.0013201 0.0000000 0.0000000 0.0000000 0.0000000 314.5000000 0.0472788 -0.0192936 0.0046857 0.0000000 0.0000000 0.0000000 0.0000000 143.3100000 0.1297856 -0.0549715 0.0133737 0.0000000 0.0000000 0.0000000 0.0000000 68.6500000 0.2657383 -0.1177952 0.0289245 0.0000000 0.0000000 0.0000000 0.0000000 33.9950000 0.3673544 -0.1740782 0.0429454 0.0000000 0.0000000 0.0000000 0.0000000 17.1850000 0.2747805 -0.0955798 0.0223272 0.0000000 0.0000000 0.0000000 0.0000000 8.5740000 0.0791679 0.2059714 -0.0636031 0.0000000 0.0000000 0.0000000 0.0000000 4.2206000 0.0051349 0.4735431 -0.1436147 0.0000000 0.0000000 0.0000000 0.0000000 2.0521000 0.0013319 0.3831922 -0.1447293 0.0000000 0.0000000 0.0000000 0.0000000 0.9615600 -0.0002033 0.0920872 0.0630380 0.0000000 0.0000000 0.0000000 0.0000000 0.4215100 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1762600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0706630 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0265690 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 5 0 1143.4000000 0.0001301 0.0000000 0.0000000 0.0000000 0.0000000 345.3300000 0.0012573 0.0000000 0.0000000 0.0000000 0.0000000 134.4600000 0.0072882 0.0000000 0.0000000 0.0000000 0.0000000 59.5670000 0.0288647 0.0000000 0.0000000 0.0000000 0.0000000 28.2830000 0.0838987 0.0000000 0.0000000 0.0000000 0.0000000 14.0610000 0.1819771 0.0000000 0.0000000 0.0000000 0.0000000 7.1390000 0.2826057 0.0000000 0.0000000 0.0000000 0.0000000 3.6148000 0.3220453 0.0000000 0.0000000 0.0000000 0.0000000 1.8072000 0.2581633 0.0000000 0.0000000 0.0000000 0.0000000 0.8694400 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3703600 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1530000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0619000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.2840000 1.0000000 0.0000000 0.0000000 0.7097000 0.0000000 1.0000000 0.0000000 0.1240000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.5730000 1.0000000 0.0000000 0.2630000 0.0000000 1.0000000 $ BROMINE (22s,17p,13d,3f,2g) -> [8s,7p,5d,3f,2g] $ BROMINE (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ BROMINE (1s,1p,1d,1f,1g) a 35 $ S-TYPE FUNCTIONS 22 8 0 16475000.0000000 0.0000034 -0.0000011 0.0000004 -0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 2466600.0000000 0.0000267 -0.0000084 0.0000033 -0.0000010 0.0000000 0.0000000 0.0000000 0.0000000 561310.0000000 0.0001404 -0.0000441 0.0000175 -0.0000054 0.0000000 0.0000000 0.0000000 0.0000000 158990.0000000 0.0005927 -0.0001862 0.0000740 -0.0000227 0.0000000 0.0000000 0.0000000 0.0000000 51869.0000000 0.0021561 -0.0006783 0.0002697 -0.0000827 0.0000000 0.0000000 0.0000000 0.0000000 18726.0000000 0.0069959 -0.0022122 0.0008799 -0.0002694 0.0000000 0.0000000 0.0000000 0.0000000 7303.6000000 0.0205645 -0.0065752 0.0026198 -0.0008042 0.0000000 0.0000000 0.0000000 0.0000000 3029.1000000 0.0545893 -0.0179328 0.0071671 -0.0021949 0.0000000 0.0000000 0.0000000 0.0000000 1320.8000000 0.1275226 -0.0443321 0.0178561 -0.0054939 0.0000000 0.0000000 0.0000000 0.0000000 600.0300000 0.2459780 -0.0963478 0.0393960 -0.0120960 0.0000000 0.0000000 0.0000000 0.0000000 281.9000000 0.3436508 -0.1696814 0.0717102 -0.0222623 0.0000000 0.0000000 0.0000000 0.0000000 135.5400000 0.2702530 -0.1920769 0.0858877 -0.0266063 0.0000000 0.0000000 0.0000000 0.0000000 64.8700000 0.0744795 0.0208731 -0.0103861 0.0027580 0.0000000 0.0000000 0.0000000 0.0000000 32.1290000 0.0008787 0.4744996 -0.3040135 0.1016803 0.0000000 0.0000000 0.0000000 0.0000000 16.0370000 0.0015755 0.5214907 -0.4933178 0.1704132 0.0000000 0.0000000 0.0000000 0.0000000 7.7849000 -0.0007602 0.1348001 0.0160890 -0.0062220 0.0000000 0.0000000 0.0000000 0.0000000 3.7247000 0.0003211 0.0036614 0.7146686 -0.3452570 0.0000000 0.0000000 0.0000000 0.0000000 1.7583000 -0.0001586 0.0018840 0.4904795 -0.4234840 0.0000000 0.0000000 0.0000000 0.0000000 0.5833100 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2785600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1182900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0442700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 26607.0000000 0.0000619 -0.0000248 0.0000064 0.0000000 0.0000000 0.0000000 0.0000000 6298.2000000 0.0005499 -0.0002212 0.0000572 0.0000000 0.0000000 0.0000000 0.0000000 2045.2000000 0.0031620 -0.0012736 0.0003297 0.0000000 0.0000000 0.0000000 0.0000000 782.1600000 0.0137979 -0.0056179 0.0014562 0.0000000 0.0000000 0.0000000 0.0000000 331.6300000 0.0479812 -0.0198600 0.0051591 0.0000000 0.0000000 0.0000000 0.0000000 151.1100000 0.1315710 -0.0565531 0.0147617 0.0000000 0.0000000 0.0000000 0.0000000 72.3920000 0.2685861 -0.1209479 0.0317694 0.0000000 0.0000000 0.0000000 0.0000000 35.8620000 0.3683473 -0.1773098 0.0470680 0.0000000 0.0000000 0.0000000 0.0000000 18.1340000 0.2711363 -0.0921472 0.0223871 0.0000000 0.0000000 0.0000000 0.0000000 9.0430000 0.0762222 0.2187683 -0.0720254 0.0000000 0.0000000 0.0000000 0.0000000 4.4500000 0.0046749 0.4854670 -0.1626429 0.0000000 0.0000000 0.0000000 0.0000000 2.1661000 0.0012565 0.3721970 -0.1496503 0.0000000 0.0000000 0.0000000 0.0000000 0.9962800 -0.0002357 0.0776907 0.1064517 0.0000000 0.0000000 0.0000000 0.0000000 0.4544300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1940400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0789970 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0305130 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 5 0 1289.6000000 0.0001190 0.0000000 0.0000000 0.0000000 0.0000000 389.7500000 0.0011551 0.0000000 0.0000000 0.0000000 0.0000000 151.7600000 0.0067648 0.0000000 0.0000000 0.0000000 0.0000000 67.2230000 0.0273017 0.0000000 0.0000000 0.0000000 0.0000000 31.9130000 0.0809298 0.0000000 0.0000000 0.0000000 0.0000000 15.8570000 0.1794011 0.0000000 0.0000000 0.0000000 0.0000000 8.0545000 0.2840086 0.0000000 0.0000000 0.0000000 0.0000000 4.0887000 0.3266797 0.0000000 0.0000000 0.0000000 0.0000000 2.0556000 0.2584900 0.0000000 0.0000000 0.0000000 0.0000000 0.9950900 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4231300 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1779000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0829000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.3407000 1.0000000 0.0000000 0.0000000 0.8257000 0.0000000 1.0000000 0.0000000 0.1748000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.6491000 1.0000000 0.0000000 0.3110000 0.0000000 1.0000000 $ KRYPTON (22s,17p,13d,3f,2g) -> [8s,7p,5d,3f,2g] $ KRYPTON (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ KRYPTON (1s,1p,1d,1f,1g) a 36 $ S-TYPE FUNCTIONS 22 8 0 18226108.0000000 0.0000032 -0.0000010 0.0000004 -0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 2728802.5000000 0.0000252 -0.0000079 0.0000032 -0.0000010 0.0000000 0.0000000 0.0000000 0.0000000 620997.7100000 0.0001328 -0.0000418 0.0000168 -0.0000053 0.0000000 0.0000000 0.0000000 0.0000000 175899.5800000 0.0005607 -0.0001766 0.0000709 -0.0000226 0.0000000 0.0000000 0.0000000 0.0000000 57387.4970000 0.0020401 -0.0006434 0.0002582 -0.0000823 0.0000000 0.0000000 0.0000000 0.0000000 20717.1810000 0.0066235 -0.0020999 0.0008433 -0.0002684 0.0000000 0.0000000 0.0000000 0.0000000 8078.8899000 0.0194996 -0.0062453 0.0025115 -0.0008014 0.0000000 0.0000000 0.0000000 0.0000000 3349.5170000 0.0519364 -0.0170804 0.0068921 -0.0021937 0.0000000 0.0000000 0.0000000 0.0000000 1459.7812000 0.1221166 -0.0423815 0.0172220 -0.0055074 0.0000000 0.0000000 0.0000000 0.0000000 662.8939100 0.2383653 -0.0928679 0.0383159 -0.0122266 0.0000000 0.0000000 0.0000000 0.0000000 311.3921500 0.3407051 -0.1657390 0.0705438 -0.0227617 0.0000000 0.0000000 0.0000000 0.0000000 149.9375100 0.2792855 -0.1955088 0.0880717 -0.0283606 0.0000000 0.0000000 0.0000000 0.0000000 72.4982490 0.0840992 -0.0016409 0.0006328 -0.0007565 0.0000000 0.0000000 0.0000000 0.0000000 35.5693540 0.0025042 0.4530071 -0.2881065 0.1001365 0.0000000 0.0000000 0.0000000 0.0000000 17.7666330 0.0013574 0.5370751 -0.5049797 0.1815332 0.0000000 0.0000000 0.0000000 0.0000000 8.7123830 -0.0006591 0.1528971 -0.0267773 0.0111867 0.0000000 0.0000000 0.0000000 0.0000000 4.1449710 0.0002701 0.0057411 0.7098718 -0.3575843 0.0000000 0.0000000 0.0000000 0.0000000 1.9696490 -0.0001436 0.0017414 0.5158020 -0.4572305 0.0000000 0.0000000 0.0000000 0.0000000 0.6799520 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3245020 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1374410 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0503880 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 7 0 28600.8310000 0.0000605 -0.0000246 0.0000067 0.0000000 0.0000000 0.0000000 0.0000000 6770.9912000 0.0005378 -0.0002192 0.0000596 0.0000000 0.0000000 0.0000000 0.0000000 2199.0489000 0.0030934 -0.0012628 0.0003432 0.0000000 0.0000000 0.0000000 0.0000000 841.1795700 0.0135150 -0.0055756 0.0015190 0.0000000 0.0000000 0.0000000 0.0000000 356.7663300 0.0470959 -0.0197546 0.0053881 0.0000000 0.0000000 0.0000000 0.0000000 162.6362000 0.1296200 -0.0564488 0.0154935 0.0000000 0.0000000 0.0000000 0.0000000 77.9660350 0.2661108 -0.1214923 0.0335176 0.0000000 0.0000000 0.0000000 0.0000000 38.6614890 0.3678058 -0.1794907 0.0501911 0.0000000 0.0000000 0.0000000 0.0000000 19.5767910 0.2740372 -0.0962314 0.0244550 0.0000000 0.0000000 0.0000000 0.0000000 9.7917610 0.0787113 0.2163190 -0.0752953 0.0000000 0.0000000 0.0000000 0.0000000 4.8353830 0.0049842 0.4899721 -0.1760534 0.0000000 0.0000000 0.0000000 0.0000000 2.3681250 0.0012267 0.3726758 -0.1570724 0.0000000 0.0000000 0.0000000 0.0000000 1.0899960 -0.0002448 0.0750088 0.1304579 0.0000000 0.0000000 0.0000000 0.0000000 0.5045880 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2184550 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0899590 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0344570 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 13 5 0 1437.7792000 0.0001108 0.0000000 0.0000000 0.0000000 0.0000000 434.2684600 0.0010828 0.0000000 0.0000000 0.0000000 0.0000000 168.9269900 0.0064065 0.0000000 0.0000000 0.0000000 0.0000000 74.7775350 0.0262379 0.0000000 0.0000000 0.0000000 0.0000000 35.5160240 0.0788235 0.0000000 0.0000000 0.0000000 0.0000000 17.6710510 0.1770677 0.0000000 0.0000000 0.0000000 0.0000000 9.0046110 0.2839622 0.0000000 0.0000000 0.0000000 0.0000000 4.5947730 0.3294702 0.0000000 0.0000000 0.0000000 0.0000000 2.3264860 0.2589001 0.0000000 0.0000000 0.0000000 0.0000000 1.1332470 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4813070 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2053000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1039000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 0.4130000 1.0000000 0.0000000 0.0000000 0.9557000 0.0000000 1.0000000 0.0000000 0.2256000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.7395000 1.0000000 0.0000000 0.3590000 0.0000000 1.0000000 ergo-3.5/basis/pV7Z0000664000175000017500000007612712743400275011113 00000000000000$ Basis = pV7Z $ $Supported Elements $ H C N O F S $ $Elements References $-------- ---------- $H: D. Feller $C - F, S: D. Feller and K.A. Peterson, J. Chem. Phys. 110, 8384 (1999) $ D. Feller and J.A. Sordo, J. Chem. Phys. 113, 485 (2000) $ and Ed Valeev (k function exponents) $Ne K. A. Peterson (to be published) $ ************************************************************************ a 1 $ HYDROGEN (14s,6p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ S-TYPE FUNCTIONS 14 7 0 2762.51614000 0.00002200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1211.85844000 0.00000600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 531.61712000 0.00009440 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 233.20938600 0.00017940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 102.30411300 0.00058450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 44.87868890 0.00155910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19.68734840 0.00438830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.63643073 0.01208630 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.78862274 0.03253030 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.66199008 0.08405800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.72908052 0.19342470 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.31983248 0.35106410 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14030386 0.35878220 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06154839 0.10608990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 6 0 8.15364800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.86227500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.82950800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.86661400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.41050300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.19445000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 6.03483300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.05695800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.54850900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.78440100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.39734000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 5.89474000 1.00000000 0.00000000 0.00000000 0.00000000 2.90294000 0.00000000 1.00000000 0.00000000 0.00000000 1.42959000 0.00000000 0.00000000 1.00000000 0.00000000 0.70402000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 4.62267400 1.00000000 0.00000000 0.00000000 2.17112600 0.00000000 1.00000000 0.00000000 1.01971000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 4.22370600 1.00000000 0.00000000 1.70506000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 1 1 0 3.41400000 1.00000000 a 6 $ CARBON (18s,12p,6d,5f,4g,3h,2i,1k) -> [8s,7p,6d,5f,4g,3h, $ S-TYPE FUNCTIONS 18 8 0 949028.80000 0.00000140 -0.00000030 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142083.00000 0.00001100 -0.00000230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32332.47000 0.00005780 -0.00001230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9158.11700000 0.00024440 -0.00005200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2987.90900000 0.00089100 -0.00019000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1078.78800000 0.00290400 -0.00062000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 420.83080000 0.00863100 -0.00185500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 174.60030000 0.02352900 -0.00509200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 76.18292000 0.05816100 -0.01291600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.63588000 0.12662400 -0.02923000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.27076000 0.23046500 -0.05841400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.85547900 0.31929700 -0.09665500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.88217200 0.27429500 -0.12606400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.92833400 0.10225200 -0.06172200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.83580600 0.00786200 0.18882800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.38629100 0.00000680 0.44611600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.17686000 0.00036900 0.41133500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08025200 -0.00001240 0.10655200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 7 0 765.45530000 0.00002720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 180.86280000 0.00024100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 58.71441000 0.00135700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.41625000 0.00562000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.40621400 0.01826700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.18719800 0.05001900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.95587600 0.11640800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.94533600 0.21446600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.46276300 0.30116800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.22679600 0.30804500 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11059200 0.18847500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05240000 0.03962200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 8.00280000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.66630000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.67960000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.76950000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.35250000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.16150000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 3.51340000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.82140000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.94430000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.48960000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.25380000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 3.03630000 1.00000000 0.00000000 0.00000000 0.00000000 1.67130000 0.00000000 1.00000000 0.00000000 0.00000000 0.92000000 0.00000000 0.00000000 1.00000000 0.00000000 0.50640000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 3 3 0 1.82730000 1.00000000 0.00000000 0.00000000 0.89990000 0.00000000 1.00000000 0.00000000 0.44320000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 2 2 0 3.28020000 1.00000000 0.00000000 0.67770000 0.00000000 1.00000000 $ K-TYPE FUNCTIONS 1 1 0 1.9560000 1.00000000 a 7 $ NITROGEN (18s,12p,6d,5f,4g,3h,2i,1k) -> [8s,7p,6d,5f,4g,3h, $ S-TYPE FUNCTIONS 18 8 0 1296296.0000 0.00000140 -0.00000031 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 194068.60000 0.00001100 -0.00000243 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 44160.57000 0.00005800 -0.00001279 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12507.72000 0.00024500 -0.00005399 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4080.47600000 0.00089300 -0.00019730 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1473.14000000 0.00291300 -0.00064320 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 574.60660000 0.00866400 -0.00192640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 238.37000000 0.02363500 -0.00529480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 103.99360000 0.05851800 -0.01345880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 47.27944000 0.12772870 -0.03061290 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.21871000 0.23287370 -0.06151130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.73569000 0.32111700 -0.10200550 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.30885600 0.27131670 -0.12950140 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.63917700 0.09853080 -0.05370320 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.16576400 0.00788860 0.20297650 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.53709100 0.00031250 0.44857470 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.24490400 0.00036400 0.40031386 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11027100 0.00007270 0.10245292 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 7 0 1094.96000000 0.00002760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 258.66110000 0.00024500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 83.85255000 0.00139200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.96225000 0.00585900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.41121000 0.01941300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.98547100 0.05359980 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.80363000 0.12319560 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.35573600 0.22156900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.66239600 0.30240950 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.32291200 0.30098640 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.15592100 0.18179180 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07282000 0.03874200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 8.59142980 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.03353510 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.89367850 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.88905090 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.41739480 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.19596000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 5.73890020 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.77241560 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.33933120 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.64701990 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.31257000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 5.53680240 1.00000000 0.00000000 0.00000000 0.00000000 2.58729080 0.00000000 1.00000000 0.00000000 0.00000000 1.20901440 0.00000000 0.00000000 1.00000000 0.00000000 0.56496000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 3 3 0 4.21812880 1.00000000 0.00000000 0.00000000 2.08714940 0.00000000 1.00000000 0.00000000 1.03273000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 2 2 0 3.45000000 1.00000000 0.00000000 1.58000000 0.00000000 1.00000000 $ K-TYPE FUNCTIONS 1 1 0 2.3790000 1.00000000 a 8 $ OXYGEN (18s,12p,6d,5f,4g,3h,2i,1k) -> [8s,7p,6d,5f,4g,3h, $ S-TYPE FUNCTIONS 18 8 0 1678789.0000 0.00000140 -0.00000030 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 251388.20000 0.00001120 -0.00000250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 57213.73000 0.00005890 -0.00001340 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16207.44000 0.00024900 -0.00005600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5288.27600000 0.00090700 -0.00020600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1909.47800000 0.00295700 -0.00067200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 744.92310000 0.00879100 -0.00201300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 309.07550000 0.02398000 -0.00553500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 134.86450000 0.05938100 -0.01407900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 61.33129000 0.12965000 -0.03211300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28.83796000 0.23606400 -0.06467600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.94504000 0.32292100 -0.10715400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.89907700 0.26739500 -0.13243800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.43157700 0.09384400 -0.04565500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.53984000 0.00753300 0.21838400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.70975100 0.00063200 0.45337900 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.32304700 0.00035600 0.38735300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14422200 0.00003300 0.09586600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 7 0 1349.05900000 0.00003230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 319.45690000 0.00028600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 103.78040000 0.00161600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 39.62821000 0.00678500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.66137000 0.02249900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.46416600 0.06167400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.50932500 0.13684500 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.69568000 0.23248600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.82274200 0.29982100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.39573300 0.28824400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.18764400 0.17455500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08584100 0.03872700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 10.06429300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.84325940 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.33073120 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.12162230 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.53976050 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.25975000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 6.91170870 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.41994490 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.69220430 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.83731040 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.41430500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 7.23799490 1.00000000 0.00000000 0.00000000 0.00000000 3.41575980 0.00000000 1.00000000 0.00000000 0.00000000 1.61196780 0.00000000 0.00000000 1.00000000 0.00000000 0.76072100 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 3 3 0 5.73310920 1.00000000 0.00000000 0.00000000 2.58248160 0.00000000 1.00000000 0.00000000 1.16328000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 2 2 0 4.81300000 1.00000000 0.00000000 2.07800000 0.00000000 1.00000000 $ K-TYPE FUNCTIONS 1 1 0 3.1230000 1.00000000 a 9 $ FLUORINE (18s,12p,6d,5f,4g,3h,2i,1k) -> [8s,7p,6d,5f,4g,3h, $ S-TYPE FUNCTIONS 18 8 0 2115112.0000 0.00000150 -0.00000034 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 316699.70000 0.00001130 -0.00000262 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 72075.71000 0.00005950 -0.00001378 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20416.83000 0.00025140 -0.00005817 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6661.45800000 0.00091600 -0.00021242 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2405.18800000 0.00298600 -0.00069281 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 938.25950000 0.00888190 -0.00207460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 389.27100000 0.02423210 -0.00570974 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 169.84990000 0.06003010 -0.01453560 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 77.24367000 0.13113550 -0.03323500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 36.32874000 0.23856320 -0.06706620 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.57387000 0.32430750 -0.11098400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.69353000 0.26437630 -0.13414569 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.32176900 0.09028430 -0.03874090 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.95952000 0.00725830 0.22972655 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.90318500 0.00082880 0.45572753 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.41040500 0.00034960 0.37782222 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.18202400 0.00004950 0.09134515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 7 0 1687.71800000 0.00003460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 399.65170000 0.00030580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 129.82670000 0.00173130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.57826000 0.00729750 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.86193000 0.02431260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.36556400 0.06643410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.40997700 0.14451750 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.12837600 0.23838670 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.02828800 0.29853300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.49075700 0.28114140 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.23007300 0.16997810 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10376600 0.03858190 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 12.63449500 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.11247920 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.95717430 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.43066000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.69214320 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.33485400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 11.64432400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.57144690 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.66576410 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.27548520 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.61028000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 8.28639530 1.00000000 0.00000000 0.00000000 0.00000000 3.91052160 0.00000000 1.00000000 0.00000000 0.00000000 1.84545620 0.00000000 0.00000000 1.00000000 0.00000000 0.87090900 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 3 3 0 7.76269690 1.00000000 0.00000000 0.00000000 3.48103000 0.00000000 1.00000000 0.00000000 1.56100000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 2 2 0 5.53000000 1.00000000 0.00000000 2.16000000 0.00000000 1.00000000 $ K-TYPE FUNCTIONS 1 1 0 4.2520000 1.00000000 a 16 $ SULFUR (27s,18p,6d,5f,4g,3h,2i) -> [9s,8p,6d,5f,4g,3h,2i] $ S-TYPE FUNCTIONS 27 9 0 7010036.0000 0.00000144 0.00000040 -0.00000012 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3489316.1000 -0.00000084 -0.00000023 0.00000007 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1736842.2000 0.00000487 0.00000134 -0.00000039 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 864530.73000 0.00000324 0.00000090 -0.00000026 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 430328.89000 0.00001677 0.00000462 -0.00000135 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 214200.54000 0.00003101 0.00000859 -0.00000246 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 106620.48000 0.00008299 0.00002287 -0.00000670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 53071.41800 0.00018998 0.00005262 -0.00001514 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26416.83300 0.00046151 0.00012735 -0.00003725 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13149.24500 0.00109453 0.00030346 -0.00008752 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6545.16920000 0.00260899 0.00072242 -0.00021103 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3257.92390000 0.00617574 0.00172202 -0.00049767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1621.66450000 0.01445889 0.00405412 -0.00118409 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 807.19984000 0.03317485 0.00947568 -0.00274744 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 401.79186000 0.07281164 0.02142544 -0.00628040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 199.99595000 0.14722397 0.04619495 -0.01351581 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 99.54999800 0.25414432 0.08991402 -0.02681891 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.55201500 0.32475053 0.14633296 -0.04427986 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24.66501500 0.23087468 0.14901478 -0.04765514 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.27726000 0.05943019 -0.01618619 0.00691916 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.11112980 0.00385230 -0.34468164 0.12757185 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.04187650 0.00075199 -0.52421828 0.28824893 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.51412470 0.00009617 -0.23896904 0.23272097 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.75367082 -0.00004848 -0.01729755 -0.17946048 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.37514725 0.00000591 -0.00329758 -0.51838584 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.18673332 -0.00001635 0.00047299 -0.42853809 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09294839 0.00000155 -0.00033072 -0.12549471 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 8 0 9780.02620000 0.00001440 0.00000365 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4800.63720000 0.00001477 0.00000384 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2356.44750000 0.00010012 0.00002528 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1156.68910000 0.00029000 0.00007447 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 567.77400000 0.00104158 0.00026448 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 278.69833000 0.00340378 0.00087332 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 136.80225000 0.01084117 0.00277783 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 67.15094300 0.03194232 0.00829274 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.96180500 0.08489476 0.02235852 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.17967700 0.18567412 0.05026191 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.94197890 0.30467902 0.08432212 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.89841080 0.34545154 0.10275513 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.91357930 0.20219233 0.04394066 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.93930221 0.03827089 -0.15166213 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.46106719 0.00327420 -0.34553064 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.22632008 0.00015021 -0.38491544 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11109179 0.00047904 -0.23270520 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05453067 -0.00003182 -0.05285254 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 8.11574690 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.65953330 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.65014800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.74408080 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.33551910 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15129150 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 1.73214830 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.77709660 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.34863010 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.15640650 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07016890 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 1.59998680 1.00000000 0.00000000 0.00000000 0.00000000 0.98098520 0.00000000 1.00000000 0.00000000 0.00000000 0.60146240 0.00000000 0.00000000 1.00000000 0.00000000 0.36876910 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 3 3 0 1.53475710 1.00000000 0.00000000 0.00000000 0.91572620 0.00000000 1.00000000 0.00000000 0.54637600 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 2 2 0 1.50000000 1.00000000 0.00000000 0.75700000 0.00000000 1.00000000 $ K-TYPE FUNCTIONS 1 1 0 1.20900000 1.00000000 ergo-3.5/basis/aug-cc-pVTZ-J0000664000175000017500000004460412743400275012467 00000000000000$Basis = aug-cc-pVTZ-J $Elements supported $H C N O F S $ $ REFERENCE P. F. Provasi, G. A. Aucar and S. P. A. Sauer, J. Chem. Phys. 115, 1324 (2001) $ T. H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989) $ R. A. Kendall, T. H. Dunning, Jr. and R. J. Harrison, J. Chem. Phys. 96, 6769 (1992)). $ ************************************************************************ a 1 $ HYDROGEN (9s,2p,1d) -> [5s,2p,1d] $ HYDROGEN Diffuse (1s,1p) $ S-TYPE FUNCTIONS 10 6 0 66145.0000000 0.4137D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9950.0000000 0.3097D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1496.0000000 0.00004256 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 225.0000000 0.0003665 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 33.8700000 0.004709 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.0950000 0.03745 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.1590000 0.1536 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3258000 0.2868 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1027000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0252600 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 1.4070000 1.00000000 0.00000000 0.00000000 0.3880000 0.00000000 1.00000000 0.00000000 0.1020000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.0570000 1.00000000 a 6 $ CARBON (14s,5p,2d,1f) -> [8s,4p,2d,1f] $ CARBON Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 15 9 0 16289729.0 0.4196D-07 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2442668.0 0.3147D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 366281.0 0.4349D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54924.0 0.00003761 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8236.0000000 0.0004893 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1235.0000000 0.004143 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 280.8000000 0.02103 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 79.2700000 0.08187 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.5900000 0.2345 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.9970000 0.4340 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.3190000 0.3446 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.9059000 0.04465 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3643000 -0.01577 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1285000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0440200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 5 0 18.7100000 0.00964100 0.00000000 0.00000000 0.00000000 0.00000000 4.1330000 0.05747000 0.00000000 0.00000000 0.00000000 0.00000000 1.2000000 0.19090000 1.00000000 0.00000000 0.00000000 0.00000000 0.3827000 0.29730000 0.00000000 1.00000000 0.00000000 0.00000000 0.1209000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0356900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.0970000 1.00000000 0.00000000 0.00000000 0.3180000 0.00000000 1.00000000 0.00000000 0.1000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.7610000 1.00000000 a 7 $ NITROGEN (14s,5p,2d,1f) -> [8s,4p,2d,1f] $ NITROGEN Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 15 9 0 22610777.0 0.4127D-07 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3389636.0 0.3096D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 508148.0 0.4282D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 76177.0 0.00003702 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11420.000000 0.0004820 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1712.000000 0.004081 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 389.300000 0.02073 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 110.000000 0.08078 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.570000 0.2329 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.540000 0.4335 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.644000 0.3464 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.293000 0.04417 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.511800 -0.01177 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1787000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0576000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 5 0 26.6300000 0.01039000 0.00000000 0.00000000 0.00000000 0.00000000 5.9480000 0.06324000 0.00000000 0.00000000 0.00000000 0.00000000 1.7420000 0.20550000 1.00000000 0.00000000 0.00000000 0.00000000 0.5550000 0.30680000 0.00000000 1.00000000 0.00000000 0.00000000 0.1725000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0491000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.6540000 1.00000000 0.00000000 0.00000000 0.4690000 0.00000000 1.00000000 0.00000000 0.1510000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.0930000 1.00000000 a 8 $ OXYGEN (14s,5p,2d,1f) -> [8s,4p,2d,1f] $ OXYGEN Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 15 9 0 30307833.0 0.4018D-07 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4545186.0 0.3012D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 681629.0 0.4163D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 102222.0 0.00003599 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15330.0000000 0.0004683 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2299.0000000 0.003965 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 522.4000000 0.02020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 147.3000000 0.07923 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 47.5500000 0.2305 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.7600000 0.4332 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.2070000 0.3495 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.7520000 0.04488 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.6882000 -0.01119 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2384000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0737600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 5 0 34.4600000 0.01193000 0.00000000 0.00000000 0.00000000 0.00000000 7.7490000 0.07277000 0.00000000 0.00000000 0.00000000 0.00000000 2.2800000 0.22880000 1.00000000 0.00000000 0.00000000 0.00000000 0.7156000 0.33740000 0.00000000 1.00000000 0.00000000 0.00000000 0.2140000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0597400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.3140000 1.00000000 0.00000000 0.00000000 0.6450000 0.00000000 1.00000000 0.00000000 0.2140000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.4280000 1.00000000 a 9 $ FLUORINE (14s,5p,2d,1f) -> [8s,4p,2d,1f] $ FLUORINE Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 15 9 38624049.0 0.4002D-07 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5789645.0 0.3000D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 867853.0 0.4152D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 130088.0 0.00003589 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19500.0 0.0004675 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2923.0 0.003959 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 664.5 0.02016 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 187.5 0.07907 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 60.62 0.2303 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.42 0.4331 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.95 0.3493 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.257 0.04507 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8815 -0.01112 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3041 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09158 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 5 0 43.8800000 0.01602000 0.00000000 0.00000000 0.00000000 0.00000000 9.9260000 0.10050000 0.00000000 0.00000000 0.00000000 0.00000000 2.9300000 0.30270000 1.00000000 0.00000000 0.00000000 0.00000000 0.9132000 0.47140300 0.00000000 1.00000000 0.00000000 0.00000000 0.2672000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0736100 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.1070000 1.00000000 0.00000000 0.00000000 0.8550000 0.00000000 1.00000000 0.00000000 0.2920000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.9170000 1.00000000 a 16 $ SULFUR (16s,9p,5d,1f) -> [9s,6p,5d,1f] $ SULFUR Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 17 10 0 742396769.0 0.4264D-08 -0.1178D-08 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 111230523.0 0.3185D-07 -0.8783D-08 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16665252.0 0.4429D-06 -0.1224D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2496892.0 0.3819D-05 -0.1053D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 374100.0000 0.00004994 -0.00001380 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56050.0000 0.0004247 -0.0001172 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12760.0000 0.002203 -0.0006101 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3615.0000 0.009197 -0.002554 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1183.0000 0.03211 -0.009080 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 428.8000 0.09468 -0.02770 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 167.8000 0.2236 -0.07195 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 69.4700 0.3744 -0.1464 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 29.8400 0.3291 -0.1949 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.7200 0.08477 0.007788 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.2440 0.0003640 0.5167 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.2190 0.001773 0.5411 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.7767 -0.0008605 0.07188 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3490000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1322000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0497000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 7 0 574.4000000 0.002426 -0.0005919 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 135.8000000 0.01930 -0.004707 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.1900000 0.08869 -0.02222 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.8700000 0.2550 -0.06525 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.2080000 0.4348 -0.1186 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.4830000 0.3543 -0.09134 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.8688000 0.06134 0.2150 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3229000 0.0 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1098000 0.0 0.0 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0351000 0.0 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 23.1142 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.5918 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.4935 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2690000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.8190000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1010000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.5570000 1.00000000 ergo-3.5/basis/cc-pV5Zdenfit0000664000175000017500000003312212743400275012652 00000000000000$jkbas cc-pV5Zaux $ $ REFERENCE turbomole webpage: ftp://ftp.chemie.uni-karlsruhe.de/pub/jkbasen a 1 $ HYDROGEN $ h (4s3p4d3f2g1h) / [4s3p4d3f2g1h] {1111/111/1111/111/11/1} $ 1 s 4 0 0 9.5302493327 1.0000000000 1.9174506246 1.0000000000 0.68424049142 1.0000000000 0.28413255710 1.0000000000 $ 1 p 3 0 0 2.9133232035 1.0000000000 1.2621205398 1.0000000000 0.50199775874 1.0000000000 $ 1 d 4 0 0 4.2855836406 1.0 2.1689089187 1.0 1.0087901000 1.0 0.31898628232 1.0 $ 1 f 3 0 0 3.3345032342 1.0 1.5617226077 1.0 0.59378336562 1.0 $ 1 g 2 0 0 2.6722385645 1.0 1.1602620442 1.0 $ 1 h 1 0 0 2.6004730858 1.0 a 5 $ BORON $ b (10s7p5d4f3g2h1i) / [10s7p5d4f3g2h1i] {1111111111/1111111/11111/1111/111/11/1} $ 1 s 10 0 0 441.88913157 1.0 92.069629785 1.0 29.978448517 1.0 11.426330790 1.0 4.3808722439 1.0 2.0594033542 1.0 0.90115717578 1.0 0.52455288939 1.0 0.24634725959 1.0 0.12085805961 1.0 $ 1 p 7 0 0 229.95115195 1.0 36.381694756 1.0 12.119796695 1.0 3.8441129406 1.0 1.1002761183 1.0 0.39733117993 1.0 0.13514765422 1.0 $ 1 d 5 0 0 9.3643373880 1.0 3.1035657986 1.0 1.2006835120 1.0 0.40829624602 1.0 0.13188304180 1.0 $ 1 f 4 0 0 2.06943000000000000000 1.0 .85543000000000000000 1.0 .37543000000000000000 1.0 .18443000000000000000 1.0 $ 1 g 3 0 0 1.27443000000000000000 1.0 .58443000000000000000 1.0 .28643000000000000000 1.0 $ 1 h 2 0 0 1.18343000000000000000 1.0 .52043000000000000000 1.0 $ 1 i 1 0 0 .89343000000000000000 1.0 a 6 $ CARBON $ c (10s7p5d4f3g2h1i) / [10s7p5d4f3g2h1i] {1111111111/1111111/11111/1111/111/11/1} $ 1 s 10 0 0 1113.9867719 1.0 369.16234180 1.0 121.79275232 1.0 48.127114540 1.0 20.365074004 1.0 8.0883596856 1.0 2.5068656570 1.0 1.2438537380 1.0 0.48449899601 1.0 0.19185160296 1.0 $ 1 p 7 0 0 102.99176249 1.0 28.132594009 1.0 9.8364318173 1.0 3.3490544980 1.0 1.4947618613 1.0 0.57690108899 1.0 0.20320063291 1.0 $ 1 d 5 0 0 10.594068356 1.0 3.5997195366 1.0 1.3355691094 1.0 0.51949764954 1.0 0.19954125200 1.0 $ 1 f 4 0 0 3.22298000000000000000 1.0 1.32198000000000000000 1.0 .57398000000000000000 1.0 .27998000000000000000 1.0 $ 1 g 3 0 0 2.09498000000000000000 1.0 .92698000000000000000 1.0 .43898000000000000000 1.0 $ 1 h 2 0 0 1.84198000000000000000 1.0 .76698000000000000000 1.0 $ 1 i 1 0 0 1.34798000000000000000 1.0 a 7 $ NITROGEN $ n (10s7p5d4f3g2h1i) / [10s7p5d4f3g2h1i] {1111111111/1111111/11111/1111/111/11/1} $ 1 s 10 0 0 1102.8622453 1.0 370.98041153 1.0 136.73555938 1.0 50.755871924 1.0 20.535656095 1.0 7.8318737184 1.0 3.4784063855 1.0 1.4552856603 1.0 0.63068989071 1.0 0.27276596483 1.0 $ 1 p 7 0 0 93.540954073 1.0 29.524019527 1.0 10.917502987 1.0 4.3449288991 1.0 1.8216912640 1.0 0.75792424494 1.0 0.28241469033 1.0 $ 1 d 5 0 0 16.419378926 1.0 5.0104049385 1.0 1.9793971884 1.0 0.78495771518 1.0 0.28954065963 1.0 $ 1 f 4 0 0 4.77020000000000000000 1.0 1.93620000000000000000 1.0 .83020000000000000000 1.0 .39920000000000000000 1.0 $ 1 g 3 0 0 3.06520000000000000000 1.0 1.32720000000000000000 1.0 .61620000000000000000 1.0 $ 1 h 2 0 0 2.63420000000000000000 1.0 1.06520000000000000000 1.0 $ 1 i 1 0 0 1.89120000000000000000 1.0 a 8 $ OXYGEN $ o (10s7p5d4f3g2h1i) / [10s7p5d4f3g2h1i] {1111111111/1111111/11111/1111/111/11/1} $ 1 s 10 0 0 1517.8667506 1.0 489.67952008 1.0 176.72118665 1.0 63.792233137 1.0 25.366499130 1.0 9.9135491200 1.0 4.4645306584 1.0 1.8017743661 1.0 0.80789710965 1.0 0.33864326862 1.0 $ 1 p 7 0 0 120.16030921 1.0 34.409622474 1.0 12.581148610 1.0 5.0663824249 1.0 2.0346927092 1.0 0.86092967212 1.0 0.36681356726 1.0 $ 1 d 5 0 0 19.043062805 1.0 5.8060381104 1.0 2.1891841580 1.0 0.87794613558 1.0 0.35623646700 1.0 $ 1 f 4 0 0 6.03470000000000000000 1.0 2.46270000000000000000 1.0 1.06070000000000000000 1.0 .51070000000000000000 1.0 $ 1 g 3 0 0 4.17170000000000000000 1.0 1.70970000000000000000 1.0 .75670000000000000000 1.0 $ 1 h 2 0 0 3.50570000000000000000 1.0 1.34470000000000000000 1.0 $ 1 i 1 0 0 2.47470000000000000000 1.0 a 9 $ FLUORINE $ f (10s7p5d4f3g2h1i) / [10s7p5d4f3g2h1i] {1111111111/1111111/11111/1111/111/11/1} $ 1 s 10 0 0 1885.0661216 1.0 623.75582297 1.0 227.92405029 1.0 82.184178773 1.0 32.628937583 1.0 12.783279578 1.0 5.6589257943 1.0 2.3208306681 1.0 1.0191520908 1.0 0.42196699118 1.0 $ 1 p 7 0 0 153.72069768 1.0 45.390450866 1.0 16.785845772 1.0 6.7293857800 1.0 2.6694607033 1.0 1.1049787101 1.0 0.45727703601 1.0 $ 1 d 5 0 0 24.869685349 1.0 7.5554441579 1.0 2.8268499237 1.0 1.1123341279 1.0 0.43877754231 1.0 $ 1 f 4 0 0 7.95490000000000000000 1.0 3.22690000000000000000 1.0 1.37990000000000000000 1.0 .65790000000000000000 1.0 $ 1 g 3 0 0 5.59290000000000000000 1.0 2.27290000000000000000 1.0 .99490000000000000000 1.0 $ 1 h 2 0 0 4.53290000000000000000 1.0 1.70790000000000000000 1.0 $ 1 i 1 0 0 3.18990000000000000000 1.0 a 13 $ ALUMINIUM $ al (13s11p9d) / [13s11p9d] {1111111111111/11111111111/111111111} $ S-TYPE FUNCTIONS 13 0 0 3155.1928168 1.0 804.81824843 1.0 278.28716279 1.0 106.73947034 1.0 44.726054551 1.0 19.985981625 1.0 8.2139836406 1.0 4.1826731629 1.0 2.0606294398 1.0 1.1394540102 1.0 0.35321611272 1.0 0.21512052497 1.0 0.091001117213 1.0 $ P-TYPE FUNCTIONS 11 0 0 472.16397028 1.0 132.20329132 1.0 50.460166539 1.0 21.131124313 1.0 10.457955077 1.0 4.9925589436 1.0 2.4609220820 1.0 1.0708266153 1.0 0.41862242427 1.0 0.24418454353 1.0 0.11824752523 1.0 $ D-TYPE FUNCTIONS 9 0 0 95.374390967 1.0 31.137715102 1.0 13.032465301 1.0 6.0372010623 1.0 2.9357329960 1.0 1.4175558590 1.0 0.53387157197 1.0 0.25545669081 1.0 0.10843455615 1.0 $ F-TYPE FUNCTIONS 4 0 0 1.35881000000000 1.0 .567810000000000 1.0 .251810000000000 1.0 .125810000000000 1.0 $ G-TYPE FUNCTIONS 3 0 0 .171810000000000 1.0 .299810000000000 1.0 .554810000000000 1.0 $ H-TYPE FUNCTIONS 2 0 0 .293810000000000 1.0 .584810000000000 1.0 $ I-TYPE FUNCTIONS 1 0 0 .487810000000000 1.0 a 14 $ SILICON $ si (13s11p9d4f3g2h1i) / [13s11p9d4f3g2h1i] {1111111111111/11111111111/111111111/1111/111/11/1} $ 1 s 13 0 0 3966.7823006 1.0 913.65240130 1.0 309.47572532 1.0 121.48371896 1.0 51.949842541 1.0 22.531415259 1.0 8.6118544488 1.0 4.0353794583 1.0 1.5605354258 1.0 0.82658343937 1.0 0.48403471116 1.0 0.28757870174 1.0 0.13188187610 1.0 $ 1 p 11 0 0 629.30680737 1.0 255.71500914 1.0 109.29630664 1.0 45.943769765 1.0 19.784226943 1.0 9.7746090299 1.0 4.6426781657 1.0 2.0449974109 1.0 0.82208144153 1.0 0.40978741460 1.0 0.18451465956 1.0 $ 1 d 9 0 0 181.67344614 1.0 59.654414923 1.0 25.353983605 1.0 11.718973530 1.0 5.4455778078 1.0 2.4659440013 1.0 1.0365292729 1.0 0.41097001308 1.0 0.16950067844 1.0 $ 1 f 4 0 0 .18488000000000000000 1.0 .37988000000000000000 1.0 .87588000000000000000 1.0 2.14088000000000000000 1.0 $ 1 g 3 0 0 .22788000000000000000 1.0 .39988000000000000000 1.0 .74688000000000000000 1.0 $ 1 h 2 0 0 .37888000000000000000 1.0 .76388000000000000000 1.0 $ 1 i 1 0 0 .64188000000000000000 1.0 a 15 $ PHOSPHORUS $ p (13s11p9d4f3g2h1i) / [13s11p9d4f3g2h1i] {1111111111111/11111111111/111111111/1111/111/11/1} $ 1 s 13 0 0 5107.3657113 1.0 1086.7632676 1.0 350.63674043 1.0 136.65708750 1.0 58.992208540 1.0 25.652124180 1.0 9.8584341771 1.0 4.6827641188 1.0 1.9275606994 1.0 1.0059954069 1.0 0.58812473497 1.0 0.34131983819 1.0 0.18002999045 1.0 $ 1 p 11 0 0 575.56255465 1.0 162.64036130 1.0 62.433891596 1.0 26.387393492 1.0 13.077885117 1.0 6.2324334253 1.0 2.6964171970 1.0 1.5942218913 1.0 0.88999472624 1.0 0.48955078641 1.0 0.23083290253 1.0 $ 1 d 9 0 0 202.19451071 1.0 60.141584369 1.0 24.116762870 1.0 11.029586263 1.0 5.3635229003 1.0 2.6589552243 1.0 1.1768422272 1.0 0.49537300028 1.0 0.21042978214 1.0 $ 1 f 4 0 0 .24292500000000000000 1.0 .49492500000000000000 1.0 1.13092500000000000000 1.0 2.73292500000000000000 1.0 $ 1 g 3 0 0 .29592500000000000000 1.0 .52692500000000000000 1.0 .99992500000000000000 1.0 $ 1 h 2 0 0 .48892500000000000000 1.0 .97992500000000000000 1.0 $ 1 i 1 0 0 .82192500000000000000 1.0 a 16 $ SULFUR $ s (13s11p9d4f3g2h1i) / [13s11p9d4f3g2h1i] {1111111111111/11111111111/111111111/1111/111/11/1} $ 1 s 13 0 0 6402.4580816 1.0 1704.9249408 1.0 598.09038904 1.0 225.90920364 1.0 94.426261909 1.0 37.222420840 1.0 18.259106532 1.0 8.7937857291 1.0 4.4619424717 1.0 2.2735987703 1.0 0.78075394724 1.0 0.48191153763 1.0 0.21573555055 1.0 $ 1 p 11 0 0 796.16481618 1.0 226.17928266 1.0 85.598645757 1.0 36.268978384 1.0 16.325207000 1.0 7.6145421568 1.0 3.3388129956 1.0 1.8665221526 1.0 0.94025159837 1.0 0.51521255747 1.0 0.26318380469 1.0 $ 1 d 9 0 0 190.55658672 1.0 60.346801430 1.0 25.141967063 1.0 12.146768196 1.0 6.2993488132 1.0 3.0706106656 1.0 1.2911977798 1.0 0.56678602865 1.0 0.24192419172 1.0 $ 1 f 4 0 0 .29650500000000000000 1.0 .60350500000000000000 1.0 1.37250500000000000000 1.0 3.29450500000000000000 1.0 $ 1 g 3 0 0 .34650500000000000000 1.0 .62050500000000000000 1.0 1.18750500000000000000 1.0 $ 1 h 2 0 0 .55450500000000000000 1.0 1.16250500000000000000 1.0 $ 1 i 1 0 0 .96350500000000000000 1.0 a 17 $CHLORINE $ cl (13s11p9d4f3g2h1i) / [13s11p9d4f3g2h1i] {1111111111111/11111111111/111111111/1111/111/11/1} $ 1 s 13 0 0 7082.7970581 1.0 2109.3095076 1.0 768.41281873 1.0 284.79255416 1.0 116.55331731 1.0 46.394820985 1.0 21.956303390 1.0 9.9930272138 1.0 4.7199459556 1.0 2.6573396159 1.0 1.0813481129 1.0 0.53154679199 1.0 0.23367039059 1.0 $ 1 p 11 0 0 973.73528509 1.0 278.99109347 1.0 105.88644516 1.0 45.231846876 1.0 20.289166152 1.0 9.5829383791 1.0 4.4641678563 1.0 2.3625612120 1.0 1.1491964243 1.0 0.60310217244 1.0 0.30590911334 1.0 $ 1 d 9 0 0 204.38030063 1.0 63.693893315 1.0 25.726668979 1.0 11.602467273 1.0 5.4574541509 1.0 2.8838397619 1.0 1.3394023625 1.0 0.61649222177 1.0 0.27470143212 1.0 $ 1 f 4 0 0 .35926000000000000000 1.0 .72726000000000000000 1.0 1.63826000000000000000 1.0 3.89026000000000000000 1.0 $ 1 g 3 0 0 .42926000000000000000 1.0 .76526000000000000000 1.0 1.45426000000000000000 1.0 $ 1 h 2 0 0 .66526000000000000000 1.0 1.41126000000000000000 1.0 $ 1 i 1 0 0 1.16226000000000000000 1.0 ergo-3.5/basis/aug-cc-pV(T+d)Z0000664000175000017500000004221512743400275012634 00000000000000$ Basis=aug-cc-pV(T+d)Z $ $ Supported Elements $ Al Si P S Cl Ar $ $ REFERENCES $ Elements References $ -------- ---------- $ Al - Ar: T. H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys., 114, 2944 (2001). $ $ Polarization and/or diffuse functions $ Elements References $ -------- --------- $ Al- Ar: T.H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys., 114, 9244 (2001) $ ************************************************************************ a 13 $ ALUMINUM (15s,9p,3d,1f) -> [5s,4p,3d,1f] $ ALUMINUM Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 16 6 0 205500.00000 0.00006788 -0.00001764 0.00000407 0.00000000 0.00000000 0.00000000 30780.00000 0.00052715 -0.00013720 0.00003166 0.00000000 0.00000000 0.00000000 7006.00000000 0.00276203 -0.00071891 0.00016612 0.00000000 0.00000000 0.00000000 1985.00000000 0.01147280 -0.00301146 0.00069499 0.00000000 0.00000000 0.00000000 649.10000000 0.03981880 -0.01060140 0.00245511 0.00000000 0.00000000 0.00000000 235.00000000 0.11504000 -0.03213450 0.00744598 0.00000000 0.00000000 0.00000000 91.62000000 0.26088700 -0.08031560 0.01882530 0.00000000 0.00000000 0.00000000 37.67000000 0.39638600 -0.15679400 0.03727720 0.00000000 0.00000000 0.00000000 15.91000000 0.28459700 -0.16837600 0.04194960 0.00000000 0.00000000 0.00000000 5.85000000 0.04445830 0.12687900 -0.03543750 0.00000000 0.00000000 0.00000000 2.54200000 -0.00489838 0.56149400 -0.17513200 0.00000000 0.00000000 0.00000000 1.05700000 0.00261253 0.43661300 -0.27620300 0.00000000 0.00000000 0.00000000 0.29310000 -0.00108915 0.03572930 0.10872900 1.00000000 0.00000000 0.00000000 0.14550000 0.00072207 -0.01145630 0.65280900 0.00000000 0.00000000 0.00000000 0.05650000 -0.00017849 0.00220201 0.39458700 0.00000000 1.00000000 0.00000000 0.02210000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 444.40000000 0.00162786 -0.00028634 0.00000000 0.00000000 0.00000000 105.10000000 0.01306870 -0.00242308 0.00000000 0.00000000 0.00000000 33.47000000 0.06123410 -0.01086580 0.00000000 0.00000000 0.00000000 12.33000000 0.18787000 -0.03643070 0.00000000 0.00000000 0.00000000 4.86900000 0.36045200 -0.06410740 0.00000000 0.00000000 0.00000000 1.96100000 0.40845400 -0.09722390 0.00000000 0.00000000 0.00000000 0.78340000 0.18864000 0.01474370 1.00000000 0.00000000 0.00000000 0.18880000 0.00976514 0.50344800 0.00000000 0.00000000 0.00000000 0.05557000 -0.00115057 0.59798400 0.00000000 1.00000000 0.00000000 0.01460000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.57000000 1.00000000 0.00000000 0.00000000 0.00000000 0.33300000 0.00000000 1.00000000 0.00000000 0.00000000 0.11100000 0.00000000 0.00000000 1.00000000 0.00000000 0.03570000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.24400000 1.00000000 0.00000000 0.85800000 0.00000000 1.00000000 a 14 $ SILICON (15s,9p,3d,1f) -> [5s,4p,3d,1f] $ SILICON Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 16 6 0 254900.00000 0.00006251 -0.00001664 0.00000426 0.00000000 0.00000000 0.00000000 38190.00000 0.00048555 -0.00012931 0.00003311 0.00000000 0.00000000 0.00000000 8690.00000000 0.00254516 -0.00067883 0.00017401 0.00000000 0.00000000 0.00000000 2462.00000000 0.01058660 -0.00284117 0.00072757 0.00000000 0.00000000 0.00000000 804.80000000 0.03687870 -0.01005510 0.00258333 0.00000000 0.00000000 0.00000000 291.30000000 0.10747900 -0.03057740 0.00786354 0.00000000 0.00000000 0.00000000 113.60000000 0.24793600 -0.07772560 0.02021550 0.00000000 0.00000000 0.00000000 46.75000000 0.39092700 -0.15423600 0.04073200 0.00000000 0.00000000 0.00000000 19.82000000 0.30202600 -0.18036800 0.04993580 0.00000000 0.00000000 0.00000000 7.70800000 0.05592360 0.07982180 -0.02493960 0.00000000 0.00000000 0.00000000 3.34000000 -0.00402406 0.54744100 -0.19035000 0.00000000 0.00000000 0.00000000 1.40200000 0.00258030 0.48011900 -0.31835000 0.00000000 0.00000000 0.00000000 0.43870000 -0.00103821 0.04748460 0.09480360 1.00000000 0.00000000 0.00000000 0.20700000 0.00060793 -0.01069960 0.68118000 0.00000000 0.00000000 0.00000000 0.07944000 -0.00015402 0.00219871 0.39567200 0.00000000 1.00000000 0.00000000 0.03300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 481.50000000 0.00192045 -0.00040522 0.00000000 0.00000000 0.00000000 113.90000000 0.01535520 -0.00335896 0.00000000 0.00000000 0.00000000 36.23000000 0.07139910 -0.01528600 0.00000000 0.00000000 0.00000000 13.34000000 0.21305200 -0.04892180 0.00000000 0.00000000 0.00000000 5.25200000 0.39035400 -0.08550080 0.00000000 0.00000000 0.00000000 2.12000000 0.39372100 -0.11213700 0.00000000 0.00000000 0.00000000 0.85610000 0.13256500 0.06182740 1.00000000 0.00000000 0.00000000 0.25280000 0.00395630 0.55191900 0.00000000 0.00000000 0.00000000 0.07889000 0.00033162 0.52349200 0.00000000 1.00000000 0.00000000 0.02370000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 2.30300000 1.00000000 0.00000000 0.00000000 0.00000000 0.47600000 0.00000000 1.00000000 0.00000000 0.00000000 0.16000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05510000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.33600000 1.00000000 0.00000000 0.12500000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (15s,9p,3d,1f) -> [5s,4p,3d,1f] $ PHOSPHORUS Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 16 6 0 312400.00000 0.00005770 -0.00001567 0.00000431 0.00000000 0.00000000 0.00000000 46800.00000 0.00044830 -0.00012172 0.00003342 0.00000000 0.00000000 0.00000000 10650.00000 0.00234939 -0.00063967 0.00017589 0.00000000 0.00000000 0.00000000 3018.00000000 0.00978265 -0.00267426 0.00073434 0.00000000 0.00000000 0.00000000 986.80000000 0.03414670 -0.00949831 0.00261775 0.00000000 0.00000000 0.00000000 357.40000000 0.10020400 -0.02893490 0.00797852 0.00000000 0.00000000 0.00000000 139.60000000 0.23437200 -0.07451210 0.02079400 0.00000000 0.00000000 0.00000000 57.63000000 0.38243400 -0.14993800 0.04244460 0.00000000 0.00000000 0.00000000 24.60000000 0.31808800 -0.18946700 0.05634360 0.00000000 0.00000000 0.00000000 10.12000000 0.07077880 0.03632700 -0.01273580 0.00000000 0.00000000 0.00000000 4.28300000 -0.00181799 0.52881600 -0.19649500 0.00000000 0.00000000 0.00000000 1.80500000 0.00216180 0.51911500 -0.35355500 0.00000000 0.00000000 0.00000000 0.61580000 -0.00083474 0.06055470 0.07414070 1.00000000 0.00000000 0.00000000 0.27820000 0.00043230 -0.00925695 0.70091200 0.00000000 0.00000000 0.00000000 0.10550000 -0.00011425 0.00210372 0.40473900 0.00000000 1.00000000 0.00000000 0.04090000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 504.90000000 0.00233728 -0.00055524 0.00000000 0.00000000 0.00000000 119.40000000 0.01854100 -0.00445913 0.00000000 0.00000000 0.00000000 37.96000000 0.08496930 -0.02063500 0.00000000 0.00000000 0.00000000 13.95000000 0.24461500 -0.06176940 0.00000000 0.00000000 0.00000000 5.45700000 0.42276600 -0.10892400 0.00000000 0.00000000 0.00000000 2.17700000 0.36843900 -0.10559900 0.00000000 0.00000000 0.00000000 0.80100000 0.07727340 0.15348300 1.00000000 0.00000000 0.00000000 0.28770000 -0.00379005 0.57698100 0.00000000 0.00000000 0.00000000 0.09714000 0.00159939 0.42243900 0.00000000 1.00000000 0.00000000 0.03070000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 3.12000000 1.00000000 0.00000000 0.00000000 0.00000000 0.64800000 0.00000000 1.00000000 0.00000000 0.00000000 0.21800000 0.00000000 0.00000000 1.00000000 0.00000000 0.07750000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.45200000 1.00000000 0.00000000 0.16500000 0.00000000 1.00000000 a 16 $ SULFUR (15s,9p,3d,1f) -> [5s,4p,3d,1f] $ SULFUR Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 16 6 0 374100.00000 0.00005421 -0.00001498 0.00000435 0.00000000 0.00000000 0.00000000 56050.00000 0.00042085 -0.00011620 0.00003371 0.00000000 0.00000000 0.00000000 12760.00000 0.00220698 -0.00061158 0.00017767 0.00000000 0.00000000 0.00000000 3615.00000000 0.00919258 -0.00255370 0.00074112 0.00000000 0.00000000 0.00000000 1183.00000000 0.03211230 -0.00908708 0.00264591 0.00000000 0.00000000 0.00000000 428.80000000 0.09466830 -0.02770450 0.00807487 0.00000000 0.00000000 0.00000000 167.80000000 0.22363000 -0.07200200 0.02122760 0.00000000 0.00000000 0.00000000 69.47000000 0.37439300 -0.14643900 0.04383230 0.00000000 0.00000000 0.00000000 29.84000000 0.32910800 -0.19515000 0.06127160 0.00000000 0.00000000 0.00000000 12.72000000 0.08470380 0.00819193 -0.00361510 0.00000000 0.00000000 0.00000000 5.24400000 0.00044085 0.51660100 -0.20451000 0.00000000 0.00000000 0.00000000 2.21900000 0.00164827 0.54217800 -0.38187100 0.00000000 0.00000000 0.00000000 0.77670000 -0.00062233 0.06884300 0.08268440 1.00000000 0.00000000 0.00000000 0.34900000 0.00030131 -0.00918072 0.71414700 0.00000000 0.00000000 0.00000000 0.13220000 -0.00008413 0.00226832 0.39379100 0.00000000 1.00000000 0.00000000 0.04970000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 574.40000000 0.00242264 -0.00062010 0.00000000 0.00000000 0.00000000 135.80000000 0.01927960 -0.00493882 0.00000000 0.00000000 0.00000000 43.19000000 0.08854010 -0.02326470 0.00000000 0.00000000 0.00000000 15.87000000 0.25465400 -0.06851950 0.00000000 0.00000000 0.00000000 6.20800000 0.43398400 -0.12389600 0.00000000 0.00000000 0.00000000 2.48300000 0.35495300 -0.09694990 0.00000000 0.00000000 0.00000000 0.86880000 0.06189410 0.22821500 1.00000000 0.00000000 0.00000000 0.32290000 -0.00502977 0.56939400 0.00000000 0.00000000 0.00000000 0.10980000 0.00209813 0.36630200 0.00000000 1.00000000 0.00000000 0.03510000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 3.75600000 1.00000000 0.00000000 0.00000000 0.00000000 0.81200000 0.00000000 1.00000000 0.00000000 0.00000000 0.27300000 0.00000000 0.00000000 1.00000000 0.00000000 0.10100000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.55700000 1.00000000 0.00000000 0.21800000 0.00000000 1.00000000 a 17 $ CHLORINE (15s,9p,3d,1f) -> [5s,4p,3d,1f] $ CHLORINE Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 16 6 0 456100.00000 0.00004930 -0.00001383 0.00000419 0.00000000 0.00000000 0.00000000 68330.00000 0.00038303 -0.00010728 0.00003244 0.00000000 0.00000000 0.00000000 15550.00000 0.00200854 -0.00056508 0.00017111 0.00000000 0.00000000 0.00000000 4405.00000000 0.00838558 -0.00236135 0.00071418 0.00000000 0.00000000 0.00000000 1439.00000000 0.02947030 -0.00845886 0.00256705 0.00000000 0.00000000 0.00000000 520.40000000 0.08783250 -0.02596380 0.00788552 0.00000000 0.00000000 0.00000000 203.10000000 0.21147300 -0.06863620 0.02108670 0.00000000 0.00000000 0.00000000 83.96000000 0.36536400 -0.14187400 0.04422640 0.00000000 0.00000000 0.00000000 36.20000000 0.34088400 -0.19931900 0.06516700 0.00000000 0.00000000 0.00000000 15.83000000 0.10213300 -0.01956620 0.00603012 0.00000000 0.00000000 0.00000000 6.33400000 0.00311675 0.49974100 -0.20649500 0.00000000 0.00000000 0.00000000 2.69400000 0.00105751 0.56373600 -0.40587100 0.00000000 0.00000000 0.00000000 0.97680000 -0.00037800 0.07903250 0.07595580 1.00000000 0.00000000 0.00000000 0.43130000 0.00015614 -0.00835091 0.72566100 0.00000000 0.00000000 0.00000000 0.16250000 -0.00005141 0.00232456 0.39442300 0.00000000 1.00000000 0.00000000 0.05910000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 663.30000000 0.00240448 -0.00065215 0.00000000 0.00000000 0.00000000 156.80000000 0.01921480 -0.00519445 0.00000000 0.00000000 0.00000000 49.98000000 0.08850970 -0.02469380 0.00000000 0.00000000 0.00000000 18.42000000 0.25602000 -0.07281670 0.00000000 0.00000000 0.00000000 7.24000000 0.43692700 -0.13403000 0.00000000 0.00000000 0.00000000 2.92200000 0.35033400 -0.09477420 0.00000000 0.00000000 0.00000000 1.02200000 0.05854950 0.26228900 1.00000000 0.00000000 0.00000000 0.38180000 -0.00458423 0.56466700 0.00000000 0.00000000 0.00000000 0.13010000 0.00226970 0.34125000 0.00000000 1.00000000 0.00000000 0.04190000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 4.61000000 1.00000000 0.00000000 0.00000000 0.00000000 1.01100000 0.00000000 1.00000000 0.00000000 0.00000000 0.33900000 0.00000000 0.00000000 1.00000000 0.00000000 0.13000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.70600000 1.00000000 0.00000000 0.31200000 0.00000000 1.00000000 a 18 $ ARGON (15s,9p,3d,1f) -> [5s,4p,3d,1f] $ ARGON Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 16 6 0 545000.00000 0.00004558 -0.00001296 0.00000405 0.00000000 0.00000000 0.00000000 81640.00000 0.00035411 -0.00010043 0.00003137 0.00000000 0.00000000 0.00000000 18580.00000 0.00185797 -0.00052958 0.00016565 0.00000000 0.00000000 0.00000000 5261.00000000 0.00776851 -0.00221396 0.00069166 0.00000000 0.00000000 0.00000000 1717.00000000 0.02742320 -0.00796845 0.00249790 0.00000000 0.00000000 0.00000000 619.90000000 0.08238360 -0.02458030 0.00771074 0.00000000 0.00000000 0.00000000 241.60000000 0.20123000 -0.06577980 0.02087140 0.00000000 0.00000000 0.00000000 99.79000000 0.35678100 -0.13794200 0.04439650 0.00000000 0.00000000 0.00000000 43.15000000 0.34956300 -0.20163000 0.06802240 0.00000000 0.00000000 0.00000000 19.14000000 0.11826600 -0.04128340 0.01413500 0.00000000 0.00000000 0.00000000 7.48800000 0.00560190 0.48468000 -0.20748900 0.00000000 0.00000000 0.00000000 3.20500000 0.00048347 0.57922400 -0.42504500 0.00000000 0.00000000 0.00000000 1.19600000 -0.00014809 0.08790830 0.07048550 1.00000000 0.00000000 0.00000000 0.52040000 0.00002920 -0.00727553 0.73362700 0.00000000 0.00000000 0.00000000 0.19540000 -0.00002316 0.00232884 0.39600500 0.00000000 1.00000000 0.00000000 0.06850000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 761.80000000 0.00236976 -0.00066721 0.00000000 0.00000000 0.00000000 180.20000000 0.01901990 -0.00532717 0.00000000 0.00000000 0.00000000 57.50000000 0.08808070 -0.02554940 0.00000000 0.00000000 0.00000000 21.24000000 0.25637700 -0.07571970 0.00000000 0.00000000 0.00000000 8.38800000 0.43871100 -0.14113300 0.00000000 0.00000000 0.00000000 3.41600000 0.34756900 -0.09327680 0.00000000 0.00000000 0.00000000 1.20600000 0.05667400 0.28287200 1.00000000 0.00000000 0.00000000 0.45230000 -0.00523882 0.56245000 0.00000000 0.00000000 0.00000000 0.15450000 0.00164376 0.32505900 0.00000000 1.00000000 0.00000000 0.04870000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 5.55100000 1.00000000 0.00000000 0.00000000 0.00000000 1.23500000 0.00000000 1.00000000 0.00000000 0.00000000 0.41200000 0.00000000 0.00000000 1.00000000 0.00000000 0.15500000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.89000000 1.00000000 0.00000000 0.40600000 0.00000000 1.00000000 ergo-3.5/basis/Huckel0000775000175000017500000020045512743400275011514 00000000000000$ Basis = Huckel (STO-3G exponents) $Elements supported $H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu $ Zn Ga Ge As Se Br Kr Rb Sr Y Zr Nb Mo Tc Rh Rh Pd Ag Cd $ $ NOTES $ aug 99 -- hjaaj: $ 1) removed functions for which Huckel parameter is not defined in herbas.F $ (i.e. removed last p for Li, Be, Na, Mg, K, CA) $ 2) 19 .le. Z .le. 30 changed from 3p to 2p because HUCFUN only works with 2p $ A 1 $ HYDROGEN (3S) -> [1S] $ S-TYPE FUNCTIONS 3 1 0 3.4252509 .2769343597 0.6239137 .2678388414 0.1688554 .0834736694 A 2 $ HELIUM (3S) -> [1S] $ S-TYPE FUNCTIONS 3 1 0 6.3624214 .4406303147 1.1589230 .4261584477 0.3136498 .1328149766 A 3 $ LITHIUM (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 16.119575 .8848562878 -.2198590653 2.936201 .8557944579 -.2126381111 .794651 .2667137529 -.0662700116 .636290 .0000000000 -.0523018837 .147860 .0000000000 .0699580152 .048089 .0000000000 .0527983625 $ P-TYPE FUNCTIONS $hj 3 1 0 $hj .636290 .1262990625 $hj .147860 .0794202812 $hj .048089 .0125815088 A 4 $ BERYLLIUM (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 30.1678710 1.415846093 -.3804720590 5.4951153 1.369344659 -.3679760001 1.4871927 .4267649290 -.1146820492 1.3148331 .0000000000 -.0905860239 0.3055389 .0000000000 .1211661146 0.0993707 .0000000000 .0914458505 $ P-TYPE FUNCTIONS $hj 3 1 0 $hj 1.3148331 .3129102802 $hj 0.3055389 .1967663589 $hj 0.0993707 .0311710838 A 5 $ BORON (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 48.7911130 2.0305472299-.5678662691 8.8873622 1.9638568460-.5492155236 2.4052670 .6120483902 -.1711664869 2.2369561 .0000000000 -.1353202055 0.5198205 .0000000000 .1810017097 0.1690618 .0000000000 .1366047135 $ P-TYPE FUNCTIONS 3 1 0 2.2369561 .6079996655 0.5198205 .3823265274 0.1690618 .0605669627 A 6 $ CARBON (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 71.6168370 2.707814454-.694272788 13.0450960 2.618880156-.671470390 3.5305122 0.816190576-.209267997 2.9412494 0.00000000 -.165193156 0.6834831 0.00000000 .220959190 0.2222899 0.00000000 .166761186 $ P-TYPE FUNCTIONS 3 1 0 2.9412494 .8560445069 0.6834831 .5383037696 0.2222899 .0852763521 A 7 $ NITROGEN (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 99.1061690 3.4548807944-.8354310263 18.0523120 3.3414101643-.8079924863 4.8856602 1.0413716090-.2518159682 3.7804559 .0000000000-.1987310649 0.8784966 .0000000000 .2658188432 0.2857144 .0000000000 .2006174658 $ P-TYPE FUNCTIONS 3 1 0 3.7804559 1.1715524612 0.8784966 .7367035994 0.2857144 .1167062468 A 8 $ OXYGEN (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 130.7093200 4.2519432829-1.0358898087 23.8088610 4.1122937184-1.0018673510 6.4436083 1.2816225326 -.3122383418 5.0331513 .0000000000 -.2464156866 1.1695961 .0000000000 .3296008841 0.3803890 .0000000000 .2487547256 $ P-TYPE FUNCTIONS 3 1 0 5.0331513 1.6754501181 1.1695961 1.0535680080 0.3803890 .1669028981 A 9 $ FLUORINE (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 166.6791300 5.1023291208-1.2502246181 30.3608120 4.9347505319-1.2091628064 8.2168207 1.5379462118 -.3768432357 6.4648032 .0000000000 -.2974029772 1.5022812 .0000000000 .3978005021 0.4885885 .0000000000 .3002259836 $ P-TYPE FUNCTIONS 3 1 0 6.4648032 2.2910030096 1.5022812 1.4406441809 0.4885885 .2282222566 A 10 $ NEON (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 207.0156100 6.0028829242-1.5023383989 37.7081510 5.8057268056-1.4529962392 10.2052970 1.8093914228 -.4528354538 8.2463151 .0000000000 -.3574001329 1.9162662 .0000000000 .4780515354 0.6232293 .0000000000 .3607926471 $ P-TYPE FUNCTIONS 3 1 0 8.2463151 3.1056780284 1.9162662 1.9529336423 0.6232293 .3093775326 A 11 $ SODIUM (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 250.7724000 6.9313415862-2.009993865 .8719242836 45.6785100 6.7036890895-1.943977767 .8432868636 12.362390 2.0892501095 -.605853838 .2628160627 12.040190 .0000000000 -.479484893 .2495432501 2.797882 .0000000000 .641351664-.3337852368 .909958 .0000000000 .484037108-.2519124060 1.478740 .0000000000 .000000000-.2366777985 .412565 .0000000000 .000000000 .0933287662 .161475 .0000000000 .000000000 .1843233096 $ P-TYPE FUNCTIONS $hj 6 2 0 3 1 0 12.040190 4.9845107546-2.594911323 2.797882 3.1344021896-1.631754075 .909958 .4965411969 -.258496859 $hj 1.478740 .0000000000 .027745644 $hj .412565 .0000000000 .316242634 $hj .161475 .0000000000 .075995982 A 12 $ MAGNESIUM (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 299.237400 7.9135145850-2.388741025 .7936555844 54.506470 7.6536035535-2.310285348 .7675888046 14.751580 2.3852972662 -.720016040 .2392242379 15.121820 .0000000000 -.570696972 .2251457525 3.513987 .0000000000 .763355588-.3011515337 1.142857 .0000000000 .576114973-.2272832092 1.395448 .0000000000 .000000000-.2160701546 .389326 .0000000000 .000000000 .0852024686 .152380 .0000000000 .000000000 .1682744388 $ P-TYPE FUNCTIONS $hj 6 2 0 3 1 0 15.121820 6.6272898475-2.639543921 3.513987 4.1674288142-1.659820477 1.142857 .6601893151 -.262942882 $hj 1.395448 .0000000000 .024638728 $hj .389326 .0000000000 .280829604 $hj .152380 .0000000000 .067486229 A 13 $ ALUMINUM (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 351.421500 8.9274772265-2.829043991.7559744475 64.011860 8.6342626850-2.736126719.7311451822 17.324110 2.6909263290-.8527323866.2278663382 18.899400 .0000000000-.6774576678.2143616889 4.391813 .0000000000 .9061566596-.286726804 1.428354 .0000000000 .6838892308-.216396769 1.395448 .0000000000 .0000000000-.210807420 .389326 .0000000000 .0000000000.0831272259 .152380 .0000000000 .0000000000.1641758450 $ P-TYPE FUNCTIONS 6 2 0 18.899400 8.7577166095-2.817650559 4.391813 5.5070977333-1.771817667 1.428354 .8724156072-.2806853011 1.395448 .0000000000 .0240455371 .389326 .0000000000 .2740684727 .152380 .0000000000 .0658614600 A 14 $ SILICON (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 407.797400 9.9813817173-3.303823919.7612250154 74.280800 9.6535527023-3.195312956.7362233018 20.103380 3.0086054665-.9958443614.2294497703 23.193660 .0000000000-.7931752263.2164970047 5.389699 .00000000001.0609375397-.289582670 1.752901 .0000000000 .8007057389-.218552457 1.478740 .0000000000 .0000000000-.217592914 .412565 .0000000000 .0000000000.0858030550 .161475 .0000000000 .0000000000.1694601109 $ P-TYPE FUNCTIONS 6 2 0 23.193660 11.312078382-3.153280830 5.389699 7.1133397886-1.982867978 1.752901 1.1268737805-.3141199495 1.478740 .0000000000.0255486763 .412565 .0000000000.2912017735 .161475 .0000000000.0699784353 A 15 $ PHOSPHORUS (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 468.365500 11.073782809-3.813390065.8572036206 85.313340 10.710073578-3.688142425.8290494772 23.089230 3.3378784643-1.149438525.2583797745 28.032650 .0000000000-.9180142306.2448131252 6.514173 .00000000001.2279198501-.3274577735 2.118615 .0000000000 .9267296388-.2471373227 1.743103 .0000000000 .0000000000-.2457735082 .486321 .0000000000 .0000000000.0969153640 .190343 .0000000000 .0000000000.1914071240 $ P-TYPE FUNCTIONS 6 2 0 28.032650 14.335439428-3.898588369 6.514173 9.0145083240-2.451536800 2.118615 1.4280506480-.3883649102 1.743103 .0000000000 .0313257586 .486321 .0000000000 .3570478917 .190343 .0000000000 .0858020973 A 16 $ SULFUR (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 533.125600 12.203366582-4.346484983.9569050683 97.109480 11.802557998-4.203728599.9254763832 26.281620 3.6783470883-1.310120472.2884309791 33.329750 .0000000000-1.049120484.2743608222 7.745106 .00000000001.4032857185-.3669803703 2.518953 .00000000001.0590808028-.2769655959 2.029194 .0000000000 .0000000000-.2750958096 .566140 .0000000000 .0000000000.1084780228 .221583 .0000000000 .0000000000.2142428124 $ P-TYPE FUNCTIONS 6 2 0 33.329750 17.797986956-4.740152516 7.745106 11.191856644-2.980736392 2.518953 1.7729791762-.4721990033 2.029194 .0000000000 .0378259160 .566140 .0000000000 .4311364121 .221583 .0000000000 .1036059083 A 17 $ CHLORINE (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 601.345500 13.356736900-4.890145215 .9621637353 109.535800 12.918045296-4.729532211 .9305622181 29.644810 4.0260107422-1.473996030 .2900170575 38.960430 .0000000000-1.183175719 .2768411308 9.053550 .00000000001.5825953205-.3702978950 2.944501 .00000000001.1944086651-.2794694315 2.129386 .0000000000 .0000000000-.2833906331 .594093 .0000000000 .0000000000 .1117488609 .232524 .0000000000 .0000000000 .2207029657 $ P-TYPE FUNCTIONS 6 2 0 38.960430 21.632687991-5.173325318 9.053550 13.603214850-3.253125817 2.944501 2.1549796967-.5153502435 2.129386 .0000000000 .0399161285 .594093 .0000000000 .4549601653 .232524 .0000000000 .1093312046 A 18 $ ARGON (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 674.446300 14.556864800-5.4669449911.1471750119 122.851200 14.078756112-5.2873875151.1094969578 33.248500 4.3877559357-1.647856229 .3457835212 45.164250 .0000000000-1.325909831 .3311774400 10.495180 .00000000001.7735137658-.4429771430 3.413366 .00000000001.3384980898-.3343216564 2.621366 .0000000000 .0000000000-.3324032922 .731354 .0000000000 .0000000000 .1310759105 .286247 .0000000000 .0000000000 .2588736888 $ P-TYPE FUNCTIONS 6 2 0 45.164250 26.021018872-6.608583708 10.495180 16.362711601-4.155653929 3.413366 2.5921319645-.6583262997 2.621366 .0000000000 .0519381659 .731354 .0000000000 .5919860774 .286247 .0000000000 .1422598000 A 19 $ POTASSIUM (12S,9P) -> [4S,3P] $ S-TYPE FUNCTIONS 12 4 0 771.5104000 0.15432897 0.00000000 0.00000000 0.00000000 140.5315000 0.53532814 0.00000000 0.00000000 0.00000000 38.0333300 0.44463454 0.00000000 0.00000000 0.00000000 52.4020400 0.00000000 -0.09996723 0.00000000 0.00000000 12.1771100 0.00000000 0.39951283 0.00000000 0.00000000 3.9603730 0.00000000 0.70011547 0.00000000 0.00000000 3.6515840 0.00000000 0.00000000 -0.21962037 0.00000000 0.1018780 0.00000000 0.00000000 0.22559543 0.00000000 0.3987450 0.00000000 0.00000000 0.90039843 0.00000000 0.5039820 0.00000000 0.00000000 0.00000000 -0.30884412 0.1860010 0.00000000 0.00000000 0.00000000 0.01960641 0.0821401 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS $hj 9 2 0 6 2 0 52.4020400 0.15591628 0.00000000 0.00000000 12.1771100 0.60768372 0.00000000 0.00000000 3.9603730 0.39195739 0.00000000 0.00000000 3.6515840 0.00000000 0.01058760 0.00000000 0.1018780 0.00000000 0.59516701 0.00000000 0.3987450 0.00000000 0.46200101 0.00000000 $hj 0.5039820 0.00000000 0.00000000 -0.12154686 $hj 0.1860010 0.00000000 0.00000000 0.57152276 $hj 0.0821401 0.00000000 0.00000000 0.54989495 A 20 $ CALCIUM (12S,9P) -> [4S,3P] $ S-TYPE FUNCTIONS 12 4 0 854.0324951 0.15432897 0.00000000 0.00000000 0.00000000 155.5630851 0.53532814 0.00000000 0.00000000 0.00000000 42.1014418 0.44463454 0.00000000 0.00000000 0.00000000 59.5602994 0.00000000 -0.09996723 0.00000000 0.00000000 13.8405327 0.00000000 0.39951283 0.00000000 0.00000000 4.5013708 0.00000000 0.70011547 0.00000000 0.00000000 4.3747063 0.00000000 0.00000000 -0.21962037 0.00000000 1.2205319 0.00000000 0.00000000 0.22559543 0.00000000 0.4777079 0.00000000 0.00000000 0.90039843 0.00000000 0.4558490 0.00000000 0.00000000 0.00000000 -0.30884412 0.1682369 0.00000000 0.00000000 0.00000000 0.01960641 0.0742952 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS $hj 9 2 0 6 2 0 59.5602994 0.15591628 0.00000000 0.00000000 13.8405327 0.60768372 0.00000000 0.00000000 4.5013708 0.39195739 0.00000000 0.00000000 4.3747063 0.00000000 0.01058760 0.00000000 1.2205319 0.00000000 0.59516701 0.00000000 0.4777079 0.00000000 0.46200101 0.00000000 $hj 0.4558490 0.00000000 0.00000000 -0.12154686 $hj 0.1682369 0.00000000 0.00000000 0.57152276 $hj 0.0742952 0.00000000 0.00000000 0.54989495 a 21 $ SCANDIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 941.6624250 0.15432897 0.00000000 0.00000000 0.00000000 171.5249862 0.53532814 0.00000000 0.00000000 0.00000000 46.4213552 0.44463454 0.00000000 0.00000000 0.00000000 67.1766877 0.00000000 -0.09996723 0.00000000 0.00000000 15.6104175 0.00000000 0.39951283 0.00000000 0.00000000 5.0769923 0.00000000 0.70011547 0.00000000 0.00000000 4.6981592 0.00000000 0.00000000 -0.22776350 0.00000000 1.4330883 0.00000000 0.00000000 0.21754360 0.00000000 0.5529300 0.00000000 0.00000000 0.91667696 0.00000000 0.6309328 0.00000000 0.00000000 0.00000000 -0.30884412 0.2328539 0.00000000 0.00000000 0.00000000 0.01960641 0.1028307 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 2 0 67.1766877 0.15591628 0.00000000 0.00000000 15.6104175 0.60768372 0.00000000 0.00000000 5.0769923 0.39195739 0.00000000 0.00000000 4.6981592 0.00000000 0.00495151 0.00000000 1.4330883 0.00000000 0.57776647 0.00000000 0.5529300 0.00000000 0.48464604 0.00000000 0.6309328 0.00000000 0.00000000 -0.12154686 0.2328539 0.00000000 0.00000000 0.57152276 0.1028307 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 0.5517001 0.21976795 0.1682861 0.65554736 0.0649300 0.28657326 a 22 $ TITANIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1033.5712450 0.15432897 0.00000000 0.00000000 0.00000000 188.2662926 0.53532814 0.00000000 0.00000000 0.00000000 50.9522060 0.44463454 0.00000000 0.00000000 0.00000000 75.2512046 0.00000000 -0.09996723 0.00000000 0.00000000 17.4867616 0.00000000 0.39951283 0.00000000 0.00000000 5.6872376 0.00000000 0.70011547 0.00000000 0.00000000 5.3955355 0.00000000 0.00000000 -0.22776350 0.00000000 1.6458103 0.00000000 0.00000000 0.21754360 0.00000000 0.6350048 0.00000000 0.00000000 0.91667696 0.00000000 0.7122640 0.00000000 0.00000000 0.00000000 -0.30884412 0.2628702 0.00000000 0.00000000 0.00000000 0.01960641 0.1160863 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 2 0 75.2512046 0.15591628 0.00000000 0.00000000 17.4867616 0.60768372 0.00000000 0.00000000 5.6872376 0.39195739 0.00000000 0.00000000 5.3955355 0.00000000 0.00495151 0.00000000 1.6458103 0.00000000 0.57776647 0.00000000 0.6350048 0.00000000 0.48464604 0.00000000 0.7122640 0.00000000 0.00000000 -0.12154686 0.2628702 0.00000000 0.00000000 0.57152276 0.1160863 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 1.6459812 0.21976795 0.5020767 0.65554736 0.1937168 0.28657326 a 23 $ VANADIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1130.7625170 0.15432897 0.00000000 0.00000000 0.00000000 205.9698041 0.53532814 0.00000000 0.00000000 0.00000000 55.7434671 0.44463454 0.00000000 0.00000000 0.00000000 83.7838501 0.00000000 -0.09996723 0.00000000 0.00000000 19.4695649 0.00000000 0.39951283 0.00000000 0.00000000 6.3321068 0.00000000 0.70011547 0.00000000 0.00000000 6.1411513 0.00000000 0.00000000 -0.22776350 0.00000000 1.8732469 0.00000000 0.00000000 0.21754360 0.00000000 0.7227569 0.00000000 0.00000000 0.91667696 0.00000000 0.7122640 0.00000000 0.00000000 0.00000000 -0.30884412 0.2628702 0.00000000 0.00000000 0.00000000 0.01960641 0.1160863 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 2 0 83.7838501 0.15591628 0.00000000 0.00000000 19.4695649 0.60768372 0.00000000 0.00000000 6.3321068 0.39195739 0.00000000 0.00000000 6.1411513 0.00000000 0.00495151 0.00000000 1.8732469 0.00000000 0.57776647 0.00000000 0.7227569 0.00000000 0.48464604 0.00000000 0.7122640 0.00000000 0.00000000 -0.12154686 0.2628702 0.00000000 0.00000000 0.57152276 0.1160863 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 2.9648179 0.21976795 0.9043640 0.65554736 0.3489317 0.28657326 a 24 $ CHROMIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1232.3204500 0.15432897 0.00000000 0.00000000 0.00000000 224.4687082 0.53532814 0.00000000 0.00000000 0.00000000 60.7499925 0.44463454 0.00000000 0.00000000 0.00000000 92.7746242 0.00000000 -0.09996723 0.00000000 0.00000000 21.5588275 0.00000000 0.39951283 0.00000000 0.00000000 7.0115998 0.00000000 0.70011547 0.00000000 0.00000000 6.8994881 0.00000000 0.00000000 -0.22776350 0.00000000 2.1045638 0.00000000 0.00000000 0.21754360 0.00000000 0.8120061 0.00000000 0.00000000 0.91667696 0.00000000 0.7547781 0.00000000 0.00000000 0.00000000 -0.30884412 0.2785606 0.00000000 0.00000000 0.00000000 0.01960641 0.1230153 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 2 0 92.7746242 0.15591628 0.00000000 0.00000000 21.5588275 0.60768372 0.00000000 0.00000000 7.0115998 0.39195739 0.00000000 0.00000000 6.8994881 0.00000000 0.00495151 0.00000000 2.1045638 0.00000000 0.57776647 0.00000000 0.8120061 0.00000000 0.48464604 0.00000000 0.7547781 0.00000000 0.00000000 -0.12154686 0.2785606 0.00000000 0.00000000 0.57152276 0.1230153 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 4.2414792 0.21976795 1.2937864 0.65554736 0.4991830 0.28657326 a 25 $ MANGANESE (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1337.1532660 0.15432897 0.00000000 0.00000000 0.00000000 243.5641365 0.53532814 0.00000000 0.00000000 0.00000000 65.9179606 0.44463454 0.00000000 0.00000000 0.00000000 102.0220021 0.00000000 -0.09996723 0.00000000 0.00000000 23.7077192 0.00000000 0.39951283 0.00000000 0.00000000 7.7104861 0.00000000 0.70011547 0.00000000 0.00000000 7.7019609 0.00000000 0.00000000 -0.22776350 0.00000000 2.3493436 0.00000000 0.00000000 0.21754360 0.00000000 0.9064498 0.00000000 0.00000000 0.91667696 0.00000000 0.6709823 0.00000000 0.00000000 0.00000000 -0.30884412 0.2476347 0.00000000 0.00000000 0.00000000 0.01960641 0.1093581 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 2 0 102.0220021 0.15591628 0.00000000 0.00000000 23.7077192 0.60768372 0.00000000 0.00000000 7.7104861 0.39195739 0.00000000 0.00000000 7.7019609 0.00000000 0.00495151 0.00000000 2.3493436 0.00000000 0.57776647 0.00000000 0.9064498 0.00000000 0.48464604 0.00000000 0.6709823 0.00000000 0.00000000 -0.12154686 0.2476347 0.00000000 0.00000000 0.57152276 0.1093581 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 5.4269505 0.21976795 1.6553929 0.65554736 0.6387020 0.28657326 a 26 $ IRON (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1447.4004110 0.15432897 0.00000000 0.00000000 0.00000000 263.6457916 0.53532814 0.00000000 0.00000000 0.00000000 71.3528402 0.44463454 0.00000000 0.00000000 0.00000000 111.9194891 0.00000000 -0.09996723 0.00000000 0.00000000 26.0076824 0.00000000 0.39951283 0.00000000 0.00000000 8.4585055 0.00000000 0.70011547 0.00000000 0.00000000 8.5485698 0.00000000 0.00000000 -0.22776350 0.00000000 2.6075863 0.00000000 0.00000000 0.21754360 0.00000000 1.0060878 0.00000000 0.00000000 0.91667696 0.00000000 0.5921157 0.00000000 0.00000000 0.00000000 -0.30884412 0.2185279 0.00000000 0.00000000 0.00000000 0.01960641 0.0965042 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 2 0 111.9194891 0.15591628 0.00000000 0.00000000 26.0076824 0.60768372 0.00000000 0.00000000 8.4585055 0.39195739 0.00000000 0.00000000 8.5485698 0.00000000 0.00495151 0.00000000 2.6075863 0.00000000 0.57776647 0.00000000 1.0060878 0.00000000 0.48464604 0.00000000 0.5921157 0.00000000 0.00000000 -0.12154686 0.2185279 0.00000000 0.00000000 0.57152276 0.0965042 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 6.4118035 0.21976795 1.9558044 0.65554736 0.7546102 0.28657326 a 27 $ COBALT (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1557.2987040 0.15432897 0.00000000 0.00000000 0.00000000 283.6639029 0.53532814 0.00000000 0.00000000 0.00000000 76.7705223 0.44463454 0.00000000 0.00000000 0.00000000 121.8344741 0.00000000 -0.09996723 0.00000000 0.00000000 28.3117116 0.00000000 0.39951283 0.00000000 0.00000000 9.2078473 0.00000000 0.70011547 0.00000000 0.00000000 9.4808517 0.00000000 0.00000000 -0.22776350 0.00000000 2.8919620 0.00000000 0.00000000 0.21754360 0.00000000 1.1158088 0.00000000 0.00000000 0.91667696 0.00000000 0.5921157 0.00000000 0.00000000 0.00000000 -0.30884412 0.2185279 0.00000000 0.00000000 0.00000000 0.01960641 0.0965042 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 2 0 121.8344741 0.15591628 0.00000000 0.00000000 28.3117116 0.60768372 0.00000000 0.00000000 9.2078473 0.39195739 0.00000000 0.00000000 9.4808517 0.00000000 0.00495151 0.00000000 2.8919620 0.00000000 0.57776647 0.00000000 1.1158088 0.00000000 0.48464604 0.00000000 0.5921157 0.00000000 0.00000000 -0.12154686 0.2185279 0.00000000 0.00000000 0.57152276 0.0965042 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 7.6645274 0.21976795 2.3379252 0.65554736 0.9020442 0.28657326 a 28 $ NICKEL (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1679.7710280 0.15432897 0.00000000 0.00000000 0.00000000 305.9723896 0.53532814 0.00000000 0.00000000 0.00000000 82.8080694 0.44463454 0.00000000 0.00000000 0.00000000 132.8588899 0.00000000 -0.09996723 0.00000000 0.00000000 30.8735488 0.00000000 0.39951283 0.00000000 0.00000000 10.0410363 0.00000000 0.70011547 0.00000000 0.00000000 10.3307434 0.00000000 0.00000000 -0.22776350 0.00000000 3.1512060 0.00000000 0.00000000 0.21754360 0.00000000 1.2158332 0.00000000 0.00000000 0.91667696 0.00000000 0.6309328 0.00000000 0.00000000 0.00000000 -0.30884412 0.2328539 0.00000000 0.00000000 0.00000000 0.01960641 0.1028307 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 2 0 132.8588899 0.15591628 0.00000000 0.00000000 30.8735488 0.60768372 0.00000000 0.00000000 10.0410363 0.39195739 0.00000000 0.00000000 10.3307434 0.00000000 0.00495151 0.00000000 3.1512060 0.00000000 0.57776647 0.00000000 1.2158332 0.00000000 0.48464604 0.00000000 0.6309328 0.00000000 0.00000000 -0.12154686 0.2328539 0.00000000 0.00000000 0.57152276 0.1028307 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 8.6277228 0.21976795 2.6317304 0.65554736 1.0154034 0.28657326 a 29 $ COPPER (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1801.8067300 0.15432897 0.00000000 0.00000000 0.00000000 328.2013450 0.53532814 0.00000000 0.00000000 0.00000000 88.8240923 0.44463454 0.00000000 0.00000000 0.00000000 144.1212184 0.00000000 -0.09996723 0.00000000 0.00000000 33.4906717 0.00000000 0.39951283 0.00000000 0.00000000 10.8922059 0.00000000 0.70011547 0.00000000 0.00000000 11.3077540 0.00000000 0.00000000 -0.22776350 0.00000000 3.4492254 0.00000000 0.00000000 0.21754360 0.00000000 1.3308184 0.00000000 0.00000000 0.91667696 0.00000000 0.6309328 0.00000000 0.00000000 0.00000000 -0.30884412 0.2328539 0.00000000 0.00000000 0.00000000 0.01960641 0.1028307 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 2 0 144.1212184 0.15591628 0.00000000 0.00000000 33.4906717 0.60768372 0.00000000 0.00000000 10.8922059 0.39195739 0.00000000 0.00000000 11.3077540 0.00000000 0.00495151 0.00000000 3.4492254 0.00000000 0.57776647 0.00000000 1.3308184 0.00000000 0.48464604 0.00000000 0.6309328 0.00000000 0.00000000 -0.12154686 0.2328539 0.00000000 0.00000000 0.57152276 0.1028307 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 9.6479119 0.21976795 2.9429207 0.65554736 1.1354703 0.28657326 a 30 $ ZINC (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1929.4323010 0.15432897 0.00000000 0.00000000 0.00000000 351.4485021 0.53532814 0.00000000 0.00000000 0.00000000 95.1156802 0.44463454 0.00000000 0.00000000 0.00000000 155.8416755 0.00000000 -0.09996723 0.00000000 0.00000000 36.2142539 0.00000000 0.39951283 0.00000000 0.00000000 11.7779993 0.00000000 0.70011547 0.00000000 0.00000000 12.2815274 0.00000000 0.00000000 -0.22776350 0.00000000 3.7462573 0.00000000 0.00000000 0.21754360 0.00000000 1.4454225 0.00000000 0.00000000 0.91667696 0.00000000 0.8897139 0.00000000 0.00000000 0.00000000 -0.30884412 0.3283604 0.00000000 0.00000000 0.00000000 0.01960641 0.1450074 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 2 0 155.8416755 0.15591628 0.00000000 0.00000000 36.2142539 0.60768372 0.00000000 0.00000000 11.7779993 0.39195739 0.00000000 0.00000000 12.2815274 0.00000000 0.00495151 0.00000000 3.7462573 0.00000000 0.57776647 0.00000000 1.4454225 0.00000000 0.48464604 0.00000000 0.8897139 0.00000000 0.00000000 -0.12154686 0.3283604 0.00000000 0.00000000 0.57152276 0.1450074 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 10.9473708 0.21976795 3.3392970 0.65554736 1.2884046 0.28657326 a 31 $ GALLIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 2061.4245320 0.15432897 0.00000000 0.00000000 0.00000000 375.4910517 0.53532814 0.00000000 0.00000000 0.00000000 101.6225324 0.44463454 0.00000000 0.00000000 0.00000000 167.7618680 0.00000000 -0.09996723 0.00000000 0.00000000 38.9842503 0.00000000 0.39951283 0.00000000 0.00000000 12.6788881 0.00000000 0.70011547 0.00000000 0.00000000 12.6150552 0.00000000 0.00000000 -0.22776350 0.00000000 3.8479939 0.00000000 0.00000000 0.21754360 0.00000000 1.4846757 0.00000000 0.00000000 0.91667696 0.00000000 0.7985244 0.00000000 0.00000000 0.00000000 -0.30884412 0.2947057 0.00000000 0.00000000 0.00000000 0.01960641 0.1301452 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 167.7618680 0.15591628 0.00000000 0.00000000 38.9842503 0.60768372 0.00000000 0.00000000 12.6788881 0.39195739 0.00000000 0.00000000 12.6150552 0.00000000 0.00495151 0.00000000 3.8479939 0.00000000 0.57776647 0.00000000 1.4846757 0.00000000 0.48464604 0.00000000 0.7985244 0.00000000 0.00000000 -0.12154686 0.2947057 0.00000000 0.00000000 0.57152276 0.1301452 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 12.6150552 0.21976795 3.8479939 0.65554736 1.4846757 0.28657326 a 32 $ GERMANIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 2196.3842290 0.15432897 0.00000000 0.00000000 0.00000000 400.0741292 0.53532814 0.00000000 0.00000000 0.00000000 108.2756726 0.44463454 0.00000000 0.00000000 0.00000000 180.3890380 0.00000000 -0.09996723 0.00000000 0.00000000 41.9185330 0.00000000 0.39951283 0.00000000 0.00000000 13.6332079 0.00000000 0.70011547 0.00000000 0.00000000 14.1966562 0.00000000 0.00000000 -0.22776350 0.00000000 4.3304326 0.00000000 0.00000000 0.21754360 0.00000000 1.6708155 0.00000000 0.00000000 0.91667696 0.00000000 0.9858326 0.00000000 0.00000000 0.00000000 -0.30884412 0.3638342 0.00000000 0.00000000 0.00000000 0.01960641 0.1606730 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 180.3890380 0.15591628 0.00000000 0.00000000 41.9185330 0.60768372 0.00000000 0.00000000 13.6332079 0.39195739 0.00000000 0.00000000 14.1966562 0.00000000 0.00495151 0.00000000 4.3304326 0.00000000 0.57776647 0.00000000 1.6708155 0.00000000 0.48464604 0.00000000 0.9858326 0.00000000 0.00000000 -0.12154686 0.3638342 0.00000000 0.00000000 0.57152276 0.1606730 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 14.1966562 0.21976795 4.3304326 0.65554736 1.6708155 0.28657326 a 33 $ ARSENIC (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 2337.0656730 0.15432897 0.00000000 0.00000000 0.00000000 425.6994298 0.53532814 0.00000000 0.00000000 0.00000000 115.2108790 0.44463454 0.00000000 0.00000000 0.00000000 193.1970535 0.00000000 -0.09996723 0.00000000 0.00000000 44.8948404 0.00000000 0.39951283 0.00000000 0.00000000 14.6011955 0.00000000 0.70011547 0.00000000 0.00000000 15.8716358 0.00000000 0.00000000 -0.22776350 0.00000000 4.8413548 0.00000000 0.00000000 0.21754360 0.00000000 1.8679452 0.00000000 0.00000000 0.91667696 0.00000000 1.1076815 0.00000000 0.00000000 0.00000000 -0.30884412 0.4088041 0.00000000 0.00000000 0.00000000 0.01960641 0.1805322 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 193.1970535 0.15591628 0.00000000 0.00000000 44.8948404 0.60768372 0.00000000 0.00000000 14.6011955 0.39195739 0.00000000 0.00000000 15.8716358 0.00000000 0.00495151 0.00000000 4.8413548 0.00000000 0.57776647 0.00000000 1.8679452 0.00000000 0.48464604 0.00000000 1.1076815 0.00000000 0.00000000 -0.12154686 0.4088041 0.00000000 0.00000000 0.57152276 0.1805322 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 15.8716358 0.21976795 4.8413548 0.65554736 1.8679452 0.28657326 a 34 $ SELENIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 2480.6268140 0.15432897 0.00000000 0.00000000 0.00000000 451.8492708 0.53532814 0.00000000 0.00000000 0.00000000 122.2880464 0.44463454 0.00000000 0.00000000 0.00000000 206.1578780 0.00000000 -0.09996723 0.00000000 0.00000000 47.9066573 0.00000000 0.39951283 0.00000000 0.00000000 15.5807318 0.00000000 0.70011547 0.00000000 0.00000000 17.6399941 0.00000000 0.00000000 -0.22776350 0.00000000 5.3807605 0.00000000 0.00000000 0.21754360 0.00000000 2.0760647 0.00000000 0.00000000 0.91667696 0.00000000 1.2146443 0.00000000 0.00000000 0.00000000 -0.30884412 0.4482801 0.00000000 0.00000000 0.00000000 0.01960641 0.1979652 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 206.1578780 0.15591628 0.00000000 0.00000000 47.9066573 0.60768372 0.00000000 0.00000000 15.5807318 0.39195739 0.00000000 0.00000000 17.6399941 0.00000000 0.00495151 0.00000000 5.3807605 0.00000000 0.57776647 0.00000000 2.0760647 0.00000000 0.48464604 0.00000000 1.2146443 0.00000000 0.00000000 -0.12154686 0.4482801 0.00000000 0.00000000 0.57152276 0.1979652 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 17.6399941 0.21976795 5.3807605 0.65554736 2.0760647 0.28657326 a 35 $ BROMINE (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 2629.9974710 0.15432897 0.00000000 0.00000000 0.00000000 479.0573224 0.53532814 0.00000000 0.00000000 0.00000000 129.6516070 0.44463454 0.00000000 0.00000000 0.00000000 219.8350255 0.00000000 -0.09996723 0.00000000 0.00000000 51.0849322 0.00000000 0.39951283 0.00000000 0.00000000 16.6144055 0.00000000 0.70011547 0.00000000 0.00000000 19.5017311 0.00000000 0.00000000 -0.22776350 0.00000000 5.9486496 0.00000000 0.00000000 0.21754360 0.00000000 2.2951739 0.00000000 0.00000000 0.91667696 0.00000000 1.3960375 0.00000000 0.00000000 0.00000000 -0.30884412 0.5152256 0.00000000 0.00000000 0.00000000 0.01960641 0.2275291 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 219.8350255 0.15591628 0.00000000 0.00000000 51.0849322 0.60768372 0.00000000 0.00000000 16.6144055 0.39195739 0.00000000 0.00000000 19.5017311 0.00000000 0.00495151 0.00000000 5.9486496 0.00000000 0.57776647 0.00000000 2.2951739 0.00000000 0.48464604 0.00000000 1.3960375 0.00000000 0.00000000 -0.12154686 0.5152256 0.00000000 0.00000000 0.57152276 0.2275291 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 19.5017311 0.21976795 5.9486496 0.65554736 2.2951739 0.28657326 a 36 $ KRYPTON (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 2782.1600550 0.15432897 0.00000000 0.00000000 0.00000000 506.7739270 0.53532814 0.00000000 0.00000000 0.00000000 137.1528019 0.44463454 0.00000000 0.00000000 0.00000000 233.9514118 0.00000000 -0.09996723 0.00000000 0.00000000 54.3652768 0.00000000 0.39951283 0.00000000 0.00000000 17.6812753 0.00000000 0.70011547 0.00000000 0.00000000 21.4568467 0.00000000 0.00000000 -0.22776350 0.00000000 6.5450222 0.00000000 0.00000000 0.21754360 0.00000000 2.5252730 0.00000000 0.00000000 0.91667696 0.00000000 1.5900493 0.00000000 0.00000000 0.00000000 -0.30884412 0.5868282 0.00000000 0.00000000 0.00000000 0.01960641 0.2591495 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 233.9514118 0.15591628 0.00000000 0.00000000 54.3652768 0.60768372 0.00000000 0.00000000 17.6812753 0.39195739 0.00000000 0.00000000 21.4568467 0.00000000 0.00495151 0.00000000 6.5450222 0.00000000 0.57776647 0.00000000 2.5252730 0.00000000 0.48464604 0.00000000 1.5900493 0.00000000 0.00000000 -0.12154686 0.5868282 0.00000000 0.00000000 0.57152276 0.2591495 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 21.4568467 0.21976795 6.5450222 0.65554736 2.5252730 0.28657326 a 37 $ RUBIDIUM (15S,12P,3D) -> [5S,4P,1D] $ S-TYPE FUNCTIONS 15 5 0 2938.6015290 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 535.2699370 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 144.8649340 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 248.5070370 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 57.7476910 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 18.7813410 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 23.5053410 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 7.1698782 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 2.7663619 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 2.2477968 0.00000000 0.00000000 0.00000000 -0.30884412 0.00000000 0.8295784 0.00000000 0.00000000 0.00000000 0.01960641 0.00000000 0.3663506 0.00000000 0.00000000 0.00000000 1.13103444 0.00000000 0.4869940 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2622162 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1158255 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 248.5070370 0.15591628 0.00000000 0.00000000 0.00000000 57.7476910 0.60768372 0.00000000 0.00000000 0.00000000 18.7813410 0.39195739 0.00000000 0.00000000 0.00000000 23.5053410 0.00000000 0.00495151 0.00000000 0.00000000 7.1698782 0.00000000 0.57776647 0.00000000 0.00000000 2.7663619 0.00000000 0.48464604 0.00000000 0.00000000 2.2477968 0.00000000 0.00000000 -0.12154686 0.00000000 0.8295784 0.00000000 0.00000000 0.57152276 0.00000000 0.3663506 0.00000000 0.00000000 0.54989495 0.00000000 0.4869940 0.00000000 0.00000000 0.00000000 -0.34816915 0.2622162 0.00000000 0.00000000 0.00000000 0.62903237 0.1158255 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 3 1 0 23.5053410 0.21976795 7.1698782 0.65554736 2.7663619 0.28657326 a 38 $ STRONTIUM (15S,12P,3D) -> [5S,4P,1D] $ S-TYPE FUNCTIONS 15 5 0 3100.9839510 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 564.8480978 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 152.8699389 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 263.5019007 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 61.2321749 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 19.9146037 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 25.5788669 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 7.8023697 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 3.0103968 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 2.4610324 0.00000000 0.00000000 0.00000000 -0.30884412 0.00000000 0.9082757 0.00000000 0.00000000 0.00000000 0.01960641 0.00000000 0.4011041 0.00000000 0.00000000 0.00000000 1.13103444 0.00000000 0.4370805 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2353408 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1039542 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 263.5019007 0.15591628 0.00000000 0.00000000 0.00000000 61.2321749 0.60768372 0.00000000 0.00000000 0.00000000 19.9146037 0.39195739 0.00000000 0.00000000 0.00000000 25.5788669 0.00000000 0.00495151 0.00000000 0.00000000 7.8023697 0.00000000 0.57776647 0.00000000 0.00000000 3.0103968 0.00000000 0.48464604 0.00000000 0.00000000 2.4610324 0.00000000 0.00000000 -0.12154686 0.00000000 0.9082757 0.00000000 0.00000000 0.57152276 0.00000000 0.4011041 0.00000000 0.00000000 0.54989495 0.00000000 0.4370805 0.00000000 0.00000000 0.00000000 -0.34816915 0.2353408 0.00000000 0.00000000 0.00000000 0.62903237 0.1039542 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 3 1 0 25.5788669 0.21976795 7.8023697 0.65554736 3.0103968 0.28657326 a 39 $ YTTRIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 3266.0268690 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 594.9108710 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 161.0060990 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 277.9377240 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 64.5867500 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 21.0056160 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 30.6713260 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 8.5572220 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 3.3492390 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 2.6676880 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 0.9845440 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.4347850 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.2074240 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.1116850 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.0493330 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 277.9377240 0.15591628 0.00000000 0.00000000 0.00000000 64.5867500 0.60768372 0.00000000 0.00000000 0.00000000 21.0056160 0.39195739 0.00000000 0.00000000 0.00000000 30.6713260 0.00000000 0.00495151 0.00000000 0.00000000 8.5572220 0.00000000 0.57776647 0.00000000 0.00000000 3.3492390 0.00000000 0.48464604 0.00000000 0.00000000 2.6676880 0.00000000 0.00000000 -0.12839276 0.00000000 0.9845440 0.00000000 0.00000000 0.58520476 0.00000000 0.4347850 0.00000000 0.00000000 0.54394420 0.00000000 0.2074240 0.00000000 0.00000000 0.00000000 -0.34816915 0.1116850 0.00000000 0.00000000 0.00000000 0.62903237 0.0493330 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 5.6600430 0.21976795 0.00000000 1.7747150 0.65554736 0.00000000 0.6912950 0.28657326 0.00000000 2.1282120 0.00000000 0.12506621 0.9625940 0.00000000 0.66867856 0.4728610 0.00000000 0.30524682 a 40 $ ZIRCONIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 3435.3486770 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 625.7530498 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 169.3531958 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 293.7830292 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 68.2688580 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 22.2031514 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 30.7329310 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 9.3745235 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 3.6169826 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 2.8276078 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.1010558 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.4846875 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.8878302 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.3457165 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1521852 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 293.7830292 0.15591628 0.00000000 0.00000000 0.00000000 68.2688580 0.60768372 0.00000000 0.00000000 0.00000000 22.2031514 0.39195739 0.00000000 0.00000000 0.00000000 30.7329310 0.00000000 0.00495151 0.00000000 0.00000000 9.3745235 0.00000000 0.57776647 0.00000000 0.00000000 3.6169826 0.00000000 0.48464604 0.00000000 0.00000000 2.8276078 0.00000000 0.00000000 -0.12839276 0.00000000 1.1010558 0.00000000 0.00000000 0.58520476 0.00000000 0.4846875 0.00000000 0.00000000 0.54394420 0.00000000 0.8878302 0.00000000 0.00000000 0.00000000 -0.34816915 0.3457165 0.00000000 0.00000000 0.00000000 0.62903237 0.1521852 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 30.7329310 0.21976795 0.00000000 9.3745235 0.65554736 0.00000000 3.6169826 0.28657326 0.00000000 0.4869940 0.00000000 0.12506621 0.2622162 0.00000000 0.66867856 0.1158255 0.00000000 0.30524682 a 41 $ NIOBIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 3610.7428640 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 657.7013201 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 177.9996445 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 310.0675728 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 72.0530357 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 23.4338835 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 33.0199786 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 10.0721459 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 3.8861470 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 3.1447984 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.2245682 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.5390579 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.4869940 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2622162 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1158255 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 310.0675728 0.15591628 0.00000000 0.00000000 0.00000000 72.0530357 0.60768372 0.00000000 0.00000000 0.00000000 23.4338835 0.39195739 0.00000000 0.00000000 0.00000000 33.0199786 0.00000000 0.00495151 0.00000000 0.00000000 10.0721459 0.00000000 0.57776647 0.00000000 0.00000000 3.8861470 0.00000000 0.48464604 0.00000000 0.00000000 3.1447984 0.00000000 0.00000000 -0.12839276 0.00000000 1.2245682 0.00000000 0.00000000 0.58520476 0.00000000 0.5390579 0.00000000 0.00000000 0.54394420 0.00000000 0.4869940 0.00000000 0.00000000 0.00000000 -0.34816915 0.2622162 0.00000000 0.00000000 0.00000000 0.62903237 0.1158255 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 33.0199786 0.21976795 0.00000000 10.0721459 0.65554736 0.00000000 3.8861470 0.28657326 0.00000000 1.3448789 0.00000000 0.12506621 0.5236889 0.00000000 0.66867856 0.2305291 0.00000000 0.30524682 a 42 $ MOLYBDENUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 3788.6661150 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 690.1102623 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 186.7707691 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 326.4309567 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 75.8555342 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 24.6705740 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 35.4694813 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 10.8193223 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 4.1744309 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 3.4968952 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.3616729 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.5994117 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.5129625 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2761986 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1220018 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 326.4309567 0.15591628 0.00000000 0.00000000 0.00000000 75.8555342 0.60768372 0.00000000 0.00000000 0.00000000 24.6705740 0.39195739 0.00000000 0.00000000 0.00000000 35.4694813 0.00000000 0.00495151 0.00000000 0.00000000 10.8193223 0.00000000 0.57776647 0.00000000 0.00000000 4.1744309 0.00000000 0.48464604 0.00000000 0.00000000 3.4968952 0.00000000 0.00000000 -0.12839276 0.00000000 1.3616729 0.00000000 0.00000000 0.58520476 0.00000000 0.5994117 0.00000000 0.00000000 0.54394420 0.00000000 0.5129625 0.00000000 0.00000000 0.00000000 -0.34816915 0.2761986 0.00000000 0.00000000 0.00000000 0.62903237 0.1220018 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 35.4694813 0.21976795 0.00000000 10.8193223 0.65554736 0.00000000 4.1744309 0.28657326 0.00000000 1.7021123 0.00000000 0.12506621 0.6627937 0.00000000 0.66867856 0.2917634 0.00000000 0.30524682 a 43 $ TECHNETIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 3970.8682570 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 723.2986098 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 195.7528311 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 343.5846323 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 79.8416795 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 25.9669922 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 38.0899198 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 11.6186396 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 4.4828324 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 3.8297527 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.4912859 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.6564677 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.4617000 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2485969 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1098096 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 343.5846323 0.15591628 0.00000000 0.00000000 0.00000000 79.8416795 0.60768372 0.00000000 0.00000000 0.00000000 25.9669922 0.39195739 0.00000000 0.00000000 0.00000000 38.0899198 0.00000000 0.00495151 0.00000000 0.00000000 11.6186396 0.00000000 0.57776647 0.00000000 0.00000000 4.4828324 0.00000000 0.48464604 0.00000000 0.00000000 3.8297527 0.00000000 0.00000000 -0.12839276 0.00000000 1.4912859 0.00000000 0.00000000 0.58520476 0.00000000 0.6564677 0.00000000 0.00000000 0.54394420 0.00000000 0.4617000 0.00000000 0.00000000 0.00000000 -0.34816915 0.2485969 0.00000000 0.00000000 0.00000000 0.62903237 0.1098096 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 38.0899198 0.21976795 0.00000000 11.6186396 0.65554736 0.00000000 4.4828324 0.28657326 0.00000000 2.1013732 0.00000000 0.12506621 0.8182638 0.00000000 0.66867856 0.3602018 0.00000000 0.30524682 a 44 $ RUTHENIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 4159.2742100 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 757.6169894 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 205.0407239 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 360.7986561 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 83.8418484 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 27.2679713 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 40.7175168 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 12.4201404 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 4.7920763 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 4.1975164 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.6344911 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.7195070 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.4131355 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2224479 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.0982592 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 360.7986561 0.15591628 0.00000000 0.00000000 0.00000000 83.8418484 0.60768372 0.00000000 0.00000000 0.00000000 27.2679713 0.39195739 0.00000000 0.00000000 0.00000000 40.7175168 0.00000000 0.00495151 0.00000000 0.00000000 12.4201404 0.00000000 0.57776647 0.00000000 0.00000000 4.7920763 0.00000000 0.48464604 0.00000000 0.00000000 4.1975164 0.00000000 0.00000000 -0.12839276 0.00000000 1.6344911 0.00000000 0.00000000 0.58520476 0.00000000 0.7195070 0.00000000 0.00000000 0.54394420 0.00000000 0.4131355 0.00000000 0.00000000 0.00000000 -0.34816915 0.2224479 0.00000000 0.00000000 0.00000000 0.62903237 0.0982592 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 40.7175168 0.21976795 0.00000000 12.4201404 0.65554736 0.00000000 4.7920763 0.28657326 0.00000000 2.3908958 0.00000000 0.12506621 0.9310024 0.00000000 0.66867856 0.4098296 0.00000000 0.30524682 a 45 $ RHODIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 4350.0777940 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 792.3721005 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 214.4468133 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 378.4334264 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 87.9397898 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 28.6007490 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 43.5217945 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 13.2755345 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 5.1221139 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 4.5408574 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.7681863 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.7783600 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.4131355 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2224479 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.0982592 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 378.4334264 0.15591628 0.00000000 0.00000000 0.00000000 87.9397898 0.60768372 0.00000000 0.00000000 0.00000000 28.6007490 0.39195739 0.00000000 0.00000000 0.00000000 43.5217945 0.00000000 0.00495151 0.00000000 0.00000000 13.2755345 0.00000000 0.57776647 0.00000000 0.00000000 5.1221139 0.00000000 0.48464604 0.00000000 0.00000000 4.5408574 0.00000000 0.00000000 -0.12839276 0.00000000 1.7681863 0.00000000 0.00000000 0.58520476 0.00000000 0.7783600 0.00000000 0.00000000 0.54394420 0.00000000 0.4131355 0.00000000 0.00000000 0.00000000 -0.34816915 0.2224479 0.00000000 0.00000000 0.00000000 0.62903237 0.0982592 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 43.5217945 0.21976795 0.00000000 13.2755345 0.65554736 0.00000000 5.1221139 0.28657326 0.00000000 2.7790661 0.00000000 0.12506621 1.0821539 0.00000000 0.66867856 0.4763668 0.00000000 0.30524682 a 46 $ PALLADIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 4545.1602690 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 827.9066168 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 224.0638402 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 396.4889433 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 92.1355037 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 29.9653253 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 46.4194510 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 14.1594121 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 5.4631414 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 4.9191046 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.9154738 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.8431963 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.4370805 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2353408 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1039542 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 396.4889433 0.15591628 0.00000000 0.00000000 0.00000000 92.1355037 0.60768372 0.00000000 0.00000000 0.00000000 29.9653253 0.39195739 0.00000000 0.00000000 0.00000000 46.4194510 0.00000000 0.00495151 0.00000000 0.00000000 14.1594121 0.00000000 0.57776647 0.00000000 0.00000000 5.4631414 0.00000000 0.48464604 0.00000000 0.00000000 4.9191046 0.00000000 0.00000000 -0.12839276 0.00000000 1.9154738 0.00000000 0.00000000 0.58520476 0.00000000 0.8431963 0.00000000 0.00000000 0.54394420 0.00000000 0.4370805 0.00000000 0.00000000 0.00000000 -0.34816915 0.2353408 0.00000000 0.00000000 0.00000000 0.62903237 0.1039542 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 46.4194510 0.21976795 0.00000000 14.1594121 0.65554736 0.00000000 5.4631414 0.28657326 0.00000000 3.0259774 0.00000000 0.12506621 1.1782999 0.00000000 0.66867856 0.5186905 0.00000000 0.30524682 a 47 $ SILVER (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 4744.5216340 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 864.2205383 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 233.8918045 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 414.9652069 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 96.4289900 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 31.3617003 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 49.4104860 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 15.0717731 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 5.8151586 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 5.2902305 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 2.0599883 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.9068119 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.4370805 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2353408 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1039542 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 414.9652069 0.15591628 0.00000000 0.00000000 0.00000000 96.4289900 0.60768372 0.00000000 0.00000000 0.00000000 31.3617003 0.39195739 0.00000000 0.00000000 0.00000000 49.4104860 0.00000000 0.00495151 0.00000000 0.00000000 15.0717731 0.00000000 0.57776647 0.00000000 0.00000000 5.8151586 0.00000000 0.48464604 0.00000000 0.00000000 5.2902305 0.00000000 0.00000000 -0.12839276 0.00000000 2.0599883 0.00000000 0.00000000 0.58520476 0.00000000 0.9068119 0.00000000 0.00000000 0.54394420 0.00000000 0.4370805 0.00000000 0.00000000 0.00000000 -0.34816915 0.2353408 0.00000000 0.00000000 0.00000000 0.62903237 0.1039542 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 49.4104860 0.21976795 0.00000000 15.0717731 0.65554736 0.00000000 5.8151586 0.28657326 0.00000000 3.2833957 0.00000000 0.12506621 1.2785373 0.00000000 0.66867856 0.5628152 0.00000000 0.30524682 a 48 $ CADMIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 4950.2619050 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 901.6963856 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 244.0342313 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 433.4469385 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 100.7237469 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 32.7584886 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 52.5927924 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 16.0424780 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 6.1896867 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 5.6748518 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 2.2097579 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.9727409 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.5949151 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.3203250 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1414932 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 433.4469385 0.15591628 0.00000000 0.00000000 0.00000000 100.7237469 0.60768372 0.00000000 0.00000000 0.00000000 32.7584886 0.39195739 0.00000000 0.00000000 0.00000000 52.5927924 0.00000000 0.00495151 0.00000000 0.00000000 16.0424780 0.00000000 0.57776647 0.00000000 0.00000000 6.1896867 0.00000000 0.48464604 0.00000000 0.00000000 5.6748518 0.00000000 0.00000000 -0.12839276 0.00000000 2.2097579 0.00000000 0.00000000 0.58520476 0.00000000 0.9727409 0.00000000 0.00000000 0.54394420 0.00000000 0.5949151 0.00000000 0.00000000 0.00000000 -0.34816915 0.3203250 0.00000000 0.00000000 0.00000000 0.62903237 0.1414932 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 52.5927924 0.21976795 0.00000000 16.0424780 0.65554736 0.00000000 6.1896867 0.28657326 0.00000000 3.6429640 0.00000000 0.12506621 1.4185513 0.00000000 0.66867856 0.6244498 0.00000000 0.30524682 ergo-3.5/basis/STO-3G0000775000175000017500000020107412743400275011213 00000000000000$Basis = STO-3G $Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu $ Zn Ga Ge As Se Br Kr Rb Sr Y Zr Nb Mo Tc Rh Rh Pd Ag Cd $ $ REFERENCE $ Elements Contraction References $ H - He: (3s) -> [1s] W.J. Hehre, R.F. Stewart and J.A. Pople, $ Li - Ne: (6s,3p) -> [2s,1p] J. Chem. Phys. 2657 (1969). $ Na - Ar: (9s,6p) -> [3s,2p] W.J. Hehre, R. Ditchfield, R.F. Stewart, $ J.A. Pople, J. Chem. Phys. 2769 (1970). $ K,Ca - : (12s,9p) -> [4s,3p] W.J. Pietro, B.A. Levy, W.J. Hehre and R.F. $ Ga - Kr Stewart, Inorg. Chem. 19, 2225 (1980). $ Sc - Zn: (12s,9p,3d) -> [4s,3p,1d] W.J. Pietro and W.J. Hehre, J. Comp. Chem. $ Y - Cd: (15s,12p,6d) -> [5s,4p,2d] 4, 241 (1983). $ A 1 $ HYDROGEN (3S) -> [1S] $ S-TYPE FUNCTIONS 3 1 0 3.4252509 0.15432897 0.6239137 0.53532814 0.1688554 0.44463454 A 2 $ HELIUM (3S) -> [1S] $ S-TYPE FUNCTIONS 3 1 0 6.3624214 0.15432897 1.1589230 0.53532814 0.3136498 0.44463454 A 3 $ LITHIUM (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 16.1195750 0.15432897 0.00000000 2.9362007 0.53532814 0.00000000 0.7946505 0.44463454 0.00000000 0.6362897 0.00000000 -0.09996723 0.1478601 0.00000000 0.39951283 0.0480887 0.00000000 0.70011547 $ P-TYPE FUNCTIONS 3 1 0 0.6362897 0.15591627 0.1478601 0.60768372 0.0480887 0.39195739 A 4 $ BERYLLIUM (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 30.1678710 0.15432897 0.00000000 5.4951153 0.53532814 0.00000000 1.4871927 0.44463454 0.00000000 1.3148331 0.00000000 -0.09996723 0.3055389 0.00000000 0.39951283 0.0993707 0.00000000 0.70011547 $ P-TYPE FUNCTIONS 3 1 0 1.3148331 0.15591627 0.3055389 0.60768372 0.0993707 0.39195739 A 5 $ BORON (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 48.7911130 0.15432897 0.00000000 8.8873622 0.53532814 0.00000000 2.4052670 0.44463454 0.00000000 2.2369561 0.00000000 -0.09996723 0.5198205 0.00000000 0.39951283 0.1690618 0.00000000 0.70011547 $ P-TYPE FUNCTIONS 3 1 0 2.2369561 0.15591627 0.5198205 0.60768372 0.1690618 0.39195739 A 6 $ CARBON (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 71.6168370 0.15432897 0.00000000 13.0450960 0.53532814 0.00000000 3.5305122 0.44463454 0.00000000 2.9412494 0.00000000 -0.09996723 0.6834831 0.00000000 0.39951283 0.2222899 0.00000000 0.70011547 $ P-TYPE FUNCTIONS 3 1 0 2.9412494 0.15591627 0.6834831 0.60768372 0.2222899 0.39195739 A 7 $ NITROGEN (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 99.1061690 0.15432897 0.00000000 18.0523120 0.53532814 0.00000000 4.8856602 0.44463454 0.00000000 3.7804559 0.00000000 -0.09996723 0.8784966 0.00000000 0.39951283 0.2857144 0.00000000 0.70011547 $ P-TYPE FUNCTIONS 3 1 0 3.7804559 0.15591627 0.8784966 0.60768372 0.2857144 0.39195739 A 8 $ OXYGEN (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 130.7093200 0.15432897 0.00000000 23.8088610 0.53532814 0.00000000 6.4436083 0.44463454 0.00000000 5.0331513 0.00000000 -0.09996723 1.1695961 0.00000000 0.39951283 0.3803890 0.00000000 0.70011547 $ P-TYPE FUNCTIONS 3 1 0 5.0331513 0.15591627 1.1695961 0.60768372 0.3803890 0.39195739 A 9 $ FLUORINE (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 166.6791300 0.15432897 0.00000000 30.3608120 0.53532814 0.00000000 8.2168207 0.44463454 0.00000000 6.4648032 0.00000000 -0.09996723 1.5022812 0.00000000 0.39951283 0.4885885 0.00000000 0.70011547 $ P-TYPE FUNCTIONS 3 1 0 6.4648032 0.15591627 1.5022812 0.60768372 0.4885885 0.39195739 A 10 $ NEON (6S,3P) -> [2S,1P] $ S-TYPE FUNCTIONS 6 2 0 207.0156100 0.15432897 0.00000000 37.7081510 0.53532814 0.00000000 10.2052970 0.44463454 0.00000000 8.2463151 0.00000000 -0.09996723 1.9162662 0.00000000 0.39951283 0.6232293 0.00000000 0.70011547 $ P-TYPE FUNCTIONS 3 1 0 8.2463151 0.15591627 1.9162662 0.60768372 0.6232293 0.39195739 A 11 $ SODIUM (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 250.7724000 0.15432900 0.00000000 0.00000000 45.6785100 0.53532800 0.00000000 0.00000000 12.3623900 0.44463500 0.00000000 0.00000000 12.0401900 0.00000000 -0.09996700 0.00000000 2.7978820 0.00000000 0.39951300 0.00000000 0.9099580 0.00000000 0.70011500 0.00000000 1.4787400 0.00000000 0.00000000 -0.21962000 0.4125650 0.00000000 0.00000000 0.22559500 0.1614750 0.00000000 0.00000000 0.90039800 $ P-TYPE FUNCTIONS 6 2 0 12.0401900 0.15591600 0.00000000 2.7978820 0.60768400 0.00000000 0.9099580 0.39195700 0.00000000 1.4787400 0.00000000 0.01058800 0.4125650 0.00000000 0.59516700 0.1614750 0.00000000 0.46200100 A 12 $ MAGNESIUM (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 299.2374000 0.15432900 0.00000000 0.00000000 54.5064700 0.53532800 0.00000000 0.00000000 14.7515800 0.44463500 0.00000000 0.00000000 15.1218200 0.00000000 -0.09996700 0.00000000 3.5139870 0.00000000 0.39951300 0.00000000 1.1428570 0.00000000 0.70011500 0.00000000 1.3954480 0.00000000 0.00000000 -0.21962000 0.3893260 0.00000000 0.00000000 0.22559500 0.1523800 0.00000000 0.00000000 0.90039800 $ P-TYPE FUNCTIONS 6 2 0 15.1218200 0.15591600 0.00000000 3.5139870 0.60768400 0.00000000 1.1428570 0.39195700 0.00000000 1.3954480 0.00000000 0.01058800 0.3893260 0.00000000 0.59516700 0.1523800 0.00000000 0.46200100 A 13 $ ALUMINUM (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 351.4215000 0.15432900 0.00000000 0.00000000 64.0118600 0.53532800 0.00000000 0.00000000 17.3241100 0.44463500 0.00000000 0.00000000 18.8994000 0.00000000 -0.09996700 0.00000000 4.3918130 0.00000000 0.39951300 0.00000000 1.4283540 0.00000000 0.70011500 0.00000000 1.3954480 0.00000000 0.00000000 -0.21962000 0.3893260 0.00000000 0.00000000 0.22559500 0.1523800 0.00000000 0.00000000 0.90039800 $ P-TYPE FUNCTIONS 6 2 0 18.8994000 0.15591600 0.00000000 4.3918130 0.60768400 0.00000000 1.4283540 0.39195700 0.00000000 1.3954480 0.00000000 0.01058800 0.3893260 0.00000000 0.59516700 0.1523800 0.00000000 0.46200100 A 14 $ SILICON (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 407.7974000 0.15432900 0.00000000 0.00000000 74.2808000 0.53532800 0.00000000 0.00000000 20.1033800 0.44463500 0.00000000 0.00000000 23.1936600 0.00000000 -0.09996700 0.00000000 5.3896990 0.00000000 0.39951300 0.00000000 1.7529010 0.00000000 0.70011500 0.00000000 1.4787400 0.00000000 0.00000000 -0.21962000 0.4125650 0.00000000 0.00000000 0.22559500 0.1614750 0.00000000 0.00000000 0.90039800 $ P-TYPE FUNCTIONS 6 2 0 23.1936600 0.15591600 0.00000000 5.3896990 0.60768400 0.00000000 1.7529010 0.39195700 0.00000000 1.4787400 0.00000000 0.01058800 0.4125650 0.00000000 0.59516700 0.1614750 0.00000000 0.46200100 A 15 $ PHOSPHORUS (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 468.3655000 0.15432900 0.00000000 0.00000000 85.3133400 0.53532800 0.00000000 0.00000000 23.0892300 0.44463500 0.00000000 0.00000000 28.0326500 0.00000000 -0.09996700 0.00000000 6.5141730 0.00000000 0.39951300 0.00000000 2.1186150 0.00000000 0.70011500 0.00000000 1.7431030 0.00000000 0.00000000 -0.21962000 0.4863210 0.00000000 0.00000000 0.22559500 0.1903430 0.00000000 0.00000000 0.90039800 $ P-TYPE FUNCTIONS 6 2 0 28.0326500 0.15591600 0.00000000 6.5141730 0.60768400 0.00000000 2.1186150 0.39195700 0.00000000 1.7431030 0.00000000 0.01058800 0.4863210 0.00000000 0.59516700 0.1903430 0.00000000 0.46200100 A 16 $ SULFUR (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 533.1256000 0.15432900 0.00000000 0.00000000 97.1094800 0.53532800 0.00000000 0.00000000 26.2816200 0.44463500 0.00000000 0.00000000 33.3297500 0.00000000 -0.09996700 0.00000000 7.7451060 0.00000000 0.39951300 0.00000000 2.5189530 0.00000000 0.70011500 0.00000000 2.0291940 0.00000000 0.00000000 -0.21962000 0.5661400 0.00000000 0.00000000 0.22559500 0.2215830 0.00000000 0.00000000 0.90039800 $ P-TYPE FUNCTIONS 6 2 0 33.3297500 0.15591600 0.00000000 7.7451060 0.60768400 0.00000000 2.5189530 0.39195700 0.00000000 2.0291940 0.00000000 0.01058800 0.5661400 0.00000000 0.59516700 0.2215830 0.00000000 0.46200100 A 17 $ CHLORINE (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 601.3455000 0.15432900 0.00000000 0.00000000 109.5358000 0.53532800 0.00000000 0.00000000 29.6448100 0.44463500 0.00000000 0.00000000 38.9604300 0.00000000 -0.09996700 0.00000000 9.0535500 0.00000000 0.39951300 0.00000000 2.9445010 0.00000000 0.70011500 0.00000000 2.1293860 0.00000000 0.00000000 -0.21962000 0.5940930 0.00000000 0.00000000 0.22559500 0.2325240 0.00000000 0.00000000 0.90039800 $ P-TYPE FUNCTIONS 6 2 0 38.9604300 0.15591600 0.00000000 9.0535500 0.60768400 0.00000000 2.9445010 0.39195700 0.00000000 2.1293860 0.00000000 0.01058800 0.5940930 0.00000000 0.59516700 0.2325240 0.00000000 0.46200100 A 18 $ ARGON (9S,6P) -> [3S,2P] $ S-TYPE FUNCTIONS 9 3 0 674.4463000 0.15432900 0.00000000 0.00000000 122.8512000 0.53532800 0.00000000 0.00000000 33.2485000 0.44463500 0.00000000 0.00000000 45.1642500 0.00000000 -0.09996700 0.00000000 10.4951800 0.00000000 0.39951300 0.00000000 3.4133660 0.00000000 0.70011500 0.00000000 2.6213660 0.00000000 0.00000000 -0.21962000 0.7313540 0.00000000 0.00000000 0.22559500 0.2862470 0.00000000 0.00000000 0.90039800 $ P-TYPE FUNCTIONS 6 2 0 45.1642500 0.15591600 0.00000000 10.4951800 0.60768400 0.00000000 3.4133660 0.39195700 0.00000000 2.6213660 0.00000000 0.01058800 0.7313540 0.00000000 0.59516700 0.2862470 0.00000000 0.46200100 A 19 $ POTASSIUM (12S,9P) -> [4S,3P] $ S-TYPE FUNCTIONS 12 4 0 771.5104000 0.15432897 0.00000000 0.00000000 0.00000000 140.5315000 0.53532814 0.00000000 0.00000000 0.00000000 38.0333300 0.44463454 0.00000000 0.00000000 0.00000000 52.4020400 0.00000000 -0.09996723 0.00000000 0.00000000 12.1771100 0.00000000 0.39951283 0.00000000 0.00000000 3.9603730 0.00000000 0.70011547 0.00000000 0.00000000 3.6515840 0.00000000 0.00000000 -0.21962037 0.00000000 0.1018780 0.00000000 0.00000000 0.22559543 0.00000000 0.3987450 0.00000000 0.00000000 0.90039843 0.00000000 0.5039820 0.00000000 0.00000000 0.00000000 -0.30884412 0.1860010 0.00000000 0.00000000 0.00000000 0.01960641 0.0821401 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 52.4020400 0.15591628 0.00000000 0.00000000 12.1771100 0.60768372 0.00000000 0.00000000 3.9603730 0.39195739 0.00000000 0.00000000 3.6515840 0.00000000 0.01058760 0.00000000 0.1018780 0.00000000 0.59516701 0.00000000 0.3987450 0.00000000 0.46200101 0.00000000 0.5039820 0.00000000 0.00000000 -0.12154686 0.1860010 0.00000000 0.00000000 0.57152276 0.0821401 0.00000000 0.00000000 0.54989495 A 20 $ CALCIUM (12S,9P) -> [4S,3P] $ S-TYPE FUNCTIONS 12 4 0 854.0324951 0.15432897 0.00000000 0.00000000 0.00000000 155.5630851 0.53532814 0.00000000 0.00000000 0.00000000 42.1014418 0.44463454 0.00000000 0.00000000 0.00000000 59.5602994 0.00000000 -0.09996723 0.00000000 0.00000000 13.8405327 0.00000000 0.39951283 0.00000000 0.00000000 4.5013708 0.00000000 0.70011547 0.00000000 0.00000000 4.3747063 0.00000000 0.00000000 -0.21962037 0.00000000 1.2205319 0.00000000 0.00000000 0.22559543 0.00000000 0.4777079 0.00000000 0.00000000 0.90039843 0.00000000 0.4558490 0.00000000 0.00000000 0.00000000 -0.30884412 0.1682369 0.00000000 0.00000000 0.00000000 0.01960641 0.0742952 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 59.5602994 0.15591628 0.00000000 0.00000000 13.8405327 0.60768372 0.00000000 0.00000000 4.5013708 0.39195739 0.00000000 0.00000000 4.3747063 0.00000000 0.01058760 0.00000000 1.2205319 0.00000000 0.59516701 0.00000000 0.4777079 0.00000000 0.46200101 0.00000000 0.4558490 0.00000000 0.00000000 -0.12154686 0.1682369 0.00000000 0.00000000 0.57152276 0.0742952 0.00000000 0.00000000 0.54989495 a 21 $ SCANDIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 941.6624250 0.15432897 0.00000000 0.00000000 0.00000000 171.5249862 0.53532814 0.00000000 0.00000000 0.00000000 46.4213552 0.44463454 0.00000000 0.00000000 0.00000000 67.1766877 0.00000000 -0.09996723 0.00000000 0.00000000 15.6104175 0.00000000 0.39951283 0.00000000 0.00000000 5.0769923 0.00000000 0.70011547 0.00000000 0.00000000 4.6981592 0.00000000 0.00000000 -0.22776350 0.00000000 1.4330883 0.00000000 0.00000000 0.21754360 0.00000000 0.5529300 0.00000000 0.00000000 0.91667696 0.00000000 0.6309328 0.00000000 0.00000000 0.00000000 -0.30884412 0.2328539 0.00000000 0.00000000 0.00000000 0.01960641 0.1028307 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 67.1766877 0.15591628 0.00000000 0.00000000 15.6104175 0.60768372 0.00000000 0.00000000 5.0769923 0.39195739 0.00000000 0.00000000 4.6981592 0.00000000 0.00495151 0.00000000 1.4330883 0.00000000 0.57776647 0.00000000 0.5529300 0.00000000 0.48464604 0.00000000 0.6309328 0.00000000 0.00000000 -0.12154686 0.2328539 0.00000000 0.00000000 0.57152276 0.1028307 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 0.5517001 0.21976795 0.1682861 0.65554736 0.0649300 0.28657326 a 22 $ TITANIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1033.5712450 0.15432897 0.00000000 0.00000000 0.00000000 188.2662926 0.53532814 0.00000000 0.00000000 0.00000000 50.9522060 0.44463454 0.00000000 0.00000000 0.00000000 75.2512046 0.00000000 -0.09996723 0.00000000 0.00000000 17.4867616 0.00000000 0.39951283 0.00000000 0.00000000 5.6872376 0.00000000 0.70011547 0.00000000 0.00000000 5.3955355 0.00000000 0.00000000 -0.22776350 0.00000000 1.6458103 0.00000000 0.00000000 0.21754360 0.00000000 0.6350048 0.00000000 0.00000000 0.91667696 0.00000000 0.7122640 0.00000000 0.00000000 0.00000000 -0.30884412 0.2628702 0.00000000 0.00000000 0.00000000 0.01960641 0.1160863 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 75.2512046 0.15591628 0.00000000 0.00000000 17.4867616 0.60768372 0.00000000 0.00000000 5.6872376 0.39195739 0.00000000 0.00000000 5.3955355 0.00000000 0.00495151 0.00000000 1.6458103 0.00000000 0.57776647 0.00000000 0.6350048 0.00000000 0.48464604 0.00000000 0.7122640 0.00000000 0.00000000 -0.12154686 0.2628702 0.00000000 0.00000000 0.57152276 0.1160863 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 1.6459812 0.21976795 0.5020767 0.65554736 0.1937168 0.28657326 a 23 $ VANADIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1130.7625170 0.15432897 0.00000000 0.00000000 0.00000000 205.9698041 0.53532814 0.00000000 0.00000000 0.00000000 55.7434671 0.44463454 0.00000000 0.00000000 0.00000000 83.7838501 0.00000000 -0.09996723 0.00000000 0.00000000 19.4695649 0.00000000 0.39951283 0.00000000 0.00000000 6.3321068 0.00000000 0.70011547 0.00000000 0.00000000 6.1411513 0.00000000 0.00000000 -0.22776350 0.00000000 1.8732469 0.00000000 0.00000000 0.21754360 0.00000000 0.7227569 0.00000000 0.00000000 0.91667696 0.00000000 0.7122640 0.00000000 0.00000000 0.00000000 -0.30884412 0.2628702 0.00000000 0.00000000 0.00000000 0.01960641 0.1160863 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 83.7838501 0.15591628 0.00000000 0.00000000 19.4695649 0.60768372 0.00000000 0.00000000 6.3321068 0.39195739 0.00000000 0.00000000 6.1411513 0.00000000 0.00495151 0.00000000 1.8732469 0.00000000 0.57776647 0.00000000 0.7227569 0.00000000 0.48464604 0.00000000 0.7122640 0.00000000 0.00000000 -0.12154686 0.2628702 0.00000000 0.00000000 0.57152276 0.1160863 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 2.9648179 0.21976795 0.9043640 0.65554736 0.3489317 0.28657326 a 24 $ CHROMIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1232.3204500 0.15432897 0.00000000 0.00000000 0.00000000 224.4687082 0.53532814 0.00000000 0.00000000 0.00000000 60.7499925 0.44463454 0.00000000 0.00000000 0.00000000 92.7746242 0.00000000 -0.09996723 0.00000000 0.00000000 21.5588275 0.00000000 0.39951283 0.00000000 0.00000000 7.0115998 0.00000000 0.70011547 0.00000000 0.00000000 6.8994881 0.00000000 0.00000000 -0.22776350 0.00000000 2.1045638 0.00000000 0.00000000 0.21754360 0.00000000 0.8120061 0.00000000 0.00000000 0.91667696 0.00000000 0.7547781 0.00000000 0.00000000 0.00000000 -0.30884412 0.2785606 0.00000000 0.00000000 0.00000000 0.01960641 0.1230153 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 92.7746242 0.15591628 0.00000000 0.00000000 21.5588275 0.60768372 0.00000000 0.00000000 7.0115998 0.39195739 0.00000000 0.00000000 6.8994881 0.00000000 0.00495151 0.00000000 2.1045638 0.00000000 0.57776647 0.00000000 0.8120061 0.00000000 0.48464604 0.00000000 0.7547781 0.00000000 0.00000000 -0.12154686 0.2785606 0.00000000 0.00000000 0.57152276 0.1230153 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 4.2414792 0.21976795 1.2937864 0.65554736 0.4991830 0.28657326 a 25 $ MANGANESE (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1337.1532660 0.15432897 0.00000000 0.00000000 0.00000000 243.5641365 0.53532814 0.00000000 0.00000000 0.00000000 65.9179606 0.44463454 0.00000000 0.00000000 0.00000000 102.0220021 0.00000000 -0.09996723 0.00000000 0.00000000 23.7077192 0.00000000 0.39951283 0.00000000 0.00000000 7.7104861 0.00000000 0.70011547 0.00000000 0.00000000 7.7019609 0.00000000 0.00000000 -0.22776350 0.00000000 2.3493436 0.00000000 0.00000000 0.21754360 0.00000000 0.9064498 0.00000000 0.00000000 0.91667696 0.00000000 0.6709823 0.00000000 0.00000000 0.00000000 -0.30884412 0.2476347 0.00000000 0.00000000 0.00000000 0.01960641 0.1093581 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 102.0220021 0.15591628 0.00000000 0.00000000 23.7077192 0.60768372 0.00000000 0.00000000 7.7104861 0.39195739 0.00000000 0.00000000 7.7019609 0.00000000 0.00495151 0.00000000 2.3493436 0.00000000 0.57776647 0.00000000 0.9064498 0.00000000 0.48464604 0.00000000 0.6709823 0.00000000 0.00000000 -0.12154686 0.2476347 0.00000000 0.00000000 0.57152276 0.1093581 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 5.4269505 0.21976795 1.6553929 0.65554736 0.6387020 0.28657326 a 26 $ IRON (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1447.4004110 0.15432897 0.00000000 0.00000000 0.00000000 263.6457916 0.53532814 0.00000000 0.00000000 0.00000000 71.3528402 0.44463454 0.00000000 0.00000000 0.00000000 111.9194891 0.00000000 -0.09996723 0.00000000 0.00000000 26.0076824 0.00000000 0.39951283 0.00000000 0.00000000 8.4585055 0.00000000 0.70011547 0.00000000 0.00000000 8.5485698 0.00000000 0.00000000 -0.22776350 0.00000000 2.6075863 0.00000000 0.00000000 0.21754360 0.00000000 1.0060878 0.00000000 0.00000000 0.91667696 0.00000000 0.5921157 0.00000000 0.00000000 0.00000000 -0.30884412 0.2185279 0.00000000 0.00000000 0.00000000 0.01960641 0.0965042 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 111.9194891 0.15591628 0.00000000 0.00000000 26.0076824 0.60768372 0.00000000 0.00000000 8.4585055 0.39195739 0.00000000 0.00000000 8.5485698 0.00000000 0.00495151 0.00000000 2.6075863 0.00000000 0.57776647 0.00000000 1.0060878 0.00000000 0.48464604 0.00000000 0.5921157 0.00000000 0.00000000 -0.12154686 0.2185279 0.00000000 0.00000000 0.57152276 0.0965042 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 6.4118035 0.21976795 1.9558044 0.65554736 0.7546102 0.28657326 a 27 $ COBALT (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1557.2987040 0.15432897 0.00000000 0.00000000 0.00000000 283.6639029 0.53532814 0.00000000 0.00000000 0.00000000 76.7705223 0.44463454 0.00000000 0.00000000 0.00000000 121.8344741 0.00000000 -0.09996723 0.00000000 0.00000000 28.3117116 0.00000000 0.39951283 0.00000000 0.00000000 9.2078473 0.00000000 0.70011547 0.00000000 0.00000000 9.4808517 0.00000000 0.00000000 -0.22776350 0.00000000 2.8919620 0.00000000 0.00000000 0.21754360 0.00000000 1.1158088 0.00000000 0.00000000 0.91667696 0.00000000 0.5921157 0.00000000 0.00000000 0.00000000 -0.30884412 0.2185279 0.00000000 0.00000000 0.00000000 0.01960641 0.0965042 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 121.8344741 0.15591628 0.00000000 0.00000000 28.3117116 0.60768372 0.00000000 0.00000000 9.2078473 0.39195739 0.00000000 0.00000000 9.4808517 0.00000000 0.00495151 0.00000000 2.8919620 0.00000000 0.57776647 0.00000000 1.1158088 0.00000000 0.48464604 0.00000000 0.5921157 0.00000000 0.00000000 -0.12154686 0.2185279 0.00000000 0.00000000 0.57152276 0.0965042 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 7.6645274 0.21976795 2.3379252 0.65554736 0.9020442 0.28657326 a 28 $ NICKEL (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1679.7710280 0.15432897 0.00000000 0.00000000 0.00000000 305.9723896 0.53532814 0.00000000 0.00000000 0.00000000 82.8080694 0.44463454 0.00000000 0.00000000 0.00000000 132.8588899 0.00000000 -0.09996723 0.00000000 0.00000000 30.8735488 0.00000000 0.39951283 0.00000000 0.00000000 10.0410363 0.00000000 0.70011547 0.00000000 0.00000000 10.3307434 0.00000000 0.00000000 -0.22776350 0.00000000 3.1512060 0.00000000 0.00000000 0.21754360 0.00000000 1.2158332 0.00000000 0.00000000 0.91667696 0.00000000 0.6309328 0.00000000 0.00000000 0.00000000 -0.30884412 0.2328539 0.00000000 0.00000000 0.00000000 0.01960641 0.1028307 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 132.8588899 0.15591628 0.00000000 0.00000000 30.8735488 0.60768372 0.00000000 0.00000000 10.0410363 0.39195739 0.00000000 0.00000000 10.3307434 0.00000000 0.00495151 0.00000000 3.1512060 0.00000000 0.57776647 0.00000000 1.2158332 0.00000000 0.48464604 0.00000000 0.6309328 0.00000000 0.00000000 -0.12154686 0.2328539 0.00000000 0.00000000 0.57152276 0.1028307 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 8.6277228 0.21976795 2.6317304 0.65554736 1.0154034 0.28657326 a 29 $ COPPER (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1801.8067300 0.15432897 0.00000000 0.00000000 0.00000000 328.2013450 0.53532814 0.00000000 0.00000000 0.00000000 88.8240923 0.44463454 0.00000000 0.00000000 0.00000000 144.1212184 0.00000000 -0.09996723 0.00000000 0.00000000 33.4906717 0.00000000 0.39951283 0.00000000 0.00000000 10.8922059 0.00000000 0.70011547 0.00000000 0.00000000 11.3077540 0.00000000 0.00000000 -0.22776350 0.00000000 3.4492254 0.00000000 0.00000000 0.21754360 0.00000000 1.3308184 0.00000000 0.00000000 0.91667696 0.00000000 0.6309328 0.00000000 0.00000000 0.00000000 -0.30884412 0.2328539 0.00000000 0.00000000 0.00000000 0.01960641 0.1028307 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 144.1212184 0.15591628 0.00000000 0.00000000 33.4906717 0.60768372 0.00000000 0.00000000 10.8922059 0.39195739 0.00000000 0.00000000 11.3077540 0.00000000 0.00495151 0.00000000 3.4492254 0.00000000 0.57776647 0.00000000 1.3308184 0.00000000 0.48464604 0.00000000 0.6309328 0.00000000 0.00000000 -0.12154686 0.2328539 0.00000000 0.00000000 0.57152276 0.1028307 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 9.6479119 0.21976795 2.9429207 0.65554736 1.1354703 0.28657326 a 30 $ ZINC (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 1929.4323010 0.15432897 0.00000000 0.00000000 0.00000000 351.4485021 0.53532814 0.00000000 0.00000000 0.00000000 95.1156802 0.44463454 0.00000000 0.00000000 0.00000000 155.8416755 0.00000000 -0.09996723 0.00000000 0.00000000 36.2142539 0.00000000 0.39951283 0.00000000 0.00000000 11.7779993 0.00000000 0.70011547 0.00000000 0.00000000 12.2815274 0.00000000 0.00000000 -0.22776350 0.00000000 3.7462573 0.00000000 0.00000000 0.21754360 0.00000000 1.4454225 0.00000000 0.00000000 0.91667696 0.00000000 0.8897139 0.00000000 0.00000000 0.00000000 -0.30884412 0.3283604 0.00000000 0.00000000 0.00000000 0.01960641 0.1450074 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 155.8416755 0.15591628 0.00000000 0.00000000 36.2142539 0.60768372 0.00000000 0.00000000 11.7779993 0.39195739 0.00000000 0.00000000 12.2815274 0.00000000 0.00495151 0.00000000 3.7462573 0.00000000 0.57776647 0.00000000 1.4454225 0.00000000 0.48464604 0.00000000 0.8897139 0.00000000 0.00000000 -0.12154686 0.3283604 0.00000000 0.00000000 0.57152276 0.1450074 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 10.9473708 0.21976795 3.3392970 0.65554736 1.2884046 0.28657326 a 31 $ GALLIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 2061.4245320 0.15432897 0.00000000 0.00000000 0.00000000 375.4910517 0.53532814 0.00000000 0.00000000 0.00000000 101.6225324 0.44463454 0.00000000 0.00000000 0.00000000 167.7618680 0.00000000 -0.09996723 0.00000000 0.00000000 38.9842503 0.00000000 0.39951283 0.00000000 0.00000000 12.6788881 0.00000000 0.70011547 0.00000000 0.00000000 12.6150552 0.00000000 0.00000000 -0.22776350 0.00000000 3.8479939 0.00000000 0.00000000 0.21754360 0.00000000 1.4846757 0.00000000 0.00000000 0.91667696 0.00000000 0.7985244 0.00000000 0.00000000 0.00000000 -0.30884412 0.2947057 0.00000000 0.00000000 0.00000000 0.01960641 0.1301452 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 167.7618680 0.15591628 0.00000000 0.00000000 38.9842503 0.60768372 0.00000000 0.00000000 12.6788881 0.39195739 0.00000000 0.00000000 12.6150552 0.00000000 0.00495151 0.00000000 3.8479939 0.00000000 0.57776647 0.00000000 1.4846757 0.00000000 0.48464604 0.00000000 0.7985244 0.00000000 0.00000000 -0.12154686 0.2947057 0.00000000 0.00000000 0.57152276 0.1301452 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 12.6150552 0.21976795 3.8479939 0.65554736 1.4846757 0.28657326 a 32 $ GERMANIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 2196.3842290 0.15432897 0.00000000 0.00000000 0.00000000 400.0741292 0.53532814 0.00000000 0.00000000 0.00000000 108.2756726 0.44463454 0.00000000 0.00000000 0.00000000 180.3890380 0.00000000 -0.09996723 0.00000000 0.00000000 41.9185330 0.00000000 0.39951283 0.00000000 0.00000000 13.6332079 0.00000000 0.70011547 0.00000000 0.00000000 14.1966562 0.00000000 0.00000000 -0.22776350 0.00000000 4.3304326 0.00000000 0.00000000 0.21754360 0.00000000 1.6708155 0.00000000 0.00000000 0.91667696 0.00000000 0.9858326 0.00000000 0.00000000 0.00000000 -0.30884412 0.3638342 0.00000000 0.00000000 0.00000000 0.01960641 0.1606730 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 180.3890380 0.15591628 0.00000000 0.00000000 41.9185330 0.60768372 0.00000000 0.00000000 13.6332079 0.39195739 0.00000000 0.00000000 14.1966562 0.00000000 0.00495151 0.00000000 4.3304326 0.00000000 0.57776647 0.00000000 1.6708155 0.00000000 0.48464604 0.00000000 0.9858326 0.00000000 0.00000000 -0.12154686 0.3638342 0.00000000 0.00000000 0.57152276 0.1606730 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 14.1966562 0.21976795 4.3304326 0.65554736 1.6708155 0.28657326 a 33 $ ARSENIC (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 2337.0656730 0.15432897 0.00000000 0.00000000 0.00000000 425.6994298 0.53532814 0.00000000 0.00000000 0.00000000 115.2108790 0.44463454 0.00000000 0.00000000 0.00000000 193.1970535 0.00000000 -0.09996723 0.00000000 0.00000000 44.8948404 0.00000000 0.39951283 0.00000000 0.00000000 14.6011955 0.00000000 0.70011547 0.00000000 0.00000000 15.8716358 0.00000000 0.00000000 -0.22776350 0.00000000 4.8413548 0.00000000 0.00000000 0.21754360 0.00000000 1.8679452 0.00000000 0.00000000 0.91667696 0.00000000 1.1076815 0.00000000 0.00000000 0.00000000 -0.30884412 0.4088041 0.00000000 0.00000000 0.00000000 0.01960641 0.1805322 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 193.1970535 0.15591628 0.00000000 0.00000000 44.8948404 0.60768372 0.00000000 0.00000000 14.6011955 0.39195739 0.00000000 0.00000000 15.8716358 0.00000000 0.00495151 0.00000000 4.8413548 0.00000000 0.57776647 0.00000000 1.8679452 0.00000000 0.48464604 0.00000000 1.1076815 0.00000000 0.00000000 -0.12154686 0.4088041 0.00000000 0.00000000 0.57152276 0.1805322 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 15.8716358 0.21976795 4.8413548 0.65554736 1.8679452 0.28657326 a 34 $ SELENIUM (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 2480.6268140 0.15432897 0.00000000 0.00000000 0.00000000 451.8492708 0.53532814 0.00000000 0.00000000 0.00000000 122.2880464 0.44463454 0.00000000 0.00000000 0.00000000 206.1578780 0.00000000 -0.09996723 0.00000000 0.00000000 47.9066573 0.00000000 0.39951283 0.00000000 0.00000000 15.5807318 0.00000000 0.70011547 0.00000000 0.00000000 17.6399941 0.00000000 0.00000000 -0.22776350 0.00000000 5.3807605 0.00000000 0.00000000 0.21754360 0.00000000 2.0760647 0.00000000 0.00000000 0.91667696 0.00000000 1.2146443 0.00000000 0.00000000 0.00000000 -0.30884412 0.4482801 0.00000000 0.00000000 0.00000000 0.01960641 0.1979652 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 206.1578780 0.15591628 0.00000000 0.00000000 47.9066573 0.60768372 0.00000000 0.00000000 15.5807318 0.39195739 0.00000000 0.00000000 17.6399941 0.00000000 0.00495151 0.00000000 5.3807605 0.00000000 0.57776647 0.00000000 2.0760647 0.00000000 0.48464604 0.00000000 1.2146443 0.00000000 0.00000000 -0.12154686 0.4482801 0.00000000 0.00000000 0.57152276 0.1979652 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 17.6399941 0.21976795 5.3807605 0.65554736 2.0760647 0.28657326 a 35 $ BROMINE (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 2629.9974710 0.15432897 0.00000000 0.00000000 0.00000000 479.0573224 0.53532814 0.00000000 0.00000000 0.00000000 129.6516070 0.44463454 0.00000000 0.00000000 0.00000000 219.8350255 0.00000000 -0.09996723 0.00000000 0.00000000 51.0849322 0.00000000 0.39951283 0.00000000 0.00000000 16.6144055 0.00000000 0.70011547 0.00000000 0.00000000 19.5017311 0.00000000 0.00000000 -0.22776350 0.00000000 5.9486496 0.00000000 0.00000000 0.21754360 0.00000000 2.2951739 0.00000000 0.00000000 0.91667696 0.00000000 1.3960375 0.00000000 0.00000000 0.00000000 -0.30884412 0.5152256 0.00000000 0.00000000 0.00000000 0.01960641 0.2275291 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 219.8350255 0.15591628 0.00000000 0.00000000 51.0849322 0.60768372 0.00000000 0.00000000 16.6144055 0.39195739 0.00000000 0.00000000 19.5017311 0.00000000 0.00495151 0.00000000 5.9486496 0.00000000 0.57776647 0.00000000 2.2951739 0.00000000 0.48464604 0.00000000 1.3960375 0.00000000 0.00000000 -0.12154686 0.5152256 0.00000000 0.00000000 0.57152276 0.2275291 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 19.5017311 0.21976795 5.9486496 0.65554736 2.2951739 0.28657326 a 36 $ KRYPTON (12S,9P,3D) -> [4S,3P,1D] $ S-TYPE FUNCTIONS 12 4 0 2782.1600550 0.15432897 0.00000000 0.00000000 0.00000000 506.7739270 0.53532814 0.00000000 0.00000000 0.00000000 137.1528019 0.44463454 0.00000000 0.00000000 0.00000000 233.9514118 0.00000000 -0.09996723 0.00000000 0.00000000 54.3652768 0.00000000 0.39951283 0.00000000 0.00000000 17.6812753 0.00000000 0.70011547 0.00000000 0.00000000 21.4568467 0.00000000 0.00000000 -0.22776350 0.00000000 6.5450222 0.00000000 0.00000000 0.21754360 0.00000000 2.5252730 0.00000000 0.00000000 0.91667696 0.00000000 1.5900493 0.00000000 0.00000000 0.00000000 -0.30884412 0.5868282 0.00000000 0.00000000 0.00000000 0.01960641 0.2591495 0.00000000 0.00000000 0.00000000 1.13103444 $ P-TYPE FUNCTIONS 9 3 0 233.9514118 0.15591628 0.00000000 0.00000000 54.3652768 0.60768372 0.00000000 0.00000000 17.6812753 0.39195739 0.00000000 0.00000000 21.4568467 0.00000000 0.00495151 0.00000000 6.5450222 0.00000000 0.57776647 0.00000000 2.5252730 0.00000000 0.48464604 0.00000000 1.5900493 0.00000000 0.00000000 -0.12154686 0.5868282 0.00000000 0.00000000 0.57152276 0.2591495 0.00000000 0.00000000 0.54989495 $ D-TYPE FUNCTIONS 3 1 0 21.4568467 0.21976795 6.5450222 0.65554736 2.5252730 0.28657326 a 37 $ RUBIDIUM (15S,12P,3D) -> [5S,4P,1D] $ S-TYPE FUNCTIONS 15 5 0 2938.6015290 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 535.2699370 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 144.8649340 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 248.5070370 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 57.7476910 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 18.7813410 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 23.5053410 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 7.1698782 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 2.7663619 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 2.2477968 0.00000000 0.00000000 0.00000000 -0.30884412 0.00000000 0.8295784 0.00000000 0.00000000 0.00000000 0.01960641 0.00000000 0.3663506 0.00000000 0.00000000 0.00000000 1.13103444 0.00000000 0.4869940 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2622162 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1158255 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 248.5070370 0.15591628 0.00000000 0.00000000 0.00000000 57.7476910 0.60768372 0.00000000 0.00000000 0.00000000 18.7813410 0.39195739 0.00000000 0.00000000 0.00000000 23.5053410 0.00000000 0.00495151 0.00000000 0.00000000 7.1698782 0.00000000 0.57776647 0.00000000 0.00000000 2.7663619 0.00000000 0.48464604 0.00000000 0.00000000 2.2477968 0.00000000 0.00000000 -0.12154686 0.00000000 0.8295784 0.00000000 0.00000000 0.57152276 0.00000000 0.3663506 0.00000000 0.00000000 0.54989495 0.00000000 0.4869940 0.00000000 0.00000000 0.00000000 -0.34816915 0.2622162 0.00000000 0.00000000 0.00000000 0.62903237 0.1158255 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 3 1 0 23.5053410 0.21976795 7.1698782 0.65554736 2.7663619 0.28657326 a 38 $ STRONTIUM (15S,12P,3D) -> [5S,4P,1D] $ S-TYPE FUNCTIONS 15 5 0 3100.9839510 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 564.8480978 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 152.8699389 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 263.5019007 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 61.2321749 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 19.9146037 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 25.5788669 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 7.8023697 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 3.0103968 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 2.4610324 0.00000000 0.00000000 0.00000000 -0.30884412 0.00000000 0.9082757 0.00000000 0.00000000 0.00000000 0.01960641 0.00000000 0.4011041 0.00000000 0.00000000 0.00000000 1.13103444 0.00000000 0.4370805 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2353408 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1039542 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 263.5019007 0.15591628 0.00000000 0.00000000 0.00000000 61.2321749 0.60768372 0.00000000 0.00000000 0.00000000 19.9146037 0.39195739 0.00000000 0.00000000 0.00000000 25.5788669 0.00000000 0.00495151 0.00000000 0.00000000 7.8023697 0.00000000 0.57776647 0.00000000 0.00000000 3.0103968 0.00000000 0.48464604 0.00000000 0.00000000 2.4610324 0.00000000 0.00000000 -0.12154686 0.00000000 0.9082757 0.00000000 0.00000000 0.57152276 0.00000000 0.4011041 0.00000000 0.00000000 0.54989495 0.00000000 0.4370805 0.00000000 0.00000000 0.00000000 -0.34816915 0.2353408 0.00000000 0.00000000 0.00000000 0.62903237 0.1039542 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 3 1 0 25.5788669 0.21976795 7.8023697 0.65554736 3.0103968 0.28657326 a 39 $ YTTRIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 3266.0268690 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 594.9108710 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 161.0060990 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 277.9377240 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 64.5867500 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 21.0056160 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 30.6713260 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 8.5572220 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 3.3492390 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 2.6676880 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 0.9845440 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.4347850 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.2074240 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.1116850 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.0493330 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 277.9377240 0.15591628 0.00000000 0.00000000 0.00000000 64.5867500 0.60768372 0.00000000 0.00000000 0.00000000 21.0056160 0.39195739 0.00000000 0.00000000 0.00000000 30.6713260 0.00000000 0.00495151 0.00000000 0.00000000 8.5572220 0.00000000 0.57776647 0.00000000 0.00000000 3.3492390 0.00000000 0.48464604 0.00000000 0.00000000 2.6676880 0.00000000 0.00000000 -0.12839276 0.00000000 0.9845440 0.00000000 0.00000000 0.58520476 0.00000000 0.4347850 0.00000000 0.00000000 0.54394420 0.00000000 0.2074240 0.00000000 0.00000000 0.00000000 -0.34816915 0.1116850 0.00000000 0.00000000 0.00000000 0.62903237 0.0493330 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 5.6600430 0.21976795 0.00000000 1.7747150 0.65554736 0.00000000 0.6912950 0.28657326 0.00000000 2.1282120 0.00000000 0.12506621 0.9625940 0.00000000 0.66867856 0.4728610 0.00000000 0.30524682 a 40 $ ZIRCONIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 3435.3486770 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 625.7530498 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 169.3531958 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 293.7830292 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 68.2688580 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 22.2031514 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 30.7329310 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 9.3745235 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 3.6169826 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 2.8276078 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.1010558 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.4846875 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.8878302 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.3457165 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1521852 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 293.7830292 0.15591628 0.00000000 0.00000000 0.00000000 68.2688580 0.60768372 0.00000000 0.00000000 0.00000000 22.2031514 0.39195739 0.00000000 0.00000000 0.00000000 30.7329310 0.00000000 0.00495151 0.00000000 0.00000000 9.3745235 0.00000000 0.57776647 0.00000000 0.00000000 3.6169826 0.00000000 0.48464604 0.00000000 0.00000000 2.8276078 0.00000000 0.00000000 -0.12839276 0.00000000 1.1010558 0.00000000 0.00000000 0.58520476 0.00000000 0.4846875 0.00000000 0.00000000 0.54394420 0.00000000 0.8878302 0.00000000 0.00000000 0.00000000 -0.34816915 0.3457165 0.00000000 0.00000000 0.00000000 0.62903237 0.1521852 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 30.7329310 0.21976795 0.00000000 9.3745235 0.65554736 0.00000000 3.6169826 0.28657326 0.00000000 0.4869940 0.00000000 0.12506621 0.2622162 0.00000000 0.66867856 0.1158255 0.00000000 0.30524682 a 41 $ NIOBIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 3610.7428640 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 657.7013201 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 177.9996445 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 310.0675728 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 72.0530357 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 23.4338835 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 33.0199786 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 10.0721459 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 3.8861470 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 3.1447984 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.2245682 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.5390579 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.4869940 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2622162 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1158255 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 310.0675728 0.15591628 0.00000000 0.00000000 0.00000000 72.0530357 0.60768372 0.00000000 0.00000000 0.00000000 23.4338835 0.39195739 0.00000000 0.00000000 0.00000000 33.0199786 0.00000000 0.00495151 0.00000000 0.00000000 10.0721459 0.00000000 0.57776647 0.00000000 0.00000000 3.8861470 0.00000000 0.48464604 0.00000000 0.00000000 3.1447984 0.00000000 0.00000000 -0.12839276 0.00000000 1.2245682 0.00000000 0.00000000 0.58520476 0.00000000 0.5390579 0.00000000 0.00000000 0.54394420 0.00000000 0.4869940 0.00000000 0.00000000 0.00000000 -0.34816915 0.2622162 0.00000000 0.00000000 0.00000000 0.62903237 0.1158255 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 33.0199786 0.21976795 0.00000000 10.0721459 0.65554736 0.00000000 3.8861470 0.28657326 0.00000000 1.3448789 0.00000000 0.12506621 0.5236889 0.00000000 0.66867856 0.2305291 0.00000000 0.30524682 a 42 $ MOLYBDENUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 3788.6661150 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 690.1102623 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 186.7707691 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 326.4309567 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 75.8555342 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 24.6705740 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 35.4694813 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 10.8193223 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 4.1744309 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 3.4968952 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.3616729 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.5994117 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.5129625 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2761986 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1220018 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 326.4309567 0.15591628 0.00000000 0.00000000 0.00000000 75.8555342 0.60768372 0.00000000 0.00000000 0.00000000 24.6705740 0.39195739 0.00000000 0.00000000 0.00000000 35.4694813 0.00000000 0.00495151 0.00000000 0.00000000 10.8193223 0.00000000 0.57776647 0.00000000 0.00000000 4.1744309 0.00000000 0.48464604 0.00000000 0.00000000 3.4968952 0.00000000 0.00000000 -0.12839276 0.00000000 1.3616729 0.00000000 0.00000000 0.58520476 0.00000000 0.5994117 0.00000000 0.00000000 0.54394420 0.00000000 0.5129625 0.00000000 0.00000000 0.00000000 -0.34816915 0.2761986 0.00000000 0.00000000 0.00000000 0.62903237 0.1220018 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 35.4694813 0.21976795 0.00000000 10.8193223 0.65554736 0.00000000 4.1744309 0.28657326 0.00000000 1.7021123 0.00000000 0.12506621 0.6627937 0.00000000 0.66867856 0.2917634 0.00000000 0.30524682 a 43 $ TECHNETIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 3970.8682570 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 723.2986098 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 195.7528311 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 343.5846323 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 79.8416795 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 25.9669922 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 38.0899198 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 11.6186396 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 4.4828324 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 3.8297527 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.4912859 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.6564677 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.4617000 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2485969 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1098096 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 343.5846323 0.15591628 0.00000000 0.00000000 0.00000000 79.8416795 0.60768372 0.00000000 0.00000000 0.00000000 25.9669922 0.39195739 0.00000000 0.00000000 0.00000000 38.0899198 0.00000000 0.00495151 0.00000000 0.00000000 11.6186396 0.00000000 0.57776647 0.00000000 0.00000000 4.4828324 0.00000000 0.48464604 0.00000000 0.00000000 3.8297527 0.00000000 0.00000000 -0.12839276 0.00000000 1.4912859 0.00000000 0.00000000 0.58520476 0.00000000 0.6564677 0.00000000 0.00000000 0.54394420 0.00000000 0.4617000 0.00000000 0.00000000 0.00000000 -0.34816915 0.2485969 0.00000000 0.00000000 0.00000000 0.62903237 0.1098096 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 38.0899198 0.21976795 0.00000000 11.6186396 0.65554736 0.00000000 4.4828324 0.28657326 0.00000000 2.1013732 0.00000000 0.12506621 0.8182638 0.00000000 0.66867856 0.3602018 0.00000000 0.30524682 a 44 $ RUTHENIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 4159.2742100 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 757.6169894 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 205.0407239 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 360.7986561 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 83.8418484 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 27.2679713 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 40.7175168 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 12.4201404 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 4.7920763 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 4.1975164 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.6344911 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.7195070 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.4131355 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2224479 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.0982592 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 360.7986561 0.15591628 0.00000000 0.00000000 0.00000000 83.8418484 0.60768372 0.00000000 0.00000000 0.00000000 27.2679713 0.39195739 0.00000000 0.00000000 0.00000000 40.7175168 0.00000000 0.00495151 0.00000000 0.00000000 12.4201404 0.00000000 0.57776647 0.00000000 0.00000000 4.7920763 0.00000000 0.48464604 0.00000000 0.00000000 4.1975164 0.00000000 0.00000000 -0.12839276 0.00000000 1.6344911 0.00000000 0.00000000 0.58520476 0.00000000 0.7195070 0.00000000 0.00000000 0.54394420 0.00000000 0.4131355 0.00000000 0.00000000 0.00000000 -0.34816915 0.2224479 0.00000000 0.00000000 0.00000000 0.62903237 0.0982592 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 40.7175168 0.21976795 0.00000000 12.4201404 0.65554736 0.00000000 4.7920763 0.28657326 0.00000000 2.3908958 0.00000000 0.12506621 0.9310024 0.00000000 0.66867856 0.4098296 0.00000000 0.30524682 a 45 $ RHODIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 4350.0777940 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 792.3721005 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 214.4468133 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 378.4334264 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 87.9397898 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 28.6007490 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 43.5217945 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 13.2755345 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 5.1221139 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 4.5408574 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.7681863 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.7783600 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.4131355 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2224479 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.0982592 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 378.4334264 0.15591628 0.00000000 0.00000000 0.00000000 87.9397898 0.60768372 0.00000000 0.00000000 0.00000000 28.6007490 0.39195739 0.00000000 0.00000000 0.00000000 43.5217945 0.00000000 0.00495151 0.00000000 0.00000000 13.2755345 0.00000000 0.57776647 0.00000000 0.00000000 5.1221139 0.00000000 0.48464604 0.00000000 0.00000000 4.5408574 0.00000000 0.00000000 -0.12839276 0.00000000 1.7681863 0.00000000 0.00000000 0.58520476 0.00000000 0.7783600 0.00000000 0.00000000 0.54394420 0.00000000 0.4131355 0.00000000 0.00000000 0.00000000 -0.34816915 0.2224479 0.00000000 0.00000000 0.00000000 0.62903237 0.0982592 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 43.5217945 0.21976795 0.00000000 13.2755345 0.65554736 0.00000000 5.1221139 0.28657326 0.00000000 2.7790661 0.00000000 0.12506621 1.0821539 0.00000000 0.66867856 0.4763668 0.00000000 0.30524682 a 46 $ PALLADIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 4545.1602690 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 827.9066168 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 224.0638402 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 396.4889433 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 92.1355037 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 29.9653253 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 46.4194510 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 14.1594121 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 5.4631414 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 4.9191046 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 1.9154738 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.8431963 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.4370805 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2353408 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1039542 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 396.4889433 0.15591628 0.00000000 0.00000000 0.00000000 92.1355037 0.60768372 0.00000000 0.00000000 0.00000000 29.9653253 0.39195739 0.00000000 0.00000000 0.00000000 46.4194510 0.00000000 0.00495151 0.00000000 0.00000000 14.1594121 0.00000000 0.57776647 0.00000000 0.00000000 5.4631414 0.00000000 0.48464604 0.00000000 0.00000000 4.9191046 0.00000000 0.00000000 -0.12839276 0.00000000 1.9154738 0.00000000 0.00000000 0.58520476 0.00000000 0.8431963 0.00000000 0.00000000 0.54394420 0.00000000 0.4370805 0.00000000 0.00000000 0.00000000 -0.34816915 0.2353408 0.00000000 0.00000000 0.00000000 0.62903237 0.1039542 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 46.4194510 0.21976795 0.00000000 14.1594121 0.65554736 0.00000000 5.4631414 0.28657326 0.00000000 3.0259774 0.00000000 0.12506621 1.1782999 0.00000000 0.66867856 0.5186905 0.00000000 0.30524682 a 47 $ SILVER (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 4744.5216340 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 864.2205383 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 233.8918045 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 414.9652069 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 96.4289900 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 31.3617003 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 49.4104860 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 15.0717731 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 5.8151586 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 5.2902305 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 2.0599883 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.9068119 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.4370805 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.2353408 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1039542 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 414.9652069 0.15591628 0.00000000 0.00000000 0.00000000 96.4289900 0.60768372 0.00000000 0.00000000 0.00000000 31.3617003 0.39195739 0.00000000 0.00000000 0.00000000 49.4104860 0.00000000 0.00495151 0.00000000 0.00000000 15.0717731 0.00000000 0.57776647 0.00000000 0.00000000 5.8151586 0.00000000 0.48464604 0.00000000 0.00000000 5.2902305 0.00000000 0.00000000 -0.12839276 0.00000000 2.0599883 0.00000000 0.00000000 0.58520476 0.00000000 0.9068119 0.00000000 0.00000000 0.54394420 0.00000000 0.4370805 0.00000000 0.00000000 0.00000000 -0.34816915 0.2353408 0.00000000 0.00000000 0.00000000 0.62903237 0.1039542 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 49.4104860 0.21976795 0.00000000 15.0717731 0.65554736 0.00000000 5.8151586 0.28657326 0.00000000 3.2833957 0.00000000 0.12506621 1.2785373 0.00000000 0.66867856 0.5628152 0.00000000 0.30524682 a 48 $ CADMIUM (15S,12P,6D) -> [5S,4P,2D] $ S-TYPE FUNCTIONS 15 5 0 4950.2619050 0.15432897 0.00000000 0.00000000 0.00000000 0.00000000 901.6963856 0.53532814 0.00000000 0.00000000 0.00000000 0.00000000 244.0342313 0.44463454 0.00000000 0.00000000 0.00000000 0.00000000 433.4469385 0.00000000 -0.09996723 0.00000000 0.00000000 0.00000000 100.7237469 0.00000000 0.39951283 0.00000000 0.00000000 0.00000000 32.7584886 0.00000000 0.70011547 0.00000000 0.00000000 0.00000000 52.5927924 0.00000000 0.00000000 -0.22776350 0.00000000 0.00000000 16.0424780 0.00000000 0.00000000 0.21754360 0.00000000 0.00000000 6.1896867 0.00000000 0.00000000 0.91667696 0.00000000 0.00000000 5.6748518 0.00000000 0.00000000 0.00000000 -0.33061006 0.00000000 2.2097579 0.00000000 0.00000000 0.00000000 0.05761095 0.00000000 0.9727409 0.00000000 0.00000000 0.00000000 1.15578745 0.00000000 0.5949151 0.00000000 0.00000000 0.00000000 0.00000000 -0.38426426 0.3203250 0.00000000 0.00000000 0.00000000 0.00000000 -0.19725674 0.1414932 0.00000000 0.00000000 0.00000000 0.00000000 1.37549551 $ P-TYPE FUNCTIONS 12 4 0 433.4469385 0.15591628 0.00000000 0.00000000 0.00000000 100.7237469 0.60768372 0.00000000 0.00000000 0.00000000 32.7584886 0.39195739 0.00000000 0.00000000 0.00000000 52.5927924 0.00000000 0.00495151 0.00000000 0.00000000 16.0424780 0.00000000 0.57776647 0.00000000 0.00000000 6.1896867 0.00000000 0.48464604 0.00000000 0.00000000 5.6748518 0.00000000 0.00000000 -0.12839276 0.00000000 2.2097579 0.00000000 0.00000000 0.58520476 0.00000000 0.9727409 0.00000000 0.00000000 0.54394420 0.00000000 0.5949151 0.00000000 0.00000000 0.00000000 -0.34816915 0.3203250 0.00000000 0.00000000 0.00000000 0.62903237 0.1414932 0.00000000 0.00000000 0.00000000 0.66628327 $ D-TYPE FUNCTIONS 6 2 0 52.5927924 0.21976795 0.00000000 16.0424780 0.65554736 0.00000000 6.1896867 0.28657326 0.00000000 3.6429640 0.00000000 0.12506621 1.4185513 0.00000000 0.66867856 0.6244498 0.00000000 0.30524682 ergo-3.5/basis/cc-pCV5Z0000775000175000017500000011172212743400275011571 00000000000000$Basis = cc-pCV5Z $Elements supported $H He B C N O F Ne $ $ REFERENCE $H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $Li : Unofficial set from D. Feller. $B - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Na - Mg: Unofficial set from D. Feller. $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $Elements References $-------- ---------- $ B - Na: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989) and D. E. Woon and $ T.H. Dunning, Jr. J. Chem. Phys. 103, 4572 (1995). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ ************************************************************************ a 1 $ HYDROGEN (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 8 5 0 402.0000000 0.00027900 0.00000000 0.00000000 0.00000000 0.00000000 60.2400000 0.00216500 0.00000000 0.00000000 0.00000000 0.00000000 13.7300000 0.01120100 0.00000000 0.00000000 0.00000000 0.00000000 3.9050000 0.04487800 0.00000000 0.00000000 0.00000000 0.00000000 1.2830000 0.14229900 1.00000000 0.00000000 0.00000000 0.00000000 0.4655000 0.33097900 0.00000000 1.00000000 0.00000000 0.00000000 0.1811000 0.43626900 0.00000000 0.00000000 1.00000000 0.00000000 0.0727900 0.17644000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 4 0 4.5160000 1.00000000 0.00000000 0.00000000 0.00000000 1.7120000 0.00000000 1.00000000 0.00000000 0.00000000 0.6490000 0.00000000 0.00000000 1.00000000 0.00000000 0.2460000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.9500000 1.00000000 0.00000000 0.00000000 1.2060000 0.00000000 1.00000000 0.00000000 0.4930000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 2.5060000 1.00000000 0.00000000 0.8750000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.3580000 1.00000000 a 2 $ HELIUM (8s,4p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 8 5 0 1145.0000000 0.00035900 0.00000000 0.00000000 0.00000000 0.00000000 171.7000000 0.00277100 0.00000000 0.00000000 0.00000000 0.00000000 39.0700000 0.01425100 0.00000000 0.00000000 0.00000000 0.00000000 11.0400000 0.05556600 0.00000000 0.00000000 0.00000000 0.00000000 3.5660000 0.16209100 1.00000000 0.00000000 0.00000000 0.00000000 1.2405000 0.33219700 0.00000000 1.00000000 0.00000000 0.00000000 0.4473000 0.41961500 0.00000000 0.00000000 1.00000000 0.00000000 0.1640000 0.18612800 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 4 0 10.1530000 1.00000000 0.00000000 0.00000000 0.00000000 3.6270000 0.00000000 1.00000000 0.00000000 0.00000000 1.2960000 0.00000000 0.00000000 1.00000000 0.00000000 0.4630000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 7.6660000 1.00000000 0.00000000 0.00000000 2.6470000 0.00000000 1.00000000 0.00000000 0.9140000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 5.4110000 1.00000000 0.00000000 1.7070000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 3.4300000 1.00000000 a 5 $ BORON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ BORON Tight (s,p,d,f,g) $ S-TYPE FUNCTIONS 18 10 0 68260.0000000 0.00002400 -0.00000500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 10230.0000000 0.00018500 -0.00003700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 2328.0000000 0.00097000 -0.00019600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 660.4000000 0.00405600 -0.00082400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 216.2000000 0.01439900 -0.00292300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 78.6000000 0.04390100 -0.00913800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 30.9800000 0.11305700 -0.02410500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 12.9600000 0.23382500 -0.05475500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 5.6590000 0.35396000 -0.09694300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 2.5560000 0.30154700 -0.13748500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.1750000 0.08752100 -0.04456500 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.4249000 0.00281900 0.32434500 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.1712000 0.00004300 0.57041400 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.0691300 0.00007800 0.24344400 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 6.4110000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 14.5210000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 32.8900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 74.4960000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 9 0 66.4400000 0.00083800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 15.7100000 0.00640900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 4.9360000 0.02808100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.7700000 0.09215200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.7008000 0.22416400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.2901000 0.36991500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.1211000 0.37444100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.0497300 0.13908600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 5.1720000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 13.2250000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 33.8160000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 86.4670000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 2.0100000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.7960000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.3160000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.1250000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 7.0660000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 19.7210000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 55.0420000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 1.2150000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.5250000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2270000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 9.9940000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 33.0900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 1.1240000 1.00000000 0.00000000 0.00000000 0.4610000 0.00000000 1.00000000 0.00000000 24.0200000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.8340000 1.00000000 a 6 $ CARBON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ CARBON Tight (s,p,d,f,g) $ S-TYPE FUNCTIONS 18 10 0 96770.0000000 0.00002500 -0.00000500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 14500.0000000 0.00019000 -0.00004100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 3300.0000000 0.00100000 -0.00021300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 935.8000000 0.00418300 -0.00089700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 306.2000000 0.01485900 -0.00318700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 111.3000000 0.04530100 -0.00996100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 43.9000000 0.11650400 -0.02637500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 18.4000000 0.24024900 -0.06000100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 8.0540000 0.35879900 -0.10682500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 3.6370000 0.29394100 -0.14416600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.6560000 0.07766500 -0.02464420 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.6333000 0.00233300 0.34900900 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.2545000 0.00050500 0.55873700 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.1019000 0.00003000 0.22810200 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 9.1850000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 20.7950000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 47.0800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 106.5880000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 9 0 101.8000000 0.00089100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 24.0400000 0.00697600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 7.5710000 0.03166900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 2.7320000 0.10400600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.0850000 0.24163300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.4496000 0.37194600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.1876000 0.35420000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.0760600 0.13156800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 7.6680000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 19.4840000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 49.5100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 125.8040000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 3.1340000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.2330000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.4850000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.1910000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 10.0090000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 28.0650000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 78.6950000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 2.0060000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.8380000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 11.6930000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 41.5690000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 1.7530000 1.00000000 0.00000000 0.00000000 0.6780000 0.00000000 1.00000000 0.00000000 32.7800000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 1.2590000 1.00000000 a 7 $ NITROGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ NITROGEN Tight (s,p,d,f,g) $ S-TYPE FUNCTIONS 18 10 0 129200.0000000 0.00002500 -0.00000600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 19350.0000000 0.00019700 -0.00004300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 4404.0000000 0.00103200 -0.00022700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1248.0000000 0.00432500 -0.00095800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 408.0000000 0.01538000 -0.00341600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 148.2000000 0.04686700 -0.01066700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 58.5000000 0.12011600 -0.02827900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 24.5900000 0.24569500 -0.06402000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 10.8100000 0.36137900 -0.11393200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 4.8820000 0.28728300 -0.14699500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 2.1950000 0.07017100 -0.00725100 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.8715000 0.00183100 0.36618300 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.3504000 0.00083500 0.54790800 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.1397000 -0.00000600 0.21664500 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 12.2750000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 27.8270000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 63.0850000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 143.0130000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 9 0 147.0000000 0.00089200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 34.7600000 0.00708200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 11.0000000 0.03281600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 3.9950000 0.10820900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.5870000 0.24809400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.6533000 0.37451300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.2686000 0.34841400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.1067000 0.12834000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 10.7600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 27.1800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 68.6560000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 173.4250000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 4.6470000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.8130000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.7070000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.2760000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 14.0530000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 39.0810000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 108.6850000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 2.9420000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.2040000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4930000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 14.3570000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 52.6900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 2.5110000 1.00000000 0.00000000 0.00000000 0.9420000 0.00000000 1.00000000 0.00000000 41.1200000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 1.7680000 1.00000000 a 8 $ OXYGEN (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ OXYGEN Tight (s,p,d,f,g) $ S-TYPE FUNCTIONS 18 10 0 164200.0000000 0.00002600 -0.00000600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 24590.0000000 0.00020500 -0.00004600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 5592.0000000 0.00107600 -0.00024400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1582.0000000 0.00452200 -0.00103100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 516.1000000 0.01610800 -0.00368800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 187.2000000 0.04908500 -0.01151400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 73.9300000 0.12485700 -0.03043500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 31.2200000 0.25168600 -0.06814700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 13.8100000 0.36242000 -0.12036800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 6.2560000 0.27905100 -0.14826000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 2.7760000 0.06355200 0.00990500 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.1380000 0.00106300 0.38428600 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.4600000 0.00114400 0.53680500 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.1829000 -0.00004000 0.20268700 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 15.6450000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 35.8740000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 82.2590000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 188.6200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 9 0 195.5000000 0.00091800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 46.1600000 0.00738800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 14.5800000 0.03495800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 5.2960000 0.11543100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 2.0940000 0.25680300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.8471000 0.37393800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.3368000 0.34344700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.1285000 0.12970600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 14.0490000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 35.4460000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 89.4290000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 225.6300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 5.8790000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 2.3070000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.9050000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.3550000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 16.7030000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 47.3200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 134.0560000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 4.0160000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.5540000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.6010000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 17.3540000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 65.5460000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 3.3500000 1.00000000 0.00000000 0.00000000 1.1890000 0.00000000 1.00000000 0.00000000 48.5780000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 2.3190000 1.00000000 a 9 $ FLUORINE (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ FLUORINE Tight (s,p,d,f,g) $ S-TYPE FUNCTIONS 18 10 0 211400.0000000 0.00002600 -0.00000600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 31660.0000000 0.00020100 -0.00004700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 7202.0000000 0.00105600 -0.00024400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 2040.0000000 0.00443200 -0.00103100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 666.4000000 0.01576600 -0.00368300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 242.0000000 0.04811200 -0.01151300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 95.5300000 0.12323200 -0.03066300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 40.2300000 0.25151900 -0.06957200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 17.7200000 0.36452500 -0.12399200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 8.0050000 0.27976600 -0.15021400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 3.5380000 0.06354500 0.01646000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.4580000 0.00111100 0.39255000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.5887000 0.00125800 0.53216400 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.2324000 -0.00003500 0.19652400 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 19.8760000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 44.8800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 101.3390000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 228.8240000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 9 0 241.9000000 0.00100200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 57.1700000 0.00805400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 18.1300000 0.03804800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 6.6240000 0.12377900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 2.6220000 0.26606000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.0570000 0.37179600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.4176000 0.33289000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.1574000 0.12849100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 17.3060000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 43.6630000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 110.1620000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 277.9380000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 7.7600000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 3.0320000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.1850000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.4630000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 21.7310000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 60.9550000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 170.8900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 5.3980000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.0780000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 22.3370000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 82.2900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 4.3380000 1.00000000 0.00000000 0.00000000 1.5130000 0.00000000 1.00000000 0.00000000 49.7270000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 2.9950000 1.00000000 a 10 $ NEON (14s,8p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ NEON Tight (s,p,d,f,g) $ S-TYPE FUNCTIONS 18 10 0 262700.0000000 0.00002600 -0.00000600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 39350.0000000 0.00020000 -0.00004700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 8955.0000000 0.00105000 -0.00024700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 2538.0000000 0.00440000 -0.00103800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 829.9000000 0.01564900 -0.00371100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 301.5000000 0.04775800 -0.01159300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 119.0000000 0.12294300 -0.03108600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 50.0000000 0.25248300 -0.07097200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 21.9800000 0.36631400 -0.12726600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 9.8910000 0.27961700 -0.15123100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 4.3270000 0.06165100 0.02466600 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 1.8040000 0.00093400 0.39961200 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.7288000 0.00136700 0.52661600 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.00000000 0.2867000 -0.00003800 0.19085400 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.00000000 24.3130000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.00000000 54.6800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.00000000 122.9750000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 0.00000000 276.5710000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 9 0 299.1000000 0.00103800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 70.7300000 0.00837500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 22.4800000 0.03969300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 8.2460000 0.12805600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 3.2690000 0.27032500 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 1.3150000 0.37096300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.5158000 0.32849900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.1918000 0.12758800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 21.3090000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 53.7200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 135.4280000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 341.4140000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 9.8370000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 3.8440000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.5020000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.5870000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 27.0440000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 75.7500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 212.1760000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 7.0900000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.7380000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0570000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 28.0290000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 102.5860000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 5.4600000 1.00000000 0.00000000 0.00000000 1.8800000 0.00000000 1.00000000 0.00000000 38.7940000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 3.7760000 1.00000000 ergo-3.5/basis/Turbomole-TZ0000775000175000017500000006406112743400275012605 00000000000000$Basis = Turbomole-TZ $ $ Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar $ $ REFERENCE $ Elements References $ -------- ---------- $ H - Kr: A. Schafer, H. Horn and R. Ahlrichs, J. Chem. Phys. 97, 2571 (1992). $*********************************************************************** a 1 $ HYDROGEN (5s) -> [3s] $ S-TYPE FUNCTIONS 5 3 0 34.0613410 0.00602520 0.00000000 0.00000000 5.1235746 0.04502109 0.00000000 0.00000000 1.1646626 0.20189726 0.00000000 0.00000000 0.3272304 0.00000000 1.00000000 0.00000000 0.1030724 0.00000000 0.00000000 1.00000000 a 2 $ HELIUM (5s) -> [3s] $ S-TYPE FUNCTIONS 5 3 0 98.0783216 0.00758031 0.00000000 0.00000000 14.7644042 0.05484862 0.00000000 0.00000000 3.3185831 0.22074382 0.00000000 0.00000000 0.8741387 0.00000000 1.00000000 0.00000000 0.2445990 0.00000000 0.00000000 1.00000000 a 3 $ LITHIUM (10s) -> [6s] $ S-TYPE FUNCTIONS 10 6 0 3341.4028812 0.00068826 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 500.9515931 0.00532964 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 114.0110311 0.02756437 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.2654731 0.10988243 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.4720585 0.33943049 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.6978284 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.3712085 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5190846 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0745329 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0282336 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (10s) -> [6s] $ S-TYPE FUNCTIONS 10 6 0 6526.1477796 0.00043732 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 978.3549642 0.00338821 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 222.6586576 0.01756309 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.0130283 0.07058048 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.4687202 0.22263836 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.2692487 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.7393701 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0615791 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1815844 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0588268 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 5 $ BORON (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 5658.4992000 0.00055208 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 848.6970300 0.00426514 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 193.1365600 0.02185317 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.5863170 0.08457068 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.6001260 0.24304764 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.1269618 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.2245270 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5565035 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2387623 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0857940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 22.4558020 -0.00502606 0.00000000 0.00000000 5.1030675 -0.03282698 0.00000000 0.00000000 1.4984096 -0.13140941 0.00000000 0.00000000 0.5098907 -0.33125264 0.00000000 0.00000000 0.1819135 0.00000000 1.00000000 0.00000000 0.0648272 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 8506.0384000 0.00053374 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1275.7329000 0.00412502 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 290.3118700 0.02117134 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 82.0562000 0.08241786 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.4796410 0.24012858 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.2414585 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.3643530 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8717416 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3635235 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1287314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 34.7094960 0.00533010 0.00000000 0.00000000 7.9590883 0.03586581 0.00000000 0.00000000 2.3786972 0.14200299 0.00000000 0.00000000 0.8154007 0.34203105 0.00000000 0.00000000 0.2895378 0.00000000 1.00000000 0.00000000 0.1008475 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 11913.4167560 -0.00052297 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1786.7213834 -0.00404284 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 406.5901283 -0.02077272 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 114.9252507 -0.08118314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.1058834 -0.23871497 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.9716762 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.7302291 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.2525184 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5126007 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1793971 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 49.2187584 0.00555270 0.00000000 0.00000000 11.3489353 0.03805462 0.00000000 0.00000000 3.4285088 0.14941412 0.00000000 0.00000000 1.1799513 0.34898187 0.00000000 0.00000000 0.4172612 0.00000000 1.00000000 0.00000000 0.1429513 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 15902.6474590 0.00051500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2384.9537829 0.00398198 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 542.7195718 0.02047697 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 153.4040787 0.08026237 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.5457161 0.23766840 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.3396499 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.3303355 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.6995882 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.6895449 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2393603 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 63.2705240 0.00607092 0.00000000 0.00000000 14.6233123 0.04194769 0.00000000 0.00000000 4.4489518 0.16156884 0.00000000 0.00000000 1.5281513 0.35682779 0.00000000 0.00000000 0.5299732 0.00000000 1.00000000 0.00000000 0.1750945 0.00000000 0.00000000 1.00000000 a 9 $ FLUORINE (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 20450.4890000 0.00051103 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3066.9547000 0.00395188 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 697.9100300 0.02033455 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 197.2702000 0.07987648 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.7283430 0.23775601 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.3218090 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.1557609 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.2114295 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.8903857 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3069660 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 80.2180200 0.00637445 0.00000000 0.00000000 18.5872810 0.04436019 0.00000000 0.00000000 5.6844581 0.16880038 0.00000000 0.00000000 1.9512781 0.36162979 0.00000000 0.00000000 0.6702411 0.00000000 1.00000000 0.00000000 0.2168225 0.00000000 0.00000000 1.00000000 a 10 $ NEON (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 25558.3983200 -0.00050573 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3832.9404804 -0.00391125 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 872.2107378 -0.02013482 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 246.5375541 -0.07922343 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 79.6583949 -0.23675798 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 27.9197996 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.2071317 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.7883187 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.1153995 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3823401 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 99.7609664 0.00656487 0.00000000 0.00000000 23.1676890 0.04595815 0.00000000 0.00000000 7.1133899 0.17349981 0.00000000 0.00000000 2.4418574 0.36486075 0.00000000 0.00000000 0.8344206 0.00000000 1.00000000 0.00000000 0.2663988 0.00000000 0.00000000 1.00000000 a 11 $ SODIUM (12s,6p) -> [7s,2p] $ S-TYPE FUNCTIONS 12 7 0 48876.1981470 0.00030496 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 7327.2863708 0.00236328 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1667.4194652 0.01226845 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 471.5810120 0.04962518 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 152.9366981 0.15949592 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 54.3558555 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 20.7652228 0.00000000 0.00000000 0.40072046 0.00000000 0.00000000 0.00000000 0.0000000 8.3599496 0.00000000 0.00000000 0.18337373 0.00000000 0.00000000 0.00000000 0.0000000 2.1480946 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.6881941 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.0604771 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0271341 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 6 2 0 137.9625476 0.00592646 0.00000000 32.2091054 0.04254399 0.00000000 9.9746379 0.16644535 0.00000000 3.4780930 0.36814915 0.00000000 1.2284372 0.45781035 0.00000000 0.4173194 0.00000000 1.00000000 a 12 $ MAGNESIUM (12s,6p) -> [7s,2p] $ S-TYPE FUNCTIONS 12 7 0 58088.3497780 0.00029218 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 8708.1180998 0.00226442 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1981.6224182 0.01175604 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 560.4398600 0.04756994 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 181.7297611 0.15308048 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 64.6033357 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 24.7421447 0.00000000 0.00000000 0.39883561 0.00000000 0.00000000 0.00000000 0.0000000 10.0246647 0.00000000 0.00000000 0.18188815 0.00000000 0.00000000 0.00000000 0.0000000 2.6947441 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.9114525 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.1068967 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0400916 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 6 2 0 179.8337272 0.00538198 0.00000000 42.1130967 0.03932575 0.00000000 13.1173538 0.15749044 0.00000000 4.6229435 0.35940561 0.00000000 1.6685786 0.45516230 0.00000000 0.5854780 0.00000000 0.21970492 a 13 $ ALUMINUM (12s9p) -> [7s5p] $ S-TYPE FUNCTIONS 12 7 0 68090.4116770 0.00028413 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 10207.5408220 0.00220207 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 2322.8045854 0.01143344 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 656.8865384 0.04628459 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 212.9669410 0.14910566 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 75.7247166 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 29.0763200 0.00000000 0.00000000 0.41663518 0.00000000 0.00000000 0.00000000 0.00 11.8596239 0.00000000 0.00000000 0.18978371 0.00000000 0.00000000 0.00000000 0.00 3.3162153181 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 1.1754788791 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 .17520528550 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 .06475874648 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 $ P-TYPE FUNCTIONS 9 5 0 442.79182587 0.00163911 0.00000000 0.00000000 0.00000000 0.00000000 104.75988837 0.01314352 0.00000000 0.00000000 0.00000000 0.00000000 33.375979447 0.06149771 0.00000000 0.00000000 0.00000000 0.00000000 12.305387957 0.18825909 0.00000000 0.00000000 0.00000000 0.00000000 4.8642475706 0.36062611 0.00000000 0.00000000 0.00000000 0.00000000 1.9604027100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 .78436733817 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .19014165079 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .05587437299 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 79079.4340000 0.00026431 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 11855.0100000 0.00204851 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 2697.7051000 0.01063724 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 762.8722700 0.04308248 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 247.2845500 0.13898279 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 87.9312400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 33.8232840 0.00000000 0.00000000 0.44071543 0.00000000 0.00000000 0.00000000 0.0000000 13.8681080 0.00000000 0.00000000 0.20091165 0.00000000 0.00000000 0.00000000 0.0000000 3.9920017 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 1.4659925 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.2527109 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0924917 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 483.0235200 0.00191615 0.00000000 0.00000000 0.00000000 0.00000000 114.2508100 0.01530977 0.00000000 0.00000000 0.00000000 0.00000000 36.3877860 0.07109436 0.00000000 0.00000000 0.00000000 0.00000000 13.4117040 0.21243244 0.00000000 0.00000000 0.00000000 0.00000000 5.2884033 0.38976302 0.00000000 0.00000000 0.00000000 0.00000000 2.1374219 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8646846 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2548986 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0793970 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 91049.0495250 0.00025380 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 13649.2488640 0.00196712 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 3105.9432074 0.01021606 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 878.2598263 0.04139916 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 284.6339291 0.13375415 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 101.2061001 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 38.9778414 0.00000000 0.00000000 0.45416113 0.00000000 0.00000000 0.00000000 0.0000000 16.0484941 0.00000000 0.00000000 0.20742198 0.00000000 0.00000000 0.00000000 0.0000000 4.7225339 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 1.7825222 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.3396297 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.1233386 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 528.4438933 -0.00228152 0.00000000 0.00000000 0.00000000 0.00000000 124.9714995 -0.01818364 0.00000000 0.00000000 0.00000000 0.00000000 39.7957092 -0.08394070 0.00000000 0.00000000 0.00000000 0.00000000 14.6575450 -0.24604714 0.00000000 0.00000000 0.00000000 0.00000000 5.7578893 -0.43655668 0.00000000 0.00000000 0.00000000 0.00000000 2.3123201 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8899378 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3046715 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1007815 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 103953.9500000 0.00024743 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 15583.7860000 0.00191777 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 3546.1293000 0.00996100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1002.6808000 0.04038643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 324.9028800 0.13067523 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 115.5122500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 44.5282100 0.00000000 0.00000000 0.50403551 0.00000000 0.00000000 0.00000000 0.0000000 18.3978920 0.00000000 0.00000000 0.23068051 0.00000000 0.00000000 0.00000000 0.0000000 5.5100683 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 2.1259867 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.4369189 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.1573085 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 606.6936700 0.00232296 0.00000000 0.00000000 0.00000000 0.00000000 143.5069600 0.01857053 0.00000000 0.00000000 0.00000000 0.00000000 45.7461600 0.08603274 0.00000000 0.00000000 0.00000000 0.00000000 16.8729120 0.25248431 0.00000000 0.00000000 0.00000000 0.00000000 6.6399196 0.44632742 0.00000000 0.00000000 0.00000000 0.00000000 2.6727135 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0000089 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3543894 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1167131 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 117805.7900000 0.00024181 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 17660.2650000 0.00187427 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 4018.5973000 0.00973629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1136.2231000 0.03949475 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 368.1206200 0.12797166 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 130.8615400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 50.4790110 0.00000000 0.00000000 0.42874094 0.00000000 0.00000000 0.00000000 0.0000000 20.9168050 0.00000000 0.00000000 0.19668493 0.00000000 0.00000000 0.00000000 0.0000000 6.3531388 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 2.4948014 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.5433595 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.1943437 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 681.0687900 0.00236589 0.00000000 0.00000000 0.00000000 0.00000000 161.1135900 0.01894072 0.00000000 0.00000000 0.00000000 0.00000000 51.3866370 0.08784513 0.00000000 0.00000000 0.00000000 0.00000000 18.9585120 0.25707435 0.00000000 0.00000000 0.00000000 0.00000000 3.0035158 0.37152361 0.00000000 0.00000000 0.00000000 0.00000000 7.4565293 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0609361 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3945202 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1332328 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 132594.7425500 0.00025484 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 19877.2100510 0.00197533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 4523.0525989 0.01026246 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1278.8031045 0.04164867 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 414.2561894 0.13513377 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 147.2419411 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 56.8261554 0.00000000 0.00000000 0.45141633 0.00000000 0.00000000 0.00000000 0.0000000 23.6040860 0.00000000 0.00000000 0.20758832 0.00000000 0.00000000 0.00000000 0.0000000 7.2524952 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 2.8892980 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.6588798 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.2343956 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 828.3396980 0.00217730 0.00000000 0.00000000 0.00000000 0.00000000 196.0651076 0.01759744 0.00000000 0.00000000 0.00000000 0.00000000 62.6812276 0.08290592 0.00000000 0.00000000 0.00000000 0.00000000 23.2250778 0.24934103 0.00000000 0.00000000 0.00000000 0.00000000 9.2167815 0.45327281 0.00000000 0.00000000 0.00000000 0.00000000 3.7595533 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.4316786 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5129827 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1682149 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $END OF BASIS ergo-3.5/basis/NASA-Ames-ANO0000775000175000017500000010632312743400275012320 00000000000000$Basis = NASA-Ames-ANO $Elements supported $H B C N O F Ne Al P Ti Fe Ni $ $ REFERENCE $ J. ALMLOF AND P.R. TAYLOR, J. CHEM. PHYS. 86, 4070 (1987). $ C.W. BAUSCHLICHER, JR., S.R. LANGHOFF, A. KORMORNICKI, THEOR. CHIM ACTA 77, $ 263 (1990) $ a 1 $ HYDROGEN (8s,6p,4d,3f) -> [4s,3p,2d,1f] $ S-TYPE FUNCTIONS 8 4 0 402.0099000 -0.00024200 -0.00035600 -0.00041900 0.00034100 60.2419600 -0.00177600 -0.00127400 -0.00361500 -0.01953800 13.7321700 -0.00989700 -0.01849300 -0.01750700 0.05137700 3.9045050 -0.03476500 -0.01751900 -0.16368400 -1.32005200 1.2827090 -0.12137600 -0.45743100 -1.17759200 1.74041300 0.4655440 -0.22077700 -0.32228000 1.84523900 -0.66840200 0.1811200 -0.19018400 0.57883800 -0.71178400 -0.49903500 0.0727910 -0.05065700 0.11814800 -0.17124900 0.54297000 $ P-TYPE FUNCTIONS 6 3 0 9.8800000 0.00308500 -0.01735100 0.00373600 3.9500000 0.00296900 0.02125300 -0.27421800 1.5800000 0.08387600 -0.55281600 -0.77441900 0.6300000 0.32513300 -0.15289900 1.36993100 0.2500000 0.18960300 0.52484600 -0.73568300 0.1000000 0.01770800 0.01411100 -0.02270400 $ D-TYPE FUNCTIONS 4 2 0 4.0000000 0.00126500 -0.03379900 1.6000000 -0.15991500 -0.65922900 0.6400000 -0.38220800 0.21574500 0.2600000 -0.10048700 0.32138400 $ F-TYPE FUNCTIONS 3 1 0 2.5000000 -0.04089700 1.0000000 -0.26157900 0.4000000 -0.10400000 a 5 $ BORON (13s,8p,6d,4f,2g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 13 5 0 46535.6300000 0.00003800 0.00000700 -0.00001000 -0.00001600 -0.00002800 6970.7830000 0.00029900 0.00005800 -0.00007800 -0.00008500 -0.00013300 1586.4320000 0.00156800 0.00030400 -0.00042500 -0.00073300 -0.00133400 449.3104000 0.00656200 0.00126500 -0.00168700 -0.00150000 -0.00211500 146.5617000 0.02319100 0.00457100 -0.00649400 -0.01266400 -0.02410300 52.8838700 0.06977700 0.01387300 -0.01837200 -0.01188500 -0.01726900 20.5582500 0.17161700 0.03684600 -0.05467700 -0.13098100 -0.28177300 8.4346280 0.31997400 0.07557000 -0.09884400 -0.00091100 0.09192800 3.6075170 0.37577700 0.13118000 -0.22162700 -0.74356600 -1.66194900 1.5673140 0.18254400 0.10406600 -0.10873300 0.88054600 3.74825100 0.4593870 0.00788900 -0.29487500 1.36730000 1.59450600 -4.36712400 0.1837770 -0.00932600 -0.59519400 -0.16053600 -3.36257600 3.72112400 0.0723520 -0.00237600 -0.25246800 -1.01045600 1.99986000 -1.45794200 $ P-TYPE FUNCTIONS 8 4 0 69.0708300 0.00078800 -0.00067800 -0.00212800 0.00429500 16.3163100 0.00605400 -0.00464200 -0.02137600 0.04554200 5.1155360 0.02681500 -0.01910900 -0.08574000 0.22715500 1.8218350 0.08767600 -0.02367000 -0.44249100 1.20382400 0.7134520 0.22991500 -0.44890100 -0.79286000 -1.78117200 0.2921230 0.39282500 -0.55559400 1.27342200 0.55518100 0.1211450 0.35918700 0.67567200 0.06869000 0.83950400 0.0496310 0.12670600 0.48983200 -0.64352000 -0.86633200 $ D-TYPE FUNCTIONS 6 3 0 4.9400000 0.00494700 0.00124200 -0.03328900 1.9800000 0.02116300 0.02954900 0.49718400 0.7900000 0.22843200 -0.85244100 0.70124500 0.3200000 0.55400200 -0.05627400 -1.56353100 0.1300000 0.33584900 0.79235400 0.93848300 0.0500000 0.03155900 0.05231400 0.13431600 $ F-TYPE FUNCTIONS 4 2 0 2.3700000 -0.00063300 0.02342200 0.9500000 0.26852200 -0.97601100 0.3800000 0.65698800 0.30281200 0.1500000 0.23617400 0.58595300 $ G-TYPE FUNCTIONS 2 1 0 1.1400000 0.02261200 0.4600000 0.06183900 a 6 $ CARBON (13s,8p,6d,4f,2g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 13 5 0 50557.5000000 -0.00005500 0.00001200 0.00001500 -0.00002100 0.00002700 7524.7860000 -0.00043400 0.00009300 0.00011300 -0.00015000 0.00024300 1694.3280000 -0.00231600 0.00049900 0.00061900 -0.00092700 0.00106000 472.8228000 -0.00987200 0.00213000 0.00257300 -0.00329300 0.00608400 151.7108000 -0.03521700 0.00773000 0.00971000 -0.01528000 0.01549700 53.9187500 -0.10418400 0.02356400 0.02862200 -0.03618300 0.08416700 20.6593100 -0.24125500 0.05952200 0.07840700 -0.14152900 0.12958300 8.3839760 -0.38392900 0.11433600 0.14086800 -0.15833700 0.53521500 3.5770150 -0.30821900 0.15228100 0.25720400 -0.61987800 0.14046600 1.5471180 -0.06852800 0.01514400 -0.14594500 1.62923800 -3.38358100 0.6130130 -0.00083000 -0.37717100 -1.28076900 0.36862100 5.47822500 0.2460680 -0.00078200 -0.54469600 0.30509600 -2.65817900 -4.60052300 0.0990870 0.00004000 -0.21188600 0.93955700 1.83891200 1.86027400 $ P-TYPE FUNCTIONS 8 4 0 83.3331600 0.00125900 -0.00142800 -0.00339700 -0.00825300 19.5576100 0.00968400 -0.01211000 -0.03489700 -0.04633700 6.0803650 0.04292500 -0.04393800 -0.14580100 -0.45331800 2.1793170 0.13507500 -0.17155500 -0.71410500 -0.84580600 0.8651500 0.28777400 -0.60719500 -0.14471900 2.23498100 0.3619440 0.38193100 -0.11243600 1.33807000 -1.75640700 0.1547400 0.29570000 0.70597500 -0.51561300 0.10448100 0.0654290 0.08942700 0.29463300 -0.42474900 0.58952100 $ D-TYPE FUNCTIONS 6 3 0 7.1200000 0.00604300 -0.00225700 0.04228300 2.8500000 0.03235200 -0.08142600 -0.65112900 1.1400000 0.26805600 -0.88160000 -0.35679300 0.4600000 0.56291500 0.18986600 1.39267600 0.1800000 0.29475700 0.67739500 -1.04210800 0.0700000 0.01857200 0.01600900 -0.04723300 $ F-TYPE FUNCTIONS 4 2 0 3.4200000 -0.00867500 0.05774500 1.3700000 -0.31771300 0.97136300 0.5500000 -0.64819200 -0.45592400 0.2200000 -0.18722500 -0.49493700 $ G-TYPE FUNCTIONS 2 1 0 1.6400000 0.22077400 0.6600000 0.50204900 a 7 $ NITROGEN (13s,8p,6d,4f,2g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 13 5 0 74761.7200000 -0.00005000 -0.00001100 -0.00001300 -0.00001900 -0.00002600 11123.6500000 -0.00039400 -0.00008700 -0.00010000 -0.00013800 -0.00021700 2512.6060000 -0.00208800 -0.00046300 -0.00054200 -0.00084900 -0.00102900 703.7773000 -0.00890600 -0.00197800 -0.00226100 -0.00299000 -0.00527200 225.4788000 -0.03208100 -0.00724400 -0.00856400 -0.01408200 -0.01563100 79.6158100 -0.09742400 -0.02264600 -0.02601200 -0.03371000 -0.07167500 30.2372800 -0.23172900 -0.05869800 -0.07220700 -0.13540300 -0.14517300 12.2636200 -0.37753900 -0.11457500 -0.13380200 -0.15848300 -0.48280000 5.2650860 -0.31862300 -0.15447200 -0.23941500 -0.62053400 -0.42928300 2.3334710 -0.08257700 -0.02376600 0.07747800 1.37418700 3.65589400 0.9018560 -0.00310200 0.36533400 1.18023200 0.84572500 -5.39437900 0.3583360 -0.00053700 0.53915000 -0.05077200 -2.89733200 4.31245100 0.1410930 -0.00008400 0.23613100 -1.07398300 1.82651600 -1.67513600 $ P-TYPE FUNCTIONS 8 4 0 126.6666000 -0.00115900 -0.00154000 0.00293100 -0.00638200 29.8373900 -0.00907600 -0.01275600 0.03205900 -0.04426300 9.3940380 -0.04106200 -0.05440300 0.13014900 -0.36049700 3.4051040 -0.13086400 -0.19607800 0.65773000 -0.96607400 1.3500000 -0.28115600 -0.57219500 0.22998800 2.12759800 0.5576960 -0.37948700 -0.12109800 -1.35051700 -1.36661800 0.2324490 -0.30847500 0.68009600 0.46706600 -0.25924500 0.0942640 -0.10012300 0.30247400 0.47162700 0.72517000 $ D-TYPE FUNCTIONS 6 3 0 9.8800000 -0.00758700 -0.00707700 0.04059000 3.9500000 -0.03950400 -0.13755200 -0.69786300 1.5800000 -0.29541600 -0.83975800 -0.23169800 0.6300000 -0.55719100 0.23227900 1.32806700 0.2500000 -0.26728200 0.64547300 -1.05627200 0.1000000 -0.02263500 0.02625500 -0.04537900 $ F-TYPE FUNCTIONS 4 2 0 4.7400000 -0.01563300 0.09855100 1.9000000 -0.33143900 0.94062500 0.7600000 -0.64192200 -0.47768200 0.3000000 -0.17914900 -0.47895200 $ G-TYPE FUNCTIONS 2 1 0 2.2800000 -0.10169000 0.9100000 -0.21828900 a 8 $ OXYGEN (13s,8p,6d,4f,2g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 13 5 0 105374.9000000 -0.00004600 0.00001000 -0.00001300 -0.00001800 0.00002300 15679.2400000 -0.00036100 0.00008200 -0.00009900 -0.00012400 0.00020100 3534.5450000 -0.00192000 0.00043800 -0.00053800 -0.00081900 0.00089200 987.3652000 -0.00820600 0.00187500 -0.00224900 -0.00265100 0.00500000 315.9788000 -0.02972500 0.00690900 -0.00857300 -0.01390200 0.01304800 111.6543000 -0.09045200 0.02158700 -0.02600900 -0.02889000 0.06821800 42.6994500 -0.21740200 0.05647300 -0.07291300 -0.13714200 0.11491800 17.3956000 -0.36872000 0.11324500 -0.13988400 -0.12832300 0.51268900 7.4383090 -0.33727700 0.16070000 -0.26057800 -0.71729400 0.42328500 3.2228620 -0.09680800 0.03367200 0.07298100 1.55318100 -3.64365800 1.2538770 -0.00266900 -0.36024400 1.28528600 0.57374800 5.38173600 0.4951550 -0.00119800 -0.54706600 -0.22464800 -2.68409100 -4.30166800 0.1916650 0.00003100 -0.23853200 -0.96682000 1.77232700 1.68928500 $ P-TYPE FUNCTIONS 8 4 0 200.0000000 -0.00089700 -0.00117000 0.00182000 0.00256500 46.5333700 -0.00740200 -0.00953600 0.02011900 0.03752400 14.6218100 -0.03508500 -0.04619100 0.08249500 0.14745200 5.3130660 -0.11579300 -0.15475500 0.42203100 0.97699900 2.1025250 -0.25886700 -0.48773900 0.58729200 -0.98914800 0.8502230 -0.37216800 -0.27396000 -1.08047800 -0.58555700 0.3375970 -0.33629500 0.56642400 -0.22909600 1.67155500 0.1288920 -0.14007700 0.46061900 0.82329300 -1.14221400 $ D-TYPE FUNCTIONS 6 3 0 12.6500000 0.00911900 -0.00699800 0.01818600 5.0600000 0.04961700 -0.17998000 -0.70394700 2.0200000 0.33049500 -0.79608900 -0.16631000 0.8100000 0.55185700 0.27949700 1.25174200 0.3200000 0.23094800 0.62414300 -0.99826700 0.1300000 0.01914800 0.04439100 -0.09473700 $ F-TYPE FUNCTIONS 4 2 0 6.0700000 0.02463000 0.13417000 2.4300000 0.33057600 0.84333300 0.9700000 0.60260000 -0.31593300 0.3900000 0.23056800 -0.58066600 $ G-TYPE FUNCTIONS 2 1 0 3.1100000 0.20688500 1.2400000 0.51425300 a 9 $ FLUORINE (13s,8p,6d,4f,2g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 13 5 0 103109.5000000 -0.00006400 0.00001500 0.00001900 0.00002600 -0.00002900 15281.0100000 -0.00050300 0.00011700 0.00014500 0.00018000 -0.00029200 3441.5390000 -0.00266800 0.00062100 0.00078300 0.00115900 -0.00104400 967.0948000 -0.01120000 0.00261600 0.00323600 0.00378300 -0.00751700 314.0353000 -0.03909700 0.00930600 0.01187700 0.01886100 -0.01256100 113.4423000 -0.11226300 0.02772100 0.03451300 0.03766800 -0.10250600 44.6447300 -0.24719900 0.06735500 0.09020000 0.17122600 -0.05882600 18.9428700 -0.36800400 0.12246600 0.15736700 0.12490100 -0.83565900 8.5327430 -0.29086300 0.15129100 0.27158400 0.82897200 0.38381600 3.9194010 -0.07816500 0.00797000 -0.17565000 -2.09765900 2.92381600 1.5681570 -0.00356600 -0.37155100 -1.33030900 0.18951600 -5.17447100 0.6232900 -0.00082800 -0.54143100 0.42956200 2.17727000 4.40949800 0.2408610 -0.00009900 -0.22418200 0.84766700 -1.64056900 -1.80936600 $ P-TYPE FUNCTIONS 8 4 0 245.3303000 0.00099100 -0.00134100 0.00195100 -0.00352900 56.9190100 0.00831300 -0.01163800 0.02398500 -0.03653000 17.6045700 0.04085100 -0.05609200 0.09417800 -0.21464900 6.2749950 0.13569100 -0.20863000 0.54687700 -1.03030700 2.4470300 0.28104800 -0.53262900 0.39519000 1.59245500 0.9950600 0.36052900 -0.13704600 -1.26972500 -0.32108700 0.4039730 0.31431000 0.59899600 0.17996600 -1.09656600 0.1548100 0.13271700 0.37547100 0.64457700 1.00241400 $ D-TYPE FUNCTIONS 6 3 0 16.0100000 -0.01062600 -0.00918400 0.00953700 6.4000000 -0.05541800 -0.21105600 -0.74895300 2.5600000 -0.35409800 -0.77665300 -0.05093700 1.0200000 -0.54532900 0.32750200 1.19300800 0.4100000 -0.20701900 0.59585300 -1.02669000 0.1600000 -0.02004000 0.04726100 -0.07327100 $ F-TYPE FUNCTIONS 4 2 0 7.6800000 0.02792900 0.17026700 3.0700000 0.35229600 0.82259700 1.2300000 0.60197900 -0.36536000 0.4900000 0.20475600 -0.55648300 $ G-TYPE FUNCTIONS 2 1 0 3.6900000 0.24225000 1.4800000 0.48480000 a 10 $ NEON (13s,8p,6d,4f,2g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 13 5 0 166165.1000000 -0.00004700 0.00001100 0.00001400 0.00002000 0.00002000 23107.5200000 -0.00040100 0.00009400 0.00011800 0.00014500 0.00023300 5060.1540000 -0.00219300 0.00051800 0.00066400 0.00098600 0.00077300 1384.6120000 -0.00958800 0.00226600 0.00281900 0.00325700 0.00636800 436.5126000 -0.03507400 0.00845400 0.01098000 0.01742500 0.01025000 153.4715000 -0.10465200 0.02604900 0.03245700 0.03476900 0.09265100 59.3890900 -0.23771500 0.06529600 0.08938000 0.16861800 0.04637500 24.8619700 -0.36960300 0.12233800 0.15565000 0.12107900 0.80935400 11.0157000 -0.30617600 0.15817700 0.29400900 0.89268700 -0.35181300 4.9651750 -0.08418100 0.00680500 -0.20560400 -2.26643300 -2.76027200 1.9365030 -0.00372600 -0.38402600 -1.35846100 0.50349900 4.99642100 0.7657280 -0.00090600 -0.53645300 0.53844400 1.90004800 -4.43391400 0.2955380 -0.00009700 -0.21530100 0.77958700 -1.55756100 1.88172700 $ P-TYPE FUNCTIONS 8 4 0 234.9450000 0.00158300 0.00221200 0.00342600 0.00779300 55.0773900 0.01257600 0.01857400 0.03650900 0.04078200 17.3895500 0.05699800 0.08148300 0.14499300 0.43918600 6.3895370 0.16817600 0.29386000 0.73906600 0.77326300 2.5420820 0.30721800 0.54076900 -0.12185400 -2.13961200 1.0337640 0.35932000 -0.09521000 -1.20390800 1.67382600 0.4187880 0.27778200 -0.60727600 0.63711900 -0.07881900 0.1646270 0.09594000 -0.24687100 0.37050600 -0.59694500 $ D-TYPE FUNCTIONS 6 3 0 19.7600000 0.01191400 0.01158000 -0.00390300 7.9100000 0.06179800 0.23459700 0.78608500 3.1600000 0.37085200 0.75975200 -0.04090800 1.2600000 0.53747300 -0.36305200 -1.13302000 0.5100000 0.19184200 -0.57492400 1.02838700 0.2000000 0.02001700 -0.04929100 0.06237800 $ F-TYPE FUNCTIONS 4 2 0 9.4900000 0.02666000 -0.20820600 3.7900000 0.38775800 -0.79761700 1.5200000 0.60859300 0.43645300 0.6100000 0.14900200 0.52192500 $ G-TYPE FUNCTIONS 2 1 0 4.5500000 -0.25148000 1.8200000 -0.47740100 a 13 $ ALUMINUM (20s,13p,6d,4f,2g) -> [6s,5p,3d,2f,1g] $ S-TYPE FUNCTIONS 20 6 0 446287.3000000 -0.00002200 0.00000600 0.00000100 0.00000200 -0.00000300 0.00000400 192715.4000000 -0.00000800 0.00000200 0.00000000 0.00000100 0.00000000 0.00000000 83218.1700000 -0.00009900 0.00002600 0.00000600 0.00000800 -0.00001500 0.00002200 35935.1900000 -0.00020200 0.00005300 0.00001200 0.00001600 -0.00001100 0.00002300 15517.5000000 -0.00065500 0.00017100 0.00004000 0.00005400 -0.00010200 0.00014500 6700.7540000 -0.00179800 0.00046800 0.00010800 0.00014300 -0.00012800 0.00023400 2893.5130000 -0.00513400 0.00134200 0.00031300 0.00042400 -0.00075700 0.00108600 1249.4740000 -0.01438400 0.00378900 0.00087700 0.00116400 -0.00118000 0.00206500 539.5468000 -0.03904200 0.01046700 0.00244600 0.00330800 -0.00563300 0.00814800 232.9866000 -0.10022800 0.02794700 0.00650200 0.00866100 -0.00936400 0.01649500 100.6081000 -0.22214900 0.06761300 0.01594700 0.02164300 -0.03678500 0.05441800 43.4444800 -0.37088400 0.13805300 0.03283000 0.04393400 -0.04506400 0.08275200 18.7601600 -0.31935900 0.17863900 0.04448900 0.06202800 -0.12955600 0.19071900 8.1009930 -0.07586200 -0.00287500 -0.00211800 -0.00790700 0.12469500 -0.22690800 3.4981640 -0.00245500 -0.41752100 -0.11907500 -0.17253100 0.03175200 -0.31681000 1.5105740 -0.00088600 -0.55315400 -0.24352700 -0.39065800 1.35129000 -1.83045000 0.6522950 -0.00003900 -0.15529300 -0.18415800 -0.31681800 -1.81282900 6.10971800 0.2816730 0.00001800 0.00283700 0.29909100 1.81097800 -1.25139900 -7.93283000 0.1216320 -0.00001100 -0.00227200 0.63751600 -0.19642400 3.69323500 5.94053000 0.0525230 0.00000500 0.00047600 0.28228000 -1.09635800 -2.20892600 -2.20540200 $ P-TYPE FUNCTIONS 13 5 0 1086.6970000 -0.00026500 -0.00005000 -0.00006300 -0.00003500 -0.00002300 439.5274000 -0.00078200 -0.00014900 -0.00017000 -0.00053200 -0.00122800 177.7720000 -0.00413000 -0.00077700 -0.00098200 -0.00055800 -0.00040400 71.9019600 -0.01700600 -0.00323700 -0.00383200 -0.00845900 -0.01859200 29.0815900 -0.06366600 -0.01218400 -0.01499700 -0.01426700 -0.02267200 11.7623900 -0.18708000 -0.03670400 -0.04349300 -0.08806000 -0.19610100 4.7574350 -0.36080600 -0.07179500 -0.09143000 -0.08357200 -0.12868900 1.9242000 -0.40521800 -0.08749300 -0.10740800 -0.35654400 -0.76144900 0.7782650 -0.17952300 -0.03059100 -0.13706600 0.34558100 2.64035200 0.3147780 -0.00903500 0.22943400 0.81786600 1.44286000 -2.78669900 0.1273160 -0.00353400 0.50167000 0.38848300 -2.24061900 1.46881100 0.0514940 0.00130600 0.36808400 -0.94985700 0.98372400 0.00261200 0.0208270 -0.00048800 0.05248200 -0.14691300 0.23980900 -0.51080500 $ D-TYPE FUNCTIONS 6 3 0 3.0700000 0.01269500 0.02820500 0.08199800 1.2300000 0.00783000 -0.13344300 0.12205400 0.4900000 0.17393900 0.73980300 -1.55521200 0.2000000 0.59214500 0.32958200 1.95296500 0.0800000 0.35237200 -0.93902700 -0.93219000 0.0300000 0.01701900 -0.05344900 -0.18925700 $ F-TYPE FUNCTIONS 4 2 0 1.5800000 0.02101300 -0.14964200 0.6300000 -0.14268600 0.77827800 0.2500000 -0.68598800 0.22763800 0.1000000 -0.31853400 -0.86412700 $ G-TYPE FUNCTIONS 2 1 0 1.0600000 -0.08473700 0.4200000 -0.23214000 a 15 $ PHOSPHORUS (18s,13p,6d,4f,2g) -> [6s,5p,3d,2f,1g] $ S-TYPE FUNCTIONS 18 6 0 1948462.0000000 0.00000600 0.00000200 0.00000000 -0.00000100 -0.00000100 -0.00000100 291808.8000000 0.00004600 0.00001200 0.00000300 -0.00000400 -0.00000500 -0.00000900 66414.4900000 0.00023900 0.00006500 0.00001800 -0.00002300 -0.00003300 -0.00006300 18812.8200000 0.00101100 0.00027400 0.00007600 -0.00009400 -0.00010700 -0.00018900 6137.6770000 0.00366700 0.00100100 0.00027700 -0.00035300 -0.00054200 -0.00104300 2215.7920000 0.01182700 0.00323900 0.00089200 -0.00110900 -0.00115100 -0.00197400 864.2240000 0.03420300 0.00955500 0.00264800 -0.00339700 -0.00557200 -0.01092000 358.3963000 0.08756500 0.02524900 0.00697800 -0.00863400 -0.00784400 -0.01297800 156.1584000 0.18940500 0.05936700 0.01664400 -0.02164200 -0.03940800 -0.08020400 70.8394000 0.31550000 0.11523800 0.03245600 -0.03986200 -0.02441500 -0.03408700 33.2032600 0.33246200 0.16962000 0.04999900 -0.06830500 -0.16283400 -0.36511300 15.7730600 0.15893600 0.09843900 0.02893300 -0.02962000 0.10576600 0.33884200 6.6411840 0.01767900 -0.24416300 -0.08004300 0.11050900 -0.16206600 -0.11314600 3.0675010 -0.00062500 -0.56456300 -0.25494100 0.38169000 1.49169600 2.95941600 1.4162150 0.00072600 -0.33472000 -0.27555000 0.40864700 -1.19009700 -5.51337800 0.4708110 -0.00022400 -0.02348000 0.32550400 -1.87257400 -2.22314300 6.18016500 0.2115790 0.00010600 0.00423900 0.64616800 0.36405900 4.24084100 -5.09654000 0.0887770 -0.00003300 -0.00117900 0.24719400 1.04306100 -2.32733900 1.83026100 $ P-TYPE FUNCTIONS 13 5 0 2956.2620000 0.00011000 0.00002600 -0.00003500 -0.00005400 0.00005700 700.2848000 0.00096900 0.00023300 -0.00028900 -0.00051500 0.00122600 227.3139000 0.00539900 0.00130100 -0.00171400 -0.00269900 0.00290700 86.5618400 0.02217100 0.00538000 -0.00666700 -0.01208600 0.02958400 36.3338600 0.07071100 0.01740700 -0.02297900 -0.03619200 0.03970200 16.2934700 0.17153500 0.04330100 -0.05336100 -0.10255400 0.28307600 7.5789660 0.30022500 0.07745800 -0.10791500 -0.17158700 0.05199400 3.5788590 0.36061700 0.09834500 -0.10799800 -0.21174100 0.88756900 1.6980420 0.23564000 0.06070300 -0.16715400 -0.04255700 -2.51796500 0.7633580 0.04838000 -0.14189000 0.52824800 1.81946200 1.66961200 0.3421190 0.00007200 -0.42221900 0.79493300 -1.68520000 0.56800200 0.1486200 0.00099300 -0.44160500 -0.71429300 -0.22803100 -1.78105000 0.0623450 -0.00018700 -0.15329700 -0.49072600 0.84354400 1.16143600 $ D-TYPE FUNCTIONS 6 3 0 4.6000000 -0.01987600 0.00635400 0.18522000 1.8400000 -0.01784100 0.09555300 -0.37442000 0.7400000 -0.32657100 -1.00981000 -0.87925500 0.2900000 -0.60841800 0.26989900 1.89453900 0.1200000 -0.17889500 0.73561500 -1.43757600 0.0470000 -0.01069400 -0.02701200 0.11468800 $ F-TYPE FUNCTIONS 4 2 0 2.2100000 0.02286700 -0.11528200 0.8800000 -0.31525600 1.09176400 0.3500000 -0.69573600 -0.49025900 0.1400000 -0.13644600 -0.50432300 $ G-TYPE FUNCTIONS 2 1 0 1.0600000 -0.08473700 0.4200000 -0.23214000 a 22 $ TITANIUM (21s,16p,10d,6f) -> [7s,6p,4d,2f] $ S-TYPE FUNCTIONS 21 7 0 5309148.1000000 0.00000400 -0.00000100 0.00000000 0.00000000 -0.00001100 -0.00002700 0.0000000 794951.6500000 0.00003400 -0.00001000 0.00000400 -0.00000100 0.00008700 0.00014300 0.0000000 180907.5600000 0.00018000 -0.00005300 0.00001800 -0.00000500 -0.00005500 -0.00046700 0.0000000 51241.9330000 0.00075900 -0.00022400 0.00007800 -0.00002000 -0.00001500 0.00183900 0.0000000 16717.4490000 0.00275700 -0.00081800 0.00028400 -0.00007200 -0.00013800 -0.00156300 0.0000000 6035.2659000 0.00892500 -0.00265900 0.00092300 -0.00023300 -0.00038900 0.00004400 0.0000000 2353.8571000 0.02606200 -0.00787900 0.00274200 -0.00069400 -0.00126100 -0.00225000 0.0000000 976.1464600 0.06819000 -0.02122200 0.00740000 -0.00187000 -0.00310600 -0.00466300 0.0000000 425.4356300 0.15434900 -0.05142200 0.01811900 -0.00458600 -0.00850100 -0.01318900 0.0000000 193.0467700 0.28028100 -0.10670100 0.03810300 -0.00964100 -0.01542000 -0.02338000 0.0000000 90.4393690 0.34839800 -0.17468200 0.06487900 -0.01647700 -0.03245400 -0.05175700 0.0000000 43.0207130 0.22170600 -0.15604000 0.06067100 -0.01543600 -0.01889500 -0.02510400 0.0000000 19.1905550 0.04002100 0.12930300 -0.05524900 0.01406000 0.00354200 -0.00792400 0.0000000 9.4257164 -0.00213800 0.53846200 -0.31260300 0.08368100 0.20033100 0.36059400 0.0000000 4.6052434 0.00172100 0.43572600 -0.40165600 0.11248200 0.11920400 0.16409100 0.0000000 2.0378343 -0.00080200 0.06812100 0.17168700 -0.05895900 0.05796600 0.02393600 0.0000000 0.9800318 0.00035700 -0.00244300 0.68949300 -0.25197700 -1.02382200 -2.35640300 0.0000000 0.4456254 -0.00014600 0.00196600 0.39421500 -0.28092400 0.27351900 2.68461800 0.0000000 0.1064170 0.00005500 -0.00044000 0.02570100 0.34555400 2.04785500 -0.03312000 0.0000000 0.0525705 -0.00004800 0.00039200 -0.00982900 0.61913000 -1.19140500 -2.36623900 0.0000000 0.0243568 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 7999.8045000 0.00008800 -0.00002900 0.00000900 -0.00027100 -0.00092700 0.00000000 1894.4515000 0.00077700 -0.00026000 0.00008000 0.00024100 0.00418300 0.00000000 615.1874800 0.00440400 -0.00147300 0.00046300 0.00094100 -0.01419800 0.00000000 234.9274100 0.01866400 -0.00631600 0.00195700 0.00363400 0.01543000 0.00000000 99.2137530 0.06207000 -0.02133800 0.00672200 0.01313000 0.00582400 0.00000000 44.9161400 0.15907700 -0.05677100 0.01764200 0.03430200 0.04682300 0.00000000 21.2497170 0.29696400 -0.10979400 0.03495300 0.06654400 0.04862900 0.00000000 10.3304580 0.36881300 -0.14716700 0.04581900 0.09716300 0.16615100 0.00000000 5.1049799 0.23482900 -0.05506300 0.01807700 0.02781600 -0.04410200 0.00000000 2.4406904 0.04934700 0.24495800 -0.09521700 -0.18187800 -0.19606300 0.00000000 1.1512050 0.00098700 0.47224500 -0.17326800 -0.59225400 -1.01831700 0.00000000 0.5295556 0.00080400 0.36051200 -0.18842200 0.12635000 1.72135600 0.00000000 0.2211900 -0.00022000 0.08112800 0.24079200 1.29723300 -0.28412400 0.00000000 0.0880000 0.00010200 -0.00150900 0.71343500 -0.55877200 -1.36924900 0.00000000 0.0350000 -0.00005200 0.00216300 0.20695000 -0.52350500 1.30064200 0.00000000 0.0140000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 4 0 89.5692010 0.00185100 -0.00168300 0.00253700 0.00000000 26.5843560 0.01385400 -0.01268900 0.01821700 0.00000000 9.7710323 0.05477200 -0.05037500 0.07538400 0.00000000 3.9619329 0.14875300 -0.13902900 0.20777100 0.00000000 1.6892689 0.26607800 -0.23553300 0.30216400 0.00000000 0.7156706 0.32610100 -0.24368700 0.09036100 0.00000000 0.2938106 0.31270200 0.02962900 -0.59527000 0.00000000 0.1108305 0.22315900 0.44675900 -0.36238700 0.00000000 0.0440000 0.08821900 0.43363800 0.61029700 0.00000000 0.0180000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 6 2 0 5.4350000 0.02288900 -0.06835400 2.1740000 0.09134400 -0.27251600 0.8700000 0.27210400 -0.52888000 0.3480000 0.47156400 -0.06238900 0.1390000 0.36914300 0.54159900 0.0560000 0.10581900 0.26537500 a 26 $ IRON (20s,15p,10d,6f,4g) -> [7s,6p,4d,3f,2g] $ S-TYPE FUNCTIONS 20 7 0 4316265.3000000 0.00000900 0.00000300 0.00000100 0.00000000 0.00000000 -0.00000100 0.0000000 646342.4200000 0.00006700 0.00002000 0.00000800 -0.00000200 -0.00000400 -0.00000600 0.0000000 147089.7300000 0.00035400 0.00010800 0.00004000 -0.00000900 -0.00001900 -0.00003200 0.0000000 41661.5220000 0.00149400 0.00045400 0.00016700 -0.00003900 -0.00008200 -0.00013800 0.0000000 13590.7650000 0.00541100 0.00165000 0.00060800 -0.00014200 -0.00028100 -0.00048300 0.0000000 4905.7500000 0.01735300 0.00534200 0.00197400 -0.00046000 -0.00098100 -0.00164500 0.0000000 1912.7458000 0.04954000 0.01561900 0.00578000 -0.00134600 -0.00262600 -0.00454500 0.0000000 792.6043400 0.12303500 0.04088900 0.01525200 -0.00356100 -0.00774300 -0.01290500 0.0000000 344.8064800 0.24929300 0.09291100 0.03505600 -0.00817900 -0.01549400 -0.02721100 0.0000000 155.8998900 0.35857200 0.16894600 0.06588300 -0.01548400 -0.03541900 -0.05843500 0.0000000 72.2309080 0.27747900 0.19100100 0.07815600 -0.01837200 -0.02922100 -0.05598700 0.0000000 32.7250650 0.06719300 -0.04400200 -0.01891200 0.00426400 -0.01339900 -0.00979300 0.0000000 15.6676220 -0.00115600 -0.51548300 -0.30321600 0.07562800 0.21198800 0.35241100 0.0000000 7.5034828 0.00193200 -0.50517300 -0.45764200 0.11887300 0.16914300 0.45508800 0.0000000 3.3122233 -0.00089200 -0.09229900 0.12842100 -0.04198600 0.07420200 -0.44621800 0.0000000 1.5584712 0.00038600 0.00240900 0.71739300 -0.24751200 -1.17762700 -2.17065600 0.0000000 0.6839137 -0.00015100 -0.00226200 0.40355300 -0.24921000 0.47271400 2.99603100 0.0000000 0.1467567 0.00005600 0.00046800 0.02314500 0.34050100 1.99691900 -1.56907700 0.0000000 0.0705834 -0.00004400 -0.00041800 -0.00550600 0.56415100 -1.42793000 -0.19781300 0.0000000 0.0314489 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 15 6 0 7721.4886000 0.00017700 0.00006400 0.00002100 0.00004400 -0.00005600 0.00000000 1829.1258000 0.00155100 0.00056000 0.00018500 0.00037800 -0.00051200 0.00000000 593.6279500 0.00864000 0.00314300 0.00103000 0.00215200 -0.00278300 0.00000000 226.2053600 0.03548600 0.01306100 0.00431600 0.00884400 -0.01202000 0.00000000 95.2614540 0.11081900 0.04211300 0.01385100 0.02901900 -0.03731000 0.00000000 42.8592030 0.25156900 0.09949300 0.03317300 0.06778100 -0.09334300 0.00000000 20.0497130 0.38167800 0.16132600 0.05372900 0.11576200 -0.14637800 0.00000000 9.6208852 0.30988400 0.11461900 0.03939800 0.08823500 -0.20230100 0.00000000 4.5413705 0.08780600 -0.18126600 -0.07746900 -0.19468000 0.60337800 0.00000000 2.1135001 0.00372300 -0.47535800 -0.20036900 -0.64732800 0.92749700 0.00000000 0.9472008 0.00151400 -0.40814600 -0.19156800 0.14405900 -2.11527700 0.00000000 0.3912428 -0.00028500 -0.10415400 0.20775300 1.22237700 0.96412200 0.00000000 0.1564800 0.00021200 0.00109400 0.68683300 -0.44549100 0.77169100 0.00000000 0.0625920 -0.00009500 -0.00273300 0.25894700 -0.55779100 -1.04072300 0.00000000 0.0250370 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 4 0 217.3688300 -0.00091600 -0.00100100 -0.00148400 -0.00197900 64.9997550 -0.00781400 -0.00854600 -0.01290500 -0.01750700 24.7731370 -0.03537400 -0.03909100 -0.05927100 -0.08074700 10.4361400 -0.10769900 -0.12162600 -0.19560800 -0.29347600 4.6796533 -0.22522100 -0.25567500 -0.38106100 -0.50129100 2.1256225 -0.31689900 -0.28371400 -0.12378300 0.70400800 0.9452421 -0.32036400 -0.02276300 0.63689900 0.55890800 0.4026853 -0.24689900 0.41836900 0.33680100 -1.14564900 0.1566510 -0.11607400 0.47251400 -0.60031800 0.30974900 0.0626600 -0.01485300 0.11398500 -0.26385200 0.46195300 $ F-TYPE FUNCTIONS 6 3 0 16.9972000 0.01327300 0.02768200 -0.04342000 6.7989000 0.07945500 0.18919300 -0.40868800 2.7196000 0.29060300 0.52249700 -0.45547200 1.0878000 0.46604500 0.15059900 0.82529900 0.4351000 0.35516300 -0.52695400 0.04396800 0.1741000 0.12591000 -0.37350000 -0.68458600 $ G-TYPE FUNCTIONS 4 2 0 8.1590000 0.00836600 0.03873100 3.2630000 0.05811000 0.12781800 1.3050000 0.10772000 0.02059900 0.5220000 0.08387600 -0.15293100 a 28 $ NICKEL (20s,15p,10d,6f) -> [7s,6p,4d,2f] $ S-TYPE FUNCTIONS 20 7 0 5048010.4000000 0.00000900 -0.00000300 0.00000100 0.00000000 0.00002400 -0.00003300 0.0000000 755918.1000000 0.00006700 -0.00002000 0.00000700 -0.00000200 -0.00001300 0.00025700 0.0000000 172026.2500000 0.00035100 -0.00010800 0.00003800 -0.00000900 -0.00001200 -0.00017400 0.0000000 48724.5720000 0.00148000 -0.00045400 0.00016100 -0.00003700 -0.00007400 -0.00005400 0.0000000 15894.8920000 0.00536100 -0.00165100 0.00058700 -0.00013400 -0.00023700 -0.00051100 0.0000000 5737.4685000 0.01719900 -0.00534600 0.00190400 -0.00043400 -0.00085300 -0.00140300 0.0000000 2237.0513000 0.04912800 -0.01564200 0.00558000 -0.00127100 -0.00225500 -0.00436500 0.0000000 927.0302000 0.12216900 -0.04100100 0.01475300 -0.00336800 -0.00664600 -0.01148700 0.0000000 403.3461500 0.24811200 -0.09339700 0.03403600 -0.00775400 -0.01357600 -0.02544600 0.0000000 182.4281600 0.35826900 -0.17041100 0.06434700 -0.01475000 -0.03009800 -0.05330400 0.0000000 84.5891710 0.27910300 -0.19375300 0.07711200 -0.01761100 -0.02688300 -0.05173200 0.0000000 38.4229310 0.06828400 0.04361400 -0.01851200 0.00399200 -0.00858900 -0.01127300 0.0000000 18.4687910 -0.00118300 0.51949200 -0.30442000 0.07307400 0.17589100 0.31983800 0.0000000 8.8681903 0.00191400 0.50372700 -0.45125600 0.11116700 0.15967800 0.39508500 0.0000000 3.9188697 -0.00087900 0.09129500 0.14849400 -0.04405100 0.02503700 -0.25472700 0.0000000 1.8398525 0.00037700 -0.00222500 0.71338600 -0.23242100 -0.90786000 -2.12656500 0.0000000 0.8046626 -0.00014500 0.00222600 0.39793600 -0.22763800 0.26558700 2.51575800 0.0000000 0.1698463 0.00005100 -0.00042900 0.02312300 0.31142100 1.61224900 -0.21259900 0.0000000 0.0793699 -0.00004000 0.00036300 -0.00930000 0.54689700 -0.61124300 -1.72915400 0.0000000 0.0347002 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 15 6 0 9148.7958000 0.00017400 -0.00006200 0.00003000 -0.00066300 0.00127700 0.00000000 2167.1706000 0.00152700 -0.00054600 0.00020300 0.00079600 -0.00655000 0.00000000 703.3856600 0.00852200 -0.00307300 0.00133800 0.00177600 0.00638600 0.00000000 268.1342300 0.03514200 -0.01282700 0.00512700 0.01082100 0.01214800 0.00000000 113.0078100 0.11027100 -0.04161400 0.01738800 0.02906200 0.03968300 0.00000000 50.9133950 0.25173700 -0.09913400 0.04091500 0.07699400 0.10718500 0.00000000 23.8774020 0.38250200 -0.16134000 0.06801800 0.12273100 0.14423000 0.00000000 11.4892370 0.30888200 -0.11079300 0.04773300 0.10481000 0.25900200 0.00000000 5.4368839 0.08716700 0.18946500 -0.10384600 -0.25975900 -0.87239000 0.00000000 2.5338366 0.00394800 0.47535000 -0.27162600 -0.68969800 -0.55781100 0.00000000 1.1353088 0.00159800 0.40149700 -0.14975400 0.36884200 2.02832000 0.00000000 0.4678911 -0.00022600 0.10557200 0.31790600 1.06548800 -1.23579800 0.00000000 0.1872000 0.00021700 -0.00037800 0.61633900 -0.53448100 -0.47656700 0.00000000 0.0749000 -0.00009000 0.00279600 0.22764800 -0.50112000 0.89679400 0.00000000 0.0299000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 4 0 258.8666600 0.00094600 -0.00096000 -0.00134700 0.00200000 77.4960410 0.00811900 -0.00827600 -0.01197000 0.01678900 29.5897180 0.03704400 -0.03805300 -0.05501300 0.07743600 12.5152750 0.11243600 -0.11804400 -0.17808900 0.28253100 5.6244675 0.22963600 -0.24187800 -0.35378200 0.47987500 2.5513029 0.31349000 -0.25746800 -0.15469500 -0.55220800 1.1280597 0.30928100 -0.03537700 0.50643500 -0.64412800 0.4753730 0.24452900 0.33063400 0.44804400 0.83202800 0.1821278 0.13214900 0.46444500 -0.36294300 0.22473900 0.0729000 0.03388800 0.24491200 -0.47517700 -0.68185000 $ F-TYPE FUNCTIONS 6 2 0 19.7642000 0.01711200 0.03464300 7.9057000 0.09820300 0.25150000 3.1622000 0.33737900 0.55664100 1.2649000 0.47579700 -0.03285500 0.5060000 0.30432400 -0.54521000 0.2024000 0.09537100 -0.27656100 ergo-3.5/basis/aug-cc-pCVDZ0000775000175000017500000006174012743400275012366 00000000000000$Basis = aug-cc-pCVDZ $Elements supported $H He B C N O F Al Si P S Cl Ar $ $ REFERENCE $Elements References $-------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $ Polarization and/or diffuse functions $Elements References $-------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989) and D. E. Woon and $ D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 103, 4572 (1995). $Al - Ar: K.A. Peterson and T.H. Dunning, Jr. J. Chem. Phys. 117, 10548 (2002) $Ca : K.A. Peterson (to be published) $ ************************************************************************ a 1 $ HYDROGEN (4s,1p) -> [2s,1p] $ HYDROGEN Diffuse (1s,1p) $ S-TYPE FUNCTIONS 5 3 0 13.0100000 0.01968500 0.00000000 0.00000000 1.9620000 0.13797700 0.00000000 0.00000000 0.4446000 0.47814800 0.00000000 0.00000000 0.1220000 0.50124000 1.00000000 0.00000000 0.0297400 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 0.7270000 1.00000000 0.00000000 0.1410000 0.00000000 1.00000000 a 2 $ HELIUM (4s,1p) -> [2s,1p] $ HELIUM Diffuse (1s,1p) $ S-TYPE FUNCTIONS 5 3 0 38.3600000 0.02380900 0.00000000 0.00000000 5.7700000 0.15489100 0.00000000 0.00000000 1.2400000 0.46998700 0.00000000 0.00000000 0.2976000 0.51302700 1.00000000 0.00000000 0.0725500 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 1.2750000 1.00000000 0.00000000 0.2473000 0.00000000 1.00000000 a 5 $ BORON (9s,4p,1d) -> [3s,2p,1d] $ BORON Tight (1s,1p) $ BORON Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 11 5 0 4570.0000000 0.00069600 -0.00013900 0.00000000 0.00000000 0.00000000 685.9000000 0.00535300 -0.00109700 0.00000000 0.00000000 0.00000000 156.5000000 0.02713400 -0.00544400 0.00000000 0.00000000 0.00000000 44.4700000 0.10138000 -0.02191600 0.00000000 0.00000000 0.00000000 14.4800000 0.27205500 -0.05975100 0.00000000 0.00000000 0.00000000 5.1310000 0.44840300 -0.13873200 0.00000000 0.00000000 0.00000000 1.8980000 0.29012300 -0.13148200 0.00000000 0.00000000 0.00000000 0.3329000 0.01432200 0.53952600 0.00000000 0.00000000 0.00000000 0.1043000 -0.00348600 0.58077400 1.00000000 0.00000000 0.00000000 3.0660000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0310500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 6.0010000 0.03548100 0.00000000 0.00000000 0.00000000 1.2410000 0.19807200 0.00000000 0.00000000 0.00000000 0.3364000 0.50523000 0.00000000 0.00000000 0.00000000 0.0953800 0.47949900 1.00000000 0.00000000 0.00000000 9.9400000 0.00000000 0.00000000 1.00000000 0.00000000 0.0237800 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.3430000 1.00000000 0.00000000 0.0904000 0.00000000 1.00000000 a 6 $ CARBON (9s,4p,1d) -> [3s,2p,1d] $ CARBON Tight (1s,1p) $ CARBON Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 11 5 0 6665.0000000 0.00069200 -0.00014600 0.00000000 0.00000000 0.00000000 1000.0000000 0.00532900 -0.00115400 0.00000000 0.00000000 0.00000000 228.0000000 0.02707700 -0.00572500 0.00000000 0.00000000 0.00000000 64.7100000 0.10171800 -0.02331200 0.00000000 0.00000000 0.00000000 21.0600000 0.27474000 -0.06395500 0.00000000 0.00000000 0.00000000 7.4950000 0.44856400 -0.14998100 0.00000000 0.00000000 0.00000000 2.7970000 0.28507400 -0.12726200 0.00000000 0.00000000 0.00000000 0.5215000 0.01520400 0.54452900 0.00000000 0.00000000 0.00000000 0.1596000 -0.00319100 0.58049600 1.00000000 0.00000000 0.00000000 4.5300000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0469000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 9.4390000 0.03810900 0.00000000 0.00000000 0.00000000 2.0020000 0.20948000 0.00000000 0.00000000 0.00000000 0.5456000 0.50855700 0.00000000 0.00000000 0.00000000 0.1517000 0.46884200 1.00000000 0.00000000 0.00000000 14.5570000 0.00000000 0.00000000 1.00000000 0.00000000 0.0404100 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.5500000 1.00000000 0.00000000 0.1510000 0.00000000 1.00000000 a 7 $ NITROGEN (9s,4p,1d) -> [3s,2p,1d] $ NITROGEN Tight (1s,1p) $ NITROGEN Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 11 5 0 9046.0000000 0.00070000 -0.00015300 0.00000000 0.00000000 0.00000000 1357.0000000 0.00538900 -0.00120800 0.00000000 0.00000000 0.00000000 309.3000000 0.02740600 -0.00599200 0.00000000 0.00000000 0.00000000 87.7300000 0.10320700 -0.02454400 0.00000000 0.00000000 0.00000000 28.5600000 0.27872300 -0.06745900 0.00000000 0.00000000 0.00000000 10.2100000 0.44854000 -0.15807800 0.00000000 0.00000000 0.00000000 3.8380000 0.27823800 -0.12183100 0.00000000 0.00000000 0.00000000 0.7466000 0.01544000 0.54900300 0.00000000 0.00000000 0.00000000 0.2248000 -0.00286400 0.57881500 1.00000000 0.00000000 0.00000000 6.2330000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0612400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 13.5500000 0.03991900 0.00000000 0.00000000 0.00000000 2.9170000 0.21716900 0.00000000 0.00000000 0.00000000 0.7973000 0.51031900 0.00000000 0.00000000 0.00000000 0.2185000 0.46221400 1.00000000 0.00000000 0.00000000 19.9770000 0.00000000 0.00000000 1.00000000 0.00000000 0.0561100 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.8170000 1.00000000 0.00000000 0.2300000 0.00000000 1.00000000 a 8 $ OXYGEN (9s,4p,1d) -> [3s,2p,1d] $ OXYGEN Tight (1s,1p) $ OXYGEN Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 11 5 0 11720.0000000 0.00071000 -0.00016000 0.00000000 0.00000000 0.00000000 1759.0000000 0.00547000 -0.00126300 0.00000000 0.00000000 0.00000000 400.8000000 0.02783700 -0.00626700 0.00000000 0.00000000 0.00000000 113.7000000 0.10480000 -0.02571600 0.00000000 0.00000000 0.00000000 37.0300000 0.28306200 -0.07092400 0.00000000 0.00000000 0.00000000 13.2700000 0.44871900 -0.16541100 0.00000000 0.00000000 0.00000000 5.0250000 0.27095200 -0.11695500 0.00000000 0.00000000 0.00000000 1.0130000 0.01545800 0.55736800 0.00000000 0.00000000 0.00000000 0.3023000 -0.00258500 0.57275900 1.00000000 0.00000000 0.00000000 8.2150000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0789600 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 17.7000000 0.04301800 0.00000000 0.00000000 0.00000000 3.8540000 0.22891300 0.00000000 0.00000000 0.00000000 1.0460000 0.50872800 0.00000000 0.00000000 0.00000000 0.2753000 0.46053100 1.00000000 0.00000000 0.00000000 26.0560000 0.00000000 0.00000000 1.00000000 0.00000000 0.0685600 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.1850000 1.00000000 0.00000000 0.3320000 0.00000000 1.00000000 a 9 $ FLUORINE (9s,4p,1d) -> [3s,2p,1d] $ FLUORINE Tight (1s,1p) $ FLUORINE Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 11 5 0 14710.0000000 0.00072100 -0.00016500 0.00000000 0.00000000 0.00000000 2207.0000000 0.00555300 -0.00130800 0.00000000 0.00000000 0.00000000 502.8000000 0.02826700 -0.00649500 0.00000000 0.00000000 0.00000000 142.6000000 0.10644400 -0.02669100 0.00000000 0.00000000 0.00000000 46.4700000 0.28681400 -0.07369000 0.00000000 0.00000000 0.00000000 16.7000000 0.44864100 -0.17077600 0.00000000 0.00000000 0.00000000 6.3560000 0.26476100 -0.11232700 0.00000000 0.00000000 0.00000000 1.3160000 0.01533300 0.56281400 0.00000000 0.00000000 0.00000000 0.3897000 -0.00233200 0.56877800 1.00000000 0.00000000 0.00000000 10.4260000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0986300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 22.6700000 0.04487800 0.00000000 0.00000000 0.00000000 4.9770000 0.23571800 0.00000000 0.00000000 0.00000000 1.3470000 0.50852100 0.00000000 0.00000000 0.00000000 0.3471000 0.45812000 1.00000000 0.00000000 0.00000000 32.8300000 0.00000000 0.00000000 1.00000000 0.00000000 0.0850200 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.6400000 1.00000000 0.00000000 0.4640000 0.00000000 1.00000000 a 13 $ ALUMINUM (12s,8p,1d) -> [4s,3p,1d] $ ALUMINUM Tight (1s,1p,1d) $ ALUMINUM Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 14 6 0 64150.00000 0.00029025 -0.00007580 0.00001751 0.00000000 0.00000000 0.00000000 9617.00000000 0.00225064 -0.00058179 0.00013421 0.00000000 0.00000000 0.00000000 2189.00000000 0.01164590 -0.00308113 0.00071244 0.00000000 0.00000000 0.00000000 620.50000000 0.04673770 -0.01231120 0.00284330 0.00000000 0.00000000 0.00000000 202.70000000 0.14629900 -0.04197810 0.00976842 0.00000000 0.00000000 0.00000000 73.15000000 0.33028300 -0.10337100 0.02418500 0.00000000 0.00000000 0.00000000 28.55000000 0.41586100 -0.19630800 0.04749930 0.00000000 0.00000000 0.00000000 11.77000000 0.18925300 -0.08300020 0.02036210 0.00000000 0.00000000 0.00000000 3.30000000 0.01158890 0.54104000 -0.15878800 0.00000000 0.00000000 0.00000000 1.17300000 -0.00128385 0.57879600 -0.31169400 0.00000000 0.00000000 0.00000000 0.17520000 0.00042588 0.02881470 0.62014700 0.00000000 0.00000000 0.00000000 0.06473000 -0.00019928 -0.00953795 0.52094300 1.00000000 0.00000000 0.00000000 4.03000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02310000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 258.80000000 0.00406847 -0.00074805 0.00000000 0.00000000 0.00000000 60.89000000 0.03068150 -0.00545796 0.00000000 0.00000000 0.00000000 19.14000000 0.12914900 -0.02453710 0.00000000 0.00000000 0.00000000 6.88100000 0.32083100 -0.05821380 0.00000000 0.00000000 0.00000000 2.57400000 0.45381500 -0.09837560 0.00000000 0.00000000 0.00000000 0.95720000 0.27506600 -0.02600640 0.00000000 0.00000000 0.00000000 0.20990000 0.01908070 0.46402000 0.00000000 0.00000000 0.00000000 0.05986000 -0.00312848 0.64887000 1.00000000 0.00000000 0.00000000 1.52900000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01530000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.18900000 1.00000000 0.00000000 0.00000000 4.72500000 0.00000000 1.00000000 0.00000000 0.53500000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (12s,8p,1d) -> [4s,3p,1d] $ SILICON Tight (1s,1p,1d) $ SILICON Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 14 6 0 78860.00000 0.00027044 -0.00007232 0.00001851 0.00000000 0.00000000 0.00000000 11820.00000 0.00209717 -0.00055512 0.00014224 0.00000000 0.00000000 0.00000000 2692.00000000 0.01085060 -0.00293805 0.00075219 0.00000000 0.00000000 0.00000000 763.40000000 0.04367540 -0.01176870 0.00302279 0.00000000 0.00000000 0.00000000 249.60000000 0.13765300 -0.04029070 0.01036770 0.00000000 0.00000000 0.00000000 90.28000000 0.31664400 -0.10060900 0.02625630 0.00000000 0.00000000 0.00000000 35.29000000 0.41858100 -0.19652800 0.05239890 0.00000000 0.00000000 0.00000000 14.51000000 0.21021200 -0.10238200 0.02909590 0.00000000 0.00000000 0.00000000 4.05300000 0.01449520 0.52719000 -0.17800300 0.00000000 0.00000000 0.00000000 1.48200000 -0.00203590 0.59325100 -0.34687400 0.00000000 0.00000000 0.00000000 0.25170000 0.00062419 0.03326520 0.62302000 0.00000000 0.00000000 0.00000000 0.09243000 -0.00028287 -0.00973662 0.53771200 1.00000000 0.00000000 0.00000000 4.95900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03320000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 315.90000000 0.00392656 -0.00085830 0.00000000 0.00000000 0.00000000 74.42000000 0.02988110 -0.00630328 0.00000000 0.00000000 0.00000000 23.48000000 0.12721200 -0.02882550 0.00000000 0.00000000 0.00000000 8.48800000 0.32094300 -0.06945600 0.00000000 0.00000000 0.00000000 3.21700000 0.45542900 -0.11949300 0.00000000 0.00000000 0.00000000 1.22900000 0.26856300 -0.01995810 0.00000000 0.00000000 0.00000000 0.29640000 0.01883360 0.51026800 0.00000000 0.00000000 0.00000000 0.08768000 -0.00262431 0.60038200 1.00000000 0.00000000 0.00000000 1.99800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02500000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.27500000 1.00000000 0.00000000 0.00000000 5.80600000 0.00000000 1.00000000 0.00000000 0.82300000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (12s,8p,1d) -> [4s,3p,1d] $ PHOSPHORUS Tight (1s,1p,1d) $ PHOSPHORUS Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 14 6 0 94840.00000 0.00025551 -0.00006969 0.00001912 0.00000000 0.00000000 0.00000000 14220.00000 0.00198193 -0.00053527 0.00014722 0.00000000 0.00000000 0.00000000 3236.00000000 0.01027600 -0.00283709 0.00077791 0.00000000 0.00000000 0.00000000 917.10000000 0.04148230 -0.01139830 0.00314546 0.00000000 0.00000000 0.00000000 299.50000000 0.13198400 -0.03929290 0.01082000 0.00000000 0.00000000 0.00000000 108.10000000 0.30866200 -0.09963640 0.02799570 0.00000000 0.00000000 0.00000000 42.18000000 0.42064700 -0.19798300 0.05639780 0.00000000 0.00000000 0.00000000 17.28000000 0.22287800 -0.11486000 0.03581900 0.00000000 0.00000000 0.00000000 4.85800000 0.01640350 0.51859500 -0.19338700 0.00000000 0.00000000 0.00000000 1.81800000 -0.00254255 0.60184700 -0.37209700 0.00000000 0.00000000 0.00000000 0.33720000 0.00074805 0.03686120 0.62424600 0.00000000 0.00000000 0.00000000 0.12320000 -0.00033096 -0.00970759 0.55172100 1.00000000 0.00000000 0.00000000 5.97700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04170000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 370.50000000 0.00395005 -0.00095983 0.00000000 0.00000000 0.00000000 87.33000000 0.03024920 -0.00711177 0.00000000 0.00000000 0.00000000 27.59000000 0.12955400 -0.03271220 0.00000000 0.00000000 0.00000000 10.00000000 0.32759400 -0.07957840 0.00000000 0.00000000 0.00000000 3.82500000 0.45699200 -0.13501600 0.00000000 0.00000000 0.00000000 1.49400000 0.25308600 -0.00910585 0.00000000 0.00000000 0.00000000 0.39210000 0.01687980 0.53780200 0.00000000 0.00000000 0.00000000 0.11860000 -0.00207093 0.56906600 1.00000000 0.00000000 0.00000000 2.52400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03430000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.37300000 1.00000000 0.00000000 0.00000000 7.02000000 0.00000000 1.00000000 0.00000000 0.11300000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (12s,8p,1d) -> [4s,3p,1d] $ SULFUR Tight (1s,1p,1d) $ SULFUR Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 14 6 0 110800.00000 0.00024764 -0.00006870 0.00001991 0.00000000 0.00000000 0.00000000 16610.00000 0.00192026 -0.00052768 0.00015348 0.00000000 0.00000000 0.00000000 3781.00000000 0.00996192 -0.00279671 0.00080950 0.00000000 0.00000000 0.00000000 1071.00000000 0.04029750 -0.01126510 0.00328974 0.00000000 0.00000000 0.00000000 349.80000000 0.12860400 -0.03888340 0.01129670 0.00000000 0.00000000 0.00000000 126.30000000 0.30348000 -0.09950250 0.02963850 0.00000000 0.00000000 0.00000000 49.26000000 0.42143200 -0.19974000 0.05998510 0.00000000 0.00000000 0.00000000 20.16000000 0.23078100 -0.12336000 0.04132480 0.00000000 0.00000000 0.00000000 5.72000000 0.01789710 0.51319400 -0.20747400 0.00000000 0.00000000 0.00000000 2.18200000 -0.00297516 0.60712000 -0.39288900 0.00000000 0.00000000 0.00000000 0.43270000 0.00084952 0.03967530 0.63284000 0.00000000 0.00000000 0.00000000 0.15700000 -0.00036794 -0.00946864 0.55692400 1.00000000 0.00000000 0.00000000 7.08300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05070000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 399.70000000 0.00447541 -0.00116251 0.00000000 0.00000000 0.00000000 94.19000000 0.03417080 -0.00865664 0.00000000 0.00000000 0.00000000 29.75000000 0.14425000 -0.03908860 0.00000000 0.00000000 0.00000000 10.77000000 0.35392800 -0.09346250 0.00000000 0.00000000 0.00000000 4.11900000 0.45908500 -0.14799400 0.00000000 0.00000000 0.00000000 1.62500000 0.20638300 0.03019040 0.00000000 0.00000000 0.00000000 0.47260000 0.01021410 0.56157300 0.00000000 0.00000000 0.00000000 0.14070000 -0.00006031 0.53477600 1.00000000 0.00000000 0.00000000 3.08900000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03990000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.47900000 1.00000000 0.00000000 0.00000000 8.36300000 0.00000000 1.00000000 0.00000000 0.15200000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (12s,8p,1d) -> [4s,3p,1d] $ CHLORINE Tight (1s,1p,1d) $ CHLORINE Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 14 6 0 127900.00000 0.00024115 -0.00006789 0.00002050 0.00000000 0.00000000 0.00000000 19170.00000 0.00187095 -0.00052184 0.00015830 0.00000000 0.00000000 0.00000000 4363.00000000 0.00970827 -0.00276513 0.00083364 0.00000000 0.00000000 0.00000000 1236.00000000 0.03931530 -0.01115370 0.00339880 0.00000000 0.00000000 0.00000000 403.60000000 0.12593200 -0.03859190 0.01167380 0.00000000 0.00000000 0.00000000 145.70000000 0.29934100 -0.09948480 0.03096220 0.00000000 0.00000000 0.00000000 56.81000000 0.42188600 -0.20139200 0.06295330 0.00000000 0.00000000 0.00000000 23.23000000 0.23720100 -0.13031300 0.04602570 0.00000000 0.00000000 0.00000000 6.64400000 0.01915310 0.50944300 -0.21931200 0.00000000 0.00000000 0.00000000 2.57500000 -0.00334792 0.61072500 -0.40877300 0.00000000 0.00000000 0.00000000 0.53710000 0.00092988 0.04215490 0.63846500 0.00000000 0.00000000 0.00000000 0.19380000 -0.00039638 -0.00923427 0.56236200 1.00000000 0.00000000 0.00000000 8.27300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06080000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 417.60000000 0.00525982 -0.00143570 0.00000000 0.00000000 0.00000000 98.33000000 0.03983320 -0.01077960 0.00000000 0.00000000 0.00000000 31.04000000 0.16465500 -0.04700750 0.00000000 0.00000000 0.00000000 11.19000000 0.38732200 -0.11103000 0.00000000 0.00000000 0.00000000 4.24900000 0.45707200 -0.15327500 0.00000000 0.00000000 0.00000000 1.62400000 0.15163600 0.08946090 0.00000000 0.00000000 0.00000000 0.53220000 0.00181615 0.57944400 0.00000000 0.00000000 0.00000000 0.16200000 0.00188296 0.48327200 1.00000000 0.00000000 0.00000000 3.69700000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04660000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.60000000 1.00000000 0.00000000 0.00000000 9.84400000 0.00000000 1.00000000 0.00000000 0.19600000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (12s,8p,1d) -> [4s,3p,1d] $ ARGON Tight (1s,1p,1d) $ ARGON Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 14 6 0 145700.00000 0.00023670 -0.00006749 0.00002105 0.00000000 0.00000000 0.00000000 21840.00000 0.00183523 -0.00051852 0.00016257 0.00000000 0.00000000 0.00000000 4972.00000000 0.00952860 -0.00274825 0.00085546 0.00000000 0.00000000 0.00000000 1408.00000000 0.03862830 -0.01110070 0.00349745 0.00000000 0.00000000 0.00000000 459.70000000 0.12408100 -0.03848200 0.01201560 0.00000000 0.00000000 0.00000000 165.90000000 0.29647100 -0.09975990 0.03213680 0.00000000 0.00000000 0.00000000 64.69000000 0.42206800 -0.20308800 0.06552790 0.00000000 0.00000000 0.00000000 26.44000000 0.24171100 -0.13560800 0.04993700 0.00000000 0.00000000 0.00000000 7.62800000 0.02005090 0.50719500 -0.22976900 0.00000000 0.00000000 0.00000000 2.99600000 -0.00361000 0.61289800 -0.42100600 0.00000000 0.00000000 0.00000000 0.65040000 0.00097561 0.04429680 0.64233100 0.00000000 0.00000000 0.00000000 0.23370000 -0.00041132 -0.00899278 0.56754000 1.00000000 0.00000000 0.00000000 9.54800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07090000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 453.70000000 0.00570555 -0.00160655 0.00000000 0.00000000 0.00000000 106.80000000 0.04304600 -0.01217140 0.00000000 0.00000000 0.00000000 33.73000000 0.17659100 -0.05207890 0.00000000 0.00000000 0.00000000 12.13000000 0.40686300 -0.12373700 0.00000000 0.00000000 0.00000000 4.59400000 0.45254900 -0.15161900 0.00000000 0.00000000 0.00000000 1.67800000 0.12280100 0.14242500 0.00000000 0.00000000 0.00000000 0.59090000 -0.00445996 0.58450100 0.00000000 0.00000000 0.00000000 0.18520000 0.00205225 0.43754000 1.00000000 0.00000000 0.00000000 4.36100000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05330000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.73800000 1.00000000 0.00000000 0.00000000 11.45900000 0.00000000 1.00000000 0.00000000 0.24000000 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/cc-pV6Z0000775000175000017500000030540012743400275011465 00000000000000$ cc-pV6Z EMSL Basis Set Exchange Library 11/10/15 12:38 AM $ Elements References $ -------- ---------- $ H: K.A. Peterson, D.E. Woon and T. H. Dunning, Jr., (to be published). $ B - Ne: A. K. Wilson, T. v. Mourik and T. H. Dunning, Jr., J. Mol. Struct. $ (THEOCHEM) 388, 339 (1997). $ S: J.G. Hill, S. Mazumder, and K.A. Peterson, Correlation consistent basis sets for molecular core-valence effects with explicitly correlated wave functions: the atoms B-Ne and Al-Ar, Journal of Chemical Physics 132, 054108 (2010). $ $ HYDROGEN (10s,5p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ HYDROGEN (10s,5p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] a 1 $ S-TYPE FUNCTIONS 10 6 0 1776.7755600 0.0000440 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 254.0177120 0.0003720 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 54.6980390 0.0020940 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.0183440 0.0088630 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.91507800 0.0305400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.79492400 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.71071600 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.30480200 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.13804600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.06215700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 5 0 8.6490000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.4300000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.3600000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.5390000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2140000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 4.4530000 1.0000000 0.0000000 0.0000000 0.0000000 1.9580000 0.0000000 1.0000000 0.0000000 0.0000000 0.8610000 0.0000000 0.0000000 1.0000000 0.0000000 0.3780000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 4.1000000 1.0000000 0.0000000 0.0000000 1.7800000 0.0000000 1.0000000 0.0000000 0.7730000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 3.1990000 1.0000000 0.0000000 1.3260000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 2.6530000 1.0000000 $ HELIUM (10s,5p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ HELIUM (10s,5p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] a 2 $ S-TYPE FUNCTIONS 10 6 0 4785.0000000 0.0000006 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 717.0000000 0.0000047 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 163.2000000 0.0000244 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 46.2600000 0.0001012 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.1000000 0.0003486 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.4370000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.0880000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8297000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3366000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1369000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 5 0 0.3870000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9840000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 2.4980000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 6.3420000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 16.1040000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 4 0 0.7470000 1.0000000 0.0000000 0.0000000 0.0000000 1.9100000 0.0000000 1.0000000 0.0000000 0.0000000 4.8860000 0.0000000 0.0000000 1.0000000 0.0000000 12.4980000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 1.2920000 1.0000000 0.0000000 0.0000000 3.4620000 0.0000000 1.0000000 0.0000000 9.2760000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 2.2360000 1.0000000 0.0000000 6.5860000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 4.1590000 1.0000000 $ BORON (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ BORON (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] a 5 $ S-TYPE FUNCTIONS 16 7 0 210400.0000000 0.00000583 -0.00000118 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 31500.0000000 0.00004532 -0.00000915 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7169.0000000 0.00023838 -0.00004819 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2030.0000000 0.00100570 -0.00020306 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 662.5000000 0.00364496 -0.00073917 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 239.2000000 0.01173628 -0.00238603 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 93.2600000 0.03380702 -0.00698654 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 38.6400000 0.08556593 -0.01811594 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 16.7800000 0.18260322 -0.04123129 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.5410000 0.30583760 -0.07781353 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.4820000 0.34080347 -0.12123181 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.6180000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6270000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2934000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1310000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0581500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 6 0 192.5000000 0.00013490 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 45.6400000 0.00114741 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14.7500000 0.00584793 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.5030000 0.02117091 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.2220000 0.06266872 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9590000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4314000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1969000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0903300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0406600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 2.8860000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.2670000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5560000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2440000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1070000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 1.6510000 1.0000000 0.0000000 0.0000000 0.0000000 0.8002000 0.0000000 1.0000000 0.0000000 0.0000000 0.3878000 0.0000000 0.0000000 1.0000000 0.0000000 0.1880000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 1.6469000 1.0000000 0.0000000 0.0000000 0.7889000 0.0000000 1.0000000 0.0000000 0.3779000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 1.3120000 1.0000000 0.0000000 0.5806000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 0.9847000 1.0000000 $ CARBON (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ CARBON (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] a 6 $ S-TYPE FUNCTIONS 16 7 0 312100.0000000 0.00000567 -0.00000121 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 46740.0000000 0.00004410 -0.00000939 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10640.0000000 0.00023190 -0.00004947 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3013.0000000 0.00097897 -0.00020857 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 982.8000000 0.00355163 -0.00076015 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 354.8000000 0.01144061 -0.00245469 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 138.4000000 0.03299855 -0.00720153 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 57.3500000 0.08405347 -0.01880742 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24.9200000 0.18067613 -0.04325001 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.2300000 0.30491140 -0.08259733 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.2010000 0.34141570 -0.12857592 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.4260000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9673000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4456000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1971000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0863500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 6 0 295.2000000 0.00014249 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 69.9800000 0.00122010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 22.6400000 0.00633696 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8.4850000 0.02351875 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.4590000 0.06990447 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.5040000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6783000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3087000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1400000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0617800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 4.5420000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.9790000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8621000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3756000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1636000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 2.6310000 1.0000000 0.0000000 0.0000000 0.0000000 1.2550000 0.0000000 1.0000000 0.0000000 0.0000000 0.5988000 0.0000000 0.0000000 1.0000000 0.0000000 0.2857000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 2.6520000 1.0000000 0.0000000 0.0000000 1.2040000 0.0000000 1.0000000 0.0000000 0.5470000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 2.0300000 1.0000000 0.0000000 0.8511000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 1.4910000 1.0000000 $ NITROGEN (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ NITROGEN (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] a 7 $ S-TYPE FUNCTIONS 16 7 0 432300.0000000 0.00000559 -0.00000123 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 64700.0000000 0.00004351 -0.00000958 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14720.0000000 0.00022893 -0.00005051 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4170.0000000 0.00096502 -0.00021264 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1361.0000000 0.00350219 -0.00077534 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 491.2000000 0.01129212 -0.00250624 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 191.6000000 0.03261283 -0.00736529 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 79.4100000 0.08329727 -0.01930167 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 34.5300000 0.17998566 -0.04471738 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.5800000 0.30500351 -0.08606647 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.2320000 0.34115932 -0.13329627 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.3820000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.3690000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6248000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2747000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1192000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 6 0 415.9000000 0.00014841 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 98.6100000 0.00127634 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 31.9200000 0.00670242 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.0000000 0.02526170 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.9190000 0.07518943 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.1480000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9696000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4399000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1978000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0860300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 6.7170000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.8960000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.2490000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.5380000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2320000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 3.8290000 1.0000000 0.0000000 0.0000000 0.0000000 1.7950000 0.0000000 1.0000000 0.0000000 0.0000000 0.8410000 0.0000000 0.0000000 1.0000000 0.0000000 0.3940000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 3.8560000 1.0000000 0.0000000 0.0000000 1.7020000 0.0000000 1.0000000 0.0000000 0.7510000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 2.8750000 1.0000000 0.0000000 1.1700000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 2.0990000 1.0000000 $ OXYGEN (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ OXYGEN (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] a 8 $ S-TYPE FUNCTIONS 16 7 0 570800.0000000 0.00000555 -0.00000126 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 85480.0000000 0.00004311 -0.00000977 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 19460.0000000 0.00022667 -0.00005148 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5512.0000000 0.00095637 -0.00021696 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1798.0000000 0.00347320 -0.00079162 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 648.9000000 0.01119778 -0.00255900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 253.1000000 0.03238766 -0.00753313 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 104.9000000 0.08285977 -0.01978897 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 45.6500000 0.17958381 -0.04606288 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 20.6200000 0.30522110 -0.08919560 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.5870000 0.34089349 -0.13754216 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.4930000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.8370000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8349000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3658000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1570000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 6 0 525.6000000 0.00016664 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 124.6000000 0.00143336 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 40.3400000 0.00754762 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.1800000 0.02859456 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.2450000 0.08438858 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.7320000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.2270000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5492000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2418000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1025000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 8.2530000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.5970000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.5680000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.6840000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2980000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 5.4300000 1.0000000 0.0000000 0.0000000 0.0000000 2.4160000 0.0000000 1.0000000 0.0000000 0.0000000 1.0750000 0.0000000 0.0000000 1.0000000 0.0000000 0.4780000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 5.2110000 1.0000000 0.0000000 0.0000000 2.1900000 0.0000000 1.0000000 0.0000000 0.9200000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 3.8720000 1.0000000 0.0000000 1.5050000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 2.7730000 1.0000000 $ FLUORINE (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ FLUORINE (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] a 9 $ S-TYPE FUNCTIONS 16 7 0 723500.0000000 0.00000556 -0.00000129 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 108400.0000000 0.00004318 -0.00000999 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24680.0000000 0.00022700 -0.00005260 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6990.0000000 0.00095803 -0.00022172 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2282.0000000 0.00347015 -0.00080692 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 824.6000000 0.01118526 -0.00260817 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 321.8000000 0.03232880 -0.00767402 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 133.5000000 0.08279545 -0.02019353 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 58.1100000 0.17988024 -0.04718752 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 26.2800000 0.30557831 -0.09158009 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.2400000 0.34026839 -0.14048558 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.7470000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.3650000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.0710000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4681000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1994000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 6 0 660.0000000 0.00017721 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 156.4000000 0.00152691 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 50.6400000 0.00807207 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 19.0800000 0.03074021 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.8720000 0.09011914 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.4490000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.5450000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6864000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2986000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1245000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 10.5730000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.6130000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 2.0130000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.8780000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.3830000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 7.5630000 1.0000000 0.0000000 0.0000000 0.0000000 3.3300000 0.0000000 1.0000000 0.0000000 0.0000000 1.4660000 0.0000000 0.0000000 1.0000000 0.0000000 0.6450000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 6.7350000 1.0000000 0.0000000 0.0000000 2.7830000 0.0000000 1.0000000 0.0000000 1.1500000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 5.0880000 1.0000000 0.0000000 1.9370000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 3.5810000 1.0000000 $ NEON (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ NEON (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] a 10 $ S-TYPE FUNCTIONS 16 7 0 902400.0000000 0.00000551 -0.00000129 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 135100.0000000 0.00004282 -0.00001005 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30750.0000000 0.00022514 -0.00005293 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8710.0000000 0.00095016 -0.00022312 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2842.0000000 0.00344719 -0.00081338 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1026.0000000 0.01112545 -0.00263230 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 400.1000000 0.03220568 -0.00775910 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 165.9000000 0.08259891 -0.02045277 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 72.2100000 0.17990564 -0.04797505 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 32.6600000 0.30605208 -0.09340086 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.2200000 0.34012559 -0.14277215 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.1490000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.9570000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.3350000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.5816000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2463000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 6 0 815.6000000 0.00018376 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 193.3000000 0.00158509 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 62.6000000 0.00841464 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 23.6100000 0.03220033 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.7620000 0.09396390 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.2810000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.9150000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8476000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3660000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1510000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 13.3170000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.8030000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 2.5290000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 1.1020000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.4800000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 10.3560000 1.0000000 0.0000000 0.0000000 0.0000000 4.5380000 0.0000000 1.0000000 0.0000000 0.0000000 1.9890000 0.0000000 0.0000000 1.0000000 0.0000000 0.8710000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 8.3450000 1.0000000 0.0000000 0.0000000 3.4170000 0.0000000 1.0000000 0.0000000 1.3990000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 6.5190000 1.0000000 0.0000000 2.4470000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 4.4890000 1.0000000 $ ALUMINUM (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] $ ALUMINUM (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] a 13 $ S-TYPE FUNCTIONS 21 8 0 3652000.0000000 0.0000019 -0.0000005 0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 546800.0000000 0.0000145 -0.0000038 0.0000009 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 124500.0000000 0.0000762 -0.0000198 0.0000046 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 35440.0000000 0.0003158 -0.0000821 0.0000190 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11840.0000000 0.0010974 -0.0002858 0.0000659 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4434.0000000 0.0033697 -0.0008785 0.0002031 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1812.0000000 0.0093222 -0.0024482 0.0005647 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 791.5000000 0.0237992 -0.0063100 0.0014620 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 361.0000000 0.0568191 -0.0154854 0.0035794 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 169.5000000 0.1224680 -0.0349589 0.0081516 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 81.6800000 0.2238970 -0.0707729 0.0165276 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 40.2800000 0.3134460 -0.1194230 0.0285467 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 20.2500000 0.2749750 -0.1488420 0.0361484 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.2300000 0.1105640 -0.0590465 0.0153804 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.8020000 0.0119215 0.2166930 -0.0612141 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.3390000 0.0006528 0.4765570 -0.1512630 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.1630000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5882000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2311000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1027000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0452100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 7 0 2884.0000000 0.0000638 -0.0000080 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 683.2000000 0.0005631 -0.0000651 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 222.0000000 0.0031691 -0.0003999 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 84.8200000 0.0132401 -0.0015369 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 35.8100000 0.0433403 -0.0055644 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 16.2200000 0.1119500 -0.0131106 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.7020000 0.2177960 -0.0297200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.7410000 0.3116750 -0.0347195 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.8310000 0.3167220 -0.0551621 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8878000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3989000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1718000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0729800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0306900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 2.2143000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9449000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4032000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1721000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0734300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 0.8756000 1.0000000 0.0000000 0.0000000 0.0000000 0.4472000 0.0000000 1.0000000 0.0000000 0.0000000 0.2284000 0.0000000 0.0000000 1.0000000 0.0000000 0.1167000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.6952000 1.0000000 0.0000000 0.0000000 0.3771000 0.0000000 1.0000000 0.0000000 0.2046000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.6560000 1.0000000 0.0000000 0.3300000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 0.5302000 1.0000000 $ SILICON (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] $ SILICON (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] a 14 $ S-TYPE FUNCTIONS 21 8 0 4465000.0000000 0.0000017 -0.0000005 0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 668500.0000000 0.0000136 -0.0000036 0.0000009 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 152200.0000000 0.0000714 -0.0000190 0.0000049 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 43300.0000000 0.0002973 -0.0000791 0.0000203 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14410.0000000 0.0010383 -0.0002769 0.0000709 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5394.0000000 0.0031747 -0.0008472 0.0002172 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2212.0000000 0.0087324 -0.0023478 0.0006013 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 968.1000000 0.0223830 -0.0060705 0.0015591 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 441.2000000 0.0537273 -0.0149711 0.0038443 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 207.1000000 0.1166490 -0.0339729 0.0087797 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 99.8000000 0.2159780 -0.0694584 0.0180388 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 49.2400000 0.3095660 -0.1190010 0.0315224 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24.7400000 0.2839450 -0.1536450 0.0416905 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.4700000 0.1222320 -0.0704684 0.0200973 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.7950000 0.0141952 0.2131490 -0.0667484 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.8300000 0.0003121 0.4915960 -0.1819060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4070000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6995000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3083000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1385000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0614500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 7 0 3572.0000000 0.0000599 -0.0000128 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 846.0000000 0.0005296 -0.0001126 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 274.8000000 0.0029958 -0.0006402 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 105.0000000 0.0126335 -0.0027029 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 44.3500000 0.0419044 -0.0090789 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 20.0800000 0.1102590 -0.0242348 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.5300000 0.2188310 -0.0493460 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.6340000 0.3178280 -0.0725859 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.2800000 0.3194250 -0.0804258 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.1160000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4991000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2254000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1001000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0433200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 3.2386000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.3767000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5853000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2488000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1058000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 1.3510000 1.0000000 0.0000000 0.0000000 0.0000000 0.6600000 0.0000000 1.0000000 0.0000000 0.0000000 0.3225000 0.0000000 0.0000000 1.0000000 0.0000000 0.1575000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 0.8528000 1.0000000 0.0000000 0.0000000 0.4631000 0.0000000 1.0000000 0.0000000 0.2515000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 0.8557000 1.0000000 0.0000000 0.4231000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 0.6946000 1.0000000 $ PHOSPHOROUS (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] $ PHOSPHOROUS (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] a 15 $ S-TYPE FUNCTIONS 21 8 0 5384000.0000000 0.0000016 -0.0000004 0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 806200.0000000 0.0000128 -0.0000035 0.0000010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 183600.0000000 0.0000672 -0.0000183 0.0000050 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 52250.0000000 0.0002797 -0.0000759 0.0000209 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 17390.0000000 0.0009767 -0.0002657 0.0000730 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6523.0000000 0.0029684 -0.0008080 0.0002221 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2687.0000000 0.0081240 -0.0022273 0.0006122 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1178.0000000 0.0209200 -0.0057833 0.0015918 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 536.2000000 0.0505590 -0.0143438 0.0039534 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 251.5000000 0.1104790 -0.0327061 0.0090572 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 121.3000000 0.2069570 -0.0673716 0.0187909 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 59.8800000 0.3047370 -0.1176470 0.0333831 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30.0500000 0.2929520 -0.1572800 0.0459484 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.1200000 0.1355610 -0.0838544 0.0255240 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.0100000 0.0173208 0.1997180 -0.0669496 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.4410000 -0.0000352 0.4986050 -0.2036450 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.7120000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8337000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3912000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1777000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0793900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 7 0 4552.0000000 0.0000520 -0.0000124 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1078.0000000 0.0004604 -0.0001094 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 350.1000000 0.0026208 -0.0006256 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 133.8000000 0.0111873 -0.0026734 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 56.5200000 0.0378229 -0.0091552 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 25.5800000 0.1021160 -0.0250993 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.1400000 0.2103140 -0.0531810 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.9020000 0.3173830 -0.0815888 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.9100000 0.3271650 -0.0919725 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4350000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6570000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3005000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1340000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0578300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 4.3008000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.8346000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.7826000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3339000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1424000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 1.8160000 1.0000000 0.0000000 0.0000000 0.0000000 0.8806000 0.0000000 1.0000000 0.0000000 0.0000000 0.4270000 0.0000000 0.0000000 1.0000000 0.0000000 0.2070000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 1.0616000 1.0000000 0.0000000 0.0000000 0.5791000 0.0000000 1.0000000 0.0000000 0.3159000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 1.0850000 1.0000000 0.0000000 0.5277000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 0.8890000 1.0000000 $ SULFUR (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] $ SULFUR (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] a 16 $ S-TYPE FUNCTIONS 21 8 0 6297000.0000000 0.0000016 -0.0000004 0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 943100.0000000 0.0000124 -0.0000034 0.0000010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 214900.0000000 0.0000649 -0.0000179 0.0000052 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 61250.0000000 0.0002693 -0.0000744 0.0000216 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 20450.0000000 0.0009347 -0.0002587 0.0000751 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7719.0000000 0.0028083 -0.0007777 0.0002258 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3198.0000000 0.0076740 -0.0021396 0.0006217 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1402.0000000 0.0198898 -0.0055906 0.0016251 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 637.2000000 0.0482589 -0.0139076 0.0040535 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 298.9000000 0.1057570 -0.0317689 0.0092902 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 144.3000000 0.2002230 -0.0659302 0.0194561 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 71.2100000 0.3007280 -0.1168320 0.0350040 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 35.7300000 0.2986880 -0.1597870 0.0494897 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 17.9700000 0.1463470 -0.0945322 0.0303443 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8.3410000 0.0201159 0.1878280 -0.0663661 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.1120000 -0.0002488 0.5046830 -0.2231540 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.0450000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9770000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4766000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2185000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0975900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 7 0 5266.0000000 0.0000523 -0.0000133 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1247.0000000 0.0004635 -0.0001179 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 405.0000000 0.0026410 -0.0006759 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 154.8000000 0.0113169 -0.0028973 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 65.3800000 0.0384704 -0.0099980 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 29.5900000 0.1043390 -0.0275416 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14.0400000 0.2156840 -0.0587943 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.8240000 0.3252600 -0.0903761 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.3690000 0.3261780 -0.0999891 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.6660000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7681000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3504000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1556000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0668100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 5.0755000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.1833000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.9392000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4040000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1738000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 2.2120000 1.0000000 0.0000000 0.0000000 0.0000000 1.0630000 0.0000000 1.0000000 0.0000000 0.0000000 0.5100000 0.0000000 0.0000000 1.0000000 0.0000000 0.2450000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 1.3473000 1.0000000 0.0000000 0.0000000 0.7009000 0.0000000 1.0000000 0.0000000 0.3647000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 1.2861000 1.0000000 0.0000000 0.6115000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 1.0409000 1.0000000 $ CHLORINE (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] $ CHLORINE (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] a 17 $ S-TYPE FUNCTIONS 21 8 0 7733000.0000000 0.14347400E-05 -0.40222700E-06 0.12169600E-06 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1158000.0000000 0.11148600E-04 -0.31244800E-05 0.94514100E-06 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 263700.0000000 0.58586500E-04 -0.16429000E-04 0.49711900E-05 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 75010.0000000 0.24451800E-03 -0.68542100E-04 0.20732300E-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24890.0000000 0.85828700E-03 -0.24100100E-03 0.72940200E-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9318.0000000 0.26101900E-02 -0.73353800E-03 0.22189900E-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3840.0000000 0.71378400E-02 -0.20183000E-02 0.61135500E-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1684.0000000 0.18456400E-01 -0.52610700E-02 0.15933700E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 766.3000000 0.44894400E-01 -0.13098600E-01 0.39800100E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 359.5000000 0.99382200E-01 -0.30179400E-01 0.91937500E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 173.4000000 0.19078200 -0.63188800E-01 0.19439900E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 85.6100000 0.29356500 -0.11385900 0.35518700E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 42.9300000 0.30647700 -0.16125100 0.52067400E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 21.5500000 0.16220900 -0.10923400 0.36564400E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.0500000 0.24938300E-01 0.16299900 -0.59750000E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.9780000 -0.51314200E-03 0.50141300 -0.23164100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.4780000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.1800000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5828000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2668000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1183000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 7 0 6091.0000000 0.51619400E-04 -0.13925900E-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1442.0000000 0.45846800E-03 -0.12332400E-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 468.3000000 0.26150900E-02 -0.70755100E-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 179.0000000 0.11255400E-01 -0.30493900E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 75.6100000 0.38457700E-01 -0.10575200E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 34.2200000 0.10508100E+00 -0.29409400E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 16.2300000 0.21860300E+00 -0.63229600E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.8900000 0.33087400E+00 -0.98187000E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.8980000 0.32587900E+00 -0.10587000E+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.9330000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9057000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4140000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1836000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0785900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 6.2428000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.6906000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.1596000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4998000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2154000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 2.5327000 1.0000000 0.0000000 0.0000000 0.0000000 1.2406000 0.0000000 1.0000000 0.0000000 0.0000000 0.6077000 0.0000000 0.0000000 1.0000000 0.0000000 0.2977000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 1.5388000 1.0000000 0.0000000 0.0000000 0.8050000 0.0000000 1.0000000 0.0000000 0.4212000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 1.5613000 1.0000000 0.0000000 0.7397000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 1.2572000 1.0000000 $ ARGON (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] $ ARGON (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] a 18 $ S-TYPE FUNCTIONS 21 8 0 9149000.0000000 0.0000013 -0.0000004 0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1370000.0000000 0.0000104 -0.0000030 0.0000009 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 311900.0000000 0.0000549 -0.0000156 0.0000049 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 88650.0000000 0.0002296 -0.0000652 0.0000204 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 29330.0000000 0.0008103 -0.0002304 0.0000720 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10930.0000000 0.0024853 -0.0007075 0.0002210 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4480.0000000 0.0068369 -0.0019573 0.0006125 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1962.0000000 0.0176199 -0.0050856 0.0015908 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 894.1000000 0.0428752 -0.0126528 0.0039722 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 419.6000000 0.0954853 -0.0293065 0.0092204 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 202.3000000 0.1850640 -0.0617712 0.0196367 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 99.8400000 0.2890420 -0.1125410 0.0362570 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 50.0700000 0.3101660 -0.1622930 0.0541725 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 25.1400000 0.1721830 -0.1184120 0.0409996 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.8100000 0.0285227 0.1461480 -0.0551744 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.8820000 -0.0005757 0.4977520 -0.2387540 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.9390000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4050000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6963000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3188000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1410000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 14 7 0 7050.0000000 0.0000502 -0.0000140 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1669.0000000 0.0004454 -0.0001243 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 542.1000000 0.0025480 -0.0007147 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 207.1000000 0.0110155 -0.0030968 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 87.5200000 0.0378490 -0.0107961 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 39.6100000 0.1043550 -0.0303536 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 18.7800000 0.2193350 -0.0659785 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.1300000 0.3346150 -0.1038770 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.5160000 0.3267710 -0.1099560 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.2450000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0650000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4885000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2166000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0925500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 7.6327000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.2876000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.4160000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.6099000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2627000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 3.0582000 1.0000000 0.0000000 0.0000000 0.0000000 1.5292000 0.0000000 1.0000000 0.0000000 0.0000000 0.7647000 0.0000000 0.0000000 1.0000000 0.0000000 0.3824000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 1.8450000 1.0000000 0.0000000 0.0000000 0.9657000 0.0000000 1.0000000 0.0000000 0.5055000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 1.8743000 1.0000000 0.0000000 0.8871000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 1 1 0 1.5066000 1.0000000 ergo-3.5/basis/6-31G0000775000175000017500000007701412743400275011001 00000000000000$ Basis = 6-31G $ Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar Zn $ $ REFERENCE $ Elements References $ -------- ---------- $ H - He: W.J. Hehre, R. Ditchfield and J.A. Pople, J. Chem. Phys. 56, $ Li - Ne: 2257 (1972). Note: Li and B come from J.D. Dill and J.A. $ Pople, J. Chem. Phys. 62, 2921 (1975). $ Na - Ar: M.M. Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, $ D.J. DeFrees and J.A. Pople, J. Chem. Phys. 77, 3654 (1982) $ K - Zn: V. Rassolov, J.A. Pople, M. Ratner and T.L. Windus, J. Chem. Phys. $ 109, 1223 (1998) $ ** $ Note: He and Ne are unpublished basis sets taken from the Gaussian $ program $ a 1 $ HYDROGEN (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 18.7311370 0.03349460 0.00000000 2.8253937 0.23472695 0.00000000 0.6401217 0.81375733 0.00000000 0.1612778 0.00000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 38.4216340 0.02376600 0.00000000 5.7780300 0.15467900 0.00000000 1.2417740 0.46963000 0.00000000 0.2979640 0.00000000 1.00000000 a 3 $ LITHIUM (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 642.4189200 0.00214260 0.00000000 0.00000000 96.7985150 0.01620890 0.00000000 0.00000000 22.0911210 0.07731560 0.00000000 0.00000000 6.2010703 0.24578600 0.00000000 0.00000000 1.9351177 0.47018900 0.00000000 0.00000000 0.6367358 0.34547080 0.00000000 0.00000000 2.3249184 0.00000000 -0.03509170 0.00000000 0.6324306 0.00000000 -0.19123280 0.00000000 0.0790534 0.00000000 1.08398780 0.00000000 0.0359620 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 2.3249184 0.00894150 0.00000000 0.6324306 0.14100950 0.00000000 0.0790534 0.94536370 0.00000000 0.0359620 0.00000000 1.00000000 a 4 $ BERYLLIUM (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 1264.5857000 0.00194480 0.00000000 0.00000000 189.9368100 0.01483510 0.00000000 0.00000000 43.1590890 0.07209060 0.00000000 0.00000000 12.0986630 0.23715420 0.00000000 0.00000000 3.8063232 0.46919870 0.00000000 0.00000000 1.2728903 0.35652020 0.00000000 0.00000000 3.1964631 0.00000000 -0.11264870 0.00000000 0.7478133 0.00000000 -0.22950640 0.00000000 0.2199663 0.00000000 1.18691670 0.00000000 0.0823099 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 3.1964631 0.05598020 0.00000000 0.7478133 0.26155060 0.00000000 0.2199663 0.79397230 0.00000000 0.0823099 0.00000000 1.00000000 a 5 $ BORON (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 2068.8823000 0.00186630 0.00000000 0.00000000 310.6495700 0.01425150 0.00000000 0.00000000 70.6830330 0.06955160 0.00000000 0.00000000 19.8610800 0.23257290 0.00000000 0.00000000 6.2993048 0.46707870 0.00000000 0.00000000 2.1270270 0.36343140 0.00000000 0.00000000 4.7279710 0.00000000 -0.13039380 0.00000000 1.1903377 0.00000000 -0.13078890 0.00000000 0.3594117 0.00000000 1.13094440 0.00000000 0.1267512 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 4.7279710 0.07459760 0.00000000 1.1903377 0.30784670 0.00000000 0.3594117 0.74345680 0.00000000 0.1267512 0.00000000 1.00000000 a 6 $ CARBON (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 3047.5249000 0.00183470 0.00000000 0.00000000 457.3695100 0.01403730 0.00000000 0.00000000 103.9486900 0.06884260 0.00000000 0.00000000 29.2101550 0.23218440 0.00000000 0.00000000 9.2866630 0.46794130 0.00000000 0.00000000 3.1639270 0.36231200 0.00000000 0.00000000 7.8682724 0.00000000 -0.11933240 0.00000000 1.8812885 0.00000000 -0.16085420 0.00000000 0.5442493 0.00000000 1.14345640 0.00000000 0.1687144 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 7.8682724 0.06899910 0.00000000 1.8812885 0.31642400 0.00000000 0.5442493 0.74430830 0.00000000 0.1687144 0.00000000 1.00000000 a 7 $ NITROGEN (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 4173.5110000 0.00183480 0.00000000 0.00000000 627.4579000 0.01399500 0.00000000 0.00000000 142.9021000 0.06858700 0.00000000 0.00000000 40.2343300 0.23224100 0.00000000 0.00000000 12.8202100 0.46907000 0.00000000 0.00000000 4.3904370 0.36045500 0.00000000 0.00000000 11.6263580 0.00000000 -0.11496100 0.00000000 2.7162800 0.00000000 -0.16911800 0.00000000 0.7722180 0.00000000 1.14585200 0.00000000 0.2120313 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 11.6263580 0.06758000 0.00000000 2.7162800 0.32390700 0.00000000 0.7722180 0.74089500 0.00000000 0.2120313 0.00000000 1.00000000 a 8 $ OXYGEN (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 5484.6717000 0.00183110 0.00000000 0.00000000 825.2349500 0.01395010 0.00000000 0.00000000 188.0469600 0.06844510 0.00000000 0.00000000 52.9645000 0.23271430 0.00000000 0.00000000 16.8975700 0.47019300 0.00000000 0.00000000 5.7996353 0.35852090 0.00000000 0.00000000 15.5396160 0.00000000 -0.11077750 0.00000000 3.5999336 0.00000000 -0.14802630 0.00000000 1.0137618 0.00000000 1.13076700 0.00000000 0.2700058 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 15.5396160 0.07087430 0.00000000 3.5999336 0.33975280 0.00000000 1.0137618 0.72715860 0.00000000 0.2700058 0.00000000 1.00000000 a 9 $ FLUORINE (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 7001.1713000 0.00181960 0.00000000 0.00000000 1051.3660000 0.01391600 0.00000000 0.00000000 239.2857000 0.06840500 0.00000000 0.00000000 67.3974500 0.23318600 0.00000000 0.00000000 21.5199600 0.47126700 0.00000000 0.00000000 7.4031010 0.35661900 0.00000000 0.00000000 20.8479500 0.00000000 -0.10850700 0.00000000 4.8083080 0.00000000 -0.14645200 0.00000000 1.3440700 0.00000000 1.12868900 0.00000000 0.3581514 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 20.8479500 0.07162900 0.00000000 4.8083080 0.34591200 0.00000000 1.3440700 0.72247000 0.00000000 0.3581514 0.00000000 1.00000000 a 10 $ NEON (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 8425.8515300 0.00188435 0.00000000 0.00000000 1268.5194000 0.01433690 0.00000000 0.00000000 289.6214140 0.07010962 0.00000000 0.00000000 81.8590040 0.23737327 0.00000000 0.00000000 26.2515079 0.47300713 0.00000000 0.00000000 9.0947205 0.34840124 0.00000000 0.00000000 26.5321310 0.00000000 -0.10711829 0.00000000 6.1017550 0.00000000 -0.14616382 0.00000000 1.6962715 0.00000000 1.12777350 0.00000000 0.4458187 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 26.5321310 0.07190959 0.00000000 6.1017550 0.34951337 0.00000000 1.6962715 0.71994051 0.00000000 0.4458187 0.00000000 1.00000000 a 11 $ SODIUM (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 9993.2000000 0.00193770 0.00000000 0.00000000 0.00000000 1499.8900000 0.01480700 0.00000000 0.00000000 0.00000000 341.9510000 0.07270600 0.00000000 0.00000000 0.00000000 94.6797000 0.25262900 0.00000000 0.00000000 0.00000000 29.7345000 0.49324200 0.00000000 0.00000000 0.00000000 10.0063000 0.31316900 0.00000000 0.00000000 0.00000000 150.9630000 0.00000000 -0.00354210 0.00000000 0.00000000 35.5878000 0.00000000 -0.04395900 0.00000000 0.00000000 11.1683000 0.00000000 -0.10975210 0.00000000 0.00000000 3.9020100 0.00000000 0.18739800 0.00000000 0.00000000 1.3817700 0.00000000 0.64669900 0.00000000 0.00000000 0.4663820 0.00000000 0.30605800 0.00000000 0.00000000 0.4979660 0.00000000 0.00000000 -0.24850300 0.00000000 0.0843530 0.00000000 0.00000000 -0.13170400 0.00000000 0.0666350 0.00000000 0.00000000 1.23352000 0.00000000 0.0259544 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 150.9630000 0.00500170 0.00000000 0.00000000 35.5878000 0.03551100 0.00000000 0.00000000 11.1683000 0.14282500 0.00000000 0.00000000 3.9020100 0.33862000 0.00000000 0.00000000 1.3817700 0.45157900 0.00000000 0.00000000 0.4663820 0.27327100 0.00000000 0.00000000 0.4979660 0.00000000 -0.02302300 0.00000000 0.0843530 0.00000000 0.95035900 0.00000000 0.0666350 0.00000000 0.05985800 0.00000000 0.0259544 0.00000000 0.00000000 1.00000000 a 12 $ MAGNESIUM (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 11722.8000000 0.00197780 0.00000000 0.00000000 0.00000000 1759.9300000 0.01511400 0.00000000 0.00000000 0.00000000 400.8460000 0.07391100 0.00000000 0.00000000 0.00000000 112.8070000 0.24919100 0.00000000 0.00000000 0.00000000 35.9997000 0.48792800 0.00000000 0.00000000 0.00000000 12.1828000 0.31966200 0.00000000 0.00000000 0.00000000 189.1800000 0.00000000 -0.00323720 0.00000000 0.00000000 45.2119000 0.00000000 -0.04100800 0.00000000 0.00000000 14.3563000 0.00000000 -0.11260000 0.00000000 0.00000000 5.1388600 0.00000000 0.14863300 0.00000000 0.00000000 1.9065200 0.00000000 0.61649700 0.00000000 0.00000000 0.7058870 0.00000000 0.36482900 0.00000000 0.00000000 0.9293400 0.00000000 0.00000000 -0.21229000 0.00000000 0.2690350 0.00000000 0.00000000 -0.10798500 0.00000000 0.1173790 0.00000000 0.00000000 1.17584000 0.00000000 0.0421061 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 189.1800000 0.00492810 0.00000000 0.00000000 45.2119000 0.03498900 0.00000000 0.00000000 14.3563000 0.14072500 0.00000000 0.00000000 5.1388600 0.33364200 0.00000000 0.00000000 1.9065200 0.44494000 0.00000000 0.00000000 0.7058870 0.26925400 0.00000000 0.00000000 0.9293400 0.00000000 -0.02241900 0.00000000 0.2690350 0.00000000 0.19227000 0.00000000 0.1173790 0.00000000 0.84618100 0.00000000 0.0421061 0.00000000 0.00000000 1.00000000 a 13 $ ALUMINUM (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 13983.1000000 0.00194270 0.00000000 0.00000000 0.00000000 2098.7500000 0.01486000 0.00000000 0.00000000 0.00000000 477.7050000 0.07284900 0.00000000 0.00000000 0.00000000 134.3600000 0.24683000 0.00000000 0.00000000 0.00000000 42.8709000 0.48725800 0.00000000 0.00000000 0.00000000 14.5189000 0.32349600 0.00000000 0.00000000 0.00000000 239.6680000 0.00000000 -0.00292620 0.00000000 0.00000000 57.4419000 0.00000000 -0.03740800 0.00000000 0.00000000 18.2859000 0.00000000 -0.11448700 0.00000000 0.00000000 6.5991400 0.00000000 0.11563500 0.00000000 0.00000000 2.4904900 0.00000000 0.61259500 0.00000000 0.00000000 0.9445400 0.00000000 0.39379900 0.00000000 0.00000000 1.2779000 0.00000000 0.00000000 -0.22760600 0.00000000 0.3975900 0.00000000 0.00000000 0.14458300 0.00000000 0.1600950 0.00000000 0.00000000 1.09279000 0.00000000 0.0556577 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 239.6680000 0.00460290 0.00000000 0.00000000 57.4419000 0.03319900 0.00000000 0.00000000 18.2859000 0.13628200 0.00000000 0.00000000 6.5991400 0.33047600 0.00000000 0.00000000 2.4904900 0.44914600 0.00000000 0.00000000 0.9445400 0.26570400 0.00000000 0.00000000 1.2779000 0.00000000 -0.01751300 0.00000000 0.3975900 0.00000000 0.24453300 0.00000000 0.1600950 0.00000000 0.80493400 0.00000000 0.0556577 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 16115.9000000 0.00195948 0.00000000 0.00000000 0.00000000 2425.5800000 0.01492880 0.00000000 0.00000000 0.00000000 553.8670000 0.07284780 0.00000000 0.00000000 0.00000000 156.3400000 0.24613000 0.00000000 0.00000000 0.00000000 50.0683000 0.48591400 0.00000000 0.00000000 0.00000000 17.0178000 0.32500200 0.00000000 0.00000000 0.00000000 292.7180000 0.00000000 -0.00278094 0.00000000 0.00000000 69.8731000 0.00000000 -0.03571460 0.00000000 0.00000000 22.3363000 0.00000000 -0.11498500 0.00000000 0.00000000 8.1503900 0.00000000 0.09356340 0.00000000 0.00000000 3.1345800 0.00000000 0.60301700 0.00000000 0.00000000 1.2254300 0.00000000 0.41895900 0.00000000 0.00000000 1.7273800 0.00000000 0.00000000 -0.24463000 0.00000000 0.5729220 0.00000000 0.00000000 0.00431572 0.00000000 0.2221920 0.00000000 0.00000000 1.09818000 0.00000000 0.0778369 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 292.7180000 0.00443826 0.00000000 0.00000000 69.8731000 0.03266790 0.00000000 0.00000000 22.3363000 0.13472100 0.00000000 0.00000000 8.1503900 0.32867800 0.00000000 0.00000000 3.1345800 0.44964000 0.00000000 0.00000000 1.2254300 0.26137200 0.00000000 0.00000000 1.7273800 0.00000000 -0.01779510 0.00000000 0.5729220 0.00000000 0.25353900 0.00000000 0.2221920 0.00000000 0.80066900 0.00000000 0.0778369 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 19413.3000000 0.00185160 0.00000000 0.00000000 0.00000000 2909.4200000 0.01420620 0.00000000 0.00000000 0.00000000 661.3640000 0.06999950 0.00000000 0.00000000 0.00000000 185.7590000 0.24007900 0.00000000 0.00000000 0.00000000 59.1943000 0.48476200 0.00000000 0.00000000 0.00000000 20.0310000 0.33520000 0.00000000 0.00000000 0.00000000 339.4780000 0.00000000 -0.00278217 0.00000000 0.00000000 81.0101000 0.00000000 -0.03604990 0.00000000 0.00000000 25.8780000 0.00000000 -0.11663100 0.00000000 0.00000000 9.4522100 0.00000000 0.09683280 0.00000000 0.00000000 3.6656600 0.00000000 0.61441800 0.00000000 0.00000000 1.4674600 0.00000000 0.40379800 0.00000000 0.00000000 2.1562300 0.00000000 0.00000000 -0.25292300 0.00000000 0.7489970 0.00000000 0.00000000 0.03285170 0.00000000 0.2831450 0.00000000 0.00000000 1.08125000 0.00000000 0.0998317 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 339.4780000 0.00456462 0.00000000 0.00000000 81.0101000 0.03369360 0.00000000 0.00000000 25.8780000 0.13975500 0.00000000 0.00000000 9.4522100 0.33936200 0.00000000 0.00000000 3.6656600 0.45092100 0.00000000 0.00000000 1.4674600 0.23858600 0.00000000 0.00000000 2.1562300 0.00000000 -0.01776530 0.00000000 0.7489970 0.00000000 0.27405800 0.00000000 0.2831450 0.00000000 0.78542100 0.00000000 0.0998317 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 21917.1000000 0.00186900 0.00000000 0.00000000 0.00000000 3301.4900000 0.01423000 0.00000000 0.00000000 0.00000000 754.1460000 0.06969600 0.00000000 0.00000000 0.00000000 212.7110000 0.23848700 0.00000000 0.00000000 0.00000000 67.9896000 0.48330700 0.00000000 0.00000000 0.00000000 23.0515000 0.33807400 0.00000000 0.00000000 0.00000000 423.7350000 0.00000000 -0.00237670 0.00000000 0.00000000 100.7100000 0.00000000 -0.03169300 0.00000000 0.00000000 32.1599000 0.00000000 -0.11331700 0.00000000 0.00000000 11.8079000 0.00000000 0.05609000 0.00000000 0.00000000 4.6311000 0.00000000 0.59225500 0.00000000 0.00000000 1.8702500 0.00000000 0.45500600 0.00000000 0.00000000 2.6158400 0.00000000 0.00000000 -0.25037400 0.00000000 0.9221670 0.00000000 0.00000000 0.06695700 0.00000000 0.3412870 0.00000000 0.00000000 1.05451000 0.00000000 0.1171670 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 423.7350000 0.00406100 0.00000000 0.00000000 100.7100000 0.03068100 0.00000000 0.00000000 32.1599000 0.13045200 0.00000000 0.00000000 11.8079000 0.32720500 0.00000000 0.00000000 4.6311000 0.45285100 0.00000000 0.00000000 1.8702500 0.25604200 0.00000000 0.00000000 2.6158400 0.00000000 -0.01451100 0.00000000 0.9221670 0.00000000 0.31026300 0.00000000 0.3412870 0.00000000 0.75448300 0.00000000 0.1171670 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 25180.1000000 0.00183300 0.00000000 0.00000000 0.00000000 3780.3500000 0.01403400 0.00000000 0.00000000 0.00000000 860.4740000 0.06909700 0.00000000 0.00000000 0.00000000 242.1450000 0.23745200 0.00000000 0.00000000 0.00000000 77.3349000 0.48303400 0.00000000 0.00000000 0.00000000 26.2470000 0.33985600 0.00000000 0.00000000 0.00000000 491.7650000 0.00000000 -0.00229740 0.00000000 0.00000000 116.9840000 0.00000000 -0.03071400 0.00000000 0.00000000 37.4153000 0.00000000 -0.11252800 0.00000000 0.00000000 13.7834000 0.00000000 0.04501600 0.00000000 0.00000000 5.4521500 0.00000000 0.58935300 0.00000000 0.00000000 2.2258800 0.00000000 0.46520600 0.00000000 0.00000000 3.1864900 0.00000000 0.00000000 -0.25183000 0.00000000 1.1442700 0.00000000 0.00000000 0.06158900 0.00000000 0.4203770 0.00000000 0.00000000 1.06018000 0.00000000 0.1426570 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 491.7650000 0.00398940 0.00000000 0.00000000 116.9840000 0.03031800 0.00000000 0.00000000 37.4153000 0.12988000 0.00000000 0.00000000 13.7834000 0.32795100 0.00000000 0.00000000 5.4521500 0.45352700 0.00000000 0.00000000 2.2258800 0.25215400 0.00000000 0.00000000 3.1864900 0.00000000 -0.01429900 0.00000000 1.1442700 0.00000000 0.32357200 0.00000000 0.4203770 0.00000000 0.74350700 0.00000000 0.1426570 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 28348.3000000 0.00182526 0.00000000 0.00000000 0.00000000 4257.6200000 0.01396860 0.00000000 0.00000000 0.00000000 969.8570000 0.06870730 0.00000000 0.00000000 0.00000000 273.2630000 0.23620400 0.00000000 0.00000000 0.00000000 87.3695000 0.48221400 0.00000000 0.00000000 0.00000000 29.6867000 0.34204300 0.00000000 0.00000000 0.00000000 575.8910000 0.00000000 -0.00215972 0.00000000 0.00000000 136.8160000 0.00000000 -0.02907750 0.00000000 0.00000000 43.8098000 0.00000000 -0.11082700 0.00000000 0.00000000 16.2094000 0.00000000 0.02769990 0.00000000 0.00000000 6.4608400 0.00000000 0.57761300 0.00000000 0.00000000 2.6511400 0.00000000 0.48868800 0.00000000 0.00000000 3.8602800 0.00000000 0.00000000 -0.25559200 0.00000000 1.4137300 0.00000000 0.00000000 0.03780660 0.00000000 0.5166460 0.00000000 0.00000000 1.08056000 0.00000000 0.1738880 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 575.8910000 0.00380665 0.00000000 0.00000000 136.8160000 0.02923050 0.00000000 0.00000000 43.8098000 0.12646700 0.00000000 0.00000000 16.2094000 0.32351000 0.00000000 0.00000000 6.4608400 0.45489600 0.00000000 0.00000000 2.6511400 0.25663000 0.00000000 0.00000000 3.8602800 0.00000000 -0.01591970 0.00000000 1.4137300 0.00000000 0.32464600 0.00000000 0.5166460 0.00000000 0.74399000 0.00000000 0.1738880 0.00000000 0.00000000 1.00000000 a 25 ! MANGANESE (22s,16p,4d) -> [5s,4p,2d] ! s functions 22 5 0 56347.1400000 1.771580E-03 0.0000000 0.0000000 0.0000000 0.0000000 8460.9430000 1.357081E-02 0.0000000 0.0000000 0.0000000 0.0000000 1927.3250000 6.690605E-02 0.0000000 0.0000000 0.0000000 0.0000000 543.2343000 2.318541E-01 0.0000000 0.0000000 0.0000000 0.0000000 173.9905000 4.799046E-01 0.0000000 0.0000000 0.0000000 0.0000000 59.3600500 3.495737E-01 0.0000000 0.0000000 0.0000000 0.0000000 1165.4120000 0.0000000 2.388751E-03 0.0000000 0.0000000 0.0000000 277.3276000 0.0000000 3.181708E-02 0.0000000 0.0000000 0.0000000 89.4727800 0.0000000 1.254670E-01 0.0000000 0.0000000 0.0000000 33.4825600 0.0000000 -2.955431E-02 0.0000000 0.0000000 0.0000000 13.5403700 0.0000000 -6.175160E-01 0.0000000 0.0000000 0.0000000 5.5579720 0.0000000 -4.544458E-01 0.0000000 0.0000000 0.0000000 45.8353200 0.0000000 0.0000000 -3.665856E-03 0.0000000 0.0000000 15.1877700 0.0000000 0.0000000 7.231971E-02 0.0000000 0.0000000 6.5007100 0.0000000 0.0000000 2.544486E-01 0.0000000 0.0000000 2.7515830 0.0000000 0.0000000 -2.910380E-01 0.0000000 0.0000000 1.1454040 0.0000000 0.0000000 -7.359860E-01 0.0000000 0.0000000 0.4536870 0.0000000 0.0000000 -1.997617E-01 0.0000000 0.0000000 1.7579990 0.0000000 0.0000000 0.0000000 0.05628572 0.0000000 0.6670220 0.0000000 0.0000000 0.0000000 0.2897491 0.0000000 0.1051290 0.0000000 0.0000000 0.0000000 -1.1406530 0.0000000 0.0384180 0.0000000 0.0000000 0.0000000 0.0000000 1.000000E+00 ! p functions 16 4 0 1165.4120000 3.977318E-03 0.0000000 0.0000000 0.0000000 277.3276000 3.103112E-02 0.0000000 0.0000000 0.0000000 89.4727800 1.351894E-01 0.0000000 0.0000000 0.0000000 33.4825600 3.457387E-01 0.0000000 0.0000000 0.0000000 13.5403700 4.629205E-01 0.0000000 0.0000000 0.0000000 5.5579720 2.090592E-01 0.0000000 0.0000000 0.0000000 45.8353200 0.0000000 -6.887578E-03 0.0000000 0.0000000 15.1877700 0.0000000 -2.846816E-02 0.0000000 0.0000000 6.5007100 0.0000000 6.031832E-02 0.0000000 0.0000000 2.7515830 0.0000000 3.938961E-01 0.0000000 0.0000000 1.1454040 0.0000000 5.013769E-01 0.0000000 0.0000000 0.4536870 0.0000000 1.792264E-01 0.0000000 0.0000000 1.7579990 0.0000000 0.0000000 -0.5035024 0.0000000 0.6670220 0.0000000 0.0000000 0.2345011 0.0000000 0.1051290 0.0000000 0.0000000 0.9141257 0.0000000 0.0384180 0.0000000 0.0000000 0.0000000 1.00000000 ! d functions 4 2 0 20.9435500 8.672702E-02 0.0000000 5.5104860 3.841883E-01 0.0000000 1.6650380 7.069071E-01 0.0000000 0.4617330 0.0000000 1.0000000 a 30 ! ZINC (22s,16p,4d) -> [5s,4p,2d] ! s functions 22 5 0 82400.9400000 1.743329E-03 0.0000000 0.0000000 0.0000000 0.0000000 12372.5500000 1.335966E-02 0.0000000 0.0000000 0.0000000 0.0000000 2818.3510000 6.594365E-02 0.0000000 0.0000000 0.0000000 0.0000000 794.5717000 2.294151E-01 0.0000000 0.0000000 0.0000000 0.0000000 254.7232000 4.785453E-01 0.0000000 0.0000000 0.0000000 0.0000000 87.1388000 3.537753E-01 0.0000000 0.0000000 0.0000000 0.0000000 1732.5690000 0.0000000 2.361459E-03 0.0000000 0.0000000 0.0000000 412.7149000 0.0000000 3.150177E-02 0.0000000 0.0000000 0.0000000 133.6780000 0.0000000 1.272774E-01 0.0000000 0.0000000 0.0000000 50.3858500 0.0000000 -2.145928E-02 0.0000000 0.0000000 0.0000000 20.5835800 0.0000000 -6.197652E-01 0.0000000 0.0000000 0.0000000 8.5059400 0.0000000 -4.590180E-01 0.0000000 0.0000000 0.0000000 69.3649200 0.0000000 0.0000000 -4.440098E-03 0.0000000 0.0000000 23.6208200 0.0000000 0.0000000 7.505253E-02 0.0000000 0.0000000 10.1847100 0.0000000 0.0000000 2.533111E-01 0.0000000 0.0000000 4.3340820 0.0000000 0.0000000 -2.881897E-01 0.0000000 0.0000000 1.8109180 0.0000000 0.0000000 -7.267052E-01 0.0000000 0.0000000 0.7148410 0.0000000 0.0000000 -2.133439E-01 0.0000000 0.0000000 2.8238420 0.0000000 0.0000000 0.0000000 0.04898543 0.0000000 1.0395430 0.0000000 0.0000000 0.0000000 0.2592793 0.0000000 0.1432640 0.0000000 0.0000000 0.0000000 -1.1157110 0.0000000 0.0492960 0.0000000 0.0000000 0.0000000 0.0000000 1.000000E+00 ! p functions 16 4 0 1732.5690000 3.963125E-03 0.0000000 0.0000000 0.0000000 412.7149000 3.113411E-02 0.0000000 0.0000000 0.0000000 133.6780000 1.363931E-01 0.0000000 0.0000000 0.0000000 50.3858500 3.501266E-01 0.0000000 0.0000000 0.0000000 20.5835800 4.623179E-01 0.0000000 0.0000000 0.0000000 8.5059400 2.004995E-01 0.0000000 0.0000000 0.0000000 69.3649200 0.0000000 -7.689262E-03 0.0000000 0.0000000 23.6208200 0.0000000 -2.997982E-02 0.0000000 0.0000000 10.1847100 0.0000000 7.082411E-02 0.0000000 0.0000000 4.3340820 0.0000000 4.046141E-01 0.0000000 0.0000000 1.8109180 0.0000000 4.882325E-01 0.0000000 0.0000000 0.7148410 0.0000000 1.751970E-01 0.0000000 0.0000000 2.8238420 0.0000000 0.0000000 -0.1586763 0.0000000 1.0395430 0.0000000 0.0000000 0.08379327 0.0000000 0.1432640 0.0000000 0.0000000 0.9840547 0.0000000 0.0492960 0.0000000 0.0000000 0.0000000 1.00000000 ! d functions 4 2 0 33.7076400 9.262648E-02 0.0000000 9.0611060 4.002980E-01 0.0000000 2.7383830 6.896608E-01 0.0000000 0.7302940 0.0000000 1.0000000 ergo-3.5/basis/cc-pVDZ0000775000175000017500000036166012743400275011515 00000000000000$ cc-pVDZ EMSL Basis Set Exchange Library 11/10/15 12:33 AM $ Elements References $ -------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $ Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $ Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $ Sc - Zn: N.B. Balabanov and K.A. Peterson, J. Chem. Phys. 123, 064107 (2005), $ N.B. Balabanov and K.A. Peterson, J. Chem. Phys. 125, 074110 (2006) $ Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ HYDROGEN (4s,1p) -> [2s,1p] $ HYDROGEN (4s,1p) -> [2s,1p] a 1 $ S-TYPE FUNCTIONS 4 2 0 13.0100000 0.0196850 0.0000000 1.9620000 0.1379770 0.0000000 0.4446000 0.4781480 0.0000000 0.1220000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 1 1 0 0.7270000 1.0000000 $ HELIUM (4s,1p) -> [2s,1p] $ HELIUM (4s,1p) -> [2s,1p] a 2 $ S-TYPE FUNCTIONS 4 2 0 38.3600000 0.0238090 0.0000000 5.7700000 0.1548910 0.0000000 1.2400000 0.4699870 0.0000000 0.2976000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 1 1 0 1.2750000 1.0000000 $ LITHIUM (9s,4p,1d) -> [3s,2p,1d] $ LITHIUM (9s,4p,1d) -> [3s,2p,1d] a 3 $ S-TYPE FUNCTIONS 9 3 0 1469.0000000 0.0007660 -0.0001200 0.0000000 220.5000000 0.0058920 -0.0009230 0.0000000 50.2600000 0.0296710 -0.0046890 0.0000000 14.2400000 0.1091800 -0.0176820 0.0000000 4.5810000 0.2827890 -0.0489020 0.0000000 1.5800000 0.4531230 -0.0960090 0.0000000 0.5640000 0.2747740 -0.1363800 0.0000000 0.0734500 0.0097510 0.5751020 0.0000000 0.0280500 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 4 2 0 1.5340000 0.0227840 0.0000000 0.2749000 0.1391070 0.0000000 0.0736200 0.5003750 0.0000000 0.0240300 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.1239000 1.0000000 $ BERYLLIUM (9s,4p,1d) -> [3s,2p,1d] $ BERYLLIUM (9s,4p,1d) -> [3s,2p,1d] a 4 $ S-TYPE FUNCTIONS 9 3 0 2940.0000000 0.0006800 -0.0001230 0.0000000 441.2000000 0.0052360 -0.0009660 0.0000000 100.5000000 0.0266060 -0.0048310 0.0000000 28.4300000 0.0999930 -0.0193140 0.0000000 9.1690000 0.2697020 -0.0532800 0.0000000 3.1960000 0.4514690 -0.1207230 0.0000000 1.1590000 0.2950740 -0.1334350 0.0000000 0.1811000 0.0125870 0.5307670 0.0000000 0.0589000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 4 2 0 3.6190000 0.0291110 0.0000000 0.7110000 0.1693650 0.0000000 0.1951000 0.5134580 0.0000000 0.0601800 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.2380000 1.0000000 $ BORON (9s,4p,1d) -> [3s,2p,1d] $ BORON (9s,4p,1d) -> [3s,2p,1d] a 5 $ S-TYPE FUNCTIONS 9 3 0 4570.0000000 0.0006960 -0.0001390 0.0000000 685.9000000 0.0053530 -0.0010970 0.0000000 156.5000000 0.0271340 -0.0054440 0.0000000 44.4700000 0.1013800 -0.0219160 0.0000000 14.4800000 0.2720550 -0.0597510 0.0000000 5.1310000 0.4484030 -0.1387320 0.0000000 1.8980000 0.2901230 -0.1314820 0.0000000 0.3329000 0.0143220 0.5395260 0.0000000 0.1043000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 4 2 0 6.0010000 0.0354810 0.0000000 1.2410000 0.1980720 0.0000000 0.3364000 0.5052300 0.0000000 0.0953800 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.3430000 1.0000000 $ CARBON (9s,4p,1d) -> [3s,2p,1d] $ CARBON (9s,4p,1d) -> [3s,2p,1d] a 6 $ S-TYPE FUNCTIONS 9 3 0 6665.0000000 0.0006920 -0.0001460 0.0000000 1000.0000000 0.0053290 -0.0011540 0.0000000 228.0000000 0.0270770 -0.0057250 0.0000000 64.7100000 0.1017180 -0.0233120 0.0000000 21.0600000 0.2747400 -0.0639550 0.0000000 7.4950000 0.4485640 -0.1499810 0.0000000 2.7970000 0.2850740 -0.1272620 0.0000000 0.5215000 0.0152040 0.5445290 0.0000000 0.1596000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 4 2 0 9.4390000 0.0381090 0.0000000 2.0020000 0.2094800 0.0000000 0.5456000 0.5085570 0.0000000 0.1517000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.5500000 1.0000000 $ NITROGEN (9s,4p,1d) -> [3s,2p,1d] $ NITROGEN (9s,4p,1d) -> [3s,2p,1d] a 7 $ S-TYPE FUNCTIONS 9 3 0 9046.0000000 0.0007000 -0.0001530 0.0000000 1357.0000000 0.0053890 -0.0012080 0.0000000 309.3000000 0.0274060 -0.0059920 0.0000000 87.7300000 0.1032070 -0.0245440 0.0000000 28.5600000 0.2787230 -0.0674590 0.0000000 10.2100000 0.4485400 -0.1580780 0.0000000 3.8380000 0.2782380 -0.1218310 0.0000000 0.7466000 0.0154400 0.5490030 0.0000000 0.2248000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 4 2 0 13.5500000 0.0399190 0.0000000 2.9170000 0.2171690 0.0000000 0.7973000 0.5103190 0.0000000 0.2185000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.8170000 1.0000000 $ OXYGEN (9s,4p,1d) -> [3s,2p,1d] $ OXYGEN (9s,4p,1d) -> [3s,2p,1d] a 8 $ S-TYPE FUNCTIONS 9 3 0 11720.0000000 0.0007100 -0.0001600 0.0000000 1759.0000000 0.0054700 -0.0012630 0.0000000 400.8000000 0.0278370 -0.0062670 0.0000000 113.7000000 0.1048000 -0.0257160 0.0000000 37.0300000 0.2830620 -0.0709240 0.0000000 13.2700000 0.4487190 -0.1654110 0.0000000 5.0250000 0.2709520 -0.1169550 0.0000000 1.0130000 0.0154580 0.5573680 0.0000000 0.3023000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 4 2 0 17.7000000 0.0430180 0.0000000 3.8540000 0.2289130 0.0000000 1.0460000 0.5087280 0.0000000 0.2753000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 1.1850000 1.0000000 $ FLUORINE (9s,4p,1d) -> [3s,2p,1d] $ FLUORINE (9s,4p,1d) -> [3s,2p,1d] a 9 $ S-TYPE FUNCTIONS 9 3 0 14710.0000000 0.0007210 -0.0001650 0.0000000 2207.0000000 0.0055530 -0.0013080 0.0000000 502.8000000 0.0282670 -0.0064950 0.0000000 142.6000000 0.1064440 -0.0266910 0.0000000 46.4700000 0.2868140 -0.0736900 0.0000000 16.7000000 0.4486410 -0.1707760 0.0000000 6.3560000 0.2647610 -0.1123270 0.0000000 1.3160000 0.0153330 0.5628140 0.0000000 0.3897000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 4 2 0 22.6700000 0.0448780 0.0000000 4.9770000 0.2357180 0.0000000 1.3470000 0.5085210 0.0000000 0.3471000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 1.6400000 1.0000000 $ NEON (9s,4p,1d) -> [3s,2p,1d] $ NEON (9s,4p,1d) -> [3s,2p,1d] a 10 $ S-TYPE FUNCTIONS 9 3 0 17880.0000000 0.0007380 -0.0001720 0.0000000 2683.0000000 0.0056770 -0.0013570 0.0000000 611.5000000 0.0288830 -0.0067370 0.0000000 173.5000000 0.1085400 -0.0276630 0.0000000 56.6400000 0.2909070 -0.0762080 0.0000000 20.4200000 0.4483240 -0.1752270 0.0000000 7.8100000 0.2580260 -0.1070380 0.0000000 1.6530000 0.0150630 0.5670500 0.0000000 0.4869000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 4 2 0 28.3900000 0.0460870 0.0000000 6.2700000 0.2401810 0.0000000 1.6950000 0.5087440 0.0000000 0.4317000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 2.2020000 1.0000000 $ SODIUM (12s,8p,1d) -> [4s,3p,1d] $ SODIUM (12s,8p,1d) -> [4s,3p,1d] a 11 $ S-TYPE FUNCTIONS 12 4 0 31700.0000000 0.458878D-03 -0.112162D-03 0.170160D-04 0.0000000 4755.0000000 0.355070D-02 -0.868512D-03 0.130693D-03 0.0000000 1082.0000000 0.182618D-01 -0.451330D-02 0.687784D-03 0.0000000 306.4000000 0.716650D-01 -0.181436D-01 0.272359D-02 0.0000000 99.5300000 0.212346D+00 -0.580799D-01 0.895529D-02 0.0000000 35.4200000 0.416203D+00 -0.137653D+00 0.207832D-01 0.0000000 13.3000000 0.373020D+00 -0.193908D+00 0.319380D-01 0.0000000 4.3920000 0.625054D-01 0.858009D-01 -0.191368D-01 0.0000000 1.6760000 -0.624532D-02 0.604419D+00 -0.102595D+00 0.0000000 0.5889000 0.243374D-02 0.441719D+00 -0.198945D+00 0.0000000 0.0564000 -0.442381D-03 0.130547D-01 0.655952D+00 0.0000000 0.0230700 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 3 0 138.1000000 0.579641D-02 -0.581531D-03 0.0000000 32.2400000 0.415756D-01 -0.407306D-02 0.0000000 9.9850000 0.162873D+00 -0.167937D-01 0.0000000 3.4840000 0.359401D+00 -0.353268D-01 0.0000000 1.2310000 0.449988D+00 -0.521971D-01 0.0000000 0.4177000 0.227507D+00 -0.168359D-01 0.0000000 0.0651300 0.808247D-02 0.434613D+00 0.0000000 0.0205300 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.0973000 1.0000000 $ MAGNESIUM (12s,8p,1d) -> [4s,3p,1d] $ MAGNESIUM (12s,8p,1d) -> [4s,3p,1d] a 12 $ S-TYPE FUNCTIONS 12 4 0 47390.0000000 0.346023D-03 -0.877839D-04 0.169628D-04 0.0000000 7108.0000000 0.268077D-02 -0.674725D-03 0.129865D-03 0.0000000 1618.0000000 0.138367D-01 -0.355603D-02 0.688831D-03 0.0000000 458.4000000 0.551767D-01 -0.142154D-01 0.273533D-02 0.0000000 149.3000000 0.169660D+00 -0.476748D-01 0.931224D-02 0.0000000 53.5900000 0.364703D+00 -0.114892D+00 0.223265D-01 0.0000000 20.7000000 0.406856D+00 -0.200676D+00 0.411195D-01 0.0000000 8.3840000 0.135089D+00 -0.341224D-01 0.545642D-02 0.0000000 2.5420000 0.490884D-02 0.570454D+00 -0.134012D+00 0.0000000 0.8787000 0.286460D-03 0.542309D+00 -0.256176D+00 0.0000000 0.1077000 0.264590D-04 0.218128D-01 0.605856D+00 0.0000000 0.0399900 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 3 0 179.9000000 0.538161D-02 -0.865948D-03 0.0000000 42.1400000 0.392418D-01 -0.615978D-02 0.0000000 13.1300000 0.157445D+00 -0.261519D-01 0.0000000 4.6280000 0.358535D+00 -0.570647D-01 0.0000000 1.6700000 0.457226D+00 -0.873906D-01 0.0000000 0.5857000 0.215918D+00 -0.122990D-01 0.0000000 0.1311000 0.664948D-02 0.502085D+00 0.0000000 0.0411200 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.1870000 1.0000000 $ ALUMINUM (12s,8p,1d) -> [4s,3p,1d] $ ALUMINUM (12s,8p,1d) -> [4s,3p,1d] a 13 $ S-TYPE FUNCTIONS 12 4 0 64150.0000000 0.290250D-03 -0.758048D-04 0.175078D-04 0.0000000 9617.0000000 0.225064D-02 -0.581791D-03 0.134208D-03 0.0000000 2189.0000000 0.116459D-01 -0.308113D-02 0.712442D-03 0.0000000 620.5000000 0.467377D-01 -0.123112D-01 0.284330D-02 0.0000000 202.7000000 0.146299D+00 -0.419781D-01 0.976842D-02 0.0000000 73.1500000 0.330283D+00 -0.103371D+00 0.241850D-01 0.0000000 28.5500000 0.415861D+00 -0.196308D+00 0.474993D-01 0.0000000 11.7700000 0.189253D+00 -0.830002D-01 0.203621D-01 0.0000000 3.3000000 0.115889D-01 0.541040D+00 -0.158788D+00 0.0000000 1.1730000 -0.128385D-02 0.578796D+00 -0.311694D+00 0.0000000 0.1752000 0.425883D-03 0.288147D-01 0.620147D+00 0.0000000 0.0647300 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 3 0 258.8000000 0.406847D-02 -0.748053D-03 0.0000000 60.8900000 0.306815D-01 -0.545796D-02 0.0000000 19.1400000 0.129149D+00 -0.245371D-01 0.0000000 6.8810000 0.320831D+00 -0.582138D-01 0.0000000 2.5740000 0.453815D+00 -0.983756D-01 0.0000000 0.9572000 0.275066D+00 -0.260064D-01 0.0000000 0.2099000 0.190807D-01 0.464020D+00 0.0000000 0.0598600 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.1890000 1.0000000 $ SILICON (12s,8p,1d) -> [4s,3p,1d] $ SILICON (12s,8p,1d) -> [4s,3p,1d] a 14 $ S-TYPE FUNCTIONS 12 4 0 78860.0000000 0.270443D-03 -0.723177D-04 0.185113D-04 0.0000000 11820.0000000 0.209717D-02 -0.555116D-03 0.142236D-03 0.0000000 2692.0000000 0.108506D-01 -0.293805D-02 0.752185D-03 0.0000000 763.4000000 0.436754D-01 -0.117687D-01 0.302279D-02 0.0000000 249.6000000 0.137653D+00 -0.402907D-01 0.103677D-01 0.0000000 90.2800000 0.316644D+00 -0.100609D+00 0.262563D-01 0.0000000 35.2900000 0.418581D+00 -0.196528D+00 0.523989D-01 0.0000000 14.5100000 0.210212D+00 -0.102382D+00 0.290959D-01 0.0000000 4.0530000 0.144952D-01 0.527190D+00 -0.178003D+00 0.0000000 1.4820000 -0.203590D-02 0.593251D+00 -0.346874D+00 0.0000000 0.2517000 0.624186D-03 0.332652D-01 0.623020D+00 0.0000000 0.0924300 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 3 0 315.9000000 0.392656D-02 -0.858302D-03 0.0000000 74.4200000 0.298811D-01 -0.630328D-02 0.0000000 23.4800000 0.127212D+00 -0.288255D-01 0.0000000 8.4880000 0.320943D+00 -0.694560D-01 0.0000000 3.2170000 0.455429D+00 -0.119493D+00 0.0000000 1.2290000 0.268563D+00 -0.199581D-01 0.0000000 0.2964000 0.188336D-01 0.510268D+00 0.0000000 0.0876800 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.2750000 1.0000000 $ PHOSPHOROUS (12s,8p,1d) -> [4s,3p,1d] $ PHOSPHOROUS (12s,8p,1d) -> [4s,3p,1d] a 15 $ S-TYPE FUNCTIONS 12 4 0 94840.0000000 0.255509D-03 -0.696939D-04 0.191199D-04 0.0000000 14220.0000000 0.198193D-02 -0.535266D-03 0.147223D-03 0.0000000 3236.0000000 0.102760D-01 -0.283709D-02 0.777912D-03 0.0000000 917.1000000 0.414823D-01 -0.113983D-01 0.314546D-02 0.0000000 299.5000000 0.131984D+00 -0.392929D-01 0.108200D-01 0.0000000 108.1000000 0.308662D+00 -0.996364D-01 0.279957D-01 0.0000000 42.1800000 0.420647D+00 -0.197983D+00 0.563978D-01 0.0000000 17.2800000 0.222878D+00 -0.114860D+00 0.358190D-01 0.0000000 4.8580000 0.164035D-01 0.518595D+00 -0.193387D+00 0.0000000 1.8180000 -0.254255D-02 0.601847D+00 -0.372097D+00 0.0000000 0.3372000 0.748050D-03 0.368612D-01 0.624246D+00 0.0000000 0.1232000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 3 0 370.5000000 0.395005D-02 -0.959832D-03 0.0000000 87.3300000 0.302492D-01 -0.711177D-02 0.0000000 27.5900000 0.129554D+00 -0.327122D-01 0.0000000 10.0000000 0.327594D+00 -0.795784D-01 0.0000000 3.8250000 0.456992D+00 -0.135016D+00 0.0000000 1.4940000 0.253086D+00 -0.910585D-02 0.0000000 0.3921000 0.168798D-01 0.537802D+00 0.0000000 0.1186000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.3730000 1.0000000 $ SULFUR (12s,8p,1d) -> [4s,3p,1d] $ SULFUR (12s,8p,1d) -> [4s,3p,1d] a 16 $ S-TYPE FUNCTIONS 12 4 0 110800.0000000 0.247635D-03 -0.687039D-04 0.199077D-04 0.0000000 16610.0000000 0.192026D-02 -0.527681D-03 0.153483D-03 0.0000000 3781.0000000 0.996192D-02 -0.279671D-02 0.809503D-03 0.0000000 1071.0000000 0.402975D-01 -0.112651D-01 0.328974D-02 0.0000000 349.8000000 0.128604D+00 -0.388834D-01 0.112967D-01 0.0000000 126.3000000 0.303480D+00 -0.995025D-01 0.296385D-01 0.0000000 49.2600000 0.421432D+00 -0.199740D+00 0.599851D-01 0.0000000 20.1600000 0.230781D+00 -0.123360D+00 0.413248D-01 0.0000000 5.7200000 0.178971D-01 0.513194D+00 -0.207474D+00 0.0000000 2.1820000 -0.297516D-02 0.607120D+00 -0.392889D+00 0.0000000 0.4327000 0.849522D-03 0.396753D-01 0.632840D+00 0.0000000 0.1570000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 3 0 399.7000000 0.447541D-02 -0.116251D-02 0.0000000 94.1900000 0.341708D-01 -0.865664D-02 0.0000000 29.7500000 0.144250D+00 -0.390886D-01 0.0000000 10.7700000 0.353928D+00 -0.934625D-01 0.0000000 4.1190000 0.459085D+00 -0.147994D+00 0.0000000 1.6250000 0.206383D+00 0.301904D-01 0.0000000 0.4726000 0.102141D-01 0.561573D+00 0.0000000 0.1407000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.4790000 1.0000000 $ CHLORINE (12s,8p,1d) -> [4s,3p,1d] $ CHLORINE (12s,8p,1d) -> [4s,3p,1d] a 17 $ S-TYPE FUNCTIONS 12 4 0 127900.0000000 0.241153D-03 -0.678922D-04 0.204986D-04 0.0000000 19170.0000000 0.187095D-02 -0.521836D-03 0.158298D-03 0.0000000 4363.0000000 0.970827D-02 -0.276513D-02 0.833639D-03 0.0000000 1236.0000000 0.393153D-01 -0.111537D-01 0.339880D-02 0.0000000 403.6000000 0.125932D+00 -0.385919D-01 0.116738D-01 0.0000000 145.7000000 0.299341D+00 -0.994848D-01 0.309622D-01 0.0000000 56.8100000 0.421886D+00 -0.201392D+00 0.629533D-01 0.0000000 23.2300000 0.237201D+00 -0.130313D+00 0.460257D-01 0.0000000 6.6440000 0.191531D-01 0.509443D+00 -0.219312D+00 0.0000000 2.5750000 -0.334792D-02 0.610725D+00 -0.408773D+00 0.0000000 0.5371000 0.929883D-03 0.421549D-01 0.638465D+00 0.0000000 0.1938000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 3 0 417.6000000 0.525982D-02 -0.143570D-02 0.0000000 98.3300000 0.398332D-01 -0.107796D-01 0.0000000 31.0400000 0.164655D+00 -0.470075D-01 0.0000000 11.1900000 0.387322D+00 -0.111030D+00 0.0000000 4.2490000 0.457072D+00 -0.153275D+00 0.0000000 1.6240000 0.151636D+00 0.894609D-01 0.0000000 0.5322000 0.181615D-02 0.579444D+00 0.0000000 0.1620000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.6000000 1.0000000 $ ARGON (12s,8p,1d) -> [4s,3p,1d] $ ARGON (12s,8p,1d) -> [4s,3p,1d] a 18 $ S-TYPE FUNCTIONS 12 4 0 145700.0000000 0.236700D-03 -0.674910D-04 0.210457D-04 0.0000000 21840.0000000 0.183523D-02 -0.518522D-03 0.162565D-03 0.0000000 4972.0000000 0.952860D-02 -0.274825D-02 0.855463D-03 0.0000000 1408.0000000 0.386283D-01 -0.111007D-01 0.349745D-02 0.0000000 459.7000000 0.124081D+00 -0.384820D-01 0.120156D-01 0.0000000 165.9000000 0.296471D+00 -0.997599D-01 0.321368D-01 0.0000000 64.6900000 0.422068D+00 -0.203088D+00 0.655279D-01 0.0000000 26.4400000 0.241711D+00 -0.135608D+00 0.499370D-01 0.0000000 7.6280000 0.200509D-01 0.507195D+00 -0.229769D+00 0.0000000 2.9960000 -0.361000D-02 0.612898D+00 -0.421006D+00 0.0000000 0.6504000 0.975607D-03 0.442968D-01 0.642331D+00 0.0000000 0.2337000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 8 3 0 453.7000000 0.570555D-02 -0.160655D-02 0.0000000 106.8000000 0.430460D-01 -0.121714D-01 0.0000000 33.7300000 0.176591D+00 -0.520789D-01 0.0000000 12.1300000 0.406863D+00 -0.123737D+00 0.0000000 4.5940000 0.452549D+00 -0.151619D+00 0.0000000 1.6780000 0.122801D+00 0.142425D+00 0.0000000 0.5909000 -0.445996D-02 0.584501D+00 0.0000000 0.1852000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.7380000 1.0000000 $ CALCIUM (14s,11p,5d) -> [5s,4p,2d] $ CALCIUM (14s,11p,5d) -> [5s,4p,2d] a 20 $ S-TYPE FUNCTIONS 14 5 0 190000.7000000 0.00022145 -0.00006453 0.00002223 0.00000531 0.0000000 28481.4600000 0.00171830 -0.00049662 0.00017170 0.00004111 0.0000000 6482.7010000 0.00892348 -0.00262826 0.00090452 0.00021568 0.0000000 1835.8910000 0.03630183 -0.01066845 0.00370343 0.00088827 0.0000000 598.7243000 0.11762223 -0.03713509 0.01283750 0.00305813 0.0000000 215.8841000 0.28604352 -0.09804284 0.03475459 0.00837608 0.0000000 84.0124200 0.42260708 -0.20342692 0.07303491 0.01741056 0.0000000 34.2248800 0.25774366 -0.15244655 0.06100083 0.01515453 0.0000000 10.0249700 0.02391893 0.48279406 -0.24292928 -0.06207919 0.0000000 4.0559200 -0.00495218 0.62923839 -0.48708500 -0.12611803 0.0000000 1.0202610 0.00171779 0.06164842 0.56502804 0.17360694 0.0000000 0.4268650 -0.00089209 -0.01479971 0.65574386 0.37822943 0.0000000 0.0633470 0.00024510 0.00361089 0.02672894 -0.65964698 0.0000000 0.0263010 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 4 0 1072.0430000 0.00198166 -0.00064891 0.00013595 0.0000000 253.8439000 0.01612944 -0.00527907 0.00109420 0.0000000 81.3162600 0.07657851 -0.02581131 0.00542680 0.0000000 30.2418300 0.23269594 -0.08062892 0.01674718 0.0000000 12.1011000 0.42445210 -0.15846552 0.03389863 0.0000000 5.0225540 0.37326402 -0.12816816 0.02531183 0.0000000 1.9092200 0.07868530 0.25610103 -0.05895713 0.0000000 0.7713040 -0.00599927 0.58724068 -0.15876120 0.0000000 0.3005700 0.00264257 0.30372561 -0.08554523 0.0000000 0.0766490 -0.00085694 0.01416451 0.54464665 0.0000000 0.0277720 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 2 0 10.3182000 0.03284900 0.0000000 2.5924200 0.14819200 0.0000000 0.7617000 0.31092100 0.0000000 0.2083800 0.45219500 0.0000000 0.0537000 0.0000000 1.0000000 $ SCANDIUM (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ SCANDIUM (20s,16p,8d,2f) -> [6s,5p,3d,1f] a 21 $ S-TYPE FUNCTIONS 20 6 0 2.715278E+06 8.147221E-06 -4.722109E-06 9.139905E-07 -2.201951E-07 -3.757238E-07 0.0000000 4.065984E+05 6.334788E-05 -3.671829E-05 7.108513E-06 -1.711419E-06 -2.981907E-06 0.0000000 9.253004E+04 3.330384E-04 -1.930883E-04 3.738126E-05 -9.008469E-06 -1.522586E-05 0.0000000 2.620792E+04 1.404055E-03 -8.146870E-04 1.578828E-04 -3.799997E-05 -6.684686E-05 0.0000000 8.549429E+03 5.081725E-03 -2.955526E-03 5.737686E-04 -1.383227E-04 -2.313129E-04 0.0000000 3.085975E+03 1.626926E-02 -9.520035E-03 1.859244E-03 -4.473692E-04 -7.959729E-04 0.0000000 1.203172E+03 4.624577E-02 -2.746858E-02 5.433182E-03 -1.310691E-03 -2.161961E-03 0.0000000 4.984869E+02 1.137223E-01 -6.991528E-02 1.425387E-02 -3.429860E-03 -6.206459E-03 0.0000000 2.167360E+02 2.257636E-01 -1.499251E-01 3.246144E-02 -7.847579E-03 -1.261905E-02 0.0000000 9.787476E+01 3.106700E-01 -2.459153E-01 6.003454E-02 -1.447189E-02 -2.739459E-02 0.0000000 4.520433E+01 2.191906E-01 -2.401293E-01 6.916105E-02 -1.690669E-02 -2.336516E-02 0.0000000 2.021187E+01 7.215879E-02 3.567987E-02 -2.113084E-02 5.396115E-03 -5.734627E-03 0.0000000 9.574751E+00 1.187030E-01 4.915023E-01 -2.666832E-01 6.671062E-02 1.536025E-01 0.0000000 4.540346E+00 1.220532E-01 4.911381E-01 -4.367591E-01 1.178356E-01 1.447100E-01 0.0000000 1.995687E+00 2.136795E-02 9.120633E-02 6.498243E-02 -2.738134E-02 9.359699E-02 0.0000000 9.422150E-01 -5.357246E-04 -5.356723E-03 7.009599E-01 -2.260149E-01 -8.687730E-01 0.0000000 4.178450E-01 2.435774E-04 8.812836E-04 4.515562E-01 -3.073539E-01 2.114597E-02 0.0000000 9.576100E-02 -8.796617E-05 -7.605536E-04 3.011910E-02 2.544054E-01 2.275498E+00 0.0000000 5.135100E-02 7.878246E-05 6.340116E-04 -1.329480E-02 5.981590E-01 -1.190770E+00 0.0000000 2.387800E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 5 0 1.059219E+04 4.500000E-05 -1.500000E-05 -4.000000E-06 4.000000E-06 0.0000000 2.507533E+03 4.010000E-04 -1.310000E-04 -3.200000E-05 3.900000E-05 0.0000000 8.144571E+02 2.302000E-03 -7.570000E-04 -1.850000E-04 2.210000E-04 0.0000000 3.115195E+02 1.003700E-02 -3.318000E-03 -8.080000E-04 9.840000E-04 0.0000000 1.319617E+02 3.495400E-02 -1.170600E-02 -2.870000E-03 3.423000E-03 0.0000000 5.998718E+01 9.790900E-02 -3.360400E-02 -8.207000E-03 9.993000E-03 0.0000000 2.866250E+01 2.106800E-01 -7.487900E-02 -1.847300E-02 2.191600E-02 0.0000000 1.410851E+01 3.300930E-01 -1.225480E-01 -3.010100E-02 3.700800E-02 0.0000000 7.103706E+00 3.310270E-01 -1.302760E-01 -3.294300E-02 3.779400E-02 0.0000000 3.609200E+00 1.579600E-01 1.459600E-02 7.958000E-03 -4.379000E-03 0.0000000 1.776070E+00 2.209900E-02 3.091840E-01 8.799300E-02 -1.101640E-01 0.0000000 8.547600E-01 -1.605000E-03 4.629980E-01 1.523770E-01 -1.610170E-01 0.0000000 4.022390E-01 -1.326000E-03 3.049570E-01 9.717000E-02 -1.824820E-01 0.0000000 1.546650E-01 -2.800000E-04 5.087800E-02 -2.569380E-01 3.886110E-01 0.0000000 6.494500E-02 3.400000E-05 -4.493000E-03 -5.878150E-01 6.911000E-01 0.0000000 2.635900E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 3 0 5.051380E+01 4.266000E-03 -4.389000E-03 0.0000000 1.474050E+01 2.770800E-02 -2.836300E-02 0.0000000 5.195000E+00 1.000010E-01 -1.051370E-01 0.0000000 2.028460E+00 2.315810E-01 -2.348540E-01 0.0000000 8.040860E-01 3.460330E-01 -3.246090E-01 0.0000000 3.076890E-01 3.733740E-01 -6.428900E-02 0.0000000 1.113920E-01 2.642880E-01 6.017490E-01 0.0000000 3.735200E-02 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 1 0 7.126000E-01 3.617450E-01 1.636000E-01 8.218680E-01 $ TITANIUM (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ TITANIUM (20s,16p,8d,2f) -> [6s,5p,3d,1f] a 22 $ S-TYPE FUNCTIONS 20 6 0 3.014643E+06 8.060782E-06 -4.630486E-06 9.230559E-07 -2.180323E-07 -3.975126E-07 0.0000000 4.514329E+05 6.267518E-05 -3.600451E-05 7.178974E-06 -1.694860E-06 -3.161080E-06 0.0000000 1.027338E+05 3.295006E-04 -1.893420E-04 3.775134E-05 -8.919208E-06 -1.609375E-05 0.0000000 2.909817E+04 1.389203E-03 -7.988781E-04 1.594532E-04 -3.763633E-05 -7.092947E-05 0.0000000 9.492330E+03 5.028469E-03 -2.898698E-03 5.795150E-04 -1.369575E-04 -2.442710E-04 0.0000000 3.426346E+03 1.610419E-02 -9.339701E-03 1.878414E-03 -4.432894E-04 -8.457892E-04 0.0000000 1.335896E+03 4.581232E-02 -2.697464E-02 5.492747E-03 -1.298868E-03 -2.282208E-03 0.0000000 5.535026E+02 1.128613E-01 -6.878913E-02 1.443297E-02 -3.406752E-03 -6.619873E-03 0.0000000 2.406925E+02 2.248193E-01 -1.481037E-01 3.296408E-02 -7.810829E-03 -1.335024E-02 0.0000000 1.087293E+02 3.114571E-01 -2.445253E-01 6.125493E-02 -1.449245E-02 -2.955830E-02 0.0000000 5.026457E+01 2.224995E-01 -2.419916E-01 7.134113E-02 -1.708136E-02 -2.477039E-02 0.0000000 2.258004E+01 7.293128E-02 3.183790E-02 -1.973150E-02 4.897666E-03 -8.414624E-03 0.0000000 1.071432E+01 1.160683E-01 4.932686E-01 -2.741869E-01 6.753108E-02 1.693855E-01 0.0000000 5.093546E+00 1.194774E-01 4.939655E-01 -4.440977E-01 1.173318E-01 1.500787E-01 0.0000000 2.244183E+00 2.097868E-02 9.196313E-02 7.776084E-02 -2.985025E-02 9.787777E-02 0.0000000 1.059570E+00 -5.091715E-04 -5.316992E-03 7.068444E-01 -2.277634E-01 -9.653608E-01 0.0000000 4.688490E-01 2.217859E-04 8.085624E-04 4.413892E-01 -2.928115E-01 1.489721E-01 0.0000000 1.061430E-01 -7.636896E-05 -6.918459E-04 2.799769E-02 2.665300E-01 2.191179E+00 0.0000000 5.526200E-02 7.719539E-05 6.086512E-04 -1.210790E-02 5.912406E-01 -1.243325E+00 0.0000000 2.546500E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 5 0 1.191203E+04 4.400000E-05 -1.500000E-05 4.000000E-06 4.000000E-06 0.0000000 2.819947E+03 3.910000E-04 -1.310000E-04 3.100000E-05 3.900000E-05 0.0000000 9.159479E+02 2.248000E-03 -7.550000E-04 1.820000E-04 2.230000E-04 0.0000000 3.503842E+02 9.823000E-03 -3.319000E-03 7.950000E-04 9.920000E-04 0.0000000 1.484825E+02 3.433800E-02 -1.175000E-02 2.833000E-03 3.476000E-03 0.0000000 6.753944E+01 9.666600E-02 -3.392200E-02 8.154000E-03 1.017200E-02 0.0000000 3.230332E+01 2.094170E-01 -7.616400E-02 1.847200E-02 2.257600E-02 0.0000000 1.592786E+01 3.301890E-01 -1.257020E-01 3.040000E-02 3.823800E-02 0.0000000 8.038035E+00 3.319360E-01 -1.330980E-01 3.304700E-02 3.933700E-02 0.0000000 4.093916E+00 1.584880E-01 1.740600E-02 -8.251000E-03 -6.106000E-03 0.0000000 2.022390E+00 2.231000E-02 3.151650E-01 -8.855400E-02 -1.129620E-01 0.0000000 9.761020E-01 -1.566000E-03 4.618140E-01 -1.496120E-01 -1.681140E-01 0.0000000 4.595950E-01 -1.324000E-03 2.998560E-01 -9.422700E-02 -1.659320E-01 0.0000000 1.771520E-01 -2.710000E-04 5.000000E-02 2.508460E-01 3.914030E-01 0.0000000 7.351700E-02 3.200000E-05 -4.230000E-03 5.866430E-01 6.818400E-01 0.0000000 2.940100E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 3 0 6.401300E+01 3.887000E-03 -3.970000E-03 0.0000000 1.881790E+01 2.639900E-02 -2.687300E-02 0.0000000 6.728700E+00 9.751100E-02 -1.022750E-01 0.0000000 2.664130E+00 2.328480E-01 -2.377280E-01 0.0000000 1.078680E+00 3.531520E-01 -3.121140E-01 0.0000000 4.232090E-01 3.721860E-01 -4.237800E-02 0.0000000 1.559990E-01 2.476720E-01 5.886580E-01 0.0000000 5.188400E-02 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 1 0 1.227400E+00 3.581580E-01 2.788000E-01 8.257940E-01 $ VANADIUM (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ VANADIUM (20s,16p,8d,2f) -> [6s,5p,3d,1f] a 23 $ S-TYPE FUNCTIONS 20 6 0 3.321857E+06 8.039999E-06 -4.503003E-06 9.320648E-07 -2.158944E-07 -4.093416E-07 0.0000000 4.974356E+05 6.251402E-05 -3.501295E-05 7.249306E-06 -1.678519E-06 -3.258956E-06 0.0000000 1.132027E+05 3.286553E-04 -1.841339E-04 3.811967E-05 -8.831213E-06 -1.656390E-05 0.0000000 3.206333E+04 1.385697E-03 -7.769216E-04 1.610238E-04 -3.727769E-05 -7.316689E-05 0.0000000 1.045962E+04 5.016217E-03 -2.819505E-03 5.852210E-04 -1.356099E-04 -2.512784E-04 0.0000000 3.775506E+03 1.606931E-02 -9.087486E-03 1.897502E-03 -4.392351E-04 -8.732657E-04 0.0000000 1.472040E+03 4.574242E-02 -2.627134E-02 5.550909E-03 -1.286948E-03 -2.347654E-03 0.0000000 6.099331E+02 1.128544E-01 -6.712726E-02 1.460584E-02 -3.382149E-03 -6.853150E-03 0.0000000 2.652634E+02 2.254344E-01 -1.451130E-01 3.342974E-02 -7.765646E-03 -1.376420E-02 0.0000000 1.198607E+02 3.140461E-01 -2.412483E-01 6.235722E-02 -1.447985E-02 -3.084679E-02 0.0000000 5.544891E+01 2.267819E-01 -2.416314E-01 7.312435E-02 -1.715502E-02 -2.562208E-02 0.0000000 2.498372E+01 7.334069E-02 3.067362E-02 -1.911472E-02 4.610101E-03 -1.005123E-02 0.0000000 1.188056E+01 1.102474E-01 4.970415E-01 -2.817249E-01 6.827831E-02 1.795330E-01 0.0000000 5.660311E+00 1.131358E-01 4.958875E-01 -4.488151E-01 1.161368E-01 1.522400E-01 0.0000000 2.495703E+00 1.971295E-02 9.181868E-02 9.202696E-02 -3.277049E-02 9.483887E-02 0.0000000 1.177866E+00 -4.719088E-04 -5.392514E-03 7.110117E-01 -2.280000E-01 -1.014876E+00 0.0000000 5.200440E-01 1.861606E-04 7.102380E-04 4.309274E-01 -2.793991E-01 2.308810E-01 0.0000000 1.159650E-01 -6.208598E-05 -6.363128E-04 2.604589E-02 2.771165E-01 2.113321E+00 0.0000000 5.893800E-02 7.295314E-05 5.979932E-04 -1.101049E-02 5.852999E-01 -1.253048E+00 0.0000000 2.694600E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 5 0 1.327320E+04 4.300000E-05 -1.500000E-05 4.000000E-06 4.000000E-06 0.0000000 3.142126E+03 3.840000E-04 -1.310000E-04 3.200000E-05 3.900000E-05 0.0000000 1.020588E+03 2.210000E-03 -7.550000E-04 1.830000E-04 2.230000E-04 0.0000000 3.904407E+02 9.678000E-03 -3.325000E-03 8.020000E-04 9.960000E-04 0.0000000 1.655043E+02 3.393600E-02 -1.181100E-02 2.862000E-03 3.498000E-03 0.0000000 7.532006E+01 9.591700E-02 -3.425600E-02 8.287000E-03 1.029600E-02 0.0000000 3.605503E+01 2.088530E-01 -7.736300E-02 1.887000E-02 2.296200E-02 0.0000000 1.780436E+01 3.306600E-01 -1.284560E-01 3.130700E-02 3.920800E-02 0.0000000 9.002929E+00 3.323120E-01 -1.350780E-01 3.366000E-02 3.994300E-02 0.0000000 4.594544E+00 1.581880E-01 2.083800E-02 -9.479000E-03 -7.121000E-03 0.0000000 2.276760E+00 2.225200E-02 3.204990E-01 -9.231300E-02 -1.162250E-01 0.0000000 1.101178E+00 -1.565000E-03 4.602600E-01 -1.489890E-01 -1.694960E-01 0.0000000 5.186380E-01 -1.353000E-03 2.953460E-01 -8.364400E-02 -1.553740E-01 0.0000000 2.005650E-01 -2.650000E-04 4.904600E-02 2.493390E-01 3.950220E-01 0.0000000 8.129100E-02 2.900000E-05 -3.824000E-03 5.805150E-01 6.789080E-01 0.0000000 3.179500E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 3 0 7.761150E+01 3.595000E-03 -3.818000E-03 0.0000000 2.291590E+01 2.521000E-02 -2.671700E-02 0.0000000 8.279540E+00 9.478600E-02 -1.036900E-01 0.0000000 3.309930E+00 2.303630E-01 -2.476890E-01 0.0000000 1.358630E+00 3.528940E-01 -3.115230E-01 0.0000000 5.413500E-01 3.704140E-01 -2.282700E-02 0.0000000 2.023560E-01 2.457180E-01 5.697260E-01 0.0000000 6.756800E-02 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 1 0 1.748800E+00 3.900680E-01 4.057000E-01 8.008410E-01 $ CHROMIUM (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ CHROMIUM (20s,16p,8d,2f) -> [6s,5p,3d,1f] a 24 $ S-TYPE FUNCTIONS 20 6 0 6.177194E+06 4.128667E-06 -2.301772E-06 4.862957E-07 -1.102451E-07 2.179893E-07 0.0000000 9.249295E+05 3.210767E-05 -1.789536E-05 3.776645E-06 -8.530233E-07 1.612940E-06 0.0000000 2.104865E+05 1.688416E-04 -9.416174E-05 1.990664E-05 -4.520358E-06 9.111842E-06 0.0000000 5.962005E+04 7.128520E-04 -3.975074E-04 8.389164E-05 -1.891612E-05 3.500645E-05 0.0000000 1.945076E+04 2.589325E-03 -1.447025E-03 3.065706E-04 -6.974344E-05 1.435315E-04 0.0000000 7.022056E+03 8.377350E-03 -4.694622E-03 9.944107E-04 -2.237867E-04 4.035896E-04 0.0000000 2.738763E+03 2.441725E-02 -1.382387E-02 2.961959E-03 -6.754503E-04 1.425177E-03 0.0000000 1.135814E+03 6.365135E-02 -3.674643E-02 7.969473E-03 -1.789346E-03 3.114009E-03 0.0000000 4.950923E+02 1.427618E-01 -8.647185E-02 1.955017E-02 -4.477858E-03 9.814449E-03 0.0000000 2.247487E+02 2.541275E-01 -1.696735E-01 4.085035E-02 -9.140144E-03 1.474698E-02 0.0000000 1.053836E+02 3.009512E-01 -2.507089E-01 6.929003E-02 -1.610562E-02 3.911512E-02 0.0000000 5.019359E+01 1.766513E-01 -1.961156E-01 6.146984E-02 -1.334870E-02 9.170888E-03 0.0000000 2.224957E+01 6.936709E-02 1.457244E-01 -6.981302E-02 1.426027E-02 1.559878E-02 0.0000000 1.098265E+01 1.179579E-01 5.466706E-01 -3.517597E-01 8.931690E-02 -2.816844E-01 0.0000000 5.383665E+00 8.916187E-02 3.979434E-01 -3.828629E-01 8.885279E-02 -6.895261E-03 0.0000000 2.343685E+00 1.103630E-02 5.277007E-02 2.676401E-01 -6.368776E-02 -1.769781E-01 0.0000000 1.105202E+00 -3.546048E-04 -4.374537E-03 7.175950E-01 -2.783262E-01 1.443061E+00 0.0000000 4.878480E-01 1.057311E-04 3.204035E-04 3.020814E-01 -1.830071E-01 -1.029318E+00 0.0000000 8.959900E-02 1.114640E-05 -5.142077E-05 7.749514E-03 6.790937E-01 -1.307667E+00 0.0000000 3.342300E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 5 0 1.445420E+04 4.400000E-05 -1.500000E-05 4.000000E-06 4.000000E-06 0.0000000 3.421676E+03 3.890000E-04 -1.350000E-04 3.200000E-05 4.000000E-05 0.0000000 1.111387E+03 2.241000E-03 -7.770000E-04 1.850000E-04 2.290000E-04 0.0000000 4.251918E+02 9.821000E-03 -3.427000E-03 8.100000E-04 1.019000E-03 0.0000000 1.802623E+02 3.447100E-02 -1.218900E-02 2.906000E-03 3.602000E-03 0.0000000 8.206117E+01 9.746000E-02 -3.538800E-02 8.391000E-03 1.055000E-02 0.0000000 3.929726E+01 2.119850E-01 -7.991500E-02 1.919300E-02 2.370200E-02 0.0000000 1.941959E+01 3.339900E-01 -1.323350E-01 3.156400E-02 3.998800E-02 0.0000000 9.828899E+00 3.301370E-01 -1.354010E-01 3.341700E-02 4.043700E-02 0.0000000 5.016810E+00 1.522270E-01 3.200800E-02 -1.290700E-02 -1.207400E-02 0.0000000 2.487091E+00 2.042500E-02 3.338490E-01 -9.365900E-02 -1.189390E-01 0.0000000 1.198780E+00 -1.360000E-03 4.617730E-01 -1.499770E-01 -1.781000E-01 0.0000000 5.586950E-01 -1.195000E-03 2.812900E-01 -6.723400E-02 -1.238650E-01 0.0000000 2.089240E-01 -1.970000E-04 4.184300E-02 2.707590E-01 4.297220E-01 0.0000000 8.460800E-02 2.300000E-05 -4.002000E-03 5.758070E-01 6.507860E-01 0.0000000 3.325800E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 3 0 8.857680E+01 3.621000E-03 -4.122000E-03 0.0000000 2.620450E+01 2.576600E-02 -2.930700E-02 0.0000000 9.517470E+00 9.755600E-02 -1.150620E-01 0.0000000 3.822480E+00 2.363120E-01 -2.730680E-01 0.0000000 1.575120E+00 3.582860E-01 -3.144230E-01 0.0000000 6.289280E-01 3.685430E-01 4.209700E-02 0.0000000 2.344240E-01 2.354940E-01 5.914030E-01 0.0000000 7.681500E-02 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 1 0 2.221100E+00 4.235450E-01 5.231000E-01 7.741140E-01 $ MANGANESE (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ MANGANESE (20s,16p,8d,2f) -> [6s,5p,3d,1f] a 25 $ S-TYPE FUNCTIONS 20 6 0 3.960805E+06 8.242127E-06 -3.936095E-06 9.462709E-07 -2.095391E-07 -4.121231E-07 0.0000000 5.931155E+05 6.408587E-05 -3.060481E-05 7.360584E-06 -1.629439E-06 -3.282099E-06 0.0000000 1.349768E+05 3.369253E-04 -1.609626E-04 3.869935E-05 -8.570592E-06 -1.667433E-05 0.0000000 3.823067E+04 1.420648E-03 -6.792348E-04 1.635110E-04 -3.619272E-05 -7.369999E-05 0.0000000 1.247154E+04 5.143683E-03 -2.466182E-03 5.941775E-04 -1.316146E-04 -2.529495E-04 0.0000000 4.501743E+03 1.648569E-02 -7.957629E-03 1.927737E-03 -4.266810E-04 -8.801425E-04 0.0000000 1.755212E+03 4.698560E-02 -2.307248E-02 5.641731E-03 -1.250270E-03 -2.365482E-03 0.0000000 7.273039E+02 1.162437E-01 -5.932956E-02 1.487848E-02 -3.294665E-03 -6.926354E-03 0.0000000 3.163678E+02 2.335277E-01 -1.299451E-01 3.414783E-02 -7.581860E-03 -1.393851E-02 0.0000000 1.430098E+02 3.292837E-01 -2.212352E-01 6.405794E-02 -1.422864E-02 -3.143840E-02 0.0000000 6.621805E+01 2.440304E-01 -2.292550E-01 7.557659E-02 -1.693796E-02 -2.625749E-02 0.0000000 2.991896E+01 7.219806E-02 3.580733E-02 -1.946070E-02 4.454298E-03 -1.048313E-02 0.0000000 1.430318E+01 7.687806E-02 5.107602E-01 -2.957874E-01 6.867042E-02 1.856472E-01 0.0000000 6.839451E+00 7.852235E-02 5.008307E-01 -4.521170E-01 1.113335E-01 1.524839E-01 0.0000000 3.012374E+00 1.294109E-02 9.011830E-02 1.224531E-01 -3.900820E-02 7.411368E-02 0.0000000 1.418808E+00 -3.784873E-04 -6.909909E-03 7.169756E-01 -2.215755E-01 -1.018097E+00 0.0000000 6.236240E-01 -2.503203E-05 -1.912925E-04 4.092712E-01 -2.544359E-01 2.980372E-01 0.0000000 1.340980E-01 -2.421517E-05 -6.032312E-04 2.221969E-02 2.865866E-01 1.971989E+00 0.0000000 6.554800E-02 3.462071E-05 5.621608E-04 -9.011202E-03 5.755741E-01 -1.179253E+00 0.0000000 2.958400E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 5 0 1.620586E+04 4.200000E-05 -1.500000E-05 3.000000E-06 4.000000E-06 0.0000000 3.836274E+03 3.730000E-04 -1.290000E-04 3.000000E-05 4.000000E-05 0.0000000 1.246048E+03 2.149000E-03 -7.480000E-04 1.720000E-04 2.260000E-04 0.0000000 4.767535E+02 9.445000E-03 -3.308000E-03 7.620000E-04 1.013000E-03 0.0000000 2.021895E+02 3.329700E-02 -1.181100E-02 2.726000E-03 3.575000E-03 0.0000000 9.209487E+01 9.475900E-02 -3.453300E-02 7.976000E-03 1.061200E-02 0.0000000 4.414720E+01 2.081440E-01 -7.878500E-02 1.828700E-02 2.390200E-02 0.0000000 2.185468E+01 3.318050E-01 -1.321830E-01 3.077600E-02 4.127900E-02 0.0000000 1.108596E+01 3.331750E-01 -1.371950E-01 3.237300E-02 4.147500E-02 0.0000000 5.674108E+00 1.576010E-01 2.707500E-02 -9.978000E-03 -9.458000E-03 0.0000000 2.823170E+00 2.144500E-02 3.288910E-01 -9.052900E-02 -1.236950E-01 0.0000000 1.368621E+00 -2.558000E-03 4.572800E-01 -1.380040E-01 -1.743920E-01 0.0000000 6.444310E-01 -2.027000E-03 2.889080E-01 -7.796500E-02 -1.291700E-01 0.0000000 2.483820E-01 -3.600000E-04 4.743300E-02 2.295600E-01 4.003480E-01 0.0000000 9.725500E-02 3.400000E-05 -3.522000E-03 5.761220E-01 6.696460E-01 0.0000000 3.663300E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 3 0 1.006630E+02 3.579000E-03 -3.454000E-03 0.0000000 2.983360E+01 2.582700E-02 -2.492500E-02 0.0000000 1.088940E+01 9.855900E-02 -9.763500E-02 0.0000000 4.393580E+00 2.383270E-01 -2.366920E-01 0.0000000 1.817820E+00 3.587070E-01 -2.923500E-01 0.0000000 7.278270E-01 3.650920E-01 -4.973000E-03 0.0000000 2.712950E-01 2.337380E-01 5.065880E-01 0.0000000 8.830900E-02 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 1 0 2.703200E+00 4.267760E-01 6.438000E-01 7.697990E-01 $ IRON (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ IRON (20s,16p,8d,2f) -> [6s,5p,3d,1f] a 26 $ S-TYPE FUNCTIONS 20 6 0 4.316265E+06 8.048803E-06 -4.155954E-06 9.532178E-07 -2.063008E-07 -4.009367E-07 0.0000000 6.463424E+05 6.258306E-05 -3.231401E-05 7.414605E-06 -1.604169E-06 -3.189255E-06 0.0000000 1.470897E+05 3.290239E-04 -1.699525E-04 3.898393E-05 -8.438437E-06 -1.623079E-05 0.0000000 4.166152E+04 1.387355E-03 -7.171369E-04 1.647152E-04 -3.563151E-05 -7.157920E-05 0.0000000 1.359077E+04 5.023256E-03 -2.603625E-03 5.985980E-04 -1.295998E-04 -2.463958E-04 0.0000000 4.905750E+03 1.610140E-02 -8.399109E-03 1.942390E-03 -4.201534E-04 -8.544907E-04 0.0000000 1.912746E+03 4.590034E-02 -2.434109E-02 5.687237E-03 -1.231954E-03 -2.307593E-03 0.0000000 7.926043E+02 1.136154E-01 -6.251948E-02 1.501329E-02 -3.248922E-03 -6.728292E-03 0.0000000 3.448065E+02 2.283869E-01 -1.365929E-01 3.452455E-02 -7.493717E-03 -1.366165E-02 0.0000000 1.558999E+02 3.221159E-01 -2.312707E-01 6.495820E-02 -1.410102E-02 -3.062240E-02 0.0000000 7.223091E+01 2.383661E-01 -2.383734E-01 7.716194E-02 -1.691600E-02 -2.631137E-02 0.0000000 3.272506E+01 7.404667E-02 3.123837E-02 -1.873411E-02 4.218996E-03 -9.760183E-03 0.0000000 1.566762E+01 9.214197E-02 5.086818E-01 -3.009185E-01 6.833810E-02 1.801906E-01 0.0000000 7.503483E+00 9.339790E-02 4.987695E-01 -4.554661E-01 1.098201E-01 1.529634E-01 0.0000000 3.312223E+00 1.573965E-02 9.033552E-02 1.286463E-01 -4.009005E-02 5.505413E-02 0.0000000 1.558471E+00 -4.186682E-04 -6.005337E-03 7.183316E-01 -2.174739E-01 -9.551364E-01 0.0000000 6.839140E-01 5.376318E-05 2.312454E-04 4.051743E-01 -2.465135E-01 2.586813E-01 0.0000000 1.467570E-01 -3.816654E-05 -5.643680E-04 2.168227E-02 2.731435E-01 1.834049E+00 0.0000000 7.058300E-02 4.319603E-05 4.992260E-04 -8.343566E-03 5.748321E-01 -9.333240E-01 0.0000000 3.144900E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 5 0 1.774569E+04 4.100000E-05 -1.500000E-05 3.000000E-06 5.000000E-06 0.0000000 4.200721E+03 3.690000E-04 -1.300000E-04 2.900000E-05 4.200000E-05 0.0000000 1.364429E+03 2.129000E-03 -7.510000E-04 1.650000E-04 2.410000E-04 0.0000000 5.220806E+02 9.369000E-03 -3.329000E-03 7.340000E-04 1.085000E-03 0.0000000 2.214595E+02 3.309700E-02 -1.191200E-02 2.626000E-03 3.831000E-03 0.0000000 1.009096E+02 9.443100E-02 -3.493300E-02 7.725000E-03 1.142300E-02 0.0000000 4.840115E+01 2.080770E-01 -7.998900E-02 1.773300E-02 2.579200E-02 0.0000000 2.398536E+01 3.323330E-01 -1.346360E-01 3.005500E-02 4.481800E-02 0.0000000 1.218250E+01 3.329870E-01 -1.385980E-01 3.109400E-02 4.459800E-02 0.0000000 6.242298E+00 1.568430E-01 3.027800E-02 -1.004800E-02 -1.117700E-02 0.0000000 3.110944E+00 2.154900E-02 3.332160E-01 -8.830600E-02 -1.381340E-01 0.0000000 1.509958E+00 -2.095000E-03 4.561530E-01 -1.298240E-01 -1.882850E-01 0.0000000 7.108450E-01 -1.739000E-03 2.850510E-01 -7.693700E-02 -1.073990E-01 0.0000000 2.731900E-01 -3.000000E-04 4.614400E-02 2.126610E-01 4.448630E-01 0.0000000 1.042330E-01 2.900000E-05 -3.249000E-03 5.730610E-01 6.402390E-01 0.0000000 3.829100E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 3 0 1.133440E+02 3.530000E-03 -3.890000E-03 0.0000000 3.364140E+01 2.578400E-02 -2.844200E-02 0.0000000 1.233100E+01 9.911900E-02 -1.124290E-01 0.0000000 4.994780E+00 2.390730E-01 -2.742570E-01 0.0000000 2.072800E+00 3.571990E-01 -3.155460E-01 0.0000000 8.307530E-01 3.621880E-01 5.710900E-02 0.0000000 3.091780E-01 2.364610E-01 5.636040E-01 0.0000000 1.001300E-01 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 1 0 3.224300E+00 4.222490E-01 7.758000E-01 7.714680E-01 $ COBALT (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ COBALT (20s,16p,8d,2f) -> [6s,5p,3d,1f] a 27 $ S-TYPE FUNCTIONS 20 6 0 4.675675E+06 7.979026E-06 -4.200240E-06 9.592692E-07 -2.028840E-07 -3.863053E-07 0.0000000 7.001615E+05 6.204071E-05 -3.265831E-05 7.461851E-06 -1.577580E-06 -3.068788E-06 0.0000000 1.593373E+05 3.261735E-04 -1.717644E-04 3.923137E-05 -8.298813E-06 -1.564826E-05 0.0000000 4.513046E+04 1.375360E-03 -7.247853E-04 1.657706E-04 -3.504154E-05 -6.883588E-05 0.0000000 1.472238E+04 4.979997E-03 -2.631462E-03 6.024335E-04 -1.274655E-04 -2.377367E-04 0.0000000 5.314222E+03 1.596434E-02 -8.489272E-03 1.955217E-03 -4.132695E-04 -8.213173E-04 0.0000000 2.072018E+03 4.552086E-02 -2.460619E-02 5.726326E-03 -1.212261E-03 -2.229630E-03 0.0000000 8.586188E+02 1.127385E-01 -6.322059E-02 1.512984E-02 -3.199318E-03 -6.467841E-03 0.0000000 3.735497E+02 2.268262E-01 -1.381957E-01 3.483973E-02 -7.390972E-03 -1.325463E-02 0.0000000 1.689229E+02 3.203074E-01 -2.340680E-01 6.570351E-02 -1.393649E-02 -2.946686E-02 0.0000000 7.829639E+01 2.374021E-01 -2.415002E-01 7.831503E-02 -1.678575E-02 -2.599066E-02 0.0000000 3.552123E+01 7.477686E-02 3.035312E-02 -1.877037E-02 4.149856E-03 -8.499807E-03 0.0000000 1.704144E+01 9.581872E-02 5.101341E-01 -3.062663E-01 6.797646E-02 1.727316E-01 0.0000000 8.173000E+00 9.649911E-02 4.974939E-01 -4.566429E-01 1.075807E-01 1.512189E-01 0.0000000 3.610318E+00 1.623362E-02 8.970746E-02 1.378169E-01 -4.166022E-02 3.554509E-02 0.0000000 1.697047E+00 -4.535497E-04 -5.941034E-03 7.193676E-01 -2.128044E-01 -8.829353E-01 0.0000000 7.435320E-01 5.113519E-05 2.175362E-04 3.992579E-01 -2.381360E-01 2.143530E-01 0.0000000 1.583440E-01 -4.174508E-05 -5.480155E-04 2.079933E-02 2.650788E-01 1.711865E+00 0.0000000 7.503600E-02 4.027577E-05 4.525804E-04 -7.820663E-03 5.722774E-01 -7.140037E-01 0.0000000 3.309100E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 5 0 1.926778E+04 4.100000E-05 -1.500000E-05 -3.000000E-06 5.000000E-06 0.0000000 4.560986E+03 3.690000E-04 -1.310000E-04 -2.900000E-05 4.500000E-05 0.0000000 1.481436E+03 2.128000E-03 -7.580000E-04 -1.670000E-04 2.550000E-04 0.0000000 5.668671E+02 9.372000E-03 -3.363000E-03 -7.420000E-04 1.144000E-03 0.0000000 2.404910E+02 3.315500E-02 -1.205400E-02 -2.662000E-03 4.061000E-03 0.0000000 1.096105E+02 9.475200E-02 -3.542400E-02 -7.841000E-03 1.209500E-02 0.0000000 5.259491E+01 2.090930E-01 -8.128700E-02 -1.805100E-02 2.747600E-02 0.0000000 2.608361E+01 3.337220E-01 -1.369080E-01 -3.058000E-02 4.755700E-02 0.0000000 1.326143E+01 3.322080E-01 -1.390190E-01 -3.131200E-02 4.730200E-02 0.0000000 6.799778E+00 1.546130E-01 3.546800E-02 1.131100E-02 -1.441800E-02 0.0000000 3.393414E+00 2.090200E-02 3.384980E-01 8.999000E-02 -1.500620E-01 0.0000000 1.648766E+00 -2.024000E-03 4.544330E-01 1.307330E-01 -1.990920E-01 0.0000000 7.762820E-01 -1.697000E-03 2.797930E-01 7.180800E-02 -7.978300E-02 0.0000000 2.980030E-01 -2.800000E-04 4.477600E-02 -2.216580E-01 4.590350E-01 0.0000000 1.136180E-01 2.600000E-05 -3.151000E-03 -5.710250E-01 6.174950E-01 0.0000000 4.162400E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 3 0 1.262640E+02 3.510000E-03 -4.067000E-03 0.0000000 3.752260E+01 2.588400E-02 -3.005300E-02 0.0000000 1.380210E+01 1.000580E-01 -1.196200E-01 0.0000000 5.609270E+00 2.405470E-01 -2.915130E-01 0.0000000 2.333690E+00 3.568430E-01 -3.180480E-01 0.0000000 9.364150E-01 3.595790E-01 9.169800E-02 0.0000000 3.482370E-01 2.366290E-01 5.608230E-01 0.0000000 1.123530E-01 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 1 0 3.772400E+00 4.239660E-01 9.170000E-01 7.684290E-01 $ NICKEL (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ NICKEL (20s,16p,8d,2f) -> [6s,5p,3d,1f] a 28 $ S-TYPE FUNCTIONS 20 6 0 5.045991E+06 8.208996E-06 -3.657849E-06 9.594149E-07 -2.013753E-07 -3.924245E-07 0.0000000 7.556142E+05 6.382884E-05 -2.844094E-05 7.462614E-06 -1.565832E-06 -3.113909E-06 0.0000000 1.719568E+05 3.355800E-04 -1.495928E-04 3.923843E-05 -8.237182E-06 -1.590447E-05 0.0000000 4.870479E+04 1.415075E-03 -6.313009E-04 1.657868E-04 -3.478105E-05 -6.981394E-05 0.0000000 1.588841E+04 5.124444E-03 -2.293052E-03 6.025905E-04 -1.265265E-04 -2.417848E-04 0.0000000 5.735123E+03 1.643256E-02 -7.405123E-03 1.955662E-03 -4.102589E-04 -8.326195E-04 0.0000000 2.236137E+03 4.689398E-02 -2.152032E-02 5.730391E-03 -1.203834E-03 -2.270294E-03 0.0000000 9.266468E+02 1.163534E-01 -5.560974E-02 1.514756E-02 -3.179062E-03 -6.557427E-03 0.0000000 4.031743E+02 2.350511E-01 -1.230176E-01 3.493499E-02 -7.353828E-03 -1.354288E-02 0.0000000 1.823476E+02 3.350184E-01 -2.130104E-01 6.598072E-02 -1.389022E-02 -2.989768E-02 0.0000000 8.454885E+01 2.534779E-01 -2.265837E-01 7.893083E-02 -1.677875E-02 -2.693106E-02 0.0000000 3.839634E+01 7.300901E-02 3.546796E-02 -1.906249E-02 4.163378E-03 -7.827693E-03 0.0000000 1.845859E+01 6.184244E-02 5.181697E-01 -3.095921E-01 6.814703E-02 1.741667E-01 0.0000000 8.863548E+00 6.302956E-02 5.025630E-01 -4.558610E-01 1.061029E-01 1.595468E-01 0.0000000 3.916227E+00 1.008063E-02 8.955674E-02 1.482931E-01 -4.339980E-02 1.995550E-02 0.0000000 1.838870E+00 -2.244528E-04 -7.031311E-03 7.134039E-01 -2.094950E-01 -8.897000E-01 0.0000000 8.043620E-01 -5.932767E-05 -4.339167E-04 3.976063E-01 -2.310271E-01 2.486892E-01 0.0000000 1.697970E-01 -1.158562E-05 -5.831711E-04 2.295523E-02 2.590532E-01 1.613012E+00 0.0000000 7.930600E-02 8.115109E-06 4.228788E-04 -9.151758E-03 5.691426E-01 -5.990277E-01 0.0000000 3.467700E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 5 0 2.102792E+04 4.100000E-05 -1.500000E-05 3.000000E-06 6.000000E-06 0.0000000 4.977560E+03 3.630000E-04 -1.290000E-04 2.600000E-05 5.300000E-05 0.0000000 1.616740E+03 2.097000E-03 -7.490000E-04 1.520000E-04 3.050000E-04 0.0000000 6.186718E+02 9.250000E-03 -3.328000E-03 6.780000E-04 1.364000E-03 0.0000000 2.625183E+02 3.279600E-02 -1.194700E-02 2.427000E-03 4.876000E-03 0.0000000 1.196907E+02 9.400400E-02 -3.524200E-02 7.201000E-03 1.450300E-02 0.0000000 5.746585E+01 2.082800E-01 -8.120400E-02 1.657800E-02 3.329600E-02 0.0000000 2.852829E+01 3.336540E-01 -1.374930E-01 2.839200E-02 5.748200E-02 0.0000000 1.452148E+01 3.329040E-01 -1.392260E-01 2.859900E-02 5.870200E-02 0.0000000 7.453850E+00 1.553720E-01 3.601600E-02 -1.013200E-02 -1.990400E-02 0.0000000 3.723553E+00 2.085900E-02 3.391280E-01 -8.291200E-02 -1.946950E-01 0.0000000 1.809813E+00 -2.440000E-03 4.504720E-01 -1.159980E-01 -2.396130E-01 0.0000000 8.513360E-01 -1.998000E-03 2.817830E-01 -7.279500E-02 -2.232000E-03 0.0000000 3.248140E-01 -3.380000E-04 4.789800E-02 1.956400E-01 5.214350E-01 0.0000000 1.195220E-01 3.500000E-05 -2.987000E-03 5.670990E-01 5.455400E-01 0.0000000 4.236600E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 3 0 1.402527E+02 3.376000E-03 -3.495000E-03 0.0000000 4.172610E+01 2.514100E-02 -2.601500E-02 0.0000000 1.539810E+01 9.774600E-02 -1.038760E-01 0.0000000 6.277100E+00 2.347090E-01 -2.520700E-01 0.0000000 2.618500E+00 3.469450E-01 -2.945800E-01 0.0000000 1.052600E+00 3.510680E-01 1.152000E-03 0.0000000 3.916000E-01 2.502550E-01 4.385890E-01 0.0000000 1.262000E-01 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 1 0 4.345500E+00 4.174290E-01 1.068000E+00 7.714830E-01 $ COPPER (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ COPPER (20s,16p,8d,2f) -> [6s,5p,3d,1f] a 29 $ S-TYPE FUNCTIONS 20 6 0 5.430321E+06 7.801026E-06 -4.404706E-06 9.704682E-07 -1.959354E-07 -3.532229E-07 0.0000000 8.131665E+05 6.065666E-05 -3.424801E-05 7.549245E-06 -1.523472E-06 -2.798812E-06 0.0000000 1.850544E+05 3.188964E-04 -1.801238E-04 3.968892E-05 -8.014808E-06 -1.432517E-05 0.0000000 5.241466E+04 1.344687E-03 -7.600455E-04 1.677200E-04 -3.383992E-05 -6.270946E-05 0.0000000 1.709868E+04 4.869050E-03 -2.759348E-03 6.095101E-04 -1.231191E-04 -2.179490E-04 0.0000000 6.171994E+03 1.561013E-02 -8.900970E-03 1.978846E-03 -3.992085E-04 -7.474316E-04 0.0000000 2.406481E+03 4.452077E-02 -2.579378E-02 5.798049E-03 -1.171900E-03 -2.049271E-03 0.0000000 9.972584E+02 1.103111E-01 -6.623861E-02 1.534158E-02 -3.096141E-03 -5.885203E-03 0.0000000 4.339289E+02 2.220342E-01 -1.445927E-01 3.540484E-02 -7.171993E-03 -1.226885E-02 0.0000000 1.962869E+02 3.133739E-01 -2.440110E-01 6.702098E-02 -1.356621E-02 -2.683147E-02 0.0000000 9.104280E+01 2.315121E-01 -2.504837E-01 8.026945E-02 -1.643989E-02 -2.479261E-02 0.0000000 4.138425E+01 7.640920E-02 2.852577E-02 -1.927231E-02 4.107628E-03 -5.984746E-03 0.0000000 1.993278E+01 1.103818E-01 5.115874E-01 -3.160129E-01 6.693964E-02 1.557124E-01 0.0000000 9.581891E+00 1.094372E-01 4.928061E-01 -4.573162E-01 1.028221E-01 1.436683E-01 0.0000000 4.234516E+00 1.836311E-02 8.788437E-02 1.550841E-01 -4.422945E-02 8.374103E-03 0.0000000 1.985814E+00 -6.043084E-04 -5.820281E-03 7.202872E-01 -2.031191E-01 -7.460711E-01 0.0000000 8.670830E-01 5.092245E-05 2.013508E-04 3.885122E-01 -2.230022E-01 1.244367E-01 0.0000000 1.813390E-01 -5.540730E-05 -5.182553E-04 1.924326E-02 2.517975E-01 1.510110E+00 0.0000000 8.365700E-02 3.969482E-05 3.731503E-04 -7.103807E-03 5.650091E-01 -3.477122E-01 0.0000000 3.626700E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 5 0 2.276057E+04 4.000000E-05 -1.500000E-05 3.000000E-06 5.000000E-06 0.0000000 5.387679E+03 3.610000E-04 -1.310000E-04 2.500000E-05 4.900000E-05 0.0000000 1.749945E+03 2.083000E-03 -7.550000E-04 1.470000E-04 2.780000E-04 0.0000000 6.696653E+02 9.197000E-03 -3.359000E-03 6.560000E-04 1.253000E-03 0.0000000 2.841948E+02 3.266000E-02 -1.208100E-02 2.351000E-03 4.447000E-03 0.0000000 1.296077E+02 9.379500E-02 -3.570300E-02 7.004000E-03 1.337000E-02 0.0000000 6.225415E+01 2.082740E-01 -8.250200E-02 1.613100E-02 3.046900E-02 0.0000000 3.092964E+01 3.339930E-01 -1.398900E-01 2.777000E-02 5.344700E-02 0.0000000 1.575827E+01 3.324930E-01 -1.407290E-01 2.756700E-02 5.263900E-02 0.0000000 8.094211E+00 1.547280E-01 3.876600E-02 -1.011500E-02 -1.688100E-02 0.0000000 4.046921E+00 2.127100E-02 3.426950E-01 -8.100900E-02 -1.794480E-01 0.0000000 1.967869E+00 -1.690000E-03 4.523100E-01 -1.104090E-01 -2.095880E-01 0.0000000 9.252950E-01 -1.516000E-03 2.770540E-01 -7.173200E-02 -3.963300E-02 0.0000000 3.529920E-01 -2.420000E-04 4.388500E-02 1.879300E-01 5.021300E-01 0.0000000 1.273070E-01 2.300000E-05 -2.802000E-03 5.646290E-01 5.811110E-01 0.0000000 4.435600E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 3 0 1.738970E+02 2.700000E-03 -3.363000E-03 0.0000000 5.188690E+01 2.090900E-02 -2.607900E-02 0.0000000 1.934190E+01 8.440800E-02 -1.082310E-01 0.0000000 7.975720E+00 2.139990E-01 -2.822170E-01 0.0000000 3.398230E+00 3.359800E-01 -3.471900E-01 0.0000000 1.409320E+00 3.573010E-01 2.671100E-02 0.0000000 5.488580E-01 2.645780E-01 4.920470E-01 0.0000000 1.901990E-01 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 1 0 5.028600E+00 4.242800E-01 1.259400E+00 7.630250E-01 $ ZINC (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ ZINC (20s,16p,8d,2f) -> [6s,5p,3d,1f] a 30 $ S-TYPE FUNCTIONS 20 6 0 5.820021E+06 8.549241E-06 -2.640069E-06 9.967103E-07 1.995818E-07 -5.435910E-07 0.0000000 8.715234E+05 6.647410E-05 -2.052720E-05 7.754163E-06 1.552973E-06 -4.336894E-06 0.0000000 1.983350E+05 3.494962E-04 -1.079859E-04 4.076019E-05 8.161259E-06 -2.197572E-05 0.0000000 5.617631E+04 1.473832E-03 -4.558577E-04 1.722811E-04 3.450747E-05 -9.747392E-05 0.0000000 1.832582E+04 5.338330E-03 -1.657758E-03 6.259370E-04 1.253275E-04 -3.331615E-04 0.0000000 6.614955E+03 1.712708E-02 -5.368492E-03 2.032855E-03 4.072990E-04 -1.166192E-03 0.0000000 2.579199E+03 4.894085E-02 -1.571249E-02 5.954646E-03 1.192734E-03 -3.119308E-03 0.0000000 1.068849E+03 1.217934E-01 -4.122558E-02 1.576640E-02 3.163140E-03 -9.239504E-03 0.0000000 4.651045E+02 2.476589E-01 -9.406459E-02 3.637638E-02 7.303942E-03 -1.855471E-02 0.0000000 2.104130E+02 3.582431E-01 -1.719954E-01 6.892343E-02 1.391279E-02 -4.281189E-02 0.0000000 9.761629E+01 2.798174E-01 -1.958523E-01 8.238093E-02 1.670620E-02 -3.571095E-02 0.0000000 4.438020E+01 6.857491E-02 4.532907E-02 -2.011360E-02 -4.035586E-03 -1.638350E-02 0.0000000 2.142308E+01 -1.311092E-03 5.244442E-01 -3.252526E-01 -6.968861E-02 2.644664E-01 0.0000000 1.030891E+01 1.914001E-03 5.006142E-01 -4.602899E-01 -1.030105E-01 2.086588E-01 0.0000000 4.553645E+00 -8.759220E-04 8.945527E-02 1.635546E-01 4.471442E-02 -1.774382E-02 0.0000000 2.132821E+00 3.740096E-04 -2.146262E-03 7.297118E-01 2.150027E-01 -1.353873E+00 0.0000000 9.296970E-01 -1.401399E-04 2.112113E-03 3.769751E-01 2.220163E-01 8.182926E-01 0.0000000 1.921470E-01 4.757132E-05 -4.133980E-04 1.433224E-02 -3.114776E-01 1.695036E+00 0.0000000 8.759500E-02 -3.642711E-05 3.209752E-04 -6.671210E-03 -5.693429E-01 -1.388656E+00 0.0000000 3.770200E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 5 0 2.441198E+04 4.100000E-05 -1.500000E-05 3.000000E-06 5.000000E-06 0.0000000 5.778518E+03 3.610000E-04 -1.350000E-04 2.500000E-05 4.200000E-05 0.0000000 1.876862E+03 2.088000E-03 -7.820000E-04 1.440000E-04 2.380000E-04 0.0000000 7.182361E+02 9.221000E-03 -3.478000E-03 6.450000E-04 1.088000E-03 0.0000000 3.048327E+02 3.277300E-02 -1.252000E-02 2.311000E-03 3.821000E-03 0.0000000 1.390453E+02 9.417900E-02 -3.701600E-02 6.898000E-03 1.164400E-02 0.0000000 6.680417E+01 2.091320E-01 -8.555900E-02 1.588200E-02 2.616700E-02 0.0000000 3.320699E+01 3.345690E-01 -1.447180E-01 2.735000E-02 4.675000E-02 0.0000000 1.692816E+01 3.303590E-01 -1.434420E-01 2.662100E-02 4.330900E-02 0.0000000 8.696229E+00 1.523470E-01 4.359500E-02 -1.085800E-02 -1.342900E-02 0.0000000 4.350510E+00 2.298400E-02 3.488880E-01 -7.985300E-02 -1.538970E-01 0.0000000 2.116523E+00 1.607000E-03 4.538650E-01 -1.061270E-01 -1.674130E-01 0.0000000 9.953870E-01 4.680000E-04 2.685940E-01 -6.888300E-02 -8.499500E-02 0.0000000 3.781120E-01 6.600000E-05 3.886800E-02 1.843850E-01 4.508130E-01 0.0000000 1.345790E-01 -2.000000E-06 -2.492000E-03 5.617880E-01 6.408690E-01 0.0000000 4.628200E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 8 3 0 2.056177E+02 2.342000E-03 3.279000E-03 0.0000000 6.144981E+01 1.860600E-02 2.617600E-02 0.0000000 2.305689E+01 7.710200E-02 1.113670E-01 0.0000000 9.577739E+00 2.020260E-01 3.045810E-01 0.0000000 4.133734E+00 3.294540E-01 3.862990E-01 0.0000000 1.747518E+00 3.609760E-01 -5.837500E-02 0.0000000 6.995600E-01 2.716570E-01 -5.388760E-01 0.0000000 2.516080E-01 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 1 0 5.734400E+00 4.311320E-01 1.461500E+00 7.546420E-01 $ GALLIUM (14s,11p,6d) -> [5s,4p,2d] $ GALLIUM (14s,11p,6d) -> [5s,4p,2d] a 31 $ S-TYPE FUNCTIONS 14 5 0 485130.0000000 0.0002068 -0.0000643 0.0000245 -0.0000057 0.0000000 72719.0000000 0.0016047 -0.0004954 0.0001895 -0.0000440 0.0000000 16552.0000000 0.0083402 -0.0026208 0.0009964 -0.0002305 0.0000000 4687.8000000 0.0340248 -0.0106839 0.0041082 -0.0009544 0.0000000 1529.1000000 0.1111699 -0.0374123 0.0142938 -0.0033055 0.0000000 551.8100000 0.2753930 -0.1009636 0.0398034 -0.0092888 0.0000000 215.1800000 0.4212628 -0.2145141 0.0855940 -0.0198644 0.0000000 88.1740000 0.2738906 -0.1752297 0.0796305 -0.0190888 0.0000000 27.1540000 0.0283720 0.4831599 -0.2939107 0.0732356 0.0000000 11.5030000 -0.0062931 0.6323677 -0.5263914 0.1341526 0.0000000 3.3018000 0.0020606 0.0684942 0.5864249 -0.1831929 0.0000000 1.3314000 -0.0009269 -0.0118712 0.6726347 -0.3571308 0.0000000 0.1931600 0.0002273 0.0026652 0.0276123 0.6246013 0.0000000 0.0708950 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 4 0 3248.6000000 0.0015260 -0.0005803 0.0000950 0.0000000 769.9700000 0.0127486 -0.0048647 0.0007832 0.0000000 248.2000000 0.0633742 -0.0248394 0.0040855 0.0000000 93.3640000 0.2065775 -0.0841759 0.0135987 0.0000000 38.2510000 0.4092963 -0.1800885 0.0302695 0.0000000 16.4220000 0.3919183 -0.1585555 0.0241790 0.0000000 6.7918000 0.1029441 0.2355376 -0.0423777 0.0000000 2.8336000 -0.0007203 0.5820587 -0.1265661 0.0000000 1.1062000 0.0020950 0.3366619 -0.0499444 0.0000000 0.2225000 -0.0003290 0.0171912 0.4494199 0.0000000 0.0617720 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 2 0 65.3370000 0.0273825 0.0000000 18.4970000 0.1510805 0.0000000 6.3150000 0.3749217 0.0000000 2.1635000 0.4750799 0.0000000 0.6667500 0.2982750 0.0000000 0.1884000 0.0000000 1.0000000 $ GERMANIUM (14s,11p,6d) -> [5s,4p,2d] $ GERMANIUM (14s,11p,6d) -> [5s,4p,2d] a 32 $ S-TYPE FUNCTIONS 14 5 0 521800.0000000 0.0002045 -0.0000638 0.0000246 -0.0000063 0.0000000 78214.0000000 0.0015868 -0.0004916 0.0001900 -0.0000486 0.0000000 17803.0000000 0.0082480 -0.0026002 0.0009993 -0.0002553 0.0000000 5041.9000000 0.0336649 -0.0106080 0.0041200 -0.0010560 0.0000000 1644.5000000 0.1101249 -0.0371602 0.0143557 -0.0036674 0.0000000 593.4300000 0.2735607 -0.1005790 0.0400375 -0.0103053 0.0000000 231.3600000 0.4210670 -0.2143977 0.0865794 -0.0222200 0.0000000 94.7620000 0.2766791 -0.1782617 0.0815861 -0.0215275 0.0000000 29.2740000 0.0292180 0.4777404 -0.2934770 0.0806752 0.0000000 12.4500000 -0.0065903 0.6355983 -0.5367983 0.1524958 0.0000000 3.6463000 0.0022430 0.0722174 0.5637985 -0.1980528 0.0000000 1.5025000 -0.0010382 -0.0127265 0.6947182 -0.4073954 0.0000000 0.2450300 0.0002695 0.0029608 0.0315730 0.6477288 0.0000000 0.0915940 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 4 0 3568.1000000 0.0014591 -0.0005630 0.0001115 0.0000000 845.7200000 0.0122176 -0.0047354 0.0009212 0.0000000 272.7400000 0.0610490 -0.0242643 0.0048273 0.0000000 102.6800000 0.2008039 -0.0830900 0.0162272 0.0000000 42.1480000 0.4038942 -0.1800247 0.0366354 0.0000000 18.1490000 0.3970027 -0.1663295 0.0307867 0.0000000 7.5934000 0.1105481 0.2193717 -0.0480643 0.0000000 3.1964000 0.0000768 0.5820239 -0.1559804 0.0000000 1.2743000 0.0021263 0.3477720 -0.0632370 0.0000000 0.2825800 -0.0003744 0.0192455 0.5040819 0.0000000 0.0840900 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 2 0 74.7620000 0.0257684 0.0000000 21.3020000 0.1454421 0.0000000 7.3436000 0.3713721 0.0000000 2.5651000 0.4800002 0.0000000 0.8197000 0.2896800 0.0000000 0.2470000 0.0000000 1.0000000 $ ARSENIC (14s,11p,6d) -> [5s,4p,2d] $ ARSENIC (14s,11p,6d) -> [5s,4p,2d] a 33 $ S-TYPE FUNCTIONS 14 5 0 559583.7900000 0.0002024 -0.0000634 0.0000246 -0.0000068 0.0000000 83879.3300000 0.0015709 -0.0004883 0.0001907 -0.0000525 0.0000000 19092.6680000 0.0081662 -0.0025821 0.0010031 -0.0002756 0.0000000 5407.3925000 0.0333399 -0.0105402 0.0041353 -0.0011389 0.0000000 1763.7559000 0.1091726 -0.0369325 0.0144259 -0.0039646 0.0000000 636.4567200 0.2718853 -0.1002355 0.0402962 -0.0111423 0.0000000 248.0884300 0.4208509 -0.2142948 0.0875670 -0.0241991 0.0000000 101.5785100 0.2792257 -0.1810526 0.0835178 -0.0236339 0.0000000 31.4755130 0.0300301 0.4725410 -0.2932935 0.0866317 0.0000000 13.4372820 -0.0068804 0.6386194 -0.5470520 0.1685839 0.0000000 4.0086900 0.0024240 0.0758107 0.5438738 -0.2091425 0.0000000 1.6849290 -0.0011491 -0.0135278 0.7143591 -0.4500918 0.0000000 0.3000190 0.0003095 0.0031970 0.0353443 0.6603978 0.0000000 0.1135870 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 4 0 3886.3564000 0.0014097 -0.0005519 0.0001236 0.0000000 921.2020100 0.0118277 -0.0046550 0.0010240 0.0000000 297.1931900 0.0593280 -0.0239176 0.0053805 0.0000000 111.9750800 0.1965115 -0.0825627 0.0182443 0.0000000 46.0346210 0.3997891 -0.1806791 0.0415979 0.0000000 19.8741940 0.4004653 -0.1724848 0.0362998 0.0000000 8.3860880 0.1164196 0.2086700 -0.0523569 0.0000000 3.5587280 0.0006918 0.5823622 -0.1791667 0.0000000 1.4472820 0.0021633 0.3537465 -0.0740477 0.0000000 0.3477790 -0.0004150 0.0206439 0.5358094 0.0000000 0.1076990 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 2 0 84.4242340 0.0245288 0.0000000 24.1815890 0.1411340 0.0000000 8.4017770 0.3687579 0.0000000 2.9805020 0.4840626 0.0000000 0.9790030 0.2824434 0.0000000 0.3098000 0.0000000 1.0000000 $ SELENIUM (14s,11p,6d) -> [5s,4p,2d] $ SELENIUM (14s,11p,6d) -> [5s,4p,2d] a 34 $ S-TYPE FUNCTIONS 14 5 0 598990.0000000 0.0002004 -0.0000629 0.0000247 -0.0000072 0.0000000 89783.0000000 0.0015554 -0.0004850 0.0001913 -0.0000559 0.0000000 20435.0000000 0.0080872 -0.0025644 0.0010068 -0.0002938 0.0000000 5786.9000000 0.0330344 -0.0104761 0.0041514 -0.0012136 0.0000000 1887.3000000 0.1082924 -0.0367223 0.0144991 -0.0042340 0.0000000 680.9700000 0.2703361 -0.0999225 0.0405658 -0.0119035 0.0000000 265.3900000 0.4206236 -0.2141973 0.0885364 -0.0260206 0.0000000 108.6300000 0.2815922 -0.1836593 0.0854212 -0.0256148 0.0000000 33.7600000 0.0308110 0.4675454 -0.2932581 0.0919427 0.0000000 14.4650000 -0.0071617 0.6414740 -0.5570727 0.1838700 0.0000000 4.3890000 0.0026022 0.0792569 0.5261436 -0.2188461 0.0000000 1.8783000 -0.0012583 -0.0142697 0.7320371 -0.4896524 0.0000000 0.3585900 0.0003465 0.0033792 0.0388246 0.6775818 0.0000000 0.1364900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 4 0 4135.6000000 0.0014127 -0.0005610 0.0001366 0.0000000 980.3400000 0.0118588 -0.0047340 0.0011308 0.0000000 316.3500000 0.0595153 -0.0243504 0.0059581 0.0000000 119.2500000 0.1972201 -0.0841071 0.0201866 0.0000000 49.0680000 0.4007439 -0.1841384 0.0461939 0.0000000 21.2120000 0.3994740 -0.1735004 0.0394050 0.0000000 8.9462000 0.1153364 0.2167263 -0.0592846 0.0000000 3.8236000 0.0002219 0.5850099 -0.2014663 0.0000000 1.5883000 0.0022838 0.3416816 -0.0687821 0.0000000 0.4096900 -0.0004756 0.0199125 0.5595944 0.0000000 0.1245900 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 2 0 94.4720000 0.0234982 0.0000000 27.1800000 0.1375183 0.0000000 9.5068000 0.3664824 0.0000000 3.4168000 0.4874717 0.0000000 1.1479000 0.2765769 0.0000000 0.3682000 0.0000000 1.0000000 $ BROMINE (14s,11p,6d) -> [5s,4p,2d] $ BROMINE (14s,11p,6d) -> [5s,4p,2d] a 35 $ S-TYPE FUNCTIONS 14 5 0 640100.0000000 0.0001984 -0.0000625 0.0000248 -0.0000076 0.0000000 95938.0000000 0.0015400 -0.0004816 0.0001919 -0.0000588 0.0000000 21833.0000000 0.0080096 -0.0025466 0.0010100 -0.0003092 0.0000000 6181.9000000 0.0327341 -0.0104112 0.0041659 -0.0012766 0.0000000 2015.7000000 0.1074480 -0.0365179 0.0145683 -0.0044634 0.0000000 727.1000000 0.2688946 -0.0996295 0.0408345 -0.0125575 0.0000000 283.2800000 0.4204411 -0.2141310 0.0894859 -0.0276145 0.0000000 115.9100000 0.2838041 -0.1860911 0.0872786 -0.0273945 0.0000000 36.1240000 0.0315455 0.4628261 -0.2933644 0.0964094 0.0000000 15.5320000 -0.0074268 0.6441141 -0.5667109 0.1976871 0.0000000 4.7857000 0.0027728 0.0825502 0.5105658 -0.2266693 0.0000000 2.0817000 -0.0013635 -0.0149694 0.7477214 -0.5241165 0.0000000 0.4202800 0.0003812 0.0035288 0.0421512 0.6889865 0.0000000 0.1606900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 4 0 4340.8000000 0.0014448 -0.0005819 0.0001518 0.0000000 1028.9000000 0.0121288 -0.0049065 0.0012563 0.0000000 332.0200000 0.0608077 -0.0252514 0.0066224 0.0000000 125.1600000 0.2009358 -0.0869445 0.0223816 0.0000000 51.5110000 0.4047419 -0.1893422 0.0509717 0.0000000 22.2810000 0.3957151 -0.1710882 0.0414009 0.0000000 9.3417000 0.1102213 0.2368755 -0.0703970 0.0000000 4.0132000 -0.0009090 0.5898400 -0.2232540 0.0000000 1.7002000 0.0024832 0.3171944 -0.0564179 0.0000000 0.4719400 -0.0005744 0.0179833 0.5808079 0.0000000 0.1442100 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 2 0 104.8300000 0.0226583 0.0000000 30.2720000 0.1345895 0.0000000 10.6490000 0.3647181 0.0000000 3.8696000 0.4904196 0.0000000 1.3239000 0.2713885 0.0000000 0.4098000 0.0000000 1.0000000 $ KRYPTON (14s,11p,6d) -> [5s,4p,2d] $ KRYPTON (14s,11p,6d) -> [5s,4p,2d] a 36 $ S-TYPE FUNCTIONS 14 5 0 681358.8200000 0.0001969 -0.0000622 0.0000249 -0.0000079 0.0000000 102126.4800000 0.0015286 -0.0004794 0.0001928 -0.0000614 0.0000000 23243.7100000 0.0079500 -0.0025341 0.0010149 -0.0003230 0.0000000 6582.0073000 0.0324938 -0.0103636 0.0041857 -0.0013330 0.0000000 2146.4286000 0.1067240 -0.0363516 0.0146459 -0.0046672 0.0000000 774.3378200 0.2675701 -0.0993737 0.0411070 -0.0131352 0.0000000 301.6702000 0.4201851 -0.2140610 0.0903955 -0.0290342 0.0000000 123.4118400 0.2858015 -0.1883192 0.0890623 -0.0290173 0.0000000 38.5675510 0.0322461 0.4583816 -0.2935718 0.1002664 0.0000000 16.6373790 -0.0076828 0.6465664 -0.5759698 0.2103818 0.0000000 5.1987950 0.0029393 0.0856579 0.4968578 -0.2332471 0.0000000 2.2948140 -0.0014662 -0.0156123 0.7616895 -0.5546497 0.0000000 0.4852110 0.0004144 0.0036490 0.0453267 0.6969522 0.0000000 0.1862700 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 4 0 4474.2699000 0.0015195 -0.0006208 0.0001701 0.0000000 1060.5790000 0.0127424 -0.0052212 0.0014064 0.0000000 342.2081200 0.0636465 -0.0268463 0.0073963 0.0000000 128.9984200 0.2085635 -0.0915823 0.0248254 0.0000000 53.0872220 0.4122423 -0.1968164 0.0557155 0.0000000 22.9594250 0.3878103 -0.1634750 0.0412132 0.0000000 9.5073000 0.1003820 0.2738204 -0.0876057 0.0000000 4.0830550 -0.0025078 0.5981592 -0.2440586 0.0000000 1.7504460 0.0027139 0.2750453 -0.0295007 0.0000000 0.5291900 -0.0006977 0.0127706 0.6012295 0.0000000 0.1643690 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 2 0 115.5253200 0.0219557 0.0000000 33.4652460 0.1321620 0.0000000 11.8304590 0.3633484 0.0000000 4.3397710 0.4929582 0.0000000 1.5075240 0.2667560 0.0000000 0.5030000 0.0000000 1.0000000 ergo-3.5/basis/6-311Gss0000664000175000017500000027360512743400275011431 00000000000000$ 6-311G** EMSL Basis Set Exchange Library 12/9/15 3:58 AM $ Elements References $ -------- ---------- $ H, Li - Ne: R. Krishnan, J.S. Binkley, R. Seeger and J.A. Pople, $ J. Chem. Phys. 72, 650 (1980) $ Na - Ar: A.D. McLean and G.S. Chandler J. Chem. Phys. 72, 5639, (1980). $ K - Ca: J-P. Blaudeau, M. P. McGrath, L.A. Curtiss and L. Radom, $ J. Chem. Phys. 107, 5016 (1997). $ Ga - Kr: L. A. Curtiss, M. P. McGrath, J-P. Blandeau, N. E. Davis, $ R. C. Binning, Jr. L. Radom, J. Chem. Phys. 103, 6104 (1995). $ I : M.N. Glukhovstev, A. pross, M.P. McGrath, L. Radom, J. Chem. Phys. $ 103, 1878 (1995) $ $ Elements References $ -------- ---------- $ H - Ar: R. Krishnan, J.S. Binkley, R. Seeger, J.A. Pople, J. Chem. Phys. 72, $ 650 (1980) $ $ HYDROGEN (5s,1p) -> [3s,1p] $ HYDROGEN (5s)->[3s] $ HYDROGEN (1p) a 1 $ S-TYPE FUNCTIONS 5 3 0 33.8650000 0.0254938 0.0000000 0.0000000 5.0947900 0.1903730 0.0000000 0.0000000 1.1587900 0.8521610 0.0000000 0.0000000 0.3258400 0.0000000 1.0000000 0.0000000 0.1027410 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 1 1 0 0.7500000 1.0000000 $ HELIUM (5s,1p) -> [3s,1p] $ HELIUM (5s)->[3s] $ HELIUM (1p) a 2 $ S-TYPE FUNCTIONS 5 3 0 98.1243000 0.0287452 0.0000000 0.0000000 14.7689000 0.2080610 0.0000000 0.0000000 3.3188300 0.8376350 0.0000000 0.0000000 0.8740470 0.0000000 1.0000000 0.0000000 0.2445640 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 1 1 0 0.7500000 1.0000000 $ LITHIUM (11s,5p,1d) -> [4s,3p,1d] $ LITHIUM (11s,5p)->[4s,3p] $ LITHIUM (1d) a 3 $ S-TYPE FUNCTIONS 11 4 0 900.4600000 0.00228704 0.0000000 0.0000000 0.0000000 134.4330000 0.0176350 0.0000000 0.0000000 0.0000000 30.4365000 0.0873434 0.0000000 0.0000000 0.0000000 8.6263900 0.2809770 0.0000000 0.0000000 0.0000000 2.4833200 0.6587410 0.0000000 0.0000000 0.0000000 0.3031790 0.1187120 0.0000000 0.0000000 0.0000000 4.8689000 0.0000000 0.0933293 0.0000000 0.0000000 0.8569240 0.0000000 0.9430450 0.0000000 0.0000000 0.2432270 0.0000000 -0.00279827 0.0000000 0.0000000 0.0635070 0.0000000 0.0000000 1.0000000 0.0000000 0.0243683 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 4.8689000 0.0327661 0.0000000 0.0000000 0.8569240 0.1597920 0.0000000 0.0000000 0.2432270 0.8856670 0.0000000 0.0000000 0.0635070 0.0000000 1.0000000 0.0000000 0.0243683 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.2000000 1.0000000 $ BERYLLIUM (11s,5p,1d) -> [4s,3p,1d] $ BERYLLIUM (11s,5p)->[4s,3p] $ BERYLLIUM (1d) a 4 $ S-TYPE FUNCTIONS 11 4 0 1682.8000000 0.00228574 0.0000000 0.0000000 0.0000000 251.7150000 0.0175938 0.0000000 0.0000000 0.0000000 57.4116000 0.0863315 0.0000000 0.0000000 0.0000000 16.5171000 0.2818350 0.0000000 0.0000000 0.0000000 4.8536400 0.6405940 0.0000000 0.0000000 0.0000000 0.6268630 0.1444670 0.0000000 0.0000000 0.0000000 8.3093800 0.0000000 0.1086210 0.0000000 0.0000000 1.7407500 0.0000000 0.9273010 0.0000000 0.0000000 0.4858160 0.0000000 -0.00297169 0.0000000 0.0000000 0.1636130 0.0000000 0.0000000 1.0000000 0.0000000 0.0567285 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 8.3093800 0.0361344 0.0000000 0.0000000 1.7407500 0.2169580 0.0000000 0.0000000 0.4858160 0.8418390 0.0000000 0.0000000 0.1636130 0.0000000 1.0000000 0.0000000 0.0567285 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.2550000 1.0000000 $ BORON (11s,5p,1d) -> [4s,3p,1d] $ BORON (11s,5p)->[4s,3p] $ BORON (1d) a 5 $ S-TYPE FUNCTIONS 11 4 0 2858.8900000 0.00215375 0.0000000 0.0000000 0.0000000 428.1400000 0.0165823 0.0000000 0.0000000 0.0000000 97.5282000 0.0821870 0.0000000 0.0000000 0.0000000 27.9693000 0.2766180 0.0000000 0.0000000 0.0000000 8.2157700 0.6293160 0.0000000 0.0000000 0.0000000 1.1127800 0.1737700 0.0000000 0.0000000 0.0000000 13.2415000 0.0000000 0.1174430 0.0000000 0.0000000 3.0016600 0.0000000 0.9180020 0.0000000 0.0000000 0.9128560 0.0000000 -0.00265105 0.0000000 0.0000000 0.3154540 0.0000000 0.0000000 1.0000000 0.0000000 0.0988563 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 13.2415000 0.0418100 0.0000000 0.0000000 3.0016600 0.2365750 0.0000000 0.0000000 0.9128560 0.8162140 0.0000000 0.0000000 0.3154540 0.0000000 1.0000000 0.0000000 0.0988563 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.4010000 1.0000000 $ CARBON (11s,5p,1d) -> [4s,3p,1d] $ CARBON (11s,5p)->[4s,3p] $ CARBON (1d) a 6 $ S-TYPE FUNCTIONS 11 4 0 4563.2400000 0.00196665 0.0000000 0.0000000 0.0000000 682.0240000 0.0152306 0.0000000 0.0000000 0.0000000 154.9730000 0.0761269 0.0000000 0.0000000 0.0000000 44.4553000 0.2608010 0.0000000 0.0000000 0.0000000 13.0290000 0.6164620 0.0000000 0.0000000 0.0000000 1.8277300 0.2210060 0.0000000 0.0000000 0.0000000 20.9642000 0.0000000 0.1146600 0.0000000 0.0000000 4.8033100 0.0000000 0.9199990 0.0000000 0.0000000 1.4593300 0.0000000 -0.00303068 0.0000000 0.0000000 0.4834560 0.0000000 0.0000000 1.0000000 0.0000000 0.1455850 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 20.9642000 0.0402487 0.0000000 0.0000000 4.8033100 0.2375940 0.0000000 0.0000000 1.4593300 0.8158540 0.0000000 0.0000000 0.4834560 0.0000000 1.0000000 0.0000000 0.1455850 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.6260000 1.0000000 $ NITROGEN (11s,5p,1d) -> [4s,3p,1d] $ NITROGEN (11s,5p)->[4s,3p] $ NITROGEN (1d) a 7 $ S-TYPE FUNCTIONS 11 4 0 6293.4800000 0.00196979 0.0000000 0.0000000 0.0000000 949.0440000 0.0149613 0.0000000 0.0000000 0.0000000 218.7760000 0.0735006 0.0000000 0.0000000 0.0000000 63.6916000 0.2489370 0.0000000 0.0000000 0.0000000 18.8282000 0.6024600 0.0000000 0.0000000 0.0000000 2.7202300 0.2562020 0.0000000 0.0000000 0.0000000 30.6331000 0.0000000 0.1119060 0.0000000 0.0000000 7.0261400 0.0000000 0.9216660 0.0000000 0.0000000 2.1120500 0.0000000 -0.00256919 0.0000000 0.0000000 0.6840090 0.0000000 0.0000000 1.0000000 0.0000000 0.2008780 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 30.6331000 0.0383119 0.0000000 0.0000000 7.0261400 0.2374030 0.0000000 0.0000000 2.1120500 0.8175920 0.0000000 0.0000000 0.6840090 0.0000000 1.0000000 0.0000000 0.2008780 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.9130000 1.0000000 $ OXYGEN (11s,5p,1d) -> [4s,3p,1d] $ OXYGEN (11s,5p)->[4s,3p] $ OXYGEN (1d) a 8 $ S-TYPE FUNCTIONS 11 4 0 8588.5000000 0.00189515 0.0000000 0.0000000 0.0000000 1297.2300000 0.0143859 0.0000000 0.0000000 0.0000000 299.2960000 0.0707320 0.0000000 0.0000000 0.0000000 87.3771000 0.2400010 0.0000000 0.0000000 0.0000000 25.6789000 0.5947970 0.0000000 0.0000000 0.0000000 3.7400400 0.2808020 0.0000000 0.0000000 0.0000000 42.1175000 0.0000000 0.1138890 0.0000000 0.0000000 9.6283700 0.0000000 0.9208110 0.0000000 0.0000000 2.8533200 0.0000000 -0.00327447 0.0000000 0.0000000 0.9056610 0.0000000 0.0000000 1.0000000 0.0000000 0.2556110 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 42.1175000 0.0365114 0.0000000 0.0000000 9.6283700 0.2371530 0.0000000 0.0000000 2.8533200 0.8197020 0.0000000 0.0000000 0.9056610 0.0000000 1.0000000 0.0000000 0.2556110 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 1.2920000 1.0000000 $ FLUORINE (11s,5p,1d) -> [4s,3p,1d] $ FLUORINE (11s,5p)->[4s,3p] $ FLUORINE (1d) a 9 $ S-TYPE FUNCTIONS 11 4 0 11427.1000000 0.00180093 0.0000000 0.0000000 0.0000000 1722.3500000 0.0137419 0.0000000 0.0000000 0.0000000 395.7460000 0.0681334 0.0000000 0.0000000 0.0000000 115.1390000 0.2333250 0.0000000 0.0000000 0.0000000 33.6026000 0.5890860 0.0000000 0.0000000 0.0000000 4.9190100 0.2995050 0.0000000 0.0000000 0.0000000 55.4441000 0.0000000 0.1145360 0.0000000 0.0000000 12.6323000 0.0000000 0.9205120 0.0000000 0.0000000 3.7175600 0.0000000 -0.00337804 0.0000000 0.0000000 1.1654500 0.0000000 0.0000000 1.0000000 0.0000000 0.3218920 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 55.4441000 0.0354609 0.0000000 0.0000000 12.6323000 0.2374510 0.0000000 0.0000000 3.7175600 0.8204580 0.0000000 0.0000000 1.1654500 0.0000000 1.0000000 0.0000000 0.3218920 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 1.7500000 1.0000000 $ NEON (11s,5p,1d) -> [4s,3p,1d] $ NEON (11s,5p)->[4s,3p] $ NEON (1d) a 10 $ S-TYPE FUNCTIONS 11 4 0 13995.7000000 0.00183276 0.0000000 0.0000000 0.0000000 2117.1000000 0.0138827 0.0000000 0.0000000 0.0000000 490.4250000 0.0680687 0.0000000 0.0000000 0.0000000 143.8330000 0.2313280 0.0000000 0.0000000 0.0000000 41.9265000 0.5858900 0.0000000 0.0000000 0.0000000 6.1568400 0.3058830 0.0000000 0.0000000 0.0000000 69.1211000 0.0000000 0.1191490 0.0000000 0.0000000 15.8350000 0.0000000 0.9173750 0.0000000 0.0000000 4.6732600 0.0000000 -0.00405839 0.0000000 0.0000000 1.4575600 0.0000000 0.0000000 1.0000000 0.0000000 0.3970570 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 69.1211000 0.0356574 0.0000000 0.0000000 15.8350000 0.2394770 0.0000000 0.0000000 4.6732600 0.8184610 0.0000000 0.0000000 1.4575600 0.0000000 1.0000000 0.0000000 0.3970570 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 2.3040000 1.0000000 $ SODIUM (13s,9p,1d) -> [6s,5p,1d] $ SODIUM (13s,9p)->[6s,5p] $ SODIUM (1d) a 11 $ S-TYPE FUNCTIONS 13 6 0 36166.4000000 0.0010320 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5372.5800000 0.0080710 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1213.2100000 0.0421290 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 339.6230000 0.1697890 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 109.5530000 0.5146210 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 38.7773000 0.3798170 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 38.7773000 0.0000000 0.3747620 0.0000000 0.0000000 0.0000000 0.0000000 14.5759000 0.0000000 0.5757690 0.0000000 0.0000000 0.0000000 0.0000000 5.2699300 0.0000000 0.1129330 0.0000000 0.0000000 0.0000000 0.0000000 1.8277700 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6199480 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0572400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0240480 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 144.6450000 0.0114850 0.0000000 0.0000000 0.0000000 0.0000000 33.9074000 0.0823830 0.0000000 0.0000000 0.0000000 0.0000000 10.6285000 0.3196580 0.0000000 0.0000000 0.0000000 0.0000000 3.8238900 0.7012950 0.0000000 0.0000000 0.0000000 0.0000000 1.4442900 0.0000000 0.6385060 0.0000000 0.0000000 0.0000000 0.5526210 0.0000000 0.4253650 0.0000000 0.0000000 0.0000000 0.1887200 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0465010 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0162850 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.0000000 $ MAGNESIUM (13s,9p,1d) -> [6s,5p,1d] $ MAGNESIUM (13s,9p)->[6s,5p] $ MAGNESIUM (1d) a 12 $ S-TYPE FUNCTIONS 13 6 0 43866.5000000 0.0009180 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6605.3700000 0.0070470 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1513.2600000 0.0359410 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 432.3170000 0.1414610 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 142.1490000 0.4267640 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 51.3983000 0.4979750 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 51.3983000 0.0000000 0.2513550 0.0000000 0.0000000 0.0000000 0.0000000 19.9196000 0.0000000 0.6186710 0.0000000 0.0000000 0.0000000 0.0000000 8.0247400 0.0000000 0.1884170 0.0000000 0.0000000 0.0000000 0.0000000 2.5081700 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8715310 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1081880 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0401300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 193.8540000 0.0101880 0.0000000 0.0000000 0.0000000 0.0000000 45.4420000 0.0753600 0.0000000 0.0000000 0.0000000 0.0000000 14.1864000 0.3074190 0.0000000 0.0000000 0.0000000 0.0000000 5.0575100 0.7175750 0.0000000 0.0000000 0.0000000 0.0000000 1.8886100 0.0000000 0.6673390 0.0000000 0.0000000 0.0000000 0.7226520 0.0000000 0.3946490 0.0000000 0.0000000 0.0000000 0.2364170 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0933580 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0348090 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.0000000 $ ALUMINUM (13s,9p,1d) -> [6s,5p,1d] $ ALUMINUM (13s,9p)->[6s,5p] $ ALUMINUM (1d) a 13 $ S-TYPE FUNCTIONS 13 6 0 54866.4890000 0.0008390 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8211.7665000 0.0065270 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1866.1761000 0.0336660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 531.1293400 0.1329020 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 175.1179700 0.4012660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 64.0055000 0.5313380 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 64.0055000 0.0000000 0.2023050 0.0000000 0.0000000 0.0000000 0.0000000 25.2925070 0.0000000 0.6247900 0.0000000 0.0000000 0.0000000 0.0000000 10.5349100 0.0000000 0.2274390 0.0000000 0.0000000 0.0000000 0.0000000 3.2067110 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.1525550 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1766780 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0652370 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 259.2836200 0.0094480 0.0000000 0.0000000 0.0000000 0.0000000 61.0768700 0.0709740 0.0000000 0.0000000 0.0000000 0.0000000 19.3032370 0.2956360 0.0000000 0.0000000 0.0000000 0.0000000 7.0108820 0.7282190 0.0000000 0.0000000 0.0000000 0.0000000 2.6738650 0.0000000 0.6444670 0.0000000 0.0000000 0.0000000 1.0365960 0.0000000 0.4174130 0.0000000 0.0000000 0.0000000 0.3168190 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1142570 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0413970 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.3250000 1.0000000 $ SILICON (13s,9p,1d) -> [6s,5p,1d] $ SILICON (13s,9p)->[6s,5p] $ SILICON (1d) a 14 $ S-TYPE FUNCTIONS 13 6 0 69379.2300000 0.0007570 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10354.9400000 0.0059320 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2333.8796000 0.0310880 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 657.1429500 0.1249670 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 214.3011300 0.3868970 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 77.6291680 0.5548880 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 77.6291680 0.0000000 0.1778810 0.0000000 0.0000000 0.0000000 0.0000000 30.6308070 0.0000000 0.6277650 0.0000000 0.0000000 0.0000000 0.0000000 12.8012950 0.0000000 0.2476230 0.0000000 0.0000000 0.0000000 0.0000000 3.9268660 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.4523430 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2562340 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0942790 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 335.4831900 0.0088660 0.0000000 0.0000000 0.0000000 0.0000000 78.9003660 0.0682990 0.0000000 0.0000000 0.0000000 0.0000000 24.9881500 0.2909580 0.0000000 0.0000000 0.0000000 0.0000000 9.2197110 0.7321170 0.0000000 0.0000000 0.0000000 0.0000000 3.6211400 0.0000000 0.6198790 0.0000000 0.0000000 0.0000000 1.4513100 0.0000000 0.4391480 0.0000000 0.0000000 0.0000000 0.5049770 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1863170 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0654320 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.4500000 1.0000000 $ PHOSPHOROUS (13s,9p,1d) -> [6s,5p,1d] $ PHOSPHOROUS (13s,9p)->[6s,5p] $ PHOSPHOROUS (1d) a 15 $ S-TYPE FUNCTIONS 13 6 0 77492.4000000 0.0007810 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11605.8000000 0.0060680 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2645.9600000 0.0311600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 754.9760000 0.1234310 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 248.7550000 0.3782090 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 91.1565000 0.5632620 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 91.1565000 0.0000000 0.1602550 0.0000000 0.0000000 0.0000000 0.0000000 36.2257000 0.0000000 0.6276470 0.0000000 0.0000000 0.0000000 0.0000000 15.2113000 0.0000000 0.2638490 0.0000000 0.0000000 0.0000000 0.0000000 4.7941700 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.8079300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3568160 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1147830 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 384.8430000 0.0092060 0.0000000 0.0000000 0.0000000 0.0000000 90.5521000 0.0698740 0.0000000 0.0000000 0.0000000 0.0000000 29.1339000 0.2924700 0.0000000 0.0000000 0.0000000 0.0000000 10.8862000 0.7281030 0.0000000 0.0000000 0.0000000 0.0000000 4.3525900 0.0000000 0.6283490 0.0000000 0.0000000 0.0000000 1.7770600 0.0000000 0.4280440 0.0000000 0.0000000 0.0000000 0.6970050 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2535320 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0684930 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.5500000 1.0000000 $ SULFUR (13s,9p,1d) -> [6s,5p,1d] $ SULFUR (13s,9p)->[6s,5p] $ SULFUR (1d) a 16 $ S-TYPE FUNCTIONS 13 6 0 93413.4000000 0.0007430 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13961.7000000 0.0057930 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3169.9100000 0.0299540 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 902.4560000 0.1190280 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 297.1580000 0.3684320 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 108.7020000 0.5772990 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 108.7020000 0.0000000 0.1431860 0.0000000 0.0000000 0.0000000 0.0000000 43.1553000 0.0000000 0.6244650 0.0000000 0.0000000 0.0000000 0.0000000 18.1079000 0.0000000 0.2833660 0.0000000 0.0000000 0.0000000 0.0000000 5.5600900 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 2.1318300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4204030 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1360450 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 495.0400000 0.0083090 0.0000000 0.0000000 0.0000000 0.0000000 117.2210000 0.0640240 0.0000000 0.0000000 0.0000000 0.0000000 37.7749000 0.2776140 0.0000000 0.0000000 0.0000000 0.0000000 14.0584000 0.7450760 0.0000000 0.0000000 0.0000000 0.0000000 5.5657400 0.0000000 0.6137120 0.0000000 0.0000000 0.0000000 2.2629700 0.0000000 0.4438180 0.0000000 0.0000000 0.0000000 0.8079940 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2774600 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0771410 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.6500000 1.0000000 $ CHLORINE (13s,10p,1d) -> [6s,5p,1d] $ CHLORINE (13s,10p)->[6s,5p] $ CHLORINE (1d) a 17 $ S-TYPE FUNCTIONS 13 6 0 105819.0000000 0.0007380 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15872.0000000 0.0057180 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3619.6500000 0.0294950 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1030.8000000 0.1172860 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 339.9080000 0.3629490 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 124.5380000 0.5841490 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 124.5380000 0.0000000 0.1341770 0.0000000 0.0000000 0.0000000 0.0000000 49.5135000 0.0000000 0.6242500 0.0000000 0.0000000 0.0000000 0.0000000 20.8056000 0.0000000 0.2917560 0.0000000 0.0000000 0.0000000 0.0000000 6.5834600 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 2.5646800 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.5597630 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1832730 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 5 0 589.7760000 0.0023910 0.0000000 0.0000000 0.0000000 0.0000000 139.8490000 0.0185040 0.0000000 0.0000000 0.0000000 0.0000000 45.1413000 0.0813770 0.0000000 0.0000000 0.0000000 0.0000000 16.8733000 0.2215520 0.0000000 0.0000000 0.0000000 0.0000000 6.7411000 0.7725690 0.0000000 0.0000000 0.0000000 0.0000000 6.7411000 0.0000000 -1.5722440 0.0000000 0.0000000 0.0000000 2.7715200 0.0000000 0.9923890 0.0000000 0.0000000 0.0000000 1.0238700 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3813680 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1094370 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.7500000 1.0000000 $ ARGON (13s,10p,1d) -> [6s,5p,1d] $ ARGON (13s,10p)->[6s,5p] $ ARGON (1d) a 18 $ S-TYPE FUNCTIONS 13 6 0 118022.3800000 0.0007470 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 17683.5410000 0.0057900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4027.7657000 0.0299190 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1145.3977000 0.1192060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 377.1637500 0.3690280 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 138.1596900 0.5764590 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 138.1596900 0.0000000 0.1439270 0.0000000 0.0000000 0.0000000 0.0000000 54.9891170 0.0000000 0.6229380 0.0000000 0.0000000 0.0000000 0.0000000 23.1706670 0.0000000 0.2839640 0.0000000 0.0000000 0.0000000 0.0000000 7.3778600 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 2.9236880 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.6504050 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2328250 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 10 5 0 663.0620100 0.0030820 0.0000000 0.0000000 0.0000000 0.0000000 157.0928100 0.0241650 0.0000000 0.0000000 0.0000000 0.0000000 50.2311000 0.1082230 0.0000000 0.0000000 0.0000000 0.0000000 18.6353450 0.2941920 0.0000000 0.0000000 0.0000000 0.0000000 7.4465370 0.6878620 0.0000000 0.0000000 0.0000000 0.0000000 7.4465370 0.0000000 -0.1214482 0.0000000 0.0000000 0.0000000 3.0956980 0.0000000 0.1632370 0.0000000 0.0000000 0.0000000 1.1064630 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4156010 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1454490 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.8500000 1.0000000 $ POTASSIUM (14s,11p,4d) -> [8s,7p,2d] $ POTASSIUM (14s,11p,3d)->[8s,7p,1d] $ POTASSIUM (1d) a 19 $ S-TYPE FUNCTIONS 14 8 0 182594.0000000 0.000227747 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 27369.0000000 0.00176640 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6229.1700000 0.00919497 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1764.5800000 0.03745510 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 577.0510000 0.12204500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 210.2490000 0.29899000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 82.6178000 0.0000000 0.4051470 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 33.2332000 0.0000000 0.2925320 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8.1064900 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.3340300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8455440 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3282160 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0364035 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0176463 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 7 0 891.0540000 0.00218429 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 211.0160000 0.0175891 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 67.6714000 0.0817775 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 25.2715000 0.0000000 0.2456560 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.1390000 0.0000000 0.4339840 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.2018600 0.0000000 0.3623770 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.6250700 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6437700 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2461300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0454400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0161600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 2 0 13.3700000 0.0316016 0.0000000 3.4210000 0.1568790 0.0000000 1.0630000 0.3905820 0.0000000 0.2290000 0.0000000 1.0000000 $ CALCIUM (14s,11p,4d) -> [8s,7p,2d] $ CALCIUM (14s,11p,3d)->[8s,7p,1d] $ CALCIUM (1d) a 20 $ S-TYPE FUNCTIONS 14 8 0 202699.0000000 0.000222964 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30382.5000000 0.00172932 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6915.0800000 0.00900226 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1959.0200000 0.0366699 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 640.9360000 0.1194100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 233.9770000 0.2918250 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 92.2892000 0.0000000 0.4044150 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 37.2545000 0.0000000 0.2963130 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.1319800 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.8177900 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0493500 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4286600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0628226 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0260162 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 7 0 1019.7600000 0.00205986 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 241.5960000 0.01665010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 77.6370000 0.07776460 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 29.1154000 0.0000000 0.2418060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.7626000 0.0000000 0.4325780 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.9228900 0.0000000 0.3673250 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.9064500 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7369000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2764200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0602700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0179100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 4 2 0 15.0800000 0.0368947 0.0000000 3.9260000 0.1778200 0.0000000 1.2330000 0.4255130 0.0000000 0.2600000 0.0000000 1.0000000 $ GALLIUM (15s,13p,6d) -> [8s,7p,3d] $ GALLIUM (15s,13p,5d)->[8s,7p,2d] $ GALLIUM (1d) a 31 $ S-TYPE FUNCTIONS 15 8 0 333800.0000000 0.00083805 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 50100.0000000 0.00624660 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11510.0000000 0.03202800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3292.0000000 0.12709000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1089.0000000 0.39092000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 401.0000000 0.54643000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 401.0000000 0.0000000 0.1807800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 159.3000000 0.0000000 0.6223900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 67.5900000 0.0000000 0.2495300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24.8900000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.6800000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.3860000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.3310000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1853000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0662100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2181.0000000 0.0225650 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 515.4000000 0.1836300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 164.8000000 0.8598400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 61.4000000 0.0000000 0.3434500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24.9800000 0.0000000 0.5056100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.4400000 0.0000000 0.2622400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.4400000 0.0000000 0.0000000 0.0641300 0.0000000 0.0000000 0.0000000 0.0000000 5.5890000 0.0000000 0.0000000 0.3788400 0.0000000 0.0000000 0.0000000 0.0000000 2.5170000 0.0000000 0.0000000 0.6166900 0.0000000 0.0000000 0.0000000 0.0000000 1.0530000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2915000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1210000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0399000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 3 0 67.1400000 0.0309570 0.0000000 0.0000000 18.9400000 0.1748000 0.0000000 0.0000000 6.4260000 0.4434600 0.0000000 0.0000000 2.1900000 0.5670200 0.0000000 0.0000000 0.6725000 0.0000000 1.0000000 0.0000000 0.1690000 0.0000000 0.0000000 1.0000000 $ GERMANIUM (15s,13p,6d) -> [8s,7p,3d] $ GERMANIUM (15s,13p,5d)->[8s,7p,2d] $ GERMANIUM (1d) a 32 $ S-TYPE FUNCTIONS 15 8 0 357500.0000000 0.00083898 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 53670.0000000 0.00626350 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12300.0000000 0.03203600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3512.0000000 0.12751000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1161.0000000 0.39165000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 428.0000000 0.54528000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 428.0000000 0.0000000 0.1816000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 170.0000000 0.0000000 0.6224800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 72.0600000 0.0000000 0.2487200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 26.6900000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.5000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.7420000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.4990000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2292000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0867500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2345.0000000 0.0225140 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 554.2000000 0.1833500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 177.3000000 0.8600300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 66.1300000 0.0000000 0.3430600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 26.9000000 0.0000000 0.5065200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.2600000 0.0000000 0.2614100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.2600000 0.0000000 0.0000000 0.0672460 0.0000000 0.0000000 0.0000000 0.0000000 6.1160000 0.0000000 0.0000000 0.3723800 0.0000000 0.0000000 0.0000000 0.0000000 2.8190000 0.0000000 0.0000000 0.6176300 0.0000000 0.0000000 0.0000000 0.0000000 1.2110000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3568000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1621000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0608400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 3 0 74.8400000 0.0303900 0.0000000 0.0000000 21.2300000 0.1731900 0.0000000 0.0000000 7.2970000 0.4409000 0.0000000 0.0000000 2.5490000 0.5653200 0.0000000 0.0000000 0.8165000 0.0000000 1.0000000 0.0000000 0.2280000 0.0000000 0.0000000 1.0000000 $ ARSENIC (15s,13p,6d) -> [8s,7p,3d] $ ARSENIC (15s,13p,5d)->[8s,7p,2d] $ ARSENIC (1d) a 33 $ S-TYPE FUNCTIONS 15 8 0 381200.0000000 0.00083327 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 57240.0000000 0.00621980 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13110.0000000 0.03203000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3743.0000000 0.12729000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1238.0000000 0.39132000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 456.3000000 0.54581000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 456.3000000 0.0000000 0.1809700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 181.4000000 0.0000000 0.6218000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 77.0700000 0.0000000 0.2498800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 28.5700000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.3600000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.1170000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.6780000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2761000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1105000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2528.0000000 0.0222710 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 597.3000000 0.1819900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 190.7000000 0.8613300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 70.9600000 0.0000000 0.3433800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 28.8900000 0.0000000 0.5059800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.1300000 0.0000000 0.2612800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.1300000 0.0000000 0.0000000 0.0685360 0.0000000 0.0000000 0.0000000 0.0000000 6.5330000 0.0000000 0.0000000 0.3828200 0.0000000 0.0000000 0.0000000 0.0000000 3.0280000 0.0000000 0.0000000 0.6059900 0.0000000 0.0000000 0.0000000 0.0000000 1.3440000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5823000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2558000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0865100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 3 0 86.0500000 0.0279890 0.0000000 0.0000000 24.4900000 0.1650200 0.0000000 0.0000000 8.4420000 0.4373600 0.0000000 0.0000000 2.9810000 0.5725500 0.0000000 0.0000000 0.9790000 0.0000000 1.0000000 0.0000000 0.2640000 0.0000000 0.0000000 1.0000000 $ SELENIUM (15s,13p,6d) -> [8s,7p,3d] $ SELENIUM (15s,13p,5d)->[8s,7p,2d] $ SELENIUM (1d) a 34 $ S-TYPE FUNCTIONS 15 8 0 405400.0000000 0.0008310 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 60850.0000000 0.0062331 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13910.0000000 0.0320710 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3989.0000000 0.1263600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1324.0000000 0.3889900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 487.0000000 0.5488800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 487.0000000 0.0000000 0.1796300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 193.2000000 0.0000000 0.6222700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 82.1900000 0.0000000 0.2506700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30.5200000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.2500000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.5100000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.8670000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3190000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1120000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2706.0000000 0.0221460 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 638.6000000 0.1818000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 203.8000000 0.8615500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 75.9600000 0.0000000 0.3424300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 31.0200000 0.0000000 0.5054100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.0500000 0.0000000 0.2623700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 13.0500000 0.0000000 0.0000000 0.0701630 0.0000000 0.0000000 0.0000000 0.0000000 6.9860000 0.0000000 0.0000000 0.3841900 0.0000000 0.0000000 0.0000000 0.0000000 3.2340000 0.0000000 0.0000000 0.6036800 0.0000000 0.0000000 0.0000000 0.0000000 1.4750000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.7275000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2869000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0967900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 3 0 99.0100000 0.0255960 0.0000000 0.0000000 28.4100000 0.1545900 0.0000000 0.0000000 9.8630000 0.4287800 0.0000000 0.0000000 3.5140000 0.5862000 0.0000000 0.0000000 1.1710000 0.0000000 1.0000000 0.0000000 0.3050000 0.0000000 0.0000000 1.0000000 $ BROMINE (15s,13p,6d) -> [8s,7p,3d] $ BROMINE (15s,13p,5d)->[8s,7p,2d] $ BROMINE (1d) a 35 $ S-TYPE FUNCTIONS 15 8 0 439700.0000000 0.0008130 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 66030.0000000 0.0062850 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15140.0000000 0.0319200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4317.0000000 0.1288000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1414.0000000 0.3946000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 523.9000000 0.5413000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 523.9000000 0.0000000 0.1831000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 207.7000000 0.0000000 0.6176000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 86.5400000 0.0000000 0.2538000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30.5200000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.9800000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.4120000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.8620000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3932000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1400000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 2957.0000000 0.0222600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 700.3000000 0.1802000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 224.6000000 0.8624000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 82.5900000 0.0000000 0.3440000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 33.1900000 0.0000000 0.5071000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14.2000000 0.0000000 0.2590000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14.2000000 0.0000000 0.0000000 0.0796500 0.0000000 0.0000000 0.0000000 0.0000000 7.4380000 0.0000000 0.0000000 0.3734000 0.0000000 0.0000000 0.0000000 0.0000000 3.5260000 0.0000000 0.0000000 0.6049000 0.0000000 0.0000000 0.0000000 0.0000000 1.5950000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8462000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3186000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1096000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 3 0 134.8000000 0.0183100 0.0000000 0.0000000 36.3900000 0.1350000 0.0000000 0.0000000 12.1600000 0.4261000 0.0000000 0.0000000 4.3410000 0.6043000 0.0000000 0.0000000 1.5350000 0.0000000 1.0000000 0.0000000 0.4510000 0.0000000 0.0000000 1.0000000 $ KRYPTON (15s,13p,6d) -> [8s,7p,3d] $ KRYPTON (15s,13p,5d)->[8s,7p,2d] $ KRYPTON (1d) a 36 $ S-TYPE FUNCTIONS 15 8 0 456200.0000000 0.0008111 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 68460.0000000 0.0062552 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15650.0000000 0.0320220 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4500.0000000 0.1254600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1497.0000000 0.3866600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 550.5000000 0.5518800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 550.5000000 0.0000000 0.1771100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 218.2000000 0.0000000 0.6224800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 92.9700000 0.0000000 0.2527900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 34.5900000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.1200000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.3460000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 2.2730000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4841000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1849000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 13 7 0 3074.0000000 0.0219980 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 725.7000000 0.1810200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 231.5000000 0.8622300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 86.4500000 0.0000000 0.3415500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 35.5500000 0.0000000 0.5025500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.1400000 0.0000000 0.2645300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.1400000 0.0000000 0.0000000 0.0716700 0.0000000 0.0000000 0.0000000 0.0000000 8.0310000 0.0000000 0.0000000 0.3970800 0.0000000 0.0000000 0.0000000 0.0000000 3.7990000 0.0000000 0.0000000 0.5876200 0.0000000 0.0000000 0.0000000 0.0000000 1.8490000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8676000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3329000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1199000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 3 0 122.5000000 0.0233770 0.0000000 0.0000000 35.3700000 0.1461000 0.0000000 0.0000000 12.3900000 0.4223000 0.0000000 0.0000000 4.4960000 0.5945200 0.0000000 0.0000000 1.5460000 0.0000000 1.0000000 0.0000000 0.3950000 0.0000000 0.0000000 1.0000000 ergo-3.5/basis/Sadlej-pVTZ0000664000175000017500000022114212743400275012335 00000000000000$Basis = Sadlej-pVTZ (taken from MOLCAS) $ Supported Elements $ H Li Be C N O F Na Mg Si P S Cl K Ca Ga Ge As Se Br Rb Sr $ Sn Sb Te I $ $ REFERENCE $ Elements References $ -------- ---------- $ H, C-F : A. J. Sadlej, Collec. Czech. Chem. Commun. 53, 1995 (1988) $Li-Be,Na,Mg : A. J. Sadlej and M. Urban, J. Mol. Struct. $ K-Ca,Rb,Sr : (THEOCHEM) 234, 147 (1991) $ Si-Cl : A. J. Sadlej, Theor. Chim. Acta 79, 123 (1991) $ Br : A. J. Sadlej, Theor. Chim. Acta 81, 45 (1992) $ Sn-I : A. J. Sadlej, Theor. Chim. Acta 81, 339 (1992) $ ******************************************************************* /H.Pol.Sadlej.6s4p.3s2p. #A. J. Sadlej, Coll. Czech. Chem. Commun. 53,1995 (1988). ******************************************************************* * Hydrogen atom * * Dipole polarizability basis set * ******************************************************************* a 1 * 6 3 33.685014 5.094788 1.158786 0.325840 0.102741 0.032400 .006068 0.00000 0.00000 .045316 0.00000 0.00000 .202846 0.00000 0.00000 .503709 0.00000 0.00000 0.00000 1.00000 0.00000 0.00000 0.00000 1.00000 4 2 1.1588 0.3258 0.1027 0.0324 .188440 .000000 .882420 .000000 0.00000 .117800 0.00000 .004200 ********************************************************************* /Li.Pol.Sadlej.10s6p4d.5s3p2d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) 234, 147 (1991). ********************************************************************* * Lithium atom * * Dipole polarizability basis set * ********************************************************************* a 3 * 10 5 1359.4466 204.02647 46.549541 13.232594 4.286148 1.495542 0.542238 0.073968 0.028095 0.010671 .000844 .00000000 .00000000 .00000000 .00000000 .006486 .00000000 .00000000 .00000000 .00000000 .032477 .00000000 .00000000 .00000000 .00000000 .117420 .00000000 .00000000 .00000000 .00000000 .294580 .00000000 .00000000 .00000000 .00000000 .00000000 .449515 .00000000 .00000000 .00000000 .00000000 .255823 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 6 3 4.17 1.17256 0.32927 0.09271 0.02607 0.007331 .005112 .00000000 .00000000 .020907 .00000000 .00000000 .091672 .00000000 .00000000 .449260 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 1. 4 2 0.32927 0.09271 0.02607 0.007331 .159757 .00000000 1.475484 .00000000 .00000000 .370578 .00000000 .017847 ********************************************************************* /Be.Pol.Sadlej.10s6p4d.5s3p2d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) 234, 147 (1991). ********************************************************************* * Beryllium atom * * Dipole polarizability basis set * ********************************************************************* a 4 * 10 5 2732.3281 410.31981 93.672648 26.587957 8.629560 3.056264 1.132424 0.181732 0.059170 0.019265 .000745 .00000000 .00000000 .00000000 .00000000 .005722 .00000000 .00000000 .00000000 .00000000 .028880 .00000000 .00000000 .00000000 .00000000 .107076 .00000000 .00000000 .00000000 .00000000 .280101 .00000000 .00000000 .00000000 .00000000 .00000000 .445448 .00000000 .00000000 .00000000 .00000000 .280262 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 6 3 7.640 1.8636 0.45509 0.11107 0.027108 0.006616 .004630 .00000000 .00000000 .032961 .00000000 .00000000 .120404 .00000000 .00000000 .339523 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 1. 4 2 0.45509 0.11107 0.027108 0.006616 .17848 .00000000 1.01876 .00000000 .00000000 .422364 .00000000 .060033 ********************************************************************* /C.Pol.Sadlej.10s6p4d.5s3p2d. #A. J. Sadlej, Coll. Czech. Chem. Commun. 53,1995 (1988). ******************************************************************* * Carbon atom * * Dipole polarizability basis set * ******************************************************************* a 6 * 10 5 5240.6353 782.20480 178.35083 50.815942 16.823562 6.175776 2.418049 0.511900 0.156590 0.047900 .000937 .00000000 .00000000 .00000000 .00000000 .007228 .00000000 .00000000 .00000000 .00000000 .036344 .00000000 .00000000 .00000000 .00000000 .130600 .00000000 .00000000 .00000000 .00000000 .318931 .00000000 .00000000 .00000000 .00000000 .00000000 .438742 .00000000 .00000000 .00000000 .00000000 .214974 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 6 3 18.841800 4.159240 1.206710 0.385540 0.121940 0.038568 .013887 .00000000 .00000000 .086279 .00000000 .00000000 .288744 .00000000 .00000000 .499411 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 1. 4 2 1.206710 0.385540 0.121940 0.038658 .262852 .00000000 .804300 .00000000 .00000000 .653500 .00000000 .863600 ********************************************************************* /N.Pol.Sadlej.10s6p4d.5s3p2d. #A. J. Sadlej, Coll. Czech. Chem. Commun. 53,1995 (1988). ******************************************************************* * Nitrogen atom * * Dipole polarizability basis set * ******************************************************************* a 7 * 10 5 8104.0716 1216.0215 277.23428 76.904023 25.874419 9.346767 3.579794 0.739610 0.222617 0.067006 .000802 .00000000 .00000000 .00000000 .00000000 .006174 .00000000 .00000000 .00000000 .00000000 .031233 .00000000 .00000000 .00000000 .00000000 .115198 .00000000 .00000000 .00000000 .00000000 .296951 .00000000 .00000000 .00000000 .00000000 .00000000 .447349 .00000000 .00000000 .00000000 .00000000 .245003 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 6 3 26.868987 5.991227 1.750842 0.560511 0.175948 0.055231 .014478 .00000000 .00000000 .091156 .00000000 .00000000 .297420 .00000000 .00000000 .493796 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 1. 4 2 1.750842 0.560511 0.175948 0.055231 .224774 .00000000 .659562 .00000000 .00000000 .871355 .00000000 .704217 ********************************************************************* /O.Pol.Sadlej.10s6p4d.5s3p2d. #A. J. Sadlej, Coll. Czech. Chem. Commun. 53,1995 (1988). ******************************************************************* * Oxygen atom * * Dipole polarizability basis set * ******************************************************************* a 8 * 10 5 10662.285 1599.7097 364.72526 103.65179 33.905805 12.287469 4.756805 1.004271 0.300686 0.09003 .000799 .00000000 .00000000 .00000000 .00000000 .006153 .00000000 .00000000 .00000000 .00000000 .031157 .00000000 .00000000 .00000000 .00000000 .115596 .00000000 .00000000 .00000000 .00000000 .301552 .00000000 .00000000 .00000000 .00000000 .00000000 .444870 .00000000 .00000000 .00000000 .00000000 .243172 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 6 3 34.856463 7.843131 2.306249 0.723164 0.214882 0.06385 .015648 .00000000 .00000000 .098197 .00000000 .00000000 .307768 .00000000 .00000000 .492470 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 1. 4 2 2.3062 0.7232 0.2149 0.0639 .20270 .00000000 .5791 .00000000 .00000000 .78545 .00000000 .53387 ********************************************************************* /F.Pol.Sadlej.10s6p4d.5s3p2d. #A. J. Sadlej, Coll. Czech. Chem. Commun. 53,1995 (1988). ******************************************************************* * Flourine atom * * Dipole polarizability basis set * ******************************************************************* a 9 * 10 5 13521.523 2028.6916 462.37392 131.37366 42.974531 15.571440 6.032232 1.307215 0.388869 0.115680 .000801 .00000000 .00000000 .00000000 .00000000 .006164 .00000000 .00000000 .00000000 .00000000 .031244 .00000000 .00000000 .00000000 .00000000 .116081 .00000000 .00000000 .00000000 .00000000 .303589 .00000000 .00000000 .00000000 .00000000 .00000000 .445904 .00000000 .00000000 .00000000 .00000000 .239115 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 6 3 44.147303 9.993426 2.953246 0.918597 0.266824 0.07750 .016509 .00000000 .00000000 .103481 .00000000 .00000000 .315418 .00000000 .00000000 .489353 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 1. 4 2 2.9532 0.9186 0.2668 0.0775 .183540 .00000000 .510580 .00000000 .00000000 .699250 .00000000 .429260 ********************************************************************* /NA.Pol.Sadlej.13s10p4d.7s5p2d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) 234, 147 (1991). ********************************************************************* * Sodium atom * * Dipole polarizability basis set * * Generated from Mclean-Chandler's 2-zeta contractions * ********************************************************************* a 11 * 14 7 36166.4 5372.58 1213.21 339.62 109.55 38.777 38.777 14.576 5.2699 1.8278 0.6199 0.0572 0.0240 0.0101 .001032 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .008071 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .042128 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .169786 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .514609 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .379834 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .374763 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .575771 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .113928 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. 10 5 144.645 33.907 10.629 3.8239 1.4443 0.5526 0.1887 0.0465 0.0163 0.0057 .005457 .00000000 .00000000 .00000000 .00000000 .039138 .00000000 .00000000 .00000000 .00000000 .151924 .00000000 .00000000 .00000000 .00000000 .333098 .00000000 .00000000 .00000000 .00000000 .422284 .00000000 .00000000 .00000000 .00000000 .281197 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 4 2 1.4443 0.5526 0.1887 0.0465 .351379 .00000000 .378273 .00000000 .00000000 .011180 .00000000 .278751 ********************************************************************* /Mg.Pol.Sadlej.13s10p4d.7s5p2d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) 234, 147 (1991). ********************************************************************* * Magnesium atom * * Dipole polarizability basis set * * Generated from Mclean-Chandler's 2-zeta contractions * ********************************************************************* a 12 * 14 7 43866.5 6605.37 1513.26 432.317 142.149 51.398 51.398 19.920 8.0247 2.5082 0.8715 0.1082 0.0401 0.0149 .000918 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .007047 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .035941 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .141461 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .426763 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .497976 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .251355 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .618671 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .188416 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. 10 5 193.854 45.442 14.186 5.0575 1.8886 0.7227 0.2364 0.0934 0.0348 0.0130 .004802 .00000000 .00000000 .00000000 .00000000 .035516 .00000000 .00000000 .00000000 .00000000 .144893 .00000000 .00000000 .00000000 .00000000 .338179 .00000000 .00000000 .00000000 .00000000 .441104 .00000000 .00000000 .00000000 .00000000 .260849 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 4 2 1.8886 0.7227 0.2364 0.0934 .320975 .00000000 .306839 .00000000 .00000000 .028044 .00000000 .178554 ********************************************************************* /Si.Pol.Sadlej.13s10p4d.7s5p2d. #A. J. Sadlej, Theor. Chim. Acta xx, xxx 1991. ********************************************************************* * Silicon atom * * Dipole polarizability basis set * * Generated from Mclean-Chandler's 2-zeta contractions * ********************************************************************* a 14 * 14 7 69379.23 10354.94 2333.88 657.14 214.30 77.629 77.629 30.631 12.801 3.9269 1.4523 0.2562 0.0943 0.0347 .000757 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .005932 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .031088 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .124966 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .386896 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .554890 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .177882 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .627756 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .247631 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. 10 5 335.48 78.900 24.988 9.2197 3.6211 1.4513 0.5050 0.1863 0.0654 0.0230 .003616 .00000000 .00000000 .00000000 .00000000 .027866 .00000000 .00000000 .00000000 .00000000 .118678 .00000000 .00000000 .00000000 .00000000 .298750 .00000000 .00000000 .00000000 .00000000 .441192 .00000000 .00000000 .00000000 .00000000 .312701 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 4 2 0.5050 0.1863 0.0654 0.0230 .2261 .00000000 1.0759 .00000000 .00000000 .1636 .00000000 .1077 ********************************************************************* /P.Pol.Sadlej.13s10p4d.7s5p2d. #A. J. Sadlej, Theor. Chim. Acta xx, xxx 1991. ********************************************************************* * Phosphorous atom * * Dipole polarizability basis set * * Generated from Mclean-Chandler's 2-zeta contractions * ********************************************************************* a 15 * 14 7 77492.43 11605.79 2645.96 754.98 248.75 91.157 91.157 36.226 15.211 4.7138 1.7827 0.3425 0.1246 0.0453 .000787 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .006109 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .031368 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .124291 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .380682 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .559989 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .163997 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .625927 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .262211 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. 10 5 384.84 90.552 28.806 10.688 4.2521 1.7405 0.5979 0.2292 0.0838 0.0306 .003765 .00000000 .00000000 .00000000 .00000000 .029010 .00000000 .00000000 .00000000 .00000000 .122953 .00000000 .00000000 .00000000 .00000000 .306470 .00000000 .00000000 .00000000 .00000000 .441349 .00000000 .00000000 .00000000 .00000000 .295817 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 4 2 0.5979 0.2292 0.0838 0.0306 .3093 .00000000 .9715 .00000000 .00000000 .1278 .00000000 .0774 ********************************************************************* /S.Pol.Sadlej.13s10p4d.7s5p2d. #A. J. Sadlej, Theor. Chim. Acta xx, xxx 1991. ********************************************************************* * Sulphur atom * * Dipole polarizability basis set * * Generated from Mclean-Chandler's 2-zeta contractions * ********************************************************************* a 16 * 14 7 99413.4 13961.7 3169.9 902.46 297.16 108.702 108.702 43.155 18.108 5.5705 2.1427 0.4340 0.1570 0.0568 .000742 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .005790 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .029941 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .118975 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .368290 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .577489 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .142932 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .624649 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .283400 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. 10 5 495.04 117.22 37.507 13.910 5.5045 2.2433 0.7762 0.2919 0.1029 0.0363 .003171 .00000000 .00000000 .00000000 .00000000 .024643 .00000000 .00000000 .00000000 .00000000 .107845 .00000000 .00000000 .00000000 .00000000 .288489 .00000000 .00000000 .00000000 .00000000 .448108 .00000000 .00000000 .00000000 .00000000 .320517 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 4 2 0.7762 0.2919 0.1029 0.0363 .2915 .00000000 .8966 .00000000 .00000000 .1138 .00000000 .0568 ********************************************************************* /Cl.Pol.Sadlej.13s10p4d.7s5p2d. #A. J. Sadlej, Theor. Chim. Acta xx, xxx 1991. ********************************************************************* * Chlorine atom * * Dipole polarizability basis set * * Generated from Mclean-Chandler's 2-zeta contractions * * polarized basis set checked against the properties of HCl * ********************************************************************* a 17 * 14 7 105818.80 15872.000 3619.7000 1030.8000 339.91000 124.53800 124.53800 49.514000 20.806000 6.464800 2.525400 0.537800 0.193500 0.069600 .000743 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .005754 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .029674 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .117991 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .365319 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .581146 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .137543 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .622920 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .290106 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. 10 5 589.78000 139.85000 44.795000 16.612000 6.5995000 2.7141000 0.952800 0.358000 0.125000 0.043600 .002982 .00000000 .00000000 .00000000 .00000000 .023375 .00000000 .00000000 .00000000 .00000000 .103998 .00000000 .00000000 .00000000 .00000000 .284430 .00000000 .00000000 .00000000 .00000000 .450686 .00000000 .00000000 .00000000 .00000000 .323064 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 4 2 0.9528 0.3580 0.1250 0.0436 .285315 .00000000 .816939 .00000000 .00000000 .101343 .00000000 .043054 ********************************************************************* /K.Pol.Sadlej.15s13p4d.9s7p2d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) xx, xxx (1991). ********************************************************************* * Potasium atom * * Dipole polarizability basis set * ********************************************************************* a 19 * 15 9 151351.9 22745.91 5227.166 1500.188 495.4703 180.9008 71.21769 29.38428 8.699243 3.473304 0.814562 0.318915 0.035484 0.016390 0.007570 0.0002585 .0000745 -.0000245 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.0019920 .0005698 -.0001882 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.0101469 .0029599 -.0009718 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.0403666 .0117604 -.0039039 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.1273002 .0400206 -.0131897 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.2985825 .1023769 -.0347707 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.4185002 .2050881 -.0700552 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.2370813 .1351508 -.0525456 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.0202067 -.5025714 .2420632 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0000000 .0000000 .0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 1.0000000 .0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 1.0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 .0000000 1.0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 .0000000 .0000000 1.0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 .0000000 .0000000 .0000000 1.0000000 13 7 868.3903 205.5765 65.91233 24.59863 9.882281 4.116751 1.556004 0.612188 0.223053 0.08126 0.02961 0.01079 0.00393 0.0023351 .0001788 .00000000 .00000000 .00000000 .00000000 .00000000 0.0187544 .0057641 .00000000 .00000000 .00000000 .00000000 .00000000 0.0865586 .0274699 .00000000 .00000000 .00000000 .00000000 .00000000 0.2502799 .0813920 .00000000 .00000000 .00000000 .00000000 .00000000 0.4300397 .1513598 .00000000 .00000000 .00000000 .00000000 .00000000 0.3511437 .1082711 .00000000 .00000000 .00000000 .00000000 .00000000 0.0664197 -.2619370 .00000000 .00000000 .00000000 .00000000 .00000000 -.0512530 -.5840310 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0000000 .0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .0000000 1.0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .0000000 .0000000 1.0000000 .0000000 .0000000 .00000000 .00000000 .0000000 .0000000 .0000000 1.0000000 .0000000 .00000000 .00000000 .0000000 .0000000 .0000000 .0000000 1.0000000 4 2 0.61219 0.22305 0.02961 0.01079 0.5723700 .00000000 0.6652800 .00000000 .00000000 .3765800 .00000000 .3729500 ********************************************************************* /CA.Pol.Sadlej.15s13p4d.9s7p2d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) xx, xxx (1991). ********************************************************************* * Calcium atom * * Dipole polarizability basis set * ********************************************************************* a 20 * 15 9 171297.15 25997.43 5996.480 1714.730 563.6532 204.9460 80.45147 33.14092 9.879146 3.994670 0.985343 0.411616 0.065605 0.026740 0.010620 .0002510 -.0000731 .0000251 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0019090 -.0005518 .0001906 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0097392 -.0028696 .0009853 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0391060 -.0115111 .0039962 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1244994 -.0394714 .0136087 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2952087 -.1021232 .0362825 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .4195611 -.2061724 .0737642 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2427536 -.1414723 .0575850 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0215154 .4959007 -.2526893 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0000000 .0000000 .0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 1.0000000 .0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 1.0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 .0000000 1.0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 .0000000 .0000000 1.0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 .0000000 .0000000 .0000000 1.0000000 13 7 1003.027 237.8239 76.56948 28.73768 11.63688 4.903208 1.923370 0.780058 0.293764 0.11063 0.04166 0.01569 0.00591 .0022207 -.0007275 .00000000 .00000000 .00000000 .00000000 .00000000 .0178648 -.0058537 .00000000 .00000000 .00000000 .00000000 .00000000 .0827314 -.0279479 .00000000 .00000000 .00000000 .00000000 .00000000 .2419521 -.0840570 .00000000 .00000000 .00000000 .00000000 .00000000 .4242078 -.1590285 .00000000 .00000000 .00000000 .00000000 .00000000 .3585782 -.1215982 .00000000 .00000000 .00000000 .00000000 .00000000 .0750382 .2485835 .00000000 .00000000 .00000000 .00000000 .00000000 .0045102 .5954336 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0000000 .0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .0000000 1.0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .0000000 .0000000 1.0000000 .0000000 .0000000 .00000000 .00000000 .0000000 .0000000 .0000000 1.0000000 .0000000 .00000000 .00000000 .0000000 .0000000 .0000000 .0000000 1.0000000 4 2 0.78006 0.29376 0.04166 0.01569 .51870 .00000000 .56587 .00000000 .00000000 .33335 .00000000 .14089 ********************************************************************* /Ge.Pol.Sadlej.15s12p9d.9s7p4d. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1991). ********************************************************************* * Germanium atom * * Basis set for electric properties * ********************************************************************* a 32 * 15 9 348299.8 52638.12 12018.36 3406.951 1157.699 442.1850 180.0446 76.50783 26.77091 11.43546 3.023474 1.159275 0.241695 0.082681 0.028284 .0003383 .0001055 .0000405 .0000104 .00000000 .00000000 .00000000 .00000000 .00000000 .0025792 .0008002 .0003099 .0000792 .00000000 .00000000 .00000000 .00000000 .00000000 .0134593 .0042524 .0016283 .0004163 .00000000 .00000000 .00000000 .00000000 .00000000 .0526727 .0167878 .0065612 .0016758 .00000000 .00000000 .00000000 .00000000 .00000000 .1512606 .0525514 .0201835 .0051718 .00000000 .00000000 .00000000 .00000000 .00000000 .3225121 .1257423 .0511386 .0130977 .00000000 .00000000 .00000000 .00000000 .00000000 .4068147 .2342057 .0937554 .0242756 .00000000 .00000000 .00000000 .00000000 .00000000 .1889964 .1027861 .0554130 .0143390 .00000000 .00000000 .00000000 .00000000 .00000000 .0114588 -.5563724 -.3692429 -.1002602 .00000000 .00000000 .00000000 .00000000 .00000000 -.0010655 -.5695571 -.4528432 -.1323443 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 .0 1.0 12 7 2581.751 620.9984 203.7177 77.57168 32.38502 14.24833 6.010788 2.561509 1.061296 0.282632 0.084551 0.025294 .0025342 -.0009805 -.0001945 .00000000 .00000000 .00000000 .00000000 .0199240 -.0077373 -.0015199 .00000000 .00000000 .00000000 .00000000 .0921153 -.0370860 -.0073988 .00000000 .00000000 .00000000 .00000000 .2670416 -.1121499 -.0221507 .00000000 .00000000 .00000000 .00000000 .4374929 -.2010281 -.0411436 .00000000 .00000000 .00000000 .00000000 .3129736 -.0908530 -.0147554 .00000000 .00000000 .00000000 .00000000 .0558649 .3507104 .0795689 .00000000 .00000000 .00000000 .00000000 .0000316 .5582308 .1540492 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .0 .0 .0 1.0 9 4 68.53021 19.35644 6.600014 2.288409 0.741149 1.06130 0.28263 0.08455 0.02529 .0301959 .0 .00000000 .00000000 .1657003 .0 .00000000 .00000000 .3971127 .0 .00000000 .00000000 .0 .4703261 .00000000 .00000000 .0 .2523345 .00000000 .00000000 .00000000 .00000000 -.02450 .0 .00000000 .00000000 .76234 .0 .00000000 .00000000 .0 .19214 .00000000 .00000000 .0 .14193 ********************************************************************* /As.Pol.Sadlej.15s12p9d.9s7p4d. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1991). ********************************************************************* * Arsenic atom * * Basis set for electric properties * ********************************************************************* a 33 * 15 9 373201.1 54939.83 12270.63 3538.010 1218.193 464.8529 189.4323 81.75079 28.83275 12.45438 3.677003 1.552864 0.291144 0.107232 0.039495 .0003371 .0001055 .0000410 -.0000113 .00000000 .00000000 .00000000 .00000000 .00000000 .0027018 .0008416 .0003289 -.0000904 .00000000 .00000000 .00000000 .00000000 .00000000 .0141257 .0044758 .0017368 -.0004774 .00000000 .00000000 .00000000 .00000000 .00000000 .0532252 .0170473 .0067152 -.0018466 .00000000 .00000000 .00000000 .00000000 .00000000 .1523040 .0530786 .0207147 -.0057037 .00000000 .00000000 .00000000 .00000000 .00000000 .3263965 .1284161 .0524490 -.0144806 .00000000 .00000000 .00000000 .00000000 .00000000 .4028654 .2336762 .0958017 -.0266239 .00000000 .00000000 .00000000 .00000000 .00000000 .1853815 .1013469 .0527402 -.0148682 .00000000 .00000000 .00000000 .00000000 .00000000 .0132875 -.5472122 -.3591681 .1057078 .00000000 .00000000 .00000000 .00000000 .00000000 -.0019340 -.5715411 -.4826202 .1512379 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 .0 1.0 12 7 2782.858 669.0384 218.7985 83.48981 34.92050 15.48738 6.570163 2.841880 1.210419 0.328250 0.103361 0.032547 .0024863 -.0009764 -.0002187 .00000000 .00000000 .00000000 .00000000 .0197457 -.0077851 -.0017204 .00000000 .00000000 .00000000 .00000000 .0915011 -.0373990 -.0084307 .00000000 .00000000 .00000000 .00000000 .2656987 -.1133623 -.0251727 .00000000 .00000000 .00000000 .00000000 .4355429 -.2033940 -.0472648 .00000000 .00000000 .00000000 .00000000 .3132782 -.0937084 -.0164231 .00000000 .00000000 .00000000 .00000000 .0595995 .3459266 .0875009 .00000000 .00000000 .00000000 .00000000 -.0007508 .5571049 .1818443 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .0 .0 .0 1.0 9 4 73.62860 20.88949 7.217652 2.569304 0.863941 1.21042 0.32825 0.10336 0.03255 .0315097 .0 .00000000 .00000000 .1714495 .0 .00000000 .00000000 .4017342 .0 .00000000 .00000000 .0 .4655653 .00000000 .00000000 .0 .2342530 .00000000 .00000000 .00000000 .00000000 -.01396 .0 .00000000 .00000000 .82417 .0 .00000000 .00000000 .0 .16009 .00000000 .00000000 .0 .10592 ********************************************************************* /Se.Pol.Sadlej.15s12p9d.9s7p4d. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1991). ********************************************************************* * Selenium atom * * Basis set for electric properties * ********************************************************************* a 34 * 15 9 373064.5 55085.14 12592.85 3699.059 1277.820 486.7047 198.6806 86.13051 30.72411 13.32537 4.103203 1.760131 0.352896 0.131568 0.049052 .0003645 .0001144 .0000449 .0000131 .00000000 .00000000 .00000000 .00000000 .00000000 .0028724 .0008977 .0003544 .0001034 .00000000 .00000000 .00000000 .00000000 .00000000 .0144645 .0045980 .0018041 .0005269 .00000000 .00000000 .00000000 .00000000 .00000000 .0536980 .0172673 .0068668 .0020057 .00000000 .00000000 .00000000 .00000000 .00000000 .1545309 .0540553 .0213582 .0062493 .00000000 .00000000 .00000000 .00000000 .00000000 .3297180 .1307919 .0538925 .0158045 .00000000 .00000000 .00000000 .00000000 .00000000 .4006442 .2344816 .0976695 .0288697 .00000000 .00000000 .00000000 .00000000 .00000000 .1812354 .0981841 .0511442 .0152959 .00000000 .00000000 .00000000 .00000000 .00000000 .0129547 -.5485378 -.3627238 -.1136170 .00000000 .00000000 .00000000 .00000000 .00000000 -.0019021 -.5684272 -.4937134 -.1656001 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 .0 1.0 12 7 2975.594 713.7165 233.8993 89.31284 37.33775 16.58343 7.125157 3.103954 1.339101 0.387547 0.119992 0.037152 .0024786 -.0009868 .0002401 .00000000 .00000000 .00000000 .00000000 .0197102 -.0078882 .0018939 .00000000 .00000000 .00000000 .00000000 .0911422 -.0377738 .0092517 .00000000 .00000000 .00000000 .00000000 .2658265 -.1152657 .0278305 .00000000 .00000000 .00000000 .00000000 .4365449 -.2066787 .0522325 .00000000 .00000000 .00000000 .00000000 .3116260 -.0948790 .0179079 .00000000 .00000000 .00000000 .00000000 .0596090 .3464229 -.0961145 .00000000 .00000000 .00000000 .00000000 -.0002812 .5611639 -.2037544 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .0 .0 .0 1.0 9 4 78.71959 22.53607 7.887587 2.863780 0.990345 1.33910 0.38755 0.11999 0.03715 .0327398 .0 .00000000 .00000000 .1756588 .0 .00000000 .00000000 .4056571 .0 .00000000 .00000000 .0 .4625696 .00000000 .00000000 .0 .2186191 .00000000 .00000000 .00000000 .00000000 -.00820 .0 .00000000 .00000000 .81387 .0 .00000000 .00000000 .0 .14805 .00000000 .00000000 .0 .07972 ********************************************************************* /Br.Pol.Sadlej.15s12p9d.9s7p4d. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1992). ********************************************************************* * Bromine atom * * Basis set for electric properties * ********************************************************************* a 35 * 15 9 379677.7 56125.18 12967.35 3836.082 1331.996 508.0421 207.7812 90.42185 33.00437 14.35639 4.728525 2.032967 0.412706 0.156142 0.059074 .0003842 -.0001208 .0000480 -.0000147 .00000000 .00000000 .00000000 .00000000 .00000000 .0030003 -.0009411 .0003749 -.0001147 .00000000 .00000000 .00000000 .00000000 .00000000 .0148907 -.0047442 .0018827 -.0005766 .00000000 .00000000 .00000000 .00000000 .00000000 .0547746 -.0177026 .0070977 -.0021735 .00000000 .00000000 .00000000 .00000000 .00000000 .1567715 -.0549918 .0220139 -.0067547 .00000000 .00000000 .00000000 .00000000 .00000000 .3328099 -.1333894 .0553369 -.0170164 .00000000 .00000000 .00000000 .00000000 .00000000 .3985678 -.2345111 .0995058 -.0308665 .00000000 .00000000 .00000000 .00000000 .00000000 .1765368 -.0972103 .0498142 -.0156180 .00000000 .00000000 .00000000 .00000000 .00000000 .0124906 .5425917 -.3574409 .1175750 .00000000 .00000000 .00000000 .00000000 .00000000 -.0017219 .5718584 -.5171876 .1828625 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 .0 1.0 12 7 3167.910 762.5044 249.3963 95.23177 39.92301 17.78166 7.677264 3.342064 1.442422 0.442320 0.137772 0.042913 .0024643 -.0009940 .0002588 .00000000 .00000000 .00000000 .00000000 .0195907 -.0079501 .0020438 .00000000 .00000000 .00000000 .00000000 .0911694 -.0382891 .0100386 .00000000 .00000000 .00000000 .00000000 .2656020 -.1169117 .0302452 .00000000 .00000000 .00000000 .00000000 .4355430 -.2090161 .0565897 .00000000 .00000000 .00000000 .00000000 .3117761 -.0968376 .0195855 .00000000 .00000000 .00000000 .00000000 .0602091 .3512283 -.1056535 .00000000 .00000000 .00000000 .00000000 -.0019929 .5698537 -.2254965 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .0 .0 .0 1.0 9 4 96.15001 27.83908 9.851067 3.610187 1.251544 1.4424 0.4423 0.1378 0.0429 .0265128 .0 .00000000 .00000000 .1500642 .0 .00000000 .00000000 .3804896 .0 .00000000 .00000000 .0 .4802772 .00000000 .00000000 .0 .2478854 .00000000 .00000000 .00000000 .00000000 .00395 .0 .00000000 .00000000 .80388 .0 .00000000 .00000000 .0 .13480 .00000000 .00000000 .0 .06231 ********************************************************************* /Rb.Pol.Sadlej.18s15p10d.11s9p4d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) xx, xxx (1991). ********************************************************************* * Rubidium atom * * Basis set for electric properties * ********************************************************************* a 37 * 18 11 432918.4 65814.05 15362.04 4506.950 1533.262 581.0960 240.2168 106.1112 40.82235 18.69521 7.850894 3.946150 1.844039 0.692172 0.276767 0.038890 0.019632 0.009910 .0003702 -.0001170 .0000474 .0000160 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0027958 -.0008825 .0003577 .0001208 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0138520 -.0044259 .0017934 .0006053 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0525392 -.0170923 .0069599 .0023542 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1548470 -.0542487 .0222237 .0075095 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3266449 -.1318217 .0553560 .0188356 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3942463 -.2270311 .0991963 .0337959 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1884079 -.1210690 .0590832 .0208811 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0169109 .4500893 -.2849879 -.1045566 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0027738 .6067418 -.5616608 -.2150989 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0015422 .1309709 .0689380 .0261794 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 15 9 3772.360 896.8498 291.1774 111.1665 46.59779 20.61947 8.545803 3.727807 1.626088 0.608154 0.211257 0.073385 0.025492 0.008855 0.00308 .0022490 -.0009326 -.0002799 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0184178 -.0076486 -.0022837 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0870550 -.0375836 -.0113521 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2573574 -.1157393 -.0348942 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .4345148 -.2156986 -.0669017 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3247940 -.1012843 -.0258668 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0629600 .3833983 .1441241 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0030106 .5723888 .2591167 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0022704 .1849965 -.0224242 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .0 .0 .00000000 .00000000 .00000000 .0 1. .0 .0 .0 .0 .00000000 .00000000 .00000000 .0 .0 1. .0 .0 .0 .00000000 .00000000 .00000000 .0 .0 .0 1. .0 .0 .00000000 .00000000 .00000000 .0 .0 .0 .0 1. .0 .00000000 .00000000 .00000000 .0 .0 .0 .0 .0 1. 10 4 132.3326 38.80142 14.10538 5.536616 2.239668 0.859432 0.60815 0.21126 0.02549 0.00886 .0195685 .0 .00000000 .00000000 .1189378 .0 .00000000 .00000000 .3295870 .0 .00000000 .00000000 .4546232 .0 .00000000 .00000000 .0 .2973777 .00000000 .00000000 .0 .0591820 .00000000 .00000000 .00000000 .00000000 .08031 .0 .00000000 .00000000 .10313 .0 .00000000 .00000000 .0 .44488 .00000000 .00000000 .0 .37698 ********************************************************************* /Sr.Pol.Sadlej.18s15p10d.11s9p4d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) xx, xxx (1991). ********************************************************************* * Strontium atom * * Basis set for electric properties * ********************************************************************* a 38 * 18 11 447503.8 68033.85 15907.65 4680.181 1596.108 605.0268 249.6655 110.2371 42.34581 19.32749 7.943752 3.997927 1.933314 0.716335 0.305817 0.054875 0.022944 0.009593 .0003798 -.0001203 -.0000491 .0000174 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0028661 -.0009069 -.0003708 .0001318 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0141474 -.0045334 -.0018536 .0006578 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0533898 -.0174169 -.0071557 .0025467 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1567703 -.0551668 -.0228119 .0081037 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3300455 -.1339385 -.0567806 .0203430 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3942621 -.2298919 -.1015780 .0363698 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1828827 -.1140530 -.0563682 .0211538 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0156887 .4696420 .3036405 -.1180747 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0026167 .5982430 .5673199 .2289793 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0014832 .1203188 -.1357764 .0548220 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 15 9 3942.235 935.3613 303.6026 115.8908 48.56029 21.49991 8.946984 3.869650 1.617732 0.641983 0.238495 0.088767 0.033039 0.012297 0.004577 .0023006 .0009647 -.0003111 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0188799 .0079381 -.0025477 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0890580 .0389159 -.0126331 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2622162 .1196339 -.0388058 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .4375272 .2200890 -.0734370 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3176983 .0948126 -.0252119 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0589489 -.4042590 .1658146 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0025145 -.5806063 .2875260 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0019810 -.1588206 -.0807917 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .0 .0 .00000000 .00000000 .00000000 .0 1. .0 .0 .0 .0 .00000000 .00000000 .00000000 .0 .0 1. .0 .0 .0 .00000000 .00000000 .00000000 .0 .0 .0 1. .0 .0 .00000000 .00000000 .00000000 .0 .0 .0 .0 1. .0 .00000000 .00000000 .00000000 .0 .0 .0 .0 .0 1. 10 4 137.7742 40.44428 14.68809 5.752129 2.324955 0.889111 0.64198 0.23850 0.03304 0.01230 .0208295 .0 .00000000 .00000000 .1258918 .0 .00000000 .00000000 .3443574 .0 .00000000 .00000000 .4614710 .0 .00000000 .00000000 .0 .2762676 .00000000 .00000000 .0 .0443842 .00000000 .00000000 .00000000 .00000000 .83492 .0 .00000000 .00000000 .80831 .0 .00000000 .00000000 .0 .39400 .00000000 .00000000 .0 .11109 ********************************************************************* /Sn.Pol.Sadlej.19s15p12d4f.11s9p6d2f. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1992). ********************************************************************* * Tin atom * * Basis set for electric properties * ********************************************************************* a 50 * 19 11 899821.66 134984.99 30894.687 8884.5899 2970.8316 1114.3989 457.49766 201.14673 76.951888 34.627033 12.709521 6.7445922 2.8589584 1.4649553 0.5482545 0.4970868 0.1612089 0.0680632 0.028737 .0003171 -.0001027 .0000451 -.0000196 -.0000057 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0024542 -.0007940 .0003498 -.0001519 -.0000444 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0125308 -.0041012 .0018034 -.0007832 -.0002289 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0490344 -.0163241 .0072300 -.0031431 -.0009183 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1483326 -.0530849 .0235920 -.0102703 -.0030036 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3205279 -.1318363 .0604148 -.0264382 -.0077309 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3999731 -.2335835 .1108669 -.0489543 -.0143645 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1988844 -.1324689 .0724148 -.0327790 -.0096064 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0179062 .4745137 -.3474649 .1669511 .0495391 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0028864 .6214301 -.6342873 .3338854 .1014565 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0016815 .1121186 .3778088 -.2676719 -.0872059 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0014366 -.0297494 .8205402 -.8936390 -.3068572 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0009646 .0144162 .1569332 .1252524 .0684718 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 15 9 6555.3605 1572.5554 518.87112 201.79386 87.860501 40.765381 18.522327 8.9900952 4.3941855 2.1610510 1.0168061 0.4415798 0.1650588 0.0589605 0.021061 .0025781 .0011867 .0004945 -.0001149 .00000000 .00000000 .00000000 .00000000 .00000000 .0205342 .0095279 .0039733 -.0009222 .00000000 .00000000 .00000000 .00000000 .00000000 .0947403 .0456649 .0191961 -.0044678 .00000000 .00000000 .00000000 .00000000 .00000000 .2672822 .1359994 .0577300 -.0134276 .00000000 .00000000 .00000000 .00000000 .00000000 .4214396 .2349656 .1019275 -.0238707 .00000000 .00000000 .00000000 .00000000 .00000000 .3077676 .1051300 .0373197 -.0082584 .00000000 .00000000 .00000000 .00000000 .00000000 .0666156 -.3751055 -.2223105 .0538259 .00000000 .00000000 .00000000 .00000000 .00000000 -.0015574 -.5650153 -.3848178 .0974260 .00000000 .00000000 .00000000 .00000000 .00000000 .0018794 -.1915481 .0581870 -.0292863 .00000000 .00000000 .00000000 .00000000 .00000000 -.0010383 -.0106883 .5876685 -.1732536 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 12 6 313.59189 93.029929 34.699209 14.308712 6.2801124 2.7769449 1.1534475 0.4286993 0.44158 0.16506 0.0589605 0.021061 .0168137 .0062995 .00000000 .00000000 .00000000 .00000000 .1119063 .0429247 .00000000 .00000000 .00000000 .00000000 .3339019 .1287688 .00000000 .00000000 .00000000 .00000000 .4721659 .1719142 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2617913 .0260230 .00000000 .00000000 .00000000 .00000000 .0367596 .4047028 .00000000 .00000000 .00000000 .00000000 .0012999 .5088044 .00000000 .00000000 .00000000 .00000000 -.0001541 .2294249 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .12519 .00000000 .00000000 .00000000 .00000000 .00000000 1.15562 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .19425 .00000000 .00000000 .00000000 .00000000 .00000000 .12250 4 2 6.28011 2.77694 1.15345 0.42870 .01038 .00000000 .24286 .00000000 .00000000 .47375 .00000000 .35040 ********************************************************************* /Sb.Pol.Sadlej.19s15p12d4f.11s9p6d2f. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1992). ********************************************************************* * Antimony atom * * Basis set for electric properties * ********************************************************************* a 51 * 19 11 937375.11 141220.76 32433.012 9334.5594 3122.3022 1169.7278 479.56797 210.71500 80.254076 36.187742 13.164129 6.8895312 2.7977351 1.4606731 0.6514449 0.4579382 0.1806266 0.0783207 0.033960 -.0003163 .0001026 -.0000453 .0000199 .0000062 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0024307 .0007873 -.0003483 .0001533 .0000476 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0123809 .0040585 -.0017927 .0007891 .0002450 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0484525 .0161443 -.0071806 .0031619 .0009813 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.1468909 .0526207 -.0234931 .0103682 .0032221 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.3192445 .1311856 -.0603530 .0267424 .0083057 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.4007104 .2338806 -.1115674 .0499946 .0155953 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.2012277 .1340401 -.0733613 .0334858 .0104084 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0183861 -.4734877 .3487065 -.1694917 -.0534133 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0030423 -.6225744 .6395280 -.3436074 -.1113060 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0017135 -.1128803 -.4086383 .3052706 .1069484 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0014370 .0312486 -.8180623 .9094680 .3333489 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0010430 -.0167245 -.1329101 -.2615642 -.1329571 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 . 1. 15 9 6754.9329 1629.8164 541.11515 211.37093 92.398824 43.035643 19.780810 9.6201993 4.7016732 2.3339768 1.0999764 0.4623662 0.1851735 0.0687746 0.025543 .0026221 -.0012131 -.0005139 .0001328 .00000000 .00000000 .00000000 .00000000 .00000000 .0206143 -.0096238 -.0040820 .0010540 .00000000 .00000000 .00000000 .00000000 .00000000 .0942772 -.0456751 -.0195214 .0050516 .00000000 .00000000 .00000000 .00000000 .00000000 .2651591 -.1358077 -.0586617 .0151841 .00000000 .00000000 .00000000 .00000000 .00000000 .4190345 -.2345223 -.1034238 .0269217 .00000000 .00000000 .00000000 .00000000 .00000000 .3095054 -.1108588 -.0409752 .0101937 .00000000 .00000000 .00000000 .00000000 .00000000 .0688357 .3640495 .2209034 -.0598906 .00000000 .00000000 .00000000 .00000000 .00000000 -.0007617 .5713013 .3954266 -.1112942 .00000000 .00000000 .00000000 .00000000 .00000000 .0015567 .1981136 -.0484394 .0294663 .00000000 .00000000 .00000000 .00000000 .00000000 -.0008689 .0112215 -.5949310 .2010653 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 12 6 331.88981 98.366642 36.798758 15.340436 6.8381205 3.0608489 1.2951671 0.4932548 0.462366 0.185174 0.068775 0.025543 -.0165619 -.0064375 .00000000 .00000000 .00000000 .00000000 -.1111384 -.0442383 .00000000 .00000000 .00000000 .00000000 -.3308190 -.1325055 .00000000 .00000000 .00000000 .00000000 -.4664939 -.1768039 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.2657970 .0199642 .00000000 .00000000 .00000000 .00000000 -.0408344 .4047620 .00000000 .00000000 .00000000 .00000000 -.0011371 .5132661 .00000000 .00000000 .00000000 .00000000 .0000689 .2196904 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .19784 .00000000 .00000000 .00000000 .00000000 .00000000 1.18499 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .16053 .00000000 .00000000 .00000000 .00000000 .00000000 .09176 4 2 6.83812 3.06085 1.29517 0.49325 .007635 .00000000 .231355 .00000000 .00000000 .451003 .00000000 .312806 ********************************************************************* /Te.Pol.Sadlej.19s15p12d4f.11s9p6d2f. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1992). ********************************************************************* * Tellurium atom * * Basis set for electric properties * ********************************************************************* a 52 * 19 11 978822.88 147828.00 34015.467 9798.9016 3276.8736 1226.4017 502.27506 220.57164 83.669102 37.810205 13.574922 7.2966932 2.8917326 1.6043893 0.7881579 0.5553914 0.2212502 0.0913273 0.0376979 -.0003143 .0001021 -.0000453 -.0000202 .0000066 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0024070 .0007806 -.0003469 -.0001546 .0000505 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0122364 .0040170 -.0017813 -.0007940 .0002594 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0478978 .0159735 -.0071372 -.0031826 .0010391 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.1455861 .0522006 -.0233901 -.0104538 .0034180 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.3178680 .1305206 -.0603423 -.0270770 .0088466 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.4013723 .2340650 -.1119595 -.0508166 .0166815 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.2035352 .1357521 -.0749639 -.0346582 .0113307 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0189369 -.4721342 .3513796 .1731847 -.0574438 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0032727 -.6236111 .6394285 .3489708 -.1192071 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0019592 -.1172671 -.4122502 -.3179603 .1183222 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0017045 .0368232 -.8055617 -.9051359 .3500455 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0014090 -.0222932 -.1583094 .2407511 -.1312831 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 15 9 7003.1556 1694.6925 564.80973 220.99327 96.942841 45.224205 21.038604 10.214355 4.9427469 2.4813817 1.1921537 0.5195231 0.2167987 0.0802522 0.0297069 .0026412 .0012279 -.0005282 -.0001480 .00000000 .00000000 .00000000 .00000000 .00000000 .0205837 .0096659 -.0041652 -.0011673 .00000000 .00000000 .00000000 .00000000 .00000000 .0938945 .0457054 -.0198392 -.0055669 .00000000 .00000000 .00000000 .00000000 .00000000 .2636880 .1359368 -.0596812 -.0167761 .00000000 .00000000 .00000000 .00000000 .00000000 .4171862 .2342577 -.1049086 -.0295902 .00000000 .00000000 .00000000 .00000000 .00000000 .3112651 .1160592 -.0443706 -.0121399 .00000000 .00000000 .00000000 .00000000 .00000000 .0694667 -.3566303 .2211556 .0656478 .00000000 .00000000 .00000000 .00000000 .00000000 .0007714 -.5796918 .4076291 .1240375 .00000000 .00000000 .00000000 .00000000 .00000000 .0007236 -.2012531 -.0513357 -.0323610 .00000000 .00000000 .00000000 .00000000 .00000000 -.0004106 -.0089392 -.5998766 -.2275135 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 12 6 347.73554 103.87251 39.238498 16.482706 7.3994044 3.3493018 1.4435871 0.5601709 0.519523 0.216799 0.080252 0.029707 .0165234 .0066361 .00000000 .00000000 .00000000 .00000000 .1093631 .0449861 .00000000 .00000000 .00000000 .00000000 .3249199 .1346119 .00000000 .00000000 .00000000 .00000000 .4645236 .1825784 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2708094 .0146096 .00000000 .00000000 .00000000 .00000000 .0436736 .4044130 .00000000 .00000000 .00000000 .00000000 .0012780 .5164642 .00000000 .00000000 .00000000 .00000000 -.0000716 .2123596 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .216264 .00000000 .00000000 .00000000 .00000000 .00000000 1.125548 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .147472 .00000000 .00000000 .00000000 .00000000 .00000000 .071054 4 2 7.399404 3.349302 1.443587 0.560171 .005371 .00000000 .220977 .00000000 .00000000 .429852 .00000000 .283734 ********************************************************************* /I.Pol.Sadlej.19s15p12d4f.11s9p6d2f. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1992). ********************************************************************* * Iodine atom * * Basis set for electric properties * ********************************************************************* a 53 * 19 11 1024924.8 154843.13 35646.336 10272.630 3434.4769 1284.4313 525.64189 230.74127 87.255217 39.494464 14.254520 7.6466089 3.0500598 1.7326181 0.8768236 0.6349930 0.2564976 0.1061169 0.0439022 -.0003112 .0001012 -.0000451 -.0000203 .0000069 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0023822 .0007736 -.0003451 -.0001556 .0000529 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0121028 .0039784 -.0017715 -.0007992 .0002719 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0473906 .0158201 -.0070961 -.0032017 .0010883 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.1443574 .0517979 -.0233084 -.0105449 .0035900 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.3164481 .1298812 -.0602625 -.0273582 .0093065 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.4018988 .2340313 -.1124651 -.0516988 .0176738 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.2058581 .1378589 -.0761724 -.0355751 .0121096 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0195178 -.4704590 .3515680 .1753485 -.0605902 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0035105 -.6244144 .6449758 .3578347 -.1275278 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0021503 -.1186834 -.4140994 -.3285772 .1280144 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0019077 .0377119 -.8084290 -.9202006 .3725377 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0017174 -.0247635 -.1559773 .2478261 -.1394091 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 15 9 7299.0410 1767.8671 590.09433 231.49387 101.73176 47.569119 22.275404 10.840897 5.2379498 2.5466334 1.2106848 0.5744092 0.2465331 0.0913532 0.0338511 .0026316 .0012293 .0005366 .0001599 .00000000 .00000000 .00000000 .00000000 .00000000 .0204925 .0096738 .0042285 .0012612 .00000000 .00000000 .00000000 .00000000 .00000000 .0932057 .0455881 .0200867 .0059946 .00000000 .00000000 .00000000 .00000000 .00000000 .2616339 .1356119 .0603974 .0180769 .00000000 .00000000 .00000000 .00000000 .00000000 .4158847 .2345662 .1067446 .0320064 .00000000 .00000000 .00000000 .00000000 .00000000 .3128182 .1201292 .0467467 .0137283 .00000000 .00000000 .00000000 .00000000 .00000000 .0714857 -.3495375 -.2201150 -.0700630 .00000000 .00000000 .00000000 .00000000 .00000000 .0010960 -.5837640 -.4207903 -.1360543 .00000000 .00000000 .00000000 .00000000 .00000000 .0006345 -.2062012 .0628580 .0381252 .00000000 .00000000 .00000000 .00000000 .00000000 -.0003811 -.8572306 .6434501 .2700960 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 12 6 370.37639 109.71047 41.199216 17.284607 7.8154415 3.7428153 1.6595878 0.6526591 0.574409 0.246533 0.091353 0.033851 .0160789 .0066648 .00000000 .00000000 .00000000 .00000000 .1091329 .0461780 .00000000 .00000000 .00000000 .00000000 .3277467 .1405037 .00000000 .00000000 .00000000 .00000000 .4658406 .1865116 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2640157 .0108920 .00000000 .00000000 .00000000 .00000000 .0438970 .3827473 .00000000 .00000000 .00000000 .00000000 .0030830 .5259328 .00000000 .00000000 .00000000 .00000000 -.0004230 .2222319 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .248065 .00000000 .00000000 .00000000 .00000000 .00000000 1.072953 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .136634 .00000000 .00000000 .00000000 .00000000 .00000000 .054360 4 2 7.815442 3.742815 1.659588 0.652659 .003896 .00000000 .197839 .00000000 .00000000 .408254 .00000000 .275083 ********************************************************************* ergo-3.5/basis/ano-40000775000175000017500000032424712743400275011225 00000000000000$Basis = ano-4 ************************************************************************ /H.ano.Pierloot.7s3p.4s3p. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ * H Hydrogen atom. * * Basic primitive: Duijneveldt 6s * * Augmented: 1s with exponent 0.35x lowest exponent * * 3p 2 optimized for H2 with the third added as an * * eventempered continuation. * * * * Contraction: State Field Method Weight * * H 0.000 SCF 0.490 * * H2 0.000 SDCI 0.490 * * H- 0.000 SDCI 0.020 * * * ************************************************************************ a 1 * s-functions, max 6 functions can be used. 7 6 82.636374 12.409558 2.8238540 .79767000 .25805300 .08989100 .03146200 .00256413 -.0046008 .00757961 -.0363105 .01990903 -.0510853 .01921261 -.0324447 .04861215 -.3426720 .06829145 -1.454494 .09505118 -.1710737 .29093806 -.5144789 1.3871029 2.1054842 .30186782 -.5048672 .71017940 2.3283491 -1.500327 -2.126101 .48744592 -.0948920 -.7428489 -3.743064 -.1334753 1.9268476 .23547943 .37085551 -.9567069 3.3877730 1.2796203 -1.360156 .01577776 .65565134 1.2928373 -1.446844 -.7878459 .52164181 * p-functions, max 3 functions can be used. 3 3 1.6625000 .41560000 .10390000 .30127706 -.5439972 1.0998718 .68005742 -.2227281 -1.344476 .19856265 .95840151 .79907973 ************************************************************************ /He.ano.Pierloot.7s3p.4s3p. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ * He Helium atom. * * Basic primitive: Duijneveldt 6s * * Augmented: 1s with exponent 0.35x lowest exponent * * 3p 2 optimized for correlation energy, with 1 added as an * * eventempered continuation. * * * * Contraction: State Field Method Weight * * He 0.000 SDCI 1.000 * * * ************************************************************************ a 2 * s-functions, max 6 functions can be used. 7 6 233.09250 35.022805 7.9557020 2.2027800 .66434900 .20824500 .07288600 .00260941 -.0039110 .00751951 -.0054170 .03125343 -.0063455 .01966690 -.0303249 .03413599 -.1523083 -1.426082 .62069362 .09225256 -.1971368 .73279322 -1.353979 1.6956746 -1.053717 .27352994 -.7675756 .26520947 2.5779532 -1.077115 1.4475639 .47654422 .07121518 -1.774089 -2.337934 .17350022 -2.129268 .30155862 .85518678 1.3616934 1.0484932 .70730893 2.8952449 .00826996 .00011896 -.0568172 .01802187 -.7407261 -2.046450 * p-functions, max 3 functions can be used. 3 3 3.0566000 .76220000 .19060000 .31299579 -1.079406 .57446409 .74142300 .66739271 -1.149113 .08473191 .29174588 1.2264082 ************************************************************************ /Li.ano.Pierloot.10s4p3d.6s4p3d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ * Li Lithium atom. * * Basic primitive: Duijneveldt 9s * * Augmented: 1s with exponent 0.35x lowest exponent * * 4p 3 optimized for Li2 with 1 added as an * * eventempered continuation. * * 3p 2 optimized for Li2 with 1 added as an * * eventempered continuation. * * * * Contraction: State Field Method Weight * * Li 0.000 SCF 0.500 * * Li+ 0.000 SCF 0.200 * * Li2 0.000 SDCI 0.200 * * Li-2P 0.000 SDCI 0.100 * * * ************************************************************************ a 3 * s-functions, max n functions can be used. 10 6 1359.4466 204.02647 46.549541 13.232594 4.2861480 1.4955420 .54223800 .07396800 .02809500 .00983300 .00084332 -.0001252 .00011373 -.0017440 .00054417 -.0031477 .00648439 -.0009674 .00107116 -.0131945 .00456395 -.0144194 .03245620 -.0048770 .00399916 -.0662310 .01962287 -.1424608 .11738922 -.0182869 .02301931 -.2217921 .08329969 -.1142626 .29422268 -.0491821 .03432242 -.5063439 .13214634 -1.500016 .45040801 -.0977188 .17197618 -.2517575 .28618802 3.2797643 .25470902 -.1385663 .10414360 1.4059250 -.5135377 -2.385700 .01003624 .58427106 -1.902384 -1.633110 -.9532295 1.2383938 -.0029612 .50352994 1.7730327 1.9241970 2.4695862 -1.042423 .00016396 .01224613 .04879476 -1.019874 -1.920546 .38430970 * p-functions, max n functions can be used. 4 4 .38920000 .12170000 .03800000 .01190000 .09431630 -.1214478 1.1376011 -.9285055 .33326561 -.9566738 -.6676586 1.6588872 .62301658 .60468280 -.4269621 -1.814862 .12579161 .45796062 .67539099 1.2257335 * d-functions, max n functions can be used. 3 3 .34220000 .09170000 .02460000 .19222732 -.1882651 1.1416620 .86623968 -.4316614 -.9302053 .05202164 1.0957448 .41641230 ************************************************************************ /Be.ano.Pierloot.10s4p3d.6s4p3d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ * Be Beryllium atom. * * Basic primitive: Duijneveldt 9s * * Augmented: 1s with exponent 0.35x lowest exponent * * 4p 3 optimized for correlation energy with 1 added as an * * eventempered continuation. * * 3d 2 optimized for correlation energy with 1 added as an * * eventempered continuation. * * * * Contraction: State Field Method Weight * * Be 0.000 SDCI 0.500 * * Be+ 0.000 SCF 0.250 * * Be-3P 0.000 SDCI 0.250 * * * ************************************************************************ a 4 * s-functions, max n functions can be used. 10 6 2732.3281 410.31981 93.672648 26.587957 8.6295600 3.0562640 1.1324240 .18173200 .05917000 .02071000 .00074493 -.0001427 .00015695 -.0001924 .00031124 -.0015720 .00572454 -.0011140 .00143307 -.0039778 .00436640 -.0060853 .02888438 -.0055613 .00562553 -.0015547 .00806211 -.0868722 .10711729 -.0218661 .03083988 -.1094019 .11885124 -.2255310 .28008888 -.0591129 .05111532 .09593658 .04010088 -1.689248 .44599943 -.1277397 .22985975 -1.147861 1.0707772 3.1302542 .28019932 -.1392613 .03609057 1.4866438 -1.879678 -1.852557 .01371755 .61480583 -1.639060 -.0525827 2.0015611 .72511480 -.0059191 .51190760 1.5342452 -1.350883 -2.549105 -.5918967 .00199796 -.0117939 .05893078 1.4017579 1.5882729 .27379324 * p-functions, max n functions can be used. 4 4 1.1677000 .36500000 .11410000 .03570000 .08652488 -.0268988 .59021034 -1.350149 .32628265 -.8241012 .40781985 1.8100238 .62511893 .22668606 -1.328299 -1.423157 .13750967 .75535954 1.0185868 .74512678 * d-functions, max n functions can be used. 3 3 .54680000 .14650000 .03930000 .27827904 -.9918512 .56070455 .75227605 .45942600 -1.012287 .15882957 .38362412 1.0974151 ************************************************************************ /B.ano.Pierloot.10s6p3d.7s6p3d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 5 * s-functions, max 7 functions can be used. 10 7 3733.3327 561.19773 128.74655 37.055525 12.328842 4.5244350 1.7512670 .33110600 .10371400 .03630000 .00089506 -.0001843 .00017375 -.0001905 .00041293 -.0018783 .00116412 .00685380 -.0014446 .00145545 -.0022532 .00635331 -.0063398 .03455897 .03405961 -.0070458 .00642290 -.0054437 .00871287 -.1081313 .08663511 .12149824 -.0272609 .02889840 -.0535594 .17192309 -.2422706 1.9799862 .30003476 -.0688604 .05907191 -.0182450 -.0360394 -1.722278 -3.771476 .43780423 -.1492362 .18733501 -.4660871 1.5479194 3.4481013 3.3066999 .24612184 -.1162892 .05610638 .44113019 -2.597670 -2.188265 -1.551088 .01182080 .59639270 -1.266190 1.1919254 2.0916662 .81648507 .48391501 -.0041555 .50850220 .71439434 -2.613045 -1.808131 -.5271625 -.2951708 .00140186 .02792957 .63133800 1.8532640 .82628795 .19778262 .10623095 * p-functions, max 6 functions can be used. 6 6 12.363854 2.6559950 .76067100 .24197800 .07787700 .02725700 .01180214 -.0101247 .01264464 -.0414113 .10101989 -1.211295 .06978208 -.0411527 -.0157798 -.5027538 1.2162674 1.0493365 .25711950 -.2976093 .64934680 -.6687000 -1.733241 -.7049688 .47791994 -.4297342 .05318564 1.6112094 1.5327407 .41881797 .31658558 .26234690 -1.375829 -1.444723 -1.080771 -.2220987 .15418619 .76686529 1.1527377 .68208364 .47514295 .08341775 * d-functions, max 3 functions can be used. 3 3 .84960000 .22760000 .06100000 .26308016 -.5392926 1.0076300 .72852411 -.2061201 -1.107773 .21600414 .91037494 .70734273 ************************************************************************ /C.ano.Pierloot.10s6p3d.7s6p3d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 6 * s-functions, max 7 functions can be used. 10 7 5240.6353 782.20479 178.35083 50.815942 16.823562 6.1757760 2.4180490 .51190000 .15659000 .05480600 .00093706 -.0002014 .00018948 -.0002213 .00042114 -.0018513 .00065406 .00722866 -.0015913 .00159917 -.0025615 .00571726 -.0038004 .04028923 .03634370 -.0078579 .00715871 -.0066762 .01103501 -.1109207 .01247219 .13062888 -.0307856 .03255102 -.0614874 .15082677 -.1054023 2.1083996 .31889851 -.0777605 .06671215 -.0262024 .00978757 -1.974805 -3.791511 .43907941 -.1654798 .21071467 -.5522109 1.4748251 3.8015560 3.2681208 .21447737 -.0935316 .01606341 .61152276 -2.700521 -2.501563 -1.577265 .00952912 .59106791 -1.206081 1.0360958 2.3342433 .97136636 .51261653 -.0024223 .51017985 .62359190 -2.478048 -1.998888 -.5941226 -.2946905 .00085927 .03602095 .67555378 1.7841457 .93142687 .22395114 .10635215 * p-functions, max 6 functions can be used. 6 6 18.841800 4.1592400 1.2067100 .38554000 .12194000 .04267900 .01363248 -.0127012 .02069097 -.0417198 .08993877 -1.225606 .08381053 -.0672664 .10061256 -.5377721 1.2126951 1.0767721 .28579195 -.3404231 .68864029 -.4613392 -1.793208 -.7175743 .48641620 -.3747775 -.2805127 1.5262266 1.5789020 .41461270 .31476417 .42284056 -1.048837 -1.617847 -1.093721 -.2133883 .09093437 .64283912 1.0947312 .86969045 .49043497 .08037852 * d-functions, max 3 functions can be used. 3 3 1.2838000 .34400000 .09220000 .32087885 -.7178531 .87024938 .72331373 .09111849 -1.126613 .15721381 .75422850 .88445526 ************************************************************************ /N.ano.Pierloot.10s6p3d.7s6p3d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 7 * s-functions, max 7 functions can be used. 10 7 8104.0716 1216.0215 277.23428 76.904023 25.874419 9.3467670 3.5797940 .73961000 .22261700 .07791600 .00081008 -.0001793 .00017387 -.0001964 .00036916 -.0017116 .00025765 .00607657 -.0013798 .00144815 -.0023869 .00502340 -.0017618 .04008086 .03209526 -.0071332 .00667279 -.0057778 .00987330 -.1041283 -.0231628 .11750256 -.0284961 .03158098 -.0617602 .13897284 -.0318897 2.1941015 .29374741 -.0728933 .06343753 -.0153528 .01019490 -2.073780 -3.710750 .45125423 -.1684632 .22203197 -.5939252 1.4629067 3.7261526 3.0155160 .24259813 -.1048813 .03023657 .66203748 -2.618477 -2.376663 -1.412923 .01346262 .58177231 -1.252482 .93489260 2.2563360 .91307821 .45774248 -.0038118 .52102389 .70444158 -2.387829 -1.990162 -.5648258 -.2656620 .00138764 .03664056 .61000653 1.7773254 .96469863 .21744800 .09742861 * p-functions, max 6 functions can be used. 6 6 26.868987 5.9912270 1.7508420 .56051100 .17594800 .06158200 .01442171 -.0114782 .02162618 -.0406188 .08572667 -1.231436 .09084742 -.0651213 .12643314 -.4773791 1.2448487 1.0880797 .29779552 -.2896590 .63908773 -.5649113 -1.801346 -.7210344 .48328081 -.3157872 -.1262036 1.6204933 1.5085511 .40811020 .30400864 .21998610 -1.195343 -1.620373 -.9730320 -.2041380 .08993805 .80897400 1.0594220 .81259577 .40744371 .07535125 * d-functions, max 3 functions can be used. 3 3 1.8862000 .50540000 .13540000 .32849784 -.6891754 .89030990 .71929892 .06238867 -1.130867 .15460768 .78145296 .86071030 ************************************************************************ /O.ano.Pierloot.10s6p3d.7s6p3d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 8 * s-functions, max 7 functions can be used. 10 7 10662.285 1599.7097 364.72526 103.65179 33.905805 12.287469 4.7568050 1.0042710 .30068600 .10524000 .00079948 -.0001813 .00018443 -.0001907 .00036853 -.0016765 .00005479 .00615339 -.0014323 .00161025 -.0024870 .00490095 -.0010618 .04279731 .03115440 -.0070923 .00685698 -.0051076 .00991395 -.1026646 -.0507976 .11562007 -.0287298 .03444213 -.0629044 .12875344 .01175872 2.1803558 .30148406 -.0771976 .06845079 -.0110554 .03927069 -2.165167 -3.631053 .44516541 -.1722695 .25486215 -.6404523 1.4310887 3.8662474 2.9702171 .24269972 -.1017617 -.0022749 .76159632 -2.626645 -2.495006 -1.403357 .01400809 .58019236 -1.309317 .77557971 2.3062819 .96639458 .45447793 -.0036471 .52501772 .84421791 -2.269563 -2.062387 -.5976920 -.2609879 .00135794 .03453632 .50287000 1.7764361 1.0230710 .23350491 .09613616 * p-functions, max 6 functions can be used. 6 6 34.856463 7.8431310 2.3082690 .72316400 .21488200 .07520900 .01570996 -.0142470 .02368790 -.0376268 .09085374 -1.235344 .09863258 -.0824266 .14966899 -.4641332 1.2402534 1.1015075 .31133806 -.3507925 .66715139 -.4690396 -1.753665 -.7189945 .48393539 -.3086369 -.3868441 1.4975194 1.4085498 .38970182 .30434457 .43158804 -.9267711 -1.653960 -.9192597 -.1923494 .07410473 .62126901 1.0538974 .93962953 .41489193 .07430941 * d-functions, max 3 functions can be used. 3 3 2.6950000 .72210000 .19350000 .31690979 -.7253743 .86540926 .72182059 .09198569 -1.127354 .16489448 .74781734 .88837150 ************************************************************************ /F.ano.Pierloot.10s6p3d.7s6p3d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 9 * s-functions, max 7 functions can be used. 10 7 13521.523 2028.6916 462.37392 131.37366 42.974531 15.571440 6.0322320 1.3072150 .38886900 .13610400 .00080075 -.0001850 .00019447 -.0001902 .00037031 -.0016706 .00007014 .00616450 -.0014612 .00172714 -.0025713 .00470412 -.0002042 -.0442488 .03124160 -.0072487 .00717187 -.0048791 .01051067 -.1035398 .06719790 .11610291 -.0294041 .03738496 -.0657941 .12212404 .05599021 -2.206790 .30352222 -.0795719 .07084437 -.0043335 .05682186 -2.240184 3.6144984 .44616899 -.1770468 .28523100 -.6870633 1.3878720 3.9534864 -2.924289 .23867582 -.0978438 -.0389917 .86018088 -2.622114 -2.573956 1.3843357 .01392675 .58060437 -1.330440 .63037963 2.3627476 1.0139375 -.4526205 -.0033045 .52689316 .92497937 -2.155047 -2.137460 -.6254406 .25639621 .00126572 .03283982 .43437871 1.7582097 1.0805653 .24790940 -.0947845 * p-functions, max 6 functions can be used. 6 6 44.147303 9.9934260 2.9532460 .91859700 .26682400 .09338800 .01656685 -.0167752 .02494906 -.0361547 .09545632 -1.238050 .10422264 -.1009620 .16978293 -.4963549 1.2198221 1.1135741 .31803761 -.4014188 .68191384 -.3346961 -1.748487 -.7275897 .48073503 -.2616414 -.5567430 1.3749557 1.4191583 .39142655 .30922389 .51835561 -.7214965 -1.660699 -.9597566 -.1945025 .06136998 .51834038 1.0153135 1.0116944 .45768655 .07739612 * d-functions, max 3 functions can be used. 3 3 3.7442000 1.0032000 .26880000 .29855241 -.7294384 .86849502 .72517360 .07062298 -1.126675 .18152808 .74700952 .88574770 ************************************************************************ /Ne.ano.Pierloot.10s6p3d.7s6p3d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 10 * s-functions, max n functions can be used. 10 7 16501.215 2477.7618 566.10960 161.62854 53.293240 19.488234 7.6017600 1.6327720 .48131500 .16846000 .00081499 -.0001900 .00021772 -.0002540 .00043955 -.0016494 .00013401 .00626094 -.0014996 .00201364 -.0039743 .00328787 -.0006142 -.0454712 .03159205 -.0073945 .00776521 -.0051110 .01814446 -.1011335 .07529190 .11639840 -.0298543 .04409897 -.1053844 .07153392 .04255644 -2.241970 .30184538 -.0798427 .07073502 .03643038 .25261153 -2.226887 3.7112982 .44222228 -.1781160 .34965786 -1.170913 .77909459 4.0323895 -3.039900 .24240238 -.0958131 -.1095937 1.7465804 -1.968139 -2.706065 1.4488384 .01519335 .58014835 -1.433297 -.3948737 2.2360432 1.1596528 -.4798726 -.0037628 .53076702 1.2365602 -1.151401 -2.593238 -.8294957 .28620830 .00144066 .02758179 .17477751 1.3157005 1.6034321 .38890021 -.1139980 * p-functions, max n functions can be used. 6 6 55.030482 12.501192 3.6978600 1.1477410 .33105700 .11587000 .01707052 -.0247370 .03437777 -.0797130 .11661608 -1.235601 .10800355 -.1539626 .41209016 -1.121991 .51196489 1.1429438 .32273452 -.6151746 .59597007 1.3664520 -1.045545 -.7825507 .47983876 -.0452503 -1.368663 -.6549813 1.3646101 .46357291 .32153532 .78578685 .74278265 -.2824643 -1.766400 -.2899755 .03090434 .07446709 .18059933 .63604465 1.4381264 .15599580 * d-functions, max n functions can be used. 3 3 5.0585000 1.3554000 .36320000 .28150376 -.7704634 .83826596 .73510065 .10906382 -1.117207 .18465214 .70537009 .91867910 ************************************************************************ /Na.ano.Pierloot.13s8p3d.6s5p3d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 11 * s-functions, max 6 functions can be used. 13 6 36166.417 5372.5837 1213.2144 339.62319 109.55258 38.777254 14.575901 5.2699305 1.8277692 .61994754 .05723990 .02404774 .00841671 .00038680 -.0001120 .00001512 -.0000164 .00001120 -.0000028 .00302741 -.0008742 .00011657 -.0001299 .00011956 -.0000116 .01582947 -.0046310 .00062921 -.0006763 .00048106 -.0000473 .06345968 -.0187907 .00250114 -.0028297 .00412203 .00080993 .19254139 -.0612281 .00849776 -.0090294 .01598153 .00813143 .39522205 -.1444212 .01958498 -.0231630 .10314012 .06050246 .38407124 -.2155732 .03346671 -.0339564 .21753376 .17397871 .08410406 .03068867 -.0106399 .00159024 .00575686 -.0475805 .02239996 .59787020 -.0973802 .14640304 -1.571816 -1.045636 .02217786 .48336268 -.2146369 .20758646 1.5928480 1.2553495 .00040657 .02231885 .63078161 -2.220134 .00107849 -1.907600 -.0002148 -.0107088 .44916318 2.2585781 -1.043710 3.0976616 .00005604 .00340329 .00679003 -.1430466 1.0575200 -1.967558 * p-functions, max 5 functions can be used. 8 5 147.70791 34.388475 10.580524 3.6659431 1.2840563 .43073526 .15075734 .05276510 .00519565 -.0006938 .00094630 -.0056707 .00729556 .03801759 -.0048726 .00913559 -.0313717 .11233121 .15389418 -.0211924 .02763093 -.1930337 .19978138 .35252423 -.0450116 .10452841 -.1719153 1.1285074 .45737381 -.0729479 .03340545 -.7158266 -2.134468 .23864098 -.0162184 .52943242 2.0210261 1.6324980 .00333081 -.0109459 -1.888111 -1.436322 -.8649152 .00463786 1.0120537 1.1890370 .48096174 .28693767 * d-functions, max 3 functions can be used. 3 3 .13390000 .04458000 .01560000 .66634440 -.8995588 .71259230 .42875425 .78426436 -1.424428 .03342085 .40062327 1.3017488 ************************************************************************ /Mg.ano.Pierloot.13s8p3d.7s5p3d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 12 * s-functions, max 7 functions can be used. 13 7 43866.543 6605.3717 1513.2577 432.31714 142.14930 51.398328 19.919552 8.0247405 2.5081725 .87153140 .10818841 .04013043 .01404565 .00037817 -.0001059 .00001958 -.0000211 .00003349 -.0000673 .00024812 .00290795 -.0008090 .00014884 -.0001674 .00033328 -.0006830 .00093480 .01484120 -.0042046 .00078098 -.0008228 .00114431 -.0022577 .01241179 .05819606 -.0165731 .00305339 -.0035208 .00776135 -.0160632 .00882087 .17535334 -.0541090 .01022444 -.0104385 .01136288 -.0219255 .22189319 .36839318 -.1275657 .02411584 -.0294071 .07825364 -.1643636 -.1037591 .39588825 -.2108810 .04351933 -.0392653 -.0068627 .02612400 1.7913685 .12290938 -.0260341 .00272499 -.0230190 .20904234 -.4401181 -3.728151 .01782202 .57426207 -.1406158 .22197981 -.9728471 2.1698180 3.0004310 .01372780 .53404886 -.2716562 .22222783 .79429938 -2.233558 -1.322566 .00055577 .02452562 .69704775 -1.973398 .75107760 1.7261609 .43924905 -.0002974 -.0135501 .43175291 1.9735344 -2.225891 -2.052731 -.3441319 .00009162 .00423709 -.0097741 -.0968846 1.8635422 1.1350052 .12272101 * p-functions, max 5 functions can be used. 8 5 194.48547 45.596171 14.185515 4.9767174 1.7775871 .61368684 .21479039 .07517660 .00473054 -.0008872 .00116791 -.0040536 .00508525 .03494543 -.0065387 .00969343 -.0149543 .09646041 .14463473 -.0277679 .03517827 -.1399382 .18225009 .34634503 -.0668841 .10686378 -.0966483 1.2461677 .46690507 -.0969932 .09829434 -.9204540 -2.186135 .23532994 -.0582022 .33001356 2.2340780 1.5272145 .00299903 .27797803 -1.724740 -1.685368 -.7554978 .00403308 .80544690 1.2970564 .60659130 .24938219 * d-functions, max 3 functions can be used. 3 3 .22510000 .07458000 .02610000 .51827487 -1.101534 .51829744 .55657251 .96054818 -1.257080 .07760828 .14176302 1.3521291 ************************************************************************ /Al.ano.Pierloot.13s10p4d.7s7p4d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 13 * s-functions, max 7 functions can be used. 13 7 54866.489 8211.7665 1866.1761 531.12934 175.11797 64.005500 25.292507 10.534910 3.2067110 1.1525551 .17667755 .06523747 .02283311 .00034983 -.0001030 .00002164 -.0000211 .00002395 -.0000745 .00025688 .00272066 -.0007963 .00016682 -.0001665 .00021937 -.0007437 .00107464 .01403481 -.0041818 .00088113 -.0008480 .00088935 -.0026152 .01287367 .05524271 -.0165274 .00347487 -.0035195 .00499382 -.0176104 .01323504 .16626342 -.0537890 .01152916 -.0109035 .00992475 -.0264135 .23745774 .35090709 -.1260008 .02737742 -.0287465 .04749300 -.1792139 -.0724469 .39425023 -.2126020 .04976065 -.0443275 .01678490 .00768929 1.8142061 .14802864 -.0563875 .01224421 -.0230160 .10832719 -.4635566 -3.742107 .02471625 .55341872 -.1650013 .20969728 -.5360716 2.4512520 3.0643064 .01719912 .56018666 -.3173685 .28008991 .20632823 -2.609509 -1.489154 .00114683 .03041638 .66326954 -1.688984 1.5827000 1.8187848 .54959723 -.0006084 -.0149745 .47407257 1.2347558 -3.037468 -1.687664 -.4046049 .00018615 .00450279 .01395324 .42301134 2.0336861 .72198693 .13938180 * p-functions, max 7 functions can be used. 10 7 259.28362 61.076870 19.303237 7.0108820 2.6738653 1.0365955 .31681873 .11425682 .04139700 .01448895 .00405644 -.0007080 .00073168 -.0008107 .00163788 -.0043462 .00389240 .03046789 -.0053293 .00566299 -.0064595 .00738838 -.0221390 .10531716 .12691039 -.0227062 .02321295 -.0249963 .05549881 -.1556818 .17396945 .31256744 -.0568201 .06168897 -.0724763 .06026491 -.2083480 1.3624110 .44041236 -.0845292 .08416268 -.0903666 .35946498 -.8266935 -2.596800 .28525600 -.0557708 .09324222 -.1846363 -.2902828 2.1063377 1.9371260 .03385005 .22696919 -.4671375 1.0579399 -1.199796 -2.002711 -1.070250 -.0055617 .51595897 -.4622405 -.4333578 2.3144911 1.6141732 .69700454 .00261063 .33064982 .44837801 -1.007372 -2.152970 -1.022140 -.3741821 -.0007713 .13298547 .62654713 1.0907116 1.0231426 .40594301 .13136003 * d-functions, max 4 functions can be used. 4 4 .49400000 .19900000 .08040000 .02814000 .16530459 -.3623303 .96606714 -1.222402 .52845425 -.5988966 -.5704972 2.1235103 .40614667 .67919078 -.5858528 -1.929771 .07584475 .45834805 .90360256 1.0117361 ************************************************************************ /Si.ano.Pierloot.13s10p4d.7s7p4d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 14 * s-functions, max 7 functions can be used. 13 7 69379.230 10354.940 2333.8796 657.14295 214.30113 77.629168 30.630807 12.801295 3.9268663 1.4523433 .25623427 .09427922 .03299773 .00031430 -.0000958 .00002198 -.0000220 .00002595 -.0000705 .00023117 .00246112 -.0007460 .00017102 -.0001750 .00024056 -.0006950 .00096123 .01289918 -.0039760 .00091383 -.0009024 .00098474 -.0025771 .01178162 .05173226 -.0160129 .00368910 -.0038273 .00565307 -.0167920 .01207298 .15944618 -.0531575 .01241648 -.0120685 .01148488 -.0283660 .21964214 .34389338 -.1270819 .03041211 -.0326738 .05608110 -.1755974 -.0553719 .39716351 -.2166805 .05520493 -.0508938 .02085691 -.0213340 1.8623289 .15995279 -.0720003 .01903059 -.0310767 .13559713 -.4386976 -3.852160 .02802041 .54355126 -.1862670 .24717573 -.6701414 2.5402486 3.2730670 .01935520 .57129832 -.3496595 .31359808 .30502246 -2.835890 -1.700379 .00149858 .03454841 .64706351 -1.713357 1.5587807 2.1080056 .67128771 -.0007225 -.0148857 .50607265 1.1735336 -2.999481 -1.918922 -.4761146 .00021781 .00439226 .01984117 .46073480 1.9997035 .82335503 .16365420 * p-functions, max 7 functions can be used. * d-functions, max 4 functions can be used. 10 7 335.48319 78.900366 24.988150 9.2197114 3.6211402 1.4513101 .50497692 .18631667 .06543200 .02290120 .00355167 -.0007543 .00072254 -.0008112 .00175689 -.0044044 .00364538 .02735944 -.0058494 .00584370 -.0071608 .01035762 -.0243388 .10429729 .11651050 -.0254008 .02408183 -.0260288 .06235657 -.1711822 .17205410 .29307654 -.0656330 .06746591 -.0873168 .10762712 -.2424921 1.4353533 .43271640 -.1008167 .09059617 -.0841650 .33583621 -.8456769 -2.895350 .30644487 -.0742811 .11350243 -.2531847 -.2187020 2.3668734 2.4087991 .04532671 .20739590 -.4143176 1.0891330 -1.340376 -2.340475 -1.400969 -.0040836 .55348706 -.5639184 -.3963216 2.3109325 1.7131101 .79647168 .00205424 .35323342 .60638687 -1.030178 -2.051108 -1.016490 -.3870820 -.0005921 .07033424 .53718746 1.1381792 1.0164237 .41366772 .13490364 * d-functions, max 4 functions can be used. 4 4 .76000000 .30200000 .12000000 .04200000 .16447581 -.3507987 .95056374 -1.202445 .55137970 -.6641223 -.6302556 2.0088561 .40011918 .84427608 -.4915171 -1.843133 .04774986 .32424268 .91560359 1.0461602 ************************************************************************ /P.ano.Pierloot.13s10p4d.7s7p4d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 15 * s-functions, max 7 functions can be used. 13 7 77492.429 11605.789 2645.9649 754.97623 248.75468 91.156530 36.225668 15.211316 4.7138230 1.7826948 .34252100 .12463132 .04362096 .00032518 -.0001023 .00002489 -.0000246 .00003013 -.0000743 .00024227 .00252532 -.0007898 .00019245 -.0001945 .00027887 -.0007307 .00096492 .01296084 -.0041200 .00100419 -.0009832 .00110266 -.0026132 .01216502 .05124822 -.0163687 .00401392 -.0041089 .00636913 -.0171621 .01039769 .15611573 -.0536356 .01328425 -.0128280 .01237312 -.0274941 .22168613 .33596028 -.1277233 .03267895 -.0345356 .06267065 -.1779779 -.0737467 .39672816 -.2198337 .05937822 -.0551350 .02231730 -.0211867 1.9380261 .16824218 -.0837116 .02486610 -.0353913 .15760884 -.4571315 -3.975820 .03114760 .53559582 -.2034444 .26369142 -.7706361 2.6438937 3.4499121 .02146835 .58008043 -.3737178 .34291814 .38411716 -3.022896 -1.858683 .00184428 .03786600 .65126598 -1.721175 1.5157394 2.2907699 .74626470 -.0008268 -.0146982 .51781849 1.1328680 -2.946269 -2.049115 -.5103169 .00024929 .00433410 .02005408 .48244842 1.9707805 .88752697 .17514313 * p-functions, max 7 functions can be used. 10 7 384.84336 90.552096 28.805685 10.688374 4.2520977 1.7405277 .59789296 .22921800 .08382797 .02933979 .00371286 -.0008854 .00071307 -.0010713 .00198496 -.0043933 .00371562 .02858920 -.0068121 .00565480 -.0084991 .01138897 -.0251273 .10482803 .12115044 -.0298163 .02387599 -.0358043 .07168491 -.1709425 .16296429 .30149442 -.0753402 .06413837 -.0979857 .11472318 -.2524474 1.4711717 .43396899 -.1172589 .08966118 -.1364186 .37420890 -.7897604 -3.030733 .29126642 -.0649573 .08179338 -.1441674 -.3925024 2.3536908 2.5542912 .03944607 .27314187 -.4026046 1.1107994 -1.179538 -2.547790 -1.525578 -.0046547 .54559533 -.4618146 -.4758868 2.3707210 2.0327876 .92038011 .00217623 .30107521 .49821888 -1.006152 -2.171437 -1.199286 -.4438801 -.0005991 .06159326 .64365420 1.0713580 1.0431752 .45512730 .14636610 * d-functions, max 4 functions can be used. 4 4 1.0360000 .41300000 .16500000 .05775000 .16833905 -.3143713 .80472039 -1.321525 .54500060 -.6835606 -.3366609 2.0935374 .40299879 .81187447 -.7658060 -1.777374 .04784419 .37281291 1.0271865 .92121965 ************************************************************************ /S.ano.Pierloot.13s10p4d.7s7p4d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 16 * s-functions, max 7 functions can be used. 13 7 93413.396 13961.657 3169.9098 902.45634 297.15842 108.70201 43.155299 18.107948 5.5704717 2.1427164 .43399430 .15701692 .05495592 .00030244 -.0000986 .00002485 -.0000249 .00003037 -.0000706 .00023203 .00235969 -.0007648 .00019331 -.0001975 .00028736 -.0006934 .00088327 .01219093 -.0040154 .00101312 -.0010030 .00111246 -.0025262 .01187477 .04837344 -.0159890 .00407193 -.0042136 .00667014 -.0163819 .00848638 .14872569 -.0527652 .01352557 -.0132119 .01238555 -.0272124 .21838143 .32645608 -.1273788 .03398686 -.0362624 .06760550 -.1720752 -.0850586 .39895188 -.2238093 .06265824 -.0592147 .02161390 -.0371457 1.9913015 .18139131 -.0988761 .03168168 -.0425622 .18262318 -.4482095 -4.012883 .03603423 .52952360 -.2185153 .28512116 -.8833737 2.6908438 3.5228876 .02477362 .58699610 -.3910601 .37187776 .52118226 -3.140288 -1.962491 .00233284 .04070765 .66374452 -1.813683 1.3618056 2.4267126 .80080578 -.0009991 -.0146844 .51707047 1.2581469 -2.820149 -2.179334 -.5375850 .00030221 .00434848 .02044077 .40157337 1.9528773 .97112043 .18560244 * p-functions, max 7 functions can be used. 10 7 495.03999 117.22119 37.506558 13.909968 5.5045015 2.2432812 .77617992 .29187047 .10286700 .03600345 .00311875 -.0007999 .00069018 -.0010045 .00180362 -.0039783 .00332702 .02421577 -.0061979 .00560461 -.0081484 .00998874 -.0214361 .09509235 .10595245 -.0280253 .02403047 -.0351400 .06827645 -.1610358 .17109388 .28272734 -.0760997 .07093891 -.1053605 .11439006 -.2554334 1.4732023 .43869699 -.1276894 .10278752 -.1499854 .39829396 -.8167073 -2.983702 .31473136 -.0759688 .10454338 -.1533395 -.4593885 2.3510923 2.5002028 .04594114 .28506713 -.4699045 1.2204445 -.9684237 -2.494083 -1.461745 -.0049572 .55093959 -.4719365 -.8029015 2.1126499 1.9521749 .84544072 .00248469 .30126947 .68464358 -.6688955 -2.115505 -1.190642 -.4085312 -.0006772 .04803268 .47330406 1.0006154 1.1540473 .49390514 .14271222 * d-functions, max 4 functions can be used. 4 4 1.2500000 .50400000 .20300000 .07105000 .19546573 -.4016739 .99750229 -1.179982 .54795286 -.6255475 -.8071848 2.0259542 .38037365 .91828358 -.3289264 -1.889350 .03863999 .24763900 .87967426 1.1031670 ************************************************************************ /Cl.ano.Pierloot.13s10p4d.7s7p4d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 17 * s-functions, max 7 functions can be used. 13 7 105818.82 15872.006 3619.6548 1030.8038 339.90788 124.53810 49.513502 20.805604 6.4648238 2.5254537 .53783215 .19349716 .06772401 .00030088 -.0001008 .00002615 -.0000265 .00003166 -.0000715 .00023307 .00232977 -.0007766 .00020215 -.0002096 .00030139 -.0006936 .00084352 .01200395 -.0040646 .00105460 -.0010568 .00113763 -.0025371 .01190370 .04767388 -.0162047 .00425383 -.0044710 .00701933 -.0163211 .00718535 .14650572 -.0533804 .01407419 -.0138986 .01246032 -.0275269 .21941115 .32284149 -.1293144 .03569705 -.0387558 .07200651 -.1716223 -.0991755 .39830268 -.2277685 .06574573 -.0627185 .01940905 -.0454504 2.0416878 .18514198 -.1055212 .03577769 -.0485623 .20239561 -.4457992 -4.109673 .03908065 .52732620 -.2323657 .30897703 -.9690764 2.7519939 3.6805020 .02732878 .58926880 -.4041007 .39485922 .62510060 -3.270030 -2.102246 .00265779 .04283083 .66719688 -1.884600 1.2486084 2.5507227 .86850535 -.0010655 -.0142461 .52351442 1.3417293 -2.727998 -2.272800 -.5714372 .00032210 .00423885 .02141530 .34453623 1.9386491 1.0271748 .19801553 * p-functions, max 7 functions can be used. 10 7 589.77639 139.84860 44.794920 16.612069 6.5994980 2.7141323 .95279614 .35804401 .12498600 .04374510 .00293393 -.0007964 .00074632 -.0010334 .00194582 -.0037388 .00323560 .02293778 -.0061995 .00608487 -.0082977 .00995304 -.0201912 .08972159 .10200896 -.0285906 .02670982 -.0373785 .07645655 -.1555785 .17953539 .27850180 -.0793268 .08041079 -.1124823 .11813481 -.2623020 1.4798753 .43936620 -.1366825 .12030301 -.1663478 .47053356 -.7814880 -3.035690 .31824231 -.0770651 .11059197 -.1312383 -.6749759 2.3362096 2.5837958 .04761320 .29967959 -.5614517 1.2862180 -.6449575 -2.572716 -1.519641 -.0046048 .54772217 -.3963493 -1.045006 1.8487202 2.0838013 .87264654 .00260299 .29977172 .74669657 -.4043654 -2.039710 -1.340715 -.4274141 -.0006700 .03737279 .38289364 .92379800 1.1971413 .59502235 .15522853 * d-functions, max 4 functions can be used. 4 4 1.5510000 .62800000 .25400000 .08890000 .20266095 -.4301070 1.0668065 -1.117806 .54447101 -.6134587 -.9881785 1.9705270 .37843168 .96114253 -.1476311 -1.904159 .03637670 .19412996 .80660634 1.1696891 ************************************************************************ /Ar.ano.Pierloot.13s10p4d.7s7p4d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 18 * s-functions, max 7 functions can be used. 13 7 118022.38 17683.541 4027.7657 1145.3977 377.16375 138.15969 54.989117 23.170667 7.3778602 2.9236876 .65040462 .23282451 .08148858 .00030792 -.0000877 .00002748 -.0000301 .00004463 -.0000705 .00023148 .00238809 -.0006763 .00021307 -.0002411 .00044706 -.0006391 .00082926 .01232842 -.0035524 .00111116 -.0011964 .00155769 -.0026289 .01189383 .04905183 -.0142200 .00450582 -.0051978 .01066123 -.0146880 .00680905 .15094545 -.0473569 .01486949 -.0156522 .01596869 -.0315283 .22004669 .33160199 -.1164035 .03790408 -.0457422 .11359992 -.1490016 -.1021092 .40793475 -.2112621 .06869121 -.0679919 .00269198 -.1086414 2.0595398 .18574590 -.0946230 .03727290 -.0618034 .35091411 -.2593502 -4.247026 .01260678 .53120504 -.2463814 .37831352 -1.684185 2.3913556 3.9634966 -.0015604 .58727852 -.4102454 .40250734 1.5566143 -3.052724 -2.344698 .00047482 .04420117 .66348374 -2.088790 .30536663 2.7552221 1.0246185 -.0003175 -.0135608 .53673906 1.6895937 -1.879559 -2.829078 -.7051540 .00009758 .00406437 .01933624 .09790609 1.6335757 1.4966125 .26847913 * p-functions, max 7 functions can be used. 10 7 663.06201 157.09281 50.231100 18.635345 7.4465372 3.0956982 1.1064633 .41560102 .14544900 .05090715 .00300047 -.0008500 .00107299 -.0019345 .00372647 -.0014118 .00385228 .02358427 -.0066400 .00878131 -.0110944 .02012616 -.0389467 .07898788 .10542454 -.0309167 .03908418 -.0755876 .15718057 -.0648787 .22958435 .28590850 -.0850804 .11748665 -.1386773 .26001325 -.6940104 1.2281027 .44253997 -.1458168 .17008459 -.4289638 .77264121 1.0623067 -2.847741 .30512211 -.0675804 .13851503 .49130234 -2.311629 -.3720344 2.7196058 .04222394 .32745596 -.9933854 1.0435765 2.3753532 -.5326905 -1.918167 -.0041210 .54750660 .05100334 -1.955515 -1.526528 1.2511044 1.4644498 .00179919 .28626511 .85463482 1.1960311 .38651164 -1.791227 -1.171478 -.0005501 .01046640 .00562153 .01665105 .27490919 1.4777872 .74016206 * d-functions, max 4 functions can be used. 4 4 1.8730000 .76300000 .31100000 .10885000 .21184041 -.4906129 1.3131083 -.8035270 .54179893 -.5809847 -1.577217 1.5997519 .37621504 1.0447677 .49362669 -1.824163 .02755209 .07636694 .45056925 1.3622537 ************************************************************************ /K.ano.Pierloot.17s12p4d.7s6p4d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 19 * s-functions, max 7 functions can be used. 17 7 491258.49 73596.260 16749.085 4743.0646 1546.5723 557.61034 216.63552 88.976603 37.706670 14.622749 6.7469665 3.0346252 .90298592 .37318822 .06155351 .02553669 .01021330 .00005842 -.0000207 .00000435 -.0000010 .00000164 -.0000089 .00000430 .00045381 -.0001607 .00003401 -.0000077 .00001315 -.0000665 .00003197 .00237837 -.0008429 .00017722 -.0000395 .00006615 -.0003696 .00017722 .00992078 -.0035360 .00075221 -.0001711 .00029351 -.0014165 .00067643 .03480238 -.0125704 .00265519 -.0005879 .00097189 -.0054610 .00255915 .10256352 -.0384843 .00837390 -.0019141 .00326796 -.0135848 .00603698 .23961148 -.0980150 .02156418 -.0047068 .00742939 -.0363913 .01429188 .38126993 -.1925852 .04665380 -.0107376 .01770685 -.0301153 .00152170 .29621852 -.2174858 .05565267 -.0112839 .01480930 -.0547416 .00062542 .06375196 .09256514 -.0247979 .00231784 .00460019 .06700469 -.0053092 .02601417 .58909472 -.2772208 .06582098 -.1198318 -.0352794 .09730501 .02795313 .47571709 -.3324677 .05481428 -.0749382 1.2011223 -.5834327 .00130668 .00807837 .50767943 -.0742596 .09938682 -3.350821 1.6806609 -.0001492 -.0511821 .70161851 -.3229976 .64446308 2.7927007 -2.004991 .00000326 -.0017437 .07043030 .09186196 -1.963240 -.4306454 3.2440435 -.0000022 .00060097 -.0596924 .93438734 .95293980 -.6423106 -4.588157 .00000059 -.0001504 .00948955 .06211051 .61563072 .70496631 2.5088258 * p-functions, max 6 functions can be used. 12 6 1189.7405 287.10831 100.91081 38.963165 15.620704 6.3813400 2.6350500 1.0954230 .45742400 .19160900 .06706320 .02347210 .00141380 -.0003330 .00006492 -.0001030 .00026569 -.0005749 .01038087 -.0024926 .00048585 -.0007411 .00250941 -.0023881 .04474237 -.0107684 .00209050 -.0033271 .00833263 -.0206907 .15406934 -.0390656 .00755029 -.0113904 .04065920 -.0398457 .35465661 -.0928555 .01777551 -.0282885 .06909479 -.2108919 .45431722 -.1340162 .02546473 -.0362870 .17159295 -.0313522 .19116706 .03118623 -.0049659 -.0020833 -.1983107 -.3792470 -.0186247 .40666025 -.0685490 .12037081 -.0311631 2.5726092 -.0279053 .49596210 -.0948197 .10952669 -1.389697 -3.699934 -.0146053 .20243950 -.0725824 .41463187 2.6727625 2.5051867 .00018929 .00793367 .20338465 -1.813054 -1.758628 -1.077092 -.0002814 .00119087 .87327808 1.2701316 .61694169 .34729877 * d-functions, max 4 functions can be used. 4 4 .09333000 .03733200 .01493280 .00597300 .50545552 -1.133969 .97707492 -.2792430 .57601816 .89460794 -1.962369 .77772879 .02038626 .42432475 1.8848701 -1.361812 -.0488848 -.1489224 -.3578483 1.5560545 ************************************************************************ /Ca.ano.Pierloot.17s12p4d.7s7p4d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 20 * s-functions, max 7 functions can be used. 17 7 542844.56 81324.557 18507.906 5241.1394 1708.9893 616.18926 239.42854 98.374581 41.714183 16.094079 7.4670486 3.3785876 1.0299133 .42260000 .06783130 .02752130 .01100704 .00005841 -.0000211 .00000685 -.0000015 .00000168 -.0000040 .00000445 .00045377 -.0001637 .00005340 -.0000117 .00001293 -.0000276 .00003190 .00237823 -.0008589 .00027903 -.0000607 .00006896 -.0001726 .00018813 .00991905 -.0036019 .00117888 -.0002590 .00028359 -.0005702 .00067503 .03479574 -.0127995 .00417698 -.0009072 .00104107 -.0027463 .00294084 .10249859 -.0391294 .01303884 -.0028805 .00311564 -.0057374 .00705759 .23924588 -.0993655 .03357530 -.0072985 .00852796 -.0244603 .02555592 .37922037 -.1936687 .07046608 -.0158860 .01668291 -.0237131 .03311773 .29253681 -.2151588 .08285525 -.0179913 .02303530 -.0914786 .08738845 .06468846 .09713469 -.0413350 .00742164 -.0174277 .16250618 -.1356168 .03281779 .56572226 -.3680599 .09616220 -.0875810 -.0727302 -.0621936 .03199147 .41996510 -.3885771 .09549962 -.1461187 .81888116 -.7006657 .00254060 .06391161 .59698724 -.1828193 .32722133 -2.338490 2.6028864 .00098313 .02369149 .64234271 -.4125599 .36853705 1.9343554 -2.675455 .00005600 .00332540 .03054920 .70539294 -2.343793 .21528538 2.6773522 -.0000300 -.0022266 -.0161582 .47715882 2.2431582 -1.863340 -3.596803 .00000915 .00073373 .00502950 -.0170617 -.1303073 1.6668265 2.0480948 * p-functions, max 7 functions can be used. 12 7 1402.4271 338.55939 119.98925 46.809936 18.976191 7.8418350 3.2763530 1.3782930 .58247500 .24694600 .08643110 .03025090 .00127432 -.0004240 .00010198 -.0001083 .00018813 -.0006640 .00079655 .00936449 -.0031609 .00076323 -.0008870 .00197915 -.0026594 .01326604 .04001879 -.0135403 .00326097 -.0034027 .00557656 -.0231819 .02171266 .13890894 -.0489424 .01187257 -.0138978 .03155397 -.0390091 .23517856 .32858814 -.1190773 .02887702 -.0295265 .04521323 -.2288365 .14837834 .44618186 -.1775917 .04384101 -.0560399 .15212192 -.0112304 .99663602 .21822676 -.0069946 -.0020052 .02197499 -.1605925 -.4923062 -3.292956 .01508472 .41010521 -.1153319 .07370106 .11878904 2.7671460 3.7332826 .00741586 .51830550 -.1724895 .35745642 -1.615911 -3.775465 -2.561610 -.0004502 .18538460 -.0890756 -.1320833 2.9002155 2.4060826 1.2335269 .00070335 .00656569 .69200083 -1.309926 -2.127457 -.9689041 -.4438129 -.0002064 .00061610 .45318416 1.3511846 .86987929 .31060477 .13446667 * d-functions, max 4 functions can be used. 4 4 .39250000 .15700000 .06280000 .02512000 .09888404 -.0644803 1.0290531 -1.225211 .35400289 -1.158453 -.5610936 1.9508367 .60583332 .93993886 -.6524638 -1.977800 .09979140 .24451693 .91827402 1.2888192 ************************************************************************ /Sc.ano.Pierloot.17s12p9d4f.8s7p7d4f. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 21 * s-functions, max 8 functions can be used. 17 8 595831.95 89262.932 20314.549 5752.7587 1875.8249 676.36545 262.84903 108.03945 45.845762 17.599193 8.1758057 3.7073193 1.1510335 .46961842 .07344447 .02915210 .01166084 .00006009 -.0000177 .00000596 -.0000014 .00000132 -.0000029 .00000545 -.0000104 .00046681 -.0001379 .00004654 -.0000112 .00001017 -.0000213 .00004016 -.0001176 .00244673 -.0007234 .00024264 -.0000582 .00005386 -.0001208 .00022772 -.0003336 .01020489 -.0030384 .00102866 -.0002484 .00022354 -.0004573 .00086263 -.0029948 .03580846 -.0108266 .00363227 -.0008701 .00081113 -.0018631 .00351277 -.0033980 .10553000 -.0333875 .01141770 -.0027637 .00246473 -.0048775 .00920796 -.0394121 .24664376 -.0862346 .02931475 -.0070072 .00662115 -.0158310 .02987004 -.0060659 .39199778 -.1741551 .06252706 -.0152506 .01330687 -.0241746 .04584989 -.2999516 .30492951 -.2006806 .07257241 -.0171619 .01739689 -.0497363 .09408609 .27122714 .05687780 .11467916 -.0394926 .00822088 -.0128290 .06590135 -.1200352 -1.303348 -.0061768 .60089368 -.3639082 .09571914 -.0756278 .07906535 -.1856408 4.9638413 .00319007 .42199655 -.3426053 .08484905 -.1026203 .39184087 -.7633883 -5.956426 -.0006749 .02591456 .63475994 -.1918562 .25651880 -1.203707 3.1165666 3.9796675 .00057940 -.0103293 .61045513 -.3448764 .24177373 .59264127 -3.145740 -2.000574 -.0001087 .00114430 .03293504 .58912786 -1.202046 2.0088946 2.5183921 .73942302 .00008800 -.0009622 -.0154802 .47056527 .12875424 -3.620658 -2.672381 -.6044501 -.0000308 .00033204 .00537263 .10847722 1.1149353 2.0664074 1.1623959 .21880638 * p-functions, max 7 functions can be used. 12 7 3038.0112 720.01728 233.16928 88.303132 36.833425 16.242200 7.4130356 3.4354580 1.5037911 .64244973 .25790973 .10316389 .00039725 -.0001288 .00003301 -.0000931 .00008260 -.0004911 .00007799 .00343223 -.0011092 .00033649 -.0006367 .00160323 -.0012475 .01010821 .01834045 -.0060164 .00153670 -.0043703 .00374182 -.0238341 .00393294 .07014229 -.0233196 .00715795 -.0131686 .03503811 -.0252843 .24656844 .19215459 -.0668142 .01653799 -.0505143 .03180663 -.3145082 .01051960 .35486760 -.1277110 .04266272 -.0630014 .25111922 .05171262 1.9215496 .38334082 -.1512110 .02529727 -.1611919 -.1064395 -1.363824 -4.684684 .16352875 .04316084 .02411652 .16497334 .60325764 3.9229960 4.7762647 .01071303 .42102933 -.2222181 .13059627 -2.820633 -4.186003 -3.087080 -.0042175 .51075402 .00126022 1.1549316 3.7531820 2.6043175 1.5893542 -.0015597 .16496300 -.4673172 -2.473005 -2.423276 -1.154238 -.6726066 .00000405 .00301061 1.3027911 1.3027167 .81571032 .34349478 .20021871 * d-functions, max 7 functions can be used. 9 7 73.620567 21.791985 7.9345241 3.1906836 1.3459404 .56274452 .22800864 .08530168 .03412067 .00200783 -.0017291 .00227659 -.0028976 .00473914 -.0077558 .03611870 .01458485 -.0127442 .01679043 -.0201964 .03273365 -.0778706 .01187916 .05647112 -.0490419 .06533207 -.0847873 .13840741 -.2771753 1.5792228 .15137363 -.1351418 .18265483 -.2246072 .40546359 -1.088513 -2.428695 .26962446 -.2259392 .29148509 -.3535377 .41687579 2.3294485 2.0158972 .33593168 -.2450678 .15767510 .28529328 -1.834676 -2.100978 -1.226115 .33313266 .05014496 -.6594302 .96346237 1.9951690 1.2614998 .62132900 .19538596 .48794111 -.3984025 -1.666767 -1.346809 -.6160220 -.2827766 .07088863 .47001248 .90831428 1.0608077 .57659338 .22550509 .10123883 * f-functions, max 4 functions can be used. 4 4 1.4591756 .45236770 .14024120 .05609648 .07849586 -.2219224 .53297877 -1.016572 .31856947 -.5945608 .34487745 1.1565458 .53040941 -.1508360 -1.132176 -.9181883 .37189659 .79147054 .90042002 .49708337 ************************************************************************ /Ti.ano.Pierloot.17s12p9d4f.8s7p7d4f. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 22 * s-functions, max 8 functions can be used. 17 8 654125.31 97995.933 22302.012 6315.5811 2059.3549 742.55919 288.60525 118.65832 50.372387 19.281107 9.0193318 4.1177245 1.3063361 .53009179 .08139871 .03171529 .01268612 .00005742 -.0000252 .00000623 -.0000015 .00000130 -.0000032 .00000555 -.0000106 .00044604 -.0001961 .00004864 -.0000114 .00001005 -.0000239 .00004148 -.0001170 .00233782 -.0010282 .00025359 -.0000591 .00005323 -.0001352 .00023031 -.0003516 .00974792 -.0043104 .00107504 -.0002519 .00022093 -.0005126 .00089804 -.0029517 .03418769 -.0152901 .00379738 -.0008839 .00080203 -.0020866 .00352862 -.0038068 .10057976 -.0465641 .01194052 -.0028046 .00243783 -.0054751 .00970280 -.0384175 .23408779 -.1170782 .03069666 -.0071352 .00655959 -.0177574 .02973082 -.0113056 .36715798 -.2233449 .06551934 -.0155078 .01319817 -.0272689 .05002747 -.2889276 .27715599 -.2382184 .07593220 -.0175351 .01725521 -.0557768 .08955719 .23387519 .07127681 .11262009 -.0440433 .00922554 -.0134085 .07582140 -.1042075 -1.217796 .06868144 .59842005 -.3829335 .09836177 -.0759529 .09286343 -.2640598 4.9303809 .05464611 .40763215 -.3393121 .08328293 -.0986579 .43319837 -.6482974 -6.067719 .00307361 .02962772 .64594533 -.1980669 .25398479 -1.367584 2.9716858 4.1092406 -.0000542 -.0055272 .60487430 -.3316394 .22252723 .75136484 -3.036232 -2.048407 .00004949 .00122381 .03217458 .59524717 -1.112944 1.8465290 2.5283684 .75804587 -.0000340 -.0009487 -.0148500 .44878795 .00462969 -3.419022 -2.764364 -.6296677 .00001159 .00033282 .00535552 .12478378 1.1721253 1.9619523 1.2356963 .23456692 * p-functions, max 7 functions can be used. 12 7 3401.4371 806.13331 261.10790 98.941565 41.310264 18.248338 8.3507394 3.8794969 1.7092186 .73240434 .29421660 .11768664 .00039109 -.0001273 .00003342 -.0000914 .00008475 -.0004947 .00001008 .00338300 -.0010983 .00034001 -.0006353 .00152344 -.0009795 .01032020 .01812977 -.0059738 .00156300 -.0043118 .00391241 -.0238391 -.0009458 .06962152 -.0232772 .00728305 -.0132535 .03330986 -.0196103 .25098083 .19178613 -.0671155 .01703792 -.0502034 .03522799 -.3181481 -.0634580 .35608170 -.1294501 .04389292 -.0653418 .23660902 .10595301 2.1019982 .38457824 -.1522449 .02656063 -.1589257 -.0589129 -1.488876 -4.875526 .16242705 .04924894 .02196761 .15937620 .53205946 4.0939795 4.8928697 .00834756 .42750814 -.2244824 .15074736 -2.768511 -4.360088 -3.143825 -.0066813 .50494395 -.0041494 1.1214979 3.7446046 2.7219883 1.6166683 -.0023762 .16150162 -.4459220 -2.459261 -2.433590 -1.213043 -.6858852 -.0000032 .00303373 1.2912918 1.3085058 .82206011 .36248858 .20443457 * d-functions, max 7 functions can be used. 9 7 89.711389 26.626943 9.7884274 3.9700599 1.6927416 .71668337 .29399877 .11087448 .04434979 .00197112 -.0016904 .00249422 -.0031666 .00519756 -.0081067 .03369155 .01476713 -.0128061 .01888873 -.0227615 .03879584 -.0809466 .02413189 .05842935 -.0508483 .07638043 -.1012060 .17367478 -.3413934 1.5635260 .15874066 -.1414324 .21391711 -.2611233 .46224274 -.9235771 -2.547170 .28433796 -.2335643 .30937393 -.3169463 .15846734 2.3188445 2.2300099 .34805899 -.2234439 .08132789 .45486816 -1.620950 -2.302695 -1.402618 .31971181 .10623586 -.7249488 .70447981 2.0104399 1.4742448 .71800094 .17366214 .51835921 -.2047544 -1.574464 -1.468251 -.7437031 -.3249798 .04333103 .41970191 .82546208 1.0973310 .65867253 .27639478 .11554086 * f-functions, max 4 functions can be used. 4 4 2.2004696 .64937640 .19163620 .07665450 .13025610 -.2735430 .56898897 -.9472512 .43210697 -.5634091 .17880600 1.1051590 .54434570 .09430229 -1.052524 -.9471733 .22364132 .72061022 .96085150 .55680947 ************************************************************************ /V.ano.Pierloot.17s12p9d4f.8s7p7d4f. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 23 * s-functions, max 8 functions can be used. 17 8 713920.52 106953.92 24340.670 6892.8997 2247.6124 810.45912 315.02740 129.55408 55.016385 20.974146 9.8721089 4.5345423 1.4656524 .59143123 .08901414 .03411330 .01364532 .00005672 -.0000272 .00000636 -.0000015 .00000130 -.0000034 .00000567 -.0000108 .00044061 -.0002116 .00004972 -.0000115 .00001000 -.0000249 .00004269 -.0001165 .00230942 -.0011096 .00025923 -.0000597 .00005303 -.0001410 .00023469 -.0003604 .00962835 -.0046507 .00109903 -.0002544 .00021990 -.0005352 .00092730 -.0029238 .03376374 -.0164838 .00388256 -.0008938 .00079930 -.0021757 .00358496 -.0040067 .09927114 -.0501116 .01221463 -.0028334 .00242734 -.0057224 .01007586 -.0378847 .23069894 -.1254224 .03142506 -.0072286 .00654877 -.0185330 .03009221 -.0138979 .35996037 -.2368902 .06713939 -.0156849 .01315692 -.0286028 .05277850 -.2831410 .26870735 -.2478720 .07753127 -.0177695 .01722657 -.0580234 .08852512 .21456382 .07549003 .11826298 -.0486455 .01038874 -.0143729 .08147336 -.1008454 -1.173543 .08773647 .60018754 -.3968025 .10049717 -.0763420 .09989962 -.3103184 4.9364855 .06605930 .39609544 -.3303019 .08071716 -.0956309 .44392812 -.5817300 -6.184071 .00382056 .02855073 .65683936 -.2026347 .25414590 -1.417913 2.8892583 4.2141794 -.0001568 -.0050927 .59860019 -.3193896 .20644050 .80328241 -2.958068 -2.072984 .00006672 .00107613 .03097907 .60245710 -1.063188 1.7647544 2.4764624 .75978385 -.0000476 -.0008340 -.0142959 .43163694 -.0537029 -3.318535 -2.744180 -.6375450 .00001660 .00029657 .00528213 .13432835 1.1963807 1.9156529 1.2455669 .24244357 * p-functions, max 7 functions can be used. 12 7 3780.9829 896.06643 290.28429 110.05292 45.987590 20.345649 9.3315700 4.3432708 1.9229696 .82556867 .33173511 .13269404 .00038591 -.0001273 .00003422 -.0000938 .00009984 -.0004675 .00003632 .00334171 -.0011003 .00034661 -.0006780 .00149551 -.0009124 -.0101188 .01795298 -.0059980 .00160711 -.0044331 .00462904 -.0227248 .00209294 .06918508 -.0234754 .00746840 -.0142962 .03274662 -.0180115 -.2453127 .19146385 -.0680213 .01772168 -.0518094 .04589829 -.3039583 .07872976 .35695651 -.1321325 .04537820 -.0735824 .22576023 .08804627 -2.158810 .38498220 -.1540845 .02824839 -.1581137 .00689397 -1.469044 4.9661865 .16126901 .05457673 .01939743 .15083726 .36332440 4.1319453 -4.995410 .00763191 .43278764 -.2283653 .23107115 -2.586645 -4.510374 3.2230391 -.0071034 .49985960 -.0116172 .99543154 3.6790931 2.8906492 -1.658349 -.0025289 .15850743 -.4176743 -2.383308 -2.469185 -1.315001 .70444402 .00000066 .00303620 1.2757515 1.2966858 .85110774 .39628535 -.2101584 * d-functions, max 7 functions can be used. 9 7 104.13047 30.955794 11.442291 4.6671570 2.0003343 .85081394 .34977184 .13171490 .05268596 .00198420 -.0019024 .00259915 -.0034487 .00503879 -.0092900 .03177364 .01511683 -.0146143 .01982710 -.0256635 .04027136 -.0729966 .03753081 .06061251 -.0591720 .08294547 -.1142471 .17666179 -.3905631 1.5468874 .16496622 -.1651004 .23061120 -.3088938 .50954685 -.7946581 -2.596820 .29337236 -.2655149 .31649683 -.2747822 -.0858832 2.2614465 2.3457193 .35196841 -.2056399 -.0348492 .64432757 -1.359017 -2.394363 -1.520086 .31083928 .20037919 -.7191938 .38007456 1.9697492 1.6146968 .79457277 .16150598 .52257676 -.0332512 -1.395400 -1.591190 -.8478436 -.3638815 .03311545 .34104874 .77629662 1.0806998 .76016725 .32264858 .13011619 * f-functions, max 4 functions can be used. 4 4 3.0569420 .91846949 .27595754 .11038302 .15644094 -.3058150 .58242804 -.9360445 .48371363 -.5288468 .09510262 1.1345601 .51393535 .21367999 -1.015280 -1.005152 .17587866 .67064777 .98860726 .59287044 ************************************************************************ /Cr.ano.Pierloot.17s12p9d4f.8s7p7d4f. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 24 * s-functions, max 8 functions can be used. 17 8 775533.34 116184.56 26441.430 7487.8158 2441.6119 880.43284 342.25973 140.78744 59.806218 22.700582 10.739154 4.9585795 1.6294536 .65405592 .09646006 .03641221 .01456488 .00005723 -.0000268 .00000649 -.0000015 .00000129 -.0000034 .00000585 -.0000109 .00044449 -.0002083 .00005073 -.0000115 .00000998 -.0000250 .00004385 -.0001164 .00232981 -.0010919 .00026447 -.0000600 .00005294 -.0001414 .00024094 -.0003690 .00971308 -.0045778 .00112143 -.0002552 .00021939 -.0005373 .00095466 -.0029083 .03406236 -.0162279 .00396186 -.0008974 .00079828 -.0021806 .00367434 -.0042056 .10014559 -.0493929 .01246948 -.0028427 .00242235 -.0057531 .01040231 -.0374765 .23271131 -.1238198 .03209834 -.0072668 .00654919 -.0185794 .03081307 -.0164395 .36276984 -.2347986 .06861654 -.0157481 .01313854 -.0288543 .05485036 -.2781159 .27054473 -.2455006 .07887123 -.0178275 .01719501 -.0578217 .08964880 .19610292 .07471932 .12799885 -.0538008 .01154884 -.0154198 .08386149 -.1048142 -1.122226 .08106241 .60533551 -.4097692 .10192365 -.0768423 .10309780 -.3387043 4.9226437 .06009843 .38641407 -.3194502 .07706611 -.0925176 .43550265 -.5453163 -6.276371 .00331771 .02756042 .66622518 -.2044371 .25411779 -1.397191 2.8520295 4.2971393 -.0000196 -.0046129 .59249526 -.3075083 .19302952 .78468653 -2.907177 -2.083014 .00003765 .00094938 .02994887 .60366374 -1.020574 1.7460469 2.3931362 .75113126 -.0000252 -.0007360 -.0138806 .41816748 -.1082536 -3.287182 -2.656565 -.6335082 .00000876 .00026482 .00523081 .14607905 1.2184815 1.8997985 1.2134293 .24437052 * p-functions, max 7 functions can be used. 12 7 4177.2023 989.94948 320.74221 121.65403 50.872520 22.537366 10.357026 4.8275858 2.1455533 .92228644 .37058761 .14823504 .00038100 -.0001297 .00003484 -.0000970 .00011141 -.0004430 .00001024 .00330212 -.0011218 .00035200 -.0007245 .00147994 -.0009053 -.0097948 .01777846 -.0061254 .00164176 -.0045964 .00520479 -.0216137 .00056844 .06872086 -.0240602 .00762468 -.0154156 .03248028 -.0179021 -.2377482 .19091429 -.0699601 .01827867 -.0539071 .05443411 -.2892254 .05293088 .35707209 -.1366054 .04667827 -.0820875 .21942799 .06517397 -2.128588 .38424958 -.1577220 .02947586 -.1595439 .05906163 -1.433649 4.9663181 .16037947 .05866287 .01720878 .14798968 .21093181 4.1415561 -5.034970 .00962932 .43680727 -.2320701 .30952036 -2.408338 -4.626225 3.2662386 -.0044510 .49530738 -.0153949 .86579980 3.6092030 3.0349969 -1.681152 -.0017155 .15640212 -.3975812 -2.299740 -2.504436 -1.406434 .71453634 .00002215 .00304421 1.2643425 1.2781256 .88151159 .42731762 -.2133394 * d-functions, max 7 functions can be used. 9 7 118.40027 35.240466 13.077625 5.3576501 2.3039322 .98204661 .40349596 .15139348 .06055739 .00200909 -.0021488 .00263953 -.0036623 .00503108 -.0098962 .02987363 .01548956 -.0166653 .02030214 -.0279762 .04154259 -.0676114 .05374679 .06272358 -.0686324 .08671443 -.1254521 .18470900 -.4284681 1.5239073 .17048745 -.1909144 .24074398 -.3474169 .53801410 -.6801969 -2.623448 .30033187 -.2964179 .30678544 -.2198959 -.2866088 2.1863825 2.4233109 .35422867 -.1768480 -.1298175 .76764702 -1.102571 -2.440771 -1.602625 .30423138 .28242088 -.6961601 .11277266 1.8722386 1.7220773 .85081120 .15195942 .51799310 .12251145 -1.218570 -1.658360 -.9444091 -.3948694 .02523259 .26126513 .72556154 1.0560421 .84428121 .37199987 .14291450 * f-functions, max 4 functions can be used. 4 4 4.1272363 1.2495307 .37829840 .15131940 .15668999 -.3026612 .57121527 -.9487507 .50412697 -.5292383 .09450484 1.1358897 .50338434 .25937043 -1.017561 -1.006462 .15839720 .64970002 1.0064037 .59376926 ************************************************************************ /Mn.ano.Pierloot.17s12p9d4f.8s7p7d4f. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 25 * s-functions, max 8 functions can be used. 17 8 838614.74 125635.08 28592.191 8096.8795 2640.2229 952.07110 370.14299 152.29321 64.713882 24.442217 11.611208 5.3854597 1.7961999 .71706245 .10334880 .03849073 .01539629 .00005792 -.0000261 .00000659 -.0000015 .00000134 -.0000034 .00000593 -.0000108 .00044987 -.0002031 .00005146 -.0000116 .00001032 -.0000252 .00004506 -.0001151 .00235803 -.0010649 .00026833 -.0000606 .00005490 -.0001425 .00024427 -.0003683 .00983037 -.0044663 .00113777 -.0002575 .00022679 -.0005407 .00098386 -.0028695 .03447444 -.0158356 .00402010 -.0009070 .00082862 -.0021984 .00371406 -.0042312 .10134751 -.0482729 .01265605 -.0028690 .00250233 -.0057869 .01077567 -.0369388 .23545702 -.1212645 .03259176 -.0073538 .00681269 -.0187565 .03098888 -.0170740 .36667722 -.2311991 .06968177 -.0158888 .01354490 -.0289897 .05761603 -.2734836 .27316873 -.2417084 .07964015 -.0179931 .01792203 -.0582490 .08734639 .18927713 .07310645 .13941442 -.0594801 .01305598 -.0177118 .08864045 -.0999732 -1.111359 .07171323 .61168014 -.4211787 .10367563 -.0789809 .10155722 -.3847827 4.9525096 .05263890 .37654442 -.3065799 .07410552 -.0950542 .43883669 -.4774843 -6.388653 .00246757 .02489214 .67855473 -.2092218 .27209632 -1.417329 2.7744038 4.3886279 -.0000728 -.0053970 .58378855 -.2974562 .17679116 .82745647 -2.831395 -2.099546 .00000003 .00077651 .02759718 .62010685 -1.079272 1.6423598 2.3278050 .75095493 .00000162 -.0006156 -.0130718 .41369673 .03479416 -3.216088 -2.630580 -.6424282 -.0000009 .00022408 .00493712 .13010689 1.1377189 1.9188567 1.2312329 .25347229 * p-functions, max 7 functions can be used. 12 7 4590.5190 1087.8824 352.51409 133.75729 55.970423 24.826081 11.428327 5.3330131 2.3770430 1.0224283 .41080326 .16432131 .00037715 -.0001312 .00003594 -.0001003 .00013157 -.0004133 .00010659 .00327126 -.0011362 .00036074 -.0007665 .00141906 -.0008296 -.0100298 .01764583 -.0062135 .00169903 -.0047631 .00621908 -.0201063 .00566809 .06839273 -.0244880 .00784964 -.0164379 .03109933 -.0163346 -.2422936 .19064458 -.0714333 .01909734 -.0561230 .06947198 -.2687080 .13765595 .35750456 -.1401369 .04828872 -.0895208 .19777364 .06059303 -2.312372 .38377277 -.1602620 .03145694 -.1614658 .15453320 -1.440998 5.1580676 .15936984 .06295882 .01393116 .14706821 -.0219268 4.1889303 -5.162554 .01062404 .44137971 -.2368504 .38434122 -2.141327 -4.785934 3.3330433 -.0029925 .49132116 -.0234955 .73445012 3.4759128 3.2342731 -1.714743 -.0012649 .15294265 -.3646189 -2.214795 -2.509619 -1.539525 .73195483 .00003735 .00303576 1.2456514 1.2646849 .90355150 .47417261 -.2192820 * d-functions, max 7 functions can be used. 9 7 133.76344 39.855580 14.842291 6.1043204 2.6334654 1.1254205 .46283239 .17348366 .06939346 .00201130 -.0017084 .00267915 -.0035097 .00500764 -.0097868 .03112036 .01567022 -.0134874 .02069035 -.0278988 .04252775 -.0579875 .02518943 .06409818 -.0553063 .08933007 -.1215144 .18629101 -.4156381 1.5769096 .17410773 -.1555791 .24607470 -.3538281 .58827463 -.6926128 -2.663211 .30417346 -.2482858 .32935168 -.2406358 -.3641435 2.2153221 2.4399569 .35270248 -.1819295 -.0894931 .70354360 -1.062520 -2.502079 -1.610709 .29737317 .20530572 -.6007609 .30735513 1.8403118 1.7855844 .85610532 .14783720 .42426317 -.2257052 -1.334576 -1.561110 -.9786969 -.3966510 .03441840 .46409351 .83600384 .98704959 .72785840 .37709614 .14207307 * f-functions, max 4 functions can be used. 4 4 4.9335243 1.5161802 .46595541 .18638216 .15254933 -.3174537 .58952224 -.9433029 .50262587 -.5348640 .05061644 1.1578305 .49770206 .28395092 -.9881180 -1.049562 .16669833 .62401464 1.0064282 .62350044 ************************************************************************ /Fe.ano.Pierloot.17s12p9d4f.8s7p7d4f. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 26 * s-functions, max 8 functions can be used. 17 8 906706.97 135836.13 30913.755 8754.3148 2854.6062 1029.3965 400.23829 164.71075 70.017515 26.393494 12.575027 5.8503106 1.9762852 .78703843 .11246274 .04124385 .01649754 .00006099 -.0000182 .00000662 -.0000015 .00000133 -.0000037 .00000581 -.0000107 .00047373 -.0001416 .00005171 -.0000117 .00001023 -.0000276 .00004469 -.0001134 .00248319 -.0007423 .00026962 -.0000608 .00005435 -.0001559 .00023801 -.0003632 .01035568 -.0031218 .00114327 -.0002582 .00022488 -.0005929 .00098183 -.0028266 .03634182 -.0111196 .00404029 -.0009103 .00082019 -.0024061 .00359647 -.0041777 .10707468 -.0344255 .01272507 -.0028777 .00248390 -.0063544 .01084965 -.0363731 .24999725 -.0891117 .03279986 -.0073922 .00674713 -.0205418 .02972880 -.0169624 .39477472 -.1812635 .07020152 -.0159565 .01348615 -.0319673 .05931574 -.2693360 .30300892 -.2037637 .08013125 -.0181041 .01767758 -.0636028 .07960669 .18774572 .05322214 .15452989 -.0631099 .01400365 -.0179652 .09843930 -.0789504 -1.126982 -.0119123 .62043525 -.4289273 .10476136 -.0799526 .11734868 -.4358656 5.0123784 .00136286 .37378090 -.2968508 .07156953 -.0895930 .47061122 -.3923360 -6.508812 -.0009400 .02177677 .68529300 -.2104275 .26304511 -1.566415 2.6530652 4.4886402 .00065732 -.0071245 .57917981 -.2896252 .17698708 .97365353 -2.748779 -2.130526 -.0001031 .00059638 .02712350 .61528615 -1.045931 1.4971281 2.3527093 .75785163 .00008302 -.0005006 -.0126665 .41019784 -.0173368 -3.036034 -2.733425 -.6539896 -.0000308 .00018404 .00489881 .13874197 1.1596331 1.8304778 1.3114394 .26312569 * p-functions, max 7 functions can be used. 12 7 5020.9705 1189.8748 385.60324 146.36388 61.281634 27.211761 12.545738 5.8603744 2.6194188 1.1281237 .45272171 .18108869 .00037505 -.0001294 .00003795 -.0001047 .00014877 -.0003838 .00025247 .00325518 -.0011222 .00037647 -.0008197 .00132294 -.0008017 -.0104641 .01759003 -.0061476 .00180021 -.0049861 .00708291 -.0186064 .01213653 .06834385 -.0243092 .00822264 -.0177038 .02889995 -.0158664 -.2499886 .19110177 -.0711956 .02043133 -.0589520 .08267285 -.2484843 .24581957 .35918008 -.1403589 .05067734 -.0983871 .16999134 .05202681 -2.534184 .38460706 -.1592460 .03490195 -.1658127 .25532598 -1.435755 5.3848965 .15778189 .06847733 .00923192 .14694801 -.2566890 4.2156992 -5.319126 .00773995 .44534958 -.2452254 .48415513 -1.862152 -4.921826 3.4247914 -.0058336 .48752147 -.0372251 .55456161 3.3367576 3.4168476 -1.765429 -.0021476 .15002478 -.3128037 -2.093508 -2.530975 -1.668536 .75778184 .00002606 .00301701 1.2156204 1.2469635 .93970914 .52244867 -.2283704 * d-functions, max 7 functions can be used. 9 7 145.81692 43.474022 16.210833 6.6818934 2.8800526 1.2247972 .49861638 .18429552 .07371821 .00211406 -.0021303 .00283356 -.0037779 .00490158 -.0103610 .03141906 .01651630 -.0167563 .02208498 -.0308955 .04361849 -.0453982 .00810963 .06766020 -.0693966 .09535278 -.1320189 .18381686 -.4282152 1.5977322 .18172248 -.1923218 .26462165 -.4028332 .64494633 -.5841853 -2.671009 .31012418 -.2984978 .31341311 -.1516339 -.6816616 2.0890827 2.4391911 .35083535 -.1576863 -.2345138 .87652200 -.5954262 -2.497311 -1.621484 .29129592 .30807574 -.6116586 -.1438564 1.5741114 1.9091635 .88092516 .14624385 .48638278 .10431111 -1.011072 -1.611350 -1.150589 -.4267998 .02970120 .28072431 .71315798 .97799449 .86755691 .48594439 .16074965 * f-functions, max 4 functions can be used. 4 4 5.6161892 1.7414540 .53998574 .21599430 .15428661 -.3476290 .63814024 -.9062497 .50949360 -.5370519 -.0690245 1.1659517 .49265380 .35959901 -.8878813 -1.126566 .15886920 .55752474 .99551807 .70394437 ************************************************************************ /Co.ano.Pierloot.17s12p9d4f.7s7p7d4f. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 27 * s-functions, max 7 functions can be used. 17 7 976441.49 146283.40 33291.377 9427.6297 3074.1706 1108.5937 431.06577 177.43445 75.453925 28.370691 13.549276 6.3200524 2.1596575 .85749674 .12099791 .04376480 .01750592 .00005381 -.0000258 .00002355 -.0000015 .00000131 -.0000040 .00000590 .00041796 -.0002007 .00018328 -.0000117 .00001009 -.0000299 .00004623 .00219070 -.0010532 .00095971 -.0000610 .00005350 -.0001681 .00024009 .00912998 -.0043989 .00403401 -.0002591 .00022175 -.0006455 .00102430 .03199716 -.0155356 .01428443 -.0009138 .00080717 -.0025878 .00359583 .09387234 -.0464395 .04380641 -.0028874 .00245194 -.0069482 .01145955 .21694270 -.1126539 .11032044 -.0074261 .00664178 -.0220347 .02932339 .33242720 -.1949107 .21464037 -.0160104 .01334947 -.0353811 .06443413 .23894252 -.1780806 .22586868 -.0181400 .01729786 -.0670317 .07229344 .08908404 .05701117 -.1495609 .01497317 -.0181683 .10325761 -.0535772 .12006167 .16590660 -.7344540 .10556287 -.0805587 .14868502 -.5441213 .07549996 .07543827 -.4521736 .06827727 -.0833908 .46862859 -.2214690 .07527980 .46035259 .51183101 -.2100623 .25352241 -1.663163 2.4714138 .05698730 .36409753 .43986537 -.2819779 .17502379 1.0787179 -2.633560 .00271598 .01726529 .01963956 .61057652 -1.016548 1.3820553 2.3452964 -.0012824 -.0083093 -.0089062 .41374973 -.0565450 -2.887437 -2.791106 .00050538 .00320279 .00357443 .13817803 1.1766340 1.7572195 1.3663373 * p-functions, max 7 functions can be used. 12 7 5468.5843 1295.9327 420.01172 159.47474 66.806703 29.694821 13.709114 6.4089207 2.8708015 1.2372753 .49602526 .19841011 .00037219 -.0001311 .00003900 -.0001080 .00016211 -.0003762 .00005552 .00323240 -.0011382 .00038549 -.0008525 .00128047 -.0013266 -.0095953 .01749318 -.0062429 .00185418 -.0051537 .00776599 -.0184704 .00120803 .06811422 -.0247496 .00845208 -.0184919 .02791889 -.0287547 -.2305428 .19095622 -.0726626 .02118967 -.0611624 .09257079 -.2430913 .09062323 .35951596 -.1437020 .05232976 -.1039380 .15603308 -.0668019 -2.223163 .38386233 -.1615375 .03656127 -.1721314 .32490944 -1.126777 5.1685325 .15685101 .07220997 .00664268 .15348643 -.4467231 3.9083218 -5.379806 .00908275 .44858684 -.2526418 .54886877 -1.621470 -4.811421 3.6316436 -.0040502 .48404945 -.0380395 .42831139 3.2008793 3.4556959 -1.936777 -.0016069 .14768866 -.2893525 -2.003259 -2.525402 -1.732879 .84822402 .00004451 .00298173 1.2009135 1.2272487 .95815594 .55111994 -.2579109 * d-functions, max 7 functions can be used. 9 7 159.62855 47.623507 17.788425 7.3487739 3.1679947 1.3441004 .54402906 .19934594 .07973837 .00217672 -.0022864 .00285240 -.0038624 .00521521 -.0107919 .02752891 .01707973 -.0180760 .02245120 -.0325102 .04576101 -.0405380 .02901964 .07019299 -.0752559 .09675494 -.1367365 .20238372 -.4623474 1.5634733 .18711842 -.2071923 .26948111 -.4289131 .67023442 -.4533155 -2.665353 .31432834 -.3087929 .30382671 -.0983202 -.8628951 1.9415486 2.4698722 .35012068 -.1291789 -.2813258 .91019361 -.3253472 -2.449486 -1.667128 .28731309 .33730026 -.5760459 -.2726376 1.3834342 1.9670240 .92178060 .14161664 .46917057 .14495827 -.9014079 -1.558825 -1.252346 -.4577557 .02708533 .26218358 .69803189 .93836681 .87962453 .55119810 .17658971 * f-functions, max 4 functions can be used. 4 4 6.3680078 1.9927409 .62358848 .24943539 .16078666 -.3677443 .66446681 -.8849029 .51879214 -.5240603 -.1385800 1.1754245 .48145191 .39894847 -.8287752 -1.173169 .15247452 .52682076 .98373449 .74711345 ************************************************************************ /Ni.ano.Pierloot.17s12p9d4f.7s7p7d4f. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 28 * s-functions, max 7 functions can be used. 17 7 1048516.6 157081.28 35748.786 10123.539 3301.1035 1190.4502 462.93093 190.58943 81.077631 30.412305 14.550885 6.8013480 2.3483220 .92972800 .12949200 .04623100 .01849240 .00005723 -.0000286 .00000687 -.0000015 .00000130 -.0000042 .00000564 .00044450 -.0002227 .00005366 -.0000117 .00001005 -.0000314 .00004424 .00233003 -.0011674 .00027985 -.0000608 .00005331 -.0001764 .00022896 .00971168 -.0048956 .00118651 -.0002582 .00022091 -.0006764 .00098112 .03405384 -.0173419 .00419502 -.0009117 .00080454 -.0027169 .00342439 .10002090 -.0527828 .01321519 -.0028790 .00244328 -.0072788 .01099010 .23187433 -.1319391 .03410978 -.0074207 .00662581 -.0231624 .02785542 .35809132 -.2488170 .07299970 -.0159828 .01330916 -.0370506 .06205515 .26236997 -.2532070 .08282685 -.0181312 .01722040 -.0704681 .06757342 .08019811 .15740327 -.0731550 .01601082 -.0189501 .11174096 -.0474095 .09457882 .61782909 -.4496318 .10611790 -.0807437 .15456563 -.5260568 .06241829 .35065304 -.2783705 .06555158 -.0803249 .49361733 -.2286149 .00290144 .02240032 .69847981 -.2113994 .25143465 -1.764292 2.4187998 -.0000877 -.0043346 .56855062 -.2744516 .16868945 1.1807328 -2.579270 -.0000026 .00056568 .02541647 .61294937 -.9980215 1.2696664 2.3503803 .00000339 -.0004455 -.0119240 .40818300 -.0735924 -2.750835 -2.852914 -.0000016 .00016680 .00471185 .14082512 1.1817831 1.6940715 1.4200416 * p-functions, max 7 functions can be used. 12 7 5933.6255 1406.1190 455.75999 173.09765 72.548921 32.276770 14.919255 6.9792340 3.1317910 1.3504010 .54082600 .21633040 .00037167 -.0001271 .00004117 -.0001103 .00016602 -.0003455 .00033117 .00322970 -.0011043 .00040229 -.0008782 .00124307 -.0008761 -.0104252 .01750398 -.0060673 .00196202 -.0052740 .00796042 -.0167969 .01615829 .06829583 -.0241282 .00884889 -.0191513 .02717787 -.0179767 -.2508213 .19196068 -.0711290 .02260243 -.0628982 .09628406 -.2235791 .32245532 .36201606 -.1413257 .05482285 -.1086107 .14716653 .01223864 -2.698900 .38552196 -.1577277 .04016450 -.1753834 .36474513 -1.348991 5.5828536 .15481577 .07805793 .00136871 .16190470 -.5557083 4.1583791 -5.507289 .00355468 .45148357 -.2615875 .59037543 -1.475947 -5.033280 3.5667952 -.0096561 .48077266 -.0498997 .33070585 3.1206478 3.6247701 -1.847691 -.0033089 .14560009 -.2392003 -1.934957 -2.533518 -1.832968 .79855722 .00001201 .00296830 1.1705384 1.2270821 .97914508 .58761391 -.2424708 * d-functions, max 7 functions can be used. 9 7 174.16516 51.992632 19.451700 8.0521040 3.4719070 1.4703570 .59233100 .21544200 .08617680 .00222769 -.0024823 .00283240 -.0039510 .00544550 -.0112575 .03036908 .01755001 -.0196861 .02243367 -.0334489 .04499177 -.0340543 .00747112 .07234672 -.0824084 .09677841 -.1401699 .20940120 -.4666953 1.5911537 .19160536 -.2257871 .27164942 -.4517401 .68265537 -.4013782 -2.685803 .31760951 -.3257838 .28294319 -.0456656 -.9820530 1.8672693 2.4782341 .34861133 -.1015284 -.3314484 .92852625 -.1286249 -2.418885 -1.671718 .28322993 .37922782 -.5335524 -.3888575 1.2386437 1.9995604 .92870370 .14007639 .45423706 .20897341 -.7919071 -1.525443 -1.322706 -.4680421 .02618769 .21751231 .67641046 .90881491 .89905364 .60135268 .18388591 * f-functions, max 4 functions can be used. 4 4 7.1638223 2.2546869 .70962297 .28384919 .16263193 -.3750230 .67735408 -.8762577 .52134208 -.5212318 -.1704553 1.1802802 .47728424 .41628119 -.8005502 -1.195024 .15086338 .51250484 .97636731 .76848514 ************************************************************************ /Cu.ano.Pierloot.17s12p9d4f.8s8p8d4f. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 29 * s-functions, max 8 functions can be used. 17 8 1123002.3 168240.34 38288.399 10842.728 3535.6292 1275.0472 495.86540 204.18880 86.894504 32.522758 15.581754 7.2947696 2.5424472 1.0038419 .13797997 .04865692 .01946277 .00006145 -.0000185 .00000705 -.0000014 .00000136 -.0000055 .00000572 -.0000113 .00047732 -.0001438 .00005511 -.0000112 .00001051 -.0000423 .00004737 -.0001102 .00250209 -.0007536 .00028739 -.0000582 .00005554 -.0002286 .00022648 -.0004263 .01043364 -.0031709 .00121845 -.0002471 .00023143 -.0009259 .00108032 -.0026381 .03661524 -.0112912 .00430811 -.0008721 .00083690 -.0034670 .00326397 -.0055547 .10784993 -.0350066 .01357098 -.0027559 .00256607 -.0102186 .01264290 -.0332069 .25159030 -.0906337 .03502560 -.0071018 .00687721 -.0287220 .02451422 -.0321826 .39576143 -.1846425 .07489909 -.0153147 .01406429 -.0555602 .07857854 -.2369835 .30130490 -.2044648 .08456814 -.0172840 .01758367 -.0780540 .03677268 .07449374 .05143264 .17558774 -.0783832 .01605306 -.0193065 .09701011 .06446571 -.6961453 -.0129796 .62576702 -.4609703 .10234308 -.0887630 .37894124 -.9377494 4.4140140 .00145565 .34722206 -.2688938 .05912520 -.0745083 .35788394 .49587775 -6.368055 -.0013175 .02453754 .70398153 -.1989938 .25437536 -2.077361 1.5690198 4.7696172 .00040266 -.0017125 .56298608 -.2603487 .17091768 1.5939304 -2.066876 -2.358111 -.0001088 .00059860 .02539416 .56784084 -.9705538 .81169065 2.4353149 .94306720 .00008330 -.0004381 -.0119274 .39319447 -.1766147 -2.143972 -3.211071 -.8936463 -.0000319 .00016680 .00479230 .20573843 1.2161504 1.3708760 1.6634118 .39273807 * p-functions, max 8 functions can be used. 12 8 6416.1275 1520.4419 492.85084 187.23370 78.508757 34.957823 16.176254 7.5713696 3.4024548 1.4675537 .58714218 .23485687 .00036896 -.0001303 .00004471 -.0001138 .00018237 -.0003253 .00000244 -.0033975 .00320768 -.0011324 .00043029 -.0008935 .00109709 -.0018129 .00898063 .01591938 .01740606 -.0062271 .00213568 -.0054308 .00864253 -.0164683 -.0001387 -.1793450 .06803207 -.0248097 .00948720 -.0195233 .02380024 -.0404782 .22243205 .38592444 .19160374 -.0732388 .02479139 -.0649420 .10676942 -.2194544 -.0479322 -2.970219 .36171945 -.1457569 .05867270 -.1103345 .11140162 -.1883142 2.1360590 5.5546341 .38405261 -.1611817 .04636856 -.1918464 .48954141 -.8237394 -5.147025 -5.600534 .15431239 .08061974 -.0051332 .17279588 -.8302879 3.5999843 5.5332930 3.9047931 .00679142 .45375578 -.2840438 .67982709 -1.133618 -4.743634 -3.892816 -2.146949 -.0059293 .47788917 -.0537613 .14689112 2.9148849 3.5875884 2.1643078 1.0271312 -.0021851 .14400215 -.1768955 -1.799559 -2.515156 -1.889461 -.9821209 -.4281946 .00003863 .00295708 1.1292763 1.2118112 1.0038559 .62162297 .30498691 .12934403 * d-functions, max 8 functions can be used. 9 8 189.35533 56.559847 21.192061 8.7882397 3.7900670 1.6026653 .64303656 .23235539 .09294216 .00227330 -.0027776 .00324621 -.0042131 .00683953 -.0124083 .02723530 -.1267182 .01797865 -.0221496 .02670598 -.0375962 .04685376 -.0190551 .02384702 1.6624538 .07430220 -.0930647 .11236422 -.1531653 .27431678 -.5330516 1.5410552 -2.019944 .19566510 -.2540487 .33091949 -.5198679 .68111750 -.0609499 -2.679646 1.5920290 .32061863 -.3529008 .25810885 .19261153 -1.392769 1.3934828 2.5577187 -1.019420 .34827259 -.0579833 -.5437476 .89045226 .65486766 -2.164543 -1.805016 .55960394 .28083487 .44487091 -.4016618 -.8153262 .55015061 2.0850376 1.0663740 -.2727045 .13664795 .43791429 .47853170 -.2870487 -1.252435 -1.636271 -.5870713 .12667155 .01997332 .11930492 .44054684 .78748585 .94289303 .86239427 .25219747 -.0486142 * f-functions, max 4 functions can be used. 4 4 8.0537236 2.5426794 .80276139 .32110456 .17533646 -.4223988 .73582890 -.8047212 .54971430 -.4911042 -.3531949 1.1441547 .46465349 .54684146 -.5974652 -1.267648 .10902639 .39739510 .93063805 .89151877 ************************************************************************ /Zn.ano.Pierloot.17s12p9d4f.8s8p8d4f. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 30 * s-functions, max 8 functions can be used. 17 8 1199478.9 179697.65 40895.878 11581.135 3776.4226 1361.9075 529.68448 218.15748 92.872654 34.681151 16.631092 7.7951644 2.7403973 1.0788920 .14607167 .05092587 .02037035 .00006267 -.0000146 .00000743 -.0000016 .00000245 -.0000063 .00000448 -.0000106 .00048678 -.0001137 .00005799 -.0000125 .00001848 -.0000481 .00004502 -.0001032 .00255165 -.0005960 .00030261 -.0000655 .00010119 -.0002622 .00015848 -.0003809 .01064174 -.0025140 .00128196 -.0002774 .00040187 -.0010482 .00110328 -.0024987 .03735473 -.0089847 .00453753 -.0009824 .00154494 -.0039967 .00194942 -.0048571 .11012060 -.0282212 .01427753 -.0030920 .00438317 -.0114697 .01394063 -.0312571 .25734045 -.0747873 .03691731 -.0080160 .01299152 -.0335761 .01011545 -.0282106 .40682800 -.1596657 .07872166 -.0171577 .02307669 -.0610992 .09984902 -.2215849 .31270353 -.1842408 .08879690 -.0195854 .03683240 -.0946179 -.0531369 .08733899 .03937555 .18432803 -.0870036 .01972101 -.0549321 .13324176 .36680411 -.7917802 -.0520053 .61882730 -.4782277 .11447061 -.1187524 .38772220 -1.682135 4.4672321 -.0194482 .33452359 -.2674643 .06610483 -.2103352 .51718597 1.8550479 -6.329021 -.0032812 .03489871 .71776818 -.2328959 .72642821 -2.792566 -.4230715 4.6868086 .00012360 .00732322 .55395916 -.2847673 -.1455345 2.5956760 -.4818921 -2.309652 -.0001509 .00081395 .01882248 .75475765 -1.730301 -1.062670 1.5729251 1.1294594 .00011300 -.0005505 -.0100690 .38709902 1.8418573 .19842280 -3.131218 -1.453116 -.0000431 .00020553 .00363279 -.0031977 -.1276545 .45227064 2.2953869 .87970717 * p-functions, max 8 functions can be used. 12 8 6916.4468 1638.9852 531.31141 201.89326 84.690620 37.740000 17.481012 8.1857285 3.6827596 1.5885619 .63498701 .25399480 .00036542 -.0001364 .00004168 -.0001131 .00016873 -.0003265 .00031811 -.0037219 .00317841 -.0011871 .00040423 -.0009066 .00123231 -.0009443 -.0101301 .02208148 .01726576 -.0065301 .00199444 -.0054282 .00812088 -.0159089 .01540498 -.2012465 .06758790 -.0260566 .00894394 -.0199089 .02710067 -.0199063 -.2447369 .51808113 .19066798 -.0769271 .02323058 -.0652280 .09932074 -.2114986 .31657648 -3.204027 .36022207 -.1532252 .05572170 -.1143222 .14610387 -.0181292 -2.703762 5.5353452 .38135196 -.1678065 .04190615 -.1829809 .39578772 -1.278201 5.6217913 -5.213914 .15455233 .08198239 -.0042004 .17931907 -.6829750 4.0998939 -5.583062 3.4598825 .01339065 .45859667 -.2613015 .64296385 -1.284599 -5.063177 3.6373915 -1.851905 .00117390 .47692707 -.0582488 .19693560 3.0078448 3.7083118 -1.885890 .87235670 -.0000645 .13711820 -.1999761 -1.834568 -2.541049 -1.907242 .81573703 -.3605828 .00007511 .00173292 1.1474226 1.2061966 1.0082345 .62001697 -.2485429 .10878738 * d-functions, max 8 functions can be used. 9 8 205.67236 61.467979 23.065834 9.5818327 4.1345719 1.7471912 .69928790 .25157190 .10062876 .00234859 -.0031803 .00321031 -.0044512 .00768777 -.0123882 .02793582 -.1276521 .01865181 -.0253925 .02657904 -.0384449 .04587156 -.0119790 .01993754 1.6664776 .07731841 -.1080342 .11285597 -.1649407 .31419388 -.5310989 1.5405471 -2.025469 .20286979 -.2939527 .34537213 -.5467576 .65729323 .08009792 -2.681780 1.5946248 .32943303 -.3792358 .17465275 .30857452 -1.600166 1.1085437 2.5650302 -1.017082 .35469539 .03693332 -.6210662 .85877315 1.1299743 -1.914296 -1.820778 .55529710 .27292675 .52844394 -.2535355 -1.046890 .04881971 2.0192071 1.0964433 -.2702584 .11252993 .35331522 .62916272 .08026821 -.9548519 -1.790234 -.6375325 .12767939 .00657270 .03868395 .31970343 .62933797 .89203165 1.0652408 .29776031 -.0507497 * f-functions, max 4 functions can be used. 4 4 9.0155206 2.8534053 .90310055 .36124022 .17854304 -.3892248 .70569210 -.8487623 .54595473 -.4988302 -.2535897 1.1727569 .45911172 .49085819 -.7143005 -1.234484 .12087716 .46411602 .95935485 .82550871 ************************************************************************ /Ga.ano.Pierloot.17s15p9d.9s9p5d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 31 * s-functions, max 9 functions can be used. 17 9 468114.70 67631.201 19432.178 6630.4155 2423.3602 916.69354 353.63986 138.11156 54.381776 21.535992 8.5641840 3.4163650 1.3661130 .54730400 .21959800 .08821800 .03547600 .00022079 -.0000897 .00003773 -.0000064 .00000618 -.0000089 .00001246 -.0000276 .00007121 .00154746 -.0006308 .00026470 -.0000446 .00004314 -.0000612 .00008551 -.0002164 .00040030 .00542675 -.0022084 .00093325 -.0001583 .00015380 -.0002255 .00031447 -.0006125 .00207606 .01890022 -.0078080 .00328279 -.0005531 .00053339 -.0007455 .00104382 -.0029142 .00399934 .05932955 -.0248455 .01063777 -.0018136 .00176395 -.0026056 .00363303 -.0066483 .02608691 .16352156 -.0730167 .03157877 -.0053650 .00517174 -.0071956 .01009965 -.0293554 .03834300 .34829921 -.1771531 .08152310 -.0142264 .01386369 -.0206552 .02885661 -.0499702 .22425846 .38211826 -.2771064 .13825324 -.0245010 .02355298 -.0318208 .04508171 -.1598820 .10323738 .11468546 -.0234886 .01436526 -.0033179 .00384040 -.0115451 .01460301 .13278987 .27436915 .06495193 .61926406 -.5438207 .11721059 -.1169778 .19020823 -.2763757 .30689188 -3.466216 .04512617 .38402705 -.4708486 .10937769 -.1025222 .09887829 -.1348878 1.2973502 6.4894528 .00149181 .07669963 .66076912 -.2079189 .20155668 -.1941000 .38849527 -5.034836 -6.537414 .00649741 .10164445 .62398982 -.3365071 .41501904 -1.103053 1.7826049 7.1588849 4.8071144 -.0013532 -.0050014 .05014155 -.0705761 -.0252504 1.6711371 -5.251358 -6.261852 -3.009159 .00095943 .00712768 .00394894 .58894520 -1.494390 .76459179 6.5239693 4.1567668 1.6893093 -.0004577 -.0034482 -.0022930 .53553452 .53177227 -3.015909 -4.881800 -2.142554 -.7946416 .00013321 .00101204 .00075265 .07501134 .90211677 1.9819482 1.8788244 .65652686 .23016080 * p-functions, max 9 functions can be used. 15 9 5732.1665 1398.1126 512.64832 208.14235 88.025151 37.993194 16.590654 7.2976480 3.2255970 1.4305820 .63604600 .28331500 .12637700 .05643600 .02522500 .00057911 -.0002284 .00003467 -.0000404 .00004698 -.0000797 .00009617 -.0001718 .00066062 .00428529 -.0016995 .00025748 -.0003016 .00033496 -.0005111 .00078961 -.0022006 .00170992 .01823950 -.0072906 .00110957 -.0012902 .00151463 -.0026163 .00302861 -.0047955 .02449086 .06902220 -.0282553 .00429907 -.0050360 .00557565 -.0084499 .01315805 -.0376716 .03179009 .19989591 -.0851109 .01306413 -.0151921 .01779035 -.0306442 .03583874 -.0601306 .30286694 .39589766 -.1799119 .02776937 -.0325988 .03573769 -.0532303 .08880631 -.2731917 .12324975 .38296075 -.1658926 .02557201 -.0296282 .03831012 -.0783559 .06353811 .08676636 .64044841 .10873642 .18883889 -.0371203 .04220842 -.0571623 .13597445 -.1024023 -.0948920 -3.399205 .01222073 .51509328 -.0965133 .11747027 -.1098193 .09587670 -.4307189 2.3871336 5.0162471 .00600678 .37921899 -.0881253 .10662841 -.2181548 .74007852 -.4902023 -4.919867 -4.492813 .00119911 .08109375 .01808525 .01406959 .12122910 -1.589916 3.2886137 5.2229166 3.2164151 .00001474 .00270974 .21281776 -.5938427 .99981770 -.2262174 -5.187828 -4.160519 -2.081890 .00003401 .00083907 .42115394 -.2447567 -.1598389 2.6823371 5.0071711 2.8063753 1.2357528 -.0000149 -.0000995 .27732835 -.0678851 -1.794266 -2.938338 -3.275146 -1.501119 -.6143820 .00000477 .00005254 .26049963 .96082458 1.4685561 1.2793972 1.1536802 .47640477 .18902317 * d-functions, max 5 functions can be used. 9 5 210.95348 64.416542 24.838599 10.152817 4.2479350 1.7981880 .76628000 .32790500 .14070700 .00274777 -.0007102 .00099954 -.0004980 .00573037 .02005518 -.0055172 .00752593 -.0139325 -.0092312 .08194720 -.0212568 .02990993 -.0142288 .16791324 .22593043 -.0632157 .08428069 -.1725195 -.1438169 .35864811 -.0892333 .13548259 .00883847 1.6183935 .35351387 -.1142040 .14663089 -.9990101 -2.762899 .22462318 .00122266 .12003935 2.5384576 2.0547681 .07016622 .21440919 -1.593897 -2.204774 -1.044475 .00717104 .82416296 1.2905789 .88240553 .34535535 ************************************************************************ /Ge.ano.Pierloot.17s15p9d.9s9p5d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 32 * s-functions, max 9 functions can be used. 17 9 513412.49 73761.082 21286.892 7313.5506 2694.2426 1027.7591 399.94561 157.58682 62.610202 25.020425 10.041074 4.0424300 1.6314140 .65965700 .26713900 .10831700 .04396500 .00021274 -.0000891 .00003738 -.0000069 .00000689 -.0000098 .00001311 -.0000284 .00007335 .00149785 -.0006291 .00026321 -.0000483 .00004815 -.0000671 .00009148 -.0002257 .00039380 .00518667 -.0021789 .00091737 -.0001694 .00017047 -.0002464 .00032447 -.0006191 .00219270 .01793559 -.0076233 .00319687 -.0005861 .00058174 -.0007971 .00110543 -.0030020 .00356101 .05575969 -.0240726 .01026859 -.0019064 .00192240 -.0028034 .00366244 -.0065299 .02737161 .15358976 -.0701723 .03027958 -.0055975 .00555006 -.0075646 .01057467 -.0299026 .03167021 .33138935 -.1713718 .07853463 -.0149229 .01509347 -.0222144 .02890943 -.0489406 .24043311 .38670503 -.2767466 .13806501 -.0266271 .02626037 -.0347711 .05058462 -.1699974 .07810973 .13150080 -.0691892 .04070418 -.0090577 .01032703 -.0216965 .01900994 .11966418 .44411236 .06697210 .57607044 -.4977814 .11675514 -.1224359 .19889593 -.2560561 .26768042 -3.813091 .05670348 .43267337 -.5499377 .14064258 -.1339712 .13736167 -.2535508 1.5435360 6.8080445 .00218508 .07932641 .57676817 -.1966183 .18918525 -.1663801 .54902406 -5.399346 -6.741385 .00845453 .11463625 .69311897 -.3994604 .53469907 -1.360961 1.6455489 7.5068846 4.9467780 -.0016028 -.0026866 .07070214 -.0810275 -.0966621 2.1644220 -5.173843 -6.622829 -3.115389 .00123170 .00759866 .00377600 .63585475 -1.616477 .17970404 6.6580854 4.4992134 1.7638802 -.0005896 -.0037023 -.0022881 .51485187 .77584644 -2.661944 -5.175544 -2.378357 -.8352332 .00017142 .00109130 .00081059 .06717857 .76941015 1.9184636 2.0581034 .74358512 .24247053 * p-functions, max 9 functions can be used. 15 9 6550.1287 1597.0202 587.61049 239.63393 101.83075 44.171841 19.387343 8.5720070 3.8086780 1.6980690 .75896100 .33985700 .15240500 .06842100 .03074500 .00051641 -.0002091 .00003896 -.0000398 .00005016 -.0000829 .00010683 -.0001756 .00063372 .00382496 -.0015539 .00028911 -.0002951 .00034871 -.0005278 .00088667 -.0021538 .00169361 .01625153 -.0066657 .00124514 -.0012727 .00162274 -.0027248 .00334978 -.0049945 .02352350 .06183112 -.0258726 .00483566 -.0049350 .00581147 -.0087708 .01495395 -.0371032 .03129356 .18264555 -.0795433 .01499547 -.0153296 .01947153 -.0326791 .04111012 -.0654315 .29641547 .37745110 -.1745840 .03314675 -.0338509 .03943615 -.0591054 .10662969 -.2791694 .16762345 .39889668 -.1840950 .03506720 -.0361082 .05053285 -.0930187 .07749030 .04563320 .61540731 .13374129 .14377698 -.0365182 .03783736 -.0596806 .14002645 -.1149245 -.0147351 -3.416732 .01545132 .50718692 -.1196900 .12466518 -.1199670 .12993582 -.5579859 2.3045028 5.1266029 .00888941 .40994761 -.1170074 .13193191 -.2898014 .76272301 -.1877614 -4.932410 -4.695634 .00114895 .09367184 .01922562 -.0098560 .22457427 -1.842648 2.9181066 5.4685787 3.4055789 .00038766 .00272107 .28509076 -.6274693 1.1651516 .33104368 -5.002185 -4.545392 -2.211800 -.0001729 .00111478 .45927777 -.2694454 -.7951834 2.2360181 5.1187104 3.1723549 1.3145522 .00008695 -.0002032 .28170110 .29989231 -1.193693 -2.935320 -3.548511 -1.748062 -.6545900 -.0000264 .00007636 .12373650 .75042835 1.3329998 1.4374239 1.3250546 .56919614 .20182483 * d-functions, max 5 functions can be used. 9 5 244.75713 74.716716 29.077452 12.024277 5.0945660 2.1848830 .94354400 .40924100 .17801300 .00246769 -.0006881 .00088233 -.0001465 .00531252 -.0070573 .01837413 -.0054274 .00683743 -.0124389 -.0142438 -.1288538 .07580657 -.0212306 .02719196 -.0038973 .15842184 -.2491612 .21514963 -.0646768 .08108645 -.1677281 -.1419830 -1.277889 .35674050 -.0976800 .13765051 .02124434 1.6782136 2.1259558 .36305155 -.1223176 .16192422 -1.067213 -2.854181 -1.513224 .22611346 -.0067303 .08147838 2.6498465 2.1343097 .87234198 .06369419 .29131270 -1.572030 -2.337200 -1.082384 -.4406138 .00626097 .76129077 1.3368615 .94958524 .35498466 .14552752 ************************************************************************ /As.ano.Pierloot.17s15p9d.9s9p5d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 33 * s-functions, max 9 functions can be used. 17 9 566875.27 81319.075 23570.858 8145.6899 3020.1475 1159.8514 454.46921 180.32733 72.153149 29.039871 11.737766 4.7595370 1.9346930 .78795000 .32140800 .13126800 .05366800 .00020296 -.0000861 .00003590 -.0000072 .00000713 -.0000103 .00001317 -.0000292 .00007520 .00142976 -.0006076 .00025278 -.0000503 .00004970 -.0000702 .00009197 -.0002345 .00038299 .00489810 -.0020857 .00087249 -.0001748 .00017498 -.0002566 .00032287 -.0006191 .00229896 .01685274 -.0072370 .00301869 -.0006002 .00058929 -.0008186 .00109277 -.0031013 .00308781 .05201895 -.0227408 .00963277 -.0019393 .00194799 -.0028817 .00359410 -.0063641 .02871590 .14368741 -.0660142 .02831027 -.0056726 .00556040 -.0076834 .01034610 -.0306351 .02558548 .31497391 -.1630407 .07396927 -.0152215 .01534656 -.0229047 .02845364 -.0478022 .25430127 .39217752 -.2734087 .13515051 -.0281971 .02744414 -.0369944 .05187448 -.1818140 .05757096 .15110734 -.1113708 .06434121 -.0149898 .01670189 -.0312064 .02952087 .10689378 .60598964 .06433589 .52958738 -.4432611 .11167210 -.1180579 .19562927 -.2387089 .21951813 -4.128541 .06541718 .48428439 -.6137746 .16948643 -.1591452 .18050605 -.3133723 1.8157045 7.0656387 .00303928 .08238325 .48191430 -.1742474 .15779656 -.1329016 .51190610 -5.766332 -6.874868 .00932769 .12008913 .75698131 -.4547235 .61302239 -1.539666 1.8337359 7.7571145 5.0199110 -.0016440 .00079778 .09672850 -.1026787 -.0909193 2.3732698 -5.398318 -6.760525 -3.164701 .00137255 .00742309 .00303073 .66642773 -1.697669 .01836764 6.8845047 4.5743538 1.7956501 -.0006586 -.0036375 -.0019214 .50801138 .85494505 -2.586834 -5.373312 -2.410163 -.8502654 .00019134 .00107870 .00076999 .06456990 .73810089 1.9067495 2.1489474 .74939609 .24592800 * p-functions, max 9 functions can be used. 15 9 7323.1673 1790.4187 661.74735 271.20663 115.83947 50.511115 22.286680 9.9062400 4.4249560 1.9833750 .89122700 .40122500 .18089000 .08164600 .03688500 .00047561 -.0001969 .00004141 -.0000353 .00005512 -.0000823 .00010704 -.0001711 .00062027 .00350535 -.0014538 .00030506 -.0002602 .00038004 -.0005170 .00088352 -.0021478 .00175953 .01483336 -.0062188 .00131171 -.0011169 .00176842 -.0026858 .00333244 -.0047620 .02293946 .05650420 -.0241014 .00508090 -.0043349 .00631422 -.0085671 .01486946 -.0369509 .03205212 .16920752 -.0751389 .01600063 -.0136323 .02151037 -.0326318 .04163625 -.0645643 .29379335 .36091932 -.1696334 .03635452 -.0310466 .04487526 -.0606250 .11035992 -.2875883 .19939782 .40886256 -.1967608 .04258706 -.0363561 .06198377 -.1016352 .09155739 .02681609 .61869524 .15600183 .10585183 -.0326435 .02789112 -.0594246 .13085313 -.1075601 -.0268929 -3.467027 .01881103 .49687654 -.1343777 .11825328 -.1462134 .15145529 -.5924368 2.3862710 5.2063666 .01114795 .43564024 -.1427463 .12608235 -.3280358 .74920079 -.1936158 -5.055586 -4.799614 .00118334 .10502834 .02398513 .00601399 .31169970 -1.809454 2.9827634 5.6307125 3.5027558 .00068037 .00292970 .32948097 -.5898859 1.1122965 .29029826 -5.122157 -4.693649 -2.283633 -.0003361 .00124841 .46992299 -.2309490 -.7533416 2.3248403 5.2233660 3.2656687 1.3594583 .00016669 -.0002971 .24735085 .21176561 -1.225132 -3.049746 -3.575774 -1.788236 -.6760427 -.0000506 .00010210 .09755815 .84012370 1.3006783 1.4897966 1.3083317 .57746485 .20747854 * d-functions, max 5 functions can be used. 9 5 278.75717 85.080781 33.354708 13.920758 5.9571790 2.5813950 1.1266120 .49389700 .21716600 .00227463 -.0006527 .00080643 -.0001523 .00450086 -.0078785 .01718587 -.0052431 .00621466 .01168293 -.0281167 -.1283008 .07146928 -.0206010 .02535561 -.0055750 .13253628 -.2935871 .20721457 -.0643699 .07654012 .16569917 -.2518101 -1.236484 .35522274 -.1011768 .14152051 -.0481477 1.9057503 1.9831371 .37056225 -.1285510 .16177215 1.1566617 -3.042983 -1.309245 .22623647 -.0062769 .08719676 -2.765523 2.2441450 .73933539 .05860114 .31876083 -1.591518 2.4366394 -1.126087 -.3813205 .00565757 .73696154 1.3710081 -.9886865 .36478009 .12645827 ************************************************************************ /Se.ano.Pierloot.17s15p9d.9s9p5d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 34 * s-functions, max 9 functions can be used. 17 9 637874.92 91490.641 26605.146 9231.9107 3438.0510 1326.4181 522.17790 208.17940 83.697244 33.848737 13.747827 5.6017130 2.2881310 .93644900 .38385100 .15753900 .06472400 .00018882 -.0000801 .00003419 -.0000072 .00000723 -.0000103 .00001286 -.0000288 .00007549 .00132965 -.0005639 .00024053 -.0000503 .00005026 -.0000700 .00008953 -.0002366 .00036104 .00452045 -.0019246 .00082448 -.0001734 .00017630 -.0002574 .00031327 -.0005868 .00236907 .01552050 -.0066407 .00284071 -.0005929 .00058835 -.0008008 .00105005 -.0031515 .00252029 .04772364 -.0208343 .00902806 -.0019078 .00194811 -.0028773 .00346174 -.0058535 .02976037 .13279545 -.0604779 .02655236 -.0055837 .00552852 -.0074715 .00990002 -.0311152 .01911273 .29716981 -.1517558 .07006436 -.0151195 .01550198 -.0231292 .02769523 -.0440879 .26595174 .39748417 -.2658221 .13353925 -.0292177 .02870609 -.0377239 .05227135 -.1944328 .03549544 .17555713 -.1512220 .08784713 -.0211144 .02352690 -.0426101 .04111412 .09958489 .78784739 .05997324 .46913668 -.3870324 .10201723 -.1108950 .18925596 -.2186034 .12329592 -4.444099 .07183478 .52959690 -.6716629 .19527902 -.1860298 .20625013 -.3596443 2.1628680 7.2577619 .00495131 .09603793 .37050889 -.1402875 .11880554 -.0423052 .42920309 -6.159812 -6.891129 .01004534 .13054938 .81432645 -.5022126 .68778065 -1.785559 2.0623290 7.9561124 4.9672823 -.0013835 .00744523 .13041495 -.1377540 -.0297808 2.6585060 -5.608197 -6.806137 -3.112262 .00139077 .00654469 .00138303 .68723577 -1.893968 -.2495293 7.0519882 4.5736313 1.7610486 -.0006690 -.0032304 -.0009980 .51121109 1.0578148 -2.428700 -5.543554 -2.409664 -.8325152 .00019467 .00097237 .00058130 .06532659 .63813946 1.8785922 2.2523835 .75170886 .24030778 * p-functions, max 9 functions can be used. 15 9 7790.4874 1893.8898 699.84320 287.15130 122.85884 53.677817 23.734450 10.573309 4.7337750 2.1267660 .95793100 .43229000 .19536700 .08839500 .04003200 .00047837 -.0002023 .00004609 -.0000412 .00006195 -.0000873 .00010351 -.0001808 .00061290 .00355210 -.0015066 .00034254 -.0003035 .00042320 -.0005889 .00098811 -.0020755 .00185493 .01499333 -.0064230 .00146731 -.0013159 .00200581 -.0028385 .00313297 -.0052374 .02263498 .05698847 -.0248688 .00568317 -.0050351 .00700022 -.0097572 .01666504 -.0356304 .03383248 .17009632 -.0772301 .01782843 -.0159944 .02432341 -.0345786 .03965308 -.0701478 .29358729 .36157488 -.1740647 .04050566 -.0358667 .04945329 -.0694970 .12482230 -.2740769 .19916494 .40674565 -.1993315 .04675968 -.0425682 .07028038 -.1001171 .06257507 -.0005406 .59700248 .15444419 .11130409 -.0377806 .03623511 -.0760964 .13139694 -.0550778 .08521535 -3.459780 .02039281 .50774628 -.1522181 .13523393 -.1571643 .22966618 -.8067084 2.1717823 5.2927012 .01217451 .43120270 -.1588055 .16037590 -.4020852 .67189120 .39000700 -4.944971 -4.985817 .00122290 .09181134 .06112624 -.0581503 .59657475 -2.160479 2.1697800 5.8076656 3.7297292 .00065403 .00322654 .38248280 -.7034807 .99292677 1.2915893 -4.584484 -5.091827 -2.494525 -.0003288 .00052451 .44832622 -.1331885 -1.311529 1.2780942 5.2287188 3.7130154 1.5210582 .00016448 .00013820 .22023622 .49150229 -.5078256 -2.618768 -3.915287 -2.123128 -.7718888 -.0000497 -.0000044 .06966540 .58755181 1.0878463 1.5201151 1.5447538 .71166253 .24054735 * d-functions, max 5 functions can be used. 9 5 312.31838 95.343880 37.615411 15.822796 6.8287060 2.9851250 1.3145250 .58151900 .25803900 .00214681 -.0006207 .00075575 -.0002603 .00424329 -.0078479 .01637689 -.0050536 .00597593 .01149165 -.0316233 -.1274727 .06847314 -.0198849 .02404817 -.0092188 .12566140 -.2889051 .20154100 -.0632819 .07559616 .16744915 -.2649231 -1.265358 .35423312 -.1024328 .14235402 -.0521348 1.9669917 2.0220875 .37643562 -.1316098 .17475581 1.1859302 -3.137560 -1.345663 .22515194 -.0057840 .06791035 -2.832017 2.3410962 .76410341 .05416647 .32719966 -1.591202 2.5186069 -1.185593 -.3943943 .00521300 .72936780 1.3845305 -1.028302 .38432729 .13020066 ************************************************************************ /Br.ano.Pierloot.17s15p9d.9s9p5d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 35 * s-functions, max 9 functions can be used. 17 9 726398.09 104397.37 30433.462 10587.659 3953.3311 1529.2687 603.64283 241.30208 97.274404 39.445336 16.064020 6.5630990 2.6880510 1.1030880 .45337500 .18657500 .07686000 .00017178 -.0000745 .00003235 -.0000070 .00000715 -.0000099 .00001250 -.0000280 .00007465 .00120695 -.0005231 .00022699 -.0000486 .00004950 -.0000662 .00008626 -.0002351 .00033662 .00408286 -.0017798 .00077451 -.0001670 .00017333 -.0002464 .00030383 -.0005480 .00239109 .01402132 -.0061212 .00266440 -.0005703 .00057515 -.0007460 .00100033 -.0031636 .00202747 .04306166 -.0192128 .00845045 -.0018305 .00190960 -.0027544 .00335409 -.0053220 .03021038 .12106007 -.0558994 .02495022 -.0053803 .00541264 -.0069555 .00943369 -.0313810 .01389412 .27702660 -.1424688 .06655876 -.0147186 .01541925 -.0224916 .02726831 -.0404392 .27310803 .39766198 -.2598491 .13230398 -.0297070 .02965814 -.0369315 .05238938 -.2059670 .02437234 .20124051 -.1876112 .10968715 -.0267983 .03011788 -.0525205 .05422871 .08970384 .94485222 .06111923 .40046534 -.3296791 .08931551 -.1004945 .17473534 -.2021210 .02604439 -4.696051 .08253896 .56436765 -.7175227 .21571073 -.2100857 .21859267 -.3915908 2.4907667 7.3584269 .00897909 .11656019 .24962720 -.0983141 .07186230 .06952823 .30445916 -6.483602 -6.828337 .01154817 .14288156 .86077452 -.5401008 .75535126 -1.974930 2.3618800 8.0518936 4.8618486 -.0007071 .01737558 .16991921 -.1813165 .04288634 2.7748771 -5.871548 -6.748147 -3.026917 .00132443 .00488550 -.0009038 .70032290 -2.071636 -.3066606 7.1868256 4.4906056 1.7067841 -.0006391 -.0024274 .00040351 .52055942 1.2200300 -2.416982 -5.613372 -2.359195 -.8049559 .00018715 .00075578 .00025571 .06829549 .55775136 1.8979116 2.2896328 .73688996 .23186565 * p-functions, max 9 functions can be used. 15 9 8403.9531 2045.4876 758.03053 312.04749 133.97148 58.739849 26.065724 11.653786 5.2364600 2.3611850 1.0674040 .48345700 .21929300 .09958500 .04526500 .00046552 -.0002019 .00004878 -.0000471 .00006567 -.0000948 .00009808 -.0001847 .00061209 .00344657 -.0014988 .00036154 -.0003426 .00043866 -.0006663 .00105671 -.0020133 .00185793 .01448760 -.0063627 .00154208 -.0014963 .00212041 -.0030387 .00283882 -.0053883 .02244420 .05497741 -.0245837 .00596297 -.0056479 .00720896 -.0110089 .01782377 -.0344011 .03364321 .16467531 -.0765807 .01877038 -.0182200 .02576808 -.0372889 .03681488 -.0726888 .29569803 .35401911 -.1744477 .04315088 -.0408242 .05168330 -.0803868 .13648227 -.2665294 .19718748 .40889330 -.2065083 .05155680 -.0512209 .07849861 -.1068504 .04128120 -.0279251 .61841056 .16390226 .09642479 -.0367497 .04076137 -.0833837 .12944724 .00040876 .15055815 -3.513321 .02387166 .50763697 -.1651611 .15468719 -.1617296 .31791600 -1.001147 2.0530371 5.4005450 .01450093 .44024688 -.1757596 .20456982 -.4603510 .62110311 .91873232 -4.876015 -5.151123 .00145392 .09105334 .08337046 -.1413285 .79636922 -2.504650 1.3438470 5.9431241 3.9197069 .00077524 .00385376 .40615221 -.7753680 .83943767 2.2167830 -3.913516 -5.441049 -2.677040 -.0003901 .00039586 .43618749 .00839657 -1.577329 .19657112 5.0720542 4.1631221 1.6724870 .00019884 .00040310 .20984350 .57202129 -.0575172 -1.966279 -4.166387 -2.500616 -.8698927 -.0000594 -.0000474 .05198536 .45567604 .93186903 1.3686334 1.7672018 .87586212 .27671479 * d-functions, max 5 functions can be used. 9 5 346.90938 105.80051 41.951391 17.762403 7.7206840 3.4002370 1.5087570 .67261300 .30079300 .00204694 -.0005985 .00070312 -.0003282 .00392103 -.0084081 .01576190 -.0049319 .00586860 .01114682 -.0347592 -.1314740 .06621436 -.0194409 .02262035 -.0118131 .11538079 -.2868032 .19722095 -.0627117 .07575085 .16516036 -.2835994 -1.280972 .35363595 -.1040900 .14022494 -.0493016 2.0338858 2.0338805 .38126361 -.1346464 .19577494 1.2016808 -3.233039 -1.349843 .22345427 -.0051688 .03124856 -2.885191 2.4384676 .76818675 .05042297 .33992578 -1.572874 2.5971846 -1.248180 -.3980908 .00490447 .71786505 1.3919646 -1.070199 .40626142 .13105677 ************************************************************************ /Kr.ano.Pierloot.17s15p9d.9s9p5d. K. Pierloot, B. Dumez, P.-O. Widmark and B. O. Roos Theor. Chim. Acta, 90, 87 (1995) ************************************************************************ a 36 * s-functions, max 9 functions can be used. 17 9 828278.58 119486.50 34893.668 12154.742 4543.3212 1759.2007 695.03767 278.08060 112.19649 45.534467 18.559125 7.5886930 3.1106230 1.2775240 .52549000 .21642400 .08922700 .00016368 -.0000207 .00005157 -.0000066 .00000746 -.0000111 .00001165 -.0000263 .00007297 .00114565 -.0001446 .00036009 -.0000463 .00005127 -.0000737 .00008325 -.0002265 .00031173 .00386708 -.0004922 .00122720 -.0001585 .00018043 -.0002780 .00027160 -.0004918 .00237349 .01330395 -.0016956 .00421476 -.0005416 .00059255 -.0008235 .00099645 -.0030960 .00162225 .04094842 -.0053860 .01338546 -.0017372 .00199156 -.0031172 .00294375 -.0046435 .03017029 .11662683 -.0160777 .03959590 -.0051388 .00560256 -.0077105 .00956298 -.0309429 .00994192 .27448613 -.0438391 .10654618 -.0142010 .01635990 -.0259001 .02413900 -.0357018 .27545891 .42659945 -.0927141 .21598919 -.0298123 .03220218 -.0430849 .05823191 -.2123690 .02107461 .25395001 -.0936948 .20168215 -.0314683 .03901534 -.0719735 .04592242 .08246608 1.0722886 .01510395 .21882300 -.3801764 .07635148 -.0974852 .19193614 -.1404894 -.0698972 -4.879057 .00444893 .64290167 -.7061218 .22966244 -.2405455 .27436635 -.5595492 2.7309818 7.3858936 -.0030649 -.1564945 -.1164568 -.0556685 .01389379 .19033797 .70802380 -6.674548 -6.721696 .00193013 -.9066316 -.0090794 -.5696065 .91203266 -2.711691 1.4740105 8.1651645 4.7385632 -.0012125 -.2103254 .00518870 -.2205817 .03623454 4.3134084 -4.695989 -6.954238 -2.936823 .00069205 .00256219 -.0033875 .70436869 -2.388955 -2.322304 6.5122712 4.8391673 1.6526877 -.0003258 -.0017257 .00173567 .53679099 1.7213985 -.8183267 -5.796187 -2.729954 -.7787440 .00009346 .00003381 -.0005007 .06727018 .25249436 1.3156001 2.6614035 .92793488 .22425306 * p-functions, max 9 functions can be used. 15 9 9103.6167 2215.5032 823.06485 339.87683 146.41291 64.420244 28.688908 12.873187 5.8055730 2.6274530 1.1921700 .54197100 .24675000 .11247100 .05131300 .00018517 -.0004548 .00005042 -.0000654 .00009576 -.0001056 .00018982 -.0002032 .00057019 -.0003222 .00137364 -.0033642 .00037339 -.0004615 .00063562 -.0011179 .00198719 -.0004755 .00203602 -.0120347 .00581482 -.0140931 .00158673 -.0020783 .00308746 -.0030509 .00556866 -.0075883 .02059070 -.0033094 .02245674 -.0534316 .00612764 -.0075635 .01040898 -.0187665 .03381273 -.0078892 .03650276 -.2516737 .07043453 -.1608655 .01937199 -.0253700 .03782157 -.0396877 .07570473 -.0975568 .28014415 -.2098193 .16304142 -.3506372 .04512596 -.0555208 .07671838 -.1452606 .26529044 -.0469811 .22043009 -1.318098 .20081644 -.4176200 .05607006 -.0769284 .11946800 -.0567708 .05481192 -.2920467 .51055334 4.1333146 -.0840476 -.1722787 -.0339193 .06029607 -.1345870 -.0037135 -.1998228 1.1593752 -3.293388 -5.276494 -.5057439 -.0118084 -.1758065 .20445935 -.2637426 1.0638131 -1.990245 -1.322914 5.2784224 4.5762422 -.4518833 -.0027694 -.1919134 .34813970 -.7387032 -.8458073 4.7778094 .52394527 -5.327461 -3.278877 -.0926484 .00116378 .09908986 -.3881770 2.2490493 -1.646928 -5.734468 .73071310 4.4433960 2.1746372 -.0040561 -.0007749 .42383784 -1.056138 -1.171065 3.9847933 4.9221639 -2.197181 -3.557058 -1.412122 .00019516 .00045540 .43377597 .61384022 -1.082472 -4.097223 -3.107128 3.6785331 2.8764761 .89428786 -.0003804 -.0002205 .20497249 .57201893 1.1988153 2.0408293 1.0663166 -4.210618 -2.113133 -.5032793 .00012387 .00006633 .02203791 .07340049 .02404730 -.1230447 .06125542 2.4641837 .96416896 .18250016 * d-functions, max 5 functions can be used. 9 5 381.23678 116.40438 46.386968 19.757668 8.6425240 3.8311410 1.7112760 .76802800 .34578900 .00197587 -.0005867 .00064405 -.0003806 .00317842 -.0095626 .01527563 -.0048587 .00590293 .01054552 -.0442604 -.1392977 .06439629 -.0191960 .02079822 -.0140309 .08823185 -.2819499 .19365384 -.0624970 .07747959 .15811294 -.3635866 -1.283041 .35312903 -.1062830 .13452117 -.0402764 2.1948696 1.9348975 .38531613 -.1379383 .23191253 1.2054052 -3.385155 -1.180981 .22161224 -.0043564 -.0359968 -2.927204 2.5666273 .64377523 .04752303 .35553905 -1.525184 2.6801456 -1.330047 -.3365297 .00473164 .70354187 1.3879880 -1.120700 .43631405 .11061152 ergo-3.5/basis/Turbomole-QZVPP0000664000175000017500000053020012743400275013156 00000000000000$ Basis = Turbomole-QZVPP $ $ Supported Elements $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca $ Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr $ $ REFERENCE $ Elements References $ -------- ---------- $ Li - Kr: A. Schafer, C. Huber and R. Ahlrichs, J. Chem. Phys. 100, 5829 (1994). $*********************************************************************** a 1 $ HYDROGEN (7s) -> [4s] $ # polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 7 4 0 190.69169 0.00070815 0.00000000 0.00000000 0.00000000 28.605532 0.00546788 0.00000000 0.00000000 0.00000000 6.5095943 0.02796661 0.00000000 0.00000000 0.00000000 1.8412455 0.10764538 0.00000000 0.00000000 0.00000000 .59853725 0.00000000 1.00000000 0.00000000 0.00000000 .21397624 0.00000000 0.00000000 1.00000000 0.00000000 .08031629 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 2.2920000 1.00000000 0.00000000 0.00000000 0.8380000 0.00000000 1.00000000 0.00000000 0.2920000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 2.0620000 1.00000000 0.00000000 0.6620000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.3970000 1.00000000 a 2 $ HELIUM (8s) -> [4s] $ polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 8 4 0 1144.6470809 0.00035862 0.00000000 0.00000000 0.00000000 171.64596667 0.00277254 0.00000000 0.00000000 0.00000000 39.066056254 0.01424189 0.00000000 0.00000000 0.00000000 11.051401989 0.05545735 0.00000000 0.00000000 0.00000000 3.5725574473 0.16170512 0.00000000 0.00000000 0.00000000 1.2429415962 0.00000000 0.33177884 0.00000000 0.00000000 .44807668730 0.00000000 0.00000000 0.42014033 0.00000000 .16411579128 0.00000000 0.00000000 0.00000000 0.18652273 $ P-TYPE FUNCTIONS 3 3 0 5.9940000 1.00000000 0.00000000 0.00000000 1.7450000 0.00000000 1.00000000 0.00000000 0.5600000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 4.2990000 1.00000000 0.00000000 1.2230000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 2.6800000 1.00000000 a 3 $ LITHIUM (15s,5p) -> [6s,3p] $ diffuse: R.A./F.Weigend 05/03 (d,f: roughly abs(EMP2(Li2,valence))=Max) $ (p: Huzinaga, PSD16,p25) $ S-TYPE FUNCTIONS 15 6 0 14853.977085 0.00004271 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2225.2236477 0.00033235 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 504.88739008 0.00175184 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142.45847548 0.00734780 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.315599580 0.02589984 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.655335474 0.07667068 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.4331186199 0.18276076 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.6027043858 0.32655434 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0897245405 0.37000430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.4236595971 0.00000000 0.11120988 0.00000000 0.00000000 0.00000000 0.00000000 1.2356394990 0.00000000 0.79987336 0.00000000 0.00000000 0.00000000 0.00000000 0.4606747060 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0966171670 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0459154523 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0211400487 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 3.2605109206 0.00865047 0.00000000 0.00000000 0.00000000 0.6500304312 0.04761412 0.00000000 0.00000000 0.00000000 0.1694167107 0.21001138 0.00000000 0.00000000 0.00000000 0.5573234377 0.00000000 1.00000000 0.00000000 0.00000000 0.2048995924 0.00000000 0.00000000 1.00000000 0.00000000 3.3270000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.2300 1.00000000 0.00000000 0.0757 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.1350 1.00000000 a 4 $ BERYLLIUM (15s) -> [7s] $ # R.A./F.Weigend 04/03 (d,f:abs(EMP2,valence)=Max, p:abs(EMP2,core+valence)=max) $ S-TYPE FUNCTIONS 15 7 0 29646.704407 0.00003794 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4428.7614354 0.00029605 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1005.4701332 0.00155725 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 284.15339578 0.00653232 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 92.504356461 0.02311686 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 33.311016058 0.06945852 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 12.911553314 0.17014371 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5.2665497361 0.31682711 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 22.995386380 0.00000000 0.08179112 0.00000000 0.00000000 0.00000000 0.00000000 0.0 6.6236354176 0.00000000 0.80000038 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.2289595003 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.9530243345 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.2465160244 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1015389532 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0415513746 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 7 4 0 14.099789445 0.00385089 0.00000000 0.00000000 0.00000000 3.1803188482 0.02415238 0.00000000 0.00000000 0.00000000 0.9048922050 0.09792693 0.00000000 0.00000000 0.00000000 0.3041158551 0.29470380 0.00000000 0.00000000 0.00000000 0.1130260666 0.00000000 1.00000000 0.00000000 0.00000000 0.0428317337 0.00000000 0.00000000 1.00000000 0.00000000 6.4000000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.3600000000 1.00000000 0.00000000 0.0900000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.29 1.0 a 5 $ BORON (15s,8p) -> [7s,4p] $ polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 15 7 0 46447.667056 0.00003839 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 6957.6889042 0.00029837 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1583.4428403 0.00156455 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 448.46601009 0.00654777 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 146.28639262 0.02313901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 52.784386084 0.06961580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 20.519396170 0.17119637 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.4185659258 0.31913192 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 36.510018312 0.00000000 0.07899062 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.541854005 0.00000000 0.78926384 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3.6004091387 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 1.5617023749 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.4499737078 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1807523024 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0715966963 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 72.240462760 0.00086539 0.00000000 0.00000000 0.00000000 16.807707208 0.00687621 0.00000000 0.00000000 0.00000000 5.2259410747 0.03097669 0.00000000 0.00000000 0.00000000 1.8508350671 0.10432358 0.00000000 0.00000000 0.00000000 0.7220678266 0.26164138 0.00000000 0.00000000 0.00000000 0.2949101806 0.00000000 1.00000000 0.00000000 0.00000000 0.1220114184 0.00000000 0.00000000 1.00000000 0.00000000 0.0498653936 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.1100000 1.00000000 0.00000000 0.00000000 0.4020000 0.00000000 1.00000000 0.00000000 0.1450000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.8820000 1.00000000 0.00000000 0.3110000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.6730000 1.00000000 a 6 $ CARBON (15s,8p) -> [7s,4p] $ polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 15 7 0 67025.071029 0.00003874 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10039.986538 0.00030108 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2284.9316911 0.00157879 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 647.14122130 0.00660871 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 211.09472335 0.02336712 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 76.177643862 0.07042072 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 29.633839163 0.17360345 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 12.187785081 0.32292306 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 53.026006299 0.00000000 0.07489740 0.00000000 0.00000000 0.00000000 0.00000000 0.0 15.258502776 0.00000000 0.76136221 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5.2403957464 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 2.2905022379 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.6967328301 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.2759933736 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.1073988439 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 105.12555082 0.00084648 0.00000000 0.00000000 0.00000000 24.884461066 0.00662740 0.00000000 0.00000000 0.00000000 7.8637230826 0.03012039 0.00000000 0.00000000 0.00000000 2.8407001835 0.09995144 0.00000000 0.00000000 0.00000000 1.1227137335 0.23826299 0.00000000 0.00000000 0.00000000 0.4605072556 0.00000000 1.00000000 0.00000000 0.00000000 0.1893753091 0.00000000 0.00000000 1.00000000 0.00000000 0.0759837916 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.8480000 1.00000000 0.00000000 0.00000000 0.6490000 0.00000000 1.00000000 0.00000000 0.2280000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.4190000 1.00000000 0.00000000 0.4850000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.0110000 1.00000000 a 7 $ NITROGEN (15s,8p) -> [7s,4p] $ polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 15 7 0 90726.889210 0.00003926 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 13590.528801 0.00030513 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3092.9883781 0.00160006 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 875.99876362 0.00669829 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 285.74469982 0.02369008 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 103.11913417 0.07145541 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 40.128556777 0.17632775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 16.528095704 0.32677593 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 69.390960983 0.00000000 0.08005209 0.00000000 0.00000000 0.00000000 0.00000000 0.0 20.428200596 0.00000000 0.78268064 0.00000000 0.00000000 0.00000000 0.00000000 0.0 7.1292587972 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 3.1324304893 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.9875577872 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.3876572131 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.1490988308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 150.05742670 -0.00086216 0.00000000 0.00000000 0.00000000 35.491599483 -0.00685713 0.00000000 0.00000000 0.00000000 11.247864223 -0.03179569 0.00000000 0.00000000 0.00000000 4.0900305195 -0.10537397 0.00000000 0.00000000 0.00000000 1.6220573146 -0.24519708 0.00000000 0.00000000 0.00000000 0.6644226153 0.00000000 1.00000000 0.00000000 0.00000000 0.2709977007 0.00000000 0.00000000 1.00000000 0.00000000 0.1068874998 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.8370000 1.00000000 0.00000000 0.00000000 0.9680000 0.00000000 1.00000000 0.00000000 0.3350000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 2.0270000 1.00000000 0.00000000 0.6850000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.4270000 1.00000000 a 8 $ OXYGEN (15s,8p) -> [7s,4p] $ polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 15 7 0 116506.46908 0.00004038 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 17504.349724 0.00031255 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3993.4513230 0.00163415 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1133.0063186 0.00682832 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 369.99569594 0.02412441 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 133.62074349 0.07273021 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 52.035643649 0.17934430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 21.461939313 0.33059589 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 89.835051252 0.00000000 0.09646865 0.00000000 0.00000000 0.00000000 0.00000000 0.0 26.428010844 0.00000000 0.94117481 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.2822824649 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 4.0947728533 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 1.3255349078 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.5187723079 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.1977267645 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 191.15255810 0.00251157 0.00000000 0.00000000 0.00000000 45.233356739 0.02003924 0.00000000 0.00000000 0.00000000 14.353465922 0.09360906 0.00000000 0.00000000 0.00000000 5.2422371832 0.30618127 0.00000000 0.00000000 0.00000000 2.0792418599 0.67810501 0.00000000 0.00000000 0.00000000 0.8428237142 0.00000000 1.00000000 0.00000000 0.00000000 0.3361769489 0.00000000 0.00000000 1.00000000 0.00000000 0.1286399797 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.7750000 1.00000000 0.00000000 0.00000000 1.3000000 0.00000000 1.00000000 0.00000000 0.4440000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 2.6660000 1.00000000 0.00000000 0.8590000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.8460000 1.00000000 a 9 $ FLUORINE (15s,8p) -> [7s,4p] $ polarization functions of cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 15 7 0 132535.97345 0.00004739 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 19758.112588 0.00037070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4485.1996947 0.00194508 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1273.8151020 0.00805733 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 418.93831236 0.02799288 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 152.55721985 0.08273512 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 59.821524823 0.19854169 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 24.819076932 0.34860632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 100.74446673 0.00000000 0.10505069 0.00000000 0.00000000 0.00000000 0.00000000 0.0 30.103728290 0.00000000 0.94068472 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.814283272 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 4.8172886770 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 1.6559334213 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.6489351958 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.2477810455 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 240.96654114 0.00303899 0.00000000 0.00000000 0.00000000 57.020699781 0.02435774 0.00000000 0.00000000 0.00000000 18.126952120 0.11442926 0.00000000 0.00000000 0.00000000 6.6457404621 0.37064660 0.00000000 0.00000000 0.00000000 2.6375722892 0.79791552 0.00000000 0.00000000 0.00000000 1.0638217200 0.00000000 1.00000000 0.00000000 0.00000000 0.4193256275 0.00000000 0.00000000 1.00000000 0.00000000 0.1574758830 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 5.0140000 1.00000000 0.00000000 0.00000000 1.7250000 0.00000000 1.00000000 0.00000000 0.5860000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 3.5620000 1.00000000 0.00000000 1.1480000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.3760000 1.00000000 a 10 $ NEON (15s,9p) -> [7s,4p] $ polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 15 7 0 160676.27955 0.00004739 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 23953.195039 0.00037070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5437.5063711 0.00194508 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1544.2741024 0.00805733 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 507.88814269 0.02799288 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 184.94847750 0.08273512 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 72.522952039 0.19854169 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 30.088713575 0.34860632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 120.68434940 0.00000000 0.10400597 0.00000000 0.00000000 0.00000000 0.00000000 0.0 36.074294857 0.00000000 0.91999989 0.00000000 0.00000000 0.00000000 0.00000000 0.0 13.052091210 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 5.7974783353 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 2.0478626895 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.8021457199 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.3054867221 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 9 4 0 498.43397466 0.00043118 0.00000000 0.00000000 0.00000000 118.14109217 0.00362064 0.00000000 0.00000000 0.00000000 38.032529735 0.01824534 0.00000000 0.00000000 0.00000000 14.183731950 0.06513304 0.00000000 0.00000000 0.00000000 5.7864190721 0.16708915 0.00000000 0.00000000 0.00000000 2.4599622160 0.29268020 0.00000000 0.00000000 0.00000000 1.0421999498 0.00000000 1.00000000 0.00000000 0.00000000 0.4298774892 0.00000000 0.00000000 1.00000000 0.00000000 0.1688970845 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 6.4710000 1.00000000 0.00000000 0.00000000 2.2130000 0.00000000 1.00000000 0.00000000 0.7470000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 4.6570000 1.00000000 0.00000000 1.5240000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.9830000 1.00000000 a 11 $ SODIUM (20s,12p) -> [9s,5p] $ na P(4d2f) $ # R.A./F.Weigend 04/03 (flat 2d1f: abs(EMP2(Na2,valence))=Max) $ # (steep 2d1f: 2s2p also correlated) $ S-TYPE FUNCTIONS 20 9 0 379852.20081 0.00002067 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 56886.006378 0.00016070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 12942.701838 0.00084463 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3664.3017904 0.00355190 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1194.7417499 0.01275403 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 430.98192917 0.03989546 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 167.83169424 0.10720154 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 69.306669040 0.23339517 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 29.951170886 0.36333077 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 13.380791097 0.30544771 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 121.74011283 0.00000000 0.03614243 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 37.044143387 0.00000000 0.28820962 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 13.995422624 0.00000000 0.79337385 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5.9827797428 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2.4830455118 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.0452506187 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.4387564038 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.0655956332 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.0305619251 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0155090640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 6 0 690.77627017 0.00037479 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 163.82806121 0.00317754 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52.876460769 0.01633358 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19.812270493 0.05975490 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.1320378784 0.15879329 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.4969068377 0.29049363 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.5117244146 0.36368131 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.6447929491 0.28195867 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.2614582331 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.1170472612 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0404947477 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0156667074 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0520000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 5.300 1.00000000 0.00000000 0.00000000 0.00000000 1.590 0.00000000 1.00000000 0.00000000 0.00000000 0.230 0.00000000 0.00000000 1.00000000 0.00000000 0.0757 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 4.270 1.00000000 0.00000000 0.135 0.00000000 1.00000000 a 12 $ MAGNESIUM (20s,12p) -> [9s,5p] $ mg P(5d2f) $ # R.A./F.Weigend 04/03 (flat 3d1f:abs(EMP2,valence)=Max) $ # (steep 2d1f:abs(EMP2,core+valence)=Max) $ S-TYPE FUNCTIONS 20 9 0 605967.78753 0.00001443 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 90569.094692 0.00011250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 20574.252844 0.00059265 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5818.6284865 0.00249888 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1895.6296075 0.00902308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 683.45941021 0.02857992 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 266.18219762 0.07906445 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 110.11220010 0.18269338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 47.777041234 0.32157194 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 21.542166149 0.35028259 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 174.12136378 0.00000000 0.02293111 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 53.484972498 0.00000000 0.19151778 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 20.500213307 0.00000000 0.61155711 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 9.8056826922 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3.5402989348 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.5450850046 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.6654019543 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.1435543907 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.0666246735 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0297726483 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 7 0 893.20460829 0.00034958 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 211.78258286 0.00298119 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 68.443200537 0.01551785 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 25.727265349 0.05757866 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.606634281 0.15610308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4.5934126484 0.29230913 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.0100469807 0.37219024 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.8738484154 0.27578089 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.3561507667 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.1899595436 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.0745801357 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.0292216413 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1891479620 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0537687552 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 5 5 0 6.930 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.650 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.052 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 5.60 1.00000000 0.00000000 0.16 0.00000000 1.00000000 a 13 $ ALUMINUM (20s,14p) -> [9s,6p] $ polarization functions for the cc-pV(Q+d)Z basis $ Ref.: T.H. Dunning, K.A. Peterson, A.K. Wilson, JCP 114, 9244 (2001) $ S-TYPE FUNCTIONS 20 9 0 754550.78265 0.00001342 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 112999.38922 0.00010433 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 25715.831759 0.00054842 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 7283.6030283 0.00230891 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2376.0008796 0.00833100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 857.65468087 0.02641796 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 334.38922598 0.07344365 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 138.48504731 0.17184039 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 60.150368808 0.31041980 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 27.127610860 0.35669191 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 225.36500065 0.00000000 0.02152204 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 69.341968124 0.00000000 0.18531780 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 26.619335712 0.00000000 0.63533181 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 12.349420671 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 4.5878785994 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2.0571338103 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.9086454940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.2422698804 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.1124813687 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0481564928 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 1489.6119522 0.00020177 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 353.01399267 0.00175081 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 114.40764069 0.00944247 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.312186111 0.03686800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.027322216 0.10892874 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.9675432403 0.23265901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.6090399541 0.34643587 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.6456081630 0.33440810 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.731187489 0.00000000 0.01782307 0.00000000 0.00000000 0.00000000 0.00000000 1.2553083630 0.00000000 -0.59991264 0.00000000 0.00000000 0.00000000 0.00000000 0.7363553428 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2468646556 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0948219718 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0362141657 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.97000000 1.00000000 0.00000000 0.00000000 0.00000000 0.43700000 0.00000000 1.00000000 0.00000000 0.00000000 0.19500000 0.00000000 0.00000000 1.00000000 0.00000000 0.08000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.15400000 1.00000000 0.00000000 0.40100000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.35700000 1.00000000 a 14 $ SILICON (20s,14p) -> [9s,6p] $ polarization functions for the cc-pV(Q+d)Z basis $ S-TYPE FUNCTIONS 20 9 0 918070.69565 0.00001266 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 137485.25386 0.00009841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 31287.772714 0.00051731 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 8861.6105697 0.00217854 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2890.6943156 0.00786569 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1043.4063979 0.02498755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 406.80160276 0.06976182 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 168.48360207 0.16473363 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 73.185628823 0.30285603 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 32.998485420 0.36007260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 278.78751325 0.00000000 0.02018546 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 85.910228722 0.00000000 0.17720407 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 32.992604031 0.00000000 0.63587861 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 15.033693254 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5.7257514773 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2.6146521029 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 1.1757833152 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.3543233087 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.1624833581 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0683324572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 1775.8850516 0.00020187 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 420.83786849 0.00175443 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 136.42290243 0.00950395 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.700991737 0.03732574 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.559456002 0.11085396 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.5559200095 0.23756407 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.3529819473 0.35295784 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.0096964381 0.32885932 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.418153780 0.00000000 0.02585882 0.00000000 0.00000000 0.00000000 0.00000000 1.9076417796 0.00000000 -0.59874866 0.00000000 0.00000000 0.00000000 0.00000000 0.9233722159 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3451572037 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1365683476 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0529870606 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 2.64500000 1.00000000 0.00000000 0.00000000 0.00000000 0.60800000 0.00000000 1.00000000 0.00000000 0.00000000 0.27200000 0.00000000 0.00000000 1.00000000 0.00000000 0.11300000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.21200000 1.00000000 0.00000000 0.54100000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.46100000 1.00000000 a 15 $ PHOSPHORUS (20s,14p) -> [9s,6p] $ polarization functions for the cc-pV(Q+d)Z basis $ S-TYPE FUNCTIONS 20 9 0 1090561.7138 0.00001214 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 163316.39461 0.00009440 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 37166.607451 0.00049622 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 10526.880945 0.00209000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3433.9976028 0.00754892 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1239.5360480 0.02401042 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 483.27456199 0.06723147 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 200.16911586 0.15978670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 86.960394829 0.29735907 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 39.211283369 0.36187172 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 336.75883662 0.00000000 0.01915472 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 103.72179793 0.00000000 0.17134079 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 39.771861240 0.00000000 0.63689656 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 17.888612952 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 6.9644556879 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3.2198092087 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 1.4669943979 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.4776543753 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.2163778924 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0902358943 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 2019.6711374 0.00021359 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 478.60125090 0.00185688 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 155.14942504 0.01007069 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 58.816356575 0.03960515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24.544512785 0.11736069 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.883571061 0.24950541 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.9624791285 0.36421288 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.3002912343 0.31764127 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 59.371345016 0.00000000 -0.03943292 0.00000000 0.00000000 0.00000000 0.00000000 3.0694590986 0.00000000 0.63522960 0.00000000 0.00000000 0.00000000 0.00000000 1.0634401739 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4502215216 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1826727134 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0716103338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 3.34300000 1.00000000 0.00000000 0.00000000 0.00000000 0.80700000 0.00000000 1.00000000 0.00000000 0.00000000 0.36500000 0.00000000 0.00000000 1.00000000 0.00000000 0.15400000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.28000000 1.00000000 0.00000000 0.70300000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.59700000 1.00000000 a 16 $ SULFUR (20s,14p) -> [9s,6p] $ polarization functions for the cc-pV(Q+d)Z basis $ S-TYPE FUNCTIONS 20 9 0 1273410.9023 0.00001177 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 190697.83007 0.00009148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 43397.885330 0.00048090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 12291.809677 0.00202572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 4009.7420824 0.00731901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1447.3531030 0.02330050 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 564.30102913 0.06538621 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 233.74506243 0.15614450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 101.56402814 0.29318564 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 45.805907187 0.36287914 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 394.27281503 0.00000000 0.01875331 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 121.72249591 0.00000000 0.16870727 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 46.754125963 0.00000000 0.63806831 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 20.923008254 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 8.2685567800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3.8629345671 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 1.7794684781 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.6106426010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.2741226945 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.1132593911 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 2189.8930459 0.00023913 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 518.94596592 0.00207720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 168.19560151 0.01124242 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.745282788 0.04406993 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.597033077 0.12918779 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.774251449 0.26910820 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.3534379024 0.37855929 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.4701911802 0.29692135 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 82.120288349 0.00000000 -0.03942032 0.00000000 0.00000000 0.00000000 0.00000000 4.9523532869 0.00000000 0.64048403 0.00000000 0.00000000 0.00000000 0.00000000 1.0828262029 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4927127736 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2048345094 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.8074361572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 4.15900000 1.00000000 0.00000000 0.00000000 0.00000000 1.01900000 0.00000000 1.00000000 0.00000000 0.00000000 0.46400000 0.00000000 0.00000000 1.00000000 0.00000000 0.19400000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.33500000 1.00000000 0.00000000 0.86900000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.68300000 1.00000000 a 17 $ CHLORINE (20s,14p) -> [9s,6p] $ polarization functions for the cc-pV(Q+d)Z basis $ S-TYPE FUNCTIONS 20 9 0 1467459.0095 0.00001148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 219756.16433 0.00008923 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 50010.770301 0.00046911 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 14164.823918 0.00197624 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 4620.7465525 0.00714199 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1667.8991635 0.02275322 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 650.29199265 0.06395978 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 269.38037376 0.15331059 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 117.06752106 0.28986952 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 52.811766843 0.36348071 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 461.42769988 0.00000000 0.01801946 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 142.12665355 0.00000000 0.16489442 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 54.437838768 0.00000000 0.63891588 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 24.160770219 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 9.7083540306 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 4.5640696733 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 2.1194744832 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.7572236539 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.3374722460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.1386077515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 2501.9457890 0.00024243 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 592.88059285 0.00210800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 192.18089186 0.01143269 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 72.875710488 0.04495670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 30.436358370 0.13197476 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.490178902 0.27493639 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.1478071413 0.38347236 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.8450944820 0.28871944 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 105.39397936 0.00000000 -0.03431176 0.00000000 0.00000000 0.00000000 0.00000000 6.7369738513 0.00000000 0.64060819 0.00000000 0.00000000 0.00000000 0.00000000 1.2421095772 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5566971425 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2338780146 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0931644909 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 5.19100000 1.00000000 0.00000000 0.00000000 0.00000000 1.27600000 0.00000000 1.00000000 0.00000000 0.00000000 0.58300000 0.00000000 0.00000000 1.00000000 0.00000000 0.24300000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.42300000 1.00000000 0.00000000 1.08900000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.82700000 1.00000000 a 18 $ ARGON (20s,14p) -> [9s,6p] $ polarization functions for the cc-pV(Q+d)Z basis $ S-TYPE FUNCTIONS 20 9 0 1673421.9494 0.00001125 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 250601.75373 0.00008743 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 57030.912120 0.00045962 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 16153.303915 0.00193639 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5269.4109288 0.00699940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1902.0315541 0.02231207 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 741.57677159 0.06280808 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 307.20901906 0.15101141 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 133.52786203 0.28713661 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 60.253381291 0.36385490 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 522.02426206 0.00000000 0.01807132 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 161.51290469 0.00000000 0.16449220 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 62.126369433 0.00000000 0.63897335 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 27.590930012 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 11.175528881 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5.2959065137 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 2.4782798895 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.9126209506 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.4042606755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.1656288631 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 2868.4504581 0.00024010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 679.71869590 0.00209048 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 220.36758824 0.01136932 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 83.620439734 0.04490198 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.964322657 0.13237157 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.525131784 0.27709278 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.0992979806 0.38613980 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.3021336602 0.28492925 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 128.78765667 0.00000000 -0.03050946 0.00000000 0.00000000 0.00000000 0.00000000 8.4357867977 0.00000000 0.64101621 0.00000000 0.00000000 0.00000000 0.00000000 1.4618661855 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.6465801010 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2722929576 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1090518245 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 6.31500000 1.00000000 0.00000000 0.00000000 0.00000000 1.56200000 0.00000000 1.00000000 0.00000000 0.00000000 0.71500000 0.00000000 0.00000000 1.00000000 0.00000000 0.29700000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.54300000 1.00000000 0.00000000 1.32500000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.00700000 1.00000000 a 19 $ POTASSIUM (24s,18p) -> [11s,6p] $ k P(4d): # R.A./F.Weigend 04/03 (abs(EMP2)=Max) $ # core: 2d (EMP2(3s-4s,3p)), valence: 2d (EMP2(K2,valence)) $ k P(3f): # R.A./F.Weigend 04/03 (abs(EMP2)=Max) $ # core: 2f (EMP2(3s-4s,3p)), valence: 1f (EMP2(K2,valence)) $ S-TYPE FUNCTIONS 24 11 0 2022075.1391 0.00001014 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 303044.65568 0.00007878 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 69013.938490 0.00041381 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 19559.244615 0.00174276 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6383.8934901 0.00630041 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2305.3502858 0.02012535 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 899.14418101 0.05696606 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 372.59500133 0.13882654 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 161.97635247 0.27132285 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 73.085553853 0.36383621 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 33.595644762 0.24724465 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 685.49855365 0.00000000 0.00443675 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 211.66163373 0.00000000 0.04250272 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 80.851405131 0.00000000 0.18467742 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 35.108667236 0.00000000 0.29353173 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 14.409437283 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6.8697147262 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.2121883687 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.2610484365 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.6143894630 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.2726437097 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.0771730052 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0409183976 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0170557624 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 3469.6649718 0.00021340 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 822.02356107 0.00186378 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 266.58406636 0.01021143 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 101.28048161 0.04079960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 42.429490761 0.12257473 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.912083912 0.26405834 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.7017779030 0.38227165 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.0854567599 0.29998812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.8667286060 0.07800727 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 27.544639057 0.00000000 -0.00582230 0.00000000 0.00000000 0.00000000 0.00000000 9.2098893609 0.00000000 -0.02678753 0.00000000 0.00000000 0.00000000 0.00000000 1.7232877425 0.00000000 0.30666848 0.00000000 0.00000000 0.00000000 0.00000000 0.7796930374 0.00000000 0.66927944 0.00000000 0.00000000 0.00000000 0.00000000 0.3437904786 0.00000000 0.60376469 0.00000000 0.00000000 0.00000000 0.00000000 0.1434668192 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0680000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0320000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0153000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.700 1.00000000 0.00000000 0.00000000 0.00000000 0.510 0.00000000 1.00000000 0.00000000 0.00000000 0.180 0.00000000 0.00000000 1.00000000 0.00000000 0.054 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 2.370 1.00000000 0.00000000 0.00000000 0.790 0.00000000 1.00000000 0.00000000 0.090 0.00000000 0.00000000 1.00000000 a 20 $ CALCIUM (24s18p6d) / [11s6p4d] {(11)4111111111/951111/3111} $ diffuse: ca P(3f) #R.A./F. Weigend 04/03 $ S-TYPE FUNCTIONS 24 11 0 2433075.4304 0.00000916 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 364160.43015 0.00071272 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 82898.747637 0.00037434 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 23499.730540 0.00157629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 7671.2245985 0.00570261 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2770.2330687 0.01825574 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1080.6807550 0.05190642 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 448.04894531 0.12791239 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 194.92007727 0.25586635 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 88.039793338 0.36028678 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 40.645696719 0.26838462 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 779.53331918 0.00000000 -0.01840301 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 241.18856300 0.00000000 -0.17649441 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 92.403869324 0.00000000 -0.77662800 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 39.786090342 0.00000000 -1.33521554 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18.195864278 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8.3321457067 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.9190196209 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.6667099493 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.8089108491 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.3617419993 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.0823798745 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0479478643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0223081124 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 19 7 0 4064.2232796 0.00019781 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 962.91550624 0.00173075 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 312.34501046 0.00952987 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 118.76056036 0.03838746 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 49.816153133 0.11679256 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 22.259679401 0.25637225 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.286094124 0.37986193 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4.8606982416 0.30805761 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.2525682942 0.08575600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 31.467555443 0.00000000 -0.00424415 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.657589056 0.00000000 -0.01957943 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.0505555426 0.00000000 0.21237507 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.9436208923 0.00000000 0.46277871 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.4270906750 0.00000000 0.39177496 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.1778818721 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.0860000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.0415000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.0200000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0749790000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 6 4 0 16.924012098 0.03554397 0.00000000 0.00000000 0.00000000 4.4655403330 0.18133698 0.00000000 0.00000000 0.00000000 1.4347576200 0.48002060 0.00000000 0.00000000 0.00000000 0.4655237678 0.00000000 1.00000000 0.00000000 0.00000000 0.1409771108 0.00000000 0.00000000 1.00000000 0.00000000 0.0414670093 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 2.650 1.00000000 0.00000000 0.00000000 0.794 0.00000000 1.00000000 0.00000000 0.130 0.00000000 0.00000000 1.00000000 a 21 $ SCANDIUM (24s18p9d) / [11s6p5d] $ Diffuse: f,g: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ S-TYPE FUNCTIONS 24 11 0 2855231.1264 0.00000849 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 427433.34221 0.00006600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 97233.218545 0.00034741 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 27496.222846 0.00146941 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8948.7324409 0.00534107 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3221.0397292 0.01720065 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1252.0534077 0.04928707 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 517.26093376 0.12273535 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 224.33127242 0.24910184 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 101.10551671 0.35884367 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 46.684957855 0.27782811 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 947.75965484 0.00000000 0.00361230 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 293.07262846 0.00000000 0.03561622 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 111.70230657 0.00000000 0.16664064 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 47.756215212 0.00000000 0.32531051 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 21.121984009 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9.7765922198 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4.5982699340 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.9928487767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.9593995446 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.4256679007 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.0981321960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0568942222 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0253699072 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 4611.4680242 0.00019181 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1092.4666458 0.00168019 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 354.41923265 0.00927633 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 134.83390286 0.03753720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56.610873926 0.11493045 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.336605518 0.25446811 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.741313238 0.37993353 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.5697268625 0.30948776 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.5949954062 0.08697226 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.951198081 0.00000000 -0.00557804 0.00000000 0.00000000 0.00000000 0.00000000 12.301020232 0.00000000 -0.02593383 0.00000000 0.00000000 0.00000000 0.00000000 2.3876557755 0.00000000 0.27489094 0.00000000 0.00000000 0.00000000 0.00000000 1.1031823600 0.00000000 0.59208047 0.00000000 0.00000000 0.00000000 0.00000000 0.5000847950 0.00000000 0.49113472 0.00000000 0.00000000 0.00000000 0.00000000 0.2079650880 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1010000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0480000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0230000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 5 0 73.531179748 0.00225064 0.00000000 0.00000000 0.00000000 0.00000000 21.764759639 0.01637761 0.00000000 0.00000000 0.00000000 0.00000000 7.9233701690 0.06333045 0.00000000 0.00000000 0.00000000 0.00000000 3.1847889778 0.17056209 0.00000000 0.00000000 0.00000000 0.00000000 1.3427790019 0.30119020 0.00000000 0.00000000 0.00000000 0.00000000 0.5614957498 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2276407365 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0852112218 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0350000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 1.481000000 1.00000000 0.00000000 0.00000000 0.345000000 0.00000000 1.00000000 0.00000000 0.110000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.531000000 1.00000000 0.00000000 0.133000000 0.00000000 1.00000000 a 22 $ TITANIUM (24s18p9d) / [11s6p5d] $ Diffuse: f,g: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ S-TYPE FUNCTIONS 24 11 0 3070548.8651 0.00000870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 460777.88643 0.00006745 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 104901.22889 0.00035477 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 29695.861199 0.00149775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9678.8892688 0.00543099 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3490.1877912 0.01743936 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1359.2217621 0.04983563 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 562.42721208 0.12379634 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 244.22296250 0.25057491 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 110.16668710 0.35934609 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 50.881903357 0.27594243 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 965.95430789 0.00000000 0.00417739 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 299.27072059 0.00000000 0.04027715 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 114.83772939 0.00000000 0.17898687 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 49.477578954 0.00000000 0.31783044 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 22.982839977 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 10.518305037 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4.9774390567 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.1339846838 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.0342457284 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.4619977500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1062126419 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0543403474 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0251102174 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 5169.6755427 0.00018803 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1225.0961638 0.00164735 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 397.60051934 0.00911046 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 151.36154684 0.03698745 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.613321773 0.11376330 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28.514560307 0.25345209 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.248003298 0.38019403 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.3048807760 0.30989136 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.9493525821 0.08741894 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 40.738772213 0.00000000 -0.00732338 0.00000000 0.00000000 0.00000000 0.00000000 14.062358461 0.00000000 -0.03428259 0.00000000 0.00000000 0.00000000 0.00000000 2.7460680961 0.00000000 0.35655009 0.00000000 0.00000000 0.00000000 0.00000000 1.2713688141 0.00000000 0.76112035 0.00000000 0.00000000 0.00000000 0.00000000 0.5761001555 0.00000000 0.62716743 0.00000000 0.00000000 0.00000000 0.00000000 0.2398182072 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1100000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0500000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0230000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 5 0 89.589880075 0.00212230 0.00000000 0.00000000 0.00000000 0.00000000 26.591412960 0.01591182 0.00000000 0.00000000 0.00000000 0.00000000 9.7739715702 0.06287524 0.00000000 0.00000000 0.00000000 0.00000000 3.9625083655 0.17144171 0.00000000 0.00000000 0.00000000 0.00000000 1.6890532654 0.30565507 0.00000000 0.00000000 0.00000000 0.00000000 0.7153977147 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2936667775 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1107909485 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0450000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 2.093 1.00000000 0.00000000 0.00000000 0.562 0.00000000 1.00000000 0.00000000 0.191 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 1.004 1.00000000 0.00000000 0.268 0.00000000 1.00000000 a 23 $ VANADIUM (24s18p9d) / [11s6p5d] $ Diffuse: f,g: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ S-TYPE FUNCTIONS 24 11 0 3360380.0382 0.00000870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 502646.73178 0.00006779 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 114247.22867 0.00035699 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 32321.972630 0.00150755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 10532.947271 0.00546644 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3798.3004439 0.01754731 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1479.6094715 0.05010659 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 612.57405507 0.12431296 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 266.22103326 0.25117027 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 120.21980126 0.35926016 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 55.591180848 0.27505076 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1082.4768635 0.00000000 0.00393268 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 334.94462061 0.00000000 0.03829848 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 128.31559026 0.00000000 0.17259909 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 55.311589616 0.00000000 0.31287423 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 25.108383036 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 11.667553242 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5.5372073270 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.3781007618 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.1506947329 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.5128399104 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1162571145 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0582727856 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0266623122 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 5782.8035005 0.00018345 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1369.9392282 0.00160952 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 444.53147129 0.00892423 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 169.25617556 0.03637518 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71.168730031 0.11246803 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.933358374 0.25226108 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.865336779 0.38039695 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.0921740091 0.31068797 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.3281157846 0.08814120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 45.842906017 0.00000000 -0.00566614 0.00000000 0.00000000 0.00000000 0.00000000 15.940339016 0.00000000 -0.02671898 0.00000000 0.00000000 0.00000000 0.00000000 3.1257155025 0.00000000 0.27354633 0.00000000 0.00000000 0.00000000 0.00000000 1.4485867558 0.00000000 0.57972883 0.00000000 0.00000000 0.00000000 0.00000000 0.6557790283 0.00000000 0.47601111 0.00000000 0.00000000 0.00000000 0.00000000 0.2731162664 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1220000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0550000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0250000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 5 0 103.95047414 0.00210072 0.00000000 0.00000000 0.00000000 0.00000000 30.901688665 0.01601524 0.00000000 0.00000000 0.00000000 0.00000000 11.420321145 0.06412746 0.00000000 0.00000000 0.00000000 0.00000000 4.6573272292 0.17488906 0.00000000 0.00000000 0.00000000 0.00000000 1.9963682623 0.31003778 0.00000000 0.00000000 0.00000000 0.00000000 0.8496724953 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3495322188 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1316558823 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0520000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 2.933 1.00000000 0.00000000 0.00000000 0.831 0.00000000 1.00000000 0.00000000 0.257 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 1.856 1.00000000 0.00000000 0.455 0.00000000 1.00000000 a 24 $ CHROMIUM (24s18p9d) / [11s6p5d] $ Diffuse: f,g: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ S-TYPE FUNCTIONS 24 11 0 3637838.6820 0.00000877 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 544864.46100 0.00006817 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 123997.55079 0.00035844 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 35116.733166 0.00151170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 11455.702298 0.00547319 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4135.9906712 0.01753943 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1613.2513581 0.05000487 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 668.77932380 0.12393519 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 291.01365155 0.25039606 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 131.57328167 0.35870470 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 60.924567928 0.27581149 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1196.2899601 0.00000000 0.00773686 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 369.76947592 0.00000000 0.07583784 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 141.54426084 0.00000000 0.34435149 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 60.999228765 0.00000000 0.63249298 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 27.599113358 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 12.882112056 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6.1247513721 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.6332895309 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.2708482289 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.5648357592 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1259680894 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0620456073 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0281443127 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 6395.8781792 0.00018105 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1515.1701574 0.00158937 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 491.70538681 0.00882587 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 187.28416675 0.03606895 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 78.800346444 0.11189650 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.396291693 0.25202240 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.509278879 0.38082266 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.8947396863 0.31035222 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.7136414465 0.08798031 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.259312534 0.00000000 -0.00605420 0.00000000 0.00000000 0.00000000 0.00000000 17.934932523 0.00000000 -0.02876176 0.00000000 0.00000000 0.00000000 0.00000000 3.5257174218 0.00000000 0.29087768 0.00000000 0.00000000 0.00000000 0.00000000 1.6339163906 0.00000000 0.61267525 0.00000000 0.00000000 0.00000000 0.00000000 0.7385241383 0.00000000 0.50126035 0.00000000 0.00000000 0.00000000 0.00000000 0.3075236819 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1350000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0590000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0260000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 5 0 118.24986288 0.00210128 0.00000000 0.00000000 0.00000000 0.00000000 35.193935700 0.01621227 0.00000000 0.00000000 0.00000000 0.00000000 13.057816022 0.06558185 0.00000000 0.00000000 0.00000000 0.00000000 5.3485602844 0.17849601 0.00000000 0.00000000 0.00000000 0.00000000 2.3004233713 0.31376763 0.00000000 0.00000000 0.00000000 0.00000000 0.9811432831 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4033418321 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1513558955 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 3.733 1.00000000 0.00000000 0.00000000 1.147 0.00000000 1.00000000 0.00000000 0.366 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 2.657 1.00000000 0.00000000 0.719 0.00000000 1.00000000 a 25 $ MANGANESE (24s18p10d) / [11s6p5d] $ Diffuse: f,g: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ (diff.1f) F. Weigend 09/03 (down. ext. from 3f) $ S-TYPE FUNCTIONS 24 11 0 4289357.6441 0.00000794 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 636361.00285 0.00006254 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 143637.27569 0.00033226 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 40406.345432 0.00141300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 13104.363417 0.00515609 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4705.0664255 0.01665957 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1825.7125432 0.04790808 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 753.33816229 0.11994904 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 326.47253285 0.24550297 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 147.10300670 0.35822740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 67.987226869 0.28295764 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1300.7266717 0.00000000 0.00760252 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 402.72027544 0.00000000 0.07436511 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 154.38971348 0.00000000 0.33780474 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 66.443384613 0.00000000 0.62779332 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 30.975316006 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 14.222980890 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6.7598265074 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.9087083287 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.3966507792 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.6179262409 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1343948372 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0651950538 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0294157136 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 6483.2629658 0.00020480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1556.7134859 0.00175258 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 509.73925460 0.00957988 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 195.28408089 0.03868136 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 82.542547525 0.11832402 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.212076731 0.26168460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.425804462 0.38400629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.3691376962 0.29704167 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.9409000444 0.07826329 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 57.202741010 0.00000000 -0.00477491 0.00000000 0.00000000 0.00000000 0.00000000 20.090935947 0.00000000 -0.02298973 0.00000000 0.00000000 0.00000000 0.00000000 3.9357553763 0.00000000 0.23197066 0.00000000 0.00000000 0.00000000 0.00000000 1.8181984012 0.00000000 0.48435204 0.00000000 0.00000000 0.00000000 0.00000000 0.8188153528 0.00000000 0.39159479 0.00000000 0.00000000 0.00000000 0.00000000 0.3403835919 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1500000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0630000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0270000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 200.40254535 0.00089550 0.00000000 0.00000000 0.00000000 0.00000000 59.898225773 0.00762576 0.00000000 0.00000000 0.00000000 0.00000000 22.810570167 0.03452322 0.00000000 0.00000000 0.00000000 0.00000000 9.5874142097 0.10552677 0.00000000 0.00000000 0.00000000 0.00000000 4.2933710910 0.22575378 0.00000000 0.00000000 0.00000000 0.00000000 1.9537618373 0.32766534 0.00000000 0.00000000 0.00000000 0.00000000 0.8737887360 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3759774890 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1481154759 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 4.3530 1.00000000 0.00000000 0.00000000 0.00000000 1.3260 0.00000000 1.00000000 0.00000000 0.00000000 0.4080 0.00000000 0.00000000 1.00000000 0.00000000 0.1255 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 3.316 1.00000000 0.00000000 0.929 1.00000000 0.00000000 a 26 $ IRON (24s18p10d) / [11s6p5d] $ Diffuse: f,g: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ diff.1f F. Weigend 09/03 (down. ext. from 3f) $ S-TYPE FUNCTIONS 24 11 0 4313154.4338 0.00000867 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 645875.08253 0.00006742 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 146981.87698 0.00035449 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 41630.615044 0.00149483 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 13580.620109 0.00541367 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4902.0620613 0.01736246 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1911.2900837 0.04956657 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 791.99837852 0.12309090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 344.54799181 0.24936706 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 155.78722730 0.35858415 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 72.179380315 0.27738222 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1417.9125091 0.00000000 0.00748716 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 439.23184195 0.00000000 0.07333758 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 168.51006820 0.00000000 0.33383144 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 72.776269412 0.00000000 0.62022525 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 32.752961774 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 15.434336101 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 7.3639318205 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.1698832880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.5243708395 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.6749628115 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1471856603 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0700822166 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0312082694 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 7709.0587627 0.00017711 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1826.4666323 0.00155601 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 592.84368362 0.00866295 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 225.93763245 0.03556595 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 95.164758890 0.11098847 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 42.823132375 0.25177797 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.036286581 0.38166911 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.6159346283 0.30963598 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.5393538787 0.08755828 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 62.997519003 0.00000000 -0.00509104 0.00000000 0.00000000 0.00000000 0.00000000 22.262748731 0.00000000 -0.02454046 0.00000000 0.00000000 0.00000000 0.00000000 4.3900064942 0.00000000 0.24345605 0.00000000 0.00000000 0.00000000 0.00000000 2.0328913928 0.00000000 0.50781898 0.00000000 0.00000000 0.00000000 0.00000000 0.9159262158 0.00000000 0.41214896 0.00000000 0.00000000 0.00000000 0.00000000 0.3803665351 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1600000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0670000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0280000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 218.33430163 0.00093700 0.00000000 0.00000000 0.00000000 0.00000000 65.256292616 0.00800088 0.00000000 0.00000000 0.00000000 0.00000000 24.866944817 0.03630529 0.00000000 0.00000000 0.00000000 0.00000000 10.473399301 0.11057190 0.00000000 0.00000000 0.00000000 0.00000000 4.6947005007 0.23219589 0.00000000 0.00000000 0.00000000 0.00000000 2.1315982534 0.32922860 0.00000000 0.00000000 0.00000000 0.00000000 0.9474800461 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4034648883 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1568741473 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0620000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 5.1030 1.00000000 0.00000000 0.00000000 0.00000000 1.5980 0.00000000 1.00000000 0.00000000 0.00000000 0.5050 0.00000000 0.00000000 1.00000000 0.00000000 0.1596 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 3.975 1.00000000 0.00000000 1.139 0.00000000 1.00000000 a 27 $ COBALT (24s18p10d) / [11s6p5d] $ Diffuse: f,g: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ diff.1f F. Weigend 09/03 (down. ext. from 3f) $ S-TYPE FUNCTIONS 24 11 0 4658206.5032 0.00000866 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 697560.87453 0.00006734 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 158759.87124 0.00035399 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 44969.099379 0.00149264 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 14670.714247 0.00540531 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5295.8947250 0.01733523 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2065.0581167 0.04948664 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 855.90627750 0.12289352 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 372.48747255 0.24903230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 168.50576608 0.35838320 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 78.128761566 0.27777974 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1534.5149885 0.00000000 0.00744644 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 475.52976096 0.00000000 0.07299360 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 182.54836839 0.00000000 0.33243105 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 78.916467177 0.00000000 0.61900490 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 35.500865522 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 16.790414486 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8.0240232510 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.4571682964 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.6599835391 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.7338002245 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1587861310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0745356595 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0328673517 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 8425.4331352 0.00017492 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1995.8758452 0.00153789 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 647.76765681 0.00857525 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 246.88261214 0.03529527 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 104.00952246 0.11050008 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.827478138 0.25160925 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.934444535 0.38209003 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.540499528 0.30947120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.9820419385 0.08743687 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 69.270787130 0.00000000 -0.00611724 0.00000000 0.00000000 0.00000000 0.00000000 24.583977935 0.00000000 -0.02965504 0.00000000 0.00000000 0.00000000 0.00000000 4.8562258878 0.00000000 0.29163333 0.00000000 0.00000000 0.00000000 0.00000000 2.2480916102 0.00000000 0.60629408 0.00000000 0.00000000 0.00000000 0.00000000 1.0114285977 0.00000000 0.49057440 0.00000000 0.00000000 0.00000000 0.00000000 0.4191990546 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1750000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0730000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0300000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 237.58450966 0.00097593 0.00000000 0.00000000 0.00000000 0.00000000 71.086896302 0.00834326 0.00000000 0.00000000 0.00000000 0.00000000 27.119080683 0.03795847 0.00000000 0.00000000 0.00000000 0.00000000 11.448239054 0.11522936 0.00000000 0.00000000 0.00000000 0.00000000 5.1391806672 0.23843468 0.00000000 0.00000000 0.00000000 0.00000000 2.3323492099 0.33205700 0.00000000 0.00000000 0.00000000 0.00000000 1.0338662062 0.00000000 0.33276836 0.00000000 0.00000000 0.00000000 0.4378514629 0.00000000 0.00000000 0.22769291 0.00000000 0.00000000 0.1689500495 0.00000000 0.00000000 0.00000000 0.07463413 0.00000000 0.0660000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 5.975 1.00000000 0.00000000 0.00000000 0.00000000 1.903 0.00000000 1.00000000 0.00000000 0.00000000 0.594 0.00000000 0.00000000 1.00000000 0.00000000 0.1854 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 4.635 1.00000000 0.00000000 1.349 0.00000000 1.00000000 a 28 $ NICKEL (24s18p10d) / [11s6p5d] $ Diffuse: f,g: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ diff.1f F. Weigend 09/03 (down. ext. from 3f) $ S-TYPE FUNCTIONS 24 11 0 5037649.9532 0.00000861 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 754246.39418 0.00006694 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 171644.16010 0.00035191 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 48617.230286 0.00148391 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 15860.961795 0.00537363 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5726.0018653 0.01723338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2232.9547317 0.04921148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 925.49649101 0.12232505 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 402.75336913 0.24829252 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 182.19422856 0.35825476 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 84.494109788 0.27881866 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1678.0564586 0.00000000 0.00824629 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 519.21358326 0.00000000 0.08150594 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 198.95881607 0.00000000 0.37495728 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 85.901180703 0.00000000 0.70841744 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 38.435760123 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18.252349351 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8.7283616939 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.7616245662 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.8028217338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.7950714051 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1703172028 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0789712362 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0345034868 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 9156.5701453 0.00017346 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2169.0239526 0.00152572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 703.98918991 0.00851633 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 268.36293215 0.03511747 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 113.10288796 0.11020275 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 50.955539222 0.25162602 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.896708209 0.38246390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.498241522 0.30907230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.4410908056 0.08719438 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.938560736 0.00000000 -0.00746355 0.00000000 0.00000000 0.00000000 0.00000000 27.037350184 0.00000000 -0.03645340 0.00000000 0.00000000 0.00000000 0.00000000 5.3404687432 0.00000000 0.35633549 0.00000000 0.00000000 0.00000000 0.00000000 2.4700181361 0.00000000 0.73774122 0.00000000 0.00000000 0.00000000 0.00000000 1.1095029064 0.00000000 0.59439383 0.00000000 0.00000000 0.00000000 0.00000000 0.4589976710 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1870000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0762000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0310000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 258.11131142 0.00237263 0.00000000 0.00000000 0.00000000 0.00000000 77.254891371 0.02033013 0.00000000 0.00000000 0.00000000 0.00000000 29.500240033 0.09274849 0.00000000 0.00000000 0.00000000 0.00000000 12.477446945 0.28082285 0.00000000 0.00000000 0.00000000 0.00000000 5.6070455111 0.57392658 0.00000000 0.00000000 0.00000000 0.00000000 2.5427744163 0.78766059 0.00000000 0.00000000 0.00000000 0.00000000 1.1238296774 0.00000000 0.77868790 0.00000000 0.00000000 0.00000000 0.4736117146 0.00000000 0.00000000 0.52932234 0.00000000 0.00000000 0.1816185832 0.00000000 0.00000000 0.00000000 0.17478168 0.00000000 0.0710000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 6.758 1.00000000 0.00000000 0.00000000 0.00000000 2.174 0.00000000 1.00000000 0.00000000 0.00000000 0.681 0.00000000 0.00000000 1.00000000 0.00000000 0.213 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 5.294 1.00000000 0.0000000 1.558 0.00000000 1.0000000 a 29 $ COPPER (24s18p9d) / [11s6p5d] $ Diffuse: f,g: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ diff.1f F. Weigend 09/03 (down. ext. from 3f) $ S-TYPE FUNCTIONS 24 11 0 5056467.8898 0.00000935 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 759457.83835 0.00007232 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 173524.88497 0.00037814 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 49327.259988 0.00158701 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 16144.149930 0.00572207 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5844.5964680 0.01826839 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2284.6812739 0.05189372 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 948.88232514 0.12796192 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 413.66215455 0.25629891 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 187.38942059 0.36064416 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 86.872771648 0.26833665 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1744.0598287 0.00000000 0.00885871 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 540.93295513 0.00000000 0.08652279 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 207.99736224 0.00000000 0.38932285 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 90.475793036 0.00000000 0.69777200 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 38.869687699 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18.974829147 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9.0953644635 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.8330020174 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.8198891499 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.7906809839 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1491414211 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0724480906 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0309599254 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 9720.4614555 0.00017829 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2302.7557452 0.00156781 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 747.48498314 0.00874701 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 285.00132623 0.03604455 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 120.15121609 0.11287209 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.145261156 0.25647377 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.406033563 0.38512918 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.224331465 0.30316512 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.7638720668 0.08167722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 83.210837217 0.00000000 -0.00635304 0.00000000 0.00000000 0.00000000 0.00000000 29.694779129 0.00000000 -0.03138383 0.00000000 0.00000000 0.00000000 0.00000000 5.8248516206 0.00000000 0.30930040 0.00000000 0.00000000 0.00000000 0.00000000 2.6746181180 0.00000000 0.63583926 0.00000000 0.00000000 0.00000000 0.00000000 1.1841836775 0.00000000 0.50946046 0.00000000 0.00000000 0.00000000 0.00000000 0.4804358354 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1870000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0762000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0310000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 249.54025080 0.00124329 0.00000000 0.00000000 0.00000000 0.00000000 74.683914534 0.01045690 0.00000000 0.00000000 0.00000000 0.00000000 28.392717116 0.04645124 0.00000000 0.00000000 0.00000000 0.00000000 11.955968430 0.13541360 0.00000000 0.00000000 0.00000000 0.00000000 5.3210744624 0.25852900 0.00000000 0.00000000 0.00000000 0.00000000 2.3661189459 0.33168128 0.00000000 0.00000000 0.00000000 0.00000000 1.0131863994 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4071003594 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1474254103 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0710000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 6.962 1.00000000 0.00000000 0.00000000 0.00000000 2.233 0.00000000 1.00000000 0.00000000 0.00000000 0.704 0.00000000 0.00000000 1.00000000 0.00000000 0.240 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 5.953 1.00000000 0.00000000 1.768 0.00000000 1.00000000 a 30 $ ZINC (24s18p9d) / [11s6p5d] $ Diffuse: f,g: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ diff.1f F. Weigend 09/03 (down. ext. from 3f) $ S-TYPE FUNCTIONS 24 11 0 5742307.1507 0.00000869 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 861450.78790 0.00006736 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 196346.05866 0.00035350 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 55682.870737 0.00148842 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18183.902394 0.00538409 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6569.6448019 0.01725274 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2563.5613276 0.04923868 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1063.1147176 0.12235812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 462.89771078 0.24835390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 209.52821049 0.35830633 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 97.240787991 0.27880260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1929.2689992 0.00000000 0.00830770 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 598.07122307 0.00000000 0.08188259 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 229.69667336 0.00000000 0.37588060 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 99.416819228 0.00000000 0.71067260 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 44.241101421 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 21.194367113 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 10.158731597 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4.3746176158 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.0901489071 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.9186913644 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1927866061 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0873299152 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0375522171 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 10690.445107 0.00017143 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2532.3159340 0.00150880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 821.94295003 0.00843688 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 313.42757800 0.03489810 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 132.18314247 0.10993617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 59.620554387 0.25207277 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28.019488868 0.38325658 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.511704850 0.30787091 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.4053711253 0.08641170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 89.981131918 0.00000000 -0.00962628 0.00000000 0.00000000 0.00000000 0.00000000 32.241767106 0.00000000 -0.04750941 0.00000000 0.00000000 0.00000000 0.00000000 6.3809448581 0.00000000 0.45834100 0.00000000 0.00000000 0.00000000 0.00000000 2.9477928353 0.00000000 0.94473799 0.00000000 0.00000000 0.00000000 0.00000000 1.3200854955 0.00000000 0.75923465 0.00000000 0.00000000 0.00000000 0.00000000 0.5442467445 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2579997180 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0928631924 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0340593414 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 4 0 305.22298937 0.00273598 0.00000000 0.00000000 0.00000000 0.00000000 91.468273202 0.02358523 0.00000000 0.00000000 0.00000000 0.00000000 34.986985968 0.10858422 0.00000000 0.00000000 0.00000000 0.00000000 14.849415187 0.32843594 0.00000000 0.00000000 0.00000000 0.00000000 6.6858545707 0.66180236 0.00000000 0.00000000 0.00000000 0.00000000 3.0309412620 0.89165339 0.00000000 0.00000000 0.00000000 0.00000000 1.3355050671 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5588317639 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2118079929 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0830000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 8.020 1.00000000 0.00000000 0.00000000 0.00000000 2.614 0.00000000 1.00000000 0.00000000 0.00000000 0.836 0.00000000 0.00000000 1.00000000 0.00000000 0.2673 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 6.613 1.00000000 0.00000000 1.978 1.00000000 0.00000000 a 31 $ GALLIUM (24s18p10d) / [11s7p4d] $ diffuse # 2f1g (Dunning pVQZ) $ #steep 2f (abs(EMP2)=max) (F.Weigend 04/03) $ S-TYPE FUNCTIONS 24 11 0 6623802.0274 0.00007909 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 987904.07075 0.00006184 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 224132.05899 0.00032636 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 63315.192943 0.00138104 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 20611.312702 0.00501538 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 7429.1672482 0.01613094 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2894.2071720 0.04624083 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1198.9915786 0.11579100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 521.82003812 0.23834841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 236.27549237 0.35374256 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 109.98395671 0.29055722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2101.2587253 0.00000000 0.00830396 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 650.97022519 0.00000000 0.08225413 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 250.22438356 0.00000000 0.38021717 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 108.17616625 0.00000000 0.74503595 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 51.057486710 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 23.647474527 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 11.361701144 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5.0178135897 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.4102674998 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.0741046685 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.2574507583 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.1217522755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0523605990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 19 7 0 14711.750483 0.00011131 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3482.1451716 0.00098496 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1130.2186655 0.00558542 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 431.54093448 0.02368241 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 182.41723648 0.07821159 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 82.706753603 0.19503830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 39.228128772 0.34131988 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 19.201979939 0.35718665 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.5056966689 0.16395955 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 92.615613022 0.00000000 -0.08584828 0.00000000 0.00000000 0.00000000 0.00000000 0.0 33.750148165 0.00000000 -0.39435020 0.00000000 0.00000000 0.00000000 0.00000000 0.0 7.3482283015 0.00000000 0.00000000 0.37941607 0.00000000 0.00000000 0.00000000 0.0 3.7813384844 0.00000000 0.00000000 0.71306292 0.00000000 0.00000000 0.00000000 0.0 2.3145183128 0.00000000 0.00000000 0.43210001 0.00000000 0.00000000 0.00000000 0.0 0.8034685972 0.00000000 0.00000000 0.25838123 0.00000000 0.00000000 0.00000000 0.0 1.5423710087 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.3291023964 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1183408883 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0416278777 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 363.49565218 0.00087402 0.00000000 0.00000000 0.00000000 109.01749589 0.00767519 0.00000000 0.00000000 0.00000000 41.866430715 0.03638898 0.00000000 0.00000000 0.00000000 17.879279894 0.11325183 0.00000000 0.00000000 0.00000000 8.1201893671 0.23770881 0.00000000 0.00000000 0.00000000 3.7360611356 0.33306060 0.00000000 0.00000000 0.00000000 1.6826812549 0.33130614 0.00000000 0.00000000 0.00000000 0.7265579050 0.00000000 0.21895438 0.00000000 0.00000000 0.2849858508 0.00000000 0.00000000 1.00000000 0.00000000 0.1120000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 7.79470377 1.00000000 0.00000000 0.00000000 0.00000000 2.29567059 0.00000000 1.00000000 0.00000000 0.00000000 0.18100000 0.00000000 0.00000000 1.00000000 0.00000000 0.47100000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.40320000 1.00000000 a 32 $ GERMANIUM (24s19p10d) / [11s7p4d] $ diffuse # 2f1g (Dunning pVQZ) $ #steep 2f (abs(EMP2)=max) (F.Weigend 04/03) $ S-TYPE FUNCTIONS 24 11 0 7233056.0346 0.00000766 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1082886.1731 0.00005960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 246481.46959 0.00031319 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 69862.426955 0.00131941 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 22815.809662 0.00477361 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8246.5369297 0.01531925 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3219.9367257 0.04390087 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1336.5743706 0.11028574 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 582.87737501 0.22912630 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 264.59511360 0.34779259 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 123.77823320 0.29968722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2311.1055804 0.00000000 0.00750331 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 716.27089868 0.00000000 0.07477839 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 275.45330910 0.00000000 0.35092882 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 118.93292565 0.00000000 0.72055990 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 58.435699085 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 26.261575973 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 12.664880671 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5.7269548505 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.7555023203 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.2432886754 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.3310718385 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.1596408137 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0684631789 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 19 7 0 16555.711074 0.00010199 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3914.9903745 0.00090504 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1269.4766518 0.00515585 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 484.35437789 0.02201034 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 204.64985822 0.07343480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 92.791032094 0.18608955 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 44.055060255 0.33330982 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 21.601319931 0.36229776 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.732169233 0.17765186 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 100.88933962 0.00000000 -0.11146182 0.00000000 0.00000000 0.00000000 0.00000000 0.0 36.640254741 0.00000000 -0.52324324 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.0343224115 0.00000000 0.00000000 0.31484763 0.00000000 0.00000000 0.00000000 0.0 4.5613438333 0.00000000 0.00000000 0.38737745 0.00000000 0.00000000 0.00000000 0.0 3.1794882223 0.00000000 0.00000000 0.50034354 0.00000000 0.00000000 0.00000000 0.0 0.9261204146 0.00000000 0.00000000 0.22656708 0.00000000 0.00000000 0.00000000 0.0 0.0 1.7977040907 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.4138686543 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1583079871 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0578770359 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 420.99565921 0.00078212 0.00000000 0.00000000 0.00000000 126.36209818 0.00695601 0.00000000 0.00000000 0.00000000 48.661473548 0.03371219 0.00000000 0.00000000 0.00000000 20.880325527 0.10717291 0.00000000 0.00000000 0.00000000 9.5418229355 0.23161030 0.00000000 0.00000000 0.00000000 4.4353653868 0.33390954 0.00000000 0.00000000 0.00000000 2.0285421942 0.33720676 0.00000000 0.00000000 0.00000000 0.8948493527 0.00000000 0.21702473 0.00000000 0.00000000 0.3578607433 0.00000000 0.00000000 1.00000000 0.00000000 0.1400000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 8.94253290 1.00000000 0.00000000 0.00000000 0.00000000 2.69203130 0.00000000 1.00000000 0.00000000 0.00000000 0.54920000 0.00000000 0.00000000 1.00000000 0.00000000 0.21900000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.46810000 1.00000000 a 33 $ ARSENIC (24s20p10d) / [11s7p4d] $ diffuse # 2f1g (Dunning pVQZ) $ #steep 2f (abs(EMP2)=max) (F.Weigend 04/03) $ S-TYPE FUNCTIONS 24 11 0 8217482.6198 0.00000706 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1230500.3720 0.00005488 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 280225.86648 0.00028809 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 79482.509415 0.00121298 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 25963.783351 0.00439146 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9381.4010193 0.01412536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3660.4911972 0.04065792 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1518.2356024 0.10300383 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 661.80098920 0.21730077 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 300.58642127 0.33995751 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 141.11137296 0.31088634 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2577.0870580 0.00000000 0.00707530 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 798.07872277 0.00000000 0.07138362 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 306.57574948 0.00000000 0.34287025 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 132.27558802 0.00000000 0.74361403 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 67.448702235 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 29.209180441 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 14.156509326 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6.5561506682 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.1392847238 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.4294631050 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.4110339089 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.2003245331 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0856699289 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 20 7 0 25198.504278 0.00005476 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5972.5601381 0.00048572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1941.9123183 0.00279081 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 743.59381104 0.01220151 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 315.63828052 0.04266629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 143.96878925 0.11870919 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 69.068683164 0.24909407 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 34.254305629 0.36061357 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 17.371746759 0.29392242 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.7634555628 0.09782906 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 228.49024582 0.00000000 -0.00249001 0.00000000 0.00000000 0.00000000 0.00000000 0.0 86.313555488 0.00000000 -0.01948252 0.00000000 0.00000000 0.00000000 0.00000000 0.0 36.751366267 0.00000000 -0.06149507 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.5365149464 0.00000000 0.47258065 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4.1935128599 0.00000000 1.02360651 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.0464980417 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.9800000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.4053434062 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1665507047 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0659817061 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 479.32599612 0.00071723 0.00000000 0.00000000 0.00000000 143.96064855 0.00644192 0.00000000 0.00000000 0.00000000 55.548909224 0.03177650 0.00000000 0.00000000 0.00000000 23.927581006 0.10276249 0.00000000 0.00000000 0.00000000 10.988194172 0.22710953 0.00000000 0.00000000 0.00000000 5.1489356262 0.33477474 0.00000000 0.00000000 0.00000000 2.3836810892 0.34175986 0.00000000 0.00000000 0.00000000 1.0688204667 0.00000000 0.21462892 0.00000000 0.00000000 0.4330569374 0.00000000 0.00000000 1.00000000 0.00000000 0.1700000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 10.1810968 1.00000000 0.00000000 0.00000000 0.00000000 3.12807046 0.00000000 1.00000000 0.00000000 0.00000000 0.26400000 0.00000000 0.00000000 1.00000000 0.00000000 0.64400000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.54650000 1.00000000 a 34 $ SELENIUM (24s20p10d) / [11s7p4d] $ diffuse # 2f1g (Dunning pVQZ) $ #steep 2f (abs(EMP2)=max) (F.Weigend 04/03) $ S-TYPE FUNCTIONS 24 11 0 9520446.7743 0.00000633 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1424984.0802 0.00004927 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 324127.57682 0.00025920 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 91774.876950 0.00109431 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 29932.725725 0.00397061 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 10804.617905 0.01280119 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4214.0134779 0.03698038 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1747.8116633 0.09446135 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 762.12160878 0.20274705 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 346.45604141 0.32878956 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 163.11569304 0.32300253 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2614.5153067 0.00000000 0.00791139 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 818.68552756 0.00000000 0.07718774 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 318.63398991 0.00000000 0.35672062 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 139.04844125 0.00000000 0.75846750 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 78.348734788 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 31.704290663 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 15.505859269 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 7.3227423625 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.4969483549 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.6121546085 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.4958715854 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.2409213818 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.1023173940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 20 7 0 25360.215615 0.00006053 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5993.7896610 0.00053988 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1943.0741755 0.00311305 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 742.35316156 0.01359967 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 314.62114597 0.04729896 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 143.34748044 0.12981488 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 68.673617552 0.26569982 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 34.013554117 0.36723195 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 17.198099621 0.27478356 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.5830329629 0.07925617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 236.58209146 0.00000000 -0.00122716 0.00000000 0.00000000 0.00000000 0.00000000 0.0 90.576183214 0.00000000 -0.00925846 0.00000000 0.00000000 0.00000000 0.00000000 0.0 39.086689301 0.00000000 -0.02842873 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.3084344018 0.00000000 0.21201102 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4.6169923084 0.00000000 0.47117590 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.2653477506 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 1.0800000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.4793932858 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1961998385 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0762563393 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 539.48700124 0.00066723 0.00000000 0.00000000 0.00000000 162.13394435 0.00603993 0.00000000 0.00000000 0.00000000 62.661795641 0.03023867 0.00000000 0.00000000 0.00000000 27.077272889 0.09926789 0.00000000 0.00000000 0.00000000 12.483003929 0.22358036 0.00000000 0.00000000 0.00000000 5.8864623136 0.33574683 0.00000000 0.00000000 0.00000000 2.7519131105 0.34554856 0.00000000 0.00000000 0.00000000 1.2500769617 0.00000000 0.21216655 0.00000000 0.00000000 0.5117284184 0.00000000 0.00000000 1.00000000 0.00000000 0.2000000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 11.3333919 1.00000000 0.00000000 0.00000000 0.00000000 3.51855057 0.00000000 1.00000000 0.00000000 0.00000000 0.70970000 0.00000000 0.00000000 1.00000000 0.00000000 0.28400000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.57300000 1.00000000 a 35 $ BROMINE (24s20p10d) / [11s7p4d] $ diffuse # 2f1g (Dunning pVQZ) $ #steep 2f (abs(EMP2)=max) (F.Weigend 04/03) $ S-TYPE FUNCTIONS 24 11 0 10629044.264 0.00000593 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1591918.2739 0.00004612 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 362333.98437 0.00024245 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 102643.11141 0.00102314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 33489.846668 0.00371220 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 12091.247190 0.01197811 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4716.1908789 0.03468269 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1956.1598080 0.08906833 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 853.08595848 0.19330125 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 387.96633666 0.32071145 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 182.85156613 0.32996798 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3240.4086421 0.00000000 0.00659052 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1000.4631935 0.00000000 0.06843961 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 383.37301682 0.00000000 0.34495479 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 166.03929698 0.00000000 0.82315542 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 87.919906994 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 35.675840068 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 17.543657842 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8.4473660433 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.9666180616 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.8356815987 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.5908477878 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.2886321842 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.1215338054 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 20 7 0 26566.476579 0.00006207 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 6290.5088566 0.00055132 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2043.3178410 0.00316801 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 781.67221007 0.01381650 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 331.51078945 0.04801854 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 151.09198667 0.13162015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 72.395278166 0.26860052 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 35.869510844 0.36827391 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 18.139906191 0.27108613 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.0466688944 0.07621534 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 253.71822146 0.00000000 -0.00137292 0.00000000 0.00000000 0.00000000 0.00000000 0.0 97.250818058 0.00000000 -0.01039381 0.00000000 0.00000000 0.00000000 0.00000000 0.0 42.034897960 0.00000000 -0.03220421 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.9685673555 0.00000000 0.24224770 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4.9395854745 0.00000000 0.53557868 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.4382845475 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 1.1800000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.5104756497 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.2121585193 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0839436050 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 601.44434484 0.00062784 0.00000000 0.00000000 0.00000000 180.85718640 0.00572052 0.00000000 0.00000000 0.00000000 69.986806340 0.02900252 0.00000000 0.00000000 0.00000000 30.324710300 0.09644699 0.00000000 0.00000000 0.00000000 14.027909238 0.22065826 0.00000000 0.00000000 0.00000000 6.6511702082 0.33657642 0.00000000 0.00000000 0.00000000 3.1354168338 0.34872041 0.00000000 0.00000000 0.00000000 1.4393591843 0.00000000 0.20984536 0.00000000 0.00000000 0.5935044144 0.00000000 0.00000000 1.00000000 0.00000000 0.2300000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 12.7030624 1.00000000 0.00000000 0.00000000 0.00000000 4.00834557 0.00000000 1.00000000 0.00000000 0.00000000 0.82570000 0.00000000 0.00000000 1.00000000 0.00000000 0.34070000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.64910000 1.00000000 a 36 $ KRYPTON (24s20p10d) / [11s7p4d] $ diffuse # 2f1g (Dunning pVQZ) $ #steep 2f (abs(EMP2)=max) (F.Weigend 04/03) $ S-TYPE FUNCTIONS 24 11 0 11713823.008 0.00000569 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1755253.3979 0.00004421 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 399717.41924 0.00023228 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 113285.79260 0.00097974 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 36977.205293 0.00355376 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 13355.036580 0.01146867 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5210.9012988 0.03324163 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2162.1137020 0.08562073 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 943.29291023 0.18708767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 429.20724331 0.31497583 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 202.40720840 0.33406191 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3260.4985521 0.00000000 0.00730915 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1011.1069716 0.00000000 0.07404036 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 392.44359273 0.00000000 0.35414962 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 173.21702132 0.00000000 0.80188286 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 96.619988467 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 38.158284867 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18.959517570 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9.2505996199 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4.3486517621 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 2.0380324209 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.6911015254 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.3350606514 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.1407444112 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 20 7 0 28609.335767 0.00006053 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 6773.1236364 0.00053786 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2199.8011079 0.00309354 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 841.50201590 0.01351432 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 356.92110288 0.04709009 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 162.71174351 0.12960370 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 78.004264994 0.26607436 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 38.682579997 0.36775851 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 19.589158685 0.27406904 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.7990863417 0.07877335 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 261.37786869 0.00000000 -0.00163972 0.00000000 0.00000000 0.00000000 0.00000000 0.0 100.09932146 0.00000000 -0.01203480 0.00000000 0.00000000 0.00000000 0.00000000 0.0 44.012139363 0.00000000 -0.03489149 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.854010739 0.00000000 0.25212651 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5.4351930182 0.00000000 0.57400782 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.7062805542 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 1.3195633408 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.5800445597 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.2432997626 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0968237251 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 665.35057386 0.00059589 0.00000000 0.00000000 0.00000000 200.17995366 0.00545943 0.00000000 0.00000000 0.00000000 77.545085570 0.02798099 0.00000000 0.00000000 0.00000000 33.677854345 0.09411917 0.00000000 0.00000000 0.00000000 15.624928334 0.21825216 0.00000000 0.00000000 0.00000000 7.4427867423 0.33739971 0.00000000 0.00000000 0.00000000 3.5336073535 0.35141419 0.00000000 0.00000000 0.00000000 1.6363725142 0.00000000 0.20756719 0.00000000 0.00000000 0.6784568473 0.00000000 0.00000000 1.00000000 0.00000000 0.2700000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 14.180117992 1.00000000 0.00000000 0.0000000 0.0000000 4.539318368 0.00000000 1.00000000 0.0000000 0.0000000 0.955700000 0.00000000 0.00000000 1.0000000 0.0000000 0.413000000 0.00000000 0.00000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.73950000 1.00000000 $END OF BASIS ergo-3.5/basis/Turbomole-SV0000775000175000017500000013577312743400275012611 00000000000000$Basis = Turbomole-SV $ $******************************************************************************** $ NOTE: the AhlrichsVDZ at the EMSL basis set repository $ is almost the SV basis from Turbomole $******************************************************************************** $ $ Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca $ Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr $ $ REFERENCE $ Elements References $ -------- ---------- $ H - Kr: A. Schafer, H. Horn and R. Ahlrichs, J. Chem. Phys. 97, 2571 (1992). $*********************************************************************** a 1 $ HYDROGEN (4s) -> [2s] $ HYDROGEN (1p) $ S-TYPE FUNCTIONS 4 2 0 13.0107010 0.01968216 0.00000000 1.9622572 0.13796524 0.00000000 0.4445380 0.47831935 0.00000000 0.1219496 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.80000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ HELIUM (1p) $ S-TYPE FUNCTIONS 4 2 0 38.3549367 0.02381429 0.00000000 5.7689081 0.15490907 0.00000000 1.2399407 0.46998097 0.00000000 0.2975782 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 3 $ LITHIUM (7s) -> [3s] $ S-TYPE FUNCTIONS 7 3 0 266.2778552 0.00649202 0.00000000 0.00000000 40.0697834 0.04774786 0.00000000 0.00000000 9.0559944 0.20268796 0.00000000 0.00000000 2.4503009 0.48606575 0.00000000 0.00000000 0.7220957 0.43626978 0.00000000 0.00000000 0.0528109 0.00000000 1.00000000 0.00000000 0.0209609 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (7s) -> [3s] $ S-TYPE FUNCTIONS 7 3 0 515.1861613 0.00556153 0.00000000 0.00000000 77.5110376 0.04119007 0.00000000 0.00000000 17.5524817 0.17913378 0.00000000 0.00000000 4.8028941 0.44736716 0.00000000 0.00000000 1.4516214 0.42009582 0.00000000 0.00000000 0.1328163 0.00000000 1.00000000 0.00000000 0.0458374 0.00000000 0.00000000 1.00000000 a 5 $ BORON (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 839.3183009 -0.00559292 0.00000000 0.00000000 126.2646484 -0.04156552 0.00000000 0.00000000 28.6206008 -0.18299817 0.00000000 0.00000000 7.8793723 -0.46540392 0.00000000 0.00000000 2.4088857 -0.44173885 0.00000000 0.00000000 0.2510511 0.00000000 1.00000000 0.00000000 0.0836489 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 6.0332224 -0.03560367 0.00000000 1.2499158 -0.19895776 0.00000000 0.3387168 -0.50850203 0.00000000 0.0964156 0.00000000 1.00000000 a 6 $ CARBON (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 1238.4016938 0.00545688 0.00000000 0.00000000 186.2900499 0.04063841 0.00000000 0.00000000 42.2511763 0.18025594 0.00000000 0.00000000 11.6765579 0.46315122 0.00000000 0.00000000 3.5930506 0.44087173 0.00000000 0.00000000 0.4024515 0.00000000 1.00000000 0.00000000 0.1309018 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 9.4680971 0.03838787 0.00000000 2.0103545 0.21117025 0.00000000 0.5477100 0.51328172 0.00000000 0.1526861 0.00000000 1.00000000 a 7 $ NITROGEN (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 1712.8415853 -0.00539341 0.00000000 0.00000000 257.6481268 -0.04022158 0.00000000 0.00000000 58.4582459 -0.17931145 0.00000000 0.00000000 16.1983679 -0.46376318 0.00000000 0.00000000 5.0052601 -0.44171423 0.00000000 0.00000000 0.5873186 0.00000000 1.00000000 0.00000000 0.1876459 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 13.5714702 -0.04007240 0.00000000 2.9257373 -0.21807045 0.00000000 0.7992775 -0.51294466 0.00000000 0.2195435 0.00000000 1.00000000 a 8 $ OXYGEN (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 2266.1767785 -0.00534318 0.00000000 0.00000000 340.8701019 -0.03989004 0.00000000 0.00000000 77.3631352 -0.17853912 0.00000000 0.00000000 21.4796449 -0.46427685 0.00000000 0.00000000 6.6589433 -0.44309745 0.00000000 0.00000000 0.8097598 0.00000000 1.00000000 0.00000000 0.2553077 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 17.7215043 0.04339457 0.00000000 3.8635505 0.23094121 0.00000000 1.0480921 0.51375311 0.00000000 0.2764154 0.00000000 1.00000000 a 9 $ FLUORINE (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 2894.8325990 -0.00534083 0.00000000 0.00000000 435.4193912 -0.03990426 0.00000000 0.00000000 98.8433289 -0.17912768 0.00000000 0.00000000 27.4851980 -0.46758091 0.00000000 0.00000000 8.5405498 -0.44653131 0.00000000 0.00000000 1.0654578 0.00000000 1.00000000 0.00000000 0.3324735 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 22.6966339 -0.04521287 0.00000000 4.9872339 -0.23754317 0.00000000 1.3491614 -0.51287354 0.00000000 0.3482988 0.00000000 1.00000000 a 10 $ NEON (7s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 7 3 0 3598.9736625 -0.00532593 0.00000000 0.00000000 541.3207311 -0.03981742 0.00000000 0.00000000 122.9045006 -0.17914358 0.00000000 0.00000000 34.2166170 -0.46893583 0.00000000 0.00000000 10.6505841 -0.44782538 0.00000000 0.00000000 1.3545954 0.00000000 1.00000000 0.00000000 0.4191936 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 28.4240538 -0.04603194 0.00000000 6.2822511 -0.23993183 0.00000000 1.6978715 -0.50871725 0.00000000 0.4330070 0.00000000 1.00000000 a 11 $ SODIUM (10s,5p) -> [4s,1p] $ S-TYPE FUNCTIONS 10 4 0 4098.2003908 -0.00585359 0.00000000 0.00000000 0.00000000 616.4937403 -0.04364716 0.00000000 0.00000000 0.00000000 139.9664400 -0.19431466 0.00000000 0.00000000 0.00000000 39.0734411 -0.48685066 0.00000000 0.00000000 0.00000000 11.9298472 -0.41881705 0.00000000 0.00000000 0.00000000 20.6599660 0.00000000 0.08594969 0.00000000 0.00000000 1.9838861 0.00000000 -0.56359144 0.00000000 0.00000000 0.6483632 0.00000000 -0.51954009 0.00000000 0.00000000 0.0524440 0.00000000 0.00000000 1.00000000 0.00000000 0.0280482 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 1 0 75.4018620 0.01543536 17.2748190 0.09973829 5.1842347 0.31209594 1.6601212 0.49295675 0.5123253 0.32420398 a 12 $ MAGNESIUM (10s,5p) -> [4s,1p] $ S-TYPE FUNCTIONS 10 4 0 4953.8339196 -0.00577790 0.00000000 0.00000000 0.00000000 745.1804415 -0.04312476 0.00000000 0.00000000 0.00000000 169.2160497 -0.19268217 0.00000000 0.00000000 0.00000000 47.3006720 -0.48641439 0.00000000 0.00000000 0.00000000 14.4613370 -0.42550894 0.00000000 0.00000000 0.00000000 24.7681748 0.00000000 0.08795697 0.00000000 0.00000000 2.4940945 0.00000000 -0.55165058 0.00000000 0.00000000 0.8780758 0.00000000 -0.53443295 0.00000000 0.00000000 0.0872128 0.00000000 0.00000000 1.00000000 0.00000000 0.0335993 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 1 0 98.0530105 -0.01448056 22.5869323 -0.09549575 6.8391510 -0.30787673 2.2332844 -0.49936293 0.7160660 -0.31503476 a 13 $ ALUMINUM (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 5887.5727030 0.00134833 0.00000000 0.00000000 0.00000000 885.6122600 0.01007158 0.00000000 0.00000000 0.00000000 201.1360490 0.04513245 0.00000000 0.00000000 0.00000000 56.2849747 0.11461268 0.00000000 0.00000000 0.00000000 17.2295512 0.10159609 0.00000000 0.00000000 0.00000000 29.3402499 0.00000000 0.06934745 0.00000000 0.00000000 3.0439630 0.00000000 -0.42528118 0.00000000 0.00000000 1.1285540 0.00000000 -0.41449832 0.00000000 0.00000000 0.1423418 0.00000000 0.00000000 1.00000000 0.00000000 0.0544002 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 145.1191881 0.00639634 0.00000000 0.00000000 33.7178948 0.04418936 0.00000000 0.00000000 10.3698631 0.15581576 0.00000000 0.00000000 3.5135616 0.28635287 0.00000000 0.00000000 1.1980050 0.22921423 0.00000000 0.00000000 0.2658301 0.00000000 1.00000000 0.00000000 0.0710034 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 6903.7118686 0.00133740 0.00000000 0.00000000 0.00000000 1038.4346419 0.00999665 0.00000000 0.00000000 0.00000000 235.8758148 0.04491017 0.00000000 0.00000000 0.00000000 66.0693852 0.11463639 0.00000000 0.00000000 0.00000000 20.2479458 0.10280064 0.00000000 0.00000000 0.00000000 34.3534817 0.00000000 0.07083729 0.00000000 0.00000000 3.6370788 0.00000000 -0.43028836 0.00000000 0.00000000 1.4002049 0.00000000 -0.41382775 0.00000000 0.00000000 0.2048441 0.00000000 0.00000000 1.00000000 0.00000000 0.0779941 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 179.8390737 0.00619167 0.00000000 0.00000000 41.9072588 0.04339943 0.00000000 0.00000000 12.9552944 0.15632019 0.00000000 0.00000000 4.4383267 0.29419997 0.00000000 0.00000000 1.5462248 0.23536824 0.00000000 0.00000000 0.3560761 0.00000000 1.00000000 0.00000000 0.1000851 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 8002.4795106 0.00575035 0.00000000 0.00000000 0.00000000 1203.6813590 0.04300763 0.00000000 0.00000000 0.00000000 273.4422703 0.19363986 0.00000000 0.00000000 0.00000000 76.6555415 0.49651693 0.00000000 0.00000000 0.00000000 23.5169274 0.44983262 0.00000000 0.00000000 0.00000000 39.7916834 0.00000000 0.09518813 0.00000000 0.00000000 4.2770343 0.00000000 -0.57649840 0.00000000 0.00000000 1.6940257 0.00000000 -0.54239584 0.00000000 0.00000000 0.2756767 0.00000000 0.00000000 1.00000000 0.00000000 0.1049559 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 219.5075582 0.00921006 0.00000000 0.00000000 51.2741550 0.06540977 0.00000000 0.00000000 15.9215959 0.24033730 0.00000000 0.00000000 5.5069913 0.46318322 0.00000000 0.00000000 1.9537719 0.37392563 0.00000000 0.00000000 0.4780340 0.00000000 1.00000000 0.00000000 0.1365795 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 9184.9303010 -0.00222944 0.00000000 0.00000000 0.00000000 1381.5105503 -0.01668303 0.00000000 0.00000000 0.00000000 313.8714758 -0.07526244 0.00000000 0.00000000 0.00000000 88.0538706 -0.19376827 0.00000000 0.00000000 0.00000000 27.0399149 -0.17718021 0.00000000 0.00000000 0.00000000 45.6487313 0.00000000 -0.10736063 0.00000000 0.00000000 4.9664522 0.00000000 0.65066293 0.00000000 0.00000000 2.0116242 0.00000000 0.59712155 0.00000000 0.00000000 0.3566108 0.00000000 0.00000000 1.00000000 0.00000000 0.1350722 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 261.9823344 -0.00927299 0.00000000 0.00000000 61.3068947 -0.06654767 0.00000000 0.00000000 19.1037299 -0.24828596 0.00000000 0.00000000 6.6567720 -0.48703847 0.00000000 0.00000000 2.3959635 -0.39337850 0.00000000 0.00000000 0.6177616 0.00000000 1.00000000 0.00000000 0.1699338 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 10449.8275660 0.00197084 0.00000000 0.00000000 0.00000000 1571.7365221 0.01475473 0.00000000 0.00000000 0.00000000 357.1206552 0.06667911 0.00000000 0.00000000 0.00000000 100.2518594 0.17228924 0.00000000 0.00000000 0.00000000 30.8127276 0.15883786 0.00000000 0.00000000 0.00000000 51.9237894 0.00000000 -0.10009299 0.00000000 0.00000000 5.7045761 0.00000000 0.60841753 0.00000000 0.00000000 2.3508377 0.00000000 0.54352153 0.00000000 0.00000000 0.4460512 0.00000000 0.00000000 1.00000000 0.00000000 0.1684886 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 307.6679057 -0.00878015 0.00000000 0.00000000 72.1020155 -0.06356336 0.00000000 0.00000000 22.5326803 -0.24016428 0.00000000 0.00000000 7.8991765 -0.47798867 0.00000000 0.00000000 2.8767268 -0.38515850 0.00000000 0.00000000 0.7745936 0.00000000 1.00000000 0.00000000 0.2103770 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (10s,7p) -> [4s,3p] $ S-TYPE FUNCTIONS 10 4 0 11797.1197650 0.00202145 0.00000000 0.00000000 0.00000000 1774.3522753 0.01513985 0.00000000 0.00000000 0.00000000 403.1887573 0.06852540 0.00000000 0.00000000 0.00000000 113.2493400 0.17762929 0.00000000 0.00000000 0.00000000 34.8352982 0.16496495 0.00000000 0.00000000 0.00000000 58.6147750 0.00000000 -0.10343394 0.00000000 0.00000000 6.4922045 0.00000000 0.63133366 0.00000000 0.00000000 2.7117014 0.00000000 0.54887572 0.00000000 0.00000000 0.5441297 0.00000000 0.00000000 1.00000000 0.00000000 0.2051741 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 356.2870726 -0.00873218 0.00000000 0.00000000 83.5931329 -0.06368032 0.00000000 0.00000000 26.1867040 -0.24311907 0.00000000 0.00000000 9.2257276 -0.48956070 0.00000000 0.00000000 3.3922755 -0.39229190 0.00000000 0.00000000 0.9474053 0.00000000 1.00000000 0.00000000 0.2565914 0.00000000 0.00000000 1.00000000 a 19 $ POTASSIUM (14s,8p) -> [5s,2p] $ S-TYPE FUNCTIONS 14 5 0 31478.7467640 0.00398387 0.00000000 0.00000000 0.00000000 0.00000000 4726.8876066 0.03050176 0.00000000 0.00000000 0.00000000 0.00000000 1075.4345353 0.15073753 0.00000000 0.00000000 0.00000000 0.00000000 303.3981102 0.51912940 0.00000000 0.00000000 0.00000000 0.00000000 98.3271128 1.03669570 0.00000000 0.00000000 0.00000000 0.00000000 33.6362222 0.76398963 0.00000000 0.00000000 0.00000000 0.00000000 65.6392100 0.00000000 -0.28242617 0.00000000 0.00000000 0.00000000 7.3162592 0.00000000 1.69149359 0.00000000 0.00000000 0.00000000 2.8902580 0.00000000 1.29653320 0.00000000 0.00000000 0.00000000 4.5459749 0.00000000 0.00000000 -0.00763436 0.00000000 0.00000000 0.7040412 0.00000000 0.00000000 0.02563572 0.00000000 0.00000000 0.2826689 0.00000000 0.00000000 0.01660686 0.00000000 0.00000000 0.0290582 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0121116 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 361.2249215 0.02090648 0.00000000 84.6702222 0.15043642 0.00000000 26.4690882 0.55440061 0.00000000 9.2658078 1.04090100 0.00000000 3.3423388 0.67825341 0.00000000 1.5100876 0.00000000 0.75248191 0.5656838 0.00000000 1.37085850 0.2081701 0.00000000 0.66047633 a 20 $ CALCIUM (14s,8p) -> [5s,2p] $ S-TYPE FUNCTIONS 14 5 0 35138.7139290 0.00394825 0.00000000 0.00000000 0.00000000 0.00000000 5276.4111348 0.03023424 0.00000000 0.00000000 0.00000000 0.00000000 1200.4692589 0.14952020 0.00000000 0.00000000 0.00000000 0.00000000 338.7181054 0.51597346 0.00000000 0.00000000 0.00000000 0.00000000 109.8538592 1.03395103 0.00000000 0.00000000 0.00000000 0.00000000 37.6088803 0.76937934 0.00000000 0.00000000 0.00000000 0.00000000 73.1079776 0.00000000 -0.28268525 0.00000000 0.00000000 0.00000000 8.2407706 0.00000000 1.67960921 0.00000000 0.00000000 0.00000000 3.2959813 0.00000000 1.28037660 0.00000000 0.00000000 0.00000000 5.2341801 0.00000000 0.00000000 -0.00768686 0.00000000 0.00000000 0.8418722 0.00000000 0.00000000 0.02538238 0.00000000 0.00000000 0.3651029 0.00000000 0.00000000 0.01651217 0.00000000 0.00000000 0.0512224 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0198251 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 413.1131389 0.02032714 0.00000000 96.9357862 0.14730276 0.00000000 30.3721547 0.54887167 0.00000000 10.6847768 1.04406598 0.00000000 3.8821258 0.68653491 0.00000000 1.7993016 0.00000000 0.75410247 0.6918906 0.00000000 1.34092966 0.2636402 0.00000000 0.56391989 a 21 $ SCANDIUM (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 38956.0818040 0.00392932 0.00000000 0.00000000 0.00000000 0.00000000 5849.5733637 0.03009322 0.00000000 0.00000000 0.00000000 0.00000000 1330.8813154 0.14890371 0.00000000 0.00000000 0.00000000 0.00000000 375.5553417 0.51464283 0.00000000 0.00000000 0.00000000 0.00000000 121.8726137 1.03377081 0.00000000 0.00000000 0.00000000 0.00000000 41.7602437 0.77436852 0.00000000 0.00000000 0.00000000 0.00000000 81.0606340 0.00000000 -0.28318552 0.00000000 0.00000000 0.00000000 9.2059824 0.00000000 1.67708070 0.00000000 0.00000000 0.00000000 3.7063216 0.00000000 1.25947337 0.00000000 0.00000000 0.00000000 5.9888910 0.00000000 0.00000000 -0.00778214 0.00000000 0.00000000 0.9736343 0.00000000 0.00000000 0.02549969 0.00000000 0.00000000 0.4204102 0.00000000 0.00000000 0.01619156 0.00000000 0.00000000 0.0594406 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0228978 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 466.3148126 0.01998430 0.00000000 109.5121710 0.14561043 0.00000000 34.3759218 0.54687466 0.00000000 12.1420970 1.04790060 0.00000000 4.4336768 0.68894890 0.00000000 2.0971292 0.00000000 0.75619215 0.8097761 0.00000000 1.31782122 0.3083405 0.00000000 0.54312268 $ D-TYPE FUNCTIONS 5 2 0 19.2403349 0.02703908 0.00000000 5.1178996 0.13803685 0.00000000 1.6554279 0.34869086 0.00000000 0.5401636 0.48594186 0.00000000 0.1621121 0.00000000 0.34374449 a 22 $ TITANIUM (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 42961.5121850 0.00391276 0.00000000 0.00000000 0.00000000 0.00000000 6450.9759169 0.02996982 0.00000000 0.00000000 0.00000000 0.00000000 1467.7210915 0.14836353 0.00000000 0.00000000 0.00000000 0.00000000 414.2099735 0.51347285 0.00000000 0.00000000 0.00000000 0.00000000 134.4871584 1.03353655 0.00000000 0.00000000 0.00000000 0.00000000 46.1222098 0.77854234 0.00000000 0.00000000 0.00000000 0.00000000 89.4477625 0.00000000 -0.28385401 0.00000000 0.00000000 0.00000000 10.2233461 0.00000000 1.67727853 0.00000000 0.00000000 0.00000000 4.1353774 0.00000000 1.24119285 0.00000000 0.00000000 0.00000000 6.7896181 0.00000000 0.00000000 -0.00784000 0.00000000 0.00000000 1.1106731 0.00000000 0.00000000 0.02549549 0.00000000 0.00000000 0.4756598 0.00000000 0.00000000 0.01606117 0.00000000 0.00000000 0.0659870 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0252103 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 522.0368478 0.01975418 0.00000000 122.6864949 0.14460678 0.00000000 38.5729036 0.54669004 0.00000000 13.6721693 1.05316475 0.00000000 5.0118529 0.69111213 0.00000000 2.4131928 0.00000000 0.75803437 0.9325227 0.00000000 1.30362414 0.3542906 0.00000000 0.53638653 $ D-TYPE FUNCTIONS 5 2 0 23.4651260 0.02653638 0.00000000 6.3332594 0.13796454 0.00000000 2.0766490 0.35312644 0.00000000 0.6902736 0.48647124 0.00000000 0.2108874 0.00000000 0.33026314 a 23 $ VANADIUM (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 47160.3760600 0.00144987 0.00000000 0.00000000 0.00000000 0.00000000 7081.4110871 0.01110644 0.00000000 0.00000000 0.00000000 0.00000000 1611.1621223 0.05500542 0.00000000 0.00000000 0.00000000 0.00000000 454.7294055 0.19060253 0.00000000 0.00000000 0.00000000 0.00000000 147.7132121 0.38435023 0.00000000 0.00000000 0.00000000 0.00000000 50.6995390 0.29095547 0.00000000 0.00000000 0.00000000 0.00000000 98.2624927 0.00000000 -0.10942338 0.00000000 0.00000000 0.00000000 11.2942931 0.00000000 0.64539490 0.00000000 0.00000000 0.00000000 4.5853360 0.00000000 0.47117881 0.00000000 0.00000000 0.00000000 7.6359690 0.00000000 0.00000000 -0.22454949 0.00000000 0.00000000 1.2539837 0.00000000 0.00000000 0.72594853 0.00000000 0.00000000 0.5327194 0.00000000 0.00000000 0.45560583 0.00000000 0.00000000 0.0722462 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0273581 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 580.5504499 0.00973151 0.00000000 136.5234113 0.07153124 0.00000000 42.9839588 0.27197688 0.00000000 15.2827988 0.52618989 0.00000000 5.6202495 0.34452533 0.00000000 2.7485386 0.00000000 0.34040396 1.0618550 0.00000000 0.57983996 0.4023552 0.00000000 0.23911643 $ D-TYPE FUNCTIONS 5 2 0 27.3584340 0.02664193 0.00000000 7.4540604 0.13995312 0.00000000 2.4633918 0.35751067 0.00000000 0.8248093 0.48488354 0.00000000 0.2525790 0.00000000 0.32332845 a 24 $ CHROMIUM (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 51528.0863490 0.00144058 0.00000000 0.00000000 0.00000000 0.00000000 7737.2103487 0.01103620 0.00000000 0.00000000 0.00000000 0.00000000 1760.3748470 0.05467665 0.00000000 0.00000000 0.00000000 0.00000000 496.8770654 0.18965038 0.00000000 0.00000000 0.00000000 0.00000000 161.4652060 0.38295413 0.00000000 0.00000000 0.00000000 0.00000000 55.4663523 0.29090051 0.00000000 0.00000000 0.00000000 0.00000000 107.5473300 0.00000000 -0.10932281 0.00000000 0.00000000 0.00000000 12.4086719 0.00000000 0.64472599 0.00000000 0.00000000 0.00000000 5.0423629 0.00000000 0.46262713 0.00000000 0.00000000 0.00000000 8.5461640 0.00000000 0.00000000 -0.22711013 0.00000000 0.00000000 1.3900441 0.00000000 0.00000000 0.73301528 0.00000000 0.00000000 0.5606660 0.00000000 0.00000000 0.44225565 0.00000000 0.00000000 0.0714837 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0282507 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 640.4853610 0.00961267 0.00000000 150.6971119 0.07088983 0.00000000 47.5037553 0.27065259 0.00000000 16.9341202 0.52437343 0.00000000 6.2409681 0.34107995 0.00000000 3.0885463 0.00000000 0.33973987 1.1791048 0.00000000 0.57272063 0.4336977 0.00000000 0.24582728 $ D-TYPE FUNCTIONS 5 2 0 27.5594794 0.03061249 0.00000000 7.4687020 0.15593271 0.00000000 2.4345904 0.36984421 0.00000000 0.7824475 0.47071118 0.00000000 0.2199577 0.00000000 0.33941650 a 25 $ MANGANESE (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 56137.0090370 0.00143213 0.00000000 0.00000000 0.00000000 0.00000000 8429.2063943 0.01097251 0.00000000 0.00000000 0.00000000 0.00000000 1917.8277233 0.05438247 0.00000000 0.00000000 0.00000000 0.00000000 541.3623020 0.18884335 0.00000000 0.00000000 0.00000000 0.00000000 176.0006914 0.38198025 0.00000000 0.00000000 0.00000000 0.00000000 60.5004770 0.29156773 0.00000000 0.00000000 0.00000000 0.00000000 117.1728288 0.00000000 -0.10933661 0.00000000 0.00000000 0.00000000 13.5969734 0.00000000 0.64305039 0.00000000 0.00000000 0.00000000 5.5483996 0.00000000 0.45848971 0.00000000 0.00000000 0.00000000 9.4662854 0.00000000 0.00000000 -0.22538977 0.00000000 0.00000000 1.5595006 0.00000000 0.00000000 0.72307759 0.00000000 0.00000000 0.6523021 0.00000000 0.00000000 0.45300722 0.00000000 0.00000000 0.0840037 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0312561 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 706.0049754 0.00950555 0.00000000 166.1972882 0.07035627 0.00000000 52.4520619 0.27005557 0.00000000 18.7469329 0.52574345 0.00000000 6.9282992 0.34254033 0.00000000 3.4772205 0.00000000 0.33994074 1.3406906 0.00000000 0.57203836 0.5049880 0.00000000 0.23847606 $ D-TYPE FUNCTIONS 5 2 0 35.4232649 0.02698530 0.00000000 9.7814221 0.14383459 0.00000000 3.2673489 0.36418958 0.00000000 1.1026472 0.48152671 0.00000000 0.3374321 0.00000000 0.31458754 a 26 $ IRON (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 60923.6406430 0.00143023 0.00000000 0.00000000 0.00000000 0.00000000 9147.8893982 0.01095879 0.00000000 0.00000000 0.00000000 0.00000000 2081.3505927 0.05433255 0.00000000 0.00000000 0.00000000 0.00000000 587.5597707 0.18884995 0.00000000 0.00000000 0.00000000 0.00000000 191.0904399 0.38253070 0.00000000 0.00000000 0.00000000 0.00000000 65.7327301 0.29308336 0.00000000 0.00000000 0.00000000 0.00000000 127.2589193 0.00000000 -0.10964565 0.00000000 0.00000000 0.00000000 14.8309130 0.00000000 0.64387631 0.00000000 0.00000000 0.00000000 6.0653307 0.00000000 0.45472347 0.00000000 0.00000000 0.00000000 10.4499437 0.00000000 0.00000000 -0.22539640 0.00000000 0.00000000 1.7245228 0.00000000 0.00000000 0.72164398 0.00000000 0.00000000 0.7177218 0.00000000 0.00000000 0.44985493 0.00000000 0.00000000 0.0914498 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0337067 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 773.4375099 0.00943257 0.00000000 182.1514971 0.07002962 0.00000000 57.5472728 0.26993652 0.00000000 20.6149889 0.52700011 0.00000000 7.6348558 0.34284148 0.00000000 3.8719328 0.00000000 0.33974403 1.4924724 0.00000000 0.56842594 0.5606128 0.00000000 0.23649366 $ D-TYPE FUNCTIONS 5 2 0 38.9681334 0.02787966 0.00000000 10.8000671 0.14858320 0.00000000 3.6136458 0.36905479 0.00000000 1.2129968 0.47745101 0.00000000 0.3652439 0.00000000 0.31418142 a 27 $ COBALT (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 65902.2082570 0.00142846 0.00000000 0.00000000 0.00000000 0.00000000 9895.3896027 0.01094607 0.00000000 0.00000000 0.00000000 0.00000000 2251.4305789 0.05428595 0.00000000 0.00000000 0.00000000 0.00000000 635.6109708 0.18885179 0.00000000 0.00000000 0.00000000 0.00000000 206.7882068 0.38301635 0.00000000 0.00000000 0.00000000 0.00000000 71.1792430 0.29443551 0.00000000 0.00000000 0.00000000 0.00000000 137.7726804 0.00000000 -0.10990222 0.00000000 0.00000000 0.00000000 16.1180792 0.00000000 0.64455537 0.00000000 0.00000000 0.00000000 6.6030328 0.00000000 0.45116788 0.00000000 0.00000000 0.00000000 11.4799158 0.00000000 0.00000000 -0.22593847 0.00000000 0.00000000 1.8956426 0.00000000 0.00000000 0.72231409 0.00000000 0.00000000 0.7846623 0.00000000 0.00000000 0.44903812 0.00000000 0.00000000 0.0984258 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0359457 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 843.6435858 0.00938661 0.00000000 198.7638699 0.06988021 0.00000000 62.8549631 0.27037070 0.00000000 22.5628423 0.52904787 0.00000000 8.3713209 0.34357030 0.00000000 4.2858720 0.00000000 0.34027999 1.6508042 0.00000000 0.56693392 0.6183423 0.00000000 0.23617980 $ D-TYPE FUNCTIONS 5 2 0 42.9278676 0.02848779 0.00000000 11.9425331 0.15206951 0.00000000 4.0046496 0.37310914 0.00000000 1.3413194 0.47549838 0.00000000 0.4001501 0.00000000 0.31346831 a 28 $ NICKEL (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 71074.8032110 0.00142604 0.00000000 0.00000000 0.00000000 0.00000000 10672.0209410 0.01092824 0.00000000 0.00000000 0.00000000 0.00000000 2428.1389007 0.05421263 0.00000000 0.00000000 0.00000000 0.00000000 685.5359515 0.18874769 0.00000000 0.00000000 0.00000000 0.00000000 223.1007286 0.38324617 0.00000000 0.00000000 0.00000000 0.00000000 76.8420140 0.29550637 0.00000000 0.00000000 0.00000000 0.00000000 148.7112202 0.00000000 -0.11014443 0.00000000 0.00000000 0.00000000 17.4591550 0.00000000 0.64521427 0.00000000 0.00000000 0.00000000 7.1625281 0.00000000 0.44797838 0.00000000 0.00000000 0.00000000 12.5561371 0.00000000 0.00000000 -0.22645403 0.00000000 0.00000000 2.0735740 0.00000000 0.00000000 0.72320959 0.00000000 0.00000000 0.8538264 0.00000000 0.00000000 0.44868026 0.00000000 0.00000000 0.1053677 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0381341 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 916.7360866 0.00934396 0.00000000 216.0613991 0.06973737 0.00000000 68.3839148 0.27073495 0.00000000 24.5938440 0.53078302 0.00000000 9.1392960 0.34410229 0.00000000 4.7193372 0.00000000 0.34076082 1.8161849 0.00000000 0.56580170 0.6784075 0.00000000 0.23616717 $ D-TYPE FUNCTIONS 5 2 0 47.0938321 0.02898232 0.00000000 13.1464640 0.15494996 0.00000000 4.4170549 0.37633115 0.00000000 1.4771565 0.47365096 0.00000000 0.4373592 0.00000000 0.31247838 a 29 $ COPPER (14s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 76381.3480560 0.00143361 0.00000000 0.00000000 0.00000000 0.00000000 11468.7774990 0.01098675 0.00000000 0.00000000 0.00000000 0.00000000 2609.4246495 0.05451365 0.00000000 0.00000000 0.00000000 0.00000000 736.7503310 0.18990128 0.00000000 0.00000000 0.00000000 0.00000000 239.8241996 0.38581959 0.00000000 0.00000000 0.00000000 0.00000000 82.6568293 0.29790607 0.00000000 0.00000000 0.00000000 0.00000000 160.1354420 0.00000000 -0.11146779 0.00000000 0.00000000 0.00000000 18.8341777 0.00000000 0.65349301 0.00000000 0.00000000 0.00000000 7.7176596 0.00000000 0.44770534 0.00000000 0.00000000 0.00000000 13.7108467 0.00000000 0.00000000 -0.22870911 0.00000000 0.00000000 2.2349896 0.00000000 0.00000000 0.73464423 0.00000000 0.00000000 0.8781836 0.00000000 0.00000000 0.43273071 0.00000000 0.00000000 0.0871875 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0329691 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 991.2407578 0.00938785 0.00000000 233.6937612 0.07020828 0.00000000 74.0209309 0.27323522 0.00000000 26.6649674 0.53580793 0.00000000 9.9192087 0.34575795 0.00000000 5.1519554 0.00000000 0.34229108 1.9638206 0.00000000 0.56456592 0.7156010 0.00000000 0.24078584 $ D-TYPE FUNCTIONS 5 2 0 47.3350496 0.03237555 0.00000000 13.1616661 0.16810219 0.00000000 4.3693777 0.38477708 0.00000000 1.4132925 0.46147880 0.00000000 0.3887800 0.00000000 0.32388873 a 30 $ ZINC (13s,8p,5d) -> [5s,2p,2d] $ S-TYPE FUNCTIONS 14 5 0 82000.7116290 0.00142108 0.00000000 0.00000000 0.00000000 0.00000000 12312.4717770 0.01089150 0.00000000 0.00000000 0.00000000 0.00000000 2801.3944193 0.05405719 0.00000000 0.00000000 0.00000000 0.00000000 790.9942430 0.18847464 0.00000000 0.00000000 0.00000000 0.00000000 257.5655108 0.38346549 0.00000000 0.00000000 0.00000000 0.00000000 88.8149334 0.29723794 0.00000000 0.00000000 0.00000000 0.00000000 171.8635372 0.00000000 -0.11051850 0.00000000 0.00000000 0.00000000 20.3025348 0.00000000 0.64607717 0.00000000 0.00000000 0.00000000 8.3464123 0.00000000 0.44220117 0.00000000 0.00000000 0.00000000 14.8475369 0.00000000 0.00000000 -0.22705309 0.00000000 0.00000000 2.4495030 0.00000000 0.00000000 0.72433218 0.00000000 0.00000000 0.9984582 0.00000000 0.00000000 0.44836496 0.00000000 0.00000000 0.1189131 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0422974 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 2 0 1071.5185372 0.00927678 0.00000000 252.6971215 0.06954115 0.00000000 80.1008291 0.27156773 0.00000000 28.9033932 0.53401356 0.00000000 10.7688999 0.34501323 0.00000000 5.6446213 0.00000000 0.34129600 2.1678291 0.00000000 0.56390522 0.8054090 0.00000000 0.23676110 $ D-TYPE FUNCTIONS 5 2 0 56.0889392 0.02958887 0.00000000 15.7519089 0.15872571 0.00000000 5.3115812 0.37976229 0.00000000 1.7737905 0.46898959 0.00000000 0.5197558 0.00000000 0.30907149 a 31 $ GALLIUM (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 87842.126296 0.00142716 0.00000000 0.00000000 0.00000000 0.00000000 13189.496402 0.01093889 0.00000000 0.00000000 0.00000000 0.00000000 3000.9482141 0.05430820 0.00000000 0.00000000 0.00000000 0.00000000 847.38425966 0.18951056 0.00000000 0.00000000 0.00000000 0.00000000 276.00980642 0.38615186 0.00000000 0.00000000 0.00000000 0.00000000 95.216672071 0.30051083 0.00000000 0.00000000 0.00000000 0.00000000 184.00703968 0.00000000 -0.11124462 0.00000000 0.00000000 0.00000000 21.827051433 0.00000000 0.64831323 0.00000000 0.00000000 0.00000000 9.0026963761 0.00000000 0.44358384 0.00000000 0.00000000 0.00000000 16.033176938 0.00000000 0.00000000 -0.23014300 0.00000000 0.00000000 2.6707724878 0.00000000 0.00000000 0.72946862 0.00000000 0.00000000 1.1252834170 0.00000000 0.00000000 0.46214977 0.00000000 0.00000000 .15967608829 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .05764304475 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1167.2665844 0.00909740 0.00000000 0.00000000 0.00000000 275.38062789 0.06845627 0.00000000 0.00000000 0.00000000 87.375073070 0.26922294 0.00000000 0.00000000 0.00000000 31.597254670 0.53507898 0.00000000 0.00000000 0.00000000 11.824122798 0.35279063 0.00000000 0.00000000 0.00000000 6.2881845133 0.00000000 0.33938245 0.00000000 0.00000000 2.5199853240 0.00000000 0.56871948 0.00000000 0.00000000 1.0169726306 0.00000000 0.27717695 0.00000000 0.00000000 .24748373604 0.00000000 0.00000000 1.00000000 0.00000000 .06668529416 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 65.354237674 0.02737015 0.00000000 18.504656747 0.15099464 0.00000000 6.3179620632 0.37485329 0.00000000 2.1641389426 0.47510607 0.00000000 .66693092754 0.00000000 0.29843287 a 32 $ GERMANIUM (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 93889.836642 0.00142340 0.00000000 0.00000000 0.00000000 0.00000000 14097.497528 0.01091080 0.00000000 0.00000000 0.00000000 0.00000000 3207.5477309 0.05418371 0.00000000 0.00000000 0.00000000 0.00000000 905.76727269 0.18922820 0.00000000 0.00000000 0.00000000 0.00000000 295.11014693 0.38612847 0.00000000 0.00000000 0.00000000 0.00000000 101.84713141 0.30164051 0.00000000 0.00000000 0.00000000 0.00000000 196.56719662 0.00000000 -0.11118771 0.00000000 0.00000000 0.00000000 23.405292522 0.00000000 0.64616007 0.00000000 0.00000000 0.00000000 9.6839116702 0.00000000 0.44188905 0.00000000 0.00000000 0.00000000 17.269736544 0.00000000 0.00000000 -0.23027421 0.00000000 0.00000000 2.8964622160 0.00000000 0.00000000 0.73017169 0.00000000 0.00000000 1.2553621412 0.00000000 0.00000000 0.46197222 0.00000000 0.00000000 .20213081492 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .07386791098 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1259.2085995 0.00901155 0.00000000 0.00000000 0.00000000 297.15626382 0.06798684 0.00000000 0.00000000 0.00000000 94.353387522 0.26853856 0.00000000 0.00000000 0.00000000 34.176329677 0.53659649 0.00000000 0.00000000 0.00000000 12.816139615 0.35633515 0.00000000 0.00000000 0.00000000 6.8471029784 0.00000000 0.33900693 0.00000000 0.00000000 2.7717363939 0.00000000 0.56809365 0.00000000 0.00000000 1.1458418175 0.00000000 0.27246540 0.00000000 0.00000000 .30679631536 0.00000000 0.00000000 1.00000000 0.00000000 .08928364412 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 74.782168177 0.02575586 0.00000000 21.310849759 0.14536816 0.00000000 7.3464792363 0.37134210 0.00000000 2.5656271395 0.48002998 0.00000000 0.8198177307 0.00000000 0.28978791 a 33 $ ARSENIC (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 100146.5255400 0.00142583 0.00000000 0.00000000 0.00000000 0.00000000 15036.8617110 0.01093018 0.00000000 0.00000000 0.00000000 0.00000000 3421.2902833 0.05429417 0.00000000 0.00000000 0.00000000 0.00000000 966.1696572 0.18976078 0.00000000 0.00000000 0.00000000 0.00000000 314.8739403 0.38775195 0.00000000 0.00000000 0.00000000 0.00000000 108.7082379 0.30402812 0.00000000 0.00000000 0.00000000 0.00000000 209.5423895 0.00000000 -0.11162094 0.00000000 0.00000000 0.00000000 25.0382211 0.00000000 0.64697608 0.00000000 0.00000000 0.00000000 10.3909643 0.00000000 0.44223609 0.00000000 0.00000000 0.00000000 18.5550901 0.00000000 0.00000000 -0.22994191 0.00000000 0.00000000 3.1281217 0.00000000 0.00000000 0.73319108 0.00000000 0.00000000 1.3884885 0.00000000 0.00000000 0.45533654 0.00000000 0.00000000 0.2471436 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0914294 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1355.6443507 0.00891825 0.00000000 0.00000000 0.00000000 319.9992927 0.06745475 0.00000000 0.00000000 0.00000000 101.6773409 0.26759772 0.00000000 0.00000000 0.00000000 36.8863238 0.53776845 0.00000000 0.00000000 0.00000000 13.8611159 0.35992570 0.00000000 0.00000000 0.00000000 7.4260667 0.00000000 0.34036850 0.00000000 0.00000000 3.0316247 0.00000000 0.57030149 0.00000000 0.00000000 1.2783078 0.00000000 0.26606170 0.00000000 0.00000000 0.3756850 0.00000000 0.00000000 1.00000000 0.00000000 0.1139481 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 84.4455145 0.02451840 0.00000000 24.1904161 0.14107455 0.00000000 8.4045015 0.36875229 0.00000000 2.9808971 0.48409561 0.00000000 0.9790924 0.00000000 0.28250269 a 34 $ SELENIUM (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 106612.2002700 0.00142749 0.00000000 0.00000000 0.00000000 0.00000000 16007.6047010 0.01094353 0.00000000 0.00000000 0.00000000 0.00000000 3642.1699707 0.05437417 0.00000000 0.00000000 0.00000000 0.00000000 1028.5912993 0.19018093 0.00000000 0.00000000 0.00000000 0.00000000 335.3029889 0.38913022 0.00000000 0.00000000 0.00000000 0.00000000 115.8012915 0.30620207 0.00000000 0.00000000 0.00000000 0.00000000 222.9332502 0.00000000 -0.11198808 0.00000000 0.00000000 0.00000000 26.7262579 0.00000000 0.64752124 0.00000000 0.00000000 0.00000000 11.1245019 0.00000000 0.44241977 0.00000000 0.00000000 0.00000000 19.8885201 0.00000000 0.00000000 -0.22857228 0.00000000 0.00000000 3.3668474 0.00000000 0.00000000 0.73591360 0.00000000 0.00000000 1.5249278 0.00000000 0.00000000 0.44330200 0.00000000 0.00000000 0.2963004 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1100929 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1455.9068120 0.00882036 0.00000000 0.00000000 0.00000000 343.7510183 0.06687585 0.00000000 0.00000000 0.00000000 109.2955496 0.26640578 0.00000000 0.00000000 0.00000000 39.7077110 0.53834928 0.00000000 0.00000000 0.00000000 14.9501852 0.36303282 0.00000000 0.00000000 0.00000000 8.0208962 0.00000000 0.34153807 0.00000000 0.00000000 3.2934650 0.00000000 0.57257907 0.00000000 0.00000000 1.4058602 0.00000000 0.25549813 0.00000000 0.00000000 0.4507612 0.00000000 0.00000000 1.00000000 0.00000000 0.1335341 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 94.4940240 0.02349010 0.00000000 27.1881853 0.13747736 0.00000000 9.5091567 0.36649929 0.00000000 3.4170517 0.48750990 0.00000000 1.1479590 0.00000000 0.27657943 a 35 $ BROMINE (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 113286.3877600 0.00142830 0.00000000 0.00000000 0.00000000 0.00000000 17009.6263030 0.01095042 0.00000000 0.00000000 0.00000000 0.00000000 3870.1842567 0.05442101 0.00000000 0.00000000 0.00000000 0.00000000 1093.0357227 0.19047908 0.00000000 0.00000000 0.00000000 0.00000000 356.3972180 0.39024643 0.00000000 0.00000000 0.00000000 0.00000000 123.1253964 0.30814433 0.00000000 0.00000000 0.00000000 0.00000000 236.7408401 0.00000000 -0.11228066 0.00000000 0.00000000 0.00000000 28.4686611 0.00000000 0.64775962 0.00000000 0.00000000 0.00000000 11.8834437 0.00000000 0.44235576 0.00000000 0.00000000 0.00000000 21.2696333 0.00000000 0.00000000 -0.22642576 0.00000000 0.00000000 3.6129227 0.00000000 0.00000000 0.73823712 0.00000000 0.00000000 1.6626649 0.00000000 0.00000000 0.42683869 0.00000000 0.00000000 0.3482379 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1301903 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1560.2801881 0.00871667 0.00000000 0.00000000 0.00000000 368.4785920 0.06624364 0.00000000 0.00000000 0.00000000 117.2297885 0.26495610 0.00000000 0.00000000 0.00000000 42.6489092 0.53839161 0.00000000 0.00000000 0.00000000 16.0872251 0.36579388 0.00000000 0.00000000 0.00000000 8.6352810 0.00000000 0.34248787 0.00000000 0.00000000 3.5613666 0.00000000 0.57500678 0.00000000 0.00000000 1.5292627 0.00000000 0.24330394 0.00000000 0.00000000 0.5306429 0.00000000 0.00000000 1.00000000 0.00000000 0.1570276 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 104.8551864 0.02265015 0.00000000 30.2811437 0.13455483 0.00000000 10.6513943 0.36474455 0.00000000 3.8699456 0.49044587 0.00000000 1.3240877 0.00000000 0.27137289 a 36 $ KRYPTON (14s,10p,5d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 120165.6487500 0.00142942 0.00000000 0.00000000 0.00000000 0.00000000 18042.5001690 0.01095960 0.00000000 0.00000000 0.00000000 0.00000000 4105.1800388 0.05447965 0.00000000 0.00000000 0.00000000 0.00000000 1159.4447248 0.19081239 0.00000000 0.00000000 0.00000000 0.00000000 378.1381035 0.39140446 0.00000000 0.00000000 0.00000000 0.00000000 130.6761005 0.31007347 0.00000000 0.00000000 0.00000000 0.00000000 250.9637335 0.00000000 -0.11258604 0.00000000 0.00000000 0.00000000 30.2659304 0.00000000 0.64816323 0.00000000 0.00000000 0.00000000 12.6681108 0.00000000 0.44240239 0.00000000 0.00000000 0.00000000 22.6979401 0.00000000 0.00000000 -0.22391965 0.00000000 0.00000000 3.8673017 0.00000000 0.00000000 0.74060953 0.00000000 0.00000000 1.8013707 0.00000000 0.00000000 0.40803658 0.00000000 0.00000000 0.4030864 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1517053 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1668.5736623 0.00862150 0.00000000 0.00000000 0.00000000 394.1386280 0.06566551 0.00000000 0.00000000 0.00000000 125.4664485 0.26366577 0.00000000 0.00000000 0.00000000 45.7049927 0.53867659 0.00000000 0.00000000 0.00000000 17.2701332 0.36865168 0.00000000 0.00000000 0.00000000 9.2699488 0.00000000 0.34346189 0.00000000 0.00000000 3.8364618 0.00000000 0.57784776 0.00000000 0.00000000 1.6467163 0.00000000 0.23075615 0.00000000 0.00000000 0.6147969 0.00000000 0.00000000 1.00000000 0.00000000 0.1831947 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 115.5586860 0.02194549 0.00000000 33.4779859 0.13211213 0.00000000 11.8344502 0.36333307 0.00000000 4.3408255 0.49300484 0.00000000 1.5079273 0.00000000 0.26676859 $END OF BASIS ergo-3.5/basis/6-31++G0000775000175000017500000007046412743400275011131 00000000000000$Basis = 6-31++G $Elements supported $H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar $ $ REFERENCE $Elements References $-------- ---------- $ H - He: W.J. Hehre, R. Ditchfield and J.A. Pople, J. Chem. Phys. 56, $Li - Ne: 2257 (1972). Note: Li and B come from J.D. Dill and J.A. $ Pople, J. Chem. Phys. 62, 2921 (1975). $Na - Ar: M.M. Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, $ D.J. DeFrees and J.A. Pople, J. Chem. Phys. 77, 3654 (1982) $K - Zn: V. Rassolov, J.A. Pople, M. Ratner and T.L. Windus, J. Chem. Phys. $ 109, 1223 (1998) $** $ Note: He and Ne are unpublished basis sets taken from the Gaussian $ program $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $Elements References $-------- ---------- $H,Li - Ne: P.C. Hariharan and J.A. Pople, Theoret. Chimica Acta 28, 213 (1973). $Na - Ar : M.M. Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, D.J. $ DeFrees and J.A. Pople, J. Chem. Phys. 77, 3654 (1982). $K - Zn: V.A. Rassolov, J.A. Pople, M.A. Ratner, and T.L. Windus $ J. Chem. Phys. 109, 1223 (1998) $ Note: He and Ne are unpublished basis sets taken from Gaussian. a 1 $ HYDROGEN (4s) -> [2s] $ HYDROGEN (Diffuse s) $ S-TYPE FUNCTIONS 5 3 0 18.7311370 0.03349460 0.00000000 0.00000000 2.8253937 0.23472695 0.00000000 0.00000000 0.6401217 0.81375733 0.00000000 0.00000000 0.1612778 0.00000000 1.00000000 0.00000000 0.0360000 0.00000000 0.00000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 38.4216340 0.02376600 0.00000000 5.7780300 0.15467900 0.00000000 1.2417740 0.46963000 0.00000000 0.2979640 0.00000000 1.00000000 a 3 $ LITHIUM (10s,4p) -> [3s,2p] $ LITHIUM (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 642.4189200 0.00214260 0.00000000 0.00000000 0.00000000 96.7985150 0.01620890 0.00000000 0.00000000 0.00000000 22.0911210 0.07731560 0.00000000 0.00000000 0.00000000 6.2010703 0.24578600 0.00000000 0.00000000 0.00000000 1.9351177 0.47018900 0.00000000 0.00000000 0.00000000 0.6367358 0.34547080 0.00000000 0.00000000 0.00000000 2.3249184 0.00000000 -0.03509170 0.00000000 0.00000000 0.6324306 0.00000000 -0.19123280 0.00000000 0.00000000 0.0790534 0.00000000 1.08398780 0.00000000 0.00000000 0.0359620 0.00000000 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 2.3249184 0.00894150 0.00000000 0.00000000 0.6324306 0.14100950 0.00000000 0.00000000 0.0790534 0.94536370 0.00000000 0.00000000 0.0359620 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (10s,4p) -> [3s,2p] $ BERYLLIUM (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 1264.5857000 0.00194480 0.00000000 0.00000000 0.00000000 189.9368100 0.01483510 0.00000000 0.00000000 0.00000000 43.1590890 0.07209060 0.00000000 0.00000000 0.00000000 12.0986630 0.23715420 0.00000000 0.00000000 0.00000000 3.8063232 0.46919870 0.00000000 0.00000000 0.00000000 1.2728903 0.35652020 0.00000000 0.00000000 0.00000000 3.1964631 0.00000000 -0.11264870 0.00000000 0.00000000 0.7478133 0.00000000 -0.22950640 0.00000000 0.00000000 0.2199663 0.00000000 1.18691670 0.00000000 0.00000000 0.0823099 0.00000000 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 3.1964631 0.05598020 0.00000000 0.00000000 0.7478133 0.26155060 0.00000000 0.00000000 0.2199663 0.79397230 0.00000000 0.00000000 0.0823099 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 1.00000000 a 5 $ BORON (10s,4p) -> [3s,2p] $ BORON (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 2068.8823000 0.00186630 0.00000000 0.00000000 0.00000000 310.6495700 0.01425150 0.00000000 0.00000000 0.00000000 70.6830330 0.06955160 0.00000000 0.00000000 0.00000000 19.8610800 0.23257290 0.00000000 0.00000000 0.00000000 6.2993048 0.46707870 0.00000000 0.00000000 0.00000000 2.1270270 0.36343140 0.00000000 0.00000000 0.00000000 4.7279710 0.00000000 -0.13039380 0.00000000 0.00000000 1.1903377 0.00000000 -0.13078890 0.00000000 0.00000000 0.3594117 0.00000000 1.13094440 0.00000000 0.00000000 0.1267512 0.00000000 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 4.7279710 0.07459760 0.00000000 0.00000000 1.1903377 0.30784670 0.00000000 0.00000000 0.3594117 0.74345680 0.00000000 0.00000000 0.1267512 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (10s,4p) -> [3s,2p] $ CARBON (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 3047.5249000 0.00183470 0.00000000 0.00000000 0.00000000 457.3695100 0.01403730 0.00000000 0.00000000 0.00000000 103.9486900 0.06884260 0.00000000 0.00000000 0.00000000 29.2101550 0.23218440 0.00000000 0.00000000 0.00000000 9.2866630 0.46794130 0.00000000 0.00000000 0.00000000 3.1639270 0.36231200 0.00000000 0.00000000 0.00000000 7.8682724 0.00000000 -0.11933240 0.00000000 0.00000000 1.8812885 0.00000000 -0.16085420 0.00000000 0.00000000 0.5442493 0.00000000 1.14345640 0.00000000 0.00000000 0.1687144 0.00000000 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 7.8682724 0.06899910 0.00000000 0.00000000 1.8812885 0.31642400 0.00000000 0.00000000 0.5442493 0.74430830 0.00000000 0.00000000 0.1687144 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (10s,4p) -> [3s,2p] $ NITROGEN (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 4173.5110000 0.00183480 0.00000000 0.00000000 0.00000000 627.4579000 0.01399500 0.00000000 0.00000000 0.00000000 142.9021000 0.06858700 0.00000000 0.00000000 0.00000000 40.2343300 0.23224100 0.00000000 0.00000000 0.00000000 12.8202100 0.46907000 0.00000000 0.00000000 0.00000000 4.3904370 0.36045500 0.00000000 0.00000000 0.00000000 11.6263580 0.00000000 -0.11496100 0.00000000 0.00000000 2.7162800 0.00000000 -0.16911800 0.00000000 0.00000000 0.7722180 0.00000000 1.14585200 0.00000000 0.00000000 0.2120313 0.00000000 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 11.6263580 0.06758000 0.00000000 0.00000000 2.7162800 0.32390700 0.00000000 0.00000000 0.7722180 0.74089500 0.00000000 0.00000000 0.2120313 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (10s,4p) -> [3s,2p] $ OXYGEN (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 5484.6717000 0.00183110 0.00000000 0.00000000 0.00000000 825.2349500 0.01395010 0.00000000 0.00000000 0.00000000 188.0469600 0.06844510 0.00000000 0.00000000 0.00000000 52.9645000 0.23271430 0.00000000 0.00000000 0.00000000 16.8975700 0.47019300 0.00000000 0.00000000 0.00000000 5.7996353 0.35852090 0.00000000 0.00000000 0.00000000 15.5396160 0.00000000 -0.11077750 0.00000000 0.00000000 3.5999336 0.00000000 -0.14802630 0.00000000 0.00000000 1.0137618 0.00000000 1.13076700 0.00000000 0.00000000 0.2700058 0.00000000 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 15.5396160 0.07087430 0.00000000 0.00000000 3.5999336 0.33975280 0.00000000 0.00000000 1.0137618 0.72715860 0.00000000 0.00000000 0.2700058 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 1.00000000 a 9 $ FLUORINE (10s,4p) -> [3s,2p] $ FLUORINE (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 7001.1713000 0.00181960 0.00000000 0.00000000 0.00000000 1051.3660000 0.01391600 0.00000000 0.00000000 0.00000000 239.2857000 0.06840500 0.00000000 0.00000000 0.00000000 67.3974500 0.23318600 0.00000000 0.00000000 0.00000000 21.5199600 0.47126700 0.00000000 0.00000000 0.00000000 7.4031010 0.35661900 0.00000000 0.00000000 0.00000000 20.8479500 0.00000000 -0.10850700 0.00000000 0.00000000 4.8083080 0.00000000 -0.14645200 0.00000000 0.00000000 1.3440700 0.00000000 1.12868900 0.00000000 0.00000000 0.3581514 0.00000000 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 20.8479500 0.07162900 0.00000000 0.00000000 4.8083080 0.34591200 0.00000000 0.00000000 1.3440700 0.72247000 0.00000000 0.00000000 0.3581514 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 1.00000000 a 10 $ NEON (10s,4p) -> [3s,2p] $ NEON (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 8425.8515300 0.00188435 0.00000000 0.00000000 0.00000000 1268.5194000 0.01433690 0.00000000 0.00000000 0.00000000 289.6214140 0.07010962 0.00000000 0.00000000 0.00000000 81.8590040 0.23737327 0.00000000 0.00000000 0.00000000 26.2515079 0.47300713 0.00000000 0.00000000 0.00000000 9.0947205 0.34840124 0.00000000 0.00000000 0.00000000 26.5321310 0.00000000 -0.10711829 0.00000000 0.00000000 6.1017550 0.00000000 -0.14616382 0.00000000 0.00000000 1.6962715 0.00000000 1.12777350 0.00000000 0.00000000 0.4458187 0.00000000 0.00000000 1.00000000 0.00000000 0.1300000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 26.5321310 0.07190959 0.00000000 0.00000000 6.1017550 0.34951337 0.00000000 0.00000000 1.6962715 0.71994051 0.00000000 0.00000000 0.4458187 0.00000000 1.00000000 0.00000000 0.1300000 0.00000000 0.00000000 1.00000000 a 11 $ SODIUM (16s,10p) -> [4s,3p] $ SODIUM (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 9993.2000000 0.00193770 0.00000000 0.00000000 0.00000000 0.00000000 1499.8900000 0.01480700 0.00000000 0.00000000 0.00000000 0.00000000 341.9510000 0.07270600 0.00000000 0.00000000 0.00000000 0.00000000 94.6797000 0.25262900 0.00000000 0.00000000 0.00000000 0.00000000 29.7345000 0.49324200 0.00000000 0.00000000 0.00000000 0.00000000 10.0063000 0.31316900 0.00000000 0.00000000 0.00000000 0.00000000 150.9630000 0.00000000 -0.00354210 0.00000000 0.00000000 0.00000000 35.5878000 0.00000000 -0.04395900 0.00000000 0.00000000 0.00000000 11.1683000 0.00000000 -0.10975210 0.00000000 0.00000000 0.00000000 3.9020100 0.00000000 0.18739800 0.00000000 0.00000000 0.00000000 1.3817700 0.00000000 0.64669900 0.00000000 0.00000000 0.00000000 0.4663820 0.00000000 0.30605800 0.00000000 0.00000000 0.00000000 0.4979660 0.00000000 0.00000000 -0.24850300 0.00000000 0.00000000 0.0843530 0.00000000 0.00000000 -0.13170400 0.00000000 0.00000000 0.0666350 0.00000000 0.00000000 1.23352000 0.00000000 0.00000000 0.0259544 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0076000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 150.9630000 0.00500170 0.00000000 0.00000000 0.00000000 35.5878000 0.03551100 0.00000000 0.00000000 0.00000000 11.1683000 0.14282500 0.00000000 0.00000000 0.00000000 3.9020100 0.33862000 0.00000000 0.00000000 0.00000000 1.3817700 0.45157900 0.00000000 0.00000000 0.00000000 0.4663820 0.27327100 0.00000000 0.00000000 0.00000000 0.4979660 0.00000000 -0.02302300 0.00000000 0.00000000 0.0843530 0.00000000 0.95035900 0.00000000 0.00000000 0.0666350 0.00000000 0.05985800 0.00000000 0.00000000 0.0259544 0.00000000 0.00000000 1.00000000 0.00000000 0.0076000 0.00000000 0.00000000 0.00000000 1.00000000 a 12 $ MAGNESIUM (16s,10p) -> [4s,3p] $ MAGNESIUM (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 11722.8000000 0.00197780 0.00000000 0.00000000 0.00000000 0.00000000 1759.9300000 0.01511400 0.00000000 0.00000000 0.00000000 0.00000000 400.8460000 0.07391100 0.00000000 0.00000000 0.00000000 0.00000000 112.8070000 0.24919100 0.00000000 0.00000000 0.00000000 0.00000000 35.9997000 0.48792800 0.00000000 0.00000000 0.00000000 0.00000000 12.1828000 0.31966200 0.00000000 0.00000000 0.00000000 0.00000000 189.1800000 0.00000000 -0.00323720 0.00000000 0.00000000 0.00000000 45.2119000 0.00000000 -0.04100800 0.00000000 0.00000000 0.00000000 14.3563000 0.00000000 -0.11260000 0.00000000 0.00000000 0.00000000 5.1388600 0.00000000 0.14863300 0.00000000 0.00000000 0.00000000 1.9065200 0.00000000 0.61649700 0.00000000 0.00000000 0.00000000 0.7058870 0.00000000 0.36482900 0.00000000 0.00000000 0.00000000 0.9293400 0.00000000 0.00000000 -0.21229000 0.00000000 0.00000000 0.2690350 0.00000000 0.00000000 -0.10798500 0.00000000 0.00000000 0.1173790 0.00000000 0.00000000 1.17584000 0.00000000 0.00000000 0.0421061 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0146000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 189.1800000 0.00492810 0.00000000 0.00000000 0.00000000 45.2119000 0.03498900 0.00000000 0.00000000 0.00000000 14.3563000 0.14072500 0.00000000 0.00000000 0.00000000 5.1388600 0.33364200 0.00000000 0.00000000 0.00000000 1.9065200 0.44494000 0.00000000 0.00000000 0.00000000 0.7058870 0.26925400 0.00000000 0.00000000 0.00000000 0.9293400 0.00000000 -0.02241900 0.00000000 0.00000000 0.2690350 0.00000000 0.19227000 0.00000000 0.00000000 0.1173790 0.00000000 0.84618100 0.00000000 0.00000000 0.0421061 0.00000000 0.00000000 1.00000000 0.00000000 0.0146000 0.00000000 0.00000000 0.00000000 1.00000000 a 13 $ ALUMINUM (16s,10p) -> [4s,3p] $ ALUMINUM (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 13983.1000000 0.00194270 0.00000000 0.00000000 0.00000000 0.00000000 2098.7500000 0.01486000 0.00000000 0.00000000 0.00000000 0.00000000 477.7050000 0.07284900 0.00000000 0.00000000 0.00000000 0.00000000 134.3600000 0.24683000 0.00000000 0.00000000 0.00000000 0.00000000 42.8709000 0.48725800 0.00000000 0.00000000 0.00000000 0.00000000 14.5189000 0.32349600 0.00000000 0.00000000 0.00000000 0.00000000 239.6680000 0.00000000 -0.00292620 0.00000000 0.00000000 0.00000000 57.4419000 0.00000000 -0.03740800 0.00000000 0.00000000 0.00000000 18.2859000 0.00000000 -0.11448700 0.00000000 0.00000000 0.00000000 6.5991400 0.00000000 0.11563500 0.00000000 0.00000000 0.00000000 2.4904900 0.00000000 0.61259500 0.00000000 0.00000000 0.00000000 0.9445400 0.00000000 0.39379900 0.00000000 0.00000000 0.00000000 1.2779000 0.00000000 0.00000000 -0.22760600 0.00000000 0.00000000 0.3975900 0.00000000 0.00000000 0.14458300 0.00000000 0.00000000 0.1600950 0.00000000 0.00000000 1.09279000 0.00000000 0.00000000 0.0556577 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0318000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 239.6680000 0.00460290 0.00000000 0.00000000 0.00000000 57.4419000 0.03319900 0.00000000 0.00000000 0.00000000 18.2859000 0.13628200 0.00000000 0.00000000 0.00000000 6.5991400 0.33047600 0.00000000 0.00000000 0.00000000 2.4904900 0.44914600 0.00000000 0.00000000 0.00000000 0.9445400 0.26570400 0.00000000 0.00000000 0.00000000 1.2779000 0.00000000 -0.01751300 0.00000000 0.00000000 0.3975900 0.00000000 0.24453300 0.00000000 0.00000000 0.1600950 0.00000000 0.80493400 0.00000000 0.00000000 0.0556577 0.00000000 0.00000000 1.00000000 0.00000000 0.0318000 0.00000000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (16s,10p) -> [4s,3p] $ SILICON (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 16115.9000000 0.00195948 0.00000000 0.00000000 0.00000000 0.00000000 2425.5800000 0.01492880 0.00000000 0.00000000 0.00000000 0.00000000 553.8670000 0.07284780 0.00000000 0.00000000 0.00000000 0.00000000 156.3400000 0.24613000 0.00000000 0.00000000 0.00000000 0.00000000 50.0683000 0.48591400 0.00000000 0.00000000 0.00000000 0.00000000 17.0178000 0.32500200 0.00000000 0.00000000 0.00000000 0.00000000 292.7180000 0.00000000 -0.00278094 0.00000000 0.00000000 0.00000000 69.8731000 0.00000000 -0.03571460 0.00000000 0.00000000 0.00000000 22.3363000 0.00000000 -0.11498500 0.00000000 0.00000000 0.00000000 8.1503900 0.00000000 0.09356340 0.00000000 0.00000000 0.00000000 3.1345800 0.00000000 0.60301700 0.00000000 0.00000000 0.00000000 1.2254300 0.00000000 0.41895900 0.00000000 0.00000000 0.00000000 1.7273800 0.00000000 0.00000000 -0.24463000 0.00000000 0.00000000 0.5729220 0.00000000 0.00000000 0.00431572 0.00000000 0.00000000 0.2221920 0.00000000 0.00000000 1.09818000 0.00000000 0.00000000 0.0778369 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0331000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 292.7180000 0.00443826 0.00000000 0.00000000 0.00000000 69.8731000 0.03266790 0.00000000 0.00000000 0.00000000 22.3363000 0.13472100 0.00000000 0.00000000 0.00000000 8.1503900 0.32867800 0.00000000 0.00000000 0.00000000 3.1345800 0.44964000 0.00000000 0.00000000 0.00000000 1.2254300 0.26137200 0.00000000 0.00000000 0.00000000 1.7273800 0.00000000 -0.01779510 0.00000000 0.00000000 0.5729220 0.00000000 0.25353900 0.00000000 0.00000000 0.2221920 0.00000000 0.80066900 0.00000000 0.00000000 0.0778369 0.00000000 0.00000000 1.00000000 0.00000000 0.0331000 0.00000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (16s,10p) -> [4s,3p] $ PHOSPHORUS (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 19413.3000000 0.00185160 0.00000000 0.00000000 0.00000000 0.00000000 2909.4200000 0.01420620 0.00000000 0.00000000 0.00000000 0.00000000 661.3640000 0.06999950 0.00000000 0.00000000 0.00000000 0.00000000 185.7590000 0.24007900 0.00000000 0.00000000 0.00000000 0.00000000 59.1943000 0.48476200 0.00000000 0.00000000 0.00000000 0.00000000 20.0310000 0.33520000 0.00000000 0.00000000 0.00000000 0.00000000 339.4780000 0.00000000 -0.00278217 0.00000000 0.00000000 0.00000000 81.0101000 0.00000000 -0.03604990 0.00000000 0.00000000 0.00000000 25.8780000 0.00000000 -0.11663100 0.00000000 0.00000000 0.00000000 9.4522100 0.00000000 0.09683280 0.00000000 0.00000000 0.00000000 3.6656600 0.00000000 0.61441800 0.00000000 0.00000000 0.00000000 1.4674600 0.00000000 0.40379800 0.00000000 0.00000000 0.00000000 2.1562300 0.00000000 0.00000000 -0.25292300 0.00000000 0.00000000 0.7489970 0.00000000 0.00000000 0.03285170 0.00000000 0.00000000 0.2831450 0.00000000 0.00000000 1.08125000 0.00000000 0.00000000 0.0998317 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0348000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 339.4780000 0.00456462 0.00000000 0.00000000 0.00000000 81.0101000 0.03369360 0.00000000 0.00000000 0.00000000 25.8780000 0.13975500 0.00000000 0.00000000 0.00000000 9.4522100 0.33936200 0.00000000 0.00000000 0.00000000 3.6656600 0.45092100 0.00000000 0.00000000 0.00000000 1.4674600 0.23858600 0.00000000 0.00000000 0.00000000 2.1562300 0.00000000 -0.01776530 0.00000000 0.00000000 0.7489970 0.00000000 0.27405800 0.00000000 0.00000000 0.2831450 0.00000000 0.78542100 0.00000000 0.00000000 0.0998317 0.00000000 0.00000000 1.00000000 0.00000000 0.0348000 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (16s,10p) -> [4s,3p] $ SULFUR (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 21917.1000000 0.00186900 0.00000000 0.00000000 0.00000000 0.00000000 3301.4900000 0.01423000 0.00000000 0.00000000 0.00000000 0.00000000 754.1460000 0.06969600 0.00000000 0.00000000 0.00000000 0.00000000 212.7110000 0.23848700 0.00000000 0.00000000 0.00000000 0.00000000 67.9896000 0.48330700 0.00000000 0.00000000 0.00000000 0.00000000 23.0515000 0.33807400 0.00000000 0.00000000 0.00000000 0.00000000 423.7350000 0.00000000 -0.00237670 0.00000000 0.00000000 0.00000000 100.7100000 0.00000000 -0.03169300 0.00000000 0.00000000 0.00000000 32.1599000 0.00000000 -0.11331700 0.00000000 0.00000000 0.00000000 11.8079000 0.00000000 0.05609000 0.00000000 0.00000000 0.00000000 4.6311000 0.00000000 0.59225500 0.00000000 0.00000000 0.00000000 1.8702500 0.00000000 0.45500600 0.00000000 0.00000000 0.00000000 2.6158400 0.00000000 0.00000000 -0.25037400 0.00000000 0.00000000 0.9221670 0.00000000 0.00000000 0.06695700 0.00000000 0.00000000 0.3412870 0.00000000 0.00000000 1.05451000 0.00000000 0.00000000 0.1171670 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0405000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 423.7350000 0.00406100 0.00000000 0.00000000 0.00000000 100.7100000 0.03068100 0.00000000 0.00000000 0.00000000 32.1599000 0.13045200 0.00000000 0.00000000 0.00000000 11.8079000 0.32720500 0.00000000 0.00000000 0.00000000 4.6311000 0.45285100 0.00000000 0.00000000 0.00000000 1.8702500 0.25604200 0.00000000 0.00000000 0.00000000 2.6158400 0.00000000 -0.01451100 0.00000000 0.00000000 0.9221670 0.00000000 0.31026300 0.00000000 0.00000000 0.3412870 0.00000000 0.75448300 0.00000000 0.00000000 0.1171670 0.00000000 0.00000000 1.00000000 0.00000000 0.0405000 0.00000000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (16s,10p) -> [4s,3p] $ CHLORINE (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 25180.1000000 0.00183300 0.00000000 0.00000000 0.00000000 0.00000000 3780.3500000 0.01403400 0.00000000 0.00000000 0.00000000 0.00000000 860.4740000 0.06909700 0.00000000 0.00000000 0.00000000 0.00000000 242.1450000 0.23745200 0.00000000 0.00000000 0.00000000 0.00000000 77.3349000 0.48303400 0.00000000 0.00000000 0.00000000 0.00000000 26.2470000 0.33985600 0.00000000 0.00000000 0.00000000 0.00000000 491.7650000 0.00000000 -0.00229740 0.00000000 0.00000000 0.00000000 116.9840000 0.00000000 -0.03071400 0.00000000 0.00000000 0.00000000 37.4153000 0.00000000 -0.11252800 0.00000000 0.00000000 0.00000000 13.7834000 0.00000000 0.04501600 0.00000000 0.00000000 0.00000000 5.4521500 0.00000000 0.58935300 0.00000000 0.00000000 0.00000000 2.2258800 0.00000000 0.46520600 0.00000000 0.00000000 0.00000000 3.1864900 0.00000000 0.00000000 -0.25183000 0.00000000 0.00000000 1.1442700 0.00000000 0.00000000 0.06158900 0.00000000 0.00000000 0.4203770 0.00000000 0.00000000 1.06018000 0.00000000 0.00000000 0.1426570 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0483000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 491.7650000 0.00398940 0.00000000 0.00000000 0.00000000 116.9840000 0.03031800 0.00000000 0.00000000 0.00000000 37.4153000 0.12988000 0.00000000 0.00000000 0.00000000 13.7834000 0.32795100 0.00000000 0.00000000 0.00000000 5.4521500 0.45352700 0.00000000 0.00000000 0.00000000 2.2258800 0.25215400 0.00000000 0.00000000 0.00000000 3.1864900 0.00000000 -0.01429900 0.00000000 0.00000000 1.1442700 0.00000000 0.32357200 0.00000000 0.00000000 0.4203770 0.00000000 0.74350700 0.00000000 0.00000000 0.1426570 0.00000000 0.00000000 1.00000000 0.00000000 0.0483000 0.00000000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (16s,10p) -> [4s,3p] $ ARGON (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 28348.3000000 0.00182526 0.00000000 0.00000000 0.00000000 0.00000000 4257.6200000 0.01396860 0.00000000 0.00000000 0.00000000 0.00000000 969.8570000 0.06870730 0.00000000 0.00000000 0.00000000 0.00000000 273.2630000 0.23620400 0.00000000 0.00000000 0.00000000 0.00000000 87.3695000 0.48221400 0.00000000 0.00000000 0.00000000 0.00000000 29.6867000 0.34204300 0.00000000 0.00000000 0.00000000 0.00000000 575.8910000 0.00000000 -0.00215972 0.00000000 0.00000000 0.00000000 136.8160000 0.00000000 -0.02907750 0.00000000 0.00000000 0.00000000 43.8098000 0.00000000 -0.11082700 0.00000000 0.00000000 0.00000000 16.2094000 0.00000000 0.02769990 0.00000000 0.00000000 0.00000000 6.4608400 0.00000000 0.57761300 0.00000000 0.00000000 0.00000000 2.6511400 0.00000000 0.48868800 0.00000000 0.00000000 0.00000000 3.8602800 0.00000000 0.00000000 -0.25559200 0.00000000 0.00000000 1.4137300 0.00000000 0.00000000 0.03780660 0.00000000 0.00000000 0.5166460 0.00000000 0.00000000 1.08056000 0.00000000 0.00000000 0.1738880 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 575.8910000 0.00380665 0.00000000 0.00000000 0.00000000 136.8160000 0.02923050 0.00000000 0.00000000 0.00000000 43.8098000 0.12646700 0.00000000 0.00000000 0.00000000 16.2094000 0.32351000 0.00000000 0.00000000 0.00000000 6.4608400 0.45489600 0.00000000 0.00000000 0.00000000 2.6511400 0.25663000 0.00000000 0.00000000 0.00000000 3.8602800 0.00000000 -0.01591970 0.00000000 0.00000000 1.4137300 0.00000000 0.32464600 0.00000000 0.00000000 0.5166460 0.00000000 0.74399000 0.00000000 0.00000000 0.1738880 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000 0.00000000 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/cc-pCVQZ0000775000175000017500000020222512743400275011624 00000000000000$Basis = cc-pCVQZ $Elements supported $H He B C N O F Ne Na Mg Al Si P S Cl Ar $ $ REFERENCE $H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $B - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Na - Mg: Unofficial set from D. Feller. $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $Elements References $-------- ---------- $ B - Na: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989) and D. E. Woon and $ T.H. Dunning, Jr. J. Chem. Phys. 103, 4572 (1995). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ ************************************************************************ a 1 $ HYDROGEN (6s,3p,2d,1f) -> [4s,3p,2d,1f] $ S-TYPE FUNCTIONS 6 4 0 82.6400000 0.00200600 0.00000000 0.00000000 0.00000000 12.4100000 0.01534300 0.00000000 0.00000000 0.00000000 2.8240000 0.07557900 0.00000000 0.00000000 0.00000000 0.7977000 0.25687500 1.00000000 0.00000000 0.00000000 0.2581000 0.49736800 0.00000000 1.00000000 0.00000000 0.0898900 0.29613300 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 2.2920000 1.00000000 0.00000000 0.00000000 0.8380000 0.00000000 1.00000000 0.00000000 0.2920000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 2.0620000 1.00000000 0.00000000 0.6620000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.3970000 1.00000000 a 2 $ HELIUM (7s,3p,2d,1f) -> [4s,3p,2d,1f] $ S-TYPE FUNCTIONS 7 4 0 528.5000000 0.00094000 0.00000000 0.00000000 0.00000000 79.3100000 0.00721400 0.00000000 0.00000000 0.00000000 18.0500000 0.03597500 0.00000000 0.00000000 0.00000000 5.0850000 0.12778200 0.00000000 0.00000000 0.00000000 1.6090000 0.30847000 1.00000000 0.00000000 0.00000000 0.5363000 0.45305200 0.00000000 1.00000000 0.00000000 0.1833000 0.23888400 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 5.9940000 1.00000000 0.00000000 0.00000000 1.7450000 0.00000000 1.00000000 0.00000000 0.5600000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 4.2990000 1.00000000 0.00000000 1.2230000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 2.6800000 1.00000000 a 5 $ BORON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ BORON Tight (s,p,d,f) $ S-TYPE FUNCTIONS 15 8 0 23870.0000000 0.00008800 -0.00001800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3575.0000000 0.00068700 -0.00013900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 812.8000000 0.00360000 -0.00072500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 229.7000000 0.01494900 -0.00306300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 74.6900000 0.05143500 -0.01058100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 26.8100000 0.14330200 -0.03136500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 10.3200000 0.30093500 -0.07101200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 4.1780000 0.40352600 -0.13210300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.7270000 0.22534000 -0.12307200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.4704000 0.01540700 0.26181900 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.1896000 -0.00395500 0.58666200 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.0739400 0.00112400 0.29049400 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 4.8640000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 13.2880000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 36.3040000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 7 0 22.2600000 0.00509500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 5.0580000 0.03320600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.4870000 0.13231400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.5071000 0.33181800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.1812000 0.47206300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.0646300 0.25797900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 5.4890000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 16.3020000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 48.4180000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 1.1100000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.4020000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1450000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 6.6400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 24.4620000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.8820000 1.00000000 0.00000000 0.00000000 0.3110000 0.00000000 1.00000000 0.00000000 18.7940000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.6730000 1.00000000 a 6 $ CARBON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ CARBON Tight (s,p,d,f) $ S-TYPE FUNCTIONS 15 8 0 33980.0000000 0.00009100 -0.00001900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 5089.0000000 0.00070400 -0.00015100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1157.0000000 0.00369300 -0.00078500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 326.6000000 0.01536000 -0.00332400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 106.1000000 0.05292900 -0.01151200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 38.1100000 0.14704300 -0.03416000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 14.7500000 0.30563100 -0.07717300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 6.0350000 0.39934500 -0.14149300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.5300000 0.21705100 -0.11801900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.7355000 0.01589400 0.27380600 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.2905000 -0.00308400 0.58651000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.1111000 0.00097800 0.28543000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 7.2160000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 19.5700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 53.0730000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 7 0 34.5100000 0.00537800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 7.9150000 0.03613200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 2.3680000 0.14249300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.8132000 0.34215000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.2890000 0.46386400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.1007000 0.25002800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 8.1820000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 24.1860000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 71.4940000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 1.8480000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.6490000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2280000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 8.6560000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 33.2130000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 1.4190000 1.00000000 0.00000000 0.00000000 0.4850000 0.00000000 1.00000000 0.00000000 24.6940000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.0110000 1.00000000 a 7 $ NITROGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ NITROGEN Tight (s,p,d,f) $ S-TYPE FUNCTIONS 15 8 0 45840.0000000 0.00009200 -0.00002000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 6868.0000000 0.00071700 -0.00015900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1563.0000000 0.00374900 -0.00082400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 442.4000000 0.01553200 -0.00347800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 144.3000000 0.05314600 -0.01196600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 52.1800000 0.14678700 -0.03538800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 20.3400000 0.30466300 -0.08007700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 8.3810000 0.39768400 -0.14672200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3.5290000 0.21764100 -0.11636000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.0540000 0.01696300 0.27991900 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.4118000 -0.00274500 0.58548100 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.1552000 0.00095300 0.28402800 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 9.8620000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 26.6270000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 71.8940000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 7 0 49.3300000 0.00553300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 11.3700000 0.03796200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 3.4350000 0.14902800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.1820000 0.34892200 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.4173000 0.45897200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.1428000 0.24492300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 11.3200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 33.3490000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 98.2450000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 2.8370000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.9680000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3350000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 11.8280000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 45.2180000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 2.0270000 1.00000000 0.00000000 0.00000000 0.6850000 0.00000000 1.00000000 0.00000000 28.3640000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.4270000 1.00000000 a 8 $ OXYGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ OXYGEN Tight (s,p,d,f) $ S-TYPE FUNCTIONS 15 8 0 61420.0000000 0.00009000 -0.00002000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 9199.0000000 0.00069800 -0.00015900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2091.0000000 0.00366400 -0.00082900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 590.9000000 0.01521800 -0.00350800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 192.3000000 0.05242300 -0.01215600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 69.3200000 0.14592100 -0.03626100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 26.9700000 0.30525800 -0.08299200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 11.1000000 0.39850800 -0.15209000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 4.6820000 0.21698000 -0.11533100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.4280000 0.01759400 0.28897900 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.5547000 -0.00250200 0.58612800 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.2067000 0.00095400 0.27762400 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 12.9740000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 34.9000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 93.8810000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 7 0 63.4200000 0.00604400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 14.6600000 0.04179900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 4.4590000 0.16114300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.5310000 0.35673100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.5302000 0.44830900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.1750000 0.24494000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 14.4750000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 42.7300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 126.1400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 3.7750000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.3000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4440000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 14.9270000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 57.5440000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 2.6660000 1.00000000 0.00000000 0.00000000 0.8590000 0.00000000 1.00000000 0.00000000 26.4830000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.8460000 1.00000000 a 9 $ FLUORINE (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ FLUORINE Tight (s,p,d,f) $ S-TYPE FUNCTIONS 15 8 0 74530.0000000 0.00009500 -0.00002200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 11170.0000000 0.00073800 -0.00017200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2543.0000000 0.00385800 -0.00089100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 721.0000000 0.01592600 -0.00374800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 235.9000000 0.05428900 -0.01286200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 85.6000000 0.14951300 -0.03806100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 33.5500000 0.30825200 -0.08623900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 13.9300000 0.39485300 -0.15586500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 5.9150000 0.21103100 -0.11091400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.8430000 0.01715100 0.29876100 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.7124000 -0.00201500 0.58501300 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.2637000 0.00086900 0.27115900 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 16.3190000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 43.7840000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 117.4720000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 7 0 80.3900000 0.00634700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 18.6300000 0.04420400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 5.6940000 0.16851400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.9530000 0.36156300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.6702000 0.44217800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.2166000 0.24343500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 18.1190000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 53.5050000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 158.0010000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 5.0140000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.7250000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5860000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 18.9430000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 72.7980000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 3.5620000 1.00000000 0.00000000 0.00000000 1.1480000 0.00000000 1.00000000 0.00000000 25.1610000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.3760000 1.00000000 a 10 $ NEON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ NEON Tight (s,p,d) $ S-TYPE FUNCTIONS 15 8 0 99920.0000000 0.00008600 -0.00002000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 14960.0000000 0.00066900 -0.00015800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3399.0000000 0.00351800 -0.00082400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 958.9000000 0.01466700 -0.00350000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 311.2000000 0.05096200 -0.01223300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 111.7000000 0.14374400 -0.03701700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 43.3200000 0.30456200 -0.08611300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 17.8000000 0.40010500 -0.15838100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 7.5030000 0.21864400 -0.11428800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.3370000 0.01866400 0.29819100 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.9001000 -0.00216700 0.58578400 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.3301000 0.00095100 0.27246700 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 20.1800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 54.0420000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 144.7250000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 7 0 99.6800000 0.00656600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 23.1500000 0.04597900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 7.1080000 0.17341900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 2.4410000 0.36457100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.8339000 0.43818500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.2662000 0.24168000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 22.2220000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 65.6220000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 193.7800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 6.4710000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.2130000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.7470000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 23.6130000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 90.1070000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 4.6570000 1.00000000 0.00000000 0.00000000 1.5240000 0.00000000 1.00000000 0.00000000 28.8300000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.9830000 1.00000000 a 11 $ SODIUM (19s,12p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ SODIUM Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 22 9 0 1224000.0000 0.00000479 -0.00000117 0.00000018 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 183200.00000 0.00003724 -0.00000909 0.00000137 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 41700.00000 0.00019583 -0.00004785 0.00000720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11810.00000 0.00082670 -0.00020196 0.00003033 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3853.00000000 0.00300251 -0.00073584 0.00011075 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1391.00000000 0.00970310 -0.00238746 0.00035860 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 542.50000000 0.02823370 -0.00704969 0.00106272 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 224.90000000 0.07320580 -0.01878560 0.00282687 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 97.93000000 0.16289700 -0.04461530 0.00676742 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 44.31000000 0.28870800 -0.08977410 0.01364800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.65000000 0.34682900 -0.14294000 0.02228140 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.72900000 0.20686500 -0.12431500 0.01960110 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.22800000 0.03280090 0.09996480 -0.01677080 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.96900000 -0.00064774 0.41708000 -0.07737340 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.88900000 0.00145878 0.47512300 -0.11350100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.39640000 -0.00017835 0.16326800 -0.13913000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.06993000 0.00009148 0.00309543 0.44008300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.03289000 -0.00008252 -0.00155263 0.53895200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.01612000 0.00002923 0.00055776 0.13388900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 24.28200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.87400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.97800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 8 0 413.40000000 0.00090820 -0.00009017 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 97.98000000 0.00741773 -0.00073934 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.37000000 0.03574640 -0.00357309 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.62000000 0.11852000 -0.01201420 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.67100000 0.26140300 -0.02671780 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.91800000 0.37839500 -0.03927530 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.77750000 0.33463200 -0.03760830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.30130000 0.12684400 -0.04332280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.22750000 -0.01471170 0.05180030 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07527000 0.00568650 0.26019400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.03126000 -0.00170974 0.54968100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.01342000 0.00054714 0.28187200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 4.46600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.68900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.63800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.15380000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.08650000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.04870000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 8.60600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.13700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 1.14400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.19120000 1.00000000 0.00000000 0.00000000 0.00000000 0.10360000 0.00000000 1.00000000 0.00000000 0.00000000 6.25800000 0.00000000 0.00000000 1.00000000 0.00000000 2.17300000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.17220000 1.00000000 0.00000000 4.09700000 0.00000000 1.00000000 a 12 $ MAGNESIUM (16s,12p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ MAGNESIUM Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 19 9 0 327600.00000 0.00003096 -0.00000783 0.00000151 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49050.00000 0.00024095 -0.00006079 0.00001171 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11150.00000 0.00126660 -0.00032120 0.00006190 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3152.00000000 0.00533359 -0.00134955 0.00026009 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1025.00000000 0.01907700 -0.00490570 0.00094622 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 368.80000000 0.05880580 -0.01535610 0.00296595 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 143.20000000 0.15145400 -0.04234090 0.00821245 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 58.96000000 0.30071600 -0.09406030 0.01839770 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.40000000 0.38114900 -0.16342500 0.03266570 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.15000000 0.21358400 -0.12475400 0.02573150 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.00400000 0.02312100 0.23562300 -0.05353510 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.70100000 -0.00230757 0.57756300 -0.15689500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.70600000 0.00128900 0.33523200 -0.20665900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.14100000 -0.00042639 0.01563380 0.32429800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.06808000 0.00035432 -0.00837799 0.55261100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.03063000 -0.00011259 0.00223056 0.26035200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 23.24300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 9.56100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 3.93300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 8 0 539.60000000 0.00083397 -0.00013208 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 127.90000000 0.00689215 -0.00109538 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 41.02000000 0.03378740 -0.00539495 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.25000000 0.11440100 -0.01855720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.16600000 0.25951400 -0.04273750 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.56100000 0.38509500 -0.06476840 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.06000000 0.33537300 -0.06278180 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.41760000 0.11064100 -0.02449120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.26900000 -0.01213150 0.10476100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.12230000 0.00700562 0.35890900 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.05476000 -0.00151335 0.49250100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.02388000 0.00044892 0.18528000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 39.53600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 12.77800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 4.13000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.10600000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.19440000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.35700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 12.53300000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.67700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 1.74500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.18100000 1.00000000 0.00000000 0.00000000 0.00000000 0.35900000 0.00000000 1.00000000 0.00000000 0.00000000 7.87600000 0.00000000 0.00000000 1.00000000 0.00000000 2.80500000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.30700000 1.00000000 0.00000000 5.39400000 0.00000000 1.00000000 a 13 $ ALUMINUM (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ ALUMINUM Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 19 9 0 419600.00000 0.00002782 -0.00000724 0.00000167 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 62830.00000 0.00021633 -0.00005617 0.00001296 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14290.00000 0.00113754 -0.00029653 0.00006851 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4038.00000000 0.00479635 -0.00124913 0.00028827 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1312.00000000 0.01723890 -0.00455101 0.00105276 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 470.50000000 0.05380660 -0.01443930 0.00333878 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 181.80000000 0.14132600 -0.04034640 0.00939217 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 74.46000000 0.28926800 -0.09226180 0.02160470 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.90000000 0.38482500 -0.16451000 0.03958730 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.96000000 0.23285200 -0.14129600 0.03491800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.18000000 0.02933300 0.19536500 -0.05284150 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.26500000 -0.00300574 0.57247500 -0.19187800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.96640000 0.00166673 0.37404100 -0.25411500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.24470000 -0.00060602 0.02341190 0.27507000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.11840000 0.00043136 -0.00905197 0.60474300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.05021000 -0.00012292 0.00211174 0.28762900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 9.72900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.87000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 2.43700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 8 0 891.30000000 0.00049175 -0.00008887 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 211.30000000 0.00415843 -0.00074582 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 68.28000000 0.02125380 -0.00387025 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.70000000 0.07640580 -0.01393500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.63000000 0.19427700 -0.03668600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.60200000 0.33442800 -0.06277970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.01500000 0.37502600 -0.07896020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.87060000 0.20404100 -0.02885890 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.29720000 0.02137380 0.23825600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.11000000 -0.00202144 0.55136300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.03989000 0.00081725 0.35438500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 10.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.51400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 2.03800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.08040000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.19900000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.49400000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 14.83500000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 5.63700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 2.14200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.15400000 1.00000000 0.00000000 0.00000000 0.00000000 0.40100000 0.00000000 1.00000000 0.00000000 0.00000000 9.85300000 0.00000000 0.00000000 1.00000000 0.00000000 3.52500000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.35700000 1.00000000 0.00000000 6.89400000 0.00000000 1.00000000 a 14 $ SILICON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ SILICON Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 19 9 0 513000.00000 0.00002609 -0.00000695 0.00000178 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 76820.00000 0.00020290 -0.00005396 0.00001381 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17470.00000 0.00106715 -0.00028472 0.00007300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4935.00000000 0.00450597 -0.00120203 0.00030767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1602.00000000 0.01623590 -0.00438397 0.00112563 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 574.10000000 0.05089130 -0.01397760 0.00358435 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 221.50000000 0.13515500 -0.03935160 0.01017280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 90.54000000 0.28129200 -0.09142830 0.02375200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.74000000 0.38533600 -0.16560900 0.04434830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.95000000 0.24565100 -0.15250500 0.04190410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.45200000 0.03431450 0.16852400 -0.05025040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.87400000 -0.00334884 0.56928400 -0.21657800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.25000000 0.00187625 0.39805600 -0.28644800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.35990000 -0.00069333 0.02915090 0.26325600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.16990000 0.00043831 -0.00848976 0.63490000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07066000 -0.00012262 0.00199603 0.29083200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 12.16400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 6.18700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 3.14700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 8 0 1122.00000000 0.00044814 -0.00009649 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 266.00000000 0.00381639 -0.00081197 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 85.92000000 0.01981050 -0.00430087 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.33000000 0.07270170 -0.01575020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.37000000 0.18983900 -0.04295410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.80000000 0.33567200 -0.07525740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.55900000 0.37936500 -0.09714460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.12400000 0.20119300 -0.02275070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.39880000 0.02085150 0.29198800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.15330000 -0.00170258 0.55067000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.05728000 0.00075005 0.29761800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 12.64600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 5.74700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 2.61200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.12000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.30200000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.76000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 19.01500000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 7.40100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 2.88100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.21200000 1.00000000 0.00000000 0.00000000 0.00000000 0.54100000 0.00000000 1.00000000 0.00000000 0.00000000 11.92500000 0.00000000 0.00000000 1.00000000 0.00000000 4.30400000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.46100000 1.00000000 0.00000000 8.57700000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ PHOSPHORUS Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 19 9 0 615200.00000 0.00002475 -0.00000672 0.00000185 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 92120.00000 0.00019247 -0.00005223 0.00001434 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20950.00000 0.00101202 -0.00027536 0.00007572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5920.00000000 0.00427261 -0.00116307 0.00031920 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1922.00000000 0.01541610 -0.00424281 0.00116851 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 688.00000000 0.04859760 -0.01361140 0.00374267 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 265.00000000 0.13006000 -0.03851140 0.01068170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.20000000 0.27451400 -0.09066430 0.02526570 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.22000000 0.38540200 -0.16658400 0.04792830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.23000000 0.25593400 -0.16144700 0.04770960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.85900000 0.03912370 0.14678100 -0.04665250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.54700000 -0.00368010 0.56668200 -0.23496800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.56400000 0.00208211 0.41643300 -0.31133700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.48880000 -0.00078848 0.03438440 0.25710900 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.22660000 0.00045405 -0.00780638 0.65365500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.09331000 -0.00012664 0.00192259 0.29421200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 14.83100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 7.64000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 3.93500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 8 0 1367.00000000 0.00042102 -0.00010083 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 324.00000000 0.00360985 -0.00085450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 104.60000000 0.01892170 -0.00457116 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 39.37000000 0.07055600 -0.01703270 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.26000000 0.18815700 -0.04752040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.05600000 0.33870900 -0.08527860 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.13000000 0.38194300 -0.10967600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.39400000 0.19526100 -0.01611810 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.51790000 0.01994160 0.32289300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.20320000 -0.00135121 0.54573800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07698000 0.00051714 0.26853800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 15.52300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 7.07300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 3.22300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.16500000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.41300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.03600000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 23.41700000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 9.25000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 3.65400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.28000000 1.00000000 0.00000000 0.00000000 0.00000000 0.70300000 0.00000000 1.00000000 0.00000000 0.00000000 14.20700000 0.00000000 0.00000000 1.00000000 0.00000000 5.16100000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.59700000 1.00000000 0.00000000 10.44800000 0.00000000 1.00000000 a 16 $ SULFUR (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ SULFUR Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 19 9 0 727800.00000 0.00002360 -0.00000652 0.00000189 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 109000.00000 0.00018348 -0.00005066 0.00001469 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24800.00000 0.00096428 -0.00026683 0.00007755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7014.00000000 0.00406537 -0.00112601 0.00032651 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2278.00000000 0.01469730 -0.00411186 0.00119686 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 814.70000000 0.04650810 -0.01324540 0.00384799 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 313.40000000 0.12550800 -0.03770040 0.01105390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 127.70000000 0.26843300 -0.08985540 0.02646450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.48000000 0.38480900 -0.16709800 0.05087710 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.85000000 0.26537200 -0.16935400 0.05300300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.42800000 0.04373260 0.12782400 -0.04255180 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.29000000 -0.00378807 0.56486200 -0.25085300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.90900000 0.00218083 0.43176700 -0.33315200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.62700000 -0.00083694 0.03893980 0.26379600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.28730000 0.00044809 -0.00730260 0.66684900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.11720000 -0.00012529 0.00192327 0.28845100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 17.59900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 9.18600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 4.79500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 8 0 1546.00000000 0.00044118 -0.00011311 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 366.40000000 0.00377571 -0.00095858 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 118.40000000 0.01983600 -0.00513471 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 44.53000000 0.07420630 -0.01926410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.38000000 0.19732700 -0.05359800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.96500000 0.35185100 -0.09603330 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.54100000 0.37868700 -0.11818300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.59100000 0.17093100 0.00923194 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.62050000 0.01515870 0.35884100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.24200000 0.00006720 0.52581800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.09014000 0.00040549 0.24887200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 18.12700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 8.21900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 3.72600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.20300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.50400000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.25000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 27.41700000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 10.89300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 4.31900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.33500000 1.00000000 0.00000000 0.00000000 0.00000000 0.86900000 0.00000000 1.00000000 0.00000000 0.00000000 16.53500000 0.00000000 0.00000000 1.00000000 0.00000000 6.00800000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.68300000 1.00000000 0.00000000 12.51800000 0.00000000 1.00000000 a 17 $ CHLORINE (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ CHLORINE Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 19 9 0 834900.00000 0.00002317 -0.00000650 0.00000197 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 125000.00000 0.00018015 -0.00005049 0.00001526 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28430.00000 0.00094778 -0.00026611 0.00008061 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8033.00000000 0.00400139 -0.00112499 0.00033996 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2608.00000000 0.01446290 -0.00410497 0.00124551 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 933.90000000 0.04565860 -0.01319870 0.00399612 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 360.00000000 0.12324800 -0.03753420 0.01147510 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 147.00000000 0.26436900 -0.08972330 0.02755040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 62.88000000 0.38298900 -0.16767100 0.05329170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 27.60000000 0.27093400 -0.17476300 0.05712460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.08000000 0.04714040 0.11490900 -0.03952010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.07500000 -0.00371766 0.56361800 -0.26434300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.27800000 0.00219158 0.44160600 -0.34929100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.77750000 -0.00084985 0.04266970 0.26967100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.35270000 0.00042466 -0.00667229 0.67607300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.14310000 -0.00012002 0.00190729 0.28467900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 20.68900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 10.88000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 5.72200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 8 0 1703.00000000 0.00047404 -0.00012827 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 403.60000000 0.00406412 -0.00109356 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 130.30000000 0.02133550 -0.00583429 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.05000000 0.07946110 -0.02192580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.26000000 0.20892700 -0.06013850 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.78700000 0.36494500 -0.10692900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.91900000 0.37172500 -0.12245400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.76500000 0.14629200 0.03836190 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.72070000 0.01079060 0.38525600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.28390000 0.00117004 0.50726500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.10600000 0.00033941 0.22721800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 20.78400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 9.37900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 4.23200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.25400000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.62800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.55100000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 32.25500000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 12.88800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 5.14900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.42300000 1.00000000 0.00000000 0.00000000 0.00000000 1.08900000 0.00000000 1.00000000 0.00000000 0.00000000 19.10700000 0.00000000 0.00000000 1.00000000 0.00000000 6.95000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.82700000 1.00000000 0.00000000 14.78200000 0.00000000 1.00000000 a 18 $ ARGON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ ARGON Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 19 9 0 950600.00000 0.00002275 -0.00000646 0.00000202 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142300.00000 0.00017694 -0.00005023 0.00001569 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32360.00000 0.00093128 -0.00026480 0.00008286 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9145.00000000 0.00392860 -0.00111895 0.00034926 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2970.00000000 0.01420640 -0.00408276 0.00127976 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1064.00000000 0.04481140 -0.01312160 0.00410365 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 410.80000000 0.12100100 -0.03728550 0.01177890 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 168.00000000 0.26057900 -0.08947090 0.02838680 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71.99000000 0.38136400 -0.16805400 0.05524060 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.67000000 0.27605800 -0.17959400 0.06074920 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.89000000 0.05051790 0.10295300 -0.03620120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.92900000 -0.00359866 0.56263000 -0.27539800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.67800000 0.00218798 0.45035500 -0.36284500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.94160000 -0.00086236 0.04606070 0.27311800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.42390000 0.00040523 -0.00603691 0.68289900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.17140000 -0.00011616 0.00188744 0.28341700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 24.02400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 12.70600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 6.72000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 8 0 1890.00000000 0.00049575 -0.00013886 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 447.80000000 0.00425172 -0.00118870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 144.60000000 0.02232770 -0.00632553 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.46000000 0.08308780 -0.02388130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.51000000 0.21711000 -0.06492380 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.77400000 0.37450700 -0.11544400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.36800000 0.36644500 -0.12365100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.95900000 0.12924500 0.06490550 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.82600000 0.00692249 0.40363300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.32970000 0.00083615 0.49059200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.12420000 -0.00015267 0.20852800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 23.62700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 10.65400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 4.80400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.31100000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.76300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.87300000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 37.36400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 15.01300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 6.03200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.54300000 1.00000000 0.00000000 0.00000000 0.00000000 1.32500000 0.00000000 1.00000000 0.00000000 0.00000000 21.88400000 0.00000000 0.00000000 1.00000000 0.00000000 7.96800000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 1.00700000 1.00000000 0.00000000 17.24300000 0.00000000 1.00000000 ergo-3.5/basis/cc-pVQZ-DK0000664000175000017500000016422212743400275012016 00000000000000$Basis = cc-pVQZ-DK $Elements supported $ H He B C N O F Ne Al Si P S Cl Ar Ga Ge As Se Br Kr $ $ REFERENCE $Elements References $-------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $ B - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ga - Kr: A.K. Wilson, D.E. Woon, K.A. Peterson, T.H. Dunning, Jr., $ J. Chem. Phys., 110, 7667 (1999). $** $Recontraction for use in Douglas-Kroll calculations: $W.A. de Jong, to be published. $ $ REFERENCE ************************************************************************ a 1 $ HYDROGEN (6s,3p,2d,1f) -> [4s,3p,2d,1f] $ S-TYPE FUNCTIONS 6 4 0 82.6400000 0.00201310 0.00000000 0.00000000 0.00000000 12.4100000 0.01534990 0.00000000 0.00000000 0.00000000 2.82400000 0.07559200 0.00000000 0.00000000 0.00000000 0.797700000 0.25686570 1.00000000 0.00000000 0.00000000 0.258100000 0.49737150 0.00000000 1.00000000 0.00000000 0.089890000 0.29612770 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 2.29200000 1.00000000 0.00000000 0.00000000 0.838000000 0.00000000 1.00000000 0.00000000 0.292000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 2.06200000 1.00000000 0.00000000 0.662000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.39700000 1.00000000 a 2 $ HELIUM (7s,3p,2d,1f) -> [4s,3p,2d,1f] $ S-TYPE FUNCTIONS 7 4 0 528.500000 0.00095920 0.00000000 0.00000000 0.00000000 79.3100000 0.00723290 0.00000000 0.00000000 0.00000000 18.0500000 0.03600600 0.00000000 0.00000000 0.00000000 5.08500000 0.12780650 0.00000000 0.00000000 0.00000000 1.60900000 0.30847750 1.00000000 0.00000000 0.00000000 0.536300000 0.45301420 0.00000000 1.00000000 0.00000000 0.183300000 0.23888100 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 5.99400000 1.00000000 0.00000000 0.00000000 1.74500000 0.00000000 1.00000000 0.00000000 0.560000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 4.29900000 1.00000000 0.00000000 1.22300000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 2.68000000 1.00000000 a 5 $ BORON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 12 5 0 23870.0000 0.00014280 -0.00002880 0.00000000 0.00000000 0.00000000 3575.00000 0.00076160 -0.00015450 0.00000000 0.00000000 0.00000000 812.800000 0.00370580 -0.00074730 0.00000000 0.00000000 0.00000000 229.700000 0.01509630 -0.00309570 0.00000000 0.00000000 0.00000000 74.6900000 0.05162940 -0.01062870 0.00000000 0.00000000 0.00000000 26.8100000 0.14348600 -0.03142780 0.00000000 0.00000000 0.00000000 10.3200000 0.30098720 -0.07105790 0.00000000 0.00000000 0.00000000 4.17800000 0.40334430 -0.13213860 0.00000000 0.00000000 0.00000000 1.72700000 0.22514460 -0.12285470 0.00000000 0.00000000 0.00000000 0.470400000 0.01538510 0.26218300 1.00000000 0.00000000 0.00000000 0.189600000 -0.00394600 0.58655700 0.00000000 1.00000000 0.00000000 0.073940000 0.00112120 0.29021230 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 22.2600000 0.00511240 0.00000000 0.00000000 0.00000000 5.05800000 0.03322000 0.00000000 0.00000000 0.00000000 1.48700000 0.13231360 0.00000000 0.00000000 0.00000000 0.507100000 0.33173570 1.00000000 0.00000000 0.00000000 0.181200000 0.47202990 0.00000000 1.00000000 0.00000000 0.064630000 0.25811420 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.11000000 1.00000000 0.00000000 0.00000000 0.402000000 0.00000000 1.00000000 0.00000000 0.145000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.882000000 1.00000000 0.00000000 0.311000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.673000000 1.00000000 a 6 $ CARBON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 12 5 0 33980.0000 0.00016310 -0.00003470 0.00000000 0.00000000 0.00000000 5089.00000 0.00081310 -0.00017400 0.00000000 0.00000000 0.00000000 1157.00000 0.00384800 -0.00081930 0.00000000 0.00000000 0.00000000 326.600000 0.01557700 -0.00337430 0.00000000 0.00000000 0.00000000 106.100000 0.05321690 -0.01158710 0.00000000 0.00000000 0.00000000 38.1100000 0.14731860 -0.03426210 0.00000000 0.00000000 0.00000000 14.7500000 0.30570640 -0.07725160 0.00000000 0.00000000 0.00000000 6.03500000 0.39906890 -0.14154210 0.00000000 0.00000000 0.00000000 2.53000000 0.21676360 -0.11766830 0.00000000 0.00000000 0.00000000 0.735500000 0.01585970 0.27435030 1.00000000 0.00000000 0.00000000 0.290500000 -0.00307150 0.58636620 0.00000000 1.00000000 0.00000000 0.111100000 0.00097360 0.28497720 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 34.5100000 0.00540840 0.00000000 0.00000000 0.00000000 7.91500000 0.03616810 0.00000000 0.00000000 0.00000000 2.36800000 0.14251950 0.00000000 0.00000000 0.00000000 0.813200000 0.34209960 1.00000000 0.00000000 0.00000000 0.289000000 0.46379570 0.00000000 1.00000000 0.00000000 0.100700000 0.25014210 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.84800000 1.00000000 0.00000000 0.00000000 0.649000000 0.00000000 1.00000000 0.00000000 0.228000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.41900000 1.00000000 0.00000000 0.485000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.01100000 1.00000000 a 7 $ NITROGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 12 5 0 45840.0000 0.00018370 -0.00004050 0.00000000 0.00000000 0.00000000 6868.00000 0.00086520 -0.00019160 0.00000000 0.00000000 0.00000000 1563.00000 0.00396190 -0.00087290 0.00000000 0.00000000 0.00000000 442.400000 0.01582950 -0.00355030 0.00000000 0.00000000 0.00000000 144.300000 0.05354300 -0.01207420 0.00000000 0.00000000 0.00000000 52.1800000 0.14717140 -0.03553770 0.00000000 0.00000000 0.00000000 20.3400000 0.30477290 -0.08019850 0.00000000 0.00000000 0.00000000 8.38100000 0.39730100 -0.14678800 0.00000000 0.00000000 0.00000000 3.52900000 0.21723310 -0.11585170 0.00000000 0.00000000 0.00000000 1.05400000 0.01692070 0.28069500 1.00000000 0.00000000 0.00000000 0.411800000 -0.00273740 0.58528200 0.00000000 1.00000000 0.00000000 0.155200000 0.00095050 0.28336990 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 49.3300000 0.00557880 0.00000000 0.00000000 0.00000000 11.3700000 0.03802450 0.00000000 0.00000000 0.00000000 3.43500000 0.14908540 0.00000000 0.00000000 0.00000000 1.18200000 0.34887460 1.00000000 0.00000000 0.00000000 0.417300000 0.45887680 0.00000000 1.00000000 0.00000000 0.142800000 0.24503150 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.83700000 1.00000000 0.00000000 0.00000000 0.968000000 0.00000000 1.00000000 0.00000000 0.335000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 2.02700000 1.00000000 0.00000000 0.685000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.42700000 1.00000000 a 8 $ OXYGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 12 5 0 61420.0000 0.00019890 -0.00004520 0.00000000 0.00000000 0.00000000 9199.00000 0.00088840 -0.00020260 0.00000000 0.00000000 0.00000000 2091.00000 0.00394250 -0.00089480 0.00000000 0.00000000 0.00000000 590.900000 0.01560720 -0.00360580 0.00000000 0.00000000 0.00000000 192.300000 0.05294610 -0.01230330 0.00000000 0.00000000 0.00000000 69.3200000 0.14643820 -0.03646840 0.00000000 0.00000000 0.00000000 26.9700000 0.30541480 -0.08316710 0.00000000 0.00000000 0.00000000 11.1000000 0.39799790 -0.15217400 0.00000000 0.00000000 0.00000000 4.68200000 0.21643540 -0.11462710 0.00000000 0.00000000 0.00000000 1.42800000 0.01753570 0.29002590 1.00000000 0.00000000 0.00000000 0.554700000 -0.00249230 0.58584370 0.00000000 1.00000000 0.00000000 0.206700000 0.00095070 0.27673420 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 63.4200000 0.00611070 0.00000000 0.00000000 0.00000000 14.6600000 0.04189570 0.00000000 0.00000000 0.00000000 4.45900000 0.16123290 0.00000000 0.00000000 0.00000000 1.53100000 0.35667520 1.00000000 0.00000000 0.00000000 0.530200000 0.44818370 0.00000000 1.00000000 0.00000000 0.175000000 0.24505420 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.77500000 1.00000000 0.00000000 0.00000000 1.30000000 0.00000000 1.00000000 0.00000000 0.444000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 2.66600000 1.00000000 0.00000000 0.859000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.84600000 1.00000000 a 9 $ FLUORINE (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 12 5 0 74530.0000 0.00022700 -0.00005260 0.00000000 0.00000000 0.00000000 11170.0000 0.00097820 -0.00022770 0.00000000 0.00000000 0.00000000 2543.00000 0.00421870 -0.00097770 0.00000000 0.00000000 0.00000000 721.000000 0.01642620 -0.00387620 0.00000000 0.00000000 0.00000000 235.900000 0.05495970 -0.01305750 0.00000000 0.00000000 0.00000000 85.6000000 0.15017150 -0.03833580 0.00000000 0.00000000 0.00000000 33.5500000 0.30843730 -0.08647130 0.00000000 0.00000000 0.00000000 13.9300000 0.39418620 -0.15595660 0.00000000 0.00000000 0.00000000 5.91500000 0.21034510 -0.10997790 0.00000000 0.00000000 0.00000000 1.84300000 0.01707700 0.30010100 1.00000000 0.00000000 0.00000000 0.712400000 -0.00200490 0.58462860 0.00000000 1.00000000 0.00000000 0.263700000 0.00086570 0.27000840 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 80.3900000 0.00643670 0.00000000 0.00000000 0.00000000 18.6300000 0.04434070 0.00000000 0.00000000 0.00000000 5.69400000 0.16864360 0.00000000 0.00000000 0.00000000 1.95300000 0.36149950 1.00000000 0.00000000 0.00000000 0.670200000 0.44201790 0.00000000 1.00000000 0.00000000 0.216600000 0.24354990 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 5.01400000 1.00000000 0.00000000 0.00000000 1.72500000 0.00000000 1.00000000 0.00000000 0.586000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 3.56200000 1.00000000 0.00000000 1.14800000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.37600000 1.00000000 a 10 $ NEON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ S-TYPE FUNCTIONS 12 5 0 99920.0000 0.00023090 -0.00005430 0.00000000 0.00000000 0.00000000 14960.0000 0.00094870 -0.00022420 0.00000000 0.00000000 0.00000000 3399.00000 0.00395280 -0.00092990 0.00000000 0.00000000 0.00000000 958.900000 0.01527370 -0.00365780 0.00000000 0.00000000 0.00000000 311.200000 0.05178920 -0.01247560 0.00000000 0.00000000 0.00000000 111.700000 0.14458690 -0.03736560 0.00000000 0.00000000 0.00000000 43.3200000 0.30484080 -0.08642250 0.00000000 0.00000000 0.00000000 17.8000000 0.39929010 -0.15850730 0.00000000 0.00000000 0.00000000 7.50300000 0.21775990 -0.11310740 0.00000000 0.00000000 0.00000000 2.33700000 0.01856410 0.29988850 1.00000000 0.00000000 0.00000000 0.900100000 -0.00215360 0.58530220 0.00000000 1.00000000 0.00000000 0.330100000 0.00094660 0.27101310 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 99.6800000 0.00668350 0.00000000 0.00000000 0.00000000 23.1500000 0.04616320 0.00000000 0.00000000 0.00000000 7.10800000 0.17359490 0.00000000 0.00000000 0.00000000 2.44100000 0.36449820 1.00000000 0.00000000 0.00000000 0.833900000 0.43798400 0.00000000 1.00000000 0.00000000 0.266200000 0.24179320 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 6.47100000 1.00000000 0.00000000 0.00000000 2.21300000 0.00000000 1.00000000 0.00000000 0.747000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 4.65700000 1.00000000 0.00000000 1.52400000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.98300000 1.00000000 a 13 $ ALUMINUM (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ S-TYPE FUNCTIONS 16 6 0 419600.000 0.00013890 -0.00003620 0.00000840 0.00000000 0.00000000 0.00000000 62830.0000 0.00047530 -0.00012410 0.00002860 0.00000000 0.00000000 0.00000000 14290.0000 0.00162920 -0.00042670 0.00009860 0.00000000 0.00000000 0.00000000 4038.00000 0.00552900 -0.00144840 0.00033440 0.00000000 0.00000000 0.00000000 1312.00000 0.01826350 -0.00485070 0.00112250 0.00000000 0.00000000 0.00000000 470.500000 0.05515140 -0.01488720 0.00344290 0.00000000 0.00000000 0.00000000 181.800000 0.14269440 -0.04097610 0.00954400 0.00000000 0.00000000 0.00000000 74.4600000 0.28974630 -0.09285210 0.02174120 0.00000000 0.00000000 0.00000000 31.9000000 0.38354310 -0.16463990 0.03965220 0.00000000 0.00000000 0.00000000 13.9600000 0.23126930 -0.13936330 0.03437070 0.00000000 0.00000000 0.00000000 5.18000000 0.02906790 0.19841860 -0.05362250 0.00000000 0.00000000 0.00000000 2.26500000 -0.00297290 0.57238490 -0.19270240 0.00000000 0.00000000 0.00000000 0.966400000 0.00165030 0.37123900 -0.25229090 0.00000000 0.00000000 0.00000000 0.244700000 -0.00059910 0.02281630 0.27867630 1.00000000 0.00000000 0.00000000 0.118400000 0.00042640 -0.00875750 0.60304580 0.00000000 1.00000000 0.00000000 0.050100000 -0.00012150 0.00203520 0.28587360 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 5 0 891.300000 0.00055790 -0.00010070 0.00000000 0.00000000 0.00000000 211.300000 0.00429740 -0.00077040 0.00000000 0.00000000 0.00000000 68.2800000 0.02153720 -0.00391920 0.00000000 0.00000000 0.00000000 25.7000000 0.07679880 -0.01399740 0.00000000 0.00000000 0.00000000 10.6300000 0.19457990 -0.03671110 0.00000000 0.00000000 0.00000000 4.60200000 0.33436600 -0.06270270 0.00000000 0.00000000 0.00000000 2.01500000 0.37468900 -0.07882050 0.00000000 0.00000000 0.00000000 0.870600000 0.20384590 -0.02868710 0.00000000 0.00000000 0.00000000 0.297200000 0.02140420 0.23795810 1.00000000 0.00000000 0.00000000 0.110000000 -0.00202470 0.55074110 0.00000000 1.00000000 0.00000000 0.039890000 0.00081900 0.35530380 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.080400000 1.00000000 0.00000000 0.00000000 0.199000000 0.00000000 1.00000000 0.00000000 0.494000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.154000000 1.00000000 0.00000000 0.401000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.357000000 1.00000000 a 14 $ SILICON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ S-TYPE FUNCTIONS 16 6 0 513000.000 0.00014380 -0.00003840 0.00000990 0.00000000 0.00000000 0.00000000 76820.0000 0.00048230 -0.00012900 0.00003300 0.00000000 0.00000000 0.00000000 17470.0000 0.00161220 -0.00043250 0.00011090 0.00000000 0.00000000 0.00000000 4935.00000 0.00533960 -0.00143400 0.00036720 0.00000000 0.00000000 0.00000000 1602.00000 0.01740670 -0.00473310 0.00121580 0.00000000 0.00000000 0.00000000 574.100000 0.05243740 -0.01450110 0.00371970 0.00000000 0.00000000 0.00000000 221.500000 0.13676970 -0.04009440 0.01037150 0.00000000 0.00000000 0.00000000 90.5400000 0.28194290 -0.09215420 0.02394220 0.00000000 0.00000000 0.00000000 38.7400000 0.38393090 -0.16579710 0.04443890 0.00000000 0.00000000 0.00000000 16.9500000 0.24374200 -0.15031430 0.04122550 0.00000000 0.00000000 0.00000000 6.45200000 0.03395350 0.17217600 -0.05133500 0.00000000 0.00000000 0.00000000 2.87400000 -0.00330640 0.56939710 -0.21766050 0.00000000 0.00000000 0.00000000 1.25000000 0.00185500 0.39473890 -0.28418310 0.00000000 0.00000000 0.00000000 0.359900000 -0.00068530 0.02832700 0.26756210 1.00000000 0.00000000 0.00000000 0.169900000 0.00043330 -0.00815770 0.63318590 0.00000000 1.00000000 0.00000000 0.070660000 -0.00012120 0.00191240 0.28851510 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 5 0 1122.00000 0.00052320 -0.00011250 0.00000000 0.00000000 0.00000000 266.000000 0.00397640 -0.00084610 0.00000000 0.00000000 0.00000000 85.9200000 0.02014490 -0.00437180 0.00000000 0.00000000 0.00000000 32.3300000 0.07318480 -0.01585050 0.00000000 0.00000000 0.00000000 13.3700000 0.19024970 -0.04302260 0.00000000 0.00000000 0.00000000 5.80000000 0.33564250 -0.07519070 0.00000000 0.00000000 0.00000000 2.55900000 0.37894490 -0.09697440 0.00000000 0.00000000 0.00000000 1.12400000 0.20089370 -0.02247520 0.00000000 0.00000000 0.00000000 0.398800000 0.02086410 0.29181800 1.00000000 0.00000000 0.00000000 0.153300000 -0.00170280 0.55022240 0.00000000 1.00000000 0.00000000 0.057280000 0.00075100 0.29819490 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.120000000 1.00000000 0.00000000 0.00000000 0.302000000 0.00000000 1.00000000 0.00000000 0.760000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.212000000 1.00000000 0.00000000 0.541000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.461000000 1.00000000 a 15 $ PHOSPHORUS (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ S-TYPE FUNCTIONS 16 6 0 615200.000 0.00014940 -0.00004080 0.00001120 0.00000000 0.00000000 0.00000000 92120.0000 0.00049270 -0.00013450 0.00003700 0.00000000 0.00000000 0.00000000 20950.0000 0.00161130 -0.00044120 0.00012130 0.00000000 0.00000000 0.00000000 5920.00000 0.00521140 -0.00142940 0.00039250 0.00000000 0.00000000 0.00000000 1922.00000 0.01674350 -0.00464530 0.00128000 0.00000000 0.00000000 0.00000000 688.000000 0.05036030 -0.01421680 0.00391070 0.00000000 0.00000000 0.00000000 265.000000 0.13193730 -0.03937650 0.01092960 0.00000000 0.00000000 0.00000000 108.200000 0.27535080 -0.09153780 0.02551320 0.00000000 0.00000000 0.00000000 46.2200000 0.38387280 -0.16684050 0.04805000 0.00000000 0.00000000 0.00000000 20.2300000 0.25367620 -0.15898410 0.04689490 0.00000000 0.00000000 0.00000000 7.85900000 0.03865190 0.15108340 -0.04805190 0.00000000 0.00000000 0.00000000 3.54700000 -0.00362760 0.56703630 -0.23635880 0.00000000 0.00000000 0.00000000 1.56400000 0.00205480 0.41254170 -0.30855930 0.00000000 0.00000000 0.00000000 0.488800000 -0.00077780 0.03333990 0.26209560 1.00000000 0.00000000 0.00000000 0.226600000 0.00044790 -0.00745380 0.65194270 0.00000000 1.00000000 0.00000000 0.093310000 -0.00012490 0.00183000 0.29132620 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 5 0 1367.00000 0.00050630 -0.00012110 0.00000000 0.00000000 0.00000000 324.000000 0.00379380 -0.00089840 0.00000000 0.00000000 0.00000000 104.600000 0.01931270 -0.00466490 0.00000000 0.00000000 0.00000000 39.3700000 0.07113810 -0.01717250 0.00000000 0.00000000 0.00000000 16.2600000 0.18868400 -0.04763500 0.00000000 0.00000000 0.00000000 7.05600000 0.33871040 -0.08522090 0.00000000 0.00000000 0.00000000 3.13000000 0.38142510 -0.10945970 0.00000000 0.00000000 0.00000000 1.39400000 0.19485420 -0.01570890 0.00000000 0.00000000 0.00000000 0.517900000 0.01993710 0.32283570 1.00000000 0.00000000 0.00000000 0.203200000 -0.00134860 0.54531230 0.00000000 1.00000000 0.00000000 0.076980000 0.00051740 0.26890830 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.165000000 1.00000000 0.00000000 0.00000000 0.413000000 0.00000000 1.00000000 0.00000000 1.03600000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.280000000 1.00000000 0.00000000 0.703000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.597000000 1.00000000 a 16 $ SULFUR (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ S-TYPE FUNCTIONS 16 6 0 727800.000 0.00015540 -0.00004320 0.00001250 0.00000000 0.00000000 0.00000000 109000.000 0.00050460 -0.00014030 0.00004070 0.00000000 0.00000000 0.00000000 24800.0000 0.00161750 -0.00045080 0.00013100 0.00000000 0.00000000 0.00000000 7014.00000 0.00511170 -0.00142790 0.00041430 0.00000000 0.00000000 0.00000000 2278.00000 0.01619050 -0.00457110 0.00133140 0.00000000 0.00000000 0.00000000 814.700000 0.04849920 -0.01393760 0.00405110 0.00000000 0.00000000 0.00000000 313.400000 0.12766760 -0.03869640 0.01135550 0.00000000 0.00000000 0.00000000 127.700000 0.26947670 -0.09089100 0.02677550 0.00000000 0.00000000 0.00000000 54.4800000 0.38316110 -0.16743640 0.05103640 0.00000000 0.00000000 0.00000000 23.8500000 0.26273920 -0.16661690 0.05204690 0.00000000 0.00000000 0.00000000 9.42800000 0.04313220 0.13282930 -0.04429670 0.00000000 0.00000000 0.00000000 4.29000000 -0.00372640 0.56550830 -0.25260720 0.00000000 0.00000000 0.00000000 1.90900000 0.00214790 0.42724150 -0.32976780 0.00000000 0.00000000 0.00000000 0.627000000 -0.00082480 0.03766090 0.26962860 1.00000000 0.00000000 0.00000000 0.287300000 0.00044190 -0.00693020 0.66485560 0.00000000 1.00000000 0.00000000 0.117200000 -0.00012370 0.00182360 0.28510350 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 5 0 1546.00000 0.00054200 -0.00013880 0.00000000 0.00000000 0.00000000 366.400000 0.00399490 -0.00101480 0.00000000 0.00000000 0.00000000 118.400000 0.02030530 -0.00525630 0.00000000 0.00000000 0.00000000 44.5300000 0.07491030 -0.01944960 0.00000000 0.00000000 0.00000000 18.3800000 0.19795990 -0.05375310 0.00000000 0.00000000 0.00000000 7.96500000 0.35183860 -0.09597300 0.00000000 0.00000000 0.00000000 3.54100000 0.37802590 -0.11787450 0.00000000 0.00000000 0.00000000 1.59100000 0.17045640 0.00978000 0.00000000 0.00000000 0.00000000 0.620500000 0.01514980 0.35881510 1.00000000 0.00000000 0.00000000 0.242000000 0.00006830 0.52536800 0.00000000 1.00000000 0.00000000 0.090140000 0.00040640 0.24913160 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.203000000 1.00000000 0.00000000 0.00000000 0.504000000 0.00000000 1.00000000 0.00000000 1.25000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.335000000 1.00000000 0.00000000 0.869000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.683000000 1.00000000 a 17 $ CHLORINE (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ S-TYPE FUNCTIONS 16 6 0 834900.000 0.00016410 -0.00004630 0.00001400 0.00000000 0.00000000 0.00000000 125000.000 0.00052670 -0.00014870 0.00004500 0.00000000 0.00000000 0.00000000 28430.0000 0.00166380 -0.00047100 0.00014270 0.00000000 0.00000000 0.00000000 8033.00000 0.00517110 -0.00146770 0.00044390 0.00000000 0.00000000 0.00000000 2608.00000 0.01614500 -0.00462980 0.00140570 0.00000000 0.00000000 0.00000000 933.900000 0.04789900 -0.01398870 0.00423780 0.00000000 0.00000000 0.00000000 360.000000 0.12569470 -0.03867270 0.01183410 0.00000000 0.00000000 0.00000000 147.000000 0.26559950 -0.09092500 0.02792790 0.00000000 0.00000000 0.00000000 62.8800000 0.38119660 -0.16808220 0.05348610 0.00000000 0.00000000 0.00000000 27.6000000 0.26792110 -0.17171360 0.05601610 0.00000000 0.00000000 0.00000000 11.0800000 0.04640820 0.12066310 -0.04164060 0.00000000 0.00000000 0.00000000 5.07500000 -0.00364840 0.56454740 -0.26647920 0.00000000 0.00000000 0.00000000 2.27800000 0.00215290 0.43640540 -0.34524300 0.00000000 0.00000000 0.00000000 0.777500000 -0.00083480 0.04115040 0.27636780 1.00000000 0.00000000 0.00000000 0.352700000 0.00041700 -0.00628790 0.67382910 0.00000000 1.00000000 0.00000000 0.143100000 -0.00011790 0.00180140 0.28081390 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 5 0 1703.00000 0.00059370 -0.00016060 0.00000000 0.00000000 0.00000000 403.600000 0.00432620 -0.00116490 0.00000000 0.00000000 0.00000000 130.300000 0.02189900 -0.00598970 0.00000000 0.00000000 0.00000000 49.0500000 0.08030250 -0.02216450 0.00000000 0.00000000 0.00000000 20.2600000 0.20966640 -0.06033590 0.00000000 0.00000000 0.00000000 8.78700000 0.36489110 -0.10685790 0.00000000 0.00000000 0.00000000 3.91900000 0.37089100 -0.12201360 0.00000000 0.00000000 0.00000000 1.76500000 0.14576740 0.03906080 0.00000000 0.00000000 0.00000000 0.720700000 0.01078460 0.38521880 1.00000000 0.00000000 0.00000000 0.283900000 0.00116850 0.50677670 0.00000000 1.00000000 0.00000000 0.106000000 0.00034120 0.22737590 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.254000000 1.00000000 0.00000000 0.00000000 0.628000000 0.00000000 1.00000000 0.00000000 1.55100000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.423000000 1.00000000 0.00000000 1.08900000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.827000000 1.00000000 a 18 $ ARGON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ S-TYPE FUNCTIONS 16 6 0 950600.000 0.00017290 -0.00004940 0.00001550 0.00000000 0.00000000 0.00000000 142300.000 0.00054910 -0.00015720 0.00004910 0.00000000 0.00000000 0.00000000 32360.0000 0.00171060 -0.00049090 0.00015360 0.00000000 0.00000000 0.00000000 9145.00000 0.00522360 -0.00150350 0.00046970 0.00000000 0.00000000 0.00000000 2970.00000 0.01608670 -0.00467660 0.00146700 0.00000000 0.00000000 0.00000000 1064.00000 0.04731620 -0.01401540 0.00438620 0.00000000 0.00000000 0.00000000 410.800000 0.12375330 -0.03857500 0.01219870 0.00000000 0.00000000 0.00000000 168.000000 0.26201520 -0.09085260 0.02883600 0.00000000 0.00000000 0.00000000 71.9900000 0.37942650 -0.16854760 0.05547440 0.00000000 0.00000000 0.00000000 31.6700000 0.27264190 -0.17622880 0.05948650 0.00000000 0.00000000 0.00000000 12.8900000 0.04963740 0.10950780 -0.03872480 0.00000000 0.00000000 0.00000000 5.92900000 -0.00352270 0.56389080 -0.27795220 0.00000000 0.00000000 0.00000000 2.67800000 0.00214350 0.44442350 -0.35807990 0.00000000 0.00000000 0.00000000 0.941600000 -0.00084450 0.04429920 0.28070890 1.00000000 0.00000000 0.00000000 0.423900000 0.00039630 -0.00565870 0.68043120 0.00000000 1.00000000 0.00000000 0.171400000 -0.00011370 0.00177990 0.27898640 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 5 0 1890.00000 0.00063450 -0.00017770 0.00000000 0.00000000 0.00000000 447.800000 0.00455800 -0.00127540 0.00000000 0.00000000 0.00000000 144.600000 0.02298910 -0.00651560 0.00000000 0.00000000 0.00000000 54.4600000 0.08407620 -0.02417650 0.00000000 0.00000000 0.00000000 22.5100000 0.21796970 -0.06516790 0.00000000 0.00000000 0.00000000 9.77400000 0.37441410 -0.11536410 0.00000000 0.00000000 0.00000000 4.36800000 0.36542190 -0.12304610 0.00000000 0.00000000 0.00000000 1.95900000 0.12866010 0.06575760 0.00000000 0.00000000 0.00000000 0.826000000 0.00692790 0.40360000 1.00000000 0.00000000 0.00000000 0.329700000 0.00082480 0.49001670 0.00000000 1.00000000 0.00000000 0.124200000 -0.00014910 0.20859790 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.311000000 1.00000000 0.00000000 0.00000000 0.763000000 0.00000000 1.00000000 0.00000000 1.87300000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.543000000 1.00000000 0.00000000 1.32500000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.00700000 1.00000000 a 31 $ GALLIUM (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ S-TYPE FUNCTIONS 21 7 0 11274496.0 0.00012210 -0.00003870 0.00001480 -0.00000350 0.00000000 0.00000000 0. 1688053.40 0.00034240 -0.00010860 0.00004160 -0.00000970 0.00000000 0.00000000 0. 384140.830 0.00090200 -0.00028650 0.00010970 -0.00002570 0.00000000 0.00000000 0. 108807.030 0.00218820 -0.00069660 0.00026670 -0.00006250 0.00000000 0.00000000 0. 35497.6910 0.00523630 -0.00167550 0.00064230 -0.00015070 0.00000000 0.00000000 0. 12815.1040 0.01254810 -0.00404520 0.00155070 -0.00036340 0.00000000 0.00000000 0. 4998.10870 0.03025760 -0.00991940 0.00381640 -0.00089670 0.00000000 0.00000000 0. 2072.88480 0.07111380 -0.02400860 0.00925150 -0.00216750 0.00000000 0.00000000 0. 903.745820 0.15279920 -0.05509410 0.02146940 -0.00505930 0.00000000 0.00000000 0. 410.443070 0.27242820 -0.11145200 0.04398810 -0.01032170 0.00000000 0.00000000 0. 192.606360 0.34232410 -0.18077620 0.07431230 -0.01768800 0.00000000 0.00000000 0. 92.0496780 0.22810970 -0.16160770 0.06938190 -0.01630150 0.00000000 0.00000000 0. 42.0478110 0.04547720 0.13240470 -0.06561900 0.01531540 0.00000000 0.00000000 0. 21.0692170 -0.00215510 0.54540040 -0.36705560 0.09453710 0.00000000 0.00000000 0. 10.4479150 0.00167360 0.42892560 -0.40852870 0.10563130 0.00000000 0.00000000 0. 4.77765800 -0.00077540 0.06866690 0.23123840 -0.06841600 0.00000000 0.00000000 0. 2.28256600 0.00032950 -0.00049950 0.71403310 -0.26848610 0.00000000 0.00000000 0. 1.03530300 -0.00013160 0.00148020 0.34657730 -0.24318890 0.00000000 0.00000000 0. 0.257674000 0.00004680 -0.00025430 0.01259080 0.38005670 1.00000000 0.00000000 0. 0.119179000 -0.00003270 0.00017640 -0.00438750 0.57889990 0.00000000 1.00000000 0. 0.051294000 0.00000990 -0.00005350 0.00105860 0.22343350 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 16 6 0 22059.7710 0.00018950 -0.00007210 0.00001180 0.00000000 0.00000000 0.00000000 5222.31290 0.00081610 -0.00031140 0.00005060 0.00000000 0.00000000 0.00000000 1696.06010 0.00360800 -0.00138040 0.00022630 0.00000000 0.00000000 0.00000000 648.765730 0.01380760 -0.00533010 0.00086620 0.00000000 0.00000000 0.00000000 275.102670 0.04551480 -0.01783630 0.00293490 0.00000000 0.00000000 0.00000000 125.346340 0.12226490 -0.04950360 0.00807180 0.00000000 0.00000000 0.00000000 60.0543340 0.25115550 -0.10597870 0.01762570 0.00000000 0.00000000 0.00000000 29.7237680 0.35915160 -0.16102860 0.02635210 0.00000000 0.00000000 0.00000000 15.0397810 0.29090650 -0.11028360 0.01865240 0.00000000 0.00000000 0.00000000 7.57227300 0.09612320 0.15160340 -0.03240990 0.00000000 0.00000000 0.00000000 3.73867600 0.00850530 0.42946230 -0.08032460 0.00000000 0.00000000 0.00000000 1.79678800 0.00135540 0.42015050 -0.09966140 0.00000000 0.00000000 0.00000000 0.829910000 0.00007970 0.15583430 -0.00703140 0.00000000 0.00000000 0.00000000 0.272874000 0.00006650 0.00928570 0.28572930 1.00000000 0.00000000 0.00000000 0.101540000 -0.00002830 -0.00083220 0.54175830 0.00000000 1.00000000 0.00000000 0.037658000 0.00000830 0.00034280 0.31622230 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 12 4 0 766.436960 0.00020430 0.00000000 0.00000000 0.00000000 231.004250 0.00174520 0.00000000 0.00000000 0.00000000 89.7812380 0.00945050 0.00000000 0.00000000 0.00000000 39.5466810 0.03492080 0.00000000 0.00000000 0.00000000 18.6075830 0.09594100 0.00000000 0.00000000 0.00000000 9.15128700 0.19450350 0.00000000 0.00000000 0.00000000 4.56500500 0.28222920 0.00000000 0.00000000 0.00000000 2.25306600 0.30782190 0.00000000 0.00000000 0.00000000 1.08672300 0.25269030 0.00000000 0.00000000 0.00000000 0.503304000 0.13661160 1.00000000 0.00000000 0.00000000 0.212283000 0.03093030 0.00000000 1.00000000 0.00000000 0.082800000 0.00052430 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.181000000 1.00000000 0.00000000 0.471000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.403200000 1.00000000 a 32 $ GERMANIUM (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ S-TYPE FUNCTIONS 21 7 0 12360507.0 0.00012540 -0.00003990 0.00001540 -0.00000400 0.00000000 0.00000000 0. 1850697.80 0.00035010 -0.00011150 0.00004310 -0.00001110 0.00000000 0.00000000 0. 421131.420 0.00091820 -0.00029300 0.00011340 -0.00002920 0.00000000 0.00000000 0. 119278.260 0.00221320 -0.00070810 0.00027400 -0.00007070 0.00000000 0.00000000 0. 38912.2770 0.00525370 -0.00168930 0.00065440 -0.00016890 0.00000000 0.00000000 0. 14048.6820 0.01246660 -0.00403980 0.00156510 -0.00040350 0.00000000 0.00000000 0. 5480.69920 0.02977060 -0.00980580 0.00381140 -0.00098510 0.00000000 0.00000000 0. 2274.20550 0.06948560 -0.02356840 0.00917960 -0.00236570 0.00000000 0.00000000 0. 992.241290 0.14907680 -0.05388210 0.02120590 -0.00549730 0.00000000 0.00000000 0. 450.999660 0.26723900 -0.10930390 0.04359540 -0.01125300 0.00000000 0.00000000 0. 211.820240 0.34139820 -0.17871720 0.07409310 -0.01940330 0.00000000 0.00000000 0. 101.411020 0.23531250 -0.16678790 0.07239780 -0.01872690 0.00000000 0.00000000 0. 46.9140900 0.05050220 0.11024050 -0.05523860 0.01408150 0.00000000 0.00000000 0. 23.5089500 -0.00171940 0.53277010 -0.35581860 0.10092620 0.00000000 0.00000000 0. 11.6813110 0.00167930 0.44912800 -0.42949060 0.12276740 0.00000000 0.00000000 0. 5.43452600 -0.00078990 0.08026480 0.18390530 -0.05942560 0.00000000 0.00000000 0. 2.60880800 0.00033890 -0.00000260 0.71931700 -0.29890590 0.00000000 0.00000000 0. 1.19844200 -0.00014290 0.00159040 0.37906530 -0.28699190 0.00000000 0.00000000 0. 0.329808000 0.00005400 -0.00030520 0.01621770 0.38083800 1.00000000 0.00000000 0. 0.155433000 -0.00003580 0.00019290 -0.00483690 0.59906100 0.00000000 1.00000000 0. 0.066913000 0.00001030 -0.00005740 0.00113440 0.22747200 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 16 6 0 24017.4660 0.00019450 -0.00007520 0.00001480 0.00000000 0.00000000 0.00000000 5685.71750 0.00081850 -0.00031710 0.00006230 0.00000000 0.00000000 0.00000000 1846.48590 0.00357240 -0.00138780 0.00027450 0.00000000 0.00000000 0.00000000 706.249810 0.01357520 -0.00532120 0.00104530 0.00000000 0.00000000 0.00000000 299.456100 0.04470800 -0.01778780 0.00353100 0.00000000 0.00000000 0.00000000 136.439040 0.12040560 -0.04949580 0.00976250 0.00000000 0.00000000 0.00000000 65.3901550 0.24867030 -0.10655910 0.02137950 0.00000000 0.00000000 0.00000000 32.3937350 0.35812980 -0.16308770 0.03236680 0.00000000 0.00000000 0.00000000 16.4156160 0.29337430 -0.11370000 0.02300920 0.00000000 0.00000000 0.00000000 8.28778700 0.09915650 0.14823560 -0.03855790 0.00000000 0.00000000 0.00000000 4.11263400 0.00910300 0.42981900 -0.09919830 0.00000000 0.00000000 0.00000000 1.99885400 0.00138960 0.42131630 -0.12272460 0.00000000 0.00000000 0.00000000 0.944291000 0.00004040 0.15399370 -0.00679120 0.00000000 0.00000000 0.00000000 0.341211000 0.00007320 0.00964700 0.32874280 1.00000000 0.00000000 0.00000000 0.134350000 -0.00003350 -0.00051320 0.54284090 0.00000000 1.00000000 0.00000000 0.051735000 0.00000890 0.00026910 0.26709450 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 12 4 0 864.674110 0.00019630 0.00000000 0.00000000 0.00000000 261.037630 0.00166030 0.00000000 0.00000000 0.00000000 101.770300 0.00898240 0.00000000 0.00000000 0.00000000 45.1166410 0.03327610 0.00000000 0.00000000 0.00000000 21.4306860 0.09164370 0.00000000 0.00000000 0.00000000 10.6598610 0.18823030 0.00000000 0.00000000 0.00000000 5.39228700 0.27922070 0.00000000 0.00000000 0.00000000 2.70449700 0.31124430 0.00000000 0.00000000 0.00000000 1.32854400 0.25613630 0.00000000 0.00000000 0.00000000 0.626452000 0.13224360 1.00000000 0.00000000 0.00000000 0.266013000 0.02690110 0.00000000 1.00000000 0.00000000 0.106300000 0.00042730 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.549200000 1.00000000 0.00000000 0.219000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.468100000 1.00000000 a 33 $ ARSENIC (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ S-TYPE FUNCTIONS 21 7 0 13600341.0 0.00012810 -0.00004100 0.00001600 -0.00000440 0.00000000 0.00000000 0. 2036507.30 0.00035620 -0.00011400 0.00004460 -0.00001230 0.00000000 0.00000000 0. 463432.780 0.00093010 -0.00029820 0.00011660 -0.00003230 0.00000000 0.00000000 0. 131259.940 0.00222760 -0.00071620 0.00028000 -0.00007750 0.00000000 0.00000000 0. 42819.1920 0.00524580 -0.00169480 0.00066330 -0.00018370 0.00000000 0.00000000 0. 15457.0190 0.01233090 -0.00401570 0.00157240 -0.00043480 0.00000000 0.00000000 0. 6028.45830 0.02918430 -0.00965560 0.00379170 -0.00105140 0.00000000 0.00000000 0. 2500.55990 0.06771980 -0.02306870 0.00908170 -0.00251090 0.00000000 0.00000000 0. 1090.61490 0.14524010 -0.05260160 0.02090820 -0.00581490 0.00000000 0.00000000 0. 495.621540 0.26199830 -0.10708350 0.04315940 -0.01195270 0.00000000 0.00000000 0. 232.816690 0.34031990 -0.17652780 0.07380900 -0.02073830 0.00000000 0.00000000 0. 111.631180 0.24252800 -0.17156600 0.07527210 -0.02090560 0.00000000 0.00000000 0. 52.2699500 0.05604250 0.08892970 -0.04518430 0.01223660 0.00000000 0.00000000 0. 26.1498780 -0.00110990 0.51894300 -0.34429390 0.10485810 0.00000000 0.00000000 0. 13.0187570 0.00165050 0.46766630 -0.44824160 0.13802680 0.00000000 0.00000000 0. 6.15543200 -0.00078650 0.09286510 0.13919540 -0.04766280 0.00000000 0.00000000 0. 2.95912700 0.00033730 0.00079830 0.72285930 -0.32367300 0.00000000 0.00000000 0. 1.37387400 -0.00015010 0.00164370 0.40853590 -0.32606220 0.00000000 0.00000000 0. 0.408850000 0.00005920 -0.00033890 0.02010260 0.37337990 1.00000000 0.00000000 0. 0.194511000 -0.00003680 0.00019320 -0.00510420 0.62137810 0.00000000 1.00000000 0. 0.083641000 0.00001000 -0.00005750 0.00119760 0.23414860 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 16 6 0 25570.4180 0.00020430 -0.00008010 0.00001780 0.00000000 0.00000000 0.00000000 6052.92370 0.00084480 -0.00033240 0.00007380 0.00000000 0.00000000 0.00000000 1965.70020 0.00364820 -0.00143890 0.00032100 0.00000000 0.00000000 0.00000000 751.772290 0.01377120 -0.00548240 0.00121740 0.00000000 0.00000000 0.00000000 318.681400 0.04524670 -0.01828410 0.00409360 0.00000000 0.00000000 0.00000000 145.147490 0.12169920 -0.05084400 0.01134360 0.00000000 0.00000000 0.00000000 69.5411620 0.25091950 -0.10932040 0.02473980 0.00000000 0.00000000 0.00000000 34.4513760 0.35937910 -0.16653100 0.03748100 0.00000000 0.00000000 0.00000000 17.4606100 0.29080930 -0.11197050 0.02523540 0.00000000 0.00000000 0.00000000 8.80860900 0.09645090 0.15820780 -0.04628490 0.00000000 0.00000000 0.00000000 4.37864600 0.00847830 0.43942250 -0.11728970 0.00000000 0.00000000 0.00000000 2.14440500 0.00139710 0.41474210 -0.13952910 0.00000000 0.00000000 0.00000000 1.02935000 -0.00003650 0.13963960 0.00360010 0.00000000 0.00000000 0.00000000 0.404636000 0.00008910 0.00837550 0.36389960 1.00000000 0.00000000 0.00000000 0.165622000 -0.00004090 -0.00016940 0.53562680 0.00000000 1.00000000 0.00000000 0.065610000 0.00001110 0.00006970 0.23314200 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 12 4 0 996.979600 0.00017860 0.00000000 0.00000000 0.00000000 300.985180 0.00150250 0.00000000 0.00000000 0.00000000 117.234730 0.00822980 0.00000000 0.00000000 0.00000000 51.9569040 0.03115970 0.00000000 0.00000000 0.00000000 24.6894400 0.08763250 0.00000000 0.00000000 0.00000000 12.2951710 0.18433520 0.00000000 0.00000000 0.00000000 6.24465200 0.27944460 0.00000000 0.00000000 0.00000000 3.15546000 0.31575540 0.00000000 0.00000000 0.00000000 1.56804900 0.25782970 0.00000000 0.00000000 0.00000000 0.748647000 0.12688680 1.00000000 0.00000000 0.00000000 0.319125000 0.02357720 0.00000000 1.00000000 0.00000000 0.130000000 0.00035710 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.264000000 1.00000000 0.00000000 0.644000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.546500000 1.00000000 a 34 $ SELENIUM (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ S-TYPE FUNCTIONS 21 7 0 15011000.0 0.00013030 -0.00004190 0.00001650 -0.00000490 0.00000000 0.00000000 0. 2247500.00 0.00036100 -0.00011610 0.00004590 -0.00001350 0.00000000 0.00000000 0. 511450.000 0.00093840 -0.00030230 0.00011940 -0.00003500 0.00000000 0.00000000 0. 144870.000 0.00223320 -0.00072140 0.00028500 -0.00008360 0.00000000 0.00000000 0. 47261.0000 0.00521640 -0.00169300 0.00066940 -0.00019660 0.00000000 0.00000000 0. 17062.0000 0.01214220 -0.00397310 0.00157200 -0.00046100 0.00000000 0.00000000 0. 6654.50000 0.02846690 -0.00945770 0.00375160 -0.00110320 0.00000000 0.00000000 0. 2759.80000 0.06565050 -0.02245210 0.00893200 -0.00261870 0.00000000 0.00000000 0. 1203.20000 0.14081880 -0.05107210 0.02049850 -0.00604600 0.00000000 0.00000000 0. 546.530000 0.25599850 -0.10444470 0.04252230 -0.01248850 0.00000000 0.00000000 0. 256.630000 0.33903710 -0.17395960 0.07332810 -0.02185090 0.00000000 0.00000000 0. 123.140000 0.25067220 -0.17645040 0.07817820 -0.02304120 0.00000000 0.00000000 0. 58.2630000 0.06258570 0.06760080 -0.03497300 0.00988070 0.00000000 0.00000000 0. 29.0230000 -0.00031780 0.50429270 -0.33255390 0.10749200 0.00000000 0.00000000 0. 14.4650000 0.00159540 0.48495180 -0.46500680 0.15234720 0.00000000 0.00000000 0. 6.93480000 -0.00076850 0.10624940 0.09758260 -0.03457960 0.00000000 0.00000000 0. 3.32990000 0.00032780 0.00186770 0.72489410 -0.34615490 0.00000000 0.00000000 0. 1.56000000 -0.00015310 0.00163920 0.43466460 -0.36303800 0.00000000 0.00000000 0. 0.492910000 0.00006220 -0.00035380 0.02397770 0.37462280 1.00000000 0.00000000 0. 0.235250000 -0.00003700 0.00018000 -0.00521720 0.64158080 0.00000000 1.00000000 0. 0.100370000 0.00001000 -0.00005490 0.00124570 0.23362940 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 16 6 0 25217.0000 0.00023340 -0.00009290 0.00002240 0.00000000 0.00000000 0.00000000 5969.90000 0.00096610 -0.00038570 0.00009310 0.00000000 0.00000000 0.00000000 1938.90000 0.00416350 -0.00166660 0.00040280 0.00000000 0.00000000 0.00000000 741.660000 0.01562920 -0.00632160 0.00152680 0.00000000 0.00000000 0.00000000 314.500000 0.05084460 -0.02089640 0.00506790 0.00000000 0.00000000 0.00000000 143.310000 0.13423480 -0.05718450 0.01389560 0.00000000 0.00000000 0.00000000 68.6500000 0.26870280 -0.11953750 0.02930160 0.00000000 0.00000000 0.00000000 33.9950000 0.36547190 -0.17309800 0.04262070 0.00000000 0.00000000 0.00000000 17.1850000 0.26953910 -0.08948150 0.02057130 0.00000000 0.00000000 0.00000000 8.57400000 0.07667480 0.21311360 -0.06550650 0.00000000 0.00000000 0.00000000 4.22060000 0.00493920 0.47446420 -0.14404560 0.00000000 0.00000000 0.00000000 2.05210000 0.00128470 0.37684870 -0.14168990 0.00000000 0.00000000 0.00000000 0.961560000 -0.00019050 0.08899470 0.06805940 0.00000000 0.00000000 0.00000000 0.421510000 0.00012120 0.00245160 0.41213920 1.00000000 0.00000000 0.00000000 0.176260000 -0.00005790 0.00113660 0.49423120 0.00000000 1.00000000 0.00000000 0.070663000 0.00001340 -0.00007420 0.19415340 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 12 4 0 1143.40000 0.00016300 0.00000000 0.00000000 0.00000000 345.330000 0.00135980 0.00000000 0.00000000 0.00000000 134.460000 0.00751890 0.00000000 0.00000000 0.00000000 59.5670000 0.02908140 0.00000000 0.00000000 0.00000000 28.2830000 0.08377980 0.00000000 0.00000000 0.00000000 14.0610000 0.18116770 0.00000000 0.00000000 0.00000000 7.13900000 0.28121520 0.00000000 0.00000000 0.00000000 3.61480000 0.32141680 0.00000000 0.00000000 0.00000000 1.80720000 0.25889630 0.00000000 0.00000000 0.00000000 0.869440000 0.12085200 1.00000000 0.00000000 0.00000000 0.370360000 0.02033570 0.00000000 1.00000000 0.00000000 0.153000000 0.00030050 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.284000000 1.00000000 0.00000000 0.709700000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.573000000 1.00000000 a 35 $ BROMINE (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ S-TYPE FUNCTIONS 21 7 0 16475000.0 0.00013290 -0.00004290 0.00001710 -0.00000530 0.00000000 0.00000000 0. 2466600.00 0.00036680 -0.00011850 0.00004730 -0.00001450 0.00000000 0.00000000 0. 561310.000 0.00094940 -0.00030720 0.00012260 -0.00003770 0.00000000 0.00000000 0. 158990.000 0.00224610 -0.00072890 0.00029080 -0.00008940 0.00000000 0.00000000 0. 51869.0000 0.00520730 -0.00169760 0.00067790 -0.00020850 0.00000000 0.00000000 0. 18726.0000 0.01201040 -0.00394840 0.00157800 -0.00048470 0.00000000 0.00000000 0. 7303.60000 0.02790100 -0.00930840 0.00372860 -0.00114860 0.00000000 0.00000000 0. 3029.10000 0.06389730 -0.02194100 0.00881780 -0.00270810 0.00000000 0.00000000 0. 1320.80000 0.13686230 -0.04972260 0.02014570 -0.00622450 0.00000000 0.00000000 0. 600.030000 0.25023490 -0.10198130 0.04192990 -0.01290000 0.00000000 0.00000000 0. 281.900000 0.33687550 -0.17114370 0.07271230 -0.02269840 0.00000000 0.00000000 0. 135.540000 0.25775220 -0.18027750 0.08062500 -0.02490480 0.00000000 0.00000000 0. 64.8700000 0.06957540 0.04736920 -0.02522540 0.00726160 0.00000000 0.00000000 0. 32.1290000 0.00079840 0.48796280 -0.31996610 0.10838440 0.00000000 0.00000000 0. 16.0370000 0.00144890 0.50064950 -0.47948880 0.16500890 0.00000000 0.00000000 0. 7.78490000 -0.00070140 0.12084020 0.05727490 -0.02012290 0.00000000 0.00000000 0. 3.72470000 0.00029260 0.00321180 0.72534270 -0.36445710 0.00000000 0.00000000 0. 1.75830000 -0.00014530 0.00159390 0.45885360 -0.39677250 0.00000000 0.00000000 0. 0.583310000 0.00006040 -0.00036060 0.02793530 0.37189050 1.00000000 0.00000000 0. 0.278560000 -0.00003420 0.00016230 -0.00519530 0.66021940 0.00000000 1.00000000 0. 0.118290000 0.00000920 -0.00005260 0.00128940 0.23573930 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 16 6 0 26607.0000 0.00024610 -0.00009930 0.00002570 0.00000000 0.00000000 0.00000000 6298.20000 0.00100350 -0.00040620 0.00010500 0.00000000 0.00000000 0.00000000 2045.20000 0.00428440 -0.00173920 0.00044970 0.00000000 0.00000000 0.00000000 782.160000 0.01598110 -0.00655560 0.00169740 0.00000000 0.00000000 0.00000000 331.630000 0.05181320 -0.02160640 0.00560530 0.00000000 0.00000000 0.00000000 151.110000 0.13633840 -0.05895300 0.01536940 0.00000000 0.00000000 0.00000000 72.3920000 0.27172140 -0.12281230 0.03220020 0.00000000 0.00000000 0.00000000 35.8620000 0.36621890 -0.17610010 0.04665420 0.00000000 0.00000000 0.00000000 18.1340000 0.26551600 -0.08537250 0.02027820 0.00000000 0.00000000 0.00000000 9.04300000 0.07362890 0.22644120 -0.07420250 0.00000000 0.00000000 0.00000000 4.45000000 0.00448290 0.48592970 -0.16306000 0.00000000 0.00000000 0.00000000 2.16610000 0.00120900 0.36510960 -0.14547540 0.00000000 0.00000000 0.00000000 0.996280000 -0.00022150 0.07485840 0.11175760 0.00000000 0.00000000 0.00000000 0.454430000 0.00012520 0.00074580 0.43568820 1.00000000 0.00000000 0.00000000 0.194040000 -0.00006550 0.00172190 0.46503800 0.00000000 1.00000000 0.00000000 0.078997000 0.00001280 -0.00004900 0.16840770 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 12 4 0 1289.60000 0.00015270 0.00000000 0.00000000 0.00000000 389.750000 0.00126190 0.00000000 0.00000000 0.00000000 151.760000 0.00701540 0.00000000 0.00000000 0.00000000 67.2230000 0.02757560 0.00000000 0.00000000 0.00000000 31.9130000 0.08090150 0.00000000 0.00000000 0.00000000 15.8570000 0.17866910 0.00000000 0.00000000 0.00000000 8.05450000 0.28261350 0.00000000 0.00000000 0.00000000 4.08870000 0.32598930 0.00000000 0.00000000 0.00000000 2.05560000 0.25923160 0.00000000 0.00000000 0.00000000 0.995090000 0.11561160 1.00000000 0.00000000 0.00000000 0.423130000 0.01799470 0.00000000 1.00000000 0.00000000 0.177900000 0.00025680 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.340700000 1.00000000 0.00000000 0.825700000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.649100000 1.00000000 a 36 $ KRYPTON (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ S-TYPE FUNCTIONS 21 7 0 18226108.0 0.00013460 -0.00004360 0.00001760 -0.00000560 0.00000000 0.00000000 0. 2728802.50 0.00036990 -0.00012000 0.00004830 -0.00001540 0.00000000 0.00000000 0. 620997.710 0.00095320 -0.00030980 0.00012480 -0.00003980 0.00000000 0.00000000 0. 175899.580 0.00224140 -0.00073060 0.00029430 -0.00009390 0.00000000 0.00000000 0. 57387.4970 0.00515640 -0.00168820 0.00068060 -0.00021750 0.00000000 0.00000000 0. 20717.1810 0.01178310 -0.00389100 0.00157020 -0.00050100 0.00000000 0.00000000 0. 8078.88990 0.02711810 -0.00908180 0.00367200 -0.00117490 0.00000000 0.00000000 0. 3349.51700 0.06170180 -0.02126370 0.00862880 -0.00275270 0.00000000 0.00000000 0. 1459.78120 0.13209380 -0.04803110 0.01963480 -0.00630130 0.00000000 0.00000000 0. 662.893910 0.24335130 -0.09893210 0.04105300 -0.01311960 0.00000000 0.00000000 0. 311.392150 0.33422310 -0.16768470 0.07175030 -0.02326250 0.00000000 0.00000000 0. 149.937510 0.26600100 -0.18420990 0.08306520 -0.02666870 0.00000000 0.00000000 0. 72.4982490 0.07833910 0.02595460 -0.01477510 0.00411940 0.00000000 0.00000000 0. 35.5693540 0.00228300 0.46972710 -0.30601060 0.10765120 0.00000000 0.00000000 0. 17.7666330 0.00124400 0.51592350 -0.49244580 0.17643120 0.00000000 0.00000000 0. 8.71238300 -0.00060640 0.13698520 0.01737040 -0.00448790 0.00000000 0.00000000 0. 4.14497100 0.00024450 0.00481790 0.72411990 -0.37916950 0.00000000 0.00000000 0. 1.96964900 -0.00013110 0.00151580 0.48161450 -0.42811490 0.00000000 0.00000000 0. 0.679952000 0.00005590 -0.00036140 0.03211470 0.36711540 1.00000000 0.00000000 0. 0.324502000 -0.00003010 0.00014110 -0.00514290 0.67717710 0.00000000 1.00000000 0. 0.137441000 0.00000810 -0.00005010 0.00134890 0.23910410 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 16 6 0 28600.8310 0.00025340 -0.00010360 0.00002810 0.00000000 0.00000000 0.00000000 6770.99120 0.00101310 -0.00041570 0.00011290 0.00000000 0.00000000 0.00000000 2199.04890 0.00427290 -0.00175850 0.00047740 0.00000000 0.00000000 0.00000000 841.179570 0.01581460 -0.00657570 0.00178950 0.00000000 0.00000000 0.00000000 356.766330 0.05114690 -0.02162220 0.00589010 0.00000000 0.00000000 0.00000000 162.636200 0.13470350 -0.05903170 0.01618270 0.00000000 0.00000000 0.00000000 77.9660350 0.26953130 -0.12353130 0.03401720 0.00000000 0.00000000 0.00000000 38.6614890 0.36563510 -0.17821070 0.04973180 0.00000000 0.00000000 0.00000000 19.5767910 0.26803300 -0.08893680 0.02205550 0.00000000 0.00000000 0.00000000 9.79176100 0.07586520 0.22465050 -0.07780250 0.00000000 0.00000000 0.00000000 4.83538300 0.00476260 0.49039190 -0.17652630 0.00000000 0.00000000 0.00000000 2.36812500 0.00117710 0.36498390 -0.15206890 0.00000000 0.00000000 0.00000000 1.08999600 -0.00022940 0.07210210 0.13614870 0.00000000 0.00000000 0.00000000 0.504588000 0.00013450 -0.00012240 0.44952090 1.00000000 0.00000000 0.00000000 0.218455000 -0.00005850 0.00124770 0.44818050 0.00000000 1.00000000 0.00000000 0.089959000 0.00001600 -0.00025270 0.15331450 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 12 4 0 1437.77920 0.00014570 0.00000000 0.00000000 0.00000000 434.268460 0.00119470 0.00000000 0.00000000 0.00000000 168.926990 0.00667780 0.00000000 0.00000000 0.00000000 74.7775350 0.02656660 0.00000000 0.00000000 0.00000000 35.5160240 0.07888040 0.00000000 0.00000000 0.00000000 17.6710510 0.17641280 0.00000000 0.00000000 0.00000000 9.00461100 0.28256810 0.00000000 0.00000000 0.00000000 4.59477300 0.32872000 0.00000000 0.00000000 0.00000000 2.32648600 0.25961160 0.00000000 0.00000000 0.00000000 1.13324700 0.11230400 1.00000000 0.00000000 0.00000000 0.481307000 0.01658330 0.00000000 1.00000000 0.00000000 0.205300000 0.00023250 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.413000000 1.00000000 0.00000000 0.955700000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.739500000 1.00000000 ergo-3.5/basis/3-21++G0000775000175000017500000004721512743400275011123 00000000000000$ Basis = 3-21++G $ Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar $ $ REFERENCE $ Elements References $ -------- ---------- $ H - Ne: J.S. Binkley, J.A. Pople, W.J. Hehre, J. Am. Chem. Soc 102 939 (1980) $ Na - Ar: M.S. Gordon, J.S. Binkley, J.A. Pople, W.J. Pietro and W.J. Hehre, $ J. Am. Chem. Soc. 104, 2797 (1983). $ K - Ca: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 7, 359 (1986). $ Ga - Kr: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 7, 359 (1986). $ Sc - Zn: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 8, 861 (1987). $ Y - Cd: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 8, 880 (1987). $ Cs : A 3-21G quality set derived from the Huzinage MIDI basis sets. $ E.D. Glendening and D. Feller, J. Phys. Chem. 99, 3060 (1995) $ $ DIFFUSE FUNCTIONS $ Elements Reference $ -------- ---------- $ H, Li-Cl: T. Clark, J. Chandrasekhar, P.V.R. Schleyer, J. Comp. Chem. 4, 294 $ (1983). $ a 1 $ HYDROGEN (3s) -> [2s] $ HYDROGEN (Diffuse s) $ S-TYPE FUNCTIONS 4 3 0 5.4471780 0.15628500 0.00000000 0.00000000 0.8245470 0.90469100 0.00000000 0.00000000 0.1831920 0.00000000 1.00000000 0.00000000 0.0360000 0.00000000 0.00000000 1.00000000 a 2 $ HELIUM (3s) -> [2s] $ S-TYPE FUNCTIONS 3 2 0 13.6267000 0.17523000 0.00000000 1.9993500 0.89348300 0.00000000 0.3829930 0.00000000 1.00000000 a 3 $ LITHIUM (6s,3p) -> [3s,2p] $ LITHIUM (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 36.8382000 0.06966860 0.00000000 0.00000000 0.00000000 5.4817200 0.38134600 0.00000000 0.00000000 0.00000000 1.1132700 0.68170200 0.00000000 0.00000000 0.00000000 0.5402050 0.00000000 -0.26312700 0.00000000 0.00000000 0.1022550 0.00000000 1.14339000 0.00000000 0.00000000 0.0285650 0.00000000 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 0.5402050 0.16154600 0.00000000 0.00000000 0.1022550 0.91566300 0.00000000 0.00000000 0.0285650 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (6s,3p) -> [3s,2p] $ BERYLLIUM (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 71.8876000 0.06442630 0.00000000 0.00000000 0.00000000 10.7289000 0.36609600 0.00000000 0.00000000 0.00000000 2.2220500 0.69593400 0.00000000 0.00000000 0.00000000 1.2954800 0.00000000 -0.42106400 0.00000000 0.00000000 0.2688810 0.00000000 1.22407000 0.00000000 0.00000000 0.0773500 0.00000000 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 1.2954800 0.20513200 0.00000000 0.00000000 0.2688810 0.88252800 0.00000000 0.00000000 0.0773500 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 1.00000000 a 5 $ BORON (6s,3p) -> [3s,2p] $ BORON (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 116.4340000 0.06296050 0.00000000 0.00000000 0.00000000 17.4314000 0.36330400 0.00000000 0.00000000 0.00000000 3.6801600 0.69725500 0.00000000 0.00000000 0.00000000 2.2818700 0.00000000 -0.36866200 0.00000000 0.00000000 0.4652480 0.00000000 1.19944000 0.00000000 0.00000000 0.1243280 0.00000000 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 2.2818700 0.23115200 0.00000000 0.00000000 0.4652480 0.86676400 0.00000000 0.00000000 0.1243280 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (6s,3p) -> [3s,2p] $ CARBON (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 172.2560000 0.06176690 0.00000000 0.00000000 0.00000000 25.9109000 0.35879400 0.00000000 0.00000000 0.00000000 5.5333500 0.70071300 0.00000000 0.00000000 0.00000000 3.6649800 0.00000000 -0.39589700 0.00000000 0.00000000 0.7705450 0.00000000 1.21584000 0.00000000 0.00000000 0.1958570 0.00000000 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 3.6649800 0.23646000 0.00000000 0.00000000 0.7705450 0.86061900 0.00000000 0.00000000 0.1958570 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (6s,3p) -> [3s,2p] $ NITROGEN (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 242.7660000 0.05986570 0.00000000 0.00000000 0.00000000 36.4851000 0.35295500 0.00000000 0.00000000 0.00000000 7.8144900 0.70651300 0.00000000 0.00000000 0.00000000 5.4252200 0.00000000 -0.41330100 0.00000000 0.00000000 1.1491500 0.00000000 1.22442000 0.00000000 0.00000000 0.2832050 0.00000000 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 5.4252200 0.23797200 0.00000000 0.00000000 1.1491500 0.85895300 0.00000000 0.00000000 0.2832050 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (6s,3p) -> [3s,2p] $ OXYGEN (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 322.0370000 0.05923940 0.00000000 0.00000000 0.00000000 48.4308000 0.35150000 0.00000000 0.00000000 0.00000000 10.4206000 0.70765800 0.00000000 0.00000000 0.00000000 7.4029400 0.00000000 -0.40445300 0.00000000 0.00000000 1.5762000 0.00000000 1.22156000 0.00000000 0.00000000 0.3736840 0.00000000 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 7.4029400 0.24458600 0.00000000 0.00000000 1.5762000 0.85395500 0.00000000 0.00000000 0.3736840 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 1.00000000 a 9 $ FLUORINE (6s,3p) -> [3s,2p] $ FLUORINE (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 413.8010000 0.05854830 0.00000000 0.00000000 0.00000000 62.2446000 0.34930800 0.00000000 0.00000000 0.00000000 13.4340000 0.70963200 0.00000000 0.00000000 0.00000000 9.7775900 0.00000000 -0.40732700 0.00000000 0.00000000 2.0861700 0.00000000 1.22314000 0.00000000 0.00000000 0.4823830 0.00000000 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 9.7775900 0.24668000 0.00000000 0.00000000 2.0861700 0.85232100 0.00000000 0.00000000 0.4823830 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 1.00000000 a 10 $ NEON (6s,3p) -> [3s,2p] $ NEON (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 515.7240000 0.05814300 0.00000000 0.00000000 0.00000000 77.6538000 0.34795100 0.00000000 0.00000000 0.00000000 16.8136000 0.71071400 0.00000000 0.00000000 0.00000000 12.4830000 0.00000000 -0.40992200 0.00000000 0.00000000 2.6645100 0.00000000 1.22431000 0.00000000 0.00000000 0.6062500 0.00000000 0.00000000 1.00000000 0.00000000 0.1300000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 12.4830000 0.24746000 0.00000000 0.00000000 2.6645100 0.85174300 0.00000000 0.00000000 0.6062500 0.00000000 1.00000000 0.00000000 0.1300000 0.00000000 0.00000000 1.00000000 a 11 $ SODIUM (9s,6p) -> [4s,3p] $ SODIUM (Diffuse sp) $ S-TYPE FUNCTIONS 10 5 0 547.6130000 0.06749110 0.00000000 0.00000000 0.00000000 0.00000000 82.0678000 0.39350500 0.00000000 0.00000000 0.00000000 0.00000000 17.6917000 0.66560500 0.00000000 0.00000000 0.00000000 0.00000000 17.5407000 0.00000000 -0.11193700 0.00000000 0.00000000 0.00000000 3.7939800 0.00000000 0.25465400 0.00000000 0.00000000 0.00000000 0.9064410 0.00000000 0.84441700 0.00000000 0.00000000 0.00000000 0.5018240 0.00000000 0.00000000 -0.21966000 0.00000000 0.00000000 0.0609458 0.00000000 0.00000000 1.08912000 0.00000000 0.00000000 0.0244349 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0076000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 17.5407000 0.12823300 0.00000000 0.00000000 0.00000000 3.7939800 0.47153300 0.00000000 0.00000000 0.00000000 0.9064410 0.60427300 0.00000000 0.00000000 0.00000000 0.5018240 0.00000000 0.00906650 0.00000000 0.00000000 0.0609458 0.00000000 0.99720200 0.00000000 0.00000000 0.0244349 0.00000000 0.00000000 1.00000000 0.00000000 0.0076000 0.00000000 0.00000000 0.00000000 1.00000000 a 12 $ MAGNESIUM (9s,6p) -> [4s,3p] $ MAGNESIUM (Diffuse sp) $ S-TYPE FUNCTIONS 10 5 0 652.8410000 0.06759820 0.00000000 0.00000000 0.00000000 0.00000000 98.3805000 0.39177800 0.00000000 0.00000000 0.00000000 0.00000000 21.2996000 0.66666100 0.00000000 0.00000000 0.00000000 0.00000000 23.3727000 0.00000000 -0.11024600 0.00000000 0.00000000 0.00000000 5.1995300 0.00000000 0.18411900 0.00000000 0.00000000 0.00000000 1.3150800 0.00000000 0.89639900 0.00000000 0.00000000 0.00000000 0.6113490 0.00000000 0.00000000 -0.36110100 0.00000000 0.00000000 0.1418410 0.00000000 0.00000000 1.21505000 0.00000000 0.00000000 0.0464011 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0146000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 23.3727000 0.12101400 0.00000000 0.00000000 0.00000000 5.1995300 0.46281000 0.00000000 0.00000000 0.00000000 1.3150800 0.60690700 0.00000000 0.00000000 0.00000000 0.6113490 0.00000000 0.02426330 0.00000000 0.00000000 0.1418410 0.00000000 0.98667300 0.00000000 0.00000000 0.0464011 0.00000000 0.00000000 1.00000000 0.00000000 0.0146000 0.00000000 0.00000000 0.00000000 1.00000000 a 13 $ ALUMINUM (9s,6p) -> [4s,3p] $ ALUMINUM (Diffuse sp) $ S-TYPE FUNCTIONS 10 5 0 775.7370000 0.06683470 0.00000000 0.00000000 0.00000000 0.00000000 116.9520000 0.38906100 0.00000000 0.00000000 0.00000000 0.00000000 25.3326000 0.66946800 0.00000000 0.00000000 0.00000000 0.00000000 29.4796000 0.00000000 -0.10790200 0.00000000 0.00000000 0.00000000 6.6331400 0.00000000 0.14624500 0.00000000 0.00000000 0.00000000 1.7267500 0.00000000 0.92373000 0.00000000 0.00000000 0.00000000 0.9461600 0.00000000 0.00000000 -0.32032700 0.00000000 0.00000000 0.2025060 0.00000000 0.00000000 1.18412000 0.00000000 0.00000000 0.0639088 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0318000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 29.4796000 0.11757400 0.00000000 0.00000000 0.00000000 6.6331400 0.46117400 0.00000000 0.00000000 0.00000000 1.7267500 0.60553500 0.00000000 0.00000000 0.00000000 0.9461600 0.00000000 0.05193830 0.00000000 0.00000000 0.2025060 0.00000000 0.97266000 0.00000000 0.00000000 0.0639088 0.00000000 0.00000000 1.00000000 0.00000000 0.0318000 0.00000000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (9s,6p) -> [4s,3p] $ SILICON (Diffuse sp) $ S-TYPE FUNCTIONS 10 5 0 910.6550000 0.06608230 0.00000000 0.00000000 0.00000000 0.00000000 137.3360000 0.38622900 0.00000000 0.00000000 0.00000000 0.00000000 29.7601000 0.67238000 0.00000000 0.00000000 0.00000000 0.00000000 36.6716000 0.00000000 -0.10451100 0.00000000 0.00000000 0.00000000 8.3172900 0.00000000 0.10741000 0.00000000 0.00000000 0.00000000 2.2164500 0.00000000 0.95144600 0.00000000 0.00000000 0.00000000 1.0791300 0.00000000 0.00000000 -0.37610800 0.00000000 0.00000000 0.3024220 0.00000000 0.00000000 1.25165000 0.00000000 0.00000000 0.0933392 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0331000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 36.6716000 0.11335500 0.00000000 0.00000000 0.00000000 8.3172900 0.45757800 0.00000000 0.00000000 0.00000000 2.2164500 0.60742700 0.00000000 0.00000000 0.00000000 1.0791300 0.00000000 0.06710300 0.00000000 0.00000000 0.3024220 0.00000000 0.95688300 0.00000000 0.00000000 0.0933392 0.00000000 0.00000000 1.00000000 0.00000000 0.0331000 0.00000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (9s,6p) -> [4s,3p] $ PHOSPHORUS (Diffuse sp) $ S-TYPE FUNCTIONS 10 5 0 1054.9000000 0.06554100 0.00000000 0.00000000 0.00000000 0.00000000 159.1950000 0.38403600 0.00000000 0.00000000 0.00000000 0.00000000 34.5304000 0.67454100 0.00000000 0.00000000 0.00000000 0.00000000 44.2866000 0.00000000 -0.10213000 0.00000000 0.00000000 0.00000000 10.1019000 0.00000000 0.08159200 0.00000000 0.00000000 0.00000000 2.7399700 0.00000000 0.96978800 0.00000000 0.00000000 0.00000000 1.2186500 0.00000000 0.00000000 -0.37149500 0.00000000 0.00000000 0.3955460 0.00000000 0.00000000 1.27099000 0.00000000 0.00000000 0.1228110 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0348000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 44.2866000 0.11085100 0.00000000 0.00000000 0.00000000 10.1019000 0.45649500 0.00000000 0.00000000 0.00000000 2.7399700 0.60693600 0.00000000 0.00000000 0.00000000 1.2186500 0.00000000 0.09158200 0.00000000 0.00000000 0.3955460 0.00000000 0.93492400 0.00000000 0.00000000 0.1228110 0.00000000 0.00000000 1.00000000 0.00000000 0.0348000 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (9s,6p) -> [4s,3p] $ SULFUR (Diffuse sp) $ S-TYPE FUNCTIONS 10 5 0 1210.6200000 0.06500700 0.00000000 0.00000000 0.00000000 0.00000000 182.7470000 0.38204000 0.00000000 0.00000000 0.00000000 0.00000000 39.6673000 0.67654500 0.00000000 0.00000000 0.00000000 0.00000000 52.2236000 0.00000000 -0.10031000 0.00000000 0.00000000 0.00000000 11.9629000 0.00000000 0.06508800 0.00000000 0.00000000 0.00000000 3.2891100 0.00000000 0.98145500 0.00000000 0.00000000 0.00000000 1.2238400 0.00000000 0.00000000 -0.28608900 0.00000000 0.00000000 0.4573030 0.00000000 0.00000000 1.22806000 0.00000000 0.00000000 0.1422690 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0405000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 52.2236000 0.10964600 0.00000000 0.00000000 0.00000000 11.9629000 0.45764900 0.00000000 0.00000000 0.00000000 3.2891100 0.60426100 0.00000000 0.00000000 0.00000000 1.2238400 0.00000000 0.16477700 0.00000000 0.00000000 0.4573030 0.00000000 0.87085500 0.00000000 0.00000000 0.1422690 0.00000000 0.00000000 1.00000000 0.00000000 0.0405000 0.00000000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (9s,6p) -> [4s,3p] $ CHLORINE (Diffuse sp) $ S-TYPE FUNCTIONS 10 5 0 1376.4000000 0.06458270 0.00000000 0.00000000 0.00000000 0.00000000 207.8570000 0.38036300 0.00000000 0.00000000 0.00000000 0.00000000 45.1554000 0.67819000 0.00000000 0.00000000 0.00000000 0.00000000 60.8014000 0.00000000 -0.09876390 0.00000000 0.00000000 0.00000000 13.9765000 0.00000000 0.05113380 0.00000000 0.00000000 0.00000000 3.8871000 0.00000000 0.99133700 0.00000000 0.00000000 0.00000000 1.3529900 0.00000000 0.00000000 -0.22240100 0.00000000 0.00000000 0.5269550 0.00000000 0.00000000 1.18252000 0.00000000 0.00000000 0.1667140 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0483000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 60.8014000 0.10859800 0.00000000 0.00000000 0.00000000 13.9765000 0.45868200 0.00000000 0.00000000 0.00000000 3.8871000 0.60196200 0.00000000 0.00000000 0.00000000 1.3529900 0.00000000 0.21921600 0.00000000 0.00000000 0.5269550 0.00000000 0.82232100 0.00000000 0.00000000 0.1667140 0.00000000 0.00000000 1.00000000 0.00000000 0.0483000 0.00000000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (9s,6p) -> [4s,3p] $ ARGON (Diffuse sp) $ S-TYPE FUNCTIONS 10 5 0 1553.7100000 0.06417070 0.00000000 0.00000000 0.00000000 0.00000000 234.6780000 0.37879700 0.00000000 0.00000000 0.00000000 0.00000000 51.0121000 0.67975200 0.00000000 0.00000000 0.00000000 0.00000000 70.0453000 0.00000000 -0.09746610 0.00000000 0.00000000 0.00000000 16.1473000 0.00000000 0.03905690 0.00000000 0.00000000 0.00000000 4.5349200 0.00000000 0.99991600 0.00000000 0.00000000 0.00000000 1.5420900 0.00000000 0.00000000 -0.17686600 0.00000000 0.00000000 0.6072670 0.00000000 0.00000000 1.14690000 0.00000000 0.00000000 0.1953730 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 70.0453000 0.10761900 0.00000000 0.00000000 0.00000000 16.1473000 0.45957600 0.00000000 0.00000000 0.00000000 4.5349200 0.60004100 0.00000000 0.00000000 0.00000000 1.5420900 0.00000000 0.25568700 0.00000000 0.00000000 0.6072670 0.00000000 0.78984200 0.00000000 0.00000000 0.1953730 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000 0.00000000 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/Turbomole-DZ0000775000175000017500000020723112743400275012563 00000000000000$Basis = Turbomole-DZ $15.01.07 typos fixed (Li,Be,P,Sc,V,Cr,Ga,Se) david.wilson@latrobe.edu.au $ $******************************************************************************** $ NOTE: this is the Turbomole DZ basis set, not the Ahlrichs-VDZ from EMSL (which $ is close to the Turbomole SV basis set) $******************************************************************************** $ $ Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca $ Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr $ $ REFERENCE $ Elements References $ -------- ---------- $ H - Kr: A. Schafer, H. Horn and R. Ahlrichs, J. Chem. Phys. 97, 2571 (1992). $*********************************************************************** a 1 $ HYDROGEN (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 13.0107010 0.01968216 0.00000000 1.9622572 0.13796524 0.00000000 0.4445380 0.47831935 0.00000000 0.1219496 0.00000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 38.3549367 0.02381429 0.00000000 5.7689081 0.15490907 0.00000000 1.2399407 0.46998097 0.00000000 0.2975782 0.00000000 1.00000000 a 3 $ LITHIUM (8s) -> [4s] $ S-TYPE FUNCTIONS 8 4 0 1484.27860000 0.00076252 0.00000000 0.00000000 0.00000000 222.69992000 0.00587246 0.00000000 0.00000000 0.00000000 50.68454600 0.02968575 0.00000000 0.00000000 0.00000000 14.31666600 0.10983724 0.00000000 0.00000000 0.00000000 4.59432600 0.28534702 0.00000000 0.00000000 0.00000000 1.58299110 0.00000000 1.00000000 0.00000000 0.00000000 0.56225886 0.00000000 0.00000000 1.00000000 0.00000000 0.04787105 0.00000000 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (8s) -> [4s] $ S-TYPE FUNCTIONS 8 4 0 1429.9977041 0.00182253 0.00000000 0.00000000 0.00000000 214.72706466 0.01392939 0.00000000 0.00000000 0.00000000 48.839314750 0.06829046 0.00000000 0.00000000 0.00000000 13.697512092 0.23188729 0.00000000 0.00000000 0.00000000 4.2820865621 0.49993168 0.00000000 0.00000000 0.00000000 1.3937553677 0.00000000 1.00000000 0.00000000 0.00000000 0.1904399024 0.00000000 0.00000000 1.00000000 0.00000000 0.0618134048 0.00000000 0.00000000 0.00000000 1.00000000 a 5 $ BORON (8s,4p) -> [4s,2p] $ S-TYPE FUNCTIONS 8 4 0 2410.2061000 0.00175499 0.00000000 0.00000000 0.00000000 361.8699200 0.01343641 0.00000000 0.00000000 0.00000000 82.30859300 0.06636903 0.00000000 0.00000000 0.00000000 23.10994200 0.23025297 0.00000000 0.00000000 0.00000000 7.25172590 0.51498212 0.00000000 0.00000000 0.00000000 2.36664690 0.00000000 1.00000000 0.00000000 0.00000000 0.35987078 0.00000000 0.00000000 1.00000000 0.00000000 0.11162889 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 6.001707300 -0.03554532 0.0000000 1.240109700 -0.19834505 0.0000000 0.336680240 -0.50478729 0.0000000 0.095590862 0.00000000 1.0000000 a 6 $ CARBON (8s,4p) -> [4s,2p] $ S-TYPE FUNCTIONS 8 4 0 3623.8613000 0.00163392 0.00000000 0.00000000 0.00000000 544.0462100 0.01252170 0.00000000 0.00000000 0.00000000 123.7433800 0.06211391 0.00000000 0.00000000 0.00000000 34.7632090 0.21817729 0.00000000 0.00000000 0.00000000 10.9333330 0.49800431 0.00000000 0.00000000 0.00000000 3.57447650 0.00000000 1.00000000 0.00000000 0.00000000 0.57483245 0.00000000 0.00000000 1.00000000 0.00000000 0.17303640 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 9.44328190 0.03789545 0.00000000 2.00179860 0.20818177 0.00000000 0.54629718 0.50474166 0.00000000 0.15202684 0.00000000 1.00000000 a 7 $ NITROGEN (8s,4p) -> [4s,2p] $ S-TYPE FUNCTIONS 8 4 0 5071.98920000 0.00170672 0.00000000 0.00000000 0.00000000 761.41791000 0.01308770 0.00000000 0.00000000 0.00000000 173.18418000 0.06509825 0.00000000 0.00000000 0.00000000 48.67039000 0.23051603 0.00000000 0.00000000 0.00000000 15.33144800 0.53300474 0.00000000 0.00000000 0.00000000 5.01867100 0.00000000 1.00000000 0.00000000 0.00000000 0.83554772 0.00000000 0.00000000 1.00000000 0.00000000 0.24626814 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 13.55072200 0.04063084 0.00000000 2.91786820 0.22085799 0.00000000 0.79831252 0.51860142 0.00000000 0.21900125 0.00000000 1.00000000 a 8 $ OXYGEN (8s,4p) -> [4s,2p] $ S-TYPE FUNCTIONS 8 4 0 6773.37470000 0.00172661 0.00000000 0.00000000 0.00000000 1016.79700000 0.01324648 0.00000000 0.00000000 0.00000000 231.26738000 0.06602616 0.00000000 0.00000000 0.00000000 65.00845400 0.23528361 0.00000000 0.00000000 0.00000000 20.49980800 0.54976236 0.00000000 0.00000000 0.00000000 6.71606640 0.00000000 1.00000000 0.00000000 0.00000000 1.14715720 0.00000000 0.00000000 1.00000000 0.00000000 0.33423251 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 17.69426400 0.04359022 0.00000000 3.85360270 0.23178087 0.00000000 1.04674650 0.51455969 0.00000000 0.27586043 0.00000000 1.00000000 a 9 $ FLUORINE (8s,4p) -> [4s,2p] $ S-TYPE FUNCTIONS 8 4 0 8709.5462000 0.00139357 0.00000000 0.00000000 0.00000000 1307.4134000 0.01069507 0.00000000 0.00000000 0.00000000 297.3644100 0.05338931 0.00000000 0.00000000 0.00000000 83.6021540 0.19112479 0.00000000 0.00000000 0.00000000 26.3851210 0.44987537 0.00000000 0.00000000 0.00000000 8.64991740 0.00000000 1.00000000 0.00000000 0.00000000 1.50432910 0.00000000 0.00000000 1.00000000 0.00000000 0.43408405 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 22.66599400 0.03402887 0.00000000 4.97603410 0.17865315 0.00000000 1.34765430 0.38497323 0.00000000 0.34775168 0.00000000 1.00000000 a 10 $ NEON (8s,4p) -> [4s,2p] $ S-TYPE FUNCTIONS 8 4 0 10880.939306 -0.00170162 0.00000000 0.00000000 0.00000000 1633.3374648 -0.01306253 0.00000000 0.00000000 0.00000000 371.49062178 -0.06528233 0.00000000 0.00000000 0.00000000 104.45545964 -0.23451308 0.00000000 0.00000000 0.00000000 32.988575872 -0.55500083 0.00000000 0.00000000 0.00000000 10.820620157 0.00000000 1.00000000 0.00000000 0.00000000 1.9072526872 0.00000000 0.00000000 1.00000000 0.00000000 .54586681979 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 28.391507535 0.04644649 0.00000000 6.2702151539 0.24193624 0.00000000 1.6963316642 0.51206997 0.00000000 0.4324828638 0.00000000 1.00000000 a 11 $ SODIUM (11s,5p) -> [6s,2p] $ S-TYPE FUNCTIONS 11 6 0 28048.884797 0.00046752 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4207.0284406 0.00361333 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 957.88477766 0.01852918 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 272.15296475 0.07129398 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 91.091312119 0.19046447 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.078679609 0.00000000 0.41823582 0.00000000 0.00000000 0.00000000 0.00000000 20.306999872 0.00000000 0.45441714 0.00000000 0.00000000 0.00000000 0.00000000 9.2665418351 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.2160241629 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .69205019147 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .04052449719 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 2 0 75.430599161 0.01542495 0.00000000 17.277911860 0.09975477 0.00000000 5.1829377222 0.31216741 0.00000000 1.6602128738 0.49268483 0.00000000 .51271194274 0.00000000 1.00000000 a 12 $ MAGNESIUM (11s,5p) -> [6s,2p] $ S-TYPE FUNCTIONS 11 6 0 27472.334150 0.00066060 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4121.2426211 0.00509953 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 938.08725539 0.02603752 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 265.74694894 0.09932010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 86.890815391 0.27056219 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.518085008 0.00000000 0.20077752 0.00000000 0.00000000 0.00000000 0.00000000 12.105011298 0.00000000 0.12837397 0.00000000 0.00000000 0.00000000 0.00000000 2.6398546036 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 .90143194859 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .10699143095 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .04005758947 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 2 0 98.0605066090 0.01448240 0.00000000 22.5847139410 0.09554979 0.00000000 6.83774003260 0.30796449 0.00000000 2.23336063390 0.49945454 0.00000000 0.71625757083 0.00000000 0.31472896 a 13 $ ALUMINUM (11s,7p) -> [6s,4p] $ S-TYPE FUNCTIONS 11 6 0 32386.38100000 0.00062663 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4858.40560000 0.00483760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1105.91770000 0.02470575 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 313.39239000 0.09426715 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 102.65495000 0.25654901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.409873000 0.00000000 0.45465579 0.00000000 0.00000000 0.00000000 0.00000000 14.457878000 0.00000000 0.29587144 0.00000000 0.00000000 0.00000000 0.00000000 3.240526600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.162081200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.176911700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.065413993 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 145.675780000 0.01057249 0.00000000 0.00000000 0.00000000 33.847508000 0.07309955 0.00000000 0.00000000 0.00000000 10.413547000 0.25799051 0.00000000 0.00000000 0.00000000 3.531103000 0.47538177 0.00000000 0.00000000 0.00000000 1.205175000 0.00000000 1.00000000 0.00000000 0.00000000 0.271888500 0.00000000 0.00000000 1.00000000 0.00000000 0.071464661 0.00000000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (11s,7p) -> [6s,4p] $ S-TYPE FUNCTIONS 11 6 0 37778.32100000 0.00061382 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5667.24390000 0.00473908 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1290.06360000 0.02420910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 365.66405000 0.09242287 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 119.94065000 0.25154881 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.863083000 0.00000000 0.45306131 0.00000000 0.00000000 0.00000000 0.00000000 17.032537000 0.00000000 0.29955749 0.00000000 0.00000000 0.00000000 0.00000000 3.890771600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.446955800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.255320590 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.093327812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 178.34977 0.01025016 0.00000000 0.00000000 0.00000000 41.549427 0.07174731 0.00000000 0.00000000 0.00000000 12.842944 0.25746447 0.00000000 0.00000000 0.00000000 4.3972841 0.48214275 0.00000000 0.00000000 0.00000000 1.531189400 0.00000000 1.00000000 0.00000000 0.00000000 0.344435160 0.00000000 0.00000000 1.00000000 0.00000000 0.097809520 0.00000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (11s,7p) -> [6s,4p] $ S-TYPE FUNCTIONS 11 6 0 43629.146384 0.00060291 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6544.9101761 0.00465515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1489.8784631 0.02378670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 422.38300193 0.09086664 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 138.69747966 0.24743795 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 50.865386699 0.00000000 0.45854747 0.00000000 0.00000000 0.00000000 0.00000000 19.826936819 0.00000000 0.30750563 0.00000000 0.00000000 0.00000000 0.00000000 4.5933029207 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.7570187795 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .34358804778 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .12451452677 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 215.97067949 0.00997036 0.00000000 0.00000000 0.00000000 50.428986942 0.07061427 0.00000000 0.00000000 0.00000000 15.653604009 0.25773443 0.00000000 0.00000000 0.00000000 5.4085976775 0.49153068 0.00000000 0.00000000 0.00000000 1.9189363936 0.00000000 1.00000000 0.00000000 0.00000000 .45420822084 0.00000000 0.00000000 1.00000000 0.00000000 .13190937083 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (11s,7p) -> [6s,4p] $ S-TYPE FUNCTIONS 11 6 0 49931.306 0.00063275 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7490.2711 0.00488586 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1705.1055 0.02497198 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 483.47884 0.09545409 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 158.90589 0.26010998 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 58.413186 0.00000000 0.46095982 0.00000000 0.00000000 0.00000000 0.00000000 22.841767 0.00000000 0.31306229 0.00000000 0.00000000 0.00000000 0.00000000 5.3498518 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.0927789 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .44225000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .15874342 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 253.96442 0.00983902 0.00000000 0.00000000 0.00000000 59.394576 0.07024181 0.00000000 0.00000000 0.00000000 18.493871 0.25887557 0.00000000 0.00000000 0.00000000 6.4332816 0.49717317 0.00000000 0.00000000 0.00000000 2.3192912 0.00000000 1.00000000 0.00000000 0.00000000 .57410823 0.00000000 0.00000000 1.00000000 0.00000000 .16151193 0.00000000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (11s,7p) -> [6s,4p] $ S-TYPE FUNCTIONS 11 6 0 56684.838 0.00068913 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8503.3349 0.00532157 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1935.7459 0.02720543 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 548.95093 0.10405530 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 180.56372 0.28378057 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 66.503343 0.00000000 0.46220669 0.00000000 0.00000000 0.00000000 0.00000000 26.074159 0.00000000 0.31745467 0.00000000 0.00000000 0.00000000 0.00000000 6.1597909 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.4530894 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .55026285 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .19609318 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 293.05101 0.01064152 0.00000000 0.00000000 0.00000000 68.618132 0.07642011 0.00000000 0.00000000 0.00000000 21.418399 0.28335382 0.00000000 0.00000000 0.00000000 7.4912517 0.54501469 0.00000000 0.00000000 0.00000000 2.7386125 0.00000000 1.00000000 0.00000000 0.00000000 .70840486 0.00000000 0.00000000 1.00000000 0.00000000 .19755060 0.00000000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (11s,7p) -> [6s,4p] $ S-TYPE FUNCTIONS 11 6 0 63887.472828 0.00060679 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9583.7593589 0.00468605 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2181.7219111 0.02396184 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 618.77695604 0.09170349 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 203.66405413 0.25031342 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.133884493 0.00000000 0.46264301 0.00000000 0.00000000 0.00000000 0.00000000 29.523641372 0.00000000 0.32094773 0.00000000 0.00000000 0.00000000 0.00000000 7.0236865832 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.8378923141 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .66753250636 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .23653398697 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 332.06591997 0.01010188 0.00000000 0.00000000 0.00000000 77.822111152 0.07282546 0.00000000 0.00000000 0.00000000 24.336734690 0.27064490 0.00000000 0.00000000 0.00000000 8.5477344907 0.51824788 0.00000000 0.00000000 0.00000000 3.1621383978 0.00000000 1.00000000 0.00000000 0.00000000 .85405481066 0.00000000 0.00000000 1.00000000 0.00000000 .23833382586 0.00000000 0.00000000 0.00000000 1.00000000 a 19 $ POTASSIUM (14s,9p) -> [8s,5p] $ S-TYPE FUNCTIONS 14 8 0 182594.27324 -0.00022775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 27369.004986 -0.00176640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 6229.1737971 -0.00919497 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1764.5823486 -0.03745508 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 577.05120588 -0.12204454 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 210.24933364 -0.29898972 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 82.617830641 0.00000000 -0.40514697 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 33.233184522 0.00000000 -0.29253151 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 8.1064902102 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 3.3340258818 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 .84554422261 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 .32821626529 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 .03640352849 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 .01764628646 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 891.05446872 0.00218429 0.00000000 0.00000000 0.00000000 0.00000000 211.01581996 0.01758911 0.00000000 0.00000000 0.00000000 0.00000000 67.671412378 0.08177747 0.00000000 0.00000000 0.00000000 0.00000000 25.271488100 0.00000000 0.24565632 0.00000000 0.00000000 0.00000000 10.138958969 0.00000000 0.43398377 0.00000000 0.00000000 0.00000000 4.2018627167 0.00000000 0.36237665 0.00000000 0.00000000 0.00000000 1.6029467214 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .61461253051 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .22199300786 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 20 $ CALCIUM (14s,9p) -> [8s,5p] $ S-TYPE FUNCTIONS 14 8 0 202698.95519 0.00022296 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 30382.465915 0.00172932 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 6915.0833150 0.00900226 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1959.0210984 0.03666989 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 640.93602075 0.11940987 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 233.97696836 0.29182526 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 92.289198312 0.00000000 0.40441528 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 37.254479906 0.00000000 0.29631289 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 9.1319843289 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 3.8177857927 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 1.0493475069 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 .42865991519 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 .06282263898 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 .02601623787 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1019.7607638 -0.00205986 0.00000000 0.00000000 0.00000000 0.00000000 241.59630759 -0.01665008 0.00000000 0.00000000 0.00000000 0.00000000 77.637012084 -0.07776460 0.00000000 0.00000000 0.00000000 0.00000000 29.115419425 0.00000000 -0.24180561 0.00000000 0.00000000 0.00000000 11.762593591 0.00000000 -0.43257799 0.00000000 0.00000000 0.00000000 4.9228924219 0.00000000 -0.36732482 0.00000000 0.00000000 0.00000000 1.9223257245 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .75796196942 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .28430199095 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 21 $ SCANDIUM (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 224356.94297 0.00021996 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 33628.706060 0.00170604 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 7654.0171483 0.00888153 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 2168.4396566 0.03618370 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 709.62663857 0.11783927 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 259.31731327 0.28791645 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 102.47803758 0.00000000 0.36705138 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 41.443139691 0.00000000 0.27161996 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 10.201855624 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 4.3044982698 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 1.2219457424 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 .49725181441 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 .07272807752 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 .02939382928 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1154.9909592 0.00201027 0.00000000 0.00000000 0.00000000 0.00000000 273.70496612 0.01630507 0.00000000 0.00000000 0.00000000 0.00000000 88.069327311 0.07652789 0.00000000 0.00000000 0.00000000 0.00000000 33.110760026 0.00000000 0.23950904 0.00000000 0.00000000 0.00000000 13.436440751 0.00000000 0.43235380 0.00000000 0.00000000 0.00000000 5.6580984638 0.00000000 0.36969429 0.00000000 0.00000000 0.00000000 2.2436704314 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .88798004276 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .33282409733 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 19.238524038 0.02705466 0.00000000 0.00000000 5.1173305876 0.13813250 0.00000000 0.00000000 1.6549883906 0.34895303 0.00000000 0.00000000 .54017604591 0.00000000 1.00000000 0.00000000 .16210625295 0.00000000 0.00000000 1.00000000 a 22 $ TITANIUM (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 247254.20472 -0.00022396 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 37060.747577 -0.00173712 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 8435.1700312 -0.00904390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 2389.8299020 -0.03685082 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 782.23119870 -0.12004208 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 286.06776406 -0.29336894 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 113.20644330 0.00000000 -0.39817815 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 45.845720390 0.00000000 -0.29713034 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 11.328524813 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 4.8125219381 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 1.3957658690 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.5632789519 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.0805129593 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.0319264578 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1298.4162107 0.00202474 0.00000000 0.00000000 0.00000000 0.00000000 307.75625781 0.01647259 0.00000000 0.00000000 0.00000000 0.00000000 99.131233927 0.07766728 0.00000000 0.00000000 0.00000000 0.00000000 37.345305562 0.00000000 0.24328820 0.00000000 0.00000000 0.00000000 15.210712602 0.00000000 0.44259359 0.00000000 0.00000000 0.00000000 6.4368981418 0.00000000 0.38049636 0.00000000 0.00000000 0.00000000 2.5843928911 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.0229993308 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3823395902 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 23.465751001 0.02654283 0.00000000 0.00000000 6.3332300693 0.13802285 0.00000000 0.00000000 2.0764079893 0.35327843 0.00000000 0.00000000 0.6904116039 0.00000000 1.00000000 0.00000000 0.2109251522 0.00000000 0.00000000 1.00000000 a 23 $ VANADIUM (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 271348.15944 0.00021967 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 40672.005078 0.00170386 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 9257.0761385 0.00887137 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 2622.7328773 0.03615432 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 858.59480185 0.11780891 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 314.19418650 0.28802536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 124.47862127 0.00000000 0.42757917 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 50.469399309 0.00000000 0.32144231 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 12.513846911 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 5.3447758082 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 1.5755631295 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 0.6306903307 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 0.0879544416 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 0.0342969197 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1450.0319327 -0.00195174 0.00000000 0.00000000 0.00000000 0.00000000 343.75049884 -0.01592201 0.00000000 0.00000000 0.00000000 0.00000000 110.82521708 -0.07538526 0.00000000 0.00000000 0.00000000 0.00000000 41.822464546 0.00000000 -0.23665641 0.00000000 0.00000000 0.00000000 17.088073710 0.00000000 -0.43346920 0.00000000 0.00000000 0.00000000 7.2613218939 0.00000000 -0.37433001 0.00000000 0.00000000 0.00000000 2.9458145262 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.1650209680 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.4339937839 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 27.360335864 0.02664427 0.00000000 0.00000000 7.4542765527 0.13999436 0.00000000 0.00000000 2.4632270217 0.35761186 0.00000000 0.00000000 0.8249954244 0.00000000 1.00000000 0.00000000 0.2526297057 0.00000000 0.00000000 1.00000000 a 24 $ CHROMIUM (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 296910.38175 0.00021632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 44503.297981 0.00167789 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 10129.083731 0.00873677 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 2869.8125395 0.03561401 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 939.52851828 0.11612082 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 343.87667562 0.28429366 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 136.27242081 0.00000000 0.39618805 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 55.274935910 0.00000000 0.29934143 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 13.753715065 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 5.8893064458 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 1.7366781917 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 0.6761901817 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 0.0921876160 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 0.0361201071 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1608.8743670 0.00193645 0.00000000 0.00000000 0.00000000 0.00000000 381.42987006 0.01583901 0.00000000 0.00000000 0.00000000 0.00000000 123.01926841 0.07535015 0.00000000 0.00000000 0.00000000 0.00000000 46.446782128 0.00000000 0.23949451 0.00000000 0.00000000 0.00000000 19.003494760 0.00000000 0.44099403 0.00000000 0.00000000 0.00000000 8.0889965397 0.00000000 0.38019976 0.00000000 0.00000000 0.00000000 3.3013703884 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.2877624138 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.4654684426 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 27.546733731 0.03063326 0.00000000 0.00000000 7.4647940726 0.15604066 0.00000000 0.00000000 2.4327524296 0.37003058 0.00000000 0.00000000 0.7818781773 0.00000000 1.00000000 0.00000000 0.2197737763 0.00000000 0.00000000 1.00000000 a 25 $ MANGANESE (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 323081.74475 -0.00021859 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 48425.987147 -0.00169554 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 11021.928421 -0.00882905 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 3122.8651683 -0.03599386 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1022.5702211 -0.11736441 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 374.56667732 -0.28725943 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 148.65013953 0.00000000 -0.38025988 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 60.379056785 0.00000000 -0.28945411 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 15.061289037 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 6.4827687206 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 1.9535131494 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 0.7701785025 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 0.1019202536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 0.0386197484 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1777.8786824 -0.00193316 0.00000000 0.00000000 0.00000000 0.00000000 421.57754180 -0.01584401 0.00000000 0.00000000 0.00000000 0.00000000 136.11333999 -0.07556898 0.00000000 0.00000000 0.00000000 0.00000000 51.506778634 0.00000000 -0.23597435 0.00000000 0.00000000 0.00000000 21.153225441 0.00000000 -0.43718792 0.00000000 0.00000000 0.00000000 9.0477144185 0.00000000 -0.38024193 0.00000000 0.00000000 0.00000000 3.7308563614 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.4705331536 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.5439184098 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 35.424816646 0.02827075 0.00000000 0.00000000 9.7813282131 0.15071665 0.00000000 0.00000000 3.2670712909 0.38158552 0.00000000 0.00000000 1.1028271910 0.00000000 1.00000000 0.00000000 0.3374808657 0.00000000 0.00000000 1.00000000 a 26 $ IRON (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 350644.12607 0.00021930 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 52557.104477 0.00170109 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 11962.157603 0.00885852 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 3389.2987902 0.03611937 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1109.9409814 0.11780528 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 406.75892124 0.28846626 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 161.55419196 0.00000000 0.38162019 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 65.675211180 0.00000000 0.29212575 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 16.425713224 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 7.0930281780 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 2.1594285091 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 0.8477134907 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 0.1107949621 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 0.0413168043 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1953.6045319 0.00193816 0.00000000 0.00000000 0.00000000 0.00000000 463.29314066 0.01591620 0.00000000 0.00000000 0.00000000 0.00000000 149.67493331 0.07614915 0.00000000 0.00000000 0.00000000 0.00000000 56.707112031 0.00000000 0.23624430 0.00000000 0.00000000 0.00000000 23.341028866 0.00000000 0.43978885 0.00000000 0.00000000 0.00000000 10.011393164 0.00000000 0.38362586 0.00000000 0.00000000 0.00000000 4.1564019580 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.6369582567 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.6037629747 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 38.966442392 0.02788407 0.00000000 0.00000000 10.798970877 0.14863135 0.00000000 0.00000000 3.6129748398 0.36912959 0.00000000 0.00000000 1.2130285825 0.00000000 1.00000000 0.00000000 0.3652397846 0.00000000 0.00000000 1.00000000 a 27 $ COBALT (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 379411.77461 -0.00021548 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 56868.934396 -0.00167144 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 12943.608462 -0.00870445 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 3667.4532601 -0.03549617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1201.1404591 -0.11581023 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 440.33919478 -0.28374608 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 175.00035297 0.00000000 -0.38404173 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 71.190981549 0.00000000 -0.29545416 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 17.849007924 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 7.7276070252 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 2.3708060829 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 0.9262827161 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 0.1190862053 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 0.0437823922 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 2137.6007768 -0.00190579 0.00000000 0.00000000 0.00000000 0.00000000 506.97292174 -0.01567839 0.00000000 0.00000000 0.00000000 0.00000000 163.87524881 -0.07522963 0.00000000 0.00000000 0.00000000 0.00000000 62.151898991 0.00000000 -0.23369231 0.00000000 0.00000000 0.00000000 25.632331435 0.00000000 -0.43693103 0.00000000 0.00000000 0.00000000 11.020739027 0.00000000 -0.38210863 0.00000000 0.00000000 0.00000000 4.6024341479 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.8102832176 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.6656922371 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 42.924372777 0.02975487 0.00000000 0.00000000 11.940809601 0.15885714 0.00000000 0.00000000 4.0037210467 0.38970618 0.00000000 0.00000000 1.3412566852 0.00000000 0.49652611 0.00000000 0.4001124188 0.00000000 0.00000000 0.32719933 a 28 $ NICKEL (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 409347.86899 0.00021252 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 61355.839255 0.00164849 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 13964.858128 0.00858533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 3956.8598699 0.03501533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1296.0290474 0.11427673 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 475.27876516 0.28015249 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 188.98838775 0.00000000 0.39246284 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 76.928736976 0.00000000 0.30331302 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 19.331828730 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 8.3876399732 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 2.5894342897 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 1.0071374699 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 0.1273257312 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 0.0461898063 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 2329.8384386 -0.00184142 0.00000000 0.00000000 0.00000000 0.00000000 552.60693015 -0.01517369 0.00000000 0.00000000 0.00000000 0.00000000 178.71193584 -0.07300467 0.00000000 0.00000000 0.00000000 0.00000000 67.841750813 0.00000000 -0.23224845 0.00000000 0.00000000 0.00000000 28.028033533 0.00000000 -0.43596047 0.00000000 0.00000000 0.00000000 12.076469199 0.00000000 -0.38213786 0.00000000 0.00000000 0.00000000 5.0694186684 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.9911895236 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .73006887823 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 47.088303645 0.03152258 0.00000000 0.00000000 13.144067226 0.16855326 0.00000000 0.00000000 4.4158589541 0.40930005 0.00000000 0.00000000 1.4769996640 0.00000000 0.51501528 0.00000000 .43728964755 0.00000000 0.00000000 0.33962671 a 29 $ COPPER (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 441087.25070 -0.00021814 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 66112.021187 -0.00169219 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 15047.011425 -0.00881371 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 4263.4273084 -0.03595466 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1396.3815797 -0.11742970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 511.96055788 -0.28844267 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 203.45426948 0.00000000 -0.42678899 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 82.792337027 0.00000000 -0.33044129 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 20.854285634 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 9.0410679584 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 2.7518135173 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 1.0434856515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 .11172292442 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 .04104102033 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 2530.0965671 0.00191379 0.00000000 0.00000000 0.00000000 0.00000000 600.09792954 0.01579767 0.00000000 0.00000000 0.00000000 0.00000000 194.08204479 0.07627126 0.00000000 0.00000000 0.00000000 0.00000000 73.671821377 0.00000000 0.23881452 0.00000000 0.00000000 0.00000000 30.447369690 0.00000000 0.44980016 0.00000000 0.00000000 0.00000000 13.122714875 0.00000000 0.39337682 0.00000000 0.00000000 0.00000000 5.5214839972 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.1457922130 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .76797488702 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 47.313743703 0.03239976 0.00000000 0.00000000 13.154688449 0.16822707 0.00000000 0.00000000 4.3662885749 0.38494430 0.00000000 0.00000000 1.4122065936 0.00000000 1.00000000 0.00000000 .38840713001 0.00000000 0.00000000 1.00000000 a 30 $ ZINC (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 472745.94164 -0.00021701 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 70858.099484 -0.00168338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 16127.639733 -0.00876775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 4569.7614320 -0.03576876 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1496.9765379 -0.11680699 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 549.25646888 -0.28670653 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 218.59011012 0.00000000 -0.42684317 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 89.068823328 0.00000000 -0.33251990 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 22.475751693 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 9.7836990852 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 3.0476097903 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 1.1751310173 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .14336738100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .05076150426 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 2738.9909849 -0.00187091 0.00000000 0.00000000 0.00000000 0.00000000 649.72995198 -0.01546153 0.00000000 0.00000000 0.00000000 0.00000000 210.29129074 -0.07475263 0.00000000 0.00000000 0.00000000 0.00000000 79.954360369 0.00000000 -0.23286955 0.00000000 0.00000000 0.00000000 33.131290448 0.00000000 -0.44019360 0.00000000 0.00000000 0.00000000 14.326395837 0.00000000 -0.38736391 0.00000000 0.00000000 0.00000000 6.0658646628 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.3753719617 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .86596317258 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 56.079664803 0.02959823 0.00000000 0.00000000 15.748259098 0.15879185 0.00000000 0.00000000 5.3098927689 0.37984178 0.00000000 0.00000000 1.7734652510 0.00000000 1.00000000 0.00000000 .51963233927 0.00000000 0.00000000 1.00000000 a 31 $ GALLIUM (14s,11p,5d) -> [8s,6p,2d] $ S-TYPE FUNCTIONS 14 8 0 505335.63296 0.00020974 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 75742.783844 0.00162697 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 17239.466305 0.00847412 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 4884.9379362 0.03457115 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1600.5426736 0.11286666 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 587.75692288 0.27673632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 234.30109797 0.00000000 0.38518444 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 95.611618032 0.00000000 0.30199565 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 24.169750218 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 10.570603407 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 3.3873246666 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 1.3329947879 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .19249282002 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .07055192343 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 2971.6078970 0.00159917 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 705.19903787 0.01322248 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 228.76520451 0.06379157 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 87.456391077 0.21775083 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 36.540231966 0.00000000 0.41394919 0.00000000 0.00000000 0.00000000 0.00000000 15.974579723 0.00000000 0.37538236 0.00000000 0.00000000 0.00000000 0.00000000 6.8870611525 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.8318589081 0.00000000 0.00000000 0.00000000 0.58552518 0.00000000 0.00000000 1.1078009985 0.00000000 0.00000000 0.00000000 0.33671543 0.00000000 0.00000000 .23450858657 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .06362688125 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 65.344641807 0.02737834 0.00000000 18.500577517 0.15105669 0.00000000 6.3162058406 0.37491843 0.00000000 2.1638832514 0.47510265 0.00000000 .66688378425 0.00000000 1.00000000 a 32 $ GERMANIUM (14s,11p,5d) -> [8s,6p,2d] $ S-TYPE FUNCTIONS 14 8 0 538981.20859 -0.00021201 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 80785.768954 -0.00164460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 18387.321539 -0.00856607 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 5210.3369514 -0.03494637 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1707.4890772 -0.11406152 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 627.54854073 -0.27936328 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 250.56696133 0.00000000 -0.39100943 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 102.39333101 0.00000000 -0.30845092 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 25.923923344 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 11.389081191 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 3.7472808901 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 1.5027733307 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .24441033890 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .09120539355 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 3196.8571212 0.00150930 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 758.78574707 0.01248854 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 246.40186162 0.06025329 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 94.429089481 0.00000000 0.22636610 0.00000000 0.00000000 0.00000000 0.00000000 39.602333266 0.00000000 0.43152372 0.00000000 0.00000000 0.00000000 0.00000000 17.394023219 0.00000000 0.39496423 0.00000000 0.00000000 0.00000000 0.00000000 7.5468872383 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.1497947773 0.00000000 0.00000000 0.00000000 0.59773653 0.00000000 0.00000000 1.2651485767 0.00000000 0.00000000 0.00000000 0.34946773 0.00000000 0.00000000 .30024031728 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .08731918721 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 74.776447903 0.02576022 0.00000000 21.307762727 0.14540992 0.00000000 7.3452966023 0.37136368 0.00000000 2.5656881541 0.48003150 0.00000000 .81988587339 0.00000000 1.00000000 a 33 $ ARSENIC (14s,11p,5d) -> [8s,6p,2d] $ S-TYPE FUNCTIONS 14 8 0 573690.51140 -0.00021423 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 85988.183455 -0.00166187 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 19571.474270 -0.00865618 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 5546.0309804 -0.03531404 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1817.8361947 -0.11523139 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 668.63675492 -0.28192647 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 267.38795948 0.00000000 -0.39133530 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 109.41335253 0.00000000 -0.31052652 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 27.737766818 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 12.238528675 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 4.1265920360 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 1.6835020306 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .29954009858 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .11318866642 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 3425.0975358 -0.00147374 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 813.08797098 -0.01220147 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 264.28414769 -0.05885734 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 101.51263702 0.00000000 -0.20573149 0.00000000 0.00000000 0.00000000 0.00000000 42.722350677 0.00000000 -0.39286344 0.00000000 0.00000000 0.00000000 0.00000000 18.845113977 0.00000000 -0.36196398 0.00000000 0.00000000 0.00000000 0.00000000 8.2254455309 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.4766363492 0.00000000 0.00000000 0.00000000 -0.59644553 0.00000000 0.00000000 1.4285918301 0.00000000 0.00000000 0.00000000 -0.35023592 0.00000000 0.00000000 .37149795090 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .11244760708 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 84.442621644 0.02452047 0.00000000 24.188051726 0.14110224 0.00000000 8.4037833603 0.36874385 0.00000000 2.9811949434 0.48410290 0.00000000 .97923123794 0.00000000 1.00000000 a 34 $ SELENIUM (14s,11p,5d) -> [8s,6p,2d] $ S-TYPE FUNCTIONS 14 8 0 609461.56165 0.00020666 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 91349.728469 0.00160315 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 20791.844910 0.00835041 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 5892.0009402 0.03406659 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1931.5795523 0.11113200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 711.02173299 0.27160877 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 284.76563000 0.00000000 0.40353358 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 116.67280336 0.00000000 0.32201538 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 29.611379847 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 13.118921596 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 4.5252274573 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 1.8747678530 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .35857737666 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .13617743845 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 3656.2658173 0.00147141 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 868.08211673 0.01218823 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 282.38879090 0.05878047 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.68249518 0.00000000 0.22385126 0.00000000 0.00000000 0.00000000 0.00000000 45.880428373 0.00000000 0.42784038 0.00000000 0.00000000 0.00000000 0.00000000 20.313633210 0.00000000 0.39569868 0.00000000 0.00000000 0.00000000 0.00000000 8.9138677790 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.8029430087 0.00000000 0.00000000 0.00000000 0.58895017 0.00000000 0.00000000 1.5911663461 0.00000000 0.00000000 0.00000000 0.34147004 0.00000000 0.00000000 .44755579009 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .13236319065 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 94.493793993 0.02349045 0.00000000 27.186508933 0.13749365 0.00000000 9.5088741989 0.36646763 0.00000000 3.4175441801 0.48752299 0.00000000 1.1481458665 0.00000000 1.00000000 a 35 $ BROMINE (14s,11p,5d) -> [8s,6p,2d] $ S-TYPE FUNCTIONS 14 8 0 646312.41039 0.00020844 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 96873.038900 0.00161696 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 22048.967574 0.00842249 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 6248.3557482 0.03436088 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 2048.7467977 0.11206361 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 754.70826963 0.27360431 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 302.69689103 0.00000000 0.40561280 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 124.16866898 0.00000000 0.32541501 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 31.544281070 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 14.029435981 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 4.9416679228 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 2.0756618020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .42101474441 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .16058114367 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 3890.7181798 0.00151198 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 923.85869493 0.01252930 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 300.75537085 0.06040559 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 115.96376914 0.00000000 0.21102289 0.00000000 0.00000000 0.00000000 0.00000000 49.093271078 0.00000000 0.40341288 0.00000000 0.00000000 0.00000000 0.00000000 21.810392052 0.00000000 0.37386481 0.00000000 0.00000000 0.00000000 0.00000000 9.6190135611 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 4.1341549028 0.00000000 0.00000000 0.00000000 0.59931625 0.00000000 0.00000000 1.7549598851 0.00000000 0.00000000 0.00000000 0.33979400 0.00000000 0.00000000 .52801532318 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .15604837959 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 104.85732970 0.02264931 0.00000000 30.280080540 0.13456250 0.00000000 10.651497127 0.36469675 0.00000000 3.8705893430 0.49046477 0.00000000 1.3242996938 0.00000000 1.00000000 a 36 $ KRYPTON (14s,11p,5d) -> [8s,6p,2d] $ S-TYPE FUNCTIONS 14 8 0 684221.99700 0.00020939 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 102555.20043 0.00162431 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 23342.393775 0.00846082 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 6615.0835507 0.03451693 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 2169.3438677 0.11254581 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 799.69607957 0.27450859 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 321.18212105 0.00000000 0.33928755 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 131.90111670 0.00000000 0.27359932 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 33.536473012 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 14.969888552 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 5.3755395083 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 2.2858479626 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .48690237132 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .18641011710 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 4128.6993199 -0.00156360 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 980.47534405 -0.01296144 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 319.40135820 -0.06246445 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 123.36181040 0.00000000 -0.21245677 0.00000000 0.00000000 0.00000000 0.00000000 52.362318744 0.00000000 -0.40604316 0.00000000 0.00000000 0.00000000 0.00000000 23.335425093 0.00000000 -0.37652208 0.00000000 0.00000000 0.00000000 0.00000000 10.340745051 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 4.4694078019 0.00000000 0.00000000 0.00000000 0.55671931 0.00000000 0.00000000 1.9177854904 0.00000000 0.00000000 0.00000000 0.30604453 0.00000000 0.00000000 .61259063615 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .18236405019 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 115.56236667 0.02194406 0.00000000 33.477247149 0.13211460 0.00000000 11.834799736 0.36327650 0.00000000 4.3415492653 0.49302860 0.00000000 1.5081356984 0.00000000 1.00000000 $END OF BASIS ergo-3.5/basis/cc-pVTZdenfit0000664000175000017500000002540712743400275012720 00000000000000$jkbas cc-pVTZaux $ $ REFERENCE turbomole webpage: ftp://ftp.chemie.uni-karlsruhe.de/pub/jkbasen a 1 $ HYDROGEN (4s3p2d1f) / [4s3p2d1f] {1111/111/11/1} $ S-TYPE FUNCTIONS 4 0 0 9.5302493327 1.0000000000 1.9174506246 1.0000000000 0.68424049142 1.0000000000 0.28413255710 1.0000000000 $ P-TYPE FUNCTIONS 3 0 0 2.9133232035 1.0000000000 1.2621205398 1.0000000000 0.50199775874 1.0000000000 $ 1 d 2 0 0 2.3135329149 1.0 0.71290724024 1.0 $ 1 f 1 0 0 1.6565726132 1.0 a 5 $ BORON (10s7p5d) / [10s7p5d] {1111111111/1111111/11111} $ S-TYPE FUNCTIONS 10 0 0 441.88913157 1.0 92.069629785 1.0 29.978448517 1.0 11.426330790 1.0 4.3808722439 1.0 2.0594033542 1.0 0.90115717578 1.0 0.52455288939 1.0 0.24634725959 1.0 0.12085805961 1.0 $ P-TYPE FUNCTIONS 7 0 0 229.95115195 1.0 36.381694756 1.0 12.119796695 1.0 3.8441129406 1.0 1.1002761183 1.0 0.39733117993 1.0 0.13514765422 1.0 $ 1 d 5 0 0 9.3643373880 1.0 3.1035657986 1.0 1.2006835120 1.0 0.40829624602 1.0 0.13188304180 1.0 $ 1 f 2 0 0 0.723591244336 1.0 0.261591244336 1.0 $ 1 g 1 0 0 0.552591244336 1.0 a 6 $ CARBON (10s7p5d2f1g) / [10s7p5d2f1g] {1111111111/1111111/11111/11/1} $ S-TYPE FUNCTIONS 10 0 0 1113.9867719 1.0 369.16234180 1.0 121.79275232 1.0 48.127114540 1.0 20.365074004 1.0 8.0883596856 1.0 2.5068656570 1.0 1.2438537380 1.0 0.48449899601 1.0 0.19185160296 1.0 $ P-TYPE FUNCTIONS 7 0 0 102.99176249 1.0 28.132594009 1.0 9.8364318173 1.0 3.3490544980 1.0 1.4947618613 1.0 0.57690108899 1.0 0.20320063291 1.0 $ 1 d 5 0 0 10.594068356 1.0 3.5997195366 1.0 1.3355691094 1.0 0.51949764954 1.0 0.19954125200 1.0 $ 1 f 2 0 0 1.194866338369 1.0 0.4158663383690 1.0 $ 1 g 1 0 0 0.858866338369 1.0 a 7 $ NITROGEN (10s7p5d2f1g) / [10s7p5d2f1g] {1111111111/1111111/11111/11/1} $ S-TYPE FUNCTIONS 10 0 0 1102.8622453 1.0 370.98041153 1.0 136.73555938 1.0 50.755871924 1.0 20.535656095 1.0 7.8318737184 1.0 3.4784063855 1.0 1.4552856603 1.0 0.63068989071 1.0 0.27276596483 1.0 $ P-TYPE FUNCTIONS 7 0 0 93.540954073 1.0 29.524019527 1.0 10.917502987 1.0 4.3449288991 1.0 1.8216912640 1.0 0.75792424494 1.0 0.28241469033 1.0 $ 1 d 5 0 0 16.419378926 1.0 5.0104049385 1.0 1.9793971884 1.0 0.78495771518 1.0 0.28954065963 1.0 $ 1 f 2 0 0 1.79354239843 1.0 0.60854239843 1.0 $ 1 g 1 0 0 1.23254239843 1.0 a 8 $ OXYGEN (10s7p5d2f1g) / [10s7p5d2f1g] {1111111111/1111111/11111/11/1} $ S-TYPE FUNCTIONS 10 0 0 1517.8667506 1.0 489.67952008 1.0 176.72118665 1.0 63.792233137 1.0 25.366499130 1.0 9.9135491200 1.0 4.4645306584 1.0 1.8017743661 1.0 0.80789710965 1.0 0.33864326862 1.0 $ P-TYPE FUNCTIONS 7 0 0 120.16030921 1.0 34.409622474 1.0 12.581148610 1.0 5.0663824249 1.0 2.0346927092 1.0 0.86092967212 1.0 0.36681356726 1.0 $ 1 d 5 0 0 19.043062805 1.0 5.8060381104 1.0 2.1891841580 1.0 0.87794613558 1.0 0.35623646700 1.0 $ 1 f 2 0 0 2.49391478813500000000 1.0 .82491478813500000000 1.0 $ 1 g 1 0 0 1.60791478813500000000 1.0 a 9 $ FLUORINE $ f (10s7p5d2f1g) / [10s7p5d2f1g] {1111111111/1111111/11111/11/1} $ S-TYPE FUNCTIONS 10 0 0 1885.0661216 1.0 623.75582297 1.0 227.92405029 1.0 82.184178773 1.0 32.628937583 1.0 12.783279578 1.0 5.6589257943 1.0 2.3208306681 1.0 1.0191520908 1.0 0.42196699118 1.0 $ P-TYPE FUNCTIONS 7 0 0 153.72069768 1.0 45.390450866 1.0 16.785845772 1.0 6.7293857800 1.0 2.6694607033 1.0 1.1049787101 1.0 0.45727703601 1.0 $ 1 d 5 0 0 24.869685349 1.0 7.5554441579 1.0 2.8268499237 1.0 1.1123341279 1.0 0.43877754231 1.0 $ 1 f 2 0 0 3.33539640054000000000 1.0 1.08339640054000000000 1.0 $ 1 g 1 0 0 2.14539640054000000000 1.0 a 13 $ ALUMINIUM $ al (13s11p9d) / [13s11p9d] {1111111111111/11111111111/111111111} $ S-TYPE FUNCTIONS 13 0 0 3155.1928168 1.0 804.81824843 1.0 278.28716279 1.0 106.73947034 1.0 44.726054551 1.0 19.985981625 1.0 8.2139836406 1.0 4.1826731629 1.0 2.0606294398 1.0 1.1394540102 1.0 0.35321611272 1.0 0.21512052497 1.0 0.091001117213 1.0 $ P-TYPE FUNCTIONS 11 0 0 472.16397028 1.0 132.20329132 1.0 50.460166539 1.0 21.131124313 1.0 10.457955077 1.0 4.9925589436 1.0 2.4609220820 1.0 1.0708266153 1.0 0.41862242427 1.0 0.24418454353 1.0 0.11824752523 1.0 $ D-TYPE FUNCTIONS 9 0 0 95.374390967 1.0 31.137715102 1.0 13.032465301 1.0 6.0372010623 1.0 2.9357329960 1.0 1.4175558590 1.0 0.53387157197 1.0 0.25545669081 1.0 0.10843455615 1.0 $ F-TYPE FUNCTIONS 3 0 0 1.371889973133925 1.0 .16796856375255 1.0 .39196856375255 1.0 $ G-TYPE FUNCTIONS 1 0 0 .30296856375255 1.0 a 14 $ SILICON $ si (13s11p9d3f1g) / [13s11p9d3f1g] {1111111111111/11111111111/111111111/111/1} $ S-TYPE FUNCTIONS 13 0 0 3966.7823006 1.0 913.65240130 1.0 309.47572532 1.0 121.48371896 1.0 51.949842541 1.0 22.531415259 1.0 8.6118544488 1.0 4.0353794583 1.0 1.5605354258 1.0 0.82658343937 1.0 0.48403471116 1.0 0.28757870174 1.0 0.13188187610 1.0 $ P-TYPE FUNCTIONS 11 0 0 629.30680737 1.0 255.71500914 1.0 109.29630664 1.0 45.943769765 1.0 19.784226943 1.0 9.7746090299 1.0 4.6426781657 1.0 2.0449974109 1.0 0.82208144153 1.0 0.40978741460 1.0 0.18451465956 1.0 $ 1 d 9 0 0 181.67344614 1.0 59.654414923 1.0 25.353983605 1.0 11.718973530 1.0 5.4455778078 1.0 2.4659440013 1.0 1.0365292729 1.0 0.41097001308 1.0 0.16950067844 1.0 $ 1 f 3 0 0 1.9560745621690000000 1.0 .23687844633400000000 1.0 .55887844633400000000 1.0 $ 1 g 1 0 0 .41387844633400000000 1.0 a 15 $ PHOSPHORUS $ p (13s11p9d3f1g) / [13s11p9d3f1g] {1111111111111/11111111111/111111111/111/1} $ S-TYPE FUNCTIONS 13 0 0 5107.3657113 1.0 1086.7632676 1.0 350.63674043 1.0 136.65708750 1.0 58.992208540 1.0 25.652124180 1.0 9.8584341771 1.0 4.6827641188 1.0 1.9275606994 1.0 1.0059954069 1.0 0.58812473497 1.0 0.34131983819 1.0 0.18002999045 1.0 $ P-TYPE FUNCTIONS 11 0 0 575.56255465 1.0 162.64036130 1.0 62.433891596 1.0 26.387393492 1.0 13.077885117 1.0 6.2324334253 1.0 2.6964171970 1.0 1.5942218913 1.0 0.88999472624 1.0 0.48955078641 1.0 0.23083290253 1.0 $ 1 d 9 0 0 202.19451071 1.0 60.141584369 1.0 24.116762870 1.0 11.029586263 1.0 5.3635229003 1.0 2.6589552243 1.0 1.1768422272 1.0 0.49537300028 1.0 0.21042978214 1.0 $ 1 f 3 0 0 2.6399317553 1.0 .31826621581550000000 1.0 .75426621581550000000 1.0 $ 1 g 1 0 0 .55426621581550000000 1.0 a 16 $ SULFUR $ s (13s11p9d3f1g) / [13s11p9d3f1g] {1111111111111/11111111111/111111111/111/1} $ S-TYPE FUNCTIONS 13 0 0 6402.4580816 1.0 1704.9249408 1.0 598.09038904 1.0 225.90920364 1.0 94.426261909 1.0 37.222420840 1.0 18.259106532 1.0 8.7937857291 1.0 4.4619424717 1.0 2.2735987703 1.0 0.78075394724 1.0 0.48191153763 1.0 0.21573555055 1.0 $ P-TYPE FUNCTIONS 11 0 0 796.16481618 1.0 226.17928266 1.0 85.598645757 1.0 36.268978384 1.0 16.325207000 1.0 7.6145421568 1.0 3.3388129956 1.0 1.8665221526 1.0 0.94025159837 1.0 0.51521255747 1.0 0.26318380469 1.0 $ 1 d 9 0 0 190.55658672 1.0 60.346801430 1.0 25.141967063 1.0 12.146768196 1.0 6.2993488132 1.0 3.0706106656 1.0 1.2911977798 1.0 0.56678602865 1.0 0.24192419172 1.0 $ 1 f 3 0 0 3.3096133 1.0 .39560380031500000000 1.0 .94560380031500000000 1.0 $ 1 g 1 0 0 .68360380031500000000 1.0 a 17 $CHLORINE $ cl (13s11p9d3f1g) / [13s11p9d3f1g] {1111111111111/11111111111/111111111/111/1} $ S-TYPE FUNCTIONS 13 0 0 7082.7970581 1.0 2109.3095076 1.0 768.41281873 1.0 284.79255416 1.0 116.55331731 1.0 46.394820985 1.0 21.956303390 1.0 9.9930272138 1.0 4.7199459556 1.0 2.6573396159 1.0 1.0813481129 1.0 0.53154679199 1.0 0.23367039059 1.0 $ P-TYPE FUNCTIONS 11 0 0 973.73528509 1.0 278.99109347 1.0 105.88644516 1.0 45.231846876 1.0 20.289166152 1.0 9.5829383791 1.0 4.4641678563 1.0 2.3625612120 1.0 1.1491964243 1.0 0.60310217244 1.0 0.30590911334 1.0 $ 1 d 9 0 0 204.38030063 1.0 63.693893315 1.0 25.726668979 1.0 11.602467273 1.0 5.4574541509 1.0 2.8838397619 1.0 1.3394023625 1.0 0.61649222177 1.0 0.27470143212 1.0 $ 1 f 3 0 0 4.2040664 1.0 1.20116183076000000000 1.0 .49916183076000000000 1.0 $ 1 g 1 0 0 .86116183076000000000 1.0 ergo-3.5/basis/cc-pV(5+d)Z0000664000175000017500000006045612743400275012032 00000000000000$ Basis = cc-pV(5+d)Z $ $Elements supported $ Al Si P S Cl Ar $ $ REFERENCES $Elements References $-------- ---------- $Al - Ar: T.H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys. 114, 9244 (2001) $ $******************************************************************************* a 13 $ ALUMINUM (20s,12p,5d,3f,2g,1h) -> [7s,6p,5d,3f,2g,1h] $ S-TYPE FUNCTIONS 20 7 0 3269000.0000 0.00000214 -0.00000056 0.00000013 0.00000000 0.00000000 0.00000000 0.00000000 489400.00000 0.00001663 -0.00000432 0.00000100 0.00000000 0.00000000 0.00000000 0.00000000 111400.00000 0.00008752 -0.00002274 0.00000525 0.00000000 0.00000000 0.00000000 0.00000000 31560.00000 0.00036899 -0.00009601 0.00002214 0.00000000 0.00000000 0.00000000 0.00000000 10320.00000 0.00133903 -0.00034838 0.00008055 0.00000000 0.00000000 0.00000000 0.00000000 3731.00000000 0.00435636 -0.00113836 0.00026251 0.00000000 0.00000000 0.00000000 0.00000000 1456.00000000 0.01289550 -0.00338744 0.00078422 0.00000000 0.00000000 0.00000000 0.00000000 604.10000000 0.03482010 -0.00931505 0.00215039 0.00000000 0.00000000 0.00000000 0.00000000 263.50000000 0.08435300 -0.02330230 0.00541974 0.00000000 0.00000000 0.00000000 0.00000000 119.80000000 0.17590700 -0.05234860 0.01216860 0.00000000 0.00000000 0.00000000 0.00000000 56.32000000 0.29209100 -0.09994990 0.02368230 0.00000000 0.00000000 0.00000000 0.00000000 27.19000000 0.32822000 -0.15056000 0.03609370 0.00000000 0.00000000 0.00000000 0.00000000 13.26000000 0.18692700 -0.11912100 0.03032840 0.00000000 0.00000000 0.00000000 0.00000000 6.05200000 0.03104300 0.10809100 -0.03090340 0.00000000 0.00000000 0.00000000 0.00000000 2.98100000 -0.00050892 0.41112900 -0.11912600 0.00000000 0.00000000 0.00000000 0.00000000 1.47600000 0.00148836 0.45721400 -0.21114500 0.00000000 0.00000000 0.00000000 0.00000000 0.73340000 -0.00027824 0.17593800 -0.15794400 1.00000000 0.00000000 0.00000000 0.00000000 0.24470000 0.00011875 0.00770610 0.33903800 0.00000000 1.00000000 0.00000000 0.00000000 0.10880000 -0.00006615 -0.00166168 0.61309700 0.00000000 0.00000000 1.00000000 0.00000000 0.04672000 0.00001760 0.00044535 0.23516800 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 1461.00000000 0.00020861 -0.00003719 0.00000000 0.00000000 0.00000000 0.00000000 346.20000000 0.00181005 -0.00032856 0.00000000 0.00000000 0.00000000 0.00000000 112.20000000 0.00973433 -0.00174264 0.00000000 0.00000000 0.00000000 0.00000000 42.51000000 0.03782660 -0.00694828 0.00000000 0.00000000 0.00000000 0.00000000 17.72000000 0.11089800 -0.02028070 0.00000000 0.00000000 0.00000000 0.00000000 7.85200000 0.23429500 -0.04486570 0.00000000 0.00000000 0.00000000 0.00000000 3.57100000 0.34524500 -0.06432780 0.00000000 0.00000000 0.00000000 0.00000000 1.63700000 0.33143000 -0.07526660 0.00000000 0.00000000 0.00000000 0.00000000 0.73820000 0.14706400 0.00061601 1.00000000 0.00000000 0.00000000 0.00000000 0.25770000 0.01214110 0.28781900 0.00000000 1.00000000 0.00000000 0.00000000 0.09773000 -0.00087164 0.54303000 0.00000000 0.00000000 1.00000000 0.00000000 0.03690000 0.00043796 0.30186500 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 2.63900000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.58800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.38000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.18000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07280000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.13000000 1.00000000 0.00000000 0.00000000 0.25800000 0.00000000 1.00000000 0.00000000 0.51300000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.25200000 1.00000000 0.00000000 0.54300000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.44600000 1.00000000 a 14 $ SILICON (20s,12p,5d,3f,2g,1h) -> [7s,6p,5d,3f,2g,1h] $ S-TYPE FUNCTIONS 20 7 0 3948000.0000 0.00000204 -0.00000054 0.00000014 0.00000000 0.00000000 0.00000000 0.00000000 591100.00000 0.00001584 -0.00000422 0.00000108 0.00000000 0.00000000 0.00000000 0.00000000 134500.00000 0.00008336 -0.00002218 0.00000569 0.00000000 0.00000000 0.00000000 0.00000000 38120.00000 0.00035136 -0.00009360 0.00002395 0.00000000 0.00000000 0.00000000 0.00000000 12460.00000 0.00127660 -0.00034012 0.00008724 0.00000000 0.00000000 0.00000000 0.00000000 4504.00000000 0.00415191 -0.00111061 0.00028416 0.00000000 0.00000000 0.00000000 0.00000000 1758.00000000 0.01230300 -0.00330878 0.00084984 0.00000000 0.00000000 0.00000000 0.00000000 729.10000000 0.03331020 -0.00911602 0.00233527 0.00000000 0.00000000 0.00000000 0.00000000 318.00000000 0.08098450 -0.02287900 0.00590466 0.00000000 0.00000000 0.00000000 0.00000000 144.60000000 0.17029000 -0.05171190 0.01334610 0.00000000 0.00000000 0.00000000 0.00000000 67.97000000 0.28687900 -0.09990910 0.02628890 0.00000000 0.00000000 0.00000000 0.00000000 32.82000000 0.33034000 -0.15274700 0.04074260 0.00000000 0.00000000 0.00000000 0.00000000 16.03000000 0.19660200 -0.12750800 0.03614760 0.00000000 0.00000000 0.00000000 0.00000000 7.39600000 0.03545350 0.09469630 -0.03039230 0.00000000 0.00000000 0.00000000 0.00000000 3.66100000 -0.00053520 0.41403600 -0.13596100 0.00000000 0.00000000 0.00000000 0.00000000 1.82300000 0.00161465 0.46793400 -0.25014400 0.00000000 0.00000000 0.00000000 0.00000000 0.91470000 -0.00037274 0.17392700 -0.15805000 1.00000000 0.00000000 0.00000000 0.00000000 0.33930000 0.00014623 0.00843895 0.36965500 0.00000000 1.00000000 0.00000000 0.00000000 0.15000000 -0.00007894 -0.00099807 0.61771800 0.00000000 0.00000000 1.00000000 0.00000000 0.06438000 0.00001928 0.00036210 0.22251400 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 1780.00000000 0.00020121 -0.00004272 0.00000000 0.00000000 0.00000000 0.00000000 421.80000000 0.00174937 -0.00037704 0.00000000 0.00000000 0.00000000 0.00000000 136.70000000 0.00948141 -0.00202240 0.00000000 0.00000000 0.00000000 0.00000000 51.81000000 0.03723130 -0.00812833 0.00000000 0.00000000 0.00000000 0.00000000 21.60000000 0.11076300 -0.02422720 0.00000000 0.00000000 0.00000000 0.00000000 9.56300000 0.23793300 -0.05438250 0.00000000 0.00000000 0.00000000 0.00000000 4.35000000 0.35369100 -0.07990510 0.00000000 0.00000000 0.00000000 0.00000000 2.00600000 0.32883900 -0.08889580 0.00000000 0.00000000 0.00000000 0.00000000 0.92050000 0.13237300 0.01839970 1.00000000 0.00000000 0.00000000 0.00000000 0.35000000 0.01033000 0.33509600 0.00000000 1.00000000 0.00000000 0.00000000 0.13810000 -0.00015030 0.53228800 0.00000000 0.00000000 1.00000000 0.00000000 0.05338000 0.00026581 0.25437400 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 3.73800000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.89300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.53300000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.25800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10500000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.16900000 1.00000000 0.00000000 0.00000000 0.34100000 0.00000000 1.00000000 0.00000000 0.68800000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.32000000 1.00000000 0.00000000 0.70500000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.58300000 1.00000000 a 15 $ PHOSPHORUS (20s,12p,5d,3f,2g,1h) -> [7s,6p,5d,3f,2g,1h] $ S-TYPE FUNCTIONS 20 7 0 4666000.0000 0.00000197 -0.00000053 0.00000015 0.00000000 0.00000000 0.00000000 0.00000000 698600.00000 0.00001530 -0.00000415 0.00000114 0.00000000 0.00000000 0.00000000 0.00000000 159000.00000 0.00008048 -0.00002185 0.00000601 0.00000000 0.00000000 0.00000000 0.00000000 45040.00000 0.00033974 -0.00009233 0.00002534 0.00000000 0.00000000 0.00000000 0.00000000 14720.00000 0.00123291 -0.00033511 0.00009216 0.00000000 0.00000000 0.00000000 0.00000000 5323.00000000 0.00401345 -0.00109508 0.00030056 0.00000000 0.00000000 0.00000000 0.00000000 2076.00000000 0.01191240 -0.00326798 0.00089988 0.00000000 0.00000000 0.00000000 0.00000000 861.10000000 0.03225110 -0.00899951 0.00247354 0.00000000 0.00000000 0.00000000 0.00000000 375.70000000 0.07866430 -0.02265280 0.00626812 0.00000000 0.00000000 0.00000000 0.00000000 170.80000000 0.16645800 -0.05146500 0.01425980 0.00000000 0.00000000 0.00000000 0.00000000 80.29000000 0.28303900 -0.10018600 0.02827690 0.00000000 0.00000000 0.00000000 0.00000000 38.77000000 0.33194200 -0.15507500 0.04451240 0.00000000 0.00000000 0.00000000 0.00000000 18.93000000 0.20335200 -0.13381800 0.04072170 0.00000000 0.00000000 0.00000000 0.00000000 8.79600000 0.03831830 0.08783610 -0.03019080 0.00000000 0.00000000 0.00000000 0.00000000 4.35800000 -0.00038472 0.42258100 -0.15289400 0.00000000 0.00000000 0.00000000 0.00000000 2.17400000 0.00158744 0.47489900 -0.28241100 0.00000000 0.00000000 0.00000000 0.00000000 1.09500000 -0.00041338 0.16500200 -0.14852200 1.00000000 0.00000000 0.00000000 0.00000000 0.44000000 0.00015284 0.00846862 0.39356300 0.00000000 1.00000000 0.00000000 0.00000000 0.19450000 -0.00008270 -0.00029176 0.61732700 0.00000000 0.00000000 1.00000000 0.00000000 0.08376000 0.00001841 0.00028534 0.21461200 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 2010.00000000 0.00021592 -0.00005114 0.00000000 0.00000000 0.00000000 0.00000000 476.30000000 0.00187536 -0.00044836 0.00000000 0.00000000 0.00000000 0.00000000 154.40000000 0.01017420 -0.00242340 0.00000000 0.00000000 0.00000000 0.00000000 58.51000000 0.03998560 -0.00969826 0.00000000 0.00000000 0.00000000 0.00000000 24.40000000 0.11856300 -0.02909650 0.00000000 0.00000000 0.00000000 0.00000000 10.80000000 0.25181600 -0.06417260 0.00000000 0.00000000 0.00000000 0.00000000 4.91300000 0.36656500 -0.09450710 0.00000000 0.00000000 0.00000000 0.00000000 2.26900000 0.31617700 -0.09347000 0.00000000 0.00000000 0.00000000 0.00000000 1.04300000 0.10470000 0.05206110 1.00000000 0.00000000 0.00000000 0.00000000 0.43130000 0.00609862 0.37462400 0.00000000 1.00000000 0.00000000 0.00000000 0.17670000 0.00050208 0.50909700 0.00000000 0.00000000 1.00000000 0.00000000 0.07009000 -0.00002956 0.21511600 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 5.10300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.25400000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.72400000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.35400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.21900000 1.00000000 0.00000000 0.00000000 0.45000000 0.00000000 1.00000000 0.00000000 0.92300000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.41200000 1.00000000 0.00000000 0.90300000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.74500000 1.00000000 a 16 $ SULFUR (20s,12p,5d,3f,2g,1h) -> [7s,6p,5d,3f,2g,1h] $ S-TYPE FUNCTIONS 20 7 0 5481000.0000 0.00000189 -0.00000052 0.00000015 0.00000000 0.00000000 0.00000000 0.00000000 820600.00000 0.00001472 -0.00000407 0.00000118 0.00000000 0.00000000 0.00000000 0.00000000 186700.00000 0.00007751 -0.00002141 0.00000622 0.00000000 0.00000000 0.00000000 0.00000000 52880.00000 0.00032722 -0.00009045 0.00002624 0.00000000 0.00000000 0.00000000 0.00000000 17250.00000 0.00119365 -0.00033008 0.00009590 0.00000000 0.00000000 0.00000000 0.00000000 6226.00000000 0.00388393 -0.00107782 0.00031268 0.00000000 0.00000000 0.00000000 0.00000000 2429.00000000 0.01153360 -0.00321874 0.00093632 0.00000000 0.00000000 0.00000000 0.00000000 1007.00000000 0.03127480 -0.00887217 0.00257790 0.00000000 0.00000000 0.00000000 0.00000000 439.50000000 0.07643870 -0.02237710 0.00654121 0.00000000 0.00000000 0.00000000 0.00000000 199.80000000 0.16270000 -0.05105770 0.01496300 0.00000000 0.00000000 0.00000000 0.00000000 93.92000000 0.27932800 -0.10022500 0.02989400 0.00000000 0.00000000 0.00000000 0.00000000 45.34000000 0.33314500 -0.15679500 0.04769460 0.00000000 0.00000000 0.00000000 0.00000000 22.15000000 0.20983600 -0.13974800 0.04495560 0.00000000 0.00000000 0.00000000 0.00000000 10.34000000 0.04159740 0.08100590 -0.02930090 0.00000000 0.00000000 0.00000000 0.00000000 5.11900000 -0.00045055 0.43088300 -0.16891600 0.00000000 0.00000000 0.00000000 0.00000000 2.55300000 0.00168855 0.48168800 -0.31101400 0.00000000 0.00000000 0.00000000 0.00000000 1.28200000 -0.00051724 0.15686200 -0.13649100 1.00000000 0.00000000 0.00000000 0.00000000 0.54500000 0.00018877 0.00788814 0.42319500 0.00000000 1.00000000 0.00000000 0.00000000 0.24110000 -0.00009977 0.00039353 0.61388800 0.00000000 0.00000000 1.00000000 0.00000000 0.10350000 0.00002090 0.00022376 0.20047300 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 2200.00000000 0.00023905 -0.00006086 0.00000000 0.00000000 0.00000000 0.00000000 521.40000000 0.00207686 -0.00053042 0.00000000 0.00000000 0.00000000 0.00000000 169.00000000 0.01123630 -0.00287915 0.00000000 0.00000000 0.00000000 0.00000000 64.05000000 0.04406900 -0.01143970 0.00000000 0.00000000 0.00000000 0.00000000 26.72000000 0.12916800 -0.03427640 0.00000000 0.00000000 0.00000000 0.00000000 11.83000000 0.26908300 -0.07358110 0.00000000 0.00000000 0.00000000 0.00000000 5.37800000 0.37861100 -0.10778200 0.00000000 0.00000000 0.00000000 0.00000000 2.48200000 0.29677900 -0.08797690 0.00000000 0.00000000 0.00000000 0.00000000 1.11600000 0.07796760 0.10826100 1.00000000 0.00000000 0.00000000 0.00000000 0.48480000 0.00205193 0.40708200 0.00000000 1.00000000 0.00000000 0.00000000 0.20060000 0.00143602 0.46899400 0.00000000 0.00000000 1.00000000 0.00000000 0.07951000 -0.00005960 0.18487700 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 6.51000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.59000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.88600000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.43800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.17700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.25500000 1.00000000 0.00000000 0.00000000 0.52900000 0.00000000 1.00000000 0.00000000 1.09600000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.46300000 1.00000000 0.00000000 1.07100000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 0.87200000 1.00000000 a 17 $ CHLORINE (20s,12p,5d,3f,2g,1h) -> [7s,6p,5d,3f,2g,1h] $ S-TYPE FUNCTIONS 20 7 0 6410000.0000 0.00000181 -0.00000051 0.00000015 0.00000000 0.00000000 0.00000000 0.00000000 959600.00000 0.00001411 -0.00000396 0.00000120 0.00000000 0.00000000 0.00000000 0.00000000 218300.00000 0.00007424 -0.00002081 0.00000630 0.00000000 0.00000000 0.00000000 0.00000000 61810.00000 0.00031413 -0.00008812 0.00002664 0.00000000 0.00000000 0.00000000 0.00000000 20140.00000 0.00114642 -0.00032174 0.00009742 0.00000000 0.00000000 0.00000000 0.00000000 7264.00000000 0.00373888 -0.00105277 0.00031836 0.00000000 0.00000000 0.00000000 0.00000000 2832.00000000 0.01109460 -0.00314183 0.00095238 0.00000000 0.00000000 0.00000000 0.00000000 1175.00000000 0.03011520 -0.00866363 0.00262430 0.00000000 0.00000000 0.00000000 0.00000000 512.60000000 0.07391450 -0.02193530 0.00668160 0.00000000 0.00000000 0.00000000 0.00000000 233.00000000 0.15825800 -0.05025840 0.01535950 0.00000000 0.00000000 0.00000000 0.00000000 109.50000000 0.27475300 -0.09954140 0.03094320 0.00000000 0.00000000 0.00000000 0.00000000 52.86000000 0.33406600 -0.15764700 0.05006380 0.00000000 0.00000000 0.00000000 0.00000000 25.84000000 0.21758900 -0.14602400 0.04897820 0.00000000 0.00000000 0.00000000 0.00000000 12.17000000 0.04572780 0.06922300 -0.02608070 0.00000000 0.00000000 0.00000000 0.00000000 6.03000000 -0.00013474 0.43041200 -0.17842600 0.00000000 0.00000000 0.00000000 0.00000000 3.01200000 0.00163933 0.49080200 -0.33232400 0.00000000 0.00000000 0.00000000 0.00000000 1.51100000 -0.00052221 0.15839000 -0.13200800 1.00000000 0.00000000 0.00000000 0.00000000 0.66040000 0.00018065 0.00839885 0.44055600 0.00000000 1.00000000 0.00000000 0.00000000 0.29260000 -0.00009993 0.00076848 0.61189100 0.00000000 0.00000000 1.00000000 0.00000000 0.12540000 0.00001922 0.00022715 0.19317200 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 2548.00000000 0.00023570 -0.00006354 0.00000000 0.00000000 0.00000000 0.00000000 603.70000000 0.00205158 -0.00055326 0.00000000 0.00000000 0.00000000 0.00000000 195.60000000 0.01115430 -0.00302795 0.00000000 0.00000000 0.00000000 0.00000000 74.15000000 0.04398160 -0.01206500 0.00000000 0.00000000 0.00000000 0.00000000 30.94000000 0.12999400 -0.03663480 0.00000000 0.00000000 0.00000000 0.00000000 13.69000000 0.27295900 -0.07907640 0.00000000 0.00000000 0.00000000 0.00000000 6.22900000 0.38369000 -0.11742200 0.00000000 0.00000000 0.00000000 0.00000000 2.87800000 0.29187000 -0.08609430 0.00000000 0.00000000 0.00000000 0.00000000 1.28200000 0.07044640 0.14030800 1.00000000 0.00000000 0.00000000 0.00000000 0.56410000 0.00128761 0.42233600 0.00000000 1.00000000 0.00000000 0.00000000 0.23480000 0.00182623 0.44636300 0.00000000 0.00000000 1.00000000 0.00000000 0.09312000 0.00001990 0.16663400 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 8.39900000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.03000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.09700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.54900000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.22100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.32000000 1.00000000 0.00000000 0.00000000 0.65600000 0.00000000 1.00000000 0.00000000 1.34500000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.55600000 1.00000000 0.00000000 1.30200000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 1.05300000 1.00000000 a 18 $ ARGON (20s,12p,5d,3f,2g,1h) -> [7s,6p,5d,3f,2g,1h] $ S-TYPE FUNCTIONS 20 7 0 7401000.0000 0.00000175 -0.00000052 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1108000.0000 0.00001361 -0.00000405 0.00000002 0.00000000 0.00000000 0.00000000 0.00000000 252100.00000 0.00007163 -0.00002130 0.00000010 0.00000000 0.00000000 0.00000000 0.00000000 71380.00000 0.00030304 -0.00009017 0.00000038 0.00000000 0.00000000 0.00000000 0.00000000 23260.00000 0.00110610 -0.00032937 0.00000151 0.00000000 0.00000000 0.00000000 0.00000000 8390.00000000 0.00360679 -0.00107715 0.00000459 0.00000000 0.00000000 0.00000000 0.00000000 3271.00000000 0.01071340 -0.00321892 0.00001550 0.00000000 0.00000000 0.00000000 0.00000000 1357.00000000 0.02910740 -0.00887845 0.00004067 0.00000000 0.00000000 0.00000000 0.00000000 592.00000000 0.07166170 -0.02255450 0.00013134 0.00000000 0.00000000 0.00000000 0.00000000 269.10000000 0.15414400 -0.05184530 0.00033268 0.00000000 0.00000000 0.00000000 0.00000000 126.50000000 0.27042300 -0.10372200 0.00106670 0.00000000 0.00000000 0.00000000 0.00000000 61.03000000 0.33486200 -0.16659500 0.00257210 0.00000000 0.00000000 0.00000000 0.00000000 29.86000000 0.22434700 -0.16016500 0.00483584 0.00000000 0.00000000 0.00000000 0.00000000 14.17000000 0.05000810 0.06236540 -0.00385728 0.00000000 0.00000000 0.00000000 0.00000000 7.02200000 0.00014973 0.46553400 -0.04761250 0.00000000 0.00000000 0.00000000 0.00000000 3.51100000 0.00210369 0.58156400 -0.18295700 0.00000000 0.00000000 0.00000000 0.00000000 1.75800000 -0.00041073 0.19136900 -0.07328200 1.00000000 0.00000000 0.00000000 0.00000000 0.78410000 -0.00088862 -0.12856600 0.43482200 0.00000000 1.00000000 0.00000000 0.00000000 0.34800000 -0.00156236 -0.18321600 0.58171100 0.00000000 0.00000000 1.00000000 0.00000000 0.14910000 -0.00042684 -0.05662660 0.17937300 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 2927.00000000 0.00018834 -0.00015021 0.00000000 0.00000000 0.00000000 0.00000000 693.50000000 0.00164288 -0.00130928 0.00000000 0.00000000 0.00000000 0.00000000 224.70000000 0.00894893 -0.00716501 0.00000000 0.00000000 0.00000000 0.00000000 85.17000000 0.03551110 -0.02857230 0.00000000 0.00000000 0.00000000 0.00000000 35.53000000 0.10514700 -0.08601580 0.00000000 0.00000000 0.00000000 0.00000000 15.73000000 0.22155200 -0.18399600 0.00000000 0.00000000 0.00000000 0.00000000 7.16500000 0.30841200 -0.26584400 0.00000000 0.00000000 0.00000000 0.00000000 3.32200000 0.23220300 -0.18874100 0.00000000 0.00000000 0.00000000 0.00000000 1.47800000 0.12447800 0.12537800 1.00000000 0.00000000 0.00000000 0.00000000 0.65520000 0.16831000 0.39724600 0.00000000 1.00000000 0.00000000 0.00000000 0.27510000 0.16829200 0.39465800 0.00000000 0.00000000 1.00000000 0.00000000 0.10970000 0.05979810 0.14191700 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 10.51800000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.51600000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.33200000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.67300000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.27000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.40800000 1.00000000 0.00000000 0.00000000 0.82500000 0.00000000 1.00000000 0.00000000 1.66800000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.66500000 1.00000000 0.00000000 1.56200000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 1.26400000 1.00000000 ergo-3.5/basis/sadlej0000775000175000017500000021776312743400275011555 00000000000000************************************************************************ /H.Pol.Sadlej.6s4p.3s2p. #A. J. Sadlej, Coll. Czech. Chem. Commun. 53,1995 (1988). ******************************************************************* * Hydrogen atom * * Dipole polarizability basis set * ******************************************************************* a 1 * 6 3 33.685014 5.094788 1.158786 0.325840 0.102741 0.032400 .006068 0.00000 0.00000 .045316 0.00000 0.00000 .202846 0.00000 0.00000 .503709 0.00000 0.00000 0.00000 1.00000 0.00000 0.00000 0.00000 1.00000 4 2 1.1588 0.3258 0.1027 0.0324 .188440 .000000 .882420 .000000 0.00000 .117800 0.00000 .004200 ********************************************************************* /Li.Pol.Sadlej.10s6p4d.5s3p2d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) xx, xxx (1991). ********************************************************************* * Lithium atom * * Dipole polarizability basis set * ********************************************************************* a 3 * 10 5 1359.4466 204.02647 46.549541 13.232594 4.286148 1.495542 0.542238 0.073968 0.028095 0.010671 .000844 .00000000 .00000000 .00000000 .00000000 .006486 .00000000 .00000000 .00000000 .00000000 .032477 .00000000 .00000000 .00000000 .00000000 .117420 .00000000 .00000000 .00000000 .00000000 .294580 .00000000 .00000000 .00000000 .00000000 .00000000 .449515 .00000000 .00000000 .00000000 .00000000 .255823 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 6 3 4.17 1.17256 0.32927 0.09271 0.02607 0.007331 .005112 .00000000 .00000000 .020907 .00000000 .00000000 .091672 .00000000 .00000000 .449260 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 1. 4 2 0.32927 0.09271 0.02607 0.007331 .159757 .00000000 1.475484 .00000000 .00000000 .370578 .00000000 .017847 ********************************************************************* /Be.Pol.Sadlej.10s6p4d.5s3p2d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) xx, xxx (1991). ********************************************************************* * Beryllium atom * * Dipole polarizability basis set * ********************************************************************* a 4 * 10 5 2732.3281 410.31981 93.672648 26.587957 8.629560 3.056264 1.132424 0.181732 0.059170 0.019265 .000745 .00000000 .00000000 .00000000 .00000000 .005722 .00000000 .00000000 .00000000 .00000000 .028880 .00000000 .00000000 .00000000 .00000000 .107076 .00000000 .00000000 .00000000 .00000000 .280101 .00000000 .00000000 .00000000 .00000000 .00000000 .445448 .00000000 .00000000 .00000000 .00000000 .280262 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 6 3 7.640 1.8636 0.45509 0.11107 0.027108 0.006616 .004630 .00000000 .00000000 .032961 .00000000 .00000000 .120404 .00000000 .00000000 .339523 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 1. 4 2 0.45509 0.11107 0.027108 0.006616 .17848 .00000000 1.01876 .00000000 .00000000 .422364 .00000000 .060033 ********************************************************************* /C.Pol.Sadlej.10s6p4d.5s3p2d. #A. J. Sadlej, Coll. Czech. Chem. Commun. 53,1995 (1988). ******************************************************************* * Carbon atom * * Dipole polarizability basis set * ******************************************************************* a 6 * 10 5 5240.6353 782.20480 178.35083 50.815942 16.823562 6.175776 2.418049 0.511900 0.156590 0.047900 .000937 .00000000 .00000000 .00000000 .00000000 .007228 .00000000 .00000000 .00000000 .00000000 .036344 .00000000 .00000000 .00000000 .00000000 .130600 .00000000 .00000000 .00000000 .00000000 .318931 .00000000 .00000000 .00000000 .00000000 .00000000 .438742 .00000000 .00000000 .00000000 .00000000 .214974 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 6 3 18.841800 4.159240 1.206710 0.385540 0.121940 0.038568 .013887 .00000000 .00000000 .086279 .00000000 .00000000 .288744 .00000000 .00000000 .499411 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 1. 4 2 1.206710 0.385540 0.121940 0.038658 .262852 .00000000 .804300 .00000000 .00000000 .653500 .00000000 .863600 ********************************************************************* /N.Pol.Sadlej.10s6p4d.5s3p2d. #A. J. Sadlej, Coll. Czech. Chem. Commun. 53,1995 (1988). ******************************************************************* * Nitrogen atom * * Dipole polarizability basis set * ******************************************************************* a 7 * 10 5 8104.0716 1216.0215 277.23428 76.904023 25.874419 9.346767 3.579794 0.739610 0.222617 0.067006 .000802 .00000000 .00000000 .00000000 .00000000 .006174 .00000000 .00000000 .00000000 .00000000 .031233 .00000000 .00000000 .00000000 .00000000 .115198 .00000000 .00000000 .00000000 .00000000 .296951 .00000000 .00000000 .00000000 .00000000 .00000000 .447349 .00000000 .00000000 .00000000 .00000000 .245003 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 6 3 26.868987 5.991227 1.750842 0.560511 0.175948 0.055231 .014478 .00000000 .00000000 .091156 .00000000 .00000000 .297420 .00000000 .00000000 .493796 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 1. 4 2 1.750842 0.560511 0.175948 0.055231 .224774 .00000000 .659562 .00000000 .00000000 .871355 .00000000 .704217 ********************************************************************* /O.Pol.Sadlej.10s6p4d.5s3p2d. #A. J. Sadlej, Coll. Czech. Chem. Commun. 53,1995 (1988). ******************************************************************* * Oxygen atom * * Dipole polarizability basis set * ******************************************************************* a 8 * 10 5 10662.285 1599.7097 364.72526 103.65179 33.905805 12.287469 4.756805 1.004271 0.300686 0.09003 .000799 .00000000 .00000000 .00000000 .00000000 .006153 .00000000 .00000000 .00000000 .00000000 .031157 .00000000 .00000000 .00000000 .00000000 .115596 .00000000 .00000000 .00000000 .00000000 .301552 .00000000 .00000000 .00000000 .00000000 .00000000 .444870 .00000000 .00000000 .00000000 .00000000 .243172 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 6 3 34.856463 7.843131 2.306249 0.723164 0.214882 0.06385 .015648 .00000000 .00000000 .098197 .00000000 .00000000 .307768 .00000000 .00000000 .492470 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 1. 4 2 2.3062 0.7232 0.2149 0.0639 .20270 .00000000 .5791 .00000000 .00000000 .78545 .00000000 .53387 ********************************************************************* /F.Pol.Sadlej.10s6p4d.5s3p2d. #A. J. Sadlej, Coll. Czech. Chem. Commun. 53,1995 (1988). ******************************************************************* * Flourine atom * * Dipole polarizability basis set * ******************************************************************* a 9 * 10 5 13521.523 2028.6916 462.37392 131.37366 42.974531 15.571440 6.032232 1.307215 0.388869 0.115680 .000801 .00000000 .00000000 .00000000 .00000000 .006164 .00000000 .00000000 .00000000 .00000000 .031244 .00000000 .00000000 .00000000 .00000000 .116081 .00000000 .00000000 .00000000 .00000000 .303589 .00000000 .00000000 .00000000 .00000000 .00000000 .445904 .00000000 .00000000 .00000000 .00000000 .239115 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 6 3 44.147303 9.993426 2.953246 0.918597 0.266824 0.07750 .016509 .00000000 .00000000 .103481 .00000000 .00000000 .315418 .00000000 .00000000 .489353 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 1. 4 2 2.9532 0.9186 0.2668 0.0775 .183540 .00000000 .510580 .00000000 .00000000 .699250 .00000000 .429260 ********************************************************************* /NA.Pol.Sadlej.13s10p4d.7s5p2d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) xx, xxx (1991). ********************************************************************* * Sodium atom * * Dipole polarizability basis set * * Generated from Mclean-Chandler's 2-zeta contractions * ********************************************************************* a 11 * 14 7 36166.4 5372.58 1213.21 339.62 109.55 38.777 38.777 14.576 5.2699 1.8278 0.6199 0.0572 0.0240 0.0101 .001032 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .008071 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .042128 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .169786 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .514609 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .379834 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .374763 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .575771 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .113928 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. 10 5 144.645 33.907 10.629 3.8239 1.4443 0.5526 0.1887 0.0465 0.0163 0.0057 .005457 .00000000 .00000000 .00000000 .00000000 .039138 .00000000 .00000000 .00000000 .00000000 .151924 .00000000 .00000000 .00000000 .00000000 .333098 .00000000 .00000000 .00000000 .00000000 .422284 .00000000 .00000000 .00000000 .00000000 .281197 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 4 2 1.4443 0.5526 0.1887 0.0465 .351379 .00000000 .378273 .00000000 .00000000 .011180 .00000000 .278751 ********************************************************************* /Mg.Pol.Sadlej.13s10p4d.7s5p2d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) xx, xxx (1991). ********************************************************************* * Magnesium atom * * Dipole polarizability basis set * * Generated from Mclean-Chandler's 2-zeta contractions * ********************************************************************* a 12 * 14 7 43866.5 6605.37 1513.26 432.317 142.149 51.398 51.398 19.920 8.0247 2.5082 0.8715 0.1082 0.0401 0.0149 .000918 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .007047 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .035941 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .141461 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .426763 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .497976 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .251355 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .618671 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .188416 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. 10 5 193.854 45.442 14.186 5.0575 1.8886 0.7227 0.2364 0.0934 0.0348 0.0130 .004802 .00000000 .00000000 .00000000 .00000000 .035516 .00000000 .00000000 .00000000 .00000000 .144893 .00000000 .00000000 .00000000 .00000000 .338179 .00000000 .00000000 .00000000 .00000000 .441104 .00000000 .00000000 .00000000 .00000000 .260849 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 4 2 1.8886 0.7227 0.2364 0.0934 .320975 .00000000 .306839 .00000000 .00000000 .028044 .00000000 .178554 ********************************************************************* /Si.Pol.Sadlej.13s10p4d.7s5p2d. #A. J. Sadlej, Theor. Chim. Acta xx, xxx 1991. ********************************************************************* * Silicon atom * * Dipole polarizability basis set * * Generated from Mclean-Chandler's 2-zeta contractions * ********************************************************************* a 14 * 14 7 69379.23 10354.94 2333.88 657.14 214.30 77.629 77.629 30.631 12.801 3.9269 1.4523 0.2562 0.0943 0.0347 .000757 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .005932 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .031088 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .124966 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .386896 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .554890 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .177882 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .627756 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .247631 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. 10 5 335.48 78.900 24.988 9.2197 3.6211 1.4513 0.5050 0.1863 0.0654 0.0230 .003616 .00000000 .00000000 .00000000 .00000000 .027866 .00000000 .00000000 .00000000 .00000000 .118678 .00000000 .00000000 .00000000 .00000000 .298750 .00000000 .00000000 .00000000 .00000000 .441192 .00000000 .00000000 .00000000 .00000000 .312701 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 4 2 0.5050 0.1863 0.0654 0.0230 .2261 .00000000 1.0759 .00000000 .00000000 .1636 .00000000 .1077 ********************************************************************* /P.Pol.Sadlej.13s10p4d.7s5p2d. #A. J. Sadlej, Theor. Chim. Acta xx, xxx 1991. ********************************************************************* * Phosphorous atom * * Dipole polarizability basis set * * Generated from Mclean-Chandler's 2-zeta contractions * ********************************************************************* a 15 * 14 7 77492.43 11605.79 2645.96 754.98 248.75 91.157 91.157 36.226 15.211 4.7138 1.7827 0.3425 0.1246 0.0453 .000787 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .006109 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .031368 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .124291 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .380682 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .559989 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .163997 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .625927 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .262211 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. 10 5 384.84 90.552 28.806 10.688 4.2521 1.7405 0.5979 0.2292 0.0838 0.0306 .003765 .00000000 .00000000 .00000000 .00000000 .029010 .00000000 .00000000 .00000000 .00000000 .122953 .00000000 .00000000 .00000000 .00000000 .306470 .00000000 .00000000 .00000000 .00000000 .441349 .00000000 .00000000 .00000000 .00000000 .295817 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 4 2 0.5979 0.2292 0.0838 0.0306 .3093 .00000000 .9715 .00000000 .00000000 .1278 .00000000 .0774 ********************************************************************* /S.Pol.Sadlej.13s10p4d.7s5p2d. #A. J. Sadlej, Theor. Chim. Acta xx, xxx 1991. ********************************************************************* * Sulphur atom * * Dipole polarizability basis set * * Generated from Mclean-Chandler's 2-zeta contractions * ********************************************************************* a 16 * 14 7 99413.4 13961.7 3169.9 902.46 297.16 108.702 108.702 43.155 18.108 5.5705 2.1427 0.4340 0.1570 0.0568 .000742 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .005790 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .029941 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .118975 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .368290 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .577489 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .142932 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .624649 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .283400 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. 10 5 495.04 117.22 37.507 13.910 5.5045 2.2433 0.7762 0.2919 0.1029 0.0363 .003171 .00000000 .00000000 .00000000 .00000000 .024643 .00000000 .00000000 .00000000 .00000000 .107845 .00000000 .00000000 .00000000 .00000000 .288489 .00000000 .00000000 .00000000 .00000000 .448108 .00000000 .00000000 .00000000 .00000000 .320517 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 4 2 0.7762 0.2919 0.1029 0.0363 .2915 .00000000 .8966 .00000000 .00000000 .1138 .00000000 .0568 ********************************************************************* /Cl.Pol.Sadlej.13s10p4d.7s5p2d. #A. J. Sadlej, Theor. Chim. Acta xx, xxx 1991. ********************************************************************* * Chlorine atom * * Dipole polarizability basis set * * Generated from Mclean-Chandler's 2-zeta contractions * * polarized basis set checked against the properties of HCl * ********************************************************************* a 17 * 14 7 105818.80 15872.000 3619.7000 1030.8000 339.91000 124.53800 124.53800 49.514000 20.806000 6.464800 2.525400 0.537800 0.193500 0.069600 .000743 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .005754 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .029674 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .117991 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .365319 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .581146 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .137543 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .622920 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .290106 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. 10 5 589.78000 139.85000 44.795000 16.612000 6.5995000 2.7141000 0.952800 0.358000 0.125000 0.043600 .002982 .00000000 .00000000 .00000000 .00000000 .023375 .00000000 .00000000 .00000000 .00000000 .103998 .00000000 .00000000 .00000000 .00000000 .284430 .00000000 .00000000 .00000000 .00000000 .450686 .00000000 .00000000 .00000000 .00000000 .323064 .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. .00000000 .00000000 .00000000 .00000000 .00000000 1. 4 2 0.9528 0.3580 0.1250 0.0436 .285315 .00000000 .816939 .00000000 .00000000 .101343 .00000000 .043054 ********************************************************************* /K.Pol.Sadlej.15s13p4d.9s7p2d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) xx, xxx (1991). ********************************************************************* * Pottasium atom * * Dipole polarizability basis set * ********************************************************************* a 19 * 15 9 151351.9 22745.91 5227.166 1500.188 495.4703 180.9008 71.21769 29.38428 8.699243 3.473304 0.814562 0.318915 0.035484 0.016390 0.007570 0.0002585 .0000745 -.0000245 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.0019920 .0005698 -.0001882 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.0101469 .0029599 -.0009718 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.0403666 .0117604 -.0039039 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.1273002 .0400206 -.0131897 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.2985825 .1023769 -.0347707 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.4185002 .2050881 -.0700552 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.2370813 .1351508 -.0525456 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 0.0202067 -.5025714 .2420632 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0000000 .0000000 .0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 1.0000000 .0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 1.0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 .0000000 1.0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 .0000000 .0000000 1.0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 .0000000 .0000000 .0000000 1.0000000 13 7 868.3903 205.5765 65.91233 24.59863 9.882281 4.116751 1.556004 0.612188 0.223053 0.08126 0.02961 0.01079 0.00393 0.0023351 .0001788 .00000000 .00000000 .00000000 .00000000 .00000000 0.0187544 .0057641 .00000000 .00000000 .00000000 .00000000 .00000000 0.0865586 .0274699 .00000000 .00000000 .00000000 .00000000 .00000000 0.2502799 .0813920 .00000000 .00000000 .00000000 .00000000 .00000000 0.4300397 .1513598 .00000000 .00000000 .00000000 .00000000 .00000000 0.3511437 .1082711 .00000000 .00000000 .00000000 .00000000 .00000000 0.0664197 -.2619370 .00000000 .00000000 .00000000 .00000000 .00000000 -.0512530 -.5840310 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0000000 .0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .0000000 1.0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .0000000 .0000000 1.0000000 .0000000 .0000000 .00000000 .00000000 .0000000 .0000000 .0000000 1.0000000 .0000000 .00000000 .00000000 .0000000 .0000000 .0000000 .0000000 1.0000000 4 2 0.61219 0.22305 0.02961 0.01079 0.5723700 .00000000 0.6652800 .00000000 .00000000 .3765800 .00000000 .3729500 ********************************************************************* /CA.Pol.Sadlej.15s13p4d.9s7p2d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) xx, xxx (1991). ********************************************************************* * Calcium atom * * Dipole polarizability basis set * ********************************************************************* a 20 * 15 9 171297.15 25997.43 5996.480 1714.730 563.6532 204.9460 80.45147 33.14092 9.879146 3.994670 0.985343 0.411616 0.065605 0.026740 0.010620 .0002510 -.0000731 .0000251 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0019090 -.0005518 .0001906 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0097392 -.0028696 .0009853 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0391060 -.0115111 .0039962 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1244994 -.0394714 .0136087 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2952087 -.1021232 .0362825 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .4195611 -.2061724 .0737642 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2427536 -.1414723 .0575850 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0215154 .4959007 -.2526893 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0000000 .0000000 .0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 1.0000000 .0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 1.0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 .0000000 1.0000000 .0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 .0000000 .0000000 1.0000000 .0000000 .00000000 .00000000 .00000000 .0000000 .0000000 .0000000 .0000000 .0000000 1.0000000 13 7 1003.027 237.8239 76.56948 28.73768 11.63688 4.903208 1.923370 0.780058 0.293764 0.11063 0.04166 0.01569 0.00591 .0022207 -.0007275 .00000000 .00000000 .00000000 .00000000 .00000000 .0178648 -.0058537 .00000000 .00000000 .00000000 .00000000 .00000000 .0827314 -.0279479 .00000000 .00000000 .00000000 .00000000 .00000000 .2419521 -.0840570 .00000000 .00000000 .00000000 .00000000 .00000000 .4242078 -.1590285 .00000000 .00000000 .00000000 .00000000 .00000000 .3585782 -.1215982 .00000000 .00000000 .00000000 .00000000 .00000000 .0750382 .2485835 .00000000 .00000000 .00000000 .00000000 .00000000 .0045102 .5954336 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0000000 .0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .0000000 1.0000000 .0000000 .0000000 .0000000 .00000000 .00000000 .0000000 .0000000 1.0000000 .0000000 .0000000 .00000000 .00000000 .0000000 .0000000 .0000000 1.0000000 .0000000 .00000000 .00000000 .0000000 .0000000 .0000000 .0000000 1.0000000 4 2 0.78006 0.29376 0.04166 0.01569 .51870 .00000000 .56587 .00000000 .00000000 .33335 .00000000 .14089 ********************************************************************* /Ge.Pol.Sadlej.15s12p9d.9s7p4d. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1991). ********************************************************************* * Germanium atom * * Basis set for electric properties * ********************************************************************* a 32 * 15 9 348299.8 52638.12 12018.36 3406.951 1157.699 442.1850 180.0446 76.50783 26.77091 11.43546 3.023474 1.159275 0.241695 0.082681 0.028284 .0003383 .0001055 .0000405 .0000104 .00000000 .00000000 .00000000 .00000000 .00000000 .0025792 .0008002 .0003099 .0000792 .00000000 .00000000 .00000000 .00000000 .00000000 .0134593 .0042524 .0016283 .0004163 .00000000 .00000000 .00000000 .00000000 .00000000 .0526727 .0167878 .0065612 .0016758 .00000000 .00000000 .00000000 .00000000 .00000000 .1512606 .0525514 .0201835 .0051718 .00000000 .00000000 .00000000 .00000000 .00000000 .3225121 .1257423 .0511386 .0130977 .00000000 .00000000 .00000000 .00000000 .00000000 .4068147 .2342057 .0937554 .0242756 .00000000 .00000000 .00000000 .00000000 .00000000 .1889964 .1027861 .0554130 .0143390 .00000000 .00000000 .00000000 .00000000 .00000000 .0114588 -.5563724 -.3692429 -.1002602 .00000000 .00000000 .00000000 .00000000 .00000000 -.0010655 -.5695571 -.4528432 -.1323443 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 .0 1.0 12 7 2581.751 620.9984 203.7177 77.57168 32.38502 14.24833 6.010788 2.561509 1.061296 0.282632 0.084551 0.025294 .0025342 -.0009805 -.0001945 .00000000 .00000000 .00000000 .00000000 .0199240 -.0077373 -.0015199 .00000000 .00000000 .00000000 .00000000 .0921153 -.0370860 -.0073988 .00000000 .00000000 .00000000 .00000000 .2670416 -.1121499 -.0221507 .00000000 .00000000 .00000000 .00000000 .4374929 -.2010281 -.0411436 .00000000 .00000000 .00000000 .00000000 .3129736 -.0908530 -.0147554 .00000000 .00000000 .00000000 .00000000 .0558649 .3507104 .0795689 .00000000 .00000000 .00000000 .00000000 .0000316 .5582308 .1540492 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .0 .0 .0 1.0 9 4 68.53021 19.35644 6.600014 2.288409 0.741149 1.06130 0.28263 0.08455 0.02529 .0301959 .0 .00000000 .00000000 .1657003 .0 .00000000 .00000000 .3971127 .0 .00000000 .00000000 .0 .4703261 .00000000 .00000000 .0 .2523345 .00000000 .00000000 .00000000 .00000000 -.02450 .0 .00000000 .00000000 .76234 .0 .00000000 .00000000 .0 .19214 .00000000 .00000000 .0 .14193 ********************************************************************* /As.Pol.Sadlej.15s12p9d.9s7p4d. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1991). ********************************************************************* * Arsenic atom * * Basis set for electric properties * ********************************************************************* a 33 * 15 9 373201.1 54939.83 12270.63 3538.010 1218.193 464.8529 189.4323 81.75079 28.83275 12.45438 3.677003 1.552864 0.291144 0.107232 0.039495 .0003371 .0001055 .0000410 -.0000113 .00000000 .00000000 .00000000 .00000000 .00000000 .0027018 .0008416 .0003289 -.0000904 .00000000 .00000000 .00000000 .00000000 .00000000 .0141257 .0044758 .0017368 -.0004774 .00000000 .00000000 .00000000 .00000000 .00000000 .0532252 .0170473 .0067152 -.0018466 .00000000 .00000000 .00000000 .00000000 .00000000 .1523040 .0530786 .0207147 -.0057037 .00000000 .00000000 .00000000 .00000000 .00000000 .3263965 .1284161 .0524490 -.0144806 .00000000 .00000000 .00000000 .00000000 .00000000 .4028654 .2336762 .0958017 -.0266239 .00000000 .00000000 .00000000 .00000000 .00000000 .1853815 .1013469 .0527402 -.0148682 .00000000 .00000000 .00000000 .00000000 .00000000 .0132875 -.5472122 -.3591681 .1057078 .00000000 .00000000 .00000000 .00000000 .00000000 -.0019340 -.5715411 -.4826202 .1512379 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 .0 1.0 12 7 2782.858 669.0384 218.7985 83.48981 34.92050 15.48738 6.570163 2.841880 1.210419 0.328250 0.103361 0.032547 .0024863 -.0009764 -.0002187 .00000000 .00000000 .00000000 .00000000 .0197457 -.0077851 -.0017204 .00000000 .00000000 .00000000 .00000000 .0915011 -.0373990 -.0084307 .00000000 .00000000 .00000000 .00000000 .2656987 -.1133623 -.0251727 .00000000 .00000000 .00000000 .00000000 .4355429 -.2033940 -.0472648 .00000000 .00000000 .00000000 .00000000 .3132782 -.0937084 -.0164231 .00000000 .00000000 .00000000 .00000000 .0595995 .3459266 .0875009 .00000000 .00000000 .00000000 .00000000 -.0007508 .5571049 .1818443 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .0 .0 .0 1.0 9 4 73.62860 20.88949 7.217652 2.569304 0.863941 1.21042 0.32825 0.10336 0.03255 .0315097 .0 .00000000 .00000000 .1714495 .0 .00000000 .00000000 .4017342 .0 .00000000 .00000000 .0 .4655653 .00000000 .00000000 .0 .2342530 .00000000 .00000000 .00000000 .00000000 -.01396 .0 .00000000 .00000000 .82417 .0 .00000000 .00000000 .0 .16009 .00000000 .00000000 .0 .10592 ********************************************************************* /Se.Pol.Sadlej.15s12p9d.9s7p4d. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1991). ********************************************************************* * Selenium atom * * Basis set for electric properties * ********************************************************************* a 34 * 15 9 373064.5 55085.14 12592.85 3699.059 1277.820 486.7047 198.6806 86.13051 30.72411 13.32537 4.103203 1.760131 0.352896 0.131568 0.049052 .0003645 .0001144 .0000449 .0000131 .00000000 .00000000 .00000000 .00000000 .00000000 .0028724 .0008977 .0003544 .0001034 .00000000 .00000000 .00000000 .00000000 .00000000 .0144645 .0045980 .0018041 .0005269 .00000000 .00000000 .00000000 .00000000 .00000000 .0536980 .0172673 .0068668 .0020057 .00000000 .00000000 .00000000 .00000000 .00000000 .1545309 .0540553 .0213582 .0062493 .00000000 .00000000 .00000000 .00000000 .00000000 .3297180 .1307919 .0538925 .0158045 .00000000 .00000000 .00000000 .00000000 .00000000 .4006442 .2344816 .0976695 .0288697 .00000000 .00000000 .00000000 .00000000 .00000000 .1812354 .0981841 .0511442 .0152959 .00000000 .00000000 .00000000 .00000000 .00000000 .0129547 -.5485378 -.3627238 -.1136170 .00000000 .00000000 .00000000 .00000000 .00000000 -.0019021 -.5684272 -.4937134 -.1656001 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 .0 1.0 12 7 2975.594 713.7165 233.8993 89.31284 37.33775 16.58343 7.125157 3.103954 1.339101 0.387547 0.119992 0.037152 .0024786 -.0009868 .0002401 .00000000 .00000000 .00000000 .00000000 .0197102 -.0078882 .0018939 .00000000 .00000000 .00000000 .00000000 .0911422 -.0377738 .0092517 .00000000 .00000000 .00000000 .00000000 .2658265 -.1152657 .0278305 .00000000 .00000000 .00000000 .00000000 .4365449 -.2066787 .0522325 .00000000 .00000000 .00000000 .00000000 .3116260 -.0948790 .0179079 .00000000 .00000000 .00000000 .00000000 .0596090 .3464229 -.0961145 .00000000 .00000000 .00000000 .00000000 -.0002812 .5611639 -.2037544 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .0 .0 .0 1.0 9 4 78.71959 22.53607 7.887587 2.863780 0.990345 1.33910 0.38755 0.11999 0.03715 .0327398 .0 .00000000 .00000000 .1756588 .0 .00000000 .00000000 .4056571 .0 .00000000 .00000000 .0 .4625696 .00000000 .00000000 .0 .2186191 .00000000 .00000000 .00000000 .00000000 -.00820 .0 .00000000 .00000000 .81387 .0 .00000000 .00000000 .0 .14805 .00000000 .00000000 .0 .07972 ********************************************************************* /Br.Pol.Sadlej.15s12p9d.9s7p4d. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1991). ********************************************************************* * Bromine atom * * Basis set for electric properties * ********************************************************************* a 35 * 15 9 379677.7 56125.18 12967.35 3836.082 1331.996 508.0421 207.7812 90.42185 33.00437 14.35639 4.728525 2.032967 0.412706 0.156142 0.059074 .0003842 -.0001208 .0000480 -.0000147 .00000000 .00000000 .00000000 .00000000 .00000000 .0030003 -.0009411 .0003749 -.0001147 .00000000 .00000000 .00000000 .00000000 .00000000 .0148907 -.0047442 .0018827 -.0005766 .00000000 .00000000 .00000000 .00000000 .00000000 .0547746 -.0177026 .0070977 -.0021735 .00000000 .00000000 .00000000 .00000000 .00000000 .1567715 -.0549918 .0220139 -.0067547 .00000000 .00000000 .00000000 .00000000 .00000000 .3328099 -.1333894 .0553369 -.0170164 .00000000 .00000000 .00000000 .00000000 .00000000 .3985678 -.2345111 .0995058 -.0308665 .00000000 .00000000 .00000000 .00000000 .00000000 .1765368 -.0972103 .0498142 -.0156180 .00000000 .00000000 .00000000 .00000000 .00000000 .0124906 .5425917 -.3574409 .1175750 .00000000 .00000000 .00000000 .00000000 .00000000 -.0017219 .5718584 -.5171876 .1828625 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 .0 1.0 12 7 3167.910 762.5044 249.3963 95.23177 39.92301 17.78166 7.677264 3.342064 1.442422 0.442320 0.137772 0.042913 .0024643 -.0009940 .0002588 .00000000 .00000000 .00000000 .00000000 .0195907 -.0079501 .0020438 .00000000 .00000000 .00000000 .00000000 .0911694 -.0382891 .0100386 .00000000 .00000000 .00000000 .00000000 .2656020 -.1169117 .0302452 .00000000 .00000000 .00000000 .00000000 .4355430 -.2090161 .0565897 .00000000 .00000000 .00000000 .00000000 .3117761 -.0968376 .0195855 .00000000 .00000000 .00000000 .00000000 .0602091 .3512283 -.1056535 .00000000 .00000000 .00000000 .00000000 -.0019929 .5698537 -.2254965 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1.0 .0 .0 .0 .00000000 .00000000 .00000000 .0 1.0 .0 .0 .00000000 .00000000 .00000000 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .0 .0 .0 1.0 9 4 96.15001 27.83908 9.851067 3.610187 1.251544 1.4424 0.4423 0.1378 0.0429 .0265128 .0 .00000000 .00000000 .1500642 .0 .00000000 .00000000 .3804896 .0 .00000000 .00000000 .0 .4802772 .00000000 .00000000 .0 .2478854 .00000000 .00000000 .00000000 .00000000 .00395 .0 .00000000 .00000000 .80388 .0 .00000000 .00000000 .0 .13480 .00000000 .00000000 .0 .06231 ********************************************************************* /Rb.Pol.Sadlej.18s15p10d.11s9p4d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) xx, xxx (1991). ********************************************************************* * Rubidium atom * * Basis set for electric properties * ********************************************************************* a 37 * 18 11 432918.4 65814.05 15362.04 4506.950 1533.262 581.0960 240.2168 106.1112 40.82235 18.69521 7.850894 3.946150 1.844039 0.692172 0.276767 0.038890 0.019632 0.009910 .0003702 -.0001170 .0000474 .0000160 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0027958 -.0008825 .0003577 .0001208 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0138520 -.0044259 .0017934 .0006053 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0525392 -.0170923 .0069599 .0023542 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1548470 -.0542487 .0222237 .0075095 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3266449 -.1318217 .0553560 .0188356 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3942463 -.2270311 .0991963 .0337959 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1884079 -.1210690 .0590832 .0208811 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0169109 .4500893 -.2849879 -.1045566 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0027738 .6067418 -.5616608 -.2150989 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0015422 .1309709 .0689380 .0261794 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 15 9 3772.360 896.8498 291.1774 111.1665 46.59779 20.61947 8.545803 3.727807 1.626088 0.608154 0.211257 0.073385 0.025492 0.008855 0.00308 .0022490 -.0009326 -.0002799 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0184178 -.0076486 -.0022837 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0870550 -.0375836 -.0113521 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2573574 -.1157393 -.0348942 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .4345148 -.2156986 -.0669017 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3247940 -.1012843 -.0258668 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0629600 .3833983 .1441241 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0030106 .5723888 .2591167 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0022704 .1849965 -.0224242 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .0 .0 .00000000 .00000000 .00000000 .0 1. .0 .0 .0 .0 .00000000 .00000000 .00000000 .0 .0 1. .0 .0 .0 .00000000 .00000000 .00000000 .0 .0 .0 1. .0 .0 .00000000 .00000000 .00000000 .0 .0 .0 .0 1. .0 .00000000 .00000000 .00000000 .0 .0 .0 .0 .0 1. 10 4 132.3326 38.80142 14.10538 5.536616 2.239668 0.859432 0.60815 0.21126 0.02549 0.00886 .0195685 .0 .00000000 .00000000 .1189378 .0 .00000000 .00000000 .3295870 .0 .00000000 .00000000 .4546232 .0 .00000000 .00000000 .0 .2973777 .00000000 .00000000 .0 .0591820 .00000000 .00000000 .00000000 .00000000 .08031 .0 .00000000 .00000000 .10313 .0 .00000000 .00000000 .0 .44488 .00000000 .00000000 .0 .37698 ********************************************************************* /Sr.Pol.Sadlej.18s15p10d.11s9p4d. #A. J. Sadlej and M. Urban, J. Mol. Struct. (Theochem) xx, xxx (1991). ********************************************************************* * Strontium atom * * Basis set for electric properties * ********************************************************************* a 38 * 18 11 447503.8 68033.85 15907.65 4680.181 1596.108 605.0268 249.6655 110.2371 42.34581 19.32749 7.943752 3.997927 1.933314 0.716335 0.305817 0.054875 0.022944 0.009593 .0003798 -.0001203 -.0000491 .0000174 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0028661 -.0009069 -.0003708 .0001318 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0141474 -.0045334 -.0018536 .0006578 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0533898 -.0174169 -.0071557 .0025467 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1567703 -.0551668 -.0228119 .0081037 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3300455 -.1339385 -.0567806 .0203430 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3942621 -.2298919 -.1015780 .0363698 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1828827 -.1140530 -.0563682 .0211538 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0156887 .4696420 .3036405 -.1180747 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0026167 .5982430 .5673199 .2289793 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0014832 .1203188 -.1357764 .0548220 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1.0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 15 9 3942.235 935.3613 303.6026 115.8908 48.56029 21.49991 8.946984 3.869650 1.617732 0.641983 0.238495 0.088767 0.033039 0.012297 0.004577 .0023006 .0009647 -.0003111 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0188799 .0079381 -.0025477 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0890580 .0389159 -.0126331 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2622162 .1196339 -.0388058 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .4375272 .2200890 -.0734370 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3176983 .0948126 -.0252119 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0589489 -.4042590 .1658146 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0025145 -.5806063 .2875260 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0019810 -.1588206 -.0807917 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .0 .0 .00000000 .00000000 .00000000 .0 1. .0 .0 .0 .0 .00000000 .00000000 .00000000 .0 .0 1. .0 .0 .0 .00000000 .00000000 .00000000 .0 .0 .0 1. .0 .0 .00000000 .00000000 .00000000 .0 .0 .0 .0 1. .0 .00000000 .00000000 .00000000 .0 .0 .0 .0 .0 1. 10 4 137.7742 40.44428 14.68809 5.752129 2.324955 0.889111 0.64198 0.23850 0.03304 0.01230 .0208295 .0 .00000000 .00000000 .1258918 .0 .00000000 .00000000 .3443574 .0 .00000000 .00000000 .4614710 .0 .00000000 .00000000 .0 .2762676 .00000000 .00000000 .0 .0443842 .00000000 .00000000 .00000000 .00000000 .83492 .0 .00000000 .00000000 .80831 .0 .00000000 .00000000 .0 .39400 .00000000 .00000000 .0 .11109 ********************************************************************* /Sn.Pol.Sadlej.19s15p12d4f.11s9p6d2f. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1991). ********************************************************************* * Tin atom * * Basis set for electric properties * ********************************************************************* a 50 * 19 11 899821.66 134984.99 30894.687 8884.5899 2970.8316 1114.3989 457.49766 201.14673 76.951888 34.627033 12.709521 6.7445922 2.8589584 1.4649553 0.5482545 0.4970868 0.1612089 0.0680632 0.028737 .0003171 -.0001027 .0000451 -.0000196 -.0000057 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0024542 -.0007940 .0003498 -.0001519 -.0000444 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0125308 -.0041012 .0018034 -.0007832 -.0002289 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0490344 -.0163241 .0072300 -.0031431 -.0009183 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1483326 -.0530849 .0235920 -.0102703 -.0030036 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3205279 -.1318363 .0604148 -.0264382 -.0077309 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .3999731 -.2335835 .1108669 -.0489543 -.0143645 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .1988844 -.1324689 .0724148 -.0327790 -.0096064 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0179062 .4745137 -.3474649 .1669511 .0495391 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0028864 .6214301 -.6342873 .3338854 .1014565 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0016815 .1121186 .3778088 -.2676719 -.0872059 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0014366 -.0297494 .8205402 -.8936390 -.3068572 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0009646 .0144162 .1569332 .1252524 .0684718 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 15 9 6555.3605 1572.5554 518.87112 201.79386 87.860501 40.765381 18.522327 8.9900952 4.3941855 2.1610510 1.0168061 0.4415798 0.1650588 0.0589605 0.021061 .0025781 .0011867 .0004945 -.0001149 .00000000 .00000000 .00000000 .00000000 .00000000 .0205342 .0095279 .0039733 -.0009222 .00000000 .00000000 .00000000 .00000000 .00000000 .0947403 .0456649 .0191961 -.0044678 .00000000 .00000000 .00000000 .00000000 .00000000 .2672822 .1359994 .0577300 -.0134276 .00000000 .00000000 .00000000 .00000000 .00000000 .4214396 .2349656 .1019275 -.0238707 .00000000 .00000000 .00000000 .00000000 .00000000 .3077676 .1051300 .0373197 -.0082584 .00000000 .00000000 .00000000 .00000000 .00000000 .0666156 -.3751055 -.2223105 .0538259 .00000000 .00000000 .00000000 .00000000 .00000000 -.0015574 -.5650153 -.3848178 .0974260 .00000000 .00000000 .00000000 .00000000 .00000000 .0018794 -.1915481 .0581870 -.0292863 .00000000 .00000000 .00000000 .00000000 .00000000 -.0010383 -.0106883 .5876685 -.1732536 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 12 6 313.59189 93.029929 34.699209 14.308712 6.2801124 2.7769449 1.1534475 0.4286993 0.44158 0.16506 0.0589605 0.021061 .0168137 .0062995 .00000000 .00000000 .00000000 .00000000 .1119063 .0429247 .00000000 .00000000 .00000000 .00000000 .3339019 .1287688 .00000000 .00000000 .00000000 .00000000 .4721659 .1719142 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2617913 .0260230 .00000000 .00000000 .00000000 .00000000 .0367596 .4047028 .00000000 .00000000 .00000000 .00000000 .0012999 .5088044 .00000000 .00000000 .00000000 .00000000 -.0001541 .2294249 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .12519 .00000000 .00000000 .00000000 .00000000 .00000000 1.15562 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .19425 .00000000 .00000000 .00000000 .00000000 .00000000 .12250 4 2 6.28011 2.77694 1.15345 0.42870 .01038 .00000000 .24286 .00000000 .00000000 .47375 .00000000 .35040 ********************************************************************* /Sb.Pol.Sadlej.19s15p12d4f.11s9p6d2f. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1991). ********************************************************************* * Antimony atom * * Basis set for electric properties * ********************************************************************* a 51 * 19 11 937375.11 141220.76 32433.012 9334.5594 3122.3022 1169.7278 479.56797 210.71500 80.254076 36.187742 13.164129 6.8895312 2.7977351 1.4606731 0.6514449 0.4579382 0.1806266 0.0783207 0.033960 -.0003163 .0001026 -.0000453 .0000199 .0000062 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0024307 .0007873 -.0003483 .0001533 .0000476 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0123809 .0040585 -.0017927 .0007891 .0002450 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0484525 .0161443 -.0071806 .0031619 .0009813 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.1468909 .0526207 -.0234931 .0103682 .0032221 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.3192445 .1311856 -.0603530 .0267424 .0083057 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.4007104 .2338806 -.1115674 .0499946 .0155953 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.2012277 .1340401 -.0733613 .0334858 .0104084 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0183861 -.4734877 .3487065 -.1694917 -.0534133 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0030423 -.6225744 .6395280 -.3436074 -.1113060 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0017135 -.1128803 -.4086383 .3052706 .1069484 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0014370 .0312486 -.8180623 .9094680 .3333489 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0010430 -.0167245 -.1329101 -.2615642 -.1329571 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 . 1. 15 9 6754.9329 1629.8164 541.11515 211.37093 92.398824 43.035643 19.780810 9.6201993 4.7016732 2.3339768 1.0999764 0.4623662 0.1851735 0.0687746 0.025543 .0026221 -.0012131 -.0005139 .0001328 .00000000 .00000000 .00000000 .00000000 .00000000 .0206143 -.0096238 -.0040820 .0010540 .00000000 .00000000 .00000000 .00000000 .00000000 .0942772 -.0456751 -.0195214 .0050516 .00000000 .00000000 .00000000 .00000000 .00000000 .2651591 -.1358077 -.0586617 .0151841 .00000000 .00000000 .00000000 .00000000 .00000000 .4190345 -.2345223 -.1034238 .0269217 .00000000 .00000000 .00000000 .00000000 .00000000 .3095054 -.1108588 -.0409752 .0101937 .00000000 .00000000 .00000000 .00000000 .00000000 .0688357 .3640495 .2209034 -.0598906 .00000000 .00000000 .00000000 .00000000 .00000000 -.0007617 .5713013 .3954266 -.1112942 .00000000 .00000000 .00000000 .00000000 .00000000 .0015567 .1981136 -.0484394 .0294663 .00000000 .00000000 .00000000 .00000000 .00000000 -.0008689 .0112215 -.5949310 .2010653 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 12 6 331.88981 98.366642 36.798758 15.340436 6.8381205 3.0608489 1.2951671 0.4932548 0.462366 0.185174 0.068775 0.025543 -.0165619 -.0064375 .00000000 .00000000 .00000000 .00000000 -.1111384 -.0442383 .00000000 .00000000 .00000000 .00000000 -.3308190 -.1325055 .00000000 .00000000 .00000000 .00000000 -.4664939 -.1768039 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.2657970 .0199642 .00000000 .00000000 .00000000 .00000000 -.0408344 .4047620 .00000000 .00000000 .00000000 .00000000 -.0011371 .5132661 .00000000 .00000000 .00000000 .00000000 .0000689 .2196904 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .19784 .00000000 .00000000 .00000000 .00000000 .00000000 1.18499 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .16053 .00000000 .00000000 .00000000 .00000000 .00000000 .09176 4 2 6.83812 3.06085 1.29517 0.49325 .007635 .00000000 .231355 .00000000 .00000000 .451003 .00000000 .312806 ********************************************************************* /Te.Pol.Sadlej.19s15p12d4f.11s9p6d2f. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1991). ********************************************************************* * Tellurium atom * * Basis set for electric properties * ********************************************************************* a 52 * 19 11 978822.88 147828.00 34015.467 9798.9016 3276.8736 1226.4017 502.27506 220.57164 83.669102 37.810205 13.574922 7.2966932 2.8917326 1.6043893 0.7881579 0.5553914 0.2212502 0.0913273 0.0376979 -.0003143 .0001021 -.0000453 -.0000202 .0000066 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0024070 .0007806 -.0003469 -.0001546 .0000505 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0122364 .0040170 -.0017813 -.0007940 .0002594 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0478978 .0159735 -.0071372 -.0031826 .0010391 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.1455861 .0522006 -.0233901 -.0104538 .0034180 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.3178680 .1305206 -.0603423 -.0270770 .0088466 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.4013723 .2340650 -.1119595 -.0508166 .0166815 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.2035352 .1357521 -.0749639 -.0346582 .0113307 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0189369 -.4721342 .3513796 .1731847 -.0574438 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0032727 -.6236111 .6394285 .3489708 -.1192071 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0019592 -.1172671 -.4122502 -.3179603 .1183222 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0017045 .0368232 -.8055617 -.9051359 .3500455 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0014090 -.0222932 -.1583094 .2407511 -.1312831 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 15 9 7003.1556 1694.6925 564.80973 220.99327 96.942841 45.224205 21.038604 10.214355 4.9427469 2.4813817 1.1921537 0.5195231 0.2167987 0.0802522 0.0297069 .0026412 .0012279 -.0005282 -.0001480 .00000000 .00000000 .00000000 .00000000 .00000000 .0205837 .0096659 -.0041652 -.0011673 .00000000 .00000000 .00000000 .00000000 .00000000 .0938945 .0457054 -.0198392 -.0055669 .00000000 .00000000 .00000000 .00000000 .00000000 .2636880 .1359368 -.0596812 -.0167761 .00000000 .00000000 .00000000 .00000000 .00000000 .4171862 .2342577 -.1049086 -.0295902 .00000000 .00000000 .00000000 .00000000 .00000000 .3112651 .1160592 -.0443706 -.0121399 .00000000 .00000000 .00000000 .00000000 .00000000 .0694667 -.3566303 .2211556 .0656478 .00000000 .00000000 .00000000 .00000000 .00000000 .0007714 -.5796918 .4076291 .1240375 .00000000 .00000000 .00000000 .00000000 .00000000 .0007236 -.2012531 -.0513357 -.0323610 .00000000 .00000000 .00000000 .00000000 .00000000 -.0004106 -.0089392 -.5998766 -.2275135 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 12 6 347.73554 103.87251 39.238498 16.482706 7.3994044 3.3493018 1.4435871 0.5601709 0.519523 0.216799 0.080252 0.029707 .0165234 .0066361 .00000000 .00000000 .00000000 .00000000 .1093631 .0449861 .00000000 .00000000 .00000000 .00000000 .3249199 .1346119 .00000000 .00000000 .00000000 .00000000 .4645236 .1825784 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2708094 .0146096 .00000000 .00000000 .00000000 .00000000 .0436736 .4044130 .00000000 .00000000 .00000000 .00000000 .0012780 .5164642 .00000000 .00000000 .00000000 .00000000 -.0000716 .2123596 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .216264 .00000000 .00000000 .00000000 .00000000 .00000000 1.125548 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .147472 .00000000 .00000000 .00000000 .00000000 .00000000 .071054 4 2 7.399404 3.349302 1.443587 0.560171 .005371 .00000000 .220977 .00000000 .00000000 .429852 .00000000 .283734 ********************************************************************* /I.Pol.Sadlej.19s15p12d4f.11s9p6d2f. #A. J. Sadlej, Theor. Chim. Acta, xx, xxx (1991). ********************************************************************* * Iodine atom * * Basis set for electric properties * ********************************************************************* a 53 * 19 11 1024924.8 154843.13 35646.336 10272.630 3434.4769 1284.4313 525.64189 230.74127 87.255217 39.494464 14.254520 7.6466089 3.0500598 1.7326181 0.8768236 0.6349930 0.2564976 0.1061169 0.0439022 -.0003112 .0001012 -.0000451 -.0000203 .0000069 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0023822 .0007736 -.0003451 -.0001556 .0000529 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0121028 .0039784 -.0017715 -.0007992 .0002719 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0473906 .0158201 -.0070961 -.0032017 .0010883 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.1443574 .0517979 -.0233084 -.0105449 .0035900 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.3164481 .1298812 -.0602625 -.0273582 .0093065 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.4018988 .2340313 -.1124651 -.0516988 .0176738 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.2058581 .1378589 -.0761724 -.0355751 .0121096 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0195178 -.4704590 .3515680 .1753485 -.0605902 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0035105 -.6244144 .6449758 .3578347 -.1275278 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0021503 -.1186834 -.4140994 -.3285772 .1280144 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0019077 .0377119 -.8084290 -.9202006 .3725377 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 -.0017174 -.0247635 -.1559773 .2478261 -.1394091 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 15 9 7299.0410 1767.8671 590.09433 231.49387 101.73176 47.569119 22.275404 10.840897 5.2379498 2.5466334 1.2106848 0.5744092 0.2465331 0.0913532 0.0338511 .0026316 .0012293 .0005366 .0001599 .00000000 .00000000 .00000000 .00000000 .00000000 .0204925 .0096738 .0042285 .0012612 .00000000 .00000000 .00000000 .00000000 .00000000 .0932057 .0455881 .0200867 .0059946 .00000000 .00000000 .00000000 .00000000 .00000000 .2616339 .1356119 .0603974 .0180769 .00000000 .00000000 .00000000 .00000000 .00000000 .4158847 .2345662 .1067446 .0320064 .00000000 .00000000 .00000000 .00000000 .00000000 .3128182 .1201292 .0467467 .0137283 .00000000 .00000000 .00000000 .00000000 .00000000 .0714857 -.3495375 -.2201150 -.0700630 .00000000 .00000000 .00000000 .00000000 .00000000 .0010960 -.5837640 -.4207903 -.1360543 .00000000 .00000000 .00000000 .00000000 .00000000 .0006345 -.2062012 .0628580 .0381252 .00000000 .00000000 .00000000 .00000000 .00000000 -.0003811 -.8572306 .6434501 .2700960 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 .0 1. .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 1. .0 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .0 1. 12 6 370.37639 109.71047 41.199216 17.284607 7.8154415 3.7428153 1.6595878 0.6526591 0.574409 0.246533 0.091353 0.033851 .0160789 .0066648 .00000000 .00000000 .00000000 .00000000 .1091329 .0461780 .00000000 .00000000 .00000000 .00000000 .3277467 .1405037 .00000000 .00000000 .00000000 .00000000 .4658406 .1865116 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .2640157 .0108920 .00000000 .00000000 .00000000 .00000000 .0438970 .3827473 .00000000 .00000000 .00000000 .00000000 .0030830 .5259328 .00000000 .00000000 .00000000 .00000000 -.0004230 .2222319 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .248065 .00000000 .00000000 .00000000 .00000000 .00000000 1.072953 .00000000 .00000000 .00000000 .00000000 .00000000 .00000000 .136634 .00000000 .00000000 .00000000 .00000000 .00000000 .054360 4 2 7.815442 3.742815 1.659588 0.652659 .003896 .00000000 .197839 .00000000 .00000000 .408254 .00000000 .275083 ********************************************************************* ergo-3.5/basis/aug-cc-pV(6+d)Z0000664000175000017500000011623612743400275012603 00000000000000$ Basis = aug-cc-pV(6+d)Z $ $ Supported Elements $ Al Si P S Cl Ar $ $ REFERENCES $ Elements References $ -------- ---------- $ Al - Ar: T. H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys., 114, 2944 (2001). $ $ Polarization and/or diffuse functions $ Elements References $ -------- --------- $ Al- Ar: T.H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys., 114, 9244 (2001) $ ************************************************************************ a 13 $ ALUMINUM (21s,14p,6d,4f,3g,2h,1i) -> [8s,7p,6d,4f,3g,2h,1i] $ ALUMINUM (1s,1p,1d,1f,1g,1h,1i) $ S-TYPE FUNCTIONS 22 9 0 3652000.000 0.00000190 -0.00000050 0.00000010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 546800.00000 0.00001450 -0.00000380 0.00000090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 124500.00000 0.00007620 -0.00001980 0.00000460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35440.00000 0.00031580 -0.00008210 0.00001900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11840.00000 0.00109740 -0.00028580 0.00006590 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4434.00000000 0.00336970 -0.00087850 0.00020310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1812.00000000 0.00932220 -0.00244820 0.00056470 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 791.50000000 0.02379920 -0.00631000 0.00146200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 361.00000000 0.05681910 -0.01548540 0.00357940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 169.50000000 0.12246800 -0.03495890 0.00815160 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 81.68000000 0.22389700 -0.07077290 0.01652760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 40.28000000 0.31344600 -0.11942300 0.02854670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.25000000 0.27497500 -0.14884200 0.03614840 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.23000000 0.11056400 -0.05904650 0.01538040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.80200000 0.01192150 0.21669300 -0.06121410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.33900000 0.00065280 0.47655700 -0.15126300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.16300000 0.00047350 0.37559000 -0.22301200 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.58820000 -0.00002700 0.08665810 -0.08328640 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.23110000 0.00001760 0.00243370 0.38683000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.10270000 -0.00001030 -0.00023910 0.59043200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.04521000 0.00000190 0.00011980 0.21007500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01737000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 8 0 2884.00000000 0.00006380 -0.00000800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 683.20000000 0.00056310 -0.00006510 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 222.00000000 0.00316910 -0.00039990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 84.82000000 0.01324010 -0.00153690 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.81000000 0.04334030 -0.00556440 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.22000000 0.11195000 -0.01311060 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.70200000 0.21779600 -0.02972000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.74100000 0.31167500 -0.03471950 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.83100000 0.31672200 -0.05516210 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.88780000 0.17961300 -0.00216990 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.39890000 0.03151090 0.02515620 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.17180000 0.00007280 0.31722700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.07298000 0.00065930 0.09778030 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.03069000 -0.00014140 0.71634400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01021000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 4.24000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.85000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.74900000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.35000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.15600000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06610000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02370000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 0.87560000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.44720000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.22840000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11670000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04625000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 0.69520000 1.00000000 0.00000000 0.00000000 0.00000000 0.37710000 0.00000000 1.00000000 0.00000000 0.00000000 0.20460000 0.00000000 0.00000000 1.00000000 0.00000000 0.08545000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 3 3 0 0.65600000 1.00000000 0.00000000 0.00000000 0.33000000 0.00000000 1.00000000 0.00000000 0.16550000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 2 2 0 0.53020000 1.00000000 0.00000000 0.29900000 0.00000000 1.00000000 a 14 $ SILICON (21s,14p,6d,4f,3g,2h,1i) -> [8s,7p,6d,4f,3g,2h,1i] $ SILICON (1s,1p,1d,1f,1g,1h,1i) $ S-TYPE FUNCTIONS 22 9 0 4465000.000 0.00000170 -0.00000050 0.00000010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 668500.00000 0.00001360 -0.00000360 0.00000090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 152200.00000 0.00007140 -0.00001900 0.00000490 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43300.00000 0.00029730 -0.00007910 0.00002030 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14410.00000 0.00103830 -0.00027690 0.00007090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5394.00000000 0.00317470 -0.00084720 0.00021720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2212.00000000 0.00873240 -0.00234780 0.00060130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 968.10000000 0.02238300 -0.00607050 0.00155910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 441.20000000 0.05372730 -0.01497110 0.00384430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 207.10000000 0.11664900 -0.03397290 0.00877970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 99.80000000 0.21597800 -0.06945840 0.01803880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.24000000 0.30956600 -0.11900100 0.03152240 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24.74000000 0.28394500 -0.15364500 0.04169050 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.47000000 0.12223200 -0.07046840 0.02009730 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.79500000 0.01419520 0.21314900 -0.06674840 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.83000000 0.00031210 0.49159600 -0.18190600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.40700000 0.00061900 0.37831000 -0.26029500 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.69950000 -0.00012750 0.07575240 -0.05442000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.30830000 0.00005060 0.00158400 0.42984500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.13850000 -0.00002790 0.00034350 0.57876300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06145000 0.00000540 0.00005930 0.18973500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02539000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 8 0 3572.00000000 0.00005990 -0.00001280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 846.00000000 0.00052960 -0.00011260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 274.80000000 0.00299580 -0.00064020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 105.00000000 0.01263350 -0.00270290 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 44.35000000 0.04190440 -0.00907890 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.08000000 0.11025900 -0.02423480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.53000000 0.21883100 -0.04934600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.63400000 0.31782800 -0.07258590 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.28000000 0.31942500 -0.08042580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.11600000 0.17063400 -0.02760760 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.49910000 0.02683420 0.17014800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.22540000 -0.00030200 0.41115800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.10010000 0.00079320 0.42507000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.04332000 -0.00011870 0.14478900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01694000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 6.82500000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.76300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.83500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.50700000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.23200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09770000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 1.35100000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.66000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.32250000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.15750000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06884000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 0.85280000 1.00000000 0.00000000 0.00000000 0.00000000 0.46310000 0.00000000 1.00000000 0.00000000 0.00000000 0.25150000 0.00000000 0.00000000 1.00000000 0.00000000 0.11640000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 3 3 0 0.85570000 1.00000000 0.00000000 0.00000000 0.42310000 0.00000000 1.00000000 0.00000000 0.23510000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 2 2 0 0.69460000 1.00000000 0.00000000 0.42710000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (21s,14p,6d,4f,3g,2h,1i) -> [8s,7p,6d,4f,3g,2h,1i] $ PHOSPHORUS (1s,1p,1d,1f,1g,1h,1i) $ S-TYPE FUNCTIONS 22 9 0 5384000.000 0.00000160 -0.00000040 0.00000010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 806200.00000 0.00001280 -0.00000350 0.00000100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 183600.00000 0.00006720 -0.00001830 0.00000500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52250.00000 0.00027970 -0.00007590 0.00002090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17390.00000 0.00097670 -0.00026570 0.00007300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6523.00000000 0.00296840 -0.00080800 0.00022210 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2687.00000000 0.00812400 -0.00222730 0.00061220 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1178.00000000 0.02092000 -0.00578330 0.00159180 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 536.20000000 0.05055900 -0.01434380 0.00395340 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 251.50000000 0.11047900 -0.03270610 0.00905720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 121.30000000 0.20695700 -0.06737160 0.01879090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 59.88000000 0.30473700 -0.11764700 0.03338310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 30.05000000 0.29295200 -0.15728000 0.04594840 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.12000000 0.13556100 -0.08385440 0.02552400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.01000000 0.01732080 0.19971800 -0.06694960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.44100000 -0.00003520 0.49860500 -0.20364500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.71200000 0.00080330 0.38981500 -0.28722800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.83370000 -0.00024380 0.07434100 -0.03382110 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.39120000 0.00009870 0.00073800 0.45448200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.17770000 -0.00005120 0.00092760 0.56879100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07939000 0.00001010 -0.00000170 0.17859000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03228000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 8 0 4552.00000000 0.00005200 -0.00001240 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1078.00000000 0.00046040 -0.00010940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 350.10000000 0.00262080 -0.00062560 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 133.80000000 0.01118730 -0.00267340 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56.52000000 0.03782290 -0.00915520 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.58000000 0.10211600 -0.02509930 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.14000000 0.21031400 -0.05318100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.90200000 0.31738300 -0.08158880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.91000000 0.32716500 -0.09197250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.43500000 0.17768700 -0.02926680 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.65700000 0.02935800 0.18799600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.30050000 -0.00007680 0.42719100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.13400000 0.00067200 0.41014600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.05783000 -0.00011680 0.12646500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02197000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 9.47300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.48200000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.08800000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.69200000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.31900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05070000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 1.81600000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.88060000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.42700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.20700000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08710000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 1.06160000 1.00000000 0.00000000 0.00000000 0.00000000 0.57910000 0.00000000 1.00000000 0.00000000 0.00000000 0.31590000 0.00000000 0.00000000 1.00000000 0.00000000 0.14700000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 3 3 0 1.08500000 1.00000000 0.00000000 0.00000000 0.52770000 0.00000000 1.00000000 0.00000000 0.28740000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 2 2 0 0.88900000 1.00000000 0.00000000 0.51510000 0.00000000 1.00000000 a 16 $ SULFUR (21s,14p,6d,4f,3g,2h,1i) -> [8s,7p,6d,4f,3g,2h,1i] $ SULFUR (1s,1p,1d,1f,1g,1h,1i) $ S-TYPE FUNCTIONS 22 9 0 6297000.000 0.00000160 -0.00000040 0.00000010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 943100.00000 0.00001240 -0.00000340 0.00000100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 214900.00000 0.00006490 -0.00001790 0.00000520 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 61250.00000 0.00026930 -0.00007440 0.00002160 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20450.00000 0.00093470 -0.00025870 0.00007510 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7719.00000000 0.00280830 -0.00077770 0.00022580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3198.00000000 0.00767400 -0.00213960 0.00062170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1402.00000000 0.01988980 -0.00559060 0.00162510 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 637.20000000 0.04825890 -0.01390760 0.00405350 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 298.90000000 0.10575700 -0.03176890 0.00929020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 144.30000000 0.20022300 -0.06593020 0.01945610 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71.21000000 0.30072800 -0.11683200 0.03500400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.73000000 0.29868800 -0.15978700 0.04948970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.97000000 0.14634700 -0.09453220 0.03034430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.34100000 0.02011590 0.18782800 -0.06636610 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.11200000 -0.00024880 0.50468300 -0.22315400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.04500000 0.00090090 0.39954500 -0.30960900 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.97700000 -0.00031780 0.07341170 -0.01121920 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.47660000 0.00013090 -0.00010620 0.48103300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.21850000 -0.00006670 0.00140680 0.55547800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09759000 0.00001250 -0.00002880 0.16354200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03893000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 8 0 5266.00000000 0.00005230 -0.00001330 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1247.00000000 0.00046350 -0.00011790 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 405.00000000 0.00264100 -0.00067590 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 154.80000000 0.01131690 -0.00289730 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 65.38000000 0.03847040 -0.00999800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 29.59000000 0.10433900 -0.02754160 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.04000000 0.21568400 -0.05879430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.82400000 0.32526000 -0.09037610 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.36900000 0.32617800 -0.09998910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.66600000 0.16314600 -0.01097980 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.76810000 0.02389820 0.23273200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.35040000 0.00047380 0.43124900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.15560000 0.00073520 0.37518600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06681000 0.00002240 0.11372900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02648000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 11.53300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.98800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.25900000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.80400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.38000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.16000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06090000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 1.32220000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.73190000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.40510000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.22430000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 1.34730000 1.00000000 0.00000000 0.00000000 0.00000000 0.70090000 0.00000000 1.00000000 0.00000000 0.00000000 0.36470000 0.00000000 0.00000000 1.00000000 0.00000000 0.17990000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 3 3 0 1.28610000 1.00000000 0.00000000 0.00000000 0.61150000 0.00000000 1.00000000 0.00000000 0.34650000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 2 2 0 1.04090000 1.00000000 0.00000000 0.62220000 0.00000000 1.00000000 a 17 $ CHLORINE (21s,14p,6d,4f,3g,2h,1i) -> [8s,7p,6d,4f,3g,2h,1i] $ CHLORINE (1s,1p,1d,1f,1g,1h,1i) $ S-TYPE FUNCTIONS 22 9 0 7733000.000 0.00000143 -0.00000040 0.00000012 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1158000.000 0.00001115 -0.00000312 0.00000095 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 263700.00000 0.00005859 -0.00001643 0.00000497 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75010.00000 0.00024452 -0.00006854 0.00002073 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24890.00000 0.00085829 -0.00024100 0.00007294 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9318.00000000 0.00261019 -0.00073354 0.00022190 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3840.00000000 0.00713784 -0.00201830 0.00061135 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1684.00000000 0.01845640 -0.00526107 0.00159337 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 766.30000000 0.04489440 -0.01309860 0.00398001 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 359.50000000 0.09938220 -0.03017940 0.00919375 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 173.40000000 0.19078200 -0.06318880 0.01943990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 85.61000000 0.29356500 -0.11385900 0.03551870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 42.93000000 0.30647700 -0.16125100 0.05206740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.55000000 0.16220900 -0.10923400 0.03656440 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.05000000 0.02493830 0.16299900 -0.05975000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.97800000 -0.00051314 0.50141300 -0.23164100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.47800000 0.00110241 0.42060700 -0.32984600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.18000000 -0.00043165 0.08192930 -0.01243200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.58280000 0.00017868 -0.00003297 0.49182900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.26680000 -0.00008895 0.00179023 0.55697300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11830000 0.00001662 -0.00003829 0.15849700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04625000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 8 0 6091.00000000 0.00005162 -0.00001393 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1442.00000000 0.00045847 -0.00012332 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 468.30000000 0.00261509 -0.00070755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 179.00000000 0.01125540 -0.00304939 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.61000000 0.03845770 -0.01057520 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.22000000 0.10508100 -0.02940940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.23000000 0.21860300 -0.06322960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.89000000 0.33087400 -0.09818700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.89800000 0.32587900 -0.10587000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.93300000 0.15315900 0.00322887 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.90570000 0.02109100 0.25830600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.41400000 0.00106795 0.43332600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.18360000 0.00082313 0.35450800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07859000 0.00012624 0.10318900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03163000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 14.77200000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.82000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.58300000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.03600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.48800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.20300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07750000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 2.53270000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.24060000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.60770000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.29770000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14650000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 1.53880000 1.00000000 0.00000000 0.00000000 0.00000000 0.80500000 0.00000000 1.00000000 0.00000000 0.00000000 0.42120000 0.00000000 0.00000000 1.00000000 0.00000000 0.21770000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 3 3 0 1.56130000 1.00000000 0.00000000 0.00000000 0.73970000 0.00000000 1.00000000 0.00000000 0.43650000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 2 2 0 1.25720000 1.00000000 0.00000000 0.80740000 0.00000000 1.00000000 a 18 $ ARGON (21s,14p,6d,4f,3g,2h,1i) -> [8s,7p,6d,4f,3g,2h,1i] $ ARGON (1s,1p,1d,1f,1g,1h,1i) $ S-TYPE FUNCTIONS 22 9 0 9149000.000 0.00000130 -0.00000040 0.00000010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1370000.000 0.00001040 -0.00000300 0.00000090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 311900.00000 0.00005490 -0.00001560 0.00000490 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 88650.00000 0.00022960 -0.00006520 0.00002040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 29330.00000 0.00081030 -0.00023040 0.00007200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10930.00000 0.00248530 -0.00070750 0.00022100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4480.00000000 0.00683690 -0.00195730 0.00061250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1962.00000000 0.01761990 -0.00508560 0.00159080 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 894.10000000 0.04287520 -0.01265280 0.00397220 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 419.60000000 0.09548530 -0.02930650 0.00922040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 202.30000000 0.18506400 -0.06177120 0.01963670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 99.84000000 0.28904200 -0.11254100 0.03625700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 50.07000000 0.31016600 -0.16229300 0.05417250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.14000000 0.17218300 -0.11841200 0.04099960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.81000000 0.02852270 0.14614800 -0.05517440 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.88200000 -0.00057570 0.49775200 -0.23875400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.93900000 0.00118120 0.43424000 -0.34526400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.40500000 -0.00048050 0.08907450 -0.01223840 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.69630000 0.00018880 0.00053810 0.49973700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.31880000 -0.00009730 0.00204040 0.55688900 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14100000 0.00001740 -0.00002800 0.15554200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05357000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 15 8 0 7050.00000000 0.00005020 -0.00001400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1669.00000000 0.00044540 -0.00012430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 542.10000000 0.00254800 -0.00071470 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 207.10000000 0.01101550 -0.00309680 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 87.52000000 0.03784900 -0.01079610 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 39.61000000 0.10435500 -0.03035360 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.78000000 0.21933500 -0.06597850 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.13000000 0.33461500 -0.10387700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.51600000 0.32677100 -0.10995600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.24500000 0.14815300 0.01332480 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.06500000 0.01925860 0.27428600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.48850000 0.00055190 0.43493600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.21660000 0.00017690 0.34097700 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09255000 -0.00001690 0.09506840 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03678000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 17.74300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.58000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.88900000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.25200000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.59400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.24700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08980000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 3.05820000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.52920000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.76470000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.38240000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.18300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 1.84500000 1.00000000 0.00000000 0.00000000 0.00000000 0.96570000 0.00000000 1.00000000 0.00000000 0.00000000 0.50550000 0.00000000 0.00000000 1.00000000 0.00000000 0.25550000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 3 3 0 1.87430000 1.00000000 0.00000000 0.00000000 0.88710000 0.00000000 1.00000000 0.00000000 0.52650000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 2 2 0 1.50660000 1.00000000 0.00000000 0.99260000 0.00000000 1.00000000 ergo-3.5/basis/cc-pCVTZ0000775000175000017500000012126212743400275011630 00000000000000$Basis = cc-pCVTZ $Elements supported $H He B C N O F Ne Na Mg Al Si P S Cl Ar $ $ REFERENCE $H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $B - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Na - Mg: Unofficial set from D. Feller. $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $Elements References $-------- ---------- $ B - Na: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989) and D. E. Woon and $ T.H. Dunning, Jr. J. Chem. Phys. 103, 4572 (1995). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ ************************************************************************ a 1 $ HYDROGEN (5s,2p,1d) -> [3s,2p,1d] $ S-TYPE FUNCTIONS 5 3 0 33.8700000 0.00606800 0.00000000 0.00000000 5.0950000 0.04530800 0.00000000 0.00000000 1.1590000 0.20282200 0.00000000 0.00000000 0.3258000 0.50390300 1.00000000 0.00000000 0.1027000 0.38342100 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 1.4070000 1.00000000 0.00000000 0.3880000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.0570000 1.00000000 a 2 $ HELIUM (6s,2p,1d) -> [3s,2p,1d] $ S-TYPE FUNCTIONS 6 3 0 234.0000000 0.00258700 0.00000000 0.00000000 35.1600000 0.01953300 0.00000000 0.00000000 7.9890000 0.09099800 0.00000000 0.00000000 2.2120000 0.27205000 0.00000000 0.00000000 0.6669000 0.47806500 1.00000000 0.00000000 0.2089000 0.30773700 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 3.0440000 1.00000000 0.00000000 0.7580000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.9650000 1.00000000 a 5 $ BORON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ BORON Tight (s,p,d) $ S-TYPE FUNCTIONS 12 6 0 5473.0000000 0.00055500 -0.00011200 0.00000000 0.00000000 0.00000000 0.00000000 820.9000000 0.00429100 -0.00086800 0.00000000 0.00000000 0.00000000 0.00000000 186.8000000 0.02194900 -0.00448400 0.00000000 0.00000000 0.00000000 0.00000000 52.8300000 0.08444100 -0.01768300 0.00000000 0.00000000 0.00000000 0.00000000 17.0800000 0.23855700 -0.05363900 0.00000000 0.00000000 0.00000000 0.00000000 5.9990000 0.43507200 -0.11900500 0.00000000 0.00000000 0.00000000 0.00000000 2.2080000 0.34195500 -0.16582400 0.00000000 0.00000000 0.00000000 0.00000000 0.5879000 0.03685600 0.12010700 1.00000000 0.00000000 0.00000000 0.00000000 0.2415000 -0.00954500 0.59598100 0.00000000 0.00000000 0.00000000 0.00000000 0.0861000 0.00236800 0.41102100 0.00000000 1.00000000 0.00000000 0.00000000 2.9400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 8.3110000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 5 0 12.0500000 0.01311800 0.00000000 0.00000000 0.00000000 0.00000000 2.6130000 0.07989600 0.00000000 0.00000000 0.00000000 0.00000000 0.7475000 0.27727500 0.00000000 0.00000000 0.00000000 0.00000000 0.2385000 0.50427000 1.00000000 0.00000000 0.00000000 0.00000000 0.0769800 0.35368000 0.00000000 1.00000000 0.00000000 0.00000000 6.0160000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 22.8910000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.6610000 1.00000000 0.00000000 0.00000000 0.1990000 0.00000000 1.00000000 0.00000000 13.0150000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.4900000 1.00000000 a 6 $ CARBON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ CARBON Tight (s,p,d) $ S-TYPE FUNCTIONS 12 6 0 8236.0000000 0.00053100 -0.00011300 0.00000000 0.00000000 0.00000000 0.00000000 1235.0000000 0.00410800 -0.00087800 0.00000000 0.00000000 0.00000000 0.00000000 280.8000000 0.02108700 -0.00454000 0.00000000 0.00000000 0.00000000 0.00000000 79.2700000 0.08185300 -0.01813300 0.00000000 0.00000000 0.00000000 0.00000000 25.5900000 0.23481700 -0.05576000 0.00000000 0.00000000 0.00000000 0.00000000 8.9970000 0.43440100 -0.12689500 0.00000000 0.00000000 0.00000000 0.00000000 3.3190000 0.34612900 -0.17035200 0.00000000 0.00000000 0.00000000 0.00000000 0.9059000 0.03937800 0.14038200 1.00000000 0.00000000 0.00000000 0.00000000 0.3643000 -0.00898300 0.59868400 0.00000000 0.00000000 0.00000000 0.00000000 0.1285000 0.00238500 0.39538900 0.00000000 1.00000000 0.00000000 0.00000000 4.2920000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 11.8760000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 5 0 18.7100000 0.01403100 0.00000000 0.00000000 0.00000000 0.00000000 4.1330000 0.08686600 0.00000000 0.00000000 0.00000000 0.00000000 1.2000000 0.29021600 0.00000000 0.00000000 0.00000000 0.00000000 0.3827000 0.50100800 1.00000000 0.00000000 0.00000000 0.00000000 0.1209000 0.34340600 0.00000000 1.00000000 0.00000000 0.00000000 8.7780000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 33.1900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.0970000 1.00000000 0.00000000 0.00000000 0.3180000 0.00000000 1.00000000 0.00000000 14.8390000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.7610000 1.00000000 a 7 $ NITROGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ NITROGEN Tight (s,p,d) $ S-TYPE FUNCTIONS 12 6 0 11420.0000000 0.00052300 -0.00011500 0.00000000 0.00000000 0.00000000 0.00000000 1712.0000000 0.00404500 -0.00089500 0.00000000 0.00000000 0.00000000 0.00000000 389.3000000 0.02077500 -0.00462400 0.00000000 0.00000000 0.00000000 0.00000000 110.0000000 0.08072700 -0.01852800 0.00000000 0.00000000 0.00000000 0.00000000 35.5700000 0.23307400 -0.05733900 0.00000000 0.00000000 0.00000000 0.00000000 12.5400000 0.43350100 -0.13207600 0.00000000 0.00000000 0.00000000 0.00000000 4.6440000 0.34747200 -0.17251000 0.00000000 0.00000000 0.00000000 0.00000000 1.2930000 0.04126200 0.15181400 1.00000000 0.00000000 0.00000000 0.00000000 0.5118000 -0.00850800 0.59994400 0.00000000 0.00000000 0.00000000 0.00000000 0.1787000 0.00238400 0.38746200 0.00000000 1.00000000 0.00000000 0.00000000 5.9520000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 16.2010000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 5 0 26.6300000 0.01467000 0.00000000 0.00000000 0.00000000 0.00000000 5.9480000 0.09176400 0.00000000 0.00000000 0.00000000 0.00000000 1.7420000 0.29868300 0.00000000 0.00000000 0.00000000 0.00000000 0.5550000 0.49848700 1.00000000 0.00000000 0.00000000 0.00000000 0.1725000 0.33702300 0.00000000 1.00000000 0.00000000 0.00000000 11.8710000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 44.8490000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.6540000 1.00000000 0.00000000 0.00000000 0.4690000 0.00000000 1.00000000 0.00000000 14.2000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.0930000 1.00000000 a 8 $ OXYGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ OXYGEN Tight (s,p,d) $ S-TYPE FUNCTIONS 12 6 0 15330.0000000 0.00050800 -0.00011500 0.00000000 0.00000000 0.00000000 0.00000000 2299.0000000 0.00392900 -0.00089500 0.00000000 0.00000000 0.00000000 0.00000000 522.4000000 0.02024300 -0.00463600 0.00000000 0.00000000 0.00000000 0.00000000 147.3000000 0.07918100 -0.01872400 0.00000000 0.00000000 0.00000000 0.00000000 47.5500000 0.23068700 -0.05846300 0.00000000 0.00000000 0.00000000 0.00000000 16.7600000 0.43311800 -0.13646300 0.00000000 0.00000000 0.00000000 0.00000000 6.2070000 0.35026000 -0.17574000 0.00000000 0.00000000 0.00000000 0.00000000 1.7520000 0.04272800 0.16093400 1.00000000 0.00000000 0.00000000 0.00000000 0.6882000 -0.00815400 0.60341800 0.00000000 0.00000000 0.00000000 0.00000000 0.2384000 0.00238100 0.37876500 0.00000000 1.00000000 0.00000000 0.00000000 7.8450000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 21.0320000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 5 0 34.4600000 0.01592800 0.00000000 0.00000000 0.00000000 0.00000000 7.7490000 0.09974000 0.00000000 0.00000000 0.00000000 0.00000000 2.2800000 0.31049200 0.00000000 0.00000000 0.00000000 0.00000000 0.7156000 0.49102600 1.00000000 0.00000000 0.00000000 0.00000000 0.2140000 0.33633700 0.00000000 1.00000000 0.00000000 0.00000000 15.1590000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 57.4370000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.3140000 1.00000000 0.00000000 0.00000000 0.6450000 0.00000000 1.00000000 0.00000000 15.8580000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.4280000 1.00000000 a 9 $ FLUORINE (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ FLUORINE Tight (s,p,d) $ S-TYPE FUNCTIONS 12 6 0 19500.0000000 0.00050700 -0.00011700 0.00000000 0.00000000 0.00000000 0.00000000 2923.0000000 0.00392300 -0.00091200 0.00000000 0.00000000 0.00000000 0.00000000 664.5000000 0.02020000 -0.00471700 0.00000000 0.00000000 0.00000000 0.00000000 187.5000000 0.07901000 -0.01908600 0.00000000 0.00000000 0.00000000 0.00000000 60.6200000 0.23043900 -0.05965500 0.00000000 0.00000000 0.00000000 0.00000000 21.4200000 0.43287200 -0.14001000 0.00000000 0.00000000 0.00000000 0.00000000 7.9500000 0.34996400 -0.17678200 0.00000000 0.00000000 0.00000000 0.00000000 2.2570000 0.04323300 0.17162500 1.00000000 0.00000000 0.00000000 0.00000000 0.8815000 -0.00789200 0.60504300 0.00000000 0.00000000 0.00000000 0.00000000 0.3041000 0.00238400 0.36951200 0.00000000 1.00000000 0.00000000 0.00000000 9.8120000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 25.9430000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 5 0 43.8800000 0.01666500 0.00000000 0.00000000 0.00000000 0.00000000 9.9260000 0.10447200 0.00000000 0.00000000 0.00000000 0.00000000 2.9300000 0.31726000 0.00000000 0.00000000 0.00000000 0.00000000 0.9132000 0.48734300 1.00000000 0.00000000 0.00000000 0.00000000 0.2672000 0.33460400 0.00000000 1.00000000 0.00000000 0.00000000 18.7560000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 71.3480000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.1070000 1.00000000 0.00000000 0.00000000 0.8550000 0.00000000 1.00000000 0.00000000 19.1080000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.9170000 1.00000000 a 10 $ NEON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ NEON Tight (s,p,d) $ S-TYPE FUNCTIONS 12 6 0 24350.0000000 0.00050200 -0.00011800 0.00000000 0.00000000 0.00000000 0.00000000 3650.0000000 0.00388100 -0.00091500 0.00000000 0.00000000 0.00000000 0.00000000 829.6000000 0.01999700 -0.00473700 0.00000000 0.00000000 0.00000000 0.00000000 234.0000000 0.07841800 -0.01923300 0.00000000 0.00000000 0.00000000 0.00000000 75.6100000 0.22967600 -0.06036900 0.00000000 0.00000000 0.00000000 0.00000000 26.7300000 0.43272200 -0.14250800 0.00000000 0.00000000 0.00000000 0.00000000 9.9270000 0.35064200 -0.17771000 0.00000000 0.00000000 0.00000000 0.00000000 2.8360000 0.04391100 0.17735200 1.00000000 0.00000000 0.00000000 0.00000000 1.1020000 -0.00764500 0.60583600 0.00000000 0.00000000 0.00000000 0.00000000 0.3782000 0.00237500 0.36510900 0.00000000 1.00000000 0.00000000 0.00000000 12.0830000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 31.9470000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 5 0 54.7000000 0.01715100 0.00000000 0.00000000 0.00000000 0.00000000 12.4300000 0.10765600 0.00000000 0.00000000 0.00000000 0.00000000 3.6790000 0.32168100 0.00000000 0.00000000 0.00000000 0.00000000 1.1430000 0.48523200 1.00000000 0.00000000 0.00000000 0.00000000 0.3300000 0.33258400 0.00000000 1.00000000 0.00000000 0.00000000 22.8270000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 87.0170000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 4.0140000 1.00000000 0.00000000 0.00000000 1.0960000 0.00000000 1.00000000 0.00000000 23.1680000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 2.5440000 1.00000000 a 11 $ SODIUM (16s,10p,2d,1f) -> [5s,4p,2d,1f] $ SODIUM Tight (s,p,d,f) $ S-TYPE FUNCTIONS 18 7 0 423000.00000 0.00001806 -0.00000441 0.00000066 0.00000000 0.00000000 0.00000000 0.00000000 63340.00000 0.00014043 -0.00003434 0.00000516 0.00000000 0.00000000 0.00000000 0.00000000 14410.00000 0.00073844 -0.00018011 0.00002712 0.00000000 0.00000000 0.00000000 0.00000000 4077.00000000 0.00311182 -0.00076390 0.00011464 0.00000000 0.00000000 0.00000000 0.00000000 1328.00000000 0.01120810 -0.00275248 0.00041512 0.00000000 0.00000000 0.00000000 0.00000000 478.60000000 0.03528280 -0.00886016 0.00132978 0.00000000 0.00000000 0.00000000 0.00000000 186.20000000 0.09598970 -0.02479390 0.00375595 0.00000000 0.00000000 0.00000000 0.00000000 76.92000000 0.21373500 -0.06059950 0.00914025 0.00000000 0.00000000 0.00000000 0.00000000 33.32000000 0.34868800 -0.11644600 0.01798590 0.00000000 0.00000000 0.00000000 0.00000000 15.00000000 0.32456600 -0.16243700 0.02514770 0.00000000 0.00000000 0.00000000 0.00000000 6.86900000 0.11263300 -0.04388910 0.00763522 0.00000000 0.00000000 0.00000000 0.00000000 2.68300000 0.00706797 0.33791700 -0.06145890 0.00000000 0.00000000 0.00000000 0.00000000 1.10900000 0.00059801 0.56134700 -0.11572100 0.00000000 0.00000000 0.00000000 0.00000000 0.45400000 0.00020413 0.24524000 -0.15890600 1.00000000 0.00000000 0.00000000 0.00000000 0.06015000 -0.00000531 0.00406754 0.62640600 0.00000000 0.00000000 0.00000000 0.00000000 0.02382000 0.00000183 -0.00126746 0.47540200 0.00000000 1.00000000 0.00000000 0.00000000 4.18900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.62600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 243.30000000 0.00224392 -0.00022240 0.00000000 0.00000000 0.00000000 0.00000000 57.39000000 0.01739970 -0.00174277 0.00000000 0.00000000 0.00000000 0.00000000 18.10000000 0.07741250 -0.00775456 0.00000000 0.00000000 0.00000000 0.00000000 6.57500000 0.21910200 -0.02251870 0.00000000 0.00000000 0.00000000 0.00000000 2.52100000 0.37852200 -0.03843300 0.00000000 0.00000000 0.00000000 0.00000000 0.96070000 0.39490200 -0.04501770 0.00000000 0.00000000 0.00000000 0.00000000 0.35120000 0.16042400 -0.01921320 0.00000000 0.00000000 0.00000000 0.00000000 0.09827000 0.00233311 0.18269700 0.00000000 0.00000000 0.00000000 0.00000000 0.03734000 0.00199536 0.55789700 1.00000000 0.00000000 0.00000000 0.00000000 0.01500000 -0.00077734 0.37302200 0.00000000 1.00000000 0.00000000 0.00000000 1.56900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.51200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.13670000 1.00000000 0.00000000 0.00000000 0.00000000 0.06360000 0.00000000 1.00000000 0.00000000 0.00000000 5.40400000 0.00000000 0.00000000 1.00000000 0.00000000 1.53000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.13970000 1.00000000 0.00000000 3.46500000 0.00000000 1.00000000 a 12 $ MAGNESIUM (15s,10p,2d,1f) -> [5s,4p,2d,1f] $ MAGNESIUM Tight (s,p,d,f) $ S-TYPE FUNCTIONS 17 7 0 164900.00000 0.00007299 -0.00001842 0.00000355 0.00000000 0.00000000 0.00000000 0.00000000 24710.00000 0.00056665 -0.00014350 0.00002764 0.00000000 0.00000000 0.00000000 0.00000000 5628.00000000 0.00296269 -0.00074871 0.00014440 0.00000000 0.00000000 0.00000000 0.00000000 1596.00000000 0.01229620 -0.00314407 0.00060574 0.00000000 0.00000000 0.00000000 0.00000000 521.00000000 0.04273240 -0.01104810 0.00213527 0.00000000 0.00000000 0.00000000 0.00000000 188.00000000 0.12301300 -0.03360580 0.00649934 0.00000000 0.00000000 0.00000000 0.00000000 73.01000000 0.27483200 -0.08259460 0.01614460 0.00000000 0.00000000 0.00000000 0.00000000 29.90000000 0.40181800 -0.15931400 0.03157660 0.00000000 0.00000000 0.00000000 0.00000000 12.54000000 0.26469700 -0.15288800 0.03163740 0.00000000 0.00000000 0.00000000 0.00000000 4.30600000 0.03326120 0.19084900 -0.04391400 0.00000000 0.00000000 0.00000000 0.00000000 1.82600000 -0.00441335 0.57996400 -0.15109300 0.00000000 0.00000000 0.00000000 0.00000000 0.74170000 0.00206024 0.37202900 -0.21766800 0.00000000 0.00000000 0.00000000 0.00000000 0.14570000 -0.00083847 0.02116910 0.25980700 1.00000000 0.00000000 0.00000000 0.00000000 0.07612000 0.00070820 -0.01193440 0.54724500 0.00000000 0.00000000 0.00000000 0.00000000 0.03310000 -0.00020060 0.00277329 0.32591000 0.00000000 1.00000000 0.00000000 0.00000000 17.51600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 3.87000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 6 0 316.90000000 0.00207532 -0.00032973 0.00000000 0.00000000 0.00000000 0.00000000 74.86000000 0.01628690 -0.00258754 0.00000000 0.00000000 0.00000000 0.00000000 23.72000000 0.07386970 -0.01191200 0.00000000 0.00000000 0.00000000 0.00000000 8.66900000 0.21429700 -0.03502270 0.00000000 0.00000000 0.00000000 0.00000000 3.36300000 0.38215400 -0.06399680 0.00000000 0.00000000 0.00000000 0.00000000 1.31000000 0.39817800 -0.07044360 0.00000000 0.00000000 0.00000000 0.00000000 0.49110000 0.15287800 -0.03758360 0.00000000 0.00000000 0.00000000 0.00000000 0.23640000 -0.00437540 0.17704300 0.00000000 0.00000000 0.00000000 0.00000000 0.08733000 0.00629582 0.56670700 1.00000000 0.00000000 0.00000000 0.00000000 0.03237000 -0.00156769 0.39614300 0.00000000 1.00000000 0.00000000 0.00000000 20.29700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 5.10500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.12600000 1.00000000 0.00000000 0.00000000 0.00000000 0.29400000 0.00000000 1.00000000 0.00000000 0.00000000 7.02900000 0.00000000 0.00000000 1.00000000 0.00000000 2.12100000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.25200000 1.00000000 0.00000000 4.53000000 0.00000000 1.00000000 a 13 $ ALUMINUM (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ ALUMINUM Tight (2s,2p,2d,1f) $ S-TYPE FUNCTIONS 17 7 0 205500.00000 0.00006788 -0.00001764 0.00000407 0.00000000 0.00000000 0.00000000 0.00000000 30780.00000 0.00052715 -0.00013720 0.00003166 0.00000000 0.00000000 0.00000000 0.00000000 7006.00000000 0.00276203 -0.00071891 0.00016612 0.00000000 0.00000000 0.00000000 0.00000000 1985.00000000 0.01147280 -0.00301146 0.00069499 0.00000000 0.00000000 0.00000000 0.00000000 649.10000000 0.03981880 -0.01060140 0.00245511 0.00000000 0.00000000 0.00000000 0.00000000 235.00000000 0.11504000 -0.03213450 0.00744598 0.00000000 0.00000000 0.00000000 0.00000000 91.62000000 0.26088700 -0.08031560 0.01882530 0.00000000 0.00000000 0.00000000 0.00000000 37.67000000 0.39638600 -0.15679400 0.03727720 0.00000000 0.00000000 0.00000000 0.00000000 15.91000000 0.28459700 -0.16837600 0.04194960 0.00000000 0.00000000 0.00000000 0.00000000 5.85000000 0.04445830 0.12687900 -0.03543750 0.00000000 0.00000000 0.00000000 0.00000000 2.54200000 -0.00489838 0.56149400 -0.17513200 0.00000000 0.00000000 0.00000000 0.00000000 1.05700000 0.00261253 0.43661300 -0.27620300 0.00000000 0.00000000 0.00000000 0.00000000 0.29310000 -0.00108915 0.03572930 0.10872900 1.00000000 0.00000000 0.00000000 0.00000000 0.14550000 0.00072207 -0.01145630 0.65280900 0.00000000 0.00000000 0.00000000 0.00000000 0.05650000 -0.00017849 0.00220201 0.39458700 0.00000000 1.00000000 0.00000000 0.00000000 7.48800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 1.27200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 444.40000000 0.00162786 -0.00028634 0.00000000 0.00000000 0.00000000 0.00000000 105.10000000 0.01306870 -0.00242308 0.00000000 0.00000000 0.00000000 0.00000000 33.47000000 0.06123410 -0.01086580 0.00000000 0.00000000 0.00000000 0.00000000 12.33000000 0.18787000 -0.03643070 0.00000000 0.00000000 0.00000000 0.00000000 4.86900000 0.36045200 -0.06410740 0.00000000 0.00000000 0.00000000 0.00000000 1.96100000 0.40845400 -0.09722390 0.00000000 0.00000000 0.00000000 0.00000000 0.78340000 0.18864000 0.01474370 1.00000000 0.00000000 0.00000000 0.00000000 0.18880000 0.00976514 0.50344800 0.00000000 0.00000000 0.00000000 0.00000000 0.05557000 -0.00115057 0.59798400 0.00000000 1.00000000 0.00000000 0.00000000 2.20200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 5.54800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.10900000 1.00000000 0.00000000 0.00000000 0.00000000 0.33300000 0.00000000 1.00000000 0.00000000 0.00000000 2.63400000 0.00000000 0.00000000 1.00000000 0.00000000 8.64600000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.24400000 1.00000000 0.00000000 5.68600000 0.00000000 1.00000000 a 14 $ SILICON (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ SILICON Tight (2s,2p,2d,1f) $ S-TYPE FUNCTIONS 17 7 0 254900.00000 0.00006251 -0.00001664 0.00000426 0.00000000 0.00000000 0.00000000 0.00000000 38190.00000 0.00048555 -0.00012931 0.00003311 0.00000000 0.00000000 0.00000000 0.00000000 8690.00000000 0.00254516 -0.00067883 0.00017401 0.00000000 0.00000000 0.00000000 0.00000000 2462.00000000 0.01058660 -0.00284117 0.00072757 0.00000000 0.00000000 0.00000000 0.00000000 804.80000000 0.03687870 -0.01005510 0.00258333 0.00000000 0.00000000 0.00000000 0.00000000 291.30000000 0.10747900 -0.03057740 0.00786354 0.00000000 0.00000000 0.00000000 0.00000000 113.60000000 0.24793600 -0.07772560 0.02021550 0.00000000 0.00000000 0.00000000 0.00000000 46.75000000 0.39092700 -0.15423600 0.04073200 0.00000000 0.00000000 0.00000000 0.00000000 19.82000000 0.30202600 -0.18036800 0.04993580 0.00000000 0.00000000 0.00000000 0.00000000 7.70800000 0.05592360 0.07982180 -0.02493960 0.00000000 0.00000000 0.00000000 0.00000000 3.34000000 -0.00402406 0.54744100 -0.19035000 0.00000000 0.00000000 0.00000000 0.00000000 1.40200000 0.00258030 0.48011900 -0.31835000 0.00000000 0.00000000 0.00000000 0.00000000 0.43870000 -0.00103821 0.04748460 0.09480360 1.00000000 0.00000000 0.00000000 0.00000000 0.20700000 0.00060793 -0.01069960 0.68118000 0.00000000 0.00000000 0.00000000 0.00000000 0.07944000 -0.00015402 0.00219871 0.39567200 0.00000000 1.00000000 0.00000000 0.00000000 9.16400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 1.62100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 481.50000000 0.00192045 -0.00040522 0.00000000 0.00000000 0.00000000 0.00000000 113.90000000 0.01535520 -0.00335896 0.00000000 0.00000000 0.00000000 0.00000000 36.23000000 0.07139910 -0.01528600 0.00000000 0.00000000 0.00000000 0.00000000 13.34000000 0.21305200 -0.04892180 0.00000000 0.00000000 0.00000000 0.00000000 5.25200000 0.39035400 -0.08550080 0.00000000 0.00000000 0.00000000 0.00000000 2.12000000 0.39372100 -0.11213700 0.00000000 0.00000000 0.00000000 0.00000000 0.85610000 0.13256500 0.06182740 1.00000000 0.00000000 0.00000000 0.00000000 0.25280000 0.00395630 0.55191900 0.00000000 0.00000000 0.00000000 0.00000000 0.07889000 0.00033162 0.52349200 0.00000000 1.00000000 0.00000000 0.00000000 6.45800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 2.51700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.15900000 1.00000000 0.00000000 0.00000000 0.00000000 0.48100000 0.00000000 1.00000000 0.00000000 0.00000000 10.67100000 0.00000000 0.00000000 1.00000000 0.00000000 3.30800000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.33600000 1.00000000 0.00000000 7.00100000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ PHOSPHORUS Tight (2s,2p,2d,1f) $ S-TYPE FUNCTIONS 17 7 0 312400.00000 0.00005770 -0.00001567 0.00000431 0.00000000 0.00000000 0.00000000 0.00000000 46800.00000 0.00044830 -0.00012172 0.00003342 0.00000000 0.00000000 0.00000000 0.00000000 10650.00000 0.00234939 -0.00063967 0.00017589 0.00000000 0.00000000 0.00000000 0.00000000 3018.00000000 0.00978265 -0.00267426 0.00073434 0.00000000 0.00000000 0.00000000 0.00000000 986.80000000 0.03414670 -0.00949831 0.00261775 0.00000000 0.00000000 0.00000000 0.00000000 357.40000000 0.10020400 -0.02893490 0.00797852 0.00000000 0.00000000 0.00000000 0.00000000 139.60000000 0.23437200 -0.07451210 0.02079400 0.00000000 0.00000000 0.00000000 0.00000000 57.63000000 0.38243400 -0.14993800 0.04244460 0.00000000 0.00000000 0.00000000 0.00000000 24.60000000 0.31808800 -0.18946700 0.05634360 0.00000000 0.00000000 0.00000000 0.00000000 10.12000000 0.07077880 0.03632700 -0.01273580 0.00000000 0.00000000 0.00000000 0.00000000 4.28300000 -0.00181799 0.52881600 -0.19649500 0.00000000 0.00000000 0.00000000 0.00000000 1.80500000 0.00216180 0.51911500 -0.35355500 0.00000000 0.00000000 0.00000000 0.00000000 0.61580000 -0.00083474 0.06055470 0.07414070 1.00000000 0.00000000 0.00000000 0.00000000 0.27820000 0.00043230 -0.00925695 0.70091200 0.00000000 0.00000000 0.00000000 0.00000000 0.10550000 -0.00011425 0.00210372 0.40473900 0.00000000 1.00000000 0.00000000 0.00000000 10.97800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 2.00600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 504.90000000 0.00233728 -0.00055524 0.00000000 0.00000000 0.00000000 0.00000000 119.40000000 0.01854100 -0.00445913 0.00000000 0.00000000 0.00000000 0.00000000 37.96000000 0.08496930 -0.02063500 0.00000000 0.00000000 0.00000000 0.00000000 13.95000000 0.24461500 -0.06176940 0.00000000 0.00000000 0.00000000 0.00000000 5.45700000 0.42276600 -0.10892400 0.00000000 0.00000000 0.00000000 0.00000000 2.17700000 0.36843900 -0.10559900 0.00000000 0.00000000 0.00000000 0.00000000 0.80100000 0.07727340 0.15348300 1.00000000 0.00000000 0.00000000 0.00000000 0.28770000 -0.00379005 0.57698100 0.00000000 0.00000000 0.00000000 0.00000000 0.09714000 0.00159939 0.42243900 0.00000000 1.00000000 0.00000000 0.00000000 7.08400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 2.70100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.21600000 1.00000000 0.00000000 0.00000000 0.00000000 0.65200000 0.00000000 1.00000000 0.00000000 0.00000000 12.89100000 0.00000000 0.00000000 1.00000000 0.00000000 4.05600000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.45200000 1.00000000 0.00000000 8.46200000 0.00000000 1.00000000 a 16 $ SULFUR (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ SULFUR Tight (2s,2p,2d,1f) $ S-TYPE FUNCTIONS 17 7 0 374100.00000 0.00005421 -0.00001498 0.00000435 0.00000000 0.00000000 0.00000000 0.00000000 56050.00000 0.00042085 -0.00011620 0.00003371 0.00000000 0.00000000 0.00000000 0.00000000 12760.00000 0.00220698 -0.00061158 0.00017767 0.00000000 0.00000000 0.00000000 0.00000000 3615.00000000 0.00919258 -0.00255370 0.00074112 0.00000000 0.00000000 0.00000000 0.00000000 1183.00000000 0.03211230 -0.00908708 0.00264591 0.00000000 0.00000000 0.00000000 0.00000000 428.80000000 0.09466830 -0.02770450 0.00807487 0.00000000 0.00000000 0.00000000 0.00000000 167.80000000 0.22363000 -0.07200200 0.02122760 0.00000000 0.00000000 0.00000000 0.00000000 69.47000000 0.37439300 -0.14643900 0.04383230 0.00000000 0.00000000 0.00000000 0.00000000 29.84000000 0.32910800 -0.19515000 0.06127160 0.00000000 0.00000000 0.00000000 0.00000000 12.72000000 0.08470380 0.00819193 -0.00361510 0.00000000 0.00000000 0.00000000 0.00000000 5.24400000 0.00044085 0.51660100 -0.20451000 0.00000000 0.00000000 0.00000000 0.00000000 2.21900000 0.00164827 0.54217800 -0.38187100 0.00000000 0.00000000 0.00000000 0.00000000 0.77670000 -0.00062233 0.06884300 0.08268440 1.00000000 0.00000000 0.00000000 0.00000000 0.34900000 0.00030131 -0.00918072 0.71414700 0.00000000 0.00000000 0.00000000 0.00000000 0.13220000 -0.00008413 0.00226832 0.39379100 0.00000000 1.00000000 0.00000000 0.00000000 12.92800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 2.41300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 574.40000000 0.00242264 -0.00062010 0.00000000 0.00000000 0.00000000 0.00000000 135.80000000 0.01927960 -0.00493882 0.00000000 0.00000000 0.00000000 0.00000000 43.19000000 0.08854010 -0.02326470 0.00000000 0.00000000 0.00000000 0.00000000 15.87000000 0.25465400 -0.06851950 0.00000000 0.00000000 0.00000000 0.00000000 6.20800000 0.43398400 -0.12389600 0.00000000 0.00000000 0.00000000 0.00000000 2.48300000 0.35495300 -0.09694990 0.00000000 0.00000000 0.00000000 0.00000000 0.86880000 0.06189410 0.22821500 1.00000000 0.00000000 0.00000000 0.00000000 0.32290000 -0.00502977 0.56939400 0.00000000 0.00000000 0.00000000 0.00000000 0.10980000 0.00209813 0.36630200 0.00000000 1.00000000 0.00000000 0.00000000 8.11400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 3.10600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.26900000 1.00000000 0.00000000 0.00000000 0.00000000 0.81900000 0.00000000 1.00000000 0.00000000 0.00000000 15.25400000 0.00000000 0.00000000 1.00000000 0.00000000 4.84500000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.55700000 1.00000000 0.00000000 10.05200000 0.00000000 1.00000000 a 17 $ CHLORINE (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ CHLORINE Tight (s,p,d,f) $ S-TYPE FUNCTIONS 17 7 0 456100.00000 0.00004930 -0.00001383 0.00000419 0.00000000 0.00000000 0.00000000 0.00000000 68330.00000 0.00038303 -0.00010728 0.00003244 0.00000000 0.00000000 0.00000000 0.00000000 15550.00000 0.00200854 -0.00056508 0.00017111 0.00000000 0.00000000 0.00000000 0.00000000 4405.00000000 0.00838558 -0.00236135 0.00071418 0.00000000 0.00000000 0.00000000 0.00000000 1439.00000000 0.02947030 -0.00845886 0.00256705 0.00000000 0.00000000 0.00000000 0.00000000 520.40000000 0.08783250 -0.02596380 0.00788552 0.00000000 0.00000000 0.00000000 0.00000000 203.10000000 0.21147300 -0.06863620 0.02108670 0.00000000 0.00000000 0.00000000 0.00000000 83.96000000 0.36536400 -0.14187400 0.04422640 0.00000000 0.00000000 0.00000000 0.00000000 36.20000000 0.34088400 -0.19931900 0.06516700 0.00000000 0.00000000 0.00000000 0.00000000 15.83000000 0.10213300 -0.01956620 0.00603012 0.00000000 0.00000000 0.00000000 0.00000000 6.33400000 0.00311675 0.49974100 -0.20649500 0.00000000 0.00000000 0.00000000 0.00000000 2.69400000 0.00105751 0.56373600 -0.40587100 0.00000000 0.00000000 0.00000000 0.00000000 0.97680000 -0.00037800 0.07903250 0.07595580 1.00000000 0.00000000 0.00000000 0.00000000 0.43130000 0.00015614 -0.00835091 0.72566100 0.00000000 0.00000000 0.00000000 0.00000000 0.16250000 -0.00005141 0.00232456 0.39442300 0.00000000 1.00000000 0.00000000 0.00000000 15.06400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 2.87400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 663.30000000 0.00240448 -0.00065215 0.00000000 0.00000000 0.00000000 0.00000000 156.80000000 0.01921480 -0.00519445 0.00000000 0.00000000 0.00000000 0.00000000 49.98000000 0.08850970 -0.02469380 0.00000000 0.00000000 0.00000000 0.00000000 18.42000000 0.25602000 -0.07281670 0.00000000 0.00000000 0.00000000 0.00000000 7.24000000 0.43692700 -0.13403000 0.00000000 0.00000000 0.00000000 0.00000000 2.92200000 0.35033400 -0.09477420 0.00000000 0.00000000 0.00000000 0.00000000 1.02200000 0.05854950 0.26228900 1.00000000 0.00000000 0.00000000 0.00000000 0.38180000 -0.00458423 0.56466700 0.00000000 0.00000000 0.00000000 0.00000000 0.13010000 0.00226970 0.34125000 0.00000000 1.00000000 0.00000000 0.00000000 9.48000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 3.66800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.04600000 1.00000000 0.00000000 0.00000000 0.00000000 0.34400000 0.00000000 1.00000000 0.00000000 0.00000000 17.95700000 0.00000000 0.00000000 1.00000000 0.00000000 5.76000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.70600000 1.00000000 0.00000000 11.77900000 0.00000000 1.00000000 a 18 $ ARGON (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ ARGON Tight (2s,2p,2d,1f) $ S-TYPE FUNCTIONS 17 7 0 545000.00000 0.00004558 -0.00001296 0.00000405 0.00000000 0.00000000 0.00000000 0.00000000 81640.00000 0.00035411 -0.00010043 0.00003137 0.00000000 0.00000000 0.00000000 0.00000000 18580.00000 0.00185797 -0.00052958 0.00016565 0.00000000 0.00000000 0.00000000 0.00000000 5261.00000000 0.00776851 -0.00221396 0.00069166 0.00000000 0.00000000 0.00000000 0.00000000 1717.00000000 0.02742320 -0.00796845 0.00249790 0.00000000 0.00000000 0.00000000 0.00000000 619.90000000 0.08238360 -0.02458030 0.00771074 0.00000000 0.00000000 0.00000000 0.00000000 241.60000000 0.20123000 -0.06577980 0.02087140 0.00000000 0.00000000 0.00000000 0.00000000 99.79000000 0.35678100 -0.13794200 0.04439650 0.00000000 0.00000000 0.00000000 0.00000000 43.15000000 0.34956300 -0.20163000 0.06802240 0.00000000 0.00000000 0.00000000 0.00000000 19.14000000 0.11826600 -0.04128340 0.01413500 0.00000000 0.00000000 0.00000000 0.00000000 7.48800000 0.00560190 0.48468000 -0.20748900 0.00000000 0.00000000 0.00000000 0.00000000 3.20500000 0.00048347 0.57922400 -0.42504500 0.00000000 0.00000000 0.00000000 0.00000000 1.19600000 -0.00014809 0.08790830 0.07048550 1.00000000 0.00000000 0.00000000 0.00000000 0.52040000 0.00002920 -0.00727553 0.73362700 0.00000000 0.00000000 0.00000000 0.00000000 0.19540000 -0.00002316 0.00232884 0.39600500 0.00000000 1.00000000 0.00000000 0.00000000 17.36200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 3.37800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 761.80000000 0.00236976 -0.00066721 0.00000000 0.00000000 0.00000000 0.00000000 180.20000000 0.01901990 -0.00532717 0.00000000 0.00000000 0.00000000 0.00000000 57.50000000 0.08808070 -0.02554940 0.00000000 0.00000000 0.00000000 0.00000000 21.24000000 0.25637700 -0.07571970 0.00000000 0.00000000 0.00000000 0.00000000 8.38800000 0.43871100 -0.14113300 0.00000000 0.00000000 0.00000000 0.00000000 3.41600000 0.34756900 -0.09327680 0.00000000 0.00000000 0.00000000 0.00000000 1.20600000 0.05667400 0.28287200 1.00000000 0.00000000 0.00000000 0.00000000 0.45230000 -0.00523882 0.56245000 0.00000000 0.00000000 0.00000000 0.00000000 0.15450000 0.00164376 0.32505900 0.00000000 1.00000000 0.00000000 0.00000000 11.01900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 4.30700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.41000000 1.00000000 0.00000000 0.00000000 0.00000000 1.25400000 0.00000000 1.00000000 0.00000000 0.00000000 20.70600000 0.00000000 0.00000000 1.00000000 0.00000000 6.68100000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.89000000 1.00000000 0.00000000 13.67400000 0.00000000 1.00000000 ergo-3.5/basis/Huz-IVsu40000664000175000017500000007650312743400275012021 00000000000000$Basis = Huz-IVsu4 $Elements supported $H C N O F P S $ $ REFERENCE $ a 1 $ HYDROGEN (10s,3p,1d) -> [10s,3p,1d] $ S-TYPE FUNCTIONS 10 10 0 133458.340000 1.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.0 0.0 0.000000000 20062.807000 0.0 1.0 0.0 0.0 0.0 0.000000000 0.0 0.0 0.0 0.000000000 3016.043900 0.0 0.0 1.0 0.0 0.0 0.000000000 0.0 0.0 0.0 0.000000000 453.402200 0.0 0.0 0.0 1.0 0.0 0.000000000 0.0 0.0 0.0 0.000000000 68.160000 0.0 0.0 0.0 0.0 1.0 0.000000000 0.0 0.0 0.0 0.000000000 10.246500 0.0 0.0 0.0 0.0 0.0 1.000000000 0.0 0.0 0.0 0.000000000 2.346480 0.0 0.0 0.0 0.0 0.0 0.000000000 1.0 0.0 0.0 0.000000000 0.673320 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 1.0 0.0 0.000000000 0.224660 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.0 1.0 0.000000000 0.082217 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.0 0.0 1.000000000 $ P-TYPE FUNCTIONS 3 3 0 1.60 1.0 0.0 0.000000000 0.40 0.0 1.0 0.000000000 0.10 0.0 0.0 1.000000000 $ D-TYPE FUNCTIONS 1 1 0 0.65 1.000000000 a 6 $ CARBON (15s,7p,3d,1f) -> [15s,7p,3d,1f] $ S-TYPE FUNCTIONS 15 15 0 33893167.00000 1.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 5024622.100000 0.0 1.0 0.0 0.0 0.0 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 744894.2900000 0.0 0.0 1.0 0.0 0.0 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 110429.7000000 0.0 0.0 0.0 1.0 0.0 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 16371.07400000 0.0 0.0 0.0 0.0 1.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 2426.99250000 0.0 0.0 0.0 0.0 0.0 1.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 544.54418000 0.0 0.0 0.0 0.0 0.0 0.000000000 1.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 150.80487000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 1.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 47.70814300 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 1.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 16.45724100 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 1.0 0.0 0.0 0.000000000 0.0 0.000000000 6.08455780 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 1.0 0.0 0.000000000 0.00000000 0.000000000 2.38246310 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 1.0 0.000000000 0.00000000 0.000000000 0.66198660 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 1.000000000 0.00000000 0.000000000 0.24698997 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 1.00000000 0.000000000 0.09498730 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 1.000000000 $ P-TYPE FUNCTIONS 7 7 0 40.79042300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.50346330 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.94083570 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.07511150 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.42670240 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.17481926 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07113054 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.2 1.0 0.0 0.000000000 0.8 0.0 1.0 0.000000000 0.2 0.0 0.0 1.000000000 $ F-TYPE FUNCTIONS 1 1 0 1.0 1.000000000 a 7 $ NITROGEN (15s,7p,3d,1f) -> [15s,7p,3d,1f] $ S-TYPE FUNCTIONS 15 15 0 47209247.00000 1.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 7034642.900000 0.0 1.0 0.0 0.0 0.0 0.000000000 0.000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 1048231.100000 0.0 0.0 1.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 156196.7700000 0.0 0.0 0.0 1.0 0.0 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 23274.85700000 0.0 0.0 0.0 0.0 1.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 3468.18300000 0.0 0.0 0.0 0.0 0.0 1.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 777.98843000 0.0 0.0 0.0 0.0 0.0 0.000000000 1.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 215.71976000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 1.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 68.07803100 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 1.0 0.0 0.0 0.0 0.000000000 0.0 0.000000000 23.42439700 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 1.0 0.0 0.0 0.000000000 0.0 0.000000000 8.66937660 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 1.0 0.0 0.000000000 0.0 0.000000000 3.42175330 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 1.0 0.000000000 0.0 0.000000000 0.93125652 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 1.000000000 0.0 0.000000000 0.34656886 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 1.0 0.000000000 0.13311530 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 1.000000000 $ P-TYPE FUNCTIONS 7 7 0 60.31724000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.10081100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.38771790 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.60827170 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.63885442 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.26035829 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10396545 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.20000000 1.00000000 0.00000000 0.00000000 0.80000000 0.00000000 1.00000000 0.00000000 0.20000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 8 $ OXYGEN (15s,7p,3d,1f) -> [15s,7p,3d,1f] $ S-TYPE FUNCTIONS 15 15 0 61986673.00000 1.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 9244485.100000 0.0 1.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 1378691.600000 0.0 0.0 1.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 205613.4600000 0.0 0.0 0.0 1.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 30664.50300000 0.0 0.0 0.0 0.0 1.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 4573.20140000 0.0 0.0 0.0 0.0 0.0 1.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 1029.55240000 0.0 0.0 0.0 0.0 0.0 0.000000000 1.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 285.90474000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 1.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 90.36965300 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 1.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 31.21957800 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 1.0 0.0 0.0 0.000000000 0.00000000 0.000000000 11.60776600 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 1.0 0.0 0.000000000 0.00000000 0.000000000 4.59275950 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 1.0 0.000000000 0.00000000 0.000000000 1.27117160 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 1.000000000 0.00000000 0.000000000 0.47214017 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 1.00000000 0.000000000 0.17896534 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 1.000000000 $P-TYPE FUNCTIONS 7 7 0 78.70294300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.40926100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.75308350 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.11071140 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.83712087 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.33907630 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13226310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.20000000 1.00000000 0.00000000 0.00000000 0.80000000 0.00000000 1.00000000 0.00000000 0.20000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 9 $ FLUORINE (15s,7p,3d,1f) -> [15s,7p,3d,1f] $ S-TYPE FUNCTIONS 15 15 0 64579030.00000 1.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 10040553.00000 0.0 1.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 1561074.800000 0.0 0.0 1.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 242711.1800000 0.0 0.0 0.0 1.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 37736.00000000 0.0 0.0 0.0 0.0 1.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 5867.07910000 0.0 0.0 0.0 0.0 0.0 1.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 1332.46790000 0.0 0.0 0.0 0.0 0.0 0.000000000 1.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 369.44060000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 1.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 116.84300000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 1.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 40.34877000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 1.0 0.0 0.0 0.000000000 0.00000000 0.000000000 14.96627000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 1.0 0.0 0.000000000 0.00000000 0.000000000 5.87592950 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 1.0 0.000000000 0.00000000 0.000000000 1.65333520 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 1.000000000 0.00000000 0.000000000 0.61083583 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 1.00000000 0.000000000 0.23328922 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 1.000000000 $ P-TYPE FUNCTIONS 7 7 0 102.26192000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.93838100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.52059140 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.77245660 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.10005140 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.44677512 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.17187009 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.20000000 1.00000000 0.00000000 0.00000000 0.80000000 0.00000000 1.00000000 0.00000000 0.20000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 15 $ PHOSPHORUS (16s,8p,4d,2f) -> [16s,8p,4d,2f] $ S-TYPE FUNCTIONS 16 16 0 154026700.0000 1.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 23068100.00000 0.0 1.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 3454837.200000 0.0 0.0 1.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 517420.1600000 0.0 0.0 0.0 1.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 77492.39800000 0.0 0.0 0.0 0.0 1.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 11605.79400000 0.0 0.0 0.0 0.0 0.0 1.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 2645.96280000 0.0 0.0 0.0 0.0 0.0 0.000000000 1.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 753.97763000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 1.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 248.75403000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 1.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 91.15662300 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 1.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 36.22561800 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 1.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 15.21115500 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 1.0 0.000000000 0.00000000 0.000000000 0.000000000 4.71394850 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 1.000000000 0.00000000 0.000000000 0.000000000 1.78254320 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 1.00000000 0.000000000 0.000000000 0.34271273 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 1.000000000 0.000000000 0.12471095 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 1.000000000 $ P-TYPE FUNCTIONS 8 8 0 447.03882000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.29827000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.76738800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.58337900 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.69885490 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.75275990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.42209549 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.12532092 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 9.60000000 1.00000000 0.00000000 0.00000000 0.00000000 2.40 0.00000000 1.00000000 0.00000000 0.00000000 0.60 0.00000000 0.00000000 1.00000000 0.00000000 0.15 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.50000000 1.0 0.00000000 0.5 0.00000000 1.00000000 a 16 $ SULFUR (16s,8p,4d,2f) -> [16s,8p,4d,2f] $ S-TYPE FUNCTIONS 16 16 0 197259100.0000 1.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 29158748.00000 0.0 1.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 4310230.500000 0.0 0.0 1.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 637135.9700000 0.0 0.0 0.0 1.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 94181.10000000 0.0 0.0 0.0 0.0 1.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 13921.80000000 0.0 0.0 0.0 0.0 0.0 1.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 3168.04000000 0.0 0.0 0.0 0.0 0.0 0.000000000 1.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 901.84300000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 1.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 296.95400000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 1.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 108.66900000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 1.0 0.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 43.15790000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 1.0 0.0 0.000000000 0.00000000 0.000000000 0.000000000 18.11680000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 1.0 0.000000000 0.00000000 0.000000000 0.000000000 5.57096000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 1.000000000 0.00000000 0.000000000 0.000000000 2.14287000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 1.00000000 0.000000000 0.000000000 0.43438900 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 1.000000000 0.000000000 0.15709300 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.0 0.0 0.0 0.0 0.0 0.000000000 0.00000000 0.000000000 1.000000000 $ P-TYPE FUNCTIONS 8 8 0 532.03127000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 126.63701000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 39.75234800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.14024300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.26069100 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.00635500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.51597093 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14946546 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 9.60000000 1.00000000 0.00000000 0.00000000 0.00000000 2.40 0.00000000 1.00000000 0.00000000 0.00000000 0.60 0.00000000 0.00000000 1.00000000 0.00000000 0.15 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.50000000 1.0 0.000000000 0.5 0.00000000 1.000000000 ergo-3.5/basis/AhlrichsDenFit0000775000175000017500000004665012743400275013135 00000000000000$Elements References $ -------- ---------- $H - Ba; Hf - At: $ 1) K. Eichkorn, O. Treutler, H. Ohm, M. Haser and R. Ahlrichs, $ Chem. Phys. Letters 240, 283 (1995). $ 2) K. Eichkorn, F. Weigend, O. Treutler, R. Ahlrichs, $ Theor. Chem. Acc. 97, 119 (1997) a 1 $ Basis = Ahlrichs Coulomb Fitting $ HYDROGEN (3s,2p,1d) $ S-TYPE FUNCTIONS 4 3 0 9.3081300 0.03446618 0.00000000 0.00000000 2.3067180 0.12253380 0.00000000 0.00000000 0.7520120 0.00000000 0.18250021 0.00000000 0.2739780 0.00000000 0.00000000 0.02215055 $ P-TYPE FUNCTIONS 2 2 0 2.0327040 0.02951366 0.00000000 0.7902520 0.00000000 0.03275587 $ D-TYPE FUNCTIONS 1 1 0 2.0195480 1.00000000 a 2 $ Basis = Ahlrichs Coulomb Fitting $ HELIUM (2s,2p) $ S-TYPE FUNCTIONS 4 2 0 37.3939300 0.10996705 0.00000000 6.9866900 0.37520477 0.00000000 1.9234450 0.41847746 0.00000000 0.6287570 0.00000000 0.10809876 $ P-TYPE FUNCTIONS 2 2 0 3.6002169 -0.03554743 0.00000000 1.5000904 0.00000000 -0.03052394 a 3 $ Basis = Ahlrichs Coulomb Fitting $ LITHIUM (7s,2p,2d,1f) $ S-TYPE FUNCTIONS 9 7 0 173.2897090 0.08014875 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 47.8344360 0.25220565 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 14.7536270 0.66520903 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 5.0521470 0.00000000 0.77658078 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.9015500 0.00000000 0.00000000 0.27184755 0.00000000 0.00000000 0.00000000 0.0000000 0.7755150 0.00000000 0.00000000 0.00000000 -0.01362138 0.00000000 0.00000000 0.0000000 0.3363550 0.00000000 0.00000000 0.00000000 0.00000000 -0.00915809 0.00000000 0.0000000 0.1516590 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.03582379 0.0000000 0.0692960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0193645 $ P-TYPE FUNCTIONS 2 2 0 0.3778640 0.00619413 0.00000000 0.1595540 0.00000000 -0.01671452 $ D-TYPE FUNCTIONS 2 2 0 0.5604930 0.00008470 0.00000000 0.2373780 0.00000000 0.00130504 $ F-TYPE FUNCTIONS 1 1 0 0.4684260 -0.00173419 a 4 $ $ Basis = Ahlrichs Coulomb Fitting $ERYLLIUM (7s,2p,2d,1f) $ S-TYPE FUNCTIONS 9 7 0 268.6162420 0.15583423 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 76.0151980 0.46299792 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 23.9162980 1.16784141 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 8.3108540 0.00000000 1.24405915 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 3.1579560 0.00000000 0.00000000 0.29869665 0.00000000 0.00000000 0.00000000 0.0000000 1.2940400 0.00000000 0.00000000 0.00000000 -0.08096314 0.00000000 0.00000000 0.0000000 0.5617180 0.00000000 0.00000000 0.00000000 0.00000000 0.03579799 0.00000000 0.0000000 0.2528300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.12502778 0.0000000 0.1152170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0316722 $ P-TYPE FUNCTIONS 2 2 0 3.7342510 -0.03355593 0.00000000 1.1130260 0.00000000 0.01077840 $ D-TYPE FUNCTIONS 2 2 0 0.9187140 -0.00415891 0.00000000 0.3556820 0.00000000 -0.03089278 $ F-TYPE FUNCTIONS 1 1 0 0.3953700 1.00000000 a 5 $ $ Basis = Ahlrichs Coulomb Fitting $ BORON (7s,3p,3d,1f) $ S-TYPE FUNCTIONS 9 7 0 392.0344580 0.24593101 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 117.4972400 0.64303242 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 38.1245960 1.68735933 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 13.3001220 0.00000000 1.80216774 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 4.9438920 0.00000000 0.00000000 0.38496025 0.00000000 0.00000000 0.00000000 0.0000000 1.9364170 0.00000000 0.00000000 0.00000000 -0.15685891 0.00000000 0.00000000 0.0000000 0.7887050 0.00000000 0.00000000 0.00000000 0.00000000 0.21515206 0.00000000 0.0000000 0.3291170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.20305080 0.0000000 0.1384680 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0284151 $ P-TYPE FUNCTIONS 3 3 0 1.2229760 -0.01767502 0.00000000 0.00000000 0.4948530 0.00000000 -0.00772346 0.00000000 0.2087930 0.00000000 0.00000000 -0.04317522 $ D-TYPE FUNCTIONS 3 3 0 2.4018980 0.03434676 0.00000000 0.00000000 0.7644970 0.00000000 0.05617363 0.00000000 0.2574940 0.00000000 0.00000000 0.02163396 $ F-TYPE FUNCTIONS 1 1 0 0.9130670 0.02792465 a 6 $ $ Basis = Ahlrichs Coulomb Fitting $ CARBON (7s,3p,3d,1f) $ S-TYPE FUNCTIONS 9 7 0 591.5539270 0.31582020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 172.1179400 0.87503863 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 54.7992590 2.30760524 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 18.9590940 0.00000000 2.41797215 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 7.0599300 0.00000000 0.00000000 0.41345762 0.00000000 0.00000000 0.00000000 0.0000000 2.7948490 0.00000000 0.00000000 0.00000000 -0.19000954 0.00000000 0.00000000 0.0000000 1.1586340 0.00000000 0.00000000 0.00000000 0.00000000 0.37707105 0.00000000 0.0000000 0.4943240 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.34791788 0.0000000 0.2129690 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0547408 $ P-TYPE FUNCTIONS 3 3 0 0.3278474 0.05319099 0.00000000 0.00000000 0.7868337 0.00000000 0.00134420 0.00000000 1.9710183 0.00000000 0.00000000 0.02219860 $ D-TYPE FUNCTIONS 3 3 0 4.0133010 0.05246841 0.00000000 0.00000000 1.2475050 0.00000000 0.08026783 0.00000000 0.4081480 0.00000000 0.00000000 0.02963617 $ F-TYPE FUNCTIONS 1 1 0 0.9000000 1.00000000 a 7 $ $ Basis = Ahlrichs Coulomb Fitting $ NITROGEN (7s,3p,3d,1f) $ S-TYPE FUNCTIONS 9 7 0 791.0769350 0.41567506 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 229.4501840 1.14750694 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 72.8869600 3.01935767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 25.1815960 0.00000000 3.03233041 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 9.3716970 0.00000000 0.00000000 0.38784949 0.00000000 0.00000000 0.00000000 0.0000000 3.7106550 0.00000000 0.00000000 0.00000000 -0.18292931 0.00000000 0.00000000 0.0000000 1.5394630 0.00000000 0.00000000 0.00000000 0.00000000 0.65238939 0.00000000 0.0000000 0.6575530 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.49991067 0.0000000 0.2836540 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0738688 $ P-TYPE FUNCTIONS 3 3 0 0.4707392 0.06740575 0.00000000 0.00000000 1.1297741 0.00000000 -0.02250555 0.00000000 2.8300840 0.00000000 0.00000000 0.03554557 $ D-TYPE FUNCTIONS 3 3 0 5.8329865 0.04160404 0.00000000 0.00000000 1.7326865 0.00000000 0.01105970 0.00000000 0.5452425 0.00000000 0.00000000 0.04840796 $ F-TYPE FUNCTIONS 1 1 0 1.8264800 1.00000000 a 8 $ $ Basis = Ahlrichs Coulomb Fitting $ OXYGEN (7s,3p,3d,1f) $ S-TYPE FUNCTIONS 9 7 0 957.8432530 0.56249624 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 281.9674250 1.49108985 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 90.1998320 3.86547733 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 31.1382990 0.00000000 3.60577725 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 11.4937320 0.00000000 0.00000000 0.23005858 0.00000000 0.00000000 0.00000000 0.0000000 4.4840490 0.00000000 0.00000000 0.00000000 -0.05015769 0.00000000 0.00000000 0.0000000 1.8235040 0.00000000 0.00000000 0.00000000 0.00000000 1.05070463 0.00000000 0.0000000 0.7609030 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.58565488 0.0000000 0.3202920 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0749913 $ P-TYPE FUNCTIONS 3 3 0 0.6147089 -0.08557844 0.00000000 0.00000000 1.4753013 0.00000000 0.04179996 0.00000000 3.6956297 0.00000000 0.00000000 -0.05855108 $ D-TYPE FUNCTIONS 3 3 0 7.6526720 0.09106873 0.00000000 0.00000000 2.2178680 0.00000000 0.11163134 0.00000000 0.6823370 0.00000000 0.00000000 0.04600666 $ F-TYPE FUNCTIONS 1 1 0 2.1917808 1.00000000 a 9 $ $ Basis = Ahlrichs Coulomb Fitting $ FLUORINE (7s,3p,4d,1f) $ S-TYPE FUNCTIONS 9 7 0 1156.7023100 0.71431186 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 345.0403020 1.84554195 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 111.3320580 4.71095270 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 38.5902340 0.00000000 4.21329515 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 14.2414660 0.00000000 0.00000000 0.11772222 0.00000000 0.00000000 0.00000000 0.0000000 5.5341320 0.00000000 0.00000000 0.00000000 0.15894702 0.00000000 0.00000000 0.0000000 2.2350960 0.00000000 0.00000000 0.00000000 0.00000000 1.49637682 0.00000000 0.0000000 0.9245140 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.68056750 0.0000000 0.3855160 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.1129790 $ P-TYPE FUNCTIONS 3 3 0 3.1269342 1.00000000 0.00000000 0.00000000 1.2674020 0.00000000 1.00000000 0.00000000 0.5280842 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 23.1855700 -0.04106421 0.00000000 0.00000000 0.00000000 6.6824830 0.00000000 -0.13327013 0.00000000 0.00000000 2.1676770 0.00000000 0.00000000 -0.12350252 0.00000000 0.7338490 0.00000000 0.00000000 0.00000000 -0.03195039 $ F-TYPE FUNCTIONS 1 1 0 2.5570776 1.00000000 a 10 $ $ Basis = Ahlrichs Coulomb Fitting $ NEON (6s,3p,3d,1f) $ S-TYPE FUNCTIONS 8 6 0 1273.3057200 0.89624205 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 414.7479500 2.13453736 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 138.1558580 5.43243958 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.8903690 0.00000000 5.12447677 0.00000000 0.00000000 0.00000000 0.00000000 16.1520520 0.00000000 0.00000000 -0.13343712 0.00000000 0.00000000 0.00000000 5.6237160 0.00000000 0.00000000 0.00000000 0.89830505 0.00000000 0.00000000 1.9707620 0.00000000 0.00000000 0.00000000 0.00000000 2.09523338 0.00000000 0.6921290 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.44196115 $ P-TYPE FUNCTIONS 3 3 0 5.9230406 0.00333975 0.00000000 0.00000000 2.3644872 0.00000000 -0.00991504 0.00000000 0.9852030 0.00000000 0.00000000 0.00744346 $ D-TYPE FUNCTIONS 3 3 0 11.6432720 -0.00136835 0.00000000 0.00000000 3.4973642 0.00000000 0.00191058 0.00000000 1.1102743 0.00000000 0.00000000 -0.00316267 $ F-TYPE FUNCTIONS 1 1 0 3.7760000 0.00054413 a 11 $ $ Basis = Ahlrichs Coulomb Fitting $ SODIUM (5s,2p,2d,1f) $ S-TYPE FUNCTIONS 12 5 0 1822.5968600 0.87708826 0.00000000 0.00000000 0.00000000 0.00000000 614.8337560 1.87407783 0.00000000 0.00000000 0.00000000 0.00000000 216.8236380 5.13494627 0.00000000 0.00000000 0.00000000 0.00000000 79.7011750 6.50321066 0.00000000 0.00000000 0.00000000 0.00000000 30.4339390 1.67978337 0.00000000 0.00000000 0.00000000 0.00000000 12.0256850 -0.53919911 0.00000000 0.00000000 0.00000000 0.00000000 4.8960240 2.21157329 0.00000000 0.00000000 0.00000000 0.00000000 2.0440680 1.90323348 0.00000000 0.00000000 0.00000000 0.00000000 0.8706280 0.00000000 0.28294600 0.00000000 0.00000000 0.00000000 0.3762550 0.00000000 0.00000000 0.00171988 0.00000000 0.00000000 0.1640450 0.00000000 0.00000000 0.00000000 0.00721684 0.00000000 0.0717350 0.00000000 0.00000000 0.00000000 0.00000000 0.03349118 $ P-TYPE FUNCTIONS 4 2 0 0.2870420 0.00645603 0.00000000 0.1263630 -0.00973781 0.00000000 0.0668670 -0.01447956 0.00000000 0.0379390 0.00000000 0.00191820 $ D-TYPE FUNCTIONS 4 2 0 0.3274810 -0.00059472 0.00000000 0.0944580 0.00414107 0.00000000 0.0284780 -0.00045836 0.00000000 0.0087170 0.00000000 0.00003717 $ F-TYPE FUNCTIONS 1 1 0 0.1349530 -0.00040890 a 15 $ $ Basis = Ahlrichs Coulomb Fitting $ PHOSPHORUS (12s6p5d1f1g)/ [5s3p2d1f1g] $ ftp://ftp.chemie.uni-karlsruhe.de/pub/jbasen/p $ S-TYPE FUNCTIONS 12 5 0 3080.374628 1.69071816 0.0 0.0 0.0 0.0 913.434256 4.40910922 0.0 0.0 0.0 0.0 294.679145 10.94606900 0.0 0.0 0.0 0.0 103.182377 8.71606171 0.0 0.0 0.0 0.0 39.073261 -0.94145644 0.0 0.0 0.0 0.0 15.920552 1.93918410 0.0 0.0 0.0 0.0 6.932594 5.61881863 0.0 0.0 0.0 0.0 3.198606 1.50104535 0.0 0.0 0.0 0.0 1.547486 0.0 1.0 0.0 0.0 0.0 0.775586 0.0 0.0 1.0 0.0 0.0 0.397285 0.0 0.0 0.0 1.0 0.0 0.205011 0.0 0.0 0.0 0.0 1.0 $ P-TYPE FUNCTIONS 6 3 0 33.055549408 -0.0312247916 0.0 0.0 11.210699896 0.0909231017 0.0 0.0 4.138971481 -0.0820319557 0.0 0.0 1.631351372 -0.0756090396 0.0 0.0 0.670156080 0.0 1.0 0.0 0.279231700 0.0 0.0 1.0 $ D-TYPE FUNCTIONS 5 2 0 22.774700000 0.0144183801 0.0 6.843735500 -0.0009127417 0.0 2.263472500 -0.0038392081 0.0 0.796719500 0.0140665339 0.0 0.286576500 0.0 0.0149139325 $ F-TYPE FUNCTIONS 1 1 0 0.82191780821 1.0 $ G-TYPE FUNCTIONS 1 1 0 0.9000000000 1.0 a 25 $ $ Basis = Ahlrichs Coulomb Fitting $ MANGANESE (16s4p4d3f4g)/ [6s4p2d3f2g] $ ftp://ftp.chemie.uni-karlsruhe.de/pub/jbasen/mn $ S-TYPE FUNCTIONS 16 6 0 12991.430000 2.18695219 0.0 0.0 0.0 0.0 0.0 4434.442782 4.84120886 0.0 0.0 0.0 0.0 0.0 1593.831184 14.10583720 0.0 0.0 0.0 0.0 0.0 602.409079 23.32476010 0.0 0.0 0.0 0.0 0.0 239.033198 12.90389480 0.0 0.0 0.0 0.0 0.0 99.367910 -4.81404845 0.0 0.0 0.0 0.0 0.0 43.169587 11.59631670 0.0 0.0 0.0 0.0 0.0 19.542687 15.52807890 0.0 0.0 0.0 0.0 0.0 9.187503 -4.56822157 0.0 0.0 0.0 0.0 0.0 4.468372 1.32779379 0.0 0.0 0.0 0.0 0.0 2.238593 0.0 3.90641865 0.0 0.0 0.0 0.0 1.149809 0.0 1.13362105 0.0 0.0 0.0 0.0 0.602402 0.0 0.0 1.0 0.0 0.0 0.0 0.320186 0.0 0.0 0.0 1.0 0.0 0.0 0.171679 0.0 0.0 0.0 0.0 1.0 0.0 0.092322 0.0 0.0 0.0 0.0 0.0 1.0 $ P-TYPE FUNCTIONS 4 4 0 2.9030604868 1.0 0.0 0.0 0.0 1.0877774605 0.0 1.0 0.0 0.0 0.4408955336 0.0 0.0 1.0 0.0 0.1837064723 0.0 0.0 0.0 1.0 $ D-TYPE FUNCTIONS 4 2 0 20.554591 -0.0157867530 0.0 6.385832 0.0069924004 0.0 2.280189 0.0101475696 0.0 0.856837 0.0 1.0 $ F-TYPE FUNCTIONS 3 3 0 4.3866167714 1.0 0.0 0.0 1.6871602967 0.0 1.0 0.0 0.674864118 0.0 0.0 1.0 $ G-TYPE FUNCTIONS 4 2 0 21.386169 0.0663616330 0.0 7.237472 0.1438440980 0.0 2.567980 0.0925229249 0.0 0.926123 0.0 1.0 $ $ Supported elements: $ H, He, Li, Be, B, C, N, O, F, Ne, Na $ ergo-3.5/basis/cc-pVDZ-DK0000664000175000017500000006754012743400275012006 00000000000000$Basis = cc-pVDZ-DK $Elements supported $ H He B C N O F Ne Al Si P S Cl Ar Ga Ge As Se Br Kr $ $ REFERENCE $Elements References $-------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $ B - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ga - Kr: A.K. Wilson, D.E. Woon, K.A. Peterson, T.H. Dunning, Jr., $ J. Chem. Phys., 110, 7667 (1999). $** $Recontraction for use in Douglas-Kroll calculations: $W.A. de Jong, to be published. $ ************************************************************************ a 1 $ HYDROGEN (4s,1p) -> [2s,1p] $ S-TYPE FUNCTIONS 4 2 0 13.0100000 0.01969770 0.00000000 1.96200000 0.13799110 0.00000000 0.444600000 0.47814180 0.00000000 0.122000000 0.50123260 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.727000000 1.00000000 a 2 $ HELIUM (4s,1p) -> [2s,1p] $ S-TYPE FUNCTIONS 4 2 0 38.3600000 0.02385450 0.00000000 5.77000000 0.15492490 0.00000000 1.24000000 0.46995670 0.00000000 0.297600000 0.51302230 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.27500000 1.00000000 a 5 $ BORON (9s,4p,1d) -> [3s,2p,1d] $ S-TYPE FUNCTIONS 9 3 0 4570.00000 0.00081000 -0.00016250 0.00000000 685.900000 0.00547740 -0.00112330 0.00000000 156.500000 0.02733550 -0.00548820 0.00000000 44.4700000 0.10160670 -0.02198110 0.00000000 14.4800000 0.27219050 -0.05980590 0.00000000 5.13100000 0.44825450 -0.13880110 0.00000000 1.89800000 0.28988160 -0.13121930 0.00000000 0.332900000 0.01430470 0.53993430 0.00000000 0.104300000 -0.00348090 0.58031720 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 6.00100000 0.03550710 0.00000000 1.24100000 0.19805860 0.00000000 0.336400000 0.50513040 0.00000000 0.095380000 0.47961250 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.343000000 1.00000000 a 6 $ CARBON (9s,4p,1d) -> [3s,2p,1d] $ S-TYPE FUNCTIONS 9 3 0 6665.00000 0.00085170 -0.00018030 0.00000000 1000.00000 0.00551210 -0.00119490 0.00000000 228.000000 0.02736900 -0.00579430 0.00000000 64.7100000 0.10205680 -0.02341660 0.00000000 21.0600000 0.27494790 -0.06405000 0.00000000 7.49500000 0.44834090 -0.15009190 0.00000000 2.79700000 0.28471310 -0.12683760 0.00000000 0.521500000 0.01517500 0.54516020 0.00000000 0.159600000 -0.00318420 0.57978150 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 9.43900000 0.03816350 0.00000000 2.00200000 0.20949250 0.00000000 0.545600000 0.50844770 0.00000000 0.151700000 0.46894170 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.550000000 1.00000000 a 7 $ NITROGEN (9s,4p,1d) -> [3s,2p,1d] $ S-TYPE FUNCTIONS 9 3 0 9046.00000 0.00091060 -0.00019950 0.00000000 1357.00000 0.00564440 -0.00126690 0.00000000 309.300000 0.02780720 -0.00609060 0.00000000 87.7300000 0.10368050 -0.02469700 0.00000000 28.5600000 0.27901420 -0.06760280 0.00000000 10.2100000 0.44822160 -0.15823350 0.00000000 3.83800000 0.27773730 -0.12120600 0.00000000 0.746600000 0.01539930 0.54988710 0.00000000 0.224800000 -0.00285490 0.57779750 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 13.5500000 0.04001030 0.00000000 2.91700000 0.21721320 0.00000000 0.797300000 0.51019070 0.00000000 0.218500000 0.46229990 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.817000000 1.00000000 a 8 $ OXYGEN (9s,4p,1d) -> [3s,2p,1d] $ S-TYPE FUNCTIONS 9 3 0 11720.0000 0.00097750 -0.00022060 0.00000000 1759.00000 0.00581060 -0.00134350 0.00000000 400.800000 0.02836490 -0.00640100 0.00000000 113.700000 0.10543110 -0.02592750 0.00000000 37.0300000 0.28344700 -0.07112860 0.00000000 13.2700000 0.44828440 -0.16561530 0.00000000 5.02500000 0.27029440 -0.11608070 0.00000000 1.01300000 0.01540310 0.55852410 0.00000000 0.302300000 -0.00257390 0.57139810 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 17.7000000 0.04315530 0.00000000 3.85400000 0.22898630 0.00000000 1.04600000 0.50860830 0.00000000 0.275300000 0.46056820 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.18500000 1.00000000 a 9 $ FLUORINE (9s,4p,1d) -> [3s,2p,1d] $ S-TYPE FUNCTIONS 9 3 0 14710.0000 0.00104850 -0.00024160 0.00000000 2207.00000 0.00599130 -0.00141400 0.00000000 502.800000 0.02893990 -0.00667020 0.00000000 142.600000 0.10725620 -0.02697050 0.00000000 46.4700000 0.28730390 -0.07396700 0.00000000 16.7000000 0.44806840 -0.17103410 0.00000000 6.35600000 0.26392630 -0.11116950 0.00000000 1.31600000 0.01526580 0.56430840 0.00000000 0.389700000 -0.00231980 0.56699730 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 22.6700000 0.04506880 0.00000000 4.97700000 0.23582860 0.00000000 1.34700000 0.50837650 0.00000000 0.347100000 0.45813760 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.64000000 1.00000000 a 10 $ NEON (9s,4p,1d) -> [3s,2p,1d] $ S-TYPE FUNCTIONS 9 3 0 17880.0000 0.00113070 -0.00026460 0.00000000 2683.00000 0.00622670 -0.00149200 0.00000000 611.500000 0.02972040 -0.00695920 0.00000000 173.500000 0.10955530 -0.02802130 0.00000000 56.6400000 0.29150770 -0.07656580 0.00000000 20.4200000 0.44758840 -0.17553710 0.00000000 7.81000000 0.25700020 -0.10555390 0.00000000 1.65300000 0.01498180 0.56889220 0.00000000 0.486900000 -0.00208610 0.56298430 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 28.3900000 0.04633960 0.00000000 6.27000000 0.24033690 0.00000000 1.69500000 0.50857220 0.00000000 0.431700000 0.45565140 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 2.20200000 1.00000000 a 13 $ ALUMINUM (12s,8p,1d) -> [4s,3p,1d] $ S-TYPE FUNCTIONS 12 4 0 64150.0000 0.00067360 -0.00017630 0.00004070 0.00000000 9617.00000 0.00294570 -0.00076670 0.00017690 0.00000000 2189.00000 0.01271730 -0.00338240 0.00078210 0.00000000 620.500000 0.04821220 -0.01277790 0.00295180 0.00000000 202.700000 0.14791480 -0.04269080 0.00993180 0.00000000 73.1500000 0.33077630 -0.10399230 0.02434420 0.00000000 28.5500000 0.41426510 -0.19641480 0.04748160 0.00000000 11.7700000 0.18785540 -0.08014200 0.01970810 0.00000000 3.30000000 0.01148680 0.54400950 -0.16029740 0.00000000 1.17300000 -0.00127180 0.57503640 -0.30961870 0.00000000 0.175200000 0.00042250 0.02828150 0.62391800 0.00000000 0.064730000 -0.00019770 -0.00935220 0.51707150 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 258.800000 0.00425370 -0.00078110 0.00000000 60.8900000 0.03102670 -0.00551790 0.00000000 19.1400000 0.12964500 -0.02461420 0.00000000 6.88100000 0.32097300 -0.05818750 0.00000000 2.57400000 0.45348940 -0.09824070 0.00000000 0.957200000 0.27478660 -0.02580700 0.00000000 0.209900000 0.01912050 0.46338730 0.00000000 0.059860000 -0.00313810 0.64938870 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.189000000 1.00000000 a 14 $ SILICON (12s,8p,1d) -> [4s,3p,1d] $ S-TYPE FUNCTIONS 12 4 0 78860.0000 0.00068150 -0.00018270 0.00004680 0.00000000 11820.0000 0.00287360 -0.00076660 0.00019640 0.00000000 2692.00000 0.01206980 -0.00328820 0.00084200 0.00000000 763.400000 0.04535860 -0.01230940 0.00316280 0.00000000 249.600000 0.13954580 -0.04112770 0.01058190 0.00000000 90.2800000 0.31735370 -0.10136280 0.02647280 0.00000000 35.2900000 0.41684470 -0.19676290 0.05241610 0.00000000 14.5100000 0.20844120 -0.09902620 0.02823230 0.00000000 4.05300000 0.01434280 0.53092180 -0.18009820 0.00000000 1.48200000 -0.00201260 0.58876030 -0.34411700 0.00000000 0.251700000 0.00061740 0.03257940 0.62759860 0.00000000 0.092430000 -0.00027980 -0.00952550 0.53302780 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 315.900000 0.00414440 -0.00090480 0.00000000 74.4200000 0.03029710 -0.00639160 0.00000000 23.4800000 0.12783030 -0.02895310 0.00000000 8.48800000 0.32116230 -0.06945520 0.00000000 3.21700000 0.45503270 -0.11933650 0.00000000 1.22900000 0.26816990 -0.01963420 0.00000000 0.296400000 0.01884800 0.50986410 0.00000000 0.087680000 -0.00262720 0.60065520 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.275000000 1.00000000 a 15 $ PHOSPHORUS (12s,8p,1d) -> [4s,3p,1d] $ S-TYPE FUNCTIONS 12 4 0 94840.0000 0.00069560 -0.00019030 0.00005230 0.00000000 14220.0000 0.00284210 -0.00077430 0.00021290 0.00000000 3236.00000 0.01165610 -0.00324080 0.00088900 0.00000000 917.100000 0.04339350 -0.01202110 0.00331870 0.00000000 299.500000 0.13417650 -0.04026720 0.01108840 0.00000000 108.100000 0.30958420 -0.10054140 0.02827510 0.00000000 42.1800000 0.41873230 -0.19831970 0.05644630 0.00000000 17.2800000 0.22074090 -0.11095450 0.03472890 0.00000000 4.85800000 0.01620170 0.52311470 -0.19611330 0.00000000 1.81800000 -0.00250860 0.59655840 -0.36858180 0.00000000 0.337200000 0.00073830 0.03602590 0.62961160 0.00000000 0.123200000 -0.00032670 -0.00947840 0.54623420 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 370.500000 0.00420750 -0.00102130 0.00000000 87.3300000 0.03074970 -0.00723190 0.00000000 27.5900000 0.13031140 -0.03289500 0.00000000 10.0000000 0.32788260 -0.07960190 0.00000000 3.82500000 0.45650770 -0.13482590 0.00000000 1.49400000 0.25257050 -0.00862350 0.00000000 0.392100000 0.01688230 0.53753530 0.00000000 0.118600000 -0.00207170 0.56913750 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.373000000 1.00000000 a 16 $ SULFUR (12s,8p,1d) -> [4s,3p,1d] $ S-TYPE FUNCTIONS 12 4 0 110800.000 0.00072150 -0.00020100 0.00005830 0.00000000 16610.0000 0.00287200 -0.00079690 0.00023170 0.00000000 3781.00000 0.01151940 -0.00325990 0.00094420 0.00000000 1071.00000 0.04246170 -0.01198060 0.00350030 0.00000000 349.800000 0.13111040 -0.04000800 0.01162470 0.00000000 126.300000 0.30460400 -0.10056790 0.02998670 0.00000000 49.2600000 0.41931210 -0.20017090 0.06006360 0.00000000 20.1600000 0.22827180 -0.11884770 0.03998130 0.00000000 5.72000000 0.01764360 0.51854180 -0.21090190 0.00000000 2.18200000 -0.00292990 0.60096860 -0.38850080 0.00000000 0.432700000 0.00083670 0.03868500 0.63899620 0.00000000 0.157000000 -0.00036250 -0.00922490 0.55059900 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 399.700000 0.00479370 -0.00124420 0.00000000 94.1900000 0.03479280 -0.00881870 0.00000000 29.7500000 0.14516690 -0.03933060 0.00000000 10.7700000 0.35422030 -0.09349340 0.00000000 4.11900000 0.45842350 -0.14770610 0.00000000 1.62500000 0.20581170 0.03083190 0.00000000 0.472600000 0.01022340 0.56130960 0.00000000 0.140700000 -0.00006390 0.53472700 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.479000000 1.00000000 a 17 $ CHLORINE (12s,8p,1d) -> [4s,3p,1d] $ S-TYPE FUNCTIONS 12 4 0 127900.000 0.00074970 -0.00021200 0.00006410 0.00000000 19170.0000 0.00291700 -0.00082230 0.00024930 0.00000000 4363.00000 0.01145340 -0.00329170 0.00099320 0.00000000 1236.00000 0.04174910 -0.01196860 0.00364900 0.00000000 403.600000 0.12877410 -0.03987880 0.01206570 0.00000000 145.700000 0.30067850 -0.10072320 0.03138390 0.00000000 56.8100000 0.41954760 -0.20192380 0.06306620 0.00000000 23.2300000 0.23429710 -0.12514360 0.04440610 0.00000000 6.64400000 0.01884350 0.51567930 -0.22349450 0.00000000 2.57500000 -0.00329020 0.60364050 -0.40343480 0.00000000 0.537100000 0.00091370 0.04099980 0.64545470 0.00000000 0.193800000 -0.00038960 -0.00897670 0.55515030 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 417.600000 0.00565620 -0.00154350 0.00000000 98.3300000 0.04060720 -0.01099570 0.00000000 31.0400000 0.16574330 -0.04731460 0.00000000 11.1900000 0.38756220 -0.11105640 0.00000000 4.24900000 0.45615250 -0.15279340 0.00000000 1.62400000 0.15107530 0.09024880 0.00000000 0.532200000 0.00185240 0.57907460 0.00000000 0.162000000 0.00187250 0.48314340 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.600000000 1.00000000 a 18 $ ARGON (12s,8p,1d) -> [4s,3p,1d] $ S-TYPE FUNCTIONS 12 4 0 145700.000 0.00078190 -0.00022420 0.00007000 0.00000000 21840.0000 0.00297930 -0.00085170 0.00026680 0.00000000 4972.00000 0.01147280 -0.00334250 0.00104160 0.00000000 1408.00000 0.04135280 -0.01202380 0.00379040 0.00000000 459.700000 0.12727860 -0.03994350 0.01247610 0.00000000 165.900000 0.29802740 -0.10118460 0.03263740 0.00000000 64.6900000 0.41948690 -0.20371820 0.06567550 0.00000000 26.4400000 0.23839680 -0.12972720 0.04801650 0.00000000 7.62800000 0.01968340 0.51436730 -0.23475750 0.00000000 2.99600000 -0.00353960 0.60481730 -0.41464060 0.00000000 0.650400000 0.00095600 0.04296650 0.65019730 0.00000000 0.233700000 -0.00040330 -0.00872170 0.55938960 1.00000000 $ P-TYPE FUNCTIONS 8 3 0 453.700000 0.00617590 -0.00173930 0.00000000 106.800000 0.04396900 -0.01244120 0.00000000 33.7300000 0.17786380 -0.05245420 0.00000000 12.1300000 0.40708520 -0.12376930 0.00000000 4.59400000 0.45137560 -0.15091150 0.00000000 1.67800000 0.12221910 0.14337270 0.00000000 0.590900000 -0.00439850 0.58399180 0.00000000 0.185200000 0.00203350 0.43733540 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.738000000 1.00000000 a 31 $ GALLIUM (14s,11p,6d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 485130.000 0.00130970 -0.00041600 0.00015930 -0.00003730 0.00000000 72719.0000 0.00423040 -0.00134490 0.00051600 -0.00012100 0.00000000 16552.0000 0.01357630 -0.00439310 0.00168070 -0.00039380 0.00000000 4687.80000 0.04207380 -0.01366630 0.00528000 -0.00124030 0.00000000 1529.10000 0.12092790 -0.04221610 0.01622050 -0.00380130 0.00000000 551.810000 0.28113560 -0.10604210 0.04206760 -0.00991950 0.00000000 215.180000 0.41457690 -0.21730040 0.08701660 -0.02049490 0.00000000 88.1740000 0.26278810 -0.15570630 0.07132090 -0.01719100 0.00000000 27.1540000 0.02673080 0.50875650 -0.31666030 0.07948420 0.00000000 11.5030000 -0.00591200 0.60551090 -0.50166450 0.13080550 0.00000000 3.30180000 0.00192890 0.06303240 0.62316870 -0.20530800 0.00000000 1.33140000 -0.00086850 -0.01115180 0.63874620 -0.34007690 0.00000000 0.193160000 0.00021290 0.00252220 0.02411230 0.66849350 0.00000000 0.070895000 -0.00009950 -0.00115970 -0.00808130 0.48033210 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 3248.60000 0.00231930 -0.00088740 0.00014650 0.00000000 769.970000 0.01458040 -0.00560240 0.00091180 0.00000000 248.200000 0.06715770 -0.02650350 0.00440530 0.00000000 93.3640000 0.21084470 -0.08633660 0.01407930 0.00000000 38.2510000 0.41001320 -0.18101750 0.03078730 0.00000000 16.4220000 0.38696280 -0.15408460 0.02344760 0.00000000 6.79180000 0.10036980 0.24269710 -0.04380400 0.00000000 2.83360000 -0.00070230 0.58253720 -0.12933980 0.00000000 1.10620000 0.00202400 0.32916240 -0.04525720 0.00000000 0.222500000 -0.00031110 0.01661770 0.45898070 0.00000000 0.061772000 0.00011250 -0.00305160 0.66240330 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 65.3370000 0.02760560 0.00000000 18.4970000 0.15046240 0.00000000 6.31500000 0.37187980 0.00000000 2.16350000 0.47671420 0.00000000 0.666750000 0.28883170 0.00000000 0.188400000 0.00000000 1.00000000 a 32 $ GERMANIUM (14s,11p,6d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 521800.000 0.00135450 -0.00043240 0.00016730 -0.00004310 0.00000000 78214.0000 0.00433680 -0.00138590 0.00053710 -0.00013850 0.00000000 17803.0000 0.01377370 -0.00447960 0.00173230 -0.00044640 0.00000000 5041.90000 0.04222440 -0.01379170 0.00538210 -0.00138960 0.00000000 1644.50000 0.12053870 -0.04229590 0.01643330 -0.00423770 0.00000000 593.430000 0.27976390 -0.10603580 0.04247350 -0.01100500 0.00000000 231.360000 0.41404420 -0.21743910 0.08813230 -0.02286330 0.00000000 94.7620000 0.26475240 -0.15743930 0.07255130 -0.01917390 0.00000000 29.2740000 0.02741270 0.50535770 -0.31794830 0.08775980 0.00000000 12.4500000 -0.00616350 0.60694600 -0.51028750 0.14769130 0.00000000 3.64630000 0.00208980 0.06617390 0.60358040 -0.22277130 0.00000000 1.50250000 -0.00096820 -0.01194690 0.65859840 -0.38623110 0.00000000 0.245030000 0.00025130 0.00280390 0.02758220 0.68795660 0.00000000 0.091594000 -0.00011450 -0.00125960 -0.00855910 0.48190280 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 3568.10000 0.00228750 -0.00088820 0.00017640 0.00000000 845.720000 0.01414140 -0.00551980 0.00108080 0.00000000 272.740000 0.06505430 -0.02603900 0.00520970 0.00000000 102.680000 0.20543270 -0.08543200 0.01676730 0.00000000 42.1480000 0.40486340 -0.18105070 0.03709350 0.00000000 18.1490000 0.39175310 -0.16158510 0.02974600 0.00000000 7.59340000 0.10760810 0.22715210 -0.04975260 0.00000000 3.19640000 0.00006670 0.58247570 -0.15834290 0.00000000 1.27430000 0.00205080 0.34002580 -0.05768770 0.00000000 0.282580000 -0.00035420 0.01857830 0.51138190 0.00000000 0.084090000 0.00012740 -0.00321350 0.61012540 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 74.7620000 0.02606090 0.00000000 21.3020000 0.14499680 0.00000000 7.34360000 0.36837570 0.00000000 2.56510000 0.48173610 0.00000000 0.819700000 0.28117640 0.00000000 0.247000000 0.00000000 1.00000000 a 33 $ ARSENIC (14s,11p,6d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 559583.790 0.00140130 -0.00044950 0.00017570 -0.00004860 0.00000000 83879.3300 0.00444860 -0.00142870 0.00055950 -0.00015480 0.00000000 19092.6680 0.01398860 -0.00457200 0.00178700 -0.00049410 0.00000000 5407.39250 0.04242430 -0.01393220 0.00549220 -0.00152060 0.00000000 1763.75590 0.12026410 -0.04241220 0.01666260 -0.00461220 0.00000000 636.456720 0.27856250 -0.10608370 0.04291360 -0.01191990 0.00000000 248.088430 0.41348040 -0.21759650 0.08925600 -0.02487700 0.00000000 101.578510 0.26644880 -0.15888670 0.07372020 -0.02084330 0.00000000 31.4755130 0.02805290 0.50225170 -0.31958680 0.09462460 0.00000000 13.4372820 -0.00640510 0.60811340 -0.51866280 0.16248310 0.00000000 4.00869000 0.00224760 0.06916450 0.58690020 -0.23676040 0.00000000 1.68492900 -0.00106640 -0.01269450 0.67582740 -0.42513990 0.00000000 0.300019000 0.00028720 0.00303170 0.03084510 0.69937660 0.00000000 0.113587000 -0.00012770 -0.00133440 -0.00890840 0.48910220 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 3886.35640 0.00227770 -0.00089760 0.00020100 0.00000000 921.202010 0.01385380 -0.00549190 0.00121340 0.00000000 297.193190 0.06357190 -0.02581560 0.00582640 0.00000000 111.975080 0.20150770 -0.08509950 0.01885720 0.00000000 46.0346210 0.40098960 -0.18180590 0.04203280 0.00000000 19.8741940 0.39490070 -0.16740910 0.03498230 0.00000000 8.38608800 0.11312660 0.21712160 -0.05436850 0.00000000 3.55872800 0.00065500 0.58275240 -0.18123940 0.00000000 1.44728200 0.00208260 0.34567140 -0.06772510 0.00000000 0.347779000 -0.00039260 0.01989460 0.54186270 0.00000000 0.107699000 0.00013960 -0.00337670 0.58146040 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 84.4242340 0.02488710 0.00000000 24.1815890 0.14084330 0.00000000 8.40177700 0.36581200 0.00000000 2.98050200 0.48584230 0.00000000 0.979003000 0.27458970 0.00000000 0.309800000 0.00000000 1.00000000 a 34 $ SELENIUM (14s,11p,6d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 598990.000 0.00144890 -0.00046690 0.00018440 -0.00005410 0.00000000 89783.0000 0.00456280 -0.00147250 0.00058250 -0.00017080 0.00000000 20435.0000 0.01421200 -0.00466730 0.00184350 -0.00054070 0.00000000 5786.90000 0.04265880 -0.01408320 0.00560760 -0.00164560 0.00000000 1887.30000 0.12008540 -0.04255860 0.01690280 -0.00496390 0.00000000 680.970000 0.27750250 -0.10617600 0.04337410 -0.01276660 0.00000000 265.390000 0.41289570 -0.21776520 0.09036780 -0.02674640 0.00000000 108.630000 0.26793820 -0.16010560 0.07482540 -0.02237320 0.00000000 33.7600000 0.02865400 0.49942390 -0.32147430 0.10091770 0.00000000 14.4650000 -0.00663510 0.60905490 -0.52671160 0.17651250 0.00000000 4.38900000 0.00240070 0.07198670 0.57260540 -0.24976880 0.00000000 1.87830000 -0.00116180 -0.01338860 0.69093320 -0.46068410 0.00000000 0.358590000 0.00031990 0.00321010 0.03380200 0.71615320 0.00000000 0.136490000 -0.00013870 -0.00138300 -0.00908730 0.49040970 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 4135.60000 0.00233790 -0.00093480 0.00022720 0.00000000 980.340000 0.01402640 -0.00564150 0.00135200 0.00000000 316.350000 0.06406160 -0.02640790 0.00647270 0.00000000 119.250000 0.20258320 -0.08685390 0.02087880 0.00000000 49.0680000 0.40201590 -0.18529900 0.04660430 0.00000000 21.2120000 0.39347100 -0.16783730 0.03777360 0.00000000 8.94620000 0.11182370 0.22588490 -0.06167100 0.00000000 3.82360000 0.00019760 0.58486470 -0.20315850 0.00000000 1.58830000 0.00219380 0.33336380 -0.06157820 0.00000000 0.409690000 -0.00045020 0.01920130 0.56420680 0.00000000 0.124590000 0.00014510 -0.00240590 0.56452540 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 94.4720000 0.02392100 0.00000000 27.1800000 0.13736830 0.00000000 9.50680000 0.36361450 0.00000000 3.41680000 0.48916960 0.00000000 1.14790000 0.26954460 0.00000000 0.368200000 0.00000000 1.00000000 a 35 $ BROMINE (14s,11p,6d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 640100.000 0.00149750 -0.00048470 0.00019340 -0.00005940 0.00000000 95938.0000 0.00467900 -0.00151710 0.00060610 -0.00018620 0.00000000 21833.0000 0.01444180 -0.00476500 0.00190130 -0.00058420 0.00000000 6181.90000 0.04291150 -0.01423940 0.00572520 -0.00175940 0.00000000 2015.70000 0.11996620 -0.04272300 0.01714670 -0.00527750 0.00000000 727.100000 0.27656850 -0.10630340 0.04384390 -0.01351050 0.00000000 283.280000 0.41234520 -0.21797070 0.09146570 -0.02839580 0.00000000 115.910000 0.26924540 -0.16110290 0.07585030 -0.02370090 0.00000000 36.1240000 0.02920140 0.49694540 -0.32360720 0.10640980 0.00000000 15.5320000 -0.00684650 0.60971800 -0.53427630 0.18910070 0.00000000 4.78570000 0.00254470 0.07463730 0.56064210 -0.26107260 0.00000000 2.08170000 -0.00125230 -0.01404510 0.70389330 -0.49115570 0.00000000 0.420280000 0.00035010 0.00335940 0.03657380 0.72793740 0.00000000 0.160690000 -0.00014830 -0.00142190 -0.00920510 0.49451820 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 4340.80000 0.00243990 -0.00098950 0.00025750 0.00000000 1028.90000 0.01446720 -0.00589890 0.00151430 0.00000000 332.020000 0.06570580 -0.02749750 0.00721740 0.00000000 125.160000 0.20667200 -0.08991660 0.02316790 0.00000000 51.5110000 0.40596570 -0.19048090 0.05135470 0.00000000 22.2810000 0.38918060 -0.16463540 0.03940260 0.00000000 9.34170000 0.10658450 0.24676020 -0.07323240 0.00000000 4.01320000 -0.00089110 0.58875090 -0.22441750 0.00000000 1.70020000 0.00237930 0.30875930 -0.04832590 0.00000000 0.471940000 -0.00054410 0.01735880 0.58442510 0.00000000 0.144210000 0.00016130 -0.00131410 0.54472570 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 104.830000 0.02314560 0.00000000 30.2720000 0.13456430 0.00000000 10.6490000 0.36195940 0.00000000 3.86960000 0.49188180 0.00000000 1.32390000 0.26549550 0.00000000 0.409800000 0.00000000 1.00000000 a 36 $ KRYPTON (14s,11p,6d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 14 5 0 681358.820 0.00154970 -0.00050390 0.00020290 -0.00006470 0.00000000 102126.480 0.00480540 -0.00156530 0.00063130 -0.00020140 0.00000000 23243.7100 0.01470030 -0.00487260 0.00196330 -0.00062670 0.00000000 6582.00730 0.04324090 -0.01442130 0.00585290 -0.00186790 0.00000000 2146.42860 0.11998660 -0.04293840 0.01740670 -0.00556780 0.00000000 774.337820 0.27575790 -0.10647830 0.04432490 -0.01418110 0.00000000 301.670200 0.41170810 -0.21817610 0.09252810 -0.02987530 0.00000000 123.411840 0.27031340 -0.16184610 0.07676530 -0.02486360 0.00000000 38.5675510 0.02970810 0.49480900 -0.32593520 0.11133400 0.00000000 16.6373790 -0.00704660 0.61013020 -0.54135620 0.20055520 0.00000000 5.19879500 0.00268300 0.07708570 0.55069090 -0.27126720 0.00000000 2.29481400 -0.00133940 -0.01465040 0.71501090 -0.51767380 0.00000000 0.485211000 0.00037850 0.00348270 0.03917760 0.73677840 0.00000000 0.186270000 -0.00015710 -0.00145260 -0.00928100 0.49980190 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 4474.26990 0.00260410 -0.00107110 0.00029270 0.00000000 1060.57900 0.01529530 -0.00631990 0.00170610 0.00000000 342.208120 0.06896610 -0.02932250 0.00808020 0.00000000 128.998420 0.21466640 -0.09479170 0.02570880 0.00000000 53.0872220 0.41323120 -0.19782900 0.05603540 0.00000000 22.9594250 0.38063830 -0.15594300 0.03877750 0.00000000 9.50730000 0.09676600 0.28438250 -0.09093530 0.00000000 4.08305500 -0.00241860 0.59544000 -0.24427000 0.00000000 1.75044600 0.00259280 0.26679690 -0.02059850 0.00000000 0.529190000 -0.00065950 0.01235490 0.60376190 0.00000000 0.164369000 0.00020070 -0.00093320 0.51962770 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 115.525320 0.02250460 0.00000000 33.4652460 0.13228170 0.00000000 11.8304590 0.36060940 0.00000000 4.33977100 0.49452140 0.00000000 1.50752400 0.26061690 0.00000000 0.503000000 0.00000000 1.00000000 ergo-3.5/basis/aug-pV7Z0000664000175000017500000011701012743400275011650 00000000000000$ Basis =aug-pV7Z $ Elements Supported $ H C N O F S $ $ REFERENCES $ Elements References $ -------- ---------- $ H: D. Feller $ C-F, S: D. Feller and K.A. Peterson, J. Chem. Phys. 110, 8384 (1999) $ D. Feller and J.A. Sordo, J. Chem. Phys. 113, 485 (2000) $ and Ed Valeev (k function exponents) $ Ne K. A. Peterson (to be published) $ $ Polarization and/or diffuse functions $ Elements References $ -------- --------- $ C - F: D. Feller and J. A. Sordo (to be published) $ S: k function exponents from Dr. Ed. Valeev $ a 1 $ HYDROGEN (14s,6p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ HYDROGEN (1s,1p,1d,1f,1g,1h,1i) $ S-TYPE FUNCTIONS 15 8 0 2762.51614000 0.00002200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1211.85844000 0.00000600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 531.61712000 0.00009440 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 233.20938600 0.00017940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 102.30411300 0.00058450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 44.87868890 0.00155910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19.68734840 0.00438830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.63643073 0.01208630 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.78862274 0.03253030 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.66199008 0.08405800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.72908052 0.19342470 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.31983248 0.35106410 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.14030386 0.35878220 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06154839 0.10608990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 7 0 8.15364800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.86227500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.82950800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.86661400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.41050300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.19445000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09210800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 6.03483300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.05695800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.54850900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.78440100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.39734000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.20127300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 5 5 0 5.89474000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.90294000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.42959000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.70402000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.34670400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 4 4 0 4.62267400 1.00000000 0.00000000 0.00000000 0.00000000 2.17112600 0.00000000 1.00000000 0.00000000 0.00000000 1.01971000 0.00000000 0.00000000 1.00000000 0.00000000 0.47892600 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 3 3 0 4.22370600 1.00000000 0.00000000 0.00000000 1.70506000 0.00000000 1.00000000 0.00000000 0.68831200 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 2 2 0 3.41400000 1.00000000 0.00000000 1.70700000 0.00000000 1.00000000 a 6 $ CARBON (18s,12p,6d,5f,4g,3h,2i,1k) -> [8s,7p,6d,5f,4g,3h, $ CARBON (1s,1p,1d,1f,1g,1h,1i,1k) $ S-TYPE FUNCTIONS 19 9 0 949028.80000 0.00000140 -0.00000030 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142083.00000 0.00001100 -0.00000230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32332.47000 0.00005780 -0.00001230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9158.11700000 0.00024440 -0.00005200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2987.90900000 0.00089100 -0.00019000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1078.78800000 0.00290400 -0.00062000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 420.83080000 0.00863100 -0.00185500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 174.60030000 0.02352900 -0.00509200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 76.18292000 0.05816100 -0.01291600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.63588000 0.12662400 -0.02923000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.27076000 0.23046500 -0.05841400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.85547900 0.31929700 -0.09665500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.88217200 0.27429500 -0.12606400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.92833400 0.10225200 -0.06172200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.83580600 0.00786200 0.18882800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.38629100 0.00000680 0.44611600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.17686000 0.00036900 0.41133500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.08025200 -0.00001240 0.10655200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03210080 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 8 0 765.45530000 0.00002720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 180.86280000 0.00024100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 58.71441000 0.00135700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.41625000 0.00562000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.40621400 0.01826700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.18719800 0.05001900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.95587600 0.11640800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.94533600 0.21446600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.46276300 0.30116800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.22679600 0.30804500 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.11059200 0.18847500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.05240000 0.03962200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01940700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 8.00280000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.66630000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.67960000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.76950000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.35250000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.16150000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06210000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 3.51340000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.82140000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.94430000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.48960000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.25380000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09762000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 5 5 0 3.03630000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.67130000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.92000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.50640000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.22020000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 4 4 0 1.82730000 1.00000000 0.00000000 0.00000000 0.00000000 0.89990000 0.00000000 1.00000000 0.00000000 0.00000000 0.44320000 0.00000000 0.00000000 1.00000000 0.00000000 0.22160000 0.00000000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 3 3 0 3.28020000 1.00000000 0.00000000 0.00000000 0.67770000 0.00000000 1.00000000 0.00000000 0.33890000 0.00000000 0.00000000 1.00000000 $ K-TYPE FUNCTIONS 2 2 0 1.95600000 1.00000000 0.00000000 0.97800000 0.00000000 1.00000000 a 7 $ NITROGEN (18s,12p,6d,5f,4g,3h,2i,1k) -> [8s,7p,6d,5f,4g,3h, $ NITROGEN (1s,1p,1d,1f,1g,1h,1i,1k) $ S-TYPE FUNCTIONS 19 9 0 1296296.000 0.00000140 -0.00000031 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 194068.60000 0.00001100 -0.00000243 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 44160.57000 0.00005800 -0.00001279 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12507.72000 0.00024500 -0.00005399 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4080.47600000 0.00089300 -0.00019730 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1473.14000000 0.00291300 -0.00064320 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 574.60660000 0.00866400 -0.00192640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 238.37000000 0.02363500 -0.00529480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 103.99360000 0.05851800 -0.01345880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 47.27944000 0.12772870 -0.03061290 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.21871000 0.23287370 -0.06151130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.73569000 0.32111700 -0.10200550 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.30885600 0.27131670 -0.12950140 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.63917700 0.09853080 -0.05370320 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.16576400 0.00788860 0.20297650 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.53709100 0.00031250 0.44857470 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.24490400 0.00036400 0.40031386 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11027100 0.00007270 0.10245292 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01901220 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 8 0 1094.96000000 0.00002760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 258.66110000 0.00024500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 83.85255000 0.00139200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.96225000 0.00585900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.41121000 0.01941300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.98547100 0.05359980 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.80363000 0.12319560 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.35573600 0.22156900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.66239600 0.30240950 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.32291200 0.30098640 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.15592100 0.18179180 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07282000 0.03874200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02697040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 8.59142980 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.03353510 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.89367850 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.88905090 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.41739480 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.19596000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07536920 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 5.73890020 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.77241560 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.33933120 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.64701990 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.31257000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.12021920 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 5 5 0 5.53680240 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.58729080 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.20901440 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.56496000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.24563480 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 4 4 0 4.21812880 1.00000000 0.00000000 0.00000000 0.00000000 2.08714940 0.00000000 1.00000000 0.00000000 0.00000000 1.03273000 0.00000000 0.00000000 1.00000000 0.00000000 0.51636500 0.00000000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 3 3 0 3.45000000 1.00000000 0.00000000 0.00000000 1.58000000 0.00000000 1.00000000 0.00000000 0.79000000 0.00000000 0.00000000 1.00000000 $ K-TYPE FUNCTIONS 2 2 0 2.37900000 1.00000000 0.00000000 0.97700000 0.00000000 1.00000000 a 8 $ OXYGEN (18s,12p,6d,5f,4g,3h,2i,1k) -> [8s,7p,6d,5f,4g,3h, $ OXYGEN (1s,1p,1d,1f,1g,1h,1i,1k) $ S-TYPE FUNCTIONS 19 9 0 1678789.000 0.00000140 -0.00000030 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 251388.20000 0.00001120 -0.00000250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 57213.73000 0.00005890 -0.00001340 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16207.44000 0.00024900 -0.00005600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5288.27600000 0.00090700 -0.00020600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1909.47800000 0.00295700 -0.00067200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 744.92310000 0.00879100 -0.00201300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 309.07550000 0.02398000 -0.00553500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 134.86450000 0.05938100 -0.01407900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 61.33129000 0.12965000 -0.03211300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28.83796000 0.23606400 -0.06467600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.94504000 0.32292100 -0.10715400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.89907700 0.26739500 -0.13243800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.43157700 0.09384400 -0.04565500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.53984000 0.00753300 0.21838400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.70975100 0.00063200 0.45337900 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.32304700 0.00035600 0.38735300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14422200 0.00003300 0.09586600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05547000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 8 0 1349.05900000 0.00003230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 319.45690000 0.00028600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 103.78040000 0.00161600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 39.62821000 0.00678500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.66137000 0.02249900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.46416600 0.06167400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.50932500 0.13684500 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.69568000 0.23248600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.82274200 0.29982100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.39573300 0.28824400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.18764400 0.17455500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.08584100 0.03872700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02861370 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 10.06429300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.84325940 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.33073120 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.12162230 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.53976050 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.25975000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10390000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 6.91170870 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.41994490 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.69220430 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.83731040 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.41430500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.17262700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 5 5 0 7.23799490 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.41575980 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.61196780 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.76072100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.34578200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 4 4 0 5.73310920 1.00000000 0.00000000 0.00000000 0.00000000 2.58248160 0.00000000 1.00000000 0.00000000 0.00000000 1.16328000 0.00000000 0.00000000 1.00000000 0.00000000 0.58164000 0.00000000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 3 3 0 4.81300000 1.00000000 0.00000000 0.00000000 2.07800000 0.00000000 1.00000000 0.00000000 1.03900000 0.00000000 0.00000000 1.00000000 $ K-TYPE FUNCTIONS 2 2 0 3.12300000 1.00000000 0.00000000 1.23200000 0.00000000 1.00000000 a 9 $ FLUORINE (18s,12p,6d,5f,4g,3h,2i,1k) -> [8s,7p,6d,5f,4g,3h, $ FLUORINE (1s,1p,1d,1f,1g,1h,1i,1k) $ S-TYPE FUNCTIONS 19 9 0 2115112.000 0.00000150 -0.00000034 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 316699.70000 0.00001130 -0.00000262 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 72075.71000 0.00005950 -0.00001378 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20416.83000 0.00025140 -0.00005817 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6661.45800000 0.00091600 -0.00021242 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2405.18800000 0.00298600 -0.00069281 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 938.25950000 0.00888190 -0.00207460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 389.27100000 0.02423210 -0.00570974 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 169.84990000 0.06003010 -0.01453560 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 77.24367000 0.13113550 -0.03323500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 36.32874000 0.23856320 -0.06706620 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.57387000 0.32430750 -0.11098400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.69353000 0.26437630 -0.13414569 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.32176900 0.09028430 -0.03874090 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.95952000 0.00725830 0.22972655 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.90318500 0.00082880 0.45572753 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.41040500 0.00034960 0.37782222 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.18202400 0.00004950 0.09134515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07000900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 8 0 1687.71800000 0.00003460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 399.65170000 0.00030580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 129.82670000 0.00173130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.57826000 0.00729750 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.86193000 0.02431260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.36556400 0.06643410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.40997700 0.14451750 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.12837600 0.23838670 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.02828800 0.29853300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.49075700 0.28114140 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.23007300 0.16997810 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10376600 0.03858190 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03458900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 12.63449500 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.11247920 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.95717430 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.43066000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.69214320 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.33485400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13394200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 11.64432400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.57144690 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.66576410 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.27548520 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.61028000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.25428300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 5 5 0 8.28639530 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.91052160 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.84545620 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.87090900 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.39586770 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 4 4 0 7.76269690 1.00000000 0.00000000 0.00000000 0.00000000 3.48103000 0.00000000 1.00000000 0.00000000 0.00000000 1.56100000 0.00000000 0.00000000 1.00000000 0.00000000 0.78050000 0.00000000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 3 3 0 5.53000000 1.00000000 0.00000000 0.00000000 2.16000000 0.00000000 1.00000000 0.00000000 1.08000000 0.00000000 0.00000000 1.00000000 $ K-TYPE FUNCTIONS 2 2 0 4.25200000 1.00000000 0.00000000 1.59700000 0.00000000 1.00000000 a 16 $ SULFUR (27s,18p,6d,5f,4g,3h,2i) -> [9s,8p,6d,5f,4g,3h,2i] $ SULFUR (1s,1p,1d,1f,1g,1h,1i,1k) $ S-TYPE FUNCTIONS 28 10 0 7010036.000 0.00000144 0.00000040 -0.00000012 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3489316.100 -0.00000084 -0.00000023 0.00000007 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1736842.200 0.00000487 0.00000134 -0.00000039 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 864530.73000 0.00000324 0.00000090 -0.00000026 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 430328.89000 0.00001677 0.00000462 -0.00000135 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 214200.54000 0.00003101 0.00000859 -0.00000246 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 106620.48000 0.00008299 0.00002287 -0.00000670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 53071.41800 0.00018998 0.00005262 -0.00001514 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26416.83300 0.00046151 0.00012735 -0.00003725 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13149.24500 0.00109453 0.00030346 -0.00008752 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6545.16920000 0.00260899 0.00072242 -0.00021103 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3257.92390000 0.00617574 0.00172202 -0.00049767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1621.66450000 0.01445889 0.00405412 -0.00118409 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 807.19984000 0.03317485 0.00947568 -0.00274744 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 401.79186000 0.07281164 0.02142544 -0.00628040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 199.99595000 0.14722397 0.04619495 -0.01351581 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 99.54999800 0.25414432 0.08991402 -0.02681891 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.55201500 0.32475053 0.14633296 -0.04427986 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24.66501500 0.23087468 0.14901478 -0.04765514 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.27726000 0.05943019 -0.01618619 0.00691916 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.11112980 0.00385230 -0.34468164 0.12757185 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.04187650 0.00075199 -0.52421828 0.28824893 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.51412470 0.00009617 -0.23896904 0.23272097 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.75367082 -0.00004848 -0.01729755 -0.17946048 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.37514725 0.00000591 -0.00329758 -0.51838584 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.18673332 -0.00001635 0.00047299 -0.42853809 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09294839 0.00000155 -0.00033072 -0.12549471 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03717900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 19 9 0 9780.02620000 0.00001440 0.00000365 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4800.63720000 0.00001477 0.00000384 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2356.44750000 0.00010012 0.00002528 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1156.68910000 0.00029000 0.00007447 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 567.77400000 0.00104158 0.00026448 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 278.69833000 0.00340378 0.00087332 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 136.80225000 0.01084117 0.00277783 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 67.15094300 0.03194232 0.00829274 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.96180500 0.08489476 0.02235852 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.17967700 0.18567412 0.05026191 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.94197890 0.30467902 0.08432212 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.89841080 0.34545154 0.10275513 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.91357930 0.20219233 0.04394066 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.93930221 0.03827089 -0.15166213 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.46106719 0.00327420 -0.34553064 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.22632008 0.00015021 -0.38491544 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.11109179 0.00047904 -0.23270520 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.05453067 -0.00003182 -0.05285254 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02181200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 7 0 8.11574690 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.65953330 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.65014800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.74408080 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.33551910 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.15129150 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03438000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 6 6 0 1.73214830 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.77709660 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.34863010 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.15640650 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07016890 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02193000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 5 5 0 1.59998680 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.98098520 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.60146240 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.36876910 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.18438000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 4 4 0 1.53475710 1.00000000 0.00000000 0.00000000 0.00000000 0.91572620 0.00000000 1.00000000 0.00000000 0.00000000 0.54637600 0.00000000 0.00000000 1.00000000 0.00000000 0.30354000 0.00000000 0.00000000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 3 3 0 1.50000000 1.00000000 0.00000000 0.00000000 0.75700000 0.00000000 1.00000000 0.00000000 0.44500000 0.00000000 0.00000000 1.00000000 $ K-TYPE FUNCTIONS 2 2 0 1.20900000 1.00000000 0.00000000 0.71100000 0.00000000 1.00000000 ergo-3.5/basis/Turbomole-SVP0000664000175000017500000015422712743400275012721 00000000000000$ Basis = Turbomole-SVP $ $ Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca $ Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr $ $ REFERENCE $ Elements References $ -------- ---------- $ H - Kr: A. Schafer, H. Horn and R. Ahlrichs, J. Chem. Phys. 97, 2571 (1992). $ $ Polarization and/or diffuse functions $ Elements References $ -------- ---------- $ H - Kr: R. Ahlrichs and coworkers, (mostly unpublished) $*********************************************************************** a 1 $ HYDROGEN (4s) -> [2s] $ HYDROGEN (1p) $ S-TYPE FUNCTIONS 4 2 0 13.01070100 0.01968216 0.00000000 1.96225720 0.13796524 0.00000000 0.44453796 0.47831935 0.00000000 0.12194962 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.80000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ HELIUM (1p) $ S-TYPE FUNCTIONS 4 2 0 38.35493674 0.02381429 0.00000000 5.76890815 0.15490907 0.00000000 1.23994070 0.46998097 0.00000000 0.29757816 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 3 $ LITHIUM (7s) -> [3s] $ LITHIUM (1p) $ S-TYPE FUNCTIONS 7 3 0 266.27785520 0.00649202 0.00000000 0.00000000 40.06978345 0.04774786 0.00000000 0.00000000 9.05599444 0.20268796 0.00000000 0.00000000 2.45030091 0.48606575 0.00000000 0.00000000 0.72209572 0.43626978 0.00000000 0.00000000 0.52810885 0.00000000 1.00000000 0.00000000 0.20960949 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.17000000 1.00000000 a 4 $ BERYLLIUM (7s) -> [3s] $ BERYLLIUM (2p) $ S-TYPE FUNCTIONS 7 3 0 515.18616130 0.00556153 0.00000000 0.00000000 77.51103760 0.04119007 0.00000000 0.00000000 17.55248169 0.17913378 0.00000000 0.00000000 4.80289406 0.44736716 0.00000000 0.00000000 1.45162143 0.42009582 0.00000000 0.00000000 0.13281634 0.00000000 1.00000000 0.00000000 0.45837372 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 3.63169172 -0.02903400 0.00000000 0.71695694 -0.16877854 0.00000000 0.19541933 -0.51403420 0.00000000 0.60515466 0.00000000 1.00000000 a 5 $ BORON (7s,4p) -> [3s,2p] $ BORON (1d) $ S-TYPE FUNCTIONS 7 3 0 839.31830090 -0.00559292 0.00000000 0.00000000 126.26464840 -0.04156552 0.00000000 0.00000000 28.62060076 -0.18299817 0.00000000 0.00000000 7.87937227 -0.46540392 0.00000000 0.00000000 2.40888572 -0.44173885 0.00000000 0.00000000 0.25105109 0.00000000 1.00000000 0.00000000 0.83648866 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 6.03322236 -0.03560367 0.00000000 1.24991579 -0.19895776 0.00000000 0.33871676 -0.50850203 0.00000000 0.96415632 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.50000000 1.00000000 a 6 $ CARBON (7s,4p) -> [3s,2p] $ CARBON (1d) $ S-TYPE FUNCTIONS 7 3 0 1238.40169400 0.00545688 0.00000000 0.00000000 186.29004990 0.04063841 0.00000000 0.00000000 42.25117635 0.18025594 0.00000000 0.00000000 11.67655793 0.46315122 0.00000000 0.00000000 3.59305065 0.44087173 0.00000000 0.00000000 0.40245147 0.00000000 1.00000000 0.00000000 0.13090183 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 9.46809706 0.03838787 0.00000000 2.01035451 0.21117025 0.00000000 0.54771005 0.51328172 0.00000000 0.15268614 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.80000000 1.00000000 a 7 $ NITROGEN (7s,4p) -> [3s,2p] $ NITROGEN (1d) $ S-TYPE FUNCTIONS 7 3 0 1712.84158500 -0.00539341 0.00000000 0.00000000 257.64812680 -0.04022158 0.00000000 0.00000000 58.45824585 -0.17931145 0.00000000 0.00000000 16.19836791 -0.46376318 0.00000000 0.00000000 5.00526008 -0.44171423 0.00000000 0.00000000 0.58731857 0.00000000 1.00000000 0.00000000 0.18764592 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 13.57147023 -0.04007240 0.00000000 2.92573729 -0.21807045 0.00000000 0.79927751 -0.51294466 0.00000000 0.21954348 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 8 $ OXYGEN (7s,4p) -> [3s,2p] $ OXYGEN (1d) $ S-TYPE FUNCTIONS 7 3 0 2266.17677900 -0.00534318 0.00000000 0.00000000 340.87010190 -0.03989004 0.00000000 0.00000000 77.36313517 -0.17853912 0.00000000 0.00000000 21.47964494 -0.46427685 0.00000000 0.00000000 6.65894331 -0.44309745 0.00000000 0.00000000 0.80975976 0.00000000 1.00000000 0.00000000 0.25530772 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 17.72150432 0.04339457 0.00000000 3.86355054 0.23094121 0.00000000 1.04809209 0.51375311 0.00000000 0.27641544 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.20000000 1.00000000 a 9 $ FLUORINE (7s,4p) -> [3s,2p] $ FLUORINE (1d) $ S-TYPE FUNCTIONS 7 3 0 2894.83259900 -0.00534083 0.00000000 0.00000000 435.41939120 -0.03990426 0.00000000 0.00000000 98.84332887 -0.17912768 0.00000000 0.00000000 27.48519800 -0.46758091 0.00000000 0.00000000 8.54054982 -0.44653131 0.00000000 0.00000000 1.06545780 0.00000000 1.00000000 0.00000000 0.33247347 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 22.69663392 -0.04521287 0.00000000 4.98723393 -0.23754317 0.00000000 1.34916140 -0.51287354 0.00000000 0.34829882 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.40000000 1.00000000 a 10 $ NEON (7s,4p) -> [3s,2p] $ NEON (1d) $ S-TYPE FUNCTIONS 7 3 0 3598.97366300 -0.00532593 0.00000000 0.00000000 541.32073110 -0.03981742 0.00000000 0.00000000 122.90450060 -0.17914358 0.00000000 0.00000000 34.21661702 -0.46893583 0.00000000 0.00000000 10.65058412 -0.44782538 0.00000000 0.00000000 1.35459540 0.00000000 1.00000000 0.00000000 0.41919363 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 28.42405379 -0.04603194 0.00000000 6.28225110 -0.23993183 0.00000000 1.69787151 -0.50871725 0.00000000 0.43300700 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.88800000 1.00000000 a 11 $ SODIUM (10s,5p) -> [4s,1p] $ SODIUM (1p) $ S-TYPE FUNCTIONS 10 4 0 4098.20039100 -0.00585359 0.00000000 0.00000000 0.00000000 616.49374030 -0.04364716 0.00000000 0.00000000 0.00000000 139.96644000 -0.19431466 0.00000000 0.00000000 0.00000000 39.07344105 -0.48685066 0.00000000 0.00000000 0.00000000 11.92984721 -0.41881705 0.00000000 0.00000000 0.00000000 20.65996603 0.00000000 0.08594969 0.00000000 0.00000000 1.98388610 0.00000000 -0.56359144 0.00000000 0.00000000 0.64836324 0.00000000 -0.51954009 0.00000000 0.00000000 0.05244397 0.00000000 0.00000000 1.00000000 0.00000000 0.02804816 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 2 0 75.40186202 0.01543536 0.00000000 17.27481898 0.09973829 0.00000000 5.18423474 0.31209594 0.00000000 1.66012120 0.49295675 0.00000000 0.51232529 0.32420398 0.00000000 0.52000000 0.00000000 1.00000000 a 12 $ MAGNESIUM (10s,5p) -> [4s,1p] $ MAGNESIUM (1p) $ S-TYPE FUNCTIONS 10 4 0 4953.83392000 -0.00577790 0.00000000 0.00000000 0.00000000 745.18044150 -0.04312476 0.00000000 0.00000000 0.00000000 169.21604970 -0.19268217 0.00000000 0.00000000 0.00000000 47.30067202 -0.48641439 0.00000000 0.00000000 0.00000000 14.46133697 -0.42550894 0.00000000 0.00000000 0.00000000 24.76817479 0.00000000 0.08795697 0.00000000 0.00000000 2.49409453 0.00000000 -0.55165058 0.00000000 0.00000000 0.87807585 0.00000000 -0.53443295 0.00000000 0.00000000 0.08721278 0.00000000 0.00000000 1.00000000 0.00000000 0.03359929 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 2 0 98.05301049 -0.01448056 0.00000000 22.58693228 -0.09549575 0.00000000 6.83915098 -0.30787673 0.00000000 2.23328438 -0.49936293 0.00000000 0.71606599 -0.31503476 0.00000000 0.18914796 0.00000000 1.00000000 a 13 $ ALUMINUM (10s,7p) -> [4s,3p] $ ALUMINUM (1d) $ S-TYPE FUNCTIONS 10 4 0 5887.57270300 0.00134833 0.00000000 0.00000000 0.00000000 885.61226000 0.01007158 0.00000000 0.00000000 0.00000000 201.13604900 0.04513245 0.00000000 0.00000000 0.00000000 56.28497467 0.11461268 0.00000000 0.00000000 0.00000000 17.22955124 0.10159609 0.00000000 0.00000000 0.00000000 29.34024992 0.00000000 0.06934745 0.00000000 0.00000000 3.04396304 0.00000000 -0.42528118 0.00000000 0.00000000 1.12855395 0.00000000 -0.41449832 0.00000000 0.00000000 0.14234175 0.00000000 0.00000000 1.00000000 0.00000000 0.05440019 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 145.11918810 0.00639634 0.00000000 0.00000000 33.71789483 0.04418936 0.00000000 0.00000000 10.36986308 0.15581576 0.00000000 0.00000000 3.51356160 0.28635287 0.00000000 0.00000000 1.19800503 0.22921423 0.00000000 0.00000000 0.26583006 0.00000000 1.00000000 0.00000000 0.71003362 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.30000000 1.00000000 a 14 $ SILICON (10s,7p) -> [4s,3p] $ SILICON (1d) $ S-TYPE FUNCTIONS 10 4 0 6903.71186900 0.00133740 0.00000000 0.00000000 0.00000000 1038.43464200 0.00999665 0.00000000 0.00000000 0.00000000 235.87581480 0.04491017 0.00000000 0.00000000 0.00000000 66.06938517 0.11463639 0.00000000 0.00000000 0.00000000 20.24794576 0.10280064 0.00000000 0.00000000 0.00000000 34.35348173 0.00000000 0.07083729 0.00000000 0.00000000 3.63707882 0.00000000 -0.43028836 0.00000000 0.00000000 1.40020486 0.00000000 -0.41382775 0.00000000 0.00000000 0.20484415 0.00000000 0.00000000 1.00000000 0.00000000 0.07799410 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 179.83907370 0.00619167 0.00000000 0.00000000 41.90725885 0.04339943 0.00000000 0.00000000 12.95529437 0.15632019 0.00000000 0.00000000 4.43832674 0.29419997 0.00000000 0.00000000 1.54622479 0.23536824 0.00000000 0.00000000 0.35607612 0.00000000 1.00000000 0.00000000 0.10008514 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.35000000 1.00000000 a 15 $ PHOSPHORUS (10s,7p) -> [4s,3p] $ PHOSPHORUS (1d) $ S-TYPE FUNCTIONS 10 4 0 8002.47951100 0.00575035 0.00000000 0.00000000 0.00000000 1203.68135900 0.04300763 0.00000000 0.00000000 0.00000000 273.44227030 0.19363986 0.00000000 0.00000000 0.00000000 76.65554152 0.49651693 0.00000000 0.00000000 0.00000000 23.51692744 0.44983262 0.00000000 0.00000000 0.00000000 39.79168344 0.00000000 0.09518813 0.00000000 0.00000000 4.27703433 0.00000000 -0.57649840 0.00000000 0.00000000 1.69402569 0.00000000 -0.54239584 0.00000000 0.00000000 0.27567675 0.00000000 0.00000000 1.00000000 0.00000000 0.10495590 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 219.50755820 0.00921006 0.00000000 0.00000000 51.27415503 0.06540977 0.00000000 0.00000000 15.92159589 0.24033730 0.00000000 0.00000000 5.50699135 0.46318322 0.00000000 0.00000000 1.95377194 0.37392563 0.00000000 0.00000000 0.47803398 0.00000000 1.00000000 0.00000000 0.13657953 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.45000000 1.00000000 a 16 $ SULFUR (10s,7p) -> [4s,3p] $ SULFUR (1d) $ S-TYPE FUNCTIONS 10 4 0 9184.93030100 -0.00222944 0.00000000 0.00000000 0.00000000 1381.51055000 -0.01668303 0.00000000 0.00000000 0.00000000 313.87147580 -0.07526244 0.00000000 0.00000000 0.00000000 88.05387062 -0.19376827 0.00000000 0.00000000 0.00000000 27.03991491 -0.17718021 0.00000000 0.00000000 0.00000000 45.64873130 0.00000000 -0.10736063 0.00000000 0.00000000 4.96645223 0.00000000 0.65066293 0.00000000 0.00000000 2.01162420 0.00000000 0.59712155 0.00000000 0.00000000 0.35661077 0.00000000 0.00000000 1.00000000 0.00000000 0.13507221 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 261.98233440 -0.00927299 0.00000000 0.00000000 61.30689474 -0.06654767 0.00000000 0.00000000 19.10372989 -0.24828596 0.00000000 0.00000000 6.65677204 -0.48703847 0.00000000 0.00000000 2.39596352 -0.39337850 0.00000000 0.00000000 0.61776162 0.00000000 1.00000000 0.00000000 0.16993377 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.55000000 1.00000000 a 17 $ CHLORINE (10s,7p) -> [4s,3p] $ CHLORINE (1d) $ S-TYPE FUNCTIONS 10 4 0 10449.82757 0.00197084 0.00000000 0.00000000 0.00000000 1571.73652200 0.01475473 0.00000000 0.00000000 0.00000000 357.12065520 0.06667911 0.00000000 0.00000000 0.00000000 100.25185940 0.17228924 0.00000000 0.00000000 0.00000000 30.81272755 0.15883786 0.00000000 0.00000000 0.00000000 51.92378943 0.00000000 -0.10009299 0.00000000 0.00000000 5.70457610 0.00000000 0.60841753 0.00000000 0.00000000 2.35083768 0.00000000 0.54352153 0.00000000 0.00000000 0.44605125 0.00000000 0.00000000 1.00000000 0.00000000 0.16848856 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 307.66790570 -0.00878015 0.00000000 0.00000000 72.10201551 -0.06356336 0.00000000 0.00000000 22.53268026 -0.24016428 0.00000000 0.00000000 7.89917654 -0.47798867 0.00000000 0.00000000 2.87672683 -0.38515850 0.00000000 0.00000000 0.77459364 0.00000000 1.00000000 0.00000000 0.21037700 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.65000000 1.00000000 a 18 $ ARGON (10s,7p) -> [4s,3p] $ ARGON (1d) $ S-TYPE FUNCTIONS 10 4 0 11797.11977 0.00202145 0.00000000 0.00000000 0.00000000 1774.35227500 0.01513985 0.00000000 0.00000000 0.00000000 403.18875730 0.06852540 0.00000000 0.00000000 0.00000000 113.24934000 0.17762929 0.00000000 0.00000000 0.00000000 34.83529819 0.16496495 0.00000000 0.00000000 0.00000000 58.61477504 0.00000000 -0.10343394 0.00000000 0.00000000 6.49220451 0.00000000 0.63133366 0.00000000 0.00000000 2.71170144 0.00000000 0.54887572 0.00000000 0.00000000 0.54412975 0.00000000 0.00000000 1.00000000 0.00000000 0.20517411 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 356.28707260 -0.00873218 0.00000000 0.00000000 83.59313287 -0.06368032 0.00000000 0.00000000 26.18670403 -0.24311907 0.00000000 0.00000000 9.22572759 -0.48956070 0.00000000 0.00000000 3.39227549 -0.39229190 0.00000000 0.00000000 0.94740534 0.00000000 1.00000000 0.00000000 0.25659135 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.96900000 1.00000000 a 19 $ POTASSIUM (14s,8p) -> [5s,2p] $ POTASSIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 31478.74676 0.00398387 0.00000000 0.00000000 0.00000000 0.00000000 4726.88760700 0.03050176 0.00000000 0.00000000 0.00000000 0.00000000 1075.43453500 0.15073753 0.00000000 0.00000000 0.00000000 0.00000000 303.39811020 0.51912940 0.00000000 0.00000000 0.00000000 0.00000000 98.32711283 1.03669570 0.00000000 0.00000000 0.00000000 0.00000000 33.63622218 0.76398963 0.00000000 0.00000000 0.00000000 0.00000000 65.63920996 0.00000000 -0.28242617 0.00000000 0.00000000 0.00000000 7.31625922 0.00000000 1.69149359 0.00000000 0.00000000 0.00000000 2.89025801 0.00000000 1.29653320 0.00000000 0.00000000 0.00000000 4.54597490 0.00000000 0.00000000 -0.00763436 0.00000000 0.00000000 0.70404124 0.00000000 0.00000000 0.02563572 0.00000000 0.00000000 0.28266889 0.00000000 0.00000000 0.01660686 0.00000000 0.00000000 0.02905816 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01211164 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 361.22492150 0.02090648 0.00000000 0.00000000 84.67022217 0.15043642 0.00000000 0.00000000 26.46908824 0.55440061 0.00000000 0.00000000 9.26580776 1.04090100 0.00000000 0.00000000 3.34233883 0.67825341 0.00000000 0.00000000 1.51008761 0.00000000 0.75248191 0.00000000 0.56568375 0.00000000 1.37085850 0.00000000 0.20817009 0.00000000 0.66047633 0.00000000 0.41737000 0.00000000 0.00000000 1.00000000 a 20 $ CALCIUM (14s,8p) -> [5s,2p] $ CALCIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 35138.71393 0.00394825 0.00000000 0.00000000 0.00000000 0.00000000 5276.41113500 0.03023424 0.00000000 0.00000000 0.00000000 0.00000000 1200.46925900 0.14952020 0.00000000 0.00000000 0.00000000 0.00000000 338.71810540 0.51597346 0.00000000 0.00000000 0.00000000 0.00000000 109.85385920 1.03395103 0.00000000 0.00000000 0.00000000 0.00000000 37.60888030 0.76937934 0.00000000 0.00000000 0.00000000 0.00000000 73.10797755 0.00000000 -0.28268525 0.00000000 0.00000000 0.00000000 8.24077057 0.00000000 1.67960921 0.00000000 0.00000000 0.00000000 3.29598130 0.00000000 1.28037660 0.00000000 0.00000000 0.00000000 5.23418009 0.00000000 0.00000000 -0.00768686 0.00000000 0.00000000 0.84187221 0.00000000 0.00000000 0.02538238 0.00000000 0.00000000 0.36510294 0.00000000 0.00000000 0.01651217 0.00000000 0.00000000 0.05122240 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01982511 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 413.11313890 0.02032714 0.00000000 0.00000000 96.93578622 0.14730276 0.00000000 0.00000000 30.37215466 0.54887167 0.00000000 0.00000000 10.68477683 1.04406598 0.00000000 0.00000000 3.88212584 0.68653491 0.00000000 0.00000000 1.79930163 0.00000000 0.75410247 0.00000000 0.69189057 0.00000000 1.34092966 0.00000000 0.26364024 0.00000000 0.56391989 0.00000000 0.74979000 0.00000000 0.00000000 1.00000000 a 21 $ SCANDIUM (14s,8p,5d) -> [5s,2p,2d] $ SCANDIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 38956.08180 0.00392932 0.00000000 0.00000000 0.00000000 0.00000000 5849.57336400 0.03009322 0.00000000 0.00000000 0.00000000 0.00000000 1330.88131500 0.14890371 0.00000000 0.00000000 0.00000000 0.00000000 375.55534170 0.51464283 0.00000000 0.00000000 0.00000000 0.00000000 121.87261370 1.03377081 0.00000000 0.00000000 0.00000000 0.00000000 41.76024373 0.77436852 0.00000000 0.00000000 0.00000000 0.00000000 81.06063395 0.00000000 -0.28318552 0.00000000 0.00000000 0.00000000 9.20598240 0.00000000 1.67708070 0.00000000 0.00000000 0.00000000 3.70632157 0.00000000 1.25947337 0.00000000 0.00000000 0.00000000 5.98889100 0.00000000 0.00000000 -0.00778214 0.00000000 0.00000000 0.97363432 0.00000000 0.00000000 0.02549969 0.00000000 0.00000000 0.42041019 0.00000000 0.00000000 0.01619156 0.00000000 0.00000000 0.05944055 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02289781 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 466.31481260 0.01998430 0.00000000 0.00000000 109.51217100 0.14561043 0.00000000 0.00000000 34.37592183 0.54687466 0.00000000 0.00000000 12.14209696 1.04790060 0.00000000 0.00000000 4.43367677 0.68894890 0.00000000 0.00000000 2.09712919 0.00000000 0.75619215 0.00000000 0.80977607 0.00000000 1.31782122 0.00000000 0.30834047 0.00000000 0.54312268 0.00000000 0.89748000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 19.24033493 0.02703908 0.00000000 5.11789959 0.13803685 0.00000000 1.65542788 0.34869086 0.00000000 0.54016356 0.48594186 0.00000000 0.16211215 0.00000000 0.34374449 a 22 $ TITANIUM (14s,8p,5d) -> [5s,2p,2d] $ TITANIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 42961.51218 0.00391276 0.00000000 0.00000000 0.00000000 0.00000000 6450.97591700 0.02996982 0.00000000 0.00000000 0.00000000 0.00000000 1467.72109200 0.14836353 0.00000000 0.00000000 0.00000000 0.00000000 414.20997350 0.51347285 0.00000000 0.00000000 0.00000000 0.00000000 134.48715840 1.03353655 0.00000000 0.00000000 0.00000000 0.00000000 46.12220980 0.77854234 0.00000000 0.00000000 0.00000000 0.00000000 89.44776254 0.00000000 -0.28385401 0.00000000 0.00000000 0.00000000 10.22334606 0.00000000 1.67727853 0.00000000 0.00000000 0.00000000 4.13537743 0.00000000 1.24119285 0.00000000 0.00000000 0.00000000 6.78961815 0.00000000 0.00000000 -0.00784000 0.00000000 0.00000000 1.11067307 0.00000000 0.00000000 0.02549549 0.00000000 0.00000000 0.47565976 0.00000000 0.00000000 0.01606117 0.00000000 0.00000000 0.06598696 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02521034 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 522.03684780 0.01975418 0.00000000 0.00000000 122.68649490 0.14460678 0.00000000 0.00000000 38.57290361 0.54669004 0.00000000 0.00000000 13.67216932 1.05316475 0.00000000 0.00000000 5.01185294 0.69111213 0.00000000 0.00000000 2.41319283 0.00000000 0.75803437 0.00000000 0.93252270 0.00000000 1.30362414 0.00000000 0.35429058 0.00000000 0.53638653 0.00000000 0.10156100 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 23.46512596 0.02653638 0.00000000 6.33325938 0.13796454 0.00000000 2.07664900 0.35312644 0.00000000 0.69027362 0.48647124 0.00000000 0.21088739 0.00000000 0.33026314 a 23 $ VANADIUM (14s,8p,5d) -> [5s,2p,2d] $ VANADIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 47160.37606 0.00144987 0.00000000 0.00000000 0.00000000 0.00000000 7081.41108700 0.01110644 0.00000000 0.00000000 0.00000000 0.00000000 1611.16212200 0.05500542 0.00000000 0.00000000 0.00000000 0.00000000 454.72940550 0.19060253 0.00000000 0.00000000 0.00000000 0.00000000 147.71321210 0.38435023 0.00000000 0.00000000 0.00000000 0.00000000 50.69953895 0.29095547 0.00000000 0.00000000 0.00000000 0.00000000 98.26249267 0.00000000 -0.10942338 0.00000000 0.00000000 0.00000000 11.29429310 0.00000000 0.64539490 0.00000000 0.00000000 0.00000000 4.58533601 0.00000000 0.47117881 0.00000000 0.00000000 0.00000000 7.63596896 0.00000000 0.00000000 -0.22454949 0.00000000 0.00000000 1.25398367 0.00000000 0.00000000 0.72594853 0.00000000 0.00000000 0.53271935 0.00000000 0.00000000 0.45560583 0.00000000 0.00000000 0.07224624 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02735809 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 580.55044990 0.00973151 0.00000000 0.00000000 136.52341130 0.07153124 0.00000000 0.00000000 42.98395882 0.27197688 0.00000000 0.00000000 15.28279876 0.52618989 0.00000000 0.00000000 5.62024952 0.34452533 0.00000000 0.00000000 2.74853864 0.00000000 0.34040396 0.00000000 1.06185501 0.00000000 0.57983996 0.00000000 0.40235519 0.00000000 0.23911643 0.00000000 0.11124800 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 27.35843402 0.02664193 0.00000000 7.45406042 0.13995312 0.00000000 2.46339178 0.35751067 0.00000000 0.82480925 0.48488354 0.00000000 0.25257905 0.00000000 0.32332845 a 24 $ CHROMIUM (14s,8p,5d) -> [5s,2p,2d] $ CHROMIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 51528.08635 0.00144058 0.00000000 0.00000000 0.00000000 0.00000000 7737.21034900 0.01103620 0.00000000 0.00000000 0.00000000 0.00000000 1760.37484700 0.05467665 0.00000000 0.00000000 0.00000000 0.00000000 496.87706540 0.18965038 0.00000000 0.00000000 0.00000000 0.00000000 161.46520600 0.38295413 0.00000000 0.00000000 0.00000000 0.00000000 55.46635227 0.29090051 0.00000000 0.00000000 0.00000000 0.00000000 107.54733000 0.00000000 -0.10932281 0.00000000 0.00000000 0.00000000 12.40867190 0.00000000 0.64472599 0.00000000 0.00000000 0.00000000 5.04236288 0.00000000 0.46262713 0.00000000 0.00000000 0.00000000 8.54616402 0.00000000 0.00000000 -0.22711013 0.00000000 0.00000000 1.39004412 0.00000000 0.00000000 0.73301528 0.00000000 0.00000000 0.56066603 0.00000000 0.00000000 0.44225565 0.00000000 0.00000000 0.07148371 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02825069 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 640.48536100 0.00961267 0.00000000 0.00000000 150.69711190 0.07088983 0.00000000 0.00000000 47.50375530 0.27065259 0.00000000 0.00000000 16.93412017 0.52437343 0.00000000 0.00000000 6.24096806 0.34107995 0.00000000 0.00000000 3.08854632 0.00000000 0.33973987 0.00000000 1.17910478 0.00000000 0.57272063 0.00000000 0.43369774 0.00000000 0.24582728 0.00000000 0.12067500 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 27.55947943 0.03061249 0.00000000 7.46870203 0.15593271 0.00000000 2.43459036 0.36984421 0.00000000 0.78244755 0.47071118 0.00000000 0.21995774 0.00000000 0.33941650 a 25 $ MANGANESE (14s,8p,5d) -> [5s,2p,2d] $ MANGANESE (1p) $ S-TYPE FUNCTIONS 14 5 0 56137.00904 0.00143213 0.00000000 0.00000000 0.00000000 0.00000000 8429.20639400 0.01097251 0.00000000 0.00000000 0.00000000 0.00000000 1917.82772300 0.05438247 0.00000000 0.00000000 0.00000000 0.00000000 541.36230200 0.18884335 0.00000000 0.00000000 0.00000000 0.00000000 176.00069140 0.38198025 0.00000000 0.00000000 0.00000000 0.00000000 60.50047701 0.29156773 0.00000000 0.00000000 0.00000000 0.00000000 117.17282880 0.00000000 -0.10933661 0.00000000 0.00000000 0.00000000 13.59697337 0.00000000 0.64305039 0.00000000 0.00000000 0.00000000 5.54839963 0.00000000 0.45848971 0.00000000 0.00000000 0.00000000 9.46628535 0.00000000 0.00000000 -0.22538977 0.00000000 0.00000000 1.55950061 0.00000000 0.00000000 0.72307759 0.00000000 0.00000000 0.65230206 0.00000000 0.00000000 0.45300722 0.00000000 0.00000000 0.08400373 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03125610 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 706.00497540 0.00950555 0.00000000 0.00000000 166.19728820 0.07035627 0.00000000 0.00000000 52.45206191 0.27005557 0.00000000 0.00000000 18.74693286 0.52574345 0.00000000 0.00000000 6.92829916 0.34254033 0.00000000 0.00000000 3.47722049 0.00000000 0.33994074 0.00000000 1.34069065 0.00000000 0.57203836 0.00000000 0.50498803 0.00000000 0.23847606 0.00000000 0.12765000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 35.42326493 0.02698530 0.00000000 9.78142215 0.14383459 0.00000000 3.26734888 0.36418958 0.00000000 1.10264722 0.48152671 0.00000000 0.33743206 0.00000000 0.31458754 a 26 $ IRON (14s,8p,5d) -> [5s,2p,2d] $ IRON (1p) $ S-TYPE FUNCTIONS 14 5 0 60923.64064 0.00143023 0.00000000 0.00000000 0.00000000 0.00000000 9147.88939800 0.01095879 0.00000000 0.00000000 0.00000000 0.00000000 2081.35059300 0.05433255 0.00000000 0.00000000 0.00000000 0.00000000 587.55977070 0.18884995 0.00000000 0.00000000 0.00000000 0.00000000 191.09043990 0.38253070 0.00000000 0.00000000 0.00000000 0.00000000 65.73273011 0.29308336 0.00000000 0.00000000 0.00000000 0.00000000 127.25891930 0.00000000 -0.10964565 0.00000000 0.00000000 0.00000000 14.83091301 0.00000000 0.64387631 0.00000000 0.00000000 0.00000000 6.06533074 0.00000000 0.45472347 0.00000000 0.00000000 0.00000000 10.44994371 0.00000000 0.00000000 -0.22539640 0.00000000 0.00000000 1.72452280 0.00000000 0.00000000 0.72164398 0.00000000 0.00000000 0.71772177 0.00000000 0.00000000 0.44985493 0.00000000 0.00000000 0.09144983 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03370669 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 773.43750990 0.00943257 0.00000000 0.00000000 182.15149710 0.07002962 0.00000000 0.00000000 57.54727276 0.26993652 0.00000000 0.00000000 20.61498894 0.52700011 0.00000000 0.00000000 7.63485579 0.34284148 0.00000000 0.00000000 3.87193280 0.00000000 0.33974403 0.00000000 1.49247241 0.00000000 0.56842594 0.00000000 0.56061285 0.00000000 0.23649366 0.00000000 0.13491500 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 38.96813342 0.02787966 0.00000000 10.80006708 0.14858320 0.00000000 3.61364580 0.36905479 0.00000000 1.21299679 0.47745101 0.00000000 0.36524393 0.00000000 0.31418142 a 27 $ COBALT (14s,8p,5d) -> [5s,2p,2d] $ COBALT (1p) $ S-TYPE FUNCTIONS 14 5 0 65902.20826 0.00142846 0.00000000 0.00000000 0.00000000 0.00000000 9895.38960300 0.01094607 0.00000000 0.00000000 0.00000000 0.00000000 2251.43057900 0.05428595 0.00000000 0.00000000 0.00000000 0.00000000 635.61097080 0.18885179 0.00000000 0.00000000 0.00000000 0.00000000 206.78820680 0.38301635 0.00000000 0.00000000 0.00000000 0.00000000 71.17924297 0.29443551 0.00000000 0.00000000 0.00000000 0.00000000 137.77268040 0.00000000 -0.10990222 0.00000000 0.00000000 0.00000000 16.11807924 0.00000000 0.64455537 0.00000000 0.00000000 0.00000000 6.60303277 0.00000000 0.45116788 0.00000000 0.00000000 0.00000000 11.47991579 0.00000000 0.00000000 -0.22593847 0.00000000 0.00000000 1.89564263 0.00000000 0.00000000 0.72231409 0.00000000 0.00000000 0.78466232 0.00000000 0.00000000 0.44903812 0.00000000 0.00000000 0.09842577 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03594574 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 843.64358580 0.00938661 0.00000000 0.00000000 198.76386990 0.06988021 0.00000000 0.00000000 62.85496310 0.27037070 0.00000000 0.00000000 22.56284228 0.52904787 0.00000000 0.00000000 8.37132091 0.34357030 0.00000000 0.00000000 4.28587198 0.00000000 0.34027999 0.00000000 1.65080418 0.00000000 0.56693392 0.00000000 0.61834231 0.00000000 0.23617980 0.00000000 0.14130800 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 42.92786761 0.02848779 0.00000000 11.94253305 0.15206951 0.00000000 4.00464957 0.37310914 0.00000000 1.34131938 0.47549838 0.00000000 0.40015010 0.00000000 0.31346831 a 28 $ NICKEL (14s,8p,5d) -> [5s,2p,2d] $ NICKEL (1p) $ S-TYPE FUNCTIONS 14 5 0 71074.80321 0.00142604 0.00000000 0.00000000 0.00000000 0.00000000 10672.02094 0.01092824 0.00000000 0.00000000 0.00000000 0.00000000 2428.13890100 0.05421263 0.00000000 0.00000000 0.00000000 0.00000000 685.53595150 0.18874769 0.00000000 0.00000000 0.00000000 0.00000000 223.10072860 0.38324617 0.00000000 0.00000000 0.00000000 0.00000000 76.84201404 0.29550637 0.00000000 0.00000000 0.00000000 0.00000000 148.71122020 0.00000000 -0.11014443 0.00000000 0.00000000 0.00000000 17.45915499 0.00000000 0.64521427 0.00000000 0.00000000 0.00000000 7.16252807 0.00000000 0.44797838 0.00000000 0.00000000 0.00000000 12.55613713 0.00000000 0.00000000 -0.22645403 0.00000000 0.00000000 2.07357405 0.00000000 0.00000000 0.72320959 0.00000000 0.00000000 0.85382641 0.00000000 0.00000000 0.44868026 0.00000000 0.00000000 0.10536766 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03813409 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 916.73608660 0.00934396 0.00000000 0.00000000 216.06139910 0.06973737 0.00000000 0.00000000 68.38391482 0.27073495 0.00000000 0.00000000 24.59384395 0.53078302 0.00000000 0.00000000 9.13929602 0.34410229 0.00000000 0.00000000 4.71933717 0.00000000 0.34076082 0.00000000 1.81618492 0.00000000 0.56580170 0.00000000 0.67840751 0.00000000 0.23616717 0.00000000 0.14658800 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 47.09383211 0.02898232 0.00000000 13.14646397 0.15494996 0.00000000 4.41705489 0.37633115 0.00000000 1.47715651 0.47365096 0.00000000 0.43735922 0.00000000 0.31247838 a 29 $ COPPER (14s,8p,5d) -> [5s,2p,2d] $ COPPER (1p) $ S-TYPE FUNCTIONS 14 5 0 76381.34806 0.00143361 0.00000000 0.00000000 0.00000000 0.00000000 11468.77750 0.01098675 0.00000000 0.00000000 0.00000000 0.00000000 2609.42464900 0.05451365 0.00000000 0.00000000 0.00000000 0.00000000 736.75033100 0.18990128 0.00000000 0.00000000 0.00000000 0.00000000 239.82419960 0.38581959 0.00000000 0.00000000 0.00000000 0.00000000 82.65682925 0.29790607 0.00000000 0.00000000 0.00000000 0.00000000 160.13544200 0.00000000 -0.11146779 0.00000000 0.00000000 0.00000000 18.83417770 0.00000000 0.65349301 0.00000000 0.00000000 0.00000000 7.71765957 0.00000000 0.44770534 0.00000000 0.00000000 0.00000000 13.71084672 0.00000000 0.00000000 -0.22870911 0.00000000 0.00000000 2.23498957 0.00000000 0.00000000 0.73464423 0.00000000 0.00000000 0.87818360 0.00000000 0.00000000 0.43273071 0.00000000 0.00000000 0.08718746 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03296911 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 991.24075780 0.00938785 0.00000000 0.00000000 233.69376120 0.07020828 0.00000000 0.00000000 74.02093093 0.27323522 0.00000000 0.00000000 26.66496745 0.53580793 0.00000000 0.00000000 9.91920875 0.34575795 0.00000000 0.00000000 5.15195539 0.00000000 0.34229108 0.00000000 1.96382058 0.00000000 0.56456592 0.00000000 0.71560097 0.00000000 0.24078584 0.00000000 0.15506500 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 47.33504959 0.03237555 0.00000000 13.16166608 0.16810219 0.00000000 4.36937772 0.38477708 0.00000000 1.41329251 0.46147880 0.00000000 0.38878001 0.00000000 0.32388873 a 30 $ ZINC (13s,8p,5d) -> [5s,2p,2d] $ ZINC (1p) $ S-TYPE FUNCTIONS 14 5 0 82000.71163 0.00142108 0.00000000 0.00000000 0.00000000 0.00000000 12312.47178 0.01089150 0.00000000 0.00000000 0.00000000 0.00000000 2801.39441900 0.05405719 0.00000000 0.00000000 0.00000000 0.00000000 790.99424300 0.18847464 0.00000000 0.00000000 0.00000000 0.00000000 257.56551080 0.38346549 0.00000000 0.00000000 0.00000000 0.00000000 88.81493340 0.29723794 0.00000000 0.00000000 0.00000000 0.00000000 171.86353720 0.00000000 -0.11051850 0.00000000 0.00000000 0.00000000 20.30253478 0.00000000 0.64607717 0.00000000 0.00000000 0.00000000 8.34641231 0.00000000 0.44220117 0.00000000 0.00000000 0.00000000 14.84753694 0.00000000 0.00000000 -0.22705309 0.00000000 0.00000000 2.44950295 0.00000000 0.00000000 0.72433218 0.00000000 0.00000000 0.99845822 0.00000000 0.00000000 0.44836496 0.00000000 0.00000000 0.11891308 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04229743 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 1071.51853700 0.00927678 0.00000000 0.00000000 252.69712150 0.06954115 0.00000000 0.00000000 80.10082913 0.27156773 0.00000000 0.00000000 28.90339317 0.53401356 0.00000000 0.00000000 10.76889988 0.34501323 0.00000000 0.00000000 5.64462125 0.00000000 0.34129600 0.00000000 2.16782913 0.00000000 0.56390522 0.00000000 0.80540898 0.00000000 0.23676110 0.00000000 0.16245500 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 56.08893919 0.02958887 0.00000000 15.75190892 0.15872571 0.00000000 5.31158124 0.37976229 0.00000000 1.77379049 0.46898959 0.00000000 0.51975584 0.00000000 0.30907149 a 31 $ GALLIUM (14s,10p,5d) -> [5s,4p,2d] $ GALLIUM (1d) $ S-TYPE FUNCTIONS 14 5 0 87842.12630 0.00142716 0.00000000 0.00000000 0.00000000 0.00000000 13189.49640 0.01093889 0.00000000 0.00000000 0.00000000 0.00000000 3000.94821400 0.05430820 0.00000000 0.00000000 0.00000000 0.00000000 847.38425970 0.18951056 0.00000000 0.00000000 0.00000000 0.00000000 276.00980640 0.38615186 0.00000000 0.00000000 0.00000000 0.00000000 95.21667207 0.30051083 0.00000000 0.00000000 0.00000000 0.00000000 184.00703970 0.00000000 -0.11124462 0.00000000 0.00000000 0.00000000 21.82705143 0.00000000 0.64831323 0.00000000 0.00000000 0.00000000 9.00269638 0.00000000 0.44358384 0.00000000 0.00000000 0.00000000 16.03317694 0.00000000 0.00000000 -0.23014300 0.00000000 0.00000000 2.67077249 0.00000000 0.00000000 0.72946862 0.00000000 0.00000000 1.12528342 0.00000000 0.00000000 0.46214977 0.00000000 0.00000000 0.15967609 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05764304 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1167.26658400 0.00909740 0.00000000 0.00000000 0.00000000 275.38062790 0.06845627 0.00000000 0.00000000 0.00000000 87.37507307 0.26922294 0.00000000 0.00000000 0.00000000 31.59725467 0.53507898 0.00000000 0.00000000 0.00000000 11.82412280 0.35279063 0.00000000 0.00000000 0.00000000 6.28818451 0.00000000 0.33938245 0.00000000 0.00000000 2.51998532 0.00000000 0.56871948 0.00000000 0.00000000 1.01697263 0.00000000 0.27717695 0.00000000 0.00000000 0.24748374 0.00000000 0.00000000 1.00000000 0.00000000 0.06668529 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 65.35423767 0.02737015 0.00000000 0.00000000 18.50465675 0.15099464 0.00000000 0.00000000 6.31796206 0.37485329 0.00000000 0.00000000 2.16413894 0.47510607 0.00000000 0.00000000 0.66693093 0.00000000 0.29843287 0.00000000 0.20700000 0.00000000 0.00000000 1.00000000 a 32 $ GERMANIUM (14s,10p,5d) -> [5s,4p,2d] $ GERMANIUM (1d) $ S-TYPE FUNCTIONS 14 5 0 93889.83664 0.00142340 0.00000000 0.00000000 0.00000000 0.00000000 14097.49753 0.01091080 0.00000000 0.00000000 0.00000000 0.00000000 3207.54773100 0.05418371 0.00000000 0.00000000 0.00000000 0.00000000 905.76727270 0.18922820 0.00000000 0.00000000 0.00000000 0.00000000 295.11014690 0.38612847 0.00000000 0.00000000 0.00000000 0.00000000 101.84713140 0.30164051 0.00000000 0.00000000 0.00000000 0.00000000 196.56719660 0.00000000 -0.11118771 0.00000000 0.00000000 0.00000000 23.40529252 0.00000000 0.64616007 0.00000000 0.00000000 0.00000000 9.68391167 0.00000000 0.44188905 0.00000000 0.00000000 0.00000000 17.26973654 0.00000000 0.00000000 -0.23027421 0.00000000 0.00000000 2.89646222 0.00000000 0.00000000 0.73017169 0.00000000 0.00000000 1.25536214 0.00000000 0.00000000 0.46197222 0.00000000 0.00000000 0.20213081 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07386791 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1259.20860000 0.00901155 0.00000000 0.00000000 0.00000000 297.15626380 0.06798684 0.00000000 0.00000000 0.00000000 94.35338752 0.26853856 0.00000000 0.00000000 0.00000000 34.17632968 0.53659649 0.00000000 0.00000000 0.00000000 12.81613962 0.35633515 0.00000000 0.00000000 0.00000000 6.84710298 0.00000000 0.33900693 0.00000000 0.00000000 2.77173639 0.00000000 0.56809365 0.00000000 0.00000000 1.14584182 0.00000000 0.27246540 0.00000000 0.00000000 0.30679632 0.00000000 0.00000000 1.00000000 0.00000000 0.08928364 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 74.78216818 0.02575586 0.00000000 0.00000000 21.31084976 0.14536816 0.00000000 0.00000000 7.34647924 0.37134210 0.00000000 0.00000000 2.56562714 0.48002998 0.00000000 0.00000000 0.81981773 0.00000000 0.28978791 0.00000000 0.24600000 0.00000000 0.00000000 1.00000000 a 33 $ ARSENIC (14s,10p,5d) -> [5s,4p,2d] $ ARSENIC (1d) $ S-TYPE FUNCTIONS 14 5 0 100146.52550 0.00142583 0.00000000 0.00000000 0.00000000 0.00000000 15036.86171 0.01093018 0.00000000 0.00000000 0.00000000 0.00000000 3421.29028300 0.05429417 0.00000000 0.00000000 0.00000000 0.00000000 966.16965720 0.18976078 0.00000000 0.00000000 0.00000000 0.00000000 314.87394030 0.38775195 0.00000000 0.00000000 0.00000000 0.00000000 108.70823790 0.30402812 0.00000000 0.00000000 0.00000000 0.00000000 209.54238950 0.00000000 -0.11162094 0.00000000 0.00000000 0.00000000 25.03822114 0.00000000 0.64697608 0.00000000 0.00000000 0.00000000 10.39096434 0.00000000 0.44223609 0.00000000 0.00000000 0.00000000 18.55509009 0.00000000 0.00000000 -0.22994191 0.00000000 0.00000000 3.12812175 0.00000000 0.00000000 0.73319108 0.00000000 0.00000000 1.38848851 0.00000000 0.00000000 0.45533654 0.00000000 0.00000000 0.24714362 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09142943 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1355.64435100 0.00891825 0.00000000 0.00000000 0.00000000 319.99929270 0.06745475 0.00000000 0.00000000 0.00000000 101.67734090 0.26759772 0.00000000 0.00000000 0.00000000 36.88632384 0.53776845 0.00000000 0.00000000 0.00000000 13.86111591 0.35992570 0.00000000 0.00000000 0.00000000 7.42606669 0.00000000 0.34036850 0.00000000 0.00000000 3.03162472 0.00000000 0.57030149 0.00000000 0.00000000 1.27830783 0.00000000 0.26606170 0.00000000 0.00000000 0.37568503 0.00000000 0.00000000 1.00000000 0.00000000 0.11394805 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 84.44551454 0.02451840 0.00000000 0.00000000 24.19041610 0.14107455 0.00000000 0.00000000 8.40450151 0.36875229 0.00000000 0.00000000 2.98089708 0.48409561 0.00000000 0.00000000 0.97909243 0.00000000 0.28250269 0.00000000 0.29300000 0.00000000 0.00000000 1.00000000 a 34 $ SELENIUM (14s,10p,5d) -> [5s,4p,2d] $ SELENIUM (1d) $ S-TYPE FUNCTIONS 14 5 0 106612.20030 0.00142749 0.00000000 0.00000000 0.00000000 0.00000000 16007.60470 0.01094353 0.00000000 0.00000000 0.00000000 0.00000000 3642.16997100 0.05437417 0.00000000 0.00000000 0.00000000 0.00000000 1028.59129900 0.19018093 0.00000000 0.00000000 0.00000000 0.00000000 335.30298890 0.38913022 0.00000000 0.00000000 0.00000000 0.00000000 115.80129150 0.30620207 0.00000000 0.00000000 0.00000000 0.00000000 222.93325020 0.00000000 -0.11198808 0.00000000 0.00000000 0.00000000 26.72625793 0.00000000 0.64752124 0.00000000 0.00000000 0.00000000 11.12450192 0.00000000 0.44241977 0.00000000 0.00000000 0.00000000 19.88852006 0.00000000 0.00000000 -0.22857228 0.00000000 0.00000000 3.36684738 0.00000000 0.00000000 0.73591360 0.00000000 0.00000000 1.52492778 0.00000000 0.00000000 0.44330200 0.00000000 0.00000000 0.29630038 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11009289 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1455.90681200 0.00882036 0.00000000 0.00000000 0.00000000 343.75101830 0.06687585 0.00000000 0.00000000 0.00000000 109.29554960 0.26640578 0.00000000 0.00000000 0.00000000 39.70771102 0.53834928 0.00000000 0.00000000 0.00000000 14.95018523 0.36303282 0.00000000 0.00000000 0.00000000 8.02089621 0.00000000 0.34153807 0.00000000 0.00000000 3.29346498 0.00000000 0.57257907 0.00000000 0.00000000 1.40586024 0.00000000 0.25549813 0.00000000 0.00000000 0.45076123 0.00000000 0.00000000 1.00000000 0.00000000 0.13353413 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 94.49402404 0.02349010 0.00000000 0.00000000 27.18818526 0.13747736 0.00000000 0.00000000 9.50915673 0.36649929 0.00000000 0.00000000 3.41705169 0.48750990 0.00000000 0.00000000 1.14795901 0.00000000 0.27657943 0.00000000 0.33800000 0.00000000 0.00000000 1.00000000 a 35 $ BROMINE (14s,10p,5d) -> [5s,4p,2d] $ BROMINE (1d) $ S-TYPE FUNCTIONS 14 5 0 113286.38780 0.00142830 0.00000000 0.00000000 0.00000000 0.00000000 17009.62630 0.01095042 0.00000000 0.00000000 0.00000000 0.00000000 3870.18425700 0.05442101 0.00000000 0.00000000 0.00000000 0.00000000 1093.03572300 0.19047908 0.00000000 0.00000000 0.00000000 0.00000000 356.39721800 0.39024643 0.00000000 0.00000000 0.00000000 0.00000000 123.12539640 0.30814433 0.00000000 0.00000000 0.00000000 0.00000000 236.74084010 0.00000000 -0.11228066 0.00000000 0.00000000 0.00000000 28.46866107 0.00000000 0.64775962 0.00000000 0.00000000 0.00000000 11.88344372 0.00000000 0.44235576 0.00000000 0.00000000 0.00000000 21.26963331 0.00000000 0.00000000 -0.22642576 0.00000000 0.00000000 3.61292268 0.00000000 0.00000000 0.73823712 0.00000000 0.00000000 1.66266490 0.00000000 0.00000000 0.42683869 0.00000000 0.00000000 0.34823793 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13019031 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1560.28018800 0.00871667 0.00000000 0.00000000 0.00000000 368.47859200 0.06624364 0.00000000 0.00000000 0.00000000 117.22978850 0.26495610 0.00000000 0.00000000 0.00000000 42.64890925 0.53839161 0.00000000 0.00000000 0.00000000 16.08722510 0.36579388 0.00000000 0.00000000 0.00000000 8.63528101 0.00000000 0.34248787 0.00000000 0.00000000 3.56136655 0.00000000 0.57500678 0.00000000 0.00000000 1.52926266 0.00000000 0.24330394 0.00000000 0.00000000 0.53064295 0.00000000 0.00000000 1.00000000 0.00000000 0.15702759 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 104.85518640 0.02265015 0.00000000 0.00000000 30.28114369 0.13455483 0.00000000 0.00000000 10.65139427 0.36474455 0.00000000 0.00000000 3.86994562 0.49044587 0.00000000 0.00000000 1.32408768 0.00000000 0.27137289 0.00000000 0.38900000 0.00000000 0.00000000 1.00000000 a 36 $ KRYPTON (14s,10p,5d) -> [5s,4p,2d] $ KRYPTON (1d) $ S-TYPE FUNCTIONS 14 5 0 120165.64880 0.00142942 0.00000000 0.00000000 0.00000000 0.00000000 18042.50017 0.01095960 0.00000000 0.00000000 0.00000000 0.00000000 4105.18003900 0.05447965 0.00000000 0.00000000 0.00000000 0.00000000 1159.44472500 0.19081239 0.00000000 0.00000000 0.00000000 0.00000000 378.13810350 0.39140446 0.00000000 0.00000000 0.00000000 0.00000000 130.67610050 0.31007347 0.00000000 0.00000000 0.00000000 0.00000000 250.96373350 0.00000000 -0.11258604 0.00000000 0.00000000 0.00000000 30.26593038 0.00000000 0.64816323 0.00000000 0.00000000 0.00000000 12.66811076 0.00000000 0.44240239 0.00000000 0.00000000 0.00000000 22.69794010 0.00000000 0.00000000 -0.22391965 0.00000000 0.00000000 3.86730174 0.00000000 0.00000000 0.74060953 0.00000000 0.00000000 1.80137067 0.00000000 0.00000000 0.40803658 0.00000000 0.00000000 0.40308639 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15170528 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1668.57366200 0.00862150 0.00000000 0.00000000 0.00000000 394.13862800 0.06566551 0.00000000 0.00000000 0.00000000 125.46644850 0.26366577 0.00000000 0.00000000 0.00000000 45.70499273 0.53867659 0.00000000 0.00000000 0.00000000 17.27013323 0.36865168 0.00000000 0.00000000 0.00000000 9.26994878 0.00000000 0.34346189 0.00000000 0.00000000 3.83646177 0.00000000 0.57784776 0.00000000 0.00000000 1.64671633 0.00000000 0.23075615 0.00000000 0.00000000 0.61479686 0.00000000 0.00000000 1.00000000 0.00000000 0.18319467 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 115.55868600 0.02194549 0.00000000 0.00000000 33.47798586 0.13211213 0.00000000 0.00000000 11.83445021 0.36333307 0.00000000 0.00000000 4.34082549 0.49300484 0.00000000 0.00000000 1.50792732 0.00000000 0.26676859 0.00000000 0.44300000 0.00000000 0.00000000 1.00000000 $END OF BASIS ergo-3.5/basis/Turbomole-DZP0000664000175000017500000022200212743400275012671 00000000000000$Basis = Turbomole-DZP $15.01.07 typos fixed (Li,Be,P,Sc,V,Cr,Ga,Se) david.wilson@latrobe.edu.au $ $******************************************************************************** $ NOTE: this is the Turbomole DZP basis set, not the Ahlrichs-pVDZ from EMSL $******************************************************************************** $ $ Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca $ Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr $ $ REFERENCE $ Elements References $ -------- ---------- $ H - Kr: A. Schafer, H. Horn and R. Ahlrichs, J. Chem. Phys. 97, 2571 (1992). $*********************************************************************** a 1 $ HYDROGEN (4s) -> [2s] $ HYDROGEN (1p) $ S-TYPE FUNCTIONS 4 2 0 13.01070100 0.01968216 0.00000000 1.96225720 0.13796524 0.00000000 0.44453796 0.47831935 0.00000000 0.12194962 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.80000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ HELIUM (1p) $ S-TYPE FUNCTIONS 4 2 0 38.35493674 0.02381429 0.00000000 5.76890815 0.15490907 0.00000000 1.23994070 0.46998097 0.00000000 0.29757816 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 3 $ LITHIUM (8s) -> [4s] $ LITHIUM (1p) $ S-TYPE FUNCTIONS 8 4 0 1484.27860000 0.00076252 0.00000000 0.00000000 0.00000000 222.69992000 0.00587246 0.00000000 0.00000000 0.00000000 50.68454600 0.02968575 0.00000000 0.00000000 0.00000000 14.31666600 0.10983724 0.00000000 0.00000000 0.00000000 4.59432600 0.28534702 0.00000000 0.00000000 0.00000000 1.58299110 0.00000000 1.00000000 0.00000000 0.00000000 0.56225886 0.00000000 0.00000000 1.00000000 0.00000000 0.04787105 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.17000000 1.00000000 a 4 $ BERYLLIUM (8s) -> [4s] $ BERYLLIUM (2p) $ S-TYPE FUNCTIONS 8 4 0 1429.9977041 0.00182253 0.00000000 0.00000000 0.00000000 214.72706466 0.01392939 0.00000000 0.00000000 0.00000000 48.839314750 0.06829046 0.00000000 0.00000000 0.00000000 13.697512092 0.23188729 0.00000000 0.00000000 0.00000000 4.2820865621 0.49993168 0.00000000 0.00000000 0.00000000 1.3937553677 0.00000000 1.00000000 0.00000000 0.00000000 0.1904399024 0.00000000 0.00000000 1.00000000 0.00000000 0.0618134048 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 3.63169172 -0.02903400 0.00000000 0.71695694 -0.16877854 0.00000000 0.19541933 -0.51403420 0.00000000 0.60515466 0.00000000 1.00000000 a 5 $ BORON (8s,4p) -> [4s,2p] $ BORON (1d) $ S-TYPE FUNCTIONS 8 4 0 2410.2061000 0.00175499 0.00000000 0.00000000 0.00000000 361.8699200 0.01343641 0.00000000 0.00000000 0.00000000 82.30859300 0.06636903 0.00000000 0.00000000 0.00000000 23.10994200 0.23025297 0.00000000 0.00000000 0.00000000 7.25172590 0.51498212 0.00000000 0.00000000 0.00000000 2.36664690 0.00000000 1.00000000 0.00000000 0.00000000 0.35987078 0.00000000 0.00000000 1.00000000 0.00000000 0.11162889 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 6.001707300 -0.03554532 0.0000000 1.240109700 -0.19834505 0.0000000 0.336680240 -0.50478729 0.0000000 0.095590862 0.00000000 1.0000000 $ D-TYPE FUNCTIONS 1 1 0 0.50000000 1.00000000 a 6 $ CARBON (8s,4p) -> [4s,2p] $ CARBON (1d) $ S-TYPE FUNCTIONS 8 4 0 3623.8613000 0.00163392 0.00000000 0.00000000 0.00000000 544.0462100 0.01252170 0.00000000 0.00000000 0.00000000 123.7433800 0.06211391 0.00000000 0.00000000 0.00000000 34.7632090 0.21817729 0.00000000 0.00000000 0.00000000 10.9333330 0.49800431 0.00000000 0.00000000 0.00000000 3.57447650 0.00000000 1.00000000 0.00000000 0.00000000 0.57483245 0.00000000 0.00000000 1.00000000 0.00000000 0.17303640 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 9.44328190 0.03789545 0.00000000 2.00179860 0.20818177 0.00000000 0.54629718 0.50474166 0.00000000 0.15202684 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.80000000 1.00000000 a 7 $ NITROGEN (8s,4p) -> [4s,2p] $ NITROGEN (1d) $ S-TYPE FUNCTIONS 8 4 0 5071.98920000 0.00170672 0.00000000 0.00000000 0.00000000 761.41791000 0.01308770 0.00000000 0.00000000 0.00000000 173.18418000 0.06509825 0.00000000 0.00000000 0.00000000 48.67039000 0.23051603 0.00000000 0.00000000 0.00000000 15.33144800 0.53300474 0.00000000 0.00000000 0.00000000 5.01867100 0.00000000 1.00000000 0.00000000 0.00000000 0.83554772 0.00000000 0.00000000 1.00000000 0.00000000 0.24626814 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 13.55072200 0.04063084 0.00000000 2.91786820 0.22085799 0.00000000 0.79831252 0.51860142 0.00000000 0.21900125 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 8 $ OXYGEN (8s,4p) -> [4s,2p] $ OXYGEN (1d) $ S-TYPE FUNCTIONS 8 4 0 6773.37470000 0.00172661 0.00000000 0.00000000 0.00000000 1016.79700000 0.01324648 0.00000000 0.00000000 0.00000000 231.26738000 0.06602616 0.00000000 0.00000000 0.00000000 65.00845400 0.23528361 0.00000000 0.00000000 0.00000000 20.49980800 0.54976236 0.00000000 0.00000000 0.00000000 6.71606640 0.00000000 1.00000000 0.00000000 0.00000000 1.14715720 0.00000000 0.00000000 1.00000000 0.00000000 0.33423251 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 17.69426400 0.04359022 0.00000000 3.85360270 0.23178087 0.00000000 1.04674650 0.51455969 0.00000000 0.27586043 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.20000000 1.00000000 a 9 $ FLUORINE (8s,4p) -> [4s,2p] $ NEON (1d) $ S-TYPE FUNCTIONS 8 4 0 8709.5462000 0.00139357 0.00000000 0.00000000 0.00000000 1307.4134000 0.01069507 0.00000000 0.00000000 0.00000000 297.3644100 0.05338931 0.00000000 0.00000000 0.00000000 83.6021540 0.19112479 0.00000000 0.00000000 0.00000000 26.3851210 0.44987537 0.00000000 0.00000000 0.00000000 8.64991740 0.00000000 1.00000000 0.00000000 0.00000000 1.50432910 0.00000000 0.00000000 1.00000000 0.00000000 0.43408405 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 22.66599400 0.03402887 0.00000000 4.97603410 0.17865315 0.00000000 1.34765430 0.38497323 0.00000000 0.34775168 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.88800000 1.00000000 a 10 $ NEON (8s,4p) -> [4s,2p] $ NEON (1d) $ S-TYPE FUNCTIONS 8 4 0 10880.939306 -0.00170162 0.00000000 0.00000000 0.00000000 1633.3374648 -0.01306253 0.00000000 0.00000000 0.00000000 371.49062178 -0.06528233 0.00000000 0.00000000 0.00000000 104.45545964 -0.23451308 0.00000000 0.00000000 0.00000000 32.988575872 -0.55500083 0.00000000 0.00000000 0.00000000 10.820620157 0.00000000 1.00000000 0.00000000 0.00000000 1.9072526872 0.00000000 0.00000000 1.00000000 0.00000000 .54586681979 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 28.391507535 0.04644649 0.00000000 6.2702151539 0.24193624 0.00000000 1.6963316642 0.51206997 0.00000000 0.4324828638 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.88800000 1.00000000 a 11 $ SODIUM (11s,5p) -> [6s,2p] $ SODIUM (1p) $ S-TYPE FUNCTIONS 11 6 0 28048.884797 0.00046752 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4207.0284406 0.00361333 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 957.88477766 0.01852918 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 272.15296475 0.07129398 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 91.091312119 0.19046447 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.078679609 0.00000000 0.41823582 0.00000000 0.00000000 0.00000000 0.00000000 20.306999872 0.00000000 0.45441714 0.00000000 0.00000000 0.00000000 0.00000000 9.2665418351 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.2160241629 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .69205019147 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .04052449719 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 75.430599161 0.01542495 0.00000000 0.00000000 17.277911860 0.09975477 0.00000000 0.00000000 5.1829377222 0.31216741 0.00000000 0.00000000 1.6602128738 0.49268483 0.00000000 0.00000000 .51271194274 0.00000000 1.00000000 0.00000000 0.52000000 0.00000000 0.00000000 1.00000000 a 12 $ MAGNESIUM (11s,5p) -> [6s,2p] $ MAGNESIUM (1p) $ S-TYPE FUNCTIONS 11 6 0 27472.334150 0.00066060 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4121.2426211 0.00509953 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 938.08725539 0.02603752 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 265.74694894 0.09932010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 86.890815391 0.27056219 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.518085008 0.00000000 0.20077752 0.00000000 0.00000000 0.00000000 0.00000000 12.105011298 0.00000000 0.12837397 0.00000000 0.00000000 0.00000000 0.00000000 2.6398546036 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 .90143194859 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .10699143095 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .04005758947 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 98.0605066090 0.01448240 0.00000000 0.00000000 22.5847139410 0.09554979 0.00000000 0.00000000 6.83774003260 0.30796449 0.00000000 0.00000000 2.23336063390 0.49945454 0.00000000 0.00000000 0.71625757083 0.00000000 0.31472896 0.00000000 0.18914796 0.00000000 0.00000000 1.00000000 a 13 $ ALUMINUM (11s,7p) -> [6s,4p] $ ALUMINUM (1d) $ S-TYPE FUNCTIONS 11 6 0 32386.38100000 0.00062663 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4858.40560000 0.00483760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1105.91770000 0.02470575 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 313.39239000 0.09426715 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 102.65495000 0.25654901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.409873000 0.00000000 0.45465579 0.00000000 0.00000000 0.00000000 0.00000000 14.457878000 0.00000000 0.29587144 0.00000000 0.00000000 0.00000000 0.00000000 3.240526600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.162081200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.176911700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.065413993 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 145.675780000 0.01057249 0.00000000 0.00000000 0.00000000 33.847508000 0.07309955 0.00000000 0.00000000 0.00000000 10.413547000 0.25799051 0.00000000 0.00000000 0.00000000 3.531103000 0.47538177 0.00000000 0.00000000 0.00000000 1.205175000 0.00000000 1.00000000 0.00000000 0.00000000 0.271888500 0.00000000 0.00000000 1.00000000 0.00000000 0.071464661 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.30000000 1.00000000 a 14 $ SILICON (11s,7p) -> [6s,4p] $ SILICON (1d) $ S-TYPE FUNCTIONS 11 6 0 37778.32100000 0.00061382 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5667.24390000 0.00473908 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1290.06360000 0.02420910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 365.66405000 0.09242287 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 119.94065000 0.25154881 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.863083000 0.00000000 0.45306131 0.00000000 0.00000000 0.00000000 0.00000000 17.032537000 0.00000000 0.29955749 0.00000000 0.00000000 0.00000000 0.00000000 3.890771600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.446955800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.255320590 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.093327812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 178.34977 0.01025016 0.00000000 0.00000000 0.00000000 41.549427 0.07174731 0.00000000 0.00000000 0.00000000 12.842944 0.25746447 0.00000000 0.00000000 0.00000000 4.3972841 0.48214275 0.00000000 0.00000000 0.00000000 1.531189400 0.00000000 1.00000000 0.00000000 0.00000000 0.344435160 0.00000000 0.00000000 1.00000000 0.00000000 0.097809520 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.35000000 1.00000000 a 15 $ PHOSPHORUS (11s,7p) -> [6s,4p] $ PHOSPHORUS (1d) $ S-TYPE FUNCTIONS 11 6 0 43629.146384 0.00060291 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6544.9101761 0.00465515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1489.8784631 0.02378670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 422.38300193 0.09086664 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 138.69747966 0.24743795 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 50.865386699 0.00000000 0.45854747 0.00000000 0.00000000 0.00000000 0.00000000 19.826936819 0.00000000 0.30750563 0.00000000 0.00000000 0.00000000 0.00000000 4.5933029207 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.7570187795 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .34358804778 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .12451452677 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 215.97067949 0.00997036 0.00000000 0.00000000 0.00000000 50.428986942 0.07061427 0.00000000 0.00000000 0.00000000 15.653604009 0.25773443 0.00000000 0.00000000 0.00000000 5.4085976775 0.49153068 0.00000000 0.00000000 0.00000000 1.9189363936 0.00000000 1.00000000 0.00000000 0.00000000 .45420822084 0.00000000 0.00000000 1.00000000 0.00000000 .13190937083 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.45000000 1.00000000 a 16 $ SULFUR (11s,7p) -> [6s,4p] $ SULFUR (1d) $ S-TYPE FUNCTIONS 11 6 0 49931.306 0.00063275 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7490.2711 0.00488586 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1705.1055 0.02497198 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 483.47884 0.09545409 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 158.90589 0.26010998 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 58.413186 0.00000000 0.46095982 0.00000000 0.00000000 0.00000000 0.00000000 22.841767 0.00000000 0.31306229 0.00000000 0.00000000 0.00000000 0.00000000 5.3498518 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.0927789 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .44225000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .15874342 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 253.96442 0.00983902 0.00000000 0.00000000 0.00000000 59.394576 0.07024181 0.00000000 0.00000000 0.00000000 18.493871 0.25887557 0.00000000 0.00000000 0.00000000 6.4332816 0.49717317 0.00000000 0.00000000 0.00000000 2.3192912 0.00000000 1.00000000 0.00000000 0.00000000 .57410823 0.00000000 0.00000000 1.00000000 0.00000000 .16151193 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.55000000 1.00000000 a 17 $ CHLORINE (11s,7p) -> [6s,4p] $ CHLORINE (1d) $ S-TYPE FUNCTIONS 11 6 0 56684.838 0.00068913 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8503.3349 0.00532157 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1935.7459 0.02720543 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 548.95093 0.10405530 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 180.56372 0.28378057 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 66.503343 0.00000000 0.46220669 0.00000000 0.00000000 0.00000000 0.00000000 26.074159 0.00000000 0.31745467 0.00000000 0.00000000 0.00000000 0.00000000 6.1597909 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.4530894 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .55026285 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .19609318 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 293.05101 0.01064152 0.00000000 0.00000000 0.00000000 68.618132 0.07642011 0.00000000 0.00000000 0.00000000 21.418399 0.28335382 0.00000000 0.00000000 0.00000000 7.4912517 0.54501469 0.00000000 0.00000000 0.00000000 2.7386125 0.00000000 1.00000000 0.00000000 0.00000000 .70840486 0.00000000 0.00000000 1.00000000 0.00000000 .19755060 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.65000000 1.00000000 a 18 $ ARGON (11s,7p) -> [6s,4p] $ ARGON (1d) $ S-TYPE FUNCTIONS 11 6 0 63887.472828 0.00060679 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9583.7593589 0.00468605 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2181.7219111 0.02396184 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 618.77695604 0.09170349 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 203.66405413 0.25031342 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.133884493 0.00000000 0.46264301 0.00000000 0.00000000 0.00000000 0.00000000 29.523641372 0.00000000 0.32094773 0.00000000 0.00000000 0.00000000 0.00000000 7.0236865832 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.8378923141 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .66753250636 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .23653398697 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 332.06591997 0.01010188 0.00000000 0.00000000 0.00000000 77.822111152 0.07282546 0.00000000 0.00000000 0.00000000 24.336734690 0.27064490 0.00000000 0.00000000 0.00000000 8.5477344907 0.51824788 0.00000000 0.00000000 0.00000000 3.1621383978 0.00000000 1.00000000 0.00000000 0.00000000 .85405481066 0.00000000 0.00000000 1.00000000 0.00000000 .23833382586 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.96900000 1.00000000 a 19 $ POTASSIUM (14s,9p) -> [8s,5p] $ POTASSIUM (1p) $ S-TYPE FUNCTIONS 14 8 0 182594.27324 -0.00022775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 27369.004986 -0.00176640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 6229.1737971 -0.00919497 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1764.5823486 -0.03745508 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 577.05120588 -0.12204454 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 210.24933364 -0.29898972 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 82.617830641 0.00000000 -0.40514697 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 33.233184522 0.00000000 -0.29253151 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 8.1064902102 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 3.3340258818 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 .84554422261 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 .32821626529 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 .03640352849 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 .01764628646 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 $ P-TYPE FUNCTIONS 10 6 0 891.05446872 0.00218429 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 211.01581996 0.01758911 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 67.671412378 0.08177747 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.271488100 0.00000000 0.24565632 0.00000000 0.00000000 0.00000000 0.00000000 10.138958969 0.00000000 0.43398377 0.00000000 0.00000000 0.00000000 0.00000000 4.2018627167 0.00000000 0.36237665 0.00000000 0.00000000 0.00000000 0.00000000 1.6029467214 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 .61461253051 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .22199300786 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.41737000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 20 $ CALCIUM (14s,9p) -> [8s,5p] $ CALCIUM (1p) $ S-TYPE FUNCTIONS 14 8 0 202698.95519 0.00022296 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 30382.465915 0.00172932 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 6915.0833150 0.00900226 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1959.0210984 0.03666989 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 640.93602075 0.11940987 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 233.97696836 0.29182526 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 92.289198312 0.00000000 0.40441528 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 37.254479906 0.00000000 0.29631289 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 9.1319843289 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 3.8177857927 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 1.0493475069 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 .42865991519 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 .06282263898 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 .02601623787 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 $ P-TYPE FUNCTIONS 10 6 0 1019.7607638 -0.00205986 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 241.59630759 -0.01665008 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 77.637012084 -0.07776460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 29.115419425 0.00000000 -0.24180561 0.00000000 0.00000000 0.00000000 0.00000000 11.762593591 0.00000000 -0.43257799 0.00000000 0.00000000 0.00000000 0.00000000 4.9228924219 0.00000000 -0.36732482 0.00000000 0.00000000 0.00000000 0.00000000 1.9223257245 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 .75796196942 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .28430199095 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.74979000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 21 $ SCANDIUM (14s,9p,5d) -> [8s,5p,3d] $ SCANDIUM (1p) $ S-TYPE FUNCTIONS 14 8 0 224356.94297 0.00021996 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 33628.706060 0.00170604 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 7654.0171483 0.00888153 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 2168.4396566 0.03618370 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 709.62663857 0.11783927 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 259.31731327 0.28791645 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 102.47803758 0.00000000 0.36705138 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 41.443139691 0.00000000 0.27161996 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 10.201855624 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 4.3044982698 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 1.2219457424 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 .49725181441 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 .07272807752 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 .02939382928 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 $ P-TYPE FUNCTIONS 10 6 0 1154.9909592 0.00201027 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 273.70496612 0.01630507 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 88.069327311 0.07652789 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 33.110760026 0.00000000 0.23950904 0.00000000 0.00000000 0.00000000 0.00000000 13.436440751 0.00000000 0.43235380 0.00000000 0.00000000 0.00000000 0.00000000 5.6580984638 0.00000000 0.36969429 0.00000000 0.00000000 0.00000000 0.00000000 2.2436704314 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 .88798004276 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .33282409733 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.89748000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 19.238524038 0.02705466 0.00000000 0.00000000 5.1173305876 0.13813250 0.00000000 0.00000000 1.6549883906 0.34895303 0.00000000 0.00000000 .54017604591 0.00000000 1.00000000 0.00000000 .16210625295 0.00000000 0.00000000 1.00000000 a 22 $ TITANIUM (14s,9p,5d) -> [8s,5p,3d] $ TITANIUM (1p) $ S-TYPE FUNCTIONS 14 8 0 247254.20472 -0.00022396 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 37060.747577 -0.00173712 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 8435.1700312 -0.00904390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 2389.8299020 -0.03685082 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 782.23119870 -0.12004208 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 286.06776406 -0.29336894 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 113.20644330 0.00000000 -0.39817815 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 45.845720390 0.00000000 -0.29713034 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 11.328524813 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 4.8125219381 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 1.3957658690 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.5632789519 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.0805129593 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.0319264578 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 $ P-TYPE FUNCTIONS 10 6 0 1298.4162107 0.00202474 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 307.75625781 0.01647259 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 99.131233927 0.07766728 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.345305562 0.00000000 0.24328820 0.00000000 0.00000000 0.00000000 0.00000000 15.210712602 0.00000000 0.44259359 0.00000000 0.00000000 0.00000000 0.00000000 6.4368981418 0.00000000 0.38049636 0.00000000 0.00000000 0.00000000 0.00000000 2.5843928911 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0229993308 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3823395902 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10156100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 23.465751001 0.02654283 0.00000000 0.00000000 6.3332300693 0.13802285 0.00000000 0.00000000 2.0764079893 0.35327843 0.00000000 0.00000000 0.6904116039 0.00000000 1.00000000 0.00000000 0.2109251522 0.00000000 0.00000000 1.00000000 a 23 $ VANADIUM (14s,9p,5d) -> [8s,5p,3d] $ VANADIUM (1p) $ S-TYPE FUNCTIONS 14 8 0 271348.15944 0.00021967 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 40672.005078 0.00170386 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 9257.0761385 0.00887137 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 2622.7328773 0.03615432 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 858.59480185 0.11780891 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 314.19418650 0.28802536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 124.47862127 0.00000000 0.42757917 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 50.469399309 0.00000000 0.32144231 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 12.513846911 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 5.3447758082 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 1.5755631295 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 0.6306903307 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 0.0879544416 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 0.0342969197 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 10 6 0 1450.0319327 -0.00195174 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 343.75049884 -0.01592201 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 110.82521708 -0.07538526 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 41.822464546 0.00000000 -0.23665641 0.00000000 0.00000000 0.00000000 0.00000000 17.088073710 0.00000000 -0.43346920 0.00000000 0.00000000 0.00000000 0.00000000 7.2613218939 0.00000000 -0.37433001 0.00000000 0.00000000 0.00000000 0.00000000 2.9458145262 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.1650209680 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.4339937839 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11124800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 27.360335864 0.02664427 0.00000000 0.00000000 7.4542765527 0.13999436 0.00000000 0.00000000 2.4632270217 0.35761186 0.00000000 0.00000000 0.8249954244 0.00000000 1.00000000 0.00000000 0.2526297057 0.00000000 0.00000000 1.00000000 a 24 $ CHROMIUM (14s,9p,5d) -> [8s,5p,3d] $ CHROMIUM (1p) $ S-TYPE FUNCTIONS 14 8 0 296910.38175 0.00021632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 44503.297981 0.00167789 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 10129.083731 0.00873677 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 2869.8125395 0.03561401 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 939.52851828 0.11612082 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 343.87667562 0.28429366 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 136.27242081 0.00000000 0.39618805 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 55.274935910 0.00000000 0.29934143 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 13.753715065 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 5.8893064458 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 1.7366781917 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 0.6761901817 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 0.0921876160 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 0.0361201071 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 10 6 0 1608.8743670 0.00193645 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 381.42987006 0.01583901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 123.01926841 0.07535015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.446782128 0.00000000 0.23949451 0.00000000 0.00000000 0.00000000 0.00000000 19.003494760 0.00000000 0.44099403 0.00000000 0.00000000 0.00000000 0.00000000 8.0889965397 0.00000000 0.38019976 0.00000000 0.00000000 0.00000000 0.00000000 3.3013703884 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.2877624138 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.4654684426 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.12067500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 27.546733731 0.03063326 0.00000000 0.00000000 7.4647940726 0.15604066 0.00000000 0.00000000 2.4327524296 0.37003058 0.00000000 0.00000000 0.7818781773 0.00000000 1.00000000 0.00000000 0.2197737763 0.00000000 0.00000000 1.00000000 a 25 $ MANGANESE (14s,9p,5d) -> [8s,5p,3d] $ MANGANESE (1p) $ S-TYPE FUNCTIONS 14 8 0 323081.74475 -0.00021859 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 48425.987147 -0.00169554 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 11021.928421 -0.00882905 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 3122.8651683 -0.03599386 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1022.5702211 -0.11736441 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 374.56667732 -0.28725943 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 148.65013953 0.00000000 -0.38025988 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 60.379056785 0.00000000 -0.28945411 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 15.061289037 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 6.4827687206 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 1.9535131494 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 0.7701785025 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 0.1019202536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 0.0386197484 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 10 6 0 1777.8786824 -0.00193316 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 421.57754180 -0.01584401 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 136.11333999 -0.07556898 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.506778634 0.00000000 -0.23597435 0.00000000 0.00000000 0.00000000 0.00000000 21.153225441 0.00000000 -0.43718792 0.00000000 0.00000000 0.00000000 0.00000000 9.0477144185 0.00000000 -0.38024193 0.00000000 0.00000000 0.00000000 0.00000000 3.7308563614 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.4705331536 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5439184098 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.12765000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 35.424816646 0.02827075 0.00000000 0.00000000 9.7813282131 0.15071665 0.00000000 0.00000000 3.2670712909 0.38158552 0.00000000 0.00000000 1.1028271910 0.00000000 1.00000000 0.00000000 0.3374808657 0.00000000 0.00000000 1.00000000 a 26 $ IRON (14s,9p,5d) -> [8s,5p,3d] $ IRON (1p) $ S-TYPE FUNCTIONS 14 8 0 350644.12607 0.00021930 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 52557.104477 0.00170109 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 11962.157603 0.00885852 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 3389.2987902 0.03611937 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1109.9409814 0.11780528 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 406.75892124 0.28846626 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 161.55419196 0.00000000 0.38162019 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 65.675211180 0.00000000 0.29212575 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 16.425713224 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 7.0930281780 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 2.1594285091 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 0.8477134907 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 0.1107949621 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 0.0413168043 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 10 6 0 1953.6045319 0.00193816 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 463.29314066 0.01591620 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 149.67493331 0.07614915 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56.707112031 0.00000000 0.23624430 0.00000000 0.00000000 0.00000000 0.00000000 23.341028866 0.00000000 0.43978885 0.00000000 0.00000000 0.00000000 0.00000000 10.011393164 0.00000000 0.38362586 0.00000000 0.00000000 0.00000000 0.00000000 4.1564019580 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.6369582567 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.6037629747 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13491500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 38.966442392 0.02788407 0.00000000 0.00000000 10.798970877 0.14863135 0.00000000 0.00000000 3.6129748398 0.36912959 0.00000000 0.00000000 1.2130285825 0.00000000 1.00000000 0.00000000 0.3652397846 0.00000000 0.00000000 1.00000000 a 27 $ COBALT (14s,9p,5d) -> [8s,5p,3d] $ COBALT (1p) $ S-TYPE FUNCTIONS 14 8 0 379411.77461 -0.00021548 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 56868.934396 -0.00167144 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 12943.608462 -0.00870445 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 3667.4532601 -0.03549617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1201.1404591 -0.11581023 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 440.33919478 -0.28374608 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 175.00035297 0.00000000 -0.38404173 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 71.190981549 0.00000000 -0.29545416 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 17.849007924 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 7.7276070252 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 2.3708060829 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 0.9262827161 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 0.1190862053 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 0.0437823922 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 10 6 0 2137.6007768 -0.00190579 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 506.97292174 -0.01567839 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 163.87524881 -0.07522963 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 62.151898991 0.00000000 -0.23369231 0.00000000 0.00000000 0.00000000 0.00000000 25.632331435 0.00000000 -0.43693103 0.00000000 0.00000000 0.00000000 0.00000000 11.020739027 0.00000000 -0.38210863 0.00000000 0.00000000 0.00000000 0.00000000 4.6024341479 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.8102832176 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.6656922371 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14130800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 42.924372777 0.02975487 0.00000000 0.00000000 11.940809601 0.15885714 0.00000000 0.00000000 4.0037210467 0.38970618 0.00000000 0.00000000 1.3412566852 0.00000000 0.49652611 0.00000000 0.4001124188 0.00000000 0.00000000 0.32719933 a 28 $ NICKEL (14s,9p,5d) -> [8s,5p,3d] $ NICKEL (1p) $ S-TYPE FUNCTIONS 14 8 0 409347.86899 0.00021252 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 61355.839255 0.00164849 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 13964.858128 0.00858533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 3956.8598699 0.03501533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1296.0290474 0.11427673 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 475.27876516 0.28015249 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 188.98838775 0.00000000 0.39246284 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 76.928736976 0.00000000 0.30331302 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 19.331828730 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 8.3876399732 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 2.5894342897 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 1.0071374699 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 0.1273257312 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 0.0461898063 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 10 6 0 2329.8384386 -0.00184142 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 552.60693015 -0.01517369 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 178.71193584 -0.07300467 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 67.841750813 0.00000000 -0.23224845 0.00000000 0.00000000 0.00000000 0.00000000 28.028033533 0.00000000 -0.43596047 0.00000000 0.00000000 0.00000000 0.00000000 12.076469199 0.00000000 -0.38213786 0.00000000 0.00000000 0.00000000 0.00000000 5.0694186684 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.9911895236 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .73006887823 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14658800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 47.088303645 0.03152258 0.00000000 0.00000000 13.144067226 0.16855326 0.00000000 0.00000000 4.4158589541 0.40930005 0.00000000 0.00000000 1.4769996640 0.00000000 0.51501528 0.00000000 .43728964755 0.00000000 0.00000000 0.33962671 a 29 $ COPPER (14s,9p,5d) -> [8s,5p,3d] $ COPPER (1p) $ S-TYPE FUNCTIONS 14 8 0 441087.25070 -0.00021814 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 66112.021187 -0.00169219 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 15047.011425 -0.00881371 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 4263.4273084 -0.03595466 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1396.3815797 -0.11742970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 511.96055788 -0.28844267 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 203.45426948 0.00000000 -0.42678899 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 82.792337027 0.00000000 -0.33044129 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 20.854285634 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 9.0410679584 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 2.7518135173 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 1.0434856515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .11172292442 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .04104102033 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 10 6 0 2530.0965671 0.00191379 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 600.09792954 0.01579767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 194.08204479 0.07627126 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 73.671821377 0.00000000 0.23881452 0.00000000 0.00000000 0.00000000 0.00000000 30.447369690 0.00000000 0.44980016 0.00000000 0.00000000 0.00000000 0.00000000 13.122714875 0.00000000 0.39337682 0.00000000 0.00000000 0.00000000 0.00000000 5.5214839972 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.1457922130 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .76797488702 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15506500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 47.313743703 0.03239976 0.00000000 0.00000000 13.154688449 0.16822707 0.00000000 0.00000000 4.3662885749 0.38494430 0.00000000 0.00000000 1.4122065936 0.00000000 1.00000000 0.00000000 .38840713001 0.00000000 0.00000000 1.00000000 a 30 $ ZINC (14s,9p,5d) -> [8s,5p,3d] $ ZINC (1p) $ S-TYPE FUNCTIONS 14 8 0 472745.94164 -0.00021701 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 70858.099484 -0.00168338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 16127.639733 -0.00876775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 4569.7614320 -0.03576876 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1496.9765379 -0.11680699 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 549.25646888 -0.28670653 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 218.59011012 0.00000000 -0.42684317 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 89.068823328 0.00000000 -0.33251990 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 22.475751693 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 9.7836990852 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 3.0476097903 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 1.1751310173 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .14336738100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .05076150426 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 10 6 0 2738.9909849 -0.00187091 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 649.72995198 -0.01546153 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 210.29129074 -0.07475263 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 79.954360369 0.00000000 -0.23286955 0.00000000 0.00000000 0.00000000 0.00000000 33.131290448 0.00000000 -0.44019360 0.00000000 0.00000000 0.00000000 0.00000000 14.326395837 0.00000000 -0.38736391 0.00000000 0.00000000 0.00000000 0.00000000 6.0658646628 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.3753719617 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 .86596317258 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.16245500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 56.079664803 0.02959823 0.00000000 0.00000000 15.748259098 0.15879185 0.00000000 0.00000000 5.3098927689 0.37984178 0.00000000 0.00000000 1.7734652510 0.00000000 1.00000000 0.00000000 .51963233927 0.00000000 0.00000000 1.00000000 a 31 $ GALLIUM (14s,11p,5d) -> [8s,6p,2d] $ GALLIUM (1d) $ S-TYPE FUNCTIONS 14 8 0 505335.63296 0.00020974 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 75742.783844 0.00162697 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 17239.466305 0.00847412 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 4884.9379362 0.03457115 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1600.5426736 0.11286666 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 587.75692288 0.27673632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 234.30109797 0.00000000 0.38518444 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 95.611618032 0.00000000 0.30199565 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 24.169750218 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 10.570603407 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 3.3873246666 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 1.3329947879 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .19249282002 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .07055192343 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 2971.6078970 0.00159917 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 705.19903787 0.01322248 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 228.76520451 0.06379157 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 87.456391077 0.21775083 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 36.540231966 0.00000000 0.41394919 0.00000000 0.00000000 0.00000000 0.00000000 15.974579723 0.00000000 0.37538236 0.00000000 0.00000000 0.00000000 0.00000000 6.8870611525 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.8318589081 0.00000000 0.00000000 0.00000000 0.58552518 0.00000000 0.00000000 1.1078009985 0.00000000 0.00000000 0.00000000 0.33671543 0.00000000 0.00000000 .23450858657 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .06362688125 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 65.344641807 0.02737834 0.00000000 0.00000000 18.500577517 0.15105669 0.00000000 0.00000000 6.3162058406 0.37491843 0.00000000 0.00000000 2.1638832514 0.47510265 0.00000000 0.00000000 .66688378425 0.00000000 1.00000000 0.00000000 0.20700000 0.00000000 0.00000000 1.00000000 a 32 $ GERMANIUM (14s,11p,5d) -> [8s,6p,2d] $ GERMANIUM (1d) $ S-TYPE FUNCTIONS 14 8 0 538981.20859 -0.00021201 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 80785.768954 -0.00164460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 18387.321539 -0.00856607 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 5210.3369514 -0.03494637 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1707.4890772 -0.11406152 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 627.54854073 -0.27936328 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 250.56696133 0.00000000 -0.39100943 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 102.39333101 0.00000000 -0.30845092 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 25.923923344 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 11.389081191 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 3.7472808901 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 1.5027733307 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .24441033890 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .09120539355 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 3196.8571212 0.00150930 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 758.78574707 0.01248854 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 246.40186162 0.06025329 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 94.429089481 0.00000000 0.22636610 0.00000000 0.00000000 0.00000000 0.00000000 39.602333266 0.00000000 0.43152372 0.00000000 0.00000000 0.00000000 0.00000000 17.394023219 0.00000000 0.39496423 0.00000000 0.00000000 0.00000000 0.00000000 7.5468872383 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.1497947773 0.00000000 0.00000000 0.00000000 0.59773653 0.00000000 0.00000000 1.2651485767 0.00000000 0.00000000 0.00000000 0.34946773 0.00000000 0.00000000 .30024031728 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .08731918721 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 74.776447903 0.02576022 0.00000000 0.00000000 21.307762727 0.14540992 0.00000000 0.00000000 7.3452966023 0.37136368 0.00000000 0.00000000 2.5656881541 0.48003150 0.00000000 0.00000000 .81988587339 0.00000000 1.00000000 0.00000000 0.24600000 0.00000000 0.00000000 1.00000000 a 33 $ ARSENIC (14s,11p,5d) -> [8s,6p,2d] $ ARSENIC (1d) $ S-TYPE FUNCTIONS 14 8 0 573690.51140 -0.00021423 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 85988.183455 -0.00166187 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 19571.474270 -0.00865618 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 5546.0309804 -0.03531404 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1817.8361947 -0.11523139 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 668.63675492 -0.28192647 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 267.38795948 0.00000000 -0.39133530 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 109.41335253 0.00000000 -0.31052652 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 27.737766818 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 12.238528675 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 4.1265920360 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 1.6835020306 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .29954009858 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .11318866642 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 3425.0975358 -0.00147374 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 813.08797098 -0.01220147 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 264.28414769 -0.05885734 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 101.51263702 0.00000000 -0.20573149 0.00000000 0.00000000 0.00000000 0.00000000 42.722350677 0.00000000 -0.39286344 0.00000000 0.00000000 0.00000000 0.00000000 18.845113977 0.00000000 -0.36196398 0.00000000 0.00000000 0.00000000 0.00000000 8.2254455309 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.4766363492 0.00000000 0.00000000 0.00000000 -0.59644553 0.00000000 0.00000000 1.4285918301 0.00000000 0.00000000 0.00000000 -0.35023592 0.00000000 0.00000000 .37149795090 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .11244760708 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 84.442621644 0.02452047 0.00000000 0.00000000 24.188051726 0.14110224 0.00000000 0.00000000 8.4037833603 0.36874385 0.00000000 0.00000000 2.9811949434 0.48410290 0.00000000 0.00000000 .97923123794 0.00000000 1.00000000 0.00000000 0.29300000 0.00000000 0.00000000 1.00000000 a 34 $ SELENIUM (14s,11p,5d) -> [8s,6p,2d] $ SELENIUM (1d) $ S-TYPE FUNCTIONS 14 8 0 609461.56165 0.00020666 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 91349.728469 0.00160315 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 20791.844910 0.00835041 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 5892.0009402 0.03406659 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 1931.5795523 0.11113200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 711.02173299 0.27160877 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 284.76563000 0.00000000 0.40353358 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 116.67280336 0.00000000 0.32201538 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 29.611379847 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 13.118921596 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 4.5252274573 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 1.8747678530 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .35857737666 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .13617743845 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 3656.2658173 0.00147141 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 868.08211673 0.01218823 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 282.38879090 0.05878047 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.68249518 0.00000000 0.22385126 0.00000000 0.00000000 0.00000000 0.00000000 45.880428373 0.00000000 0.42784038 0.00000000 0.00000000 0.00000000 0.00000000 20.313633210 0.00000000 0.39569868 0.00000000 0.00000000 0.00000000 0.00000000 8.9138677790 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.8029430087 0.00000000 0.00000000 0.00000000 0.58895017 0.00000000 0.00000000 1.5911663461 0.00000000 0.00000000 0.00000000 0.34147004 0.00000000 0.00000000 .44755579009 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .13236319065 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 94.493793993 0.02349045 0.00000000 0.00000000 27.186508933 0.13749365 0.00000000 0.00000000 9.5088741989 0.36646763 0.00000000 0.00000000 3.4175441801 0.48752299 0.00000000 0.00000000 1.1481458665 0.00000000 1.00000000 0.00000000 0.33800000 0.00000000 0.00000000 1.00000000 a 35 $ BROMINE (14s,11p,5d) -> [8s,6p,2d] $ BROMINE (1d) $ S-TYPE FUNCTIONS 14 8 0 646312.41039 0.00020844 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 96873.038900 0.00161696 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 22048.967574 0.00842249 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 6248.3557482 0.03436088 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 2048.7467977 0.11206361 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 754.70826963 0.27360431 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 302.69689103 0.00000000 0.40561280 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 124.16866898 0.00000000 0.32541501 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 31.544281070 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 14.029435981 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 4.9416679228 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 2.0756618020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .42101474441 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .16058114367 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 3890.7181798 0.00151198 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 923.85869493 0.01252930 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 300.75537085 0.06040559 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 115.96376914 0.00000000 0.21102289 0.00000000 0.00000000 0.00000000 0.00000000 49.093271078 0.00000000 0.40341288 0.00000000 0.00000000 0.00000000 0.00000000 21.810392052 0.00000000 0.37386481 0.00000000 0.00000000 0.00000000 0.00000000 9.6190135611 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 4.1341549028 0.00000000 0.00000000 0.00000000 0.59931625 0.00000000 0.00000000 1.7549598851 0.00000000 0.00000000 0.00000000 0.33979400 0.00000000 0.00000000 .52801532318 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .15604837959 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 104.85732970 0.02264931 0.00000000 0.00000000 30.280080540 0.13456250 0.00000000 0.00000000 10.651497127 0.36469675 0.00000000 0.00000000 3.8705893430 0.49046477 0.00000000 0.00000000 1.3242996938 0.00000000 1.00000000 0.00000000 0.38900000 0.00000000 0.00000000 1.00000000 a 36 $ KRYPTON (14s,11p,5d) -> [8s,6p,2d] $ KRYPTON (1d) $ S-TYPE FUNCTIONS 14 8 0 684221.99700 0.00020939 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 102555.20043 0.00162431 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 23342.393775 0.00846082 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 6615.0835507 0.03451693 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 2169.3438677 0.11254581 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 799.69607957 0.27450859 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 321.18212105 0.00000000 0.33928755 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 131.90111670 0.00000000 0.27359932 0.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 33.536473012 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00 0.00000000 14.969888552 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00 0.00000000 5.3755395083 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00 0.00000000 2.2858479626 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00 0.00000000 .48690237132 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00 0.00000000 .18641011710 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00 1.00000000 $ P-TYPE FUNCTIONS 11 6 0 4128.6993199 -0.00156360 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 980.47534405 -0.01296144 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 319.40135820 -0.06246445 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 123.36181040 0.00000000 -0.21245677 0.00000000 0.00000000 0.00000000 0.00000000 52.362318744 0.00000000 -0.40604316 0.00000000 0.00000000 0.00000000 0.00000000 23.335425093 0.00000000 -0.37652208 0.00000000 0.00000000 0.00000000 0.00000000 10.340745051 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 4.4694078019 0.00000000 0.00000000 0.00000000 0.55671931 0.00000000 0.00000000 1.9177854904 0.00000000 0.00000000 0.00000000 0.30604453 0.00000000 0.00000000 .61259063615 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 .18236405019 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 115.56236667 0.02194406 0.00000000 0.00000000 33.477247149 0.13211460 0.00000000 0.00000000 11.834799736 0.36327650 0.00000000 0.00000000 4.3415492653 0.49302860 0.00000000 0.00000000 1.5081356984 0.00000000 1.00000000 0.00000000 0.44300000 0.00000000 0.00000000 1.00000000 $END OF BASIS ergo-3.5/basis/Turbomole-TZVPP0000664000175000017500000023666712743400275013205 00000000000000$ Basis =Ahlrichs TZVPP $ $ Supported Elements $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca $ Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr $ $ REFERENCE $ Elements References $ -------- ---------- $ Li - Kr: A. Schafer, C. Huber and R. Ahlrichs, J. Chem. Phys. 100, 5829 (1994). $*********************************************************************** a 1 $ HYDROGEN (5s) -> [3s] $ HYDROGEN (2p,1d) $ S-TYPE FUNCTIONS 5 3 0 34.0613410 0.00602520 0.00000000 0.00000000 5.1235746 0.04502109 0.00000000 0.00000000 1.1646626 0.20189726 0.00000000 0.00000000 0.3272304 0.00000000 1.00000000 0.00000000 0.1030724 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 1.40700000 1.00000000 0.00000000 0.38800000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.05700000 1.00000000 a 2 $ HELIUM (5s) -> [3s] $ S-TYPE FUNCTIONS 5 3 0 98.0783216 0.00758031 0.00000000 0.00000000 14.7644042 0.05484862 0.00000000 0.00000000 3.3185831 0.22074382 0.00000000 0.00000000 0.8741387 0.00000000 1.00000000 0.00000000 0.2445990 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 3.04400000 1.00000000 0.00000000 0.75800000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.96500000 1.00000000 a 3 $ LITHIUM (11s) -> [5s] $ polariz (3p) -> [3p] $ S-TYPE FUNCTIONS 11 5 0 6269.26280100 0.00020541 0.00000000 0.00000000 0.00000000 0.00000000 940.31612430 0.00159166 0.00000000 0.00000000 0.00000000 0.00000000 214.22107530 0.00828698 0.00000000 0.00000000 0.00000000 0.00000000 60.75984018 0.03385637 0.00000000 0.00000000 0.00000000 0.00000000 19.91515203 0.11103226 0.00000000 0.00000000 0.00000000 0.00000000 7.31715098 0.27449383 0.00000000 0.00000000 0.00000000 0.00000000 2.97246742 0.00000000 0.23792456 0.00000000 0.00000000 0.00000000 1.26398523 0.00000000 0.30765412 0.00000000 0.00000000 0.00000000 0.51427490 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07703089 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02893890 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 0.40 1.00000000 0.00000000 0.00000000 0.06 0.00000000 1.00000000 0.00000000 3.327 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (11s) -> [5s] $ polariz (4p) -> [3p] $ S-TYPE FUNCTIONS 11 5 0 4700.23656300 0.00023584 0.00000000 0.00000000 0.00000000 0.00000000 704.82845620 0.00182438 0.00000000 0.00000000 0.00000000 0.00000000 160.43110480 0.00939661 0.00000000 0.00000000 0.00000000 0.00000000 45.42534734 0.03690892 0.00000000 0.00000000 0.00000000 0.00000000 14.79833412 0.10897561 0.00000000 0.00000000 0.00000000 0.00000000 5.35124525 0.21694285 0.00000000 0.00000000 0.00000000 0.00000000 2.15420448 0.00000000 0.44695409 0.00000000 0.00000000 0.00000000 0.93363744 0.00000000 0.20866986 0.00000000 0.00000000 0.00000000 0.18791433 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.74648268 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03265048 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 3.63169171 -0.02903400 0.00000000 0.00000000 0.71695694 0.00000000 -0.16877854 0.00000000 0.19541933 0.00000000 -0.51403420 0.00000000 0.06051546 0.00000000 0.00000000 1.00000000 a 5 $ BORON (11s,6p) -> [5s,3p] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 11 5 0 8564.86606900 0.00022837 0.00000000 0.00000000 0.00000000 0.00000000 1284.15162600 0.00176826 0.00000000 0.00000000 0.00000000 0.00000000 292.27871600 0.00914071 0.00000000 0.00000000 0.00000000 0.00000000 82.77546918 0.03634264 0.00000000 0.00000000 0.00000000 0.00000000 27.01793927 0.11063458 0.00000000 0.00000000 0.00000000 0.00000000 9.81496197 0.23367344 0.00000000 0.00000000 0.00000000 0.00000000 3.93185591 0.00000000 0.41818778 0.00000000 0.00000000 0.00000000 1.65955997 0.00000000 0.22325474 0.00000000 0.00000000 0.00000000 0.35762965 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14246278 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06056059 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 22.45387580 0.00502656 0.00000000 0.00000000 5.10450583 0.03280174 0.00000000 0.00000000 1.49860813 0.13151231 0.00000000 0.00000000 0.50927831 0.33197168 0.00000000 0.00000000 0.18147078 0.00000000 1.00000000 0.00000000 0.06462189 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.66100000 1.00000000 0.00000000 0.19900000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.49000000 1.00000000 a 6 $ CARBON (11s,6p) -> [5s,3p] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 11 5 0 13575.34968 0.00022246 0.00000000 0.00000000 0.00000000 0.00000000 2035.23336800 0.00172327 0.00000000 0.00000000 0.00000000 0.00000000 463.22562360 0.00892557 0.00000000 0.00000000 0.00000000 0.00000000 131.20019600 0.03572798 0.00000000 0.00000000 0.00000000 0.00000000 42.85301589 0.11076260 0.00000000 0.00000000 0.00000000 0.00000000 15.58418577 0.24295628 0.00000000 0.00000000 0.00000000 0.00000000 6.20671385 0.00000000 0.41440263 0.00000000 0.00000000 0.00000000 2.57648965 0.00000000 0.23744969 0.00000000 0.00000000 0.00000000 0.57696339 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.22972831 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09516444 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 34.69723224 0.00533337 0.00000000 0.00000000 7.95826228 0.03586411 0.00000000 0.00000000 2.37808269 0.14215873 0.00000000 0.00000000 0.81433208 0.34270472 0.00000000 0.00000000 0.28887547 0.00000000 1.00000000 0.00000000 0.10056824 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.09700000 1.00000000 0.00000000 0.31800000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.76100000 1.00000000 a 7 $ NITROGEN (11s,6p) -> [5s,3p] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 11 5 0 19730.80065 0.00021888 0.00000000 0.00000000 0.00000000 0.00000000 2957.89587500 0.00169607 0.00000000 0.00000000 0.00000000 0.00000000 673.22133600 0.00879546 0.00000000 0.00000000 0.00000000 0.00000000 190.68249490 0.03535938 0.00000000 0.00000000 0.00000000 0.00000000 62.29544190 0.11095789 0.00000000 0.00000000 0.00000000 0.00000000 22.65416118 0.24982973 0.00000000 0.00000000 0.00000000 0.00000000 8.97914774 0.00000000 0.40623896 0.00000000 0.00000000 0.00000000 3.68630024 0.00000000 0.24338217 0.00000000 0.00000000 0.00000000 0.84660077 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.33647134 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13647654 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 49.20038051 0.00555524 0.00000000 0.00000000 11.34679054 0.03805238 0.00000000 0.00000000 3.42739724 0.14953671 0.00000000 0.00000000 1.17855251 0.34949305 0.00000000 0.00000000 0.41642205 0.00000000 1.00000000 0.00000000 0.14260826 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.65400000 1.00000000 0.00000000 0.46900000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.09300000 1.00000000 a 8 $ OXYGEN (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 27032.38263 0.00021726 0.00000000 0.00000000 0.00000000 0.00000000 4052.38713900 0.00168387 0.00000000 0.00000000 0.00000000 0.00000000 922.32722710 0.00873956 0.00000000 0.00000000 0.00000000 0.00000000 261.24070990 0.03523997 0.00000000 0.00000000 0.00000000 0.00000000 85.35464135 0.11153519 0.00000000 0.00000000 0.00000000 0.00000000 31.03503524 0.25588954 0.00000000 0.00000000 0.00000000 0.00000000 12.26086073 0.00000000 0.39768731 0.00000000 0.00000000 0.00000000 4.99870760 0.00000000 0.24627849 0.00000000 0.00000000 0.00000000 1.17031082 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.46474741 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.18504536 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 63.27495480 0.00606851 0.00000000 0.00000000 14.62704938 0.04191258 0.00000000 0.00000000 4.45012235 0.16153841 0.00000000 0.00000000 1.52757996 0.35706951 0.00000000 0.00000000 0.52935118 0.00000000 1.00000000 0.00000000 0.17478421 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 2.31400000 1.00000000 0.00000000 0.64500000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.42800000 1.00000000 a 9 $ FLUORINE (11s,6p) -> [5s,3p] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 11 5 0 35479.10044 0.00021545 0.00000000 0.00000000 0.00000000 0.00000000 5318.47289800 0.00167007 0.00000000 0.00000000 0.00000000 0.00000000 1210.48109800 0.00867332 0.00000000 0.00000000 0.00000000 0.00000000 342.85518140 0.03504993 0.00000000 0.00000000 0.00000000 0.00000000 112.01943180 0.11165320 0.00000000 0.00000000 0.00000000 0.00000000 40.71474025 0.25988507 0.00000000 0.00000000 0.00000000 0.00000000 16.03967811 0.00000000 0.39422967 0.00000000 0.00000000 0.00000000 6.50381867 0.00000000 0.24998239 0.00000000 0.00000000 0.00000000 1.54404775 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.61223453 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.24027980 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 80.23390048 0.00636860 0.00000000 0.00000000 18.59401074 0.04430314 0.00000000 0.00000000 5.68679026 0.16867249 0.00000000 0.00000000 1.95110063 0.36166346 0.00000000 0.00000000 0.66970211 0.00000000 1.00000000 0.00000000 0.21651300 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 3.10700000 1.00000000 0.00000000 0.85500000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.91700000 1.00000000 a 10 $ NEON (11s,6p) -> [5s,3p] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 11 5 0 45069.46402 0.00021687 0.00000000 0.00000000 0.00000000 0.00000000 6755.97686600 0.00168127 0.00000000 0.00000000 0.00000000 0.00000000 1537.65028600 0.00873561 0.00000000 0.00000000 0.00000000 0.00000000 435.51697670 0.03536127 0.00000000 0.00000000 0.00000000 0.00000000 142.28655640 0.11321521 0.00000000 0.00000000 0.00000000 0.00000000 51.69215380 0.26654653 0.00000000 0.00000000 0.00000000 0.00000000 20.31587049 0.00000000 0.39631960 0.00000000 0.00000000 0.00000000 8.20219426 0.00000000 0.25582811 0.00000000 0.00000000 0.00000000 1.96812763 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.77904756 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.30229502 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 99.78299603 0.00655692 0.00000000 0.00000000 23.17612410 0.04588801 0.00000000 0.00000000 7.11639459 0.17331288 0.00000000 0.00000000 2.44187114 0.36475268 0.00000000 0.00000000 0.83389606 0.00000000 1.00000000 0.00000000 0.26607311 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 4.01400000 1.00000000 0.00000000 1.09600000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 2.54400000 1.00000000 a 11 $ SODIUM (14s,6p) -> [5s,2p] $ polariz (2p,1d) -> [2p,1d] $ S-TYPE FUNCTIONS 14 5 0 26041.10993 0.00061806 0.00000000 0.00000000 0.00000000 0.00000000 3906.12685500 0.00477486 0.00000000 0.00000000 0.00000000 0.00000000 888.97454990 0.02447168 0.00000000 0.00000000 0.00000000 0.00000000 251.45497960 0.09475539 0.00000000 0.00000000 0.00000000 0.00000000 81.65014351 0.26867497 0.00000000 0.00000000 0.00000000 0.00000000 28.90415840 0.47925475 0.00000000 0.00000000 0.00000000 0.00000000 10.62578293 0.33248591 0.00000000 0.00000000 0.00000000 0.00000000 53.76941018 0.00000000 0.01952773 0.00000000 0.00000000 0.00000000 16.30824302 0.00000000 0.09264801 0.00000000 0.00000000 0.00000000 2.37303841 0.00000000 -0.39938670 0.00000000 0.00000000 0.00000000 0.95730773 0.00000000 0.00000000 1.64285954 0.00000000 0.00000000 0.40806461 0.00000000 0.00000000 0.55692597 0.00000000 0.00000000 0.04996758 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01926862 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 4 0 138.07979990 0.00579519 0.00000000 0.00000000 0.00000000 32.23270039 0.04162085 0.00000000 0.00000000 0.00000000 9.98160754 0.16281917 0.00000000 0.00000000 0.00000000 3.48220339 0.36011785 0.00000000 0.00000000 0.00000000 1.22991346 0.44858980 0.00000000 0.00000000 0.00000000 0.41743959 0.00000000 1.00000000 0.00000000 0.00000000 0.030 0.00000000 0.00000000 1.00000000 0.00000000 0.091 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 2.609 1.00 a 12 $ MAGNESIUM (14s,6p) -> [5s,2p] $ polariz (2p,1d) -> [2p,1d] $ S-TYPE FUNCTIONS 14 5 0 31438.34955 0.00060912 0.00000000 0.00000000 0.00000000 0.00000000 4715.51533500 0.00470662 0.00000000 0.00000000 0.00000000 0.00000000 1073.16292500 0.02413582 0.00000000 0.00000000 0.00000000 0.00000000 303.57238770 0.09362896 0.00000000 0.00000000 0.00000000 0.00000000 98.62625104 0.26646742 0.00000000 0.00000000 0.00000000 0.00000000 34.94380842 0.47890930 0.00000000 0.00000000 0.00000000 0.00000000 12.85978520 0.33698490 0.00000000 0.00000000 0.00000000 0.00000000 64.87691300 0.00000000 0.01918089 0.00000000 0.00000000 0.00000000 19.72552078 0.00000000 0.09091370 0.00000000 0.00000000 0.00000000 2.89518043 0.00000000 -0.39563756 0.00000000 0.00000000 0.00000000 1.19604547 0.00000000 0.00000000 1.68276034 0.00000000 0.00000000 0.54329451 0.00000000 0.00000000 0.52141092 0.00000000 0.00000000 0.10099104 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03686573 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 4 0 179.87189610 0.00537995 0.00000000 0.00000000 0.00000000 42.12006938 0.03931801 0.00000000 0.00000000 0.00000000 13.12050303 0.15740129 0.00000000 0.00000000 0.00000000 4.62575036 0.35919094 0.00000000 0.00000000 0.00000000 1.66952110 0.45533379 0.00000000 0.00000000 0.00000000 0.58551012 0.00000000 1.00000000 0.00000000 0.00000000 0.18914796 0.00000000 0.00000000 1.00000000 0.00000000 0.05376876 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 3.444 1.00 a 13 $ ALUMINUM (14s,9p) -> [5s,4p] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 14 5 0 37792.55077 0.00057048 0.00000000 0.00000000 0.00000000 0.00000000 5668.06821700 0.00440930 0.00000000 0.00000000 0.00000000 0.00000000 1289.85828400 0.02263097 0.00000000 0.00000000 0.00000000 0.00000000 364.86596030 0.08802564 0.00000000 0.00000000 0.00000000 0.00000000 118.57631510 0.25223702 0.00000000 0.00000000 0.00000000 0.00000000 42.02486760 0.45960547 0.00000000 0.00000000 0.00000000 0.00000000 15.49950163 0.33277886 0.00000000 0.00000000 0.00000000 0.00000000 75.20802660 0.00000000 0.01925056 0.00000000 0.00000000 0.00000000 23.03140897 0.00000000 0.08790674 0.00000000 0.00000000 0.00000000 3.63487976 0.00000000 -0.34246705 0.00000000 0.00000000 0.00000000 1.60650500 0.00000000 0.00000000 1.51062661 0.00000000 0.00000000 0.76103395 0.00000000 0.00000000 0.58071016 0.00000000 0.00000000 0.16556709 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06004158 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 452.52303190 0.00231108 0.00000000 0.00000000 0.00000000 107.08195050 0.01856864 0.00000000 0.00000000 0.00000000 34.13102125 0.08721624 0.00000000 0.00000000 0.00000000 12.58703743 0.26902102 0.00000000 0.00000000 0.00000000 4.98119197 0.52128324 0.00000000 0.00000000 0.00000000 2.00703509 0.60271687 0.00000000 0.00000000 0.00000000 0.80083714 0.00000000 1.00000000 0.00000000 0.00000000 0.20178927 0.00000000 0.00000000 1.00000000 0.00000000 0.05789555 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.1090000 1.00000000 0.00000000 0.3330000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.2440000 1.00000000 a 14 $ SILICON (14s,9p) -> [5s,4p] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 14 5 0 44773.35808 0.00055915 0.00000000 0.00000000 0.00000000 0.00000000 6717.19921000 0.00432060 0.00000000 0.00000000 0.00000000 0.00000000 1528.89603200 0.02218710 0.00000000 0.00000000 0.00000000 0.00000000 432.54746590 0.08648925 0.00000000 0.00000000 0.00000000 0.00000000 140.61505230 0.24939890 0.00000000 0.00000000 0.00000000 0.00000000 49.85763672 0.46017197 0.00000000 0.00000000 0.00000000 0.00000000 18.43497489 0.34250237 0.00000000 0.00000000 0.00000000 0.00000000 86.53388611 0.00000000 0.02130006 0.00000000 0.00000000 0.00000000 26.62460685 0.00000000 0.09467614 0.00000000 0.00000000 0.00000000 4.49530572 0.00000000 -0.32616265 0.00000000 0.00000000 0.00000000 2.10350457 0.00000000 0.00000000 1.39808039 0.00000000 0.00000000 1.01060949 0.00000000 0.00000000 0.63865787 0.00000000 0.00000000 0.23701751 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08570341 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 394.47503630 0.00262857 0.00000000 0.00000000 0.00000000 93.13768310 0.02055626 0.00000000 0.00000000 0.00000000 29.51960874 0.09207026 0.00000000 0.00000000 0.00000000 10.78166379 0.25565890 0.00000000 0.00000000 0.00000000 4.16265748 0.42111707 0.00000000 0.00000000 0.00000000 1.62479730 0.34401746 0.00000000 0.00000000 0.00000000 0.54306660 0.00000000 1.00000000 0.00000000 0.00000000 0.20582074 0.00000000 0.00000000 1.00000000 0.00000000 0.07005349 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.1590000 1.00000000 0.00000000 0.4810000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.3360000 1.00000000 a 15 $ PHOSPHORUS (14s,9p) -> [5s,4p] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 14 5 0 52426.99923 0.00055207 0.00000000 0.00000000 0.00000000 0.00000000 7863.26605500 0.00426786 0.00000000 0.00000000 0.00000000 0.00000000 1789.52273300 0.02193153 0.00000000 0.00000000 0.00000000 0.00000000 506.27300160 0.08566717 0.00000000 0.00000000 0.00000000 0.00000000 164.60698550 0.24840687 0.00000000 0.00000000 0.00000000 0.00000000 58.39191872 0.46336754 0.00000000 0.00000000 0.00000000 0.00000000 21.64366320 0.35350558 0.00000000 0.00000000 0.00000000 0.00000000 99.01383762 0.00000000 0.02189568 0.00000000 0.00000000 0.00000000 30.55043982 0.00000000 0.09565047 0.00000000 0.00000000 0.00000000 5.45370877 0.00000000 -0.29454270 0.00000000 0.00000000 0.00000000 2.65033626 0.00000000 0.00000000 1.32943812 0.00000000 0.00000000 1.27266889 0.00000000 0.00000000 0.66109396 0.00000000 0.00000000 0.31645005 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11417467 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 472.27219250 0.00257106 0.00000000 0.00000000 0.00000000 111.58882760 0.02025030 0.00000000 0.00000000 0.00000000 35.44593642 0.09158072 0.00000000 0.00000000 0.00000000 12.99077688 0.25749454 0.00000000 0.00000000 0.00000000 5.04862217 0.42862900 0.00000000 0.00000000 0.00000000 1.99340496 0.34359818 0.00000000 0.00000000 0.00000000 0.66527284 0.00000000 1.00000000 0.00000000 0.00000000 0.25516832 0.00000000 0.00000000 1.00000000 0.00000000 0.09035776 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.2160000 1.00000000 0.00000000 0.6520000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.4520000 1.00000000 a 16 $ SULFUR (14s,9p) -> [5s,4p] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 14 5 0 60700.92810 0.00054696 0.00000000 0.00000000 0.00000000 0.00000000 9102.61068500 0.00422972 0.00000000 0.00000000 0.00000000 0.00000000 2071.41660100 0.02174782 0.00000000 0.00000000 0.00000000 0.00000000 586.02476820 0.08510005 0.00000000 0.00000000 0.00000000 0.00000000 190.55395020 0.24799128 0.00000000 0.00000000 0.00000000 0.00000000 67.63038426 0.46703640 0.00000000 0.00000000 0.00000000 0.00000000 25.12730691 0.36434588 0.00000000 0.00000000 0.00000000 0.00000000 112.57463010 0.00000000 0.02167004 0.00000000 0.00000000 0.00000000 34.79555422 0.00000000 0.09360230 0.00000000 0.00000000 0.00000000 6.51155562 0.00000000 -0.26068001 0.00000000 0.00000000 0.00000000 3.23990323 0.00000000 0.00000000 1.28420894 0.00000000 0.00000000 1.54771609 0.00000000 0.00000000 0.66036417 0.00000000 0.00000000 0.40541030 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14550651 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 564.36716030 0.00247968 0.00000000 0.00000000 0.00000000 133.42624380 0.01967793 0.00000000 0.00000000 0.00000000 42.46827119 0.08998001 0.00000000 0.00000000 0.00000000 15.61652758 0.25705881 0.00000000 0.00000000 0.00000000 6.10939885 0.43515167 0.00000000 0.00000000 0.00000000 2.44041602 0.34883241 0.00000000 0.00000000 0.00000000 0.83882201 0.00000000 1.00000000 0.00000000 0.00000000 0.31288747 0.00000000 0.00000000 1.00000000 0.00000000 0.10770109 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.2690000 1.00000000 0.00000000 0.8190000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.5570000 1.00000000 a 17 $ CHLORINE (14s,9p) -> [5s,4p] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 14 5 0 69507.99094 0.00054315 0.00000000 0.00000000 0.00000000 0.00000000 10426.15688 0.00419905 0.00000000 0.00000000 0.00000000 0.00000000 2373.23340600 0.02159214 0.00000000 0.00000000 0.00000000 0.00000000 671.56420070 0.08459885 0.00000000 0.00000000 0.00000000 0.00000000 218.41999790 0.24757250 0.00000000 0.00000000 0.00000000 0.00000000 77.57224971 0.47016930 0.00000000 0.00000000 0.00000000 0.00000000 28.88881528 0.37436371 0.00000000 0.00000000 0.00000000 0.00000000 127.10527180 0.00000000 0.02518217 0.00000000 0.00000000 0.00000000 39.33958296 0.00000000 0.10786112 0.00000000 0.00000000 0.00000000 7.67406800 0.00000000 -0.27408822 0.00000000 0.00000000 0.00000000 3.87456276 0.00000000 0.00000000 1.32138750 0.00000000 0.00000000 1.83858326 0.00000000 0.00000000 0.68636955 0.00000000 0.00000000 0.50229058 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.17962723 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 666.50423280 0.00236327 0.00000000 0.00000000 0.00000000 157.64241690 0.01887930 0.00000000 0.00000000 0.00000000 50.26252098 0.08720634 0.00000000 0.00000000 0.00000000 18.53607811 0.25285613 0.00000000 0.00000000 0.00000000 7.29405328 0.43507155 0.00000000 0.00000000 0.00000000 2.94332490 0.35026513 0.00000000 0.00000000 0.00000000 1.04049708 0.00000000 1.00000000 0.00000000 0.00000000 0.38456415 0.00000000 0.00000000 1.00000000 0.00000000 0.13069643 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.0460000 1.00000000 0.00000000 0.3440000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.7060000 1.00000000 a 18 $ ARGON (14s,9p) -> [5s,4p] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 14 5 0 79111.42300 0.00051029 0.00000000 0.00000000 0.00000000 0.00000000 11864.74601 0.00394630 0.00000000 0.00000000 0.00000000 0.00000000 2700.16429700 0.02030707 0.00000000 0.00000000 0.00000000 0.00000000 763.95943480 0.07969183 0.00000000 0.00000000 0.00000000 0.00000000 248.45150560 0.23420624 0.00000000 0.00000000 0.00000000 0.00000000 88.28358100 0.44833849 0.00000000 0.00000000 0.00000000 0.00000000 32.94860707 0.36408167 0.00000000 0.00000000 0.00000000 0.00000000 142.55358000 0.00000000 0.02638741 0.00000000 0.00000000 0.00000000 44.16368801 0.00000000 0.11226434 0.00000000 0.00000000 0.00000000 8.95249950 0.00000000 -0.26178922 0.00000000 0.00000000 0.00000000 4.55469209 0.00000000 0.00000000 1.30024850 0.00000000 0.00000000 2.14440790 0.00000000 0.00000000 0.67197237 0.00000000 0.00000000 0.60708777 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.21651432 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 776.77542000 0.00220280 0.00000000 0.00000000 0.00000000 183.80107020 0.01769418 0.00000000 0.00000000 0.00000000 58.69400317 0.08243129 0.00000000 0.00000000 0.00000000 21.70159170 0.24207279 0.00000000 0.00000000 0.00000000 8.58214896 0.42263558 0.00000000 0.00000000 0.00000000 3.49226792 0.34151806 0.00000000 0.00000000 0.00000000 1.26374270 0.00000000 1.00000000 0.00000000 0.00000000 0.46607870 0.00000000 0.00000000 1.00000000 0.00000000 0.15766003 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.4100000 1.00000000 0.00000000 1.2540000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.8900000 1.00000000 a 19 $ POTASSIUM (17s,10p) -> [6s,3p] $ polariz (2p,1d) -> [2p,1d] $ S-TYPE FUNCTIONS 17 6 0 153976.18330 0.00023663 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23082.49767 0.00183429 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5253.23447500 0.00953105 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1486.95501300 0.03863841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 484.06333730 0.12480769 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 173.56653980 0.29278861 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 67.11638146 0.40633426 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.33950205 0.20077216 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 172.87693570 0.00000000 -0.02420096 0.00000000 0.00000000 0.00000000 0.00000000 53.05864906 0.00000000 -0.11553095 0.00000000 0.00000000 0.00000000 0.00000000 7.92127540 0.00000000 0.57455545 0.00000000 0.00000000 0.00000000 0.00000000 3.21088805 0.00000000 0.57023185 0.00000000 0.00000000 0.00000000 0.00000000 4.56620709 0.00000000 0.00000000 -0.22615763 0.00000000 0.00000000 0.00000000 0.70209907 0.00000000 0.00000000 0.75528392 0.00000000 0.00000000 0.00000000 0.28258943 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.03580582 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01581921 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 728.18449870 0.00261507 0.00000000 0.00000000 0.00000000 0.00000000 172.13265060 0.02067363 0.00000000 0.00000000 0.00000000 0.00000000 54.82984707 0.09320560 0.00000000 0.00000000 0.00000000 0.00000000 20.16626649 0.25436518 0.00000000 0.00000000 0.00000000 0.00000000 7.86107288 0.39131133 0.00000000 0.00000000 0.00000000 0.00000000 3.11052131 0.22481346 0.00000000 0.00000000 0.00000000 0.00000000 11.75733749 0.00000000 -0.02577729 0.00000000 0.00000000 0.00000000 1.51396174 0.00000000 0.57359429 0.00000000 0.00000000 0.00000000 0.58328592 0.00000000 1.07983200 0.00000000 0.00000000 0.00000000 0.21570478 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.041737 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.015208 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.794 1.0 a 20 $ CALCIUM (17s,10p) -> [6s,3p] $ polariz (2p,1d) -> [2p,1d] $ S-TYPE FUNCTIONS 17 6 0 172517.32680 0.00023318 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25861.51927 0.00180765 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5885.66186700 0.00939438 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1665.97300300 0.03810841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 542.36718150 0.12331204 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 194.57803490 0.29004471 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.30359764 0.40587151 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 29.57406259 0.20398411 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 191.20074660 0.00000000 -0.02441976 0.00000000 0.00000000 0.00000000 0.00000000 58.84029988 0.00000000 -0.11547027 0.00000000 0.00000000 0.00000000 0.00000000 8.96425409 0.00000000 0.56356637 0.00000000 0.00000000 0.00000000 0.00000000 3.68569605 0.00000000 0.56709683 0.00000000 0.00000000 0.00000000 0.00000000 5.24642897 0.00000000 0.00000000 -0.22825334 0.00000000 0.00000000 0.00000000 0.84862622 0.00000000 0.00000000 0.72625219 0.00000000 0.00000000 0.00000000 0.36743301 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06682158 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02675973 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 836.97262060 0.00252583 0.00000000 0.00000000 0.00000000 0.00000000 197.93040140 0.02007651 0.00000000 0.00000000 0.00000000 0.00000000 63.13555805 0.09130299 0.00000000 0.00000000 0.00000000 0.00000000 23.28268717 0.25247030 0.00000000 0.00000000 0.00000000 0.00000000 9.11764449 0.39426326 0.00000000 0.00000000 0.00000000 0.00000000 3.63361201 0.23011559 0.00000000 0.00000000 0.00000000 0.00000000 13.49416312 0.00000000 -0.02649502 0.00000000 0.00000000 0.00000000 1.81392598 0.00000000 0.55088108 0.00000000 0.00000000 0.00000000 0.71981826 0.00000000 1.02806166 0.00000000 0.00000000 0.00000000 0.27629577 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.074979 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.026927 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.986 1.00 a 21 $ SCANDIUM (17s,10p,6d) -> [6s,3p,3d] $ polariz (1p,1f) -> [1p,1f] $ S-TYPE FUNCTIONS 17 6 0 191612.91870 0.00023076 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28723.85036 0.00178903 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6537.01164900 0.00929904 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1850.30971700 0.03773944 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 602.38855160 0.12227148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 216.17324770 0.28814821 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 83.71251788 0.40517543 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.90870719 0.20566020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 211.34393230 0.00000000 -0.02452799 0.00000000 0.00000000 0.00000000 0.00000000 65.12892014 0.00000000 -0.11570158 0.00000000 0.00000000 0.00000000 0.00000000 10.03431153 0.00000000 0.55995283 0.00000000 0.00000000 0.00000000 0.00000000 4.15968846 0.00000000 0.56087765 0.00000000 0.00000000 0.00000000 0.00000000 6.00090416 0.00000000 0.00000000 -0.22840494 0.00000000 0.00000000 0.00000000 0.98255784 0.00000000 0.00000000 0.71948970 0.00000000 0.00000000 0.00000000 0.42483193 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07718546 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03014722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 947.34122820 0.00247372 0.00000000 0.00000000 0.00000000 224.09699730 0.01974297 0.00000000 0.00000000 0.00000000 71.56033488 0.09035715 0.00000000 0.00000000 0.00000000 26.44482449 0.25201602 0.00000000 0.00000000 0.00000000 10.39379829 0.39675536 0.00000000 0.00000000 0.00000000 4.16063046 0.23208625 0.00000000 0.00000000 0.00000000 15.56573714 0.00000000 -0.02712942 0.00000000 0.00000000 2.11215449 0.00000000 0.55109257 0.00000000 0.00000000 0.84184709 0.00000000 1.00906358 0.00000000 0.00000000 0.32297543 0.00000000 0.00000000 1.00000000 0.00000000 0.08974800 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 30.98939099 0.01190284 0.00000000 0.00000000 8.69054651 0.06765586 0.00000000 0.00000000 2.95202563 0.21332540 0.00000000 0.00000000 1.07619108 0.38391076 0.00000000 0.00000000 0.38338915 0.00000000 0.43354716 0.00000000 0.12534686 0.00000000 0.00000000 0.24509264 $ F-TYPE FUNCTIONS 1 1 0 1.5 1.00 a 22 $ TITANIUM (17s,10p,6d) -> [6s,3p,3d] $ polariz (1p,1f) -> [1p,1f] $ S-TYPE FUNCTIONS 17 6 0 211575.69030 0.00023318 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31714.94506 0.00180797 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7217.54765400 0.00939843 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2042.93942500 0.03815685 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 665.12896210 0.12374757 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 238.74942260 0.29208551 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 92.50869100 0.41226801 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 36.40391921 0.21090534 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 232.72624610 0.00000000 -0.02492014 0.00000000 0.00000000 0.00000000 0.00000000 71.79120971 0.00000000 -0.11746490 0.00000000 0.00000000 0.00000000 0.00000000 11.15853462 0.00000000 0.56503342 0.00000000 0.00000000 0.00000000 0.00000000 4.65481354 0.00000000 0.56211102 0.00000000 0.00000000 0.00000000 0.00000000 6.80346292 0.00000000 0.00000000 -0.23011425 0.00000000 0.00000000 0.00000000 1.12010764 0.00000000 0.00000000 0.72103187 0.00000000 0.00000000 0.00000000 0.48080119 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.08515727 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03265748 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1063.14747300 0.00246908 0.00000000 0.00000000 0.00000000 251.56507060 0.01977335 0.00000000 0.00000000 0.00000000 80.40855485 0.09098798 0.00000000 0.00000000 0.00000000 29.76819327 0.25559900 0.00000000 0.00000000 0.00000000 11.73683056 0.40489387 0.00000000 0.00000000 0.00000000 4.71423752 0.23693403 0.00000000 0.00000000 0.00000000 17.79680370 0.00000000 -0.02787864 0.00000000 0.00000000 2.42726987 0.00000000 0.55672915 0.00000000 0.00000000 0.96823446 0.00000000 1.00554473 0.00000000 0.00000000 0.37056694 0.00000000 0.00000000 1.00000000 0.00000000 0.10156100 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 37.71338472 0.01151384 0.00000000 0.00000000 10.69293118 0.06724634 0.00000000 0.00000000 3.67284470 0.21484208 0.00000000 0.00000000 1.35885903 0.38890893 0.00000000 0.00000000 0.49213295 0.00000000 0.43040835 0.00000000 0.16330521 0.00000000 0.00000000 0.23253305 $ F-TYPE FUNCTIONS 1 1 0 1.65 1.00 a 23 $ VANADIUM (17s,10p,6d) -> [6s,3p,3d] $ polariz (1p,1f) -> [1p,1f] $ S-TYPE FUNCTIONS 17 6 0 232340.65060 0.00023072 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34828.84117 0.00178882 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7926.54486900 0.00929925 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2243.77330500 0.03776146 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 730.59322940 0.12255910 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 262.32219630 0.28963509 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 101.70403800 0.41004703 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 40.06478462 0.21113611 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 255.24014970 0.00000000 -0.02445812 0.00000000 0.00000000 0.00000000 0.00000000 78.80464696 0.00000000 -0.11527205 0.00000000 0.00000000 0.00000000 0.00000000 12.34059895 0.00000000 0.55174749 0.00000000 0.00000000 0.00000000 0.00000000 5.17420192 0.00000000 0.54504528 0.00000000 0.00000000 0.00000000 0.00000000 7.65138945 0.00000000 0.00000000 -0.22967638 0.00000000 0.00000000 0.00000000 1.26397599 0.00000000 0.00000000 0.71683769 0.00000000 0.00000000 0.00000000 0.53861762 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09271930 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03499806 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1184.23691500 0.00244498 0.00000000 0.00000000 0.00000000 280.23075190 0.01964345 0.00000000 0.00000000 0.00000000 89.64362714 0.09079695 0.00000000 0.00000000 0.00000000 33.24241125 0.25650768 0.00000000 0.00000000 0.00000000 13.14451445 0.40815394 0.00000000 0.00000000 0.00000000 5.29485341 0.23860378 0.00000000 0.00000000 0.00000000 20.17558685 0.00000000 -0.02824149 0.00000000 0.00000000 2.76058652 0.00000000 0.55574636 0.00000000 0.00000000 1.10089009 0.00000000 0.99319919 0.00000000 0.00000000 0.42013311 0.00000000 0.00000000 1.00000000 0.00000000 0.11124800 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 43.86113486 0.01148717 0.00000000 0.00000000 12.51602189 0.06824715 0.00000000 0.00000000 4.33138550 0.21837784 0.00000000 0.00000000 1.61388558 0.39245212 0.00000000 0.00000000 0.58749574 0.00000000 0.42634467 0.00000000 0.19515723 0.00000000 0.00000000 0.22646563 $ F-TYPE FUNCTIONS 1 1 0 1.8 1.00 a 24 $ CHROMIUM (17s,10p,6d) -> [6s,3p,3d] $ polariz (1p,1f) -> [1p,1f] $ S-TYPE FUNCTIONS 17 6 0 254477.80700 0.00023387 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38131.79705 0.00181426 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8675.29306100 0.00943639 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2455.00998500 0.03834364 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 799.16217790 0.12459195 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 286.90021490 0.29489696 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 111.25413230 0.41846150 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.86415264 0.21633763 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 279.32669170 0.00000000 -0.02345091 0.00000000 0.00000000 0.00000000 0.00000000 86.27473238 0.00000000 -0.11080370 0.00000000 0.00000000 0.00000000 0.00000000 13.55575611 0.00000000 0.53028966 0.00000000 0.00000000 0.00000000 0.00000000 5.69781128 0.00000000 0.51603517 0.00000000 0.00000000 0.00000000 0.00000000 8.56365826 0.00000000 0.00000000 -0.38109546 0.00000000 0.00000000 0.00000000 1.39882968 0.00000000 0.00000000 1.19915914 0.00000000 0.00000000 0.00000000 0.57288171 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09009617 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03412589 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1306.43988600 0.00242773 0.00000000 0.00000000 0.00000000 309.25311440 0.01954404 0.00000000 0.00000000 0.00000000 98.99627396 0.09065179 0.00000000 0.00000000 0.00000000 36.75691645 0.25699279 0.00000000 0.00000000 0.00000000 14.56665708 0.40935505 0.00000000 0.00000000 0.00000000 5.87399374 0.23729389 0.00000000 0.00000000 0.00000000 22.89099970 0.00000000 -0.02816603 0.00000000 0.00000000 3.08550018 0.00000000 0.56034120 0.00000000 0.00000000 1.21323291 0.00000000 0.98119020 0.00000000 0.00000000 0.44931681 0.00000000 0.00000000 1.00000000 0.00000000 0.12067500 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 43.72007448 0.01362296 0.00000000 0.00000000 12.39124265 0.07893518 0.00000000 0.00000000 4.26394420 0.23833840 0.00000000 0.00000000 1.55252218 0.39526851 0.00000000 0.00000000 0.53761929 0.00000000 0.41061717 0.00000000 0.16493173 0.00000000 0.00000000 0.24440411 $ F-TYPE FUNCTIONS 1 1 0 1.92 1.00 a 25 $ MANGANESE (17s,10p,6d) -> [6s,3p,3d] $ polariz (1p,1f) -> [1p,1f] $ S-TYPE FUNCTIONS 17 6 0 277185.00150 0.00022838 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 41550.76989 0.00177077 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9455.97001500 0.00920772 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2676.52064800 0.03741597 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 871.46687530 0.12164861 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 312.98306420 0.28824393 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 121.44454050 0.41041601 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 47.92259883 0.21372375 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 303.66723160 0.00000000 -0.02458993 0.00000000 0.00000000 0.00000000 0.00000000 93.88140319 0.00000000 -0.11602608 0.00000000 0.00000000 0.00000000 0.00000000 14.87942121 0.00000000 0.55112060 0.00000000 0.00000000 0.00000000 0.00000000 6.28652008 0.00000000 0.53707561 0.00000000 0.00000000 0.00000000 0.00000000 9.48585913 0.00000000 0.00000000 -0.22889263 0.00000000 0.00000000 0.00000000 1.56987062 0.00000000 0.00000000 0.71196170 0.00000000 0.00000000 0.00000000 0.65903214 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10686292 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03926744 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1444.79781800 0.00239941 0.00000000 0.00000000 0.00000000 342.06551200 0.01936929 0.00000000 0.00000000 0.00000000 109.58400890 0.09023611 0.00000000 0.00000000 0.00000000 40.74798817 0.25745468 0.00000000 0.00000000 0.00000000 16.18862657 0.41272352 0.00000000 0.00000000 0.00000000 6.54845060 0.24087700 0.00000000 0.00000000 0.00000000 25.35708644 0.00000000 -0.02870717 0.00000000 0.00000000 3.48301688 0.00000000 0.55208101 0.00000000 0.00000000 1.38588009 0.00000000 0.97226901 0.00000000 0.00000000 0.52555095 0.00000000 0.00000000 1.00000000 0.00000000 0.12765000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 56.56318912 0.01154325 0.00000000 0.00000000 16.27873471 0.07029985 0.00000000 0.00000000 5.69642739 0.22450771 0.00000000 0.00000000 2.14111479 0.39703065 0.00000000 0.00000000 0.78291802 0.00000000 0.41941039 0.00000000 0.25952311 0.00000000 0.00000000 0.21887262 $ F-TYPE FUNCTIONS 1 1 0 2.25 1.00 a 26 $ IRON (17s,10p,6d) -> [6s,3p,3d] $ polariz (1p,1f) -> [1p,1f] $ S-TYPE FUNCTIONS 17 6 0 300784.84640 0.00022806 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 45088.97056 0.00176818 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10262.51632 0.00919271 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2905.28972900 0.03735550 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 946.11487140 0.12151108 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 339.87832890 0.28818881 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 131.94425590 0.41126613 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52.11149408 0.21518584 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 329.48839270 0.00000000 -0.02474522 0.00000000 0.00000000 0.00000000 0.00000000 101.92332740 0.00000000 -0.11683089 0.00000000 0.00000000 0.00000000 0.00000000 16.24046274 0.00000000 0.55293621 0.00000000 0.00000000 0.00000000 0.00000000 6.88406758 0.00000000 0.53601640 0.00000000 0.00000000 0.00000000 0.00000000 10.47069378 0.00000000 0.00000000 -0.22912709 0.00000000 0.00000000 0.00000000 1.73600397 0.00000000 0.00000000 0.71159320 0.00000000 0.00000000 0.00000000 0.72577289 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11595528 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04196823 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1585.39599700 0.00237940 0.00000000 0.00000000 0.00000000 375.38006500 0.01925315 0.00000000 0.00000000 0.00000000 120.31816500 0.09002184 0.00000000 0.00000000 0.00000000 44.78874903 0.25798172 0.00000000 0.00000000 0.00000000 17.82927858 0.41492650 0.00000000 0.00000000 0.00000000 7.22471538 0.24207475 0.00000000 0.00000000 0.00000000 28.14321976 0.00000000 -0.02904176 0.00000000 0.00000000 3.87432414 0.00000000 0.55312260 0.00000000 0.00000000 1.54107523 0.00000000 0.96771137 0.00000000 0.00000000 0.58285615 0.00000000 0.00000000 1.00000000 0.00000000 0.13491500 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 61.99667503 0.01197197 0.00000000 0.00000000 17.87373255 0.07321014 0.00000000 0.00000000 6.27447829 0.23103094 0.00000000 0.00000000 2.35523372 0.39910706 0.00000000 0.00000000 0.85432240 0.00000000 0.41391590 0.00000000 0.27869254 0.00000000 0.00000000 0.21909270 $ F-TYPE FUNCTIONS 1 1 0 2.50 1.00 a 27 $ COBALT (17s,10p,6d) -> [6s,3p,3d] $ polariz (1p,1f) -> [1p,1f] $ S-TYPE FUNCTIONS 17 6 0 325817.01550 0.00022568 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 48839.63645 0.00174994 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11114.93731 0.00910031 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3146.16036400 0.03699626 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1024.43784600 0.12044270 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 368.02508820 0.28598732 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142.91229210 0.40908312 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56.48264921 0.21500146 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 356.40298320 0.00000000 -0.02476706 0.00000000 0.00000000 0.00000000 0.00000000 110.31165220 0.00000000 -0.11702139 0.00000000 0.00000000 0.00000000 0.00000000 17.65963483 0.00000000 0.55215522 0.00000000 0.00000000 0.00000000 0.00000000 7.50590305 0.00000000 0.53246877 0.00000000 0.00000000 0.00000000 0.00000000 11.50180718 0.00000000 0.00000000 -0.22942470 0.00000000 0.00000000 0.00000000 1.90819946 0.00000000 0.00000000 0.71180934 0.00000000 0.00000000 0.00000000 0.79396697 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12444449 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04444465 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1731.13691400 0.00239058 0.00000000 0.00000000 0.00000000 409.91750440 0.01938300 0.00000000 0.00000000 0.00000000 131.45648580 0.09090545 0.00000000 0.00000000 0.00000000 48.98743971 0.26146682 0.00000000 0.00000000 0.00000000 19.53707899 0.42157265 0.00000000 0.00000000 0.00000000 7.92872816 0.24571814 0.00000000 0.00000000 0.00000000 31.07601758 0.00000000 -0.02943807 0.00000000 0.00000000 4.28351807 0.00000000 0.55615568 0.00000000 0.00000000 1.70229216 0.00000000 0.96772195 0.00000000 0.00000000 0.64202909 0.00000000 0.00000000 1.00000000 0.00000000 0.14130800 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 68.14074524 0.01198385 0.00000000 0.00000000 19.68524102 0.07368854 0.00000000 0.00000000 6.93221288 0.23085497 0.00000000 0.00000000 2.60251257 0.39281059 0.00000000 0.00000000 0.94016837 0.00000000 0.40203412 0.00000000 0.30381458 0.00000000 0.00000000 0.21415607 $ F-TYPE FUNCTIONS 1 1 0 2.80 1.00 a 28 $ NICKEL (17s,10p,6d) -> [6s,3p,3d] $ polariz (1p,1f) -> [1p,1f] $ S-TYPE FUNCTIONS 17 6 0 351535.72940 0.00022529 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52695.80928 0.00174686 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11992.46829 0.00908500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3394.57766900 0.03694075 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1105.35945800 0.12032820 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 397.14677770 0.28596715 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 154.27542970 0.40983020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 61.01872378 0.21620643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 384.45559740 0.00000000 -0.02465128 0.00000000 0.00000000 0.00000000 0.00000000 119.04879200 0.00000000 -0.11658505 0.00000000 0.00000000 0.00000000 0.00000000 19.13701222 0.00000000 0.54864127 0.00000000 0.00000000 0.00000000 0.00000000 8.15267186 0.00000000 0.52640051 0.00000000 0.00000000 0.00000000 0.00000000 12.57940864 0.00000000 0.00000000 -0.22797884 0.00000000 0.00000000 0.00000000 2.08708661 0.00000000 0.00000000 0.70703738 0.00000000 0.00000000 0.00000000 0.86432569 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13283169 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04684533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 1883.09074900 0.00237483 0.00000000 0.00000000 0.00000000 445.95155320 0.01928946 0.00000000 0.00000000 0.00000000 143.08430820 0.09071821 0.00000000 0.00000000 0.00000000 53.37292072 0.26181414 0.00000000 0.00000000 0.00000000 21.32191936 0.42309150 0.00000000 0.00000000 0.00000000 8.66435620 0.24641686 0.00000000 0.00000000 0.00000000 34.14425521 0.00000000 -0.02967713 0.00000000 0.00000000 4.71224559 0.00000000 0.55616824 0.00000000 0.00000000 1.87092319 0.00000000 0.96357766 0.00000000 0.00000000 0.70370016 0.00000000 0.00000000 1.00000000 0.00000000 0.14658800 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 74.59160347 0.01207745 0.00000000 0.00000000 21.59063275 0.07463726 0.00000000 0.00000000 7.62461426 0.23236776 0.00000000 0.00000000 2.86322068 0.39042652 0.00000000 0.00000000 1.03110634 0.00000000 0.39509499 0.00000000 0.33060761 0.00000000 0.00000000 0.21138769 $ F-TYPE FUNCTIONS 1 1 0 3.04 1.00 a 29 $ COPPER (17s,10p,6d) -> [6s,3p,3d] $ polariz (1p,1f) -> [1p,1f] $ S-TYPE FUNCTIONS 17 6 0 377518.79920 0.00022812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56589.98431 0.00176880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12878.71171 0.00919935 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3645.37521400 0.03741102 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1187.00729400 0.12189874 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 426.46421900 0.28983901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 165.70660160 0.41531872 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 65.59894271 0.21905799 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 414.41265810 0.00000000 -0.02468253 0.00000000 0.00000000 0.00000000 0.00000000 128.32056040 0.00000000 -0.11716827 0.00000000 0.00000000 0.00000000 0.00000000 20.62208975 0.00000000 0.55301316 0.00000000 0.00000000 0.00000000 0.00000000 8.78212260 0.00000000 0.52242719 0.00000000 0.00000000 0.00000000 0.00000000 13.74137201 0.00000000 0.00000000 -0.22736062 0.00000000 0.00000000 0.00000000 2.24312468 0.00000000 0.00000000 0.71761211 0.00000000 0.00000000 0.00000000 0.89370549 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10836700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03880618 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 2034.75966900 0.00235248 0.00000000 0.00000000 0.00000000 481.90468110 0.01913407 0.00000000 0.00000000 0.00000000 154.67482960 0.09017111 0.00000000 0.00000000 0.00000000 57.74057697 0.26063285 0.00000000 0.00000000 0.00000000 23.09905281 0.42093486 0.00000000 0.00000000 0.00000000 9.38824786 0.24344615 0.00000000 0.00000000 0.00000000 37.59617121 0.00000000 -0.02899109 0.00000000 0.00000000 5.12406908 0.00000000 0.54919084 0.00000000 0.00000000 2.01199961 0.00000000 0.93793330 0.00000000 0.00000000 0.73860686 0.00000000 0.00000000 1.00000000 0.00000000 0.15506500 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 74.12946064 0.01436322 0.00000000 0.00000000 21.35984259 0.08662818 0.00000000 0.00000000 7.49952405 0.25631431 0.00000000 0.00000000 2.76013942 0.40374062 0.00000000 0.00000000 0.95362061 0.00000000 0.39427042 0.00000000 0.28420863 0.00000000 0.00000000 0.23091147 $ F-TYPE FUNCTIONS 1 1 0 3.55 1.00 a 30 $ ZINC (17s,10p,6d) -> [6s,3p,3d] $ polariz (1p,1f) -> [1p,1f] $ S-TYPE FUNCTIONS 17 6 0 405924.31030 0.00022442 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 60846.95574 0.00174021 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13847.34309 0.00905133 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3919.61585500 0.03681734 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1276.35941700 0.12004850 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 458.67254440 0.28576058 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 178.28725250 0.41087462 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 70.61219284 0.21816962 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 443.88077950 0.00000000 -0.02493427 0.00000000 0.00000000 0.00000000 0.00000000 137.55875270 0.00000000 -0.11817956 0.00000000 0.00000000 0.00000000 0.00000000 22.26808348 0.00000000 0.55367318 0.00000000 0.00000000 0.00000000 0.00000000 9.52173106 0.00000000 0.52628935 0.00000000 0.00000000 0.00000000 0.00000000 14.87411407 0.00000000 0.00000000 -0.22929955 0.00000000 0.00000000 0.00000000 2.46475176 0.00000000 0.00000000 0.71135485 0.00000000 0.00000000 0.00000000 1.01132722 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14919852 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05144187 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 2205.35085300 0.00233562 0.00000000 0.00000000 0.00000000 522.35300700 0.01903102 0.00000000 0.00000000 0.00000000 167.73055540 0.08995576 0.00000000 0.00000000 0.00000000 62.67004537 0.26113249 0.00000000 0.00000000 0.00000000 25.10974946 0.42348448 0.00000000 0.00000000 0.00000000 10.22514268 0.24618927 0.00000000 0.00000000 0.00000000 40.71344252 0.00000000 -0.03002967 0.00000000 0.00000000 5.62470907 0.00000000 0.55575255 0.00000000 0.00000000 2.22799491 0.00000000 0.95581013 0.00000000 0.00000000 0.83354742 0.00000000 0.00000000 1.00000000 0.00000000 0.16245500 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 88.55431531 0.01272817 0.00000000 0.00000000 25.72152556 0.07939450 0.00000000 0.00000000 9.12783676 0.24491507 0.00000000 0.00000000 3.43123641 0.40390526 0.00000000 0.00000000 1.23089206 0.00000000 0.40158491 0.00000000 0.39031845 0.00000000 0.00000000 0.21579805 $ F-TYPE FUNCTIONS 1 1 0 3.89 1.00 a 31 $ GALLIUM (17s,12p,6p) -> [6s,5p,2d] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 17 6 0 435548.66250 0.00023646 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 65289.58903 0.00183353 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14858.78426 0.00953719 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4205.97347300 0.03880341 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1369.64164300 0.12661605 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 492.30348900 0.30175310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 191.41923230 0.43543934 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.84055867 0.23282364 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 474.30810610 0.00000000 -0.02674371 0.00000000 0.00000000 0.00000000 0.00000000 147.10297560 0.00000000 -0.12654658 0.00000000 0.00000000 0.00000000 0.00000000 23.98259943 0.00000000 0.58840347 0.00000000 0.00000000 0.00000000 0.00000000 10.29823009 0.00000000 0.56324272 0.00000000 0.00000000 0.00000000 0.00000000 16.05038143 0.00000000 0.00000000 -0.24516440 0.00000000 0.00000000 0.00000000 2.69884688 0.00000000 0.00000000 0.74578050 0.00000000 0.00000000 0.00000000 1.14285887 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.20217652 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07198015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 2432.01710700 0.00224341 0.00000000 0.00000000 0.00000000 0.00000000 576.12049580 0.01834227 0.00000000 0.00000000 0.00000000 0.00000000 185.11584350 0.08727970 0.00000000 0.00000000 0.00000000 0.00000000 69.24657256 0.25684868 0.00000000 0.00000000 0.00000000 0.00000000 27.81810778 0.42398378 0.00000000 0.00000000 0.00000000 0.00000000 11.42022994 0.25701340 0.00000000 0.00000000 0.00000000 0.00000000 42.81966153 0.00000000 -0.01932652 0.00000000 0.00000000 0.00000000 6.38859010 0.00000000 0.31571387 0.00000000 0.00000000 0.00000000 2.66989933 0.00000000 0.57617793 0.00000000 0.00000000 0.00000000 1.07817838 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.22796559 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06283623 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 4 0 103.92331830 0.01146461 0.00000000 0.00000000 0.00000000 30.37109439 0.07362575 0.00000000 0.00000000 0.00000000 10.87207810 0.23505107 0.00000000 0.00000000 0.00000000 4.15491379 0.40318564 0.00000000 0.00000000 0.00000000 1.53456591 0.40824748 0.00000000 0.00000000 0.00000000 0.51114264 0.00000000 0.20502439 0.00000000 0.00000000 0.30622000 0.00000000 0.00000000 1.00000000 0.00000000 0.11391309 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.30996095 1.0 a 32 $ GERMANIUM (17s,12p,6p) -> [6s,5p,2d] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 17 6 0 466115.00590 0.00022487 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 69875.42076 0.00174354 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15903.27672 0.00906915 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4501.82334500 0.03690617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1466.05709200 0.12050168 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 527.07841730 0.28748642 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 205.00395070 0.41622322 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 81.25159607 0.22397846 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 505.74661280 0.00000000 -0.02518461 0.00000000 0.00000000 0.00000000 0.00000000 156.96593740 0.00000000 -0.11898930 0.00000000 0.00000000 0.00000000 0.00000000 25.76144818 0.00000000 0.54930136 0.00000000 0.00000000 0.00000000 0.00000000 11.10665469 0.00000000 0.52939309 0.00000000 0.00000000 0.00000000 0.00000000 17.27205910 0.00000000 0.00000000 -0.22854596 0.00000000 0.00000000 0.00000000 2.94382891 0.00000000 0.00000000 0.68377930 0.00000000 0.00000000 0.00000000 1.28391649 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.25873337 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09352491 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 2633.93462400 0.00221439 0.00000000 0.00000000 0.00000000 0.00000000 624.00161630 0.01814090 0.00000000 0.00000000 0.00000000 0.00000000 200.58528400 0.08663218 0.00000000 0.00000000 0.00000000 0.00000000 75.09708153 0.25649021 0.00000000 0.00000000 0.00000000 0.00000000 30.21438847 0.42658611 0.00000000 0.00000000 0.00000000 0.00000000 12.44008757 0.26200527 0.00000000 0.00000000 0.00000000 0.00000000 45.98131600 0.00000000 -0.02032177 0.00000000 0.00000000 0.00000000 6.99456544 0.00000000 0.32013745 0.00000000 0.00000000 0.00000000 2.96860013 0.00000000 0.59051015 0.00000000 0.00000000 0.00000000 1.23209885 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.28981615 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08556461 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 4 0 119.44887580 0.01058654 0.00000000 0.00000000 0.00000000 35.06291529 0.06960128 0.00000000 0.00000000 0.00000000 12.63692453 0.22807035 0.00000000 0.00000000 0.00000000 4.88886729 0.40301067 0.00000000 0.00000000 0.00000000 1.84531954 0.41304847 0.00000000 0.00000000 0.00000000 0.63571159 0.00000000 0.19639210 0.00000000 0.00000000 0.35492132 0.00000000 0.00000000 1.00000000 0.00000000 0.13155709 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.36210645 1.0 a 33 $ ARSENIC (17s,13p,6p) -> [6s,5p,2d] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 17 6 0 498032.42160 0.00022740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 74656.86874 0.00176328 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16990.96000 0.00917280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4809.62003200 0.03733783 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1566.28870600 0.12199536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 563.21360500 0.29137475 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 219.11179980 0.42326351 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 86.86606103 0.22921464 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 538.19512480 0.00000000 -0.02525420 0.00000000 0.00000000 0.00000000 0.00000000 167.14850220 0.00000000 -0.11915461 0.00000000 0.00000000 0.00000000 0.00000000 27.60551716 0.00000000 0.54628496 0.00000000 0.00000000 0.00000000 0.00000000 11.94785852 0.00000000 0.53001521 0.00000000 0.00000000 0.00000000 0.00000000 18.53802313 0.00000000 0.00000000 -0.23479188 0.00000000 0.00000000 0.00000000 3.20189857 0.00000000 0.00000000 0.69167053 0.00000000 0.00000000 0.00000000 1.43565221 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.31837805 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11622632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 2678.94215500 0.00233190 0.00000000 0.00000000 0.00000000 0.00000000 634.61765840 0.01904215 0.00000000 0.00000000 0.00000000 0.00000000 203.93967610 0.09022974 0.00000000 0.00000000 0.00000000 0.00000000 76.32389037 0.26169038 0.00000000 0.00000000 0.00000000 0.00000000 30.66412494 0.41857168 0.00000000 0.00000000 0.00000000 0.00000000 12.50505673 0.23447830 0.00000000 0.00000000 0.00000000 0.00000000 49.25622955 0.00000000 -0.02123554 0.00000000 0.00000000 0.00000000 7.72748915 0.00000000 0.30470207 0.00000000 0.00000000 0.00000000 3.54104935 0.00000000 0.52888373 0.00000000 0.00000000 0.00000000 1.69855855 0.00000000 0.37272251 0.00000000 0.00000000 0.00000000 0.76848071 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.30050823 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09819064 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 4 0 135.33289310 0.00992911 0.00000000 0.00000000 0.00000000 39.86021274 0.06656884 0.00000000 0.00000000 0.00000000 14.44642836 0.22275768 0.00000000 0.00000000 0.00000000 5.64329004 0.40309224 0.00000000 0.00000000 0.00000000 2.16681886 0.41671668 0.00000000 0.00000000 0.00000000 0.76514971 0.00000000 0.18935502 0.00000000 0.00000000 0.42434653 0.00000000 0.00000000 1.00000000 0.00000000 0.16331527 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.43271941 1.0 a 34 $ SELENIUM (17s,13p,6p) -> [6s,5p,2d] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 17 6 0 531071.66700 0.00024109 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 79603.04412 0.00186964 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18115.84424 0.00972716 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5127.89231900 0.03960479 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1669.91308400 0.12948855 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 600.57534530 0.30959437 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 233.70021250 0.45115769 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 92.67244393 0.24579189 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 571.57513680 0.00000000 -0.02689571 0.00000000 0.00000000 0.00000000 0.00000000 177.63686370 0.00000000 -0.12670989 0.00000000 0.00000000 0.00000000 0.00000000 29.51776705 0.00000000 0.57699002 0.00000000 0.00000000 0.00000000 0.00000000 12.82439979 0.00000000 0.56369075 0.00000000 0.00000000 0.00000000 0.00000000 19.84823584 0.00000000 0.00000000 -0.25132416 0.00000000 0.00000000 0.00000000 3.47440185 0.00000000 0.00000000 0.72905417 0.00000000 0.00000000 0.00000000 1.59889108 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.38333469 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14049742 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 2815.35005700 0.00255690 0.00000000 0.00000000 0.00000000 0.00000000 666.92558300 0.02087403 0.00000000 0.00000000 0.00000000 0.00000000 214.34213190 0.09877210 0.00000000 0.00000000 0.00000000 0.00000000 80.24668794 0.28471821 0.00000000 0.00000000 0.00000000 0.00000000 32.25108129 0.45003585 0.00000000 0.00000000 0.00000000 0.00000000 13.10643256 0.24416091 0.00000000 0.00000000 0.00000000 0.00000000 53.36610852 0.00000000 -0.02155846 0.00000000 0.00000000 0.00000000 8.18277772 0.00000000 0.32662311 0.00000000 0.00000000 0.00000000 3.62399457 0.00000000 0.57740499 0.00000000 0.00000000 0.00000000 1.63415914 0.00000000 0.34301321 0.00000000 0.00000000 0.00000000 0.58418320 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.23966269 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08878513 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 4 0 151.82910280 0.00939703 0.00000000 0.00000000 0.00000000 44.83999252 0.06408650 0.00000000 0.00000000 0.00000000 16.32899951 0.21834238 0.00000000 0.00000000 0.00000000 6.43050576 0.40314790 0.00000000 0.00000000 0.00000000 2.50480252 0.41966491 0.00000000 0.00000000 0.00000000 0.90271148 0.00000000 0.18366663 0.00000000 0.00000000 0.47683613 0.00000000 0.00000000 1.00000000 0.00000000 0.18535160 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.48866905 1.00 a 35 $ BROMINE (17s,13p,6p) -> [6s,5p,2d] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 17 6 0 565073.25260 0.00023660 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 84701.72318 0.00183483 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19276.27190 0.00954658 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5456.42845800 0.03887714 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1776.95035000 0.12718314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 639.19398280 0.30437662 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 248.78823960 0.44490940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 98.67830549 0.24381643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 606.07824570 0.00000000 -0.02652716 0.00000000 0.00000000 0.00000000 0.00000000 188.45598480 0.00000000 -0.12484585 0.00000000 0.00000000 0.00000000 0.00000000 31.49714451 0.00000000 0.56468684 0.00000000 0.00000000 0.00000000 0.00000000 13.73600832 0.00000000 0.55555269 0.00000000 0.00000000 0.00000000 0.00000000 21.20321277 0.00000000 0.00000000 -0.24940920 0.00000000 0.00000000 0.00000000 3.76164202 0.00000000 0.00000000 0.71213120 0.00000000 0.00000000 0.00000000 1.77359340 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.45197414 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.16613377 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 3019.69557200 0.00249710 0.00000000 0.00000000 0.00000000 0.00000000 715.35481130 0.02041927 0.00000000 0.00000000 0.00000000 0.00000000 229.98328750 0.09689715 0.00000000 0.00000000 0.00000000 0.00000000 86.16784462 0.28053901 0.00000000 0.00000000 0.00000000 0.00000000 34.66787080 0.44606390 0.00000000 0.00000000 0.00000000 0.00000000 14.11387031 0.24410074 0.00000000 0.00000000 0.00000000 0.00000000 57.08565308 0.00000000 -0.02185595 0.00000000 0.00000000 0.00000000 8.81938458 0.00000000 0.32707075 0.00000000 0.00000000 0.00000000 3.93403029 0.00000000 0.57855230 0.00000000 0.00000000 0.00000000 1.79988304 0.00000000 0.33570988 0.00000000 0.00000000 0.00000000 0.66899411 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.27136238 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10083790 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 4 0 168.85370260 0.00896640 0.00000000 0.00000000 0.00000000 49.97794992 0.06206206 0.00000000 0.00000000 0.00000000 18.27491334 0.21474732 0.00000000 0.00000000 0.00000000 7.24556946 0.40335337 0.00000000 0.00000000 0.00000000 2.85623150 0.42208813 0.00000000 0.00000000 0.00000000 1.04596211 0.00000000 0.17874813 0.00000000 0.00000000 0.56865655 0.00000000 0.00000000 1.00000000 0.00000000 0.22031490 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.57083312 1.00000000 a 36 $ KRYPTON (17s,13p,6p) -> [6s,5p,2d] $ polariz (2d,1f) -> [2d,1f] $ S-TYPE FUNCTIONS 17 6 0 600250.97570 0.00023741 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 89976.65078 0.00184102 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20476.81422 0.00957956 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5796.15540800 0.03902065 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1887.59132000 0.12772646 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 679.11458520 0.30596521 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 264.38244510 0.44857474 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 104.88368570 0.24722957 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 641.47370760 0.00000000 -0.02674528 0.00000000 0.00000000 0.00000000 0.00000000 199.57524820 0.00000000 -0.12571123 0.00000000 0.00000000 0.00000000 0.00000000 33.54546295 0.00000000 0.56483736 0.00000000 0.00000000 0.00000000 0.00000000 14.68395514 0.00000000 0.55972766 0.00000000 0.00000000 0.00000000 0.00000000 22.60310186 0.00000000 0.00000000 -0.25298772 0.00000000 0.00000000 0.00000000 4.06506830 0.00000000 0.00000000 0.70992160 0.00000000 0.00000000 0.00000000 1.96110271 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.52465148 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.19332400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 5 0 3232.95896100 0.00248856 0.00000000 0.00000000 0.00000000 0.00000000 765.96442690 0.02037901 0.00000000 0.00000000 0.00000000 0.00000000 246.33940810 0.09697719 0.00000000 0.00000000 0.00000000 0.00000000 92.36528304 0.28199961 0.00000000 0.00000000 0.00000000 0.00000000 37.19950955 0.45116254 0.00000000 0.00000000 0.00000000 0.00000000 15.17216653 0.24917132 0.00000000 0.00000000 0.00000000 0.00000000 60.93132170 0.00000000 -0.02217360 0.00000000 0.00000000 0.00000000 9.47926007 0.00000000 0.32838463 0.00000000 0.00000000 0.00000000 4.25646863 0.00000000 0.58124997 0.00000000 0.00000000 0.00000000 1.97293138 0.00000000 0.32863542 0.00000000 0.00000000 0.00000000 0.76337109 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.30943626 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11569704 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 8 4 0 186.41760900 0.00861203 0.00000000 0.00000000 0.00000000 55.27412435 0.06039441 0.00000000 0.00000000 0.00000000 20.28321912 0.21181332 0.00000000 0.00000000 0.00000000 8.08845370 0.40366293 0.00000000 0.00000000 0.00000000 3.22140338 0.42402861 0.00000000 0.00000000 0.00000000 1.19521701 0.00000000 0.17441742 0.00000000 0.00000000 0.64800000 0.00000000 0.00000000 1.00000000 0.00000000 0.25100000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.628 1.00 $END OF BASIS ergo-3.5/basis/Makefile.in0000664000175000017500000003570412743400352012417 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : subdir = basis ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/source/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(ergobasisdir)" DATA = $(ergobasis_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ERGO_DATA_PREFIX = @ERGO_DATA_PREFIX@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ergo_BASIS = \ hybrid-guess-basis \ 3-21G \ 3-21++G \ 3-21Gs \ 3-21++Gs \ 4-31G \ 6-311G \ 6-31G \ 6-31Gs \ 6-31Gss \ 6-31+G \ 6-31++G \ 6-31++Gs \ 6-31++Gss \ 6-311++Gss \ 6-311Gs \ 6-311+Gs \ 6-311Gss \ 6-31Gfixed \ Ahlrichs-Coulomb-Fit \ AhlrichsDenFit \ Ahlrichs-pVDZ \ Ahlrichs-TZV \ AhlrichsVDZ \ Ahlrichs-VDZ \ AhlrichsVTZ \ Ahlrichs-VTZ \ Almlof-Taylor-ANO \ ano-1 \ ano-2 \ ano-3 \ ano-4 \ ano-5 \ aug-cc-pCV5Z \ aug-cc-pCVDZ \ aug-cc-pCVQZ \ aug-cc-pCVTZ \ aug-cc-pCVTZ-CTOCD-uc \ aug-cc-pV(5+d)Z \ aug-cc-pV5Z \ aug-cc-pV(6+d)Z \ aug-cc-pV6Z \ aug-cc-pV(D+d)Z \ aug-cc-pVDZ \ aug-cc-pV(Q+d)Z \ aug-cc-pVQZ \ aug-cc-pV(T+d)Z \ aug-cc-pVTZ \ aug-cc-pVTZ-J \ aug-pV7Z \ cc-pCV5Z \ cc-pCVDZ \ cc-pCVQZ \ cc-pCVTZ \ cc-pV(5+d)Z \ cc-pV5Z \ cc-pV5Zdenfit \ cc-pV5Z-DK \ cc-pV(6+d)Z \ cc-pV6Z \ cc-pV(D+d)Z \ cc-pVDZ \ cc-pVDZ-DK \ cc-pV(Q+d)Z \ cc-pVQZ \ cc-pVQZdenfit \ cc-pVQZ-DK \ cc-pV(T+d)Z \ cc-pVTZ \ cc-pVTZdenfit \ cc-pVTZ-DK \ cc-pwCV5Z \ cc-pwCVDZ \ cc-pwCVQZ \ cc-pwCVTZ \ DunningDZ \ DunningTZ \ ECP \ ECP_pseudo \ ecp-sdd-DZ \ ecp-sdd-pseudo \ GAMESS-PVTZ \ GAMESS-VTZ \ Huckel \ Huz-II \ Huz-III \ Huz-IIIsu3 \ Huz-IIsu2 \ Huz-IV \ Huz-IVsu4 \ japrtano \ McLean-Chandler-VTZ \ MIDI \ NASA-Ames-ANO \ NQvD \ pV6Z \ pV7Z \ raf-r \ RoosAugDZANO \ sad-J \ sadlej \ Sadlej-pVTZ \ Sadlej-pVTZ-J \ STO-1G \ STO-2G \ STO-3G \ STO-6G \ Turbomole-DZ \ Turbomole-DZP \ Turbomole-QZV \ Turbomole-QZVP \ Turbomole-QZVPP \ Turbomole-SV \ Turbomole-SVP \ Turbomole-TZ \ Turbomole-TZP \ Turbomole-TZV \ Turbomole-TZVP \ Turbomole-TZVPP \ Turbomole-TZVPPP \ Wachtersa+f EXTRA_DIST = $(ergo_BASIS) ergobasisdir = $(ERGO_DATA_PREFIX)/basis ergobasis_DATA = $(ergo_BASIS) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign basis/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign basis/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-ergobasisDATA: $(ergobasis_DATA) @$(NORMAL_INSTALL) @list='$(ergobasis_DATA)'; test -n "$(ergobasisdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(ergobasisdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(ergobasisdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(ergobasisdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(ergobasisdir)" || exit $$?; \ done uninstall-ergobasisDATA: @$(NORMAL_UNINSTALL) @list='$(ergobasis_DATA)'; test -n "$(ergobasisdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(ergobasisdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(ergobasisdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-ergobasisDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-ergobasisDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am \ install-ergobasisDATA install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags-am \ uninstall uninstall-am uninstall-ergobasisDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ergo-3.5/basis/Makefile.am0000664000175000017500000000337612743400275012412 00000000000000ergo_BASIS = \ hybrid-guess-basis \ 3-21G \ 3-21++G \ 3-21Gs \ 3-21++Gs \ 4-31G \ 6-311G \ 6-31G \ 6-31Gs \ 6-31Gss \ 6-31+G \ 6-31++G \ 6-31++Gs \ 6-31++Gss \ 6-311++Gss \ 6-311Gs \ 6-311+Gs \ 6-311Gss \ 6-31Gfixed \ Ahlrichs-Coulomb-Fit \ AhlrichsDenFit \ Ahlrichs-pVDZ \ Ahlrichs-TZV \ AhlrichsVDZ \ Ahlrichs-VDZ \ AhlrichsVTZ \ Ahlrichs-VTZ \ Almlof-Taylor-ANO \ ano-1 \ ano-2 \ ano-3 \ ano-4 \ ano-5 \ aug-cc-pCV5Z \ aug-cc-pCVDZ \ aug-cc-pCVQZ \ aug-cc-pCVTZ \ aug-cc-pCVTZ-CTOCD-uc \ aug-cc-pV(5+d)Z \ aug-cc-pV5Z \ aug-cc-pV(6+d)Z \ aug-cc-pV6Z \ aug-cc-pV(D+d)Z \ aug-cc-pVDZ \ aug-cc-pV(Q+d)Z \ aug-cc-pVQZ \ aug-cc-pV(T+d)Z \ aug-cc-pVTZ \ aug-cc-pVTZ-J \ aug-pV7Z \ cc-pCV5Z \ cc-pCVDZ \ cc-pCVQZ \ cc-pCVTZ \ cc-pV(5+d)Z \ cc-pV5Z \ cc-pV5Zdenfit \ cc-pV5Z-DK \ cc-pV(6+d)Z \ cc-pV6Z \ cc-pV(D+d)Z \ cc-pVDZ \ cc-pVDZ-DK \ cc-pV(Q+d)Z \ cc-pVQZ \ cc-pVQZdenfit \ cc-pVQZ-DK \ cc-pV(T+d)Z \ cc-pVTZ \ cc-pVTZdenfit \ cc-pVTZ-DK \ cc-pwCV5Z \ cc-pwCVDZ \ cc-pwCVQZ \ cc-pwCVTZ \ DunningDZ \ DunningTZ \ ECP \ ECP_pseudo \ ecp-sdd-DZ \ ecp-sdd-pseudo \ GAMESS-PVTZ \ GAMESS-VTZ \ Huckel \ Huz-II \ Huz-III \ Huz-IIIsu3 \ Huz-IIsu2 \ Huz-IV \ Huz-IVsu4 \ japrtano \ McLean-Chandler-VTZ \ MIDI \ NASA-Ames-ANO \ NQvD \ pV6Z \ pV7Z \ raf-r \ RoosAugDZANO \ sad-J \ sadlej \ Sadlej-pVTZ \ Sadlej-pVTZ-J \ STO-1G \ STO-2G \ STO-3G \ STO-6G \ Turbomole-DZ \ Turbomole-DZP \ Turbomole-QZV \ Turbomole-QZVP \ Turbomole-QZVPP \ Turbomole-SV \ Turbomole-SVP \ Turbomole-TZ \ Turbomole-TZP \ Turbomole-TZV \ Turbomole-TZVP \ Turbomole-TZVPP \ Turbomole-TZVPPP \ Wachtersa+f EXTRA_DIST = $(ergo_BASIS) ergobasisdir =$(ERGO_DATA_PREFIX)/basis ergobasis_DATA = $(ergo_BASIS) ergo-3.5/basis/AhlrichsVTZ0000775000175000017500000015673512743400275012455 00000000000000$Ahlrichs VTZ $ $ REFERENCE $ Elements References -------- $ ---------- H - Kr: A. Schafer, H. Horn and R. Ahlrichs, J. Chem. Phys $ . 97, 2571 (1992). a 1 $ HYDROGEN (5s) -> [3s] $ S-TYPE FUNCTIONS 5 3 0 34.0613410 0.00602520 0.00000000 0.00000000 5.1235746 0.04502109 0.00000000 0.00000000 1.1646626 0.20189726 0.00000000 0.00000000 0.3272304 0.00000000 1.00000000 0.00000000 0.1030724 0.00000000 0.00000000 1.00000000 a 2 $ HELIUM (5s) -> [3s] $ S-TYPE FUNCTIONS 5 3 0 98.0783216 0.00758031 0.00000000 0.00000000 14.7644042 0.05484862 0.00000000 0.00000000 3.3185831 0.22074382 0.00000000 0.00000000 0.8741387 0.00000000 1.00000000 0.00000000 0.2445990 0.00000000 0.00000000 1.00000000 a 3 $ LITHIUM (10s) -> [6s] $ S-TYPE FUNCTIONS 10 6 0 3341.4028812 0.00068826 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 500.9515931 0.00532964 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 114.0110311 0.02756437 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.2654731 0.10988243 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.4720585 0.33943049 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.6978284 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.3712085 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5190846 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0745329 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0282336 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (10s) -> [6s] $ S-TYPE FUNCTIONS 10 6 0 6526.1477796 0.00043732 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 978.3549642 0.00338821 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 222.6586576 0.01756309 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.0130283 0.07058048 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.4687202 0.22263836 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.2692487 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.7393701 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0615791 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1815844 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0588268 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 5 $ BORON (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 5658.4992000 0.00055208 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 848.6970300 0.00426514 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 193.1365600 0.02185317 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.5863170 0.08457068 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.6001260 0.24304764 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.1269618 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.2245270 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5565035 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2387623 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0857940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 22.4558020 -0.00502606 0.00000000 0.00000000 5.1030675 -0.03282698 0.00000000 0.00000000 1.4984096 -0.13140941 0.00000000 0.00000000 0.5098907 -0.33125264 0.00000000 0.00000000 0.1819135 0.00000000 1.00000000 0.00000000 0.0648272 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 8506.0384000 0.00053374 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1275.7329000 0.00412502 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 290.3118700 0.02117134 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 82.0562000 0.08241786 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.4796410 0.24012858 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.2414585 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.3643530 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8717416 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3635235 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1287314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 34.7094960 0.00533010 0.00000000 0.00000000 7.9590883 0.03586581 0.00000000 0.00000000 2.3786972 0.14200299 0.00000000 0.00000000 0.8154007 0.34203105 0.00000000 0.00000000 0.2895378 0.00000000 1.00000000 0.00000000 0.1008475 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 11913.4167560 -0.00052297 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1786.7213834 -0.00404284 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 406.5901283 -0.02077272 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 114.9252507 -0.08118314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.1058834 -0.23871497 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.9716762 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.7302291 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.2525184 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5126007 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1793971 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 49.2187584 0.00555270 0.00000000 0.00000000 11.3489353 0.03805462 0.00000000 0.00000000 3.4285088 0.14941412 0.00000000 0.00000000 1.1799513 0.34898187 0.00000000 0.00000000 0.4172612 0.00000000 1.00000000 0.00000000 0.1429513 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 15902.6474590 0.00051500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2384.9537829 0.00398198 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 542.7195718 0.02047697 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 153.4040787 0.08026237 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.5457161 0.23766840 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.3396499 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.3303355 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.6995882 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.6895449 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2393603 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 63.2705240 0.00607092 0.00000000 0.00000000 14.6233123 0.04194769 0.00000000 0.00000000 4.4489518 0.16156884 0.00000000 0.00000000 1.5281513 0.35682779 0.00000000 0.00000000 0.5299732 0.00000000 1.00000000 0.00000000 0.1750945 0.00000000 0.00000000 1.00000000 a 9 $ FLUORINE (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 20450.4890000 0.00051103 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3066.9547000 0.00395188 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 697.9100300 0.02033455 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 197.2702000 0.07987648 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.7283430 0.23775601 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.3218090 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.1557609 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.2114295 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.8903857 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3069660 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 80.2180200 0.00637445 0.00000000 0.00000000 18.5872810 0.04436019 0.00000000 0.00000000 5.6844581 0.16880038 0.00000000 0.00000000 1.9512781 0.36162979 0.00000000 0.00000000 0.6702411 0.00000000 1.00000000 0.00000000 0.2168225 0.00000000 0.00000000 1.00000000 a 10 $ NEON (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 25558.3983200 -0.00050573 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3832.9404804 -0.00391125 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 872.2107378 -0.02013482 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 246.5375541 -0.07922343 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 79.6583949 -0.23675798 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 27.9197996 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.2071317 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.7883187 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.1153995 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3823401 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 99.7609664 0.00656487 0.00000000 0.00000000 23.1676890 0.04595815 0.00000000 0.00000000 7.1133899 0.17349981 0.00000000 0.00000000 2.4418574 0.36486075 0.00000000 0.00000000 0.8344206 0.00000000 1.00000000 0.00000000 0.2663988 0.00000000 0.00000000 1.00000000 a 11 $ SODIUM (12s,6p) -> [7s,2p] $ S-TYPE FUNCTIONS 12 7 0 48876.1981470 0.00030496 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 7327.2863708 0.00236328 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1667.4194652 0.01226845 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 471.5810120 0.04962518 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 152.9366981 0.15949592 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 54.3558555 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 20.7652228 0.00000000 0.00000000 0.40072046 0.00000000 0.00000000 0.00000000 0.0000000 8.3599496 0.00000000 0.00000000 0.18337373 0.00000000 0.00000000 0.00000000 0.0000000 2.1480946 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.6881941 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.0604771 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0271341 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 6 2 0 137.9625476 0.00592646 0.00000000 32.2091054 0.04254399 0.00000000 9.9746379 0.16644535 0.00000000 3.4780930 0.36814915 0.00000000 1.2284372 0.45781035 0.00000000 0.4173194 0.00000000 1.00000000 a 12 $ MAGNESIUM (12s,6p) -> [7s,2p] $ S-TYPE FUNCTIONS 12 7 0 58088.3497780 0.00029218 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 8708.1180998 0.00226442 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1981.6224182 0.01175604 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 560.4398600 0.04756994 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 181.7297611 0.15308048 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 64.6033357 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 24.7421447 0.00000000 0.00000000 0.39883561 0.00000000 0.00000000 0.00000000 0.0000000 10.0246647 0.00000000 0.00000000 0.18188815 0.00000000 0.00000000 0.00000000 0.0000000 2.6947441 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.9114525 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.1068967 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0400916 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 6 2 0 179.8337272 0.00538198 0.00000000 42.1130967 0.03932575 0.00000000 13.1173538 0.15749044 0.00000000 4.6229435 0.35940561 0.00000000 1.6685786 0.45516230 0.00000000 0.5854780 0.00000000 0.21970492 a 14 $ SILICON (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 79079.4340000 0.00026431 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 11855.0100000 0.00204851 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 2697.7051000 0.01063724 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 762.8722700 0.04308248 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 247.2845500 0.13898279 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 87.9312400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 33.8232840 0.00000000 0.00000000 0.44071543 0.00000000 0.00000000 0.00000000 0.0000000 13.8681080 0.00000000 0.00000000 0.20091165 0.00000000 0.00000000 0.00000000 0.0000000 3.9920017 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 1.4659925 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.2527109 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0924917 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 483.0235200 0.00191615 0.00000000 0.00000000 0.00000000 0.00000000 114.2508100 0.01530977 0.00000000 0.00000000 0.00000000 0.00000000 36.3877860 0.07109436 0.00000000 0.00000000 0.00000000 0.00000000 13.4117040 0.21243244 0.00000000 0.00000000 0.00000000 0.00000000 5.2884033 0.38976302 0.00000000 0.00000000 0.00000000 0.00000000 2.1374219 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8646846 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2548986 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0793970 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 91049.0495250 0.00025380 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 13649.2488640 0.00196712 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 3105.9432074 0.01021606 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 878.2598263 0.04139916 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 284.6339291 0.13375415 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 101.2061001 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 38.9778414 0.00000000 0.00000000 0.45416113 0.00000000 0.00000000 0.00000000 0.0000000 16.0484941 0.00000000 0.00000000 0.20742198 0.00000000 0.00000000 0.00000000 0.0000000 4.7225339 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 1.7825222 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.3396297 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.1233386 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 528.4438933 -0.00228152 0.00000000 0.00000000 0.00000000 0.00000000 124.9714995 -0.01818364 0.00000000 0.00000000 0.00000000 0.00000000 39.7957092 -0.08394070 0.00000000 0.00000000 0.00000000 0.00000000 14.6575450 -0.24604714 0.00000000 0.00000000 0.00000000 0.00000000 5.7578893 -0.43655668 0.00000000 0.00000000 0.00000000 0.00000000 2.3123201 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8899378 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3046715 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1007815 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 103953.9500000 0.00024743 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 15583.7860000 0.00191777 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 3546.1293000 0.00996100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1002.6808000 0.04038643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 324.9028800 0.13067523 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 115.5122500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 44.5282100 0.00000000 0.00000000 0.50403551 0.00000000 0.00000000 0.00000000 0.0000000 18.3978920 0.00000000 0.00000000 0.23068051 0.00000000 0.00000000 0.00000000 0.0000000 5.5100683 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 2.1259867 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.4369189 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.1573085 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 606.6936700 0.00232296 0.00000000 0.00000000 0.00000000 0.00000000 143.5069600 0.01857053 0.00000000 0.00000000 0.00000000 0.00000000 45.7461600 0.08603274 0.00000000 0.00000000 0.00000000 0.00000000 16.8729120 0.25248431 0.00000000 0.00000000 0.00000000 0.00000000 6.6399196 0.44632742 0.00000000 0.00000000 0.00000000 0.00000000 2.6727135 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0000089 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3543894 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1167131 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 117805.7900000 0.00024181 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 17660.2650000 0.00187427 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 4018.5973000 0.00973629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1136.2231000 0.03949475 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 368.1206200 0.12797166 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 130.8615400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 50.4790110 0.00000000 0.00000000 0.42874094 0.00000000 0.00000000 0.00000000 0.0000000 20.9168050 0.00000000 0.00000000 0.19668493 0.00000000 0.00000000 0.00000000 0.0000000 6.3531388 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 2.4948014 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.5433595 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.1943437 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 681.0687900 0.00236589 0.00000000 0.00000000 0.00000000 0.00000000 161.1135900 0.01894072 0.00000000 0.00000000 0.00000000 0.00000000 51.3866370 0.08784513 0.00000000 0.00000000 0.00000000 0.00000000 18.9585120 0.25707435 0.00000000 0.00000000 0.00000000 0.00000000 3.0035158 0.37152361 0.00000000 0.00000000 0.00000000 0.00000000 7.4565293 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0609361 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3945202 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1332328 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 132594.7425500 0.00025484 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 19877.2100510 0.00197533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 4523.0525989 0.01026246 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1278.8031045 0.04164867 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 414.2561894 0.13513377 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 147.2419411 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 56.8261554 0.00000000 0.00000000 0.45141633 0.00000000 0.00000000 0.00000000 0.0000000 23.6040860 0.00000000 0.00000000 0.20758832 0.00000000 0.00000000 0.00000000 0.0000000 7.2524952 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 2.8892980 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.6588798 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.2343956 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 828.3396980 0.00217730 0.00000000 0.00000000 0.00000000 0.00000000 196.0651076 0.01759744 0.00000000 0.00000000 0.00000000 0.00000000 62.6812276 0.08290592 0.00000000 0.00000000 0.00000000 0.00000000 23.2250778 0.24934103 0.00000000 0.00000000 0.00000000 0.00000000 9.2167815 0.45327281 0.00000000 0.00000000 0.00000000 0.00000000 3.7595533 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.4316786 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5129827 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1682149 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 19 $ POTASSIUM (14s,9p) -> [8s,5p] $ S-TYPE FUNCTIONS 14 8 0 182594.2732400 -0.00022775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 27369.0049860 -0.00176640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 6229.1737971 -0.00919497 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1764.5823486 -0.03745508 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 577.0512059 -0.12204454 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 210.2493336 -0.29898972 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 82.6178306 0.00000000 -0.40514697 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 33.2331845 0.00000000 -0.29253151 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 8.1064902 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3.3340259 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.8455442 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.3282163 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0364035 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0176463 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 891.0544687 0.00218429 0.00000000 0.00000000 0.00000000 0.00000000 211.0158200 0.01758911 0.00000000 0.00000000 0.00000000 0.00000000 67.6714124 0.08177747 0.00000000 0.00000000 0.00000000 0.00000000 25.2714881 0.00000000 0.24565632 0.00000000 0.00000000 0.00000000 10.1389590 0.00000000 0.43398377 0.00000000 0.00000000 0.00000000 4.2018627 0.00000000 0.36237665 0.00000000 0.00000000 0.00000000 1.6029467 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.6146125 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2219930 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 20 $ CALCIUM (14s,9p) -> [8s,5p] $ S-TYPE FUNCTIONS 14 8 0 202698.9551900 0.00022296 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 30382.4659150 0.00172932 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 6915.0833150 0.00900226 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1959.0210984 0.03666989 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 640.9360207 0.11940987 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 233.9769684 0.29182526 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 92.2891983 0.00000000 0.40441528 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 37.2544799 0.00000000 0.29631289 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 9.1319843 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3.8177858 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.0493475 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.4286599 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0628226 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0260162 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1019.7607638 -0.00205986 0.00000000 0.00000000 0.00000000 0.00000000 241.5963076 -0.01665008 0.00000000 0.00000000 0.00000000 0.00000000 77.6370121 -0.07776460 0.00000000 0.00000000 0.00000000 0.00000000 29.1154194 0.00000000 -0.24180561 0.00000000 0.00000000 0.00000000 11.7625936 0.00000000 -0.43257799 0.00000000 0.00000000 0.00000000 4.9228924 0.00000000 -0.36732482 0.00000000 0.00000000 0.00000000 1.9223257 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.7579620 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2843020 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 21 $ SCANDIUM (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 224356.9429700 0.00021996 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 33628.7060600 0.00170604 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 7654.0171483 0.00888153 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2168.4396566 0.03618370 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 709.6266386 0.11783927 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 259.3173133 0.28791645 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 102.4780376 0.00000000 0.36705139 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 41.4431397 0.00000000 0.27161996 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 10.2018556 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 4.3044983 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.2219457 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.4972518 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0727281 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0293938 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1154.9909592 0.00201027 0.00000000 0.00000000 0.00000000 0.00000000 273.7049661 0.01630507 0.00000000 0.00000000 0.00000000 0.00000000 88.0693273 0.07652789 0.00000000 0.00000000 0.00000000 0.00000000 33.1107600 0.00000000 0.23950904 0.00000000 0.00000000 0.00000000 13.4364408 0.00000000 0.43235380 0.00000000 0.00000000 0.00000000 5.6580985 0.00000000 0.36969429 0.00000000 0.00000000 0.00000000 2.2436704 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.8879800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3328241 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 19.2385240 0.02705466 0.00000000 0.00000000 5.1173306 0.13813250 0.00000000 0.00000000 1.6549884 0.34895303 0.00000000 0.00000000 0.5401760 0.00000000 1.00000000 0.00000000 0.1621063 0.00000000 0.00000000 1.00000000 a 22 $ TITANIUM (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 247254.2047200 -0.00022396 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 37060.7475770 -0.00173712 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 8435.1700312 -0.00904390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2389.8299020 -0.03685082 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 782.2311987 -0.12004208 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 286.0677641 -0.29336894 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 113.2064433 0.00000000 -0.39817815 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 45.8457204 0.00000000 -0.29713034 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 11.3285248 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 4.8125219 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.3957659 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.5632790 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0805130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0319265 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1298.4162107 0.00202474 0.00000000 0.00000000 0.00000000 0.00000000 307.7562578 0.01647259 0.00000000 0.00000000 0.00000000 0.00000000 99.1312339 0.07766728 0.00000000 0.00000000 0.00000000 0.00000000 37.3453056 0.00000000 0.24328820 0.00000000 0.00000000 0.00000000 15.2107126 0.00000000 0.44259359 0.00000000 0.00000000 0.00000000 6.4368981 0.00000000 0.38049636 0.00000000 0.00000000 0.00000000 2.5843929 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.0229993 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3823396 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 23.4657510 0.02654283 0.00000000 0.00000000 6.3332301 0.13802285 0.00000000 0.00000000 2.0764080 0.35327843 0.00000000 0.00000000 0.6904116 0.00000000 1.00000000 0.00000000 0.2109252 0.00000000 0.00000000 1.00000000 a 23 $ VANADIUM (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 271348.1594400 0.00021967 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 40672.0050780 0.00170386 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 9257.0761385 0.00887137 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2622.7328773 0.03615432 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 858.5948019 0.11780891 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 314.1941865 0.28802536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 124.4786213 0.00000000 0.42757917 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 50.4693993 0.00000000 0.32144231 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 12.5138469 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 5.3447758 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.5755631 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.6306903 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0879544 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0342969 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1450.0319327 -0.00195174 0.00000000 0.00000000 0.00000000 0.00000000 343.7504988 -0.01592201 0.00000000 0.00000000 0.00000000 0.00000000 110.8252171 -0.07538526 0.00000000 0.00000000 0.00000000 0.00000000 41.8224645 0.00000000 -0.23665641 0.00000000 0.00000000 0.00000000 17.0880737 0.00000000 -0.43346920 0.00000000 0.00000000 0.00000000 7.2613219 0.00000000 -0.37433001 0.00000000 0.00000000 0.00000000 2.9458145 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.1650210 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.4339938 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 27.3603359 0.02664427 0.00000000 0.00000000 7.4542766 0.13999436 0.00000000 0.00000000 2.4632270 0.35761186 0.00000000 0.00000000 0.8249954 0.00000000 1.00000000 0.00000000 0.2526297 0.00000000 0.00000000 1.00000000 a 24 $ CHROMIUM (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 296910.3817500 0.00021632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 44503.2979810 0.00167789 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 10129.0837310 0.00873677 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2869.8125395 0.03561401 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 939.5285183 0.11612082 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 343.8766756 0.28429366 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 136.2724208 0.00000000 0.39618805 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 55.2749359 0.00000000 0.29934143 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 13.7537151 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 5.8893064 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.7366782 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.6761902 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0921876 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0361201 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1608.8743670 0.00193645 0.00000000 0.00000000 0.00000000 0.00000000 381.4298701 0.01583901 0.00000000 0.00000000 0.00000000 0.00000000 123.0192684 0.07535015 0.00000000 0.00000000 0.00000000 0.00000000 46.4467821 0.00000000 0.23949451 0.00000000 0.00000000 0.00000000 19.0034948 0.00000000 0.44099403 0.00000000 0.00000000 0.00000000 8.0889965 0.00000000 0.38019976 0.00000000 0.00000000 0.00000000 3.3013704 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.2877624 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.4654684 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 27.5467337 0.03063326 0.00000000 0.00000000 7.4647941 0.15604066 0.00000000 0.00000000 2.4327524 0.37003058 0.00000000 0.00000000 0.7818782 0.00000000 1.00000000 0.00000000 0.2197738 0.00000000 0.00000000 1.00000000 a 25 $ MANGANESE (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 323081.7447500 -0.00021859 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 48425.9871470 -0.00169554 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 11021.9284210 -0.00882905 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3122.8651683 -0.03599386 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1022.5702211 -0.11736441 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 374.5666773 -0.28725943 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 148.6501395 0.00000000 -0.38025988 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 60.3790568 0.00000000 -0.28945411 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 15.0612890 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 6.4827687 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.9535131 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.7701785 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1019203 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0386197 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1777.8786824 -0.00193316 0.00000000 0.00000000 0.00000000 0.00000000 421.5775418 -0.01584401 0.00000000 0.00000000 0.00000000 0.00000000 136.1133400 -0.07556898 0.00000000 0.00000000 0.00000000 0.00000000 51.5067786 0.00000000 -0.23597435 0.00000000 0.00000000 0.00000000 21.1532254 0.00000000 -0.43718792 0.00000000 0.00000000 0.00000000 9.0477144 0.00000000 -0.38024193 0.00000000 0.00000000 0.00000000 3.7308564 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.4705332 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.5439184 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 35.4248166 0.02827075 0.00000000 0.00000000 9.7813282 0.15071665 0.00000000 0.00000000 3.2670713 0.38158552 0.00000000 0.00000000 1.1028272 0.00000000 1.00000000 0.00000000 0.3374809 0.00000000 0.00000000 1.00000000 a 26 $ IRON (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 350644.1260700 0.00021930 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 52557.1044770 0.00170109 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 11962.1576030 0.00885852 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3389.2987902 0.03611937 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1109.9409814 0.11780528 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 406.7589212 0.28846626 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 161.5541920 0.00000000 0.38162019 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 65.6752112 0.00000000 0.29212575 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 16.4257132 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 7.0930282 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.1594285 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.8477135 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1107950 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0413168 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1953.6045319 0.00193816 0.00000000 0.00000000 0.00000000 0.00000000 463.2931407 0.01591620 0.00000000 0.00000000 0.00000000 0.00000000 149.6749333 0.07614915 0.00000000 0.00000000 0.00000000 0.00000000 56.7071120 0.00000000 0.23624430 0.00000000 0.00000000 0.00000000 23.3410289 0.00000000 0.43978885 0.00000000 0.00000000 0.00000000 10.0113932 0.00000000 0.38362586 0.00000000 0.00000000 0.00000000 4.1564020 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.6369583 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.6037630 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 38.9664424 0.02788407 0.00000000 0.00000000 10.7989709 0.14863135 0.00000000 0.00000000 3.6129748 0.36912959 0.00000000 0.00000000 1.2130286 0.00000000 1.00000000 0.00000000 0.3652398 0.00000000 0.00000000 1.00000000 a 27 $ COBALT (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 379411.7746100 -0.00021548 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 56868.9343960 -0.00167144 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 12943.6084620 -0.00870445 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3667.4532601 -0.03549617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1201.1404591 -0.11581023 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 440.3391948 -0.28374608 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 175.0003530 0.00000000 -0.38404173 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 71.1909815 0.00000000 -0.29545416 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 17.8490079 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 7.7276070 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.3708061 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.9262827 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1190862 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0437824 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 2137.6007768 -0.00190579 0.00000000 0.00000000 0.00000000 0.00000000 506.9729217 -0.01567839 0.00000000 0.00000000 0.00000000 0.00000000 163.8752488 -0.07522963 0.00000000 0.00000000 0.00000000 0.00000000 62.1518990 0.00000000 -0.23369231 0.00000000 0.00000000 0.00000000 25.6323314 0.00000000 -0.43693103 0.00000000 0.00000000 0.00000000 11.0207390 0.00000000 -0.38210863 0.00000000 0.00000000 0.00000000 4.6024341 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.8102832 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.6656922 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 42.9243728 0.02975487 0.00000000 0.00000000 11.9408096 0.15885714 0.00000000 0.00000000 4.0037210 0.38970618 0.00000000 0.00000000 1.3412567 0.00000000 0.49652611 0.00000000 0.4001124 0.00000000 0.00000000 0.32719933 a 28 $ NICKEL (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 409347.8689900 0.00021252 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 61355.8392550 0.00164849 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 13964.8581280 0.00858533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3956.8598699 0.03501533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1296.0290474 0.11427673 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 475.2787652 0.28015250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 188.9883878 0.00000000 0.39246284 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 76.9287370 0.00000000 0.30331302 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 19.3318287 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 8.3876400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.5894343 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 1.0071375 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1273257 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0461898 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 2329.8384386 -0.00184142 0.00000000 0.00000000 0.00000000 0.00000000 552.6069302 -0.01517369 0.00000000 0.00000000 0.00000000 0.00000000 178.7119358 -0.07300467 0.00000000 0.00000000 0.00000000 0.00000000 67.8417508 0.00000000 -0.23224845 0.00000000 0.00000000 0.00000000 28.0280335 0.00000000 -0.43596047 0.00000000 0.00000000 0.00000000 12.0764692 0.00000000 -0.38213786 0.00000000 0.00000000 0.00000000 5.0694187 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.9911895 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.7300689 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 47.0883036 0.03152258 0.00000000 0.00000000 13.1440672 0.16855326 0.00000000 0.00000000 4.4158590 0.40930005 0.00000000 0.00000000 1.4769997 0.00000000 0.51501528 0.00000000 0.4372896 0.00000000 0.00000000 0.33962671 a 29 $ COPPER (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 441087.2507000 -0.00021814 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 66112.0211870 -0.00169219 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 15047.0114250 -0.00881371 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 4263.4273084 -0.03595466 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1396.3815797 -0.11742970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 511.9605579 -0.28844267 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 203.4542695 0.00000000 -0.42678899 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 82.7923370 0.00000000 -0.33044129 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 20.8542856 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 9.0410680 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.7518135 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 1.0434857 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1117229 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0410410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 2530.0965671 0.00191379 0.00000000 0.00000000 0.00000000 0.00000000 600.0979295 0.01579767 0.00000000 0.00000000 0.00000000 0.00000000 194.0820448 0.07627126 0.00000000 0.00000000 0.00000000 0.00000000 73.6718214 0.00000000 0.23881452 0.00000000 0.00000000 0.00000000 30.4473697 0.00000000 0.44980016 0.00000000 0.00000000 0.00000000 13.1227149 0.00000000 0.39337682 0.00000000 0.00000000 0.00000000 5.5214840 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.1457922 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.7679749 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 47.3137437 0.03239976 0.00000000 0.00000000 13.1546884 0.16822707 0.00000000 0.00000000 4.3662886 0.38494430 0.00000000 0.00000000 1.4122066 0.00000000 1.00000000 0.00000000 0.3884071 0.00000000 0.00000000 1.00000000 a 30 $ ZINC (13s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 472745.9416400 -0.00021701 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 70858.0994840 -0.00168338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 16127.6397330 -0.00876775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 4569.7614320 -0.03576876 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1496.9765379 -0.11680699 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 549.2564689 -0.28670653 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 218.5901101 0.00000000 -0.42684317 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 89.0688233 0.00000000 -0.33251990 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 22.4757517 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 9.7836991 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3.0476098 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 1.1751310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1433674 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0507615 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 2738.9909849 -0.00187091 0.00000000 0.00000000 0.00000000 0.00000000 649.7299520 -0.01546153 0.00000000 0.00000000 0.00000000 0.00000000 210.2912907 -0.07475263 0.00000000 0.00000000 0.00000000 0.00000000 79.9543604 0.00000000 -0.23286955 0.00000000 0.00000000 0.00000000 33.1312904 0.00000000 -0.44019360 0.00000000 0.00000000 0.00000000 14.3263958 0.00000000 -0.38736391 0.00000000 0.00000000 0.00000000 6.0658647 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.3753720 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.8659632 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 56.0796648 0.02959823 0.00000000 0.00000000 15.7482591 0.15879185 0.00000000 0.00000000 5.3098928 0.37984178 0.00000000 0.00000000 1.7734653 0.00000000 1.00000000 0.00000000 0.5196323 0.00000000 0.00000000 1.00000000 $Elements supported $H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu $Zn Ga Ge As Se Br Kr ergo-3.5/basis/aug-cc-pV6Z0000664000175000017500000037414512743400275012250 00000000000000$ aug-cc-pV6Z EMSL Basis Set Exchange Library 11/10/15 12:43 AM $ Elements References $ -------- ---------- $ H: K.A. Peterson, D.E. Woon and T. H. Dunning, Jr., (to be published). $ B - Ne: A. K. Wilson, T. v. Mourik and T. H. Dunning, Jr., J. Mol. Struct. $ (THEOCHEM) 388, 339 (1997). $ S: J.G. Hill, S. Mazumder, and K.A. Peterson, Correlation consistent basis sets for molecular core-valence effects with explicitly correlated wave functions: the atoms B-Ne and Al-Ar, Journal of Chemical Physics 132, 054108 (2010). $ $ Elements References $ -------- --------- $ H : K.A. Peterson, D.E. Woon (unpublished) $ B - O: A.K. Wilson, T. van Mourik and T.H. Dunning, Jr. J. Mol. Struct. $ (THEOCHEM) 388, 339 (1997). $ Cl: $ $ HYDROGEN (11s,6p,5d,4f,3g,2h) -> [7s,6p,5d,4f,3g,2h] $ HYDROGEN (10s,5p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ HYDROGEN (1s,1p,1d,1f,1g,1h) a 1 $ S-TYPE FUNCTIONS 11 7 0 1776.7755600 0.0000440 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 254.0177120 0.0003720 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 54.6980390 0.0020940 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.0183440 0.0088630 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.91507800 0.0305400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.79492400 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.71071600 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.30480200 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.13804600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.06215700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0189000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 6 0 8.6490000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.4300000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.3600000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5390000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2140000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0670000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 4.4530000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.9580000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8610000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3780000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1260000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 4.1000000 1.0000000 0.0000000 0.0000000 0.0000000 1.7800000 0.0000000 1.0000000 0.0000000 0.0000000 0.7730000 0.0000000 0.0000000 1.0000000 0.0000000 0.2450000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 3.1990000 1.0000000 0.0000000 0.0000000 1.3260000 0.0000000 1.0000000 0.0000000 0.4070000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 2.6530000 1.0000000 0.0000000 0.6820000 0.0000000 1.0000000 $ HELIUM (11s,6p,5d,4f,3g,2h) -> [7s,6p,5d,4f,3g,2h] $ HELIUM (10s,5p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ HELIUM (1s,1p,1d,1f,1g,1h) a 2 $ S-TYPE FUNCTIONS 11 7 0 4785.0000000 0.0000006 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 717.0000000 0.0000047 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 163.2000000 0.0000244 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 46.2600000 0.0001012 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.1000000 0.0003486 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.4370000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.0880000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8297000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3366000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1369000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0447300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 6 0 0.3870000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9840000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.4980000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 6.3420000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 16.1040000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1280000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 5 5 0 0.7470000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.9100000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 4.8860000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 12.4980000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2410000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 4 4 0 1.2920000 1.0000000 0.0000000 0.0000000 0.0000000 3.4620000 0.0000000 1.0000000 0.0000000 0.0000000 9.2760000 0.0000000 0.0000000 1.0000000 0.0000000 0.4070000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 3 3 0 2.2360000 1.0000000 0.0000000 0.0000000 6.5860000 0.0000000 1.0000000 0.0000000 0.6860000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 2 2 0 4.1590000 1.0000000 0.0000000 1.0160000 0.0000000 1.0000000 $ BORON (17s,11p,6d,5f,4g,3h,2i) -> [8s,7p,6d,5f,4g,3h,2i] $ BORON (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ BORON (1s,1p,1d,1f,1g,1h,1i) a 5 $ S-TYPE FUNCTIONS 17 8 0 210400.0000000 0.00000583 -0.00000118 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 31500.0000000 0.00004532 -0.00000915 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7169.0000000 0.00023838 -0.00004819 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2030.0000000 0.00100570 -0.00020306 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 662.5000000 0.00364496 -0.00073917 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 239.2000000 0.01173628 -0.00238603 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 93.2600000 0.03380702 -0.00698654 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 38.6400000 0.08556593 -0.01811594 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 16.7800000 0.18260322 -0.04123129 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.5410000 0.30583760 -0.07781353 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.4820000 0.34080347 -0.12123181 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.6180000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6270000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.2934000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1310000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0581500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0230000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 7 0 192.5000000 0.00013490 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 45.6400000 0.00114741 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14.7500000 0.00584793 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.5030000 0.02117091 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.2220000 0.06266872 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9590000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4314000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.1969000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0903300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0406600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0136500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 6 0 2.8860000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.2670000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5560000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2440000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1070000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0392000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 1.6510000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8002000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3878000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1880000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0733000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 1.6469000 1.0000000 0.0000000 0.0000000 0.0000000 0.7889000 0.0000000 1.0000000 0.0000000 0.0000000 0.3779000 0.0000000 0.0000000 1.0000000 0.0000000 0.1620000 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 1.3120000 1.0000000 0.0000000 0.0000000 0.5806000 0.0000000 1.0000000 0.0000000 0.2880000 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 0.9847000 1.0000000 0.0000000 0.5000000 0.0000000 1.0000000 $ CARBON (17s,11p,6d,5f,4g,3h,2i) -> [8s,7p,6d,5f,4g,3h,2i] $ CARBON (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ CARBON (1s,1p,1d,1f,1g,1h,1i) a 6 $ S-TYPE FUNCTIONS 17 8 0 312100.0000000 0.00000567 -0.00000121 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 46740.0000000 0.00004410 -0.00000939 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10640.0000000 0.00023190 -0.00004947 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3013.0000000 0.00097897 -0.00020857 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 982.8000000 0.00355163 -0.00076015 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 354.8000000 0.01144061 -0.00245469 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 138.4000000 0.03299855 -0.00720153 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 57.3500000 0.08405347 -0.01880742 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24.9200000 0.18067613 -0.04325001 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.2300000 0.30491140 -0.08259733 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.2010000 0.34141570 -0.12857592 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.4260000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9673000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4456000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1971000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0863500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0354000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 7 0 295.2000000 0.00014249 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 69.9800000 0.00122010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 22.6400000 0.00633696 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8.4850000 0.02351875 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.4590000 0.06990447 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.5040000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6783000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3087000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1400000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0617800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0237600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 6 0 4.5420000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.9790000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8621000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3756000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1636000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0636000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 2.6310000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.2550000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5988000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2857000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1180000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 2.6520000 1.0000000 0.0000000 0.0000000 0.0000000 1.2040000 0.0000000 1.0000000 0.0000000 0.0000000 0.5470000 0.0000000 0.0000000 1.0000000 0.0000000 0.2540000 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 2.0300000 1.0000000 0.0000000 0.0000000 0.8511000 0.0000000 1.0000000 0.0000000 0.4510000 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 1.4910000 1.0000000 0.0000000 0.7760000 0.0000000 1.0000000 $ NITROGEN (17s,11p,6d,5f,4g,3h,2i) -> [8s,7p,6d,5f,4g,3h,2i] $ NITROGEN (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ NITROGEN (1s,1p,1d,1f,1g,1h,1i) a 7 $ S-TYPE FUNCTIONS 17 8 0 432300.0000000 0.00000559 -0.00000123 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 64700.0000000 0.00004351 -0.00000958 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14720.0000000 0.00022893 -0.00005051 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4170.0000000 0.00096502 -0.00021264 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1361.0000000 0.00350219 -0.00077534 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 491.2000000 0.01129212 -0.00250624 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 191.6000000 0.03261283 -0.00736529 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 79.4100000 0.08329727 -0.01930167 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 34.5300000 0.17998566 -0.04471738 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.5800000 0.30500351 -0.08606647 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.2320000 0.34115932 -0.13329627 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.3820000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.3690000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6248000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2747000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1192000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0471400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 7 0 415.9000000 0.00014841 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 98.6100000 0.00127634 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 31.9200000 0.00670242 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.0000000 0.02526170 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.9190000 0.07518943 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.1480000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9696000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4399000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1978000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0860300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0315000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 6 0 6.7170000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.8960000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.2490000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5380000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2320000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0874000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 3.8290000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.7950000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8410000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3940000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1510000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 3.8560000 1.0000000 0.0000000 0.0000000 0.0000000 1.7020000 0.0000000 1.0000000 0.0000000 0.0000000 0.7510000 0.0000000 0.0000000 1.0000000 0.0000000 0.3260000 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 2.8750000 1.0000000 0.0000000 0.0000000 1.1700000 0.0000000 1.0000000 0.0000000 0.5870000 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 2.0990000 1.0000000 0.0000000 1.0410000 0.0000000 1.0000000 $ OXYGEN (17s,11p,6d,5f,4g,3h,2i) -> [8s,7p,6d,5f,4g,3h,2i] $ OXYGEN (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ OXYGEN (1s,1p,1d,1f,1g,1h,1i) a 8 $ S-TYPE FUNCTIONS 17 8 0 570800.0000000 0.00000555 -0.00000126 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 85480.0000000 0.00004311 -0.00000977 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 19460.0000000 0.00022667 -0.00005148 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5512.0000000 0.00095637 -0.00021696 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1798.0000000 0.00347320 -0.00079162 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 648.9000000 0.01119778 -0.00255900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 253.1000000 0.03238766 -0.00753313 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 104.9000000 0.08285977 -0.01978897 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 45.6500000 0.17958381 -0.04606288 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 20.6200000 0.30522110 -0.08919560 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.5870000 0.34089349 -0.13754216 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.4930000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.8370000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8349000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3658000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1570000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0593500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 7 0 525.6000000 0.00016664 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 124.6000000 0.00143336 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 40.3400000 0.00754762 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.1800000 0.02859456 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.2450000 0.08438858 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.7320000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.2270000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5492000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2418000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1025000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0338000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 6 0 8.2530000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.5970000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.5680000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6840000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2980000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1150000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 5.4300000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.4160000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.0750000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4780000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1950000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 5.2110000 1.0000000 0.0000000 0.0000000 0.0000000 2.1900000 0.0000000 1.0000000 0.0000000 0.0000000 0.9200000 0.0000000 0.0000000 1.0000000 0.0000000 0.4060000 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 3.8720000 1.0000000 0.0000000 0.0000000 1.5050000 0.0000000 1.0000000 0.0000000 0.7480000 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 2.7730000 1.0000000 0.0000000 1.3450000 0.0000000 1.0000000 $ FLUORINE (17s,11p,6d,5f,4g,3h,2i) -> [8s,7p,6d,5f,4g,3h,2i] $ FLUORINE (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ FLUORINE (1s,1p,1d,1f,1g,1h,1i) a 9 $ S-TYPE FUNCTIONS 17 8 0 723500.0000000 0.00000556 -0.00000129 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 108400.0000000 0.00004318 -0.00000999 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24680.0000000 0.00022700 -0.00005260 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6990.0000000 0.00095803 -0.00022172 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2282.0000000 0.00347015 -0.00080692 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 824.6000000 0.01118526 -0.00260817 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 321.8000000 0.03232880 -0.00767402 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 133.5000000 0.08279545 -0.02019353 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 58.1100000 0.17988024 -0.04718752 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 26.2800000 0.30557831 -0.09158009 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.2400000 0.34026839 -0.14048558 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.7470000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.3650000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0710000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4681000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1994000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0731500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 7 0 660.0000000 0.00017721 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 156.4000000 0.00152691 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 50.6400000 0.00807207 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 19.0800000 0.03074021 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.8720000 0.09011914 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.4490000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.5450000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6864000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2986000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1245000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0476000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 6 0 10.5730000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.6130000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.0130000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.8780000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3830000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1510000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 7.5630000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.3300000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.4660000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.6450000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2720000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 6.7350000 1.0000000 0.0000000 0.0000000 0.0000000 2.7830000 0.0000000 1.0000000 0.0000000 0.0000000 1.1500000 0.0000000 0.0000000 1.0000000 0.0000000 0.5200000 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 5.0880000 1.0000000 0.0000000 0.0000000 1.9370000 0.0000000 1.0000000 0.0000000 0.9850000 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 3.5810000 1.0000000 0.0000000 1.7390000 0.0000000 1.0000000 $ NEON (17s,11p,6d,5f,4g,3h,2i) -> [8s,7p,6d,5f,4g,3h,2i] $ NEON (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ NEON (1s,1p,1d,1f,1g,1h,1i) a 10 $ S-TYPE FUNCTIONS 17 8 0 902400.0000000 0.00000551 -0.00000129 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 135100.0000000 0.00004282 -0.00001005 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30750.0000000 0.00022514 -0.00005293 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8710.0000000 0.00095016 -0.00022312 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2842.0000000 0.00344719 -0.00081338 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1026.0000000 0.01112545 -0.00263230 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 400.1000000 0.03220568 -0.00775910 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 165.9000000 0.08259891 -0.02045277 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 72.2100000 0.17990564 -0.04797505 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 32.6600000 0.30605208 -0.09340086 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.2200000 0.34012559 -0.14277215 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.1490000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.9570000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.3350000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5816000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2463000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0869000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 7 0 815.6000000 0.00018376 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 193.3000000 0.00158509 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 62.6000000 0.00841464 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 23.6100000 0.03220033 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.7620000 0.09396390 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.2810000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.9150000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8476000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3660000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1510000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0566000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 6 0 13.3170000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.8030000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.5290000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.1020000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4800000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1870000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 10.3560000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.5380000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.9890000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.8710000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.3492000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 8.3450000 1.0000000 0.0000000 0.0000000 0.0000000 3.4170000 0.0000000 1.0000000 0.0000000 0.0000000 1.3990000 0.0000000 0.0000000 1.0000000 0.0000000 0.6345000 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 6.5190000 1.0000000 0.0000000 0.0000000 2.4470000 0.0000000 1.0000000 0.0000000 1.2093000 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 4.4890000 1.0000000 0.0000000 2.1215000 0.0000000 1.0000000 $ ALUMINUM (22s,15p,6d,5f,4g,3h,2i) -> [9s,8p,6d,5f,4g,3h,2i] $ ALUMINUM (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] $ ALUMINUM (1s,1p,1d,1f,1g,1h,1i) a 13 $ S-TYPE FUNCTIONS 22 9 0 3652000.0000000 0.0000019 -0.0000005 0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 546800.0000000 0.0000145 -0.0000038 0.0000009 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 124500.0000000 0.0000762 -0.0000198 0.0000046 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 35440.0000000 0.0003158 -0.0000821 0.0000190 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11840.0000000 0.0010974 -0.0002858 0.0000659 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4434.0000000 0.0033697 -0.0008785 0.0002031 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1812.0000000 0.0093222 -0.0024482 0.0005647 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 791.5000000 0.0237992 -0.0063100 0.0014620 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 361.0000000 0.0568191 -0.0154854 0.0035794 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 169.5000000 0.1224680 -0.0349589 0.0081516 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 81.6800000 0.2238970 -0.0707729 0.0165276 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 40.2800000 0.3134460 -0.1194230 0.0285467 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 20.2500000 0.2749750 -0.1488420 0.0361484 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.2300000 0.1105640 -0.0590465 0.0153804 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.8020000 0.0119215 0.2166930 -0.0612141 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.3390000 0.0006528 0.4765570 -0.1512630 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.1630000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5882000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.2311000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1027000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0452100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0173700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 15 8 0 2884.0000000 0.0000638 -0.0000080 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 683.2000000 0.0005631 -0.0000651 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 222.0000000 0.0031691 -0.0003999 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 84.8200000 0.0132401 -0.0015369 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 35.8100000 0.0433403 -0.0055644 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 16.2200000 0.1119500 -0.0131106 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.7020000 0.2177960 -0.0297200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.7410000 0.3116750 -0.0347195 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.8310000 0.3167220 -0.0551621 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8878000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3989000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.1718000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0729800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0306900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0102100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 6 0 2.2143000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9449000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4032000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1721000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0734300 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0266600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 0.8756000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4472000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2284000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1167000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0462500 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 0.6952000 1.0000000 0.0000000 0.0000000 0.0000000 0.3771000 0.0000000 1.0000000 0.0000000 0.0000000 0.2046000 0.0000000 0.0000000 1.0000000 0.0000000 0.0854500 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 0.6560000 1.0000000 0.0000000 0.0000000 0.3300000 0.0000000 1.0000000 0.0000000 0.1655000 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 0.5302000 1.0000000 0.0000000 0.2990000 0.0000000 1.0000000 $ SILICON (22s,15p,6d,5f,4g,3h,2i) -> [9s,8p,6d,5f,4g,3h,2i] $ SILICON (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] $ SILICON (1s,1p,1d,1f,1g,1h,1i) a 14 $ S-TYPE FUNCTIONS 22 9 0 4465000.0000000 0.0000017 -0.0000005 0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 668500.0000000 0.0000136 -0.0000036 0.0000009 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 152200.0000000 0.0000714 -0.0000190 0.0000049 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 43300.0000000 0.0002973 -0.0000791 0.0000203 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14410.0000000 0.0010383 -0.0002769 0.0000709 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5394.0000000 0.0031747 -0.0008472 0.0002172 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2212.0000000 0.0087324 -0.0023478 0.0006013 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 968.1000000 0.0223830 -0.0060705 0.0015591 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 441.2000000 0.0537273 -0.0149711 0.0038443 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 207.1000000 0.1166490 -0.0339729 0.0087797 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 99.8000000 0.2159780 -0.0694584 0.0180388 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 49.2400000 0.3095660 -0.1190010 0.0315224 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24.7400000 0.2839450 -0.1536450 0.0416905 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.4700000 0.1222320 -0.0704684 0.0200973 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.7950000 0.0141952 0.2131490 -0.0667484 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.8300000 0.0003121 0.4915960 -0.1819060 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4070000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6995000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3083000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1385000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0614500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0253900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 15 8 0 3572.0000000 0.0000599 -0.0000128 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 846.0000000 0.0005296 -0.0001126 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 274.8000000 0.0029958 -0.0006402 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 105.0000000 0.0126335 -0.0027029 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 44.3500000 0.0419044 -0.0090789 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 20.0800000 0.1102590 -0.0242348 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.5300000 0.2188310 -0.0493460 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.6340000 0.3178280 -0.0725859 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.2800000 0.3194250 -0.0804258 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.1160000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4991000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.2254000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1001000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0433200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0169400 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 6 0 3.2386000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.3767000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5853000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2488000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1058000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0413900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 1.3510000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6600000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3225000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1575000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0688400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 0.8528000 1.0000000 0.0000000 0.0000000 0.0000000 0.4631000 0.0000000 1.0000000 0.0000000 0.0000000 0.2515000 0.0000000 0.0000000 1.0000000 0.0000000 0.1164000 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 0.8557000 1.0000000 0.0000000 0.0000000 0.4231000 0.0000000 1.0000000 0.0000000 0.2351000 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 0.6946000 1.0000000 0.0000000 0.4271000 0.0000000 1.0000000 $ PHOSPHOROUS (22s,15p,6d,5f,4g,3h,2i) -> [9s,8p,6d,5f,4g,3h,2i] $ PHOSPHOROUS (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] $ PHOSPHOROUS (1s,1p,1d,1f,1g,1h,1i) a 15 $ S-TYPE FUNCTIONS 22 9 0 5384000.0000000 0.0000016 -0.0000004 0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 806200.0000000 0.0000128 -0.0000035 0.0000010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 183600.0000000 0.0000672 -0.0000183 0.0000050 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 52250.0000000 0.0002797 -0.0000759 0.0000209 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 17390.0000000 0.0009767 -0.0002657 0.0000730 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6523.0000000 0.0029684 -0.0008080 0.0002221 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2687.0000000 0.0081240 -0.0022273 0.0006122 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1178.0000000 0.0209200 -0.0057833 0.0015918 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 536.2000000 0.0505590 -0.0143438 0.0039534 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 251.5000000 0.1104790 -0.0327061 0.0090572 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 121.3000000 0.2069570 -0.0673716 0.0187909 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 59.8800000 0.3047370 -0.1176470 0.0333831 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 30.0500000 0.2929520 -0.1572800 0.0459484 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 15.1200000 0.1355610 -0.0838544 0.0255240 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.0100000 0.0173208 0.1997180 -0.0669496 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.4410000 -0.0000352 0.4986050 -0.2036450 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.7120000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8337000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3912000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1777000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0793900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0322800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 15 8 0 4552.0000000 0.0000520 -0.0000124 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1078.0000000 0.0004604 -0.0001094 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 350.1000000 0.0026208 -0.0006256 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 133.8000000 0.0111873 -0.0026734 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 56.5200000 0.0378229 -0.0091552 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 25.5800000 0.1021160 -0.0250993 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 12.1400000 0.2103140 -0.0531810 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.9020000 0.3173830 -0.0815888 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.9100000 0.3271650 -0.0919725 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4350000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6570000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3005000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1340000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0578300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0219700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 6 0 4.3008000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.8346000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7826000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3339000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1424000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0549200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 1.8160000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.8806000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4270000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2070000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0871000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 1.0616000 1.0000000 0.0000000 0.0000000 0.0000000 0.5791000 0.0000000 1.0000000 0.0000000 0.0000000 0.3159000 0.0000000 0.0000000 1.0000000 0.0000000 0.1470000 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 1.0850000 1.0000000 0.0000000 0.0000000 0.5277000 0.0000000 1.0000000 0.0000000 0.2874000 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 0.8890000 1.0000000 0.0000000 0.5151000 0.0000000 1.0000000 $ SULFUR (22s,15p,6d,5f,4g,3h,2i) -> [9s,8p,6d,5f,4g,3h,2i] $ SULFUR (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] $ SULFUR (1s,1p,1d,1f,1g,1h,1i) a 16 $ S-TYPE FUNCTIONS 22 9 0 6297000.0000000 0.0000016 -0.0000004 0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 943100.0000000 0.0000124 -0.0000034 0.0000010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 214900.0000000 0.0000649 -0.0000179 0.0000052 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 61250.0000000 0.0002693 -0.0000744 0.0000216 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 20450.0000000 0.0009347 -0.0002587 0.0000751 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7719.0000000 0.0028083 -0.0007777 0.0002258 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3198.0000000 0.0076740 -0.0021396 0.0006217 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1402.0000000 0.0198898 -0.0055906 0.0016251 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 637.2000000 0.0482589 -0.0139076 0.0040535 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 298.9000000 0.1057570 -0.0317689 0.0092902 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 144.3000000 0.2002230 -0.0659302 0.0194561 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 71.2100000 0.3007280 -0.1168320 0.0350040 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 35.7300000 0.2986880 -0.1597870 0.0494897 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 17.9700000 0.1463470 -0.0945322 0.0303443 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 8.3410000 0.0201159 0.1878280 -0.0663661 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.1120000 -0.0002488 0.5046830 -0.2231540 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.0450000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9770000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4766000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2185000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0975900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0389300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 15 8 0 5266.0000000 0.0000523 -0.0000133 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1247.0000000 0.0004635 -0.0001179 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 405.0000000 0.0026410 -0.0006759 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 154.8000000 0.0113169 -0.0028973 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 65.3800000 0.0384704 -0.0099980 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 29.5900000 0.1043390 -0.0275416 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 14.0400000 0.2156840 -0.0587943 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 6.8240000 0.3252600 -0.0903761 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.3690000 0.3261780 -0.0999891 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.6660000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.7681000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.3504000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1556000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0668100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0264800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 6 0 5.0755000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.1833000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9392000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4040000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1738000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0698600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 2.2120000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0630000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.5100000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2450000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1100000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 1.3473000 1.0000000 0.0000000 0.0000000 0.0000000 0.7009000 0.0000000 1.0000000 0.0000000 0.0000000 0.3647000 0.0000000 0.0000000 1.0000000 0.0000000 0.1799000 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 1.2861000 1.0000000 0.0000000 0.0000000 0.6115000 0.0000000 1.0000000 0.0000000 0.3465000 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 1.0409000 1.0000000 0.0000000 0.6222000 0.0000000 1.0000000 $ CHLORINE (22s,15p,6d,5f,4g,3h,2i) -> [9s,8p,6d,5f,4g,3h,2i] $ CHLORINE (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] $ CHLORINE (1s,1p,1d,1f,1g,1h,1i) a 17 $ S-TYPE FUNCTIONS 22 9 0 7733000.0000000 0.14347400E-05 -0.40222700E-06 0.12169600E-06 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1158000.0000000 0.11148600E-04 -0.31244800E-05 0.94514100E-06 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 263700.0000000 0.58586500E-04 -0.16429000E-04 0.49711900E-05 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 75010.0000000 0.24451800E-03 -0.68542100E-04 0.20732300E-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 24890.0000000 0.85828700E-03 -0.24100100E-03 0.72940200E-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9318.0000000 0.26101900E-02 -0.73353800E-03 0.22189900E-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3840.0000000 0.71378400E-02 -0.20183000E-02 0.61135500E-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1684.0000000 0.18456400E-01 -0.52610700E-02 0.15933700E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 766.3000000 0.44894400E-01 -0.13098600E-01 0.39800100E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 359.5000000 0.99382200E-01 -0.30179400E-01 0.91937500E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 173.4000000 0.19078200 -0.63188800E-01 0.19439900E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 85.6100000 0.29356500 -0.11385900 0.35518700E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 42.9300000 0.30647700 -0.16125100 0.52067400E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 21.5500000 0.16220900 -0.10923400 0.36564400E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10.0500000 0.24938300E-01 0.16299900 -0.59750000E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.9780000 -0.51314200E-03 0.50141300 -0.23164100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.4780000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.1800000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.5828000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2668000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1183000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0462500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 15 8 0 6091.0000000 0.51619400E-04 -0.13925900E-04 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1442.0000000 0.45846800E-03 -0.12332400E-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 468.3000000 0.26150900E-02 -0.70755100E-03 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 179.0000000 0.11255400E-01 -0.30493900E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 75.6100000 0.38457700E-01 -0.10575200E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 34.2200000 0.10508100E+00 -0.29409400E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 16.2300000 0.21860300E+00 -0.63229600E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 7.8900000 0.33087400E+00 -0.98187000E-01 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.8980000 0.32587900E+00 -0.10587000E+00 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.9330000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.9057000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4140000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.1836000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0785900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0316300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 6 0 6.2428000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.6906000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.1596000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.4998000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2154000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0888500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 2.5327000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.2406000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6077000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2977000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1465000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 1.5388000 1.0000000 0.0000000 0.0000000 0.0000000 0.8050000 0.0000000 1.0000000 0.0000000 0.0000000 0.4212000 0.0000000 0.0000000 1.0000000 0.0000000 0.2177000 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 1.5613000 1.0000000 0.0000000 0.0000000 0.7397000 0.0000000 1.0000000 0.0000000 0.4365000 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 1.2572000 1.0000000 0.0000000 0.8074000 0.0000000 1.0000000 $ ARGON (22s,15p,6d,5f,4g,3h,2i) -> [9s,8p,6d,5f,4g,3h,2i] $ ARGON (21s,14p,5d,4f,3g,2h,1i) -> [8s,7p,5d,4f,3g,2h,1i] $ ARGON (1s,1p,1d,1f,1g,1h,1i) a 18 $ S-TYPE FUNCTIONS 22 9 0 9149000.0000000 0.0000013 -0.0000004 0.0000001 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1370000.0000000 0.0000104 -0.0000030 0.0000009 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 311900.0000000 0.0000549 -0.0000156 0.0000049 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 88650.0000000 0.0002296 -0.0000652 0.0000204 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 29330.0000000 0.0008103 -0.0002304 0.0000720 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 10930.0000000 0.0024853 -0.0007075 0.0002210 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4480.0000000 0.0068369 -0.0019573 0.0006125 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1962.0000000 0.0176199 -0.0050856 0.0015908 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 894.1000000 0.0428752 -0.0126528 0.0039722 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 419.6000000 0.0954853 -0.0293065 0.0092204 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 202.3000000 0.1850640 -0.0617712 0.0196367 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 99.8400000 0.2890420 -0.1125410 0.0362570 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 50.0700000 0.3101660 -0.1622930 0.0541725 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 25.1400000 0.1721830 -0.1184120 0.0409996 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 11.8100000 0.0285227 0.1461480 -0.0551744 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 5.8820000 -0.0005757 0.4977520 -0.2387540 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.9390000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4050000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.6963000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.3188000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1410000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0535700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 15 8 0 7050.0000000 0.0000502 -0.0000140 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1669.0000000 0.0004454 -0.0001243 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 542.1000000 0.0025480 -0.0007147 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 207.1000000 0.0110155 -0.0030968 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 87.5200000 0.0378490 -0.0107961 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 39.6100000 0.1043550 -0.0303536 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 18.7800000 0.2193350 -0.0659785 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 9.1300000 0.3346150 -0.1038770 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 4.5160000 0.3267710 -0.1099560 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 2.2450000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0650000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.4885000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.2166000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0925500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0367800 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 6 6 0 7.6327000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 3.2876000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.4160000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.6099000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2627000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1078000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 5 5 0 3.0582000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.5292000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.7647000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3824000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1830000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 4 4 0 1.8450000 1.0000000 0.0000000 0.0000000 0.0000000 0.9657000 0.0000000 1.0000000 0.0000000 0.0000000 0.5055000 0.0000000 0.0000000 1.0000000 0.0000000 0.2555000 0.0000000 0.0000000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 3 3 0 1.8743000 1.0000000 0.0000000 0.0000000 0.8871000 0.0000000 1.0000000 0.0000000 0.5265000 0.0000000 0.0000000 1.0000000 $ I-TYPE FUNCTIONS 2 2 0 1.5066000 1.0000000 0.0000000 0.9926000 0.0000000 1.0000000 ergo-3.5/basis/6-311Gs0000775000175000017500000011137012743400275011237 00000000000000$Basis = 6-311G* $Elements supported $H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar Br I $ $ REFERENCE $Elements References $-------- ---------- $H, Li - Ne: R. Krishnan, J.S. Binkley, R. Seeger and J.A. Pople, $ J. Chem. Phys. 72, 650 (1980) $Na - Ar: A.D. McLean and G.S. Chandler J. Chem. Phys. 72, 5639, (1980). $K - Ca: J-P. Blaudeau, M. P. McGrath, L.A. Curtiss and L. Radom, $ J. Chem. Phys. 107, 5016 (1997). $Ga - Kr: L. A. Curtiss, M. P. McGrath, J-P. Blandeau, N. E. Davis, $ R. C. Binning, Jr. L. Radom, J. Chem. Phys. 103, 6104 (1995). $I : M.N. Glukhovstev, A. pross, M.P. McGrath, L. Radom, J. Chem. Phys. $ 103, 1878 (1995) $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $Elements References $-------- ---------- $Li - Ar: R. Krishnan, J.S. Binkley, R. Seeger, J.A. Pople, J. Chem. Phys. 72, $ 650 (1980). $K - Ca: J-P. Blaudeau, M. P. McGrath, L.A. Curtiss $ and L. Radom, J. Chem. Phys. 107, 5016 $ (1997). $Ga - Kr: L. A. Curtiss, M. P. McGrath, J-P. Blandeau, N. E. Davis, R. C. $ Binning, Jr., L. Radom, J. Chem. Phys. 103, 6104 (1995) $ a 1 $ HYDROGEN (5s) -> [3s] $ HYDROGEN (1p) $ S-TYPE FUNCTIONS 5 3 0 33.8650000 0.02549380 0.00000000 0.00000000 5.0947900 0.19037300 0.00000000 0.00000000 1.1587900 0.85216100 0.00000000 0.00000000 0.3258400 0.00000000 1.00000000 0.00000000 0.1027410 0.00000000 0.00000000 1.00000000 a 2 $ HELIUM (5s) -> [3s] $ HELIUM (1p) $ S-TYPE FUNCTIONS 5 3 0 98.1243000 0.02874520 0.00000000 0.00000000 14.7689000 0.20806100 0.00000000 0.00000000 3.3188300 0.83763500 0.00000000 0.00000000 0.8740470 0.00000000 1.00000000 0.00000000 0.2445640 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.7500000 1.00000000 a 3 $ LITHIUM (11s,5p) -> [4s,3p] $ LITHIUM (1d) $ S-TYPE FUNCTIONS 11 4 0 900.4600000 0.00228704 0.00000000 0.00000000 0.00000000 134.4330000 0.01763500 0.00000000 0.00000000 0.00000000 30.4365000 0.08734340 0.00000000 0.00000000 0.00000000 8.6263900 0.28097700 0.00000000 0.00000000 0.00000000 2.4833200 0.65874100 0.00000000 0.00000000 0.00000000 0.3031790 0.11871200 0.00000000 0.00000000 0.00000000 4.8689000 0.00000000 0.09332930 0.00000000 0.00000000 0.8569240 0.00000000 0.94304500 0.00000000 0.00000000 0.2432270 0.00000000 -0.00279827 0.00000000 0.00000000 0.0635070 0.00000000 0.00000000 1.00000000 0.00000000 0.0243683 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 4.8689000 0.03276610 0.00000000 0.00000000 0.8569240 0.15979200 0.00000000 0.00000000 0.2432270 0.88566700 0.00000000 0.00000000 0.0635070 0.00000000 1.00000000 0.00000000 0.0243683 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.2000000 1.00000000 a 4 $ BERYLLIUM (11s,5p) -> [4s,3p] $ BERYLLIUM (1d) $ S-TYPE FUNCTIONS 11 4 0 1682.8000000 0.00228574 0.00000000 0.00000000 0.00000000 251.7150000 0.01759380 0.00000000 0.00000000 0.00000000 57.4116000 0.08633150 0.00000000 0.00000000 0.00000000 16.5171000 0.28183500 0.00000000 0.00000000 0.00000000 4.8536400 0.64059400 0.00000000 0.00000000 0.00000000 0.6268630 0.14446700 0.00000000 0.00000000 0.00000000 8.3093800 0.00000000 0.10862100 0.00000000 0.00000000 1.7407500 0.00000000 0.92730100 0.00000000 0.00000000 0.4858160 0.00000000 -0.00297169 0.00000000 0.00000000 0.1636130 0.00000000 0.00000000 1.00000000 0.00000000 0.0567285 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 8.3093800 0.03613440 0.00000000 0.00000000 1.7407500 0.21695800 0.00000000 0.00000000 0.4858160 0.84183900 0.00000000 0.00000000 0.1636130 0.00000000 1.00000000 0.00000000 0.0567285 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.2550000 1.00000000 a 5 $ BORON (11s,5p) -> [4s,3p] $ BORON (1d) $ S-TYPE FUNCTIONS 11 4 0 2858.8900000 0.00215375 0.00000000 0.00000000 0.00000000 428.1400000 0.01658230 0.00000000 0.00000000 0.00000000 97.5282000 0.08218700 0.00000000 0.00000000 0.00000000 27.9693000 0.27661800 0.00000000 0.00000000 0.00000000 8.2157700 0.62931600 0.00000000 0.00000000 0.00000000 1.1127800 0.17377000 0.00000000 0.00000000 0.00000000 13.2415000 0.00000000 0.11744300 0.00000000 0.00000000 3.0016600 0.00000000 0.91800200 0.00000000 0.00000000 0.9128560 0.00000000 -0.00265105 0.00000000 0.00000000 0.3154540 0.00000000 0.00000000 1.00000000 0.00000000 0.0988563 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 13.2415000 0.04181000 0.00000000 0.00000000 3.0016600 0.23657500 0.00000000 0.00000000 0.9128560 0.81621400 0.00000000 0.00000000 0.3154540 0.00000000 1.00000000 0.00000000 0.0988563 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4010000 1.00000000 a 6 $ CARBON (11s,5p) -> [4s,3p] $ CARBON (1d) $ S-TYPE FUNCTIONS 11 4 0 4563.2400000 0.00196665 0.00000000 0.00000000 0.00000000 682.0240000 0.01523060 0.00000000 0.00000000 0.00000000 154.9730000 0.07612690 0.00000000 0.00000000 0.00000000 44.4553000 0.26080100 0.00000000 0.00000000 0.00000000 13.0290000 0.61646200 0.00000000 0.00000000 0.00000000 1.8277300 0.22100600 0.00000000 0.00000000 0.00000000 20.9642000 0.00000000 0.11466000 0.00000000 0.00000000 4.8033100 0.00000000 0.91999900 0.00000000 0.00000000 1.4593300 0.00000000 -0.00303068 0.00000000 0.00000000 0.4834560 0.00000000 0.00000000 1.00000000 0.00000000 0.1455850 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 20.9642000 0.04024870 0.00000000 0.00000000 4.8033100 0.23759400 0.00000000 0.00000000 1.4593300 0.81585400 0.00000000 0.00000000 0.4834560 0.00000000 1.00000000 0.00000000 0.1455850 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6260000 1.00000000 a 7 $ NITROGEN (11s,5p) -> [4s,3p] $ NITROGEN (1d) $ S-TYPE FUNCTIONS 11 4 0 6293.4800000 0.00196979 0.00000000 0.00000000 0.00000000 949.0440000 0.01496130 0.00000000 0.00000000 0.00000000 218.7760000 0.07350060 0.00000000 0.00000000 0.00000000 63.6916000 0.24893700 0.00000000 0.00000000 0.00000000 18.8282000 0.60246000 0.00000000 0.00000000 0.00000000 2.7202300 0.25620200 0.00000000 0.00000000 0.00000000 30.6331000 0.00000000 0.11190600 0.00000000 0.00000000 7.0261400 0.00000000 0.92166600 0.00000000 0.00000000 2.1120500 0.00000000 -0.00256919 0.00000000 0.00000000 0.6840090 0.00000000 0.00000000 1.00000000 0.00000000 0.2008780 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 30.6331000 0.03831190 0.00000000 0.00000000 7.0261400 0.23740300 0.00000000 0.00000000 2.1120500 0.81759200 0.00000000 0.00000000 0.6840090 0.00000000 1.00000000 0.00000000 0.2008780 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.9130000 1.00000000 a 8 $ OXYGEN (11s,5p) -> [4s,3p] $ OXYGEN (1d) $ S-TYPE FUNCTIONS 11 4 0 8588.5000000 0.00189515 0.00000000 0.00000000 0.00000000 1297.2300000 0.01438590 0.00000000 0.00000000 0.00000000 299.2960000 0.07073200 0.00000000 0.00000000 0.00000000 87.3771000 0.24000100 0.00000000 0.00000000 0.00000000 25.6789000 0.59479700 0.00000000 0.00000000 0.00000000 3.7400400 0.28080200 0.00000000 0.00000000 0.00000000 42.1175000 0.00000000 0.11388900 0.00000000 0.00000000 9.6283700 0.00000000 0.92081100 0.00000000 0.00000000 2.8533200 0.00000000 -0.00327447 0.00000000 0.00000000 0.9056610 0.00000000 0.00000000 1.00000000 0.00000000 0.2556110 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 42.1175000 0.03651140 0.00000000 0.00000000 9.6283700 0.23715300 0.00000000 0.00000000 2.8533200 0.81970200 0.00000000 0.00000000 0.9056610 0.00000000 1.00000000 0.00000000 0.2556110 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.2920000 1.00000000 a 9 $ FLUORINE (11s,5p) -> [4s,3p] $ FLUORINE (1d) $ S-TYPE FUNCTIONS 11 4 0 11427.1000000 0.00180093 0.00000000 0.00000000 0.00000000 1722.3500000 0.01374190 0.00000000 0.00000000 0.00000000 395.7460000 0.06813340 0.00000000 0.00000000 0.00000000 115.1390000 0.23332500 0.00000000 0.00000000 0.00000000 33.6026000 0.58908600 0.00000000 0.00000000 0.00000000 4.9190100 0.29950500 0.00000000 0.00000000 0.00000000 55.4441000 0.00000000 0.11453600 0.00000000 0.00000000 12.6323000 0.00000000 0.92051200 0.00000000 0.00000000 3.7175600 0.00000000 -0.00337804 0.00000000 0.00000000 1.1654500 0.00000000 0.00000000 1.00000000 0.00000000 0.3218920 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 55.4441000 0.03546090 0.00000000 0.00000000 12.6323000 0.23745100 0.00000000 0.00000000 3.7175600 0.82045800 0.00000000 0.00000000 1.1654500 0.00000000 1.00000000 0.00000000 0.3218920 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.7500000 1.00000000 a 10 $ NEON (11s,5p) -> [4s,3p] $ NEON (1d) $ S-TYPE FUNCTIONS 11 4 0 13995.7000000 0.00183276 0.00000000 0.00000000 0.00000000 2117.1000000 0.01388270 0.00000000 0.00000000 0.00000000 490.4250000 0.06806870 0.00000000 0.00000000 0.00000000 143.8330000 0.23132800 0.00000000 0.00000000 0.00000000 41.9265000 0.58589000 0.00000000 0.00000000 0.00000000 6.1568400 0.30588300 0.00000000 0.00000000 0.00000000 69.1211000 0.00000000 0.01191490 0.00000000 0.00000000 15.8350000 0.00000000 0.91737500 0.00000000 0.00000000 4.6732600 0.00000000 -0.00405839 0.00000000 0.00000000 1.4575600 0.00000000 0.00000000 1.00000000 0.00000000 0.3970570 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 69.1211000 0.03565740 0.00000000 0.00000000 15.8350000 0.23947700 0.00000000 0.00000000 4.6732600 0.81846100 0.00000000 0.00000000 1.4575600 0.00000000 1.00000000 0.00000000 0.3970570 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 2.3040000 1.00000000 a 11 $ SODIUM (12s,9p) -> [6s,5p] $ SODIUM (1d) $ S-TYPE FUNCTIONS 13 6 0 36166.4000000 0.00103200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5372.5800000 0.00807100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1213.2100000 0.04212900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 339.6230000 0.16978900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 109.5530000 0.51462100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.7773000 0.37981700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.7773000 0.00000000 0.37476200 0.00000000 0.00000000 0.00000000 0.00000000 14.5759000 0.00000000 0.57576900 0.00000000 0.00000000 0.00000000 0.00000000 5.2699300 0.00000000 0.11293300 0.00000000 0.00000000 0.00000000 0.00000000 1.8277700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.6199480 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0572400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0240480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 144.6450000 0.01148500 0.00000000 0.00000000 0.00000000 0.00000000 33.9074000 0.08238300 0.00000000 0.00000000 0.00000000 0.00000000 10.6285000 0.31965800 0.00000000 0.00000000 0.00000000 0.00000000 3.8238900 0.70129500 0.00000000 0.00000000 0.00000000 0.00000000 1.4442900 0.00000000 0.63850600 0.00000000 0.00000000 0.00000000 0.5526210 0.00000000 0.42536500 0.00000000 0.00000000 0.00000000 0.1887200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0465010 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0162850 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 a 12 $ MAGNESIUM (12s,9p) -> [6s,5p] $ MAGNESIUM (1d) $ S-TYPE FUNCTIONS 13 6 0 43866.5000000 0.00091800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6605.3700000 0.00704700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1513.2600000 0.03594100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 432.3170000 0.14146100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142.1490000 0.42676400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.3983000 0.49797500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.3983000 0.00000000 0.25135500 0.00000000 0.00000000 0.00000000 0.00000000 19.9196000 0.00000000 0.61867100 0.00000000 0.00000000 0.00000000 0.00000000 8.0247400 0.00000000 0.18841700 0.00000000 0.00000000 0.00000000 0.00000000 2.5081700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8715310 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1081880 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0401300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 193.8540000 0.01018800 0.00000000 0.00000000 0.00000000 0.00000000 45.4420000 0.07536000 0.00000000 0.00000000 0.00000000 0.00000000 14.1864000 0.30741900 0.00000000 0.00000000 0.00000000 0.00000000 5.0575100 0.71757500 0.00000000 0.00000000 0.00000000 0.00000000 1.8886100 0.00000000 0.66733900 0.00000000 0.00000000 0.00000000 0.7226520 0.00000000 0.39464900 0.00000000 0.00000000 0.00000000 0.2364170 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0933580 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0348090 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 a 13 $ ALUMINUM (12s,9p) -> [6s,5p] $ ALUMINUM (1d) $ S-TYPE FUNCTIONS 13 6 0 54866.4890000 0.00083900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8211.7665000 0.00652700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1866.1761000 0.03366600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 531.1293400 0.13290200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 175.1179700 0.40126600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 64.0055000 0.53133800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 64.0055000 0.00000000 0.20230500 0.00000000 0.00000000 0.00000000 0.00000000 25.2925070 0.00000000 0.62479000 0.00000000 0.00000000 0.00000000 0.00000000 10.5349100 0.00000000 0.22743900 0.00000000 0.00000000 0.00000000 0.00000000 3.2067110 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.1525550 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1766780 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.6523700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 259.2836200 0.00944800 0.00000000 0.00000000 0.00000000 0.00000000 61.0768700 0.07097400 0.00000000 0.00000000 0.00000000 0.00000000 19.3032370 0.29563600 0.00000000 0.00000000 0.00000000 0.00000000 7.0108820 0.72821900 0.00000000 0.00000000 0.00000000 0.00000000 2.6738650 0.00000000 0.64446700 0.00000000 0.00000000 0.00000000 1.0365960 0.00000000 0.41741300 0.00000000 0.00000000 0.00000000 0.3168190 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1142570 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0413970 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.3250000 1.00000000 a 14 $ SILICON (12s,9p) -> [6s,5p] $ SILICON (1d) $ S-TYPE FUNCTIONS 13 6 0 69379.2300000 0.00075700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10354.9400000 0.00593200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2333.8796000 0.03108800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 657.1429500 0.12496700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 214.3011300 0.38689700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 77.6291680 0.55488800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 77.6291680 0.00000000 0.17788100 0.00000000 0.00000000 0.00000000 0.00000000 30.6308070 0.00000000 0.62776500 0.00000000 0.00000000 0.00000000 0.00000000 12.8012950 0.00000000 0.24762300 0.00000000 0.00000000 0.00000000 0.00000000 3.9268660 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.4523430 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2562340 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0942790 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 335.4831900 0.00886600 0.00000000 0.00000000 0.00000000 0.00000000 78.9003660 0.06829900 0.00000000 0.00000000 0.00000000 0.00000000 24.9881500 0.29095800 0.00000000 0.00000000 0.00000000 0.00000000 9.2197110 0.73211700 0.00000000 0.00000000 0.00000000 0.00000000 3.6211400 0.00000000 0.61987900 0.00000000 0.00000000 0.00000000 1.4513100 0.00000000 0.43914800 0.00000000 0.00000000 0.00000000 0.5049770 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1863170 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0654320 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4500000 1.00000000 a 15 $ PHOSPHORUS (12s,9p) -> [6s,5p] $ PHOSPHORUS (1d) $ S-TYPE FUNCTIONS 13 6 0 77492.4000000 0.00078100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11605.8000000 0.00606800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2645.9600000 0.03116000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7549.7600000 0.12343100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 248.7550000 0.37820900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 91.1565000 0.56326200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 91.1565000 0.00000000 0.16025500 0.00000000 0.00000000 0.00000000 0.00000000 36.2257000 0.00000000 0.62764700 0.00000000 0.00000000 0.00000000 0.00000000 15.2113000 0.00000000 0.26384900 0.00000000 0.00000000 0.00000000 0.00000000 4.7941700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.8079300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3568160 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1147830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 384.8430000 0.00920600 0.00000000 0.00000000 0.00000000 0.00000000 90.5521000 0.06987400 0.00000000 0.00000000 0.00000000 0.00000000 29.1339000 0.29247000 0.00000000 0.00000000 0.00000000 0.00000000 10.8862000 0.72810300 0.00000000 0.00000000 0.00000000 0.00000000 4.3525900 0.00000000 0.62834900 0.00000000 0.00000000 0.00000000 1.7770600 0.00000000 0.42804400 0.00000000 0.00000000 0.00000000 0.6970050 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2535320 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0684930 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.5500000 1.00000000 a 16 $ SULFUR (12s,9p) -> [6s,5p] $ SULFUR (1d) $ S-TYPE FUNCTIONS 13 6 0 93413.4000000 0.00074300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13961.7000000 0.00579300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3169.9100000 0.02995400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 902.4560000 0.11902800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 297.1580000 0.36843200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.7020000 0.57729900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.7020000 0.00000000 0.14318600 0.00000000 0.00000000 0.00000000 0.00000000 43.1553000 0.00000000 0.62446500 0.00000000 0.00000000 0.00000000 0.00000000 18.1079000 0.00000000 0.28336600 0.00000000 0.00000000 0.00000000 0.00000000 5.5600900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.1318300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.4204030 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1360450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 495.0400000 0.00830900 0.00000000 0.00000000 0.00000000 0.00000000 117.2210000 0.06402400 0.00000000 0.00000000 0.00000000 0.00000000 37.7749000 0.27761400 0.00000000 0.00000000 0.00000000 0.00000000 14.0584000 0.74507600 0.00000000 0.00000000 0.00000000 0.00000000 5.5657400 0.00000000 0.61371200 0.00000000 0.00000000 0.00000000 2.2629700 0.00000000 0.44381800 0.00000000 0.00000000 0.00000000 0.8079940 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2774600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0771410 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6500000 1.00000000 a 17 $ CHLORINE (12s,9p) -> [6s,5p] $ CHLORINE (1d) $ S-TYPE FUNCTIONS 13 6 0 105819.0000000 0.00073800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15872.0000000 0.00571800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3619.6500000 0.02949500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1030.8000000 0.11728600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 339.9080000 0.36294900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 124.5380000 0.58414900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 124.5380000 0.00000000 0.13417700 0.00000000 0.00000000 0.00000000 0.00000000 49.5135000 0.00000000 0.62425000 0.00000000 0.00000000 0.00000000 0.00000000 20.8056000 0.00000000 0.29175600 0.00000000 0.00000000 0.00000000 0.00000000 6.5834600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.5646800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5597630 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1832730 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 589.7760000 0.00239100 0.00000000 0.00000000 0.00000000 0.00000000 139.8490000 0.01850400 0.00000000 0.00000000 0.00000000 0.00000000 45.1413000 0.08137700 0.00000000 0.00000000 0.00000000 0.00000000 16.8733000 0.22155200 0.00000000 0.00000000 0.00000000 0.00000000 6.7411000 0.77256900 0.00000000 0.00000000 0.00000000 0.00000000 6.7411000 0.00000000 -1.57224400 0.00000000 0.00000000 0.00000000 2.7715200 0.00000000 0.99238900 0.00000000 0.00000000 0.00000000 1.0238700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3813680 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1094370 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.7500000 1.00000000 a 18 $ ARGON (12s,9p) -> [6s,5p] $ ARGON (1d) $ S-TYPE FUNCTIONS 13 6 0 118022.3800000 0.00074700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17683.5410000 0.00579000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4027.7657000 0.02991900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1145.3977000 0.11920600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 377.1637500 0.36902800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 138.1596900 0.57645900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 138.1596900 0.00000000 0.14392700 0.00000000 0.00000000 0.00000000 0.00000000 54.9891170 0.00000000 0.62293800 0.00000000 0.00000000 0.00000000 0.00000000 23.1706670 0.00000000 0.28396400 0.00000000 0.00000000 0.00000000 0.00000000 7.3778600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.9236880 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.6504050 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2328250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 5 0 663.0620100 0.00308200 0.00000000 0.00000000 0.00000000 0.00000000 157.0928100 0.02416500 0.00000000 0.00000000 0.00000000 0.00000000 50.2311000 0.10822300 0.00000000 0.00000000 0.00000000 0.00000000 18.6353450 0.29419200 0.00000000 0.00000000 0.00000000 0.00000000 7.4465370 0.68786200 0.00000000 0.00000000 0.00000000 0.00000000 7.4465370 0.00000000 -0.12144820 0.00000000 0.00000000 0.00000000 3.0956980 0.00000000 0.16323700 0.00000000 0.00000000 0.00000000 1.1064630 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.4156010 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1454490 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8500000 1.00000000 a 35 $ BROMINE (14s,12p,5d) -> [8s,7p,3d] $ S-TYPE FUNCTIONS 15 8 0 439700.000000 0.00081300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 66030.000000 0.00628500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 15140.000000 0.03192000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 4317.000000 0.12880000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 1414.000000 0.39460000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 523.900000 0.54130000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 523.900000 0.00000000 0.18310000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 207.700000 0.00000000 0.61760000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 86.540000 0.00000000 0.25380000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 30.520000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 12.980000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000 0.00000000 4.412000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000 0.00000000 1.862000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000 0.00000000 0.393200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000 0.00000000 0.140000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 1.00000000 $ P-TYPE FUNCTIONS 13 7 0 2957.000000 0.02226000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 700.300000 0.18020000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 224.600000 0.86240000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 82.590000 0.00000000 0.34400000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 33.190000 0.00000000 0.50710000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 14.200000 0.00000000 0.25900000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 14.200000 0.00000000 0.00000000 0.07965000 0.00000000 0.00000000 0.00000000 0.000000 7.438000 0.00000000 0.00000000 0.37340000 0.00000000 0.00000000 0.00000000 0.000000 3.526000 0.00000000 0.00000000 0.60490000 0.00000000 0.00000000 0.00000000 0.000000 1.595000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000 0.846200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000 0.318600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000 0.109600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000 $ D-TYPE FUNCTIONS 6 3 0 134.8000000 0.01831000 0.00000000 0.00000000 36.3900000 0.13500000 0.00000000 0.00000000 12.1600000 0.42610000 0.00000000 0.00000000 4.3410000 0.60430000 0.00000000 0.00000000 1.5350000 0.00000000 1.00000000 0.00000000 0.4510000 0.00000000 0.00000000 1.00000000 a 53 $ IODINE (15s,12p,6d) -> [10s,9p,4d] $ S-TYPE FUNCTIONS 15 10 0 444750.000000 0.00089000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 66127.000000 0.00694000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 14815.000000 0.03609000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 4144.900000 0.13568000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 1361.200000 0.33878000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 508.440000 0.00000000 0.43659000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 209.590000 0.00000000 0.18375000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 81.959000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 36.805000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 13.495000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 6.885900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000 0.00000000 0.00000000 0.00000000 2.552000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000 0.00000000 0.00000000 0.00000000 1.208800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 1.00000000 0.00000000 0.00000000 0.273400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 1.00000000 0.00000000 0.100900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 9 0 2953.600000 0.01221000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 712.610000 0.08587000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 236.710000 0.29493000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 92.631000 0.47849000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 39.732000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 17.273000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 7.957000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 3.152900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000 0.00000000 0.00000000 1.332800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000 0.00000000 0.00000000 0.494700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000 0.00000000 0.00000000 0.216000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 1.00000000 0.00000000 0.082930 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 7 5 0 261.950000 0.03144000 0.00000000 0.00000000 0.00000000 0.00000000 76.734000 0.19028000 0.00000000 0.00000000 0.00000000 0.00000000 27.551000 0.47247000 0.00000000 0.00000000 0.00000000 0.00000000 10.606000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.421700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.137000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.302000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/ano-10000775000175000017500000011532212743400275011212 00000000000000$Basis = ano-1 ************************************************************************ /H.ano.Widmark.8s4p3d.6s4p3d. P.-O. Widmark, P.-A. Malmqvist, and B. O. Roos Theor. Chim. Acta 77, 291 (1990) ************************************************************************ * H Hydrogen atom * * Basic primitive: Duijneveldt 7s * * Augmented: 1s with exponent 0.35x lowest exponent * * 4p eventempered with scale factor 0.35, 3 optimized for * * the average energy of SDCI H- and SCF H2 at 1.4 au * * and the fourth added as an additional diffuse * * 3d eventempered with scale factor 0.40, 2 optimized for * * the average energy of SDCI H- and SCF H2 at 1.4 au * * and the third addad as an additional diffuse * * * * Contraction: State Field Method Weight * * H 0.000 SCF 1.000 * * H2 0.000 SCF 1.000 * * H- 0.000 SDCI 0.001 * * H 0.100 SCF 0.001 * * * * Contraction range: 2s1p - 3s2p1d for SCF * * 3s2p1d - 4s3p2d for correlated wavefunctions * * * ************************************************************************ a 1 * s-type ANO's (max 6 functions can be used) 8 7 188.61445 28.276596 6.4248300 1.8150410 .59106300 .21214900 .07989100 .02796200 .00096385 -.0013119 .00242240 -.0115701 .01478099 -.0212892 .06832038 .00749196 -.0103451 .02033817 -.0837154 .09403187 -.1095596 1.4784954 .03759541 -.0504953 .08963935 -.4451663 .53618016 -1.481826 -2.034549 .14339498 -.2073855 .44229071 -1.146271 -.6089639 3.0272963 1.7368928 .34863630 -.4350885 .57571439 2.5031871 -1.114889 -3.763086 -1.223453 .43829736 -.0247297 -.9802890 -1.582849 3.4820812 3.6574131 .71650014 .16510661 .32252599 -.6721538 .03096569 -3.762539 -2.501237 -.3049316 .02102287 .70727538 1.1417685 .30862864 1.6766932 .89405394 .07204422 * p-type ANO's (max 4 functions can be used) 4 4 2.3050000 .80675000 .28236200 .09882700 .11279019 -.2108688 .75995011 -1.442742 .41850753 -.5943796 .16461590 2.3489914 .47000773 .08968888 -1.371014 -1.991152 .18262603 .86116340 1.0593155 .90505601 * d-type ANO's (max 3 functions can be used) 3 3 1.8190000 .72760000 .29104000 .27051341 -.7938035 1.3082770 .55101250 -.0914252 -2.021059 .33108664 .86200334 1.2498888 ************************************************************************ /He.ano.Widmark.9s4p3d.7s4p3d. P.-O. Widmark, P.-A. Malmqvist, and B. O. Roos Theor. Chim. Acta 77, 291 (1990) ************************************************************************ * He Helium atom * * Basic primitive: Duijneveldt 8s * * Augmented: 1s with exponent 0.35x lowest exponent * * 4p eventempered with scale factor 0.35, 3 optimized for * * the SDCI energy of He and the fourth added as an * * additional diffuse. * * 3d eventempered with scale factor 0.40, 2 optimized for * * the SDCI energy of He and the third added as an * * additional diffuse. * * * * Contraction: State Field Method Weight * * He 0.000 SDCI 1.000 * * He 0.100 SDCI 1.000 * * * * Contraction range: 2s1p - 3s2p1d for SCF * * 3s2p1d - 4s3p2d for correlated wavefunctions * * * ************************************************************************ a 2 * s-type ANO's (max 7 functions can be used) 9 7 1149.2705 172.04457 39.080465 11.036173 3.5641520 1.2404430 .44731600 .16420600 .05747200 .00035774 -.0005306 .00070544 -.0004722 .00093393 -.0027667 .01263588 .00277289 -.0040330 .00705199 -.0104722 .01348285 .01229885 -.0848571 .01429838 -.0225804 .03126037 -.0194099 .07393500 -.2869760 1.9186237 .05586749 -.1026255 .32197965 -.7127356 1.4706183 -.6838600 -2.949231 .16336284 -.4577114 1.0047488 -.0101329 -2.612951 2.3659098 2.8122735 .33133146 -.6059653 -1.290804 1.9343339 1.9484133 -3.803398 -2.270835 .41429728 .57131336 -.4725896 -2.541659 -.1400431 4.5215115 1.6543987 .18903228 .54758341 .95308829 .89814053 -1.398348 -3.922221 -1.000829 .00515606 .01165900 .05061692 .54395940 1.2323530 1.8739471 .36960362 * p-type ANO's (max 4 functions can be used) 4 4 4.5500000 1.5925000 .55737500 .19508100 .08926060 -.1867350 .85489228 -1.393750 .38050238 -.5117345 .10926707 2.3779635 .44912372 -.1981506 -1.263812 -2.057936 .27765440 .99587976 .90243325 .91266539 * d-type ANO's (max 3 functions can be used) 3 3 3.4000000 1.3600000 .54400000 .28055213 -.9514716 1.1961949 .56558317 .18505878 -2.010602 .30332967 .69874000 1.3544902 ************************************************************************ /Li.ano.Widmark.14s9p4d3f.7s6p4d3f. P.-O. Widmark, P.-A. Malmqvist, and B. O. Roos Theor. Chim. Acta 77, 291 (1990) ************************************************************************ * Li Lithium atom * * Basic primitive: Duijneveldt 13s * * Augmented: 8p SCF optimized for the 2P state. * * 1s with exponent 0.35x lowest exponent * * 1p with exponent 0.35x lowest exponent * * 4d eventempered with scale factor 0.35, 3 optimized for * * the SDCI energy for Li2 at equilibrium and the * * fourth added as an additional diffuse * * 3f eventempered with scale factor 0.40, 2 optimized for * * the SDCI energy for Li2 at equilibrium and the * * third addad as an additional diffuse * * * * Contraction: State Field Method Weight * * Li: 2S 0.000 SDCI 1.000 * * Li: 2S 0.010 SDCI 1.000 * * Li+: 1S 0.000 SDCI 1.000 * * Li2: 1S+g 0.000 SDCI 1.000 * * * * Contraction range: 3s2p1d - 4s3p2d1f for SCF * * 4s3p2d1f - 6s5p3d2f for correlated wavefunctions * * * ************************************************************************ a 3 * s-type ANO's (max 7 functions can be used) 14 7 9497.9344 1416.8112 321.45994 91.124163 29.999891 11.017631 4.3728010 1.8312560 .80226100 .36264800 .11399500 .05123700 .02246800 .00786000 .00007470 -.0000110 .00000638 -.0000401 .00015532 -.0000908 .00011504 .00058364 -.0000857 .00004887 -.0003102 .00121291 -.0008080 .00178481 .00306095 -.0004507 .00026583 -.0016465 .00634647 -.0034499 .00751603 .01260109 -.0018630 .00106853 -.0066395 .02593172 -.0182885 .03812838 .04234724 -.0063575 .00397706 -.0226602 .08532950 -.0396592 .08409746 .11475802 -.0177673 .01120297 -.0582447 .21962465 -.1664225 .29558749 .23936592 -.0397968 .03121889 -.1222607 .40388973 -.0437952 -.0252022 .35759179 -.0701282 .06165080 -.1352471 .36488271 -.5854796 1.0715801 .30337582 -.1029469 .15065016 -.0542651 -.5509683 1.9863927 -4.702726 .08637933 -.0937078 .18747829 .08320127 -1.387610 -1.189023 6.3037331 .00264390 .22012877 -1.094107 1.7479350 1.9839088 -2.535491 -6.808083 .00121696 .59337736 -.2924223 -1.646307 -.7590298 5.7082509 6.8273367 .00056197 .29452752 .84809436 -.7408542 -.6844426 -4.866391 -3.860256 .00001973 .02495030 .44800085 1.3038650 .64145200 1.7783142 1.0874189 * p-type ANO's (max 6 functions can be used) 9 6 13.119504 3.0774242 1.0988005 .43577840 .18024320 .07613330 .03254650 .01401820 .00490640 .00144897 -.0023268 .00948249 -.0105332 .01182621 -.0208153 .00799578 -.0112242 .06320779 -.0734282 .10322211 -.0344129 .02134846 -.0344626 .17514656 -.2410174 .88284569 -1.618865 .05011954 -.0338775 .57689385 -.8859633 -.4845183 3.4542075 .19547388 -.4544520 .55635164 1.6251780 -1.224391 -3.946462 .41911190 -.4963084 -1.291082 -.3335684 2.5068516 3.2571137 .34816472 .48858791 .20705209 -1.250485 -2.256798 -1.875864 .15059753 .56023390 .42867281 .94681211 .70847643 .38676017 .01570330 .07028069 .00433116 .20398213 .40248134 .31294744 * d-type ANO's (max 4 functions can be used) 4 4 .45000000 .15750000 .05512500 .01929380 .02237294 -.0304618 .17667927 -1.379946 .37508794 -.5734588 .99447178 1.4163180 .46891728 -.2741871 -1.552621 -.8710873 .36536291 .95628826 .87869005 .34180135 * f-type ANO's (max 3 functions can be used) 3 3 .24000000 .09600000 .03840000 .38777831 -.3795652 1.2722115 .40160976 -.6103086 -1.596331 .44614994 1.0900688 .72502696 ************************************************************************ /Be.ano.Widmark.14s9p4d3f.7s7p4d3f. P.-O. Widmark, P.-A. Malmqvist, and B. O. Roos Theor. Chim. Acta 77, 291 (1990) ************************************************************************ * Be Beryllium atom. * * Basic primitive: Duijneveldt 13s * * Augmented: 8p SCF optimized for the 3P state. * * 1s with exponent 0.35x lowest exponent * * 1p with exponent 0.35x lowest exponent * * 4d eventempered with scale factor 0.35, 3 optimized for * * the SDCI energy for Be ground state and the * * fourth added as an additional diffuse * * 3f eventempered with scale factor 0.40, 2 optimized for * * the SDCI energy for Be ground state and the * * third addad as an additional diffuse * * * * Contraction: State Field Method Weight * * Be: 1S(2s2) 0.000 SDCI 1.000 * * Be: 1S(2s2) 0.050 SDCI 1.000 * * Be+: 2S(2s) 0.000 SDCI 1.000 * * Be: 1P(2s2p) 0.000 SDCI 1.000 * * * * Contraction range: 3s2p1d - 4s3p2d1f for SCF * * 4s3p2d1f - 6s5p3d2f for correlated wavefunctions * * * ************************************************************************ a 4 * s-type ANO's (max 7 functions can be used) 14 7 22628.599 3372.3181 760.35040 211.74048 67.223468 23.372177 8.7213730 3.4680910 1.4521440 .60861500 .25768600 .10417600 .04242700 .01484900 .00005331 -.0000102 .00001238 -.0000163 .00002035 -.0000176 .00003636 .00041812 -.0000804 .00009764 -.0001087 .00013929 -.0002212 .00062288 .00222604 -.0004281 .00051672 -.0007272 .00089927 -.0005446 .00075391 .00956276 -.0018487 .00225262 -.0023214 .00303917 -.0059611 .01802867 .03481791 -.0068008 .00822815 -.0124024 .01555533 -.0064601 .00557319 .10594611 -.0213719 .02644133 -.0250911 .03697737 -.0903658 .32913721 .24566318 -.0530352 .06578965 -.1164622 .15845461 -.0284501 -.0719400 .38607362 -.1004577 .13010642 -.0631167 .08359833 -.6344349 2.1901040 .31037318 -.1375139 .19754924 -.6700337 .95775189 .36704639 -6.127052 .06389402 -.0650704 .07492653 1.2263580 -3.527723 2.4990795 7.6171166 -.0015314 .32457317 -1.388722 1.0746878 3.7533891 -5.257408 -6.354963 .00118247 .61816433 .15458295 -2.962455 -1.194024 6.0739469 4.2268820 -.0002521 .20476749 1.0260181 1.5600035 -1.247780 -4.688419 -2.221882 .00007381 .00430350 .02577768 .28184411 1.3591094 1.9636275 .67419548 * p-type ANO's (max 7 functions can be used) 9 7 33.710184 8.0576495 2.8364714 1.0999657 .44339640 .18222640 .07572410 .03168540 .01108990 .00103783 -.0012142 .00258725 -.0022873 .00676966 -.0172253 .04731366 .00660868 -.0056126 .02089535 -.0516249 .04194085 .03852139 -.0543895 .02155898 -.0254797 .05737162 -.0217907 .21838026 -.7093890 1.8697654 .06087782 -.0114415 .26426850 -1.011218 1.1628586 .42014098 -3.221712 .20355732 -.5138507 1.0647600 .73527735 -2.555678 .79154814 3.3303934 .45796695 -.4908092 -1.436307 .91566937 2.6923753 -2.078130 -2.896362 .36859063 .72214518 -.0547326 -1.931695 -1.672575 2.9179993 2.2946258 .06306415 .43076218 .77703464 1.1633019 .12607530 -2.726473 -1.463451 .00210971 .00225563 -.0320504 .20468349 .67295606 1.5289795 .59516015 * d-type ANO's (max 4 functions can be used) 4 4 1.4000000 .49000000 .17150000 .06002500 .00667733 -.0103868 .18372869 -1.379488 .24681337 .89258071 .84246998 1.3773530 .65744628 -.1507099 -1.494497 -.8809108 .25351913 -.6812165 1.1174804 .39975521 * f-type ANO's (max 3 functions can be used) 3 3 .50000000 .20000000 .08000000 .32812970 -1.103944 .76590034 .65980420 .65022981 -1.491275 .16284725 .35201447 1.3276033 ************************************************************************ /B.ano.Widmark.14s9p4d3f.7s7p4d3f. P.-O. Widmark, P.-A. Malmqvist, and B. O. Roos Theor. Chim. Acta 77, 291 (1990) ************************************************************************ * B Boron atom * * Basic primitive: Duijneveldt 13s,8p * * Augmented: 1s with exponent 0.35x lowest exponent * * 1p with exponent 0.35x lowest exponent * * 4d eventempered with scale factor 0.35, 3 optimized for * * the SDCI energy for the ground state atom, and the * * fourth added as an additional diffuse * * 3f eventempered with scale factor 0.40, 2 optimized for * * the SDCI energy for the ground state atom, and the * * third addad as an additional diffuse * * * * Contraction: State Field Method Weight * * B: 2P(2s2,2p) 0.000 SDCI 1.000 * * B: 2P(2s2,2p) 0.050 SDCI 1.000 * * B+: 2S(2s2) 0.000 SDCI 1.000 * * B-: 1D(s2s,2p2) 0.000 SDCI 1.000 * * * * Contraction range: 3s2p1d - 4s3p2d1f for SCF * * 4s3p2d1f - 6s5p3d2f for correlated wavefunctions * * * ************************************************************************ a 5 * s-type ANO's (max 7 functions can be used) 14 7 33360.217 4972.0952 1125.6417 316.49136 102.00726 36.295873 13.971410 5.7411560 2.4942680 1.1142020 .42154900 .16963300 .06853500 .02398700 .00005830 -.0000121 .00001207 -.0000180 .00002150 -.0000297 .00005127 .00045649 -.0000950 .00009451 -.0001292 .00013762 -.0002597 .00073214 .00240885 -.0005028 .00049965 -.0007771 .00096494 -.0011674 .00138013 .01016307 -.0021264 .00211919 -.0027820 .00280308 -.0062184 .02044693 .03609547 -.0076744 .00765190 -.0125600 .01654501 -.0182846 .01805032 .10598103 -.0232179 .02340454 -.0301270 .03061558 -.0888952 .38823783 .23956537 -.0569468 .05811557 -.1113291 .16803218 -.1661954 .02357906 .37377265 -.1062577 .11167395 -.1047497 .02641519 -.3864725 1.9354853 .30814648 -.1457694 .17056231 -.4598841 .82053218 -.3403721 -6.085223 .07769277 -.0430285 .01726759 .67401792 -2.154533 3.3558475 6.9109929 .00147971 .37194411 -.9989044 1.5042519 1.0217582 -5.718972 -5.169335 .00049907 .56520899 -.2265722 -2.476043 1.7061016 6.0018231 3.5172068 -.0000262 .19212692 1.0294550 .57766702 -3.083764 -4.013168 -1.761632 .00002361 .02191276 .22137860 .74299933 1.8083378 1.4190724 .49774487 * p-type ANO's (max 7 functions can be used) 9 7 55.000000 13.366101 4.1353940 1.4812560 .60213600 .25563600 .11115100 .04764800 .01667700 .00101856 -.0007776 .00075901 -.0032210 .00638030 -.0124181 .03972953 .00739575 -.0057768 .00591508 -.0325794 .03979359 -.0157325 .02223552 .03225139 -.0226134 .01360093 -.1313091 .32302223 -.6418072 1.5956435 .09834638 -.0696834 .03206285 -.6809573 .89709816 -.0483943 -3.206758 .23180240 -.2551146 .62952613 -.3491983 -1.699850 1.9746998 3.8528375 .34124357 -.3607786 .17326486 1.3937462 .57073026 -3.753202 -3.512345 .29329828 .06123947 -.8917853 -.3529796 1.3173404 4.1070675 2.5171015 .16959513 .29599379 -.3535550 -.7747354 -1.864229 -2.705608 -1.263250 .15075694 .66292780 .84690415 .57687382 .89953374 .91474254 .35546667 * d-type ANO's (max 4 functions can be used) 4 4 1.2000000 .42000000 .14700000 .05145000 .08034579 -.1224628 .51304622 -1.285389 .42193576 -.5604733 .50979375 1.6469440 .46391674 -.0894260 -1.318999 -1.225357 .28557335 .90159381 .86638551 .54022884 * f-type ANO's (max 3 functions can be used) 3 3 .85000000 .34000000 .13600000 .18252189 -.4773313 1.2852254 .39464534 -.6578114 -1.579107 .61043750 .95136724 .79701334 ************************************************************************ /C.ano.Widmark.14s9p4d3f.7s7p4d3f. P.-O. Widmark, P.-A. Malmqvist, and B. O. Roos Theor. Chim. Acta 77, 291 (1990) ************************************************************************ * C Carbon atom * * Basic primitive: Duijneveldt 13s,8p * * Augmented: 1s with exponent 0.35x lowest exponent * * 1p with exponent 0.35x lowest exponent * * 4d eventempered with scale factor 0.35, 3 optimized for * * the SDCI energy for the ground state atom, and the * * fourth added as an additional diffuse * * 3f eventempered with scale factor 0.40, 2 optimized for * * the SDCI energy for the ground state atom, and the * * third addad as an additional diffuse * * * * Contraction: State Field Method Weight * * C: 3P(2s2,2p2) 0.000 SDCI 1.000 * * C: 3P(2s2,2p2) 0.100 SDCI 1.000 * * C: 1D(2s2,2p2) 0.000 SDCI 1.000 * * C+: 2P(s2s,2p) 0.000 SDCI 1.000 * * C-: 4S(2s2,2p3) 0.000 SDCI 1.000 * * * * Contraction range: 3s2p1d - 4s3p2d1f for SCF * * 4s3p2d1f - 6s5p3d2f for correlated wavefunctions * * * ************************************************************************ a 6 * s-type ANO's (max 7 functions can be used) 14 7 50557.501 7524.7856 1694.3276 472.82279 151.71075 53.918746 20.659311 8.3839760 3.5770150 1.5471180 .61301300 .24606800 .09908700 .03468000 .00005527 -.0000120 .00001185 -.0000156 .00001740 -.0000264 .00004016 .00043433 -.0000940 .00009271 -.0001140 .00012323 -.0002304 .00059307 .00231588 -.0005028 .00049893 -.0006731 .00076340 -.0010505 .00107059 .00987292 -.0021476 .00211800 -.0025323 .00270031 -.0055835 .01671916 .03521949 -.0077942 .00777839 -.0109003 .01267800 -.0161830 .01105065 .10419375 -.0237634 .02363282 -.0277807 .03028665 -.0750168 .29532914 .24127411 -.0600235 .06163057 -.0958713 .12014642 -.1431410 .00515367 .38401741 -.1153985 .11896802 -.1247806 .12427731 -.4657256 2.1627987 .30823714 -.1539009 .18806208 -.3932460 .55304311 -.2830282 -6.266140 .06830554 -.0145946 -.0540304 .67960039 -1.660497 3.6186451 7.2876715 .00077821 .38958492 -.9814137 1.1978690 .21977066 -6.077981 -5.596529 .00099049 .53972907 -.1096758 -1.897952 2.6568329 5.9472498 3.6031442 -.0000893 .18840601 .88473559 -.0044614 -3.596556 -3.682612 -1.725426 .00004714 .02585753 .29649833 1.0142148 1.8521129 1.1778905 .46167938 * p-type ANO's (max 7 functions can be used) 9 7 83.333155 19.557611 6.0803650 2.1793170 .86515000 .36194400 .15474000 .06542900 .02290000 .00122406 -.0011444 .00146694 -.0037213 .00715443 -.0106380 .02834771 .00943894 -.0089796 .01445532 -.0379844 .03646278 -.0181958 .02707123 .04177441 -.0378456 .04663731 -.1698042 .40106973 -.6206032 1.5581973 .13183304 -.1292708 .23665375 -.8114152 .70600551 .20755858 -3.065124 .27891188 -.3784022 .60887342 .24217302 -2.003223 1.3575347 3.6562945 .36686633 -.2692137 -.3917793 1.3030673 1.6549840 -3.087214 -3.388311 .27905913 .29175424 -.8700229 -1.200142 .06014000 3.8462612 2.5041343 .13804807 .54366980 .42005046 -.0905452 -1.254857 -2.931038 -1.331827 .03419495 .26283081 .57994967 .56980090 .93443306 1.2084896 .41329661 * d-type ANO's (max 4 functions can be used) 4 4 1.9000000 .66500000 .23275000 .08146300 .09873123 -.1455013 .56376833 -1.260215 .45296608 -.5076809 .43125921 1.6779682 .43624570 -.1015630 -1.277998 -1.276948 .27192502 .92519220 .83542052 .55593172 * f-type ANO's (max 3 functions can be used) 3 3 1.2500000 .50000000 .20000000 .31136503 -.5041380 1.2497442 .51596730 -.4373719 -1.620038 .37742313 1.0147246 .86072619 ************************************************************************ /N.ano.Widmark.14s9p4d3f.7s7p4d3f. P.-O. Widmark, P.-A. Malmqvist, and B. O. Roos Theor. Chim. Acta 77, 291 (1990) ************************************************************************ * N Nitrogen atom * * Basic primitive: Duijneveldt 13s,8p * * Augmented: 1s with exponent 0.35x lowest exponent * * 1p with exponent 0.35x lowest exponent * * 4d eventempered with scale factor 0.35, 3 optimized for * * the SDCI energy for the ground state atom, and the * * fourth added as an additional diffuse * * 3f eventempered with scale factor 0.40, 2 optimized for * * the SDCI energy for the ground state atom, and the * * third addad as an additional diffuse * * * * Contraction: State Field Method Weight * * N: 4S(2s2,2p3) 0.000 SDCI 1.000 * * N: 4S(2s2,2p3) 0.100 SDCI 1.000 * * N: 2D(2s2,2p3) 0.000 SDCI 1.000 * * N+: 3P(s2s,2p2) 0.000 SDCI 1.000 * * N-: 3P(2s2,2p4) 0.000 SDCI 1.000 * * * * Contraction range: 3s2p1d - 4s3p2d1f for SCF * * 4s3p2d1f - 6s5p3d2f for correlated wavefunctions * * * ************************************************************************ a 7 * s-type ANO's (max 7 functions can be used) 14 7 74761.715 11123.654 2512.6857 703.77729 225.47879 79.615810 30.237283 12.263622 5.2650860 2.3334710 .90185600 .35833600 .14109300 .04938300 .00005021 -.0000112 .00000972 -.0000121 .00001870 -.0000247 .00003384 .00039457 -.0000878 .00007649 -.0000903 .00012934 -.0002152 .00054713 .00208853 -.0004667 .00040479 -.0005179 .00082182 -.0009762 .00077659 .00890794 -.0019931 .00173983 -.0020046 .00277581 -.0051642 .01549005 .03208845 -.0073033 .00634559 -.0083600 .01376942 -.0151043 .00542703 .09744736 -.0228259 .02014048 -.0227440 .03116421 -.0698700 .27055601 .23178948 -.0592207 .05240308 -.0744866 .13563675 -.1409305 -.0257247 .37769114 -.1156121 .10665174 -.1108600 .13557620 -.4816840 2.3922230 .31879166 -.1565083 .15833879 -.2983389 .66633412 -.3990689 -6.654417 .08237821 -.0231058 -.0050051 .32128217 -1.624942 3.6895463 7.3753585 .00279048 .37564757 -.8418720 1.1710298 -.3859865 -5.885458 -5.343052 .00024647 .54576534 -.1590563 -.8649562 3.2306654 5.5787940 3.3850551 -.0000289 .21035430 .59120260 -1.223793 -3.517450 -3.351193 -1.607072 .00000968 .01278945 .57660532 1.4445805 1.5200656 1.0457791 .43667786 * p-type ANO's (max 7 functions can be used) 9 7 126.66657 29.837389 9.3940380 3.4051040 1.3500000 .55769600 .23244900 .09426400 .03299200 .00114231 -.0009565 .00142011 -.0027058 .00470949 -.0110405 .02876106 .00895909 -.0075763 .01254386 -.0302621 .03861619 -.0184152 .00642162 .04053750 -.0336947 .05099132 -.1190992 .26167989 -.6431479 1.6294047 .12949014 -.1133437 .20571183 -.6278549 .90516411 -.0785509 -3.074708 .27678081 -.3055498 .54520414 -.2116148 -1.623290 1.8767505 3.4694196 .36888892 -.2733953 -.1522542 1.4074630 .49583691 -3.318232 -3.025190 .29346193 .20192518 -.8377166 -.6666649 1.2390022 3.4992740 2.1250478 .12846833 .49253441 .04965949 -.6807072 -1.780651 -2.383976 -1.115381 .03905858 .40980124 .74594407 .74984862 .94918349 .90260257 .35531417 * d-type ANO's (max 4 functions can be used) 4 4 2.7500000 .96250000 .33687500 .11790600 .12053068 -.1733321 .61298904 -1.231490 .50760685 -.4739903 .31696608 1.6975492 .44539556 .03678810 -1.216663 -1.335838 .15876917 .89316126 .87035573 .59701343 * f-type ANO's (max 3 functions can be used) 3 3 1.8000000 .72000000 .28800000 .33068755 -.7670701 1.1023670 .55560706 -.0111511 -1.665298 .30748869 .80193318 1.0841207 ************************************************************************ /O.ano.Widmark.14s9p4d3f.7s7p4d3f. P.-O. Widmark, P.-A. Malmqvist, and B. O. Roos Theor. Chim. Acta 77, 291 (1990) ************************************************************************ * O Oxygen atom * * Basic primitive: Duijneveldt 13s,8p * * Augmented: 1s with exponent 0.35x lowest exponent * * 1p with exponent 0.35x lowest exponent * * 4d eventempered with scale factor 0.35, 3 optimized for * * the SDCI energy for the ground state atom, and the * * fourth added as an additional diffuse * * 3f eventempered with scale factor 0.40, 2 optimized for * * the SDCI energy for the ground state atom, and the * * third addad as an additional diffuse * * * * Contraction: State Field Method Weight * * O: 3P(2s2,2p4) 0.000 SDCI 1.000 * * O: 3P(2s2,2p4) 0.100 SDCI 1.000 * * O: 1D(2s2,2p4) 0.000 SDCI 1.000 * * O+: 4S(s2s,2p3) 0.000 SDCI 1.000 * * O-: 2P(2s2,2p5) 0.000 SDCI 1.000 * * * * Contraction range: 3s2p1d - 4s3p2d1f for SCF * * 4s3p2d1f - 6s5p3d2f for correlated wavefunctions * * * ************************************************************************ a 8 * s-type ANO's (max 7 functions can be used) 14 7 105374.95 15679.240 3534.5447 987.36516 315.97875 111.65428 42.699451 17.395596 7.4383090 3.2228620 1.2538770 .49515500 .19166500 .06708300 .00004590 -.0000105 .00000896 -.0000109 .00001811 -.0000224 .00002623 .00036065 -.0000825 .00007048 -.0000822 .00012131 -.0001947 .00053679 .00191977 -.0004412 .00037567 -.0004675 .00080932 -.0008912 .00034041 .00820666 -.0018864 .00161462 -.0018465 .00257695 -.0046992 .01582333 .02972570 -.0069540 .00593400 -.0075585 .01377944 -.0138134 -.0046794 .09045579 -.0217208 .01878662 -.0210868 .02811115 -.0628944 .27278165 .21740537 -.0568513 .04946829 -.0667511 .13747540 -.1285556 -.1473296 .36876567 -.1139635 .10303987 -.1093673 .12206903 -.4617198 2.6786762 .33727977 -.1620201 .16205865 -.2731431 .73734928 -.4946086 -6.726794 .09675046 -.0333800 .00093665 .20971367 -1.705751 3.7909700 7.2541671 .00256736 .36550685 -.8224251 1.2034807 -.3504060 -5.906611 -5.232285 .00137461 .55200311 -.1017902 -.6774694 3.1429946 5.4974482 3.2451096 -.0001410 .22363927 .42539393 -1.429884 -3.347481 -3.298510 -1.534112 .00006829 .00657453 .68770275 1.4891068 1.4012375 1.0457181 .42569636 * p-type ANO's (max 7 functions can be used) 9 7 200.00000 46.533367 14.621809 5.3130640 2.1025250 .85022300 .33759700 .12889200 .04511200 .00089331 -.0008384 .00126180 -.0019528 .00307588 -.0095326 .02825071 .00736901 -.0068491 .01116281 -.0243404 .03750571 -.0076271 -.0122603 .03493921 -.0328505 .05183165 -.0944754 .18584407 -.5723415 1.6957347 .11529855 -.1100060 .19788446 -.5489856 1.0270651 -.2947287 -2.997962 .25832314 -.3135263 .57076519 -.3495476 -1.567541 1.9952689 3.1191936 .36962312 -.3196011 -.1789291 1.4659089 .38159176 -3.068932 -2.489170 .32387894 .22172426 -.8982077 -.7571894 1.1466648 3.0398273 1.6589021 .14679893 .56226160 .26666430 -.5905673 -1.662704 -2.143406 -.9028050 .03361269 .30132513 .62589942 .79593212 .97284427 .90601969 .32262057 * d-type ANO's (max 4 functions can be used) 4 4 3.7500000 1.3125000 .45937500 .16078100 .12849338 -.2182055 .62420931 -1.217839 .52118843 -.4817695 .24030630 1.7038152 .43457843 .13575954 -1.183642 -1.362414 .14574094 .82977340 .92087218 .61572759 * f-type ANO's (max 3 functions can be used) 3 3 2.3500000 .94000000 .37600000 .36341106 -.8835406 1.0001262 .56215546 .22624078 -1.647676 .26352789 .67223250 1.1796696 ************************************************************************ /F.ano.Widmark.14s9p4d3f.7s7p4d3f. P.-O. Widmark, P.-A. Malmqvist, and B. O. Roos Theor. Chim. Acta 77, 291 (1990) ************************************************************************ * F Fluorine atom * * Basic primitive: Duijneveldt 13s,8p * * Augmented: 1s with exponent 0.35x lowest exponent * * 1p with exponent 0.35x lowest exponent * * 4d eventempered with scale factor 0.35, 3 optimized for * * the SDCI energy for the ground state atom, and the * * fourth added as an additional diffuse * * 3f eventempered with scale factor 0.40, 2 optimized for * * the SDCI energy for the ground state atom, and the * * third addad as an additional diffuse * * * * Contraction: State Field Method Weight * * F: 2P(2s2,2p5) 0.000 SDCI 1.000 * * F: 2P(2s2,2p5) 0.100 SDCI 1.000 * * F+: 3P(s2s,2p4) 0.000 SDCI 1.000 * * F-: 1S(2s2,2p6) 0.000 SDCI 1.000 * * * * Contraction range: 3s2p1d - 4s3p2d1f for SCF * * 4s3p2d1f - 6s5p3d2f for correlated wavefunctions * * * ************************************************************************ a 9 * s-type ANO's (max 7 functions can be used) 14 7 103109.46 15281.007 3441.5392 967.09483 314.03534 113.44230 44.644727 18.942874 8.5327430 3.9194010 1.5681570 .62329000 .24086100 .08430100 .00006366 -.0000148 .00001511 -.0000154 .00002451 -.0000282 .00004066 .00050280 -.0001172 .00011869 -.0001160 .00016934 -.0002659 .00059464 .00266772 -.0006239 .00063631 -.0006596 .00108913 -.0010810 .00108843 .01120034 -.0026280 .00265994 -.0025500 .00356213 -.0065142 .01657711 .03909798 -.0093503 .00960683 -.0102361 .01777027 -.0149993 .00822959 .11226574 -.0278490 .02843363 -.0267629 .03582817 -.0852224 .27258536 .24720417 -.0676880 .07198306 -.0829345 .16274938 -.1018524 -.0707955 .36803449 -.1230542 .13103926 -.1141649 .12263698 -.6493063 2.7082166 .29086165 -.1522180 .20316169 -.3160866 .80374174 .03279916 -7.608732 .07810237 -.0075794 -.0915990 .44872390 -2.231614 3.3332897 8.5608685 .00354034 .37593135 -1.007025 1.1605351 .63328329 -5.838753 -6.137000 .00091567 .54384824 .01746266 -1.369570 2.2900002 5.7221505 3.7806364 .00007651 .21277464 .74900266 -.6041401 -3.123159 -3.626951 -1.808479 .00002052 .00664218 .34476916 1.2967102 1.5381196 1.2345411 .51698243 * p-type ANO's (max 7 functions can be used) 9 7 245.33029 56.919005 17.604568 6.2749950 2.4470300 .99506000 .40397300 .15481000 .05418400 .00098798 -.0009793 .00140028 -.0021447 .00405121 -.0105285 .02358777 .00829107 -.0083410 .01356231 -.0279769 .03277105 .00039496 -.0003286 .04073905 -.0407457 .06060520 -.1126856 .25347429 -.6567898 1.5998648 .13533040 -.1455266 .26782202 -.6847635 .94411468 .06605251 -2.897163 .28096366 -.3556275 .58183694 .02453601 -1.880888 1.5102034 3.1956528 .35883509 -.2537163 -.4280396 1.3824370 1.1269082 -2.829856 -2.767098 .30381116 .28087005 -.7991571 -1.144517 .45705245 3.1074018 1.9567034 .13893786 .56520351 .46852138 -.2020471 -1.365746 -2.341824 -1.097502 .02581864 .23237085 .48624407 .68548718 .97459622 1.0625364 .40858663 * d-type ANO's (max 4 functions can be used) 4 4 5.0000000 1.7500000 .61250000 .21437500 .13035593 -.2833655 .64835313 -1.191320 .52550546 -.5329589 .08528133 1.7020576 .44216398 .33934736 -1.076245 -1.412623 .12327467 .67721894 1.0003287 .68001101 * f-type ANO's (max 3 functions can be used) 3 3 3.2000000 1.2800000 .51200000 .35649821 -.8994161 .98839444 .58411540 .26248017 -1.634611 .24042220 .65173543 1.1959941 ************************************************************************ /Ne.ano.Widmark.14s9p4d3f.7s7p4d3f. P.-O. Widmark, P.-A. Malmqvist, and B. O. Roos Theor. Chim. Acta 77, 291 (1990) ************************************************************************ * Ne Neon atom * * Basic primitive: Duijneveldt 13s,8p * * Augmented: 1s with exponent 0.35x lowest exponent * * 1p with exponent 0.35x lowest exponent * * 4d eventempered with scale factor 0.35, 3 optimized for * * the SDCI energy for the ground state atom, and the * * fourth added as an additional diffuse * * 3f eventempered with scale factor 0.40, 2 optimized for * * the SDCI energy for the ground state atom, and the * * third addad as an additional diffuse * * * * Contraction: State Field Method Weight * * Ne: 1S 0.000 SDCI 1.000 * * Ne: 1S 0.100 SDCI 1.000 * * * * Contraction range: 3s2p1d - 4s3p2d1f for SCF * * 4s3p2d1f - 6s5p3d2f for correlated wavefunctions * * * ************************************************************************ a 10 * s-type ANO's (max 7 functions can be used) 14 7 166165.08 23107.524 5060.1539 1384.6123 436.51258 153.47148 59.389087 24.861967 11.015704 4.9651750 1.9365030 .76572800 .29553800 .10343800 .00004720 -.0000111 .00001383 -.0000134 .00001875 -.0000176 .00003229 .00040067 -.0000942 .00011547 -.0001015 .00013776 -.0002200 .00045106 .00219321 -.0005180 .00064915 -.0006547 .00092611 -.0006395 .00111081 .00958756 -.0022665 .00276318 -.0023205 .00310603 -.0061424 .01287317 .03507343 -.0084593 .01073356 -.0113825 .01639808 -.0077547 .01355924 .10465170 -.0260486 .03183250 -.0253425 .03407524 -.0922738 .22056798 .23771234 -.0653597 .08719603 -.1058383 .16092114 -.0201429 .03614270 .36960611 -.1222657 .15298113 -.0983722 .13776014 -.8470076 2.4482415 .30616089 -.1585710 .28479790 -.5230270 .88474081 .68366327 -7.001874 .08419854 -.0060287 -.1929549 1.1226234 -2.832242 2.1521765 7.9019421 .00370345 .38289567 -1.322588 .49014011 2.1910109 -4.935538 -5.904508 .00096535 .53886493 .49012790 -1.737905 .44521021 5.6607145 3.9468370 .00005404 .21144871 .75461754 .39778722 -2.207583 -4.079378 -2.049954 .00002679 .00280490 .06136710 .89004131 1.5272555 1.5437551 .62967531 * p-type ANO's (max 7 functions can be used) 9 7 234.94500 55.077385 17.389549 6.3895370 2.5420820 1.0337640 .41878800 .16462700 .05761900 .00158261 -.0022102 .00339886 -.0075907 .01763038 -.0145206 .00229881 .01257669 -.0185114 .03630469 -.0418546 .01841979 -.0769286 -.1293869 .05698653 -.0815212 .14392888 -.4327586 1.1400838 -1.188308 -.0361324 .16812301 -.2923570 .73364643 -.7725174 -1.419730 2.6165699 .37995449 .30738595 -.5403060 -.1076693 2.1038154 .27750201 -3.393669 -.8074627 .35831115 .09151549 -1.214315 -1.597286 1.3170494 3.4173580 1.3471319 .27869376 .60908795 .64108328 -.0026161 -2.136422 -2.659146 -1.984607 .09521109 .24352740 .35686171 .63860642 1.4278881 1.1994289 2.3491020 .00210199 .00713030 .01895012 -.0022546 -.0967242 .05325734 -1.734036 * d-type ANO's (max 4 functions can be used) 4 4 6.4200000 2.2470000 .78645000 .27525750 .13708557 -.4204726 .74155798 -1.091511 .54470998 -.5592957 -.3478303 1.6534714 .44972742 .70000990 -.6598257 -1.528671 .06537094 .33900230 1.0210673 .88040915 * f-type ANO's (max 3 functions can be used) 3 3 4.1900000 1.6760000 .67040000 .34597039 -.9362870 .95741058 .61486823 .33666424 -1.609545 .20832288 .60353969 1.2269088 ************************************************************************ ergo-3.5/basis/GAMESS-PVTZ0000775000175000017500000002506712743400275012065 00000000000000$Basis = GAMESS PVTZ $Elements supported $H Be B C N O F Ne $ $ REFERENCE $ T. H. DUNNING, JR., J. CHEM. PHYS. 55, 716 (1971) $ A.D. MCCLEAN AND G.S. CHANDLER, J. CHEM. PHYS. 72, 5639 (1980) $ A.J.H. WATCHERS, J. CHEM. PHYS. 52, 1033 (1970). $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $ HONDO-7 $ a 1 $ HYDROGEN (5s) -> [3s] $ HYDROGEN (1p) $ S-TYPE FUNCTIONS 5 3 0 33.6400000 0.02537400 0.00000000 0.00000000 5.0580000 0.18968400 0.00000000 0.00000000 1.1470000 0.85293300 0.00000000 0.00000000 0.3211000 0.00000000 1.00000000 0.00000000 0.1013000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.0000000 1.00000000 a 4 $ BERYLLIUM (10s,5p) -> [5s,3p] $ BERYLLIUM (1d) $ S-TYPE FUNCTIONS 11 5 0 3630.0000000 0.00083900 0.00000000 0.00000000 0.00000000 0.00000000 532.3000000 0.00673500 0.00000000 0.00000000 0.00000000 0.00000000 117.8000000 0.03572600 0.00000000 0.00000000 0.00000000 0.00000000 32.6600000 0.13863500 0.00000000 0.00000000 0.00000000 0.00000000 10.4800000 0.38539900 0.00000000 0.00000000 0.00000000 0.00000000 3.6680000 0.54768800 0.00000000 0.00000000 0.00000000 0.00000000 3.6680000 0.00000000 0.21340600 0.00000000 0.00000000 0.00000000 1.3540000 0.00000000 0.81469200 0.00000000 0.00000000 0.00000000 0.3890000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1502000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0524100 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 3.2020000 0.05291200 0.00000000 0.00000000 0.6923000 0.26765900 0.00000000 0.00000000 0.2016000 0.79208500 0.00000000 0.00000000 0.1183000 0.00000000 1.00000000 0.00000000 0.0694000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.3200000 1.00000000 a 5 $ BORON (10s,6p) -> [5s,3p] $ BORON (1d) $ S-TYPE FUNCTIONS 11 5 0 6250.0000000 0.00079800 0.00000000 0.00000000 0.00000000 0.00000000 916.1000000 0.00641000 0.00000000 0.00000000 0.00000000 0.00000000 202.2000000 0.03429900 0.00000000 0.00000000 0.00000000 0.00000000 55.8300000 0.13548700 0.00000000 0.00000000 0.00000000 0.00000000 17.8600000 0.38853200 0.00000000 0.00000000 0.00000000 0.00000000 6.2530000 0.54775800 0.00000000 0.00000000 0.00000000 0.00000000 6.2530000 0.00000000 0.23264300 0.00000000 0.00000000 0.00000000 2.3120000 0.00000000 0.79721900 0.00000000 0.00000000 0.00000000 0.6824000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2604000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0894000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 15.4600000 0.01682200 0.00000000 0.00000000 3.4830000 0.10087800 0.00000000 0.00000000 1.0660000 0.33689500 0.00000000 0.00000000 0.3928000 0.67231700 0.00000000 0.00000000 0.1503000 0.00000000 1.00000000 0.00000000 0.0572200 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.5000000 1.00000000 a 6 $ CARBON (10s,6p) -> [5s,3p] $ CARBON (1d) $ S-TYPE FUNCTIONS 11 5 0 9471.0000000 0.00077600 0.00000000 0.00000000 0.00000000 0.00000000 1398.0000000 0.00621800 0.00000000 0.00000000 0.00000000 0.00000000 307.5000000 0.03357500 0.00000000 0.00000000 0.00000000 0.00000000 84.5400000 0.13427800 0.00000000 0.00000000 0.00000000 0.00000000 26.9100000 0.39366800 0.00000000 0.00000000 0.00000000 0.00000000 9.4090000 0.54416900 0.00000000 0.00000000 0.00000000 0.00000000 9.4090000 0.00000000 0.24807500 0.00000000 0.00000000 0.00000000 3.5000000 0.00000000 0.78284400 0.00000000 0.00000000 0.00000000 1.0680000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.4002000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1351000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 25.3700000 0.01629500 0.00000000 0.00000000 5.7760000 0.10209800 0.00000000 0.00000000 1.7870000 0.34022800 0.00000000 0.00000000 0.6577000 0.66826900 0.00000000 0.00000000 0.2480000 0.00000000 1.00000000 0.00000000 0.0910600 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.7200000 1.00000000 a 7 $ NITROGEN (10s,6p) -> [5s,3p] $ NITROGEN (1d) $ S-TYPE FUNCTIONS 11 5 0 13520.0000000 0.00076000 0.00000000 0.00000000 0.00000000 0.00000000 1999.0000000 0.00607600 0.00000000 0.00000000 0.00000000 0.00000000 440.0000000 0.03284700 0.00000000 0.00000000 0.00000000 0.00000000 120.9000000 0.13239600 0.00000000 0.00000000 0.00000000 0.00000000 38.4700000 0.39326100 0.00000000 0.00000000 0.00000000 0.00000000 13.4600000 0.54633900 0.00000000 0.00000000 0.00000000 0.00000000 13.4600000 0.00000000 0.25203600 0.00000000 0.00000000 0.00000000 4.9930000 0.00000000 0.77938500 0.00000000 0.00000000 0.00000000 1.5690000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1923000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 35.9100000 0.01691600 0.00000000 0.00000000 8.4800000 0.10220000 0.00000000 0.00000000 2.7060000 0.33813400 0.00000000 0.00000000 0.9921000 0.66928100 0.00000000 0.00000000 0.3727000 0.00000000 1.00000000 0.00000000 0.1346000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.9800000 1.00000000 a 8 $ OXYGEN (10s,6p) -> [5s,3p] $ OXYGEN (1d) $ S-TYPE FUNCTIONS 11 5 0 18050.0000000 0.00075700 0.00000000 0.00000000 0.00000000 0.00000000 2660.0000000 0.00606600 0.00000000 0.00000000 0.00000000 0.00000000 585.7000000 0.03278200 0.00000000 0.00000000 0.00000000 0.00000000 160.9000000 0.13260900 0.00000000 0.00000000 0.00000000 0.00000000 51.1600000 0.39683900 0.00000000 0.00000000 0.00000000 0.00000000 17.9000000 0.54257200 0.00000000 0.00000000 0.00000000 0.00000000 17.9000000 0.00000000 0.26249000 0.00000000 0.00000000 0.00000000 6.6390000 0.00000000 0.76982800 0.00000000 0.00000000 0.00000000 2.0770000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.7736000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2558000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 49.8300000 0.01635800 0.00000000 0.00000000 11.4900000 0.10645300 0.00000000 0.00000000 3.6090000 0.34930200 0.00000000 0.00000000 1.3210000 0.65718300 0.00000000 0.00000000 0.4821000 0.00000000 1.00000000 0.00000000 0.1651000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.2800000 1.00000000 a 9 $ FLUORINE (10s,6p) -> [5s,3p] $ FLUORINE (1d) $ S-TYPE FUNCTIONS 11 5 0 23340.0000000 0.00075700 0.00000000 0.00000000 0.00000000 0.00000000 3431.0000000 0.00608100 0.00000000 0.00000000 0.00000000 0.00000000 757.7000000 0.03263600 0.00000000 0.00000000 0.00000000 0.00000000 209.2000000 0.13170400 0.00000000 0.00000000 0.00000000 0.00000000 66.7300000 0.39624000 0.00000000 0.00000000 0.00000000 0.00000000 23.3700000 0.54367200 0.00000000 0.00000000 0.00000000 0.00000000 23.3700000 0.00000000 0.26489300 0.00000000 0.00000000 0.00000000 8.6240000 0.00000000 0.76792500 0.00000000 0.00000000 0.00000000 2.6920000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.0090000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3312000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 65.6600000 0.01603700 0.00000000 0.00000000 15.2200000 0.10569700 0.00000000 0.00000000 4.7880000 0.35022700 0.00000000 0.00000000 1.7320000 0.65819500 0.00000000 0.00000000 0.6206000 0.00000000 1.00000000 0.00000000 0.2070000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.6200000 1.00000000 a 10 $ NEON (10s,6p) -> [5s,3p] $ NEON (1d) $ S-TYPE FUNCTIONS 11 5 0 28660.0000000 0.00076700 0.00000000 0.00000000 0.00000000 0.00000000 4263.0000000 0.00606800 0.00000000 0.00000000 0.00000000 0.00000000 946.8000000 0.03247400 0.00000000 0.00000000 0.00000000 0.00000000 261.5000000 0.13146800 0.00000000 0.00000000 0.00000000 0.00000000 83.3400000 0.39772300 0.00000000 0.00000000 0.00000000 0.00000000 29.1700000 0.54249100 0.00000000 0.00000000 0.00000000 0.00000000 29.1700000 0.00000000 0.26906500 0.00000000 0.00000000 0.00000000 10.7600000 0.00000000 0.76412100 0.00000000 0.00000000 0.00000000 3.3430000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.2410000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.4063000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 84.8400000 0.01555000 0.00000000 0.00000000 19.7100000 0.10301100 0.00000000 0.00000000 6.2190000 0.34921500 0.00000000 0.00000000 2.2110000 0.66283900 0.00000000 0.00000000 0.7853000 0.00000000 1.00000000 0.00000000 0.2566000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 2.0000000 1.00000000 ergo-3.5/basis/aug-cc-pCVTZ0000775000175000017500000012767212743400275012415 00000000000000$Basis = aug-cc-pCVTZ $Elements supported $H He B C N O F Ne Al Si P S Cl Ar $ $ REFERENCE $Elements References $-------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $ Polarization and/or diffuse functions $Elements References $-------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989) and D. E. Woon and $ D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 103, 4572 (1995). $Al - Ar: K.A. Peterson and T.H. Dunning, Jr. J. Chem. Phys. 117, 10548 (2002) $Ca : K.A. Peterson (to be published) $ ************************************************************************ a 1 $ HYDROGEN (5s,2p,1d) -> [3s,2p,1d] $ HYDROGEN Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 6 4 0 33.8700000 0.00606800 0.00000000 0.00000000 0.00000000 5.0950000 0.04530800 0.00000000 0.00000000 0.00000000 1.1590000 0.20282200 0.00000000 0.00000000 0.00000000 0.3258000 0.50390300 1.00000000 0.00000000 0.00000000 0.1027000 0.38342100 0.00000000 1.00000000 0.00000000 0.0252600 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 1.4070000 1.00000000 0.00000000 0.00000000 0.3880000 0.00000000 1.00000000 0.00000000 0.1020000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.0570000 1.00000000 0.00000000 0.2470000 0.00000000 1.00000000 a 2 $ HELIUM (6s,2p,1d) -> [3s,2p,1d] $ HELIUM Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 7 4 0 234.0000000 0.00258700 0.00000000 0.00000000 0.00000000 35.1600000 0.01953300 0.00000000 0.00000000 0.00000000 7.9890000 0.09099800 0.00000000 0.00000000 0.00000000 2.2120000 0.27205000 0.00000000 0.00000000 0.00000000 0.6669000 0.47806500 1.00000000 0.00000000 0.00000000 0.2089000 0.30773700 0.00000000 1.00000000 0.00000000 0.0513800 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 3.0440000 1.00000000 0.00000000 0.00000000 0.7580000 0.00000000 1.00000000 0.00000000 0.1993000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.9650000 1.00000000 0.00000000 0.4592000 0.00000000 1.00000000 a 5 $ BORON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ BORON Tight (s,p,d) $ BORON Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 13 7 0 5473.0000000 0.00055500 -0.00011200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 820.9000000 0.00429100 -0.00086800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 186.8000000 0.02194900 -0.00448400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 52.8300000 0.08444100 -0.01768300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 17.0800000 0.23855700 -0.05363900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 5.9990000 0.43507200 -0.11900500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 2.2080000 0.34195500 -0.16582400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.5879000 0.03685600 0.12010700 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.2415000 -0.00954500 0.59598100 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.0861000 0.00236800 0.41102100 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 2.9400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 8.3110000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0291400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 8 6 0 12.0500000 0.01311800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.6130000 0.07989600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.7475000 0.27727500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.2385000 0.50427000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0769800 0.35368000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 6.0160000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 22.8910000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0209600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 0.6610000 1.00000000 0.00000000 0.00000000 0.00000000 0.1990000 0.00000000 1.00000000 0.00000000 0.00000000 13.0150000 0.00000000 0.00000000 1.00000000 0.00000000 0.0604000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.4900000 1.00000000 0.00000000 0.1630000 0.00000000 1.00000000 a 6 $ CARBON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ CARBON Tight (s,p,d) $ CARBON Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 13 7 0 8236.0000000 0.00053100 -0.00011300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1235.0000000 0.00410800 -0.00087800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 280.8000000 0.02108700 -0.00454000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 79.2700000 0.08185300 -0.01813300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 25.5900000 0.23481700 -0.05576000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 8.9970000 0.43440100 -0.12689500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 3.3190000 0.34612900 -0.17035200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.9059000 0.03937800 0.14038200 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.3643000 -0.00898300 0.59868400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.1285000 0.00238500 0.39538900 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 4.2920000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 11.8760000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0440200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 8 6 0 18.7100000 0.01403100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.1330000 0.08686600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.2000000 0.29021600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.3827000 0.50100800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.1209000 0.34340600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 8.7780000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 33.1900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0356900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.0970000 1.00000000 0.00000000 0.00000000 0.00000000 0.3180000 0.00000000 1.00000000 0.00000000 0.00000000 14.8390000 0.00000000 0.00000000 1.00000000 0.00000000 0.1000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.7610000 1.00000000 0.00000000 0.2680000 0.00000000 1.00000000 a 7 $ NITROGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ NITROGEN Tight (s,p,d) $ NITROGEN Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 13 7 0 11420.0000000 0.00052300 -0.00011500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1712.0000000 0.00404500 -0.00089500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 389.3000000 0.02077500 -0.00462400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 110.0000000 0.08072700 -0.01852800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 35.5700000 0.23307400 -0.05733900 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 12.5400000 0.43350100 -0.13207600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 4.6440000 0.34747200 -0.17251000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.2930000 0.04126200 0.15181400 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.5118000 -0.00850800 0.59994400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.1787000 0.00238400 0.38746200 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 5.9520000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 16.2010000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0576000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 8 6 0 26.6300000 0.01467000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.9480000 0.09176400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.7420000 0.29868300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.5550000 0.49848700 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.1725000 0.33702300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 11.8710000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 44.8490000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0491000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.6540000 1.00000000 0.00000000 0.00000000 0.00000000 0.4690000 0.00000000 1.00000000 0.00000000 0.00000000 14.2000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1510000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.0930000 1.00000000 0.00000000 0.3640000 0.00000000 1.00000000 a 8 $ OXYGEN (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ OXYGEN Tight (s,p,d) $ OXYGEN Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 13 7 0 15330.0000000 0.00050800 -0.00011500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 2299.0000000 0.00392900 -0.00089500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 522.4000000 0.02024300 -0.00463600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 147.3000000 0.07918100 -0.01872400 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 47.5500000 0.23068700 -0.05846300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 16.7600000 0.43311800 -0.13646300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 6.2070000 0.35026000 -0.17574000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.7520000 0.04272800 0.16093400 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.6882000 -0.00815400 0.60341800 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.2384000 0.00238100 0.37876500 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 7.8450000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 21.0320000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0737600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 8 6 0 34.4600000 0.01592800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.7490000 0.09974000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.2800000 0.31049200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.7156000 0.49102600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.2140000 0.33633700 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 15.1590000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 57.4370000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0597400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 2.3140000 1.00000000 0.00000000 0.00000000 0.00000000 0.6450000 0.00000000 1.00000000 0.00000000 0.00000000 15.8580000 0.00000000 0.00000000 1.00000000 0.00000000 0.2140000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.4280000 1.00000000 0.00000000 0.5000000 0.00000000 1.00000000 a 9 $ FLUORINE (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ FLUORINE Tight (s,p,d) $ FLUORINE Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 13 7 0 19500.0000000 0.00050700 -0.00011700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 2923.0000000 0.00392300 -0.00091200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 664.5000000 0.02020000 -0.00471700 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 187.5000000 0.07901000 -0.01908600 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 60.6200000 0.23043900 -0.05965500 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 21.4200000 0.43287200 -0.14001000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 7.9500000 0.34996400 -0.17678200 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 2.2570000 0.04323300 0.17162500 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.8815000 -0.00789200 0.60504300 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.3041000 0.00238400 0.36951200 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 9.8120000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 25.9430000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0915800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 8 6 0 43.8800000 0.01666500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.9260000 0.10447200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.9300000 0.31726000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.9132000 0.48734300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.2672000 0.33460400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 18.7560000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 71.3480000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0736100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 3.1070000 1.00000000 0.00000000 0.00000000 0.00000000 0.8550000 0.00000000 1.00000000 0.00000000 0.00000000 19.1080000 0.00000000 0.00000000 1.00000000 0.00000000 0.2920000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.9170000 1.00000000 0.00000000 0.7240000 0.00000000 1.00000000 a 10 $ NEON (10s,5p,2d,1f) -> [4s,3p,2d,1f] $ NEON Tight (s,p,d) $ NEON Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 13 7 0 24350.00000 0.00050200 -0.00011800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3650.00000000 0.00388100 -0.00091500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 829.60000000 0.01999700 -0.00473700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 234.00000000 0.07841800 -0.01923300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.61000000 0.22967600 -0.06036900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.73000000 0.43272200 -0.14250800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.92700000 0.35064200 -0.17771000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.83600000 0.04391100 0.17735200 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.10200000 -0.00764500 0.60583600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.37820000 0.00237500 0.36510900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 12.08300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 31.94700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11330000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 6 0 54.70000000 0.01715100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.43000000 0.10765600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.67900000 0.32168100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.14300000 0.48523200 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.33000000 0.33258400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 22.82700000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 87.01700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09175000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 4.01400000 1.00000000 0.00000000 0.00000000 0.00000000 1.09600000 0.00000000 1.00000000 0.00000000 0.00000000 23.16800000 0.00000000 0.00000000 1.00000000 0.00000000 0.38600000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 2.54400000 1.00000000 0.00000000 1.08400000 0.00000000 1.00000000 a 13 $ ALUMINUM (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ ALUMINUM Tight (2s,2p,2d,1f) $ ALUMINUM Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 18 8 0 205500.00000 0.00006788 -0.00001764 0.00000407 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 30780.00000 0.00052715 -0.00013720 0.00003166 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7006.00000000 0.00276203 -0.00071891 0.00016612 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1985.00000000 0.01147280 -0.00301146 0.00069499 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 649.10000000 0.03981880 -0.01060140 0.00245511 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 235.00000000 0.11504000 -0.03213450 0.00744598 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 91.62000000 0.26088700 -0.08031560 0.01882530 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.67000000 0.39638600 -0.15679400 0.03727720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.91000000 0.28459700 -0.16837600 0.04194960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.85000000 0.04445830 0.12687900 -0.03543750 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.54200000 -0.00489838 0.56149400 -0.17513200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.05700000 0.00261253 0.43661300 -0.27620300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.29310000 -0.00108915 0.03572930 0.10872900 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.14550000 0.00072207 -0.01145630 0.65280900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.05650000 -0.00017849 0.00220201 0.39458700 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 7.48800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.27200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02210000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 7 0 444.40000000 0.00162786 -0.00028634 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 105.10000000 0.01306870 -0.00242308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 33.47000000 0.06123410 -0.01086580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.33000000 0.18787000 -0.03643070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.86900000 0.36045200 -0.06410740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.96100000 0.40845400 -0.09722390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.78340000 0.18864000 0.01474370 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.18880000 0.00976514 0.50344800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.05557000 -0.00115057 0.59798400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.20200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 5.54800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01460000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 0.10900000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.33300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.63400000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 8.64600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03560000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.24400000 1.00000000 0.00000000 0.00000000 5.68600000 0.00000000 1.00000000 0.00000000 0.85800000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ SILICON Tight (2s,2p,2d,1f) $ SILICON Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 18 8 0 254900.00000 0.00006251 -0.00001664 0.00000426 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38190.00000 0.00048555 -0.00012931 0.00003311 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8690.00000000 0.00254516 -0.00067883 0.00017401 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2462.00000000 0.01058660 -0.00284117 0.00072757 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 804.80000000 0.03687870 -0.01005510 0.00258333 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 291.30000000 0.10747900 -0.03057740 0.00786354 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 113.60000000 0.24793600 -0.07772560 0.02021550 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.75000000 0.39092700 -0.15423600 0.04073200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19.82000000 0.30202600 -0.18036800 0.04993580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.70800000 0.05592360 0.07982180 -0.02493960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.34000000 -0.00402406 0.54744100 -0.19035000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.40200000 0.00258030 0.48011900 -0.31835000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.43870000 -0.00103821 0.04748460 0.09480360 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.20700000 0.00060793 -0.01069960 0.68118000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07944000 -0.00015402 0.00219871 0.39567200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 9.16400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.62100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 7 0 481.50000000 0.00192045 -0.00040522 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 113.90000000 0.01535520 -0.00335896 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 36.23000000 0.07139910 -0.01528600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.34000000 0.21305200 -0.04892180 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.25200000 0.39035400 -0.08550080 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.12000000 0.39372100 -0.11213700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.85610000 0.13256500 0.06182740 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.25280000 0.00395630 0.55191900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07889000 0.00033162 0.52349200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 6.45800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.51700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02370000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 0.15900000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.48100000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 10.67100000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.30800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05560000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.33600000 1.00000000 0.00000000 0.00000000 7.00100000 0.00000000 1.00000000 0.00000000 0.12500000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ PHOSPHORUS Tight (2s,2p,2d,1f) $ PHOSPHORUS Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 18 8 0 312400.00000 0.00005770 -0.00001567 0.00000431 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46800.00000 0.00044830 -0.00012172 0.00003342 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10650.00000 0.00234939 -0.00063967 0.00017589 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3018.00000000 0.00978265 -0.00267426 0.00073434 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 986.80000000 0.03414670 -0.00949831 0.00261775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 357.40000000 0.10020400 -0.02893490 0.00797852 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 139.60000000 0.23437200 -0.07451210 0.02079400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 57.63000000 0.38243400 -0.14993800 0.04244460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24.60000000 0.31808800 -0.18946700 0.05634360 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.12000000 0.07077880 0.03632700 -0.01273580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.28300000 -0.00181799 0.52881600 -0.19649500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.80500000 0.00216180 0.51911500 -0.35355500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.61580000 -0.00083474 0.06055470 0.07414070 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.27820000 0.00043230 -0.00925695 0.70091200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.10550000 -0.00011425 0.00210372 0.40473900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 10.97800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.00600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04090000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 7 0 504.90000000 0.00233728 -0.00055524 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 119.40000000 0.01854100 -0.00445913 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.96000000 0.08496930 -0.02063500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.95000000 0.24461500 -0.06176940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.45700000 0.42276600 -0.10892400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.17700000 0.36843900 -0.10559900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.80100000 0.07727340 0.15348300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.28770000 -0.00379005 0.57698100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.09714000 0.00159939 0.42243900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 7.08400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.70100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03070000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 0.21600000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.65200000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 12.89100000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.05600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07750000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.45200000 1.00000000 0.00000000 0.00000000 8.46200000 0.00000000 1.00000000 0.00000000 0.16500000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ SULFUR Tight (2s,2p,2d,1f) $ SULFUR Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 18 8 0 374100.00000 0.00005421 -0.00001498 0.00000435 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56050.00000 0.00042085 -0.00011620 0.00003371 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12760.00000 0.00220698 -0.00061158 0.00017767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3615.00000000 0.00919258 -0.00255370 0.00074112 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1183.00000000 0.03211230 -0.00908708 0.00264591 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 428.80000000 0.09466830 -0.02770450 0.00807487 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 167.80000000 0.22363000 -0.07200200 0.02122760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 69.47000000 0.37439300 -0.14643900 0.04383230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 29.84000000 0.32910800 -0.19515000 0.06127160 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.72000000 0.08470380 0.00819193 -0.00361510 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.24400000 0.00044085 0.51660100 -0.20451000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.21900000 0.00164827 0.54217800 -0.38187100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.77670000 -0.00062233 0.06884300 0.08268440 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.34900000 0.00030131 -0.00918072 0.71414700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.13220000 -0.00008413 0.00226832 0.39379100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 12.92800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.41300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04970000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 7 0 574.40000000 0.00242264 -0.00062010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 135.80000000 0.01927960 -0.00493882 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.19000000 0.08854010 -0.02326470 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.87000000 0.25465400 -0.06851950 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.20800000 0.43398400 -0.12389600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.48300000 0.35495300 -0.09694990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.86880000 0.06189410 0.22821500 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.32290000 -0.00502977 0.56939400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.10980000 0.00209813 0.36630200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 8.11400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.10600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03510000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 0.26900000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.81900000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 15.25400000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.84500000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.10100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.55700000 1.00000000 0.00000000 0.00000000 10.05200000 0.00000000 1.00000000 0.00000000 0.21800000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ CHLORINE Tight (s,p,d,f) $ CHLORINE Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 18 8 0 456100.00000 0.00004930 -0.00001383 0.00000419 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 68330.00000 0.00038303 -0.00010728 0.00003244 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15550.00000 0.00200854 -0.00056508 0.00017111 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4405.00000000 0.00838558 -0.00236135 0.00071418 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1439.00000000 0.02947030 -0.00845886 0.00256705 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 520.40000000 0.08783250 -0.02596380 0.00788552 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 203.10000000 0.21147300 -0.06863620 0.02108670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 83.96000000 0.36536400 -0.14187400 0.04422640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 36.20000000 0.34088400 -0.19931900 0.06516700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.83000000 0.10213300 -0.01956620 0.00603012 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.33400000 0.00311675 0.49974100 -0.20649500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.69400000 0.00105751 0.56373600 -0.40587100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.97680000 -0.00037800 0.07903250 0.07595580 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.43130000 0.00015614 -0.00835091 0.72566100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.16250000 -0.00005141 0.00232456 0.39442300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 15.06400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.87400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05910000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 7 0 663.30000000 0.00240448 -0.00065215 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 156.80000000 0.01921480 -0.00519445 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.98000000 0.08850970 -0.02469380 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.42000000 0.25602000 -0.07281670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.24000000 0.43692700 -0.13403000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.92200000 0.35033400 -0.09477420 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.02200000 0.05854950 0.26228900 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.38180000 -0.00458423 0.56466700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.13010000 0.00226970 0.34125000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 9.48000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.66800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04190000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 1.04600000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.34400000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 17.95700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 5.76000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13500000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.70600000 1.00000000 0.00000000 0.00000000 11.77900000 0.00000000 1.00000000 0.00000000 0.31200000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (15s,9p,2d,1f) -> [5s,4p,2d,1f] $ ARGON Tight (2s,2p,2d,1f) $ ARGON Diffuse (1s,1p,1d,1f) $ S-TYPE FUNCTIONS 18 8 0 545000.00000 0.00004558 -0.00001296 0.00000405 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 81640.00000 0.00035411 -0.00010043 0.00003137 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18580.00000 0.00185797 -0.00052958 0.00016565 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5261.00000000 0.00776851 -0.00221396 0.00069166 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1717.00000000 0.02742320 -0.00796845 0.00249790 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 619.90000000 0.08238360 -0.02458030 0.00771074 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 241.60000000 0.20123000 -0.06577980 0.02087140 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 99.79000000 0.35678100 -0.13794200 0.04439650 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.15000000 0.34956300 -0.20163000 0.06802240 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19.14000000 0.11826600 -0.04128340 0.01413500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.48800000 0.00560190 0.48468000 -0.20748900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.20500000 0.00048347 0.57922400 -0.42504500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.19600000 -0.00014809 0.08790830 0.07048550 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.52040000 0.00002920 -0.00727553 0.73362700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.19540000 -0.00002316 0.00232884 0.39600500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 17.36200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.37800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06850000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 7 0 761.80000000 0.00236976 -0.00066721 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 180.20000000 0.01901990 -0.00532717 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 57.50000000 0.08808070 -0.02554940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.24000000 0.25637700 -0.07571970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.38800000 0.43871100 -0.14113300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.41600000 0.34756900 -0.09327680 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.20600000 0.05667400 0.28287200 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.45230000 -0.00523882 0.56245000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.15450000 0.00164376 0.32505900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 11.01900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.30700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04870000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 0.41000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.25400000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 20.70600000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 6.68100000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.16900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.89000000 1.00000000 0.00000000 0.00000000 13.67400000 0.00000000 1.00000000 0.00000000 0.40600000 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/Ahlrichs-pVDZ0000664000175000017500000015416712743400275012664 00000000000000$Basis = Ahlrichs pVDZ $Elements supported $H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu $Zn Ga Ge As Se Br Kr $ $ REFERENCES $ Elements References $ -------- ---------- $ H - Kr: A. Schafer, H. Horn and R. Ahlrichs, J. Chem. Phys. 97, 2571 (1992). $ $ Polarization and/or diffuse functions $ Elements References $ -------- ---------- $ H - Kr: R. Ahlrichs and coworkers, (mostly unpublished) $ a 1 $ HYDROGEN (4s) -> [2s] $ HYDROGEN (1p) $ S-TYPE FUNCTIONS 4 2 0 13.01070100 0.01968216 0.00000000 1.96225720 0.13796524 0.00000000 0.44453796 0.47831935 0.00000000 0.12194962 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.80000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ HELIUM (1p) $ S-TYPE FUNCTIONS 4 2 0 38.35493674 0.02381429 0.00000000 5.76890815 0.15490907 0.00000000 1.23994070 0.46998097 0.00000000 0.29757816 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 3 $ LITHIUM (7s) -> [3s] $ LITHIUM (1p) $ S-TYPE FUNCTIONS 7 3 0 266.27785520 0.00649202 0.00000000 0.00000000 40.06978345 0.04774786 0.00000000 0.00000000 9.05599444 0.20268796 0.00000000 0.00000000 2.45030091 0.48606575 0.00000000 0.00000000 0.72209572 0.43626978 0.00000000 0.00000000 0.52810885 0.00000000 1.00000000 0.00000000 0.20960949 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.17000000 1.00000000 a 4 $ BERYLLIUM (7s) -> [3s] $ BERYLLIUM (2p) $ S-TYPE FUNCTIONS 7 3 0 515.18616130 0.00556153 0.00000000 0.00000000 77.51103760 0.04119007 0.00000000 0.00000000 17.55248169 0.17913378 0.00000000 0.00000000 4.80289406 0.44736716 0.00000000 0.00000000 1.45162143 0.42009582 0.00000000 0.00000000 0.13281634 0.00000000 1.00000000 0.00000000 0.45837372 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 3.63169172 -0.02903400 0.00000000 0.71695694 -0.16877854 0.00000000 0.19541933 -0.51403420 0.00000000 0.60515466 0.00000000 1.00000000 a 5 $ BORON (7s,4p) -> [3s,2p] $ BORON (1d) $ S-TYPE FUNCTIONS 7 3 0 839.31830090 -0.00559292 0.00000000 0.00000000 126.26464840 -0.04156552 0.00000000 0.00000000 28.62060076 -0.18299817 0.00000000 0.00000000 7.87937227 -0.46540392 0.00000000 0.00000000 2.40888572 -0.44173885 0.00000000 0.00000000 0.25105109 0.00000000 1.00000000 0.00000000 0.83648866 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 6.03322236 -0.03560367 0.00000000 1.24991579 -0.19895776 0.00000000 0.33871676 -0.50850203 0.00000000 0.96415632 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.50000000 1.00000000 a 6 $ CARBON (7s,4p) -> [3s,2p] $ CARBON (1d) $ S-TYPE FUNCTIONS 7 3 0 1238.40169400 0.00545688 0.00000000 0.00000000 186.29004990 0.04063841 0.00000000 0.00000000 42.25117635 0.18025594 0.00000000 0.00000000 11.67655793 0.46315122 0.00000000 0.00000000 3.59305065 0.44087173 0.00000000 0.00000000 0.40245147 0.00000000 1.00000000 0.00000000 0.13090183 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 9.46809706 0.03838787 0.00000000 2.01035451 0.21117025 0.00000000 0.54771005 0.51328172 0.00000000 0.15268614 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.80000000 1.00000000 a 7 $ NITROGEN (7s,4p) -> [3s,2p] $ NITROGEN (1d) $ S-TYPE FUNCTIONS 7 3 0 1712.84158500 -0.00539341 0.00000000 0.00000000 257.64812680 -0.04022158 0.00000000 0.00000000 58.45824585 -0.17931145 0.00000000 0.00000000 16.19836791 -0.46376318 0.00000000 0.00000000 5.00526008 -0.44171423 0.00000000 0.00000000 0.58731857 0.00000000 1.00000000 0.00000000 0.18764592 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 13.57147023 -0.04007240 0.00000000 2.92573729 -0.21807045 0.00000000 0.79927751 -0.51294466 0.00000000 0.21954348 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 8 $ OXYGEN (7s,4p) -> [3s,2p] $ OXYGEN (1d) $ S-TYPE FUNCTIONS 7 3 0 2266.17677900 -0.00534318 0.00000000 0.00000000 340.87010190 -0.03989004 0.00000000 0.00000000 77.36313517 -0.17853912 0.00000000 0.00000000 21.47964494 -0.46427685 0.00000000 0.00000000 6.65894331 -0.44309745 0.00000000 0.00000000 0.80975976 0.00000000 1.00000000 0.00000000 0.25530772 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 17.72150432 0.04339457 0.00000000 3.86355054 0.23094121 0.00000000 1.04809209 0.51375311 0.00000000 0.27641544 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.20000000 1.00000000 a 9 $ FLUORINE (7s,4p) -> [3s,2p] $ FLUORINE (1d) $ S-TYPE FUNCTIONS 7 3 0 2894.83259900 -0.00534083 0.00000000 0.00000000 435.41939120 -0.03990426 0.00000000 0.00000000 98.84332887 -0.17912768 0.00000000 0.00000000 27.48519800 -0.46758091 0.00000000 0.00000000 8.54054982 -0.44653131 0.00000000 0.00000000 1.06545780 0.00000000 1.00000000 0.00000000 0.33247347 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 22.69663392 -0.04521287 0.00000000 4.98723393 -0.23754317 0.00000000 1.34916140 -0.51287354 0.00000000 0.34829882 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.40000000 1.00000000 a 10 $ NEON (7s,4p) -> [3s,2p] $ NEON (1d) $ S-TYPE FUNCTIONS 7 3 0 3598.97366300 -0.00532593 0.00000000 0.00000000 541.32073110 -0.03981742 0.00000000 0.00000000 122.90450060 -0.17914358 0.00000000 0.00000000 34.21661702 -0.46893583 0.00000000 0.00000000 10.65058412 -0.44782538 0.00000000 0.00000000 1.35459540 0.00000000 1.00000000 0.00000000 0.41919363 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 28.42405379 -0.04603194 0.00000000 6.28225110 -0.23993183 0.00000000 1.69787151 -0.50871725 0.00000000 0.43300700 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.88800000 1.00000000 a 11 $ SODIUM (10s,5p) -> [4s,1p] $ SODIUM (1p) $ S-TYPE FUNCTIONS 10 4 0 4098.20039100 -0.00585359 0.00000000 0.00000000 0.00000000 616.49374030 -0.04364716 0.00000000 0.00000000 0.00000000 139.96644000 -0.19431466 0.00000000 0.00000000 0.00000000 39.07344105 -0.48685066 0.00000000 0.00000000 0.00000000 11.92984721 -0.41881705 0.00000000 0.00000000 0.00000000 20.65996603 0.00000000 0.08594969 0.00000000 0.00000000 1.98388610 0.00000000 -0.56359144 0.00000000 0.00000000 0.64836324 0.00000000 -0.51954009 0.00000000 0.00000000 0.05244397 0.00000000 0.00000000 1.00000000 0.00000000 0.02804816 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 2 0 75.40186202 0.01543536 0.00000000 17.27481898 0.09973829 0.00000000 5.18423474 0.31209594 0.00000000 1.66012120 0.49295675 0.00000000 0.51232529 0.32420398 0.00000000 0.52000000 0.00000000 1.00000000 a 12 $ MAGNESIUM (10s,5p) -> [4s,1p] $ MAGNESIUM (1p) $ S-TYPE FUNCTIONS 10 4 0 4953.83392000 -0.00577790 0.00000000 0.00000000 0.00000000 745.18044150 -0.04312476 0.00000000 0.00000000 0.00000000 169.21604970 -0.19268217 0.00000000 0.00000000 0.00000000 47.30067202 -0.48641439 0.00000000 0.00000000 0.00000000 14.46133697 -0.42550894 0.00000000 0.00000000 0.00000000 24.76817479 0.00000000 0.08795697 0.00000000 0.00000000 2.49409453 0.00000000 -0.55165058 0.00000000 0.00000000 0.87807585 0.00000000 -0.53443295 0.00000000 0.00000000 0.08721278 0.00000000 0.00000000 1.00000000 0.00000000 0.03359929 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 2 0 98.05301049 -0.01448056 0.00000000 22.58693228 -0.09549575 0.00000000 6.83915098 -0.30787673 0.00000000 2.23328438 -0.49936293 0.00000000 0.71606599 -0.31503476 0.00000000 0.18914796 0.00000000 1.00000000 a 13 $ ALUMINUM (10s,7p) -> [4s,3p] $ ALUMINUM (1d) $ S-TYPE FUNCTIONS 10 4 0 5887.57270300 0.00134833 0.00000000 0.00000000 0.00000000 885.61226000 0.01007158 0.00000000 0.00000000 0.00000000 201.13604900 0.04513245 0.00000000 0.00000000 0.00000000 56.28497467 0.11461268 0.00000000 0.00000000 0.00000000 17.22955124 0.10159609 0.00000000 0.00000000 0.00000000 29.34024992 0.00000000 0.06934745 0.00000000 0.00000000 3.04396304 0.00000000 -0.42528118 0.00000000 0.00000000 1.12855395 0.00000000 -0.41449832 0.00000000 0.00000000 0.14234175 0.00000000 0.00000000 1.00000000 0.00000000 0.05440019 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 145.11918810 0.00639634 0.00000000 0.00000000 33.71789483 0.04418936 0.00000000 0.00000000 10.36986308 0.15581576 0.00000000 0.00000000 3.51356160 0.28635287 0.00000000 0.00000000 1.19800503 0.22921423 0.00000000 0.00000000 0.26583006 0.00000000 1.00000000 0.00000000 0.71003362 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.30000000 1.00000000 a 14 $ SILICON (10s,7p) -> [4s,3p] $ SILICON (1d) $ S-TYPE FUNCTIONS 10 4 0 6903.71186900 0.00133740 0.00000000 0.00000000 0.00000000 1038.43464200 0.00999665 0.00000000 0.00000000 0.00000000 235.87581480 0.04491017 0.00000000 0.00000000 0.00000000 66.06938517 0.11463639 0.00000000 0.00000000 0.00000000 20.24794576 0.10280064 0.00000000 0.00000000 0.00000000 34.35348173 0.00000000 0.07083729 0.00000000 0.00000000 3.63707882 0.00000000 -0.43028836 0.00000000 0.00000000 1.40020486 0.00000000 -0.41382775 0.00000000 0.00000000 0.20484415 0.00000000 0.00000000 1.00000000 0.00000000 0.07799410 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 179.83907370 0.00619167 0.00000000 0.00000000 41.90725885 0.04339943 0.00000000 0.00000000 12.95529437 0.15632019 0.00000000 0.00000000 4.43832674 0.29419997 0.00000000 0.00000000 1.54622479 0.23536824 0.00000000 0.00000000 0.35607612 0.00000000 1.00000000 0.00000000 0.10008514 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.35000000 1.00000000 a 15 $ PHOSPHORUS (10s,7p) -> [4s,3p] $ PHOSPHORUS (1d) $ S-TYPE FUNCTIONS 10 4 0 8002.47951100 0.00575035 0.00000000 0.00000000 0.00000000 1203.68135900 0.04300763 0.00000000 0.00000000 0.00000000 273.44227030 0.19363986 0.00000000 0.00000000 0.00000000 76.65554152 0.49651693 0.00000000 0.00000000 0.00000000 23.51692744 0.44983262 0.00000000 0.00000000 0.00000000 39.79168344 0.00000000 0.09518813 0.00000000 0.00000000 4.27703433 0.00000000 -0.57649840 0.00000000 0.00000000 1.69402569 0.00000000 -0.54239584 0.00000000 0.00000000 0.27567675 0.00000000 0.00000000 1.00000000 0.00000000 0.10495590 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 219.50755820 0.00921006 0.00000000 0.00000000 51.27415503 0.06540977 0.00000000 0.00000000 15.92159589 0.24033730 0.00000000 0.00000000 5.50699135 0.46318322 0.00000000 0.00000000 1.95377194 0.37392563 0.00000000 0.00000000 0.47803398 0.00000000 1.00000000 0.00000000 0.13657953 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.45000000 1.00000000 a 16 $ SULFUR (10s,7p) -> [4s,3p] $ SULFUR (1d) $ S-TYPE FUNCTIONS 10 4 0 9184.93030100 -0.00222944 0.00000000 0.00000000 0.00000000 1381.51055000 -0.01668303 0.00000000 0.00000000 0.00000000 313.87147580 -0.07526244 0.00000000 0.00000000 0.00000000 88.05387062 -0.19376827 0.00000000 0.00000000 0.00000000 27.03991491 -0.17718021 0.00000000 0.00000000 0.00000000 45.64873130 0.00000000 -0.10736063 0.00000000 0.00000000 4.96645223 0.00000000 0.65066293 0.00000000 0.00000000 2.01162420 0.00000000 0.59712155 0.00000000 0.00000000 0.35661077 0.00000000 0.00000000 1.00000000 0.00000000 0.13507221 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 261.98233440 -0.00927299 0.00000000 0.00000000 61.30689474 -0.06654767 0.00000000 0.00000000 19.10372989 -0.24828596 0.00000000 0.00000000 6.65677204 -0.48703847 0.00000000 0.00000000 2.39596352 -0.39337850 0.00000000 0.00000000 0.61776162 0.00000000 1.00000000 0.00000000 0.16993377 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.55000000 1.00000000 a 17 $ CHLORINE (10s,7p) -> [4s,3p] $ CHLORINE (1d) $ S-TYPE FUNCTIONS 10 4 0 10449.82757 0.00197084 0.00000000 0.00000000 0.00000000 1571.73652200 0.01475473 0.00000000 0.00000000 0.00000000 357.12065520 0.06667911 0.00000000 0.00000000 0.00000000 100.25185940 0.17228924 0.00000000 0.00000000 0.00000000 30.81272755 0.15883786 0.00000000 0.00000000 0.00000000 51.92378943 0.00000000 -0.10009299 0.00000000 0.00000000 5.70457610 0.00000000 0.60841753 0.00000000 0.00000000 2.35083768 0.00000000 0.54352153 0.00000000 0.00000000 0.44605125 0.00000000 0.00000000 1.00000000 0.00000000 0.16848856 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 307.66790570 -0.00878015 0.00000000 0.00000000 72.10201551 -0.06356336 0.00000000 0.00000000 22.53268026 -0.24016428 0.00000000 0.00000000 7.89917654 -0.47798867 0.00000000 0.00000000 2.87672683 -0.38515850 0.00000000 0.00000000 0.77459364 0.00000000 1.00000000 0.00000000 0.21037700 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.65000000 1.00000000 a 18 $ ARGON (10s,7p) -> [4s,3p] $ ARGON (1d) $ S-TYPE FUNCTIONS 10 4 0 11797.11977 0.00202145 0.00000000 0.00000000 0.00000000 1774.35227500 0.01513985 0.00000000 0.00000000 0.00000000 403.18875730 0.06852540 0.00000000 0.00000000 0.00000000 113.24934000 0.17762929 0.00000000 0.00000000 0.00000000 34.83529819 0.16496495 0.00000000 0.00000000 0.00000000 58.61477504 0.00000000 -0.10343394 0.00000000 0.00000000 6.49220451 0.00000000 0.63133366 0.00000000 0.00000000 2.71170144 0.00000000 0.54887572 0.00000000 0.00000000 0.54412975 0.00000000 0.00000000 1.00000000 0.00000000 0.20517411 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 3 0 356.28707260 -0.00873218 0.00000000 0.00000000 83.59313287 -0.06368032 0.00000000 0.00000000 26.18670403 -0.24311907 0.00000000 0.00000000 9.22572759 -0.48956070 0.00000000 0.00000000 3.39227549 -0.39229190 0.00000000 0.00000000 0.94740534 0.00000000 1.00000000 0.00000000 0.25659135 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.96900000 1.00000000 a 19 $ POTASSIUM (14s,8p) -> [5s,2p] $ POTASSIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 31478.74676 0.00398387 0.00000000 0.00000000 0.00000000 0.00000000 4726.88760700 0.03050176 0.00000000 0.00000000 0.00000000 0.00000000 1075.43453500 0.15073753 0.00000000 0.00000000 0.00000000 0.00000000 303.39811020 0.51912940 0.00000000 0.00000000 0.00000000 0.00000000 98.32711283 1.03669570 0.00000000 0.00000000 0.00000000 0.00000000 33.63622218 0.76398963 0.00000000 0.00000000 0.00000000 0.00000000 65.63920996 0.00000000 -0.28242617 0.00000000 0.00000000 0.00000000 7.31625922 0.00000000 1.69149359 0.00000000 0.00000000 0.00000000 2.89025801 0.00000000 1.29653320 0.00000000 0.00000000 0.00000000 4.54597490 0.00000000 0.00000000 -0.00763436 0.00000000 0.00000000 0.70404124 0.00000000 0.00000000 0.02563572 0.00000000 0.00000000 0.28266889 0.00000000 0.00000000 0.01660686 0.00000000 0.00000000 0.02905816 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01211164 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 361.22492150 0.02090648 0.00000000 0.00000000 84.67022217 0.15043642 0.00000000 0.00000000 26.46908824 0.55440061 0.00000000 0.00000000 9.26580776 1.04090100 0.00000000 0.00000000 3.34233883 0.67825341 0.00000000 0.00000000 1.51008761 0.00000000 0.75248191 0.00000000 0.56568375 0.00000000 1.37085850 0.00000000 0.20817009 0.00000000 0.66047633 0.00000000 0.41737000 0.00000000 0.00000000 1.00000000 a 20 $ CALCIUM (14s,8p) -> [5s,2p] $ CALCIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 35138.71393 0.00394825 0.00000000 0.00000000 0.00000000 0.00000000 5276.41113500 0.03023424 0.00000000 0.00000000 0.00000000 0.00000000 1200.46925900 0.14952020 0.00000000 0.00000000 0.00000000 0.00000000 338.71810540 0.51597346 0.00000000 0.00000000 0.00000000 0.00000000 109.85385920 1.03395103 0.00000000 0.00000000 0.00000000 0.00000000 37.60888030 0.76937934 0.00000000 0.00000000 0.00000000 0.00000000 73.10797755 0.00000000 -0.28268525 0.00000000 0.00000000 0.00000000 8.24077057 0.00000000 1.67960921 0.00000000 0.00000000 0.00000000 3.29598130 0.00000000 1.28037660 0.00000000 0.00000000 0.00000000 5.23418009 0.00000000 0.00000000 -0.00768686 0.00000000 0.00000000 0.84187221 0.00000000 0.00000000 0.02538238 0.00000000 0.00000000 0.36510294 0.00000000 0.00000000 0.01651217 0.00000000 0.00000000 0.05122240 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01982511 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 413.11313890 0.02032714 0.00000000 0.00000000 96.93578622 0.14730276 0.00000000 0.00000000 30.37215466 0.54887167 0.00000000 0.00000000 10.68477683 1.04406598 0.00000000 0.00000000 3.88212584 0.68653491 0.00000000 0.00000000 1.79930163 0.00000000 0.75410247 0.00000000 0.69189057 0.00000000 1.34092966 0.00000000 0.26364024 0.00000000 0.56391989 0.00000000 0.74979000 0.00000000 0.00000000 1.00000000 a 21 $ SCANDIUM (14s,8p,5d) -> [5s,2p,2d] $ SCANDIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 38956.08180 0.00392932 0.00000000 0.00000000 0.00000000 0.00000000 5849.57336400 0.03009322 0.00000000 0.00000000 0.00000000 0.00000000 1330.88131500 0.14890371 0.00000000 0.00000000 0.00000000 0.00000000 375.55534170 0.51464283 0.00000000 0.00000000 0.00000000 0.00000000 121.87261370 1.03377081 0.00000000 0.00000000 0.00000000 0.00000000 41.76024373 0.77436852 0.00000000 0.00000000 0.00000000 0.00000000 81.06063395 0.00000000 -0.28318552 0.00000000 0.00000000 0.00000000 9.20598240 0.00000000 1.67708070 0.00000000 0.00000000 0.00000000 3.70632157 0.00000000 1.25947337 0.00000000 0.00000000 0.00000000 5.98889100 0.00000000 0.00000000 -0.00778214 0.00000000 0.00000000 0.97363432 0.00000000 0.00000000 0.02549969 0.00000000 0.00000000 0.42041019 0.00000000 0.00000000 0.01619156 0.00000000 0.00000000 0.05944055 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02289781 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 466.31481260 0.01998430 0.00000000 0.00000000 109.51217100 0.14561043 0.00000000 0.00000000 34.37592183 0.54687466 0.00000000 0.00000000 12.14209696 1.04790060 0.00000000 0.00000000 4.43367677 0.68894890 0.00000000 0.00000000 2.09712919 0.00000000 0.75619215 0.00000000 0.80977607 0.00000000 1.31782122 0.00000000 0.30834047 0.00000000 0.54312268 0.00000000 0.89748000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 19.24033493 0.02703908 0.00000000 5.11789959 0.13803685 0.00000000 1.65542788 0.34869086 0.00000000 0.54016356 0.48594186 0.00000000 0.16211215 0.00000000 1.00000000 a 22 $ TITANIUM (14s,8p,5d) -> [5s,2p,2d] $ TITANIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 42961.51218 0.00391276 0.00000000 0.00000000 0.00000000 0.00000000 6450.97591700 0.02996982 0.00000000 0.00000000 0.00000000 0.00000000 1467.72109200 0.14836353 0.00000000 0.00000000 0.00000000 0.00000000 414.20997350 0.51347285 0.00000000 0.00000000 0.00000000 0.00000000 134.48715840 1.03353655 0.00000000 0.00000000 0.00000000 0.00000000 46.12220980 0.77854234 0.00000000 0.00000000 0.00000000 0.00000000 89.44776254 0.00000000 -0.28385401 0.00000000 0.00000000 0.00000000 10.22334606 0.00000000 1.67727853 0.00000000 0.00000000 0.00000000 4.13537743 0.00000000 1.24119285 0.00000000 0.00000000 0.00000000 6.78961815 0.00000000 0.00000000 -0.00784000 0.00000000 0.00000000 1.11067307 0.00000000 0.00000000 0.02549549 0.00000000 0.00000000 0.47565976 0.00000000 0.00000000 0.01606117 0.00000000 0.00000000 0.06598696 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02521034 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 522.03684780 0.01975418 0.00000000 0.00000000 122.68649490 0.14460678 0.00000000 0.00000000 38.57290361 0.54669004 0.00000000 0.00000000 13.67216932 1.05316475 0.00000000 0.00000000 5.01185294 0.69111213 0.00000000 0.00000000 2.41319283 0.00000000 0.75803437 0.00000000 0.93252270 0.00000000 1.30362414 0.00000000 0.35429058 0.00000000 0.53638653 0.00000000 0.10156100 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 23.46512596 0.02653638 0.00000000 6.33325938 0.13796454 0.00000000 2.07664900 0.35312644 0.00000000 0.69027362 0.48647124 0.00000000 0.21088739 0.00000000 0.33026314 a 23 $ VANADIUM (14s,8p,5d) -> [5s,2p,2d] $ VANADIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 47160.37606 0.00144987 0.00000000 0.00000000 0.00000000 0.00000000 7081.41108700 0.01110644 0.00000000 0.00000000 0.00000000 0.00000000 1611.16212200 0.05500542 0.00000000 0.00000000 0.00000000 0.00000000 454.72940550 0.19060253 0.00000000 0.00000000 0.00000000 0.00000000 147.71321210 0.38435023 0.00000000 0.00000000 0.00000000 0.00000000 50.69953895 0.29095547 0.00000000 0.00000000 0.00000000 0.00000000 98.26249267 0.00000000 -0.10942338 0.00000000 0.00000000 0.00000000 11.29429310 0.00000000 0.64539490 0.00000000 0.00000000 0.00000000 4.58533601 0.00000000 0.47117881 0.00000000 0.00000000 0.00000000 7.63596896 0.00000000 0.00000000 -0.22454949 0.00000000 0.00000000 1.25398367 0.00000000 0.00000000 0.72594853 0.00000000 0.00000000 0.53271935 0.00000000 0.00000000 0.45560583 0.00000000 0.00000000 0.07224624 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02735809 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 580.55044990 0.00973151 0.00000000 0.00000000 136.52341130 0.07153124 0.00000000 0.00000000 42.98395882 0.27197688 0.00000000 0.00000000 15.28279876 0.52618989 0.00000000 0.00000000 5.62024952 0.34452533 0.00000000 0.00000000 2.74853864 0.00000000 0.34040396 0.00000000 1.06185501 0.00000000 0.57983996 0.00000000 0.40235519 0.00000000 0.23911643 0.00000000 0.11124800 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 27.35843402 0.02664193 0.00000000 7.45406042 0.13995312 0.00000000 2.46339178 0.35751067 0.00000000 0.82480925 0.48488354 0.00000000 0.25257905 0.00000000 0.32332845 a 24 $ CHROMIUM (14s,8p,5d) -> [5s,2p,2d] $ CHROMIUM (1p) $ S-TYPE FUNCTIONS 14 5 0 51528.08635 0.00144058 0.00000000 0.00000000 0.00000000 0.00000000 7737.21034900 0.01103620 0.00000000 0.00000000 0.00000000 0.00000000 1760.37484700 0.05467665 0.00000000 0.00000000 0.00000000 0.00000000 496.87706540 0.18965038 0.00000000 0.00000000 0.00000000 0.00000000 161.46520600 0.38295413 0.00000000 0.00000000 0.00000000 0.00000000 55.46635227 0.29090051 0.00000000 0.00000000 0.00000000 0.00000000 107.54733000 0.00000000 -0.10932281 0.00000000 0.00000000 0.00000000 12.40867190 0.00000000 0.64472599 0.00000000 0.00000000 0.00000000 5.04236288 0.00000000 0.46262713 0.00000000 0.00000000 0.00000000 8.54616402 0.00000000 0.00000000 -0.22711013 0.00000000 0.00000000 1.39004412 0.00000000 0.00000000 0.73301528 0.00000000 0.00000000 0.56066603 0.00000000 0.00000000 0.44225565 0.00000000 0.00000000 0.07148371 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02825069 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 640.48536100 0.00961267 0.00000000 0.00000000 150.69711190 0.07088983 0.00000000 0.00000000 47.50375530 0.27065259 0.00000000 0.00000000 16.93412017 0.52437343 0.00000000 0.00000000 6.24096806 0.34107995 0.00000000 0.00000000 3.08854632 0.00000000 0.33973987 0.00000000 1.17910478 0.00000000 0.57272063 0.00000000 0.43369774 0.00000000 0.24582728 0.00000000 0.12067500 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 27.55947943 0.03061249 0.00000000 7.46870203 0.15593271 0.00000000 2.43459036 0.36984421 0.00000000 0.78244755 0.47071118 0.00000000 0.21995774 0.00000000 0.33941650 a 25 $ MANGANESE (14s,8p,5d) -> [5s,2p,2d] $ MANGANESE (1p) $ S-TYPE FUNCTIONS 14 5 0 56137.00904 0.00143213 0.00000000 0.00000000 0.00000000 0.00000000 8429.20639400 0.01097251 0.00000000 0.00000000 0.00000000 0.00000000 1917.82772300 0.05438247 0.00000000 0.00000000 0.00000000 0.00000000 541.36230200 0.18884335 0.00000000 0.00000000 0.00000000 0.00000000 176.00069140 0.38198025 0.00000000 0.00000000 0.00000000 0.00000000 60.50047701 0.29156773 0.00000000 0.00000000 0.00000000 0.00000000 117.17282880 0.00000000 -0.10933661 0.00000000 0.00000000 0.00000000 13.59697337 0.00000000 0.64305039 0.00000000 0.00000000 0.00000000 5.54839963 0.00000000 0.45848971 0.00000000 0.00000000 0.00000000 9.46628535 0.00000000 0.00000000 -0.22538977 0.00000000 0.00000000 1.55950061 0.00000000 0.00000000 0.72307759 0.00000000 0.00000000 0.65230206 0.00000000 0.00000000 0.45300722 0.00000000 0.00000000 0.08400373 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03125610 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 706.00497540 0.00950555 0.00000000 0.00000000 166.19728820 0.07035627 0.00000000 0.00000000 52.45206191 0.27005557 0.00000000 0.00000000 18.74693286 0.52574345 0.00000000 0.00000000 6.92829916 0.34254033 0.00000000 0.00000000 3.47722049 0.00000000 0.33994074 0.00000000 1.34069065 0.00000000 0.57203836 0.00000000 0.50498803 0.00000000 0.23847606 0.00000000 0.12765000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 35.42326493 0.02698530 0.00000000 9.78142215 0.14383459 0.00000000 3.26734888 0.36418958 0.00000000 1.10264722 0.48152671 0.00000000 0.33743206 0.00000000 0.31458754 a 26 $ IRON (14s,8p,5d) -> [5s,2p,2d] $ IRON (1p) $ S-TYPE FUNCTIONS 14 5 0 60923.64064 0.00143023 0.00000000 0.00000000 0.00000000 0.00000000 9147.88939800 0.01095879 0.00000000 0.00000000 0.00000000 0.00000000 2081.35059300 0.05433255 0.00000000 0.00000000 0.00000000 0.00000000 587.55977070 0.18884995 0.00000000 0.00000000 0.00000000 0.00000000 191.09043990 0.38253070 0.00000000 0.00000000 0.00000000 0.00000000 65.73273011 0.29308336 0.00000000 0.00000000 0.00000000 0.00000000 127.25891930 0.00000000 -0.10964565 0.00000000 0.00000000 0.00000000 14.83091301 0.00000000 0.64387631 0.00000000 0.00000000 0.00000000 6.06533074 0.00000000 0.45472347 0.00000000 0.00000000 0.00000000 10.44994371 0.00000000 0.00000000 -0.22539640 0.00000000 0.00000000 1.72452280 0.00000000 0.00000000 0.72164398 0.00000000 0.00000000 0.71772177 0.00000000 0.00000000 0.44985493 0.00000000 0.00000000 0.09144983 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03370669 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 773.43750990 0.00943257 0.00000000 0.00000000 182.15149710 0.07002962 0.00000000 0.00000000 57.54727276 0.26993652 0.00000000 0.00000000 20.61498894 0.52700011 0.00000000 0.00000000 7.63485579 0.34284148 0.00000000 0.00000000 3.87193280 0.00000000 0.33974403 0.00000000 1.49247241 0.00000000 0.56842594 0.00000000 0.56061285 0.00000000 0.23649366 0.00000000 0.13491500 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 38.96813342 0.02787966 0.00000000 10.80006708 0.14858320 0.00000000 3.61364580 0.36905479 0.00000000 1.21299679 0.47745101 0.00000000 0.36524393 0.00000000 0.31418142 a 27 $ COBALT (14s,8p,5d) -> [5s,2p,2d] $ COBALT (1p) $ S-TYPE FUNCTIONS 14 5 0 65902.20826 0.00142846 0.00000000 0.00000000 0.00000000 0.00000000 9895.38960300 0.01094607 0.00000000 0.00000000 0.00000000 0.00000000 2251.43057900 0.05428595 0.00000000 0.00000000 0.00000000 0.00000000 635.61097080 0.18885179 0.00000000 0.00000000 0.00000000 0.00000000 206.78820680 0.38301635 0.00000000 0.00000000 0.00000000 0.00000000 71.17924297 0.29443551 0.00000000 0.00000000 0.00000000 0.00000000 137.77268040 0.00000000 -0.10990222 0.00000000 0.00000000 0.00000000 16.11807924 0.00000000 0.64455537 0.00000000 0.00000000 0.00000000 6.60303277 0.00000000 0.45116788 0.00000000 0.00000000 0.00000000 11.47991579 0.00000000 0.00000000 -0.22593847 0.00000000 0.00000000 1.89564263 0.00000000 0.00000000 0.72231409 0.00000000 0.00000000 0.78466232 0.00000000 0.00000000 0.44903812 0.00000000 0.00000000 0.09842577 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03594574 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 843.64358580 0.00938661 0.00000000 0.00000000 198.76386990 0.06988021 0.00000000 0.00000000 62.85496310 0.27037070 0.00000000 0.00000000 22.56284228 0.52904787 0.00000000 0.00000000 8.37132091 0.34357030 0.00000000 0.00000000 4.28587198 0.00000000 0.34027999 0.00000000 1.65080418 0.00000000 0.56693392 0.00000000 0.61834231 0.00000000 0.23617980 0.00000000 0.14130800 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 42.92786761 0.02848779 0.00000000 11.94253305 0.15206951 0.00000000 4.00464957 0.37310914 0.00000000 1.34131938 0.47549838 0.00000000 0.40015010 0.00000000 0.31346831 a 28 $ NICKEL (14s,8p,5d) -> [5s,2p,2d] $ NICKEL (1p) $ S-TYPE FUNCTIONS 14 5 0 71074.80321 0.00142604 0.00000000 0.00000000 0.00000000 0.00000000 10672.02094 0.01092824 0.00000000 0.00000000 0.00000000 0.00000000 2428.13890100 0.05421263 0.00000000 0.00000000 0.00000000 0.00000000 685.53595150 0.18874769 0.00000000 0.00000000 0.00000000 0.00000000 223.10072860 0.38324617 0.00000000 0.00000000 0.00000000 0.00000000 76.84201404 0.29550637 0.00000000 0.00000000 0.00000000 0.00000000 148.71122020 0.00000000 -0.11014443 0.00000000 0.00000000 0.00000000 17.45915499 0.00000000 0.64521427 0.00000000 0.00000000 0.00000000 7.16252807 0.00000000 0.44797838 0.00000000 0.00000000 0.00000000 12.55613713 0.00000000 0.00000000 -0.22645403 0.00000000 0.00000000 2.07357405 0.00000000 0.00000000 0.72320959 0.00000000 0.00000000 0.85382641 0.00000000 0.00000000 0.44868026 0.00000000 0.00000000 0.10536766 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03813409 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 916.73608660 0.00934396 0.00000000 0.00000000 216.06139910 0.06973737 0.00000000 0.00000000 68.38391482 0.27073495 0.00000000 0.00000000 24.59384395 0.53078302 0.00000000 0.00000000 9.13929602 0.34410229 0.00000000 0.00000000 4.71933717 0.00000000 0.34076082 0.00000000 1.81618492 0.00000000 0.56580170 0.00000000 0.67840751 0.00000000 0.23616717 0.00000000 0.14658800 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 47.09383211 0.02898232 0.00000000 13.14646397 0.15494996 0.00000000 4.41705489 0.37633115 0.00000000 1.47715651 0.47365096 0.00000000 0.43735922 0.00000000 0.31247838 a 29 $ COPPER (14s,8p,5d) -> [5s,2p,2d] $ COPPER (1p) $ S-TYPE FUNCTIONS 14 5 0 76381.34806 0.00143361 0.00000000 0.00000000 0.00000000 0.00000000 11468.77750 0.01098675 0.00000000 0.00000000 0.00000000 0.00000000 2609.42464900 0.05451365 0.00000000 0.00000000 0.00000000 0.00000000 736.75033100 0.18990128 0.00000000 0.00000000 0.00000000 0.00000000 239.82419960 0.38581959 0.00000000 0.00000000 0.00000000 0.00000000 82.65682925 0.29790607 0.00000000 0.00000000 0.00000000 0.00000000 160.13544200 0.00000000 -0.11146779 0.00000000 0.00000000 0.00000000 18.83417770 0.00000000 0.65349301 0.00000000 0.00000000 0.00000000 7.71765957 0.00000000 0.44770534 0.00000000 0.00000000 0.00000000 13.71084672 0.00000000 0.00000000 -0.22870911 0.00000000 0.00000000 2.23498957 0.00000000 0.00000000 0.73464423 0.00000000 0.00000000 0.87818360 0.00000000 0.00000000 0.43273071 0.00000000 0.00000000 0.08718746 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03296911 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 991.24075780 0.00938785 0.00000000 0.00000000 233.69376120 0.07020828 0.00000000 0.00000000 74.02093093 0.27323522 0.00000000 0.00000000 26.66496745 0.53580793 0.00000000 0.00000000 9.91920875 0.34575795 0.00000000 0.00000000 5.15195539 0.00000000 0.34229108 0.00000000 1.96382058 0.00000000 0.56456592 0.00000000 0.71560097 0.00000000 0.24078584 0.00000000 0.15506500 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 47.33504959 0.03237555 0.00000000 13.16166608 0.16810219 0.00000000 4.36937772 0.38477708 0.00000000 1.41329251 0.46147880 0.00000000 0.38878001 0.00000000 0.32388873 a 30 $ ZINC (13s,8p,5d) -> [5s,2p,2d] $ ZINC (1p) $ S-TYPE FUNCTIONS 14 5 0 82000.71163 0.00142108 0.00000000 0.00000000 0.00000000 0.00000000 12312.47178 0.01089150 0.00000000 0.00000000 0.00000000 0.00000000 2801.39441900 0.05405719 0.00000000 0.00000000 0.00000000 0.00000000 790.99424300 0.18847464 0.00000000 0.00000000 0.00000000 0.00000000 257.56551080 0.38346549 0.00000000 0.00000000 0.00000000 0.00000000 88.81493340 0.29723794 0.00000000 0.00000000 0.00000000 0.00000000 171.86353720 0.00000000 -0.11051850 0.00000000 0.00000000 0.00000000 20.30253478 0.00000000 0.64607717 0.00000000 0.00000000 0.00000000 8.34641231 0.00000000 0.44220117 0.00000000 0.00000000 0.00000000 14.84753694 0.00000000 0.00000000 -0.22705309 0.00000000 0.00000000 2.44950295 0.00000000 0.00000000 0.72433218 0.00000000 0.00000000 0.99845822 0.00000000 0.00000000 0.44836496 0.00000000 0.00000000 0.11891308 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04229743 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 3 0 1071.51853700 0.00927678 0.00000000 0.00000000 252.69712150 0.06954115 0.00000000 0.00000000 80.10082913 0.27156773 0.00000000 0.00000000 28.90339317 0.53401356 0.00000000 0.00000000 10.76889988 0.34501323 0.00000000 0.00000000 5.64462125 0.00000000 0.34129600 0.00000000 2.16782913 0.00000000 0.56390522 0.00000000 0.80540898 0.00000000 0.23676110 0.00000000 0.16245500 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 2 0 56.08893919 0.02958887 0.00000000 15.75190892 0.15872571 0.00000000 5.31158124 0.37976229 0.00000000 1.77379049 0.46898959 0.00000000 0.51975584 0.00000000 0.30907149 a 31 $ GALLIUM (14s,10p,5d) -> [5s,4p,2d] $ GALLIUM (1d) $ S-TYPE FUNCTIONS 14 5 0 87842.12630 0.00142716 0.00000000 0.00000000 0.00000000 0.00000000 13189.49640 0.01093889 0.00000000 0.00000000 0.00000000 0.00000000 3000.94821400 0.05430820 0.00000000 0.00000000 0.00000000 0.00000000 847.38425970 0.18951056 0.00000000 0.00000000 0.00000000 0.00000000 276.00980640 0.38615186 0.00000000 0.00000000 0.00000000 0.00000000 95.21667207 0.30051083 0.00000000 0.00000000 0.00000000 0.00000000 184.00703970 0.00000000 -0.11124462 0.00000000 0.00000000 0.00000000 21.82705143 0.00000000 0.64831323 0.00000000 0.00000000 0.00000000 9.00269638 0.00000000 0.44358384 0.00000000 0.00000000 0.00000000 16.03317694 0.00000000 0.00000000 -0.23014300 0.00000000 0.00000000 2.67077249 0.00000000 0.00000000 0.72946862 0.00000000 0.00000000 1.12528342 0.00000000 0.00000000 0.46214977 0.00000000 0.00000000 0.15967609 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05764304 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1167.26658400 0.00909740 0.00000000 0.00000000 0.00000000 275.38062790 0.06845627 0.00000000 0.00000000 0.00000000 87.37507307 0.26922294 0.00000000 0.00000000 0.00000000 31.59725467 0.53507898 0.00000000 0.00000000 0.00000000 11.82412280 0.35279063 0.00000000 0.00000000 0.00000000 6.28818451 0.00000000 0.33938245 0.00000000 0.00000000 2.51998532 0.00000000 0.56871948 0.00000000 0.00000000 1.01697263 0.00000000 0.27717695 0.00000000 0.00000000 0.24748374 0.00000000 0.00000000 1.00000000 0.00000000 0.06668529 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 65.35423767 0.02737015 0.00000000 0.00000000 18.50465675 0.15099464 0.00000000 0.00000000 6.31796206 0.37485329 0.00000000 0.00000000 2.16413894 0.47510607 0.00000000 0.00000000 0.66693093 0.00000000 0.29843287 0.00000000 0.20700000 0.00000000 0.00000000 1.00000000 a 32 $ GERMANIUM (14s,10p,5d) -> [5s,4p,2d] $ GERMANIUM (1d) $ S-TYPE FUNCTIONS 14 5 0 93889.83664 0.00142340 0.00000000 0.00000000 0.00000000 0.00000000 14097.49753 0.01091080 0.00000000 0.00000000 0.00000000 0.00000000 3207.54773100 0.05418371 0.00000000 0.00000000 0.00000000 0.00000000 905.76727270 0.18922820 0.00000000 0.00000000 0.00000000 0.00000000 295.11014690 0.38612847 0.00000000 0.00000000 0.00000000 0.00000000 101.84713140 0.30164051 0.00000000 0.00000000 0.00000000 0.00000000 196.56719660 0.00000000 -0.11118771 0.00000000 0.00000000 0.00000000 23.40529252 0.00000000 0.64616007 0.00000000 0.00000000 0.00000000 9.68391167 0.00000000 0.44188905 0.00000000 0.00000000 0.00000000 17.26973654 0.00000000 0.00000000 -0.23027421 0.00000000 0.00000000 2.89646222 0.00000000 0.00000000 0.73017169 0.00000000 0.00000000 1.25536214 0.00000000 0.00000000 0.46197222 0.00000000 0.00000000 0.20213081 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07386791 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1259.20860000 0.00901155 0.00000000 0.00000000 0.00000000 297.15626380 0.06798684 0.00000000 0.00000000 0.00000000 94.35338752 0.26853856 0.00000000 0.00000000 0.00000000 34.17632968 0.53659649 0.00000000 0.00000000 0.00000000 12.81613962 0.35633515 0.00000000 0.00000000 0.00000000 6.84710298 0.00000000 0.33900693 0.00000000 0.00000000 2.77173639 0.00000000 0.56809365 0.00000000 0.00000000 1.14584182 0.00000000 0.27246540 0.00000000 0.00000000 0.30679632 0.00000000 0.00000000 1.00000000 0.00000000 0.08928364 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 74.78216818 0.02575586 0.00000000 0.00000000 21.31084976 0.14536816 0.00000000 0.00000000 7.34647924 0.37134210 0.00000000 0.00000000 2.56562714 0.48002998 0.00000000 0.00000000 0.81981773 0.00000000 0.28978791 0.00000000 0.24600000 0.00000000 0.00000000 1.00000000 a 33 $ ARSENIC (14s,10p,5d) -> [5s,4p,2d] $ ARSENIC (1d) $ S-TYPE FUNCTIONS 14 5 0 100146.52550 0.00142583 0.00000000 0.00000000 0.00000000 0.00000000 15036.86171 0.01093018 0.00000000 0.00000000 0.00000000 0.00000000 3421.29028300 0.05429417 0.00000000 0.00000000 0.00000000 0.00000000 966.16965720 0.18976078 0.00000000 0.00000000 0.00000000 0.00000000 314.87394030 0.38775195 0.00000000 0.00000000 0.00000000 0.00000000 108.70823790 0.30402812 0.00000000 0.00000000 0.00000000 0.00000000 209.54238950 0.00000000 -0.11162094 0.00000000 0.00000000 0.00000000 25.03822114 0.00000000 0.64697608 0.00000000 0.00000000 0.00000000 10.39096434 0.00000000 0.44223609 0.00000000 0.00000000 0.00000000 18.55509009 0.00000000 0.00000000 -0.22994191 0.00000000 0.00000000 3.12812175 0.00000000 0.00000000 0.73319108 0.00000000 0.00000000 1.38848851 0.00000000 0.00000000 0.45533654 0.00000000 0.00000000 0.24714362 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09142943 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1355.64435100 0.00891825 0.00000000 0.00000000 0.00000000 319.99929270 0.06745475 0.00000000 0.00000000 0.00000000 101.67734090 0.26759772 0.00000000 0.00000000 0.00000000 36.88632384 0.53776845 0.00000000 0.00000000 0.00000000 13.86111591 0.35992570 0.00000000 0.00000000 0.00000000 7.42606669 0.00000000 0.34036850 0.00000000 0.00000000 3.03162472 0.00000000 0.57030149 0.00000000 0.00000000 1.27830783 0.00000000 0.26606170 0.00000000 0.00000000 0.37568503 0.00000000 0.00000000 1.00000000 0.00000000 0.11394805 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 84.44551454 0.02451840 0.00000000 0.00000000 24.19041610 0.14107455 0.00000000 0.00000000 8.40450151 0.36875229 0.00000000 0.00000000 2.98089708 0.48409561 0.00000000 0.00000000 0.97909243 0.00000000 0.28250269 0.00000000 0.29300000 0.00000000 0.00000000 1.00000000 a 34 $ SELENIUM (14s,10p,5d) -> [5s,4p,2d] $ SELENIUM (1d) $ S-TYPE FUNCTIONS 14 5 0 106612.20030 0.00142749 0.00000000 0.00000000 0.00000000 0.00000000 16007.60470 0.01094353 0.00000000 0.00000000 0.00000000 0.00000000 3642.16997100 0.05437417 0.00000000 0.00000000 0.00000000 0.00000000 1028.59129900 0.19018093 0.00000000 0.00000000 0.00000000 0.00000000 335.30298890 0.38913022 0.00000000 0.00000000 0.00000000 0.00000000 115.80129150 0.30620207 0.00000000 0.00000000 0.00000000 0.00000000 222.93325020 0.00000000 -0.11198808 0.00000000 0.00000000 0.00000000 26.72625793 0.00000000 0.64752124 0.00000000 0.00000000 0.00000000 11.12450192 0.00000000 0.44241977 0.00000000 0.00000000 0.00000000 19.88852006 0.00000000 0.00000000 -0.22857228 0.00000000 0.00000000 3.36684738 0.00000000 0.00000000 0.73591360 0.00000000 0.00000000 1.52492778 0.00000000 0.00000000 0.44330200 0.00000000 0.00000000 0.29630038 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11009289 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1455.90681200 0.00882036 0.00000000 0.00000000 0.00000000 343.75101830 0.06687585 0.00000000 0.00000000 0.00000000 109.29554960 0.26640578 0.00000000 0.00000000 0.00000000 39.70771102 0.53834928 0.00000000 0.00000000 0.00000000 14.95018523 0.36303282 0.00000000 0.00000000 0.00000000 8.02089621 0.00000000 0.34153807 0.00000000 0.00000000 3.29346498 0.00000000 0.57257907 0.00000000 0.00000000 1.40586024 0.00000000 0.25549813 0.00000000 0.00000000 0.45076123 0.00000000 0.00000000 1.00000000 0.00000000 0.13353413 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 94.49402404 0.02349010 0.00000000 0.00000000 27.18818526 0.13747736 0.00000000 0.00000000 9.50915673 0.36649929 0.00000000 0.00000000 3.41705169 0.48750990 0.00000000 0.00000000 1.14795901 0.00000000 0.27657943 0.00000000 0.33800000 0.00000000 0.00000000 1.00000000 a 35 $ BROMINE (14s,10p,5d) -> [5s,4p,2d] $ BROMINE (1d) $ S-TYPE FUNCTIONS 14 5 0 113286.38780 0.00142830 0.00000000 0.00000000 0.00000000 0.00000000 17009.62630 0.01095042 0.00000000 0.00000000 0.00000000 0.00000000 3870.18425700 0.05442101 0.00000000 0.00000000 0.00000000 0.00000000 1093.03572300 0.19047908 0.00000000 0.00000000 0.00000000 0.00000000 356.39721800 0.39024643 0.00000000 0.00000000 0.00000000 0.00000000 123.12539640 0.30814433 0.00000000 0.00000000 0.00000000 0.00000000 236.74084010 0.00000000 -0.11228066 0.00000000 0.00000000 0.00000000 28.46866107 0.00000000 0.64775962 0.00000000 0.00000000 0.00000000 11.88344372 0.00000000 0.44235576 0.00000000 0.00000000 0.00000000 21.26963331 0.00000000 0.00000000 -0.22642576 0.00000000 0.00000000 3.61292268 0.00000000 0.00000000 0.73823712 0.00000000 0.00000000 1.66266490 0.00000000 0.00000000 0.42683869 0.00000000 0.00000000 0.34823793 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13019031 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1560.28018800 0.00871667 0.00000000 0.00000000 0.00000000 368.47859200 0.06624364 0.00000000 0.00000000 0.00000000 117.22978850 0.26495610 0.00000000 0.00000000 0.00000000 42.64890925 0.53839161 0.00000000 0.00000000 0.00000000 16.08722510 0.36579388 0.00000000 0.00000000 0.00000000 8.63528101 0.00000000 0.34248787 0.00000000 0.00000000 3.56136655 0.00000000 0.57500678 0.00000000 0.00000000 1.52926266 0.00000000 0.24330394 0.00000000 0.00000000 0.53064295 0.00000000 0.00000000 1.00000000 0.00000000 0.15702759 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 104.85518640 0.02265015 0.00000000 0.00000000 30.28114369 0.13455483 0.00000000 0.00000000 10.65139427 0.36474455 0.00000000 0.00000000 3.86994562 0.49044587 0.00000000 0.00000000 1.32408768 0.00000000 0.27137289 0.00000000 0.38900000 0.00000000 0.00000000 1.00000000 a 36 $ KRYPTON (14s,10p,5d) -> [5s,4p,2d] $ KRYPTON (1d) $ S-TYPE FUNCTIONS 14 5 0 120165.64880 0.00142942 0.00000000 0.00000000 0.00000000 0.00000000 18042.50017 0.01095960 0.00000000 0.00000000 0.00000000 0.00000000 4105.18003900 0.05447965 0.00000000 0.00000000 0.00000000 0.00000000 1159.44472500 0.19081239 0.00000000 0.00000000 0.00000000 0.00000000 378.13810350 0.39140446 0.00000000 0.00000000 0.00000000 0.00000000 130.67610050 0.31007347 0.00000000 0.00000000 0.00000000 0.00000000 250.96373350 0.00000000 -0.11258604 0.00000000 0.00000000 0.00000000 30.26593038 0.00000000 0.64816323 0.00000000 0.00000000 0.00000000 12.66811076 0.00000000 0.44240239 0.00000000 0.00000000 0.00000000 22.69794010 0.00000000 0.00000000 -0.22391965 0.00000000 0.00000000 3.86730174 0.00000000 0.00000000 0.74060953 0.00000000 0.00000000 1.80137067 0.00000000 0.00000000 0.40803658 0.00000000 0.00000000 0.40308639 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15170528 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 4 0 1668.57366200 0.00862150 0.00000000 0.00000000 0.00000000 394.13862800 0.06566551 0.00000000 0.00000000 0.00000000 125.46644850 0.26366577 0.00000000 0.00000000 0.00000000 45.70499273 0.53867659 0.00000000 0.00000000 0.00000000 17.27013323 0.36865168 0.00000000 0.00000000 0.00000000 9.26994878 0.00000000 0.34346189 0.00000000 0.00000000 3.83646177 0.00000000 0.57784776 0.00000000 0.00000000 1.64671633 0.00000000 0.23075615 0.00000000 0.00000000 0.61479686 0.00000000 0.00000000 1.00000000 0.00000000 0.18319467 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 115.55868600 0.02194549 0.00000000 0.00000000 33.47798586 0.13211213 0.00000000 0.00000000 11.83445021 0.36333307 0.00000000 0.00000000 4.34082549 0.49300484 0.00000000 0.00000000 1.50792732 0.00000000 0.26676859 0.00000000 0.44300000 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/Ahlrichs-VTZ0000775000175000017500000015733112743400275012523 00000000000000$Ahlrichs VTZ $ $ REFERENCE $ Elements References -------- $ ---------- H - Kr: A. Schafer, H. Horn and R. Ahlrichs, J. Chem. Phys $ . 97, 2571 (1992). a 1 $ HYDROGEN (5s) -> [3s] $ S-TYPE FUNCTIONS 5 3 0 34.0613410 0.00602520 0.00000000 0.00000000 5.1235746 0.04502109 0.00000000 0.00000000 1.1646626 0.20189726 0.00000000 0.00000000 0.3272304 0.00000000 1.00000000 0.00000000 0.1030724 0.00000000 0.00000000 1.00000000 a 2 $ HELIUM (5s) -> [3s] $ S-TYPE FUNCTIONS 5 3 0 98.0783216 0.00758031 0.00000000 0.00000000 14.7644042 0.05484862 0.00000000 0.00000000 3.3185831 0.22074382 0.00000000 0.00000000 0.8741387 0.00000000 1.00000000 0.00000000 0.2445990 0.00000000 0.00000000 1.00000000 a 3 $ LITHIUM (10s) -> [6s] $ S-TYPE FUNCTIONS 10 6 0 3341.4028812 0.00068826 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 500.9515931 0.00532964 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 114.0110311 0.02756437 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.2654731 0.10988243 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.4720585 0.33943049 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.6978284 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.3712085 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5190846 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0745329 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0282336 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (10s) -> [6s] $ S-TYPE FUNCTIONS 10 6 0 6526.1477796 0.00043732 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 978.3549642 0.00338821 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 222.6586576 0.01756309 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.0130283 0.07058048 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.4687202 0.22263836 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.2692487 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.7393701 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0615791 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1815844 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0588268 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 5 $ BORON (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 5658.4992000 0.00055208 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 848.6970300 0.00426514 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 193.1365600 0.02185317 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.5863170 0.08457068 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.6001260 0.24304764 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.1269618 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.2245270 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5565035 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2387623 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0857940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 22.4558020 -0.00502606 0.00000000 0.00000000 5.1030675 -0.03282698 0.00000000 0.00000000 1.4984096 -0.13140941 0.00000000 0.00000000 0.5098907 -0.33125264 0.00000000 0.00000000 0.1819135 0.00000000 1.00000000 0.00000000 0.0648272 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 8506.0384000 0.00053374 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1275.7329000 0.00412502 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 290.3118700 0.02117134 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 82.0562000 0.08241786 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.4796410 0.24012858 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.2414585 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.3643530 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8717416 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3635235 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1287314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 34.7094960 0.00533010 0.00000000 0.00000000 7.9590883 0.03586581 0.00000000 0.00000000 2.3786972 0.14200299 0.00000000 0.00000000 0.8154007 0.34203105 0.00000000 0.00000000 0.2895378 0.00000000 1.00000000 0.00000000 0.1008475 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 11913.4167560 -0.00052297 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1786.7213834 -0.00404284 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 406.5901283 -0.02077272 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 114.9252507 -0.08118314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.1058834 -0.23871497 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.9716762 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.7302291 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.2525184 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5126007 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1793971 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 49.2187584 0.00555270 0.00000000 0.00000000 11.3489353 0.03805462 0.00000000 0.00000000 3.4285088 0.14941412 0.00000000 0.00000000 1.1799513 0.34898187 0.00000000 0.00000000 0.4172612 0.00000000 1.00000000 0.00000000 0.1429513 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 15902.6474590 0.00051500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2384.9537829 0.00398198 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 542.7195718 0.02047697 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 153.4040787 0.08026237 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.5457161 0.23766840 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.3396499 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.3303355 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.6995882 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.6895449 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2393603 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 63.2705240 0.00607092 0.00000000 0.00000000 14.6233123 0.04194769 0.00000000 0.00000000 4.4489518 0.16156884 0.00000000 0.00000000 1.5281513 0.35682779 0.00000000 0.00000000 0.5299732 0.00000000 1.00000000 0.00000000 0.1750945 0.00000000 0.00000000 1.00000000 a 9 $ FLUORINE (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 20450.4890000 0.00051103 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3066.9547000 0.00395188 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 697.9100300 0.02033455 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 197.2702000 0.07987648 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.7283430 0.23775601 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.3218090 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.1557609 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.2114295 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.8903857 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3069660 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 80.2180200 0.00637445 0.00000000 0.00000000 18.5872810 0.04436019 0.00000000 0.00000000 5.6844581 0.16880038 0.00000000 0.00000000 1.9512781 0.36162979 0.00000000 0.00000000 0.6702411 0.00000000 1.00000000 0.00000000 0.2168225 0.00000000 0.00000000 1.00000000 a 10 $ NEON (10s,6p) -> [6s,3p] $ S-TYPE FUNCTIONS 10 6 0 25558.3983200 -0.00050573 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3832.9404804 -0.00391125 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 872.2107378 -0.02013482 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 246.5375541 -0.07922343 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 79.6583949 -0.23675798 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 27.9197996 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.2071317 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.7883187 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.1153995 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3823401 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 99.7609664 0.00656487 0.00000000 0.00000000 23.1676890 0.04595815 0.00000000 0.00000000 7.1133899 0.17349981 0.00000000 0.00000000 2.4418574 0.36486075 0.00000000 0.00000000 0.8344206 0.00000000 1.00000000 0.00000000 0.2663988 0.00000000 0.00000000 1.00000000 a 11 $ SODIUM (12s,6p) -> [7s,2p] $ S-TYPE FUNCTIONS 12 7 0 48876.1981470 0.00030496 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 7327.2863708 0.00236328 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1667.4194652 0.01226845 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 471.5810120 0.04962518 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 152.9366981 0.15949592 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 54.3558555 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 20.7652228 0.00000000 0.00000000 0.40072046 0.00000000 0.00000000 0.00000000 0.0000000 8.3599496 0.00000000 0.00000000 0.18337373 0.00000000 0.00000000 0.00000000 0.0000000 2.1480946 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.6881941 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.0604771 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0271341 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 6 2 0 137.9625476 0.00592646 0.00000000 32.2091054 0.04254399 0.00000000 9.9746379 0.16644535 0.00000000 3.4780930 0.36814915 0.00000000 1.2284372 0.45781035 0.00000000 0.4173194 0.00000000 1.00000000 a 12 $ MAGNESIUM (12s,6p) -> [7s,2p] $ S-TYPE FUNCTIONS 12 7 0 58088.3497780 0.00029218 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 8708.1180998 0.00226442 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1981.6224182 0.01175604 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 560.4398600 0.04756994 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 181.7297611 0.15308048 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 64.6033357 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 24.7421447 0.00000000 0.00000000 0.39883561 0.00000000 0.00000000 0.00000000 0.0000000 10.0246647 0.00000000 0.00000000 0.18188815 0.00000000 0.00000000 0.00000000 0.0000000 2.6947441 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.9114525 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.1068967 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0400916 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 6 2 0 179.8337272 0.00538198 0.00000000 42.1130967 0.03932575 0.00000000 13.1173538 0.15749044 0.00000000 4.6229435 0.35940561 0.00000000 1.6685786 0.45516230 0.00000000 0.5854780 0.00000000 0.21970492 a 14 $ SILICON (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 79079.4340000 0.00026431 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 11855.0100000 0.00204851 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 2697.7051000 0.01063724 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 762.8722700 0.04308248 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 247.2845500 0.13898279 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 87.9312400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 33.8232840 0.00000000 0.00000000 0.44071543 0.00000000 0.00000000 0.00000000 0.0000000 13.8681080 0.00000000 0.00000000 0.20091165 0.00000000 0.00000000 0.00000000 0.0000000 3.9920017 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 1.4659925 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.2527109 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.0924917 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 483.0235200 0.00191615 0.00000000 0.00000000 0.00000000 0.00000000 114.2508100 0.01530977 0.00000000 0.00000000 0.00000000 0.00000000 36.3877860 0.07109436 0.00000000 0.00000000 0.00000000 0.00000000 13.4117040 0.21243244 0.00000000 0.00000000 0.00000000 0.00000000 5.2884033 0.38976302 0.00000000 0.00000000 0.00000000 0.00000000 2.1374219 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8646846 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2548986 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0793970 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 91049.0495250 0.00025380 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 13649.2488640 0.00196712 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 3105.9432074 0.01021606 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 878.2598263 0.04139916 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 284.6339291 0.13375415 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 101.2061001 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 38.9778414 0.00000000 0.00000000 0.45416113 0.00000000 0.00000000 0.00000000 0.0000000 16.0484941 0.00000000 0.00000000 0.20742198 0.00000000 0.00000000 0.00000000 0.0000000 4.7225339 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 1.7825222 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.3396297 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.1233386 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 528.4438933 -0.00228152 0.00000000 0.00000000 0.00000000 0.00000000 124.9714995 -0.01818364 0.00000000 0.00000000 0.00000000 0.00000000 39.7957092 -0.08394070 0.00000000 0.00000000 0.00000000 0.00000000 14.6575450 -0.24604714 0.00000000 0.00000000 0.00000000 0.00000000 5.7578893 -0.43655668 0.00000000 0.00000000 0.00000000 0.00000000 2.3123201 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.8899378 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3046715 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1007815 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 103953.9500000 0.00024743 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 15583.7860000 0.00191777 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 3546.1293000 0.00996100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1002.6808000 0.04038643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 324.9028800 0.13067523 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 115.5122500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 44.5282100 0.00000000 0.00000000 0.50403551 0.00000000 0.00000000 0.00000000 0.0000000 18.3978920 0.00000000 0.00000000 0.23068051 0.00000000 0.00000000 0.00000000 0.0000000 5.5100683 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 2.1259867 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.4369189 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.1573085 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 606.6936700 0.00232296 0.00000000 0.00000000 0.00000000 0.00000000 143.5069600 0.01857053 0.00000000 0.00000000 0.00000000 0.00000000 45.7461600 0.08603274 0.00000000 0.00000000 0.00000000 0.00000000 16.8729120 0.25248431 0.00000000 0.00000000 0.00000000 0.00000000 6.6399196 0.44632742 0.00000000 0.00000000 0.00000000 0.00000000 2.6727135 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0000089 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3543894 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1167131 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 117805.7900000 0.00024181 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 17660.2650000 0.00187427 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 4018.5973000 0.00973629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1136.2231000 0.03949475 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 368.1206200 0.12797166 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 130.8615400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 50.4790110 0.00000000 0.00000000 0.42874094 0.00000000 0.00000000 0.00000000 0.0000000 20.9168050 0.00000000 0.00000000 0.19668493 0.00000000 0.00000000 0.00000000 0.0000000 6.3531388 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 2.4948014 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.5433595 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.1943437 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 681.0687900 0.00236589 0.00000000 0.00000000 0.00000000 0.00000000 161.1135900 0.01894072 0.00000000 0.00000000 0.00000000 0.00000000 51.3866370 0.08784513 0.00000000 0.00000000 0.00000000 0.00000000 18.9585120 0.25707435 0.00000000 0.00000000 0.00000000 0.00000000 3.0035158 0.37152361 0.00000000 0.00000000 0.00000000 0.00000000 7.4565293 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0609361 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3945202 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1332328 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (12s,9p) -> [7s,5p] $ S-TYPE FUNCTIONS 12 7 0 132594.7425500 0.00025484 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 19877.2100510 0.00197533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 4523.0525989 0.01026246 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1278.8031045 0.04164867 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 414.2561894 0.13513377 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 147.2419411 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 56.8261554 0.00000000 0.00000000 0.45141633 0.00000000 0.00000000 0.00000000 0.0000000 23.6040860 0.00000000 0.00000000 0.20758832 0.00000000 0.00000000 0.00000000 0.0000000 7.2524952 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 2.8892980 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.6588798 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.2343956 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 $ P-TYPE FUNCTIONS 9 5 0 828.3396980 0.00217730 0.00000000 0.00000000 0.00000000 0.00000000 196.0651076 0.01759744 0.00000000 0.00000000 0.00000000 0.00000000 62.6812276 0.08290592 0.00000000 0.00000000 0.00000000 0.00000000 23.2250778 0.24934103 0.00000000 0.00000000 0.00000000 0.00000000 9.2167815 0.45327281 0.00000000 0.00000000 0.00000000 0.00000000 3.7595533 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.4316786 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5129827 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1682149 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 19 $ POTASSIUM (14s,9p) -> [8s,5p] $ S-TYPE FUNCTIONS 14 8 0 182594.2732400 -0.00022775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 27369.0049860 -0.00176640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 6229.1737971 -0.00919497 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1764.5823486 -0.03745508 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 577.0512059 -0.12204454 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 210.2493336 -0.29898972 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 82.6178306 0.00000000 -0.40514697 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 33.2331845 0.00000000 -0.29253151 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 8.1064902 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3.3340259 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.8455442 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.3282163 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0364035 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0176463 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 891.0544687 0.00218429 0.00000000 0.00000000 0.00000000 0.00000000 211.0158200 0.01758911 0.00000000 0.00000000 0.00000000 0.00000000 67.6714124 0.08177747 0.00000000 0.00000000 0.00000000 0.00000000 25.2714881 0.00000000 0.24565632 0.00000000 0.00000000 0.00000000 10.1389590 0.00000000 0.43398377 0.00000000 0.00000000 0.00000000 4.2018627 0.00000000 0.36237665 0.00000000 0.00000000 0.00000000 1.6029467 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.6146125 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2219930 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 20 $ CALCIUM (14s,9p) -> [8s,5p] $ S-TYPE FUNCTIONS 14 8 0 202698.9551900 0.00022296 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 30382.4659150 0.00172932 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 6915.0833150 0.00900226 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1959.0210984 0.03666989 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 640.9360207 0.11940987 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 233.9769684 0.29182526 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 92.2891983 0.00000000 0.40441528 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 37.2544799 0.00000000 0.29631289 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 9.1319843 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3.8177858 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.0493475 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.4286599 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0628226 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0260162 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1019.7607638 -0.00205986 0.00000000 0.00000000 0.00000000 0.00000000 241.5963076 -0.01665008 0.00000000 0.00000000 0.00000000 0.00000000 77.6370121 -0.07776460 0.00000000 0.00000000 0.00000000 0.00000000 29.1154194 0.00000000 -0.24180561 0.00000000 0.00000000 0.00000000 11.7625936 0.00000000 -0.43257799 0.00000000 0.00000000 0.00000000 4.9228924 0.00000000 -0.36732482 0.00000000 0.00000000 0.00000000 1.9223257 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.7579620 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2843020 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 21 $ SCANDIUM (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 224356.9429700 0.00021996 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 33628.7060600 0.00170604 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 7654.0171483 0.00888153 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2168.4396566 0.03618370 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 709.6266386 0.11783927 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 259.3173133 0.28791645 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 102.4780376 0.00000000 0.36705139 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 41.4431397 0.00000000 0.27161996 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 10.2018556 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 4.3044983 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.2219457 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.4972518 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0727281 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0293938 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1154.9909592 0.00201027 0.00000000 0.00000000 0.00000000 0.00000000 273.7049661 0.01630507 0.00000000 0.00000000 0.00000000 0.00000000 88.0693273 0.07652789 0.00000000 0.00000000 0.00000000 0.00000000 33.1107600 0.00000000 0.23950904 0.00000000 0.00000000 0.00000000 13.4364408 0.00000000 0.43235380 0.00000000 0.00000000 0.00000000 5.6580985 0.00000000 0.36969429 0.00000000 0.00000000 0.00000000 2.2436704 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.8879800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3328241 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 19.2385240 0.02705466 0.00000000 0.00000000 5.1173306 0.13813250 0.00000000 0.00000000 1.6549884 0.34895303 0.00000000 0.00000000 0.5401760 0.00000000 1.00000000 0.00000000 0.1621063 0.00000000 0.00000000 1.00000000 a 22 $ TITANIUM (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 247254.2047200 -0.00022396 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 37060.7475770 -0.00173712 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 8435.1700312 -0.00904390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2389.8299020 -0.03685082 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 782.2311987 -0.12004208 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 286.0677641 -0.29336894 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 113.2064433 0.00000000 -0.39817815 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 45.8457204 0.00000000 -0.29713034 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 11.3285248 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 4.8125219 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.3957659 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.5632790 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0805130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0319265 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1298.4162107 0.00202474 0.00000000 0.00000000 0.00000000 0.00000000 307.7562578 0.01647259 0.00000000 0.00000000 0.00000000 0.00000000 99.1312339 0.07766728 0.00000000 0.00000000 0.00000000 0.00000000 37.3453056 0.00000000 0.24328820 0.00000000 0.00000000 0.00000000 15.2107126 0.00000000 0.44259359 0.00000000 0.00000000 0.00000000 6.4368981 0.00000000 0.38049636 0.00000000 0.00000000 0.00000000 2.5843929 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.0229993 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.3823396 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 23.4657510 0.02654283 0.00000000 0.00000000 6.3332301 0.13802285 0.00000000 0.00000000 2.0764080 0.35327843 0.00000000 0.00000000 0.6904116 0.00000000 1.00000000 0.00000000 0.2109252 0.00000000 0.00000000 1.00000000 a 23 $ VANADIUM (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 271348.1594400 0.00021967 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 40672.0050780 0.00170386 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 9257.0761385 0.00887137 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2622.7328773 0.03615432 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 858.5948019 0.11780891 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 314.1941865 0.28802536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 124.4786213 0.00000000 0.42757917 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 50.4693993 0.00000000 0.32144231 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 12.5138469 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 5.3447758 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.5755631 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.6306903 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0879544 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0342969 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1450.0319327 -0.00195174 0.00000000 0.00000000 0.00000000 0.00000000 343.7504988 -0.01592201 0.00000000 0.00000000 0.00000000 0.00000000 110.8252171 -0.07538526 0.00000000 0.00000000 0.00000000 0.00000000 41.8224645 0.00000000 -0.23665641 0.00000000 0.00000000 0.00000000 17.0880737 0.00000000 -0.43346920 0.00000000 0.00000000 0.00000000 7.2613219 0.00000000 -0.37433001 0.00000000 0.00000000 0.00000000 2.9458145 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.1650210 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.4339938 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 27.3603359 0.02664427 0.00000000 0.00000000 7.4542766 0.13999436 0.00000000 0.00000000 2.4632270 0.35761186 0.00000000 0.00000000 0.8249954 0.00000000 1.00000000 0.00000000 0.2526297 0.00000000 0.00000000 1.00000000 a 24 $ CHROMIUM (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 296910.3817500 0.00021632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 44503.2979810 0.00167789 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 10129.0837310 0.00873677 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2869.8125395 0.03561401 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 939.5285183 0.11612082 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 343.8766756 0.28429366 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 136.2724208 0.00000000 0.39618805 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 55.2749359 0.00000000 0.29934143 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 13.7537151 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 5.8893064 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.7366782 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.6761902 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.0921876 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0361201 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1608.8743670 0.00193645 0.00000000 0.00000000 0.00000000 0.00000000 381.4298701 0.01583901 0.00000000 0.00000000 0.00000000 0.00000000 123.0192684 0.07535015 0.00000000 0.00000000 0.00000000 0.00000000 46.4467821 0.00000000 0.23949451 0.00000000 0.00000000 0.00000000 19.0034948 0.00000000 0.44099403 0.00000000 0.00000000 0.00000000 8.0889965 0.00000000 0.38019976 0.00000000 0.00000000 0.00000000 3.3013704 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.2877624 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.4654684 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 27.5467337 0.03063326 0.00000000 0.00000000 7.4647941 0.15604066 0.00000000 0.00000000 2.4327524 0.37003058 0.00000000 0.00000000 0.7818782 0.00000000 1.00000000 0.00000000 0.2197738 0.00000000 0.00000000 1.00000000 a 25 $ MANGANESE (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 323081.7447500 -0.00021859 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 48425.9871470 -0.00169554 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 11021.9284210 -0.00882905 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3122.8651683 -0.03599386 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1022.5702211 -0.11736441 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 374.5666773 -0.28725943 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 148.6501395 0.00000000 -0.38025988 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 60.3790568 0.00000000 -0.28945411 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 15.0612890 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 6.4827687 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.9535131 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.7701785 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1019203 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0386197 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1777.8786824 -0.00193316 0.00000000 0.00000000 0.00000000 0.00000000 421.5775418 -0.01584401 0.00000000 0.00000000 0.00000000 0.00000000 136.1133400 -0.07556898 0.00000000 0.00000000 0.00000000 0.00000000 51.5067786 0.00000000 -0.23597435 0.00000000 0.00000000 0.00000000 21.1532254 0.00000000 -0.43718792 0.00000000 0.00000000 0.00000000 9.0477144 0.00000000 -0.38024193 0.00000000 0.00000000 0.00000000 3.7308564 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.4705332 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.5439184 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 35.4248166 0.02827075 0.00000000 0.00000000 9.7813282 0.15071665 0.00000000 0.00000000 3.2670713 0.38158552 0.00000000 0.00000000 1.1028272 0.00000000 1.00000000 0.00000000 0.3374809 0.00000000 0.00000000 1.00000000 a 26 $ IRON (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 350644.1260700 0.00021930 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 52557.1044770 0.00170109 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 11962.1576030 0.00885852 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3389.2987902 0.03611937 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1109.9409814 0.11780528 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 406.7589212 0.28846626 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 161.5541920 0.00000000 0.38162019 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 65.6752112 0.00000000 0.29212575 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 16.4257132 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 7.0930282 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.1594285 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.8477135 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1107950 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0413168 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 1953.6045319 0.00193816 0.00000000 0.00000000 0.00000000 0.00000000 463.2931407 0.01591620 0.00000000 0.00000000 0.00000000 0.00000000 149.6749333 0.07614915 0.00000000 0.00000000 0.00000000 0.00000000 56.7071120 0.00000000 0.23624430 0.00000000 0.00000000 0.00000000 23.3410289 0.00000000 0.43978885 0.00000000 0.00000000 0.00000000 10.0113932 0.00000000 0.38362586 0.00000000 0.00000000 0.00000000 4.1564020 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.6369583 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.6037630 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 38.9664424 0.02788407 0.00000000 0.00000000 10.7989709 0.14863135 0.00000000 0.00000000 3.6129748 0.36912959 0.00000000 0.00000000 1.2130286 0.00000000 1.00000000 0.00000000 0.3652398 0.00000000 0.00000000 1.00000000 a 27 $ COBALT (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 379411.7746100 -0.00021548 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 56868.9343960 -0.00167144 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 12943.6084620 -0.00870445 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3667.4532601 -0.03549617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1201.1404591 -0.11581023 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 440.3391948 -0.28374608 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 175.0003530 0.00000000 -0.38404173 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 71.1909815 0.00000000 -0.29545416 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 17.8490079 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 7.7276070 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.3708061 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.9262827 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1190862 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0437824 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 2137.6007768 -0.00190579 0.00000000 0.00000000 0.00000000 0.00000000 506.9729217 -0.01567839 0.00000000 0.00000000 0.00000000 0.00000000 163.8752488 -0.07522963 0.00000000 0.00000000 0.00000000 0.00000000 62.1518990 0.00000000 -0.23369231 0.00000000 0.00000000 0.00000000 25.6323314 0.00000000 -0.43693103 0.00000000 0.00000000 0.00000000 11.0207390 0.00000000 -0.38210863 0.00000000 0.00000000 0.00000000 4.6024341 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.8102832 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.6656922 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 42.9243728 0.02975487 0.00000000 0.00000000 11.9408096 0.15885714 0.00000000 0.00000000 4.0037210 0.38970618 0.00000000 0.00000000 1.3412567 0.00000000 0.49652611 0.00000000 0.4001124 0.00000000 0.00000000 0.32719933 a 28 $ NICKEL (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 409347.8689900 0.00021252 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 61355.8392550 0.00164849 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 13964.8581280 0.00858533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3956.8598699 0.03501533 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1296.0290474 0.11427673 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 475.2787652 0.28015250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 188.9883878 0.00000000 0.39246284 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 76.9287370 0.00000000 0.30331302 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 19.3318287 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 8.3876400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.5894343 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 1.0071375 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1273257 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0461898 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 2329.8384386 -0.00184142 0.00000000 0.00000000 0.00000000 0.00000000 552.6069302 -0.01517369 0.00000000 0.00000000 0.00000000 0.00000000 178.7119358 -0.07300467 0.00000000 0.00000000 0.00000000 0.00000000 67.8417508 0.00000000 -0.23224845 0.00000000 0.00000000 0.00000000 28.0280335 0.00000000 -0.43596047 0.00000000 0.00000000 0.00000000 12.0764692 0.00000000 -0.38213786 0.00000000 0.00000000 0.00000000 5.0694187 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.9911895 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.7300689 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 47.0883036 0.03152258 0.00000000 0.00000000 13.1440672 0.16855326 0.00000000 0.00000000 4.4158590 0.40930005 0.00000000 0.00000000 1.4769997 0.00000000 0.51501528 0.00000000 0.4372896 0.00000000 0.00000000 0.33962671 a 29 $ COPPER (14s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 441087.2507000 -0.00021814 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 66112.0211870 -0.00169219 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 15047.0114250 -0.00881371 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 4263.4273084 -0.03595466 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1396.3815797 -0.11742970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 511.9605579 -0.28844267 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 203.4542695 0.00000000 -0.42678899 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 82.7923370 0.00000000 -0.33044129 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 20.8542856 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 9.0410680 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 2.7518135 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 1.0434857 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1117229 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0410410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 2530.0965671 0.00191379 0.00000000 0.00000000 0.00000000 0.00000000 600.0979295 0.01579767 0.00000000 0.00000000 0.00000000 0.00000000 194.0820448 0.07627126 0.00000000 0.00000000 0.00000000 0.00000000 73.6718214 0.00000000 0.23881452 0.00000000 0.00000000 0.00000000 30.4473697 0.00000000 0.44980016 0.00000000 0.00000000 0.00000000 13.1227149 0.00000000 0.39337682 0.00000000 0.00000000 0.00000000 5.5214840 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.1457922 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.7679749 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 47.3137437 0.03239976 0.00000000 0.00000000 13.1546884 0.16822707 0.00000000 0.00000000 4.3662886 0.38494430 0.00000000 0.00000000 1.4122066 0.00000000 1.00000000 0.00000000 0.3884071 0.00000000 0.00000000 1.00000000 a 30 $ ZINC (13s,9p,5d) -> [8s,5p,3d] $ S-TYPE FUNCTIONS 14 8 0 472745.9416400 -0.00021701 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 70858.0994840 -0.00168338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 16127.6397330 -0.00876775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 4569.7614320 -0.03576876 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1496.9765379 -0.11680699 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 549.2564689 -0.28670653 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 218.5901101 0.00000000 -0.42684317 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 89.0688233 0.00000000 -0.33251990 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 22.4757517 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 9.7836991 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 3.0476098 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 1.1751310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.1433674 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.0507615 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 $ P-TYPE FUNCTIONS 9 5 0 2738.9909849 -0.00187091 0.00000000 0.00000000 0.00000000 0.00000000 649.7299520 -0.01546153 0.00000000 0.00000000 0.00000000 0.00000000 210.2912907 -0.07475263 0.00000000 0.00000000 0.00000000 0.00000000 79.9543604 0.00000000 -0.23286955 0.00000000 0.00000000 0.00000000 33.1312904 0.00000000 -0.44019360 0.00000000 0.00000000 0.00000000 14.3263958 0.00000000 -0.38736391 0.00000000 0.00000000 0.00000000 6.0658647 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 2.3753720 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.8659632 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 3 0 56.0796648 0.02959823 0.00000000 0.00000000 15.7482591 0.15879185 0.00000000 0.00000000 5.3098928 0.37984178 0.00000000 0.00000000 1.7734653 0.00000000 1.00000000 0.00000000 0.5196323 0.00000000 0.00000000 1.00000000 $Elements supported $H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu $Zn Ga Ge As Se Br Kr ergo-3.5/basis/ecp-sdd-DZ0000664000175000017500000015534612743400275012140 00000000000000************************************************************************ * * * Effective Core Potentials * * Valence basis set corresponding to pseudo basis * * * * Stuttgart Relativistic ECP Basis Sets * * * * http://www.theochem.uni-stuttgart.de/pseudopotentials/index.en.html * * * ************************************************************************ * REFERENCES * * Ref 1: P. Fuentealba, H. Preuss, H. Stoll, L. v. Szentpaly, * Chem. Phys. Lett. 89, 418 (1982). * Ref 2: L. v. Szentpaly, P. Fuentealba, H. Preuss, H. Stoll, * Chem. Phys. Lett. 93, 555 (1982). * Ref 3: P. Fuentealba, H. Stoll, L. v. Szentpaly, P. Schwerdtfeger, H. Preuss, * J. Phys. B 16, L323 (1983). * Ref 4: H. Stoll, P. Fuentealba, P. Schwerdtfeger, J. Flad, L. v. Szentpaly, * H. Preuss, J. Chem. Phys. 81, 2732 (1984). * Ref 5: P. Fuentealba, L. v. Szentpaly, H. Preuss, H. Stoll, * J. Phys. B 18, 1287 (1985). * Ref 6: U. Wedig, M. Dolg, H. Stoll, H. Preuss in Quantum Chemistry: * The Challenge of Transition Metals and Coordination Chemistry, * A. Veillard, Reidel, Dordrecht (1986), p.79. * Ref 7: M. Dolg, U. Wedig, H. Stoll, H. Preuss, J. Chem. Phys. 86, 866 (1987). * Ref 8: G. Igel-Mann, H. Stoll, H. Preuss, Mol. Phys. 65, 1321 (1988). * Ref 9: M. Dolg, H. Stoll, H. Preuss, J. Chem. Phys. 90, 1730 (1989). * Ref 10: P. Schwerdtfeger, M. Dolg, W.H.E. Schwarz, G.A. Bowmaker, P.D.W. Boyd, * J. Chem. Phys. 91, 1762 (1989). * Ref 11: M. Dolg, H. Stoll, A. Savin, H. Preuss, Theor. Chim. Acta 75, * 173 (1989). * Ref 12: D. Andrae, U. Haeussermann, M. Dolg, H. Stoll, H. Preuss, * Theor. Chim. Acta 77, 123 (1990). * Ref 13: M. Kaupp, P. v. R. Schleyer, H. Stoll, H. Preuss, * J. Chem. Phys. 94, 1360 (1991). * Ref 14: W. Kuechle, M. Dolg, H. Stoll, H. Preuss, Mol. Phys. 74, 1245 (1991). * Ref 15: M. Dolg, P. Fulde, W. Kuechle, C.-S. Neumann, H. Stoll, * J. Chem. Phys. 94, 3011 (1991). * Ref 16: M. Dolg, H. Stoll, H.-J. Flad, H. Preuss, J. Chem. Phys. 97, 1162 * (1992). * Ref 17: A. Bergner, M. Dolg, W. Kuechle, H. Stoll, H. Preuss, * Mol. Phys. 80, 1431 (1993). * Ref 18: M. Dolg, H. Stoll, H. Preuss, Theor. Chim. Acta 85, 441 (1993). * Ref 19: M. Dolg, H. Stoll, H. Preuss, R.M. Pitzer, J. Phys. Chem. 97, 5852 * (1993). * Ref 20: U. Haeussermann, M. Dolg, H. Stoll, H. Preuss, Mol. Phys. 78, 1211 (1993). * Ref 21: W. Kuechle, M. Dolg, H. Stoll, H. Preuss, J. Chem. Phys. 100, 7535 (1994). * Ref 22: A. Nicklass, M. Dolg, H. Stoll, H. Preuss, J. Chem. Phys. 102, 8942 (1995). * Ref 23: T. Leininger, A. Nicklass, W. K"uchle, H. Stoll, M. Dolg and A. Bergner, * Chem. Phys. Lett. 255, 274 (1996). * Ref 24: T. Leininger, A. Nicklass, H. Stoll, M. Dolg, P. Schwerdtfeger, * J. Chem. Phys. 105, 1052 (1996). * Ref 25: T. Leininger, A. Berning, A. Nicklass, H. Stoll, H.-J. Werner, H.-J. Flad, * Chem. Phys. 217, 19 (1997). * Ref 26: F. Schautz, H.-J. Flad, M. Dolg, Theor. Chem. Acc. 99, 231 (1998). * Ref 27: Y. Wang, M. Dolg, Theor. Chem. Acc. 100, 124 (1998). * Ref 28: B. Metz, M. Schweizer, H. Stoll, M. Dolg, W. Liu, Theor. Chem. Acc. 104, 22 (2000). * Ref 29: B. Metz, H. Stoll, M. Dolg, J. Chem. Phys. 113, 2563 (2000). * Ref 30: J.M.L. Martin, A. Sundermann, J. Chem. Phys. 114, 3408 (2001). * Ref 31: X. Cao, M. Dolg, J. Chem. Phys. 115, 7348 (2001); cf. also X. Cao, M. Dolg, J. Molec. Struct. (Theochem) 581, 139 (2002). * Ref 32: H. Stoll, B. Metz, M. Dolg, J. Comput. Chem. 23, 767 (2002). * Ref 33: X. Cao, M. Dolg, H. Stoll, J. Chem. Phys. 118, 487 (2003); * cf. also X. Cao, M. Dolg, J. Molec. Struct. (Theochem) 673, 203 (2004). * Ref 34: W. Kuechle, to be published. * Ref 35: K.A. Peterson, J. Chem. Phys. 119, 11099 (2003). * Ref 36: K.A. Peterson, D. Figgen, E. Goll, H. Stoll, M. Dolg, J. Chem. Phys. 119, 11113 (2003). * Ref 37: D. Figgen, G. Rauhut, M. Dolg, H. Stoll, Chem. Phys. (in press) * ************************************************************************ A 3 $ O-LITHIUM(+1) ECP-SDF-DZ $ S TYPE FUNCTIONS 4 2 0 3.04732704 0.00655500 0.00000000 0.60357898 -0.14040101 0.00000000 0.06913799 0.62375599 0.00000000 0.02650200 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 0.83715802 0.04350700 0.00000000 0.17194098 0.22964901 0.00000000 0.05207900 0.56294900 0.00000000 0.01917200 0.00000000 1.00000000 A 5 $ O-BORON(+3) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 1.69056000 -0.27220800 0.00000000 0.98366600 0.20112800 0.00000000 0.25697900 0.57776300 0.00000000 0.09503800 0.00000000 0.46051000 $ P TYPE FUNCTIONS 4 2 0 5.39991300 0.03494100 0.00000000 1.27121700 0.18683400 0.00000000 0.36190900 0.46846300 0.00000000 0.10766100 0.00000000 0.51606900 A 6 $ O-CARBON(+4) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 2.26310100 0.49654800 0.00000000 1.77318600 -0.42239100 0.00000000 0.40861900 -0.59935600 0.00000000 0.13917500 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 8.38302500 -0.03854400 0.00000000 1.99313200 -0.20318500 0.00000000 0.55954300 -0.49817600 0.00000000 0.15612600 0.00000000 0.48114300 A 7 $ O-NITROGEN(+5) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 32.65683900 -0.01379400 0.00000000 4.58918900 0.12912900 0.00000000 0.70625100 -0.56809400 0.00000000 0.21639900 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 12.14697400 -0.04129600 0.00000000 2.88426500 -0.21400900 0.00000000 0.80856400 -0.50278300 0.00000000 0.22216300 0.00000000 1.00000000 A 8 $ O-OXYGEN(+6) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 47.10551900 -0.01440800 0.00000000 5.91134600 0.12956800 0.00000000 0.97648300 -0.56311800 0.00000000 0.29607000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 16.69221800 0.04485600 0.00000000 3.90070200 0.22613000 0.00000000 1.07825300 0.50018800 0.00000000 0.28418900 0.00000000 1.00000000 A 9 $ O-FLUORINE(+7) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 7.17643900 -0.23988300 0.00000000 3.81548400 0.15202600 0.00000000 1.02788200 0.61370900 0.00000000 0.33612800 0.00000000 0.44408100 $ P TYPE FUNCTIONS 4 2 0 22.09520700 0.05226600 0.00000000 4.96809300 0.23451700 0.00000000 1.36211400 0.50226500 0.00000000 0.35332100 0.00000000 0.46140900 A 11 $ O-SODIUM(+1) ECP-SDF-DZ $ S TYPE FUNCTIONS 4 2 0 2.60333633 0.00882400 0.00000000 0.51721698 -0.18322700 0.00000000 0.05819600 0.65201700 0.00000000 0.02314100 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 0.49920601 0.01854700 0.00000000 0.07921898 0.27621102 0.00000000 0.02994600 0.58700401 0.00000000 0.01260500 0.00000000 1.00000000 A 12 $ O-MAGNESIUM(+2) ECP-SDF-2s1p $ S TYPE FUNCTIONS 3 2 0 1.61669000 0.14113800 0.00000000 1.11015700 -0.30259300 0.00000000 0.07033300 0.00000000 1.00000000 $ P TYPE FUNCTIONS 1 1 0 0.07642700 1.00000000 A 13 $ O-ALUMINIUM(+3) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 2.78633700 -0.04641100 0.00000000 1.14363500 0.27054300 0.00000000 0.17002700 -0.62523400 0.00000000 0.06732400 0.00000000 0.50841900 $ P TYPE FUNCTIONS 4 2 0 0.98379400 0.05203600 0.00000000 0.35824500 -0.15509400 0.00000000 0.13815800 -0.53258400 0.00000000 0.04497500 0.00000000 -0.46398900 A 14 $ O-SILICON(+4) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 4.01437800 -0.03950800 0.00000000 1.39370700 0.29615000 0.00000000 0.25165800 -0.59975200 0.00000000 0.10018000 0.00000000 -0.55590200 $ P TYPE FUNCTIONS 4 2 0 1.10248100 -0.08458300 0.00000000 0.58312700 0.18574800 0.00000000 0.20867500 0.55485200 0.00000000 0.06914700 0.00000000 -0.44034000 $ D TYPE FUNCTIONS 1 1 0 0.45000000 1.00000000 A 15 $ O-PHOSPHORUS(+5) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 6.72230800 -0.03245500 0.00000000 1.62406300 0.28505600 0.00000000 0.33192900 -0.64691400 0.00000000 0.12081900 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 1.28322100 -0.05596200 0.00000000 0.59972500 0.28636300 0.00000000 0.22775900 0.55225700 0.00000000 0.08442400 0.00000000 1.00000000 A 16 $ O-SULFUR(+6) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 6.83351800 -0.04387500 0.00000000 2.07773800 0.31989400 0.00000000 0.41912100 -0.66123300 0.00000000 0.15323700 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 1.81713900 -0.07922700 0.00000000 0.85507000 0.26367100 0.00000000 0.31205300 0.58068200 0.00000000 0.10168700 0.00000000 1.00000000 A 17 $ O-CHLORINE(+7) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 13.32240500 -0.02134900 0.00000000 2.33363000 0.29398500 0.00000000 0.52646300 -0.65342800 0.00000000 0.19094900 0.00000000 -0.53519300 $ P TYPE FUNCTIONS 4 2 0 2.75093600 -0.07105900 0.00000000 1.13597400 0.22167100 0.00000000 0.42523500 0.55745600 0.00000000 0.14244900 0.00000000 0.39080700 A 19 $ O-POTASSIUM(+9) ECP-MWB-4s4p1d $ S TYPE FUNCTIONS 6 4 0 8.31351000 0.10121500 0.00000000 0.00000000 0.00000000 3.79675700 -0.43179600 0.00000000 0.00000000 0.00000000 0.74093700 0.67493500 0.00000000 0.00000000 0.00000000 0.30178900 0.00000000 0.28630000 0.00000000 0.00000000 0.03501800 0.00000000 0.00000000 -0.72964300 0.00000000 0.01604900 0.00000000 0.00000000 0.00000000 -0.38022900 $ P TYPE FUNCTIONS 6 4 0 21.66442700 0.01170600 0.00000000 0.00000000 0.00000000 1.11396800 0.39741600 0.00000000 0.00000000 0.00000000 0.47133100 0.48715800 0.00000000 0.00000000 0.00000000 0.19155000 0.00000000 0.22240100 0.00000000 0.00000000 0.04800000 0.00000000 0.00000000 1.00000000 0.00000000 0.01700000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 1 1 0 0.79400000 1.00000000 A 20 $ O-CALCIUM(+10) ECP-MWB-5s5p3d $ S TYPE FUNCTIONS 6 5 0 12.30752100 0.05874000 0.00000000 0.00000000 0.00000000 0.00000000 4.39315100 -0.40134400 0.00000000 0.00000000 0.00000000 0.00000000 0.93797500 0.00000000 0.59287500 0.00000000 0.00000000 0.00000000 0.42168800 0.00000000 0.00000000 -0.22361600 0.00000000 0.00000000 0.05801700 0.00000000 0.00000000 0.00000000 0.77588600 0.00000000 0.02322200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 5 0 5.97428600 -0.08230200 0.00000000 0.00000000 0.00000000 0.00000000 1.56740600 0.34651100 0.00000000 0.00000000 0.00000000 0.00000000 0.65624200 0.00000000 0.56014700 0.00000000 0.00000000 0.00000000 0.25849800 0.00000000 0.00000000 0.22877300 0.00000000 0.00000000 0.08100000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 3 0 7.23170000 0.05036000 0.00000000 0.00000000 1.96486900 0.17334300 0.00000000 0.00000000 0.62030300 0.30197800 0.56014700 0.00000000 0.18126000 0.00000000 0.43805500 0.22877300 0.04910700 0.00000000 0.00000000 0.46472000 A 21 $ O-SCANDIUM(+11) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 10.00926000 1.00789600 0.00000000 0.00000000 0.00000000 0.00000000 8.47076200 -1.17665500 0.00000000 0.00000000 0.00000000 0.00000000 4.17911600 -0.80264700 0.00000000 0.00000000 0.00000000 0.00000000 1.06920800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.44124800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06443200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02720000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 41.71184600 0.02091200 0.00000000 0.00000000 0.00000000 6.02601500 -1.00732900 0.00000000 0.00000000 0.00000000 2.71599500 -0.80264700 0.25364400 0.00000000 0.00000000 1.05691400 0.00000000 0.79264300 0.00000000 0.00000000 0.37694100 0.00000000 0.00000000 1.00000000 0.00000000 0.07416100 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 16.27354800 0.03555900 0.00000000 4.80004900 0.16935600 0.00000000 1.54129300 0.42044600 0.25364400 0.46818000 0.61731400 0.79264300 0.12279900 0.00000000 1.00000000 A 24 $ O-CHROMIUM(+14) ECP-MDF-5s5p2d $ S TYPE FUNCTIONS 7 5 0 14.05345000 0.88562400 0.00000000 0.00000000 0.00000000 0.00000000 11.73521800 -1.03013200 0.00000000 0.00000000 0.00000000 0.00000000 5.90491500 -0.82672900 0.00000000 0.00000000 0.00000000 0.00000000 1.63466500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.66293100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09780000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03770500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 51.31766400 0.02967200 0.00000000 0.00000000 0.00000000 0.00000000 9.32149800 -1.01276000 0.00000000 0.00000000 0.00000000 0.00000000 3.74112100 -0.82672900 0.25774600 0.00000000 0.00000000 0.00000000 1.51021400 0.00000000 0.78591700 0.00000000 0.00000000 0.00000000 0.53795600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09340800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02664500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 26.78143900 0.03497000 0.00000000 8.23164000 0.17219500 0.00000000 2.78164500 0.42703200 0.25774600 0.90367800 0.59293900 0.78591700 0.24925800 0.00000000 1.00000000 A 25 $ O-MANGANESE(+15) ECP-MDF-5s5p2d $ S TYPE FUNCTIONS 7 5 0 15.56400100 1.09978900 0.00000000 0.00000000 0.00000000 0.00000000 13.28692800 -1.30585100 0.00000000 0.00000000 0.00000000 0.00000000 6.13728100 -0.76802400 0.00000000 0.00000000 0.00000000 0.00000000 1.76598300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.71377400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09832800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03709700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 27.43206100 0.08385100 0.00000000 0.00000000 0.00000000 0.00000000 11.36687300 -1.06496500 0.00000000 0.00000000 0.00000000 0.00000000 4.45254000 -0.76802400 0.20265200 0.00000000 0.00000000 0.00000000 1.85345900 0.00000000 0.83175400 0.00000000 0.00000000 0.00000000 0.64518000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10304400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02829600 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 29.51422300 0.03716200 0.00000000 8.96282400 0.18274500 0.00000000 3.02796700 0.43560700 0.20265200 0.98329200 0.57705300 0.83175400 0.27032500 0.00000000 1.00000000 A 26 $ O-IRON(+16) ECP-MDF-5s4p2d $ S TYPE FUNCTIONS 7 5 0 20.51302800 0.23471400 0.00000000 0.00000000 0.00000000 0.00000000 9.77679200 -0.87752700 0.00000000 0.00000000 0.00000000 0.00000000 4.57359900 -0.34163600 0.00000000 0.00000000 0.00000000 0.00000000 1.94991000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.76648800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10079800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03751600 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 63.12532600 0.02714700 0.00000000 0.00000000 0.00000000 11.65685500 -1.01187500 0.00000000 0.00000000 0.00000000 5.17866100 -0.34163600 0.21516800 0.00000000 0.00000000 2.03553200 0.00000000 0.82509500 0.00000000 0.00000000 0.70881800 0.00000000 0.00000000 1.00000000 0.00000000 0.11016800 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 33.66679000 0.03652900 0.00000000 10.23569500 0.18282500 0.00000000 3.46648800 0.43706900 0.21516800 1.12729600 0.57517800 0.82509500 0.30824700 0.00000000 1.00000000 A 27 $ O-COBALT(+17) ECP-MDF-5s4p2d $ S TYPE FUNCTIONS 7 5 0 20.90800100 0.39805300 0.00000000 0.00000000 0.00000000 0.00000000 13.90623400 -0.64905200 0.00000000 0.00000000 0.00000000 0.00000000 7.32854300 -0.72345300 0.00000000 0.00000000 0.00000000 0.00000000 2.13632400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.85282200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10669200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03934600 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 67.03444300 0.02937000 0.00000000 0.00000000 0.00000000 13.26233400 -1.01362600 0.00000000 0.00000000 0.00000000 5.96065000 -0.72345300 0.20386500 0.00000000 0.00000000 2.27194000 0.00000000 0.83364500 0.00000000 0.00000000 0.78891100 0.00000000 0.00000000 1.00000000 0.00000000 0.11835500 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 36.84052000 0.03805600 0.00000000 11.17367500 0.18892500 0.00000000 3.79756400 0.44105100 0.20386500 1.23926200 0.56569700 0.83364500 0.33940000 0.00000000 1.00000000 A 28 $ O-NICKEL(+18) ECP-MDF-5s5p2d $ S TYPE FUNCTIONS 7 5 0 23.45799100 0.34542400 0.00000000 0.00000000 0.00000000 0.00000000 14.86939200 -0.59501200 0.00000000 0.00000000 0.00000000 0.00000000 8.05415400 -0.72484900 0.00000000 0.00000000 0.00000000 0.00000000 2.31982400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.92346200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10995500 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04013400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 78.03878000 0.02700800 0.00000000 0.00000000 0.00000000 0.00000000 14.77444000 -1.01208100 0.00000000 0.00000000 0.00000000 0.00000000 6.15135200 -0.72484900 0.20219500 0.00000000 0.00000000 0.00000000 2.49642100 0.00000000 0.83392000 0.00000000 0.00000000 0.00000000 0.86670200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12649900 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03178400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 40.78904800 0.03842500 0.00000000 12.34760100 0.19149800 0.00000000 4.20704900 0.44307500 0.20219500 1.37541300 0.56121600 0.83392000 0.09000000 0.00000000 1.00000000 A 29 $ O-COPPER(+19) ECP-MDF-5s5p2d $ S TYPE FUNCTIONS 7 5 0 27.69632000 0.23113200 0.00000000 0.00000000 0.00000000 0.00000000 13.50535000 -0.65681100 0.00000000 0.00000000 0.00000000 0.00000000 8.81535500 -0.54587500 0.00000000 0.00000000 0.00000000 0.00000000 2.38080500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.95261600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11266200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04048600 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 93.50432700 0.02282900 0.00000000 0.00000000 0.00000000 0.00000000 16.28546400 -1.00951300 0.00000000 0.00000000 0.00000000 0.00000000 5.99423600 -0.54587500 0.24645000 0.00000000 0.00000000 0.00000000 2.53687500 0.00000000 0.79202400 0.00000000 0.00000000 0.00000000 0.89793400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13172900 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03087800 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 41.22500600 0.04469400 0.00000000 12.34325000 0.21210600 0.00000000 4.20192000 0.45342300 0.24645000 1.37982500 0.53346500 0.79202400 0.38345300 0.00000000 1.00000000 A 30 $ O-ZINC(+2) ECP-MWB-2s1p $ S TYPE FUNCTIONS 3 2 0 0.65665300 -0.35662100 0.00000000 0.22467900 0.52210900 0.00000000 0.06207700 0.00000000 1.00000000 $ P TYPE FUNCTIONS 1 1 0 0.08541700 1.00000000 A 31 $ O-GALLIUM(+3) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 2.28780800 0.13111900 0.00000000 1.27332200 -0.40290400 0.00000000 0.20316800 0.63141700 0.00000000 0.07426200 0.00000000 0.53481900 $ P TYPE FUNCTIONS 4 2 0 0.93901900 0.16364700 0.00000000 0.59020500 -0.18687000 0.00000000 0.15876100 -0.52722300 0.00000000 0.02339300 0.00000000 1.00000000 A 32 $ O-GERMANIUM(+4) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 3.24729100 0.21078900 0.00000000 1.92920500 -0.49507400 0.00000000 0.23356500 0.70199400 0.00000000 0.08780700 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 1.29018200 0.17841500 0.00000000 0.68428900 -0.19291200 0.00000000 0.20033900 -0.57755500 0.00000000 0.06672700 0.00000000 1.00000000 A 33 $ O-ARSENIC(+5) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 3.43147400 0.14816600 0.00000000 1.89686600 -0.44989000 0.00000000 0.29444900 0.69568300 0.00000000 0.11189600 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 1.29644700 -0.36995400 0.00000000 0.94997100 0.37321400 0.00000000 0.25442100 0.60030400 0.00000000 0.08759300 0.00000000 1.00000000 A 34 $ O-SELENIUM(+6) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 3.58818000 0.24963000 0.00000000 2.23971100 -0.58146000 0.00000000 0.34377300 0.72893800 0.00000000 0.13139900 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 1.50942700 0.19527100 0.00000000 0.87510600 -0.25391500 0.00000000 0.29082600 -0.59048700 0.00000000 0.10022100 0.00000000 1.00000000 A 35 $ O-BROMINE(+7) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 4.47317982 0.14909101 0.00000000 2.29983902 -0.50232202 0.00000000 0.41171700 0.72714400 0.00000000 0.15933400 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 1.99108410 -0.16588199 0.00000000 0.97475100 0.20432699 0.00000000 0.35202098 0.60156298 0.00000000 0.11665303 0.00000000 1.00000000 A 36 $ O-KRYPTON(+8) ECP-MWB-4s4p1d $ S TYPE FUNCTIONS 6 4 0 35.40296100 0.02049500 0.00000000 0.00000000 0.00000000 15.66508900 -0.09918800 0.00000000 0.00000000 0.00000000 6.24771100 1.07205100 0.00000000 0.00000000 0.00000000 2.39424600 0.00000000 1.00000000 0.00000000 0.00000000 0.45348900 0.00000000 0.00000000 1.00000000 0.00000000 0.17215800 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 23.02908500 0.00562500 0.00000000 0.00000000 0.00000000 9.50309200 -0.07505100 0.00000000 0.00000000 0.00000000 2.84246100 1.04568900 0.00000000 0.00000000 0.00000000 0.68929300 0.00000000 1.00000000 0.00000000 0.00000000 0.28513600 0.00000000 0.00000000 1.00000000 0.00000000 0.10878200 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 1 1 0 0.48780000 1.00000000 A 38 $ O-STRONTIUM(+10) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 6 5 0 5.87915700 0.19670900 0.00000000 0.00000000 0.00000000 0.00000000 3.09248200 -0.62589800 0.00000000 0.00000000 0.00000000 0.00000000 0.64466700 0.00000000 0.73572300 0.00000000 0.00000000 0.00000000 0.29887600 0.00000000 0.00000000 0.50733700 0.00000000 0.00000000 0.05727600 0.00000000 0.00000000 0.00000000 0.65414300 0.00000000 0.02387000 0.00000000 0.00000000 0.00000000 0.00000000 0.52941600 $ P TYPE FUNCTIONS 6 5 0 2.43247200 -0.37489900 0.00000000 0.00000000 0.00000000 0.00000000 1.66423400 0.38761500 0.00000000 0.00000000 0.00000000 0.00000000 0.56998900 0.00000000 0.65583800 0.00000000 0.00000000 0.00000000 0.22071800 0.00000000 0.00000000 0.32795500 0.00000000 0.00000000 0.06762900 0.00000000 0.00000000 0.00000000 0.47239700 0.00000000 0.02672700 0.00000000 0.00000000 0.00000000 0.00000000 0.64219000 $ D TYPE FUNCTIONS 5 2 0 3.61808100 -0.00750100 0.00000000 0.99665600 0.10809800 0.00000000 0.39073500 0.27854000 0.65583800 0.12277000 0.00000000 0.47731800 0.03665500 0.00000000 0.44818300 A 40 $ O-ZIRCONIUM(+12) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 5.87378900 -0.97366300 0.00000000 0.00000000 0.00000000 0.00000000 4.28727000 1.70918220 0.00000000 0.00000000 0.00000000 0.00000000 1.46413700 0.24383100 0.00000000 0.00000000 0.00000000 0.00000000 0.83124500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.36233500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07935700 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03392000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 2.87422400 -4.21810130 0.00000000 0.00000000 0.00000000 2.11990100 4.04794310 0.00000000 0.00000000 0.00000000 0.85136400 0.24383100 0.57094510 0.00000000 0.00000000 0.43729200 0.00000000 0.46210800 0.00000000 0.00000000 0.20290400 0.00000000 0.00000000 1.00000000 0.00000000 0.06325900 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 2.58013700 -0.09321310 0.00000000 1.85539600 0.22135700 0.00000000 0.68075400 0.46844270 0.57094510 0.25669100 0.53919500 0.46210800 0.08940000 0.00000000 1.00000000 A 41 $ O-NIOBIUM(+13) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 6.56630100 -0.85826540 0.00000000 0.00000000 0.00000000 0.00000000 4.58643800 1.30416720 0.00000000 0.00000000 0.00000000 0.00000000 3.75377000 0.50690430 0.00000000 0.00000000 0.00000000 0.00000000 0.88987100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.40713800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09427100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03987900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 3.07006300 -3.90443150 0.00000000 0.00000000 0.00000000 2.23796400 4.06880700 0.00000000 0.00000000 0.00000000 0.85225500 0.50690430 0.67139100 0.00000000 0.00000000 0.50443600 0.00000000 0.34743650 0.00000000 0.00000000 0.26680000 0.00000000 0.00000000 1.00000000 0.00000000 0.06873200 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 4.05356300 -0.02042010 0.00000000 1.65260000 0.20898540 0.00000000 0.70685900 0.47055150 0.67139100 0.28636700 0.47588600 0.34743650 0.10875700 0.00000000 1.00000000 A 42 $ O-MOLYBDENUM(+14) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 7.20338000 -0.82629730 0.00000000 0.00000000 0.00000000 0.00000000 5.05229500 1.46756160 0.00000000 0.00000000 0.00000000 0.00000000 2.91353300 0.31895490 0.00000000 0.00000000 0.00000000 0.00000000 1.02899300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.46953400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11001400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04611500 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 3.15186600 -4.73814350 0.00000000 0.00000000 0.00000000 2.45348200 5.01904000 0.00000000 0.00000000 0.00000000 0.87877300 0.31895490 0.74936290 0.00000000 0.00000000 0.49079100 0.00000000 0.27056970 0.00000000 0.00000000 0.28471400 0.00000000 0.00000000 1.00000000 0.00000000 0.07118200 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 5.03477000 -0.02394300 0.00000000 1.80214900 0.21945760 0.00000000 0.80725000 0.46117140 0.74936290 0.33900500 0.46712100 0.27056970 0.12834200 0.00000000 1.00000000 A 43 $ O-TECHNETIUM(+15) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 7.43440200 -1.11251800 0.00000000 0.00000000 0.00000000 0.00000000 5.55132700 1.81449980 0.00000000 0.00000000 0.00000000 0.00000000 3.02308600 0.25692920 0.00000000 0.00000000 0.00000000 0.00000000 1.08466900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.49258500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11389600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04688700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 3.44900500 -4.81613810 0.00000000 0.00000000 0.00000000 0.00000000 2.69273700 5.08660540 0.00000000 0.00000000 0.00000000 0.00000000 0.95948400 0.25692920 0.74490720 0.00000000 0.00000000 0.00000000 0.48521300 0.00000000 0.28268630 0.00000000 0.00000000 0.00000000 0.28149000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06837100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02261300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 5.12226800 -0.03323760 0.00000000 1.95401500 0.24673870 0.00000000 0.85475600 0.48023800 0.74490720 0.36058100 0.42886640 0.28268630 0.14127500 0.00000000 1.00000000 A 44 $ O-RUTHENIUM(+16) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 7.93657000 -1.11966560 0.00000000 0.00000000 0.00000000 0.00000000 5.98424500 1.44532930 0.00000000 0.00000000 0.00000000 0.00000000 4.88222000 0.62616530 0.00000000 0.00000000 0.00000000 0.00000000 1.14462400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.52301700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.11757300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04805000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 3.75460900 -4.72265650 0.00000000 0.00000000 0.00000000 0.00000000 2.91657100 4.99090840 0.00000000 0.00000000 0.00000000 0.00000000 1.04867500 0.62616530 0.72854670 0.00000000 0.00000000 0.00000000 0.50732000 0.00000000 0.30390430 0.00000000 0.00000000 0.00000000 0.26739800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.06974800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02292700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 6.00991300 -0.03271600 0.00000000 2.10428000 0.26573920 0.00000000 0.92150000 0.48123980 0.72854670 0.38859800 0.40997780 0.30390430 0.15283600 0.00000000 1.00000000 A 45 $ O-RHODIUM(+17) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 7.91774400 -2.41557750 0.00000000 0.00000000 0.00000000 0.00000000 6.84120700 3.09873820 0.00000000 0.00000000 0.00000000 0.00000000 2.95984000 0.28212560 0.00000000 0.00000000 0.00000000 0.00000000 1.33434100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.59881000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12189400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04945200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 4.13607900 -3.34435450 0.00000000 0.00000000 0.00000000 2.94628100 3.70374400 0.00000000 0.00000000 0.00000000 1.12230400 0.28212560 0.74622580 0.00000000 0.00000000 0.66617700 0.00000000 0.26988330 0.00000000 0.00000000 0.36574300 0.00000000 0.00000000 1.00000000 0.00000000 0.07668600 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 7.03289200 -0.01616040 0.00000000 2.30981900 0.27639870 0.00000000 0.99822800 0.48500260 0.74622580 0.41705700 0.39301990 0.26988330 0.16444700 0.00000000 1.00000000 A 46 $ O-PALLADIUM(+18) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 8.47564000 -2.16424970 0.00000000 0.00000000 0.00000000 0.00000000 7.16571700 2.89282860 0.00000000 0.00000000 0.00000000 0.00000000 3.18211000 0.23395640 0.00000000 0.00000000 0.00000000 0.00000000 1.40635700 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.62392100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12330300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04936000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 4.24609700 -5.25030250 0.00000000 0.00000000 0.00000000 3.39259400 5.55278500 0.00000000 0.00000000 0.00000000 1.21618500 0.23395640 0.75773150 0.00000000 0.00000000 0.63962400 0.00000000 0.26600460 0.00000000 0.00000000 0.37265700 0.00000000 0.00000000 1.00000000 0.00000000 0.07917500 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 7.16961200 -0.01850040 0.00000000 2.56126300 0.27696900 0.00000000 1.10966900 0.48590350 0.75773150 0.46229600 0.39306510 0.26600460 0.18152500 0.00000000 1.00000000 A 47 $ O-SILVER(+19) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 9.08844200 -1.96481320 0.00000000 0.00000000 0.00000000 0.00000000 7.54073100 2.73321940 0.00000000 0.00000000 0.00000000 0.00000000 2.79400500 0.19911480 0.00000000 0.00000000 0.00000000 0.00000000 1.48015800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.65385100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12448800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04926400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 4.45124000 -6.08337800 0.00000000 0.00000000 0.00000000 0.00000000 3.67526300 6.41685430 0.00000000 0.00000000 0.00000000 0.00000000 1.29128800 0.19911480 0.75397350 0.00000000 0.00000000 0.00000000 0.65257800 0.00000000 0.27305970 0.00000000 0.00000000 0.00000000 0.36703600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07569400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02372300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 7.99473000 -0.01638760 0.00000000 2.78477300 0.28141070 0.00000000 1.20974400 0.48632640 0.75397350 0.50539300 0.38672580 0.27305970 0.19885100 0.00000000 1.00000000 A 48 $ O-CADMIUM(+20) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 9.72701100 -1.78642590 0.00000000 0.00000000 0.00000000 0.00000000 7.83752300 2.57789480 0.00000000 0.00000000 0.00000000 0.00000000 5.08919400 0.16011710 0.00000000 0.00000000 0.00000000 0.00000000 1.55332600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.71407900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.15078400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05746700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 4.74271600 -6.23119940 0.00000000 0.00000000 0.00000000 0.00000000 3.93665500 6.57419200 0.00000000 0.00000000 0.00000000 0.00000000 1.38039100 0.16011710 0.74972650 0.00000000 0.00000000 0.00000000 0.66848500 0.00000000 0.28110820 0.00000000 0.00000000 0.00000000 0.36342300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10625300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03664400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 8.46934100 -0.01636060 0.00000000 3.02423100 0.28647280 0.00000000 1.31636700 0.48685180 0.74972650 0.55639300 0.37941110 0.28110820 0.22385600 0.00000000 1.00000000 A 49 $ O-INDIUM(+3) ECP-MWB-DZP $ S TYPE FUNCTIONS 4 2 0 1.53256200 0.26177400 0.00000000 0.94426900 -0.62540600 0.00000000 0.17673300 0.65130400 0.00000000 0.06434300 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 0.64147400 0.21110300 0.00000000 0.34273900 -0.24302900 0.00000000 0.10954600 -0.56019100 0.00000000 0.03895800 0.00000000 1.00000000 $ D TYPE FUNCTIONS 1 1 0 0.16000000 1.00000000 A 50 $ O-TIN(+4) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 1.60032200 0.63577600 0.00000000 1.16634100 -1.07627300 0.00000000 0.23976100 0.60859000 0.00000000 0.08723700 0.00000000 0.66097500 $ P TYPE FUNCTIONS 4 2 0 2.10467700 0.07895000 0.00000000 1.37109400 -0.19115900 0.00000000 0.20139300 0.54254600 0.00000000 0.06599500 0.00000000 0.57703900 A 51 $ O-ANTIMONY(+5) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 2.22079900 0.25671300 0.00000000 1.26783800 -0.66901100 0.00000000 0.26095600 0.64646000 0.00000000 0.10006600 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 2.14934900 0.10891500 0.00000000 1.43421200 -0.25139700 0.00000000 0.24263100 0.57394700 0.00000000 0.02780533 0.00000000 1.00000000 A 52 $ O-TELLURIUM(+6) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 2.47122200 0.24195600 0.00000000 1.50999500 -0.60048800 0.00000000 0.25467700 0.76352200 0.00000000 0.10263100 0.00000000 1.00000000 $ P TYPE FUNCTIONS 4 2 0 2.38873400 0.15818100 0.00000000 1.64416500 -0.32493200 0.00000000 0.28997300 0.58565500 0.00000000 0.09675300 0.00000000 1.00000000 A 53 $ O-IODINE(+7) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 2.99612200 0.19818700 0.00000000 1.53004300 -0.61653600 0.00000000 0.30497900 0.73062700 0.00000000 0.12996900 0.00000000 0.51342800 $ P TYPE FUNCTIONS 4 2 0 1.03491900 -0.34015500 0.00000000 0.57383300 0.44188400 0.00000000 0.20306300 0.60434400 0.00000000 0.07909900 0.00000000 0.28894900 A 54 $ O-XENON(+8) ECP-MWB-4s4p1d $ S TYPE FUNCTIONS 6 4 0 7.85801500 0.05992800 0.00000000 0.00000000 0.00000000 3.49577200 -0.64907600 0.00000000 0.00000000 0.00000000 1.75886900 1.52981400 0.00000000 0.00000000 0.00000000 0.31474500 0.00000000 1.00000000 0.00000000 0.00000000 0.15116000 0.00000000 0.00000000 1.00000000 0.00000000 0.07122600 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 3.21452300 0.21100500 0.00000000 0.00000000 0.00000000 1.88494400 -0.71267400 0.00000000 0.00000000 0.00000000 0.44887600 1.22808000 0.00000000 0.00000000 0.00000000 0.21223200 0.00000000 1.00000000 0.00000000 0.00000000 0.10011500 0.00000000 0.00000000 1.00000000 0.00000000 0.04697900 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 1 1 0 0.32180000 1.00000000 A 55 $ O-CESIUM(+9) ECP-MWB-4s4p1d $ S TYPE FUNCTIONS 6 4 0 2.68701300 0.63613200 0.00000000 0.00000000 0.00000000 1.92071100 -1.15558600 0.00000000 0.00000000 0.00000000 0.46280100 0.64974300 0.00000000 0.00000000 0.00000000 0.20583100 0.00000000 -0.31845300 0.00000000 0.00000000 0.02502100 0.00000000 0.00000000 0.56564700 0.00000000 0.00984900 0.00000000 0.00000000 0.00000000 0.55531300 $ P TYPE FUNCTIONS 6 4 0 3.15263000 0.17280300 0.00000000 0.00000000 0.00000000 2.11148500 -0.38591600 0.00000000 0.00000000 0.00000000 0.44336300 0.63523900 0.00000000 0.00000000 0.00000000 0.16386000 0.00000000 0.52336000 0.00000000 0.00000000 0.02900000 0.00000000 0.00000000 1.00000000 0.00000000 0.01200000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 1 1 0 0.35300000 1.00000000 A 56 $ O-BARIUM(+10) ECP-MWB-5s5p $ S TYPE FUNCTIONS 6 5 0 2.39619000 -5.92889500 0.00000000 0.00000000 0.00000000 0.00000000 2.24330500 6.64693400 0.00000000 0.00000000 0.00000000 0.00000000 0.71740200 0.00000000 -0.55143700 0.00000000 0.00000000 0.00000000 0.27844600 0.00000000 0.00000000 -0.56880300 0.00000000 0.00000000 0.04318800 0.00000000 0.00000000 0.00000000 0.68160800 0.00000000 0.01979800 0.00000000 0.00000000 0.00000000 0.00000000 0.01516600 $ P TYPE FUNCTIONS 6 5 0 2.92674200 0.76335900 0.00000000 0.00000000 0.00000000 0.00000000 2.52071800 -1.02201400 0.00000000 0.00000000 0.00000000 0.00000000 0.52409500 0.00000000 0.64983600 0.00000000 0.00000000 0.00000000 0.20342800 0.00000000 0.00000000 0.52844600 0.00000000 0.00000000 0.04799600 0.00000000 0.00000000 0.00000000 0.60972900 0.00000000 0.02009500 0.00000000 0.00000000 0.00000000 0.00000000 0.51559100 A 72 $ O-HAFNIUM(+12) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 14.59248500 -0.79934440 0.00000000 0.00000000 0.00000000 0.00000000 11.54749100 1.52015480 0.00000000 0.00000000 0.00000000 0.00000000 4.91119400 -1.64536400 0.00000000 0.00000000 0.00000000 0.00000000 0.80851800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.35028500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10128200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03933600 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 6.72653100 3.26625490 0.00000000 0.00000000 0.00000000 5.95997900 -4.20156280 0.00000000 0.00000000 0.00000000 1.30195800 -1.64536400 0.32434240 0.00000000 0.00000000 0.69313600 0.00000000 0.70101450 0.00000000 0.00000000 0.27975900 0.00000000 0.00000000 1.00000000 0.00000000 0.07769500 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 3.72164100 -0.05916200 0.00000000 1.58412000 0.14951390 0.00000000 0.63351000 0.43731370 0.32434240 0.23056400 0.58875870 0.70101450 0.07495100 0.00000000 1.00000000 A 73 $ O-TANTALUM(+13) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 13.95110500 -1.49290850 0.00000000 0.00000000 0.00000000 0.00000000 12.01024100 2.28201460 0.00000000 0.00000000 0.00000000 0.00000000 5.16644600 -1.71334050 0.00000000 0.00000000 0.00000000 0.00000000 0.85631500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.36428100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12549400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04621300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 7.41887200 1.26680990 0.00000000 0.00000000 0.00000000 5.69841000 -2.20496150 0.00000000 0.00000000 0.00000000 1.31807200 -1.71334050 0.39272020 0.00000000 0.00000000 0.68216900 0.00000000 0.63805260 0.00000000 0.00000000 0.28217200 0.00000000 0.00000000 1.00000000 0.00000000 0.07968500 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 3.79167100 -0.06689760 0.00000000 1.64930200 0.16690000 0.00000000 0.66492500 0.46427890 0.39272020 0.24665500 0.54886710 0.63805260 0.08272400 0.00000000 1.00000000 A 74 $ O-TUNGSTEN(+14) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 14.29072900 -1.40860990 0.00000000 0.00000000 0.00000000 0.00000000 12.24124900 2.19364700 0.00000000 0.00000000 0.00000000 0.00000000 5.31224000 -1.71080130 0.00000000 0.00000000 0.00000000 0.00000000 0.94962600 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.43111800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12693100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04653900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 7.24965700 2.06101380 0.00000000 0.00000000 0.00000000 0.00000000 6.08487600 -3.00024710 0.00000000 0.00000000 0.00000000 0.00000000 1.69408900 -1.71080130 0.21339640 0.00000000 0.00000000 0.00000000 0.89114400 0.00000000 0.80690390 0.00000000 0.00000000 0.00000000 0.34832800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.08467000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02702800 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 3.44224800 -0.19325620 0.00000000 2.66715100 0.20793290 0.00000000 0.94710900 0.44238520 0.21339640 0.36538400 0.61598820 0.80690390 0.12090300 0.00000000 1.00000000 A 75 $ O-RHENIUM(+15) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 14.78186200 -1.14103820 0.00000000 0.00000000 0.00000000 0.00000000 12.32407500 1.93714500 0.00000000 0.00000000 0.00000000 0.00000000 5.49747800 -1.72327450 0.00000000 0.00000000 0.00000000 0.00000000 1.02605200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.46900900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13118400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04785700 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 7.40400500 2.36983600 0.00000000 0.00000000 0.00000000 0.00000000 6.35020600 -3.31055420 0.00000000 0.00000000 0.00000000 0.00000000 1.88859900 -1.72327450 0.18219610 0.00000000 0.00000000 0.00000000 0.98348500 0.00000000 0.83630770 0.00000000 0.00000000 0.00000000 0.38341000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.07046000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02202800 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 3.43448200 -0.36267070 0.00000000 2.98078100 0.37616960 0.00000000 1.01739400 0.45783320 0.18219610 0.39506000 0.59957020 0.83630770 0.13011100 0.00000000 1.00000000 A 76 $ O-OSMIUM(+16) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 15.28673600 -1.06641470 0.00000000 0.00000000 0.00000000 0.00000000 12.70063800 1.84307610 0.00000000 0.00000000 0.00000000 0.00000000 5.68729500 -1.70590020 0.00000000 0.00000000 0.00000000 0.00000000 1.11808700 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.52073300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.13637800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04959200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 7.93627900 1.41904520 0.00000000 0.00000000 0.00000000 6.30364100 -2.36244950 0.00000000 0.00000000 0.00000000 1.97032300 -1.70590020 0.20640200 0.00000000 0.00000000 1.02054700 0.00000000 0.81429590 0.00000000 0.00000000 0.40059300 0.00000000 0.00000000 1.00000000 0.00000000 0.08712700 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 3.58081500 -0.46708080 0.00000000 3.19616500 0.47948060 0.00000000 1.10582500 0.46491470 0.20640200 0.43603200 0.58935760 0.81429590 0.14433200 0.00000000 1.00000000 A 77 $ O-IRIDIUM(+17) ECP-MWB-5s4p2d $ S TYPE FUNCTIONS 7 5 0 15.29370900 -1.67503390 0.00000000 0.00000000 0.00000000 0.00000000 13.57368200 2.39346480 0.00000000 0.00000000 0.00000000 0.00000000 5.81627400 -1.65049790 0.00000000 0.00000000 0.00000000 0.00000000 1.19552100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.56577600 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14052700 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05082000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 6 4 0 8.66979600 0.86771420 0.00000000 0.00000000 0.00000000 6.24561400 -1.81448260 0.00000000 0.00000000 0.00000000 1.96638400 -1.65049790 0.27094540 0.00000000 0.00000000 1.02020600 0.00000000 0.75404430 0.00000000 0.00000000 0.40658000 0.00000000 0.00000000 1.00000000 0.00000000 0.09011600 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 3.69948500 -0.59731040 0.00000000 3.36174300 0.61122520 0.00000000 1.17452500 0.47329390 0.27094540 0.47017600 0.57553020 0.75404430 0.15767800 0.00000000 1.00000000 A 78 $ O-PLATINUM(+18) ECP-MWB-6s5p3d $ S TYPE FUNCTIONS 8 6 0 16.55956300 -0.88494470 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.89244000 1.50112280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.85360800 -1.55290120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.28732000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.60473200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.14278300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.05096900 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.01500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 7.92517500 4.95307570 0.00000000 0.00000000 0.00000000 0.00000000 7.34153800 -5.89821000 0.00000000 0.00000000 0.00000000 0.00000000 1.91251500 0.00000000 0.30474250 0.00000000 0.00000000 0.00000000 1.07154500 0.00000000 0.71648940 0.00000000 0.00000000 0.00000000 0.43791700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09362100 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02780200 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 6 3 0 3.93953100 -0.58264390 0.00000000 0.00000000 3.58777700 0.59225760 0.00000000 0.00000000 1.28623100 0.47369210 0.00000000 0.00000000 0.51981400 0.57652020 0.00000000 0.00000000 0.17471500 0.00000000 1.00000000 0.00000000 0.05000000 0.00000000 0.00000000 1.00000000 A 79 $ O-GOLD(+19) ECP-MWB-5s5p2d $ S TYPE FUNCTIONS 7 5 0 20.11529900 -0.15976140 0.00000000 0.00000000 0.00000000 0.00000000 12.19347700 0.78935590 0.00000000 0.00000000 0.00000000 0.00000000 6.03962600 -1.57140570 0.00000000 0.00000000 0.00000000 0.00000000 1.37372100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.65001000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14581600 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05148400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P TYPE FUNCTIONS 7 5 0 8.60966500 2.09822310 0.00000000 0.00000000 0.00000000 0.00000000 7.33532600 -3.04586700 0.00000000 0.00000000 0.00000000 0.00000000 1.91297000 -1.57140570 0.37914520 0.00000000 0.00000000 0.00000000 1.05769500 0.00000000 0.64564280 0.00000000 0.00000000 0.00000000 0.44306000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.09011400 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.02681100 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 4.14394900 -0.40584580 0.00000000 3.56825700 0.42750700 0.00000000 1.34432400 0.47554050 0.37914520 0.55528900 0.56109720 0.64564280 0.18967500 0.00000000 1.00000000 A 80 $ O-MERCURY(+20) ECP-MWB-5p2d $ P TYPE FUNCTIONS 7 5 0 9.77299000 0.88553690 0.00000000 0.00000000 0.00000000 0.00000000 7.16909500 -1.83645640 0.00000000 0.00000000 0.00000000 0.00000000 1.86800900 0.00000000 0.49042670 0.00000000 0.00000000 0.00000000 0.97330100 0.00000000 0.54156300 0.00000000 0.00000000 0.00000000 0.42199700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.12521300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.04019000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D TYPE FUNCTIONS 5 2 0 4.91144700 -0.14285670 0.00000000 3.04955000 0.19881720 0.00000000 1.34450100 0.48854010 0.49042670 0.57661800 0.51434470 0.54156300 0.21024500 0.00000000 1.00000000 A 81 $ O-THALLIUM(+3) ECP-MHF-DZ $ S TYPE FUNCTIONS 4 2 0 1.21979600 0.79867400 0.00000000 0.98113800 -1.14935200 0.00000000 0.13978400 0.65010400 0.00000000 0.05526600 0.00000000 0.54346300 $ P TYPE FUNCTIONS 4 2 0 1.34250200 0.15639700 0.00000000 0.99398900 -0.27303600 0.00000000 0.14969300 0.48455400 0.00000000 0.04561200 0.00000000 0.64526400 A 82 $ O-LEAD(+4) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 1.30517500 1.01040200 0.00000000 1.13528200 -1.40235500 0.00000000 0.20277100 0.79337200 0.00000000 0.08179600 0.00000000 0.44489800 $ P TYPE FUNCTIONS 4 2 0 1.44168400 0.14562600 0.00000000 0.97714300 -0.31986300 0.00000000 0.19450500 0.55369000 0.00000000 0.06271000 0.00000000 0.60104600 A 83 $ O-BISMUTH(+5) ECP-MWB-DZ $ S TYPE FUNCTIONS 4 2 0 1.42538800 0.07600800 0.00000000 0.98491400 -0.45740800 0.00000000 0.25251400 0.70218400 0.00000000 0.10061900 0.00000000 0.54384000 $ P TYPE FUNCTIONS 4 2 0 1.51728300 0.34668200 0.00000000 1.25330700 -0.51331300 0.00000000 0.19794900 0.64845700 0.00000000 0.06943300 0.00000000 0.49650500 *END OF FILE* ergo-3.5/basis/Huz-IIsu20000664000175000017500000004005312743400275011771 00000000000000$Basis = Huz-IIsu2 $decontracted s-functions and 2 added sharp s-functions to the Huz-II basisset $Elements supported $H C N O F P S $ $ REFERENCE $ a 1 $ HYDROGEN (7s,1p) -> [7s,1p] $ S-TYPE FUNCTIONS 7 7 0 1488.63279398 1.00000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 223.794899794 0.00000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 33.64440000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 0.00000000 5.05796000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.00000000 1.14680000 0.000000000 0.00000000 0.00000000 0.000000000 1.00000000 0.00000000 0.00000000 0.32114400 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 1.00000000 0.00000000 0.10130900 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.65000000 1.0 a 6 $ CARBON (11s,5p,1d) -> [11s,4p,1d] $ S-TYPE FUNCTIONS 11 11 0 187436.1376990 1.00000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.000000000 28191.97210970 0.00000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 4240.30980000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 637.77827000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 146.74534000 0.000000000 0.00000000 0.00000000 0.000000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 42.53142800 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 14.18480400 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.00000000 0.000000000 5.17569430 0.00000000 0.00000000 0.000000000 0.00000000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.00725310 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.49677422 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15348718 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 4 0 18.09914400 0.014760512 0.00000000 0.00000000 0.00000000 3.97691450 0.091649350 0.00000000 0.00000000 0.00000000 1.14507680 0.000000000 1.00000000 0.00000000 0.00000000 0.36188831 0.000000000 0.00000000 1.00000000 0.00000000 0.11460548 0.000000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 7 $ NITROGEN (11s,5p,1d) -> [11s,4p,1d] $ S-TYPE FUNCTIONS 11 11 0 266003.0928380 1.00000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.000000000 40030.93066240 0.00000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 6024.27360000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 906.59577000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 208.44780000 0.000000000 0.00000000 0.00000000 0.000000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 60.10368300 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 19.97334800 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.00000000 0.000000000 7.33419850 0.00000000 0.00000000 0.000000000 0.00000000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.89381940 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.70806350 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.21581223 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 4 0 26.36260900 0.014901061 0.00000000 0.00000000 0.00000000 5.87773430 0.093338245 0.00000000 0.00000000 0.00000000 1.71678920 0.000000000 1.00000000 0.00000000 0.00000000 0.54594357 0.000000000 0.00000000 1.00000000 0.00000000 0.16994634 0.000000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 8 $ OXYGEN (11s,5p,1d) -> [11s,4p,1d] $ S-TYPE FUNCTIONS 11 11 0 354626.6856560 1.00000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.000000000 53417.06373840 0.00000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 8046.15900000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 1211.98490000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 279.52491000 0.000000000 0.00000000 0.00000000 0.000000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 80.93299600 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 26.93427000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.00000000 0.000000000 9.83933200 0.00000000 0.00000000 0.000000000 0.00000000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.83403740 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.95681143 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.28899604 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 4 0 34.90661400 0.015617689 0.00000000 0.00000000 0.00000000 7.84656390 0.098281028 0.00000000 0.00000000 0.00000000 2.30498550 0.000000000 1.00000000 0.00000000 0.00000000 0.72205670 0.000000000 0.00000000 1.00000000 0.00000000 0.21525878 0.000000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 9 $ FLUORINE (11s,5p,1d) -> [11s,4p,1d] $ S-TYPE FUNCTIONS 11 11 0 451592.0611770 1.00000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.000000000 68054.87720450 0.00000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 10255.86300000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 1545.55750000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 357.06977000 0.000000000 0.00000000 0.00000000 0.000000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 103.63143000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 34.50261600 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.00000000 0.000000000 12.54609500 0.00000000 0.00000000 0.000000000 0.00000000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 4.83183280 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 1.23312350 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.36996157 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 4 0 44.60800700 0.016248533 0.00000000 0.00000000 0.00000000 10.09667300 0.102196150 0.00000000 0.00000000 0.00000000 2.98488130 0.000000000 1.00000000 0.00000000 0.00000000 0.93222839 0.000000000 0.00000000 1.00000000 0.00000000 0.27221117 0.000000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.00000000 1.000000000 a 15 $ PHOSPHORUS (13s,7p,2d) -> [13s,6p,2d] $ S-TYPE FUNCTIONS 13 13 0 1564119.688470 1.00000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.000000000 0.00000000 0.00000000 236349.2025120 0.00000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 35713.98400000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 5396.62770000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 1249.70930000 0.000000000 0.00000000 0.00000000 0.000000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 359.93426000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 119.17126000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 43.98355800 0.00000000 0.00000000 0.000000000 0.00000000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 17.62667400 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 5.42009030 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 2.07387300 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.42642466 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000000 0.00000000 0.15187254 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 $ P-TYPE FUNCTIONS 7 6 0 212.86586000 0.012776106 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.60019500 0.087688413 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.51553800 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.47557110 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.04415270 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.52179721 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15064449 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.40000000 1.00000000 0.0000000 0.35000000 0.00000000 1.0000000 a 16 $ SULFUR (13s,7p,2d) -> [13s,6p,2d] $ S-TYPE FUNCTIONS 13 13 0 1564119.688470 1.00000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.000000000 0.00000000 0.00000000 236349.2025120 0.00000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 35713.98400000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 5396.62770000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 1249.70930000 0.000000000 0.00000000 0.00000000 0.000000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 359.93426000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 119.17126000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 43.98355800 0.00000000 0.00000000 0.000000000 0.00000000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000000 0.00000000 17.62667400 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000000 0.00000000 5.42009030 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000000 0.00000000 2.07387300 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000000 0.00000000 0.42642466 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000000 0.00000000 0.15187254 0.00000000 0.000000000 0.00000000 0.00000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000000 1.00000000 $ P-TYPE FUNCTIONS 7 6 0 212.86586000 0.012776106 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.60019500 0.087688413 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.51553800 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.47557110 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.04415270 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.52179721 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15064449 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.60000000 1.00000000 0.00000000 0.40000000 0.00000000 1.00000000 ergo-3.5/basis/3-21++Gs0000775000175000017500000004625712743400275011313 00000000000000$ Basis = 3-21++G* $ Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl $ $ REFERENCE $ Elements References $ -------- ---------- $ H - Ne: J.S. Binkley, J.A. Pople, W.J. Hehre, J. Am. Chem. Soc 102 939 (1980) $ Na - Ar: M.S. Gordon, J.S. Binkley, J.A. Pople, W.J. Pietro and W.J. Hehre, $ J. Am. Chem. Soc. 104, 2797 (1983). $ K - Ca: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 7, 359 (1986). $ Ga - Kr: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 7, 359 (1986). $ Sc - Zn: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 8, 861 (1987). $ Y - Cd: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 8, 880 (1987). $ Cs : A 3-21G quality set derived from the Huzinage MIDI basis sets. $ E.D. Glendening and D. Feller, J. Phys. Chem. 99, 3060 (1995) $ $ ## DIFFUSE FUNCTIONS $ Elements Reference $ -------- ---------- $ H, Li-Cl: T. Clark, J. Chandrasekhar, P.V.R. Schleyer, J. Comp. Chem. 4, 294 $ (1983). $ $ ## POLARIZATION FUNCTIONS $ Elements Reference $ -------- ---------- $ Na - Ar: W.J. Pietro, M.M. Francl, W.J. Hehre, D.J. DeFrees, J.A. Pople and $ J.S. Binkley, J. Am. Chem. Soc. 104, 5039 (1982) $ a 1 $ HYDROGEN (3s) -> [2s] $ HYDROGEN (Diffuse s) $ S-TYPE FUNCTIONS 4 3 0 5.4471780 0.15628500 0.00000000 0.00000000 0.8245470 0.90469100 0.00000000 0.00000000 0.1831920 0.00000000 1.00000000 0.00000000 0.0360000 0.00000000 0.00000000 1.00000000 a 2 $ HELIUM (3s) -> [2s] $ S-TYPE FUNCTIONS 3 2 0 13.6267000 0.17523000 0.00000000 1.9993500 0.89348300 0.00000000 0.3829930 0.00000000 1.00000000 a 3 $ LITHIUM (6s,3p) -> [3s,2p] $ LITHIUM (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 36.8382000 0.06966860 0.00000000 0.00000000 0.00000000 5.4817200 0.38134600 0.00000000 0.00000000 0.00000000 1.1132700 0.68170200 0.00000000 0.00000000 0.00000000 0.5402050 0.00000000 -0.26312700 0.00000000 0.00000000 0.1022550 0.00000000 1.14339000 0.00000000 0.00000000 0.0285650 0.00000000 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 0.5402050 0.16154600 0.00000000 0.00000000 0.1022550 0.91566300 0.00000000 0.00000000 0.0285650 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (6s,3p) -> [3s,2p] $ BERYLLIUM (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 71.8876000 0.06442630 0.00000000 0.00000000 0.00000000 10.7289000 0.36609600 0.00000000 0.00000000 0.00000000 2.2220500 0.69593400 0.00000000 0.00000000 0.00000000 1.2954800 0.00000000 -0.42106400 0.00000000 0.00000000 0.2688810 0.00000000 1.22407000 0.00000000 0.00000000 0.0773500 0.00000000 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 1.2954800 0.20513200 0.00000000 0.00000000 0.2688810 0.88252800 0.00000000 0.00000000 0.0773500 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 1.00000000 a 5 $ BORON (6s,3p) -> [3s,2p] $ BORON (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 116.4340000 0.06296050 0.00000000 0.00000000 0.00000000 17.4314000 0.36330400 0.00000000 0.00000000 0.00000000 3.6801600 0.69725500 0.00000000 0.00000000 0.00000000 2.2818700 0.00000000 -0.36866200 0.00000000 0.00000000 0.4652480 0.00000000 1.19944000 0.00000000 0.00000000 0.1243280 0.00000000 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 2.2818700 0.23115200 0.00000000 0.00000000 0.4652480 0.86676400 0.00000000 0.00000000 0.1243280 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (6s,3p) -> [3s,2p] $ CARBON (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 172.2560000 0.06176690 0.00000000 0.00000000 0.00000000 25.9109000 0.35879400 0.00000000 0.00000000 0.00000000 5.5333500 0.70071300 0.00000000 0.00000000 0.00000000 3.6649800 0.00000000 -0.39589700 0.00000000 0.00000000 0.7705450 0.00000000 1.21584000 0.00000000 0.00000000 0.1958570 0.00000000 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 3.6649800 0.23646000 0.00000000 0.00000000 0.7705450 0.86061900 0.00000000 0.00000000 0.1958570 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (6s,3p) -> [3s,2p] $ NITROGEN (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 242.7660000 0.05986570 0.00000000 0.00000000 0.00000000 36.4851000 0.35295500 0.00000000 0.00000000 0.00000000 7.8144900 0.70651300 0.00000000 0.00000000 0.00000000 5.4252200 0.00000000 -0.41330100 0.00000000 0.00000000 1.1491500 0.00000000 1.22442000 0.00000000 0.00000000 0.2832050 0.00000000 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 5.4252200 0.23797200 0.00000000 0.00000000 1.1491500 0.85895300 0.00000000 0.00000000 0.2832050 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (6s,3p) -> [3s,2p] $ OXYGEN (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 322.0370000 0.05923940 0.00000000 0.00000000 0.00000000 48.4308000 0.35150000 0.00000000 0.00000000 0.00000000 10.4206000 0.70765800 0.00000000 0.00000000 0.00000000 7.4029400 0.00000000 -0.40445300 0.00000000 0.00000000 1.5762000 0.00000000 1.22156000 0.00000000 0.00000000 0.3736840 0.00000000 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 7.4029400 0.24458600 0.00000000 0.00000000 1.5762000 0.85395500 0.00000000 0.00000000 0.3736840 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 1.00000000 a 9 $ FLUORINE (6s,3p) -> [3s,2p] $ FLUORINE (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 413.8010000 0.05854830 0.00000000 0.00000000 0.00000000 62.2446000 0.34930800 0.00000000 0.00000000 0.00000000 13.4340000 0.70963200 0.00000000 0.00000000 0.00000000 9.7775900 0.00000000 -0.40732700 0.00000000 0.00000000 2.0861700 0.00000000 1.22314000 0.00000000 0.00000000 0.4823830 0.00000000 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 9.7775900 0.24668000 0.00000000 0.00000000 2.0861700 0.85232100 0.00000000 0.00000000 0.4823830 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 1.00000000 a 10 $ NEON (6s,3p) -> [3s,2p] $ NEON (Diffuse sp) $ S-TYPE FUNCTIONS 7 4 0 515.7240000 0.05814300 0.00000000 0.00000000 0.00000000 77.6538000 0.34795100 0.00000000 0.00000000 0.00000000 16.8136000 0.71071400 0.00000000 0.00000000 0.00000000 12.4830000 0.00000000 -0.40992200 0.00000000 0.00000000 2.6645100 0.00000000 1.22431000 0.00000000 0.00000000 0.6062500 0.00000000 0.00000000 1.00000000 0.00000000 0.1300000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 3 0 12.4830000 0.24746000 0.00000000 0.00000000 2.6645100 0.85174300 0.00000000 0.00000000 0.6062500 0.00000000 1.00000000 0.00000000 0.1300000 0.00000000 0.00000000 1.00000000 a 11 $ SODIUM (9s,6p) -> [4s,3p] $ SODIUM (Diffuse sp) $ SODIUM (1d) $ S-TYPE FUNCTIONS 10 5 0 547.6130000 0.06749110 0.00000000 0.00000000 0.00000000 0.00000000 82.0678000 0.39350500 0.00000000 0.00000000 0.00000000 0.00000000 17.6917000 0.66560500 0.00000000 0.00000000 0.00000000 0.00000000 17.5407000 0.00000000 -0.11193700 0.00000000 0.00000000 0.00000000 3.7939800 0.00000000 0.25465400 0.00000000 0.00000000 0.00000000 0.9064410 0.00000000 0.84441700 0.00000000 0.00000000 0.00000000 0.5018240 0.00000000 0.00000000 -0.21966000 0.00000000 0.00000000 0.0609458 0.00000000 0.00000000 1.08912000 0.00000000 0.00000000 0.0244349 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0076000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 17.5407000 0.12823300 0.00000000 0.00000000 0.00000000 3.7939800 0.47153300 0.00000000 0.00000000 0.00000000 0.9064410 0.60427300 0.00000000 0.00000000 0.00000000 0.5018240 0.00000000 0.00906650 0.00000000 0.00000000 0.0609458 0.00000000 0.99720200 0.00000000 0.00000000 0.0244349 0.00000000 0.00000000 1.00000000 0.00000000 0.0076000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 a 12 $ MAGNESIUM (9s,6p) -> [4s,3p] $ MAGNESIUM (Diffuse sp) $ MAGNESIUM (1d) $ S-TYPE FUNCTIONS 10 5 0 652.8410000 0.06759820 0.00000000 0.00000000 0.00000000 0.00000000 98.3805000 0.39177800 0.00000000 0.00000000 0.00000000 0.00000000 21.2996000 0.66666100 0.00000000 0.00000000 0.00000000 0.00000000 23.3727000 0.00000000 -0.11024600 0.00000000 0.00000000 0.00000000 5.1995300 0.00000000 0.18411900 0.00000000 0.00000000 0.00000000 1.3150800 0.00000000 0.89639900 0.00000000 0.00000000 0.00000000 0.6113490 0.00000000 0.00000000 -0.36110100 0.00000000 0.00000000 0.1418410 0.00000000 0.00000000 1.21505000 0.00000000 0.00000000 0.0464011 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0146000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 23.3727000 0.12101400 0.00000000 0.00000000 0.00000000 5.1995300 0.46281000 0.00000000 0.00000000 0.00000000 1.3150800 0.60690700 0.00000000 0.00000000 0.00000000 0.6113490 0.00000000 0.02426330 0.00000000 0.00000000 0.1418410 0.00000000 0.98667300 0.00000000 0.00000000 0.0464011 0.00000000 0.00000000 1.00000000 0.00000000 0.0146000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 a 13 $ ALUMINUM (9s,6p) -> [4s,3p] $ ALUMINUM (Diffuse sp) $ ALUMINUM (1d) $ S-TYPE FUNCTIONS 10 5 0 775.7370000 0.06683470 0.00000000 0.00000000 0.00000000 0.00000000 116.9520000 0.38906100 0.00000000 0.00000000 0.00000000 0.00000000 25.3326000 0.66946800 0.00000000 0.00000000 0.00000000 0.00000000 29.4796000 0.00000000 -0.10790200 0.00000000 0.00000000 0.00000000 6.6331400 0.00000000 0.14624500 0.00000000 0.00000000 0.00000000 1.7267500 0.00000000 0.92373000 0.00000000 0.00000000 0.00000000 0.9461600 0.00000000 0.00000000 -0.32032700 0.00000000 0.00000000 0.2025060 0.00000000 0.00000000 1.18412000 0.00000000 0.00000000 0.0639088 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0318000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 29.4796000 0.11757400 0.00000000 0.00000000 0.00000000 6.6331400 0.46117400 0.00000000 0.00000000 0.00000000 1.7267500 0.60553500 0.00000000 0.00000000 0.00000000 0.9461600 0.00000000 0.05193830 0.00000000 0.00000000 0.2025060 0.00000000 0.97266000 0.00000000 0.00000000 0.0639088 0.00000000 0.00000000 1.00000000 0.00000000 0.0318000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.3250000 1.00000000 a 14 $ SILICON (9s,6p) -> [4s,3p] $ SILICON (Diffuse sp) $ SILICON (1d) $ S-TYPE FUNCTIONS 10 5 0 910.6550000 0.06608230 0.00000000 0.00000000 0.00000000 0.00000000 137.3360000 0.38622900 0.00000000 0.00000000 0.00000000 0.00000000 29.7601000 0.67238000 0.00000000 0.00000000 0.00000000 0.00000000 36.6716000 0.00000000 -0.10451100 0.00000000 0.00000000 0.00000000 8.3172900 0.00000000 0.10741000 0.00000000 0.00000000 0.00000000 2.2164500 0.00000000 0.95144600 0.00000000 0.00000000 0.00000000 1.0791300 0.00000000 0.00000000 -0.37610800 0.00000000 0.00000000 0.3024220 0.00000000 0.00000000 1.25165000 0.00000000 0.00000000 0.0933392 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0331000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 36.6716000 0.11335500 0.00000000 0.00000000 0.00000000 8.3172900 0.45757800 0.00000000 0.00000000 0.00000000 2.2164500 0.60742700 0.00000000 0.00000000 0.00000000 1.0791300 0.00000000 0.06710300 0.00000000 0.00000000 0.3024220 0.00000000 0.95688300 0.00000000 0.00000000 0.0933392 0.00000000 0.00000000 1.00000000 0.00000000 0.0331000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4500000 1.00000000 a 15 $ PHOSPHORUS (9s,6p) -> [4s,3p] $ PHOSPHORUS (Diffuse sp) $ PHOSPHORUS (1d) $ S-TYPE FUNCTIONS 10 5 0 1054.9000000 0.06554100 0.00000000 0.00000000 0.00000000 0.00000000 159.1950000 0.38403600 0.00000000 0.00000000 0.00000000 0.00000000 34.5304000 0.67454100 0.00000000 0.00000000 0.00000000 0.00000000 44.2866000 0.00000000 -0.10213000 0.00000000 0.00000000 0.00000000 10.1019000 0.00000000 0.08159200 0.00000000 0.00000000 0.00000000 2.7399700 0.00000000 0.96978800 0.00000000 0.00000000 0.00000000 1.2186500 0.00000000 0.00000000 -0.37149500 0.00000000 0.00000000 0.3955460 0.00000000 0.00000000 1.27099000 0.00000000 0.00000000 0.1228110 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0348000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 44.2866000 0.11085100 0.00000000 0.00000000 0.00000000 10.1019000 0.45649500 0.00000000 0.00000000 0.00000000 2.7399700 0.60693600 0.00000000 0.00000000 0.00000000 1.2186500 0.00000000 0.09158200 0.00000000 0.00000000 0.3955460 0.00000000 0.93492400 0.00000000 0.00000000 0.1228110 0.00000000 0.00000000 1.00000000 0.00000000 0.0348000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.5500000 1.00000000 a 16 $ SULFUR (9s,6p) -> [4s,3p] $ SULFUR (Diffuse sp) $ SULFUR (1d) $ S-TYPE FUNCTIONS 10 5 0 1210.6200000 0.06500700 0.00000000 0.00000000 0.00000000 0.00000000 182.7470000 0.38204000 0.00000000 0.00000000 0.00000000 0.00000000 39.6673000 0.67654500 0.00000000 0.00000000 0.00000000 0.00000000 52.2236000 0.00000000 -0.10031000 0.00000000 0.00000000 0.00000000 11.9629000 0.00000000 0.06508800 0.00000000 0.00000000 0.00000000 3.2891100 0.00000000 0.98145500 0.00000000 0.00000000 0.00000000 1.2238400 0.00000000 0.00000000 -0.28608900 0.00000000 0.00000000 0.4573030 0.00000000 0.00000000 1.22806000 0.00000000 0.00000000 0.1422690 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0405000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 52.2236000 0.10964600 0.00000000 0.00000000 0.00000000 11.9629000 0.45764900 0.00000000 0.00000000 0.00000000 3.2891100 0.60426100 0.00000000 0.00000000 0.00000000 1.2238400 0.00000000 0.16477700 0.00000000 0.00000000 0.4573030 0.00000000 0.87085500 0.00000000 0.00000000 0.1422690 0.00000000 0.00000000 1.00000000 0.00000000 0.0405000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6500000 1.00000000 a 17 $ CHLORINE (9s,6p) -> [4s,3p] $ CHLORINE (Diffuse sp) $ CHLORINE (1d) $ S-TYPE FUNCTIONS 10 5 0 1376.4000000 0.06458270 0.00000000 0.00000000 0.00000000 0.00000000 207.8570000 0.38036300 0.00000000 0.00000000 0.00000000 0.00000000 45.1554000 0.67819000 0.00000000 0.00000000 0.00000000 0.00000000 60.8014000 0.00000000 -0.09876390 0.00000000 0.00000000 0.00000000 13.9765000 0.00000000 0.05113380 0.00000000 0.00000000 0.00000000 3.8871000 0.00000000 0.99133700 0.00000000 0.00000000 0.00000000 1.3529900 0.00000000 0.00000000 -0.22240100 0.00000000 0.00000000 0.5269550 0.00000000 0.00000000 1.18252000 0.00000000 0.00000000 0.1667140 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0483000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 4 0 60.8014000 0.10859800 0.00000000 0.00000000 0.00000000 13.9765000 0.45868200 0.00000000 0.00000000 0.00000000 3.8871000 0.60196200 0.00000000 0.00000000 0.00000000 1.3529900 0.00000000 0.21921600 0.00000000 0.00000000 0.5269550 0.00000000 0.82232100 0.00000000 0.00000000 0.1667140 0.00000000 0.00000000 1.00000000 0.00000000 0.0483000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.7500000 1.00000000 ergo-3.5/basis/sad-J0000664000175000017500000003346212743400275011236 00000000000000$sad-J $ $ REFERENCE P. F. Provasi, G. A. Aucar and S. P. A. Sauer, J. Chem. Phys. 115, 1324 (2001) $ A. J. Sadlej, Coll. Czech. Chem. Commun. 53,1995 (1988). $ A. J. Sadlej, Theor. Chim. Acta 79, 123 (1991). $ a 1 $ HYDROGEN (10s,4p) -> [6s,4p] $ S-TYPE FUNCTIONS 10 6 0 64369.360000 0.4290D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9735.731200 0.3152D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1472.509000 0.00004345 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 222.713910 0.0003685 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 33.685014 0.004744 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.094788 0.03714 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.158786 0.1561 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.325840 0.2850 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.102741 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.032400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 4 0 1.158800 1.00000000 0.00000000 0.00000000 0.00000000 0.325800 0.00000000 1.00000000 0.00000000 0.00000000 0.102700 0.00000000 0.00000000 1.00000000 0.00000000 0.032400 0.00000000 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (14s,5p,4d) -> [9s,5p,4d] $ S-TYPE FUNCTIONS 14 9 0 10559364.0000 0.7243D-07 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1576065.70000 0.5439D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 235239.830000 0.7599D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35111.339000 0.00006578 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5240.635300 0.0008644 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 782.204800 0.007289 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 178.350830 0.03624 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 50.815942 0.1306 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.823562 0.3185 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.175776 0.4379 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.418049 0.2150 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.511900 0.01366 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.156590 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.047900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 5 0 18.841800 0.009572 0.00000000 0.00000000 0.00000000 0.00000000 4.159240 0.05688 0.00000000 0.00000000 0.00000000 0.00000000 1.206710 0.1904 1.00000000 0.00000000 0.00000000 0.00000000 0.385540 0.3126 0.00000000 1.00000000 0.00000000 0.00000000 0.121940 0.000000 0.00000000 0.00000000 1.00000000 0.00000000 0.038568 0.000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.206710 1.00000000 0.00000000 0.00000000 0.00000000 0.385540 0.00000000 1.00000000 0.00000000 0.00000000 0.121940 0.00000000 0.00000000 1.00000000 0.00000000 0.038658 0.00000000 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (14s,5p,2d) -> [9s,5p,4d] $ S-TYPE FUNCTIONS 14 9 0 15986424.0000 0.64613D-07 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2398773.90000 0.4664D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 359937.660000 0.6681D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54008.894000 0.00005595 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8104.071600 0.0007481 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1216.021500 0.006131 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 277.234280 0.03202 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 76.904023 0.1176 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.874419 0.2934 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.346767 0.4510 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.579794 0.2422 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.739610 0.01667 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.222617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.067006 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 5 0 26.868987 0.01025 0.00000000 0.00000000 0.00000000 0.00000000 5.991227 0.06293 0.00000000 0.00000000 0.00000000 0.00000000 1.750842 0.2029 1.00000000 0.00000000 0.00000000 0.00000000 0.560511 0.3292 0.00000000 1.00000000 0.00000000 0.00000000 0.175948 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.055231 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.750842 1.00000000 0.00000000 0.00000000 0.00000000 0.560511 0.00000000 1.00000000 0.00000000 0.00000000 0.175948 0.00000000 0.00000000 1.00000000 0.00000000 0.055231 0.00000000 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (14s,5p,4d) -> [9s,5p,4d] $ S-TYPE FUNCTIONS 14 9 0 21041985.0000 0.6340D-07 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3157022.00000 0.4746D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 473661.950000 0.6562D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71065.594000 0.00005664 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10662.285000 0.0007370 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1599.709700 0.006210 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 364.725260 0.03108 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 103.651790 0.1157 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 33.905805 0.3012 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.287469 0.4453 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.756805 0.2421 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.004271 0.01646 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.300686 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.090030 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 5 0 34.856463 0.01170 0.00000000 0.00000000 0.00000000 0.00000000 7.843131 0.07193 0.00000000 0.00000000 0.00000000 0.00000000 2.306249 0.2251 1.00000000 0.00000000 0.00000000 0.00000000 0.723164 0.3590 0.00000000 1.00000000 0.00000000 0.00000000 0.214882 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.063850 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 2.306200 1.00000000 0.00000000 0.00000000 0.00000000 0.723200 0.00000000 1.00000000 0.00000000 0.00000000 0.214900 0.00000000 0.00000000 1.00000000 0.00000000 0.063900 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (17s,10p,6d) -> [9s,7p,6d] $ S-TYPE FUNCTIONS 17 9 0 255547377.0000 0.1678D-07 -0.4654D-08 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35889284.00000 0.1332D-06 -0.3655D-07 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5040320.700000 0.2069D-05 -0.5736D-06 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 707866.8100000 0.00001879 -0.5162D-05 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 99413.40000000 0.0002739 -0.00007591 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13961.70000000 0.002435 -0.0006702 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3169.90000000 0.01231 -0.003451 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 902.46000000 0.04909 -0.01382 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 297.16000000 0.1509 -0.04600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.70200000 0.3319 -0.1127 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.15500000 0.4085 -0.2054 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.10800000 0.1856 -0.09117 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.57050000 0.01241 0.5311 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.14270000 -0.001590 0.5853 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.43400000 0.0 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.15700000 0.0 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.05680000 0.0 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 7 0 495.04000000 0.003123 -0.0007635 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 117.22000000 0.02425 -0.005903 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.50700000 0.1061 -0.02676 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.91000000 0.2830 -0.07236 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.50450000 0.4394 -0.1225 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.24330000 0.3139 -0.07018 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.77620000 0.04541 0.2614 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.29190000 0.0 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.10290000 0.0 0.0 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.03630000 0.0 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 5.4885000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.0640000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.7762000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2919000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1029000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0363000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $Elements supported $H C N O S ergo-3.5/basis/Huz-II0000775000175000017500000002225612743400275011347 00000000000000$Basis = Huz-II $Elements supported $H C N O F P S $ $ REFERENCE $ a 1 $ HYDROGEN (5s,1p) -> [3s,1p] $ S-TYPE FUNCTIONS 5 3 0 33.64440000 0.00612000 0.00000000 0.00000000 5.05796000 0.04575000 0.00000000 0.00000000 1.14680000 0.20572000 0.00000000 0.00000000 0.32114400 0.00000000 1.00000000 0.00000000 0.10130900 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.65000000 1.0 a 6 $ CARBON (9s,5p,1d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 9 5 0 4240.30980000 0.001215223 0.00000000 0.00000000 0.00000000 0.00000000 637.77827000 0.009273159 0.00000000 0.00000000 0.00000000 0.00000000 146.74534000 0.045279235 0.00000000 0.00000000 0.00000000 0.00000000 42.53142800 0.154923340 0.00000000 0.00000000 0.00000000 0.00000000 14.18480400 0.358083490 0.00000000 0.00000000 0.00000000 0.00000000 5.17569430 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 2.00725310 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.49677422 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15348718 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 4 0 18.09914400 0.014760512 0.00000000 0.00000000 0.00000000 3.97691450 0.091649350 0.00000000 0.00000000 0.00000000 1.14507680 0.000000000 1.00000000 0.00000000 0.00000000 0.36188831 0.000000000 0.00000000 1.00000000 0.00000000 0.11460548 0.000000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 7 $ NITROGEN (9s,5p,1d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 9 5 0 6024.27360000 0.001160378 0.00000000 0.00000000 0.00000000 0.00000000 906.59577000 0.008850070 0.00000000 0.00000000 0.00000000 0.00000000 208.44780000 0.043504152 0.00000000 0.00000000 0.00000000 0.00000000 60.10368300 0.151543740 0.00000000 0.00000000 0.00000000 0.00000000 19.97334800 0.354870680 0.00000000 0.00000000 0.00000000 0.00000000 7.33419850 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 2.89381940 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.70806350 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.21581223 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 4 0 26.36260900 0.014901061 0.00000000 0.00000000 0.00000000 5.87773430 0.093338245 0.00000000 0.00000000 0.00000000 1.71678920 0.000000000 1.00000000 0.00000000 0.00000000 0.54594357 0.000000000 0.00000000 1.00000000 0.00000000 0.16994634 0.000000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 8 $ OXYGEN (9s,5p,1d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 9 5 0 8046.15900000 0.001134604 0.00000000 0.00000000 0.00000000 0.00000000 1211.98490000 0.008636543 0.00000000 0.00000000 0.00000000 0.00000000 279.52491000 0.042297866 0.00000000 0.00000000 0.00000000 0.00000000 80.93299600 0.147603110 0.00000000 0.00000000 0.00000000 0.00000000 26.93427000 0.351476390 0.00000000 0.00000000 0.00000000 0.00000000 9.83933200 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 3.83403740 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.95681143 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.28899604 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 4 0 34.90661400 0.015617689 0.00000000 0.00000000 0.00000000 7.84656390 0.098281028 0.00000000 0.00000000 0.00000000 2.30498550 0.000000000 1.00000000 0.00000000 0.00000000 0.72205670 0.000000000 0.00000000 1.00000000 0.00000000 0.21525878 0.000000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.00000000 1.00000000 a 9 $ FLUORINE (9s,5p,1d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 9 5 0 10255.86300000 0.001129262 0.00000000 0.00000000 0.00000000 0.00000000 1545.55750000 0.008586802 0.00000000 0.00000000 0.00000000 0.00000000 357.06977000 0.041957136 0.00000000 0.00000000 0.00000000 0.00000000 103.63143000 0.146491370 0.00000000 0.00000000 0.00000000 0.00000000 34.50261600 0.351911320 0.00000000 0.00000000 0.00000000 0.00000000 12.54609500 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 4.83183280 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 1.23312350 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.36996157 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 4 0 44.60800700 0.016248533 0.00000000 0.00000000 0.00000000 10.09667300 0.102196150 0.00000000 0.00000000 0.00000000 2.98488130 0.000000000 1.00000000 0.00000000 0.00000000 0.93222839 0.000000000 0.00000000 1.00000000 0.00000000 0.27221117 0.000000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.00000000 1.000000000 a 15 $ PHOSPHORUS (11s,7p,2d) -> [7s,6p,2d] $ S-TYPE FUNCTIONS 11 7 0 35713.98400000 0.001015913 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5396.62770000 0.007689604 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1249.70930000 0.037859089 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 359.93426000 0.136973500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 119.17126000 0.339271260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.98355800 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.62667400 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.42009030 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.07387300 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.42642466 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15187254 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 6 0 212.86586000 0.012776106 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.60019500 0.087688413 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.51553800 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.47557110 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.04415270 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.52179721 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15064449 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.40000000 1.00000000 0.0000000 0.35000000 0.00000000 1.0000000 a 16 $ SULFUR (11s,7p,2d) -> [7s,6p,2d] $ S-TYPE FUNCTIONS 11 7 0 35713.98400000 0.001015913 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5396.62770000 0.007689604 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1249.70930000 0.037859089 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 359.93426000 0.136973500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 119.17126000 0.339271260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.98355800 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.62667400 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.42009030 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.07387300 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.42642466 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15187254 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 7 6 0 212.86586000 0.012776106 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.60019500 0.087688413 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.51553800 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.47557110 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.04415270 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.52179721 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.15064449 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.60000000 1.00000000 0.00000000 0.40000000 0.00000000 1.00000000 ergo-3.5/basis/DunningDZ0000775000175000017500000003454712743400275012150 00000000000000$DZ (Dunning) $ $ REFERENCE $ T.H. DUNNING, JR., J. CHEM. PHYS. 53, 2823 (1970). $ T.H. DUNNING, JR. AND P.J. HAY, IN METHODS OF ELECTRONIC STRUCTURE THEORY, $ VOL. 2, H.F. SCHAEFER III, ED., PLENUM PRESS (1977). a 1 $ HYDROGEN (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 19.2406000 0.03282800 0.00000000 2.8992000 0.23120800 0.00000000 0.6534000 0.81723800 0.00000000 0.1776000 0.00000000 1.00000000 a 5 $ BORON (9s,5p) -> [4s,2p] $ S-TYPE FUNCTIONS 9 4 0 2788.4100000 0.00212200 0.00000000 0.00000000 0.00000000 419.0390000 0.01617100 0.00000000 0.00000000 0.00000000 96.4683000 0.07835600 0.00000000 0.00000000 0.00000000 28.0694000 0.26325000 0.00000000 0.00000000 0.00000000 9.3760000 0.59672900 0.00000000 0.00000000 0.00000000 1.3057000 0.23039700 0.00000000 0.00000000 0.00000000 3.4062000 0.00000000 1.00000000 0.00000000 0.00000000 0.3245000 0.00000000 0.00000000 1.00000000 0.00000000 0.1022000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 2 0 11.3413000 0.01798700 0.00000000 2.4360000 0.11033900 0.00000000 0.6836000 0.38311100 0.00000000 0.2134000 0.64786000 0.00000000 0.0701000 0.00000000 1.00000000 a 6 $ CARBON (9s,5p) -> [4s,2p] $ S-TYPE FUNCTIONS 9 4 0 4232.6100000 0.00202900 0.00000000 0.00000000 0.00000000 634.8820000 0.01553500 0.00000000 0.00000000 0.00000000 146.0970000 0.07541100 0.00000000 0.00000000 0.00000000 42.4974000 0.25712100 0.00000000 0.00000000 0.00000000 14.1892000 0.59655500 0.00000000 0.00000000 0.00000000 1.9666000 0.24251700 0.00000000 0.00000000 0.00000000 5.1477000 0.00000000 1.00000000 0.00000000 0.00000000 0.4962000 0.00000000 0.00000000 1.00000000 0.00000000 0.1533000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 2 0 18.1557000 0.01853400 0.00000000 3.9864000 0.11544200 0.00000000 1.1429000 0.38620600 0.00000000 0.3594000 0.64008900 0.00000000 0.1146000 0.00000000 1.00000000 a 7 $ NITROGEN (9s,5p) -> [4s,2p] $ S-TYPE FUNCTIONS 9 4 0 5909.4400000 0.00200400 0.00000000 0.00000000 0.00000000 887.4510000 0.01531000 0.00000000 0.00000000 0.00000000 204.7490000 0.07429300 0.00000000 0.00000000 0.00000000 59.8376000 0.25336400 0.00000000 0.00000000 0.00000000 19.9981000 0.60057600 0.00000000 0.00000000 0.00000000 2.6860000 0.24511100 0.00000000 0.00000000 0.00000000 7.1927000 0.00000000 1.00000000 0.00000000 0.00000000 0.7000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2133000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 2 0 26.7860000 0.01825700 0.00000000 5.9564000 0.11640700 0.00000000 1.7074000 0.39011100 0.00000000 0.5314000 0.63722100 0.00000000 0.1654000 0.00000000 1.00000000 a 8 $ OXYGEN (9s,5p) -> [4s,2p] $ S-TYPE FUNCTIONS 9 4 0 7816.5400000 0.00203100 0.00000000 0.00000000 0.00000000 1175.8200000 0.01543600 0.00000000 0.00000000 0.00000000 273.1880000 0.07377100 0.00000000 0.00000000 0.00000000 81.1696000 0.24760600 0.00000000 0.00000000 0.00000000 27.1836000 0.61183200 0.00000000 0.00000000 0.00000000 3.4136000 0.24120500 0.00000000 0.00000000 0.00000000 9.5322000 0.00000000 1.00000000 0.00000000 0.00000000 0.9398000 0.00000000 0.00000000 1.00000000 0.00000000 0.2846000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 2 0 35.1832000 0.01958000 0.00000000 7.9040000 0.12418900 0.00000000 2.3051000 0.39472700 0.00000000 0.7171000 0.62737500 0.00000000 0.2137000 0.00000000 1.00000000 a 9 $ FLUORINE (9s,5p) -> [4s,2p] $ S-TYPE FUNCTIONS 9 4 0 9994.7900000 0.00201700 0.00000000 0.00000000 0.00000000 1506.0300000 0.01529500 0.00000000 0.00000000 0.00000000 350.2690000 0.07311000 0.00000000 0.00000000 0.00000000 104.0530000 0.24642000 0.00000000 0.00000000 0.00000000 34.8432000 0.61259300 0.00000000 0.00000000 0.00000000 4.3688000 0.24248900 0.00000000 0.00000000 0.00000000 12.2164000 0.00000000 1.00000000 0.00000000 0.00000000 1.2078000 0.00000000 0.00000000 1.00000000 0.00000000 0.3634000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 2 0 44.3555000 0.02086800 0.00000000 10.0820000 0.13009200 0.00000000 2.9959000 0.39621900 0.00000000 0.9383000 0.62036800 0.00000000 0.2733000 0.00000000 1.00000000 a 10 $ NEON (9s,5p) -> [4s,2p] $ S-TYPE FUNCTIONS 10 4 0 12100.0000000 0.00120000 0.00000000 0.00000000 0.00000000 1821.0000000 0.00909200 0.00000000 0.00000000 0.00000000 432.8000000 0.04130500 0.00000000 0.00000000 0.00000000 132.5000000 0.13786700 0.00000000 0.00000000 0.00000000 43.7700000 0.36243300 0.00000000 0.00000000 0.00000000 14.9100000 0.47224700 0.00000000 0.00000000 0.00000000 5.1270000 0.13003500 0.00000000 0.00000000 0.00000000 14.9100000 0.00000000 1.00000000 0.00000000 0.00000000 1.4910000 0.00000000 0.00000000 1.00000000 0.00000000 0.4468000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 2 0 56.4500000 0.02087500 0.00000000 12.9200000 0.13003200 0.00000000 3.8650000 0.39567900 0.00000000 1.2030000 0.62145000 0.00000000 0.3444000 0.00000000 1.00000000 a 13 $ ALUMINUM (11s,7p) -> [6s,4p] $ S-TYPE FUNCTIONS 12 6 0 23490.0000000 0.00250900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3548.0000000 0.01898600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 823.5000000 0.09291400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 237.7000000 0.33593500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 78.6000000 0.64739100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 78.6000000 0.00000000 0.11193700 0.00000000 0.00000000 0.00000000 0.00000000 29.0500000 0.00000000 0.65597600 0.00000000 0.00000000 0.00000000 0.00000000 11.6200000 0.00000000 0.28334900 0.00000000 0.00000000 0.00000000 0.00000000 3.4650000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.2330000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2018000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0780500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 4 0 141.5000000 0.01788200 0.00000000 0.00000000 0.00000000 33.2200000 0.12037500 0.00000000 0.00000000 0.00000000 10.3900000 0.41158000 0.00000000 0.00000000 0.00000000 3.5930000 0.59535300 0.00000000 0.00000000 0.00000000 3.5930000 0.00000000 0.21175800 0.00000000 0.00000000 1.2420000 0.00000000 0.83779500 0.00000000 0.00000000 0.3040000 0.00000000 0.00000000 1.00000000 0.00000000 0.0762900 0.00000000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (11s,7p) -> [6s,4p] $ S-TYPE FUNCTIONS 12 6 0 26740.0000000 0.00258300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4076.0000000 0.01923700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 953.3000000 0.09384300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 274.6000000 0.34123500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 90.6800000 0.64167500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 90.6800000 0.00000000 0.12143900 0.00000000 0.00000000 0.00000000 0.00000000 33.5300000 0.00000000 0.65314300 0.00000000 0.00000000 0.00000000 0.00000000 13.4600000 0.00000000 0.27762400 0.00000000 0.00000000 0.00000000 0.00000000 4.0510000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.4840000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2704000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0993200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 4 0 163.7000000 0.01149800 0.00000000 0.00000000 0.00000000 38.3500000 0.07772600 0.00000000 0.00000000 0.00000000 12.0200000 0.26359500 0.00000000 0.00000000 0.00000000 4.1850000 0.75826900 0.00000000 0.00000000 0.00000000 4.1850000 0.00000000 -1.17304500 0.00000000 0.00000000 1.4830000 0.00000000 1.43833500 0.00000000 0.00000000 0.3350000 0.00000000 0.00000000 1.00000000 0.00000000 0.0969900 0.00000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (11s,7p) -> [6s,4p] $ S-TYPE FUNCTIONS 12 6 0 30630.0000000 0.00261900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4684.0000000 0.01947900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1094.0000000 0.09520700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 315.3000000 0.34574200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 104.1000000 0.63628800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 104.1000000 0.00000000 0.13070600 0.00000000 0.00000000 0.00000000 0.00000000 38.4200000 0.00000000 0.65027400 0.00000000 0.00000000 0.00000000 0.00000000 15.4500000 0.00000000 0.27230800 0.00000000 0.00000000 0.00000000 0.00000000 4.6560000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.7590000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3409000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1238000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 4 0 187.7000000 0.01315800 0.00000000 0.00000000 0.00000000 43.6300000 0.09049400 0.00000000 0.00000000 0.00000000 13.6000000 0.30505400 0.00000000 0.00000000 0.00000000 4.7660000 0.71357900 0.00000000 0.00000000 0.00000000 4.7660000 0.00000000 -0.79257300 0.00000000 0.00000000 1.7430000 0.00000000 1.42998700 0.00000000 0.00000000 0.4192000 0.00000000 0.00000000 1.00000000 0.00000000 0.1245000 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (11s,7p) -> [6s,4p] $ S-TYPE FUNCTIONS 12 6 0 35710.0000000 0.00256500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5397.0000000 0.01940500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1250.0000000 0.09559500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 359.9000000 0.34579300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 119.2000000 0.63579400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 119.2000000 0.00000000 0.13009600 0.00000000 0.00000000 0.00000000 0.00000000 43.9800000 0.00000000 0.65130100 0.00000000 0.00000000 0.00000000 0.00000000 17.6300000 0.00000000 0.27195500 0.00000000 0.00000000 0.00000000 0.00000000 5.4200000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.0740000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.4264000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1519000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 4 0 212.9000000 0.01409100 0.00000000 0.00000000 0.00000000 49.6000000 0.09668500 0.00000000 0.00000000 0.00000000 15.5200000 0.32387400 0.00000000 0.00000000 0.00000000 5.4760000 0.69175600 0.00000000 0.00000000 0.00000000 5.4760000 0.00000000 -0.62673700 0.00000000 0.00000000 2.0440000 0.00000000 1.37705100 0.00000000 0.00000000 0.5218000 0.00000000 0.00000000 1.00000000 0.00000000 0.1506000 0.00000000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (11s,7p) -> [6s,4p] $ S-TYPE FUNCTIONS 12 6 0 40850.0000000 0.00253200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6179.0000000 0.01920700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1425.0000000 0.09525700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 409.2000000 0.34558900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 135.5000000 0.63640100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 135.5000000 0.00000000 0.12905600 0.00000000 0.00000000 0.00000000 0.00000000 50.1300000 0.00000000 0.64851100 0.00000000 0.00000000 0.00000000 0.00000000 20.2100000 0.00000000 0.27548700 0.00000000 0.00000000 0.00000000 0.00000000 6.2830000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.4600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.5271000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1884000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 8 4 0 240.8000000 0.01459500 0.00000000 0.00000000 0.00000000 56.5600000 0.09904700 0.00000000 0.00000000 0.00000000 17.8500000 0.33046200 0.00000000 0.00000000 0.00000000 6.3500000 0.68287400 0.00000000 0.00000000 0.00000000 6.3500000 0.00000000 -0.56178500 0.00000000 0.00000000 2.4030000 0.00000000 1.35190100 0.00000000 0.00000000 0.6410000 0.00000000 0.00000000 1.00000000 0.00000000 0.1838000 0.00000000 0.00000000 0.00000000 1.00000000 $Elements supported $H B C N O F Ne Al Si P S Cl ergo-3.5/basis/cc-pwCVDZ0000664000175000017500000005011212743400275011767 00000000000000$ Basis = cc-pwCVDZ $ $Elements supported $ H He B C N O F Ne Al Si P S Cl Ar $Elements References $-------- ---------- $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ Polarization and/or diffuse functions $Elements References $-------- ---------- $B - Ne: K.A. Peterson and T.H. Dunning, Jr. J. Chem. Phys. 117, 10548 (2002) $Al - Ar: $ ************************************************************************ a 1 $ HYDROGEN (4s,1p) -> [2s,1p] $ S-TYPE FUNCTIONS 4 2 0 13.0100000 0.01968500 0.00000000 1.9620000 0.13797700 0.00000000 0.4446000 0.47814800 0.00000000 0.1220000 0.50124000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.7270000 1.00000000 a 2 $ HELIUM (4s,1p) -> [2s,1p] $ S-TYPE FUNCTIONS 4 2 0 38.3600000 0.02380900 0.00000000 5.7700000 0.15489100 0.00000000 1.2400000 0.46998700 0.00000000 0.2976000 0.51302700 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.2750000 1.00000000 a 5 $ BORON (9s,4p,1d) -> [3s,2p,1d] $ BORON Tight (1s,1p) $ S-TYPE FUNCTIONS 10 4 0 4570.00000000 0.00069600 -0.00013900 0.00000000 0.00000000 685.90000000 0.00535300 -0.00109700 0.00000000 0.00000000 156.50000000 0.02713400 -0.00544400 0.00000000 0.00000000 44.47000000 0.10138000 -0.02191600 0.00000000 0.00000000 14.48000000 0.27205500 -0.05975100 0.00000000 0.00000000 5.13100000 0.44840300 -0.13873200 0.00000000 0.00000000 1.89800000 0.29012300 -0.13148200 0.00000000 0.00000000 0.33290000 0.01432200 0.53952600 0.00000000 0.00000000 0.10430000 -0.00348600 0.58077400 1.00000000 0.00000000 2.46300000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 6.00100000 0.03548100 0.00000000 0.00000000 1.24100000 0.19807200 0.00000000 0.00000000 0.33640000 0.50523000 0.00000000 0.00000000 0.95380000 0.47949900 1.00000000 0.00000000 4.56600000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.34300000 1.00000000 a 6 $ CARBON (9s,4p,1d) -> [3s,2p,1d] $ CARBON Tight (1s,1p) $ S-TYPE FUNCTIONS 10 4 0 6665.00000000 0.00069200 -0.00014600 0.00000000 0.00000000 1000.00000000 0.00532900 -0.00115400 0.00000000 0.00000000 228.00000000 0.02707700 -0.00572500 0.00000000 0.00000000 64.71000000 0.10171800 -0.02331200 0.00000000 0.00000000 21.06000000 0.27474000 -0.06395500 0.00000000 0.00000000 7.49500000 0.44856400 -0.14998100 0.00000000 0.00000000 2.79700000 0.28507400 -0.12726200 0.00000000 0.00000000 0.52150000 0.01520400 0.54452900 0.00000000 0.00000000 0.15960000 -0.00319100 0.58049600 1.00000000 0.00000000 3.33900000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 9.43900000 0.03810900 0.00000000 0.00000000 2.00200000 0.20948000 0.00000000 0.00000000 0.54560000 0.50855700 0.00000000 0.00000000 0.15170000 0.46884200 1.00000000 0.00000000 7.23500000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.55000000 1.00000000 a 7 $ NITROGEN (9s,4p,1d) -> [3s,2p,1d] $ NITROGEN Tight (1s,1p) $ S-TYPE FUNCTIONS 10 4 0 9046.00000000 0.00070000 -0.00015300 0.00000000 0.00000000 1357.00000000 0.00538900 -0.00120800 0.00000000 0.00000000 309.30000000 0.02740600 -0.00599200 0.00000000 0.00000000 87.73000000 0.10320700 -0.02454400 0.00000000 0.00000000 28.56000000 0.27872300 -0.06745900 0.00000000 0.00000000 10.21000000 0.44854000 -0.15807800 0.00000000 0.00000000 3.83800000 0.27823800 -0.12183100 0.00000000 0.00000000 0.74660000 0.01544000 0.54900300 0.00000000 0.00000000 0.22480000 -0.00286400 0.57881500 1.00000000 0.00000000 4.32000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 13.55000000 0.03991900 0.00000000 0.00000000 2.91700000 0.21716900 0.00000000 0.00000000 0.79730000 0.51031900 0.00000000 0.00000000 0.21850000 0.46221400 1.00000000 0.00000000 10.23900000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.81700000 1.00000000 a 8 $ OXYGEN (9s,4p,1d) -> [3s,2p,1d] $ OXYGEN Tight (1s,1p) $ S-TYPE FUNCTIONS 10 4 0 11720.00000 0.00071000 -0.00016000 0.00000000 0.00000000 1759.00000000 0.00547000 -0.00126300 0.00000000 0.00000000 400.80000000 0.02783700 -0.00626700 0.00000000 0.00000000 113.70000000 0.10480000 -0.02571600 0.00000000 0.00000000 37.03000000 0.28306200 -0.07092400 0.00000000 0.00000000 13.27000000 0.44871900 -0.16541100 0.00000000 0.00000000 5.02500000 0.27095200 -0.11695500 0.00000000 0.00000000 1.01300000 0.01545800 0.55736800 0.00000000 0.00000000 0.30230000 -0.00258500 0.57275900 1.00000000 0.00000000 5.45900000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 17.70000000 0.04301800 0.00000000 0.00000000 3.85400000 0.22891300 0.00000000 0.00000000 1.04600000 0.50872800 0.00000000 0.00000000 0.27530000 0.46053100 1.00000000 0.00000000 13.32000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.18500000 1.00000000 a 9 $ FLUORINE (9s,4p,1d) -> [3s,2p,1d] $ FLUORINE Tight (1s,1p) $ S-TYPE FUNCTIONS 10 4 0 14710.00000 0.00072100 -0.00016500 0.00000000 0.00000000 2207.00000000 0.00555300 -0.00130800 0.00000000 0.00000000 502.80000000 0.02826700 -0.00649500 0.00000000 0.00000000 142.60000000 0.10644400 -0.02669100 0.00000000 0.00000000 46.47000000 0.28681400 -0.07369000 0.00000000 0.00000000 16.70000000 0.44864100 -0.17077600 0.00000000 0.00000000 6.35600000 0.26476100 -0.11232700 0.00000000 0.00000000 1.31600000 0.01533300 0.56281400 0.00000000 0.00000000 0.38970000 -0.00233200 0.56877800 1.00000000 0.00000000 6.72400000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 22.67000000 0.04487800 0.00000000 0.00000000 4.97700000 0.23571800 0.00000000 0.00000000 1.34700000 0.50852100 0.00000000 0.00000000 0.34710000 0.45812000 1.00000000 0.00000000 16.80300000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.64000000 1.00000000 a 10 $ NEON (9s,4p,1d) -> [3s,2p,1d] $ NEON Tight (1s,1p) $ S-TYPE FUNCTIONS 10 4 0 17880.00000 0.00073800 -0.00017200 0.00000000 0.00000000 2683.00000000 0.00567700 -0.00135700 0.00000000 0.00000000 611.50000000 0.02888300 -0.00673700 0.00000000 0.00000000 173.50000000 0.10854000 -0.02766300 0.00000000 0.00000000 56.64000000 0.29090700 -0.07620800 0.00000000 0.00000000 20.42000000 0.44832400 -0.17522700 0.00000000 0.00000000 7.81000000 0.25802600 -0.10703800 0.00000000 0.00000000 1.65300000 0.01506300 0.56705000 0.00000000 0.00000000 0.48690000 -0.00210000 0.56521600 1.00000000 0.00000000 8.11600000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 28.39000000 0.04608700 0.00000000 0.00000000 6.27000000 0.24018100 0.00000000 0.00000000 1.69500000 0.50874400 0.00000000 0.00000000 0.43170000 0.45566000 1.00000000 0.00000000 20.65800000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 2.20200000 1.00000000 a 13 $ ALUMINUM (12s,8p,1d) -> [4s,3p,1d] $ ALUMINUM Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 64150.00000 0.00029025 -0.00007580 0.00001751 0.00000000 0.00000000 9617.00000000 0.00225064 -0.00058179 0.00013421 0.00000000 0.00000000 2189.00000000 0.01164590 -0.00308113 0.00071244 0.00000000 0.00000000 620.50000000 0.04673770 -0.01231120 0.00284330 0.00000000 0.00000000 202.70000000 0.14629900 -0.04197810 0.00976842 0.00000000 0.00000000 73.15000000 0.33028300 -0.10337100 0.02418500 0.00000000 0.00000000 28.55000000 0.41586100 -0.19630800 0.04749930 0.00000000 0.00000000 11.77000000 0.18925300 -0.08300020 0.02036210 0.00000000 0.00000000 3.30000000 0.01158890 0.54104000 -0.15878800 0.00000000 0.00000000 1.17300000 -0.00128385 0.57879600 -0.31169400 0.00000000 0.00000000 0.17520000 0.00042588 0.02881470 0.62014700 0.00000000 0.00000000 0.06473000 -0.00019928 -0.00953795 0.52094300 1.00000000 0.00000000 3.59900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 258.80000000 0.00406847 -0.00074805 0.00000000 0.00000000 60.89000000 0.03068150 -0.00545796 0.00000000 0.00000000 19.14000000 0.12914900 -0.02453710 0.00000000 0.00000000 6.88100000 0.32083100 -0.05821380 0.00000000 0.00000000 2.57400000 0.45381500 -0.09837560 0.00000000 0.00000000 0.95720000 0.27506600 -0.02600640 0.00000000 0.00000000 0.20990000 0.01908070 0.46402000 0.00000000 0.00000000 0.05986000 -0.00312848 0.64887000 1.00000000 0.00000000 0.92800000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.18900000 1.00000000 0.00000000 1.79200000 0.00000000 1.00000000 a 14 $ SILICON (12s,8p,1d) -> [4s,3p,1d] $ SILICON Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 78860.00000 0.00027044 -0.00007232 0.00001851 0.00000000 0.00000000 11820.00000 0.00209717 -0.00055512 0.00014224 0.00000000 0.00000000 2692.00000000 0.01085060 -0.00293805 0.00075219 0.00000000 0.00000000 763.40000000 0.04367540 -0.01176870 0.00302279 0.00000000 0.00000000 249.60000000 0.13765300 -0.04029070 0.01036770 0.00000000 0.00000000 90.28000000 0.31664400 -0.10060900 0.02625630 0.00000000 0.00000000 35.29000000 0.41858100 -0.19652800 0.05239890 0.00000000 0.00000000 14.51000000 0.21021200 -0.10238200 0.02909590 0.00000000 0.00000000 4.05300000 0.01449520 0.52719000 -0.17800300 0.00000000 0.00000000 1.48200000 -0.00203590 0.59325100 -0.34687400 0.00000000 0.00000000 0.25170000 0.00062419 0.03326520 0.62302000 0.00000000 0.00000000 0.09243000 -0.00028287 -0.00973662 0.53771200 1.00000000 0.00000000 4.49900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 315.90000000 0.00392656 -0.00085830 0.00000000 0.00000000 74.42000000 0.02988110 -0.00630328 0.00000000 0.00000000 23.48000000 0.12721200 -0.02882550 0.00000000 0.00000000 8.48800000 0.32094300 -0.06945600 0.00000000 0.00000000 3.21700000 0.45542900 -0.11949300 0.00000000 0.00000000 1.22900000 0.26856300 -0.01995810 0.00000000 0.00000000 0.29640000 0.01883360 0.51026800 0.00000000 0.00000000 0.08768000 -0.00262431 0.60038200 1.00000000 0.00000000 1.38800000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.27500000 1.00000000 0.00000000 2.27700000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (12s,8p,1d) -> [4s,3p,1d] $ PHOSPHORUS Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 94840.00000 0.00025551 -0.00006969 0.00001912 0.00000000 0.00000000 14220.00000 0.00198193 -0.00053527 0.00014722 0.00000000 0.00000000 3236.00000000 0.01027600 -0.00283709 0.00077791 0.00000000 0.00000000 917.10000000 0.04148230 -0.01139830 0.00314546 0.00000000 0.00000000 299.50000000 0.13198400 -0.03929290 0.01082000 0.00000000 0.00000000 108.10000000 0.30866200 -0.09963640 0.02799570 0.00000000 0.00000000 42.18000000 0.42064700 -0.19798300 0.05639780 0.00000000 0.00000000 17.28000000 0.22287800 -0.11486000 0.03581900 0.00000000 0.00000000 4.85800000 0.01640350 0.51859500 -0.19338700 0.00000000 0.00000000 1.81800000 -0.00254255 0.60184700 -0.37209700 0.00000000 0.00000000 0.33720000 0.00074805 0.03686120 0.62424600 0.00000000 0.00000000 0.12320000 -0.00033096 -0.00970759 0.55172100 1.00000000 0.00000000 5.47400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 370.50000000 0.00395005 -0.00095983 0.00000000 0.00000000 87.33000000 0.03024920 -0.00711177 0.00000000 0.00000000 27.59000000 0.12955400 -0.03271220 0.00000000 0.00000000 10.00000000 0.32759400 -0.07957840 0.00000000 0.00000000 3.82500000 0.45699200 -0.13501600 0.00000000 0.00000000 1.49400000 0.25308600 -0.00910585 0.00000000 0.00000000 0.39210000 0.01687980 0.53780200 0.00000000 0.00000000 0.11860000 -0.00207093 0.56906600 1.00000000 0.00000000 1.93900000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.37300000 1.00000000 0.00000000 2.76000000 0.00000000 1.00000000 a 16 $ SULFUR (12s,8p,1d) -> [4s,3p,1d] $ SULFUR Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 110800.00000 0.00024764 -0.00006870 0.00001991 0.00000000 0.00000000 16610.00000 0.00192026 -0.00052768 0.00015348 0.00000000 0.00000000 3781.00000000 0.00996192 -0.00279671 0.00080950 0.00000000 0.00000000 1071.00000000 0.04029750 -0.01126510 0.00328974 0.00000000 0.00000000 349.80000000 0.12860400 -0.03888340 0.01129670 0.00000000 0.00000000 126.30000000 0.30348000 -0.09950250 0.02963850 0.00000000 0.00000000 49.26000000 0.42143200 -0.19974000 0.05998510 0.00000000 0.00000000 20.16000000 0.23078100 -0.12336000 0.04132480 0.00000000 0.00000000 5.72000000 0.01789710 0.51319400 -0.20747400 0.00000000 0.00000000 2.18200000 -0.00297516 0.60712000 -0.39288900 0.00000000 0.00000000 0.43270000 0.00084952 0.03967530 0.63284000 0.00000000 0.00000000 0.15700000 -0.00036794 -0.00946864 0.55692400 1.00000000 0.00000000 6.50100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 399.70000000 0.00447541 -0.00116251 0.00000000 0.00000000 94.19000000 0.03417080 -0.00865664 0.00000000 0.00000000 29.75000000 0.14425000 -0.03908860 0.00000000 0.00000000 10.77000000 0.35392800 -0.09346250 0.00000000 0.00000000 4.11900000 0.45908500 -0.14799400 0.00000000 0.00000000 1.62500000 0.20638300 0.03019040 0.00000000 0.00000000 0.47260000 0.01021410 0.56157300 0.00000000 0.00000000 0.14070000 -0.00006031 0.53477600 1.00000000 0.00000000 2.50300000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.47900000 1.00000000 0.00000000 3.21100000 0.00000000 1.00000000 a 17 $ CHLORINE (12s,8p,1d) -> [4s,3p,1d] $ CHLORINE Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 127900.00000 0.00024115 -0.00006789 0.00002050 0.00000000 0.00000000 19170.00000 0.00187095 -0.00052184 0.00015830 0.00000000 0.00000000 4363.00000000 0.00970827 -0.00276513 0.00083364 0.00000000 0.00000000 1236.00000000 0.03931530 -0.01115370 0.00339880 0.00000000 0.00000000 403.60000000 0.12593200 -0.03859190 0.01167380 0.00000000 0.00000000 145.70000000 0.29934100 -0.09948480 0.03096220 0.00000000 0.00000000 56.81000000 0.42188600 -0.20139200 0.06295330 0.00000000 0.00000000 23.23000000 0.23720100 -0.13031300 0.04602570 0.00000000 0.00000000 6.64400000 0.01915310 0.50944300 -0.21931200 0.00000000 0.00000000 2.57500000 -0.00334792 0.61072500 -0.40877300 0.00000000 0.00000000 0.53710000 0.00092988 0.04215490 0.63846500 0.00000000 0.00000000 0.19380000 -0.00039638 -0.00923427 0.56236200 1.00000000 0.00000000 7.59100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 417.60000000 0.00525982 -0.00143570 0.00000000 0.00000000 98.33000000 0.03983320 -0.01077960 0.00000000 0.00000000 31.04000000 0.16465500 -0.04700750 0.00000000 0.00000000 11.19000000 0.38732200 -0.11103000 0.00000000 0.00000000 4.24900000 0.45707200 -0.15327500 0.00000000 0.00000000 1.62400000 0.15163600 0.08946090 0.00000000 0.00000000 0.53220000 0.00181615 0.57944400 0.00000000 0.00000000 0.16200000 0.00188296 0.48327200 1.00000000 0.00000000 3.09200000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.60000000 1.00000000 0.00000000 3.70100000 0.00000000 1.00000000 a 18 $ ARGON (12s,8p,1d) -> [4s,3p,1d] $ ARGON Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 145700.00000 0.00023670 -0.00006749 0.00002105 0.00000000 0.00000000 21840.00000 0.00183523 -0.00051852 0.00016257 0.00000000 0.00000000 4972.00000000 0.00952860 -0.00274825 0.00085546 0.00000000 0.00000000 1408.00000000 0.03862830 -0.01110070 0.00349745 0.00000000 0.00000000 459.70000000 0.12408100 -0.03848200 0.01201560 0.00000000 0.00000000 165.90000000 0.29647100 -0.09975990 0.03213680 0.00000000 0.00000000 64.69000000 0.42206800 -0.20308800 0.06552790 0.00000000 0.00000000 26.44000000 0.24171100 -0.13560800 0.04993700 0.00000000 0.00000000 7.62800000 0.02005090 0.50719500 -0.22976900 0.00000000 0.00000000 2.99600000 -0.00361000 0.61289800 -0.42100600 0.00000000 0.00000000 0.65040000 0.00097561 0.04429680 0.64233100 0.00000000 0.00000000 0.23370000 -0.00041132 -0.00899278 0.56754000 1.00000000 0.00000000 8.74200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 453.70000000 0.00570555 -0.00160655 0.00000000 0.00000000 106.80000000 0.04304600 -0.01217140 0.00000000 0.00000000 33.73000000 0.17659100 -0.05207890 0.00000000 0.00000000 12.13000000 0.40686300 -0.12373700 0.00000000 0.00000000 4.59400000 0.45254900 -0.15161900 0.00000000 0.00000000 1.67800000 0.12280100 0.14242500 0.00000000 0.00000000 0.59090000 -0.00445996 0.58450100 0.00000000 0.00000000 0.18520000 0.00205225 0.43754000 1.00000000 0.00000000 3.71100000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.73800000 1.00000000 0.00000000 4.25100000 0.00000000 1.00000000 ergo-3.5/basis/6-31Gfixed0000775000175000017500000007233012743400275012015 00000000000000$ Basis = 6-31G $ Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar Zn $ $ REFERENCE $ Elements References $ -------- ---------- $ H - He: W.J. Hehre, R. Ditchfield and J.A. Pople, J. Chem. Phys. 56, $ Li - Ne: 2257 (1972). Note: Li and B come from J.D. Dill and J.A. $ Pople, J. Chem. Phys. 62, 2921 (1975). $ Na - Ar: M.M. Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, $ D.J. DeFrees and J.A. Pople, J. Chem. Phys. 77, 3654 (1982) $ K - Zn: V. Rassolov, J.A. Pople, M. Ratner and T.L. Windus, J. Chem. Phys. $ 109, 1223 (1998) $ ** $ Note: He and Ne are unpublished basis sets taken from the Gaussian $ program $ a 1 $ HYDROGEN (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 18.7311370 0.03349460 0.00000000 2.8253937 0.23472695 0.00000000 0.6401217 0.81375733 0.00000000 0.1612778 0.00000000 1.00000000 a 2 $ HELIUM (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 38.4216340 0.02376600 0.00000000 5.7780300 0.15467900 0.00000000 1.2417740 0.46963000 0.00000000 0.2979640 0.00000000 1.00000000 a 3 $ LITHIUM (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 642.4189200 0.00214260 0.00000000 0.00000000 96.7985150 0.01620890 0.00000000 0.00000000 22.0911210 0.07731560 0.00000000 0.00000000 6.2010703 0.24578600 0.00000000 0.00000000 1.9351177 0.47018900 0.00000000 0.00000000 0.6367358 0.34547080 0.00000000 0.00000000 2.3249184 0.00000000 -0.03509170 0.00000000 0.6324306 0.00000000 -0.19123280 0.00000000 0.0790534 0.00000000 1.08398780 0.00000000 0.0359620 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 2.3249184 0.00894150 0.00000000 0.6324306 0.14100950 0.00000000 0.0790534 0.94536370 0.00000000 0.0359620 0.00000000 1.00000000 a 4 $ BERYLLIUM (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 1264.5857000 0.00194480 0.00000000 0.00000000 189.9368100 0.01483510 0.00000000 0.00000000 43.1590890 0.07209060 0.00000000 0.00000000 12.0986630 0.23715420 0.00000000 0.00000000 3.8063232 0.46919870 0.00000000 0.00000000 1.2728903 0.35652020 0.00000000 0.00000000 3.1964631 0.00000000 -0.11264870 0.00000000 0.7478133 0.00000000 -0.22950640 0.00000000 0.2199663 0.00000000 1.18691670 0.00000000 0.0823099 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 3.1964631 0.05598020 0.00000000 0.7478133 0.26155060 0.00000000 0.2199663 0.79397230 0.00000000 0.0823099 0.00000000 1.00000000 a 5 $ BORON (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 2068.8823000 0.00186630 0.00000000 0.00000000 310.6495700 0.01425150 0.00000000 0.00000000 70.6830330 0.06955160 0.00000000 0.00000000 19.8610800 0.23257290 0.00000000 0.00000000 6.2993048 0.46707870 0.00000000 0.00000000 2.1270270 0.36343140 0.00000000 0.00000000 4.7279710 0.00000000 -0.13039380 0.00000000 1.1903377 0.00000000 -0.13078890 0.00000000 0.3594117 0.00000000 1.13094440 0.00000000 0.1267512 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 4.7279710 0.07459760 0.00000000 1.1903377 0.30784670 0.00000000 0.3594117 0.74345680 0.00000000 0.1267512 0.00000000 1.00000000 a 6 $ CARBON (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 3047.5249000 0.00183470 0.00000000 0.00000000 457.3695100 0.01403730 0.00000000 0.00000000 103.9486900 0.06884260 0.00000000 0.00000000 29.2101550 0.23218440 0.00000000 0.00000000 9.2866630 0.46794130 0.00000000 0.00000000 3.1639270 0.36231200 0.00000000 0.00000000 7.8682724 0.00000000 -0.11933240 0.00000000 1.8812885 0.00000000 -0.16085420 0.00000000 0.5442493 0.00000000 1.14345640 0.00000000 0.1687144 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 7.8682724 0.06899910 0.00000000 1.8812885 0.31642400 0.00000000 0.5442493 0.74430830 0.00000000 0.1687144 0.00000000 1.00000000 a 7 $ NITROGEN (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 4173.5110000 0.00183480 0.00000000 0.00000000 627.4579000 0.01399500 0.00000000 0.00000000 142.9021000 0.06858700 0.00000000 0.00000000 40.2343300 0.23224100 0.00000000 0.00000000 12.8202100 0.46907000 0.00000000 0.00000000 4.3904370 0.36045500 0.00000000 0.00000000 11.6263580 0.00000000 -0.11496100 0.00000000 2.7162800 0.00000000 -0.16911800 0.00000000 0.7722180 0.00000000 1.14585200 0.00000000 0.2120313 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 11.6263580 0.06758000 0.00000000 2.7162800 0.32390700 0.00000000 0.7722180 0.74089500 0.00000000 0.2120313 0.00000000 1.00000000 a 8 $ OXYGEN (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 5484.6717000 0.00183110 0.00000000 0.00000000 825.2349500 0.01395010 0.00000000 0.00000000 188.0469600 0.06844510 0.00000000 0.00000000 52.9645000 0.23271430 0.00000000 0.00000000 16.8975700 0.47019300 0.00000000 0.00000000 5.7996353 0.35852090 0.00000000 0.00000000 15.5396160 0.00000000 -0.11077750 0.00000000 3.5999336 0.00000000 -0.14802630 0.00000000 1.0137618 0.00000000 1.13076700 0.00000000 0.2700058 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 15.5396160 0.07087430 0.00000000 3.5999336 0.33975280 0.00000000 1.0137618 0.72715860 0.00000000 0.2700058 0.00000000 1.00000000 a 9 $ FLUORINE (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 7001.1713000 0.00181960 0.00000000 0.00000000 1051.3660000 0.01391600 0.00000000 0.00000000 239.2857000 0.06840500 0.00000000 0.00000000 67.3974500 0.23318600 0.00000000 0.00000000 21.5199600 0.47126700 0.00000000 0.00000000 7.4031010 0.35661900 0.00000000 0.00000000 20.8479500 0.00000000 -0.10850700 0.00000000 4.8083080 0.00000000 -0.14645200 0.00000000 1.3440700 0.00000000 1.12868900 0.00000000 0.3581514 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 20.8479500 0.07162900 0.00000000 4.8083080 0.34591200 0.00000000 1.3440700 0.72247000 0.00000000 0.3581514 0.00000000 1.00000000 a 10 $ NEON (10s,4p) -> [3s,2p] $ S-TYPE FUNCTIONS 10 3 0 8425.8515300 0.00188435 0.00000000 0.00000000 1268.5194000 0.01433690 0.00000000 0.00000000 289.6214140 0.07010962 0.00000000 0.00000000 81.8590040 0.23737327 0.00000000 0.00000000 26.2515079 0.47300713 0.00000000 0.00000000 9.0947205 0.34840124 0.00000000 0.00000000 26.5321310 0.00000000 -0.10711829 0.00000000 6.1017550 0.00000000 -0.14616382 0.00000000 1.6962715 0.00000000 1.12777350 0.00000000 0.4458187 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 4 2 0 26.5321310 0.07190959 0.00000000 6.1017550 0.34951337 0.00000000 1.6962715 0.71994051 0.00000000 0.4458187 0.00000000 1.00000000 a 11 $ SODIUM (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 9993.2000000 0.00193770 0.00000000 0.00000000 0.00000000 1499.8900000 0.01480700 0.00000000 0.00000000 0.00000000 341.9510000 0.07270600 0.00000000 0.00000000 0.00000000 94.6797000 0.25262900 0.00000000 0.00000000 0.00000000 29.7345000 0.49324200 0.00000000 0.00000000 0.00000000 10.0063000 0.31316900 0.00000000 0.00000000 0.00000000 150.9630000 0.00000000 -0.00354210 0.00000000 0.00000000 35.5878000 0.00000000 -0.04395900 0.00000000 0.00000000 11.1683000 0.00000000 -0.10975210 0.00000000 0.00000000 3.9020100 0.00000000 0.18739800 0.00000000 0.00000000 1.3817700 0.00000000 0.64669900 0.00000000 0.00000000 0.4663820 0.00000000 0.30605800 0.00000000 0.00000000 0.4979660 0.00000000 0.00000000 -0.24850300 0.00000000 0.0843530 0.00000000 0.00000000 -0.13170400 0.00000000 0.0666350 0.00000000 0.00000000 1.23352000 0.00000000 0.0259544 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 150.9630000 0.00500170 0.00000000 0.00000000 35.5878000 0.03551100 0.00000000 0.00000000 11.1683000 0.14282500 0.00000000 0.00000000 3.9020100 0.33862000 0.00000000 0.00000000 1.3817700 0.45157900 0.00000000 0.00000000 0.4663820 0.27327100 0.00000000 0.00000000 0.4979660 0.00000000 -0.02302300 0.00000000 0.0843530 0.00000000 0.95035900 0.00000000 0.0666350 0.00000000 0.05985800 0.00000000 0.0259544 0.00000000 0.00000000 1.00000000 a 12 $ MAGNESIUM (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 11722.8000000 0.00197780 0.00000000 0.00000000 0.00000000 1759.9300000 0.01511400 0.00000000 0.00000000 0.00000000 400.8460000 0.07391100 0.00000000 0.00000000 0.00000000 112.8070000 0.24919100 0.00000000 0.00000000 0.00000000 35.9997000 0.48792800 0.00000000 0.00000000 0.00000000 12.1828000 0.31966200 0.00000000 0.00000000 0.00000000 189.1800000 0.00000000 -0.00323720 0.00000000 0.00000000 45.2119000 0.00000000 -0.04100800 0.00000000 0.00000000 14.3563000 0.00000000 -0.11260000 0.00000000 0.00000000 5.1388600 0.00000000 0.14863300 0.00000000 0.00000000 1.9065200 0.00000000 0.61649700 0.00000000 0.00000000 0.7058870 0.00000000 0.36482900 0.00000000 0.00000000 0.9293400 0.00000000 0.00000000 -0.21229000 0.00000000 0.2690350 0.00000000 0.00000000 -0.10798500 0.00000000 0.1173790 0.00000000 0.00000000 1.17584000 0.00000000 0.0421061 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 189.1800000 0.00492810 0.00000000 0.00000000 45.2119000 0.03498900 0.00000000 0.00000000 14.3563000 0.14072500 0.00000000 0.00000000 5.1388600 0.33364200 0.00000000 0.00000000 1.9065200 0.44494000 0.00000000 0.00000000 0.7058870 0.26925400 0.00000000 0.00000000 0.9293400 0.00000000 -0.02241900 0.00000000 0.2690350 0.00000000 0.19227000 0.00000000 0.1173790 0.00000000 0.84618100 0.00000000 0.0421061 0.00000000 0.00000000 1.00000000 a 13 $ ALUMINUM (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 13983.1000000 0.00194270 0.00000000 0.00000000 0.00000000 2098.7500000 0.01486000 0.00000000 0.00000000 0.00000000 477.7050000 0.07284900 0.00000000 0.00000000 0.00000000 134.3600000 0.24683000 0.00000000 0.00000000 0.00000000 42.8709000 0.48725800 0.00000000 0.00000000 0.00000000 14.5189000 0.32349600 0.00000000 0.00000000 0.00000000 239.6680000 0.00000000 -0.00292620 0.00000000 0.00000000 57.4419000 0.00000000 -0.03740800 0.00000000 0.00000000 18.2859000 0.00000000 -0.11448700 0.00000000 0.00000000 6.5991400 0.00000000 0.11563500 0.00000000 0.00000000 2.4904900 0.00000000 0.61259500 0.00000000 0.00000000 0.9445400 0.00000000 0.39379900 0.00000000 0.00000000 1.2779000 0.00000000 0.00000000 -0.22760600 0.00000000 0.3975900 0.00000000 0.00000000 0.14458300 0.00000000 0.1600950 0.00000000 0.00000000 1.09279000 0.00000000 0.0556577 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 239.6680000 0.00460290 0.00000000 0.00000000 57.4419000 0.03319900 0.00000000 0.00000000 18.2859000 0.13628200 0.00000000 0.00000000 6.5991400 0.33047600 0.00000000 0.00000000 2.4904900 0.44914600 0.00000000 0.00000000 0.9445400 0.26570400 0.00000000 0.00000000 1.2779000 0.00000000 -0.01751300 0.00000000 0.3975900 0.00000000 0.24453300 0.00000000 0.1600950 0.00000000 0.80493400 0.00000000 0.0556577 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 16115.9000000 0.00195948 0.00000000 0.00000000 0.00000000 2425.5800000 0.01492880 0.00000000 0.00000000 0.00000000 553.8670000 0.07284780 0.00000000 0.00000000 0.00000000 156.3400000 0.24613000 0.00000000 0.00000000 0.00000000 50.0683000 0.48591400 0.00000000 0.00000000 0.00000000 17.0178000 0.32500200 0.00000000 0.00000000 0.00000000 292.7180000 0.00000000 -0.00278094 0.00000000 0.00000000 69.8731000 0.00000000 -0.03571460 0.00000000 0.00000000 22.3363000 0.00000000 -0.11498500 0.00000000 0.00000000 8.1503900 0.00000000 0.09356340 0.00000000 0.00000000 3.1345800 0.00000000 0.60301700 0.00000000 0.00000000 1.2254300 0.00000000 0.41895900 0.00000000 0.00000000 1.7273800 0.00000000 0.00000000 -0.24463000 0.00000000 0.5729220 0.00000000 0.00000000 0.00431572 0.00000000 0.2221920 0.00000000 0.00000000 1.09818000 0.00000000 0.0778369 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 292.7180000 0.00443826 0.00000000 0.00000000 69.8731000 0.03266790 0.00000000 0.00000000 22.3363000 0.13472100 0.00000000 0.00000000 8.1503900 0.32867800 0.00000000 0.00000000 3.1345800 0.44964000 0.00000000 0.00000000 1.2254300 0.26137200 0.00000000 0.00000000 1.7273800 0.00000000 -0.01779510 0.00000000 0.5729220 0.00000000 0.25353900 0.00000000 0.2221920 0.00000000 0.80066900 0.00000000 0.0778369 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 19413.3000000 0.00185160 0.00000000 0.00000000 0.00000000 2909.4200000 0.01420620 0.00000000 0.00000000 0.00000000 661.3640000 0.06999950 0.00000000 0.00000000 0.00000000 185.7590000 0.24007900 0.00000000 0.00000000 0.00000000 59.1943000 0.48476200 0.00000000 0.00000000 0.00000000 20.0310000 0.33520000 0.00000000 0.00000000 0.00000000 339.4780000 0.00000000 -0.00278217 0.00000000 0.00000000 81.0101000 0.00000000 -0.03604990 0.00000000 0.00000000 25.8780000 0.00000000 -0.11663100 0.00000000 0.00000000 9.4522100 0.00000000 0.09683280 0.00000000 0.00000000 3.6656600 0.00000000 0.61441800 0.00000000 0.00000000 1.4674600 0.00000000 0.40379800 0.00000000 0.00000000 2.1562300 0.00000000 0.00000000 -0.25292300 0.00000000 0.7489970 0.00000000 0.00000000 0.03285170 0.00000000 0.2831450 0.00000000 0.00000000 1.08125000 0.00000000 0.0998317 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 339.4780000 0.00456462 0.00000000 0.00000000 81.0101000 0.03369360 0.00000000 0.00000000 25.8780000 0.13975500 0.00000000 0.00000000 9.4522100 0.33936200 0.00000000 0.00000000 3.6656600 0.45092100 0.00000000 0.00000000 1.4674600 0.23858600 0.00000000 0.00000000 2.1562300 0.00000000 -0.01776530 0.00000000 0.7489970 0.00000000 0.27405800 0.00000000 0.2831450 0.00000000 0.78542100 0.00000000 0.0998317 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 21917.1000000 0.00186900 0.00000000 0.00000000 0.00000000 3301.4900000 0.01423000 0.00000000 0.00000000 0.00000000 754.1460000 0.06969600 0.00000000 0.00000000 0.00000000 212.7110000 0.23848700 0.00000000 0.00000000 0.00000000 67.9896000 0.48330700 0.00000000 0.00000000 0.00000000 23.0515000 0.33807400 0.00000000 0.00000000 0.00000000 423.7350000 0.00000000 -0.00237670 0.00000000 0.00000000 100.7100000 0.00000000 -0.03169300 0.00000000 0.00000000 32.1599000 0.00000000 -0.11331700 0.00000000 0.00000000 11.8079000 0.00000000 0.05609000 0.00000000 0.00000000 4.6311000 0.00000000 0.59225500 0.00000000 0.00000000 1.8702500 0.00000000 0.45500600 0.00000000 0.00000000 2.6158400 0.00000000 0.00000000 -0.25037400 0.00000000 0.9221670 0.00000000 0.00000000 0.06695700 0.00000000 0.3412870 0.00000000 0.00000000 1.05451000 0.00000000 0.1171670 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 423.7350000 0.00406100 0.00000000 0.00000000 100.7100000 0.03068100 0.00000000 0.00000000 32.1599000 0.13045200 0.00000000 0.00000000 11.8079000 0.32720500 0.00000000 0.00000000 4.6311000 0.45285100 0.00000000 0.00000000 1.8702500 0.25604200 0.00000000 0.00000000 2.6158400 0.00000000 -0.01451100 0.00000000 0.9221670 0.00000000 0.31026300 0.00000000 0.3412870 0.00000000 0.75448300 0.00000000 0.1171670 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 25180.1000000 0.00183300 0.00000000 0.00000000 0.00000000 3780.3500000 0.01403400 0.00000000 0.00000000 0.00000000 860.4740000 0.06909700 0.00000000 0.00000000 0.00000000 242.1450000 0.23745200 0.00000000 0.00000000 0.00000000 77.3349000 0.48303400 0.00000000 0.00000000 0.00000000 26.2470000 0.33985600 0.00000000 0.00000000 0.00000000 491.7650000 0.00000000 -0.00229740 0.00000000 0.00000000 116.9840000 0.00000000 -0.03071400 0.00000000 0.00000000 37.4153000 0.00000000 -0.11252800 0.00000000 0.00000000 13.7834000 0.00000000 0.04501600 0.00000000 0.00000000 5.4521500 0.00000000 0.58935300 0.00000000 0.00000000 2.2258800 0.00000000 0.46520600 0.00000000 0.00000000 3.1864900 0.00000000 0.00000000 -0.25183000 0.00000000 1.1442700 0.00000000 0.00000000 0.06158900 0.00000000 0.4203770 0.00000000 0.00000000 1.06018000 0.00000000 0.1426570 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 491.7650000 0.00398940 0.00000000 0.00000000 116.9840000 0.03031800 0.00000000 0.00000000 37.4153000 0.12988000 0.00000000 0.00000000 13.7834000 0.32795100 0.00000000 0.00000000 5.4521500 0.45352700 0.00000000 0.00000000 2.2258800 0.25215400 0.00000000 0.00000000 3.1864900 0.00000000 -0.01429900 0.00000000 1.1442700 0.00000000 0.32357200 0.00000000 0.4203770 0.00000000 0.74350700 0.00000000 0.1426570 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (16s,10p) -> [4s,3p] $ S-TYPE FUNCTIONS 16 4 0 28348.3000000 0.00182526 0.00000000 0.00000000 0.00000000 4257.6200000 0.01396860 0.00000000 0.00000000 0.00000000 969.8570000 0.06870730 0.00000000 0.00000000 0.00000000 273.2630000 0.23620400 0.00000000 0.00000000 0.00000000 87.3695000 0.48221400 0.00000000 0.00000000 0.00000000 29.6867000 0.34204300 0.00000000 0.00000000 0.00000000 575.8910000 0.00000000 -0.00215972 0.00000000 0.00000000 136.8160000 0.00000000 -0.02907750 0.00000000 0.00000000 43.8098000 0.00000000 -0.11082700 0.00000000 0.00000000 16.2094000 0.00000000 0.02769990 0.00000000 0.00000000 6.4608400 0.00000000 0.57761300 0.00000000 0.00000000 2.6511400 0.00000000 0.48868800 0.00000000 0.00000000 3.8602800 0.00000000 0.00000000 -0.25559200 0.00000000 1.4137300 0.00000000 0.00000000 0.03780660 0.00000000 0.5166460 0.00000000 0.00000000 1.08056000 0.00000000 0.1738880 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 10 3 0 575.8910000 0.00380665 0.00000000 0.00000000 136.8160000 0.02923050 0.00000000 0.00000000 43.8098000 0.12646700 0.00000000 0.00000000 16.2094000 0.32351000 0.00000000 0.00000000 6.4608400 0.45489600 0.00000000 0.00000000 2.6511400 0.25663000 0.00000000 0.00000000 3.8602800 0.00000000 -0.01591970 0.00000000 1.4137300 0.00000000 0.32464600 0.00000000 0.5166460 0.00000000 0.74399000 0.00000000 0.1738880 0.00000000 0.00000000 1.00000000 a 25 $ MANGANESE (22s,16p,4d) -> [5s,4p,2d] $ s functions 22 5 0 56347.14000 0.1771580000E-02 0. 0. 0. 0. 8460.943000 0.1357081000E-01 0. 0. 0. 0. 1927.325000 0.6690605000E-01 0. 0. 0. 0. 543.2343000 0.2318541000 0. 0. 0. 0. 173.9905000 0.4799046000 0. 0. 0. 0. 59.36005000 0.3495737000 0. 0. 0. 0. 1165.412000 0. 0.2388751000E-02 0. 0. 0. 277.3276000 0. 0.3181708000E-01 0. 0. 0. 89.47278000 0. 0.1254670000 0. 0. 0. 33.48256000 0. -0.2955431000E-01 0. 0. 0. 13.54037000 0. -0.6175160000 0. 0. 0. 5.557972000 0. -0.4544458000 0. 0. 0. 45.83532000 0. 0. -0.3665856000E-02 0. 0. 15.18777000 0. 0. 0.7231971000E-01 0. 0. 6.500710000 0. 0. 0.2544486000 0. 0. 2.751583000 0. 0. -0.2910380000 0. 0. 1.145404000 0. 0. -0.7359860000 0. 0. 0.4536870000 0. 0. -0.1997617000 0. 0. 1.757999000 0. 0. 0. 0.5628572000E-01 0. 0.6670220000 0. 0. 0. 0.2897491000 0. 0.1051290000 0. 0. 0. -1.140653000 0. 0.3841800000E-01 0. 0. 0. 0. 1.000000000 $ p functions 16 4 0 1165.412000 0.3977318000E-02 0. 0. 0. 277.3276000 0.3103112000E-01 0. 0. 0. 89.47278000 0.1351894000 0. 0. 0. 33.48256000 0.3457387000 0. 0. 0. 13.54037000 0.4629205000 0. 0. 0. 5.557972000 0.2090592000 0. 0. 0. 45.83532000 0. -0.6887578000E-02 0. 0. 15.18777000 0. -0.2846816000E-01 0. 0. 6.500710000 0. 0.6031832000E-01 0. 0. 2.751583000 0. 0.3938961000 0. 0. 1.145404000 0. 0.5013769000 0. 0. 0.4536870000 0. 0.1792264000 0. 0. 1.757999000 0. 0. -0.5035024000 0. 0.6670220000 0. 0. 0.2345011000 0. 0.1051290000 0. 0. 0.9141257000 0. 0.3841800000E-01 0. 0. 0. 1.000000000 $ d functions 4 2 0 20.94355000 0.8672702000E-01 0. 5.510486000 0.3841883000 0. 1.665038000 0.7069071000 0. 0.4617330000 0. 1.000000000 a 30 $ ZINC (22s,16p,4d) -> [5s,4p,2d] $ s functions 22 5 0 82400.9400000 0.00174332 0. 0. 0. 0. 12372.5500000 0.01335966 0. 0. 0. 0. 2818.3510000 0.06594365 0. 0. 0. 0. 794.5717000 0.22941510 0. 0. 0. 0. 254.7232000 0.47854530 0. 0. 0. 0. 87.1388000 0.35377530 0. 0. 0. 0. 1732.5690000 0. 0.00236146 0. 0. 0. 412.7149000 0. 0.03150177 0. 0. 0. 133.6780000 0. 0.12727740 0. 0. 0. 50.3858500 0. -0.02145928 0. 0. 0. 20.5835800 0. -0.61976520 0. 0. 0. 8.5059400 0. -0.45901800 0. 0. 0. 69.3649200 0. 0. -0.00444010 0. 0. 23.6208200 0. 0. 0.07505253 0. 0. 10.1847100 0. 0. 0.25331110 0. 0. 4.3340820 0. 0. -0.28818970 0. 0. 1.8109180 0. 0. -0.72670520 0. 0. 0.7148410 0. 0. -0.21334390 0. 0. 2.8238420 0. 0. 0. 0.04898543 0. 1.0395430 0. 0. 0. 0.25927930 0. 0.1432640 0. 0. 0. -1.11571100 0. 0.0492960 0. 0. 0. 0. 1. $ p functions 16 4 0 1732.5690000 0.00396312 0. 0. 0. 412.7149000 0.03113411 0. 0. 0. 133.6780000 0.13639310 0. 0. 0. 50.3858500 0.35012660 0. 0. 0. 20.5835800 0.46231790 0. 0. 0. 8.5059400 0.20049950 0. 0. 0. 69.3649200 0. -0.00768926 0. 0. 23.6208200 0. -0.02997982 0. 0. 10.1847100 0. 0.07082411 0. 0. 4.3340820 0. 0.40461410 0. 0. 1.8109180 0. 0.48823250 0. 0. 0.7148410 0. 0.17519700 0. 0. 2.8238420 0. 0. -0.1586763 0. 1.0395430 0. 0. 0.0837933 0. 0.1432640 0. 0. 0.9840547 0. 0.0492960 0. 0. 0. 1.000000000 $ d functions 4 2 0 33.70764000 0.09262648 0. 9.06110600 0.40029800 0. 2.73838300 0.68966080 0. 0.73029400 0. 1.000000000 ergo-3.5/basis/aug-cc-pCVTZ-CTOCD-uc0000664000175000017500000003435712743400275013646 00000000000000$Basis = aug-cc-pCVTZ-CTOCD-uc $Elements supported $H C N O F $ $ REFERENCE A. Ligabue, S. P. A. Sauer and P. Lazzeretti, J. Chem. Phys. 118, 6830-6845 (2003) $ T. H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989) $ R. A. Kendall, T. H. Dunning, Jr. and R. J. Harrison, J. Chem. Phys. 96, 6769 (1992). $ D. E. Woon and T. H. Dunning, Jr. J. Chem. Phys. 103, 4572 (1995). ************************************************************************ a 1 $ HYDROGEN (6s,4p,1d) -> [4s,4p,1d] $ HYDROGEN Diffuse (1s,1p) $ S-TYPE FUNCTIONS 6 4 0 33.8700000 0.006068 0.00000000 0.00000000 0.00000000 5.0950000 0.045308 0.00000000 0.00000000 0.00000000 1.1590000 0.202822 0.00000000 0.00000000 0.00000000 0.3258000 0.503903 1.00000000 0.00000000 0.00000000 0.1027000 0.383421 0.00000000 1.00000000 0.00000000 0.0252600 0.0 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 5 0 18.5020000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.1020000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.4070000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3880000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1020000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.05700 1.00000000 0.00000000 0.24700 0.00000000 1.00000000 a 6 $ CARBON (11s,10p,5d,1f) -> [5s,10p,5d,1f] $ CARBON Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 11 5 0 8236.0000000 0.000531 -0.000113 0.0 0.0 0.0 1235.0000000 0.004108 -0.000878 0.0 0.0 0.0 280.8000000 0.021087 -0.004540 0.0 0.0 0.0 79.2700000 0.081853 -0.018133 0.0 0.0 0.0 25.5900000 0.234817 -0.055760 0.0 0.0 0.0 8.9970000 0.434401 -0.126895 0.0 0.0 0.0 3.3190000 0.346129 -0.170352 0.0 0.0 0.0 0.9059000 0.039378 0.140382 1.0 0.0 0.0 0.3643000 -0.008983 0.598684 0.0 0.0 0.0 0.1285000 0.002385 0.395389 0.0 1.0 0.0 0.0440200 0.000000 0.0 0.0 0.0 1.0 $ P-TYPE FUNCTIONS 11 11 0 1736.0000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 383.4000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 84.7000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 33.1900000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.7100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.7780000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.1330000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.2000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3827000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1209000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0356900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 45.03000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.83900000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.78400000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.0970000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.3180000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.7610000 1.00000000 0.00000000 0.2680000 0.00000000 1.00000000 a 7 $ NITROGEN (11s,10p,5d,1f) -> [5s,10p,5d,1f] $ NITROGEN Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 11 5 0 11420.000000 0.000523 -0.000115 0.0 0.0 0.0 1712.000000 0.004045 -0.000895 0.0 0.0 0.0 389.300000 0.020775 -0.004624 0.0 0.0 0.0 110.000000 0.080727 -0.018528 0.0 0.0 0.0 35.570000 0.233074 -0.057339 0.0 0.0 0.0 12.540000 0.433501 -0.132076 0.0 0.0 0.0 4.644000 0.347472 -0.172510 0.0 0.0 0.0 1.293000 0.041262 0.151814 1.0 0.0 0.0 0.511800 -0.008508 0.599944 0.0 0.0 0.0 0.1787000 0.002384 0.387462 0.0 1.0 0.0 0.0576000 0.000000 0.000000 0.0 0.0 1.0 $ P-TYPE FUNCTIONS 11 11 0 2390.0000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 533.8000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 119.2000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 44.8490000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.6300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.8710000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.9480000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.7420000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5550000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1725000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0491000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 72.55000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.20000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.83300000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.6540000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.4690000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1510000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.0930000 1.00000000 0.00000000 0.364 0.00000000 1.00000000 a 8 $ OXYGEN (11s,10p,5d,1f) -> [5s,10p,5d,1f] $ OXYGEN Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 11 5 0 15330.00000 0.000508 -0.000115 0.0 0.0 0.0 2299.00000 0.003929 -0.000895 0.0 0.0 0.0 522.40000 0.020243 -0.004636 0.0 0.0 0.0 147.30000 0.079181 -0.018724 0.0 0.0 0.0 47.55000 0.230687 -0.058463 0.0 0.0 0.0 16.76000 0.433118 -0.136463 0.0 0.0 0.0 6.20700 0.350260 -0.175740 0.0 0.0 0.0 1.75200 0.042728 0.160934 1.0 0.0 0.0 0.68820 -0.008154 0.603418 0.0 0.0 0.0 0.23840 0.002381 0.378765 0.0 1.0 0.0 0.07376 0.000000 0.000000 0.0 0.0 1.0 $ P-TYPE FUNCTIONS 11 11 0 3031.00000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 681.5000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 153.2000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 57.4370000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.4600000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.1590000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.7490000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.2800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.7156000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2140000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0597400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 106.8000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.85800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.30200000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.3140000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.6450000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2140000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.4280000 1.00000000 0.00000000 0.5000000 0.00000000 1.00000000 a 9 $ FLUORINE (11s,10p,5d,1f) -> [5s,10p,5d,1f] $ FLUORINE Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 11 5 0 19500.00000 0.000507 -0.000117 0.0 0.0 0.0 2923.00000 0.003923 -0.000912 0.0 0.0 0.0 664.50000 0.020200 -0.004717 0.0 0.0 0.0 187.50000 0.079010 -0.019086 0.0 0.0 0.0 60.62000 0.230439 -0.059655 0.0 0.0 0.0 21.42000 0.432872 -0.140010 0.0 0.0 0.0 7.95000 0.349964 -0.176782 0.0 0.0 0.0 2.25700 0.043233 0.171625 1.0 0.0 0.0 0.88150 -0.007892 0.605043 0.0 0.0 0.0 0.30410 0.002384 0.369512 0.0 1.0 0.0 0.09158 0.000000 0.000000 0.0 0.0 1.0 $ P-TYPE FUNCTIONS 11 11 0 3791.00000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 857.5000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 194.0000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71.3480000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.8800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.7560000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.9260000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.9300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.9132000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2672000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0736100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 149.0000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19.10800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.2900000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.1070000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.8550000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.2920000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.9170000 1.00000000 0.00000000 0.7240000 0.00000000 1.00000000 ergo-3.5/basis/Almlof-Taylor-ANO0000775000175000017500000004601012743400275013371 00000000000000$Basis = Almlof-Taylor-ANO $ Supported elements $ H He Li Be B C N O F Ne $ $ REFERENCE $ J. Almlof and P.R. Taylor, J. Chem. Phys., 86, 4070 (1987) $ a 1 $ HYDROGEN * s-type ANO's (max 6 functions can be used) 8 6 402.0099 60.24196 13.73217 3.904505 1.282709 0.465544 0.181120 0.072791 -0.000242 -0.000356 -0.000419 0.000341 0.000368 0.010923 -0.001776 -0.001274 -0.003615 -0.019538 0.004725 -0.111092 -0.009897 -0.018493 -0.017507 0.051377 0.069466 1.457387 -0.034765 -0.017519 -0.163684 -1.320052 0.730300 -2.092976 -0.121376 -0.457431 -1.177592 1.740413 -2.044682 1.863476 -0.220777 -0.322280 1.845239 -0.668402 3.031953 -1.367516 -0.190184 0.578838 -0.711784 -0.499035 -2.923384 0.808727 -0.050657 0.118148 -0.171249 0.542970 1.399653 -0.281226 * p-type ANO's (max 4 functions can be used) 6 4 9.88 3.95 1.58 0.63 0.25 0.10 0.003085 -0.017351 0.003736 -0.016538 0.002969 0.021253 -0.274218 1.305613 0.083876 -0.552816 -0.774419 -1.815533 0.325133 -0.152899 1.369931 1.147340 0.189603 0.524846 -0.735683 -0.239754 0.017708 0.014111 -0.022704 -0.174089 * d-type ANO's (max 3 functions can be used) 4 3 4.00 1.60 0.64 0.26 0.001265 -0.033799 0.394173 -0.159915 -0.659229 0.299118 -0.382208 0.215745 -0.895843 -0.100487 0.321384 0.678222 * f-type ANO's (max 3 functions can be used) 3 2 2.50 1.00 0.40 -0.040897 -0.266290 -0.261579 -0.127005 -0.104000 0.308426 a 2 $ HELIUM * s-type ANO's (max 7 functions can be used) 10 4 4840.8886 723.10892 164.29971 46.636262 15.277787 5.526897 2.132879 0.849674 0.343643 0.138709 0.000060 -0.000088 0.000127 0.000240 0.000464 -0.000687 0.001141 0.000766 0.002430 -0.003622 0.005028 0.013179 0.010031 -0.015501 0.030242 0.019825 0.034417 -0.060347 0.135043 0.572206 0.097129 -0.234521 0.842550 1.040777 0.213086 -0.604942 0.146941 -3.133634 0.344343 -0.221018 -1.737074 2.343859 0.349800 0.719938 0.613038 0.084874 0.122949 0.351682 0.550535 -0.795778 * p-type ANO's (max 4 functions can be used) 6 3 9.88 3.95 1.58 0.63 0.25 0.10 -0.022610 0.104419 -0.501232 -0.109536 0.586409 -0.813575 -0.438032 0.476857 1.583776 -0.472732 -0.769859 -0.468456 -0.099658 -0.235622 -0.505267 -0.000936 -0.004542 0.026841 * d-type ANO's (max 3 functions can be used) 4 2 4.74 1.90 0.76 0.30 -0.142182 0.732344 -0.530245 0.286329 -0.437889 -0.774218 -0.043336 -0.116380 * f-type ANO's (max 3 functions can be used) 3 1 3.60 1.44 0.58 0.391830 0.617814 0.146011 a 3 $ LITHIUM * s-type ANO's (max 7 functions can be used) 14 5 9497.9344 1416.8112 321.45994 91.124163 29.999891 11.017631 4.372801 1.831256 0.802261 0.362648 0.113995 0.051237 0.022468 0.007860 0.000106 0.000017 -0.000008 0.000026 -0.000021 0.000825 0.000136 -0.000062 0.000162 -0.000185 0.004328 0.000715 -0.000328 0.001184 -0.000807 0.017820 0.002949 -0.001344 0.003041 -0.004295 0.059877 0.010048 -0.004634 0.018977 -0.010734 0.162269 0.027891 -0.012789 0.021893 -0.048022 0.338376 0.061900 -0.029078 0.157101 -0.065236 0.505903 0.106172 -0.050306 -0.030982 -0.203415 0.428846 0.147411 -0.067773 0.682350 -0.271518 0.123023 0.123504 -0.121547 -0.470313 0.717004 0.003837 -0.253606 0.924407 -3.462195 -0.628776 -0.001059 -0.626693 -0.298116 2.876940 1.522387 -0.000031 -0.289615 -0.716545 -0.044998 -0.123112 0.000134 -0.006455 -0.006817 -0.292442 -0.495551 * p-type ANO's (max 6 functions can be used) 9 3 13.119504 3.077424 1.098800 0.435778 0.180243 0.076133 0.032546 0.014018 0.004906 -0.001579 0.000299 -0.003987 -0.007259 0.033445 0.008599 -0.024535 -0.044572 -0.192430 -0.024711 0.622325 -0.116427 -0.255509 -1.128491 2.204738 -0.650967 0.321334 -1.701415 -0.221829 0.622920 0.813280 -0.008684 -0.049354 -0.317161 0.001829 0.003149 0.097014 * d-type ANO's (max 4 functions can be used) 4 2 0.450000 0.157500 0.055125 0.019294 0.175772 -0.125000 -0.863208 1.771198 -0.641060 -1.656373 0.104046 0.238643 * f-type ANO's (max 3 functions can be used) 3 2 0.240000 0.096000 0.038400 0.296071 -1.721365 1.134682 1.176213 -0.121545 0.082800 a 4 $ BERYLLIUM * s-type ANO's (max 7 functions can be used) 12 6 11781.69 1760.98 398.404 111.638 35.8247 12.7216 4.87486 1.967869 0.830394 0.258705 0.106756 0.043102 0.000120 -0.000023 -0.000029 -0.001156 -0.002422 -0.018354 0.000939 -0.000180 -0.000233 0.000817 0.010849 0.082350 0.004954 -0.000948 -0.001192 0.001374 -0.046734 -0.286873 0.020707 -0.004023 -0.005219 0.010166 0.048105 0.877298 0.070917 -0.013928 -0.017636 0.015825 0.013857 -2.477205 0.186345 -0.039102 -0.052472 0.140474 0.248480 4.615450 0.351342 -0.081609 -0.105272 -0.003591 -0.012397 -3.615509 0.381197 -0.135583 -0.205691 0.877544 1.397963 0.467284 0.137804 -0.097432 -0.120877 -1.262957 -3.703580 0.952885 0.004371 0.292973 1.441874 -1.194416 4.906569 -0.964278 -0.000417 0.619529 -0.230672 3.146666 -4.370736 0.702000 0.000050 0.225843 -1.007825 -1.944813 1.754137 -0.245880 * p-type ANO's (max 7 functions can be used) 7 5 4.95 1.98 0.79 0.32 0.13 0.05 0.02 0.012746 -0.009580 -0.056271 -0.106650 -0.113028 0.021455 -0.010486 -0.040699 -0.272584 0.304315 0.087012 -0.032140 -0.549217 -1.249293 -1.029368 0.195912 -0.475775 -0.727116 2.330344 2.208196 0.352944 -0.555577 1.422138 -1.476230 -3.156290 0.410016 0.671209 -0.260547 0.041780 3.252569 0.170807 0.419823 -0.399147 0.440812 -1.849004 * d-type ANO's (max 4 functions can be used) 4 3 0.95 0.38 0.15 0.06 0.022839 -0.086620 -0.566187 0.213684 1.075511 -0.477258 0.507574 -0.200477 1.507491 0.424650 -0.627215 -1.099033 * f-type ANO's (max 3 functions can be used) 3 2 0.72 0.29 0.12 0.097110 -0.580388 0.613874 -0.485019 0.424524 0.940739 a 5 $ BORON * s-type ANO's (max 7 functions can be used) 13 6 46535.63 6970.783 1586.432 449.3104 146.5617 52.88387 20.55825 8.434628 3.607517 1.567314 0.459387 0.183777 0.072352 0.000038 0.000007 -0.000010 -0.000016 -0.000028 0.000029 0.000299 0.000058 -0.000078 -0.000085 -0.000133 0.000693 0.001568 0.000304 -0.000425 -0.000733 -0.001334 0.000071 0.006562 0.001265 -0.001687 -0.001500 -0.002115 0.020573 0.023191 0.004571 -0.006494 -0.012664 -0.024103 -0.012861 0.069777 0.013873 -0.018372 -0.011885 -0.017269 0.363355 0.171617 0.036846 -0.054677 -0.130981 -0.281773 -0.119089 0.319974 0.075570 -0.098844 -0.000911 0.091928 2.465489 0.375777 0.131180 -0.221627 -0.743566 -1.661949 -5.556509 0.182544 0.104066 -0.108733 0.880546 3.748251 4.567951 0.007889 -0.294875 1.367300 1.594506 -4.367124 -2.562676 -0.009326 -0.595194 -0.160536 -3.362576 3.721124 1.623226 -0.002376 -0.252468 -1.010456 1.999860 -1.457942 -0.527045 * p-type ANO's (max 7 functions can be used) 8 5 69.07083 16.31631 5.115536 1.821835 0.713452 0.292123 0.121145 0.049631 0.000788 -0.000678 -0.002128 0.004295 0.011496 0.006054 -0.004642 -0.021376 0.045542 -0.010438 0.026815 -0.019109 -0.085740 0.227155 0.599025 0.087676 -0.023670 -0.442491 1.203824 0.053560 0.229915 -0.448901 -0.792860 -1.781172 -1.748119 0.392825 -0.555594 1.273422 0.555181 3.139656 0.359187 0.675672 0.068690 0.839504 -3.126050 0.126706 0.489832 -0.643520 -0.866332 1.578352 * d-type ANO's (max 4 functions can be used) 6 4 4.94 1.98 0.79 0.32 0.13 0.05 0.004947 0.001242 -0.033289 -0.038632 0.021163 0.029549 0.497184 -1.447720 0.228432 -0.852441 0.701245 1.917518 0.554002 -0.056274 -1.563531 -1.379675 0.335849 0.792354 0.938483 0.428678 0.031559 0.052314 0.134316 0.261590 * f-type ANO's (max 3 functions can be used) 4 3 2.37 0.95 0.38 0.15 -0.000633 0.023422 -0.313171 0.268522 -0.976011 -0.650011 0.656988 0.302812 1.383574 0.236174 0.585953 -1.121513 * g-type ANO's (max 3 functions can be used) 2 2 1.14 0.46 0.022612 -0.091817 0.061839 0.071538 a 6 $ CARBON * s-type ANO's (max 7 functions can be used) 13 6 50557.50 7524.786 1694.328 472.8228 151.7108 53.91875 20.65931 8.383976 3.577015 1.547118 0.613013 0.246068 0.099087 -0.000055 0.000012 0.000015 -0.000021 0.000027 -0.000040 -0.000434 0.000093 0.000113 -0.000150 0.000243 -0.000570 -0.002316 0.000499 0.000619 -0.000927 0.001060 -0.001121 -0.009872 0.002130 0.002573 -0.003293 0.006084 -0.015785 -0.035217 0.007730 0.009710 -0.015280 0.015497 -0.012418 -0.104184 0.023564 0.028622 -0.036183 0.084167 -0.282874 -0.241255 0.059522 0.078407 -0.141529 0.129583 -0.019967 -0.383929 0.114336 0.140868 -0.158337 0.535215 -2.125622 -0.308219 0.152281 0.257204 -0.619878 0.140466 6.175862 -0.068528 0.015144 -0.145945 1.629238 -3.383581 -7.110109 -0.000830 -0.377171 -1.280769 0.368621 5.478225 5.217532 -0.000782 -0.544696 0.305096 -2.658179 -4.600523 -2.923407 0.000040 -0.211886 0.939557 1.838912 1.860274 0.936853 * p-type ANO's (max 7 functions can be used) 8 5 83.33316 19.55761 6.080365 2.179317 0.865150 0.361944 0.154740 0.065429 0.001259 -0.001428 -0.003397 -0.008253 0.019686 0.009684 -0.012110 -0.034897 -0.046337 0.016115 0.042925 -0.043938 -0.145801 -0.453318 1.171267 0.135075 -0.171555 -0.714105 -0.845806 -1.580720 0.287774 -0.607195 -0.144719 2.234981 0.519955 0.381931 -0.112436 1.338070 -1.756407 1.226166 0.295700 0.705975 -0.515613 0.104481 -2.187095 0.089427 0.294633 -0.424749 0.589521 1.384334 * d-type ANO's (max 4 functions can be used) 6 4 7.12 2.85 1.14 0.46 0.18 0.07 0.006043 -0.002257 0.042283 0.084316 0.032352 -0.081426 -0.651129 1.356715 0.268056 -0.881600 -0.356793 -1.994430 0.562915 0.189866 1.392676 1.557349 0.294757 0.677395 -1.042108 -0.598329 0.018572 0.016009 -0.047233 -0.184022 * f-type ANO's (max 3 functions can be used) 4 3 3.42 1.37 0.55 0.22 -0.008675 0.057745 -0.432952 -0.317713 0.971363 -0.415984 -0.648192 -0.455924 1.257485 -0.187225 -0.494937 -1.143525 * 6-type ANO's (max 3 functions can be used) 2 2 1.64 0.66 0.220774 -0.770108 0.502049 0.624304 a 7 $ NITROGEN * s-type ANO's (max 7 functions can be used) 13 7 74761.72 11123.65 2512.606 703.7773 225.4788 79.61581 30.23728 12.26362 5.265086 2.333471 0.901856 0.358336 0.141093 0.000050 0.000011 -0.000013 0.000019 -0.000025 -0.000033 -0.000131 0.000394 0.000087 -0.000100 0.000138 -0.000221 -0.000541 -0.000184 0.002088 0.000463 -0.000542 0.000849 -0.001007 -0.000742 -0.007546 0.008906 0.001978 -0.002261 0.002991 -0.005289 -0.015386 0.002794 0.032081 0.007244 -0.008565 0.014071 -0.015614 -0.004564 -0.178796 0.097424 0.022646 -0.026014 0.033713 -0.071498 -0.267164 -0.118342 0.231729 0.058698 -0.072216 0.135285 -0.145627 0.036575 -2.443853 0.377539 0.114577 -0.133809 0.158603 -0.480543 -2.412452 6.245076 0.318623 0.154472 -0.239453 0.619725 -0.434521 6.610249 -7.144969 0.082577 0.023770 0.077495 -1.372277 3.661473 -7.177798 5.026206 0.003102 -0.365365 1.180491 -0.847886 -5.397434 4.899109 -2.629398 0.000537 -0.539098 -0.051204 2.899050 4.313270 -2.664395 1.257226 0.000084 -0.236162 -1.073742 -1.827273 -1.675101 0.830628 -0.367332 * p-type ANO's (max 7 functions can be used) 8 6 126.6666 29.83739 9.394038 3.405104 1.350000 0.557696 0.232449 0.094264 0.001159 -0.001540 -0.002930 0.006370 0.016787 -0.020603 0.009076 -0.012751 -0.032040 0.044259 0.006963 -0.098569 0.041064 -0.054415 -0.130084 0.359974 0.991038 -1.301735 0.130854 -0.195989 -0.657283 0.966381 -0.980747 2.767153 0.281167 -0.572394 -0.230598 -2.125519 -0.390120 -3.506876 0.379448 -0.120855 1.350351 1.362075 2.015321 3.454804 0.308450 0.679781 -0.465995 0.263671 -2.561992 -2.596861 0.100219 0.302652 -0.472457 -0.727179 1.466303 1.145473 * d-type ANO's (max 4 functions can be used) 6 4 9.88 3.95 1.58 0.63 0.25 0.10 -0.007589 0.006939 0.039283 0.128928 -0.039471 0.138131 -0.692647 1.272238 -0.295252 0.840380 -0.237645 -1.961786 -0.557248 -0.233511 1.334879 1.567147 -0.267442 -0.645342 -1.063286 -0.598965 -0.022549 -0.024803 -0.041841 -0.201487 * f-type ANO's (max 3 functions can be used) 4 3 4.74 1.90 0.76 0.30 -0.015633 0.098551 0.492500 -0.331439 0.940625 0.309226 -0.641922 -0.477682 -1.169423 -0.179149 -0.478952 1.113987 * g-type ANO's (max 3 functions can be used) 2 2 2.28 0.91 -0.101690 0.336555 -0.218289 -0.275608 a 8 $ OXYGEN * s-type ANO's (max 7 functions can be used) 13 7 105374.9 15679.24 3534.545 987.3652 315.9788 111.6543 42.69945 17.39560 7.438309 3.222862 1.253877 0.495155 0.191665 -0.000046 0.000010 -0.000013 -0.000018 0.000023 0.000026 0.000129 -0.000361 0.000082 -0.000099 -0.000124 0.000201 0.000516 0.000027 -0.001920 0.000438 -0.000538 -0.000819 0.000892 0.000403 0.007865 -0.008206 0.001875 -0.002249 -0.002651 0.005000 0.015059 -0.009599 -0.029725 0.006909 -0.008573 -0.013902 0.013048 -0.003270 0.191970 -0.090452 0.021587 -0.026009 -0.028890 0.068218 0.260354 -0.043431 -0.217402 0.056473 -0.072913 -0.137142 0.114918 -0.135262 2.801105 -0.368720 0.113245 -0.139884 -0.128323 0.512689 2.658107 -6.419555 -0.337277 0.160700 -0.260578 -0.717294 0.423285 -6.650689 6.878289 -0.096808 0.033672 0.072981 1.553181 -3.643658 7.068165 -4.702919 -0.002669 -0.360244 1.285286 0.573748 5.381736 -4.851176 2.483820 -0.001198 -0.547066 -0.224648 -2.684091 -4.301668 2.615665 -1.173045 0.000031 -0.238532 -0.966820 1.772327 1.689285 -0.817695 0.341451 * p-type ANO's (max 7 functions can be used) 8 7 200.0000 46.53337 14.62181 5.313066 2.102525 0.850223 0.337597 0.128892 -0.000897 -0.001170 0.001820 0.002565 -0.007372 -0.026649 -0.013432 -0.007402 -0.009536 0.020119 0.037524 -0.021925 -0.002598 -1.546402 -0.035085 -0.046191 0.082495 0.147452 -0.449390 -1.714852 1.941010 -0.115793 -0.154755 0.422031 0.976999 -0.688819 2.942558 -1.610567 -0.258867 -0.487739 0.587292 -0.989148 2.469487 -2.908694 1.124692 -0.372168 -0.273960 -1.080478 -0.585557 -3.196815 2.131058 -0.671122 -0.336295 0.566424 -0.229096 1.671555 2.537771 -1.198052 0.327161 -0.140077 0.460619 0.823293 -1.142214 -1.112723 0.423892 -0.104336 * d-type ANO's (max 4 functions can be used) 6 6 12.65 5.06 2.02 0.81 0.32 0.13 0.009119 -0.006998 0.018186 -0.132136 0.667008 -1.475098 0.049617 -0.179980 -0.703947 -1.233690 -0.430212 1.972610 0.330495 -0.796089 -0.166310 1.948541 -0.301021 -1.746423 0.551857 0.279497 1.251742 -1.534615 1.079226 1.468037 0.230948 0.624143 -0.998267 0.514617 -1.708159 -1.239308 0.019148 0.044391 -0.094737 0.271449 1.428845 0.762431 * f-type ANO's (max 3 functions can be used) 4 4 6.07 2.43 0.97 0.39 0.024630 0.134170 -0.527960 1.299856 0.330576 0.843333 -0.321989 -1.640751 0.602600 -0.315933 1.208772 1.307868 0.230568 -0.580666 -1.074977 -0.674416 * g-type ANO's (max 3 functions can be used) 2 2 3.11 1.24 0.206885 -0.769523 0.514253 0.608696 a 9 $ FLUORINE * s-type ANO's (max 7 functions can be used) 13 5 103109.5 15281.01 3441.539 967.0948 314.0353 113.4423 44.64473 18.94287 8.532743 3.919401 1.568157 0.623290 0.240861 -0.000064 0.000015 0.000019 0.000026 -0.000029 -0.000503 0.000117 0.000145 0.000180 -0.000292 -0.002668 0.000621 0.000783 0.001159 -0.001044 -0.011200 0.002616 0.003236 0.003783 -0.007517 -0.039097 0.009306 0.011877 0.018861 -0.012561 -0.112263 0.027721 0.034513 0.037668 -0.102506 -0.247199 0.067355 0.090200 0.171226 -0.058826 -0.368004 0.122466 0.157367 0.124901 -0.835659 -0.290863 0.151291 0.271584 0.828972 0.383816 -0.078165 0.007970 -0.175650 -2.097659 2.923816 -0.003566 -0.371551 -1.330309 0.189516 -5.174471 -0.000828 -0.541431 0.429562 2.177270 4.409498 -0.000099 -0.224182 0.847667 -1.640569 -1.809366 * p-type ANO's (max 7 functions can be used) 8 4 245.3303 56.91901 17.60457 6.274995 2.447030 0.995060 0.403973 0.154810 0.000991 -0.001341 0.001951 -0.003529 0.008313 -0.011638 0.023985 -0.036530 0.040851 -0.056092 0.094178 -0.214649 0.135691 -0.208630 0.546877 -1.030307 0.281048 -0.532629 0.395190 1.592455 0.360529 -0.137046 -1.269725 -0.321087 0.314310 0.598996 0.179966 -1.096566 0.132717 0.375471 0.644577 1.002414 * d-type ANO's (max 4 functions can be used) 6 3 16.01 6.40 2.56 1.02 0.41 0.16 -0.010626 -0.009184 0.009537 -0.055418 -0.211056 -0.748953 -0.354098 -0.776653 -0.050937 -0.545329 0.327502 1.193008 -0.207019 0.595853 -1.026690 -0.020040 0.047261 -0.073271 * f-type ANO's (max 3 functions can be used) 4 2 7.68 3.07 1.23 0.49 0.027929 0.170267 0.352296 0.822597 0.601979 -0.365360 0.204756 -0.556483 * g-type ANO's (max 3 functions can be used) 2 1 3.69 1.48 0.242250 0.484800 a 10 $ NEON * s-type ANO's (max 7 functions can be used) 13 5 166165.1 23107.52 5060.154 1384.612 436.5126 153.4715 59.38909 24.86197 11.01570 4.965175 1.936503 0.765728 0.295538 -0.000047 0.000011 0.000014 0.000020 0.000020 -0.000401 0.000094 0.000118 0.000145 0.000233 -0.002193 0.000518 0.000664 0.000986 0.000773 -0.009588 0.002266 0.002819 0.003257 0.006368 -0.035074 0.008454 0.010980 0.017425 0.010250 -0.104652 0.026049 0.032457 0.034769 0.092651 -0.237715 0.065296 0.089380 0.168618 0.046375 -0.369603 0.122338 0.155650 0.121079 0.809354 -0.306176 0.158177 0.294009 0.892687 -0.351813 -0.084181 0.006805 -0.205604 -2.266433 -2.760272 -0.003726 -0.384026 -1.358461 0.503499 4.996421 -0.000906 -0.536453 0.538444 1.900048 -4.433914 -0.000097 -0.215301 0.779587 -1.557561 1.881727 * p-type ANO's (max 7 functions can be used) 8 4 234.9450 55.07739 17.38955 6.389537 2.542082 1.033764 0.418788 0.164627 0.001583 0.002212 0.003426 0.007793 0.012576 0.018574 0.036509 0.040782 0.056998 0.081483 0.144993 0.439186 0.168176 0.293860 0.739066 0.773263 0.307218 0.540769 -0.121854 -2.139612 0.359320 -0.095210 -1.203908 1.673826 0.277782 -0.607276 0.637119 -0.078819 0.095940 -0.246871 0.370506 -0.596945 * d-type ANO's (max 4 functions can be used) 6 3 19.76 7.91 3.16 1.26 0.51 0.20 0.011914 0.011580 -0.003903 0.061798 0.234597 0.786085 0.370852 0.759752 -0.040908 0.537473 -0.363052 -1.133020 0.191842 -0.574924 1.028387 0.020017 -0.049291 0.062378 * f-type ANO's (max 3 functions can be used) 4 2 9.49 3.79 1.52 0.61 0.026660 -0.208206 0.387758 -0.797617 0.608593 0.436453 0.149002 0.521925 * g-type ANO's (max 3 functions can be used) 2 1 4.55 1.82 -0.251480 -0.477401 ************************************************************************ ergo-3.5/basis/Turbomole-QZV0000664000175000017500000046546712743400275012744 00000000000000$ Basis = Turbomole-QZV $ $ Supported Elements $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca $ Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr $ $ REFERENCE $ Elements References $ -------- ---------- $ Li - Kr: A. Schafer, C. Huber and R. Ahlrichs, J. Chem. Phys. 100, 5829 (1994). $*********************************************************************** a 1 $ HYDROGEN (7s) -> [4s] $ S-TYPE FUNCTIONS 7 4 0 190.69169 0.00070815 0.00000000 0.00000000 0.00000000 28.605532 0.00546788 0.00000000 0.00000000 0.00000000 6.5095943 0.02796661 0.00000000 0.00000000 0.00000000 1.8412455 0.10764538 0.00000000 0.00000000 0.00000000 .59853725 0.00000000 1.00000000 0.00000000 0.00000000 .21397624 0.00000000 0.00000000 1.00000000 0.00000000 .08031629 0.00000000 0.00000000 0.00000000 1.00000000 a 2 $ HELIUM (8s) -> [4s] $ S-TYPE FUNCTIONS 8 4 0 1144.6470809 0.00035862 0.00000000 0.00000000 0.00000000 171.64596667 0.00277254 0.00000000 0.00000000 0.00000000 39.066056254 0.01424189 0.00000000 0.00000000 0.00000000 11.051401989 0.05545735 0.00000000 0.00000000 0.00000000 3.5725574473 0.16170512 0.00000000 0.00000000 0.00000000 1.2429415962 0.00000000 0.33177884 0.00000000 0.00000000 .44807668730 0.00000000 0.00000000 0.42014033 0.00000000 .16411579128 0.00000000 0.00000000 0.00000000 0.18652273 a 3 $ LITHIUM (15s,5p) -> [6s,3p] $ S-TYPE FUNCTIONS 15 6 0 14853.977085 0.00004271 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2225.2236477 0.00033235 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 504.88739008 0.00175184 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142.45847548 0.00734780 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.315599580 0.02589984 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.655335474 0.07667068 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.4331186199 0.18276076 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.6027043858 0.32655434 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0897245405 0.37000430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.4236595971 0.00000000 0.11120988 0.00000000 0.00000000 0.00000000 0.00000000 1.2356394990 0.00000000 0.79987336 0.00000000 0.00000000 0.00000000 0.00000000 0.4606747060 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0966171670 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0459154523 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0211400487 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 3.2605109206 0.00865047 0.00000000 0.00000000 0.6500304312 0.04761412 0.00000000 0.00000000 0.1694167107 0.21001138 0.00000000 0.00000000 0.5573234377 0.00000000 1.00000000 0.00000000 0.2048995924 0.00000000 0.00000000 1.00000000 a 4 $ BERYLLIUM (15s) -> [7s] $ S-TYPE FUNCTIONS 15 7 0 29646.704407 0.00003794 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4428.7614354 0.00029605 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1005.4701332 0.00155725 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 284.15339578 0.00653232 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 92.504356461 0.02311686 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 33.311016058 0.06945852 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 12.911553314 0.17014371 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5.2665497361 0.31682711 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 22.995386380 0.00000000 0.08179112 0.00000000 0.00000000 0.00000000 0.00000000 0.0 6.6236354176 0.00000000 0.80000038 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.2289595003 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.9530243345 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.2465160244 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1015389532 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0415513746 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 6 3 0 14.099789445 0.00385089 0.00000000 0.00000000 3.1803188482 0.02415238 0.00000000 0.00000000 0.9048922050 0.09792693 0.00000000 0.00000000 0.3041158551 0.29470380 0.00000000 0.00000000 0.1130260666 0.00000000 1.00000000 0.00000000 0.0428317337 0.00000000 0.00000000 1.00000000 a 5 $ BORON (15s,8p) -> [7s,4p] $ S-TYPE FUNCTIONS 15 7 0 46447.667056 0.00003839 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 6957.6889042 0.00029837 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1583.4428403 0.00156455 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 448.46601009 0.00654777 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 146.28639262 0.02313901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 52.784386084 0.06961580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 20.519396170 0.17119637 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.4185659258 0.31913192 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 36.510018312 0.00000000 0.07899062 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.541854005 0.00000000 0.78926384 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3.6004091387 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 1.5617023749 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.4499737078 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1807523024 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0715966963 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 72.240462760 0.00086539 0.00000000 0.00000000 0.00000000 16.807707208 0.00687621 0.00000000 0.00000000 0.00000000 5.2259410747 0.03097669 0.00000000 0.00000000 0.00000000 1.8508350671 0.10432358 0.00000000 0.00000000 0.00000000 0.7220678266 0.26164138 0.00000000 0.00000000 0.00000000 0.2949101806 0.00000000 1.00000000 0.00000000 0.00000000 0.1220114184 0.00000000 0.00000000 1.00000000 0.00000000 0.0498653936 0.00000000 0.00000000 0.00000000 1.00000000 a 6 $ CARBON (15s,8p) -> [7s,4p] $ S-TYPE FUNCTIONS 15 7 0 67025.071029 0.00003874 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10039.986538 0.00030108 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2284.9316911 0.00157879 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 647.14122130 0.00660871 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 211.09472335 0.02336712 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 76.177643862 0.07042072 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 29.633839163 0.17360345 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 12.187785081 0.32292306 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 53.026006299 0.00000000 0.07489740 0.00000000 0.00000000 0.00000000 0.00000000 0.0 15.258502776 0.00000000 0.76136221 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5.2403957464 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 2.2905022379 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.6967328301 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.2759933736 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.1073988439 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 105.12555082 0.00084648 0.00000000 0.00000000 0.00000000 24.884461066 0.00662740 0.00000000 0.00000000 0.00000000 7.8637230826 0.03012039 0.00000000 0.00000000 0.00000000 2.8407001835 0.09995144 0.00000000 0.00000000 0.00000000 1.1227137335 0.23826299 0.00000000 0.00000000 0.00000000 0.4605072556 0.00000000 1.00000000 0.00000000 0.00000000 0.1893753091 0.00000000 0.00000000 1.00000000 0.00000000 0.0759837916 0.00000000 0.00000000 0.00000000 1.00000000 a 7 $ NITROGEN (15s,8p) -> [7s,4p] $ S-TYPE FUNCTIONS 15 7 0 90726.889210 0.00003926 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 13590.528801 0.00030513 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3092.9883781 0.00160006 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 875.99876362 0.00669829 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 285.74469982 0.02369008 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 103.11913417 0.07145541 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 40.128556777 0.17632775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 16.528095704 0.32677593 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 69.390960983 0.00000000 0.08005209 0.00000000 0.00000000 0.00000000 0.00000000 0.0 20.428200596 0.00000000 0.78268064 0.00000000 0.00000000 0.00000000 0.00000000 0.0 7.1292587972 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 3.1324304893 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.9875577872 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.3876572131 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.1490988308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 150.05742670 -0.00086216 0.00000000 0.00000000 0.00000000 35.491599483 -0.00685713 0.00000000 0.00000000 0.00000000 11.247864223 -0.03179569 0.00000000 0.00000000 0.00000000 4.0900305195 -0.10537397 0.00000000 0.00000000 0.00000000 1.6220573146 -0.24519708 0.00000000 0.00000000 0.00000000 0.6644226153 0.00000000 1.00000000 0.00000000 0.00000000 0.2709977007 0.00000000 0.00000000 1.00000000 0.00000000 0.1068874998 0.00000000 0.00000000 0.00000000 1.00000000 a 8 $ OXYGEN (15s,8p) -> [7s,4p] $ S-TYPE FUNCTIONS 15 7 0 116506.46908 0.00004038 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 17504.349724 0.00031255 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3993.4513230 0.00163415 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1133.0063186 0.00682832 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 369.99569594 0.02412441 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 133.62074349 0.07273021 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 52.035643649 0.17934430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 21.461939313 0.33059589 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 89.835051252 0.00000000 0.09646865 0.00000000 0.00000000 0.00000000 0.00000000 0.0 26.428010844 0.00000000 0.94117481 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.2822824649 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 4.0947728533 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 1.3255349078 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.5187723079 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.1977267645 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 191.15255810 0.00251157 0.00000000 0.00000000 0.00000000 45.233356739 0.02003924 0.00000000 0.00000000 0.00000000 14.353465922 0.09360906 0.00000000 0.00000000 0.00000000 5.2422371832 0.30618127 0.00000000 0.00000000 0.00000000 2.0792418599 0.67810501 0.00000000 0.00000000 0.00000000 0.8428237142 0.00000000 1.00000000 0.00000000 0.00000000 0.3361769489 0.00000000 0.00000000 1.00000000 0.00000000 0.1286399797 0.00000000 0.00000000 0.00000000 1.00000000 a 9 $ FLUORINE (15s,8p) -> [7s,4p] $ S-TYPE FUNCTIONS 15 7 0 132535.97345 0.00004739 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 19758.112588 0.00037070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4485.1996947 0.00194508 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1273.8151020 0.00805733 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 418.93831236 0.02799288 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 152.55721985 0.08273512 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 59.821524823 0.19854169 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 24.819076932 0.34860632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 100.74446673 0.00000000 0.10505069 0.00000000 0.00000000 0.00000000 0.00000000 0.0 30.103728290 0.00000000 0.94068472 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.814283272 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 4.8172886770 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 1.6559334213 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.6489351958 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.2477810455 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 240.96654114 0.00303899 0.00000000 0.00000000 0.00000000 57.020699781 0.02435774 0.00000000 0.00000000 0.00000000 18.126952120 0.11442926 0.00000000 0.00000000 0.00000000 6.6457404621 0.37064660 0.00000000 0.00000000 0.00000000 2.6375722892 0.79791552 0.00000000 0.00000000 0.00000000 1.0638217200 0.00000000 1.00000000 0.00000000 0.00000000 0.4193256275 0.00000000 0.00000000 1.00000000 0.00000000 0.1574758830 0.00000000 0.00000000 0.00000000 1.00000000 a 10 $ NEON (15s,9p) -> [7s,4p] $ S-TYPE FUNCTIONS 15 7 0 160676.27955 0.00004739 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 23953.195039 0.00037070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5437.5063711 0.00194508 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1544.2741024 0.00805733 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 507.88814269 0.02799288 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 184.94847750 0.08273512 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 72.522952039 0.19854169 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 30.088713575 0.34860632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 120.68434940 0.00000000 0.10400597 0.00000000 0.00000000 0.00000000 0.00000000 0.0 36.074294857 0.00000000 0.91999989 0.00000000 0.00000000 0.00000000 0.00000000 0.0 13.052091210 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 5.7974783353 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 2.0478626895 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.8021457199 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.3054867221 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 9 4 0 498.43397466 0.00043118 0.00000000 0.00000000 0.00000000 118.14109217 0.00362064 0.00000000 0.00000000 0.00000000 38.032529735 0.01824534 0.00000000 0.00000000 0.00000000 14.183731950 0.06513304 0.00000000 0.00000000 0.00000000 5.7864190721 0.16708915 0.00000000 0.00000000 0.00000000 2.4599622160 0.29268020 0.00000000 0.00000000 0.00000000 1.0421999498 0.00000000 1.00000000 0.00000000 0.00000000 0.4298774892 0.00000000 0.00000000 1.00000000 0.00000000 0.1688970845 0.00000000 0.00000000 0.00000000 1.00000000 a 11 $ SODIUM (20s,12p) -> [9s,5p] $ S-TYPE FUNCTIONS 20 9 0 379852.20081 0.00002067 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 56886.006378 0.00016070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 12942.701838 0.00084463 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3664.3017904 0.00355190 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1194.7417499 0.01275403 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 430.98192917 0.03989546 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 167.83169424 0.10720154 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 69.306669040 0.23339517 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 29.951170886 0.36333077 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 13.380791097 0.30544771 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 121.74011283 0.00000000 0.03614243 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 37.044143387 0.00000000 0.28820962 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 13.995422624 0.00000000 0.79337385 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5.9827797428 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2.4830455118 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.0452506187 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.4387564038 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.0655956332 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.0305619251 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0155090640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 690.77627017 0.00037479 0.00000000 0.00000000 0.00000000 0.00000000 163.82806121 0.00317754 0.00000000 0.00000000 0.00000000 0.00000000 52.876460769 0.01633358 0.00000000 0.00000000 0.00000000 0.00000000 19.812270493 0.05975490 0.00000000 0.00000000 0.00000000 0.00000000 8.1320378784 0.15879329 0.00000000 0.00000000 0.00000000 0.00000000 3.4969068377 0.29049363 0.00000000 0.00000000 0.00000000 0.00000000 1.5117244146 0.36368131 0.00000000 0.00000000 0.00000000 0.00000000 0.6447929491 0.28195867 0.00000000 0.00000000 0.00000000 0.00000000 0.2614582331 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1170472612 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0404947477 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0156667074 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 12 $ MAGNESIUM (20s,12p) -> [9s,5p] $ S-TYPE FUNCTIONS 20 9 0 605967.78753 0.00001443 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 90569.094692 0.00011250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 20574.252844 0.00059265 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5818.6284865 0.00249888 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1895.6296075 0.00902308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 683.45941021 0.02857992 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 266.18219762 0.07906445 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 110.11220010 0.18269338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 47.777041234 0.32157194 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 21.542166149 0.35028259 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 174.12136378 0.00000000 0.02293111 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 53.484972498 0.00000000 0.19151778 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 20.500213307 0.00000000 0.61155711 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 9.8056826922 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3.5402989348 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.5450850046 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.6654019543 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.1435543907 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.0666246735 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0297726483 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 893.20460829 0.00034958 0.00000000 0.00000000 0.00000000 0.00000000 211.78258286 0.00298119 0.00000000 0.00000000 0.00000000 0.00000000 68.443200537 0.01551785 0.00000000 0.00000000 0.00000000 0.00000000 25.727265349 0.05757866 0.00000000 0.00000000 0.00000000 0.00000000 10.606634281 0.15610308 0.00000000 0.00000000 0.00000000 0.00000000 4.5934126484 0.29230913 0.00000000 0.00000000 0.00000000 0.00000000 2.0100469807 0.37219024 0.00000000 0.00000000 0.00000000 0.00000000 0.8738484154 0.27578089 0.00000000 0.00000000 0.00000000 0.00000000 0.3561507667 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1899595436 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0745801357 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0292216413 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 13 $ ALUMINUM (20s,14p) -> [9s,6p] $ S-TYPE FUNCTIONS 20 9 0 754550.78265 0.00001342 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 112999.38922 0.00010433 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 25715.831759 0.00054842 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 7283.6030283 0.00230891 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2376.0008796 0.00833100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 857.65468087 0.02641796 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 334.38922598 0.07344365 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 138.48504731 0.17184039 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 60.150368808 0.31041980 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 27.127610860 0.35669191 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 225.36500065 0.00000000 0.02152204 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 69.341968124 0.00000000 0.18531780 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 26.619335712 0.00000000 0.63533181 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 12.349420671 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 4.5878785994 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2.0571338103 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.9086454940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.2422698804 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.1124813687 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0481564928 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 1489.6119522 0.00020177 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 353.01399267 0.00175081 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 114.40764069 0.00944247 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.312186111 0.03686800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.027322216 0.10892874 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.9675432403 0.23265901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.6090399541 0.34643587 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.6456081630 0.33440810 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.731187489 0.00000000 0.01782307 0.00000000 0.00000000 0.00000000 0.00000000 1.2553083630 0.00000000 -0.59991264 0.00000000 0.00000000 0.00000000 0.00000000 0.7363553428 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2468646556 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0948219718 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0362141657 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (20s,14p) -> [9s,6p] $ S-TYPE FUNCTIONS 20 9 0 918070.69565 0.00001266 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 137485.25386 0.00009841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 31287.772714 0.00051731 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 8861.6105697 0.00217854 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2890.6943156 0.00786569 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1043.4063979 0.02498755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 406.80160276 0.06976182 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 168.48360207 0.16473363 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 73.185628823 0.30285603 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 32.998485420 0.36007260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 278.78751325 0.00000000 0.02018546 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 85.910228722 0.00000000 0.17720407 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 32.992604031 0.00000000 0.63587861 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 15.033693254 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5.7257514773 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2.6146521029 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 1.1757833152 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.3543233087 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.1624833581 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0683324572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 1775.8850516 0.00020187 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 420.83786849 0.00175443 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 136.42290243 0.00950395 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.700991737 0.03732574 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.559456002 0.11085396 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.5559200095 0.23756407 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.3529819473 0.35295784 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.0096964381 0.32885932 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.418153780 0.00000000 0.02585882 0.00000000 0.00000000 0.00000000 0.00000000 1.9076417796 0.00000000 -0.59874866 0.00000000 0.00000000 0.00000000 0.00000000 0.9233722159 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3451572037 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1365683476 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0529870606 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (20s,14p) -> [9s,6p] $ S-TYPE FUNCTIONS 20 9 0 1090561.7138 0.00001214 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 163316.39461 0.00009440 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 37166.607451 0.00049622 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 10526.880945 0.00209000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3433.9976028 0.00754892 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1239.5360480 0.02401042 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 483.27456199 0.06723147 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 200.16911586 0.15978670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 86.960394829 0.29735907 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 39.211283369 0.36187172 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 336.75883662 0.00000000 0.01915472 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 103.72179793 0.00000000 0.17134079 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 39.771861240 0.00000000 0.63689656 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 17.888612952 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 6.9644556879 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3.2198092087 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 1.4669943979 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.4776543753 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.2163778924 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0902358943 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 2019.6711374 0.00021359 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 478.60125090 0.00185688 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 155.14942504 0.01007069 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 58.816356575 0.03960515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24.544512785 0.11736069 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.883571061 0.24950541 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.9624791285 0.36421288 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.3002912343 0.31764127 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 59.371345016 0.00000000 -0.03943292 0.00000000 0.00000000 0.00000000 0.00000000 3.0694590986 0.00000000 0.63522960 0.00000000 0.00000000 0.00000000 0.00000000 1.0634401739 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4502215216 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1826727134 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0716103338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (20s,14p) -> [9s,6p] $ S-TYPE FUNCTIONS 20 9 0 1273410.9023 0.00001177 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 190697.83007 0.00009148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 43397.885330 0.00048090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 12291.809677 0.00202572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 4009.7420824 0.00731901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1447.3531030 0.02330050 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 564.30102913 0.06538621 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 233.74506243 0.15614450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 101.56402814 0.29318564 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 45.805907187 0.36287914 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 394.27281503 0.00000000 0.01875331 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 121.72249591 0.00000000 0.16870727 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 46.754125963 0.00000000 0.63806831 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 20.923008254 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 8.2685567800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3.8629345671 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 1.7794684781 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.6106426010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.2741226945 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.1132593911 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 2189.8930459 0.00023913 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 518.94596592 0.00207720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 168.19560151 0.01124242 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.745282788 0.04406993 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.597033077 0.12918779 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.774251449 0.26910820 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.3534379024 0.37855929 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.4701911802 0.29692135 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 82.120288349 0.00000000 -0.03942032 0.00000000 0.00000000 0.00000000 0.00000000 4.9523532869 0.00000000 0.64048403 0.00000000 0.00000000 0.00000000 0.00000000 1.0828262029 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4927127736 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2048345094 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.8074361572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (20s,14p) -> [9s,6p] $ S-TYPE FUNCTIONS 20 9 0 1467459.0095 0.00001148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 219756.16433 0.00008923 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 50010.770301 0.00046911 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 14164.823918 0.00197624 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 4620.7465525 0.00714199 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1667.8991635 0.02275322 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 650.29199265 0.06395978 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 269.38037376 0.15331059 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 117.06752106 0.28986952 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 52.811766843 0.36348071 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 461.42769988 0.00000000 0.01801946 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 142.12665355 0.00000000 0.16489442 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 54.437838768 0.00000000 0.63891588 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 24.160770219 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 9.7083540306 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 4.5640696733 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 2.1194744832 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.7572236539 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.3374722460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.1386077515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 2501.9457890 0.00024243 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 592.88059285 0.00210800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 192.18089186 0.01143269 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 72.875710488 0.04495670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 30.436358370 0.13197476 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.490178902 0.27493639 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.1478071413 0.38347236 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.8450944820 0.28871944 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 105.39397936 0.00000000 -0.03431176 0.00000000 0.00000000 0.00000000 0.00000000 6.7369738513 0.00000000 0.64060819 0.00000000 0.00000000 0.00000000 0.00000000 1.2421095772 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5566971425 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2338780146 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0931644909 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (20s,14p) -> [9s,6p] $ S-TYPE FUNCTIONS 20 9 0 1673421.9494 0.00001125 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 250601.75373 0.00008743 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 57030.912120 0.00045962 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 16153.303915 0.00193639 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5269.4109288 0.00699940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1902.0315541 0.02231207 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 741.57677159 0.06280808 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 307.20901906 0.15101141 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 133.52786203 0.28713661 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 60.253381291 0.36385490 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 522.02426206 0.00000000 0.01807132 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 161.51290469 0.00000000 0.16449220 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 62.126369433 0.00000000 0.63897335 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 27.590930012 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 11.175528881 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5.2959065137 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 2.4782798895 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.9126209506 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.4042606755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.1656288631 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 2868.4504581 0.00024010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 679.71869590 0.00209048 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 220.36758824 0.01136932 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 83.620439734 0.04490198 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.964322657 0.13237157 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.525131784 0.27709278 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.0992979806 0.38613980 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.3021336602 0.28492925 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 128.78765667 0.00000000 -0.03050946 0.00000000 0.00000000 0.00000000 0.00000000 8.4357867977 0.00000000 0.64101621 0.00000000 0.00000000 0.00000000 0.00000000 1.4618661855 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.6465801010 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2722929576 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1090518245 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 19 $ POTASSIUM (24s,18p) -> [11s,6p] $ S-TYPE FUNCTIONS 24 11 0 2022075.1391 0.00001014 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 303044.65568 0.00007878 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 69013.938490 0.00041381 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 19559.244615 0.00174276 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6383.8934901 0.00630041 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2305.3502858 0.02012535 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 899.14418101 0.05696606 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 372.59500133 0.13882654 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 161.97635247 0.27132285 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 73.085553853 0.36383621 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 33.595644762 0.24724465 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 685.49855365 0.00000000 0.00443675 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 211.66163373 0.00000000 0.04250272 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 80.851405131 0.00000000 0.18467742 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 35.108667236 0.00000000 0.29353173 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 14.409437283 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6.8697147262 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.2121883687 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.2610484365 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.6143894630 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.2726437097 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.0771730052 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0409183976 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0170557624 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 3469.6649718 0.00021340 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 822.02356107 0.00186378 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 266.58406636 0.01021143 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 101.28048161 0.04079960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 42.429490761 0.12257473 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.912083912 0.26405834 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.7017779030 0.38227165 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.0854567599 0.29998812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.8667286060 0.07800727 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 27.544639057 0.00000000 -0.00582230 0.00000000 0.00000000 0.00000000 0.00000000 9.2098893609 0.00000000 -0.02678753 0.00000000 0.00000000 0.00000000 0.00000000 1.7232877425 0.00000000 0.30666848 0.00000000 0.00000000 0.00000000 0.00000000 0.7796930374 0.00000000 0.66927944 0.00000000 0.00000000 0.00000000 0.00000000 0.3437904786 0.00000000 0.60376469 0.00000000 0.00000000 0.00000000 0.00000000 0.1434668192 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0680000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0320000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0153000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 20 $ CALCIUM (24s18p6d) / [11s6p4d] {(11)4111111111/951111/3111} $ S-TYPE FUNCTIONS 24 11 0 2433075.4304 0.00000916 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 364160.43015 0.00071272 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 82898.747637 0.00037434 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 23499.730540 0.00157629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 7671.2245985 0.00570261 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2770.2330687 0.01825574 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1080.6807550 0.05190642 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 448.04894531 0.12791239 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 194.92007727 0.25586635 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 88.039793338 0.36028678 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 40.645696719 0.26838462 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 779.53331918 0.00000000 -0.01840301 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 241.18856300 0.00000000 -0.17649441 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 92.403869324 0.00000000 -0.77662800 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 39.786090342 0.00000000 -1.33521554 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18.195864278 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8.3321457067 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.9190196209 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.6667099493 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.8089108491 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.3617419993 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.0823798745 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0479478643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0223081124 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 4064.2232796 0.00019781 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 962.91550624 0.00173075 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 312.34501046 0.00952987 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 118.76056036 0.03838746 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.816153133 0.11679256 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.259679401 0.25637225 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.286094124 0.37986193 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.8606982416 0.30805761 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.2525682942 0.08575600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.467555443 0.00000000 -0.00424415 0.00000000 0.00000000 0.00000000 0.00000000 10.657589056 0.00000000 -0.01957943 0.00000000 0.00000000 0.00000000 0.00000000 2.0505555426 0.00000000 0.21237507 0.00000000 0.00000000 0.00000000 0.00000000 0.9436208923 0.00000000 0.46277871 0.00000000 0.00000000 0.00000000 0.00000000 0.4270906750 0.00000000 0.39177496 0.00000000 0.00000000 0.00000000 0.00000000 0.1778818721 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0860000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0415000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0200000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 4 0 16.924012098 0.03554397 0.00000000 0.00000000 0.00000000 4.4655403330 0.18133698 0.00000000 0.00000000 0.00000000 1.4347576200 0.48002060 0.00000000 0.00000000 0.00000000 0.4655237678 0.00000000 1.00000000 0.00000000 0.00000000 0.1409771108 0.00000000 0.00000000 1.00000000 0.00000000 0.0414670093 0.00000000 0.00000000 0.00000000 1.00000000 a 21 $ SCANDIUM (24s18p9d) / [11s6p5d] $ S-TYPE FUNCTIONS 24 11 0 2855231.1264 0.00000849 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 427433.34221 0.00006600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 97233.218545 0.00034741 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 27496.222846 0.00146941 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8948.7324409 0.00534107 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3221.0397292 0.01720065 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1252.0534077 0.04928707 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 517.26093376 0.12273535 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 224.33127242 0.24910184 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 101.10551671 0.35884367 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 46.684957855 0.27782811 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 947.75965484 0.00000000 0.00361230 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 293.07262846 0.00000000 0.03561622 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 111.70230657 0.00000000 0.16664064 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 47.756215212 0.00000000 0.32531051 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 21.121984009 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9.7765922198 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4.5982699340 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.9928487767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.9593995446 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.4256679007 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.0981321960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0568942222 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0253699072 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 4611.4680242 0.00019181 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1092.4666458 0.00168019 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 354.41923265 0.00927633 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 134.83390286 0.03753720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56.610873926 0.11493045 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.336605518 0.25446811 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.741313238 0.37993353 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.5697268625 0.30948776 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.5949954062 0.08697226 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.951198081 0.00000000 -0.00557804 0.00000000 0.00000000 0.00000000 0.00000000 12.301020232 0.00000000 -0.02593383 0.00000000 0.00000000 0.00000000 0.00000000 2.3876557755 0.00000000 0.27489094 0.00000000 0.00000000 0.00000000 0.00000000 1.1031823600 0.00000000 0.59208047 0.00000000 0.00000000 0.00000000 0.00000000 0.5000847950 0.00000000 0.49113472 0.00000000 0.00000000 0.00000000 0.00000000 0.2079650880 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1010000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0480000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0230000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 5 0 73.531179748 0.00225064 0.00000000 0.00000000 0.00000000 0.00000000 21.764759639 0.01637761 0.00000000 0.00000000 0.00000000 0.00000000 7.9233701690 0.06333045 0.00000000 0.00000000 0.00000000 0.00000000 3.1847889778 0.17056209 0.00000000 0.00000000 0.00000000 0.00000000 1.3427790019 0.30119020 0.00000000 0.00000000 0.00000000 0.00000000 0.5614957498 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2276407365 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0852112218 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0350000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 22 $ TITANIUM (24s18p9d) / [11s6p5d] $ S-TYPE FUNCTIONS 24 11 0 3070548.8651 0.00000870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 460777.88643 0.00006745 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 104901.22889 0.00035477 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 29695.861199 0.00149775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9678.8892688 0.00543099 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3490.1877912 0.01743936 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1359.2217621 0.04983563 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 562.42721208 0.12379634 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 244.22296250 0.25057491 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 110.16668710 0.35934609 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 50.881903357 0.27594243 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 965.95430789 0.00000000 0.00417739 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 299.27072059 0.00000000 0.04027715 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 114.83772939 0.00000000 0.17898687 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 49.477578954 0.00000000 0.31783044 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 22.982839977 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 10.518305037 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4.9774390567 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.1339846838 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.0342457284 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.4619977500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1062126419 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0543403474 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0251102174 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 5169.6755427 0.00018803 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1225.0961638 0.00164735 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 397.60051934 0.00911046 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 151.36154684 0.03698745 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.613321773 0.11376330 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28.514560307 0.25345209 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.248003298 0.38019403 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.3048807760 0.30989136 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.9493525821 0.08741894 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 40.738772213 0.00000000 -0.00732338 0.00000000 0.00000000 0.00000000 0.00000000 14.062358461 0.00000000 -0.03428259 0.00000000 0.00000000 0.00000000 0.00000000 2.7460680961 0.00000000 0.35655009 0.00000000 0.00000000 0.00000000 0.00000000 1.2713688141 0.00000000 0.76112035 0.00000000 0.00000000 0.00000000 0.00000000 0.5761001555 0.00000000 0.62716743 0.00000000 0.00000000 0.00000000 0.00000000 0.2398182072 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1100000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0500000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0230000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 5 0 89.589880075 0.00212230 0.00000000 0.00000000 0.00000000 0.00000000 26.591412960 0.01591182 0.00000000 0.00000000 0.00000000 0.00000000 9.7739715702 0.06287524 0.00000000 0.00000000 0.00000000 0.00000000 3.9625083655 0.17144171 0.00000000 0.00000000 0.00000000 0.00000000 1.6890532654 0.30565507 0.00000000 0.00000000 0.00000000 0.00000000 0.7153977147 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2936667775 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1107909485 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0450000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 23 $ VANADIUM (24s18p9d) / [11s6p5d] $ S-TYPE FUNCTIONS 24 11 0 3360380.0382 0.00000870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 502646.73178 0.00006779 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 114247.22867 0.00035699 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 32321.972630 0.00150755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 10532.947271 0.00546644 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3798.3004439 0.01754731 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1479.6094715 0.05010659 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 612.57405507 0.12431296 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 266.22103326 0.25117027 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 120.21980126 0.35926016 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 55.591180848 0.27505076 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1082.4768635 0.00000000 0.00393268 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 334.94462061 0.00000000 0.03829848 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 128.31559026 0.00000000 0.17259909 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 55.311589616 0.00000000 0.31287423 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 25.108383036 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 11.667553242 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5.5372073270 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.3781007618 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.1506947329 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.5128399104 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1162571145 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0582727856 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0266623122 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 5782.8035005 0.00018345 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1369.9392282 0.00160952 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 444.53147129 0.00892423 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 169.25617556 0.03637518 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71.168730031 0.11246803 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.933358374 0.25226108 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.865336779 0.38039695 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.0921740091 0.31068797 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.3281157846 0.08814120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 45.842906017 0.00000000 -0.00566614 0.00000000 0.00000000 0.00000000 0.00000000 15.940339016 0.00000000 -0.02671898 0.00000000 0.00000000 0.00000000 0.00000000 3.1257155025 0.00000000 0.27354633 0.00000000 0.00000000 0.00000000 0.00000000 1.4485867558 0.00000000 0.57972883 0.00000000 0.00000000 0.00000000 0.00000000 0.6557790283 0.00000000 0.47601111 0.00000000 0.00000000 0.00000000 0.00000000 0.2731162664 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1220000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0550000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0250000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 5 0 103.95047414 0.00210072 0.00000000 0.00000000 0.00000000 0.00000000 30.901688665 0.01601524 0.00000000 0.00000000 0.00000000 0.00000000 11.420321145 0.06412746 0.00000000 0.00000000 0.00000000 0.00000000 4.6573272292 0.17488906 0.00000000 0.00000000 0.00000000 0.00000000 1.9963682623 0.31003778 0.00000000 0.00000000 0.00000000 0.00000000 0.8496724953 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3495322188 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1316558823 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0520000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 24 $ CHROMIUM (24s18p9d) / [11s6p5d] $ S-TYPE FUNCTIONS 24 11 0 3637838.6820 0.00000877 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 544864.46100 0.00006817 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 123997.55079 0.00035844 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 35116.733166 0.00151170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 11455.702298 0.00547319 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4135.9906712 0.01753943 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1613.2513581 0.05000487 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 668.77932380 0.12393519 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 291.01365155 0.25039606 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 131.57328167 0.35870470 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 60.924567928 0.27581149 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1196.2899601 0.00000000 0.00773686 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 369.76947592 0.00000000 0.07583784 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 141.54426084 0.00000000 0.34435149 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 60.999228765 0.00000000 0.63249298 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 27.599113358 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 12.882112056 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6.1247513721 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.6332895309 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.2708482289 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.5648357592 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1259680894 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0620456073 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0281443127 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 6395.8781792 0.00018105 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1515.1701574 0.00158937 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 491.70538681 0.00882587 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 187.28416675 0.03606895 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 78.800346444 0.11189650 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.396291693 0.25202240 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.509278879 0.38082266 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.8947396863 0.31035222 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.7136414465 0.08798031 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.259312534 0.00000000 -0.00605420 0.00000000 0.00000000 0.00000000 0.00000000 17.934932523 0.00000000 -0.02876176 0.00000000 0.00000000 0.00000000 0.00000000 3.5257174218 0.00000000 0.29087768 0.00000000 0.00000000 0.00000000 0.00000000 1.6339163906 0.00000000 0.61267525 0.00000000 0.00000000 0.00000000 0.00000000 0.7385241383 0.00000000 0.50126035 0.00000000 0.00000000 0.00000000 0.00000000 0.3075236819 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1350000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0590000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0260000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 5 0 118.24986288 0.00210128 0.00000000 0.00000000 0.00000000 0.00000000 35.193935700 0.01621227 0.00000000 0.00000000 0.00000000 0.00000000 13.057816022 0.06558185 0.00000000 0.00000000 0.00000000 0.00000000 5.3485602844 0.17849601 0.00000000 0.00000000 0.00000000 0.00000000 2.3004233713 0.31376763 0.00000000 0.00000000 0.00000000 0.00000000 0.9811432831 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4033418321 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1513558955 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 25 $ MANGANESE (24s18p10d) / [11s6p5d] $ S-TYPE FUNCTIONS 24 11 0 4289357.6441 0.00000794 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 636361.00285 0.00006254 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 143637.27569 0.00033226 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 40406.345432 0.00141300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 13104.363417 0.00515609 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4705.0664255 0.01665957 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1825.7125432 0.04790808 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 753.33816229 0.11994904 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 326.47253285 0.24550297 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 147.10300670 0.35822740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 67.987226869 0.28295764 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1300.7266717 0.00000000 0.00760252 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 402.72027544 0.00000000 0.07436511 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 154.38971348 0.00000000 0.33780474 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 66.443384613 0.00000000 0.62779332 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 30.975316006 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 14.222980890 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6.7598265074 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.9087083287 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.3966507792 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.6179262409 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1343948372 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0651950538 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0294157136 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 6483.2629658 0.00020480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1556.7134859 0.00175258 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 509.73925460 0.00957988 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 195.28408089 0.03868136 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 82.542547525 0.11832402 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.212076731 0.26168460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.425804462 0.38400629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.3691376962 0.29704167 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.9409000444 0.07826329 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 57.202741010 0.00000000 -0.00477491 0.00000000 0.00000000 0.00000000 0.00000000 20.090935947 0.00000000 -0.02298973 0.00000000 0.00000000 0.00000000 0.00000000 3.9357553763 0.00000000 0.23197066 0.00000000 0.00000000 0.00000000 0.00000000 1.8181984012 0.00000000 0.48435204 0.00000000 0.00000000 0.00000000 0.00000000 0.8188153528 0.00000000 0.39159479 0.00000000 0.00000000 0.00000000 0.00000000 0.3403835919 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1500000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0630000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0270000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 200.40254535 0.00089550 0.00000000 0.00000000 0.00000000 0.00000000 59.898225773 0.00762576 0.00000000 0.00000000 0.00000000 0.00000000 22.810570167 0.03452322 0.00000000 0.00000000 0.00000000 0.00000000 9.5874142097 0.10552677 0.00000000 0.00000000 0.00000000 0.00000000 4.2933710910 0.22575378 0.00000000 0.00000000 0.00000000 0.00000000 1.9537618373 0.32766534 0.00000000 0.00000000 0.00000000 0.00000000 0.8737887360 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3759774890 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1481154759 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 26 $ IRON (24s18p10d) / [11s6p5d] $ S-TYPE FUNCTIONS 24 11 0 4313154.4338 0.00000867 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 645875.08253 0.00006742 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 146981.87698 0.00035449 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 41630.615044 0.00149483 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 13580.620109 0.00541367 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4902.0620613 0.01736246 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1911.2900837 0.04956657 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 791.99837852 0.12309090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 344.54799181 0.24936706 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 155.78722730 0.35858415 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 72.179380315 0.27738222 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1417.9125091 0.00000000 0.00748716 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 439.23184195 0.00000000 0.07333758 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 168.51006820 0.00000000 0.33383144 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 72.776269412 0.00000000 0.62022525 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 32.752961774 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 15.434336101 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 7.3639318205 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.1698832880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.5243708395 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.6749628115 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1471856603 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0700822166 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0312082694 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 7709.0587627 0.00017711 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1826.4666323 0.00155601 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 592.84368362 0.00866295 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 225.93763245 0.03556595 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 95.164758890 0.11098847 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 42.823132375 0.25177797 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.036286581 0.38166911 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.6159346283 0.30963598 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.5393538787 0.08755828 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 62.997519003 0.00000000 -0.00509104 0.00000000 0.00000000 0.00000000 0.00000000 22.262748731 0.00000000 -0.02454046 0.00000000 0.00000000 0.00000000 0.00000000 4.3900064942 0.00000000 0.24345605 0.00000000 0.00000000 0.00000000 0.00000000 2.0328913928 0.00000000 0.50781898 0.00000000 0.00000000 0.00000000 0.00000000 0.9159262158 0.00000000 0.41214896 0.00000000 0.00000000 0.00000000 0.00000000 0.3803665351 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1600000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0670000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0280000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 218.33430163 0.00093700 0.00000000 0.00000000 0.00000000 0.00000000 65.256292616 0.00800088 0.00000000 0.00000000 0.00000000 0.00000000 24.866944817 0.03630529 0.00000000 0.00000000 0.00000000 0.00000000 10.473399301 0.11057190 0.00000000 0.00000000 0.00000000 0.00000000 4.6947005007 0.23219589 0.00000000 0.00000000 0.00000000 0.00000000 2.1315982534 0.32922860 0.00000000 0.00000000 0.00000000 0.00000000 0.9474800461 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4034648883 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1568741473 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0620000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 27 $ COBALT (24s18p10d) / [11s6p5d] $ S-TYPE FUNCTIONS 24 11 0 4658206.5032 0.00000866 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 697560.87453 0.00006734 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 158759.87124 0.00035399 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 44969.099379 0.00149264 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 14670.714247 0.00540531 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5295.8947250 0.01733523 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2065.0581167 0.04948664 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 855.90627750 0.12289352 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 372.48747255 0.24903230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 168.50576608 0.35838320 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 78.128761566 0.27777974 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1534.5149885 0.00000000 0.00744644 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 475.52976096 0.00000000 0.07299360 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 182.54836839 0.00000000 0.33243105 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 78.916467177 0.00000000 0.61900490 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 35.500865522 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 16.790414486 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8.0240232510 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.4571682964 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.6599835391 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.7338002245 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1587861310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0745356595 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0328673517 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 8425.4331352 0.00017492 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1995.8758452 0.00153789 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 647.76765681 0.00857525 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 246.88261214 0.03529527 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 104.00952246 0.11050008 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.827478138 0.25160925 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.934444535 0.38209003 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.540499528 0.30947120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.9820419385 0.08743687 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 69.270787130 0.00000000 -0.00611724 0.00000000 0.00000000 0.00000000 0.00000000 24.583977935 0.00000000 -0.02965504 0.00000000 0.00000000 0.00000000 0.00000000 4.8562258878 0.00000000 0.29163333 0.00000000 0.00000000 0.00000000 0.00000000 2.2480916102 0.00000000 0.60629408 0.00000000 0.00000000 0.00000000 0.00000000 1.0114285977 0.00000000 0.49057440 0.00000000 0.00000000 0.00000000 0.00000000 0.4191990546 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1750000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0730000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0300000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 237.58450966 0.00097593 0.00000000 0.00000000 0.00000000 0.00000000 71.086896302 0.00834326 0.00000000 0.00000000 0.00000000 0.00000000 27.119080683 0.03795847 0.00000000 0.00000000 0.00000000 0.00000000 11.448239054 0.11522936 0.00000000 0.00000000 0.00000000 0.00000000 5.1391806672 0.23843468 0.00000000 0.00000000 0.00000000 0.00000000 2.3323492099 0.33205700 0.00000000 0.00000000 0.00000000 0.00000000 1.0338662062 0.00000000 0.33276836 0.00000000 0.00000000 0.00000000 0.4378514629 0.00000000 0.00000000 0.22769291 0.00000000 0.00000000 0.1689500495 0.00000000 0.00000000 0.00000000 0.07463413 0.00000000 0.0660000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 28 $ NICKEL (24s18p10d) / [11s6p5d] $ S-TYPE FUNCTIONS 24 11 0 5037649.9532 0.00000861 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 754246.39418 0.00006694 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 171644.16010 0.00035191 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 48617.230286 0.00148391 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 15860.961795 0.00537363 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5726.0018653 0.01723338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2232.9547317 0.04921148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 925.49649101 0.12232505 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 402.75336913 0.24829252 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 182.19422856 0.35825476 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 84.494109788 0.27881866 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1678.0564586 0.00000000 0.00824629 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 519.21358326 0.00000000 0.08150594 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 198.95881607 0.00000000 0.37495728 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 85.901180703 0.00000000 0.70841744 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 38.435760123 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18.252349351 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8.7283616939 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.7616245662 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.8028217338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.7950714051 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1703172028 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0789712362 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0345034868 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 9156.5701453 0.00017346 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2169.0239526 0.00152572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 703.98918991 0.00851633 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 268.36293215 0.03511747 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 113.10288796 0.11020275 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 50.955539222 0.25162602 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.896708209 0.38246390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.498241522 0.30907230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.4410908056 0.08719438 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.938560736 0.00000000 -0.00746355 0.00000000 0.00000000 0.00000000 0.00000000 27.037350184 0.00000000 -0.03645340 0.00000000 0.00000000 0.00000000 0.00000000 5.3404687432 0.00000000 0.35633549 0.00000000 0.00000000 0.00000000 0.00000000 2.4700181361 0.00000000 0.73774122 0.00000000 0.00000000 0.00000000 0.00000000 1.1095029064 0.00000000 0.59439383 0.00000000 0.00000000 0.00000000 0.00000000 0.4589976710 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1870000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0762000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0310000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 258.11131142 0.00237263 0.00000000 0.00000000 0.00000000 0.00000000 77.254891371 0.02033013 0.00000000 0.00000000 0.00000000 0.00000000 29.500240033 0.09274849 0.00000000 0.00000000 0.00000000 0.00000000 12.477446945 0.28082285 0.00000000 0.00000000 0.00000000 0.00000000 5.6070455111 0.57392658 0.00000000 0.00000000 0.00000000 0.00000000 2.5427744163 0.78766059 0.00000000 0.00000000 0.00000000 0.00000000 1.1238296774 0.00000000 0.77868790 0.00000000 0.00000000 0.00000000 0.4736117146 0.00000000 0.00000000 0.52932234 0.00000000 0.00000000 0.1816185832 0.00000000 0.00000000 0.00000000 0.17478168 0.00000000 0.0710000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 29 $ COPPER (24s18p10d) / [11s6p5d] $ S-TYPE FUNCTIONS 24 11 0 5056467.8898 0.00000935 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 759457.83835 0.00007232 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 173524.88497 0.00037814 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 49327.259988 0.00158701 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 16144.149930 0.00572207 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5844.5964680 0.01826839 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2284.6812739 0.05189372 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 948.88232514 0.12796192 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 413.66215455 0.25629891 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 187.38942059 0.36064416 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 86.872771648 0.26833665 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1744.0598287 0.00000000 0.00885871 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 540.93295513 0.00000000 0.08652279 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 207.99736224 0.00000000 0.38932285 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 90.475793036 0.00000000 0.69777200 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 38.869687699 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18.974829147 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9.0953644635 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.8330020174 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.8198891499 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.7906809839 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1491414211 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0724480906 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0309599254 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 9720.4614555 0.00017829 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2302.7557452 0.00156781 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 747.48498314 0.00874701 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 285.00132623 0.03604455 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 120.15121609 0.11287209 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.145261156 0.25647377 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.406033563 0.38512918 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.224331465 0.30316512 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.7638720668 0.08167722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 83.210837217 0.00000000 -0.00635304 0.00000000 0.00000000 0.00000000 0.00000000 29.694779129 0.00000000 -0.03138383 0.00000000 0.00000000 0.00000000 0.00000000 5.8248516206 0.00000000 0.30930040 0.00000000 0.00000000 0.00000000 0.00000000 2.6746181180 0.00000000 0.63583926 0.00000000 0.00000000 0.00000000 0.00000000 1.1841836775 0.00000000 0.50946046 0.00000000 0.00000000 0.00000000 0.00000000 0.4804358354 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1870000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0762000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0310000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 249.54025080 0.00124329 0.00000000 0.00000000 0.00000000 0.00000000 74.683914534 0.01045690 0.00000000 0.00000000 0.00000000 0.00000000 28.392717116 0.04645124 0.00000000 0.00000000 0.00000000 0.00000000 11.955968430 0.13541360 0.00000000 0.00000000 0.00000000 0.00000000 5.3210744624 0.25852900 0.00000000 0.00000000 0.00000000 0.00000000 2.3661189459 0.33168128 0.00000000 0.00000000 0.00000000 0.00000000 1.0131863994 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4071003594 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1474254103 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0710000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 30 $ ZINC (24s18p10d) / [11s6p5d] $ S-TYPE FUNCTIONS 24 11 0 5742307.1507 0.00000869 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 861450.78790 0.00006736 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 196346.05866 0.00035350 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 55682.870737 0.00148842 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18183.902394 0.00538409 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6569.6448019 0.01725274 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2563.5613276 0.04923868 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1063.1147176 0.12235812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 462.89771078 0.24835390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 209.52821049 0.35830633 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 97.240787991 0.27880260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1929.2689992 0.00000000 0.00830770 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 598.07122307 0.00000000 0.08188259 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 229.69667336 0.00000000 0.37588060 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 99.416819228 0.00000000 0.71067260 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 44.241101421 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 21.194367113 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 10.158731597 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4.3746176158 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.0901489071 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.9186913644 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1927866061 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0873299152 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0375522171 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 10690.445107 0.00017143 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2532.3159340 0.00150880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 821.94295003 0.00843688 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 313.42757800 0.03489810 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 132.18314247 0.10993617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 59.620554387 0.25207277 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28.019488868 0.38325658 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.511704850 0.30787091 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.4053711253 0.08641170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 89.981131918 0.00000000 -0.00962628 0.00000000 0.00000000 0.00000000 0.00000000 32.241767106 0.00000000 -0.04750941 0.00000000 0.00000000 0.00000000 0.00000000 6.3809448581 0.00000000 0.45834100 0.00000000 0.00000000 0.00000000 0.00000000 2.9477928353 0.00000000 0.94473799 0.00000000 0.00000000 0.00000000 0.00000000 1.3200854955 0.00000000 0.75923465 0.00000000 0.00000000 0.00000000 0.00000000 0.5442467445 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2579997180 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0928631924 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0340593414 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 305.22298937 0.00273598 0.00000000 0.00000000 0.00000000 0.00000000 91.468273202 0.02358523 0.00000000 0.00000000 0.00000000 0.00000000 34.986985968 0.10858422 0.00000000 0.00000000 0.00000000 0.00000000 14.849415187 0.32843594 0.00000000 0.00000000 0.00000000 0.00000000 6.6858545707 0.66180236 0.00000000 0.00000000 0.00000000 0.00000000 3.0309412620 0.89165339 0.00000000 0.00000000 0.00000000 0.00000000 1.3355050671 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5588317639 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2118079929 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0830000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 a 31 $ GALLIUM (24s18p10d) / [11s7p4d] $ S-TYPE FUNCTIONS 24 11 0 6623802.0274 0.00007909 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 987904.07075 0.00006184 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 224132.05899 0.00032636 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 63315.192943 0.00138104 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 20611.312702 0.00501538 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 7429.1672482 0.01613094 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2894.2071720 0.04624083 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1198.9915786 0.11579100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 521.82003812 0.23834841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 236.27549237 0.35374256 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 109.98395671 0.29055722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2101.2587253 0.00000000 0.00830396 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 650.97022519 0.00000000 0.08225413 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 250.22438356 0.00000000 0.38021717 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 108.17616625 0.00000000 0.74503595 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 51.057486710 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 23.647474527 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 11.361701144 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5.0178135897 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.4102674998 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.0741046685 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.2574507583 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.1217522755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0523605990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 19 7 0 14711.750483 0.00011131 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3482.1451716 0.00098496 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1130.2186655 0.00558542 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 431.54093448 0.02368241 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 182.41723648 0.07821159 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 82.706753603 0.19503830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 39.228128772 0.34131988 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 19.201979939 0.35718665 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.5056966689 0.16395955 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 92.615613022 0.00000000 -0.08584828 0.00000000 0.00000000 0.00000000 0.00000000 0.0 33.750148165 0.00000000 -0.39435020 0.00000000 0.00000000 0.00000000 0.00000000 0.0 7.3482283015 0.00000000 0.00000000 0.37941607 0.00000000 0.00000000 0.00000000 0.0 3.7813384844 0.00000000 0.00000000 0.71306292 0.00000000 0.00000000 0.00000000 0.0 2.3145183128 0.00000000 0.00000000 0.43210001 0.00000000 0.00000000 0.00000000 0.0 0.8034685972 0.00000000 0.00000000 0.25838123 0.00000000 0.00000000 0.00000000 0.0 1.5423710087 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.3291023964 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1183408883 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0416278777 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 363.49565218 0.00087402 0.00000000 0.00000000 0.00000000 109.01749589 0.00767519 0.00000000 0.00000000 0.00000000 41.866430715 0.03638898 0.00000000 0.00000000 0.00000000 17.879279894 0.11325183 0.00000000 0.00000000 0.00000000 8.1201893671 0.23770881 0.00000000 0.00000000 0.00000000 3.7360611356 0.33306060 0.00000000 0.00000000 0.00000000 1.6826812549 0.33130614 0.00000000 0.00000000 0.00000000 0.7265579050 0.00000000 0.21895438 0.00000000 0.00000000 0.2849858508 0.00000000 0.00000000 1.00000000 0.00000000 0.1120000000 0.00000000 0.00000000 0.00000000 1.00000000 a 32 $ GERMANIUM (24s19p10d) / [11s7p4d] $ S-TYPE FUNCTIONS 24 11 0 7233056.0346 0.00000766 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1082886.1731 0.00005960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 246481.46959 0.00031319 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 69862.426955 0.00131941 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 22815.809662 0.00477361 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8246.5369297 0.01531925 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3219.9367257 0.04390087 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1336.5743706 0.11028574 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 582.87737501 0.22912630 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 264.59511360 0.34779259 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 123.77823320 0.29968722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2311.1055804 0.00000000 0.00750331 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 716.27089868 0.00000000 0.07477839 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 275.45330910 0.00000000 0.35092882 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 118.93292565 0.00000000 0.72055990 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 58.435699085 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 26.261575973 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 12.664880671 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5.7269548505 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.7555023203 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.2432886754 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.3310718385 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.1596408137 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0684631789 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 19 7 0 16555.711074 0.00010199 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3914.9903745 0.00090504 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1269.4766518 0.00515585 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 484.35437789 0.02201034 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 204.64985822 0.07343480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 92.791032094 0.18608955 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 44.055060255 0.33330982 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 21.601319931 0.36229776 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.732169233 0.17765186 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 100.88933962 0.00000000 -0.11146182 0.00000000 0.00000000 0.00000000 0.00000000 0.0 36.640254741 0.00000000 -0.52324324 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.0343224115 0.00000000 0.00000000 0.31484763 0.00000000 0.00000000 0.00000000 0.0 4.5613438333 0.00000000 0.00000000 0.38737745 0.00000000 0.00000000 0.00000000 0.0 3.1794882223 0.00000000 0.00000000 0.50034354 0.00000000 0.00000000 0.00000000 0.0 0.9261204146 0.00000000 0.00000000 0.22656708 0.00000000 0.00000000 0.00000000 0.0 1.7977040907 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.4138686543 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1583079871 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0578770359 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 420.99565921 0.00078212 0.00000000 0.00000000 0.00000000 126.36209818 0.00695601 0.00000000 0.00000000 0.00000000 48.661473548 0.03371219 0.00000000 0.00000000 0.00000000 20.880325527 0.10717291 0.00000000 0.00000000 0.00000000 9.5418229355 0.23161030 0.00000000 0.00000000 0.00000000 4.4353653868 0.33390954 0.00000000 0.00000000 0.00000000 2.0285421942 0.33720676 0.00000000 0.00000000 0.00000000 0.8948493527 0.00000000 0.21702473 0.00000000 0.00000000 0.3578607433 0.00000000 0.00000000 1.00000000 0.00000000 0.1400000000 0.00000000 0.00000000 0.00000000 1.00000000 a 33 $ ARSENIC (24s20p10d) / [11s7p4d] $ S-TYPE FUNCTIONS 24 11 0 8217482.6198 0.00000706 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1230500.3720 0.00005488 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 280225.86648 0.00028809 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 79482.509415 0.00121298 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 25963.783351 0.00439146 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9381.4010193 0.01412536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3660.4911972 0.04065792 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1518.2356024 0.10300383 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 661.80098920 0.21730077 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 300.58642127 0.33995751 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 141.11137296 0.31088634 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2577.0870580 0.00000000 0.00707530 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 798.07872277 0.00000000 0.07138362 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 306.57574948 0.00000000 0.34287025 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 132.27558802 0.00000000 0.74361403 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 67.448702235 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 29.209180441 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 14.156509326 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6.5561506682 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.1392847238 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.4294631050 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.4110339089 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.2003245331 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0856699289 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 20 7 0 25198.504278 0.00005476 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5972.5601381 0.00048572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1941.9123183 0.00279081 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 743.59381104 0.01220151 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 315.63828052 0.04266629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 143.96878925 0.11870919 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 69.068683164 0.24909407 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 34.254305629 0.36061357 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 17.371746759 0.29392242 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.7634555628 0.09782906 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 228.49024582 0.00000000 -0.00249001 0.00000000 0.00000000 0.00000000 0.00000000 0.0 86.313555488 0.00000000 -0.01948252 0.00000000 0.00000000 0.00000000 0.00000000 0.0 36.751366267 0.00000000 -0.06149507 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.5365149464 0.00000000 0.47258065 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4.1935128599 0.00000000 1.02360651 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.0464980417 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.9800000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.4053434062 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1665507047 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0659817061 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 479.32599612 0.00071723 0.00000000 0.00000000 0.00000000 143.96064855 0.00644192 0.00000000 0.00000000 0.00000000 55.548909224 0.03177650 0.00000000 0.00000000 0.00000000 23.927581006 0.10276249 0.00000000 0.00000000 0.00000000 10.988194172 0.22710953 0.00000000 0.00000000 0.00000000 5.1489356262 0.33477474 0.00000000 0.00000000 0.00000000 2.3836810892 0.34175986 0.00000000 0.00000000 0.00000000 1.0688204667 0.00000000 0.21462892 0.00000000 0.00000000 0.4330569374 0.00000000 0.00000000 1.00000000 0.00000000 0.1700000000 0.00000000 0.00000000 0.00000000 1.00000000 a 34 $ SELENIUM (24s20p10d) / [11s7p4d] $ S-TYPE FUNCTIONS 24 11 0 9520446.7743 0.00000633 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1424984.0802 0.00004927 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 324127.57682 0.00025920 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 91774.876950 0.00109431 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 29932.725725 0.00397061 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 10804.617905 0.01280119 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4214.0134779 0.03698038 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1747.8116633 0.09446135 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 762.12160878 0.20274705 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 346.45604141 0.32878956 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 163.11569304 0.32300253 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2614.5153067 0.00000000 0.00791139 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 818.68552756 0.00000000 0.07718774 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 318.63398991 0.00000000 0.35672062 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 139.04844125 0.00000000 0.75846750 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 78.348734788 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 31.704290663 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 15.505859269 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 7.3227423625 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.4969483549 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.6121546085 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.4958715854 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.2409213818 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.1023173940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 20 7 0 25360.215615 0.00006053 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5993.7896610 0.00053988 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1943.0741755 0.00311305 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 742.35316156 0.01359967 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 314.62114597 0.04729896 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 143.34748044 0.12981488 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 68.673617552 0.26569982 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 34.013554117 0.36723195 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 17.198099621 0.27478356 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.5830329629 0.07925617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 236.58209146 0.00000000 -0.00122716 0.00000000 0.00000000 0.00000000 0.00000000 0.0 90.576183214 0.00000000 -0.00925846 0.00000000 0.00000000 0.00000000 0.00000000 0.0 39.086689301 0.00000000 -0.02842873 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.3084344018 0.00000000 0.21201102 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4.6169923084 0.00000000 0.47117590 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.2653477506 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 1.0800000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.4793932858 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1961998385 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0762563393 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 539.48700124 0.00066723 0.00000000 0.00000000 0.00000000 162.13394435 0.00603993 0.00000000 0.00000000 0.00000000 62.661795641 0.03023867 0.00000000 0.00000000 0.00000000 27.077272889 0.09926789 0.00000000 0.00000000 0.00000000 12.483003929 0.22358036 0.00000000 0.00000000 0.00000000 5.8864623136 0.33574683 0.00000000 0.00000000 0.00000000 2.7519131105 0.34554856 0.00000000 0.00000000 0.00000000 1.2500769617 0.00000000 0.21216655 0.00000000 0.00000000 0.5117284184 0.00000000 0.00000000 1.00000000 0.00000000 0.2000000000 0.00000000 0.00000000 0.00000000 1.00000000 a 35 $ BROMINE (24s20p10d) / [11s7p4d] $ S-TYPE FUNCTIONS 24 11 0 10629044.264 0.00000593 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1591918.2739 0.00004612 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 362333.98437 0.00024245 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 102643.11141 0.00102314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 33489.846668 0.00371220 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 12091.247190 0.01197811 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4716.1908789 0.03468269 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1956.1598080 0.08906833 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 853.08595848 0.19330125 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 387.96633666 0.32071145 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 182.85156613 0.32996798 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3240.4086421 0.00000000 0.00659052 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1000.4631935 0.00000000 0.06843961 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 383.37301682 0.00000000 0.34495479 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 166.03929698 0.00000000 0.82315542 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 87.919906994 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 35.675840068 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 17.543657842 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8.4473660433 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.9666180616 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.8356815987 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.5908477878 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.2886321842 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.1215338054 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 20 7 0 26566.476579 0.00006207 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 6290.5088566 0.00055132 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2043.3178410 0.00316801 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 781.67221007 0.01381650 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 331.51078945 0.04801854 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 151.09198667 0.13162015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 72.395278166 0.26860052 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 35.869510844 0.36827391 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 18.139906191 0.27108613 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.0466688944 0.07621534 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 253.71822146 0.00000000 -0.00137292 0.00000000 0.00000000 0.00000000 0.00000000 0.0 97.250818058 0.00000000 -0.01039381 0.00000000 0.00000000 0.00000000 0.00000000 0.0 42.034897960 0.00000000 -0.03220421 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.9685673555 0.00000000 0.24224770 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4.9395854745 0.00000000 0.53557868 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.4382845475 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 1.1800000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.5104756497 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.2121585193 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0839436050 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 601.44434484 0.00062784 0.00000000 0.00000000 0.00000000 180.85718640 0.00572052 0.00000000 0.00000000 0.00000000 69.986806340 0.02900252 0.00000000 0.00000000 0.00000000 30.324710300 0.09644699 0.00000000 0.00000000 0.00000000 14.027909238 0.22065826 0.00000000 0.00000000 0.00000000 6.6511702082 0.33657642 0.00000000 0.00000000 0.00000000 3.1354168338 0.34872041 0.00000000 0.00000000 0.00000000 1.4393591843 0.00000000 0.20984536 0.00000000 0.00000000 0.5935044144 0.00000000 0.00000000 1.00000000 0.00000000 0.2300000000 0.00000000 0.00000000 0.00000000 1.00000000 a 36 $ KRYPTON (24s20p10d) / [11s7p4d] $ S-TYPE FUNCTIONS 24 11 0 11713823.008 0.00000569 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1755253.3979 0.00004421 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 399717.41924 0.00023228 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 113285.79260 0.00097974 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 36977.205293 0.00355376 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 13355.036580 0.01146867 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5210.9012988 0.03324163 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2162.1137020 0.08562073 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 943.29291023 0.18708767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 429.20724331 0.31497583 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 202.40720840 0.33406191 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3260.4985521 0.00000000 0.00730915 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1011.1069716 0.00000000 0.07404036 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 392.44359273 0.00000000 0.35414962 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 173.21702132 0.00000000 0.80188286 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 96.619988467 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 38.158284867 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18.959517570 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9.2505996199 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4.3486517621 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 2.0380324209 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.6911015254 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.3350606514 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.1407444112 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 20 7 0 28609.335767 0.00006053 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 6773.1236364 0.00053786 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2199.8011079 0.00309354 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 841.50201590 0.01351432 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 356.92110288 0.04709009 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 162.71174351 0.12960370 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 78.004264994 0.26607436 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 38.682579997 0.36775851 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 19.589158685 0.27406904 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.7990863417 0.07877335 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 261.37786869 0.00000000 -0.00163972 0.00000000 0.00000000 0.00000000 0.00000000 0.0 100.09932146 0.00000000 -0.01203480 0.00000000 0.00000000 0.00000000 0.00000000 0.0 44.012139363 0.00000000 -0.03489149 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.854010739 0.00000000 0.25212651 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5.4351930182 0.00000000 0.57400782 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.7062805542 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 1.3195633408 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.5800445597 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.2432997626 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0968237251 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 665.35057386 0.00059589 0.00000000 0.00000000 0.00000000 200.17995366 0.00545943 0.00000000 0.00000000 0.00000000 77.545085570 0.02798099 0.00000000 0.00000000 0.00000000 33.677854345 0.09411917 0.00000000 0.00000000 0.00000000 15.624928334 0.21825216 0.00000000 0.00000000 0.00000000 7.4427867423 0.33739971 0.00000000 0.00000000 0.00000000 3.5336073535 0.35141419 0.00000000 0.00000000 0.00000000 1.6363725142 0.00000000 0.20756719 0.00000000 0.00000000 0.6784568473 0.00000000 0.00000000 1.00000000 0.00000000 0.2700000000 0.00000000 0.00000000 0.00000000 1.00000000 $END OF BASIS ergo-3.5/basis/6-31++Gs0000664000175000017500000007452112743400275011307 00000000000000$Basis = 6-31++G* $Elements supported $H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar $ $ REFERENCE $Elements References $-------- ---------- $ H - He: W.J. Hehre, R. Ditchfield and J.A. Pople, J. Chem. Phys. 56, $Li - Ne: 2257 (1972). Note: Li and B come from J.D. Dill and J.A. $ Pople, J. Chem. Phys. 62, 2921 (1975). $Na - Ar: M.M. Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, $ D.J. DeFrees and J.A. Pople, J. Chem. Phys. 77, 3654 (1982) $K - Zn: V. Rassolov, J.A. Pople, M. Ratner and T.L. Windus, J. Chem. Phys. $ 109, 1223 (1998) $** $ Note: He and Ne are unpublished basis sets taken from the Gaussian $ program $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $Elements References $-------- ---------- $H,Li - Ne: P.C. Hariharan and J.A. Pople, Theoret. Chimica Acta 28, 213 (1973). $Na - Ar : M.M. Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, D.J. $ DeFrees and J.A. Pople, J. Chem. Phys. 77, 3654 (1982). $K - Zn: V.A. Rassolov, J.A. Pople, M.A. Ratner, and T.L. Windus $ J. Chem. Phys. 109, 1223 (1998) $ Note: He and Ne are unpublished basis sets taken from Gaussian. $ $ A 1 $ HYDROGEN (4s) -> [2s] $ HYDROGEN (Diffuse s) $ S-TYPE FUNCTIONS 5 3 0 18.7311370 0.03349460 0.00000000 0.00000000 2.8253937 0.23472695 0.00000000 0.00000000 0.6401217 0.81375733 0.00000000 0.00000000 0.1612778 0.00000000 1.00000000 0.00000000 0.0360000 0.00000000 0.00000000 1.00000000 A 2 $ HELIUM (4s) -> [2s] $ S-TYPE FUNCTIONS 4 2 0 38.4216340 0.02376600 0.00000000 5.7780300 0.15467900 0.00000000 1.2417740 0.46963000 0.00000000 0.2979640 0.00000000 1.00000000 A 3 $ LITHIUM (10s,4p) -> [3s,2p] $ LITHIUM (Diffuse sp) $ LITHIUM (1d) $ S-TYPE FUNCTIONS 11 4 0 642.4189200 0.00214260 0.00000000 0.00000000 0.00000000 96.7985150 0.01620890 0.00000000 0.00000000 0.00000000 22.0911210 0.07731560 0.00000000 0.00000000 0.00000000 6.2010703 0.24578600 0.00000000 0.00000000 0.00000000 1.9351177 0.47018900 0.00000000 0.00000000 0.00000000 0.6367358 0.34547080 0.00000000 0.00000000 0.00000000 2.3249184 0.00000000 -0.03509170 0.00000000 0.00000000 0.6324306 0.00000000 -0.19123280 0.00000000 0.00000000 0.0790534 0.00000000 1.08398780 0.00000000 0.00000000 0.0359620 0.00000000 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 2.3249184 0.00894150 0.00000000 0.00000000 0.6324306 0.14100950 0.00000000 0.00000000 0.0790534 0.94536370 0.00000000 0.00000000 0.0359620 0.00000000 1.00000000 0.00000000 0.0074000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.2000000 1.00000000 A 4 $ BERYLLIUM (10s,4p) -> [3s,2p] $ BERYLLIUM (Diffuse sp) $ BERYLLIUM (1d) $ S-TYPE FUNCTIONS 11 4 0 1264.5857000 0.00194480 0.00000000 0.00000000 0.00000000 189.9368100 0.01483510 0.00000000 0.00000000 0.00000000 43.1590890 0.07209060 0.00000000 0.00000000 0.00000000 12.0986630 0.23715420 0.00000000 0.00000000 0.00000000 3.8063232 0.46919870 0.00000000 0.00000000 0.00000000 1.2728903 0.35652020 0.00000000 0.00000000 0.00000000 3.1964631 0.00000000 -0.11264870 0.00000000 0.00000000 0.7478133 0.00000000 -0.22950640 0.00000000 0.00000000 0.2199663 0.00000000 1.18691670 0.00000000 0.00000000 0.0823099 0.00000000 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 3.1964631 0.05598020 0.00000000 0.00000000 0.7478133 0.26155060 0.00000000 0.00000000 0.2199663 0.79397230 0.00000000 0.00000000 0.0823099 0.00000000 1.00000000 0.00000000 0.0207000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4000000 1.00000000 A 5 $ BORON (10s,4p) -> [3s,2p] $ BORON (Diffuse sp) $ BORON (1d) $ S-TYPE FUNCTIONS 11 4 0 2068.8823000 0.00186630 0.00000000 0.00000000 0.00000000 310.6495700 0.01425150 0.00000000 0.00000000 0.00000000 70.6830330 0.06955160 0.00000000 0.00000000 0.00000000 19.8610800 0.23257290 0.00000000 0.00000000 0.00000000 6.2993048 0.46707870 0.00000000 0.00000000 0.00000000 2.1270270 0.36343140 0.00000000 0.00000000 0.00000000 4.7279710 0.00000000 -0.13039380 0.00000000 0.00000000 1.1903377 0.00000000 -0.13078890 0.00000000 0.00000000 0.3594117 0.00000000 1.13094440 0.00000000 0.00000000 0.1267512 0.00000000 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 4.7279710 0.07459760 0.00000000 0.00000000 1.1903377 0.30784670 0.00000000 0.00000000 0.3594117 0.74345680 0.00000000 0.00000000 0.1267512 0.00000000 1.00000000 0.00000000 0.0315000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6000000 1.00000000 A 6 $ CARBON (10s,4p) -> [3s,2p] $ CARBON (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 3047.5249000 0.00183470 0.00000000 0.00000000 0.00000000 457.3695100 0.01403730 0.00000000 0.00000000 0.00000000 103.9486900 0.06884260 0.00000000 0.00000000 0.00000000 29.2101550 0.23218440 0.00000000 0.00000000 0.00000000 9.2866630 0.46794130 0.00000000 0.00000000 0.00000000 3.1639270 0.36231200 0.00000000 0.00000000 0.00000000 7.8682724 0.00000000 -0.11933240 0.00000000 0.00000000 1.8812885 0.00000000 -0.16085420 0.00000000 0.00000000 0.5442493 0.00000000 1.14345640 0.00000000 0.00000000 0.1687144 0.00000000 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 7.8682724 0.06899910 0.00000000 0.00000000 1.8812885 0.31642400 0.00000000 0.00000000 0.5442493 0.74430830 0.00000000 0.00000000 0.1687144 0.00000000 1.00000000 0.00000000 0.0438000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 A 7 $ NITROGEN (10s,4p) -> [3s,2p] $ NITROGEN (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 4173.5110000 0.00183480 0.00000000 0.00000000 0.00000000 627.4579000 0.01399500 0.00000000 0.00000000 0.00000000 142.9021000 0.06858700 0.00000000 0.00000000 0.00000000 40.2343300 0.23224100 0.00000000 0.00000000 0.00000000 12.8202100 0.46907000 0.00000000 0.00000000 0.00000000 4.3904370 0.36045500 0.00000000 0.00000000 0.00000000 11.6263580 0.00000000 -0.11496100 0.00000000 0.00000000 2.7162800 0.00000000 -0.16911800 0.00000000 0.00000000 0.7722180 0.00000000 1.14585200 0.00000000 0.00000000 0.2120313 0.00000000 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 11.6263580 0.06758000 0.00000000 0.00000000 2.7162800 0.32390700 0.00000000 0.00000000 0.7722180 0.74089500 0.00000000 0.00000000 0.2120313 0.00000000 1.00000000 0.00000000 0.0639000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 A 8 $ OXYGEN (10s,4p) -> [3s,2p] $ OXYGEN (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 5484.6717000 0.00183110 0.00000000 0.00000000 0.00000000 825.2349500 0.01395010 0.00000000 0.00000000 0.00000000 188.0469600 0.06844510 0.00000000 0.00000000 0.00000000 52.9645000 0.23271430 0.00000000 0.00000000 0.00000000 16.8975700 0.47019300 0.00000000 0.00000000 0.00000000 5.7996353 0.35852090 0.00000000 0.00000000 0.00000000 15.5396160 0.00000000 -0.11077750 0.00000000 0.00000000 3.5999336 0.00000000 -0.14802630 0.00000000 0.00000000 1.0137618 0.00000000 1.13076700 0.00000000 0.00000000 0.2700058 0.00000000 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 15.5396160 0.07087430 0.00000000 0.00000000 3.5999336 0.33975280 0.00000000 0.00000000 1.0137618 0.72715860 0.00000000 0.00000000 0.2700058 0.00000000 1.00000000 0.00000000 0.0845000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 A 9 $ FLUORINE (10s,4p) -> [3s,2p] $ FLUORINE (Diffuse sp) $ S-TYPE FUNCTIONS 11 4 0 7001.1713000 0.00181960 0.00000000 0.00000000 0.00000000 1051.3660000 0.01391600 0.00000000 0.00000000 0.00000000 239.2857000 0.06840500 0.00000000 0.00000000 0.00000000 67.3974500 0.23318600 0.00000000 0.00000000 0.00000000 21.5199600 0.47126700 0.00000000 0.00000000 0.00000000 7.4031010 0.35661900 0.00000000 0.00000000 0.00000000 20.8479500 0.00000000 -0.10850700 0.00000000 0.00000000 4.8083080 0.00000000 -0.14645200 0.00000000 0.00000000 1.3440700 0.00000000 1.12868900 0.00000000 0.00000000 0.3581514 0.00000000 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 20.8479500 0.07162900 0.00000000 0.00000000 4.8083080 0.34591200 0.00000000 0.00000000 1.3440700 0.72247000 0.00000000 0.00000000 0.3581514 0.00000000 1.00000000 0.00000000 0.1076000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 A 10 $ NEON (10s,4p) -> [3s,2p] $ NEON (Diffuse sp) $ NEON (1d) $ S-TYPE FUNCTIONS 11 4 0 8425.8515300 0.00188435 0.00000000 0.00000000 0.00000000 1268.5194000 0.01433690 0.00000000 0.00000000 0.00000000 289.6214140 0.07010962 0.00000000 0.00000000 0.00000000 81.8590040 0.23737327 0.00000000 0.00000000 0.00000000 26.2515079 0.47300713 0.00000000 0.00000000 0.00000000 9.0947205 0.34840124 0.00000000 0.00000000 0.00000000 26.5321310 0.00000000 -0.10711829 0.00000000 0.00000000 6.1017550 0.00000000 -0.14616382 0.00000000 0.00000000 1.6962715 0.00000000 1.12777350 0.00000000 0.00000000 0.4458187 0.00000000 0.00000000 1.00000000 0.00000000 0.1300000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 26.5321310 0.07190959 0.00000000 0.00000000 6.1017550 0.34951337 0.00000000 0.00000000 1.6962715 0.71994051 0.00000000 0.00000000 0.4458187 0.00000000 1.00000000 0.00000000 0.1300000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8000000 1.00000000 A 11 $ SODIUM (16s,10p) -> [4s,3p] $ SODIUM (Diffuse sp) $ SODIUM (1d) $ S-TYPE FUNCTIONS 17 5 0 9993.2000000 0.00193770 0.00000000 0.00000000 0.00000000 0.00000000 1499.8900000 0.01480700 0.00000000 0.00000000 0.00000000 0.00000000 341.9510000 0.07270600 0.00000000 0.00000000 0.00000000 0.00000000 94.6797000 0.25262900 0.00000000 0.00000000 0.00000000 0.00000000 29.7345000 0.49324200 0.00000000 0.00000000 0.00000000 0.00000000 10.0063000 0.31316900 0.00000000 0.00000000 0.00000000 0.00000000 150.9630000 0.00000000 -0.00354210 0.00000000 0.00000000 0.00000000 35.5878000 0.00000000 -0.04395900 0.00000000 0.00000000 0.00000000 11.1683000 0.00000000 -0.10975210 0.00000000 0.00000000 0.00000000 3.9020100 0.00000000 0.18739800 0.00000000 0.00000000 0.00000000 1.3817700 0.00000000 0.64669900 0.00000000 0.00000000 0.00000000 0.4663820 0.00000000 0.30605800 0.00000000 0.00000000 0.00000000 0.4979660 0.00000000 0.00000000 -0.24850300 0.00000000 0.00000000 0.0843530 0.00000000 0.00000000 -0.13170400 0.00000000 0.00000000 0.0666350 0.00000000 0.00000000 1.23352000 0.00000000 0.00000000 0.0259544 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0076000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 150.9630000 0.00500170 0.00000000 0.00000000 0.00000000 35.5878000 0.03551100 0.00000000 0.00000000 0.00000000 11.1683000 0.14282500 0.00000000 0.00000000 0.00000000 3.9020100 0.33862000 0.00000000 0.00000000 0.00000000 1.3817700 0.45157900 0.00000000 0.00000000 0.00000000 0.4663820 0.27327100 0.00000000 0.00000000 0.00000000 0.4979660 0.00000000 -0.02302300 0.00000000 0.00000000 0.0843530 0.00000000 0.95035900 0.00000000 0.00000000 0.0666350 0.00000000 0.05985800 0.00000000 0.00000000 0.0259544 0.00000000 0.00000000 1.00000000 0.00000000 0.0076000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 A 12 $ MAGNESIUM (16s,10p) -> [4s,3p] $ MAGNESIUM (Diffuse sp) $ MAGNESIUM (1d) $ S-TYPE FUNCTIONS 17 5 0 11722.8000000 0.00197780 0.00000000 0.00000000 0.00000000 0.00000000 1759.9300000 0.01511400 0.00000000 0.00000000 0.00000000 0.00000000 400.8460000 0.07391100 0.00000000 0.00000000 0.00000000 0.00000000 112.8070000 0.24919100 0.00000000 0.00000000 0.00000000 0.00000000 35.9997000 0.48792800 0.00000000 0.00000000 0.00000000 0.00000000 12.1828000 0.31966200 0.00000000 0.00000000 0.00000000 0.00000000 189.1800000 0.00000000 -0.00323720 0.00000000 0.00000000 0.00000000 45.2119000 0.00000000 -0.04100800 0.00000000 0.00000000 0.00000000 14.3563000 0.00000000 -0.11260000 0.00000000 0.00000000 0.00000000 5.1388600 0.00000000 0.14863300 0.00000000 0.00000000 0.00000000 1.9065200 0.00000000 0.61649700 0.00000000 0.00000000 0.00000000 0.7058870 0.00000000 0.36482900 0.00000000 0.00000000 0.00000000 0.9293400 0.00000000 0.00000000 -0.21229000 0.00000000 0.00000000 0.2690350 0.00000000 0.00000000 -0.10798500 0.00000000 0.00000000 0.1173790 0.00000000 0.00000000 1.17584000 0.00000000 0.00000000 0.0421061 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0146000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 189.1800000 0.00492810 0.00000000 0.00000000 0.00000000 45.2119000 0.03498900 0.00000000 0.00000000 0.00000000 14.3563000 0.14072500 0.00000000 0.00000000 0.00000000 5.1388600 0.33364200 0.00000000 0.00000000 0.00000000 1.9065200 0.44494000 0.00000000 0.00000000 0.00000000 0.7058870 0.26925400 0.00000000 0.00000000 0.00000000 0.9293400 0.00000000 -0.02241900 0.00000000 0.00000000 0.2690350 0.00000000 0.19227000 0.00000000 0.00000000 0.1173790 0.00000000 0.84618100 0.00000000 0.00000000 0.0421061 0.00000000 0.00000000 1.00000000 0.00000000 0.0146000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.1750000 1.00000000 A 13 $ ALUMINUM (16s,10p) -> [4s,3p] $ ALUMINUM (Diffuse sp) $ ALUMINUM (1d) $ S-TYPE FUNCTIONS 17 5 0 13983.1000000 0.00194270 0.00000000 0.00000000 0.00000000 0.00000000 2098.7500000 0.01486000 0.00000000 0.00000000 0.00000000 0.00000000 477.7050000 0.07284900 0.00000000 0.00000000 0.00000000 0.00000000 134.3600000 0.24683000 0.00000000 0.00000000 0.00000000 0.00000000 42.8709000 0.48725800 0.00000000 0.00000000 0.00000000 0.00000000 14.5189000 0.32349600 0.00000000 0.00000000 0.00000000 0.00000000 239.6680000 0.00000000 -0.00292620 0.00000000 0.00000000 0.00000000 57.4419000 0.00000000 -0.03740800 0.00000000 0.00000000 0.00000000 18.2859000 0.00000000 -0.11448700 0.00000000 0.00000000 0.00000000 6.5991400 0.00000000 0.11563500 0.00000000 0.00000000 0.00000000 2.4904900 0.00000000 0.61259500 0.00000000 0.00000000 0.00000000 0.9445400 0.00000000 0.39379900 0.00000000 0.00000000 0.00000000 1.2779000 0.00000000 0.00000000 -0.22760600 0.00000000 0.00000000 0.3975900 0.00000000 0.00000000 0.14458300 0.00000000 0.00000000 0.1600950 0.00000000 0.00000000 1.09279000 0.00000000 0.00000000 0.0556577 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0318000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 239.6680000 0.00460290 0.00000000 0.00000000 0.00000000 57.4419000 0.03319900 0.00000000 0.00000000 0.00000000 18.2859000 0.13628200 0.00000000 0.00000000 0.00000000 6.5991400 0.33047600 0.00000000 0.00000000 0.00000000 2.4904900 0.44914600 0.00000000 0.00000000 0.00000000 0.9445400 0.26570400 0.00000000 0.00000000 0.00000000 1.2779000 0.00000000 -0.01751300 0.00000000 0.00000000 0.3975900 0.00000000 0.24453300 0.00000000 0.00000000 0.1600950 0.00000000 0.80493400 0.00000000 0.00000000 0.0556577 0.00000000 0.00000000 1.00000000 0.00000000 0.0318000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.3250000 1.00000000 A 14 $ SILICON (16s,10p) -> [4s,3p] $ SILICON (Diffuse sp) $ SILICON (1d) $ S-TYPE FUNCTIONS 17 5 0 16115.9000000 0.00195948 0.00000000 0.00000000 0.00000000 0.00000000 2425.5800000 0.01492880 0.00000000 0.00000000 0.00000000 0.00000000 553.8670000 0.07284780 0.00000000 0.00000000 0.00000000 0.00000000 156.3400000 0.24613000 0.00000000 0.00000000 0.00000000 0.00000000 50.0683000 0.48591400 0.00000000 0.00000000 0.00000000 0.00000000 17.0178000 0.32500200 0.00000000 0.00000000 0.00000000 0.00000000 292.7180000 0.00000000 -0.00278094 0.00000000 0.00000000 0.00000000 69.8731000 0.00000000 -0.03571460 0.00000000 0.00000000 0.00000000 22.3363000 0.00000000 -0.11498500 0.00000000 0.00000000 0.00000000 8.1503900 0.00000000 0.09356340 0.00000000 0.00000000 0.00000000 3.1345800 0.00000000 0.60301700 0.00000000 0.00000000 0.00000000 1.2254300 0.00000000 0.41895900 0.00000000 0.00000000 0.00000000 1.7273800 0.00000000 0.00000000 -0.24463000 0.00000000 0.00000000 0.5729220 0.00000000 0.00000000 0.00431572 0.00000000 0.00000000 0.2221920 0.00000000 0.00000000 1.09818000 0.00000000 0.00000000 0.0778369 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0331000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 292.7180000 0.00443826 0.00000000 0.00000000 0.00000000 69.8731000 0.03266790 0.00000000 0.00000000 0.00000000 22.3363000 0.13472100 0.00000000 0.00000000 0.00000000 8.1503900 0.32867800 0.00000000 0.00000000 0.00000000 3.1345800 0.44964000 0.00000000 0.00000000 0.00000000 1.2254300 0.26137200 0.00000000 0.00000000 0.00000000 1.7273800 0.00000000 -0.01779510 0.00000000 0.00000000 0.5729220 0.00000000 0.25353900 0.00000000 0.00000000 0.2221920 0.00000000 0.80066900 0.00000000 0.00000000 0.0778369 0.00000000 0.00000000 1.00000000 0.00000000 0.0331000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.4500000 1.00000000 A 15 $ PHOSPHORUS (16s,10p) -> [4s,3p] $ PHOSPHORUS (Diffuse sp) $ PHOSPHORUS (1d) $ S-TYPE FUNCTIONS 17 5 0 19413.3000000 0.00185160 0.00000000 0.00000000 0.00000000 0.00000000 2909.4200000 0.01420620 0.00000000 0.00000000 0.00000000 0.00000000 661.3640000 0.06999950 0.00000000 0.00000000 0.00000000 0.00000000 185.7590000 0.24007900 0.00000000 0.00000000 0.00000000 0.00000000 59.1943000 0.48476200 0.00000000 0.00000000 0.00000000 0.00000000 20.0310000 0.33520000 0.00000000 0.00000000 0.00000000 0.00000000 339.4780000 0.00000000 -0.00278217 0.00000000 0.00000000 0.00000000 81.0101000 0.00000000 -0.03604990 0.00000000 0.00000000 0.00000000 25.8780000 0.00000000 -0.11663100 0.00000000 0.00000000 0.00000000 9.4522100 0.00000000 0.09683280 0.00000000 0.00000000 0.00000000 3.6656600 0.00000000 0.61441800 0.00000000 0.00000000 0.00000000 1.4674600 0.00000000 0.40379800 0.00000000 0.00000000 0.00000000 2.1562300 0.00000000 0.00000000 -0.25292300 0.00000000 0.00000000 0.7489970 0.00000000 0.00000000 0.03285170 0.00000000 0.00000000 0.2831450 0.00000000 0.00000000 1.08125000 0.00000000 0.00000000 0.0998317 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0348000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 339.4780000 0.00456462 0.00000000 0.00000000 0.00000000 81.0101000 0.03369360 0.00000000 0.00000000 0.00000000 25.8780000 0.13975500 0.00000000 0.00000000 0.00000000 9.4522100 0.33936200 0.00000000 0.00000000 0.00000000 3.6656600 0.45092100 0.00000000 0.00000000 0.00000000 1.4674600 0.23858600 0.00000000 0.00000000 0.00000000 2.1562300 0.00000000 -0.01776530 0.00000000 0.00000000 0.7489970 0.00000000 0.27405800 0.00000000 0.00000000 0.2831450 0.00000000 0.78542100 0.00000000 0.00000000 0.0998317 0.00000000 0.00000000 1.00000000 0.00000000 0.0348000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.5500000 1.00000000 A 16 $ SULFUR (16s,10p) -> [4s,3p] $ SULFUR (Diffuse sp) $ SULFUR (1d) $ S-TYPE FUNCTIONS 17 5 0 21917.1000000 0.00186900 0.00000000 0.00000000 0.00000000 0.00000000 3301.4900000 0.01423000 0.00000000 0.00000000 0.00000000 0.00000000 754.1460000 0.06969600 0.00000000 0.00000000 0.00000000 0.00000000 212.7110000 0.23848700 0.00000000 0.00000000 0.00000000 0.00000000 67.9896000 0.48330700 0.00000000 0.00000000 0.00000000 0.00000000 23.0515000 0.33807400 0.00000000 0.00000000 0.00000000 0.00000000 423.7350000 0.00000000 -0.00237670 0.00000000 0.00000000 0.00000000 100.7100000 0.00000000 -0.03169300 0.00000000 0.00000000 0.00000000 32.1599000 0.00000000 -0.11331700 0.00000000 0.00000000 0.00000000 11.8079000 0.00000000 0.05609000 0.00000000 0.00000000 0.00000000 4.6311000 0.00000000 0.59225500 0.00000000 0.00000000 0.00000000 1.8702500 0.00000000 0.45500600 0.00000000 0.00000000 0.00000000 2.6158400 0.00000000 0.00000000 -0.25037400 0.00000000 0.00000000 0.9221670 0.00000000 0.00000000 0.06695700 0.00000000 0.00000000 0.3412870 0.00000000 0.00000000 1.05451000 0.00000000 0.00000000 0.1171670 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0405000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 423.7350000 0.00406100 0.00000000 0.00000000 0.00000000 100.7100000 0.03068100 0.00000000 0.00000000 0.00000000 32.1599000 0.13045200 0.00000000 0.00000000 0.00000000 11.8079000 0.32720500 0.00000000 0.00000000 0.00000000 4.6311000 0.45285100 0.00000000 0.00000000 0.00000000 1.8702500 0.25604200 0.00000000 0.00000000 0.00000000 2.6158400 0.00000000 -0.01451100 0.00000000 0.00000000 0.9221670 0.00000000 0.31026300 0.00000000 0.00000000 0.3412870 0.00000000 0.75448300 0.00000000 0.00000000 0.1171670 0.00000000 0.00000000 1.00000000 0.00000000 0.0405000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.6500000 1.00000000 A 17 $ CHLORINE (16s,10p) -> [4s,3p] $ CHLORINE (Diffuse sp) $ CHLORINE (1d) $ S-TYPE FUNCTIONS 17 5 0 25180.1000000 0.00183300 0.00000000 0.00000000 0.00000000 0.00000000 3780.3500000 0.01403400 0.00000000 0.00000000 0.00000000 0.00000000 860.4740000 0.06909700 0.00000000 0.00000000 0.00000000 0.00000000 242.1450000 0.23745200 0.00000000 0.00000000 0.00000000 0.00000000 77.3349000 0.48303400 0.00000000 0.00000000 0.00000000 0.00000000 26.2470000 0.33985600 0.00000000 0.00000000 0.00000000 0.00000000 491.7650000 0.00000000 -0.00229740 0.00000000 0.00000000 0.00000000 116.9840000 0.00000000 -0.03071400 0.00000000 0.00000000 0.00000000 37.4153000 0.00000000 -0.11252800 0.00000000 0.00000000 0.00000000 13.7834000 0.00000000 0.04501600 0.00000000 0.00000000 0.00000000 5.4521500 0.00000000 0.58935300 0.00000000 0.00000000 0.00000000 2.2258800 0.00000000 0.46520600 0.00000000 0.00000000 0.00000000 3.1864900 0.00000000 0.00000000 -0.25183000 0.00000000 0.00000000 1.1442700 0.00000000 0.00000000 0.06158900 0.00000000 0.00000000 0.4203770 0.00000000 0.00000000 1.06018000 0.00000000 0.00000000 0.1426570 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0483000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 491.7650000 0.00398940 0.00000000 0.00000000 0.00000000 116.9840000 0.03031800 0.00000000 0.00000000 0.00000000 37.4153000 0.12988000 0.00000000 0.00000000 0.00000000 13.7834000 0.32795100 0.00000000 0.00000000 0.00000000 5.4521500 0.45352700 0.00000000 0.00000000 0.00000000 2.2258800 0.25215400 0.00000000 0.00000000 0.00000000 3.1864900 0.00000000 -0.01429900 0.00000000 0.00000000 1.1442700 0.00000000 0.32357200 0.00000000 0.00000000 0.4203770 0.00000000 0.74350700 0.00000000 0.00000000 0.1426570 0.00000000 0.00000000 1.00000000 0.00000000 0.0483000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.7500000 1.00000000 A 18 $ ARGON (16s,10p) -> [4s,3p] $ ARGON (Diffuse sp) $ S-TYPE FUNCTIONS 17 5 0 28348.3000000 0.00182526 0.00000000 0.00000000 0.00000000 0.00000000 4257.6200000 0.01396860 0.00000000 0.00000000 0.00000000 0.00000000 969.8570000 0.06870730 0.00000000 0.00000000 0.00000000 0.00000000 273.2630000 0.23620400 0.00000000 0.00000000 0.00000000 0.00000000 87.3695000 0.48221400 0.00000000 0.00000000 0.00000000 0.00000000 29.6867000 0.34204300 0.00000000 0.00000000 0.00000000 0.00000000 575.8910000 0.00000000 -0.00215972 0.00000000 0.00000000 0.00000000 136.8160000 0.00000000 -0.02907750 0.00000000 0.00000000 0.00000000 43.8098000 0.00000000 -0.11082700 0.00000000 0.00000000 0.00000000 16.2094000 0.00000000 0.02769990 0.00000000 0.00000000 0.00000000 6.4608400 0.00000000 0.57761300 0.00000000 0.00000000 0.00000000 2.6511400 0.00000000 0.48868800 0.00000000 0.00000000 0.00000000 3.8602800 0.00000000 0.00000000 -0.25559200 0.00000000 0.00000000 1.4137300 0.00000000 0.00000000 0.03780660 0.00000000 0.00000000 0.5166460 0.00000000 0.00000000 1.08056000 0.00000000 0.00000000 0.1738880 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 4 0 575.8910000 0.00380665 0.00000000 0.00000000 0.00000000 136.8160000 0.02923050 0.00000000 0.00000000 0.00000000 43.8098000 0.12646700 0.00000000 0.00000000 0.00000000 16.2094000 0.32351000 0.00000000 0.00000000 0.00000000 6.4608400 0.45489600 0.00000000 0.00000000 0.00000000 2.6511400 0.25663000 0.00000000 0.00000000 0.00000000 3.8602800 0.00000000 -0.01591970 0.00000000 0.00000000 1.4137300 0.00000000 0.32464600 0.00000000 0.00000000 0.5166460 0.00000000 0.74399000 0.00000000 0.00000000 0.1738880 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000 0.00000000 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/cc-pVQZ0000775000175000017500000067706112743400275011537 00000000000000$ cc-pVQZ EMSL Basis Set Exchange Library 11/10/15 12:35 AM $ Elements References $ -------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $ Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $ Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $ Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ Sc - Zn: N.B. Balabanov and K.A. Peterson, J. Chem. Phys, 123, 064107 (2005) $ Ga - Kr: A.K. Wilson, D.E. Woon, K.A. Peterson, T.H. Dunning, Jr. J. Chem. Phys., 110, 7667 (1999) $ $ HYDROGEN (6s,3p,2d,1f) -> [4s,3p,2d,1f] $ HYDROGEN (6s,3p,2d,1f) -> [4s,3p,2d,1f] a 1 $ S-TYPE FUNCTIONS 6 4 0 82.6400000 0.0020060 0.0000000 0.0000000 0.0000000 12.4100000 0.0153430 0.0000000 0.0000000 0.0000000 2.8240000 0.0755790 0.0000000 0.0000000 0.0000000 0.7977000 0.0000000 1.0000000 0.0000000 0.0000000 0.2581000 0.0000000 0.0000000 1.0000000 0.0000000 0.0898900 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 3 3 0 2.2920000 1.0000000 0.0000000 0.0000000 0.8380000 0.0000000 1.0000000 0.0000000 0.2920000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 2.0620000 1.0000000 0.0000000 0.6620000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 1.3970000 1.0000000 $ HELIUM (7s,3p,2d,1f) -> [4s,3p,2d,1f] $ HELIUM (7s,3p,2d,1f) -> [4s,3p,2d,1f] a 2 $ S-TYPE FUNCTIONS 7 4 0 528.5000000 0.0009400 0.0000000 0.0000000 0.0000000 79.3100000 0.0072140 0.0000000 0.0000000 0.0000000 18.0500000 0.0359750 0.0000000 0.0000000 0.0000000 5.0850000 0.1277820 0.0000000 0.0000000 0.0000000 1.6090000 0.0000000 1.0000000 0.0000000 0.0000000 0.5363000 0.0000000 0.0000000 1.0000000 0.0000000 0.1833000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 3 3 0 5.9940000 1.0000000 0.0000000 0.0000000 1.7450000 0.0000000 1.0000000 0.0000000 0.5600000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 4.2990000 1.0000000 0.0000000 1.2230000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 1 1 0 2.6800000 1.0000000 $ LITHIUM (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ LITHIUM (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] a 3 $ S-TYPE FUNCTIONS 12 5 0 6601.0000000 0.0001170 -0.0000180 0.0000000 0.0000000 0.0000000 989.7000000 0.0009110 -0.0001420 0.0000000 0.0000000 0.0000000 225.7000000 0.0047280 -0.0007410 0.0000000 0.0000000 0.0000000 64.2900000 0.0191970 -0.0030200 0.0000000 0.0000000 0.0000000 21.1800000 0.0630470 -0.0101230 0.0000000 0.0000000 0.0000000 7.7240000 0.1632080 -0.0270940 0.0000000 0.0000000 0.0000000 3.0030000 0.3148270 -0.0573590 0.0000000 0.0000000 0.0000000 1.2120000 0.3939360 -0.0938950 0.0000000 0.0000000 0.0000000 0.4930000 0.1969180 -0.1210910 0.0000000 0.0000000 0.0000000 0.0951500 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0479100 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0222000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 6.2500000 0.0033880 0.0000000 0.0000000 0.0000000 1.3700000 0.0193160 0.0000000 0.0000000 0.0000000 0.3672000 0.0791040 0.0000000 0.0000000 0.0000000 0.1192000 0.0000000 1.0000000 0.0000000 0.0000000 0.0447400 0.0000000 0.0000000 1.0000000 0.0000000 0.0179500 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.3440000 1.0000000 0.0000000 0.0000000 0.1530000 0.0000000 1.0000000 0.0000000 0.0680000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.2460000 1.0000000 0.0000000 0.1292000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.2380000 1.0000000 $ BERYLLIUM (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ BERYLLIUM (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] a 4 $ S-TYPE FUNCTIONS 12 5 0 14630.0000000 0.0000920 -0.0000170 0.0000000 0.0000000 0.0000000 2191.0000000 0.0007130 -0.0001300 0.0000000 0.0000000 0.0000000 498.2000000 0.0037350 -0.0006790 0.0000000 0.0000000 0.0000000 140.9000000 0.0154680 -0.0028570 0.0000000 0.0000000 0.0000000 45.8600000 0.0528740 -0.0098130 0.0000000 0.0000000 0.0000000 16.4700000 0.1456940 -0.0286090 0.0000000 0.0000000 0.0000000 6.3190000 0.3026810 -0.0637600 0.0000000 0.0000000 0.0000000 2.5350000 0.4049360 -0.1172310 0.0000000 0.0000000 0.0000000 1.0350000 0.2223870 -0.1212020 0.0000000 0.0000000 0.0000000 0.2528000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1052000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0426100 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 14.0300000 0.0040990 0.0000000 0.0000000 0.0000000 3.1680000 0.0256260 0.0000000 0.0000000 0.0000000 0.9024000 0.1037680 0.0000000 0.0000000 0.0000000 0.3036000 0.0000000 1.0000000 0.0000000 0.0000000 0.1130000 0.0000000 0.0000000 1.0000000 0.0000000 0.0428600 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 1.0720000 1.0000000 0.0000000 0.0000000 0.4410000 0.0000000 1.0000000 0.0000000 0.1811000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.4810000 1.0000000 0.0000000 0.2550000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.4150000 1.0000000 $ BORON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ BORON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] a 5 $ S-TYPE FUNCTIONS 12 5 0 23870.0000000 0.0000880 -0.0000180 0.0000000 0.0000000 0.0000000 3575.0000000 0.0006870 -0.0001390 0.0000000 0.0000000 0.0000000 812.8000000 0.0036000 -0.0007250 0.0000000 0.0000000 0.0000000 229.7000000 0.0149490 -0.0030630 0.0000000 0.0000000 0.0000000 74.6900000 0.0514350 -0.0105810 0.0000000 0.0000000 0.0000000 26.8100000 0.1433020 -0.0313650 0.0000000 0.0000000 0.0000000 10.3200000 0.3009350 -0.0710120 0.0000000 0.0000000 0.0000000 4.1780000 0.4035260 -0.1321030 0.0000000 0.0000000 0.0000000 1.7270000 0.2253400 -0.1230720 0.0000000 0.0000000 0.0000000 0.4704000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1896000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0739400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 22.2600000 0.0050950 0.0000000 0.0000000 0.0000000 5.0580000 0.0332060 0.0000000 0.0000000 0.0000000 1.4870000 0.1323140 0.0000000 0.0000000 0.0000000 0.5071000 0.0000000 1.0000000 0.0000000 0.0000000 0.1812000 0.0000000 0.0000000 1.0000000 0.0000000 0.0646300 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 1.1100000 1.0000000 0.0000000 0.0000000 0.4020000 0.0000000 1.0000000 0.0000000 0.1450000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.8820000 1.0000000 0.0000000 0.3110000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.6730000 1.0000000 $ CARBON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ CARBON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] a 6 $ S-TYPE FUNCTIONS 12 5 0 33980.0000000 0.0000910 -0.0000190 0.0000000 0.0000000 0.0000000 5089.0000000 0.0007040 -0.0001510 0.0000000 0.0000000 0.0000000 1157.0000000 0.0036930 -0.0007850 0.0000000 0.0000000 0.0000000 326.6000000 0.0153600 -0.0033240 0.0000000 0.0000000 0.0000000 106.1000000 0.0529290 -0.0115120 0.0000000 0.0000000 0.0000000 38.1100000 0.1470430 -0.0341600 0.0000000 0.0000000 0.0000000 14.7500000 0.3056310 -0.0771730 0.0000000 0.0000000 0.0000000 6.0350000 0.3993450 -0.1414930 0.0000000 0.0000000 0.0000000 2.5300000 0.2170510 -0.1180190 0.0000000 0.0000000 0.0000000 0.7355000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2905000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1111000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 34.5100000 0.0053780 0.0000000 0.0000000 0.0000000 7.9150000 0.0361320 0.0000000 0.0000000 0.0000000 2.3680000 0.1424930 0.0000000 0.0000000 0.0000000 0.8132000 0.0000000 1.0000000 0.0000000 0.0000000 0.2890000 0.0000000 0.0000000 1.0000000 0.0000000 0.1007000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 1.8480000 1.0000000 0.0000000 0.0000000 0.6490000 0.0000000 1.0000000 0.0000000 0.2280000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 1.4190000 1.0000000 0.0000000 0.4850000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 1.0110000 1.0000000 $ NITROGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ NITROGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] a 7 $ S-TYPE FUNCTIONS 12 5 0 45840.0000000 0.0000920 -0.0000200 0.0000000 0.0000000 0.0000000 6868.0000000 0.0007170 -0.0001590 0.0000000 0.0000000 0.0000000 1563.0000000 0.0037490 -0.0008240 0.0000000 0.0000000 0.0000000 442.4000000 0.0155320 -0.0034780 0.0000000 0.0000000 0.0000000 144.3000000 0.0531460 -0.0119660 0.0000000 0.0000000 0.0000000 52.1800000 0.1467870 -0.0353880 0.0000000 0.0000000 0.0000000 20.3400000 0.3046630 -0.0800770 0.0000000 0.0000000 0.0000000 8.3810000 0.3976840 -0.1467220 0.0000000 0.0000000 0.0000000 3.5290000 0.2176410 -0.1163600 0.0000000 0.0000000 0.0000000 1.0540000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4118000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1552000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 49.3300000 0.0055330 0.0000000 0.0000000 0.0000000 11.3700000 0.0379620 0.0000000 0.0000000 0.0000000 3.4350000 0.1490280 0.0000000 0.0000000 0.0000000 1.1820000 0.0000000 1.0000000 0.0000000 0.0000000 0.4173000 0.0000000 0.0000000 1.0000000 0.0000000 0.1428000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 2.8370000 1.0000000 0.0000000 0.0000000 0.9680000 0.0000000 1.0000000 0.0000000 0.3350000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 2.0270000 1.0000000 0.0000000 0.6850000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 1.4270000 1.0000000 $ OXYGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ OXYGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] a 8 $ S-TYPE FUNCTIONS 12 5 0 61420.0000000 0.0000900 -0.0000200 0.0000000 0.0000000 0.0000000 9199.0000000 0.0006980 -0.0001590 0.0000000 0.0000000 0.0000000 2091.0000000 0.0036640 -0.0008290 0.0000000 0.0000000 0.0000000 590.9000000 0.0152180 -0.0035080 0.0000000 0.0000000 0.0000000 192.3000000 0.0524230 -0.0121560 0.0000000 0.0000000 0.0000000 69.3200000 0.1459210 -0.0362610 0.0000000 0.0000000 0.0000000 26.9700000 0.3052580 -0.0829920 0.0000000 0.0000000 0.0000000 11.1000000 0.3985080 -0.1520900 0.0000000 0.0000000 0.0000000 4.6820000 0.2169800 -0.1153310 0.0000000 0.0000000 0.0000000 1.4280000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.5547000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2067000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 63.4200000 0.0060440 0.0000000 0.0000000 0.0000000 14.6600000 0.0417990 0.0000000 0.0000000 0.0000000 4.4590000 0.1611430 0.0000000 0.0000000 0.0000000 1.5310000 0.0000000 1.0000000 0.0000000 0.0000000 0.5302000 0.0000000 0.0000000 1.0000000 0.0000000 0.1750000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 3.7750000 1.0000000 0.0000000 0.0000000 1.3000000 0.0000000 1.0000000 0.0000000 0.4440000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 2.6660000 1.0000000 0.0000000 0.8590000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 1.8460000 1.0000000 $ FLUORINE (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ FLUORINE (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] a 9 $ S-TYPE FUNCTIONS 12 5 0 74530.0000000 0.0000950 -0.0000220 0.0000000 0.0000000 0.0000000 11170.0000000 0.0007380 -0.0001720 0.0000000 0.0000000 0.0000000 2543.0000000 0.0038580 -0.0008910 0.0000000 0.0000000 0.0000000 721.0000000 0.0159260 -0.0037480 0.0000000 0.0000000 0.0000000 235.9000000 0.0542890 -0.0128620 0.0000000 0.0000000 0.0000000 85.6000000 0.1495130 -0.0380610 0.0000000 0.0000000 0.0000000 33.5500000 0.3082520 -0.0862390 0.0000000 0.0000000 0.0000000 13.9300000 0.3948530 -0.1558650 0.0000000 0.0000000 0.0000000 5.9150000 0.2110310 -0.1109140 0.0000000 0.0000000 0.0000000 1.8430000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.7124000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.2637000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 80.3900000 0.0063470 0.0000000 0.0000000 0.0000000 18.6300000 0.0442040 0.0000000 0.0000000 0.0000000 5.6940000 0.1685140 0.0000000 0.0000000 0.0000000 1.9530000 0.0000000 1.0000000 0.0000000 0.0000000 0.6702000 0.0000000 0.0000000 1.0000000 0.0000000 0.2166000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 5.0140000 1.0000000 0.0000000 0.0000000 1.7250000 0.0000000 1.0000000 0.0000000 0.5860000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 3.5620000 1.0000000 0.0000000 1.1480000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 2.3760000 1.0000000 $ NEON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ NEON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] a 10 $ S-TYPE FUNCTIONS 12 5 0 99920.0000000 0.0000860 -0.0000200 0.0000000 0.0000000 0.0000000 14960.0000000 0.0006690 -0.0001580 0.0000000 0.0000000 0.0000000 3399.0000000 0.0035180 -0.0008240 0.0000000 0.0000000 0.0000000 958.9000000 0.0146670 -0.0035000 0.0000000 0.0000000 0.0000000 311.2000000 0.0509620 -0.0122330 0.0000000 0.0000000 0.0000000 111.7000000 0.1437440 -0.0370170 0.0000000 0.0000000 0.0000000 43.3200000 0.3045620 -0.0861130 0.0000000 0.0000000 0.0000000 17.8000000 0.4001050 -0.1583810 0.0000000 0.0000000 0.0000000 7.5030000 0.2186440 -0.1142880 0.0000000 0.0000000 0.0000000 2.3370000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.9001000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.3301000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 6 4 0 99.6800000 0.0065660 0.0000000 0.0000000 0.0000000 23.1500000 0.0459790 0.0000000 0.0000000 0.0000000 7.1080000 0.1734190 0.0000000 0.0000000 0.0000000 2.4410000 0.0000000 1.0000000 0.0000000 0.0000000 0.8339000 0.0000000 0.0000000 1.0000000 0.0000000 0.2662000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 6.4710000 1.0000000 0.0000000 0.0000000 2.2130000 0.0000000 1.0000000 0.0000000 0.7470000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 4.6570000 1.0000000 0.0000000 1.5240000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 2.9830000 1.0000000 $ SODIUM (19s,12p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ SODIUM (19s,12p,3d,2f,1g) -> [6s,5p,3d,2f,1g] a 11 $ S-TYPE FUNCTIONS 19 6 0 1224000.0000000 0.478894D-05 -0.116958D-05 0.175871D-06 0.0000000 0.0000000 0.0000000 183200.0000000 0.372395D-04 -0.909110D-05 0.136594D-05 0.0000000 0.0000000 0.0000000 41700.0000000 0.195831D-03 -0.478499D-04 0.719795D-05 0.0000000 0.0000000 0.0000000 11810.0000000 0.826698D-03 -0.201962D-03 0.303349D-04 0.0000000 0.0000000 0.0000000 3853.0000000 0.300251D-02 -0.735837D-03 0.110752D-03 0.0000000 0.0000000 0.0000000 1391.0000000 0.970310D-02 -0.238746D-02 0.358596D-03 0.0000000 0.0000000 0.0000000 542.5000000 0.282337D-01 -0.704969D-02 0.106272D-02 0.0000000 0.0000000 0.0000000 224.9000000 0.732058D-01 -0.187856D-01 0.282687D-02 0.0000000 0.0000000 0.0000000 97.9300000 0.162897D+00 -0.446153D-01 0.676742D-02 0.0000000 0.0000000 0.0000000 44.3100000 0.288708D+00 -0.897741D-01 0.136480D-01 0.0000000 0.0000000 0.0000000 20.6500000 0.346829D+00 -0.142940D+00 0.222814D-01 0.0000000 0.0000000 0.0000000 9.7290000 0.206865D+00 -0.124315D+00 0.196011D-01 0.0000000 0.0000000 0.0000000 4.2280000 0.328009D-01 0.999648D-01 -0.167708D-01 0.0000000 0.0000000 0.0000000 1.9690000 -0.647736D-03 0.417080D+00 -0.773734D-01 0.0000000 0.0000000 0.0000000 0.8890000 0.145878D-02 0.475123D+00 -0.113501D+00 0.0000000 0.0000000 0.0000000 0.3964000 -0.178346D-03 0.163268D+00 -0.139130D+00 0.0000000 0.0000000 0.0000000 0.0699300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0328900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0161200 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 5 0 413.4000000 0.908196D-03 -0.901741D-04 0.0000000 0.0000000 0.0000000 97.9800000 0.741773D-02 -0.739342D-03 0.0000000 0.0000000 0.0000000 31.3700000 0.357464D-01 -0.357309D-02 0.0000000 0.0000000 0.0000000 11.6200000 0.118520D+00 -0.120142D-01 0.0000000 0.0000000 0.0000000 4.6710000 0.261403D+00 -0.267178D-01 0.0000000 0.0000000 0.0000000 1.9180000 0.378395D+00 -0.392753D-01 0.0000000 0.0000000 0.0000000 0.7775000 0.334632D+00 -0.376083D-01 0.0000000 0.0000000 0.0000000 0.3013000 0.126844D+00 -0.433228D-01 0.0000000 0.0000000 0.0000000 0.2275000 -0.147117D-01 0.518003D-01 0.0000000 0.0000000 0.0000000 0.0752700 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0312600 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0134200 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.1538000 1.0000000 0.0000000 0.0000000 0.0865000 0.0000000 1.0000000 0.0000000 0.0487000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.1912000 1.0000000 0.0000000 0.1036000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.1722000 1.0000000 $ MAGNESIUM (16s,12p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ MAGNESIUM (16s,12p,3d,2f,1g) -> [6s,5p,3d,2f,1g] a 12 $ S-TYPE FUNCTIONS 16 6 0 327600.0000000 0.309608D-04 -0.783173D-05 0.150908D-05 0.0000000 0.0000000 0.0000000 49050.0000000 0.240954D-03 -0.607935D-04 0.117134D-04 0.0000000 0.0000000 0.0000000 11150.0000000 0.126660D-02 -0.321197D-03 0.618980D-04 0.0000000 0.0000000 0.0000000 3152.0000000 0.533359D-02 -0.134955D-02 0.260088D-03 0.0000000 0.0000000 0.0000000 1025.0000000 0.190770D-01 -0.490570D-02 0.946218D-03 0.0000000 0.0000000 0.0000000 368.8000000 0.588058D-01 -0.153561D-01 0.296595D-02 0.0000000 0.0000000 0.0000000 143.2000000 0.151454D+00 -0.423409D-01 0.821245D-02 0.0000000 0.0000000 0.0000000 58.9600000 0.300716D+00 -0.940603D-01 0.183977D-01 0.0000000 0.0000000 0.0000000 25.4000000 0.381149D+00 -0.163425D+00 0.326657D-01 0.0000000 0.0000000 0.0000000 11.1500000 0.213584D+00 -0.124754D+00 0.257315D-01 0.0000000 0.0000000 0.0000000 4.0040000 0.231210D-01 0.235623D+00 -0.535351D-01 0.0000000 0.0000000 0.0000000 1.7010000 -0.230757D-02 0.577563D+00 -0.156895D+00 0.0000000 0.0000000 0.0000000 0.7060000 0.128900D-02 0.335232D+00 -0.206659D+00 0.0000000 0.0000000 0.0000000 0.1410000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0680800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0306300 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 5 0 539.6000000 0.833969D-03 -0.132076D-03 0.0000000 0.0000000 0.0000000 127.9000000 0.689215D-02 -0.109538D-02 0.0000000 0.0000000 0.0000000 41.0200000 0.337874D-01 -0.539495D-02 0.0000000 0.0000000 0.0000000 15.2500000 0.114401D+00 -0.185572D-01 0.0000000 0.0000000 0.0000000 6.1660000 0.259514D+00 -0.427375D-01 0.0000000 0.0000000 0.0000000 2.5610000 0.385095D+00 -0.647684D-01 0.0000000 0.0000000 0.0000000 1.0600000 0.335373D+00 -0.627818D-01 0.0000000 0.0000000 0.0000000 0.4176000 0.110641D+00 -0.244912D-01 0.0000000 0.0000000 0.0000000 0.2690000 -0.121315D-01 0.104761D+00 0.0000000 0.0000000 0.0000000 0.1223000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0547600 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0238800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.1060000 1.0000000 0.0000000 0.0000000 0.1944000 0.0000000 1.0000000 0.0000000 0.3570000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.1810000 1.0000000 0.0000000 0.3590000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.3070000 1.0000000 $ ALUMINUM (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ ALUMINUM (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] a 13 $ S-TYPE FUNCTIONS 16 6 0 419600.0000000 0.278219D-04 -0.723754D-05 0.167150D-05 0.0000000 0.0000000 0.0000000 62830.0000000 0.216330D-03 -0.561733D-04 0.129641D-04 0.0000000 0.0000000 0.0000000 14290.0000000 0.113754D-02 -0.296528D-03 0.685101D-04 0.0000000 0.0000000 0.0000000 4038.0000000 0.479635D-02 -0.124913D-02 0.288274D-03 0.0000000 0.0000000 0.0000000 1312.0000000 0.172389D-01 -0.455101D-02 0.105276D-02 0.0000000 0.0000000 0.0000000 470.5000000 0.538066D-01 -0.144393D-01 0.333878D-02 0.0000000 0.0000000 0.0000000 181.8000000 0.141326D+00 -0.403464D-01 0.939217D-02 0.0000000 0.0000000 0.0000000 74.4600000 0.289268D+00 -0.922618D-01 0.216047D-01 0.0000000 0.0000000 0.0000000 31.9000000 0.384825D+00 -0.164510D+00 0.395873D-01 0.0000000 0.0000000 0.0000000 13.9600000 0.232852D+00 -0.141296D+00 0.349180D-01 0.0000000 0.0000000 0.0000000 5.1800000 0.293330D-01 0.195365D+00 -0.528415D-01 0.0000000 0.0000000 0.0000000 2.2650000 -0.300574D-02 0.572475D+00 -0.191878D+00 0.0000000 0.0000000 0.0000000 0.9664000 0.166673D-02 0.374041D+00 -0.254115D+00 0.0000000 0.0000000 0.0000000 0.2447000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1184000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0502100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 5 0 891.3000000 0.491755D-03 -0.888695D-04 0.0000000 0.0000000 0.0000000 211.3000000 0.415843D-02 -0.745823D-03 0.0000000 0.0000000 0.0000000 68.2800000 0.212538D-01 -0.387025D-02 0.0000000 0.0000000 0.0000000 25.7000000 0.764058D-01 -0.139350D-01 0.0000000 0.0000000 0.0000000 10.6300000 0.194277D+00 -0.366860D-01 0.0000000 0.0000000 0.0000000 4.6020000 0.334428D+00 -0.627797D-01 0.0000000 0.0000000 0.0000000 2.0150000 0.375026D+00 -0.789602D-01 0.0000000 0.0000000 0.0000000 0.8706000 0.204041D+00 -0.288589D-01 0.0000000 0.0000000 0.0000000 0.2972000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1100000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0398900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.0804000 1.0000000 0.0000000 0.0000000 0.1990000 0.0000000 1.0000000 0.0000000 0.4940000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.1540000 1.0000000 0.0000000 0.4010000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.3570000 1.0000000 $ SILICON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ SILICON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] a 14 $ S-TYPE FUNCTIONS 16 6 0 513000.0000000 0.260920D-04 -0.694880D-05 0.178068D-05 0.0000000 0.0000000 0.0000000 76820.0000000 0.202905D-03 -0.539641D-04 0.138148D-04 0.0000000 0.0000000 0.0000000 17470.0000000 0.106715D-02 -0.284716D-03 0.730005D-04 0.0000000 0.0000000 0.0000000 4935.0000000 0.450597D-02 -0.120203D-02 0.307666D-03 0.0000000 0.0000000 0.0000000 1602.0000000 0.162359D-01 -0.438397D-02 0.112563D-02 0.0000000 0.0000000 0.0000000 574.1000000 0.508913D-01 -0.139776D-01 0.358435D-02 0.0000000 0.0000000 0.0000000 221.5000000 0.135155D+00 -0.393516D-01 0.101728D-01 0.0000000 0.0000000 0.0000000 90.5400000 0.281292D+00 -0.914283D-01 0.237520D-01 0.0000000 0.0000000 0.0000000 38.7400000 0.385336D+00 -0.165609D+00 0.443483D-01 0.0000000 0.0000000 0.0000000 16.9500000 0.245651D+00 -0.152505D+00 0.419041D-01 0.0000000 0.0000000 0.0000000 6.4520000 0.343145D-01 0.168524D+00 -0.502504D-01 0.0000000 0.0000000 0.0000000 2.8740000 -0.334884D-02 0.569284D+00 -0.216578D+00 0.0000000 0.0000000 0.0000000 1.2500000 0.187625D-02 0.398056D+00 -0.286448D+00 0.0000000 0.0000000 0.0000000 0.3599000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1699000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0706600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 5 0 1122.0000000 0.448143D-03 -0.964883D-04 0.0000000 0.0000000 0.0000000 266.0000000 0.381639D-02 -0.811971D-03 0.0000000 0.0000000 0.0000000 85.9200000 0.198105D-01 -0.430087D-02 0.0000000 0.0000000 0.0000000 32.3300000 0.727017D-01 -0.157502D-01 0.0000000 0.0000000 0.0000000 13.3700000 0.189839D+00 -0.429541D-01 0.0000000 0.0000000 0.0000000 5.8000000 0.335672D+00 -0.752574D-01 0.0000000 0.0000000 0.0000000 2.5590000 0.379365D+00 -0.971446D-01 0.0000000 0.0000000 0.0000000 1.1240000 0.201193D+00 -0.227507D-01 0.0000000 0.0000000 0.0000000 0.3988000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1533000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0572800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.1200000 1.0000000 0.0000000 0.0000000 0.3020000 0.0000000 1.0000000 0.0000000 0.7600000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.2120000 1.0000000 0.0000000 0.5410000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.4610000 1.0000000 $ PHOSPHOROUS (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ PHOSPHOROUS (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] a 15 $ S-TYPE FUNCTIONS 16 6 0 615200.0000000 0.247450D-04 -0.672205D-05 0.184740D-05 0.0000000 0.0000000 0.0000000 92120.0000000 0.192465D-03 -0.522311D-04 0.143380D-04 0.0000000 0.0000000 0.0000000 20950.0000000 0.101202D-02 -0.275361D-03 0.757228D-04 0.0000000 0.0000000 0.0000000 5920.0000000 0.427261D-02 -0.116307D-02 0.319205D-03 0.0000000 0.0000000 0.0000000 1922.0000000 0.154161D-01 -0.424281D-02 0.116851D-02 0.0000000 0.0000000 0.0000000 688.0000000 0.485976D-01 -0.136114D-01 0.374267D-02 0.0000000 0.0000000 0.0000000 265.0000000 0.130060D+00 -0.385114D-01 0.106817D-01 0.0000000 0.0000000 0.0000000 108.2000000 0.274514D+00 -0.906643D-01 0.252657D-01 0.0000000 0.0000000 0.0000000 46.2200000 0.385402D+00 -0.166584D+00 0.479283D-01 0.0000000 0.0000000 0.0000000 20.2300000 0.255934D+00 -0.161447D+00 0.477096D-01 0.0000000 0.0000000 0.0000000 7.8590000 0.391237D-01 0.146781D+00 -0.466525D-01 0.0000000 0.0000000 0.0000000 3.5470000 -0.368010D-02 0.566682D+00 -0.234968D+00 0.0000000 0.0000000 0.0000000 1.5640000 0.208211D-02 0.416433D+00 -0.311337D+00 0.0000000 0.0000000 0.0000000 0.4888000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2266000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0933100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 5 0 1367.0000000 0.421015D-03 -0.100827D-03 0.0000000 0.0000000 0.0000000 324.0000000 0.360985D-02 -0.854499D-03 0.0000000 0.0000000 0.0000000 104.6000000 0.189217D-01 -0.457116D-02 0.0000000 0.0000000 0.0000000 39.3700000 0.705560D-01 -0.170327D-01 0.0000000 0.0000000 0.0000000 16.2600000 0.188157D+00 -0.475204D-01 0.0000000 0.0000000 0.0000000 7.0560000 0.338709D+00 -0.852786D-01 0.0000000 0.0000000 0.0000000 3.1300000 0.381943D+00 -0.109676D+00 0.0000000 0.0000000 0.0000000 1.3940000 0.195261D+00 -0.161181D-01 0.0000000 0.0000000 0.0000000 0.5179000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2032000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0769800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.1650000 1.0000000 0.0000000 0.0000000 0.4130000 0.0000000 1.0000000 0.0000000 1.0360000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.2800000 1.0000000 0.0000000 0.7030000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.5970000 1.0000000 $ SULFUR (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ SULFUR (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] a 16 $ S-TYPE FUNCTIONS 16 6 0 727800.0000000 0.236025D-04 -0.652179D-05 0.189406D-05 0.0000000 0.0000000 0.0000000 109000.0000000 0.183482D-03 -0.506631D-04 0.146948D-04 0.0000000 0.0000000 0.0000000 24800.0000000 0.964278D-03 -0.266833D-03 0.775460D-04 0.0000000 0.0000000 0.0000000 7014.0000000 0.406537D-02 -0.112601D-02 0.326509D-03 0.0000000 0.0000000 0.0000000 2278.0000000 0.146973D-01 -0.411186D-02 0.119686D-02 0.0000000 0.0000000 0.0000000 814.7000000 0.465081D-01 -0.132454D-01 0.384799D-02 0.0000000 0.0000000 0.0000000 313.4000000 0.125508D+00 -0.377004D-01 0.110539D-01 0.0000000 0.0000000 0.0000000 127.7000000 0.268433D+00 -0.898554D-01 0.264645D-01 0.0000000 0.0000000 0.0000000 54.4800000 0.384809D+00 -0.167098D+00 0.508771D-01 0.0000000 0.0000000 0.0000000 23.8500000 0.265372D+00 -0.169354D+00 0.530030D-01 0.0000000 0.0000000 0.0000000 9.4280000 0.437326D-01 0.127824D+00 -0.425518D-01 0.0000000 0.0000000 0.0000000 4.2900000 -0.378807D-02 0.564862D+00 -0.250853D+00 0.0000000 0.0000000 0.0000000 1.9090000 0.218083D-02 0.431767D+00 -0.333152D+00 0.0000000 0.0000000 0.0000000 0.6270000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2873000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1172000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 5 0 1546.0000000 0.441183D-03 -0.113110D-03 0.0000000 0.0000000 0.0000000 366.4000000 0.377571D-02 -0.958581D-03 0.0000000 0.0000000 0.0000000 118.4000000 0.198360D-01 -0.513471D-02 0.0000000 0.0000000 0.0000000 44.5300000 0.742063D-01 -0.192641D-01 0.0000000 0.0000000 0.0000000 18.3800000 0.197327D+00 -0.535980D-01 0.0000000 0.0000000 0.0000000 7.9650000 0.351851D+00 -0.960333D-01 0.0000000 0.0000000 0.0000000 3.5410000 0.378687D+00 -0.118183D+00 0.0000000 0.0000000 0.0000000 1.5910000 0.170931D+00 0.923194D-02 0.0000000 0.0000000 0.0000000 0.6205000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2420000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0901400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.2030000 1.0000000 0.0000000 0.0000000 0.5040000 0.0000000 1.0000000 0.0000000 1.2500000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.3350000 1.0000000 0.0000000 0.8690000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.6830000 1.0000000 $ CHLORINE (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ CHLORINE (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] a 17 $ S-TYPE FUNCTIONS 16 6 0 834900.0000000 0.231688D-04 -0.649649D-05 0.196645D-05 0.0000000 0.0000000 0.0000000 125000.0000000 0.180154D-03 -0.504895D-04 0.152620D-04 0.0000000 0.0000000 0.0000000 28430.0000000 0.947782D-03 -0.266113D-03 0.806086D-04 0.0000000 0.0000000 0.0000000 8033.0000000 0.400139D-02 -0.112499D-02 0.339960D-03 0.0000000 0.0000000 0.0000000 2608.0000000 0.144629D-01 -0.410497D-02 0.124551D-02 0.0000000 0.0000000 0.0000000 933.9000000 0.456586D-01 -0.131987D-01 0.399612D-02 0.0000000 0.0000000 0.0000000 360.0000000 0.123248D+00 -0.375342D-01 0.114751D-01 0.0000000 0.0000000 0.0000000 147.0000000 0.264369D+00 -0.897233D-01 0.275504D-01 0.0000000 0.0000000 0.0000000 62.8800000 0.382989D+00 -0.167671D+00 0.532917D-01 0.0000000 0.0000000 0.0000000 27.6000000 0.270934D+00 -0.174763D+00 0.571246D-01 0.0000000 0.0000000 0.0000000 11.0800000 0.471404D-01 0.114909D+00 -0.395201D-01 0.0000000 0.0000000 0.0000000 5.0750000 -0.371766D-02 0.563618D+00 -0.264343D+00 0.0000000 0.0000000 0.0000000 2.2780000 0.219158D-02 0.441606D+00 -0.349291D+00 0.0000000 0.0000000 0.0000000 0.7775000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3527000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1431000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 5 0 1703.0000000 0.474039D-03 -0.128266D-03 0.0000000 0.0000000 0.0000000 403.6000000 0.406412D-02 -0.109356D-02 0.0000000 0.0000000 0.0000000 130.3000000 0.213355D-01 -0.583429D-02 0.0000000 0.0000000 0.0000000 49.0500000 0.794611D-01 -0.219258D-01 0.0000000 0.0000000 0.0000000 20.2600000 0.208927D+00 -0.601385D-01 0.0000000 0.0000000 0.0000000 8.7870000 0.364945D+00 -0.106929D+00 0.0000000 0.0000000 0.0000000 3.9190000 0.371725D+00 -0.122454D+00 0.0000000 0.0000000 0.0000000 1.7650000 0.146292D+00 0.383619D-01 0.0000000 0.0000000 0.0000000 0.7207000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2839000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1060000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.2540000 1.0000000 0.0000000 0.0000000 0.6280000 0.0000000 1.0000000 0.0000000 1.5510000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.4230000 1.0000000 0.0000000 1.0890000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.8270000 1.0000000 $ ARGON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ ARGON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] a 18 $ S-TYPE FUNCTIONS 16 6 0 950600.0000000 0.227545D-04 -0.646201D-05 0.202056D-05 0.0000000 0.0000000 0.0000000 142300.0000000 0.176945D-03 -0.502346D-04 0.156851D-04 0.0000000 0.0000000 0.0000000 32360.0000000 0.931282D-03 -0.264804D-03 0.828617D-04 0.0000000 0.0000000 0.0000000 9145.0000000 0.392860D-02 -0.111895D-02 0.349264D-03 0.0000000 0.0000000 0.0000000 2970.0000000 0.142064D-01 -0.408276D-02 0.127976D-02 0.0000000 0.0000000 0.0000000 1064.0000000 0.448114D-01 -0.131216D-01 0.410365D-02 0.0000000 0.0000000 0.0000000 410.8000000 0.121001D+00 -0.372855D-01 0.117789D-01 0.0000000 0.0000000 0.0000000 168.0000000 0.260579D+00 -0.894709D-01 0.283868D-01 0.0000000 0.0000000 0.0000000 71.9900000 0.381364D+00 -0.168054D+00 0.552406D-01 0.0000000 0.0000000 0.0000000 31.6700000 0.276058D+00 -0.179594D+00 0.607492D-01 0.0000000 0.0000000 0.0000000 12.8900000 0.505179D-01 0.102953D+00 -0.362012D-01 0.0000000 0.0000000 0.0000000 5.9290000 -0.359866D-02 0.562630D+00 -0.275398D+00 0.0000000 0.0000000 0.0000000 2.6780000 0.218798D-02 0.450355D+00 -0.362845D+00 0.0000000 0.0000000 0.0000000 0.9416000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.4239000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1714000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 11 5 0 1890.0000000 0.495752D-03 -0.138863D-03 0.0000000 0.0000000 0.0000000 447.8000000 0.425172D-02 -0.118870D-02 0.0000000 0.0000000 0.0000000 144.6000000 0.223277D-01 -0.632553D-02 0.0000000 0.0000000 0.0000000 54.4600000 0.830878D-01 -0.238813D-01 0.0000000 0.0000000 0.0000000 22.5100000 0.217110D+00 -0.649238D-01 0.0000000 0.0000000 0.0000000 9.7740000 0.374507D+00 -0.115444D+00 0.0000000 0.0000000 0.0000000 4.3680000 0.366445D+00 -0.123651D+00 0.0000000 0.0000000 0.0000000 1.9590000 0.129245D+00 0.649055D-01 0.0000000 0.0000000 0.0000000 0.8260000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3297000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1242000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 3 3 0 0.3110000 1.0000000 0.0000000 0.0000000 0.7630000 0.0000000 1.0000000 0.0000000 1.8730000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.5430000 1.0000000 0.0000000 1.3250000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 1.0070000 1.0000000 $ CALCIUM (22s,16p,7d,2f,1g) -> [7s,6p,4d,2f,1g] $ CALCIUM (22s,16p,7d,2f,1g) -> [7s,6p,4d,2f,1g] a 20 $ S-TYPE FUNCTIONS 22 7 0 7503960.0000000 0.00000224 -0.00000065 0.00000022 -0.00000005 0.0000000 0.0000000 0.0000000 1123486.0000000 0.00001744 -0.00000507 0.00000175 -0.00000042 0.0000000 0.0000000 0.0000000 255663.5000000 0.00009177 -0.00002663 0.00000918 -0.00000219 0.0000000 0.0000000 0.0000000 72416.0600000 0.00038768 -0.00011266 0.00003888 -0.00000929 0.0000000 0.0000000 0.0000000 23626.0400000 0.00141185 -0.00041030 0.00014138 -0.00003374 0.0000000 0.0000000 0.0000000 8529.9860000 0.00459359 -0.00134111 0.00046324 -0.00011070 0.0000000 0.0000000 0.0000000 3327.3410000 0.01359733 -0.00399404 0.00137731 -0.00032862 0.0000000 0.0000000 0.0000000 1380.3540000 0.03667360 -0.01098903 0.00380786 -0.00091050 0.0000000 0.0000000 0.0000000 602.2149000 0.08872076 -0.02756447 0.00955641 -0.00228090 0.0000000 0.0000000 0.0000000 273.8874000 0.18414893 -0.06216246 0.02183132 -0.00523095 0.0000000 0.0000000 0.0000000 128.9451000 0.30074216 -0.11860476 0.04214951 -0.01008361 0.0000000 0.0000000 0.0000000 62.4229900 0.32434815 -0.17410494 0.06462845 -0.01561294 0.0000000 0.0000000 0.0000000 30.5743700 0.17195747 -0.11847714 0.04535983 -0.01088338 0.0000000 0.0000000 0.0000000 13.8552200 0.02480933 0.19457468 -0.08249853 0.01995768 0.0000000 0.0000000 0.0000000 6.8362040 -0.00103408 0.54661131 -0.32315107 0.08348860 0.0000000 0.0000000 0.0000000 3.3781530 0.00101290 0.38126324 -0.36063496 0.09594951 0.0000000 0.0000000 0.0000000 1.4919070 -0.00046678 0.05187853 0.20438954 -0.06395772 0.0000000 0.0000000 0.0000000 0.7211400 0.00018662 -0.00204996 0.69610089 -0.24522487 0.0000000 0.0000000 0.0000000 0.3341520 -0.00008808 0.00168809 0.36177498 -0.28584670 0.0000000 0.0000000 0.0000000 0.0823820 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0416550 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0199730 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 9363.0100000 0.00004617 -0.00001505 0.00000313 0.0000000 0.0000000 0.0000000 2216.2550000 0.00041049 -0.00013361 0.00002795 0.0000000 0.0000000 0.0000000 719.7596000 0.00235567 -0.00077014 0.00016003 0.0000000 0.0000000 0.0000000 275.1728000 0.01025491 -0.00336453 0.00070417 0.0000000 0.0000000 0.0000000 116.3924000 0.03566035 -0.01186624 0.00246922 0.0000000 0.0000000 0.0000000 52.7777000 0.09964056 -0.03389423 0.00711899 0.0000000 0.0000000 0.0000000 25.1318800 0.21320626 -0.07514329 0.01569017 0.0000000 0.0000000 0.0000000 12.3141600 0.33153524 -0.12144348 0.02578564 0.0000000 0.0000000 0.0000000 6.1667970 0.32934263 -0.12922084 0.02693656 0.0000000 0.0000000 0.0000000 3.1142790 0.15466414 0.01587703 -0.00485586 0.0000000 0.0000000 0.0000000 1.5190130 0.02215526 0.30853676 -0.07654212 0.0000000 0.0000000 0.0000000 0.7254350 0.00055191 0.47281521 -0.11554459 0.0000000 0.0000000 0.0000000 0.3409260 0.00015177 0.29410281 -0.12127062 0.0000000 0.0000000 0.0000000 0.1440000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0580000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0231600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 7 4 0 26.2708300 0.00734600 0.0000000 0.0000000 0.0000000 7.3078200 0.04090100 0.0000000 0.0000000 0.0000000 2.4549800 0.13006500 0.0000000 0.0000000 0.0000000 0.8871400 0.24415100 0.0000000 0.0000000 0.0000000 0.3092500 0.0000000 1.0000000 0.0000000 0.0000000 0.1031600 0.0000000 0.0000000 1.0000000 0.0000000 0.0337400 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.4883000 1.0000000 0.0000000 0.1165000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.1466000 1.0000000 $ SCANDIUM (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ SCANDIUM (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 21 $ S-TYPE FUNCTIONS 22 8 0 8417909.0000000 1.981292E-06 -1.147926E-06 2.221960E-07 -5.350285E-08 -9.140993E-08 -1.445075E-07 -1.607992E-07 0.0000000 1260312.0000000 1.540697E-05 -8.929259E-06 1.729799E-06 -4.164419E-07 -7.270775E-07 -1.167681E-06 -1.216461E-06 0.0000000 286798.4000000 8.106065E-05 -4.696382E-05 9.088001E-06 -2.188499E-06 -3.702449E-06 -5.810201E-06 -6.659894E-06 0.0000000 81234.6900000 0.0003423943 -0.0001985315 3.848622E-05 -9.264628E-06 -1.633468E-05 -2.64162E-05 -2.670499E-05 0.0000000 26503.1100000 0.00124699 -0.0007230932 0.0001399997 -3.371711E-05 -5.64236E-05 -8.781407E-05 -0.0001039947 0.0000000 9568.7010000 0.004056425 -0.002358822 0.0004585975 -0.0001103886 -0.000196819 -0.0003207912 -0.0003133995 0.0000000 3732.4970000 0.01200596 -0.007008148 0.001364588 -0.0003287051 -0.0005428811 -0.000836375 -0.001029884 0.0000000 1548.4220000 0.03235944 -0.01912407 0.003773739 -0.000908425 -0.001642692 -0.00270364 -0.002530633 0.0000000 675.5420000 0.07819972 -0.04728922 0.009493887 -0.002288204 -0.003709752 -0.00563396 -0.007335917 0.0000000 307.2522000 0.1617396 -0.1032480 0.02174611 -0.005238462 -0.009699229 -0.01622651 -0.01414587 0.0000000 144.6672000 0.2618480 -0.1861960 0.04228528 -0.01021547 -0.0158935 -0.02336426 -0.03451496 0.0000000 70.0438700 0.2748284 -0.2480547 0.0654061 -0.01581707 -0.03149937 -0.05523292 -0.03859251 0.0000000 34.3225000 0.1419647 -0.1614781 0.04759732 -0.01162945 -0.0115392 -0.008807771 -0.05560506 0.0000000 15.6122400 0.07046176 0.1779183 -0.0816033 0.02013432 0.01426789 -0.0002060869 0.1025062 0.0000000 7.7437220 0.1288392 0.5324076 -0.3283980 0.08405086 0.1977719 0.3882857 0.2265527 0.0000000 3.8442600 0.09269352 0.3752830 -0.3654561 0.0984825 0.09493216 0.0974343 0.6017289 0.0000000 1.7197660 0.01229949 0.05198123 0.2102218 -0.06838523 0.0267895 0.006858569 -1.4029740 0.0000000 0.8325230 -0.0004588239 -0.004029053 0.6856793 -0.2353627 -0.9351082 -2.3215700 -0.8478364 0.0000000 0.3855640 0.0001722703 0.0003794092 0.3684308 -0.2776984 0.1820725 2.6665800 3.0947890 0.0000000 0.0967000 -5.410745E-05 -0.0004006692 0.02050798 0.2987423 2.0774230 0.1898281 -5.7927330 0.0000000 0.0477780 4.892875E-05 0.0003219248 -0.006410776 0.6193723 -1.1139440 -2.6840650 6.9441580 0.0000000 0.0223630 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 7 0 22640.9700000 0.0000120 -0.0000040 0.0000010 0.0000010 0.0000020 -0.0000020 0.0000000 5357.5450000 0.0001070 -0.0000350 0.0000090 0.0000100 0.0000200 -0.0000290 0.0000000 1740.3730000 0.0006250 -0.0002050 0.0000500 0.0000600 0.0001280 -0.0001300 0.0000000 666.6163000 0.0028300 -0.0009320 0.0002270 0.0002740 0.0005340 -0.0007520 0.0000000 283.6384000 0.0105300 -0.0034840 0.0008530 0.0010250 0.0021640 -0.0022120 0.0000000 129.7976000 0.0328810 -0.0110190 0.0026860 0.0032500 0.0063070 -0.0088930 0.0000000 62.6795600 0.0858840 -0.0294150 0.0072250 0.0086740 0.0183770 -0.0182620 0.0000000 31.5044100 0.1800300 -0.0637130 0.0155900 0.0188660 0.0360160 -0.0530410 0.0000000 16.2352500 0.2892240 -0.1060850 0.0263030 0.0314660 0.0694300 -0.0599390 0.0000000 8.5183240 0.3279100 -0.1286380 0.0317770 0.0386630 0.0719490 -0.1556420 0.0000000 4.5190050 0.2101980 -0.0530120 0.0124830 0.0149230 0.0577890 0.0095720 0.0000000 2.3665910 0.0546800 0.1740260 -0.0526270 -0.0596700 -0.1752840 0.0918980 0.0000000 1.2152350 0.0018530 0.3925500 -0.1140250 -0.1347060 -0.3373290 1.2567100 0.0000000 0.6143480 -0.0014170 0.3965140 -0.1463710 -0.1728090 -0.5644270 -1.0111150 0.0000000 0.3007450 -0.0009530 0.1765440 -0.0138630 -0.0806980 1.1633800 -1.3688360 0.0000000 0.1260040 -0.0000510 0.0191110 0.3524440 0.5542640 0.5658350 2.3777820 0.0000000 0.0548400 -0.0000210 0.0000750 0.5504540 0.5500070 -0.9715060 -1.1539840 0.0000000 0.0235570 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 11 5 0 145.4680000 0.0004940 -0.0005050 -0.0006670 0.0008360 0.0000000 43.4188000 0.0041980 -0.0042930 -0.0055930 0.0084950 0.0000000 16.5768000 0.0189670 -0.0194750 -0.0259900 0.0334810 0.0000000 6.9711100 0.0584080 -0.0606310 -0.0791400 0.1270110 0.0000000 3.1334700 0.1376050 -0.1436610 -0.1936220 0.2482810 0.0000000 1.4576800 0.2314700 -0.2292940 -0.2899810 0.4455630 0.0000000 0.6745380 0.2965300 -0.2619730 -0.1702510 -0.5406450 0.0000000 0.3051620 0.3052000 -0.0530060 0.6126870 -0.8783940 0.0000000 0.1341130 0.2380750 0.4119990 0.4817940 1.4431180 0.0000000 0.0572700 0.1073860 0.4831900 -0.6794480 -0.4690810 0.0000000 0.0233540 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 1.4167000 1.0000000 0.0000000 0.0000000 0.3992000 0.0000000 1.0000000 0.0000000 0.1125000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 0.9963000 1.0000000 0.0000000 0.2573000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.5016000 1.0000000 $ TITANIUM (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ TITANIUM (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 22 $ S-TYPE FUNCTIONS 22 8 0 9317034.0000000 1.967884E-06 -1.130007E-06 2.252735E-07 -5.318433E-08 -9.711872E-08 -1.533644E-07 -1.764526E-07 0.0000000 1394971.0000000 1.530198E-05 -8.789416E-06 1.753631E-06 -4.139855E-07 -7.73397E-07 -1.234295E-06 -1.314401E-06 0.0000000 317453.1000000 8.050403E-05 -4.622623E-05 9.213052E-06 -2.175153E-06 -3.931052E-06 -6.177188E-06 -7.355464E-06 0.0000000 89921.0000000 0.0003400302 -0.0001954047 3.901242E-05 -9.209567E-06 -1.738323E-05 -2.787253E-05 -2.863762E-05 0.0000000 29338.1600000 0.001238349 -0.0007117 0.0001419184 -3.350761E-05 -5.986536E-05 -9.355199E-05 -0.0001156551 0.0000000 10592.6600000 0.004028475 -0.002321755 0.0004648635 -0.0001097393 -0.0002095853 -0.0003378352 -0.0003330732 0.0000000 4132.0560000 0.01192508 -0.006899511 0.001383544 -0.0003267006 -0.0005756482 -0.0008935475 -0.001155156 0.0000000 1714.2350000 0.03215601 -0.01883765 0.003827354 -0.0009036567 -0.001751595 -0.002842353 -0.002659832 0.0000000 747.9151000 0.0777862 -0.04663976 0.009639191 -0.002277257 -0.00393512 -0.006052332 -0.008332036 0.0000000 340.1991000 0.1612030 -0.1020764 0.02211719 -0.005226756 -0.0103849 -0.0170469 -0.01462611 0.0000000 160.2060000 0.2618826 -0.1848693 0.04314954 -0.01021707 -0.0169110 -0.02549806 -0.0403089 0.0000000 77.5885100 0.2766541 -0.2479601 0.06703481 -0.01591468 -0.03410989 -0.05791149 -0.03745842 0.0000000 38.0448900 0.1442968 -0.1634863 0.04946424 -0.01182814 -0.01220437 -0.01271791 -0.07375959 0.0000000 17.3536200 0.06993131 0.1779147 -0.08333456 0.02011999 0.01397535 0.006260762 0.1443268 0.0000000 8.6420620 0.1259449 0.5351738 -0.3384435 0.08526584 0.2176212 0.4080306 0.2119031 0.0000000 4.3044040 0.0902583 0.3752822 -0.3674069 0.09693489 0.09532708 0.1284258 0.7474187 0.0000000 1.9377180 0.01200401 0.05217038 0.2247056 -0.07082672 0.01782524 -0.1231286 -2.0310800 0.0000000 0.9365940 -0.0003976168 -0.003863192 0.6878815 -0.2359740 -1.0163420 -2.2673310 0.1922693 0.0000000 0.4326240 0.0001425444 0.0002845374 0.3594435 -0.2629613 0.3107026 2.8075070 2.2877680 0.0000000 0.1073520 -4.196664E-05 -0.0003500414 0.01933695 0.3011214 1.9917860 -0.3028009 -5.1681350 0.0000000 0.0520340 4.824213E-05 0.0003192906 -0.005997819 0.6125074 -1.1429550 -2.0712270 6.4603230 0.0000000 0.0240380 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 7 0 25537.3300000 0.0000120 -0.0000040 0.0000010 0.0000010 0.0000020 -0.0000030 0.0000000 6042.2430000 0.0001040 -0.0000350 0.0000080 0.0000100 0.0000200 -0.0000280 0.0000000 1962.6530000 0.0006070 -0.0002030 0.0000490 0.0000610 0.0001260 -0.0001340 0.0000000 751.7338000 0.0027510 -0.0009250 0.0002210 0.0002750 0.0005260 -0.0007360 0.0000000 319.8833000 0.0102660 -0.0034700 0.0008360 0.0010340 0.0021510 -0.0022930 0.0000000 146.4300000 0.0321800 -0.0110200 0.0026410 0.0032830 0.0062570 -0.0087520 0.0000000 70.7486100 0.0844860 -0.0295770 0.0071510 0.0088290 0.0184550 -0.0192260 0.0000000 35.5908800 0.1783320 -0.0645740 0.0155300 0.0193080 0.0362470 -0.0525890 0.0000000 18.3689300 0.2885740 -0.1084580 0.0264790 0.0326120 0.0709200 -0.0658940 0.0000000 9.6586550 0.3287580 -0.1319100 0.0319800 0.0399770 0.0718270 -0.1481120 0.0000000 5.1367300 0.2115410 -0.0530890 0.0125610 0.0152990 0.0592010 -0.0241240 0.0000000 2.6988720 0.0555190 0.1781250 -0.0529940 -0.0626200 -0.1842720 0.1769790 0.0000000 1.3897030 0.0020200 0.3957010 -0.1130390 -0.1382880 -0.3296530 1.1584280 0.0000000 0.7031630 -0.0014290 0.3927280 -0.1436980 -0.1763480 -0.5457640 -0.9634580 0.0000000 0.3441230 -0.0009410 0.1744770 -0.0103360 -0.0554040 1.1454310 -1.3245080 0.0000000 0.1413610 -0.0000530 0.0189460 0.3547360 0.5592910 0.5526250 2.2913730 0.0000000 0.0608630 -0.0000170 -0.0003280 0.5481010 0.5331150 -0.9642600 -1.1129320 0.0000000 0.0259070 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 11 5 0 196.9490000 0.0003820 -0.0003880 -0.0006220 -0.0006960 0.0000000 58.8372000 0.0033680 -0.0034280 -0.0054930 -0.0070890 0.0000000 22.5654000 0.0162420 -0.0165980 -0.0269680 -0.0310130 0.0000000 9.5756600 0.0523770 -0.0541720 -0.0895330 -0.1200550 0.0000000 4.3185900 0.1299280 -0.1366600 -0.2283740 -0.2789100 0.0000000 2.0232700 0.2312330 -0.2294490 -0.3312580 -0.3789610 0.0000000 0.9467780 0.3035610 -0.2549950 -0.1063490 0.5737430 0.0000000 0.4338760 0.3092680 -0.0476610 0.6310360 0.7279500 0.0000000 0.1922740 0.2316440 0.3948800 0.3966210 -1.2976560 0.0000000 0.0815020 0.1015400 0.4964530 -0.6180090 0.3203760 0.0000000 0.0322850 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 2.2626000 1.0000000 0.0000000 0.0000000 0.6418000 0.0000000 1.0000000 0.0000000 0.1821000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 1.5732000 1.0000000 0.0000000 0.4002000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 0.8721000 1.0000000 $ VANADIUM (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ VANADIUM (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 23 $ S-TYPE FUNCTIONS 22 8 0 10251780.0000000 1.966291E-06 -1.100923E-06 2.278854E-07 -5.275948E-08 -1.003479E-07 -1.592148E-07 -1.885199E-07 0.0000000 1534920.0000000 1.528967E-05 -8.56325E-06 1.773942E-06 -4.107129E-07 -7.997061E-07 -1.278305E-06 -1.39455E-06 0.0000000 349300.9000000 8.043932E-05 -4.503678E-05 9.319992E-06 -2.157711E-06 -4.060397E-06 -6.420097E-06 -7.881519E-06 0.0000000 98942.0500000 0.0003397617 -0.0001903808 3.946449E-05 -9.13722E-06 -1.79807E-05 -2.883633E-05 -3.027981E-05 0.0000000 32281.3600000 0.001237405 -0.0006934284 0.000143572 -3.323885E-05 -6.18137E-05 -9.73589E-05 -0.000124316 0.0000000 11655.2700000 0.00402574 -0.002262429 0.0004702911 -0.0001088925 -0.0002168915 -0.0003491402 -0.0003507231 0.0000000 4546.5480000 0.01191912 -0.006724991 0.001399998 -0.0003241407 -0.0005942417 -0.0009316194 -0.00124644 0.0000000 1886.1850000 0.03215431 -0.01837325 0.003874111 -0.0008972319 -0.001814506 -0.002934959 -0.00278742 0.0000000 822.9417000 0.07785452 -0.0455526 0.009765942 -0.002262105 -0.004064807 -0.006333703 -0.009045618 0.0000000 374.3439000 0.1616367 -0.09996969 0.02244179 -0.005203068 -0.01079223 -0.01760698 -0.01522967 0.0000000 176.3069000 0.2634194 -0.1819111 0.04390091 -0.01019123 -0.01752264 -0.02696848 -0.04437496 0.0000000 85.4066100 0.2799986 -0.2458744 0.06843462 -0.0159482 -0.03573873 -0.05982079 -0.03793507 0.0000000 41.9043500 0.1473474 -0.1638089 0.0509650 -0.01193588 -0.01263079 -0.01545613 -0.08564216 0.0000000 19.1552500 0.06826405 0.1795843 -0.0853594 0.02018344 0.01393494 0.01103001 0.1715635 0.0000000 9.5716170 0.1194436 0.5389547 -0.3474804 0.08610071 0.2305046 0.4234006 0.2192374 0.0000000 4.7800860 0.08507582 0.3749098 -0.3672368 0.09487917 0.0936574 0.1454088 0.8190393 0.0000000 2.1618600 0.01125814 0.05200269 0.2385408 -0.07309753 0.00782896 -0.2197140 -2.4396980 0.0000000 1.0427110 -0.0003353521 -0.003775873 0.6888178 -0.2349632 -1.0538540 -2.1943290 0.9048685 0.0000000 0.4802820 0.0001070571 0.0001686888 0.3509919 -0.2500297 0.3865591 2.8574410 1.7069230 0.0000000 0.1176380 -2.979622E-05 -0.0003063802 0.01826144 0.3026096 1.9257830 -0.5832475 -4.6758140 0.0000000 0.0561740 4.672816E-05 0.0003238096 -0.005541134 0.6061635 -1.1464290 -1.6928450 6.0487340 0.0000000 0.0256610 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 7 0 28563.3200000 0.0000110 -0.0000040 0.0000010 0.0000010 0.0000020 -0.0000030 0.0000000 6757.1910000 0.0001010 -0.0000340 0.0000080 0.0000100 0.0000200 -0.0000290 0.0000000 2194.6520000 0.0005920 -0.0002020 0.0000490 0.0000600 0.0001290 -0.0001410 0.0000000 840.5257000 0.0026900 -0.0009200 0.0002210 0.0002750 0.0005360 -0.0007730 0.0000000 357.6666000 0.0100630 -0.0034590 0.0008380 0.0010330 0.0022030 -0.0024220 0.0000000 163.7534000 0.0316540 -0.0110250 0.0026560 0.0032960 0.0064280 -0.0092670 0.0000000 79.1446600 0.0834780 -0.0297320 0.0072330 0.0088960 0.0190710 -0.0205550 0.0000000 39.8385800 0.1772260 -0.0653490 0.0158080 0.0196130 0.0377120 -0.0564850 0.0000000 20.5853600 0.2883980 -0.1105270 0.0271720 0.0333180 0.0742670 -0.0714930 0.0000000 10.8430700 0.3294320 -0.1345370 0.0328010 0.0410090 0.0752600 -0.1577910 0.0000000 5.7779690 0.2121300 -0.0524370 0.0123380 0.0149590 0.0609980 -0.0215520 0.0000000 3.0431700 0.0558820 0.1822160 -0.0554180 -0.0642560 -0.2009760 0.2379500 0.0000000 1.5702390 0.0020970 0.3980180 -0.1156040 -0.1418170 -0.3453430 1.1318370 0.0000000 0.7949750 -0.0014710 0.3891530 -0.1390920 -0.1739660 -0.5018350 -1.0891800 0.0000000 0.3889800 -0.0009480 0.1727170 0.0006820 -0.0411320 1.1436310 -1.1257730 0.0000000 0.1573270 -0.0000550 0.0187460 0.3520090 0.5639950 0.5044870 2.1681890 0.0000000 0.0665660 -0.0000130 -0.0005940 0.5422050 0.5238960 -0.9441030 -1.1102630 0.0000000 0.0278610 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 11 5 0 238.0090000 0.0003500 -0.0003700 -0.0005750 0.0007340 0.0000000 71.1896000 0.0031300 -0.0033170 -0.0051570 0.0072580 0.0000000 27.3946000 0.0154780 -0.0164740 -0.0259290 0.0339580 0.0000000 11.7173000 0.0508290 -0.0548390 -0.0880590 0.1298550 0.0000000 5.3248000 0.1275480 -0.1408390 -0.2311790 0.3316480 0.0000000 2.5169800 0.2304470 -0.2395530 -0.3383520 0.3569830 0.0000000 1.1907500 0.3040580 -0.2519100 -0.0850300 -0.6934390 0.0000000 0.5518090 0.3083660 -0.0261060 0.6267990 -0.5768500 0.0000000 0.2469260 0.2290220 0.3877700 0.3834730 1.2280290 0.0000000 0.1051000 0.1013600 0.4867240 -0.6102620 -0.3167410 0.0000000 0.0413930 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 3.0648000 1.0000000 0.0000000 0.0000000 0.8840000 0.0000000 1.0000000 0.0000000 0.2550000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 2.1538000 1.0000000 0.0000000 0.5645000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 1.3165000 1.0000000 $ CHROMIUM (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ CHROMIUM (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 24 $ S-TYPE FUNCTIONS 22 8 0 11016640.0000000 2.002522E-06 -1.118844E-06 2.358227E-07 -5.343793E-08 -1.038573E-07 -1.671645E-07 -2.018526E-07 0.0000000 1649423.0000000 1.557145E-05 -8.70279E-06 1.83614E-06 -4.166295E-07 -8.291687E-07 -1.331951E-06 -1.476099E-06 0.0000000 375358.9000000 8.192146E-05 -4.576974E-05 9.643686E-06 -2.183977E-06 -4.198902E-06 -6.764614E-06 -8.479016E-06 0.0000000 106323.6000000 0.0003460132 -0.0001934803 4.085166E-05 -9.275174E-06 -1.865777E-05 -2.994507E-05 -3.186673E-05 0.0000000 34689.7600000 0.001260141 -0.0007046922 0.0001485404 -3.361788E-05 -6.386131E-05 -0.000102993 -0.0001344019 0.0000000 12524.8300000 0.004099273 -0.002299139 0.0004868639 -0.0001106225 -0.0002252576 -0.0003611865 -0.0003665342 0.0000000 4885.7520000 0.01213424 -0.006833193 0.001448156 -0.0003275214 -0.0006131653 -0.0009903414 -0.001355222 0.0000000 2026.9180000 0.03271636 -0.01866493 0.004010503 -0.0009122671 -0.001886356 -0.003022002 -0.002884635 0.0000000 884.3645000 0.07912296 -0.04624835 0.01009579 -0.002281936 -0.004185316 -0.006778242 -0.009908511 0.0000000 402.3170000 0.1638397 -0.1013820 0.02321493 -0.005294506 -0.01123172 -0.01798719 -0.01547488 0.0000000 189.5271000 0.2655107 -0.1839390 0.04524056 -0.01022548 -0.01791544 -0.02926094 -0.04925232 0.0000000 91.8609500 0.2789671 -0.2469356 0.07025001 -0.01618464 -0.03714198 -0.05950832 -0.03533906 0.0000000 45.1247600 0.1444466 -0.1597390 0.05032135 -0.01124211 -0.01126485 -0.02030054 -0.09963499 0.0000000 20.6251200 0.06941606 0.1940936 -0.09350992 0.02096236 0.01522975 0.02995049 0.2140183 0.0000000 10.3197300 0.1195153 0.5461479 -0.3650249 0.09050667 0.2458640 0.4202560 0.2137561 0.0000000 5.1577230 0.08084582 0.3610571 -0.3530889 0.08642079 0.07882802 0.1844826 0.8609798 0.0000000 2.3126280 0.009975024 0.04658647 0.2829720 -0.0785363 -0.01862956 -0.4526654 -2.9258430 0.0000000 1.1030790 -0.000286577 -0.003493969 0.7001955 -0.2526007 -1.0962620 -1.8921570 1.9665580 0.0000000 0.4980420 0.0001176051 0.0002600074 0.3067473 -0.2133579 0.5510966 2.8485940 0.7515651 0.0000000 0.1182470 -2.164013E-05 -0.00024401 0.01083139 0.3577908 1.8947270 -1.1247750 -4.1073970 0.0000000 0.0573560 5.032702E-05 0.0003266435 -0.001458427 0.5691145 -1.3157730 -0.9810669 5.7017810 0.0000000 0.0257600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 7 0 31539.8900000 0.0000110 -0.0000040 0.0000010 0.0000010 0.0000030 -0.0000030 0.0000000 7460.2340000 0.0001000 -0.0000350 0.0000080 0.0000100 0.0000210 -0.0000310 0.0000000 2422.6220000 0.0005870 -0.0002030 0.0000480 0.0000610 0.0001340 -0.0001500 0.0000000 927.7547000 0.0026670 -0.0009260 0.0002180 0.0002770 0.0005590 -0.0008150 0.0000000 394.8041000 0.0099910 -0.0034870 0.0008270 0.0010410 0.0022970 -0.0025830 0.0000000 180.8027000 0.0314930 -0.0111410 0.0026260 0.0033380 0.0067270 -0.0098130 0.0000000 87.4239300 0.0832660 -0.0301280 0.0071720 0.0090130 0.0199900 -0.0221160 0.0000000 44.0342700 0.1773280 -0.0664840 0.0157380 0.0200130 0.0397890 -0.0602960 0.0000000 22.7770400 0.2892300 -0.1128540 0.0271540 0.0340000 0.0784260 -0.0781870 0.0000000 12.0154700 0.3296730 -0.1367850 0.0326310 0.0419930 0.0798820 -0.1674430 0.0000000 6.4117510 0.2108870 -0.0500570 0.0114930 0.0138040 0.0609720 -0.0135230 0.0000000 3.3811360 0.0551740 0.1884690 -0.0560770 -0.0662750 -0.2226880 0.3066960 0.0000000 1.7470540 0.0022300 0.4004550 -0.1142520 -0.1461070 -0.3668130 1.0907830 0.0000000 0.8850040 -0.0012840 0.3843320 -0.1337370 -0.1694750 -0.4471090 -1.2345450 0.0000000 0.4330280 -0.0008540 0.1695200 0.0034730 -0.0285870 1.1518010 -0.9015550 0.0000000 0.1734150 -0.0000460 0.0182570 0.3451660 0.5663070 0.4413050 2.0482660 0.0000000 0.0726080 -0.0000120 -0.0007430 0.5418440 0.5156880 -0.9140660 -1.1039840 0.0000000 0.0299150 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 11 5 0 268.0400000 0.0003600 -0.0004070 -0.0005820 0.0008280 0.0000000 80.2223000 0.0032360 -0.0036770 -0.0052760 0.0080720 0.0000000 30.8950000 0.0161530 -0.0184220 -0.0267230 0.0389600 0.0000000 13.2481000 0.0534180 -0.0620500 -0.0920120 0.1497060 0.0000000 6.0407700 0.1335240 -0.1589460 -0.2423410 0.3879330 0.0000000 2.8615900 0.2386370 -0.2629000 -0.3383560 0.2970340 0.0000000 1.3554500 0.3094550 -0.2438830 -0.0138860 -0.8758060 0.0000000 0.6282480 0.3056910 0.0377400 0.6731700 -0.2958520 0.0000000 0.2806230 0.2182890 0.4270640 0.2610890 1.2044240 0.0000000 0.1186680 0.0896930 0.4428120 -0.6613960 -0.5298930 0.0000000 0.0459310 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 3.7611000 1.0000000 0.0000000 0.0000000 1.0928000 0.0000000 1.0000000 0.0000000 0.3175000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 2.6143000 1.0000000 0.0000000 0.6951000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 1.6775000 1.0000000 $ MANGANESE (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ MANGANESE (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 25 $ S-TYPE FUNCTIONS 22 8 0 12210500.0000000 2.018537E-06 -9.633574E-07 2.316977E-07 -5.127786E-08 -1.017421E-07 -1.64232E-07 -2.001522E-07 0.0000000 1828157.0000000 1.569638E-05 -7.493672E-06 1.803633E-06 -3.991995E-07 -8.110718E-07 -1.314241E-06 -1.478765E-06 0.0000000 416030.3000000 8.257853E-05 -3.941004E-05 9.476176E-06 -2.097137E-06 -4.116344E-06 -6.63284E-06 -8.372432E-06 0.0000000 117843.6000000 0.0003488107 -0.0001666155 4.012553E-05 -8.881375E-06 -1.823899E-05 -2.96042E-05 -3.208892E-05 0.0000000 38448.1400000 0.001270414 -0.0006069041 0.000145987 -3.230705E-05 -6.265924E-05 -0.0001007673 -0.0001321413 0.0000000 13881.7100000 0.004133905 -0.001981108 0.0004782368 -0.0001058611 -0.0002200741 -0.0003579039 -0.0003714493 0.0000000 5415.0020000 0.01224366 -0.005893486 0.001424063 -0.0003151614 -0.0006024678 -0.0009666897 -0.001326456 0.0000000 2246.4600000 0.0330604 -0.01613849 0.003942807 -0.0008730066 -0.0018430 -0.003005179 -0.002951265 0.0000000 980.1463000 0.08019877 -0.04018929 0.009952411 -0.002203528 -0.004127938 -0.006605816 -0.009655762 0.0000000 445.8952000 0.1671550 -0.08903423 0.0229242 -0.005081761 -0.01100471 -0.0180382 -0.01616919 0.0000000 210.0558000 0.2743977 -0.1646993 0.04501638 -0.009988834 -0.0179012 -0.02853084 -0.04776647 0.0000000 101.8046000 0.2963690 -0.2288840 0.07048742 -0.01570961 -0.03676227 -0.06124413 -0.04049212 0.0000000 50.0112600 0.1592852 -0.1560684 0.05291064 -0.01183955 -0.01301427 -0.01893791 -0.09389925 0.0000000 22.9393900 0.05681818 0.1882585 -0.08983951 0.02031039 0.01478153 0.01888653 0.1920182 0.0000000 11.5226400 0.0827899 0.5512725 -0.3626155 0.08593055 0.2391713 0.4329357 0.2440487 0.0000000 5.7763380 0.05840628 0.3755111 -0.3621266 0.08897427 0.08964957 0.1661622 0.8589060 0.0000000 2.6259590 0.007343047 0.05061607 0.2656979 -0.07678891 -0.01299627 -0.3401427 -2.7931450 0.0000000 1.2603220 -0.0002934793 -0.004926193 0.6892091 -0.2261750 -1.0513300 -2.0393200 1.5640690 0.0000000 0.5771300 -4.562245E-05 -0.0006126838 0.3337072 -0.2271869 0.4478536 2.7946610 1.1184620 0.0000000 0.1365820 -9.934988E-06 -0.0002821975 0.01594677 0.3003127 1.8048060 -0.7303582 -4.0546640 0.0000000 0.0635350 2.391143E-05 0.0003009192 -0.004614546 0.5953419 -1.0710260 -1.4080030 5.4620540 0.0000000 0.0285210 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 7 0 35005.1200000 0.0000110 -0.0000040 -0.0000010 0.0000010 0.0000030 -0.0000030 0.0000000 8279.4620000 0.0000980 -0.0000340 -0.0000080 0.0000100 0.0000210 -0.0000320 0.0000000 2688.4650000 0.0005720 -0.0001990 -0.0000460 0.0000610 0.0001380 -0.0001650 0.0000000 1029.4900000 0.0026040 -0.0009070 -0.0002080 0.0002780 0.0005680 -0.0008520 0.0000000 438.0708000 0.0097790 -0.0034250 -0.0007920 0.0010520 0.0023680 -0.0028640 0.0000000 200.6153000 0.0309380 -0.0109850 -0.0025220 0.0033660 0.0068870 -0.0103380 0.0000000 97.0076900 0.0821940 -0.0298560 -0.0069280 0.0091930 0.0208050 -0.0249200 0.0000000 48.8705200 0.1761490 -0.0663660 -0.0152920 0.0204040 0.0412070 -0.0639080 0.0000000 25.2928100 0.2891330 -0.1135040 -0.0266110 0.0352770 0.0829490 -0.0917040 0.0000000 13.3538200 0.3309560 -0.1379910 -0.0319780 0.0429860 0.0823300 -0.1688330 0.0000000 7.1317860 0.2122180 -0.0493550 -0.0112220 0.0147830 0.0676490 -0.0457170 0.0000000 3.7643650 0.0552270 0.1912420 0.0549880 -0.0708510 -0.2505870 0.4475430 0.0000000 1.9462650 0.0012070 0.4023550 0.1104650 -0.1488630 -0.3787840 1.0445440 0.0000000 0.9854550 -0.0023550 0.3821160 0.1281620 -0.1726610 -0.3965170 -1.4857210 0.0000000 0.4818650 -0.0013200 0.1681990 -0.0029800 -0.0048570 1.1501120 -0.5306040 0.0000000 0.1892120 -0.0000940 0.0179050 -0.3368240 0.5718810 0.3830850 1.8217180 0.0000000 0.0779800 -0.0000070 -0.0009580 -0.5424410 0.5013280 -0.8923280 -1.0684500 0.0000000 0.0316850 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 11 5 0 301.4270000 0.0003610 -0.0003670 -0.0005810 -0.0007460 0.0000000 90.3288000 0.0032590 -0.0033310 -0.0053040 -0.0068580 0.0000000 34.8337000 0.0164190 -0.0168130 -0.0270190 -0.0350360 0.0000000 14.9770000 0.0547600 -0.0569290 -0.0940670 -0.1265920 0.0000000 6.8498300 0.1367270 -0.1457700 -0.2469380 -0.3598640 0.0000000 3.2521700 0.2424190 -0.2466730 -0.3420510 -0.3065310 0.0000000 1.5430900 0.3103760 -0.2342270 -0.0146210 0.7526320 0.0000000 0.7156410 0.3021700 0.0233200 0.6120700 0.4176590 0.0000000 0.3193230 0.2135730 0.3875770 0.3201120 -1.0728320 0.0000000 0.1344280 0.0890940 0.4676950 -0.5609790 0.2000430 0.0000000 0.0515700 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 4.4646000 1.0000000 0.0000000 0.0000000 1.3133000 0.0000000 1.0000000 0.0000000 0.3863000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 3.1668000 1.0000000 0.0000000 0.8651000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 2.0003000 1.0000000 $ IRON (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ IRON (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 26 $ S-TYPE FUNCTIONS 22 8 0 0.1327714E+08 1.976511E-06 -1.020185E-06 2.340322E-07 -5.062297E-08 -9.957952E-08 -1.678013E-07 -1.97919E-07 0.0000000 1987888.0000000 1.536912E-05 -7.935347E-06 1.821727E-06 -3.940586E-07 -7.925506E-07 -1.337004E-06 -1.454458E-06 0.0000000 452387.1000000 8.085571E-05 -4.173309E-05 9.571315E-06 -2.07034E-06 -4.031635E-06 -6.790249E-06 -8.296892E-06 0.0000000 128143.7000000 0.0003415253 -0.0001764249 4.052652E-05 -8.766406E-06 -1.780938E-05 -3.005871E-05 -3.147678E-05 0.0000000 41809.1700000 0.001243883 -0.0006426379 0.0001474531 -3.189537E-05 -6.14201E-05 -0.0001033899 -0.0001312505 0.0000000 15095.3300000 0.004047547 -0.00209744 0.0004830333 -0.0001044911 -0.00021473 -0.0003626365 -0.0003631851 0.0000000 5888.4380000 0.01198848 -0.00623875 0.001438609 -0.0003112113 -0.0005912544 -0.0009947359 -0.001321103 0.0000000 2442.8760000 0.03237358 -0.01707492 0.003983915 -0.0008620181 -0.001797193 -0.003038134 -0.002874345 0.0000000 1065.8570000 0.07854828 -0.0424857 0.01006355 -0.002178129 -0.004061089 -0.006831095 -0.009655667 0.0000000 484.9096000 0.1637396 -0.09392294 0.0232061 -0.00502697 -0.01073419 -0.01819172 -0.01565078 0.0000000 228.4585000 0.2687335 -0.1730554 0.0456678 -0.009908113 -0.01773464 -0.02987575 -0.0481821 0.0000000 110.7453000 0.2896317 -0.2386626 0.07169322 -0.01561357 -0.03586338 -0.06129076 -0.03801945 0.0000000 54.4311600 0.1554235 -0.1623971 0.05421018 -0.01187731 -0.01374002 -0.02302594 -0.09789664 0.0000000 25.0109600 0.06284331 0.1869345 -0.09163776 0.02031246 0.01645324 0.02701671 0.1990898 0.0000000 12.5926200 0.09927972 0.5495686 -0.3693219 0.08560291 0.2322749 0.4229967 0.2020013 0.0000000 6.3232020 0.06931444 0.3723118 -0.3616033 0.08702717 0.09256802 0.2153088 0.9776064 0.0000000 2.8833840 0.008885666 0.05057065 0.2734191 -0.07758197 -0.03322957 -0.4343164 -3.0035790 0.0000000 1.3828680 -0.00027762 -0.004072645 0.6889090 -0.2214919 -0.9860290 -1.9503480 1.8016620 0.0000000 0.6322010 1.27159E-06 -0.0002732199 0.3294179 -0.2196263 0.4046445 2.7202330 0.9747971 0.0000000 0.1492380 -1.537759E-05 -0.0002612296 0.01558687 0.2869893 1.6888890 -0.6123241 -3.8975570 0.0000000 0.0684940 2.552339E-05 0.0002547393 -0.004161049 0.5927434 -0.8479093 -1.4683290 5.2279090 0.0000000 0.0303810 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 7 0 38282.0500000 0.0000110 -0.0000040 0.0000010 0.0000010 0.0000030 -0.0000030 0.0000000 9061.5560000 0.0000970 -0.0000340 0.0000070 0.0000110 0.0000220 -0.0000330 0.0000000 2944.4500000 0.0005660 -0.0001990 0.0000440 0.0000660 0.0001470 -0.0001780 0.0000000 1128.1580000 0.0025750 -0.0009110 0.0001970 0.0002950 0.0005980 -0.0008800 0.0000000 480.3380000 0.0096760 -0.0034370 0.0007510 0.0011340 0.0025270 -0.0030750 0.0000000 220.1368000 0.0306440 -0.0110420 0.0023910 0.0035850 0.0072600 -0.0107140 0.0000000 106.5482000 0.0815530 -0.0300610 0.0065950 0.0099500 0.0223000 -0.0269530 0.0000000 53.7426200 0.1752450 -0.0670490 0.0145700 0.0218100 0.0435920 -0.0662790 0.0000000 27.8631800 0.2884650 -0.1150700 0.0255290 0.0386610 0.0898240 -0.1011440 0.0000000 14.7438200 0.3307340 -0.1399170 0.0304850 0.0456280 0.0863280 -0.1704670 0.0000000 7.8933510 0.2127700 -0.0494800 0.0108530 0.0179580 0.0797000 -0.0837750 0.0000000 4.1794970 0.0562030 0.1917090 -0.0523850 -0.0815930 -0.2943090 0.6056490 0.0000000 2.1656690 0.0018070 0.4030120 -0.1032710 -0.1581940 -0.4046430 0.9572390 0.0000000 1.0972400 -0.0019990 0.3807170 -0.1212410 -0.1890710 -0.3242020 -1.7348360 0.0000000 0.5360850 -0.0011550 0.1693050 0.0008400 0.0446210 1.1898370 -0.0978650 0.0000000 0.2023740 -0.0000790 0.0178720 0.3272880 0.6116920 0.2280980 1.5748130 0.0000000 0.0817420 -0.0000030 -0.0014330 0.5442260 0.4461700 -0.8474340 -1.0818170 0.0000000 0.0326620 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 11 5 0 338.5060000 0.0003560 -0.0003910 -0.0005650 -0.0008160 0.0000000 101.4920000 0.0032290 -0.0035760 -0.0051850 -0.0071240 0.0000000 39.1867000 0.0164140 -0.0181910 -0.0266110 -0.0385600 0.0000000 16.9034000 0.0551330 -0.0620900 -0.0930790 -0.1335670 0.0000000 7.7629600 0.1375020 -0.1592870 -0.2482970 -0.4152110 0.0000000 3.6988700 0.2425950 -0.2697760 -0.3498230 -0.2793690 0.0000000 1.7596300 0.3085230 -0.2389970 0.0369220 0.9276650 0.0000000 0.8166510 0.2998140 0.0619850 0.6494720 0.1855890 0.0000000 0.3638210 0.2150480 0.4136570 0.2342380 -1.0796160 0.0000000 0.1525410 0.0925770 0.4348780 -0.6097450 0.4197090 0.0000000 0.0579910 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 5.1982000 1.0000000 0.0000000 0.0000000 1.5504000 0.0000000 1.0000000 0.0000000 0.4624000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 3.7944000 1.0000000 0.0000000 1.0668000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 2.3842000 1.0000000 $ COBALT (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ COBALT (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 27 $ S-TYPE FUNCTIONS 22 8 0 0.1437022E+08 1.961579E-06 -1.032046E-06 2.357772E-07 -4.98388E-08 -9.633772E-08 -1.73362E-07 -1.968109E-07 0.0000000 2151540.0000000 1.525308E-05 -8.027614E-06 1.8353E-06 -3.879304E-07 -7.654083E-07 -1.376434E-06 -1.439789E-06 0.0000000 489625.7000000 8.024671E-05 -4.22193E-05 9.642951E-06 -2.038379E-06 -3.90364E-06 -7.026909E-06 -8.265947E-06 0.0000000 138690.3000000 0.0003389582 -0.0001784817 4.082978E-05 -8.630129E-06 -1.718665E-05 -3.089757E-05 -3.108989E-05 0.0000000 45249.8900000 0.001234551 -0.0006501411 0.000148563 -3.140519E-05 -5.95264E-05 -0.0001071929 -0.0001310184 0.0000000 16337.6200000 0.004017237 -0.002121909 0.0004866688 -0.0001028682 -0.0002070482 -0.0003721161 -0.0003577366 0.0000000 6373.0730000 0.01189936 -0.006311755 0.001449618 -0.0003064776 -0.0005737293 -0.001033758 -0.001321726 0.0000000 2643.9580000 0.03213721 -0.01727558 0.004015116 -0.0008488581 -0.001731567 -0.003111602 -0.00282163 0.0000000 1153.6140000 0.0779997 -0.04299353 0.0101482 -0.002146732 -0.003950029 -0.007127428 -0.009692646 0.0000000 524.8606000 0.1626825 -0.09507125 0.02342321 -0.004957499 -0.01033969 -0.01859372 -0.01528143 0.0000000 247.3069000 0.2671849 -0.1752212 0.0461722 -0.009792183 -0.01736027 -0.03148302 -0.04871094 0.0000000 119.9063000 0.2881411 -0.2416127 0.07262205 -0.01545065 -0.03449074 -0.06222078 -0.03611465 0.0000000 58.9642900 0.1548301 -0.1645933 0.0551247 -0.01181794 -0.0142204 -0.02684359 -0.1014559 0.0000000 27.1361600 0.06451896 0.1880060 -0.09356803 0.02031574 0.01816713 0.0349936 0.2059185 0.0000000 13.6891200 0.1030728 0.5505157 -0.3752066 0.08494754 0.2219044 0.4220093 0.1740209 0.0000000 6.8827710 0.07137991 0.3701682 -0.3595010 0.0845587 0.09496945 0.2573147 1.0618960 0.0000000 3.1446470 0.009131332 0.05007243 0.2821187 -0.07824438 -0.0535677 -0.5363089 -3.1875120 0.0000000 1.5062660 -0.0002919679 -0.003975686 0.6882851 -0.2161403 -0.9071045 -1.8561120 2.0527300 0.0000000 0.6872680 -5.581488E-06 -0.0002896409 0.3243680 -0.2120657 0.3491874 2.6514750 0.7962451 0.0000000 0.1609720 -1.732351E-05 -0.0002552515 0.01501498 0.2777048 1.5866890 -0.5228775 -3.7309490 0.0000000 0.0730170 2.132347E-05 0.0002182807 -0.003906005 0.5886342 -0.6425986 -1.4830860 5.0181100 0.0000000 0.0320710 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 7 0 41961.4000000 0.0000110 -0.0000040 0.0000010 0.0000010 0.0000030 -0.0000040 0.0000000 9928.3060000 0.0000950 -0.0000340 0.0000070 0.0000110 0.0000230 -0.0000330 0.0000000 3224.9710000 0.0005570 -0.0001980 0.0000440 0.0000690 0.0001500 -0.0001850 0.0000000 1235.2930000 0.0025380 -0.0009060 0.0001990 0.0003080 0.0006200 -0.0008870 0.0000000 525.8469000 0.0095540 -0.0034280 0.0007600 0.0011870 0.0025920 -0.0032040 0.0000000 240.9762000 0.0303350 -0.0110390 0.0024250 0.0037600 0.0075710 -0.0108490 0.0000000 116.6418000 0.0809840 -0.0301570 0.0067060 0.0104780 0.0230010 -0.0283310 0.0000000 58.8483400 0.1746920 -0.0675490 0.0148900 0.0230580 0.0459430 -0.0673690 0.0000000 30.5291000 0.2885440 -0.1164660 0.0261810 0.0410950 0.0929370 -0.1083230 0.0000000 16.1694300 0.3311360 -0.1414410 0.0313100 0.0485290 0.0934070 -0.1719860 0.0000000 8.6642360 0.2128970 -0.0487170 0.0108480 0.0188210 0.0801520 -0.1084480 0.0000000 4.5919430 0.0562950 0.1946550 -0.0538620 -0.0889830 -0.3177930 0.7416070 0.0000000 2.3810480 0.0018950 0.4041480 -0.1061120 -0.1710610 -0.4378130 0.8082640 0.0000000 1.2062460 -0.0019550 0.3789040 -0.1217750 -0.1897640 -0.2329460 -1.7802720 0.0000000 0.5888220 -0.0011260 0.1673060 0.0038630 0.0718740 1.1648970 0.0636530 0.0000000 0.2246580 -0.0000740 0.0177190 0.3271980 0.6049170 0.1731560 1.4742420 0.0000000 0.0904360 -0.0000030 -0.0012520 0.5419610 0.4357830 -0.8160710 -1.0385490 0.0000000 0.0358480 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 11 5 0 375.3200000 0.0003560 -0.0004110 -0.0005450 -0.0008270 0.0000000 112.6040000 0.0032390 -0.0037740 -0.0050280 -0.0070410 0.0000000 43.5190000 0.0165690 -0.0193160 -0.0259450 -0.0392680 0.0000000 18.8147000 0.0559830 -0.0664370 -0.0911040 -0.1333410 0.0000000 8.6649100 0.1394030 -0.1705420 -0.2453950 -0.4342300 0.0000000 4.1371100 0.2443780 -0.2854770 -0.3481600 -0.2565540 0.0000000 1.9708000 0.3081070 -0.2328840 0.0700830 0.9662400 0.0000000 0.9150070 0.2972660 0.0944710 0.6494450 0.1097980 0.0000000 0.4073700 0.2136850 0.4201780 0.1939420 -1.0470350 0.0000000 0.1704440 0.0934140 0.4094740 -0.6184680 0.4375990 0.0000000 0.0643790 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 5.9832000 1.0000000 0.0000000 0.0000000 1.8045000 0.0000000 1.0000000 0.0000000 0.5442000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 4.4514000 1.0000000 0.0000000 1.2700000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 2.7959000 1.0000000 $ NICKEL (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ NICKEL (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 28 $ S-TYPE FUNCTIONS 22 8 0 15503020.0000000 2.085023E-06 -7.298155E-07 2.453237E-07 -5.114261E-08 -9.762069E-08 -1.771733E-07 -1.988311E-07 0.0000000 2321071.0000000 1.621425E-05 -5.677768E-06 1.909637E-06 -3.980779E-07 -7.741142E-07 -1.397615E-06 -1.449716E-06 0.0000000 528180.2000000 8.530773E-05 -2.985922E-05 1.003489E-05 -2.092033E-06 -3.959746E-06 -7.203859E-06 -8.363444E-06 0.0000000 149604.0000000 0.0003603793 -0.0001262784 4.248835E-05 -8.856836E-06 -1.736914E-05 -3.128552E-05 -3.125532E-05 0.0000000 48809.0700000 0.001312632 -0.0004600252 0.0001546187 -3.223602E-05 -6.044953E-05 -0.0001102699 -0.0001327624 0.0000000 17622.3900000 0.004272395 -0.00150323 0.000506455 -0.0001055757 -0.0002090555 -0.0003755735 -0.0003589662 0.0000000 6874.2010000 0.01265994 -0.004479171 0.00150884 -0.0003146356 -0.0005834312 -0.0010679 -0.001341488 0.0000000 2851.8570000 0.03423065 -0.01232512 0.004178816 -0.0008714113 -0.001746713 -0.003128427 -0.002824018 0.0000000 1244.3340000 0.08326735 -0.03097639 0.01056668 -0.002205415 -0.004026784 -0.007410272 -0.009863607 0.0000000 566.1547000 0.1745758 -0.06998651 0.0243930 -0.005095517 -0.01042362 -0.01859501 -0.01523481 0.0000000 266.7873000 0.2898023 -0.1339256 0.04812101 -0.01008237 -0.01781172 -0.03322798 -0.04984489 0.0000000 129.3752000 0.3207323 -0.1966881 0.0756517 -0.0159207 -0.03466996 -0.0611844 -0.03522354 0.0000000 63.6516100 0.1778265 -0.1402258 0.05748534 -0.01222037 -0.01540945 -0.03286334 -0.1056424 0.0000000 29.3330200 0.03633007 0.1960730 -0.09783186 0.02115869 0.02086455 0.04844202 0.2138034 0.0000000 14.8221200 0.02089458 0.5564517 -0.3864536 0.08747304 0.2206820 0.3989880 0.1517675 0.0000000 7.4605130 0.01596954 0.3702167 -0.3606598 0.08511605 0.1073966 0.3379290 1.1804280 0.0000000 3.4135760 0.001730245 0.05396034 0.2888650 -0.08115683 -0.08310668 -0.7016224 -3.5264900 0.0000000 1.6328840 0.0004817365 0.004706492 0.6830917 -0.2166359 -0.8942999 -1.6944340 2.5508150 0.0000000 0.7435790 0.00012468 0.003736115 0.3206778 -0.2076958 0.3750141 2.5826800 0.4306461 0.0000000 0.1725920 2.340378E-05 -7.46805E-05 0.01651471 0.2699296 1.4967530 -0.5498758 -3.4500410 0.0000000 0.0774200 -1.348962E-05 9.575336E-05 0.0003124693 0.5842711 -0.5320390 -1.3945510 4.7403420 0.0000000 0.0337010 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 7 0 45066.6200000 0.0000110 -0.0000040 0.0000010 0.0000020 0.0000030 0.0000040 0.0000000 10662.6400000 0.0000960 -0.0000350 0.0000070 0.0000140 0.0000240 0.0000360 0.0000000 3463.4310000 0.0005640 -0.0002020 0.0000410 0.0000840 0.0001550 0.0001990 0.0000000 1326.6240000 0.0025700 -0.0009250 0.0001860 0.0003710 0.0006460 0.0009590 0.0000000 564.7414000 0.0096770 -0.0034990 0.0007120 0.0014600 0.0026890 0.0034630 0.0000000 258.8288000 0.0307420 -0.0112800 0.0022690 0.0045370 0.0078990 0.0117560 0.0000000 125.3115000 0.0820650 -0.0308190 0.0062910 0.0129220 0.0239120 0.0306900 0.0000000 63.2423300 0.1768450 -0.0690360 0.0139340 0.0277660 0.0480060 0.0730810 0.0000000 32.8240600 0.2911620 -0.1187330 0.0245310 0.0509560 0.0962130 0.1168270 0.0000000 17.3969200 0.3308160 -0.1424430 0.0287700 0.0567450 0.0975820 0.1911630 0.0000000 9.3243940 0.2088190 -0.0431070 0.0087810 0.0241190 0.0770220 0.1065430 0.0000000 4.9388390 0.0537390 0.2034990 -0.0517310 -0.1250870 -0.3601360 -0.9499240 0.0000000 2.5620250 0.0017090 0.4062280 -0.0959450 -0.2065410 -0.4455890 -0.5636050 0.0000000 1.2992940 -0.0017980 0.3709380 -0.1106750 -0.2149830 -0.1165380 1.9346110 0.0000000 0.6346780 -0.0010460 0.1643120 0.0027270 0.2078190 1.1705030 -0.5101770 0.0000000 0.2322620 -0.0000620 0.0172650 0.3150270 0.6385420 -0.0389310 -1.1722970 0.0000000 0.0915460 0.0000000 -0.0016820 0.5428100 0.3262840 -0.7688140 1.0158980 0.0000000 0.0356430 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 11 5 0 414.3427000 0.0003500 -0.0003620 -0.0005290 -0.0007870 0.0000000 124.3926000 0.0032000 -0.0033350 -0.0049280 -0.0067780 0.0000000 48.1154000 0.0164770 -0.0171760 -0.0253720 -0.0377260 0.0000000 20.8420000 0.0560010 -0.0592450 -0.0896540 -0.1291250 0.0000000 9.6221000 0.1392340 -0.1512320 -0.2387440 -0.4148090 0.0000000 4.6034000 0.2427760 -0.2544610 -0.3597210 -0.2839570 0.0000000 2.1963000 0.3040690 -0.2287180 0.0044440 0.8671940 0.0000000 1.0206000 0.2933190 0.0206160 0.5965470 0.2723270 0.0000000 0.4544000 0.2172590 0.3427530 0.3313020 -0.9868420 0.0000000 0.1900000 0.1046990 0.4738710 -0.5090090 0.1853600 0.0000000 0.0715000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 6.9134000 1.0000000 0.0000000 0.0000000 2.1260000 0.0000000 1.0000000 0.0000000 0.6538000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 5.3123000 1.0000000 0.0000000 1.5457000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 3.3495000 1.0000000 $ COPPER (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ COPPER (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 29 $ S-TYPE FUNCTIONS 22 8 0 16665490.0000000 1.92221E-06 -1.082642E-06 2.389605E-07 -4.823436E-08 -8.876635E-08 -1.849356E-07 -1.980951E-07 0.0000000 2495213.0000000 1.494655E-05 -8.420869E-06 1.860009E-06 -3.753858E-07 -7.032135E-07 -1.461905E-06 -1.446191E-06 0.0000000 567850.7000000 7.863106E-05 -4.428625E-05 9.77258E-06 -1.972743E-06 -3.601366E-06 -7.510534E-06 -8.326308E-06 0.0000000 160853.1000000 0.0003321189 -0.0001872071 4.137619E-05 -8.349961E-06 -1.576871E-05 -3.274989E-05 -3.11938E-05 0.0000000 52481.8600000 0.001209649 -0.0006819265 0.0001505588 -3.039535E-05 -5.499726E-05 -0.0001148239 -0.0001320842 0.0000000 18948.8500000 0.003936231 -0.002225485 0.0004932175 -9.95301E-05 -0.0001897055 -0.0003935903 -0.0003585362 0.0000000 7391.6550000 0.01166031 -0.00661962 0.001469467 -0.0002967188 -0.0005311656 -0.001110617 -0.001333996 0.0000000 3066.5170000 0.03149512 -0.0181140 0.004071487 -0.0008217293 -0.001584593 -0.003284174 -0.002824728 0.0000000 1337.9940000 0.07646385 -0.04506622 0.01030091 -0.002081377 -0.003671316 -0.007697235 -0.009806333 0.0000000 608.7830000 0.1595162 -0.09955443 0.02381408 -0.004811149 -0.009458893 -0.01959013 -0.01529323 0.0000000 286.8980000 0.2618983 -0.1830558 0.04707008 -0.009537683 -0.01630134 -0.03444712 -0.04956573 0.0000000 139.1530000 0.2816708 -0.2510577 0.0742445 -0.01507351 -0.03145402 -0.06507176 -0.03583468 0.0000000 68.4945500 0.1509587 -0.1703417 0.05657657 -0.01161088 -0.01444712 -0.03269416 -0.1044906 0.0000000 31.6010800 0.07041955 0.1900077 -0.09760862 0.02032716 0.02037856 0.04738915 0.2105854 0.0000000 15.9915800 0.1180039 0.5507048 -0.3856399 0.08327403 0.1997307 0.4333712 0.1646732 0.0000000 8.0565100 0.08015187 0.3642532 -0.3540312 0.07953125 0.09475926 0.3189521 1.1505130 0.0000000 3.6903290 0.01020122 0.04868977 0.2983959 -0.07901524 -0.07935398 -0.7281955 -3.4837320 0.0000000 1.7629020 -0.0003720464 -0.003799993 0.6861809 -0.2054312 -0.7591353 -1.6631160 2.5166360 0.0000000 0.8012690 -2.206886E-05 -0.0003156308 0.3150989 -0.1985134 0.2365079 2.5132670 0.4429064 0.0000000 0.1842430 -2.401085E-05 -0.0002430411 0.01394564 0.2627133 1.4226040 -0.3736861 -3.4043100 0.0000000 0.0817930 1.529816E-05 0.0001553645 -0.00361164 0.5794031 -0.3066203 -1.4791020 4.6278500 0.0000000 0.0353030 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 7 0 48218.4100000 0.0000110 -0.0000040 0.0000010 0.0000020 0.0000030 0.0000040 0.0000000 11420.5500000 0.0000970 -0.0000350 0.0000070 0.0000130 0.0000250 0.0000370 0.0000000 3713.5690000 0.0005690 -0.0002060 0.0000400 0.0000790 0.0001630 0.0001900 0.0000000 1423.7620000 0.0025890 -0.0009410 0.0001820 0.0003490 0.0006760 0.0009780 0.0000000 606.6041000 0.0097420 -0.0035560 0.0006970 0.0013730 0.0028080 0.0033080 0.0000000 278.2564000 0.0309300 -0.0114610 0.0022200 0.0042610 0.0082550 0.0119800 0.0000000 134.8449000 0.0825300 -0.0313090 0.0061630 0.0121460 0.0249460 0.0292070 0.0000000 68.1225400 0.1777580 -0.0701390 0.0136310 0.0260640 0.0501600 0.0751220 0.0000000 35.4008800 0.2922250 -0.1205620 0.0240330 0.0479070 0.1002890 0.1078350 0.0000000 18.7902900 0.3303490 -0.1435520 0.0278620 0.0528290 0.1023190 0.2073790 0.0000000 10.0835600 0.2068630 -0.0403270 0.0079750 0.0215750 0.0772410 0.0604060 0.0000000 5.3461200 0.0527930 0.2084660 -0.0511330 -0.1177830 -0.3844490 -0.8949770 0.0000000 2.7752280 0.0017180 0.4087240 -0.0923050 -0.1883970 -0.4513540 -0.5584020 0.0000000 1.4075640 -0.0017010 0.3682010 -0.1064580 -0.2019160 -0.0947780 1.8997060 0.0000000 0.6872130 -0.0009760 0.1596530 0.0037380 0.1737430 1.1731180 -0.5022240 0.0000000 0.2468220 -0.0000540 0.0159550 0.3105410 0.6368480 -0.0541330 -1.1824130 0.0000000 0.0962200 0.0000000 -0.0016810 0.5419030 0.3515180 -0.7282440 1.0445070 0.0000000 0.0370370 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 11 5 0 527.8860000 0.0002560 -0.0003160 0.0003790 -0.0005930 0.0000000 158.7330000 0.0023780 -0.0029580 0.0035730 -0.0051060 0.0000000 61.5556000 0.0127220 -0.0158770 0.0192290 -0.0299220 0.0000000 26.8834000 0.0450120 -0.0568640 0.0699030 -0.1032930 0.0000000 12.5175000 0.1171960 -0.1535840 0.1993800 -0.3595680 0.0000000 6.0697700 0.2185550 -0.2811390 0.3488480 -0.4128070 0.0000000 2.9583190 0.2914480 -0.2685180 0.0513940 0.7476890 0.0000000 1.4141220 0.2971380 0.0231300 -0.5596790 0.5425150 0.0000000 0.6533290 0.2360920 0.3566200 -0.3845810 -0.9777060 0.0000000 0.2866920 0.1314440 0.4184700 0.4389250 -0.0886030 0.0000000 0.1150140 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 7.7344000 1.0000000 0.0000000 0.0000000 2.3909000 0.0000000 1.0000000 0.0000000 0.7391000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 6.0075000 1.0000000 0.0000000 1.7760000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 3.7909000 1.0000000 $ ZINC (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] $ ZINC (22s,18p,11d,3f,2g,1h) -> [8s,7p,5d,3f,2g,1h] a 30 $ S-TYPE FUNCTIONS 22 8 0 0.1785293E+08 2.106603E-06 -6.503871E-07 2.455424E-07 4.916948E-08 -1.379282E-07 -1.951222E-07 -2.631275E-07 0.0000000 2673038.0000000 1.638051E-05 -5.059606E-06 1.911263E-06 3.829348E-07 -1.098688E-06 -1.513488E-06 -1.954514E-06 0.0000000 608324.4000000 8.617178E-05 -2.660362E-05 1.004137E-05 2.010287E-06 -5.581627E-06 -7.991991E-06 -1.098059E-05 0.0000000 172317.6000000 0.0003640028 -0.0001125168 4.25171E-05 8.520784E-06 -2.469757E-05 -3.361493E-05 -4.252529E-05 0.0000000 56222.6900000 0.001325778 -0.0004098844 0.0001546957 3.096268E-05 -8.4997E-05 -0.0001233416 -0.0001728905 0.0000000 20299.8500000 0.004315394 -0.001340085 0.0005068054 0.000101604 -0.000297955 -0.0004000292 -0.0004940605 0.0000000 7918.8710000 0.01278917 -0.003996271 0.001509742 0.0003021322 -0.0008180999 -0.001206705 -0.001731281 0.0000000 3285.3400000 0.03459541 -0.01102397 0.004183744 0.0008393851 -0.002498043 -0.003298144 -0.003952778 0.0000000 1433.5240000 0.08423468 -0.02783658 0.01058425 0.00211904 -0.005630866 -0.008503531 -0.01260194 0.0000000 652.2889000 0.1769497 -0.0635220 0.02447935 0.004923291 -0.01501607 -0.01932075 -0.02205362 0.0000000 307.4360000 0.2947718 -0.1235647 0.04837945 0.009713665 -0.02479935 -0.0395118 -0.06268701 0.0000000 149.1466000 0.3286054 -0.1860330 0.07630985 0.01549413 -0.05092472 -0.06074193 -0.05878225 0.0000000 73.4510800 0.1837326 -0.1345412 0.05798021 0.0117057 -0.01923797 -0.05154698 -0.1200370 0.0000000 33.9256200 0.0284564 0.2026370 -0.1010517 -0.02068558 0.0248084 0.0906352 0.2236128 0.0000000 17.1894700 -0.001562471 0.5627948 -0.3950702 -0.08652477 0.3402582 0.3930253 0.4980742 0.0000000 8.6665950 0.001057694 0.3687315 -0.3534286 -0.07840824 0.1317501 0.5283548 1.1915800 0.0000000 3.9725050 -0.0004832147 0.05055865 0.3070109 0.07950591 -0.2092734 -1.4626110 -5.6490630 0.0000000 1.8946650 0.0001795943 -0.00028561 0.6935144 0.2182560 -1.2899700 -0.8366769 6.8434890 0.0000000 0.8593850 -7.198366E-05 0.001213965 0.3040583 0.1957366 0.9898685 2.6151680 -3.3201000 0.0000000 0.1952560 2.200105E-05 -0.0001706895 0.01003318 -0.3195337 1.4779600 -2.2413220 -0.2249601 0.0000000 0.0858540 -1.56551E-05 0.0001266229 -0.004007622 -0.5833695 -1.2347640 0.7597394 1.9021540 0.0000000 0.0367810 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 18 7 0 52867.9300000 0.0000110 -0.0000040 0.0000010 0.0000010 0.0000030 -0.0000030 0.0000000 12511.7900000 0.0000940 -0.0000350 0.0000060 0.0000110 0.0000240 -0.0000360 0.0000000 4065.2860000 0.0005510 -0.0002060 0.0000380 0.0000670 0.0001590 -0.0001740 0.0000000 1557.5950000 0.0025110 -0.0009420 0.0001730 0.0002960 0.0006460 -0.0009530 0.0000000 663.2892000 0.0094700 -0.0035700 0.0006640 0.0011570 0.0027470 -0.0030470 0.0000000 304.1561000 0.0301690 -0.0115400 0.0021200 0.0036340 0.0079380 -0.0117360 0.0000000 147.3680000 0.0808550 -0.0316520 0.0059160 0.0103070 0.0246010 -0.0270160 0.0000000 74.4546900 0.1751390 -0.0712850 0.0131530 0.0224820 0.0485760 -0.0747980 0.0000000 38.7149300 0.2897160 -0.1232840 0.0233720 0.0410330 0.1006820 -0.0982370 0.0000000 20.5702200 0.3298490 -0.1476380 0.0272210 0.0464600 0.0984680 -0.2150840 0.0000000 11.0542500 0.2092940 -0.0444770 0.0083340 0.0181460 0.0862350 -0.0322140 0.0000000 5.8746610 0.0562590 0.2053650 -0.0488600 -0.0943640 -0.3793800 0.7563080 0.0000000 3.0529360 0.0050520 0.4100860 -0.0888940 -0.1601770 -0.4203930 0.7019320 0.0000000 1.5472250 0.0009970 0.3721450 -0.1036180 -0.1808950 -0.1825620 -1.8141870 0.0000000 0.7541510 0.0001870 0.1581180 0.0010510 0.0948260 1.1778870 0.2914540 0.0000000 0.2653490 0.0000510 0.0145400 0.3030640 0.6291530 0.0519740 1.2956230 0.0000000 0.1020670 -0.0000130 -0.0016080 0.5427240 0.4083180 -0.7444770 -1.0670890 0.0000000 0.0387550 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 11 5 0 639.7806000 0.0002080 -0.0002900 -0.0003170 0.0004520 0.0000000 192.6742000 0.0019540 -0.0027380 -0.0030560 0.0038790 0.0000000 74.8436800 0.0107110 -0.0151110 -0.0167530 0.0235700 0.0000000 32.8604800 0.0390570 -0.0556430 -0.0627120 0.0825260 0.0000000 15.3935300 0.1048480 -0.1558640 -0.1879800 0.2972800 0.0000000 7.5255120 0.2045690 -0.3034890 -0.3720840 0.4368320 0.0000000 3.7154290 0.2852080 -0.3062760 -0.0234390 -0.6042900 0.0000000 1.8064590 0.3014460 0.0333950 0.6054700 -0.6746050 0.0000000 0.8529730 0.2462280 0.4000750 0.3230630 0.9387020 0.0000000 0.3847800 0.1390160 0.3899720 -0.4713720 0.2779680 0.0000000 0.1593370 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 3 0 8.6960000 1.0000000 0.0000000 0.0000000 2.7236000 0.0000000 1.0000000 0.0000000 0.8530000 0.0000000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 2 2 0 6.8933000 1.0000000 0.0000000 2.0693000 0.0000000 1.0000000 $ H-TYPE FUNCTIONS 1 1 0 4.4136000 1.0000000 $ GALLIUM (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ GALLIUM (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] a 31 $ S-TYPE FUNCTIONS 21 7 0 11274496.0000000 0.0000041 -0.0000013 0.0000005 -0.0000001 0.0000000 0.0000000 0.0000000 1688053.4000000 0.0000316 -0.0000098 0.0000037 -0.0000009 0.0000000 0.0000000 0.0000000 384140.8300000 0.0001662 -0.0000515 0.0000197 -0.0000046 0.0000000 0.0000000 0.0000000 108807.0300000 0.0007017 -0.0002176 0.0000830 -0.0000193 0.0000000 0.0000000 0.0000000 35497.6910000 0.0025508 -0.0007932 0.0003029 -0.0000705 0.0000000 0.0000000 0.0000000 12815.1040000 0.0082653 -0.0025821 0.0009850 -0.0002290 0.0000000 0.0000000 0.0000000 4998.1087000 0.0241950 -0.0076652 0.0029341 -0.0006835 0.0000000 0.0000000 0.0000000 2072.8848000 0.0636572 -0.0207567 0.0079572 -0.0018505 0.0000000 0.0000000 0.0000000 903.7458200 0.1457651 -0.0507758 0.0196761 -0.0045930 0.0000000 0.0000000 0.0000000 410.4430700 0.2703313 -0.1073802 0.0421783 -0.0098343 0.0000000 0.0000000 0.0000000 192.6063600 0.3491571 -0.1806520 0.0738645 -0.0173849 0.0000000 0.0000000 0.0000000 92.0496780 0.2374433 -0.1736701 0.0747531 -0.0175752 0.0000000 0.0000000 0.0000000 42.0478110 0.0480833 0.1108251 -0.0534108 0.0125254 0.0000000 0.0000000 0.0000000 21.0692170 -0.0022966 0.5418366 -0.3573919 0.0903400 0.0000000 0.0000000 0.0000000 10.4479150 0.0017904 0.4467899 -0.4250713 0.1104721 0.0000000 0.0000000 0.0000000 4.7776580 -0.0008276 0.0762105 0.2010992 -0.0612119 0.0000000 0.0000000 0.0000000 2.2825660 0.0003543 -0.0009371 0.7145966 -0.2561768 0.0000000 0.0000000 0.0000000 1.0353030 -0.0001411 0.0017806 0.3688149 -0.2603772 0.0000000 0.0000000 0.0000000 0.2576740 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1191790 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0512940 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 22059.7710000 0.0000547 -0.0000207 0.0000034 0.0000000 0.0000000 0.0000000 5222.3129000 0.0004865 -0.0001846 0.0000300 0.0000000 0.0000000 0.0000000 1696.0601000 0.0027990 -0.0010640 0.0001750 0.0000000 0.0000000 0.0000000 648.7657300 0.0122396 -0.0046946 0.0007642 0.0000000 0.0000000 0.0000000 275.1026700 0.0427476 -0.0166486 0.0027458 0.0000000 0.0000000 0.0000000 125.3463400 0.1187187 -0.0478114 0.0078140 0.0000000 0.0000000 0.0000000 60.0543340 0.2485828 -0.1045303 0.0174215 0.0000000 0.0000000 0.0000000 29.7237680 0.3601622 -0.1612965 0.0264852 0.0000000 0.0000000 0.0000000 15.0397810 0.2950171 -0.1143170 0.0193950 0.0000000 0.0000000 0.0000000 7.5722730 0.0984794 0.1459056 -0.0313129 0.0000000 0.0000000 0.0000000 3.7386760 0.0087671 0.4271989 -0.0801634 0.0000000 0.0000000 0.0000000 1.7967880 0.0013961 0.4240415 -0.1001729 0.0000000 0.0000000 0.0000000 0.8299100 0.0000770 0.1599440 -0.0105878 0.0000000 0.0000000 0.0000000 0.2728740 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1015400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0376580 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 4 0 766.4369600 0.0001745 0.0000000 0.0000000 0.0000000 231.0042500 0.0016577 0.0000000 0.0000000 0.0000000 89.7812380 0.0092899 0.0000000 0.0000000 0.0000000 39.5466810 0.0348905 0.0000000 0.0000000 0.0000000 18.6075830 0.0963453 0.0000000 0.0000000 0.0000000 9.1512870 0.1955703 0.0000000 0.0000000 0.0000000 4.5650050 0.2835942 0.0000000 0.0000000 0.0000000 2.2530660 0.3082515 0.0000000 0.0000000 0.0000000 1.0867230 0.2519620 0.0000000 0.0000000 0.0000000 0.5033040 0.0000000 1.0000000 0.0000000 0.0000000 0.2122830 0.0000000 0.0000000 1.0000000 0.0000000 0.0828000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.1810000 1.0000000 0.0000000 0.4710000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.4032000 1.0000000 $ GERMANIUM (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ GERMANIUM (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] a 32 $ S-TYPE FUNCTIONS 21 7 0 12360507.0000000 0.0000039 -0.0000012 0.0000005 -0.0000001 0.0000000 0.0000000 0.0000000 1850697.8000000 0.0000305 -0.0000095 0.0000037 -0.0000009 0.0000000 0.0000000 0.0000000 421131.4200000 0.0001605 -0.0000499 0.0000192 -0.0000049 0.0000000 0.0000000 0.0000000 119278.2600000 0.0006776 -0.0002109 0.0000813 -0.0000208 0.0000000 0.0000000 0.0000000 38912.2770000 0.0024637 -0.0007686 0.0002965 -0.0000761 0.0000000 0.0000000 0.0000000 14048.6820000 0.0079835 -0.0025025 0.0009648 -0.0002472 0.0000000 0.0000000 0.0000000 5480.6992000 0.0233774 -0.0074259 0.0028715 -0.0007373 0.0000000 0.0000000 0.0000000 2274.2055000 0.0615742 -0.0201249 0.0077973 -0.0019981 0.0000000 0.0000000 0.0000000 992.2412900 0.1415076 -0.0492986 0.0192922 -0.0049640 0.0000000 0.0000000 0.0000000 450.9996600 0.2646942 -0.1048683 0.0416200 -0.0106930 0.0000000 0.0000000 0.0000000 211.8202400 0.3483257 -0.1783275 0.0735368 -0.0190843 0.0000000 0.0000000 0.0000000 101.4110200 0.2454196 -0.1789581 0.0778320 -0.0201643 0.0000000 0.0000000 0.0000000 46.9140900 0.0535646 0.0873842 -0.0423582 0.0108362 0.0000000 0.0000000 0.0000000 23.5089500 -0.0018380 0.5270920 -0.3447537 0.0962110 0.0000000 0.0000000 0.0000000 11.6813110 0.0018049 0.4679551 -0.4456713 0.1279979 0.0000000 0.0000000 0.0000000 5.4345260 -0.0008476 0.0892206 0.1511544 -0.0506065 0.0000000 0.0000000 0.0000000 2.6088080 0.0003668 -0.0003423 0.7174295 -0.2852917 0.0000000 0.0000000 0.0000000 1.1984420 -0.0001542 0.0019144 0.4035634 -0.3065359 0.0000000 0.0000000 0.0000000 0.3298080 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1554330 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0669130 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 24017.4660000 0.0000531 -0.0000204 0.0000040 0.0000000 0.0000000 0.0000000 5685.7175000 0.0004720 -0.0001818 0.0000357 0.0000000 0.0000000 0.0000000 1846.4859000 0.0027187 -0.0010491 0.0002080 0.0000000 0.0000000 0.0000000 706.2498100 0.0119145 -0.0046392 0.0009121 0.0000000 0.0000000 0.0000000 299.4561000 0.0417625 -0.0165090 0.0032823 0.0000000 0.0000000 0.0000000 136.4390400 0.1165894 -0.0476609 0.0094139 0.0000000 0.0000000 0.0000000 65.3901550 0.2458338 -0.1049678 0.0210917 0.0000000 0.0000000 0.0000000 32.3937350 0.3591261 -0.1633745 0.0325000 0.0000000 0.0000000 0.0000000 16.4156160 0.2977929 -0.1180998 0.0239972 0.0000000 0.0000000 0.0000000 8.2877870 0.1017708 0.1420178 -0.0371186 0.0000000 0.0000000 0.0000000 4.1126340 0.0094072 0.4274324 -0.0988130 0.0000000 0.0000000 0.0000000 1.9988540 0.0014350 0.4256167 -0.1235659 0.0000000 0.0000000 0.0000000 0.9442910 0.0000354 0.1582034 -0.0110133 0.0000000 0.0000000 0.0000000 0.3412110 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1343500 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0517350 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 4 0 864.6741100 0.0001645 0.0000000 0.0000000 0.0000000 261.0376300 0.0015654 0.0000000 0.0000000 0.0000000 101.7703000 0.0087954 0.0000000 0.0000000 0.0000000 45.1166410 0.0331852 0.0000000 0.0000000 0.0000000 21.4306860 0.0919537 0.0000000 0.0000000 0.0000000 10.6598610 0.1892017 0.0000000 0.0000000 0.0000000 5.3922870 0.2805892 0.0000000 0.0000000 0.0000000 2.7044970 0.3117474 0.0000000 0.0000000 0.0000000 1.3285440 0.2554197 0.0000000 0.0000000 0.0000000 0.6264520 0.0000000 1.0000000 0.0000000 0.0000000 0.2660130 0.0000000 0.0000000 1.0000000 0.0000000 0.1063000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.5492000 1.0000000 0.0000000 0.2190000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.4681000 1.0000000 $ ARSENIC (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ ARSENIC (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] a 33 $ S-TYPE FUNCTIONS 21 7 0 13600341.0000000 0.0000038 -0.0000012 0.0000005 -0.0000001 0.0000000 0.0000000 0.0000000 2036507.3000000 0.0000292 -0.0000091 0.0000036 -0.0000010 0.0000000 0.0000000 0.0000000 463432.7800000 0.0001538 -0.0000480 0.0000187 -0.0000052 0.0000000 0.0000000 0.0000000 131259.9400000 0.0006496 -0.0002028 0.0000790 -0.0000217 0.0000000 0.0000000 0.0000000 42819.1920000 0.0023625 -0.0007392 0.0002881 -0.0000794 0.0000000 0.0000000 0.0000000 15457.0190000 0.0076609 -0.0024089 0.0009386 -0.0002583 0.0000000 0.0000000 0.0000000 6028.4583000 0.0224672 -0.0071538 0.0027946 -0.0007709 0.0000000 0.0000000 0.0000000 2500.5599000 0.0593425 -0.0194333 0.0076098 -0.0020946 0.0000000 0.0000000 0.0000000 1090.6149000 0.1371015 -0.0477471 0.0188699 -0.0052164 0.0000000 0.0000000 0.0000000 495.6215400 0.2589472 -0.1022639 0.0410063 -0.0113163 0.0000000 0.0000000 0.0000000 232.8166900 0.3472847 -0.1758326 0.0731275 -0.0203935 0.0000000 0.0000000 0.0000000 111.6311800 0.2534247 -0.1837494 0.0807194 -0.0224664 0.0000000 0.0000000 0.0000000 52.2699500 0.0596266 0.0648276 -0.0316300 0.0085590 0.0000000 0.0000000 0.0000000 26.1498780 -0.0011861 0.5109281 -0.3317376 0.0995692 0.0000000 0.0000000 0.0000000 13.0187570 0.0017791 0.4873143 -0.4638221 0.1434501 0.0000000 0.0000000 0.0000000 6.1554320 -0.0008455 0.1033636 0.1036990 -0.0371901 0.0000000 0.0000000 0.0000000 2.9591270 0.0003660 0.0006355 0.7182986 -0.3085368 0.0000000 0.0000000 0.0000000 1.3738740 -0.0001622 0.0019766 0.4353305 -0.3478649 0.0000000 0.0000000 0.0000000 0.4088500 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1945110 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0836410 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 25570.4180000 0.0000533 -0.0000208 0.0000046 0.0000000 0.0000000 0.0000000 6052.9237000 0.0004744 -0.0001855 0.0000412 0.0000000 0.0000000 0.0000000 1965.7002000 0.0027330 -0.0010704 0.0002393 0.0000000 0.0000000 0.0000000 751.7722900 0.0119871 -0.0047392 0.0010531 0.0000000 0.0000000 0.0000000 318.6814000 0.0420766 -0.0168885 0.0037863 0.0000000 0.0000000 0.0000000 145.1474900 0.1175891 -0.0488445 0.0109101 0.0000000 0.0000000 0.0000000 69.5411620 0.2478747 -0.1075989 0.0243853 0.0000000 0.0000000 0.0000000 34.4513760 0.3605148 -0.1669376 0.0376482 0.0000000 0.0000000 0.0000000 17.4606100 0.2955921 -0.1169214 0.0265137 0.0000000 0.0000000 0.0000000 8.8086090 0.0992163 0.1514505 -0.0445464 0.0000000 0.0000000 0.0000000 4.3786460 0.0087866 0.4371731 -0.1167681 0.0000000 0.0000000 0.0000000 2.1444050 0.0014462 0.4197078 -0.1409441 0.0000000 0.0000000 0.0000000 1.0293500 -0.0000447 0.1437636 -0.0012121 0.0000000 0.0000000 0.0000000 0.4046360 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1656220 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0656100 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 4 0 996.9796000 0.0001462 0.0000000 0.0000000 0.0000000 300.9851800 0.0014034 0.0000000 0.0000000 0.0000000 117.2347300 0.0080195 0.0000000 0.0000000 0.0000000 51.9569040 0.0310048 0.0000000 0.0000000 0.0000000 24.6894400 0.0878478 0.0000000 0.0000000 0.0000000 12.2951710 0.1852250 0.0000000 0.0000000 0.0000000 6.2446520 0.2808251 0.0000000 0.0000000 0.0000000 3.1554600 0.3163198 0.0000000 0.0000000 0.0000000 1.5680490 0.2571192 0.0000000 0.0000000 0.0000000 0.7486470 0.0000000 1.0000000 0.0000000 0.0000000 0.3191250 0.0000000 0.0000000 1.0000000 0.0000000 0.1300000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.2640000 1.0000000 0.0000000 0.6440000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.5465000 1.0000000 $ SELENIUM (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ SELENIUM (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] a 34 $ S-TYPE FUNCTIONS 21 7 0 15011000.0000000 0.0000036 -0.0000011 0.0000004 -0.0000001 0.0000000 0.0000000 0.0000000 2247500.0000000 0.0000279 -0.0000087 0.0000034 -0.0000010 0.0000000 0.0000000 0.0000000 511450.0000000 0.0001466 -0.0000459 0.0000181 -0.0000053 0.0000000 0.0000000 0.0000000 144870.0000000 0.0006190 -0.0001939 0.0000763 -0.0000223 0.0000000 0.0000000 0.0000000 47261.0000000 0.0022514 -0.0007064 0.0002781 -0.0000814 0.0000000 0.0000000 0.0000000 17062.0000000 0.0073030 -0.0023030 0.0009068 -0.0002649 0.0000000 0.0000000 0.0000000 6654.5000000 0.0214442 -0.0068425 0.0026999 -0.0007906 0.0000000 0.0000000 0.0000000 2759.8000000 0.0568122 -0.0186335 0.0073726 -0.0021539 0.0000000 0.0000000 0.0000000 1203.2000000 0.1320807 -0.0459512 0.0183360 -0.0053812 0.0000000 0.0000000 0.0000000 546.5300000 0.2523469 -0.0992193 0.0401812 -0.0117694 0.0000000 0.0000000 0.0000000 256.6300000 0.3459296 -0.1728813 0.0724864 -0.0214629 0.0000000 0.0000000 0.0000000 123.1400000 0.2623890 -0.1884973 0.0835626 -0.0246904 0.0000000 0.0000000 0.0000000 58.2630000 0.0667938 0.0422610 -0.0207592 0.0057774 0.0000000 0.0000000 0.0000000 29.0230000 -0.0003332 0.4936791 -0.3183535 0.1015209 0.0000000 0.0000000 0.0000000 14.4650000 0.0017275 0.5052818 -0.4798333 0.1578570 0.0000000 0.0000000 0.0000000 6.9348000 -0.0008299 0.1184150 0.0592819 -0.0224219 0.0000000 0.0000000 0.0000000 3.3299000 0.0003578 0.0019567 0.7174116 -0.3290776 0.0000000 0.0000000 0.0000000 1.5600000 -0.0001666 0.0019648 0.4638636 -0.3873443 0.0000000 0.0000000 0.0000000 0.4929100 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2352500 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1003700 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 25217.0000000 0.0000610 -0.0000241 0.0000058 0.0000000 0.0000000 0.0000000 5969.9000000 0.0005424 -0.0002152 0.0000520 0.0000000 0.0000000 0.0000000 1938.9000000 0.0031174 -0.0012386 0.0002998 0.0000000 0.0000000 0.0000000 741.6600000 0.0135977 -0.0054607 0.0013201 0.0000000 0.0000000 0.0000000 314.5000000 0.0472788 -0.0192936 0.0046857 0.0000000 0.0000000 0.0000000 143.3100000 0.1297856 -0.0549715 0.0133737 0.0000000 0.0000000 0.0000000 68.6500000 0.2657383 -0.1177952 0.0289245 0.0000000 0.0000000 0.0000000 33.9950000 0.3673544 -0.1740782 0.0429454 0.0000000 0.0000000 0.0000000 17.1850000 0.2747805 -0.0955798 0.0223272 0.0000000 0.0000000 0.0000000 8.5740000 0.0791679 0.2059714 -0.0636031 0.0000000 0.0000000 0.0000000 4.2206000 0.0051349 0.4735431 -0.1436147 0.0000000 0.0000000 0.0000000 2.0521000 0.0013319 0.3831922 -0.1447293 0.0000000 0.0000000 0.0000000 0.9615600 -0.0002033 0.0920872 0.0630380 0.0000000 0.0000000 0.0000000 0.4215100 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1762600 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0706630 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 4 0 1143.4000000 0.0001301 0.0000000 0.0000000 0.0000000 345.3300000 0.0012573 0.0000000 0.0000000 0.0000000 134.4600000 0.0072882 0.0000000 0.0000000 0.0000000 59.5670000 0.0288647 0.0000000 0.0000000 0.0000000 28.2830000 0.0838987 0.0000000 0.0000000 0.0000000 14.0610000 0.1819771 0.0000000 0.0000000 0.0000000 7.1390000 0.2826057 0.0000000 0.0000000 0.0000000 3.6148000 0.3220453 0.0000000 0.0000000 0.0000000 1.8072000 0.2581633 0.0000000 0.0000000 0.0000000 0.8694400 0.0000000 1.0000000 0.0000000 0.0000000 0.3703600 0.0000000 0.0000000 1.0000000 0.0000000 0.1530000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.2840000 1.0000000 0.0000000 0.7097000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.5730000 1.0000000 $ BROMINE (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ BROMINE (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] a 35 $ S-TYPE FUNCTIONS 21 7 0 16475000.0000000 0.0000034 -0.0000011 0.0000004 -0.0000001 0.0000000 0.0000000 0.0000000 2466600.0000000 0.0000267 -0.0000084 0.0000033 -0.0000010 0.0000000 0.0000000 0.0000000 561310.0000000 0.0001404 -0.0000441 0.0000175 -0.0000054 0.0000000 0.0000000 0.0000000 158990.0000000 0.0005927 -0.0001862 0.0000740 -0.0000227 0.0000000 0.0000000 0.0000000 51869.0000000 0.0021561 -0.0006783 0.0002697 -0.0000827 0.0000000 0.0000000 0.0000000 18726.0000000 0.0069959 -0.0022122 0.0008799 -0.0002694 0.0000000 0.0000000 0.0000000 7303.6000000 0.0205645 -0.0065752 0.0026198 -0.0008042 0.0000000 0.0000000 0.0000000 3029.1000000 0.0545893 -0.0179328 0.0071671 -0.0021949 0.0000000 0.0000000 0.0000000 1320.8000000 0.1275226 -0.0443321 0.0178561 -0.0054939 0.0000000 0.0000000 0.0000000 600.0300000 0.2459780 -0.0963478 0.0393960 -0.0120960 0.0000000 0.0000000 0.0000000 281.9000000 0.3436508 -0.1696814 0.0717102 -0.0222623 0.0000000 0.0000000 0.0000000 135.5400000 0.2702530 -0.1920769 0.0858877 -0.0266063 0.0000000 0.0000000 0.0000000 64.8700000 0.0744795 0.0208731 -0.0103861 0.0027580 0.0000000 0.0000000 0.0000000 32.1290000 0.0008787 0.4744996 -0.3040135 0.1016803 0.0000000 0.0000000 0.0000000 16.0370000 0.0015755 0.5214907 -0.4933178 0.1704132 0.0000000 0.0000000 0.0000000 7.7849000 -0.0007602 0.1348001 0.0160890 -0.0062220 0.0000000 0.0000000 0.0000000 3.7247000 0.0003211 0.0036614 0.7146686 -0.3452570 0.0000000 0.0000000 0.0000000 1.7583000 -0.0001586 0.0018840 0.4904795 -0.4234840 0.0000000 0.0000000 0.0000000 0.5833100 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2785600 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1182900 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 26607.0000000 0.0000619 -0.0000248 0.0000064 0.0000000 0.0000000 0.0000000 6298.2000000 0.0005499 -0.0002212 0.0000572 0.0000000 0.0000000 0.0000000 2045.2000000 0.0031620 -0.0012736 0.0003297 0.0000000 0.0000000 0.0000000 782.1600000 0.0137979 -0.0056179 0.0014562 0.0000000 0.0000000 0.0000000 331.6300000 0.0479812 -0.0198600 0.0051591 0.0000000 0.0000000 0.0000000 151.1100000 0.1315710 -0.0565531 0.0147617 0.0000000 0.0000000 0.0000000 72.3920000 0.2685861 -0.1209479 0.0317694 0.0000000 0.0000000 0.0000000 35.8620000 0.3683473 -0.1773098 0.0470680 0.0000000 0.0000000 0.0000000 18.1340000 0.2711363 -0.0921472 0.0223871 0.0000000 0.0000000 0.0000000 9.0430000 0.0762222 0.2187683 -0.0720254 0.0000000 0.0000000 0.0000000 4.4500000 0.0046749 0.4854670 -0.1626429 0.0000000 0.0000000 0.0000000 2.1661000 0.0012565 0.3721970 -0.1496503 0.0000000 0.0000000 0.0000000 0.9962800 -0.0002357 0.0776907 0.1064517 0.0000000 0.0000000 0.0000000 0.4544300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.1940400 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0789970 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 4 0 1289.6000000 0.0001190 0.0000000 0.0000000 0.0000000 389.7500000 0.0011551 0.0000000 0.0000000 0.0000000 151.7600000 0.0067648 0.0000000 0.0000000 0.0000000 67.2230000 0.0273017 0.0000000 0.0000000 0.0000000 31.9130000 0.0809298 0.0000000 0.0000000 0.0000000 15.8570000 0.1794011 0.0000000 0.0000000 0.0000000 8.0545000 0.2840086 0.0000000 0.0000000 0.0000000 4.0887000 0.3266797 0.0000000 0.0000000 0.0000000 2.0556000 0.2584900 0.0000000 0.0000000 0.0000000 0.9950900 0.0000000 1.0000000 0.0000000 0.0000000 0.4231300 0.0000000 0.0000000 1.0000000 0.0000000 0.1779000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.3407000 1.0000000 0.0000000 0.8257000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.6491000 1.0000000 $ KRYPTON (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] $ KRYPTON (21s,16p,12d,2f,1g) -> [7s,6p,4d,2f,1g] a 36 $ S-TYPE FUNCTIONS 21 7 0 18226108.0000000 0.0000032 -0.0000010 0.0000004 -0.0000001 0.0000000 0.0000000 0.0000000 2728802.5000000 0.0000252 -0.0000079 0.0000032 -0.0000010 0.0000000 0.0000000 0.0000000 620997.7100000 0.0001328 -0.0000418 0.0000168 -0.0000053 0.0000000 0.0000000 0.0000000 175899.5800000 0.0005607 -0.0001766 0.0000709 -0.0000226 0.0000000 0.0000000 0.0000000 57387.4970000 0.0020401 -0.0006434 0.0002582 -0.0000823 0.0000000 0.0000000 0.0000000 20717.1810000 0.0066235 -0.0020999 0.0008433 -0.0002684 0.0000000 0.0000000 0.0000000 8078.8899000 0.0194996 -0.0062453 0.0025115 -0.0008014 0.0000000 0.0000000 0.0000000 3349.5170000 0.0519364 -0.0170804 0.0068921 -0.0021937 0.0000000 0.0000000 0.0000000 1459.7812000 0.1221166 -0.0423815 0.0172220 -0.0055074 0.0000000 0.0000000 0.0000000 662.8939100 0.2383653 -0.0928679 0.0383159 -0.0122266 0.0000000 0.0000000 0.0000000 311.3921500 0.3407051 -0.1657390 0.0705438 -0.0227617 0.0000000 0.0000000 0.0000000 149.9375100 0.2792855 -0.1955088 0.0880717 -0.0283606 0.0000000 0.0000000 0.0000000 72.4982490 0.0840992 -0.0016409 0.0006328 -0.0007565 0.0000000 0.0000000 0.0000000 35.5693540 0.0025042 0.4530071 -0.2881065 0.1001365 0.0000000 0.0000000 0.0000000 17.7666330 0.0013574 0.5370751 -0.5049797 0.1815332 0.0000000 0.0000000 0.0000000 8.7123830 -0.0006591 0.1528971 -0.0267773 0.0111867 0.0000000 0.0000000 0.0000000 4.1449710 0.0002701 0.0057411 0.7098718 -0.3575843 0.0000000 0.0000000 0.0000000 1.9696490 -0.0001436 0.0017414 0.5158020 -0.4572305 0.0000000 0.0000000 0.0000000 0.6799520 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.3245020 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.1374410 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 16 6 0 28600.8310000 0.0000605 -0.0000246 0.0000067 0.0000000 0.0000000 0.0000000 6770.9912000 0.0005378 -0.0002192 0.0000596 0.0000000 0.0000000 0.0000000 2199.0489000 0.0030934 -0.0012628 0.0003432 0.0000000 0.0000000 0.0000000 841.1795700 0.0135150 -0.0055756 0.0015190 0.0000000 0.0000000 0.0000000 356.7663300 0.0470959 -0.0197546 0.0053881 0.0000000 0.0000000 0.0000000 162.6362000 0.1296200 -0.0564488 0.0154935 0.0000000 0.0000000 0.0000000 77.9660350 0.2661108 -0.1214923 0.0335176 0.0000000 0.0000000 0.0000000 38.6614890 0.3678058 -0.1794907 0.0501911 0.0000000 0.0000000 0.0000000 19.5767910 0.2740372 -0.0962314 0.0244550 0.0000000 0.0000000 0.0000000 9.7917610 0.0787113 0.2163190 -0.0752953 0.0000000 0.0000000 0.0000000 4.8353830 0.0049842 0.4899721 -0.1760534 0.0000000 0.0000000 0.0000000 2.3681250 0.0012267 0.3726758 -0.1570724 0.0000000 0.0000000 0.0000000 1.0899960 -0.0002448 0.0750088 0.1304579 0.0000000 0.0000000 0.0000000 0.5045880 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.2184550 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0899590 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 12 4 0 1437.7792000 0.0001108 0.0000000 0.0000000 0.0000000 434.2684600 0.0010828 0.0000000 0.0000000 0.0000000 168.9269900 0.0064065 0.0000000 0.0000000 0.0000000 74.7775350 0.0262379 0.0000000 0.0000000 0.0000000 35.5160240 0.0788235 0.0000000 0.0000000 0.0000000 17.6710510 0.1770677 0.0000000 0.0000000 0.0000000 9.0046110 0.2839622 0.0000000 0.0000000 0.0000000 4.5947730 0.3294702 0.0000000 0.0000000 0.0000000 2.3264860 0.2589001 0.0000000 0.0000000 0.0000000 1.1332470 0.0000000 1.0000000 0.0000000 0.0000000 0.4813070 0.0000000 0.0000000 1.0000000 0.0000000 0.2053000 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 2 2 0 0.4130000 1.0000000 0.0000000 0.9557000 0.0000000 1.0000000 $ G-TYPE FUNCTIONS 1 1 0 0.7395000 1.0000000 ergo-3.5/basis/aug-cc-pVDZ0000775000175000017500000046046612743400275012273 00000000000000$ aug-cc-pVDZ EMSL Basis Set Exchange Library 11/10/15 12:40 AM $ Elements References $ -------- ---------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $ Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $ Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $ Sc - Zn: N.B. Balabanov and K.A. Peterson, J. Chem. Phys. 123, 064107 (2005), $ N.B. Balabanov and K.A. Peterson, J. Chem. Phys. 125, 074110 (2006) $ Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ Elements References $ -------- --------- $ H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $ He : D.E. Woon and T.H. Dunning, Jr., J. Chem. Phys. 100, 2975 (1994). $ B - F: R.A. Kendall, T.H. Dunning, Jr. and R.J. Harrison, J. Chem. Phys. 96, $ 6796 (1992). $ Al - Cl: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $ Sc - Zn: N.B. Balabanov and K.A. Peterson, J. Chem. Phys. 123, 064107 (2005), $ N.B. Balabanov and K.A. Peterson, J. Chem. Phys. 125, 074110 (2006). $ $ HYDROGEN (5s,2p) -> [3s,2p] $ HYDROGEN (4s,1p) -> [2s,1p] $ HYDROGEN (1s,1p) a 1 $ S-TYPE FUNCTIONS 5 3 0 13.0100000 0.0196850 0.0000000 0.0000000 1.9620000 0.1379770 0.0000000 0.0000000 0.4446000 0.4781480 0.0000000 0.0000000 0.1220000 0.0000000 1.0000000 0.0000000 0.0297400 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 2 2 0 0.7270000 1.0000000 0.0000000 0.1410000 0.0000000 1.0000000 $ HELIUM (5s,2p) -> [3s,2p] $ HELIUM (4s,1p) -> [2s,1p] $ HELIUM (1s,1p) a 2 $ S-TYPE FUNCTIONS 5 3 0 38.3600000 0.0238090 0.0000000 0.0000000 5.7700000 0.1548910 0.0000000 0.0000000 1.2400000 0.4699870 0.0000000 0.0000000 0.2976000 0.0000000 1.0000000 0.0000000 0.0725500 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 2 2 0 1.2750000 1.0000000 0.0000000 0.2473000 0.0000000 1.0000000 $ LITHIUM (10s,5p,2d) -> [4s,3p,2d] $ LITHIUM (9s,4p,1d) -> [3s,2p,1d] $ LITHIUM (1s,1p,1d) a 3 $ S-TYPE FUNCTIONS 10 4 0 1469.0000000 0.0007660 -0.0001200 0.0000000 0.0000000 220.5000000 0.0058920 -0.0009230 0.0000000 0.0000000 50.2600000 0.0296710 -0.0046890 0.0000000 0.0000000 14.2400000 0.1091800 -0.0176820 0.0000000 0.0000000 4.5810000 0.2827890 -0.0489020 0.0000000 0.0000000 1.5800000 0.4531230 -0.0960090 0.0000000 0.0000000 0.5640000 0.2747740 -0.1363800 0.0000000 0.0000000 0.0734500 0.0097510 0.5751020 0.0000000 0.0000000 0.0280500 0.0000000 0.0000000 1.0000000 0.0000000 0.0086400 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 1.5340000 0.0227840 0.0000000 0.0000000 0.2749000 0.1391070 0.0000000 0.0000000 0.0736200 0.5003750 0.0000000 0.0000000 0.0240300 0.0000000 1.0000000 0.0000000 0.0057900 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.1239000 1.0000000 0.0000000 0.0725000 0.0000000 1.0000000 $ BERYLLIUM (10s,5p,2d) -> [4s,3p,2d] $ BERYLLIUM (9s,4p,1d) -> [3s,2p,1d] $ BERYLLIUM (1s,1p,1d) a 4 $ S-TYPE FUNCTIONS 10 4 0 2940.0000000 0.0006800 -0.0001230 0.0000000 0.0000000 441.2000000 0.0052360 -0.0009660 0.0000000 0.0000000 100.5000000 0.0266060 -0.0048310 0.0000000 0.0000000 28.4300000 0.0999930 -0.0193140 0.0000000 0.0000000 9.1690000 0.2697020 -0.0532800 0.0000000 0.0000000 3.1960000 0.4514690 -0.1207230 0.0000000 0.0000000 1.1590000 0.2950740 -0.1334350 0.0000000 0.0000000 0.1811000 0.0125870 0.5307670 0.0000000 0.0000000 0.0589000 0.0000000 0.0000000 1.0000000 0.0000000 0.0187700 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 3.6190000 0.0291110 0.0000000 0.0000000 0.7110000 0.1693650 0.0000000 0.0000000 0.1951000 0.5134580 0.0000000 0.0000000 0.0601800 0.0000000 1.0000000 0.0000000 0.0085000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.2380000 1.0000000 0.0000000 0.0740000 0.0000000 1.0000000 $ BORON (10s,5p,2d) -> [4s,3p,2d] $ BORON (9s,4p,1d) -> [3s,2p,1d] $ BORON (1s,1p,1d) a 5 $ S-TYPE FUNCTIONS 10 4 0 4570.0000000 0.0006960 -0.0001390 0.0000000 0.0000000 685.9000000 0.0053530 -0.0010970 0.0000000 0.0000000 156.5000000 0.0271340 -0.0054440 0.0000000 0.0000000 44.4700000 0.1013800 -0.0219160 0.0000000 0.0000000 14.4800000 0.2720550 -0.0597510 0.0000000 0.0000000 5.1310000 0.4484030 -0.1387320 0.0000000 0.0000000 1.8980000 0.2901230 -0.1314820 0.0000000 0.0000000 0.3329000 0.0143220 0.5395260 0.0000000 0.0000000 0.1043000 0.0000000 0.0000000 1.0000000 0.0000000 0.0310500 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 6.0010000 0.0354810 0.0000000 0.0000000 1.2410000 0.1980720 0.0000000 0.0000000 0.3364000 0.5052300 0.0000000 0.0000000 0.0953800 0.0000000 1.0000000 0.0000000 0.0237800 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.3430000 1.0000000 0.0000000 0.0904000 0.0000000 1.0000000 $ CARBON (10s,5p,2d) -> [4s,3p,2d] $ CARBON (9s,4p,1d) -> [3s,2p,1d] $ CARBON (1s,1p,1d) a 6 $ S-TYPE FUNCTIONS 10 4 0 6665.0000000 0.0006920 -0.0001460 0.0000000 0.0000000 1000.0000000 0.0053290 -0.0011540 0.0000000 0.0000000 228.0000000 0.0270770 -0.0057250 0.0000000 0.0000000 64.7100000 0.1017180 -0.0233120 0.0000000 0.0000000 21.0600000 0.2747400 -0.0639550 0.0000000 0.0000000 7.4950000 0.4485640 -0.1499810 0.0000000 0.0000000 2.7970000 0.2850740 -0.1272620 0.0000000 0.0000000 0.5215000 0.0152040 0.5445290 0.0000000 0.0000000 0.1596000 0.0000000 0.0000000 1.0000000 0.0000000 0.0469000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 9.4390000 0.0381090 0.0000000 0.0000000 2.0020000 0.2094800 0.0000000 0.0000000 0.5456000 0.5085570 0.0000000 0.0000000 0.1517000 0.0000000 1.0000000 0.0000000 0.0404100 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.5500000 1.0000000 0.0000000 0.1510000 0.0000000 1.0000000 $ NITROGEN (10s,5p,2d) -> [4s,3p,2d] $ NITROGEN (9s,4p,1d) -> [3s,2p,1d] $ NITROGEN (1s,1p,1d) a 7 $ S-TYPE FUNCTIONS 10 4 0 9046.0000000 0.0007000 -0.0001530 0.0000000 0.0000000 1357.0000000 0.0053890 -0.0012080 0.0000000 0.0000000 309.3000000 0.0274060 -0.0059920 0.0000000 0.0000000 87.7300000 0.1032070 -0.0245440 0.0000000 0.0000000 28.5600000 0.2787230 -0.0674590 0.0000000 0.0000000 10.2100000 0.4485400 -0.1580780 0.0000000 0.0000000 3.8380000 0.2782380 -0.1218310 0.0000000 0.0000000 0.7466000 0.0154400 0.5490030 0.0000000 0.0000000 0.2248000 0.0000000 0.0000000 1.0000000 0.0000000 0.0612400 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 13.5500000 0.0399190 0.0000000 0.0000000 2.9170000 0.2171690 0.0000000 0.0000000 0.7973000 0.5103190 0.0000000 0.0000000 0.2185000 0.0000000 1.0000000 0.0000000 0.0561100 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.8170000 1.0000000 0.0000000 0.2300000 0.0000000 1.0000000 $ OXYGEN (10s,5p,2d) -> [4s,3p,2d] $ OXYGEN (9s,4p,1d) -> [3s,2p,1d] $ OXYGEN (1s,1p,1d) a 8 $ S-TYPE FUNCTIONS 10 4 0 11720.0000000 0.0007100 -0.0001600 0.0000000 0.0000000 1759.0000000 0.0054700 -0.0012630 0.0000000 0.0000000 400.8000000 0.0278370 -0.0062670 0.0000000 0.0000000 113.7000000 0.1048000 -0.0257160 0.0000000 0.0000000 37.0300000 0.2830620 -0.0709240 0.0000000 0.0000000 13.2700000 0.4487190 -0.1654110 0.0000000 0.0000000 5.0250000 0.2709520 -0.1169550 0.0000000 0.0000000 1.0130000 0.0154580 0.5573680 0.0000000 0.0000000 0.3023000 0.0000000 0.0000000 1.0000000 0.0000000 0.0789600 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 17.7000000 0.0430180 0.0000000 0.0000000 3.8540000 0.2289130 0.0000000 0.0000000 1.0460000 0.5087280 0.0000000 0.0000000 0.2753000 0.0000000 1.0000000 0.0000000 0.0685600 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 1.1850000 1.0000000 0.0000000 0.3320000 0.0000000 1.0000000 $ FLUORINE (10s,5p,2d) -> [4s,3p,2d] $ FLUORINE (9s,4p,1d) -> [3s,2p,1d] $ FLUORINE (1s,1p,1d) a 9 $ S-TYPE FUNCTIONS 10 4 0 14710.0000000 0.0007210 -0.0001650 0.0000000 0.0000000 2207.0000000 0.0055530 -0.0013080 0.0000000 0.0000000 502.8000000 0.0282670 -0.0064950 0.0000000 0.0000000 142.6000000 0.1064440 -0.0266910 0.0000000 0.0000000 46.4700000 0.2868140 -0.0736900 0.0000000 0.0000000 16.7000000 0.4486410 -0.1707760 0.0000000 0.0000000 6.3560000 0.2647610 -0.1123270 0.0000000 0.0000000 1.3160000 0.0153330 0.5628140 0.0000000 0.0000000 0.3897000 0.0000000 0.0000000 1.0000000 0.0000000 0.0986300 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 22.6700000 0.0448780 0.0000000 0.0000000 4.9770000 0.2357180 0.0000000 0.0000000 1.3470000 0.5085210 0.0000000 0.0000000 0.3471000 0.0000000 1.0000000 0.0000000 0.0850200 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 1.6400000 1.0000000 0.0000000 0.4640000 0.0000000 1.0000000 $ NEON (10s,5p,2d) -> [4s,3p,2d] $ NEON (9s,4p,1d) -> [3s,2p,1d] $ NEON (1s,1p,1d) a 10 $ S-TYPE FUNCTIONS 10 4 0 17880.0000000 0.0007380 -0.0001720 0.0000000 0.0000000 2683.0000000 0.0056770 -0.0013570 0.0000000 0.0000000 611.5000000 0.0288830 -0.0067370 0.0000000 0.0000000 173.5000000 0.1085400 -0.0276630 0.0000000 0.0000000 56.6400000 0.2909070 -0.0762080 0.0000000 0.0000000 20.4200000 0.4483240 -0.1752270 0.0000000 0.0000000 7.8100000 0.2580260 -0.1070380 0.0000000 0.0000000 1.6530000 0.0150630 0.5670500 0.0000000 0.0000000 0.4869000 0.0000000 0.0000000 1.0000000 0.0000000 0.1230000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 5 3 0 28.3900000 0.0460870 0.0000000 0.0000000 6.2700000 0.2401810 0.0000000 0.0000000 1.6950000 0.5087440 0.0000000 0.0000000 0.4317000 0.0000000 1.0000000 0.0000000 0.1064000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 2.2020000 1.0000000 0.0000000 0.6310000 0.0000000 1.0000000 $ SODIUM (13s,9p,2d) -> [5s,4p,2d] $ SODIUM (12s,8p,1d) -> [4s,3p,1d] $ SODIUM (1s,1p,1d) a 11 $ S-TYPE FUNCTIONS 13 5 0 31700.0000000 0.458878D-03 -0.112162D-03 0.170160D-04 0.0000000 0.0000000 4755.0000000 0.355070D-02 -0.868512D-03 0.130693D-03 0.0000000 0.0000000 1082.0000000 0.182618D-01 -0.451330D-02 0.687784D-03 0.0000000 0.0000000 306.4000000 0.716650D-01 -0.181436D-01 0.272359D-02 0.0000000 0.0000000 99.5300000 0.212346D+00 -0.580799D-01 0.895529D-02 0.0000000 0.0000000 35.4200000 0.416203D+00 -0.137653D+00 0.207832D-01 0.0000000 0.0000000 13.3000000 0.373020D+00 -0.193908D+00 0.319380D-01 0.0000000 0.0000000 4.3920000 0.625054D-01 0.858009D-01 -0.191368D-01 0.0000000 0.0000000 1.6760000 -0.624532D-02 0.604419D+00 -0.102595D+00 0.0000000 0.0000000 0.5889000 0.243374D-02 0.441719D+00 -0.198945D+00 0.0000000 0.0000000 0.0564000 -0.442381D-03 0.130547D-01 0.655952D+00 0.0000000 0.0000000 0.0230700 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0072500 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 138.1000000 0.579641D-02 -0.581531D-03 0.0000000 0.0000000 32.2400000 0.415756D-01 -0.407306D-02 0.0000000 0.0000000 9.9850000 0.162873D+00 -0.167937D-01 0.0000000 0.0000000 3.4840000 0.359401D+00 -0.353268D-01 0.0000000 0.0000000 1.2310000 0.449988D+00 -0.521971D-01 0.0000000 0.0000000 0.4177000 0.227507D+00 -0.168359D-01 0.0000000 0.0000000 0.0651300 0.808247D-02 0.434613D+00 0.0000000 0.0000000 0.0205300 0.0000000 0.0000000 1.0000000 0.0000000 0.0063300 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.0973000 1.0000000 0.0000000 0.0468000 0.0000000 1.0000000 $ MAGNESIUM (13s,9p,2d) -> [5s,4p,2d] $ MAGNESIUM (12s,8p,1d) -> [4s,3p,1d] $ MAGNESIUM (1s,1p,1d) a 12 $ S-TYPE FUNCTIONS 13 5 0 47390.0000000 0.346023D-03 -0.877839D-04 0.169628D-04 0.0000000 0.0000000 7108.0000000 0.268077D-02 -0.674725D-03 0.129865D-03 0.0000000 0.0000000 1618.0000000 0.138367D-01 -0.355603D-02 0.688831D-03 0.0000000 0.0000000 458.4000000 0.551767D-01 -0.142154D-01 0.273533D-02 0.0000000 0.0000000 149.3000000 0.169660D+00 -0.476748D-01 0.931224D-02 0.0000000 0.0000000 53.5900000 0.364703D+00 -0.114892D+00 0.223265D-01 0.0000000 0.0000000 20.7000000 0.406856D+00 -0.200676D+00 0.411195D-01 0.0000000 0.0000000 8.3840000 0.135089D+00 -0.341224D-01 0.545642D-02 0.0000000 0.0000000 2.5420000 0.490884D-02 0.570454D+00 -0.134012D+00 0.0000000 0.0000000 0.8787000 0.286460D-03 0.542309D+00 -0.256176D+00 0.0000000 0.0000000 0.1077000 0.264590D-04 0.218128D-01 0.605856D+00 0.0000000 0.0000000 0.0399900 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0148800 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 179.9000000 0.538161D-02 -0.865948D-03 0.0000000 0.0000000 42.1400000 0.392418D-01 -0.615978D-02 0.0000000 0.0000000 13.1300000 0.157445D+00 -0.261519D-01 0.0000000 0.0000000 4.6280000 0.358535D+00 -0.570647D-01 0.0000000 0.0000000 1.6700000 0.457226D+00 -0.873906D-01 0.0000000 0.0000000 0.5857000 0.215918D+00 -0.122990D-01 0.0000000 0.0000000 0.1311000 0.664948D-02 0.502085D+00 0.0000000 0.0000000 0.0411200 0.0000000 0.0000000 1.0000000 0.0000000 0.0093500 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.1870000 1.0000000 0.0000000 0.0595000 0.0000000 1.0000000 $ ALUMINUM (13s,9p,2d) -> [5s,4p,2d] $ ALUMINUM (12s,8p,1d) -> [4s,3p,1d] $ ALUMINUM (1s,1p,1d) a 13 $ S-TYPE FUNCTIONS 13 5 0 64150.0000000 0.290250D-03 -0.758048D-04 0.175078D-04 0.0000000 0.0000000 9617.0000000 0.225064D-02 -0.581791D-03 0.134208D-03 0.0000000 0.0000000 2189.0000000 0.116459D-01 -0.308113D-02 0.712442D-03 0.0000000 0.0000000 620.5000000 0.467377D-01 -0.123112D-01 0.284330D-02 0.0000000 0.0000000 202.7000000 0.146299D+00 -0.419781D-01 0.976842D-02 0.0000000 0.0000000 73.1500000 0.330283D+00 -0.103371D+00 0.241850D-01 0.0000000 0.0000000 28.5500000 0.415861D+00 -0.196308D+00 0.474993D-01 0.0000000 0.0000000 11.7700000 0.189253D+00 -0.830002D-01 0.203621D-01 0.0000000 0.0000000 3.3000000 0.115889D-01 0.541040D+00 -0.158788D+00 0.0000000 0.0000000 1.1730000 -0.128385D-02 0.578796D+00 -0.311694D+00 0.0000000 0.0000000 0.1752000 0.425883D-03 0.288147D-01 0.620147D+00 0.0000000 0.0000000 0.0647300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0231000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 258.8000000 0.406847D-02 -0.748053D-03 0.0000000 0.0000000 60.8900000 0.306815D-01 -0.545796D-02 0.0000000 0.0000000 19.1400000 0.129149D+00 -0.245371D-01 0.0000000 0.0000000 6.8810000 0.320831D+00 -0.582138D-01 0.0000000 0.0000000 2.5740000 0.453815D+00 -0.983756D-01 0.0000000 0.0000000 0.9572000 0.275066D+00 -0.260064D-01 0.0000000 0.0000000 0.2099000 0.190807D-01 0.464020D+00 0.0000000 0.0000000 0.0598600 0.0000000 0.0000000 1.0000000 0.0000000 0.0153000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.1890000 1.0000000 0.0000000 0.0535000 0.0000000 1.0000000 $ SILICON (13s,9p,2d) -> [5s,4p,2d] $ SILICON (12s,8p,1d) -> [4s,3p,1d] $ SILICON (1s,1p,1d) a 14 $ S-TYPE FUNCTIONS 13 5 0 78860.0000000 0.270443D-03 -0.723177D-04 0.185113D-04 0.0000000 0.0000000 11820.0000000 0.209717D-02 -0.555116D-03 0.142236D-03 0.0000000 0.0000000 2692.0000000 0.108506D-01 -0.293805D-02 0.752185D-03 0.0000000 0.0000000 763.4000000 0.436754D-01 -0.117687D-01 0.302279D-02 0.0000000 0.0000000 249.6000000 0.137653D+00 -0.402907D-01 0.103677D-01 0.0000000 0.0000000 90.2800000 0.316644D+00 -0.100609D+00 0.262563D-01 0.0000000 0.0000000 35.2900000 0.418581D+00 -0.196528D+00 0.523989D-01 0.0000000 0.0000000 14.5100000 0.210212D+00 -0.102382D+00 0.290959D-01 0.0000000 0.0000000 4.0530000 0.144952D-01 0.527190D+00 -0.178003D+00 0.0000000 0.0000000 1.4820000 -0.203590D-02 0.593251D+00 -0.346874D+00 0.0000000 0.0000000 0.2517000 0.624186D-03 0.332652D-01 0.623020D+00 0.0000000 0.0000000 0.0924300 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0332000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 315.9000000 0.392656D-02 -0.858302D-03 0.0000000 0.0000000 74.4200000 0.298811D-01 -0.630328D-02 0.0000000 0.0000000 23.4800000 0.127212D+00 -0.288255D-01 0.0000000 0.0000000 8.4880000 0.320943D+00 -0.694560D-01 0.0000000 0.0000000 3.2170000 0.455429D+00 -0.119493D+00 0.0000000 0.0000000 1.2290000 0.268563D+00 -0.199581D-01 0.0000000 0.0000000 0.2964000 0.188336D-01 0.510268D+00 0.0000000 0.0000000 0.0876800 0.0000000 0.0000000 1.0000000 0.0000000 0.0250000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.2750000 1.0000000 0.0000000 0.0823000 0.0000000 1.0000000 $ PHOSPHOROUS (13s,9p,2d) -> [5s,4p,2d] $ PHOSPHOROUS (12s,8p,1d) -> [4s,3p,1d] $ PHOSPHOROUS (1s,1p,1d) a 15 $ S-TYPE FUNCTIONS 13 5 0 94840.0000000 0.255509D-03 -0.696939D-04 0.191199D-04 0.0000000 0.0000000 14220.0000000 0.198193D-02 -0.535266D-03 0.147223D-03 0.0000000 0.0000000 3236.0000000 0.102760D-01 -0.283709D-02 0.777912D-03 0.0000000 0.0000000 917.1000000 0.414823D-01 -0.113983D-01 0.314546D-02 0.0000000 0.0000000 299.5000000 0.131984D+00 -0.392929D-01 0.108200D-01 0.0000000 0.0000000 108.1000000 0.308662D+00 -0.996364D-01 0.279957D-01 0.0000000 0.0000000 42.1800000 0.420647D+00 -0.197983D+00 0.563978D-01 0.0000000 0.0000000 17.2800000 0.222878D+00 -0.114860D+00 0.358190D-01 0.0000000 0.0000000 4.8580000 0.164035D-01 0.518595D+00 -0.193387D+00 0.0000000 0.0000000 1.8180000 -0.254255D-02 0.601847D+00 -0.372097D+00 0.0000000 0.0000000 0.3372000 0.748050D-03 0.368612D-01 0.624246D+00 0.0000000 0.0000000 0.1232000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0417000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 370.5000000 0.395005D-02 -0.959832D-03 0.0000000 0.0000000 87.3300000 0.302492D-01 -0.711177D-02 0.0000000 0.0000000 27.5900000 0.129554D+00 -0.327122D-01 0.0000000 0.0000000 10.0000000 0.327594D+00 -0.795784D-01 0.0000000 0.0000000 3.8250000 0.456992D+00 -0.135016D+00 0.0000000 0.0000000 1.4940000 0.253086D+00 -0.910585D-02 0.0000000 0.0000000 0.3921000 0.168798D-01 0.537802D+00 0.0000000 0.0000000 0.1186000 0.0000000 0.0000000 1.0000000 0.0000000 0.0343000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.3730000 1.0000000 0.0000000 0.1130000 0.0000000 1.0000000 $ SULFUR (13s,9p,2d) -> [5s,4p,2d] $ SULFUR (12s,8p,1d) -> [4s,3p,1d] $ SULFUR (1s,1p,1d) a 16 $ S-TYPE FUNCTIONS 13 5 0 110800.0000000 0.247635D-03 -0.687039D-04 0.199077D-04 0.0000000 0.0000000 16610.0000000 0.192026D-02 -0.527681D-03 0.153483D-03 0.0000000 0.0000000 3781.0000000 0.996192D-02 -0.279671D-02 0.809503D-03 0.0000000 0.0000000 1071.0000000 0.402975D-01 -0.112651D-01 0.328974D-02 0.0000000 0.0000000 349.8000000 0.128604D+00 -0.388834D-01 0.112967D-01 0.0000000 0.0000000 126.3000000 0.303480D+00 -0.995025D-01 0.296385D-01 0.0000000 0.0000000 49.2600000 0.421432D+00 -0.199740D+00 0.599851D-01 0.0000000 0.0000000 20.1600000 0.230781D+00 -0.123360D+00 0.413248D-01 0.0000000 0.0000000 5.7200000 0.178971D-01 0.513194D+00 -0.207474D+00 0.0000000 0.0000000 2.1820000 -0.297516D-02 0.607120D+00 -0.392889D+00 0.0000000 0.0000000 0.4327000 0.849522D-03 0.396753D-01 0.632840D+00 0.0000000 0.0000000 0.1570000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0507000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 399.7000000 0.447541D-02 -0.116251D-02 0.0000000 0.0000000 94.1900000 0.341708D-01 -0.865664D-02 0.0000000 0.0000000 29.7500000 0.144250D+00 -0.390886D-01 0.0000000 0.0000000 10.7700000 0.353928D+00 -0.934625D-01 0.0000000 0.0000000 4.1190000 0.459085D+00 -0.147994D+00 0.0000000 0.0000000 1.6250000 0.206383D+00 0.301904D-01 0.0000000 0.0000000 0.4726000 0.102141D-01 0.561573D+00 0.0000000 0.0000000 0.1407000 0.0000000 0.0000000 1.0000000 0.0000000 0.0399000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.4790000 1.0000000 0.0000000 0.1520000 0.0000000 1.0000000 $ CHLORINE (13s,9p,2d) -> [5s,4p,2d] $ CHLORINE (12s,8p,1d) -> [4s,3p,1d] $ CHLORINE (1s,1p,1d) a 17 $ S-TYPE FUNCTIONS 13 5 0 127900.0000000 0.241153D-03 -0.678922D-04 0.204986D-04 0.0000000 0.0000000 19170.0000000 0.187095D-02 -0.521836D-03 0.158298D-03 0.0000000 0.0000000 4363.0000000 0.970827D-02 -0.276513D-02 0.833639D-03 0.0000000 0.0000000 1236.0000000 0.393153D-01 -0.111537D-01 0.339880D-02 0.0000000 0.0000000 403.6000000 0.125932D+00 -0.385919D-01 0.116738D-01 0.0000000 0.0000000 145.7000000 0.299341D+00 -0.994848D-01 0.309622D-01 0.0000000 0.0000000 56.8100000 0.421886D+00 -0.201392D+00 0.629533D-01 0.0000000 0.0000000 23.2300000 0.237201D+00 -0.130313D+00 0.460257D-01 0.0000000 0.0000000 6.6440000 0.191531D-01 0.509443D+00 -0.219312D+00 0.0000000 0.0000000 2.5750000 -0.334792D-02 0.610725D+00 -0.408773D+00 0.0000000 0.0000000 0.5371000 0.929883D-03 0.421549D-01 0.638465D+00 0.0000000 0.0000000 0.1938000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0608000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 417.6000000 0.525982D-02 -0.143570D-02 0.0000000 0.0000000 98.3300000 0.398332D-01 -0.107796D-01 0.0000000 0.0000000 31.0400000 0.164655D+00 -0.470075D-01 0.0000000 0.0000000 11.1900000 0.387322D+00 -0.111030D+00 0.0000000 0.0000000 4.2490000 0.457072D+00 -0.153275D+00 0.0000000 0.0000000 1.6240000 0.151636D+00 0.894609D-01 0.0000000 0.0000000 0.5322000 0.181615D-02 0.579444D+00 0.0000000 0.0000000 0.1620000 0.0000000 0.0000000 1.0000000 0.0000000 0.0466000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.6000000 1.0000000 0.0000000 0.1960000 0.0000000 1.0000000 $ ARGON (13s,9p,2d) -> [5s,4p,2d] $ ARGON (12s,8p,1d) -> [4s,3p,1d] $ ARGON (1s,1p,1d) a 18 $ S-TYPE FUNCTIONS 13 5 0 145700.0000000 0.236700D-03 -0.674910D-04 0.210457D-04 0.0000000 0.0000000 21840.0000000 0.183523D-02 -0.518522D-03 0.162565D-03 0.0000000 0.0000000 4972.0000000 0.952860D-02 -0.274825D-02 0.855463D-03 0.0000000 0.0000000 1408.0000000 0.386283D-01 -0.111007D-01 0.349745D-02 0.0000000 0.0000000 459.7000000 0.124081D+00 -0.384820D-01 0.120156D-01 0.0000000 0.0000000 165.9000000 0.296471D+00 -0.997599D-01 0.321368D-01 0.0000000 0.0000000 64.6900000 0.422068D+00 -0.203088D+00 0.655279D-01 0.0000000 0.0000000 26.4400000 0.241711D+00 -0.135608D+00 0.499370D-01 0.0000000 0.0000000 7.6280000 0.200509D-01 0.507195D+00 -0.229769D+00 0.0000000 0.0000000 2.9960000 -0.361000D-02 0.612898D+00 -0.421006D+00 0.0000000 0.0000000 0.6504000 0.975607D-03 0.442968D-01 0.642331D+00 0.0000000 0.0000000 0.2337000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0709000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 9 4 0 453.7000000 0.570555D-02 -0.160655D-02 0.0000000 0.0000000 106.8000000 0.430460D-01 -0.121714D-01 0.0000000 0.0000000 33.7300000 0.176591D+00 -0.520789D-01 0.0000000 0.0000000 12.1300000 0.406863D+00 -0.123737D+00 0.0000000 0.0000000 4.5940000 0.452549D+00 -0.151619D+00 0.0000000 0.0000000 1.6780000 0.122801D+00 0.142425D+00 0.0000000 0.0000000 0.5909000 -0.445996D-02 0.584501D+00 0.0000000 0.0000000 0.1852000 0.0000000 0.0000000 1.0000000 0.0000000 0.0533000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 2 2 0 0.7380000 1.0000000 0.0000000 0.2400000 0.0000000 1.0000000 $ SCANDIUM (21s,17p,9d,3f) -> [7s,6p,4d,2f] $ SCANDIUM (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ SCANDIUM (1s,1p,1d,1f) a 21 $ S-TYPE FUNCTIONS 21 7 0 2.715278E+06 8.147221E-06 -4.722109E-06 9.139905E-07 -2.201951E-07 -3.757238E-07 0.0000000 0.0000000 4.065984E+05 6.334788E-05 -3.671829E-05 7.108513E-06 -1.711419E-06 -2.981907E-06 0.0000000 0.0000000 9.253004E+04 3.330384E-04 -1.930883E-04 3.738126E-05 -9.008469E-06 -1.522586E-05 0.0000000 0.0000000 2.620792E+04 1.404055E-03 -8.146870E-04 1.578828E-04 -3.799997E-05 -6.684686E-05 0.0000000 0.0000000 8.549429E+03 5.081725E-03 -2.955526E-03 5.737686E-04 -1.383227E-04 -2.313129E-04 0.0000000 0.0000000 3.085975E+03 1.626926E-02 -9.520035E-03 1.859244E-03 -4.473692E-04 -7.959729E-04 0.0000000 0.0000000 1.203172E+03 4.624577E-02 -2.746858E-02 5.433182E-03 -1.310691E-03 -2.161961E-03 0.0000000 0.0000000 4.984869E+02 1.137223E-01 -6.991528E-02 1.425387E-02 -3.429860E-03 -6.206459E-03 0.0000000 0.0000000 2.167360E+02 2.257636E-01 -1.499251E-01 3.246144E-02 -7.847579E-03 -1.261905E-02 0.0000000 0.0000000 9.787476E+01 3.106700E-01 -2.459153E-01 6.003454E-02 -1.447189E-02 -2.739459E-02 0.0000000 0.0000000 4.520433E+01 2.191906E-01 -2.401293E-01 6.916105E-02 -1.690669E-02 -2.336516E-02 0.0000000 0.0000000 2.021187E+01 7.215879E-02 3.567987E-02 -2.113084E-02 5.396115E-03 -5.734627E-03 0.0000000 0.0000000 9.574751E+00 1.187030E-01 4.915023E-01 -2.666832E-01 6.671062E-02 1.536025E-01 0.0000000 0.0000000 4.540346E+00 1.220532E-01 4.911381E-01 -4.367591E-01 1.178356E-01 1.447100E-01 0.0000000 0.0000000 1.995687E+00 2.136795E-02 9.120633E-02 6.498243E-02 -2.738134E-02 9.359699E-02 0.0000000 0.0000000 9.422150E-01 -5.357246E-04 -5.356723E-03 7.009599E-01 -2.260149E-01 -8.687730E-01 0.0000000 0.0000000 4.178450E-01 2.435774E-04 8.812836E-04 4.515562E-01 -3.073539E-01 2.114597E-02 0.0000000 0.0000000 9.576100E-02 -8.796617E-05 -7.605536E-04 3.011910E-02 2.544054E-01 2.275498E+00 0.0000000 0.0000000 5.135100E-02 7.878246E-05 6.340116E-04 -1.329480E-02 5.981590E-01 -1.190770E+00 0.0000000 0.0000000 2.387800E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.110000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 6 0 1.059219E+04 4.500000E-05 -1.500000E-05 -4.000000E-06 4.000000E-06 0.0000000 0.0000000 2.507533E+03 4.010000E-04 -1.310000E-04 -3.200000E-05 3.900000E-05 0.0000000 0.0000000 8.144571E+02 2.302000E-03 -7.570000E-04 -1.850000E-04 2.210000E-04 0.0000000 0.0000000 3.115195E+02 1.003700E-02 -3.318000E-03 -8.080000E-04 9.840000E-04 0.0000000 0.0000000 1.319617E+02 3.495400E-02 -1.170600E-02 -2.870000E-03 3.423000E-03 0.0000000 0.0000000 5.998718E+01 9.790900E-02 -3.360400E-02 -8.207000E-03 9.993000E-03 0.0000000 0.0000000 2.866250E+01 2.106800E-01 -7.487900E-02 -1.847300E-02 2.191600E-02 0.0000000 0.0000000 1.410851E+01 3.300930E-01 -1.225480E-01 -3.010100E-02 3.700800E-02 0.0000000 0.0000000 7.103706E+00 3.310270E-01 -1.302760E-01 -3.294300E-02 3.779400E-02 0.0000000 0.0000000 3.609200E+00 1.579600E-01 1.459600E-02 7.958000E-03 -4.379000E-03 0.0000000 0.0000000 1.776070E+00 2.209900E-02 3.091840E-01 8.799300E-02 -1.101640E-01 0.0000000 0.0000000 8.547600E-01 -1.605000E-03 4.629980E-01 1.523770E-01 -1.610170E-01 0.0000000 0.0000000 4.022390E-01 -1.326000E-03 3.049570E-01 9.717000E-02 -1.824820E-01 0.0000000 0.0000000 1.546650E-01 -2.800000E-04 5.087800E-02 -2.569380E-01 3.886110E-01 0.0000000 0.0000000 6.494500E-02 3.400000E-05 -4.493000E-03 -5.878150E-01 6.911000E-01 0.0000000 0.0000000 2.635900E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.066000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 4 0 5.051380E+01 4.266000E-03 -4.389000E-03 0.0000000 0.0000000 1.474050E+01 2.770800E-02 -2.836300E-02 0.0000000 0.0000000 5.195000E+00 1.000010E-01 -1.051370E-01 0.0000000 0.0000000 2.028460E+00 2.315810E-01 -2.348540E-01 0.0000000 0.0000000 8.040860E-01 3.460330E-01 -3.246090E-01 0.0000000 0.0000000 3.076890E-01 3.733740E-01 -6.428900E-02 0.0000000 0.0000000 1.113920E-01 2.642880E-01 6.017490E-01 0.0000000 0.0000000 3.735200E-02 0.0000000 0.0000000 1.0000000 0.0000000 1.244000E-02 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 2 0 7.126000E-01 3.617450E-01 0.0000000 1.636000E-01 8.218680E-01 0.0000000 4.063000E-02 0.0000000 1.0000000 $ TITANIUM (21s,17p,9d,3f) -> [7s,6p,4d,2f] $ TITANIUM (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ TITANIUM (1s,1p,1d,1f) a 22 $ S-TYPE FUNCTIONS 21 7 0 3.014643E+06 8.060782E-06 -4.630486E-06 9.230559E-07 -2.180323E-07 -3.975126E-07 0.0000000 0.0000000 4.514329E+05 6.267518E-05 -3.600451E-05 7.178974E-06 -1.694860E-06 -3.161080E-06 0.0000000 0.0000000 1.027338E+05 3.295006E-04 -1.893420E-04 3.775134E-05 -8.919208E-06 -1.609375E-05 0.0000000 0.0000000 2.909817E+04 1.389203E-03 -7.988781E-04 1.594532E-04 -3.763633E-05 -7.092947E-05 0.0000000 0.0000000 9.492330E+03 5.028469E-03 -2.898698E-03 5.795150E-04 -1.369575E-04 -2.442710E-04 0.0000000 0.0000000 3.426346E+03 1.610419E-02 -9.339701E-03 1.878414E-03 -4.432894E-04 -8.457892E-04 0.0000000 0.0000000 1.335896E+03 4.581232E-02 -2.697464E-02 5.492747E-03 -1.298868E-03 -2.282208E-03 0.0000000 0.0000000 5.535026E+02 1.128613E-01 -6.878913E-02 1.443297E-02 -3.406752E-03 -6.619873E-03 0.0000000 0.0000000 2.406925E+02 2.248193E-01 -1.481037E-01 3.296408E-02 -7.810829E-03 -1.335024E-02 0.0000000 0.0000000 1.087293E+02 3.114571E-01 -2.445253E-01 6.125493E-02 -1.449245E-02 -2.955830E-02 0.0000000 0.0000000 5.026457E+01 2.224995E-01 -2.419916E-01 7.134113E-02 -1.708136E-02 -2.477039E-02 0.0000000 0.0000000 2.258004E+01 7.293128E-02 3.183790E-02 -1.973150E-02 4.897666E-03 -8.414624E-03 0.0000000 0.0000000 1.071432E+01 1.160683E-01 4.932686E-01 -2.741869E-01 6.753108E-02 1.693855E-01 0.0000000 0.0000000 5.093546E+00 1.194774E-01 4.939655E-01 -4.440977E-01 1.173318E-01 1.500787E-01 0.0000000 0.0000000 2.244183E+00 2.097868E-02 9.196313E-02 7.776084E-02 -2.985025E-02 9.787777E-02 0.0000000 0.0000000 1.059570E+00 -5.091715E-04 -5.316992E-03 7.068444E-01 -2.277634E-01 -9.653608E-01 0.0000000 0.0000000 4.688490E-01 2.217859E-04 8.085624E-04 4.413892E-01 -2.928115E-01 1.489721E-01 0.0000000 0.0000000 1.061430E-01 -7.636896E-05 -6.918459E-04 2.799769E-02 2.665300E-01 2.191179E+00 0.0000000 0.0000000 5.526200E-02 7.719539E-05 6.086512E-04 -1.210790E-02 5.912406E-01 -1.243325E+00 0.0000000 0.0000000 2.546500E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.173000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 6 0 1.191203E+04 4.400000E-05 -1.500000E-05 4.000000E-06 4.000000E-06 0.0000000 0.0000000 2.819947E+03 3.910000E-04 -1.310000E-04 3.100000E-05 3.900000E-05 0.0000000 0.0000000 9.159479E+02 2.248000E-03 -7.550000E-04 1.820000E-04 2.230000E-04 0.0000000 0.0000000 3.503842E+02 9.823000E-03 -3.319000E-03 7.950000E-04 9.920000E-04 0.0000000 0.0000000 1.484825E+02 3.433800E-02 -1.175000E-02 2.833000E-03 3.476000E-03 0.0000000 0.0000000 6.753944E+01 9.666600E-02 -3.392200E-02 8.154000E-03 1.017200E-02 0.0000000 0.0000000 3.230332E+01 2.094170E-01 -7.616400E-02 1.847200E-02 2.257600E-02 0.0000000 0.0000000 1.592786E+01 3.301890E-01 -1.257020E-01 3.040000E-02 3.823800E-02 0.0000000 0.0000000 8.038035E+00 3.319360E-01 -1.330980E-01 3.304700E-02 3.933700E-02 0.0000000 0.0000000 4.093916E+00 1.584880E-01 1.740600E-02 -8.251000E-03 -6.106000E-03 0.0000000 0.0000000 2.022390E+00 2.231000E-02 3.151650E-01 -8.855400E-02 -1.129620E-01 0.0000000 0.0000000 9.761020E-01 -1.566000E-03 4.618140E-01 -1.496120E-01 -1.681140E-01 0.0000000 0.0000000 4.595950E-01 -1.324000E-03 2.998560E-01 -9.422700E-02 -1.659320E-01 0.0000000 0.0000000 1.771520E-01 -2.710000E-04 5.000000E-02 2.508460E-01 3.914030E-01 0.0000000 0.0000000 7.351700E-02 3.200000E-05 -4.230000E-03 5.866430E-01 6.818400E-01 0.0000000 0.0000000 2.940100E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.176000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 4 0 6.401300E+01 3.887000E-03 -3.970000E-03 0.0000000 0.0000000 1.881790E+01 2.639900E-02 -2.687300E-02 0.0000000 0.0000000 6.728700E+00 9.751100E-02 -1.022750E-01 0.0000000 0.0000000 2.664130E+00 2.328480E-01 -2.377280E-01 0.0000000 0.0000000 1.078680E+00 3.531520E-01 -3.121140E-01 0.0000000 0.0000000 4.232090E-01 3.721860E-01 -4.237800E-02 0.0000000 0.0000000 1.559990E-01 2.476720E-01 5.886580E-01 0.0000000 0.0000000 5.188400E-02 0.0000000 0.0000000 1.0000000 0.0000000 1.726000E-02 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 2 0 1.227400E+00 3.581580E-01 0.0000000 2.788000E-01 8.257940E-01 0.0000000 8.266000E-02 0.0000000 1.0000000 $ VANADIUM (21s,17p,9d,3f) -> [7s,6p,4d,2f] $ VANADIUM (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ VANADIUM (1s,1p,1d,1f) a 23 $ S-TYPE FUNCTIONS 21 7 0 3.321857E+06 8.039999E-06 -4.503003E-06 9.320648E-07 -2.158944E-07 -4.093416E-07 0.0000000 0.0000000 4.974356E+05 6.251402E-05 -3.501295E-05 7.249306E-06 -1.678519E-06 -3.258956E-06 0.0000000 0.0000000 1.132027E+05 3.286553E-04 -1.841339E-04 3.811967E-05 -8.831213E-06 -1.656390E-05 0.0000000 0.0000000 3.206333E+04 1.385697E-03 -7.769216E-04 1.610238E-04 -3.727769E-05 -7.316689E-05 0.0000000 0.0000000 1.045962E+04 5.016217E-03 -2.819505E-03 5.852210E-04 -1.356099E-04 -2.512784E-04 0.0000000 0.0000000 3.775506E+03 1.606931E-02 -9.087486E-03 1.897502E-03 -4.392351E-04 -8.732657E-04 0.0000000 0.0000000 1.472040E+03 4.574242E-02 -2.627134E-02 5.550909E-03 -1.286948E-03 -2.347654E-03 0.0000000 0.0000000 6.099331E+02 1.128544E-01 -6.712726E-02 1.460584E-02 -3.382149E-03 -6.853150E-03 0.0000000 0.0000000 2.652634E+02 2.254344E-01 -1.451130E-01 3.342974E-02 -7.765646E-03 -1.376420E-02 0.0000000 0.0000000 1.198607E+02 3.140461E-01 -2.412483E-01 6.235722E-02 -1.447985E-02 -3.084679E-02 0.0000000 0.0000000 5.544891E+01 2.267819E-01 -2.416314E-01 7.312435E-02 -1.715502E-02 -2.562208E-02 0.0000000 0.0000000 2.498372E+01 7.334069E-02 3.067362E-02 -1.911472E-02 4.610101E-03 -1.005123E-02 0.0000000 0.0000000 1.188056E+01 1.102474E-01 4.970415E-01 -2.817249E-01 6.827831E-02 1.795330E-01 0.0000000 0.0000000 5.660311E+00 1.131358E-01 4.958875E-01 -4.488151E-01 1.161368E-01 1.522400E-01 0.0000000 0.0000000 2.495703E+00 1.971295E-02 9.181868E-02 9.202696E-02 -3.277049E-02 9.483887E-02 0.0000000 0.0000000 1.177866E+00 -4.719088E-04 -5.392514E-03 7.110117E-01 -2.280000E-01 -1.014876E+00 0.0000000 0.0000000 5.200440E-01 1.861606E-04 7.102380E-04 4.309274E-01 -2.793991E-01 2.308810E-01 0.0000000 0.0000000 1.159650E-01 -6.208598E-05 -6.363128E-04 2.604589E-02 2.771165E-01 2.113321E+00 0.0000000 0.0000000 5.893800E-02 7.295314E-05 5.979932E-04 -1.101049E-02 5.852999E-01 -1.253048E+00 0.0000000 0.0000000 2.694600E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.232000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 6 0 1.327320E+04 4.300000E-05 -1.500000E-05 4.000000E-06 4.000000E-06 0.0000000 0.0000000 3.142126E+03 3.840000E-04 -1.310000E-04 3.200000E-05 3.900000E-05 0.0000000 0.0000000 1.020588E+03 2.210000E-03 -7.550000E-04 1.830000E-04 2.230000E-04 0.0000000 0.0000000 3.904407E+02 9.678000E-03 -3.325000E-03 8.020000E-04 9.960000E-04 0.0000000 0.0000000 1.655043E+02 3.393600E-02 -1.181100E-02 2.862000E-03 3.498000E-03 0.0000000 0.0000000 7.532006E+01 9.591700E-02 -3.425600E-02 8.287000E-03 1.029600E-02 0.0000000 0.0000000 3.605503E+01 2.088530E-01 -7.736300E-02 1.887000E-02 2.296200E-02 0.0000000 0.0000000 1.780436E+01 3.306600E-01 -1.284560E-01 3.130700E-02 3.920800E-02 0.0000000 0.0000000 9.002929E+00 3.323120E-01 -1.350780E-01 3.366000E-02 3.994300E-02 0.0000000 0.0000000 4.594544E+00 1.581880E-01 2.083800E-02 -9.479000E-03 -7.121000E-03 0.0000000 0.0000000 2.276760E+00 2.225200E-02 3.204990E-01 -9.231300E-02 -1.162250E-01 0.0000000 0.0000000 1.101178E+00 -1.565000E-03 4.602600E-01 -1.489890E-01 -1.694960E-01 0.0000000 0.0000000 5.186380E-01 -1.353000E-03 2.953460E-01 -8.364400E-02 -1.553740E-01 0.0000000 0.0000000 2.005650E-01 -2.650000E-04 4.904600E-02 2.493390E-01 3.950220E-01 0.0000000 0.0000000 8.129100E-02 2.900000E-05 -3.824000E-03 5.805150E-01 6.789080E-01 0.0000000 0.0000000 3.179500E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.244000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 4 0 7.761150E+01 3.595000E-03 -3.818000E-03 0.0000000 0.0000000 2.291590E+01 2.521000E-02 -2.671700E-02 0.0000000 0.0000000 8.279540E+00 9.478600E-02 -1.036900E-01 0.0000000 0.0000000 3.309930E+00 2.303630E-01 -2.476890E-01 0.0000000 0.0000000 1.358630E+00 3.528940E-01 -3.115230E-01 0.0000000 0.0000000 5.413500E-01 3.704140E-01 -2.282700E-02 0.0000000 0.0000000 2.023560E-01 2.457180E-01 5.697260E-01 0.0000000 0.0000000 6.756800E-02 0.0000000 0.0000000 1.0000000 0.0000000 2.256000E-02 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 2 0 1.748800E+00 3.900680E-01 0.0000000 4.057000E-01 8.008410E-01 0.0000000 1.311200E-01 0.0000000 1.0000000 $ CHROMIUM (21s,17p,9d,3f) -> [7s,6p,4d,2f] $ CHROMIUM (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ CHROMIUM (1s,1p,1d,1f) a 24 $ S-TYPE FUNCTIONS 21 7 0 6.177194E+06 4.128667E-06 -2.301772E-06 4.862957E-07 -1.102451E-07 2.179893E-07 0.0000000 0.0000000 9.249295E+05 3.210767E-05 -1.789536E-05 3.776645E-06 -8.530233E-07 1.612940E-06 0.0000000 0.0000000 2.104865E+05 1.688416E-04 -9.416174E-05 1.990664E-05 -4.520358E-06 9.111842E-06 0.0000000 0.0000000 5.962005E+04 7.128520E-04 -3.975074E-04 8.389164E-05 -1.891612E-05 3.500645E-05 0.0000000 0.0000000 1.945076E+04 2.589325E-03 -1.447025E-03 3.065706E-04 -6.974344E-05 1.435315E-04 0.0000000 0.0000000 7.022056E+03 8.377350E-03 -4.694622E-03 9.944107E-04 -2.237867E-04 4.035896E-04 0.0000000 0.0000000 2.738763E+03 2.441725E-02 -1.382387E-02 2.961959E-03 -6.754503E-04 1.425177E-03 0.0000000 0.0000000 1.135814E+03 6.365135E-02 -3.674643E-02 7.969473E-03 -1.789346E-03 3.114009E-03 0.0000000 0.0000000 4.950923E+02 1.427618E-01 -8.647185E-02 1.955017E-02 -4.477858E-03 9.814449E-03 0.0000000 0.0000000 2.247487E+02 2.541275E-01 -1.696735E-01 4.085035E-02 -9.140144E-03 1.474698E-02 0.0000000 0.0000000 1.053836E+02 3.009512E-01 -2.507089E-01 6.929003E-02 -1.610562E-02 3.911512E-02 0.0000000 0.0000000 5.019359E+01 1.766513E-01 -1.961156E-01 6.146984E-02 -1.334870E-02 9.170888E-03 0.0000000 0.0000000 2.224957E+01 6.936709E-02 1.457244E-01 -6.981302E-02 1.426027E-02 1.559878E-02 0.0000000 0.0000000 1.098265E+01 1.179579E-01 5.466706E-01 -3.517597E-01 8.931690E-02 -2.816844E-01 0.0000000 0.0000000 5.383665E+00 8.916187E-02 3.979434E-01 -3.828629E-01 8.885279E-02 -6.895261E-03 0.0000000 0.0000000 2.343685E+00 1.103630E-02 5.277007E-02 2.676401E-01 -6.368776E-02 -1.769781E-01 0.0000000 0.0000000 1.105202E+00 -3.546048E-04 -4.374537E-03 7.175950E-01 -2.783262E-01 1.443061E+00 0.0000000 0.0000000 4.878480E-01 1.057311E-04 3.204035E-04 3.020814E-01 -1.830071E-01 -1.029318E+00 0.0000000 0.0000000 8.959900E-02 1.114640E-05 -5.142077E-05 7.749514E-03 6.790937E-01 -1.307667E+00 0.0000000 0.0000000 3.342300E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.247000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 6 0 1.445420E+04 4.400000E-05 -1.500000E-05 4.000000E-06 4.000000E-06 0.0000000 0.0000000 3.421676E+03 3.890000E-04 -1.350000E-04 3.200000E-05 4.000000E-05 0.0000000 0.0000000 1.111387E+03 2.241000E-03 -7.770000E-04 1.850000E-04 2.290000E-04 0.0000000 0.0000000 4.251918E+02 9.821000E-03 -3.427000E-03 8.100000E-04 1.019000E-03 0.0000000 0.0000000 1.802623E+02 3.447100E-02 -1.218900E-02 2.906000E-03 3.602000E-03 0.0000000 0.0000000 8.206117E+01 9.746000E-02 -3.538800E-02 8.391000E-03 1.055000E-02 0.0000000 0.0000000 3.929726E+01 2.119850E-01 -7.991500E-02 1.919300E-02 2.370200E-02 0.0000000 0.0000000 1.941959E+01 3.339900E-01 -1.323350E-01 3.156400E-02 3.998800E-02 0.0000000 0.0000000 9.828899E+00 3.301370E-01 -1.354010E-01 3.341700E-02 4.043700E-02 0.0000000 0.0000000 5.016810E+00 1.522270E-01 3.200800E-02 -1.290700E-02 -1.207400E-02 0.0000000 0.0000000 2.487091E+00 2.042500E-02 3.338490E-01 -9.365900E-02 -1.189390E-01 0.0000000 0.0000000 1.198780E+00 -1.360000E-03 4.617730E-01 -1.499770E-01 -1.781000E-01 0.0000000 0.0000000 5.586950E-01 -1.195000E-03 2.812900E-01 -6.723400E-02 -1.238650E-01 0.0000000 0.0000000 2.089240E-01 -1.970000E-04 4.184300E-02 2.707590E-01 4.297220E-01 0.0000000 0.0000000 8.460800E-02 2.300000E-05 -4.002000E-03 5.758070E-01 6.507860E-01 0.0000000 0.0000000 3.325800E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.307000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 4 0 8.857680E+01 3.621000E-03 -4.122000E-03 0.0000000 0.0000000 2.620450E+01 2.576600E-02 -2.930700E-02 0.0000000 0.0000000 9.517470E+00 9.755600E-02 -1.150620E-01 0.0000000 0.0000000 3.822480E+00 2.363120E-01 -2.730680E-01 0.0000000 0.0000000 1.575120E+00 3.582860E-01 -3.144230E-01 0.0000000 0.0000000 6.289280E-01 3.685430E-01 4.209700E-02 0.0000000 0.0000000 2.344240E-01 2.354940E-01 5.914030E-01 0.0000000 0.0000000 7.681500E-02 0.0000000 0.0000000 1.0000000 0.0000000 2.517000E-02 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 2 0 2.221100E+00 4.235450E-01 0.0000000 5.231000E-01 7.741140E-01 0.0000000 1.763600E-01 0.0000000 1.0000000 $ MANGANESE (21s,17p,9d,3f) -> [7s,6p,4d,2f] $ MANGANESE (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ MANGANESE (1s,1p,1d,1f) a 25 $ S-TYPE FUNCTIONS 21 7 0 3.960805E+06 8.242127E-06 -3.936095E-06 9.462709E-07 -2.095391E-07 -4.121231E-07 0.0000000 0.0000000 5.931155E+05 6.408587E-05 -3.060481E-05 7.360584E-06 -1.629439E-06 -3.282099E-06 0.0000000 0.0000000 1.349768E+05 3.369253E-04 -1.609626E-04 3.869935E-05 -8.570592E-06 -1.667433E-05 0.0000000 0.0000000 3.823067E+04 1.420648E-03 -6.792348E-04 1.635110E-04 -3.619272E-05 -7.369999E-05 0.0000000 0.0000000 1.247154E+04 5.143683E-03 -2.466182E-03 5.941775E-04 -1.316146E-04 -2.529495E-04 0.0000000 0.0000000 4.501743E+03 1.648569E-02 -7.957629E-03 1.927737E-03 -4.266810E-04 -8.801425E-04 0.0000000 0.0000000 1.755212E+03 4.698560E-02 -2.307248E-02 5.641731E-03 -1.250270E-03 -2.365482E-03 0.0000000 0.0000000 7.273039E+02 1.162437E-01 -5.932956E-02 1.487848E-02 -3.294665E-03 -6.926354E-03 0.0000000 0.0000000 3.163678E+02 2.335277E-01 -1.299451E-01 3.414783E-02 -7.581860E-03 -1.393851E-02 0.0000000 0.0000000 1.430098E+02 3.292837E-01 -2.212352E-01 6.405794E-02 -1.422864E-02 -3.143840E-02 0.0000000 0.0000000 6.621805E+01 2.440304E-01 -2.292550E-01 7.557659E-02 -1.693796E-02 -2.625749E-02 0.0000000 0.0000000 2.991896E+01 7.219806E-02 3.580733E-02 -1.946070E-02 4.454298E-03 -1.048313E-02 0.0000000 0.0000000 1.430318E+01 7.687806E-02 5.107602E-01 -2.957874E-01 6.867042E-02 1.856472E-01 0.0000000 0.0000000 6.839451E+00 7.852235E-02 5.008307E-01 -4.521170E-01 1.113335E-01 1.524839E-01 0.0000000 0.0000000 3.012374E+00 1.294109E-02 9.011830E-02 1.224531E-01 -3.900820E-02 7.411368E-02 0.0000000 0.0000000 1.418808E+00 -3.784873E-04 -6.909909E-03 7.169756E-01 -2.215755E-01 -1.018097E+00 0.0000000 0.0000000 6.236240E-01 -2.503203E-05 -1.912925E-04 4.092712E-01 -2.544359E-01 2.980372E-01 0.0000000 0.0000000 1.340980E-01 -2.421517E-05 -6.032312E-04 2.221969E-02 2.865866E-01 1.971989E+00 0.0000000 0.0000000 6.554800E-02 3.462071E-05 5.621608E-04 -9.011202E-03 5.755741E-01 -1.179253E+00 0.0000000 0.0000000 2.958400E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.335000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 6 0 1.620586E+04 4.200000E-05 -1.500000E-05 3.000000E-06 4.000000E-06 0.0000000 0.0000000 3.836274E+03 3.730000E-04 -1.290000E-04 3.000000E-05 4.000000E-05 0.0000000 0.0000000 1.246048E+03 2.149000E-03 -7.480000E-04 1.720000E-04 2.260000E-04 0.0000000 0.0000000 4.767535E+02 9.445000E-03 -3.308000E-03 7.620000E-04 1.013000E-03 0.0000000 0.0000000 2.021895E+02 3.329700E-02 -1.181100E-02 2.726000E-03 3.575000E-03 0.0000000 0.0000000 9.209487E+01 9.475900E-02 -3.453300E-02 7.976000E-03 1.061200E-02 0.0000000 0.0000000 4.414720E+01 2.081440E-01 -7.878500E-02 1.828700E-02 2.390200E-02 0.0000000 0.0000000 2.185468E+01 3.318050E-01 -1.321830E-01 3.077600E-02 4.127900E-02 0.0000000 0.0000000 1.108596E+01 3.331750E-01 -1.371950E-01 3.237300E-02 4.147500E-02 0.0000000 0.0000000 5.674108E+00 1.576010E-01 2.707500E-02 -9.978000E-03 -9.458000E-03 0.0000000 0.0000000 2.823170E+00 2.144500E-02 3.288910E-01 -9.052900E-02 -1.236950E-01 0.0000000 0.0000000 1.368621E+00 -2.558000E-03 4.572800E-01 -1.380040E-01 -1.743920E-01 0.0000000 0.0000000 6.444310E-01 -2.027000E-03 2.889080E-01 -7.796500E-02 -1.291700E-01 0.0000000 0.0000000 2.483820E-01 -3.600000E-04 4.743300E-02 2.295600E-01 4.003480E-01 0.0000000 0.0000000 9.725500E-02 3.400000E-05 -3.522000E-03 5.761220E-01 6.696460E-01 0.0000000 0.0000000 3.663300E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.380000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 4 0 1.006630E+02 3.579000E-03 -3.454000E-03 0.0000000 0.0000000 2.983360E+01 2.582700E-02 -2.492500E-02 0.0000000 0.0000000 1.088940E+01 9.855900E-02 -9.763500E-02 0.0000000 0.0000000 4.393580E+00 2.383270E-01 -2.366920E-01 0.0000000 0.0000000 1.817820E+00 3.587070E-01 -2.923500E-01 0.0000000 0.0000000 7.278270E-01 3.650920E-01 -4.973000E-03 0.0000000 0.0000000 2.712950E-01 2.337380E-01 5.065880E-01 0.0000000 0.0000000 8.830900E-02 0.0000000 0.0000000 1.0000000 0.0000000 2.875000E-02 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 2 0 2.703200E+00 4.267760E-01 0.0000000 6.438000E-01 7.697990E-01 0.0000000 2.226000E-01 0.0000000 1.0000000 $ IRON (21s,17p,9d,3f) -> [7s,6p,4d,2f] $ IRON (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ IRON (1s,1p,1d,1f) a 26 $ S-TYPE FUNCTIONS 21 7 0 4.316265E+06 8.048803E-06 -4.155954E-06 9.532178E-07 -2.063008E-07 -4.009367E-07 0.0000000 0.0000000 6.463424E+05 6.258306E-05 -3.231401E-05 7.414605E-06 -1.604169E-06 -3.189255E-06 0.0000000 0.0000000 1.470897E+05 3.290239E-04 -1.699525E-04 3.898393E-05 -8.438437E-06 -1.623079E-05 0.0000000 0.0000000 4.166152E+04 1.387355E-03 -7.171369E-04 1.647152E-04 -3.563151E-05 -7.157920E-05 0.0000000 0.0000000 1.359077E+04 5.023256E-03 -2.603625E-03 5.985980E-04 -1.295998E-04 -2.463958E-04 0.0000000 0.0000000 4.905750E+03 1.610140E-02 -8.399109E-03 1.942390E-03 -4.201534E-04 -8.544907E-04 0.0000000 0.0000000 1.912746E+03 4.590034E-02 -2.434109E-02 5.687237E-03 -1.231954E-03 -2.307593E-03 0.0000000 0.0000000 7.926043E+02 1.136154E-01 -6.251948E-02 1.501329E-02 -3.248922E-03 -6.728292E-03 0.0000000 0.0000000 3.448065E+02 2.283869E-01 -1.365929E-01 3.452455E-02 -7.493717E-03 -1.366165E-02 0.0000000 0.0000000 1.558999E+02 3.221159E-01 -2.312707E-01 6.495820E-02 -1.410102E-02 -3.062240E-02 0.0000000 0.0000000 7.223091E+01 2.383661E-01 -2.383734E-01 7.716194E-02 -1.691600E-02 -2.631137E-02 0.0000000 0.0000000 3.272506E+01 7.404667E-02 3.123837E-02 -1.873411E-02 4.218996E-03 -9.760183E-03 0.0000000 0.0000000 1.566762E+01 9.214197E-02 5.086818E-01 -3.009185E-01 6.833810E-02 1.801906E-01 0.0000000 0.0000000 7.503483E+00 9.339790E-02 4.987695E-01 -4.554661E-01 1.098201E-01 1.529634E-01 0.0000000 0.0000000 3.312223E+00 1.573965E-02 9.033552E-02 1.286463E-01 -4.009005E-02 5.505413E-02 0.0000000 0.0000000 1.558471E+00 -4.186682E-04 -6.005337E-03 7.183316E-01 -2.174739E-01 -9.551364E-01 0.0000000 0.0000000 6.839140E-01 5.376318E-05 2.312454E-04 4.051743E-01 -2.465135E-01 2.586813E-01 0.0000000 0.0000000 1.467570E-01 -3.816654E-05 -5.643680E-04 2.168227E-02 2.731435E-01 1.834049E+00 0.0000000 0.0000000 7.058300E-02 4.319603E-05 4.992260E-04 -8.343566E-03 5.748321E-01 -9.333240E-01 0.0000000 0.0000000 3.144900E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.401000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 6 0 1.774569E+04 4.100000E-05 -1.500000E-05 3.000000E-06 5.000000E-06 0.0000000 0.0000000 4.200721E+03 3.690000E-04 -1.300000E-04 2.900000E-05 4.200000E-05 0.0000000 0.0000000 1.364429E+03 2.129000E-03 -7.510000E-04 1.650000E-04 2.410000E-04 0.0000000 0.0000000 5.220806E+02 9.369000E-03 -3.329000E-03 7.340000E-04 1.085000E-03 0.0000000 0.0000000 2.214595E+02 3.309700E-02 -1.191200E-02 2.626000E-03 3.831000E-03 0.0000000 0.0000000 1.009096E+02 9.443100E-02 -3.493300E-02 7.725000E-03 1.142300E-02 0.0000000 0.0000000 4.840115E+01 2.080770E-01 -7.998900E-02 1.773300E-02 2.579200E-02 0.0000000 0.0000000 2.398536E+01 3.323330E-01 -1.346360E-01 3.005500E-02 4.481800E-02 0.0000000 0.0000000 1.218250E+01 3.329870E-01 -1.385980E-01 3.109400E-02 4.459800E-02 0.0000000 0.0000000 6.242298E+00 1.568430E-01 3.027800E-02 -1.004800E-02 -1.117700E-02 0.0000000 0.0000000 3.110944E+00 2.154900E-02 3.332160E-01 -8.830600E-02 -1.381340E-01 0.0000000 0.0000000 1.509958E+00 -2.095000E-03 4.561530E-01 -1.298240E-01 -1.882850E-01 0.0000000 0.0000000 7.108450E-01 -1.739000E-03 2.850510E-01 -7.693700E-02 -1.073990E-01 0.0000000 0.0000000 2.731900E-01 -3.000000E-04 4.614400E-02 2.126610E-01 4.448630E-01 0.0000000 0.0000000 1.042330E-01 2.900000E-05 -3.249000E-03 5.730610E-01 6.402390E-01 0.0000000 0.0000000 3.829100E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.407000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 4 0 1.133440E+02 3.530000E-03 -3.890000E-03 0.0000000 0.0000000 3.364140E+01 2.578400E-02 -2.844200E-02 0.0000000 0.0000000 1.233100E+01 9.911900E-02 -1.124290E-01 0.0000000 0.0000000 4.994780E+00 2.390730E-01 -2.742570E-01 0.0000000 0.0000000 2.072800E+00 3.571990E-01 -3.155460E-01 0.0000000 0.0000000 8.307530E-01 3.621880E-01 5.710900E-02 0.0000000 0.0000000 3.091780E-01 2.364610E-01 5.636040E-01 0.0000000 0.0000000 1.001300E-01 0.0000000 0.0000000 1.0000000 0.0000000 3.243000E-02 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 2 0 3.224300E+00 4.222490E-01 0.0000000 7.758000E-01 7.714680E-01 0.0000000 2.749000E-01 0.0000000 1.0000000 $ COBALT (21s,17p,9d,3f) -> [7s,6p,4d,2f] $ COBALT (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ COBALT (1s,1p,1d,1f) a 27 $ S-TYPE FUNCTIONS 21 7 0 4.675675E+06 7.979026E-06 -4.200240E-06 9.592692E-07 -2.028840E-07 -3.863053E-07 0.0000000 0.0000000 7.001615E+05 6.204071E-05 -3.265831E-05 7.461851E-06 -1.577580E-06 -3.068788E-06 0.0000000 0.0000000 1.593373E+05 3.261735E-04 -1.717644E-04 3.923137E-05 -8.298813E-06 -1.564826E-05 0.0000000 0.0000000 4.513046E+04 1.375360E-03 -7.247853E-04 1.657706E-04 -3.504154E-05 -6.883588E-05 0.0000000 0.0000000 1.472238E+04 4.979997E-03 -2.631462E-03 6.024335E-04 -1.274655E-04 -2.377367E-04 0.0000000 0.0000000 5.314222E+03 1.596434E-02 -8.489272E-03 1.955217E-03 -4.132695E-04 -8.213173E-04 0.0000000 0.0000000 2.072018E+03 4.552086E-02 -2.460619E-02 5.726326E-03 -1.212261E-03 -2.229630E-03 0.0000000 0.0000000 8.586188E+02 1.127385E-01 -6.322059E-02 1.512984E-02 -3.199318E-03 -6.467841E-03 0.0000000 0.0000000 3.735497E+02 2.268262E-01 -1.381957E-01 3.483973E-02 -7.390972E-03 -1.325463E-02 0.0000000 0.0000000 1.689229E+02 3.203074E-01 -2.340680E-01 6.570351E-02 -1.393649E-02 -2.946686E-02 0.0000000 0.0000000 7.829639E+01 2.374021E-01 -2.415002E-01 7.831503E-02 -1.678575E-02 -2.599066E-02 0.0000000 0.0000000 3.552123E+01 7.477686E-02 3.035312E-02 -1.877037E-02 4.149856E-03 -8.499807E-03 0.0000000 0.0000000 1.704144E+01 9.581872E-02 5.101341E-01 -3.062663E-01 6.797646E-02 1.727316E-01 0.0000000 0.0000000 8.173000E+00 9.649911E-02 4.974939E-01 -4.566429E-01 1.075807E-01 1.512189E-01 0.0000000 0.0000000 3.610318E+00 1.623362E-02 8.970746E-02 1.378169E-01 -4.166022E-02 3.554509E-02 0.0000000 0.0000000 1.697047E+00 -4.535497E-04 -5.941034E-03 7.193676E-01 -2.128044E-01 -8.829353E-01 0.0000000 0.0000000 7.435320E-01 5.113519E-05 2.175362E-04 3.992579E-01 -2.381360E-01 2.143530E-01 0.0000000 0.0000000 1.583440E-01 -4.174508E-05 -5.480155E-04 2.079933E-02 2.650788E-01 1.711865E+00 0.0000000 0.0000000 7.503600E-02 4.027577E-05 4.525804E-04 -7.820663E-03 5.722774E-01 -7.140037E-01 0.0000000 0.0000000 3.309100E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.459000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 6 0 1.926778E+04 4.100000E-05 -1.500000E-05 -3.000000E-06 5.000000E-06 0.0000000 0.0000000 4.560986E+03 3.690000E-04 -1.310000E-04 -2.900000E-05 4.500000E-05 0.0000000 0.0000000 1.481436E+03 2.128000E-03 -7.580000E-04 -1.670000E-04 2.550000E-04 0.0000000 0.0000000 5.668671E+02 9.372000E-03 -3.363000E-03 -7.420000E-04 1.144000E-03 0.0000000 0.0000000 2.404910E+02 3.315500E-02 -1.205400E-02 -2.662000E-03 4.061000E-03 0.0000000 0.0000000 1.096105E+02 9.475200E-02 -3.542400E-02 -7.841000E-03 1.209500E-02 0.0000000 0.0000000 5.259491E+01 2.090930E-01 -8.128700E-02 -1.805100E-02 2.747600E-02 0.0000000 0.0000000 2.608361E+01 3.337220E-01 -1.369080E-01 -3.058000E-02 4.755700E-02 0.0000000 0.0000000 1.326143E+01 3.322080E-01 -1.390190E-01 -3.131200E-02 4.730200E-02 0.0000000 0.0000000 6.799778E+00 1.546130E-01 3.546800E-02 1.131100E-02 -1.441800E-02 0.0000000 0.0000000 3.393414E+00 2.090200E-02 3.384980E-01 8.999000E-02 -1.500620E-01 0.0000000 0.0000000 1.648766E+00 -2.024000E-03 4.544330E-01 1.307330E-01 -1.990920E-01 0.0000000 0.0000000 7.762820E-01 -1.697000E-03 2.797930E-01 7.180800E-02 -7.978300E-02 0.0000000 0.0000000 2.980030E-01 -2.800000E-04 4.477600E-02 -2.216580E-01 4.590350E-01 0.0000000 0.0000000 1.136180E-01 2.600000E-05 -3.151000E-03 -5.710250E-01 6.174950E-01 0.0000000 0.0000000 4.162400E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.525000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 4 0 1.262640E+02 3.510000E-03 -4.067000E-03 0.0000000 0.0000000 3.752260E+01 2.588400E-02 -3.005300E-02 0.0000000 0.0000000 1.380210E+01 1.000580E-01 -1.196200E-01 0.0000000 0.0000000 5.609270E+00 2.405470E-01 -2.915130E-01 0.0000000 0.0000000 2.333690E+00 3.568430E-01 -3.180480E-01 0.0000000 0.0000000 9.364150E-01 3.595790E-01 9.169800E-02 0.0000000 0.0000000 3.482370E-01 2.366290E-01 5.608230E-01 0.0000000 0.0000000 1.123530E-01 0.0000000 0.0000000 1.0000000 0.0000000 3.625000E-02 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 2 0 3.772400E+00 4.239660E-01 0.0000000 9.170000E-01 7.684290E-01 0.0000000 3.271500E-01 0.0000000 1.0000000 $ NICKEL (21s,17p,9d,3f) -> [7s,6p,4d,2f] $ NICKEL (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ NICKEL (1s,1p,1d,1f) a 28 $ S-TYPE FUNCTIONS 21 7 0 5.045991E+06 8.208996E-06 -3.657849E-06 9.594149E-07 -2.013753E-07 -3.924245E-07 0.0000000 0.0000000 7.556142E+05 6.382884E-05 -2.844094E-05 7.462614E-06 -1.565832E-06 -3.113909E-06 0.0000000 0.0000000 1.719568E+05 3.355800E-04 -1.495928E-04 3.923843E-05 -8.237182E-06 -1.590447E-05 0.0000000 0.0000000 4.870479E+04 1.415075E-03 -6.313009E-04 1.657868E-04 -3.478105E-05 -6.981394E-05 0.0000000 0.0000000 1.588841E+04 5.124444E-03 -2.293052E-03 6.025905E-04 -1.265265E-04 -2.417848E-04 0.0000000 0.0000000 5.735123E+03 1.643256E-02 -7.405123E-03 1.955662E-03 -4.102589E-04 -8.326195E-04 0.0000000 0.0000000 2.236137E+03 4.689398E-02 -2.152032E-02 5.730391E-03 -1.203834E-03 -2.270294E-03 0.0000000 0.0000000 9.266468E+02 1.163534E-01 -5.560974E-02 1.514756E-02 -3.179062E-03 -6.557427E-03 0.0000000 0.0000000 4.031743E+02 2.350511E-01 -1.230176E-01 3.493499E-02 -7.353828E-03 -1.354288E-02 0.0000000 0.0000000 1.823476E+02 3.350184E-01 -2.130104E-01 6.598072E-02 -1.389022E-02 -2.989768E-02 0.0000000 0.0000000 8.454885E+01 2.534779E-01 -2.265837E-01 7.893083E-02 -1.677875E-02 -2.693106E-02 0.0000000 0.0000000 3.839634E+01 7.300901E-02 3.546796E-02 -1.906249E-02 4.163378E-03 -7.827693E-03 0.0000000 0.0000000 1.845859E+01 6.184244E-02 5.181697E-01 -3.095921E-01 6.814703E-02 1.741667E-01 0.0000000 0.0000000 8.863548E+00 6.302956E-02 5.025630E-01 -4.558610E-01 1.061029E-01 1.595468E-01 0.0000000 0.0000000 3.916227E+00 1.008063E-02 8.955674E-02 1.482931E-01 -4.339980E-02 1.995550E-02 0.0000000 0.0000000 1.838870E+00 -2.244528E-04 -7.031311E-03 7.134039E-01 -2.094950E-01 -8.897000E-01 0.0000000 0.0000000 8.043620E-01 -5.932767E-05 -4.339167E-04 3.976063E-01 -2.310271E-01 2.486892E-01 0.0000000 0.0000000 1.697970E-01 -1.158562E-05 -5.831711E-04 2.295523E-02 2.590532E-01 1.613012E+00 0.0000000 0.0000000 7.930600E-02 8.115109E-06 4.228788E-04 -9.151758E-03 5.691426E-01 -5.990277E-01 0.0000000 0.0000000 3.467700E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.516000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 6 0 2.102792E+04 4.100000E-05 -1.500000E-05 3.000000E-06 6.000000E-06 0.0000000 0.0000000 4.977560E+03 3.630000E-04 -1.290000E-04 2.600000E-05 5.300000E-05 0.0000000 0.0000000 1.616740E+03 2.097000E-03 -7.490000E-04 1.520000E-04 3.050000E-04 0.0000000 0.0000000 6.186718E+02 9.250000E-03 -3.328000E-03 6.780000E-04 1.364000E-03 0.0000000 0.0000000 2.625183E+02 3.279600E-02 -1.194700E-02 2.427000E-03 4.876000E-03 0.0000000 0.0000000 1.196907E+02 9.400400E-02 -3.524200E-02 7.201000E-03 1.450300E-02 0.0000000 0.0000000 5.746585E+01 2.082800E-01 -8.120400E-02 1.657800E-02 3.329600E-02 0.0000000 0.0000000 2.852829E+01 3.336540E-01 -1.374930E-01 2.839200E-02 5.748200E-02 0.0000000 0.0000000 1.452148E+01 3.329040E-01 -1.392260E-01 2.859900E-02 5.870200E-02 0.0000000 0.0000000 7.453850E+00 1.553720E-01 3.601600E-02 -1.013200E-02 -1.990400E-02 0.0000000 0.0000000 3.723553E+00 2.085900E-02 3.391280E-01 -8.291200E-02 -1.946950E-01 0.0000000 0.0000000 1.809813E+00 -2.440000E-03 4.504720E-01 -1.159980E-01 -2.396130E-01 0.0000000 0.0000000 8.513360E-01 -1.998000E-03 2.817830E-01 -7.279500E-02 -2.232000E-03 0.0000000 0.0000000 3.248140E-01 -3.380000E-04 4.789800E-02 1.956400E-01 5.214350E-01 0.0000000 0.0000000 1.195220E-01 3.500000E-05 -2.987000E-03 5.670990E-01 5.455400E-01 0.0000000 0.0000000 4.236600E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.502000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 4 0 1.402527E+02 3.376000E-03 -3.495000E-03 0.0000000 0.0000000 4.172610E+01 2.514100E-02 -2.601500E-02 0.0000000 0.0000000 1.539810E+01 9.774600E-02 -1.038760E-01 0.0000000 0.0000000 6.277100E+00 2.347090E-01 -2.520700E-01 0.0000000 0.0000000 2.618500E+00 3.469450E-01 -2.945800E-01 0.0000000 0.0000000 1.052600E+00 3.510680E-01 1.152000E-03 0.0000000 0.0000000 3.916000E-01 2.502550E-01 4.385890E-01 0.0000000 0.0000000 1.262000E-01 0.0000000 0.0000000 1.0000000 0.0000000 4.067000E-02 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 2 0 4.345500E+00 4.174290E-01 0.0000000 1.068000E+00 7.714830E-01 0.0000000 4.083000E-01 0.0000000 1.0000000 $ COPPER (21s,17p,9d,3f) -> [7s,6p,4d,2f] $ COPPER (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ COPPER (1s,1p,1d,1f) a 29 $ S-TYPE FUNCTIONS 21 7 0 5.430321E+06 7.801026E-06 -4.404706E-06 9.704682E-07 -1.959354E-07 -3.532229E-07 0.0000000 0.0000000 8.131665E+05 6.065666E-05 -3.424801E-05 7.549245E-06 -1.523472E-06 -2.798812E-06 0.0000000 0.0000000 1.850544E+05 3.188964E-04 -1.801238E-04 3.968892E-05 -8.014808E-06 -1.432517E-05 0.0000000 0.0000000 5.241466E+04 1.344687E-03 -7.600455E-04 1.677200E-04 -3.383992E-05 -6.270946E-05 0.0000000 0.0000000 1.709868E+04 4.869050E-03 -2.759348E-03 6.095101E-04 -1.231191E-04 -2.179490E-04 0.0000000 0.0000000 6.171994E+03 1.561013E-02 -8.900970E-03 1.978846E-03 -3.992085E-04 -7.474316E-04 0.0000000 0.0000000 2.406481E+03 4.452077E-02 -2.579378E-02 5.798049E-03 -1.171900E-03 -2.049271E-03 0.0000000 0.0000000 9.972584E+02 1.103111E-01 -6.623861E-02 1.534158E-02 -3.096141E-03 -5.885203E-03 0.0000000 0.0000000 4.339289E+02 2.220342E-01 -1.445927E-01 3.540484E-02 -7.171993E-03 -1.226885E-02 0.0000000 0.0000000 1.962869E+02 3.133739E-01 -2.440110E-01 6.702098E-02 -1.356621E-02 -2.683147E-02 0.0000000 0.0000000 9.104280E+01 2.315121E-01 -2.504837E-01 8.026945E-02 -1.643989E-02 -2.479261E-02 0.0000000 0.0000000 4.138425E+01 7.640920E-02 2.852577E-02 -1.927231E-02 4.107628E-03 -5.984746E-03 0.0000000 0.0000000 1.993278E+01 1.103818E-01 5.115874E-01 -3.160129E-01 6.693964E-02 1.557124E-01 0.0000000 0.0000000 9.581891E+00 1.094372E-01 4.928061E-01 -4.573162E-01 1.028221E-01 1.436683E-01 0.0000000 0.0000000 4.234516E+00 1.836311E-02 8.788437E-02 1.550841E-01 -4.422945E-02 8.374103E-03 0.0000000 0.0000000 1.985814E+00 -6.043084E-04 -5.820281E-03 7.202872E-01 -2.031191E-01 -7.460711E-01 0.0000000 0.0000000 8.670830E-01 5.092245E-05 2.013508E-04 3.885122E-01 -2.230022E-01 1.244367E-01 0.0000000 0.0000000 1.813390E-01 -5.540730E-05 -5.182553E-04 1.924326E-02 2.517975E-01 1.510110E+00 0.0000000 0.0000000 8.365700E-02 3.969482E-05 3.731503E-04 -7.103807E-03 5.650091E-01 -3.477122E-01 0.0000000 0.0000000 3.626700E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.572000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 6 0 2.276057E+04 4.000000E-05 -1.500000E-05 3.000000E-06 5.000000E-06 0.0000000 0.0000000 5.387679E+03 3.610000E-04 -1.310000E-04 2.500000E-05 4.900000E-05 0.0000000 0.0000000 1.749945E+03 2.083000E-03 -7.550000E-04 1.470000E-04 2.780000E-04 0.0000000 0.0000000 6.696653E+02 9.197000E-03 -3.359000E-03 6.560000E-04 1.253000E-03 0.0000000 0.0000000 2.841948E+02 3.266000E-02 -1.208100E-02 2.351000E-03 4.447000E-03 0.0000000 0.0000000 1.296077E+02 9.379500E-02 -3.570300E-02 7.004000E-03 1.337000E-02 0.0000000 0.0000000 6.225415E+01 2.082740E-01 -8.250200E-02 1.613100E-02 3.046900E-02 0.0000000 0.0000000 3.092964E+01 3.339930E-01 -1.398900E-01 2.777000E-02 5.344700E-02 0.0000000 0.0000000 1.575827E+01 3.324930E-01 -1.407290E-01 2.756700E-02 5.263900E-02 0.0000000 0.0000000 8.094211E+00 1.547280E-01 3.876600E-02 -1.011500E-02 -1.688100E-02 0.0000000 0.0000000 4.046921E+00 2.127100E-02 3.426950E-01 -8.100900E-02 -1.794480E-01 0.0000000 0.0000000 1.967869E+00 -1.690000E-03 4.523100E-01 -1.104090E-01 -2.095880E-01 0.0000000 0.0000000 9.252950E-01 -1.516000E-03 2.770540E-01 -7.173200E-02 -3.963300E-02 0.0000000 0.0000000 3.529920E-01 -2.420000E-04 4.388500E-02 1.879300E-01 5.021300E-01 0.0000000 0.0000000 1.273070E-01 2.300000E-05 -2.802000E-03 5.646290E-01 5.811110E-01 0.0000000 0.0000000 4.435600E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.545000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 4 0 1.738970E+02 2.700000E-03 -3.363000E-03 0.0000000 0.0000000 5.188690E+01 2.090900E-02 -2.607900E-02 0.0000000 0.0000000 1.934190E+01 8.440800E-02 -1.082310E-01 0.0000000 0.0000000 7.975720E+00 2.139990E-01 -2.822170E-01 0.0000000 0.0000000 3.398230E+00 3.359800E-01 -3.471900E-01 0.0000000 0.0000000 1.409320E+00 3.573010E-01 2.671100E-02 0.0000000 0.0000000 5.488580E-01 2.645780E-01 4.920470E-01 0.0000000 0.0000000 1.901990E-01 0.0000000 0.0000000 1.0000000 0.0000000 6.591000E-02 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 2 0 5.028600E+00 4.242800E-01 0.0000000 1.259400E+00 7.630250E-01 0.0000000 4.617200E-01 0.0000000 1.0000000 $ ZINC (21s,17p,9d,3f) -> [7s,6p,4d,2f] $ ZINC (20s,16p,8d,2f) -> [6s,5p,3d,1f] $ ZINC (1s,1p,1d,1f) a 30 $ S-TYPE FUNCTIONS 21 7 0 5.820021E+06 8.549241E-06 -2.640069E-06 9.967103E-07 1.995818E-07 -5.435910E-07 0.0000000 0.0000000 8.715234E+05 6.647410E-05 -2.052720E-05 7.754163E-06 1.552973E-06 -4.336894E-06 0.0000000 0.0000000 1.983350E+05 3.494962E-04 -1.079859E-04 4.076019E-05 8.161259E-06 -2.197572E-05 0.0000000 0.0000000 5.617631E+04 1.473832E-03 -4.558577E-04 1.722811E-04 3.450747E-05 -9.747392E-05 0.0000000 0.0000000 1.832582E+04 5.338330E-03 -1.657758E-03 6.259370E-04 1.253275E-04 -3.331615E-04 0.0000000 0.0000000 6.614955E+03 1.712708E-02 -5.368492E-03 2.032855E-03 4.072990E-04 -1.166192E-03 0.0000000 0.0000000 2.579199E+03 4.894085E-02 -1.571249E-02 5.954646E-03 1.192734E-03 -3.119308E-03 0.0000000 0.0000000 1.068849E+03 1.217934E-01 -4.122558E-02 1.576640E-02 3.163140E-03 -9.239504E-03 0.0000000 0.0000000 4.651045E+02 2.476589E-01 -9.406459E-02 3.637638E-02 7.303942E-03 -1.855471E-02 0.0000000 0.0000000 2.104130E+02 3.582431E-01 -1.719954E-01 6.892343E-02 1.391279E-02 -4.281189E-02 0.0000000 0.0000000 9.761629E+01 2.798174E-01 -1.958523E-01 8.238093E-02 1.670620E-02 -3.571095E-02 0.0000000 0.0000000 4.438020E+01 6.857491E-02 4.532907E-02 -2.011360E-02 -4.035586E-03 -1.638350E-02 0.0000000 0.0000000 2.142308E+01 -1.311092E-03 5.244442E-01 -3.252526E-01 -6.968861E-02 2.644664E-01 0.0000000 0.0000000 1.030891E+01 1.914001E-03 5.006142E-01 -4.602899E-01 -1.030105E-01 2.086588E-01 0.0000000 0.0000000 4.553645E+00 -8.759220E-04 8.945527E-02 1.635546E-01 4.471442E-02 -1.774382E-02 0.0000000 0.0000000 2.132821E+00 3.740096E-04 -2.146262E-03 7.297118E-01 2.150027E-01 -1.353873E+00 0.0000000 0.0000000 9.296970E-01 -1.401399E-04 2.112113E-03 3.769751E-01 2.220163E-01 8.182926E-01 0.0000000 0.0000000 1.921470E-01 4.757132E-05 -4.133980E-04 1.433224E-02 -3.114776E-01 1.695036E+00 0.0000000 0.0000000 8.759500E-02 -3.642711E-05 3.209752E-04 -6.671210E-03 -5.693429E-01 -1.388656E+00 0.0000000 0.0000000 3.770200E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.623000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 17 6 0 2.441198E+04 4.100000E-05 -1.500000E-05 3.000000E-06 5.000000E-06 0.0000000 0.0000000 5.778518E+03 3.610000E-04 -1.350000E-04 2.500000E-05 4.200000E-05 0.0000000 0.0000000 1.876862E+03 2.088000E-03 -7.820000E-04 1.440000E-04 2.380000E-04 0.0000000 0.0000000 7.182361E+02 9.221000E-03 -3.478000E-03 6.450000E-04 1.088000E-03 0.0000000 0.0000000 3.048327E+02 3.277300E-02 -1.252000E-02 2.311000E-03 3.821000E-03 0.0000000 0.0000000 1.390453E+02 9.417900E-02 -3.701600E-02 6.898000E-03 1.164400E-02 0.0000000 0.0000000 6.680417E+01 2.091320E-01 -8.555900E-02 1.588200E-02 2.616700E-02 0.0000000 0.0000000 3.320699E+01 3.345690E-01 -1.447180E-01 2.735000E-02 4.675000E-02 0.0000000 0.0000000 1.692816E+01 3.303590E-01 -1.434420E-01 2.662100E-02 4.330900E-02 0.0000000 0.0000000 8.696229E+00 1.523470E-01 4.359500E-02 -1.085800E-02 -1.342900E-02 0.0000000 0.0000000 4.350510E+00 2.298400E-02 3.488880E-01 -7.985300E-02 -1.538970E-01 0.0000000 0.0000000 2.116523E+00 1.607000E-03 4.538650E-01 -1.061270E-01 -1.674130E-01 0.0000000 0.0000000 9.953870E-01 4.680000E-04 2.685940E-01 -6.888300E-02 -8.499500E-02 0.0000000 0.0000000 3.781120E-01 6.600000E-05 3.886800E-02 1.843850E-01 4.508130E-01 0.0000000 0.0000000 1.345790E-01 -2.000000E-06 -2.492000E-03 5.617880E-01 6.408690E-01 0.0000000 0.0000000 4.628200E-02 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 1.592000E-02 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 9 4 0 2.056177E+02 2.342000E-03 3.279000E-03 0.0000000 0.0000000 6.144981E+01 1.860600E-02 2.617600E-02 0.0000000 0.0000000 2.305689E+01 7.710200E-02 1.113670E-01 0.0000000 0.0000000 9.577739E+00 2.020260E-01 3.045810E-01 0.0000000 0.0000000 4.133734E+00 3.294540E-01 3.862990E-01 0.0000000 0.0000000 1.747518E+00 3.609760E-01 -5.837500E-02 0.0000000 0.0000000 6.995600E-01 2.716570E-01 -5.388760E-01 0.0000000 0.0000000 2.516080E-01 0.0000000 0.0000000 1.0000000 0.0000000 9.049000E-02 0.0000000 0.0000000 0.0000000 1.0000000 $ F-TYPE FUNCTIONS 3 2 0 5.734400E+00 4.311320E-01 0.0000000 1.461500E+00 7.546420E-01 0.0000000 5.486100E-01 0.0000000 1.0000000 $ GALLIUM (15s,12p,7d) -> [6s,5p,3d] $ GALLIUM (14s,11p,6d) -> [5s,4p,2d] $ GALLIUM (1s,1p,1d) a 31 $ S-TYPE FUNCTIONS 15 6 0 485130.0000000 0.0002068 -0.0000643 0.0000245 -0.0000057 0.0000000 0.0000000 72719.0000000 0.0016047 -0.0004954 0.0001895 -0.0000440 0.0000000 0.0000000 16552.0000000 0.0083402 -0.0026208 0.0009964 -0.0002305 0.0000000 0.0000000 4687.8000000 0.0340248 -0.0106839 0.0041082 -0.0009544 0.0000000 0.0000000 1529.1000000 0.1111699 -0.0374123 0.0142938 -0.0033055 0.0000000 0.0000000 551.8100000 0.2753930 -0.1009636 0.0398034 -0.0092888 0.0000000 0.0000000 215.1800000 0.4212628 -0.2145141 0.0855940 -0.0198644 0.0000000 0.0000000 88.1740000 0.2738906 -0.1752297 0.0796305 -0.0190888 0.0000000 0.0000000 27.1540000 0.0283720 0.4831599 -0.2939107 0.0732356 0.0000000 0.0000000 11.5030000 -0.0062931 0.6323677 -0.5263914 0.1341526 0.0000000 0.0000000 3.3018000 0.0020606 0.0684942 0.5864249 -0.1831929 0.0000000 0.0000000 1.3314000 -0.0009269 -0.0118712 0.6726347 -0.3571308 0.0000000 0.0000000 0.1931600 0.0002273 0.0026652 0.0276123 0.6246013 0.0000000 0.0000000 0.0708950 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0243480 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 5 0 3248.6000000 0.0015260 -0.0005803 0.0000950 0.0000000 0.0000000 769.9700000 0.0127486 -0.0048647 0.0007832 0.0000000 0.0000000 248.2000000 0.0633742 -0.0248394 0.0040855 0.0000000 0.0000000 93.3640000 0.2065775 -0.0841759 0.0135987 0.0000000 0.0000000 38.2510000 0.4092963 -0.1800885 0.0302695 0.0000000 0.0000000 16.4220000 0.3919183 -0.1585555 0.0241790 0.0000000 0.0000000 6.7918000 0.1029441 0.2355376 -0.0423777 0.0000000 0.0000000 2.8336000 -0.0007203 0.5820587 -0.1265661 0.0000000 0.0000000 1.1062000 0.0020950 0.3366619 -0.0499444 0.0000000 0.0000000 0.2225000 -0.0003290 0.0171912 0.4494199 0.0000000 0.0000000 0.0617720 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0151640 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 7 3 0 65.3370000 0.0273825 0.0000000 0.0000000 18.4970000 0.1510805 0.0000000 0.0000000 6.3150000 0.3749217 0.0000000 0.0000000 2.1635000 0.4750799 0.0000000 0.0000000 0.6667500 0.2982750 0.0000000 0.0000000 0.1884000 0.0000000 1.0000000 0.0000000 0.0537000 0.0000000 0.0000000 1.0000000 $ GERMANIUM (15s,12p,7d) -> [6s,5p,3d] $ GERMANIUM (14s,11p,6d) -> [5s,4p,2d] $ GERMANIUM (1s,1p,1d) a 32 $ S-TYPE FUNCTIONS 15 6 0 521800.0000000 0.0002045 -0.0000638 0.0000246 -0.0000063 0.0000000 0.0000000 78214.0000000 0.0015868 -0.0004916 0.0001900 -0.0000486 0.0000000 0.0000000 17803.0000000 0.0082480 -0.0026002 0.0009993 -0.0002553 0.0000000 0.0000000 5041.9000000 0.0336649 -0.0106080 0.0041200 -0.0010560 0.0000000 0.0000000 1644.5000000 0.1101249 -0.0371602 0.0143557 -0.0036674 0.0000000 0.0000000 593.4300000 0.2735607 -0.1005790 0.0400375 -0.0103053 0.0000000 0.0000000 231.3600000 0.4210670 -0.2143977 0.0865794 -0.0222200 0.0000000 0.0000000 94.7620000 0.2766791 -0.1782617 0.0815861 -0.0215275 0.0000000 0.0000000 29.2740000 0.0292180 0.4777404 -0.2934770 0.0806752 0.0000000 0.0000000 12.4500000 -0.0065903 0.6355983 -0.5367983 0.1524958 0.0000000 0.0000000 3.6463000 0.0022430 0.0722174 0.5637985 -0.1980528 0.0000000 0.0000000 1.5025000 -0.0010382 -0.0127265 0.6947182 -0.4073954 0.0000000 0.0000000 0.2450300 0.0002695 0.0029608 0.0315730 0.6477288 0.0000000 0.0000000 0.0915940 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0339610 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 5 0 3568.1000000 0.0014591 -0.0005630 0.0001115 0.0000000 0.0000000 845.7200000 0.0122176 -0.0047354 0.0009212 0.0000000 0.0000000 272.7400000 0.0610490 -0.0242643 0.0048273 0.0000000 0.0000000 102.6800000 0.2008039 -0.0830900 0.0162272 0.0000000 0.0000000 42.1480000 0.4038942 -0.1800247 0.0366354 0.0000000 0.0000000 18.1490000 0.3970027 -0.1663295 0.0307867 0.0000000 0.0000000 7.5934000 0.1105481 0.2193717 -0.0480643 0.0000000 0.0000000 3.1964000 0.0000768 0.5820239 -0.1559804 0.0000000 0.0000000 1.2743000 0.0021263 0.3477720 -0.0632370 0.0000000 0.0000000 0.2825800 -0.0003744 0.0192455 0.5040819 0.0000000 0.0000000 0.0840900 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0239450 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 7 3 0 74.7620000 0.0257684 0.0000000 0.0000000 21.3020000 0.1454421 0.0000000 0.0000000 7.3436000 0.3713721 0.0000000 0.0000000 2.5651000 0.4800002 0.0000000 0.0000000 0.8197000 0.2896800 0.0000000 0.0000000 0.2470000 0.0000000 1.0000000 0.0000000 0.0771000 0.0000000 0.0000000 1.0000000 $ ARSENIC (15s,12p,7d) -> [6s,5p,3d] $ ARSENIC (14s,11p,6d) -> [5s,4p,2d] $ ARSENIC (1s,1p,1d) a 33 $ S-TYPE FUNCTIONS 15 6 0 559583.7900000 0.0002024 -0.0000634 0.0000246 -0.0000068 0.0000000 0.0000000 83879.3300000 0.0015709 -0.0004883 0.0001907 -0.0000525 0.0000000 0.0000000 19092.6680000 0.0081662 -0.0025821 0.0010031 -0.0002756 0.0000000 0.0000000 5407.3925000 0.0333399 -0.0105402 0.0041353 -0.0011389 0.0000000 0.0000000 1763.7559000 0.1091726 -0.0369325 0.0144259 -0.0039646 0.0000000 0.0000000 636.4567200 0.2718853 -0.1002355 0.0402962 -0.0111423 0.0000000 0.0000000 248.0884300 0.4208509 -0.2142948 0.0875670 -0.0241991 0.0000000 0.0000000 101.5785100 0.2792257 -0.1810526 0.0835178 -0.0236339 0.0000000 0.0000000 31.4755130 0.0300301 0.4725410 -0.2932935 0.0866317 0.0000000 0.0000000 13.4372820 -0.0068804 0.6386194 -0.5470520 0.1685839 0.0000000 0.0000000 4.0086900 0.0024240 0.0758107 0.5438738 -0.2091425 0.0000000 0.0000000 1.6849290 -0.0011491 -0.0135278 0.7143591 -0.4500918 0.0000000 0.0000000 0.3000190 0.0003095 0.0031970 0.0353443 0.6603978 0.0000000 0.0000000 0.1135870 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0411520 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 5 0 3886.3564000 0.0014097 -0.0005519 0.0001236 0.0000000 0.0000000 921.2020100 0.0118277 -0.0046550 0.0010240 0.0000000 0.0000000 297.1931900 0.0593280 -0.0239176 0.0053805 0.0000000 0.0000000 111.9750800 0.1965115 -0.0825627 0.0182443 0.0000000 0.0000000 46.0346210 0.3997891 -0.1806791 0.0415979 0.0000000 0.0000000 19.8741940 0.4004653 -0.1724848 0.0362998 0.0000000 0.0000000 8.3860880 0.1164196 0.2086700 -0.0523569 0.0000000 0.0000000 3.5587280 0.0006918 0.5823622 -0.1791667 0.0000000 0.0000000 1.4472820 0.0021633 0.3537465 -0.0740477 0.0000000 0.0000000 0.3477790 -0.0004150 0.0206439 0.5358094 0.0000000 0.0000000 0.1076990 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0312680 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 7 3 0 84.4242340 0.0245288 0.0000000 0.0000000 24.1815890 0.1411340 0.0000000 0.0000000 8.4017770 0.3687579 0.0000000 0.0000000 2.9805020 0.4840626 0.0000000 0.0000000 0.9790030 0.2824434 0.0000000 0.0000000 0.3098000 0.0000000 1.0000000 0.0000000 0.1078000 0.0000000 0.0000000 1.0000000 $ SELENIUM (15s,12p,7d) -> [6s,5p,3d] $ SELENIUM (14s,11p,6d) -> [5s,4p,2d] $ SELENIUM (1s,1p,1d) a 34 $ S-TYPE FUNCTIONS 15 6 0 598990.0000000 0.0002004 -0.0000629 0.0000247 -0.0000072 0.0000000 0.0000000 89783.0000000 0.0015554 -0.0004850 0.0001913 -0.0000559 0.0000000 0.0000000 20435.0000000 0.0080872 -0.0025644 0.0010068 -0.0002938 0.0000000 0.0000000 5786.9000000 0.0330344 -0.0104761 0.0041514 -0.0012136 0.0000000 0.0000000 1887.3000000 0.1082924 -0.0367223 0.0144991 -0.0042340 0.0000000 0.0000000 680.9700000 0.2703361 -0.0999225 0.0405658 -0.0119035 0.0000000 0.0000000 265.3900000 0.4206236 -0.2141973 0.0885364 -0.0260206 0.0000000 0.0000000 108.6300000 0.2815922 -0.1836593 0.0854212 -0.0256148 0.0000000 0.0000000 33.7600000 0.0308110 0.4675454 -0.2932581 0.0919427 0.0000000 0.0000000 14.4650000 -0.0071617 0.6414740 -0.5570727 0.1838700 0.0000000 0.0000000 4.3890000 0.0026022 0.0792569 0.5261436 -0.2188461 0.0000000 0.0000000 1.8783000 -0.0012583 -0.0142697 0.7320371 -0.4896524 0.0000000 0.0000000 0.3585900 0.0003465 0.0033792 0.0388246 0.6775818 0.0000000 0.0000000 0.1364900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0487470 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 5 0 4135.6000000 0.0014127 -0.0005610 0.0001366 0.0000000 0.0000000 980.3400000 0.0118588 -0.0047340 0.0011308 0.0000000 0.0000000 316.3500000 0.0595153 -0.0243504 0.0059581 0.0000000 0.0000000 119.2500000 0.1972201 -0.0841071 0.0201866 0.0000000 0.0000000 49.0680000 0.4007439 -0.1841384 0.0461939 0.0000000 0.0000000 21.2120000 0.3994740 -0.1735004 0.0394050 0.0000000 0.0000000 8.9462000 0.1153364 0.2167263 -0.0592846 0.0000000 0.0000000 3.8236000 0.0002219 0.5850099 -0.2014663 0.0000000 0.0000000 1.5883000 0.0022838 0.3416816 -0.0687821 0.0000000 0.0000000 0.4096900 -0.0004756 0.0199125 0.5595944 0.0000000 0.0000000 0.1245900 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0354920 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 7 3 0 94.4720000 0.0234982 0.0000000 0.0000000 27.1800000 0.1375183 0.0000000 0.0000000 9.5068000 0.3664824 0.0000000 0.0000000 3.4168000 0.4874717 0.0000000 0.0000000 1.1479000 0.2765769 0.0000000 0.0000000 0.3682000 0.0000000 1.0000000 0.0000000 0.1283000 0.0000000 0.0000000 1.0000000 $ BROMINE (15s,12p,7d) -> [6s,5p,3d] $ BROMINE (14s,11p,6d) -> [5s,4p,2d] $ BROMINE (1s,1p,1d) a 35 $ S-TYPE FUNCTIONS 15 6 0 640100.0000000 0.0001984 -0.0000625 0.0000248 -0.0000076 0.0000000 0.0000000 95938.0000000 0.0015400 -0.0004816 0.0001919 -0.0000588 0.0000000 0.0000000 21833.0000000 0.0080096 -0.0025466 0.0010100 -0.0003092 0.0000000 0.0000000 6181.9000000 0.0327341 -0.0104112 0.0041659 -0.0012766 0.0000000 0.0000000 2015.7000000 0.1074480 -0.0365179 0.0145683 -0.0044634 0.0000000 0.0000000 727.1000000 0.2688946 -0.0996295 0.0408345 -0.0125575 0.0000000 0.0000000 283.2800000 0.4204411 -0.2141310 0.0894859 -0.0276145 0.0000000 0.0000000 115.9100000 0.2838041 -0.1860911 0.0872786 -0.0273945 0.0000000 0.0000000 36.1240000 0.0315455 0.4628261 -0.2933644 0.0964094 0.0000000 0.0000000 15.5320000 -0.0074268 0.6441141 -0.5667109 0.1976871 0.0000000 0.0000000 4.7857000 0.0027728 0.0825502 0.5105658 -0.2266693 0.0000000 0.0000000 2.0817000 -0.0013635 -0.0149694 0.7477214 -0.5241165 0.0000000 0.0000000 0.4202800 0.0003812 0.0035288 0.0421512 0.6889865 0.0000000 0.0000000 0.1606900 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0569460 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 5 0 4340.8000000 0.0014448 -0.0005819 0.0001518 0.0000000 0.0000000 1028.9000000 0.0121288 -0.0049065 0.0012563 0.0000000 0.0000000 332.0200000 0.0608077 -0.0252514 0.0066224 0.0000000 0.0000000 125.1600000 0.2009358 -0.0869445 0.0223816 0.0000000 0.0000000 51.5110000 0.4047419 -0.1893422 0.0509717 0.0000000 0.0000000 22.2810000 0.3957151 -0.1710882 0.0414009 0.0000000 0.0000000 9.3417000 0.1102213 0.2368755 -0.0703970 0.0000000 0.0000000 4.0132000 -0.0009090 0.5898400 -0.2232540 0.0000000 0.0000000 1.7002000 0.0024832 0.3171944 -0.0564179 0.0000000 0.0000000 0.4719400 -0.0005744 0.0179833 0.5808079 0.0000000 0.0000000 0.1442100 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0410490 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 7 3 0 104.8300000 0.0226583 0.0000000 0.0000000 30.2720000 0.1345895 0.0000000 0.0000000 10.6490000 0.3647181 0.0000000 0.0000000 3.8696000 0.4904196 0.0000000 0.0000000 1.3239000 0.2713885 0.0000000 0.0000000 0.4098000 0.0000000 1.0000000 0.0000000 0.1719000 0.0000000 0.0000000 1.0000000 $ KRYPTON (15s,12p,7d) -> [6s,5p,3d] $ KRYPTON (14s,11p,6d) -> [5s,4p,2d] $ KRYPTON (1s,1p,1d) a 36 $ S-TYPE FUNCTIONS 15 6 0 681358.8200000 0.0001969 -0.0000622 0.0000249 -0.0000079 0.0000000 0.0000000 102126.4800000 0.0015286 -0.0004794 0.0001928 -0.0000614 0.0000000 0.0000000 23243.7100000 0.0079500 -0.0025341 0.0010149 -0.0003230 0.0000000 0.0000000 6582.0073000 0.0324938 -0.0103636 0.0041857 -0.0013330 0.0000000 0.0000000 2146.4286000 0.1067240 -0.0363516 0.0146459 -0.0046672 0.0000000 0.0000000 774.3378200 0.2675701 -0.0993737 0.0411070 -0.0131352 0.0000000 0.0000000 301.6702000 0.4201851 -0.2140610 0.0903955 -0.0290342 0.0000000 0.0000000 123.4118400 0.2858015 -0.1883192 0.0890623 -0.0290173 0.0000000 0.0000000 38.5675510 0.0322461 0.4583816 -0.2935718 0.1002664 0.0000000 0.0000000 16.6373790 -0.0076828 0.6465664 -0.5759698 0.2103818 0.0000000 0.0000000 5.1987950 0.0029393 0.0856579 0.4968578 -0.2332471 0.0000000 0.0000000 2.2948140 -0.0014662 -0.0156123 0.7616895 -0.5546497 0.0000000 0.0000000 0.4852110 0.0004144 0.0036490 0.0453267 0.6969522 0.0000000 0.0000000 0.1862700 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0651450 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ P-TYPE FUNCTIONS 12 5 0 4474.2699000 0.0015195 -0.0006208 0.0001701 0.0000000 0.0000000 1060.5790000 0.0127424 -0.0052212 0.0014064 0.0000000 0.0000000 342.2081200 0.0636465 -0.0268463 0.0073963 0.0000000 0.0000000 128.9984200 0.2085635 -0.0915823 0.0248254 0.0000000 0.0000000 53.0872220 0.4122423 -0.1968164 0.0557155 0.0000000 0.0000000 22.9594250 0.3878103 -0.1634750 0.0412132 0.0000000 0.0000000 9.5073000 0.1003820 0.2738204 -0.0876057 0.0000000 0.0000000 4.0830550 -0.0025078 0.5981592 -0.2440586 0.0000000 0.0000000 1.7504460 0.0027139 0.2750453 -0.0295007 0.0000000 0.0000000 0.5291900 -0.0006977 0.0127706 0.6012295 0.0000000 0.0000000 0.1643690 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0466060 0.0000000 0.0000000 0.0000000 0.0000000 1.0000000 $ D-TYPE FUNCTIONS 7 3 0 115.5253200 0.0219557 0.0000000 0.0000000 33.4652460 0.1321620 0.0000000 0.0000000 11.8304590 0.3633484 0.0000000 0.0000000 4.3397710 0.4929582 0.0000000 0.0000000 1.5075240 0.2667560 0.0000000 0.0000000 0.5030000 0.0000000 1.0000000 0.0000000 0.2155000 0.0000000 0.0000000 1.0000000 ergo-3.5/basis/Turbomole-TZVPPP0000664000175000017500000006063612743400275013314 00000000000000$ Basis = Turbomole-TZVPPP $ $ Supported Elements $ H He B C N O F Ne Na Mg Al Si P S Cl Ar K Ca $ Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr $ $ REFERENCE $ Elements References $ -------- ---------- $ Li - Kr: A. Schafer, C. Huber and R. Ahlrichs, J. Chem. Phys. 100, 5829 (1994). $*********************************************************************** a 1 $ HYDROGEN (5s) -> [3s] $ S-TYPE FUNCTIONS 5 3 0 34.0613410 0.00602520 0.00000000 0.00000000 5.1235746 0.04502109 0.00000000 0.00000000 1.1646626 0.20189726 0.00000000 0.00000000 0.3272304 0.00000000 1.00000000 0.00000000 0.1030724 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 2.29200000 1.00000000 0.00000000 0.00000000 0.83800000 0.00000000 1.00000000 0.00000000 0.29200000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 2.06200000 1.00000000 0.00000000 0.66200000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.39700000 1.0000000000 a 2 $ HELIUM (5s) -> [3s] $ S-TYPE FUNCTIONS 5 3 0 98.0783216 0.00758031 0.00000000 0.00000000 14.7644042 0.05484862 0.00000000 0.00000000 3.3185831 0.22074382 0.00000000 0.00000000 0.8741387 0.00000000 1.00000000 0.00000000 0.2445990 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 5.9940000 1.00000000 0.00000000 0.00000000 1.7450000 0.00000000 1.00000000 0.00000000 0.5600000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 4.2990000 1.00000000 0.00000000 1.2230000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 2.6800000 1.00000000 a 5 $ BORON (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 8564.86606900 0.00022837 0.00000000 0.00000000 0.00000000 0.00000000 1284.15162600 0.00176826 0.00000000 0.00000000 0.00000000 0.00000000 292.27871600 0.00914071 0.00000000 0.00000000 0.00000000 0.00000000 82.77546918 0.03634264 0.00000000 0.00000000 0.00000000 0.00000000 27.01793927 0.11063458 0.00000000 0.00000000 0.00000000 0.00000000 9.81496197 0.23367344 0.00000000 0.00000000 0.00000000 0.00000000 3.93185591 0.00000000 0.41818778 0.00000000 0.00000000 0.00000000 1.65955997 0.00000000 0.22325474 0.00000000 0.00000000 0.00000000 0.35762965 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.14246278 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06056059 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 22.45387580 0.00502656 0.00000000 0.00000000 5.10450583 0.03280174 0.00000000 0.00000000 1.49860813 0.13151231 0.00000000 0.00000000 0.50927831 0.33197168 0.00000000 0.00000000 0.18147078 0.00000000 1.00000000 0.00000000 0.06462189 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.1100000 1.00000000 0.00000000 0.00000000 0.4020000 0.00000000 1.00000000 0.00000000 0.1450000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.8820000 1.00000000 0.00000000 0.3110000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.6730000 1.00000000 a 6 $ CARBON (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 13575.34968 0.00022246 0.00000000 0.00000000 0.00000000 0.00000000 2035.23336800 0.00172327 0.00000000 0.00000000 0.00000000 0.00000000 463.22562360 0.00892557 0.00000000 0.00000000 0.00000000 0.00000000 131.20019600 0.03572798 0.00000000 0.00000000 0.00000000 0.00000000 42.85301589 0.11076260 0.00000000 0.00000000 0.00000000 0.00000000 15.58418577 0.24295628 0.00000000 0.00000000 0.00000000 0.00000000 6.20671385 0.00000000 0.41440263 0.00000000 0.00000000 0.00000000 2.57648965 0.00000000 0.23744969 0.00000000 0.00000000 0.00000000 0.57696339 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.22972831 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.09516444 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 34.69723224 0.00533337 0.00000000 0.00000000 7.95826228 0.03586411 0.00000000 0.00000000 2.37808269 0.14215873 0.00000000 0.00000000 0.81433208 0.34270472 0.00000000 0.00000000 0.28887547 0.00000000 1.00000000 0.00000000 0.10056824 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.8480000 1.00000000 0.00000000 0.00000000 0.6490000 0.00000000 1.00000000 0.00000000 0.2280000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.4190000 1.00000000 0.00000000 0.4850000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.0110000 1.00000000 a 7 $ NITROGEN (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 19730.80065 0.00021888 0.00000000 0.00000000 0.00000000 0.00000000 2957.89587500 0.00169607 0.00000000 0.00000000 0.00000000 0.00000000 673.22133600 0.00879546 0.00000000 0.00000000 0.00000000 0.00000000 190.68249490 0.03535938 0.00000000 0.00000000 0.00000000 0.00000000 62.29544190 0.11095789 0.00000000 0.00000000 0.00000000 0.00000000 22.65416118 0.24982973 0.00000000 0.00000000 0.00000000 0.00000000 8.97914774 0.00000000 0.40623896 0.00000000 0.00000000 0.00000000 3.68630024 0.00000000 0.24338217 0.00000000 0.00000000 0.00000000 0.84660077 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.33647134 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13647654 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 49.20038051 0.00555524 0.00000000 0.00000000 11.34679054 0.03805238 0.00000000 0.00000000 3.42739724 0.14953671 0.00000000 0.00000000 1.17855251 0.34949305 0.00000000 0.00000000 0.41642205 0.00000000 1.00000000 0.00000000 0.14260826 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.8370000 1.00000000 0.00000000 0.00000000 0.9680000 0.00000000 1.00000000 0.00000000 0.3350000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 2.0270000 1.00000000 0.00000000 0.6850000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.4270000 1.00000000 a 8 $ OXYGEN (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 27032.38263 0.00021726 0.00000000 0.00000000 0.00000000 0.00000000 4052.38713900 0.00168387 0.00000000 0.00000000 0.00000000 0.00000000 922.32722710 0.00873956 0.00000000 0.00000000 0.00000000 0.00000000 261.24070990 0.03523997 0.00000000 0.00000000 0.00000000 0.00000000 85.35464135 0.11153519 0.00000000 0.00000000 0.00000000 0.00000000 31.03503524 0.25588954 0.00000000 0.00000000 0.00000000 0.00000000 12.26086073 0.00000000 0.39768731 0.00000000 0.00000000 0.00000000 4.99870760 0.00000000 0.24627849 0.00000000 0.00000000 0.00000000 1.17031082 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.46474741 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.18504536 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 63.27495480 0.00606851 0.00000000 0.00000000 14.62704938 0.04191258 0.00000000 0.00000000 4.45012235 0.16153841 0.00000000 0.00000000 1.52757996 0.35706951 0.00000000 0.00000000 0.52935118 0.00000000 1.00000000 0.00000000 0.17478421 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.7750000 1.00000000 0.00000000 0.00000000 1.3000000 0.00000000 1.00000000 0.00000000 0.4440000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 2.6660000 1.00000000 0.00000000 0.8590000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.8460000 1.00000000 a 9 $ FLUORINE (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 35479.10044 0.00021545 0.00000000 0.00000000 0.00000000 0.00000000 5318.47289800 0.00167007 0.00000000 0.00000000 0.00000000 0.00000000 1210.48109800 0.00867332 0.00000000 0.00000000 0.00000000 0.00000000 342.85518140 0.03504993 0.00000000 0.00000000 0.00000000 0.00000000 112.01943180 0.11165320 0.00000000 0.00000000 0.00000000 0.00000000 40.71474025 0.25988507 0.00000000 0.00000000 0.00000000 0.00000000 16.03967811 0.00000000 0.39422967 0.00000000 0.00000000 0.00000000 6.50381867 0.00000000 0.24998239 0.00000000 0.00000000 0.00000000 1.54404775 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.61223453 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.24027980 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 80.23390048 0.00636860 0.00000000 0.00000000 18.59401074 0.04430314 0.00000000 0.00000000 5.68679026 0.16867249 0.00000000 0.00000000 1.95110063 0.36166346 0.00000000 0.00000000 0.66970211 0.00000000 1.00000000 0.00000000 0.21651300 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 5.0140000 1.00000000 0.00000000 0.00000000 1.7250000 0.00000000 1.00000000 0.00000000 0.5860000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 3.5620000 1.00000000 0.00000000 1.1480000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.3760000 1.00000000 a 10 $ NEON (11s,6p) -> [5s,3p] $ S-TYPE FUNCTIONS 11 5 0 45069.46402 0.00021687 0.00000000 0.00000000 0.00000000 0.00000000 6755.97686600 0.00168127 0.00000000 0.00000000 0.00000000 0.00000000 1537.65028600 0.00873561 0.00000000 0.00000000 0.00000000 0.00000000 435.51697670 0.03536127 0.00000000 0.00000000 0.00000000 0.00000000 142.28655640 0.11321521 0.00000000 0.00000000 0.00000000 0.00000000 51.69215380 0.26654653 0.00000000 0.00000000 0.00000000 0.00000000 20.31587049 0.00000000 0.39631960 0.00000000 0.00000000 0.00000000 8.20219426 0.00000000 0.25582811 0.00000000 0.00000000 0.00000000 1.96812763 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.77904756 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.30229502 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 99.78299603 0.00655692 0.00000000 0.00000000 23.17612410 0.04588801 0.00000000 0.00000000 7.11639459 0.17331288 0.00000000 0.00000000 2.44187114 0.36475268 0.00000000 0.00000000 0.83389606 0.00000000 1.00000000 0.00000000 0.26607311 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 6.4710000 1.00000000 0.00000000 0.00000000 2.2130000 0.00000000 1.00000000 0.00000000 0.7470000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 4.6570000 1.00000000 0.00000000 1.5240000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.9830000 1.00000000 a 13 $ ALUMINUM (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 37792.55077 0.00057048 0.00000000 0.00000000 0.00000000 0.00000000 5668.06821700 0.00440930 0.00000000 0.00000000 0.00000000 0.00000000 1289.85828400 0.02263097 0.00000000 0.00000000 0.00000000 0.00000000 364.86596030 0.08802564 0.00000000 0.00000000 0.00000000 0.00000000 118.57631510 0.25223702 0.00000000 0.00000000 0.00000000 0.00000000 42.02486760 0.45960547 0.00000000 0.00000000 0.00000000 0.00000000 15.49950163 0.33277886 0.00000000 0.00000000 0.00000000 0.00000000 75.20802660 0.00000000 0.01925056 0.00000000 0.00000000 0.00000000 23.03140897 0.00000000 0.08790674 0.00000000 0.00000000 0.00000000 3.63487976 0.00000000 -0.34246705 0.00000000 0.00000000 0.00000000 1.60650500 0.00000000 0.00000000 1.51062661 0.00000000 0.00000000 0.76103395 0.00000000 0.00000000 0.58071016 0.00000000 0.00000000 0.16556709 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.06004158 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 452.52303190 0.00231108 0.00000000 0.00000000 0.00000000 107.08195050 0.01856864 0.00000000 0.00000000 0.00000000 34.13102125 0.08721624 0.00000000 0.00000000 0.00000000 12.58703743 0.26902102 0.00000000 0.00000000 0.00000000 4.98119197 0.52128324 0.00000000 0.00000000 0.00000000 2.00703509 0.60271687 0.00000000 0.00000000 0.00000000 0.80083714 0.00000000 1.00000000 0.00000000 0.00000000 0.20178927 0.00000000 0.00000000 1.00000000 0.00000000 0.05789555 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.0804000 1.00000000 0.00000000 0.00000000 0.1990000 0.00000000 1.00000000 0.00000000 0.4940000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.1540000 1.00000000 0.00000000 0.4010000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.3570000 1.00000000 a 14 $ SILICON (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 44773.35808 0.00055915 0.00000000 0.00000000 0.00000000 0.00000000 6717.19921000 0.00432060 0.00000000 0.00000000 0.00000000 0.00000000 1528.89603200 0.02218710 0.00000000 0.00000000 0.00000000 0.00000000 432.54746590 0.08648925 0.00000000 0.00000000 0.00000000 0.00000000 140.61505230 0.24939890 0.00000000 0.00000000 0.00000000 0.00000000 49.85763672 0.46017197 0.00000000 0.00000000 0.00000000 0.00000000 18.43497489 0.34250237 0.00000000 0.00000000 0.00000000 0.00000000 86.53388611 0.00000000 0.02130006 0.00000000 0.00000000 0.00000000 26.62460685 0.00000000 0.09467614 0.00000000 0.00000000 0.00000000 4.49530572 0.00000000 -0.32616265 0.00000000 0.00000000 0.00000000 2.10350457 0.00000000 0.00000000 1.39808039 0.00000000 0.00000000 1.01060949 0.00000000 0.00000000 0.63865787 0.00000000 0.00000000 0.23701751 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.08570341 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 394.47503630 0.00262857 0.00000000 0.00000000 0.00000000 93.13768310 0.02055626 0.00000000 0.00000000 0.00000000 29.51960874 0.09207026 0.00000000 0.00000000 0.00000000 10.78166379 0.25565890 0.00000000 0.00000000 0.00000000 4.16265748 0.42111707 0.00000000 0.00000000 0.00000000 1.62479730 0.34401746 0.00000000 0.00000000 0.00000000 0.54306660 0.00000000 1.00000000 0.00000000 0.00000000 0.20582074 0.00000000 0.00000000 1.00000000 0.00000000 0.07005349 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.1200000 1.00000000 0.00000000 0.00000000 0.3020000 0.00000000 1.00000000 0.00000000 0.7600000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.2120000 1.00000000 0.00000000 0.5410000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.4610000 1.00000000 a 15 $ PHOSPHORUS (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 52426.99923 0.00055207 0.00000000 0.00000000 0.00000000 0.00000000 7863.26605500 0.00426786 0.00000000 0.00000000 0.00000000 0.00000000 1789.52273300 0.02193153 0.00000000 0.00000000 0.00000000 0.00000000 506.27300160 0.08566717 0.00000000 0.00000000 0.00000000 0.00000000 164.60698550 0.24840687 0.00000000 0.00000000 0.00000000 0.00000000 58.39191872 0.46336754 0.00000000 0.00000000 0.00000000 0.00000000 21.64366320 0.35350558 0.00000000 0.00000000 0.00000000 0.00000000 99.01383762 0.00000000 0.02189568 0.00000000 0.00000000 0.00000000 30.55043982 0.00000000 0.09565047 0.00000000 0.00000000 0.00000000 5.45370877 0.00000000 -0.29454270 0.00000000 0.00000000 0.00000000 2.65033626 0.00000000 0.00000000 1.32943812 0.00000000 0.00000000 1.27266889 0.00000000 0.00000000 0.66109396 0.00000000 0.00000000 0.31645005 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.11417467 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 472.27219250 0.00257106 0.00000000 0.00000000 0.00000000 111.58882760 0.02025030 0.00000000 0.00000000 0.00000000 35.44593642 0.09158072 0.00000000 0.00000000 0.00000000 12.99077688 0.25749454 0.00000000 0.00000000 0.00000000 5.04862217 0.42862900 0.00000000 0.00000000 0.00000000 1.99340496 0.34359818 0.00000000 0.00000000 0.00000000 0.66527284 0.00000000 1.00000000 0.00000000 0.00000000 0.25516832 0.00000000 0.00000000 1.00000000 0.00000000 0.09035776 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.1650000 1.00000000 0.00000000 0.00000000 0.4130000 0.00000000 1.00000000 0.00000000 1.0360000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.2800000 1.00000000 0.00000000 0.7030000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.5970000 1.00000000 a 16 $ SULFUR (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 60700.92810 0.00054696 0.00000000 0.00000000 0.00000000 0.00000000 9102.61068500 0.00422972 0.00000000 0.00000000 0.00000000 0.00000000 2071.41660100 0.02174782 0.00000000 0.00000000 0.00000000 0.00000000 586.02476820 0.08510005 0.00000000 0.00000000 0.00000000 0.00000000 190.55395020 0.24799128 0.00000000 0.00000000 0.00000000 0.00000000 67.63038426 0.46703640 0.00000000 0.00000000 0.00000000 0.00000000 25.12730691 0.36434588 0.00000000 0.00000000 0.00000000 0.00000000 112.57463010 0.00000000 0.02167004 0.00000000 0.00000000 0.00000000 34.79555422 0.00000000 0.09360230 0.00000000 0.00000000 0.00000000 6.51155562 0.00000000 -0.26068001 0.00000000 0.00000000 0.00000000 3.23990323 0.00000000 0.00000000 1.28420894 0.00000000 0.00000000 1.54771609 0.00000000 0.00000000 0.66036417 0.00000000 0.00000000 0.40541030 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.14550651 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 564.36716030 0.00247968 0.00000000 0.00000000 0.00000000 133.42624380 0.01967793 0.00000000 0.00000000 0.00000000 42.46827119 0.08998001 0.00000000 0.00000000 0.00000000 15.61652758 0.25705881 0.00000000 0.00000000 0.00000000 6.10939885 0.43515167 0.00000000 0.00000000 0.00000000 2.44041602 0.34883241 0.00000000 0.00000000 0.00000000 0.83882201 0.00000000 1.00000000 0.00000000 0.00000000 0.31288747 0.00000000 0.00000000 1.00000000 0.00000000 0.10770109 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.2030000 1.00000000 0.00000000 0.00000000 0.5040000 0.00000000 1.00000000 0.00000000 1.2500000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.3350000 1.00000000 0.00000000 0.8690000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.6830000 1.00000000 a 17 $ CHLORINE (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 69507.99094 0.00054315 0.00000000 0.00000000 0.00000000 0.00000000 10426.15688 0.00419905 0.00000000 0.00000000 0.00000000 0.00000000 2373.23340600 0.02159214 0.00000000 0.00000000 0.00000000 0.00000000 671.56420070 0.08459885 0.00000000 0.00000000 0.00000000 0.00000000 218.41999790 0.24757250 0.00000000 0.00000000 0.00000000 0.00000000 77.57224971 0.47016930 0.00000000 0.00000000 0.00000000 0.00000000 28.88881528 0.37436371 0.00000000 0.00000000 0.00000000 0.00000000 127.10527180 0.00000000 0.02518217 0.00000000 0.00000000 0.00000000 39.33958296 0.00000000 0.10786112 0.00000000 0.00000000 0.00000000 7.67406800 0.00000000 -0.27408822 0.00000000 0.00000000 0.00000000 3.87456276 0.00000000 0.00000000 1.32138750 0.00000000 0.00000000 1.83858326 0.00000000 0.00000000 0.68636955 0.00000000 0.00000000 0.50229058 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.17962723 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 666.50423280 0.00236327 0.00000000 0.00000000 0.00000000 157.64241690 0.01887930 0.00000000 0.00000000 0.00000000 50.26252098 0.08720634 0.00000000 0.00000000 0.00000000 18.53607811 0.25285613 0.00000000 0.00000000 0.00000000 7.29405328 0.43507155 0.00000000 0.00000000 0.00000000 2.94332490 0.35026513 0.00000000 0.00000000 0.00000000 1.04049708 0.00000000 1.00000000 0.00000000 0.00000000 0.38456415 0.00000000 0.00000000 1.00000000 0.00000000 0.13069643 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.2540000 1.00000000 0.00000000 0.00000000 0.6280000 0.00000000 1.00000000 0.00000000 1.5510000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.4230000 1.00000000 0.00000000 1.0890000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.8270000 1.00000000 a 18 $ ARGON (14s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 14 5 0 79111.42300 0.00051029 0.00000000 0.00000000 0.00000000 0.00000000 11864.74601 0.00394630 0.00000000 0.00000000 0.00000000 0.00000000 2700.16429700 0.02030707 0.00000000 0.00000000 0.00000000 0.00000000 763.95943480 0.07969183 0.00000000 0.00000000 0.00000000 0.00000000 248.45150560 0.23420624 0.00000000 0.00000000 0.00000000 0.00000000 88.28358100 0.44833849 0.00000000 0.00000000 0.00000000 0.00000000 32.94860707 0.36408167 0.00000000 0.00000000 0.00000000 0.00000000 142.55358000 0.00000000 0.02638741 0.00000000 0.00000000 0.00000000 44.16368801 0.00000000 0.11226434 0.00000000 0.00000000 0.00000000 8.95249950 0.00000000 -0.26178922 0.00000000 0.00000000 0.00000000 4.55469209 0.00000000 0.00000000 1.30024850 0.00000000 0.00000000 2.14440790 0.00000000 0.00000000 0.67197237 0.00000000 0.00000000 0.60708777 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.21651432 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 776.77542000 0.00220280 0.00000000 0.00000000 0.00000000 183.80107020 0.01769418 0.00000000 0.00000000 0.00000000 58.69400317 0.08243129 0.00000000 0.00000000 0.00000000 21.70159170 0.24207279 0.00000000 0.00000000 0.00000000 8.58214896 0.42263558 0.00000000 0.00000000 0.00000000 3.49226792 0.34151806 0.00000000 0.00000000 0.00000000 1.26374270 0.00000000 1.00000000 0.00000000 0.00000000 0.46607870 0.00000000 0.00000000 1.00000000 0.00000000 0.15766003 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 0.3110000 1.00000000 0.00000000 0.00000000 0.7630000 0.00000000 1.00000000 0.00000000 1.8730000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.5430000 1.00000000 0.00000000 1.3250000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.0070000 1.00000000 $END OF BASIS ergo-3.5/basis/aug-cc-pV(D+d)Z0000664000175000017500000003053412743400275012615 00000000000000$ Basis=aug-cc-pV(D+d)Z $ $ Supported Elements $ Al Si P S Cl Ar $ $ REFERENCES $ Elements References $ -------- ---------- $ Al - Ar: T. H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys., 114, 2944 (2001). $ $ Polarization and/or diffuse functions $ Elements References $ -------- --------- $ Al- Ar: T.H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys., 114, 9244 (2001) $ ************************************************************************ a 13 $ ALUMINUM (12s,8p,2d) -> [4s,3p,2d] $ ALUMINUM Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 64150.00000 0.00029025 -0.00007580 0.00001751 0.00000000 0.00000000 9617.00000000 0.00225064 -0.00058179 0.00013421 0.00000000 0.00000000 2189.00000000 0.01164590 -0.00308113 0.00071244 0.00000000 0.00000000 620.50000000 0.04673770 -0.01231120 0.00284330 0.00000000 0.00000000 202.70000000 0.14629900 -0.04197810 0.00976842 0.00000000 0.00000000 73.15000000 0.33028300 -0.10337100 0.02418500 0.00000000 0.00000000 28.55000000 0.41586100 -0.19630800 0.04749930 0.00000000 0.00000000 11.77000000 0.18925300 -0.08300020 0.02036210 0.00000000 0.00000000 3.30000000 0.01158890 0.54104000 -0.15878800 0.00000000 0.00000000 1.17300000 -0.00128385 0.57879600 -0.31169400 0.00000000 0.00000000 0.17520000 0.00042588 0.02881470 0.62014700 0.00000000 0.00000000 0.06473000 -0.00019928 -0.00953795 0.52094300 1.00000000 0.00000000 0.02310000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 258.80000000 0.00406847 -0.00074805 0.00000000 0.00000000 60.89000000 0.03068150 -0.00545796 0.00000000 0.00000000 19.14000000 0.12914900 -0.02453710 0.00000000 0.00000000 6.88100000 0.32083100 -0.05821380 0.00000000 0.00000000 2.57400000 0.45381500 -0.09837560 0.00000000 0.00000000 0.95720000 0.27506600 -0.02600640 0.00000000 0.00000000 0.20990000 0.01908070 0.46402000 0.00000000 0.00000000 0.05986000 -0.00312848 0.64887000 1.00000000 0.00000000 0.01530000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.19500000 1.00000000 0.00000000 0.00000000 0.19000000 0.00000000 1.00000000 0.00000000 0.55200000 0.00000000 0.00000000 1.00000000 a 14 $ SILICON (12s,8p,2d) -> [4s,3p,2d] $ SILICON Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 78860.00000 0.00027044 -0.00007232 0.00001851 0.00000000 0.00000000 11820.00000 0.00209717 -0.00055512 0.00014224 0.00000000 0.00000000 2692.00000000 0.01085060 -0.00293805 0.00075219 0.00000000 0.00000000 763.40000000 0.04367540 -0.01176870 0.00302279 0.00000000 0.00000000 249.60000000 0.13765300 -0.04029070 0.01036770 0.00000000 0.00000000 90.28000000 0.31664400 -0.10060900 0.02625630 0.00000000 0.00000000 35.29000000 0.41858100 -0.19652800 0.05239890 0.00000000 0.00000000 14.51000000 0.21021200 -0.10238200 0.02909590 0.00000000 0.00000000 4.05300000 0.01449520 0.52719000 -0.17800300 0.00000000 0.00000000 1.48200000 -0.00203590 0.59325100 -0.34687400 0.00000000 0.00000000 0.25170000 0.00062419 0.03326520 0.62302000 0.00000000 0.00000000 0.09243000 -0.00028287 -0.00973662 0.53771200 1.00000000 0.00000000 0.03320000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 315.90000000 0.00392656 -0.00085830 0.00000000 0.00000000 74.42000000 0.02988110 -0.00630328 0.00000000 0.00000000 23.48000000 0.12721200 -0.02882550 0.00000000 0.00000000 8.48800000 0.32094300 -0.06945600 0.00000000 0.00000000 3.21700000 0.45542900 -0.11949300 0.00000000 0.00000000 1.22900000 0.26856300 -0.01995810 0.00000000 0.00000000 0.29640000 0.01883360 0.51026800 0.00000000 0.00000000 0.08768000 -0.00262431 0.60038200 1.00000000 0.00000000 0.02500000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.80300000 1.00000000 0.00000000 0.00000000 0.27500000 0.00000000 1.00000000 0.00000000 0.84000000 0.00000000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (12s,8p,2d) -> [4s,3p,2d] $ PHOSPHORUS Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 94840.00000 0.00025551 -0.00006969 0.00001912 0.00000000 0.00000000 14220.00000 0.00198193 -0.00053527 0.00014722 0.00000000 0.00000000 3236.00000000 0.01027600 -0.00283709 0.00077791 0.00000000 0.00000000 917.10000000 0.04148230 -0.01139830 0.00314546 0.00000000 0.00000000 299.50000000 0.13198400 -0.03929290 0.01082000 0.00000000 0.00000000 108.10000000 0.30866200 -0.09963640 0.02799570 0.00000000 0.00000000 42.18000000 0.42064700 -0.19798300 0.05639780 0.00000000 0.00000000 17.28000000 0.22287800 -0.11486000 0.03581900 0.00000000 0.00000000 4.85800000 0.01640350 0.51859500 -0.19338700 0.00000000 0.00000000 1.81800000 -0.00254255 0.60184700 -0.37209700 0.00000000 0.00000000 0.33720000 0.00074805 0.03686120 0.62424600 0.00000000 0.00000000 0.12320000 -0.00033096 -0.00970759 0.55172100 1.00000000 0.00000000 0.04170000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 370.50000000 0.00395005 -0.00095983 0.00000000 0.00000000 87.33000000 0.03024920 -0.00711177 0.00000000 0.00000000 27.59000000 0.12955400 -0.03271220 0.00000000 0.00000000 10.00000000 0.32759400 -0.07957840 0.00000000 0.00000000 3.82500000 0.45699200 -0.13501600 0.00000000 0.00000000 1.49400000 0.25308600 -0.00910585 0.00000000 0.00000000 0.39210000 0.01687980 0.53780200 0.00000000 0.00000000 0.11860000 -0.00207093 0.56906600 1.00000000 0.00000000 0.03430000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.50600000 1.00000000 0.00000000 0.00000000 0.37400000 0.00000000 1.00000000 0.00000000 0.11600000 0.00000000 0.00000000 1.00000000 a 16 $ SULFUR (12s,8p,2d) -> [4s,3p,2d] $ SULFUR Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 110800.00000 0.00024764 -0.00006870 0.00001991 0.00000000 0.00000000 16610.00000 0.00192026 -0.00052768 0.00015348 0.00000000 0.00000000 3781.00000000 0.00996192 -0.00279671 0.00080950 0.00000000 0.00000000 1071.00000000 0.04029750 -0.01126510 0.00328974 0.00000000 0.00000000 349.80000000 0.12860400 -0.03888340 0.01129670 0.00000000 0.00000000 126.30000000 0.30348000 -0.09950250 0.02963850 0.00000000 0.00000000 49.26000000 0.42143200 -0.19974000 0.05998510 0.00000000 0.00000000 20.16000000 0.23078100 -0.12336000 0.04132480 0.00000000 0.00000000 5.72000000 0.01789710 0.51319400 -0.20747400 0.00000000 0.00000000 2.18200000 -0.00297516 0.60712000 -0.39288900 0.00000000 0.00000000 0.43270000 0.00084952 0.03967530 0.63284000 0.00000000 0.00000000 0.15700000 -0.00036794 -0.00946864 0.55692400 1.00000000 0.00000000 0.05070000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 399.70000000 0.00447541 -0.00116251 0.00000000 0.00000000 94.19000000 0.03417080 -0.00865664 0.00000000 0.00000000 29.75000000 0.14425000 -0.03908860 0.00000000 0.00000000 10.77000000 0.35392800 -0.09346250 0.00000000 0.00000000 4.11900000 0.45908500 -0.14799400 0.00000000 0.00000000 1.62500000 0.20638300 0.03019040 0.00000000 0.00000000 0.47260000 0.01021410 0.56157300 0.00000000 0.00000000 0.14070000 -0.00006031 0.53477600 1.00000000 0.00000000 0.03990000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.99400000 1.00000000 0.00000000 0.00000000 0.48100000 0.00000000 1.00000000 0.00000000 0.15500000 0.00000000 0.00000000 1.00000000 a 17 $ CHLORINE (12s,8p,2d) -> [4s,3p,2d] $ CHLORINE Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 127900.00000 0.00024115 -0.00006789 0.00002050 0.00000000 0.00000000 19170.00000 0.00187095 -0.00052184 0.00015830 0.00000000 0.00000000 4363.00000000 0.00970827 -0.00276513 0.00083364 0.00000000 0.00000000 1236.00000000 0.03931530 -0.01115370 0.00339880 0.00000000 0.00000000 403.60000000 0.12593200 -0.03859190 0.01167380 0.00000000 0.00000000 145.70000000 0.29934100 -0.09948480 0.03096220 0.00000000 0.00000000 56.81000000 0.42188600 -0.20139200 0.06295330 0.00000000 0.00000000 23.23000000 0.23720100 -0.13031300 0.04602570 0.00000000 0.00000000 6.64400000 0.01915310 0.50944300 -0.21931200 0.00000000 0.00000000 2.57500000 -0.00334792 0.61072500 -0.40877300 0.00000000 0.00000000 0.53710000 0.00092988 0.04215490 0.63846500 0.00000000 0.00000000 0.19380000 -0.00039638 -0.00923427 0.56236200 1.00000000 0.00000000 0.06080000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 417.60000000 0.00525982 -0.00143570 0.00000000 0.00000000 98.33000000 0.03983320 -0.01077960 0.00000000 0.00000000 31.04000000 0.16465500 -0.04700750 0.00000000 0.00000000 11.19000000 0.38732200 -0.11103000 0.00000000 0.00000000 4.24900000 0.45707200 -0.15327500 0.00000000 0.00000000 1.62400000 0.15163600 0.08946090 0.00000000 0.00000000 0.53220000 0.00181615 0.57944400 0.00000000 0.00000000 0.16200000 0.00188296 0.48327200 1.00000000 0.00000000 0.04660000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.65200000 1.00000000 0.00000000 0.00000000 0.60300000 0.00000000 1.00000000 0.00000000 0.19800000 0.00000000 0.00000000 1.00000000 a 18 $ ARGON (12s,8p,2d) -> [4s,3p,2d] $ ARGON Diffuse (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 145700.00000 0.00023670 -0.00006749 0.00002105 0.00000000 0.00000000 21840.00000 0.00183523 -0.00051852 0.00016257 0.00000000 0.00000000 4972.00000000 0.00952860 -0.00274825 0.00085546 0.00000000 0.00000000 1408.00000000 0.03862830 -0.01110070 0.00349745 0.00000000 0.00000000 459.70000000 0.12408100 -0.03848200 0.01201560 0.00000000 0.00000000 165.90000000 0.29647100 -0.09975990 0.03213680 0.00000000 0.00000000 64.69000000 0.42206800 -0.20308800 0.06552790 0.00000000 0.00000000 26.44000000 0.24171100 -0.13560800 0.04993700 0.00000000 0.00000000 7.62800000 0.02005090 0.50719500 -0.22976900 0.00000000 0.00000000 2.99600000 -0.00361000 0.61289800 -0.42100600 0.00000000 0.00000000 0.65040000 0.00097561 0.04429680 0.64233100 0.00000000 0.00000000 0.23370000 -0.00041132 -0.00899278 0.56754000 1.00000000 0.00000000 0.07090000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 453.70000000 0.00570555 -0.00160655 0.00000000 0.00000000 106.80000000 0.04304600 -0.01217140 0.00000000 0.00000000 33.73000000 0.17659100 -0.05207890 0.00000000 0.00000000 12.13000000 0.40686300 -0.12373700 0.00000000 0.00000000 4.59400000 0.45254900 -0.15161900 0.00000000 0.00000000 1.67800000 0.12280100 0.14242500 0.00000000 0.00000000 0.59090000 -0.00445996 0.58450100 0.00000000 0.00000000 0.18520000 0.00205225 0.43754000 1.00000000 0.00000000 0.05330000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 4.39000000 1.00000000 0.00000000 0.00000000 0.73900000 0.00000000 1.00000000 0.00000000 0.23800000 0.00000000 0.00000000 1.00000000 ergo-3.5/basis/Turbomole-QZVP0000664000175000017500000052152012743400275013043 00000000000000$ Basis = Turbomole-QZVP $ $ Supported Elements $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca $ Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr $ $ REFERENCE $ Elements References $ -------- ---------- $ Li - Kr: A. Schafer, C. Huber and R. Ahlrichs, J. Chem. Phys. 100, 5829 (1994). $*********************************************************************** a 1 $ HYDROGEN (7s) -> [4s] $ # polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 7 4 0 190.69169 0.00070815 0.00000000 0.00000000 0.00000000 28.605532 0.00546788 0.00000000 0.00000000 0.00000000 6.5095943 0.02796661 0.00000000 0.00000000 0.00000000 1.8412455 0.10764538 0.00000000 0.00000000 0.00000000 .59853725 0.00000000 1.00000000 0.00000000 0.00000000 .21397624 0.00000000 0.00000000 1.00000000 0.00000000 .08031629 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 2.2920000 1.00000000 0.00000000 0.00000000 0.8380000 0.00000000 1.00000000 0.00000000 0.2920000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 2.0620000 1.00000000 0.00000000 0.6620000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.3970000 1.00000000 a 2 $ HELIUM (8s) -> [4s] $ polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 8 4 0 1144.6470809 0.00035862 0.00000000 0.00000000 0.00000000 171.64596667 0.00277254 0.00000000 0.00000000 0.00000000 39.066056254 0.01424189 0.00000000 0.00000000 0.00000000 11.051401989 0.05545735 0.00000000 0.00000000 0.00000000 3.5725574473 0.16170512 0.00000000 0.00000000 0.00000000 1.2429415962 0.00000000 0.33177884 0.00000000 0.00000000 .44807668730 0.00000000 0.00000000 0.42014033 0.00000000 .16411579128 0.00000000 0.00000000 0.00000000 0.18652273 $ P-TYPE FUNCTIONS 3 3 0 5.9940000 1.00000000 0.00000000 0.00000000 1.7450000 0.00000000 1.00000000 0.00000000 0.5600000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 4.2990000 1.00000000 0.00000000 1.2230000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 2.6800000 1.00000000 a 3 $ LITHIUM (15s,5p) -> [6s,3p] $ diffuse: R.A./F.Weigend 05/03 (d,f: roughly abs(EMP2(Li2,valence))=Max) $ (p: Huzinaga, PSD16,p25) $ S-TYPE FUNCTIONS 15 6 0 14853.977085 0.00004271 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2225.2236477 0.00033235 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 504.88739008 0.00175184 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142.45847548 0.00734780 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.315599580 0.02589984 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.655335474 0.07667068 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.4331186199 0.18276076 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.6027043858 0.32655434 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0897245405 0.37000430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.4236595971 0.00000000 0.11120988 0.00000000 0.00000000 0.00000000 0.00000000 1.2356394990 0.00000000 0.79987336 0.00000000 0.00000000 0.00000000 0.00000000 0.4606747060 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0966171670 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0459154523 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0211400487 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 4 0 3.2605109206 0.00865047 0.00000000 0.00000000 0.00000000 0.6500304312 0.04761412 0.00000000 0.00000000 0.00000000 0.1694167107 0.21001138 0.00000000 0.00000000 0.00000000 0.5573234377 0.00000000 1.00000000 0.00000000 0.00000000 0.2048995924 0.00000000 0.00000000 1.00000000 0.00000000 3.3270000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.230 1.00000000 0.00000000 0.0757 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.135 1.0 a 4 $ BERYLLIUM (15s) -> [7s] $ # R.A./F.Weigend 04/03 (d,f:abs(EMP2,valence)=Max, p:abs(EMP2,core+valence)=max) $ S-TYPE FUNCTIONS 15 7 0 29646.704407 0.00003794 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4428.7614354 0.00029605 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1005.4701332 0.00155725 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 284.15339578 0.00653232 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 92.504356461 0.02311686 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 33.311016058 0.06945852 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 12.911553314 0.17014371 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5.2665497361 0.31682711 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 22.995386380 0.00000000 0.08179112 0.00000000 0.00000000 0.00000000 0.00000000 0.0 6.6236354176 0.00000000 0.80000038 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.2289595003 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.9530243345 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.2465160244 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1015389532 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0415513746 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 7 4 0 14.099789445 0.00385089 0.00000000 0.00000000 0.00000000 3.1803188482 0.02415238 0.00000000 0.00000000 0.00000000 0.9048922050 0.09792693 0.00000000 0.00000000 0.00000000 0.3041158551 0.29470380 0.00000000 0.00000000 0.00000000 0.1130260666 0.00000000 1.00000000 0.00000000 0.00000000 0.0428317337 0.00000000 0.00000000 1.00000000 0.00000000 6.4000000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.3600000000 1.00000000 0.00000000 0.0900000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.29 1.0 a 5 $ BORON (15s,8p) -> [7s,4p] $ polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 15 7 0 46447.667056 0.00003839 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 6957.6889042 0.00029837 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1583.4428403 0.00156455 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 448.46601009 0.00654777 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 146.28639262 0.02313901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 52.784386084 0.06961580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 20.519396170 0.17119637 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.4185659258 0.31913192 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 36.510018312 0.00000000 0.07899062 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.541854005 0.00000000 0.78926384 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3.6004091387 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 1.5617023749 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.4499737078 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1807523024 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0715966963 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 72.240462760 0.00086539 0.00000000 0.00000000 0.00000000 16.807707208 0.00687621 0.00000000 0.00000000 0.00000000 5.2259410747 0.03097669 0.00000000 0.00000000 0.00000000 1.8508350671 0.10432358 0.00000000 0.00000000 0.00000000 0.7220678266 0.26164138 0.00000000 0.00000000 0.00000000 0.2949101806 0.00000000 1.00000000 0.00000000 0.00000000 0.1220114184 0.00000000 0.00000000 1.00000000 0.00000000 0.0498653936 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.1100000 1.00000000 0.00000000 0.00000000 0.4020000 0.00000000 1.00000000 0.00000000 0.1450000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.8820000 1.00000000 0.00000000 0.3110000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.6730000 1.00000000 a 6 $ CARBON (15s,8p) -> [7s,4p] $ polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 15 7 0 67025.071029 0.00003874 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10039.986538 0.00030108 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2284.9316911 0.00157879 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 647.14122130 0.00660871 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 211.09472335 0.02336712 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 76.177643862 0.07042072 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 29.633839163 0.17360345 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 12.187785081 0.32292306 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 53.026006299 0.00000000 0.07489740 0.00000000 0.00000000 0.00000000 0.00000000 0.0 15.258502776 0.00000000 0.76136221 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5.2403957464 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 2.2905022379 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.6967328301 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.2759933736 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.1073988439 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 105.12555082 0.00084648 0.00000000 0.00000000 0.00000000 24.884461066 0.00662740 0.00000000 0.00000000 0.00000000 7.8637230826 0.03012039 0.00000000 0.00000000 0.00000000 2.8407001835 0.09995144 0.00000000 0.00000000 0.00000000 1.1227137335 0.23826299 0.00000000 0.00000000 0.00000000 0.4605072556 0.00000000 1.00000000 0.00000000 0.00000000 0.1893753091 0.00000000 0.00000000 1.00000000 0.00000000 0.0759837916 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 1.8480000 1.00000000 0.00000000 0.00000000 0.6490000 0.00000000 1.00000000 0.00000000 0.2280000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 1.4190000 1.00000000 0.00000000 0.4850000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.0110000 1.00000000 a 7 $ NITROGEN (15s,8p) -> [7s,4p] $ polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 15 7 0 90726.889210 0.00003926 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 13590.528801 0.00030513 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3092.9883781 0.00160006 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 875.99876362 0.00669829 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 285.74469982 0.02369008 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 103.11913417 0.07145541 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 40.128556777 0.17632775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 16.528095704 0.32677593 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 69.390960983 0.00000000 0.08005209 0.00000000 0.00000000 0.00000000 0.00000000 0.0 20.428200596 0.00000000 0.78268064 0.00000000 0.00000000 0.00000000 0.00000000 0.0 7.1292587972 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 3.1324304893 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.9875577872 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.3876572131 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.1490988308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 150.05742670 -0.00086216 0.00000000 0.00000000 0.00000000 35.491599483 -0.00685713 0.00000000 0.00000000 0.00000000 11.247864223 -0.03179569 0.00000000 0.00000000 0.00000000 4.0900305195 -0.10537397 0.00000000 0.00000000 0.00000000 1.6220573146 -0.24519708 0.00000000 0.00000000 0.00000000 0.6644226153 0.00000000 1.00000000 0.00000000 0.00000000 0.2709977007 0.00000000 0.00000000 1.00000000 0.00000000 0.1068874998 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.8370000 1.00000000 0.00000000 0.00000000 0.9680000 0.00000000 1.00000000 0.00000000 0.3350000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 2.0270000 1.00000000 0.00000000 0.6850000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.4270000 1.00000000 a 8 $ OXYGEN (15s,8p) -> [7s,4p] $ polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 15 7 0 116506.46908 0.00004038 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 17504.349724 0.00031255 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3993.4513230 0.00163415 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1133.0063186 0.00682832 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 369.99569594 0.02412441 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 133.62074349 0.07273021 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 52.035643649 0.17934430 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 21.461939313 0.33059589 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 89.835051252 0.00000000 0.09646865 0.00000000 0.00000000 0.00000000 0.00000000 0.0 26.428010844 0.00000000 0.94117481 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.2822824649 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 4.0947728533 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 1.3255349078 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.5187723079 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.1977267645 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 191.15255810 0.00251157 0.00000000 0.00000000 0.00000000 45.233356739 0.02003924 0.00000000 0.00000000 0.00000000 14.353465922 0.09360906 0.00000000 0.00000000 0.00000000 5.2422371832 0.30618127 0.00000000 0.00000000 0.00000000 2.0792418599 0.67810501 0.00000000 0.00000000 0.00000000 0.8428237142 0.00000000 1.00000000 0.00000000 0.00000000 0.3361769489 0.00000000 0.00000000 1.00000000 0.00000000 0.1286399797 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 3.7750000 1.00000000 0.00000000 0.00000000 1.3000000 0.00000000 1.00000000 0.00000000 0.4440000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 2.6660000 1.00000000 0.00000000 0.8590000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.8460000 1.00000000 a 9 $ FLUORINE (15s,8p) -> [7s,4p] $ polarization functions of cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 15 7 0 132535.97345 0.00004739 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 19758.112588 0.00037070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4485.1996947 0.00194508 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1273.8151020 0.00805733 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 418.93831236 0.02799288 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 152.55721985 0.08273512 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 59.821524823 0.19854169 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 24.819076932 0.34860632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 100.74446673 0.00000000 0.10505069 0.00000000 0.00000000 0.00000000 0.00000000 0.0 30.103728290 0.00000000 0.94068472 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.814283272 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 4.8172886770 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 1.6559334213 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.6489351958 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.2477810455 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 4 0 240.96654114 0.00303899 0.00000000 0.00000000 0.00000000 57.020699781 0.02435774 0.00000000 0.00000000 0.00000000 18.126952120 0.11442926 0.00000000 0.00000000 0.00000000 6.6457404621 0.37064660 0.00000000 0.00000000 0.00000000 2.6375722892 0.79791552 0.00000000 0.00000000 0.00000000 1.0638217200 0.00000000 1.00000000 0.00000000 0.00000000 0.4193256275 0.00000000 0.00000000 1.00000000 0.00000000 0.1574758830 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 5.0140000 1.00000000 0.00000000 0.00000000 1.7250000 0.00000000 1.00000000 0.00000000 0.5860000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 3.5620000 1.00000000 0.00000000 1.1480000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.3760000 1.00000000 a 10 $ NEON (15s,9p) -> [7s,4p] $ polarization functions of the cc-pVQZ basis (Dunning) $ S-TYPE FUNCTIONS 15 7 0 160676.27955 0.00004739 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 23953.195039 0.00037070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5437.5063711 0.00194508 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1544.2741024 0.00805733 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 507.88814269 0.02799288 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 184.94847750 0.08273512 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 72.522952039 0.19854169 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 30.088713575 0.34860632 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 120.68434940 0.00000000 0.10400597 0.00000000 0.00000000 0.00000000 0.00000000 0.0 36.074294857 0.00000000 0.91999989 0.00000000 0.00000000 0.00000000 0.00000000 0.0 13.052091210 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 5.7974783353 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 2.0478626895 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.8021457199 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.3054867221 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 9 4 0 498.43397466 0.00043118 0.00000000 0.00000000 0.00000000 118.14109217 0.00362064 0.00000000 0.00000000 0.00000000 38.032529735 0.01824534 0.00000000 0.00000000 0.00000000 14.183731950 0.06513304 0.00000000 0.00000000 0.00000000 5.7864190721 0.16708915 0.00000000 0.00000000 0.00000000 2.4599622160 0.29268020 0.00000000 0.00000000 0.00000000 1.0421999498 0.00000000 1.00000000 0.00000000 0.00000000 0.4298774892 0.00000000 0.00000000 1.00000000 0.00000000 0.1688970845 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 6.4710000 1.00000000 0.00000000 0.00000000 2.2130000 0.00000000 1.00000000 0.00000000 0.7470000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 4.6570000 1.00000000 0.00000000 1.5240000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.9830000 1.00000000 a 11 $ SODIUM (20s,12p) -> [9s,5p] $ # R.A./F.Weigend 04/03 (derived from P(4d2f),steep 2d1f -> 1d) $ S-TYPE FUNCTIONS 20 9 0 379852.20081 0.00002067 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 56886.006378 0.00016070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 12942.701838 0.00084463 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3664.3017904 0.00355190 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1194.7417499 0.01275403 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 430.98192917 0.03989546 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 167.83169424 0.10720154 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 69.306669040 0.23339517 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 29.951170886 0.36333077 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 13.380791097 0.30544771 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 121.74011283 0.00000000 0.03614243 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 37.044143387 0.00000000 0.28820962 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 13.995422624 0.00000000 0.79337385 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5.9827797428 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2.4830455118 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.0452506187 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.4387564038 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.0655956332 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.0305619251 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0155090640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 13 6 0 690.77627017 0.00037479 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 163.82806121 0.00317754 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52.876460769 0.01633358 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19.812270493 0.05975490 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.1320378784 0.15879329 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.4969068377 0.29049363 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.5117244146 0.36368131 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.6447929491 0.28195867 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.2614582331 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.1170472612 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0404947477 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0156667074 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0520000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 3 0 2.90 1.00000000 0.00000000 0.00000000 0.230 0.00000000 1.00000000 0.00000000 0.0757 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.135 1.00000000 a 12 $ MAGNESIUM (20s,12p) -> [9s,5p] $ # R.A./F.Weigend 04/03 (derived from 5d2f) $ S-TYPE FUNCTIONS 20 9 0 605967.78753 0.00001443 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 90569.094692 0.00011250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 20574.252844 0.00059265 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5818.6284865 0.00249888 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1895.6296075 0.00902308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 683.45941021 0.02857992 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 266.18219762 0.07906445 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 110.11220010 0.18269338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 47.777041234 0.32157194 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 21.542166149 0.35028259 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 174.12136378 0.00000000 0.02293111 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 53.484972498 0.00000000 0.19151778 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 20.500213307 0.00000000 0.61155711 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 9.8056826922 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3.5402989348 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.5450850046 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.6654019543 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.1435543907 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.0666246735 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0297726483 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 7 0 893.20460829 0.00034958 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 211.78258286 0.00298119 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 68.443200537 0.01551785 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 25.727265349 0.05757866 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.606634281 0.15610308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4.5934126484 0.29230913 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.0100469807 0.37219024 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.8738484154 0.27578089 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.3561507667 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.1899595436 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.0745801357 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.0292216413 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1891479620 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0537687552 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 4 4 0 3.81 1.00000000 0.00000000 0.00000000 0.00000000 0.65 0.00000000 1.00000000 0.00000000 0.00000000 0.20 0.00000000 0.00000000 1.00000000 0.00000000 0.052 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.16 1.0 a 13 $ ALUMINUM (20s,14p) -> [9s,6p] $ polarization functions for the cc-pV(Q+d)Z basis $ S-TYPE FUNCTIONS 20 9 0 754550.78265 0.00001342 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 112999.38922 0.00010433 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 25715.831759 0.00054842 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 7283.6030283 0.00230891 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2376.0008796 0.00833100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 857.65468087 0.02641796 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 334.38922598 0.07344365 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 138.48504731 0.17184039 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 60.150368808 0.31041980 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 27.127610860 0.35669191 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 225.36500065 0.00000000 0.02152204 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 69.341968124 0.00000000 0.18531780 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 26.619335712 0.00000000 0.63533181 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 12.349420671 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 4.5878785994 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2.0571338103 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.9086454940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.2422698804 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.1124813687 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0481564928 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 1489.6119522 0.00020177 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 353.01399267 0.00175081 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 114.40764069 0.00944247 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.312186111 0.03686800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.027322216 0.10892874 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.9675432403 0.23265901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.6090399541 0.34643587 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.6456081630 0.33440810 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.731187489 0.00000000 0.01782307 0.00000000 0.00000000 0.00000000 0.00000000 1.2553083630 0.00000000 -0.59991264 0.00000000 0.00000000 0.00000000 0.00000000 0.7363553428 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2468646556 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0948219718 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0362141657 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.97000000 1.00000000 0.00000000 0.00000000 0.00000000 0.43700000 0.00000000 1.00000000 0.00000000 0.00000000 0.19500000 0.00000000 0.00000000 1.00000000 0.00000000 0.08000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.15400000 1.00000000 0.00000000 0.40100000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.35700000 1.00000000 a 14 $ SILICON (20s,14p) -> [9s,6p] $ polarization functions for the cc-pV(Q+d)Z basis $ S-TYPE FUNCTIONS 20 9 0 918070.69565 0.00001266 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 137485.25386 0.00009841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 31287.772714 0.00051731 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 8861.6105697 0.00217854 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2890.6943156 0.00786569 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1043.4063979 0.02498755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 406.80160276 0.06976182 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 168.48360207 0.16473363 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 73.185628823 0.30285603 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 32.998485420 0.36007260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 278.78751325 0.00000000 0.02018546 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 85.910228722 0.00000000 0.17720407 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 32.992604031 0.00000000 0.63587861 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 15.033693254 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5.7257514773 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 2.6146521029 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 1.1757833152 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.3543233087 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.1624833581 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0683324572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 1775.8850516 0.00020187 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 420.83786849 0.00175443 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 136.42290243 0.00950395 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.700991737 0.03732574 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.559456002 0.11085396 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.5559200095 0.23756407 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.3529819473 0.35295784 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.0096964381 0.32885932 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.418153780 0.00000000 0.02585882 0.00000000 0.00000000 0.00000000 0.00000000 1.9076417796 0.00000000 -0.59874866 0.00000000 0.00000000 0.00000000 0.00000000 0.9233722159 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3451572037 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1365683476 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0529870606 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 2.64500000 1.00000000 0.00000000 0.00000000 0.00000000 0.60800000 0.00000000 1.00000000 0.00000000 0.00000000 0.27200000 0.00000000 0.00000000 1.00000000 0.00000000 0.11300000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.21200000 1.00000000 0.00000000 0.54100000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.46100000 1.00000000 a 15 $ PHOSPHORUS (20s,14p) -> [9s,6p] $ polarization functions for the cc-pV(Q+d)Z basis $ S-TYPE FUNCTIONS 20 9 0 1090561.7138 0.00001214 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 163316.39461 0.00009440 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 37166.607451 0.00049622 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 10526.880945 0.00209000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3433.9976028 0.00754892 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1239.5360480 0.02401042 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 483.27456199 0.06723147 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 200.16911586 0.15978670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 86.960394829 0.29735907 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 39.211283369 0.36187172 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 336.75883662 0.00000000 0.01915472 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 103.72179793 0.00000000 0.17134079 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 39.771861240 0.00000000 0.63689656 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 17.888612952 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 6.9644556879 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3.2198092087 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 1.4669943979 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.4776543753 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.2163778924 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.0902358943 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 2019.6711374 0.00021359 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 478.60125090 0.00185688 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 155.14942504 0.01007069 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 58.816356575 0.03960515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24.544512785 0.11736069 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.883571061 0.24950541 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.9624791285 0.36421288 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.3002912343 0.31764127 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 59.371345016 0.00000000 -0.03943292 0.00000000 0.00000000 0.00000000 0.00000000 3.0694590986 0.00000000 0.63522960 0.00000000 0.00000000 0.00000000 0.00000000 1.0634401739 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4502215216 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1826727134 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0716103338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 3.34300000 1.00000000 0.00000000 0.00000000 0.00000000 0.80700000 0.00000000 1.00000000 0.00000000 0.00000000 0.36500000 0.00000000 0.00000000 1.00000000 0.00000000 0.15400000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.28000000 1.00000000 0.00000000 0.70300000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.59700000 1.00000000 a 16 $ SULFUR (20s,14p) -> [9s,6p] $ polarization functions for the cc-pV(Q+d)Z basis $ S-TYPE FUNCTIONS 20 9 0 1273410.9023 0.00001177 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 190697.83007 0.00009148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 43397.885330 0.00048090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 12291.809677 0.00202572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 4009.7420824 0.00731901 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1447.3531030 0.02330050 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 564.30102913 0.06538621 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 233.74506243 0.15614450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 101.56402814 0.29318564 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 45.805907187 0.36287914 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 394.27281503 0.00000000 0.01875331 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 121.72249591 0.00000000 0.16870727 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 46.754125963 0.00000000 0.63806831 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 20.923008254 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 8.2685567800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 3.8629345671 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 1.7794684781 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.6106426010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.2741226945 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.1132593911 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 2189.8930459 0.00023913 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 518.94596592 0.00207720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 168.19560151 0.01124242 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.745282788 0.04406993 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.597033077 0.12918779 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.774251449 0.26910820 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.3534379024 0.37855929 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.4701911802 0.29692135 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 82.120288349 0.00000000 -0.03942032 0.00000000 0.00000000 0.00000000 0.00000000 4.9523532869 0.00000000 0.64048403 0.00000000 0.00000000 0.00000000 0.00000000 1.0828262029 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4927127736 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2048345094 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.8074361572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 4.15900000 1.00000000 0.00000000 0.00000000 0.00000000 1.01900000 0.00000000 1.00000000 0.00000000 0.00000000 0.46400000 0.00000000 0.00000000 1.00000000 0.00000000 0.19400000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.33500000 1.00000000 0.00000000 0.86900000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.68300000 1.00000000 a 17 $ CHLORINE (20s,14p) -> [9s,6p] $ polarization functions for the cc-pV(Q+d)Z basis $ S-TYPE FUNCTIONS 20 9 0 1467459.0095 0.00001148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 219756.16433 0.00008923 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 50010.770301 0.00046911 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 14164.823918 0.00197624 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 4620.7465525 0.00714199 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1667.8991635 0.02275322 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 650.29199265 0.06395978 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 269.38037376 0.15331059 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 117.06752106 0.28986952 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 52.811766843 0.36348071 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 461.42769988 0.00000000 0.01801946 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 142.12665355 0.00000000 0.16489442 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 54.437838768 0.00000000 0.63891588 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 24.160770219 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 9.7083540306 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 4.5640696733 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 2.1194744832 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.7572236539 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.3374722460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.1386077515 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 2501.9457890 0.00024243 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 592.88059285 0.00210800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 192.18089186 0.01143269 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 72.875710488 0.04495670 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 30.436358370 0.13197476 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.490178902 0.27493639 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.1478071413 0.38347236 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.8450944820 0.28871944 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 105.39397936 0.00000000 -0.03431176 0.00000000 0.00000000 0.00000000 0.00000000 6.7369738513 0.00000000 0.64060819 0.00000000 0.00000000 0.00000000 0.00000000 1.2421095772 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5566971425 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2338780146 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0931644909 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 5.19100000 1.00000000 0.00000000 0.00000000 0.00000000 1.27600000 0.00000000 1.00000000 0.00000000 0.00000000 0.58300000 0.00000000 0.00000000 1.00000000 0.00000000 0.24300000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.42300000 1.00000000 0.00000000 1.08900000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.82700000 1.00000000 a 18 $ ARGON (20s,14p) -> [9s,6p] $ polarization functions for the cc-pV(Q+d)Z basis $ S-TYPE FUNCTIONS 20 9 0 1673421.9494 0.00001125 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 250601.75373 0.00008743 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 57030.912120 0.00045962 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 16153.303915 0.00193639 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5269.4109288 0.00699940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1902.0315541 0.02231207 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 741.57677159 0.06280808 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 307.20901906 0.15101141 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 133.52786203 0.28713661 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 60.253381291 0.36385490 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 522.02426206 0.00000000 0.01807132 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 161.51290469 0.00000000 0.16449220 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 62.126369433 0.00000000 0.63897335 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 27.590930012 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 11.175528881 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 5.2959065137 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 2.4782798895 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.9126209506 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.4042606755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.1656288631 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 6 0 2868.4504581 0.00024010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 679.71869590 0.00209048 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 220.36758824 0.01136932 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 83.620439734 0.04490198 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 34.964322657 0.13237157 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.525131784 0.27709278 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.0992979806 0.38613980 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.3021336602 0.28492925 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 128.78765667 0.00000000 -0.03050946 0.00000000 0.00000000 0.00000000 0.00000000 8.4357867977 0.00000000 0.64101621 0.00000000 0.00000000 0.00000000 0.00000000 1.4618661855 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.6465801010 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2722929576 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.1090518245 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 6.31500000 1.00000000 0.00000000 0.00000000 0.00000000 1.56200000 0.00000000 1.00000000 0.00000000 0.00000000 0.71500000 0.00000000 0.00000000 1.00000000 0.00000000 0.29700000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.54300000 1.00000000 0.00000000 1.32500000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.00700000 1.00000000 a 19 $ POTASSIUM (24s,18p) -> [11s,6p] $ # R.A./F.Weigend 04/03 (abs(EMP2)=Max) $ # core: 2d (EMP2(3s-4s,3p)), valence: 2d (EMP2(K2,valence)) $ # f derived from 3f (sqrt(f(2)*f(3))) $ S-TYPE FUNCTIONS 24 11 0 2022075.1391 0.00001014 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 303044.65568 0.00007878 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 69013.938490 0.00041381 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 19559.244615 0.00174276 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6383.8934901 0.00630041 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2305.3502858 0.02012535 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 899.14418101 0.05696606 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 372.59500133 0.13882654 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 161.97635247 0.27132285 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 73.085553853 0.36383621 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 33.595644762 0.24724465 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 685.49855365 0.00000000 0.00443675 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 211.66163373 0.00000000 0.04250272 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 80.851405131 0.00000000 0.18467742 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 35.108667236 0.00000000 0.29353173 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 14.409437283 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6.8697147262 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.2121883687 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.2610484365 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.6143894630 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.2726437097 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.0771730052 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0409183976 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0170557624 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 3469.6649718 0.00021340 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 822.02356107 0.00186378 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 266.58406636 0.01021143 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 101.28048161 0.04079960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 42.429490761 0.12257473 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.912083912 0.26405834 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.7017779030 0.38227165 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.0854567599 0.29998812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.8667286060 0.07800727 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 27.544639057 0.00000000 -0.00582230 0.00000000 0.00000000 0.00000000 0.00000000 9.2098893609 0.00000000 -0.02678753 0.00000000 0.00000000 0.00000000 0.00000000 1.7232877425 0.00000000 0.30666848 0.00000000 0.00000000 0.00000000 0.00000000 0.7796930374 0.00000000 0.66927944 0.00000000 0.00000000 0.00000000 0.00000000 0.3437904786 0.00000000 0.60376469 0.00000000 0.00000000 0.00000000 0.00000000 0.1434668192 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0680000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0320000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0153000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.7 1.00000000 0.00000000 0.00000000 0.00000000 0.51 0.00000000 1.00000000 0.00000000 0.00000000 0.18 0.00000000 0.00000000 1.00000000 0.00000000 0.054 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.267 1.0 a 20 $ CALCIUM (24s18p6d) / [11s6p4d] {(11)4111111111/951111/3111} $ $ S-TYPE FUNCTIONS 24 11 0 2433075.4304 0.00000916 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 364160.43015 0.00071272 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 82898.747637 0.00037434 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 23499.730540 0.00157629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 7671.2245985 0.00570261 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2770.2330687 0.01825574 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1080.6807550 0.05190642 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 448.04894531 0.12791239 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 194.92007727 0.25586635 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 88.039793338 0.36028678 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 40.645696719 0.26838462 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 779.53331918 0.00000000 -0.01840301 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 241.18856300 0.00000000 -0.17649441 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 92.403869324 0.00000000 -0.77662800 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 39.786090342 0.00000000 -1.33521554 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18.195864278 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8.3321457067 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.9190196209 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.6667099493 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.8089108491 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.3617419993 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.0823798745 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0479478643 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0223081124 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 19 7 0 4064.2232796 0.00019781 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 962.91550624 0.00173075 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 312.34501046 0.00952987 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 118.76056036 0.03838746 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 49.816153133 0.11679256 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 22.259679401 0.25637225 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.286094124 0.37986193 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4.8606982416 0.30805761 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.2525682942 0.08575600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 31.467555443 0.00000000 -0.00424415 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.657589056 0.00000000 -0.01957943 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.0505555426 0.00000000 0.21237507 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.9436208923 0.00000000 0.46277871 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.4270906750 0.00000000 0.39177496 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.1778818721 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.0860000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.0415000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.0200000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0749790000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 6 4 0 16.924012098 0.03554397 0.00000000 0.00000000 0.00000000 4.4655403330 0.18133698 0.00000000 0.00000000 0.00000000 1.4347576200 0.48002060 0.00000000 0.00000000 0.00000000 0.4655237678 0.00000000 1.00000000 0.00000000 0.00000000 0.1409771108 0.00000000 0.00000000 1.00000000 0.00000000 0.0414670093 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 0.321 1.00000000 a 21 $ SCANDIUM (24s18p9d) / [11s6p5d] $ Diffuse: f: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ g: F. Weigend 04/03 (extrap. from cr-zn) $ S-TYPE FUNCTIONS 24 11 0 2855231.1264 0.00000849 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 427433.34221 0.00006600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 97233.218545 0.00034741 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 27496.222846 0.00146941 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8948.7324409 0.00534107 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3221.0397292 0.01720065 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1252.0534077 0.04928707 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 517.26093376 0.12273535 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 224.33127242 0.24910184 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 101.10551671 0.35884367 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 46.684957855 0.27782811 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 947.75965484 0.00000000 0.00361230 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 293.07262846 0.00000000 0.03561622 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 111.70230657 0.00000000 0.16664064 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 47.756215212 0.00000000 0.32531051 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 21.121984009 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9.7765922198 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4.5982699340 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.9928487767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 0.9593995446 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.4256679007 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.0981321960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0568942222 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0253699072 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 4611.4680242 0.00019181 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1092.4666458 0.00168019 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 354.41923265 0.00927633 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 134.83390286 0.03753720 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 56.610873926 0.11493045 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.336605518 0.25446811 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.741313238 0.37993353 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.5697268625 0.30948776 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.5949954062 0.08697226 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.951198081 0.00000000 -0.00557804 0.00000000 0.00000000 0.00000000 0.00000000 12.301020232 0.00000000 -0.02593383 0.00000000 0.00000000 0.00000000 0.00000000 2.3876557755 0.00000000 0.27489094 0.00000000 0.00000000 0.00000000 0.00000000 1.1031823600 0.00000000 0.59208047 0.00000000 0.00000000 0.00000000 0.00000000 0.5000847950 0.00000000 0.49113472 0.00000000 0.00000000 0.00000000 0.00000000 0.2079650880 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1010000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0480000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0230000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 5 0 73.531179748 0.00225064 0.00000000 0.00000000 0.00000000 0.00000000 21.764759639 0.01637761 0.00000000 0.00000000 0.00000000 0.00000000 7.9233701690 0.06333045 0.00000000 0.00000000 0.00000000 0.00000000 3.1847889778 0.17056209 0.00000000 0.00000000 0.00000000 0.00000000 1.3427790019 0.30119020 0.00000000 0.00000000 0.00000000 0.00000000 0.5614957498 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2276407365 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0852112218 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0350000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 1.481000000 1.00000000 0.00000000 0.00000000 0.345000000 0.00000000 1.00000000 0.00000000 0.110000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.247000000 1.0 a 22 $ TITANIUM (24s18p9d) / [11s6p5d] $ Diffuse: f: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ g: F. Weigend 04/03 (extrap. from cr-zn) $ S-TYPE FUNCTIONS 24 11 0 3070548.8651 0.00000870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 460777.88643 0.00006745 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 104901.22889 0.00035477 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 29695.861199 0.00149775 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9678.8892688 0.00543099 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3490.1877912 0.01743936 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1359.2217621 0.04983563 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 562.42721208 0.12379634 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 244.22296250 0.25057491 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 110.16668710 0.35934609 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 50.881903357 0.27594243 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 965.95430789 0.00000000 0.00417739 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 299.27072059 0.00000000 0.04027715 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 114.83772939 0.00000000 0.17898687 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 49.477578954 0.00000000 0.31783044 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 22.982839977 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 10.518305037 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4.9774390567 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.1339846838 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.0342457284 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.4619977500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1062126419 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0543403474 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0251102174 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 5169.6755427 0.00018803 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1225.0961638 0.00164735 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 397.60051934 0.00911046 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 151.36154684 0.03698745 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 63.613321773 0.11376330 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28.514560307 0.25345209 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.248003298 0.38019403 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.3048807760 0.30989136 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.9493525821 0.08741894 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 40.738772213 0.00000000 -0.00732338 0.00000000 0.00000000 0.00000000 0.00000000 14.062358461 0.00000000 -0.03428259 0.00000000 0.00000000 0.00000000 0.00000000 2.7460680961 0.00000000 0.35655009 0.00000000 0.00000000 0.00000000 0.00000000 1.2713688141 0.00000000 0.76112035 0.00000000 0.00000000 0.00000000 0.00000000 0.5761001555 0.00000000 0.62716743 0.00000000 0.00000000 0.00000000 0.00000000 0.2398182072 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1100000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0500000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0230000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 5 0 89.589880075 0.00212230 0.00000000 0.00000000 0.00000000 0.00000000 26.591412960 0.01591182 0.00000000 0.00000000 0.00000000 0.00000000 9.7739715702 0.06287524 0.00000000 0.00000000 0.00000000 0.00000000 3.9625083655 0.17144171 0.00000000 0.00000000 0.00000000 0.00000000 1.6890532654 0.30565507 0.00000000 0.00000000 0.00000000 0.00000000 0.7153977147 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2936667775 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1107909485 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0450000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 2.093 1.00000000 0.00000000 0.00000000 0.562 0.00000000 1.00000000 0.00000000 0.191 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.634 1.00000000 a 23 $ VANADIUM (24s18p9d) / [11s6p5d] $ Diffuse: f: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ g: F. Weigend 04/03 (extrap. from cr-zn) $ S-TYPE FUNCTIONS 24 11 0 3360380.0382 0.00000870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 502646.73178 0.00006779 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 114247.22867 0.00035699 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 32321.972630 0.00150755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 10532.947271 0.00546644 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3798.3004439 0.01754731 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1479.6094715 0.05010659 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 612.57405507 0.12431296 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 266.22103326 0.25117027 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 120.21980126 0.35926016 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 55.591180848 0.27505076 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1082.4768635 0.00000000 0.00393268 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 334.94462061 0.00000000 0.03829848 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 128.31559026 0.00000000 0.17259909 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 55.311589616 0.00000000 0.31287423 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 25.108383036 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 11.667553242 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5.5372073270 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.3781007618 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.1506947329 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.5128399104 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1162571145 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0582727856 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0266623122 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 5782.8035005 0.00018345 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1369.9392282 0.00160952 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 444.53147129 0.00892423 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 169.25617556 0.03637518 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71.168730031 0.11246803 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.933358374 0.25226108 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.865336779 0.38039695 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.0921740091 0.31068797 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.3281157846 0.08814120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 45.842906017 0.00000000 -0.00566614 0.00000000 0.00000000 0.00000000 0.00000000 15.940339016 0.00000000 -0.02671898 0.00000000 0.00000000 0.00000000 0.00000000 3.1257155025 0.00000000 0.27354633 0.00000000 0.00000000 0.00000000 0.00000000 1.4485867558 0.00000000 0.57972883 0.00000000 0.00000000 0.00000000 0.00000000 0.6557790283 0.00000000 0.47601111 0.00000000 0.00000000 0.00000000 0.00000000 0.2731162664 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1220000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0550000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0250000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 5 0 103.95047414 0.00210072 0.00000000 0.00000000 0.00000000 0.00000000 30.901688665 0.01601524 0.00000000 0.00000000 0.00000000 0.00000000 11.420321145 0.06412746 0.00000000 0.00000000 0.00000000 0.00000000 4.6573272292 0.17488906 0.00000000 0.00000000 0.00000000 0.00000000 1.9963682623 0.31003778 0.00000000 0.00000000 0.00000000 0.00000000 0.8496724953 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3495322188 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1316558823 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0520000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 2.933 1.00000000 0.00000000 0.00000000 0.831 0.00000000 1.00000000 0.00000000 0.257 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.009 1.00000000 a 24 $ CHROMIUM (24s18p9d) / [11s6p5d] $ Diffuse: f: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ g: F. Weigend 04/03 (extrap. from cr-zn) $ S-TYPE FUNCTIONS 24 11 0 3637838.6820 0.00000877 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 544864.46100 0.00006817 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 123997.55079 0.00035844 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 35116.733166 0.00151170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 11455.702298 0.00547319 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4135.9906712 0.01753943 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1613.2513581 0.05000487 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 668.77932380 0.12393519 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 291.01365155 0.25039606 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 131.57328167 0.35870470 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 60.924567928 0.27581149 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1196.2899601 0.00000000 0.00773686 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 369.76947592 0.00000000 0.07583784 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 141.54426084 0.00000000 0.34435149 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 60.999228765 0.00000000 0.63249298 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 27.599113358 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 12.882112056 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6.1247513721 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.6332895309 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.2708482289 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.5648357592 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1259680894 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0620456073 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0281443127 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 6395.8781792 0.00018105 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1515.1701574 0.00158937 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 491.70538681 0.00882587 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 187.28416675 0.03606895 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 78.800346444 0.11189650 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 35.396291693 0.25202240 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.509278879 0.38082266 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.8947396863 0.31035222 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.7136414465 0.08798031 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.259312534 0.00000000 -0.00605420 0.00000000 0.00000000 0.00000000 0.00000000 17.934932523 0.00000000 -0.02876176 0.00000000 0.00000000 0.00000000 0.00000000 3.5257174218 0.00000000 0.29087768 0.00000000 0.00000000 0.00000000 0.00000000 1.6339163906 0.00000000 0.61267525 0.00000000 0.00000000 0.00000000 0.00000000 0.7385241383 0.00000000 0.50126035 0.00000000 0.00000000 0.00000000 0.00000000 0.3075236819 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1350000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0590000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0260000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 9 5 0 118.24986288 0.00210128 0.00000000 0.00000000 0.00000000 0.00000000 35.193935700 0.01621227 0.00000000 0.00000000 0.00000000 0.00000000 13.057816022 0.06558185 0.00000000 0.00000000 0.00000000 0.00000000 5.3485602844 0.17849601 0.00000000 0.00000000 0.00000000 0.00000000 2.3004233713 0.31376763 0.00000000 0.00000000 0.00000000 0.00000000 0.9811432831 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4033418321 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1513558955 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 3.733 1.00000000 0.00000000 0.00000000 1.147 0.00000000 1.00000000 0.00000000 0.366 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.382 1.00000000 a 25 $ MANGANESE (24s18p10d) / [11s6p5d] $ Diffuse: f: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ g: F. Weigend 04/03 (extrap. from cr-zn) $ S-TYPE FUNCTIONS 24 11 0 4289357.6441 0.00000794 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 636361.00285 0.00006254 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 143637.27569 0.00033226 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 40406.345432 0.00141300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 13104.363417 0.00515609 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4705.0664255 0.01665957 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1825.7125432 0.04790808 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 753.33816229 0.11994904 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 326.47253285 0.24550297 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 147.10300670 0.35822740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 67.987226869 0.28295764 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1300.7266717 0.00000000 0.00760252 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 402.72027544 0.00000000 0.07436511 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 154.38971348 0.00000000 0.33780474 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 66.443384613 0.00000000 0.62779332 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 30.975316006 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 14.222980890 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6.7598265074 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.9087083287 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.3966507792 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.6179262409 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1343948372 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0651950538 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0294157136 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 6483.2629658 0.00020480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1556.7134859 0.00175258 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 509.73925460 0.00957988 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 195.28408089 0.03868136 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 82.542547525 0.11832402 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 37.212076731 0.26168460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.425804462 0.38400629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.3691376962 0.29704167 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.9409000444 0.07826329 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 57.202741010 0.00000000 -0.00477491 0.00000000 0.00000000 0.00000000 0.00000000 20.090935947 0.00000000 -0.02298973 0.00000000 0.00000000 0.00000000 0.00000000 3.9357553763 0.00000000 0.23197066 0.00000000 0.00000000 0.00000000 0.00000000 1.8181984012 0.00000000 0.48435204 0.00000000 0.00000000 0.00000000 0.00000000 0.8188153528 0.00000000 0.39159479 0.00000000 0.00000000 0.00000000 0.00000000 0.3403835919 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1500000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0630000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0270000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 200.40254535 0.00089550 0.00000000 0.00000000 0.00000000 0.00000000 59.898225773 0.00762576 0.00000000 0.00000000 0.00000000 0.00000000 22.810570167 0.03452322 0.00000000 0.00000000 0.00000000 0.00000000 9.5874142097 0.10552677 0.00000000 0.00000000 0.00000000 0.00000000 4.2933710910 0.22575378 0.00000000 0.00000000 0.00000000 0.00000000 1.9537618373 0.32766534 0.00000000 0.00000000 0.00000000 0.00000000 0.8737887360 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.3759774890 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1481154759 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0600000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 4.353 1.00000000 0.00000000 0.00000000 1.326 0.00000000 1.00000000 0.00000000 0.408 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.755 1.00000000 a 26 $ IRON (24s18p10d) / [11s6p5d] $ Diffuse: f: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ g: F. Weigend 04/03 (extrap. from cr-zn) $ S-TYPE FUNCTIONS 24 11 0 4313154.4338 0.00000867 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 645875.08253 0.00006742 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 146981.87698 0.00035449 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 41630.615044 0.00149483 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 13580.620109 0.00541367 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4902.0620613 0.01736246 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1911.2900837 0.04956657 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 791.99837852 0.12309090 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 344.54799181 0.24936706 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 155.78722730 0.35858415 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 72.179380315 0.27738222 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1417.9125091 0.00000000 0.00748716 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 439.23184195 0.00000000 0.07333758 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 168.51006820 0.00000000 0.33383144 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 72.776269412 0.00000000 0.62022525 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 32.752961774 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 15.434336101 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 7.3639318205 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.1698832880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.5243708395 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.6749628115 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1471856603 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0700822166 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0312082694 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 7709.0587627 0.00017711 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1826.4666323 0.00155601 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 592.84368362 0.00866295 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 225.93763245 0.03556595 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 95.164758890 0.11098847 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 42.823132375 0.25177797 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.036286581 0.38166911 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.6159346283 0.30963598 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.5393538787 0.08755828 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 62.997519003 0.00000000 -0.00509104 0.00000000 0.00000000 0.00000000 0.00000000 22.262748731 0.00000000 -0.02454046 0.00000000 0.00000000 0.00000000 0.00000000 4.3900064942 0.00000000 0.24345605 0.00000000 0.00000000 0.00000000 0.00000000 2.0328913928 0.00000000 0.50781898 0.00000000 0.00000000 0.00000000 0.00000000 0.9159262158 0.00000000 0.41214896 0.00000000 0.00000000 0.00000000 0.00000000 0.3803665351 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1600000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0670000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0280000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 218.33430163 0.00093700 0.00000000 0.00000000 0.00000000 0.00000000 65.256292616 0.00800088 0.00000000 0.00000000 0.00000000 0.00000000 24.866944817 0.03630529 0.00000000 0.00000000 0.00000000 0.00000000 10.473399301 0.11057190 0.00000000 0.00000000 0.00000000 0.00000000 4.6947005007 0.23219589 0.00000000 0.00000000 0.00000000 0.00000000 2.1315982534 0.32922860 0.00000000 0.00000000 0.00000000 0.00000000 0.9474800461 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4034648883 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1568741473 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0620000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 5.103 1.00000000 0.00000000 0.00000000 1.598 0.00000000 1.00000000 0.00000000 0.505 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.128 1.00000000 a 27 $ COBALT (24s18p10d) / [11s6p5d] $ Diffuse: f: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ g: F. Weigend 04/03 (extrap. from cr-zn) $ S-TYPE FUNCTIONS 24 11 0 4658206.5032 0.00000866 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 697560.87453 0.00006734 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 158759.87124 0.00035399 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 44969.099379 0.00149264 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 14670.714247 0.00540531 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5295.8947250 0.01733523 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2065.0581167 0.04948664 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 855.90627750 0.12289352 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 372.48747255 0.24903230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 168.50576608 0.35838320 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 78.128761566 0.27777974 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1534.5149885 0.00000000 0.00744644 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 475.52976096 0.00000000 0.07299360 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 182.54836839 0.00000000 0.33243105 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 78.916467177 0.00000000 0.61900490 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 35.500865522 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 16.790414486 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8.0240232510 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.4571682964 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.6599835391 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.7338002245 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1587861310 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0745356595 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0328673517 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 8425.4331352 0.00017492 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1995.8758452 0.00153789 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 647.76765681 0.00857525 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 246.88261214 0.03529527 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 104.00952246 0.11050008 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.827478138 0.25160925 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 21.934444535 0.38209003 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.540499528 0.30947120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.9820419385 0.08743687 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 69.270787130 0.00000000 -0.00611724 0.00000000 0.00000000 0.00000000 0.00000000 24.583977935 0.00000000 -0.02965504 0.00000000 0.00000000 0.00000000 0.00000000 4.8562258878 0.00000000 0.29163333 0.00000000 0.00000000 0.00000000 0.00000000 2.2480916102 0.00000000 0.60629408 0.00000000 0.00000000 0.00000000 0.00000000 1.0114285977 0.00000000 0.49057440 0.00000000 0.00000000 0.00000000 0.00000000 0.4191990546 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1750000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0730000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0300000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 237.58450966 0.00097593 0.00000000 0.00000000 0.00000000 0.00000000 71.086896302 0.00834326 0.00000000 0.00000000 0.00000000 0.00000000 27.119080683 0.03795847 0.00000000 0.00000000 0.00000000 0.00000000 11.448239054 0.11522936 0.00000000 0.00000000 0.00000000 0.00000000 5.1391806672 0.23843468 0.00000000 0.00000000 0.00000000 0.00000000 2.3323492099 0.33205700 0.00000000 0.00000000 0.00000000 0.00000000 1.0338662062 0.00000000 0.33276836 0.00000000 0.00000000 0.00000000 0.4378514629 0.00000000 0.00000000 0.22769291 0.00000000 0.00000000 0.1689500495 0.00000000 0.00000000 0.00000000 0.07463413 0.00000000 0.0660000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 5.975 1.00000000 0.00000000 0.00000000 1.903 0.00000000 1.00000000 0.00000000 0.594 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.500 1.00000000 a 28 $ NICKEL (24s18p10d) / [11s6p5d] $ Diffuse: f: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ g: F. Weigend 04/03 (extrap. from cr-zn) $ S-TYPE FUNCTIONS 24 11 0 5037649.9532 0.00000861 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 754246.39418 0.00006694 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 171644.16010 0.00035191 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 48617.230286 0.00148391 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 15860.961795 0.00537363 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5726.0018653 0.01723338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2232.9547317 0.04921148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 925.49649101 0.12232505 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 402.75336913 0.24829252 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 182.19422856 0.35825476 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 84.494109788 0.27881866 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1678.0564586 0.00000000 0.00824629 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 519.21358326 0.00000000 0.08150594 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 198.95881607 0.00000000 0.37495728 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 85.901180703 0.00000000 0.70841744 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 38.435760123 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18.252349351 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8.7283616939 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.7616245662 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.8028217338 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.7950714051 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1703172028 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0789712362 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0345034868 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 9156.5701453 0.00017346 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2169.0239526 0.00152572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 703.98918991 0.00851633 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 268.36293215 0.03511747 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 113.10288796 0.11020275 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 50.955539222 0.25162602 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.896708209 0.38246390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.498241522 0.30907230 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.4410908056 0.08719438 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 75.938560736 0.00000000 -0.00746355 0.00000000 0.00000000 0.00000000 0.00000000 27.037350184 0.00000000 -0.03645340 0.00000000 0.00000000 0.00000000 0.00000000 5.3404687432 0.00000000 0.35633549 0.00000000 0.00000000 0.00000000 0.00000000 2.4700181361 0.00000000 0.73774122 0.00000000 0.00000000 0.00000000 0.00000000 1.1095029064 0.00000000 0.59439383 0.00000000 0.00000000 0.00000000 0.00000000 0.4589976710 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1870000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0762000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0310000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 258.11131142 0.00237263 0.00000000 0.00000000 0.00000000 0.00000000 77.254891371 0.02033013 0.00000000 0.00000000 0.00000000 0.00000000 29.500240033 0.09274849 0.00000000 0.00000000 0.00000000 0.00000000 12.477446945 0.28082285 0.00000000 0.00000000 0.00000000 0.00000000 5.6070455111 0.57392658 0.00000000 0.00000000 0.00000000 0.00000000 2.5427744163 0.78766059 0.00000000 0.00000000 0.00000000 0.00000000 1.1238296774 0.00000000 0.77868790 0.00000000 0.00000000 0.00000000 0.4736117146 0.00000000 0.00000000 0.52932234 0.00000000 0.00000000 0.1816185832 0.00000000 0.00000000 0.00000000 0.17478168 0.00000000 0.0710000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 6.758 1.00000000 0.00000000 0.00000000 2.174 0.00000000 1.00000000 0.00000000 0.681 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.872 1.00000000 a 29 $ COPPER (24s18p10d) / [11s6p5d] $ Diffuse: f: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ g: F. Weigend 04/03 (extrap. from cr-zn) $ S-TYPE FUNCTIONS 24 11 0 5056467.8898 0.00000935 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 759457.83835 0.00007232 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 173524.88497 0.00037814 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 49327.259988 0.00158701 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 16144.149930 0.00572207 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5844.5964680 0.01826839 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2284.6812739 0.05189372 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 948.88232514 0.12796192 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 413.66215455 0.25629891 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 187.38942059 0.36064416 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 86.872771648 0.26833665 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1744.0598287 0.00000000 0.00885871 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 540.93295513 0.00000000 0.08652279 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 207.99736224 0.00000000 0.38932285 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 90.475793036 0.00000000 0.69777200 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 38.869687699 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18.974829147 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9.0953644635 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.8330020174 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1.8198891499 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.7906809839 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1491414211 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0724480906 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0309599254 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 9720.4614555 0.00017829 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2302.7557452 0.00156781 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 747.48498314 0.00874701 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 285.00132623 0.03604455 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 120.15121609 0.11287209 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.145261156 0.25647377 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.406033563 0.38512918 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.224331465 0.30316512 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.7638720668 0.08167722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 83.210837217 0.00000000 -0.00635304 0.00000000 0.00000000 0.00000000 0.00000000 29.694779129 0.00000000 -0.03138383 0.00000000 0.00000000 0.00000000 0.00000000 5.8248516206 0.00000000 0.30930040 0.00000000 0.00000000 0.00000000 0.00000000 2.6746181180 0.00000000 0.63583926 0.00000000 0.00000000 0.00000000 0.00000000 1.1841836775 0.00000000 0.50946046 0.00000000 0.00000000 0.00000000 0.00000000 0.4804358354 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.1870000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0762000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0310000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 249.54025080 0.00124329 0.00000000 0.00000000 0.00000000 0.00000000 74.683914534 0.01045690 0.00000000 0.00000000 0.00000000 0.00000000 28.392717116 0.04645124 0.00000000 0.00000000 0.00000000 0.00000000 11.955968430 0.13541360 0.00000000 0.00000000 0.00000000 0.00000000 5.3210744624 0.25852900 0.00000000 0.00000000 0.00000000 0.00000000 2.3661189459 0.33168128 0.00000000 0.00000000 0.00000000 0.00000000 1.0131863994 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.4071003594 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.1474254103 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0710000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 6.962 1.00000000 0.00000000 0.00000000 2.233 0.00000000 1.00000000 0.00000000 0.704 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 3.245 1.00000000 a 30 $ ZINC (24s18p10d) / [11s6p5d] $ Diffuse: f: F. Weigend 04/03 (abs(EMP2(3d,4s))=max) $ g: F. Weigend 04/03 (extrap. from cr-zn) $ S-TYPE FUNCTIONS 24 11 0 5742307.1507 0.00000869 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 861450.78790 0.00006736 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 196346.05866 0.00035350 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 55682.870737 0.00148842 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18183.902394 0.00538409 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6569.6448019 0.01725274 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2563.5613276 0.04923868 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1063.1147176 0.12235812 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 462.89771078 0.24835390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 209.52821049 0.35830633 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 97.240787991 0.27880260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1929.2689992 0.00000000 0.00830770 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 598.07122307 0.00000000 0.08188259 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 229.69667336 0.00000000 0.37588060 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 99.416819228 0.00000000 0.71067260 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 44.241101421 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 21.194367113 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 10.158731597 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4.3746176158 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.0901489071 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 0.9186913644 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.1927866061 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.0873299152 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0375522171 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 18 6 0 10690.445107 0.00017143 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2532.3159340 0.00150880 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 821.94295003 0.00843688 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 313.42757800 0.03489810 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 132.18314247 0.10993617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 59.620554387 0.25207277 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28.019488868 0.38325658 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.511704850 0.30787091 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.4053711253 0.08641170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 89.981131918 0.00000000 -0.00962628 0.00000000 0.00000000 0.00000000 0.00000000 32.241767106 0.00000000 -0.04750941 0.00000000 0.00000000 0.00000000 0.00000000 6.3809448581 0.00000000 0.45834100 0.00000000 0.00000000 0.00000000 0.00000000 2.9477928353 0.00000000 0.94473799 0.00000000 0.00000000 0.00000000 0.00000000 1.3200854955 0.00000000 0.75923465 0.00000000 0.00000000 0.00000000 0.00000000 0.5442467445 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.2579997180 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0928631924 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0340593414 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 10 5 0 305.22298937 0.00273598 0.00000000 0.00000000 0.00000000 0.00000000 91.468273202 0.02358523 0.00000000 0.00000000 0.00000000 0.00000000 34.986985968 0.10858422 0.00000000 0.00000000 0.00000000 0.00000000 14.849415187 0.32843594 0.00000000 0.00000000 0.00000000 0.00000000 6.6858545707 0.66180236 0.00000000 0.00000000 0.00000000 0.00000000 3.0309412620 0.89165339 0.00000000 0.00000000 0.00000000 0.00000000 1.3355050671 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.5588317639 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.2118079929 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0830000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 8.020 1.00000000 0.00000000 0.00000000 2.614 0.00000000 1.00000000 0.00000000 0.836 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 3.617 1.00000000 a 31 $ GALLIUM (24s18p10d) / [11s7p4d] $ diffuse # 2f1g (Dunning pVQZ) $ S-TYPE FUNCTIONS 24 11 0 6623802.0274 0.00007909 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 987904.07075 0.00006184 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 224132.05899 0.00032636 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 63315.192943 0.00138104 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 20611.312702 0.00501538 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 7429.1672482 0.01613094 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2894.2071720 0.04624083 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1198.9915786 0.11579100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 521.82003812 0.23834841 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 236.27549237 0.35374256 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 109.98395671 0.29055722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2101.2587253 0.00000000 0.00830396 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 650.97022519 0.00000000 0.08225413 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 250.22438356 0.00000000 0.38021717 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 108.17616625 0.00000000 0.74503595 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 51.057486710 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 23.647474527 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 11.361701144 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5.0178135897 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.4102674998 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.0741046685 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.2574507583 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.1217522755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0523605990 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 19 7 0 14711.750483 0.00011131 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3482.1451716 0.00098496 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1130.2186655 0.00558542 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 431.54093448 0.02368241 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 182.41723648 0.07821159 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 82.706753603 0.19503830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 39.228128772 0.34131988 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 19.201979939 0.35718665 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.5056966689 0.16395955 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 92.615613022 0.00000000 -0.08584828 0.00000000 0.00000000 0.00000000 0.00000000 0.0 33.750148165 0.00000000 -0.39435020 0.00000000 0.00000000 0.00000000 0.00000000 0.0 7.3482283015 0.00000000 0.00000000 0.37941607 0.00000000 0.00000000 0.00000000 0.0 3.7813384844 0.00000000 0.00000000 0.71306292 0.00000000 0.00000000 0.00000000 0.0 2.3145183128 0.00000000 0.00000000 0.43210001 0.00000000 0.00000000 0.00000000 0.0 0.8034685972 0.00000000 0.00000000 0.25838123 0.00000000 0.00000000 0.00000000 0.0 1.5423710087 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.3291023964 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1183408883 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0416278777 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 363.49565218 0.00087402 0.00000000 0.00000000 0.00000000 109.01749589 0.00767519 0.00000000 0.00000000 0.00000000 41.866430715 0.03638898 0.00000000 0.00000000 0.00000000 17.879279894 0.11325183 0.00000000 0.00000000 0.00000000 8.1201893671 0.23770881 0.00000000 0.00000000 0.00000000 3.7360611356 0.33306060 0.00000000 0.00000000 0.00000000 1.6826812549 0.33130614 0.00000000 0.00000000 0.00000000 0.7265579050 0.00000000 0.21895438 0.00000000 0.00000000 0.2849858508 0.00000000 0.00000000 1.00000000 0.00000000 0.1120000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.47100000 1.00000000 0.00000000 0.18100000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.40320000 1.00000000 a 32 $ GERMANIUM (24s19p10d) / [11s7p4d] $ diffuse # 2f1g (Dunning pVQZ) $ S-TYPE FUNCTIONS 24 11 0 7233056.0346 0.00000766 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1082886.1731 0.00005960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 246481.46959 0.00031319 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 69862.426955 0.00131941 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 22815.809662 0.00477361 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8246.5369297 0.01531925 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3219.9367257 0.04390087 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1336.5743706 0.11028574 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 582.87737501 0.22912630 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 264.59511360 0.34779259 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 123.77823320 0.29968722 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2311.1055804 0.00000000 0.00750331 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 716.27089868 0.00000000 0.07477839 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 275.45330910 0.00000000 0.35092882 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 118.93292565 0.00000000 0.72055990 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 58.435699085 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 26.261575973 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 12.664880671 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5.7269548505 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2.7555023203 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.2432886754 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.3310718385 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.1596408137 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0684631789 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 19 7 0 16555.711074 0.00010199 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3914.9903745 0.00090504 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1269.4766518 0.00515585 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 484.35437789 0.02201034 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 204.64985822 0.07343480 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 92.791032094 0.18608955 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 44.055060255 0.33330982 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 21.601319931 0.36229776 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.732169233 0.17765186 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 100.88933962 0.00000000 -0.11146182 0.00000000 0.00000000 0.00000000 0.00000000 0.0 36.640254741 0.00000000 -0.52324324 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.0343224115 0.00000000 0.00000000 0.31484763 0.00000000 0.00000000 0.00000000 0.0 4.5613438333 0.00000000 0.00000000 0.38737745 0.00000000 0.00000000 0.00000000 0.0 3.1794882223 0.00000000 0.00000000 0.50034354 0.00000000 0.00000000 0.00000000 0.0 0.9261204146 0.00000000 0.00000000 0.22656708 0.00000000 0.00000000 0.00000000 0.0 0.0 1.7977040907 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.4138686543 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1583079871 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0578770359 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 420.99565921 0.00078212 0.00000000 0.00000000 0.00000000 126.36209818 0.00695601 0.00000000 0.00000000 0.00000000 48.661473548 0.03371219 0.00000000 0.00000000 0.00000000 20.880325527 0.10717291 0.00000000 0.00000000 0.00000000 9.5418229355 0.23161030 0.00000000 0.00000000 0.00000000 4.4353653868 0.33390954 0.00000000 0.00000000 0.00000000 2.0285421942 0.33720676 0.00000000 0.00000000 0.00000000 0.8948493527 0.00000000 0.21702473 0.00000000 0.00000000 0.3578607433 0.00000000 0.00000000 1.00000000 0.00000000 0.1400000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.54920000 1.00000000 0.00000000 0.21900000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.46810000 1.00000000 a 33 $ ARSENIC (24s20p10d) / [11s7p4d] $ diffuse # 2f1g (Dunning pVQZ) $ S-TYPE FUNCTIONS 24 11 0 8217482.6198 0.00000706 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1230500.3720 0.00005488 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 280225.86648 0.00028809 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 79482.509415 0.00121298 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 25963.783351 0.00439146 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9381.4010193 0.01412536 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3660.4911972 0.04065792 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1518.2356024 0.10300383 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 661.80098920 0.21730077 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 300.58642127 0.33995751 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 141.11137296 0.31088634 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2577.0870580 0.00000000 0.00707530 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 798.07872277 0.00000000 0.07138362 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 306.57574948 0.00000000 0.34287025 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 132.27558802 0.00000000 0.74361403 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 67.448702235 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 29.209180441 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 14.156509326 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 6.5561506682 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.1392847238 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.4294631050 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.4110339089 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.2003245331 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.0856699289 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 20 7 0 25198.504278 0.00005476 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5972.5601381 0.00048572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1941.9123183 0.00279081 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 743.59381104 0.01220151 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 315.63828052 0.04266629 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 143.96878925 0.11870919 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 69.068683164 0.24909407 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 34.254305629 0.36061357 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 17.371746759 0.29392242 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.7634555628 0.09782906 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 228.49024582 0.00000000 -0.00249001 0.00000000 0.00000000 0.00000000 0.00000000 0.0 86.313555488 0.00000000 -0.01948252 0.00000000 0.00000000 0.00000000 0.00000000 0.0 36.751366267 0.00000000 -0.06149507 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.5365149464 0.00000000 0.47258065 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4.1935128599 0.00000000 1.02360651 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.0464980417 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.9800000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.4053434062 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1665507047 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0659817061 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 479.32599612 0.00071723 0.00000000 0.00000000 0.00000000 143.96064855 0.00644192 0.00000000 0.00000000 0.00000000 55.548909224 0.03177650 0.00000000 0.00000000 0.00000000 23.927581006 0.10276249 0.00000000 0.00000000 0.00000000 10.988194172 0.22710953 0.00000000 0.00000000 0.00000000 5.1489356262 0.33477474 0.00000000 0.00000000 0.00000000 2.3836810892 0.34175986 0.00000000 0.00000000 0.00000000 1.0688204667 0.00000000 0.21462892 0.00000000 0.00000000 0.4330569374 0.00000000 0.00000000 1.00000000 0.00000000 0.1700000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.64400000 1.00000000 0.00000000 0.26400000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.54650000 1.00000000 a 34 $ SELENIUM (24s20p10d) / [11s7p4d] $ diffuse # 2f1g (Dunning pVQZ) $ S-TYPE FUNCTIONS 24 11 0 9520446.7743 0.00000633 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1424984.0802 0.00004927 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 324127.57682 0.00025920 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 91774.876950 0.00109431 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 29932.725725 0.00397061 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 10804.617905 0.01280119 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4214.0134779 0.03698038 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1747.8116633 0.09446135 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 762.12160878 0.20274705 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 346.45604141 0.32878956 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 163.11569304 0.32300253 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2614.5153067 0.00000000 0.00791139 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 818.68552756 0.00000000 0.07718774 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 318.63398991 0.00000000 0.35672062 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 139.04844125 0.00000000 0.75846750 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 78.348734788 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 31.704290663 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 15.505859269 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 7.3227423625 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.4969483549 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.6121546085 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.4958715854 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.2409213818 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.1023173940 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 20 7 0 25360.215615 0.00006053 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5993.7896610 0.00053988 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1943.0741755 0.00311305 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 742.35316156 0.01359967 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 314.62114597 0.04729896 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 143.34748044 0.12981488 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 68.673617552 0.26569982 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 34.013554117 0.36723195 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 17.198099621 0.27478356 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 8.5830329629 0.07925617 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 236.58209146 0.00000000 -0.00122716 0.00000000 0.00000000 0.00000000 0.00000000 0.0 90.576183214 0.00000000 -0.00925846 0.00000000 0.00000000 0.00000000 0.00000000 0.0 39.086689301 0.00000000 -0.02842873 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.3084344018 0.00000000 0.21201102 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4.6169923084 0.00000000 0.47117590 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.2653477506 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 1.0800000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.4793932858 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.1961998385 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0762563393 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 539.48700124 0.00066723 0.00000000 0.00000000 0.00000000 162.13394435 0.00603993 0.00000000 0.00000000 0.00000000 62.661795641 0.03023867 0.00000000 0.00000000 0.00000000 27.077272889 0.09926789 0.00000000 0.00000000 0.00000000 12.483003929 0.22358036 0.00000000 0.00000000 0.00000000 5.8864623136 0.33574683 0.00000000 0.00000000 0.00000000 2.7519131105 0.34554856 0.00000000 0.00000000 0.00000000 1.2500769617 0.00000000 0.21216655 0.00000000 0.00000000 0.5117284184 0.00000000 0.00000000 1.00000000 0.00000000 0.2000000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.70970000 1.00000000 0.00000000 0.28400000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.57300000 1.00000000 a 35 $ BROMINE (24s20p10d) / [11s7p4d] $ diffuse # 2f1g (Dunning pVQZ) $ S-TYPE FUNCTIONS 24 11 0 10629044.264 0.00000593 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1591918.2739 0.00004612 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 362333.98437 0.00024245 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 102643.11141 0.00102314 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 33489.846668 0.00371220 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 12091.247190 0.01197811 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4716.1908789 0.03468269 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1956.1598080 0.08906833 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 853.08595848 0.19330125 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 387.96633666 0.32071145 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 182.85156613 0.32996798 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3240.4086421 0.00000000 0.00659052 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1000.4631935 0.00000000 0.06843961 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 383.37301682 0.00000000 0.34495479 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 166.03929698 0.00000000 0.82315542 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 87.919906994 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 35.675840068 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 17.543657842 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 8.4473660433 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3.9666180616 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 1.8356815987 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.5908477878 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.2886321842 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.1215338054 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 20 7 0 26566.476579 0.00006207 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 6290.5088566 0.00055132 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2043.3178410 0.00316801 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 781.67221007 0.01381650 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 331.51078945 0.04801854 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 151.09198667 0.13162015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 72.395278166 0.26860052 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 35.869510844 0.36827391 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 18.139906191 0.27108613 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.0466688944 0.07621534 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 253.71822146 0.00000000 -0.00137292 0.00000000 0.00000000 0.00000000 0.00000000 0.0 97.250818058 0.00000000 -0.01039381 0.00000000 0.00000000 0.00000000 0.00000000 0.0 42.034897960 0.00000000 -0.03220421 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.9685673555 0.00000000 0.24224770 0.00000000 0.00000000 0.00000000 0.00000000 0.0 4.9395854745 0.00000000 0.53557868 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.4382845475 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 1.1800000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.5104756497 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.2121585193 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0839436050 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 601.44434484 0.00062784 0.00000000 0.00000000 0.00000000 180.85718640 0.00572052 0.00000000 0.00000000 0.00000000 69.986806340 0.02900252 0.00000000 0.00000000 0.00000000 30.324710300 0.09644699 0.00000000 0.00000000 0.00000000 14.027909238 0.22065826 0.00000000 0.00000000 0.00000000 6.6511702082 0.33657642 0.00000000 0.00000000 0.00000000 3.1354168338 0.34872041 0.00000000 0.00000000 0.00000000 1.4393591843 0.00000000 0.20984536 0.00000000 0.00000000 0.5935044144 0.00000000 0.00000000 1.00000000 0.00000000 0.2300000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.82570000 1.00000000 0.00000000 0.34070000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.64910000 1.00000000 a 36 $ KRYPTON (24s20p10d) / [11s7p4d] $ diffuse # 2f1g (Dunning pVQZ) $ S-TYPE FUNCTIONS 24 11 0 11713823.008 0.00000569 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1755253.3979 0.00004421 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 399717.41924 0.00023228 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 113285.79260 0.00097974 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 36977.205293 0.00355376 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 13355.036580 0.01146867 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 5210.9012988 0.03324163 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 2162.1137020 0.08562073 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 943.29291023 0.18708767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 429.20724331 0.31497583 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 202.40720840 0.33406191 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 3260.4985521 0.00000000 0.00730915 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 1011.1069716 0.00000000 0.07404036 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 392.44359273 0.00000000 0.35414962 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 173.21702132 0.00000000 0.80188286 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 96.619988467 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 38.158284867 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 18.959517570 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 9.2505996199 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.00000000 0.00000000 0.00000000 0.00000000 4.3486517621 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 0.00000000 0.00000000 0.00000000 0.00000000 2.0380324209 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 1.00000000 0.00000000 0.00000000 0.00000000 0.6911015254 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 1.00000000 0.00000000 0.00000000 0.3350606514 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 1.00000000 0.00000000 0.1407444112 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 20 7 0 28609.335767 0.00006053 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 6773.1236364 0.00053786 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2199.8011079 0.00309354 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 841.50201590 0.01351432 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 356.92110288 0.04709009 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 162.71174351 0.12960370 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 78.004264994 0.26607436 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 38.682579997 0.36775851 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 19.589158685 0.27406904 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 9.7990863417 0.07877335 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 261.37786869 0.00000000 -0.00163972 0.00000000 0.00000000 0.00000000 0.00000000 0.0 100.09932146 0.00000000 -0.01203480 0.00000000 0.00000000 0.00000000 0.00000000 0.0 44.012139363 0.00000000 -0.03489149 0.00000000 0.00000000 0.00000000 0.00000000 0.0 10.854010739 0.00000000 0.25212651 0.00000000 0.00000000 0.00000000 0.00000000 0.0 5.4351930182 0.00000000 0.57400782 0.00000000 0.00000000 0.00000000 0.00000000 0.0 2.7062805542 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 1.3195633408 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.5800445597 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.2432997626 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.0968237251 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 10 4 0 665.35057386 0.00059589 0.00000000 0.00000000 0.00000000 200.17995366 0.00545943 0.00000000 0.00000000 0.00000000 77.545085570 0.02798099 0.00000000 0.00000000 0.00000000 33.677854345 0.09411917 0.00000000 0.00000000 0.00000000 15.624928334 0.21825216 0.00000000 0.00000000 0.00000000 7.4427867423 0.33739971 0.00000000 0.00000000 0.00000000 3.5336073535 0.35141419 0.00000000 0.00000000 0.00000000 1.6363725142 0.00000000 0.20756719 0.00000000 0.00000000 0.6784568473 0.00000000 0.00000000 1.00000000 0.00000000 0.2700000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.95570000 1.00000000 0.00000000 0.41300000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.73950000 1.00000000 $END OF BASIS ergo-3.5/basis/Huz-IIIsu30000664000175000017500000006217412743400275012113 00000000000000$Basis = Huz-IIIsu3 $Elements supported $H C N O F P S $ $ REFERENCE $ a 1 $ HYDROGEN (6s,2p) -> [4s,2p] $ S-TYPE FUNCTIONS 9 9 0 20101.0367285 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 3019.8740625 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 453.6900000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 68.1600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 10.2465000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0000000 0.00000000 0.00000000 2.3464800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0000000 0.00000000 0.00000000 0.6733200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0000000 0.00000000 0.00000000 0.2246600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 1.00000000 0.00000000 0.0822170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 2 2 0 1.30000000 1.00000000 0.000000000 0.33000000 0.00000000 1.000000000 a 6 $ CARBON (11s,7p,2d) -> [7s,6p,2d] $ S-TYPE FUNCTIONS 14 14 0 5024621.074000 1.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 744894.291822 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 110429.704218 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 16371.074000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 2426.992500 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 544.544180 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 150.804870 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 47.708143 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 1.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 16.457241 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 6.084558 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000 2.382463 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000 0.661987 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000 0.246990 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000 0.094987 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000 $ P-TYPE FUNCTIONS 7 6 0 40.79042300 0.004096975 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.50346330 0.027584766 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.94083570 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.07511150 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.42670240 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.17481926 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.07113054 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.40000000 1.000000000 0.00000000 0.35000000 0.000000000 1.00000000 a 7 $ NITROGEN (11s,7p,2d) -> [7s,6p,2d] $ S-TYPE FUNCTIONS 14 14 0 7034643.125099 1.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 1048231.131883 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 156196.765964 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 23274.857000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 3468.183000 0.000000000 0.0 0.0 0.0 1.0 0.0 0.0 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 777.988430 0.000000000 0.0 0.0 0.0 0.0 1.0 0.0 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 215.719760 0.000000000 0.0 0.0 0.0 0.0 0.0 1.0 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 68.078031 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 1.000000000 0.0 0.0 0.0 0.0 0.0 0.0 23.424397 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 0.000000000 1.0 0.0 0.0 0.0 0.0 0.0 8.669377 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 1.0 0.0 0.0 0.0 0.0 3.421753 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.0 1.0 0.0 0.0 0.0 0.931257 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.0 0.0 1.0 0.0 0.0 0.346569 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.0 0.0 0.0 1.0 0.0 0.133115 0.000000000 0.0 0.0 0.0 0.0 0.0 0.0 0.000000000 0.0 0.0 0.0 0.0 0.0 1.0 $ P-TYPE FUNCTIONS 7 6 0 60.31724000 0.003976577 0.00 0.00 0.00 0.00 0.00 14.10081100 0.027641966 0.00 0.00 0.00 0.00 0.00 4.38771790 0.000000000 1.00 0.00 0.00 0.00 0.00 1.60827170 0.000000000 0.00 1.00 0.00 0.00 0.00 0.63885442 0.000000000 0.00 0.00 1.00 0.00 0.00 0.26035829 0.000000000 0.00 0.00 0.00 1.00 0.00 0.10396545 0.000000000 0.00 0.00 0.00 0.00 1.00 $ D-TYPE FUNCTIONS 2 2 0 1.4000 1.000 0.000 0.3500 0.000 1.000 a 8 $ OXYGEN (11s,7p,2d) -> [7s,6p,2d] $ S-TYPE FUNCTIONS 14 14 0 9244485.325780 1.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 1378691.617270 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 205613.455868 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 30664.503000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 4573.201400 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 1029.552400 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 285.904740 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 90.369653 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 1.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 31.219578 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 11.607766 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000 4.592760 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000 1.271172 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000 0.472140 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000 0.178965 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000 $ P-TYPE FUNCTIONS 7 6 0 78.70294300 0.004241602 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.40926100 0.029868457 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.75308350 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.11071140 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.83712087 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.33907630 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.13226310 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.4000 1.0 0.0 0.3500 0.0 1.0 a 9 $ FLUORINE (11s,7p,2d) -> [7s,6p,2d] $ S-TYPE FUNCTIONS 14 14 0 10040552.76300 1.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 1561074.76331 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 242711.18077 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 37736.00000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 5867.07910 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 1332.46790 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 369.44060 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 116.84300 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 1.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 40.34877 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 14.96627 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000 5.87593 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000 1.65334 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000 0.61084 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000 0.23329 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000 $ P-TYPE FUNCTIONS 7 6 0 102.26192000 0.004273232 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.93838100 0.030534308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.52059140 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.77245660 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.10005140 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.44677512 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.17187009 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 1.4000 1.0 0.0 0.3500 0.0 1.0 a 15 $ PHOSPHORUS (12s,8p,3d) -> [8s,7p,3d] $ S-TYPE FUNCTIONS 15 15 0 23068100.15340 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 3454837.18741 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 517420.15650 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 77492.39800 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 11605.79400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 2645.96280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 753.97763 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 248.75403 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 91.15662 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 36.22562 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 15.21116 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000 0.00000000 4.71395 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000 0.00000000 1.78254 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000 0.00000000 0.34271 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000 0.00000000 0.12471 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000 1.00000000 $ P-TYPE FUNCTIONS 8 7 0 447.03882000 0.00282929 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 108.29827000 0.02130874 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 34.76738800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 12.58337900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 4.69885490 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 1.75275990 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.42209549 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.12532092 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 3 3 0 3.2000 1.00000000 0.0000000 0.0 0.8000 0.00000000 1.0000000 0.0 0.2000 0.00000000 0.0000000 1.0 a 16 $ SULFUR (12s,8p,3d) -> [8s,7p,3d] $ S-TYPE FUNCTIONS 15 15 0 29158747.34940 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 4310230.490510 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 637135.973596 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 94181.100000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 13921.800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 3168.040000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 901.843000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 296.954000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 108.669000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 43.157900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 18.116800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000 0.00000000 5.570960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000 0.00000000 2.142870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000 0.00000000 0.434389 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000 0.00000000 12 8 0 94181.10000000 0.000305571 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 13921.80000000 0.002401035 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 3168.04000000 0.012354308 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 901.84300000 0.049099148 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 296.95400000 0.150990180 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 108.66900000 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 43.15790000 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 18.11680000 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 5.57096000 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 2.14287000 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.43438900 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.15709300 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ P-TYPE FUNCTIONS 8 7 0 532.03127000 0.002735071 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 126.63701000 0.021604760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 39.75234800 0.000000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.0 14.14024300 0.000000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.0 5.26069100 0.000000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.0 2.00635500 0.000000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.0 0.51597093 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.0 0.14946546 0.000000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.0 $ D-TYPE FUNCTIONS 3 3 0 3.2000 1.00000000 0.0000000 0.0 0.8000 0.00000000 1.0000000 0.0 0.2000 0.00000000 0.0000000 1.0 ergo-3.5/basis/ecp-sdd-pseudo0000664000175000017500000017714212743400275013120 00000000000000********************************************************************** * * * Effective Core Potentials * * Pseudo basis set for core electrons * * * ********************************************************************** ********************************************************************** * Hydrogen atom * ********************************************************************** X 1 * ********************************************************************** * Helium atom * ********************************************************************** X 2 * ********************************************************************** * Lithium atom * * LI, Q=1., SEFIT,DF, P.FUENTEALBA, DISSERTATION 1984 * * ECP-SDF-1VE LITHIUM * ********************************************************************** A 3 * 2 2 1 2 1.000000000000 0.000000000000 1 2 1.276000000000 5.786000000000 1 2 1.607000000000 -1.065000000000 * ********************************************************************** * Berylium atom * * BE, Q=2., SEFIT,DF, G.IGEL-MANN, MOL.PHYS. 65, 1321 (1988) * * ECP-SDF-2VE BERYLLIUM * ********************************************************************** A 4 * 2 2 1 2 1.000000000000 0.000000000000 1 2 2.653000000000 13.325000000000 1 2 3.120000000000 -1.574000000000 * ********************************************************************** * Boron atom * * B ECP ECP2MWB Q=3., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-3VE BORON * ********************************************************************** A 5 * 3 2 1 2 1.000000000000 0.000000000000 1 2 4.506100000000 23.992960000000 1 2 5.229500000000 -1.766724000000 1 2 0.010800000000 -0.001754000000 * ********************************************************************** * Carbon atom * * C ECP ECP2MWB Q=4., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-4VE CARBON * ********************************************************************** A 6 * 3 2 1 2 1.000000000000 0.000000000000 1 2 6.401052000000 33.121638000000 1 2 7.307747000000 -1.986257000000 1 2 5.961796000000 -9.454318000000 * ********************************************************************** * Nitrogen atom * * N Q=5., ECP ECP2MWB MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-5VE NITROGEN * ********************************************************************** A 7 * 3 2 1 2 1.000000000000 0.000000000000 1 2 7.977232000000 38.533831000000 1 2 10.183854000000 -2.550810000000 1 2 11.559947000000 -2.995545000000 * ********************************************************************** * Oxygen atom * * O ECP ECP2MWB Q=6., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-6VE OXYGEN * ********************************************************************** A 8 * 3 2 1 2 1.000000000000 0.000000000000 1 2 10.445670000000 50.771069000000 1 2 18.045174000000 -4.903551000000 1 2 8.164798000000 -3.312124000000 * ********************************************************************** * Fluorine atom * * F, Q=7., MEFIT,WB, M.DOLG, DISSERTATION 1989 (MolPhys 1993) * * ECP-MWB-7VE FLUORINE * ********************************************************************** A 9 * 3 2 1 2 1.000000000000 0.000000000000 2 2 22.350400000000 102.597952000000 2 11.175200000000 19.049663000000 2 2 26.476800000000 -15.143960000000 2 13.238400000000 2.802921000000 1 2 0.031600000000 -0.001863000000 * ********************************************************************** * Neon atom * * Ne,Q=8, MEFIT,MWB, A.Nicklass, Diplom Thesis, 1990 * * ECP-MWB-8VE NEON * ********************************************************************** A 10 * 3 2 1 2 1.000000000000 0.000000000000 2 2 31.860162000000 112.525435660000 2 12.362219000000 28.300834540000 2 2 21.508034000000 -11.126585430000 2 12.910447000000 3.387549190000 1 2 0.850385000000 -0.184089210000 * ********************************************************************** * Sodium atom * * NA, Q=1., SEFIT,DF, P.FUENTEALBA, DISSERTATION 1984 * * ECP-SDF-1VE SODIUM * ********************************************************************** A 11 * 3 10 1 2 1.000000000000 0.000000000000 1 2 1.378000000000 10.839000000000 1 2 0.663900000000 2.303000000000 1 2 0.924900000000 -1.777000000000 * ********************************************************************** * Magnesium atom * * MG, Q=2, SEFIT,DF, P.FUENTEALBA, DISSERTATION 1984 * * ECP-SDF-2VE MAGNESIUM * ********************************************************************** A 12 * 3 10 1 2 1.000000000000 0.000000000000 1 2 1.732000000000 14.676000000000 1 2 1.115000000000 5.175700000000 1 2 1.203000000000 -1.816000000000 * ********************************************************************** * Aluminum atom * ********************************************************************** X 13 * ********************************************************************** * Silicon atom * * SI ECP ECP10MWB Q=4., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-4VE SILICON * ********************************************************************** A 14 * 3 10 1 2 1.000000000000 0.000000000000 1 2 2.713622000000 26.623319000000 1 2 1.966880000000 10.929954000000 1 2 2.710016000000 -4.669412000000 * ********************************************************************** * Phosphorus atom * * P ECP ECP10MWB Q=5., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-5VE PHOSPHORUS * ********************************************************************** A 15 * 3 10 1 2 1.000000000000 0.000000000000 1 2 2.940560000000 26.532261000000 1 2 2.227713000000 11.497210000000 1 2 5.661706000000 -16.772780000000 * ********************************************************************** * Sulphur atom * * S ECP ECP10MWB Q=6., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-6VE SULFUR * ********************************************************************** A 16 * 3 10 1 2 1.000000000000 0.000000000000 1 2 3.743892000000 37.974819000000 1 2 3.086087000000 18.790529000000 1 2 4.862414000000 -7.837964000000 * ********************************************************************** * Chlorine atom * * CL, Q=7., MEFIT,WB, Mol Phys 1993 * * M.DOLG, DISSERTATION, Universitaet Stuttgart, 1989. * * ECP-MWB-7VE CHLORINE * ********************************************************************** A 17 * 3 10 1 2 1.000000000000 0.000000000000 2 2 6.394300000000 33.136632000000 2 3.197100000000 16.270728000000 2 2 5.620700000000 24.416993000000 2 2.810300000000 7.683050000000 1 2 5.338100000000 -8.587649000000 * ********************************************************************** * Argon atom * * Ar,Q=8, MEFIT,MWB, * * A.Nicklass, Diplom Thesis, Universitaet Stuttgart, 1990. * * ECP-MWB-8VE ARGON * ********************************************************************** A 18 * 4 10 1 2 1.000000000000 0.000000000000 2 2 10.261721000000 68.667788010000 2 3.952725000000 24.042766290000 2 2 5.392714000000 27.730763310000 2 2.699967000000 4.045459040000 2 2 8.086235000000 -8.137476960000 2 4.016632000000 -1.664528080000 1 2 5.208459000000 -3.400098450000 * ********************************************************************** * Potassium atom * * MWB-9ve-ECP A.Bergner 1990 * * ECP-MWB-9VE POTASSIUM * ********************************************************************** A 19 * 4 10 1 2 1.000000000000 0.000000000000 1 2 6.843806920000 92.252639160000 1 2 4.217857010000 23.498034790000 1 2 6.497536520000 -7.315420420000 1 2 6.123613020000 -3.858319890000 * ********************************************************************** * Calcium atom * * MEFIT WB M. KAUPP 1989, 10ve-ECPs * * M.Kaupp,PvR Schleyer,H.Stoll,H.Preuss, J.Chem.Phys 1991,94,1360. * * ECP-MWB-10VE CALCIUM * ********************************************************************** A 20 * 4 10 1 2 1.000000000000 0.000000000000 2 2 11.231672500000 138.785174300000 2 4.671960020000 16.504244080000 2 2 11.156907300000 83.123664450000 2 4.810141100000 13.502271900000 2 2 13.754728400000 -16.201965200000 2 4.762469790000 -1.132389800000 1 2 12.765845600000 -26.728178070000 * ********************************************************************** * Scandium atom * * SC, Q=11., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MHF-11VE SCANDIUM * ********************************************************************** A 21 * 3 10 1 2 1.000000000000 0.000000000000 2 2 11.500000000000 139.523747000000 2 5.184000000000 15.550151800000 2 2 10.930000000000 83.160469800000 2 4.581000000000 8.651590360000 2 2 13.470000000000 -16.145843000000 2 4.375000000000 -0.525652720000 * ********************************************************************** * Titanium atom * * TI, Q=12, MEFIT,R, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MDF-12VE TITANIUM * ********************************************************************** A 22 * 3 10 1 2 1.000000000000 0.000000000000 2 2 13.010000000000 158.241593000000 2 5.862000000000 17.511823900000 2 2 12.460000000000 95.235126800000 2 5.217000000000 10.047856000000 2 2 15.350000000000 -17.568861200000 2 4.980000000000 -0.587256120000 * ********************************************************************** * Vanadium atom * * V, Q=13., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MHF-13VE VANADIUM * ********************************************************************** A 23 * 3 10 1 2 1.000000000000 0.000000000000 2 2 14.490000000000 179.975131000000 2 6.524000000000 20.967278600000 2 2 14.300000000000 110.695103000000 2 6.021000000000 12.735379500000 2 2 17.480000000000 -18.760118700000 2 5.709000000000 -0.721823220000 * ********************************************************************** * Chromium atom * * CR, Q=14., MEFIT,HF, M.DOLG, J.CHEM.PHYS.86, 866 (1986) * * ECP-MHF-14VE CHROMIUM * ********************************************************************** A 24 * 3 10 1 2 1.000000000000 0.000000000000 2 2 16.390000000000 203.163873000000 2 7.402000000000 25.757197700000 2 2 16.450000000000 126.490042000000 2 6.962000000000 16.721504000000 2 2 19.930000000000 -20.201922000000 2 6.598000000000 -0.939332930000 * ********************************************************************** * Manganese atom * * MN, Q=15., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MHF-15VE MANGANESE * ********************************************************************** A 25 * 3 10 1 2 1.000000000000 0.000000000000 2 2 18.520000000000 228.350222000000 2 8.373000000000 32.302067000000 2 2 18.920000000000 143.986607000000 2 8.017000000000 21.888288900000 2 2 22.720000000000 -21.723501300000 2 7.640000000000 -1.345103620000 * ********************************************************************** * Iron atom * * FE, Q=16., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MHF-16VE IRON * ********************************************************************** A 26 * 3 10 1 2 1.000000000000 0.000000000000 2 2 20.930000000000 255.739998000000 2 9.445000000000 40.465351000000 2 2 21.760000000000 163.312147000000 2 9.178000000000 28.147568100000 2 2 25.900000000000 -23.291918200000 2 8.835000000000 -1.618081090000 * ********************************************************************** * Cobalt atom * * CO, Q=17., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1986) * * ECP-MHF-17VE COBALT * ********************************************************************** A 27 * 3 10 1 2 1.000000000000 0.000000000000 2 2 23.660000000000 285.897590000000 2 10.610000000000 50.457240300000 2 2 25.040000000000 185.022059000000 2 10.440000000000 35.924631200000 2 2 29.540000000000 -24.948768800000 2 10.180000000000 -2.066192290000 * ********************************************************************** * Nickel atom * * NI, Q=18., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MHF-18VE NICKEL * ********************************************************************** A 28 * 3 10 1 2 1.000000000000 0.000000000000 2 2 26.740000000000 319.348892000000 2 11.860000000000 62.508143400000 2 2 28.800000000000 209.588481000000 2 11.790000000000 44.922870900000 2 2 33.700000000000 -26.724425900000 2 11.660000000000 -2.573495510000 * ********************************************************************** * Copper atom * * CU, Q=20., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MHF-19VE COPPER * ********************************************************************** A 29 * 3 10 1 2 1.000000000000 0.000000000000 2 2 30.220000000000 356.958083000000 2 13.190000000000 76.256401500000 2 2 33.130000000000 238.161656000000 2 13.220000000000 55.193706900000 2 2 38.420000000000 -28.623080300000 2 13.260000000000 -3.125770850000 * ********************************************************************** * Zinc atom * * ZN, Q=2., MEFIT,WB J.Comp.Chem.1990,11,1029 * * ECP-MWB-2VE ZINC * ********************************************************************** A 30 * 3 28 1 2 1.000000000000 0.000000000000 2 2 1.498800000000 18.316720000000 2 0.749000000000 -3.405011000000 2 2 1.532800000000 11.464300000000 2 0.787100000000 -1.327391000000 2 2 0.750300000000 1.583946000000 2 0.374800000000 0.333347600000 * ********************************************************************** * Gallium atom * * GA ECP ECP28MWB Q=3., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-3VE GALLIUM * ********************************************************************** A 31 * 4 28 1 2 1.000000000000 0.000000000000 1 2 5.215960000000 203.853972000000 1 2 4.308904000000 156.103390000000 1 2 0.496357000000 1.031647000000 1 2 1.715170000000 -10.673735000000 * ********************************************************************** * Germanium atom * * GE ECP ECP28MWB Q=4., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-4VE GERMANIUM * ********************************************************************** A 32 * 4 28 1 2 1.000000000000 0.000000000000 1 2 4.815409000000 149.246579000000 1 2 4.169515000000 132.844335000000 1 2 0.591958000000 1.346154000000 1 2 1.791770000000 -7.044223000000 * ********************************************************************** * Arsenic atom * * AS ECP ECP28MWB Q=5., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-5VE ARSENIC * ********************************************************************** A 33 * 4 28 1 2 1.000000000000 0.000000000000 1 2 3.612625000000 53.965620000000 1 2 3.907926000000 88.949088000000 1 2 1.926467000000 22.420288000000 1 2 1.773434000000 -4.704815000000 * ********************************************************************** * Selenium atom * * SE E CP E CP28MWB Q=6., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-6VE SELENIUM * ********************************************************************** A 34 * 3 28 1 2 1.000000000000 0.000000000000 1 2 4.237057000000 79.663345000000 1 2 2.910334000000 31.560993000000 1 2 2.335701000000 30.804610000000 1 2 2.254639000000 -6.546875000000 * ********************************************************************** * Bromine atom * * BR, Q=7., MEFIT,WB, Mol Phys 1993 * * M.DOLG, DISSERTATION 1989, J.Chem.Phys.1989,91,1762 * * ECP-MWB-7VE BROMINE * ********************************************************************** A 35 * 4 28 1 2 1.000000000000 0.000000000000 2 2 5.021800000000 61.513721000000 2 2.510900000000 9.021493000000 2 2 4.281400000000 53.875864000000 2 2.140700000000 4.629402000000 2 2 2.880000000000 20.849677000000 2 1.440000000000 2.965444000000 1 2 2.720700000000 -8.161493000000 * ********************************************************************** * Krypton atom * * Kr,Q=8, MEFIT,MWB, A.Nicklass, Diplom Thesis, 1990 * * ECP-MWB-8VE KRYPTON * ********************************************************************** A 36 * 4 28 1 2 1.000000000000 0.000000000000 2 2 5.877718000000 73.915693900000 2 3.084622000000 16.168250800000 2 2 5.164110000000 58.517691010000 2 2.358302000000 8.259100730000 2 2 3.215362000000 33.458227760000 2 1.285008000000 0.677253310000 2 2 4.082869000000 -15.158698590000 2 1.193960000000 -0.174088250000 * ********************************************************************** * Rubidium atom * * MWB-9-VALENZEL.PP W.Kuechle 1989 * * ECP-MWB-9VE RUBIDIUM * ********************************************************************** A 37 * 4 28 1 2 1.000000000000 0.000000000000 2 2 5.036518070000 89.500198220000 2 1.970849630000 0.493761980000 2 2 4.258341190000 58.568974920000 2 1.470709610000 0.431791080000 2 2 3.023127740000 26.224898090000 2 0.650383460000 0.962839500000 2 2 2.823904320000 -8.180093270000 2 1.314681180000 0.471441470000 * ********************************************************************** * Strontium atom * * MWB-10-ve-ECP M. KAUPP 1989 * * M.Kaupp,PvR.Schleyer,H.Stoll,H.Preuss,J.Chem.Phys. 1991,94,1360. * * ECP-MWB-10VE STRONTIUM * ********************************************************************** A 38 * 4 28 1 2 1.000000000000 0.000000000000 2 2 7.400074340000 135.479430010000 2 3.606379110000 17.534463160000 2 2 6.484868170000 88.359709130000 2 3.288052690000 15.394371590000 2 2 4.622840790000 29.888986840000 2 2.246903880000 6.659413990000 1 2 4.633975340000 -15.805992030000 * ********************************************************************** * Yttrium atom * * Y MEFIT,WB Q=11 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-11VE YTTRIUM * ********************************************************************** A 39 * 4 28 1 2 1.000000000000 0.000000000000 2 2 7.488049400000 135.153844120000 2 3.744024700000 15.552441300000 2 2 6.445377200000 87.784991670000 2 3.222688600000 11.564065990000 2 2 4.658447200000 29.701000720000 2 2.329223600000 5.539968470000 2 2 6.584212000000 -19.122198110000 2 3.292106000000 -2.436375430000 * ********************************************************************** * Zirconium atom * * ZR MEFIT,WB Q=12 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-12VE ZIRCONIUM * ********************************************************************** A 40 * 4 28 1 2 1.000000000000 0.000000000000 2 2 8.200000000000 150.267591060000 2 4.089727800000 18.976216500000 2 2 7.110000000000 99.622123720000 2 3.596798000000 14.168733290000 2 2 5.350000000000 35.045123550000 2 2.491821500000 6.111259480000 2 2 7.540000000000 -21.093776050000 2 3.770000000000 -3.080694270000 * ********************************************************************** * Niobium atom * * NB MEFIT,WB Q=28. Theor.Chim.Acta 1990,77,123 * * ECP-MWB-13VE NIOBIUM * ********************************************************************** A 41 * 4 28 1 2 1.000000000000 0.000000000000 2 2 8.900000000000 165.179143490000 2 4.430000000000 21.992974370000 2 2 7.770000000000 111.794414450000 2 3.960000000000 16.633483260000 2 2 6.050000000000 38.112248800000 2 2.840000000000 8.039167270000 2 2 8.490000000000 -22.929549960000 2 4.250000000000 -3.666309860000 * ********************************************************************** * Molybdenum atom * * MO MEFIT,WB Q=14 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-14VE MOLYBDENUM * ********************************************************************** A 42 * 4 28 1 2 1.000000000000 0.000000000000 2 2 9.714593800000 180.103108500000 2 4.680500400000 24.997227910000 2 2 8.142136600000 123.772752310000 2 4.625986300000 19.530228000000 2 2 6.618414800000 48.375022290000 2 3.248751600000 8.892052740000 2 2 9.450000000000 -24.805177070000 2 4.720000000000 -4.153781550000 * ********************************************************************** * Technetium atom * * TC MEFIT,WB Q=15 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-15VE TECHNETIUM * ********************************************************************** A 43 * 4 28 1 2 1.000000000000 0.000000000000 2 2 10.422346200000 195.159165910000 2 5.036516000000 28.092603330000 2 2 8.950449400000 135.284566220000 2 4.854439400000 21.806504300000 2 2 6.945696800000 54.329729420000 2 3.970584900000 11.155067950000 2 2 10.400000000000 -26.562447470000 2 5.200000000000 -4.585680540000 * ********************************************************************** * Ruthenium atom * * RU MEFIT,WB Q=16 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-16VE RUTHENIUM * ********************************************************************** A 44 * 4 28 1 2 1.000000000000 0.000000000000 2 2 11.105269300000 209.822971220000 2 5.414745400000 30.654726420000 2 2 9.771270700000 146.336182280000 2 5.073990800000 24.127877230000 2 2 7.671423100000 67.515896670000 2 4.136564700000 9.870104150000 2 2 11.360000000000 -28.340616270000 2 5.680000000000 -4.944629230000 * ********************************************************************** * Rhodium atom * * RH MEFIT,WB Q=17 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-17VE RHODIUM * ********************************************************************** A 45 * 4 28 1 2 1.000000000000 0.000000000000 2 2 11.720000000000 225.347753530000 2 5.820000000000 32.823188980000 2 2 10.420000000000 158.709411590000 2 5.450000000000 26.444100490000 2 2 8.820000000000 62.758625720000 2 3.870000000000 10.978719470000 2 2 12.310000000000 -30.093455720000 2 6.160000000000 -5.218481920000 * ********************************************************************** * Palladium atom * * PD MEFIT,WB Q=18 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-18VE PALLADIUM * ********************************************************************** A 46 * 4 28 1 2 1.000000000000 0.000000000000 2 2 12.430000000000 240.229040330000 2 6.170759400000 35.171943470000 2 2 11.080000000000 170.417276050000 2 5.829554100000 28.472132870000 2 2 9.510000000000 69.013844880000 2 4.139781100000 11.750861580000 2 2 13.270000000000 -31.929554310000 2 6.630000000000 -5.398216940000 * ********************************************************************** * Silver atom * * AG MEFIT,WB Q=19 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-19VE SILVER * ********************************************************************** A 47 * 4 28 1 2 1.000000000000 0.000000000000 2 2 13.130000000000 255.139364520000 2 6.510000000000 36.866121540000 2 2 11.740000000000 182.181868710000 2 6.200000000000 30.357751480000 2 2 10.210000000000 73.719260870000 2 4.380000000000 12.502117120000 2 2 14.220000000000 -33.689920120000 2 7.110000000000 -5.531120210000 * ********************************************************************** * Cadmium atom * * CD MEFIT,WB Q=20. Theor.Chim.Acta 1990,77,123 * * ECP-MWB-20VE CADMIUM * ********************************************************************** A 48 * 4 28 1 2 1.000000000000 0.000000000000 2 2 13.835868900000 270.009483240000 2 6.857270400000 38.767307980000 2 2 12.404971000000 193.829629390000 2 6.567799500000 31.896525230000 2 2 10.896925300000 79.193647000000 2 4.641164900000 13.230826740000 2 2 15.184795700000 -35.476625550000 2 7.592397800000 -5.617676850000 * ********************************************************************** * Indium atom * * IN ECP ECP46MWB Q=3., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-3VE INDIUM * ********************************************************************** A 49 * 4 46 1 2 1.000000000000 0.000000000000 2 2 1.435091000000 29.165219000000 2 0.695805000000 -4.190806000000 2 2 1.440832000000 36.990542000000 2 0.701392000000 -3.365820000000 1 2 0.961236000000 20.000531000000 1 2 0.884369000000 -6.019092000000 * ********************************************************************** * Tin atom * * SN ECP ECP46MWB Q=4., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-4VE TIN * ********************************************************************** A 50 * 4 46 1 2 1.000000000000 0.000000000000 2 2 1.969725000000 67.925347000000 2 0.972375000000 -7.478546000000 2 2 1.999210000000 56.602880000000 2 0.999042000000 -2.161776000000 1 2 0.500361000000 2.576336000000 1 2 1.230880000000 -10.109253000000 * ********************************************************************** * Antimony atom * * SB ECP ECP46MWB Q=5., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-5VE ANTIMONY * ********************************************************************** A 51 * 4 46 1 2 1.000000000000 0.000000000000 2 2 2.491091000000 68.427938000000 2 1.341575000000 -4.398631000000 2 2 2.143864000000 63.965469000000 2 0.585503000000 -0.578726000000 1 2 0.795401000000 7.803661000000 1 2 1.609251000000 -14.517687000000 * ********************************************************************** * Tellerium atom * * TE ECP ECP46MWB Q=6., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-6VE TELLURIUM * ********************************************************************** A 52 * 4 46 1 2 1.000000000000 0.000000000000 2 2 2.923794000000 50.083805000000 2 1.152754000000 1.968140000000 2 2 2.603086000000 119.820702000000 2 0.985448000000 -2.039048000000 1 2 1.435019000000 37.757214000000 1 2 1.939270100000 -17.864641000000 * ********************************************************************** * Iodine atom * * I, Q=7., Mol Phys 1993 * * MEFIT,WB, M.DOLG, DISSERTATION 1989 J.Chem.Phys.1989,91,1762 * * ECP-MWB-7VE IODINE * ********************************************************************** A 53 * 4 46 1 2 1.000000000000 0.000000000000 2 2 3.511200000000 83.113863000000 2 1.755600000000 5.201876000000 2 2 2.968800000000 82.811109000000 2 1.484400000000 3.379682000000 2 2 1.906600000000 10.304277000000 2 0.953300000000 7.588032000000 1 2 2.307500000000 -21.477936000000 * ********************************************************************** * Xenon atom * * Xe,Q=8, MEFIT,MWB, A.Nicklass, Diplom Thesis, 1990 * * ECP-MWB-8VE XENON * ********************************************************************** A 54 * 4 46 1 2 1.000000000000 0.000000000000 2 2 3.940263000000 122.763829340000 2 2.277264000000 8.308851150000 2 2 3.028373000000 68.823004370000 2 1.394319000000 3.646742230000 2 2 2.122605000000 23.652078540000 2 0.798669000000 3.258441130000 2 2 6.164360000000 -47.703198760000 2 1.542374000000 -6.541139910000 * ********************************************************************** * Cesium atom * * Cs-46-mwb A.Bergner 1990 * * ECP-MWB-9VE CESIUM * ********************************************************************** A 55 * 4 46 1 2 1.000000000000 0.000000000000 1 2 3.320940960000 83.314641080000 1 2 3.473073440000 156.100700610000 1 2 1.233987810000 12.756414600000 1 2 3.123269060000 -28.884309170000 * ********************************************************************** * Barium atom * * MWB-10-VALENZEL.PP M. KAUPP 1989 * * M.Kaupp,PvR Schleyer,H.Stoll,H.Preuss, J.Chem.Phys 1991,94,1360. * * ECP-MWB-10VE BARIUM * ********************************************************************** A 56 * 4 46 1 2 1.000000000000 0.000000000000 2 2 9.526986150000 427.845816060000 2 4.487509930000 204.417530090000 2 2 8.315929780000 293.605863620000 2 4.292217180000 294.193315950000 2 2 5.916108380000 112.550401690000 2 2.874842200000 181.782620810000 1 2 3.589464680000 -33.473174200000 * ********************************************************************** * Lanthanum atom * * LA, MEFIT,WB Q=11. assuming a trivalent la-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-11VE LANTHANUM * ********************************************************************** A 57 * 4 46 1 2 1.000000000000 0.000000000000 2 2 3.309900000000 91.932177000000 2 1.655000000000 -3.788764000000 2 2 2.836800000000 63.759486000000 2 1.418400000000 -0.647958000000 2 2 2.021300000000 36.116173000000 2 1.010700000000 0.219114000000 1 2 0.936600000000 8.592705000000 * ********************************************************************** * Cerium atom * * CE, MEFIT,WB Q=11. assuming a trivalent ce-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-11VE CERIUM * ********************************************************************** A 58 * 4 47 1 2 1.000000000000 0.000000000000 2 2 3.522200000000 95.842155000000 2 1.761100000000 -3.775040000000 2 2 3.017700000000 68.092779000000 2 1.508900000000 -0.966756000000 2 2 2.144300000000 36.381848000000 2 1.072700000000 0.190447000000 1 2 1.162300000000 12.704802000000 * ********************************************************************** * Praseodynium atom * ********************************************************************** X 59 * ********************************************************************** * Neodymium atom * * Nd, MEFIT,WB Q=10. assuming a divalent nd-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-10VE NEODYNIUM * ********************************************************************** A 60 * 4 50 1 2 1.000000000000 0.000000000000 2 2 4.196400000000 122.314966000000 2 2.098200000000 -6.178775000000 2 2 3.530800000000 79.852477000000 2 1.765400000000 -1.544026000000 2 2 2.379700000000 37.226658000000 2 1.189900000000 -0.898127000000 1 2 0.951400000000 7.331006000000 * ********************************************************************** * Promethium atom * ********************************************************************** X 61 * ********************************************************************** * Samarium atom * * Sm, MEFIT,WB Q=10. assuming a divalent sm-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-10VE SAMARIUM * ********************************************************************** A 62 * 4 52 1 2 1.000000000000 0.000000000000 2 2 4.831200000000 153.167043000000 2 2.415600000000 -8.592215000000 2 2 4.061300000000 98.845412000000 2 2.030700000000 -2.655907000000 2 2 2.708300000000 41.022141000000 2 1.354200000000 -1.292004000000 1 2 1.029700000000 7.217476000000 * ********************************************************************** * Europium atom * * Eu, MEFIT,WB Q=10. assuming a divalent eu-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-10VE EUROPIUM * ********************************************************************** A 63 * 4 53 1 2 1.000000000000 0.000000000000 2 2 5.185200000000 172.797896000000 2 2.592600000000 -10.092260000000 2 2 4.358800000000 111.315027000000 2 2.179400000000 -3.402558000000 2 2 2.890200000000 41.867729000000 2 1.445100000000 -1.287433000000 1 2 1.070500000000 7.176158000000 * ********************************************************************** * Gadolinium atom * * GD, MEFIT,WB Q=11. assuming a trivalent gd-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-11VE GADOLINIUM * ********************************************************************** A 64 * 4 53 1 1 1.00000000 0.00000000 2 2 5.026000000000 139.601619000000 2 2.513000000000 -6.879694000000 2 2 4.302200000000 79.873824000000 2 2.151100000000 0.938419000000 2 2 3.001100000000 32.709729000000 2 1.505500000000 1.241952000000 1 2 1.262000000000 8.849776000000 * ********************************************************************** * Terbium atom * * Tb, MEFIT,WB Q=10. assuming a divalent tb-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-10VE TERBIUM * ********************************************************************** A 65 * 4 55 1 2 1.000000000000 0.000000000000 2 2 5.991600000000 226.166240000000 2 2.995800000000 -14.100361000000 2 2 5.034600000000 141.695166000000 2 2.517300000000 -4.965426000000 2 2 3.297700000000 48.981700000000 2 1.648900000000 -2.067529000000 1 2 1.154600000000 7.103860000000 * ********************************************************************** * Dysprosium atom * ********************************************************************** X 66 * ********************************************************************** * Holmium atom * * Ho, MEFIT,WB Q=10. assuming a divalent ho-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-10VE HOLMIUM * ********************************************************************** A 67 * 4 57 1 2 1.000000000000 0.000000000000 2 2 6.975400000000 310.596178000000 2 3.487700000000 -20.099095000000 2 2 5.858800000000 188.411299000000 2 2.929400000000 -7.275582000000 2 2 3.784400000000 58.955765000000 2 1.892200000000 -3.142476000000 1 2 1.243000000000 7.050293000000 * ********************************************************************** * Erbium atom * ********************************************************************** X 68 * ********************************************************************** * Thulium atom * ********************************************************************** X 69 * ********************************************************************** * Ytterbium atom * * YB, MEFIT,WB Q=11. assuming a trivalent yb-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-11VE YTTERBIUM * ********************************************************************** A 70 * 4 59 1 2 1.000000000000 0.000000000000 2 2 7.167400000000 140.926118000000 2 3.583700000000 1.454935000000 2 2 6.146000000000 76.745228000000 2 3.073000000000 7.766207000000 2 2 4.203000000000 46.067636000000 2 2.101500000000 -0.482389000000 1 2 1.550000000000 8.722119000000 * ********************************************************************** * Luthetium atom * * LU, MEFIT,WB Q=11. assuming a trivalent lu-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-11VE LUTHETIUM * ********************************************************************** A 71 * 4 60 1 2 1.000000000000 0.000000000000 2 2 7.631500000000 141.300211000000 2 3.815700000000 3.493950000000 2 2 6.546300000000 76.059248000000 2 3.273100000000 9.440662000000 2 2 4.459700000000 49.091473000000 2 2.229800000000 -0.846410000000 1 2 1.603000000000 8.722955000000 * ********************************************************************** * Hafnium atom * * HF MEFIT,WB Q=12 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-12VE HAFNIUM * ********************************************************************** A 72 * 4 60 1 2 1.000000000000 0.000000000000 2 2 14.769959000000 1499.284710730000 2 7.384979400000 40.282101360000 2 2 9.849489500000 397.733005330000 2 4.924744500000 19.316405860000 2 2 6.096756400000 101.329805260000 2 3.048378200000 5.873438210000 1 2 1.785769840000 10.046722510000 * ********************************************************************** * Tantalum atom * * TA MEFIT,WB Q=13 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-13VE TANTALUM * ********************************************************************** A 73 * 4 60 1 2 1.000000000000 0.000000000000 2 2 14.546407700000 1345.880647030000 2 7.273203800000 36.766806200000 2 2 9.935565290000 378.425301450000 2 4.967782430000 22.293090860000 2 2 6.347376910000 104.883955710000 2 3.173688460000 8.755848050000 1 2 2.017881110000 12.017960940000 * ********************************************************************** * Tungsten atom * * W MEFIT,WB Q=14 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-14VE TUNGSTEN * ********************************************************************** A 74 * 4 60 1 2 1.000000000000 0.000000000000 2 2 14.322856400000 1192.395882260000 2 7.161428100000 32.522933150000 2 2 10.021641100000 359.031967110000 2 5.010820400000 24.030380190000 2 2 6.597997430000 108.301348970000 2 3.298998710000 10.982528270000 1 2 2.258888460000 14.152579470000 * ********************************************************************** * Rhenium atom * * RE MEFIT,WB Q=15 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-15VE RHENIUM * ********************************************************************** A 75 * 4 60 1 2 1.000000000000 0.000000000000 2 2 14.099305100000 1038.951572260000 2 7.049652500000 29.561738300000 2 2 10.107716900000 339.543509650000 2 5.053858300000 24.913696460000 2 2 6.848617940000 111.699652750000 2 3.424308970000 12.624329270000 1 2 2.508650590000 16.449852270000 * ********************************************************************** * Osmium atom * * OS MEFIT,WB Q=16 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-16VE OSMIUM * ********************************************************************** A 76 * 4 60 1 2 1.000000000000 0.000000000000 2 2 13.875753900000 885.405719140000 2 6.937876900000 25.967040140000 2 2 10.193792600000 320.083901850000 2 5.096896200000 26.148764930000 2 2 7.099238460000 115.044843130000 2 3.549619230000 13.622574570000 1 2 2.767075100000 18.909457010000 * ********************************************************************** * Iridium atom * * IR MEFIT,WB Q=17 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-17VE IRIDIUM * ********************************************************************** A 77 * 4 60 1 2 1.000000000000 0.000000000000 2 2 13.652202600000 732.269199780000 2 6.826101300000 26.484720870000 2 2 10.279868400000 299.489473570000 2 5.139934100000 26.466233540000 2 2 7.349858970000 124.457594510000 2 3.674929490000 14.035995180000 1 2 3.034071920000 21.531031070000 * ********************************************************************** * Platinum atom * * PT MEFIT,WB Q=18 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-18VE PLATINUM * ********************************************************************** A 78 * 4 60 1 2 1.000000000000 0.000000000000 2 2 13.428651300000 579.223860920000 2 6.714325600000 29.669490620000 2 2 10.365944200000 280.860774220000 2 5.182972100000 26.745382040000 2 2 7.600479490000 120.396444290000 2 3.800239740000 15.810920580000 1 2 3.309568570000 24.314375730000 * ********************************************************************** * Gold atom * * AU MEFIT,WB Q=19. Theor.Chim.Acta 1990,77,123 * * ECP-MWB-19VE GOLD * ********************************************************************** A 79 * 4 60 1 1 1.00000000 0.00000000 2 2 13.205100000000 426.846679200000 2 6.602550000000 37.007082850000 2 2 10.452020000000 261.199580380000 2 5.226010000000 26.962496040000 2 2 7.851100000000 124.790665610000 2 3.925550000000 16.300725730000 2 2 4.789820000000 30.490088900000 2 2.394910000000 5.171073810000 * ********************************************************************** * Mercury atom * * HG MEFIT,WB Q=20 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-20VE MERCURY * ********************************************************************** A 80 * 4 60 1 2 1.000000000000 0.000000000000 2 2 12.981548700000 275.737211740000 2 6.490774400000 49.089212490000 2 2 10.538095800000 241.540073980000 2 5.269047900000 27.396590810000 2 2 8.101720510000 127.867007610000 2 4.050860260000 16.608311510000 1 2 3.885791120000 30.364996430000 * ********************************************************************** * Thallium atom * * Tl,MEFIT,WB,Q=78, * * W.Kuechle,M.Dolg,H.Stoll,H.Preuss,Mol.Phys. 1991,74,1245. * * ECP-MWB-3VE THALLIUM * ********************************************************************** A 81 * 4 78 1 2 0.820617000000 -12.270540000000 4 2 10.000000000000 73.186683000000 2 1.977541000000 51.707959000000 2 0.326238000000 -1.016498000000 2 0.820617000000 12.270540000000 3 2 1.032140000000 19.730431000000 2 0.543063000000 -2.962673000000 2 0.820617000000 12.270540000000 3 2 0.709633000000 -3.979439000000 2 0.354817000000 2.772690000000 2 0.820617000000 12.270540000000 2 2 0.689156000000 -4.426786000000 2 0.820617000000 12.270540000000 * ********************************************************************** * Lead atom * * Pb,MEFIT,WB,Q=78, without g-projector * * W.Kuechle,M.Dolg,H.Stoll,H.Preuss,Mol.Phys. 1991,74,1245. * * ECP-MWB-4VE LEAD * ********************************************************************** A 82 * 4 78 1 2 1.000000000000 0.000000000000 3 2 9.999911000000 97.587955000000 2 1.456727000000 20.860797000000 2 0.529161000000 -1.873342000000 2 2 1.249013000000 51.719254000000 2 0.678119000000 -7.768209000000 2 2 0.744930000000 2.640822000000 2 0.307446000000 1.300760000000 1 2 0.848699000000 -5.706056000000 * ********************************************************************** * Bismuth atom * # Bi,MEFIT,WB,Q=78, without g-projector * * W.Kuechle,M.Dolg,H.Stoll,H.Preuss,Mol.Phys. 1991,74,1245. * * ECP-MWB-5VE BISMUTH * ********************************************************************** A 83 * 4 78 1 2 1.000000000000 0.000000000000 3 2 10.000000000000 122.047401000000 2 1.509835000000 14.031690000000 2 0.161152000000 -0.161988000000 2 2 1.426415000000 51.045868000000 2 0.760490000000 -6.188526000000 2 2 0.780226000000 20.535804000000 2 0.260075000000 -0.136196000000 1 2 0.973608000000 -6.414226000000 * ********************************************************************** * Polonium atom * ********************************************************************** X 84 * ********************************************************************** * Astatine atom * ********************************************************************** X 85 * ********************************************************************** * Radon atom * * Rn,Q=8, MEFIT,MWB, Mol.Phys. 1991,74,1265 * * without g-projector * * ECP-MWB-8VE RADON * ********************************************************************** A 86 * 4 78 1 2 1.000000000000 0.000000000000 3 2 0.922386000000 -5.019005000000 2 1.781915000000 37.036790000000 2 10.804601000000 195.103308000000 2 2 0.724291000000 -1.966481000000 2 1.363860000000 23.464059000000 2 2 0.769400000000 7.483457000000 2 1.538800000000 9.361900000000 1 2 1.213897000000 -6.763150000000 * ********************************************************************** * Francium atom * ********************************************************************** X 87 * ********************************************************************** * Radium atom * ********************************************************************** X 88 * ********************************************************************** * Actinium atom * ********************************************************************** X 89 * ********************************************************************** * Thorium atom * ********************************************************************** X 90 * ********************************************************************** * Protactinium atom * ********************************************************************** X 91 * ********************************************************************** * Uranium atom * ********************************************************************** X 92 * ********************************************************************** * Neptunium atom * ********************************************************************** X 93 * ********************************************************************** * Plutonium atom * ********************************************************************** X 94 * ********************************************************************** * Americum atom * ********************************************************************** X 95 * ********************************************************************** * Curium atom * ********************************************************************** X 96 * ********************************************************************** * Berkelium atom * ********************************************************************** X 97 * ********************************************************************** * Californium atom * ********************************************************************** X 98 * ********************************************************************** * Einsteinium atom * ********************************************************************** X 99 * ********************************************************************** * Fermium atom * ********************************************************************** X 100 * ********************************************************************** * Mendelevium atom * ********************************************************************** X 101 * ********************************************************************** * Nobelium atom * ********************************************************************** X 102 * ********************************************************************** * Lawrencium atom * ********************************************************************** X 103 * ********************************************************************** * Rutherfordium atom * ********************************************************************** X 104 * ********************************************************************** * Hahnium atom * ********************************************************************** X 105 * ********************************************************************** * Seaborgium atom * ********************************************************************** X 106 * ********************************************************************** * Nielsbohrium atom * ********************************************************************** X 107 * ********************************************************************** * Hassium atom * ********************************************************************** X 108 * ********************************************************************** * Meitnerium atom * ********************************************************************** X 109 * **END OF FILE** ergo-3.5/basis/pV6Z0000664000175000017500000003451212743400275011102 00000000000000$Basis = pV6Z $ $Elements supported $H C N O $ $Note: an error was discovered in the carbon basis set published in J. Chem. $Phys. 101, (1994). That error has been corrected in this version of the basis. $ $This collection of basis sets was designed to mimic and extend the correlation $consistent sets. These sets were created before the official cc-pV6Z sets were $developed. $ $ REFERENCE $Elements References $-------- ---------- $H: T. H. Dunning, Jr., (to be published). $C: A.D. Pradhan, H. Partridge and C.W. Bauschlicher, Jr., J. Chem. $ Phys. 101, 3857 (1994) with correction to the p set. $O: (s,p) set from H. Partridge, (d,f,g) from T.H. Dunning, Jr., $ (h,i) from D. Feller. $N: C.W. Bauschlicher, Jr. and H. Partridge, J. Chem. Phys. 100, $ 4329 (1994). ************************************************************************ a 1 $ HYDROGEN (10s,5p,4d,3f,2g,1h) -> [6s,5p,4d,3f,2g,1h] $ S-TYPE FUNCTIONS 10 6 0 1776.775560 0.00004400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 254.017712 0.00037200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.698039 0.00209400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.018344 0.00886300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.915078 0.03054000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.794924 0.09034200 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.710716 0.21323900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.304802 0.35235000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.138046 0.33965700 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.062157 0.10733000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 5 0 4.395000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.995000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.906000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.411000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.186600 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 4.974000 1.00000000 0.00000000 0.00000000 0.00000000 2.215000 0.00000000 1.00000000 0.00000000 0.00000000 0.986000 0.00000000 0.00000000 1.00000000 0.00000000 0.439000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 3.665000 1.00000000 0.00000000 0.00000000 1.619000 0.00000000 1.00000000 0.00000000 0.715000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 3.448000 1.00000000 0.00000000 1.312000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 1 1 0 2.758000 1.00000000 a 6 $ CARBON (16s,11p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ S-TYPE FUNCTIONS 16 7 0 312229.000000 0.00000600 0.00000100 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 46749.690000 0.00004400 0.00000900 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 10638.550000 0.00023200 0.00004900 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 3013.287000 0.00097900 0.00020900 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 983.046400 0.00355000 0.00076000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 354.887700 0.01143900 0.00245400 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 138.403400 0.03300200 0.00720200 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 57.361840 0.08399600 0.01879500 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 24.928380 0.18068400 0.04324900 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 11.229640 0.30498900 0.08262100 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 5.201549 0.34128800 0.12851800 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 2.426564 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000 0.967344 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000 0.445599 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000 0.197122 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000 0.086347 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000 $ P-TYPE FUNCTIONS 11 6 0 478.641500 0.00006200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 113.418400 0.00053700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 36.816230 0.00292600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.964920 0.01150300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.780787 0.03572100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.543594 0.09312000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.173779 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.553675 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.262173 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.123617 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.056671 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 5.558400 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.316000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.965000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.402083 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.167535 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 2.862909 1.00000000 0.00000000 0.00000000 0.00000000 1.192879 0.00000000 1.00000000 0.00000000 0.00000000 0.497033 0.00000000 0.00000000 1.00000000 0.00000000 0.207097 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 3.126000 1.00000000 0.00000000 0.00000000 1.340000 0.00000000 1.00000000 0.00000000 0.558333 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 1.905510 1.00000000 0.00000000 0.793962 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 1 1 0 1.509000 1.00000000 a7 $ NITROGEN (16s,11p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ S-TYPE FUNCTIONS 16 7 0 432381.100000 0.00000600 0.00000100 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 64743.420000 0.00004300 0.00001000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 14733.700000 0.00022900 0.00005000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 4173.254000 0.00096500 0.00021300 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 1361.477000 0.00350000 0.00077500 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 491.504900 0.01128400 0.00250400 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 191.685700 0.03259900 0.00736200 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 79.454990 0.08323000 0.01928600 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 34.549680 0.17993000 0.04469900 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 15.586730 0.30495500 0.08604800 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 7.235444 0.34115900 0.13324900 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 3.383739 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.000000 1.369728 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.000000 0.625089 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000 0.274819 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.000000 0.119209 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.000000 $ P-TYPE FUNCTIONS 11 6 0 673.555600 0.00006400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 159.584500 0.00056200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 51.801700 0.00308500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 19.673430 0.01229800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.175345 0.03862500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.616131 0.09981500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.673414 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.789246 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.372339 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.174038 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.078681 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 7.678080 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.199200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.333000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.555417 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.231424 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 4.008073 1.00000000 0.00000000 0.00000000 0.00000000 1.670030 0.00000000 1.00000000 0.00000000 0.00000000 0.695846 0.00000000 0.00000000 1.00000000 0.00000000 0.289936 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 4.063200 1.00000000 0.00000000 0.00000000 1.693000 0.00000000 1.00000000 0.00000000 0.705417 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 2.779253 1.00000000 0.00000000 1.158022 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 1 1 0 2.222000 1.00000000 a 8 $ OXYGEN (16s,10p,5d,4f,3g,2h,1i) -> [7s,6p,5d,4f,3g,2h,1i] $ S-TYPE FUNCTIONS 16 7 0 570979.800000 0.00000600 -0.00000100 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 85496.900000 0.00004300 -0.00001000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 19456.650000 0.00022700 -0.00005100 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 5511.030000 0.00095700 -0.00021700 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 1797.919000 0.00347200 -0.00079100 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 649.067700 0.01119600 -0.00255900 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 253.138600 0.03237500 -0.00753000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 104.937900 0.08283500 -0.01978200 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 45.650360 0.17966800 -0.04608600 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 20.617620 0.30520100 -0.08918900 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 9.586759 0.34088900 -0.13755000 0.00000000 0.00000000 0.00000000 0.00000000 0.000000 4.492510 0.17742200 -0.10510800 1.00000000 0.00000000 0.00000000 0.00000000 0.000000 1.836943 0.02047000 0.14478400 0.00000000 1.00000000 0.00000000 0.00000000 0.000000 0.834803 -0.00095900 0.44160000 0.00000000 0.00000000 1.00000000 0.00000000 0.000000 0.365722 0.00105300 0.44454500 0.00000000 0.00000000 0.00000000 1.00000000 0.000000 0.157034 -0.00009600 0.12823200 0.00000000 0.00000000 0.00000000 0.00000000 1.000000 $ P-TYPE FUNCTIONS 10 6 0 525.763800 0.00016700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 124.630600 0.00143300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 40.343000 0.00754800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 15.178310 0.02860100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.245039 0.08436100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.732624 0.18742700 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.227200 0.29795300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.549190 0.33862300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.241776 0.24723300 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.102505 0.07002400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 7.700200 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.362500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.468400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.641200 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.280000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 6.253700 1.00000000 0.00000000 0.00000000 0.00000000 2.708400 0.00000000 1.00000000 0.00000000 0.00000000 1.172900 0.00000000 0.00000000 1.00000000 0.00000000 0.508000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 3 3 0 5.001700 1.00000000 0.00000000 0.00000000 2.115800 0.00000000 1.00000000 0.00000000 0.895000 0.00000000 0.00000000 1.00000000 $ H-TYPE FUNCTIONS 2 2 0 4.020700 1.00000000 0.00000000 1.553000 0.00000000 1.00000000 $ I-TYPE FUNCTIONS 1 1 0 2.600000 1.00000000 ergo-3.5/basis/3-21G0000775000175000017500000026750712743400275011005 00000000000000$ Basis = 3-21G $ Elements supported $ H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn $ Ga Ge As Se Br Kr Rb Sr Y Zr Nb Mo Tc Rh Rh Pd Ag Cd In Sn Sb Te I Xe Cs $ $ REFERENCE $ Elements References $ -------- ---------- $ H - Ne: J.S. Binkley, J.A. Pople, W.J. Hehre, J. Am. Chem. Soc 102 939 (1980) $ Na - Ar: M.S. Gordon, J.S. Binkley, J.A. Pople, W.J. Pietro and W.J. Hehre, $ J. Am. Chem. Soc. 104, 2797 (1983). $ K - Ca: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 7, 359 (1986). $ Ga - Kr: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 7, 359 (1986). $ Sc - Zn: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 8, 861 (1987). $ Y - Cd: K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 8, 880 (1987). $ Cs : A 3-21G quality set derived from the Huzinage MIDI basis sets. $ E.D. Glendening and D. Feller, J. Phys. Chem. 99, 3060 (1995) $ A 1 $ HYDROGEN (3s) -> [2s] $ S-TYPE FUNCTIONS 3 2 0 5.4471780 0.15628500 0.00000000 0.8245470 0.90469100 0.00000000 0.1831920 0.00000000 1.00000000 A 2 $ HELIUM (3s) -> [2s] $ S-TYPE FUNCTIONS 3 2 0 13.6267000 0.17523000 0.00000000 1.9993500 0.89348300 0.00000000 0.3829930 0.00000000 1.00000000 A 3 $ LITHIUM (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 36.8382000 0.06966860 0.00000000 0.00000000 5.4817200 0.38134600 0.00000000 0.00000000 1.1132700 0.68170200 0.00000000 0.00000000 0.5402050 0.00000000 -0.26312700 0.00000000 0.1022550 0.00000000 1.14339000 0.00000000 0.0285650 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 0.5402050 0.16154600 0.00000000 0.1022550 0.91566300 0.00000000 0.0285650 0.00000000 1.00000000 A 4 $ BERYLLIUM (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 71.8876000 0.06442630 0.00000000 0.00000000 10.7289000 0.36609600 0.00000000 0.00000000 2.2220500 0.69593400 0.00000000 0.00000000 1.2954800 0.00000000 -0.42106400 0.00000000 0.2688810 0.00000000 1.22407000 0.00000000 0.0773500 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 1.2954800 0.20513200 0.00000000 0.2688810 0.88252800 0.00000000 0.0773500 0.00000000 1.00000000 A 5 $ BORON (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 116.4340000 0.06296050 0.00000000 0.00000000 17.4314000 0.36330400 0.00000000 0.00000000 3.6801600 0.69725500 0.00000000 0.00000000 2.2818700 0.00000000 -0.36866200 0.00000000 0.4652480 0.00000000 1.19944000 0.00000000 0.1243280 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 2.2818700 0.23115200 0.00000000 0.4652480 0.86676400 0.00000000 0.1243280 0.00000000 1.00000000 A 6 $ CARBON (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 172.2560000 0.06176690 0.00000000 0.00000000 25.9109000 0.35879400 0.00000000 0.00000000 5.5333500 0.70071300 0.00000000 0.00000000 3.6649800 0.00000000 -0.39589700 0.00000000 0.7705450 0.00000000 1.21584000 0.00000000 0.1958570 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 3.6649800 0.23646000 0.00000000 0.7705450 0.86061900 0.00000000 0.1958570 0.00000000 1.00000000 A 7 $ NITROGEN (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 242.7660000 0.05986570 0.00000000 0.00000000 36.4851000 0.35295500 0.00000000 0.00000000 7.8144900 0.70651300 0.00000000 0.00000000 5.4252200 0.00000000 -0.41330100 0.00000000 1.1491500 0.00000000 1.22442000 0.00000000 0.2832050 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 5.4252200 0.23797200 0.00000000 1.1491500 0.85895300 0.00000000 0.2832050 0.00000000 1.00000000 A 8 $ OXYGEN (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 322.0370000 0.05923940 0.00000000 0.00000000 48.4308000 0.35150000 0.00000000 0.00000000 10.4206000 0.70765800 0.00000000 0.00000000 7.4029400 0.00000000 -0.40445300 0.00000000 1.5762000 0.00000000 1.22156000 0.00000000 0.3736840 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 7.4029400 0.24458600 0.00000000 1.5762000 0.85395500 0.00000000 0.3736840 0.00000000 1.00000000 A 9 $ FLUORINE (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 413.8010000 0.05854830 0.00000000 0.00000000 62.2446000 0.34930800 0.00000000 0.00000000 13.4340000 0.70963200 0.00000000 0.00000000 9.7775900 0.00000000 -0.40732700 0.00000000 2.0861700 0.00000000 1.22314000 0.00000000 0.4823830 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 9.7775900 0.24668000 0.00000000 2.0861700 0.85232100 0.00000000 0.4823830 0.00000000 1.00000000 A 10 $ NEON (6s,3p) -> [3s,2p] $ S-TYPE FUNCTIONS 6 3 0 515.7240000 0.05814300 0.00000000 0.00000000 77.6538000 0.34795100 0.00000000 0.00000000 16.8136000 0.71071400 0.00000000 0.00000000 12.4830000 0.00000000 -0.40992200 0.00000000 2.6645100 0.00000000 1.22431000 0.00000000 0.6062500 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 2 0 12.4830000 0.24746000 0.00000000 2.6645100 0.85174300 0.00000000 0.6062500 0.00000000 1.00000000 A 11 $ SODIUM (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 547.6130000 0.06749110 0.00000000 0.00000000 0.00000000 82.0678000 0.39350500 0.00000000 0.00000000 0.00000000 17.6917000 0.66560500 0.00000000 0.00000000 0.00000000 17.5407000 0.00000000 -0.11193700 0.00000000 0.00000000 3.7939800 0.00000000 0.25465400 0.00000000 0.00000000 0.9064410 0.00000000 0.84441700 0.00000000 0.00000000 0.5018240 0.00000000 0.00000000 -0.21966000 0.00000000 0.0609458 0.00000000 0.00000000 1.08912000 0.00000000 0.0244349 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 17.5407000 0.12823300 0.00000000 0.00000000 3.7939800 0.47153300 0.00000000 0.00000000 0.9064410 0.60427300 0.00000000 0.00000000 0.5018240 0.00000000 0.00906650 0.00000000 0.0609458 0.00000000 0.99720200 0.00000000 0.0244349 0.00000000 0.00000000 1.00000000 A 12 $ MAGNESIUM (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 652.8410000 0.06759820 0.00000000 0.00000000 0.00000000 98.3805000 0.39177800 0.00000000 0.00000000 0.00000000 21.2996000 0.66666100 0.00000000 0.00000000 0.00000000 23.3727000 0.00000000 -0.11024600 0.00000000 0.00000000 5.1995300 0.00000000 0.18411900 0.00000000 0.00000000 1.3150800 0.00000000 0.89639900 0.00000000 0.00000000 0.6113490 0.00000000 0.00000000 -0.36110100 0.00000000 0.1418410 0.00000000 0.00000000 1.21505000 0.00000000 0.0464011 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 23.3727000 0.12101400 0.00000000 0.00000000 5.1995300 0.46281000 0.00000000 0.00000000 1.3150800 0.60690700 0.00000000 0.00000000 0.6113490 0.00000000 0.02426330 0.00000000 0.1418410 0.00000000 0.98667300 0.00000000 0.0464011 0.00000000 0.00000000 1.00000000 A 13 $ ALUMINUM (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 775.7370000 0.06683470 0.00000000 0.00000000 0.00000000 116.9520000 0.38906100 0.00000000 0.00000000 0.00000000 25.3326000 0.66946800 0.00000000 0.00000000 0.00000000 29.4796000 0.00000000 -0.10790200 0.00000000 0.00000000 6.6331400 0.00000000 0.14624500 0.00000000 0.00000000 1.7267500 0.00000000 0.92373000 0.00000000 0.00000000 0.9461600 0.00000000 0.00000000 -0.32032700 0.00000000 0.2025060 0.00000000 0.00000000 1.18412000 0.00000000 0.0639088 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 29.4796000 0.11757400 0.00000000 0.00000000 6.6331400 0.46117400 0.00000000 0.00000000 1.7267500 0.60553500 0.00000000 0.00000000 0.9461600 0.00000000 0.05193830 0.00000000 0.2025060 0.00000000 0.97266000 0.00000000 0.0639088 0.00000000 0.00000000 1.00000000 A 14 $ SILICON (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 910.6550000 0.06608230 0.00000000 0.00000000 0.00000000 137.3360000 0.38622900 0.00000000 0.00000000 0.00000000 29.7601000 0.67238000 0.00000000 0.00000000 0.00000000 36.6716000 0.00000000 -0.10451100 0.00000000 0.00000000 8.3172900 0.00000000 0.10741000 0.00000000 0.00000000 2.2164500 0.00000000 0.95144600 0.00000000 0.00000000 1.0791300 0.00000000 0.00000000 -0.37610800 0.00000000 0.3024220 0.00000000 0.00000000 1.25165000 0.00000000 0.0933392 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 36.6716000 0.11335500 0.00000000 0.00000000 8.3172900 0.45757800 0.00000000 0.00000000 2.2164500 0.60742700 0.00000000 0.00000000 1.0791300 0.00000000 0.06710300 0.00000000 0.3024220 0.00000000 0.95688300 0.00000000 0.0933392 0.00000000 0.00000000 1.00000000 A 15 $ PHOSPHORUS (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 1054.9000000 0.06554100 0.00000000 0.00000000 0.00000000 159.1950000 0.38403600 0.00000000 0.00000000 0.00000000 34.5304000 0.67454100 0.00000000 0.00000000 0.00000000 44.2866000 0.00000000 -0.10213000 0.00000000 0.00000000 10.1019000 0.00000000 0.08159200 0.00000000 0.00000000 2.7399700 0.00000000 0.96978800 0.00000000 0.00000000 1.2186500 0.00000000 0.00000000 -0.37149500 0.00000000 0.3955460 0.00000000 0.00000000 1.27099000 0.00000000 0.1228110 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 44.2866000 0.11085100 0.00000000 0.00000000 10.1019000 0.45649500 0.00000000 0.00000000 2.7399700 0.60693600 0.00000000 0.00000000 1.2186500 0.00000000 0.09158200 0.00000000 0.3955460 0.00000000 0.93492400 0.00000000 0.1228110 0.00000000 0.00000000 1.00000000 A 16 $ SULFUR (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 1210.6200000 0.06500700 0.00000000 0.00000000 0.00000000 182.7470000 0.38204000 0.00000000 0.00000000 0.00000000 39.6673000 0.67654500 0.00000000 0.00000000 0.00000000 52.2236000 0.00000000 -0.10031000 0.00000000 0.00000000 11.9629000 0.00000000 0.06508800 0.00000000 0.00000000 3.2891100 0.00000000 0.98145500 0.00000000 0.00000000 1.2238400 0.00000000 0.00000000 -0.28608900 0.00000000 0.4573030 0.00000000 0.00000000 1.22806000 0.00000000 0.1422690 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 52.2236000 0.10964600 0.00000000 0.00000000 11.9629000 0.45764900 0.00000000 0.00000000 3.2891100 0.60426100 0.00000000 0.00000000 1.2238400 0.00000000 0.16477700 0.00000000 0.4573030 0.00000000 0.87085500 0.00000000 0.1422690 0.00000000 0.00000000 1.00000000 A 17 $ CHLORINE (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 1376.4000000 0.06458270 0.00000000 0.00000000 0.00000000 207.8570000 0.38036300 0.00000000 0.00000000 0.00000000 45.1554000 0.67819000 0.00000000 0.00000000 0.00000000 60.8014000 0.00000000 -0.09876390 0.00000000 0.00000000 13.9765000 0.00000000 0.05113380 0.00000000 0.00000000 3.8871000 0.00000000 0.99133700 0.00000000 0.00000000 1.3529900 0.00000000 0.00000000 -0.22240100 0.00000000 0.5269550 0.00000000 0.00000000 1.18252000 0.00000000 0.1667140 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 60.8014000 0.10859800 0.00000000 0.00000000 13.9765000 0.45868200 0.00000000 0.00000000 3.8871000 0.60196200 0.00000000 0.00000000 1.3529900 0.00000000 0.21921600 0.00000000 0.5269550 0.00000000 0.82232100 0.00000000 0.1667140 0.00000000 0.00000000 1.00000000 A 18 $ ARGON (9s,6p) -> [4s,3p] $ S-TYPE FUNCTIONS 9 4 0 1553.7100000 0.06417070 0.00000000 0.00000000 0.00000000 234.6780000 0.37879700 0.00000000 0.00000000 0.00000000 51.0121000 0.67975200 0.00000000 0.00000000 0.00000000 70.0453000 0.00000000 -0.09746610 0.00000000 0.00000000 16.1473000 0.00000000 0.03905690 0.00000000 0.00000000 4.5349200 0.00000000 0.99991600 0.00000000 0.00000000 1.5420900 0.00000000 0.00000000 -0.17686600 0.00000000 0.6072670 0.00000000 0.00000000 1.14690000 0.00000000 0.1953730 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 6 3 0 70.0453000 0.10761900 0.00000000 0.00000000 16.1473000 0.45957600 0.00000000 0.00000000 4.5349200 0.60004100 0.00000000 0.00000000 1.5420900 0.00000000 0.25568700 0.00000000 0.6072670 0.00000000 0.78984200 0.00000000 0.1953730 0.00000000 0.00000000 1.00000000 A 19 $ POTASSIUM (12s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 12 5 0 1721.1755000 0.06487470 0.00000000 0.00000000 0.00000000 0.00000000 260.0163300 0.38085930 0.00000000 0.00000000 0.00000000 0.00000000 56.6245540 0.67736810 0.00000000 0.00000000 0.00000000 0.00000000 71.5572000 0.00000000 -0.10934290 0.00000000 0.00000000 0.00000000 15.4389400 0.00000000 0.11306400 0.00000000 0.00000000 0.00000000 4.4745510 0.00000000 0.94625750 0.00000000 0.00000000 0.00000000 4.1212750 0.00000000 0.00000000 -0.26997300 0.00000000 0.00000000 1.1886210 0.00000000 0.00000000 0.36463230 0.00000000 0.00000000 0.3756740 0.00000000 0.00000000 0.81075330 0.00000000 0.00000000 0.2445770 0.00000000 0.00000000 0.00000000 -0.26882500 0.00000000 0.0389720 0.00000000 0.00000000 0.00000000 1.12898300 0.00000000 0.0160630 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 71.5572000 0.13396540 0.00000000 0.00000000 0.00000000 15.4389400 0.53026730 0.00000000 0.00000000 0.00000000 4.4745510 0.51179920 0.00000000 0.00000000 0.00000000 4.1212750 0.00000000 0.01994922 0.00000000 0.00000000 1.1886210 0.00000000 0.43402130 0.00000000 0.00000000 0.3756740 0.00000000 0.64532260 0.00000000 0.00000000 0.2445770 0.00000000 0.00000000 0.00030810 0.00000000 0.0389720 0.00000000 0.00000000 0.99987870 0.00000000 0.0160630 0.00000000 0.00000000 0.00000000 1.00000000 A 20 $ CALCIUM (12s,9p) -> [5s,4p] $ S-TYPE FUNCTIONS 12 5 0 1915.4348000 0.06462400 0.00000000 0.00000000 0.00000000 0.00000000 289.5332400 0.37983800 0.00000000 0.00000000 0.00000000 0.00000000 63.1063520 0.67832900 0.00000000 0.00000000 0.00000000 0.00000000 80.3974400 0.00000000 -0.10930300 0.00000000 0.00000000 0.00000000 17.3307500 0.00000000 0.10890000 0.00000000 0.00000000 0.00000000 5.0836240 0.00000000 0.94927700 0.00000000 0.00000000 0.00000000 4.7822290 0.00000000 0.00000000 -0.28160700 0.00000000 0.00000000 1.4625580 0.00000000 0.00000000 0.34105100 0.00000000 0.00000000 0.4792230 0.00000000 0.00000000 0.83810400 0.00000000 0.00000000 0.4396820 0.00000000 0.00000000 0.00000000 -0.26970500 0.00000000 0.0591300 0.00000000 0.00000000 0.00000000 1.11329300 0.00000000 0.0238970 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 80.3974400 0.13543300 0.00000000 0.00000000 0.00000000 17.3307500 0.53722200 0.00000000 0.00000000 0.00000000 5.0836240 0.50180400 0.00000000 0.00000000 0.00000000 4.7822290 0.00000000 0.01900900 0.00000000 0.00000000 1.4625580 0.00000000 0.43603800 0.00000000 0.00000000 0.4792230 0.00000000 0.63867100 0.00000000 0.00000000 0.4396820 0.00000000 0.00000000 0.00030800 0.00000000 0.0591300 0.00000000 0.00000000 0.99989600 0.00000000 0.0238970 0.00000000 0.00000000 0.00000000 1.00000000 A 21 $ SCANDIUM (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 2119.8870000 0.06442100 0.00000000 0.00000000 0.00000000 0.00000000 320.4299000 0.37916000 0.00000000 0.00000000 0.00000000 0.00000000 69.8989300 0.67896300 0.00000000 0.00000000 0.00000000 0.00000000 89.7645000 0.00000000 -0.10938400 0.00000000 0.00000000 0.00000000 19.3851000 0.00000000 0.10507000 0.00000000 0.00000000 0.00000000 5.7314230 0.00000000 0.95220500 0.00000000 0.00000000 0.00000000 5.4919380 0.00000000 0.00000000 -0.28521100 0.00000000 0.00000000 1.7437420 0.00000000 0.00000000 0.32415500 0.00000000 0.00000000 0.5662270 0.00000000 0.00000000 0.85659200 0.00000000 0.00000000 0.5168020 0.00000000 0.00000000 0.00000000 -0.26267800 0.00000000 0.0672140 0.00000000 0.00000000 0.00000000 1.10807900 0.00000000 0.0259850 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 89.7645000 0.13632800 0.00000000 0.00000000 0.00000000 19.3851000 0.54186000 0.00000000 0.00000000 0.00000000 5.7314230 0.49505500 0.00000000 0.00000000 0.00000000 5.4919380 0.00000000 0.01761400 0.00000000 0.00000000 1.7437420 0.00000000 0.43364500 0.00000000 0.00000000 0.5662270 0.00000000 0.64255100 0.00000000 0.00000000 0.5168020 0.00000000 0.00000000 0.00032700 0.00000000 0.0672140 0.00000000 0.00000000 0.99989300 0.00000000 0.0259850 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 5.7222150 0.26523600 0.00000000 1.3608490 0.85586100 0.00000000 0.3226520 0.00000000 1.00000000 A 22 $ TITANIUM (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 2335.0200000 0.06421700 0.00000000 0.00000000 0.00000000 0.00000000 353.0441000 0.37841200 0.00000000 0.00000000 0.00000000 0.00000000 77.0584500 0.67968100 0.00000000 0.00000000 0.00000000 0.00000000 99.5738700 0.00000000 -0.10947200 0.00000000 0.00000000 0.00000000 21.5467100 0.00000000 0.10194300 0.00000000 0.00000000 0.00000000 6.4139650 0.00000000 0.95462200 0.00000000 0.00000000 0.00000000 6.2382790 0.00000000 0.00000000 -0.28613700 0.00000000 0.00000000 1.9961080 0.00000000 0.00000000 0.32182800 0.00000000 0.00000000 0.6464900 0.00000000 0.00000000 0.85955100 0.00000000 0.00000000 0.5732850 0.00000000 0.00000000 0.00000000 -0.24245000 0.00000000 0.0731190 0.00000000 0.00000000 0.00000000 1.10007500 0.00000000 0.0265380 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 99.5738700 0.13729700 0.00000000 0.00000000 0.00000000 21.5467100 0.54587500 0.00000000 0.00000000 0.00000000 6.4139650 0.48906800 0.00000000 0.00000000 0.00000000 6.2382790 0.00000000 0.01923700 0.00000000 0.00000000 1.9961080 0.00000000 0.44044200 0.00000000 0.00000000 0.6464900 0.00000000 0.63562000 0.00000000 0.00000000 0.5732850 0.00000000 0.00000000 0.00029200 0.00000000 0.0731190 0.00000000 0.00000000 0.99990700 0.00000000 0.0265380 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 7.0836660 0.26292100 0.00000000 1.7096340 0.85577200 0.00000000 0.4141230 0.00000000 1.00000000 A 23 $ VANADIUM (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 2563.8770000 0.06394800 0.00000000 0.00000000 0.00000000 0.00000000 387.5340000 0.37759400 0.00000000 0.00000000 0.00000000 0.00000000 84.5982300 0.68054200 0.00000000 0.00000000 0.00000000 0.00000000 109.7938000 0.00000000 -0.10983600 0.00000000 0.00000000 0.00000000 23.7692100 0.00000000 0.10070700 0.00000000 0.00000000 0.00000000 7.1229610 0.00000000 0.95563300 0.00000000 0.00000000 0.00000000 6.9812040 0.00000000 0.00000000 -0.28845900 0.00000000 0.00000000 2.2198390 0.00000000 0.00000000 0.33643600 0.00000000 0.00000000 0.7198030 0.00000000 0.00000000 0.84819000 0.00000000 0.00000000 0.6312620 0.00000000 0.00000000 0.00000000 -0.23649000 0.00000000 0.0800620 0.00000000 0.00000000 0.00000000 1.09772100 0.00000000 0.0288650 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 109.7938000 0.13842100 0.00000000 0.00000000 0.00000000 23.7692100 0.55048900 0.00000000 0.00000000 0.00000000 7.1229610 0.48241700 0.00000000 0.00000000 0.00000000 6.9812040 0.00000000 0.02182100 0.00000000 0.00000000 2.2198390 0.00000000 0.45676200 0.00000000 0.00000000 0.7198030 0.00000000 0.61867500 0.00000000 0.00000000 0.6312620 0.00000000 0.00000000 0.00019000 0.00000000 0.0800620 0.00000000 0.00000000 0.99994000 0.00000000 0.0288650 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 8.3429170 0.26406200 0.00000000 2.0329440 0.85396600 0.00000000 0.4957120 0.00000000 1.00000000 A 24 $ CHROMIUM (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 2798.2940000 0.06382400 0.00000000 0.00000000 0.00000000 0.00000000 423.1370000 0.37708400 0.00000000 0.00000000 0.00000000 0.00000000 92.4388600 0.68098900 0.00000000 0.00000000 0.00000000 0.00000000 120.2806000 0.00000000 -0.11777900 0.00000000 0.00000000 0.00000000 26.0372700 0.00000000 0.10143100 0.00000000 0.00000000 0.00000000 7.8441720 0.00000000 0.95719800 0.00000000 0.00000000 0.00000000 7.7932760 0.00000000 0.00000000 -0.28885700 0.00000000 0.00000000 2.4971960 0.00000000 0.00000000 0.33511500 0.00000000 0.00000000 0.8051420 0.00000000 0.00000000 0.85024800 0.00000000 0.00000000 0.7039210 0.00000000 0.00000000 0.00000000 -0.23225100 0.00000000 0.0861620 0.00000000 0.00000000 0.00000000 1.09367100 0.00000000 0.0321990 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 120.2806000 0.13987800 0.00000000 0.00000000 0.00000000 26.0372700 0.55598300 0.00000000 0.00000000 0.00000000 7.8441720 0.47481800 0.00000000 0.00000000 0.00000000 7.7932760 0.00000000 0.02218500 0.00000000 0.00000000 2.4971960 0.00000000 0.46162500 0.00000000 0.00000000 0.8051420 0.00000000 0.61453900 0.00000000 0.00000000 0.7039210 0.00000000 0.00000000 0.00018000 0.00000000 0.0861620 0.00000000 0.00000000 0.99994500 0.00000000 0.0321990 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 9.6253390 0.26559600 0.00000000 2.3622640 0.85215600 0.00000000 0.5770940 0.00000000 1.00000000 A 25 $ MANGANESE (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 3041.6860000 0.06374500 0.00000000 0.00000000 0.00000000 0.00000000 460.0901000 0.37674900 0.00000000 0.00000000 0.00000000 0.00000000 100.5958000 0.68124700 0.00000000 0.00000000 0.00000000 0.00000000 131.7673000 0.00000000 -0.11029600 0.00000000 0.00000000 0.00000000 28.5691500 0.00000000 0.09819000 0.00000000 0.00000000 0.00000000 8.6605010 0.00000000 0.95765900 0.00000000 0.00000000 0.00000000 8.5690810 0.00000000 0.00000000 -0.29171400 0.00000000 0.00000000 2.7681780 0.00000000 0.00000000 0.34396300 0.00000000 0.00000000 0.8872880 0.00000000 0.00000000 0.84519800 0.00000000 0.00000000 0.7674430 0.00000000 0.00000000 0.00000000 -0.23000400 0.00000000 0.0920250 0.00000000 0.00000000 0.00000000 1.09145000 0.00000000 0.0332650 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 131.7673000 0.14045400 0.00000000 0.00000000 0.00000000 28.5691500 0.55780200 0.00000000 0.00000000 0.00000000 8.6605010 0.47150100 0.00000000 0.00000000 0.00000000 8.5690810 0.00000000 0.02422400 0.00000000 0.00000000 2.7681780 0.00000000 0.46866000 0.00000000 0.00000000 0.8872880 0.00000000 0.60742100 0.00000000 0.00000000 0.7674430 0.00000000 0.00000000 0.00030800 0.00000000 0.0920250 0.00000000 0.00000000 0.99990700 0.00000000 0.0332650 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 11.0688400 0.26527200 0.00000000 2.7307070 0.85179500 0.00000000 0.6685090 0.00000000 1.00000000 A 26 $ IRON (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 3299.1840000 0.06358600 0.00000000 0.00000000 0.00000000 0.00000000 499.0886000 0.37620200 0.00000000 0.00000000 0.00000000 0.00000000 109.1614000 0.68178500 0.00000000 0.00000000 0.00000000 0.00000000 143.4652000 0.00000000 -0.11055200 0.00000000 0.00000000 0.00000000 31.1685800 0.00000000 0.09684700 0.00000000 0.00000000 0.00000000 9.4836120 0.00000000 0.95879700 0.00000000 0.00000000 0.00000000 9.4645650 0.00000000 0.00000000 -0.29205600 0.00000000 0.00000000 3.1003730 0.00000000 0.00000000 0.33752400 0.00000000 0.00000000 0.9864930 0.00000000 0.00000000 0.85194200 0.00000000 0.00000000 0.8534120 0.00000000 0.00000000 0.00000000 -0.22794400 0.00000000 0.0988120 0.00000000 0.00000000 0.00000000 1.08828700 0.00000000 0.0364420 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 143.4652000 0.14110100 0.00000000 0.00000000 0.00000000 31.1685800 0.56038700 0.00000000 0.00000000 0.00000000 9.4836120 0.46764400 0.00000000 0.00000000 0.00000000 9.4645650 0.00000000 0.02376200 0.00000000 0.00000000 3.1003730 0.00000000 0.46891100 0.00000000 0.00000000 0.9864930 0.00000000 0.60831100 0.00000000 0.00000000 0.8534120 0.00000000 0.00000000 -0.00042600 0.00000000 0.0988120 0.00000000 0.00000000 1.00012400 0.00000000 0.0364420 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 12.3544900 0.26861100 0.00000000 3.0556050 0.84927200 0.00000000 0.7385910 0.00000000 1.00000000 A 27 $ COBALT (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 3564.7620000 0.06348700 0.00000000 0.00000000 0.00000000 0.00000000 539.3908000 0.37581800 0.00000000 0.00000000 0.00000000 0.00000000 118.0449000 0.68212200 0.00000000 0.00000000 0.00000000 0.00000000 155.4382000 0.00000000 -0.11098700 0.00000000 0.00000000 0.00000000 33.8156100 0.00000000 0.09676700 0.00000000 0.00000000 0.00000000 10.3332300 0.00000000 0.95899200 0.00000000 0.00000000 0.00000000 10.3815200 0.00000000 0.00000000 -0.29226200 0.00000000 0.00000000 3.3827140 0.00000000 0.00000000 0.34325100 0.00000000 0.00000000 1.0769540 0.00000000 0.00000000 0.84696300 0.00000000 0.00000000 0.9090150 0.00000000 0.00000000 0.00000000 -0.21746000 0.00000000 0.1050410 0.00000000 0.00000000 0.00000000 1.08499800 0.00000000 0.0372570 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 155.4382000 0.14206400 0.00000000 0.00000000 0.00000000 33.8156100 0.56344400 0.00000000 0.00000000 0.00000000 10.3332300 0.46302400 0.00000000 0.00000000 0.00000000 10.3815200 0.00000000 0.02631300 0.00000000 0.00000000 3.3827140 0.00000000 0.47691700 0.00000000 0.00000000 1.0769540 0.00000000 0.59915400 0.00000000 0.00000000 0.9090150 0.00000000 0.00000000 0.00022800 0.00000000 0.1050410 0.00000000 0.00000000 0.99993400 0.00000000 0.0372570 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 13.7407000 0.27095500 0.00000000 3.4089830 0.84734200 0.00000000 0.8186410 0.00000000 1.00000000 A 28 $ NICKEL (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 3848.0050000 0.06326600 0.00000000 0.00000000 0.00000000 0.00000000 582.0307000 0.37517100 0.00000000 0.00000000 0.00000000 0.00000000 127.3674000 0.68282400 0.00000000 0.00000000 0.00000000 0.00000000 168.2896000 0.00000000 -0.11111500 0.00000000 0.00000000 0.00000000 36.6563300 0.00000000 0.09532400 0.00000000 0.00000000 0.00000000 11.2321200 0.00000000 0.96016100 0.00000000 0.00000000 0.00000000 11.3587700 0.00000000 0.00000000 -0.29206000 0.00000000 0.00000000 3.7388460 0.00000000 0.00000000 0.33754100 0.00000000 0.00000000 1.1824630 0.00000000 0.00000000 0.85253300 0.00000000 0.00000000 0.9889040 0.00000000 0.00000000 0.00000000 -0.21368700 0.00000000 0.1110250 0.00000000 0.00000000 0.00000000 1.08193300 0.00000000 0.0392580 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 168.2896000 0.14249000 0.00000000 0.00000000 0.00000000 36.6563300 0.56554700 0.00000000 0.00000000 0.00000000 11.2321200 0.45999300 0.00000000 0.00000000 0.00000000 11.3587700 0.00000000 0.02613800 0.00000000 0.00000000 3.7388460 0.00000000 0.47659800 0.00000000 0.00000000 1.1824630 0.00000000 0.60038000 0.00000000 0.00000000 0.9889040 0.00000000 0.00000000 0.00029400 0.00000000 0.1110250 0.00000000 0.00000000 0.99991700 0.00000000 0.0392580 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 15.2206900 0.27260600 0.00000000 3.7860200 0.84592800 0.00000000 0.9045570 0.00000000 1.00000000 A 29 $ COPPER (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 4134.3020000 0.06318800 0.00000000 0.00000000 0.00000000 0.00000000 625.4912000 0.37484500 0.00000000 0.00000000 0.00000000 0.00000000 136.9556000 0.68310000 0.00000000 0.00000000 0.00000000 0.00000000 181.4960000 0.00000000 -0.11132000 0.00000000 0.00000000 0.00000000 39.5743100 0.00000000 0.09448700 0.00000000 0.00000000 0.00000000 12.1624600 0.00000000 0.96087900 0.00000000 0.00000000 0.00000000 12.3511100 0.00000000 0.00000000 -0.29222300 0.00000000 0.00000000 4.0496510 0.00000000 0.00000000 0.34299100 0.00000000 0.00000000 1.2792250 0.00000000 0.00000000 0.84794600 0.00000000 0.00000000 1.0498040 0.00000000 0.00000000 0.00000000 -0.20650800 0.00000000 0.1169330 0.00000000 0.00000000 0.00000000 1.07927300 0.00000000 0.0007510 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 181.4960000 0.14308400 0.00000000 0.00000000 0.00000000 39.5743100 0.56775600 0.00000000 0.00000000 0.00000000 12.1624600 0.45671400 0.00000000 0.00000000 0.00000000 12.3511100 0.00000000 0.02772700 0.00000000 0.00000000 4.0496510 0.00000000 0.48352400 0.00000000 0.00000000 1.2792250 0.00000000 0.59297800 0.00000000 0.00000000 1.0498040 0.00000000 0.00000000 0.00013900 0.00000000 0.1169330 0.00000000 0.00000000 0.99996100 0.00000000 0.0007510 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 16.7593800 0.27411200 0.00000000 4.1789770 0.84462500 0.00000000 0.9943270 0.00000000 1.00000000 A 30 $ ZINC (12s,9p,3d) -> [5s,4p,2d] $ S-TYPE FUNCTIONS 12 5 0 4432.2880000 0.06309300 0.00000000 0.00000000 0.00000000 0.00000000 670.6601000 0.37450400 0.00000000 0.00000000 0.00000000 0.00000000 146.9024000 0.68341600 0.00000000 0.00000000 0.00000000 0.00000000 195.0042000 0.00000000 -0.11162800 0.00000000 0.00000000 0.00000000 42.5688900 0.00000000 0.09433600 0.00000000 0.00000000 0.00000000 13.1214300 0.00000000 0.96110000 0.00000000 0.00000000 0.00000000 13.4023100 0.00000000 0.00000000 -0.29178100 0.00000000 0.00000000 4.3999060 0.00000000 0.00000000 0.34261400 0.00000000 0.00000000 1.3851480 0.00000000 0.00000000 0.84828400 0.00000000 0.00000000 1.1215580 0.00000000 0.00000000 0.00000000 -0.20237100 0.00000000 0.1229440 0.00000000 0.00000000 0.00000000 1.07703500 0.00000000 0.0421930 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 195.0042000 0.14380600 0.00000000 0.00000000 0.00000000 42.5688900 0.57000200 0.00000000 0.00000000 0.00000000 13.1214300 0.45331200 0.00000000 0.00000000 0.00000000 13.4023100 0.00000000 0.02870500 0.00000000 0.00000000 4.3999060 0.00000000 0.48625200 0.00000000 0.00000000 1.3851480 0.00000000 0.59023500 0.00000000 0.00000000 1.1215580 0.00000000 0.00000000 0.00034400 0.00000000 0.1229440 0.00000000 0.00000000 0.99990500 0.00000000 0.0421930 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 2 0 18.3682000 0.27538600 0.00000000 4.5913040 0.84347700 0.00000000 1.0902030 0.00000000 1.00000000 A 31 $ GALLIUM (12s,9p,3d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 12 5 0 4751.8979000 0.06284000 0.00000000 0.00000000 0.00000000 0.00000000 718.9205400 0.37361100 0.00000000 0.00000000 0.00000000 0.00000000 157.4459200 0.68436300 0.00000000 0.00000000 0.00000000 0.00000000 209.5834000 0.00000000 -0.11151600 0.00000000 0.00000000 0.00000000 45.6917100 0.00000000 0.09269600 0.00000000 0.00000000 0.00000000 14.1329700 0.00000000 0.96228700 0.00000000 0.00000000 0.00000000 14.5995400 0.00000000 0.00000000 0.29102900 0.00000000 0.00000000 4.8608420 0.00000000 0.00000000 -0.32318800 0.00000000 0.00000000 1.5491110 0.00000000 0.00000000 -0.86439100 0.00000000 0.00000000 1.2679430 0.00000000 0.00000000 0.00000000 -0.28513100 0.00000000 0.1883990 0.00000000 0.00000000 0.00000000 1.12802200 0.00000000 0.0572370 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 209.5834000 0.14426600 0.00000000 0.00000000 0.00000000 45.6917100 0.57317800 0.00000000 0.00000000 0.00000000 14.1329700 0.44908600 0.00000000 0.00000000 0.00000000 14.5995400 0.00000000 0.02656200 0.00000000 0.00000000 4.8608420 0.00000000 0.48331400 0.00000000 0.00000000 1.5491110 0.00000000 0.59243000 0.00000000 0.00000000 1.2679430 0.00000000 0.00000000 0.03018300 0.00000000 0.1883990 0.00000000 0.00000000 0.98846600 0.00000000 0.0572370 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 21.2925300 0.16199000 5.3931660 0.51167400 1.3338830 0.58987300 A 32 $ GERMANIUM (12s,9p,3d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 12 5 0 5073.7499000 0.06272500 0.00000000 0.00000000 0.00000000 0.00000000 767.7241700 0.37316700 0.00000000 0.00000000 0.00000000 0.00000000 168.1888100 0.68478700 0.00000000 0.00000000 0.00000000 0.00000000 224.4360000 0.00000000 -0.11151500 0.00000000 0.00000000 0.00000000 48.9554300 0.00000000 0.09120000 0.00000000 0.00000000 0.00000000 15.1837000 0.00000000 0.96344900 0.00000000 0.00000000 0.00000000 15.9125700 0.00000000 0.00000000 -0.28956500 0.00000000 0.00000000 5.4414370 0.00000000 0.00000000 0.29388300 0.00000000 0.00000000 1.7426030 0.00000000 0.00000000 0.88919900 0.00000000 0.00000000 1.4665380 0.00000000 0.00000000 0.00000000 -0.39673400 0.00000000 0.2630930 0.00000000 0.00000000 0.00000000 1.19067000 0.00000000 0.0848210 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 224.4360000 0.14464000 0.00000000 0.00000000 0.00000000 48.9554300 0.57538000 0.00000000 0.00000000 0.00000000 15.1837000 0.44599500 0.00000000 0.00000000 0.00000000 15.9125700 0.00000000 0.02297300 0.00000000 0.00000000 5.4414370 0.00000000 0.47324500 0.00000000 0.00000000 1.7426030 0.00000000 0.60327800 0.00000000 0.00000000 1.4665380 0.00000000 0.00000000 0.02789300 0.00000000 0.2630930 0.00000000 0.00000000 0.98749000 0.00000000 0.0848210 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 24.3214210 0.15779900 6.2238140 0.51149200 1.5887370 0.58577000 A 33 $ ARSENIC (12s,9p,3d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 12 5 0 5407.6138000 0.06260100 0.00000000 0.00000000 0.00000000 0.00000000 818.1743600 0.37277900 0.00000000 0.00000000 0.00000000 0.00000000 179.2656900 0.68518400 0.00000000 0.00000000 0.00000000 0.00000000 237.7783000 0.00000000 -0.11283800 0.00000000 0.00000000 0.00000000 54.2566200 0.00000000 0.08722700 0.00000000 0.00000000 0.00000000 16.3280300 0.00000000 0.96818800 0.00000000 0.00000000 0.00000000 17.1018500 0.00000000 0.00000000 -0.29145400 0.00000000 0.00000000 5.8051440 0.00000000 0.00000000 0.29696200 0.00000000 0.00000000 1.9020840 0.00000000 0.00000000 0.88657900 0.00000000 0.00000000 1.6754040 0.00000000 0.00000000 0.00000000 -0.50576100 0.00000000 0.3416560 0.00000000 0.00000000 0.00000000 1.25176400 0.00000000 0.1136300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 237.7783000 0.14968000 0.00000000 0.00000000 0.00000000 54.2566200 0.56232200 0.00000000 0.00000000 0.00000000 16.3280300 0.45932300 0.00000000 0.00000000 0.00000000 17.1018500 0.00000000 0.02568600 0.00000000 0.00000000 5.8051440 0.00000000 0.48339700 0.00000000 0.00000000 1.9020840 0.00000000 0.58878500 0.00000000 0.00000000 1.6754040 0.00000000 0.00000000 0.02528200 0.00000000 0.3416560 0.00000000 0.00000000 0.98743300 0.00000000 0.1136300 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 27.4372090 0.15449500 7.0840440 0.51143200 1.8558230 0.58219400 A 34 $ SELENIUM (12s,9p,3d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 12 5 0 5751.3215000 0.06249300 0.00000000 0.00000000 0.00000000 0.00000000 870.2572100 0.37236800 0.00000000 0.00000000 0.00000000 0.00000000 190.7294900 0.68558000 0.00000000 0.00000000 0.00000000 0.00000000 255.0164000 0.00000000 -0.11190800 0.00000000 0.00000000 0.00000000 55.5765400 0.00000000 0.09099900 0.00000000 0.00000000 0.00000000 17.3566100 0.00000000 0.96366800 0.00000000 0.00000000 0.00000000 18.4456800 0.00000000 0.00000000 -0.29179300 0.00000000 0.00000000 6.3287590 0.00000000 0.00000000 0.28462100 0.00000000 0.00000000 2.0967580 0.00000000 0.00000000 0.89730500 0.00000000 0.00000000 1.8726330 0.00000000 0.00000000 0.00000000 -0.56776400 0.00000000 0.4174740 0.00000000 0.00000000 0.00000000 1.29412700 0.00000000 0.1370910 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 255.0164000 0.14614900 0.00000000 0.00000000 0.00000000 55.5765400 0.58137100 0.00000000 0.00000000 0.00000000 17.3566100 0.43746000 0.00000000 0.00000000 0.00000000 18.4456800 0.00000000 0.02442100 0.00000000 0.00000000 6.3287590 0.00000000 0.48336500 0.00000000 0.00000000 2.0967580 0.00000000 0.58790400 0.00000000 0.00000000 1.8726330 0.00000000 0.00000000 0.02825500 0.00000000 0.4174740 0.00000000 0.00000000 0.98490600 0.00000000 0.1370910 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 30.6274640 0.15198600 7.9712760 0.51164000 2.1348100 0.57869400 A 35 $ BROMINE (12s,9p,3d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 12 5 0 6103.2899000 0.06241800 0.00000000 0.00000000 0.00000000 0.00000000 923.6974300 0.37204100 0.00000000 0.00000000 0.00000000 0.00000000 202.5203100 0.68587300 0.00000000 0.00000000 0.00000000 0.00000000 270.6015000 0.00000000 -0.11214900 0.00000000 0.00000000 0.00000000 58.2535700 0.00000000 0.09314500 0.00000000 0.00000000 0.00000000 18.4693300 0.00000000 0.96167900 0.00000000 0.00000000 0.00000000 19.7614200 0.00000000 0.00000000 -0.29387000 0.00000000 0.00000000 6.8217520 0.00000000 0.00000000 0.28026600 0.00000000 0.00000000 2.2916290 0.00000000 0.00000000 0.90203600 0.00000000 0.00000000 2.1312060 0.00000000 0.00000000 0.00000000 -0.65180300 0.00000000 0.4993540 0.00000000 0.00000000 0.00000000 1.33601200 0.00000000 0.1647640 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 270.6015000 0.14775100 0.00000000 0.00000000 0.00000000 58.2535700 0.60105600 0.00000000 0.00000000 0.00000000 18.4693300 0.41287000 0.00000000 0.00000000 0.00000000 19.7614200 0.00000000 0.02500700 0.00000000 0.00000000 6.8217520 0.00000000 0.48661000 0.00000000 0.00000000 2.2916290 0.00000000 0.58242300 0.00000000 0.00000000 2.1312060 0.00000000 0.00000000 0.02870800 0.00000000 0.4993540 0.00000000 0.00000000 0.98407000 0.00000000 0.1647640 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 33.9650970 0.14966700 8.9008310 0.51174800 2.4284360 0.57591500 A 36 $ KRYPTON (12s,9p,3d) -> [5s,4p,1d] $ S-TYPE FUNCTIONS 12 5 0 6446.6307000 0.06254000 0.00000000 0.00000000 0.00000000 0.00000000 976.8757000 0.37210700 0.00000000 0.00000000 0.00000000 0.00000000 214.4795500 0.68561100 0.00000000 0.00000000 0.00000000 0.00000000 287.6446000 0.00000000 -0.11206100 0.00000000 0.00000000 0.00000000 62.6200900 0.00000000 0.09013900 0.00000000 0.00000000 0.00000000 19.6917400 0.00000000 0.96433000 0.00000000 0.00000000 0.00000000 21.1232100 0.00000000 0.00000000 -0.29581700 0.00000000 0.00000000 7.3032860 0.00000000 0.00000000 0.27921700 0.00000000 0.00000000 2.4888500 0.00000000 0.00000000 0.90373000 0.00000000 0.00000000 2.3613740 0.00000000 0.00000000 0.00000000 -0.72024500 0.00000000 0.5860160 0.00000000 0.00000000 0.00000000 1.37684600 0.00000000 0.1944470 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 287.6446000 0.14752800 0.00000000 0.00000000 0.00000000 62.6200900 0.58689200 0.00000000 0.00000000 0.00000000 19.6917400 0.42950700 0.00000000 0.00000000 0.00000000 21.1232100 0.00000000 0.02607000 0.00000000 0.00000000 7.3032860 0.00000000 0.49225000 0.00000000 0.00000000 2.4888500 0.00000000 0.57427400 0.00000000 0.00000000 2.3613740 0.00000000 0.00000000 0.02877500 0.00000000 0.5860160 0.00000000 0.00000000 0.98333900 0.00000000 0.1944470 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 37.3681030 0.14794700 9.8543130 0.51217200 2.7327950 0.57295000 A 37 $ RUBIDIUM (15s,12p,3d) -> [6s,5p,1d] $ S-TYPE FUNCTIONS 15 6 0 6816.7225000 0.06249600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1033.0007000 0.37195000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 226.9086100 0.68572900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 304.1283000 0.00000000 -0.11233000 0.00000000 0.00000000 0.00000000 0.00000000 66.2605800 0.00000000 0.09075100 0.00000000 0.00000000 0.00000000 0.00000000 20.9194500 0.00000000 0.96394100 0.00000000 0.00000000 0.00000000 0.00000000 22.4653300 0.00000000 0.00000000 -0.30048500 0.00000000 0.00000000 0.00000000 7.8774680 0.00000000 0.00000000 0.27835700 0.00000000 0.00000000 0.00000000 2.7052710 0.00000000 0.00000000 0.90761000 0.00000000 0.00000000 0.00000000 2.6921160 0.00000000 0.00000000 0.00000000 -0.33116200 0.00000000 0.00000000 0.7230560 0.00000000 0.00000000 0.00000000 0.50969900 0.00000000 0.00000000 0.2598380 0.00000000 0.00000000 0.00000000 0.69824600 0.00000000 0.00000000 0.1897140 0.00000000 0.00000000 0.00000000 0.00000000 -0.27119300 0.00000000 0.0339970 0.00000000 0.00000000 0.00000000 0.00000000 1.14155000 0.00000000 0.0147120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 304.1283000 0.14844100 0.00000000 0.00000000 0.00000000 0.00000000 66.2605800 0.58912500 0.00000000 0.00000000 0.00000000 0.00000000 20.9194500 0.42582500 0.00000000 0.00000000 0.00000000 0.00000000 22.4653300 0.00000000 0.02445400 0.00000000 0.00000000 0.00000000 7.8774680 0.00000000 0.49445400 0.00000000 0.00000000 0.00000000 2.7052710 0.00000000 0.57185700 0.00000000 0.00000000 0.00000000 2.6921160 0.00000000 0.00000000 0.01190100 0.00000000 0.00000000 0.7230560 0.00000000 0.00000000 0.49517300 0.00000000 0.00000000 0.2598380 0.00000000 0.00000000 0.57372400 0.00000000 0.00000000 0.1897140 0.00000000 0.00000000 0.00000000 0.00030800 0.00000000 0.0339970 0.00000000 0.00000000 0.00000000 0.99986500 0.00000000 0.0147120 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 40.8660310 0.14660400 10.8408850 0.51272500 3.0508340 0.56998000 A 38 $ STRONTIUM (15s,12p,3d) -> [6s,5p,1d] $ S-TYPE FUNCTIONS 15 6 0 7215.4735000 0.06228200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1092.8519000 0.37131000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 239.9818200 0.68644400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 322.1246000 0.00000000 -0.11223500 0.00000000 0.00000000 0.00000000 0.00000000 70.0904600 0.00000000 0.08954400 0.00000000 0.00000000 0.00000000 0.00000000 22.1764100 0.00000000 0.96481300 0.00000000 0.00000000 0.00000000 0.00000000 23.9276300 0.00000000 0.00000000 -0.30247200 0.00000000 0.00000000 0.00000000 8.4751140 0.00000000 0.00000000 0.27008400 0.00000000 0.00000000 0.00000000 2.9429340 0.00000000 0.00000000 0.91592000 0.00000000 0.00000000 0.00000000 2.9409660 0.00000000 0.00000000 0.00000000 -0.35198500 0.00000000 0.00000000 0.8523560 0.00000000 0.00000000 0.00000000 0.49725500 0.00000000 0.00000000 0.3215370 0.00000000 0.00000000 0.00000000 0.72386000 0.00000000 0.00000000 0.3480420 0.00000000 0.00000000 0.00000000 0.00000000 -0.28514700 0.00000000 0.0481770 0.00000000 0.00000000 0.00000000 0.00000000 1.12093900 0.00000000 0.0218030 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 322.1246000 0.14883700 0.00000000 0.00000000 0.00000000 0.00000000 70.0904600 0.59194700 0.00000000 0.00000000 0.00000000 0.00000000 22.1764100 0.42217100 0.00000000 0.00000000 0.00000000 0.00000000 23.9276300 0.00000000 0.02483700 0.00000000 0.00000000 0.00000000 8.4751140 0.00000000 0.49347800 0.00000000 0.00000000 0.00000000 2.9429340 0.00000000 0.57098300 0.00000000 0.00000000 0.00000000 2.9409660 0.00000000 0.00000000 0.00972300 0.00000000 0.00000000 0.8523560 0.00000000 0.00000000 0.49832200 0.00000000 0.00000000 0.3215370 0.00000000 0.00000000 0.56505600 0.00000000 0.00000000 0.3480420 0.00000000 0.00000000 0.00000000 0.00030800 0.00000000 0.0481770 0.00000000 0.00000000 0.00000000 0.99989300 0.00000000 0.0218030 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 3 1 0 44.5661150 0.14512700 11.8814890 0.51306800 3.3875580 0.56766400 A 39 $ YTTRIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 7646.4210000 0.06189100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1156.8630000 0.37020700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 253.7152000 0.68775600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 341.8540000 0.00000000 -0.11190000 0.00000000 0.00000000 0.00000000 0.00000000 74.2098600 0.00000000 0.08680500 0.00000000 0.00000000 0.00000000 0.00000000 23.5135200 0.00000000 0.96678500 0.00000000 0.00000000 0.00000000 0.00000000 18.8626000 0.00000000 0.00000000 -1.47787300 0.00000000 0.00000000 0.00000000 16.4540500 0.00000000 0.00000000 1.34725900 0.00000000 0.00000000 0.00000000 3.4845000 0.00000000 0.00000000 1.00623100 0.00000000 0.00000000 0.00000000 3.2217330 0.00000000 0.00000000 0.00000000 -0.36995800 0.00000000 0.00000000 1.0507050 0.00000000 0.00000000 0.00000000 0.43086400 0.00000000 0.00000000 0.3925920 0.00000000 0.00000000 0.00000000 0.80208700 0.00000000 0.00000000 0.4327640 0.00000000 0.00000000 0.00000000 0.00000000 -0.34645800 0.00000000 0.0570120 0.00000000 0.00000000 0.00000000 0.00000000 1.13277700 0.00000000 0.0237540 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 341.8540000 0.14857200 0.00000000 0.00000000 0.00000000 0.00000000 74.2098600 0.59430700 0.00000000 0.00000000 0.00000000 0.00000000 23.5135200 0.41960400 0.00000000 0.00000000 0.00000000 0.00000000 18.8626000 0.00000000 -0.70414100 0.00000000 0.00000000 0.00000000 16.4540500 0.00000000 1.05786200 0.00000000 0.00000000 0.00000000 3.4845000 0.00000000 0.73938200 0.00000000 0.00000000 0.00000000 3.2217330 0.00000000 0.00000000 0.00249400 0.00000000 0.00000000 1.0507050 0.00000000 0.00000000 0.45376200 0.00000000 0.00000000 0.3925920 0.00000000 0.00000000 0.61306800 0.00000000 0.00000000 0.4327640 0.00000000 0.00000000 0.00000000 -0.00133700 0.00000000 0.0570120 0.00000000 0.00000000 0.00000000 1.00044000 0.00000000 0.0237540 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 50.3537500 0.13679600 0.00000000 0.00000000 13.5307800 0.50190600 0.00000000 0.00000000 3.9449960 0.57886000 0.00000000 0.00000000 1.5301370 0.00000000 0.33840300 0.00000000 0.6300670 0.00000000 0.72932900 0.00000000 0.2165880 0.00000000 0.00000000 1.00000000 A 40 $ ZIRCONIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 8084.5920000 0.06157800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1221.6680000 0.36939900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 267.6917000 0.68872800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 361.0212000 0.00000000 -0.11190700 0.00000000 0.00000000 0.00000000 0.00000000 78.3049500 0.00000000 0.08584000 0.00000000 0.00000000 0.00000000 0.00000000 24.8452300 0.00000000 0.96751300 0.00000000 0.00000000 0.00000000 0.00000000 20.0062800 0.00000000 0.00000000 -1.54434900 0.00000000 0.00000000 0.00000000 17.5741500 0.00000000 0.00000000 1.40959600 0.00000000 0.00000000 0.00000000 3.7429850 0.00000000 0.00000000 1.00934900 0.00000000 0.00000000 0.00000000 3.5547880 0.00000000 0.00000000 0.00000000 -0.37938700 0.00000000 0.00000000 1.1789920 0.00000000 0.00000000 0.00000000 0.42328500 0.00000000 0.00000000 0.4446970 0.00000000 0.00000000 0.00000000 0.81406800 0.00000000 0.00000000 0.5050490 0.00000000 0.00000000 0.00000000 0.00000000 -0.32951200 0.00000000 0.0621160 0.00000000 0.00000000 0.00000000 0.00000000 1.12070900 0.00000000 0.0255800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 361.0212000 0.14876200 0.00000000 0.00000000 0.00000000 0.00000000 78.3049500 0.59656900 0.00000000 0.00000000 0.00000000 0.00000000 24.8452300 0.41678500 0.00000000 0.00000000 0.00000000 0.00000000 20.0062800 0.00000000 -0.75684800 0.00000000 0.00000000 0.00000000 17.5741500 0.00000000 1.11209000 0.00000000 0.00000000 0.00000000 3.7429850 0.00000000 0.73680200 0.00000000 0.00000000 0.00000000 3.5547880 0.00000000 0.00000000 0.00259900 0.00000000 0.00000000 1.1789920 0.00000000 0.00000000 0.45997600 0.00000000 0.00000000 0.4446970 0.00000000 0.00000000 0.60584900 0.00000000 0.00000000 0.5050490 0.00000000 0.00000000 0.00000000 -0.00124900 0.00000000 0.0621160 0.00000000 0.00000000 0.00000000 1.00038400 0.00000000 0.0255800 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 54.7232300 0.13482400 0.00000000 0.00000000 14.7741600 0.50055400 0.00000000 0.00000000 4.3589610 0.57878200 0.00000000 0.00000000 1.8628420 0.00000000 0.28503200 0.00000000 0.6433130 0.00000000 0.79720700 0.00000000 0.1993950 0.00000000 0.00000000 1.00000000 A 41 $ NIOBIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 8466.5170000 0.06180400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1281.2610000 0.36980500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 281.2311000 0.68807900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 379.4729000 0.00000000 -0.11210600 0.00000000 0.00000000 0.00000000 0.00000000 82.3358900 0.00000000 0.08650300 0.00000000 0.00000000 0.00000000 0.00000000 26.2224800 0.00000000 0.96705700 0.00000000 0.00000000 0.00000000 0.00000000 21.1629400 0.00000000 0.00000000 -1.55513100 0.00000000 0.00000000 0.00000000 18.5897800 0.00000000 0.00000000 1.41793900 0.00000000 0.00000000 0.00000000 4.0099810 0.00000000 0.00000000 1.01062000 0.00000000 0.00000000 0.00000000 3.8363750 0.00000000 0.00000000 0.00000000 -0.38910400 0.00000000 0.00000000 1.3033250 0.00000000 0.00000000 0.00000000 0.43497000 0.00000000 0.00000000 0.4934310 0.00000000 0.00000000 0.00000000 0.81159000 0.00000000 0.00000000 0.5723730 0.00000000 0.00000000 0.00000000 0.00000000 -0.31560900 0.00000000 0.0682030 0.00000000 0.00000000 0.00000000 0.00000000 1.11404700 0.00000000 0.0271570 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 379.4729000 0.14966700 0.00000000 0.00000000 0.00000000 0.00000000 82.3358900 0.59871800 0.00000000 0.00000000 0.00000000 0.00000000 26.2224800 0.41323800 0.00000000 0.00000000 0.00000000 0.00000000 21.1629400 0.00000000 -0.75546200 0.00000000 0.00000000 0.00000000 18.5897800 0.00000000 1.11396600 0.00000000 0.00000000 0.00000000 4.0099810 0.00000000 0.73276700 0.00000000 0.00000000 0.00000000 3.8363750 0.00000000 0.00000000 0.00329000 0.00000000 0.00000000 1.3033250 0.00000000 0.00000000 0.47164500 0.00000000 0.00000000 0.4934310 0.00000000 0.00000000 0.59369900 0.00000000 0.00000000 0.5723730 0.00000000 0.00000000 0.00000000 -0.00113300 0.00000000 0.0682030 0.00000000 0.00000000 0.00000000 1.00033800 0.00000000 0.0271570 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 59.0121900 0.13371000 0.00000000 0.00000000 16.0127900 0.50003900 0.00000000 0.00000000 4.7771850 0.57753800 0.00000000 0.00000000 1.9704430 0.00000000 0.31068100 0.00000000 0.6619350 0.00000000 0.78006900 0.00000000 0.2059970 0.00000000 0.00000000 1.00000000 A 42 $ MOLYBDENUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 8899.4910000 0.06170600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1346.7640000 0.36945400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 295.6352000 0.68843400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 399.3139000 0.00000000 -0.11214400 0.00000000 0.00000000 0.00000000 0.00000000 86.5935600 0.00000000 0.08601100 0.00000000 0.00000000 0.00000000 0.00000000 27.6390400 0.00000000 0.96743300 0.00000000 0.00000000 0.00000000 0.00000000 22.5029200 0.00000000 0.00000000 -1.42230600 0.00000000 0.00000000 0.00000000 19.4917100 0.00000000 0.00000000 1.28418500 0.00000000 0.00000000 0.00000000 4.2781800 0.00000000 0.00000000 1.01086600 0.00000000 0.00000000 0.00000000 4.1630210 0.00000000 0.00000000 0.00000000 -0.39642300 0.00000000 0.00000000 1.4353050 0.00000000 0.00000000 0.00000000 0.43707900 0.00000000 0.00000000 0.5437820 0.00000000 0.00000000 0.00000000 0.81484600 0.00000000 0.00000000 0.6318010 0.00000000 0.00000000 0.00000000 0.00000000 -0.30336200 0.00000000 0.0732580 0.00000000 0.00000000 0.00000000 0.00000000 1.10841300 0.00000000 0.0280250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 399.3139000 0.15006600 0.00000000 0.00000000 0.00000000 0.00000000 86.5935600 0.60076900 0.00000000 0.00000000 0.00000000 0.00000000 27.6390400 0.41038600 0.00000000 0.00000000 0.00000000 0.00000000 22.5029200 0.00000000 -0.66806600 0.00000000 0.00000000 0.00000000 19.4917100 0.00000000 1.03034600 0.00000000 0.00000000 0.00000000 4.2781800 0.00000000 0.72834800 0.00000000 0.00000000 0.00000000 4.1630210 0.00000000 0.00000000 0.00296300 0.00000000 0.00000000 1.4353050 0.00000000 0.00000000 0.47914700 0.00000000 0.00000000 0.5437820 0.00000000 0.00000000 0.58648700 0.00000000 0.00000000 0.6318010 0.00000000 0.00000000 0.00000000 -0.00107900 0.00000000 0.0732580 0.00000000 0.00000000 0.00000000 1.00031300 0.00000000 0.0280250 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 63.7804500 0.13173900 0.00000000 0.00000000 17.3735800 0.49853200 0.00000000 0.00000000 5.2307840 0.57817800 0.00000000 0.00000000 2.2709370 0.00000000 0.31126400 0.00000000 0.7546530 0.00000000 0.78103400 0.00000000 0.2351420 0.00000000 0.00000000 1.00000000 A 43 $ TECHNETIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 9329.4820000 0.06171200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1412.5060000 0.36933700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 310.2643000 0.68847200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 418.8175000 0.00000000 -0.11240300 0.00000000 0.00000000 0.00000000 0.00000000 91.2507800 0.00000000 0.08531800 0.00000000 0.00000000 0.00000000 0.00000000 29.1121200 0.00000000 0.96817700 0.00000000 0.00000000 0.00000000 0.00000000 25.9106400 0.00000000 0.00000000 -1.38044600 0.00000000 0.00000000 0.00000000 23.2677000 0.00000000 0.00000000 1.19790000 0.00000000 0.00000000 0.00000000 4.7070830 0.00000000 0.00000000 1.05264900 0.00000000 0.00000000 0.00000000 4.4411380 0.00000000 0.00000000 0.00000000 -0.40411400 0.00000000 0.00000000 1.5956390 0.00000000 0.00000000 0.00000000 0.43983800 0.00000000 0.00000000 0.5955600 0.00000000 0.00000000 0.00000000 0.82193600 0.00000000 0.00000000 0.6738810 0.00000000 0.00000000 0.00000000 0.00000000 -0.27000300 0.00000000 0.0772410 0.00000000 0.00000000 0.00000000 0.00000000 1.09915000 0.00000000 0.0286960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 418.8175000 0.15007200 0.00000000 0.00000000 0.00000000 0.00000000 91.2507800 0.60005700 0.00000000 0.00000000 0.00000000 0.00000000 29.1121200 0.41098600 0.00000000 0.00000000 0.00000000 0.00000000 25.9106400 0.00000000 -1.65527100 0.00000000 0.00000000 0.00000000 23.2677000 0.00000000 1.98602000 0.00000000 0.00000000 0.00000000 4.7070830 0.00000000 0.72903400 0.00000000 0.00000000 0.00000000 4.4411380 0.00000000 0.00000000 0.01229100 0.00000000 0.00000000 1.5956390 0.00000000 0.00000000 0.46320700 0.00000000 0.00000000 0.5955600 0.00000000 0.00000000 0.59838300 0.00000000 0.00000000 0.6738810 0.00000000 0.00000000 0.00000000 -0.00092000 0.00000000 0.0772410 0.00000000 0.00000000 0.00000000 1.00026400 0.00000000 0.0286960 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 68.7837500 0.12969300 0.00000000 0.00000000 18.8038900 0.49661900 0.00000000 0.00000000 5.7052280 0.57954700 0.00000000 0.00000000 2.5991640 0.00000000 0.30921900 0.00000000 0.8622760 0.00000000 0.78290600 0.00000000 0.2706070 0.00000000 0.00000000 1.00000000 A 44 $ RUTHENIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 9786.1610000 0.06160500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1481.4770000 0.36898200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 325.4122000 0.68884500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 439.8665000 0.00000000 -0.11239100 0.00000000 0.00000000 0.00000000 0.00000000 95.7627300 0.00000000 0.08469400 0.00000000 0.00000000 0.00000000 0.00000000 30.6056600 0.00000000 0.96863800 0.00000000 0.00000000 0.00000000 0.00000000 27.2773700 0.00000000 0.00000000 -1.39555300 0.00000000 0.00000000 0.00000000 24.5108200 0.00000000 0.00000000 1.21085200 0.00000000 0.00000000 0.00000000 5.0089460 0.00000000 0.00000000 1.05404500 0.00000000 0.00000000 0.00000000 4.7658120 0.00000000 0.00000000 0.00000000 -0.41036300 0.00000000 0.00000000 1.7345310 0.00000000 0.00000000 0.00000000 0.44800300 0.00000000 0.00000000 0.6466360 0.00000000 0.00000000 0.00000000 0.81980800 0.00000000 0.00000000 0.7406620 0.00000000 0.00000000 0.00000000 0.00000000 -0.26396600 0.00000000 0.0821710 0.00000000 0.00000000 0.00000000 0.00000000 1.09485700 0.00000000 0.0300970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 439.8665000 0.15037900 0.00000000 0.00000000 0.00000000 0.00000000 95.7627300 0.60192900 0.00000000 0.00000000 0.00000000 0.00000000 30.6056600 0.40846400 0.00000000 0.00000000 0.00000000 0.00000000 27.2773700 0.00000000 -1.66861800 0.00000000 0.00000000 0.00000000 24.5108200 0.00000000 2.00279000 0.00000000 0.00000000 0.00000000 5.0089460 0.00000000 0.72514400 0.00000000 0.00000000 0.00000000 4.7658120 0.00000000 0.00000000 0.01127400 0.00000000 0.00000000 1.7345310 0.00000000 0.00000000 0.47270300 0.00000000 0.00000000 0.6466360 0.00000000 0.00000000 0.58984300 0.00000000 0.00000000 0.7406620 0.00000000 0.00000000 0.00000000 -0.00076200 0.00000000 0.0821710 0.00000000 0.00000000 0.00000000 1.00021200 0.00000000 0.0300970 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 73.9833000 0.12776000 0.00000000 0.00000000 20.2814900 0.49514700 0.00000000 0.00000000 6.1942980 0.58065500 0.00000000 0.00000000 2.8891080 0.00000000 0.31599400 0.00000000 0.9539610 0.00000000 0.77806600 0.00000000 0.2958810 0.00000000 0.00000000 1.00000000 A 45 $ RHODIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 10217.7100000 0.06173200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1548.4120000 0.36915300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 340.4990000 0.68851400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 460.7593000 0.00000000 -0.11244600 0.00000000 0.00000000 0.00000000 0.00000000 100.3289000 0.00000000 0.08438100 0.00000000 0.00000000 0.00000000 0.00000000 32.1397100 0.00000000 0.96890200 0.00000000 0.00000000 0.00000000 0.00000000 28.7932900 0.00000000 0.00000000 -1.40409100 0.00000000 0.00000000 0.00000000 25.9176800 0.00000000 0.00000000 1.21616900 0.00000000 0.00000000 0.00000000 5.3206400 0.00000000 0.00000000 1.05655500 0.00000000 0.00000000 0.00000000 5.1097480 0.00000000 0.00000000 0.00000000 -0.41264700 0.00000000 0.00000000 1.8754140 0.00000000 0.00000000 0.00000000 0.45188500 0.00000000 0.00000000 0.6995580 0.00000000 0.00000000 0.00000000 0.81889900 0.00000000 0.00000000 0.8005710 0.00000000 0.00000000 0.00000000 0.00000000 -0.25534800 0.00000000 0.0873210 0.00000000 0.00000000 0.00000000 0.00000000 1.09130800 0.00000000 0.0314070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 460.7593000 0.15085800 0.00000000 0.00000000 0.00000000 0.00000000 100.3289000 0.60351400 0.00000000 0.00000000 0.00000000 0.00000000 32.1397100 0.40602500 0.00000000 0.00000000 0.00000000 0.00000000 28.7932900 0.00000000 -1.71221800 0.00000000 0.00000000 0.00000000 25.9176800 0.00000000 2.04760300 0.00000000 0.00000000 0.00000000 5.3206400 0.00000000 0.72298300 0.00000000 0.00000000 0.00000000 5.1097480 0.00000000 0.00000000 0.00937400 0.00000000 0.00000000 1.8754140 0.00000000 0.00000000 0.48155400 0.00000000 0.00000000 0.6995580 0.00000000 0.00000000 0.58223100 0.00000000 0.00000000 0.8005710 0.00000000 0.00000000 0.00000000 -0.00077600 0.00000000 0.0873210 0.00000000 0.00000000 0.00000000 1.00021200 0.00000000 0.0314070 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 79.2559700 0.12619000 0.00000000 0.00000000 21.7894500 0.49395400 0.00000000 0.00000000 6.6975180 0.58133000 0.00000000 0.00000000 3.1909080 0.00000000 0.32104000 0.00000000 1.0545750 0.00000000 0.77385200 0.00000000 0.3260790 0.00000000 0.00000000 1.00000000 A 46 $ PALLADIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 10728.7400000 0.06142900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1624.0740000 0.36832800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 356.7937000 0.68950300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 482.4783000 0.00000000 -0.11267900 0.00000000 0.00000000 0.00000000 0.00000000 105.0590000 0.00000000 0.08461200 0.00000000 0.00000000 0.00000000 0.00000000 33.6814500 0.00000000 0.96878700 0.00000000 0.00000000 0.00000000 0.00000000 30.1865400 0.00000000 0.00000000 -1.41854700 0.00000000 0.00000000 0.00000000 27.1664200 0.00000000 0.00000000 1.22944400 0.00000000 0.00000000 0.00000000 5.6359340 0.00000000 0.00000000 1.05708300 0.00000000 0.00000000 0.00000000 5.4753740 0.00000000 0.00000000 0.00000000 -0.41726100 0.00000000 0.00000000 1.9976040 0.00000000 0.00000000 0.00000000 0.47058800 0.00000000 0.00000000 0.7439300 0.00000000 0.00000000 0.00000000 0.80463600 0.00000000 0.00000000 0.8901630 0.00000000 0.00000000 0.00000000 0.00000000 -0.27843200 0.00000000 0.0928210 0.00000000 0.00000000 0.00000000 0.00000000 1.09302800 0.00000000 0.0337740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 482.4783000 0.15107900 0.00000000 0.00000000 0.00000000 0.00000000 105.0590000 0.60509200 0.00000000 0.00000000 0.00000000 0.00000000 33.6814500 0.40398000 0.00000000 0.00000000 0.00000000 0.00000000 30.1865400 0.00000000 -1.70981700 0.00000000 0.00000000 0.00000000 27.1664200 0.00000000 2.04930800 0.00000000 0.00000000 0.00000000 5.6359340 0.00000000 0.71863000 0.00000000 0.00000000 0.00000000 5.4753740 0.00000000 0.00000000 0.01158400 0.00000000 0.00000000 1.9976040 0.00000000 0.00000000 0.49745500 0.00000000 0.00000000 0.7439300 0.00000000 0.00000000 0.56552700 0.00000000 0.00000000 0.8901630 0.00000000 0.00000000 0.00000000 -0.00127200 0.00000000 0.0928210 0.00000000 0.00000000 0.00000000 1.00033200 0.00000000 0.0337740 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 84.2369100 0.12564300 0.00000000 0.00000000 23.2491900 0.49372000 0.00000000 0.00000000 7.1967600 0.58034300 0.00000000 0.00000000 3.4730770 0.00000000 0.32815400 0.00000000 1.1480500 0.00000000 0.76802700 0.00000000 0.3548110 0.00000000 0.00000000 1.00000000 A 47 $ SILVER (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 11190.7800000 0.06149500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1695.0770000 0.36840500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 372.6752000 0.68932500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 504.6162000 0.00000000 -0.11265800 0.00000000 0.00000000 0.00000000 0.00000000 109.8718000 0.00000000 0.08402800 0.00000000 0.00000000 0.00000000 0.00000000 35.2951300 0.00000000 0.96923400 0.00000000 0.00000000 0.00000000 0.00000000 31.5687700 0.00000000 0.00000000 -1.42202800 0.00000000 0.00000000 0.00000000 28.3439700 0.00000000 0.00000000 1.23409800 0.00000000 0.00000000 0.00000000 5.9451270 0.00000000 0.00000000 1.05568300 0.00000000 0.00000000 0.00000000 5.8002560 0.00000000 0.00000000 0.00000000 -0.41961700 0.00000000 0.00000000 2.1272560 0.00000000 0.00000000 0.00000000 0.48435000 0.00000000 0.00000000 0.7935510 0.00000000 0.00000000 0.00000000 0.79520300 0.00000000 0.00000000 0.9285440 0.00000000 0.00000000 0.00000000 0.00000000 -0.25230000 0.00000000 0.0972550 0.00000000 0.00000000 0.00000000 0.00000000 1.08739200 0.00000000 0.0349330 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 504.6162000 0.15148000 0.00000000 0.00000000 0.00000000 0.00000000 109.8718000 0.60651400 0.00000000 0.00000000 0.00000000 0.00000000 35.2951300 0.40183000 0.00000000 0.00000000 0.00000000 0.00000000 31.5687700 0.00000000 -1.67336600 0.00000000 0.00000000 0.00000000 28.3439700 0.00000000 2.01897600 0.00000000 0.00000000 0.00000000 5.9451270 0.00000000 0.71268900 0.00000000 0.00000000 0.00000000 5.8002560 0.00000000 0.00000000 0.01430400 0.00000000 0.00000000 2.1272560 0.00000000 0.00000000 0.50719400 0.00000000 0.00000000 0.7935510 0.00000000 0.00000000 0.55397400 0.00000000 0.00000000 0.9285440 0.00000000 0.00000000 0.00000000 -0.00148100 0.00000000 0.0972550 0.00000000 0.00000000 0.00000000 1.00038800 0.00000000 0.0349330 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 89.9333500 0.12401600 0.00000000 0.00000000 24.8749600 0.49238300 0.00000000 0.00000000 7.7381910 0.58149700 0.00000000 0.00000000 3.7965570 0.00000000 0.33142600 0.00000000 1.2566440 0.00000000 0.76516300 0.00000000 0.3881330 0.00000000 0.00000000 1.00000000 A 48 $ CADMIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 11686.0900000 0.06142700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1770.1110000 0.36815700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 389.2090000 0.68957200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 527.6004000 0.00000000 -0.11259200 0.00000000 0.00000000 0.00000000 0.00000000 114.8329000 0.00000000 0.08327000 0.00000000 0.00000000 0.00000000 0.00000000 36.9582900 0.00000000 0.96979800 0.00000000 0.00000000 0.00000000 0.00000000 33.0154800 0.00000000 0.00000000 -1.40647100 0.00000000 0.00000000 0.00000000 29.5454300 0.00000000 0.00000000 1.21815600 0.00000000 0.00000000 0.00000000 6.2785080 0.00000000 0.00000000 1.05552000 0.00000000 0.00000000 0.00000000 6.1505960 0.00000000 0.00000000 0.00000000 -0.42292100 0.00000000 0.00000000 2.2597460 0.00000000 0.00000000 0.00000000 0.49877100 0.00000000 0.00000000 0.8414260 0.00000000 0.00000000 0.00000000 0.78507600 0.00000000 0.00000000 0.9490690 0.00000000 0.00000000 0.00000000 0.00000000 -0.22155500 0.00000000 0.1014880 0.00000000 0.00000000 0.00000000 0.00000000 1.08094400 0.00000000 0.0359870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 527.6004000 0.15180500 0.00000000 0.00000000 0.00000000 0.00000000 114.8329000 0.60776000 0.00000000 0.00000000 0.00000000 0.00000000 36.9582900 0.39996300 0.00000000 0.00000000 0.00000000 0.00000000 33.0154800 0.00000000 -1.60902400 0.00000000 0.00000000 0.00000000 29.5454300 0.00000000 1.95956800 0.00000000 0.00000000 0.00000000 6.2785080 0.00000000 0.70802700 0.00000000 0.00000000 0.00000000 6.1505960 0.00000000 0.00000000 0.01448200 0.00000000 0.00000000 2.2597460 0.00000000 0.00000000 0.51866100 0.00000000 0.00000000 0.8414260 0.00000000 0.00000000 0.54266600 0.00000000 0.00000000 0.9490690 0.00000000 0.00000000 0.00000000 -0.00154000 0.00000000 0.1014880 0.00000000 0.00000000 0.00000000 1.00041200 0.00000000 0.0359870 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 3 0 95.4727400 0.12308300 0.00000000 0.00000000 26.4819600 0.49167700 0.00000000 0.00000000 8.2828860 0.58154100 0.00000000 0.00000000 4.0821410 0.00000000 0.33794100 0.00000000 1.3572790 0.00000000 0.75916800 0.00000000 0.4208310 0.00000000 0.00000000 1.00000000 A 49 $ INDIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 12214.5470000 0.06124800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1848.9136000 0.36767500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 406.3683300 0.69013600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 550.4423000 0.00000000 -0.11270900 0.00000000 0.00000000 0.00000000 0.00000000 119.7744000 0.00000000 0.08344400 0.00000000 0.00000000 0.00000000 0.00000000 38.6692700 0.00000000 0.96968800 0.00000000 0.00000000 0.00000000 0.00000000 47.0293100 0.00000000 0.00000000 -0.27589500 0.00000000 0.00000000 0.00000000 22.4964200 0.00000000 0.00000000 0.05977300 0.00000000 0.00000000 0.00000000 6.6971170 0.00000000 0.00000000 1.08214800 0.00000000 0.00000000 0.00000000 6.5723600 0.00000000 0.00000000 0.00000000 -0.42848300 0.00000000 0.00000000 2.5021580 0.00000000 0.00000000 0.00000000 0.46336400 0.00000000 0.00000000 0.9420250 0.00000000 0.00000000 0.00000000 0.82196800 0.00000000 0.00000000 1.0012210 0.00000000 0.00000000 0.00000000 0.00000000 -0.43641700 0.00000000 0.1659700 0.00000000 0.00000000 0.00000000 0.00000000 1.18989300 0.00000000 0.0543400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 550.4423000 0.15237000 0.00000000 0.00000000 0.00000000 0.00000000 119.7744000 0.60965100 0.00000000 0.00000000 0.00000000 0.00000000 38.6692700 0.39702500 0.00000000 0.00000000 0.00000000 0.00000000 47.0293100 0.00000000 -0.14084800 0.00000000 0.00000000 0.00000000 22.4964200 0.00000000 0.52908700 0.00000000 0.00000000 0.00000000 6.6971170 0.00000000 0.66206800 0.00000000 0.00000000 0.00000000 6.5723600 0.00000000 0.00000000 0.01091300 0.00000000 0.00000000 2.5021580 0.00000000 0.00000000 0.50367600 0.00000000 0.00000000 0.9420250 0.00000000 0.00000000 0.55818100 0.00000000 0.00000000 1.0012210 0.00000000 0.00000000 0.00000000 0.02316300 0.00000000 0.1659700 0.00000000 0.00000000 0.00000000 0.99033100 0.00000000 0.0543400 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 102.1735600 0.12055600 0.00000000 28.3946320 0.48849800 0.00000000 8.9248050 0.58501900 0.00000000 4.5353640 0.00000000 0.25085700 1.5371480 0.00000000 0.56931100 0.4994920 0.00000000 0.38406400 A 50 $ TIN (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 12741.6740000 0.06113500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1928.4692000 0.36729300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 423.8079700 0.69054500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 574.2875000 0.00000000 -0.11274600 0.00000000 0.00000000 0.00000000 0.00000000 124.9537000 0.00000000 0.08286300 0.00000000 0.00000000 0.00000000 0.00000000 40.3957600 0.00000000 0.97015100 0.00000000 0.00000000 0.00000000 0.00000000 48.8066200 0.00000000 0.00000000 -0.28245300 0.00000000 0.00000000 0.00000000 23.8358800 0.00000000 0.00000000 0.06605600 0.00000000 0.00000000 0.00000000 7.0482960 0.00000000 0.00000000 1.08198700 0.00000000 0.00000000 0.00000000 6.9733780 0.00000000 0.00000000 0.00000000 -0.43403600 0.00000000 0.00000000 2.6930400 0.00000000 0.00000000 0.00000000 0.46102900 0.00000000 0.00000000 1.0259580 0.00000000 0.00000000 0.00000000 0.82855800 0.00000000 0.00000000 1.1314630 0.00000000 0.00000000 0.00000000 0.00000000 -0.52520800 0.00000000 0.2034090 0.00000000 0.00000000 0.00000000 0.00000000 1.22922600 0.00000000 0.0705640 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 574.2875000 0.15258000 0.00000000 0.00000000 0.00000000 0.00000000 124.9537000 0.61101100 0.00000000 0.00000000 0.00000000 0.00000000 40.3957600 0.39515500 0.00000000 0.00000000 0.00000000 0.00000000 48.8066200 0.00000000 -0.15096300 0.00000000 0.00000000 0.00000000 23.8358800 0.00000000 0.53996800 0.00000000 0.00000000 0.00000000 7.0482960 0.00000000 0.66048200 0.00000000 0.00000000 0.00000000 6.9733780 0.00000000 0.00000000 0.01195100 0.00000000 0.00000000 2.6930400 0.00000000 0.00000000 0.50671900 0.00000000 0.00000000 1.0259580 0.00000000 0.00000000 0.55291100 0.00000000 0.00000000 1.1314630 0.00000000 0.00000000 0.00000000 0.02107100 0.00000000 0.2034090 0.00000000 0.00000000 0.00000000 0.99059100 0.00000000 0.0705640 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 108.0563000 0.11982400 0.00000000 30.1315760 0.48759100 0.00000000 9.5300360 0.58498700 0.00000000 4.9626100 0.00000000 0.25294900 1.7120830 0.00000000 0.57276100 0.5771950 0.00000000 0.36903900 A 51 $ ANTIMONY (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 13289.3830000 0.06098400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2010.5218000 0.36684900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 441.6981500 0.69105000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 598.8890000 0.00000000 -0.11272000 0.00000000 0.00000000 0.00000000 0.00000000 130.0385000 0.00000000 0.08264400 0.00000000 0.00000000 0.00000000 0.00000000 42.1328600 0.00000000 0.97025800 0.00000000 0.00000000 0.00000000 0.00000000 51.5133300 0.00000000 0.00000000 -0.27704300 0.00000000 0.00000000 0.00000000 24.4359500 0.00000000 0.00000000 0.05750300 0.00000000 0.00000000 0.00000000 7.4209310 0.00000000 0.00000000 1.08470300 0.00000000 0.00000000 0.00000000 7.3142350 0.00000000 0.00000000 0.00000000 -0.44038100 0.00000000 0.00000000 2.8440530 0.00000000 0.00000000 0.00000000 0.47373400 0.00000000 0.00000000 1.1058550 0.00000000 0.00000000 0.00000000 0.82213500 0.00000000 0.00000000 1.2786370 0.00000000 0.00000000 0.00000000 0.00000000 -0.60169500 0.00000000 0.2412320 0.00000000 0.00000000 0.00000000 0.00000000 1.25869200 0.00000000 0.0866300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 598.8890000 0.15306700 0.00000000 0.00000000 0.00000000 0.00000000 130.0385000 0.61359700 0.00000000 0.00000000 0.00000000 0.00000000 42.1328600 0.39169900 0.00000000 0.00000000 0.00000000 0.00000000 51.5133300 0.00000000 -0.13787000 0.00000000 0.00000000 0.00000000 24.4359500 0.00000000 0.53635500 0.00000000 0.00000000 0.00000000 7.4209310 0.00000000 0.65086800 0.00000000 0.00000000 0.00000000 7.3142350 0.00000000 0.00000000 0.01530500 0.00000000 0.00000000 2.8440530 0.00000000 0.00000000 0.51608300 0.00000000 0.00000000 1.1058550 0.00000000 0.00000000 0.53875700 0.00000000 0.00000000 1.2786370 0.00000000 0.00000000 0.00000000 0.02225300 0.00000000 0.2412320 0.00000000 0.00000000 0.00000000 0.98964300 0.00000000 0.0866300 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 115.8095500 0.11662800 0.00000000 32.3058350 0.48343600 0.00000000 10.2503280 0.59014000 0.00000000 5.4862100 0.00000000 0.24836600 1.9216200 0.00000000 0.57431500 0.6660630 0.00000000 0.36430400 A 52 $ TELLERIUM (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 13796.5600000 0.06108600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2088.8798000 0.36696300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 459.3931900 0.69079400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 623.2631000 0.00000000 -0.11282000 0.00000000 0.00000000 0.00000000 0.00000000 135.3600000 0.00000000 0.08225200 0.00000000 0.00000000 0.00000000 0.00000000 44.0004800 0.00000000 0.97060100 0.00000000 0.00000000 0.00000000 0.00000000 54.1907800 0.00000000 0.00000000 -0.27441200 0.00000000 0.00000000 0.00000000 25.8203900 0.00000000 0.00000000 0.05183000 0.00000000 0.00000000 0.00000000 7.8095830 0.00000000 0.00000000 1.08762200 0.00000000 0.00000000 0.00000000 7.7642170 0.00000000 0.00000000 0.00000000 -0.44673100 0.00000000 0.00000000 3.0439320 0.00000000 0.00000000 0.00000000 0.46947000 0.00000000 0.00000000 1.1992530 0.00000000 0.00000000 0.00000000 0.82981100 0.00000000 0.00000000 1.3403640 0.00000000 0.00000000 0.00000000 0.00000000 -0.59047000 0.00000000 0.2780880 0.00000000 0.00000000 0.00000000 0.00000000 1.28196800 0.00000000 0.0967260 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 623.2631000 0.15341900 0.00000000 0.00000000 0.00000000 0.00000000 135.3600000 0.61490000 0.00000000 0.00000000 0.00000000 0.00000000 44.0004800 0.38951600 0.00000000 0.00000000 0.00000000 0.00000000 54.1907800 0.00000000 -0.14333100 0.00000000 0.00000000 0.00000000 25.8203900 0.00000000 0.53918800 0.00000000 0.00000000 0.00000000 7.8095830 0.00000000 0.65228500 0.00000000 0.00000000 0.00000000 7.7642170 0.00000000 0.00000000 0.01274600 0.00000000 0.00000000 3.0439320 0.00000000 0.00000000 0.52212300 0.00000000 0.00000000 1.1992530 0.00000000 0.00000000 0.53266100 0.00000000 0.00000000 1.3403640 0.00000000 0.00000000 0.00000000 0.02558800 0.00000000 0.2780880 0.00000000 0.00000000 0.00000000 0.98710200 0.00000000 0.0967260 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 121.4083000 0.11691400 0.00000000 34.0152170 0.48355600 0.00000000 10.8691380 0.58838600 0.00000000 5.8031110 0.00000000 0.26019400 2.0580660 0.00000000 0.57977600 0.7328300 0.00000000 0.34055800 A 53 $ IODINE (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 14351.1860000 0.06100300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2173.0741000 0.36664000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 477.8720500 0.69113100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 648.1887000 0.00000000 -0.11285100 0.00000000 0.00000000 0.00000000 0.00000000 140.3064000 0.00000000 0.08322800 0.00000000 0.00000000 0.00000000 0.00000000 45.6988000 0.00000000 0.96975200 0.00000000 0.00000000 0.00000000 0.00000000 56.6946900 0.00000000 0.00000000 -0.27369700 0.00000000 0.00000000 0.00000000 27.4887500 0.00000000 0.00000000 0.04650000 0.00000000 0.00000000 0.00000000 8.2090960 0.00000000 0.00000000 1.09157600 0.00000000 0.00000000 0.00000000 8.1916790 0.00000000 0.00000000 0.00000000 -0.45082800 0.00000000 0.00000000 3.2445960 0.00000000 0.00000000 0.00000000 0.46320900 0.00000000 0.00000000 1.3004890 0.00000000 0.00000000 0.00000000 0.83863600 0.00000000 0.00000000 1.4513800 0.00000000 0.00000000 0.00000000 0.00000000 -0.66585200 0.00000000 0.3281030 0.00000000 0.00000000 0.00000000 0.00000000 1.32858400 0.00000000 0.1150760 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 648.1887000 0.15411400 0.00000000 0.00000000 0.00000000 0.00000000 140.3064000 0.61946200 0.00000000 0.00000000 0.00000000 0.00000000 45.6988000 0.38375800 0.00000000 0.00000000 0.00000000 0.00000000 56.6946900 0.00000000 -0.15232200 0.00000000 0.00000000 0.00000000 27.4887500 0.00000000 0.54376900 0.00000000 0.00000000 0.00000000 8.2090960 0.00000000 0.65616800 0.00000000 0.00000000 0.00000000 8.1916790 0.00000000 0.00000000 0.01187000 0.00000000 0.00000000 3.2445960 0.00000000 0.00000000 0.52652500 0.00000000 0.00000000 1.3004890 0.00000000 0.00000000 0.52660800 0.00000000 0.00000000 1.4513800 0.00000000 0.00000000 0.00000000 0.02754100 0.00000000 0.3281030 0.00000000 0.00000000 0.00000000 0.98513700 0.00000000 0.1150760 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 128.0902600 0.11586400 0.00000000 35.9823780 0.48204900 0.00000000 11.5511160 0.58944500 0.00000000 6.1461520 0.00000000 0.26818200 2.2209370 0.00000000 0.58006100 0.8099120 0.00000000 0.32622600 A 54 $ XENON (15s,12p,6d) -> [6s,5p,3d] $ S-TYPE FUNCTIONS 15 6 0 14902.2360000 0.06099700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2256.5383000 0.36662900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 496.3731700 0.69111500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 673.6611000 0.00000000 -0.11291300 0.00000000 0.00000000 0.00000000 0.00000000 145.8491000 0.00000000 0.08290500 0.00000000 0.00000000 0.00000000 0.00000000 47.5770800 0.00000000 0.97002900 0.00000000 0.00000000 0.00000000 0.00000000 59.1675200 0.00000000 0.00000000 -0.27397700 0.00000000 0.00000000 0.00000000 28.6115900 0.00000000 0.00000000 0.04553000 0.00000000 0.00000000 0.00000000 8.5965960 0.00000000 0.00000000 1.09252800 0.00000000 0.00000000 0.00000000 8.6386760 0.00000000 0.00000000 0.00000000 -0.45584100 0.00000000 0.00000000 3.4628180 0.00000000 0.00000000 0.00000000 0.46173600 0.00000000 0.00000000 1.4010400 0.00000000 0.00000000 0.00000000 0.84428800 0.00000000 0.00000000 1.5784740 0.00000000 0.00000000 0.00000000 0.00000000 -0.72777200 0.00000000 0.3750810 0.00000000 0.00000000 0.00000000 0.00000000 1.36279700 0.00000000 0.1331790 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 12 5 0 673.6611000 0.15442700 0.00000000 0.00000000 0.00000000 0.00000000 145.8491000 0.62061700 0.00000000 0.00000000 0.00000000 0.00000000 47.5770800 0.38200400 0.00000000 0.00000000 0.00000000 0.00000000 59.1675200 0.00000000 -0.15185700 0.00000000 0.00000000 0.00000000 28.6115900 0.00000000 0.54715100 0.00000000 0.00000000 0.00000000 8.5965960 0.00000000 0.65195400 0.00000000 0.00000000 0.00000000 8.6386760 0.00000000 0.00000000 0.00958500 0.00000000 0.00000000 3.4628180 0.00000000 0.00000000 0.52981900 0.00000000 0.00000000 1.4010400 0.00000000 0.00000000 0.52359800 0.00000000 0.00000000 1.5784740 0.00000000 0.00000000 0.00000000 0.02807200 0.00000000 0.3750810 0.00000000 0.00000000 0.00000000 0.98426400 0.00000000 0.1331790 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 2 0 134.9133100 0.11501100 0.00000000 37.9563870 0.48159500 0.00000000 12.2274750 0.58961300 0.00000000 6.6004930 0.00000000 0.27188400 2.3980510 0.00000000 0.58555700 0.8864820 0.00000000 0.31274600 ergo-3.5/basis/cc-pV(Q+d)Z0000664000175000017500000004234512743400275012063 00000000000000$ Basis =cc-pV(Q+d)Z $ $ $Elements supported $ Al Si P S Cl Ar $ $ REFERENCES $Elements References $-------- ---------- $Al - Ar: T.H. Dunning, Jr., K.A. Peterson and A.K. Wilson, $ J. Chem. Phys. 114, 9244 (2001) $ $******************************************************************************* a 13 $ ALUMINUM (16s,11p,4d,2f,1g) -> [6s,5p,4d,2f,1g] $ S-TYPE FUNCTIONS 16 6 0 419600.00000 0.00002782 -0.00000724 0.00000167 0.00000000 0.00000000 0.00000000 62830.00000 0.00021633 -0.00005617 0.00001296 0.00000000 0.00000000 0.00000000 14290.00000 0.00113754 -0.00029653 0.00006851 0.00000000 0.00000000 0.00000000 4038.00000000 0.00479635 -0.00124913 0.00028827 0.00000000 0.00000000 0.00000000 1312.00000000 0.01723890 -0.00455101 0.00105276 0.00000000 0.00000000 0.00000000 470.50000000 0.05380660 -0.01443930 0.00333878 0.00000000 0.00000000 0.00000000 181.80000000 0.14132600 -0.04034640 0.00939217 0.00000000 0.00000000 0.00000000 74.46000000 0.28926800 -0.09226180 0.02160470 0.00000000 0.00000000 0.00000000 31.90000000 0.38482500 -0.16451000 0.03958730 0.00000000 0.00000000 0.00000000 13.96000000 0.23285200 -0.14129600 0.03491800 0.00000000 0.00000000 0.00000000 5.18000000 0.02933300 0.19536500 -0.05284150 0.00000000 0.00000000 0.00000000 2.26500000 -0.00300574 0.57247500 -0.19187800 0.00000000 0.00000000 0.00000000 0.96640000 0.00166673 0.37404100 -0.25411500 0.00000000 0.00000000 0.00000000 0.24470000 -0.00060602 0.02341190 0.27507000 1.00000000 0.00000000 0.00000000 0.11840000 0.00043136 -0.00905197 0.60474300 0.00000000 1.00000000 0.00000000 0.05021000 -0.00012292 0.00211174 0.28762900 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 5 0 891.30000000 0.00049175 -0.00008887 0.00000000 0.00000000 0.00000000 211.30000000 0.00415843 -0.00074582 0.00000000 0.00000000 0.00000000 68.28000000 0.02125380 -0.00387025 0.00000000 0.00000000 0.00000000 25.70000000 0.07640580 -0.01393500 0.00000000 0.00000000 0.00000000 10.63000000 0.19427700 -0.03668600 0.00000000 0.00000000 0.00000000 4.60200000 0.33442800 -0.06277970 0.00000000 0.00000000 0.00000000 2.01500000 0.37502600 -0.07896020 0.00000000 0.00000000 0.00000000 0.87060000 0.20404100 -0.02885890 0.00000000 0.00000000 0.00000000 0.29720000 0.02137380 0.23825600 1.00000000 0.00000000 0.00000000 0.11000000 -0.00202144 0.55136300 0.00000000 1.00000000 0.00000000 0.03989000 0.00081725 0.35438500 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 1.97000000 1.00000000 0.00000000 0.00000000 0.00000000 0.43700000 0.00000000 1.00000000 0.00000000 0.00000000 0.19500000 0.00000000 0.00000000 1.00000000 0.00000000 0.08000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.15400000 1.00000000 0.00000000 0.40100000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.35700000 1.00000000 a 14 $ SILICON (16s,11p,4d,2f,1g) -> [6s,5p,4d,2f,1g] $ S-TYPE FUNCTIONS 16 6 0 513000.00000 0.00002609 -0.00000695 0.00000178 0.00000000 0.00000000 0.00000000 76820.00000 0.00020290 -0.00005396 0.00001381 0.00000000 0.00000000 0.00000000 17470.00000 0.00106715 -0.00028472 0.00007300 0.00000000 0.00000000 0.00000000 4935.00000000 0.00450597 -0.00120203 0.00030767 0.00000000 0.00000000 0.00000000 1602.00000000 0.01623590 -0.00438397 0.00112563 0.00000000 0.00000000 0.00000000 574.10000000 0.05089130 -0.01397760 0.00358435 0.00000000 0.00000000 0.00000000 221.50000000 0.13515500 -0.03935160 0.01017280 0.00000000 0.00000000 0.00000000 90.54000000 0.28129200 -0.09142830 0.02375200 0.00000000 0.00000000 0.00000000 38.74000000 0.38533600 -0.16560900 0.04434830 0.00000000 0.00000000 0.00000000 16.95000000 0.24565100 -0.15250500 0.04190410 0.00000000 0.00000000 0.00000000 6.45200000 0.03431450 0.16852400 -0.05025040 0.00000000 0.00000000 0.00000000 2.87400000 -0.00334884 0.56928400 -0.21657800 0.00000000 0.00000000 0.00000000 1.25000000 0.00187625 0.39805600 -0.28644800 0.00000000 0.00000000 0.00000000 0.35990000 -0.00069333 0.02915090 0.26325600 1.00000000 0.00000000 0.00000000 0.16990000 0.00043831 -0.00848976 0.63490000 0.00000000 1.00000000 0.00000000 0.07066000 -0.00012262 0.00199603 0.29083200 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 5 0 1122.00000000 0.00044814 -0.00009649 0.00000000 0.00000000 0.00000000 266.00000000 0.00381639 -0.00081197 0.00000000 0.00000000 0.00000000 85.92000000 0.01981050 -0.00430087 0.00000000 0.00000000 0.00000000 32.33000000 0.07270170 -0.01575020 0.00000000 0.00000000 0.00000000 13.37000000 0.18983900 -0.04295410 0.00000000 0.00000000 0.00000000 5.80000000 0.33567200 -0.07525740 0.00000000 0.00000000 0.00000000 2.55900000 0.37936500 -0.09714460 0.00000000 0.00000000 0.00000000 1.12400000 0.20119300 -0.02275070 0.00000000 0.00000000 0.00000000 0.39880000 0.02085150 0.29198800 1.00000000 0.00000000 0.00000000 0.15330000 -0.00170258 0.55067000 0.00000000 1.00000000 0.00000000 0.05728000 0.00075005 0.29761800 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 2.64500000 1.00000000 0.00000000 0.00000000 0.00000000 0.60800000 0.00000000 1.00000000 0.00000000 0.00000000 0.27200000 0.00000000 0.00000000 1.00000000 0.00000000 0.11300000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.21200000 1.00000000 0.00000000 0.54100000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.46100000 1.00000000 a 15 $ PHOSPHORUS (16s,11p,4d,2f,1g) -> [6s,5p,4d,2f,1g] $ S-TYPE FUNCTIONS 16 6 0 615200.00000 0.00002475 -0.00000672 0.00000185 0.00000000 0.00000000 0.00000000 92120.00000 0.00019247 -0.00005223 0.00001434 0.00000000 0.00000000 0.00000000 20950.00000 0.00101202 -0.00027536 0.00007572 0.00000000 0.00000000 0.00000000 5920.00000000 0.00427261 -0.00116307 0.00031920 0.00000000 0.00000000 0.00000000 1922.00000000 0.01541610 -0.00424281 0.00116851 0.00000000 0.00000000 0.00000000 688.00000000 0.04859760 -0.01361140 0.00374267 0.00000000 0.00000000 0.00000000 265.00000000 0.13006000 -0.03851140 0.01068170 0.00000000 0.00000000 0.00000000 108.20000000 0.27451400 -0.09066430 0.02526570 0.00000000 0.00000000 0.00000000 46.22000000 0.38540200 -0.16658400 0.04792830 0.00000000 0.00000000 0.00000000 20.23000000 0.25593400 -0.16144700 0.04770960 0.00000000 0.00000000 0.00000000 7.85900000 0.03912370 0.14678100 -0.04665250 0.00000000 0.00000000 0.00000000 3.54700000 -0.00368010 0.56668200 -0.23496800 0.00000000 0.00000000 0.00000000 1.56400000 0.00208211 0.41643300 -0.31133700 0.00000000 0.00000000 0.00000000 0.48880000 -0.00078848 0.03438440 0.25710900 1.00000000 0.00000000 0.00000000 0.22660000 0.00045405 -0.00780638 0.65365500 0.00000000 1.00000000 0.00000000 0.09331000 -0.00012664 0.00192259 0.29421200 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 5 0 1367.00000000 0.00042102 -0.00010083 0.00000000 0.00000000 0.00000000 324.00000000 0.00360985 -0.00085450 0.00000000 0.00000000 0.00000000 104.60000000 0.01892170 -0.00457116 0.00000000 0.00000000 0.00000000 39.37000000 0.07055600 -0.01703270 0.00000000 0.00000000 0.00000000 16.26000000 0.18815700 -0.04752040 0.00000000 0.00000000 0.00000000 7.05600000 0.33870900 -0.08527860 0.00000000 0.00000000 0.00000000 3.13000000 0.38194300 -0.10967600 0.00000000 0.00000000 0.00000000 1.39400000 0.19526100 -0.01611810 0.00000000 0.00000000 0.00000000 0.51790000 0.01994160 0.32289300 1.00000000 0.00000000 0.00000000 0.20320000 -0.00135121 0.54573800 0.00000000 1.00000000 0.00000000 0.07698000 0.00051714 0.26853800 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 3.34300000 1.00000000 0.00000000 0.00000000 0.00000000 0.80700000 0.00000000 1.00000000 0.00000000 0.00000000 0.36500000 0.00000000 0.00000000 1.00000000 0.00000000 0.15400000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.28000000 1.00000000 0.00000000 0.70300000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.59700000 1.00000000 a 16 $ SULFUR (16s,11p,4d,2f,1g) -> [6s,5p,4d,2f,1g] $ S-TYPE FUNCTIONS 16 6 0 727800.00000 0.00002360 -0.00000652 0.00000189 0.00000000 0.00000000 0.00000000 109000.00000 0.00018348 -0.00005066 0.00001469 0.00000000 0.00000000 0.00000000 24800.00000 0.00096428 -0.00026683 0.00007755 0.00000000 0.00000000 0.00000000 7014.00000000 0.00406537 -0.00112601 0.00032651 0.00000000 0.00000000 0.00000000 2278.00000000 0.01469730 -0.00411186 0.00119686 0.00000000 0.00000000 0.00000000 814.70000000 0.04650810 -0.01324540 0.00384799 0.00000000 0.00000000 0.00000000 313.40000000 0.12550800 -0.03770040 0.01105390 0.00000000 0.00000000 0.00000000 127.70000000 0.26843300 -0.08985540 0.02646450 0.00000000 0.00000000 0.00000000 54.48000000 0.38480900 -0.16709800 0.05087710 0.00000000 0.00000000 0.00000000 23.85000000 0.26537200 -0.16935400 0.05300300 0.00000000 0.00000000 0.00000000 9.42800000 0.04373260 0.12782400 -0.04255180 0.00000000 0.00000000 0.00000000 4.29000000 -0.00378807 0.56486200 -0.25085300 0.00000000 0.00000000 0.00000000 1.90900000 0.00218083 0.43176700 -0.33315200 0.00000000 0.00000000 0.00000000 0.62700000 -0.00083694 0.03893980 0.26379600 1.00000000 0.00000000 0.00000000 0.28730000 0.00044809 -0.00730260 0.66684900 0.00000000 1.00000000 0.00000000 0.11720000 -0.00012529 0.00192327 0.28845100 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 5 0 1546.00000000 0.00044118 -0.00011311 0.00000000 0.00000000 0.00000000 366.40000000 0.00377571 -0.00095858 0.00000000 0.00000000 0.00000000 118.40000000 0.01983600 -0.00513471 0.00000000 0.00000000 0.00000000 44.53000000 0.07420630 -0.01926410 0.00000000 0.00000000 0.00000000 18.38000000 0.19732700 -0.05359800 0.00000000 0.00000000 0.00000000 7.96500000 0.35185100 -0.09603330 0.00000000 0.00000000 0.00000000 3.54100000 0.37868700 -0.11818300 0.00000000 0.00000000 0.00000000 1.59100000 0.17093100 0.00923194 0.00000000 0.00000000 0.00000000 0.62050000 0.01515870 0.35884100 1.00000000 0.00000000 0.00000000 0.24200000 0.00006720 0.52581800 0.00000000 1.00000000 0.00000000 0.09014000 0.00040549 0.24887200 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 4.15900000 1.00000000 0.00000000 0.00000000 0.00000000 1.01900000 0.00000000 1.00000000 0.00000000 0.00000000 0.46400000 0.00000000 0.00000000 1.00000000 0.00000000 0.19400000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.33500000 1.00000000 0.00000000 0.86900000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.68300000 1.00000000 a 17 $ CHLORINE (16s,11p,4d,2f,1g) -> [6s,5p,4d,2f,1g] $ S-TYPE FUNCTIONS 16 6 0 834900.00000 0.00002317 -0.00000650 0.00000197 0.00000000 0.00000000 0.00000000 125000.00000 0.00018015 -0.00005049 0.00001526 0.00000000 0.00000000 0.00000000 28430.00000 0.00094778 -0.00026611 0.00008061 0.00000000 0.00000000 0.00000000 8033.00000000 0.00400139 -0.00112499 0.00033996 0.00000000 0.00000000 0.00000000 2608.00000000 0.01446290 -0.00410497 0.00124551 0.00000000 0.00000000 0.00000000 933.90000000 0.04565860 -0.01319870 0.00399612 0.00000000 0.00000000 0.00000000 360.00000000 0.12324800 -0.03753420 0.01147510 0.00000000 0.00000000 0.00000000 147.00000000 0.26436900 -0.08972330 0.02755040 0.00000000 0.00000000 0.00000000 62.88000000 0.38298900 -0.16767100 0.05329170 0.00000000 0.00000000 0.00000000 27.60000000 0.27093400 -0.17476300 0.05712460 0.00000000 0.00000000 0.00000000 11.08000000 0.04714040 0.11490900 -0.03952010 0.00000000 0.00000000 0.00000000 5.07500000 -0.00371766 0.56361800 -0.26434300 0.00000000 0.00000000 0.00000000 2.27800000 0.00219158 0.44160600 -0.34929100 0.00000000 0.00000000 0.00000000 0.77750000 -0.00084985 0.04266970 0.26967100 1.00000000 0.00000000 0.00000000 0.35270000 0.00042466 -0.00667229 0.67607300 0.00000000 1.00000000 0.00000000 0.14310000 -0.00012002 0.00190729 0.28467900 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 5 0 1703.00000000 0.00047404 -0.00012827 0.00000000 0.00000000 0.00000000 403.60000000 0.00406412 -0.00109356 0.00000000 0.00000000 0.00000000 130.30000000 0.02133550 -0.00583429 0.00000000 0.00000000 0.00000000 49.05000000 0.07946110 -0.02192580 0.00000000 0.00000000 0.00000000 20.26000000 0.20892700 -0.06013850 0.00000000 0.00000000 0.00000000 8.78700000 0.36494500 -0.10692900 0.00000000 0.00000000 0.00000000 3.91900000 0.37172500 -0.12245400 0.00000000 0.00000000 0.00000000 1.76500000 0.14629200 0.03836190 0.00000000 0.00000000 0.00000000 0.72070000 0.01079060 0.38525600 1.00000000 0.00000000 0.00000000 0.28390000 0.00117004 0.50726500 0.00000000 1.00000000 0.00000000 0.10600000 0.00033941 0.22721800 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 5.19100000 1.00000000 0.00000000 0.00000000 0.00000000 1.27600000 0.00000000 1.00000000 0.00000000 0.00000000 0.58300000 0.00000000 0.00000000 1.00000000 0.00000000 0.24300000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.42300000 1.00000000 0.00000000 1.08900000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.82700000 1.00000000 a 18 $ ARGON (16s,11p,4d,2f,1g) -> [6s,5p,4d,2f,1g] $ S-TYPE FUNCTIONS 16 6 0 950600.00000 0.00002275 -0.00000646 0.00000202 0.00000000 0.00000000 0.00000000 142300.00000 0.00017694 -0.00005023 0.00001569 0.00000000 0.00000000 0.00000000 32360.00000 0.00093128 -0.00026480 0.00008286 0.00000000 0.00000000 0.00000000 9145.00000000 0.00392860 -0.00111895 0.00034926 0.00000000 0.00000000 0.00000000 2970.00000000 0.01420640 -0.00408276 0.00127976 0.00000000 0.00000000 0.00000000 1064.00000000 0.04481140 -0.01312160 0.00410365 0.00000000 0.00000000 0.00000000 410.80000000 0.12100100 -0.03728550 0.01177890 0.00000000 0.00000000 0.00000000 168.00000000 0.26057900 -0.08947090 0.02838680 0.00000000 0.00000000 0.00000000 71.99000000 0.38136400 -0.16805400 0.05524060 0.00000000 0.00000000 0.00000000 31.67000000 0.27605800 -0.17959400 0.06074920 0.00000000 0.00000000 0.00000000 12.89000000 0.05051790 0.10295300 -0.03620120 0.00000000 0.00000000 0.00000000 5.92900000 -0.00359866 0.56263000 -0.27539800 0.00000000 0.00000000 0.00000000 2.67800000 0.00218798 0.45035500 -0.36284500 0.00000000 0.00000000 0.00000000 0.94160000 -0.00086236 0.04606070 0.27311800 1.00000000 0.00000000 0.00000000 0.42390000 0.00040523 -0.00603691 0.68289900 0.00000000 1.00000000 0.00000000 0.17140000 -0.00011616 0.00188744 0.28341700 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 11 5 0 1890.00000000 0.00049575 -0.00013886 0.00000000 0.00000000 0.00000000 447.80000000 0.00425172 -0.00118870 0.00000000 0.00000000 0.00000000 144.60000000 0.02232770 -0.00632553 0.00000000 0.00000000 0.00000000 54.46000000 0.08308780 -0.02388130 0.00000000 0.00000000 0.00000000 22.51000000 0.21711000 -0.06492380 0.00000000 0.00000000 0.00000000 9.77400000 0.37450700 -0.11544400 0.00000000 0.00000000 0.00000000 4.36800000 0.36644500 -0.12365100 0.00000000 0.00000000 0.00000000 1.95900000 0.12924500 0.06490550 0.00000000 0.00000000 0.00000000 0.82600000 0.00692249 0.40363300 1.00000000 0.00000000 0.00000000 0.32970000 0.00083615 0.49059200 0.00000000 1.00000000 0.00000000 0.12420000 -0.00015267 0.20852800 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 4 4 0 6.31500000 1.00000000 0.00000000 0.00000000 0.00000000 1.56200000 0.00000000 1.00000000 0.00000000 0.00000000 0.71500000 0.00000000 0.00000000 1.00000000 0.00000000 0.29700000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 2 2 0 0.54300000 1.00000000 0.00000000 1.32500000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.00700000 1.00000000 ergo-3.5/basis/cc-pCVDZ0000775000175000017500000005703512743400275011616 00000000000000$Basis = cc-pCVDZ $Elements supported $H He B C N O F Ne Na Mg Al Si P S Cl Ar $ $ REFERENCE $H : T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $B - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Na - Mg: Unofficial set from D. Feller. $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ POLARIZATION AND/OR DIFFUSE FUNCTIONS $Elements References $-------- ---------- $ B - Na: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989) and D. E. Woon and $ T.H. Dunning, Jr. J. Chem. Phys. 103, 4572 (1995). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ ************************************************************************ a 1 $ HYDROGEN (4s,1p) -> [2s,1p] $ S-TYPE FUNCTIONS 4 2 0 13.0100000 0.01968500 0.00000000 1.9620000 0.13797700 0.00000000 0.4446000 0.47814800 0.00000000 0.1220000 0.50124000 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 0.7270000 1.00000000 a 2 $ HELIUM (4s,1p) -> [2s,1p] $ S-TYPE FUNCTIONS 4 2 0 38.3600000 0.02380900 0.00000000 5.7700000 0.15489100 0.00000000 1.2400000 0.46998700 0.00000000 0.2976000 0.51302700 1.00000000 $ P-TYPE FUNCTIONS 1 1 0 1.2750000 1.00000000 a 5 $ BORON (9s,4p,1d) -> [3s,2p,1d] $ BORON Tight (1s,1p) $ S-TYPE FUNCTIONS 10 4 0 4570.0000000 0.00069600 -0.00013900 0.00000000 0.00000000 685.9000000 0.00535300 -0.00109700 0.00000000 0.00000000 156.5000000 0.02713400 -0.00544400 0.00000000 0.00000000 44.4700000 0.10138000 -0.02191600 0.00000000 0.00000000 14.4800000 0.27205500 -0.05975100 0.00000000 0.00000000 5.1310000 0.44840300 -0.13873200 0.00000000 0.00000000 1.8980000 0.29012300 -0.13148200 0.00000000 0.00000000 0.3329000 0.01432200 0.53952600 0.00000000 0.00000000 0.1043000 -0.00348600 0.58077400 1.00000000 0.00000000 3.0660000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 6.0010000 0.03548100 0.00000000 0.00000000 1.2410000 0.19807200 0.00000000 0.00000000 0.3364000 0.50523000 0.00000000 0.00000000 0.0953800 0.47949900 1.00000000 0.00000000 9.9400000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.3430000 1.00000000 a 6 $ CARBON (9s,4p,1d) -> [3s,2p,1d] $ CARBON Tight (1s,1p) $ S-TYPE FUNCTIONS 10 4 0 6665.0000000 0.00069200 -0.00014600 0.00000000 0.00000000 1000.0000000 0.00532900 -0.00115400 0.00000000 0.00000000 228.0000000 0.02707700 -0.00572500 0.00000000 0.00000000 64.7100000 0.10171800 -0.02331200 0.00000000 0.00000000 21.0600000 0.27474000 -0.06395500 0.00000000 0.00000000 7.4950000 0.44856400 -0.14998100 0.00000000 0.00000000 2.7970000 0.28507400 -0.12726200 0.00000000 0.00000000 0.5215000 0.01520400 0.54452900 0.00000000 0.00000000 0.1596000 -0.00319100 0.58049600 1.00000000 0.00000000 4.5300000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 9.4390000 0.03810900 0.00000000 0.00000000 2.0020000 0.20948000 0.00000000 0.00000000 0.5456000 0.50855700 0.00000000 0.00000000 0.1517000 0.46884200 1.00000000 0.00000000 14.5570000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.5500000 1.00000000 a 7 $ NITROGEN (9s,4p,1d) -> [3s,2p,1d] $ NITROGEN Tight (1s,1p) $ S-TYPE FUNCTIONS 10 4 0 9046.0000000 0.00070000 -0.00015300 0.00000000 0.00000000 1357.0000000 0.00538900 -0.00120800 0.00000000 0.00000000 309.3000000 0.02740600 -0.00599200 0.00000000 0.00000000 87.7300000 0.10320700 -0.02454400 0.00000000 0.00000000 28.5600000 0.27872300 -0.06745900 0.00000000 0.00000000 10.2100000 0.44854000 -0.15807800 0.00000000 0.00000000 3.8380000 0.27823800 -0.12183100 0.00000000 0.00000000 0.7466000 0.01544000 0.54900300 0.00000000 0.00000000 0.2248000 -0.00286400 0.57881500 1.00000000 0.00000000 6.2330000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 13.5500000 0.03991900 0.00000000 0.00000000 2.9170000 0.21716900 0.00000000 0.00000000 0.7973000 0.51031900 0.00000000 0.00000000 0.2185000 0.46221400 1.00000000 0.00000000 19.9770000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 0.8170000 1.00000000 a 8 $ OXYGEN (9s,4p,1d) -> [3s,2p,1d] $ OXYGEN Tight (1s,1p) $ S-TYPE FUNCTIONS 10 4 0 11720.0000000 0.00071000 -0.00016000 0.00000000 0.00000000 1759.0000000 0.00547000 -0.00126300 0.00000000 0.00000000 400.8000000 0.02783700 -0.00626700 0.00000000 0.00000000 113.7000000 0.10480000 -0.02571600 0.00000000 0.00000000 37.0300000 0.28306200 -0.07092400 0.00000000 0.00000000 13.2700000 0.44871900 -0.16541100 0.00000000 0.00000000 5.0250000 0.27095200 -0.11695500 0.00000000 0.00000000 1.0130000 0.01545800 0.55736800 0.00000000 0.00000000 0.3023000 -0.00258500 0.57275900 1.00000000 0.00000000 8.2150000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 17.7000000 0.04301800 0.00000000 0.00000000 3.8540000 0.22891300 0.00000000 0.00000000 1.0460000 0.50872800 0.00000000 0.00000000 0.2753000 0.46053100 1.00000000 0.00000000 26.0560000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.1850000 1.00000000 a 9 $ FLUORINE (9s,4p,1d) -> [3s,2p,1d] $ FLUORINE Tight (1s,1p) $ S-TYPE FUNCTIONS 10 4 0 14710.0000000 0.00072100 -0.00016500 0.00000000 0.00000000 2207.0000000 0.00555300 -0.00130800 0.00000000 0.00000000 502.8000000 0.02826700 -0.00649500 0.00000000 0.00000000 142.6000000 0.10644400 -0.02669100 0.00000000 0.00000000 46.4700000 0.28681400 -0.07369000 0.00000000 0.00000000 16.7000000 0.44864100 -0.17077600 0.00000000 0.00000000 6.3560000 0.26476100 -0.11232700 0.00000000 0.00000000 1.3160000 0.01533300 0.56281400 0.00000000 0.00000000 0.3897000 -0.00233200 0.56877800 1.00000000 0.00000000 10.4260000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 22.6700000 0.04487800 0.00000000 0.00000000 4.9770000 0.23571800 0.00000000 0.00000000 1.3470000 0.50852100 0.00000000 0.00000000 0.3471000 0.45812000 1.00000000 0.00000000 32.8300000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 1.6400000 1.00000000 a 10 $ NEON (9s,4p,1d) -> [3s,2p,1d] $ NEON Tight (1s,1p) $ S-TYPE FUNCTIONS 10 4 0 17880.0000000 0.00073800 -0.00017200 0.00000000 0.00000000 2683.0000000 0.00567700 -0.00135700 0.00000000 0.00000000 611.5000000 0.02888300 -0.00673700 0.00000000 0.00000000 173.5000000 0.10854000 -0.02766300 0.00000000 0.00000000 56.6400000 0.29090700 -0.07620800 0.00000000 0.00000000 20.4200000 0.44832400 -0.17522700 0.00000000 0.00000000 7.8100000 0.25802600 -0.10703800 0.00000000 0.00000000 1.6530000 0.01506300 0.56705000 0.00000000 0.00000000 0.4869000 -0.00210000 0.56521600 1.00000000 0.00000000 12.8540000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 5 3 0 28.3900000 0.04608700 0.00000000 0.00000000 6.2700000 0.24018100 0.00000000 0.00000000 1.6950000 0.50874400 0.00000000 0.00000000 0.4317000 0.45566000 1.00000000 0.00000000 40.1840000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 1 1 0 2.2020000 1.00000000 a 11 $ SODIUM (12s,8p,1d) -> [4s,3p,1d] $ SODIUM Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 31700.00000 0.00045888 -0.00011216 0.00001702 0.00000000 0.00000000 4755.00000000 0.00355070 -0.00086851 0.00013069 0.00000000 0.00000000 1082.00000000 0.01826180 -0.00451330 0.00068778 0.00000000 0.00000000 306.40000000 0.07166500 -0.01814360 0.00272359 0.00000000 0.00000000 99.53000000 0.21234600 -0.05807990 0.00895529 0.00000000 0.00000000 35.42000000 0.41620300 -0.13765300 0.02078320 0.00000000 0.00000000 13.30000000 0.37302000 -0.19390800 0.03193800 0.00000000 0.00000000 4.39200000 0.06250540 0.08580090 -0.01913680 0.00000000 0.00000000 1.67600000 -0.00624532 0.60441900 -0.10259500 0.00000000 0.00000000 0.58890000 0.00243374 0.44171900 -0.19894500 0.00000000 0.00000000 0.05640000 -0.00044238 0.01305470 0.65595200 0.00000000 0.00000000 0.02307000 0.00024192 -0.00568085 0.43115300 1.00000000 0.00000000 0.70400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 138.10000000 0.00579641 -0.00058153 0.00000000 0.00000000 32.24000000 0.04157560 -0.00407306 0.00000000 0.00000000 9.98500000 0.16287300 -0.01679370 0.00000000 0.00000000 3.48400000 0.35940100 -0.03532680 0.00000000 0.00000000 1.23100000 0.44998800 -0.05219710 0.00000000 0.00000000 0.41770000 0.22750700 -0.01683590 0.00000000 0.00000000 0.06513000 0.00808247 0.43461300 0.00000000 0.00000000 0.02053000 -0.00196293 0.65821800 1.00000000 0.00000000 0.76100000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.97300000 1.00000000 0.00000000 2.94900000 0.00000000 1.00000000 a 12 $ MAGNESIUM (12s,8p,1d) -> [4s,3p,1d] $ MAGNESIUM Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 47390.00000 0.00034602 -0.00008778 0.00001696 0.00000000 0.00000000 7108.00000000 0.00268077 -0.00067473 0.00012987 0.00000000 0.00000000 1618.00000000 0.01383670 -0.00355603 0.00068883 0.00000000 0.00000000 458.40000000 0.05517670 -0.01421540 0.00273533 0.00000000 0.00000000 149.30000000 0.16966000 -0.04767480 0.00931224 0.00000000 0.00000000 53.59000000 0.36470300 -0.11489200 0.02232650 0.00000000 0.00000000 20.70000000 0.40685600 -0.20067600 0.04111950 0.00000000 0.00000000 8.38400000 0.13508900 -0.03412240 0.00545642 0.00000000 0.00000000 2.54200000 0.00490884 0.57045400 -0.13401200 0.00000000 0.00000000 0.87870000 0.00028646 0.54230900 -0.25617600 0.00000000 0.00000000 0.10770000 0.00002646 0.02181280 0.60585600 0.00000000 0.00000000 0.03999000 -0.00001127 -0.00827700 0.50944600 1.00000000 0.00000000 3.42200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 179.90000000 0.00538161 -0.00086595 0.00000000 0.00000000 42.14000000 0.03924180 -0.00615978 0.00000000 0.00000000 13.13000000 0.15744500 -0.02615190 0.00000000 0.00000000 4.62800000 0.35853500 -0.05706470 0.00000000 0.00000000 1.67000000 0.45722600 -0.08739060 0.00000000 0.00000000 0.58570000 0.21591800 -0.01229900 0.00000000 0.00000000 0.13110000 0.00664948 0.50208500 0.00000000 0.00000000 0.04112000 -0.00012530 0.59724500 1.00000000 0.00000000 8.27900000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.18700000 1.00000000 0.00000000 3.70400000 0.00000000 1.00000000 a 13 $ ALUMINUM (12s,8p,1d) -> [4s,3p,1d] $ ALUMINUM Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 64150.00000 0.00029025 -0.00007580 0.00001751 0.00000000 0.00000000 9617.00000000 0.00225064 -0.00058179 0.00013421 0.00000000 0.00000000 2189.00000000 0.01164590 -0.00308113 0.00071244 0.00000000 0.00000000 620.50000000 0.04673770 -0.01231120 0.00284330 0.00000000 0.00000000 202.70000000 0.14629900 -0.04197810 0.00976842 0.00000000 0.00000000 73.15000000 0.33028300 -0.10337100 0.02418500 0.00000000 0.00000000 28.55000000 0.41586100 -0.19630800 0.04749930 0.00000000 0.00000000 11.77000000 0.18925300 -0.08300020 0.02036210 0.00000000 0.00000000 3.30000000 0.01158890 0.54104000 -0.15878800 0.00000000 0.00000000 1.17300000 -0.00128385 0.57879600 -0.31169400 0.00000000 0.00000000 0.17520000 0.00042588 0.02881470 0.62014700 0.00000000 0.00000000 0.06473000 -0.00019928 -0.00953795 0.52094300 1.00000000 0.00000000 4.03000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 258.80000000 0.00406847 -0.00074805 0.00000000 0.00000000 60.89000000 0.03068150 -0.00545796 0.00000000 0.00000000 19.14000000 0.12914900 -0.02453710 0.00000000 0.00000000 6.88100000 0.32083100 -0.05821380 0.00000000 0.00000000 2.57400000 0.45381500 -0.09837560 0.00000000 0.00000000 0.95720000 0.27506600 -0.02600640 0.00000000 0.00000000 0.20990000 0.01908070 0.46402000 0.00000000 0.00000000 0.05986000 -0.00312848 0.64887000 1.00000000 0.00000000 1.52900000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.18900000 1.00000000 0.00000000 4.72500000 0.00000000 1.00000000 a 14 $ SILICON (12s,8p,1d) -> [4s,3p,1d] $ SILICON Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 78860.00000 0.00027044 -0.00007232 0.00001851 0.00000000 0.00000000 11820.00000 0.00209717 -0.00055512 0.00014224 0.00000000 0.00000000 2692.00000000 0.01085060 -0.00293805 0.00075219 0.00000000 0.00000000 763.40000000 0.04367540 -0.01176870 0.00302279 0.00000000 0.00000000 249.60000000 0.13765300 -0.04029070 0.01036770 0.00000000 0.00000000 90.28000000 0.31664400 -0.10060900 0.02625630 0.00000000 0.00000000 35.29000000 0.41858100 -0.19652800 0.05239890 0.00000000 0.00000000 14.51000000 0.21021200 -0.10238200 0.02909590 0.00000000 0.00000000 4.05300000 0.01449520 0.52719000 -0.17800300 0.00000000 0.00000000 1.48200000 -0.00203590 0.59325100 -0.34687400 0.00000000 0.00000000 0.25170000 0.00062419 0.03326520 0.62302000 0.00000000 0.00000000 0.09243000 -0.00028287 -0.00973662 0.53771200 1.00000000 0.00000000 4.95900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 315.90000000 0.00392656 -0.00085830 0.00000000 0.00000000 74.42000000 0.02988110 -0.00630328 0.00000000 0.00000000 23.48000000 0.12721200 -0.02882550 0.00000000 0.00000000 8.48800000 0.32094300 -0.06945600 0.00000000 0.00000000 3.21700000 0.45542900 -0.11949300 0.00000000 0.00000000 1.22900000 0.26856300 -0.01995810 0.00000000 0.00000000 0.29640000 0.01883360 0.51026800 0.00000000 0.00000000 0.08768000 -0.00262431 0.60038200 1.00000000 0.00000000 1.99800000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.27500000 1.00000000 0.00000000 5.80600000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (12s,8p,1d) -> [4s,3p,1d] $ PHOSPHORUS Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 94840.00000 0.00025551 -0.00006969 0.00001912 0.00000000 0.00000000 14220.00000 0.00198193 -0.00053527 0.00014722 0.00000000 0.00000000 3236.00000000 0.01027600 -0.00283709 0.00077791 0.00000000 0.00000000 917.10000000 0.04148230 -0.01139830 0.00314546 0.00000000 0.00000000 299.50000000 0.13198400 -0.03929290 0.01082000 0.00000000 0.00000000 108.10000000 0.30866200 -0.09963640 0.02799570 0.00000000 0.00000000 42.18000000 0.42064700 -0.19798300 0.05639780 0.00000000 0.00000000 17.28000000 0.22287800 -0.11486000 0.03581900 0.00000000 0.00000000 4.85800000 0.01640350 0.51859500 -0.19338700 0.00000000 0.00000000 1.81800000 -0.00254255 0.60184700 -0.37209700 0.00000000 0.00000000 0.33720000 0.00074805 0.03686120 0.62424600 0.00000000 0.00000000 0.12320000 -0.00033096 -0.00970759 0.55172100 1.00000000 0.00000000 5.97700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 370.50000000 0.00395005 -0.00095983 0.00000000 0.00000000 87.33000000 0.03024920 -0.00711177 0.00000000 0.00000000 27.59000000 0.12955400 -0.03271220 0.00000000 0.00000000 10.00000000 0.32759400 -0.07957840 0.00000000 0.00000000 3.82500000 0.45699200 -0.13501600 0.00000000 0.00000000 1.49400000 0.25308600 -0.00910585 0.00000000 0.00000000 0.39210000 0.01687980 0.53780200 0.00000000 0.00000000 0.11860000 -0.00207093 0.56906600 1.00000000 0.00000000 2.52400000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.37300000 1.00000000 0.00000000 7.02000000 0.00000000 1.00000000 a 16 $ SULFUR (12s,8p,1d) -> [4s,3p,1d] $ SULFUR Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 110800.00000 0.00024764 -0.00006870 0.00001991 0.00000000 0.00000000 16610.00000 0.00192026 -0.00052768 0.00015348 0.00000000 0.00000000 3781.00000000 0.00996192 -0.00279671 0.00080950 0.00000000 0.00000000 1071.00000000 0.04029750 -0.01126510 0.00328974 0.00000000 0.00000000 349.80000000 0.12860400 -0.03888340 0.01129670 0.00000000 0.00000000 126.30000000 0.30348000 -0.09950250 0.02963850 0.00000000 0.00000000 49.26000000 0.42143200 -0.19974000 0.05998510 0.00000000 0.00000000 20.16000000 0.23078100 -0.12336000 0.04132480 0.00000000 0.00000000 5.72000000 0.01789710 0.51319400 -0.20747400 0.00000000 0.00000000 2.18200000 -0.00297516 0.60712000 -0.39288900 0.00000000 0.00000000 0.43270000 0.00084952 0.03967530 0.63284000 0.00000000 0.00000000 0.15700000 -0.00036794 -0.00946864 0.55692400 1.00000000 0.00000000 7.08300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 399.70000000 0.00447541 -0.00116251 0.00000000 0.00000000 94.19000000 0.03417080 -0.00865664 0.00000000 0.00000000 29.75000000 0.14425000 -0.03908860 0.00000000 0.00000000 10.77000000 0.35392800 -0.09346250 0.00000000 0.00000000 4.11900000 0.45908500 -0.14799400 0.00000000 0.00000000 1.62500000 0.20638300 0.03019040 0.00000000 0.00000000 0.47260000 0.01021410 0.56157300 0.00000000 0.00000000 0.14070000 -0.00006031 0.53477600 1.00000000 0.00000000 3.08900000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.47900000 1.00000000 0.00000000 8.36300000 0.00000000 1.00000000 a 17 $ CHLORINE (12s,8p,1d) -> [4s,3p,1d] $ CHLORINE Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 127900.00000 0.00024115 -0.00006789 0.00002050 0.00000000 0.00000000 19170.00000 0.00187095 -0.00052184 0.00015830 0.00000000 0.00000000 4363.00000000 0.00970827 -0.00276513 0.00083364 0.00000000 0.00000000 1236.00000000 0.03931530 -0.01115370 0.00339880 0.00000000 0.00000000 403.60000000 0.12593200 -0.03859190 0.01167380 0.00000000 0.00000000 145.70000000 0.29934100 -0.09948480 0.03096220 0.00000000 0.00000000 56.81000000 0.42188600 -0.20139200 0.06295330 0.00000000 0.00000000 23.23000000 0.23720100 -0.13031300 0.04602570 0.00000000 0.00000000 6.64400000 0.01915310 0.50944300 -0.21931200 0.00000000 0.00000000 2.57500000 -0.00334792 0.61072500 -0.40877300 0.00000000 0.00000000 0.53710000 0.00092988 0.04215490 0.63846500 0.00000000 0.00000000 0.19380000 -0.00039638 -0.00923427 0.56236200 1.00000000 0.00000000 8.27300000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 417.60000000 0.00525982 -0.00143570 0.00000000 0.00000000 98.33000000 0.03983320 -0.01077960 0.00000000 0.00000000 31.04000000 0.16465500 -0.04700750 0.00000000 0.00000000 11.19000000 0.38732200 -0.11103000 0.00000000 0.00000000 4.24900000 0.45707200 -0.15327500 0.00000000 0.00000000 1.62400000 0.15163600 0.08946090 0.00000000 0.00000000 0.53220000 0.00181615 0.57944400 0.00000000 0.00000000 0.16200000 0.00188296 0.48327200 1.00000000 0.00000000 3.69700000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.60000000 1.00000000 0.00000000 9.84400000 0.00000000 1.00000000 a 18 $ ARGON (12s,8p,1d) -> [4s,3p,1d] $ ARGON Tight (1s,1p,1d) $ S-TYPE FUNCTIONS 13 5 0 145700.00000 0.00023670 -0.00006749 0.00002105 0.00000000 0.00000000 21840.00000 0.00183523 -0.00051852 0.00016257 0.00000000 0.00000000 4972.00000000 0.00952860 -0.00274825 0.00085546 0.00000000 0.00000000 1408.00000000 0.03862830 -0.01110070 0.00349745 0.00000000 0.00000000 459.70000000 0.12408100 -0.03848200 0.01201560 0.00000000 0.00000000 165.90000000 0.29647100 -0.09975990 0.03213680 0.00000000 0.00000000 64.69000000 0.42206800 -0.20308800 0.06552790 0.00000000 0.00000000 26.44000000 0.24171100 -0.13560800 0.04993700 0.00000000 0.00000000 7.62800000 0.02005090 0.50719500 -0.22976900 0.00000000 0.00000000 2.99600000 -0.00361000 0.61289800 -0.42100600 0.00000000 0.00000000 0.65040000 0.00097561 0.04429680 0.64233100 0.00000000 0.00000000 0.23370000 -0.00041132 -0.00899278 0.56754000 1.00000000 0.00000000 9.54800000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 4 0 453.70000000 0.00570555 -0.00160655 0.00000000 0.00000000 106.80000000 0.04304600 -0.01217140 0.00000000 0.00000000 33.73000000 0.17659100 -0.05207890 0.00000000 0.00000000 12.13000000 0.40686300 -0.12373700 0.00000000 0.00000000 4.59400000 0.45254900 -0.15161900 0.00000000 0.00000000 1.67800000 0.12280100 0.14242500 0.00000000 0.00000000 0.59090000 -0.00445996 0.58450100 0.00000000 0.00000000 0.18520000 0.00205225 0.43754000 1.00000000 0.00000000 4.36100000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 0.73800000 1.00000000 0.00000000 11.45900000 0.00000000 1.00000000 ergo-3.5/basis/ECP_pseudo0000664000175000017500000017714212743400275012272 00000000000000********************************************************************** * * * Effective Core Potentials * * Pseudo basis set for core electrons * * * ********************************************************************** ********************************************************************** * Hydrogen atom * ********************************************************************** X 1 * ********************************************************************** * Helium atom * ********************************************************************** X 2 * ********************************************************************** * Lithium atom * * LI, Q=1., SEFIT,DF, P.FUENTEALBA, DISSERTATION 1984 * * ECP-SDF-1VE LITHIUM * ********************************************************************** A 3 * 2 2 1 2 1.000000000000 0.000000000000 1 2 1.276000000000 5.786000000000 1 2 1.607000000000 -1.065000000000 * ********************************************************************** * Berylium atom * * BE, Q=2., SEFIT,DF, G.IGEL-MANN, MOL.PHYS. 65, 1321 (1988) * * ECP-SDF-2VE BERYLLIUM * ********************************************************************** A 4 * 2 2 1 2 1.000000000000 0.000000000000 1 2 2.653000000000 13.325000000000 1 2 3.120000000000 -1.574000000000 * ********************************************************************** * Boron atom * * B ECP ECP2MWB Q=3., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-3VE BORON * ********************************************************************** A 5 * 3 2 1 2 1.000000000000 0.000000000000 1 2 4.506100000000 23.992960000000 1 2 5.229500000000 -1.766724000000 1 2 0.010800000000 -0.001754000000 * ********************************************************************** * Carbon atom * * C ECP ECP2MWB Q=4., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-4VE CARBON * ********************************************************************** A 6 * 3 2 1 2 1.000000000000 0.000000000000 1 2 6.401052000000 33.121638000000 1 2 7.307747000000 -1.986257000000 1 2 5.961796000000 -9.454318000000 * ********************************************************************** * Nitrogen atom * * N Q=5., ECP ECP2MWB MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-5VE NITROGEN * ********************************************************************** A 7 * 3 2 1 2 1.000000000000 0.000000000000 1 2 7.977232000000 38.533831000000 1 2 10.183854000000 -2.550810000000 1 2 11.559947000000 -2.995545000000 * ********************************************************************** * Oxygen atom * * O ECP ECP2MWB Q=6., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-6VE OXYGEN * ********************************************************************** A 8 * 3 2 1 2 1.000000000000 0.000000000000 1 2 10.445670000000 50.771069000000 1 2 18.045174000000 -4.903551000000 1 2 8.164798000000 -3.312124000000 * ********************************************************************** * Fluorine atom * * F, Q=7., MEFIT,WB, M.DOLG, DISSERTATION 1989 (MolPhys 1993) * * ECP-MWB-7VE FLUORINE * ********************************************************************** A 9 * 3 2 1 2 1.000000000000 0.000000000000 2 2 22.350400000000 102.597952000000 2 11.175200000000 19.049663000000 2 2 26.476800000000 -15.143960000000 2 13.238400000000 2.802921000000 1 2 0.031600000000 -0.001863000000 * ********************************************************************** * Neon atom * * Ne,Q=8, MEFIT,MWB, A.Nicklass, Diplom Thesis, 1990 * * ECP-MWB-8VE NEON * ********************************************************************** A 10 * 3 2 1 2 1.000000000000 0.000000000000 2 2 31.860162000000 112.525435660000 2 12.362219000000 28.300834540000 2 2 21.508034000000 -11.126585430000 2 12.910447000000 3.387549190000 1 2 0.850385000000 -0.184089210000 * ********************************************************************** * Sodium atom * * NA, Q=1., SEFIT,DF, P.FUENTEALBA, DISSERTATION 1984 * * ECP-SDF-1VE SODIUM * ********************************************************************** A 11 * 3 10 1 2 1.000000000000 0.000000000000 1 2 1.378000000000 10.839000000000 1 2 0.663900000000 2.303000000000 1 2 0.924900000000 -1.777000000000 * ********************************************************************** * Magnesium atom * * MG, Q=2, SEFIT,DF, P.FUENTEALBA, DISSERTATION 1984 * * ECP-SDF-2VE MAGNESIUM * ********************************************************************** A 12 * 3 10 1 2 1.000000000000 0.000000000000 1 2 1.732000000000 14.676000000000 1 2 1.115000000000 5.175700000000 1 2 1.203000000000 -1.816000000000 * ********************************************************************** * Aluminum atom * ********************************************************************** X 13 * ********************************************************************** * Silicon atom * * SI ECP ECP10MWB Q=4., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-4VE SILICON * ********************************************************************** A 14 * 3 10 1 2 1.000000000000 0.000000000000 1 2 2.713622000000 26.623319000000 1 2 1.966880000000 10.929954000000 1 2 2.710016000000 -4.669412000000 * ********************************************************************** * Phosphorus atom * * P ECP ECP10MWB Q=5., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-5VE PHOSPHORUS * ********************************************************************** A 15 * 3 10 1 2 1.000000000000 0.000000000000 1 2 2.940560000000 26.532261000000 1 2 2.227713000000 11.497210000000 1 2 5.661706000000 -16.772780000000 * ********************************************************************** * Sulphur atom * * S ECP ECP10MWB Q=6., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-6VE SULFUR * ********************************************************************** A 16 * 3 10 1 2 1.000000000000 0.000000000000 1 2 3.743892000000 37.974819000000 1 2 3.086087000000 18.790529000000 1 2 4.862414000000 -7.837964000000 * ********************************************************************** * Chlorine atom * * CL, Q=7., MEFIT,WB, Mol Phys 1993 * * M.DOLG, DISSERTATION, Universitaet Stuttgart, 1989. * * ECP-MWB-7VE CHLORINE * ********************************************************************** A 17 * 3 10 1 2 1.000000000000 0.000000000000 2 2 6.394300000000 33.136632000000 2 3.197100000000 16.270728000000 2 2 5.620700000000 24.416993000000 2 2.810300000000 7.683050000000 1 2 5.338100000000 -8.587649000000 * ********************************************************************** * Argon atom * * Ar,Q=8, MEFIT,MWB, * * A.Nicklass, Diplom Thesis, Universitaet Stuttgart, 1990. * * ECP-MWB-8VE ARGON * ********************************************************************** A 18 * 4 10 1 2 1.000000000000 0.000000000000 2 2 10.261721000000 68.667788010000 2 3.952725000000 24.042766290000 2 2 5.392714000000 27.730763310000 2 2.699967000000 4.045459040000 2 2 8.086235000000 -8.137476960000 2 4.016632000000 -1.664528080000 1 2 5.208459000000 -3.400098450000 * ********************************************************************** * Potassium atom * * MWB-9ve-ECP A.Bergner 1990 * * ECP-MWB-9VE POTASSIUM * ********************************************************************** A 19 * 4 10 1 2 1.000000000000 0.000000000000 1 2 6.843806920000 92.252639160000 1 2 4.217857010000 23.498034790000 1 2 6.497536520000 -7.315420420000 1 2 6.123613020000 -3.858319890000 * ********************************************************************** * Calcium atom * * MEFIT WB M. KAUPP 1989, 10ve-ECPs * * M.Kaupp,PvR Schleyer,H.Stoll,H.Preuss, J.Chem.Phys 1991,94,1360. * * ECP-MWB-10VE CALCIUM * ********************************************************************** A 20 * 4 10 1 2 1.000000000000 0.000000000000 2 2 11.231672500000 138.785174300000 2 4.671960020000 16.504244080000 2 2 11.156907300000 83.123664450000 2 4.810141100000 13.502271900000 2 2 13.754728400000 -16.201965200000 2 4.762469790000 -1.132389800000 1 2 12.765845600000 -26.728178070000 * ********************************************************************** * Scandium atom * * SC, Q=11., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MHF-11VE SCANDIUM * ********************************************************************** A 21 * 3 10 1 2 1.000000000000 0.000000000000 2 2 11.500000000000 139.523747000000 2 5.184000000000 15.550151800000 2 2 10.930000000000 83.160469800000 2 4.581000000000 8.651590360000 2 2 13.470000000000 -16.145843000000 2 4.375000000000 -0.525652720000 * ********************************************************************** * Titanium atom * * TI, Q=12, MEFIT,R, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MDF-12VE TITANIUM * ********************************************************************** A 22 * 3 10 1 2 1.000000000000 0.000000000000 2 2 13.010000000000 158.241593000000 2 5.862000000000 17.511823900000 2 2 12.460000000000 95.235126800000 2 5.217000000000 10.047856000000 2 2 15.350000000000 -17.568861200000 2 4.980000000000 -0.587256120000 * ********************************************************************** * Vanadium atom * * V, Q=13., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MHF-13VE VANADIUM * ********************************************************************** A 23 * 3 10 1 2 1.000000000000 0.000000000000 2 2 14.490000000000 179.975131000000 2 6.524000000000 20.967278600000 2 2 14.300000000000 110.695103000000 2 6.021000000000 12.735379500000 2 2 17.480000000000 -18.760118700000 2 5.709000000000 -0.721823220000 * ********************************************************************** * Chromium atom * * CR, Q=14., MEFIT,HF, M.DOLG, J.CHEM.PHYS.86, 866 (1986) * * ECP-MHF-14VE CHROMIUM * ********************************************************************** A 24 * 3 10 1 2 1.000000000000 0.000000000000 2 2 16.390000000000 203.163873000000 2 7.402000000000 25.757197700000 2 2 16.450000000000 126.490042000000 2 6.962000000000 16.721504000000 2 2 19.930000000000 -20.201922000000 2 6.598000000000 -0.939332930000 * ********************************************************************** * Manganese atom * * MN, Q=15., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MHF-15VE MANGANESE * ********************************************************************** A 25 * 3 10 1 2 1.000000000000 0.000000000000 2 2 18.520000000000 228.350222000000 2 8.373000000000 32.302067000000 2 2 18.920000000000 143.986607000000 2 8.017000000000 21.888288900000 2 2 22.720000000000 -21.723501300000 2 7.640000000000 -1.345103620000 * ********************************************************************** * Iron atom * * FE, Q=16., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MHF-16VE IRON * ********************************************************************** A 26 * 3 10 1 2 1.000000000000 0.000000000000 2 2 20.930000000000 255.739998000000 2 9.445000000000 40.465351000000 2 2 21.760000000000 163.312147000000 2 9.178000000000 28.147568100000 2 2 25.900000000000 -23.291918200000 2 8.835000000000 -1.618081090000 * ********************************************************************** * Cobalt atom * * CO, Q=17., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1986) * * ECP-MHF-17VE COBALT * ********************************************************************** A 27 * 3 10 1 2 1.000000000000 0.000000000000 2 2 23.660000000000 285.897590000000 2 10.610000000000 50.457240300000 2 2 25.040000000000 185.022059000000 2 10.440000000000 35.924631200000 2 2 29.540000000000 -24.948768800000 2 10.180000000000 -2.066192290000 * ********************************************************************** * Nickel atom * * NI, Q=18., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MHF-18VE NICKEL * ********************************************************************** A 28 * 3 10 1 2 1.000000000000 0.000000000000 2 2 26.740000000000 319.348892000000 2 11.860000000000 62.508143400000 2 2 28.800000000000 209.588481000000 2 11.790000000000 44.922870900000 2 2 33.700000000000 -26.724425900000 2 11.660000000000 -2.573495510000 * ********************************************************************** * Copper atom * * CU, Q=20., MEFIT,HF, M.DOLG, J.CHEM.PHYS. 86, 866 (1987) * * ECP-MHF-19VE COPPER * ********************************************************************** A 29 * 3 10 1 2 1.000000000000 0.000000000000 2 2 30.220000000000 356.958083000000 2 13.190000000000 76.256401500000 2 2 33.130000000000 238.161656000000 2 13.220000000000 55.193706900000 2 2 38.420000000000 -28.623080300000 2 13.260000000000 -3.125770850000 * ********************************************************************** * Zinc atom * * ZN, Q=2., MEFIT,WB J.Comp.Chem.1990,11,1029 * * ECP-MWB-2VE ZINC * ********************************************************************** A 30 * 3 28 1 2 1.000000000000 0.000000000000 2 2 1.498800000000 18.316720000000 2 0.749000000000 -3.405011000000 2 2 1.532800000000 11.464300000000 2 0.787100000000 -1.327391000000 2 2 0.750300000000 1.583946000000 2 0.374800000000 0.333347600000 * ********************************************************************** * Gallium atom * * GA ECP ECP28MWB Q=3., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-3VE GALLIUM * ********************************************************************** A 31 * 4 28 1 2 1.000000000000 0.000000000000 1 2 5.215960000000 203.853972000000 1 2 4.308904000000 156.103390000000 1 2 0.496357000000 1.031647000000 1 2 1.715170000000 -10.673735000000 * ********************************************************************** * Germanium atom * * GE ECP ECP28MWB Q=4., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-4VE GERMANIUM * ********************************************************************** A 32 * 4 28 1 2 1.000000000000 0.000000000000 1 2 4.815409000000 149.246579000000 1 2 4.169515000000 132.844335000000 1 2 0.591958000000 1.346154000000 1 2 1.791770000000 -7.044223000000 * ********************************************************************** * Arsenic atom * * AS ECP ECP28MWB Q=5., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-5VE ARSENIC * ********************************************************************** A 33 * 4 28 1 2 1.000000000000 0.000000000000 1 2 3.612625000000 53.965620000000 1 2 3.907926000000 88.949088000000 1 2 1.926467000000 22.420288000000 1 2 1.773434000000 -4.704815000000 * ********************************************************************** * Selenium atom * * SE E CP E CP28MWB Q=6., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-6VE SELENIUM * ********************************************************************** A 34 * 3 28 1 2 1.000000000000 0.000000000000 1 2 4.237057000000 79.663345000000 1 2 2.910334000000 31.560993000000 1 2 2.335701000000 30.804610000000 1 2 2.254639000000 -6.546875000000 * ********************************************************************** * Bromine atom * * BR, Q=7., MEFIT,WB, Mol Phys 1993 * * M.DOLG, DISSERTATION 1989, J.Chem.Phys.1989,91,1762 * * ECP-MWB-7VE BROMINE * ********************************************************************** A 35 * 4 28 1 2 1.000000000000 0.000000000000 2 2 5.021800000000 61.513721000000 2 2.510900000000 9.021493000000 2 2 4.281400000000 53.875864000000 2 2.140700000000 4.629402000000 2 2 2.880000000000 20.849677000000 2 1.440000000000 2.965444000000 1 2 2.720700000000 -8.161493000000 * ********************************************************************** * Krypton atom * * Kr,Q=8, MEFIT,MWB, A.Nicklass, Diplom Thesis, 1990 * * ECP-MWB-8VE KRYPTON * ********************************************************************** A 36 * 4 28 1 2 1.000000000000 0.000000000000 2 2 5.877718000000 73.915693900000 2 3.084622000000 16.168250800000 2 2 5.164110000000 58.517691010000 2 2.358302000000 8.259100730000 2 2 3.215362000000 33.458227760000 2 1.285008000000 0.677253310000 2 2 4.082869000000 -15.158698590000 2 1.193960000000 -0.174088250000 * ********************************************************************** * Rubidium atom * * MWB-9-VALENZEL.PP W.Kuechle 1989 * * ECP-MWB-9VE RUBIDIUM * ********************************************************************** A 37 * 4 28 1 2 1.000000000000 0.000000000000 2 2 5.036518070000 89.500198220000 2 1.970849630000 0.493761980000 2 2 4.258341190000 58.568974920000 2 1.470709610000 0.431791080000 2 2 3.023127740000 26.224898090000 2 0.650383460000 0.962839500000 2 2 2.823904320000 -8.180093270000 2 1.314681180000 0.471441470000 * ********************************************************************** * Strontium atom * * MWB-10-ve-ECP M. KAUPP 1989 * * M.Kaupp,PvR.Schleyer,H.Stoll,H.Preuss,J.Chem.Phys. 1991,94,1360. * * ECP-MWB-10VE STRONTIUM * ********************************************************************** A 38 * 4 28 1 2 1.000000000000 0.000000000000 2 2 7.400074340000 135.479430010000 2 3.606379110000 17.534463160000 2 2 6.484868170000 88.359709130000 2 3.288052690000 15.394371590000 2 2 4.622840790000 29.888986840000 2 2.246903880000 6.659413990000 1 2 4.633975340000 -15.805992030000 * ********************************************************************** * Yttrium atom * * Y MEFIT,WB Q=11 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-11VE YTTRIUM * ********************************************************************** A 39 * 4 28 1 2 1.000000000000 0.000000000000 2 2 7.488049400000 135.153844120000 2 3.744024700000 15.552441300000 2 2 6.445377200000 87.784991670000 2 3.222688600000 11.564065990000 2 2 4.658447200000 29.701000720000 2 2.329223600000 5.539968470000 2 2 6.584212000000 -19.122198110000 2 3.292106000000 -2.436375430000 * ********************************************************************** * Zirconium atom * * ZR MEFIT,WB Q=12 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-12VE ZIRCONIUM * ********************************************************************** A 40 * 4 28 1 2 1.000000000000 0.000000000000 2 2 8.200000000000 150.267591060000 2 4.089727800000 18.976216500000 2 2 7.110000000000 99.622123720000 2 3.596798000000 14.168733290000 2 2 5.350000000000 35.045123550000 2 2.491821500000 6.111259480000 2 2 7.540000000000 -21.093776050000 2 3.770000000000 -3.080694270000 * ********************************************************************** * Niobium atom * * NB MEFIT,WB Q=28. Theor.Chim.Acta 1990,77,123 * * ECP-MWB-13VE NIOBIUM * ********************************************************************** A 41 * 4 28 1 2 1.000000000000 0.000000000000 2 2 8.900000000000 165.179143490000 2 4.430000000000 21.992974370000 2 2 7.770000000000 111.794414450000 2 3.960000000000 16.633483260000 2 2 6.050000000000 38.112248800000 2 2.840000000000 8.039167270000 2 2 8.490000000000 -22.929549960000 2 4.250000000000 -3.666309860000 * ********************************************************************** * Molybdenum atom * * MO MEFIT,WB Q=14 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-14VE MOLYBDENUM * ********************************************************************** A 42 * 4 28 1 2 1.000000000000 0.000000000000 2 2 9.714593800000 180.103108500000 2 4.680500400000 24.997227910000 2 2 8.142136600000 123.772752310000 2 4.625986300000 19.530228000000 2 2 6.618414800000 48.375022290000 2 3.248751600000 8.892052740000 2 2 9.450000000000 -24.805177070000 2 4.720000000000 -4.153781550000 * ********************************************************************** * Technetium atom * * TC MEFIT,WB Q=15 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-15VE TECHNETIUM * ********************************************************************** A 43 * 4 28 1 2 1.000000000000 0.000000000000 2 2 10.422346200000 195.159165910000 2 5.036516000000 28.092603330000 2 2 8.950449400000 135.284566220000 2 4.854439400000 21.806504300000 2 2 6.945696800000 54.329729420000 2 3.970584900000 11.155067950000 2 2 10.400000000000 -26.562447470000 2 5.200000000000 -4.585680540000 * ********************************************************************** * Ruthenium atom * * RU MEFIT,WB Q=16 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-16VE RUTHENIUM * ********************************************************************** A 44 * 4 28 1 2 1.000000000000 0.000000000000 2 2 11.105269300000 209.822971220000 2 5.414745400000 30.654726420000 2 2 9.771270700000 146.336182280000 2 5.073990800000 24.127877230000 2 2 7.671423100000 67.515896670000 2 4.136564700000 9.870104150000 2 2 11.360000000000 -28.340616270000 2 5.680000000000 -4.944629230000 * ********************************************************************** * Rhodium atom * * RH MEFIT,WB Q=17 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-17VE RHODIUM * ********************************************************************** A 45 * 4 28 1 2 1.000000000000 0.000000000000 2 2 11.720000000000 225.347753530000 2 5.820000000000 32.823188980000 2 2 10.420000000000 158.709411590000 2 5.450000000000 26.444100490000 2 2 8.820000000000 62.758625720000 2 3.870000000000 10.978719470000 2 2 12.310000000000 -30.093455720000 2 6.160000000000 -5.218481920000 * ********************************************************************** * Palladium atom * * PD MEFIT,WB Q=18 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-18VE PALLADIUM * ********************************************************************** A 46 * 4 28 1 2 1.000000000000 0.000000000000 2 2 12.430000000000 240.229040330000 2 6.170759400000 35.171943470000 2 2 11.080000000000 170.417276050000 2 5.829554100000 28.472132870000 2 2 9.510000000000 69.013844880000 2 4.139781100000 11.750861580000 2 2 13.270000000000 -31.929554310000 2 6.630000000000 -5.398216940000 * ********************************************************************** * Silver atom * * AG MEFIT,WB Q=19 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-19VE SILVER * ********************************************************************** A 47 * 4 28 1 2 1.000000000000 0.000000000000 2 2 13.130000000000 255.139364520000 2 6.510000000000 36.866121540000 2 2 11.740000000000 182.181868710000 2 6.200000000000 30.357751480000 2 2 10.210000000000 73.719260870000 2 4.380000000000 12.502117120000 2 2 14.220000000000 -33.689920120000 2 7.110000000000 -5.531120210000 * ********************************************************************** * Cadmium atom * * CD MEFIT,WB Q=20. Theor.Chim.Acta 1990,77,123 * * ECP-MWB-20VE CADMIUM * ********************************************************************** A 48 * 4 28 1 2 1.000000000000 0.000000000000 2 2 13.835868900000 270.009483240000 2 6.857270400000 38.767307980000 2 2 12.404971000000 193.829629390000 2 6.567799500000 31.896525230000 2 2 10.896925300000 79.193647000000 2 4.641164900000 13.230826740000 2 2 15.184795700000 -35.476625550000 2 7.592397800000 -5.617676850000 * ********************************************************************** * Indium atom * * IN ECP ECP46MWB Q=3., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-3VE INDIUM * ********************************************************************** A 49 * 4 46 1 2 1.000000000000 0.000000000000 2 2 1.435091000000 29.165219000000 2 0.695805000000 -4.190806000000 2 2 1.440832000000 36.990542000000 2 0.701392000000 -3.365820000000 1 2 0.961236000000 20.000531000000 1 2 0.884369000000 -6.019092000000 * ********************************************************************** * Tin atom * * SN ECP ECP46MWB Q=4., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-4VE TIN * ********************************************************************** A 50 * 4 46 1 2 1.000000000000 0.000000000000 2 2 1.969725000000 67.925347000000 2 0.972375000000 -7.478546000000 2 2 1.999210000000 56.602880000000 2 0.999042000000 -2.161776000000 1 2 0.500361000000 2.576336000000 1 2 1.230880000000 -10.109253000000 * ********************************************************************** * Antimony atom * * SB ECP ECP46MWB Q=5., MEFIT,WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-5VE ANTIMONY * ********************************************************************** A 51 * 4 46 1 2 1.000000000000 0.000000000000 2 2 2.491091000000 68.427938000000 2 1.341575000000 -4.398631000000 2 2 2.143864000000 63.965469000000 2 0.585503000000 -0.578726000000 1 2 0.795401000000 7.803661000000 1 2 1.609251000000 -14.517687000000 * ********************************************************************** * Tellerium atom * * TE ECP ECP46MWB Q=6., MEFIT, WB, A.BERGNER, Mol Phys 1993 * * ECP-MWB-6VE TELLURIUM * ********************************************************************** A 52 * 4 46 1 2 1.000000000000 0.000000000000 2 2 2.923794000000 50.083805000000 2 1.152754000000 1.968140000000 2 2 2.603086000000 119.820702000000 2 0.985448000000 -2.039048000000 1 2 1.435019000000 37.757214000000 1 2 1.939270100000 -17.864641000000 * ********************************************************************** * Iodine atom * * I, Q=7., Mol Phys 1993 * * MEFIT,WB, M.DOLG, DISSERTATION 1989 J.Chem.Phys.1989,91,1762 * * ECP-MWB-7VE IODINE * ********************************************************************** A 53 * 4 46 1 2 1.000000000000 0.000000000000 2 2 3.511200000000 83.113863000000 2 1.755600000000 5.201876000000 2 2 2.968800000000 82.811109000000 2 1.484400000000 3.379682000000 2 2 1.906600000000 10.304277000000 2 0.953300000000 7.588032000000 1 2 2.307500000000 -21.477936000000 * ********************************************************************** * Xenon atom * * Xe,Q=8, MEFIT,MWB, A.Nicklass, Diplom Thesis, 1990 * * ECP-MWB-8VE XENON * ********************************************************************** A 54 * 4 46 1 2 1.000000000000 0.000000000000 2 2 3.940263000000 122.763829340000 2 2.277264000000 8.308851150000 2 2 3.028373000000 68.823004370000 2 1.394319000000 3.646742230000 2 2 2.122605000000 23.652078540000 2 0.798669000000 3.258441130000 2 2 6.164360000000 -47.703198760000 2 1.542374000000 -6.541139910000 * ********************************************************************** * Cesium atom * * Cs-46-mwb A.Bergner 1990 * * ECP-MWB-9VE CESIUM * ********************************************************************** A 55 * 4 46 1 2 1.000000000000 0.000000000000 1 2 3.320940960000 83.314641080000 1 2 3.473073440000 156.100700610000 1 2 1.233987810000 12.756414600000 1 2 3.123269060000 -28.884309170000 * ********************************************************************** * Barium atom * * MWB-10-VALENZEL.PP M. KAUPP 1989 * * M.Kaupp,PvR Schleyer,H.Stoll,H.Preuss, J.Chem.Phys 1991,94,1360. * * ECP-MWB-10VE BARIUM * ********************************************************************** A 56 * 4 46 1 2 1.000000000000 0.000000000000 2 2 9.526986150000 427.845816060000 2 4.487509930000 204.417530090000 2 2 8.315929780000 293.605863620000 2 4.292217180000 294.193315950000 2 2 5.916108380000 112.550401690000 2 2.874842200000 181.782620810000 1 2 3.589464680000 -33.473174200000 * ********************************************************************** * Lanthanum atom * * LA, MEFIT,WB Q=11. assuming a trivalent la-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-11VE LANTHANUM * ********************************************************************** A 57 * 4 46 1 2 1.000000000000 0.000000000000 2 2 3.309900000000 91.932177000000 2 1.655000000000 -3.788764000000 2 2 2.836800000000 63.759486000000 2 1.418400000000 -0.647958000000 2 2 2.021300000000 36.116173000000 2 1.010700000000 0.219114000000 1 2 0.936600000000 8.592705000000 * ********************************************************************** * Cerium atom * * CE, MEFIT,WB Q=11. assuming a trivalent ce-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-11VE CERIUM * ********************************************************************** A 58 * 4 47 1 2 1.000000000000 0.000000000000 2 2 3.522200000000 95.842155000000 2 1.761100000000 -3.775040000000 2 2 3.017700000000 68.092779000000 2 1.508900000000 -0.966756000000 2 2 2.144300000000 36.381848000000 2 1.072700000000 0.190447000000 1 2 1.162300000000 12.704802000000 * ********************************************************************** * Praseodynium atom * ********************************************************************** X 59 * ********************************************************************** * Neodymium atom * * Nd, MEFIT,WB Q=10. assuming a divalent nd-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-10VE NEODYNIUM * ********************************************************************** A 60 * 4 50 1 2 1.000000000000 0.000000000000 2 2 4.196400000000 122.314966000000 2 2.098200000000 -6.178775000000 2 2 3.530800000000 79.852477000000 2 1.765400000000 -1.544026000000 2 2 2.379700000000 37.226658000000 2 1.189900000000 -0.898127000000 1 2 0.951400000000 7.331006000000 * ********************************************************************** * Promethium atom * ********************************************************************** X 61 * ********************************************************************** * Samarium atom * * Sm, MEFIT,WB Q=10. assuming a divalent sm-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-10VE SAMARIUM * ********************************************************************** A 62 * 4 52 1 2 1.000000000000 0.000000000000 2 2 4.831200000000 153.167043000000 2 2.415600000000 -8.592215000000 2 2 4.061300000000 98.845412000000 2 2.030700000000 -2.655907000000 2 2 2.708300000000 41.022141000000 2 1.354200000000 -1.292004000000 1 2 1.029700000000 7.217476000000 * ********************************************************************** * Europium atom * * Eu, MEFIT,WB Q=10. assuming a divalent eu-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-10VE EUROPIUM * ********************************************************************** A 63 * 4 53 1 2 1.000000000000 0.000000000000 2 2 5.185200000000 172.797896000000 2 2.592600000000 -10.092260000000 2 2 4.358800000000 111.315027000000 2 2.179400000000 -3.402558000000 2 2 2.890200000000 41.867729000000 2 1.445100000000 -1.287433000000 1 2 1.070500000000 7.176158000000 * ********************************************************************** * Gadolinium atom * * GD, MEFIT,WB Q=11. assuming a trivalent gd-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-11VE GADOLINIUM * ********************************************************************** A 64 * 4 53 1 1 1.00000000 0.00000000 2 2 5.026000000000 139.601619000000 2 2.513000000000 -6.879694000000 2 2 4.302200000000 79.873824000000 2 2.151100000000 0.938419000000 2 2 3.001100000000 32.709729000000 2 1.505500000000 1.241952000000 1 2 1.262000000000 8.849776000000 * ********************************************************************** * Terbium atom * * Tb, MEFIT,WB Q=10. assuming a divalent tb-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-10VE TERBIUM * ********************************************************************** A 65 * 4 55 1 2 1.000000000000 0.000000000000 2 2 5.991600000000 226.166240000000 2 2.995800000000 -14.100361000000 2 2 5.034600000000 141.695166000000 2 2.517300000000 -4.965426000000 2 2 3.297700000000 48.981700000000 2 1.648900000000 -2.067529000000 1 2 1.154600000000 7.103860000000 * ********************************************************************** * Dysprosium atom * ********************************************************************** X 66 * ********************************************************************** * Holmium atom * * Ho, MEFIT,WB Q=10. assuming a divalent ho-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-10VE HOLMIUM * ********************************************************************** A 67 * 4 57 1 2 1.000000000000 0.000000000000 2 2 6.975400000000 310.596178000000 2 3.487700000000 -20.099095000000 2 2 5.858800000000 188.411299000000 2 2.929400000000 -7.275582000000 2 2 3.784400000000 58.955765000000 2 1.892200000000 -3.142476000000 1 2 1.243000000000 7.050293000000 * ********************************************************************** * Erbium atom * ********************************************************************** X 68 * ********************************************************************** * Thulium atom * ********************************************************************** X 69 * ********************************************************************** * Ytterbium atom * * YB, MEFIT,WB Q=11. assuming a trivalent yb-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-11VE YTTERBIUM * ********************************************************************** A 70 * 4 59 1 2 1.000000000000 0.000000000000 2 2 7.167400000000 140.926118000000 2 3.583700000000 1.454935000000 2 2 6.146000000000 76.745228000000 2 3.073000000000 7.766207000000 2 2 4.203000000000 46.067636000000 2 2.101500000000 -0.482389000000 1 2 1.550000000000 8.722119000000 * ********************************************************************** * Luthetium atom * * LU, MEFIT,WB Q=11. assuming a trivalent lu-atom * * M.DOLG ET AL., THEOR.CHIM.ACTA 75, 173 (1989) * * ECP-MWB-11VE LUTHETIUM * ********************************************************************** A 71 * 4 60 1 2 1.000000000000 0.000000000000 2 2 7.631500000000 141.300211000000 2 3.815700000000 3.493950000000 2 2 6.546300000000 76.059248000000 2 3.273100000000 9.440662000000 2 2 4.459700000000 49.091473000000 2 2.229800000000 -0.846410000000 1 2 1.603000000000 8.722955000000 * ********************************************************************** * Hafnium atom * * HF MEFIT,WB Q=12 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-12VE HAFNIUM * ********************************************************************** A 72 * 4 60 1 2 1.000000000000 0.000000000000 2 2 14.769959000000 1499.284710730000 2 7.384979400000 40.282101360000 2 2 9.849489500000 397.733005330000 2 4.924744500000 19.316405860000 2 2 6.096756400000 101.329805260000 2 3.048378200000 5.873438210000 1 2 1.785769840000 10.046722510000 * ********************************************************************** * Tantalum atom * * TA MEFIT,WB Q=13 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-13VE TANTALUM * ********************************************************************** A 73 * 4 60 1 2 1.000000000000 0.000000000000 2 2 14.546407700000 1345.880647030000 2 7.273203800000 36.766806200000 2 2 9.935565290000 378.425301450000 2 4.967782430000 22.293090860000 2 2 6.347376910000 104.883955710000 2 3.173688460000 8.755848050000 1 2 2.017881110000 12.017960940000 * ********************************************************************** * Tungsten atom * * W MEFIT,WB Q=14 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-14VE TUNGSTEN * ********************************************************************** A 74 * 4 60 1 2 1.000000000000 0.000000000000 2 2 14.322856400000 1192.395882260000 2 7.161428100000 32.522933150000 2 2 10.021641100000 359.031967110000 2 5.010820400000 24.030380190000 2 2 6.597997430000 108.301348970000 2 3.298998710000 10.982528270000 1 2 2.258888460000 14.152579470000 * ********************************************************************** * Rhenium atom * * RE MEFIT,WB Q=15 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-15VE RHENIUM * ********************************************************************** A 75 * 4 60 1 2 1.000000000000 0.000000000000 2 2 14.099305100000 1038.951572260000 2 7.049652500000 29.561738300000 2 2 10.107716900000 339.543509650000 2 5.053858300000 24.913696460000 2 2 6.848617940000 111.699652750000 2 3.424308970000 12.624329270000 1 2 2.508650590000 16.449852270000 * ********************************************************************** * Osmium atom * * OS MEFIT,WB Q=16 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-16VE OSMIUM * ********************************************************************** A 76 * 4 60 1 2 1.000000000000 0.000000000000 2 2 13.875753900000 885.405719140000 2 6.937876900000 25.967040140000 2 2 10.193792600000 320.083901850000 2 5.096896200000 26.148764930000 2 2 7.099238460000 115.044843130000 2 3.549619230000 13.622574570000 1 2 2.767075100000 18.909457010000 * ********************************************************************** * Iridium atom * * IR MEFIT,WB Q=17 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-17VE IRIDIUM * ********************************************************************** A 77 * 4 60 1 2 1.000000000000 0.000000000000 2 2 13.652202600000 732.269199780000 2 6.826101300000 26.484720870000 2 2 10.279868400000 299.489473570000 2 5.139934100000 26.466233540000 2 2 7.349858970000 124.457594510000 2 3.674929490000 14.035995180000 1 2 3.034071920000 21.531031070000 * ********************************************************************** * Platinum atom * * PT MEFIT,WB Q=18 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-18VE PLATINUM * ********************************************************************** A 78 * 4 60 1 2 1.000000000000 0.000000000000 2 2 13.428651300000 579.223860920000 2 6.714325600000 29.669490620000 2 2 10.365944200000 280.860774220000 2 5.182972100000 26.745382040000 2 2 7.600479490000 120.396444290000 2 3.800239740000 15.810920580000 1 2 3.309568570000 24.314375730000 * ********************************************************************** * Gold atom * * AU MEFIT,WB Q=19. Theor.Chim.Acta 1990,77,123 * * ECP-MWB-19VE GOLD * ********************************************************************** A 79 * 4 60 1 1 1.00000000 0.00000000 2 2 13.205100000000 426.846679200000 2 6.602550000000 37.007082850000 2 2 10.452020000000 261.199580380000 2 5.226010000000 26.962496040000 2 2 7.851100000000 124.790665610000 2 3.925550000000 16.300725730000 2 2 4.789820000000 30.490088900000 2 2.394910000000 5.171073810000 * ********************************************************************** * Mercury atom * * HG MEFIT,WB Q=20 Theor.Chim.Acta 1990,77,123 * * ECP-MWB-20VE MERCURY * ********************************************************************** A 80 * 4 60 1 2 1.000000000000 0.000000000000 2 2 12.981548700000 275.737211740000 2 6.490774400000 49.089212490000 2 2 10.538095800000 241.540073980000 2 5.269047900000 27.396590810000 2 2 8.101720510000 127.867007610000 2 4.050860260000 16.608311510000 1 2 3.885791120000 30.364996430000 * ********************************************************************** * Thallium atom * * Tl,MEFIT,WB,Q=78, * * W.Kuechle,M.Dolg,H.Stoll,H.Preuss,Mol.Phys. 1991,74,1245. * * ECP-MWB-3VE THALLIUM * ********************************************************************** A 81 * 4 78 1 2 0.820617000000 -12.270540000000 4 2 10.000000000000 73.186683000000 2 1.977541000000 51.707959000000 2 0.326238000000 -1.016498000000 2 0.820617000000 12.270540000000 3 2 1.032140000000 19.730431000000 2 0.543063000000 -2.962673000000 2 0.820617000000 12.270540000000 3 2 0.709633000000 -3.979439000000 2 0.354817000000 2.772690000000 2 0.820617000000 12.270540000000 2 2 0.689156000000 -4.426786000000 2 0.820617000000 12.270540000000 * ********************************************************************** * Lead atom * * Pb,MEFIT,WB,Q=78, without g-projector * * W.Kuechle,M.Dolg,H.Stoll,H.Preuss,Mol.Phys. 1991,74,1245. * * ECP-MWB-4VE LEAD * ********************************************************************** A 82 * 4 78 1 2 1.000000000000 0.000000000000 3 2 9.999911000000 97.587955000000 2 1.456727000000 20.860797000000 2 0.529161000000 -1.873342000000 2 2 1.249013000000 51.719254000000 2 0.678119000000 -7.768209000000 2 2 0.744930000000 2.640822000000 2 0.307446000000 1.300760000000 1 2 0.848699000000 -5.706056000000 * ********************************************************************** * Bismuth atom * # Bi,MEFIT,WB,Q=78, without g-projector * * W.Kuechle,M.Dolg,H.Stoll,H.Preuss,Mol.Phys. 1991,74,1245. * * ECP-MWB-5VE BISMUTH * ********************************************************************** A 83 * 4 78 1 2 1.000000000000 0.000000000000 3 2 10.000000000000 122.047401000000 2 1.509835000000 14.031690000000 2 0.161152000000 -0.161988000000 2 2 1.426415000000 51.045868000000 2 0.760490000000 -6.188526000000 2 2 0.780226000000 20.535804000000 2 0.260075000000 -0.136196000000 1 2 0.973608000000 -6.414226000000 * ********************************************************************** * Polonium atom * ********************************************************************** X 84 * ********************************************************************** * Astatine atom * ********************************************************************** X 85 * ********************************************************************** * Radon atom * * Rn,Q=8, MEFIT,MWB, Mol.Phys. 1991,74,1265 * * without g-projector * * ECP-MWB-8VE RADON * ********************************************************************** A 86 * 4 78 1 2 1.000000000000 0.000000000000 3 2 0.922386000000 -5.019005000000 2 1.781915000000 37.036790000000 2 10.804601000000 195.103308000000 2 2 0.724291000000 -1.966481000000 2 1.363860000000 23.464059000000 2 2 0.769400000000 7.483457000000 2 1.538800000000 9.361900000000 1 2 1.213897000000 -6.763150000000 * ********************************************************************** * Francium atom * ********************************************************************** X 87 * ********************************************************************** * Radium atom * ********************************************************************** X 88 * ********************************************************************** * Actinium atom * ********************************************************************** X 89 * ********************************************************************** * Thorium atom * ********************************************************************** X 90 * ********************************************************************** * Protactinium atom * ********************************************************************** X 91 * ********************************************************************** * Uranium atom * ********************************************************************** X 92 * ********************************************************************** * Neptunium atom * ********************************************************************** X 93 * ********************************************************************** * Plutonium atom * ********************************************************************** X 94 * ********************************************************************** * Americum atom * ********************************************************************** X 95 * ********************************************************************** * Curium atom * ********************************************************************** X 96 * ********************************************************************** * Berkelium atom * ********************************************************************** X 97 * ********************************************************************** * Californium atom * ********************************************************************** X 98 * ********************************************************************** * Einsteinium atom * ********************************************************************** X 99 * ********************************************************************** * Fermium atom * ********************************************************************** X 100 * ********************************************************************** * Mendelevium atom * ********************************************************************** X 101 * ********************************************************************** * Nobelium atom * ********************************************************************** X 102 * ********************************************************************** * Lawrencium atom * ********************************************************************** X 103 * ********************************************************************** * Rutherfordium atom * ********************************************************************** X 104 * ********************************************************************** * Hahnium atom * ********************************************************************** X 105 * ********************************************************************** * Seaborgium atom * ********************************************************************** X 106 * ********************************************************************** * Nielsbohrium atom * ********************************************************************** X 107 * ********************************************************************** * Hassium atom * ********************************************************************** X 108 * ********************************************************************** * Meitnerium atom * ********************************************************************** X 109 * **END OF FILE** ergo-3.5/basis/cc-pwCVQZ0000664000175000017500000015461212743400275012016 00000000000000$ Basis = cc-pwCVQZ $ $Elements supported $ H He B C N O F Ne Al Si P S Cl Ar $Elements References $-------- ---------- $ He : D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100, 2975 (1994). $Li - Ne: T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989). $Na - Mg: D.E. Woon and T.H. Dunning, Jr. (to be published) $Al - Ar: D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 98, 1358 (1993). $Ca : J. Koput and K.A. Peterson, J. Phys. Chem. A, 106, 9595 (2002). $ $ Polarization and/or diffuse functions $Elements References $-------- ---------- $B - Ne: K.A. Peterson and T.H. Dunning, Jr. J. Chem. Phys. 117, 10548 (2002) $Al - Ar: $ ************************************************************************ a 1 $ HYDROGEN (6s,3p,2d,1f) -> [4s,3p,2d,1f] $ S-TYPE FUNCTIONS 6 4 0 82.6400000 0.00200600 0.00000000 0.00000000 0.00000000 12.4100000 0.01534300 0.00000000 0.00000000 0.00000000 2.8240000 0.07557900 0.00000000 0.00000000 0.00000000 0.7977000 0.25687500 1.00000000 0.00000000 0.00000000 0.2581000 0.49736800 0.00000000 1.00000000 0.00000000 0.0898900 0.29613300 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 2.2920000 1.00000000 0.00000000 0.00000000 0.8380000 0.00000000 1.00000000 0.00000000 0.2920000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 2.0620000 1.00000000 0.00000000 0.6620000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 1.3970000 1.00000000 a 2 $ HELIUM (7s,3p,2d,1f) -> [4s,3p,2d,1f] $ S-TYPE FUNCTIONS 7 4 0 528.5000000 0.00094000 0.00000000 0.00000000 0.00000000 79.3100000 0.00721400 0.00000000 0.00000000 0.00000000 18.0500000 0.03597500 0.00000000 0.00000000 0.00000000 5.0850000 0.12778200 0.00000000 0.00000000 0.00000000 1.6090000 0.30847000 1.00000000 0.00000000 0.00000000 0.5363000 0.45305200 0.00000000 1.00000000 0.00000000 0.1833000 0.23888400 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 3 3 0 5.9940000 1.00000000 0.00000000 0.00000000 1.7450000 0.00000000 1.00000000 0.00000000 0.5600000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 2 2 0 4.2990000 1.00000000 0.00000000 1.2230000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 1 1 0 2.6800000 1.00000000 a 5 $ BORON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ BORON Tight (3s,3p,2d,1f) $ S-TYPE FUNCTIONS 15 8 0 23870.00000 0.00008800 -0.00001800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3575.00000000 0.00068700 -0.00013900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 812.80000000 0.00360000 -0.00072500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 229.70000000 0.01494900 -0.00306300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 74.69000000 0.05143500 -0.01058100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.81000000 0.14330200 -0.03136500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.32000000 0.30093500 -0.07101200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.17800000 0.40352600 -0.13210300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.72700000 0.22534000 -0.12307200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.47040000 0.01540700 0.26181900 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.18960000 -0.00395500 0.58666200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07394000 0.00112400 0.29049400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.76800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 10.41400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 28.78800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 7 0 22.26000000 0.00509500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.05800000 0.03320600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.48700000 0.13231400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.50710000 0.33181800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.18120000 0.47206300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.06463000 0.25797900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.84700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 11.92500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 36.97100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 1.11000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.40200000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.14500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.71800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 16.57400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 0.88200000 1.00000000 0.00000000 0.00000000 0.31100000 0.00000000 1.00000000 0.00000000 3.69200000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 0.67300000 1.00000000 a 6 $ CARBON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ CARBON Tight (3s,3p,2d,1f) $ S-TYPE FUNCTIONS 15 8 0 33980.00000 0.00009100 -0.00001900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5089.00000000 0.00070400 -0.00015100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1157.00000000 0.00369300 -0.00078500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 326.60000000 0.01536000 -0.00332400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 106.10000000 0.05292900 -0.01151200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.11000000 0.14704300 -0.03416000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.75000000 0.30563100 -0.07717300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.03500000 0.39934500 -0.14149300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.53000000 0.21705100 -0.11801900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.73550000 0.01589400 0.27380600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.29050000 -0.00308400 0.58651000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.11110000 0.00097800 0.28543000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 5.58400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 15.10900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 40.88100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 7 0 34.51000000 0.00537800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.91500000 0.03613200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.36800000 0.14249300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.81320000 0.34215000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.28900000 0.46386400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.10070000 0.25002800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 5.99600000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 18.05700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 54.38200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 1.84800000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.64900000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.22800000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 5.88800000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 22.80400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 1.41900000 1.00000000 0.00000000 0.00000000 0.48500000 0.00000000 1.00000000 0.00000000 6.11600000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.01100000 1.00000000 a 7 $ NITROGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ NITROGEN Tight (3s,3p,2d,1f) $ S-TYPE FUNCTIONS 15 8 0 45840.00000 0.00009200 -0.00002000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6868.00000000 0.00071700 -0.00015900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1563.00000000 0.00374900 -0.00082400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 442.40000000 0.01553200 -0.00347800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 144.30000000 0.05314600 -0.01196600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 52.18000000 0.14678700 -0.03538800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.34000000 0.30466300 -0.08007700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.38100000 0.39768400 -0.14672200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.52900000 0.21764100 -0.11636000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.05400000 0.01696300 0.27991900 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.41180000 -0.00274500 0.58548100 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.15520000 0.00095300 0.28402800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 7.82900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 20.73500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 54.91700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 7 0 49.33000000 0.00553300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.37000000 0.03796200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.43500000 0.14902800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.18200000 0.34892200 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.41730000 0.45897200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.14280000 0.24492300 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 8.55400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 25.19000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 74.18500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 2.83700000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.96800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.33500000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 8.69300000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 31.16700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 2.02700000 1.00000000 0.00000000 0.00000000 0.68500000 0.00000000 1.00000000 0.00000000 8.97200000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.42700000 1.00000000 a 8 $ OXYGEN (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ OXYGEN Tight (3s,3p,2d,1f) $ S-TYPE FUNCTIONS 15 8 0 61420.00000 0.00009000 -0.00002000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9199.00000000 0.00069800 -0.00015900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2091.00000000 0.00366400 -0.00082900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 590.90000000 0.01521800 -0.00350800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 192.30000000 0.05242300 -0.01215600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 69.32000000 0.14592100 -0.03626100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 26.97000000 0.30525800 -0.08299200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.10000000 0.39850800 -0.15209000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.68200000 0.21698000 -0.11533100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.42800000 0.01759400 0.28897900 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.55470000 -0.00250200 0.58612800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.20670000 0.00095400 0.27762400 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 10.47800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 27.31400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 71.20600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 7 0 63.42000000 0.00604400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14.66000000 0.04179900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.45900000 0.16114300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.53100000 0.35673100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.53020000 0.44830900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.17500000 0.24494000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 11.16100000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 32.45900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 94.39800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 3.77500000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.30000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.44400000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 11.46900000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 39.23900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 2.66600000 1.00000000 0.00000000 0.00000000 0.85900000 0.00000000 1.00000000 0.00000000 12.16300000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 1.84600000 1.00000000 a 9 $ FLUORINE (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ FLUORINE Tight (3s,3p,2d,1f) $ S-TYPE FUNCTIONS 15 8 0 74530.00000 0.00009500 -0.00002200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11170.00000 0.00073800 -0.00017200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2543.00000000 0.00385800 -0.00089100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 721.00000000 0.01592600 -0.00374800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 235.90000000 0.05428900 -0.01286200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 85.60000000 0.14951300 -0.03806100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 33.55000000 0.30825200 -0.08623900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.93000000 0.39485300 -0.15586500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.91500000 0.21103100 -0.11091400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.84300000 0.01715100 0.29876100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.71240000 -0.00201500 0.58501300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.26370000 0.00086900 0.27115900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 13.45400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 34.58100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 88.88000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 7 0 80.39000000 0.00634700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.63000000 0.04420400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.69400000 0.16851400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.95300000 0.36156300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.67020000 0.44217800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.21660000 0.24343500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 14.23000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 40.86200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 117.33900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 5.01400000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.72500000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.58600000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 15.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 49.61000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 3.56200000 1.00000000 0.00000000 0.00000000 1.14800000 0.00000000 1.00000000 0.00000000 16.16800000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.37600000 1.00000000 a 10 $ NEON (12s,6p,3d,2f,1g) -> [5s,4p,3d,2f,1g] $ NEON Tight (3s,3p,2d,1f) $ S-TYPE FUNCTIONS 15 8 0 99920.00000 0.00008600 -0.00002000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14960.00000 0.00066900 -0.00015800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3399.00000000 0.00351800 -0.00082400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 958.90000000 0.01466700 -0.00350000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 311.20000000 0.05096200 -0.01223300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 111.70000000 0.14374400 -0.03701700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 43.32000000 0.30456200 -0.08611300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17.80000000 0.40010500 -0.15838100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.50300000 0.21864400 -0.11428800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.33700000 0.01866400 0.29819100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.90010000 -0.00216700 0.58578400 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.33010000 0.00095100 0.27246700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 16.92300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 42.92300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 108.87000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 9 7 0 99.68000000 0.00656600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.15000000 0.04597900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.10800000 0.17341900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.44100000 0.36457100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.83390000 0.43818500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.26620000 0.24168000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 17.72400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 50.29100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 142.70100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 5 5 0 6.47100000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.21300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.74700000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 19.10400000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 61.55500000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 3 3 0 4.65700000 1.00000000 0.00000000 0.00000000 1.52400000 0.00000000 1.00000000 0.00000000 20.87700000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 1 1 0 2.98300000 1.00000000 a 13 $ ALUMINUM (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ ALUMINUM Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 19 9 0 419600.00000 0.00002782 -0.00000724 0.00000167 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 62830.00000 0.00021633 -0.00005617 0.00001296 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 14290.00000 0.00113754 -0.00029653 0.00006851 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4038.00000000 0.00479635 -0.00124913 0.00028827 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1312.00000000 0.01723890 -0.00455101 0.00105276 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 470.50000000 0.05380660 -0.01443930 0.00333878 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 181.80000000 0.14132600 -0.04034640 0.00939217 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 74.46000000 0.28926800 -0.09226180 0.02160470 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.90000000 0.38482500 -0.16451000 0.03958730 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.96000000 0.23285200 -0.14129600 0.03491800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.18000000 0.02933300 0.19536500 -0.05284150 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.26500000 -0.00300574 0.57247500 -0.19187800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.96640000 0.00166673 0.37404100 -0.25411500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.24470000 -0.00060602 0.02341190 0.27507000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.11840000 0.00043136 -0.00905197 0.60474300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.05021000 -0.00012292 0.00211174 0.28762900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.79400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.91600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 8.54900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 8 0 891.30000000 0.00049175 -0.00008887 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 211.30000000 0.00415843 -0.00074582 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 68.28000000 0.02125380 -0.00387025 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 25.70000000 0.07640580 -0.01393500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 10.63000000 0.19427700 -0.03668600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.60200000 0.33442800 -0.06277970 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.01500000 0.37502600 -0.07896020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.87060000 0.20404100 -0.02885890 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.29720000 0.02137380 0.23825600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.11000000 -0.00202144 0.55136300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.03989000 0.00081725 0.35438500 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.04900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 4.46800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 9.74000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.08040000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.19900000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.49400000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.37900000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 3.88700000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 10.96000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.15400000 1.00000000 0.00000000 0.00000000 0.00000000 0.40100000 0.00000000 1.00000000 0.00000000 0.00000000 1.46300000 0.00000000 0.00000000 1.00000000 0.00000000 6.81400000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.35700000 1.00000000 0.00000000 1.64500000 0.00000000 1.00000000 a 14 $ SILICON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ SILICON Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 19 9 0 513000.00000 0.00002609 -0.00000695 0.00000178 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 76820.00000 0.00020290 -0.00005396 0.00001381 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 17470.00000 0.00106715 -0.00028472 0.00007300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4935.00000000 0.00450597 -0.00120203 0.00030767 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1602.00000000 0.01623590 -0.00438397 0.00112563 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 574.10000000 0.05089130 -0.01397760 0.00358435 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 221.50000000 0.13515500 -0.03935160 0.01017280 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 90.54000000 0.28129200 -0.09142830 0.02375200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 38.74000000 0.38533600 -0.16560900 0.04434830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.95000000 0.24565100 -0.15250500 0.04190410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 6.45200000 0.03431450 0.16852400 -0.05025040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.87400000 -0.00334884 0.56928400 -0.21657800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.25000000 0.00187625 0.39805600 -0.28644800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.35990000 -0.00069333 0.02915090 0.26325600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.16990000 0.00043831 -0.00848976 0.63490000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07066000 -0.00012262 0.00199603 0.29083200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.42000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 5.12200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 10.84200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 8 0 1122.00000000 0.00044814 -0.00009649 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 266.00000000 0.00381639 -0.00081197 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 85.92000000 0.01981050 -0.00430087 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32.33000000 0.07270170 -0.01575020 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 13.37000000 0.18983900 -0.04295410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.80000000 0.33567200 -0.07525740 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.55900000 0.37936500 -0.09714460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.12400000 0.20119300 -0.02275070 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.39880000 0.02085150 0.29198800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.15330000 -0.00170258 0.55067000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.05728000 0.00075005 0.29761800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.56200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 5.46800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 11.67000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.12000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.30200000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.76000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.97000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 5.47200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 15.19500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.21200000 1.00000000 0.00000000 0.00000000 0.00000000 0.54100000 0.00000000 1.00000000 0.00000000 0.00000000 1.85700000 0.00000000 0.00000000 1.00000000 0.00000000 8.53700000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.46100000 1.00000000 0.00000000 1.93400000 0.00000000 1.00000000 a 15 $ PHOSPHORUS (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ PHOSPHORUS Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 19 9 0 615200.00000 0.00002475 -0.00000672 0.00000185 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 92120.00000 0.00019247 -0.00005223 0.00001434 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20950.00000 0.00101202 -0.00027536 0.00007572 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5920.00000000 0.00427261 -0.00116307 0.00031920 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1922.00000000 0.01541610 -0.00424281 0.00116851 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 688.00000000 0.04859760 -0.01361140 0.00374267 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 265.00000000 0.13006000 -0.03851140 0.01068170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 108.20000000 0.27451400 -0.09066430 0.02526570 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 46.22000000 0.38540200 -0.16658400 0.04792830 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.23000000 0.25593400 -0.16144700 0.04770960 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.85900000 0.03912370 0.14678100 -0.04665250 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.54700000 -0.00368010 0.56668200 -0.23496800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.56400000 0.00208211 0.41643300 -0.31133700 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.48880000 -0.00078848 0.03438440 0.25710900 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.22660000 0.00045405 -0.00780638 0.65365500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.09331000 -0.00012664 0.00192259 0.29421200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.11300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 6.43400000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 13.29800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 8 0 1367.00000000 0.00042102 -0.00010083 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 324.00000000 0.00360985 -0.00085450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 104.60000000 0.01892170 -0.00457116 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 39.37000000 0.07055600 -0.01703270 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 16.26000000 0.18815700 -0.04752040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.05600000 0.33870900 -0.08527860 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.13000000 0.38194300 -0.10967600 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.39400000 0.19526100 -0.01611810 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.51790000 0.01994160 0.32289300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.20320000 -0.00135121 0.54573800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.07698000 0.00051714 0.26853800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.11200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 6.61500000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 14.06000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.16500000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.41300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.03600000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 2.59000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 7.11900000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 19.56600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.28000000 1.00000000 0.00000000 0.00000000 0.00000000 0.70300000 0.00000000 1.00000000 0.00000000 0.00000000 2.31000000 0.00000000 0.00000000 1.00000000 0.00000000 10.51800000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.59700000 1.00000000 0.00000000 2.32800000 0.00000000 1.00000000 a 16 $ SULFUR (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ SULFUR Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 19 9 0 727800.00000 0.00002360 -0.00000652 0.00000189 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 109000.00000 0.00018348 -0.00005066 0.00001469 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 24800.00000 0.00096428 -0.00026683 0.00007755 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7014.00000000 0.00406537 -0.00112601 0.00032651 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2278.00000000 0.01469730 -0.00411186 0.00119686 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 814.70000000 0.04650810 -0.01324540 0.00384799 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 313.40000000 0.12550800 -0.03770040 0.01105390 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 127.70000000 0.26843300 -0.08985540 0.02646450 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.48000000 0.38480900 -0.16709800 0.05087710 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 23.85000000 0.26537200 -0.16935400 0.05300300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.42800000 0.04373260 0.12782400 -0.04255180 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.29000000 -0.00378807 0.56486200 -0.25085300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.90900000 0.00218083 0.43176700 -0.33315200 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.62700000 -0.00083694 0.03893980 0.26379600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.28730000 0.00044809 -0.00730260 0.66684900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.11720000 -0.00012529 0.00192327 0.28845100 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.80700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 7.78000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 15.90100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 8 0 1546.00000000 0.00044118 -0.00011311 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 366.40000000 0.00377571 -0.00095858 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 118.40000000 0.01983600 -0.00513471 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 44.53000000 0.07420630 -0.01926410 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 18.38000000 0.19732700 -0.05359800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 7.96500000 0.35185100 -0.09603330 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.54100000 0.37868700 -0.11818300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.59100000 0.17093100 0.00923194 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.62050000 0.01515870 0.35884100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.24200000 0.00006720 0.52581800 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.09014000 0.00040549 0.24887200 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.52200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 7.53900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 16.13900000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.20300000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.50400000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.25000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.11600000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 8.52400000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 23.32300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.33500000 1.00000000 0.00000000 0.00000000 0.00000000 0.86900000 0.00000000 1.00000000 0.00000000 0.00000000 2.80100000 0.00000000 0.00000000 1.00000000 0.00000000 12.70300000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.68300000 1.00000000 0.00000000 2.73900000 0.00000000 1.00000000 a 17 $ CHLORINE (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ CHLORINE Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 19 9 0 834900.00000 0.00002317 -0.00000650 0.00000197 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 125000.00000 0.00018015 -0.00005049 0.00001526 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 28430.00000 0.00094778 -0.00026611 0.00008061 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8033.00000000 0.00400139 -0.00112499 0.00033996 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2608.00000000 0.01446290 -0.00410497 0.00124551 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 933.90000000 0.04565860 -0.01319870 0.00399612 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 360.00000000 0.12324800 -0.03753420 0.01147510 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 147.00000000 0.26436900 -0.08972330 0.02755040 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 62.88000000 0.38298900 -0.16767100 0.05329170 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 27.60000000 0.27093400 -0.17476300 0.05712460 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 11.08000000 0.04714040 0.11490900 -0.03952010 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.07500000 -0.00371766 0.56361800 -0.26434300 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.27800000 0.00219158 0.44160600 -0.34929100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.77750000 -0.00084985 0.04266970 0.26967100 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.35270000 0.00042466 -0.00667229 0.67607300 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.14310000 -0.00012002 0.00190729 0.28467900 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 4.57000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 9.27700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 18.83100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 8 0 1703.00000000 0.00047404 -0.00012827 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 403.60000000 0.00406412 -0.00109356 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 130.30000000 0.02133550 -0.00583429 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 49.05000000 0.07946110 -0.02192580 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 20.26000000 0.20892700 -0.06013850 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 8.78700000 0.36494500 -0.10692900 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 3.91900000 0.37172500 -0.12245400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.76500000 0.14629200 0.03836190 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.72070000 0.01079060 0.38525600 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.28390000 0.00117004 0.50726500 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.10600000 0.00033941 0.22721800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.93200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 8.49200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 18.33800000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.25400000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.62800000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.55100000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 3.79900000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 10.31200000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 27.99100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.42300000 1.00000000 0.00000000 0.00000000 0.00000000 1.08900000 0.00000000 1.00000000 0.00000000 0.00000000 3.38900000 0.00000000 0.00000000 1.00000000 0.00000000 15.18800000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 0.82700000 1.00000000 0.00000000 3.23900000 0.00000000 1.00000000 a 18 $ ARGON (16s,11p,3d,2f,1g) -> [6s,5p,3d,2f,1g] $ ARGON Tight (3s,3p,3d,2f,1g) $ S-TYPE FUNCTIONS 19 9 0 950600.00000 0.00002275 -0.00000646 0.00000202 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 142300.00000 0.00017694 -0.00005023 0.00001569 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 32360.00000 0.00093128 -0.00026480 0.00008286 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9145.00000000 0.00392860 -0.00111895 0.00034926 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2970.00000000 0.01420640 -0.00408276 0.00127976 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1064.00000000 0.04481140 -0.01312160 0.00410365 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 410.80000000 0.12100100 -0.03728550 0.01177890 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 168.00000000 0.26057900 -0.08947090 0.02838680 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 71.99000000 0.38136400 -0.16805400 0.05524060 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 31.67000000 0.27605800 -0.17959400 0.06074920 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 12.89000000 0.05051790 0.10295300 -0.03620120 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 5.92900000 -0.00359866 0.56263000 -0.27539800 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 2.67800000 0.00218798 0.45035500 -0.36284500 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.94160000 -0.00086236 0.04606070 0.27311800 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.42390000 0.00040523 -0.00603691 0.68289900 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.17140000 -0.00011616 0.00188744 0.28341700 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 5.38600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 10.86700000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 21.92600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ P-TYPE FUNCTIONS 14 8 0 1890.00000000 0.00049575 -0.00013886 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 447.80000000 0.00425172 -0.00118870 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 144.60000000 0.02232770 -0.00632553 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 54.46000000 0.08308780 -0.02388130 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 22.51000000 0.21711000 -0.06492380 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 9.77400000 0.37450700 -0.11544400 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 4.36800000 0.36644500 -0.12365100 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.95900000 0.12924500 0.06490550 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.82600000 0.00692249 0.40363300 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.32970000 0.00083615 0.49059200 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.12420000 -0.00015267 0.20852800 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 4.41100000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 9.55600000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 20.70200000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ D-TYPE FUNCTIONS 6 6 0 0.31100000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.76300000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.87300000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 4.53000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 12.21500000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 32.93300000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.00000000 $ F-TYPE FUNCTIONS 4 4 0 0.54300000 1.00000000 0.00000000 0.00000000 0.00000000 1.32500000 0.00000000 1.00000000 0.00000000 0.00000000 4.03000000 0.00000000 0.00000000 1.00000000 0.00000000 17.87400000 0.00000000 0.00000000 0.00000000 1.00000000 $ G-TYPE FUNCTIONS 2 2 0 1.00700000 1.00000000 0.00000000 3.81600000 0.00000000 1.00000000 ergo-3.5/ylwrap0000755000175000017500000001531212743400330010500 00000000000000#! /bin/sh # ylwrap - wrapper for lex/yacc invocations. scriptversion=2013-01-12.17; # UTC # Copyright (C) 1996-2014 Free Software Foundation, Inc. # # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # 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 # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . get_dirname () { case $1 in */*|*\\*) printf '%s\n' "$1" | sed -e 's|\([\\/]\)[^\\/]*$|\1|';; # Otherwise, we want the empty string (not "."). esac } # guard FILE # ---------- # The CPP macro used to guard inclusion of FILE. guard () { printf '%s\n' "$1" \ | sed \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g' \ -e 's/__*/_/g' } # quote_for_sed [STRING] # ---------------------- # Return STRING (or stdin) quoted to be used as a sed pattern. quote_for_sed () { case $# in 0) cat;; 1) printf '%s\n' "$1";; esac \ | sed -e 's|[][\\.*]|\\&|g' } case "$1" in '') echo "$0: No files given. Try '$0 --help' for more information." 1>&2 exit 1 ;; --basedir) basedir=$2 shift 2 ;; -h|--h*) cat <<\EOF Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]... Wrapper for lex/yacc invocations, renaming files as desired. INPUT is the input file OUTPUT is one file PROG generates DESIRED is the file we actually want instead of OUTPUT PROGRAM is program to run ARGS are passed to PROG Any number of OUTPUT,DESIRED pairs may be used. Report bugs to . EOF exit $? ;; -v|--v*) echo "ylwrap $scriptversion" exit $? ;; esac # The input. input=$1 shift # We'll later need for a correct munging of "#line" directives. input_sub_rx=`get_dirname "$input" | quote_for_sed` case $input in [\\/]* | ?:[\\/]*) # Absolute path; do nothing. ;; *) # Relative path. Make it absolute. input=`pwd`/$input ;; esac input_rx=`get_dirname "$input" | quote_for_sed` # Since DOS filename conventions don't allow two dots, # the DOS version of Bison writes out y_tab.c instead of y.tab.c # and y_tab.h instead of y.tab.h. Test to see if this is the case. y_tab_nodot=false if test -f y_tab.c || test -f y_tab.h; then y_tab_nodot=true fi # The parser itself, the first file, is the destination of the .y.c # rule in the Makefile. parser=$1 # A sed program to s/FROM/TO/g for all the FROM/TO so that, for # instance, we rename #include "y.tab.h" into #include "parse.h" # during the conversion from y.tab.c to parse.c. sed_fix_filenames= # Also rename header guards, as Bison 2.7 for instance uses its header # guard in its implementation file. sed_fix_header_guards= while test $# -ne 0; do if test x"$1" = x"--"; then shift break fi from=$1 # Handle y_tab.c and y_tab.h output by DOS if $y_tab_nodot; then case $from in "y.tab.c") from=y_tab.c;; "y.tab.h") from=y_tab.h;; esac fi shift to=$1 shift sed_fix_filenames="${sed_fix_filenames}s|"`quote_for_sed "$from"`"|$to|g;" sed_fix_header_guards="${sed_fix_header_guards}s|"`guard "$from"`"|"`guard "$to"`"|g;" done # The program to run. prog=$1 shift # Make any relative path in $prog absolute. case $prog in [\\/]* | ?:[\\/]*) ;; *[\\/]*) prog=`pwd`/$prog ;; esac dirname=ylwrap$$ do_exit="cd '`pwd`' && rm -rf $dirname > /dev/null 2>&1;"' (exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 mkdir $dirname || exit 1 cd $dirname case $# in 0) "$prog" "$input" ;; *) "$prog" "$@" "$input" ;; esac ret=$? if test $ret -eq 0; then for from in * do to=`printf '%s\n' "$from" | sed "$sed_fix_filenames"` if test -f "$from"; then # If $2 is an absolute path name, then just use that, # otherwise prepend '../'. case $to in [\\/]* | ?:[\\/]*) target=$to;; *) target=../$to;; esac # Do not overwrite unchanged header files to avoid useless # recompilations. Always update the parser itself: it is the # destination of the .y.c rule in the Makefile. Divert the # output of all other files to a temporary file so we can # compare them to existing versions. if test $from != $parser; then realtarget=$target target=tmp-`printf '%s\n' "$target" | sed 's|.*[\\/]||g'` fi # Munge "#line" or "#" directives. Don't let the resulting # debug information point at an absolute srcdir. Use the real # output file name, not yy.lex.c for instance. Adjust the # include guards too. sed -e "/^#/!b" \ -e "s|$input_rx|$input_sub_rx|" \ -e "$sed_fix_filenames" \ -e "$sed_fix_header_guards" \ "$from" >"$target" || ret=$? # Check whether files must be updated. if test "$from" != "$parser"; then if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then echo "$to is unchanged" rm -f "$target" else echo "updating $to" mv -f "$target" "$realtarget" fi fi else # A missing file is only an error for the parser. This is a # blatant hack to let us support using "yacc -d". If -d is not # specified, don't fail when the header file is "missing". if test "$from" = "$parser"; then ret=1 fi fi done fi # Remove the directory. cd .. rm -rf $dirname exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: ergo-3.5/Doxyfile0000664000175000017500000032002712743400275010756 00000000000000# Doxyfile 1.8.11 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. # # All text after a double hash (##) is considered a comment and is placed in # front of the TAG it is preceding. # # All text after a single hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists, items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (\" \"). #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all text # before the first occurrence of this tag. Doxygen uses libiconv (or the iconv # built into libc) for the transcoding. See http://www.gnu.org/software/libiconv # for the list of possible encodings. # The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by # double-quotes, unless you are using Doxywizard) that should identify the # project for which the documentation is generated. This name is used in the # title of most generated pages and in a few other places. # The default value is: My Project. PROJECT_NAME = ergo # The PROJECT_NUMBER tag can be used to enter a project or revision number. This # could be handy for archiving the generated documentation or if some version # control system is used. PROJECT_NUMBER = # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a # quick idea about the purpose of the project. Keep the description short. PROJECT_BRIEF = # With the PROJECT_LOGO tag one can specify a logo or an icon that is included # in the documentation. The maximum height of the logo should not exceed 55 # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy # the logo to the output directory. PROJECT_LOGO = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. OUTPUT_DIRECTORY = documentation # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # directories (in 2 levels) under the output directory of each output format and # will distribute the generated files over these directories. Enabling this # option can be useful when feeding doxygen a huge amount of source files, where # putting all generated files in the same directory would otherwise causes # performance problems for the file system. # The default value is: NO. CREATE_SUBDIRS = NO # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII # characters to appear in the names of generated files. If set to NO, non-ASCII # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode # U+3044. # The default value is: NO. ALLOW_UNICODE_NAMES = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, # Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), # Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, # Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), # Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, # Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, # Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, # Ukrainian and Vietnamese. # The default value is: English. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. # The default value is: YES. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief # description of a member or function before the detailed description # # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. # The default value is: YES. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator that is # used to form the text in various listings. Each string in this list, if found # as the leading text of the brief description, will be stripped from the text # and the result, after processing the whole list, is used as the annotated # text. Otherwise, the brief description is used as-is. If left blank, the # following values are used ($name is automatically replaced with the name of # the entity):The $name class, The $name widget, The $name file, is, provides, # specifies, contains, represents, a, an and the. ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # doxygen will generate a detailed section even if there is only a brief # description. # The default value is: NO. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. # The default value is: NO. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path # before files name in the file list and in the header files. If set to NO the # shortest path that makes the file name unique will be used # The default value is: YES. FULL_PATH_NAMES = YES # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. # Stripping is only done if one of the specified strings matches the left-hand # part of the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the path to # strip. # # Note that you can specify absolute paths here, but also relative paths, which # will be relative from the directory where doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the # path mentioned in the documentation of a class, which tells the reader which # header file to include in order to use a class. If left blank only the name of # the header file containing the class definition is used. Otherwise one should # specify the list of include paths that are normally passed to the compiler # using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but # less readable) file names. This can be useful is your file systems doesn't # support long names like on DOS, Mac, or CD-ROM. # The default value is: NO. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the # first line (until the first dot) of a Javadoc-style comment as the brief # description. If set to NO, the Javadoc-style will behave just like regular Qt- # style comments (thus requiring an explicit @brief command for a brief # description.) # The default value is: NO. JAVADOC_AUTOBRIEF = YES # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first # line (until the first dot) of a Qt-style comment as the brief description. If # set to NO, the Qt-style will behave just like regular Qt-style comments (thus # requiring an explicit \brief command for a brief description.) # The default value is: NO. QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a # multi-line C++ special comment block (i.e. a block of //! or /// comments) as # a brief description. This used to be the default behavior. The new default is # to treat a multi-line C++ comment block as a detailed description. Set this # tag to YES if you prefer the old behavior instead. # # Note that setting this tag to YES also means that rational rose comments are # not recognized any more. # The default value is: NO. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. # The default value is: YES. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new # page for each member. If set to NO, the documentation of a member will be part # of the file/class/namespace that contains it. # The default value is: NO. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen # uses this value to replace tabs by spaces in code fragments. # Minimum value: 1, maximum value: 16, default value: 4. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that act as commands in # the documentation. An alias has the form: # name=value # For example adding # "sideeffect=@par Side Effects:\n" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading # "Side Effects:". You can put \n's in the value part of an alias to insert # newlines. ALIASES = # This tag can be used to specify a number of word-keyword mappings (TCL only). # A mapping has the form "name=value". For example adding "class=itcl::class" # will allow you to use the command class in the itcl::class meaning. TCL_SUBST = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For # instance, some of the names that are used will be different. The list of all # members will be omitted, etc. # The default value is: NO. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or # Python sources only. Doxygen will then generate output that is more tailored # for that language. For instance, namespaces will be presented as packages, # qualified scopes will look different, etc. # The default value is: NO. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources. Doxygen will then generate output that is tailored for Fortran. # The default value is: NO. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for VHDL. # The default value is: NO. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and # language is one of the parsers supported by doxygen: IDL, Java, Javascript, # C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: # FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: # Fortran. In the later case the parser tries to guess whether the code is fixed # or free formatted code, this is the default for Fortran type files), VHDL. For # instance to make doxygen treat .inc files as Fortran files (default is PHP), # and .f files as C (default is Fortran), use: inc=Fortran f=C. # # Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise # the files are not read by doxygen. EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable # documentation. See http://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. # The default value is: YES. MARKDOWN_SUPPORT = YES # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can # be prevented in individual cases by putting a % sign in front of the word or # globally by setting AUTOLINK_SUPPORT to NO. # The default value is: YES. AUTOLINK_SUPPORT = YES # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should set this # tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); # versus func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. # The default value is: NO. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. # The default value is: NO. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: # http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate # getter and setter methods for a property. Setting this option to YES will make # doxygen to replace the get and set methods by a property in the documentation. # This will only work if the methods are indeed getting or setting a simple # type. If this is not the case, or you want to show the methods anyway, you # should set this option to NO. # The default value is: YES. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. # The default value is: NO. DISTRIBUTE_GROUP_DOC = NO # If one adds a struct or class to a group and this option is enabled, then also # any nested class or struct is added to the same group. By default this option # is disabled and one has to add nested compounds explicitly via \ingroup. # The default value is: NO. GROUP_NESTED_COMPOUNDS = NO # Set the SUBGROUPING tag to YES to allow class member groups of the same type # (for instance a group of public functions) to be put as a subgroup of that # type (e.g. under the Public Functions section). Set it to NO to prevent # subgrouping. Alternatively, this can be done per class using the # \nosubgrouping command. # The default value is: YES. SUBGROUPING = YES # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions # are shown inside the group in which they are included (e.g. using \ingroup) # instead of on a separate page (for HTML and Man pages) or section (for LaTeX # and RTF). # # Note that this feature does not work in combination with # SEPARATE_MEMBER_PAGES. # The default value is: NO. INLINE_GROUPED_CLASSES = NO # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions # with only public data fields or simple typedef fields will be shown inline in # the documentation of the scope in which they are defined (i.e. file, # namespace, or group documentation), provided this scope is documented. If set # to NO, structs, classes, and unions are shown on a separate page (for HTML and # Man pages) or section (for LaTeX and RTF). # The default value is: NO. INLINE_SIMPLE_STRUCTS = NO # When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or # enum is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically be # useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. # The default value is: NO. TYPEDEF_HIDES_STRUCT = NO # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This # cache is used to resolve symbols given their name and scope. Since this can be # an expensive process and often the same symbol appears multiple times in the # code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small # doxygen will become slower. If the cache is too large, memory is wasted. The # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 # symbols. At the end of a run doxygen will report the cache usage and suggest # the optimal cache size from a speed point of view. # Minimum value: 0, maximum value: 9, default value: 0. LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in # documentation are documented, even if no documentation was available. Private # class members and static file members will be hidden unless the # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. # Note: This will also disable the warnings about undocumented members that are # normally produced when WARNINGS is set to YES. # The default value is: NO. EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will # be included in the documentation. # The default value is: NO. EXTRACT_PRIVATE = YES # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal # scope will be included in the documentation. # The default value is: NO. EXTRACT_PACKAGE = NO # If the EXTRACT_STATIC tag is set to YES, all static members of a file will be # included in the documentation. # The default value is: NO. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined # locally in source files will be included in the documentation. If set to NO, # only classes defined in header files are included. Does not have any effect # for Java sources. # The default value is: YES. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. If set to YES, local methods, # which are defined in the implementation section but not in the interface are # included in the documentation. If set to NO, only methods in the interface are # included. # The default value is: NO. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base name of # the file that contains the anonymous namespace. By default anonymous namespace # are hidden. # The default value is: NO. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation # section is generated. This option has no effect if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. If set # to NO, these classes will be included in the various overviews. This option # has no effect if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend # (class|struct|union) declarations. If set to NO, these declarations will be # included in the documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any # documentation blocks found inside the body of a function. If set to NO, these # blocks will be appended to the function's detailed documentation block. # The default value is: NO. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation that is typed after a # \internal command is included. If the tag is set to NO then the documentation # will be excluded. Set it to YES to include the internal documentation. # The default value is: NO. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file # names in lower-case letters. If set to YES, upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. # The default value is: system dependent. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with # their full class and namespace scopes in the documentation. If set to YES, the # scope will be hidden. # The default value is: NO. HIDE_SCOPE_NAMES = NO # If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will # append additional text to a page's title, such as Class Reference. If set to # YES the compound reference will be hidden. # The default value is: NO. HIDE_COMPOUND_REFERENCE= NO # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. SHOW_INCLUDE_FILES = YES # If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each # grouped member an include statement to the documentation, telling the reader # which file to include in order to use the member. # The default value is: NO. SHOW_GROUPED_MEMB_INC = NO # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include # files with double quotes in the documentation rather than with sharp brackets. # The default value is: NO. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the # documentation for inline members. # The default value is: YES. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the # (detailed) documentation of file and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. # The default value is: YES. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief # descriptions of file, namespace and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. Note that # this will also influence the order of the classes in the class list. # The default value is: NO. SORT_BRIEF_DOCS = NO # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the # (brief and detailed) documentation of class members so that constructors and # destructors are listed first. If set to NO the constructors will appear in the # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. # Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief # member documentation. # Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting # detailed member documentation. # The default value is: NO. SORT_MEMBERS_CTORS_1ST = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy # of group names into alphabetical order. If set to NO the group names will # appear in their defined order. # The default value is: NO. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by # fully-qualified names, including namespaces. If set to NO, the class list will # be sorted only by class name, not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the alphabetical # list. # The default value is: NO. SORT_BY_SCOPE_NAME = NO # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper # type resolution of all parameters of a function it will reject a match between # the prototype and the implementation of a member function even if there is # only one candidate or it is obvious which candidate to choose by doing a # simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still # accept a match between prototype and implementation in such cases. # The default value is: NO. STRICT_PROTO_MATCHING = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo # list. This list is created by putting \todo commands in the documentation. # The default value is: YES. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test # list. This list is created by putting \test commands in the documentation. # The default value is: YES. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug # list. This list is created by putting \bug commands in the documentation. # The default value is: YES. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) # the deprecated list. This list is created by putting \deprecated commands in # the documentation. # The default value is: YES. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional documentation # sections, marked by \if ... \endif and \cond # ... \endcond blocks. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the # initial value of a variable or macro / define can have for it to appear in the # documentation. If the initializer consists of more lines than specified here # it will be hidden. Use a value of 0 to hide initializers completely. The # appearance of the value of individual variables and macros / defines can be # controlled using \showinitializer or \hideinitializer command in the # documentation regardless of this setting. # Minimum value: 0, maximum value: 10000, default value: 30. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at # the bottom of the documentation of classes and structs. If set to YES, the # list will mention the files that were used to generate the documentation. # The default value is: YES. SHOW_USED_FILES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This # will remove the Files entry from the Quick Index and from the Folder Tree View # (if specified). # The default value is: YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces # page. This will remove the Namespaces entry from the Quick Index and from the # Folder Tree View (if specified). # The default value is: YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command command input-file, where command is the value of the # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided # by doxygen. Whatever the program writes to standard output is used as the file # version. For an example see the documentation. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml # will be used as the name of the layout file. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool # to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. See also \cite for info how to create references. CITE_BIB_FILES = #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated to # standard output by doxygen. If QUIET is set to YES this implies that the # messages are off. # The default value is: NO. QUIET = YES # The WARNINGS tag can be used to turn on/off the warning messages that are # generated to standard error (stderr) by doxygen. If WARNINGS is set to YES # this implies that the warnings are on. # # Tip: Turn warnings on while writing the documentation. # The default value is: YES. WARNINGS = YES # If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag # will automatically be disabled. # The default value is: YES. WARN_IF_UNDOCUMENTED = YES # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some parameters # in a documented function, or documenting parameters that don't exist or using # markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return # value. If set to NO, doxygen will only warn about wrong or incomplete # parameter documentation, but not about the absence of documentation. # The default value is: NO. WARN_NO_PARAMDOC = NO # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when # a warning is encountered. # The default value is: NO. WARN_AS_ERROR = NO # The WARN_FORMAT tag determines the format of the warning messages that doxygen # can produce. The string should contain the $file, $line, and $text tags, which # will be replaced by the file and line number from which the warning originated # and the warning text. Optionally the format may contain $version, which will # be replaced by the version of the file (if it could be obtained via # FILE_VERSION_FILTER) # The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard # error (stderr). WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag is used to specify the files and/or directories that contain # documented source files. You may enter file names like myfile.cpp or # directories like /usr/src/myproject. Separate the files or directories with # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. INPUT = source \ "documentation/source" # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv # documentation (see: http://www.gnu.org/software/libiconv) for the list of # possible encodings. # The default value is: UTF-8. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and # *.h) to filter out the source-files in the directories. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # read by doxygen. # # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, # *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, # *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f, *.for, *.tcl, # *.vhd, *.vhdl, *.ucf, *.qsf, *.as and *.js. FILE_PATTERNS = *.h \ *.cpp \ *.c \ *.cc # The RECURSIVE tag can be used to specify whether or not subdirectories should # be searched for input files as well. # The default value is: NO. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. # # Note that relative paths are relative to the directory from which doxygen is # run. EXCLUDE = source/standalone # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded # from the input. # The default value is: NO. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories for example use the pattern */test/* EXCLUDE_PATTERNS = */testDoxygen/* \ */BLAS_and_LAPACK/* \ */CVS/* # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories use the pattern */test/* EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or directories # that contain example code fragments that are included (see the \include # command). EXAMPLE_PATH = ergo_license_long.txt \ config_examples.txt # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and # *.h) to filter out the source-files in the directories. If left blank all # files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude commands # irrespective of the value of the RECURSIVE tag. # The default value is: NO. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or directories # that contain images that are to be included in the documentation (see the # \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command: # # # # where is the value of the INPUT_FILTER tag, and is the # name of an input file. Doxygen will then use the output that the filter # program writes to standard output. If FILTER_PATTERNS is specified, this tag # will be ignored. # # Note that the filter must not add or remove lines; it is applied before the # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: pattern=filter # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how # filters are used. If the FILTER_PATTERNS tag is empty or if none of the # patterns match the file name, INPUT_FILTER is applied. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will also be used to filter the input files that are used for # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). # The default value is: NO. FILTER_SOURCE_FILES = NO # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file # pattern. A pattern will override the setting for FILTER_PATTERN (if any) and # it is also possible to disable source filtering for a specific pattern using # *.ext= (so without naming a filter). # This tag requires that the tag FILTER_SOURCE_FILES is set to YES. FILTER_SOURCE_PATTERNS = # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that # is part of the input, its contents will be placed on the main page # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- # Configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will be # generated. Documented entities will be cross-referenced with these sources. # # Note: To get rid of all source code in the generated output, make sure that # also VERBATIM_HEADERS is set to NO. # The default value is: NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body of functions, # classes and enums directly into the documentation. # The default value is: NO. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any # special comment blocks from generated source code fragments. Normal C, C++ and # Fortran comments will always remain visible. # The default value is: YES. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES then for each documented # function all documented functions referencing it will be listed. # The default value is: NO. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES then for each documented function # all documented entities called/used by that function will be listed. # The default value is: NO. REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set # to YES then the hyperlinks from functions in REFERENCES_RELATION and # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will # link to the documentation. # The default value is: YES. REFERENCES_LINK_SOURCE = YES # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the # source code will show a tooltip with additional information such as prototype, # brief description and links to the definition and documentation. Since this # will make the HTML file larger and loading of large files a bit slower, you # can opt to disable this feature. # The default value is: YES. # This tag requires that the tag SOURCE_BROWSER is set to YES. SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system # (see http://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: # - Install the latest version of global # - Enable SOURCE_BROWSER and USE_HTAGS in the config file # - Make sure the INPUT points to the root of the source tree # - Run doxygen as normal # # Doxygen will invoke htags (and that will in turn invoke gtags), so these # tools must be available from the command line (i.e. in the search path). # # The result: instead of the source browser generated by doxygen, the links to # source code will now point to the output of htags. # The default value is: NO. # This tag requires that the tag SOURCE_BROWSER is set to YES. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a # verbatim copy of the header file for each class for which an include is # specified. Set to NO to disable this. # See also: Section \class. # The default value is: YES. VERBATIM_HEADERS = YES # If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the # clang parser (see: http://clang.llvm.org/) for more accurate parsing at the # cost of reduced performance. This can be particularly helpful with template # rich C++ code for which doxygen's built-in parser lacks the necessary type # information. # Note: The availability of this option depends on whether or not doxygen was # generated with the -Duse-libclang=ON option for CMake. # The default value is: NO. # CLANG_ASSISTED_PARSING = NO # If clang assisted parsing is enabled you can provide the compiler with command # line options that you would normally use when invoking the compiler. Note that # the include paths will already be set by doxygen for the files and directories # specified with INPUT and INCLUDE_PATH. # This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. # CLANG_OPTIONS = #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all # compounds will be generated. Enable this if the project contains a lot of # classes, structs, unions or interfaces. # The default value is: YES. ALPHABETICAL_INDEX = NO # The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in # which the alphabetical index list will be split. # Minimum value: 1, maximum value: 20, default value: 5. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all classes will # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag # can be used to specify a prefix (or a list of prefixes) that should be ignored # while generating the index headers. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output # The default value is: YES. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of # it. # The default directory is: html. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each # generated HTML page (for example: .htm, .php, .asp). # The default value is: .html. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a user-defined HTML header file for # each generated HTML page. If the tag is left blank doxygen will generate a # standard header. # # To get valid HTML the header file that includes any scripts and style sheets # that doxygen needs, which is dependent on the configuration options used (e.g. # the setting GENERATE_TREEVIEW). It is highly recommended to start with a # default header using # doxygen -w html new_header.html new_footer.html new_stylesheet.css # YourConfigFile # and then modify the file new_header.html. See also section "Doxygen usage" # for information on how to generate the default header that doxygen normally # uses. # Note: The header is subject to change so you typically have to regenerate the # default header when upgrading to a newer version of doxygen. For a description # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard # footer. See HTML_HEADER for more information on how to generate a default # footer and what special commands can be used inside the footer. See also # section "Doxygen usage" for information on how to generate the default footer # that doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of # the HTML output. If left blank doxygen will generate a default style sheet. # See also section "Doxygen usage" for information on how to generate the style # sheet that doxygen normally uses. # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as # it is more robust and this tag (HTML_STYLESHEET) will in the future become # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_STYLESHEET = # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets # created by doxygen. Using this option one can overrule certain style aspects. # This is preferred over using HTML_STYLESHEET since it does not replace the # standard style sheet and is therefore more robust against future updates. # Doxygen will copy the style sheet files to the output directory. # Note: The order of the extra style sheet files is of importance (e.g. the last # style sheet in the list overrules the setting of the previous ones in the # list). For an example see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note # that these files will be copied to the base HTML output directory. Use the # $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these # files. In the HTML_STYLESHEET file, use the file name only. Also note that the # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to # this color. Hue is specified as an angle on a colorwheel, see # http://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors # in the HTML output. For a value of 0 the output will use grayscales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_SAT = 100 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the # luminance component of the colors in the HTML output. Values below 100 # gradually make the output lighter, whereas values above 100 make the output # darker. The value divided by 100 is the actual gamma applied, so 80 represents # a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not # change the gamma. # Minimum value: 40, maximum value: 240, default value: 80. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting this # to YES can help to show when doxygen was last run and thus if the # documentation is up to date. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_TIMESTAMP = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_DYNAMIC_SECTIONS = NO # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand # and collapse entries dynamically later on. Doxygen will expand the tree to # such a level that at most the specified number of entries are visible (unless # a fully collapsed tree already exceeds this amount). So setting the number of # entries 1 will produce a full collapsed tree by default. 0 is a special value # representing an infinite number of entries and will result in a full expanded # tree by default. # Minimum value: 0, maximum value: 9999, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development # environment (see: http://developer.apple.com/tools/xcode/), introduced with # OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a # Makefile in the HTML output directory. Running make will produce the docset in # that directory and running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at # startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_DOCSET = NO # This tag determines the name of the docset feed. A documentation feed provides # an umbrella under which multiple documentation sets from a single provider # (such as a company or product suite) can be grouped. # The default value is: Doxygen generated docs. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_FEEDNAME = "Doxygen generated docs" # This tag specifies a string that should uniquely identify the documentation # set bundle. This should be a reverse domain-name style string, e.g. # com.mycompany.MyDocSet. Doxygen will append .docset to the name. # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_BUNDLE_ID = org.doxygen.Project # The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify # the documentation publisher. This should be a reverse domain-name style # string, e.g. com.mycompany.MyDocSet.documentation. # The default value is: org.doxygen.Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_ID = org.doxygen.Publisher # The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. # The default value is: Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop # (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on # Windows. # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML # files are now used as the Windows 98 help format, and will replace the old # Windows help format (.hlp) on all Windows platforms in the future. Compressed # HTML files also contain an index, a table of contents, and you can search for # words in the documentation. The HTML workshop also contains a viewer for # compressed HTML files. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_HTMLHELP = NO # The CHM_FILE tag can be used to specify the file name of the resulting .chm # file. You can add a path in front of the file if the result should not be # written to the html output directory. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_FILE = # The HHC_LOCATION tag can be used to specify the location (absolute path # including file name) of the HTML help compiler (hhc.exe). If non-empty, # doxygen will try to run the HTML help compiler on the generated index.hhp. # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. HHC_LOCATION = # The GENERATE_CHI flag controls if a separate .chi index file is generated # (YES) or that it should be included in the master .chm file (NO). # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. GENERATE_CHI = NO # The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) # and project file content. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_INDEX_ENCODING = # The BINARY_TOC flag controls whether a binary table of contents is generated # (YES) or a normal table of contents (NO) in the .chm file. Furthermore it # enables the Previous and Next buttons. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members to # the table of contents of the HTML help documentation and to the tree view. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help # (.qch) of the generated HTML documentation. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify # the file name of the resulting .qch file. The path specified is relative to # the HTML output folder. # This tag requires that the tag GENERATE_QHP is set to YES. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace # (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual # Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- # folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- # filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- # filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: # http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = # The QHG_LOCATION tag can be used to specify the location of Qt's # qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the # generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be # generated, together with the HTML files, they form an Eclipse help plugin. To # install this plugin and make it available under the help contents menu in # Eclipse, the contents of the directory containing the HTML and XML files needs # to be copied into the plugins directory of eclipse. The name of the directory # within the plugins directory should be the same as the ECLIPSE_DOC_ID value. # After copying Eclipse needs to be restarted before the help appears. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_ECLIPSEHELP = NO # A unique identifier for the Eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have this # name. Each documentation set should have its own identifier. # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. ECLIPSE_DOC_ID = org.doxygen.Project # If you want full control over the layout of the generated HTML pages it might # be necessary to disable the index and replace it with your own. The # DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top # of each HTML page. A value of NO enables the index and the value YES disables # it. Since the tabs in the index contain the same information as the navigation # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. DISABLE_INDEX = NO # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. If the tag # value is set to YES, a side panel will be generated containing a tree-like # index structure (just like the one that is generated for HTML Help). For this # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can # further fine-tune the look of the index. As an example, the default style # sheet generated by doxygen has an example that shows how to put an image at # the root of the tree instead of the PROJECT_NAME. Since the tree basically has # the same information as the tab index, you could consider setting # DISABLE_INDEX to YES when enabling this option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = YES # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # # Note that a value of 0 will completely suppress the enum values from appearing # in the overview section. # Minimum value: 0, maximum value: 20, default value: 4. # This tag requires that the tag GENERATE_HTML is set to YES. ENUM_VALUES_PER_LINE = 4 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used # to set the initial width (in pixels) of the frame in which the tree is shown. # Minimum value: 0, maximum value: 1500, default value: 250. # This tag requires that the tag GENERATE_HTML is set to YES. TREEVIEW_WIDTH = 250 # If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to # external symbols imported via tag files in a separate window. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. EXT_LINKS_IN_WINDOW = NO # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful # doxygen run you need to manually remove any form_*.png images from the HTML # output directory to force them to be regenerated. # Minimum value: 8, maximum value: 50, default value: 10. # This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_FONTSIZE = 10 # Use the FORMULA_TRANPARENT tag to determine whether or not the images # generated for formulas are transparent PNGs. Transparent PNGs are not # supported properly for IE 6.0, but are supported on all modern browsers. # # Note that when changing this option you need to delete any form_*.png files in # the HTML output directory before the changes have effect. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_TRANSPARENT = YES # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see # http://www.mathjax.org) which uses client side Javascript for the rendering # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path # to it using the MATHJAX_RELPATH option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. USE_MATHJAX = NO # When MathJax is enabled you can set the default output format to be used for # the MathJax output. See the MathJax site (see: # http://docs.mathjax.org/en/latest/output.html) for more details. # Possible values are: HTML-CSS (which is slower, but has the best # compatibility), NativeMML (i.e. MathML) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_FORMAT = HTML-CSS # When MathJax is enabled you need to specify the location relative to the HTML # output directory using the MATHJAX_RELPATH option. The destination directory # should contain the MathJax.js script. For instance, if the mathjax directory # is located at the same level as the HTML output directory, then # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of # MathJax from http://www.mathjax.org before deployment. # The default value is: http://cdn.mathjax.org/mathjax/latest. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site # (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_CODEFILE = # When the SEARCHENGINE tag is enabled doxygen will generate a search box for # the HTML output. The underlying search engine uses javascript and DHTML and # should work on any modern browser. Note that when using HTML help # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) # there is already a search function so this one should typically be disabled. # For large projects the javascript based search engine can be slow, then # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to # search using the keyboard; to jump to the search box use + S # (what the is depends on the OS and browser, but it is typically # , /